diff --git a/.azure-pipelines/azure-pipelines-base.yml b/.azure-pipelines/azure-pipelines-base.yml deleted file mode 100644 index 0b479ea505..0000000000 --- a/.azure-pipelines/azure-pipelines-base.yml +++ /dev/null @@ -1,115 +0,0 @@ -jobs: -- job: BaseTests - pool: - vmImage: 'ubuntu-latest' - variables: - - name: NUMBA_DISABLE_JIT - value: 1 - timeoutInMinutes: 360 - strategy: - matrix: - Python_312_optionals: - python.version: "3.12" - Nightlies: false - OptionalRequirements: true - name: "Python 3.12" - Python_312: - python.version: "3.12" - Nightlies: false - OptionalRequirements: false - name: "Python 3.12" - Python_311_optionals: - python.version: "3.11" - Nightlies: false - OptionalRequirements: true - name: "Python 3.11" - Python_311_preview: - python.version: "3.11" - Nightlies: true - OptionalRequirements: false - name: "Python 3.11" - Python_310_optionals: - python.version: "3.10" - Nightlies: false - OptionalRequirements: true - name: "Python 3.10" - - - steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: '$(python.version)' - displayName: 'Use Python $(python.version)' - - - script: | - sudo apt-get update - sudo apt-get install -y ffmpeg - displayName: 'Install external libraries' - - - script: | - ls -ahl - env - pwd - gcc --version - python --version - displayName: 'Debug information' - - - script: | - python -m pip install --upgrade pip - python -m pip install wheel - python -m pip install --no-cache-dir -r requirements.txt - python -m pip install --no-cache-dir -r requirements-dev.txt - python -m pip install pytest-azurepipelines - displayName: 'Install base requirements' - - - script: | - python -m pip install --no-cache-dir -r requirements-optional.txt - condition: and(succeeded(), eq(variables.OptionalRequirements, true)) - displayName: 'Install optional requirements' - - - script: | - python -m pip install --no-cache-dir --upgrade --pre -r requirements.txt - python -m pip install --no-cache-dir --force-reinstall --no-deps --pre -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple contourpy matplotlib numpy pandas scipy xarray - condition: and(succeeded(), eq(variables.Nightlies, true)) - displayName: 'Update with nightlies' - - - script: | - python -m pip install . - displayName: 'Install ArviZ package' - - - script: | - python -m pip freeze - displayName: 'Print packages' - - - script: | - ARVIZ_REQUIRE_ALL_DEPS=TRUE python -m pytest arviz/tests/base_tests --cov arviz --cov-report=xml - condition: and(succeeded(), eq(variables.OptionalRequirements, true)) - displayName: 'pytest (require all dependencies)' - - - script: | - python -m pytest arviz/tests/base_tests --cov arviz --cov-report=xml - condition: and(succeeded(), eq(variables.OptionalRequirements, false)) - displayName: 'pytest (skip if dependency missing)' - - - script: | - ls -ahl - env - displayName: 'Debug information 2' - - - task: PublishTestResults@2 - condition: succeededOrFailed() - inputs: - testResultsFiles: '$(System.DefaultWorkingDirectory)/test-*.xml' - testRunTitle: 'Publish test results for Python $(python.version)' - displayName: 'Publish Test Results' - - - script: | - curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import # One-time step - curl -Os https://uploader.codecov.io/latest/linux/codecov - curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM - curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig - gpgv codecov.SHA256SUM.sig codecov.SHA256SUM - shasum -a 256 -c codecov.SHA256SUM - chmod +x codecov - ./codecov -n "$(NAME)" - displayName: 'upload coverage' diff --git a/.azure-pipelines/azure-pipelines-benchmarks.yml b/.azure-pipelines/azure-pipelines-benchmarks.yml deleted file mode 100644 index b2d8206333..0000000000 --- a/.azure-pipelines/azure-pipelines-benchmarks.yml +++ /dev/null @@ -1,57 +0,0 @@ -jobs: -- job: Benchmarks - pool: - vmImage: 'ubuntu-latest' - timeoutInMinutes: 360 - strategy: - matrix: - Python_311: - python.version: "3.11" - name: "Python 3.11 - benchmarks" - - steps: - - - task: UsePythonVersion@0 - inputs: - versionSpec: '$(python.version)' - displayName: 'Use Python $(python.version)' - - - script: | - ls -ahl - env - pwd - gcc --version - python --version - displayName: 'Debug information' - - - script: | - python -m pip install --upgrade pip - python -m pip install wheel build - python -m pip install --no-cache-dir -r requirements.txt - python -m pip install --no-cache-dir -r requirements-optional.txt - python -m pip install asv - displayName: 'Install requirements' - - - script: | - python -m pip freeze - displayName: 'Debug information 2' - - - script: | - python -m asv machine --yes - git log --pretty=format:'%h' -n 1 > hashestobenchmark.txt - cat hashestobenchmark.txt - python -m asv run HASHFILE:hashestobenchmark.txt - displayName: 'Run the benchmarks' - workingDirectory: asv_benchmarks/ - - - script: | - git log --pretty=format:'%h' -n 1 | xargs python -m asv show - git log --pretty=format:'%h' -n 1 | xargs python -m asv show > ../benchmark_results.txt - displayName: 'Print and save results' - workingDirectory: asv_benchmarks/ - - - task: PublishBuildArtifacts@1 - inputs: - pathtoPublish: 'benchmark_results.txt' - artifactName: 'Benchmarks' - displayName: 'Publish the benchmarks' diff --git a/.azure-pipelines/azure-pipelines-external.yml b/.azure-pipelines/azure-pipelines-external.yml deleted file mode 100644 index b414a2a323..0000000000 --- a/.azure-pipelines/azure-pipelines-external.yml +++ /dev/null @@ -1,124 +0,0 @@ -jobs: -- job: ExternalTests - pool: - vmImage: 'ubuntu-22.04' - variables: - - name: NUMBA_DISABLE_JIT - value: 1 - - name: ARVIZ_REQUIRE_ALL_DEPS - value: 1 - timeoutInMinutes: 360 - strategy: - matrix: - Python_311_Latest: - python.version: "3.11" - cmdstanpy.version: "latest" - emcee.version: "latest" - name: "External latest" - - Python_311_Special_versions: - python.version: "3.11" - cmdstanpy.version: "github" - emcee.version: 2 - name: "External special" - - steps: - - task: UsePythonVersion@0 - inputs: - versionSpec: '$(python.version)' - displayName: 'Use Python $(python.version): $(name)' - - - script: | - ls - env - pwd - gcc --version - python --version - displayName: 'Debug information' - - - script: | - sudo apt-get update - python -m pip install --upgrade pip - python -m pip install wheel - - python -m pip --no-cache-dir install torch --index-url https://download.pytorch.org/whl/cpu - - if [ "$(cmdstanpy.version)" = "latest" ]; then - python -m pip --no-cache-dir install cmdstanpy - else - if [ "$(cmdstanpy.version)" = "github" ]; then - python -m pip --no-cache-dir install git+https://github.com/stan-dev/cmdstanpy@develop#egg=cmdstanpy - else - python -m pip --no-cache-dir install cmdstanpy=="$(cmdstanpy.version)" - fi - fi - - if [ "$(emcee.version)" = "latest" ]; then - python -m pip --no-cache-dir install emcee h5py - else - python -m pip --no-cache-dir install "emcee<3" - fi - - grep -Ev '^cmdstanpy|^emcee' requirements-external.txt | xargs python -m pip install "jax<0.7" - - displayName: 'Install packages' - - - script: | - python -m pip install --no-cache-dir -r requirements.txt - python -m pip install --no-cache-dir -r requirements-dev.txt - python -m pip install --no-cache-dir -r requirements-optional.txt - python -m pip install pytest-azurepipelines - displayName: 'Install requirements' - - - script: | - python -m pip install . - displayName: 'Install ArviZ package' - - - script: | - python -m pip freeze - displayName: 'Print packages' - - - script: | - python -m pylint arviz - displayName: 'pylint' - - - script: | - python -m pydocstyle arviz - displayName: 'pydocstyle' - - - script: | - python -m black --check --diff arviz examples asv_benchmarks - displayName: 'black' - - - script: | - absolufy-imports $(find arviz -name '*.py') --never - displayName: 'Use relative imports' - - - script: | - python -m madforhooks.no_print_statements $(find arviz -name '*.py' -not -path 'arviz/tests/*') - displayName: 'Disallow debugging print statements (use `file=sys.stdout` if not debugging)' - - - script: | - pytest arviz/tests/helpers.py - displayName: 'precompile models' - - - script: | - python -m pytest arviz/tests/external_tests --cov arviz --cov-report=xml - displayName: 'pytest' - - - task: PublishTestResults@2 - condition: succeededOrFailed() - inputs: - testResultsFiles: '$(System.DefaultWorkingDirectory)/test-*.xml' - testRunTitle: 'Publish test results for Python $(python.version)' - - - script: | - curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import # One-time step - curl -Os https://uploader.codecov.io/latest/linux/codecov - curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM - curl -Os https://uploader.codecov.io/latest/linux/codecov.SHA256SUM.sig - gpgv codecov.SHA256SUM.sig codecov.SHA256SUM - shasum -a 256 -c codecov.SHA256SUM - chmod +x codecov - ./codecov -n "$(NAME)" - displayName: 'upload coverage' diff --git a/.azure-pipelines/azure-pipelines-wheel.yml b/.azure-pipelines/azure-pipelines-wheel.yml deleted file mode 100644 index 7031e8a8d1..0000000000 --- a/.azure-pipelines/azure-pipelines-wheel.yml +++ /dev/null @@ -1,68 +0,0 @@ -jobs: -- job: BuildWheel - dependsOn: - - BaseTests - - ExternalTests - condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/')) - pool: - vmImage: 'ubuntu-latest' - variables: - - name: NUMBA_DISABLE_JIT - value: 1 - timeoutInMinutes: 360 - strategy: - matrix: - Python_311: - python.version: "3.11" - name: "Python 3.11 - wheel" - - steps: - - - task: UsePythonVersion@0 - inputs: - versionSpec: '$(python.version)' - displayName: 'Use Python $(python.version)' - - - script: | - ls -ahl - env - pwd - gcc --version - python --version - displayName: 'Debug information' - - - script: | - python -m pip install --upgrade pip - python -m pip install wheel - python -m pip install --no-cache-dir -r requirements.txt - python -m pip install twine - displayName: 'Install requirements' - - - script: | - python setup.py sdist bdist_wheel - ls -lh dist - displayName: 'Build a wheel' - - - script: | - mkdir install_test - cd install_test - ls -lh ../dist - python -m pip install ../dist/*.whl - python -c "import arviz as az; print(az);print(az.summary(az.load_arviz_data('non_centered_eight')))" - cd .. - displayName: 'Install and test the wheel' - - - script: | - ls -ahl - env - displayName: 'Debug information 2' - - - task: PublishBuildArtifacts@1 - inputs: - pathtoPublish: 'dist' - artifactName: 'arviz_wheel_dist' - displayName: 'Publish the wheel' - - - script: | - python -m twine upload -u __token__ -p $(PYPI_PASSWORD) --skip-existing dist/* - displayName: 'Upload wheel to PyPI' diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 3b2fb9519e..0000000000 --- a/.dockerignore +++ /dev/null @@ -1,7 +0,0 @@ -**/Dockerfile -**/container.ps1 -**/container.sh -**/*.egg-info -**/.pytest_cache -**/__pycache__ -**/.git diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000000..d94dd2bda8 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,12 @@ +version: 2 +updates: +- package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "monthly" + cooldown: + default-days: 14 + groups: + actions: + patterns: + - "*" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000000..bdfb23abb4 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,50 @@ +name: Publish library + +on: + push: + branches: + - main + tags: + # Don't try to be smart about PEP 440 compliance, + # see https://www.python.org/dev/peps/pep-0440/#appendix-b-parsing-version-strings-with-regular-expressions + - v* + +jobs: + build-package: + runs-on: ubuntu-latest + permissions: + # write attestations and id-token are necessary for attest-build-provenance-github + attestations: write + id-token: write + steps: + - uses: actions/checkout@v5 + with: + fetch-depth: 0 + persist-credentials: false + - uses: hynek/build-and-inspect-python-package@v2 + with: + # Prove that the packages were built in the context of this workflow. + attest-build-provenance-github: true + publish: + runs-on: ubuntu-latest + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') + # Use the `release` GitHub environment to protect the Trusted Publishing (OIDC) + # workflow by requiring signoff from a maintainer. + environment: + name: publish + url: https://pypi.org/p/arviz + needs: build-package + permissions: + # write id-token is necessary for trusted publishing (OIDC) + id-token: write + steps: + - name: Download Distribution Artifacts + uses: actions/download-artifact@v6 + with: + # The build-and-inspect-python-package action invokes upload-artifact. + # These are the correct arguments from that action. + name: Packages + path: dist + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + # Implicitly attests that the packages were uploaded in the context of this workflow. diff --git a/.github/workflows/rtd_link_description.yaml b/.github/workflows/rtd_link_description.yaml deleted file mode 100644 index b68d2fcf87..0000000000 --- a/.github/workflows/rtd_link_description.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: Read the Docs Pull Request Preview -on: - pull_request_target: - types: - - opened - -permissions: - pull-requests: write - -jobs: - documentation-links: - runs-on: ubuntu-latest - steps: - - uses: readthedocs/actions/preview@v1 - with: - project-slug: "arviz" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000000..0f9adda3ef --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,27 @@ +name: Run tests +on: + pull_request: + push: + branches: [main] + paths-ignore: + - "docs/" + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.11", "3.12", "3.13"] + fail-fast: false + steps: + - uses: actions/checkout@v5 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install tox tox-gh-actions + - name: Test with tox + run: SKIP=no-commit-to-branch tox diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000..5a2ee951b7 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,25 @@ +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: check-added-large-files + - id: check-toml + - id: check-merge-conflict + - id: end-of-file-fixer + - id: no-commit-to-branch + args: [--branch, main] + - id: trailing-whitespace + +- repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.11.13 + hooks: + - id: ruff + args: [--fix, --exit-non-zero-on-fix] + types: [ python ] + - id: ruff-format + types: [ python ] + +- repo: https://github.com/MarcoGorelli/madforhooks + rev: 0.4.1 + hooks: + - id: no-print-statements diff --git a/.projections.json b/.projections.json deleted file mode 100644 index ab4abaaec7..0000000000 --- a/.projections.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "arviz/plots/backends/matplotlib/*.py": { - "alternate": "arviz/plots/backends/bokeh/{}.py", - "related": "arviz/plots/{}.py", - "type": "mpl" - }, - "arviz/plots/backends/bokeh/*.py": { - "alternate": "arviz/plots/backends/matplotlib/{}.py", - "related": "arviz/plots/{}.py", - "type": "bokeh" - }, - "arviz/plots/*.py": { - "alternate": "arviz/plots/backends/matplotlib/{}.py", - "related": "arviz/plots/backends/bokeh/{}.py", - "type": "base" - }, - "arviz/data/io_*.py": { - "alternate": "arviz/tests/external_tests/test_data_{}.py", - "type": "converter" - }, - "arviz/tests/external_tests/test_data_*.py": { - "alternate": "arviz/data/io_{}.py", - "type": "test" - } -} diff --git a/.pydocstyle.ini b/.pydocstyle.ini deleted file mode 100644 index 38cc2164bf..0000000000 --- a/.pydocstyle.ini +++ /dev/null @@ -1,3 +0,0 @@ -[pydocstyle] -convention = numpy -match-dir = '^(?!example_data).*' diff --git a/.pylintrc b/.pylintrc deleted file mode 100644 index a72dd1788c..0000000000 --- a/.pylintrc +++ /dev/null @@ -1,506 +0,0 @@ -[MASTER] - -# A comma-separated list of package or module names from where C extensions may -# be loaded. Extensions are loading into the active Python interpreter and may -# run arbitrary code -extension-pkg-whitelist= - -# Add files or directories to the blacklist. They should be base names, not -# paths. -ignore=CVS - -# Add files or directories matching the regex patterns to the blacklist. The -# regex matches against base names, not paths. -ignore-patterns= - -# Python code to execute, usually for sys.path manipulation such as -# pygtk.require(). -#init-hook= - -# Use multiple processes to speed up Pylint. -jobs=1 - -# List of plugins (as comma separated values of python modules names) to load, -# usually to register additional checkers. -load-plugins= - -# Pickle collected data for later comparisons. -persistent=yes - -# Specify a configuration file. -#rcfile= - -# Allow loading of arbitrary C extensions. Extensions are imported into the -# active Python interpreter and may run arbitrary code. -unsafe-load-any-extension=no - - -[MESSAGES CONTROL] - -# Only show warnings with the listed confidence levels. Leave empty to show -# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED -confidence= - -# Disable the message, report, category or checker with the given id(s). You -# can either give multiple identifiers separated by comma (,) or put this -# option multiple times (only on the command line, not in the configuration -# file where it should appear only once).You can also use "--disable=all" to -# disable everything first and then reenable specific checks. For example, if -# you want to run only the similarities checker, you can use "--disable=all -# --enable=similarities". If you want to run only the classes checker, but have -# no Warning level messages displayed, use"--disable=all --enable=classes -# --disable=W" -disable=missing-docstring, - no-else-return, - len-as-condition, - too-many-arguments, - too-many-locals, - too-many-branches, - too-many-statements, - too-many-positional-arguments, - too-few-public-methods, - import-outside-toplevel, - no-else-continue, - unnecessary-comprehension, - unsubscriptable-object, - cyclic-import, - ungrouped-imports, - not-an-iterable, - no-member, - #TODO: Remove this once todos are done - fixme, - consider-using-with, - consider-using-f-string, - # TODO: Remove this once update the code base. - unnecessary-lambda-assignment, - use-dict-literal, - possibly-used-before-assignment, - # TODO (maybe): Remove this if the exess of issues related to that are fixed - # https://github.com/pylint-dev/pylint/issues?q=is%3Aissue+is%3Aopen+used-before-assignment+label%3A%22C%3A+used-before-assignment%22 - used-before-assignment - -# Enable the message, report, category or checker with the given id(s). You can -# either give multiple identifier separated by comma (,) or put this option -# multiple time (only on the command line, not in the configuration file where -# it should appear only once). See also the "--disable" option for examples. -enable=c-extension-no-member - - -[REPORTS] - -# Python expression which should return a note less than 10 (10 is the highest -# note). You have access to the variables errors warning, statement which -# respectively contain the number of errors / warnings messages and the total -# number of statements analyzed. This is used by the global evaluation report -# (RP0004). -evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) - -# Template used to display messages. This is a python new-style format string -# used to format the message information. See doc for all details -#msg-template= - -# Set the output format. Available formats are text, parseable, colorized, json -# and msvs (visual studio).You can also give a reporter class, eg -# mypackage.mymodule.MyReporterClass. -output-format=text - -# Tells whether to display a full report or only the messages -reports=no - -# Activate the evaluation score. -score=yes - - -[REFACTORING] - -# Maximum number of nested blocks for function / method body -max-nested-blocks=5 - -# Complete name of functions that never returns. When checking for -# inconsistent-return-statements if a never returning function is called then -# it will be considered as an explicit return statement and no message will be -# printed. -never-returning-functions=optparse.Values,sys.exit - - -[FORMAT] - -# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. -expected-line-ending-format= - -# Regexp for a line that is allowed to be longer than the limit. -ignore-long-lines=^\s*(# )??$ - -# Number of spaces of indent required inside a hanging or continued line. -indent-after-paren=4 - -# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 -# tab). -indent-string=' ' - -# Maximum number of characters on a single line. -max-line-length=100 - -# Maximum number of lines in a module -max-module-lines=1000 - -# Allow the body of a class to be on the same line as the declaration if body -# contains single statement. -single-line-class-stmt=no - -# Allow the body of an if to be on the same line as the test if there is no -# else. -single-line-if-stmt=no - - -[VARIABLES] - -# List of additional names supposed to be defined in builtins. Remember that -# you should avoid to define new builtins when possible. -additional-builtins= - -# Tells whether unused global variables should be treated as a violation. -allow-global-unused-variables=yes - -# List of strings which can identify a callback function by name. A callback -# name must start or end with one of those strings. -callbacks=cb_, - _cb - -# A regular expression matching the name of dummy variables (i.e. expectedly -# not used). -dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ - -# Argument names that match this expression will be ignored. Default to name -# with leading underscore -ignored-argument-names=_.*|^ignored_|^unused_ - -# Tells whether we should check for unused import in __init__ files. -init-import=no - -# List of qualified module names which can have objects that can redefine -# builtins. -redefining-builtins-modules=six.moves,past.builtins,future.builtins - - -[BASIC] - -# Naming style matching correct argument names -argument-naming-style=snake_case - -# Regular expression matching correct argument names. Overrides argument- -# naming-style -#argument-rgx= - -# Naming style matching correct attribute names -attr-naming-style=snake_case - -# Regular expression matching correct attribute names. Overrides attr-naming- -# style -#attr-rgx= - -# Bad variable names which should always be refused, separated by a comma -bad-names=foo, - bar, - baz, - toto, - tutu, - tata - -# Naming style matching correct class attribute names -class-attribute-naming-style=any - -# Regular expression matching correct class attribute names. Overrides class- -# attribute-naming-style -#class-attribute-rgx= - -# Naming style matching correct class names -class-naming-style=PascalCase - -# Regular expression matching correct class names. Overrides class-naming-style -#class-rgx= - -# Naming style matching correct constant names -const-naming-style=UPPER_CASE - -# Regular expression matching correct constant names. Overrides const-naming- -# style -#const-rgx= - -# Minimum line length for functions/classes that require docstrings, shorter -# ones are exempt. -docstring-min-length=-1 - -# Naming style matching correct function names -function-naming-style=snake_case - -# Regular expression matching correct function names. Overrides function- -# naming-style -#function-rgx= - -# Good variable names which should always be accepted, separated by a comma -good-names=b, - e, - i, - j, - k, - n, - m, - t, - q, - x, - y, - z, - ax, - bw, - df, - dx, - ex, - gs, - ic, - mu, - ok, - sd, - se, - tr, - eta, - Run, - _log, - _ - - -# Include a hint for the correct naming format with invalid-name -include-naming-hint=no - -# Naming style matching correct inline iteration names -inlinevar-naming-style=any - -# Regular expression matching correct inline iteration names. Overrides -# inlinevar-naming-style -#inlinevar-rgx= - -# Naming style matching correct method names -method-naming-style=snake_case - -# Regular expression matching correct method names. Overrides method-naming- -# style -#method-rgx= - -# Naming style matching correct module names -module-naming-style=snake_case - -# Regular expression matching correct module names. Overrides module-naming- -# style -#module-rgx= - -# Colon-delimited sets of names that determine each other's naming style when -# the name regexes allow several styles. -name-group= - -# Regular expression which should only match function or class names that do -# not require a docstring. -no-docstring-rgx=^_ - -# List of decorators that produce properties, such as abc.abstractproperty. Add -# to this list to register other decorators that produce valid properties. -property-classes=abc.abstractproperty - -# Naming style matching correct variable names -variable-naming-style=snake_case - -# Regular expression matching correct variable names. Overrides variable- -# naming-style -#variable-rgx= - - -[LOGGING] - -# Logging modules to check that the string format arguments are in logging -# function parameter format -logging-modules=logging - - -[SIMILARITIES] - -# Ignore comments when computing similarities. -ignore-comments=yes - -# Ignore docstrings when computing similarities. -ignore-docstrings=yes - -# Ignore imports when computing similarities. -ignore-imports=no - -# Minimum lines number of a similarity. -min-similarity-lines=50 - - -[TYPECHECK] - -# List of decorators that produce context managers, such as -# contextlib.contextmanager. Add to this list to register other decorators that -# produce valid context managers. -contextmanager-decorators=contextlib.contextmanager - -# List of members which are set dynamically and missed by pylint inference -# system, and so shouldn't trigger E1101 when accessed. Python regular -# expressions are accepted. -generated-members= - -# Tells whether missing members accessed in mixin class should be ignored. A -# mixin class is detected if its name ends with "mixin" (case insensitive). -ignore-mixin-members=yes - -# This flag controls whether pylint should warn about no-member and similar -# checks whenever an opaque object is returned when inferring. The inference -# can return multiple potential results while evaluating a Python object, but -# some branches might not be evaluated, which results in partial inference. In -# that case, it might be useful to still emit no-member and other checks for -# the rest of the inferred objects. -ignore-on-opaque-inference=yes - -# List of class names for which member attributes should not be checked (useful -# for classes with dynamically set attributes). This supports the use of -# qualified names. -ignored-classes=optparse.Values,thread._local,_thread._local,netCDF4 - -# List of module names for which member attributes should not be checked -# (useful for modules/projects where namespaces are manipulated during runtime -# and thus existing member attributes cannot be deduced by static analysis. It -# supports qualified module names, as well as Unix pattern matching. -ignored-modules= - -# Show a hint with possible names when a member name was not found. The aspect -# of finding the hint is based on edit distance. -missing-member-hint=yes - -# The minimum edit distance a name should have in order to be considered a -# similar match for a missing member name. -missing-member-hint-distance=1 - -# The total number of similar names that should be taken in consideration when -# showing a hint for a missing member. -missing-member-max-choices=1 - - -[MISCELLANEOUS] - -# List of note tags to take in consideration, separated by a comma. -notes=FIXME, - XXX, - TODO - - -[SPELLING] - -# Limits count of emitted suggestions for spelling mistakes -max-spelling-suggestions=4 - -# Spelling dictionary name. Available dictionaries: none. To make it working -# install python-enchant package. -spelling-dict= - -# List of comma separated words that should not be checked. -spelling-ignore-words= - -# A path to a file that contains private dictionary; one word per line. -spelling-private-dict-file= - -# Tells whether to store unknown words to indicated private dictionary in -# --spelling-private-dict-file option instead of raising a message. -spelling-store-unknown-words=no - - -[CLASSES] - -# List of method names used to declare (i.e. assign) instance attributes. -defining-attr-methods=__init__, - __new__, - setUp - -# List of member names, which should be excluded from the protected access -# warning. -exclude-protected=_asdict, - _fields, - _replace, - _source, - _make - -# List of valid names for the first argument in a class method. -valid-classmethod-first-arg=cls - -# List of valid names for the first argument in a metaclass class method. -valid-metaclass-classmethod-first-arg=mcs - - -[IMPORTS] - -# Allow wildcard imports from modules that define __all__. -allow-wildcard-with-all=no - -# Analyse import fallback blocks. This can be used to support both Python 2 and -# 3 compatible code, which means that the block might have code that exists -# only in one or another interpreter, leading to false positives when analysed. -analyse-fallback-blocks=no - -# Deprecated modules which should not be used, separated by a comma -deprecated-modules=optparse,tkinter.tix - -# Create a graph of external dependencies in the given file (report RP0402 must -# not be disabled) -ext-import-graph= - -# Create a graph of every (i.e. internal and external) dependencies in the -# given file (report RP0402 must not be disabled) -import-graph= - -# Create a graph of internal dependencies in the given file (report RP0402 must -# not be disabled) -int-import-graph= - -# Force import order to recognize a module as part of the standard -# compatibility libraries. -known-standard-library= - -# Force import order to recognize a module as part of a third party library. -known-third-party=enchant - - -[DESIGN] - -# Maximum number of arguments for function / method -max-args=10 - -# Maximum number of attributes for a class (see R0902). -max-attributes=10 - -# Maximum number of boolean expressions in a if statement -max-bool-expr=5 - -# Maximum number of branch for function / method body -max-branches=12 - -# Maximum number of locals for function / method body -max-locals=15 - -# Maximum number of parents for a class (see R0901). -max-parents=7 - -# Maximum number of public methods for a class (see R0904). -max-public-methods=20 - -# Maximum number of return / yield for function / method body -max-returns=6 - -# Maximum number of statements in function / method body -max-statements=50 - -# Minimum number of public methods for a class (see R0903). -min-public-methods=2 - - -[EXCEPTIONS] - -# Exceptions that will emit a warning when being caught. Defaults to -# "builtins.Exception" -overgeneral-exceptions=builtins.Exception diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 1a1c98a8d9..901d67bad5 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -3,16 +3,19 @@ version: 2 build: - os: ubuntu-22.04 + os: ubuntu-lts-latest tools: - python: "3.11" + python: "3.12" + jobs: + pre_build: + - python docs/scripts/homepage_miniatures.py sphinx: - configuration: doc/source/conf.py + configuration: docs/source/conf.py python: install: - - requirements: requirements.txt - - requirements: requirements-docs.txt - method: pip path: . + extra_requirements: + - doc diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 59b9fcac58..e9d0b72e42 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -4,7 +4,7 @@ ArviZ adopts the NumFOCUS Code of Conduct directly. In other words, we expect our community to treat others with kindness and understanding. -# THE SHORT VERSION +# THE SHORT VERSION Be kind to others. Do not insult or put down others. Behave professionally. Remember that harassment and sexist, racist, or exclusionary jokes are not appropriate. @@ -30,7 +30,7 @@ emergency, we urge you to contact local law enforcement before making a report. (In the U.S., dial 911.)** We are committed to promptly addressing any reported issues. -If you have experienced or witnessed behavior that violates this +If you have experienced or witnessed behavior that violates this Code of Conduct, please complete the form below to make a report. @@ -46,5 +46,5 @@ https://www.numfocus.org/privacy-policy # Full Code of Conduct The full text of the NumFOCUS/ArviZ Code of Conduct can be found on -NumFOCUS's website +NumFOCUS's website https://numfocus.org/code-of-conduct diff --git a/LICENSE b/LICENSE index 8f71f43fee..8dada3edaf 100644 --- a/LICENSE +++ b/LICENSE @@ -199,4 +199,3 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. - diff --git a/MANIFEST.in b/MANIFEST.in index 7d83fc33a8..22e11150db 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,8 +2,3 @@ include *.md include *.txt include *.toml include LICENSE -include arviz/py.typed - -recursive-include arviz *.mplstyle -recursive-include arviz/static * -recursive-include arviz/data/example_data *.nc *.json diff --git a/Makefile b/Makefile deleted file mode 100644 index fc13da8064..0000000000 --- a/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -b html -SPHINXBUILD = sphinx-build -SPHINXPROJ = ArviZ -SOURCEDIR = doc/source -BUILDDIR = doc/build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -html: - sphinx-build "$(SOURCEDIR)" "$(BUILDDIR)" -b html - -livehtml: - sphinx-autobuild "$(SOURCEDIR)" "$(BUILDDIR)" -b html - -cleandocs: - rm -r "$(BUILDDIR)" "doc/jupyter_execute" "$(SOURCEDIR)/api/generated" "$(SOURCEDIR)/examples" - -preview: - python -m webbrowser "$(BUILDDIR)/index.html" diff --git a/arviz/__init__.py b/arviz/__init__.py deleted file mode 100644 index 569eeff00f..0000000000 --- a/arviz/__init__.py +++ /dev/null @@ -1,367 +0,0 @@ -# pylint: disable=wildcard-import,invalid-name,wrong-import-position -"""ArviZ is a library for exploratory analysis of Bayesian models.""" -__version__ = "0.23.0.dev0" - -import logging -import os -import warnings -import datetime -from pathlib import Path - -from matplotlib.colors import LinearSegmentedColormap -from matplotlib.pyplot import style -import matplotlib as mpl -from packaging import version - - -def _warn_once_per_day(): - warning_dir = Path.home() / "arviz_data" - warning_dir.mkdir(exist_ok=True) - - stamp_file = warning_dir / "daily_warning" - today = datetime.date.today() - - if stamp_file.exists(): - last_date = datetime.date.fromisoformat(stamp_file.read_text().strip()) - else: - last_date = None - - if last_date != today: - warnings.warn( - "\nArviZ is undergoing a major refactor to improve flexibility and extensibility " - "while maintaining a user-friendly interface." - "\nSome upcoming changes may be backward incompatible." - "\nFor details and migration guidance, visit: " - "https://python.arviz.org/en/latest/user_guide/migration_guide.html", - FutureWarning, - ) - - stamp_file.write_text(today.isoformat()) - - -_warn_once_per_day() - - -class Logger(logging.Logger): - """Override Logger to avoid repeated messages.""" - - def __init__(self, name, level=logging.NOTSET): - super().__init__(name=name, level=level) - self.cache = [] - - def _log( - self, level, msg, *args, **kwargs - ): # pylint: disable=signature-differs, arguments-differ - msg_hash = hash(msg) - if msg_hash in self.cache: - return - self.cache.append(msg_hash) - super()._log(level, msg, *args, **kwargs) - - -_log = Logger("arviz") - - -from .data import * -from .plots import * -from .plots.backends import * -from .stats import * -from .rcparams import rc_context, rcParams -from .utils import Numba, Dask, interactive_backend -from .wrappers import * -from . import preview - -# add ArviZ's styles to matplotlib's styles -_arviz_style_path = os.path.join(os.path.dirname(__file__), "plots", "styles") -if version.parse(mpl.__version__) >= version.parse("3.11.0.dev0"): - style.USER_LIBRARY_PATHS.append(_arviz_style_path) - style.reload_library() -else: - style.core.USER_LIBRARY_PATHS.append(_arviz_style_path) - style.core.reload_library() - - -if not logging.root.handlers: - _handler = logging.StreamHandler() - _formatter = logging.Formatter("%(name)s - %(levelname)s - %(message)s") - _handler.setFormatter(_formatter) - _log.setLevel(logging.INFO) - _log.addHandler(_handler) - - -# adds perceptually uniform grey scale from colorcet -_linear_grey_10_95_c0 = [ - [0.10767, 0.1077, 0.1077], - [0.11032, 0.11035, 0.11035], - [0.11295, 0.11298, 0.11297], - [0.11554, 0.11558, 0.11557], - [0.1182, 0.11824, 0.11823], - [0.12079, 0.12083, 0.12082], - [0.12344, 0.12348, 0.12347], - [0.12615, 0.12618, 0.12618], - [0.12879, 0.12882, 0.12881], - [0.13149, 0.13152, 0.13151], - [0.13418, 0.13421, 0.1342], - [0.13684, 0.13688, 0.13687], - [0.13951, 0.13955, 0.13954], - [0.14226, 0.1423, 0.14229], - [0.14499, 0.14503, 0.14502], - [0.1477, 0.14774, 0.14773], - [0.15042, 0.15046, 0.15045], - [0.15313, 0.15317, 0.15316], - [0.15591, 0.15595, 0.15594], - [0.15866, 0.1587, 0.15869], - [0.16142, 0.16147, 0.16145], - [0.16418, 0.16423, 0.16422], - [0.16695, 0.16699, 0.16698], - [0.16973, 0.16977, 0.16976], - [0.17248, 0.17253, 0.17252], - [0.17529, 0.17533, 0.17532], - [0.17811, 0.17815, 0.17814], - [0.18087, 0.18092, 0.1809], - [0.18369, 0.18374, 0.18372], - [0.18652, 0.18656, 0.18655], - [0.18934, 0.18939, 0.18938], - [0.19217, 0.19221, 0.1922], - [0.19502, 0.19506, 0.19505], - [0.19785, 0.1979, 0.19788], - [0.20068, 0.20073, 0.20072], - [0.20357, 0.20362, 0.20361], - [0.20645, 0.2065, 0.20649], - [0.20929, 0.20934, 0.20933], - [0.21219, 0.21224, 0.21222], - [0.21504, 0.21509, 0.21508], - [0.21795, 0.218, 0.21799], - [0.22086, 0.22091, 0.2209], - [0.22374, 0.22379, 0.22377], - [0.22666, 0.22671, 0.22669], - [0.22954, 0.2296, 0.22958], - [0.23248, 0.23253, 0.23252], - [0.23542, 0.23547, 0.23546], - [0.23832, 0.23838, 0.23836], - [0.24127, 0.24133, 0.24131], - [0.24419, 0.24425, 0.24424], - [0.24716, 0.24722, 0.2472], - [0.25009, 0.25015, 0.25014], - [0.25308, 0.25313, 0.25312], - [0.25603, 0.25608, 0.25607], - [0.25902, 0.25908, 0.25906], - [0.26198, 0.26204, 0.26203], - [0.26496, 0.26502, 0.265], - [0.26794, 0.268, 0.26798], - [0.27095, 0.27101, 0.271], - [0.27395, 0.27401, 0.274], - [0.27695, 0.27702, 0.277], - [0.27996, 0.28002, 0.28], - [0.28298, 0.28304, 0.28303], - [0.28598, 0.28604, 0.28603], - [0.28902, 0.28909, 0.28907], - [0.29205, 0.29212, 0.2921], - [0.29508, 0.29514, 0.29513], - [0.29812, 0.29818, 0.29817], - [0.30116, 0.30123, 0.30121], - [0.30422, 0.30429, 0.30427], - [0.30728, 0.30734, 0.30733], - [0.31036, 0.31043, 0.31041], - [0.31342, 0.31349, 0.31347], - [0.31649, 0.31656, 0.31654], - [0.31957, 0.31964, 0.31962], - [0.32266, 0.32273, 0.32271], - [0.32572, 0.3258, 0.32578], - [0.32883, 0.32891, 0.32889], - [0.33193, 0.332, 0.33198], - [0.33504, 0.33512, 0.3351], - [0.33813, 0.3382, 0.33818], - [0.34125, 0.34133, 0.34131], - [0.34436, 0.34444, 0.34442], - [0.3475, 0.34757, 0.34755], - [0.35063, 0.3507, 0.35068], - [0.35374, 0.35382, 0.3538], - [0.35689, 0.35697, 0.35695], - [0.36002, 0.3601, 0.36008], - [0.36317, 0.36325, 0.36323], - [0.36633, 0.36641, 0.36639], - [0.36948, 0.36956, 0.36954], - [0.37263, 0.37272, 0.3727], - [0.3758, 0.37589, 0.37587], - [0.37897, 0.37906, 0.37904], - [0.38214, 0.38223, 0.38221], - [0.38532, 0.3854, 0.38538], - [0.38852, 0.3886, 0.38858], - [0.3917, 0.39179, 0.39177], - [0.39489, 0.39498, 0.39496], - [0.3981, 0.39818, 0.39816], - [0.4013, 0.40138, 0.40136], - [0.40449, 0.40458, 0.40456], - [0.40771, 0.4078, 0.40778], - [0.41093, 0.41102, 0.411], - [0.41415, 0.41423, 0.41421], - [0.41738, 0.41747, 0.41744], - [0.4206, 0.42068, 0.42066], - [0.42383, 0.42392, 0.4239], - [0.42708, 0.42717, 0.42715], - [0.43031, 0.43041, 0.43038], - [0.43355, 0.43364, 0.43362], - [0.43681, 0.43691, 0.43688], - [0.44007, 0.44016, 0.44014], - [0.44333, 0.44342, 0.4434], - [0.44659, 0.44668, 0.44666], - [0.44986, 0.44995, 0.44993], - [0.45313, 0.45322, 0.4532], - [0.4564, 0.4565, 0.45647], - [0.45968, 0.45978, 0.45976], - [0.46296, 0.46306, 0.46303], - [0.46625, 0.46635, 0.46633], - [0.46956, 0.46966, 0.46963], - [0.47284, 0.47294, 0.47292], - [0.47615, 0.47625, 0.47623], - [0.47946, 0.47956, 0.47953], - [0.48276, 0.48286, 0.48284], - [0.48607, 0.48618, 0.48615], - [0.48939, 0.48949, 0.48947], - [0.49271, 0.49281, 0.49279], - [0.49603, 0.49614, 0.49611], - [0.49936, 0.49947, 0.49944], - [0.5027, 0.5028, 0.50278], - [0.50603, 0.50614, 0.50612], - [0.50938, 0.50949, 0.50946], - [0.51273, 0.51284, 0.51281], - [0.51607, 0.51618, 0.51615], - [0.51943, 0.51954, 0.51951], - [0.52279, 0.5229, 0.52287], - [0.52615, 0.52626, 0.52624], - [0.52952, 0.52963, 0.5296], - [0.53289, 0.533, 0.53297], - [0.53626, 0.53637, 0.53634], - [0.53963, 0.53974, 0.53971], - [0.54302, 0.54313, 0.5431], - [0.54641, 0.54652, 0.54649], - [0.54979, 0.5499, 0.54987], - [0.55317, 0.55329, 0.55326], - [0.55657, 0.55669, 0.55666], - [0.55998, 0.56009, 0.56007], - [0.56338, 0.5635, 0.56347], - [0.56679, 0.56691, 0.56688], - [0.57019, 0.57031, 0.57028], - [0.57361, 0.57373, 0.5737], - [0.57703, 0.57715, 0.57712], - [0.58045, 0.58057, 0.58054], - [0.58387, 0.58399, 0.58396], - [0.5873, 0.58742, 0.58739], - [0.59073, 0.59086, 0.59083], - [0.59417, 0.5943, 0.59427], - [0.59761, 0.59774, 0.59771], - [0.60106, 0.60118, 0.60115], - [0.60451, 0.60463, 0.6046], - [0.60796, 0.60809, 0.60806], - [0.61141, 0.61154, 0.61151], - [0.61486, 0.61499, 0.61496], - [0.61833, 0.61846, 0.61843], - [0.62179, 0.62192, 0.62189], - [0.62527, 0.62539, 0.62536], - [0.62874, 0.62887, 0.62884], - [0.63222, 0.63235, 0.63231], - [0.63569, 0.63583, 0.63579], - [0.63918, 0.63931, 0.63928], - [0.64267, 0.6428, 0.64276], - [0.64615, 0.64629, 0.64625], - [0.64965, 0.64978, 0.64975], - [0.65314, 0.65327, 0.65324], - [0.65665, 0.65678, 0.65675], - [0.66015, 0.66028, 0.66025], - [0.66366, 0.6638, 0.66376], - [0.66717, 0.6673, 0.66727], - [0.67069, 0.67082, 0.67079], - [0.6742, 0.67434, 0.6743], - [0.67772, 0.67786, 0.67783], - [0.68124, 0.68138, 0.68134], - [0.68477, 0.68491, 0.68488], - [0.68831, 0.68845, 0.68841], - [0.69184, 0.69198, 0.69195], - [0.69538, 0.69552, 0.69548], - [0.69891, 0.69906, 0.69902], - [0.70246, 0.7026, 0.70257], - [0.70601, 0.70616, 0.70612], - [0.70956, 0.70971, 0.70967], - [0.71311, 0.71326, 0.71322], - [0.71668, 0.71682, 0.71679], - [0.72023, 0.72038, 0.72034], - [0.7238, 0.72394, 0.72391], - [0.72736, 0.72751, 0.72748], - [0.73093, 0.73108, 0.73105], - [0.73451, 0.73466, 0.73463], - [0.73808, 0.73823, 0.7382], - [0.74167, 0.74182, 0.74178], - [0.74525, 0.7454, 0.74536], - [0.74884, 0.74899, 0.74895], - [0.75243, 0.75258, 0.75254], - [0.75602, 0.75618, 0.75614], - [0.75961, 0.75977, 0.75973], - [0.76322, 0.76337, 0.76333], - [0.76682, 0.76697, 0.76694], - [0.77043, 0.77058, 0.77055], - [0.77403, 0.77419, 0.77415], - [0.77765, 0.77781, 0.77777], - [0.78126, 0.78142, 0.78138], - [0.78489, 0.78504, 0.785], - [0.78851, 0.78867, 0.78863], - [0.79213, 0.79229, 0.79225], - [0.79576, 0.79592, 0.79588], - [0.79939, 0.79955, 0.79951], - [0.80302, 0.80318, 0.80314], - [0.80666, 0.80683, 0.80679], - [0.8103, 0.81046, 0.81042], - [0.81394, 0.81411, 0.81406], - [0.81759, 0.81775, 0.81771], - [0.82124, 0.82141, 0.82136], - [0.82489, 0.82506, 0.82501], - [0.82855, 0.82872, 0.82867], - [0.83221, 0.83237, 0.83233], - [0.83587, 0.83604, 0.83599], - [0.83953, 0.8397, 0.83966], - [0.8432, 0.84337, 0.84333], - [0.84687, 0.84704, 0.847], - [0.85054, 0.85071, 0.85067], - [0.85422, 0.85439, 0.85435], - [0.8579, 0.85807, 0.85803], - [0.86158, 0.86176, 0.86171], - [0.86527, 0.86544, 0.8654], - [0.86896, 0.86913, 0.86909], - [0.87265, 0.87282, 0.87278], - [0.87634, 0.87652, 0.87647], - [0.88004, 0.88022, 0.88017], - [0.88374, 0.88392, 0.88388], - [0.88744, 0.88762, 0.88758], - [0.89115, 0.89133, 0.89128], - [0.89486, 0.89504, 0.895], - [0.89857, 0.89875, 0.89871], - [0.90229, 0.90247, 0.90242], - [0.90601, 0.90619, 0.90614], - [0.90972, 0.90991, 0.90986], - [0.91345, 0.91363, 0.91359], - [0.91718, 0.91736, 0.91732], - [0.9209, 0.92108, 0.92104], - [0.92463, 0.92482, 0.92477], - [0.92837, 0.92855, 0.92851], - [0.9321, 0.93229, 0.93224], - [0.93585, 0.93604, 0.93599], - [0.93959, 0.93978, 0.93973], - [0.94334, 0.94353, 0.94348], -] - - -def _mpl_cm(name, colorlist): - cmap = LinearSegmentedColormap.from_list(name, colorlist, N=256) - if "cet_" + name not in mpl.colormaps(): - mpl.colormaps.register(cmap, name="cet_" + name) - - -try: - import colorcet -except ModuleNotFoundError: - _mpl_cm("gray", _linear_grey_10_95_c0) - _mpl_cm("gray_r", list(reversed(_linear_grey_10_95_c0))) - - -# clean namespace -del os, logging, LinearSegmentedColormap, Logger, mpl diff --git a/arviz/data/__init__.py b/arviz/data/__init__.py deleted file mode 100644 index aa5866dd76..0000000000 --- a/arviz/data/__init__.py +++ /dev/null @@ -1,55 +0,0 @@ -"""Code for loading and manipulating data structures.""" - -from .base import CoordSpec, DimSpec, dict_to_dataset, numpy_to_data_array, pytree_to_dataset -from .converters import convert_to_dataset, convert_to_inference_data -from .datasets import clear_data_home, list_datasets, load_arviz_data -from .inference_data import InferenceData, concat -from .io_beanmachine import from_beanmachine -from .io_cmdstan import from_cmdstan -from .io_cmdstanpy import from_cmdstanpy -from .io_datatree import from_datatree, to_datatree -from .io_dict import from_dict, from_pytree -from .io_emcee import from_emcee -from .io_json import from_json, to_json -from .io_netcdf import from_netcdf, to_netcdf -from .io_numpyro import from_numpyro -from .io_pyjags import from_pyjags -from .io_pyro import from_pyro -from .io_pystan import from_pystan -from .io_zarr import from_zarr, to_zarr -from .utils import extract, extract_dataset - -__all__ = [ - "InferenceData", - "concat", - "load_arviz_data", - "list_datasets", - "clear_data_home", - "numpy_to_data_array", - "extract", - "extract_dataset", - "dict_to_dataset", - "convert_to_dataset", - "convert_to_inference_data", - "from_beanmachine", - "from_pyjags", - "from_pystan", - "from_emcee", - "from_cmdstan", - "from_cmdstanpy", - "from_datatree", - "from_dict", - "from_pytree", - "from_json", - "from_pyro", - "from_numpyro", - "from_netcdf", - "pytree_to_dataset", - "to_datatree", - "to_json", - "to_netcdf", - "from_zarr", - "to_zarr", - "CoordSpec", - "DimSpec", -] diff --git a/arviz/data/base.py b/arviz/data/base.py deleted file mode 100644 index ef5850c062..0000000000 --- a/arviz/data/base.py +++ /dev/null @@ -1,596 +0,0 @@ -"""Low level converters usually used by other functions.""" - -import datetime -import functools -import importlib -import re -import warnings -from copy import deepcopy -from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar, Union - -import numpy as np -import xarray as xr - -try: - import tree -except ImportError: - tree = None - -try: - import ujson as json -except ImportError: - # mypy struggles with conditional imports expressed as catching ImportError: - # https://github.com/python/mypy/issues/1153 - import json # type: ignore - -from .. import __version__, utils -from ..rcparams import rcParams - -CoordSpec = Dict[str, List[Any]] -DimSpec = Dict[str, List[str]] -RequiresArgTypeT = TypeVar("RequiresArgTypeT") -RequiresReturnTypeT = TypeVar("RequiresReturnTypeT") - - -class requires: # pylint: disable=invalid-name - """Decorator to return None if an object does not have the required attribute. - - If the decorator is called various times on the same function with different - attributes, it will return None if one of them is missing. If instead a list - of attributes is passed, it will return None if all attributes in the list are - missing. Both functionalities can be combined as desired. - """ - - def __init__(self, *props: Union[str, List[str]]) -> None: - self.props: Tuple[Union[str, List[str]], ...] = props - - # Until typing.ParamSpec (https://www.python.org/dev/peps/pep-0612/) is available - # in all our supported Python versions, there is no way to simultaneously express - # the following two properties: - # - the input function may take arbitrary args/kwargs, and - # - the output function takes those same arbitrary args/kwargs, but has a different return type. - # We either have to limit the input function to e.g. only allowing a "self" argument, - # or we have to adopt the current approach of annotating the returned function as if - # it was defined as "def f(*args: Any, **kwargs: Any) -> Optional[RequiresReturnTypeT]". - # - # Since all functions decorated with @requires currently only accept a single argument, - # we choose to limit application of @requires to only functions of one argument. - # When typing.ParamSpec is available, this definition can be updated to use it. - # See https://github.com/arviz-devs/arviz/pull/1504 for more discussion. - def __call__( - self, func: Callable[[RequiresArgTypeT], RequiresReturnTypeT] - ) -> Callable[[RequiresArgTypeT], Optional[RequiresReturnTypeT]]: # noqa: D202 - """Wrap the decorated function.""" - - def wrapped(cls: RequiresArgTypeT) -> Optional[RequiresReturnTypeT]: - """Return None if not all props are available.""" - for prop in self.props: - prop = [prop] if isinstance(prop, str) else prop - if all((getattr(cls, prop_i) is None for prop_i in prop)): - return None - return func(cls) - - return wrapped - - -def _yield_flat_up_to(shallow_tree, input_tree, path=()): - """Yields (path, value) pairs of input_tree flattened up to shallow_tree. - - Adapted from dm-tree (https://github.com/google-deepmind/tree) to allow - lists as leaves. - - Args: - shallow_tree: Nested structure. Traverse no further than its leaf nodes. - input_tree: Nested structure. Return the paths and values from this tree. - Must have the same upper structure as shallow_tree. - path: Tuple. Optional argument, only used when recursing. The path from the - root of the original shallow_tree, down to the root of the shallow_tree - arg of this recursive call. - - Yields: - Pairs of (path, value), where path the tuple path of a leaf node in - shallow_tree, and value is the value of the corresponding node in - input_tree. - """ - # pylint: disable=protected-access - if tree is None: - raise ImportError("Missing optional dependency 'dm-tree'. Use pip or conda to install it") - - if isinstance(shallow_tree, tree._TEXT_OR_BYTES) or not ( - isinstance(shallow_tree, tree.collections_abc.Mapping) - or tree._is_namedtuple(shallow_tree) - or tree._is_attrs(shallow_tree) - ): - yield (path, input_tree) - else: - input_tree = dict(tree._yield_sorted_items(input_tree)) - for shallow_key, shallow_subtree in tree._yield_sorted_items(shallow_tree): - subpath = path + (shallow_key,) - input_subtree = input_tree[shallow_key] - for leaf_path, leaf_value in _yield_flat_up_to( - shallow_subtree, input_subtree, path=subpath - ): - yield (leaf_path, leaf_value) - # pylint: enable=protected-access - - -def _flatten_with_path(structure): - return list(_yield_flat_up_to(structure, structure)) - - -def generate_dims_coords( - shape, - var_name, - dims=None, - coords=None, - default_dims=None, - index_origin=None, - skip_event_dims=None, -): - """Generate default dimensions and coordinates for a variable. - - Parameters - ---------- - shape : tuple[int] - Shape of the variable - var_name : str - Name of the variable. If no dimension name(s) is provided, ArviZ - will generate a default dimension name using ``var_name``, e.g., - ``"foo_dim_0"`` for the first dimension if ``var_name`` is ``"foo"``. - dims : list - List of dimensions for the variable - coords : dict[str] -> list[str] - Map of dimensions to coordinates - default_dims : list[str] - Dimension names that are not part of the variable's shape. For example, - when manipulating Monte Carlo traces, the ``default_dims`` would be - ``["chain" , "draw"]`` which ArviZ uses as its own names for dimensions - of MCMC traces. - index_origin : int, optional - Starting value of integer coordinate values. Defaults to the value in rcParam - ``data.index_origin``. - skip_event_dims : bool, default False - - Returns - ------- - list[str] - Default dims - dict[str] -> list[str] - Default coords - """ - if index_origin is None: - index_origin = rcParams["data.index_origin"] - if default_dims is None: - default_dims = [] - if dims is None: - dims = [] - if skip_event_dims is None: - skip_event_dims = False - - if coords is None: - coords = {} - - coords = deepcopy(coords) - dims = deepcopy(dims) - - ndims = len([dim for dim in dims if dim not in default_dims]) - if ndims > len(shape): - if skip_event_dims: - dims = dims[: len(shape)] - else: - warnings.warn( - ( - "In variable {var_name}, there are " - + "more dims ({dims_len}) given than exist ({shape_len}). " - + "Passed array should have shape ({defaults}*shape)" - ).format( - var_name=var_name, - dims_len=len(dims), - shape_len=len(shape), - defaults=",".join(default_dims) + ", " if default_dims is not None else "", - ), - UserWarning, - ) - if skip_event_dims: - # this is needed in case the reduction keeps the dimension with size 1 - for i, (dim, dim_size) in enumerate(zip(dims, shape)): - if (dim in coords) and (dim_size != len(coords[dim])): - dims = dims[:i] - break - - for i, dim_len in enumerate(shape): - idx = i + len([dim for dim in default_dims if dim in dims]) - if len(dims) < idx + 1: - dim_name = f"{var_name}_dim_{i}" - dims.append(dim_name) - elif dims[idx] is None: - dim_name = f"{var_name}_dim_{i}" - dims[idx] = dim_name - dim_name = dims[idx] - if dim_name not in coords: - coords[dim_name] = np.arange(index_origin, dim_len + index_origin) - coords = { - key: coord - for key, coord in coords.items() - if any(key == dim for dim in dims + default_dims) - } - return dims, coords - - -def numpy_to_data_array( - ary, - *, - var_name="data", - coords=None, - dims=None, - default_dims=None, - index_origin=None, - skip_event_dims=None, -): - """Convert a numpy array to an xarray.DataArray. - - By default, the first two dimensions will be (chain, draw), and any remaining - dimensions will be "shape". - * If the numpy array is 1d, this dimension is interpreted as draw - * If the numpy array is 2d, it is interpreted as (chain, draw) - * If the numpy array is 3 or more dimensions, the last dimensions are kept as shapes. - - To modify this behaviour, use ``default_dims``. - - Parameters - ---------- - ary : np.ndarray - A numpy array. If it has 2 or more dimensions, the first dimension should be - independent chains from a simulation. Use `np.expand_dims(ary, 0)` to add a - single dimension to the front if there is only 1 chain. - var_name : str - If there are no dims passed, this string is used to name dimensions - coords : dict[str, iterable] - A dictionary containing the values that are used as index. The key - is the name of the dimension, the values are the index values. - dims : List(str) - A list of coordinate names for the variable - default_dims : list of str, optional - Passed to :py:func:`generate_dims_coords`. Defaults to ``["chain", "draw"]``, and - an empty list is accepted - index_origin : int, optional - Passed to :py:func:`generate_dims_coords` - skip_event_dims : bool - - Returns - ------- - xr.DataArray - Will have the same data as passed, but with coordinates and dimensions - """ - # manage and transform copies - if default_dims is None: - default_dims = ["chain", "draw"] - if "chain" in default_dims and "draw" in default_dims: - ary = utils.two_de(ary) - n_chains, n_samples, *_ = ary.shape - if n_chains > n_samples: - warnings.warn( - "More chains ({n_chains}) than draws ({n_samples}). " - "Passed array should have shape (chains, draws, *shape)".format( - n_chains=n_chains, n_samples=n_samples - ), - UserWarning, - ) - else: - ary = utils.one_de(ary) - - dims, coords = generate_dims_coords( - ary.shape[len(default_dims) :], - var_name, - dims=dims, - coords=coords, - default_dims=default_dims, - index_origin=index_origin, - skip_event_dims=skip_event_dims, - ) - - # reversed order for default dims: 'chain', 'draw' - if "draw" not in dims and "draw" in default_dims: - dims = ["draw"] + dims - if "chain" not in dims and "chain" in default_dims: - dims = ["chain"] + dims - - index_origin = rcParams["data.index_origin"] - if "chain" not in coords and "chain" in default_dims: - coords["chain"] = np.arange(index_origin, n_chains + index_origin) - if "draw" not in coords and "draw" in default_dims: - coords["draw"] = np.arange(index_origin, n_samples + index_origin) - - # filter coords based on the dims - coords = {key: xr.IndexVariable((key,), data=np.asarray(coords[key])) for key in dims} - return xr.DataArray(ary, coords=coords, dims=dims) - - -def dict_to_dataset( - data, - *, - attrs=None, - library=None, - coords=None, - dims=None, - default_dims=None, - index_origin=None, - skip_event_dims=None, -): - """Convert a dictionary or pytree of numpy arrays to an xarray.Dataset. - - ArviZ itself supports conversion of flat dictionaries. - Suport for pytrees requires ``dm-tree`` which is an optional dependency. - See https://jax.readthedocs.io/en/latest/pytrees.html for what a pytree is, but - this inclues at least dictionaries and tuple types. - - Parameters - ---------- - data : dict of {str : array_like or dict} or pytree - Data to convert. Keys are variable names. - attrs : dict, optional - Json serializable metadata to attach to the dataset, in addition to defaults. - library : module, optional - Library used for performing inference. Will be attached to the attrs metadata. - coords : dict of {str : ndarray}, optional - Coordinates for the dataset - dims : dict of {str : list of str}, optional - Dimensions of each variable. The keys are variable names, values are lists of - coordinates. - default_dims : list of str, optional - Passed to :py:func:`numpy_to_data_array` - index_origin : int, optional - Passed to :py:func:`numpy_to_data_array` - skip_event_dims : bool, optional - If True, cut extra dims whenever present to match the shape of the data. - Necessary for PPLs which have the same name in both observed data and log - likelihood groups, to account for their different shapes when observations are - multivariate. - - Returns - ------- - xarray.Dataset - In case of nested pytrees, the variable name will be a tuple of individual names. - - Notes - ----- - This function is available through two aliases: ``dict_to_dataset`` or ``pytree_to_dataset``. - - Examples - -------- - Convert a dictionary with two 2D variables to a Dataset. - - .. ipython:: - - In [1]: import arviz as az - ...: import numpy as np - ...: az.dict_to_dataset({'x': np.random.randn(4, 100), 'y': np.random.rand(4, 100)}) - - Note that unlike the :class:`xarray.Dataset` constructor, ArviZ has added extra - information to the generated Dataset such as default dimension names for sampled - dimensions and some attributes. - - The function is also general enough to work on pytrees such as nested dictionaries: - - .. ipython:: - - In [1]: az.pytree_to_dataset({'top': {'second': 1.}, 'top2': 1.}) - - which has two variables (as many as leafs) named ``('top', 'second')`` and ``top2``. - - Dimensions and co-ordinates can be defined as usual: - - .. ipython:: - - In [1]: datadict = { - ...: "top": {"a": np.random.randn(100), "b": np.random.randn(1, 100, 10)}, - ...: "d": np.random.randn(100), - ...: } - ...: az.dict_to_dataset( - ...: datadict, - ...: coords={"c": np.arange(10)}, - ...: dims={("top", "b"): ["c"]} - ...: ) - - """ - if dims is None: - dims = {} - - if tree is not None: - try: - data = {k[0] if len(k) == 1 else k: v for k, v in _flatten_with_path(data)} - except TypeError: # probably unsortable keys -- the function will still work if - pass # it is an honest dictionary. - - data_vars = { - key: numpy_to_data_array( - values, - var_name=key, - coords=coords, - dims=dims.get(key), - default_dims=default_dims, - index_origin=index_origin, - skip_event_dims=skip_event_dims, - ) - for key, values in data.items() - } - return xr.Dataset(data_vars=data_vars, attrs=make_attrs(attrs=attrs, library=library)) - - -pytree_to_dataset = dict_to_dataset - - -def make_attrs(attrs=None, library=None): - """Make standard attributes to attach to xarray datasets. - - Parameters - ---------- - attrs : dict (optional) - Additional attributes to add or overwrite - - Returns - ------- - dict - attrs - """ - default_attrs = { - "created_at": datetime.datetime.now(datetime.timezone.utc).isoformat(), - "arviz_version": __version__, - } - if library is not None: - library_name = library.__name__ - default_attrs["inference_library"] = library_name - try: - version = importlib.metadata.version(library_name) - default_attrs["inference_library_version"] = version - except importlib.metadata.PackageNotFoundError: - if hasattr(library, "__version__"): - version = library.__version__ - default_attrs["inference_library_version"] = version - if attrs is not None: - default_attrs.update(attrs) - return default_attrs - - -def _extend_xr_method(func, doc=None, description="", examples="", see_also=""): - """Make wrapper to extend methods from xr.Dataset to InferenceData Class. - - Parameters - ---------- - func : callable - An xr.Dataset function - doc : str - docstring for the func - description : str - the description of the func to be added in docstring - examples : str - the examples of the func to be added in docstring - see_also : str, list - the similar methods of func to be included in See Also section of docstring - - """ - # pydocstyle requires a non empty line - - @functools.wraps(func) - def wrapped(self, *args, **kwargs): - _filter = kwargs.pop("filter_groups", None) - _groups = kwargs.pop("groups", None) - _inplace = kwargs.pop("inplace", False) - - out = self if _inplace else deepcopy(self) - - groups = self._group_names(_groups, _filter) # pylint: disable=protected-access - for group in groups: - xr_data = getattr(out, group) - xr_data = func(xr_data, *args, **kwargs) # pylint: disable=not-callable - setattr(out, group, xr_data) - - return None if _inplace else out - - description_default = """{method_name} method is extended from xarray.Dataset methods. - - {description} - - For more info see :meth:`xarray:xarray.Dataset.{method_name}`. - In addition to the arguments available in the original method, the following - ones are added by ArviZ to adapt the method to being called on an ``InferenceData`` object. - """.format( - description=description, method_name=func.__name__ # pylint: disable=no-member - ) - params = """ - Other Parameters - ---------------- - groups: str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - inplace: bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - """ - - if not isinstance(see_also, str): - see_also = "\n".join(see_also) - see_also_basic = """ - See Also - -------- - xarray.Dataset.{method_name} - {custom_see_also} - """.format( - method_name=func.__name__, custom_see_also=see_also # pylint: disable=no-member - ) - wrapped.__doc__ = ( - description_default + params + examples + see_also_basic if doc is None else doc - ) - - return wrapped - - -def _make_json_serializable(data: dict) -> dict: - """Convert `data` with numpy.ndarray-like values to JSON-serializable form.""" - ret = {} - for key, value in data.items(): - try: - json.dumps(value) - except (TypeError, OverflowError): - pass - else: - ret[key] = value - continue - if isinstance(value, dict): - ret[key] = _make_json_serializable(value) - elif isinstance(value, np.ndarray): - ret[key] = np.asarray(value).tolist() - else: - raise TypeError( - f"Value associated with variable `{type(value)}` is not JSON serializable." - ) - return ret - - -def infer_stan_dtypes(stan_code): - """Infer Stan integer variables from generated quantities block.""" - # Remove old deprecated comments - stan_code = "\n".join( - line if "#" not in line else line[: line.find("#")] for line in stan_code.splitlines() - ) - pattern_remove_comments = re.compile( - r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"', re.DOTALL | re.MULTILINE - ) - stan_code = re.sub(pattern_remove_comments, "", stan_code) - - # Check generated quantities - if "generated quantities" not in stan_code: - return {} - - # Extract generated quantities block - gen_quantities_location = stan_code.index("generated quantities") - block_start = gen_quantities_location + stan_code[gen_quantities_location:].index("{") - - curly_bracket_count = 0 - block_end = None - for block_end, char in enumerate(stan_code[block_start:], block_start + 1): - if char == "{": - curly_bracket_count += 1 - elif char == "}": - curly_bracket_count -= 1 - - if curly_bracket_count == 0: - break - - stan_code = stan_code[block_start:block_end] - - stan_integer = r"int" - stan_limits = r"(?:\<[^\>]+\>)*" # ignore group: 0 or more <....> - stan_param = r"([^;=\s\[]+)" # capture group: ends= ";", "=", "[" or whitespace - stan_ws = r"\s*" # 0 or more whitespace - stan_ws_one = r"\s+" # 1 or more whitespace - pattern_int = re.compile( - "".join((stan_integer, stan_ws_one, stan_limits, stan_ws, stan_param)), re.IGNORECASE - ) - dtypes = {key.strip(): "int" for key in re.findall(pattern_int, stan_code)} - return dtypes diff --git a/arviz/data/converters.py b/arviz/data/converters.py deleted file mode 100644 index cb6e61128b..0000000000 --- a/arviz/data/converters.py +++ /dev/null @@ -1,203 +0,0 @@ -"""High level conversion functions.""" - -import numpy as np -import xarray as xr -import pandas as pd - -try: - from tree import is_nested -except ImportError: - is_nested = lambda obj: False - -from .base import dict_to_dataset -from .inference_data import InferenceData -from .io_beanmachine import from_beanmachine -from .io_cmdstan import from_cmdstan -from .io_cmdstanpy import from_cmdstanpy -from .io_emcee import from_emcee -from .io_numpyro import from_numpyro -from .io_pyro import from_pyro -from .io_pystan import from_pystan - - -# pylint: disable=too-many-return-statements -def convert_to_inference_data(obj, *, group="posterior", coords=None, dims=None, **kwargs): - r"""Convert a supported object to an InferenceData object. - - This function sends `obj` to the right conversion function. It is idempotent, - in that it will return arviz.InferenceData objects unchanged. - - Parameters - ---------- - obj : dict, str, np.ndarray, xr.Dataset, pystan fit - A supported object to convert to InferenceData: - | InferenceData: returns unchanged - | str: Attempts to load the cmdstan csv or netcdf dataset from disk - | pystan fit: Automatically extracts data - | cmdstanpy fit: Automatically extracts data - | cmdstan csv-list: Automatically extracts data - | emcee sampler: Automatically extracts data - | pyro MCMC: Automatically extracts data - | beanmachine MonteCarloSamples: Automatically extracts data - | xarray.Dataset: adds to InferenceData as only group - | xarray.DataArray: creates an xarray dataset as the only group, gives the - array an arbitrary name, if name not set - | dict: creates an xarray dataset as the only group - | numpy array: creates an xarray dataset as the only group, gives the - array an arbitrary name - | object with __array__: converts to numpy array, then creates an xarray dataset as - the only group, gives the array an arbitrary name - group : str - If `obj` is a dict or numpy array, assigns the resulting xarray - dataset to this group. Default: "posterior". - coords : dict[str, iterable] - A dictionary containing the values that are used as index. The key - is the name of the dimension, the values are the index values. - dims : dict[str, List(str)] - A mapping from variables to a list of coordinate names for the variable - kwargs - Rest of the supported keyword arguments transferred to conversion function. - - Returns - ------- - InferenceData - """ - kwargs[group] = obj - kwargs["coords"] = coords - kwargs["dims"] = dims - - # Cases that convert to InferenceData - if isinstance(obj, InferenceData): - if coords is not None or dims is not None: - raise TypeError("Cannot use coords or dims arguments with InferenceData value.") - return obj - elif isinstance(obj, str): - if obj.endswith(".csv"): - if group == "sample_stats": - kwargs["posterior"] = kwargs.pop(group) - elif group == "sample_stats_prior": - kwargs["prior"] = kwargs.pop(group) - return from_cmdstan(**kwargs) - else: - if coords is not None or dims is not None: - raise TypeError( - "Cannot use coords or dims arguments reading InferenceData from netcdf." - ) - return InferenceData.from_netcdf(obj) - elif ( - obj.__class__.__name__ in {"StanFit4Model", "CmdStanMCMC"} - or obj.__class__.__module__ == "stan.fit" - ): - if group == "sample_stats": - kwargs["posterior"] = kwargs.pop(group) - elif group == "sample_stats_prior": - kwargs["prior"] = kwargs.pop(group) - if obj.__class__.__name__ == "CmdStanMCMC": - return from_cmdstanpy(**kwargs) - else: # pystan or pystan3 - return from_pystan(**kwargs) - elif obj.__class__.__name__ == "EnsembleSampler": # ugly, but doesn't make emcee a requirement - return from_emcee(sampler=kwargs.pop(group), **kwargs) - elif obj.__class__.__name__ == "MonteCarloSamples": - return from_beanmachine(sampler=kwargs.pop(group), **kwargs) - elif obj.__class__.__name__ == "MCMC" and obj.__class__.__module__.startswith("pyro"): - return from_pyro(posterior=kwargs.pop(group), **kwargs) - elif obj.__class__.__name__ == "MCMC" and obj.__class__.__module__.startswith("numpyro"): - return from_numpyro(posterior=kwargs.pop(group), **kwargs) - - # Cases that convert to xarray - if isinstance(obj, xr.Dataset): - dataset = obj - elif isinstance(obj, xr.DataArray): - if obj.name is None: - obj.name = "x" - dataset = obj.to_dataset() - elif isinstance(obj, dict): - dataset = dict_to_dataset(obj, coords=coords, dims=dims) - elif is_nested(obj) and not isinstance(obj, (list, tuple)): - dataset = dict_to_dataset(obj, coords=coords, dims=dims) - elif isinstance(obj, np.ndarray): - dataset = dict_to_dataset({"x": obj}, coords=coords, dims=dims) - elif ( - hasattr(obj, "__array__") - and callable(getattr(obj, "__array__")) - and (not isinstance(obj, pd.DataFrame)) - ): - obj = obj.__array__() - dataset = dict_to_dataset({"x": obj}, coords=coords, dims=dims) - elif isinstance(obj, (list, tuple)) and isinstance(obj[0], str) and obj[0].endswith(".csv"): - if group == "sample_stats": - kwargs["posterior"] = kwargs.pop(group) - elif group == "sample_stats_prior": - kwargs["prior"] = kwargs.pop(group) - return from_cmdstan(**kwargs) - else: - allowable_types = ( - "xarray dataarray", - "xarray dataset", - "dict", - "pytree (if 'dm-tree' is installed)", - "netcdf filename", - "numpy array", - "object with __array__", - "pystan fit", - "emcee fit", - "pyro mcmc fit", - "numpyro mcmc fit", - "cmdstan fit csv filename", - "cmdstanpy fit", - ) - raise ValueError( - f'Can only convert {", ".join(allowable_types)} to InferenceData, ' - f"not {obj.__class__.__name__}" - ) - - return InferenceData(**{group: dataset}) - - -def convert_to_dataset(obj, *, group="posterior", coords=None, dims=None): - """Convert a supported object to an xarray dataset. - - This function is idempotent, in that it will return xarray.Dataset functions - unchanged. Raises `ValueError` if the desired group can not be extracted. - - Note this goes through a DataInference object. See `convert_to_inference_data` - for more details. Raises ValueError if it can not work out the desired - conversion. - - Parameters - ---------- - obj : dict, str, np.ndarray, xr.Dataset, pystan fit - A supported object to convert to InferenceData: - - - InferenceData: returns unchanged - - str: Attempts to load the netcdf dataset from disk - - pystan fit: Automatically extracts data - - xarray.Dataset: adds to InferenceData as only group - - xarray.DataArray: creates an xarray dataset as the only group, gives the - array an arbitrary name, if name not set - - dict: creates an xarray dataset as the only group - - numpy array: creates an xarray dataset as the only group, gives the - array an arbitrary name - - group : str - If `obj` is a dict or numpy array, assigns the resulting xarray - dataset to this group. - coords : dict[str, iterable] - A dictionary containing the values that are used as index. The key - is the name of the dimension, the values are the index values. - dims : dict[str, List(str)] - A mapping from variables to a list of coordinate names for the variable - - Returns - ------- - xarray.Dataset - """ - inference_data = convert_to_inference_data(obj, group=group, coords=coords, dims=dims) - dataset = getattr(inference_data, group, None) - if dataset is None: - raise ValueError( - "Can not extract {group} from {obj}! See {filename} for other " - "conversion utilities.".format(group=group, obj=obj, filename=__file__) - ) - return dataset diff --git a/arviz/data/datasets.py b/arviz/data/datasets.py deleted file mode 100644 index 4e0272503f..0000000000 --- a/arviz/data/datasets.py +++ /dev/null @@ -1,161 +0,0 @@ -"""Base IO code for all datasets. Heavily influenced by scikit-learn's implementation.""" - -import hashlib -import itertools -import json -import os -import shutil -from collections import namedtuple -from urllib.request import urlretrieve - -from ..rcparams import rcParams -from .io_netcdf import from_netcdf - -LocalFileMetadata = namedtuple("LocalFileMetadata", ["name", "filename", "description"]) - -RemoteFileMetadata = namedtuple( - "RemoteFileMetadata", ["name", "filename", "url", "checksum", "description"] -) -_EXAMPLE_DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "example_data") -_LOCAL_DATA_DIR = os.path.join(_EXAMPLE_DATA_DIR, "data") - -with open(os.path.join(_EXAMPLE_DATA_DIR, "data_local.json"), "r", encoding="utf-8") as f: - LOCAL_DATASETS = { - entry["name"]: LocalFileMetadata( - name=entry["name"], - filename=os.path.join(_LOCAL_DATA_DIR, entry["filename"]), - description=entry["description"], - ) - for entry in json.load(f) - } - -with open(os.path.join(_EXAMPLE_DATA_DIR, "data_remote.json"), "r", encoding="utf-8") as f: - REMOTE_DATASETS = {entry["name"]: RemoteFileMetadata(**entry) for entry in json.load(f)} - - -def get_data_home(data_home=None): - """Return the path of the arviz data dir. - - This folder is used by some dataset loaders to avoid downloading the - data several times. - - By default the data dir is set to a folder named 'arviz_data' in the - user home folder. - - Alternatively, it can be set by the 'ARVIZ_DATA' environment - variable or programmatically by giving an explicit folder path. The '~' - symbol is expanded to the user home folder. - - If the folder does not already exist, it is automatically created. - - Parameters - ---------- - data_home : str | None - The path to arviz data dir. - """ - if data_home is None: - data_home = os.environ.get("ARVIZ_DATA", os.path.join("~", "arviz_data")) - data_home = os.path.expanduser(data_home) - if not os.path.exists(data_home): - os.makedirs(data_home) - return data_home - - -def clear_data_home(data_home=None): - """Delete all the content of the data home cache. - - Parameters - ---------- - data_home : str | None - The path to arviz data dir. - """ - data_home = get_data_home(data_home) - shutil.rmtree(data_home) - - -def _sha256(path): - """Calculate the sha256 hash of the file at path.""" - sha256hash = hashlib.sha256() - chunk_size = 8192 - with open(path, "rb") as buff: - while True: - buffer = buff.read(chunk_size) - if not buffer: - break - sha256hash.update(buffer) - return sha256hash.hexdigest() - - -def load_arviz_data(dataset=None, data_home=None, **kwargs): - """Load a local or remote pre-made dataset. - - Run with no parameters to get a list of all available models. - - The directory to save to can also be set with the environment - variable `ARVIZ_HOME`. The checksum of the dataset is checked against a - hardcoded value to watch for data corruption. - - Run `az.clear_data_home` to clear the data directory. - - Parameters - ---------- - dataset : str - Name of dataset to load. - data_home : str, optional - Where to save remote datasets - **kwargs : dict, optional - Keyword arguments passed to :func:`arviz.from_netcdf`. - - Returns - ------- - xarray.Dataset - - """ - if dataset in LOCAL_DATASETS: - resource = LOCAL_DATASETS[dataset] - return from_netcdf(resource.filename, **kwargs) - - elif dataset in REMOTE_DATASETS: - remote = REMOTE_DATASETS[dataset] - home_dir = get_data_home(data_home=data_home) - file_path = os.path.join(home_dir, remote.filename) - - if not os.path.exists(file_path): - http_type = rcParams["data.http_protocol"] - - # Replaces http type. Redundant if http_type is http, useful if http_type is https - url = remote.url.replace("http", http_type) - urlretrieve(url, file_path) - - checksum = _sha256(file_path) - if remote.checksum != checksum: - raise IOError( - f"{file_path} has an SHA256 checksum ({checksum}) differing from expected " - "({remote.checksum}), file may be corrupted. " - "Run `arviz.clear_data_home()` and try again, or please open an issue." - ) - return from_netcdf(file_path, **kwargs) - else: - if dataset is None: - return dict(itertools.chain(LOCAL_DATASETS.items(), REMOTE_DATASETS.items())) - else: - raise ValueError( - "Dataset {} not found! The following are available:\n{}".format( - dataset, list_datasets() - ) - ) - - -def list_datasets(): - """Get a string representation of all available datasets with descriptions.""" - lines = [] - for name, resource in itertools.chain(LOCAL_DATASETS.items(), REMOTE_DATASETS.items()): - if isinstance(resource, LocalFileMetadata): - location = f"local: {resource.filename}" - elif isinstance(resource, RemoteFileMetadata): - location = f"remote: {resource.url}" - else: - location = "unknown" - lines.append(f"{name}\n{'=' * len(name)}\n{resource.description}\n\n{location}") - - return f"\n\n{10 * '-'}\n\n".join(lines) diff --git a/arviz/data/example_data/.gitignore b/arviz/data/example_data/.gitignore deleted file mode 100644 index aae4008f7f..0000000000 --- a/arviz/data/example_data/.gitignore +++ /dev/null @@ -1,130 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -pip-wheel-metadata/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints -.virtual_documents - -# IPython -profile_default/ -ipython_config.py - -# pyenv -.python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ diff --git a/arviz/data/example_data/LICENSE b/arviz/data/example_data/LICENSE deleted file mode 100644 index 261eeb9e9f..0000000000 --- a/arviz/data/example_data/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/arviz/data/example_data/README.md b/arviz/data/example_data/README.md deleted file mode 100644 index f2962333d1..0000000000 --- a/arviz/data/example_data/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# ArviZ `InferenceData` examples - -This repository contains metadata of ArviZ InferenceData examples and the code used to generate some of the examples. -Example models stored remotely are listed in `data_remote.json`. -Example models stored locally are listed in `data_local.json`, and the data themselves are stored in `data/`. -Inclusion of the code serves both as extra information on the models in the JSON files and to ease updating these examples whenever necessary. - -When applicable, code for a model should be added as an executable file (e.g. `.py` or `.ipynb`) to a directory in `code/` of the same name as the model. diff --git a/arviz/data/example_data/code/centered_eight/centered_eight.ipynb b/arviz/data/example_data/code/centered_eight/centered_eight.ipynb deleted file mode 100644 index a6308fd10d..0000000000 --- a/arviz/data/example_data/code/centered_eight/centered_eight.ipynb +++ /dev/null @@ -1,3948 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# centered_eight example" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import pathlib\n", - "import arviz as az\n", - "import pymc as pm\n", - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "draws = 500\n", - "chains = 4\n", - "\n", - "J = 8\n", - "scores = np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0])\n", - "sigma = np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0])\n", - "schools = np.array(\n", - " [\n", - " \"Choate\",\n", - " \"Deerfield\",\n", - " \"Phillips Andover\",\n", - " \"Phillips Exeter\",\n", - " \"Hotchkiss\",\n", - " \"Lawrenceville\",\n", - " \"St. Paul's\",\n", - " \"Mt. Hermon\",\n", - " ]\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling: [mu, obs, tau, theta]\n", - "Auto-assigning NUTS sampler...\n", - "Initializing NUTS using jitter+adapt_diag...\n", - "Multiprocess sampling (4 chains in 4 jobs)\n", - "NUTS: [mu, tau, theta]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [6000/6000 00:07<00:00 Sampling 4 chains, 48 divergences]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling 4 chains for 1_000 tune and 500 draw iterations (4_000 + 2_000 draws total) took 7 seconds.\n", - "There were 9 divergences after tuning. Increase `target_accept` or reparameterize.\n", - "There were 15 divergences after tuning. Increase `target_accept` or reparameterize.\n", - "There were 8 divergences after tuning. Increase `target_accept` or reparameterize.\n", - "There were 16 divergences after tuning. Increase `target_accept` or reparameterize.\n", - "The acceptance probability does not match the target. It is 0.5675, but should be close to 0.8. Try to increase the number of tuning steps.\n", - "Sampling: [obs]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [2000/2000 00:00<00:00]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
arviz.InferenceData
\n", - "
\n", - "
    \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 0 1 2 3\n",
      -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    mu       (chain, draw) float64 7.872 3.385 9.1 7.304 ... 1.767 3.486 3.404\n",
      -       "    theta    (chain, draw, school) float64 12.32 9.905 14.95 ... 6.762 1.295\n",
      -       "    tau      (chain, draw) float64 4.726 3.909 4.844 1.857 ... 2.741 2.932 4.461\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:37.315398\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2\n",
      -       "    sampling_time:              7.480114936828613\n",
      -       "    tuning_steps:               1000

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 0 1 2 3\n",
      -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    obs      (chain, draw, school) float64 15.9 -1.73 27.99 ... 7.052 6.946\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:41.460544\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 0 1 2 3\n",
      -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    obs      (chain, draw, school) float64 -4.173 -3.24 -4.321 ... -3.853 -3.986\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:37.487399\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:              (chain: 4, draw: 500)\n",
      -       "Coordinates:\n",
      -       "  * chain                (chain) int64 0 1 2 3\n",
      -       "  * draw                 (draw) int64 0 1 2 3 4 5 6 ... 494 495 496 497 498 499\n",
      -       "Data variables: (12/16)\n",
      -       "    max_energy_error     (chain, draw) float64 -0.645 0.1782 ... 0.7405 -0.5795\n",
      -       "    energy_error         (chain, draw) float64 0.001383 0.1622 ... 0.07346\n",
      -       "    lp                   (chain, draw) float64 -60.33 -57.8 ... -53.5 -55.58\n",
      -       "    index_in_trajectory  (chain, draw) int64 -17 -12 -6 4 6 3 ... -6 5 -5 4 3 6\n",
      -       "    acceptance_rate      (chain, draw) float64 0.9942 0.9635 ... 0.7359 0.8777\n",
      -       "    diverging            (chain, draw) bool False False False ... False False\n",
      -       "    ...                   ...\n",
      -       "    smallest_eigval      (chain, draw) float64 nan nan nan nan ... nan nan nan\n",
      -       "    step_size_bar        (chain, draw) float64 0.2573 0.2573 ... 0.2685 0.2685\n",
      -       "    step_size            (chain, draw) float64 0.4435 0.4435 ... 0.2938 0.2938\n",
      -       "    energy               (chain, draw) float64 69.12 63.2 63.15 ... 61.2 60.12\n",
      -       "    tree_depth           (chain, draw) int64 5 4 5 3 4 4 4 4 ... 4 4 4 4 3 3 3 3\n",
      -       "    perf_counter_diff    (chain, draw) float64 0.005272 0.002766 ... 0.001373\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:37.324929\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2\n",
      -       "    sampling_time:              7.480114936828613\n",
      -       "    tuning_steps:               1000

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 0\n",
      -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    tau      (chain, draw) float64 1.941 3.388 4.208 ... 0.8353 0.06893 2.145\n",
      -       "    theta    (chain, draw, school) float64 4.866 4.59 -0.7404 ... -2.031 6.045\n",
      -       "    mu       (chain, draw) float64 3.903 3.915 -1.751 ... -2.294 0.7908 2.869\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:26.602116\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 0\n",
      -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    obs      (chain, draw, school) float64 12.39 -10.1 -12.09 ... 3.084 6.079\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:26.604969\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (school: 8)\n",
      -       "Coordinates:\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    obs      (school) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:26.606375\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (school: 8)\n",
      -       "Coordinates:\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    scores   (school) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:26.607471\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "with pm.Model(coords={\n", - " \"school\": schools,\n", - "}) as centered_eight:\n", - " mu = pm.Normal(\"mu\", mu=0, sigma=5)\n", - " tau = pm.HalfCauchy(\"tau\", beta=5)\n", - " theta = pm.Normal(\"theta\", mu=mu, sigma=tau, shape=J, dims=\"school\")\n", - " y_obs = pm.ConstantData(\"scores\", scores, dims=\"school\")\n", - " obs = pm.Normal(\"obs\", mu=theta, sigma=sigma, observed=y_obs, dims=\"school\")\n", - "\n", - " idata = pm.sample_prior_predictive()\n", - " idata.extend(pm.sample(draws, chains=chains))\n", - " idata.extend(pm.sample_posterior_predictive(idata))\n", - "idata" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "PosixPath('../../data/centered_eight.nc')" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Storing the model to .nc format\n", - "idata.to_netcdf(pathlib.Path(\"..\", \"..\", \"data\", \"centered_eight.nc\"))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10" - }, - "vscode": { - "interpreter": { - "hash": "a3357ae232635c60236cc6fd817e8b6b9d1594a7c105bd2f3bd11f1b30a66c24" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/arviz/data/example_data/code/non_centered_eight/non_centered_eight.ipynb b/arviz/data/example_data/code/non_centered_eight/non_centered_eight.ipynb deleted file mode 100644 index a9ab377743..0000000000 --- a/arviz/data/example_data/code/non_centered_eight/non_centered_eight.ipynb +++ /dev/null @@ -1,3994 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# non_centered_eight example" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import pathlib\n", - "import arviz as az\n", - "import pymc as pm\n", - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "draws = 500\n", - "chains = 4\n", - "\n", - "J = 8\n", - "scores = np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0])\n", - "sigma = np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0])\n", - "schools = np.array(\n", - " [\n", - " \"Choate\",\n", - " \"Deerfield\",\n", - " \"Phillips Andover\",\n", - " \"Phillips Exeter\",\n", - " \"Hotchkiss\",\n", - " \"Lawrenceville\",\n", - " \"St. Paul's\",\n", - " \"Mt. Hermon\",\n", - " ]\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling: [mu, obs, tau, theta_t]\n", - "Auto-assigning NUTS sampler...\n", - "Initializing NUTS using jitter+adapt_diag...\n", - "Multiprocess sampling (4 chains in 4 jobs)\n", - "NUTS: [mu, tau, theta_t]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [6000/6000 00:04<00:00 Sampling 4 chains, 0 divergences]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling 4 chains for 1_000 tune and 500 draw iterations (4_000 + 2_000 draws total) took 5 seconds.\n", - "Sampling: [obs]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [2000/2000 00:00<00:00]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
arviz.InferenceData
\n", - "
\n", - "
    \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 0 1 2 3\n",
      -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    mu       (chain, draw) float64 6.339 6.783 5.168 1.51 ... 3.593 1.325 4.081\n",
      -       "    theta_t  (chain, draw, school) float64 -0.9553 -1.162 ... 0.5131 1.119\n",
      -       "    tau      (chain, draw) float64 2.574 0.9522 1.832 1.93 ... 3.436 2.333 1.316\n",
      -       "    theta    (chain, draw, school) float64 3.88 3.348 6.233 ... 4.756 5.553\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:26.351883\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2\n",
      -       "    sampling_time:              4.738754749298096\n",
      -       "    tuning_steps:               1000

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:    (chain: 4, draw: 500, obs_dim_0: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain      (chain) int64 0 1 2 3\n",
      -       "  * draw       (draw) int64 0 1 2 3 4 5 6 7 ... 492 493 494 495 496 497 498 499\n",
      -       "  * obs_dim_0  (obs_dim_0) int64 0 1 2 3 4 5 6 7\n",
      -       "Data variables:\n",
      -       "    obs        (chain, draw, obs_dim_0) float64 -11.91 -2.515 ... 10.55 24.95\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:34.333731\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:    (chain: 4, draw: 500, obs_dim_0: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain      (chain) int64 0 1 2 3\n",
      -       "  * draw       (draw) int64 0 1 2 3 4 5 6 7 ... 492 493 494 495 496 497 498 499\n",
      -       "  * obs_dim_0  (obs_dim_0) int64 0 1 2 3 4 5 6 7\n",
      -       "Data variables:\n",
      -       "    obs        (chain, draw, obs_dim_0) float64 -4.92 -3.33 ... -4.099 -3.873\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:26.571887\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:              (chain: 4, draw: 500)\n",
      -       "Coordinates:\n",
      -       "  * chain                (chain) int64 0 1 2 3\n",
      -       "  * draw                 (draw) int64 0 1 2 3 4 5 6 ... 494 495 496 497 498 499\n",
      -       "Data variables: (12/16)\n",
      -       "    lp                   (chain, draw) float64 -47.23 -47.66 ... -45.31 -44.3\n",
      -       "    largest_eigval       (chain, draw) float64 nan nan nan nan ... nan nan nan\n",
      -       "    perf_counter_start   (chain, draw) float64 6.638e+03 6.638e+03 ... 6.64e+03\n",
      -       "    perf_counter_diff    (chain, draw) float64 0.002218 0.002257 ... 0.001373\n",
      -       "    step_size            (chain, draw) float64 0.4865 0.4865 ... 0.5299 0.5299\n",
      -       "    diverging            (chain, draw) bool False False False ... False False\n",
      -       "    ...                   ...\n",
      -       "    max_energy_error     (chain, draw) float64 0.1991 0.1653 ... 0.1055 -0.04423\n",
      -       "    n_steps              (chain, draw) float64 7.0 7.0 7.0 7.0 ... 7.0 7.0 7.0\n",
      -       "    step_size_bar        (chain, draw) float64 0.3976 0.3976 ... 0.4382 0.4382\n",
      -       "    energy_error         (chain, draw) float64 0.1991 0.02881 ... -0.02114\n",
      -       "    smallest_eigval      (chain, draw) float64 nan nan nan nan ... nan nan nan\n",
      -       "    index_in_trajectory  (chain, draw) int64 -7 6 4 -2 -2 4 ... 8 -3 -6 -6 3 4\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:26.362154\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2\n",
      -       "    sampling_time:              4.738754749298096\n",
      -       "    tuning_steps:               1000

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 0\n",
      -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    mu       (chain, draw) float64 -1.297 4.331 -4.348 ... 4.195 6.55 7.456\n",
      -       "    theta_t  (chain, draw, school) float64 0.9176 -0.281 1.071 ... 0.1039 0.8562\n",
      -       "    theta    (chain, draw, school) float64 40.47 -14.09 47.45 ... 7.63 8.887\n",
      -       "    tau      (chain, draw) float64 45.52 1.976 11.63 8.993 ... 17.76 104.8 1.671\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:18.108887\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:    (chain: 1, draw: 500, obs_dim_0: 8)\n",
      -       "Coordinates:\n",
      -       "  * chain      (chain) int64 0\n",
      -       "  * draw       (draw) int64 0 1 2 3 4 5 6 7 ... 492 493 494 495 496 497 498 499\n",
      -       "  * obs_dim_0  (obs_dim_0) int64 0 1 2 3 4 5 6 7\n",
      -       "Data variables:\n",
      -       "    obs        (chain, draw, obs_dim_0) float64 22.87 -13.84 ... -7.658 14.32\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:18.111951\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:    (obs_dim_0: 8)\n",
      -       "Coordinates:\n",
      -       "  * obs_dim_0  (obs_dim_0) int64 0 1 2 3 4 5 6 7\n",
      -       "Data variables:\n",
      -       "    obs        (obs_dim_0) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:18.113060\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (school: 8)\n",
      -       "Coordinates:\n",
      -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
      -       "Data variables:\n",
      -       "    scores   (school) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
      -       "Attributes:\n",
      -       "    created_at:                 2022-10-13T14:37:18.114126\n",
      -       "    arviz_version:              0.13.0.dev0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  4.2.2

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "with pm.Model(coords={\n", - " \"school\": schools,\n", - "}) as non_centered_eight:\n", - " mu = pm.Normal(\"mu\", mu=0, sigma=5)\n", - " tau = pm.HalfCauchy(\"tau\", beta=5)\n", - " theta_tilde = pm.Normal(\"theta_t\", mu=0, sigma=1, dims=\"school\")\n", - " theta = pm.Deterministic(\"theta\", mu + tau * theta_tilde, dims=\"school\")\n", - " y_obs = pm.ConstantData(\"scores\", scores, dims=\"school\")\n", - " obs = pm.Normal(\"obs\", mu=theta, sigma=sigma, observed=y_obs)\n", - "\n", - " idata = pm.sample_prior_predictive()\n", - " idata.extend(pm.sample(draws, chains=chains, target_accept=0.86))\n", - " idata.extend(pm.sample_posterior_predictive(idata))\n", - "idata" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "PosixPath('../../data/non_centered_eight.nc')" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Storing the model to .nc format\n", - "idata.to_netcdf(pathlib.Path(\"..\", \"..\", \"data\", \"non_centered_eight.nc\"))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10" - }, - "vscode": { - "interpreter": { - "hash": "a3357ae232635c60236cc6fd817e8b6b9d1594a7c105bd2f3bd11f1b30a66c24" - } - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/arviz/data/example_data/code/radon/radon.json b/arviz/data/example_data/code/radon/radon.json deleted file mode 100644 index f14db1acea..0000000000 --- a/arviz/data/example_data/code/radon/radon.json +++ /dev/null @@ -1,326 +0,0 @@ -{ - "N" : 919, - "J" : 85, - "y" : [0.78845736036427,0.78845736036427,1.06471073699243,0.0,1.1314021114911, - 0.916290731874155,0.405465108108164,0.0,-0.356674943938732,0.182321556793955, - 0.182321556793955,0.262364264467491,0.336472236621213,-0.916290731874155, - 0.0953101798043249,1.50407739677627,0.262364264467491,0.741937344729377, - 1.77495235091167,1.19392246847243,0.587786664902119,1.68639895357023, - 1.84054963339749,0.641853886172395,1.88706964903238,1.1314021114911, - 1.91692261218206,1.94591014905531,2.04122032885964,1.64865862558738, - 1.50407739677627,1.48160454092422,1.02961941718116,2.09186406167839, - 0.470003629245736,1.43508452528932,1.68639895357023,1.38629436111989, - 0.832909122935104,1.06471073699243,0.336472236621213,1.19392246847243, - 1.06471073699243,0.587786664902119,-1.6094379124341,0.8754687373539, - 0.0953101798043249,0.78845736036427,-0.510825623765991,0.53062825106217, - 1.06471073699243,0.78845736036427,0.53062825106217,0.336472236621213, - 0.641853886172395,0.587786664902119,0.182321556793955,1.45861502269952, - 1.50407739677627,1.84054963339749,1.52605630349505,1.7404661748405, - 0.78845736036427,-0.916290731874155,1.52605630349505,1.48160454092422, - 1.88706964903238,0.993251773010283,1.06471073699243,1.06471073699243, - 1.97408102602201,1.6094379124341,0.955511445027436,1.6094379124341, - 2.56494935746154,1.97408102602201,1.91692261218206,2.54944517092557, - 1.75785791755237,2.2512917986065,1.79175946922805,1.33500106673234, - 2.66025953726586,0.587786664902119,1.93152141160321,1.54756250871601, - 2.2512917986065,0.916290731874155,1.90210752639692,1.38629436111989, - 2.31253542384721,0.78845736036427,0.587786664902119,1.22377543162212, - 1.7227665977411,1.45861502269952,1.3609765531356,0.262364264467491, - 1.43508452528932,-0.22314355131421,0.693147180559945,0.470003629245736, - 2.55722731136763,2.68784749378469,1.54756250871601,2.26176309847379, - -2.30258509299405,1.30833281965018,2.00148000021012,0.641853886172395, - 1.66770682055808,1.38629436111989,2.04122032885964,0.336472236621213, - 2.30258509299405,2.24070968927596,-0.22314355131421,1.48160454092422, - 1.6094379124341,0.741937344729377,0.53062825106217,2.09186406167839, - -0.105360515657826,2.55722731136763,0.955511445027436,1.25276296849537, - 3.28091121578765,0.405465108108164,2.56494935746154,2.17475172148416, - 2.9704144655697,0.916290731874155,2.19722457733622,2.57261223020711, - 1.28093384546206,1.93152141160321,1.56861591791385,1.22377543162212, - -0.105360515657826,1.22377543162212,0.993251773010283,0.336472236621213, - 1.91692261218206,2.40694510831829,-2.30258509299405,0.916290731874155, - 0.587786664902119,0.470003629245736,0.0,-0.105360515657826,1.06471073699243, - 1.48160454092422,0.405465108108164,1.41098697371026,0.916290731874155, - 1.90210752639692,1.45861502269952,1.70474809223843,1.28093384546206, - 1.02961941718116,2.68102152871429,1.90210752639692,2.07944154167984, - 0.955511445027436,1.02961941718116,1.48160454092422,0.53062825106217, - 0.693147180559945,0.693147180559945,0.405465108108164,2.26176309847379, - 2.09186406167839,1.25276296849537,-0.22314355131421,1.62924053973028, - 1.16315080980568,2.37954613413017,2.10413415427021,1.84054963339749, - 1.56861591791385,1.79175946922805,0.0953101798043249,2.16332302566054, - 2.17475172148416,1.91692261218206,0.832909122935104,0.470003629245736, - 1.02961941718116,1.87180217690159,0.53062825106217,1.52605630349505, - 1.19392246847243,1.48160454092422,3.05400118167797,2.2082744135228, - -0.105360515657826,1.58923520511658,1.6094379124341,0.0953101798043249, - 2.02814824729229,1.68639895357023,1.28093384546206,1.58923520511658, - 1.54756250871601,0.336472236621213,1.22377543162212,1.43508452528932, - 0.916290731874155,0.336472236621213,0.336472236621213,0.641853886172395, - 1.56861591791385,0.336472236621213,1.33500106673234,2.17475172148416, - 1.45861502269952,1.48160454092422,1.50407739677627,0.78845736036427, - -0.693147180559945,1.75785791755237,1.68639895357023,1.97408102602201, - 1.7404661748405,2.00148000021012,1.56861591791385,1.91692261218206, - 1.85629799036563,1.30833281965018,1.70474809223843,2.05412373369555, - 1.48160454092422,0.993251773010283,1.22377543162212,1.43508452528932, - 0.832909122935104,0.262364264467491,1.64865862558738,-2.30258509299405, - 0.916290731874155,1.16315080980568,1.16315080980568,2.26176309847379, - 1.43508452528932,2.19722457733622,1.84054963339749,3.48431228837266, - 2.58021682959233,0.78845736036427,1.7227665977411,2.66025953726586, - 1.93152141160321,2.02814824729229,2.28238238567653,0.955511445027436, - 3.77276093809464,1.58923520511658,1.58923520511658,1.25276296849537, - 1.56861591791385,1.7227665977411,1.25276296849537,1.3609765531356, - 1.90210752639692,2.06686275947298,1.19392246847243,0.741937344729377, - 0.470003629245736,1.38629436111989,0.587786664902119,0.916290731874155, - 2.41591377830105,0.955511445027436,1.3609765531356,2.00148000021012, - 0.262364264467491,-0.105360515657826,-0.916290731874155,0.916290731874155, - 1.79175946922805,0.693147180559945,1.68639895357023,1.09861228866811, - 1.06471073699243,1.70474809223843,1.41098697371026,1.3609765531356, - 2.70136121295141,1.97408102602201,0.832909122935104,1.02961941718116, - 1.48160454092422,0.405465108108164,2.15176220325946,1.7227665977411, - 2.15176220325946,1.33500106673234,0.587786664902119,0.641853886172395, - 1.70474809223843,0.916290731874155,-0.22314355131421,0.741937344729377, - 1.02961941718116,1.3609765531356,1.45861502269952,1.54756250871601, - 1.02961941718116,1.41098697371026,0.470003629245736,1.45861502269952, - -0.356674943938732,1.70474809223843,1.19392246847243,1.70474809223843, - 0.916290731874155,0.993251773010283,2.12823170584927,1.19392246847243, - 1.16315080980568,2.15176220325946,0.53062825106217,1.7404661748405, - 2.56494935746154,0.993251773010283,1.54756250871601,1.7227665977411, - 2.62466859216316,2.02814824729229,1.7404661748405,1.52605630349505, - 2.02814824729229,0.955511445027436,1.50407739677627,1.77495235091167, - 0.78845736036427,0.8754687373539,1.38629436111989,1.52605630349505, - 1.52605630349505,2.3887627892351,2.02814824729229,1.09861228866811, - 0.405465108108164,0.470003629245736,2.80336038090653,1.1314021114911, - 1.62924053973028,1.58923520511658,1.79175946922805,-0.105360515657826, - 0.587786664902119,1.3609765531356,1.7227665977411,-0.916290731874155, - 0.955511445027436,1.28093384546206,1.82454929205105,3.16124671203156, - 1.3609765531356,1.06471073699243,1.09861228866811,1.54756250871601, - 1.09861228866811,1.43508452528932,1.33500106673234,1.09861228866811, - 1.45861502269952,1.06471073699243,1.22377543162212,2.14006616349627, - 2.19722457733622,1.56861591791385,1.28093384546206,0.78845736036427, - 1.02961941718116,-0.22314355131421,0.405465108108164,1.52605630349505, - 1.30833281965018,1.28093384546206,1.09861228866811,0.78845736036427, - 0.641853886172395,0.955511445027436,0.587786664902119,0.8754687373539, - 1.45861502269952,0.955511445027436,0.0953101798043249,1.19392246847243, - 0.916290731874155,2.24070968927596,0.262364264467491,2.12823170584927, - 1.6094379124341,1.06471073699243,2.57261223020711,2.72785282839839, - 0.587786664902119,1.33500106673234,2.06686275947298,0.955511445027436, - 2.42480272571829,1.41098697371026,2.50959926237837,1.90210752639692, - 1.93152141160321,1.50407739677627,-0.105360515657826,0.53062825106217, - 0.336472236621213,0.693147180559945,0.0,0.0,1.02961941718116,0.262364264467491, - 2.42480272571829,2.77258872223978,0.262364264467491,0.262364264467491, - 0.470003629245736,-0.105360515657826,1.02961941718116,-0.693147180559945, - 0.405465108108164,1.96009478404727,-0.693147180559945,2.31253542384721, - 1.45861502269952,1.19392246847243,1.06471073699243,2.52572864430826, - 1.43508452528932,1.50407739677627,1.3609765531356,1.19392246847243, - 2.86220088092947,2.36085400111802,2.06686275947298,1.25276296849537, - 1.87180217690159,1.93152141160321,1.62924053973028,2.484906649788, - 1.62924053973028,2.18605127673809,1.75785791755237,1.52605630349505, - 1.3609765531356,0.405465108108164,3.16968558067743,-0.105360515657826, - 0.336472236621213,0.0953101798043249,1.02961941718116,3.87535902105655, - -0.105360515657826,2.11625551480255,1.41098697371026,-0.693147180559945, - 1.90210752639692,2.01490302054226,2.21920348405499,-0.693147180559945, - 0.405465108108164,2.33214389523559,1.3609765531356,0.587786664902119, - 2.29253475714054,0.832909122935104,1.48160454092422,1.02961941718116, - 0.0953101798043249,0.182321556793955,0.470003629245736,3.23474917402449, - -2.30258509299405,2.36085400111802,0.832909122935104,1.3609765531356, - 1.97408102602201,0.741937344729377,1.16315080980568,-0.693147180559945, - 1.7404661748405,0.336472236621213,0.741937344729377,1.48160454092422, - 0.8754687373539,1.58923520511658,1.09861228866811,1.09861228866811, - 1.02961941718116,1.3609765531356,2.3887627892351,1.85629799036563, - 0.693147180559945,1.09861228866811,1.50407739677627,0.741937344729377, - 2.07944154167984,0.262364264467491,2.21920348405499,0.0953101798043249, - 2.36085400111802,3.17805383034795,2.2082744135228,2.4932054526027, - 2.09186406167839,2.37954613413017,1.43508452528932,2.75366071235426, - 1.68639895357023,1.82454929205105,2.27212588550934,2.09186406167839, - 0.470003629245736,0.470003629245736,1.85629799036563,1.48160454092422, - 2.41591377830105,2.30258509299405,1.50407739677627,2.07944154167984, - 0.832909122935104,1.16315080980568,1.6094379124341,1.41098697371026, - 0.0953101798043249,0.693147180559945,0.0953101798043249,1.06471073699243, - 0.741937344729377,2.05412373369555,1.33500106673234,0.916290731874155, - 1.06471073699243,0.53062825106217,0.916290731874155,2.24070968927596, - -0.510825623765991,0.993251773010283,0.0953101798043249,0.741937344729377, - 2.484906649788,2.53369681395743,1.16315080980568,1.43508452528932, - 1.33500106673234,1.30833281965018,1.75785791755237,-1.20397280432594, - 1.41098697371026,1.02961941718116,0.641853886172395,0.182321556793955, - 0.182321556793955,0.405465108108164,2.24070968927596,0.53062825106217, - 2.4932054526027,1.45861502269952,1.93152141160321,0.336472236621213, - 0.916290731874155,2.26176309847379,1.33500106673234,1.22377543162212, - 1.91692261218206,1.28093384546206,0.78845736036427,0.955511445027436, - 0.741937344729377,1.94591014905531,0.182321556793955,1.33500106673234, - 1.25276296849537,1.43508452528932,0.470003629245736,1.02961941718116, - 2.15176220325946,1.82454929205105,1.64865862558738,0.993251773010283, - 0.182321556793955,1.25276296849537,1.70474809223843,2.31253542384721, - 1.70474809223843,0.182321556793955,1.58923520511658,1.38629436111989, - 1.25276296849537,0.916290731874155,0.182321556793955,0.993251773010283, - 0.53062825106217,1.1314021114911,-0.356674943938732,0.0,0.641853886172395, - 1.33500106673234,2.18605127673809,2.00148000021012,3.03013370027132, - 1.79175946922805,0.741937344729377,1.75785791755237,2.27212588550934, - 1.85629799036563,1.52605630349505,1.7227665977411,2.94443897916644, - 0.8754687373539,1.09861228866811,1.62924053973028,2.04122032885964, - 2.09186406167839,1.54756250871601,2.12823170584927,0.470003629245736, - 1.79175946922805,0.0953101798043249,2.43361335540045,1.45861502269952, - 1.28093384546206,2.33214389523559,1.22377543162212,1.1314021114911, - 1.28093384546206,0.993251773010283,1.38629436111989,0.182321556793955, - 0.53062825106217,1.43508452528932,2.96010509591084,2.2082744135228, - 0.693147180559945,2.43361335540045,2.32238772029023,0.741937344729377, - 0.182321556793955,1.16315080980568,0.693147180559945,1.45861502269952, - 0.78845736036427,1.68639895357023,3.22684399451738,1.62924053973028, - 0.832909122935104,1.16315080980568,0.916290731874155,1.02961941718116, - 1.1314021114911,0.470003629245736,1.54756250871601,1.38629436111989, - 1.6094379124341,0.405465108108164,1.56861591791385,-0.22314355131421, - -0.693147180559945,0.8754687373539,0.832909122935104,1.52605630349505, - 2.39789527279837,2.70136121295141,2.15176220325946,1.50407739677627, - 0.405465108108164,1.3609765531356,0.587786664902119,0.470003629245736, - -0.693147180559945,-0.916290731874155,-0.693147180559945,2.16332302566054, - 0.470003629245736,0.336472236621213,2.16332302566054,2.40694510831829, - 0.405465108108164,0.0953101798043249,-0.105360515657826,-0.356674943938732, - 1.43508452528932,1.22377543162212,0.741937344729377,1.06471073699243, - 0.587786664902119,0.587786664902119,0.8754687373539,0.53062825106217, - -0.22314355131421,2.45958884180371,0.587786664902119,1.02961941718116, - 1.25276296849537,1.28093384546206,1.25276296849537,1.09861228866811, - 1.16315080980568,1.1314021114911,1.19392246847243,0.53062825106217, - 1.7227665977411,1.22377543162212,0.405465108108164,3.47196645255036, - 0.0953101798043249,0.741937344729377,-0.22314355131421,0.405465108108164, - 0.262364264467491,1.1314021114911,1.97408102602201,0.336472236621213, - 0.262364264467491,0.405465108108164,1.6094379124341,0.832909122935104, - 0.8754687373539,0.182321556793955,1.68639895357023,0.0953101798043249, - 0.336472236621213,1.97408102602201,0.0953101798043249,1.19392246847243, - 1.16315080980568,0.405465108108164,1.28093384546206,-0.22314355131421, - 0.470003629245736,0.336472236621213,0.993251773010283,1.19392246847243, - -0.105360515657826,-0.510825623765991,0.693147180559945,0.641853886172395, - -0.105360515657826,1.68639895357023,0.405465108108164,1.1314021114911, - 0.587786664902119,-0.105360515657826,1.19392246847243,0.53062825106217, - 1.1314021114911,-0.356674943938732,1.45861502269952,0.336472236621213, - 0.587786664902119,0.405465108108164,0.78845736036427,0.8754687373539, - 0.993251773010283,0.53062825106217,0.0953101798043249,0.587786664902119, - -1.6094379124341,0.78845736036427,1.52605630349505,0.741937344729377, - 0.693147180559945,-0.356674943938732,1.85629799036563,1.09861228866811, - 0.693147180559945,-0.105360515657826,1.19392246847243,0.587786664902119, - 0.587786664902119,0.78845736036427,1.45861502269952,2.01490302054226, - 1.85629799036563,2.11625551480255,0.741937344729377,1.19392246847243, - 0.262364264467491,1.6094379124341,0.0,1.94591014905531,1.7404661748405, - 2.31253542384721,1.88706964903238,0.955511445027436,1.19392246847243, - 0.405465108108164,1.6094379124341,2.00148000021012,2.67414864942653, - 0.587786664902119,2.00148000021012,0.955511445027436,1.30833281965018, - 0.641853886172395,0.78845736036427,1.6094379124341,1.98787434815435, - 1.30833281965018,1.06471073699243,1.48160454092422,2.12823170584927, - 1.62924053973028,1.28093384546206,0.405465108108164,2.15176220325946, - 2.36085400111802,2.07944154167984,1.50407739677627,1.09861228866811, - 0.8754687373539,0.405465108108164,1.56861591791385,1.91692261218206, - 0.741937344729377,1.79175946922805,1.06471073699243,1.90210752639692, - 2.96010509591084,1.38629436111989,1.77495235091167,2.19722457733622, - 2.12823170584927,0.0953101798043249,1.1314021114911,2.4423470353692, - 2.26176309847379,1.06471073699243,-0.356674943938732,1.16315080980568, - 1.54756250871601,1.56861591791385,-0.916290731874155,2.23001440015921, - 0.53062825106217,-0.105360515657826,2.32238772029023,2.04122032885964, - 0.78845736036427,1.87180217690159,2.50143595173921,1.52605630349505, - 1.82454929205105,1.87180217690159,1.02961941718116,0.641853886172395, - 0.182321556793955,0.8754687373539,0.0,0.182321556793955,0.470003629245736, - -0.22314355131421,0.53062825106217,1.54756250871601,0.53062825106217, - 1.19392246847243,-0.22314355131421,2.28238238567653,1.66770682055808, - 2.14006616349627,0.641853886172395,1.88706964903238,1.33500106673234, - 1.77495235091167,1.58923520511658,0.916290731874155,2.37024374146786, - 0.8754687373539,0.741937344729377,1.54756250871601,1.30833281965018, - 2.59525470695687,1.06471073699243,1.45861502269952,1.33500106673234, - 0.587786664902119,0.405465108108164,0.587786664902119,0.262364264467491, - 1.88706964903238,3.01553490085017,1.79175946922805,2.62466859216316, - 2.32238772029023,1.7404661748405,2.23001440015921,1.22377543162212, - 1.41098697371026,2.45100509811232,1.97408102602201,1.54756250871601, - 0.587786664902119,-0.356674943938732,1.54756250871601,2.32238772029023, - 2.42480272571829,2.02814824729229,2.46809953147162,-0.693147180559945, - 1.90210752639692,1.66770682055808,1.1314021114911,0.741937344729377, - 1.98787434815435,1.62924053973028,0.78845736036427,0.832909122935104, - 2.76631910922619,2.2512917986065,1.85629799036563,1.50407739677627, - 1.6094379124341,1.30833281965018,1.06471073699243], - "x" : [1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,1,1,1,0,0,1,0,0,0,0,0,0, - 0,0,0,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,1,0,1,0,0,0,0,1,1,1,0,0,1,0,0,0,0, - 0,1,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, - 0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, - 0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, - 0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,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,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,0,1,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,1,1,1,0,1,0,0,0,0,0,0, - 0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,1,1,0,0,1,0,0,1,0,0,0,0, - 0,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0, - 1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0, - 1,1,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0, - 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0, - 0,1,1,0,1,1,0,1,0,0,0,0,1,1,1,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1, - 0,0,0,1,0,0,1,0,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,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1, - 0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0, - 0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0], - "county" : [0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,3,3,3,3,3,3,3,4,4,4,4,5,5,5, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,10,10,10, - 10,10,11,11,11,11,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13, - 13,14,14,14,14,15,15,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,18,18, - 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, - 18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18, - 18,18,18,18,18,18,18,18,18,18,18,19,19,19,20,20,20,20,20,20,20,20,20,21,21, - 21,21,21,21,22,22,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24, - 24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25, - 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25, - 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25, - 25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25, - 25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,27,27,27,27,27,28,28,28,29,29, - 29,29,29,29,29,29,29,29,29,30,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33, - 34,34,34,34,34,34,34,35,35,36,36,36,36,36,36,36,36,36,37,37,37,37,38,38,38, - 38,38,39,39,39,39,40,40,40,40,40,40,40,40,41,42,42,42,42,42,42,42,42,42,43, - 43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,46, - 46,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,49,50, - 50,50,50,51,51,51,52,52,52,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53, - 53,53,53,53,53,53,53,54,54,54,54,54,54,54,54,55,55,55,56,56,56,56,56,56,57, - 57,57,57,58,58,58,58,59,59,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, - 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,62,62,62,63, - 63,63,63,63,63,63,63,63,63,63,64,64,65,65,65,65,65,65,65,65,65,65,65,65,65, - 65,66,66,66,66,66,66,66,66,66,66,66,66,66,67,67,67,67,67,67,67,67,68,68,68, - 68,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69, - 69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69, - 69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69, - 69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69, - 69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,70,70,70,70,70,70,70,70, - 70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,71,71,71,71,71,71,71,71, - 71,71,72,72,73,73,73,73,74,74,74,75,75,75,75,76,76,76,76,76,76,76,77,77,77, - 77,77,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79, - 79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79, - 79,79,80,80,80,81,82,82,82,82,82,82,82,82,82,82,82,82,82,83,83,83,83,83,83, - 83,83,83,83,83,83,83,84,84], - "county_name" : ["AITKIN","ANOKA","BECKER","BELTRAMI","BENTON","BIG STONE", - "BLUE EARTH","BROWN","CARLTON","CARVER","CASS","CHIPPEWA","CHISAGO","CLAY", - "CLEARWATER","COOK","COTTONWOOD","CROW WING","DAKOTA","DODGE","DOUGLAS", - "FARIBAULT","FILLMORE","FREEBORN","GOODHUE","HENNEPIN","HOUSTON","HUBBARD", - "ISANTI","ITASCA","JACKSON","KANABEC","KANDIYOHI","KITTSON","KOOCHICHING", - "LAC QUI PARLE","LAKE","LAKE OF THE WOODS","LE SUEUR","LINCOLN","LYON", - "MAHNOMEN","MARSHALL","MARTIN","MCLEOD","MEEKER","MILLE LACS","MORRISON", - "MOWER","MURRAY","NICOLLET","NOBLES","NORMAN","OLMSTED","OTTER TAIL", - "PENNINGTON","PINE","PIPESTONE","POLK","POPE","RAMSEY","REDWOOD","RENVILLE", - "RICE","ROCK","ROSEAU","SCOTT","SHERBURNE","SIBLEY","ST LOUIS","STEARNS", - "STEELE","STEVENS","SWIFT","TODD","TRAVERSE","WABASHA","WADENA","WASECA", - "WASHINGTON","WATONWAN","WILKIN","WINONA","WRIGHT","YELLOW MEDICINE"], - "u" : [-0.6890475953545,-0.847312860499705,-0.11345877376814,-0.593352525607471, - -0.142890481153028,0.387056708424809,0.271613664272716,0.277578704889093, - -0.332315487884133,0.0958645715553609,-0.608219806930943,0.273684562807927, - -0.735320087151157,0.343781175420031,-0.0598604138977053,-0.504995982525783, - 0.339560320720446,-0.633390700175141,-0.0241451624685385,0.263855459775217, - 0.155712316979839,0.295025046707039,0.414913662927776,0.224206985667406, - 0.196610646424232,-0.09652081232424,0.503529068533353,-0.400596976711304, - -0.751872232701787,-0.663347630601429,0.309020284839334,-0.0533860089036706, - 0.10973294265158,-0.00780336722984165,-0.881828920506582,0.311029878756367, - -0.691596383667291,-0.681708848419116,0.194447736591795,0.444903746232023, - 0.39473440617801,0.14960034272844,0.0137648285757133,0.16586183575527, - 0.140422593662249,0.0239508741557865,-0.210059521766286,-0.0932266518569275, - 0.260932470709068,0.398849942735755,0.248046873411091,0.405451774685941, - 0.265221716521598,0.24315007938984,-0.20473036924229,-0.0740276676859043, - -0.163292169547294,0.478604039464906,0.266111082523638,0.281148273600784, - -0.418053510614464,0.366322258590098,0.380577976600215,0.193146092877103, - 0.528024865192056,-0.212045364648176,0.0631156343140753,-0.683436482376788, - 0.23721212323308,-0.474673717150503,0.116395406677788,0.269805738660408, - 0.470778329088307,0.316028975591628,-0.0468400668458182,0.497594476916848, - 0.150082415651304,-0.672029731746026,0.212414197101124,-0.147484283042756, - 0.183237803578308,0.236036084296147,0.463211867357523,-0.0900242748478867, - 0.355286981163884] -} diff --git a/arviz/data/example_data/code/radon/radon.py b/arviz/data/example_data/code/radon/radon.py deleted file mode 100644 index 29704519a2..0000000000 --- a/arviz/data/example_data/code/radon/radon.py +++ /dev/null @@ -1,49 +0,0 @@ -import arviz as az -import pymc3 as pm -import numpy as np -import ujson as json - -with open("radon.json", "rb") as f: - radon_data = json.load(f) - -radon_data = { - key: np.array(value) if isinstance(value, list) else value - for key, value in radon_data.items() -} - -coords = { - "Level": ["Basement", "Floor"], - "obs_id": np.arange(radon_data["y"].size), - "County": radon_data["county_name"], - "g_coef": ["intercept", "slope"], -} - -with pm.Model(coords=coords): - floor_idx = pm.Data("floor_idx", radon_data["x"], dims="obs_id") - county_idx = pm.Data("county_idx", radon_data["county"], dims="obs_id") - uranium = pm.Data("uranium", radon_data["u"], dims="County") - - # Hyperpriors: - g = pm.Normal("g", mu=0.0, sigma=10.0, dims="g_coef") - sigma_a = pm.Exponential("sigma_a", 1.0) - - # Varying intercepts uranium model: - a = pm.Deterministic("a", g[0] + g[1] * uranium, dims="County") - za_county = pm.Normal("za_county", mu=0.0, sigma=1.0, dims="County") - a_county = pm.Deterministic("a_county", a + za_county * sigma_a, dims="County") - # Common slope: - b = pm.Normal("b", mu=0.0, sigma=1.0) - - # Expected value per county: - theta = a_county[county_idx] + b * floor_idx - # Model error: - sigma = pm.Exponential("sigma", 1.0) - - y = pm.Normal("y", theta, sigma=sigma, observed=radon_data["y"], dims="obs_id") - - prior = pm.sample_prior_predictive(500) - trace = pm.sample( - 1000, tune=500, target_accept=0.99, random_seed=117 - ) - post_pred = pm.sample_posterior_predictive(trace) - idata = az.from_pymc3(trace, prior=prior, posterior_predictive=post_pred) diff --git a/arviz/data/example_data/code/rugby/rugby.csv b/arviz/data/example_data/code/rugby/rugby.csv deleted file mode 100644 index 0d2470de48..0000000000 --- a/arviz/data/example_data/code/rugby/rugby.csv +++ /dev/null @@ -1,61 +0,0 @@ -home_team,away_team,home_score,away_score,i_home,i_away -Wales,Italy,23,15,0,4 -France,England,26,24,1,5 -Ireland,Scotland,28,6,2,3 -Ireland,Wales,26,3,2,0 -Scotland,England,0,20,3,5 -France,Italy,30,10,1,4 -Wales,France,27,6,0,1 -Italy,Scotland,20,21,4,3 -England,Ireland,13,10,5,2 -Ireland,Italy,46,7,2,4 -Scotland,France,17,19,3,1 -England,Wales,29,18,5,0 -Italy,England,11,52,4,5 -Wales,Scotland,51,3,0,3 -France,Ireland,20,22,1,2 -Wales,England,16,21,0,5 -Italy,Ireland,3,26,4,2 -France,Scotland,15,8,1,3 -England,Italy,47,17,5,4 -Ireland,France,18,11,2,1 -Scotland,Wales,23,26,3,0 -Scotland,Italy,19,22,3,4 -France,Wales,13,20,1,0 -Ireland,England,19,9,2,5 -Wales,Ireland,23,16,0,2 -England,Scotland,25,13,5,3 -Italy,France,0,29,4,1 -Italy,Wales,20,61,4,0 -Scotland,Ireland,10,40,3,2 -England,France,55,35,5,1 -France,Italy,23,21,1,4 -Scotland,England,9,15,3,5 -Ireland,Wales,16,16,2,0 -France,Ireland,10,9,1,2 -Wales,Scotland,27,23,0,3 -Italy,England,9,40,4,5 -Wales,France,19,10,0,1 -Italy,Scotland,20,36,4,3 -England,Ireland,21,10,5,2 -Ireland,Italy,58,15,2,4 -England,Wales,25,21,5,0 -Scotland,France,29,18,3,1 -Wales,Italy,67,14,0,4 -Ireland,Scotland,35,25,2,3 -France,England,21,31,1,5 -Scotland,Ireland,27,22,3,2 -England,France,19,16,5,1 -Italy,Wales,7,33,4,0 -Italy,Ireland,10,63,4,2 -Wales,England,16,21,0,5 -France,Scotland,22,16,1,3 -Scotland,Wales,29,13,3,0 -Ireland,France,19,9,2,1 -England,Italy,36,15,5,4 -Wales,Ireland,22,9,0,2 -Italy,France,18,40,4,1 -England,Scotland,61,21,5,3 -Scotland,Italy,29,0,3,4 -France,Wales,20,18,1,0 -Ireland,England,13,9,2,5 diff --git a/arviz/data/example_data/code/rugby/rugby.ipynb b/arviz/data/example_data/code/rugby/rugby.ipynb deleted file mode 100644 index 0a20449706..0000000000 --- a/arviz/data/example_data/code/rugby/rugby.ipynb +++ /dev/null @@ -1,5262 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Loading libraries\n", - "import arviz as az\n", - "import pymc as pm\n", - "import pytensor.tensor as pt\n", - "import pandas as pd\n", - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Reading the data\n", - "df = pd.read_csv('rugby.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "observed_home_goals = df.home_score.values\n", - "observed_away_goals = df.away_score.values\n", - "\n", - "home_team = df.i_home.values\n", - "away_team = df.i_away.values\n", - "\n", - "teams = np.array(['Wales', 'France', 'Ireland', 'Scotland', 'Italy', 'England'])\n", - "matches = [f\"{home} {away}\" for home, away in zip(df.home_team, df.away_team)]\n", - "coords = {\"team\": teams, \"match\": matches}" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# building the model\n", - "with pm.Model(coords=coords) as model:\n", - " # global model parameters\n", - " home = pm.Normal('home', mu=0, sigma=1)\n", - " sd_att = pm.HalfNormal('sd_att', sigma=2)\n", - " sd_def = pm.HalfNormal('sd_def', sigma=2)\n", - " intercept = pm.Normal('intercept', mu=3, sigma=1)\n", - " \n", - " # team-specific model parameters\n", - " atts_star = pm.Normal(\"atts_star\", mu=0, sigma=sd_att, dims=\"team\")\n", - " defs_star = pm.Normal(\"defs_star\", mu=0, sigma=sd_def, dims=\"team\")\n", - " \n", - " atts = pm.Deterministic('atts', atts_star - pt.mean(atts_star), dims=\"team\")\n", - " defs = pm.Deterministic('defs', defs_star - pt.mean(defs_star), dims=\"team\")\n", - " home_theta = pt.exp(intercept + home + atts[home_team] + defs[away_team])\n", - " away_theta = pt.exp(intercept + atts[away_team] + defs[home_team])\n", - " \n", - " # likelihood of observed data\n", - " pm.Poisson('home_points', mu=home_theta, observed=observed_home_goals, dims=\"match\")\n", - " pm.Poisson('away_points', mu=away_theta, observed=observed_away_goals, dims=\"match\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling: [atts_star, away_points, defs_star, home, home_points, intercept, sd_att, sd_def]\n", - "Auto-assigning NUTS sampler...\n", - "Initializing NUTS using jitter+adapt_diag...\n", - "Multiprocess sampling (4 chains in 4 jobs)\n", - "NUTS: [home, sd_att, sd_def, intercept, atts_star, defs_star]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [6000/6000 00:08<00:00 Sampling 4 chains, 0 divergences]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling 4 chains for 1_000 tune and 500 draw iterations (4_000 + 2_000 draws total) took 9 seconds.\n", - "/home/oriol/bin/miniforge3/envs/general/lib/python3.11/site-packages/arviz/data/inference_data.py:1533: UserWarning: The group log_prior is not defined in the InferenceData scheme\n", - " warnings.warn(\n", - "/home/oriol/bin/miniforge3/envs/general/lib/python3.11/site-packages/arviz/data/inference_data.py:1533: UserWarning: The group log_prior is not defined in the InferenceData scheme\n", - " warnings.warn(\n", - "/home/oriol/bin/miniforge3/envs/general/lib/python3.11/site-packages/arviz/data/inference_data.py:1642: UserWarning: log_prior group is not defined in the InferenceData scheme\n", - " warnings.warn(\n", - "Sampling: [away_points, home_points]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [2000/2000 00:00<00:00]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "var_names = [v.name for v in model.free_RVs] \n", - "with model:\n", - " idata = pm.sample_prior_predictive()\n", - " idata.extend(\n", - " pm.sample(\n", - " 500,\n", - " tune=1000,\n", - " idata_kwargs={\n", - " \"log_likelihood\": True,\n", - " \"log_prior\": var_names,\n", - " \"include_transformed\": True\n", - " },\n", - " random_seed=5\n", - " )\n", - " )\n", - " pm.sample_posterior_predictive(idata, extend_inferencedata=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/oriol/bin/miniforge3/envs/general/lib/python3.11/site-packages/arviz/data/inference_data.py:1533: UserWarning: The group unconstrained_posterior is not defined in the InferenceData scheme\n", - " warnings.warn(\n" - ] - } - ], - "source": [ - "transformed_vars = idata.posterior[[\"sd_att_log__\", \"sd_def_log__\"]].rename(\n", - " sd_att_log__=\"sd_att\", sd_def_log__=\"sd_def\"\n", - ")\n", - "transformed_vars.attrs = {\n", - " k.name: f\"{v.__module__}.{v.__class__.__name__}\"\n", - " for k, v in model.rvs_to_transforms.items()\n", - " if v is not None\n", - "}\n", - "transformed_vars\n", - "idata.add_groups(unconstrained_posterior=transformed_vars)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "idata.posterior = idata.posterior.drop_vars([\"sd_att_log__\", \"sd_def_log__\"])\n", - "idata.map(\n", - " lambda ds: ds.assign_coords(\n", - " home_team=(\"match\", df.home_team.values.astype(\"str\")),\n", - " away_team=(\"match\", df.away_team.values.astype(\"str\"))\n", - " ).set_xindex(\"home_team\").set_xindex(\"away_team\"),\n", - " groups=[\"observed_data\", \"posterior_predictive\", \"prior_predictive\", \"log_likelihood\"],\n", - " inplace=True\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
\n", - "
\n", - "
arviz.InferenceData
\n", - "
\n", - "
    \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:    (chain: 4, draw: 500, team: 6)\n",
      -       "Coordinates:\n",
      -       "  * chain      (chain) int64 0 1 2 3\n",
      -       "  * draw       (draw) int64 0 1 2 3 4 5 6 7 ... 492 493 494 495 496 497 498 499\n",
      -       "  * team       (team) <U8 'Wales' 'France' 'Ireland' ... 'Italy' 'England'\n",
      -       "Data variables:\n",
      -       "    home       (chain, draw) float64 0.1341 0.2025 0.2146 ... 0.1988 0.1177\n",
      -       "    intercept  (chain, draw) float64 2.949 2.907 2.888 ... 2.908 2.876 2.954\n",
      -       "    atts_star  (chain, draw, team) float64 0.3346 0.09127 ... -0.3115 0.3763\n",
      -       "    defs_star  (chain, draw, team) float64 -0.4319 -0.4014 ... 0.4219 -0.4827\n",
      -       "    sd_att     (chain, draw) float64 0.3047 0.1598 0.1965 ... 0.4021 0.2962\n",
      -       "    sd_def     (chain, draw) float64 0.5739 0.4876 0.3242 ... 0.3384 0.3576\n",
      -       "    atts       (chain, draw, team) float64 0.1833 -0.05998 ... -0.3365 0.3514\n",
      -       "    defs       (chain, draw, team) float64 -0.09829 -0.06782 ... 0.6143 -0.2903\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-03-06T20:46:23.841916\n",
      -       "    arviz_version:              0.17.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.10.4+7.g34d2a5d9\n",
      -       "    sampling_time:              8.503105401992798\n",
      -       "    tuning_steps:               1000

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:      (chain: 4, draw: 500, match: 60)\n",
      -       "Coordinates:\n",
      -       "  * chain        (chain) int64 0 1 2 3\n",
      -       "  * draw         (draw) int64 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      -       "  * match        (match) <U16 'Wales Italy' ... 'Ireland England'\n",
      -       "  * home_team    (match) <U8 'Wales' 'France' 'Ireland' ... 'France' 'Ireland'\n",
      -       "  * away_team    (match) <U8 'Italy' 'England' 'Scotland' ... 'Wales' 'England'\n",
      -       "Data variables:\n",
      -       "    home_points  (chain, draw, match) float64 -9.405 -4.715 ... -2.669 -3.011\n",
      -       "    away_points  (chain, draw, match) float64 -2.499 -2.573 ... -2.813 -4.934\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-03-06T20:46:24.120642\n",
      -       "    arviz_version:              0.17.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.10.4+7.g34d2a5d9

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:                (chain: 4, draw: 500)\n",
      -       "Coordinates:\n",
      -       "  * chain                  (chain) int64 0 1 2 3\n",
      -       "  * draw                   (draw) int64 0 1 2 3 4 5 ... 494 495 496 497 498 499\n",
      -       "Data variables: (12/17)\n",
      -       "    max_energy_error       (chain, draw) float64 -0.5529 0.4738 ... -1.006\n",
      -       "    index_in_trajectory    (chain, draw) int64 -5 -15 -4 -11 ... 17 24 -28 -20\n",
      -       "    smallest_eigval        (chain, draw) float64 nan nan nan nan ... nan nan nan\n",
      -       "    perf_counter_start     (chain, draw) float64 9.249e+03 ... 9.251e+03\n",
      -       "    largest_eigval         (chain, draw) float64 nan nan nan nan ... nan nan nan\n",
      -       "    step_size              (chain, draw) float64 0.3105 0.3105 ... 0.2495 0.2495\n",
      -       "    ...                     ...\n",
      -       "    reached_max_treedepth  (chain, draw) bool False False False ... False False\n",
      -       "    perf_counter_diff      (chain, draw) float64 0.005344 0.005213 ... 0.006747\n",
      -       "    tree_depth             (chain, draw) int64 5 5 5 5 3 3 4 4 ... 5 5 3 6 6 5 5\n",
      -       "    process_time_diff      (chain, draw) float64 0.005344 0.005214 ... 0.006749\n",
      -       "    step_size_bar          (chain, draw) float64 0.2456 0.2456 ... 0.2186 0.2186\n",
      -       "    energy                 (chain, draw) float64 539.7 539.7 ... 542.7 547.7\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-03-06T20:46:23.854033\n",
      -       "    arviz_version:              0.17.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.10.4+7.g34d2a5d9\n",
      -       "    sampling_time:              8.503105401992798\n",
      -       "    tuning_steps:               1000

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:    (chain: 1, draw: 500, team: 6)\n",
      -       "Coordinates:\n",
      -       "  * chain      (chain) int64 0\n",
      -       "  * draw       (draw) int64 0 1 2 3 4 5 6 7 ... 492 493 494 495 496 497 498 499\n",
      -       "  * team       (team) <U8 'Wales' 'France' 'Ireland' ... 'Italy' 'England'\n",
      -       "Data variables:\n",
      -       "    atts_star  (chain, draw, team) float64 -0.1165 -0.7607 ... -0.9733 0.645\n",
      -       "    sd_att     (chain, draw) float64 2.205 1.604 0.6585 ... 1.116 0.9112 1.459\n",
      -       "    atts       (chain, draw, team) float64 -0.4148 -1.059 ... -1.202 0.416\n",
      -       "    sd_def     (chain, draw) float64 0.01573 0.382 0.9764 ... 0.1869 2.879 1.323\n",
      -       "    defs       (chain, draw, team) float64 -0.003092 0.002014 ... -0.3131\n",
      -       "    intercept  (chain, draw) float64 1.172 3.866 2.439 ... 2.066 1.964 3.91\n",
      -       "    home       (chain, draw) float64 0.694 -0.6541 0.4198 ... -2.354 -0.9812\n",
      -       "    defs_star  (chain, draw, team) float64 0.003231 0.008337 ... 0.001565\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-03-06T20:46:09.475945\n",
      -       "    arviz_version:              0.17.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.10.4+7.g34d2a5d9

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:      (chain: 1, draw: 500, match: 60)\n",
      -       "Coordinates:\n",
      -       "  * chain        (chain) int64 0\n",
      -       "  * draw         (draw) int64 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      -       "  * match        (match) <U16 'Wales Italy' ... 'Ireland England'\n",
      -       "  * home_team    (match) <U8 'Wales' 'France' 'Ireland' ... 'France' 'Ireland'\n",
      -       "  * away_team    (match) <U8 'Italy' 'England' 'Scotland' ... 'Wales' 'England'\n",
      -       "Data variables:\n",
      -       "    away_points  (chain, draw, match) int64 135 0 0 2 3 ... 170 1066 130 67 351\n",
      -       "    home_points  (chain, draw, match) int64 6 2 6 5 2 4 2 ... 46 18 250 403 1 1\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-03-06T20:46:09.479330\n",
      -       "    arviz_version:              0.17.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.10.4+7.g34d2a5d9

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:      (match: 60)\n",
      -       "Coordinates:\n",
      -       "  * match        (match) <U16 'Wales Italy' ... 'Ireland England'\n",
      -       "  * home_team    (match) <U8 'Wales' 'France' 'Ireland' ... 'France' 'Ireland'\n",
      -       "  * away_team    (match) <U8 'Italy' 'England' 'Scotland' ... 'Wales' 'England'\n",
      -       "Data variables:\n",
      -       "    home_points  (match) int64 23 26 28 26 0 30 27 20 ... 36 22 18 61 29 20 13\n",
      -       "    away_points  (match) int64 15 24 6 3 20 10 6 21 10 ... 9 15 9 40 21 0 18 9\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-03-06T20:46:09.480812\n",
      -       "    arviz_version:              0.17.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.10.4+7.g34d2a5d9

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:    (chain: 4, draw: 500, team: 6)\n",
      -       "Coordinates:\n",
      -       "  * chain      (chain) int64 0 1 2 3\n",
      -       "  * draw       (draw) int64 0 1 2 3 4 5 6 7 ... 492 493 494 495 496 497 498 499\n",
      -       "  * team       (team) <U8 'Wales' 'France' 'Ireland' ... 'Italy' 'England'\n",
      -       "Data variables:\n",
      -       "    home       (chain, draw) float64 -0.9279 -0.9394 -0.942 ... -0.9387 -0.9259\n",
      -       "    sd_att     (chain, draw) float64 -0.9305 -0.9221 -0.9238 ... -0.9391 -0.9299\n",
      -       "    sd_def     (chain, draw) float64 -0.9601 -0.9487 -0.9321 ... -0.9333 -0.9349\n",
      -       "    intercept  (chain, draw) float64 -0.9202 -0.9233 -0.9252 ... -0.9267 -0.92\n",
      -       "    atts_star  (chain, draw, team) float64 -0.3334 0.2247 ... -0.2554 -0.5093\n",
      -       "    defs_star  (chain, draw, team) float64 -0.6467 -0.6082 ... -0.5865 -0.8016\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-03-06T20:46:24.377610\n",
      -       "    arviz_version:              0.17.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.10.4+7.g34d2a5d9

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:      (chain: 4, draw: 500, match: 60)\n",
      -       "Coordinates:\n",
      -       "  * chain        (chain) int64 0 1 2 3\n",
      -       "  * draw         (draw) int64 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
      -       "  * match        (match) <U16 'Wales Italy' ... 'Ireland England'\n",
      -       "  * home_team    (match) <U8 'Wales' 'France' 'Ireland' ... 'France' 'Ireland'\n",
      -       "  * away_team    (match) <U8 'Italy' 'England' 'Scotland' ... 'Wales' 'England'\n",
      -       "Data variables:\n",
      -       "    home_points  (chain, draw, match) int64 48 22 23 22 19 38 ... 16 48 33 18 12\n",
      -       "    away_points  (chain, draw, match) int64 12 24 10 19 24 12 ... 38 12 15 28 15\n",
      -       "Attributes:\n",
      -       "    created_at:                 2024-03-06T20:46:25.689246\n",
      -       "    arviz_version:              0.17.0\n",
      -       "    inference_library:          pymc\n",
      -       "    inference_library_version:  5.10.4+7.g34d2a5d9

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
  • \n", - " \n", - " \n", - "
    \n", - "
    \n", - "
      \n", - "
      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
      <xarray.Dataset>\n",
      -       "Dimensions:  (chain: 4, draw: 500)\n",
      -       "Coordinates:\n",
      -       "  * chain    (chain) int64 0 1 2 3\n",
      -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
      -       "Data variables:\n",
      -       "    sd_att   (chain, draw) float64 -1.189 -1.834 -1.627 ... -0.9111 -1.217\n",
      -       "    sd_def   (chain, draw) float64 -0.5553 -0.7182 -1.126 ... -1.083 -1.028\n",
      -       "Attributes:\n",
      -       "    sd_att:   pymc.logprob.transforms.LogTransform\n",
      -       "    sd_def:   pymc.logprob.transforms.LogTransform

      \n", - "
    \n", - "
    \n", - "
  • \n", - " \n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> log_prior\n", - "\t> posterior_predictive\n", - "\t> unconstrained_posterior" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'rugby.nc'" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Storing the model to .nc format\n", - "idata.to_netcdf('rugby.nc')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.11.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/arviz/data/example_data/code/rugby_field/rugby_field.ipynb b/arviz/data/example_data/code/rugby_field/rugby_field.ipynb deleted file mode 100644 index b311a14625..0000000000 --- a/arviz/data/example_data/code/rugby_field/rugby_field.ipynb +++ /dev/null @@ -1,270 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "# Loading libraries\n", - "import arviz as az\n", - "import pymc as pm\n", - "import pytensor.tensor as pt\n", - "import pandas as pd\n", - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Reading the data\n", - "df = pd.read_csv('../rugby/rugby.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "observed_home_goals = df.home_score.values\n", - "observed_away_goals = df.away_score.values\n", - "\n", - "home_team = df.i_home.values\n", - "away_team = df.i_away.values\n", - "\n", - "num_teams = len(df.i_home.drop_duplicates())\n", - "num_games = len(home_team)\n", - "\n", - "teams = np.array(['Wales', 'France', 'Ireland', 'Scotland', 'Italy', 'England'])\n", - "matches = [f\"{home} {away}\" for home, away in zip(df.home_team, df.away_team)]" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# building the model\n", - "coords = {\n", - " \"team\": teams,\n", - " \"match\": matches,\n", - " \"field\": [\"home\", \"away\"],\n", - "}\n", - "with pm.Model(coords=coords) as model:\n", - " # global model parameters\n", - " sd_att = pm.HalfNormal('sd_att', sigma=2)\n", - " sd_def = pm.HalfNormal('sd_def', sigma=2)\n", - " sd_att_field = pm.HalfNormal('sd_att_field', sigma=2)\n", - " sd_def_field = pm.HalfNormal('sd_def_field', sigma=2)\n", - " intercept = pm.Normal('intercept', mu=3, sigma=1, dims=\"field\")\n", - " \n", - " # team-specific model parameters\n", - " atts_team = pm.Normal(\"atts_team\", mu=0, sigma=1, dims=\"team\") * sd_att\n", - " defs_team = pm.Normal(\"defs_team\", mu=0, sigma=1, dims=\"team\") * sd_def\n", - "\n", - " # team-field specific parameters\n", - " atts = pm.Normal(\"atts\", mu=0, sigma=1, dims=(\"field\", \"team\")) * sd_att_field + atts_team\n", - " defs = pm.Normal(\"defs\", mu=0, sigma=1, dims=(\"field\", \"team\")) * sd_def_field + defs_team\n", - " \n", - " #atts_star = pm.Deterministic('atts_star', atts - pt.mean(atts), dims=(\"field\", \"team\"))\n", - " #defs_star = pm.Deterministic('defs_star', defs - pt.mean(defs), dims=(\"field\", \"team\"))\n", - " atts_star = atts - pt.mean(atts, axis=0)\n", - " defs_star = defs - pt.mean(defs, axis=0)\n", - " home_theta = pt.exp(intercept[0] + atts_star[0, home_team] + defs_star[1, away_team])\n", - " away_theta = pt.exp(intercept[1] + atts_star[1, away_team] + defs_star[0, home_team])\n", - " \n", - " # likelihood of observed data\n", - " pm.Poisson('home_points', mu=home_theta, observed=observed_home_goals, dims=\"match\")\n", - " pm.Poisson('away_points', mu=away_theta, observed=observed_away_goals, dims=\"match\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling: [atts, atts_team, away_points, defs, defs_team, home_points, intercept, sd_att, sd_att_field, sd_def, sd_def_field]\n", - "Auto-assigning NUTS sampler...\n", - "Initializing NUTS using jitter+adapt_diag...\n", - "Multiprocess sampling (4 chains in 4 jobs)\n", - "NUTS: [sd_att, sd_def, sd_att_field, sd_def_field, intercept, atts_team, defs_team, atts, defs]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [6000/6000 00:21<00:00 Sampling 4 chains, 0 divergences]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling 4 chains for 1_000 tune and 500 draw iterations (4_000 + 2_000 draws total) took 21 seconds.\n", - "/home/oriol/bin/miniforge3/envs/general/lib/python3.11/site-packages/arviz/data/inference_data.py:1533: UserWarning: The group log_prior is not defined in the InferenceData scheme\n", - " warnings.warn(\n", - "/home/oriol/bin/miniforge3/envs/general/lib/python3.11/site-packages/arviz/data/inference_data.py:1533: UserWarning: The group log_prior is not defined in the InferenceData scheme\n", - " warnings.warn(\n", - "/home/oriol/bin/miniforge3/envs/general/lib/python3.11/site-packages/arviz/data/inference_data.py:1642: UserWarning: log_prior group is not defined in the InferenceData scheme\n", - " warnings.warn(\n", - "Sampling: [away_points, home_points]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
\n", - " \n", - " 100.00% [2000/2000 00:00<00:00]\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "with model:\n", - " idata = pm.sample_prior_predictive()\n", - " idata.extend(\n", - " pm.sample(\n", - " 500,\n", - " tune=1000,\n", - " target_accept=0.9,\n", - " random_seed=11,\n", - " idata_kwargs={\"log_likelihood\": True, \"log_prior\": True}\n", - " )\n", - " )\n", - " pm.sample_posterior_predictive(idata, extend_inferencedata=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'rugby_field.nc'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Storing the model to .nc format\n", - "idata.to_netcdf('rugby_field.nc')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.11.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/arviz/data/example_data/data/centered_eight.nc b/arviz/data/example_data/data/centered_eight.nc deleted file mode 100644 index ac839c5f2d..0000000000 Binary files a/arviz/data/example_data/data/centered_eight.nc and /dev/null differ diff --git a/arviz/data/example_data/data/non_centered_eight.nc b/arviz/data/example_data/data/non_centered_eight.nc deleted file mode 100644 index e7e475322c..0000000000 Binary files a/arviz/data/example_data/data/non_centered_eight.nc and /dev/null differ diff --git a/arviz/data/example_data/data_local.json b/arviz/data/example_data/data_local.json deleted file mode 100644 index 23e8b36094..0000000000 --- a/arviz/data/example_data/data_local.json +++ /dev/null @@ -1,12 +0,0 @@ -[ - { - "name": "centered_eight", - "filename": "centered_eight.nc", - "description": "A centered parameterization of the eight schools model. Provided as an example of a model that NUTS has trouble fitting. Compare to `non_centered_eight`.\n\nThe eight schools model is a hierarchical model used for an analysis of the effectiveness of classes that were designed to improve students' performance on the Scholastic Aptitude Test.\n\nSee Bayesian Data Analysis (Gelman et. al.) for more details." - }, - { - "name": "non_centered_eight", - "filename": "non_centered_eight.nc", - "description": "A non-centered parameterization of the eight schools model. This is a hierarchical model where sampling problems may be fixed by a non-centered parametrization. Compare to `centered_eight`.\n\nThe eight schools model is a hierarchical model used for an analysis of the effectiveness of classes that were designed to improve students' performance on the Scholastic Aptitude Test.\n\nSee Bayesian Data Analysis (Gelman et. al.) for more details." - } -] \ No newline at end of file diff --git a/arviz/data/example_data/data_remote.json b/arviz/data/example_data/data_remote.json deleted file mode 100644 index 4247b87565..0000000000 --- a/arviz/data/example_data/data_remote.json +++ /dev/null @@ -1,58 +0,0 @@ -[ - { - "name": "radon", - "filename": "radon_hierarchical.nc", - "url": "http://ndownloader.figshare.com/files/24067472", - "checksum": "a9b2b4adf1bf9c5728e5bdc97107e69c4fc8d8b7d213e9147233b57be8b4587b", - "description": "Radon is a radioactive gas that enters homes through contact points with the ground. It is a carcinogen that is the primary cause of lung cancer in non-smokers. Radon levels vary greatly from household to household.\n\nThis example uses an EPA study of radon levels in houses in Minnesota to construct a model with a hierarchy over households within a county. The model includes estimates (gamma) for contextual effects of the uranium per household.\n\nSee Gelman and Hill (2006) for details on the example, or https://docs.pymc.io/notebooks/multilevel_modeling.html by Chris Fonnesbeck for details on this implementation." - }, - { - "name": "rugby", - "filename": "rugby.nc", - "url": "http://figshare.com/ndownloader/files/44916469", - "checksum": "f4a5e699a8a4cc93f722eb97929dd7c4895c59a2183f05309f5082f3f81eb228", - "description": "The Six Nations Championship is a yearly rugby competition between Italy, Ireland, Scotland, England, France and Wales. Fifteen games are played each year, representing all combinations of the six teams.\n\nThis example uses and includes results from 2014 - 2017, comprising 60 total games. It models latent parameters for each team's attack and defense, as well as a global parameter for home team advantage.\n\nSee https://github.com/arviz-devs/arviz_example_data/blob/main/code/rugby/rugby.ipynb for the whole model specification." - }, - { - "name": "rugby_field", - "filename": "rugby_field.nc", - "url": "http://figshare.com/ndownloader/files/44667112", - "checksum": "53a99da7ac40d82cd01bb0b089263b9633ee016f975700e941b4c6ea289a1fb0", - "description": "A variant of the 'rugby' example dataset. The Six Nations Championship is a yearly rugby competition between Italy, Ireland, Scotland, England, France and Wales. Fifteen games are played each year, representing all combinations of the six teams.\n\nThis example uses and includes results from 2014 - 2017, comprising 60 total games. It models latent parameters for each team's attack and defense, with each team having different values depending on them being home or away team.\n\nSee https://github.com/arviz-devs/arviz_example_data/blob/main/code/rugby_field/rugby_field.ipynb for the whole model specification." - }, - { - "name": "regression1d", - "filename": "regression1d.nc", - "url": "http://ndownloader.figshare.com/files/16254899", - "checksum": "909e8ffe344e196dad2730b1542881ab5729cb0977dd20ba645a532ffa427278", - "description": "A synthetic one dimensional linear regression dataset with latent slope, intercept, and noise (\"eps\"). One hundred data points, fit with PyMC3.\n\nTrue slope and intercept are included as deterministic variables." - }, - { - "name": "regression10d", - "filename": "regression10d.nc", - "url": "http://ndownloader.figshare.com/files/16255736", - "checksum": "c6716ec7e19926ad2a52d6ae4c1d1dd5ddb747e204c0d811757c8e93fcf9f970", - "description": "A synthetic multi-dimensional (10 dimensions) linear regression dataset with latent weights (\"w\"), intercept, and noise (\"eps\"). Five hundred data points, fit with PyMC3.\n\nTrue weights and intercept are included as deterministic variables." - }, - { - "name": "classification1d", - "filename": "classification1d.nc", - "url": "http://ndownloader.figshare.com/files/16256678", - "checksum": "1cf3806e72c14001f6864bb69d89747dcc09dd55bcbca50aba04e9939daee5a0", - "description": "A synthetic one dimensional logistic regression dataset with latent slope and intercept, passed into a Bernoulli random variable. One hundred data points, fit with PyMC3.\n\nTrue slope and intercept are included as deterministic variables." - }, - { - "name": "classification10d", - "filename": "classification10d.nc", - "url": "http://ndownloader.figshare.com/files/16256681", - "checksum": "16c9a45e1e6e0519d573cafc4d266d761ba347e62b6f6a79030aaa8e2fde1367", - "description": "A synthetic multi dimensional (10 dimensions) logistic regression dataset with latent weights (\"w\") and intercept, passed into a Bernoulli random variable. Five hundred data points, fit with PyMC3.\n\nTrue weights and intercept are included as deterministic variables." - }, - { - "name": "glycan_torsion_angles", - "filename": "glycan_torsion_angles.nc", - "url": "http://ndownloader.figshare.com/files/22882652", - "checksum": "4622621fe7a1d3075c18c4c34af8cc57c59eabbb3501b20c6e2d9c6c4737034c", - "description": "Torsion angles phi and psi are critical for determining the three dimensional structure of bio-molecules. Combinations of phi and psi torsion angles that produce clashes between atoms in the bio-molecule result in high energy, unlikely structures.\n\nThis model uses a Von Mises distribution to propose torsion angles for the structure of a glycan molecule (pdb id: 2LIQ), and a Potential to estimate the proposed structure's energy. Said Potential is bound by Boltzman's law." - } -] \ No newline at end of file diff --git a/arviz/data/inference_data.py b/arviz/data/inference_data.py deleted file mode 100644 index 7749a6a08c..0000000000 --- a/arviz/data/inference_data.py +++ /dev/null @@ -1,2386 +0,0 @@ -# pylint: disable=too-many-lines,too-many-public-methods -"""Data structure for using netcdf groups with xarray.""" -import os -import re -import sys -import uuid -import warnings -from collections import OrderedDict, defaultdict -from collections.abc import MutableMapping, Sequence -from copy import copy as ccopy -from copy import deepcopy -import datetime -from html import escape -from typing import ( - TYPE_CHECKING, - Any, - Iterable, - Iterator, - List, - Mapping, - Optional, - Tuple, - TypeVar, - Union, - overload, -) - -import numpy as np -import xarray as xr -from packaging import version - -from ..rcparams import rcParams -from ..utils import HtmlTemplate, _subset_list, _var_names, either_dict_or_kwargs -from .base import _extend_xr_method, _make_json_serializable, dict_to_dataset - -if sys.version_info[:2] >= (3, 9): - # As of 3.9, collections.abc types support generic parameters themselves. - from collections.abc import ItemsView, ValuesView -else: - # These typing imports are deprecated in 3.9, and moved to collections.abc instead. - from typing import ItemsView, ValuesView - -if TYPE_CHECKING: - from typing_extensions import Literal - -try: - import ujson as json -except ImportError: - # mypy struggles with conditional imports expressed as catching ImportError: - # https://github.com/python/mypy/issues/1153 - import json # type: ignore - - -SUPPORTED_GROUPS = [ - "posterior", - "posterior_predictive", - "predictions", - "log_likelihood", - "log_prior", - "sample_stats", - "prior", - "prior_predictive", - "sample_stats_prior", - "observed_data", - "constant_data", - "predictions_constant_data", - "unconstrained_posterior", - "unconstrained_prior", -] - -WARMUP_TAG = "warmup_" - -SUPPORTED_GROUPS_WARMUP = [ - f"{WARMUP_TAG}posterior", - f"{WARMUP_TAG}posterior_predictive", - f"{WARMUP_TAG}predictions", - f"{WARMUP_TAG}sample_stats", - f"{WARMUP_TAG}log_likelihood", - f"{WARMUP_TAG}log_prior", -] - -SUPPORTED_GROUPS_ALL = SUPPORTED_GROUPS + SUPPORTED_GROUPS_WARMUP - -InferenceDataT = TypeVar("InferenceDataT", bound="InferenceData") - - -def _compressible_dtype(dtype): - """Check basic dtypes for automatic compression.""" - if dtype.kind == "V": - return all(_compressible_dtype(item) for item, _ in dtype.fields.values()) - return dtype.kind in {"b", "i", "u", "f", "c", "S"} - - -class InferenceData(Mapping[str, xr.Dataset]): - """Container for inference data storage using xarray. - - For a detailed introduction to ``InferenceData`` objects and their usage, see - :ref:`xarray_for_arviz`. This page provides help and documentation - on ``InferenceData`` methods and their low level implementation. - """ - - def __init__( - self, - attrs: Union[None, Mapping[Any, Any]] = None, - warn_on_custom_groups: bool = False, - **kwargs: Union[xr.Dataset, List[xr.Dataset], Tuple[xr.Dataset, xr.Dataset]], - ) -> None: - """Initialize InferenceData object from keyword xarray datasets. - - Parameters - ---------- - attrs : dict - sets global attribute for InferenceData object. - warn_on_custom_groups : bool, default False - Emit a warning when custom groups are present in the InferenceData. - "custom group" means any group whose name isn't defined in :ref:`schema` - kwargs : - Keyword arguments of xarray datasets - - Examples - -------- - Initiate an InferenceData object from scratch, not recommended. InferenceData - objects should be initialized using ``from_xyz`` methods, see :ref:`data_api` for more - details. - - .. ipython:: - - In [1]: import arviz as az - ...: import numpy as np - ...: import xarray as xr - ...: dataset = xr.Dataset( - ...: { - ...: "a": (["chain", "draw", "a_dim"], np.random.normal(size=(4, 100, 3))), - ...: "b": (["chain", "draw"], np.random.normal(size=(4, 100))), - ...: }, - ...: coords={ - ...: "chain": (["chain"], np.arange(4)), - ...: "draw": (["draw"], np.arange(100)), - ...: "a_dim": (["a_dim"], ["x", "y", "z"]), - ...: } - ...: ) - ...: idata = az.InferenceData(posterior=dataset, prior=dataset) - ...: idata - - We have created an ``InferenceData`` object with two groups. Now we can check its - contents: - - .. ipython:: - - In [1]: idata.posterior - - """ - self._groups: List[str] = [] - self._groups_warmup: List[str] = [] - self._attrs: Union[None, dict] = dict(attrs) if attrs is not None else None - save_warmup = kwargs.pop("save_warmup", False) - key_list = [key for key in SUPPORTED_GROUPS_ALL if key in kwargs] - for key in kwargs: - if key not in SUPPORTED_GROUPS_ALL: - key_list.append(key) - if warn_on_custom_groups: - warnings.warn( - f"{key} group is not defined in the InferenceData scheme", UserWarning - ) - for key in key_list: - dataset = kwargs[key] - dataset_warmup = None - if dataset is None: - continue - elif isinstance(dataset, (list, tuple)): - dataset, dataset_warmup = dataset - elif not isinstance(dataset, xr.Dataset): - raise ValueError( - "Arguments to InferenceData must be xarray Datasets " - f"(argument '{key}' was type '{type(dataset)}')" - ) - if not key.startswith(WARMUP_TAG): - if dataset: - setattr(self, key, dataset) - self._groups.append(key) - elif key.startswith(WARMUP_TAG): - if dataset: - setattr(self, key, dataset) - self._groups_warmup.append(key) - if save_warmup and dataset_warmup is not None and dataset_warmup: - key = f"{WARMUP_TAG}{key}" - setattr(self, key, dataset_warmup) - self._groups_warmup.append(key) - - @property - def attrs(self) -> dict: - """Attributes of InferenceData object.""" - if self._attrs is None: - self._attrs = {} - return self._attrs - - @attrs.setter - def attrs(self, value) -> None: - self._attrs = dict(value) - - def __repr__(self) -> str: - """Make string representation of InferenceData object.""" - msg = "Inference data with groups:\n\t> {options}".format( - options="\n\t> ".join(self._groups) - ) - if self._groups_warmup: - msg += f"\n\nWarmup iterations saved ({WARMUP_TAG}*)." - return msg - - def _repr_html_(self) -> str: - """Make html representation of InferenceData object.""" - try: - from xarray.core.options import OPTIONS - - display_style = OPTIONS["display_style"] - if display_style == "text": - html_repr = f"
{escape(repr(self))}
" - else: - elements = "".join( - [ - HtmlTemplate.element_template.format( - group_id=group + str(uuid.uuid4()), - group=group, - xr_data=getattr( # pylint: disable=protected-access - self, group - )._repr_html_(), - ) - for group in self._groups_all - ] - ) - formatted_html_template = ( # pylint: disable=possibly-unused-variable - HtmlTemplate.html_template.format(elements) - ) - css_template = HtmlTemplate.css_template # pylint: disable=possibly-unused-variable - html_repr = f"{locals()['formatted_html_template']}{locals()['css_template']}" - except: # pylint: disable=bare-except - html_repr = f"
{escape(repr(self))}
" - return html_repr - - def __delattr__(self, group: str) -> None: - """Delete a group from the InferenceData object.""" - if group in self._groups: - self._groups.remove(group) - elif group in self._groups_warmup: - self._groups_warmup.remove(group) - object.__delattr__(self, group) - - def __delitem__(self, key: str) -> None: - """Delete an item from the InferenceData object using del idata[key].""" - self.__delattr__(key) - - @property - def _groups_all(self) -> List[str]: - return self._groups + self._groups_warmup - - def __len__(self) -> int: - """Return the number of groups in this InferenceData object.""" - return len(self._groups_all) - - def __iter__(self) -> Iterator[str]: - """Iterate over groups in InferenceData object.""" - yield from self._groups_all - - def __contains__(self, key: object) -> bool: - """Return True if the named item is present, and False otherwise.""" - return key in self._groups_all - - def __getitem__(self, key: str) -> xr.Dataset: - """Get item by key.""" - if key not in self._groups_all: - raise KeyError(key) - return getattr(self, key) - - def __setitem__(self, key: str, value: xr.Dataset): - """Set item by key and update group list accordingly.""" - if key.startswith(WARMUP_TAG): - self._groups_warmup.append(key) - else: - self._groups.append(key) - setattr(self, key, value) - - def groups(self) -> List[str]: - """Return all groups present in InferenceData object.""" - return self._groups_all - - class InferenceDataValuesView(ValuesView[xr.Dataset]): - """ValuesView implementation for InferenceData, to allow it to implement Mapping.""" - - def __init__( # pylint: disable=super-init-not-called - self, parent: "InferenceData" - ) -> None: - """Create a new InferenceDataValuesView from an InferenceData object.""" - self.parent = parent - - def __len__(self) -> int: - """Return the number of groups in the parent InferenceData.""" - return len(self.parent._groups_all) - - def __iter__(self) -> Iterator[xr.Dataset]: - """Iterate through the Xarray datasets present in the InferenceData object.""" - parent = self.parent - for group in parent._groups_all: - yield getattr(parent, group) - - def __contains__(self, key: object) -> bool: - """Return True if the given Xarray dataset is one of the values, and False otherwise.""" - if not isinstance(key, xr.Dataset): - return False - - for dataset in self: - if dataset.equals(key): - return True - - return False - - def values(self) -> "InferenceData.InferenceDataValuesView": - """Return a view over the Xarray Datasets present in the InferenceData object.""" - return InferenceData.InferenceDataValuesView(self) - - class InferenceDataItemsView(ItemsView[str, xr.Dataset]): - """ItemsView implementation for InferenceData, to allow it to implement Mapping.""" - - def __init__( # pylint: disable=super-init-not-called - self, parent: "InferenceData" - ) -> None: - """Create a new InferenceDataItemsView from an InferenceData object.""" - self.parent = parent - - def __len__(self) -> int: - """Return the number of groups in the parent InferenceData.""" - return len(self.parent._groups_all) - - def __iter__(self) -> Iterator[Tuple[str, xr.Dataset]]: - """Iterate through the groups and corresponding Xarray datasets in the InferenceData.""" - parent = self.parent - for group in parent._groups_all: - yield group, getattr(parent, group) - - def __contains__(self, key: object) -> bool: - """Return True if the (group, dataset) tuple is present, and False otherwise.""" - parent = self.parent - if not isinstance(key, tuple) or len(key) != 2: - return False - - group, dataset = key - if group not in parent._groups_all: - return False - - if not isinstance(dataset, xr.Dataset): - return False - - existing_dataset = getattr(parent, group) - return existing_dataset.equals(dataset) - - def items(self) -> "InferenceData.InferenceDataItemsView": - """Return a view over the groups and datasets present in the InferenceData object.""" - return InferenceData.InferenceDataItemsView(self) - - @staticmethod - def from_netcdf( - filename, - *, - engine="h5netcdf", - group_kwargs=None, - regex=False, - base_group: str = "/", - ) -> "InferenceData": - """Initialize object from a netcdf file. - - Expects that the file will have groups, each of which can be loaded by xarray. - By default, the datasets of the InferenceData object will be lazily loaded instead - of being loaded into memory. This - behaviour is regulated by the value of ``az.rcParams["data.load"]``. - - Parameters - ---------- - filename : str - location of netcdf file - engine : {"h5netcdf", "netcdf4"}, default "h5netcdf" - Library used to read the netcdf file. - group_kwargs : dict of {str: dict}, optional - Keyword arguments to be passed into each call of :func:`xarray.open_dataset`. - The keys of the higher level should be group names or regex matching group - names, the inner dicts re passed to ``open_dataset`` - This feature is currently experimental. - regex : bool, default False - Specifies where regex search should be used to extend the keyword arguments. - This feature is currently experimental. - base_group : str, default "/" - The group in the netCDF file where the InferenceData is stored. By default, - assumes that the file only contains an InferenceData object. - - Returns - ------- - InferenceData - """ - groups = {} - attrs = {} - - if engine == "h5netcdf": - import h5netcdf - elif engine == "netcdf4": - import netCDF4 as nc - else: - raise ValueError( - f"Invalid value for engine: {engine}. Valid options are: h5netcdf or netcdf4" - ) - - try: - with ( - h5netcdf.File(filename, mode="r") - if engine == "h5netcdf" - else nc.Dataset(filename, mode="r") - ) as file_handle: - if base_group == "/": - data = file_handle - else: - data = file_handle[base_group] - - data_groups = list(data.groups) - - for group in data_groups: - group_kws = {} - - group_kws = {} - if group_kwargs is not None and regex is False: - group_kws = group_kwargs.get(group, {}) - if group_kwargs is not None and regex is True: - for key, kws in group_kwargs.items(): - if re.search(key, group): - group_kws = kws - group_kws.setdefault("engine", engine) - data = xr.open_dataset(filename, group=f"{base_group}/{group}", **group_kws) - if rcParams["data.load"] == "eager": - with data: - groups[group] = data.load() - else: - groups[group] = data - - with xr.open_dataset(filename, engine=engine, group=base_group) as data: - attrs.update(data.load().attrs) - - return InferenceData(attrs=attrs, **groups) - except OSError as err: - if err.errno == -101: - raise type(err)( - str(err) - + ( - " while reading a NetCDF file. This is probably an error in HDF5, " - "which happens because your OS does not support HDF5 file locking. See " - "https://stackoverflow.com/questions/49317927/" - "errno-101-netcdf-hdf-error-when-opening-netcdf-file#49317928" - " for a possible solution." - ) - ) from err - raise err - - def to_netcdf( - self, - filename: str, - compress: bool = True, - groups: Optional[List[str]] = None, - engine: str = "h5netcdf", - base_group: str = "/", - overwrite_existing: bool = True, - ) -> str: - """Write InferenceData to netcdf4 file. - - Parameters - ---------- - filename : str - Location to write to - compress : bool, optional - Whether to compress result. Note this saves disk space, but may make - saving and loading somewhat slower (default: True). - groups : list, optional - Write only these groups to netcdf file. - engine : {"h5netcdf", "netcdf4"}, default "h5netcdf" - Library used to read the netcdf file. - base_group : str, default "/" - The group in the netCDF file where the InferenceData is will be stored. - By default, will write to the root of the netCDF file - overwrite_existing : bool, default True - Whether to overwrite the existing file or append to it. - - Returns - ------- - str - Location of netcdf file - """ - if base_group is None: - base_group = "/" - - if os.path.exists(filename) and not overwrite_existing: - mode = "a" - else: - mode = "w" # overwrite first, then append - - if self._attrs: - xr.Dataset(attrs=self._attrs).to_netcdf( - filename, mode=mode, engine=engine, group=base_group - ) - mode = "a" - - if self._groups_all: # check's whether a group is present or not. - if groups is None: - groups = self._groups_all - else: - groups = [group for group in self._groups_all if group in groups] - - for group in groups: - data = getattr(self, group) - kwargs = {"engine": engine} - if compress: - kwargs["encoding"] = { - var_name: {"zlib": True} - for var_name, values in data.variables.items() - if _compressible_dtype(values.dtype) - } - data.to_netcdf(filename, mode=mode, group=f"{base_group}/{group}", **kwargs) - data.close() - mode = "a" - elif not self._attrs: # creates a netcdf file for an empty InferenceData object. - if engine == "h5netcdf": - import h5netcdf - - empty_netcdf_file = h5netcdf.File(filename, mode="w") - elif engine == "netcdf4": - import netCDF4 as nc - - empty_netcdf_file = nc.Dataset(filename, mode="w", format="NETCDF4") - empty_netcdf_file.close() - return filename - - def to_datatree(self): - """Convert InferenceData object to a :class:`~xarray.DataTree`.""" - try: - from xarray import DataTree - except ImportError as err: - raise ImportError( - "xarray must be have DataTree in order to use InferenceData.to_datatree. " - "Update to xarray>=2024.11.0" - ) from err - dt = DataTree.from_dict({group: ds for group, ds in self.items()}) - dt.attrs = self.attrs - return dt - - @staticmethod - def from_datatree(datatree): - """Create an InferenceData object from a :class:`~xarray.DataTree`. - - Parameters - ---------- - datatree : DataTree - """ - return InferenceData( - attrs=datatree.attrs, - **{group: child.to_dataset() for group, child in datatree.children.items()}, - ) - - def to_dict(self, groups=None, filter_groups=None): - """Convert InferenceData to a dictionary following xarray naming conventions. - - Parameters - ---------- - groups : list, optional - Groups where the transformation is to be applied. Can either be group names - or metagroup names. - filter_groups: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - - Returns - ------- - dict - A dictionary containing all groups of InferenceData object. - When `data=False` return just the schema. - """ - ret = defaultdict(dict) - if self._groups_all: # check's whether a group is present or not. - if groups is None: - groups = self._group_names(groups, filter_groups) - else: - groups = [group for group in self._groups_all if group in groups] - - for group in groups: - dataset = getattr(self, group) - data = {} - for var_name, dataarray in dataset.items(): - data[var_name] = dataarray.values - dims = [] - for coord_name, coord_values in dataarray.coords.items(): - if coord_name not in ("chain", "draw") and not coord_name.startswith( - f"{var_name}_dim_" - ): - dims.append(coord_name) - ret["coords"][coord_name] = coord_values.values - - if group in ( - "predictions", - "predictions_constant_data", - ): - dims_key = "pred_dims" - else: - dims_key = "dims" - if len(dims) > 0: - ret[dims_key][var_name] = dims - ret[group] = data - ret[f"{group}_attrs"] = dataset.attrs - - ret["attrs"] = self.attrs - return ret - - def to_json(self, filename, groups=None, filter_groups=None, **kwargs): - """Write InferenceData to a json file. - - Parameters - ---------- - filename : str - Location to write to - groups : list, optional - Groups where the transformation is to be applied. Can either be group names - or metagroup names. - filter_groups: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - kwargs : dict - kwargs passed to json.dump() - - Returns - ------- - str - Location of json file - """ - idata_dict = _make_json_serializable( - self.to_dict(groups=groups, filter_groups=filter_groups) - ) - - with open(filename, "w", encoding="utf8") as file: - json.dump(idata_dict, file, **kwargs) - - return filename - - def to_dataframe( - self, - groups=None, - filter_groups=None, - var_names=None, - filter_vars=None, - include_coords=True, - include_index=True, - index_origin=None, - ): - """Convert InferenceData to a :class:`pandas.DataFrame` following xarray naming conventions. - - This returns dataframe in a "wide" -format, where each item in ndimensional array is - unpacked. To access "tidy" -format, use xarray functionality found for each dataset. - - In case of a multiple groups, function adds a group identification to the var name. - - Data groups ("observed_data", "constant_data", "predictions_constant_data") are - skipped implicitly. - - Raises TypeError if no valid groups are found. - Raises ValueError if no data are selected. - - Parameters - ---------- - groups: str or list of str, optional - Groups where the transformation is to be applied. Can either be group names - or metagroup names. - filter_groups: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - var_names : str or list of str, optional - Variables to be extracted. Prefix the variables by `~` when you want to exclude them. - filter_vars: {None, "like", "regex"}, optional - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - `pandas.filter`. - Like with plotting, sometimes it's easier to subset saying what to exclude - instead of what to include - include_coords: bool - Add coordinate values to column name (tuple). - include_index: bool - Add index information for multidimensional arrays. - index_origin: {0, 1}, optional - Starting index for multidimensional objects. 0- or 1-based. - Defaults to rcParams["data.index_origin"]. - - Returns - ------- - pandas.DataFrame - A pandas DataFrame containing all selected groups of InferenceData object. - """ - # pylint: disable=too-many-nested-blocks - if not include_coords and not include_index: - raise TypeError("Both include_coords and include_index can not be False.") - if index_origin is None: - index_origin = rcParams["data.index_origin"] - if index_origin not in [0, 1]: - raise TypeError(f"index_origin must be 0 or 1, saw {index_origin}") - - group_names = list( - filter(lambda x: "data" not in x, self._group_names(groups, filter_groups)) - ) - - if not group_names: - raise TypeError(f"No valid groups found: {groups}") - - dfs = {} - for group in group_names: - dataset = self[group] - group_var_names = _var_names(var_names, dataset, filter_vars, "ignore") - if (group_var_names is not None) and not group_var_names: - continue - if group_var_names is not None: - dataset = dataset[[var_name for var_name in group_var_names if var_name in dataset]] - df = None - coords_to_idx = { - name: dict(map(reversed, enumerate(dataset.coords[name].values, index_origin))) - for name in list(filter(lambda x: x not in ("chain", "draw"), dataset.coords)) - } - for data_array in dataset.values(): - dataframe = data_array.to_dataframe() - if list(filter(lambda x: x not in ("chain", "draw"), data_array.dims)): - levels = [ - idx - for idx, dim in enumerate(data_array.dims) - if dim not in ("chain", "draw") - ] - dataframe = dataframe.unstack(level=levels) - tuple_columns = [] - for name, *coords in dataframe.columns: - if include_index: - idxs = [] - for coordname, coorditem in zip(dataframe.columns.names[1:], coords): - idxs.append(coords_to_idx[coordname][coorditem]) - if include_coords: - tuple_columns.append( - (f"{name}[{','.join(map(str, idxs))}]", *coords) - ) - else: - tuple_columns.append(f"{name}[{','.join(map(str, idxs))}]") - else: - tuple_columns.append((name, *coords)) - - dataframe.columns = tuple_columns - dataframe.sort_index(axis=1, inplace=True) - if df is None: - df = dataframe - continue - df = df.join(dataframe, how="outer") - if df is not None: - df = df.reset_index() - dfs[group] = df - if not dfs: - raise ValueError("No data selected for the dataframe.") - if len(dfs) > 1: - for group, df in dfs.items(): - df.columns = [ - ( - col - if col in ("draw", "chain") - else (group, *col) if isinstance(col, tuple) else (group, col) - ) - for col in df.columns - ] - dfs, *dfs_tail = list(dfs.values()) - for df in dfs_tail: - dfs = dfs.merge(df, how="outer", copy=False) - else: - (dfs,) = dfs.values() # pylint: disable=unbalanced-dict-unpacking - return dfs - - def to_zarr(self, store=None): - """Convert InferenceData to a :class:`zarr.hierarchy.Group`. - - The zarr storage is using the same group names as the InferenceData. - - Raises - ------ - TypeError - If no valid store is found. - - Parameters - ---------- - store: zarr.storage i.e MutableMapping or str, optional - Zarr storage class or path to desired DirectoryStore. - - Returns - ------- - zarr.hierarchy.group - A zarr hierarchy group containing the InferenceData. - - References - ---------- - https://zarr.readthedocs.io/ - """ - try: - import zarr - except ImportError as err: - raise ImportError("'to_zarr' method needs Zarr (>=2.5.0,<3) installed.") from err - if version.parse(zarr.__version__) < version.parse("2.5.0"): - raise ImportError( - "Found zarr<2.5.0, please upgrade to a zarr (>=2.5.0,<3) to use 'to_zarr'" - ) - if version.parse(zarr.__version__) >= version.parse("3.0.0.dev0"): - raise ImportError( - "Found zarr>=3, which is not supported by ArviZ. Instead, you can use " - "'dt = InferenceData.to_datatree' followed by 'dt.to_zarr()' " - "(needs xarray>=2024.11.0)" - ) - - # Check store type and create store if necessary - if store is None: - store = zarr.storage.TempStore(suffix="arviz") - elif isinstance(store, str): - store = zarr.storage.DirectoryStore(path=store) - elif not isinstance(store, MutableMapping): - raise TypeError(f"No valid store found: {store}") - - groups = self.groups() - - if not groups: - raise TypeError("No valid groups found!") - - # order matters here, saving attrs after the groups will erase the groups. - if self.attrs: - xr.Dataset(attrs=self.attrs).to_zarr(store=store, mode="w") - - for group in groups: - # Create zarr group in store with same group name - getattr(self, group).to_zarr(store=store, group=group, mode="w") - - return zarr.open(store) # Open store to get overarching group - - @staticmethod - def from_zarr(store) -> "InferenceData": - """Initialize object from a zarr store or path. - - Expects that the zarr store will have groups, each of which can be loaded by xarray. - By default, the datasets of the InferenceData object will be lazily loaded instead - of being loaded into memory. This - behaviour is regulated by the value of ``az.rcParams["data.load"]``. - - Parameters - ---------- - store: MutableMapping or zarr.hierarchy.Group or str. - Zarr storage class or path to desired Store. - - Returns - ------- - InferenceData object - - References - ---------- - https://zarr.readthedocs.io/ - """ - try: - import zarr - except ImportError as err: - raise ImportError("'from_zarr' method needs Zarr (>=2.5.0,<3) installed.") from err - if version.parse(zarr.__version__) < version.parse("2.5.0"): - raise ImportError( - "Found zarr<2.5.0, please upgrade to a zarr (>=2.5.0,<3) to use 'from_zarr'" - ) - if version.parse(zarr.__version__) >= version.parse("3.0.0.dev0"): - raise ImportError( - "Found zarr>=3, which is not supported by ArviZ. Instead, you can use " - "'xarray.open_datatree' followed by 'arviz.InferenceData.from_datatree' " - "(needs xarray>=2024.11.0)" - ) - - # Check store type and create store if necessary - if isinstance(store, str): - store = zarr.storage.DirectoryStore(path=store) - elif isinstance(store, zarr.hierarchy.Group): - store = store.store - elif not isinstance(store, MutableMapping): - raise TypeError(f"No valid store found: {store}") - - groups = {} - zarr_handle = zarr.open(store, mode="r") - - # Open each group via xarray method - for key_group, _ in zarr_handle.groups(): - with xr.open_zarr(store=store, group=key_group) as data: - groups[key_group] = data.load() if rcParams["data.load"] == "eager" else data - - with xr.open_zarr(store=store) as root: - attrs = root.attrs - - return InferenceData(attrs=attrs, **groups) - - def __add__(self, other: "InferenceData") -> "InferenceData": - """Concatenate two InferenceData objects.""" - return concat(self, other, copy=True, inplace=False) - - def sel( - self: InferenceDataT, - groups: Optional[Union[str, List[str]]] = None, - filter_groups: Optional["Literal['like', 'regex']"] = None, - inplace: bool = False, - chain_prior: Optional[bool] = None, - **kwargs: Any, - ) -> Optional[InferenceDataT]: - """Perform an xarray selection on all groups. - - Loops groups to perform Dataset.sel(key=item) - for every kwarg if key is a dimension of the dataset. - One example could be performing a burn in cut on the InferenceData object - or discarding a chain. The selection is performed on all relevant groups (like - posterior, prior, sample stats) while non relevant groups like observed data are - omitted. See :meth:`xarray.Dataset.sel ` - - Parameters - ---------- - groups : str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups : {None, "like", "regex"}, optional, default=None - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - inplace : bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - chain_prior : bool, optional, deprecated - If ``False``, do not select prior related groups using ``chain`` dim. - Otherwise, use selection on ``chain`` if present. Default=False - kwargs : dict, optional - It must be accepted by Dataset.sel(). - - Returns - ------- - InferenceData - A new InferenceData object by default. - When `inplace==True` perform selection in-place and return `None` - - Examples - -------- - Use ``sel`` to discard one chain of the InferenceData object. We first check the - dimensions of the original object: - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("centered_eight") - idata - - In order to remove the third chain: - - .. jupyter-execute:: - - idata_subset = idata.sel(chain=[0, 1, 3], groups="posterior_groups") - idata_subset - - See Also - -------- - xarray.Dataset.sel : - Returns a new dataset with each array indexed by tick labels along the specified - dimension(s). - isel : Returns a new dataset with each array indexed along the specified dimension(s). - """ - if chain_prior is not None: - warnings.warn( - "chain_prior has been deprecated. Use groups argument and " - "rcParams['data.metagroups'] instead.", - DeprecationWarning, - ) - else: - chain_prior = False - group_names = self._group_names(groups, filter_groups) - - out = self if inplace else deepcopy(self) - for group in group_names: - dataset = getattr(self, group) - valid_keys = set(kwargs.keys()).intersection(dataset.dims) - if not chain_prior and "prior" in group: - valid_keys -= {"chain"} - dataset = dataset.sel(**{key: kwargs[key] for key in valid_keys}) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def isel( - self: InferenceDataT, - groups: Optional[Union[str, List[str]]] = None, - filter_groups: Optional["Literal['like', 'regex']"] = None, - inplace: bool = False, - **kwargs: Any, - ) -> Optional[InferenceDataT]: - """Perform an xarray selection on all groups. - - Loops groups to perform Dataset.isel(key=item) - for every kwarg if key is a dimension of the dataset. - One example could be performing a burn in cut on the InferenceData object - or discarding a chain. The selection is performed on all relevant groups (like - posterior, prior, sample stats) while non relevant groups like observed data are - omitted. See :meth:`xarray:xarray.Dataset.isel` - - Parameters - ---------- - groups : str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups : {None, "like", "regex"}, optional - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - inplace : bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - kwargs : dict, optional - It must be accepted by :meth:`xarray:xarray.Dataset.isel`. - - Returns - ------- - InferenceData - A new InferenceData object by default. - When `inplace==True` perform selection in-place and return `None` - - Examples - -------- - Use ``isel`` to discard one chain of the InferenceData object. We first check the - dimensions of the original object: - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("centered_eight") - idata - - In order to remove the third chain: - - .. jupyter-execute:: - - idata_subset = idata.isel(chain=[0, 1, 3], groups="posterior_groups") - idata_subset - - You can expand the groups and coords in each group to see how now only the chains 0, 1 and - 3 are present. - - See Also - -------- - xarray.Dataset.isel : - Returns a new dataset with each array indexed along the specified dimension(s). - sel : - Returns a new dataset with each array indexed by tick labels along the specified - dimension(s). - """ - group_names = self._group_names(groups, filter_groups) - - out = self if inplace else deepcopy(self) - for group in group_names: - dataset = getattr(self, group) - valid_keys = set(kwargs.keys()).intersection(dataset.dims) - dataset = dataset.isel(**{key: kwargs[key] for key in valid_keys}) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def stack( - self, - dimensions=None, - groups=None, - filter_groups=None, - inplace=False, - **kwargs, - ): - """Perform an xarray stacking on all groups. - - Stack any number of existing dimensions into a single new dimension. - Loops groups to perform Dataset.stack(key=value) - for every kwarg if value is a dimension of the dataset. - The selection is performed on all relevant groups (like - posterior, prior, sample stats) while non relevant groups like observed data are - omitted. See :meth:`xarray:xarray.Dataset.stack` - - Parameters - ---------- - dimensions : dict, optional - Names of new dimensions, and the existing dimensions that they replace. - groups: str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups : {None, "like", "regex"}, optional - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - inplace : bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - kwargs : dict, optional - It must be accepted by :meth:`xarray:xarray.Dataset.stack`. - - Returns - ------- - InferenceData - A new InferenceData object by default. - When `inplace==True` perform selection in-place and return `None` - - Examples - -------- - Use ``stack`` to stack any number of existing dimensions into a single new dimension. - We first check the original object: - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("rugby") - idata - - In order to stack two dimensions ``chain`` and ``draw`` to ``sample``, we can use: - - .. jupyter-execute:: - - idata.stack(sample=["chain", "draw"], inplace=True) - idata - - We can also take the example of custom InferenceData object and perform stacking. We first - check the original object: - - .. jupyter-execute:: - - import numpy as np - datadict = { - "a": np.random.randn(100), - "b": np.random.randn(1, 100, 10), - "c": np.random.randn(1, 100, 3, 4), - } - coords = { - "c1": np.arange(3), - "c99": np.arange(4), - "b1": np.arange(10), - } - dims = {"c": ["c1", "c99"], "b": ["b1"]} - idata = az.from_dict( - posterior=datadict, posterior_predictive=datadict, coords=coords, dims=dims - ) - idata - - In order to stack two dimensions ``c1`` and ``c99`` to ``z``, we can use: - - .. jupyter-execute:: - - idata.stack(z=["c1", "c99"], inplace=True) - idata - - See Also - -------- - xarray.Dataset.stack : Stack any number of existing dimensions into a single new dimension. - unstack : Perform an xarray unstacking on all groups of InferenceData object. - """ - groups = self._group_names(groups, filter_groups) - - dimensions = {} if dimensions is None else dimensions - dimensions.update(kwargs) - out = self if inplace else deepcopy(self) - for group in groups: - dataset = getattr(self, group) - kwarg_dict = {} - for key, value in dimensions.items(): - try: - if not set(value).difference(dataset.dims): - kwarg_dict[key] = value - except TypeError: - kwarg_dict[key] = value - dataset = dataset.stack(**kwarg_dict) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def unstack(self, dim=None, groups=None, filter_groups=None, inplace=False): - """Perform an xarray unstacking on all groups. - - Unstack existing dimensions corresponding to MultiIndexes into multiple new dimensions. - Loops groups to perform Dataset.unstack(key=value). - The selection is performed on all relevant groups (like posterior, prior, - sample stats) while non relevant groups like observed data are omitted. - See :meth:`xarray:xarray.Dataset.unstack` - - Parameters - ---------- - dim : Hashable or iterable of Hashable, optional - Dimension(s) over which to unstack. By default unstacks all MultiIndexes. - groups : str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups : {None, "like", "regex"}, optional - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - inplace : bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - - Returns - ------- - InferenceData - A new InferenceData object by default. - When `inplace==True` perform selection in place and return `None` - - Examples - -------- - Use ``unstack`` to unstack existing dimensions corresponding to MultiIndexes into - multiple new dimensions. We first stack two dimensions ``c1`` and ``c99`` to ``z``: - - .. jupyter-execute:: - - import arviz as az - import numpy as np - datadict = { - "a": np.random.randn(100), - "b": np.random.randn(1, 100, 10), - "c": np.random.randn(1, 100, 3, 4), - } - coords = { - "c1": np.arange(3), - "c99": np.arange(4), - "b1": np.arange(10), - } - dims = {"c": ["c1", "c99"], "b": ["b1"]} - idata = az.from_dict( - posterior=datadict, posterior_predictive=datadict, coords=coords, dims=dims - ) - idata.stack(z=["c1", "c99"], inplace=True) - idata - - In order to unstack the dimension ``z``, we use: - - .. jupyter-execute:: - - idata.unstack(inplace=True) - idata - - See Also - -------- - xarray.Dataset.unstack : - Unstack existing dimensions corresponding to MultiIndexes into multiple new dimensions. - stack : Perform an xarray stacking on all groups of InferenceData object. - """ - groups = self._group_names(groups, filter_groups) - if isinstance(dim, str): - dim = [dim] - - out = self if inplace else deepcopy(self) - for group in groups: - dataset = getattr(self, group) - valid_dims = set(dim).intersection(dataset.dims) if dim is not None else dim - dataset = dataset.unstack(dim=valid_dims) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def rename(self, name_dict=None, groups=None, filter_groups=None, inplace=False): - """Perform xarray renaming of variable and dimensions on all groups. - - Loops groups to perform Dataset.rename(name_dict) - for every key in name_dict if key is a dimension/data_vars of the dataset. - The renaming is performed on all relevant groups (like - posterior, prior, sample stats) while non relevant groups like observed data are - omitted. See :meth:`xarray:xarray.Dataset.rename` - - Parameters - ---------- - name_dict : dict - Dictionary whose keys are current variable or dimension names - and whose values are the desired names. - groups : str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups : {None, "like", "regex"}, optional - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - inplace : bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - - Returns - ------- - InferenceData - A new InferenceData object by default. - When `inplace==True` perform renaming in-place and return `None` - - Examples - -------- - Use ``rename`` to renaming of variable and dimensions on all groups of the InferenceData - object. We first check the original object: - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("rugby") - idata - - In order to rename the dimensions and variable, we use: - - .. jupyter-execute:: - - idata.rename({"team": "team_new", "match":"match_new"}, inplace=True) - idata - - See Also - -------- - xarray.Dataset.rename : Returns a new object with renamed variables and dimensions. - rename_vars : - Perform xarray renaming of variable or coordinate names on all groups of an - InferenceData object. - rename_dims : Perform xarray renaming of dimensions on all groups of InferenceData object. - """ - groups = self._group_names(groups, filter_groups) - if "chain" in name_dict.keys() or "draw" in name_dict.keys(): - raise KeyError("'chain' or 'draw' dimensions can't be renamed") - out = self if inplace else deepcopy(self) - - for group in groups: - dataset = getattr(self, group) - expected_keys = list(dataset.data_vars) + list(dataset.dims) - valid_keys = set(name_dict.keys()).intersection(expected_keys) - dataset = dataset.rename({key: name_dict[key] for key in valid_keys}) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def rename_vars(self, name_dict=None, groups=None, filter_groups=None, inplace=False): - """Perform xarray renaming of variable or coordinate names on all groups. - - Loops groups to perform Dataset.rename_vars(name_dict) - for every key in name_dict if key is a variable or coordinate names of the dataset. - The renaming is performed on all relevant groups (like - posterior, prior, sample stats) while non relevant groups like observed data are - omitted. See :meth:`xarray:xarray.Dataset.rename_vars` - - Parameters - ---------- - name_dict : dict - Dictionary whose keys are current variable or coordinate names - and whose values are the desired names. - groups : str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups : {None, "like", "regex"}, optional - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - inplace : bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - - - Returns - ------- - InferenceData - A new InferenceData object with renamed variables including coordinates by default. - When `inplace==True` perform renaming in-place and return `None` - - Examples - -------- - Use ``rename_vars`` to renaming of variable and coordinates on all groups of the - InferenceData object. We first check the data variables of original object: - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("rugby") - idata - - In order to rename the data variables, we use: - - .. jupyter-execute:: - - idata.rename_vars({"home": "home_new"}, inplace=True) - idata - - See Also - -------- - xarray.Dataset.rename_vars : - Returns a new object with renamed variables including coordinates. - rename : - Perform xarray renaming of variable and dimensions on all groups of an InferenceData - object. - rename_dims : Perform xarray renaming of dimensions on all groups of InferenceData object. - """ - groups = self._group_names(groups, filter_groups) - - out = self if inplace else deepcopy(self) - for group in groups: - dataset = getattr(self, group) - valid_keys = set(name_dict.keys()).intersection(dataset.data_vars) - dataset = dataset.rename_vars({key: name_dict[key] for key in valid_keys}) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def rename_dims(self, name_dict=None, groups=None, filter_groups=None, inplace=False): - """Perform xarray renaming of dimensions on all groups. - - Loops groups to perform Dataset.rename_dims(name_dict) - for every key in name_dict if key is a dimension of the dataset. - The renaming is performed on all relevant groups (like - posterior, prior, sample stats) while non relevant groups like observed data are - omitted. See :meth:`xarray:xarray.Dataset.rename_dims` - - Parameters - ---------- - name_dict : dict - Dictionary whose keys are current dimension names and whose values are the desired - names. - groups : str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups : {None, "like", "regex"}, optional - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - inplace : bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - - Returns - ------- - InferenceData - A new InferenceData object with renamed dimension by default. - When `inplace==True` perform renaming in-place and return `None` - - Examples - -------- - Use ``rename_dims`` to renaming of dimensions on all groups of the InferenceData - object. We first check the dimensions of original object: - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("rugby") - idata - - In order to rename the dimensions, we use: - - .. jupyter-execute:: - - idata.rename_dims({"team": "team_new"}, inplace=True) - idata - - See Also - -------- - xarray.Dataset.rename_dims : Returns a new object with renamed dimensions only. - rename : - Perform xarray renaming of variable and dimensions on all groups of an InferenceData - object. - rename_vars : - Perform xarray renaming of variable or coordinate names on all groups of an - InferenceData object. - """ - groups = self._group_names(groups, filter_groups) - if "chain" in name_dict.keys() or "draw" in name_dict.keys(): - raise KeyError("'chain' or 'draw' dimensions can't be renamed") - - out = self if inplace else deepcopy(self) - for group in groups: - dataset = getattr(self, group) - valid_keys = set(name_dict.keys()).intersection(dataset.dims) - dataset = dataset.rename_dims({key: name_dict[key] for key in valid_keys}) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def add_groups( - self, group_dict=None, coords=None, dims=None, warn_on_custom_groups=False, **kwargs - ): - """Add new groups to InferenceData object. - - Parameters - ---------- - group_dict : dict of {str : dict or xarray.Dataset}, optional - Groups to be added - coords : dict of {str : array_like}, optional - Coordinates for the dataset - dims : dict of {str : list of str}, optional - Dimensions of each variable. The keys are variable names, values are lists of - coordinates. - warn_on_custom_groups : bool, default False - Emit a warning when custom groups are present in the InferenceData. - "custom group" means any group whose name isn't defined in :ref:`schema` - kwargs : dict, optional - The keyword arguments form of group_dict. One of group_dict or kwargs must be provided. - - Examples - -------- - Add a ``log_likelihood`` group to the "rugby" example InferenceData after loading. - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("rugby") - del idata.log_likelihood - idata2 = idata.copy() - post = idata.posterior - obs = idata.observed_data - idata - - Knowing the model, we can compute it manually. In this case however, - we will generate random samples with the right shape. - - .. jupyter-execute:: - - import numpy as np - rng = np.random.default_rng(73) - ary = rng.normal(size=(post.sizes["chain"], post.sizes["draw"], obs.sizes["match"])) - idata.add_groups( - log_likelihood={"home_points": ary}, - dims={"home_points": ["match"]}, - ) - idata - - This is fine if we have raw data, but a bit inconvenient if we start with labeled - data already. Why provide dims and coords manually again? - Let's generate a fake log likelihood (doesn't match the model but it serves just - the same for illustration purposes here) working from the posterior and - observed_data groups manually: - - .. jupyter-execute:: - - import xarray as xr - from xarray_einstats.stats import XrDiscreteRV - from scipy.stats import poisson - dist = XrDiscreteRV(poisson, np.exp(post["atts"])) - log_lik = dist.logpmf(obs["home_points"]).to_dataset(name="home_points") - idata2.add_groups({"log_likelihood": log_lik}) - idata2 - - Note that in the first example we have used the ``kwargs`` argument - and in the second we have used the ``group_dict`` one. - - See Also - -------- - extend : Extend InferenceData with groups from another InferenceData. - concat : Concatenate InferenceData objects. - """ - group_dict = either_dict_or_kwargs(group_dict, kwargs, "add_groups") - if not group_dict: - raise ValueError("One of group_dict or kwargs must be provided.") - repeated_groups = [group for group in group_dict.keys() if group in self._groups] - if repeated_groups: - raise ValueError(f"{repeated_groups} group(s) already exists.") - for group, dataset in group_dict.items(): - if warn_on_custom_groups and group not in SUPPORTED_GROUPS_ALL: - warnings.warn( - f"The group {group} is not defined in the InferenceData scheme", - UserWarning, - ) - if dataset is None: - continue - elif isinstance(dataset, dict): - if ( - group in ("observed_data", "constant_data", "predictions_constant_data") - or group not in SUPPORTED_GROUPS_ALL - ): - warnings.warn( - "the default dims 'chain' and 'draw' will be added automatically", - UserWarning, - ) - dataset = dict_to_dataset(dataset, coords=coords, dims=dims) - elif isinstance(dataset, xr.DataArray): - if dataset.name is None: - dataset.name = "x" - dataset = dataset.to_dataset() - elif not isinstance(dataset, xr.Dataset): - raise ValueError( - "Arguments to add_groups() must be xr.Dataset, xr.Dataarray or dicts\ - (argument '{}' was type '{}')".format( - group, type(dataset) - ) - ) - if dataset: - setattr(self, group, dataset) - if group.startswith(WARMUP_TAG): - supported_order = [ - key for key in SUPPORTED_GROUPS_ALL if key in self._groups_warmup - ] - if (supported_order == self._groups_warmup) and (group in SUPPORTED_GROUPS_ALL): - group_order = [ - key - for key in SUPPORTED_GROUPS_ALL - if key in self._groups_warmup + [group] - ] - group_idx = group_order.index(group) - self._groups_warmup.insert(group_idx, group) - else: - self._groups_warmup.append(group) - else: - supported_order = [key for key in SUPPORTED_GROUPS_ALL if key in self._groups] - if (supported_order == self._groups) and (group in SUPPORTED_GROUPS_ALL): - group_order = [ - key for key in SUPPORTED_GROUPS_ALL if key in self._groups + [group] - ] - group_idx = group_order.index(group) - self._groups.insert(group_idx, group) - else: - self._groups.append(group) - - def extend(self, other, join="left", warn_on_custom_groups=False): - """Extend InferenceData with groups from another InferenceData. - - Parameters - ---------- - other : InferenceData - InferenceData to be added - join : {'left', 'right'}, default 'left' - Defines how the two decide which group to keep when the same group is - present in both objects. 'left' will discard the group in ``other`` whereas 'right' - will keep the group in ``other`` and discard the one in ``self``. - warn_on_custom_groups : bool, default False - Emit a warning when custom groups are present in the InferenceData. - "custom group" means any group whose name isn't defined in :ref:`schema` - - Examples - -------- - Take two InferenceData objects, and extend the first with the groups it doesn't have - but are present in the 2nd InferenceData object. - - First InferenceData: - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("radon") - - Second InferenceData: - - .. jupyter-execute:: - - other_idata = az.load_arviz_data("rugby") - - Call the ``extend`` method: - - .. jupyter-execute:: - - idata.extend(other_idata) - idata - - See how now the first InferenceData has more groups, with the data from the - second one, but the groups it originally had have not been modified, - even if also present in the second InferenceData. - - See Also - -------- - add_groups : Add new groups to InferenceData object. - concat : Concatenate InferenceData objects. - - """ - if not isinstance(other, InferenceData): - raise ValueError("Extending is possible between two InferenceData objects only.") - if join not in ("left", "right"): - raise ValueError(f"join must be either 'left' or 'right', found {join}") - for group in other._groups_all: # pylint: disable=protected-access - if hasattr(self, group) and join == "left": - continue - if warn_on_custom_groups and group not in SUPPORTED_GROUPS_ALL: - warnings.warn( - f"{group} group is not defined in the InferenceData scheme", UserWarning - ) - dataset = getattr(other, group) - setattr(self, group, dataset) - if group.startswith(WARMUP_TAG): - if group not in self._groups_warmup: - supported_order = [ - key for key in SUPPORTED_GROUPS_ALL if key in self._groups_warmup - ] - if (supported_order == self._groups_warmup) and (group in SUPPORTED_GROUPS_ALL): - group_order = [ - key - for key in SUPPORTED_GROUPS_ALL - if key in self._groups_warmup + [group] - ] - group_idx = group_order.index(group) - self._groups_warmup.insert(group_idx, group) - else: - self._groups_warmup.append(group) - elif group not in self._groups: - supported_order = [key for key in SUPPORTED_GROUPS_ALL if key in self._groups] - if (supported_order == self._groups) and (group in SUPPORTED_GROUPS_ALL): - group_order = [ - key for key in SUPPORTED_GROUPS_ALL if key in self._groups + [group] - ] - group_idx = group_order.index(group) - self._groups.insert(group_idx, group) - else: - self._groups.append(group) - - set_index = _extend_xr_method(xr.Dataset.set_index, see_also="reset_index") - get_index = _extend_xr_method(xr.Dataset.get_index) - reset_index = _extend_xr_method(xr.Dataset.reset_index, see_also="set_index") - set_coords = _extend_xr_method(xr.Dataset.set_coords, see_also="reset_coords") - reset_coords = _extend_xr_method(xr.Dataset.reset_coords, see_also="set_coords") - assign = _extend_xr_method(xr.Dataset.assign) - assign_coords = _extend_xr_method(xr.Dataset.assign_coords) - sortby = _extend_xr_method(xr.Dataset.sortby) - chunk = _extend_xr_method(xr.Dataset.chunk) - unify_chunks = _extend_xr_method(xr.Dataset.unify_chunks) - load = _extend_xr_method(xr.Dataset.load) - compute = _extend_xr_method(xr.Dataset.compute) - persist = _extend_xr_method(xr.Dataset.persist) - quantile = _extend_xr_method(xr.Dataset.quantile) - close = _extend_xr_method(xr.Dataset.close) - - # The following lines use methods on xr.Dataset that are dynamically defined and attached. - # As a result mypy cannot see them, so we have to suppress the resulting mypy errors. - mean = _extend_xr_method(xr.Dataset.mean, see_also="median") # type: ignore[attr-defined] - median = _extend_xr_method(xr.Dataset.median, see_also="mean") # type: ignore[attr-defined] - min = _extend_xr_method(xr.Dataset.min, see_also=["max", "sum"]) # type: ignore[attr-defined] - max = _extend_xr_method(xr.Dataset.max, see_also=["min", "sum"]) # type: ignore[attr-defined] - cumsum = _extend_xr_method(xr.Dataset.cumsum, see_also="sum") # type: ignore[attr-defined] - sum = _extend_xr_method(xr.Dataset.sum, see_also="cumsum") # type: ignore[attr-defined] - - def _group_names( - self, - groups: Optional[Union[str, List[str]]], - filter_groups: Optional["Literal['like', 'regex']"] = None, - ) -> List[str]: - """Handle expansion of group names input across arviz. - - Parameters - ---------- - groups: str, list of str or None - group or metagroup names. - idata: xarray.Dataset - Posterior data in an xarray - filter_groups: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret groups as the real group or metagroup names. - If "like", interpret groups as substrings of the real group or metagroup names. - If "regex", interpret groups as regular expressions on the real group or - metagroup names. A la `pandas.filter`. - - Returns - ------- - groups: list - """ - if filter_groups not in {None, "like", "regex"}: - raise ValueError( - f"'filter_groups' can only be None, 'like', or 'regex', got: '{filter_groups}'" - ) - - all_groups = self._groups_all - if groups is None: - return all_groups - if isinstance(groups, str): - groups = [groups] - sel_groups = [] - metagroups = rcParams["data.metagroups"] - for group in groups: - if group[0] == "~": - sel_groups.extend( - [f"~{item}" for item in metagroups[group[1:]] if item in all_groups] - if group[1:] in metagroups - else [group] - ) - else: - sel_groups.extend( - [item for item in metagroups[group] if item in all_groups] - if group in metagroups - else [group] - ) - - try: - group_names = _subset_list(sel_groups, all_groups, filter_items=filter_groups) - except KeyError as err: - msg = " ".join(("groups:", f"{err}", "in InferenceData")) - raise KeyError(msg) from err - return group_names - - def map(self, fun, groups=None, filter_groups=None, inplace=False, args=None, **kwargs): - """Apply a function to multiple groups. - - Applies ``fun`` groupwise to the selected ``InferenceData`` groups and overwrites the - group with the result of the function. - - Parameters - ---------- - fun : callable - Function to be applied to each group. Assumes the function is called as - ``fun(dataset, *args, **kwargs)``. - groups : str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - filter_groups : {None, "like", "regex"}, optional - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - `pandas.filter`. - inplace : bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - args : array_like, optional - Positional arguments passed to ``fun``. - **kwargs : mapping, optional - Keyword arguments passed to ``fun``. - - Returns - ------- - InferenceData - A new InferenceData object by default. - When `inplace==True` perform selection in place and return `None` - - Examples - -------- - Shift observed_data, prior_predictive and posterior_predictive. - - .. jupyter-execute:: - - import arviz as az - import numpy as np - idata = az.load_arviz_data("non_centered_eight") - idata_shifted_obs = idata.map(lambda x: x + 3, groups="observed_vars") - idata_shifted_obs - - Rename and update the coordinate values in both posterior and prior groups. - - .. jupyter-execute:: - - idata = az.load_arviz_data("radon") - idata = idata.map( - lambda ds: ds.rename({"g_coef": "uranium_coefs"}).assign( - uranium_coefs=["intercept", "u_slope"] - ), - groups=["posterior", "prior"] - ) - idata - - Add extra coordinates to all groups containing observed variables - - .. jupyter-execute:: - - idata = az.load_arviz_data("rugby") - home_team, away_team = np.array([ - m.split() for m in idata.observed_data.match.values - ]).T - idata = idata.map( - lambda ds, **kwargs: ds.assign_coords(**kwargs), - groups="observed_vars", - home_team=("match", home_team), - away_team=("match", away_team), - ) - idata - - """ - if args is None: - args = [] - groups = self._group_names(groups, filter_groups) - - out = self if inplace else deepcopy(self) - for group in groups: - dataset = getattr(self, group) - dataset = fun(dataset, *args, **kwargs) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def _wrap_xarray_method( - self, method, groups=None, filter_groups=None, inplace=False, args=None, **kwargs - ): - """Extend and xarray.Dataset method to InferenceData object. - - Parameters - ---------- - method: str - Method to be extended. Must be a ``xarray.Dataset`` method. - groups: str or list of str, optional - Groups where the selection is to be applied. Can either be group names - or metagroup names. - inplace: bool, optional - If ``True``, modify the InferenceData object inplace, - otherwise, return the modified copy. - **kwargs: mapping, optional - Keyword arguments passed to the xarray Dataset method. - - Returns - ------- - InferenceData - A new InferenceData object by default. - When `inplace==True` perform selection in place and return `None` - - Examples - -------- - Compute the mean of `posterior_groups`: - - .. ipython:: - - In [1]: import arviz as az - ...: idata = az.load_arviz_data("non_centered_eight") - ...: idata_means = idata._wrap_xarray_method("mean", groups="latent_vars") - ...: print(idata_means.posterior) - ...: print(idata_means.observed_data) - - .. ipython:: - - In [1]: idata_stack = idata._wrap_xarray_method( - ...: "stack", - ...: groups=["posterior_groups", "prior_groups"], - ...: sample=["chain", "draw"] - ...: ) - ...: print(idata_stack.posterior) - ...: print(idata_stack.prior) - ...: print(idata_stack.observed_data) - - """ - if args is None: - args = [] - groups = self._group_names(groups, filter_groups) - - method = getattr(xr.Dataset, method) - - out = self if inplace else deepcopy(self) - for group in groups: - dataset = getattr(self, group) - dataset = method(dataset, *args, **kwargs) - setattr(out, group, dataset) - if inplace: - return None - else: - return out - - def copy(self) -> "InferenceData": - """Return a fresh copy of the ``InferenceData`` object.""" - return deepcopy(self) - - -@overload -def concat( - *args, - dim: Optional[str] = None, - copy: bool = True, - inplace: "Literal[True]", - reset_dim: bool = True, -) -> None: ... - - -@overload -def concat( - *args, - dim: Optional[str] = None, - copy: bool = True, - inplace: "Literal[False]", - reset_dim: bool = True, -) -> InferenceData: ... - - -@overload -def concat( - ids: Iterable[InferenceData], - dim: Optional[str] = None, - *, - copy: bool = True, - inplace: "Literal[False]", - reset_dim: bool = True, -) -> InferenceData: ... - - -@overload -def concat( - ids: Iterable[InferenceData], - dim: Optional[str] = None, - *, - copy: bool = True, - inplace: "Literal[True]", - reset_dim: bool = True, -) -> None: ... - - -@overload -def concat( - ids: Iterable[InferenceData], - dim: Optional[str] = None, - *, - copy: bool = True, - inplace: bool = False, - reset_dim: bool = True, -) -> Optional[InferenceData]: ... - - -# pylint: disable=protected-access, inconsistent-return-statements -def concat(*args, dim=None, copy=True, inplace=False, reset_dim=True): - """Concatenate InferenceData objects. - - Concatenates over `group`, `chain` or `draw`. - By default concatenates over unique groups. - To concatenate over `chain` or `draw` function - needs identical groups and variables. - - The `variables` in the `data` -group are merged if `dim` are not found. - - - Parameters - ---------- - *args : InferenceData - Variable length InferenceData list or - Sequence of InferenceData. - dim : str, optional - If defined, concatenated over the defined dimension. - Dimension which is concatenated. If None, concatenates over - unique groups. - copy : bool - If True, groups are copied to the new InferenceData object. - Used only if `dim` is None. - inplace : bool - If True, merge args to first object. - reset_dim : bool - Valid only if dim is not None. - - Returns - ------- - InferenceData - A new InferenceData object by default. - When `inplace==True` merge args to first arg and return `None` - - See Also - -------- - add_groups : Add new groups to InferenceData object. - extend : Extend InferenceData with groups from another InferenceData. - - Examples - -------- - Use ``concat`` method to concatenate InferenceData objects. This will concatenates over - unique groups by default. We first create an ``InferenceData`` object: - - .. ipython:: - - In [1]: import arviz as az - ...: import numpy as np - ...: data = { - ...: "a": np.random.normal(size=(4, 100, 3)), - ...: "b": np.random.normal(size=(4, 100)), - ...: } - ...: coords = {"a_dim": ["x", "y", "z"]} - ...: dataA = az.from_dict(data, coords=coords, dims={"a": ["a_dim"]}) - ...: dataA - - We have created an ``InferenceData`` object with default group 'posterior'. Now, we will - create another ``InferenceData`` object: - - .. ipython:: - - In [1]: dataB = az.from_dict(prior=data, coords=coords, dims={"a": ["a_dim"]}) - ...: dataB - - We have created another ``InferenceData`` object with group 'prior'. Now, we will concatenate - these two ``InferenceData`` objects: - - .. ipython:: - - In [1]: az.concat(dataA, dataB) - - Now, we will concatenate over chain (or draw). It requires identical groups and variables. - Here we are concatenating two identical ``InferenceData`` objects over dimension chain: - - .. ipython:: - - In [1]: az.concat(dataA, dataA, dim="chain") - - It will create an ``InferenceData`` with the original group 'posterior'. In similar way, - we can also concatenate over draws. - - """ - # pylint: disable=undefined-loop-variable, too-many-nested-blocks - if len(args) == 0: - if inplace: - return - return InferenceData() - - if len(args) == 1 and isinstance(args[0], Sequence): - args = args[0] - - # assert that all args are InferenceData - for i, arg in enumerate(args): - if not isinstance(arg, InferenceData): - raise TypeError( - "Concatenating is supported only" - "between InferenceData objects. Input arg {} is {}".format(i, type(arg)) - ) - - if dim is not None and dim.lower() not in {"group", "chain", "draw"}: - msg = f'Invalid `dim`: {dim}. Valid `dim` are {{"group", "chain", "draw"}}' - raise TypeError(msg) - dim = dim.lower() if dim is not None else dim - - if len(args) == 1 and isinstance(args[0], InferenceData): - if inplace: - return None - else: - if copy: - return deepcopy(args[0]) - else: - return args[0] - - current_time = datetime.datetime.now(datetime.timezone.utc).isoformat() - combined_attr = defaultdict(list) - for idata in args: - for key, val in idata.attrs.items(): - combined_attr[key].append(val) - - for key, val in combined_attr.items(): - all_same = True - for indx in range(len(val) - 1): - if val[indx] != val[indx + 1]: - all_same = False - break - if all_same: - combined_attr[key] = val[0] - if inplace: - setattr(args[0], "_attrs", dict(combined_attr)) - - if not inplace: - # Keep order for python 3.5 - inference_data_dict = OrderedDict() - - if dim is None: - arg0 = args[0] - arg0_groups = ccopy(arg0._groups_all) - args_groups = {} - # check if groups are independent - # Concat over unique groups - for arg in args[1:]: - for group in arg._groups_all: - if group in args_groups or group in arg0_groups: - msg = ( - "Concatenating overlapping groups is not supported unless `dim` is defined." - " Valid dimensions are `chain` and `draw`. Alternatively, use extend to" - " combine InferenceData with overlapping groups" - ) - raise TypeError(msg) - group_data = getattr(arg, group) - args_groups[group] = deepcopy(group_data) if copy else group_data - # add arg0 to args_groups if inplace is False - # otherwise it will merge args_groups to arg0 - # inference data object - if not inplace: - for group in arg0_groups: - group_data = getattr(arg0, group) - args_groups[group] = deepcopy(group_data) if copy else group_data - - other_groups = [group for group in args_groups if group not in SUPPORTED_GROUPS_ALL] - - for group in SUPPORTED_GROUPS_ALL + other_groups: - if group not in args_groups: - continue - if inplace: - if group.startswith(WARMUP_TAG): - arg0._groups_warmup.append(group) - else: - arg0._groups.append(group) - setattr(arg0, group, args_groups[group]) - else: - inference_data_dict[group] = args_groups[group] - if inplace: - other_groups = [ - group for group in arg0_groups if group not in SUPPORTED_GROUPS_ALL - ] + other_groups - sorted_groups = [ - group for group in SUPPORTED_GROUPS + other_groups if group in arg0._groups - ] - setattr(arg0, "_groups", sorted_groups) - sorted_groups_warmup = [ - group - for group in SUPPORTED_GROUPS_WARMUP + other_groups - if group in arg0._groups_warmup - ] - setattr(arg0, "_groups_warmup", sorted_groups_warmup) - else: - arg0 = args[0] - arg0_groups = arg0._groups_all - for arg in args[1:]: - for group0 in arg0_groups: - if group0 not in arg._groups_all: - if group0 == "observed_data": - continue - msg = "Mismatch between the groups." - raise TypeError(msg) - for group in arg._groups_all: - # handle data groups separately - if group not in ["observed_data", "constant_data", "predictions_constant_data"]: - # assert that groups are equal - if group not in arg0_groups: - msg = "Mismatch between the groups." - raise TypeError(msg) - - # assert that variables are equal - group_data = getattr(arg, group) - group_vars = group_data.data_vars - - if not inplace and group in inference_data_dict: - group0_data = inference_data_dict[group] - else: - group0_data = getattr(arg0, group) - group0_vars = group0_data.data_vars - - for var in group0_vars: - if var not in group_vars: - msg = "Mismatch between the variables." - raise TypeError(msg) - - for var in group_vars: - if var not in group0_vars: - msg = "Mismatch between the variables." - raise TypeError(msg) - var_dims = group_data[var].dims - var0_dims = group0_data[var].dims - if var_dims != var0_dims: - msg = "Mismatch between the dimensions." - raise TypeError(msg) - - if dim not in var_dims or dim not in var0_dims: - msg = f"Dimension {dim} missing." - raise TypeError(msg) - - # xr.concat - concatenated_group = xr.concat((group0_data, group_data), dim=dim) - if reset_dim: - concatenated_group[dim] = range(concatenated_group[dim].size) - - # handle attrs - if hasattr(group0_data, "attrs"): - group0_attrs = deepcopy(getattr(group0_data, "attrs")) - else: - group0_attrs = OrderedDict() - - if hasattr(group_data, "attrs"): - group_attrs = getattr(group_data, "attrs") - else: - group_attrs = {} - - # gather attrs results to group0_attrs - for attr_key, attr_values in group_attrs.items(): - group0_attr_values = group0_attrs.get(attr_key, None) - equality = attr_values == group0_attr_values - if hasattr(equality, "__iter__"): - equality = np.all(equality) - if equality: - continue - # handle special cases: - if attr_key in ("created_at", "previous_created_at"): - # check the defaults - if not hasattr(group0_attrs, "previous_created_at"): - group0_attrs["previous_created_at"] = [] - if group0_attr_values is not None: - group0_attrs["previous_created_at"].append(group0_attr_values) - # check previous values - if attr_key == "previous_created_at": - if not isinstance(attr_values, list): - attr_values = [attr_values] - group0_attrs["previous_created_at"].extend(attr_values) - continue - # update "created_at" - if group0_attr_values != current_time: - group0_attrs[attr_key] = current_time - group0_attrs["previous_created_at"].append(attr_values) - - elif attr_key in group0_attrs: - combined_key = f"combined_{attr_key}" - if combined_key not in group0_attrs: - group0_attrs[combined_key] = [group0_attr_values] - group0_attrs[combined_key].append(attr_values) - else: - group0_attrs[attr_key] = attr_values - # update attrs - setattr(concatenated_group, "attrs", group0_attrs) - - if inplace: - setattr(arg0, group, concatenated_group) - else: - inference_data_dict[group] = concatenated_group - else: - # observed_data, "constant_data", "predictions_constant_data", - if group not in arg0_groups: - setattr(arg0, group, deepcopy(group_data) if copy else group_data) - arg0._groups.append(group) - continue - - # assert that variables are equal - group_data = getattr(arg, group) - group_vars = group_data.data_vars - - group0_data = getattr(arg0, group) - if not inplace: - group0_data = deepcopy(group0_data) - group0_vars = group0_data.data_vars - - for var in group_vars: - if var not in group0_vars: - var_data = group_data[var] - getattr(arg0, group)[var] = var_data - else: - var_data = group_data[var] - var0_data = group0_data[var] - if dim in var_data.dims and dim in var0_data.dims: - concatenated_var = xr.concat((group_data, group0_data), dim=dim) - group0_data[var] = concatenated_var - - # handle attrs - if hasattr(group0_data, "attrs"): - group0_attrs = getattr(group0_data, "attrs") - else: - group0_attrs = OrderedDict() - - if hasattr(group_data, "attrs"): - group_attrs = getattr(group_data, "attrs") - else: - group_attrs = {} - - # gather attrs results to group0_attrs - for attr_key, attr_values in group_attrs.items(): - group0_attr_values = group0_attrs.get(attr_key, None) - equality = attr_values == group0_attr_values - if hasattr(equality, "__iter__"): - equality = np.all(equality) - if equality: - continue - # handle special cases: - if attr_key in ("created_at", "previous_created_at"): - # check the defaults - if not hasattr(group0_attrs, "previous_created_at"): - group0_attrs["previous_created_at"] = [] - if group0_attr_values is not None: - group0_attrs["previous_created_at"].append(group0_attr_values) - # check previous values - if attr_key == "previous_created_at": - if not isinstance(attr_values, list): - attr_values = [attr_values] - group0_attrs["previous_created_at"].extend(attr_values) - continue - # update "created_at" - if group0_attr_values != current_time: - group0_attrs[attr_key] = current_time - group0_attrs["previous_created_at"].append(attr_values) - - elif attr_key in group0_attrs: - combined_key = f"combined_{attr_key}" - if combined_key not in group0_attrs: - group0_attrs[combined_key] = [group0_attr_values] - group0_attrs[combined_key].append(attr_values) - - else: - group0_attrs[attr_key] = attr_values - # update attrs - setattr(group0_data, "attrs", group0_attrs) - - if inplace: - setattr(arg0, group, group0_data) - else: - inference_data_dict[group] = group0_data - - if not inplace: - inference_data_dict["attrs"] = combined_attr - - return None if inplace else InferenceData(**inference_data_dict) diff --git a/arviz/data/io_beanmachine.py b/arviz/data/io_beanmachine.py deleted file mode 100644 index 3b2fa543ee..0000000000 --- a/arviz/data/io_beanmachine.py +++ /dev/null @@ -1,112 +0,0 @@ -"""beanmachine-specific conversion code.""" - -from .inference_data import InferenceData -from .base import dict_to_dataset, requires - - -class BMConverter: - """Encapsulate Bean Machine specific logic.""" - - def __init__( - self, - *, - sampler=None, - coords=None, - dims=None, - ) -> None: - self.sampler = sampler - self.coords = coords - self.dims = dims - - import beanmachine.ppl as bm # pylint: disable=import-error - - self.beanm = bm - - if "posterior" in self.sampler.namespaces: - self.posterior = self.sampler.namespaces["posterior"].samples - else: - self.posterior = None - - if "posterior_predictive" in self.sampler.namespaces: - self.posterior_predictive = self.sampler.namespaces["posterior_predictive"].samples - else: - self.posterior_predictive = None - - if self.sampler.log_likelihoods is not None: - self.log_likelihoods = self.sampler.log_likelihoods - else: - self.log_likelihoods = None - - if self.sampler.observations is not None: - self.observations = self.sampler.observations - else: - self.observations = None - - @requires("posterior") - def posterior_to_xarray(self): - """Convert the posterior to an xarray dataset.""" - data = {k: v.detach().cpu().numpy() for k, v in self.posterior.items()} - return dict_to_dataset(data, library=self.beanm, coords=self.coords, dims=self.dims) - - @requires("posterior_predictive") - def posterior_predictive_to_xarray(self): - """Convert posterior_predictive samples to xarray.""" - data = {k: v.detach().cpu().numpy() for k, v in self.posterior_predictive.items()} - return dict_to_dataset(data, library=self.beanm, coords=self.coords, dims=self.dims) - - @requires("log_likelihoods") - def log_likelihood_to_xarray(self): - data = {k: v.detach().cpu().numpy() for k, v in self.log_likelihoods.items()} - return dict_to_dataset(data, library=self.beanm, coords=self.coords, dims=self.dims) - - @requires("observations") - def observed_data_to_xarray(self): - """Convert observed data to xarray.""" - data = {k: v.detach().cpu().numpy() for k, v in self.observations.items()} - return dict_to_dataset( - data, library=self.beanm, coords=self.coords, dims=self.dims, default_dims=[] - ) - - def to_inference_data(self): - """Convert all available data to an InferenceData object.""" - return InferenceData( - **{ - "posterior": self.posterior_to_xarray(), - "posterior_predictive": self.posterior_predictive_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - "observed_data": self.observed_data_to_xarray(), - } - ) - - -def from_beanmachine( - sampler=None, - *, - coords=None, - dims=None, -): - """Convert Bean Machine MonteCarloSamples object into an InferenceData object. - - For a usage example read the - :ref:`Creating InferenceData section on from_beanmachine ` - - - Parameters - ---------- - sampler : bm.MonteCarloSamples - Fitted MonteCarloSamples object from Bean Machine - coords : dict of {str : array-like} - Map of dimensions to coordinates - dims : dict of {str : list of str} - Map variable names to their coordinates - - Warnings - -------- - `beanmachine` is no longer under active development, and therefore, it - is not possible to test this converter in ArviZ's CI. - """ - return BMConverter( - sampler=sampler, - coords=coords, - dims=dims, - ).to_inference_data() diff --git a/arviz/data/io_cmdstan.py b/arviz/data/io_cmdstan.py deleted file mode 100644 index b8e256632f..0000000000 --- a/arviz/data/io_cmdstan.py +++ /dev/null @@ -1,1036 +0,0 @@ -# pylint: disable=too-many-lines -"""CmdStan-specific conversion code.""" -try: - import ujson as json -except ImportError: - # Can't find ujson using json - # mypy struggles with conditional imports expressed as catching ImportError: - # https://github.com/python/mypy/issues/1153 - import json # type: ignore -import logging -import os -import re -from collections import defaultdict -from glob import glob -from pathlib import Path -from typing import Dict, List, Optional, Union - -import numpy as np - -from .. import utils -from ..rcparams import rcParams -from .base import CoordSpec, DimSpec, dict_to_dataset, infer_stan_dtypes, requires -from .inference_data import InferenceData - -_log = logging.getLogger(__name__) - - -def check_glob(path, group, disable_glob): - """Find files with glob.""" - if isinstance(path, str) and (not disable_glob): - path_glob = glob(path) - if path_glob: - path = sorted(path_glob) - msg = "\n".join(f"{i}: {os.path.normpath(fpath)}" for i, fpath in enumerate(path, 1)) - len_p = len(path) - _log.info("glob found %d files for '%s':\n%s", len_p, group, msg) - return path - - -class CmdStanConverter: - """Encapsulate CmdStan specific logic.""" - - # pylint: disable=too-many-instance-attributes - - def __init__( - self, - *, - posterior=None, - posterior_predictive=None, - predictions=None, - prior=None, - prior_predictive=None, - observed_data=None, - observed_data_var=None, - constant_data=None, - constant_data_var=None, - predictions_constant_data=None, - predictions_constant_data_var=None, - log_likelihood=None, - index_origin=None, - coords=None, - dims=None, - disable_glob=False, - save_warmup=None, - dtypes=None, - ): - self.posterior_ = check_glob(posterior, "posterior", disable_glob) - self.posterior_predictive = check_glob( - posterior_predictive, "posterior_predictive", disable_glob - ) - self.predictions = check_glob(predictions, "predictions", disable_glob) - self.prior_ = check_glob(prior, "prior", disable_glob) - self.prior_predictive = check_glob(prior_predictive, "prior_predictive", disable_glob) - self.log_likelihood = check_glob(log_likelihood, "log_likelihood", disable_glob) - self.observed_data = observed_data - self.observed_data_var = observed_data_var - self.constant_data = constant_data - self.constant_data_var = constant_data_var - self.predictions_constant_data = predictions_constant_data - self.predictions_constant_data_var = predictions_constant_data_var - self.coords = coords if coords is not None else {} - self.dims = dims if dims is not None else {} - - self.posterior = None - self.prior = None - self.attrs = None - self.attrs_prior = None - - self.save_warmup = rcParams["data.save_warmup"] if save_warmup is None else save_warmup - self.index_origin = index_origin - - if dtypes is None: - dtypes = {} - elif isinstance(dtypes, str): - dtypes_path = Path(dtypes) - if dtypes_path.exists(): - with dtypes_path.open("r", encoding="UTF-8") as f_obj: - model_code = f_obj.read() - else: - model_code = dtypes - - dtypes = infer_stan_dtypes(model_code) - - self.dtypes = dtypes - - # populate posterior and sample_stats - self._parse_posterior() - self._parse_prior() - - if ( - self.log_likelihood is None - and self.posterior_ is not None - and any(name.split(".")[0] == "log_lik" for name in self.posterior_columns) - ): - self.log_likelihood = ["log_lik"] - elif isinstance(self.log_likelihood, bool): - self.log_likelihood = None - - @requires("posterior_") - def _parse_posterior(self): - """Read csv paths to list of ndarrays.""" - paths = self.posterior_ - if isinstance(paths, str): - paths = [paths] - - chain_data = [] - columns = None - for path in paths: - output_data = _read_output(path) - chain_data.append(output_data) - if columns is None: - columns = output_data - - self.posterior = ( - [item["sample"] for item in chain_data], - [item["sample_warmup"] for item in chain_data], - ) - self.posterior_columns = columns["sample_columns"] - self.sample_stats_columns = columns["sample_stats_columns"] - - attrs = {} - for item in chain_data: - for key, value in item["configuration_info"].items(): - if key not in attrs: - attrs[key] = [] - attrs[key].append(value) - self.attrs = attrs - - @requires("prior_") - def _parse_prior(self): - """Read csv paths to list of ndarrays.""" - paths = self.prior_ - if isinstance(paths, str): - paths = [paths] - - chain_data = [] - columns = None - for path in paths: - output_data = _read_output(path) - chain_data.append(output_data) - if columns is None: - columns = output_data - - self.prior = ( - [item["sample"] for item in chain_data], - [item["sample_warmup"] for item in chain_data], - ) - self.prior_columns = columns["sample_columns"] - self.sample_stats_prior_columns = columns["sample_stats_columns"] - - attrs = {} - for item in chain_data: - for key, value in item["configuration_info"].items(): - if key not in attrs: - attrs[key] = [] - attrs[key].append(value) - self.attrs_prior = attrs - - @requires("posterior") - def posterior_to_xarray(self): - """Extract posterior samples from output csv.""" - columns = self.posterior_columns - - # filter posterior_predictive, predictions and log_likelihood - posterior_predictive = self.posterior_predictive - if posterior_predictive is None or ( - isinstance(posterior_predictive, str) and posterior_predictive.lower().endswith(".csv") - ): - posterior_predictive = [] - elif isinstance(posterior_predictive, str): - posterior_predictive = [ - col for col in columns if posterior_predictive == col.split(".")[0] - ] - else: - posterior_predictive = [ - col - for col in columns - if any(item == col.split(".")[0] for item in posterior_predictive) - ] - - predictions = self.predictions - if predictions is None or ( - isinstance(predictions, str) and predictions.lower().endswith(".csv") - ): - predictions = [] - elif isinstance(predictions, str): - predictions = [col for col in columns if predictions == col.split(".")[0]] - else: - predictions = [ - col for col in columns if any(item == col.split(".")[0] for item in predictions) - ] - - log_likelihood = self.log_likelihood - if log_likelihood is None or ( - isinstance(log_likelihood, str) and log_likelihood.lower().endswith(".csv") - ): - log_likelihood = [] - elif isinstance(log_likelihood, str): - log_likelihood = [col for col in columns if log_likelihood == col.split(".")[0]] - elif isinstance(log_likelihood, dict): - log_likelihood = [ - col - for col in columns - if any(item == col.split(".")[0] for item in log_likelihood.values()) - ] - else: - log_likelihood = [ - col for col in columns if any(item == col.split(".")[0] for item in log_likelihood) - ] - - invalid_cols = posterior_predictive + predictions + log_likelihood - valid_cols = {col: idx for col, idx in columns.items() if col not in invalid_cols} - data = _unpack_ndarrays(self.posterior[0], valid_cols, self.dtypes) - data_warmup = _unpack_ndarrays(self.posterior[1], valid_cols, self.dtypes) - return ( - dict_to_dataset( - data, - coords=self.coords, - dims=self.dims, - attrs=self.attrs, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - coords=self.coords, - dims=self.dims, - attrs=self.attrs, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - @requires("sample_stats_columns") - def sample_stats_to_xarray(self): - """Extract sample_stats from fit.""" - dtypes = {"diverging": bool, "n_steps": np.int64, "tree_depth": np.int64, **self.dtypes} - rename_dict = { - "divergent": "diverging", - "n_leapfrog": "n_steps", - "treedepth": "tree_depth", - "stepsize": "step_size", - "accept_stat": "acceptance_rate", - } - - columns_new = {} - for key, idx in self.sample_stats_columns.items(): - name = re.sub("__$", "", key) - name = rename_dict.get(name, name) - columns_new[name] = idx - - data = _unpack_ndarrays(self.posterior[0], columns_new, dtypes) - data_warmup = _unpack_ndarrays(self.posterior[1], columns_new, dtypes) - return ( - dict_to_dataset( - data, - coords=self.coords, - dims=self.dims, - attrs={item: key for key, item in rename_dict.items()}, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - coords=self.coords, - dims=self.dims, - attrs={item: key for key, item in rename_dict.items()}, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - @requires("posterior_predictive") - def posterior_predictive_to_xarray(self): - """Convert posterior_predictive samples to xarray.""" - posterior_predictive = self.posterior_predictive - - if ( - isinstance(posterior_predictive, (tuple, list)) - and posterior_predictive[0].endswith(".csv") - ) or (isinstance(posterior_predictive, str) and posterior_predictive.endswith(".csv")): - if isinstance(posterior_predictive, str): - posterior_predictive = [posterior_predictive] - chain_data = [] - chain_data_warmup = [] - columns = None - attrs = {} - for path in posterior_predictive: - parsed_output = _read_output(path) - chain_data.append(parsed_output["sample"]) - chain_data_warmup.append(parsed_output["sample_warmup"]) - if columns is None: - columns = parsed_output["sample_columns"] - - for key, value in parsed_output["configuration_info"].items(): - if key not in attrs: - attrs[key] = [] - attrs[key].append(value) - - data = _unpack_ndarrays(chain_data, columns, self.dtypes) - data_warmup = _unpack_ndarrays(chain_data_warmup, columns, self.dtypes) - - else: - if isinstance(posterior_predictive, str): - posterior_predictive = [posterior_predictive] - columns = { - col: idx - for col, idx in self.posterior_columns.items() - if any(item == col.split(".")[0] for item in posterior_predictive) - } - data = _unpack_ndarrays(self.posterior[0], columns, self.dtypes) - data_warmup = _unpack_ndarrays(self.posterior[1], columns, self.dtypes) - - attrs = None - return ( - dict_to_dataset( - data, - coords=self.coords, - dims=self.dims, - attrs=attrs, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - coords=self.coords, - dims=self.dims, - attrs=attrs, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - @requires("predictions") - def predictions_to_xarray(self): - """Convert out of sample predictions samples to xarray.""" - predictions = self.predictions - - if (isinstance(predictions, (tuple, list)) and predictions[0].endswith(".csv")) or ( - isinstance(predictions, str) and predictions.endswith(".csv") - ): - if isinstance(predictions, str): - predictions = [predictions] - chain_data = [] - chain_data_warmup = [] - columns = None - attrs = {} - for path in predictions: - parsed_output = _read_output(path) - chain_data.append(parsed_output["sample"]) - chain_data_warmup.append(parsed_output["sample_warmup"]) - if columns is None: - columns = parsed_output["sample_columns"] - - for key, value in parsed_output["configuration_info"].items(): - if key not in attrs: - attrs[key] = [] - attrs[key].append(value) - - data = _unpack_ndarrays(chain_data, columns, self.dtypes) - data_warmup = _unpack_ndarrays(chain_data_warmup, columns, self.dtypes) - else: - if isinstance(predictions, str): - predictions = [predictions] - columns = { - col: idx - for col, idx in self.posterior_columns.items() - if any(item == col.split(".")[0] for item in predictions) - } - data = _unpack_ndarrays(self.posterior[0], columns, self.dtypes) - data_warmup = _unpack_ndarrays(self.posterior[1], columns, self.dtypes) - - attrs = None - return ( - dict_to_dataset( - data, - coords=self.coords, - dims=self.dims, - attrs=attrs, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - coords=self.coords, - dims=self.dims, - attrs=attrs, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - @requires("log_likelihood") - def log_likelihood_to_xarray(self): - """Convert elementwise log_likelihood samples to xarray.""" - log_likelihood = self.log_likelihood - - if (isinstance(log_likelihood, (tuple, list)) and log_likelihood[0].endswith(".csv")) or ( - isinstance(log_likelihood, str) and log_likelihood.endswith(".csv") - ): - if isinstance(log_likelihood, str): - log_likelihood = [log_likelihood] - - chain_data = [] - chain_data_warmup = [] - columns = None - attrs = {} - for path in log_likelihood: - parsed_output = _read_output(path) - chain_data.append(parsed_output["sample"]) - chain_data_warmup.append(parsed_output["sample_warmup"]) - - if columns is None: - columns = parsed_output["sample_columns"] - - for key, value in parsed_output["configuration_info"].items(): - if key not in attrs: - attrs[key] = [] - attrs[key].append(value) - data = _unpack_ndarrays(chain_data, columns, self.dtypes) - data_warmup = _unpack_ndarrays(chain_data_warmup, columns, self.dtypes) - else: - if isinstance(log_likelihood, dict): - log_lik_to_obs_name = {v: k for k, v in log_likelihood.items()} - columns = { - col.replace(col_name, log_lik_to_obs_name[col_name]): idx - for col, col_name, idx in ( - (col, col.split(".")[0], idx) for col, idx in self.posterior_columns.items() - ) - if any(item == col_name for item in log_likelihood.values()) - } - else: - if isinstance(log_likelihood, str): - log_likelihood = [log_likelihood] - columns = { - col: idx - for col, idx in self.posterior_columns.items() - if any(item == col.split(".")[0] for item in log_likelihood) - } - data = _unpack_ndarrays(self.posterior[0], columns, self.dtypes) - data_warmup = _unpack_ndarrays(self.posterior[1], columns, self.dtypes) - attrs = None - return ( - dict_to_dataset( - data, - coords=self.coords, - dims=self.dims, - attrs=attrs, - index_origin=self.index_origin, - skip_event_dims=True, - ), - dict_to_dataset( - data_warmup, - coords=self.coords, - dims=self.dims, - attrs=attrs, - index_origin=self.index_origin, - skip_event_dims=True, - ), - ) - - @requires("prior") - def prior_to_xarray(self): - """Convert prior samples to xarray.""" - # filter prior_predictive - prior_predictive = self.prior_predictive - - columns = self.prior_columns - - if prior_predictive is None or ( - isinstance(prior_predictive, str) and prior_predictive.lower().endswith(".csv") - ): - prior_predictive = [] - elif isinstance(prior_predictive, str): - prior_predictive = [col for col in columns if prior_predictive == col.split(".")[0]] - else: - prior_predictive = [ - col - for col in columns - if any(item == col.split(".")[0] for item in prior_predictive) - ] - - invalid_cols = prior_predictive - valid_cols = {col: idx for col, idx in columns.items() if col not in invalid_cols} - data = _unpack_ndarrays(self.prior[0], valid_cols, self.dtypes) - data_warmup = _unpack_ndarrays(self.prior[1], valid_cols, self.dtypes) - return ( - dict_to_dataset( - data, - coords=self.coords, - dims=self.dims, - attrs=self.attrs_prior, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - coords=self.coords, - dims=self.dims, - attrs=self.attrs_prior, - index_origin=self.index_origin, - ), - ) - - @requires("prior") - @requires("sample_stats_prior_columns") - def sample_stats_prior_to_xarray(self): - """Extract sample_stats from fit.""" - dtypes = {"diverging": bool, "n_steps": np.int64, "tree_depth": np.int64, **self.dtypes} - rename_dict = { - "divergent": "diverging", - "n_leapfrog": "n_steps", - "treedepth": "tree_depth", - "stepsize": "step_size", - "accept_stat": "acceptance_rate", - } - - columns_new = {} - for key, idx in self.sample_stats_prior_columns.items(): - name = re.sub("__$", "", key) - name = rename_dict.get(name, name) - columns_new[name] = idx - - data = _unpack_ndarrays(self.posterior[0], columns_new, dtypes) - data_warmup = _unpack_ndarrays(self.posterior[1], columns_new, dtypes) - return ( - dict_to_dataset( - data, - coords=self.coords, - dims=self.dims, - attrs={item: key for key, item in rename_dict.items()}, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - coords=self.coords, - dims=self.dims, - attrs={item: key for key, item in rename_dict.items()}, - index_origin=self.index_origin, - ), - ) - - @requires("prior") - @requires("prior_predictive") - def prior_predictive_to_xarray(self): - """Convert prior_predictive samples to xarray.""" - prior_predictive = self.prior_predictive - - if ( - isinstance(prior_predictive, (tuple, list)) and prior_predictive[0].endswith(".csv") - ) or (isinstance(prior_predictive, str) and prior_predictive.endswith(".csv")): - if isinstance(prior_predictive, str): - prior_predictive = [prior_predictive] - chain_data = [] - chain_data_warmup = [] - columns = None - attrs = {} - for path in prior_predictive: - parsed_output = _read_output(path) - chain_data.append(parsed_output["sample"]) - chain_data_warmup.append(parsed_output["sample_warmup"]) - if columns is None: - columns = parsed_output["sample_columns"] - for key, value in parsed_output["configuration_info"].items(): - if key not in attrs: - attrs[key] = [] - attrs[key].append(value) - data = _unpack_ndarrays(chain_data, columns, self.dtypes) - data_warmup = _unpack_ndarrays(chain_data_warmup, columns, self.dtypes) - else: - if isinstance(prior_predictive, str): - prior_predictive = [prior_predictive] - columns = { - col: idx - for col, idx in self.prior_columns.items() - if any(item == col.split(".")[0] for item in prior_predictive) - } - data = _unpack_ndarrays(self.prior[0], columns, self.dtypes) - data_warmup = _unpack_ndarrays(self.prior[1], columns, self.dtypes) - attrs = None - return ( - dict_to_dataset( - data, - coords=self.coords, - dims=self.dims, - attrs=attrs, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - coords=self.coords, - dims=self.dims, - attrs=attrs, - index_origin=self.index_origin, - ), - ) - - @requires("observed_data") - def observed_data_to_xarray(self): - """Convert observed data to xarray.""" - observed_data_raw = _read_data(self.observed_data) - variables = self.observed_data_var - if isinstance(variables, str): - variables = [variables] - observed_data = { - key: utils.one_de(vals) - for key, vals in observed_data_raw.items() - if variables is None or key in variables - } - return dict_to_dataset( - observed_data, - coords=self.coords, - dims=self.dims, - default_dims=[], - index_origin=self.index_origin, - ) - - @requires("constant_data") - def constant_data_to_xarray(self): - """Convert constant data to xarray.""" - constant_data_raw = _read_data(self.constant_data) - variables = self.constant_data_var - if isinstance(variables, str): - variables = [variables] - constant_data = { - key: utils.one_de(vals) - for key, vals in constant_data_raw.items() - if variables is None or key in variables - } - return dict_to_dataset( - constant_data, - coords=self.coords, - dims=self.dims, - default_dims=[], - index_origin=self.index_origin, - ) - - @requires("predictions_constant_data") - def predictions_constant_data_to_xarray(self): - """Convert predictions constant data to xarray.""" - predictions_constant_data_raw = _read_data(self.predictions_constant_data) - variables = self.predictions_constant_data_var - if isinstance(variables, str): - variables = [variables] - predictions_constant_data = {} - for key, vals in predictions_constant_data_raw.items(): - if variables is not None and key not in variables: - continue - vals = utils.one_de(vals) - predictions_constant_data[key] = utils.one_de(vals) - return dict_to_dataset( - predictions_constant_data, - coords=self.coords, - dims=self.dims, - default_dims=[], - index_origin=self.index_origin, - ) - - def to_inference_data(self): - """Convert all available data to an InferenceData object. - - Note that if groups can not be created (i.e., there is no `output`, so - the `posterior` and `sample_stats` can not be extracted), then the InferenceData - will not have those groups. - """ - return InferenceData( - save_warmup=self.save_warmup, - **{ - "posterior": self.posterior_to_xarray(), - "sample_stats": self.sample_stats_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - "posterior_predictive": self.posterior_predictive_to_xarray(), - "prior": self.prior_to_xarray(), - "sample_stats_prior": self.sample_stats_prior_to_xarray(), - "prior_predictive": self.prior_predictive_to_xarray(), - "observed_data": self.observed_data_to_xarray(), - "constant_data": self.constant_data_to_xarray(), - "predictions": self.predictions_to_xarray(), - "predictions_constant_data": self.predictions_constant_data_to_xarray(), - }, - ) - - -def _process_configuration(comments): - """Extract sampling information.""" - results = { - "comments": "\n".join(comments), - "stan_version": {}, - } - - comments_gen = iter(comments) - - for comment in comments_gen: - comment = re.sub(r"^\s*#\s*|\s*\(Default\)\s*$", "", comment).strip() - if comment.startswith("stan_version_"): - key, val = re.sub(r"^\s*stan_version_", "", comment).split("=") - results["stan_version"][key.strip()] = val.strip() - elif comment.startswith("Step size"): - _, val = comment.split("=") - results["step_size"] = float(val.strip()) - elif "inverse mass matrix" in comment: - comment = re.sub(r"^\s*#\s*", "", next(comments_gen)).strip() - results["inverse_mass_matrix"] = [float(item) for item in comment.split(",")] - elif ("seconds" in comment) and any( - item in comment for item in ("(Warm-up)", "(Sampling)", "(Total)") - ): - value = re.sub( - ( - r"^Elapsed\s*Time:\s*|" - r"\s*seconds\s*\(Warm-up\)\s*|" - r"\s*seconds\s*\(Sampling\)\s*|" - r"\s*seconds\s*\(Total\)\s*" - ), - "", - comment, - ) - key = ( - "warmup_time_seconds" - if "(Warm-up)" in comment - else "sampling_time_seconds" if "(Sampling)" in comment else "total_time_seconds" - ) - results[key] = float(value) - elif "=" in comment: - match_int = re.search(r"^(\S+)\s*=\s*([-+]?[0-9]+)$", comment) - match_float = re.search(r"^(\S+)\s*=\s*([-+]?[0-9]+\.[0-9]+)$", comment) - match_str_bool = re.search(r"^(\S+)\s*=\s*(true|false)$", comment) - match_str = re.search(r"^(\S+)\s*=\s*(\S+)$", comment) - match_empty = re.search(r"^(\S+)\s*=\s*$", comment) - if match_int: - key, value = match_int.group(1), match_int.group(2) - results[key] = int(value) - elif match_float: - key, value = match_float.group(1), match_float.group(2) - results[key] = float(value) - elif match_str_bool: - key, value = match_str_bool.group(1), match_str_bool.group(2) - results[key] = int(value == "true") - elif match_str: - key, value = match_str.group(1), match_str.group(2) - results[key] = value - elif match_empty: - key = match_empty.group(1) - results[key] = None - - results = {key: str(results[key]) for key in sorted(results)} - return results - - -def _read_output_file(path): - """Read Stan csv file to ndarray.""" - comments = [] - data = [] - columns = None - with open(path, "rb") as f_obj: - # read header - for line in f_obj: - if line.startswith(b"#"): - comments.append(line.strip().decode("utf-8")) - continue - columns = {key: idx for idx, key in enumerate(line.strip().decode("utf-8").split(","))} - break - # read data - for line in f_obj: - line = line.strip() - if line.startswith(b"#"): - comments.append(line.decode("utf-8")) - continue - if line: - data.append(np.array(line.split(b","), dtype=np.float64)) - - return columns, np.array(data, dtype=np.float64), comments - - -def _read_output(path): - """Read CmdStan output csv file. - - Parameters - ---------- - path : str - - Returns - ------- - Dict[str, Any] - """ - # Read data - columns, data, comments = _read_output_file(path) - - pconf = _process_configuration(comments) - - # split dataframe to warmup and draws - saved_warmup = ( - int(pconf.get("save_warmup", 0)) - * int(pconf.get("num_warmup", 0)) - // int(pconf.get("thin", 1)) - ) - - data_warmup = data[:saved_warmup] - data = data[saved_warmup:] - - # Split data to sample_stats and sample - sample_stats_columns = {col: idx for col, idx in columns.items() if col.endswith("__")} - sample_columns = {col: idx for col, idx in columns.items() if col not in sample_stats_columns} - - return { - "sample": data, - "sample_warmup": data_warmup, - "sample_columns": sample_columns, - "sample_stats_columns": sample_stats_columns, - "configuration_info": pconf, - } - - -def _process_data_var(string): - """Transform datastring to key, values pair. - - All values are transformed to floating point values. - - Parameters - ---------- - string : str - - Returns - ------- - Tuple[Str, Str] - key, values pair - """ - key, var = string.split("<-") - if "structure" in var: - var, dim = var.replace("structure(", "").replace(",", "").split(".Dim") - # dtype = int if '.' not in var and 'e' not in var.lower() else float - dtype = float - var = var.replace("c(", "").replace(")", "").strip().split() - dim = dim.replace("=", "").replace("c(", "").replace(")", "").strip().split() - dim = tuple(map(int, dim)) - var = np.fromiter(map(dtype, var), dtype).reshape(dim, order="F") - elif "c(" in var: - # dtype = int if '.' not in var and 'e' not in var.lower() else float - dtype = float - var = var.replace("c(", "").replace(")", "").split(",") - var = np.fromiter(map(dtype, var), dtype) - else: - # dtype = int if '.' not in var and 'e' not in var.lower() else float - dtype = float - var = dtype(var) - return key.strip(), var - - -def _read_data(path): - """Read Rdump or JSON output to dictionary. - - Parameters - ---------- - path : str - - Returns - ------- - Dict - key, values pairs from Rdump/JSON formatted data. - """ - data = {} - with open(path, "r", encoding="utf8") as f_obj: - if path.lower().endswith(".json"): - return json.load(f_obj) - var = "" - for line in f_obj: - if "<-" in line: - if len(var): - key, var = _process_data_var(var) - data[key] = var - var = "" - var += f" {line.strip()}" - if len(var): - key, var = _process_data_var(var) - data[key] = var - return data - - -def _unpack_ndarrays(arrays, columns, dtypes=None): - """Transform a list of ndarrays to dictionary containing ndarrays. - - Parameters - ---------- - arrays : List[np.ndarray] - columns: Dict[str, int] - dtypes: Dict[str, Any] - - Returns - ------- - Dict - key, values pairs. Values are formatted to shape = (nchain, ndraws, *shape) - """ - col_groups = defaultdict(list) - for col, col_idx in columns.items(): - key, *loc = col.split(".") - loc = tuple(int(i) - 1 for i in loc) - col_groups[key].append((col_idx, loc)) - - chains = len(arrays) - draws = len(arrays[0]) - sample = {} - if draws: - for key, cols_locs in col_groups.items(): - ndim = np.array([loc for _, loc in cols_locs]).max(0) + 1 - dtype = dtypes.get(key, np.float64) - sample[key] = np.zeros((chains, draws, *ndim), dtype=dtype) - for col, loc in cols_locs: - for chain_id, arr in enumerate(arrays): - draw = arr[:, col] - if loc == (): - sample[key][chain_id, :] = draw - else: - axis1_all = range(sample[key].shape[1]) - slicer = (chain_id, axis1_all, *loc) - sample[key][slicer] = draw - return sample - - -def from_cmdstan( - posterior: Optional[Union[str, List[str]]] = None, - *, - posterior_predictive: Optional[Union[str, List[str]]] = None, - predictions: Optional[Union[str, List[str]]] = None, - prior: Optional[Union[str, List[str]]] = None, - prior_predictive: Optional[Union[str, List[str]]] = None, - observed_data: Optional[str] = None, - observed_data_var: Optional[Union[str, List[str]]] = None, - constant_data: Optional[str] = None, - constant_data_var: Optional[Union[str, List[str]]] = None, - predictions_constant_data: Optional[str] = None, - predictions_constant_data_var: Optional[Union[str, List[str]]] = None, - log_likelihood: Optional[Union[str, List[str]]] = None, - index_origin: Optional[int] = None, - coords: Optional[CoordSpec] = None, - dims: Optional[DimSpec] = None, - disable_glob: Optional[bool] = False, - save_warmup: Optional[bool] = None, - dtypes: Optional[Dict] = None, -) -> InferenceData: - """Convert CmdStan data into an InferenceData object. - - For a usage example read the - :ref:`Creating InferenceData section on from_cmdstan ` - - Parameters - ---------- - posterior : str or list of str, optional - List of paths to output.csv files. - posterior_predictive : str or list of str, optional - Posterior predictive samples for the fit. If endswith ".csv" assumes file. - predictions : str or list of str, optional - Out of sample predictions samples for the fit. If endswith ".csv" assumes file. - prior : str or list of str, optional - List of paths to output.csv files - prior_predictive : str or list of str, optional - Prior predictive samples for the fit. If endswith ".csv" assumes file. - observed_data : str, optional - Observed data used in the sampling. Path to data file in Rdump or JSON format. - observed_data_var : str or list of str, optional - Variable(s) used for slicing observed_data. If not defined, all - data variables are imported. - constant_data : str, optional - Constant data used in the sampling. Path to data file in Rdump or JSON format. - constant_data_var : str or list of str, optional - Variable(s) used for slicing constant_data. If not defined, all - data variables are imported. - predictions_constant_data : str, optional - Constant data for predictions used in the sampling. - Path to data file in Rdump or JSON format. - predictions_constant_data_var : str or list of str, optional - Variable(s) used for slicing predictions_constant_data. - If not defined, all data variables are imported. - log_likelihood : dict of {str: str}, list of str or str, optional - Pointwise log_likelihood for the data. log_likelihood is extracted from the - posterior. It is recommended to use this argument as a dictionary whose keys - are observed variable names and its values are the variables storing log - likelihood arrays in the Stan code. In other cases, a dictionary with keys - equal to its values is used. By default, if a variable ``log_lik`` is - present in the Stan model, it will be retrieved as pointwise log - likelihood values. Use ``False`` to avoid this behaviour. - index_origin : int, optional - Starting value of integer coordinate values. Defaults to the value in rcParam - ``data.index_origin``. - coords : dict of {str: array_like}, optional - A dictionary containing the values that are used as index. The key - is the name of the dimension, the values are the index values. - dims : dict of {str: list of str}, optional - A mapping from variables to a list of coordinate names for the variable. - disable_glob : bool - Don't use glob for string input. This means that all string input is - assumed to be variable names (samples) or a path (data). - save_warmup : bool - Save warmup iterations into InferenceData object, if found in the input files. - If not defined, use default defined by the rcParams. - dtypes : dict or str - A dictionary containing dtype information (int, float) for parameters. - If input is a string, it is assumed to be a model code or path to model code file. - - Returns - ------- - InferenceData object - """ - return CmdStanConverter( - posterior=posterior, - posterior_predictive=posterior_predictive, - predictions=predictions, - prior=prior, - prior_predictive=prior_predictive, - observed_data=observed_data, - observed_data_var=observed_data_var, - constant_data=constant_data, - constant_data_var=constant_data_var, - predictions_constant_data=predictions_constant_data, - predictions_constant_data_var=predictions_constant_data_var, - log_likelihood=log_likelihood, - index_origin=index_origin, - coords=coords, - dims=dims, - disable_glob=disable_glob, - save_warmup=save_warmup, - dtypes=dtypes, - ).to_inference_data() diff --git a/arviz/data/io_cmdstanpy.py b/arviz/data/io_cmdstanpy.py deleted file mode 100644 index 9acc56d888..0000000000 --- a/arviz/data/io_cmdstanpy.py +++ /dev/null @@ -1,1233 +0,0 @@ -# pylint: disable=too-many-lines -"""CmdStanPy-specific conversion code.""" -import logging -import re -from collections import defaultdict -from copy import deepcopy -from pathlib import Path - -import numpy as np - -from ..rcparams import rcParams -from .base import dict_to_dataset, infer_stan_dtypes, make_attrs, requires -from .inference_data import InferenceData - -_log = logging.getLogger(__name__) - - -class CmdStanPyConverter: - """Encapsulate CmdStanPy specific logic.""" - - # pylint: disable=too-many-instance-attributes - - def __init__( - self, - *, - posterior=None, - posterior_predictive=None, - predictions=None, - prior=None, - prior_predictive=None, - observed_data=None, - constant_data=None, - predictions_constant_data=None, - log_likelihood=None, - index_origin=None, - coords=None, - dims=None, - save_warmup=None, - dtypes=None, - ): - self.posterior = posterior # CmdStanPy CmdStanMCMC object - self.posterior_predictive = posterior_predictive - self.predictions = predictions - self.prior = prior - self.prior_predictive = prior_predictive - self.observed_data = observed_data - self.constant_data = constant_data - self.predictions_constant_data = predictions_constant_data - self.log_likelihood = ( - rcParams["data.log_likelihood"] if log_likelihood is None else log_likelihood - ) - self.index_origin = index_origin - self.coords = coords - self.dims = dims - - self.save_warmup = rcParams["data.save_warmup"] if save_warmup is None else save_warmup - - import cmdstanpy # pylint: disable=import-error - - if dtypes is None: - dtypes = {} - elif isinstance(dtypes, cmdstanpy.model.CmdStanModel): - model_code = dtypes.code() - dtypes = infer_stan_dtypes(model_code) - elif isinstance(dtypes, str): - dtypes_path = Path(dtypes) - if dtypes_path.exists(): - with dtypes_path.open("r", encoding="UTF-8") as f_obj: - model_code = f_obj.read() - else: - model_code = dtypes - dtypes = infer_stan_dtypes(model_code) - - self.dtypes = dtypes - - if hasattr(self.posterior, "metadata") and hasattr( - self.posterior.metadata, "stan_vars_cols" - ): - if self.log_likelihood is True and "log_lik" in self.posterior.metadata.stan_vars_cols: - self.log_likelihood = ["log_lik"] - elif hasattr(self.posterior, "metadata") and hasattr( - self.posterior.metadata, "stan_vars_cols" - ): - if self.log_likelihood is True and "log_lik" in self.posterior.metadata.stan_vars_cols: - self.log_likelihood = ["log_lik"] - elif hasattr(self.posterior, "stan_vars_cols"): - if self.log_likelihood is True and "log_lik" in self.posterior.stan_vars_cols: - self.log_likelihood = ["log_lik"] - elif hasattr(self.posterior, "metadata") and hasattr(self.posterior.metadata, "stan_vars"): - if self.log_likelihood is True and "log_lik" in self.posterior.metadata.stan_vars: - self.log_likelihood = ["log_lik"] - elif ( - self.log_likelihood is True - and self.posterior is not None - and hasattr(self.posterior, "column_names") - and any(name.split("[")[0] == "log_lik" for name in self.posterior.column_names) - ): - self.log_likelihood = ["log_lik"] - - if isinstance(self.log_likelihood, bool): - self.log_likelihood = None - - self.cmdstanpy = cmdstanpy - - @requires("posterior") - def posterior_to_xarray(self): - """Extract posterior samples from output csv.""" - if not (hasattr(self.posterior, "metadata") or hasattr(self.posterior, "stan_vars_cols")): - return self.posterior_to_xarray_pre_v_0_9_68() - if ( - hasattr(self.posterior, "metadata") - and hasattr(self.posterior.metadata, "stan_vars_cols") - ) or hasattr(self.posterior, "stan_vars_cols"): - return self.posterior_to_xarray_pre_v_1_0_0() - if hasattr(self.posterior, "metadata") and hasattr( - self.posterior.metadata, "stan_vars_cols" - ): - return self.posterior_to_xarray_pre_v_1_2_0() - - items = list(self.posterior.metadata.stan_vars) - if self.posterior_predictive is not None: - try: - items = _filter(items, self.posterior_predictive) - except ValueError: - pass - if self.predictions is not None: - try: - items = _filter(items, self.predictions) - except ValueError: - pass - if self.log_likelihood is not None: - try: - items = _filter(items, self.log_likelihood) - except ValueError: - pass - - valid_cols = [] - for item in items: - if hasattr(self.posterior, "metadata"): - if item in self.posterior.metadata.stan_vars: - valid_cols.append(item) - - data, data_warmup = _unpack_fit( - self.posterior, - items, - self.save_warmup, - self.dtypes, - ) - - dims = deepcopy(self.dims) if self.dims is not None else {} - coords = deepcopy(self.coords) if self.coords is not None else {} - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=coords, - dims=dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=coords, - dims=dims, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - def sample_stats_to_xarray(self): - """Extract sample_stats from prosterior fit.""" - return self.stats_to_xarray(self.posterior) - - @requires("prior") - def sample_stats_prior_to_xarray(self): - """Extract sample_stats from prior fit.""" - return self.stats_to_xarray(self.prior) - - def stats_to_xarray(self, fit): - """Extract sample_stats from fit.""" - if not (hasattr(fit, "metadata") or hasattr(fit, "sampler_vars_cols")): - return self.sample_stats_to_xarray_pre_v_0_9_68(fit) - if (hasattr(fit, "metadata") and hasattr(fit.metadata, "stan_vars_cols")) or hasattr( - fit, "stan_vars_cols" - ): - return self.sample_stats_to_xarray_pre_v_1_0_0(fit) - if hasattr(fit, "metadata") and hasattr(fit.metadata, "stan_vars_cols"): - return self.sample_stats_to_xarray_pre_v_1_2_0(fit) - - dtypes = { - "divergent__": bool, - "n_leapfrog__": np.int64, - "treedepth__": np.int64, - **self.dtypes, - } - - items = list(fit.method_variables()) # pylint: disable=protected-access - - rename_dict = { - "divergent": "diverging", - "n_leapfrog": "n_steps", - "treedepth": "tree_depth", - "stepsize": "step_size", - "accept_stat": "acceptance_rate", - } - - data, data_warmup = _unpack_fit( - fit, - items, - self.save_warmup, - self.dtypes, - ) - for item in items: - name = re.sub("__$", "", item) - name = rename_dict.get(name, name) - data[name] = data.pop(item).astype(dtypes.get(item, float)) - if data_warmup: - data_warmup[name] = data_warmup.pop(item).astype(dtypes.get(item, float)) - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - @requires("posterior_predictive") - def posterior_predictive_to_xarray(self): - """Convert posterior_predictive samples to xarray.""" - return self.predictive_to_xarray(self.posterior_predictive, self.posterior) - - @requires("prior") - @requires("prior_predictive") - def prior_predictive_to_xarray(self): - """Convert prior_predictive samples to xarray.""" - return self.predictive_to_xarray(self.prior_predictive, self.prior) - - def predictive_to_xarray(self, names, fit): - """Convert predictive samples to xarray.""" - predictive = _as_set(names) - - if not (hasattr(fit, "metadata") or hasattr(fit, "stan_vars_cols")): # pre_v_0_9_68 - valid_cols = _filter_columns(fit.column_names, predictive) - data, data_warmup = _unpack_frame( - fit, - fit.column_names, - valid_cols, - self.save_warmup, - self.dtypes, - ) - elif (hasattr(fit, "metadata") and hasattr(fit.metadata, "sample_vars_cols")) or hasattr( - fit, "stan_vars_cols" - ): # pre_v_1_0_0 - data, data_warmup = _unpack_fit_pre_v_1_0_0( - fit, - predictive, - self.save_warmup, - self.dtypes, - ) - elif hasattr(fit, "metadata") and hasattr(fit.metadata, "stan_vars_cols"): # pre_v_1_2_0 - data, data_warmup = _unpack_fit_pre_v_1_2_0( - fit, - predictive, - self.save_warmup, - self.dtypes, - ) - else: - data, data_warmup = _unpack_fit( - fit, - predictive, - self.save_warmup, - self.dtypes, - ) - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - @requires("predictions") - def predictions_to_xarray(self): - """Convert out of sample predictions samples to xarray.""" - predictions = _as_set(self.predictions) - - if not ( - hasattr(self.posterior, "metadata") or hasattr(self.posterior, "stan_vars_cols") - ): # pre_v_0_9_68 - columns = self.posterior.column_names - valid_cols = _filter_columns(columns, predictions) - data, data_warmup = _unpack_frame( - self.posterior, - columns, - valid_cols, - self.save_warmup, - self.dtypes, - ) - elif ( - hasattr(self.posterior, "metadata") - and hasattr(self.posterior.metadata, "sample_vars_cols") - ) or hasattr( - self.posterior, "stan_vars_cols" - ): # pre_v_1_0_0 - data, data_warmup = _unpack_fit_pre_v_1_0_0( - self.posterior, - predictions, - self.save_warmup, - self.dtypes, - ) - elif hasattr(self.posterior, "metadata") and hasattr( - self.posterior.metadata, "stan_vars_cols" - ): # pre_v_1_2_0 - data, data_warmup = _unpack_fit_pre_v_1_2_0( - self.posterior, - predictions, - self.save_warmup, - self.dtypes, - ) - else: - data, data_warmup = _unpack_fit( - self.posterior, - predictions, - self.save_warmup, - self.dtypes, - ) - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - @requires("log_likelihood") - def log_likelihood_to_xarray(self): - """Convert elementwise log likelihood samples to xarray.""" - log_likelihood = _as_set(self.log_likelihood) - - if not ( - hasattr(self.posterior, "metadata") or hasattr(self.posterior, "stan_vars_cols") - ): # pre_v_0_9_68 - columns = self.posterior.column_names - valid_cols = _filter_columns(columns, log_likelihood) - data, data_warmup = _unpack_frame( - self.posterior, - columns, - valid_cols, - self.save_warmup, - self.dtypes, - ) - elif ( - hasattr(self.posterior, "metadata") - and hasattr(self.posterior.metadata, "sample_vars_cols") - ) or hasattr( - self.posterior, "stan_vars_cols" - ): # pre_v_1_0_0 - data, data_warmup = _unpack_fit_pre_v_1_0_0( - self.posterior, - log_likelihood, - self.save_warmup, - self.dtypes, - ) - elif hasattr(self.posterior, "metadata") and hasattr( - self.posterior.metadata, "stan_vars_cols" - ): # pre_v_1_2_0 - data, data_warmup = _unpack_fit_pre_v_1_2_0( - self.posterior, - log_likelihood, - self.save_warmup, - self.dtypes, - ) - else: - data, data_warmup = _unpack_fit( - self.posterior, - log_likelihood, - self.save_warmup, - self.dtypes, - ) - - if isinstance(self.log_likelihood, dict): - data = {obs_name: data[lik_name] for obs_name, lik_name in self.log_likelihood.items()} - if data_warmup: - data_warmup = { - obs_name: data_warmup[lik_name] - for obs_name, lik_name in self.log_likelihood.items() - } - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - skip_event_dims=True, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - skip_event_dims=True, - ), - ) - - @requires("prior") - def prior_to_xarray(self): - """Convert prior samples to xarray.""" - if not ( - hasattr(self.prior, "metadata") or hasattr(self.prior, "stan_vars_cols") - ): # pre_v_0_9_68 - columns = self.prior.column_names - prior_predictive = _as_set(self.prior_predictive) - prior_predictive = _filter_columns(columns, prior_predictive) - - invalid_cols = set(prior_predictive + [col for col in columns if col.endswith("__")]) - valid_cols = [col for col in columns if col not in invalid_cols] - - data, data_warmup = _unpack_frame( - self.prior, - columns, - valid_cols, - self.save_warmup, - self.dtypes, - ) - elif ( - hasattr(self.prior, "metadata") and hasattr(self.prior.metadata, "sample_vars_cols") - ) or hasattr( - self.prior, "stan_vars_cols" - ): # pre_v_1_0_0 - if hasattr(self.prior, "metadata"): - items = list(self.prior.metadata.stan_vars_cols.keys()) - else: - items = list(self.prior.stan_vars_cols.keys()) - if self.prior_predictive is not None: - try: - items = _filter(items, self.prior_predictive) - except ValueError: - pass - data, data_warmup = _unpack_fit_pre_v_1_0_0( - self.prior, - items, - self.save_warmup, - self.dtypes, - ) - elif hasattr(self.prior, "metadata") and hasattr( - self.prior.metadata, "stan_vars_cols" - ): # pre_v_1_2_0 - items = list(self.prior.metadata.stan_vars_cols.keys()) - if self.prior_predictive is not None: - try: - items = _filter(items, self.prior_predictive) - except ValueError: - pass - data, data_warmup = _unpack_fit_pre_v_1_2_0( - self.prior, - items, - self.save_warmup, - self.dtypes, - ) - else: - items = list(self.prior.metadata.stan_vars.keys()) - if self.prior_predictive is not None: - try: - items = _filter(items, self.prior_predictive) - except ValueError: - pass - data, data_warmup = _unpack_fit( - self.prior, - items, - self.save_warmup, - self.dtypes, - ) - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - ) - - @requires("observed_data") - def observed_data_to_xarray(self): - """Convert observed data to xarray.""" - return dict_to_dataset( - self.observed_data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - default_dims=[], - index_origin=self.index_origin, - ) - - @requires("constant_data") - def constant_data_to_xarray(self): - """Convert constant data to xarray.""" - return dict_to_dataset( - self.constant_data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - default_dims=[], - index_origin=self.index_origin, - ) - - @requires("predictions_constant_data") - def predictions_constant_data_to_xarray(self): - """Convert constant data to xarray.""" - return dict_to_dataset( - self.predictions_constant_data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - attrs=make_attrs(library=self.cmdstanpy), - default_dims=[], - index_origin=self.index_origin, - ) - - def to_inference_data(self): - """Convert all available data to an InferenceData object. - - Note that if groups can not be created (i.e., there is no `output`, so - the `posterior` and `sample_stats` can not be extracted), then the InferenceData - will not have those groups. - """ - return InferenceData( - save_warmup=self.save_warmup, - **{ - "posterior": self.posterior_to_xarray(), - "sample_stats": self.sample_stats_to_xarray(), - "posterior_predictive": self.posterior_predictive_to_xarray(), - "predictions": self.predictions_to_xarray(), - "prior": self.prior_to_xarray(), - "sample_stats_prior": self.sample_stats_prior_to_xarray(), - "prior_predictive": self.prior_predictive_to_xarray(), - "observed_data": self.observed_data_to_xarray(), - "constant_data": self.constant_data_to_xarray(), - "predictions_constant_data": self.predictions_constant_data_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - }, - ) - - def posterior_to_xarray_pre_v_1_2_0(self): - items = list(self.posterior.metadata.stan_vars_cols) - if self.posterior_predictive is not None: - try: - items = _filter(items, self.posterior_predictive) - except ValueError: - pass - if self.predictions is not None: - try: - items = _filter(items, self.predictions) - except ValueError: - pass - if self.log_likelihood is not None: - try: - items = _filter(items, self.log_likelihood) - except ValueError: - pass - - valid_cols = [] - for item in items: - if hasattr(self.posterior, "metadata"): - if item in self.posterior.metadata.stan_vars_cols: - valid_cols.append(item) - - data, data_warmup = _unpack_fit_pre_v_1_2_0( - self.posterior, - items, - self.save_warmup, - self.dtypes, - ) - - dims = deepcopy(self.dims) if self.dims is not None else {} - coords = deepcopy(self.coords) if self.coords is not None else {} - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=coords, - dims=dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=coords, - dims=dims, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - def posterior_to_xarray_pre_v_1_0_0(self): - if hasattr(self.posterior, "metadata"): - items = list(self.posterior.metadata.stan_vars_cols.keys()) - else: - items = list(self.posterior.stan_vars_cols.keys()) - if self.posterior_predictive is not None: - try: - items = _filter(items, self.posterior_predictive) - except ValueError: - pass - if self.predictions is not None: - try: - items = _filter(items, self.predictions) - except ValueError: - pass - if self.log_likelihood is not None: - try: - items = _filter(items, self.log_likelihood) - except ValueError: - pass - - valid_cols = [] - for item in items: - if hasattr(self.posterior, "metadata"): - valid_cols.extend(self.posterior.metadata.stan_vars_cols[item]) - else: - valid_cols.extend(self.posterior.stan_vars_cols[item]) - - data, data_warmup = _unpack_fit_pre_v_1_0_0( - self.posterior, - items, - self.save_warmup, - self.dtypes, - ) - - dims = deepcopy(self.dims) if self.dims is not None else {} - coords = deepcopy(self.coords) if self.coords is not None else {} - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=coords, - dims=dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=coords, - dims=dims, - index_origin=self.index_origin, - ), - ) - - @requires("posterior") - def posterior_to_xarray_pre_v_0_9_68(self): - """Extract posterior samples from output csv.""" - columns = self.posterior.column_names - - # filter posterior_predictive, predictions and log_likelihood - posterior_predictive = self.posterior_predictive - if posterior_predictive is None: - posterior_predictive = [] - elif isinstance(posterior_predictive, str): - posterior_predictive = [ - col for col in columns if posterior_predictive == col.split("[")[0].split(".")[0] - ] - else: - posterior_predictive = [ - col - for col in columns - if any(item == col.split("[")[0].split(".")[0] for item in posterior_predictive) - ] - - predictions = self.predictions - if predictions is None: - predictions = [] - elif isinstance(predictions, str): - predictions = [col for col in columns if predictions == col.split("[")[0].split(".")[0]] - else: - predictions = [ - col - for col in columns - if any(item == col.split("[")[0].split(".")[0] for item in predictions) - ] - - log_likelihood = self.log_likelihood - if log_likelihood is None: - log_likelihood = [] - elif isinstance(log_likelihood, str): - log_likelihood = [ - col for col in columns if log_likelihood == col.split("[")[0].split(".")[0] - ] - else: - log_likelihood = [ - col - for col in columns - if any(item == col.split("[")[0].split(".")[0] for item in log_likelihood) - ] - - invalid_cols = set( - posterior_predictive - + predictions - + log_likelihood - + [col for col in columns if col.endswith("__")] - ) - valid_cols = [col for col in columns if col not in invalid_cols] - data, data_warmup = _unpack_frame( - self.posterior, - columns, - valid_cols, - self.save_warmup, - self.dtypes, - ) - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - ) - - def sample_stats_to_xarray_pre_v_1_2_0(self, fit): - dtypes = { - "divergent__": bool, - "n_leapfrog__": np.int64, - "treedepth__": np.int64, - **self.dtypes, - } - - items = list(fit.metadata.method_vars_cols.keys()) # pylint: disable=protected-access - - rename_dict = { - "divergent": "diverging", - "n_leapfrog": "n_steps", - "treedepth": "tree_depth", - "stepsize": "step_size", - "accept_stat": "acceptance_rate", - } - - data, data_warmup = _unpack_fit_pre_v_1_2_0( - fit, - items, - self.save_warmup, - self.dtypes, - ) - for item in items: - name = re.sub("__$", "", item) - name = rename_dict.get(name, name) - data[name] = data.pop(item).astype(dtypes.get(item, float)) - if data_warmup: - data_warmup[name] = data_warmup.pop(item).astype(dtypes.get(item, float)) - - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - ) - - def sample_stats_to_xarray_pre_v_1_0_0(self, fit): - """Extract sample_stats from fit.""" - dtypes = { - "divergent__": bool, - "n_leapfrog__": np.int64, - "treedepth__": np.int64, - **self.dtypes, - } - if hasattr(fit, "metadata"): - items = list(fit.metadata._method_vars_cols.keys()) # pylint: disable=protected-access - else: - items = list(fit.sampler_vars_cols.keys()) - rename_dict = { - "divergent": "diverging", - "n_leapfrog": "n_steps", - "treedepth": "tree_depth", - "stepsize": "step_size", - "accept_stat": "acceptance_rate", - } - - data, data_warmup = _unpack_fit_pre_v_1_0_0( - fit, - items, - self.save_warmup, - self.dtypes, - ) - for item in items: - name = re.sub("__$", "", item) - name = rename_dict.get(name, name) - data[name] = data.pop(item).astype(dtypes.get(item, float)) - if data_warmup: - data_warmup[name] = data_warmup.pop(item).astype(dtypes.get(item, float)) - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - ) - - def sample_stats_to_xarray_pre_v_0_9_68(self, fit): - """Extract sample_stats from fit.""" - dtypes = {"divergent__": bool, "n_leapfrog__": np.int64, "treedepth__": np.int64} - columns = fit.column_names - valid_cols = [col for col in columns if col.endswith("__")] - data, data_warmup = _unpack_frame( - fit, - columns, - valid_cols, - self.save_warmup, - self.dtypes, - ) - for s_param in list(data.keys()): - s_param_, *_ = s_param.split(".") - name = re.sub("__$", "", s_param_) - name = "diverging" if name == "divergent" else name - data[name] = data.pop(s_param).astype(dtypes.get(s_param, float)) - if data_warmup: - data_warmup[name] = data_warmup.pop(s_param).astype(dtypes.get(s_param, float)) - return ( - dict_to_dataset( - data, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=self.cmdstanpy, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ), - ) - - -def _as_set(spec): - """Uniform representation for args which be name or list of names.""" - if spec is None: - return [] - if isinstance(spec, str): - return [spec] - try: - return set(spec.values()) - except AttributeError: - return set(spec) - - -def _filter(names, spec): - """Remove names from list of names.""" - if isinstance(spec, str): - names.remove(spec) - elif isinstance(spec, list): - for item in spec: - names.remove(item) - elif isinstance(spec, dict): - for item in spec.values(): - names.remove(item) - return names - - -def _filter_columns(columns, spec): - """Parse variable name from column label, removing element index, if any.""" - return [col for col in columns if col.split("[")[0].split(".")[0] in spec] - - -def _unpack_fit(fit, items, save_warmup, dtypes): - num_warmup = 0 - if save_warmup: - if not fit._save_warmup: # pylint: disable=protected-access - save_warmup = False - else: - num_warmup = fit.num_draws_warmup - - nchains = fit.chains - sample = {} - sample_warmup = {} - stan_vars_cols = list(fit.metadata.stan_vars) - sampler_vars = fit.method_variables() - for item in items: - if item in stan_vars_cols: - raw_draws = fit.stan_variable(item, inc_warmup=save_warmup) - raw_draws = np.swapaxes( - raw_draws.reshape((-1, nchains, *raw_draws.shape[1:]), order="F"), 0, 1 - ) - elif item in sampler_vars: - raw_draws = np.swapaxes(sampler_vars[item], 0, 1) - else: - raise ValueError(f"fit data, unknown variable: {item}") - raw_draws = raw_draws.astype(dtypes.get(item)) - if save_warmup: - sample_warmup[item] = raw_draws[:, :num_warmup, ...] - sample[item] = raw_draws[:, num_warmup:, ...] - else: - sample[item] = raw_draws - - return sample, sample_warmup - - -def _unpack_fit_pre_v_1_2_0(fit, items, save_warmup, dtypes): - num_warmup = 0 - if save_warmup: - if not fit._save_warmup: # pylint: disable=protected-access - save_warmup = False - else: - num_warmup = fit.num_draws_warmup - - nchains = fit.chains - sample = {} - sample_warmup = {} - stan_vars_cols = list(fit.metadata.stan_vars_cols) - sampler_vars = fit.method_variables() - for item in items: - if item in stan_vars_cols: - raw_draws = fit.stan_variable(item, inc_warmup=save_warmup) - raw_draws = np.swapaxes( - raw_draws.reshape((-1, nchains, *raw_draws.shape[1:]), order="F"), 0, 1 - ) - elif item in sampler_vars: - raw_draws = np.swapaxes(sampler_vars[item], 0, 1) - else: - raise ValueError(f"fit data, unknown variable: {item}") - raw_draws = raw_draws.astype(dtypes.get(item)) - if save_warmup: - sample_warmup[item] = raw_draws[:, :num_warmup, ...] - sample[item] = raw_draws[:, num_warmup:, ...] - else: - sample[item] = raw_draws - - return sample, sample_warmup - - -def _unpack_fit_pre_v_1_0_0(fit, items, save_warmup, dtypes): - """Transform fit to dictionary containing ndarrays. - - Parameters - ---------- - data: cmdstanpy.CmdStanMCMC - items: list - save_warmup: bool - dtypes: dict - - Returns - ------- - dict - key, values pairs. Values are formatted to shape = (chains, draws, *shape) - """ - num_warmup = 0 - if save_warmup: - if not fit._save_warmup: # pylint: disable=protected-access - save_warmup = False - else: - num_warmup = fit.num_draws_warmup - - nchains = fit.chains - draws = np.swapaxes(fit.draws(inc_warmup=save_warmup), 0, 1) - sample = {} - sample_warmup = {} - - stan_vars_cols = fit.metadata.stan_vars_cols if hasattr(fit, "metadata") else fit.stan_vars_cols - sampler_vars_cols = ( - fit.metadata._method_vars_cols # pylint: disable=protected-access - if hasattr(fit, "metadata") - else fit.sampler_vars_cols - ) - for item in items: - if item in stan_vars_cols: - col_idxs = stan_vars_cols[item] - raw_draws = fit.stan_variable(item, inc_warmup=save_warmup) - raw_draws = np.swapaxes( - raw_draws.reshape((-1, nchains, *raw_draws.shape[1:]), order="F"), 0, 1 - ) - elif item in sampler_vars_cols: - col_idxs = sampler_vars_cols[item] - raw_draws = draws[..., col_idxs[0]] - else: - raise ValueError(f"fit data, unknown variable: {item}") - raw_draws = raw_draws.astype(dtypes.get(item)) - if save_warmup: - sample_warmup[item] = raw_draws[:, :num_warmup, ...] - sample[item] = raw_draws[:, num_warmup:, ...] - else: - sample[item] = raw_draws - - return sample, sample_warmup - - -def _unpack_frame(fit, columns, valid_cols, save_warmup, dtypes): - """Transform fit to dictionary containing ndarrays. - - Called when fit object created by cmdstanpy version < 0.9.68 - - Parameters - ---------- - data: cmdstanpy.CmdStanMCMC - columns: list - valid_cols: list - save_warmup: bool - dtypes: dict - - Returns - ------- - dict - key, values pairs. Values are formatted to shape = (chains, draws, *shape) - """ - if save_warmup and not fit._save_warmup: # pylint: disable=protected-access - save_warmup = False - if hasattr(fit, "draws"): - data = fit.draws(inc_warmup=save_warmup) - if save_warmup: - num_warmup = fit._draws_warmup # pylint: disable=protected-access - data_warmup = data[:num_warmup] - data = data[num_warmup:] - else: - data = fit.sample - if save_warmup: - data_warmup = fit.warmup[: data.shape[0]] - - draws, chains, *_ = data.shape - if save_warmup: - draws_warmup, *_ = data_warmup.shape - - column_groups = defaultdict(list) - column_locs = defaultdict(list) - # iterate flat column names - for i, col in enumerate(columns): - if "." in col: - # parse parameter names e.g. X.1.2 --> X, (1,2) - col_base, *col_tail = col.split(".") - else: - # parse parameter names e.g. X[1,2] --> X, (1,2) - col_base, *col_tail = col.replace("]", "").replace("[", ",").split(",") - if len(col_tail): - # gather nD array locations - column_groups[col_base].append(tuple(map(int, col_tail))) - # gather raw data locations for each parameter - column_locs[col_base].append(i) - # gather parameter dimensions (assumes dense arrays) - dims = { - colname: tuple(np.array(col_dims).max(0)) for colname, col_dims in column_groups.items() - } - sample = {} - sample_warmup = {} - valid_base_cols = [] - # get list of parameters for extraction (basename) X.1.2 --> X - for col in valid_cols: - base_col = col.split("[")[0].split(".")[0] - if base_col not in valid_base_cols: - valid_base_cols.append(base_col) - - # extract each wanted parameter to ndarray with correct shape - for key in valid_base_cols: - ndim = dims.get(key, None) - shape_location = column_groups.get(key, None) - if ndim is not None: - sample[key] = np.full((chains, draws, *ndim), np.nan) - if save_warmup: - sample_warmup[key] = np.full((chains, draws_warmup, *ndim), np.nan) - if shape_location is None: - # reorder draw, chain -> chain, draw - (i,) = column_locs[key] - sample[key] = np.swapaxes(data[..., i], 0, 1) - if save_warmup: - sample_warmup[key] = np.swapaxes(data_warmup[..., i], 0, 1) - else: - for i, shape_loc in zip(column_locs[key], shape_location): - # location to insert extracted array - shape_loc = tuple([Ellipsis] + [j - 1 for j in shape_loc]) - # reorder draw, chain -> chain, draw and insert to ndarray - sample[key][shape_loc] = np.swapaxes(data[..., i], 0, 1) - if save_warmup: - sample_warmup[key][shape_loc] = np.swapaxes(data_warmup[..., i], 0, 1) - - for key, dtype in dtypes.items(): - if key in sample: - sample[key] = sample[key].astype(dtype) - if save_warmup and key in sample_warmup: - sample_warmup[key] = sample_warmup[key].astype(dtype) - return sample, sample_warmup - - -def from_cmdstanpy( - posterior=None, - *, - posterior_predictive=None, - predictions=None, - prior=None, - prior_predictive=None, - observed_data=None, - constant_data=None, - predictions_constant_data=None, - log_likelihood=None, - index_origin=None, - coords=None, - dims=None, - save_warmup=None, - dtypes=None, -): - """Convert CmdStanPy data into an InferenceData object. - - For a usage example read the - :ref:`Creating InferenceData section on from_cmdstanpy ` - - Parameters - ---------- - posterior : CmdStanMCMC object - CmdStanPy CmdStanMCMC - posterior_predictive : str, list of str - Posterior predictive samples for the fit. - predictions : str, list of str - Out of sample prediction samples for the fit. - prior : CmdStanMCMC - CmdStanPy CmdStanMCMC - prior_predictive : str, list of str - Prior predictive samples for the fit. - observed_data : dict - Observed data used in the sampling. - constant_data : dict - Constant data used in the sampling. - predictions_constant_data : dict - Constant data for predictions used in the sampling. - log_likelihood : str, list of str, dict of {str: str}, optional - Pointwise log_likelihood for the data. If a dict, its keys should represent var_names - from the corresponding observed data and its values the stan variable where the - data is stored. By default, if a variable ``log_lik`` is present in the Stan model, - it will be retrieved as pointwise log likelihood values. Use ``False`` - or set ``data.log_likelihood`` to false to avoid this behaviour. - index_origin : int, optional - Starting value of integer coordinate values. Defaults to the value in rcParam - ``data.index_origin``. - coords : dict of str or dict of iterable - A dictionary containing the values that are used as index. The key - is the name of the dimension, the values are the index values. - dims : dict of str or list of str - A mapping from variables to a list of coordinate names for the variable. - save_warmup : bool - Save warmup iterations into InferenceData object, if found in the input files. - If not defined, use default defined by the rcParams. - dtypes: dict or str or cmdstanpy.CmdStanModel - A dictionary containing dtype information (int, float) for parameters. - If input is a string, it is assumed to be a model code or path to model code file. - Model code can extracted from cmdstanpy.CmdStanModel object. - - Returns - ------- - InferenceData object - """ - return CmdStanPyConverter( - posterior=posterior, - posterior_predictive=posterior_predictive, - predictions=predictions, - prior=prior, - prior_predictive=prior_predictive, - observed_data=observed_data, - constant_data=constant_data, - predictions_constant_data=predictions_constant_data, - log_likelihood=log_likelihood, - index_origin=index_origin, - coords=coords, - dims=dims, - save_warmup=save_warmup, - dtypes=dtypes, - ).to_inference_data() diff --git a/arviz/data/io_datatree.py b/arviz/data/io_datatree.py deleted file mode 100644 index d28f00a1d3..0000000000 --- a/arviz/data/io_datatree.py +++ /dev/null @@ -1,23 +0,0 @@ -"""Conversion between InferenceData and DataTree.""" - -from .inference_data import InferenceData - - -def to_datatree(data): - """Convert InferenceData object to a :class:`~xarray.DataTree`. - - Parameters - ---------- - data : InferenceData - """ - return data.to_datatree() - - -def from_datatree(datatree): - """Create an InferenceData object from a :class:`~xarray.DataTree`. - - Parameters - ---------- - datatree : DataTree - """ - return InferenceData.from_datatree(datatree) diff --git a/arviz/data/io_dict.py b/arviz/data/io_dict.py deleted file mode 100644 index ebff5276e9..0000000000 --- a/arviz/data/io_dict.py +++ /dev/null @@ -1,462 +0,0 @@ -"""Dictionary specific conversion code.""" - -import warnings -from typing import Optional - -from ..rcparams import rcParams -from .base import dict_to_dataset, requires -from .inference_data import WARMUP_TAG, InferenceData - - -# pylint: disable=too-many-instance-attributes -class DictConverter: - """Encapsulate Dictionary specific logic.""" - - def __init__( - self, - *, - posterior=None, - posterior_predictive=None, - predictions=None, - sample_stats=None, - log_likelihood=None, - prior=None, - prior_predictive=None, - sample_stats_prior=None, - observed_data=None, - constant_data=None, - predictions_constant_data=None, - warmup_posterior=None, - warmup_posterior_predictive=None, - warmup_predictions=None, - warmup_log_likelihood=None, - warmup_sample_stats=None, - save_warmup=None, - index_origin=None, - coords=None, - dims=None, - pred_dims=None, - pred_coords=None, - attrs=None, - **kwargs, - ): - self.posterior = posterior - self.posterior_predictive = posterior_predictive - self.predictions = predictions - self.sample_stats = sample_stats - self.log_likelihood = log_likelihood - self.prior = prior - self.prior_predictive = prior_predictive - self.sample_stats_prior = sample_stats_prior - self.observed_data = observed_data - self.constant_data = constant_data - self.predictions_constant_data = predictions_constant_data - self.warmup_posterior = warmup_posterior - self.warmup_posterior_predictive = warmup_posterior_predictive - self.warmup_predictions = warmup_predictions - self.warmup_log_likelihood = warmup_log_likelihood - self.warmup_sample_stats = warmup_sample_stats - self.save_warmup = rcParams["data.save_warmup"] if save_warmup is None else save_warmup - self.coords = ( - coords - if pred_coords is None - else pred_coords if coords is None else {**coords, **pred_coords} - ) - self.index_origin = index_origin - self.coords = coords - self.dims = dims - self.pred_dims = dims if pred_dims is None else pred_dims - self.attrs = {} if attrs is None else attrs - self.attrs.pop("created_at", None) - self.attrs.pop("arviz_version", None) - self._kwargs = kwargs - - def _init_dict(self, attr_name): - dict_or_none = getattr(self, attr_name, {}) - return {} if dict_or_none is None else dict_or_none - - @requires(["posterior", f"{WARMUP_TAG}posterior"]) - def posterior_to_xarray(self): - """Convert posterior samples to xarray.""" - data = self._init_dict("posterior") - data_warmup = self._init_dict(f"{WARMUP_TAG}posterior") - if not isinstance(data, dict): - raise TypeError("DictConverter.posterior is not a dictionary") - if not isinstance(data_warmup, dict): - raise TypeError("DictConverter.warmup_posterior is not a dictionary") - - if "log_likelihood" in data: - warnings.warn( - "log_likelihood variable found in posterior group." - " For stats functions log likelihood data needs to be in log_likelihood group.", - UserWarning, - ) - posterior_attrs = self._kwargs.get("posterior_attrs") - posterior_warmup_attrs = self._kwargs.get("posterior_warmup_attrs") - return ( - dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.dims, - attrs=posterior_attrs, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=None, - coords=self.coords, - dims=self.dims, - attrs=posterior_warmup_attrs, - index_origin=self.index_origin, - ), - ) - - @requires(["sample_stats", f"{WARMUP_TAG}sample_stats"]) - def sample_stats_to_xarray(self): - """Convert sample_stats samples to xarray.""" - data = self._init_dict("sample_stats") - data_warmup = self._init_dict(f"{WARMUP_TAG}sample_stats") - if not isinstance(data, dict): - raise TypeError("DictConverter.sample_stats is not a dictionary") - if not isinstance(data_warmup, dict): - raise TypeError("DictConverter.warmup_sample_stats is not a dictionary") - - if "log_likelihood" in data: - warnings.warn( - "log_likelihood variable found in sample_stats." - " Storing log_likelihood data in sample_stats group will be deprecated in " - "favour of storing them in the log_likelihood group.", - PendingDeprecationWarning, - ) - sample_stats_attrs = self._kwargs.get("sample_stats_attrs") - sample_stats_warmup_attrs = self._kwargs.get("sample_stats_warmup_attrs") - return ( - dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.dims, - attrs=sample_stats_attrs, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=None, - coords=self.coords, - dims=self.dims, - attrs=sample_stats_warmup_attrs, - index_origin=self.index_origin, - ), - ) - - @requires(["log_likelihood", f"{WARMUP_TAG}log_likelihood"]) - def log_likelihood_to_xarray(self): - """Convert log_likelihood samples to xarray.""" - data = self._init_dict("log_likelihood") - data_warmup = self._init_dict(f"{WARMUP_TAG}log_likelihood") - if not isinstance(data, dict): - raise TypeError("DictConverter.log_likelihood is not a dictionary") - if not isinstance(data_warmup, dict): - raise TypeError("DictConverter.warmup_log_likelihood is not a dictionary") - log_likelihood_attrs = self._kwargs.get("log_likelihood_attrs") - log_likelihood_warmup_attrs = self._kwargs.get("log_likelihood_warmup_attrs") - return ( - dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.dims, - attrs=log_likelihood_attrs, - index_origin=self.index_origin, - skip_event_dims=True, - ), - dict_to_dataset( - data_warmup, - library=None, - coords=self.coords, - dims=self.dims, - attrs=log_likelihood_warmup_attrs, - index_origin=self.index_origin, - skip_event_dims=True, - ), - ) - - @requires(["posterior_predictive", f"{WARMUP_TAG}posterior_predictive"]) - def posterior_predictive_to_xarray(self): - """Convert posterior_predictive samples to xarray.""" - data = self._init_dict("posterior_predictive") - data_warmup = self._init_dict(f"{WARMUP_TAG}posterior_predictive") - if not isinstance(data, dict): - raise TypeError("DictConverter.posterior_predictive is not a dictionary") - if not isinstance(data_warmup, dict): - raise TypeError("DictConverter.warmup_posterior_predictive is not a dictionary") - posterior_predictive_attrs = self._kwargs.get("posterior_predictive_attrs") - posterior_predictive_warmup_attrs = self._kwargs.get("posterior_predictive_warmup_attrs") - return ( - dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.dims, - attrs=posterior_predictive_attrs, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=None, - coords=self.coords, - dims=self.dims, - attrs=posterior_predictive_warmup_attrs, - index_origin=self.index_origin, - ), - ) - - @requires(["predictions", f"{WARMUP_TAG}predictions"]) - def predictions_to_xarray(self): - """Convert predictions to xarray.""" - data = self._init_dict("predictions") - data_warmup = self._init_dict(f"{WARMUP_TAG}predictions") - if not isinstance(data, dict): - raise TypeError("DictConverter.predictions is not a dictionary") - if not isinstance(data_warmup, dict): - raise TypeError("DictConverter.warmup_predictions is not a dictionary") - predictions_attrs = self._kwargs.get("predictions_attrs") - predictions_warmup_attrs = self._kwargs.get("predictions_warmup_attrs") - return ( - dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.pred_dims, - attrs=predictions_attrs, - index_origin=self.index_origin, - ), - dict_to_dataset( - data_warmup, - library=None, - coords=self.coords, - dims=self.pred_dims, - attrs=predictions_warmup_attrs, - index_origin=self.index_origin, - ), - ) - - @requires("prior") - def prior_to_xarray(self): - """Convert prior samples to xarray.""" - data = self.prior - if not isinstance(data, dict): - raise TypeError("DictConverter.prior is not a dictionary") - prior_attrs = self._kwargs.get("prior_attrs") - return dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.dims, - attrs=prior_attrs, - index_origin=self.index_origin, - ) - - @requires("sample_stats_prior") - def sample_stats_prior_to_xarray(self): - """Convert sample_stats_prior samples to xarray.""" - data = self.sample_stats_prior - if not isinstance(data, dict): - raise TypeError("DictConverter.sample_stats_prior is not a dictionary") - sample_stats_prior_attrs = self._kwargs.get("sample_stats_prior_attrs") - return dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.dims, - attrs=sample_stats_prior_attrs, - index_origin=self.index_origin, - ) - - @requires("prior_predictive") - def prior_predictive_to_xarray(self): - """Convert prior_predictive samples to xarray.""" - data = self.prior_predictive - if not isinstance(data, dict): - raise TypeError("DictConverter.prior_predictive is not a dictionary") - prior_predictive_attrs = self._kwargs.get("prior_predictive_attrs") - return dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.dims, - attrs=prior_predictive_attrs, - index_origin=self.index_origin, - ) - - def data_to_xarray(self, data, group, dims=None): - """Convert data to xarray.""" - if not isinstance(data, dict): - raise TypeError(f"DictConverter.{group} is not a dictionary") - if dims is None: - dims = {} if self.dims is None else self.dims - return dict_to_dataset( - data, - library=None, - coords=self.coords, - dims=self.dims, - default_dims=[], - attrs=self.attrs, - index_origin=self.index_origin, - ) - - @requires("observed_data") - def observed_data_to_xarray(self): - """Convert observed_data to xarray.""" - return self.data_to_xarray(self.observed_data, group="observed_data", dims=self.dims) - - @requires("constant_data") - def constant_data_to_xarray(self): - """Convert constant_data to xarray.""" - return self.data_to_xarray(self.constant_data, group="constant_data") - - @requires("predictions_constant_data") - def predictions_constant_data_to_xarray(self): - """Convert predictions_constant_data to xarray.""" - return self.data_to_xarray( - self.predictions_constant_data, group="predictions_constant_data", dims=self.pred_dims - ) - - def to_inference_data(self): - """Convert all available data to an InferenceData object. - - Note that if groups can not be created, then the InferenceData - will not have those groups. - """ - return InferenceData( - **{ - "posterior": self.posterior_to_xarray(), - "sample_stats": self.sample_stats_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - "posterior_predictive": self.posterior_predictive_to_xarray(), - "predictions": self.predictions_to_xarray(), - "prior": self.prior_to_xarray(), - "sample_stats_prior": self.sample_stats_prior_to_xarray(), - "prior_predictive": self.prior_predictive_to_xarray(), - "observed_data": self.observed_data_to_xarray(), - "constant_data": self.constant_data_to_xarray(), - "predictions_constant_data": self.predictions_constant_data_to_xarray(), - "save_warmup": self.save_warmup, - "attrs": self.attrs, - } - ) - - -# pylint: disable=too-many-instance-attributes -def from_dict( - posterior=None, - *, - posterior_predictive=None, - predictions=None, - sample_stats=None, - log_likelihood=None, - prior=None, - prior_predictive=None, - sample_stats_prior=None, - observed_data=None, - constant_data=None, - predictions_constant_data=None, - warmup_posterior=None, - warmup_posterior_predictive=None, - warmup_predictions=None, - warmup_log_likelihood=None, - warmup_sample_stats=None, - save_warmup=None, - index_origin: Optional[int] = None, - coords=None, - dims=None, - pred_dims=None, - pred_coords=None, - attrs=None, - **kwargs, -): - """Convert Dictionary data into an InferenceData object. - - For a usage example read the - :ref:`Creating InferenceData section on from_dict ` - - Parameters - ---------- - posterior : dict, optional - posterior_predictive : dict, optional - predictions: dict, optional - sample_stats : dict, optional - log_likelihood : dict, optional - For stats functions, log likelihood data should be stored here. - prior : dict, optional - prior_predictive : dict, optional - observed_data : dict, optional - constant_data : dict, optional - predictions_constant_data: dict, optional - warmup_posterior : dict, optional - warmup_posterior_predictive : dict, optional - warmup_predictions : dict, optional - warmup_log_likelihood : dict, optional - warmup_sample_stats : dict, optional - save_warmup : bool, optional - Save warmup iterations InferenceData object. If not defined, use default - defined by the rcParams. - index_origin : int, optional - coords : dict of {str : list}, optional - A dictionary containing the values that are used as index. The key - is the name of the dimension, the values are the index values. - dims : dict of {str : list of str}, optional - A mapping from variables to a list of coordinate names for the variable. - pred_dims : dict of {str : list of str}, optional - A mapping from variables to a list of coordinate names for predictions. - pred_coords : dict of {str : list}, optional - A mapping from variables to a list of coordinate values for predictions. - attrs : dict, optional - A dictionary containing attributes for different groups. - kwargs : dict, optional - A dictionary containing group attrs. Accepted kwargs are: - - - posterior_attrs, posterior_warmup_attrs : attrs for posterior group - - sample_stats_attrs, sample_stats_warmup_attrs : attrs for sample_stats group - - log_likelihood_attrs, log_likelihood_warmup_attrs : attrs for log_likelihood group - - posterior_predictive_attrs, posterior_predictive_warmup_attrs : attrs for - posterior_predictive group - - predictions_attrs, predictions_warmup_attrs : attrs for predictions group - - prior_attrs : attrs for prior group - - sample_stats_prior_attrs : attrs for sample_stats_prior group - - prior_predictive_attrs : attrs for prior_predictive group - - Returns - ------- - InferenceData - """ - return DictConverter( - posterior=posterior, - posterior_predictive=posterior_predictive, - predictions=predictions, - sample_stats=sample_stats, - log_likelihood=log_likelihood, - prior=prior, - prior_predictive=prior_predictive, - sample_stats_prior=sample_stats_prior, - observed_data=observed_data, - constant_data=constant_data, - predictions_constant_data=predictions_constant_data, - warmup_posterior=warmup_posterior, - warmup_posterior_predictive=warmup_posterior_predictive, - warmup_predictions=warmup_predictions, - warmup_log_likelihood=warmup_log_likelihood, - warmup_sample_stats=warmup_sample_stats, - save_warmup=save_warmup, - index_origin=index_origin, - coords=coords, - dims=dims, - pred_dims=pred_dims, - pred_coords=pred_coords, - attrs=attrs, - **kwargs, - ).to_inference_data() - - -from_pytree = from_dict diff --git a/arviz/data/io_emcee.py b/arviz/data/io_emcee.py deleted file mode 100644 index d08c5f8d89..0000000000 --- a/arviz/data/io_emcee.py +++ /dev/null @@ -1,317 +0,0 @@ -"""emcee-specific conversion code.""" - -import warnings -from collections import OrderedDict - -import numpy as np -import xarray as xr - -from .. import utils -from .base import dict_to_dataset, generate_dims_coords, make_attrs -from .inference_data import InferenceData - - -def _verify_names(sampler, var_names, arg_names, slices): - """Make sure var_names and arg_names are assigned reasonably. - - This is meant to run before loading emcee objects into InferenceData. - In case var_names or arg_names is None, will provide defaults. If they are - not None, it verifies there are the right number of them. - - Throws a ValueError in case validation fails. - - Parameters - ---------- - sampler : emcee.EnsembleSampler - Fitted emcee sampler - var_names : list[str] or None - Names for the emcee parameters - arg_names : list[str] or None - Names for the args/observations provided to emcee - slices : list[seq] or None - slices to select the variables (used for multidimensional variables) - - Returns - ------- - list[str], list[str], list[seq] - Defaults for var_names, arg_names and slices - """ - # There are 3 possible cases: emcee2, emcee3 and sampler read from h5 file (emcee3 only) - if hasattr(sampler, "args"): - ndim = sampler.chain.shape[-1] - num_args = len(sampler.args) - elif hasattr(sampler, "log_prob_fn"): - ndim = sampler.get_chain().shape[-1] - num_args = len(sampler.log_prob_fn.args) - else: - ndim = sampler.get_chain().shape[-1] - num_args = 0 # emcee only stores the posterior samples - - if slices is None: - slices = utils.arange(ndim) - num_vars = ndim - else: - num_vars = len(slices) - indices = utils.arange(ndim) - slicing_try = np.concatenate([utils.one_de(indices[idx]) for idx in slices]) - if len(set(slicing_try)) != ndim: - warnings.warn( - "Check slices: Not all parameters in chain captured. " - f"{ndim} are present, and {len(slicing_try)} have been captured.", - UserWarning, - ) - if len(slicing_try) != len(set(slicing_try)): - warnings.warn(f"Overlapping slices. Check the index present: {slicing_try}", UserWarning) - - if var_names is None: - var_names = [f"var_{idx}" for idx in range(num_vars)] - if arg_names is None: - arg_names = [f"arg_{idx}" for idx in range(num_args)] - - if len(var_names) != num_vars: - raise ValueError( - f"The sampler has {num_vars} variables, " - f"but only {len(var_names)} var_names were provided!" - ) - - if len(arg_names) != num_args: - raise ValueError( - f"The sampler has {num_args} args, " - f"but only {len(arg_names)} arg_names were provided!" - ) - return var_names, arg_names, slices - - -# pylint: disable=too-many-instance-attributes -class EmceeConverter: - """Encapsulate emcee specific logic.""" - - def __init__( - self, - sampler, - var_names=None, - slices=None, - arg_names=None, - arg_groups=None, - blob_names=None, - blob_groups=None, - index_origin=None, - coords=None, - dims=None, - ): - var_names, arg_names, slices = _verify_names(sampler, var_names, arg_names, slices) - self.sampler = sampler - self.var_names = var_names - self.slices = slices - self.arg_names = arg_names - self.arg_groups = arg_groups - self.blob_names = blob_names - self.blob_groups = blob_groups - self.index_origin = index_origin - self.coords = coords - self.dims = dims - import emcee - - self.emcee = emcee - - def posterior_to_xarray(self): - """Convert the posterior to an xarray dataset.""" - # Use emcee3 syntax, else use emcee2 - if hasattr(self.sampler, "get_chain"): - samples_ary = self.sampler.get_chain().swapaxes(0, 1) - else: - samples_ary = self.sampler.chain - - data = { - var_name: (samples_ary[(..., idx)]) - for idx, var_name in zip(self.slices, self.var_names) - } - return dict_to_dataset( - data, - library=self.emcee, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ) - - def args_to_xarray(self): - """Convert emcee args to observed and constant_data xarray Datasets.""" - dims = {} if self.dims is None else self.dims - if self.arg_groups is None: - self.arg_groups = ["observed_data" for _ in self.arg_names] - if len(self.arg_names) != len(self.arg_groups): - raise ValueError( - "arg_names and arg_groups must have the same length, or arg_groups be None" - ) - arg_groups_set = set(self.arg_groups) - bad_groups = [ - group for group in arg_groups_set if group not in ("observed_data", "constant_data") - ] - if bad_groups: - raise SyntaxError( - "all arg_groups values should be either 'observed_data' or 'constant_data' , " - f"not {bad_groups}" - ) - obs_const_dict = {group: OrderedDict() for group in arg_groups_set} - for idx, (arg_name, group) in enumerate(zip(self.arg_names, self.arg_groups)): - # Use emcee3 syntax, else use emcee2 - arg_array = np.atleast_1d( - self.sampler.log_prob_fn.args[idx] - if hasattr(self.sampler, "log_prob_fn") - else self.sampler.args[idx] - ) - arg_dims = dims.get(arg_name) - arg_dims, coords = generate_dims_coords( - arg_array.shape, - arg_name, - dims=arg_dims, - coords=self.coords, - index_origin=self.index_origin, - ) - # filter coords based on the dims - coords = {key: xr.IndexVariable((key,), data=coords[key]) for key in arg_dims} - obs_const_dict[group][arg_name] = xr.DataArray(arg_array, dims=arg_dims, coords=coords) - for key, values in obs_const_dict.items(): - obs_const_dict[key] = xr.Dataset(data_vars=values, attrs=make_attrs(library=self.emcee)) - return obs_const_dict - - def blobs_to_dict(self): - """Convert blobs to dictionary {groupname: xr.Dataset}. - - It also stores lp values in sample_stats group. - """ - store_blobs = self.blob_names is not None - self.blob_names = [] if self.blob_names is None else self.blob_names - if self.blob_groups is None: - self.blob_groups = ["log_likelihood" for _ in self.blob_names] - if len(self.blob_names) != len(self.blob_groups): - raise ValueError( - "blob_names and blob_groups must have the same length, or blob_groups be None" - ) - if store_blobs: - if int(self.emcee.__version__[0]) >= 3: - blobs = self.sampler.get_blobs() - else: - blobs = np.array(self.sampler.blobs, dtype=object) - if (blobs is None or blobs.size == 0) and self.blob_names: - raise ValueError("No blobs in sampler, blob_names must be None") - if len(blobs.shape) == 2: - blobs = np.expand_dims(blobs, axis=-1) - blobs = blobs.swapaxes(0, 2) - nblobs, nwalkers, ndraws, *_ = blobs.shape - if len(self.blob_names) != nblobs and len(self.blob_names) > 1: - raise ValueError( - "Incorrect number of blob names. " - f"Expected {nblobs}, found {len(self.blob_names)}" - ) - blob_groups_set = set(self.blob_groups) - blob_groups_set.add("sample_stats") - idata_groups = ("posterior", "observed_data", "constant_data") - if np.any(np.isin(list(blob_groups_set), idata_groups)): - raise SyntaxError( - f"{idata_groups} groups should not come from blobs. " - "Using them here would overwrite their actual values" - ) - blob_dict = {group: OrderedDict() for group in blob_groups_set} - if len(self.blob_names) == 1: - blob_dict[self.blob_groups[0]][self.blob_names[0]] = blobs.swapaxes(0, 2).swapaxes(0, 1) - else: - for i_blob, (name, group) in enumerate(zip(self.blob_names, self.blob_groups)): - # for coherent blobs (all having the same dimensions) one line is enough - blob = blobs[i_blob] - # for blobs of different size, we get an array of arrays, which we convert - # to an ndarray per blob_name - if blob.dtype == object: - blob = blob.reshape(-1) - blob = np.stack(blob) - blob = blob.reshape((nwalkers, ndraws, -1)) - blob_dict[group][name] = np.squeeze(blob) - - # store lp in sample_stats group - blob_dict["sample_stats"]["lp"] = ( - self.sampler.get_log_prob().swapaxes(0, 1) - if hasattr(self.sampler, "get_log_prob") - else self.sampler.lnprobability - ) - for key, values in blob_dict.items(): - blob_dict[key] = dict_to_dataset( - values, - library=self.emcee, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ) - return blob_dict - - def to_inference_data(self): - """Convert all available data to an InferenceData object.""" - blobs_dict = self.blobs_to_dict() - obs_const_dict = self.args_to_xarray() - return InferenceData( - **{"posterior": self.posterior_to_xarray(), **obs_const_dict, **blobs_dict} - ) - - -def from_emcee( - sampler=None, - var_names=None, - slices=None, - arg_names=None, - arg_groups=None, - blob_names=None, - blob_groups=None, - index_origin=None, - coords=None, - dims=None, -): - """Convert emcee data into an InferenceData object. - - For a usage example read :ref:`emcee_conversion` - - - Parameters - ---------- - sampler : emcee.EnsembleSampler - Fitted sampler from emcee. - var_names : list of str, optional - A list of names for variables in the sampler - slices : list of array-like or slice, optional - A list containing the indexes of each variable. Should only be used - for multidimensional variables. - arg_names : list of str, optional - A list of names for args in the sampler - arg_groups : list of str, optional - A list of the group names (either ``observed_data`` or ``constant_data``) where - args in the sampler are stored. If None, all args will be stored in observed - data group. - blob_names : list of str, optional - A list of names for blobs in the sampler. When None, - blobs are omitted, independently of them being present - in the sampler or not. - blob_groups : list of str, optional - A list of the groups where blob_names variables - should be assigned respectively. If blob_names!=None - and blob_groups is None, all variables are assigned - to log_likelihood group - coords : dict of {str : array_like}, optional - Map of dimensions to coordinates - dims : dict of {str : list of str}, optional - Map variable names to their coordinates - - Returns - ------- - arviz.InferenceData - - """ - return EmceeConverter( - sampler=sampler, - var_names=var_names, - slices=slices, - arg_names=arg_names, - arg_groups=arg_groups, - blob_names=blob_names, - blob_groups=blob_groups, - index_origin=index_origin, - coords=coords, - dims=dims, - ).to_inference_data() diff --git a/arviz/data/io_json.py b/arviz/data/io_json.py deleted file mode 100644 index 82ada77009..0000000000 --- a/arviz/data/io_json.py +++ /dev/null @@ -1,54 +0,0 @@ -"""Input and output support for data.""" - -from .io_dict import from_dict - -try: - import ujson as json -except ImportError: - # Can't find ujson using json - # mypy struggles with conditional imports expressed as catching ImportError: - # https://github.com/python/mypy/issues/1153 - import json # type: ignore - - -def from_json(filename): - """Initialize object from a json file. - - Will use the faster `ujson` (https://github.com/ultrajson/ultrajson) if it is available. - - Parameters - ---------- - filename : str - location of json file - - Returns - ------- - InferenceData object - """ - with open(filename, "rb") as file: - idata_dict = json.load(file) - - return from_dict(**idata_dict, save_warmup=True) - - -def to_json(idata, filename): - """Save dataset as a json file. - - Will use the faster `ujson` (https://github.com/ultrajson/ultrajson) if it is available. - - WARNING: Only idempotent in case `idata` is InferenceData. - - Parameters - ---------- - idata : InferenceData - Object to be saved - filename : str - name or path of the file to load trace - - Returns - ------- - str - filename saved to - """ - file_name = idata.to_json(filename) - return file_name diff --git a/arviz/data/io_netcdf.py b/arviz/data/io_netcdf.py deleted file mode 100644 index bd20e20921..0000000000 --- a/arviz/data/io_netcdf.py +++ /dev/null @@ -1,68 +0,0 @@ -"""Input and output support for data.""" - -from .converters import convert_to_inference_data -from .inference_data import InferenceData - - -def from_netcdf(filename, *, engine="h5netcdf", group_kwargs=None, regex=False): - """Load netcdf file back into an arviz.InferenceData. - - Parameters - ---------- - filename : str - name or path of the file to load trace - engine : {"h5netcdf", "netcdf4"}, default "h5netcdf" - Library used to read the netcdf file. - group_kwargs : dict of {str: dict} - Keyword arguments to be passed into each call of :func:`xarray.open_dataset`. - The keys of the higher level should be group names or regex matching group - names, the inner dicts re passed to ``open_dataset``. - This feature is currently experimental - regex : str - Specifies where regex search should be used to extend the keyword arguments. - - Returns - ------- - InferenceData object - - Notes - ----- - By default, the datasets of the InferenceData object will be lazily loaded instead - of loaded into memory. This behaviour is regulated by the value of - ``az.rcParams["data.load"]``. - """ - if group_kwargs is None: - group_kwargs = {} - return InferenceData.from_netcdf( - filename, engine=engine, group_kwargs=group_kwargs, regex=regex - ) - - -def to_netcdf(data, filename, *, group="posterior", engine="h5netcdf", coords=None, dims=None): - """Save dataset as a netcdf file. - - WARNING: Only idempotent in case `data` is InferenceData - - Parameters - ---------- - data : InferenceData, or any object accepted by `convert_to_inference_data` - Object to be saved - filename : str - name or path of the file to load trace - group : str (optional) - In case `data` is not InferenceData, this is the group it will be saved to - engine : {"h5netcdf", "netcdf4"}, default "h5netcdf" - Library used to read the netcdf file. - coords : dict (optional) - See `convert_to_inference_data` - dims : dict (optional) - See `convert_to_inference_data` - - Returns - ------- - str - filename saved to - """ - inference_data = convert_to_inference_data(data, group=group, coords=coords, dims=dims) - file_name = inference_data.to_netcdf(filename, engine=engine) - return file_name diff --git a/arviz/data/io_numpyro.py b/arviz/data/io_numpyro.py deleted file mode 100644 index d49d6db619..0000000000 --- a/arviz/data/io_numpyro.py +++ /dev/null @@ -1,497 +0,0 @@ -"""NumPyro-specific conversion code.""" - -from collections import defaultdict -import logging -from typing import Any, Callable, Optional, Dict, List, Tuple - -import numpy as np - -from .. import utils -from ..rcparams import rcParams -from .base import dict_to_dataset, requires -from .inference_data import InferenceData - -_log = logging.getLogger(__name__) - - -def _add_dims(dims_a: Dict[str, List[str]], dims_b: Dict[str, List[str]]) -> Dict[str, List[str]]: - merged = defaultdict(list) - - for k, v in dims_a.items(): - merged[k].extend(v) - - for k, v in dims_b.items(): - merged[k].extend(v) - - # Convert back to a regular dict - return dict(merged) - - -def infer_dims( - model: Callable, - model_args: Optional[Tuple[Any, ...]] = None, - model_kwargs: Optional[Dict[str, Any]] = None, -) -> Dict[str, List[str]]: - - from numpyro import handlers, distributions as dist - from numpyro.ops.pytree import PytreeTrace - from numpyro.infer.initialization import init_to_sample - import jax - - model_args = tuple() if model_args is None else model_args - model_kwargs = dict() if model_args is None else model_kwargs - - def _get_dist_name(fn): - if isinstance(fn, (dist.Independent, dist.ExpandedDistribution, dist.MaskedDistribution)): - return _get_dist_name(fn.base_dist) - return type(fn).__name__ - - def get_trace(): - # We use `init_to_sample` to get around ImproperUniform distribution, - # which does not have `sample` method. - subs_model = handlers.substitute( - handlers.seed(model, 0), - substitute_fn=init_to_sample, - ) - trace = handlers.trace(subs_model).get_trace(*model_args, **model_kwargs) - # Work around an issue where jax.eval_shape does not work - # for distribution output (e.g. the function `lambda: dist.Normal(0, 1)`) - # Here we will remove `fn` and store its name in the trace. - for _, site in trace.items(): - if site["type"] == "sample": - site["fn_name"] = _get_dist_name(site.pop("fn")) - elif site["type"] == "deterministic": - site["fn_name"] = "Deterministic" - return PytreeTrace(trace) - - # We use eval_shape to avoid any array computation. - trace = jax.eval_shape(get_trace).trace - - named_dims = {} - - for name, site in trace.items(): - batch_dims = [frame.name for frame in sorted(site["cond_indep_stack"], key=lambda x: x.dim)] - event_dims = list(site.get("infer", {}).get("event_dims", [])) - if site["type"] in ["sample", "deterministic"] and (batch_dims or event_dims): - named_dims[name] = batch_dims + event_dims - - return named_dims - - -class NumPyroConverter: - """Encapsulate NumPyro specific logic.""" - - # pylint: disable=too-many-instance-attributes - - model = None # type: Optional[Callable] - nchains = None # type: int - ndraws = None # type: int - - def __init__( - self, - *, - posterior=None, - prior=None, - posterior_predictive=None, - predictions=None, - constant_data=None, - predictions_constant_data=None, - log_likelihood=None, - index_origin=None, - coords=None, - dims=None, - pred_dims=None, - extra_event_dims=None, - num_chains=1, - ): - """Convert NumPyro data into an InferenceData object. - - Parameters - ---------- - posterior : numpyro.mcmc.MCMC - Fitted MCMC object from NumPyro - prior: dict - Prior samples from a NumPyro model - posterior_predictive : dict - Posterior predictive samples for the posterior - predictions: dict - Out of sample predictions - constant_data: dict - Dictionary containing constant data variables mapped to their values. - predictions_constant_data: dict - Constant data used for out-of-sample predictions. - index_origin : int, optional - coords : dict[str] -> list[str] - Map of dimensions to coordinates - dims : dict[str] -> list[str] - Map variable names to their coordinates. Will be inferred if they are not provided. - pred_dims: dict - Dims for predictions data. Map variable names to their coordinates. - extra_event_dims: dict - Extra event dims for deterministic sites. Maps event dims that couldnt be inferred to - their coordinates. - num_chains: int - Number of chains used for sampling. Ignored if posterior is present. - """ - import jax - import numpyro - - self.posterior = posterior - self.prior = jax.device_get(prior) - self.posterior_predictive = jax.device_get(posterior_predictive) - self.predictions = predictions - self.constant_data = constant_data - self.predictions_constant_data = predictions_constant_data - self.log_likelihood = ( - rcParams["data.log_likelihood"] if log_likelihood is None else log_likelihood - ) - self.index_origin = rcParams["data.index_origin"] if index_origin is None else index_origin - self.coords = coords - self.dims = dims - self.pred_dims = pred_dims - self.extra_event_dims = extra_event_dims - self.numpyro = numpyro - - def arbitrary_element(dct): - return next(iter(dct.values())) - - if posterior is not None: - samples = jax.device_get(self.posterior.get_samples(group_by_chain=True)) - if hasattr(samples, "_asdict"): - # In case it is easy to convert to a dictionary, as in the case of namedtuples - samples = samples._asdict() - if not isinstance(samples, dict): - # handle the case we run MCMC with a general potential_fn - # (instead of a NumPyro model) whose args is not a dictionary - # (e.g. f(x) = x ** 2) - tree_flatten_samples = jax.tree_util.tree_flatten(samples)[0] - samples = { - f"Param:{i}": jax.device_get(v) for i, v in enumerate(tree_flatten_samples) - } - self._samples = samples - self.nchains, self.ndraws = ( - posterior.num_chains, - posterior.num_samples // posterior.thinning, - ) - self.model = self.posterior.sampler.model - # model arguments and keyword arguments - self._args = self.posterior._args # pylint: disable=protected-access - self._kwargs = self.posterior._kwargs # pylint: disable=protected-access - self.dims = self.dims if self.dims is not None else self.infer_dims() - self.pred_dims = ( - self.pred_dims if self.pred_dims is not None else self.infer_pred_dims() - ) - else: - self.nchains = num_chains - get_from = None - if predictions is not None: - get_from = predictions - elif posterior_predictive is not None: - get_from = posterior_predictive - elif prior is not None: - get_from = prior - if get_from is None and constant_data is None and predictions_constant_data is None: - raise ValueError( - "When constructing InferenceData must have at least" - " one of posterior, prior, posterior_predictive or predictions." - ) - if get_from is not None: - aelem = arbitrary_element(get_from) - self.ndraws = aelem.shape[0] // self.nchains - - observations = {} - if self.model is not None: - # we need to use an init strategy to generate random samples for ImproperUniform sites - seeded_model = numpyro.handlers.substitute( - numpyro.handlers.seed(self.model, jax.random.PRNGKey(0)), - substitute_fn=numpyro.infer.init_to_sample, - ) - trace = numpyro.handlers.trace(seeded_model).get_trace(*self._args, **self._kwargs) - observations = { - name: site["value"] - for name, site in trace.items() - if site["type"] == "sample" and site["is_observed"] - } - self.observations = observations if observations else None - - @requires("posterior") - def posterior_to_xarray(self): - """Convert the posterior to an xarray dataset.""" - data = self._samples - return dict_to_dataset( - data, - library=self.numpyro, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ) - - @requires("posterior") - def sample_stats_to_xarray(self): - """Extract sample_stats from NumPyro posterior.""" - rename_key = { - "potential_energy": "lp", - "adapt_state.step_size": "step_size", - "num_steps": "n_steps", - "accept_prob": "acceptance_rate", - } - data = {} - for stat, value in self.posterior.get_extra_fields(group_by_chain=True).items(): - if isinstance(value, (dict, tuple)): - continue - name = rename_key.get(stat, stat) - value = value.copy() - if stat == "potential_energy": - data[name] = -value - else: - data[name] = value - if stat == "num_steps": - data["tree_depth"] = np.log2(value).astype(int) + 1 - return dict_to_dataset( - data, - library=self.numpyro, - dims=None, - coords=self.coords, - index_origin=self.index_origin, - ) - - @requires("posterior") - @requires("model") - def log_likelihood_to_xarray(self): - """Extract log likelihood from NumPyro posterior.""" - if not self.log_likelihood: - return None - data = {} - if self.observations is not None: - samples = self.posterior.get_samples(group_by_chain=False) - if hasattr(samples, "_asdict"): - samples = samples._asdict() - log_likelihood_dict = self.numpyro.infer.log_likelihood( - self.model, samples, *self._args, **self._kwargs - ) - for obs_name, log_like in log_likelihood_dict.items(): - shape = (self.nchains, self.ndraws) + log_like.shape[1:] - data[obs_name] = np.reshape(np.asarray(log_like), shape) - return dict_to_dataset( - data, - library=self.numpyro, - dims=self.dims, - coords=self.coords, - index_origin=self.index_origin, - skip_event_dims=True, - ) - - def translate_posterior_predictive_dict_to_xarray(self, dct, dims): - """Convert posterior_predictive or prediction samples to xarray.""" - data = {} - for k, ary in dct.items(): - shape = ary.shape - if shape[0] == self.nchains and shape[1] == self.ndraws: - data[k] = ary - elif shape[0] == self.nchains * self.ndraws: - data[k] = ary.reshape((self.nchains, self.ndraws, *shape[1:])) - else: - data[k] = utils.expand_dims(ary) - _log.warning( - "posterior predictive shape not compatible with number of chains and draws. " - "This can mean that some draws or even whole chains are not represented." - ) - return dict_to_dataset( - data, - library=self.numpyro, - coords=self.coords, - dims=dims, - index_origin=self.index_origin, - ) - - @requires("posterior_predictive") - def posterior_predictive_to_xarray(self): - """Convert posterior_predictive samples to xarray.""" - return self.translate_posterior_predictive_dict_to_xarray( - self.posterior_predictive, self.dims - ) - - @requires("predictions") - def predictions_to_xarray(self): - """Convert predictions to xarray.""" - return self.translate_posterior_predictive_dict_to_xarray(self.predictions, self.pred_dims) - - def priors_to_xarray(self): - """Convert prior samples (and if possible prior predictive too) to xarray.""" - if self.prior is None: - return {"prior": None, "prior_predictive": None} - if self.posterior is not None: - prior_vars = list(self._samples.keys()) - prior_predictive_vars = [key for key in self.prior.keys() if key not in prior_vars] - else: - prior_vars = self.prior.keys() - prior_predictive_vars = None - priors_dict = { - group: ( - None - if var_names is None - else dict_to_dataset( - {k: utils.expand_dims(self.prior[k]) for k in var_names}, - library=self.numpyro, - coords=self.coords, - dims=self.dims, - index_origin=self.index_origin, - ) - ) - for group, var_names in zip( - ("prior", "prior_predictive"), (prior_vars, prior_predictive_vars) - ) - } - return priors_dict - - @requires("observations") - @requires("model") - def observed_data_to_xarray(self): - """Convert observed data to xarray.""" - return dict_to_dataset( - self.observations, - library=self.numpyro, - dims=self.dims, - coords=self.coords, - default_dims=[], - index_origin=self.index_origin, - ) - - @requires("constant_data") - def constant_data_to_xarray(self): - """Convert constant_data to xarray.""" - return dict_to_dataset( - self.constant_data, - library=self.numpyro, - dims=self.dims, - coords=self.coords, - default_dims=[], - index_origin=self.index_origin, - ) - - @requires("predictions_constant_data") - def predictions_constant_data_to_xarray(self): - """Convert predictions_constant_data to xarray.""" - return dict_to_dataset( - self.predictions_constant_data, - library=self.numpyro, - dims=self.pred_dims, - coords=self.coords, - default_dims=[], - index_origin=self.index_origin, - ) - - def to_inference_data(self): - """Convert all available data to an InferenceData object. - - Note that if groups can not be created (i.e., there is no `trace`, so - the `posterior` and `sample_stats` can not be extracted), then the InferenceData - will not have those groups. - """ - return InferenceData( - **{ - "posterior": self.posterior_to_xarray(), - "sample_stats": self.sample_stats_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - "posterior_predictive": self.posterior_predictive_to_xarray(), - "predictions": self.predictions_to_xarray(), - **self.priors_to_xarray(), - "observed_data": self.observed_data_to_xarray(), - "constant_data": self.constant_data_to_xarray(), - "predictions_constant_data": self.predictions_constant_data_to_xarray(), - } - ) - - @requires("posterior") - @requires("model") - def infer_dims(self) -> Dict[str, List[str]]: - dims = infer_dims(self.model, self._args, self._kwargs) - if self.extra_event_dims: - dims = _add_dims(dims, self.extra_event_dims) - return dims - - @requires("posterior") - @requires("model") - @requires("predictions") - def infer_pred_dims(self) -> Dict[str, List[str]]: - dims = infer_dims(self.model, self._args, self._kwargs) - if self.extra_event_dims: - dims = _add_dims(dims, self.extra_event_dims) - return dims - - -def from_numpyro( - posterior=None, - *, - prior=None, - posterior_predictive=None, - predictions=None, - constant_data=None, - predictions_constant_data=None, - log_likelihood=None, - index_origin=None, - coords=None, - dims=None, - pred_dims=None, - extra_event_dims=None, - num_chains=1, -): - """Convert NumPyro data into an InferenceData object. - - If no dims are provided, this will infer batch dim names from NumPyro model plates. - For event dim names, such as with the ZeroSumNormal, `infer={"event_dims":dim_names}` - can be provided in numpyro.sample, i.e.:: - - # equivalent to dims entry, {"gamma": ["groups"]} - gamma = numpyro.sample( - "gamma", - dist.ZeroSumNormal(1, event_shape=(n_groups,)), - infer={"event_dims":["groups"]} - ) - - There is also an additional `extra_event_dims` input to cover any edge cases, for instance - deterministic sites with event dims (which dont have an `infer` argument to provide metadata). - - For a usage example read the - :ref:`Creating InferenceData section on from_numpyro ` - - Parameters - ---------- - posterior : numpyro.mcmc.MCMC - Fitted MCMC object from NumPyro - prior: dict - Prior samples from a NumPyro model - posterior_predictive : dict - Posterior predictive samples for the posterior - predictions: dict - Out of sample predictions - constant_data: dict - Dictionary containing constant data variables mapped to their values. - predictions_constant_data: dict - Constant data used for out-of-sample predictions. - index_origin : int, optional - coords : dict[str] -> list[str] - Map of dimensions to coordinates - dims : dict[str] -> list[str] - Map variable names to their coordinates. Will be inferred if they are not provided. - pred_dims: dict - Dims for predictions data. Map variable names to their coordinates. Default behavior is to - infer dims if this is not provided - num_chains: int - Number of chains used for sampling. Ignored if posterior is present. - """ - return NumPyroConverter( - posterior=posterior, - prior=prior, - posterior_predictive=posterior_predictive, - predictions=predictions, - constant_data=constant_data, - predictions_constant_data=predictions_constant_data, - log_likelihood=log_likelihood, - index_origin=index_origin, - coords=coords, - dims=dims, - pred_dims=pred_dims, - extra_event_dims=extra_event_dims, - num_chains=num_chains, - ).to_inference_data() diff --git a/arviz/data/io_pyjags.py b/arviz/data/io_pyjags.py deleted file mode 100644 index bc323d893f..0000000000 --- a/arviz/data/io_pyjags.py +++ /dev/null @@ -1,378 +0,0 @@ -"""Convert PyJAGS sample dictionaries to ArviZ inference data objects.""" - -import typing as tp -from collections import OrderedDict -from collections.abc import Iterable - -import numpy as np -import xarray - -from .inference_data import InferenceData - -from ..rcparams import rcParams -from .base import dict_to_dataset - - -class PyJAGSConverter: - """Encapsulate PyJAGS specific logic.""" - - def __init__( - self, - *, - posterior: tp.Optional[tp.Mapping[str, np.ndarray]] = None, - prior: tp.Optional[tp.Mapping[str, np.ndarray]] = None, - log_likelihood: tp.Optional[ - tp.Union[str, tp.List[str], tp.Tuple[str, ...], tp.Mapping[str, str]] - ] = None, - coords=None, - dims=None, - save_warmup: tp.Optional[bool] = None, - warmup_iterations: int = 0, - ) -> None: - self.posterior: tp.Optional[tp.Mapping[str, np.ndarray]] - self.log_likelihood: tp.Optional[tp.Dict[str, np.ndarray]] - if log_likelihood is not None and posterior is not None: - posterior_copy = dict(posterior) # create a shallow copy of the dictionary - - if isinstance(log_likelihood, str): - log_likelihood = [log_likelihood] - if isinstance(log_likelihood, (list, tuple)): - log_likelihood = {name: name for name in log_likelihood} - - self.log_likelihood = { - obs_var_name: posterior_copy.pop(log_like_name) - for obs_var_name, log_like_name in log_likelihood.items() - } - self.posterior = posterior_copy - else: - self.posterior = posterior - self.log_likelihood = None - self.prior = prior - self.coords = coords - self.dims = dims - self.save_warmup = rcParams["data.save_warmup"] if save_warmup is None else save_warmup - self.warmup_iterations = warmup_iterations - - import pyjags # pylint: disable=import-error - - self.pyjags = pyjags - - def _pyjags_samples_to_xarray( - self, pyjags_samples: tp.Mapping[str, np.ndarray] - ) -> tp.Tuple[xarray.Dataset, xarray.Dataset]: - data, data_warmup = get_draws( - pyjags_samples=pyjags_samples, - warmup_iterations=self.warmup_iterations, - warmup=self.save_warmup, - ) - - return ( - dict_to_dataset(data, library=self.pyjags, coords=self.coords, dims=self.dims), - dict_to_dataset( - data_warmup, - library=self.pyjags, - coords=self.coords, - dims=self.dims, - ), - ) - - def posterior_to_xarray(self) -> tp.Optional[tp.Tuple[xarray.Dataset, xarray.Dataset]]: - """Extract posterior samples from fit.""" - if self.posterior is None: - return None - - return self._pyjags_samples_to_xarray(self.posterior) - - def prior_to_xarray(self) -> tp.Optional[tp.Tuple[xarray.Dataset, xarray.Dataset]]: - """Extract posterior samples from fit.""" - if self.prior is None: - return None - - return self._pyjags_samples_to_xarray(self.prior) - - def log_likelihood_to_xarray(self) -> tp.Optional[tp.Tuple[xarray.Dataset, xarray.Dataset]]: - """Extract log likelihood samples from fit.""" - if self.log_likelihood is None: - return None - - return self._pyjags_samples_to_xarray(self.log_likelihood) - - def to_inference_data(self): - """Convert all available data to an InferenceData object.""" - # obs_const_dict = self.observed_and_constant_data_to_xarray() - # predictions_const_data = self.predictions_constant_data_to_xarray() - save_warmup = self.save_warmup and self.warmup_iterations > 0 - # self.posterior is not None - - idata_dict = { - "posterior": self.posterior_to_xarray(), - "prior": self.prior_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - "save_warmup": save_warmup, - } - - return InferenceData(**idata_dict) - - -def get_draws( - pyjags_samples: tp.Mapping[str, np.ndarray], - variables: tp.Optional[tp.Union[str, tp.Iterable[str]]] = None, - warmup: bool = False, - warmup_iterations: int = 0, -) -> tp.Tuple[tp.Mapping[str, np.ndarray], tp.Mapping[str, np.ndarray]]: - """ - Convert PyJAGS samples dictionary to ArviZ format and split warmup samples. - - Parameters - ---------- - pyjags_samples: a dictionary mapping variable names to NumPy arrays of MCMC - chains of samples with shape - (parameter_dimension, chain_length, number_of_chains) - - variables: the variables to extract from the samples dictionary - warmup: whether or not to return warmup draws in data_warmup - warmup_iterations: the number of warmup iterations if any - - Returns - ------- - A tuple of two samples dictionaries in ArviZ format - """ - data_warmup: tp.Mapping[str, np.ndarray] = OrderedDict() - - if variables is None: - variables = list(pyjags_samples.keys()) - elif isinstance(variables, str): - variables = [variables] - - if not isinstance(variables, Iterable): - raise TypeError("variables must be of type Sequence or str") - - variables = tuple(variables) - - if warmup_iterations > 0: - ( - warmup_samples, - actual_samples, - ) = _split_pyjags_dict_in_warmup_and_actual_samples( - pyjags_samples=pyjags_samples, - warmup_iterations=warmup_iterations, - variable_names=variables, - ) - - data = _convert_pyjags_dict_to_arviz_dict(samples=actual_samples, variable_names=variables) - - if warmup: - data_warmup = _convert_pyjags_dict_to_arviz_dict( - samples=warmup_samples, variable_names=variables - ) - else: - data = _convert_pyjags_dict_to_arviz_dict(samples=pyjags_samples, variable_names=variables) - - return data, data_warmup - - -def _split_pyjags_dict_in_warmup_and_actual_samples( - pyjags_samples: tp.Mapping[str, np.ndarray], - warmup_iterations: int, - variable_names: tp.Optional[tp.Tuple[str, ...]] = None, -) -> tp.Tuple[tp.Mapping[str, np.ndarray], tp.Mapping[str, np.ndarray]]: - """ - Split a PyJAGS samples dictionary into actual samples and warmup samples. - - Parameters - ---------- - pyjags_samples: a dictionary mapping variable names to NumPy arrays of MCMC - chains of samples with shape - (parameter_dimension, chain_length, number_of_chains) - - warmup_iterations: the number of draws to be split off for warmum - variable_names: the variables in the dictionary to use; if None use all - - Returns - ------- - A tuple of two pyjags samples dictionaries in PyJAGS format - """ - if variable_names is None: - variable_names = tuple(pyjags_samples.keys()) - - warmup_samples: tp.Dict[str, np.ndarray] = {} - actual_samples: tp.Dict[str, np.ndarray] = {} - - for variable_name, chains in pyjags_samples.items(): - if variable_name in variable_names: - warmup_samples[variable_name] = chains[:, :warmup_iterations, :] - actual_samples[variable_name] = chains[:, warmup_iterations:, :] - - return warmup_samples, actual_samples - - -def _convert_pyjags_dict_to_arviz_dict( - samples: tp.Mapping[str, np.ndarray], - variable_names: tp.Optional[tp.Tuple[str, ...]] = None, -) -> tp.Mapping[str, np.ndarray]: - """ - Convert a PyJAGS dictionary to an ArviZ dictionary. - - Takes a python dictionary of samples that has been generated by the sample - method of a model instance and returns a dictionary of samples in ArviZ - format. - - Parameters - ---------- - samples: a dictionary mapping variable names to P arrays with shape - (parameter_dimension, chain_length, number_of_chains) - - Returns - ------- - a dictionary mapping variable names to NumPy arrays with shape - (number_of_chains, chain_length, parameter_dimension) - """ - # pyjags returns a dictionary of NumPy arrays with shape - # (parameter_dimension, chain_length, number_of_chains) - # but arviz expects samples with shape - # (number_of_chains, chain_length, parameter_dimension) - - variable_name_to_samples_map = {} - - if variable_names is None: - variable_names = tuple(samples.keys()) - - for variable_name, chains in samples.items(): - if variable_name in variable_names: - parameter_dimension, _, _ = chains.shape - if parameter_dimension == 1: - variable_name_to_samples_map[variable_name] = chains[0, :, :].transpose() - else: - variable_name_to_samples_map[variable_name] = np.swapaxes(chains, 0, 2) - - return variable_name_to_samples_map - - -def _extract_arviz_dict_from_inference_data( - idata, -) -> tp.Mapping[str, np.ndarray]: - """ - Extract the samples dictionary from an ArviZ inference data object. - - Extracts a dictionary mapping parameter names to NumPy arrays of samples - with shape (number_of_chains, chain_length, parameter_dimension) from an - ArviZ inference data object. - - Parameters - ---------- - idata: InferenceData - - Returns - ------- - a dictionary mapping variable names to NumPy arrays with shape - (number_of_chains, chain_length, parameter_dimension) - - """ - variable_name_to_samples_map = { - key: np.array(value["data"]) - for key, value in idata.posterior.to_dict()["data_vars"].items() - } - - return variable_name_to_samples_map - - -def _convert_arviz_dict_to_pyjags_dict( - samples: tp.Mapping[str, np.ndarray], -) -> tp.Mapping[str, np.ndarray]: - """ - Convert and ArviZ dictionary to a PyJAGS dictionary. - - Takes a python dictionary of samples in ArviZ format and returns the samples - as a dictionary in PyJAGS format. - - Parameters - ---------- - samples: dict of {str : array_like} - a dictionary mapping variable names to NumPy arrays with shape - (number_of_chains, chain_length, parameter_dimension) - - Returns - ------- - a dictionary mapping variable names to NumPy arrays with shape - (parameter_dimension, chain_length, number_of_chains) - - """ - # pyjags returns a dictionary of NumPy arrays with shape - # (parameter_dimension, chain_length, number_of_chains) - # but arviz expects samples with shape - # (number_of_chains, chain_length, parameter_dimension) - - variable_name_to_samples_map = {} - - for variable_name, chains in samples.items(): - if chains.ndim == 2: - number_of_chains, chain_length = chains.shape - chains = chains.reshape((number_of_chains, chain_length, 1)) - - variable_name_to_samples_map[variable_name] = np.swapaxes(chains, 0, 2) - - return variable_name_to_samples_map - - -def from_pyjags( - posterior: tp.Optional[tp.Mapping[str, np.ndarray]] = None, - prior: tp.Optional[tp.Mapping[str, np.ndarray]] = None, - log_likelihood: tp.Optional[tp.Mapping[str, str]] = None, - coords=None, - dims=None, - save_warmup=None, - warmup_iterations: int = 0, -) -> InferenceData: - """ - Convert PyJAGS posterior samples to an ArviZ inference data object. - - Takes a python dictionary of samples that has been generated by the sample - method of a model instance and returns an Arviz inference data object. - For a usage example read the - :ref:`Creating InferenceData section on from_pyjags ` - - Parameters - ---------- - posterior: dict of {str : array_like}, optional - a dictionary mapping variable names to NumPy arrays containing - posterior samples with shape - (parameter_dimension, chain_length, number_of_chains) - - prior: dict of {str : array_like}, optional - a dictionary mapping variable names to NumPy arrays containing - prior samples with shape - (parameter_dimension, chain_length, number_of_chains) - - log_likelihood: dict of {str: str}, list of str or str, optional - Pointwise log_likelihood for the data. log_likelihood is extracted from the - posterior. It is recommended to use this argument as a dictionary whose keys - are observed variable names and its values are the variables storing log - likelihood arrays in the JAGS code. In other cases, a dictionary with keys - equal to its values is used. - - coords: dict[str, iterable] - A dictionary containing the values that are used as index. The key - is the name of the dimension, the values are the index values. - - dims: dict[str, List(str)] - A mapping from variables to a list of coordinate names for the variable. - - save_warmup : bool, optional - Save warmup iterations in InferenceData. If not defined, use default defined by the rcParams. - - warmup_iterations: int, optional - Number of warmup iterations - - Returns - ------- - InferenceData - """ - return PyJAGSConverter( - posterior=posterior, - prior=prior, - log_likelihood=log_likelihood, - dims=dims, - coords=coords, - save_warmup=save_warmup, - warmup_iterations=warmup_iterations, - ).to_inference_data() diff --git a/arviz/data/io_pyro.py b/arviz/data/io_pyro.py deleted file mode 100644 index 501be5ea38..0000000000 --- a/arviz/data/io_pyro.py +++ /dev/null @@ -1,333 +0,0 @@ -"""Pyro-specific conversion code.""" - -import logging -from typing import Callable, Optional -import warnings - -import numpy as np -from packaging import version - -from .. import utils -from ..rcparams import rcParams -from .base import dict_to_dataset, requires -from .inference_data import InferenceData - -_log = logging.getLogger(__name__) - - -class PyroConverter: - """Encapsulate Pyro specific logic.""" - - # pylint: disable=too-many-instance-attributes - - model = None # type: Optional[Callable] - nchains = None # type: int - ndraws = None # type: int - - def __init__( - self, - *, - posterior=None, - prior=None, - posterior_predictive=None, - log_likelihood=None, - predictions=None, - constant_data=None, - predictions_constant_data=None, - coords=None, - dims=None, - pred_dims=None, - num_chains=1, - ): - """Convert Pyro data into an InferenceData object. - - Parameters - ---------- - posterior : pyro.infer.MCMC - Fitted MCMC object from Pyro - prior: dict - Prior samples from a Pyro model - posterior_predictive : dict - Posterior predictive samples for the posterior - predictions: dict - Out of sample predictions - constant_data: dict - Dictionary containing constant data variables mapped to their values. - predictions_constant_data: dict - Constant data used for out-of-sample predictions. - coords : dict[str] -> list[str] - Map of dimensions to coordinates - dims : dict[str] -> list[str] - Map variable names to their coordinates - pred_dims: dict - Dims for predictions data. Map variable names to their coordinates. - num_chains: int - Number of chains used for sampling. Ignored if posterior is present. - """ - self.posterior = posterior - self.prior = prior - self.posterior_predictive = posterior_predictive - self.log_likelihood = ( - rcParams["data.log_likelihood"] if log_likelihood is None else log_likelihood - ) - self.predictions = predictions - self.constant_data = constant_data - self.predictions_constant_data = predictions_constant_data - self.coords = coords - self.dims = {} if dims is None else dims - self.pred_dims = {} if pred_dims is None else pred_dims - import pyro - - def arbitrary_element(dct): - return next(iter(dct.values())) - - self.pyro = pyro - if posterior is not None: - self.nchains, self.ndraws = posterior.num_chains, posterior.num_samples - if version.parse(pyro.__version__) >= version.parse("1.0.0"): - self.model = self.posterior.kernel.model - # model arguments and keyword arguments - self._args = self.posterior._args # pylint: disable=protected-access - self._kwargs = self.posterior._kwargs # pylint: disable=protected-access - else: - self.nchains = num_chains - get_from = None - if predictions is not None: - get_from = predictions - elif posterior_predictive is not None: - get_from = posterior_predictive - elif prior is not None: - get_from = prior - if get_from is None and constant_data is None and predictions_constant_data is None: - raise ValueError( - "When constructing InferenceData must have at least" - " one of posterior, prior, posterior_predictive or predictions." - ) - if get_from is not None: - aelem = arbitrary_element(get_from) - self.ndraws = aelem.shape[0] // self.nchains - - observations = {} - if self.model is not None: - trace = pyro.poutine.trace(self.model).get_trace( # pylint: disable=not-callable - *self._args, **self._kwargs - ) - observations = { - name: site["value"].cpu() - for name, site in trace.nodes.items() - if site["type"] == "sample" and site["is_observed"] - } - self.observations = observations if observations else None - - @requires("posterior") - def posterior_to_xarray(self): - """Convert the posterior to an xarray dataset.""" - data = self.posterior.get_samples(group_by_chain=True) - data = {k: v.detach().cpu().numpy() for k, v in data.items()} - return dict_to_dataset(data, library=self.pyro, coords=self.coords, dims=self.dims) - - @requires("posterior") - def sample_stats_to_xarray(self): - """Extract sample_stats from Pyro posterior.""" - divergences = self.posterior.diagnostics()["divergences"] - diverging = np.zeros((self.nchains, self.ndraws), dtype=bool) - for i, k in enumerate(sorted(divergences)): - diverging[i, divergences[k]] = True - data = {"diverging": diverging} - return dict_to_dataset(data, library=self.pyro, coords=self.coords, dims=None) - - @requires("posterior") - @requires("model") - def log_likelihood_to_xarray(self): - """Extract log likelihood from Pyro posterior.""" - if not self.log_likelihood: - return None - data = {} - if self.observations is not None: - try: - samples = self.posterior.get_samples(group_by_chain=False) - predictive = self.pyro.infer.Predictive(self.model, samples) - vectorized_trace = predictive.get_vectorized_trace(*self._args, **self._kwargs) - for obs_name in self.observations.keys(): - obs_site = vectorized_trace.nodes[obs_name] - log_like = obs_site["fn"].log_prob(obs_site["value"]).detach().cpu().numpy() - shape = (self.nchains, self.ndraws) + log_like.shape[1:] - data[obs_name] = np.reshape(log_like, shape) - except: # pylint: disable=bare-except - # cannot get vectorized trace - warnings.warn( - "Could not get vectorized trace, log_likelihood group will be omitted. " - "Check your model vectorization or set log_likelihood=False" - ) - return None - return dict_to_dataset( - data, library=self.pyro, coords=self.coords, dims=self.dims, skip_event_dims=True - ) - - def translate_posterior_predictive_dict_to_xarray(self, dct, dims): - """Convert posterior_predictive or prediction samples to xarray.""" - data = {} - for k, ary in dct.items(): - ary = ary.detach().cpu().numpy() - shape = ary.shape - if shape[0] == self.nchains and shape[1] == self.ndraws: - data[k] = ary - elif shape[0] == self.nchains * self.ndraws: - data[k] = ary.reshape((self.nchains, self.ndraws, *shape[1:])) - else: - data[k] = utils.expand_dims(ary) - _log.warning( - "posterior predictive shape not compatible with number of chains and draws." - "This can mean that some draws or even whole chains are not represented." - ) - return dict_to_dataset(data, library=self.pyro, coords=self.coords, dims=dims) - - @requires("posterior_predictive") - def posterior_predictive_to_xarray(self): - """Convert posterior_predictive samples to xarray.""" - return self.translate_posterior_predictive_dict_to_xarray( - self.posterior_predictive, self.dims - ) - - @requires("predictions") - def predictions_to_xarray(self): - """Convert predictions to xarray.""" - return self.translate_posterior_predictive_dict_to_xarray(self.predictions, self.pred_dims) - - def priors_to_xarray(self): - """Convert prior samples (and if possible prior predictive too) to xarray.""" - if self.prior is None: - return {"prior": None, "prior_predictive": None} - if self.posterior is not None: - prior_vars = list(self.posterior.get_samples().keys()) - prior_predictive_vars = [key for key in self.prior.keys() if key not in prior_vars] - else: - prior_vars = self.prior.keys() - prior_predictive_vars = None - priors_dict = { - group: ( - None - if var_names is None - else dict_to_dataset( - { - k: utils.expand_dims(np.squeeze(self.prior[k].detach().cpu().numpy())) - for k in var_names - }, - library=self.pyro, - coords=self.coords, - dims=self.dims, - ) - ) - for group, var_names in zip( - ("prior", "prior_predictive"), (prior_vars, prior_predictive_vars) - ) - } - return priors_dict - - @requires("observations") - @requires("model") - def observed_data_to_xarray(self): - """Convert observed data to xarray.""" - dims = {} if self.dims is None else self.dims - return dict_to_dataset( - self.observations, library=self.pyro, coords=self.coords, dims=dims, default_dims=[] - ) - - @requires("constant_data") - def constant_data_to_xarray(self): - """Convert constant_data to xarray.""" - return dict_to_dataset( - self.constant_data, - library=self.pyro, - coords=self.coords, - dims=self.dims, - default_dims=[], - ) - - @requires("predictions_constant_data") - def predictions_constant_data_to_xarray(self): - """Convert predictions_constant_data to xarray.""" - return dict_to_dataset( - self.predictions_constant_data, - library=self.pyro, - coords=self.coords, - dims=self.pred_dims, - default_dims=[], - ) - - def to_inference_data(self): - """Convert all available data to an InferenceData object.""" - return InferenceData( - **{ - "posterior": self.posterior_to_xarray(), - "sample_stats": self.sample_stats_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - "posterior_predictive": self.posterior_predictive_to_xarray(), - "predictions": self.predictions_to_xarray(), - "constant_data": self.constant_data_to_xarray(), - "predictions_constant_data": self.predictions_constant_data_to_xarray(), - **self.priors_to_xarray(), - "observed_data": self.observed_data_to_xarray(), - } - ) - - -def from_pyro( - posterior=None, - *, - prior=None, - posterior_predictive=None, - log_likelihood=None, - predictions=None, - constant_data=None, - predictions_constant_data=None, - coords=None, - dims=None, - pred_dims=None, - num_chains=1, -): - """Convert Pyro data into an InferenceData object. - - For a usage example read the - :ref:`Creating InferenceData section on from_pyro ` - - - Parameters - ---------- - posterior : pyro.infer.MCMC - Fitted MCMC object from Pyro - prior: dict - Prior samples from a Pyro model - posterior_predictive : dict - Posterior predictive samples for the posterior - log_likelihood : bool, optional - Calculate and store pointwise log likelihood values. Defaults to the value - of rcParam ``data.log_likelihood``. - predictions: dict - Out of sample predictions - constant_data: dict - Dictionary containing constant data variables mapped to their values. - predictions_constant_data: dict - Constant data used for out-of-sample predictions. - coords : dict[str] -> list[str] - Map of dimensions to coordinates - dims : dict[str] -> list[str] - Map variable names to their coordinates - pred_dims: dict - Dims for predictions data. Map variable names to their coordinates. - num_chains: int - Number of chains used for sampling. Ignored if posterior is present. - """ - return PyroConverter( - posterior=posterior, - prior=prior, - posterior_predictive=posterior_predictive, - log_likelihood=log_likelihood, - predictions=predictions, - constant_data=constant_data, - predictions_constant_data=predictions_constant_data, - coords=coords, - dims=dims, - pred_dims=pred_dims, - num_chains=num_chains, - ).to_inference_data() diff --git a/arviz/data/io_pystan.py b/arviz/data/io_pystan.py deleted file mode 100644 index 480a1be638..0000000000 --- a/arviz/data/io_pystan.py +++ /dev/null @@ -1,1095 +0,0 @@ -# pylint: disable=too-many-instance-attributes,too-many-lines -"""PyStan-specific conversion code.""" -import re -from collections import OrderedDict -from copy import deepcopy -from math import ceil - -import numpy as np -import xarray as xr - -from .. import _log -from ..rcparams import rcParams -from .base import dict_to_dataset, generate_dims_coords, infer_stan_dtypes, make_attrs, requires -from .inference_data import InferenceData - -try: - import ujson as json -except ImportError: - # Can't find ujson using json - # mypy struggles with conditional imports expressed as catching ImportError: - # https://github.com/python/mypy/issues/1153 - import json # type: ignore - - -class PyStanConverter: - """Encapsulate PyStan specific logic.""" - - def __init__( - self, - *, - posterior=None, - posterior_predictive=None, - predictions=None, - prior=None, - prior_predictive=None, - observed_data=None, - constant_data=None, - predictions_constant_data=None, - log_likelihood=None, - coords=None, - dims=None, - save_warmup=None, - dtypes=None, - ): - self.posterior = posterior - self.posterior_predictive = posterior_predictive - self.predictions = predictions - self.prior = prior - self.prior_predictive = prior_predictive - self.observed_data = observed_data - self.constant_data = constant_data - self.predictions_constant_data = predictions_constant_data - self.log_likelihood = ( - rcParams["data.log_likelihood"] if log_likelihood is None else log_likelihood - ) - self.coords = coords - self.dims = dims - self.save_warmup = rcParams["data.save_warmup"] if save_warmup is None else save_warmup - self.dtypes = dtypes - - if ( - self.log_likelihood is True - and self.posterior is not None - and "log_lik" in self.posterior.sim["pars_oi"] - ): - self.log_likelihood = ["log_lik"] - elif isinstance(self.log_likelihood, bool): - self.log_likelihood = None - - import pystan # pylint: disable=import-error - - self.pystan = pystan - - @requires("posterior") - def posterior_to_xarray(self): - """Extract posterior samples from fit.""" - posterior = self.posterior - # filter posterior_predictive and log_likelihood - posterior_predictive = self.posterior_predictive - if posterior_predictive is None: - posterior_predictive = [] - elif isinstance(posterior_predictive, str): - posterior_predictive = [posterior_predictive] - predictions = self.predictions - if predictions is None: - predictions = [] - elif isinstance(predictions, str): - predictions = [predictions] - log_likelihood = self.log_likelihood - if log_likelihood is None: - log_likelihood = [] - elif isinstance(log_likelihood, str): - log_likelihood = [log_likelihood] - elif isinstance(log_likelihood, dict): - log_likelihood = list(log_likelihood.values()) - - ignore = posterior_predictive + predictions + log_likelihood + ["lp__"] - - data, data_warmup = get_draws( - posterior, ignore=ignore, warmup=self.save_warmup, dtypes=self.dtypes - ) - attrs = get_attrs(posterior) - return ( - dict_to_dataset( - data, library=self.pystan, attrs=attrs, coords=self.coords, dims=self.dims - ), - dict_to_dataset( - data_warmup, library=self.pystan, attrs=attrs, coords=self.coords, dims=self.dims - ), - ) - - @requires("posterior") - def sample_stats_to_xarray(self): - """Extract sample_stats from posterior.""" - posterior = self.posterior - - data, data_warmup = get_sample_stats(posterior, warmup=self.save_warmup) - - # lp__ - stat_lp, stat_lp_warmup = get_draws( - posterior, variables="lp__", warmup=self.save_warmup, dtypes=self.dtypes - ) - data["lp"] = stat_lp["lp__"] - if stat_lp_warmup: - data_warmup["lp"] = stat_lp_warmup["lp__"] - - attrs = get_attrs(posterior) - return ( - dict_to_dataset( - data, library=self.pystan, attrs=attrs, coords=self.coords, dims=self.dims - ), - dict_to_dataset( - data_warmup, library=self.pystan, attrs=attrs, coords=self.coords, dims=self.dims - ), - ) - - @requires("posterior") - @requires("log_likelihood") - def log_likelihood_to_xarray(self): - """Store log_likelihood data in log_likelihood group.""" - fit = self.posterior - - # log_likelihood values - log_likelihood = self.log_likelihood - if isinstance(log_likelihood, str): - log_likelihood = [log_likelihood] - if isinstance(log_likelihood, (list, tuple)): - log_likelihood = {name: name for name in log_likelihood} - log_likelihood_draws, log_likelihood_draws_warmup = get_draws( - fit, - variables=list(log_likelihood.values()), - warmup=self.save_warmup, - dtypes=self.dtypes, - ) - data = { - obs_var_name: log_likelihood_draws[log_like_name] - for obs_var_name, log_like_name in log_likelihood.items() - if log_like_name in log_likelihood_draws - } - - data_warmup = { - obs_var_name: log_likelihood_draws_warmup[log_like_name] - for obs_var_name, log_like_name in log_likelihood.items() - if log_like_name in log_likelihood_draws_warmup - } - - return ( - dict_to_dataset( - data, library=self.pystan, coords=self.coords, dims=self.dims, skip_event_dims=True - ), - dict_to_dataset( - data_warmup, - library=self.pystan, - coords=self.coords, - dims=self.dims, - skip_event_dims=True, - ), - ) - - @requires("posterior") - @requires("posterior_predictive") - def posterior_predictive_to_xarray(self): - """Convert posterior_predictive samples to xarray.""" - posterior = self.posterior - posterior_predictive = self.posterior_predictive - data, data_warmup = get_draws( - posterior, variables=posterior_predictive, warmup=self.save_warmup, dtypes=self.dtypes - ) - return ( - dict_to_dataset(data, library=self.pystan, coords=self.coords, dims=self.dims), - dict_to_dataset(data_warmup, library=self.pystan, coords=self.coords, dims=self.dims), - ) - - @requires("posterior") - @requires("predictions") - def predictions_to_xarray(self): - """Convert predictions samples to xarray.""" - posterior = self.posterior - predictions = self.predictions - data, data_warmup = get_draws( - posterior, variables=predictions, warmup=self.save_warmup, dtypes=self.dtypes - ) - return ( - dict_to_dataset(data, library=self.pystan, coords=self.coords, dims=self.dims), - dict_to_dataset(data_warmup, library=self.pystan, coords=self.coords, dims=self.dims), - ) - - @requires("prior") - def prior_to_xarray(self): - """Convert prior samples to xarray.""" - prior = self.prior - # filter posterior_predictive and log_likelihood - prior_predictive = self.prior_predictive - if prior_predictive is None: - prior_predictive = [] - elif isinstance(prior_predictive, str): - prior_predictive = [prior_predictive] - - ignore = prior_predictive + ["lp__"] - - data, _ = get_draws(prior, ignore=ignore, warmup=False, dtypes=self.dtypes) - attrs = get_attrs(prior) - return dict_to_dataset( - data, library=self.pystan, attrs=attrs, coords=self.coords, dims=self.dims - ) - - @requires("prior") - def sample_stats_prior_to_xarray(self): - """Extract sample_stats_prior from prior.""" - prior = self.prior - data, _ = get_sample_stats(prior, warmup=False) - - # lp__ - stat_lp, _ = get_draws(prior, variables="lp__", warmup=False, dtypes=self.dtypes) - data["lp"] = stat_lp["lp__"] - - attrs = get_attrs(prior) - return dict_to_dataset( - data, library=self.pystan, attrs=attrs, coords=self.coords, dims=self.dims - ) - - @requires("prior") - @requires("prior_predictive") - def prior_predictive_to_xarray(self): - """Convert prior_predictive samples to xarray.""" - prior = self.prior - prior_predictive = self.prior_predictive - data, _ = get_draws(prior, variables=prior_predictive, warmup=False, dtypes=self.dtypes) - return dict_to_dataset(data, library=self.pystan, coords=self.coords, dims=self.dims) - - @requires("posterior") - @requires(["observed_data", "constant_data", "predictions_constant_data"]) - def data_to_xarray(self): - """Convert observed, constant data and predictions constant data to xarray.""" - posterior = self.posterior - dims = {} if self.dims is None else self.dims - obs_const_dict = {} - for group_name in ("observed_data", "constant_data", "predictions_constant_data"): - names = getattr(self, group_name) - if names is None: - continue - names = [names] if isinstance(names, str) else names - data = OrderedDict() - for key in names: - vals = np.atleast_1d(posterior.data[key]) - val_dims = dims.get(key) - val_dims, coords = generate_dims_coords( - vals.shape, key, dims=val_dims, coords=self.coords - ) - data[key] = xr.DataArray(vals, dims=val_dims, coords=coords) - obs_const_dict[group_name] = xr.Dataset( - data_vars=data, attrs=make_attrs(library=self.pystan) - ) - return obs_const_dict - - def to_inference_data(self): - """Convert all available data to an InferenceData object. - - Note that if groups can not be created (i.e., there is no `fit`, so - the `posterior` and `sample_stats` can not be extracted), then the InferenceData - will not have those groups. - """ - data_dict = self.data_to_xarray() - return InferenceData( - save_warmup=self.save_warmup, - **{ - "posterior": self.posterior_to_xarray(), - "sample_stats": self.sample_stats_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - "posterior_predictive": self.posterior_predictive_to_xarray(), - "predictions": self.predictions_to_xarray(), - "prior": self.prior_to_xarray(), - "sample_stats_prior": self.sample_stats_prior_to_xarray(), - "prior_predictive": self.prior_predictive_to_xarray(), - **({} if data_dict is None else data_dict), - }, - ) - - -class PyStan3Converter: - """Encapsulate PyStan3 specific logic.""" - - # pylint: disable=too-many-instance-attributes - def __init__( - self, - *, - posterior=None, - posterior_model=None, - posterior_predictive=None, - predictions=None, - prior=None, - prior_model=None, - prior_predictive=None, - observed_data=None, - constant_data=None, - predictions_constant_data=None, - log_likelihood=None, - coords=None, - dims=None, - save_warmup=None, - dtypes=None, - ): - self.posterior = posterior - self.posterior_model = posterior_model - self.posterior_predictive = posterior_predictive - self.predictions = predictions - self.prior = prior - self.prior_model = prior_model - self.prior_predictive = prior_predictive - self.observed_data = observed_data - self.constant_data = constant_data - self.predictions_constant_data = predictions_constant_data - self.log_likelihood = ( - rcParams["data.log_likelihood"] if log_likelihood is None else log_likelihood - ) - self.coords = coords - self.dims = dims - self.save_warmup = rcParams["data.save_warmup"] if save_warmup is None else save_warmup - self.dtypes = dtypes - - if ( - self.log_likelihood is True - and self.posterior is not None - and "log_lik" in self.posterior.param_names - ): - self.log_likelihood = ["log_lik"] - elif isinstance(self.log_likelihood, bool): - self.log_likelihood = None - - import stan # pylint: disable=import-error - - self.stan = stan - - @requires("posterior") - def posterior_to_xarray(self): - """Extract posterior samples from fit.""" - posterior = self.posterior - posterior_model = self.posterior_model - # filter posterior_predictive and log_likelihood - posterior_predictive = self.posterior_predictive - if posterior_predictive is None: - posterior_predictive = [] - elif isinstance(posterior_predictive, str): - posterior_predictive = [posterior_predictive] - predictions = self.predictions - if predictions is None: - predictions = [] - elif isinstance(predictions, str): - predictions = [predictions] - log_likelihood = self.log_likelihood - if log_likelihood is None: - log_likelihood = [] - elif isinstance(log_likelihood, str): - log_likelihood = [log_likelihood] - elif isinstance(log_likelihood, dict): - log_likelihood = list(log_likelihood.values()) - - ignore = posterior_predictive + predictions + log_likelihood - - data, data_warmup = get_draws_stan3( - posterior, - model=posterior_model, - ignore=ignore, - warmup=self.save_warmup, - dtypes=self.dtypes, - ) - attrs = get_attrs_stan3(posterior, model=posterior_model) - return ( - dict_to_dataset( - data, library=self.stan, attrs=attrs, coords=self.coords, dims=self.dims - ), - dict_to_dataset( - data_warmup, library=self.stan, attrs=attrs, coords=self.coords, dims=self.dims - ), - ) - - @requires("posterior") - def sample_stats_to_xarray(self): - """Extract sample_stats from posterior.""" - posterior = self.posterior - posterior_model = self.posterior_model - data, data_warmup = get_sample_stats_stan3( - posterior, ignore="lp__", warmup=self.save_warmup, dtypes=self.dtypes - ) - data_lp, data_warmup_lp = get_sample_stats_stan3( - posterior, variables="lp__", warmup=self.save_warmup - ) - data["lp"] = data_lp["lp"] - if data_warmup_lp: - data_warmup["lp"] = data_warmup_lp["lp"] - - attrs = get_attrs_stan3(posterior, model=posterior_model) - return ( - dict_to_dataset( - data, library=self.stan, attrs=attrs, coords=self.coords, dims=self.dims - ), - dict_to_dataset( - data_warmup, library=self.stan, attrs=attrs, coords=self.coords, dims=self.dims - ), - ) - - @requires("posterior") - @requires("log_likelihood") - def log_likelihood_to_xarray(self): - """Store log_likelihood data in log_likelihood group.""" - fit = self.posterior - - log_likelihood = self.log_likelihood - model = self.posterior_model - if isinstance(log_likelihood, str): - log_likelihood = [log_likelihood] - if isinstance(log_likelihood, (list, tuple)): - log_likelihood = {name: name for name in log_likelihood} - log_likelihood_draws, log_likelihood_draws_warmup = get_draws_stan3( - fit, - model=model, - variables=list(log_likelihood.values()), - warmup=self.save_warmup, - dtypes=self.dtypes, - ) - data = { - obs_var_name: log_likelihood_draws[log_like_name] - for obs_var_name, log_like_name in log_likelihood.items() - if log_like_name in log_likelihood_draws - } - data_warmup = { - obs_var_name: log_likelihood_draws_warmup[log_like_name] - for obs_var_name, log_like_name in log_likelihood.items() - if log_like_name in log_likelihood_draws_warmup - } - - return ( - dict_to_dataset(data, library=self.stan, coords=self.coords, dims=self.dims), - dict_to_dataset(data_warmup, library=self.stan, coords=self.coords, dims=self.dims), - ) - - @requires("posterior") - @requires("posterior_predictive") - def posterior_predictive_to_xarray(self): - """Convert posterior_predictive samples to xarray.""" - posterior = self.posterior - posterior_model = self.posterior_model - posterior_predictive = self.posterior_predictive - data, data_warmup = get_draws_stan3( - posterior, - model=posterior_model, - variables=posterior_predictive, - warmup=self.save_warmup, - dtypes=self.dtypes, - ) - return ( - dict_to_dataset(data, library=self.stan, coords=self.coords, dims=self.dims), - dict_to_dataset(data_warmup, library=self.stan, coords=self.coords, dims=self.dims), - ) - - @requires("posterior") - @requires("predictions") - def predictions_to_xarray(self): - """Convert predictions samples to xarray.""" - posterior = self.posterior - posterior_model = self.posterior_model - predictions = self.predictions - data, data_warmup = get_draws_stan3( - posterior, - model=posterior_model, - variables=predictions, - warmup=self.save_warmup, - dtypes=self.dtypes, - ) - return ( - dict_to_dataset(data, library=self.stan, coords=self.coords, dims=self.dims), - dict_to_dataset(data_warmup, library=self.stan, coords=self.coords, dims=self.dims), - ) - - @requires("prior") - def prior_to_xarray(self): - """Convert prior samples to xarray.""" - prior = self.prior - prior_model = self.prior_model - # filter posterior_predictive and log_likelihood - prior_predictive = self.prior_predictive - if prior_predictive is None: - prior_predictive = [] - elif isinstance(prior_predictive, str): - prior_predictive = [prior_predictive] - - ignore = prior_predictive - - data, data_warmup = get_draws_stan3( - prior, model=prior_model, ignore=ignore, warmup=self.save_warmup, dtypes=self.dtypes - ) - attrs = get_attrs_stan3(prior, model=prior_model) - return ( - dict_to_dataset( - data, library=self.stan, attrs=attrs, coords=self.coords, dims=self.dims - ), - dict_to_dataset( - data_warmup, library=self.stan, attrs=attrs, coords=self.coords, dims=self.dims - ), - ) - - @requires("prior") - def sample_stats_prior_to_xarray(self): - """Extract sample_stats_prior from prior.""" - prior = self.prior - prior_model = self.prior_model - data, data_warmup = get_sample_stats_stan3( - prior, warmup=self.save_warmup, dtypes=self.dtypes - ) - attrs = get_attrs_stan3(prior, model=prior_model) - return ( - dict_to_dataset( - data, library=self.stan, attrs=attrs, coords=self.coords, dims=self.dims - ), - dict_to_dataset( - data_warmup, library=self.stan, attrs=attrs, coords=self.coords, dims=self.dims - ), - ) - - @requires("prior") - @requires("prior_predictive") - def prior_predictive_to_xarray(self): - """Convert prior_predictive samples to xarray.""" - prior = self.prior - prior_model = self.prior_model - prior_predictive = self.prior_predictive - data, data_warmup = get_draws_stan3( - prior, - model=prior_model, - variables=prior_predictive, - warmup=self.save_warmup, - dtypes=self.dtypes, - ) - return ( - dict_to_dataset(data, library=self.stan, coords=self.coords, dims=self.dims), - dict_to_dataset(data_warmup, library=self.stan, coords=self.coords, dims=self.dims), - ) - - @requires("posterior_model") - @requires(["observed_data", "constant_data"]) - def observed_and_constant_data_to_xarray(self): - """Convert observed data to xarray.""" - posterior_model = self.posterior_model - dims = {} if self.dims is None else self.dims - obs_const_dict = {} - for group_name in ("observed_data", "constant_data"): - names = getattr(self, group_name) - if names is None: - continue - names = [names] if isinstance(names, str) else names - data = OrderedDict() - for key in names: - vals = np.atleast_1d(posterior_model.data[key]) - val_dims = dims.get(key) - val_dims, coords = generate_dims_coords( - vals.shape, key, dims=val_dims, coords=self.coords - ) - data[key] = xr.DataArray(vals, dims=val_dims, coords=coords) - obs_const_dict[group_name] = xr.Dataset( - data_vars=data, attrs=make_attrs(library=self.stan) - ) - return obs_const_dict - - @requires("posterior_model") - @requires("predictions_constant_data") - def predictions_constant_data_to_xarray(self): - """Convert observed data to xarray.""" - posterior_model = self.posterior_model - dims = {} if self.dims is None else self.dims - names = self.predictions_constant_data - names = [names] if isinstance(names, str) else names - data = OrderedDict() - for key in names: - vals = np.atleast_1d(posterior_model.data[key]) - val_dims = dims.get(key) - val_dims, coords = generate_dims_coords( - vals.shape, key, dims=val_dims, coords=self.coords - ) - data[key] = xr.DataArray(vals, dims=val_dims, coords=coords) - return xr.Dataset(data_vars=data, attrs=make_attrs(library=self.stan)) - - def to_inference_data(self): - """Convert all available data to an InferenceData object. - - Note that if groups can not be created (i.e., there is no `fit`, so - the `posterior` and `sample_stats` can not be extracted), then the InferenceData - will not have those groups. - """ - obs_const_dict = self.observed_and_constant_data_to_xarray() - predictions_const_data = self.predictions_constant_data_to_xarray() - return InferenceData( - save_warmup=self.save_warmup, - **{ - "posterior": self.posterior_to_xarray(), - "sample_stats": self.sample_stats_to_xarray(), - "log_likelihood": self.log_likelihood_to_xarray(), - "posterior_predictive": self.posterior_predictive_to_xarray(), - "predictions": self.predictions_to_xarray(), - "prior": self.prior_to_xarray(), - "sample_stats_prior": self.sample_stats_prior_to_xarray(), - "prior_predictive": self.prior_predictive_to_xarray(), - **({} if obs_const_dict is None else obs_const_dict), - **( - {} - if predictions_const_data is None - else {"predictions_constant_data": predictions_const_data} - ), - }, - ) - - -def get_draws(fit, variables=None, ignore=None, warmup=False, dtypes=None): - """Extract draws from PyStan fit.""" - if ignore is None: - ignore = [] - if fit.mode == 1: - msg = "Model in mode 'test_grad'. Sampling is not conducted." - raise AttributeError(msg) - - if fit.mode == 2 or fit.sim.get("samples") is None: - msg = "Fit doesn't contain samples." - raise AttributeError(msg) - - if dtypes is None: - dtypes = {} - - dtypes = {**infer_dtypes(fit), **dtypes} - - if variables is None: - variables = fit.sim["pars_oi"] - elif isinstance(variables, str): - variables = [variables] - variables = list(variables) - - for var, dim in zip(fit.sim["pars_oi"], fit.sim["dims_oi"]): - if var in variables and np.prod(dim) == 0: - del variables[variables.index(var)] - - ndraws_warmup = fit.sim["warmup2"] - if max(ndraws_warmup) == 0: - warmup = False - ndraws = [s - w for s, w in zip(fit.sim["n_save"], ndraws_warmup)] - nchain = len(fit.sim["samples"]) - - # check if the values are in 0-based (<=2.17) or 1-based indexing (>=2.18) - shift = 1 - if any(dim and np.prod(dim) != 0 for dim in fit.sim["dims_oi"]): - # choose variable with lowest number of dims > 1 - par_idx = min( - (dim, i) for i, dim in enumerate(fit.sim["dims_oi"]) if (dim and np.prod(dim) != 0) - )[1] - offset = int(sum(map(np.prod, fit.sim["dims_oi"][:par_idx]))) - par_offset = int(np.prod(fit.sim["dims_oi"][par_idx])) - par_keys = fit.sim["fnames_oi"][offset : offset + par_offset] - shift = len(par_keys) - for item in par_keys: - _, shape = item.replace("]", "").split("[") - shape_idx_min = min(int(shape_value) for shape_value in shape.split(",")) - shift = min(shift, shape_idx_min) - # If shift is higher than 1, this will probably mean that Stan - # has implemented sparse structure (saves only non-zero parts), - # but let's hope that dims are still corresponding to the full shape - shift = int(min(shift, 1)) - - var_keys = OrderedDict((var, []) for var in fit.sim["pars_oi"]) - for key in fit.sim["fnames_oi"]: - var, *tails = key.split("[") - loc = [Ellipsis] - for tail in tails: - loc = [] - for i in tail[:-1].split(","): - loc.append(int(i) - shift) - var_keys[var].append((key, loc)) - - shapes = dict(zip(fit.sim["pars_oi"], fit.sim["dims_oi"])) - - variables = [var for var in variables if var not in ignore] - - data = OrderedDict() - data_warmup = OrderedDict() - - for var in variables: - if var in data: - continue - keys_locs = var_keys.get(var, [(var, [Ellipsis])]) - shape = shapes.get(var, []) - dtype = dtypes.get(var) - - ndraw = max(ndraws) - ary_shape = [nchain, ndraw] + shape - ary = np.empty(ary_shape, dtype=dtype, order="F") - - if warmup: - nwarmup = max(ndraws_warmup) - ary_warmup_shape = [nchain, nwarmup] + shape - ary_warmup = np.empty(ary_warmup_shape, dtype=dtype, order="F") - - for chain, (pyholder, ndraw, ndraw_warmup) in enumerate( - zip(fit.sim["samples"], ndraws, ndraws_warmup) - ): - axes = [chain, slice(None)] - for key, loc in keys_locs: - ary_slice = tuple(axes + loc) - ary[ary_slice] = pyholder.chains[key][-ndraw:] - if warmup: - ary_warmup[ary_slice] = pyholder.chains[key][:ndraw_warmup] - data[var] = ary - if warmup: - data_warmup[var] = ary_warmup - return data, data_warmup - - -def get_sample_stats(fit, warmup=False, dtypes=None): - """Extract sample stats from PyStan fit.""" - if dtypes is None: - dtypes = {} - dtypes = {"divergent__": bool, "n_leapfrog__": np.int64, "treedepth__": np.int64, **dtypes} - - rename_dict = { - "divergent": "diverging", - "n_leapfrog": "n_steps", - "treedepth": "tree_depth", - "stepsize": "step_size", - "accept_stat": "acceptance_rate", - } - - ndraws_warmup = fit.sim["warmup2"] - if max(ndraws_warmup) == 0: - warmup = False - ndraws = [s - w for s, w in zip(fit.sim["n_save"], ndraws_warmup)] - - extraction = OrderedDict() - extraction_warmup = OrderedDict() - for chain, (pyholder, ndraw, ndraw_warmup) in enumerate( - zip(fit.sim["samples"], ndraws, ndraws_warmup) - ): - if chain == 0: - for key in pyholder["sampler_param_names"]: - extraction[key] = [] - if warmup: - extraction_warmup[key] = [] - for key, values in zip(pyholder["sampler_param_names"], pyholder["sampler_params"]): - extraction[key].append(values[-ndraw:]) - if warmup: - extraction_warmup[key].append(values[:ndraw_warmup]) - - data = OrderedDict() - for key, values in extraction.items(): - values = np.stack(values, axis=0) - dtype = dtypes.get(key) - values = values.astype(dtype) - name = re.sub("__$", "", key) - name = rename_dict.get(name, name) - data[name] = values - - data_warmup = OrderedDict() - if warmup: - for key, values in extraction_warmup.items(): - values = np.stack(values, axis=0) - values = values.astype(dtypes.get(key)) - name = re.sub("__$", "", key) - name = rename_dict.get(name, name) - data_warmup[name] = values - - return data, data_warmup - - -def get_attrs(fit): - """Get attributes from PyStan fit object.""" - attrs = {} - - try: - attrs["args"] = [deepcopy(holder.args) for holder in fit.sim["samples"]] - except Exception as exp: # pylint: disable=broad-except - _log.warning("Failed to fetch args from fit: %s", exp) - if "args" in attrs: - for arg in attrs["args"]: - if isinstance(arg["init"], bytes): - arg["init"] = arg["init"].decode("utf-8") - attrs["args"] = json.dumps(attrs["args"]) - try: - attrs["inits"] = [holder.inits for holder in fit.sim["samples"]] - except Exception as exp: # pylint: disable=broad-except - _log.warning("Failed to fetch `args` from fit: %s", exp) - else: - attrs["inits"] = json.dumps(attrs["inits"]) - - attrs["step_size"] = [] - attrs["metric"] = [] - attrs["inv_metric"] = [] - for holder in fit.sim["samples"]: - try: - step_size = float( - re.search( - r"step\s*size\s*=\s*([0-9]+.?[0-9]+)\s*", - holder.adaptation_info, - flags=re.IGNORECASE, - ).group(1) - ) - except AttributeError: - step_size = np.nan - attrs["step_size"].append(step_size) - - inv_metric_match = re.search( - r"mass matrix:\s*(.*)\s*$", holder.adaptation_info, flags=re.DOTALL - ) - if inv_metric_match: - inv_metric_str = inv_metric_match.group(1) - if "Diagonal elements of inverse mass matrix" in holder.adaptation_info: - metric = "diag_e" - inv_metric = [float(item) for item in inv_metric_str.strip(" #\n").split(",")] - else: - metric = "dense_e" - inv_metric = [ - list(map(float, item.split(","))) - for item in re.sub(r"#\s", "", inv_metric_str).splitlines() - ] - else: - metric = "unit_e" - inv_metric = None - - attrs["metric"].append(metric) - attrs["inv_metric"].append(inv_metric) - attrs["inv_metric"] = json.dumps(attrs["inv_metric"]) - - if not attrs["step_size"]: - del attrs["step_size"] - - attrs["adaptation_info"] = fit.get_adaptation_info() - attrs["stan_code"] = fit.get_stancode() - - return attrs - - -def get_draws_stan3(fit, model=None, variables=None, ignore=None, warmup=False, dtypes=None): - """Extract draws from PyStan3 fit.""" - if ignore is None: - ignore = [] - - if dtypes is None: - dtypes = {} - - if model is not None: - dtypes = {**infer_dtypes(fit, model), **dtypes} - - if not fit.save_warmup: - warmup = False - - num_warmup = ceil((fit.num_warmup * fit.save_warmup) / fit.num_thin) - - if variables is None: - variables = fit.param_names - elif isinstance(variables, str): - variables = [variables] - variables = list(variables) - - data = OrderedDict() - data_warmup = OrderedDict() - - for var in variables: - if var in ignore: - continue - if var in data: - continue - dtype = dtypes.get(var) - - new_shape = (*fit.dims[fit.param_names.index(var)], -1, fit.num_chains) - if 0 in new_shape: - continue - values = fit._draws[fit._parameter_indexes(var), :] # pylint: disable=protected-access - values = values.reshape(new_shape, order="F") - values = np.moveaxis(values, [-2, -1], [1, 0]) - values = values.astype(dtype) - if warmup: - data_warmup[var] = values[:, num_warmup:] - data[var] = values[:, num_warmup:] - - return data, data_warmup - - -def get_sample_stats_stan3(fit, variables=None, ignore=None, warmup=False, dtypes=None): - """Extract sample stats from PyStan3 fit.""" - if dtypes is None: - dtypes = {} - dtypes = {"divergent__": bool, "n_leapfrog__": np.int64, "treedepth__": np.int64, **dtypes} - - rename_dict = { - "divergent": "diverging", - "n_leapfrog": "n_steps", - "treedepth": "tree_depth", - "stepsize": "step_size", - "accept_stat": "acceptance_rate", - } - - if isinstance(variables, str): - variables = [variables] - if isinstance(ignore, str): - ignore = [ignore] - - if not fit.save_warmup: - warmup = False - - num_warmup = ceil((fit.num_warmup * fit.save_warmup) / fit.num_thin) - - data = OrderedDict() - data_warmup = OrderedDict() - for key in fit.sample_and_sampler_param_names: - if (variables and key not in variables) or (ignore and key in ignore): - continue - new_shape = -1, fit.num_chains - values = fit._draws[fit._parameter_indexes(key)] # pylint: disable=protected-access - values = values.reshape(new_shape, order="F") - values = np.moveaxis(values, [-2, -1], [1, 0]) - dtype = dtypes.get(key) - values = values.astype(dtype) - name = re.sub("__$", "", key) - name = rename_dict.get(name, name) - if warmup: - data_warmup[name] = values[:, :num_warmup] - data[name] = values[:, num_warmup:] - - return data, data_warmup - - -def get_attrs_stan3(fit, model=None): - """Get attributes from PyStan3 fit and model object.""" - attrs = {} - for key in ["num_chains", "num_samples", "num_thin", "num_warmup", "save_warmup"]: - try: - attrs[key] = getattr(fit, key) - except AttributeError as exp: - _log.warning("Failed to access attribute %s in fit object %s", key, exp) - - if model is not None: - for key in ["model_name", "program_code", "random_seed"]: - try: - attrs[key] = getattr(model, key) - except AttributeError as exp: - _log.warning("Failed to access attribute %s in model object %s", key, exp) - - return attrs - - -def infer_dtypes(fit, model=None): - """Infer dtypes from Stan model code. - - Function strips out generated quantities block and searches for `int` - dtypes after stripping out comments inside the block. - """ - if model is None: - stan_code = fit.get_stancode() - model_pars = fit.model_pars - else: - stan_code = model.program_code - model_pars = fit.param_names - - dtypes = {key: item for key, item in infer_stan_dtypes(stan_code).items() if key in model_pars} - return dtypes - - -# pylint disable=too-many-instance-attributes -def from_pystan( - posterior=None, - *, - posterior_predictive=None, - predictions=None, - prior=None, - prior_predictive=None, - observed_data=None, - constant_data=None, - predictions_constant_data=None, - log_likelihood=None, - coords=None, - dims=None, - posterior_model=None, - prior_model=None, - save_warmup=None, - dtypes=None, -): - """Convert PyStan data into an InferenceData object. - - For a usage example read the - :ref:`Creating InferenceData section on from_pystan ` - - Parameters - ---------- - posterior : StanFit4Model or stan.fit.Fit - PyStan fit object for posterior. - posterior_predictive : str, a list of str - Posterior predictive samples for the posterior. - predictions : str, a list of str - Out-of-sample predictions for the posterior. - prior : StanFit4Model or stan.fit.Fit - PyStan fit object for prior. - prior_predictive : str, a list of str - Posterior predictive samples for the prior. - observed_data : str or a list of str - observed data used in the sampling. - Observed data is extracted from the `posterior.data`. - PyStan3 needs model object for the extraction. - See `posterior_model`. - constant_data : str or list of str - Constants relevant to the model (i.e. x values in a linear - regression). - predictions_constant_data : str or list of str - Constants relevant to the model predictions (i.e. new x values in a linear - regression). - log_likelihood : dict of {str: str}, list of str or str, optional - Pointwise log_likelihood for the data. log_likelihood is extracted from the - posterior. It is recommended to use this argument as a dictionary whose keys - are observed variable names and its values are the variables storing log - likelihood arrays in the Stan code. In other cases, a dictionary with keys - equal to its values is used. By default, if a variable ``log_lik`` is - present in the Stan model, it will be retrieved as pointwise log - likelihood values. Use ``False`` or set ``data.log_likelihood`` to - false to avoid this behaviour. - coords : dict[str, iterable] - A dictionary containing the values that are used as index. The key - is the name of the dimension, the values are the index values. - dims : dict[str, List(str)] - A mapping from variables to a list of coordinate names for the variable. - posterior_model : stan.model.Model - PyStan3 specific model object. Needed for automatic dtype parsing - and for the extraction of observed data. - prior_model : stan.model.Model - PyStan3 specific model object. Needed for automatic dtype parsing. - save_warmup : bool - Save warmup iterations into InferenceData object. If not defined, use default - defined by the rcParams. - dtypes: dict - A dictionary containing dtype information (int, float) for parameters. - By default dtype information is extracted from the model code. - Model code is extracted from fit object in PyStan 2 and from model object - in PyStan 3. - - Returns - ------- - InferenceData object - """ - check_posterior = (posterior is not None) and (type(posterior).__module__ == "stan.fit") - check_prior = (prior is not None) and (type(prior).__module__ == "stan.fit") - if check_posterior or check_prior: - return PyStan3Converter( - posterior=posterior, - posterior_model=posterior_model, - posterior_predictive=posterior_predictive, - predictions=predictions, - prior=prior, - prior_model=prior_model, - prior_predictive=prior_predictive, - observed_data=observed_data, - constant_data=constant_data, - predictions_constant_data=predictions_constant_data, - log_likelihood=log_likelihood, - coords=coords, - dims=dims, - save_warmup=save_warmup, - dtypes=dtypes, - ).to_inference_data() - else: - return PyStanConverter( - posterior=posterior, - posterior_predictive=posterior_predictive, - predictions=predictions, - prior=prior, - prior_predictive=prior_predictive, - observed_data=observed_data, - constant_data=constant_data, - predictions_constant_data=predictions_constant_data, - log_likelihood=log_likelihood, - coords=coords, - dims=dims, - save_warmup=save_warmup, - dtypes=dtypes, - ).to_inference_data() diff --git a/arviz/data/io_zarr.py b/arviz/data/io_zarr.py deleted file mode 100644 index 069d149f56..0000000000 --- a/arviz/data/io_zarr.py +++ /dev/null @@ -1,46 +0,0 @@ -"""Input and output support for zarr data.""" - -from .converters import convert_to_inference_data -from .inference_data import InferenceData - - -def from_zarr(store): - return InferenceData.from_zarr(store) - - -from_zarr.__doc__ = InferenceData.from_zarr.__doc__ - - -def to_zarr(data, store=None, **kwargs): - """ - Convert data to zarr, optionally saving to disk if ``store`` is provided. - - The zarr storage is using the same group names as the InferenceData. - - Parameters - ---------- - store : zarr.storage, MutableMapping or str, optional - Zarr storage class or path to desired DirectoryStore. - Default (None) a store is created in a temporary directory. - **kwargs : dict, optional - Passed to :py:func:`convert_to_inference_data`. - - Returns - ------- - zarr.hierarchy.group - A zarr hierarchy group containing the InferenceData. - - Raises - ------ - TypeError - If no valid store is found. - - - References - ---------- - https://zarr.readthedocs.io/ - - """ - inference_data = convert_to_inference_data(data, **kwargs) - zarr_group = inference_data.to_zarr(store=store) - return zarr_group diff --git a/arviz/data/utils.py b/arviz/data/utils.py deleted file mode 100644 index 67d56b396c..0000000000 --- a/arviz/data/utils.py +++ /dev/null @@ -1,139 +0,0 @@ -"""Data specific utilities.""" - -import warnings -import numpy as np - -from ..utils import _var_names -from .converters import convert_to_dataset - - -def extract_dataset( - data, - group="posterior", - combined=True, - var_names=None, - filter_vars=None, - num_samples=None, - rng=None, -): - """Extract an InferenceData group or subset of it. - - .. deprecated:: 0.13 - `extract_dataset` will be removed in ArviZ 0.14, it is replaced by - `extract` because the latter allows to obtain both DataSets and DataArrays. - """ - warnings.warn( - "extract_dataset has been deprecated, please use extract", FutureWarning, stacklevel=2 - ) - - data = extract( - data=data, - group=group, - combined=combined, - var_names=var_names, - filter_vars=filter_vars, - num_samples=num_samples, - rng=rng, - ) - return data - - -def extract( - data, - group="posterior", - combined=True, - var_names=None, - filter_vars=None, - num_samples=None, - keep_dataset=False, - rng=None, -): - """Extract an InferenceData group or subset of it. - - Parameters - ---------- - idata : InferenceData or InferenceData_like - InferenceData from which to extract the data. - group : str, optional - Which InferenceData data group to extract data from. - combined : bool, optional - Combine ``chain`` and ``draw`` dimensions into ``sample``. Won't work if - a dimension named ``sample`` already exists. - var_names : str or list of str, optional - Variables to be extracted. Prefix the variables by `~` when you want to exclude them. - filter_vars: {None, "like", "regex"}, optional - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - `pandas.filter`. - Like with plotting, sometimes it's easier to subset saying what to exclude - instead of what to include - num_samples : int, optional - Extract only a subset of the samples. Only valid if ``combined=True`` - keep_dataset : bool, optional - If true, always return a DataSet. If false (default) return a DataArray - when there is a single variable. - rng : bool, int, numpy.Generator, optional - Shuffle the samples, only valid if ``combined=True``. By default, - samples are shuffled if ``num_samples`` is not ``None``, and are left - in the same order otherwise. This ensures that subsetting the samples doesn't return - only samples from a single chain and consecutive draws. - - Returns - ------- - xarray.DataArray or xarray.Dataset - - Examples - -------- - The default behaviour is to return the posterior group after stacking the chain and - draw dimensions. - - .. jupyter-execute:: - - import arviz as az - idata = az.load_arviz_data("centered_eight") - az.extract(idata) - - You can also indicate a subset to be returned, but in variables and in samples: - - .. jupyter-execute:: - - az.extract(idata, var_names="theta", num_samples=100) - - To keep the chain and draw dimensions, use ``combined=False``. - - .. jupyter-execute:: - - az.extract(idata, group="prior", combined=False) - - """ - if num_samples is not None and not combined: - raise ValueError("num_samples is only compatible with combined=True") - if rng is None: - rng = num_samples is not None - if rng is not False and not combined: - raise ValueError("rng is only compatible with combined=True") - data = convert_to_dataset(data, group=group) - var_names = _var_names(var_names, data, filter_vars) - if var_names is not None: - if len(var_names) == 1 and not keep_dataset: - var_names = var_names[0] - data = data[var_names] - if combined: - data = data.stack(sample=("chain", "draw")) - # 0 is a valid seed se we need to check for rng being exactly boolean - if rng is not False: - if rng is True: - rng = np.random.default_rng() - # default_rng takes ints or sequences of ints - try: - rng = np.random.default_rng(rng) - random_subset = rng.permutation(np.arange(len(data["sample"]))) - except TypeError as err: - raise TypeError("Unable to initializate numpy random Generator from rng") from err - except AttributeError as err: - raise AttributeError("Unable to use rng to generate a permutation") from err - data = data.isel(sample=random_subset) - if num_samples is not None: - data = data.isel(sample=slice(None, num_samples)) - return data diff --git a/arviz/labels.py b/arviz/labels.py deleted file mode 100644 index 6bb81240cb..0000000000 --- a/arviz/labels.py +++ /dev/null @@ -1,210 +0,0 @@ -# pylint: disable=unused-argument -"""Utilities to generate labels from xarray objects.""" -from typing import Union - -__all__ = [ - "mix_labellers", - "BaseLabeller", - "DimCoordLabeller", - "DimIdxLabeller", - "MapLabeller", - "NoVarLabeller", - "NoModelLabeller", -] - - -def mix_labellers(labellers, class_name="MixtureLabeller"): - """Combine Labeller classes dynamically. - - The Labeller class aims to split plot labeling in ArviZ into atomic tasks to maximize - extensibility, and the few classes provided are designed with small deviations - from the base class, in many cases only one method is modified by the child class. - It is to be expected then to want to use multiple classes "at once". - - This functions helps combine classes dynamically. - - For a general overview of ArviZ label customization, including - ``mix_labellers``, see the :ref:`label_guide` page. - - Parameters - ---------- - labellers : iterable of types - Iterable of Labeller types to combine - class_name : str, optional - The name of the generated class - - Returns - ------- - type - Mixture class object. **It is not initialized**, and it should be - initialized before passing it to ArviZ functions. - - Examples - -------- - Combine the :class:`~arviz.labels.DimCoordLabeller` with the - :class:`~arviz.labels.MapLabeller` to generate labels in the style of the - ``DimCoordLabeller`` but using the mappings defined by ``MapLabeller``. - Note that this works even though both modify the same methods because - ``MapLabeller`` implements the mapping and then calls `super().method`. - - .. jupyter-execute:: - - from arviz.labels import mix_labellers, DimCoordLabeller, MapLabeller - l1 = DimCoordLabeller() - sel = {"dim1": "a", "dim2": "top"} - print(f"Output of DimCoordLabeller alone > {l1.sel_to_str(sel, sel)}") - l2 = MapLabeller(dim_map={"dim1": "$d_1$", "dim2": r"$d_2$"}) - print(f"Output of MapLabeller alone > {l2.sel_to_str(sel, sel)}") - l3 = mix_labellers( - (MapLabeller, DimCoordLabeller) - )(dim_map={"dim1": "$d_1$", "dim2": r"$d_2$"}) - print(f"Output of mixture labeller > {l3.sel_to_str(sel, sel)}") - - We can see how the mappings are taken into account as well as the dim+coord style. However, - he order in the ``labellers`` arg iterator is important! See for yourself: - - .. jupyter-execute:: - - l4 = mix_labellers( - (DimCoordLabeller, MapLabeller) - )(dim_map={"dim1": "$d_1$", "dim2": r"$d_2$"}) - print(f"Output of inverted mixture labeller > {l4.sel_to_str(sel, sel)}") - - """ - return type(class_name, labellers, {}) - - -class BaseLabeller: - """WIP.""" - - def dim_coord_to_str(self, dim, coord_val, coord_idx): - """WIP.""" - return f"{coord_val}" - - def sel_to_str(self, sel: dict, isel: dict): - """WIP.""" - if sel: - return ", ".join( - [ - self.dim_coord_to_str(dim, v, i) - for (dim, v), (_, i) in zip(sel.items(), isel.items()) - ] - ) - return "" - - def var_name_to_str(self, var_name: Union[str, None]): - """WIP.""" - return var_name - - def var_pp_to_str(self, var_name, pp_var_name): - """WIP.""" - var_name_str = self.var_name_to_str(var_name) - pp_var_name_str = self.var_name_to_str(pp_var_name) - if var_name_str == pp_var_name_str: - return f"{var_name_str}" - return f"{var_name_str} / {pp_var_name_str}" - - def model_name_to_str(self, model_name): - """WIP.""" - return model_name - - def make_label_vert(self, var_name: Union[str, None], sel: dict, isel: dict): - """WIP.""" - var_name_str = self.var_name_to_str(var_name) - sel_str = self.sel_to_str(sel, isel) - if not sel_str: - return "" if var_name_str is None else var_name_str - if var_name_str is None: - return sel_str - return f"{var_name_str}\n{sel_str}" - - def make_label_flat(self, var_name: str, sel: dict, isel: dict): - """WIP.""" - var_name_str = self.var_name_to_str(var_name) - sel_str = self.sel_to_str(sel, isel) - if not sel_str: - return "" if var_name_str is None else var_name_str - if var_name_str is None: - return sel_str - return f"{var_name_str}[{sel_str}]" - - def make_pp_label(self, var_name, pp_var_name, sel, isel): - """WIP.""" - names = self.var_pp_to_str(var_name, pp_var_name) - return self.make_label_vert(names, sel, isel) - - def make_model_label(self, model_name, label): - """WIP.""" - model_name_str = self.model_name_to_str(model_name) - if model_name_str is None: - return label - if label is None or label == "": - return model_name_str - return f"{model_name_str}: {label}" - - -class DimCoordLabeller(BaseLabeller): - """WIP.""" - - def dim_coord_to_str(self, dim, coord_val, coord_idx): - """WIP.""" - return f"{dim}: {coord_val}" - - -class IdxLabeller(BaseLabeller): - """WIP.""" - - def dim_coord_to_str(self, dim, coord_val, coord_idx): - """WIP.""" - return f"{coord_idx}" - - -class DimIdxLabeller(BaseLabeller): - """WIP.""" - - def dim_coord_to_str(self, dim, coord_val, coord_idx): - """WIP.""" - return f"{dim}#{coord_idx}" - - -class MapLabeller(BaseLabeller): - """WIP.""" - - def __init__(self, var_name_map=None, dim_map=None, coord_map=None, model_name_map=None): - """WIP.""" - self.var_name_map = {} if var_name_map is None else var_name_map - self.dim_map = {} if dim_map is None else dim_map - self.coord_map = {} if coord_map is None else coord_map - self.model_name_map = {} if model_name_map is None else model_name_map - - def dim_coord_to_str(self, dim, coord_val, coord_idx): - """WIP.""" - dim_str = self.dim_map.get(dim, dim) - coord_str = self.coord_map.get(dim, {}).get(coord_val, coord_val) - return super().dim_coord_to_str(dim_str, coord_str, coord_idx) - - def var_name_to_str(self, var_name): - """WIP.""" - var_name_str = self.var_name_map.get(var_name, var_name) - return super().var_name_to_str(var_name_str) - - def model_name_to_str(self, model_name): - """WIP.""" - model_name_str = self.var_name_map.get(model_name, model_name) - return super().model_name_to_str(model_name_str) - - -class NoVarLabeller(BaseLabeller): - """WIP.""" - - def var_name_to_str(self, var_name): - """WIP.""" - return None - - -class NoModelLabeller(BaseLabeller): - """WIP.""" - - def make_model_label(self, model_name, label): - """WIP.""" - return label diff --git a/arviz/plots/__init__.py b/arviz/plots/__init__.py deleted file mode 100644 index ddc8c6fd3b..0000000000 --- a/arviz/plots/__init__.py +++ /dev/null @@ -1,61 +0,0 @@ -"""Plotting functions.""" - -from .autocorrplot import plot_autocorr -from .bpvplot import plot_bpv -from .bfplot import plot_bf -from .compareplot import plot_compare -from .densityplot import plot_density -from .distcomparisonplot import plot_dist_comparison -from .distplot import plot_dist -from .dotplot import plot_dot -from .ecdfplot import plot_ecdf -from .elpdplot import plot_elpd -from .energyplot import plot_energy -from .essplot import plot_ess -from .forestplot import plot_forest -from .hdiplot import plot_hdi -from .kdeplot import plot_kde -from .khatplot import plot_khat -from .lmplot import plot_lm -from .loopitplot import plot_loo_pit -from .mcseplot import plot_mcse -from .pairplot import plot_pair -from .parallelplot import plot_parallel -from .posteriorplot import plot_posterior -from .ppcplot import plot_ppc -from .rankplot import plot_rank -from .separationplot import plot_separation -from .traceplot import plot_trace -from .tsplot import plot_ts -from .violinplot import plot_violin - -__all__ = [ - "plot_autocorr", - "plot_bpv", - "plot_bf", - "plot_compare", - "plot_density", - "plot_dist", - "plot_dot", - "plot_ecdf", - "plot_elpd", - "plot_energy", - "plot_ess", - "plot_forest", - "plot_hdi", - "plot_kde", - "plot_khat", - "plot_lm", - "plot_loo_pit", - "plot_mcse", - "plot_pair", - "plot_parallel", - "plot_posterior", - "plot_ppc", - "plot_dist_comparison", - "plot_rank", - "plot_trace", - "plot_ts", - "plot_violin", - "plot_separation", -] diff --git a/arviz/plots/autocorrplot.py b/arviz/plots/autocorrplot.py deleted file mode 100644 index 2aeddaafb6..0000000000 --- a/arviz/plots/autocorrplot.py +++ /dev/null @@ -1,171 +0,0 @@ -"""Autocorrelation plot of data.""" - -from ..data import convert_to_dataset -from ..labels import BaseLabeller -from ..sel_utils import xarray_var_iter -from ..rcparams import rcParams -from ..utils import _var_names, get_coords -from .plot_utils import default_grid, filter_plotters_list, get_plotting_function - - -def plot_autocorr( - data, - var_names=None, - filter_vars=None, - max_lag=None, - combined=False, - coords=None, - grid=None, - figsize=None, - textsize=None, - labeller=None, - ax=None, - backend=None, - backend_config=None, - backend_kwargs=None, - show=None, -): - r"""Bar plot of the autocorrelation function (ACF) for a sequence of data. - - The ACF plots are helpful as a convergence diagnostic for posteriors from MCMC - samples which display autocorrelation. - - Parameters - ---------- - data : InferenceData - Any object that can be converted to an :class:`arviz.InferenceData` object - refer to documentation of :func:`arviz.convert_to_dataset` for details - var_names : list of str, optional - Variables to be plotted. Prefix the variables by ``~`` when you want to exclude - them from the plot. See :ref:`this section ` for usage examples. - filter_vars : {None, "like", "regex"}, default None - If `None` (default), interpret `var_names` as the real variables names. If "like", - interpret `var_names` as substrings of the real variables names. If "regex", - interpret `var_names` as regular expressions on the real variables names. See - :ref:`this section ` for usage examples. - coords: mapping, optional - Coordinates of var_names to be plotted. Passed to :meth:`xarray.Dataset.sel` - max_lag : int, optional - Maximum lag to calculate autocorrelation. By Default, the plot displays the - first 100 lag or the total number of draws, whichever is smaller. - combined : bool, default False - Flag for combining multiple chains into a single chain. If False, chains will be - plotted separately. - grid : tuple, optional - Number of rows and columns. Defaults to None, the rows and columns are - automatically inferred. See :ref:`this section ` for usage examples. - figsize : (float, float), optional - Figure size. If None it will be defined automatically. - Note this is not used if `ax` is supplied. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If None it will be autoscaled based - on `figsize`. - labeller : Labeller, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - ax : 2D array-like of matplotlib_axes or bokeh_figure, optional - A 2D array of locations into which to plot the densities. If not supplied, ArviZ will create - its own array of plot areas (and return it). - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_config : dict, optional - Currently specifies the bounds to use for bokeh axes. Defaults to value set in ``rcParams``. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib_axes or bokeh_figures - - See Also - -------- - autocov : Compute autocovariance estimates for every lag for the input array. - autocorr : Compute autocorrelation using FFT for every lag for the input array. - - Examples - -------- - Plot default autocorrelation - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('centered_eight') - >>> az.plot_autocorr(data) - - Plot subset variables by specifying variable name exactly - - .. plot:: - :context: close-figs - - >>> az.plot_autocorr(data, var_names=['mu', 'tau'] ) - - - Combine chains by variable and select variables by excluding some with partial naming - - .. plot:: - :context: close-figs - - >>> az.plot_autocorr(data, var_names=['~thet'], filter_vars="like", combined=True) - - - Specify maximum lag (x axis bound) - - .. plot:: - :context: close-figs - - >>> az.plot_autocorr(data, var_names=['mu', 'tau'], max_lag=200, combined=True) - """ - data = convert_to_dataset(data, group="posterior") - var_names = _var_names(var_names, data, filter_vars) - - # Default max lag to 100 or max length of chain - if max_lag is None: - max_lag = min(100, data["draw"].shape[0]) - - if coords is None: - coords = {} - - if labeller is None: - labeller = BaseLabeller() - - plotters = filter_plotters_list( - list( - xarray_var_iter( - get_coords(data, coords), var_names, combined, dim_order=["chain", "draw"] - ) - ), - "plot_autocorr", - ) - rows, cols = default_grid(len(plotters), grid=grid) - - autocorr_plot_args = dict( - axes=ax, - plotters=plotters, - max_lag=max_lag, - figsize=figsize, - rows=rows, - cols=cols, - combined=combined, - textsize=textsize, - labeller=labeller, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - if backend == "bokeh": - autocorr_plot_args.update(backend_config=backend_config) - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_autocorr", "autocorrplot", backend) - axes = plot(**autocorr_plot_args) - - return axes diff --git a/arviz/plots/backends/__init__.py b/arviz/plots/backends/__init__.py deleted file mode 100644 index bd08073377..0000000000 --- a/arviz/plots/backends/__init__.py +++ /dev/null @@ -1,223 +0,0 @@ -# pylint: disable=no-member,invalid-name,redefined-outer-name -"""ArviZ plotting backends.""" -import re - -import numpy as np -from pandas import DataFrame - -from ...rcparams import rcParams - -__all__ = [ - "to_cds", - "output_notebook", - "output_file", - "ColumnDataSource", - "create_layout", - "show_layout", -] - - -def to_cds( - data, - var_names=None, - groups=None, - dimensions=None, - group_info=True, - var_name_format=None, - index_origin=None, -): - """Transform data to ColumnDataSource (CDS) compatible with Bokeh. - - Uses `_ARVIZ_GROUP_` and `_ARVIZ_CDS_SELECTION_` to separate var_name - from group and dimensions in CDS columns. - - Parameters - ---------- - data : obj - Any object that can be converted to an az.InferenceData object - Refer to documentation of az.convert_to_inference_data for details - var_names : str or list of str, optional - Variables to be processed, if None all variables are processed. - groups : str or list of str, optional - Select groups for CDS. Default groups are {"posterior_groups", "prior_groups", - "posterior_groups_warmup"} - - - posterior_groups: posterior, posterior_predictive, sample_stats - - prior_groups: prior, prior_predictive, sample_stats_prior - - posterior_groups_warmup: warmup_posterior, warmup_posterior_predictive, - warmup_sample_stats - - ignore_groups : str or list of str, optional - Ignore specific groups from CDS. - dimension : str, or list of str, optional - Select dimensions along to slice the data. By default uses ("chain", "draw"). - group_info : bool - Add group info for `var_name_format` - var_name_format : str or tuple of tuple of string, optional - Select column name format for non-scalar input. - Predefined options are {"brackets", "underscore", "cds"} - - "brackets": - - add_group_info == False: ``theta[0,0]`` - - add_group_info == True: ``theta_posterior[0,0]`` - "underscore": - - add_group_info == False: ``theta_0_0`` - - add_group_info == True: ``theta_posterior_0_0_`` - "cds": - - add_group_info == False: ``theta_ARVIZ_CDS_SELECTION_0_0`` - - add_group_info == True: ``theta_ARVIZ_GROUP_posterior__ARVIZ_CDS_SELECTION_0_0`` - tuple: - Structure: - - - tuple: (dim_info, group_info) - - - dim_info: (str: `.join` separator, - str: dim_separator_start, - str: dim_separator_end) - - group_info: (str: group separator start, str: group separator end) - - Example: ((",", "[", "]"), ("_", "")) - - - add_group_info == False: ``theta[0,0]`` - - add_group_info == True: ``theta_posterior[0,0]`` - - index_origin : int, optional - Start parameter indices from `index_origin`. Either 0 or 1. - - Returns - ------- - bokeh.models.ColumnDataSource object - """ - from ...utils import flatten_inference_data_to_dict - - if var_name_format is None: - var_name_format = "cds" - - cds_dict = flatten_inference_data_to_dict( - data=data, - var_names=var_names, - groups=groups, - dimensions=dimensions, - group_info=group_info, - index_origin=index_origin, - var_name_format=var_name_format, - ) - cds_data = ColumnDataSource(DataFrame.from_dict(cds_dict, orient="columns")) - return cds_data - - -def output_notebook(*args, **kwargs): - """Wrap func:`bokeh.plotting.output_notebook`.""" - import bokeh.plotting as bkp - - return bkp.output_notebook(*args, **kwargs) - - -def output_file(*args, **kwargs): - """Wrap :func:`bokeh.plotting.output_file`.""" - import bokeh.plotting as bkp - - return bkp.output_file(*args, **kwargs) - - -def ColumnDataSource(*args, **kwargs): - """Wrap bokeh.models.ColumnDataSource.""" - from bokeh.models import ColumnDataSource - - return ColumnDataSource(*args, **kwargs) - - -def create_layout(ax, force_layout=False): - """Transform bokeh array of figures to layout.""" - ax = np.atleast_2d(ax) - subplot_order = rcParams["plot.bokeh.layout.order"] - if force_layout: - from bokeh.layouts import gridplot as layout - - ax = ax.tolist() - layout_args = { - "sizing_mode": rcParams["plot.bokeh.layout.sizing_mode"], - "toolbar_location": rcParams["plot.bokeh.layout.toolbar_location"], - } - elif any(item in subplot_order for item in ("row", "column")): - # check number of rows - match = re.match(r"(\d*)(row|column)", subplot_order) - n = int(match.group(1)) if match.group(1) is not None else 1 - subplot_order = match.group(2) - # set up 1D list of axes - ax = [item for item in ax.ravel().tolist() if item is not None] - layout_args = {"sizing_mode": rcParams["plot.bokeh.layout.sizing_mode"]} - if subplot_order == "row" and n == 1: - from bokeh.layouts import row as layout - elif subplot_order == "column" and n == 1: - from bokeh.layouts import column as layout - else: - from bokeh.layouts import layout - - if n != 1: - ax = np.array(ax + [None for _ in range(int(np.ceil(len(ax) / n)) - len(ax))]) - ax = ax.reshape(n, -1) if subplot_order == "row" else ax.reshape(-1, n) - ax = ax.tolist() - else: - if subplot_order in ("square", "square_trimmed"): - ax = [item for item in ax.ravel().tolist() if item is not None] - n = int(np.ceil(len(ax) ** 0.5)) - ax = ax + [None for _ in range(n**2 - len(ax))] - ax = np.array(ax).reshape(n, n) - ax = ax.tolist() - if (subplot_order == "square_trimmed") and any( - all(item is None for item in row) for row in ax - ): - from bokeh.layouts import layout - - ax = [row for row in ax if any(item is not None for item in row)] - layout_args = {"sizing_mode": rcParams["plot.bokeh.layout.sizing_mode"]} - else: - from bokeh.layouts import gridplot as layout - - layout_args = { - "sizing_mode": rcParams["plot.bokeh.layout.sizing_mode"], - "toolbar_location": rcParams["plot.bokeh.layout.toolbar_location"], - } - # ignore "fixed" sizing_mode without explicit width and height - if layout_args.get("sizing_mode", "") == "fixed": - layout_args.pop("sizing_mode") - return layout(ax, **layout_args) - - -def show_layout(ax, show=True, force_layout=False): - """Create a layout and call bokeh show.""" - if show is None: - show = rcParams["plot.bokeh.show"] - if show: - import bokeh.plotting as bkp - - layout = create_layout(ax, force_layout=force_layout) - bkp.show(layout) - - -def _copy_docstring(lib, function): - """Extract docstring from function.""" - import importlib - - try: - module = importlib.import_module(lib) - func = getattr(module, function) - doc = func.__doc__ - except ImportError: - doc = f"Failed to import function {function} from {lib}" - - if not isinstance(doc, str): - doc = "" - return doc - - -# TODO: try copying substitutions too, or autoreplace them ourselves -if output_notebook.__doc__ is not None: # if run with python -OO, __doc__ is stripped - output_notebook.__doc__ += "\n\n" + _copy_docstring( - "bokeh.plotting", "output_notebook" - ).replace("|save|", "save").replace("|show|", "show") - output_file.__doc__ += "\n\n" + _copy_docstring("bokeh.plotting", "output_file").replace( - "|save|", "save" - ).replace("|show|", "show") - ColumnDataSource.__doc__ += "\n\n" + _copy_docstring("bokeh.models", "ColumnDataSource") diff --git a/arviz/plots/backends/bokeh/__init__.py b/arviz/plots/backends/bokeh/__init__.py deleted file mode 100644 index dbc327cbf4..0000000000 --- a/arviz/plots/backends/bokeh/__init__.py +++ /dev/null @@ -1,166 +0,0 @@ -# pylint: disable=wrong-import-position -"""Bokeh Plotting Backend.""" -from bokeh.plotting import figure -from numpy import array -from packaging import version - -from ....rcparams import rcParams - - -def backend_kwarg_defaults(*args, **kwargs): - """Get default kwargs for backend. - - For args add a tuple with key and rcParam key pair. - """ - defaults = {**kwargs} - # add needed default args from arviz.rcParams - for key, arg in args: - defaults.setdefault(key, rcParams[arg]) - - for key, arg in { - "toolbar_location": "plot.bokeh.layout.toolbar_location", - "tools": "plot.bokeh.tools", - "output_backend": "plot.bokeh.output_backend", - "height": "plot.bokeh.figure.height", - "width": "plot.bokeh.figure.width", - }.items(): - # by default, ignore height and width if dpi is used - if key in ("height", "width") and "dpi" in defaults: - continue - defaults.setdefault(key, rcParams[arg]) - return defaults - - -def create_axes_grid( - length_plotters, - rows=1, - cols=1, - figsize=None, - squeeze=False, - sharex=False, - sharey=False, - polar=False, - backend_kwargs=None, -): - """Create figure and axes for grids with multiple plots. - - Parameters - ---------- - length_plotters : int - Number of figures required - rows : int - Number of rows - cols : int - Number of columns - figsize : tuple - Figure size in inches - squeeze : bool - Return bokeh.figure object if True else ndarray of bokeh.figure objects - sharex : bool - Share x axis between the figures - sharey : bool - Share y axis between the figures - polar : bool - Set up polar coordinates plot - backend_kwargs: dict, optional - kwargs for backend figure. - - Returns - ------- - figures : bokeh figure or np.array of bokeh.figure - """ - if backend_kwargs is None: - backend_kwargs = {} - - if figsize is not None: - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - dpi = backend_kwargs.pop("dpi") - backend_kwargs.setdefault("width", int(figsize[0] * dpi / cols)) - backend_kwargs.setdefault("height", int(figsize[1] * dpi / rows)) - else: - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figures = [] - - if polar: - backend_kwargs.setdefault("x_axis_type", None) - backend_kwargs.setdefault("y_axis_type", None) - - for row in range(rows): - row_figures = [] - for col in range(cols): - if (row == 0) and (col == 0) and (sharex or sharey): - p = figure(**backend_kwargs) # pylint: disable=invalid-name - row_figures.append(p) - if sharex: - backend_kwargs["x_range"] = p.x_range - if sharey: - backend_kwargs["y_range"] = p.y_range - elif row * cols + (col + 1) > length_plotters: - row_figures.append(None) - else: - row_figures.append(figure(**backend_kwargs)) - figures.append(row_figures) - figures = array(figures) - if figures.size == 1 and squeeze: - figures = figures[0, 0] - return figures - - -def dealiase_sel_kwargs(kwargs, prop_dict, idx): - """Generate kwargs dict from kwargs and prop_dict. - - Gets property at position ``idx`` for each property in prop_dict and adds it to - ``kwargs``. Values in prop_dict are dealiased and overwrite values in - kwargs with the same key . - - Parameters - ---------- - kwargs : dict - prop_dict : dict of {str : array_like} - idx : int - """ - return { - **kwargs, - **{prop: props[idx] for prop, props in prop_dict.items()}, - } - - -from .autocorrplot import plot_autocorr -from .compareplot import plot_compare -from .densityplot import plot_density -from .distplot import plot_dist -from .elpdplot import plot_elpd -from .energyplot import plot_energy -from .essplot import plot_ess -from .forestplot import plot_forest -from .hdiplot import plot_hdi -from .kdeplot import plot_kde -from .khatplot import plot_khat -from .loopitplot import plot_loo_pit -from .mcseplot import plot_mcse -from .pairplot import plot_pair -from .parallelplot import plot_parallel -from .ppcplot import plot_ppc -from .posteriorplot import plot_posterior -from .rankplot import plot_rank -from .traceplot import plot_trace -from .violinplot import plot_violin - - -def check_bokeh_version(): - """Check minimum bokeh version.""" - try: - import bokeh - - assert version.parse(bokeh.__version__) >= version.parse("1.4.0") - except (ImportError, AssertionError) as err: - raise ImportError("'bokeh' backend needs Bokeh (1.4.0+) installed.") from err diff --git a/arviz/plots/backends/bokeh/autocorrplot.py b/arviz/plots/backends/bokeh/autocorrplot.py deleted file mode 100644 index dced230308..0000000000 --- a/arviz/plots/backends/bokeh/autocorrplot.py +++ /dev/null @@ -1,101 +0,0 @@ -"""Bokeh Autocorrplot.""" - -import numpy as np -from bokeh.models import DataRange1d, BoxAnnotation -from bokeh.models.annotations import Title - - -from ....stats import autocorr -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_autocorr( - axes, - plotters, - max_lag, - figsize, - rows, - cols, - combined, - textsize, - labeller, - backend_config, - backend_kwargs, - show, -): - """Bokeh autocorrelation plot.""" - if backend_config is None: - backend_config = {} - - len_y = plotters[0][-1].size - backend_config.setdefault("bounds_x_range", (0, len_y)) - - backend_config = { - **backend_kwarg_defaults( - ("bounds_y_range", "plot.bokeh.bounds_y_range"), - ), - **backend_config, - } - - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - - figsize, _, _, _, line_width, _ = _scale_fig_size(figsize, textsize, rows, cols) - - if axes is None: - axes = create_axes_grid( - len(plotters), - rows, - cols, - figsize=figsize, - sharex=True, - sharey=True, - backend_kwargs=backend_kwargs, - ) - else: - axes = np.atleast_2d(axes) - - data_range_x = DataRange1d( - start=0, end=max_lag, bounds=backend_config["bounds_x_range"], min_interval=5 - ) - data_range_y = DataRange1d( - start=-1, end=1, bounds=backend_config["bounds_y_range"], min_interval=0.1 - ) - - for (var_name, selection, isel, x), ax in zip( - plotters, (item for item in axes.flatten() if item is not None) - ): - x_prime = x - if combined: - x_prime = x.flatten() - c_i = 1.96 / x_prime.size**0.5 - y = autocorr(x_prime) - - ax.add_layout(BoxAnnotation(bottom=-c_i, top=c_i, fill_color="gray")) - ax.segment( - x0=np.arange(len(y)), - y0=0, - x1=np.arange(len(y)), - y1=y, - line_width=line_width, - line_color="black", - ) - - title = Title() - title.text = labeller.make_label_vert(var_name, selection, isel) - ax.title = title - ax.x_range = data_range_x - ax.y_range = data_range_y - - show_layout(axes, show) - - return axes diff --git a/arviz/plots/backends/bokeh/bfplot.py b/arviz/plots/backends/bokeh/bfplot.py deleted file mode 100644 index fd3c97cac1..0000000000 --- a/arviz/plots/backends/bokeh/bfplot.py +++ /dev/null @@ -1,23 +0,0 @@ -"""Bokeh Bayes Factor plot.""" - - -def plot_bf( - ax, - nvars, - ngroups, - figsize, - dc_plotters, - legend, - groups, - textsize, - labeller, - prior_kwargs, - posterior_kwargs, - observed_kwargs, - backend_kwargs, - show, -): - """Bokeh Bayes Factor plot.""" - raise NotImplementedError( - "The bokeh backend is still under development. Use matplotlib backend." - ) diff --git a/arviz/plots/backends/bokeh/bpvplot.py b/arviz/plots/backends/bokeh/bpvplot.py deleted file mode 100644 index ab48624b24..0000000000 --- a/arviz/plots/backends/bokeh/bpvplot.py +++ /dev/null @@ -1,193 +0,0 @@ -"""Bokeh Bayesian p-value Posterior predictive plot.""" - -import numpy as np -from bokeh.models import BoxAnnotation -from bokeh.models.annotations import Title -from scipy import stats - -from ....stats.density_utils import kde -from ....stats.stats_utils import smooth_data -from ...kdeplot import plot_kde -from ...plot_utils import ( - _scale_fig_size, - is_valid_quantile, - sample_reference_distribution, - vectorized_to_hex, -) -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_bpv( - ax, - length_plotters, - rows, - cols, - obs_plotters, - pp_plotters, - total_pp_samples, - kind, - t_stat, - bpv, - plot_mean, - reference, - mse, - n_ref, - hdi_prob, - color, - figsize, - textsize, - labeller, - plot_ref_kwargs, - backend_kwargs, - show, - smoothing, -): - """Bokeh bpv plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - color = vectorized_to_hex(color) - - if plot_ref_kwargs is None: - plot_ref_kwargs = {} - if kind == "p_value" and reference == "analytical": - plot_ref_kwargs.setdefault("line_color", "black") - plot_ref_kwargs.setdefault("line_dash", "dashed") - else: - plot_ref_kwargs.setdefault("alpha", 0.1) - plot_ref_kwargs.setdefault("line_color", color) - - (figsize, ax_labelsize, _, _, linewidth, markersize) = _scale_fig_size( - figsize, textsize, rows, cols - ) - - if ax is None: - axes = create_axes_grid( - length_plotters, - rows, - cols, - figsize=figsize, - backend_kwargs=backend_kwargs, - ) - else: - axes = np.atleast_2d(ax) - - if len([item for item in axes.ravel() if not None]) != length_plotters: - raise ValueError( - f"Found {length_plotters} variables to plot but {len(axes)} axes instances. " - "They must be equal." - ) - - for i, ax_i in enumerate((item for item in axes.flatten() if item is not None)): - var_name, sel, isel, obs_vals = obs_plotters[i] - pp_var_name, _, _, pp_vals = pp_plotters[i] - - obs_vals = obs_vals.flatten() - pp_vals = pp_vals.reshape(total_pp_samples, -1) - - if (obs_vals.dtype.kind == "i" or pp_vals.dtype.kind == "i") and smoothing is True: - obs_vals, pp_vals = smooth_data(obs_vals, pp_vals) - - if kind == "p_value": - tstat_pit = np.mean(pp_vals <= obs_vals, axis=-1) - x_s, tstat_pit_dens = kde(tstat_pit) - ax_i.line(x_s, tstat_pit_dens, line_width=linewidth, line_color=color) - if reference is not None: - dist = stats.beta(obs_vals.size / 2, obs_vals.size / 2) - if reference == "analytical": - lwb = dist.ppf((1 - 0.9999) / 2) - upb = 1 - lwb - x = np.linspace(lwb, upb, 500) - dens_ref = dist.pdf(x) - ax_i.line(x, dens_ref, **plot_ref_kwargs) - elif reference == "samples": - x_ss, u_dens = sample_reference_distribution( - dist, - ( - tstat_pit_dens.size, - n_ref, - ), - ) - ax_i.multi_line( - list(x_ss.T), list(u_dens.T), line_width=linewidth, **plot_ref_kwargs - ) - - elif kind == "u_value": - tstat_pit = np.mean(pp_vals <= obs_vals, axis=0) - x_s, tstat_pit_dens = kde(tstat_pit) - ax_i.line(x_s, tstat_pit_dens, color=color) - if reference is not None: - if reference == "analytical": - n_obs = obs_vals.size - hdi_ = stats.beta(n_obs / 2, n_obs / 2).ppf((1 - hdi_prob) / 2) - hdi_odds = (hdi_ / (1 - hdi_), (1 - hdi_) / hdi_) - ax_i.add_layout( - BoxAnnotation( - bottom=hdi_odds[1], - top=hdi_odds[0], - fill_alpha=plot_ref_kwargs.pop("alpha"), - fill_color=plot_ref_kwargs.pop("line_color"), - **plot_ref_kwargs, - ) - ) - ax_i.line([0, 1], [1, 1], line_color="white") - elif reference == "samples": - dist = stats.uniform(0, 1) - x_ss, u_dens = sample_reference_distribution(dist, (tstat_pit_dens.size, n_ref)) - for x_ss_i, u_dens_i in zip(x_ss.T, u_dens.T): - ax_i.line(x_ss_i, u_dens_i, line_width=linewidth, **plot_ref_kwargs) - if mse: - ax_i.line(0, 0, legend_label=f"mse={np.mean((1 - tstat_pit_dens)**2) * 100:.2f}") - - ax_i.line(0, 0) - else: - if t_stat in ["mean", "median", "std"]: - if t_stat == "mean": - tfunc = np.mean - elif t_stat == "median": - tfunc = np.median - elif t_stat == "std": - tfunc = np.std - obs_vals = tfunc(obs_vals) - pp_vals = tfunc(pp_vals, axis=1) - elif hasattr(t_stat, "__call__"): - obs_vals = t_stat(obs_vals.flatten()) - pp_vals = t_stat(pp_vals) - elif is_valid_quantile(t_stat): - t_stat = float(t_stat) - obs_vals = np.quantile(obs_vals, q=t_stat) - pp_vals = np.quantile(pp_vals, q=t_stat, axis=1) - else: - raise ValueError(f"T statistics {t_stat} not implemented") - - plot_kde(pp_vals, ax=ax_i, plot_kwargs={"color": color}, backend="bokeh", show=False) - # ax_i.set_yticks([]) - if bpv: - p_value = np.mean(pp_vals <= obs_vals) - ax_i.line(0, 0, legend_label=f"bpv={p_value:.2f}", alpha=0) - - if plot_mean: - ax_i.scatter( - obs_vals.mean(), - 0, - fill_color=color, - line_color="black", - size=markersize, - marker="circle", - ) - - _title = Title() - _title.text = labeller.make_pp_label(var_name, pp_var_name, sel, isel) - ax_i.title = _title - size = str(int(ax_labelsize)) - ax_i.title.text_font_size = f"{size}pt" - - show_layout(axes, show) - - return axes diff --git a/arviz/plots/backends/bokeh/compareplot.py b/arviz/plots/backends/bokeh/compareplot.py deleted file mode 100644 index a3a87c5e17..0000000000 --- a/arviz/plots/backends/bokeh/compareplot.py +++ /dev/null @@ -1,167 +0,0 @@ -"""Bokeh Compareplot.""" - -from bokeh.models import Span -from bokeh.models.annotations import Title, Legend - - -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_compare( - ax, - comp_df, - legend, - title, - figsize, - plot_ic_diff, - plot_standard_error, - insample_dev, - yticks_pos, - yticks_labels, - plot_kwargs, - textsize, - information_criterion, - step, - backend_kwargs, - show, -): - """Bokeh compareplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, _, _, _, line_width, _ = _scale_fig_size(figsize, textsize, 1, 1) - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - yticks_pos = list(yticks_pos) - - labels = [] - - if plot_ic_diff: - ax.yaxis.ticker = yticks_pos[::2] - ax.yaxis.major_label_overrides = { - dtype(key): value - for key, value in zip(yticks_pos, yticks_labels) - for dtype in (int, float) - if (dtype(key) - key == 0) - } - - # create the coordinates for the errorbars - err_xs = [] - err_ys = [] - - for x, y, xerr in zip( - comp_df[information_criterion].iloc[1:], yticks_pos[1::2], comp_df.dse[1:] - ): - err_xs.append((x - xerr, x + xerr)) - err_ys.append((y, y)) - - # plot them - dif_tri = ax.scatter( - comp_df[information_criterion].iloc[1:], - yticks_pos[1::2], - line_color=plot_kwargs.get("color_dse", "grey"), - fill_color=plot_kwargs.get("color_dse", "grey"), - line_width=2, - size=6, - marker="triangle", - ) - dif_line = ax.multi_line(err_xs, err_ys, line_color=plot_kwargs.get("color_dse", "grey")) - - labels.append(("ELPD difference", [dif_tri, dif_line])) - - else: - ax.yaxis.ticker = yticks_pos[::2] - ax.yaxis.major_label_overrides = dict(zip(yticks_pos[::2], yticks_labels)) - - elpd_circ = ax.scatter( - comp_df[information_criterion], - yticks_pos[::2], - line_color=plot_kwargs.get("color_ic", "black"), - fill_color=None, - line_width=2, - size=6, - marker="circle", - ) - elpd_label = [elpd_circ] - - if plot_standard_error: - # create the coordinates for the errorbars - err_xs = [] - err_ys = [] - - for x, y, xerr in zip(comp_df[information_criterion], yticks_pos[::2], comp_df.se): - err_xs.append((x - xerr, x + xerr)) - err_ys.append((y, y)) - - # plot them - elpd_line = ax.multi_line(err_xs, err_ys, line_color=plot_kwargs.get("color_ic", "black")) - elpd_label.append(elpd_line) - - labels.append(("ELPD", elpd_label)) - - scale = comp_df["scale"].iloc[0] - - if insample_dev: - p_ic = comp_df[f"p_{information_criterion.split('_')[1]}"] - if scale == "log": - correction = p_ic - elif scale == "negative_log": - correction = -p_ic - elif scale == "deviance": - correction = -(2 * p_ic) - insample_circ = ax.scatter( - comp_df[information_criterion] + correction, - yticks_pos[::2], - line_color=plot_kwargs.get("color_insample_dev", "black"), - fill_color=plot_kwargs.get("color_insample_dev", "black"), - line_width=2, - size=6, - marker="circle", - ) - labels.append(("In-sample ELPD", [insample_circ])) - - vline = Span( - location=comp_df[information_criterion].iloc[0], - dimension="height", - line_color=plot_kwargs.get("color_ls_min_ic", "grey"), - line_width=line_width, - line_dash=plot_kwargs.get("ls_min_ic", "dashed"), - ) - - ax.renderers.append(vline) - - if legend: - legend = Legend(items=labels, orientation="vertical", location="top_right") - ax.add_layout(legend, "above") - ax.legend.click_policy = "hide" - - if title: - _title = Title() - _title.text = f"Model comparison\n{'higher' if scale == 'log' else 'lower'} is better" - ax.title = _title - - if scale == "negative_log": - scale = "-log" - - ax.xaxis.axis_label = f"{information_criterion} ({scale})" - ax.yaxis.axis_label = "ranked models" - ax.y_range._property_values["start"] = -1 + step # pylint: disable=protected-access - ax.y_range._property_values["end"] = 0 - step # pylint: disable=protected-access - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/densityplot.py b/arviz/plots/backends/bokeh/densityplot.py deleted file mode 100644 index 4f8e78b0e5..0000000000 --- a/arviz/plots/backends/bokeh/densityplot.py +++ /dev/null @@ -1,239 +0,0 @@ -"""Bokeh Densityplot.""" - -from collections import defaultdict -from itertools import cycle - -import matplotlib.pyplot as plt -import numpy as np -from bokeh.models.annotations import Legend, Title - -from ....stats import hdi -from ....stats.density_utils import get_bins, histogram, kde -from ...plot_utils import _scale_fig_size, calculate_point_estimate, vectorized_to_hex -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_density( - ax, - all_labels, - to_plot, - colors, - bw, - circular, - figsize, - length_plotters, - rows, - cols, - textsize, - labeller, - hdi_prob, - point_estimate, - hdi_markers, - outline, - shade, - n_data, - data_labels, - backend_kwargs, - show, -): - """Bokeh density plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - if colors == "cycle": - colors = [ - prop - for _, prop in zip( - range(n_data), cycle(plt.rcParams["axes.prop_cycle"].by_key()["color"]) - ) - ] - elif isinstance(colors, str): - colors = [colors for _ in range(n_data)] - colors = vectorized_to_hex(colors) - - (figsize, _, _, _, line_width, markersize) = _scale_fig_size(figsize, textsize, rows, cols) - - if ax is None: - ax = create_axes_grid( - length_plotters, - rows, - cols, - figsize=figsize, - squeeze=False, - backend_kwargs=backend_kwargs, - ) - else: - ax = np.atleast_2d(ax) - - axis_map = dict(zip(all_labels, (item for item in ax.flatten() if item is not None))) - - if data_labels is None: - data_labels = {} - - legend_items = defaultdict(list) - for m_idx, plotters in enumerate(to_plot): - for var_name, selection, isel, values in plotters: - label = labeller.make_label_vert(var_name, selection, isel) - - data_label = data_labels[m_idx] if data_labels else None - - plotted = _d_helper( - values.flatten(), - label, - colors[m_idx], - bw, - circular, - line_width, - markersize, - hdi_prob, - point_estimate, - hdi_markers, - outline, - shade, - axis_map[label], - ) - if data_label is not None: - legend_items[axis_map[label]].append((data_label, plotted)) - - for ax1, legend in legend_items.items(): - legend = Legend( - items=legend, - location="center_right", - orientation="horizontal", - ) - ax1.add_layout(legend, "above") - ax1.legend.click_policy = "hide" - - show_layout(ax, show) - - return ax - - -def _d_helper( - vec, - vname, - color, - bw, - circular, - line_width, - markersize, - hdi_prob, - point_estimate, - hdi_markers, - outline, - shade, - ax, -): - extra = {} - plotted = [] - - if vec.dtype.kind == "f": - if hdi_prob != 1: - hdi_ = hdi(vec, hdi_prob, multimodal=False) - new_vec = vec[(vec >= hdi_[0]) & (vec <= hdi_[1])] - else: - new_vec = vec - - x, density = kde(new_vec, circular=circular, bw=bw) - density *= hdi_prob - xmin, xmax = x[0], x[-1] - ymin, ymax = density[0], density[-1] - - if outline: - plotted.append(ax.line(x, density, line_color=color, line_width=line_width, **extra)) - plotted.append( - ax.line( - [xmin, xmin], - [-ymin / 100, ymin], - line_color=color, - line_dash="solid", - line_width=line_width, - muted_color=color, - muted_alpha=0.2, - ) - ) - plotted.append( - ax.line( - [xmax, xmax], - [-ymax / 100, ymax], - line_color=color, - line_dash="solid", - line_width=line_width, - muted_color=color, - muted_alpha=0.2, - ) - ) - - if shade: - plotted.append( - ax.patch( - np.r_[x[::-1], x, x[-1:]], - np.r_[np.zeros_like(x), density, [0]], - fill_color=color, - fill_alpha=shade, - muted_color=color, - muted_alpha=0.2, - **extra - ) - ) - - else: - xmin, xmax = hdi(vec, hdi_prob, multimodal=False) - bins = get_bins(vec) - - _, hist, edges = histogram(vec, bins=bins) - - if outline: - plotted.append( - ax.quad( - top=hist, - bottom=0, - left=edges[:-1], - right=edges[1:], - line_color=color, - fill_color=None, - muted_color=color, - muted_alpha=0.2, - **extra - ) - ) - else: - plotted.append( - ax.quad( - top=hist, - bottom=0, - left=edges[:-1], - right=edges[1:], - line_color=color, - fill_color=color, - fill_alpha=shade, - muted_color=color, - muted_alpha=0.2, - **extra - ) - ) - - if hdi_markers: - plotted.append(ax.diamond(xmin, 0, line_color="black", fill_color=color, size=markersize)) - plotted.append(ax.diamond(xmax, 0, line_color="black", fill_color=color, size=markersize)) - - if point_estimate is not None: - est = calculate_point_estimate(point_estimate, vec, bw, circular) - plotted.append( - ax.scatter( - est, 0, marker="circle", fill_color=color, line_color="black", size=markersize - ) - ) - - _title = Title() - _title.text = vname - ax.title = _title - ax.title.text_font_size = "13pt" - - return plotted diff --git a/arviz/plots/backends/bokeh/distcomparisonplot.py b/arviz/plots/backends/bokeh/distcomparisonplot.py deleted file mode 100644 index 38d5bcdc58..0000000000 --- a/arviz/plots/backends/bokeh/distcomparisonplot.py +++ /dev/null @@ -1,23 +0,0 @@ -"""Bokeh Density Comparison plot.""" - - -def plot_dist_comparison( - ax, - nvars, - ngroups, - figsize, - dc_plotters, - legend, - groups, - textsize, - labeller, - prior_kwargs, - posterior_kwargs, - observed_kwargs, - backend_kwargs, - show, -): - """Bokeh Density Comparison plot.""" - raise NotImplementedError( - "The bokeh backend is still under development. Use matplotlib backend." - ) diff --git a/arviz/plots/backends/bokeh/distplot.py b/arviz/plots/backends/bokeh/distplot.py deleted file mode 100644 index 00ec9d9e1e..0000000000 --- a/arviz/plots/backends/bokeh/distplot.py +++ /dev/null @@ -1,183 +0,0 @@ -"""Bokeh Distplot.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ....stats.density_utils import get_bins, histogram -from ...kdeplot import plot_kde -from ...plot_utils import ( - _scale_fig_size, - set_bokeh_circular_ticks_labels, - vectorized_to_hex, - _init_kwargs_dict, -) -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_dist( - values, - values2, - color, - kind, - cumulative, - label, - rotated, - rug, - bw, - quantiles, - contour, - fill_last, - figsize, - textsize, - plot_kwargs, - fill_kwargs, - rug_kwargs, - contour_kwargs, - contourf_kwargs, - pcolormesh_kwargs, - hist_kwargs, - is_circular, - ax, - backend_kwargs, - show, -): - """Bokeh distplot.""" - backend_kwargs = _init_kwargs_dict(backend_kwargs) - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, *_ = _scale_fig_size(figsize, textsize) - - color = vectorized_to_hex(color) - - hist_kwargs = _init_kwargs_dict(hist_kwargs) - if kind == "hist": - hist_kwargs.setdefault("cumulative", cumulative) - hist_kwargs.setdefault("fill_color", color) - hist_kwargs.setdefault("line_color", color) - hist_kwargs.setdefault("line_alpha", 0) - if label is not None: - hist_kwargs.setdefault("legend_label", str(label)) - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - polar=is_circular, - backend_kwargs=backend_kwargs, - ) - - if kind == "auto": - kind = "hist" if values.dtype.kind == "i" else "kde" - - if kind == "hist": - _histplot_bokeh_op( - values=values, - values2=values2, - rotated=rotated, - ax=ax, - hist_kwargs=hist_kwargs, - is_circular=is_circular, - ) - elif kind == "kde": - plot_kwargs = _init_kwargs_dict(plot_kwargs) - if color is None: - color = plt.rcParams["axes.prop_cycle"].by_key()["color"][0] - plot_kwargs.setdefault("line_color", color) - legend = label is not None - - plot_kde( - values, - values2, - cumulative=cumulative, - rug=rug, - label=label, - bw=bw, - is_circular=is_circular, - quantiles=quantiles, - rotated=rotated, - contour=contour, - legend=legend, - fill_last=fill_last, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - contour_kwargs=contour_kwargs, - contourf_kwargs=contourf_kwargs, - pcolormesh_kwargs=pcolormesh_kwargs, - ax=ax, - backend="bokeh", - backend_kwargs={}, - show=False, - ) - else: - raise TypeError(f'Invalid "kind":{kind}. Select from {{"auto","kde","hist"}}') - - show_layout(ax, show) - - return ax - - -def _histplot_bokeh_op(values, values2, rotated, ax, hist_kwargs, is_circular): - """Add a histogram for the data to the axes.""" - if values2 is not None: - raise NotImplementedError("Insert hexbin plot here") - - color = hist_kwargs.pop("color", False) - if color: - hist_kwargs["fill_color"] = color - hist_kwargs["line_color"] = color - - bins = hist_kwargs.pop("bins", None) - if bins is None: - bins = get_bins(values) - hist, hist_dens, edges = histogram(np.asarray(values).flatten(), bins=bins) - if hist_kwargs.pop("density", True): - hist = hist_dens - if hist_kwargs.pop("cumulative", False): - hist = np.cumsum(hist) - hist /= hist[-1] - if values.dtype.kind == "i": - edges = edges.astype(float) - 0.5 - - if is_circular: - if is_circular == "degrees": - edges = np.deg2rad(edges) - labels = ["0°", "45°", "90°", "135°", "180°", "225°", "270°", "315°"] - else: - labels = [ - r"0", - r"π/4", - r"π/2", - r"3π/4", - r"π", - r"5π/4", - r"3π/2", - r"7π/4", - ] - - delta = np.mean(np.diff(edges) / 2) - - ax.annular_wedge( - x=0, - y=0, - inner_radius=0, - outer_radius=hist, - start_angle=edges[1:] - delta, - end_angle=edges[:-1] - delta, - direction="clock", - **hist_kwargs, - ) - - ax = set_bokeh_circular_ticks_labels(ax, hist, labels) - elif rotated: - ax.quad(top=edges[:-1], bottom=edges[1:], left=0, right=hist, **hist_kwargs) - else: - ax.quad(top=hist, bottom=0, left=edges[:-1], right=edges[1:], **hist_kwargs) - - return ax diff --git a/arviz/plots/backends/bokeh/dotplot.py b/arviz/plots/backends/bokeh/dotplot.py deleted file mode 100644 index 327f17776c..0000000000 --- a/arviz/plots/backends/bokeh/dotplot.py +++ /dev/null @@ -1,113 +0,0 @@ -"""Bokeh dotplot.""" - -import math -import warnings -import numpy as np - -from ...plot_utils import _scale_fig_size, vectorized_to_hex -from .. import show_layout -from . import create_axes_grid -from ...plot_utils import plot_point_interval -from ...dotplot import wilkinson_algorithm, layout_stacks - - -def plot_dot( - values, - binwidth, - dotsize, - stackratio, - hdi_prob, - quartiles, - rotated, - dotcolor, - intervalcolor, - markersize, - markercolor, - marker, - figsize, - linewidth, - point_estimate, - nquantiles, - point_interval, - ax, - show, - backend_kwargs, - plot_kwargs, -): - """Bokeh dotplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs.setdefault("match_aspect", True) - - (figsize, _, _, _, auto_linewidth, auto_markersize) = _scale_fig_size(figsize, None) - dotcolor = vectorized_to_hex(dotcolor) - intervalcolor = vectorized_to_hex(intervalcolor) - markercolor = vectorized_to_hex(markercolor) - - if plot_kwargs is None: - plot_kwargs = {} - else: - plot_kwargs = plot_kwargs.copy() - plot_kwargs.setdefault("color", dotcolor) - plot_kwargs.setdefault("marker", "circle") - - if linewidth is None: - linewidth = auto_linewidth - - if markersize is None: - markersize = auto_markersize - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - if point_interval: - ax = plot_point_interval( - ax, - values, - point_estimate, - hdi_prob, - quartiles, - linewidth, - markersize, - markercolor, - marker, - rotated, - intervalcolor, - "bokeh", - ) - - if nquantiles > values.shape[0]: - warnings.warn( - "nquantiles must be less than or equal to the number of data points", UserWarning - ) - nquantiles = values.shape[0] - else: - qlist = np.linspace(1 / (2 * nquantiles), 1 - 1 / (2 * nquantiles), nquantiles) - values = np.quantile(values, qlist) - - if binwidth is None: - binwidth = math.sqrt((values[-1] - values[0] + 1) ** 2 / (2 * nquantiles * np.pi)) - - ## Wilkinson's Algorithm - stack_locs, stack_count = wilkinson_algorithm(values, binwidth) - x, y = layout_stacks(stack_locs, stack_count, binwidth, stackratio, rotated) - - ax.scatter(x, y, radius=dotsize * (binwidth / 2), **plot_kwargs, radius_dimension="y") - if rotated: - ax.xaxis.major_tick_line_color = None - ax.xaxis.minor_tick_line_color = None - ax.xaxis.major_label_text_font_size = "0pt" - else: - ax.yaxis.major_tick_line_color = None - ax.yaxis.minor_tick_line_color = None - ax.yaxis.major_label_text_font_size = "0pt" - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/ecdfplot.py b/arviz/plots/backends/bokeh/ecdfplot.py deleted file mode 100644 index 6df3413efa..0000000000 --- a/arviz/plots/backends/bokeh/ecdfplot.py +++ /dev/null @@ -1,73 +0,0 @@ -"""Bokeh ecdfplot.""" - -from matplotlib.colors import to_hex - -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_ecdf( - x_coord, - y_coord, - x_bands, - lower, - higher, - plot_kwargs, - fill_kwargs, - plot_outline_kwargs, - figsize, - fill_band, - ax, - show, - backend_kwargs, -): - """Bokeh ecdfplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, *_) = _scale_fig_size(figsize, None) - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - if plot_kwargs is None: - plot_kwargs = {} - - plot_kwargs.setdefault("mode", "after") - - if fill_band: - if fill_kwargs is None: - fill_kwargs = {} - fill_kwargs.setdefault("fill_color", to_hex("C0")) - fill_kwargs.setdefault("fill_alpha", 0.2) - else: - if plot_outline_kwargs is None: - plot_outline_kwargs = {} - plot_outline_kwargs.setdefault("color", to_hex("C0")) - plot_outline_kwargs.setdefault("alpha", 0.2) - - if x_bands is not None: - ax.step(x_coord, y_coord, **plot_kwargs) - - if fill_band: - ax.varea(x_bands, lower, higher, **fill_kwargs) - else: - ax.line(x_bands, lower, **plot_outline_kwargs) - ax.line(x_bands, higher, **plot_outline_kwargs) - else: - ax.step(x_coord, y_coord, **plot_kwargs) - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/elpdplot.py b/arviz/plots/backends/bokeh/elpdplot.py deleted file mode 100644 index fd6484be13..0000000000 --- a/arviz/plots/backends/bokeh/elpdplot.py +++ /dev/null @@ -1,203 +0,0 @@ -"""Bokeh ELPDPlot.""" - -import warnings - -import bokeh.plotting as bkp -import numpy as np -from bokeh.models import ColumnDataSource -from bokeh.models.annotations import Title -from bokeh.models.glyphs import Scatter -from ....rcparams import _validate_bokeh_marker, rcParams -from ...plot_utils import _scale_fig_size, color_from_dim, vectorized_to_hex -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_elpd( - ax, - models, - pointwise_data, - numvars, - figsize, - textsize, - plot_kwargs, - xlabels, - coord_labels, - xdata, - threshold, - legend, # pylint: disable=unused-argument - color, - backend_kwargs, - show, -): - """Bokeh elpd plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - - plot_kwargs = {} if plot_kwargs is None else plot_kwargs - plot_kwargs.setdefault("marker", rcParams["plot.bokeh.marker"]) - if isinstance(color, str) and color in pointwise_data[0].dims: - colors, _ = color_from_dim(pointwise_data[0], color) - plot_kwargs.setdefault("color", vectorized_to_hex(colors)) - plot_kwargs.setdefault("color", vectorized_to_hex(color)) - - # flatten data (data must be flattened after selecting, labeling and coloring) - pointwise_data = [pointwise.values.flatten() for pointwise in pointwise_data] - - if numvars == 2: - (figsize, _, _, _, _, markersize) = _scale_fig_size( - figsize, textsize, numvars - 1, numvars - 1 - ) - plot_kwargs.setdefault("s", markersize) - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - ydata = pointwise_data[0] - pointwise_data[1] - _plot_atomic_elpd( - ax, xdata, ydata, *models, threshold, coord_labels, xlabels, True, True, plot_kwargs - ) - - else: - max_plots = ( - numvars**2 if rcParams["plot.max_subplots"] is None else rcParams["plot.max_subplots"] - ) - vars_to_plot = np.sum(np.arange(numvars).cumsum() < max_plots) - if vars_to_plot < numvars: - warnings.warn( - "rcParams['plot.max_subplots'] ({max_plots}) is smaller than the number " - "of resulting ELPD pairwise plots with these variables, generating only a " - "{side}x{side} grid".format(max_plots=max_plots, side=vars_to_plot), - UserWarning, - ) - numvars = vars_to_plot - - (figsize, _, _, _, _, markersize) = _scale_fig_size( - figsize, textsize, numvars - 2, numvars - 2 - ) - plot_kwargs.setdefault("s", markersize) - - if ax is None: - dpi = backend_kwargs.pop("dpi") - ax = [] - for row in range(numvars - 1): - ax_row = [] - for col in range(numvars - 1): - if row == 0 and col == 0: - ax_first = bkp.figure( - width=int(figsize[0] / (numvars - 1) * dpi), - height=int(figsize[1] / (numvars - 1) * dpi), - **backend_kwargs, - ) - ax_row.append(ax_first) - elif row < col: - ax_row.append(None) - else: - ax_row.append( - bkp.figure( - width=int(figsize[0] / (numvars - 1) * dpi), - height=int(figsize[1] / (numvars - 1) * dpi), - x_range=ax_first.x_range, - y_range=ax_first.y_range, - **backend_kwargs, - ) - ) - ax.append(ax_row) - ax = np.array(ax) - - for i in range(0, numvars - 1): - var1 = pointwise_data[i] - - for j in range(0, numvars - 1): - if j < i: - continue - - var2 = pointwise_data[j + 1] - ydata = var1 - var2 - _plot_atomic_elpd( - ax[j, i], - xdata, - ydata, - models[i], - models[j + 1], - threshold, - coord_labels, - xlabels, - j == numvars - 2, - i == 0, - plot_kwargs, - ) - - show_layout(ax, show) - - return ax - - -def _plot_atomic_elpd( - ax_, - xdata, - ydata, - model1, - model2, - threshold, - coord_labels, - xlabels, - xlabels_shown, - ylabels_shown, - plot_kwargs, -): - marker = _validate_bokeh_marker(plot_kwargs.get("marker")) - sizes = np.ones(len(xdata)) * plot_kwargs.get("s") - glyph = Scatter( - x="xdata", - y="ydata", - size="sizes", - line_color=plot_kwargs.get("color", "black"), - marker=marker, - ) - source = ColumnDataSource(dict(xdata=xdata, ydata=ydata, sizes=sizes)) - ax_.add_glyph(source, glyph) - if threshold is not None: - diff_abs = np.abs(ydata - ydata.mean()) - bool_ary = diff_abs > threshold * ydata.std() - if coord_labels is None: - coord_labels = xdata.astype(str) - outliers = np.nonzero(bool_ary)[0] - for outlier in outliers: - label = coord_labels[outlier] - ax_.text( - x=[outlier], - y=[ydata[outlier]], - text=label, - text_color="black", - ) - if ylabels_shown: - ax_.yaxis.axis_label = "ELPD difference" - else: - ax_.yaxis.minor_tick_line_color = None - ax_.yaxis.major_label_text_font_size = "0pt" - - if xlabels_shown: - if xlabels: - ax_.xaxis.ticker = np.arange(0, len(coord_labels)) - ax_.xaxis.major_label_overrides = { - str(key): str(value) - for key, value in zip(np.arange(0, len(coord_labels)), list(coord_labels)) - } - else: - ax_.xaxis.minor_tick_line_color = None - ax_.xaxis.major_label_text_font_size = "0pt" - title = Title() - title.text = f"{model1} - {model2}" - ax_.title = title diff --git a/arviz/plots/backends/bokeh/energyplot.py b/arviz/plots/backends/bokeh/energyplot.py deleted file mode 100644 index 6e24b2f493..0000000000 --- a/arviz/plots/backends/bokeh/energyplot.py +++ /dev/null @@ -1,155 +0,0 @@ -"""Bokeh energyplot.""" - -from itertools import cycle - -import numpy as np -from bokeh.models import Label -from bokeh.models.annotations import Legend -from matplotlib.pyplot import rcParams as mpl_rcParams - -from ....stats import bfmi as e_bfmi -from ...kdeplot import plot_kde -from ...plot_utils import _scale_fig_size, vectorized_to_hex -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid -from .distplot import _histplot_bokeh_op - - -def plot_energy( - ax, - energy, - kind, - bfmi, - figsize, - textsize, - fill_alpha, - fill_color, - fill_kwargs, - plot_kwargs, - bw, - legend, - backend_kwargs, - show, -): - """Bokeh energy plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(("dpi", "plot.bokeh.figure.dpi")), - **backend_kwargs, - } - dpi = backend_kwargs.pop("dpi") - - figsize, _, _, _, line_width, _ = _scale_fig_size(figsize, textsize, 1, 1) - - fill_kwargs = {} if fill_kwargs is None else fill_kwargs - plot_kwargs = {} if plot_kwargs is None else plot_kwargs - plot_kwargs.setdefault("line_width", line_width) - if kind == "hist": - legend = False - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - _colors = [ - prop for _, prop in zip(range(10), cycle(mpl_rcParams["axes.prop_cycle"].by_key()["color"])) - ] - if (fill_color[0].startswith("C") and len(fill_color[0]) == 2) and ( - fill_color[1].startswith("C") and len(fill_color[1]) == 2 - ): - fill_color = tuple((_colors[int(color[1:]) % 10] for color in fill_color)) - elif fill_color[0].startswith("C") and len(fill_color[0]) == 2: - fill_color = tuple([_colors[int(fill_color[0][1:]) % 10]] + list(fill_color[1:])) - elif fill_color[1].startswith("C") and len(fill_color[1]) == 2: - fill_color = tuple(list(fill_color[1:]) + [_colors[int(fill_color[0][1:]) % 10]]) - - series = zip( - fill_alpha, - fill_color, - ("Marginal Energy", "Energy transition"), - (energy - energy.mean(), np.diff(energy)), - ) - - labels = [] - - if kind == "kde": - for alpha, color, label, value in series: - fill_kwargs["fill_alpha"] = alpha - fill_kwargs["fill_color"] = vectorized_to_hex(color) - plot_kwargs["line_alpha"] = alpha - plot_kwargs["line_color"] = vectorized_to_hex(color) - _, glyph = plot_kde( - value, - bw=bw, - label=label, - fill_kwargs=fill_kwargs, - plot_kwargs=plot_kwargs, - ax=ax, - legend=legend, - backend="bokeh", - backend_kwargs={}, - show=False, - return_glyph=True, - ) - labels.append( - ( - label, - glyph, - ) - ) - - elif kind == "hist": - hist_kwargs = plot_kwargs.copy() - hist_kwargs.update(**fill_kwargs) - - for alpha, color, label, value in series: - hist_kwargs["fill_alpha"] = alpha - hist_kwargs["fill_color"] = vectorized_to_hex(color) - hist_kwargs["line_color"] = None - hist_kwargs["line_alpha"] = alpha - _histplot_bokeh_op( - value.flatten(), - values2=None, - rotated=False, - ax=ax, - hist_kwargs=hist_kwargs, - is_circular=False, - ) - - else: - raise ValueError(f"Plot type {kind} not recognized.") - - if bfmi: - for idx, val in enumerate(e_bfmi(energy)): - bfmi_info = Label( - x=int(figsize[0] * dpi * 0.58), - y=int(figsize[1] * dpi * 0.73) - 20 * idx, - x_units="screen", - y_units="screen", - text=f"chain {idx:>2} BFMI = {val:.2f}", - border_line_color=None, - border_line_alpha=0.0, - background_fill_color="white", - background_fill_alpha=1.0, - ) - - ax.add_layout(bfmi_info) - - if legend and label is not None: - legend = Legend( - items=labels, - location="center_right", - orientation="horizontal", - ) - ax.add_layout(legend, "above") - ax.legend.click_policy = "hide" - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/essplot.py b/arviz/plots/backends/bokeh/essplot.py deleted file mode 100644 index 617e309f47..0000000000 --- a/arviz/plots/backends/bokeh/essplot.py +++ /dev/null @@ -1,176 +0,0 @@ -# pylint: disable=all -"""Bokeh ESS plots.""" -import numpy as np -from bokeh.models import ColumnDataSource, Span -from bokeh.models.annotations import Legend, Title -from scipy.stats import rankdata - -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid -from ...plot_utils import _scale_fig_size -from bokeh.models.glyphs import Scatter - - -def plot_ess( - ax, - plotters, - xdata, - ess_tail_dataset, - mean_ess, - sd_ess, - idata, - data, - kind, - extra_methods, - textsize, - rows, - cols, - figsize, - kwargs, - extra_kwargs, - text_kwargs, - n_samples, - relative, - min_ess, - labeller, - ylabel, - rug, - rug_kind, - rug_kwargs, - hline_kwargs, - backend_kwargs, - show, -): - """Bokeh essplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, *_, _linewidth, _markersize) = _scale_fig_size(figsize, textsize, rows, cols) - - if hline_kwargs is None: - hline_kwargs = {} - hline_kwargs.setdefault("line_color", "red") - hline_kwargs.setdefault("line_width", 3) - hline_kwargs.setdefault("line_dash", "dashed") - hline_kwargs.setdefault("line_alpha", 1) - - if ax is None: - ax = create_axes_grid( - len(plotters), - rows, - cols, - figsize=figsize, - backend_kwargs=backend_kwargs, - ) - else: - ax = np.atleast_2d(ax) - - for (var_name, selection, isel, x), ax_ in zip( - plotters, (item for item in ax.flatten() if item is not None) - ): - bulk_points = ax_.scatter(np.asarray(xdata), np.asarray(x), marker="circle", size=6) - if kind == "evolution": - bulk_line = ax_.line(np.asarray(xdata), np.asarray(x)) - ess_tail = ess_tail_dataset[var_name].sel(**selection) - tail_points = ax_.line(np.asarray(xdata), np.asarray(ess_tail), color="orange") - tail_line = ax_.scatter( - np.asarray(xdata), np.asarray(ess_tail), marker="circle", size=6, color="orange" - ) - elif rug: - if rug_kwargs is None: - rug_kwargs = {} - if not hasattr(idata, "sample_stats"): - raise ValueError("InferenceData object must contain sample_stats for rug plot") - if not hasattr(idata.sample_stats, rug_kind): - raise ValueError(f"InferenceData does not contain {rug_kind} data") - - rug_kwargs.setdefault("space", 0.1) - _rug_kwargs = {} - _rug_kwargs.setdefault("size", 8) - _rug_kwargs.setdefault("line_color", rug_kwargs.get("line_color", "black")) - _rug_kwargs.setdefault("line_width", 1) - _rug_kwargs.setdefault("line_alpha", 0.35) - _rug_kwargs.setdefault("angle", np.pi / 2) - - values = data[var_name].sel(**selection).values.flatten() - mask = idata.sample_stats[rug_kind].values.flatten() - values = rankdata(values, method="average")[mask] - rug_space = np.max(x) * rug_kwargs.pop("space") - rug_x, rug_y = values / (len(mask) - 1), np.zeros_like(values) - rug_space - - glyph = Scatter(x="rug_x", y="rug_y", marker="dash", **_rug_kwargs) - cds_rug = ColumnDataSource({"rug_x": np.asarray(rug_x), "rug_y": np.asarray(rug_y)}) - ax_.add_glyph(cds_rug, glyph) - - hline = Span( - location=0, - dimension="width", - line_color="black", - line_width=_linewidth, - line_alpha=0.7, - ) - - ax_.renderers.append(hline) - - if extra_methods: - mean_ess_i = mean_ess[var_name].sel(**selection).values.item() - sd_ess_i = sd_ess[var_name].sel(**selection).values.item() - - hline = Span( - location=mean_ess_i, - dimension="width", - line_color="black", - line_width=2, - line_dash="dashed", - line_alpha=1.0, - ) - - ax_.renderers.append(hline) - - hline = Span( - location=sd_ess_i, - dimension="width", - line_color="black", - line_width=1, - line_dash="dashed", - line_alpha=1.0, - ) - - ax_.renderers.append(hline) - - if relative and kind == "evolution": - thin_xdata = np.linspace(xdata.min(), xdata.max(), 100) - ax_.line(thin_xdata, min_ess / thin_xdata, **hline_kwargs) - else: - hline = Span( - location=min_ess / n_samples if relative else min_ess, - dimension="width", - **hline_kwargs, - ) - - ax_.renderers.append(hline) - - if kind == "evolution": - legend = Legend( - items=[("bulk", [bulk_points, bulk_line]), ("tail", [tail_line, tail_points])], - location="center_right", - orientation="horizontal", - ) - ax_.add_layout(legend, "above") - ax_.legend.click_policy = "hide" - - title = Title() - title.text = labeller.make_label_vert(var_name, selection, isel) - ax_.title = title - - ax_.xaxis.axis_label = "Total number of draws" if kind == "evolution" else "Quantile" - ax_.yaxis.axis_label = ylabel.format("Relative ESS" if relative else "ESS") - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/forestplot.py b/arviz/plots/backends/bokeh/forestplot.py deleted file mode 100644 index c6a52fb55c..0000000000 --- a/arviz/plots/backends/bokeh/forestplot.py +++ /dev/null @@ -1,772 +0,0 @@ -# pylint: disable=all -"""Bokeh forestplot.""" -from collections import OrderedDict, defaultdict -from itertools import cycle, tee - -import bokeh.plotting as bkp -import matplotlib.pyplot as plt -import numpy as np -from bokeh.models import Band, ColumnDataSource, DataRange1d -from bokeh.models.annotations import Title, Legend -from bokeh.models.tickers import FixedTicker - -from ....sel_utils import xarray_var_iter -from ....rcparams import rcParams -from ....stats import hdi -from ....stats.density_utils import get_bins, histogram, kde -from ....stats.diagnostics import _ess, _rhat -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults - - -def pairwise(iterable): - """From itertools cookbook. [a, b, c, ...] -> (a, b), (b, c), ...""" - first, second = tee(iterable) - next(second, None) - return zip(first, second) - - -def plot_forest( - ax, - datasets, - var_names, - model_names, - combined, - combine_dims, - colors, - figsize, - width_ratios, - linewidth, - markersize, - kind, - ncols, - hdi_prob, - quartiles, - rope, - ridgeplot_overlap, - ridgeplot_alpha, - ridgeplot_kind, - ridgeplot_truncate, - ridgeplot_quantiles, - textsize, - legend, - labeller, - ess, - r_hat, - backend_config, - backend_kwargs, - show, -): - """Bokeh forest plot.""" - plot_handler = PlotHandler( - datasets, - var_names=var_names, - model_names=model_names, - combined=combined, - combine_dims=combine_dims, - colors=colors, - labeller=labeller, - ) - - if figsize is None: - if kind == "ridgeplot": - figsize = (min(14, sum(width_ratios) * 3), plot_handler.fig_height() * 3) - else: - figsize = (min(12, sum(width_ratios) * 2), plot_handler.fig_height()) - - (figsize, _, _, _, auto_linewidth, auto_markersize) = _scale_fig_size(figsize, textsize, 1.1, 1) - - if linewidth is None: - linewidth = auto_linewidth - - if markersize is None: - markersize = auto_markersize - - if backend_config is None: - backend_config = {} - - backend_config = { - **backend_kwarg_defaults( - ("bounds_x_range", "plot.bokeh.bounds_x_range"), - ("bounds_y_range", "plot.bokeh.bounds_y_range"), - ), - **backend_config, - } - - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - dpi = backend_kwargs.pop("dpi") - - if ax is None: - axes = [] - - for i, width_r in zip(range(ncols), width_ratios): - backend_kwargs_i = backend_kwargs.copy() - backend_kwargs_i.setdefault("height", int(figsize[1] * dpi)) - backend_kwargs_i.setdefault( - "width", int(figsize[0] * (width_r / sum(width_ratios)) * dpi * 1.25) - ) - ax = bkp.figure( - **backend_kwargs_i, - ) - if i == 0: - backend_kwargs.setdefault("y_range", ax.y_range) - axes.append(ax) - else: - axes = ax - - axes = np.atleast_2d(axes) - - plotted = defaultdict(list) - - if kind == "forestplot": - plot_handler.forestplot( - hdi_prob, - quartiles, - linewidth, - markersize, - axes[0, 0], - rope, - plotted, - ) - elif kind == "ridgeplot": - plot_handler.ridgeplot( - hdi_prob, - ridgeplot_overlap, - linewidth, - markersize, - ridgeplot_alpha, - ridgeplot_kind, - ridgeplot_truncate, - ridgeplot_quantiles, - axes[0, 0], - plotted, - ) - else: - raise TypeError( - f"Argument 'kind' must be one of 'forestplot' or 'ridgeplot' (you provided {kind})" - ) - - idx = 1 - if ess: - plotted_ess = defaultdict(list) - plot_handler.plot_neff(axes[0, idx], markersize, plotted_ess) - if legend: - plot_handler.legend(axes[0, idx], plotted_ess) - idx += 1 - - if r_hat: - plotted_r_hat = defaultdict(list) - plot_handler.plot_rhat(axes[0, idx], markersize, plotted_r_hat) - if legend: - plot_handler.legend(axes[0, idx], plotted_r_hat) - idx += 1 - - all_plotters = list(plot_handler.plotters.values()) - y_max = plot_handler.y_max() - all_plotters[-1].group_offset - if kind == "ridgeplot": # space at the top - y_max += ridgeplot_overlap - - for i, ax_ in enumerate(axes.ravel()): - if kind == "ridgeplot": - ax_.xgrid.grid_line_color = None - ax_.ygrid.grid_line_color = None - else: - ax_.ygrid.grid_line_color = None - - if i != 0: - ax_.yaxis.visible = False - - ax_.outline_line_color = None - ax_.x_range = DataRange1d(bounds=backend_config["bounds_x_range"], min_interval=1) - ax_.y_range = DataRange1d(bounds=backend_config["bounds_y_range"], min_interval=2) - - ax_.y_range._property_values["start"] = -all_plotters[ # pylint: disable=protected-access - 0 - ].group_offset - ax_.y_range._property_values["end"] = y_max # pylint: disable=protected-access - - labels, ticks = plot_handler.labels_and_ticks() - ticks = [int(tick) if (tick).is_integer() else tick for tick in ticks] - - axes[0, 0].yaxis.ticker = FixedTicker(ticks=ticks) - axes[0, 0].yaxis.major_label_overrides = dict(zip(map(str, ticks), map(str, labels))) - - if legend: - plot_handler.legend(axes[0, 0], plotted) - show_layout(axes, show) - - return axes - - -class PlotHandler: - """Class to handle logic from ForestPlot.""" - - # pylint: disable=inconsistent-return-statements - - def __init__(self, datasets, var_names, model_names, combined, combine_dims, colors, labeller): - self.data = datasets - - if model_names is None: - if len(self.data) > 1: - model_names = [f"Model {idx}" for idx, _ in enumerate(self.data)] - else: - model_names = [""] - elif len(model_names) != len(self.data): - raise ValueError("The number of model names does not match the number of models") - - self.model_names = list(reversed(model_names)) # y-values are upside down - - if var_names is None: - if len(self.data) > 1: - self.var_names = list( - set().union(*[OrderedDict(datum.data_vars) for datum in self.data]) - ) - else: - self.var_names = list( - reversed(*[OrderedDict(datum.data_vars) for datum in self.data]) - ) - else: - self.var_names = list(reversed(var_names)) # y-values are upside down - - self.combined = combined - self.combine_dims = combine_dims - - if colors == "cycle": - colors = [ - prop - for _, prop in zip( - range(len(self.data)), cycle(plt.rcParams["axes.prop_cycle"].by_key()["color"]) - ) - ] - elif isinstance(colors, str): - colors = [colors for _ in self.data] - - self.colors = list(reversed(colors)) # y-values are upside down - self.labeller = labeller - - self.plotters = self.make_plotters() - - def make_plotters(self): - """Initialize an object for each variable to be plotted.""" - plotters, y = {}, 0 - for var_name in self.var_names: - plotters[var_name] = VarHandler( - var_name, - self.data, - y, - model_names=self.model_names, - combined=self.combined, - combine_dims=self.combine_dims, - colors=self.colors, - labeller=self.labeller, - ) - y = plotters[var_name].y_max() - return plotters - - def labels_and_ticks(self): - """Collect labels and ticks from plotters.""" - val = self.plotters.values() - - def label_idxs(): - labels, idxs = [], [] - for plotter in val: - sub_labels, sub_idxs, _, _, _ = plotter.labels_ticks_and_vals() - labels_to_idxs = defaultdict(list) - for label, idx in zip(sub_labels, sub_idxs): - labels_to_idxs[label].append(idx) - sub_idxs = [] - sub_labels = [] - for label, all_idx in labels_to_idxs.items(): - sub_labels.append(label) - sub_idxs.append(np.mean([j for j in all_idx])) - labels.append(sub_labels) - idxs.append(sub_idxs) - return np.concatenate(labels), np.concatenate(idxs) - - return label_idxs() - - def legend(self, ax, plotted): - """Add interactive legend with colorcoded model info.""" - legend_it = [] - for model_name, glyphs in plotted.items(): - legend_it.append((model_name, glyphs)) - - legend = Legend(items=legend_it, orientation="vertical", location="top_left") - ax.add_layout(legend, "above") - ax.legend.click_policy = "hide" - - def display_multiple_ropes( - self, rope, ax, y, linewidth, var_name, selection, plotted, model_name - ): - """Display ROPE when more than one interval is provided.""" - for sel in rope.get(var_name, []): - # pylint: disable=line-too-long - if all(k in selection and selection[k] == v for k, v in sel.items() if k != "rope"): - vals = sel["rope"] - plotted[model_name].append( - ax.line( - vals, - (y + 0.05, y + 0.05), - line_width=linewidth * 2, - color=[ - color - for _, color in zip( - range(3), cycle(plt.rcParams["axes.prop_cycle"].by_key()["color"]) - ) - ][2], - line_alpha=0.7, - ) - ) - return ax - - def ridgeplot( - self, - hdi_prob, - mult, - linewidth, - markersize, - alpha, - ridgeplot_kind, - ridgeplot_truncate, - ridgeplot_quantiles, - ax, - plotted, - ): - """Draw ridgeplot for each plotter. - - Parameters - ---------- - hdi_prob : float - Probability for the highest density interval. - mult : float - How much to multiply height by. Set this to greater than 1 to have some overlap. - linewidth : float - Width of line on border of ridges - markersize : float - Size of marker in center of forestplot line - alpha : float - Transparency of ridges - ridgeplot_kind : string - By default ("auto") continuous variables are plotted using KDEs and discrete ones using - histograms. To override this use "hist" to plot histograms and "density" for KDEs - ridgeplot_truncate: bool - Whether to truncate densities according to the value of hdi_prop. Defaults to True - ridgeplot_quantiles: list - Quantiles in ascending order used to segment the KDE. Use [.25, .5, .75] for quartiles. - Defaults to None. - ax : Axes - Axes to draw on - plotted : dict - Contains glyphs for each model - """ - if alpha is None: - alpha = 1.0 - for plotter in list(self.plotters.values())[::-1]: - for x, y_min, y_max, hdi_, y_q, color, model_name in plotter.ridgeplot( - hdi_prob, mult, ridgeplot_kind - ): - if alpha == 0: - border = color - facecolor = None - else: - border = "black" - facecolor = color - if x.dtype.kind == "i": - if ridgeplot_truncate: - y_max = y_max[(x >= hdi_[0]) & (x <= hdi_[1])] - x = x[(x >= hdi_[0]) & (x <= hdi_[1])] - else: - facecolor = color - alpha = [alpha if ci else 0 for ci in ((x >= hdi_[0]) & (x <= hdi_[1]))] - y_min = np.ones_like(x) * y_min - plotted[model_name].append( - ax.vbar( - x=x, - top=y_max - y_min, - bottom=y_min, - width=0.9, - line_color=border, - color=facecolor, - fill_alpha=alpha, - ) - ) - else: - tr_x = x[(x >= hdi_[0]) & (x <= hdi_[1])] - tr_y_min = np.ones_like(tr_x) * y_min - tr_y_max = y_max[(x >= hdi_[0]) & (x <= hdi_[1])] - y_min = np.ones_like(x) * y_min - patch = ax.patch( - np.concatenate([tr_x, tr_x[::-1]]), - np.concatenate([tr_y_min, tr_y_max[::-1]]), - fill_color=color, - fill_alpha=alpha, - line_width=0, - ) - patch.level = "overlay" - plotted[model_name].append(patch) - if ridgeplot_truncate: - plotted[model_name].append( - ax.line( - x, y_max, line_dash="solid", line_width=linewidth, line_color=border - ) - ) - plotted[model_name].append( - ax.line( - x, y_min, line_dash="solid", line_width=linewidth, line_color=border - ) - ) - else: - plotted[model_name].append( - ax.line( - tr_x, - tr_y_max, - line_dash="solid", - line_width=linewidth, - line_color=border, - ) - ) - plotted[model_name].append( - ax.line( - tr_x, - tr_y_min, - line_dash="solid", - line_width=linewidth, - line_color=border, - ) - ) - if ridgeplot_quantiles is not None: - quantiles = [x[np.sum(y_q < quant)] for quant in ridgeplot_quantiles] - plotted[model_name].append( - ax.diamond( - quantiles, - np.ones_like(quantiles) * y_min[0], - line_color="black", - fill_color="black", - size=markersize, - ) - ) - - return ax - - def forestplot(self, hdi_prob, quartiles, linewidth, markersize, ax, rope, plotted): - """Draw forestplot for each plotter. - - Parameters - ---------- - hdi_prob : float - Probability for the highest density interval. Width of each line. - quartiles : bool - Whether to mark quartiles - linewidth : float - Width of forestplot line - markersize : float - Size of marker in center of forestplot line - ax : Axes - Axes to draw on - plotted : dict - Contains glyphs for each model - """ - if rope is None or isinstance(rope, dict): - pass - elif len(rope) == 2: - cds = ColumnDataSource( - { - "x": rope, - "lower": [-2 * self.y_max(), -2 * self.y_max()], - "upper": [self.y_max() * 2, self.y_max() * 2], - } - ) - - band = Band( - base="x", - lower="lower", - upper="upper", - fill_color=[ - color - for _, color in zip( - range(4), cycle(plt.rcParams["axes.prop_cycle"].by_key()["color"]) - ) - ][2], - line_alpha=0.5, - source=cds, - ) - - ax.renderers.append(band) - else: - raise ValueError( - "Argument `rope` must be None, a dictionary like" - '{"var_name": {"rope": (lo, hi)}}, or an ' - "iterable of length 2" - ) - # Quantiles to be calculated - endpoint = 100 * (1 - hdi_prob) / 2 - if quartiles: - qlist = [endpoint, 25, 50, 75, 100 - endpoint] - else: - qlist = [endpoint, 50, 100 - endpoint] - - for plotter in self.plotters.values(): - for y, model_name, selection, values, color in plotter.treeplot(qlist, hdi_prob): - if isinstance(rope, dict): - self.display_multiple_ropes( - rope, ax, y, linewidth, plotter.var_name, selection, plotted, model_name - ) - - mid = len(values) // 2 - param_iter = zip( - np.linspace(2 * linewidth, linewidth, mid, endpoint=True)[-1::-1], range(mid) - ) - for width, j in param_iter: - plotted[model_name].append( - ax.line( - [values[j], values[-(j + 1)]], - [y, y], - line_width=width, - line_color=color, - ) - ) - plotted[model_name].append( - ax.scatter( - x=values[mid], - y=y, - marker="circle", - size=markersize * 0.75, - fill_color=color, - ) - ) - _title = Title() - _title.text = f"{hdi_prob:.1%} HDI" - ax.title = _title - - return ax - - def plot_neff(self, ax, markersize, plotted): - """Draw effective n for each plotter.""" - max_ess = 0 - for plotter in self.plotters.values(): - for y, ess, color, model_name in plotter.ess(): - if ess is not None: - plotted[model_name].append( - ax.scatter( - x=ess, - y=y, - marker="circle", - fill_color=color, - size=markersize, - line_color="black", - ) - ) - if ess > max_ess: - max_ess = ess - ax.x_range._property_values["start"] = 0 # pylint: disable=protected-access - ax.x_range._property_values["end"] = 1.07 * max_ess # pylint: disable=protected-access - - _title = Title() - _title.text = "ess" - ax.title = _title - - ax.xaxis[0].ticker.desired_num_ticks = 3 - - return ax - - def plot_rhat(self, ax, markersize, plotted): - """Draw r-hat for each plotter.""" - for plotter in self.plotters.values(): - for y, r_hat, color, model_name in plotter.r_hat(): - if r_hat is not None: - plotted[model_name].append( - ax.scatter( - x=r_hat, - y=y, - marker="circle", - fill_color=color, - size=markersize, - line_color="black", - ) - ) - ax.x_range._property_values["start"] = 0.9 # pylint: disable=protected-access - ax.x_range._property_values["end"] = 2.1 # pylint: disable=protected-access - - _title = Title() - _title.text = "r_hat" - ax.title = _title - - ax.xaxis[0].ticker.desired_num_ticks = 3 - - return ax - - def fig_height(self): - """Figure out the height of this plot.""" - # hand-tuned - return ( - 4 - + len(self.data) * len(self.var_names) - - 1 - + 0.1 * sum(1 for j in self.plotters.values() for _ in j.iterator()) - ) - - def y_max(self): - """Get maximum y value for the plot.""" - return max(p.y_max() for p in self.plotters.values()) - - -class VarHandler: - """Handle individual variable logic.""" - - def __init__( - self, var_name, data, y_start, model_names, combined, combine_dims, colors, labeller - ): - self.var_name = var_name - self.data = data - self.y_start = y_start - self.model_names = model_names - self.combined = combined - self.combine_dims = combine_dims - self.colors = colors - self.labeller = labeller - self.model_color = dict(zip(self.model_names, self.colors)) - max_chains = max(datum.chain.max().values for datum in data) - self.chain_offset = len(data) * 0.45 / max(1, max_chains) - self.var_offset = 1.5 * self.chain_offset - self.group_offset = 2 * self.var_offset - - def iterator(self): - """Iterate over models and chains for each variable.""" - if self.combined: - grouped_data = [[(0, datum)] for datum in self.data] - skip_dims = self.combine_dims.union({"chain"}) - else: - grouped_data = [datum.groupby("chain", squeeze=False) for datum in self.data] - skip_dims = self.combine_dims - - label_dict = OrderedDict() - selection_list = [] - for name, grouped_datum in zip(self.model_names, grouped_data): - for _, sub_data in grouped_datum: - datum_iter = xarray_var_iter( - sub_data.squeeze(), - var_names=[self.var_name], - skip_dims=skip_dims, - reverse_selections=True, - ) - datum_list = list(datum_iter) - for _, selection, isel, values in datum_list: - selection_list.append(selection) - if not selection or not len(selection_list) % len(datum_list): - var_name = self.var_name - else: - var_name = "" - label = self.labeller.make_label_flat(var_name, selection, isel) - if label not in label_dict: - label_dict[label] = OrderedDict() - if name not in label_dict[label]: - label_dict[label][name] = [] - label_dict[label][name].append(values) - - y = self.y_start - for idx, (label, model_data) in enumerate(label_dict.items()): - for model_name, value_list in model_data.items(): - row_label = self.labeller.make_model_label(model_name, label) - for values in value_list: - yield y, row_label, model_name, label, selection_list[ - idx - ], values, self.model_color[model_name] - y += self.chain_offset - y += self.var_offset - y += self.group_offset - - def labels_ticks_and_vals(self): - """Get labels, ticks, values, and colors for the variable.""" - y_ticks = defaultdict(list) - for y, label, model_name, _, _, vals, color in self.iterator(): - y_ticks[label].append((y, vals, color, model_name)) - labels, ticks, vals, colors, model_names = [], [], [], [], [] - for label, all_data in y_ticks.items(): - for data in all_data: - labels.append(label) - ticks.append(data[0]) - vals.append(np.array(data[1])) - model_names.append(data[3]) - colors.append(data[2]) # the colors are all the same - return labels, ticks, vals, colors, model_names - - def treeplot(self, qlist, hdi_prob): - """Get data for each treeplot for the variable.""" - for y, _, model_name, _, selection, values, color in self.iterator(): - ntiles = np.percentile(values.flatten(), qlist) - ntiles[0], ntiles[-1] = hdi(values.flatten(), hdi_prob, multimodal=False) - yield y, model_name, selection, ntiles, color - - def ridgeplot(self, hdi_prob, mult, ridgeplot_kind): - """Get data for each ridgeplot for the variable.""" - xvals, hdi_vals, yvals, pdfs, pdfs_q, colors, model_names = [], [], [], [], [], [], [] - - for y, _, model_name, *_, values, color in self.iterator(): - yvals.append(y) - colors.append(color) - model_names.append(model_name) - values = values.flatten() - values = values[np.isfinite(values)] - - if hdi_prob != 1: - hdi_ = hdi(values, hdi_prob, multimodal=False) - else: - hdi_ = min(values), max(values) - - if ridgeplot_kind == "auto": - kind = "hist" if np.all(np.mod(values, 1) == 0) else "density" - else: - kind = ridgeplot_kind - - if kind == "hist": - bins = get_bins(values) - _, density, x = histogram(values, bins=bins) - x = x[:-1] - elif kind == "density": - x, density = kde(values) - - density_q = density.cumsum() / density.sum() - - xvals.append(x) - pdfs.append(density) - pdfs_q.append(density_q) - hdi_vals.append(hdi_) - - scaling = max(np.max(j) for j in pdfs) - for y, x, hdi_val, pdf, pdf_q, color, model_name in zip( - yvals, xvals, hdi_vals, pdfs, pdfs_q, colors, model_names - ): - yield x, y, mult * pdf / scaling + y, hdi_val, pdf_q, color, model_name - - def ess(self): - """Get effective n data for the variable.""" - _, y_vals, values, colors, model_names = self.labels_ticks_and_vals() - for y, value, color, model_name in zip(y_vals, values, colors, model_names): - yield y, _ess(value), color, model_name - - def r_hat(self): - """Get rhat data for the variable.""" - _, y_vals, values, colors, model_names = self.labels_ticks_and_vals() - for y, value, color, model_name in zip(y_vals, values, colors, model_names): - if value.ndim != 2 or value.shape[0] < 2: - yield y, None, color, model_name - else: - yield y, _rhat(value), color, model_name - - def y_max(self): - """Get max y value for the variable.""" - end_y = max(y for y, *_ in self.iterator()) - - if self.combined: - end_y += self.group_offset - - return end_y + 2 * self.group_offset diff --git a/arviz/plots/backends/bokeh/hdiplot.py b/arviz/plots/backends/bokeh/hdiplot.py deleted file mode 100644 index b3711040f0..0000000000 --- a/arviz/plots/backends/bokeh/hdiplot.py +++ /dev/null @@ -1,54 +0,0 @@ -"""Bokeh hdiplot.""" - -import numpy as np - -from ...plot_utils import _scale_fig_size, vectorized_to_hex -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_hdi(ax, x_data, y_data, color, figsize, plot_kwargs, fill_kwargs, backend_kwargs, show): - """Bokeh HDI plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - plot_kwargs = {} if plot_kwargs is None else plot_kwargs - plot_kwargs["color"] = vectorized_to_hex(plot_kwargs.get("color", color)) - plot_kwargs.setdefault("alpha", 0) - - fill_kwargs = {} if fill_kwargs is None else fill_kwargs.copy() - # Convert matplotlib color to bokeh fill_color if needed - if "color" in fill_kwargs and "fill_color" not in fill_kwargs: - fill_kwargs["fill_color"] = vectorized_to_hex(fill_kwargs.pop("color")) - else: - fill_kwargs["fill_color"] = vectorized_to_hex(fill_kwargs.get("fill_color", color)) - fill_kwargs.setdefault("fill_alpha", fill_kwargs.pop("alpha", 0.5)) - - figsize, *_ = _scale_fig_size(figsize, None) - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - plot_kwargs.setdefault("line_color", plot_kwargs.pop("color")) - plot_kwargs.setdefault("line_alpha", plot_kwargs.pop("alpha", 0)) - - ax.patch( - np.concatenate((x_data, x_data[::-1])), - np.concatenate((y_data[:, 0], y_data[:, 1][::-1])), - **fill_kwargs, - **plot_kwargs - ) - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/kdeplot.py b/arviz/plots/backends/bokeh/kdeplot.py deleted file mode 100644 index 3b89075908..0000000000 --- a/arviz/plots/backends/bokeh/kdeplot.py +++ /dev/null @@ -1,268 +0,0 @@ -# pylint: disable=c-extension-no-member -"""Bokeh KDE Plot.""" -from collections.abc import Callable -from numbers import Integral - -import numpy as np -from bokeh.models import ColumnDataSource -from bokeh.models.glyphs import Scatter -from matplotlib import colormaps -from matplotlib.colors import rgb2hex -from matplotlib.pyplot import rcParams as mpl_rcParams - -from ...plot_utils import _scale_fig_size, _init_kwargs_dict -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_kde( - density, - lower, - upper, - density_q, - xmin, - xmax, - ymin, - ymax, - gridsize, - values, - values2, - rug, - label, # pylint: disable=unused-argument - quantiles, - rotated, - contour, - fill_last, - figsize, - textsize, # pylint: disable=unused-argument - plot_kwargs, - fill_kwargs, - rug_kwargs, - contour_kwargs, - contourf_kwargs, - pcolormesh_kwargs, - is_circular, # pylint: disable=unused-argument - ax, - legend, # pylint: disable=unused-argument - backend_kwargs, - show, - return_glyph, -): - """Bokeh kde plot.""" - backend_kwargs = _init_kwargs_dict(backend_kwargs) - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, *_ = _scale_fig_size(figsize, textsize) - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - glyphs = [] - if values2 is None: - plot_kwargs = _init_kwargs_dict(plot_kwargs) - plot_kwargs.setdefault("line_color", mpl_rcParams["axes.prop_cycle"].by_key()["color"][0]) - - fill_kwargs = _init_kwargs_dict(fill_kwargs) - fill_kwargs.setdefault("fill_color", mpl_rcParams["axes.prop_cycle"].by_key()["color"][0]) - - if rug: - rug_kwargs = _init_kwargs_dict(rug_kwargs) - - if "cds" in rug_kwargs: - cds_rug = rug_kwargs.pop("cds") - rug_varname = rug_kwargs.pop("y", "y") - else: - rug_varname = "y" - cds_rug = ColumnDataSource({rug_varname: np.asarray(values)}) - - rug_kwargs.setdefault("size", 8) - rug_kwargs.setdefault("line_color", plot_kwargs["line_color"]) - rug_kwargs.setdefault("line_width", 1) - rug_kwargs.setdefault("line_alpha", 0.35) - if not rotated: - rug_kwargs.setdefault("angle", np.pi / 2) - if isinstance(cds_rug, dict): - for _cds_rug in cds_rug.values(): - if not rotated: - glyph = Scatter(x=rug_varname, y=0.0, marker="dash", **rug_kwargs) - else: - glyph = Scatter(x=0.0, y=rug_varname, marker="dash", **rug_kwargs) - ax.add_glyph(_cds_rug, glyph) - else: - if not rotated: - glyph = Scatter(x=rug_varname, y=0.0, marker="dash", **rug_kwargs) - else: - glyph = Scatter(x=0.0, y=rug_varname, marker="dash", **rug_kwargs) - ax.add_glyph(cds_rug, glyph) - glyphs.append(glyph) - - x = np.linspace(lower, upper, len(density)) - - if quantiles is not None: - fill_kwargs.setdefault("fill_alpha", 0.75) - fill_kwargs.setdefault("line_color", None) - - quantiles = sorted(np.clip(quantiles, 0, 1)) - if quantiles[0] != 0: - quantiles = [0] + quantiles - if quantiles[-1] != 1: - quantiles = quantiles + [1] - - for quant_0, quant_1 in zip(quantiles[:-1], quantiles[1:]): - idx = (density_q > quant_0) & (density_q < quant_1) - if idx.sum(): - patch_x = np.concatenate((x[idx], [x[idx][-1]], x[idx][::-1], [x[idx][0]])) - patch_y = np.concatenate( - (np.zeros_like(density[idx]), [density[idx][-1]], density[idx][::-1], [0]) - ) - if not rotated: - patch = ax.patch(patch_x, patch_y, **fill_kwargs) - else: - patch = ax.patch(patch_y, patch_x, **fill_kwargs) - glyphs.append(patch) - else: - if fill_kwargs.get("fill_alpha", False): - patch_x = np.concatenate((x, [x[-1]], x[::-1], [x[0]])) - patch_y = np.concatenate( - (np.zeros_like(density), [density[-1]], density[::-1], [0]) - ) - if not rotated: - patch = ax.patch(patch_x, patch_y, **fill_kwargs) - else: - patch = ax.patch(patch_y, patch_x, **fill_kwargs) - glyphs.append(patch) - - if label is not None: - plot_kwargs.setdefault("legend_label", label) - if not rotated: - line = ax.line(x, density, **plot_kwargs) - else: - line = ax.line(density, x, **plot_kwargs) - glyphs.append(line) - - else: - try: - import contourpy - except ImportError as err: - raise ImportError( - "'bokeh' kde contour plots needs ContourPy installed (pip install countourpy)." - ) from err - - contour_kwargs = _init_kwargs_dict(contour_kwargs) - contourf_kwargs = _init_kwargs_dict(contourf_kwargs) - pcolormesh_kwargs = _init_kwargs_dict(pcolormesh_kwargs) - - g_s = complex(gridsize[0]) - x_x, y_y = np.mgrid[xmin:xmax:g_s, ymin:ymax:g_s] - - if contour: - scaled_density, *scaled_density_args = _scale_axis(density) - - contourpy_kwargs = _init_kwargs_dict(contour_kwargs.pop("contourpy_kwargs", {})) - contourpy_kwargs.setdefault("name", "serial") - contour_generator = contourpy.contour_generator( - x=x_x, y=y_y, z=scaled_density, **contourpy_kwargs - ) - - levels = 9 - if "levels" in contourf_kwargs: - levels = contourf_kwargs.pop("levels") - if "levels" in contour_kwargs: - levels = contour_kwargs.pop("levels") - - if isinstance(levels, Integral): - levels_scaled = np.linspace(0, 1, levels + 2) - levels = _rescale_axis(levels_scaled, scaled_density_args) - else: - levels_scaled_nonclip, *_ = _scale_axis(np.asarray(levels), scaled_density_args) - levels_scaled = np.clip(levels_scaled_nonclip, 0, 1) - - cmap = contourf_kwargs.pop("cmap", "viridis") - if isinstance(cmap, str): - cmap = colormaps[cmap] - if isinstance(cmap, Callable): - colors = [rgb2hex(item) for item in cmap(np.linspace(0, 1, len(levels_scaled) + 1))] - else: - colors = cmap - - contour_kwargs.update(contourf_kwargs) - contour_kwargs.setdefault("line_alpha", 0.25) - contour_kwargs.setdefault("fill_alpha", 1) - - for i, (level, level_upper, color) in enumerate( - zip(levels_scaled[:-1], levels_scaled[1:], colors[1:]) - ): - if not fill_last and (i == 0): - continue - contour_kwargs_ = contour_kwargs.copy() - contour_kwargs_.setdefault("line_color", color) - contour_kwargs_.setdefault("fill_color", color) - vertices, _ = contour_generator.filled(level, level_upper) - for seg in vertices: - # ax.multi_polygon would be better, but input is - # currently not suitable - # seg is 1 line that defines an area - # multi_polygon would need inner and outer edges - # as a line - patch = ax.patch(*seg.T, **contour_kwargs_) - glyphs.append(patch) - - if fill_last: - ax.background_fill_color = colors[0] - - ax.xgrid.grid_line_color = None - ax.ygrid.grid_line_color = None - - else: - cmap = pcolormesh_kwargs.pop("cmap", "viridis") - if isinstance(cmap, str): - cmap = colormaps[cmap] - if isinstance(cmap, Callable): - colors = [rgb2hex(item) for item in cmap(np.linspace(0, 1, 256))] - else: - colors = cmap - - image = ax.image( - image=[density.T], - x=xmin, - y=ymin, - dw=(xmax - xmin) / density.shape[0], - dh=(ymax - ymin) / density.shape[1], - palette=colors, - **pcolormesh_kwargs - ) - glyphs.append(image) - ax.x_range.range_padding = ax.y_range.range_padding = 0 - - show_layout(ax, show) - - if return_glyph: - return ax, glyphs - - return ax - - -def _scale_axis(arr, args=None): - if args: - amin, amax = args - else: - amin, amax = arr.min(), arr.max() - scaled_arr = arr - amin - scaled_arr /= amax - amin - return scaled_arr, amin, amax - - -def _rescale_axis(arr, args): - amin, amax = args - rescaled_arr = arr * (amax - amin) - rescaled_arr += amin - return rescaled_arr diff --git a/arviz/plots/backends/bokeh/khatplot.py b/arviz/plots/backends/bokeh/khatplot.py deleted file mode 100644 index 0635da5aec..0000000000 --- a/arviz/plots/backends/bokeh/khatplot.py +++ /dev/null @@ -1,163 +0,0 @@ -"""Bokeh pareto shape plot.""" - -from collections.abc import Iterable - -from matplotlib import cm -import matplotlib.pyplot as plt -import numpy as np -from bokeh.models import Span -from matplotlib.colors import to_rgba_array - -from ....stats.density_utils import histogram -from ...plot_utils import _scale_fig_size, color_from_dim, vectorized_to_hex -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_khat( - hover_label, # pylint: disable=unused-argument - hover_format, # pylint: disable=unused-argument - ax, - figsize, - xdata, - khats, - good_k, - kwargs, - threshold, - coord_labels, - show_hlines, - show_bins, - hlines_kwargs, - xlabels, # pylint: disable=unused-argument - legend, # pylint: disable=unused-argument - color, - dims, - textsize, - markersize, # pylint: disable=unused-argument - n_data_points, - bin_format, - backend_kwargs, - show, -): - """Bokeh khat plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - - (figsize, *_, line_width, _) = _scale_fig_size(figsize, textsize) - - if hlines_kwargs is None: - hlines_kwargs = {} - - if good_k is None: - good_k = 0.7 - - hlines_kwargs.setdefault("hlines", [0, good_k, 1]) - - cmap = None - if isinstance(color, str): - if color in dims: - colors, _ = color_from_dim(khats, color) - cmap_name = kwargs.get("cmap", plt.rcParams["image.cmap"]) - cmap = getattr(cm, cmap_name) - rgba_c = cmap(colors) - else: - legend = False - rgba_c = to_rgba_array(np.full(n_data_points, color)) - else: - legend = False - try: - rgba_c = to_rgba_array(color) - except ValueError: - cmap_name = kwargs.get("cmap", plt.rcParams["image.cmap"]) - cmap = getattr(cm, cmap_name) - rgba_c = cmap(color) - - khats = khats if isinstance(khats, np.ndarray) else khats.values.flatten() - alphas = 0.5 + 0.2 * (khats > good_k) + 0.3 * (khats > 1) - - rgba_c = vectorized_to_hex(rgba_c) - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - if not isinstance(rgba_c, str) and isinstance(rgba_c, Iterable): - for idx, (alpha, rgba_c_) in enumerate(zip(alphas, rgba_c)): - ax.scatter( - xdata[idx], - khats[idx], - marker="cross", - line_color=rgba_c_, - fill_color=rgba_c_, - line_alpha=alpha, - fill_alpha=alpha, - size=10, - ) - else: - ax.scatter( - xdata, - khats, - marker="cross", - line_color=rgba_c, - fill_color=rgba_c, - size=10, - line_alpha=alphas, - fill_alpha=alphas, - ) - - if threshold is not None: - idxs = xdata[khats > threshold] - for idx in idxs: - ax.text(x=[idx], y=[khats[idx]], text=[coord_labels[idx]]) - - if show_hlines: - for hline in hlines_kwargs.pop("hlines"): - _hline = Span( - location=hline, - dimension="width", - line_color="grey", - line_width=line_width, - line_dash="dashed", - ) - ax.renderers.append(_hline) - - ymin = min(khats) - ymax = max(khats) - xmax = len(khats) - - if show_bins: - bin_edges = np.array([ymin, good_k, 1, ymax]) - bin_edges = bin_edges[(bin_edges >= ymin) & (bin_edges <= ymax)] - hist, _, _ = histogram(khats, bin_edges) - for idx, count in enumerate(hist): - ax.text( - x=[(n_data_points - 1 + xmax) / 2], - y=[np.mean(bin_edges[idx : idx + 2])], - text=[bin_format.format(count, count / n_data_points * 100)], - ) - ax.x_range._property_values["end"] = xmax + 1 # pylint: disable=protected-access - - ax.xaxis.axis_label = "Data Point" - ax.yaxis.axis_label = "Shape parameter k" - - if ymin > 0: - ax.y_range._property_values["start"] = -0.02 # pylint: disable=protected-access - if ymax < 1: - ax.y_range._property_values["end"] = 1.02 # pylint: disable=protected-access - elif ymax > 1 & threshold: - ax.y_range._property_values["end"] = 1.1 * ymax # pylint: disable=protected-access - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/lmplot.py b/arviz/plots/backends/bokeh/lmplot.py deleted file mode 100644 index 8c9d2ee653..0000000000 --- a/arviz/plots/backends/bokeh/lmplot.py +++ /dev/null @@ -1,185 +0,0 @@ -"""Bokeh linear regression plot.""" - -import numpy as np -from bokeh.models.annotations import Legend - -from ...hdiplot import plot_hdi - -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_lm( - x, - y, - y_model, - y_hat, - num_samples, - kind_pp, - kind_model, - length_plotters, - xjitter, - rows, - cols, - y_kwargs, - y_hat_plot_kwargs, - y_hat_fill_kwargs, - y_model_plot_kwargs, - y_model_fill_kwargs, - y_model_mean_kwargs, - backend_kwargs, - show, - figsize, - textsize, - axes, - legend, - grid, # pylint: disable=unused-argument -): - """Bokeh linreg plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, *_ = _scale_fig_size(figsize, textsize, rows, cols) - if axes is None: - axes = create_axes_grid(length_plotters, rows, cols, backend_kwargs=backend_kwargs) - - if y_kwargs is None: - y_kwargs = {} - else: - y_kwargs = y_kwargs.copy() - y_kwargs.setdefault("marker", "circle") - y_kwargs.setdefault("fill_color", "red") - y_kwargs.setdefault("line_width", 0) - y_kwargs.setdefault("size", 3) - - if y_hat_plot_kwargs is None: - y_hat_plot_kwargs = {} - else: - y_hat_plot_kwargs = y_hat_plot_kwargs.copy() - y_hat_plot_kwargs.setdefault("marker", "circle") - y_hat_plot_kwargs.setdefault("fill_color", "orange") - y_hat_plot_kwargs.setdefault("line_width", 0) - - if y_hat_fill_kwargs is None: - y_hat_fill_kwargs = {} - else: - y_hat_fill_kwargs = y_hat_fill_kwargs.copy() - # Convert matplotlib color to bokeh fill_color if needed - if "color" in y_hat_fill_kwargs and "fill_color" not in y_hat_fill_kwargs: - y_hat_fill_kwargs["fill_color"] = y_hat_fill_kwargs.pop("color") - y_hat_fill_kwargs.setdefault("fill_color", "orange") - y_hat_fill_kwargs.setdefault("fill_alpha", 0.5) - - if y_model_plot_kwargs is None: - y_model_plot_kwargs = {} - y_model_plot_kwargs.setdefault("line_color", "black") - y_model_plot_kwargs.setdefault("line_alpha", 0.5) - y_model_plot_kwargs.setdefault("line_width", 0.5) - - if y_model_fill_kwargs is None: - y_model_fill_kwargs = {} - else: - y_model_fill_kwargs = y_model_fill_kwargs.copy() - # Convert matplotlib color to bokeh fill_color if needed - if "color" in y_model_fill_kwargs and "fill_color" not in y_model_fill_kwargs: - y_model_fill_kwargs["fill_color"] = y_model_fill_kwargs.pop("color") - y_model_fill_kwargs.setdefault("fill_color", "black") - y_model_fill_kwargs.setdefault("fill_alpha", 0.5) - - if y_model_mean_kwargs is None: - y_model_mean_kwargs = {} - y_model_mean_kwargs.setdefault("line_color", "yellow") - y_model_mean_kwargs.setdefault("line_width", 2) - - for i, ax_i in enumerate((item for item in axes.flatten() if item is not None)): - _, _, _, y_plotters = y[i] - _, _, _, x_plotters = x[i] - legend_it = [] - observed_legend = ax_i.scatter(x_plotters, y_plotters, **y_kwargs) - legend_it.append(("Observed", [observed_legend])) - - if y_hat is not None: - _, _, _, y_hat_plotters = y_hat[i] - if kind_pp == "samples": - posterior_legend = [] - for j in range(num_samples): - if xjitter is True: - jitter_scale = x_plotters[1] - x_plotters[0] - scale_high = jitter_scale * 0.2 - x_plotters_jitter = x_plotters + np.random.uniform( - low=-scale_high, high=scale_high, size=len(x_plotters) - ) - posterior_circle = ax_i.scatter( - x_plotters_jitter, - y_hat_plotters[..., j], - alpha=0.2, - **y_hat_plot_kwargs, - ) - else: - posterior_circle = ax_i.scatter( - x_plotters, y_hat_plotters[..., j], alpha=0.2, **y_hat_plot_kwargs - ) - posterior_legend.append(posterior_circle) - legend_it.append(("Posterior predictive samples", posterior_legend)) - - else: - plot_hdi( - x_plotters, - y_hat_plotters, - ax=ax_i, - backend="bokeh", - fill_kwargs=y_hat_fill_kwargs, - show=False, - ) - - if y_model is not None: - _, _, _, y_model_plotters = y_model[i] - if kind_model == "lines": - model_legend = ax_i.multi_line( - [np.tile(np.array(x_plotters, dtype=object), (num_samples, 1))], - [np.transpose(y_model_plotters)], - **y_model_plot_kwargs, - ) - legend_it.append(("Uncertainty in mean", [model_legend])) - - y_model_mean = np.mean(y_model_plotters, axis=1) - else: - plot_hdi( - x_plotters, - y_model_plotters, - fill_kwargs=y_model_fill_kwargs, - ax=ax_i, - backend="bokeh", - show=False, - ) - - y_model_mean = np.mean(y_model_plotters, axis=(0, 1)) - # Plot mean line across all x values instead of just edges - mean_legend = ax_i.line(x_plotters, y_model_mean, **y_model_mean_kwargs) - legend_it.append(("Mean", [mean_legend])) - continue # Skip the edge plotting since we plotted full line - - x_plotters_edge = [min(x_plotters), max(x_plotters)] - y_model_mean_edge = [min(y_model_mean), max(y_model_mean)] - mean_legend = ax_i.line(x_plotters_edge, y_model_mean_edge, **y_model_mean_kwargs) - legend_it.append(("Mean", [mean_legend])) - - if legend: - legend = Legend( - items=legend_it, - location="top_left", - orientation="vertical", - ) - ax_i.add_layout(legend) - if textsize is not None: - ax_i.legend.label_text_font_size = f"{textsize}pt" - ax_i.legend.click_policy = "hide" - - show_layout(axes, show) - return axes diff --git a/arviz/plots/backends/bokeh/loopitplot.py b/arviz/plots/backends/bokeh/loopitplot.py deleted file mode 100644 index 0884e04d48..0000000000 --- a/arviz/plots/backends/bokeh/loopitplot.py +++ /dev/null @@ -1,211 +0,0 @@ -"""Bokeh loopitplot.""" - -import numpy as np -from bokeh.models import BoxAnnotation -from matplotlib.colors import hsv_to_rgb, rgb_to_hsv, to_hex, to_rgb -from xarray import DataArray - -from ....stats.density_utils import kde -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_loo_pit( - ax, - figsize, - ecdf, - loo_pit, - loo_pit_ecdf, - unif_ecdf, - p975, - p025, - fill_kwargs, - ecdf_fill, - use_hdi, - x_vals, - hdi_kwargs, - hdi_odds, - n_unif, - unif, - plot_unif_kwargs, - loo_pit_kde, - legend, # pylint: disable=unused-argument - y_hat, - y, - color, - textsize, - labeller, - hdi_prob, - plot_kwargs, - backend_kwargs, - show, -): - """Bokeh loo pit plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, *_, linewidth, _) = _scale_fig_size(figsize, textsize, 1, 1) - - if ax is None: - backend_kwargs.setdefault("x_range", (0, 1)) - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - plot_kwargs = {} if plot_kwargs is None else plot_kwargs - plot_kwargs.setdefault("color", to_hex(color)) - plot_kwargs.setdefault("linewidth", linewidth * 1.4) - if isinstance(y, str): - xlabel = y - elif isinstance(y, DataArray) and y.name is not None: - xlabel = y.name - elif isinstance(y_hat, str): - xlabel = y_hat - elif isinstance(y_hat, DataArray) and y_hat.name is not None: - xlabel = y_hat.name - else: - xlabel = "" - label = "LOO-PIT ECDF" if ecdf else "LOO-PIT" - xlabel = labeller.var_name_to_str(xlabel) - - plot_kwargs.setdefault("legend_label", label) - - plot_unif_kwargs = {} if plot_unif_kwargs is None else plot_unif_kwargs - light_color = rgb_to_hsv(to_rgb(plot_kwargs.get("color"))) - light_color[1] /= 2 # pylint: disable=unsupported-assignment-operation - light_color[2] += (1 - light_color[2]) / 2 # pylint: disable=unsupported-assignment-operation - plot_unif_kwargs.setdefault("color", to_hex(hsv_to_rgb(light_color))) - plot_unif_kwargs.setdefault("alpha", 0.5) - plot_unif_kwargs.setdefault("linewidth", 0.6 * linewidth) - - if ecdf: - n_data_points = loo_pit.size - plot_kwargs.setdefault("drawstyle", "steps-mid" if n_data_points < 100 else "default") - plot_unif_kwargs.setdefault("drawstyle", "steps-mid" if n_data_points < 100 else "default") - - if ecdf_fill: - if fill_kwargs is None: - fill_kwargs = {} - fill_kwargs.setdefault("color", to_hex(hsv_to_rgb(light_color))) - fill_kwargs.setdefault("alpha", 0.5) - fill_kwargs.setdefault( - "step", "mid" if plot_kwargs["drawstyle"] == "steps-mid" else None - ) - fill_kwargs.setdefault("legend_label", f"{hdi_prob * 100:.3g}% credible interval") - elif use_hdi: - if hdi_kwargs is None: - hdi_kwargs = {} - hdi_kwargs.setdefault("color", to_hex(hsv_to_rgb(light_color))) - hdi_kwargs.setdefault("alpha", 0.35) - - if ecdf: - if plot_kwargs.get("drawstyle") == "steps-mid": - ax.step( - np.hstack((0, loo_pit, 1)), - np.hstack((0, loo_pit - loo_pit_ecdf, 0)), - line_color=plot_kwargs.get("color", "black"), - line_alpha=plot_kwargs.get("alpha", 1.0), - line_width=plot_kwargs.get("linewidth", 3.0), - mode="center", - ) - else: - ax.line( - np.hstack((0, loo_pit, 1)), - np.hstack((0, loo_pit - loo_pit_ecdf, 0)), - line_color=plot_kwargs.get("color", "black"), - line_alpha=plot_kwargs.get("alpha", 1.0), - line_width=plot_kwargs.get("linewidth", 3.0), - ) - - if ecdf_fill: - if ( - fill_kwargs.get("drawstyle") == "steps-mid" - or fill_kwargs.get("drawstyle") != "steps-mid" - ): - # use step patch when you find out how to do that - ax.patch( - np.concatenate((unif_ecdf, unif_ecdf[::-1])), - np.concatenate((p975 - unif_ecdf, (p025 - unif_ecdf)[::-1])), - fill_color=fill_kwargs.get("color"), - fill_alpha=fill_kwargs.get("alpha", 1.0), - ) - elif fill_kwargs is not None and fill_kwargs.get("drawstyle") == "steps-mid": - ax.step( - unif_ecdf, - p975 - unif_ecdf, - line_color=plot_unif_kwargs.get("color", "black"), - line_alpha=plot_unif_kwargs.get("alpha", 1.0), - line_width=plot_kwargs.get("linewidth", 1.0), - mode="center", - ) - ax.step( - unif_ecdf, - p025 - unif_ecdf, - line_color=plot_unif_kwargs.get("color", "black"), - line_alpha=plot_unif_kwargs.get("alpha", 1.0), - line_width=plot_unif_kwargs.get("linewidth", 1.0), - mode="center", - ) - else: - ax.line( - unif_ecdf, - p975 - unif_ecdf, - line_color=plot_unif_kwargs.get("color", "black"), - line_alpha=plot_unif_kwargs.get("alpha", 1.0), - line_width=plot_unif_kwargs.get("linewidth", 1.0), - ) - ax.line( - unif_ecdf, - p025 - unif_ecdf, - line_color=plot_unif_kwargs.get("color", "black"), - line_alpha=plot_unif_kwargs.get("alpha", 1.0), - line_width=plot_unif_kwargs.get("linewidth", 1.0), - ) - else: - if use_hdi: - patch = BoxAnnotation( - bottom=hdi_odds[1], - top=hdi_odds[0], - fill_alpha=hdi_kwargs.pop("alpha"), - fill_color=hdi_kwargs.pop("color"), - **hdi_kwargs, - ) - patch.level = "underlay" - ax.add_layout(patch) - - # Adds horizontal reference line - ax.line([0, 1], [1, 1], line_color="white", line_width=1.5) - else: - for idx in range(n_unif): - x_s, unif_density = kde(unif[idx, :]) - ax.line( - x_s, - unif_density, - line_color=plot_unif_kwargs.get("color", "black"), - line_alpha=plot_unif_kwargs.get("alpha", 0.1), - line_width=plot_unif_kwargs.get("linewidth", 1.0), - ) - ax.line( - x_vals, - loo_pit_kde, - line_color=plot_kwargs.get("color", "black"), - line_alpha=plot_kwargs.get("alpha", 1.0), - line_width=plot_kwargs.get("linewidth", 3.0), - ) - - # Sets xlim(0, 1) - ax.xaxis.axis_label = xlabel - ax.line(0, 0) - ax.line(1, 0) - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/mcseplot.py b/arviz/plots/backends/bokeh/mcseplot.py deleted file mode 100644 index 549bab4769..0000000000 --- a/arviz/plots/backends/bokeh/mcseplot.py +++ /dev/null @@ -1,184 +0,0 @@ -"""Bokeh mcseplot.""" - -import numpy as np -from bokeh.models import ColumnDataSource, Span -from bokeh.models.glyphs import Scatter -from bokeh.models.annotations import Title -from scipy.stats import rankdata - -from ....stats.stats_utils import quantile as _quantile -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_mcse( - ax, - plotters, - length_plotters, - rows, - cols, - figsize, - errorbar, - rug, - data, - probs, - kwargs, # pylint: disable=unused-argument - extra_methods, - mean_mcse, - sd_mcse, - textsize, - labeller, - text_kwargs, # pylint: disable=unused-argument - rug_kwargs, - extra_kwargs, - idata, - rug_kind, - backend_kwargs, - show, -): - """Bokeh mcse plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, *_, _linewidth, _markersize) = _scale_fig_size(figsize, textsize, rows, cols) - - extra_kwargs = {} if extra_kwargs is None else extra_kwargs - extra_kwargs.setdefault("linewidth", _linewidth / 2) - extra_kwargs.setdefault("color", "black") - extra_kwargs.setdefault("alpha", 0.5) - - if ax is None: - ax = create_axes_grid( - length_plotters, - rows, - cols, - figsize=figsize, - backend_kwargs=backend_kwargs, - ) - else: - ax = np.atleast_2d(ax) - - for (var_name, selection, isel, x), ax_ in zip( - plotters, (item for item in ax.flatten() if item is not None) - ): - if errorbar or rug: - values = data[var_name].sel(**selection).values.flatten() - if errorbar: - quantile_values = _quantile(values, probs) - ax_.scatter(probs, quantile_values, marker="dash") - ax_.multi_line( - list(zip(probs, probs)), - [(quant - err, quant + err) for quant, err in zip(quantile_values, x)], - ) - else: - ax_.scatter(probs, x, marker="circle") - if extra_methods: - mean_mcse_i = mean_mcse[var_name].sel(**selection).values.item() - sd_mcse_i = sd_mcse[var_name].sel(**selection).values.item() - hline_mean = Span( - location=mean_mcse_i, - dimension="width", - line_color=extra_kwargs["color"], - line_width=extra_kwargs["linewidth"] * 2, - line_alpha=extra_kwargs["alpha"], - ) - - ax_.renderers.append(hline_mean) - - hline_sd = Span( - location=sd_mcse_i, - dimension="width", - line_color="black", - line_width=extra_kwargs["linewidth"], - line_alpha=extra_kwargs["alpha"], - ) - - ax_.renderers.append(hline_sd) - - if rug: - if rug_kwargs is None: - rug_kwargs = {} - if not hasattr(idata, "sample_stats"): - raise ValueError("InferenceData object must contain sample_stats for rug plot") - if not hasattr(idata.sample_stats, rug_kind): - raise ValueError(f"InferenceData does not contain {rug_kind} data") - rug_kwargs.setdefault("space", 0.1) - - _rug_kwargs = {} - _rug_kwargs.setdefault("size", 8) - _rug_kwargs.setdefault("line_color", rug_kwargs.get("line_color", "black")) - _rug_kwargs.setdefault("line_width", 1) - _rug_kwargs.setdefault("line_alpha", 0.35) - _rug_kwargs.setdefault("angle", np.pi / 2) - - mask = idata.sample_stats[rug_kind].values.flatten() - values = rankdata(values, method="average")[mask] - if errorbar: - rug_x, rug_y = ( - values / (len(mask) - 1), - np.full_like( - values, - min( - 0, - min(quantile_values) - - (max(quantile_values) - min(quantile_values)) * 0.05, - ), - ), - ) - - hline = Span( - location=min( - 0, - min(quantile_values) - (max(quantile_values) - min(quantile_values)) * 0.05, - ), - dimension="width", - line_color="black", - line_width=_linewidth, - line_alpha=0.7, - ) - - else: - rug_x, rug_y = ( - values / (len(mask) - 1), - np.full_like( - values, - 0, - ), - ) - - hline = Span( - location=0, - dimension="width", - line_color="black", - line_width=_linewidth, - line_alpha=0.7, - ) - - ax_.renderers.append(hline) - - glyph = Scatter(x="rug_x", y="rug_y", marker="dash", **_rug_kwargs) - cds_rug = ColumnDataSource({"rug_x": np.asarray(rug_x), "rug_y": np.asarray(rug_y)}) - ax_.add_glyph(cds_rug, glyph) - - title = Title() - title.text = labeller.make_label_vert(var_name, selection, isel) - ax_.title = title - - ax_.xaxis.axis_label = "Quantile" - ax_.yaxis.axis_label = ( - r"Value $\pm$ MCSE for quantiles" if errorbar else "MCSE for quantiles" - ) - - if not errorbar: - ax_.y_range._property_values["start"] = -0.05 # pylint: disable=protected-access - ax_.y_range._property_values["end"] = 1 # pylint: disable=protected-access - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/pairplot.py b/arviz/plots/backends/bokeh/pairplot.py deleted file mode 100644 index 7359e9340a..0000000000 --- a/arviz/plots/backends/bokeh/pairplot.py +++ /dev/null @@ -1,328 +0,0 @@ -"""Bokeh pairplot.""" - -import warnings -from copy import deepcopy -from uuid import uuid4 - -import bokeh.plotting as bkp -import numpy as np -from bokeh.models import CDSView, ColumnDataSource, GroupFilter, Span - -from ....rcparams import rcParams -from ...distplot import plot_dist -from ...kdeplot import plot_kde -from ...plot_utils import ( - _scale_fig_size, - calculate_point_estimate, - vectorized_to_hex, - _init_kwargs_dict, -) -from .. import show_layout -from . import backend_kwarg_defaults - - -def plot_pair( - ax, - plotters, - numvars, - figsize, - textsize, - kind, - scatter_kwargs, # pylint: disable=unused-argument - kde_kwargs, - hexbin_kwargs, - gridsize, # pylint: disable=unused-argument - colorbar, # pylint: disable=unused-argument - divergences, - diverging_mask, - divergences_kwargs, - flat_var_names, - flat_ref_slices, - flat_var_labels, - backend_kwargs, - marginal_kwargs, - show, - marginals, - point_estimate, - point_estimate_kwargs, - point_estimate_marker_kwargs, - reference_values, - reference_values_kwargs, -): - """Bokeh pair plot.""" - backend_kwargs = _init_kwargs_dict(backend_kwargs) - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - - hexbin_kwargs = _init_kwargs_dict(hexbin_kwargs) - hexbin_kwargs.setdefault("size", 0.5) - - marginal_kwargs = _init_kwargs_dict(marginal_kwargs) - point_estimate_kwargs = _init_kwargs_dict(point_estimate_kwargs) - kde_kwargs = _init_kwargs_dict(kde_kwargs) - - if kind != "kde": - kde_kwargs.setdefault("contourf_kwargs", {}) - kde_kwargs["contourf_kwargs"].setdefault("fill_alpha", 0) - kde_kwargs.setdefault("contour_kwargs", {}) - kde_kwargs["contour_kwargs"].setdefault("line_color", "black") - kde_kwargs["contour_kwargs"].setdefault("line_alpha", 1) - - if reference_values: - difference = set(flat_var_names).difference(set(reference_values.keys())) - - if difference: - warnings.warn( - "Argument reference_values does not include reference value for: {}".format( - ", ".join(difference) - ), - UserWarning, - ) - - reference_values_kwargs = _init_kwargs_dict(reference_values_kwargs) - reference_values_kwargs.setdefault("marker", "circle") - reference_values_kwargs.setdefault("line_color", "black") - reference_values_kwargs.setdefault("fill_color", vectorized_to_hex("C2")) - reference_values_kwargs.setdefault("line_width", 1) - reference_values_kwargs.setdefault("size", 10) - - divergences_kwargs = _init_kwargs_dict(divergences_kwargs) - divergences_kwargs.setdefault("marker", "circle") - divergences_kwargs.setdefault("line_color", "black") - divergences_kwargs.setdefault("fill_color", vectorized_to_hex("C1")) - divergences_kwargs.setdefault("line_width", 1) - divergences_kwargs.setdefault("size", 10) - - dpi = backend_kwargs.pop("dpi") - max_plots = ( - numvars**2 if rcParams["plot.max_subplots"] is None else rcParams["plot.max_subplots"] - ) - vars_to_plot = np.sum(np.arange(numvars).cumsum() < max_plots) - if vars_to_plot < numvars: - warnings.warn( - "rcParams['plot.max_subplots'] ({max_plots}) is smaller than the number " - "of resulting pair plots with these variables, generating only a " - "{side}x{side} grid".format(max_plots=max_plots, side=vars_to_plot), - UserWarning, - ) - numvars = vars_to_plot - - if numvars == 2: - offset = 1 - else: - offset = 2 - (figsize, _, _, _, _, markersize) = _scale_fig_size( - figsize, textsize, numvars - offset, numvars - offset - ) - - point_estimate_marker_kwargs = _init_kwargs_dict(point_estimate_marker_kwargs) - point_estimate_marker_kwargs.setdefault("marker", "square") - point_estimate_marker_kwargs.setdefault("size", markersize) - point_estimate_marker_kwargs.setdefault("color", "black") - point_estimate_kwargs.setdefault("line_color", "black") - point_estimate_kwargs.setdefault("line_width", 2) - point_estimate_kwargs.setdefault("line_dash", "solid") - - tmp_flat_var_names = None - if len(flat_var_names) == len(list(set(flat_var_names))): - source_dict = dict(zip(flat_var_names, [list(post[-1].flatten()) for post in plotters])) - else: - tmp_flat_var_names = [f"{name}__{str(uuid4())}" for name in flat_var_names] - source_dict = dict(zip(tmp_flat_var_names, [list(post[-1].flatten()) for post in plotters])) - if divergences: - divergenve_name = f"divergences_{str(uuid4())}" - source_dict[divergenve_name] = np.array(diverging_mask).astype(bool).astype(int).astype(str) - - source = ColumnDataSource(data=source_dict) - - if divergences: - source_nondiv = CDSView(filter=GroupFilter(column_name=divergenve_name, group="0")) - source_div = CDSView(filter=GroupFilter(column_name=divergenve_name, group="1")) - - def get_width_and_height(jointplot, rotate): - """Compute subplots dimensions for two or more variables.""" - if jointplot: - if rotate: - width = int(figsize[0] / (numvars - 1) + 2 * dpi) - height = int(figsize[1] / (numvars - 1) * dpi) - else: - width = int(figsize[0] / (numvars - 1) * dpi) - height = int(figsize[1] / (numvars - 1) + 2 * dpi) - else: - width = int(figsize[0] / (numvars - 1) * dpi) - height = int(figsize[1] / (numvars - 1) * dpi) - return width, height - - if marginals: - marginals_offset = 0 - else: - marginals_offset = 1 - - if ax is None: - ax = [] - backend_kwargs.setdefault("width", int(figsize[0] / (numvars - 1) * dpi)) - backend_kwargs.setdefault("height", int(figsize[1] / (numvars - 1) * dpi)) - for row in range(numvars - marginals_offset): - row_ax = [] - var1 = ( - flat_var_names[row + marginals_offset] - if tmp_flat_var_names is None - else tmp_flat_var_names[row + marginals_offset] - ) - for col in range(numvars - marginals_offset): - var2 = ( - flat_var_names[col] if tmp_flat_var_names is None else tmp_flat_var_names[col] - ) - backend_kwargs_copy = backend_kwargs.copy() - if "scatter" in kind: - tooltips = [ - (var2, f"@{{{var2}}}"), - (var1, f"@{{{var1}}}"), - ] - backend_kwargs_copy.setdefault("tooltips", tooltips) - else: - tooltips = None - if row < col: - row_ax.append(None) - else: - jointplot = row == col and numvars == 2 and marginals - rotate = col == 1 - width, height = get_width_and_height(jointplot, rotate) - if jointplot: - ax_ = bkp.figure(width=width, height=height, tooltips=tooltips) - else: - ax_ = bkp.figure(**backend_kwargs_copy) - row_ax.append(ax_) - ax.append(row_ax) - ax = np.array(ax) - else: - assert ax.shape == (numvars - marginals_offset, numvars - marginals_offset) - - # pylint: disable=too-many-nested-blocks - for i in range(0, numvars - marginals_offset): - var1 = flat_var_names[i] if tmp_flat_var_names is None else tmp_flat_var_names[i] - - for j in range(0, numvars - marginals_offset): - var2 = ( - flat_var_names[j + marginals_offset] - if tmp_flat_var_names is None - else tmp_flat_var_names[j + marginals_offset] - ) - - if j == i and marginals: - rotate = numvars == 2 and j == 1 - var1_dist = plotters[i][-1].flatten() - plot_dist( - var1_dist, - ax=ax[j, i], - show=False, - backend="bokeh", - rotated=rotate, - **marginal_kwargs, - ) - - ax[j, i].xaxis.axis_label = flat_var_labels[i] - ax[j, i].yaxis.axis_label = flat_var_labels[j + marginals_offset] - - elif j + marginals_offset > i: - if "scatter" in kind: - if divergences: - ax[j, i].scatter( - var1, var2, marker="circle", source=source, view=source_nondiv - ) - else: - ax[j, i].scatter(var1, var2, marker="circle", source=source) - - if "kde" in kind: - var1_kde = plotters[i][-1].flatten() - var2_kde = plotters[j + marginals_offset][-1].flatten() - plot_kde( - var1_kde, - var2_kde, - ax=ax[j, i], - backend="bokeh", - backend_kwargs={}, - show=False, - **deepcopy(kde_kwargs), - ) - - if "hexbin" in kind: - var1_hexbin = plotters[i][-1].flatten() - var2_hexbin = plotters[j + marginals_offset][-1].flatten() - ax[j, i].grid.visible = False - ax[j, i].hexbin( - var1_hexbin, - var2_hexbin, - **hexbin_kwargs, - ) - - if divergences: - ax[j, i].scatter( - var1, - var2, - source=source, - view=source_div, - **divergences_kwargs, - ) - - if point_estimate: - var1_pe = plotters[i][-1].flatten() - var2_pe = plotters[j][-1].flatten() - pe_x = calculate_point_estimate(point_estimate, var1_pe) - pe_y = calculate_point_estimate(point_estimate, var2_pe) - ax[j, i].scatter(pe_x, pe_y, **point_estimate_marker_kwargs) - - ax_hline = Span( - location=pe_y, - dimension="width", - **point_estimate_kwargs, - ) - ax_vline = Span( - location=pe_x, - dimension="height", - **point_estimate_kwargs, - ) - ax[j, i].add_layout(ax_hline) - ax[j, i].add_layout(ax_vline) - - if marginals: - ax[j - 1, i].add_layout(ax_vline) - - pe_last = calculate_point_estimate(point_estimate, plotters[-1][-1]) - ax_pe_vline = Span( - location=pe_last, - dimension="height", - **point_estimate_kwargs, - ) - ax[-1, -1].add_layout(ax_pe_vline) - - if numvars == 2: - ax_pe_hline = Span( - location=pe_last, - dimension="width", - **point_estimate_kwargs, - ) - ax[-1, -1].add_layout(ax_pe_hline) - - if reference_values: - x_name = flat_var_names[j + marginals_offset] - y_name = flat_var_names[i] - if (x_name not in difference) and (y_name not in difference): - ax[j, i].scatter( - np.array(reference_values[y_name])[flat_ref_slices[i]], - np.array(reference_values[x_name])[ - flat_ref_slices[j + marginals_offset] - ], - **reference_values_kwargs, - ) - ax[j, i].xaxis.axis_label = flat_var_labels[i] - ax[j, i].yaxis.axis_label = flat_var_labels[j + marginals_offset] - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/parallelplot.py b/arviz/plots/backends/bokeh/parallelplot.py deleted file mode 100644 index a6d042b71c..0000000000 --- a/arviz/plots/backends/bokeh/parallelplot.py +++ /dev/null @@ -1,81 +0,0 @@ -"""Bokeh Parallel coordinates plot.""" - -import numpy as np -from bokeh.models import DataRange1d -from bokeh.models.tickers import FixedTicker - -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_parallel( - ax, - colornd, # pylint: disable=unused-argument - colord, # pylint: disable=unused-argument - shadend, # pylint: disable=unused-argument - diverging_mask, - posterior, - textsize, - var_names, - legend, # pylint: disable=unused-argument - figsize, - backend_kwargs, - backend_config, - show, -): - """Bokeh parallel plot.""" - if backend_config is None: - backend_config = {} - - backend_config = { - **backend_kwarg_defaults( - ("bounds_x_range", "plot.bokeh.bounds_x_range"), - ("bounds_y_range", "plot.bokeh.bounds_y_range"), - ), - **backend_config, - } - - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, *_ = _scale_fig_size(figsize, textsize, 1, 1) - - if ax is None: - ax = create_axes_grid( - 1, - figsize=figsize, - squeeze=True, - backend_kwargs=backend_kwargs, - ) - - non_div = list(posterior[:, ~diverging_mask].T) - x_non_div = [list(range(len(non_div[0]))) for _ in range(len(non_div))] - - ax.multi_line( - x_non_div, - non_div, - line_color="black", - line_alpha=0.05, - ) - - if np.any(diverging_mask): - div = list(posterior[:, diverging_mask].T) - x_non_div = [list(range(len(div[0]))) for _ in range(len(div))] - ax.multi_line(x_non_div, div, color="lime", line_width=1, line_alpha=0.5) - - ax.xaxis.ticker = FixedTicker(ticks=list(range(len(var_names)))) - ax.xaxis.major_label_overrides = dict(zip(map(str, range(len(var_names))), map(str, var_names))) - ax.xaxis.major_label_orientation = np.pi / 2 - - ax.x_range = DataRange1d(bounds=backend_config["bounds_x_range"], min_interval=2) - ax.y_range = DataRange1d(bounds=backend_config["bounds_y_range"], min_interval=5) - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/posteriorplot.py b/arviz/plots/backends/bokeh/posteriorplot.py deleted file mode 100644 index 2cee3c749e..0000000000 --- a/arviz/plots/backends/bokeh/posteriorplot.py +++ /dev/null @@ -1,324 +0,0 @@ -"""Bokeh Plot posterior densities.""" - -from numbers import Number -from typing import Optional - -import numpy as np -from bokeh.models.annotations import Title - -from ....stats import hdi -from ....stats.density_utils import get_bins, histogram -from ...kdeplot import plot_kde -from ...plot_utils import ( - _scale_fig_size, - calculate_point_estimate, - format_sig_figs, - round_num, - vectorized_to_hex, -) -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_posterior( - ax, - length_plotters, - rows, - cols, - figsize, - plotters, - bw, - circular, - bins, - kind, - point_estimate, - round_to, - hdi_prob, - multimodal, - skipna, - textsize, - ref_val, - rope, - ref_val_color, - rope_color, - labeller, - kwargs, - backend_kwargs, - show, -): - """Bokeh posterior plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - - (figsize, ax_labelsize, *_, linewidth, _) = _scale_fig_size(figsize, textsize, rows, cols) - - if ax is None: - ax = create_axes_grid( - length_plotters, - rows, - cols, - figsize=figsize, - backend_kwargs=backend_kwargs, - ) - else: - ax = np.atleast_2d(ax) - idx = 0 - for (var_name, selection, isel, x), ax_ in zip( - plotters, (item for item in ax.flatten() if item is not None) - ): - _plot_posterior_op( - idx, - x.flatten(), - var_name, - selection, - ax=ax_, - bw=bw, - circular=circular, - bins=bins, - kind=kind, - point_estimate=point_estimate, - round_to=round_to, - hdi_prob=hdi_prob, - multimodal=multimodal, - skipna=skipna, - linewidth=linewidth, - ref_val=ref_val, - rope=rope, - ref_val_color=ref_val_color, - rope_color=rope_color, - ax_labelsize=ax_labelsize, - **kwargs, - ) - idx += 1 - _title = Title() - _title.text = labeller.make_label_vert(var_name, selection, isel) - ax_.title = _title - - show_layout(ax, show) - - return ax - - -def _plot_posterior_op( - idx, - values, - var_name, - selection, - ax, - bw, - circular, - linewidth, - bins, - kind, - point_estimate, - hdi_prob, - multimodal, - skipna, - ref_val, - rope, - ref_val_color, - rope_color, - ax_labelsize, - round_to: Optional[int] = None, - **kwargs, -): # noqa: D202 - """Artist to draw posterior.""" - - def format_as_percent(x, round_to=0): - return "{0:.{1:d}f}%".format(100 * x, round_to) - - def display_ref_val(max_data): - if ref_val is None: - return - elif isinstance(ref_val, dict): - val = None - for sel in ref_val.get(var_name, []): - if all( - k in selection and selection[k] == v for k, v in sel.items() if k != "ref_val" - ): - val = sel["ref_val"] - break - if val is None: - return - elif isinstance(ref_val, list): - val = ref_val[idx] - elif isinstance(ref_val, Number): - val = ref_val - else: - raise ValueError( - "Argument `ref_val` must be None, a constant, a list or a " - 'dictionary like {"var_name": [{"ref_val": ref_val}]}' - ) - less_than_ref_probability = (values < val).mean() - greater_than_ref_probability = (values >= val).mean() - ref_in_posterior = "{} <{:g}< {}".format( - format_as_percent(less_than_ref_probability, 1), - val, - format_as_percent(greater_than_ref_probability, 1), - ) - ax.line( - [val, val], - [0, 0.8 * max_data], - line_color=vectorized_to_hex(ref_val_color), - line_alpha=0.65, - ) - - ax.text( - x=[values.mean()], - y=[max_data * 0.6], - text=[ref_in_posterior], - text_color=vectorized_to_hex(ref_val_color), - text_align="center", - ) - - def display_rope(max_data): - if rope is None: - return - elif isinstance(rope, dict): - vals = None - for sel in rope.get(var_name, []): - # pylint: disable=line-too-long - if all(k in selection and selection[k] == v for k, v in sel.items() if k != "rope"): - vals = sel["rope"] - break - if vals is None: - return - elif len(rope) == 2: - vals = rope - else: - raise ValueError( - "Argument `rope` must be None, a dictionary like" - '{"var_name": {"rope": (lo, hi)}}, or an' - "iterable of length 2" - ) - rope_text = [f"{val:.{format_sig_figs(val, round_to)}g}" for val in vals] - - ax.line( - vals, - (max_data * 0.02, max_data * 0.02), - line_width=linewidth * 5, - line_color=vectorized_to_hex(rope_color), - line_alpha=0.7, - ) - probability_within_rope = ((values > vals[0]) & (values <= vals[1])).mean() - text_props = dict( - text_color=vectorized_to_hex(rope_color), - text_align="center", - ) - ax.text( - x=values.mean(), - y=[max_data * 0.45], - text=[f"{format_as_percent(probability_within_rope, 1)} in ROPE"], - **text_props, - ) - - ax.text( - x=vals, - y=[max_data * 0.2, max_data * 0.2], - text_font_size=f"{ax_labelsize}pt", - text=rope_text, - **text_props, - ) - - def display_point_estimate(max_data): - if not point_estimate: - return - point_value = calculate_point_estimate(point_estimate, values, bw, circular) - sig_figs = format_sig_figs(point_value, round_to) - point_text = "{point_estimate}={point_value:.{sig_figs}g}".format( - point_estimate=point_estimate, point_value=point_value, sig_figs=sig_figs - ) - - ax.text(x=[point_value], y=[max_data * 0.8], text=[point_text], text_align="center") - - def display_hdi(max_data): - # np.ndarray with 2 entries, min and max - # pylint: disable=line-too-long - hdi_probs = hdi( - values, hdi_prob=hdi_prob, circular=circular, multimodal=multimodal, skipna=skipna - ) # type: np.ndarray - - for hdi_i in np.atleast_2d(hdi_probs): - ax.line( - hdi_i, - (max_data * 0.02, max_data * 0.02), - line_width=linewidth * 2, - line_color="black", - ) - - ax.text( - x=list(hdi_i) + [(hdi_i[0] + hdi_i[1]) / 2], - y=[max_data * 0.07, max_data * 0.07, max_data * 0.3], - text=( - list(map(str, map(lambda x: round_num(x, round_to), hdi_i))) - + [f"{format_as_percent(hdi_prob)} HDI"] - ), - text_align="center", - ) - - def format_axes(): - ax.yaxis.visible = False - ax.yaxis.major_tick_line_color = None - ax.yaxis.minor_tick_line_color = None - ax.yaxis.major_label_text_font_size = "0pt" - ax.xgrid.grid_line_color = None - ax.ygrid.grid_line_color = None - - if skipna: - values = values[~np.isnan(values)] - - if kind == "kde" and values.dtype.kind == "f": - kwargs.setdefault("line_width", linewidth) - plot_kde( - values, - bw=bw, - is_circular=circular, - fill_kwargs={"fill_alpha": kwargs.pop("fill_alpha", 0)}, - plot_kwargs=kwargs, - ax=ax, - rug=False, - backend="bokeh", - backend_kwargs={}, - show=False, - ) - max_data = values.max() - elif values.dtype.kind == "i" or (values.dtype.kind == "f" and kind == "hist"): - if bins is None: - bins = get_bins(values) - kwargs.setdefault("align", "left") - kwargs.setdefault("color", "blue") - _, hist, edges = histogram(values, bins=bins) - max_data = hist.max() - ax.quad( - top=hist, bottom=0, left=edges[:-1], right=edges[1:], fill_alpha=0.35, line_alpha=0.35 - ) - elif values.dtype.kind == "b": - if bins is None: - bins = "auto" - kwargs.setdefault("color", "blue") - - hist = np.array([(~values).sum(), values.sum()]) - max_data = hist.max() - edges = np.array([-0.5, 0.5, 1.5]) - ax.quad( - top=hist, bottom=0, left=edges[:-1], right=edges[1:], fill_alpha=0.35, line_alpha=0.35 - ) - hdi_prob = "hide" - ax.xaxis.ticker = [0, 1] - ax.xaxis.major_label_overrides = {0: "False", 1: "True"} - else: - raise TypeError("Values must be float, integer or boolean") - - format_axes() - if hdi_prob != "hide": - display_hdi(max_data) - display_point_estimate(max_data) - display_ref_val(max_data) - display_rope(max_data) diff --git a/arviz/plots/backends/bokeh/ppcplot.py b/arviz/plots/backends/bokeh/ppcplot.py deleted file mode 100644 index a27a3ea447..0000000000 --- a/arviz/plots/backends/bokeh/ppcplot.py +++ /dev/null @@ -1,379 +0,0 @@ -"""Bokeh Posterior predictive plot.""" - -import numpy as np -from bokeh.models.annotations import Legend -from bokeh.models.glyphs import Scatter -from bokeh.models import ColumnDataSource - - -from ....stats.density_utils import get_bins, histogram, kde -from ...kdeplot import plot_kde -from ...plot_utils import _scale_fig_size, vectorized_to_hex - - -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_ppc( - ax, - length_plotters, - rows, - cols, - figsize, - animated, - obs_plotters, - pp_plotters, - predictive_dataset, - pp_sample_ix, - kind, - alpha, - colors, - textsize, - mean, - observed, - observed_rug, - jitter, - total_pp_samples, - legend, # pylint: disable=unused-argument - labeller, - group, # pylint: disable=unused-argument - animation_kwargs, # pylint: disable=unused-argument - num_pp_samples, - backend_kwargs, - show, -): - """Bokeh ppc plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - - colors = vectorized_to_hex(colors) - - (figsize, *_, linewidth, markersize) = _scale_fig_size(figsize, textsize, rows, cols) - if ax is None: - axes = create_axes_grid( - length_plotters, - rows, - cols, - figsize=figsize, - backend_kwargs=backend_kwargs, - ) - else: - axes = np.atleast_2d(ax) - - if len([item for item in axes.ravel() if not None]) != length_plotters: - raise ValueError( - f"Found {length_plotters} variables to plot but {len(axes)} axes instances. " - "They must be equal." - ) - - if alpha is None: - if animated: - alpha = 1 - else: - if kind.lower() == "scatter": - alpha = 0.7 - else: - alpha = 0.2 - - if jitter is None: - jitter = 0.0 - if jitter < 0.0: - raise ValueError("jitter must be >=0.") - - for i, ax_i in enumerate((item for item in axes.flatten() if item is not None)): - var_name, sel, isel, obs_vals = obs_plotters[i] - pp_var_name, _, _, pp_vals = pp_plotters[i] - dtype = predictive_dataset[pp_var_name].dtype.kind - legend_it = [] - - if dtype not in ["i", "f"]: - raise ValueError( - f"The data type of the predictive data must be one of 'i' or 'f', but is '{dtype}'" - ) - - # flatten non-specified dimensions - obs_vals = obs_vals.flatten() - pp_vals = pp_vals.reshape(total_pp_samples, -1) - pp_sampled_vals = pp_vals[pp_sample_ix] - cds_rug = ColumnDataSource({"_": np.array(obs_vals)}) - - if kind == "kde": - plot_kwargs = { - "line_color": colors[0], - "line_alpha": alpha, - "line_width": 0.5 * linewidth, - } - - pp_densities = [] - pp_xs = [] - for vals in pp_sampled_vals: - vals = np.array([vals]).flatten() - if dtype == "f": - pp_x, pp_density = kde(vals) - pp_densities.append(pp_density) - pp_xs.append(pp_x) - else: - bins = get_bins(vals) - _, hist, bin_edges = histogram(vals, bins=bins) - hist = np.concatenate((hist[:1], hist)) - pp_densities.append(hist) - pp_xs.append(bin_edges) - - if dtype == "f": - multi_line = ax_i.multi_line(pp_xs, pp_densities, **plot_kwargs) - legend_it.append((f"{group.capitalize()} predictive", [multi_line])) - else: - all_steps = [] - for x_s, y_s in zip(pp_xs, pp_densities): - step = ax_i.step(x_s, y_s, **plot_kwargs) - all_steps.append(step) - legend_it.append((f"{group.capitalize()} predictive", all_steps)) - - if observed: - label = "Observed" - if dtype == "f": - _, glyph = plot_kde( - obs_vals, - plot_kwargs={"line_color": colors[1], "line_width": linewidth}, - fill_kwargs={"alpha": 0}, - ax=ax_i, - backend="bokeh", - backend_kwargs={}, - show=False, - return_glyph=True, - ) - legend_it.append((label, glyph)) - if observed_rug: - glyph = Scatter( - x="_", - y=0.0, - marker="dash", - angle=np.pi / 2, - line_color=colors[1], - line_width=linewidth, - ) - ax_i.add_glyph(cds_rug, glyph) - else: - bins = get_bins(obs_vals) - _, hist, bin_edges = histogram(obs_vals, bins=bins) - hist = np.concatenate((hist[:1], hist)) - step = ax_i.step( - bin_edges, - hist, - line_color=colors[1], - line_width=linewidth, - mode="center", - ) - legend_it.append((label, [step])) - - if mean: - label = f"{group.capitalize()} predictive mean" - if dtype == "f": - rep = len(pp_densities) - len_density = len(pp_densities[0]) - - new_x = np.linspace(np.min(pp_xs), np.max(pp_xs), len_density) - new_d = np.zeros((rep, len_density)) - bins = np.digitize(pp_xs, new_x, right=True) - new_x -= (new_x[1] - new_x[0]) / 2 - for irep in range(rep): - new_d[irep][bins[irep]] = pp_densities[irep] - line = ax_i.line( - new_x, - new_d.mean(0), - color=colors[2], - line_dash="dashed", - line_width=linewidth, - ) - legend_it.append((label, [line])) - else: - vals = pp_vals.flatten() - bins = get_bins(vals) - _, hist, bin_edges = histogram(vals, bins=bins) - hist = np.concatenate((hist[:1], hist)) - step = ax_i.step( - bin_edges, - hist, - line_color=colors[2], - line_width=linewidth, - line_dash="dashed", - mode="center", - ) - legend_it.append((label, [step])) - ax_i.yaxis.major_tick_line_color = None - ax_i.yaxis.minor_tick_line_color = None - ax_i.yaxis.major_label_text_font_size = "0pt" - - elif kind == "cumulative": - if observed: - label = "Observed" - if dtype == "f": - glyph = ax_i.line( - *_empirical_cdf(obs_vals), - line_color=colors[1], - line_width=linewidth, - ) - glyph.level = "overlay" - legend_it.append((label, [glyph])) - - else: - step = ax_i.step( - *_empirical_cdf(obs_vals), - line_color=colors[1], - line_width=linewidth, - mode="center", - ) - legend_it.append((label, [step])) - - if observed_rug: - glyph = Scatter( - x="_", - y=0.0, - marker="dash", - angle=np.pi / 2, - line_color=colors[1], - line_width=linewidth, - ) - ax_i.add_glyph(cds_rug, glyph) - - pp_densities = np.empty((2 * len(pp_sampled_vals), pp_sampled_vals[0].size)) - for idx, vals in enumerate(pp_sampled_vals): - vals = np.array([vals]).flatten() - pp_x, pp_density = _empirical_cdf(vals) - pp_densities[2 * idx] = pp_x - pp_densities[2 * idx + 1] = pp_density - multi_line = ax_i.multi_line( - list(pp_densities[::2]), - list(pp_densities[1::2]), - line_alpha=alpha, - line_color=colors[0], - line_width=linewidth, - ) - legend_it.append((f"{group.capitalize()} predictive", [multi_line])) - if mean: - label = f"{group.capitalize()} predictive mean" - line = ax_i.line( - *_empirical_cdf(pp_vals.flatten()), - color=colors[2], - line_dash="dashed", - line_width=linewidth, - ) - legend_it.append((label, [line])) - - elif kind == "scatter": - if mean: - label = f"{group.capitalize()} predictive mean" - if dtype == "f": - _, glyph = plot_kde( - pp_vals.flatten(), - plot_kwargs={ - "line_color": colors[2], - "line_dash": "dashed", - "line_width": linewidth, - }, - ax=ax_i, - backend="bokeh", - backend_kwargs={}, - show=False, - return_glyph=True, - ) - legend_it.append((label, glyph)) - else: - vals = pp_vals.flatten() - bins = get_bins(vals) - _, hist, bin_edges = histogram(vals, bins=bins) - hist = np.concatenate((hist[:1], hist)) - step = ax_i.step( - bin_edges, - hist, - color=colors[2], - line_width=linewidth, - line_dash="dashed", - mode="center", - ) - legend_it.append((label, [step])) - - jitter_scale = 0.1 - y_rows = np.linspace(0, 0.1, num_pp_samples + 1) - scale_low = 0 - scale_high = jitter_scale * jitter - - if observed: - label = "Observed" - obs_yvals = np.zeros_like(obs_vals, dtype=np.float64) - if jitter: - obs_yvals += np.random.uniform( - low=scale_low, high=scale_high, size=len(obs_vals) - ) - glyph = ax_i.scatter( - obs_vals, - obs_yvals, - marker="circle", - line_color=colors[1], - fill_color=colors[1], - size=markersize, - line_alpha=alpha, - ) - glyph.level = "overlay" - legend_it.append((label, [glyph])) - - all_scatter = [] - for vals, y in zip(pp_sampled_vals, y_rows[1:]): - vals = np.ravel(vals) - yvals = np.full_like(vals, y, dtype=np.float64) - if jitter: - yvals += np.random.uniform(low=scale_low, high=scale_high, size=len(vals)) - scatter = ax_i.scatter( - vals, - yvals, - line_color=colors[0], - fill_color=colors[0], - size=markersize, - fill_alpha=alpha, - ) - all_scatter.append(scatter) - - legend_it.append((f"{group.capitalize()} predictive", all_scatter)) - ax_i.yaxis.major_tick_line_color = None - ax_i.yaxis.minor_tick_line_color = None - ax_i.yaxis.major_label_text_font_size = "0pt" - - if legend: - legend = Legend( - items=legend_it, - location="top_left", - orientation="vertical", - ) - ax_i.add_layout(legend) - if textsize is not None: - ax_i.legend.label_text_font_size = f"{textsize}pt" - ax_i.legend.click_policy = "hide" - ax_i.xaxis.axis_label = labeller.make_pp_label(var_name, pp_var_name, sel, isel) - - show_layout(axes, show) - - return axes - - -def _empirical_cdf(data): - """Compute empirical cdf of a numpy array. - - Parameters - ---------- - data : np.array - 1d array - - Returns - ------- - np.array, np.array - x and y coordinates for the empirical cdf of the data - """ - return np.sort(data), np.linspace(0, 1, len(data)) diff --git a/arviz/plots/backends/bokeh/rankplot.py b/arviz/plots/backends/bokeh/rankplot.py deleted file mode 100644 index b75a367e0c..0000000000 --- a/arviz/plots/backends/bokeh/rankplot.py +++ /dev/null @@ -1,149 +0,0 @@ -"""Bokeh rankplot.""" - -import numpy as np - -from bokeh.models import Span -from bokeh.models.annotations import Title -from bokeh.models.tickers import FixedTicker - -from ....stats.density_utils import histogram -from ...plot_utils import _scale_fig_size, compute_ranks -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_rank( - axes, - length_plotters, - rows, - cols, - figsize, - plotters, - bins, - kind, - colors, - ref_line, - labels, - labeller, - ref_line_kwargs, - bar_kwargs, - vlines_kwargs, - marker_vlines_kwargs, - backend_kwargs, - show, -): - """Bokeh rank plot.""" - if ref_line_kwargs is None: - ref_line_kwargs = {} - ref_line_kwargs.setdefault("line_dash", "dashed") - ref_line_kwargs.setdefault("line_color", "black") - - if bar_kwargs is None: - bar_kwargs = {} - bar_kwargs.setdefault("line_color", "white") - - if vlines_kwargs is None: - vlines_kwargs = {} - vlines_kwargs.setdefault("line_width", 2) - vlines_kwargs.setdefault("line_dash", "solid") - - if marker_vlines_kwargs is None: - marker_vlines_kwargs = {} - marker_vlines_kwargs.setdefault("marker", "circle") - - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - figsize, *_ = _scale_fig_size(figsize, None, rows=rows, cols=cols) - if axes is None: - axes = create_axes_grid( - length_plotters, - rows, - cols, - figsize=figsize, - sharex=True, - sharey=True, - backend_kwargs=backend_kwargs, - ) - else: - axes = np.atleast_2d(axes) - - for ax, (var_name, selection, isel, var_data) in zip( - (item for item in axes.flatten() if item is not None), plotters - ): - ranks = compute_ranks(var_data) - bin_ary = np.histogram_bin_edges(ranks, bins=bins, range=(0, ranks.size)) - all_counts = np.empty((len(ranks), len(bin_ary) - 1)) - for idx, row in enumerate(ranks): - _, all_counts[idx], _ = histogram(row, bins=bin_ary) - counts_normalizer = all_counts.max() / 0.95 - gap = 1 - width = bin_ary[1] - bin_ary[0] - - bar_kwargs.setdefault("width", width) - # Center the bins - bin_ary = (bin_ary[1:] + bin_ary[:-1]) / 2 - - y_ticks = [] - if kind == "bars": - for idx, counts in enumerate(all_counts): - counts = counts / counts_normalizer - y_ticks.append(idx * gap) - ax.vbar( - x=bin_ary, - top=y_ticks[-1] + counts, - bottom=y_ticks[-1], - fill_color=colors[idx], - **bar_kwargs, - ) - if ref_line: - hline = Span(location=y_ticks[-1] + counts.mean(), **ref_line_kwargs) - ax.add_layout(hline) - if labels: - ax.yaxis.axis_label = "Chain" - elif kind == "vlines": - ymin = np.full(len(all_counts), all_counts.mean()) - for idx, counts in enumerate(all_counts): - ax.scatter( - bin_ary, - counts, - fill_color=colors[idx], - line_color=colors[idx], - **marker_vlines_kwargs, - ) - x_locations = [(bin, bin) for bin in bin_ary] - y_locations = [(ymin[idx], counts_) for counts_ in counts] - ax.multi_line(x_locations, y_locations, line_color=colors[idx], **vlines_kwargs) - - if ref_line: - hline = Span(location=all_counts.mean(), **ref_line_kwargs) - ax.add_layout(hline) - - if labels: - ax.xaxis.axis_label = "Rank (all chains)" - - ax.yaxis.ticker = FixedTicker(ticks=y_ticks) - ax.xaxis.major_label_overrides = dict( - zip(map(str, y_ticks), map(str, range(len(y_ticks)))) - ) - - else: - ax.yaxis.major_tick_line_color = None - ax.yaxis.minor_tick_line_color = None - - ax.xaxis.major_label_text_font_size = "0pt" - ax.yaxis.major_label_text_font_size = "0pt" - - _title = Title() - _title.text = labeller.make_label_vert(var_name, selection, isel) - ax.title = _title - - show_layout(axes, show) - - return axes diff --git a/arviz/plots/backends/bokeh/separationplot.py b/arviz/plots/backends/bokeh/separationplot.py deleted file mode 100644 index b0aacb0dda..0000000000 --- a/arviz/plots/backends/bokeh/separationplot.py +++ /dev/null @@ -1,107 +0,0 @@ -"""Bokeh separation plot.""" - -import numpy as np - -from ...plot_utils import _scale_fig_size, vectorized_to_hex -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_separation( - y, - y_hat, - y_hat_line, - label_y_hat, - expected_events, - figsize, - textsize, - color, - legend, - locs, - width, - ax, - plot_kwargs, - y_hat_line_kwargs, - exp_events_kwargs, - backend_kwargs, - show, -): - """Matplotlib separation plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - if plot_kwargs is None: - plot_kwargs = {} - - # plot_kwargs.setdefault("color", "#2a2eec") - # if color: - plot_kwargs["color"] = vectorized_to_hex(color) - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - if y_hat_line_kwargs is None: - y_hat_line_kwargs = {} - - y_hat_line_kwargs.setdefault("color", "black") - y_hat_line_kwargs.setdefault("line_width", 2) - - if exp_events_kwargs is None: - exp_events_kwargs = {} - - exp_events_kwargs.setdefault("color", "black") - exp_events_kwargs.setdefault("size", 15) - - if legend: - y_hat_line_kwargs.setdefault("legend_label", label_y_hat) - exp_events_kwargs.setdefault( - "legend_label", - "Expected events", - ) - - figsize, *_ = _scale_fig_size(figsize, textsize) - - idx = np.argsort(y_hat) - - backend_kwargs["x_range"] = (0, 1) - backend_kwargs["y_range"] = (0, 1) - - if ax is None: - ax = create_axes_grid(1, figsize=figsize, squeeze=True, backend_kwargs=backend_kwargs) - - for i, loc in enumerate(locs): - positive = not y[idx][i] == 0 - alpha = 1 if positive else 0.3 - ax.vbar( - loc, - top=1, - width=width, - fill_alpha=alpha, - line_alpha=alpha, - **plot_kwargs, - ) - - if y_hat_line: - ax.line( - np.linspace(0, 1, len(y_hat)), - y_hat[idx], - **y_hat_line_kwargs, - ) - - if expected_events: - expected_events = int(np.round(np.sum(y_hat))) - ax.triangle( - y_hat[idx][len(y_hat) - expected_events - 1], - 0, - **exp_events_kwargs, - ) - - ax.axis.visible = False - ax.xgrid.grid_line_color = None - ax.ygrid.grid_line_color = None - - show_layout(ax, show) - - return ax diff --git a/arviz/plots/backends/bokeh/traceplot.py b/arviz/plots/backends/bokeh/traceplot.py deleted file mode 100644 index 9a55deb2bc..0000000000 --- a/arviz/plots/backends/bokeh/traceplot.py +++ /dev/null @@ -1,436 +0,0 @@ -"""Bokeh Traceplot.""" - -import warnings -from collections.abc import Iterable -from itertools import cycle - -import bokeh.plotting as bkp -import matplotlib.pyplot as plt -import numpy as np -from bokeh.models import ColumnDataSource, DataRange1d, Span -from bokeh.models.glyphs import Scatter -from bokeh.models.annotations import Title - -from ...distplot import plot_dist -from ...plot_utils import _scale_fig_size -from ...rankplot import plot_rank -from .. import show_layout -from . import backend_kwarg_defaults, dealiase_sel_kwargs -from ....sel_utils import xarray_var_iter - - -def plot_trace( - data, - var_names, - divergences, - kind, - figsize, - rug, - lines, - circ_var_names, # pylint: disable=unused-argument - circ_var_units, # pylint: disable=unused-argument - compact, - compact_prop, - combined, - chain_prop, - legend, - labeller, - plot_kwargs, - fill_kwargs, - rug_kwargs, - hist_kwargs, - trace_kwargs, - rank_kwargs, - plotters, - divergence_data, - axes, - backend_kwargs, - backend_config, - show, -): - """Bokeh traceplot.""" - # If divergences are plotted they must be provided - if divergences is not False: - assert divergence_data is not None - - if backend_config is None: - backend_config = {} - - backend_config = { - **backend_kwarg_defaults( - ("bounds_y_range", "plot.bokeh.bounds_y_range"), - ), - **backend_config, - } - - # Set plot default backend kwargs - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - dpi = backend_kwargs.pop("dpi") - - if figsize is None: - figsize = (12, len(plotters) * 2) - - figsize, _, _, _, linewidth, _ = _scale_fig_size(figsize, 10, rows=len(plotters), cols=2) - - backend_kwargs.setdefault("height", int(figsize[1] * dpi // len(plotters))) - backend_kwargs.setdefault("width", int(figsize[0] * dpi // 2)) - - if lines is None: - lines = () - - num_chain_props = len(data.chain) + 1 if combined else len(data.chain) - if not compact: - chain_prop = ( - {"line_color": plt.rcParams["axes.prop_cycle"].by_key()["color"]} - if chain_prop is None - else chain_prop - ) - else: - chain_prop = ( - { - "line_dash": ("solid", "dotted", "dashed", "dashdot"), - } - if chain_prop is None - else chain_prop - ) - compact_prop = ( - {"line_color": plt.rcParams["axes.prop_cycle"].by_key()["color"]} - if compact_prop is None - else compact_prop - ) - - if isinstance(chain_prop, str): - chain_prop = {chain_prop: plt.rcParams["axes.prop_cycle"].by_key()[chain_prop]} - if isinstance(chain_prop, tuple): - warnings.warn( - "chain_prop as a tuple will be deprecated in a future warning, use a dict instead", - FutureWarning, - ) - chain_prop = {chain_prop[0]: chain_prop[1]} - chain_prop = { - prop_name: [prop for _, prop in zip(range(num_chain_props), cycle(props))] - for prop_name, props in chain_prop.items() - } - - if isinstance(compact_prop, str): - compact_prop = {compact_prop: plt.rcParams["axes.prop_cycle"].by_key()[compact_prop]} - if isinstance(compact_prop, tuple): - warnings.warn( - "compact_prop as a tuple will be deprecated in a future warning, use a dict instead", - FutureWarning, - ) - compact_prop = {compact_prop[0]: compact_prop[1]} - - trace_kwargs = {} if trace_kwargs is None else trace_kwargs - trace_kwargs.setdefault("alpha", 0.35) - - if hist_kwargs is None: - hist_kwargs = {} - hist_kwargs.setdefault("alpha", 0.35) - - if plot_kwargs is None: - plot_kwargs = {} - if fill_kwargs is None: - fill_kwargs = {} - if rug_kwargs is None: - rug_kwargs = {} - if rank_kwargs is None: - rank_kwargs = {} - - trace_kwargs.setdefault("line_width", linewidth) - plot_kwargs.setdefault("line_width", linewidth) - - if rank_kwargs is None: - rank_kwargs = {} - - if axes is None: - axes = [] - backend_kwargs_copy = backend_kwargs.copy() - for i in range(len(plotters)): - if not i: - _axes = [bkp.figure(**backend_kwargs), bkp.figure(**backend_kwargs_copy)] - backend_kwargs_copy.setdefault("x_range", _axes[1].x_range) - else: - _axes = [ - bkp.figure(**backend_kwargs), - bkp.figure(**backend_kwargs_copy), - ] - axes.append(_axes) - - axes = np.atleast_2d(axes) - - cds_data = {} - cds_var_groups = {} - draw_name = "draw" - - for var_name, selection, isel, value in list( - xarray_var_iter(data, var_names=var_names, combined=True) - ): - if selection: - cds_name = "{}_ARVIZ_CDS_SELECTION_{}".format( - var_name, - "_".join( - str(item) - for key, value in selection.items() - for item in ( - [key, value] - if (isinstance(value, str) or not isinstance(value, Iterable)) - else [key, *value] - ) - ), - ) - else: - cds_name = var_name - - if var_name not in cds_var_groups: - cds_var_groups[var_name] = [] - cds_var_groups[var_name].append(cds_name) - - for chain_idx, _ in enumerate(data.chain.values): - if chain_idx not in cds_data: - cds_data[chain_idx] = {} - _data = value[chain_idx] - cds_data[chain_idx][cds_name] = _data - - while any(key == draw_name for key in cds_data[0]): - draw_name += "w" - - for chain in cds_data.values(): - chain[draw_name] = data.draw.values - - cds_data = {chain_idx: ColumnDataSource(cds) for chain_idx, cds in cds_data.items()} - - for idx, (var_name, selection, isel, value) in enumerate(plotters): - value = np.atleast_2d(value) - - if len(value.shape) == 2: - y_name = ( - var_name - if not selection - else "{}_ARVIZ_CDS_SELECTION_{}".format( - var_name, - "_".join( - str(item) - for key, value in selection.items() - for item in ( - (key, value) - if (isinstance(value, str) or not isinstance(value, Iterable)) - else (key, *value) - ) - ), - ) - ) - if rug: - rug_kwargs["y"] = y_name - _plot_chains_bokeh( - ax_density=axes[idx, 0], - ax_trace=axes[idx, 1], - data=cds_data, - x_name=draw_name, - y_name=y_name, - chain_prop=chain_prop, - combined=combined, - rug=rug, - kind=kind, - legend=legend, - trace_kwargs=trace_kwargs, - hist_kwargs=hist_kwargs, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - rank_kwargs=rank_kwargs, - ) - else: - for y_name in cds_var_groups[var_name]: - if rug: - rug_kwargs["y"] = y_name - _plot_chains_bokeh( - ax_density=axes[idx, 0], - ax_trace=axes[idx, 1], - data=cds_data, - x_name=draw_name, - y_name=y_name, - chain_prop=chain_prop, - combined=combined, - rug=rug, - kind=kind, - legend=legend, - trace_kwargs=trace_kwargs, - hist_kwargs=hist_kwargs, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - rank_kwargs=rank_kwargs, - ) - - for col in (0, 1): - _title = Title() - _title.text = labeller.make_label_vert(var_name, selection, isel) - axes[idx, col].title = _title - axes[idx, col].y_range = DataRange1d( - bounds=backend_config["bounds_y_range"], min_interval=0.1 - ) - - for _, _, vlines in (j for j in lines if j[0] == var_name and j[1] == selection): - if isinstance(vlines, (float, int)): - line_values = [vlines] - else: - line_values = np.atleast_1d(vlines).ravel() - - for line_value in line_values: - vline = Span( - location=line_value, - dimension="height", - line_color="black", - line_width=1.5, - line_alpha=0.75, - ) - hline = Span( - location=line_value, - dimension="width", - line_color="black", - line_width=1.5, - line_alpha=trace_kwargs["alpha"], - ) - - axes[idx, 0].renderers.append(vline) - axes[idx, 1].renderers.append(hline) - - if legend: - for col in (0, 1): - axes[idx, col].legend.location = "top_left" - axes[idx, col].legend.click_policy = "hide" - else: - for col in (0, 1): - if axes[idx, col].legend: - axes[idx, col].legend.visible = False - - if divergences: - div_density_kwargs = {} - div_density_kwargs.setdefault("size", 14) - div_density_kwargs.setdefault("line_color", "red") - div_density_kwargs.setdefault("line_width", 2) - div_density_kwargs.setdefault("line_alpha", 0.50) - div_density_kwargs.setdefault("angle", np.pi / 2) - - div_trace_kwargs = {} - div_trace_kwargs.setdefault("size", 14) - div_trace_kwargs.setdefault("line_color", "red") - div_trace_kwargs.setdefault("line_width", 2) - div_trace_kwargs.setdefault("line_alpha", 0.50) - div_trace_kwargs.setdefault("angle", np.pi / 2) - - div_selection = {k: v for k, v in selection.items() if k in divergence_data.dims} - divs = divergence_data.sel(**div_selection).values - divs = np.atleast_2d(divs) - - for chain, chain_divs in enumerate(divs): - div_idxs = np.arange(len(chain_divs))[chain_divs] - if div_idxs.size > 0: - values = value[chain, div_idxs] - tmp_cds = ColumnDataSource({"y": values, "x": div_idxs}) - if divergences == "top": - y_div_trace = value.max() - else: - y_div_trace = value.min() - glyph_density = Scatter(x="y", y=0.0, marker="dash", **div_density_kwargs) - if kind == "trace": - glyph_trace = Scatter( - x="x", y=y_div_trace, marker="dash", **div_trace_kwargs - ) - axes[idx, 1].add_glyph(tmp_cds, glyph_trace) - - axes[idx, 0].add_glyph(tmp_cds, glyph_density) - - show_layout(axes, show) - - return axes - - -def _plot_chains_bokeh( - ax_density, - ax_trace, - data, - x_name, - y_name, - chain_prop, - combined, - rug, - kind, - legend, - trace_kwargs, - hist_kwargs, - plot_kwargs, - fill_kwargs, - rug_kwargs, - rank_kwargs, -): - marker = trace_kwargs.pop("marker", True) - for chain_idx, cds in data.items(): - if kind == "trace": - if legend: - trace_kwargs["legend_label"] = f"chain {chain_idx}" - ax_trace.line( - x=x_name, - y=y_name, - source=cds, - **dealiase_sel_kwargs(trace_kwargs, chain_prop, chain_idx), - ) - if marker: - ax_trace.scatter( - x=x_name, - y=y_name, - marker="circle", - source=cds, - radius=0.30, - alpha=0.5, - **dealiase_sel_kwargs({}, chain_prop, chain_idx), - ) - if not combined: - rug_kwargs["cds"] = cds - if legend: - plot_kwargs["legend_label"] = f"chain {chain_idx}" - plot_dist( - cds.data[y_name], - ax=ax_density, - rug=rug, - hist_kwargs=hist_kwargs, - plot_kwargs=dealiase_sel_kwargs(plot_kwargs, chain_prop, chain_idx), - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - backend="bokeh", - backend_kwargs={}, - show=False, - ) - - if kind == "rank_bars": - value = np.array([item.data[y_name] for item in data.values()]) - plot_rank(value, kind="bars", ax=ax_trace, backend="bokeh", show=False, **rank_kwargs) - elif kind == "rank_vlines": - value = np.array([item.data[y_name] for item in data.values()]) - plot_rank(value, kind="vlines", ax=ax_trace, backend="bokeh", show=False, **rank_kwargs) - - if combined: - rug_kwargs["cds"] = data - if legend: - plot_kwargs["legend_label"] = "combined chains" - plot_dist( - np.concatenate([item.data[y_name] for item in data.values()]).flatten(), - ax=ax_density, - rug=rug, - hist_kwargs=hist_kwargs, - plot_kwargs=dealiase_sel_kwargs(plot_kwargs, chain_prop, -1), - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - backend="bokeh", - backend_kwargs={}, - show=False, - ) diff --git a/arviz/plots/backends/bokeh/violinplot.py b/arviz/plots/backends/bokeh/violinplot.py deleted file mode 100644 index e3564a2be1..0000000000 --- a/arviz/plots/backends/bokeh/violinplot.py +++ /dev/null @@ -1,164 +0,0 @@ -"""Bokeh Violinplot.""" - -import numpy as np -from bokeh.models.annotations import Title - -from ....stats import hdi -from ....stats.density_utils import get_bins, histogram, kde -from ...plot_utils import _scale_fig_size -from .. import show_layout -from . import backend_kwarg_defaults, create_axes_grid - - -def plot_violin( - ax, - plotters, - figsize, - rows, - cols, - sharex, - sharey, - shade_kwargs, - shade, - rug, - side, - rug_kwargs, - bw, - textsize, - labeller, - circular, - hdi_prob, - quartiles, - backend_kwargs, - show, -): - """Bokeh violin plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults( - ("dpi", "plot.bokeh.figure.dpi"), - ), - **backend_kwargs, - } - (figsize, *_, linewidth, _) = _scale_fig_size(figsize, textsize, rows, cols) - - shade_kwargs = {} if shade_kwargs is None else shade_kwargs - rug_kwargs = {} if rug_kwargs is None else rug_kwargs - rug_kwargs.setdefault("fill_alpha", 0.1) - rug_kwargs.setdefault("line_alpha", 0.1) - if ax is None: - ax = create_axes_grid( - len(plotters), - rows, - cols, - sharex=sharex, - sharey=sharey, - figsize=figsize, - backend_kwargs=backend_kwargs, - ) - else: - ax = np.atleast_2d(ax) - - for (var_name, selection, isel, x), ax_ in zip( - plotters, (item for item in ax.flatten() if item is not None) - ): - val = x.flatten() - if val[0].dtype.kind == "i": - dens = cat_hist(val, rug, side, shade, ax_, **shade_kwargs) - else: - dens = _violinplot(val, rug, side, shade, bw, circular, ax_, **shade_kwargs) - if rug: - rug_x = -np.abs(np.random.normal(scale=max(dens) / 3.5, size=len(val))) - ax_.scatter(rug_x, val, **rug_kwargs) - - per = np.nanpercentile(val, [25, 75, 50]) - hdi_probs = hdi(val, hdi_prob, multimodal=False, skipna=True) - - if quartiles: - ax_.line( - [0, 0], per[:2], line_width=linewidth * 3, line_color="black", line_cap="round" - ) - ax_.line([0, 0], hdi_probs, line_width=linewidth, line_color="black", line_cap="round") - ax_.scatter( - 0, - per[-1], - marker="circle", - line_color="white", - fill_color="white", - size=linewidth * 1.5, - line_width=linewidth, - ) - - _title = Title() - _title.align = "center" - _title.text = labeller.make_label_vert(var_name, selection, isel) - ax_.title = _title - ax_.xaxis.major_tick_line_color = None - ax_.xaxis.minor_tick_line_color = None - ax_.xaxis.major_label_text_font_size = "0pt" - - show_layout(ax, show) - - return ax - - -def _violinplot(val, rug, side, shade, bw, circular, ax, **shade_kwargs): - """Auxiliary function to plot violinplots.""" - if bw == "default": - bw = "taylor" if circular else "experimental" - x, density = kde(val, circular=circular, bw=bw) - - if rug and side == "both": - side = "right" - - if side == "left": - dens = -density - elif side == "right": - x = x[::-1] - dens = density[::-1] - elif side == "both": - x = np.concatenate([x, x[::-1]]) - dens = np.concatenate([-density, density[::-1]]) - - ax.harea(y=x, x1=dens, x2=np.zeros_like(dens), fill_alpha=shade, **shade_kwargs) - - return density - - -def cat_hist(val, rug, side, shade, ax, **shade_kwargs): - """Auxiliary function to plot discrete-violinplots.""" - bins = get_bins(val) - _, binned_d, _ = histogram(val, bins=bins) - - bin_edges = np.linspace(np.min(val), np.max(val), len(bins)) - heights = np.diff(bin_edges) - centers = bin_edges[:-1] + heights.mean() / 2 - bar_length = 0.5 * binned_d - - if rug and side == "both": - side = "right" - - if side == "right": - left = 0 - right = bar_length - elif side == "left": - left = -bar_length - right = 0 - elif side == "both": - left = -bar_length - right = bar_length - - ax.hbar( - y=centers, - left=left, - right=right, - height=heights, - fill_alpha=shade, - line_alpha=shade, - line_color=None, - **shade_kwargs - ) - - return binned_d diff --git a/arviz/plots/backends/matplotlib/__init__.py b/arviz/plots/backends/matplotlib/__init__.py deleted file mode 100644 index 5962339045..0000000000 --- a/arviz/plots/backends/matplotlib/__init__.py +++ /dev/null @@ -1,124 +0,0 @@ -# pylint: disable=wrong-import-position -"""Matplotlib Plotting Backend.""" -import matplotlib as mpl - -from matplotlib.cbook import normalize_kwargs -from matplotlib.pyplot import subplots -from numpy import ndenumerate - -from ....rcparams import rcParams - - -def backend_kwarg_defaults(*args, **kwargs): - """Get default kwargs for backend. - - For args add a tuple with key and rcParam key pair. - """ - defaults = {**kwargs} - # add needed default args from arviz.rcParams - for key, arg in args: - defaults.setdefault(key, rcParams[arg]) - return defaults - - -def backend_show(show): - """Set default behaviour for show if not explicitly defined.""" - if show is None: - show = rcParams["plot.matplotlib.show"] - return show - - -def create_axes_grid(length_plotters, rows=1, cols=1, backend_kwargs=None): - """Create figure and axes for grids with multiple plots. - - Parameters - ---------- - length_plotters : int - Number of axes required - rows : int - Number of rows - cols : int - Number of columns - backend_kwargs: dict, optional - kwargs for backend figure. - - Returns - ------- - fig : matplotlib figure - ax : matplotlib axes - """ - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = {**backend_kwarg_defaults(), **backend_kwargs} - - fig, axes = subplots(rows, cols, **backend_kwargs) - extra = (rows * cols) - length_plotters - if extra > 0: - for (row, col), ax in ndenumerate(axes): - if (row * cols + col + 1) > length_plotters: - ax.set_axis_off() - return fig, axes - - -def matplotlib_kwarg_dealiaser(args, kind): - """De-aliase the kwargs passed to plots.""" - if args is None: - return {} - matplotlib_kwarg_dealiaser_dict = { - "scatter": mpl.collections.PathCollection, - "plot": mpl.lines.Line2D, - "hist": mpl.patches.Patch, - "bar": mpl.patches.Rectangle, - "hexbin": mpl.collections.PolyCollection, - "fill_between": mpl.collections.PolyCollection, - "hlines": mpl.collections.LineCollection, - "text": mpl.text.Text, - "contour": mpl.contour.ContourSet, - "pcolormesh": mpl.collections.QuadMesh, - } - return normalize_kwargs(args, getattr(matplotlib_kwarg_dealiaser_dict[kind], "_alias_map", {})) - - -def dealiase_sel_kwargs(kwargs, prop_dict, idx): - """Generate kwargs dict from kwargs and prop_dict. - - Gets property at position ``idx`` for each property in prop_dict and adds it to - ``kwargs``. Values in prop_dict are dealiased and overwrite values in - kwargs with the same key . - - Parameters - ---------- - kwargs : dict - prop_dict : dict of {str : array_like} - idx : int - """ - return { - **kwargs, - **matplotlib_kwarg_dealiaser( - {prop: props[idx] for prop, props in prop_dict.items()}, "plot" - ), - } - - -from .autocorrplot import plot_autocorr -from .bpvplot import plot_bpv -from .compareplot import plot_compare -from .densityplot import plot_density -from .distplot import plot_dist -from .elpdplot import plot_elpd -from .energyplot import plot_energy -from .essplot import plot_ess -from .forestplot import plot_forest -from .hdiplot import plot_hdi -from .kdeplot import plot_kde -from .khatplot import plot_khat -from .loopitplot import plot_loo_pit -from .mcseplot import plot_mcse -from .pairplot import plot_pair -from .parallelplot import plot_parallel -from .posteriorplot import plot_posterior -from .ppcplot import plot_ppc -from .rankplot import plot_rank -from .traceplot import plot_trace -from .violinplot import plot_violin diff --git a/arviz/plots/backends/matplotlib/autocorrplot.py b/arviz/plots/backends/matplotlib/autocorrplot.py deleted file mode 100644 index e1e871140f..0000000000 --- a/arviz/plots/backends/matplotlib/autocorrplot.py +++ /dev/null @@ -1,72 +0,0 @@ -"""Matplotlib Autocorrplot.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ....stats import autocorr -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid - - -def plot_autocorr( - axes, - plotters, - max_lag, - figsize, - rows, - cols, - combined, - textsize, - labeller, - backend_kwargs, - show, -): - """Matplotlib autocorrplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, _, titlesize, xt_labelsize, linewidth, _ = _scale_fig_size( - figsize, textsize, rows, cols - ) - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("sharex", True) - backend_kwargs.setdefault("sharey", True) - backend_kwargs.setdefault("squeeze", True) - - if axes is None: - _, axes = create_axes_grid( - len(plotters), - rows, - cols, - backend_kwargs=backend_kwargs, - ) - - for (var_name, selection, isel, x), ax in zip(plotters, np.ravel(axes)): - x_prime = x - if combined: - x_prime = x.flatten() - c_i = 1.96 / x_prime.size**0.5 - y = autocorr(x_prime) - - ax.fill_between([0, max_lag], -c_i, c_i, color="0.75") - ax.vlines(x=np.arange(0, max_lag), ymin=0, ymax=y[0:max_lag], lw=linewidth) - - ax.set_title( - labeller.make_label_vert(var_name, selection, isel), fontsize=titlesize, wrap=True - ) - ax.tick_params(labelsize=xt_labelsize) - - if np.asarray(axes).size > 0: - np.asarray(axes).item(0).set_xlim(0, max_lag) - np.asarray(axes).item(0).set_ylim(-1, 1) - - if backend_show(show): - plt.show() - - return axes diff --git a/arviz/plots/backends/matplotlib/bfplot.py b/arviz/plots/backends/matplotlib/bfplot.py deleted file mode 100644 index d975c34d70..0000000000 --- a/arviz/plots/backends/matplotlib/bfplot.py +++ /dev/null @@ -1,78 +0,0 @@ -import matplotlib.pyplot as plt - -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser -from ...distplot import plot_dist -from ...plot_utils import _scale_fig_size - - -def plot_bf( - ax, - bf_10, - bf_01, - prior, - posterior, - ref_val, - prior_at_ref_val, - posterior_at_ref_val, - var_name, - colors, - figsize, - textsize, - plot_kwargs, - hist_kwargs, - backend_kwargs, - show, -): - """Matplotlib Bayes Factor plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - if hist_kwargs is None: - hist_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, _, _, _, linewidth, _ = _scale_fig_size(figsize, textsize, 1, 1) - - plot_kwargs = matplotlib_kwarg_dealiaser(plot_kwargs, "plot") - plot_kwargs.setdefault("linewidth", linewidth) - hist_kwargs.setdefault("alpha", 0.5) - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("squeeze", True) - - if ax is None: - _, ax = create_axes_grid(1, backend_kwargs=backend_kwargs) - - plot_dist( - prior, - color=colors[0], - label="Prior", - ax=ax, - plot_kwargs=plot_kwargs, - hist_kwargs=hist_kwargs, - ) - plot_dist( - posterior, - color=colors[1], - label="Posterior", - ax=ax, - plot_kwargs=plot_kwargs, - hist_kwargs=hist_kwargs, - ) - - ax.plot(ref_val, posterior_at_ref_val, "ko", lw=1.5) - ax.plot(ref_val, prior_at_ref_val, "ko", lw=1.5) - ax.axvline(ref_val, color="k", ls="--") - ax.set_xlabel(var_name) - ax.set_ylabel("Density") - ax.set_title(f"The BF_10 is {bf_10:.2f}\nThe BF_01 is {bf_01:.2f}") - plt.legend() - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/bpvplot.py b/arviz/plots/backends/matplotlib/bpvplot.py deleted file mode 100644 index a87592758d..0000000000 --- a/arviz/plots/backends/matplotlib/bpvplot.py +++ /dev/null @@ -1,177 +0,0 @@ -"""Matplotib Bayesian p-value Posterior predictive plot.""" - -import matplotlib.pyplot as plt -import numpy as np -from scipy import stats - -from ....stats.density_utils import kde -from ....stats.stats_utils import smooth_data -from ...kdeplot import plot_kde -from ...plot_utils import ( - _scale_fig_size, - is_valid_quantile, - sample_reference_distribution, -) -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_bpv( - ax, - length_plotters, - rows, - cols, - obs_plotters, - pp_plotters, - total_pp_samples, - kind, - t_stat, - bpv, - plot_mean, - reference, - mse, - n_ref, - hdi_prob, - color, - figsize, - textsize, - labeller, - plot_ref_kwargs, - backend_kwargs, - show, - smoothing, -): - """Matplotlib bpv plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, ax_labelsize, _, _, linewidth, markersize = _scale_fig_size( - figsize, textsize, rows, cols - ) - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("squeeze", True) - - if (kind == "u_value") and (reference == "analytical"): - plot_ref_kwargs = matplotlib_kwarg_dealiaser(plot_ref_kwargs, "fill_between") - else: - plot_ref_kwargs = matplotlib_kwarg_dealiaser(plot_ref_kwargs, "plot") - - if kind == "p_value" and reference == "analytical": - plot_ref_kwargs.setdefault("color", "k") - plot_ref_kwargs.setdefault("linestyle", "--") - elif kind == "u_value" and reference == "analytical": - plot_ref_kwargs.setdefault("color", "k") - plot_ref_kwargs.setdefault("alpha", 0.2) - else: - plot_ref_kwargs.setdefault("alpha", 0.1) - plot_ref_kwargs.setdefault("color", color) - - if ax is None: - _, axes = create_axes_grid(length_plotters, rows, cols, backend_kwargs=backend_kwargs) - else: - axes = np.asarray(ax) - if axes.size < length_plotters: - raise ValueError( - f"Found {length_plotters} variables to plot but {axes.size} axes instances. " - "Axes instances must at minimum be equal to variables." - ) - - for i, ax_i in enumerate(np.ravel(axes)[:length_plotters]): - var_name, selection, isel, obs_vals = obs_plotters[i] - pp_var_name, _, _, pp_vals = pp_plotters[i] - - obs_vals = obs_vals.flatten() - pp_vals = pp_vals.reshape(total_pp_samples, -1) - - if (obs_vals.dtype.kind == "i" or pp_vals.dtype.kind == "i") and smoothing is True: - obs_vals, pp_vals = smooth_data(obs_vals, pp_vals) - - if kind == "p_value": - tstat_pit = np.mean(pp_vals <= obs_vals, axis=-1) - x_s, tstat_pit_dens = kde(tstat_pit) - ax_i.plot(x_s, tstat_pit_dens, linewidth=linewidth, color=color) - ax_i.set_yticks([]) - if reference is not None: - dist = stats.beta(obs_vals.size / 2, obs_vals.size / 2) - if reference == "analytical": - lwb = dist.ppf((1 - 0.9999) / 2) - upb = 1 - lwb - x = np.linspace(lwb, upb, 500) - dens_ref = dist.pdf(x) - ax_i.plot(x, dens_ref, zorder=1, **plot_ref_kwargs) - elif reference == "samples": - x_ss, u_dens = sample_reference_distribution( - dist, - ( - tstat_pit_dens.size, - n_ref, - ), - ) - ax_i.plot(x_ss, u_dens, linewidth=linewidth, **plot_ref_kwargs) - - elif kind == "u_value": - tstat_pit = np.mean(pp_vals <= obs_vals, axis=0) - x_s, tstat_pit_dens = kde(tstat_pit) - ax_i.plot(x_s, tstat_pit_dens, color=color) - if reference is not None: - if reference == "analytical": - n_obs = obs_vals.size - hdi_ = stats.beta(n_obs / 2, n_obs / 2).ppf((1 - hdi_prob) / 2) - hdi_odds = (hdi_ / (1 - hdi_), (1 - hdi_) / hdi_) - ax_i.axhspan(*hdi_odds, **plot_ref_kwargs) - ax_i.axhline(1, color="w", zorder=1) - elif reference == "samples": - dist = stats.uniform(0, 1) - x_ss, u_dens = sample_reference_distribution(dist, (tstat_pit_dens.size, n_ref)) - ax_i.plot(x_ss, u_dens, linewidth=linewidth, **plot_ref_kwargs) - if mse: - ax_i.plot(0, 0, label=f"mse={np.mean((1 - tstat_pit_dens)**2) * 100:.2f}") - ax_i.legend() - - ax_i.set_ylim(0, None) - ax_i.set_xlim(0, 1) - else: - if t_stat in ["mean", "median", "std"]: - if t_stat == "mean": - tfunc = np.mean - elif t_stat == "median": - tfunc = np.median - elif t_stat == "std": - tfunc = np.std - obs_vals = tfunc(obs_vals) - pp_vals = tfunc(pp_vals, axis=1) - elif hasattr(t_stat, "__call__"): - obs_vals = t_stat(obs_vals.flatten()) - pp_vals = t_stat(pp_vals) - elif is_valid_quantile(t_stat): - t_stat = float(t_stat) - obs_vals = np.quantile(obs_vals, q=t_stat) - pp_vals = np.quantile(pp_vals, q=t_stat, axis=1) - else: - raise ValueError(f"T statistics {t_stat} not implemented") - - plot_kde(pp_vals, ax=ax_i, plot_kwargs={"color": color}) - ax_i.set_yticks([]) - if bpv: - p_value = np.mean(pp_vals <= obs_vals) - ax_i.plot(obs_vals, 0, label=f"bpv={p_value:.2f}", alpha=0) - ax_i.legend() - - if plot_mean: - ax_i.plot( - obs_vals.mean(), 0, "o", color=color, markeredgecolor="k", markersize=markersize - ) - - ax_i.set_title( - labeller.make_pp_label(var_name, pp_var_name, selection, isel), fontsize=ax_labelsize - ) - - if backend_show(show): - plt.show() - - return axes diff --git a/arviz/plots/backends/matplotlib/compareplot.py b/arviz/plots/backends/matplotlib/compareplot.py deleted file mode 100644 index 948f5ee08e..0000000000 --- a/arviz/plots/backends/matplotlib/compareplot.py +++ /dev/null @@ -1,135 +0,0 @@ -"""Matplotlib Compareplot.""" - -import matplotlib.pyplot as plt - -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid - - -def plot_compare( - ax, - comp_df, - legend, - title, - figsize, - plot_ic_diff, - plot_standard_error, - insample_dev, - yticks_pos, - yticks_labels, - plot_kwargs, - information_criterion, - textsize, - step, - backend_kwargs, - show, -): - """Matplotlib compare plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - if figsize is None: - figsize = (6, len(comp_df)) - - figsize, ax_labelsize, _, xt_labelsize, linewidth, _ = _scale_fig_size(figsize, textsize, 1, 1) - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - if ax is None: - _, ax = create_axes_grid(1, backend_kwargs=backend_kwargs) - - if plot_standard_error: - ax.errorbar( - x=comp_df[information_criterion], - y=yticks_pos[::2], - xerr=comp_df.se, - label="ELPD", - color=plot_kwargs.get("color_ic", "k"), - fmt=plot_kwargs.get("marker_ic", "o"), - mfc=plot_kwargs.get("marker_fc", "white"), - mew=linewidth, - lw=linewidth, - ) - else: - ax.plot( - comp_df[information_criterion], - yticks_pos[::2], - label="ELPD", - color=plot_kwargs.get("color_ic", "k"), - marker=plot_kwargs.get("marker_ic", "o"), - mfc=plot_kwargs.get("marker_fc", "white"), - mew=linewidth, - lw=0, - zorder=3, - ) - - if plot_ic_diff: - ax.set_yticks(yticks_pos) - ax.errorbar( - x=comp_df[information_criterion].iloc[1:], - y=yticks_pos[1::2], - xerr=comp_df.dse[1:], - label="ELPD difference", - color=plot_kwargs.get("color_dse", "grey"), - fmt=plot_kwargs.get("marker_dse", "^"), - mew=linewidth, - elinewidth=linewidth, - ) - - else: - ax.set_yticks(yticks_pos[::2]) - - scale = comp_df["scale"].iloc[0] - - if insample_dev: - p_ic = comp_df[f"p_{information_criterion.split('_')[1]}"] - if scale == "log": - correction = p_ic - elif scale == "negative_log": - correction = -p_ic - elif scale == "deviance": - correction = -(2 * p_ic) - ax.plot( - comp_df[information_criterion] + correction, - yticks_pos[::2], - label="In-sample ELPD", - color=plot_kwargs.get("color_insample_dev", "k"), - marker=plot_kwargs.get("marker_insample_dev", "o"), - mew=linewidth, - lw=0, - ) - - ax.axvline( - comp_df[information_criterion].iloc[0], - ls=plot_kwargs.get("ls_min_ic", "--"), - color=plot_kwargs.get("color_ls_min_ic", "grey"), - lw=linewidth, - ) - if legend: - ax.legend(bbox_to_anchor=(1.01, 1), loc="upper left", ncol=1, fontsize=ax_labelsize) - - if title: - ax.set_title( - f"Model comparison\n{'higher' if scale == 'log' else 'lower'} is better", - fontsize=ax_labelsize, - ) - - if scale == "negative_log": - scale = "-log" - - ax.set_xlabel(f"{information_criterion} ({scale})", fontsize=ax_labelsize) - ax.set_ylabel("ranked models", fontsize=ax_labelsize) - ax.set_yticklabels(yticks_labels) - ax.set_ylim(-1 + step, 0 - step) - ax.tick_params(labelsize=xt_labelsize) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/densityplot.py b/arviz/plots/backends/matplotlib/densityplot.py deleted file mode 100644 index b72641985c..0000000000 --- a/arviz/plots/backends/matplotlib/densityplot.py +++ /dev/null @@ -1,194 +0,0 @@ -"""Matplotlib Densityplot.""" - -from itertools import cycle - -import matplotlib.pyplot as plt -import numpy as np - -from ....stats import hdi -from ....stats.density_utils import get_bins, kde -from ...plot_utils import _scale_fig_size, calculate_point_estimate -from . import backend_kwarg_defaults, backend_show, create_axes_grid - - -def plot_density( - ax, - all_labels, - to_plot, - colors, - bw, - circular, - figsize, - length_plotters, - rows, - cols, - textsize, - labeller, - hdi_prob, - point_estimate, - hdi_markers, - outline, - shade, - n_data, - data_labels, - backend_kwargs, - show, -): - """Matplotlib densityplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - if colors == "cycle": - colors = [ - prop - for _, prop in zip( - range(n_data), cycle(plt.rcParams["axes.prop_cycle"].by_key()["color"]) - ) - ] - elif isinstance(colors, str): - colors = [colors for _ in range(n_data)] - - (figsize, _, titlesize, xt_labelsize, linewidth, markersize) = _scale_fig_size( - figsize, textsize, rows, cols - ) - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("squeeze", False) - if ax is None: - _, ax = create_axes_grid( - length_plotters, - rows, - cols, - backend_kwargs=backend_kwargs, - ) - - axis_map = dict(zip(all_labels, np.ravel(ax))) - - for m_idx, plotters in enumerate(to_plot): - for var_name, selection, isel, values in plotters: - label = labeller.make_label_vert(var_name, selection, isel) - _d_helper( - values.flatten(), - label, - colors[m_idx], - bw, - circular, - titlesize, - xt_labelsize, - linewidth, - markersize, - hdi_prob, - point_estimate, - hdi_markers, - outline, - shade, - axis_map[label], - ) - - if n_data > 1: - for m_idx, label in enumerate(data_labels): - np.ravel(ax).item(0).plot([], label=label, c=colors[m_idx], markersize=markersize) - np.ravel(ax).item(0).legend(fontsize=xt_labelsize) - - if backend_show(show): - plt.show() - - return ax - - -def _d_helper( - vec, - vname, - color, - bw, - circular, - titlesize, - xt_labelsize, - linewidth, - markersize, - hdi_prob, - point_estimate, - hdi_markers, - outline, - shade, - ax, -): - """Plot an individual dimension. - - Parameters - ---------- - vec : array - 1D array from trace - vname : str - variable name - color : str - matplotlib color - bw: float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be - one of "scott", "silverman", "isj" or "experimental" when `circular` is False - and "taylor" (for now) when `circular` is True. - titlesize : float - font size for title - xt_labelsize : float - fontsize for xticks - linewidth : float - Thickness of lines - markersize : float - Size of markers - hdi_prob : float - Probability for the highest density interval. Defaults to 0.94 - point_estimate : Optional[str] - Plot point estimate per variable. Values should be 'mean', 'median', 'mode' or None. - Defaults to 'auto' i.e. it falls back to default set in rcParams. - shade : float - Alpha blending value for the shaded area under the curve, between 0 (no shade) and 1 - (opaque). Defaults to 0. - ax : matplotlib axes - """ - if vec.dtype.kind == "f": - if hdi_prob != 1: - hdi_ = hdi(vec, hdi_prob, multimodal=False) - new_vec = vec[(vec >= hdi_[0]) & (vec <= hdi_[1])] - else: - new_vec = vec - - x, density = kde(new_vec, circular=circular, bw=bw) - density *= hdi_prob - xmin, xmax = x[0], x[-1] - ymin, ymax = density[0], density[-1] - - if outline: - ax.plot(x, density, color=color, lw=linewidth) - ax.plot([xmin, xmin], [-ymin / 100, ymin], color=color, ls="-", lw=linewidth) - ax.plot([xmax, xmax], [-ymax / 100, ymax], color=color, ls="-", lw=linewidth) - - if shade: - ax.fill_between(x, density, color=color, alpha=shade) - - else: - xmin, xmax = hdi(vec, hdi_prob, multimodal=False) - bins = get_bins(vec) - if outline: - ax.hist(vec, bins=bins, color=color, histtype="step", align="left") - if shade: - ax.hist(vec, bins=bins, color=color, alpha=shade) - - if hdi_markers: - ax.plot(xmin, 0, hdi_markers, color=color, markeredgecolor="k", markersize=markersize) - ax.plot(xmax, 0, hdi_markers, color=color, markeredgecolor="k", markersize=markersize) - - if point_estimate is not None: - est = calculate_point_estimate(point_estimate, vec, bw) - ax.plot(est, 0, "o", color=color, markeredgecolor="k", markersize=markersize) - - ax.set_yticks([]) - ax.set_title(vname, fontsize=titlesize, wrap=True) - for pos in ["left", "right", "top"]: - ax.spines[pos].set_visible(False) - ax.tick_params(labelsize=xt_labelsize) diff --git a/arviz/plots/backends/matplotlib/distcomparisonplot.py b/arviz/plots/backends/matplotlib/distcomparisonplot.py deleted file mode 100644 index 66305f097b..0000000000 --- a/arviz/plots/backends/matplotlib/distcomparisonplot.py +++ /dev/null @@ -1,119 +0,0 @@ -"""Matplotlib Density Comparison plot.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ...distplot import plot_dist -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show - - -def plot_dist_comparison( - ax, - nvars, - ngroups, - figsize, - dc_plotters, - legend, - groups, - textsize, - labeller, - prior_kwargs, - posterior_kwargs, - observed_kwargs, - backend_kwargs, - show, -): - """Matplotlib Density Comparison plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - if prior_kwargs is None: - prior_kwargs = {} - - if posterior_kwargs is None: - posterior_kwargs = {} - - if observed_kwargs is None: - observed_kwargs = {} - - if backend_kwargs is None: - backend_kwargs = {} - - (figsize, _, _, _, linewidth, _) = _scale_fig_size(figsize, textsize, 2 * nvars, ngroups) - - backend_kwargs.setdefault("figsize", figsize) - - posterior_kwargs.setdefault("plot_kwargs", {}) - posterior_kwargs["plot_kwargs"]["color"] = posterior_kwargs["plot_kwargs"].get("color", "C0") - posterior_kwargs["plot_kwargs"].setdefault("linewidth", linewidth) - posterior_kwargs.setdefault("hist_kwargs", {}) - posterior_kwargs["hist_kwargs"].setdefault("alpha", 0.5) - - prior_kwargs.setdefault("plot_kwargs", {}) - prior_kwargs["plot_kwargs"]["color"] = prior_kwargs["plot_kwargs"].get("color", "C1") - prior_kwargs["plot_kwargs"].setdefault("linewidth", linewidth) - prior_kwargs.setdefault("hist_kwargs", {}) - prior_kwargs["hist_kwargs"].setdefault("alpha", 0.5) - - observed_kwargs.setdefault("plot_kwargs", {}) - observed_kwargs["plot_kwargs"]["color"] = observed_kwargs["plot_kwargs"].get("color", "C2") - observed_kwargs["plot_kwargs"].setdefault("linewidth", linewidth) - observed_kwargs.setdefault("hist_kwargs", {}) - observed_kwargs["hist_kwargs"].setdefault("alpha", 0.5) - - if ax is None: - axes = np.empty((nvars, ngroups + 1), dtype=object) - fig = plt.figure(**backend_kwargs) - gs = fig.add_gridspec(ncols=ngroups, nrows=nvars * 2) - for i in range(nvars): - for j in range(ngroups): - axes[i, j] = fig.add_subplot(gs[2 * i, j]) - axes[i, -1] = fig.add_subplot(gs[2 * i + 1, :]) - - else: - axes = ax - if ax.shape != (nvars, ngroups + 1): - raise ValueError( - f"Found {axes.shape} shape of axes, " - f"which is not equal to data shape {(nvars, ngroups + 1)}." - ) - - for idx, plotter in enumerate(dc_plotters): - group = groups[idx] - kwargs = ( - prior_kwargs - if group.startswith("prior") - else posterior_kwargs if group.startswith("posterior") else observed_kwargs - ) - for idx2, ( - var_name, - sel, - isel, - data, - ) in enumerate(plotter): - label = f"{group}" - plot_dist( - data, - label=label if legend else None, - ax=axes[idx2, idx], - **kwargs, - ) - plot_dist( - data, - label=label if legend else None, - ax=axes[idx2, -1], - **kwargs, - ) - if idx == 0: - axes[idx2, -1].set_xlabel(labeller.make_label_vert(var_name, sel, isel)) - - if backend_show(show): - plt.show() - - return axes diff --git a/arviz/plots/backends/matplotlib/distplot.py b/arviz/plots/backends/matplotlib/distplot.py deleted file mode 100644 index afd539de5b..0000000000 --- a/arviz/plots/backends/matplotlib/distplot.py +++ /dev/null @@ -1,178 +0,0 @@ -"""Matplotlib distplot.""" - -import matplotlib.pyplot as plt -from matplotlib import _pylab_helpers -import numpy as np - -from ....stats.density_utils import get_bins -from ...kdeplot import plot_kde -from ...plot_utils import _scale_fig_size, _init_kwargs_dict -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_dist( - values, - values2, - color, - kind, - cumulative, - label, - rotated, - rug, - bw, - quantiles, - contour, - fill_last, - figsize, - textsize, - plot_kwargs, - fill_kwargs, - rug_kwargs, - contour_kwargs, - contourf_kwargs, - pcolormesh_kwargs, - hist_kwargs, - is_circular, - ax, - backend_kwargs, - show, -): - """Matplotlib distplot.""" - backend_kwargs = _init_kwargs_dict(backend_kwargs) - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, *_ = _scale_fig_size(figsize, textsize) - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - backend_kwargs.setdefault("subplot_kw", {}) - backend_kwargs["subplot_kw"].setdefault("polar", is_circular) - - if ax is None: - fig_manager = _pylab_helpers.Gcf.get_active() - if fig_manager is not None: - ax = fig_manager.canvas.figure.gca() - else: - _, ax = create_axes_grid( - 1, - backend_kwargs=backend_kwargs, - ) - - if kind == "hist": - hist_kwargs = matplotlib_kwarg_dealiaser(hist_kwargs, "hist") - hist_kwargs.setdefault("cumulative", cumulative) - hist_kwargs.setdefault("color", color) - hist_kwargs.setdefault("label", label) - hist_kwargs.setdefault("rwidth", 0.9) - hist_kwargs.setdefault("density", True) - - if rotated: - hist_kwargs.setdefault("orientation", "horizontal") - else: - hist_kwargs.setdefault("orientation", "vertical") - - ax = _histplot_mpl_op( - values=values, - values2=values2, - rotated=rotated, - ax=ax, - hist_kwargs=hist_kwargs, - is_circular=is_circular, - ) - - elif kind == "kde": - plot_kwargs = matplotlib_kwarg_dealiaser(plot_kwargs, "plot") - plot_kwargs.setdefault("color", color) - legend = label is not None - - ax = plot_kde( - values, - values2, - cumulative=cumulative, - rug=rug, - label=label, - bw=bw, - quantiles=quantiles, - rotated=rotated, - contour=contour, - legend=legend, - fill_last=fill_last, - textsize=textsize, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - contour_kwargs=contour_kwargs, - contourf_kwargs=contourf_kwargs, - pcolormesh_kwargs=pcolormesh_kwargs, - ax=ax, - backend="matplotlib", - backend_kwargs=backend_kwargs, - is_circular=is_circular, - show=show, - ) - - if backend_show(show): - plt.show() - - return ax - - -def _histplot_mpl_op(values, values2, rotated, ax, hist_kwargs, is_circular): - """Add a histogram for the data to the axes.""" - bins = hist_kwargs.pop("bins", None) - - if is_circular == "degrees": - if bins is None: - bins = get_bins(values) - values = np.deg2rad(values) - bins = np.deg2rad(bins) - - elif is_circular: - labels = [ - "0", - f"{np.pi/4:.2f}", - f"{np.pi/2:.2f}", - f"{3*np.pi/4:.2f}", - f"{np.pi:.2f}", - f"{-3*np.pi/4:.2f}", - f"{-np.pi/2:.2f}", - f"{-np.pi/4:.2f}", - ] - - ax.set_xticklabels(labels) - - if values2 is not None: - raise NotImplementedError("Insert hexbin plot here") - - if bins is None: - bins = get_bins(values) - - if values.dtype.kind == "i": - hist_kwargs.setdefault("align", "left") - else: - hist_kwargs.setdefault("align", "mid") - - n, bins, _ = ax.hist(np.asarray(values).flatten(), bins=bins, **hist_kwargs) - - if values.dtype.kind == "i": - ticks = bins[:-1] - else: - ticks = (bins[1:] + bins[:-1]) / 2 - - if rotated: - ax.set_yticks(ticks) - elif not is_circular: - ax.set_xticks(ticks) - - if is_circular: - ax.set_ylim(0, 1.5 * n.max()) - ax.set_yticklabels([]) - - if hist_kwargs.get("label") is not None: - ax.legend() - - return ax diff --git a/arviz/plots/backends/matplotlib/dotplot.py b/arviz/plots/backends/matplotlib/dotplot.py deleted file mode 100644 index 73250bed28..0000000000 --- a/arviz/plots/backends/matplotlib/dotplot.py +++ /dev/null @@ -1,116 +0,0 @@ -"""Matplotlib dotplot.""" - -import math -import warnings -import numpy as np -import matplotlib.pyplot as plt -from matplotlib import _pylab_helpers - -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, create_axes_grid, backend_show -from ...plot_utils import plot_point_interval -from ...dotplot import wilkinson_algorithm, layout_stacks - - -def plot_dot( - values, - binwidth, - dotsize, - stackratio, - hdi_prob, - quartiles, - rotated, - dotcolor, - intervalcolor, - markersize, - markercolor, - marker, - figsize, - linewidth, - point_estimate, - nquantiles, - point_interval, - ax, - show, - backend_kwargs, - plot_kwargs, -): - """Matplotlib dotplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = {**backend_kwarg_defaults(), **backend_kwargs} - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - (figsize, _, _, _, auto_linewidth, auto_markersize) = _scale_fig_size(figsize, None) - - if plot_kwargs is None: - plot_kwargs = {} - plot_kwargs.setdefault("color", dotcolor) - - if linewidth is None: - linewidth = auto_linewidth - - if markersize is None: - markersize = auto_markersize - - if ax is None: - fig_manager = _pylab_helpers.Gcf.get_active() - if fig_manager is not None: - ax = fig_manager.canvas.figure.gca() - else: - _, ax = create_axes_grid( - 1, - backend_kwargs=backend_kwargs, - ) - - if point_interval: - ax = plot_point_interval( - ax, - values, - point_estimate, - hdi_prob, - quartiles, - linewidth, - markersize, - markercolor, - marker, - rotated, - intervalcolor, - "matplotlib", - ) - - if nquantiles > values.shape[0]: - warnings.warn( - "nquantiles must be less than or equal to the number of data points", UserWarning - ) - nquantiles = values.shape[0] - else: - qlist = np.linspace(1 / (2 * nquantiles), 1 - 1 / (2 * nquantiles), nquantiles) - values = np.quantile(values, qlist) - - if binwidth is None: - binwidth = math.sqrt((values[-1] - values[0] + 1) ** 2 / (2 * nquantiles * np.pi)) - - ## Wilkinson's Algorithm - stack_locs, stack_count = wilkinson_algorithm(values, binwidth) - x, y = layout_stacks(stack_locs, stack_count, binwidth, stackratio, rotated) - - for x_i, y_i in zip(x, y): - dot = plt.Circle((x_i, y_i), dotsize * binwidth / 2, **plot_kwargs) - ax.add_patch(dot) - - if rotated: - ax.tick_params(bottom=False, labelbottom=False) - else: - ax.tick_params(left=False, labelleft=False) - - ax.set_aspect("equal", adjustable="datalim") - ax.autoscale() - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/ecdfplot.py b/arviz/plots/backends/matplotlib/ecdfplot.py deleted file mode 100644 index bb9764cdb2..0000000000 --- a/arviz/plots/backends/matplotlib/ecdfplot.py +++ /dev/null @@ -1,70 +0,0 @@ -"""Matplotlib ecdfplot.""" - -import matplotlib.pyplot as plt -from matplotlib.colors import to_hex - -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, create_axes_grid, backend_show - - -def plot_ecdf( - x_coord, - y_coord, - x_bands, - lower, - higher, - plot_kwargs, - fill_kwargs, - plot_outline_kwargs, - figsize, - fill_band, - ax, - show, - backend_kwargs, -): - """Matplotlib ecdfplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, _, _, _, _, _) = _scale_fig_size(figsize, None) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - if ax is None: - _, ax = create_axes_grid(1, backend_kwargs=backend_kwargs) - - if plot_kwargs is None: - plot_kwargs = {} - - plot_kwargs.setdefault("where", "post") - - if fill_band: - if fill_kwargs is None: - fill_kwargs = {} - fill_kwargs.setdefault("step", "post") - fill_kwargs.setdefault("color", to_hex("C0")) - fill_kwargs.setdefault("alpha", 0.2) - else: - if plot_outline_kwargs is None: - plot_outline_kwargs = {} - plot_outline_kwargs.setdefault("where", "post") - plot_outline_kwargs.setdefault("color", to_hex("C0")) - plot_outline_kwargs.setdefault("alpha", 0.2) - - ax.step(x_coord, y_coord, **plot_kwargs) - - if x_bands is not None: - if fill_band: - ax.fill_between(x_bands, lower, higher, **fill_kwargs) - else: - ax.plot(x_bands, lower, x_bands, higher, **plot_outline_kwargs) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/elpdplot.py b/arviz/plots/backends/matplotlib/elpdplot.py deleted file mode 100644 index 456beb6557..0000000000 --- a/arviz/plots/backends/matplotlib/elpdplot.py +++ /dev/null @@ -1,189 +0,0 @@ -"""Matplotlib ELPDPlot.""" - -import warnings - -from matplotlib import cm -import matplotlib.pyplot as plt -import numpy as np -from matplotlib.lines import Line2D - -from ....rcparams import rcParams -from ...plot_utils import _scale_fig_size, color_from_dim, set_xticklabels -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_elpd( - ax, - models, - pointwise_data, - numvars, - figsize, - textsize, - plot_kwargs, - xlabels, - coord_labels, - xdata, - threshold, - legend, - color, - backend_kwargs, - show, -): - """Matplotlib elpd plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - backend_kwargs.setdefault("constrained_layout", not xlabels) - - plot_kwargs = matplotlib_kwarg_dealiaser(plot_kwargs, "scatter") - - markersize = None - - if isinstance(color, str) and color in pointwise_data[0].dims: - colors, color_mapping = color_from_dim(pointwise_data[0], color) - cmap_name = plot_kwargs.pop("cmap", plt.rcParams["image.cmap"]) - markersize = plot_kwargs.pop("s", plt.rcParams["lines.markersize"]) - cmap = getattr(cm, cmap_name) - handles = [ - Line2D([], [], color=cmap(float_color), label=coord, ms=markersize, lw=0, **plot_kwargs) - for coord, float_color in color_mapping.items() - ] - plot_kwargs.setdefault("cmap", cmap_name) - plot_kwargs.setdefault("s", markersize**2) - plot_kwargs.setdefault("c", colors) - else: - legend = False - plot_kwargs.setdefault("c", color) - - # flatten data (data must be flattened after selecting, labeling and coloring) - pointwise_data = [pointwise.values.flatten() for pointwise in pointwise_data] - - if numvars == 2: - (figsize, ax_labelsize, titlesize, xt_labelsize, _, markersize) = _scale_fig_size( - figsize, textsize, numvars - 1, numvars - 1 - ) - plot_kwargs.setdefault("s", markersize**2) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - if ax is None: - fig, ax = create_axes_grid( - 1, - backend_kwargs=backend_kwargs, - ) - else: - fig = ax.get_figure() - - ydata = pointwise_data[0] - pointwise_data[1] - ax.scatter(xdata, ydata, **plot_kwargs) - if threshold is not None: - diff_abs = np.abs(ydata - ydata.mean()) - bool_ary = diff_abs > threshold * ydata.std() - if coord_labels is None: - coord_labels = xdata.astype(str) - outliers = np.nonzero(bool_ary)[0] - for outlier in outliers: - label = coord_labels[outlier] - ax.text( - outlier, - ydata[outlier], - label, - horizontalalignment="center", - verticalalignment="bottom" if ydata[outlier] > 0 else "top", - fontsize=0.8 * xt_labelsize, - ) - - ax.set_title("{} - {}".format(*models), fontsize=titlesize, wrap=True) - ax.set_ylabel("ELPD difference", fontsize=ax_labelsize, wrap=True) - ax.tick_params(labelsize=xt_labelsize) - if xlabels: - set_xticklabels(ax, coord_labels) - fig.autofmt_xdate() - fig.tight_layout() - if legend: - ncols = len(handles) // 6 + 1 - ax.legend(handles=handles, ncol=ncols, title=color) - - else: - max_plots = ( - numvars**2 if rcParams["plot.max_subplots"] is None else rcParams["plot.max_subplots"] - ) - vars_to_plot = np.sum(np.arange(numvars).cumsum() < max_plots) - if vars_to_plot < numvars: - warnings.warn( - "rcParams['plot.max_subplots'] ({max_plots}) is smaller than the number " - "of resulting ELPD pairwise plots with these variables, generating only a " - "{side}x{side} grid".format(max_plots=max_plots, side=vars_to_plot), - UserWarning, - ) - numvars = vars_to_plot - - (figsize, ax_labelsize, titlesize, xt_labelsize, _, markersize) = _scale_fig_size( - figsize, textsize, numvars - 2, numvars - 2 - ) - plot_kwargs.setdefault("s", markersize**2) - - if ax is None: - fig, ax = plt.subplots( - numvars - 1, - numvars - 1, - figsize=figsize, - squeeze=False, - constrained_layout=not xlabels, - sharey="row", - sharex="col", - ) - else: - fig = ax.ravel()[0].get_figure() - - for i in range(0, numvars - 1): - var1 = pointwise_data[i] - - for j in range(0, numvars - 1): - if j < i: - ax[j, i].axis("off") - continue - - var2 = pointwise_data[j + 1] - ax[j, i].scatter(xdata, var1 - var2, **plot_kwargs) - if threshold is not None: - ydata = var1 - var2 - diff_abs = np.abs(ydata - ydata.mean()) - bool_ary = diff_abs > threshold * ydata.std() - if coord_labels is None: - coord_labels = xdata.astype(str) - outliers = np.nonzero(bool_ary)[0] - for outlier in outliers: - label = coord_labels[outlier] - ax[j, i].text( - outlier, - ydata[outlier], - label, - horizontalalignment="center", - verticalalignment="bottom" if ydata[outlier] > 0 else "top", - fontsize=0.8 * xt_labelsize, - ) - - if i == 0: - ax[j, i].set_ylabel("ELPD difference", fontsize=ax_labelsize, wrap=True) - - ax[j, i].tick_params(labelsize=xt_labelsize) - ax[j, i].set_title(f"{models[i]} - {models[j + 1]}", fontsize=titlesize, wrap=True) - if xlabels: - for i in range(len(ax)): - set_xticklabels(ax[-1, i], coord_labels) - fig.autofmt_xdate() - fig.tight_layout() - if legend: - ncols = len(handles) // 6 + 1 - ax[0, 1].legend( - handles=handles, ncol=ncols, title=color, bbox_to_anchor=(0, 1), loc="upper left" - ) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/energyplot.py b/arviz/plots/backends/matplotlib/energyplot.py deleted file mode 100644 index 3c263248c0..0000000000 --- a/arviz/plots/backends/matplotlib/energyplot.py +++ /dev/null @@ -1,113 +0,0 @@ -"""Matplotlib energyplot.""" - -from itertools import cycle - -import matplotlib.pyplot as plt -import numpy as np -from matplotlib.pyplot import rcParams as mpl_rcParams - -from ....stats import bfmi as e_bfmi -from ...kdeplot import plot_kde -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_energy( - ax, - energy, - kind, - bfmi, - figsize, - textsize, - fill_alpha, - fill_color, - fill_kwargs, - plot_kwargs, - bw, - legend, - backend_kwargs, - show, -): - """Matplotlib energy plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, _, _, xt_labelsize, linewidth, _ = _scale_fig_size(figsize, textsize, 1, 1) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - if ax is None: - _, ax = create_axes_grid(1, backend_kwargs=backend_kwargs) - - fill_kwargs = matplotlib_kwarg_dealiaser(fill_kwargs, "hexbin") - types = "hist" if kind == "hist" else "plot" - plot_kwargs = matplotlib_kwarg_dealiaser(plot_kwargs, types) - - _colors = [ - prop for _, prop in zip(range(10), cycle(mpl_rcParams["axes.prop_cycle"].by_key()["color"])) - ] - if (fill_color[0].startswith("C") and len(fill_color[0]) == 2) and ( - fill_color[1].startswith("C") and len(fill_color[1]) == 2 - ): - fill_color = tuple((_colors[int(color[1:]) % 10] for color in fill_color)) - elif fill_color[0].startswith("C") and len(fill_color[0]) == 2: - fill_color = tuple([_colors[int(fill_color[0][1:]) % 10]] + list(fill_color[1:])) - elif fill_color[1].startswith("C") and len(fill_color[1]) == 2: - fill_color = tuple(list(fill_color[1:]) + [_colors[int(fill_color[0][1:]) % 10]]) - - series = zip( - fill_alpha, - fill_color, - ("Marginal Energy", "Energy transition"), - (energy - energy.mean(), np.diff(energy)), - ) - - if kind == "kde": - for alpha, color, label, value in series: - fill_kwargs["alpha"] = alpha - fill_kwargs["color"] = color - plot_kwargs.setdefault("color", color) - plot_kwargs.setdefault("alpha", 0) - plot_kwargs.setdefault("linewidth", linewidth) - plot_kde( - value, - bw=bw, - label=label, - textsize=xt_labelsize, - fill_kwargs=fill_kwargs, - plot_kwargs=plot_kwargs, - ax=ax, - legend=False, - ) - elif kind == "hist": - for alpha, color, label, value in series: - ax.hist( - value.flatten(), - bins="auto", - density=True, - alpha=alpha, - label=label, - color=color, - **plot_kwargs, - ) - - else: - raise ValueError(f"Plot type {kind} not recognized.") - - if bfmi: - for idx, val in enumerate(e_bfmi(energy)): - ax.plot([], label=f"chain {idx:>2} BFMI = {val:.2f}", alpha=0) - if legend: - ax.legend() - - ax.set_xticks([]) - ax.set_yticks([]) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/essplot.py b/arviz/plots/backends/matplotlib/essplot.py deleted file mode 100644 index 8071b88405..0000000000 --- a/arviz/plots/backends/matplotlib/essplot.py +++ /dev/null @@ -1,180 +0,0 @@ -"""Matplotlib energyplot.""" - -import matplotlib.pyplot as plt -import numpy as np -from scipy.stats import rankdata - -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_ess( - ax, - plotters, - xdata, - ess_tail_dataset, - mean_ess, - sd_ess, - idata, - data, - kind, - extra_methods, - textsize, - rows, - cols, - figsize, - kwargs, - extra_kwargs, - text_kwargs, - n_samples, - relative, - min_ess, - labeller, - ylabel, - rug, - rug_kind, - rug_kwargs, - hline_kwargs, - backend_kwargs, - show, -): - """Matplotlib ess plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, ax_labelsize, titlesize, xt_labelsize, _linewidth, _markersize) = _scale_fig_size( - figsize, textsize, rows, cols - ) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - kwargs = matplotlib_kwarg_dealiaser(kwargs, "plot") - _linestyle = "-" if kind == "evolution" else "none" - kwargs.setdefault("linestyle", _linestyle) - kwargs.setdefault("linewidth", _linewidth) - kwargs.setdefault("markersize", _markersize) - kwargs.setdefault("marker", "o") - kwargs.setdefault("zorder", 3) - - extra_kwargs = matplotlib_kwarg_dealiaser(extra_kwargs, "plot") - if kind == "evolution": - extra_kwargs = { - **extra_kwargs, - **{key: item for key, item in kwargs.items() if key not in extra_kwargs}, - } - kwargs.setdefault("label", "bulk") - extra_kwargs.setdefault("label", "tail") - else: - extra_kwargs.setdefault("linewidth", _linewidth / 2) - extra_kwargs.setdefault("color", "k") - extra_kwargs.setdefault("alpha", 0.5) - kwargs.setdefault("label", kind) - - hline_kwargs = matplotlib_kwarg_dealiaser(hline_kwargs, "plot") - hline_kwargs.setdefault("linewidth", _linewidth) - hline_kwargs.setdefault("linestyle", "--") - hline_kwargs.setdefault("color", "gray") - hline_kwargs.setdefault("alpha", 0.7) - if extra_methods: - text_kwargs = matplotlib_kwarg_dealiaser(text_kwargs, "text") - text_x = text_kwargs.pop("x", 1) - text_kwargs.setdefault("fontsize", xt_labelsize * 0.7) - text_kwargs.setdefault("alpha", extra_kwargs["alpha"]) - text_kwargs.setdefault("color", extra_kwargs["color"]) - text_kwargs.setdefault("horizontalalignment", "right") - text_va = text_kwargs.pop("verticalalignment", None) - - if ax is None: - _, ax = create_axes_grid( - len(plotters), - rows, - cols, - backend_kwargs=backend_kwargs, - ) - - for (var_name, selection, isel, x), ax_ in zip(plotters, np.ravel(ax)): - ax_.plot(xdata, x, **kwargs) - if kind == "evolution": - ess_tail = ess_tail_dataset[var_name].sel(**selection) - ax_.plot(xdata, ess_tail, **extra_kwargs) - elif rug: - rug_kwargs = matplotlib_kwarg_dealiaser(rug_kwargs, "plot") - if not hasattr(idata, "sample_stats"): - raise ValueError("InferenceData object must contain sample_stats for rug plot") - if not hasattr(idata.sample_stats, rug_kind): - raise ValueError(f"InferenceData does not contain {rug_kind} data") - rug_kwargs.setdefault("marker", "|") - rug_kwargs.setdefault("linestyle", rug_kwargs.pop("ls", "None")) - rug_kwargs.setdefault("color", rug_kwargs.pop("c", kwargs.get("color", "C0"))) - rug_kwargs.setdefault("space", 0.1) - rug_kwargs.setdefault("markersize", rug_kwargs.pop("ms", 2 * _markersize)) - - values = data[var_name].sel(**selection).values.flatten() - mask = idata.sample_stats[rug_kind].values.flatten() - values = rankdata(values, method="average")[mask] - rug_space = np.max(x) * rug_kwargs.pop("space") - rug_x, rug_y = values / (len(mask) - 1), np.zeros_like(values) - rug_space - ax_.plot(rug_x, rug_y, **rug_kwargs) - ax_.axhline(0, color="k", linewidth=_linewidth, alpha=0.7) - if extra_methods: - mean_ess_i = mean_ess[var_name].sel(**selection).values.item() - sd_ess_i = sd_ess[var_name].sel(**selection).values.item() - ax_.axhline(mean_ess_i, **extra_kwargs) - ax_.annotate( - "mean", - (text_x, mean_ess_i), - va=( - text_va - if text_va is not None - else "bottom" if mean_ess_i >= sd_ess_i else "top" - ), - **text_kwargs, - ) - ax_.axhline(sd_ess_i, **extra_kwargs) - ax_.annotate( - "sd", - (text_x, sd_ess_i), - va=text_va if text_va is not None else "bottom" if sd_ess_i > mean_ess_i else "top", - **text_kwargs, - ) - - if relative and kind == "evolution": - thin_xdata = np.linspace(xdata.min(), xdata.max(), 100) - ax_.plot(thin_xdata, min_ess / thin_xdata, **hline_kwargs) - else: - hline = min_ess / n_samples if relative else min_ess - ax_.axhline(hline, **hline_kwargs) - - ax_.set_title( - labeller.make_label_vert(var_name, selection, isel), fontsize=titlesize, wrap=True - ) - ax_.tick_params(labelsize=xt_labelsize) - ax_.set_xlabel( - "Total number of draws" if kind == "evolution" else "Quantile", fontsize=ax_labelsize - ) - ax_.set_ylabel( - ylabel.format("Relative ESS" if relative else "ESS"), fontsize=ax_labelsize, wrap=True - ) - if kind == "evolution": - ax_.legend(title="Method", fontsize=xt_labelsize, title_fontsize=xt_labelsize) - else: - ax_.set_xlim(0, 1) - if rug: - ax_.yaxis.get_major_locator().set_params(nbins="auto", steps=[1, 2, 5, 10]) - _, ymax = ax_.get_ylim() - yticks = ax_.get_yticks().astype(np.int64) - yticks = yticks[(yticks >= 0) & (yticks < ymax)] - ax_.set_yticks(yticks) - ax_.set_yticklabels(yticks) - else: - ax_.set_ylim(bottom=0) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/forestplot.py b/arviz/plots/backends/matplotlib/forestplot.py deleted file mode 100644 index 25a085b60c..0000000000 --- a/arviz/plots/backends/matplotlib/forestplot.py +++ /dev/null @@ -1,656 +0,0 @@ -"""Matplotlib forestplot.""" - -from collections import OrderedDict, defaultdict -from itertools import tee - -import matplotlib.pyplot as plt -import numpy as np -from matplotlib.colors import to_rgba -from matplotlib.lines import Line2D - -from ....stats import hdi -from ....stats.density_utils import get_bins, histogram, kde -from ....stats.diagnostics import _ess, _rhat -from ....sel_utils import xarray_var_iter -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show - - -def pairwise(iterable): - """From itertools cookbook. [a, b, c, ...] -> (a, b), (b, c), ...""" - first, second = tee(iterable) - next(second, None) - return zip(first, second) - - -def plot_forest( - ax, - datasets, - var_names, - model_names, - combined, - combine_dims, - colors, - figsize, - width_ratios, - linewidth, - markersize, - kind, - ncols, - hdi_prob, - quartiles, - rope, - ridgeplot_overlap, - ridgeplot_alpha, - ridgeplot_kind, - ridgeplot_truncate, - ridgeplot_quantiles, - textsize, - legend, - labeller, - ess, - r_hat, - backend_kwargs, - backend_config, # pylint: disable=unused-argument - show, -): - """Matplotlib forest plot.""" - plot_handler = PlotHandler( - datasets, - var_names=var_names, - model_names=model_names, - combined=combined, - combine_dims=combine_dims, - colors=colors, - labeller=labeller, - ) - - if figsize is None: - if kind == "ridgeplot": - figsize = (min(14, sum(width_ratios) * 4), plot_handler.fig_height() * 1.2) - else: - figsize = (min(12, sum(width_ratios) * 2), plot_handler.fig_height()) - - (figsize, _, titlesize, xt_labelsize, auto_linewidth, auto_markersize) = _scale_fig_size( - figsize, textsize, 1.1, 1 - ) - - if linewidth is None: - linewidth = auto_linewidth - - if markersize is None: - markersize = auto_markersize - - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - if ax is None: - _, axes = plt.subplots( - nrows=1, - ncols=ncols, - figsize=figsize, - gridspec_kw={"width_ratios": width_ratios}, - sharey=True, - **backend_kwargs, - ) - else: - axes = ax - - axes = np.atleast_1d(axes) - if kind == "forestplot": - plot_handler.forestplot( - hdi_prob, - quartiles, - xt_labelsize, - titlesize, - linewidth, - markersize, - axes[0], - rope, - ) - elif kind == "ridgeplot": - plot_handler.ridgeplot( - hdi_prob, - ridgeplot_overlap, - linewidth, - markersize, - ridgeplot_alpha, - ridgeplot_kind, - ridgeplot_truncate, - ridgeplot_quantiles, - axes[0], - ) - else: - raise TypeError( - f"Argument 'kind' must be one of 'forestplot' " f"or 'ridgeplot' (you provided {kind})" - ) - - idx = 1 - if ess: - plot_handler.plot_neff(axes[idx], xt_labelsize, titlesize, markersize) - idx += 1 - - if r_hat: - plot_handler.plot_rhat(axes[idx], xt_labelsize, titlesize, markersize) - idx += 1 - - for ax_ in axes: - if kind == "ridgeplot": - ax_.grid(False) - else: - ax_.grid(False, axis="y") - # Remove ticklines on y-axes - ax_.tick_params(axis="y", left=False, right=False) - - for loc, spine in ax_.spines.items(): - if loc in ["left", "right"]: - spine.set_visible(False) - - if len(plot_handler.data) > 1: - plot_handler.make_bands(ax_) - - labels, ticks = plot_handler.labels_and_ticks() - axes[0].set_yticks(ticks) - axes[0].set_yticklabels(labels) - all_plotters = list(plot_handler.plotters.values()) - y_max = plot_handler.y_max() - all_plotters[-1].group_offset - if kind == "ridgeplot": # space at the top - y_max += ridgeplot_overlap - axes[0].set_ylim(-all_plotters[0].group_offset, y_max) - if legend: - plot_handler.legend(ax=axes[0]) - - if backend_show(show): - plt.show() - - return axes - - -class PlotHandler: - """Class to handle logic from ForestPlot.""" - - # pylint: disable=inconsistent-return-statements - - def __init__(self, datasets, var_names, model_names, combined, combine_dims, colors, labeller): - self.data = datasets - - if model_names is None: - if len(self.data) > 1: - model_names = [f"Model {idx}" for idx, _ in enumerate(self.data)] - else: - model_names = [None] - elif len(model_names) != len(self.data): - raise ValueError("The number of model names does not match the number of models") - - self.model_names = list(reversed(model_names)) # y-values are upside down - - if var_names is None: - if len(self.data) > 1: - self.var_names = list( - set().union(*[OrderedDict(datum.data_vars) for datum in self.data]) - ) - else: - self.var_names = list( - reversed(*[OrderedDict(datum.data_vars) for datum in self.data]) - ) - else: - self.var_names = list(reversed(var_names)) # y-values are upside down - - self.combined = combined - self.combine_dims = combine_dims - - if colors == "cycle": - # TODO: Use matplotlib prop cycle instead - colors = [f"C{idx}" for idx, _ in enumerate(self.data)] - elif isinstance(colors, str): - colors = [colors for _ in self.data] - - self.colors = list(reversed(colors)) # y-values are upside down - self.labeller = labeller - - self.plotters = self.make_plotters() - - def make_plotters(self): - """Initialize an object for each variable to be plotted.""" - plotters, y = {}, 0 - for var_name in self.var_names: - plotters[var_name] = VarHandler( - var_name, - self.data, - y, - model_names=self.model_names, - combined=self.combined, - combine_dims=self.combine_dims, - colors=self.colors, - labeller=self.labeller, - ) - y = plotters[var_name].y_max() - return plotters - - def labels_and_ticks(self): - """Collect labels and ticks from plotters.""" - val = self.plotters.values() - - def label_idxs(): - labels, idxs = [], [] - for plotter in val: - sub_labels, sub_idxs, _, _ = plotter.labels_ticks_and_vals() - labels_to_idxs = defaultdict(list) - for label, idx in zip(sub_labels, sub_idxs): - labels_to_idxs[label].append(idx) - sub_idxs = [] - sub_labels = [] - for label, all_idx in labels_to_idxs.items(): - sub_labels.append(label) - sub_idxs.append(np.mean([j for j in all_idx])) - labels.append(sub_labels) - idxs.append(sub_idxs) - return np.concatenate(labels), np.concatenate(idxs) - - return label_idxs() - - def legend(self, ax): - """Add legend with colorcoded model info.""" - handles = [Line2D([], [], color=c) for c in self.colors] - ax.legend(handles=handles, labels=self.model_names) - - def display_multiple_ropes(self, rope, ax, y, linewidth, var_name, selection): - """Display ROPE when more than one interval is provided.""" - for sel in rope.get(var_name, []): - # pylint: disable=line-too-long - if all(k in selection and selection[k] == v for k, v in sel.items() if k != "rope"): - vals = sel["rope"] - ax.plot( - vals, - (y + 0.05, y + 0.05), - lw=linewidth * 2, - color="C2", - solid_capstyle="round", - zorder=0, - alpha=0.7, - ) - return ax - - def ridgeplot( - self, - hdi_prob, - mult, - linewidth, - markersize, - alpha, - ridgeplot_kind, - ridgeplot_truncate, - ridgeplot_quantiles, - ax, - ): - """Draw ridgeplot for each plotter. - - Parameters - ---------- - hdi_prob : float - Probability for the highest density interval. - mult : float - How much to multiply height by. Set this to greater than 1 to have some overlap. - linewidth : float - Width of line on border of ridges - markersize : float - Size of marker in center of forestplot line - alpha : float - Transparency of ridges - ridgeplot_kind : string - By default ("auto") continuous variables are plotted using KDEs and discrete ones using - histograms. To override this use "hist" to plot histograms and "density" for KDEs - ridgeplot_truncate: bool - Whether to truncate densities according to the value of hdi_prop. Defaults to True - ridgeplot_quantiles: list - Quantiles in ascending order used to segment the KDE. Use [.25, .5, .75] for quartiles. - Defaults to None. - ax : Axes - Axes to draw on - """ - if alpha is None: - alpha = 1.0 - zorder = 0 - for plotter in self.plotters.values(): - for x, y_min, y_max, hdi_, y_q, color in plotter.ridgeplot( - hdi_prob, mult, ridgeplot_kind - ): - if alpha == 0: - border = color - facecolor = "None" - else: - border = "k" - if x.dtype.kind == "i": - if ridgeplot_truncate: - facecolor = to_rgba(color, alpha) - y_max = y_max[(x >= hdi_[0]) & (x <= hdi_[1])] - x = x[(x >= hdi_[0]) & (x <= hdi_[1])] - else: - facecolor = [ - to_rgba(color, alpha) if ci else "None" - for ci in ((x >= hdi_[0]) & (x <= hdi_[1])) - ] - y_min = np.ones_like(x) * y_min - ax.bar( - x, - y_max - y_min, - bottom=y_min, - linewidth=linewidth, - ec=border, - color=facecolor, - alpha=None, - zorder=zorder, - ) - else: - tr_x = x[(x >= hdi_[0]) & (x <= hdi_[1])] - tr_y_min = np.ones_like(tr_x) * y_min - tr_y_max = y_max[(x >= hdi_[0]) & (x <= hdi_[1])] - y_min = np.ones_like(x) * y_min - if ridgeplot_truncate: - ax.plot( - tr_x, tr_y_max, "-", linewidth=linewidth, color=border, zorder=zorder - ) - ax.plot( - tr_x, tr_y_min, "-", linewidth=linewidth, color=border, zorder=zorder - ) - else: - ax.plot(x, y_max, "-", linewidth=linewidth, color=border, zorder=zorder) - ax.plot(x, y_min, "-", linewidth=linewidth, color=border, zorder=zorder) - ax.fill_between( - tr_x, tr_y_max, tr_y_min, alpha=alpha, color=color, zorder=zorder - ) - - if ridgeplot_quantiles is not None: - quantiles = [x[np.sum(y_q < quant)] for quant in ridgeplot_quantiles] - ax.plot( - quantiles, - np.ones_like(quantiles) * y_min[0], - "d", - mfc=border, - mec=border, - ms=markersize, - ) - zorder -= 1 - return ax - - def forestplot( - self, hdi_prob, quartiles, xt_labelsize, titlesize, linewidth, markersize, ax, rope - ): - """Draw forestplot for each plotter. - - Parameters - ---------- - hdi_prob : float - Probability for the highest density interval. Width of each line. - quartiles : bool - Whether to mark quartiles - xt_textsize : float - Size of tick text - titlesize : float - Size of title text - linewidth : float - Width of forestplot line - markersize : float - Size of marker in center of forestplot line - ax : Axes - Axes to draw on - """ - # Quantiles to be calculated - endpoint = 100 * (1 - hdi_prob) / 2 - if quartiles: - qlist = [endpoint, 25, 50, 75, 100 - endpoint] - else: - qlist = [endpoint, 50, 100 - endpoint] - - for plotter in self.plotters.values(): - for y, selection, values, color in plotter.treeplot(qlist, hdi_prob): - if isinstance(rope, dict): - self.display_multiple_ropes(rope, ax, y, linewidth, plotter.var_name, selection) - - mid = len(values) // 2 - param_iter = zip( - np.linspace(2 * linewidth, linewidth, mid, endpoint=True)[-1::-1], range(mid) - ) - for width, j in param_iter: - ax.hlines(y, values[j], values[-(j + 1)], linewidth=width, color=color) - ax.plot( - values[mid], - y, - "o", - mfc=ax.get_facecolor(), - markersize=markersize * 0.75, - color=color, - ) - ax.tick_params(labelsize=xt_labelsize) - ax.set_title(f"{hdi_prob:.1%} HDI", fontsize=titlesize, wrap=True) - if rope is None or isinstance(rope, dict): - return - elif len(rope) == 2: - ax.axvspan(rope[0], rope[1], 0, self.y_max(), color="C2", alpha=0.5) - else: - raise ValueError( - "Argument `rope` must be None, a dictionary like" - '{"var_name": {"rope": (lo, hi)}}, or an ' - "iterable of length 2" - ) - return ax - - def plot_neff(self, ax, xt_labelsize, titlesize, markersize): - """Draw effective n for each plotter.""" - for plotter in self.plotters.values(): - for y, ess, color in plotter.ess(): - if ess is not None: - ax.plot( - ess, - y, - "o", - color=color, - clip_on=False, - markersize=markersize, - markeredgecolor="k", - ) - ax.set_xlim(left=0) - ax.set_title("ess", fontsize=titlesize, wrap=True) - ax.tick_params(labelsize=xt_labelsize) - return ax - - def plot_rhat(self, ax, xt_labelsize, titlesize, markersize): - """Draw r-hat for each plotter.""" - for plotter in self.plotters.values(): - for y, r_hat, color in plotter.r_hat(): - if r_hat is not None: - ax.plot(r_hat, y, "o", color=color, markersize=markersize, markeredgecolor="k") - ax.set_xlim(left=0.9, right=2.1) - ax.set_xticks([1, 2]) - ax.tick_params(labelsize=xt_labelsize) - ax.set_title("r_hat", fontsize=titlesize, wrap=True) - return ax - - def make_bands(self, ax): - """Draw shaded horizontal bands for each plotter.""" - y_vals, y_prev, is_zero = [0], None, False - prev_color_index = 0 - for plotter in self.plotters.values(): - for y, *_, color in plotter.iterator(): - if self.colors.index(color) < prev_color_index: - if not is_zero and y_prev is not None: - y_vals.append((y + y_prev) * 0.5) - is_zero = True - else: - is_zero = False - prev_color_index = self.colors.index(color) - y_prev = y - - offset = plotter.group_offset # pylint: disable=undefined-loop-variable - - y_vals.append(y_prev + offset) - for idx, (y_start, y_stop) in enumerate(pairwise(y_vals)): - ax.axhspan(y_start, y_stop, color="k", alpha=0.1 * (idx % 2)) - return ax - - def fig_height(self): - """Figure out the height of this plot.""" - # hand-tuned - return ( - 4 - + len(self.data) * len(self.var_names) - - 1 - + 0.1 * sum(1 for j in self.plotters.values() for _ in j.iterator()) - ) - - def y_max(self): - """Get maximum y value for the plot.""" - return max(p.y_max() for p in self.plotters.values()) - - -# pylint: disable=too-many-instance-attributes -class VarHandler: - """Handle individual variable logic.""" - - def __init__( - self, var_name, data, y_start, model_names, combined, combine_dims, colors, labeller - ): - self.var_name = var_name - self.data = data - self.y_start = y_start - self.model_names = model_names - self.combined = combined - self.combine_dims = combine_dims - self.colors = colors - self.labeller = labeller - self.model_color = dict(zip(self.model_names, self.colors)) - max_chains = max(datum.chain.max().values for datum in data) - self.chain_offset = len(data) * 0.45 / max(1, max_chains) - self.var_offset = 1.5 * self.chain_offset - self.group_offset = 2 * self.var_offset - - def iterator(self): - """Iterate over models and chains for each variable.""" - if self.combined: - grouped_data = [[(0, datum)] for datum in self.data] - skip_dims = self.combine_dims.union({"chain"}) - else: - grouped_data = [datum.groupby("chain", squeeze=False) for datum in self.data] - skip_dims = self.combine_dims - - label_dict = OrderedDict() - selection_list = [] - for name, grouped_datum in zip(self.model_names, grouped_data): - for _, sub_data in grouped_datum: - datum_iter = xarray_var_iter( - sub_data.squeeze(), - var_names=[self.var_name], - skip_dims=skip_dims, - reverse_selections=True, - ) - datum_list = list(datum_iter) - for _, selection, isel, values in datum_list: - selection_list.append(selection) - if not selection or not len(selection_list) % len(datum_list): - var_name = self.var_name - else: - var_name = "" - label = self.labeller.make_label_flat(var_name, selection, isel) - if label not in label_dict: - label_dict[label] = OrderedDict() - if name not in label_dict[label]: - label_dict[label][name] = [] - label_dict[label][name].append(values) - - y = self.y_start - for idx, (label, model_data) in enumerate(label_dict.items()): - for model_name, value_list in model_data.items(): - row_label = self.labeller.make_model_label(model_name, label) - for values in value_list: - yield y, row_label, label, selection_list[idx], values, self.model_color[ - model_name - ] - y += self.chain_offset - y += self.var_offset - y += self.group_offset - - def labels_ticks_and_vals(self): - """Get labels, ticks, values, and colors for the variable.""" - y_ticks = defaultdict(list) - for y, label, _, _, vals, color in self.iterator(): - y_ticks[label].append((y, vals, color)) - labels, ticks, vals, colors = [], [], [], [] - for label, all_data in y_ticks.items(): - for data in all_data: - labels.append(label) - ticks.append(data[0]) - vals.append(np.array(data[1])) - colors.append(data[2]) # the colors are all the same - return labels, ticks, vals, colors - - def treeplot(self, qlist, hdi_prob): - """Get data for each treeplot for the variable.""" - for y, _, _, selection, values, color in self.iterator(): - ntiles = np.percentile(values.flatten(), qlist) - ntiles[0], ntiles[-1] = hdi(values.flatten(), hdi_prob, multimodal=False) - yield y, selection, ntiles, color - - def ridgeplot(self, hdi_prob, mult, ridgeplot_kind): - """Get data for each ridgeplot for the variable.""" - xvals, hdi_vals, yvals, pdfs, pdfs_q, colors = [], [], [], [], [], [] - for y, *_, values, color in self.iterator(): - yvals.append(y) - colors.append(color) - values = values.flatten() - values = values[np.isfinite(values)] - - if hdi_prob != 1: - hdi_ = hdi(values, hdi_prob, multimodal=False) - else: - hdi_ = min(values), max(values) - - if ridgeplot_kind == "auto": - kind = "hist" if np.all(np.mod(values, 1) == 0) else "density" - else: - kind = ridgeplot_kind - - if kind == "hist": - _, density, x = histogram(values, bins=get_bins(values)) - x = x[:-1] - elif kind == "density": - x, density = kde(values) - - density_q = density.cumsum() / density.sum() - - xvals.append(x) - pdfs.append(density) - pdfs_q.append(density_q) - hdi_vals.append(hdi_) - - scaling = max(np.max(j) for j in pdfs) - for y, x, hdi_val, pdf, pdf_q, color in zip(yvals, xvals, hdi_vals, pdfs, pdfs_q, colors): - yield x, y, mult * pdf / scaling + y, hdi_val, pdf_q, color - - def ess(self): - """Get effective n data for the variable.""" - _, y_vals, values, colors = self.labels_ticks_and_vals() - for y, value, color in zip(y_vals, values, colors): - yield y, _ess(value), color - - def r_hat(self): - """Get rhat data for the variable.""" - _, y_vals, values, colors = self.labels_ticks_and_vals() - for y, value, color in zip(y_vals, values, colors): - if value.ndim != 2 or value.shape[0] < 2: - yield y, None, color - else: - yield y, _rhat(value), color - - def y_max(self): - """Get max y value for the variable.""" - end_y = max(y for y, *_ in self.iterator()) - - if self.combined: - end_y += self.group_offset - - return end_y + 2 * self.group_offset diff --git a/arviz/plots/backends/matplotlib/hdiplot.py b/arviz/plots/backends/matplotlib/hdiplot.py deleted file mode 100644 index a8600d5a0f..0000000000 --- a/arviz/plots/backends/matplotlib/hdiplot.py +++ /dev/null @@ -1,48 +0,0 @@ -"""Matplotlib hdiplot.""" - -import matplotlib.pyplot as plt -from matplotlib import _pylab_helpers - -from ...plot_utils import _scale_fig_size, vectorized_to_hex -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_hdi(ax, x_data, y_data, color, figsize, plot_kwargs, fill_kwargs, backend_kwargs, show): - """Matplotlib HDI plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - plot_kwargs = matplotlib_kwarg_dealiaser(plot_kwargs, "plot") - plot_kwargs["color"] = vectorized_to_hex(plot_kwargs.get("color", color)) - plot_kwargs.setdefault("alpha", 0) - - fill_kwargs = matplotlib_kwarg_dealiaser(fill_kwargs, "fill_between") - fill_kwargs["color"] = vectorized_to_hex(fill_kwargs.get("color", color)) - fill_kwargs.setdefault("alpha", 0.5) - - figsize, *_ = _scale_fig_size(figsize, None) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - if ax is None: - fig_manager = _pylab_helpers.Gcf.get_active() - if fig_manager is not None: - ax = fig_manager.canvas.figure.gca() - else: - _, ax = create_axes_grid( - 1, - backend_kwargs=backend_kwargs, - ) - - ax.plot(x_data, y_data, **plot_kwargs) - ax.fill_between(x_data, y_data[:, 0], y_data[:, 1], **fill_kwargs) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/kdeplot.py b/arviz/plots/backends/matplotlib/kdeplot.py deleted file mode 100644 index 5fff7ef9b2..0000000000 --- a/arviz/plots/backends/matplotlib/kdeplot.py +++ /dev/null @@ -1,177 +0,0 @@ -"""Matplotlib kdeplot.""" - -import numpy as np -from matplotlib import pyplot as plt -from matplotlib import _pylab_helpers -import matplotlib.ticker as mticker - - -from ...plot_utils import _scale_fig_size, _init_kwargs_dict -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_kde( - density, - lower, - upper, - density_q, - xmin, - xmax, - ymin, - ymax, - gridsize, - values, - values2, - rug, - label, - quantiles, - rotated, - contour, - fill_last, - figsize, - textsize, - plot_kwargs, - fill_kwargs, - rug_kwargs, - contour_kwargs, - contourf_kwargs, - pcolormesh_kwargs, - is_circular, - ax, - legend, - backend_kwargs, - show, - return_glyph, # pylint: disable=unused-argument -): - """Matplotlib kde plot.""" - backend_kwargs = _init_kwargs_dict(backend_kwargs) - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, *_, xt_labelsize, linewidth, markersize = _scale_fig_size(figsize, textsize) - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - backend_kwargs.setdefault("subplot_kw", {}) - backend_kwargs["subplot_kw"].setdefault("polar", is_circular) - - if ax is None: - fig_manager = _pylab_helpers.Gcf.get_active() - if fig_manager is not None: - ax = fig_manager.canvas.figure.gca() - else: - _, ax = create_axes_grid( - 1, - backend_kwargs=backend_kwargs, - ) - - if values2 is None: - plot_kwargs = matplotlib_kwarg_dealiaser(plot_kwargs, "plot") - plot_kwargs.setdefault("color", "C0") - - default_color = plot_kwargs.get("color") - - fill_kwargs = matplotlib_kwarg_dealiaser(fill_kwargs, "hexbin") - fill_kwargs.setdefault("color", default_color) - - rug_kwargs = matplotlib_kwarg_dealiaser(rug_kwargs, "plot") - rug_kwargs.setdefault("marker", "_" if rotated else "|") - rug_kwargs.setdefault("linestyle", "None") - rug_kwargs.setdefault("color", default_color) - rug_kwargs.setdefault("space", 0.2) - - plot_kwargs.setdefault("linewidth", linewidth) - rug_kwargs.setdefault("markersize", 2 * markersize) - - rug_space = max(density) * rug_kwargs.pop("space") - - if is_circular: - if is_circular == "radians": - labels = [ - "0", - f"{np.pi/4:.2f}", - f"{np.pi/2:.2f}", - f"{3*np.pi/4:.2f}", - f"{np.pi:.2f}", - f"{-3*np.pi/4:.2f}", - f"{-np.pi/2:.2f}", - f"{-np.pi/4:.2f}", - ] - - ticks_loc = ax.get_xticks() - ax.xaxis.set_major_locator(mticker.FixedLocator(ticks_loc)) - ax.set_xticklabels(labels) - - x = np.linspace(-np.pi, np.pi, len(density)) - ax.set_yticklabels([]) - - else: - x = np.linspace(lower, upper, len(density)) - - fill_func = ax.fill_between - fill_x, fill_y = x, density - if rotated: - x, density = density, x - fill_func = ax.fill_betweenx - - ax.tick_params(labelsize=xt_labelsize) - - if rotated: - ax.set_xlim(0, auto=True) - rug_x, rug_y = np.zeros_like(values) - rug_space, values - else: - ax.set_ylim(0, auto=True) - rug_x, rug_y = values, np.zeros_like(values) - rug_space - - if rug: - ax.plot(rug_x, rug_y, **rug_kwargs) - - if quantiles is not None: - fill_kwargs.setdefault("alpha", 0.75) - - idx = [np.sum(density_q < quant) for quant in quantiles] - - fill_func( - fill_x, - fill_y, - where=np.isin(fill_x, fill_x[idx], invert=True, assume_unique=True), - **fill_kwargs, - ) - else: - fill_kwargs.setdefault("alpha", 0) - if fill_kwargs.get("alpha") == 0: - label = plot_kwargs.setdefault("label", label) - else: - label = fill_kwargs.setdefault("label", label) - ax.plot(x, density, **plot_kwargs) - fill_func(fill_x, fill_y, **fill_kwargs) - if legend and label: - ax.legend() - else: - contour_kwargs = matplotlib_kwarg_dealiaser(contour_kwargs, "contour") - contour_kwargs.setdefault("colors", "0.5") - contourf_kwargs = matplotlib_kwarg_dealiaser(contourf_kwargs, "contour") - pcolormesh_kwargs = matplotlib_kwarg_dealiaser(pcolormesh_kwargs, "pcolormesh") - pcolormesh_kwargs.setdefault("shading", "auto") - - g_s = complex(gridsize[0]) - x_x, y_y = np.mgrid[xmin:xmax:g_s, ymin:ymax:g_s] - - ax.grid(False) - if contour: - qcfs = ax.contourf(x_x, y_y, density, antialiased=True, **contourf_kwargs) - ax.contour(x_x, y_y, density, **contour_kwargs) - if not fill_last: - alpha = np.ones(len(qcfs.allsegs), dtype=float) - alpha[0] = 0 - qcfs.set_alpha(alpha) - else: - ax.pcolormesh(x_x, y_y, density, **pcolormesh_kwargs) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/khatplot.py b/arviz/plots/backends/matplotlib/khatplot.py deleted file mode 100644 index bb76c7a563..0000000000 --- a/arviz/plots/backends/matplotlib/khatplot.py +++ /dev/null @@ -1,241 +0,0 @@ -"""Matplotlib khatplot.""" - -import warnings - -import matplotlib as mpl -from matplotlib import cm -import matplotlib.pyplot as plt -import numpy as np -from matplotlib.colors import to_rgba_array -from packaging import version - -from ....stats.density_utils import histogram -from ...plot_utils import _scale_fig_size, color_from_dim, set_xticklabels, vectorized_to_hex -from . import backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_khat( - hover_label, - hover_format, - ax, - figsize, - xdata, - khats, - good_k, - kwargs, - threshold, - coord_labels, - show_hlines, - show_bins, - hlines_kwargs, - xlabels, - legend, - color, - dims, - textsize, - markersize, - n_data_points, - bin_format, - backend_kwargs, - show, -): - """Matplotlib khat plot.""" - if version.parse(mpl.__version__) >= version.parse("3.9.0.dev0"): - interactive_backends = mpl.backends.backend_registry.list_builtin( - mpl.backends.BackendFilter.INTERACTIVE - ) - else: - interactive_backends = mpl.rcsetup.interactive_bk - if hover_label and mpl.get_backend() not in interactive_backends: - hover_label = False - warnings.warn( - "hover labels are only available with interactive backends. To switch to an " - "interactive backend from ipython or jupyter, use `%matplotlib` there should be " - "no need to restart the kernel. For other cases, see " - "https://matplotlib.org/3.1.0/tutorials/introductory/usage.html#backends", - UserWarning, - ) - - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwargs, - } - - (figsize, ax_labelsize, _, xt_labelsize, linewidth, scaled_markersize) = _scale_fig_size( - figsize, textsize - ) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - if good_k is None: - good_k = 0.7 - - hlines_kwargs = matplotlib_kwarg_dealiaser(hlines_kwargs, "hlines") - hlines_kwargs.setdefault("hlines", [0, good_k, 1]) - hlines_kwargs.setdefault("linestyle", [":", "-.", "--", "-"]) - hlines_kwargs.setdefault("alpha", 0.7) - hlines_kwargs.setdefault("zorder", -1) - hlines_kwargs.setdefault("color", "C1") - hlines_kwargs["color"] = vectorized_to_hex(hlines_kwargs["color"]) - - if markersize is None: - markersize = scaled_markersize**2 # s in scatter plot mus be markersize square - # for dots to have the same size - - kwargs = matplotlib_kwarg_dealiaser(kwargs, "scatter") - kwargs.setdefault("s", markersize) - kwargs.setdefault("marker", "+") - - c_kwarg = kwargs.get("c", None) - - if c_kwarg is None: - color_mapping = None - cmap = None - if isinstance(color, str): - if color in dims: - colors, color_mapping = color_from_dim(khats, color) - cmap_name = kwargs.get("cmap", plt.rcParams["image.cmap"]) - cmap = getattr(cm, cmap_name) - rgba_c = cmap(colors) - else: - legend = False - rgba_c = to_rgba_array(np.full(n_data_points, color)) - else: - legend = False - try: - rgba_c = to_rgba_array(color) - except ValueError: - cmap_name = kwargs.get("cmap", plt.rcParams["image.cmap"]) - cmap = getattr(cm, cmap_name) - norm_fun = kwargs.get("norm", mpl.colors.Normalize(color.min(), color.max())) - rgba_c = cmap(norm_fun(color)) - - khats = khats if isinstance(khats, np.ndarray) else khats.values.flatten() - alphas = 0.5 + 0.2 * (khats > good_k) + 0.3 * (khats > 1) - rgba_c[:, 3] = alphas - rgba_c = vectorized_to_hex(rgba_c) - kwargs["c"] = rgba_c - else: - if isinstance(c_kwarg, str): - if c_kwarg in dims: - colors, color_mapping = color_from_dim(khats, c_kwarg) - else: - legend = False - else: - legend = False - - if ax is None: - fig, ax = create_axes_grid( - 1, - backend_kwargs=backend_kwargs, - ) - else: - fig = ax.get_figure() - - sc_plot = ax.scatter(xdata, khats, **kwargs) - - if threshold is not None: - idxs = xdata[khats > threshold] - for idx in idxs: - ax.text( - idx, - khats[idx], - coord_labels[idx], - horizontalalignment="center", - verticalalignment="bottom", - fontsize=0.8 * xt_labelsize, - ) - - xmin, xmax = ax.get_xlim() - if show_bins: - xmax += n_data_points / 12 - ylims1 = ax.get_ylim() - ylims2 = ax.get_ylim() - ymin = min(ylims1[0], ylims2[0]) - ymax = min(ylims1[1], ylims2[1]) - - if show_hlines: - ax.hlines( - hlines_kwargs.pop("hlines"), xmin=xmin, xmax=xmax, linewidth=linewidth, **hlines_kwargs - ) - - if show_bins: - bin_edges = np.array([ymin, good_k, 1, ymax]) - bin_edges = bin_edges[(bin_edges >= ymin) & (bin_edges <= ymax)] - hist, _, _ = histogram(khats, bin_edges) - for idx, count in enumerate(hist): - ax.text( - (n_data_points - 1 + xmax) / 2, - np.mean(bin_edges[idx : idx + 2]), - bin_format.format(count, count / n_data_points * 100), - horizontalalignment="center", - verticalalignment="center", - ) - - ax.set_xlabel("Data Point", fontsize=ax_labelsize) - ax.set_ylabel(r"Shape parameter k", fontsize=ax_labelsize) - ax.tick_params(labelsize=xt_labelsize) - if xlabels: - set_xticklabels(ax, coord_labels) - fig.autofmt_xdate() - fig.tight_layout() - if legend: - kwargs.pop("c") - ncols = len(color_mapping) // 6 + 1 - for label, float_color in color_mapping.items(): - ax.scatter([], [], c=[cmap(float_color)], label=label, **kwargs) - ax.legend(ncol=ncols, title=color) - - if hover_label and mpl.get_backend() in mpl.rcsetup.interactive_bk: - _make_hover_annotation(fig, ax, sc_plot, coord_labels, rgba_c, hover_format) - - if backend_show(show): - plt.show() - - return ax - - -def _make_hover_annotation(fig, ax, sc_plot, coord_labels, rgba_c, hover_format): - """Show data point label when hovering over it with mouse.""" - annot = ax.annotate( - "", - xy=(0, 0), - xytext=(0, 0), - textcoords="offset points", - bbox=dict(boxstyle="round", fc="w", alpha=0.4), - arrowprops=dict(arrowstyle="->"), - ) - annot.set_visible(False) - xmid = np.mean(ax.get_xlim()) - ymid = np.mean(ax.get_ylim()) - offset = 10 - - def update_annot(ind): - idx = ind["ind"][0] - pos = sc_plot.get_offsets()[idx] - annot_text = hover_format.format(idx, coord_labels[idx]) - annot.xy = pos - annot.set_position( - (-offset if pos[0] > xmid else offset, -offset if pos[1] > ymid else offset) - ) - annot.set_text(annot_text) - annot.get_bbox_patch().set_facecolor(rgba_c[idx]) - annot.set_ha("right" if pos[0] > xmid else "left") - annot.set_va("top" if pos[1] > ymid else "bottom") - - def hover(event): - vis = annot.get_visible() - if event.inaxes == ax: - cont, ind = sc_plot.contains(event) - if cont: - update_annot(ind) - annot.set_visible(True) - fig.canvas.draw_idle() - else: - if vis: - annot.set_visible(False) - fig.canvas.draw_idle() - - fig.canvas.mpl_connect("motion_notify_event", hover) diff --git a/arviz/plots/backends/matplotlib/lmplot.py b/arviz/plots/backends/matplotlib/lmplot.py deleted file mode 100644 index 112a97ea16..0000000000 --- a/arviz/plots/backends/matplotlib/lmplot.py +++ /dev/null @@ -1,149 +0,0 @@ -"""Matplotlib plot linear regression figure.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ...plot_utils import _scale_fig_size -from ...hdiplot import plot_hdi -from . import create_axes_grid, matplotlib_kwarg_dealiaser, backend_show, backend_kwarg_defaults - - -def plot_lm( - x, - y, - y_model, - y_hat, - num_samples, - kind_pp, - kind_model, - xjitter, - length_plotters, - rows, - cols, - y_kwargs, - y_hat_plot_kwargs, - y_hat_fill_kwargs, - y_model_plot_kwargs, - y_model_fill_kwargs, - y_model_mean_kwargs, - backend_kwargs, - show, - figsize, - textsize, - axes, - legend, - grid, -): - """Matplotlib Linear Regression.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, _, _, xt_labelsize, _, _ = _scale_fig_size(figsize, textsize, rows, cols) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("squeeze", False) - - if axes is None: - _, axes = create_axes_grid(length_plotters, rows, cols, backend_kwargs=backend_kwargs) - - for i, ax_i in enumerate(np.ravel(axes)[:length_plotters]): - # All the kwargs are defined here beforehand - y_kwargs = matplotlib_kwarg_dealiaser(y_kwargs, "plot") - y_kwargs.setdefault("color", "C3") - y_kwargs.setdefault("marker", ".") - y_kwargs.setdefault("markersize", 15) - y_kwargs.setdefault("linewidth", 0) - y_kwargs.setdefault("zorder", 10) - y_kwargs.setdefault("label", "observed_data") - - y_hat_plot_kwargs = matplotlib_kwarg_dealiaser(y_hat_plot_kwargs, "plot") - y_hat_plot_kwargs.setdefault("color", "C1") - y_hat_plot_kwargs.setdefault("alpha", 0.3) - y_hat_plot_kwargs.setdefault("markersize", 10) - y_hat_plot_kwargs.setdefault("marker", ".") - y_hat_plot_kwargs.setdefault("linewidth", 0) - - y_hat_fill_kwargs = matplotlib_kwarg_dealiaser(y_hat_fill_kwargs, "fill_between") - y_hat_fill_kwargs.setdefault("color", "C3") - - y_model_plot_kwargs = matplotlib_kwarg_dealiaser(y_model_plot_kwargs, "plot") - y_model_plot_kwargs.setdefault("color", "C6") - y_model_plot_kwargs.setdefault("alpha", 0.5) - y_model_plot_kwargs.setdefault("linewidth", 0.5) - y_model_plot_kwargs.setdefault("zorder", 9) - - y_model_fill_kwargs = matplotlib_kwarg_dealiaser(y_model_fill_kwargs, "fill_between") - y_model_fill_kwargs.setdefault("color", "C0") - y_model_fill_kwargs.setdefault("linewidth", 0.5) - y_model_fill_kwargs.setdefault("zorder", 9) - y_model_fill_kwargs.setdefault("alpha", 0.5) - - y_model_mean_kwargs = matplotlib_kwarg_dealiaser(y_model_mean_kwargs, "plot") - y_model_mean_kwargs.setdefault("color", "C6") - y_model_mean_kwargs.setdefault("linewidth", 0.8) - y_model_mean_kwargs.setdefault("zorder", 11) - - y_var_name, _, _, y_plotters = y[i] - x_var_name, _, _, x_plotters = x[i] - ax_i.plot(x_plotters, y_plotters, **y_kwargs) - ax_i.set_xlabel(x_var_name) - ax_i.set_ylabel(y_var_name) - - if y_hat is not None: - _, _, _, y_hat_plotters = y_hat[i] - if kind_pp == "samples": - for j in range(num_samples): - if xjitter is True: - jitter_scale = x_plotters[1] - x_plotters[0] - scale_high = jitter_scale * 0.2 - x_plotters_jitter = x_plotters + np.random.uniform( - low=-scale_high, high=scale_high, size=len(x_plotters) - ) - ax_i.plot(x_plotters_jitter, y_hat_plotters[..., j], **y_hat_plot_kwargs) - else: - ax_i.plot(x_plotters, y_hat_plotters[..., j], **y_hat_plot_kwargs) - ax_i.plot([], **y_hat_plot_kwargs, label="Posterior predictive samples") - else: - plot_hdi(x_plotters, y_hat_plotters, ax=ax_i, **y_hat_fill_kwargs) - ax_i.plot( - [], color=y_hat_fill_kwargs["color"], label="Posterior predictive samples" - ) - - if y_model is not None: - _, _, _, y_model_plotters = y_model[i] - - if kind_model == "lines": - # y_model_plotters should be (points, samples) - y_points = y_model_plotters.shape[0] - if x_plotters.shape[0] == y_points: - for j in range(num_samples): - ax_i.plot(x_plotters, y_model_plotters[:, j], **y_model_plot_kwargs) - - ax_i.plot([], **y_model_plot_kwargs, label="Uncertainty in mean") - y_model_mean = np.mean(y_model_plotters, axis=1) - ax_i.plot(x_plotters, y_model_mean, **y_model_mean_kwargs, label="Mean") - - else: - plot_hdi( - x_plotters, - y_model_plotters, - fill_kwargs=y_model_fill_kwargs, - ax=ax_i, - ) - - ax_i.plot([], color=y_model_fill_kwargs["color"], label="Uncertainty in mean") - y_model_mean = np.mean(y_model_plotters, axis=0) - ax_i.plot(x_plotters, y_model_mean, **y_model_mean_kwargs, label="Mean") - - if legend: - ax_i.legend(fontsize=xt_labelsize, loc="upper left") - if grid: - ax_i.grid(True) - - if backend_show(show): - plt.show() - return axes diff --git a/arviz/plots/backends/matplotlib/loopitplot.py b/arviz/plots/backends/matplotlib/loopitplot.py deleted file mode 100644 index 4f3f618df2..0000000000 --- a/arviz/plots/backends/matplotlib/loopitplot.py +++ /dev/null @@ -1,144 +0,0 @@ -"""Matplotlib loopitplot.""" - -import matplotlib.pyplot as plt -import numpy as np -from matplotlib.colors import hsv_to_rgb, rgb_to_hsv, to_hex, to_rgb -from xarray import DataArray - -from ....stats.density_utils import kde -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_loo_pit( - ax, - figsize, - ecdf, - loo_pit, - loo_pit_ecdf, - unif_ecdf, - p975, - p025, - fill_kwargs, - ecdf_fill, - use_hdi, - x_vals, - hdi_kwargs, - hdi_odds, - n_unif, - unif, - plot_unif_kwargs, - loo_pit_kde, - legend, - labeller, - y_hat, - y, - color, - textsize, - hdi_prob, - plot_kwargs, - backend_kwargs, - show, -): - """Matplotlib loo pit plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, _, _, xt_labelsize, linewidth, _) = _scale_fig_size(figsize, textsize, 1, 1) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - if ax is None: - _, ax = create_axes_grid(1, backend_kwargs=backend_kwargs) - - plot_kwargs = matplotlib_kwarg_dealiaser(plot_kwargs, "plot") - plot_kwargs["color"] = to_hex(color) - plot_kwargs.setdefault("linewidth", linewidth * 1.4) - if isinstance(y, str): - xlabel = y - elif isinstance(y, DataArray) and y.name is not None: - xlabel = y.name - elif isinstance(y_hat, str): - xlabel = y_hat - elif isinstance(y_hat, DataArray) and y_hat.name is not None: - xlabel = y_hat.name - else: - xlabel = "" - label = "LOO-PIT ECDF" if ecdf else "LOO-PIT" - xlabel = labeller.var_name_to_str(y) - - plot_kwargs.setdefault("label", label) - plot_kwargs.setdefault("zorder", 5) - - plot_unif_kwargs = matplotlib_kwarg_dealiaser(plot_unif_kwargs, "plot") - light_color = rgb_to_hsv(to_rgb(plot_kwargs.get("color"))) - light_color[1] /= 2 # pylint: disable=unsupported-assignment-operation - light_color[2] += (1 - light_color[2]) / 2 # pylint: disable=unsupported-assignment-operation - plot_unif_kwargs.setdefault("color", to_hex(hsv_to_rgb(light_color))) - plot_unif_kwargs.setdefault("alpha", 0.5) - plot_unif_kwargs.setdefault("linewidth", 0.6 * linewidth) - - if ecdf: - n_data_points = loo_pit.size - plot_kwargs.setdefault("drawstyle", "steps-mid" if n_data_points < 100 else "default") - plot_unif_kwargs.setdefault("drawstyle", "steps-mid" if n_data_points < 100 else "default") - - if ecdf_fill: - if fill_kwargs is None: - fill_kwargs = {} - fill_kwargs.setdefault("color", to_hex(hsv_to_rgb(light_color))) - fill_kwargs.setdefault("alpha", 0.5) - fill_kwargs.setdefault( - "step", "mid" if plot_kwargs["drawstyle"] == "steps-mid" else None - ) - fill_kwargs.setdefault("label", f"{hdi_prob * 100:.3g}% credible interval") - elif use_hdi: - if hdi_kwargs is None: - hdi_kwargs = {} - hdi_kwargs.setdefault("color", to_hex(hsv_to_rgb(light_color))) - hdi_kwargs.setdefault("alpha", 0.35) - hdi_kwargs.setdefault("label", "Uniform HDI") - - if ecdf: - ax.plot( - np.hstack((0, loo_pit, 1)), np.hstack((0, loo_pit - loo_pit_ecdf, 0)), **plot_kwargs - ) - - if ecdf_fill: - ax.fill_between(unif_ecdf, p975 - unif_ecdf, p025 - unif_ecdf, **fill_kwargs) - else: - ax.plot(unif_ecdf, p975 - unif_ecdf, unif_ecdf, p025 - unif_ecdf, **plot_unif_kwargs) - else: - x_ss = np.empty((n_unif, len(loo_pit_kde))) - u_dens = np.empty((n_unif, len(loo_pit_kde))) - if use_hdi: - ax.axhspan(*hdi_odds, **hdi_kwargs) - - # Adds horizontal reference line - ax.axhline(1, color="w", zorder=1) - else: - for idx in range(n_unif): - x_s, unif_density = kde(unif[idx, :]) - x_ss[idx] = x_s - u_dens[idx] = unif_density - ax.plot(x_ss.T, u_dens.T, **plot_unif_kwargs) - ax.plot(x_vals, loo_pit_kde, **plot_kwargs) - ax.set_xlim(0, 1) - ax.set_ylim(0, None) - ax.set_xlabel(xlabel) - ax.tick_params(labelsize=xt_labelsize) - if legend: - if not (use_hdi or (ecdf and ecdf_fill)): - label = f"{hdi_prob * 100:.3g}% credible interval" if ecdf else "Uniform" - ax.plot([], label=label, **plot_unif_kwargs) - ax.legend() - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/mcseplot.py b/arviz/plots/backends/matplotlib/mcseplot.py deleted file mode 100644 index 7f1084470c..0000000000 --- a/arviz/plots/backends/matplotlib/mcseplot.py +++ /dev/null @@ -1,161 +0,0 @@ -"""Matplotlib mcseplot.""" - -import matplotlib.pyplot as plt -import numpy as np -from scipy.stats import rankdata - -from ....stats.stats_utils import quantile as _quantile -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_mcse( - ax, - plotters, - length_plotters, - rows, - cols, - figsize, - errorbar, - rug, - data, - probs, - kwargs, - extra_methods, - mean_mcse, - sd_mcse, - textsize, - labeller, - text_kwargs, - rug_kwargs, - extra_kwargs, - idata, - rug_kind, - backend_kwargs, - show, -): - """Matplotlib mcseplot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, ax_labelsize, titlesize, xt_labelsize, _linewidth, _markersize) = _scale_fig_size( - figsize, textsize, rows, cols - ) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - kwargs = matplotlib_kwarg_dealiaser(kwargs, "plot") - kwargs.setdefault("linestyle", "none") - kwargs.setdefault("linewidth", _linewidth) - kwargs.setdefault("markersize", _markersize) - kwargs.setdefault("marker", "_" if errorbar else "o") - kwargs.setdefault("zorder", 3) - - extra_kwargs = matplotlib_kwarg_dealiaser(extra_kwargs, "plot") - extra_kwargs.setdefault("linestyle", "-") - extra_kwargs.setdefault("linewidth", _linewidth / 2) - extra_kwargs.setdefault("color", "k") - extra_kwargs.setdefault("alpha", 0.5) - text_x = None - text_va = None - if extra_methods: - text_kwargs = matplotlib_kwarg_dealiaser(text_kwargs, "text") - text_x = text_kwargs.pop("x", 1) - text_kwargs.setdefault("fontsize", xt_labelsize * 0.7) - text_kwargs.setdefault("alpha", extra_kwargs["alpha"]) - text_kwargs.setdefault("color", extra_kwargs["color"]) - text_kwargs.setdefault("horizontalalignment", "right") - text_va = text_kwargs.pop("verticalalignment", None) - - if ax is None: - _, ax = create_axes_grid( - length_plotters, - rows, - cols, - backend_kwargs=backend_kwargs, - ) - - for (var_name, selection, isel, x), ax_ in zip(plotters, np.ravel(ax)): - if errorbar or rug: - values = data[var_name].sel(**selection).values.flatten() - if errorbar: - quantile_values = _quantile(values, probs) - ax_.errorbar(probs, quantile_values, yerr=x, **kwargs) - else: - ax_.plot(probs, x, label="quantile", **kwargs) - if extra_methods: - mean_mcse_i = mean_mcse[var_name].sel(**selection).values.item() - sd_mcse_i = sd_mcse[var_name].sel(**selection).values.item() - ax_.axhline(mean_mcse_i, **extra_kwargs) - ax_.annotate( - "mean", - (text_x, mean_mcse_i), - va=( - text_va - if text_va is not None - else "bottom" if mean_mcse_i > sd_mcse_i else "top" - ), - **text_kwargs, - ) - ax_.axhline(sd_mcse_i, **extra_kwargs) - ax_.annotate( - "sd", - (text_x, sd_mcse_i), - va=( - text_va - if text_va is not None - else "bottom" if sd_mcse_i >= mean_mcse_i else "top" - ), - **text_kwargs, - ) - if rug: - rug_kwargs = matplotlib_kwarg_dealiaser(rug_kwargs, "plot") - if not hasattr(idata, "sample_stats"): - raise ValueError("InferenceData object must contain sample_stats for rug plot") - if not hasattr(idata.sample_stats, rug_kind): - raise ValueError(f"InferenceData does not contain {rug_kind} data") - rug_kwargs.setdefault("marker", "|") - rug_kwargs.setdefault("linestyle", rug_kwargs.pop("ls", "None")) - rug_kwargs.setdefault("color", rug_kwargs.pop("c", kwargs.get("color", "C0"))) - rug_kwargs.setdefault("space", 0.1) - rug_kwargs.setdefault("markersize", rug_kwargs.pop("ms", 2 * _markersize)) - - mask = idata.sample_stats[rug_kind].values.flatten() - values = rankdata(values, method="average")[mask] - y_min, y_max = ax_.get_ylim() - y_min = y_min if errorbar else 0 - rug_space = (y_max - y_min) * rug_kwargs.pop("space") - rug_x, rug_y = values / (len(mask) - 1), np.full_like(values, y_min) - rug_space - ax_.plot(rug_x, rug_y, **rug_kwargs) - ax_.axhline(y_min, color="k", linewidth=_linewidth, alpha=0.7) - - ax_.set_title( - labeller.make_label_vert(var_name, selection, isel), fontsize=titlesize, wrap=True - ) - ax_.tick_params(labelsize=xt_labelsize) - ax_.set_xlabel("Quantile", fontsize=ax_labelsize, wrap=True) - ax_.set_ylabel( - r"Value $\pm$ MCSE for quantiles" if errorbar else "MCSE for quantiles", - fontsize=ax_labelsize, - wrap=True, - ) - ax_.set_xlim(0, 1) - if rug: - ax_.yaxis.get_major_locator().set_params(nbins="auto", steps=[1, 2, 5, 10]) - y_min, y_max = ax_.get_ylim() - yticks = ax_.get_yticks() - yticks = yticks[(yticks >= y_min) & (yticks < y_max)] - ax_.set_yticks(yticks) - ax_.set_yticklabels([f"{ytick:.3g}" for ytick in yticks]) - elif not errorbar: - ax_.set_ylim(bottom=0) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/pairplot.py b/arviz/plots/backends/matplotlib/pairplot.py deleted file mode 100644 index ccb42582b4..0000000000 --- a/arviz/plots/backends/matplotlib/pairplot.py +++ /dev/null @@ -1,355 +0,0 @@ -"""Matplotlib pairplot.""" - -import warnings -from copy import deepcopy - -import matplotlib.pyplot as plt -import numpy as np -from mpl_toolkits.axes_grid1 import make_axes_locatable - -from ....rcparams import rcParams -from ...distplot import plot_dist -from ...kdeplot import plot_kde -from ...plot_utils import _scale_fig_size, calculate_point_estimate, _init_kwargs_dict -from . import backend_kwarg_defaults, backend_show, matplotlib_kwarg_dealiaser - - -def plot_pair( - ax, - plotters, - numvars, - figsize, - textsize, - kind, - scatter_kwargs, - kde_kwargs, - hexbin_kwargs, - gridsize, - colorbar, - divergences, - diverging_mask, - divergences_kwargs, - flat_var_names, - flat_ref_slices, - flat_var_labels, - backend_kwargs, - marginal_kwargs, - show, - marginals, - point_estimate, - point_estimate_kwargs, - point_estimate_marker_kwargs, - reference_values, - reference_values_kwargs, -): - """Matplotlib pairplot.""" - backend_kwargs = _init_kwargs_dict(backend_kwargs) - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - scatter_kwargs = matplotlib_kwarg_dealiaser(scatter_kwargs, "scatter") - - scatter_kwargs.setdefault("marker", ".") - scatter_kwargs.setdefault("lw", 0) - # Sets the default zorder higher than zorder of grid, which is 0.5 - scatter_kwargs.setdefault("zorder", 0.6) - - kde_kwargs = _init_kwargs_dict(kde_kwargs) - - hexbin_kwargs = matplotlib_kwarg_dealiaser(hexbin_kwargs, "hexbin") - hexbin_kwargs.setdefault("mincnt", 1) - - divergences_kwargs = matplotlib_kwarg_dealiaser(divergences_kwargs, "plot") - divergences_kwargs.setdefault("marker", "o") - divergences_kwargs.setdefault("markeredgecolor", "k") - divergences_kwargs.setdefault("color", "C1") - divergences_kwargs.setdefault("lw", 0) - - marginal_kwargs = _init_kwargs_dict(marginal_kwargs) - - point_estimate_kwargs = matplotlib_kwarg_dealiaser(point_estimate_kwargs, "fill_between") - point_estimate_kwargs.setdefault("color", "k") - - if kind != "kde": - kde_kwargs.setdefault("contourf_kwargs", {}) - kde_kwargs["contourf_kwargs"].setdefault("alpha", 0) - kde_kwargs.setdefault("contour_kwargs", {}) - kde_kwargs["contour_kwargs"].setdefault("colors", "k") - - if reference_values: - difference = set(flat_var_names).difference(set(reference_values.keys())) - - if difference: - warnings.warn( - "Argument reference_values does not include reference value for: {}".format( - ", ".join(difference) - ), - UserWarning, - ) - - reference_values_kwargs = matplotlib_kwarg_dealiaser(reference_values_kwargs, "plot") - - reference_values_kwargs.setdefault("color", "C2") - reference_values_kwargs.setdefault("markeredgecolor", "k") - reference_values_kwargs.setdefault("marker", "o") - - point_estimate_marker_kwargs = matplotlib_kwarg_dealiaser( - point_estimate_marker_kwargs, "scatter" - ) - point_estimate_marker_kwargs.setdefault("marker", "s") - point_estimate_marker_kwargs.setdefault("color", "k") - - # pylint: disable=too-many-nested-blocks - if numvars == 2: - (figsize, ax_labelsize, _, xt_labelsize, linewidth, markersize) = _scale_fig_size( - figsize, textsize, numvars - 1, numvars - 1 - ) - backend_kwargs.setdefault("figsize", figsize) - - marginal_kwargs.setdefault("plot_kwargs", {}) - marginal_kwargs["plot_kwargs"].setdefault("linewidth", linewidth) - - point_estimate_marker_kwargs.setdefault("s", markersize + 50) - - # Flatten data - x = plotters[0][-1].flatten() - y = plotters[1][-1].flatten() - if ax is None: - if marginals: - # Instantiate figure and grid - widths = [2, 2, 2, 1] - heights = [1.4, 2, 2, 2] - fig = plt.figure(**backend_kwargs) - grid = plt.GridSpec( - 4, - 4, - hspace=0.1, - wspace=0.1, - figure=fig, - width_ratios=widths, - height_ratios=heights, - ) - # Set up main plot - ax = fig.add_subplot(grid[1:, :-1]) - # Set up top KDE - ax_hist_x = fig.add_subplot(grid[0, :-1], sharex=ax) - ax_hist_x.set_yticks([]) - # Set up right KDE - ax_hist_y = fig.add_subplot(grid[1:, -1], sharey=ax) - ax_hist_y.set_xticks([]) - ax_return = np.array([[ax_hist_x, None], [ax, ax_hist_y]]) - - for val, ax_, rotate in ((x, ax_hist_x, False), (y, ax_hist_y, True)): - plot_dist(val, textsize=xt_labelsize, rotated=rotate, ax=ax_, **marginal_kwargs) - - # Personalize axes - ax_hist_x.tick_params(labelleft=False, labelbottom=False) - ax_hist_y.tick_params(labelleft=False, labelbottom=False) - else: - fig, ax = plt.subplots(numvars - 1, numvars - 1, **backend_kwargs) - else: - if marginals: - assert ax.shape == (numvars, numvars) - if ax[0, 1] is not None and ax[0, 1].get_figure() is not None: - ax[0, 1].remove() - ax_return = ax - ax_hist_x = ax[0, 0] - ax_hist_y = ax[1, 1] - ax = ax[1, 0] - for val, ax_, rotate in ((x, ax_hist_x, False), (y, ax_hist_y, True)): - plot_dist(val, textsize=xt_labelsize, rotated=rotate, ax=ax_, **marginal_kwargs) - else: - ax = np.atleast_2d(ax)[0, 0] - - if "scatter" in kind: - ax.scatter(x, y, **scatter_kwargs) - if "kde" in kind: - plot_kde(x, y, ax=ax, **kde_kwargs) - if "hexbin" in kind: - hexbin = ax.hexbin( - x, - y, - gridsize=gridsize, - **hexbin_kwargs, - ) - ax.grid(False) - - if kind == "hexbin" and colorbar: - cbar = ax.figure.colorbar(hexbin, ticks=[hexbin.norm.vmin, hexbin.norm.vmax], ax=ax) - cbar.ax.set_yticklabels(["low", "high"], fontsize=ax_labelsize) - - if divergences: - ax.plot( - x[diverging_mask], - y[diverging_mask], - **divergences_kwargs, - ) - - if point_estimate: - pe_x = calculate_point_estimate(point_estimate, x) - pe_y = calculate_point_estimate(point_estimate, y) - if marginals: - ax_hist_x.axvline(pe_x, **point_estimate_kwargs) - ax_hist_y.axhline(pe_y, **point_estimate_kwargs) - - ax.axvline(pe_x, **point_estimate_kwargs) - ax.axhline(pe_y, **point_estimate_kwargs) - - ax.scatter(pe_x, pe_y, **point_estimate_marker_kwargs) - - if reference_values: - ax.plot( - np.array(reference_values[flat_var_names[0]])[flat_ref_slices[0]], - np.array(reference_values[flat_var_names[1]])[flat_ref_slices[1]], - **reference_values_kwargs, - ) - ax.set_xlabel(f"{flat_var_labels[0]}", fontsize=ax_labelsize, wrap=True) - ax.set_ylabel(f"{flat_var_labels[1]}", fontsize=ax_labelsize, wrap=True) - ax.tick_params(labelsize=xt_labelsize) - - else: - not_marginals = int(not marginals) - num_subplot_cols = numvars - not_marginals - max_plots = ( - num_subplot_cols**2 - if rcParams["plot.max_subplots"] is None - else rcParams["plot.max_subplots"] - ) - cols_to_plot = np.sum(np.arange(1, num_subplot_cols + 1).cumsum() <= max_plots) - if cols_to_plot < num_subplot_cols: - vars_to_plot = cols_to_plot - warnings.warn( - "rcParams['plot.max_subplots'] ({max_plots}) is smaller than the number " - "of resulting pair plots with these variables, generating only a " - "{side}x{side} grid".format(max_plots=max_plots, side=vars_to_plot), - UserWarning, - ) - else: - vars_to_plot = numvars - not_marginals - - (figsize, ax_labelsize, _, xt_labelsize, _, markersize) = _scale_fig_size( - figsize, textsize, vars_to_plot, vars_to_plot - ) - backend_kwargs.setdefault("figsize", figsize) - point_estimate_marker_kwargs.setdefault("s", markersize + 50) - - if ax is None: - if backend_kwargs.pop("sharex", None) is not None: - warnings.warn( - "'sharex' keyword is ignored. For non-standard sharing, provide 'ax'.", - UserWarning, - ) - if backend_kwargs.pop("sharey", None) is not None: - warnings.warn( - "'sharey' keyword is ignored. For non-standard sharing, provide 'ax'.", - UserWarning, - ) - backend_kwargs["sharex"] = "col" - if not_marginals: - backend_kwargs["sharey"] = "row" - fig, ax = plt.subplots( - vars_to_plot, - vars_to_plot, - **backend_kwargs, - ) - if backend_kwargs.get("sharey") is None: - for j in range(0, vars_to_plot): - for i in range(0, j): - ax[j, i].axes.sharey(ax[j, 0]) - - hexbin_values = [] - for i in range(0, vars_to_plot): - var1 = plotters[i][-1].flatten() - - for j in range(0, vars_to_plot): - var2 = plotters[j + not_marginals][-1].flatten() - if i > j: - if ax[j, i].get_figure() is not None: - ax[j, i].remove() - continue - - elif i == j and marginals: - loc = "right" - plot_dist(var1, ax=ax[i, j], **marginal_kwargs) - - else: - if i == j: - loc = "left" - - if "scatter" in kind: - ax[j, i].scatter(var1, var2, **scatter_kwargs) - - if "kde" in kind: - plot_kde( - var1, - var2, - ax=ax[j, i], - **deepcopy(kde_kwargs), - ) - - if "hexbin" in kind: - ax[j, i].grid(False) - hexbin = ax[j, i].hexbin(var1, var2, gridsize=gridsize, **hexbin_kwargs) - - if divergences: - ax[j, i].plot( - var1[diverging_mask], var2[diverging_mask], **divergences_kwargs - ) - - if kind == "hexbin" and colorbar: - hexbin_values.append(hexbin.norm.vmin) - hexbin_values.append(hexbin.norm.vmax) - divider = make_axes_locatable(ax[-1, -1]) - cax = divider.append_axes(loc, size="7%", pad="5%") - cbar = fig.colorbar( - hexbin, ticks=[hexbin.norm.vmin, hexbin.norm.vmax], cax=cax - ) - cbar.ax.set_yticklabels(["low", "high"], fontsize=ax_labelsize) - - if point_estimate: - pe_x = calculate_point_estimate(point_estimate, var1) - pe_y = calculate_point_estimate(point_estimate, var2) - ax[j, i].axvline(pe_x, **point_estimate_kwargs) - ax[j, i].axhline(pe_y, **point_estimate_kwargs) - - if marginals: - ax[j - 1, i].axvline(pe_x, **point_estimate_kwargs) - pe_last = calculate_point_estimate(point_estimate, plotters[-1][-1]) - ax[-1, -1].axvline(pe_last, **point_estimate_kwargs) - - ax[j, i].scatter(pe_x, pe_y, **point_estimate_marker_kwargs) - - if reference_values: - x_name = flat_var_names[i] - y_name = flat_var_names[j + not_marginals] - if (x_name not in difference) and (y_name not in difference): - ax[j, i].plot( - np.array(reference_values[x_name])[flat_ref_slices[i]], - np.array(reference_values[y_name])[ - flat_ref_slices[j + not_marginals] - ], - **reference_values_kwargs, - ) - - if j != vars_to_plot - 1: - plt.setp(ax[j, i].get_xticklabels(), visible=False) - else: - ax[j, i].set_xlabel(f"{flat_var_labels[i]}", fontsize=ax_labelsize, wrap=True) - if i != 0: - plt.setp(ax[j, i].get_yticklabels(), visible=False) - else: - ax[j, i].set_ylabel( - f"{flat_var_labels[j + not_marginals]}", - fontsize=ax_labelsize, - wrap=True, - ) - ax[j, i].tick_params(labelsize=xt_labelsize) - - if backend_show(show): - plt.show() - - if marginals and numvars == 2: - return ax_return - return ax diff --git a/arviz/plots/backends/matplotlib/parallelplot.py b/arviz/plots/backends/matplotlib/parallelplot.py deleted file mode 100644 index dee07fb18b..0000000000 --- a/arviz/plots/backends/matplotlib/parallelplot.py +++ /dev/null @@ -1,58 +0,0 @@ -"""Matplotlib Parallel coordinates plot.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid - - -def plot_parallel( - ax, - colornd, - colord, - shadend, - diverging_mask, - posterior, - textsize, - var_names, - legend, - figsize, - backend_kwargs, - backend_config, # pylint: disable=unused-argument - show, -): - """Matplotlib parallel plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, _, _, xt_labelsize, _, _ = _scale_fig_size(figsize, textsize, 1, 1) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - if ax is None: - _, ax = create_axes_grid(1, backend_kwargs=backend_kwargs) - - ax.plot(posterior[:, ~diverging_mask], color=colornd, alpha=shadend) - - if np.any(diverging_mask): - ax.plot(posterior[:, diverging_mask], color=colord, lw=1) - - ax.tick_params(labelsize=textsize) - ax.set_xticks(range(len(var_names))) - ax.set_xticklabels(var_names) - - if legend: - ax.plot([], color=colornd, label="non-divergent") - if np.any(diverging_mask): - ax.plot([], color=colord, label="divergent") - ax.legend(fontsize=xt_labelsize) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/posteriorplot.py b/arviz/plots/backends/matplotlib/posteriorplot.py deleted file mode 100644 index f67b4ad60d..0000000000 --- a/arviz/plots/backends/matplotlib/posteriorplot.py +++ /dev/null @@ -1,348 +0,0 @@ -"""Matplotlib Plot posterior densities.""" - -from numbers import Number - -import matplotlib.pyplot as plt -import numpy as np - -from ....stats import hdi -from ....stats.density_utils import get_bins -from ...kdeplot import plot_kde -from ...plot_utils import ( - _scale_fig_size, - calculate_point_estimate, - format_sig_figs, - round_num, - vectorized_to_hex, -) -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_posterior( - ax, - length_plotters, - rows, - cols, - figsize, - plotters, - bw, - circular, - bins, - kind, - point_estimate, - round_to, - hdi_prob, - multimodal, - skipna, - textsize, - ref_val, - rope, - ref_val_color, - rope_color, - labeller, - kwargs, - backend_kwargs, - show, -): - """Matplotlib posterior plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, ax_labelsize, titlesize, xt_labelsize, _linewidth, _) = _scale_fig_size( - figsize, textsize, rows, cols - ) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("squeeze", True) - - if kind == "hist": - kwargs = matplotlib_kwarg_dealiaser(kwargs, "hist") - else: - kwargs = matplotlib_kwarg_dealiaser(kwargs, "plot") - kwargs.setdefault("linewidth", _linewidth) - - if ax is None: - _, ax = create_axes_grid( - length_plotters, - rows, - cols, - backend_kwargs=backend_kwargs, - ) - idx = 0 - for (var_name, selection, isel, x), ax_ in zip(plotters, np.ravel(ax)): - _plot_posterior_op( - idx, - x.flatten(), - var_name, - selection, - ax=ax_, - bw=bw, - circular=circular, - bins=bins, - kind=kind, - point_estimate=point_estimate, - round_to=round_to, - hdi_prob=hdi_prob, - multimodal=multimodal, - skipna=skipna, - ref_val=ref_val, - rope=rope, - ref_val_color=ref_val_color, - rope_color=rope_color, - ax_labelsize=ax_labelsize, - xt_labelsize=xt_labelsize, - **kwargs, - ) - idx += 1 - ax_.set_title( - labeller.make_label_vert(var_name, selection, isel), fontsize=titlesize, wrap=True - ) - - if backend_show(show): - plt.show() - - return ax - - -def _plot_posterior_op( - idx, - values, - var_name, - selection, - ax, - bw, - circular, - linewidth, - bins, - kind, - point_estimate, - hdi_prob, - multimodal, - skipna, - ref_val, - rope, - ref_val_color, - rope_color, - ax_labelsize, - xt_labelsize, - round_to=None, - **kwargs, -): # noqa: D202 - """Artist to draw posterior.""" - - def format_as_percent(x, round_to=0): - return "{0:.{1:d}f}%".format(100 * x, round_to) - - def display_ref_val(): - if ref_val is None: - return - elif isinstance(ref_val, dict): - val = None - for sel in ref_val.get(var_name, []): - if all( - k in selection and selection[k] == v for k, v in sel.items() if k != "ref_val" - ): - val = sel["ref_val"] - break - if val is None: - return - elif isinstance(ref_val, list): - val = ref_val[idx] - elif isinstance(ref_val, Number): - val = ref_val - else: - raise ValueError( - "Argument `ref_val` must be None, a constant, a list or a " - 'dictionary like {"var_name": [{"ref_val": ref_val}]}' - ) - less_than_ref_probability = (values < val).mean() - greater_than_ref_probability = (values >= val).mean() - ref_in_posterior = "{} <{:g}< {}".format( - format_as_percent(less_than_ref_probability, 1), - val, - format_as_percent(greater_than_ref_probability, 1), - ) - ax.axvline( - val, - ymin=0.05, - ymax=0.75, - lw=linewidth, - alpha=0.65, - color=vectorized_to_hex(ref_val_color), - ) - ax.text( - values.mean(), - plot_height * 0.6, - ref_in_posterior, - size=ax_labelsize, - weight="semibold", - horizontalalignment="center", - color=vectorized_to_hex(ref_val_color), - ) - - def display_rope(): - if rope is None: - return - elif isinstance(rope, dict): - vals = None - for sel in rope.get(var_name, []): - # pylint: disable=line-too-long - if all(k in selection and selection[k] == v for k, v in sel.items() if k != "rope"): - vals = sel["rope"] - break - if vals is None: - return - elif len(rope) == 2: - vals = rope - else: - raise ValueError( - "Argument `rope` must be None, a dictionary like" - '{"var_name": {"rope": (lo, hi)}}, or an' - "iterable of length 2" - ) - rope_text = [f"{val:.{format_sig_figs(val, round_to)}g}" for val in vals] - ax.plot( - vals, - (plot_height * 0.02, plot_height * 0.02), - lw=linewidth * 5, - solid_capstyle="butt", - zorder=0, - alpha=0.7, - color=vectorized_to_hex(rope_color), - ) - probability_within_rope = ((values > vals[0]) & (values <= vals[1])).mean() - ax.text( - values.mean(), - plot_height * 0.45, - f"{format_as_percent(probability_within_rope, 1)} in ROPE", - weight="semibold", - horizontalalignment="center", - size=ax_labelsize, - color=vectorized_to_hex(rope_color), - ) - ax.text( - vals[0], - plot_height * 0.2, - rope_text[0], - weight="semibold", - horizontalalignment="right", - size=ax_labelsize, - color=vectorized_to_hex(rope_color), - ) - ax.text( - vals[1], - plot_height * 0.2, - rope_text[1], - weight="semibold", - horizontalalignment="left", - size=ax_labelsize, - color=vectorized_to_hex(rope_color), - ) - - def display_point_estimate(): - if not point_estimate: - return - point_value = calculate_point_estimate(point_estimate, values, bw, circular, skipna) - sig_figs = format_sig_figs(point_value, round_to) - point_text = "{point_estimate}={point_value:.{sig_figs}g}".format( - point_estimate=point_estimate, point_value=point_value, sig_figs=sig_figs - ) - ax.text( - point_value, - plot_height * 0.8, - point_text, - size=ax_labelsize, - horizontalalignment="center", - ) - - def display_hdi(): - # np.ndarray with 2 entries, min and max - # pylint: disable=line-too-long - hdi_probs = hdi( - values, hdi_prob=hdi_prob, circular=circular, multimodal=multimodal, skipna=skipna - ) # type: np.ndarray - - for hdi_i in np.atleast_2d(hdi_probs): - ax.plot( - hdi_i, - (plot_height * 0.02, plot_height * 0.02), - lw=linewidth * 2, - color="k", - solid_capstyle="butt", - ) - ax.text( - hdi_i[0], - plot_height * 0.07, - f"{round_num(hdi_i[0], round_to)} ", - size=ax_labelsize, - horizontalalignment="right", - ) - ax.text( - hdi_i[1], - plot_height * 0.07, - f" {round_num(hdi_i[1], round_to)}", - size=ax_labelsize, - horizontalalignment="left", - ) - ax.text( - (hdi_i[0] + hdi_i[1]) / 2, - plot_height * 0.3, - f"{format_as_percent(hdi_prob)} HDI", - size=ax_labelsize, - horizontalalignment="center", - ) - - def format_axes(): - ax.yaxis.set_ticks([]) - ax.spines["top"].set_visible(False) - ax.spines["right"].set_visible(False) - ax.spines["left"].set_visible(False) - ax.spines["bottom"].set_visible(True) - ax.xaxis.set_ticks_position("bottom") - ax.tick_params( - axis="x", direction="out", width=1, length=3, color="0.5", labelsize=xt_labelsize - ) - ax.spines["bottom"].set_color("0.5") - - if kind == "kde" and values.dtype.kind == "f": - kwargs.setdefault("linewidth", linewidth) - plot_kde( - values, - bw=bw, - is_circular=circular, - fill_kwargs={"alpha": kwargs.pop("fill_alpha", 0)}, - plot_kwargs=kwargs, - ax=ax, - rug=False, - show=False, - ) - elif values.dtype.kind == "i" or (values.dtype.kind == "f" and kind == "hist"): - if bins is None: - xmin = values.min() - xmax = values.max() - bins = get_bins(values) - ax.set_xlim(xmin - 0.5, xmax + 0.5) - kwargs.setdefault("align", "left") - kwargs.setdefault("color", "C0") - ax.hist(values, bins=bins, alpha=0.35, **kwargs) - elif values.dtype.kind == "b": - if bins is None: - bins = "auto" - kwargs.setdefault("color", "C0") - ax.bar(["False", "True"], [(~values).sum(), values.sum()], alpha=0.35, **kwargs) - hdi_prob = "hide" - else: - raise TypeError("Values must be float, integer or boolean") - - plot_height = ax.get_ylim()[1] - - format_axes() - if hdi_prob != "hide": - display_hdi() - display_point_estimate() - display_ref_val() - display_rope() diff --git a/arviz/plots/backends/matplotlib/ppcplot.py b/arviz/plots/backends/matplotlib/ppcplot.py deleted file mode 100644 index 2b4118760b..0000000000 --- a/arviz/plots/backends/matplotlib/ppcplot.py +++ /dev/null @@ -1,478 +0,0 @@ -"""Matplotlib Posterior predictive plot.""" - -import logging -import platform - -import matplotlib.pyplot as plt -import numpy as np -from matplotlib import animation, get_backend - -from ....stats.density_utils import get_bins, histogram, kde -from ...kdeplot import plot_kde -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid - -_log = logging.getLogger(__name__) - - -def plot_ppc( - ax, - length_plotters, - rows, - cols, - figsize, - animated, - obs_plotters, - pp_plotters, - predictive_dataset, - pp_sample_ix, - kind, - alpha, - colors, - textsize, - mean, - observed, - observed_rug, - jitter, - total_pp_samples, - legend, - labeller, - group, - animation_kwargs, - num_pp_samples, - backend_kwargs, - show, -): - """Matplotlib ppc plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - if animation_kwargs is None: - animation_kwargs = {} - if platform.system() == "Linux": - animation_kwargs.setdefault("blit", True) - else: - animation_kwargs.setdefault("blit", False) - - if alpha is None: - if animated: - alpha = 1 - else: - if kind.lower() == "scatter": - alpha = 0.7 - else: - alpha = 0.2 - - if jitter is None: - jitter = 0.0 - if jitter < 0.0: - raise ValueError("jitter must be >=0") - - if animated: - try: - shell = get_ipython().__class__.__name__ - if shell == "ZMQInteractiveShell" and get_backend() != "nbAgg": - raise Warning( - "To run animations inside a notebook you have to use the nbAgg backend. " - "Try with `%matplotlib notebook` or `%matplotlib nbAgg`. You can switch " - "back to the default backend with `%matplotlib inline` or " - "`%matplotlib auto`." - ) - except NameError: - pass - - if animation_kwargs["blit"] and platform.system() != "Linux": - _log.warning( - "If you experience problems rendering the animation try setting " - "`animation_kwargs({'blit':False}) or changing the plotting backend " - "(e.g. to TkAgg)" - ) - - (figsize, ax_labelsize, _, xt_labelsize, linewidth, markersize) = _scale_fig_size( - figsize, textsize, rows, cols - ) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("squeeze", True) - if ax is None: - fig, axes = create_axes_grid(length_plotters, rows, cols, backend_kwargs=backend_kwargs) - else: - axes = np.ravel(ax) - if len(axes) != length_plotters: - raise ValueError( - "Found {} variables to plot but {} axes instances. They must be equal.".format( - length_plotters, len(axes) - ) - ) - if animated: - fig = axes[0].get_figure() - if not all((ax.get_figure() is fig for ax in axes)): - raise ValueError("All axes must be on the same figure for animation to work") - - for i, ax_i in enumerate(np.ravel(axes)[:length_plotters]): - var_name, selection, isel, obs_vals = obs_plotters[i] - pp_var_name, _, _, pp_vals = pp_plotters[i] - dtype = predictive_dataset[pp_var_name].dtype.kind - - if dtype not in ["i", "f"]: - raise ValueError( - f"The data type of the predictive data must be one of 'i' or 'f', but is '{dtype}'" - ) - - # flatten non-specified dimensions - obs_vals = obs_vals.flatten() - pp_vals = pp_vals.reshape(total_pp_samples, -1) - pp_sampled_vals = pp_vals[pp_sample_ix] - - if kind == "kde": - plot_kwargs = {"color": colors[0], "alpha": alpha, "linewidth": 0.5 * linewidth} - if dtype == "i": - plot_kwargs["drawstyle"] = "steps-pre" - ax_i.plot([], color=colors[0], label=f"{group.capitalize()} predictive") - if observed: - if dtype == "f": - plot_kde( - obs_vals, - rug=observed_rug, - label="Observed", - plot_kwargs={"color": colors[1], "linewidth": linewidth, "zorder": 3}, - fill_kwargs={"alpha": 0}, - ax=ax_i, - legend=legend, - ) - else: - bins = get_bins(obs_vals) - _, hist, bin_edges = histogram(obs_vals, bins=bins) - hist = np.concatenate((hist[:1], hist)) - ax_i.plot( - bin_edges, - hist, - label="Observed", - color=colors[1], - linewidth=linewidth, - zorder=3, - drawstyle=plot_kwargs["drawstyle"], - ) - - pp_densities = [] - pp_xs = [] - for vals in pp_sampled_vals: - vals = np.array([vals]).flatten() - if dtype == "f": - pp_x, pp_density = kde(vals) - pp_densities.append(pp_density) - pp_xs.append(pp_x) - else: - bins = get_bins(vals) - _, hist, bin_edges = histogram(vals, bins=bins) - hist = np.concatenate((hist[:1], hist)) - pp_densities.append(hist) - pp_xs.append(bin_edges) - - if animated: - animate, init = _set_animation( - pp_sampled_vals, ax_i, dtype=dtype, kind=kind, plot_kwargs=plot_kwargs - ) - - else: - if dtype == "f": - ax_i.plot(np.transpose(pp_xs), np.transpose(pp_densities), **plot_kwargs) - else: - for x_s, y_s in zip(pp_xs, pp_densities): - ax_i.plot(x_s, y_s, **plot_kwargs) - - if mean: - label = f"{group.capitalize()} predictive mean" - if dtype == "f": - rep = len(pp_densities) - len_density = len(pp_densities[0]) - - new_x = np.linspace(np.min(pp_xs), np.max(pp_xs), len_density) - new_d = np.zeros((rep, len_density)) - bins = np.digitize(pp_xs, new_x, right=True) - new_x -= (new_x[1] - new_x[0]) / 2 - for irep in range(rep): - new_d[irep][bins[irep]] = pp_densities[irep] - ax_i.plot( - new_x, - new_d.mean(0), - color=colors[2], - linestyle="--", - linewidth=linewidth * 1.5, - zorder=2, - label=label, - ) - else: - vals = pp_vals.flatten() - bins = get_bins(vals) - _, hist, bin_edges = histogram(vals, bins=bins) - hist = np.concatenate((hist[:1], hist)) - ax_i.plot( - bin_edges, - hist, - color=colors[2], - linewidth=linewidth * 1.5, - label=label, - zorder=2, - linestyle="--", - drawstyle=plot_kwargs["drawstyle"], - ) - ax_i.tick_params(labelsize=xt_labelsize) - ax_i.set_yticks([]) - - elif kind == "cumulative": - drawstyle = "default" if dtype == "f" else "steps-pre" - if observed: - ax_i.plot( - *_empirical_cdf(obs_vals), - color=colors[1], - linewidth=linewidth, - label="Observed", - drawstyle=drawstyle, - zorder=3, - ) - if observed_rug: - ax_i.plot( - obs_vals, - np.zeros_like(obs_vals) - 0.1, - ls="", - marker="|", - color=colors[1], - ) - if animated: - animate, init = _set_animation( - pp_sampled_vals, - ax_i, - kind=kind, - alpha=alpha, - drawstyle=drawstyle, - linewidth=linewidth, - ) - - else: - pp_densities = np.empty((2 * len(pp_sampled_vals), pp_sampled_vals[0].size)) - for idx, vals in enumerate(pp_sampled_vals): - vals = np.array([vals]).flatten() - pp_x, pp_density = _empirical_cdf(vals) - pp_densities[2 * idx] = pp_x - pp_densities[2 * idx + 1] = pp_density - - ax_i.plot( - *pp_densities, - alpha=alpha, - color=colors[0], - drawstyle=drawstyle, - linewidth=linewidth, - ) - ax_i.plot([], color=colors[0], label=f"{group.capitalize()} predictive") - if mean: - ax_i.plot( - *_empirical_cdf(pp_vals.flatten()), - color=colors[2], - linestyle="--", - linewidth=linewidth * 1.5, - drawstyle=drawstyle, - label=f"{group.capitalize()} predictive mean", - ) - ax_i.set_yticks([0, 0.5, 1]) - - elif kind == "scatter": - if mean: - if dtype == "f": - plot_kde( - pp_vals.flatten(), - plot_kwargs={ - "color": colors[2], - "linestyle": "--", - "linewidth": linewidth * 1.5, - "zorder": 3, - }, - label=f"{group.capitalize()} predictive mean", - ax=ax_i, - legend=legend, - ) - else: - vals = pp_vals.flatten() - bins = get_bins(vals) - _, hist, bin_edges = histogram(vals, bins=bins) - hist = np.concatenate((hist[:1], hist)) - ax_i.plot( - bin_edges, - hist, - color=colors[2], - linewidth=linewidth * 1.5, - label=f"{group.capitalize()} predictive mean", - zorder=3, - linestyle="--", - drawstyle="steps-pre", - ) - - _, limit = ax_i.get_ylim() - limit *= 1.05 - y_rows = np.linspace(0, limit, num_pp_samples + 1) - jitter_scale = y_rows[1] - y_rows[0] - scale_low = 0 - scale_high = jitter_scale * jitter - - if observed: - obs_yvals = np.zeros_like(obs_vals, dtype=np.float64) - if jitter: - obs_yvals += np.random.uniform( - low=scale_low, high=scale_high, size=len(obs_vals) - ) - ax_i.plot( - obs_vals, - obs_yvals, - "o", - color=colors[1], - markersize=markersize, - alpha=alpha, - label="Observed", - zorder=4, - ) - - if animated: - animate, init = _set_animation( - pp_sampled_vals, - ax_i, - kind=kind, - color=colors[0], - height=y_rows.mean() * 0.5, - markersize=markersize, - ) - - else: - for vals, y in zip(pp_sampled_vals, y_rows[1:]): - vals = np.ravel(vals) - yvals = np.full_like(vals, y, dtype=np.float64) - if jitter: - yvals += np.random.uniform(low=scale_low, high=scale_high, size=len(vals)) - ax_i.plot( - vals, - yvals, - "o", - zorder=2, - color=colors[0], - markersize=markersize, - alpha=alpha, - ) - - ax_i.plot([], color=colors[0], marker="o", label=f"{group.capitalize()} predictive") - - ax_i.set_yticks([]) - - ax_i.set_xlabel( - labeller.make_pp_label(var_name, pp_var_name, selection, isel), fontsize=ax_labelsize - ) - - if legend: - if i == 0: - ax_i.legend(fontsize=xt_labelsize * 0.75) - - if backend_show(show): - plt.show() - - if animated: - ani = animation.FuncAnimation( - fig, animate, np.arange(0, num_pp_samples), init_func=init, **animation_kwargs - ) - return axes, ani - else: - return axes - - -def _set_animation( - pp_sampled_vals, - ax, - dtype=None, - kind="density", - alpha=None, - color=None, - drawstyle=None, - linewidth=None, - height=None, - markersize=None, - plot_kwargs=None, -): - if kind == "kde": - length = len(pp_sampled_vals) - if dtype == "f": - x_vals, y_vals = kde(pp_sampled_vals[0]) - max_max = max(max(kde(pp_sampled_vals[i])[1]) for i in range(length)) - ax.set_ylim(0, max_max) - (line,) = ax.plot(x_vals, y_vals, **plot_kwargs) - - def animate(i): - x_vals, y_vals = kde(pp_sampled_vals[i]) - line.set_data(x_vals, y_vals) - return (line,) - - else: - vals = pp_sampled_vals[0] - bins = get_bins(vals) - _, y_vals, x_vals = histogram(vals, bins=bins) - (line,) = ax.plot(x_vals[:-1], y_vals, **plot_kwargs) - - max_max = max( - max(histogram(pp_sampled_vals[i], bins=get_bins(pp_sampled_vals[i]))[1]) - for i in range(length) - ) - - ax.set_ylim(0, max_max) - - def animate(i): - pp_vals = pp_sampled_vals[i] - _, y_vals, x_vals = histogram(pp_vals, bins=get_bins(pp_vals)) - line.set_data(x_vals[:-1], y_vals) - return (line,) - - elif kind == "cumulative": - x_vals, y_vals = _empirical_cdf(pp_sampled_vals[0]) - (line,) = ax.plot( - x_vals, y_vals, alpha=alpha, color=color, drawstyle=drawstyle, linewidth=linewidth - ) - - def animate(i): - x_vals, y_vals = _empirical_cdf(pp_sampled_vals[i]) - line.set_data(x_vals, y_vals) - return (line,) - - elif kind == "scatter": - x_vals = pp_sampled_vals[0] - y_vals = np.full_like(x_vals, height, dtype=np.float64) - (line,) = ax.plot( - x_vals, y_vals, "o", zorder=2, color=color, markersize=markersize, alpha=alpha - ) - - def animate(i): - line.set_xdata(np.ravel(pp_sampled_vals[i])) - return (line,) - - def init(): - if kind != "scatter": - line.set_data([], []) - else: - line.set_xdata([]) - return (line,) - - return animate, init - - -def _empirical_cdf(data): - """Compute empirical cdf of a numpy array. - - Parameters - ---------- - data : np.array - 1d array - - Returns - ------- - np.array, np.array - x and y coordinates for the empirical cdf of the data - """ - return np.sort(data), np.linspace(0, 1, len(data)) diff --git a/arviz/plots/backends/matplotlib/rankplot.py b/arviz/plots/backends/matplotlib/rankplot.py deleted file mode 100644 index 5e64e2e82d..0000000000 --- a/arviz/plots/backends/matplotlib/rankplot.py +++ /dev/null @@ -1,119 +0,0 @@ -"""Matplotlib rankplot.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ....stats.density_utils import histogram -from ...plot_utils import _scale_fig_size, compute_ranks -from . import backend_kwarg_defaults, backend_show, create_axes_grid - - -def plot_rank( - axes, - length_plotters, - rows, - cols, - figsize, - plotters, - bins, - kind, - colors, - ref_line, - labels, - labeller, - ref_line_kwargs, - bar_kwargs, - vlines_kwargs, - marker_vlines_kwargs, - backend_kwargs, - show, -): - """Matplotlib rankplot..""" - if ref_line_kwargs is None: - ref_line_kwargs = {} - ref_line_kwargs.setdefault("linestyle", "--") - ref_line_kwargs.setdefault("color", "k") - - if bar_kwargs is None: - bar_kwargs = {} - bar_kwargs.setdefault("align", "center") - - if vlines_kwargs is None: - vlines_kwargs = {} - vlines_kwargs.setdefault("lw", 2) - - if marker_vlines_kwargs is None: - marker_vlines_kwargs = {} - marker_vlines_kwargs.setdefault("marker", "o") - marker_vlines_kwargs.setdefault("lw", 0) - - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - figsize, ax_labelsize, titlesize, _, _, _ = _scale_fig_size(figsize, None, rows=rows, cols=cols) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("squeeze", True) - if axes is None: - _, axes = create_axes_grid( - length_plotters, - rows, - cols, - backend_kwargs=backend_kwargs, - ) - - for ax, (var_name, selection, isel, var_data) in zip(np.ravel(axes), plotters): - ranks = compute_ranks(var_data) - bin_ary = np.histogram_bin_edges(ranks, bins=bins, range=(0, ranks.size)) - all_counts = np.empty((len(ranks), len(bin_ary) - 1)) - for idx, row in enumerate(ranks): - _, all_counts[idx], _ = histogram(row, bins=bin_ary) - gap = 2 / ranks.size - width = bin_ary[1] - bin_ary[0] - - bar_kwargs.setdefault("width", width) - bar_kwargs.setdefault("edgecolor", ax.get_facecolor()) - # Center the bins - bin_ary = (bin_ary[1:] + bin_ary[:-1]) / 2 - - y_ticks = [] - if kind == "bars": - for idx, counts in enumerate(all_counts): - y_ticks.append(idx * gap) - ax.bar( - bin_ary, - counts, - bottom=y_ticks[-1], - color=colors[idx], - **bar_kwargs, - ) - if ref_line: - ax.axhline(y=y_ticks[-1] + counts.mean(), **ref_line_kwargs) - if labels: - ax.set_ylabel("Chain", fontsize=ax_labelsize) - elif kind == "vlines": - ymin = all_counts.mean() - - for idx, counts in enumerate(all_counts): - ax.plot(bin_ary, counts, color=colors[idx], **marker_vlines_kwargs) - ax.vlines(bin_ary, ymin, counts, colors=colors[idx], **vlines_kwargs) - ax.set_ylim(0, all_counts.mean() * 2) - if ref_line: - ax.axhline(y=ymin, **ref_line_kwargs) - - if labels: - ax.set_xlabel("Rank (all chains)", fontsize=ax_labelsize) - ax.set_yticks(y_ticks) - ax.set_yticklabels(np.arange(len(y_ticks))) - ax.set_title(labeller.make_label_vert(var_name, selection, isel), fontsize=titlesize) - else: - ax.set_yticks([]) - - if backend_show(show): - plt.show() - - return axes diff --git a/arviz/plots/backends/matplotlib/separationplot.py b/arviz/plots/backends/matplotlib/separationplot.py deleted file mode 100644 index f709c8613a..0000000000 --- a/arviz/plots/backends/matplotlib/separationplot.py +++ /dev/null @@ -1,97 +0,0 @@ -"""Matplotlib separation plot.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid - - -def plot_separation( - y, - y_hat, - y_hat_line, - label_y_hat, - expected_events, - figsize, - textsize, - color, - legend, - locs, - width, - ax, - plot_kwargs, - y_hat_line_kwargs, - exp_events_kwargs, - backend_kwargs, - show, -): - """Matplotlib separation plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - if plot_kwargs is None: - plot_kwargs = {} - - # plot_kwargs.setdefault("color", "C0") - # if color: - plot_kwargs["color"] = color - - if y_hat_line_kwargs is None: - y_hat_line_kwargs = {} - - y_hat_line_kwargs.setdefault("color", "k") - - if exp_events_kwargs is None: - exp_events_kwargs = {} - - exp_events_kwargs.setdefault("color", "k") - exp_events_kwargs.setdefault("marker", "^") - exp_events_kwargs.setdefault("s", 100) - exp_events_kwargs.setdefault("zorder", 2) - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, *_) = _scale_fig_size(figsize, textsize, 1, 1) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs["squeeze"] = True - - if ax is None: - _, ax = create_axes_grid(1, backend_kwargs=backend_kwargs) - - idx = np.argsort(y_hat) - - for i, loc in enumerate(locs): - positive = not y[idx][i] == 0 - alpha = 1 if positive else 0.3 - ax.bar(loc, 1, width=width, alpha=alpha, **plot_kwargs) - - if y_hat_line: - ax.plot(np.linspace(0, 1, len(y_hat)), y_hat[idx], label=label_y_hat, **y_hat_line_kwargs) - - if expected_events: - expected_events = int(np.round(np.sum(y_hat))) - ax.scatter( - y_hat[idx][len(y_hat) - expected_events - 1], - 0, - label="Expected events", - **exp_events_kwargs - ) - - if legend and (expected_events or y_hat_line): - handles, labels = ax.get_legend_handles_labels() - labels_dict = dict(zip(labels, handles)) - ax.legend(labels_dict.values(), labels_dict.keys()) - - ax.set_xticks([]) - ax.set_yticks([]) - ax.set_xlim(0, 1) - ax.set_ylim(0, 1) - - if backend_show(show): - plt.show() - - return ax diff --git a/arviz/plots/backends/matplotlib/traceplot.py b/arviz/plots/backends/matplotlib/traceplot.py deleted file mode 100644 index b00baa5daa..0000000000 --- a/arviz/plots/backends/matplotlib/traceplot.py +++ /dev/null @@ -1,526 +0,0 @@ -"""Matplotlib traceplot.""" - -import warnings -from itertools import cycle - -from matplotlib import gridspec -import matplotlib.pyplot as plt -import numpy as np -from matplotlib.lines import Line2D -import matplotlib.ticker as mticker - -from ....stats.density_utils import get_bins -from ...distplot import plot_dist -from ...plot_utils import _scale_fig_size, format_coords_as_labels -from ...rankplot import plot_rank -from . import backend_kwarg_defaults, backend_show, dealiase_sel_kwargs, matplotlib_kwarg_dealiaser - - -def plot_trace( - data, - var_names, # pylint: disable=unused-argument - divergences, - kind, - figsize, - rug, - lines, - circ_var_names, - circ_var_units, - compact, - compact_prop, - combined, - chain_prop, - legend, - labeller, - plot_kwargs, - fill_kwargs, - rug_kwargs, - hist_kwargs, - trace_kwargs, - rank_kwargs, - plotters, - divergence_data, - axes, - backend_kwargs, - backend_config, # pylint: disable=unused-argument - show, -): - """Plot distribution (histogram or kernel density estimates) and sampled values. - - If `divergences` data is available in `sample_stats`, will plot the location of divergences as - dashed vertical lines. - - Parameters - ---------- - data : obj - Any object that can be converted to an az.InferenceData object - Refer to documentation of az.convert_to_dataset for details - var_names : string, or list of strings - One or more variables to be plotted. - divergences : {"bottom", "top", None, False} - Plot location of divergences on the traceplots. Options are "bottom", "top", or False-y. - kind : {"trace", "rank_bar", "rank_vlines"}, optional - Choose between plotting sampled values per iteration and rank plots. - figsize : figure size tuple - If None, size is (12, variables * 2) - rug : bool - If True adds a rugplot. Defaults to False. Ignored for 2D KDE. Only affects continuous - variables. - lines : tuple or list - List of tuple of (var_name, {'coord': selection}, [line_positions]) to be overplotted as - vertical lines on the density and horizontal lines on the trace. - circ_var_names : string, or list of strings - List of circular variables to account for when plotting KDE. - circ_var_units : str - Whether the variables in `circ_var_names` are in "degrees" or "radians". - combined : bool - Flag for combining multiple chains into a single line. If False (default), chains will be - plotted separately. - legend : bool - Add a legend to the figure with the chain color code. - plot_kwargs : dict - Extra keyword arguments passed to `arviz.plot_dist`. Only affects continuous variables. - fill_kwargs : dict - Extra keyword arguments passed to `arviz.plot_dist`. Only affects continuous variables. - rug_kwargs : dict - Extra keyword arguments passed to `arviz.plot_dist`. Only affects continuous variables. - hist_kwargs : dict - Extra keyword arguments passed to `arviz.plot_dist`. Only affects discrete variables. - trace_kwargs : dict - Extra keyword arguments passed to `plt.plot` - rank_kwargs : dict - Extra keyword arguments passed to `arviz.plot_rank` - Returns - ------- - axes : matplotlib axes - - - Examples - -------- - Plot a subset variables - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('non_centered_eight') - >>> coords = {'school': ['Choate', 'Lawrenceville']} - >>> az.plot_trace(data, var_names=('theta_t', 'theta'), coords=coords) - - Show all dimensions of multidimensional variables in the same plot - - .. plot:: - :context: close-figs - - >>> az.plot_trace(data, compact=True) - - Combine all chains into one distribution - - .. plot:: - :context: close-figs - - >>> az.plot_trace(data, var_names=('theta_t', 'theta'), coords=coords, combined=True) - - - Plot reference lines against distribution and trace - - .. plot:: - :context: close-figs - - >>> lines = (('theta_t',{'school': "Choate"}, [-1]),) - >>> az.plot_trace(data, var_names=('theta_t', 'theta'), coords=coords, lines=lines) - - """ - # Set plot default backend kwargs - if backend_kwargs is None: - backend_kwargs = {} - - if circ_var_names is None: - circ_var_names = [] - - backend_kwargs = {**backend_kwarg_defaults(), **backend_kwargs} - - if lines is None: - lines = () - - num_chain_props = len(data.chain) + 1 if combined else len(data.chain) - if not compact: - chain_prop = "color" if chain_prop is None else chain_prop - else: - chain_prop = ( - { - "linestyle": ("solid", "dotted", "dashed", "dashdot"), - } - if chain_prop is None - else chain_prop - ) - compact_prop = "color" if compact_prop is None else compact_prop - - if isinstance(chain_prop, str): - chain_prop = {chain_prop: plt.rcParams["axes.prop_cycle"].by_key()[chain_prop]} - if isinstance(chain_prop, tuple): - warnings.warn( - "chain_prop as a tuple will be deprecated in a future warning, use a dict instead", - FutureWarning, - ) - chain_prop = {chain_prop[0]: chain_prop[1]} - chain_prop = { - prop_name: [prop for _, prop in zip(range(num_chain_props), cycle(props))] - for prop_name, props in chain_prop.items() - } - - if isinstance(compact_prop, str): - compact_prop = {compact_prop: plt.rcParams["axes.prop_cycle"].by_key()[compact_prop]} - if isinstance(compact_prop, tuple): - warnings.warn( - "compact_prop as a tuple will be deprecated in a future warning, use a dict instead", - FutureWarning, - ) - compact_prop = {compact_prop[0]: compact_prop[1]} - - if figsize is None: - figsize = (12, len(plotters) * 2) - - backend_kwargs.setdefault("figsize", figsize) - - trace_kwargs = matplotlib_kwarg_dealiaser(trace_kwargs, "plot") - trace_kwargs.setdefault("alpha", 0.35) - - hist_kwargs = matplotlib_kwarg_dealiaser(hist_kwargs, "hist") - hist_kwargs.setdefault("alpha", 0.35) - - plot_kwargs = matplotlib_kwarg_dealiaser(plot_kwargs, "plot") - fill_kwargs = matplotlib_kwarg_dealiaser(fill_kwargs, "fill_between") - rug_kwargs = matplotlib_kwarg_dealiaser(rug_kwargs, "scatter") - rank_kwargs = matplotlib_kwarg_dealiaser(rank_kwargs, "bar") - if compact: - rank_kwargs.setdefault("bar_kwargs", {}) - rank_kwargs["bar_kwargs"].setdefault("alpha", 0.2) - - textsize = plot_kwargs.pop("textsize", 10) - - figsize, _, titlesize, xt_labelsize, linewidth, _ = _scale_fig_size( - figsize, textsize, rows=len(plotters), cols=2 - ) - - trace_kwargs.setdefault("linewidth", linewidth) - plot_kwargs.setdefault("linewidth", linewidth) - - # Check the input for lines - if lines is not None: - all_var_names = set(plotter[0] for plotter in plotters) - - invalid_var_names = set() - for line in lines: - if line[0] not in all_var_names: - invalid_var_names.add(line[0]) - if invalid_var_names: - warnings.warn( - "A valid var_name should be provided, found {} expected from {}".format( - invalid_var_names, all_var_names - ) - ) - - if axes is None: - fig = plt.figure(**backend_kwargs) - spec = gridspec.GridSpec(ncols=2, nrows=len(plotters), figure=fig) - - # pylint: disable=too-many-nested-blocks - for idx, (var_name, selection, isel, value) in enumerate(plotters): - for idy in range(2): - value = np.atleast_2d(value) - - circular = var_name in circ_var_names and not idy - if var_name in circ_var_names and idy: - circ_units_trace = circ_var_units - else: - circ_units_trace = False - - if axes is None: - ax = fig.add_subplot(spec[idx, idy], polar=circular) - else: - ax = axes[idx, idy] - - if len(value.shape) == 2: - if compact_prop: - aux_plot_kwargs = dealiase_sel_kwargs(plot_kwargs, compact_prop, 0) - aux_trace_kwargs = dealiase_sel_kwargs(trace_kwargs, compact_prop, 0) - else: - aux_plot_kwargs = plot_kwargs - aux_trace_kwargs = trace_kwargs - - ax = _plot_chains_mpl( - ax, - idy, - value, - data, - chain_prop, - combined, - xt_labelsize, - rug, - kind, - aux_trace_kwargs, - hist_kwargs, - aux_plot_kwargs, - fill_kwargs, - rug_kwargs, - rank_kwargs, - circular, - circ_var_units, - circ_units_trace, - ) - - else: - sub_data = data[var_name].sel(**selection) - legend_labels = format_coords_as_labels(sub_data, skip_dims=("chain", "draw")) - legend_title = ", ".join( - [ - f"{coord_name}" - for coord_name in sub_data.coords - if coord_name not in {"chain", "draw"} - ] - ) - value = value.reshape((value.shape[0], value.shape[1], -1)) - compact_prop_iter = { - prop_name: [prop for _, prop in zip(range(value.shape[2]), cycle(props))] - for prop_name, props in compact_prop.items() - } - handles = [] - for sub_idx, label in zip(range(value.shape[2]), legend_labels): - aux_plot_kwargs = dealiase_sel_kwargs(plot_kwargs, compact_prop_iter, sub_idx) - aux_trace_kwargs = dealiase_sel_kwargs(trace_kwargs, compact_prop_iter, sub_idx) - ax = _plot_chains_mpl( - ax, - idy, - value[..., sub_idx], - data, - chain_prop, - combined, - xt_labelsize, - rug, - kind, - aux_trace_kwargs, - hist_kwargs, - aux_plot_kwargs, - fill_kwargs, - rug_kwargs, - rank_kwargs, - circular, - circ_var_units, - circ_units_trace, - ) - if legend: - handles.append( - Line2D( - [], - [], - label=label, - **dealiase_sel_kwargs(aux_plot_kwargs, chain_prop, 0), - ) - ) - if legend and idy == 0: - ax.legend(handles=handles, title=legend_title) - - if value[0].dtype.kind == "i" and idy == 0: - xticks = get_bins(value) - ax.set_xticks(xticks[:-1]) - y = 1 / textsize - if not idy: - ax.set_yticks([]) - if circular: - y = 0.13 if selection else 0.12 - ax.set_title( - labeller.make_label_vert(var_name, selection, isel), - fontsize=titlesize, - wrap=True, - y=textsize * y, - ) - ax.tick_params(labelsize=xt_labelsize) - - xlims = ax.get_xlim() - ylims = ax.get_ylim() - - if divergences: - div_selection = {k: v for k, v in selection.items() if k in divergence_data.dims} - divs = divergence_data.sel(**div_selection).values - # if combined: - # divs = divs.flatten() - divs = np.atleast_2d(divs) - - for chain, chain_divs in enumerate(divs): - div_draws = data.draw.values[chain_divs] - div_idxs = np.arange(len(chain_divs))[chain_divs] - if div_idxs.size > 0: - if divergences == "top": - ylocs = ylims[1] - else: - ylocs = ylims[0] - values = value[chain, div_idxs] - - if circular: - tick = [ax.get_rmin() + ax.get_rmax() * 0.60, ax.get_rmax()] - for val in values: - ax.plot( - [val, val], - tick, - color="black", - markeredgewidth=1.5, - markersize=30, - alpha=trace_kwargs["alpha"], - zorder=0.6, - ) - else: - if kind == "trace" and idy: - ax.plot( - div_draws, - np.zeros_like(div_idxs) + ylocs, - marker="|", - color="black", - markeredgewidth=1.5, - markersize=30, - linestyle="None", - alpha=hist_kwargs["alpha"], - zorder=0.6, - ) - elif not idy: - ax.plot( - values, - np.zeros_like(values) + ylocs, - marker="|", - color="black", - markeredgewidth=1.5, - markersize=30, - linestyle="None", - alpha=trace_kwargs["alpha"], - zorder=0.6, - ) - - for _, _, vlines in (j for j in lines if j[0] == var_name and j[1] == selection): - if isinstance(vlines, (float, int)): - line_values = [vlines] - else: - line_values = np.atleast_1d(vlines).ravel() - if not np.issubdtype(line_values.dtype, np.number): - raise ValueError(f"line-positions should be numeric, found {line_values}") - if idy: - ax.hlines( - line_values, - xlims[0], - xlims[1], - colors="black", - linewidth=1.5, - alpha=trace_kwargs["alpha"], - ) - - else: - ax.vlines( - line_values, - ylims[0], - ylims[1], - colors="black", - linewidth=1.5, - alpha=trace_kwargs["alpha"], - ) - - if kind == "trace" and idy: - ax.set_xlim(left=data.draw.min(), right=data.draw.max()) - - if legend: - legend_kwargs = trace_kwargs if combined else plot_kwargs - handles = [ - Line2D( - [], [], label=chain_id, **dealiase_sel_kwargs(legend_kwargs, chain_prop, chain_id) - ) - for chain_id in range(data.sizes["chain"]) - ] - if combined: - handles.insert( - 0, - Line2D( - [], [], label="combined", **dealiase_sel_kwargs(plot_kwargs, chain_prop, -1) - ), - ) - ax.figure.axes[1].legend(handles=handles, title="chain", loc="upper right") - - if axes is None: - axes = np.array(ax.figure.axes).reshape(-1, 2) - - if backend_show(show): - plt.show() - - return axes - - -def _plot_chains_mpl( - axes, - idy, - value, - data, - chain_prop, - combined, - xt_labelsize, - rug, - kind, - trace_kwargs, - hist_kwargs, - plot_kwargs, - fill_kwargs, - rug_kwargs, - rank_kwargs, - circular, - circ_var_units, - circ_units_trace, -): - if not circular: - circ_var_units = False - - for chain_idx, row in enumerate(value): - if kind == "trace": - aux_kwargs = dealiase_sel_kwargs(trace_kwargs, chain_prop, chain_idx) - if idy: - axes.plot(data.draw.values, row, **aux_kwargs) - if circ_units_trace == "degrees": - y_tick_locs = axes.get_yticks() - y_tick_labels = [i + 2 * 180 if i < 0 else i for i in np.rad2deg(y_tick_locs)] - axes.yaxis.set_major_locator(mticker.FixedLocator(y_tick_locs)) - axes.set_yticklabels([f"{i:.0f}°" for i in y_tick_labels]) - - if not combined: - aux_kwargs = dealiase_sel_kwargs(plot_kwargs, chain_prop, chain_idx) - if not idy: - axes = plot_dist( - values=row, - textsize=xt_labelsize, - rug=rug, - ax=axes, - hist_kwargs=hist_kwargs, - plot_kwargs=aux_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - backend="matplotlib", - show=False, - is_circular=circ_var_units, - ) - - if kind == "rank_bars" and idy: - axes = plot_rank(data=value, kind="bars", ax=axes, **rank_kwargs) - elif kind == "rank_vlines" and idy: - axes = plot_rank(data=value, kind="vlines", ax=axes, **rank_kwargs) - - if combined: - aux_kwargs = dealiase_sel_kwargs(plot_kwargs, chain_prop, -1) - if not idy: - axes = plot_dist( - values=value.flatten(), - textsize=xt_labelsize, - rug=rug, - ax=axes, - hist_kwargs=hist_kwargs, - plot_kwargs=aux_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - backend="matplotlib", - show=False, - is_circular=circ_var_units, - ) - return axes diff --git a/arviz/plots/backends/matplotlib/tsplot.py b/arviz/plots/backends/matplotlib/tsplot.py deleted file mode 100644 index f4471cdeef..0000000000 --- a/arviz/plots/backends/matplotlib/tsplot.py +++ /dev/null @@ -1,121 +0,0 @@ -"""Matplotlib plot time series figure.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ...plot_utils import _scale_fig_size -from . import create_axes_grid, backend_show, matplotlib_kwarg_dealiaser, backend_kwarg_defaults - - -def plot_ts( - x_plotters, - y_plotters, - y_mean_plotters, - y_hat_plotters, - y_holdout_plotters, - x_holdout_plotters, - y_forecasts_plotters, - y_forecasts_mean_plotters, - num_samples, - backend_kwargs, - y_kwargs, - y_hat_plot_kwargs, - y_mean_plot_kwargs, - vline_kwargs, - length_plotters, - rows, - cols, - textsize, - figsize, - legend, - axes, - show, -): - """Matplotlib time series.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - if figsize is None: - figsize = (12, rows * 5) - - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("squeeze", False) - - figsize, _, _, xt_labelsize, _, _ = _scale_fig_size(figsize, textsize, rows, cols) - - if axes is None: - _, axes = create_axes_grid(length_plotters, rows, cols, backend_kwargs=backend_kwargs) - - y_kwargs = matplotlib_kwarg_dealiaser(y_kwargs, "plot") - y_kwargs.setdefault("color", "blue") - y_kwargs.setdefault("zorder", 10) - - y_hat_plot_kwargs = matplotlib_kwarg_dealiaser(y_hat_plot_kwargs, "plot") - y_hat_plot_kwargs.setdefault("color", "grey") - y_hat_plot_kwargs.setdefault("alpha", 0.1) - - y_mean_plot_kwargs = matplotlib_kwarg_dealiaser(y_mean_plot_kwargs, "plot") - y_mean_plot_kwargs.setdefault("color", "red") - y_mean_plot_kwargs.setdefault("linestyle", "dashed") - - vline_kwargs = matplotlib_kwarg_dealiaser(vline_kwargs, "plot") - vline_kwargs.setdefault("color", "black") - vline_kwargs.setdefault("linestyle", "dashed") - - for i, ax_i in enumerate(np.ravel(axes)[:length_plotters]): - y_var_name, _, _, y_plotters_i = y_plotters[i] - x_var_name, _, _, x_plotters_i = x_plotters[i] - - ax_i.plot(x_plotters_i, y_plotters_i, **y_kwargs) - ax_i.plot([], label="Actual", **y_kwargs) - if y_hat_plotters is not None or y_forecasts_plotters is not None: - ax_i.plot([], label="Fitted", **y_mean_plot_kwargs) - ax_i.plot([], label="Uncertainty", **y_hat_plot_kwargs) - - ax_i.set_xlabel(x_var_name) - ax_i.set_ylabel(y_var_name) - - if y_hat_plotters is not None: - *_, y_hat_plotters_i = y_hat_plotters[i] - *_, x_hat_plotters_i = x_plotters[i] - for j in range(num_samples): - ax_i.plot(x_hat_plotters_i, y_hat_plotters_i[..., j], **y_hat_plot_kwargs) - - *_, x_mean_plotters_i = x_plotters[i] - *_, y_mean_plotters_i = y_mean_plotters[i] - ax_i.plot(x_mean_plotters_i, y_mean_plotters_i, **y_mean_plot_kwargs) - - if y_holdout_plotters is not None: - *_, y_holdout_plotters_i = y_holdout_plotters[i] - *_, x_holdout_plotters_i = x_holdout_plotters[i] - - ax_i.plot(x_holdout_plotters_i, y_holdout_plotters_i, **y_kwargs) - ax_i.axvline(x_plotters_i[-1], **vline_kwargs) - - if y_forecasts_plotters is not None: - *_, y_forecasts_plotters_i = y_forecasts_plotters[i] - *_, x_forecasts_plotters_i = x_holdout_plotters[i] - for j in range(num_samples): - ax_i.plot( - x_forecasts_plotters_i, y_forecasts_plotters_i[..., j], **y_hat_plot_kwargs - ) - - *_, x_forecasts_mean_plotters_i = x_holdout_plotters[i] - *_, y_forecasts_mean_plotters_i = y_forecasts_mean_plotters[i] - ax_i.plot( - x_forecasts_mean_plotters_i, y_forecasts_mean_plotters_i, **y_mean_plot_kwargs - ) - ax_i.axvline(x_plotters_i[-1], **vline_kwargs) - - if legend: - ax_i.legend(fontsize=xt_labelsize, loc="upper left") - - if backend_show(show): - plt.show() - - return axes diff --git a/arviz/plots/backends/matplotlib/violinplot.py b/arviz/plots/backends/matplotlib/violinplot.py deleted file mode 100644 index b7ae8be7ca..0000000000 --- a/arviz/plots/backends/matplotlib/violinplot.py +++ /dev/null @@ -1,148 +0,0 @@ -"""Matplotlib Violinplot.""" - -import matplotlib.pyplot as plt -import numpy as np - -from ....stats import hdi -from ....stats.density_utils import get_bins, histogram, kde -from ...plot_utils import _scale_fig_size -from . import backend_kwarg_defaults, backend_show, create_axes_grid, matplotlib_kwarg_dealiaser - - -def plot_violin( - ax, - plotters, - figsize, - rows, - cols, - sharex, - sharey, - shade_kwargs, - shade, - rug, - rug_kwargs, - side, - bw, - textsize, - labeller, - circular, - hdi_prob, - quartiles, - backend_kwargs, - show, -): - """Matplotlib violin plot.""" - if backend_kwargs is None: - backend_kwargs = {} - - backend_kwargs = { - **backend_kwarg_defaults(), - **backend_kwargs, - } - - (figsize, ax_labelsize, _, xt_labelsize, linewidth, _) = _scale_fig_size( - figsize, textsize, rows, cols - ) - backend_kwargs.setdefault("figsize", figsize) - backend_kwargs.setdefault("sharex", sharex) - backend_kwargs.setdefault("sharey", sharey) - backend_kwargs.setdefault("squeeze", True) - - shade_kwargs = matplotlib_kwarg_dealiaser(shade_kwargs, "hexbin") - rug_kwargs = matplotlib_kwarg_dealiaser(rug_kwargs, "plot") - rug_kwargs.setdefault("alpha", 0.1) - rug_kwargs.setdefault("marker", ".") - rug_kwargs.setdefault("linestyle", "") - - if ax is None: - fig, ax = create_axes_grid( - len(plotters), - rows, - cols, - backend_kwargs=backend_kwargs, - ) - fig.set_layout_engine("none") - fig.subplots_adjust(wspace=0) - - ax = np.atleast_1d(ax) - - current_col = 0 - for (var_name, selection, isel, x), ax_ in zip(plotters, ax.flatten()): - val = x.flatten() - if val[0].dtype.kind == "i": - dens = cat_hist(val, rug, side, shade, ax_, **shade_kwargs) - else: - dens = _violinplot(val, rug, side, shade, bw, circular, ax_, **shade_kwargs) - - if rug: - rug_x = -np.abs(np.random.normal(scale=max(dens) / 3.5, size=len(val))) - ax_.plot(rug_x, val, **rug_kwargs) - - per = np.nanpercentile(val, [25, 75, 50]) - hdi_probs = hdi(val, hdi_prob, multimodal=False, skipna=True) - - if quartiles: - ax_.plot([0, 0], per[:2], lw=linewidth * 3, color="k", solid_capstyle="round") - ax_.plot([0, 0], hdi_probs, lw=linewidth, color="k", solid_capstyle="round") - ax_.plot(0, per[-1], "wo", ms=linewidth * 1.5) - - ax_.set_title(labeller.make_label_vert(var_name, selection, isel), fontsize=ax_labelsize) - ax_.set_xticks([]) - ax_.tick_params(labelsize=xt_labelsize) - ax_.grid(None, axis="x") - if current_col != 0: - ax_.spines["left"].set_visible(False) - ax_.yaxis.set_ticks_position("none") - current_col += 1 - if current_col == cols: - current_col = 0 - - if backend_show(show): - plt.show() - - return ax - - -def _violinplot(val, rug, side, shade, bw, circular, ax, **shade_kwargs): - """Auxiliary function to plot violinplots.""" - if bw == "default": - bw = "taylor" if circular else "experimental" - x, density = kde(val, circular=circular, bw=bw) - - if rug and side == "both": - side = "right" - - if side == "left": - dens = -density - elif side == "right": - x = x[::-1] - dens = density[::-1] - elif side == "both": - x = np.concatenate([x, x[::-1]]) - dens = np.concatenate([-density, density[::-1]]) - - ax.fill_betweenx(x, dens, alpha=shade, lw=0, **shade_kwargs) - return density - - -def cat_hist(val, rug, side, shade, ax, **shade_kwargs): - """Auxiliary function to plot discrete-violinplots.""" - bins = get_bins(val) - _, binned_d, _ = histogram(val, bins=bins) - - bin_edges = np.linspace(np.min(val), np.max(val), len(bins)) - heights = np.diff(bin_edges) - centers = bin_edges[:-1] + heights.mean() / 2 - - if rug and side == "both": - side = "right" - - if side == "right": - left = None - elif side == "left": - left = -binned_d - elif side == "both": - left = -0.5 * binned_d - - ax.barh(centers, binned_d, height=heights, left=left, alpha=shade, **shade_kwargs) - return binned_d diff --git a/arviz/plots/bfplot.py b/arviz/plots/bfplot.py deleted file mode 100644 index b95fa3f9c7..0000000000 --- a/arviz/plots/bfplot.py +++ /dev/null @@ -1,128 +0,0 @@ -# Plotting and reporting Bayes Factor given idata, var name, prior distribution and reference value -# pylint: disable=unbalanced-tuple-unpacking -import logging - -from ..data.utils import extract -from .plot_utils import get_plotting_function -from ..stats import bayes_factor - -_log = logging.getLogger(__name__) - - -def plot_bf( - idata, - var_name, - prior=None, - ref_val=0, - colors=("C0", "C1"), - figsize=None, - textsize=None, - hist_kwargs=None, - plot_kwargs=None, - ax=None, - backend=None, - backend_kwargs=None, - show=None, -): - r"""Approximated Bayes Factor for comparing hypothesis of two nested models. - - The Bayes factor is estimated by comparing a model (H1) against a model in which the - parameter of interest has been restricted to be a point-null (H0). This computation - assumes the models are nested and thus H0 is a special case of H1. - - Notes - ----- - The bayes Factor is approximated as the Savage-Dickey density ratio - algorithm presented in [1]_. - - Parameters - ---------- - idata : InferenceData - Any object that can be converted to an :class:`arviz.InferenceData` object - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - var_name : str, optional - Name of variable we want to test. - prior : numpy.array, optional - In case we want to use different prior, for example for sensitivity analysis. - ref_val : int, default 0 - Point-null for Bayes factor estimation. - colors : tuple, default ('C0', 'C1') - Tuple of valid Matplotlib colors. First element for the prior, second for the posterior. - figsize : (float, float), optional - Figure size. If `None` it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If `None` it will be auto - scaled based on `figsize`. - plot_kwargs : dict, optional - Additional keywords passed to :func:`matplotlib.pyplot.plot`. - hist_kwargs : dict, optional - Additional keywords passed to :func:`arviz.plot_dist`. Only works for discrete variables. - ax : axes, optional - :class:`matplotlib.axes.Axes` or :class:`bokeh.plotting.Figure`. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - dict : A dictionary with BF10 (Bayes Factor 10 (H1/H0 ratio), and BF01 (H0/H1 ratio). - axes : matplotlib_axes or bokeh_figure - - References - ---------- - .. [1] Heck, D., 2019. A caveat on the Savage-Dickey density ratio: - The case of computing Bayes factors for regression parameters. - - Examples - -------- - Moderate evidence indicating that the parameter "a" is different from zero. - - .. plot:: - :context: close-figs - - >>> import numpy as np - >>> import arviz as az - >>> idata = az.from_dict(posterior={"a":np.random.normal(1, 0.5, 5000)}, - ... prior={"a":np.random.normal(0, 1, 5000)}) - >>> az.plot_bf(idata, var_name="a", ref_val=0) - - """ - - if prior is None: - prior = extract(idata, var_names=var_name, group="prior").values - - bf, p_at_ref_val = bayes_factor( - idata, var_name, prior=prior, ref_val=ref_val, return_ref_vals=True - ) - bf_10 = bf["BF10"] - bf_01 = bf["BF01"] - - posterior = extract(idata, var_names=var_name) - - bfplot_kwargs = dict( - ax=ax, - bf_10=bf_10.item(), - bf_01=bf_01.item(), - prior=prior, - posterior=posterior, - ref_val=ref_val, - prior_at_ref_val=p_at_ref_val["prior"], - posterior_at_ref_val=p_at_ref_val["posterior"], - var_name=var_name, - colors=colors, - figsize=figsize, - textsize=textsize, - hist_kwargs=hist_kwargs, - plot_kwargs=plot_kwargs, - backend_kwargs=backend_kwargs, - show=show, - ) - - plot = get_plotting_function("plot_bf", "bfplot", backend) - axes = plot(**bfplot_kwargs) - return {"BF10": bf_10, "BF01": bf_01}, axes diff --git a/arviz/plots/bpvplot.py b/arviz/plots/bpvplot.py deleted file mode 100644 index 63eaeedfa6..0000000000 --- a/arviz/plots/bpvplot.py +++ /dev/null @@ -1,308 +0,0 @@ -"""Bayesian p-value Posterior/Prior predictive plot.""" - -import numpy as np - -from ..labels import BaseLabeller -from ..rcparams import rcParams -from ..utils import _var_names -from .plot_utils import default_grid, filter_plotters_list, get_plotting_function -from ..sel_utils import xarray_var_iter - - -def plot_bpv( - data, - kind="u_value", - t_stat="median", - bpv=True, - plot_mean=True, - reference="analytical", - smoothing=None, - mse=False, - n_ref=100, - hdi_prob=0.94, - color="C0", - grid=None, - figsize=None, - textsize=None, - labeller=None, - data_pairs=None, - var_names=None, - filter_vars=None, - coords=None, - flatten=None, - flatten_pp=None, - ax=None, - backend=None, - plot_ref_kwargs=None, - backend_kwargs=None, - group="posterior", - show=None, -): - r"""Plot Bayesian p-value for observed data and Posterior/Prior predictive. - - Parameters - ---------- - data : InferenceData - :class:`arviz.InferenceData` object containing the observed and - posterior/prior predictive data. - kind : {"u_value", "p_value", "t_stat"}, default "u_value" - Specify the kind of plot: - - * The ``kind="p_value"`` computes :math:`p := p(y* \leq y | y)`. - This is the probability of the data y being larger or equal than the predicted data y*. - The ideal value is 0.5 (half the predictions below and half above the data). - * The ``kind="u_value"`` argument computes :math:`p_i := p(y_i* \leq y_i | y)`. - i.e. like a p_value but per observation :math:`y_i`. This is also known as marginal - p_value. The ideal distribution is uniform. This is similar to the LOO-PIT - calculation/plot, the difference is than in LOO-pit plot we compute - :math:`pi = p(y_i* r \leq y_i | y_{-i} )`, where :math:`y_{-i}`, - is all other data except :math:`y_i`. - * The ``kind="t_stat"`` argument computes :math:`:= p(T(y)* \leq T(y) | y)` - where T is any test statistic. See ``t_stat`` argument below for details - of available options. - - t_stat : str, float, or callable, default "median" - Test statistics to compute from the observations and predictive distributions. - Allowed strings are “mean”, “median” or “std”. Alternative a quantile can be passed - as a float (or str) in the interval (0, 1). Finally a user defined function is also - acepted, see examples section for details. - bpv : bool, default True - If True add the Bayesian p_value to the legend when ``kind = t_stat``. - plot_mean : bool, default True - Whether or not to plot the mean test statistic. - reference : {"analytical", "samples", None}, default "analytical" - How to compute the distributions used as reference for ``kind=u_values`` - or ``kind=p_values``. Use `None` to not plot any reference. - smoothing : bool, optional - If True and the data has integer dtype, smooth the data before computing the p-values, - u-values or tstat. By default, True when `kind` is "u_value" and False otherwise. - mse : bool, default False - Show scaled mean square error between uniform distribution and marginal p_value - distribution. - n_ref : int, default 100 - Number of reference distributions to sample when ``reference=samples``. - hdi_prob : float, optional - Probability for the highest density interval for the analytical reference distribution when - ``kind=u_values``. Should be in the interval (0, 1]. Defaults to the - rcParam ``stats.ci_prob``. See :ref:`this section ` for usage examples. - color : str, optional - Matplotlib color - grid : tuple, optional - Number of rows and columns. By default, the rows and columns are - automatically inferred. See :ref:`this section ` for usage examples. - figsize : (float, float), optional - Figure size. If None it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If None it will be autoscaled based - on `figsize`. - data_pairs : dict, optional - Dictionary containing relations between observed data and posterior/prior predictive data. - Dictionary structure: - - - key = data var_name - - value = posterior/prior predictive var_name - - For example, ``data_pairs = {'y' : 'y_hat'}`` - If None, it will assume that the observed data and the posterior/prior - predictive data have the same variable name. - Labeller : Labeller, optional - Class providing the method ``make_pp_label`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - var_names : list of str, optional - Variables to be plotted. If `None` all variable are plotted. Prefix the variables by ``~`` - when you want to exclude them from the plot. See the :ref:`this section ` - for usage examples. See :ref:`this section ` for usage examples. - filter_vars : {None, "like", "regex"}, default None - If `None` (default), interpret `var_names` as the real variables names. If "like", - interpret `var_names` as substrings of the real variables names. If "regex", - interpret `var_names` as regular expressions on the real variables names. See - :ref:`this section ` for usage examples. - coords : dict, optional - Dictionary mapping dimensions to selected coordinates to be plotted. - Dimensions without a mapping specified will include all coordinates for - that dimension. Defaults to including all coordinates for all - dimensions if None. See :ref:`this section ` for usage examples. - flatten : list, optional - List of dimensions to flatten in observed_data. Only flattens across the coordinates - specified in the coords argument. Defaults to flattening all of the dimensions. - flatten_pp : list, optional - List of dimensions to flatten in posterior_predictive/prior_predictive. Only flattens - across the coordinates specified in the coords argument. Defaults to flattening all - of the dimensions. Dimensions should match flatten excluding dimensions for data_pairs - parameters. If `flatten` is defined and `flatten_pp` is None, then ``flatten_pp=flatten``. - legend : bool, default True - Add legend to figure. - ax : 2D array-like of matplotlib_axes or bokeh_figure, optional - A 2D array of locations into which to plot the densities. If not supplied, ArviZ will create - its own array of plot areas (and return it). - backend : str, optional - Select plotting backend {"matplotlib", "bokeh"}. Default "matplotlib". - plot_ref_kwargs : dict, optional - Extra keyword arguments to control how reference is represented. - Passed to :meth:`matplotlib.axes.Axes.plot` or - :meth:`matplotlib.axes.Axes.axhspan` (when ``kind=u_value`` - and ``reference=analytical``). - backend_kwargs : bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - group : {"posterior", "prior"}, default "posterior" - Specifies which InferenceData group should be plotted. If "posterior", then the values - in `posterior_predictive` group are compared to the ones in `observed_data`, if "prior" then - the same comparison happens, but with the values in `prior_predictive` group. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : 2D ndarray of matplotlib_axes or bokeh_figure - - See Also - -------- - plot_ppc : Plot for posterior/prior predictive checks. - plot_loo_pit : Plot Leave-One-Out probability integral transformation (PIT) predictive checks. - plot_dist_comparison : Plot to compare fitted and unfitted distributions. - - References - ---------- - * Gelman et al. (2013) see http://www.stat.columbia.edu/~gelman/book/ pages 151-153 for details - - Notes - ----- - Discrete data is smoothed before computing either p-values or u-values using the - function :func:`~arviz.smooth_data` if the data is integer type - and the smoothing parameter is True. - - Examples - -------- - Plot Bayesian p_values. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data("regression1d") - >>> az.plot_bpv(data, kind="p_value") - - Plot custom test statistic comparison. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data("regression1d") - >>> az.plot_bpv(data, kind="t_stat", t_stat=lambda x:np.percentile(x, q=50, axis=-1)) - """ - if group not in ("posterior", "prior"): - raise TypeError("`group` argument must be either `posterior` or `prior`") - - for groups in (f"{group}_predictive", "observed_data"): - if not hasattr(data, groups): - raise TypeError(f'`data` argument must have the group "{groups}"') - - if kind.lower() not in ("t_stat", "u_value", "p_value"): - raise TypeError("`kind` argument must be either `t_stat`, `u_value`, or `p_value`") - - if reference is not None and reference.lower() not in ("analytical", "samples"): - raise TypeError("`reference` argument must be either `analytical`, `samples`, or `None`") - - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - if smoothing is None: - smoothing = kind.lower() == "u_value" - - if data_pairs is None: - data_pairs = {} - - if labeller is None: - labeller = BaseLabeller() - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - observed = data.observed_data - - if group == "posterior": - predictive_dataset = data.posterior_predictive - elif group == "prior": - predictive_dataset = data.prior_predictive - - if var_names is None: - var_names = list(observed.data_vars) - var_names = _var_names(var_names, observed, filter_vars) - pp_var_names = [data_pairs.get(var, var) for var in var_names] - pp_var_names = _var_names(pp_var_names, predictive_dataset, filter_vars) - - if flatten_pp is None: - if flatten is None: - flatten_pp = list(predictive_dataset.dims) - else: - flatten_pp = flatten - if flatten is None: - flatten = list(observed.dims) - - if coords is None: - coords = {} - - total_pp_samples = predictive_dataset.sizes["chain"] * predictive_dataset.sizes["draw"] - - for key in coords.keys(): - coords[key] = np.where(np.isin(observed[key], coords[key]))[0] - - obs_plotters = filter_plotters_list( - list( - xarray_var_iter( - observed.isel(coords), skip_dims=set(flatten), var_names=var_names, combined=True - ) - ), - "plot_t_stats", - ) - length_plotters = len(obs_plotters) - pp_plotters = [ - tup - for _, tup in zip( - range(length_plotters), - xarray_var_iter( - predictive_dataset.isel(coords), - var_names=pp_var_names, - skip_dims=set(flatten_pp), - combined=True, - ), - ) - ] - rows, cols = default_grid(length_plotters, grid=grid) - - bpvplot_kwargs = dict( - ax=ax, - length_plotters=length_plotters, - rows=rows, - cols=cols, - obs_plotters=obs_plotters, - pp_plotters=pp_plotters, - total_pp_samples=total_pp_samples, - kind=kind, - bpv=bpv, - t_stat=t_stat, - reference=reference, - mse=mse, - n_ref=n_ref, - hdi_prob=hdi_prob, - plot_mean=plot_mean, - color=color, - figsize=figsize, - textsize=textsize, - labeller=labeller, - plot_ref_kwargs=plot_ref_kwargs, - backend_kwargs=backend_kwargs, - show=show, - smoothing=smoothing, - ) - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_bpv", "bpvplot", backend) - axes = plot(**bpvplot_kwargs) - return axes diff --git a/arviz/plots/compareplot.py b/arviz/plots/compareplot.py deleted file mode 100644 index a17ca0176c..0000000000 --- a/arviz/plots/compareplot.py +++ /dev/null @@ -1,177 +0,0 @@ -"""Summary plot for model comparison.""" - -import numpy as np - -from ..labels import BaseLabeller -from ..rcparams import rcParams -from .plot_utils import get_plotting_function - - -def plot_compare( - comp_df, - insample_dev=False, - plot_standard_error=True, - plot_ic_diff=False, - order_by_rank=True, - legend=False, - title=True, - figsize=None, - textsize=None, - labeller=None, - plot_kwargs=None, - ax=None, - backend=None, - backend_kwargs=None, - show=None, -): - r"""Summary plot for model comparison. - - Models are compared based on their expected log pointwise predictive density (ELPD). - This plot is in the style of the one used in [2]_. Chapter 6 in the first edition - or 7 in the second. - - Notes - ----- - The ELPD is estimated either by Pareto smoothed importance sampling leave-one-out - cross-validation (LOO) or using the widely applicable information criterion (WAIC). - We recommend LOO in line with the work presented by [1]_. - - Parameters - ---------- - comp_df : pandas.DataFrame - Result of the :func:`arviz.compare` method. - insample_dev : bool, default False - Plot in-sample ELPD, that is the value of the information criteria without the - penalization given by the effective number of parameters (p_loo or p_waic). - plot_standard_error : bool, default True - Plot the standard error of the ELPD. - plot_ic_diff : bool, default False - Plot standard error of the difference in ELPD between each model - and the top-ranked model. - order_by_rank : bool, default True - If True ensure the best model is used as reference. - legend : bool, default False - Add legend to figure. - figsize : (float, float), optional - If `None`, size is (6, num of models) inches. - title : bool, default True - Show a tittle with a description of how to interpret the plot. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If `None` it will be autoscaled based - on `figsize`. - labeller : Labeller, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - plot_kwargs : dict, optional - Optional arguments for plot elements. Currently accepts 'color_ic', - 'marker_ic', 'color_insample_dev', 'marker_insample_dev', 'color_dse', - 'marker_dse', 'ls_min_ic' 'color_ls_min_ic', 'fontsize' - ax : matplotlib_axes or bokeh_figure, optional - Matplotlib axes or bokeh figure. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib_axes or bokeh_figure - - See Also - -------- - plot_elpd : Plot pointwise elpd differences between two or more models. - compare : Compare models based on PSIS-LOO loo or WAIC waic cross-validation. - loo : Compute Pareto-smoothed importance sampling leave-one-out cross-validation (PSIS-LOO-CV). - waic : Compute the widely applicable information criterion. - - References - ---------- - .. [1] Vehtari et al. (2016). Practical Bayesian model evaluation using leave-one-out - cross-validation and WAIC https://arxiv.org/abs/1507.04544 - - .. [2] McElreath R. (2022). Statistical Rethinking A Bayesian Course with Examples in - R and Stan, Second edition, CRC Press. - - Examples - -------- - Show default compare plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> model_compare = az.compare({'Centered 8 schools': az.load_arviz_data('centered_eight'), - >>> 'Non-centered 8 schools': az.load_arviz_data('non_centered_eight')}) - >>> az.plot_compare(model_compare) - - Include the in-sample ELDP - - .. plot:: - :context: close-figs - - >>> az.plot_compare(model_compare, insample_dev=True) - - """ - if plot_kwargs is None: - plot_kwargs = {} - - if labeller is None: - labeller = BaseLabeller() - - yticks_pos, step = np.linspace(0, -1, (comp_df.shape[0] * 2) - 1, retstep=True) - yticks_pos[1::2] = yticks_pos[1::2] + step / 2 - labels = [labeller.model_name_to_str(model_name) for model_name in comp_df.index] - - if plot_ic_diff: - yticks_labels = [""] * len(yticks_pos) - yticks_labels[0] = labels[0] - yticks_labels[2::2] = labels[1:] - else: - yticks_labels = labels - - _information_criterion = ["elpd_loo", "elpd_waic"] - column_index = [c.lower() for c in comp_df.columns] - for information_criterion in _information_criterion: - if information_criterion in column_index: - break - else: - raise ValueError( - "comp_df must contain one of the following " - f"information criterion: {_information_criterion}" - ) - - if order_by_rank: - comp_df.sort_values(by="rank", inplace=True) - - compareplot_kwargs = dict( - ax=ax, - comp_df=comp_df, - legend=legend, - title=title, - figsize=figsize, - plot_ic_diff=plot_ic_diff, - plot_standard_error=plot_standard_error, - insample_dev=insample_dev, - yticks_pos=yticks_pos, - yticks_labels=yticks_labels, - plot_kwargs=plot_kwargs, - information_criterion=information_criterion, - textsize=textsize, - step=step, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_compare", "compareplot", backend) - ax = plot(**compareplot_kwargs) - - return ax diff --git a/arviz/plots/densityplot.py b/arviz/plots/densityplot.py deleted file mode 100644 index 1dc28a0368..0000000000 --- a/arviz/plots/densityplot.py +++ /dev/null @@ -1,284 +0,0 @@ -"""KDE and histogram plots for multiple variables.""" - -import warnings - -from ..data import convert_to_dataset -from ..labels import BaseLabeller -from ..sel_utils import ( - xarray_var_iter, -) -from ..rcparams import rcParams -from ..utils import _var_names -from .plot_utils import default_grid, get_plotting_function - - -# pylint:disable-msg=too-many-function-args -def plot_density( - data, - group="posterior", - data_labels=None, - var_names=None, - filter_vars=None, - combine_dims=None, - transform=None, - hdi_prob=None, - point_estimate="auto", - colors="cycle", - outline=True, - hdi_markers="", - shade=0.0, - bw="default", - circular=False, - grid=None, - figsize=None, - textsize=None, - labeller=None, - ax=None, - backend=None, - backend_kwargs=None, - show=None, -): - r"""Generate KDE plots for continuous variables and histograms for discrete ones. - - Plots are truncated at their 100*(1-alpha)% highest density intervals. Plots are grouped per - variable and colors assigned to models. - - Parameters - ---------- - data : InferenceData or iterable of InferenceData - Any object that can be converted to an :class:`arviz.InferenceData` object, or an Iterator - returning a sequence of such objects. - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - group : {"posterior", "prior"}, default "posterior" - Specifies which InferenceData group should be plotted. If "posterior", then the values - in `posterior_predictive` group are compared to the ones in `observed_data`, if "prior" then - the same comparison happens, but with the values in `prior_predictive` group. - data_labels : list of str, default None - List with names for the datasets passed as "data." Useful when plotting more than one - dataset. Must be the same shape as the data parameter. - var_names : list of str, optional - List of variables to plot. If multiple datasets are supplied and `var_names` is not None, - will print the same set of variables for each dataset. Defaults to None, which results in - all the variables being plotted. - filter_vars : {None, "like", "regex"}, default None - If `None` (default), interpret `var_names` as the real variables names. If "like", - interpret `var_names` as substrings of the real variables names. If "regex", - interpret `var_names` as regular expressions on the real variables names. See - :ref:`this section ` for usage examples. - combine_dims : set_like of str, optional - List of dimensions to reduce. Defaults to reducing only the "chain" and "draw" dimensions. - See :ref:`this section ` for usage examples. - transform : callable - Function to transform data (defaults to `None` i.e. the identity function). - hdi_prob : float, default 0.94 - Probability for the highest density interval. Should be in the interval (0, 1]. - See :ref:`this section ` for usage examples. - point_estimate : str, optional - Plot point estimate per variable. Values should be 'mean', 'median', 'mode' or None. - Defaults to 'auto' i.e. it falls back to default set in ``rcParams``. - colors : str or list of str, optional - List with valid matplotlib colors, one color per model. Alternative a string can be passed. - If the string is `cycle`, it will automatically choose a color per model from matplotlib's - cycle. If a single color is passed, e.g. 'k', 'C2' or 'red' this color will be used for all - models. Defaults to `cycle`. - outline : bool, default True - Use a line to draw KDEs and histograms. - hdi_markers : str - A valid `matplotlib.markers` like 'v', used to indicate the limits of the highest density - interval. Defaults to empty string (no marker). - shade : float, default 0 - Alpha blending value for the shaded area under the curve, between 0 (no shade) and 1 - (opaque). - bw : float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be - one of "scott", "silverman", "isj" or "experimental" when `circular` is False - and "taylor" (for now) when `circular` is True. - Defaults to "default" which means "experimental" when variable is not circular - and "taylor" when it is. - circular : bool, default False - If True, it interprets the values passed are from a circular variable measured in radians - and a circular KDE is used. Only valid for 1D KDE. - grid : tuple, optional - Number of rows and columns. Defaults to ``None``, the rows and columns are - automatically inferred. See :ref:`this section ` for usage examples. - figsize : (float, float), optional - Figure size. If `None` it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If `None` it will be autoscaled based - on `figsize`. - labeller : Labeller, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - ax : 2D array-like of matplotlib_axes or bokeh_figure, optional - A 2D array of locations into which to plot the densities. If not supplied, ArviZ will create - its own array of plot areas (and return it). - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : 2D ndarray of matplotlib_axes or bokeh_figure - - See Also - -------- - plot_dist : Plot distribution as histogram or kernel density estimates. - plot_posterior : Plot Posterior densities in the style of John K. Kruschke's book. - - Examples - -------- - Plot default density plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> centered = az.load_arviz_data('centered_eight') - >>> non_centered = az.load_arviz_data('non_centered_eight') - >>> az.plot_density([centered, non_centered]) - - Plot variables in a 4x5 grid - - .. plot:: - :context: close-figs - - >>> az.plot_density([centered, non_centered], grid=(4, 5)) - - Plot subset variables by specifying variable name exactly - - .. plot:: - :context: close-figs - - >>> az.plot_density([centered, non_centered], var_names=["mu"]) - - Plot a specific `az.InferenceData` group - - .. plot:: - :context: close-figs - - >>> az.plot_density([centered, non_centered], var_names=["mu"], group="prior") - - Specify highest density interval - - .. plot:: - :context: close-figs - - >>> az.plot_density([centered, non_centered], var_names=["mu"], hdi_prob=.5) - - Shade plots and/or remove outlines - - .. plot:: - :context: close-figs - - >>> az.plot_density([centered, non_centered], var_names=["mu"], outline=False, shade=.8) - - Specify binwidth for kernel density estimation - - .. plot:: - :context: close-figs - - >>> az.plot_density([centered, non_centered], var_names=["mu"], bw=.9) - """ - if isinstance(data, (list, tuple)): - datasets = [convert_to_dataset(datum, group=group) for datum in data] - else: - datasets = [convert_to_dataset(data, group=group)] - - if transform is not None: - datasets = [transform(dataset) for dataset in datasets] - - if labeller is None: - labeller = BaseLabeller() - - var_names = _var_names(var_names, datasets, filter_vars) - - n_data = len(datasets) - - if data_labels is None: - data_labels = [f"{idx}" for idx in range(n_data)] if n_data > 1 else [""] - elif len(data_labels) != n_data: - raise ValueError( - f"The number of names for the models ({len(data_labels)}) " - f"does not match the number of models ({n_data})" - ) - - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - to_plot = [ - list(xarray_var_iter(data, var_names, combined=True, skip_dims=combine_dims)) - for data in datasets - ] - all_labels = [] - length_plotters = [] - for plotters in to_plot: - length_plotters.append(len(plotters)) - for var_name, selection, isel, _ in plotters: - label = labeller.make_label_vert(var_name, selection, isel) - if label not in all_labels: - all_labels.append(label) - length_plotters = len(all_labels) - max_plots = rcParams["plot.max_subplots"] - max_plots = length_plotters if max_plots is None else max_plots - if length_plotters > max_plots: - warnings.warn( - "rcParams['plot.max_subplots'] ({max_plots}) is smaller than the number " - "of variables to plot ({len_plotters}) in plot_density, generating only " - "{max_plots} plots".format(max_plots=max_plots, len_plotters=length_plotters), - UserWarning, - ) - all_labels = all_labels[:max_plots] - to_plot = [ - [ - (var_name, selection, values) - for var_name, selection, isel, values in plotters - if labeller.make_label_vert(var_name, selection, isel) in all_labels - ] - for plotters in to_plot - ] - length_plotters = max_plots - rows, cols = default_grid(length_plotters, grid=grid, max_cols=3) - - if bw == "default": - bw = "taylor" if circular else "experimental" - - plot_density_kwargs = dict( - ax=ax, - all_labels=all_labels, - to_plot=to_plot, - colors=colors, - bw=bw, - circular=circular, - figsize=figsize, - length_plotters=length_plotters, - rows=rows, - cols=cols, - textsize=textsize, - labeller=labeller, - hdi_prob=hdi_prob, - point_estimate=point_estimate, - hdi_markers=hdi_markers, - outline=outline, - shade=shade, - n_data=n_data, - data_labels=data_labels, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_density", "densityplot", backend) - ax = plot(**plot_density_kwargs) - return ax diff --git a/arviz/plots/distcomparisonplot.py b/arviz/plots/distcomparisonplot.py deleted file mode 100644 index 92475eea6e..0000000000 --- a/arviz/plots/distcomparisonplot.py +++ /dev/null @@ -1,197 +0,0 @@ -"""Density Comparison plot.""" - -import warnings -from ..labels import BaseLabeller -from ..rcparams import rcParams -from ..utils import _var_names, get_coords -from .plot_utils import get_plotting_function -from ..sel_utils import xarray_var_iter, xarray_sel_iter - - -def plot_dist_comparison( - data, - kind="latent", - figsize=None, - textsize=None, - var_names=None, - coords=None, - combine_dims=None, - transform=None, - legend=True, - labeller=None, - ax=None, - prior_kwargs=None, - posterior_kwargs=None, - observed_kwargs=None, - backend=None, - backend_kwargs=None, - show=None, -): - r"""Plot to compare fitted and unfitted distributions. - - The resulting plots will show the compared distributions both on - separate axes (particularly useful when one of them is substantially tighter - than another), and plotted together, displaying a grid of three plots per - distribution. - - Parameters - ---------- - data : InferenceData - Any object that can be converted to an :class:`arviz.InferenceData` object - containing the posterior/prior data. Refer to documentation of - :func:`arviz.convert_to_dataset` for details. - kind : {"latent", "observed"}, default "latent" - kind of plot to display The "latent" option includes {"prior", "posterior"}, - and the "observed" option includes - {"observed_data", "prior_predictive", "posterior_predictive"}. - figsize : (float, float), optional - Figure size. If ``None`` it will be defined automatically. - textsize : float - Text size scaling factor for labels, titles and lines. If ``None`` it will be - autoscaled based on `figsize`. - var_names : str, list, list of lists, optional - if str, plot the variable. if list, plot all the variables in list - of all groups. if list of lists, plot the vars of groups in respective lists. - See :ref:`this section ` for usage examples. - coords : dict - Dictionary mapping dimensions to selected coordinates to be plotted. - Dimensions without a mapping specified will include all coordinates for - that dimension. See :ref:`this section ` for usage examples. - combine_dims : set_like of str, optional - List of dimensions to reduce. Defaults to reducing only the "chain" and "draw" dimensions. - See :ref:`this section ` for usage examples. - transform : callable - Function to transform data (defaults to `None` i.e. the identity function). - legend : bool - Add legend to figure. By default True. - labeller : Labeller, optional - Class providing the method ``make_pp_label`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - ax : (nvars, 3) array-like of matplotlib_axes, optional - Matplotlib axes: The ax argument should have shape (nvars, 3), where the - last column is for the combined before/after plots and columns 0 and 1 are - for the before and after plots, respectively. - prior_kwargs : dicts, optional - Additional keywords passed to :func:`arviz.plot_dist` for prior/predictive groups. - posterior_kwargs : dicts, optional - Additional keywords passed to :func:`arviz.plot_dist` for posterior/predictive groups. - observed_kwargs : dicts, optional - Additional keywords passed to :func:`arviz.plot_dist` for observed_data group. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : 2D ndarray of matplotlib_axes - Returned object will have shape (nvars, 3), - where the last column is the combined plot and the first columns are the single plots. - - See Also - -------- - plot_bpv : Plot Bayesian p-value for observed data and Posterior/Prior predictive. - - Examples - -------- - Plot the prior/posterior plot for specified vars and coords. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('rugby') - >>> az.plot_dist_comparison(data, var_names=["defs"], coords={"team" : ["Italy"]}) - - """ - all_groups = ["prior", "posterior"] - - if kind == "observed": - all_groups = ["observed_data", "prior_predictive", "posterior_predictive"] - - if coords is None: - coords = {} - - if labeller is None: - labeller = BaseLabeller() - - datasets = [] - groups = [] - for group in all_groups: - try: - datasets.append(getattr(data, group)) - groups.append(group) - except: # pylint: disable=bare-except - pass - - if var_names is None: - var_names = list(datasets[0].data_vars) - - if isinstance(var_names, str): - var_names = [var_names] - - if isinstance(var_names[0], str): - var_names = [var_names for _ in datasets] - - var_names = [_var_names(vars, dataset) for vars, dataset in zip(var_names, datasets)] - - if transform is not None: - datasets = [transform(dataset) for dataset in datasets] - - datasets = get_coords(datasets, coords) - len_plots = rcParams["plot.max_subplots"] // (len(groups) + 1) - len_plots = len_plots or 1 - dc_plotters = [ - list(xarray_var_iter(data, var_names=var, combined=True, skip_dims=combine_dims))[ - :len_plots - ] - for data, var in zip(datasets, var_names) - ] - - total_plots = sum( - 1 for _ in xarray_sel_iter(datasets[0], var_names=var_names[0], combined=True) - ) * (len(groups) + 1) - maxplots = len(dc_plotters[0]) * (len(groups) + 1) - - if total_plots > rcParams["plot.max_subplots"]: - warnings.warn( - "rcParams['plot.max_subplots'] ({rcParam}) is smaller than the number " - "of subplots to plot ({len_plotters}), generating only {max_plots} " - "plots".format( - rcParam=rcParams["plot.max_subplots"], len_plotters=total_plots, max_plots=maxplots - ), - UserWarning, - ) - - nvars = len(dc_plotters[0]) - ngroups = len(groups) - - distcomparisonplot_kwargs = dict( - ax=ax, - nvars=nvars, - ngroups=ngroups, - figsize=figsize, - dc_plotters=dc_plotters, - legend=legend, - groups=groups, - textsize=textsize, - labeller=labeller, - prior_kwargs=prior_kwargs, - posterior_kwargs=posterior_kwargs, - observed_kwargs=observed_kwargs, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_dist_comparison", "distcomparisonplot", backend) - axes = plot(**distcomparisonplot_kwargs) - return axes diff --git a/arviz/plots/distplot.py b/arviz/plots/distplot.py deleted file mode 100644 index 67233b1d37..0000000000 --- a/arviz/plots/distplot.py +++ /dev/null @@ -1,233 +0,0 @@ -# pylint: disable=unexpected-keyword-arg -"""Plot distribution as histogram or kernel density estimates.""" -import numpy as np -import xarray as xr - -from ..data import InferenceData -from ..rcparams import rcParams -from .plot_utils import get_plotting_function - - -def plot_dist( - values, - values2=None, - color="C0", - kind="auto", - cumulative=False, - label=None, - rotated=False, - rug=False, - bw="default", - quantiles=None, - contour=True, - fill_last=True, - figsize=None, - textsize=None, - plot_kwargs=None, - fill_kwargs=None, - rug_kwargs=None, - contour_kwargs=None, - contourf_kwargs=None, - pcolormesh_kwargs=None, - hist_kwargs=None, - is_circular=False, - ax=None, - backend=None, - backend_kwargs=None, - show=None, - **kwargs, -): - r"""Plot distribution as histogram or kernel density estimates. - - By default continuous variables are plotted using KDEs and discrete ones using histograms - - Parameters - ---------- - values : array-like - Values to plot from an unknown continuous or discrete distribution. - values2 : array-like, optional - Values to plot. If present, a 2D KDE or a hexbin will be estimated. - color : string - valid matplotlib color. - kind : string, default "auto" - By default ("auto") continuous variables will use the kind defined by rcParam - ``plot.density_kind`` and discrete ones will use histograms. - To override this use "hist" to plot histograms and "kde" for KDEs. - cumulative : bool, default False - If true plot the estimated cumulative distribution function. Defaults to False. - Ignored for 2D KDE. - label : string - Text to include as part of the legend. - rotated : bool, default False - Whether to rotate the 1D KDE plot 90 degrees. - rug : bool, default False - Add a `rug plot `_ for a specific subset - of values. Ignored for 2D KDE. - bw : float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be - one of "scott", "silverman", "isj" or "experimental" when ``is_circular`` is False - and "taylor" (for now) when ``is_circular`` is True. - Defaults to "experimental" when variable is not circular and "taylor" when it is. - quantiles : list, optional - Quantiles in ascending order used to segment the KDE. Use [.25, .5, .75] for quartiles. - contour : bool, default True - If True plot the 2D KDE using contours, otherwise plot a smooth 2D KDE. - fill_last : bool, default True - If True fill the last contour of the 2D KDE plot. - figsize : (float, float), optional - Figure size. If `None` it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If `None` it will be autoscaled based - on `figsize`. Not implemented for bokeh backend. - plot_kwargs : dict - Keywords passed to the pdf line of a 1D KDE. Passed to :func:`arviz.plot_kde` as - ``plot_kwargs``. - fill_kwargs : dict - Keywords passed to the fill under the line (use fill_kwargs={'alpha': 0} to disable fill). - Ignored for 2D KDE. Passed to :func:`arviz.plot_kde` as ``fill_kwargs``. - rug_kwargs : dict - Keywords passed to the rug plot. Ignored if ``rug=False`` or for 2D KDE - Use ``space`` keyword (float) to control the position of the rugplot. - The larger this number the lower the rugplot. Passed to - :func:`arviz.plot_kde` as ``rug_kwargs``. - contour_kwargs : dict - Keywords passed to the contourplot. Ignored for 1D KDE. - contourf_kwargs : dict - Keywords passed to :meth:`matplotlib.axes.Axes.contourf`. Ignored for 1D KDE. - pcolormesh_kwargs : dict - Keywords passed to :meth:`matplotlib.axes.Axes.pcolormesh`. Ignored for 1D KDE. - hist_kwargs : dict - Keyword arguments used to customize the histogram. Ignored when plotting a KDE. - They are passed to :meth:`matplotlib.axes.Axes.hist` if using matplotlib, - or to :meth:`bokeh.plotting.figure.quad` if using bokeh. In bokeh case, - the following extra keywords are also supported: - - * ``color``: replaces the ``fill_color`` and ``line_color`` of the ``quad`` method - * ``bins``: taken from ``hist_kwargs`` and passed to :func:`numpy.histogram` instead - * ``density``: normalize histogram to represent a probability density function, - Defaults to ``True`` - - * ``cumulative``: plot the cumulative counts. Defaults to ``False``. - - is_circular : {False, True, "radians", "degrees"}, default False - Select input type {"radians", "degrees"} for circular histogram or KDE plot. If True, - default input type is "radians". When this argument is present, it interprets the - values passed are from a circular variable measured in radians and a circular KDE is - used. Inputs in "degrees" will undergo an internal conversion to radians. Only valid - for 1D KDE. - ax : matplotlib_axes or bokeh_figure, optional - Matplotlib or bokeh targets on which to plot. If not supplied, Arviz will create - its own plot area (and return it). - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs :dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib axes or bokeh figure - - See Also - -------- - plot_posterior : Plot Posterior densities in the style of John K. Kruschke's book. - plot_density : Generate KDE plots for continuous variables and histograms for discrete ones. - plot_kde : 1D or 2D KDE plot taking into account boundary conditions. - - Examples - -------- - Plot an integer distribution - - .. plot:: - :context: close-figs - - >>> import numpy as np - >>> import arviz as az - >>> a = np.random.poisson(4, 1000) - >>> az.plot_dist(a) - - Plot a continuous distribution - - .. plot:: - :context: close-figs - - >>> b = np.random.normal(0, 1, 1000) - >>> az.plot_dist(b) - - Add a rug under the Gaussian distribution - - .. plot:: - :context: close-figs - - >>> az.plot_dist(b, rug=True) - - Segment into quantiles - - .. plot:: - :context: close-figs - - >>> az.plot_dist(b, rug=True, quantiles=[.25, .5, .75]) - - Plot as the cumulative distribution - - .. plot:: - :context: close-figs - - >>> az.plot_dist(b, rug=True, quantiles=[.25, .5, .75], cumulative=True) - """ - values = np.asarray(values) - - if isinstance(values, (InferenceData, xr.Dataset)): - raise ValueError( - "InferenceData or xarray.Dataset object detected," - " use plot_posterior, plot_density or plot_pair" - " instead of plot_dist" - ) - - if kind not in ["auto", "kde", "hist"]: - raise TypeError(f'Invalid "kind":{kind}. Select from {{"auto","kde","hist"}}') - - if kind == "auto": - kind = "hist" if values.dtype.kind == "i" else rcParams["plot.density_kind"] - - dist_plot_args = dict( - # User Facing API that can be simplified - values=values, - values2=values2, - color=color, - kind=kind, - cumulative=cumulative, - label=label, - rotated=rotated, - rug=rug, - bw=bw, - quantiles=quantiles, - contour=contour, - fill_last=fill_last, - figsize=figsize, - textsize=textsize, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - contour_kwargs=contour_kwargs, - contourf_kwargs=contourf_kwargs, - pcolormesh_kwargs=pcolormesh_kwargs, - hist_kwargs=hist_kwargs, - ax=ax, - backend_kwargs=backend_kwargs, - is_circular=is_circular, - show=show, - **kwargs, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - plot = get_plotting_function("plot_dist", "distplot", backend) - ax = plot(**dist_plot_args) - return ax diff --git a/arviz/plots/dotplot.py b/arviz/plots/dotplot.py deleted file mode 100644 index 90ecbf7e74..0000000000 --- a/arviz/plots/dotplot.py +++ /dev/null @@ -1,233 +0,0 @@ -"""Plot distribution as dot plot or quantile dot plot.""" - -import numpy as np - - -from ..rcparams import rcParams -from .plot_utils import get_plotting_function - - -def plot_dot( - values, - binwidth=None, - dotsize=1, - stackratio=1, - hdi_prob=None, - rotated=False, - dotcolor="C0", - intervalcolor="C3", - markersize=None, - markercolor="C0", - marker="o", - figsize=None, - linewidth=None, - point_estimate="auto", - nquantiles=50, - quartiles=True, - point_interval=False, - ax=None, - show=None, - plot_kwargs=None, - backend=None, - backend_kwargs=None, - **kwargs -): - r"""Plot distribution as dot plot or quantile dot plot. - - This function uses the Wilkinson's Algorithm [1]_ to allot dots to bins. - The quantile dot plots was inspired from [2]_. - - Parameters - ---------- - values : array-like - Values to plot from an unknown continuous or discrete distribution. - binwidth : float, optional - Width of the bin for drawing the dot plot. - dotsize : float, default 1 - The size of the dots relative to the bin width. The default makes dots be - just about as wide as the bin width. - stackratio : float, default 1 - The distance between the center of the dots in the same stack relative to the bin height. - The default makes dots in the same stack just touch each other. - point_interval : bool, default False - Plots the point interval. Uses ``hdi_prob`` to plot the HDI interval - point_estimate : str, optional - Plot point estimate per variable. Values should be ``mean``, ``median``, ``mode`` or None. - Defaults to ``auto`` i.e. it falls back to default set in rcParams. - dotcolor : string, optional - The color of the dots. Should be a valid matplotlib color. - intervalcolor : string, optional - The color of the interval. Should be a valid matplotlib color. - linewidth : int, default None - Line width throughout. If None it will be autoscaled based on `figsize`. - markersize : int, default None - Markersize throughout. If None it will be autoscaled based on `figsize`. - markercolor : string, optional - The color of the marker when plot_interval is True. Should be a valid matplotlib color. - marker : string, default "o" - The shape of the marker. Valid for matplotlib backend. - hdi_prob : float, optional - Valid only when point_interval is True. Plots HDI for chosen percentage of density. - Defaults to ``stats.ci_prob`` rcParam. See :ref:`this section ` - for usage examples. - rotated : bool, default False - Whether to rotate the dot plot by 90 degrees. - nquantiles : int, default 50 - Number of quantiles to plot, used for quantile dot plots. - quartiles : bool, default True - If True then the quartile interval will be plotted with the HDI. - figsize : (float,float), optional - Figure size. If ``None`` it will be defined automatically. - plot_kwargs : dict, optional - Keywords passed for customizing the dots. Passed to :class:`mpl:matplotlib.patches.Circle` - in matplotlib and :meth:`bokeh.plotting.figure.circle` in bokeh. - backend :{"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - ax : axes, optional - Matplotlib_axes or bokeh_figure. - show : bool, optional - Call backend show function. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - - Returns - ------- - axes : matplotlib_axes or bokeh_figure - - See Also - -------- - plot_dist : Plot distribution as histogram or kernel density estimates. - - References - ---------- - .. [1] Leland Wilkinson (1999) Dot Plots, The American Statistician, 53:3, 276-281, - DOI: 10.1080/00031305.1999.10474474 - .. [2] Matthew Kay, Tara Kola, Jessica R. Hullman, - and Sean A. Munson. 2016. When (ish) is My Bus? User-centered Visualizations of Uncertainty - in Everyday, Mobile Predictive Systems. DOI:https://doi.org/10.1145/2858036.2858558 - - Examples - -------- - Plot dot plot for a set of data points - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> import numpy as np - >>> values = np.random.normal(0, 1, 500) - >>> az.plot_dot(values) - - Manually adjust number of quantiles to plot - - .. plot:: - :context: close-figs - - >>> az.plot_dot(values, nquantiles=100) - - Add a point interval under the dot plot - - .. plot:: - :context: close-figs - - >>> az.plot_dot(values, point_interval=True) - - Rotate the dot plots by 90 degrees i.e swap x and y axis - - .. plot:: - :context: close-figs - - >>> az.plot_dot(values, point_interval=True, rotated=True) - - """ - if nquantiles == 0: - raise ValueError("Number of quantiles should be greater than 0") - - if marker != "o" and backend == "bokeh": - raise ValueError("marker argument is valid only for matplotlib backend") - - values = np.ravel(values) - values = values[np.isfinite(values)] - values.sort() - - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - if point_estimate == "auto": - point_estimate = rcParams["plot.point_estimate"] - elif point_estimate not in {"mean", "median", "mode", None}: - raise ValueError("The value of point_estimate must be either mean, median, mode or None.") - - if not isinstance(nquantiles, int): - raise TypeError("nquantiles must be of integer type, refer to docs for further details") - - dot_plot_args = dict( - values=values, - binwidth=binwidth, - dotsize=dotsize, - stackratio=stackratio, - hdi_prob=hdi_prob, - quartiles=quartiles, - rotated=rotated, - dotcolor=dotcolor, - intervalcolor=intervalcolor, - markersize=markersize, - markercolor=markercolor, - marker=marker, - figsize=figsize, - linewidth=linewidth, - point_estimate=point_estimate, - nquantiles=nquantiles, - point_interval=point_interval, - ax=ax, - show=show, - backend_kwargs=backend_kwargs, - plot_kwargs=plot_kwargs, - **kwargs - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - plot = get_plotting_function("plot_dot", "dotplot", backend) - ax = plot(**dot_plot_args) - - return ax - - -def wilkinson_algorithm(values, binwidth): - """Wilkinson's algorithm to distribute dots into horizontal stacks.""" - ndots = len(values) - count = 0 - stack_locs, stack_counts = [], [] - - while count < ndots: - stack_first_dot = values[count] - num_dots_stack = 0 - while values[count] < (binwidth + stack_first_dot): - num_dots_stack += 1 - count += 1 - if count == ndots: - break - stack_locs.append((stack_first_dot + values[count - 1]) / 2) - stack_counts.append(num_dots_stack) - - return stack_locs, stack_counts - - -def layout_stacks(stack_locs, stack_counts, binwidth, stackratio, rotated): - """Use count and location of stacks to get coordinates of dots.""" - dotheight = stackratio * binwidth - binradius = binwidth / 2 - - x = np.repeat(stack_locs, stack_counts) - y = np.hstack([dotheight * np.arange(count) + binradius for count in stack_counts]) - if rotated: - x, y = y, x - - return x, y diff --git a/arviz/plots/ecdfplot.py b/arviz/plots/ecdfplot.py deleted file mode 100644 index bc92f48e5f..0000000000 --- a/arviz/plots/ecdfplot.py +++ /dev/null @@ -1,372 +0,0 @@ -"""Plot ecdf or ecdf-difference plot with confidence bands.""" - -import warnings - -import numpy as np -from scipy.stats import uniform - -try: - from scipy.stats import ecdf as scipy_ecdf -except ImportError: - scipy_ecdf = None - -from ..rcparams import rcParams -from ..stats.ecdf_utils import ecdf_confidence_band, _get_ecdf_points -from ..utils import BehaviourChangeWarning -from .plot_utils import get_plotting_function - - -def plot_ecdf( - values, - values2=None, - eval_points=None, - cdf=None, - difference=False, - confidence_bands=False, - ci_prob=None, - num_trials=500, - rvs=None, - random_state=None, - figsize=None, - fill_band=True, - plot_kwargs=None, - fill_kwargs=None, - plot_outline_kwargs=None, - ax=None, - show=None, - backend=None, - backend_kwargs=None, - npoints=100, - pointwise=False, - fpr=None, - pit=False, - **kwargs, -): - r"""Plot ECDF or ECDF-Difference Plot with Confidence bands. - - Plots of the empirical cumulative distribution function (ECDF) of an array. Optionally, A `cdf` - argument representing a reference CDF may be provided for comparison using a difference ECDF - plot and/or confidence bands. - - Alternatively, the PIT for a single dataset may be visualized. - - Notes - ----- - This plot computes the confidence bands with the simulated based algorithm presented in [1]_. - - Parameters - ---------- - values : array-like - Values to plot from an unknown continuous or discrete distribution. - values2 : array-like, optional - values to compare to the original sample. - - .. deprecated:: 0.18.0 - Instead use ``cdf=scipy.stats.ecdf(values2).cdf.evaluate``. - cdf : callable, optional - Cumulative distribution function of the distribution to compare the original sample. - The function must take as input a numpy array of draws from the distribution. - difference : bool, default False - If True then plot ECDF-difference plot otherwise ECDF plot. - confidence_bands : str or bool - - - False: No confidence bands are plotted (default). - - True: Plot bands computed with the default algorithm (subject to change) - - "pointwise": Compute the pointwise (i.e. marginal) confidence band. - - "optimized": Use optimization to estimate a simultaneous confidence band. - - "simulated": Use Monte Carlo simulation to estimate a simultaneous confidence - band. - - For simultaneous confidence bands to be correctly calibrated, provide `eval_points` that - are not dependent on the `values`. - ci_prob : float, default 0.94 - The probability that the true ECDF lies within the confidence band. If `confidence_bands` - is "pointwise", this is the marginal probability instead of the joint probability. - eval_points : array-like, optional - The points at which to evaluate the ECDF. If None, `npoints` uniformly spaced points - between the data bounds will be used. - rvs: callable, optional - A function that takes an integer `ndraws` and optionally the object passed to - `random_state` and returns an array of `ndraws` samples from the same distribution - as the original dataset. Required if `method` is "simulated" and variable is discrete. - random_state : int, numpy.random.Generator or numpy.random.RandomState, optional - num_trials : int, default 500 - The number of random ECDFs to generate for constructing simultaneous confidence bands - (if `confidence_bands` is "simulated"). - figsize : (float,float), optional - Figure size. If `None` it will be defined automatically. - fill_band : bool, default True - If True it fills in between to mark the area inside the confidence interval. Otherwise, - plot the border lines. - plot_kwargs : dict, optional - Additional kwargs passed to :func:`mpl:matplotlib.pyplot.step` or - :meth:`bokeh.plotting.figure.step` - fill_kwargs : dict, optional - Additional kwargs passed to :func:`mpl:matplotlib.pyplot.fill_between` or - :meth:`bokeh:bokeh.plotting.Figure.varea` - plot_outline_kwargs : dict, optional - Additional kwargs passed to :meth:`mpl:matplotlib.axes.Axes.plot` or - :meth:`bokeh:bokeh.plotting.Figure.line` - ax :axes, optional - Matplotlib axes or bokeh figures. - show : bool, optional - Call backend show function. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - npoints : int, default 100 - The number of evaluation points for the ecdf or ecdf-difference plots, if `eval_points` is - not provided or `pit` is `True`. - - .. deprecated:: 0.18.0 - Instead specify ``eval_points=np.linspace(np.min(values), np.max(values), npoints)`` - unless `pit` is `True`. - pointwise : bool, default False - - .. deprecated:: 0.18.0 - Instead use `confidence_bands="pointwise"`. - fpr : float, optional - - .. deprecated:: 0.18.0 - Instead use `ci_prob=1-fpr`. - pit : bool, default False - If True plots the ECDF or ECDF-diff of PIT of sample. - - .. deprecated:: 0.18.0 - See below example instead. - - Returns - ------- - axes : matplotlib_axes or bokeh_figure - - References - ---------- - .. [1] Säilynoja, T., Bürkner, P.C. and Vehtari, A. (2022). Graphical Test for - Discrete Uniformity and its Applications in Goodness of Fit Evaluation and - Multiple Sample Comparison. Statistics and Computing, 32(32). - - Examples - -------- - In a future release, the default behaviour of ``plot_ecdf`` will change. - To maintain the original behaviour you should do: - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> import numpy as np - >>> from scipy.stats import uniform, norm - >>> - >>> sample = norm(0,1).rvs(1000) - >>> npoints = 100 - >>> az.plot_ecdf(sample, eval_points=np.linspace(sample.min(), sample.max(), npoints)) - - However, seeing this warning isn't an indicator of anything being wrong, - if you are happy to get different behaviour as ArviZ improves and adds - new algorithms you can ignore it like so: - - .. plot:: - :context: close-figs - - >>> import warnings - >>> warnings.filterwarnings("ignore", category=az.utils.BehaviourChangeWarning) - - Plot an ECDF plot for a given sample evaluated at the sample points. This will become - the new behaviour when `eval_points` is not provided: - - .. plot:: - :context: close-figs - - >>> az.plot_ecdf(sample, eval_points=np.unique(sample)) - - Plot an ECDF plot with confidence bands for comparing a given sample to a given distribution. - We manually specify evaluation points independent of the values so that the confidence bands - are correctly calibrated. - - .. plot:: - :context: close-figs - - >>> distribution = norm(0,1) - >>> eval_points = np.linspace(*distribution.ppf([0.001, 0.999]), 100) - >>> az.plot_ecdf( - >>> sample, eval_points=eval_points, - >>> cdf=distribution.cdf, confidence_bands=True - >>> ) - - Plot an ECDF-difference plot with confidence bands for comparing a given sample - to a given distribution. - - .. plot:: - :context: close-figs - - >>> az.plot_ecdf( - >>> sample, cdf=distribution.cdf, - >>> confidence_bands=True, difference=True - >>> ) - - Plot an ECDF plot with confidence bands for the probability integral transform (PIT) of a - continuous sample. If drawn from the reference distribution, the PIT values should be uniformly - distributed. - - .. plot:: - :context: close-figs - - >>> pit_vals = distribution.cdf(sample) - >>> uniform_dist = uniform(0, 1) - >>> az.plot_ecdf( - >>> pit_vals, cdf=uniform_dist.cdf, confidence_bands=True, - >>> ) - - Plot an ECDF-difference plot of PIT values. - - .. plot:: - :context: close-figs - - >>> az.plot_ecdf( - >>> pit_vals, cdf = uniform_dist.cdf, confidence_bands = True, - >>> difference = True - >>> ) - """ - if confidence_bands is True: - if pointwise: - warnings.warn( - "`pointwise` has been deprecated. Use `confidence_bands='pointwise'` instead.", - FutureWarning, - ) - confidence_bands = "pointwise" - else: - confidence_bands = "auto" - # if pointwise specified, confidence_bands must be a bool or 'pointwise' - elif confidence_bands not in [False, "pointwise"] and pointwise: - raise ValueError( - f"Cannot specify both `confidence_bands='{confidence_bands}'` and `pointwise=True`" - ) - - if fpr is not None: - warnings.warn( - "`fpr` has been deprecated. Use `ci_prob=1-fpr` or set `rcParam['stats.ci_prob']` to" - "`1-fpr`.", - FutureWarning, - ) - if ci_prob is not None: - raise ValueError("Cannot specify both `fpr` and `ci_prob`") - ci_prob = 1 - fpr - - if ci_prob is None: - ci_prob = rcParams["stats.ci_prob"] - - if values2 is not None: - if cdf is not None: - raise ValueError("You cannot specify both `values2` and `cdf`") - if scipy_ecdf is None: - raise ValueError( - "The `values2` argument is deprecated and `scipy.stats.ecdf` is not available. " - "Please use `cdf` instead." - ) - warnings.warn( - "`values2` has been deprecated. Use `cdf=scipy.stats.ecdf(values2).cdf.evaluate` " - "instead.", - FutureWarning, - ) - cdf = scipy_ecdf(np.ravel(values2)).cdf.evaluate - - if cdf is None: - if confidence_bands: - raise ValueError("For confidence bands you must specify cdf") - if difference is True: - raise ValueError("For ECDF difference plot you must specify cdf") - if pit: - raise ValueError("For PIT plot you must specify cdf") - - values = np.ravel(values) - values.sort() - - if pit: - warnings.warn( - "`pit` has been deprecated. Specify `values=cdf(values)` instead.", - FutureWarning, - ) - values = cdf(values) - cdf = uniform(0, 1).cdf - rvs = uniform(0, 1).rvs - eval_points = np.linspace(1 / npoints, 1, npoints) - - if eval_points is None: - warnings.warn( - "In future versions, if `eval_points` is not provided, then the ECDF will be evaluated" - " at the unique values of the sample. To keep the current behavior, provide " - "`eval_points` explicitly.", - BehaviourChangeWarning, - ) - if confidence_bands in ["optimized", "simulated"]: - warnings.warn( - "For simultaneous bands to be correctly calibrated, specify `eval_points` " - "independent of the `values`" - ) - eval_points = np.linspace(values[0], values[-1], npoints) - else: - eval_points = np.asarray(eval_points) - - if difference or confidence_bands: - cdf_at_eval_points = cdf(eval_points) - else: - cdf_at_eval_points = np.zeros_like(eval_points) - - x_coord, y_coord = _get_ecdf_points(values, eval_points, difference) - - if difference: - y_coord -= cdf_at_eval_points - - if confidence_bands: - ndraws = len(values) - if confidence_bands == "auto": - if ndraws < 200 or num_trials >= 250 * np.sqrt(ndraws): - confidence_bands = "optimized" - else: - confidence_bands = "simulated" - x_bands = eval_points - lower, higher = ecdf_confidence_band( - ndraws, - eval_points, - cdf_at_eval_points, - method=confidence_bands, - prob=ci_prob, - num_trials=num_trials, - rvs=rvs, - random_state=random_state, - ) - - if difference: - lower -= cdf_at_eval_points - higher -= cdf_at_eval_points - else: - x_bands, lower, higher = None, None, None - - ecdf_plot_args = dict( - x_coord=x_coord, - y_coord=y_coord, - x_bands=x_bands, - lower=lower, - higher=higher, - figsize=figsize, - fill_band=fill_band, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - plot_outline_kwargs=plot_outline_kwargs, - ax=ax, - show=show, - backend_kwargs=backend_kwargs, - **kwargs, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - plot = get_plotting_function("plot_ecdf", "ecdfplot", backend) - ax = plot(**ecdf_plot_args) - - return ax diff --git a/arviz/plots/elpdplot.py b/arviz/plots/elpdplot.py deleted file mode 100644 index eef0486de1..0000000000 --- a/arviz/plots/elpdplot.py +++ /dev/null @@ -1,174 +0,0 @@ -"""Plot pointwise elpd estimations of inference data.""" - -import numpy as np - -from ..rcparams import rcParams -from ..stats import _calculate_ics -from ..utils import get_coords -from .plot_utils import format_coords_as_labels, get_plotting_function - - -def plot_elpd( - compare_dict, - color="C0", - xlabels=False, - figsize=None, - textsize=None, - coords=None, - legend=False, - threshold=None, - ax=None, - ic=None, - scale=None, - var_name=None, - plot_kwargs=None, - backend=None, - backend_kwargs=None, - show=None, -): - r"""Plot pointwise elpd differences between two or more models. - - Pointwise model comparison based on their expected log pointwise predictive density (ELPD). - - Notes - ----- - The ELPD is estimated either by Pareto smoothed importance sampling leave-one-out - cross-validation (LOO) or using the widely applicable information criterion (WAIC). - We recommend LOO in line with the work presented by [1]_. - - Parameters - ---------- - compare_dict : mapping of {str : ELPDData or InferenceData} - A dictionary mapping the model name to the object containing inference data or the result - of :func:`arviz.loo` or :func:`arviz.waic` functions. - Refer to :func:`arviz.convert_to_inference_data` for details on possible dict items. - color : str or array_like, default "C0" - Colors of the scatter plot. If color is a str all dots will have the same color. - If it is the size of the observations, each dot will have the specified color. - Otherwise, it will be interpreted as a list of the dims to be used for the color code. - xlabels : bool, default False - Use coords as xticklabels. - figsize : (float, float), optional - If `None`, size is (8 + numvars, 8 + numvars). - textsize : float, optional - Text size for labels. If `None` it will be autoscaled based on `figsize`. - coords : mapping, optional - Coordinates of points to plot. **All** values are used for computation, but only a - subset can be plotted for convenience. See :ref:`this section ` - for usage examples. - legend : bool, default False - Include a legend to the plot. Only taken into account when color argument is a dim name. - threshold : float, optional - If some elpd difference is larger than ``threshold * elpd.std()``, show its label. If - `None`, no observations will be highlighted. - ic : str, optional - Information Criterion ("loo" for PSIS-LOO, "waic" for WAIC) used to compare models. - Defaults to ``rcParams["stats.information_criterion"]``. - Only taken into account when input is :class:`arviz.InferenceData`. - scale : str, optional - Scale argument passed to :func:`arviz.loo` or :func:`arviz.waic`, see their docs for - details. Only taken into account when values in ``compare_dict`` are - :class:`arviz.InferenceData`. - var_name : str, optional - Argument passed to to :func:`arviz.loo` or :func:`arviz.waic`, see their docs for - details. Only taken into account when values in ``compare_dict`` are - :class:`arviz.InferenceData`. - plot_kwargs : dicts, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.scatter`. - ax : axes, optional - :class:`matplotlib.axes.Axes` or :class:`bokeh.plotting.Figure`. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib_axes or bokeh_figure - - See Also - -------- - plot_compare : Summary plot for model comparison. - loo : Compute Pareto-smoothed importance sampling leave-one-out cross-validation (PSIS-LOO-CV). - waic : Compute the widely applicable information criterion. - - References - ---------- - .. [1] Vehtari et al. (2016). Practical Bayesian model evaluation using leave-one-out - cross-validation and WAIC https://arxiv.org/abs/1507.04544 - - Examples - -------- - Compare pointwise PSIS-LOO for centered and non centered models of the 8-schools problem - using matplotlib. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> idata1 = az.load_arviz_data("centered_eight") - >>> idata2 = az.load_arviz_data("non_centered_eight") - >>> az.plot_elpd( - >>> {"centered model": idata1, "non centered model": idata2}, - >>> xlabels=True - >>> ) - - .. bokeh-plot:: - :source-position: above - - import arviz as az - idata1 = az.load_arviz_data("centered_eight") - idata2 = az.load_arviz_data("non_centered_eight") - az.plot_elpd( - {"centered model": idata1, "non centered model": idata2}, - backend="bokeh" - ) - - """ - try: - (compare_dict, _, ic) = _calculate_ics(compare_dict, scale=scale, ic=ic, var_name=var_name) - except Exception as e: - raise e.__class__("Encountered error in ic computation of plot_elpd.") from e - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - numvars = len(compare_dict) - models = list(compare_dict.keys()) - - if coords is None: - coords = {} - - pointwise_data = [get_coords(compare_dict[model][f"{ic}_i"], coords) for model in models] - xdata = np.arange(pointwise_data[0].size) - coord_labels = format_coords_as_labels(pointwise_data[0]) if xlabels else None - - if numvars < 2: - raise ValueError("Number of models to compare must be 2 or greater.") - - elpd_plot_kwargs = dict( - ax=ax, - models=models, - pointwise_data=pointwise_data, - numvars=numvars, - figsize=figsize, - textsize=textsize, - plot_kwargs=plot_kwargs, - xlabels=xlabels, - coord_labels=coord_labels, - xdata=xdata, - threshold=threshold, - legend=legend, - color=color, - backend_kwargs=backend_kwargs, - show=show, - ) - - plot = get_plotting_function("plot_elpd", "elpdplot", backend) - ax = plot(**elpd_plot_kwargs) - return ax diff --git a/arviz/plots/energyplot.py b/arviz/plots/energyplot.py deleted file mode 100644 index 34cabf2f00..0000000000 --- a/arviz/plots/energyplot.py +++ /dev/null @@ -1,147 +0,0 @@ -"""Plot energy transition distribution in HMC inference.""" - -import warnings - -from ..data import convert_to_dataset -from ..rcparams import rcParams -from .plot_utils import get_plotting_function - - -def plot_energy( - data, - kind=None, - bfmi=True, - figsize=None, - legend=True, - fill_alpha=(1, 0.75), - fill_color=("C0", "C5"), - bw="experimental", - textsize=None, - fill_kwargs=None, - plot_kwargs=None, - ax=None, - backend=None, - backend_kwargs=None, - show=None, -): - r"""Plot energy transition distribution and marginal energy distribution in HMC algorithms. - - This may help to diagnose poor exploration by gradient-based algorithms like HMC or NUTS. - The energy function in HMC can identify posteriors with heavy tailed distributions, that - in practice are challenging for sampling. - - This plot is in the style of the one used in [1]_. - - Parameters - ---------- - data : obj - :class:`xarray.Dataset`, or any object that can be converted (must represent - ``sample_stats`` and have an ``energy`` variable). - kind : str, optional - Type of plot to display ("kde", "hist"). - bfmi : bool, default True - If True add to the plot the value of the estimated Bayesian fraction of missing - information. - figsize : (float, float), optional - Figure size. If `None` it will be defined automatically. - legend : bool, default True - Flag for plotting legend. - fill_alpha : tuple, default (1, 0.75) - Alpha blending value for the shaded area under the curve, between 0 - (no shade) and 1 (opaque). - fill_color : tuple of valid matplotlib color, default ('C0', 'C5') - Color for Marginal energy distribution and Energy transition distribution. - bw : float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be - one of "scott", "silverman", "isj" or "experimental". Defaults to "experimental". - Only works if ``kind='kde'``. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If `None` it will be autoscaled - based on `figsize`. - fill_kwargs : dicts, optional - Additional keywords passed to :func:`arviz.plot_kde` (to control the shade). - plot_kwargs : dicts, optional - Additional keywords passed to :func:`arviz.plot_kde` or :func:`matplotlib.pyplot.hist` - (if ``type='hist'``). - ax : axes, optional - :class:`matplotlib.axes.Axes` or :class:`bokeh.plotting.Figure`. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib axes or bokeh figures - - See Also - -------- - bfmi : Calculate the estimated Bayesian fraction of missing information (BFMI). - - References - ---------- - .. [1] Betancourt (2016). Diagnosing Suboptimal Cotangent Disintegrations in - Hamiltonian Monte Carlo https://arxiv.org/abs/1604.00695 - - Examples - -------- - Plot a default energy plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('centered_eight') - >>> az.plot_energy(data) - - Represent energy plot via histograms - - .. plot:: - :context: close-figs - - >>> az.plot_energy(data, kind='hist') - - """ - energy = convert_to_dataset(data, group="sample_stats").energy.transpose("chain", "draw").values - - if kind == "histogram": - warnings.warn( - "kind histogram will be deprecated in a future release. Use `hist` " - "or set rcParam `plot.density_kind` to `hist`", - FutureWarning, - ) - kind = "hist" - - if kind is None: - kind = rcParams["plot.density_kind"] - - plot_energy_kwargs = dict( - ax=ax, - energy=energy, - kind=kind, - bfmi=bfmi, - figsize=figsize, - textsize=textsize, - fill_alpha=fill_alpha, - fill_color=fill_color, - fill_kwargs=fill_kwargs, - plot_kwargs=plot_kwargs, - bw=bw, - legend=legend, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_energy", "energyplot", backend) - ax = plot(**plot_energy_kwargs) - return ax diff --git a/arviz/plots/essplot.py b/arviz/plots/essplot.py deleted file mode 100644 index a7c7bc1a98..0000000000 --- a/arviz/plots/essplot.py +++ /dev/null @@ -1,319 +0,0 @@ -"""Plot quantile or local effective sample sizes.""" - -import numpy as np -import xarray as xr - -from ..data import convert_to_dataset -from ..labels import BaseLabeller -from ..rcparams import rcParams -from ..sel_utils import xarray_var_iter -from ..stats import ess -from ..utils import _var_names, get_coords -from .plot_utils import default_grid, filter_plotters_list, get_plotting_function - - -def plot_ess( - idata, - var_names=None, - filter_vars=None, - kind="local", - relative=False, - coords=None, - figsize=None, - grid=None, - textsize=None, - rug=False, - rug_kind="diverging", - n_points=20, - extra_methods=False, - min_ess=400, - labeller=None, - ax=None, - extra_kwargs=None, - text_kwargs=None, - hline_kwargs=None, - rug_kwargs=None, - backend=None, - backend_kwargs=None, - show=None, - **kwargs, -): - r"""Generate quantile, local, or evolution ESS plots. - - The local and the quantile ESS plots are recommended for checking - that there are enough samples for all the explored regions of the - parameter space. Checking local and quantile ESS is particularly - relevant when working with HDI intervals as opposed to ESS bulk, - which is suitable for point estimates. - - Parameters - ---------- - idata : InferenceData - Any object that can be converted to an :class:`arviz.InferenceData` object - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - var_names : list of str, optional - Variables to be plotted. Prefix the variables by ``~`` when you want to exclude - them from the plot. See :ref:`this section ` for usage examples. - filter_vars : {None, "like", "regex"}, default None - If `None` (default), interpret `var_names` as the real variables names. If "like", - interpret `var_names` as substrings of the real variables names. If "regex", - interpret `var_names` as regular expressions on the real variables names. See - :ref:`this section ` for usage examples. - kind : {"local", "quantile", "evolution"}, default "local" - Specify the kind of plot: - - * The ``kind="local"`` argument generates the ESS' local efficiency for - estimating quantiles of a desired posterior. - * The ``kind="quantile"`` argument generates the ESS' local efficiency - for estimating small-interval probability of a desired posterior. - * The ``kind="evolution"`` argument generates the estimated ESS' - with incrised number of iterations of a desired posterior. - - relative : bool, default False - Show relative ess in plot ``ress = ess / N``. - coords : dict, optional - Coordinates of `var_names` to be plotted. Passed to :meth:`xarray.Dataset.sel`. - See :ref:`this section ` for usage examples. - grid : tuple, optional - Number of rows and columns. By default, the rows and columns are - automatically inferred. See :ref:`this section ` for usage examples. - figsize : (float, float), optional - Figure size. If ``None`` it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If ``None`` it will be autoscaled - based on `figsize`. - rug : bool, default False - Add a `rug plot `_ for a specific subset of values. - rug_kind : str, default "diverging" - Variable in sample stats to use as rug mask. Must be a boolean variable. - n_points : int, default 20 - Number of points for which to plot their quantile/local ess or number of subsets - in the evolution plot. - extra_methods : bool, default False - Plot mean and sd ESS as horizontal lines. Not taken into account if ``kind = 'evolution'``. - min_ess : int, default 400 - Minimum number of ESS desired. If ``relative=True`` the line is plotted at - ``min_ess / n_samples`` for local and quantile kinds and as a curve following - the ``min_ess / n`` dependency in evolution kind. - labeller : Labeller, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - ax : 2D array-like of matplotlib_axes or bokeh_figure, optional - A 2D array of locations into which to plot the densities. If not supplied, ArviZ will create - its own array of plot areas (and return it). - extra_kwargs : dict, optional - If evolution plot, `extra_kwargs` is used to plot ess tail and differentiate it - from ess bulk. Otherwise, passed to extra methods lines. - text_kwargs : dict, optional - Only taken into account when ``extra_methods=True``. kwargs passed to ax.annotate - for extra methods lines labels. It accepts the additional - key ``x`` to set ``xy=(text_kwargs["x"], mcse)`` - hline_kwargs : dict, optional - kwargs passed to :func:`~matplotlib.axes.Axes.axhline` or to :class:`~bokeh.models.Span` - depending on the backend for the horizontal minimum ESS line. - For relative ess evolution plots the kwargs are passed to - :func:`~matplotlib.axes.Axes.plot` or to :class:`~bokeh.plotting.figure.line` - rug_kwargs : dict - kwargs passed to rug plot. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - **kwargs - Passed as-is to :meth:`mpl:matplotlib.axes.Axes.hist` or - :meth:`mpl:matplotlib.axes.Axes.plot` function depending on the - value of `kind`. - - Returns - ------- - axes : matplotlib_axes or bokeh_figure - - See Also - -------- - ess : Calculate estimate of the effective sample size. - - References - ---------- - .. [1] Vehtari et al. (2021). Rank-normalization, folding, and - localization: An improved Rhat for assessing convergence of - MCMC. Bayesian analysis, 16(2):667-718. - - Examples - -------- - Plot local ESS. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> idata = az.load_arviz_data("centered_eight") - >>> coords = {"school": ["Choate", "Lawrenceville"]} - >>> az.plot_ess( - ... idata, kind="local", var_names=["mu", "theta"], coords=coords - ... ) - - Plot ESS evolution as the number of samples increase. When the model is converging properly, - both lines in this plot should be roughly linear. - - .. plot:: - :context: close-figs - - >>> az.plot_ess( - ... idata, kind="evolution", var_names=["mu", "theta"], coords=coords - ... ) - - Customize local ESS plot to look like reference paper. - - .. plot:: - :context: close-figs - - >>> az.plot_ess( - ... idata, kind="local", var_names=["mu"], drawstyle="steps-mid", color="k", - ... linestyle="-", marker=None, rug=True, rug_kwargs={"color": "r"} - ... ) - - Customize ESS evolution plot to look like reference paper. - - .. plot:: - :context: close-figs - - >>> extra_kwargs = {"color": "lightsteelblue"} - >>> az.plot_ess( - ... idata, kind="evolution", var_names=["mu"], - ... color="royalblue", extra_kwargs=extra_kwargs - ... ) - - """ - valid_kinds = ("local", "quantile", "evolution") - kind = kind.lower() - if kind not in valid_kinds: - raise ValueError(f"Invalid kind, kind must be one of {valid_kinds} not {kind}") - - if coords is None: - coords = {} - if "chain" in coords or "draw" in coords: - raise ValueError("chain and draw are invalid coordinates for this kind of plot") - if labeller is None: - labeller = BaseLabeller() - extra_methods = False if kind == "evolution" else extra_methods - - data = get_coords(convert_to_dataset(idata, group="posterior"), coords) - var_names = _var_names(var_names, data, filter_vars) - n_draws = data.sizes["draw"] - n_samples = n_draws * data.sizes["chain"] - - ess_tail_dataset = None - mean_ess = None - sd_ess = None - - if kind == "quantile": - probs = np.linspace(1 / n_points, 1 - 1 / n_points, n_points) - xdata = probs - ylabel = "{} for quantiles" - ess_dataset = xr.concat( - [ - ess(data, var_names=var_names, relative=relative, method="quantile", prob=p) - for p in probs - ], - dim="ess_dim", - ) - elif kind == "local": - probs = np.linspace(0, 1, n_points, endpoint=False) - xdata = probs - ylabel = "{} for small intervals" - ess_dataset = xr.concat( - [ - ess( - data, - var_names=var_names, - relative=relative, - method="local", - prob=[p, p + 1 / n_points], - ) - for p in probs - ], - dim="ess_dim", - ) - else: - first_draw = data.draw.values[0] - ylabel = "{}" - xdata = np.linspace(n_samples / n_points, n_samples, n_points) - draw_divisions = np.linspace(n_draws // n_points, n_draws, n_points, dtype=int) - ess_dataset = xr.concat( - [ - ess( - data.sel(draw=slice(first_draw + draw_div)), - var_names=var_names, - relative=relative, - method="bulk", - ) - for draw_div in draw_divisions - ], - dim="ess_dim", - ) - ess_tail_dataset = xr.concat( - [ - ess( - data.sel(draw=slice(first_draw + draw_div)), - var_names=var_names, - relative=relative, - method="tail", - ) - for draw_div in draw_divisions - ], - dim="ess_dim", - ) - - plotters = filter_plotters_list( - list(xarray_var_iter(ess_dataset, var_names=var_names, skip_dims={"ess_dim"})), "plot_ess" - ) - length_plotters = len(plotters) - rows, cols = default_grid(length_plotters, grid=grid) - - if extra_methods: - mean_ess = ess(data, var_names=var_names, method="mean", relative=relative) - sd_ess = ess(data, var_names=var_names, method="sd", relative=relative) - - essplot_kwargs = dict( - ax=ax, - plotters=plotters, - xdata=xdata, - ess_tail_dataset=ess_tail_dataset, - mean_ess=mean_ess, - sd_ess=sd_ess, - idata=idata, - data=data, - kind=kind, - extra_methods=extra_methods, - textsize=textsize, - rows=rows, - cols=cols, - figsize=figsize, - kwargs=kwargs, - extra_kwargs=extra_kwargs, - text_kwargs=text_kwargs, - n_samples=n_samples, - relative=relative, - min_ess=min_ess, - labeller=labeller, - ylabel=ylabel, - rug=rug, - rug_kind=rug_kind, - rug_kwargs=rug_kwargs, - hline_kwargs=hline_kwargs, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_ess", "essplot", backend) - ax = plot(**essplot_kwargs) - return ax diff --git a/arviz/plots/forestplot.py b/arviz/plots/forestplot.py deleted file mode 100644 index a3da7cf027..0000000000 --- a/arviz/plots/forestplot.py +++ /dev/null @@ -1,304 +0,0 @@ -"""Forest plot.""" - -from ..data import convert_to_dataset -from ..labels import BaseLabeller, NoModelLabeller -from ..rcparams import rcParams -from ..utils import _var_names, get_coords -from .plot_utils import get_plotting_function - - -def plot_forest( - data, - kind="forestplot", - model_names=None, - var_names=None, - filter_vars=None, - transform=None, - coords=None, - combined=False, - combine_dims=None, - hdi_prob=None, - rope=None, - quartiles=True, - ess=False, - r_hat=False, - colors="cycle", - textsize=None, - linewidth=None, - markersize=None, - legend=True, - labeller=None, - ridgeplot_alpha=None, - ridgeplot_overlap=2, - ridgeplot_kind="auto", - ridgeplot_truncate=True, - ridgeplot_quantiles=None, - figsize=None, - ax=None, - backend=None, - backend_config=None, - backend_kwargs=None, - show=None, -): - r"""Forest plot to compare HDI intervals from a number of distributions. - - Generate forest or ridge plots to compare distributions from a model or list of models. - Additionally, the function can display effective sample sizes (ess) and Rhats to visualize - convergence diagnostics alongside the distributions. - - Parameters - ---------- - data : InferenceData - Any object that can be converted to an :class:`arviz.InferenceData` object - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - kind : {"forestplot", "ridgeplot"}, default "forestplot" - Specify the kind of plot: - - * The ``kind="forestplot"`` generates credible intervals, where the central points are the - estimated posterior median, the thick lines are the central quartiles, and the thin lines - represent the :math:`100\times(hdi\_prob)\%` highest density intervals. - * The ``kind="ridgeplot"`` option generates density plots (kernel density estimate or - histograms) in the same graph. Ridge plots can be configured to have different overlap, - truncation bounds and quantile markers. - - model_names : list of str, optional - List with names for the models in the list of data. Useful when plotting more that one - dataset. - var_names : list of str, optional - Variables to be plotted. Prefix the variables by ``~`` when you want to exclude - them from the plot. See :ref:`this section ` for usage examples. - combine_dims : set_like of str, optional - List of dimensions to reduce. Defaults to reducing only the "chain" and "draw" dimensions. - See :ref:`this section ` for usage examples. - filter_vars : {None, "like", "regex"}, default None - If `None` (default), interpret `var_names` as the real variables names. If "like", - interpret `var_names` as substrings of the real variables names. If "regex", - interpret `var_names` as regular expressions on the real variables names. See - :ref:`this section ` for usage examples. - transform : callable or dict, optional - Function to transform the data. Defaults to None, i.e., the identity function. - coords : dict, optional - Coordinates of ``var_names`` to be plotted. Passed to :meth:`xarray.Dataset.sel`. - See :ref:`this section ` for usage examples. - combined : bool, default False - Flag for combining multiple chains into a single chain. If False, chains will - be plotted separately. See :ref:`this section ` for usage examples. - hdi_prob : float, default 0.94 - Plots highest posterior density interval for chosen percentage of density. - See :ref:`this section ` for usage examples. - rope : list, tuple or dictionary of {str : tuples or lists}, optional - A dictionary of tuples with the lower and upper values of the Region Of Practical - Equivalence. See :ref:`this section ` for usage examples. - quartiles : bool, default True - Flag for plotting the interquartile range, in addition to the ``hdi_prob`` intervals. - r_hat : bool, default False - Flag for plotting Split R-hat statistics. Requires 2 or more chains. - ess : bool, default False - Flag for plotting the effective sample size. - colors : list or string, optional - list with valid matplotlib colors, one color per model. Alternative a string can be passed. - If the string is `cycle`, it will automatically chose a color per model from the matplotlibs - cycle. If a single color is passed, eg 'k', 'C2', 'red' this color will be used for all - models. Defaults to 'cycle'. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If `None` it will be autoscaled based - on ``figsize``. - linewidth : int, optional - Line width throughout. If `None` it will be autoscaled based on ``figsize``. - markersize : int, optional - Markersize throughout. If `None` it will be autoscaled based on ``figsize``. - legend : bool, optional - Show a legend with the color encoded model information. - Defaults to True, if there are multiple models. - labeller : Labeller, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - ridgeplot_alpha: float, optional - Transparency for ridgeplot fill. If ``ridgeplot_alpha=0``, border is colored by model, - otherwise a `black` outline is used. - ridgeplot_overlap : float, default 2 - Overlap height for ridgeplots. - ridgeplot_kind : string, optional - By default ("auto") continuous variables are plotted using KDEs and discrete ones using - histograms. To override this use "hist" to plot histograms and "density" for KDEs. - ridgeplot_truncate : bool, default True - Whether to truncate densities according to the value of ``hdi_prob``. - ridgeplot_quantiles : list, optional - Quantiles in ascending order used to segment the KDE. Use [.25, .5, .75] for quartiles. - figsize : (float, float), optional - Figure size. If `None`, it will be defined automatically. - ax : axes, optional - :class:`matplotlib.axes.Axes` or :class:`bokeh.plotting.Figure`. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_config : dict, optional - Currently specifies the bounds to use for bokeh axes. Defaults to value set in ``rcParams``. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - 1D ndarray of matplotlib_axes or bokeh_figures - - See Also - -------- - plot_posterior : Plot Posterior densities in the style of John K. Kruschke's book. - plot_density : Generate KDE plots for continuous variables and histograms for discrete ones. - summary : Create a data frame with summary statistics. - - Examples - -------- - Forestplot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> non_centered_data = az.load_arviz_data('non_centered_eight') - >>> axes = az.plot_forest(non_centered_data, - >>> kind='forestplot', - >>> var_names=["^the"], - >>> filter_vars="regex", - >>> combined=True, - >>> figsize=(9, 7)) - >>> axes[0].set_title('Estimated theta for 8 schools model') - - Forestplot with multiple datasets - - .. plot:: - :context: close-figs - - >>> centered_data = az.load_arviz_data('centered_eight') - >>> axes = az.plot_forest([non_centered_data, centered_data], - >>> model_names = ["non centered eight", "centered eight"], - >>> kind='forestplot', - >>> var_names=["^the"], - >>> filter_vars="regex", - >>> combined=True, - >>> figsize=(9, 7)) - >>> axes[0].set_title('Estimated theta for 8 schools models') - - Ridgeplot - - .. plot:: - :context: close-figs - - >>> axes = az.plot_forest(non_centered_data, - >>> kind='ridgeplot', - >>> var_names=['theta'], - >>> combined=True, - >>> ridgeplot_overlap=3, - >>> colors='white', - >>> figsize=(9, 7)) - >>> axes[0].set_title('Estimated theta for 8 schools model') - - Ridgeplot non-truncated and with quantiles - - .. plot:: - :context: close-figs - - >>> axes = az.plot_forest(non_centered_data, - >>> kind='ridgeplot', - >>> var_names=['theta'], - >>> combined=True, - >>> ridgeplot_truncate=False, - >>> ridgeplot_quantiles=[.25, .5, .75], - >>> ridgeplot_overlap=0.7, - >>> colors='white', - >>> figsize=(9, 7)) - >>> axes[0].set_title('Estimated theta for 8 schools model') - """ - if not isinstance(data, (list, tuple)): - data = [data] - if len(data) == 1: - legend = False - - if coords is None: - coords = {} - - if combine_dims is None: - combine_dims = set() - - if labeller is None: - labeller = NoModelLabeller() if legend else BaseLabeller() - - datasets = [convert_to_dataset(datum) for datum in reversed(data)] - if transform is not None: - if callable(transform): - datasets = [transform(dataset) for dataset in datasets] - elif isinstance(transform, dict): - transformed_datasets = [] - for dataset in datasets: - new_dataset = dataset.copy() - for var_name, func in transform.items(): - if var_name in new_dataset: - new_dataset[var_name] = func(new_dataset[var_name]) - transformed_datasets.append(new_dataset) - datasets = transformed_datasets - else: - raise ValueError("transform must be either a callable or a dict {var_name: callable}") - datasets = get_coords( - datasets, list(reversed(coords)) if isinstance(coords, (list, tuple)) else coords - ) - - var_names = _var_names(var_names, datasets, filter_vars) - - ncols, width_ratios = 1, [3] - - if ess: - ncols += 1 - width_ratios.append(1) - - if r_hat: - ncols += 1 - width_ratios.append(1) - - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - plot_forest_kwargs = dict( - ax=ax, - datasets=datasets, - var_names=var_names, - model_names=model_names, - combined=combined, - combine_dims=combine_dims, - colors=colors, - figsize=figsize, - width_ratios=width_ratios, - linewidth=linewidth, - markersize=markersize, - kind=kind, - ncols=ncols, - hdi_prob=hdi_prob, - quartiles=quartiles, - rope=rope, - ridgeplot_overlap=ridgeplot_overlap, - ridgeplot_alpha=ridgeplot_alpha, - ridgeplot_kind=ridgeplot_kind, - ridgeplot_truncate=ridgeplot_truncate, - ridgeplot_quantiles=ridgeplot_quantiles, - textsize=textsize, - legend=legend, - labeller=labeller, - ess=ess, - r_hat=r_hat, - backend_kwargs=backend_kwargs, - backend_config=backend_config, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_forest", "forestplot", backend) - axes = plot(**plot_forest_kwargs) - return axes diff --git a/arviz/plots/hdiplot.py b/arviz/plots/hdiplot.py deleted file mode 100644 index 546281634f..0000000000 --- a/arviz/plots/hdiplot.py +++ /dev/null @@ -1,211 +0,0 @@ -"""Plot highest density intervals for regression data.""" - -import warnings - -import numpy as np -from scipy.interpolate import griddata -from scipy.signal import savgol_filter -from xarray import Dataset - -from ..rcparams import rcParams -from ..stats import hdi -from .plot_utils import get_plotting_function - - -def plot_hdi( - x, - y=None, - hdi_prob=None, - hdi_data=None, - color="C1", - circular=False, - smooth=True, - smooth_kwargs=None, - figsize=None, - fill_kwargs=None, - plot_kwargs=None, - hdi_kwargs=None, - ax=None, - backend=None, - backend_kwargs=None, - show=None, -): - r"""Plot HDI intervals for regression data. - - Parameters - ---------- - x : array-like - Values to plot. - y : array-like, optional - Values from which to compute the HDI. Assumed shape ``(chain, draw, \*shape)``. - Only optional if ``hdi_data`` is present. - hdi_data : array_like, optional - Precomputed HDI values to use. Assumed shape is ``(*x.shape, 2)``. - hdi_prob : float, optional - Probability for the highest density interval. Defaults to ``stats.ci_prob`` rcParam. - See :ref:`this section ` for usage examples. - color : str, default "C1" - Color used for the limits of the HDI and fill. Should be a valid matplotlib color. - circular : bool, default False - Whether to compute the HDI taking into account ``x`` is a circular variable - (in the range [-np.pi, np.pi]) or not. Defaults to False (i.e non-circular variables). - smooth : boolean, default True - If True the result will be smoothed by first computing a linear interpolation of the data - over a regular grid and then applying the Savitzky-Golay filter to the interpolated data. - smooth_kwargs : dict, optional - Additional keywords modifying the Savitzky-Golay filter. See - :func:`scipy:scipy.signal.savgol_filter` for details. - figsize : (float, float), optional - Figure size. If ``None``, it will be defined automatically. - fill_kwargs : dict, optional - Keywords passed to :meth:`mpl:matplotlib.axes.Axes.fill_between` - (use ``fill_kwargs={'alpha': 0}`` to disable fill) or to - :meth:`bokeh.plotting.Figure.patch`. - plot_kwargs : dict, optional - HDI limits keyword arguments, passed to :meth:`mpl:matplotlib.axes.Axes.plot` or - :meth:`bokeh.plotting.Figure.patch`. - hdi_kwargs : dict, optional - Keyword arguments passed to :func:`~arviz.hdi`. Ignored if ``hdi_data`` is present. - ax : axes, optional - Matplotlib axes or bokeh figures. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib axes or bokeh figures - - See Also - -------- - hdi : Calculate highest density interval (HDI) of array for given probability. - - Examples - -------- - Plot HDI interval of simulated random-walk data using `y` argument: - - .. plot:: - :context: close-figs - - >>> import numpy as np - >>> import arviz as az - >>> # time-steps random walk - >>> x_data =np.arange(0,100) - >>> # Mean random walk - >>> mu = np.zeros(100) - >>> for i in x_data: mu[i] = mu[i-1] + np.random.normal(0, 1, 1) - >>> # Simulated pp samples form the random walk time series - >>> y_data = np.random.normal(2 + mu * 0.5, 0.5, size = (2, 50, 100)) - >>> az.plot_hdi(x_data, y_data) - - ``plot_hdi`` can also be given precalculated values with the argument ``hdi_data``. This example - shows how to use :func:`~arviz.hdi` to precalculate the values and pass these values to - ``plot_hdi``. Similarly to an example in ``hdi`` we are using the ``input_core_dims`` - argument of :func:`~arviz.wrap_xarray_ufunc` to manually define the dimensions over which - to calculate the HDI. - - .. plot:: - :context: close-figs - - >>> hdi_data = az.hdi(y_data, input_core_dims=[["draw"]]) - >>> ax = az.plot_hdi(x_data, hdi_data=hdi_data[0], color="r", fill_kwargs={"alpha": .2}) - >>> az.plot_hdi(x_data, hdi_data=hdi_data[1], color="k", ax=ax, fill_kwargs={"alpha": .2}) - - ``plot_hdi`` can also be used with Inference Data objects. Here we use the posterior predictive - to plot the HDI interval. - - .. plot:: - :context: close-figs - - >>> X = np.random.normal(0,1,100) - >>> Y = np.random.normal(2 + X * 0.5, 0.5, size=(2,10,100)) - >>> idata = az.from_dict(posterior={"y": Y}, constant_data={"x":X}) - >>> x_data = idata.constant_data.x - >>> y_data = idata.posterior.y - >>> az.plot_hdi(x_data, y_data) - - """ - if hdi_kwargs is None: - hdi_kwargs = {} - - x = np.asarray(x) - x_shape = x.shape - - if isinstance(x[0], str): - raise NotImplementedError( - "The `arviz.plot_hdi()` function does not support categorical data. " - "Consider using `arviz.plot_forest()`." - ) - if y is None and hdi_data is None: - raise ValueError("One of {y, hdi_data} is required") - if hdi_data is not None and y is not None: - warnings.warn("Both y and hdi_data arguments present, ignoring y") - elif hdi_data is not None: - hdi_prob = ( - hdi_data.hdi.attrs.get("hdi_prob", np.nan) if hasattr(hdi_data, "hdi") else np.nan - ) - if isinstance(hdi_data, Dataset): - data_vars = list(hdi_data.data_vars) - if len(data_vars) != 1: - raise ValueError( - "Found several variables in hdi_data. Only single variable Datasets are " - "supported." - ) - hdi_data = hdi_data[data_vars[0]] - else: - y = np.asarray(y) - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - hdi_data = hdi(y, hdi_prob=hdi_prob, circular=circular, multimodal=False, **hdi_kwargs) - - hdi_shape = hdi_data.shape - if hdi_shape[:-1] != x_shape: - msg = ( - "Dimension mismatch for x: {} and hdi: {}. Check the dimensions of y and" - "hdi_kwargs to make sure they are compatible" - ) - raise TypeError(msg.format(x_shape, hdi_shape)) - - if smooth: - if isinstance(x[0], np.datetime64): - raise TypeError("Cannot deal with x as type datetime. Recommend setting smooth=False.") - - if smooth_kwargs is None: - smooth_kwargs = {} - smooth_kwargs.setdefault("window_length", 55) - smooth_kwargs.setdefault("polyorder", 2) - x_data = np.linspace(x.min(), x.max(), 200) - x_data[0] = (x_data[0] + x_data[1]) / 2 - hdi_interp = griddata(x, hdi_data, x_data) - y_data = savgol_filter(hdi_interp, axis=0, **smooth_kwargs) - else: - idx = np.argsort(x) - x_data = x[idx] - y_data = hdi_data[idx] - - hdiplot_kwargs = dict( - ax=ax, - x_data=x_data, - y_data=y_data, - color=color, - figsize=figsize, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - plot = get_plotting_function("plot_hdi", "hdiplot", backend) - ax = plot(**hdiplot_kwargs) - return ax diff --git a/arviz/plots/kdeplot.py b/arviz/plots/kdeplot.py deleted file mode 100644 index 7e2dc2b2bf..0000000000 --- a/arviz/plots/kdeplot.py +++ /dev/null @@ -1,357 +0,0 @@ -# pylint: disable=unexpected-keyword-arg -"""One-dimensional kernel density estimate plots.""" -import warnings - -import xarray as xr - -from ..data import InferenceData -from ..rcparams import rcParams -from ..stats.density_utils import _fast_kde_2d, kde, _find_hdi_contours -from .plot_utils import get_plotting_function, _init_kwargs_dict - - -def plot_kde( - values, - values2=None, - cumulative=False, - rug=False, - label=None, - bw="default", - adaptive=False, - quantiles=None, - rotated=False, - contour=True, - hdi_probs=None, - fill_last=False, - figsize=None, - textsize=None, - plot_kwargs=None, - fill_kwargs=None, - rug_kwargs=None, - contour_kwargs=None, - contourf_kwargs=None, - pcolormesh_kwargs=None, - is_circular=False, - ax=None, - legend=True, - backend=None, - backend_kwargs=None, - show=None, - return_glyph=False, - **kwargs -): - """1D or 2D KDE plot taking into account boundary conditions. - - Parameters - ---------- - values : array-like - Values to plot - values2 : array-like, optional - Values to plot. If present, a 2D KDE will be estimated - cumulative : bool, dafault False - If True plot the estimated cumulative distribution function. Ignored for 2D KDE. - rug : bool, default False - Add a `rug plot `_ for a specific subset of - values. Ignored for 2D KDE. - label : string, optional - Text to include as part of the legend. - bw : float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be - one of "scott", "silverman", "isj" or "experimental" when ``is_circular`` is False - and "taylor" (for now) when ``is_circular`` is True. - Defaults to "default" which means "experimental" when variable is not circular - and "taylor" when it is. - adaptive : bool, default False - If True, an adaptative bandwidth is used. Only valid for 1D KDE. - quantiles : list, optional - Quantiles in ascending order used to segment the KDE. Use [.25, .5, .75] for quartiles. - rotated : bool, default False - Whether to rotate the 1D KDE plot 90 degrees. - contour : bool, default True - If True plot the 2D KDE using contours, otherwise plot a smooth 2D KDE. - hdi_probs : list, optional - Plots highest density credibility regions for the provided probabilities for a 2D KDE. - Defaults to [0.5, 0.8, 0.94]. - fill_last : bool, default False - If True fill the last contour of the 2D KDE plot. - figsize : (float, float), optional - Figure size. If ``None`` it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If ``None`` it will be autoscaled - based on ``figsize``. Not implemented for bokeh backend. - plot_kwargs : dict, optional - Keywords passed to the pdf line of a 1D KDE. See :meth:`mpl:matplotlib.axes.Axes.plot` - or :meth:`bokeh:bokeh.plotting.Figure.line` for a description of accepted values. - fill_kwargs : dict, optional - Keywords passed to the fill under the line (use ``fill_kwargs={'alpha': 0}`` - to disable fill). Ignored for 2D KDE. Passed to - :meth:`bokeh.plotting.Figure.patch`. - rug_kwargs : dict, optional - Keywords passed to the rug plot. Ignored if ``rug=False`` or for 2D KDE - Use ``space`` keyword (float) to control the position of the rugplot. The larger this number - the lower the rugplot. Passed to :class:`bokeh:bokeh.models.glyphs.Scatter`. - contour_kwargs : dict, optional - Keywords passed to :meth:`mpl:matplotlib.axes.Axes.contour` - to draw contour lines or :meth:`bokeh.plotting.Figure.patch`. - Ignored for 1D KDE. - contourf_kwargs : dict, optional - Keywords passed to :meth:`mpl:matplotlib.axes.Axes.contourf` - to draw filled contours. Ignored for 1D KDE. - pcolormesh_kwargs : dict, optional - Keywords passed to :meth:`mpl:matplotlib.axes.Axes.pcolormesh` or - :meth:`bokeh.plotting.Figure.image`. - Ignored for 1D KDE. - is_circular : {False, True, "radians", "degrees"}. Default False - Select input type {"radians", "degrees"} for circular histogram or KDE plot. If True, - default input type is "radians". When this argument is present, it interprets ``values`` - as a circular variable measured in radians and a circular KDE is used. Inputs in - "degrees" will undergo an internal conversion to radians. - ax : axes, optional - Matplotlib axes or bokeh figures. - legend : bool, default True - Add legend to the figure. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - return_glyph : bool, optional - Internal argument to return glyphs for bokeh. - - Returns - ------- - axes : matplotlib.Axes or bokeh.plotting.Figure - Object containing the kde plot - glyphs : list, optional - Bokeh glyphs present in plot. Only provided if ``return_glyph`` is True. - - See Also - -------- - kde : One dimensional density estimation. - plot_dist : Plot distribution as histogram or kernel density estimates. - - Examples - -------- - Plot default KDE - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> non_centered = az.load_arviz_data('non_centered_eight') - >>> mu_posterior = np.concatenate(non_centered.posterior["mu"].values) - >>> tau_posterior = np.concatenate(non_centered.posterior["tau"].values) - >>> az.plot_kde(mu_posterior) - - - Plot KDE with rugplot - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, rug=True) - - Plot KDE with adaptive bandwidth - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, adaptive=True) - - Plot KDE with a different bandwidth estimator - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, bw="scott") - - Plot KDE with a bandwidth specified manually - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, bw=0.4) - - Plot KDE for a circular variable - - .. plot:: - :context: close-figs - - >>> rvs = np.random.vonmises(mu=np.pi, kappa=2, size=500) - >>> az.plot_kde(rvs, is_circular=True) - - - Plot a cumulative distribution - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, cumulative=True) - - - - Rotate plot 90 degrees - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, rotated=True) - - - Plot 2d contour KDE - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, values2=tau_posterior) - - - Plot 2d contour KDE, without filling and contour lines using viridis cmap - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, values2=tau_posterior, - ... contour_kwargs={"colors":None, "cmap":plt.cm.viridis}, - ... contourf_kwargs={"alpha":0}); - - Plot 2d contour KDE, set the number of levels to 3. - - .. plot:: - :context: close-figs - - >>> az.plot_kde( - ... mu_posterior, values2=tau_posterior, - ... contour_kwargs={"levels":3}, contourf_kwargs={"levels":3} - ... ); - - Plot 2d contour KDE with 30%, 60% and 90% HDI contours. - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, values2=tau_posterior, hdi_probs=[0.3, 0.6, 0.9]) - - Plot 2d smooth KDE - - .. plot:: - :context: close-figs - - >>> az.plot_kde(mu_posterior, values2=tau_posterior, contour=False) - - """ - if isinstance(values, xr.Dataset): - raise ValueError( - "Xarray dataset object detected. Use plot_posterior, plot_density " - "or plot_pair instead of plot_kde" - ) - if isinstance(values, InferenceData): - raise ValueError( - " Inference Data object detected. Use plot_posterior " - "or plot_pair instead of plot_kde" - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - if values2 is None: - if bw == "default": - bw = "taylor" if is_circular else "experimental" - - grid, density = kde(values, is_circular, bw=bw, adaptive=adaptive, cumulative=cumulative) - lower, upper = grid[0], grid[-1] - - density_q = density if cumulative else density.cumsum() / density.sum() - - # This is just a hack placeholder for now - xmin, xmax, ymin, ymax, gridsize = [None] * 5 - else: - gridsize = (128, 128) if contour else (256, 256) - density, xmin, xmax, ymin, ymax = _fast_kde_2d(values, values2, gridsize=gridsize) - - if hdi_probs is None: - hdi_probs = [0.5, 0.8, 0.94] - - if hdi_probs is not None: - # Check hdi probs are within bounds (0, 1) - if min(hdi_probs) <= 0 or max(hdi_probs) >= 1: - raise ValueError("Highest density interval probabilities must be between 0 and 1") - - # Calculate contour levels and sort for matplotlib - contour_levels = _find_hdi_contours(density, hdi_probs) - contour_levels.sort() - - contour_level_list = [0] + list(contour_levels) + [density.max()] - - # Add keyword arguments to contour, contourf - contour_kwargs = _init_kwargs_dict(contour_kwargs) - if "levels" in contour_kwargs: - warnings.warn( - "Both 'levels' in contour_kwargs and 'hdi_probs' have been specified." - "Using 'hdi_probs' in favor of 'levels'.", - UserWarning, - ) - - if backend == "bokeh": - contour_kwargs["levels"] = contour_level_list - elif backend == "matplotlib": - contour_kwargs["levels"] = contour_level_list[1:] - - contourf_kwargs = _init_kwargs_dict(contourf_kwargs) - if "levels" in contourf_kwargs: - warnings.warn( - "Both 'levels' in contourf_kwargs and 'hdi_probs' have been specified." - "Using 'hdi_probs' in favor of 'levels'.", - UserWarning, - ) - contourf_kwargs["levels"] = contour_level_list - - lower, upper, density_q = [None] * 3 - - kde_plot_args = dict( - # Internal API - density=density, - lower=lower, - upper=upper, - density_q=density_q, - xmin=xmin, - xmax=xmax, - ymin=ymin, - ymax=ymax, - gridsize=gridsize, - # User Facing API that can be simplified - values=values, - values2=values2, - rug=rug, - label=label, - quantiles=quantiles, - rotated=rotated, - contour=contour, - fill_last=fill_last, - figsize=figsize, - textsize=textsize, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - contour_kwargs=contour_kwargs, - contourf_kwargs=contourf_kwargs, - pcolormesh_kwargs=pcolormesh_kwargs, - is_circular=is_circular, - ax=ax, - legend=legend, - backend_kwargs=backend_kwargs, - show=show, - return_glyph=return_glyph, - **kwargs, - ) - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_kde", "kdeplot", backend) - ax = plot(**kde_plot_args) - - return ax diff --git a/arviz/plots/khatplot.py b/arviz/plots/khatplot.py deleted file mode 100644 index 3493f69eb8..0000000000 --- a/arviz/plots/khatplot.py +++ /dev/null @@ -1,236 +0,0 @@ -"""Pareto tail indices plot.""" - -import logging -import warnings - -import numpy as np -from xarray import DataArray - -from ..rcparams import rcParams -from ..stats import ELPDData -from ..utils import get_coords -from .plot_utils import format_coords_as_labels, get_plotting_function - -_log = logging.getLogger(__name__) - - -def plot_khat( - khats, - color="C0", - xlabels=False, - show_hlines=False, - show_bins=False, - bin_format="{1:.1f}%", - annotate=False, - threshold=None, - hover_label=False, - hover_format="{1}", - figsize=None, - textsize=None, - coords=None, - legend=False, - markersize=None, - ax=None, - hlines_kwargs=None, - backend=None, - backend_kwargs=None, - show=None, - **kwargs -): - r"""Plot Pareto tail indices :math:`\hat{k}` for diagnosing convergence in PSIS-LOO. - - Parameters - ---------- - khats : ELPDData - The input Pareto tail indices to be plotted. - color : str or array_like, default "C0" - Colors of the scatter plot, if color is a str all dots will have the same color, - if it is the size of the observations, each dot will have the specified color, - otherwise, it will be interpreted as a list of the dims to be used for the color - code. If Matplotlib c argument is passed, it will override the color argument. - xlabels : bool, default False - Use coords as xticklabels. - show_hlines : bool, default False - Show the horizontal lines, by default at the values [0, 0.5, 0.7, 1]. - show_bins : bool, default False - Show the percentage of khats falling in each bin, as delimited by hlines. - bin_format : str, optional - The string is used as formatting guide calling ``bin_format.format(count, pct)``. - threshold : float, optional - Show the labels of k values larger than `threshold`. If ``None`` (default), no - observations will be highlighted. - hover_label : bool, default False - Show the datapoint label when hovering over it with the mouse. Requires an interactive - backend. - hover_format : str, default "{1}" - String used to format the hover label via ``hover_format.format(idx, coord_label)`` - figsize : (float, float), optional - Figure size. If ``None`` it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If ``None`` it will be autoscaled - based on `figsize`. - coords : mapping, optional - Coordinates of points to plot. **All** values are used for computation, but only a - a subset can be plotted for convenience. See :ref:`this section ` for - usage examples. - legend : bool, default False - Include a legend to the plot. Only taken into account when color argument is a dim name. - markersize : int, optional - markersize for scatter plot. Defaults to ``None`` in which case it will - be chosen based on autoscaling for figsize. - ax : axes, optional - Matplotlib axes or bokeh figures. - hlines_kwargs : dict, optional - Additional keywords passed to - :meth:`matplotlib.axes.Axes.hlines`. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :class:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show : bool, optional - Call backend show function. - kwargs : - Additional keywords passed to - :meth:`matplotlib.axes.Axes.scatter`. - - Returns - ------- - axes : matplotlib_axes or bokeh_figures - - See Also - -------- - psislw : Pareto smoothed importance sampling (PSIS). - - Examples - -------- - Plot estimated pareto shape parameters showing how many fall in each category. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> radon = az.load_arviz_data("radon") - >>> loo_radon = az.loo(radon, pointwise=True) - >>> az.plot_khat(loo_radon, show_bins=True) - - Show xlabels - - .. plot:: - :context: close-figs - - >>> centered_eight = az.load_arviz_data("centered_eight") - >>> khats = az.loo(centered_eight, pointwise=True).pareto_k - >>> az.plot_khat(khats, xlabels=True, threshold=1) - - Use custom color scheme - - .. plot:: - :context: close-figs - - >>> counties = radon.posterior.County[radon.constant_data.county_idx].values - >>> colors = [ - ... "blue" if county[-1] in ("A", "N") else "green" for county in counties - ... ] - >>> az.plot_khat(loo_radon, color=colors) - - Notes - ----- - The Generalized Pareto distribution (GPD) diagnoses convergence rates for importance - sampling. GPD has parameters offset, scale, and shape. The shape parameter (:math:`k`) - tells the distribution's number of finite moments. The pre-asymptotic convergence rate - of importance sampling can be estimated based on the fractional number of finite moments - of the importance ratio distribution. GPD is fitted to the largest importance ratios and - interprets the estimated shape parameter :math:`k`, i.e., :math:`\hat{k}` can then be - used as a diagnostic (most importantly if :math:`\hat{k} > 0.7`, then the convergence - rate is impractically low). See [1]_. - - References - ---------- - .. [1] Vehtari, A., Simpson, D., Gelman, A., Yao, Y., Gabry, J. (2024). - Pareto Smoothed Importance Sampling. Journal of Machine Learning - Research, 25(72):1-58. - - """ - if annotate: - _log.warning("annotate will be deprecated, please use threshold instead") - threshold = annotate - - if coords is None: - coords = {} - - if color is None: - color = "C0" - - if isinstance(khats, np.ndarray): - warnings.warn( - "support for arrays will be deprecated, please use ELPDData." - "The reason for this, is that we need to know the numbers of draws" - "sampled from the posterior", - FutureWarning, - ) - khats = khats.flatten() - xlabels = False - legend = False - dims = [] - good_k = None - else: - if isinstance(khats, ELPDData): - good_k = khats.good_k - khats = khats.pareto_k - else: - good_k = None - warnings.warn( - "support for DataArrays will be deprecated, please use ELPDData." - "The reason for this, is that we need to know the numbers of draws" - "sampled from the posterior", - FutureWarning, - ) - if not isinstance(khats, DataArray): - raise ValueError("Incorrect khat data input. Check the documentation") - - khats = get_coords(khats, coords) - dims = khats.dims - - n_data_points = khats.size - xdata = np.arange(n_data_points) - if isinstance(khats, DataArray): - coord_labels = format_coords_as_labels(khats) - else: - coord_labels = xdata.astype(str) - - plot_khat_kwargs = dict( - hover_label=hover_label, - hover_format=hover_format, - ax=ax, - figsize=figsize, - xdata=xdata, - khats=khats, - good_k=good_k, - kwargs=kwargs, - threshold=threshold, - coord_labels=coord_labels, - show_hlines=show_hlines, - show_bins=show_bins, - hlines_kwargs=hlines_kwargs, - xlabels=xlabels, - legend=legend, - color=color, - dims=dims, - textsize=textsize, - markersize=markersize, - n_data_points=n_data_points, - bin_format=bin_format, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_khat", "khatplot", backend) - axes = plot(**plot_khat_kwargs) - return axes diff --git a/arviz/plots/lmplot.py b/arviz/plots/lmplot.py deleted file mode 100644 index 3c55524187..0000000000 --- a/arviz/plots/lmplot.py +++ /dev/null @@ -1,380 +0,0 @@ -"""Plot regression figure.""" - -import warnings -from numbers import Integral -from itertools import repeat - -import xarray as xr -import numpy as np -from xarray.core.dataarray import DataArray - -from ..sel_utils import xarray_var_iter -from ..rcparams import rcParams -from .plot_utils import default_grid, filter_plotters_list, get_plotting_function - - -def _repeat_flatten_list(lst, n): - return [item for sublist in repeat(lst, n) for item in sublist] - - -def plot_lm( - y, - idata=None, - x=None, - y_model=None, - y_hat=None, - num_samples=50, - kind_pp="samples", - kind_model="lines", - xjitter=False, - plot_dim=None, - backend=None, - y_kwargs=None, - y_hat_plot_kwargs=None, - y_hat_fill_kwargs=None, - y_model_plot_kwargs=None, - y_model_fill_kwargs=None, - y_model_mean_kwargs=None, - backend_kwargs=None, - show=None, - figsize=None, - textsize=None, - axes=None, - legend=True, - grid=True, -): - """Posterior predictive and mean plots for regression-like data. - - Parameters - ---------- - y : str or DataArray or ndarray - If str, variable name from ``observed_data``. - idata : InferenceData, Optional - Optional only if ``y`` is not str. - x : str, tuple of strings, DataArray or array-like, optional - If str or tuple, variable name from ``constant_data``. - If ndarray, could be 1D, or 2D for multiple plots. - If None, coords name of ``y`` (``y`` should be DataArray). - y_model : str or Sequence, Optional - If str, variable name from ``posterior``. - Its dimensions should be same as ``y`` plus added chains and draws. - y_hat : str, Optional - If str, variable name from ``posterior_predictive``. - Its dimensions should be same as ``y`` plus added chains and draws. - num_samples : int, Optional, Default 50 - Significant if ``kind_pp`` is "samples" or ``kind_model`` is "lines". - Number of samples to be drawn from posterior predictive or - kind_pp : {"samples", "hdi"}, Default "samples" - Options to visualize uncertainty in data. - kind_model : {"lines", "hdi"}, Default "lines" - Options to visualize uncertainty in mean of the data. - plot_dim : str, Optional - Necessary if ``y`` is multidimensional. - backend : str, Optional - Select plotting backend {"matplotlib","bokeh"}. Default "matplotlib". - y_kwargs : dict, optional - Passed to :meth:`mpl:matplotlib.axes.Axes.plot` in matplotlib - and :meth:`bokeh:bokeh.plotting.Figure.circle` in bokeh - y_hat_plot_kwargs : dict, optional - Passed to :meth:`mpl:matplotlib.axes.Axes.plot` in matplotlib - and :meth:`bokeh:bokeh.plotting.Figure.circle` in bokeh - y_hat_fill_kwargs : dict, optional - Passed to :func:`arviz.plot_hdi` - y_model_plot_kwargs : dict, optional - Passed to :meth:`mpl:matplotlib.axes.Axes.plot` in matplotlib - and :meth:`bokeh:bokeh.plotting.Figure.line` in bokeh - y_model_fill_kwargs : dict, optional - Significant if ``kind_model`` is "hdi". Passed to :func:`arviz.plot_hdi` - y_model_mean_kwargs : dict, optional - Passed to :meth:`mpl:matplotlib.axes.Axes.plot` in matplotlib - and :meth:`bokeh:bokeh.plotting.Figure.line` in bokeh - backend_kwargs : dict, optional - These are kwargs specific to the backend being used. Passed to - :func:`matplotlib.pyplot.subplots` or - :func:`bokeh.plotting.figure`. - figsize : (float, float), optional - Figure size. If None it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If None it will be - autoscaled based on ``figsize``. - axes : 2D numpy array-like of matplotlib_axes or bokeh_figures, optional - A 2D array of locations into which to plot the densities. If not supplied, Arviz will create - its own array of plot areas (and return it). - show : bool, optional - Call backend show function. - legend : bool, optional - Add legend to figure. By default True. - grid : bool, optional - Add grid to figure. By default True. - - - Returns - ------- - axes: matplotlib axes or bokeh figures - - See Also - -------- - plot_ts : Plot timeseries data - plot_ppc : Plot for posterior/prior predictive checks - - Examples - -------- - Plot regression default plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> import numpy as np - >>> import xarray as xr - >>> idata = az.load_arviz_data('regression1d') - >>> x = xr.DataArray(np.linspace(0, 1, 100)) - >>> idata.posterior["y_model"] = idata.posterior["intercept"] + idata.posterior["slope"]*x - >>> az.plot_lm(idata=idata, y="y", x=x) - - Plot regression data and mean uncertainty - - .. plot:: - :context: close-figs - - >>> az.plot_lm(idata=idata, y="y", x=x, y_model="y_model") - - Plot regression data and mean uncertainty in hdi form - - .. plot:: - :context: close-figs - - >>> az.plot_lm( - ... idata=idata, y="y", x=x, y_model="y_model", kind_pp="hdi", kind_model="hdi" - ... ) - - Plot regression data for multi-dimensional y using plot_dim - - .. plot:: - :context: close-figs - - >>> data = az.from_dict( - ... observed_data = { "y": np.random.normal(size=(5, 7)) }, - ... posterior_predictive = {"y": np.random.randn(4, 1000, 5, 7) / 2}, - ... dims={"y": ["dim1", "dim2"]}, - ... coords={"dim1": range(5), "dim2": range(7)} - ... ) - >>> az.plot_lm(idata=data, y="y", plot_dim="dim1") - """ - if kind_pp not in ("samples", "hdi"): - raise ValueError("kind_ppc should be either samples or hdi") - - if kind_model not in ("lines", "hdi"): - raise ValueError("kind_model should be either lines or hdi") - - if y_hat is None and isinstance(y, str): - y_hat = y - - if isinstance(y, str): - y = idata.observed_data[y] - elif not isinstance(y, DataArray): - y = xr.DataArray(y) - - if len(y.dims) > 1 and plot_dim is None: - raise ValueError("Argument plot_dim is needed in case of multidimensional data") - - x_var_names = None - if isinstance(x, str): - x = idata.constant_data[x] - x_skip_dims = x.dims - elif isinstance(x, tuple): - x_var_names = x - x = idata.constant_data - x_skip_dims = x.dims - elif isinstance(x, DataArray): - x_skip_dims = x.dims - elif x is None: - x = y.coords[y.dims[0]] if plot_dim is None else y.coords[plot_dim] - x_skip_dims = x.dims - else: - x = xr.DataArray(x) - x_skip_dims = [x.dims[-1]] - - # If posterior is present in idata and y_hat is there, get its values - if isinstance(y_model, str): - if "posterior" not in idata.groups(): - warnings.warn("Posterior not found in idata", UserWarning) - y_model = None - elif hasattr(idata.posterior, y_model): - y_model = idata.posterior[y_model] - else: - warnings.warn("y_model not found in posterior", UserWarning) - y_model = None - - # If posterior_predictive is present in idata and y_hat is there, get its values - if isinstance(y_hat, str): - if "posterior_predictive" not in idata.groups(): - warnings.warn("posterior_predictive not found in idata", UserWarning) - y_hat = None - elif hasattr(idata.posterior_predictive, y_hat): - y_hat = idata.posterior_predictive[y_hat] - else: - warnings.warn("y_hat not found in posterior_predictive", UserWarning) - y_hat = None - - # Check if num_pp_smaples is valid and generate num_pp_smaples number of random indexes. - # Only needed if kind_pp="samples" or kind_model="lines". Not req for plotting hdi - pp_sample_ix = None - if (y_hat is not None and kind_pp == "samples") or ( - y_model is not None and kind_model == "lines" - ): - if y_hat is not None: - total_pp_samples = y_hat.sizes["chain"] * y_hat.sizes["draw"] - else: - total_pp_samples = y_model.sizes["chain"] * y_model.sizes["draw"] - - if ( - not isinstance(num_samples, Integral) - or num_samples < 1 - or num_samples > total_pp_samples - ): - raise TypeError(f"`num_samples` must be an integer between 1 and {total_pp_samples}.") - - pp_sample_ix = np.random.choice(total_pp_samples, size=num_samples, replace=False) - - # crucial step in case of multidim y - if plot_dim is None: - skip_dims = list(y.dims) - elif isinstance(plot_dim, str): - skip_dims = [plot_dim] - elif isinstance(plot_dim, tuple): - skip_dims = list(plot_dim) - - # Generate x axis plotters. - x = filter_plotters_list( - plotters=list( - xarray_var_iter( - x, - var_names=x_var_names, - skip_dims=set(x_skip_dims), - combined=True, - ) - ), - plot_kind="plot_lm", - ) - - # Generate y axis plotters - y = filter_plotters_list( - plotters=list( - xarray_var_iter( - y, - skip_dims=set(skip_dims), - combined=True, - ) - ), - plot_kind="plot_lm", - ) - - # If there are multiple x and multidimensional y, we need total of len(x)*len(y) graphs - len_y = len(y) - len_x = len(x) - length_plotters = len_x * len_y - y = _repeat_flatten_list(y, len_x) - x = _repeat_flatten_list(x, len_y) - - # Filter out the required values to generate plotters - if y_hat is not None: - if kind_pp == "samples": - y_hat = y_hat.stack(__sample__=("chain", "draw"))[..., pp_sample_ix] - skip_dims += ["__sample__"] - - y_hat = [ - tup - for _, tup in zip( - range(len_y), - xarray_var_iter( - y_hat, - skip_dims=set(skip_dims), - combined=True, - ), - ) - ] - - y_hat = _repeat_flatten_list(y_hat, len_x) - - # Filter out the required values to generate plotters - if y_model is not None: - if kind_model == "lines": - var_name = y_model.name if y_model.name else "y_model" - data = y_model.values - - total_samples = data.shape[0] * data.shape[1] - data = data.reshape(total_samples, *data.shape[2:]) - - if pp_sample_ix is not None: - data = data[pp_sample_ix] - - if plot_dim is not None: - # For plot_dim case, transpose to get dimension first - data = data.transpose(1, 0, 2)[..., 0] - - # Create plotter tuple(s) - if plot_dim is not None: - y_model = [(var_name, {}, {}, data) for _ in range(length_plotters)] - else: - y_model = [(var_name, {}, {}, data)] - y_model = _repeat_flatten_list(y_model, len_x) - - elif kind_model == "hdi": - var_name = y_model.name if y_model.name else "y_model" - data = y_model.values - - if plot_dim is not None: - # First transpose to get plot_dim first - data = data.transpose(2, 0, 1, 3) - # For plot_dim case, we just want HDI for first dimension - data = data[..., 0] - - # Reshape to (samples, points) - data = data.transpose(1, 2, 0).reshape(-1, data.shape[0]) - y_model = [(var_name, {}, {}, data) for _ in range(length_plotters)] - - else: - data = data.reshape(-1, data.shape[-1]) - y_model = [(var_name, {}, {}, data)] - y_model = _repeat_flatten_list(y_model, len_x) - - if len(y_model) == 1: - y_model = _repeat_flatten_list(y_model, len_x) - - rows, cols = default_grid(length_plotters) - - lmplot_kwargs = dict( - x=x, - y=y, - y_model=y_model, - y_hat=y_hat, - num_samples=num_samples, - kind_pp=kind_pp, - kind_model=kind_model, - length_plotters=length_plotters, - xjitter=xjitter, - rows=rows, - cols=cols, - y_kwargs=y_kwargs, - y_hat_plot_kwargs=y_hat_plot_kwargs, - y_hat_fill_kwargs=y_hat_fill_kwargs, - y_model_plot_kwargs=y_model_plot_kwargs, - y_model_fill_kwargs=y_model_fill_kwargs, - y_model_mean_kwargs=y_model_mean_kwargs, - backend_kwargs=backend_kwargs, - show=show, - figsize=figsize, - textsize=textsize, - axes=axes, - legend=legend, - grid=grid, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - plot = get_plotting_function("plot_lm", "lmplot", backend) - ax = plot(**lmplot_kwargs) - return ax diff --git a/arviz/plots/loopitplot.py b/arviz/plots/loopitplot.py deleted file mode 100644 index ae832c76ac..0000000000 --- a/arviz/plots/loopitplot.py +++ /dev/null @@ -1,224 +0,0 @@ -"""Plot LOO-PIT predictive checks of inference data.""" - -import numpy as np -from scipy import stats - -from ..labels import BaseLabeller -from ..rcparams import rcParams -from ..stats import loo_pit as _loo_pit -from ..stats.density_utils import kde -from .plot_utils import get_plotting_function - - -def plot_loo_pit( - idata=None, - y=None, - y_hat=None, - log_weights=None, - ecdf=False, - ecdf_fill=True, - n_unif=100, - use_hdi=False, - hdi_prob=None, - figsize=None, - textsize=None, - labeller=None, - color="C0", - legend=True, - ax=None, - plot_kwargs=None, - plot_unif_kwargs=None, - hdi_kwargs=None, - fill_kwargs=None, - backend=None, - backend_kwargs=None, - show=None, -): - """Plot Leave-One-Out (LOO) probability integral transformation (PIT) predictive checks. - - Parameters - ---------- - idata : InferenceData - :class:`arviz.InferenceData` object. - y : array, DataArray or str - Observed data. If str, ``idata`` must be present and contain the observed data group - y_hat : array, DataArray or str - Posterior predictive samples for ``y``. It must have the same shape as y plus an - extra dimension at the end of size n_samples (chains and draws stacked). If str or - None, ``idata`` must contain the posterior predictive group. If None, ``y_hat`` is taken - equal to y, thus, y must be str too. - log_weights : array or DataArray - Smoothed log_weights. It must have the same shape as ``y_hat`` - ecdf : bool, optional - Plot the difference between the LOO-PIT Empirical Cumulative Distribution Function - (ECDF) and the uniform CDF instead of LOO-PIT kde. - In this case, instead of overlaying uniform distributions, the beta ``hdi_prob`` - around the theoretical uniform CDF is shown. This approximation only holds - for large S and ECDF values not very close to 0 nor 1. For more information, see - `Vehtari et al. (2021)`, `Appendix G `_. - ecdf_fill : bool, optional - Use :meth:`matplotlib.axes.Axes.fill_between` to mark the area - inside the credible interval. Otherwise, plot the - border lines. - n_unif : int, optional - Number of datasets to simulate and overlay from the uniform distribution. - use_hdi : bool, optional - Compute expected hdi values instead of overlaying the sampled uniform distributions. - hdi_prob : float, optional - Probability for the highest density interval. Works with ``use_hdi=True`` or ``ecdf=True``. - figsize : (float, float), optional - If None, size is (8 + numvars, 8 + numvars) - textsize : int, optional - Text size for labels. If None it will be autoscaled based on ``figsize``. - labeller : Labeller, optional - Class providing the method ``make_pp_label`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - color : str or array_like, optional - Color of the LOO-PIT estimated pdf plot. If ``plot_unif_kwargs`` has no "color" key, - a slightly lighter color than this argument will be used for the uniform kde lines. - This will ensure that LOO-PIT kde and uniform kde have different default colors. - legend : bool, optional - Show the legend of the figure. - ax : axes, optional - Matplotlib axes or bokeh figures. - plot_kwargs : dict, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.plot` - for LOO-PIT line (kde or ECDF) - plot_unif_kwargs : dict, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.plot` for - overlaid uniform distributions or for beta credible interval - lines if ``ecdf=True`` - hdi_kwargs : dict, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.axhspan` - fill_kwargs : dict, optional - Additional kwargs passed to :meth:`matplotlib.axes.Axes.fill_between` - backend : str, optional - Select plotting backend {"matplotlib","bokeh"}. Default "matplotlib". - backend_kwargs : bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or - :func:`bokeh.plotting.figure`. For additional documentation - check the plotting method of the backend. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib_axes or bokeh_figures - - See Also - -------- - plot_bpv : Plot Bayesian p-value for observed data and Posterior/Prior predictive. - loo_pit : Compute leave one out (PSIS-LOO) probability integral transform (PIT) values. - - References - ---------- - * Gabry et al. (2017) see https://arxiv.org/abs/1709.01449 - * https://mc-stan.org/bayesplot/reference/PPC-loo.html - * Gelman et al. BDA (2014) Section 6.3 - - Examples - -------- - Plot LOO-PIT predictive checks overlaying the KDE of the LOO-PIT values to several - realizations of uniform variable sampling with the same number of observations. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> idata = az.load_arviz_data("radon") - >>> az.plot_loo_pit(idata=idata, y="y") - - Fill the area containing the 94% highest density interval of the difference between uniform - variables empirical CDF and the real uniform CDF. A LOO-PIT ECDF clearly outside of these - theoretical boundaries indicates that the observations and the posterior predictive - samples do not follow the same distribution. - - .. plot:: - :context: close-figs - - >>> az.plot_loo_pit(idata=idata, y="y", ecdf=True) - - """ - if ecdf and use_hdi: - raise ValueError("use_hdi is incompatible with ecdf plot") - - if labeller is None: - labeller = BaseLabeller() - - loo_pit = _loo_pit(idata=idata, y=y, y_hat=y_hat, log_weights=log_weights) - loo_pit = loo_pit.flatten() if isinstance(loo_pit, np.ndarray) else loo_pit.values.flatten() - - loo_pit_ecdf = None - unif_ecdf = None - p975 = None - p025 = None - loo_pit_kde = None - hdi_odds = None - unif = None - x_vals = None - - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - if ecdf: - loo_pit.sort() - n_data_points = loo_pit.size - loo_pit_ecdf = np.arange(n_data_points) / n_data_points - # ideal unnormalized ECDF of uniform distribution with n_data_points points - # it is used indistinctively as x or p(u>> import arviz as az - >>> idata = az.load_arviz_data("centered_eight") - >>> coords = {"school": ["Deerfield", "Lawrenceville"]} - >>> az.plot_mcse( - ... idata, var_names=["mu", "theta"], coords=coords - ... ) - - """ - mean_mcse = None - sd_mcse = None - - if coords is None: - coords = {} - if "chain" in coords or "draw" in coords: - raise ValueError("chain and draw are invalid coordinates for this kind of plot") - - if labeller is None: - labeller = BaseLabeller() - - data = get_coords(convert_to_dataset(idata, group="posterior"), coords) - var_names = _var_names(var_names, data, filter_vars) - - probs = np.linspace(1 / n_points, 1 - 1 / n_points, n_points) - mcse_dataset = xr.concat( - [mcse(data, var_names=var_names, method="quantile", prob=p) for p in probs], dim="mcse_dim" - ) - - plotters = filter_plotters_list( - list(xarray_var_iter(mcse_dataset, var_names=var_names, skip_dims={"mcse_dim"})), - "plot_mcse", - ) - length_plotters = len(plotters) - rows, cols = default_grid(length_plotters, grid=grid) - - if extra_methods: - mean_mcse = mcse(data, var_names=var_names, method="mean") - sd_mcse = mcse(data, var_names=var_names, method="sd") - - mcse_kwargs = dict( - ax=ax, - plotters=plotters, - length_plotters=length_plotters, - rows=rows, - cols=cols, - figsize=figsize, - errorbar=errorbar, - rug=rug, - data=data, - probs=probs, - kwargs=kwargs, - extra_methods=extra_methods, - mean_mcse=mean_mcse, - sd_mcse=sd_mcse, - textsize=textsize, - labeller=labeller, - text_kwargs=text_kwargs, - rug_kwargs=rug_kwargs, - extra_kwargs=extra_kwargs, - idata=idata, - rug_kind=rug_kind, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_mcse", "mcseplot", backend) - ax = plot(**mcse_kwargs) - return ax diff --git a/arviz/plots/pairplot.py b/arviz/plots/pairplot.py deleted file mode 100644 index 9eb6a9ffd4..0000000000 --- a/arviz/plots/pairplot.py +++ /dev/null @@ -1,281 +0,0 @@ -"""Plot a scatter, kde and/or hexbin of sampled parameters.""" - -import warnings -from typing import List, Optional, Union - -import numpy as np - -from ..data import convert_to_dataset -from ..labels import BaseLabeller -from ..sel_utils import xarray_to_ndarray, xarray_var_iter -from .plot_utils import get_plotting_function -from ..rcparams import rcParams -from ..utils import _var_names, get_coords - - -def plot_pair( - data, - group="posterior", - var_names: Optional[List[str]] = None, - filter_vars: Optional[str] = None, - combine_dims=None, - coords=None, - marginals=False, - figsize=None, - textsize=None, - kind: Union[str, List[str]] = "scatter", - gridsize="auto", - divergences=False, - colorbar=False, - labeller=None, - ax=None, - divergences_kwargs=None, - scatter_kwargs=None, - kde_kwargs=None, - hexbin_kwargs=None, - backend=None, - backend_kwargs=None, - marginal_kwargs=None, - point_estimate=None, - point_estimate_kwargs=None, - point_estimate_marker_kwargs=None, - reference_values=None, - reference_values_kwargs=None, - show=None, -): - """ - Plot a scatter, kde and/or hexbin matrix with (optional) marginals on the diagonal. - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of :func:`arviz.convert_to_dataset` for details - group: str, optional - Specifies which InferenceData group should be plotted. Defaults to 'posterior'. - var_names: list of variable names, optional - Variables to be plotted, if None all variable are plotted. Prefix the - variables by ``~`` when you want to exclude them from the plot. - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - combine_dims : set_like of str, optional - List of dimensions to reduce. Defaults to reducing only the "chain" and "draw" dimensions. - See the :ref:`this section ` for usage examples. - coords: mapping, optional - Coordinates of var_names to be plotted. Passed to :meth:`xarray.Dataset.sel`. - marginals: bool, optional - If True pairplot will include marginal distributions for every variable - figsize: figure size tuple - If None, size is (8 + numvars, 8 + numvars) - textsize: int - Text size for labels. If None it will be autoscaled based on ``figsize``. - kind : str or List[str] - Type of plot to display (scatter, kde and/or hexbin) - gridsize: int or (int, int), optional - Only works for ``kind=hexbin``. The number of hexagons in the x-direction. - The corresponding number of hexagons in the y-direction is chosen - such that the hexagons are approximately regular. Alternatively, gridsize - can be a tuple with two elements specifying the number of hexagons - in the x-direction and the y-direction. - divergences: Boolean - If True divergences will be plotted in a different color, only if group is either 'prior' - or 'posterior'. - colorbar: bool - If True a colorbar will be included as part of the plot (Defaults to False). - Only works when ``kind=hexbin`` - labeller : labeller instance, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot. - Read the :ref:`label_guide` for more details and usage examples. - ax: axes, optional - Matplotlib axes or bokeh figures. - divergences_kwargs: dicts, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.scatter` for divergences - scatter_kwargs: - Additional keywords passed to :meth:`matplotlib.axes.Axes.scatter` when using scatter kind - kde_kwargs: dict, optional - Additional keywords passed to :func:`arviz.plot_kde` when using kde kind - hexbin_kwargs: dict, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.hexbin` when - using hexbin kind - backend: str, optional - Select plotting backend {"matplotlib","bokeh"}. Default "matplotlib". - backend_kwargs: bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or - :func:`bokeh.plotting.figure`. - marginal_kwargs: dict, optional - Additional keywords passed to :func:`arviz.plot_dist`, modifying the - marginal distributions plotted in the diagonal. - point_estimate: str, optional - Select point estimate from 'mean', 'mode' or 'median'. The point estimate will be - plotted using a scatter marker and vertical/horizontal lines. - point_estimate_kwargs: dict, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.axvline`, - :meth:`matplotlib.axes.Axes.axhline` (matplotlib) or - :class:`bokeh:bokeh.models.Span` (bokeh) - point_estimate_marker_kwargs: dict, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.scatter` - or :meth:`bokeh:bokeh.plotting.Figure.square` in point - estimate plot. Not available in bokeh - reference_values: dict, optional - Reference values for the plotted variables. The Reference values will be plotted - using a scatter marker - reference_values_kwargs: dict, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.plot` or - :meth:`bokeh:bokeh.plotting.Figure.circle` in reference values plot - show: bool, optional - Call backend show function. - - Returns - ------- - axes: matplotlib axes or bokeh figures - - Examples - -------- - KDE Pair Plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> centered = az.load_arviz_data('centered_eight') - >>> coords = {'school': ['Choate', 'Deerfield']} - >>> az.plot_pair(centered, - >>> var_names=['theta', 'mu', 'tau'], - >>> kind='kde', - >>> coords=coords, - >>> divergences=True, - >>> textsize=18) - - Hexbin pair plot - - .. plot:: - :context: close-figs - - >>> az.plot_pair(centered, - >>> var_names=['theta', 'mu'], - >>> coords=coords, - >>> textsize=18, - >>> kind='hexbin') - - Pair plot showing divergences and select variables with regular expressions - - .. plot:: - :context: close-figs - - >>> az.plot_pair(centered, - ... var_names=['^t', 'mu'], - ... filter_vars="regex", - ... coords=coords, - ... divergences=True, - ... textsize=18) - """ - valid_kinds = ["scatter", "kde", "hexbin"] - kind_boolean: Union[bool, List[bool]] - if isinstance(kind, str): - kind_boolean = kind in valid_kinds - else: - kind_boolean = [kind[i] in valid_kinds for i in range(len(kind))] - if not np.all(kind_boolean): - raise ValueError(f"Plot type {kind} not recognized. Plot type must be in {valid_kinds}") - - if coords is None: - coords = {} - - if labeller is None: - labeller = BaseLabeller() - - # Get posterior draws and combine chains - dataset = convert_to_dataset(data, group=group) - var_names = _var_names(var_names, dataset, filter_vars) - plotters = list( - xarray_var_iter( - get_coords(dataset, coords), var_names=var_names, skip_dims=combine_dims, combined=True - ) - ) - flat_var_names = [] - flat_ref_slices = [] - flat_var_labels = [] - for var_name, sel, isel, _ in plotters: - dims = [dim for dim in dataset[var_name].dims if dim not in ["chain", "draw"]] - flat_var_names.append(var_name) - flat_ref_slices.append(tuple(isel[dim] if dim in isel else slice(None) for dim in dims)) - flat_var_labels.append(labeller.make_label_vert(var_name, sel, isel)) - - divergent_data = None - diverging_mask = None - - # Assigning divergence group based on group param - if group == "posterior": - divergent_group = "sample_stats" - elif group == "prior": - divergent_group = "sample_stats_prior" - else: - divergences = False - - # Get diverging draws and combine chains - if divergences: - if hasattr(data, divergent_group) and hasattr(getattr(data, divergent_group), "diverging"): - divergent_data = convert_to_dataset(data, group=divergent_group) - _, diverging_mask = xarray_to_ndarray( - divergent_data, var_names=("diverging",), combined=True - ) - diverging_mask = np.squeeze(diverging_mask) - else: - divergences = False - warnings.warn( - "Divergences data not found, plotting without divergences. " - "Make sure the sample method provides divergences data and " - "that it is present in the `diverging` field of `sample_stats` " - "or `sample_stats_prior` or set divergences=False", - UserWarning, - ) - - if gridsize == "auto": - gridsize = int(dataset.sizes["draw"] ** 0.35) - - numvars = len(flat_var_names) - - if numvars < 2: - raise ValueError("Number of variables to be plotted must be 2 or greater.") - - pairplot_kwargs = dict( - ax=ax, - plotters=plotters, - numvars=numvars, - figsize=figsize, - textsize=textsize, - kind=kind, - scatter_kwargs=scatter_kwargs, - kde_kwargs=kde_kwargs, - hexbin_kwargs=hexbin_kwargs, - gridsize=gridsize, - colorbar=colorbar, - divergences=divergences, - diverging_mask=diverging_mask, - divergences_kwargs=divergences_kwargs, - flat_var_names=flat_var_names, - flat_ref_slices=flat_ref_slices, - flat_var_labels=flat_var_labels, - backend_kwargs=backend_kwargs, - marginal_kwargs=marginal_kwargs, - show=show, - marginals=marginals, - point_estimate=point_estimate, - point_estimate_kwargs=point_estimate_kwargs, - point_estimate_marker_kwargs=point_estimate_marker_kwargs, - reference_values=reference_values, - reference_values_kwargs=reference_values_kwargs, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_pair", "pairplot", backend) - ax = plot(**pairplot_kwargs) - return ax diff --git a/arviz/plots/parallelplot.py b/arviz/plots/parallelplot.py deleted file mode 100644 index ec026facda..0000000000 --- a/arviz/plots/parallelplot.py +++ /dev/null @@ -1,204 +0,0 @@ -"""Parallel coordinates plot showing posterior points with and without divergences marked.""" - -import numpy as np -from scipy.stats import rankdata - -from ..data import convert_to_dataset -from ..labels import BaseLabeller -from ..sel_utils import xarray_to_ndarray -from ..rcparams import rcParams -from ..stats.stats_utils import stats_variance_2d as svar -from ..utils import _numba_var, _var_names, get_coords -from .plot_utils import get_plotting_function - - -def plot_parallel( - data, - var_names=None, - filter_vars=None, - coords=None, - figsize=None, - textsize=None, - legend=True, - colornd="k", - colord="C1", - shadend=0.025, - labeller=None, - ax=None, - norm_method=None, - backend=None, - backend_config=None, - backend_kwargs=None, - show=None, -): - """ - Plot parallel coordinates plot showing posterior points with and without divergences. - - Described by https://arxiv.org/abs/1709.01449 - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object - refer to documentation of :func:`arviz.convert_to_dataset` for details - var_names: list of variable names - Variables to be plotted, if `None` all variables are plotted. Can be used to change the - order of the plotted variables. Prefix the variables by ``~`` when you want to exclude - them from the plot. - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - coords: mapping, optional - Coordinates of ``var_names`` to be plotted. - Passed to :meth:`xarray.Dataset.sel`. - figsize: tuple - Figure size. If None it will be defined automatically. - textsize: float - Text size scaling factor for labels, titles and lines. If None it will be autoscaled based - on ``figsize``. - legend: bool - Flag for plotting legend (defaults to True) - colornd: valid matplotlib color - color for non-divergent points. Defaults to 'k' - colord: valid matplotlib color - color for divergent points. Defaults to 'C1' - shadend: float - Alpha blending value for non-divergent points, between 0 (invisible) and 1 (opaque). - Defaults to .025 - labeller : labeller instance, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot. - Read the :ref:`label_guide` for more details and usage examples. - ax: axes, optional - Matplotlib axes or bokeh figures. - norm_method: str - Method for normalizing the data. Methods include normal, minmax and rank. - Defaults to none. - backend: str, optional - Select plotting backend {"matplotlib","bokeh"}. Default "matplotlib". - backend_config: dict, optional - Currently specifies the bounds to use for bokeh axes. - Defaults to value set in ``rcParams``. - backend_kwargs: bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or - :func:`bokeh.plotting.figure`. - show: bool, optional - Call backend show function. - - Returns - ------- - axes: matplotlib axes or bokeh figures - - See Also - -------- - plot_pair : Plot a scatter, kde and/or hexbin matrix with (optional) marginals on the diagonal. - plot_trace : Plot distribution (histogram or kernel density estimates) and sampled values - or rank plot - - Examples - -------- - Plot default parallel plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('centered_eight') - >>> az.plot_parallel(data, var_names=["mu", "tau"]) - - - Plot parallel plot with normalization - - .. plot:: - :context: close-figs - - >>> az.plot_parallel(data, var_names=["theta", "tau", "mu"], norm_method="normal") - - Plot parallel plot with minmax - - .. plot:: - :context: close-figs - - >>> ax = az.plot_parallel(data, var_names=["theta", "tau", "mu"], norm_method="minmax") - >>> ax.set_xticklabels(ax.get_xticklabels(), rotation=45) - - Plot parallel plot with rank - - .. plot:: - :context: close-figs - - >>> ax = az.plot_parallel(data, var_names=["theta", "tau", "mu"], norm_method="rank") - >>> ax.set_xticklabels(ax.get_xticklabels(), rotation=45) - """ - if coords is None: - coords = {} - - if labeller is None: - labeller = BaseLabeller() - - # Get diverging draws and combine chains - divergent_data = convert_to_dataset(data, group="sample_stats") - _, diverging_mask = xarray_to_ndarray( - divergent_data, - var_names=("diverging",), - combined=True, - ) - diverging_mask = np.squeeze(diverging_mask) - - # Get posterior draws and combine chains - posterior_data = convert_to_dataset(data, group="posterior") - var_names = _var_names(var_names, posterior_data, filter_vars) - var_names, _posterior = xarray_to_ndarray( - get_coords(posterior_data, coords), - var_names=var_names, - combined=True, - label_fun=labeller.make_label_vert, - ) - if len(var_names) < 2: - raise ValueError("Number of variables to be plotted must be 2 or greater.") - if norm_method is not None: - if norm_method == "normal": - mean = np.mean(_posterior, axis=1) - if _posterior.ndim <= 2: - standard_deviation = np.sqrt(_numba_var(svar, np.var, _posterior, axis=1)) - else: - standard_deviation = np.std(_posterior, axis=1) - for i in range(0, np.shape(mean)[0]): - _posterior[i, :] = (_posterior[i, :] - mean[i]) / standard_deviation[i] - elif norm_method == "minmax": - min_elem = np.min(_posterior, axis=1) - max_elem = np.max(_posterior, axis=1) - for i in range(0, np.shape(min_elem)[0]): - _posterior[i, :] = ((_posterior[i, :]) - min_elem[i]) / (max_elem[i] - min_elem[i]) - elif norm_method == "rank": - _posterior = rankdata(_posterior, axis=1, method="average") - else: - raise ValueError(f"{norm_method} is not supported. Use normal, minmax or rank.") - - parallel_kwargs = dict( - ax=ax, - colornd=colornd, - colord=colord, - shadend=shadend, - diverging_mask=diverging_mask, - posterior=_posterior, - textsize=textsize, - var_names=var_names, - legend=legend, - figsize=figsize, - backend_kwargs=backend_kwargs, - backend_config=backend_config, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_parallel", "parallelplot", backend) - ax = plot(**parallel_kwargs) - - return ax diff --git a/arviz/plots/plot_utils.py b/arviz/plots/plot_utils.py deleted file mode 100644 index af5ec992de..0000000000 --- a/arviz/plots/plot_utils.py +++ /dev/null @@ -1,599 +0,0 @@ -"""Utilities for plotting.""" - -import importlib -import warnings -from typing import Any, Dict - -import matplotlib as mpl -import numpy as np -import packaging -from matplotlib.colors import to_hex -from scipy.stats import mode, rankdata -from scipy.interpolate import CubicSpline - - -from ..rcparams import rcParams -from ..stats.density_utils import kde -from ..stats import hdi - -KwargSpec = Dict[str, Any] - - -def make_2d(ary): - """Convert any array into a 2d numpy array. - - In case the array is already more than 2 dimensional, will ravel the - dimensions after the first. - """ - dim_0, *_ = np.atleast_1d(ary).shape - return ary.reshape(dim_0, -1, order="F") - - -def _scale_fig_size(figsize, textsize, rows=1, cols=1): - """Scale figure properties according to rows and cols. - - Parameters - ---------- - figsize : float or None - Size of figure in inches - textsize : float or None - fontsize - rows : int - Number of rows - cols : int - Number of columns - - Returns - ------- - figsize : float or None - Size of figure in inches - ax_labelsize : int - fontsize for axes label - titlesize : int - fontsize for title - xt_labelsize : int - fontsize for axes ticks - linewidth : int - linewidth - markersize : int - markersize - """ - params = mpl.rcParams - rc_width, rc_height = tuple(params["figure.figsize"]) - rc_ax_labelsize = params["axes.labelsize"] - rc_titlesize = params["axes.titlesize"] - rc_xt_labelsize = params["xtick.labelsize"] - rc_linewidth = params["lines.linewidth"] - rc_markersize = params["lines.markersize"] - if isinstance(rc_ax_labelsize, str): - rc_ax_labelsize = 15 - if isinstance(rc_titlesize, str): - rc_titlesize = 16 - if isinstance(rc_xt_labelsize, str): - rc_xt_labelsize = 14 - - if figsize is None: - width, height = rc_width, rc_height - sff = 1 if (rows == cols == 1) else 1.15 - width = width * cols * sff - height = height * rows * sff - else: - width, height = figsize - - if textsize is not None: - scale_factor = textsize / rc_xt_labelsize - elif rows == cols == 1: - scale_factor = ((width * height) / (rc_width * rc_height)) ** 0.5 - else: - scale_factor = 1 - - ax_labelsize = rc_ax_labelsize * scale_factor - titlesize = rc_titlesize * scale_factor - xt_labelsize = rc_xt_labelsize * scale_factor - linewidth = rc_linewidth * scale_factor - markersize = rc_markersize * scale_factor - - return (width, height), ax_labelsize, titlesize, xt_labelsize, linewidth, markersize - - -def default_grid(n_items, grid=None, max_cols=4, min_cols=3): # noqa: D202 - """Make a grid for subplots. - - Tries to get as close to sqrt(n_items) x sqrt(n_items) as it can, - but allows for custom logic - - Parameters - ---------- - n_items : int - Number of panels required - grid : tuple - Number of rows and columns - max_cols : int - Maximum number of columns, inclusive - min_cols : int - Minimum number of columns, inclusive - - Returns - ------- - (int, int) - Rows and columns, so that rows * columns >= n_items - """ - - if grid is None: - - def in_bounds(val): - return np.clip(val, min_cols, max_cols) - - if n_items <= max_cols: - return 1, n_items - ideal = in_bounds(round(n_items**0.5)) - - for offset in (0, 1, -1, 2, -2): - cols = in_bounds(ideal + offset) - rows, extra = divmod(n_items, cols) - if extra == 0: - return rows, cols - return n_items // ideal + 1, ideal - else: - rows, cols = grid - if rows * cols < n_items: - raise ValueError("The number of rows times columns is less than the number of subplots") - if (rows * cols) - n_items >= cols: - warnings.warn("The number of rows times columns is larger than necessary") - return rows, cols - - -def format_sig_figs(value, default=None): - """Get a default number of significant figures. - - Gives the integer part or `default`, whichever is bigger. - - Examples - -------- - 0.1234 --> 0.12 - 1.234 --> 1.2 - 12.34 --> 12 - 123.4 --> 123 - """ - if default is None: - default = 2 - if value == 0: - return 1 - return max(int(np.log10(np.abs(value))) + 1, default) - - -def round_num(n, round_to): - """ - Return a string representing a number with `round_to` significant figures. - - Parameters - ---------- - n : float - number to round - round_to : int - number of significant figures - """ - sig_figs = format_sig_figs(n, round_to) - return "{n:.{sig_figs}g}".format(n=n, sig_figs=sig_figs) - - -def color_from_dim(dataarray, dim_name): - """Return colors and color mapping of a DataArray using coord values as color code. - - Parameters - ---------- - dataarray : xarray.DataArray - dim_name : str - dimension whose coordinates will be used as color code. - - Returns - ------- - colors : array of floats - Array of colors (as floats for use with a cmap) for each element in the dataarray. - color_mapping : mapping coord_value -> float - Mapping from coord values to corresponding color - """ - present_dims = dataarray.dims - coord_values = dataarray[dim_name].values - unique_coords = set(coord_values) - color_mapping = {coord: num / len(unique_coords) for num, coord in enumerate(unique_coords)} - if len(present_dims) > 1: - multi_coords = dataarray.coords.to_index() - coord_idx = present_dims.index(dim_name) - colors = [color_mapping[coord[coord_idx]] for coord in multi_coords] - else: - colors = [color_mapping[coord] for coord in coord_values] - return colors, color_mapping - - -def vectorized_to_hex(c_values, keep_alpha=False): - """Convert a color (including vector of colors) to hex. - - Parameters - ---------- - c: Matplotlib color - - keep_alpha: boolean - to select if alpha values should be kept in the final hex values. - - Returns - ------- - rgba_hex : vector of hex values - """ - try: - hex_color = to_hex(c_values, keep_alpha) - - except ValueError: - hex_color = [to_hex(color, keep_alpha) for color in c_values] - return hex_color - - -def format_coords_as_labels(dataarray, skip_dims=None): - """Format 1d or multi-d dataarray coords as strings. - - Parameters - ---------- - dataarray : xarray.DataArray - DataArray whose coordinates will be converted to labels. - skip_dims : str of list_like, optional - Dimensions whose values should not be included in the labels - """ - if skip_dims is None: - coord_labels = dataarray.coords.to_index() - else: - coord_labels = dataarray.coords.to_index().droplevel(skip_dims).drop_duplicates() - coord_labels = coord_labels.values - if isinstance(coord_labels[0], tuple): - fmt = ", ".join(["{}" for _ in coord_labels[0]]) - return np.array([fmt.format(*x) for x in coord_labels]) - return np.array([f"{s}" for s in coord_labels]) - - -def set_xticklabels(ax, coord_labels): - """Set xticklabels to label list using Matplotlib default formatter.""" - ax.xaxis.get_major_locator().set_params(nbins=9, steps=[1, 2, 5, 10]) - xticks = ax.get_xticks().astype(np.int64) - xticks = xticks[(xticks >= 0) & (xticks < len(coord_labels))] - if len(xticks) > len(coord_labels): - ax.set_xticks(np.arange(len(coord_labels))) - ax.set_xticklabels(coord_labels) - else: - ax.set_xticks(xticks) - ax.set_xticklabels(coord_labels[xticks]) - - -def filter_plotters_list(plotters, plot_kind): - """Cut list of plotters so that it is at most of length "plot.max_subplots".""" - max_plots = rcParams["plot.max_subplots"] - max_plots = len(plotters) if max_plots is None else max_plots - if len(plotters) > max_plots: - warnings.warn( - "rcParams['plot.max_subplots'] ({max_plots}) is smaller than the number " - "of variables to plot ({len_plotters}) in {plot_kind}, generating only " - "{max_plots} plots".format( - max_plots=max_plots, len_plotters=len(plotters), plot_kind=plot_kind - ), - UserWarning, - ) - return plotters[:max_plots] - return plotters - - -def get_plotting_function(plot_name, plot_module, backend): - """Return plotting function for correct backend.""" - _backend = { - "mpl": "matplotlib", - "bokeh": "bokeh", - "matplotlib": "matplotlib", - } - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - try: - backend = _backend[backend] - except KeyError as err: - raise KeyError( - f"Backend {backend} is not implemented. Try backend in {set(_backend.values())}" - ) from err - - if backend == "bokeh": - try: - import bokeh - - assert packaging.version.parse(bokeh.__version__) >= packaging.version.parse("1.4.0") - - except (ImportError, AssertionError) as err: - raise ImportError( - "'bokeh' backend needs Bokeh (1.4.0+) installed. Please upgrade or install" - ) from err - - # Perform import of plotting method - # TODO: Convert module import to top level for all plots - module = importlib.import_module(f"arviz.plots.backends.{backend}.{plot_module}") - - plotting_method = getattr(module, plot_name) - - return plotting_method - - -def calculate_point_estimate(point_estimate, values, bw="default", circular=False, skipna=False): - """Validate and calculate the point estimate. - - Parameters - ---------- - point_estimate : Optional[str] - Plot point estimate per variable. Values should be 'mean', 'median', 'mode' or None. - Defaults to 'auto' i.e. it falls back to default set in rcParams. - values : 1-d array - bw: Optional[float or str] - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be - one of "scott", "silverman", "isj" or "experimental" when `circular` is False - and "taylor" (for now) when `circular` is True. - Defaults to "default" which means "experimental" when variable is not circular - and "taylor" when it is. - circular: Optional[bool] - If True, it interprets the values passed are from a circular variable measured in radians - and a circular KDE is used. Only valid for 1D KDE. Defaults to False. - skipna=True, - If true ignores nan values when computing the hdi. Defaults to false. - - Returns - ------- - point_value : float - best estimate of data distribution - """ - point_value = None - if point_estimate == "auto": - point_estimate = rcParams["plot.point_estimate"] - elif point_estimate not in ("mean", "median", "mode", None): - raise ValueError( - f"Point estimate should be 'mean', 'median', 'mode' or None, not {point_estimate}" - ) - if point_estimate == "mean": - point_value = np.nanmean(values) if skipna else np.mean(values) - elif point_estimate == "mode": - if values.dtype.kind == "f": - if bw == "default": - bw = "taylor" if circular else "experimental" - x, density = kde(values, circular=circular, bw=bw) - point_value = x[np.argmax(density)] - else: - point_value = int(mode(values).mode) - elif point_estimate == "median": - point_value = np.nanmedian(values) if skipna else np.median(values) - return point_value - - -def plot_point_interval( - ax, - values, - point_estimate, - hdi_prob, - quartiles, - linewidth, - markersize, - markercolor, - marker, - rotated, - intervalcolor, - backend="matplotlib", -): - """Plot point intervals. - - Translates the data and represents them as point and interval summaries. - - Parameters - ---------- - ax : axes - Matplotlib axes - values : array-like - Values to plot - point_estimate : str - Plot point estimate per variable. - linewidth : int - Line width throughout. - quartiles : bool - If True then the quartile interval will be plotted with the HDI. - markersize : int - Markersize throughout. - markercolor: string - Color of the marker. - marker: string - Shape of the marker. - hdi_prob : float - Valid only when point_interval is True. Plots HDI for chosen percentage of density. - rotated : bool - Whether to rotate the dot plot by 90 degrees. - intervalcolor : string - Color of the interval. - backend : string, optional - Matplotlib or Bokeh. - """ - endpoint = (1 - hdi_prob) / 2 - if quartiles: - qlist_interval = [endpoint, 0.25, 0.75, 1 - endpoint] - else: - qlist_interval = [endpoint, 1 - endpoint] - quantiles_interval = np.quantile(values, qlist_interval) - - quantiles_interval[0], quantiles_interval[-1] = hdi( - values.flatten(), hdi_prob, multimodal=False - ) - mid = len(quantiles_interval) // 2 - param_iter = zip(np.linspace(2 * linewidth, linewidth, mid, endpoint=True)[-1::-1], range(mid)) - - if backend == "matplotlib": - for width, j in param_iter: - if rotated: - ax.vlines( - 0, - quantiles_interval[j], - quantiles_interval[-(j + 1)], - linewidth=width, - color=intervalcolor, - ) - else: - ax.hlines( - 0, - quantiles_interval[j], - quantiles_interval[-(j + 1)], - linewidth=width, - color=intervalcolor, - ) - - if point_estimate: - point_value = calculate_point_estimate(point_estimate, values) - if rotated: - ax.plot( - 0, - point_value, - marker, - markersize=markersize, - color=markercolor, - ) - else: - ax.plot( - point_value, - 0, - marker, - markersize=markersize, - color=markercolor, - ) - else: - for width, j in param_iter: - if rotated: - ax.line( - [0, 0], - [quantiles_interval[j], quantiles_interval[-(j + 1)]], - line_width=width, - color=intervalcolor, - ) - else: - ax.line( - [quantiles_interval[j], quantiles_interval[-(j + 1)]], - [0, 0], - line_width=width, - color=intervalcolor, - ) - - if point_estimate: - point_value = calculate_point_estimate(point_estimate, values) - if rotated: - ax.scatter( - x=0, - y=point_value, - marker="circle", - size=markersize, - fill_color=markercolor, - ) - else: - ax.scatter( - x=point_value, - y=0, - marker="circle", - size=markersize, - fill_color=markercolor, - ) - - return ax - - -def is_valid_quantile(value): - """Check if value is a number between 0 and 1.""" - try: - value = float(value) - return 0 < value < 1 - except ValueError: - return False - - -def sample_reference_distribution(dist, shape): - """Generate samples from a scipy distribution with a given shape.""" - x_ss = [] - densities = [] - dist_rvs = dist.rvs(size=shape) - for idx in range(shape[1]): - x_s, density = kde(dist_rvs[:, idx]) - x_ss.append(x_s) - densities.append(density) - return np.array(x_ss).T, np.array(densities).T - - -def set_bokeh_circular_ticks_labels(ax, hist, labels): - """Place ticks and ticklabels on Bokeh's circular histogram.""" - ticks = np.linspace(-np.pi, np.pi, len(labels), endpoint=False) - ax.annular_wedge( - x=0, - y=0, - inner_radius=0, - outer_radius=np.max(hist) * 1.1, - start_angle=ticks, - end_angle=ticks, - line_color="grey", - ) - - radii_circles = np.linspace(0, np.max(hist) * 1.1, 4) - ax.scatter(0, 0, marker="circle", radius=radii_circles, fill_color=None, line_color="grey") - - offset = np.max(hist * 1.05) * 0.15 - ticks_labels_pos_1 = np.max(hist * 1.05) - ticks_labels_pos_2 = ticks_labels_pos_1 * np.sqrt(2) / 2 - - ax.text( - [ - ticks_labels_pos_1 + offset, - ticks_labels_pos_2 + offset, - 0, - -ticks_labels_pos_2 - offset, - -ticks_labels_pos_1 - offset, - -ticks_labels_pos_2 - offset, - 0, - ticks_labels_pos_2 + offset, - ], - [ - 0, - ticks_labels_pos_2 + offset / 2, - ticks_labels_pos_1 + offset, - ticks_labels_pos_2 + offset / 2, - 0, - -ticks_labels_pos_2 - offset, - -ticks_labels_pos_1 - offset, - -ticks_labels_pos_2 - offset, - ], - text=labels, - text_align="center", - ) - - return ax - - -def compute_ranks(ary): - """Compute ranks for continuous and discrete variables.""" - if ary.dtype.kind == "i": - ary_shape = ary.shape - ary = ary.flatten() - min_ary, max_ary = min(ary), max(ary) - x = np.linspace(min_ary, max_ary, len(ary)) - csi = CubicSpline(x, ary) - ary = csi(np.linspace(min_ary + 0.001, max_ary - 0.001, len(ary))).reshape(ary_shape) - ranks = rankdata(ary, method="average").reshape(ary.shape) - - return ranks - - -def _init_kwargs_dict(kwargs): - """Initialize kwargs dict. - - If the input is a dictionary, it returns - a copy of the dictionary, otherwise it - returns an empty dictionary. - - Parameters - ---------- - kwargs : dict or None - kwargs dict to initialize - """ - return {} if kwargs is None else kwargs.copy() diff --git a/arviz/plots/posteriorplot.py b/arviz/plots/posteriorplot.py deleted file mode 100644 index 6b3e7b5045..0000000000 --- a/arviz/plots/posteriorplot.py +++ /dev/null @@ -1,298 +0,0 @@ -"""Plot posterior densities.""" - -from ..data import convert_to_dataset -from ..labels import BaseLabeller -from ..sel_utils import xarray_var_iter -from ..utils import _var_names, get_coords -from ..rcparams import rcParams -from .plot_utils import default_grid, filter_plotters_list, get_plotting_function - - -def plot_posterior( - data, - var_names=None, - filter_vars=None, - combine_dims=None, - transform=None, - coords=None, - grid=None, - figsize=None, - textsize=None, - hdi_prob=None, - multimodal=False, - skipna=False, - round_to=None, - point_estimate="auto", - group="posterior", - rope=None, - ref_val=None, - rope_color="C2", - ref_val_color="C1", - kind=None, - bw="default", - circular=False, - bins=None, - labeller=None, - ax=None, - backend=None, - backend_kwargs=None, - show=None, - **kwargs -): - r"""Plot Posterior densities in the style of John K. Kruschke's book. - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to the documentation of :func:`arviz.convert_to_dataset` for details - var_names: list of variable names - Variables to be plotted, two variables are required. Prefix the variables with ``~`` - when you want to exclude them from the plot. - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - combine_dims : set_like of str, optional - List of dimensions to reduce. Defaults to reducing only the "chain" and "draw" dimensions. - See the :ref:`this section ` for usage examples. - transform: callable - Function to transform data (defaults to None i.e.the identity function) - coords: mapping, optional - Coordinates of var_names to be plotted. Passed to :meth:`xarray.Dataset.sel` - grid : tuple - Number of rows and columns. Defaults to None, the rows and columns are - automatically inferred. - figsize: tuple - Figure size. If None it will be defined automatically. - textsize: float - Text size scaling factor for labels, titles and lines. If None it will be autoscaled based - on ``figsize``. - hdi_prob: float, optional - Plots highest density interval for chosen percentage of density. - Use 'hide' to hide the highest density interval. Defaults to 0.94. - multimodal: bool - If true (default) it may compute more than one credible interval if the distribution is - multimodal and the modes are well separated. - skipna : bool - If true ignores nan values when computing the hdi and point estimates. Defaults to false. - round_to: int, optional - Controls formatting of floats. Defaults to 2 or the integer part, whichever is bigger. - point_estimate: Optional[str] - Plot point estimate per variable. Values should be 'mean', 'median', 'mode' or None. - Defaults to 'auto' i.e. it falls back to default set in rcParams. - group: str, optional - Specifies which InferenceData group should be plotted. Defaults to 'posterior'. - rope : list, tuple or dictionary of {str: tuples or lists}, optional - A dictionary of tuples with the lower and upper values of the Region Of Practical - Equivalence. See :ref:`this section ` for usage examples. - ref_val: float or dictionary of floats - display the percentage below and above the values in ref_val. Must be None (default), - a constant, a list or a dictionary like see an example below. If a list is provided, its - length should match the number of variables. - rope_color: str, optional - Specifies the color of ROPE and displayed percentage within ROPE - ref_val_color: str, optional - Specifies the color of the displayed percentage - kind: str - Type of plot to display (kde or hist) For discrete variables this argument is ignored and - a histogram is always used. Defaults to rcParam ``plot.density_kind`` - bw: float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be - one of "scott", "silverman", "isj" or "experimental" when `circular` is False - and "taylor" (for now) when `circular` is True. - Defaults to "default" which means "experimental" when variable is not circular - and "taylor" when it is. Only works if `kind == kde`. - circular: bool, optional - If True, it interprets the values passed are from a circular variable measured in radians - and a circular KDE is used. Only valid for 1D KDE. Defaults to False. - Only works if `kind == kde`. - bins: integer or sequence or 'auto', optional - Controls the number of bins,accepts the same keywords :func:`matplotlib.pyplot.hist` does. - Only works if `kind == hist`. If None (default) it will use `auto` for continuous variables - and `range(xmin, xmax + 1)` for discrete variables. - labeller : labeller instance, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - ax: numpy array-like of matplotlib axes or bokeh figures, optional - A 2D array of locations into which to plot the densities. If not supplied, Arviz will create - its own array of plot areas (and return it). - backend: str, optional - Select plotting backend {"matplotlib","bokeh"}. Default "matplotlib". - backend_kwargs: bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :func:`bokeh.plotting.figure` - show: bool, optional - Call backend show function. - **kwargs - Passed as-is to :func:`matplotlib.pyplot.hist` or :func:`matplotlib.pyplot.plot` function - depending on the value of `kind`. - - Returns - ------- - axes: matplotlib axes or bokeh figures - - See Also - -------- - plot_dist : Plot distribution as histogram or kernel density estimates. - plot_density : Generate KDE plots for continuous variables and histograms for discrete ones. - plot_forest : Forest plot to compare HDI intervals from a number of distributions. - - Examples - -------- - Show a default kernel density plot following style of John Kruschke - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('centered_eight') - >>> az.plot_posterior(data) - - Plot subset variables by specifying variable name exactly - - .. plot:: - :context: close-figs - - >>> az.plot_posterior(data, var_names=['mu']) - - Plot Region of Practical Equivalence (rope) and select variables with regular expressions - - .. plot:: - :context: close-figs - - >>> az.plot_posterior(data, var_names=['mu', '^the'], filter_vars="regex", rope=(-1, 1)) - - Plot Region of Practical Equivalence for selected distributions - - .. plot:: - :context: close-figs - - >>> rope = {'mu': [{'rope': (-2, 2)}], 'theta': [{'school': 'Choate', 'rope': (2, 4)}]} - >>> az.plot_posterior(data, var_names=['mu', 'theta'], rope=rope) - - Using `coords` argument to plot only a subset of data - - .. plot:: - :context: close-figs - - >>> coords = {"school": ["Choate","Phillips Exeter"]} - >>> az.plot_posterior(data, var_names=["mu", "theta"], coords=coords) - - Add reference lines - - .. plot:: - :context: close-figs - - >>> az.plot_posterior(data, var_names=['mu', 'theta'], ref_val=0) - - Show point estimate of distribution - - .. plot:: - :context: close-figs - - >>> az.plot_posterior(data, var_names=['mu', 'theta'], point_estimate='mode') - - Show reference values using variable names and coordinates - - .. plot:: - :context: close-figs - - >>> az.plot_posterior(data, ref_val= {"theta": [{"school": "Deerfield", "ref_val": 4}, - ... {"school": "Choate", "ref_val": 3}]}) - - Show reference values using a list - - .. plot:: - :context: close-figs - - >>> az.plot_posterior(data, ref_val=[1] + [5] * 8 + [1]) - - - Plot posterior as a histogram - - .. plot:: - :context: close-figs - - >>> az.plot_posterior(data, var_names=['mu'], kind='hist') - - Change size of highest density interval - - .. plot:: - :context: close-figs - - >>> az.plot_posterior(data, var_names=['mu'], hdi_prob=.75) - """ - data = convert_to_dataset(data, group=group) - if transform is not None: - data = transform(data) - var_names = _var_names(var_names, data, filter_vars) - - if coords is None: - coords = {} - - if labeller is None: - labeller = BaseLabeller() - - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif hdi_prob not in (None, "hide"): - if not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - if point_estimate == "auto": - point_estimate = rcParams["plot.point_estimate"] - elif point_estimate not in {"mean", "median", "mode", None}: - raise ValueError("The value of point_estimate must be either mean, median, mode or None.") - - if kind is None: - kind = rcParams["plot.density_kind"] - - plotters = filter_plotters_list( - list( - xarray_var_iter( - get_coords(data, coords), var_names=var_names, combined=True, skip_dims=combine_dims - ) - ), - "plot_posterior", - ) - length_plotters = len(plotters) - rows, cols = default_grid(length_plotters, grid=grid) - - posteriorplot_kwargs = dict( - ax=ax, - length_plotters=length_plotters, - rows=rows, - cols=cols, - figsize=figsize, - plotters=plotters, - bw=bw, - circular=circular, - bins=bins, - kind=kind, - point_estimate=point_estimate, - round_to=round_to, - hdi_prob=hdi_prob, - multimodal=multimodal, - skipna=skipna, - textsize=textsize, - ref_val=ref_val, - rope=rope, - ref_val_color=ref_val_color, - rope_color=rope_color, - labeller=labeller, - kwargs=kwargs, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_posterior", "posteriorplot", backend) - ax = plot(**posteriorplot_kwargs) - return ax diff --git a/arviz/plots/ppcplot.py b/arviz/plots/ppcplot.py deleted file mode 100644 index 618c5e34fc..0000000000 --- a/arviz/plots/ppcplot.py +++ /dev/null @@ -1,369 +0,0 @@ -"""Posterior/Prior predictive plot.""" - -import logging -import warnings -from numbers import Integral - -import numpy as np - -from ..labels import BaseLabeller -from ..sel_utils import xarray_var_iter -from ..rcparams import rcParams -from ..utils import _var_names -from .plot_utils import default_grid, filter_plotters_list, get_plotting_function - -_log = logging.getLogger(__name__) - - -def plot_ppc( - data, - kind="kde", - alpha=None, - mean=True, - observed=None, - observed_rug=False, - color=None, - colors=None, - grid=None, - figsize=None, - textsize=None, - data_pairs=None, - var_names=None, - filter_vars=None, - coords=None, - flatten=None, - flatten_pp=None, - num_pp_samples=None, - random_seed=None, - jitter=None, - animated=False, - animation_kwargs=None, - legend=True, - labeller=None, - ax=None, - backend=None, - backend_kwargs=None, - group="posterior", - show=None, -): - """ - Plot for posterior/prior predictive checks. - - Parameters - ---------- - data : InferenceData - :class:`arviz.InferenceData` object containing the observed and posterior/prior - predictive data. - kind : str, default "kde" - Type of plot to display ("kde", "cumulative", or "scatter"). - alpha : float, optional - Opacity of posterior/prior predictive density curves. - Defaults to 0.2 for ``kind = kde`` and cumulative, for scatter defaults to 0.7. - mean : bool, default True - Whether or not to plot the mean posterior/prior predictive distribution. - observed : bool, optional - Whether or not to plot the observed data. Defaults to True for ``group = posterior`` - and False for ``group = prior``. - observed_rug : bool, default False - Whether or not to plot a rug plot for the observed data. Only valid if `observed` is - `True` and for kind `kde` or `cumulative`. - color : list, optional - List with valid matplotlib colors corresponding to the posterior/prior predictive - distribution, observed data and mean of the posterior/prior predictive distribution. - Defaults to ["C0", "k", "C1"]. - grid : tuple, optional - Number of rows and columns. Defaults to None, the rows and columns are - automatically inferred. - figsize : tuple, optional - Figure size. If None, it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If None, it will be - autoscaled based on ``figsize``. - data_pairs : dict, optional - Dictionary containing relations between observed data and posterior/prior predictive data. - Dictionary structure: - - - key = data var_name - - value = posterior/prior predictive var_name - - For example, ``data_pairs = {'y' : 'y_hat'}`` - If None, it will assume that the observed data and the posterior/prior - predictive data have the same variable name. - var_names : list of str, optional - Variables to be plotted, if `None` all variable are plotted. Prefix the - variables by ``~`` when you want to exclude them from the plot. - filter_vars : {None, "like", "regex"}, default None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - coords : dict, optional - Dictionary mapping dimensions to selected coordinates to be plotted. - Dimensions without a mapping specified will include all coordinates for - that dimension. Defaults to including all coordinates for all - dimensions if None. - flatten : list - List of dimensions to flatten in ``observed_data``. Only flattens across the coordinates - specified in the ``coords`` argument. Defaults to flattening all of the dimensions. - flatten_pp : list - List of dimensions to flatten in posterior_predictive/prior_predictive. Only flattens - across the coordinates specified in the ``coords`` argument. Defaults to flattening all - of the dimensions. Dimensions should match flatten excluding dimensions for ``data_pairs`` - parameters. If ``flatten`` is defined and ``flatten_pp`` is None, then - ``flatten_pp = flatten``. - num_pp_samples : int - The number of posterior/prior predictive samples to plot. For ``kind`` = 'scatter' and - ``animation = False`` if defaults to a maximum of 5 samples and will set jitter to 0.7. - unless defined. Otherwise it defaults to all provided samples. - random_seed : int - Random number generator seed passed to ``numpy.random.seed`` to allow - reproducibility of the plot. By default, no seed will be provided - and the plot will change each call if a random sample is specified - by ``num_pp_samples``. - jitter : float, default 0 - If ``kind`` is "scatter", jitter will add random uniform noise to the height - of the ppc samples and observed data. - animated : bool, default False - Create an animation of one posterior/prior predictive sample per frame. - Only works with matploblib backend. - To run animations inside a notebook you have to use the `nbAgg` matplotlib's backend. - Try with `%matplotlib notebook` or `%matplotlib nbAgg`. You can switch back to the - default matplotlib's backend with `%matplotlib inline` or `%matplotlib auto`. - If switching back and forth between matplotlib's backend, you may need to run twice the cell - with the animation. - If you experience problems rendering the animation try setting - ``animation_kwargs({'blit':False})`` or changing the matplotlib's backend (e.g. to TkAgg) - If you run the animation from a script write ``ax, ani = az.plot_ppc(.)`` - animation_kwargs : dict - Keywords passed to :class:`matplotlib.animation.FuncAnimation`. Ignored with - matplotlib backend. - legend : bool, default True - Add legend to figure. - labeller : labeller, optional - Class providing the method ``make_pp_label`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - ax : numpy array-like of matplotlib_axes or bokeh figures, optional - A 2D array of locations into which to plot the densities. If not supplied, Arviz will create - its own array of plot areas (and return it). - backend : str, optional - Select plotting backend {"matplotlib","bokeh"}. Default to "matplotlib". - backend_kwargs : dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :func:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - group : {"prior", "posterior"}, optional - Specifies which InferenceData group should be plotted. Defaults to 'posterior'. - Other value can be 'prior'. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib_axes or bokeh_figures - ani : matplotlib.animation.FuncAnimation, optional - Only provided if `animated` is ``True``. - - See Also - -------- - plot_bpv : Plot Bayesian p-value for observed data and Posterior/Prior predictive. - plot_loo_pit : Plot for posterior predictive checks using cross validation. - plot_lm : Posterior predictive and mean plots for regression-like data. - plot_ts : Plot timeseries data. - - Examples - -------- - Plot the observed data KDE overlaid on posterior predictive KDEs. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('radon') - >>> az.plot_ppc(data, data_pairs={"y":"y"}) - - Plot the overlay with empirical CDFs. - - .. plot:: - :context: close-figs - - >>> az.plot_ppc(data, kind='cumulative') - - Use the ``coords`` and ``flatten`` parameters to plot selected variable dimensions - across multiple plots. We will now modify the dimension ``obs_id`` to contain - indicate the name of the county where the measure was taken. The change has to - be done on both ``posterior_predictive`` and ``observed_data`` groups, which is - why we will use :meth:`~arviz.InferenceData.map` to apply the same function to - both groups. Afterwards, we will select the counties to be plotted with the - ``coords`` arg. - - .. plot:: - :context: close-figs - - >>> obs_county = data.posterior["County"][data.constant_data["county_idx"]] - >>> data = data.assign_coords(obs_id=obs_county, groups="observed_vars") - >>> az.plot_ppc(data, coords={'obs_id': ['ANOKA', 'BELTRAMI']}, flatten=[]) - - Plot the overlay using a stacked scatter plot that is particularly useful - when the sample sizes are small. - - .. plot:: - :context: close-figs - - >>> az.plot_ppc(data, kind='scatter', flatten=[], - >>> coords={'obs_id': ['AITKIN', 'BELTRAMI']}) - - Plot random posterior predictive sub-samples. - - .. plot:: - :context: close-figs - - >>> az.plot_ppc(data, num_pp_samples=30, random_seed=7) - """ - if group not in ("posterior", "prior"): - raise TypeError("`group` argument must be either `posterior` or `prior`") - - for groups in (f"{group}_predictive", "observed_data"): - if not hasattr(data, groups): - raise TypeError(f'`data` argument must have the group "{groups}" for ppcplot') - - if kind.lower() not in ("kde", "cumulative", "scatter"): - raise TypeError("`kind` argument must be either `kde`, `cumulative`, or `scatter`") - - if colors is None: - colors = ["C0", "k", "C1"] - - if isinstance(colors, str): - raise TypeError("colors should be a list with 3 items.") - - if len(colors) != 3: - raise ValueError("colors should be a list with 3 items.") - - if color is not None: - warnings.warn("color has been deprecated in favor of colors", FutureWarning) - colors[0] = color - - if data_pairs is None: - data_pairs = {} - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - if backend == "bokeh" and animated: - raise TypeError("Animation option is only supported with matplotlib backend.") - - observed_data = data.observed_data - - if group == "posterior": - predictive_dataset = data.posterior_predictive - if observed is None: - observed = True - elif group == "prior": - predictive_dataset = data.prior_predictive - if observed is None: - observed = False - - if var_names is None: - var_names = list(observed_data.data_vars) - var_names = _var_names(var_names, observed_data, filter_vars) - pp_var_names = [data_pairs.get(var, var) for var in var_names] - pp_var_names = _var_names(pp_var_names, predictive_dataset, filter_vars) - - if flatten_pp is None: - if flatten is None: - flatten_pp = list(predictive_dataset.dims) - else: - flatten_pp = flatten - if flatten is None: - flatten = list(observed_data.dims) - - if coords is None: - coords = {} - else: - coords = coords.copy() - - if labeller is None: - labeller = BaseLabeller() - - if random_seed is not None: - np.random.seed(random_seed) - - total_pp_samples = predictive_dataset.sizes["chain"] * predictive_dataset.sizes["draw"] - if num_pp_samples is None: - if kind == "scatter" and not animated: - num_pp_samples = min(5, total_pp_samples) - else: - num_pp_samples = total_pp_samples - - if ( - not isinstance(num_pp_samples, Integral) - or num_pp_samples < 1 - or num_pp_samples > total_pp_samples - ): - raise TypeError(f"`num_pp_samples` must be an integer between 1 and {total_pp_samples}.") - - pp_sample_ix = np.random.choice(total_pp_samples, size=num_pp_samples, replace=False) - - for key in coords.keys(): - coords[key] = np.where(np.isin(observed_data[key], coords[key]))[0] - - obs_plotters = filter_plotters_list( - list( - xarray_var_iter( - observed_data.isel(coords), - skip_dims=set(flatten), - var_names=var_names, - combined=True, - dim_order=["chain", "draw"], - ) - ), - "plot_ppc", - ) - length_plotters = len(obs_plotters) - pp_plotters = [ - tup - for _, tup in zip( - range(length_plotters), - xarray_var_iter( - predictive_dataset.isel(coords), - var_names=pp_var_names, - skip_dims=set(flatten_pp), - combined=True, - dim_order=["chain", "draw"], - ), - ) - ] - rows, cols = default_grid(length_plotters, grid=grid) - - ppcplot_kwargs = dict( - ax=ax, - length_plotters=length_plotters, - rows=rows, - cols=cols, - figsize=figsize, - animated=animated, - obs_plotters=obs_plotters, - pp_plotters=pp_plotters, - predictive_dataset=predictive_dataset, - pp_sample_ix=pp_sample_ix, - kind=kind, - alpha=alpha, - colors=colors, - jitter=jitter, - textsize=textsize, - mean=mean, - observed=observed, - observed_rug=observed_rug, - total_pp_samples=total_pp_samples, - legend=legend, - labeller=labeller, - group=group, - animation_kwargs=animation_kwargs, - num_pp_samples=num_pp_samples, - backend_kwargs=backend_kwargs, - show=show, - ) - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_ppc", "ppcplot", backend) - axes = plot(**ppcplot_kwargs) - return axes diff --git a/arviz/plots/rankplot.py b/arviz/plots/rankplot.py deleted file mode 100644 index 04ffad19e5..0000000000 --- a/arviz/plots/rankplot.py +++ /dev/null @@ -1,232 +0,0 @@ -"""Histograms of ranked posterior draws, plotted for each chain.""" - -from itertools import cycle - -import matplotlib.pyplot as plt - -from ..data import convert_to_dataset -from ..labels import BaseLabeller -from ..sel_utils import xarray_var_iter -from ..rcparams import rcParams -from ..stats.density_utils import _sturges_formula -from ..utils import _var_names -from .plot_utils import default_grid, filter_plotters_list, get_plotting_function - - -def plot_rank( - data, - var_names=None, - filter_vars=None, - transform=None, - coords=None, - bins=None, - kind="bars", - colors="cycle", - ref_line=True, - labels=True, - labeller=None, - grid=None, - figsize=None, - ax=None, - backend=None, - ref_line_kwargs=None, - bar_kwargs=None, - vlines_kwargs=None, - marker_vlines_kwargs=None, - backend_kwargs=None, - show=None, -): - """Plot rank order statistics of chains. - - From the paper: Rank plots are histograms of the ranked posterior draws (ranked over all - chains) plotted separately for each chain. - If all of the chains are targeting the same posterior, we expect the ranks in each chain to be - uniform, whereas if one chain has a different location or scale parameter, this will be - reflected in the deviation from uniformity. If rank plots of all chains look similar, this - indicates good mixing of the chains. - - This plot was introduced by Aki Vehtari, Andrew Gelman, Daniel Simpson, Bob Carpenter, - Paul-Christian Burkner (2021): Rank-normalization, folding, and localization: - An improved R-hat for assessing convergence of MCMC. Bayesian analysis, 16(2):667-718. - - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of :func:`arviz.convert_to_dataset` for details - var_names: string or list of variable names - Variables to be plotted. Prefix the variables by ``~`` when you want to exclude - them from the plot. - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - transform: callable - Function to transform data (defaults to None i.e.the identity function) - coords: mapping, optional - Coordinates of var_names to be plotted. Passed to :meth:`xarray.Dataset.sel` - bins: None or passed to np.histogram - Binning strategy used for histogram. By default uses twice the result of Sturges' formula. - See :func:`numpy.histogram` documentation for, other available arguments. - kind: string - If bars (defaults), ranks are represented as stacked histograms (one per chain). If vlines - ranks are represented as vertical lines above or below ``ref_line``. - colors: string or list of strings - List with valid matplotlib colors, one color per model. Alternative a string can be passed. - If the string is `cycle`, it will automatically choose a color per model from matplotlib's - cycle. If a single color is passed, e.g. 'k', 'C2' or 'red' this color will be used for all - models. Defaults to `cycle`. - ref_line: boolean - Whether to include a dashed line showing where a uniform distribution would lie - labels: bool - whether to plot or not the x and y labels, defaults to True - labeller : labeller instance, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - grid : tuple - Number of rows and columns. Defaults to None, the rows and columns are - automatically inferred. - figsize: tuple - Figure size. If None it will be defined automatically. - ax: numpy array-like of matplotlib axes or bokeh figures, optional - A 2D array of locations into which to plot the densities. If not supplied, ArviZ will create - its own array of plot areas (and return it). - backend: str, optional - Select plotting backend {"matplotlib","bokeh"}. Default "matplotlib". - ref_line_kwargs : dict, optional - Reference line keyword arguments, passed to :meth:`mpl:matplotlib.axes.Axes.axhline` or - :class:`bokeh:bokeh.models.Span`. - bar_kwargs : dict, optional - Bars keyword arguments, passed to :meth:`mpl:matplotlib.axes.Axes.bar` or - :meth:`bokeh:bokeh.plotting.Figure.vbar`. - vlines_kwargs : dict, optional - Vlines keyword arguments, passed to :meth:`mpl:matplotlib.axes.Axes.vlines` or - :meth:`bokeh:bokeh.plotting.Figure.multi_line`. - marker_vlines_kwargs : dict, optional - Marker for the vlines keyword arguments, passed to :meth:`mpl:matplotlib.axes.Axes.plot` or - :meth:`bokeh:bokeh.plotting.Figure.circle`. - backend_kwargs: bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or - :func:`bokeh.plotting.figure`. For additional documentation - check the plotting method of the backend. - show: bool, optional - Call backend show function. - - Returns - ------- - axes: matplotlib axes or bokeh figures - - See Also - -------- - plot_trace : Plot distribution (histogram or kernel density estimates) and - sampled values or rank plot. - - Examples - -------- - Show a default rank plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('centered_eight') - >>> az.plot_rank(data) - - Recreate Figure 13 from the arxiv preprint - - .. plot:: - :context: close-figs - - >>> data = az.load_arviz_data('centered_eight') - >>> az.plot_rank(data, var_names='tau') - - Use vlines to compare results for centered vs noncentered models - - .. plot:: - :context: close-figs - - >>> import matplotlib.pyplot as plt - >>> centered_data = az.load_arviz_data('centered_eight') - >>> noncentered_data = az.load_arviz_data('non_centered_eight') - >>> _, ax = plt.subplots(1, 2, figsize=(12, 3)) - >>> az.plot_rank(centered_data, var_names="mu", kind='vlines', ax=ax[0]) - >>> az.plot_rank(noncentered_data, var_names="mu", kind='vlines', ax=ax[1]) - - Change the aesthetics using kwargs - - .. plot:: - :context: close-figs - - >>> az.plot_rank(noncentered_data, var_names="mu", kind="vlines", - >>> vlines_kwargs={'lw':0}, marker_vlines_kwargs={'lw':3}); - """ - if transform is not None: - data = transform(data) - posterior_data = convert_to_dataset(data, group="posterior") - if coords is not None: - posterior_data = posterior_data.sel(**coords) - var_names = _var_names(var_names, posterior_data, filter_vars) - plotters = filter_plotters_list( - list( - xarray_var_iter( - posterior_data, - var_names=var_names, - combined=True, - dim_order=["chain", "draw"], - ) - ), - "plot_rank", - ) - length_plotters = len(plotters) - - if bins is None: - bins = _sturges_formula(posterior_data, mult=2) - - if labeller is None: - labeller = BaseLabeller() - - rows, cols = default_grid(length_plotters, grid=grid) - - chains = len(posterior_data.chain) - if colors == "cycle": - colors = [ - prop - for _, prop in zip( - range(chains), cycle(plt.rcParams["axes.prop_cycle"].by_key()["color"]) - ) - ] - elif isinstance(colors, str): - colors = [colors] * chains - - rankplot_kwargs = dict( - axes=ax, - length_plotters=length_plotters, - rows=rows, - cols=cols, - figsize=figsize, - plotters=plotters, - bins=bins, - kind=kind, - colors=colors, - ref_line=ref_line, - labels=labels, - labeller=labeller, - ref_line_kwargs=ref_line_kwargs, - bar_kwargs=bar_kwargs, - vlines_kwargs=vlines_kwargs, - marker_vlines_kwargs=marker_vlines_kwargs, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_rank", "rankplot", backend) - axes = plot(**rankplot_kwargs) - return axes diff --git a/arviz/plots/separationplot.py b/arviz/plots/separationplot.py deleted file mode 100644 index 3476dfea7d..0000000000 --- a/arviz/plots/separationplot.py +++ /dev/null @@ -1,167 +0,0 @@ -"""Separation plot for discrete outcome models.""" - -import warnings - -import numpy as np -import xarray as xr - -from ..data import InferenceData -from ..rcparams import rcParams -from .plot_utils import get_plotting_function - - -def plot_separation( - idata=None, - y=None, - y_hat=None, - y_hat_line=False, - expected_events=False, - figsize=None, - textsize=None, - color="C0", - legend=True, - ax=None, - plot_kwargs=None, - y_hat_line_kwargs=None, - exp_events_kwargs=None, - backend=None, - backend_kwargs=None, - show=None, -): - """Separation plot for binary outcome models. - - Model predictions are sorted and plotted using a color code according to - the observed data. - - Parameters - ---------- - idata : InferenceData - :class:`arviz.InferenceData` object. - y : array, DataArray or str - Observed data. If str, ``idata`` must be present and contain the observed data group - y_hat : array, DataArray or str - Posterior predictive samples for ``y``. It must have the same shape as ``y``. If str or - None, ``idata`` must contain the posterior predictive group. - y_hat_line : bool, optional - Plot the sorted ``y_hat`` predictions. - expected_events : bool, optional - Plot the total number of expected events. - figsize : figure size tuple, optional - If None, size is (8 + numvars, 8 + numvars) - textsize: int, optional - Text size for labels. If None it will be autoscaled based on ``figsize``. - color : str, optional - Color to assign to the positive class. The negative class will be plotted using the - same color and an `alpha=0.3` transparency. - legend : bool, optional - Show the legend of the figure. - ax: axes, optional - Matplotlib axes or bokeh figures. - plot_kwargs : dict, optional - Additional keywords passed to :meth:`mpl:matplotlib.axes.Axes.bar` or - :meth:`bokeh:bokeh.plotting.Figure.vbar` for separation plot. - y_hat_line_kwargs : dict, optional - Additional keywords passed to ax.plot for ``y_hat`` line. - exp_events_kwargs : dict, optional - Additional keywords passed to ax.scatter for ``expected_events`` marker. - backend: str, optional - Select plotting backend {"matplotlib","bokeh"}. Default "matplotlib". - backend_kwargs: bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or - :func:`bokeh.plotting.figure`. - show : bool, optional - Call backend show function. - - Returns - ------- - axes : matplotlib axes or bokeh figures - - See Also - -------- - plot_ppc : Plot for posterior/prior predictive checks. - - References - ---------- - .. [1] Greenhill, B. *et al.*, The Separation Plot: A New Visual Method - for Evaluating the Fit of Binary Models, *American Journal of - Political Science*, (2011) see https://doi.org/10.1111/j.1540-5907.2011.00525.x - - Examples - -------- - Separation plot for a logistic regression model. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> idata = az.load_arviz_data('classification10d') - >>> az.plot_separation(idata=idata, y='outcome', y_hat='outcome', figsize=(8, 1)) - - """ - label_y_hat = "y_hat" - if idata is not None and not isinstance(idata, InferenceData): - raise ValueError("idata must be of type InferenceData or None") - - if idata is None: - if not all(isinstance(arg, (np.ndarray, xr.DataArray)) for arg in (y, y_hat)): - raise ValueError( - "y and y_hat must be array or DataArray when idata is None " - f"but they are of types {[type(arg) for arg in (y, y_hat)]}" - ) - - else: - if y_hat is None and isinstance(y, str): - label_y_hat = y - y_hat = y - elif y_hat is None: - raise ValueError("y_hat cannot be None if y is not a str") - - if isinstance(y, str): - y = idata.observed_data[y].values - elif not isinstance(y, (np.ndarray, xr.DataArray)): - raise ValueError(f"y must be of types array, DataArray or str, not {type(y)}") - - if isinstance(y_hat, str): - label_y_hat = y_hat - y_hat = idata.posterior_predictive[y_hat].mean(dim=("chain", "draw")).values - elif not isinstance(y_hat, (np.ndarray, xr.DataArray)): - raise ValueError(f"y_hat must be of types array, DataArray or str, not {type(y_hat)}") - - if len(y) != len(y_hat): - warnings.warn( - "y and y_hat must be the same length", - UserWarning, - ) - - locs = np.linspace(0, 1, len(y_hat)) - width = np.diff(locs).mean() - - separation_kwargs = dict( - y=y, - y_hat=y_hat, - y_hat_line=y_hat_line, - label_y_hat=label_y_hat, - expected_events=expected_events, - figsize=figsize, - textsize=textsize, - color=color, - legend=legend, - locs=locs, - width=width, - ax=ax, - plot_kwargs=plot_kwargs, - y_hat_line_kwargs=y_hat_line_kwargs, - exp_events_kwargs=exp_events_kwargs, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - plot = get_plotting_function("plot_separation", "separationplot", backend) - axes = plot(**separation_kwargs) - - return axes diff --git a/arviz/plots/styles/arviz-bluish.mplstyle b/arviz/plots/styles/arviz-bluish.mplstyle deleted file mode 100644 index 0670a6594a..0000000000 --- a/arviz/plots/styles/arviz-bluish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['0045b9ff', '0045b999', '0045b966', '0045b933', '000000']) diff --git a/arviz/plots/styles/arviz-brownish.mplstyle b/arviz/plots/styles/arviz-brownish.mplstyle deleted file mode 100644 index a2eef125cc..0000000000 --- a/arviz/plots/styles/arviz-brownish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['bb5100ff', 'ec7a00ff', 'ec7a00aa', 'ec7a0066', '000000']) diff --git a/arviz/plots/styles/arviz-colors.mplstyle b/arviz/plots/styles/arviz-colors.mplstyle deleted file mode 100644 index a909d51a5c..0000000000 --- a/arviz/plots/styles/arviz-colors.mplstyle +++ /dev/null @@ -1,2 +0,0 @@ -# color-blind friendly cycle designed using https://colorcyclepicker.mpetroff.net/ -axes.prop_cycle: cycler('color', ['2a2eec', 'fa7c17', '328c06', 'c10c90', '933708', '65e5f3', 'e6e135', '1ccd6a', 'bd8ad5', 'b16b57']) diff --git a/arviz/plots/styles/arviz-cyanish.mplstyle b/arviz/plots/styles/arviz-cyanish.mplstyle deleted file mode 100644 index 987587684a..0000000000 --- a/arviz/plots/styles/arviz-cyanish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['008182ff', '008182aa', '00818266', '00818233', '000000']) diff --git a/arviz/plots/styles/arviz-darkgrid.mplstyle b/arviz/plots/styles/arviz-darkgrid.mplstyle deleted file mode 100644 index 300c2ae9cc..0000000000 --- a/arviz/plots/styles/arviz-darkgrid.mplstyle +++ /dev/null @@ -1,40 +0,0 @@ -# This style is based on Seaborn-darkgrid parameters, the main differences are -# Default matplotlib font (no problem using Greek letters!) -# Larger font size for several elements -# Colorblind friendly color cycle -figure.figsize: 7.2, 4.8 -figure.dpi: 100.0 -figure.facecolor: white -figure.constrained_layout.use: True -text.color: .15 -axes.labelcolor: .15 -legend.frameon: False -legend.numpoints: 1 -legend.scatterpoints: 1 -xtick.direction: out -ytick.direction: out -xtick.color: .15 -ytick.color: .15 -axes.axisbelow: True -grid.linestyle: - -lines.solid_capstyle: round - -axes.labelsize: 15 -axes.titlesize: 16 -xtick.labelsize: 14 -ytick.labelsize: 14 -legend.fontsize: 14 - -axes.grid: True -axes.facecolor: eeeeee -axes.edgecolor: white -axes.linewidth: 0 -grid.color: white -image.cmap: viridis -xtick.major.size: 0 -ytick.major.size: 0 -xtick.minor.size: 0 -ytick.minor.size: 0 - -# color-blind friendly cycle designed using https://colorcyclepicker.mpetroff.net/ -axes.prop_cycle: cycler('color', ['2a2eec', 'fa7c17', '328c06', 'c10c90', '933708', '65e5f3', 'e6e135', '1ccd6a', 'bd8ad5', 'b16b57']) diff --git a/arviz/plots/styles/arviz-doc.mplstyle b/arviz/plots/styles/arviz-doc.mplstyle deleted file mode 100644 index 41c64e2241..0000000000 --- a/arviz/plots/styles/arviz-doc.mplstyle +++ /dev/null @@ -1,88 +0,0 @@ -## *************************************************************************** -## * FIGURE * -## *************************************************************************** - -figure.facecolor: white # broken white outside box -figure.edgecolor: None # broken white outside box -figure.titleweight: bold # weight of the figure title -figure.titlesize: 18 - -figure.figsize: 11.5, 5 -figure.dpi: 300.0 -figure.constrained_layout.use: True - -## *************************************************************************** -## * FONT * -## *************************************************************************** - -font.style: normal -font.variant: normal -font.weight: normal -font.stretch: normal - -text.color: .15 - -## *************************************************************************** -## * AXES * -## *************************************************************************** - -axes.facecolor: white -axes.edgecolor: .33 # axes edge color -axes.linewidth: 0.8 # edge line width - -axes.grid: False # do not show grid -# axes.grid.axis: y # which axis the grid should apply to -axes.grid.which: major # grid lines at {major, minor, both} ticks -axes.axisbelow: True # keep grid layer in the back - -grid.color: .8 # grid color -grid.linestyle: - # solid -grid.linewidth: 0.8 # in points -grid.alpha: 1.0 # transparency, between 0.0 and 1.0 - -lines.solid_capstyle: round - -axes.spines.right: False # do not show right spine -axes.spines.top: False # do not show top spine - -axes.titlesize: 16 -axes.titleweight: bold # font weight of title - -axes.labelsize: 14 -axes.labelcolor: .15 -axes.labelweight: normal # weight of the x and y labels - -# color-blind friendly cycle designed using https://colorcyclepicker.mpetroff.net/ -# see preview and check for colorblindness here https://coolors.co/107591-00c0bf-f69a48-fdcd49-8da798-a19368-525252-a6761d-7035b7-cf166e -axes.prop_cycle: cycler(color=['107591','00c0bf','f69a48','fdcd49','8da798','a19368','525252','a6761d','7035b7','cf166e']) - -image.cmap: viridis - -## *************************************************************************** -## * TICKS * -## *************************************************************************** - -xtick.labelsize: 14 -xtick.color: .15 -xtick.top: False -xtick.bottom: True -xtick.direction: out - -ytick.labelsize: 14 -ytick.color: .15 -ytick.left: True -ytick.right: False -ytick.direction: out - -## *************************************************************************** -## * LEGEND * -## *************************************************************************** - -legend.framealpha: 0.5 -legend.frameon: False # do not draw on background patch -legend.fancybox: False # do not round corners - -legend.numpoints: 1 -legend.scatterpoints: 1 - -legend.fontsize: 14 diff --git a/arviz/plots/styles/arviz-docgrid.mplstyle b/arviz/plots/styles/arviz-docgrid.mplstyle deleted file mode 100644 index 08c70af662..0000000000 --- a/arviz/plots/styles/arviz-docgrid.mplstyle +++ /dev/null @@ -1,88 +0,0 @@ -## *************************************************************************** -## * FIGURE * -## *************************************************************************** - -figure.facecolor: white # broken white outside box -figure.edgecolor: None # broken white outside box -figure.titleweight: bold # weight of the figure title -figure.titlesize: 18 - -figure.figsize: 11.5, 5 -figure.dpi: 300.0 -figure.constrained_layout.use: True - -## *************************************************************************** -## * FONT * -## *************************************************************************** - -font.style: normal -font.variant: normal -font.weight: normal -font.stretch: normal - -text.color: .15 - -## *************************************************************************** -## * AXES * -## *************************************************************************** - -axes.facecolor: white -axes.edgecolor: .33 # axes edge color -axes.linewidth: 0.8 # edge line width - -axes.grid: True # show grid -# axes.grid.axis: y # which axis the grid should apply to -axes.grid.which: major # grid lines at {major, minor, both} ticks -axes.axisbelow: True # keep grid layer in the back - -grid.color: .8 # grid color -grid.linestyle: - # solid -grid.linewidth: 0.8 # in points -grid.alpha: 1.0 # transparency, between 0.0 and 1.0 - -lines.solid_capstyle: round - -axes.spines.right: False # do not show right spine -axes.spines.top: False # do not show top spine - -axes.titlesize: 16 -axes.titleweight: bold # font weight of title - -axes.labelsize: 14 -axes.labelcolor: .15 -axes.labelweight: normal # weight of the x and y labels - -# color-blind friendly cycle designed using https://colorcyclepicker.mpetroff.net/ -# see preview and check for colorblindness here https://coolors.co/107591-00c0bf-f69a48-fdcd49-8da798-a19368-525252-a6761d-7035b7-cf166e -axes.prop_cycle: cycler(color=['107591','00c0bf','f69a48','fdcd49','8da798','a19368','525252','a6761d','7035b7','cf166e']) - -image.cmap: viridis - -## *************************************************************************** -## * TICKS * -## *************************************************************************** - -xtick.labelsize: 14 -xtick.color: .15 -xtick.top: False -xtick.bottom: True -xtick.direction: out - -ytick.labelsize: 14 -ytick.color: .15 -ytick.left: True -ytick.right: False -ytick.direction: out - -## *************************************************************************** -## * LEGEND * -## *************************************************************************** - -legend.framealpha: 0.5 -legend.frameon: False # do not draw on background patch -legend.fancybox: False # do not round corners - -legend.numpoints: 1 -legend.scatterpoints: 1 - -legend.fontsize: 14 diff --git a/arviz/plots/styles/arviz-grayscale.mplstyle b/arviz/plots/styles/arviz-grayscale.mplstyle deleted file mode 100644 index 15a0eb7a2c..0000000000 --- a/arviz/plots/styles/arviz-grayscale.mplstyle +++ /dev/null @@ -1,41 +0,0 @@ -# This style is based on Seaborn-white parameters, the main differences are -# Default matplotlib font (no problem using Greek letters!) -# Larger font size for several elements -# Colorblind friendly color cycle -figure.figsize: 7.2, 4.8 -figure.dpi: 100.0 -figure.facecolor: white -figure.constrained_layout.use: True -text.color: .15 -axes.labelcolor: .15 -legend.frameon: False -legend.numpoints: 1 -legend.scatterpoints: 1 -xtick.direction: out -ytick.direction: out -xtick.color: .15 -ytick.color: .15 -axes.axisbelow: True -lines.solid_capstyle: round - -axes.labelsize: 15 -axes.titlesize: 16 -xtick.labelsize: 14 -ytick.labelsize: 14 -legend.fontsize: 14 - -axes.grid: False -axes.facecolor: white -axes.edgecolor: 0 -axes.linewidth: 1 -axes.spines.top: False -axes.spines.right: False -image.cmap: cet_gray # perceptually uniform gray scale from colorcet (linear_grey_10_95_c0) -xtick.major.size: 0 -ytick.major.size: 0 -xtick.minor.size: 0 -ytick.minor.size: 0 - -# First 4 colors are from colorcet and the last one is the "ArviZ-blue" -# [to_hex(_linear_grey_0_100_c0[i]) for i in np.linspace(0, 195, 4).astype(int)] -axes.prop_cycle: cycler('color', ["000000", "4a4a4a", "7e7f7f", "b8b8b8", "2a2eec"]) diff --git a/arviz/plots/styles/arviz-greenish.mplstyle b/arviz/plots/styles/arviz-greenish.mplstyle deleted file mode 100644 index 8384619fa4..0000000000 --- a/arviz/plots/styles/arviz-greenish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['259516ff', '259516aa', '25951666', '25951633', '000000']) diff --git a/arviz/plots/styles/arviz-orangish.mplstyle b/arviz/plots/styles/arviz-orangish.mplstyle deleted file mode 100644 index a69ae5277e..0000000000 --- a/arviz/plots/styles/arviz-orangish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['fd5800ff', 'fd5800aa', 'fd580066', 'fd580033', '000000']) diff --git a/arviz/plots/styles/arviz-plasmish.mplstyle b/arviz/plots/styles/arviz-plasmish.mplstyle deleted file mode 100644 index 38285670f6..0000000000 --- a/arviz/plots/styles/arviz-plasmish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['0d0887', '8e0ca4', 'de6164', 'fdc627', '000000']) diff --git a/arviz/plots/styles/arviz-purplish.mplstyle b/arviz/plots/styles/arviz-purplish.mplstyle deleted file mode 100644 index bbf0c895a7..0000000000 --- a/arviz/plots/styles/arviz-purplish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['820076ff', '820076aa', '82007666', '82007633', '000000']) diff --git a/arviz/plots/styles/arviz-redish.mplstyle b/arviz/plots/styles/arviz-redish.mplstyle deleted file mode 100644 index 91890cd160..0000000000 --- a/arviz/plots/styles/arviz-redish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['bf0700ff', 'bf0700aa', 'bf070066', 'bf070033', '000000']) diff --git a/arviz/plots/styles/arviz-royish.mplstyle b/arviz/plots/styles/arviz-royish.mplstyle deleted file mode 100644 index 4e2b329b4f..0000000000 --- a/arviz/plots/styles/arviz-royish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['bf0700', 'fd5800', 'ffba02', 'ffba0277', '000000']) diff --git a/arviz/plots/styles/arviz-viridish.mplstyle b/arviz/plots/styles/arviz-viridish.mplstyle deleted file mode 100644 index 50aaae5b15..0000000000 --- a/arviz/plots/styles/arviz-viridish.mplstyle +++ /dev/null @@ -1 +0,0 @@ -axes.prop_cycle: cycler('color', ['481d6f', '2f6b8e', '25ab82', 'b0dd2f', '000000']) diff --git a/arviz/plots/styles/arviz-white.mplstyle b/arviz/plots/styles/arviz-white.mplstyle deleted file mode 100644 index 6b7eeeddf5..0000000000 --- a/arviz/plots/styles/arviz-white.mplstyle +++ /dev/null @@ -1,40 +0,0 @@ -# This style is based on Seaborn-white parameters, the main differences are -# Default matplotlib font (no problem using Greek letters!) -# Larger font size for several elements -# Colorblind friendly color cycle -figure.figsize: 7.2, 4.8 -figure.dpi: 100.0 -figure.facecolor: white -figure.constrained_layout.use: True -text.color: .15 -axes.labelcolor: .15 -legend.frameon: False -legend.numpoints: 1 -legend.scatterpoints: 1 -xtick.direction: out -ytick.direction: out -xtick.color: .15 -ytick.color: .15 -axes.axisbelow: True -lines.solid_capstyle: round - -axes.labelsize: 15 -axes.titlesize: 16 -xtick.labelsize: 14 -ytick.labelsize: 14 -legend.fontsize: 14 - -axes.grid: False -axes.facecolor: white -axes.edgecolor: 0 -axes.linewidth: 1 -axes.spines.top: False -axes.spines.right: False -image.cmap: viridis -xtick.major.size: 0 -ytick.major.size: 0 -xtick.minor.size: 0 -ytick.minor.size: 0 - -# color-blind friendly cycle designed using https://colorcyclepicker.mpetroff.net/ -axes.prop_cycle: cycler('color', ['2a2eec', 'fa7c17', '328c06', 'c10c90', '933708', '65e5f3', 'e6e135', '1ccd6a', 'bd8ad5', 'b16b57']) diff --git a/arviz/plots/styles/arviz-whitegrid.mplstyle b/arviz/plots/styles/arviz-whitegrid.mplstyle deleted file mode 100644 index f6887ea52d..0000000000 --- a/arviz/plots/styles/arviz-whitegrid.mplstyle +++ /dev/null @@ -1,40 +0,0 @@ -# This style is based on Seaborn-whitegrid parameters, the main differences are -# Default matplotlib font (no problem using Greek letters!) -# Larger font size for several elements -# Colorblind friendly color cycle -figure.figsize: 7.2, 4.8 -figure.dpi: 100.0 -figure.facecolor: white -figure.constrained_layout.use: True -text.color: .15 -axes.labelcolor: .15 -legend.frameon: False -legend.numpoints: 1 -legend.scatterpoints: 1 -xtick.direction: out -ytick.direction: out -xtick.color: .15 -ytick.color: .15 -axes.axisbelow: True -grid.linestyle: - -lines.solid_capstyle: round - -axes.labelsize: 15 -axes.titlesize: 16 -xtick.labelsize: 14 -ytick.labelsize: 14 -legend.fontsize: 14 - -axes.grid: True -axes.facecolor: white -axes.edgecolor: .8 -axes.linewidth: 1 -grid.color: .8 -image.cmap: viridis -xtick.major.size: 0 -ytick.major.size: 0 -xtick.minor.size: 0 -ytick.minor.size: 0 - -# color-blind friendly cycle designed using https://colorcyclepicker.mpetroff.net/ -axes.prop_cycle: cycler('color', ['2a2eec', 'fa7c17', '328c06', 'c10c90', '933708', '65e5f3', 'e6e135', '1ccd6a', 'bd8ad5', 'b16b57']) diff --git a/arviz/plots/traceplot.py b/arviz/plots/traceplot.py deleted file mode 100644 index ab8734ec18..0000000000 --- a/arviz/plots/traceplot.py +++ /dev/null @@ -1,273 +0,0 @@ -"""Plot kde or histograms and values from MCMC samples.""" - -import warnings -from typing import Any, Callable, List, Mapping, Optional, Tuple, Union, Sequence - -from ..data import CoordSpec, InferenceData, convert_to_dataset -from ..labels import BaseLabeller -from ..rcparams import rcParams -from ..sel_utils import xarray_var_iter -from ..utils import _var_names, get_coords -from .plot_utils import KwargSpec, get_plotting_function - - -def plot_trace( - data: InferenceData, - var_names: Optional[Sequence[str]] = None, - filter_vars: Optional[str] = None, - transform: Optional[Callable] = None, - coords: Optional[CoordSpec] = None, - divergences: Optional[str] = "auto", - kind: Optional[str] = "trace", - figsize: Optional[Tuple[float, float]] = None, - rug: bool = False, - lines: Optional[List[Tuple[str, CoordSpec, Any]]] = None, - circ_var_names: Optional[List[str]] = None, - circ_var_units: str = "radians", - compact: bool = True, - compact_prop: Optional[Union[str, Mapping[str, Any]]] = None, - combined: bool = False, - chain_prop: Optional[Union[str, Mapping[str, Any]]] = None, - legend: bool = False, - plot_kwargs: Optional[KwargSpec] = None, - fill_kwargs: Optional[KwargSpec] = None, - rug_kwargs: Optional[KwargSpec] = None, - hist_kwargs: Optional[KwargSpec] = None, - trace_kwargs: Optional[KwargSpec] = None, - rank_kwargs: Optional[KwargSpec] = None, - labeller=None, - axes=None, - backend: Optional[str] = None, - backend_config: Optional[KwargSpec] = None, - backend_kwargs: Optional[KwargSpec] = None, - show: Optional[bool] = None, -): - """Plot distribution (histogram or kernel density estimates) and sampled values or rank plot. - - If `divergences` data is available in `sample_stats`, will plot the location of divergences as - dashed vertical lines. - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object - Refer to documentation of :func:`arviz.convert_to_dataset` for details - var_names: str or list of str, optional - One or more variables to be plotted. Prefix the variables by ``~`` when you want - to exclude them from the plot. - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - coords: dict of {str: slice or array_like}, optional - Coordinates of var_names to be plotted. Passed to :meth:`xarray.Dataset.sel` - divergences: {"bottom", "top", None}, optional - Plot location of divergences on the traceplots. - kind: {"trace", "rank_bars", "rank_vlines"}, optional - Choose between plotting sampled values per iteration and rank plots. - transform: callable, optional - Function to transform data (defaults to None i.e.the identity function) - figsize: tuple of (float, float), optional - If None, size is (12, variables * 2) - rug: bool, optional - If True adds a rugplot of samples. Defaults to False. Ignored for 2D KDE. - Only affects continuous variables. - lines: list of tuple of (str, dict, array_like), optional - List of (var_name, {'coord': selection}, [line, positions]) to be overplotted as - vertical lines on the density and horizontal lines on the trace. - circ_var_names : str or list of str, optional - List of circular variables to account for when plotting KDE. - circ_var_units : str - Whether the variables in ``circ_var_names`` are in "degrees" or "radians". - compact: bool, optional - Plot multidimensional variables in a single plot. - compact_prop: str or dict {str: array_like}, optional - Defines the property name and the property values to distinguish different - dimensions with compact=True. - When compact=True it defaults to color, it is - ignored otherwise. - combined: bool, optional - Flag for combining multiple chains into a single line. If False (default), chains will be - plotted separately. - chain_prop: str or dict {str: array_like}, optional - Defines the property name and the property values to distinguish different chains. - If compact=True it defaults to linestyle, - otherwise it uses the color to distinguish - different chains. - legend: bool, optional - Add a legend to the figure with the chain color code. - plot_kwargs, fill_kwargs, rug_kwargs, hist_kwargs: dict, optional - Extra keyword arguments passed to :func:`arviz.plot_dist`. Only affects continuous - variables. - trace_kwargs: dict, optional - Extra keyword arguments passed to :meth:`matplotlib.axes.Axes.plot` - labeller : labeller instance, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - rank_kwargs : dict, optional - Extra keyword arguments passed to :func:`arviz.plot_rank` - axes: axes, optional - Matplotlib axes or bokeh figures. - backend: {"matplotlib", "bokeh"}, optional - Select plotting backend. - backend_config: dict, optional - Currently specifies the bounds to use for bokeh axes. Defaults to value set in rcParams. - backend_kwargs: dict, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or - :func:`bokeh.plotting.figure`. - show: bool, optional - Call backend show function. - - Returns - ------- - axes: matplotlib axes or bokeh figures - - See Also - -------- - plot_rank : Plot rank order statistics of chains. - - Examples - -------- - Plot a subset variables and select them with partial naming - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('non_centered_eight') - >>> coords = {'school': ['Choate', 'Lawrenceville']} - >>> az.plot_trace(data, var_names=('theta'), filter_vars="like", coords=coords) - - Show all dimensions of multidimensional variables in the same plot - - .. plot:: - :context: close-figs - - >>> az.plot_trace(data, compact=True) - - Display a rank plot instead of trace - - .. plot:: - :context: close-figs - - >>> az.plot_trace(data, var_names=["mu", "tau"], kind="rank_bars") - - Combine all chains into one distribution and select variables with regular expressions - - .. plot:: - :context: close-figs - - >>> az.plot_trace( - >>> data, var_names=('^theta'), filter_vars="regex", coords=coords, combined=True - >>> ) - - - Plot reference lines against distribution and trace - - .. plot:: - :context: close-figs - - >>> lines = (('theta_t',{'school': "Choate"}, [-1]),) - >>> az.plot_trace(data, var_names=('theta_t', 'theta'), coords=coords, lines=lines) - - """ - if kind not in {"trace", "rank_vlines", "rank_bars"}: - raise ValueError("The value of kind must be either trace, rank_vlines or rank_bars.") - - if divergences == "auto": - divergences = "top" if rug else "bottom" - if divergences: - try: - divergence_data = convert_to_dataset(data, group="sample_stats").diverging.transpose( - "chain", "draw" - ) - except (ValueError, AttributeError): # No sample_stats, or no `.diverging` - divergences = None - - if coords is None: - coords = {} - - if labeller is None: - labeller = BaseLabeller() - - if divergences: - divergence_data = get_coords( - divergence_data, {k: v for k, v in coords.items() if k in ("chain", "draw")} - ) - else: - divergence_data = False - - coords_data = get_coords(convert_to_dataset(data, group="posterior"), coords) - - if transform is not None: - coords_data = transform(coords_data) - - var_names = _var_names(var_names, coords_data, filter_vars) - - skip_dims = set(coords_data.dims) - {"chain", "draw"} if compact else set() - - plotters = list( - xarray_var_iter( - coords_data, - var_names=var_names, - combined=True, - skip_dims=skip_dims, - dim_order=["chain", "draw"], - ) - ) - max_plots = rcParams["plot.max_subplots"] - max_plots = len(plotters) if max_plots is None else max(max_plots // 2, 1) - if len(plotters) > max_plots: - warnings.warn( - "rcParams['plot.max_subplots'] ({max_plots}) is smaller than the number " - "of variables to plot ({len_plotters}), generating only {max_plots} " - "plots".format(max_plots=max_plots, len_plotters=len(plotters)), - UserWarning, - ) - plotters = plotters[:max_plots] - - # TODO: Check if this can be further simplified - trace_plot_args = dict( - # User Kwargs - data=coords_data, - var_names=var_names, - # coords = coords, - divergences=divergences, - kind=kind, - figsize=figsize, - rug=rug, - lines=lines, - circ_var_names=circ_var_names, - circ_var_units=circ_var_units, - plot_kwargs=plot_kwargs, - fill_kwargs=fill_kwargs, - rug_kwargs=rug_kwargs, - hist_kwargs=hist_kwargs, - trace_kwargs=trace_kwargs, - rank_kwargs=rank_kwargs, - compact=compact, - compact_prop=compact_prop, - combined=combined, - chain_prop=chain_prop, - legend=legend, - labeller=labeller, - # Generated kwargs - divergence_data=divergence_data, - # skip_dims=skip_dims, - plotters=plotters, - axes=axes, - backend_config=backend_config, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - plot = get_plotting_function("plot_trace", "traceplot", backend) - axes = plot(**trace_plot_args) - - return axes diff --git a/arviz/plots/tsplot.py b/arviz/plots/tsplot.py deleted file mode 100644 index 8085f22ba8..0000000000 --- a/arviz/plots/tsplot.py +++ /dev/null @@ -1,440 +0,0 @@ -"""Plot timeseries data.""" - -import warnings -import numpy as np - -from ..sel_utils import xarray_var_iter -from ..rcparams import rcParams -from .plot_utils import default_grid, get_plotting_function - - -def plot_ts( - idata, - y, - x=None, - y_hat=None, - y_holdout=None, - y_forecasts=None, - x_holdout=None, - plot_dim=None, - holdout_dim=None, - num_samples=100, - backend=None, - backend_kwargs=None, - y_kwargs=None, - y_hat_plot_kwargs=None, - y_mean_plot_kwargs=None, - vline_kwargs=None, - textsize=None, - figsize=None, - legend=True, - axes=None, - show=None, -): - """Plot timeseries data. - - Parameters - ---------- - idata : InferenceData - :class:`arviz.InferenceData` object. - y : str - Variable name from ``observed_data``. - Values to be plotted on y-axis before holdout. - x : str, Optional - Values to be plotted on x-axis before holdout. - If None, coords of ``y`` dims is chosen. - y_hat : str, optional - Variable name from ``posterior_predictive``. - Assumed to be of shape ``(chain, draw, *y_dims)``. - y_holdout : str, optional - Variable name from ``observed_data``. - It represents the observed data after the holdout period. - Useful while testing the model, when you want to compare - observed test data with predictions/forecasts. - y_forecasts : str, optional - Variable name from ``posterior_predictive``. - It represents forecasts (posterior predictive) values after holdout period. - Useful to compare observed vs predictions/forecasts. - Assumed shape ``(chain, draw, *shape)``. - x_holdout : str, Defaults to coords of y. - Variable name from ``constant_data``. - If None, coords of ``y_holdout`` or - coords of ``y_forecast`` (either of the two available) is chosen. - plot_dim: str, Optional - Should be present in ``y.dims``. - Necessary for selection of ``x`` if ``x`` is None and ``y`` is multidimensional. - holdout_dim: str, Optional - Should be present in ``y_holdout.dims`` or ``y_forecats.dims``. - Necessary to choose ``x_holdout`` if ``x`` is None and - if ``y_holdout`` or ``y_forecasts`` is multidimensional. - num_samples : int, default 100 - Number of posterior predictive samples drawn from ``y_hat`` and ``y_forecasts``. - backend : {"matplotlib", "bokeh"}, default "matplotlib" - Select plotting backend. - y_kwargs : dict, optional - Passed to :meth:`matplotlib.axes.Axes.plot` in matplotlib. - y_hat_plot_kwargs : dict, optional - Passed to :meth:`matplotlib.axes.Axes.plot` in matplotlib. - y_mean_plot_kwargs : dict, optional - Passed to :meth:`matplotlib.axes.Axes.plot` in matplotlib. - vline_kwargs : dict, optional - Passed to :meth:`matplotlib.axes.Axes.axvline` in matplotlib. - backend_kwargs : dict, optional - These are kwargs specific to the backend being used. Passed to - :func:`matplotlib.pyplot.subplots`. - figsize : tuple, optional - Figure size. If None, it will be defined automatically. - textsize : float, optional - Text size scaling factor for labels, titles and lines. If None, it will be - autoscaled based on ``figsize``. - - - Returns - ------- - axes: matplotlib axes or bokeh figures. - - See Also - -------- - plot_lm : Posterior predictive and mean plots for regression-like data. - plot_ppc : Plot for posterior/prior predictive checks. - - Examples - -------- - Plot timeseries default plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> nchains, ndraws = (4, 500) - >>> obs_data = { - ... "y": 2 * np.arange(1, 9) + 3, - ... "z": 2 * np.arange(8, 12) + 3, - ... } - >>> posterior_predictive = { - ... "y": np.random.normal( - ... (obs_data["y"] * 1.2) - 3, size=(nchains, ndraws, len(obs_data["y"])) - ... ), - ... "z": np.random.normal( - ... (obs_data["z"] * 1.2) - 3, size=(nchains, ndraws, len(obs_data["z"])) - ... ), - ... } - >>> idata = az.from_dict( - ... observed_data=obs_data, - ... posterior_predictive=posterior_predictive, - ... coords={"obs_dim": np.arange(1, 9), "pred_dim": np.arange(8, 12)}, - ... dims={"y": ["obs_dim"], "z": ["pred_dim"]}, - ... ) - >>> ax = az.plot_ts(idata=idata, y="y", y_holdout="z") - - Plot timeseries multidim plot - - .. plot:: - :context: close-figs - - >>> ndim1, ndim2 = (5, 7) - >>> data = { - ... "y": np.random.normal(size=(ndim1, ndim2)), - ... "z": np.random.normal(size=(ndim1, ndim2)), - ... } - >>> posterior_predictive = { - ... "y": np.random.randn(nchains, ndraws, ndim1, ndim2), - ... "z": np.random.randn(nchains, ndraws, ndim1, ndim2), - ... } - >>> const_data = {"x": np.arange(1, 6), "x_pred": np.arange(5, 10)} - >>> idata = az.from_dict( - ... observed_data=data, - ... posterior_predictive=posterior_predictive, - ... constant_data=const_data, - ... dims={ - ... "y": ["dim1", "dim2"], - ... "z": ["holdout_dim1", "holdout_dim2"], - ... }, - ... coords={ - ... "dim1": range(ndim1), - ... "dim2": range(ndim2), - ... "holdout_dim1": range(ndim1 - 1, ndim1 + 4), - ... "holdout_dim2": range(ndim2 - 1, ndim2 + 6), - ... }, - ... ) - >>> az.plot_ts( - ... idata=idata, - ... y="y", - ... plot_dim="dim1", - ... y_holdout="z", - ... holdout_dim="holdout_dim1", - ... ) - - """ - # Assign default values if none is provided - y_hat = y if y_hat is None and isinstance(y, str) else y_hat - y_forecasts = y_holdout if y_forecasts is None and isinstance(y_holdout, str) else y_forecasts - # holdout_dim = plot_dim if holdout_dim is None and plot_dim is not None else holdout_dim - - if isinstance(y, str): - y = idata.observed_data[y] - - if isinstance(y_holdout, str): - y_holdout = idata.observed_data[y_holdout] - - if len(y.dims) > 1 and plot_dim is None: - raise ValueError("Argument plot_dim is needed in case of multidimensional data") - - if y_holdout is not None and len(y_holdout.dims) > 1 and holdout_dim is None: - raise ValueError("Argument holdout_dim is needed in case of multidimensional data") - - # Assigning values to x - x_var_names = None - if isinstance(x, str): - x = idata.constant_data[x] - elif isinstance(x, tuple): - x_var_names = x - x = idata.constant_data - elif x is None: - if plot_dim is None: - x = y.coords[y.dims[0]] - else: - x = y.coords[plot_dim] - - # If posterior_predictive is present in idata and y_hat is there, get its values - if isinstance(y_hat, str): - if "posterior_predictive" not in idata.groups(): - warnings.warn("posterior_predictive not found in idata", UserWarning) - y_hat = None - elif hasattr(idata.posterior_predictive, y_hat): - y_hat = idata.posterior_predictive[y_hat] - else: - warnings.warn("y_hat not found in posterior_predictive", UserWarning) - y_hat = None - - # If posterior_predictive is present in idata and y_forecasts is there, get its values - x_holdout_var_names = None - if isinstance(y_forecasts, str): - if "posterior_predictive" not in idata.groups(): - warnings.warn("posterior_predictive not found in idata", UserWarning) - y_forecasts = None - elif hasattr(idata.posterior_predictive, y_forecasts): - y_forecasts = idata.posterior_predictive[y_forecasts] - else: - warnings.warn("y_hat not found in posterior_predictive", UserWarning) - y_forecasts = None - - # Assign values to y_holdout - if isinstance(y_holdout, str): - y_holdout = idata.observed_data[y_holdout] - - # Assign values to x_holdout. - if y_holdout is not None or y_forecasts is not None: - if x_holdout is None: - if holdout_dim is None: - if y_holdout is None: - x_holdout = y_forecasts.coords[y_forecasts.dims[-1]] - else: - x_holdout = y_holdout.coords[y_holdout.dims[-1]] - elif y_holdout is None: - x_holdout = y_forecasts.coords[holdout_dim] - else: - x_holdout = y_holdout.coords[holdout_dim] - elif isinstance(x_holdout, str): - x_holdout = idata.constant_data[x_holdout] - elif isinstance(x_holdout, tuple): - x_holdout_var_names = x_holdout - x_holdout = idata.constant_data - - # Choose dims to generate y plotters - if plot_dim is None: - skip_dims = list(y.dims) - elif isinstance(plot_dim, str): - skip_dims = [plot_dim] - elif isinstance(plot_dim, tuple): - skip_dims = list(plot_dim) - - # Choose dims to generate y_holdout plotters - if holdout_dim is None: - if y_holdout is not None: - skip_holdout_dims = list(y_holdout.dims) - elif y_forecasts is not None: - skip_holdout_dims = list(y_forecasts.dims) - elif isinstance(holdout_dim, str): - skip_holdout_dims = [holdout_dim] - elif isinstance(holdout_dim, tuple): - skip_holdout_dims = list(holdout_dim) - - # Compulsory plotters - y_plotters = list( - xarray_var_iter( - y, - skip_dims=set(skip_dims), - combined=True, - ) - ) - - # Compulsory plotters - x_plotters = list( - xarray_var_iter( - x, - var_names=x_var_names, - skip_dims=set(x.dims), - combined=True, - ) - ) - # Necessary when multidim y - # If there are multiple x and multidimensional y, we need total of len(x)*len(y) graphs - len_y = len(y_plotters) - len_x = len(x_plotters) - length_plotters = len_x * len_y - # TODO: Incompatible types in assignment (expression has type "ndarray[Any, dtype[Any]]", - # TODO: variable has type "List[Any]") [assignment] - y_plotters = np.tile(np.array(y_plotters, dtype=object), (len_x, 1)) # type: ignore[assignment] - x_plotters = np.tile(np.array(x_plotters, dtype=object), (len_y, 1)) # type: ignore[assignment] - - # Generate plotters for all the available data - y_mean_plotters = None - y_hat_plotters = None - if y_hat is not None: - total_samples = y_hat.sizes["chain"] * y_hat.sizes["draw"] - pp_sample_ix = np.random.choice(total_samples, size=num_samples, replace=False) - - y_hat_satcked = y_hat.stack(__sample__=("chain", "draw"))[..., pp_sample_ix] - - y_hat_plotters = list( - xarray_var_iter( - y_hat_satcked, - skip_dims=set(skip_dims + ["__sample__"]), - combined=True, - ) - ) - - y_mean = y_hat.mean(("chain", "draw")) - y_mean_plotters = list( - xarray_var_iter( - y_mean, - skip_dims=set(skip_dims), - combined=True, - ) - ) - - # Necessary when multidim y - # If there are multiple x and multidimensional y, we need total of len(x)*len(y) graphs - # TODO: Incompatible types in assignment (expression has type "ndarray[Any, dtype[Any]]", - # TODO: variable has type "List[Any]") [assignment] - y_hat_plotters = np.tile( - np.array(y_hat_plotters, dtype=object), (len_x, 1) - ) # type: ignore[assignment] - y_mean_plotters = np.tile( - np.array(y_mean_plotters, dtype=object), (len_x, 1) - ) # type: ignore[assignment] - - y_holdout_plotters = None - x_holdout_plotters = None - if y_holdout is not None: - y_holdout_plotters = list( - xarray_var_iter( - y_holdout, - skip_dims=set(skip_holdout_dims), - combined=True, - ) - ) - - x_holdout_plotters = list( - xarray_var_iter( - x_holdout, - var_names=x_holdout_var_names, - skip_dims=set(x_holdout.dims), - combined=True, - ) - ) - - # Necessary when multidim y - # If there are multiple x and multidimensional y, we need total of len(x)*len(y) graphs - # TODO: Incompatible types in assignment (expression has type "ndarray[Any, dtype[Any]]", - # TODO: variable has type "List[Any]") [assignment] - y_holdout_plotters = np.tile( - np.array(y_holdout_plotters, dtype=object), (len_x, 1) - ) # type: ignore[assignment] - x_holdout_plotters = np.tile( - np.array(x_holdout_plotters, dtype=object), (len_y, 1) - ) # type: ignore[assignment] - - y_forecasts_plotters = None - y_forecasts_mean_plotters = None - if y_forecasts is not None: - total_samples = y_forecasts.sizes["chain"] * y_forecasts.sizes["draw"] - pp_sample_ix = np.random.choice(total_samples, size=num_samples, replace=False) - - y_forecasts_satcked = y_forecasts.stack(__sample__=("chain", "draw"))[..., pp_sample_ix] - - y_forecasts_plotters = list( - xarray_var_iter( - y_forecasts_satcked, - skip_dims=set(skip_holdout_dims + ["__sample__"]), - combined=True, - ) - ) - - y_forecasts_mean = y_forecasts.mean(("chain", "draw")) - y_forecasts_mean_plotters = list( - xarray_var_iter( - y_forecasts_mean, - skip_dims=set(skip_holdout_dims), - combined=True, - ) - ) - - x_holdout_plotters = list( - xarray_var_iter( - x_holdout, - var_names=x_holdout_var_names, - skip_dims=set(x_holdout.dims), - combined=True, - ) - ) - - # Necessary when multidim y - # If there are multiple x and multidimensional y, we need total of len(x)*len(y) graphs - # TODO: Incompatible types in assignment (expression has type "ndarray[Any, dtype[Any]]", - # TODO: variable has type "List[Any]") [assignment] - y_forecasts_mean_plotters = np.tile( - np.array(y_forecasts_mean_plotters, dtype=object), (len_x, 1) - ) # type: ignore[assignment] - y_forecasts_plotters = np.tile( - np.array(y_forecasts_plotters, dtype=object), (len_x, 1) - ) # type: ignore[assignment] - x_holdout_plotters = np.tile( - np.array(x_holdout_plotters, dtype=object), (len_y, 1) - ) # type: ignore[assignment] - - rows, cols = default_grid(length_plotters) - - tsplot_kwargs = dict( - x_plotters=x_plotters, - y_plotters=y_plotters, - y_mean_plotters=y_mean_plotters, - y_hat_plotters=y_hat_plotters, - y_holdout_plotters=y_holdout_plotters, - x_holdout_plotters=x_holdout_plotters, - y_forecasts_plotters=y_forecasts_plotters, - y_forecasts_mean_plotters=y_forecasts_mean_plotters, - num_samples=num_samples, - length_plotters=length_plotters, - rows=rows, - cols=cols, - backend_kwargs=backend_kwargs, - y_kwargs=y_kwargs, - y_hat_plot_kwargs=y_hat_plot_kwargs, - y_mean_plot_kwargs=y_mean_plot_kwargs, - vline_kwargs=vline_kwargs, - textsize=textsize, - figsize=figsize, - legend=legend, - axes=axes, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - plot = get_plotting_function("plot_ts", "tsplot", backend) - ax = plot(**tsplot_kwargs) - return ax diff --git a/arviz/plots/violinplot.py b/arviz/plots/violinplot.py deleted file mode 100644 index c3af7707aa..0000000000 --- a/arviz/plots/violinplot.py +++ /dev/null @@ -1,192 +0,0 @@ -"""Plot posterior traces as violin plot.""" - -from ..data import convert_to_dataset -from ..labels import BaseLabeller -from ..sel_utils import xarray_var_iter -from ..utils import _var_names -from ..rcparams import rcParams -from .plot_utils import default_grid, filter_plotters_list, get_plotting_function - - -def plot_violin( - data, - var_names=None, - combine_dims=None, - filter_vars=None, - transform=None, - quartiles=True, - rug=False, - side="both", - hdi_prob=None, - shade=0.35, - bw="default", - circular=False, - sharex=True, - sharey=True, - grid=None, - figsize=None, - textsize=None, - labeller=None, - ax=None, - shade_kwargs=None, - rug_kwargs=None, - backend=None, - backend_kwargs=None, - show=None, -): - """Plot posterior of traces as violin plot. - - Notes - ----- - If multiple chains are provided for a variable they will be combined - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object - Refer to documentation of :func:`arviz.convert_to_dataset` for details - var_names: list of variable names, optional - Variables to be plotted, if None all variable are plotted. Prefix the - variables by ``~`` when you want to exclude them from the plot. - combine_dims : set_like of str, optional - List of dimensions to reduce. Defaults to reducing only the "chain" and "draw" dimensions. - See the :ref:`this section ` for usage examples. - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - transform: callable - Function to transform data (defaults to None i.e. the identity function). - quartiles: bool, optional - Flag for plotting the interquartile range, in addition to the ``hdi_prob`` * 100% - intervals. Defaults to ``True``. - rug: bool - If ``True`` adds a jittered rugplot. Defaults to ``False``. - side : {"both", "left", "right"}, default "both" - If ``both``, both sides of the violin plot are rendered. If ``left`` or ``right``, only - the respective side is rendered. By separately plotting left and right halfs with - different data, split violin plots can be achieved. - hdi_prob: float, optional - Plots highest posterior density interval for chosen percentage of density. - Defaults to 0.94. - shade: float - Alpha blending value for the shaded area under the curve, between 0 - (no shade) and 1 (opaque). Defaults to 0. - bw: float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be - one of "scott", "silverman", "isj" or "experimental" when ``circular`` is ``False`` - and "taylor" (for now) when ``circular`` is ``True``. - Defaults to "default" which means "experimental" when variable is not circular - and "taylor" when it is. - circular: bool, optional. - If ``True``, it interprets `values` is a circular variable measured in radians - and a circular KDE is used. Defaults to ``False``. - grid : tuple - Number of rows and columns. Defaults to None, the rows and columns are - automatically inferred. - figsize: tuple - Figure size. If None it will be defined automatically. - textsize: int - Text size of the point_estimates, axis ticks, and highest density interval. If None it will - be autoscaled based on ``figsize``. - labeller : labeller instance, optional - Class providing the method ``make_label_vert`` to generate the labels in the plot titles. - Read the :ref:`label_guide` for more details and usage examples. - sharex: bool - Defaults to ``True``, violinplots share a common x-axis scale. - sharey: bool - Defaults to ``True``, violinplots share a common y-axis scale. - ax: numpy array-like of matplotlib axes or bokeh figures, optional - A 2D array of locations into which to plot the densities. If not supplied, Arviz will create - its own array of plot areas (and return it). - shade_kwargs: dicts, optional - Additional keywords passed to :meth:`matplotlib.axes.Axes.fill_between`, or - :meth:`matplotlib.axes.Axes.barh` to control the shade. - rug_kwargs: dict - Keywords passed to the rug plot. If true only the right half side of the violin will be - plotted. - backend: str, optional - Select plotting backend {"matplotlib","bokeh"}. Default to "matplotlib". - backend_kwargs: bool, optional - These are kwargs specific to the backend being used, passed to - :func:`matplotlib.pyplot.subplots` or :func:`bokeh.plotting.figure`. - For additional documentation check the plotting method of the backend. - show: bool, optional - Call backend show function. - - Returns - ------- - axes: matplotlib axes or bokeh figures - - See Also - -------- - plot_forest: Forest plot to compare HDI intervals from a number of distributions. - - Examples - -------- - Show a default violin plot - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> data = az.load_arviz_data('centered_eight') - >>> az.plot_violin(data) - - """ - if labeller is None: - labeller = BaseLabeller() - - data = convert_to_dataset(data, group="posterior") - if transform is not None: - data = transform(data) - var_names = _var_names(var_names, data, filter_vars) - - plotters = filter_plotters_list( - list(xarray_var_iter(data, var_names=var_names, combined=True, skip_dims=combine_dims)), - "plot_violin", - ) - - rows, cols = default_grid(len(plotters), grid=grid) - - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - violinplot_kwargs = dict( - ax=ax, - plotters=plotters, - figsize=figsize, - rows=rows, - cols=cols, - sharex=sharex, - sharey=sharey, - shade_kwargs=shade_kwargs, - shade=shade, - rug=rug, - rug_kwargs=rug_kwargs, - side=side, - bw=bw, - textsize=textsize, - labeller=labeller, - circular=circular, - hdi_prob=hdi_prob, - quartiles=quartiles, - backend_kwargs=backend_kwargs, - show=show, - ) - - if backend is None: - backend = rcParams["plot.backend"] - backend = backend.lower() - - if side not in ("both", "left", "right"): - raise ValueError(f"'side' can only be 'both', 'left', or 'right', got: '{side}'") - - # TODO: Add backend kwargs - plot = get_plotting_function("plot_violin", "violinplot", backend) - ax = plot(**violinplot_kwargs) - return ax diff --git a/arviz/preview.py b/arviz/preview.py deleted file mode 100644 index 8fc1dced18..0000000000 --- a/arviz/preview.py +++ /dev/null @@ -1,48 +0,0 @@ -# pylint: disable=unused-import,unused-wildcard-import,wildcard-import,invalid-name -"""Expose features from arviz-xyz refactored packages inside ``arviz.preview`` namespace.""" -import logging - -_log = logging.getLogger(__name__) - -info = "" - -try: - from arviz_base import * - - status = "arviz_base available, exposing its functions as part of arviz.preview" - _log.info(status) -except ModuleNotFoundError: - status = "arviz_base not installed" - _log.info(status) -except ImportError: - status = "Unable to import arviz_base" - _log.info(status, exc_info=True) - -info += status + "\n" - -try: - from arviz_stats import * - - status = "arviz_stats available, exposing its functions as part of arviz.preview" - _log.info(status) -except ModuleNotFoundError: - status = "arviz_stats not installed" - _log.info(status) -except ImportError: - status = "Unable to import arviz_stats" - _log.info(status, exc_info=True) -info += status + "\n" - -try: - from arviz_plots import * - - status = "arviz_plots available, exposing its functions as part of arviz.preview" - _log.info(status) -except ModuleNotFoundError: - status = "arviz_plots not installed" - _log.info(status) -except ImportError: - status = "Unable to import arviz_plots" - _log.info(status, exc_info=True) - -info += status + "\n" diff --git a/arviz/py.typed b/arviz/py.typed deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/arviz/rcparams.py b/arviz/rcparams.py deleted file mode 100644 index 668c867373..0000000000 --- a/arviz/rcparams.py +++ /dev/null @@ -1,606 +0,0 @@ -"""ArviZ rcparams. Based on matplotlib's implementation.""" - -import locale -import logging -import os -import pprint -import re -import sys -import warnings -from collections.abc import MutableMapping -from pathlib import Path -from typing import Any, Dict -from typing_extensions import Literal - -NO_GET_ARGS: bool = False # pylint: disable=invalid-name -try: - from typing_extensions import get_args -except ImportError: - NO_GET_ARGS = True # pylint: disable=invalid-name - - -import numpy as np - -_log = logging.getLogger(__name__) - -ScaleKeyword = Literal["log", "negative_log", "deviance"] -ICKeyword = Literal["loo", "waic"] - -_identity = lambda x: x - - -def _make_validate_choice(accepted_values, allow_none=False, typeof=str): - """Validate value is in accepted_values. - - Parameters - ---------- - accepted_values : iterable - Iterable containing all accepted_values. - allow_none: boolean, optional - Whether to accept ``None`` in addition to the values in ``accepted_values``. - typeof: type, optional - Type the values should be converted to. - """ - # no blank lines allowed after function docstring by pydocstyle, - # but black requires white line before function - - def validate_choice(value): - if allow_none and (value is None or isinstance(value, str) and value.lower() == "none"): - return None - try: - value = typeof(value) - except (ValueError, TypeError) as err: - raise ValueError(f"Could not convert to {typeof.__name__}") from err - if isinstance(value, str): - value = value.lower() - - if value in accepted_values: - # Convert value to python boolean if string matches - value = {"true": True, "false": False}.get(value, value) - return value - raise ValueError( - f'{value} is not one of {accepted_values}{" nor None" if allow_none else ""}' - ) - - return validate_choice - - -def _make_validate_choice_regex(accepted_values, accepted_values_regex, allow_none=False): - """Validate value is in accepted_values with regex. - - Parameters - ---------- - accepted_values : iterable - Iterable containing all accepted_values. - accepted_values_regex : iterable - Iterable containing all accepted_values with regex string. - allow_none: boolean, optional - Whether to accept ``None`` in addition to the values in ``accepted_values``. - typeof: type, optional - Type the values should be converted to. - """ - # no blank lines allowed after function docstring by pydocstyle, - # but black requires white line before function - - def validate_choice_regex(value): - if allow_none and (value is None or isinstance(value, str) and value.lower() == "none"): - return None - value = str(value) - if isinstance(value, str): - value = value.lower() - - if value in accepted_values: - # Convert value to python boolean if string matches - value = {"true": True, "false": False}.get(value, value) - return value - elif any(re.match(pattern, value) for pattern in accepted_values_regex): - return value - raise ValueError( - f"{value} is not one of {accepted_values} " - f'or in regex {accepted_values_regex}{" nor None" if allow_none else ""}' - ) - - return validate_choice_regex - - -def _validate_positive_int(value): - """Validate value is a natural number.""" - try: - value = int(value) - except ValueError as err: - raise ValueError("Could not convert to int") from err - if value > 0: - return value - else: - raise ValueError("Only positive values are valid") - - -def _validate_float(value): - """Validate value is a float.""" - try: - value = float(value) - except ValueError as err: - raise ValueError("Could not convert to float") from err - return value - - -def _validate_probability(value): - """Validate a probability: a float between 0 and 1.""" - value = _validate_float(value) - if (value < 0) or (value > 1): - raise ValueError("Only values between 0 and 1 are valid.") - return value - - -def _validate_boolean(value): - """Validate value is a float.""" - if isinstance(value, str): - value = value.lower() - if value not in {True, False, "true", "false"}: - raise ValueError("Only boolean values are valid.") - return value is True or value == "true" - - -def _add_none_to_validator(base_validator): - """Create a validator function that catches none and then calls base_fun.""" - # no blank lines allowed after function docstring by pydocstyle, - # but black requires white line before function - - def validate_with_none(value): - if value is None or isinstance(value, str) and value.lower() == "none": - return None - return base_validator(value) - - return validate_with_none - - -def _validate_bokeh_marker(value): - """Validate the markers.""" - try: - from bokeh.core.enums import MarkerType - except ImportError: - MarkerType = [ - "asterisk", - "circle", - "circle_cross", - "circle_dot", - "circle_x", - "circle_y", - "cross", - "dash", - "diamond", - "diamond_cross", - "diamond_dot", - "dot", - "hex", - "hex_dot", - "inverted_triangle", - "plus", - "square", - "square_cross", - "square_dot", - "square_pin", - "square_x", - "star", - "star_dot", - "triangle", - "triangle_dot", - "triangle_pin", - "x", - "y", - ] - all_markers = list(MarkerType) - if value not in all_markers: - raise ValueError(f"{value} is not one of {all_markers}") - return value - - -def _validate_dict_of_lists(values): - if isinstance(values, dict): - return {key: tuple(item) for key, item in values.items()} - validated_dict = {} - for value in values: - tup = value.split(":", 1) - if len(tup) != 2: - raise ValueError(f"Could not interpret '{value}' as key: list or str") - key, vals = tup - key = key.strip(' "') - vals = [val.strip(' "') for val in vals.strip(" [],").split(",")] - if key in validated_dict: - warnings.warn(f"Repeated key {key} when validating dict of lists") - validated_dict[key] = tuple(vals) - return validated_dict - - -def make_iterable_validator(scalar_validator, length=None, allow_none=False, allow_auto=False): - """Validate value is an iterable datatype.""" - # based on matplotlib's _listify_validator function - - def validate_iterable(value): - if allow_none and (value is None or isinstance(value, str) and value.lower() == "none"): - return None - if isinstance(value, str): - if allow_auto and value.lower() == "auto": - return "auto" - value = tuple(v.strip("([ ])") for v in value.split(",") if v.strip()) - if np.iterable(value) and not isinstance(value, (set, frozenset)): - val = tuple(scalar_validator(v) for v in value) - if length is not None and len(val) != length: - raise ValueError(f"Iterable must be of length: {length}") - return val - raise ValueError("Only ordered iterable values are valid") - - return validate_iterable - - -_validate_float_or_none = _add_none_to_validator(_validate_float) -_validate_positive_int_or_none = _add_none_to_validator(_validate_positive_int) -_validate_bokeh_bounds = make_iterable_validator( # pylint: disable=invalid-name - _validate_float_or_none, length=2, allow_none=True, allow_auto=True -) - -METAGROUPS = { - "posterior_groups": ["posterior", "posterior_predictive", "sample_stats", "log_likelihood"], - "prior_groups": ["prior", "prior_predictive", "sample_stats_prior"], - "posterior_groups_warmup": [ - "_warmup_posterior", - "_warmup_posterior_predictive", - "_warmup_sample_stats", - ], - "latent_vars": ["posterior", "prior"], - "observed_vars": ["posterior_predictive", "observed_data", "prior_predictive"], -} - -defaultParams = { # pylint: disable=invalid-name - "data.http_protocol": ("https", _make_validate_choice({"https", "http"})), - "data.load": ("lazy", _make_validate_choice({"lazy", "eager"})), - "data.metagroups": (METAGROUPS, _validate_dict_of_lists), - "data.index_origin": (0, _make_validate_choice({0, 1}, typeof=int)), - "data.log_likelihood": (True, _validate_boolean), - "data.save_warmup": (False, _validate_boolean), - "plot.backend": ("matplotlib", _make_validate_choice({"matplotlib", "bokeh"})), - "plot.density_kind": ("kde", _make_validate_choice({"kde", "hist"})), - "plot.max_subplots": (40, _validate_positive_int_or_none), - "plot.point_estimate": ( - "mean", - _make_validate_choice({"mean", "median", "mode"}, allow_none=True), - ), - "plot.bokeh.bounds_x_range": ("auto", _validate_bokeh_bounds), - "plot.bokeh.bounds_y_range": ("auto", _validate_bokeh_bounds), - "plot.bokeh.figure.dpi": (60, _validate_positive_int), - "plot.bokeh.figure.height": (500, _validate_positive_int), - "plot.bokeh.figure.width": (500, _validate_positive_int), - "plot.bokeh.layout.order": ( - "default", - _make_validate_choice_regex( - {"default", r"column", r"row", "square", "square_trimmed"}, {r"\d*column", r"\d*row"} - ), - ), - "plot.bokeh.layout.sizing_mode": ( - "fixed", - _make_validate_choice( - { - "fixed", - "stretch_width", - "stretch_height", - "stretch_both", - "scale_width", - "scale_height", - "scale_both", - } - ), - ), - "plot.bokeh.layout.toolbar_location": ( - "above", - _make_validate_choice({"above", "below", "left", "right"}, allow_none=True), - ), - "plot.bokeh.marker": ("cross", _validate_bokeh_marker), - "plot.bokeh.output_backend": ("webgl", _make_validate_choice({"canvas", "svg", "webgl"})), - "plot.bokeh.show": (True, _validate_boolean), - "plot.bokeh.tools": ( - "reset,pan,box_zoom,wheel_zoom,lasso_select,undo,save,hover", - lambda x: x, - ), - "plot.matplotlib.show": (False, _validate_boolean), - "stats.ci_prob": (0.94, _validate_probability), - "stats.information_criterion": ( - "loo", - _make_validate_choice({"loo", "waic"} if NO_GET_ARGS else set(get_args(ICKeyword))), - ), - "stats.ic_pointwise": (True, _validate_boolean), - "stats.ic_scale": ( - "log", - _make_validate_choice( - {"log", "negative_log", "deviance"} if NO_GET_ARGS else set(get_args(ScaleKeyword)) - ), - ), - "stats.ic_compare_method": ( - "stacking", - _make_validate_choice({"stacking", "bb-pseudo-bma", "pseudo-bma"}), - ), -} - -# map from deprecated params to (version, new_param, fold2new, fnew2old) -deprecated_map = {"stats.hdi_prob": ("0.18.0", "stats.ci_prob", _identity, _identity)} - - -class RcParams(MutableMapping): - """Class to contain ArviZ default parameters. - - It is implemented as a dict with validation when setting items. - """ - - validate = {key: validate_fun for key, (_, validate_fun) in defaultParams.items()} - - # validate values on the way in - def __init__(self, *args, **kwargs): - self._underlying_storage: Dict[str, Any] = {} - super().__init__() - self.update(*args, **kwargs) - - def __setitem__(self, key, val): - """Add validation to __setitem__ function.""" - if key in deprecated_map: - version, key_new, fold2new, _ = deprecated_map[key] - warnings.warn( - f"{key} is deprecated since {version}, use {key_new} instead", - FutureWarning, - ) - key = key_new - val = fold2new(val) - - try: - try: - cval = self.validate[key](val) - except ValueError as verr: - raise ValueError(f"Key {key}: {str(verr)}") from verr - self._underlying_storage[key] = cval - except KeyError as err: - raise KeyError( - f"{key} is not a valid rc parameter " - f"(see rcParams.keys() for a list of valid parameters)" - ) from err - - def __getitem__(self, key): - """Use underlying dict's getitem method.""" - if key in deprecated_map: - version, key_new, _, fnew2old = deprecated_map[key] - warnings.warn( - f"{key} is deprecated since {version}, use {key_new} instead", - FutureWarning, - ) - if key not in self._underlying_storage: - key = key_new - else: - fnew2old = _identity - - return fnew2old(self._underlying_storage[key]) - - def __delitem__(self, key): - """Raise TypeError if someone ever tries to delete a key from RcParams.""" - raise TypeError("RcParams keys cannot be deleted") - - def clear(self): - """Raise TypeError if someone ever tries to delete all keys from RcParams.""" - raise TypeError("RcParams keys cannot be deleted") - - def pop(self, key, default=None): - """Raise TypeError if someone ever tries to delete a key from RcParams.""" - raise TypeError( - "RcParams keys cannot be deleted. Use .get(key) of RcParams[key] to check values" - ) - - def popitem(self): - """Raise TypeError if someone ever tries to delete a key from RcParams.""" - raise TypeError( - "RcParams keys cannot be deleted. Use .get(key) of RcParams[key] to check values" - ) - - def setdefault(self, key, default=None): - """Raise error when using setdefault, defaults are handled on initialization.""" - raise TypeError( - "Defaults in RcParams are handled on object initialization during library" - "import. Use arvizrc file instead." - "" - ) - - def __repr__(self): - """Customize repr of RcParams objects.""" - class_name = self.__class__.__name__ - indent = len(class_name) + 1 - repr_split = pprint.pformat( - self._underlying_storage, - indent=1, - width=80 - indent, - ).split("\n") - repr_indented = ("\n" + " " * indent).join(repr_split) - return f"{class_name}({repr_indented})" - - def __str__(self): - """Customize str/print of RcParams objects.""" - return "\n".join(map("{0[0]:<22}: {0[1]}".format, sorted(self._underlying_storage.items()))) - - def __iter__(self): - """Yield sorted list of keys.""" - yield from sorted(self._underlying_storage.keys()) - - def __len__(self): - """Use underlying dict's len method.""" - return len(self._underlying_storage) - - def find_all(self, pattern): - """ - Find keys that match a regex pattern. - - Return the subset of this RcParams dictionary whose keys match, - using :func:`re.search`, the given ``pattern``. - - Notes - ----- - Changes to the returned dictionary are *not* propagated to - the parent RcParams dictionary. - """ - pattern_re = re.compile(pattern) - return RcParams((key, value) for key, value in self.items() if pattern_re.search(key)) - - def copy(self): - """Get a copy of the RcParams object.""" - return dict(self._underlying_storage) - - -def get_arviz_rcfile(): - """Get arvizrc file. - - The file location is determined in the following order: - - - ``$PWD/arvizrc`` - - ``$ARVIZ_DATA/arvizrc`` - - On Linux, - - ``$XDG_CONFIG_HOME/arviz/arvizrc`` (if ``$XDG_CONFIG_HOME`` - is defined) - - or ``$HOME/.config/arviz/arvizrc`` (if ``$XDG_CONFIG_HOME`` - is not defined) - - On other platforms, - - ``$HOME/.arviz/arvizrc`` if ``$HOME`` is defined - - Otherwise, the default defined in ``rcparams.py`` file will be used. - """ - # no blank lines allowed after function docstring by pydocstyle, - # but black requires white line before function - - def gen_candidates(): - yield os.path.join(os.getcwd(), "arvizrc") - arviz_data_dir = os.environ.get("ARVIZ_DATA") - if arviz_data_dir: - yield os.path.join(arviz_data_dir, "arvizrc") - xdg_base = os.environ.get("XDG_CONFIG_HOME", str(Path.home() / ".config")) - if sys.platform.startswith(("linux", "freebsd")): - configdir = str(Path(xdg_base, "arviz")) - else: - configdir = str(Path.home() / ".arviz") - yield os.path.join(configdir, "arvizrc") - - for fname in gen_candidates(): - if os.path.exists(fname) and not os.path.isdir(fname): - return fname - - return None - - -def read_rcfile(fname): - """Return :class:`arviz.RcParams` from the contents of the given file. - - Unlike `rc_params_from_file`, the configuration class only contains the - parameters specified in the file (i.e. default values are not filled in). - """ - _error_details_fmt = 'line #%d\n\t"%s"\n\tin file "%s"' - - config = RcParams() - with open(fname, "r", encoding="utf8") as rcfile: - try: - multiline = False - for line_no, line in enumerate(rcfile, 1): - strippedline = line.split("#", 1)[0].strip() - if not strippedline: - continue - if multiline: - if strippedline == "}": - multiline = False - val = aux_val - else: - aux_val.append(strippedline) - continue - else: - tup = strippedline.split(":", 1) - if len(tup) != 2: - error_details = _error_details_fmt % (line_no, line, fname) - _log.warning("Illegal %s", error_details) - continue - key, val = tup - key = key.strip() - val = val.strip() - if key in config: - _log.warning("Duplicate key in file %r line #%d.", fname, line_no) - if key in {"data.metagroups"}: - aux_val = [] - multiline = True - continue - try: - config[key] = val - except ValueError as verr: - error_details = _error_details_fmt % (line_no, line, fname) - raise ValueError(f"Bad val {val} on {error_details}\n\t{str(verr)}") from verr - - except UnicodeDecodeError: - _log.warning( - "Cannot decode configuration file %s with encoding " - "%s, check LANG and LC_* variables.", - fname, - locale.getpreferredencoding(do_setlocale=False) or "utf-8 (default)", - ) - raise - - return config - - -def rc_params(ignore_files=False): - """Read and validate arvizrc file.""" - fname = None if ignore_files else get_arviz_rcfile() - defaults = RcParams([(key, default) for key, (default, _) in defaultParams.items()]) - if fname is not None: - file_defaults = read_rcfile(fname) - defaults.update(file_defaults) - return defaults - - -rcParams = rc_params() # pylint: disable=invalid-name - - -class rc_context: # pylint: disable=invalid-name - """ - Return a context manager for managing rc settings. - - Parameters - ---------- - rc : dict, optional - Mapping containing the rcParams to modify temporally. - fname : str, optional - Filename of the file containing the rcParams to use inside the rc_context. - - Examples - -------- - This allows one to do:: - - with az.rc_context(fname='pystan.rc'): - idata = az.load_arviz_data("radon") - az.plot_posterior(idata, var_names=["gamma"]) - - The plot would have settings from 'screen.rc' - - A dictionary can also be passed to the context manager:: - - with az.rc_context(rc={'plot.max_subplots': None}, fname='pystan.rc'): - idata = az.load_arviz_data("radon") - az.plot_posterior(idata, var_names=["gamma"]) - - The 'rc' dictionary takes precedence over the settings loaded from - 'fname'. Passing a dictionary only is also valid. - """ - - # Based on mpl.rc_context - - def __init__(self, rc=None, fname=None): - self._orig = rcParams.copy() - if fname: - file_rcparams = read_rcfile(fname) - rcParams.update(file_rcparams) - if rc: - rcParams.update(rc) - - def __enter__(self): - """Define enter method of context manager.""" - return self - - def __exit__(self, exc_type, exc_value, exc_tb): - """Define exit method of context manager.""" - rcParams.update(self._orig) diff --git a/arviz/sel_utils.py b/arviz/sel_utils.py deleted file mode 100644 index c538b5e1f7..0000000000 --- a/arviz/sel_utils.py +++ /dev/null @@ -1,223 +0,0 @@ -"""Utilities for selecting and iterating on xarray objects.""" - -from itertools import product, tee - -import numpy as np -import xarray as xr - -from .labels import BaseLabeller - -__all__ = ["xarray_sel_iter", "xarray_var_iter", "xarray_to_ndarray"] - - -def selection_to_string(selection): - """Convert dictionary of coordinates to a string for labels. - - Parameters - ---------- - selection : dict[Any] -> Any - - Returns - ------- - str - key1: value1, key2: value2, ... - """ - return ", ".join([f"{v}" for _, v in selection.items()]) - - -def make_label(var_name, selection, position="below"): - """Consistent labelling for plots. - - Parameters - ---------- - var_name : str - Name of the variable - - selection : dict[Any] -> Any - Coordinates of the variable - position : str - Whether to position the coordinates' label "below" (default) or "beside" - the name of the variable - - Returns - ------- - label - A text representation of the label - """ - if selection: - sel = selection_to_string(selection) - if position == "below": - base = "{}\n{}" - elif position == "beside": - base = "{}[{}]" - else: - sel = "" - base = "{}{}" - return base.format(var_name, sel) - - -def _dims(data, var_name, skip_dims): - return [dim for dim in data[var_name].dims if dim not in skip_dims] - - -def _zip_dims(new_dims, vals): - return [dict(zip(new_dims, prod)) for prod in product(*vals)] - - -def xarray_sel_iter(data, var_names=None, combined=False, skip_dims=None, reverse_selections=False): - """Convert xarray data to an iterator over variable names and selections. - - Iterates over each var_name and all of its coordinates, returning the variable - names and selections that allow properly obtain the data from ``data`` as desired. - - Parameters - ---------- - data : xarray.Dataset - Posterior data in an xarray - - var_names : iterator of strings (optional) - Should be a subset of data.data_vars. Defaults to all of them. - - combined : bool - Whether to combine chains or leave them separate - - skip_dims : set - dimensions to not iterate over - - reverse_selections : bool - Whether to reverse selections before iterating. - - Returns - ------- - Iterator of (var_name: str, selection: dict(str, any)) - The string is the variable name, the dictionary are coordinate names to values,. - To get the values of the variable at these coordinates, do - ``data[var_name].sel(**selection)``. - """ - if skip_dims is None: - skip_dims = set() - - if combined: - skip_dims = skip_dims.union({"chain", "draw"}) - else: - skip_dims.add("draw") - - if var_names is None: - if isinstance(data, xr.Dataset): - var_names = list(data.data_vars) - elif isinstance(data, xr.DataArray): - var_names = [data.name] - data = {data.name: data} - - for var_name in var_names: - if var_name in data: - new_dims = _dims(data, var_name, skip_dims) - vals = [list(dict.fromkeys(data[var_name][dim].values)) for dim in new_dims] - dims = _zip_dims(new_dims, vals) - idims = _zip_dims(new_dims, [range(len(v)) for v in vals]) - if reverse_selections: - dims = reversed(dims) - idims = reversed(idims) - - for selection, iselection in zip(dims, idims): - yield var_name, selection, iselection - - -def xarray_var_iter( - data, var_names=None, combined=False, skip_dims=None, reverse_selections=False, dim_order=None -): - """Convert xarray data to an iterator over vectors. - - Iterates over each var_name and all of its coordinates, returning the 1d - data. - - Parameters - ---------- - data : xarray.Dataset - Posterior data in an xarray - - var_names : iterator of strings (optional) - Should be a subset of data.data_vars. Defaults to all of them. - - combined : bool - Whether to combine chains or leave them separate - - skip_dims : set - dimensions to not iterate over - - reverse_selections : bool - Whether to reverse selections before iterating. - - dim_order: list - Order for the first dimensions. Skips dimensions not found in the variable. - - Returns - ------- - Iterator of (str, dict(str, any), np.array) - The string is the variable name, the dictionary are coordinate names to values, - and the array are the values of the variable at those coordinates. - """ - data_to_sel = data - if var_names is None and isinstance(data, xr.DataArray): - data_to_sel = {data.name: data} - - if isinstance(dim_order, str): - dim_order = [dim_order] - - for var_name, selection, iselection in xarray_sel_iter( - data, - var_names=var_names, - combined=combined, - skip_dims=skip_dims, - reverse_selections=reverse_selections, - ): - selected_data = data_to_sel[var_name].sel(**selection) - if dim_order is not None: - dim_order_selected = [dim for dim in dim_order if dim in selected_data.dims] - if dim_order_selected: - selected_data = selected_data.transpose(*dim_order_selected, ...) - yield var_name, selection, iselection, selected_data.values - - -def xarray_to_ndarray(data, *, var_names=None, combined=True, label_fun=None): - """Take xarray data and unpacks into variables and data into list and numpy array respectively. - - Assumes that chain and draw are in coordinates - - Parameters - ---------- - data: xarray.DataSet - Data in an xarray from an InferenceData object. Examples include posterior or sample_stats - - var_names: iter - Should be a subset of data.data_vars not including chain and draws. Defaults to all of them - - combined: bool - Whether to combine chain into one array - - Returns - ------- - var_names: list - List of variable names - data: np.array - Data values - """ - if label_fun is None: - label_fun = BaseLabeller().make_label_vert - data_to_sel = data - if var_names is None and isinstance(data, xr.DataArray): - data_to_sel = {data.name: data} - - iterator1, iterator2 = tee(xarray_sel_iter(data, var_names=var_names, combined=combined)) - vars_and_sel = list(iterator1) - unpacked_var_names = [ - label_fun(var_name, selection, isel) for var_name, selection, isel in vars_and_sel - ] - - # Merge chains and variables, check dtype to be compatible with divergences data - data0 = data_to_sel[vars_and_sel[0][0]].sel(**vars_and_sel[0][1]) - unpacked_data = np.empty((len(unpacked_var_names), data0.size), dtype=data0.dtype) - for idx, (var_name, selection, _) in enumerate(iterator2): - unpacked_data[idx] = data_to_sel[var_name].sel(**selection).values.flatten() - - return unpacked_var_names, unpacked_data diff --git a/arviz/static/css/style.css b/arviz/static/css/style.css deleted file mode 100644 index f2d5dc60f1..0000000000 --- a/arviz/static/css/style.css +++ /dev/null @@ -1,340 +0,0 @@ -/* CSS stylesheet for displaying InferenceData objects in jupyterlab. - * - */ - -:root { - --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1)); - --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54)); - --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38)); - --xr-border-color: var(--jp-border-color2, #e0e0e0); - --xr-disabled-color: var(--jp-layout-color3, #bdbdbd); - --xr-background-color: var(--jp-layout-color0, white); - --xr-background-color-row-even: var(--jp-layout-color1, white); - --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee); -} - -html[theme=dark], -body.vscode-dark { - --xr-font-color0: rgba(255, 255, 255, 1); - --xr-font-color2: rgba(255, 255, 255, 0.54); - --xr-font-color3: rgba(255, 255, 255, 0.38); - --xr-border-color: #1F1F1F; - --xr-disabled-color: #515151; - --xr-background-color: #111111; - --xr-background-color-row-even: #111111; - --xr-background-color-row-odd: #313131; -} - -.xr-wrap { - display: block; - min-width: 300px; - max-width: 700px; -} - -.xr-text-repr-fallback { - /* fallback to plain text repr when CSS is not injected (untrusted notebook) */ - display: none; -} - -.xr-header { - padding-top: 6px; - padding-bottom: 6px; - margin-bottom: 4px; - border-bottom: solid 1px var(--xr-border-color); -} - -.xr-header > div, -.xr-header > ul { - display: inline; - margin-top: 0; - margin-bottom: 0; -} - -.xr-obj-type, -.xr-array-name { - margin-left: 2px; - margin-right: 10px; -} - -.xr-obj-type { - color: var(--xr-font-color2); -} - -.xr-sections { - padding-left: 0 !important; - display: grid; - grid-template-columns: 150px auto auto 1fr 20px 20px; -} - -.xr-sections.group-sections { - grid-template-columns: auto; -} - -.xr-section-item { - display: contents; -} - -.xr-section-item input { - display: none; -} - -.xr-section-item input + label { - color: var(--xr-disabled-color); -} - -.xr-section-item input:enabled + label { - cursor: pointer; - color: var(--xr-font-color2); -} - -.xr-section-item input:enabled + label:hover { - color: var(--xr-font-color0); -} - -.xr-section-summary { - grid-column: 1; - color: var(--xr-font-color2); - font-weight: 500; -} - -.xr-section-summary > span { - display: inline-block; - padding-left: 0.5em; -} - -.xr-section-summary-in:disabled + label { - color: var(--xr-font-color2); -} - -.xr-section-summary-in + label:before { - display: inline-block; - content: '►'; - font-size: 11px; - width: 15px; - text-align: center; -} - -.xr-section-summary-in:disabled + label:before { - color: var(--xr-disabled-color); -} - -.xr-section-summary-in:checked + label:before { - content: '▼'; -} - -.xr-section-summary-in:checked + label > span { - display: none; -} - -.xr-section-summary, -.xr-section-inline-details { - padding-top: 4px; - padding-bottom: 4px; -} - -.xr-section-inline-details { - grid-column: 2 / -1; -} - -.xr-section-details { - display: none; - grid-column: 1 / -1; - margin-bottom: 5px; -} - -.xr-section-summary-in:checked ~ .xr-section-details { - display: contents; -} - -.xr-array-wrap { - grid-column: 1 / -1; - display: grid; - grid-template-columns: 20px auto; -} - -.xr-array-wrap > label { - grid-column: 1; - vertical-align: top; -} - -.xr-preview { - color: var(--xr-font-color3); -} - -.xr-array-preview, -.xr-array-data { - padding: 0 5px !important; - grid-column: 2; -} - -.xr-array-data, -.xr-array-in:checked ~ .xr-array-preview { - display: none; -} - -.xr-array-in:checked ~ .xr-array-data, -.xr-array-preview { - display: inline-block; -} - -.xr-dim-list { - display: inline-block !important; - list-style: none; - padding: 0 !important; - margin: 0; -} - -.xr-dim-list li { - display: inline-block; - padding: 0; - margin: 0; -} - -.xr-dim-list:before { - content: '('; -} - -.xr-dim-list:after { - content: ')'; -} - -.xr-dim-list li:not(:last-child):after { - content: ','; - padding-right: 5px; -} - -.xr-has-index { - font-weight: bold; -} - -.xr-var-list, -.xr-var-item { - display: contents; -} - -.xr-var-item > div, -.xr-var-item label, -.xr-var-item > .xr-var-name span { - background-color: var(--xr-background-color-row-even); - margin-bottom: 0; -} - -.xr-var-item > .xr-var-name:hover span { - padding-right: 5px; -} - -.xr-var-list > li:nth-child(odd) > div, -.xr-var-list > li:nth-child(odd) > label, -.xr-var-list > li:nth-child(odd) > .xr-var-name span { - background-color: var(--xr-background-color-row-odd); -} - -.xr-var-name { - grid-column: 1; -} - -.xr-var-dims { - grid-column: 2; -} - -.xr-var-dtype { - grid-column: 3; - text-align: right; - color: var(--xr-font-color2); -} - -.xr-var-preview { - grid-column: 4; -} - -.xr-var-name, -.xr-var-dims, -.xr-var-dtype, -.xr-preview, -.xr-attrs dt { - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - padding-right: 10px; -} - -.xr-var-name:hover, -.xr-var-dims:hover, -.xr-var-dtype:hover, -.xr-attrs dt:hover { - overflow: visible; - width: auto; - z-index: 1; -} - -.xr-var-attrs, -.xr-var-data { - display: none; - background-color: var(--xr-background-color) !important; - padding-bottom: 5px !important; -} - -.xr-var-attrs-in:checked ~ .xr-var-attrs, -.xr-var-data-in:checked ~ .xr-var-data { - display: block; -} - -.xr-var-data > table { - float: right; -} - -.xr-var-name span, -.xr-var-data, -.xr-attrs { - padding-left: 25px !important; -} - -.xr-attrs, -.xr-var-attrs, -.xr-var-data { - grid-column: 1 / -1; -} - -dl.xr-attrs { - padding: 0; - margin: 0; - display: grid; - grid-template-columns: 125px auto; -} - -.xr-attrs dt, -.xr-attrs dd { - padding: 0; - margin: 0; - float: left; - padding-right: 10px; - width: auto; -} - -.xr-attrs dt { - font-weight: normal; - grid-column: 1; -} - -.xr-attrs dt:hover span { - display: inline-block; - background: var(--xr-background-color); - padding-right: 10px; -} - -.xr-attrs dd { - grid-column: 2; - white-space: pre-wrap; - word-break: break-all; -} - -.xr-icon-database, -.xr-icon-file-text2 { - display: inline-block; - vertical-align: middle; - width: 1em; - height: 1.5em !important; - stroke-width: 0; - stroke: currentColor; - fill: currentColor; -} diff --git a/arviz/static/html/icons-svg-inline.html b/arviz/static/html/icons-svg-inline.html deleted file mode 100644 index b0e837a26c..0000000000 --- a/arviz/static/html/icons-svg-inline.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/arviz/stats/__init__.py b/arviz/stats/__init__.py deleted file mode 100644 index e3fb0c14c8..0000000000 --- a/arviz/stats/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -# pylint: disable=wildcard-import -"""Statistical tests and diagnostics for ArviZ.""" -from .density_utils import * -from .diagnostics import * -from .stats import * -from .stats import _calculate_ics -from .stats_refitting import * -from .stats_utils import * - -__all__ = [ - "apply_test_function", - "bayes_factor", - "bfmi", - "compare", - "hdi", - "kde", - "loo", - "loo_pit", - "psislw", - "r2_samples", - "r2_score", - "summary", - "waic", - "weight_predictions", - "ELPDData", - "ess", - "rhat", - "mcse", - "autocorr", - "autocov", - "make_ufunc", - "smooth_data", - "wrap_xarray_ufunc", - "reloo", - "_calculate_ics", - "psens", -] diff --git a/arviz/stats/density_utils.py b/arviz/stats/density_utils.py deleted file mode 100644 index 91c18cd559..0000000000 --- a/arviz/stats/density_utils.py +++ /dev/null @@ -1,1013 +0,0 @@ -# pylint: disable=invalid-name,too-many-lines -"""Density estimation functions for ArviZ.""" -import warnings - -import numpy as np -from scipy.fftpack import fft -from scipy.optimize import brentq -from scipy.signal import convolve, convolve2d -from scipy.signal.windows import gaussian -from scipy.sparse import coo_matrix -from scipy.special import ive # pylint: disable=no-name-in-module - -from ..utils import _cov, _dot, _stack, conditional_jit - -__all__ = ["kde"] - - -def _bw_scott(x, x_std=None, **kwargs): # pylint: disable=unused-argument - """Scott's Rule.""" - if x_std is None: - x_std = np.std(x) - bw = 1.06 * x_std * len(x) ** (-0.2) - return bw - - -def _bw_silverman(x, x_std=None, **kwargs): # pylint: disable=unused-argument - """Silverman's Rule.""" - if x_std is None: - x_std = np.std(x) - q75, q25 = np.percentile(x, [75, 25]) - x_iqr = q75 - q25 - a = min(x_std, x_iqr / 1.34) - bw = 0.9 * a * len(x) ** (-0.2) - return bw - - -def _bw_isj(x, grid_counts=None, x_std=None, x_range=None): - """Improved Sheather-Jones bandwidth estimation. - - Improved Sheather and Jones method as explained in [1]_. This method is used internally by the - KDE estimator, resulting in saved computation time as minimums, maximums and the grid are - pre-computed. - - References - ---------- - .. [1] Kernel density estimation via diffusion. - Z. I. Botev, J. F. Grotowski, and D. P. Kroese. - Ann. Statist. 38 (2010), no. 5, 2916--2957. - """ - x_len = len(x) - if x_range is None: - x_min = np.min(x) - x_max = np.max(x) - x_range = x_max - x_min - - # Relative frequency per bin - if grid_counts is None: - x_std = np.std(x) - grid_len = 256 - grid_min = x_min - 0.5 * x_std - grid_max = x_max + 0.5 * x_std - grid_counts, _, _ = histogram(x, grid_len, (grid_min, grid_max)) - else: - grid_len = len(grid_counts) - 1 - - grid_relfreq = grid_counts / x_len - - # Discrete cosine transform of the data - a_k = _dct1d(grid_relfreq) - - k_sq = np.arange(1, grid_len) ** 2 - a_sq = a_k[range(1, grid_len)] ** 2 - - t = _root(_fixed_point, x_len, args=(x_len, k_sq, a_sq), x=x) - h = t**0.5 * x_range - return h - - -def _bw_experimental(x, grid_counts=None, x_std=None, x_range=None): - """Experimental bandwidth estimator.""" - bw_silverman = _bw_silverman(x, x_std=x_std) - bw_isj = _bw_isj(x, grid_counts=grid_counts, x_range=x_range) - return 0.5 * (bw_silverman + bw_isj) - - -def _bw_taylor(x): - """Taylor's rule for circular bandwidth estimation. - - This function implements a rule-of-thumb for choosing the bandwidth of a von Mises kernel - density estimator that assumes the underlying distribution is von Mises as introduced in [1]_. - It is analogous to Scott's rule for the Gaussian KDE. - - Circular bandwidth has a different scale from linear bandwidth. Unlike linear scale, low - bandwidths are associated with oversmoothing and high values with undersmoothing. - - References - ---------- - .. [1] C.C Taylor (2008). Automatic bandwidth selection for circular - density estimation. - Computational Statistics and Data Analysis, 52, 7, 3493–3500. - """ - x_len = len(x) - kappa = _kappa_mle(x) - num = 3 * x_len * kappa**2 * ive(2, 2 * kappa) - den = 4 * np.pi**0.5 * ive(0, kappa) ** 2 - return (num / den) ** 0.4 - - -_BW_METHODS_LINEAR = { - "scott": _bw_scott, - "silverman": _bw_silverman, - "isj": _bw_isj, - "experimental": _bw_experimental, -} - - -def _get_bw(x, bw, grid_counts=None, x_std=None, x_range=None): - """Compute bandwidth for a given data `x` and `bw`. - - Also checks `bw` is correctly specified. - - Parameters - ---------- - x : 1-D numpy array - 1 dimensional array of sample data from the - variable for which a density estimate is desired. - bw: int, float or str - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth. - - Returns - ------- - bw: float - Bandwidth - """ - if isinstance(bw, bool): - raise ValueError( - ( - "`bw` must not be of type `bool`.\n" - "Expected a positive numeric or one of the following strings:\n" - f"{list(_BW_METHODS_LINEAR)}." - ) - ) - if isinstance(bw, (int, float)): - if bw < 0: - raise ValueError(f"Numeric `bw` must be positive.\nInput: {bw:.4f}.") - elif isinstance(bw, str): - bw_lower = bw.lower() - - if bw_lower not in _BW_METHODS_LINEAR: - raise ValueError( - "Unrecognized bandwidth method.\n" - f"Input is: {bw_lower}.\n" - f"Expected one of: {list(_BW_METHODS_LINEAR)}." - ) - - bw_fun = _BW_METHODS_LINEAR[bw_lower] - bw = bw_fun(x, grid_counts=grid_counts, x_std=x_std, x_range=x_range) - else: - raise ValueError( - "Unrecognized `bw` argument.\n" - "Expected a positive numeric or one of the following strings:\n" - f"{list(_BW_METHODS_LINEAR)}." - ) - return bw - - -def _vonmises_pdf(x, mu, kappa): - """Calculate vonmises_pdf.""" - if kappa <= 0: - raise ValueError("Argument 'kappa' must be positive.") - pdf = 1 / (2 * np.pi * ive(0, kappa)) * np.exp(np.cos(x - mu) - 1) ** kappa - return pdf - - -def _a1inv(x): - """Compute inverse function. - - Inverse function of the ratio of the first and - zeroth order Bessel functions of the first kind. - - Returns the value k, such that a1inv(x) = k, i.e. a1(k) = x. - """ - if 0 <= x < 0.53: - return 2 * x + x**3 + (5 * x**5) / 6 - elif x < 0.85: - return -0.4 + 1.39 * x + 0.43 / (1 - x) - else: - return 1 / (x**3 - 4 * x**2 + 3 * x) - - -def _kappa_mle(x): - mean = _circular_mean(x) - kappa = _a1inv(np.mean(np.cos(x - mean))) - return kappa - - -def _dct1d(x): - """Discrete Cosine Transform in 1 Dimension. - - Parameters - ---------- - x : numpy array - 1 dimensional array of values for which the - DCT is desired - - Returns - ------- - output : DTC transformed values - """ - x_len = len(x) - - even_increasing = np.arange(0, x_len, 2) - odd_decreasing = np.arange(x_len - 1, 0, -2) - - x = np.concatenate((x[even_increasing], x[odd_decreasing])) - - w_1k = np.r_[1, (2 * np.exp(-(0 + 1j) * (np.arange(1, x_len)) * np.pi / (2 * x_len)))] - output = np.real(w_1k * fft(x)) - - return output - - -def _fixed_point(t, N, k_sq, a_sq): - """Calculate t-zeta*gamma^[l](t). - - Implementation of the function t-zeta*gamma^[l](t) derived from equation (30) in [1]. - - References - ---------- - .. [1] Kernel density estimation via diffusion. - Z. I. Botev, J. F. Grotowski, and D. P. Kroese. - Ann. Statist. 38 (2010), no. 5, 2916--2957. - """ - k_sq = np.asarray(k_sq, dtype=np.float64) - a_sq = np.asarray(a_sq, dtype=np.float64) - - l = 7 - f = np.sum(np.power(k_sq, l) * a_sq * np.exp(-k_sq * np.pi**2 * t)) - f *= 0.5 * np.pi ** (2.0 * l) - - for j in np.arange(l - 1, 2 - 1, -1): - c1 = (1 + 0.5 ** (j + 0.5)) / 3 - c2 = np.prod(np.arange(1.0, 2 * j + 1, 2, dtype=np.float64)) - c2 /= (np.pi / 2) ** 0.5 - t_j = np.power((c1 * (c2 / (N * f))), (2.0 / (3.0 + 2.0 * j))) - f = np.sum(k_sq**j * a_sq * np.exp(-k_sq * np.pi**2.0 * t_j)) - f *= 0.5 * np.pi ** (2 * j) - - out = t - (2 * N * np.pi**0.5 * f) ** (-0.4) - return out - - -def _root(function, N, args, x): - # The right bound is at most 0.01 - found = False - N = max(min(1050, N), 50) - tol = 10e-12 + 0.01 * (N - 50) / 1000 - - while not found: - try: - bw, res = brentq(function, 0, 0.01, args=args, full_output=True, disp=False) - found = res.converged - except ValueError: - bw = 0 - tol *= 2.0 - found = False - if bw <= 0 or tol >= 1: - bw = (_bw_silverman(x) / np.ptp(x)) ** 2 - return bw - return bw - - -def _check_custom_lims(custom_lims, x_min, x_max): - """Check if `custom_lims` are of the correct type. - - It accepts numeric lists/tuples of length 2. - - Parameters - ---------- - custom_lims : Object whose type is checked. - - Returns - ------- - None: Object of type None - """ - if not isinstance(custom_lims, (list, tuple)): - raise TypeError( - "`custom_lims` must be a numeric list or tuple of length 2.\n" - f"Not an object of {type(custom_lims)}." - ) - - if len(custom_lims) != 2: - raise AttributeError(f"`len(custom_lims)` must be 2, not {len(custom_lims)}.") - - any_bool = any(isinstance(i, bool) for i in custom_lims) - if any_bool: - raise TypeError("Elements of `custom_lims` must be numeric or None, not bool.") - - custom_lims = list(custom_lims) # convert to a mutable object - if custom_lims[0] is None: - custom_lims[0] = x_min - - if custom_lims[1] is None: - custom_lims[1] = x_max - - all_numeric = all(isinstance(i, (int, float, np.integer, np.number)) for i in custom_lims) - if not all_numeric: - raise TypeError( - "Elements of `custom_lims` must be numeric or None.\nAt least one of them is not." - ) - - if not custom_lims[0] < custom_lims[1]: - raise ValueError("`custom_lims[0]` must be smaller than `custom_lims[1]`.") - - if custom_lims[0] > x_min or custom_lims[1] < x_max: - raise ValueError("Some observations are outside `custom_lims` boundaries.") - - return custom_lims - - -def _get_grid( - x_min, x_max, x_std, extend_fct, grid_len, custom_lims, extend=True, bound_correction=False -): - """Compute the grid that bins the data used to estimate the density function. - - Parameters - ---------- - x_min : float - Minimum value of the data - x_max: float - Maximum value of the data. - x_std: float - Standard deviation of the data. - extend_fct: bool - Indicates the factor by which `x_std` is multiplied - to extend the range of the data. - grid_len: int - Number of bins - custom_lims: tuple or list - Custom limits for the domain of the density estimation. - Must be numeric of length 2. Overrides `extend`. - extend: bool, optional - Whether to extend the range of the data or not. - Default is True. - bound_correction: bool, optional - Whether the density estimations performs boundary correction or not. - This does not impacts directly in the output, but is used - to override `extend`. Overrides `extend`. - Default is False. - - Returns - ------- - grid_len: int - Number of bins - grid_min: float - Minimum value of the grid - grid_max: float - Maximum value of the grid - """ - # Set up number of bins. - grid_len = max(int(grid_len), 100) - - # Set up domain - if custom_lims is not None: - custom_lims = _check_custom_lims(custom_lims, x_min, x_max) - grid_min = custom_lims[0] - grid_max = custom_lims[1] - elif extend and not bound_correction: - grid_extend = extend_fct * x_std - grid_min = x_min - grid_extend - grid_max = x_max + grid_extend - else: - grid_min = x_min - grid_max = x_max - return grid_min, grid_max, grid_len - - -def kde(x, circular=False, **kwargs): - """One dimensional density estimation. - - It is a wrapper around ``kde_linear()`` and ``kde_circular()``. - - Parameters - ---------- - x : 1D numpy array - Data used to calculate the density estimation. - circular : bool, optional - Whether ``x`` is a circular variable or not. Defaults to False. - kwargs : dict, optional - Arguments passed to ``kde_linear()`` and ``kde_circular()``. - See their documentation for more info. - - Returns - ------- - grid : numpy.ndarray - Gridded numpy array for the x values. - pdf : numpy.ndarray - Numpy array for the density estimates. - bw : float - The estimated bandwidth. Only returned if requested. - - Examples - -------- - Default density estimation for linear data - - .. plot:: - :context: close-figs - - >>> import numpy as np - >>> import matplotlib.pyplot as plt - >>> from arviz import kde - >>> - >>> rng = np.random.default_rng(49) - >>> rvs = rng.gamma(shape=1.8, size=1000) - >>> grid, pdf = kde(rvs) - >>> plt.plot(grid, pdf) - - Density estimation for linear data with Silverman's rule bandwidth - - .. plot:: - :context: close-figs - - >>> grid, pdf = kde(rvs, bw="silverman") - >>> plt.plot(grid, pdf) - - Density estimation for linear data with scaled bandwidth - - .. plot:: - :context: close-figs - - >>> # bw_fct > 1 means more smoothness. - >>> grid, pdf = kde(rvs, bw_fct=2.5) - >>> plt.plot(grid, pdf) - - Default density estimation for linear data with extended limits - - .. plot:: - :context: close-figs - - >>> grid, pdf = kde(rvs, bound_correction=False, extend=True, extend_fct=0.5) - >>> plt.plot(grid, pdf) - - Default density estimation for linear data with custom limits - - .. plot:: - :context: close-figs - - >>> # It accepts tuples and lists of length 2. - >>> grid, pdf = kde(rvs, bound_correction=False, custom_lims=(0, 11)) - >>> plt.plot(grid, pdf) - - Default density estimation for circular data - - .. plot:: - :context: close-figs - - >>> rvs = np.random.vonmises(mu=np.pi, kappa=1, size=500) - >>> grid, pdf = kde(rvs, circular=True) - >>> plt.plot(grid, pdf) - - Density estimation for circular data with scaled bandwidth - - .. plot:: - :context: close-figs - - >>> rvs = np.random.vonmises(mu=np.pi, kappa=1, size=500) - >>> # bw_fct > 1 means less smoothness. - >>> grid, pdf = kde(rvs, circular=True, bw_fct=3) - >>> plt.plot(grid, pdf) - - Density estimation for circular data with custom limits - - .. plot:: - :context: close-figs - - >>> # This is still experimental, does not always work. - >>> rvs = np.random.vonmises(mu=0, kappa=30, size=500) - >>> grid, pdf = kde(rvs, circular=True, custom_lims=(-1, 1)) - >>> plt.plot(grid, pdf) - - See Also - -------- - plot_kde : Compute and plot a kernel density estimate. - """ - x = x[np.isfinite(x)] - if x.size == 0 or np.all(x == x[0]): - warnings.warn("Your data appears to have a single value or no finite values") - - return np.zeros(2), np.array([np.nan] * 2) - - if circular: - if circular == "degrees": - x = np.radians(x) - kde_fun = _kde_circular - else: - kde_fun = _kde_linear - - return kde_fun(x, **kwargs) - - -def _kde_linear( - x, - bw="experimental", - adaptive=False, - extend=False, - bound_correction=True, - extend_fct=0, - bw_fct=1, - bw_return=False, - custom_lims=None, - cumulative=False, - grid_len=512, - **kwargs, # pylint: disable=unused-argument -): - """One dimensional density estimation for linear data. - - Given an array of data points `x` it returns an estimate of - the probability density function that generated the samples in `x`. - - Parameters - ---------- - x : 1D numpy array - Data used to calculate the density estimation. - bw: int, float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be one of "scott", - "silverman", "isj" or "experimental". Defaults to "experimental". - adaptive: boolean, optional - Indicates if the bandwidth is adaptive or not. - It is the recommended approach when there are multiple modes with different spread. - It is not compatible with convolution. Defaults to False. - extend: boolean, optional - Whether to extend the observed range for `x` in the estimation. - It extends each bound by a multiple of the standard deviation of `x` given by `extend_fct`. - Defaults to False. - bound_correction: boolean, optional - Whether to perform boundary correction on the bounds of `x` or not. - Defaults to True. - extend_fct: float, optional - Number of standard deviations used to widen the lower and upper bounds of `x`. - Defaults to 0.5. - bw_fct: float, optional - A value that multiplies `bw` which enables tuning smoothness by hand. - Must be positive. Values below 1 decrease smoothness while values above 1 decrease it. - Defaults to 1 (no modification). - bw_return: bool, optional - Whether to return the estimated bandwidth in addition to the other objects. - Defaults to False. - custom_lims: list or tuple, optional - A list or tuple of length 2 indicating custom bounds for the range of `x`. - Defaults to None which disables custom bounds. - cumulative: bool, optional - Whether return the PDF or the cumulative PDF. Defaults to False. - grid_len: int, optional - The number of intervals used to bin the data points i.e. the length of the grid used in - the estimation. Defaults to 512. - - Returns - ------- - grid : Gridded numpy array for the x values. - pdf : Numpy array for the density estimates. - bw: optional, the estimated bandwidth. - """ - # Check `bw_fct` is numeric and positive - if not isinstance(bw_fct, (int, float, np.integer, np.floating)): - raise TypeError(f"`bw_fct` must be a positive number, not an object of {type(bw_fct)}.") - - if bw_fct <= 0: - raise ValueError(f"`bw_fct` must be a positive number, not {bw_fct}.") - - # Preliminary calculations - x_min = x.min() - x_max = x.max() - x_std = np.std(x) - x_range = x_max - x_min - - # Determine grid - grid_min, grid_max, grid_len = _get_grid( - x_min, x_max, x_std, extend_fct, grid_len, custom_lims, extend, bound_correction - ) - grid_counts, _, grid_edges = histogram(x, grid_len, (grid_min, grid_max)) - - # Bandwidth estimation - bw = bw_fct * _get_bw(x, bw, grid_counts, x_std, x_range) - - # Density estimation - if adaptive: - grid, pdf = _kde_adaptive(x, bw, grid_edges, grid_counts, grid_len, bound_correction) - else: - grid, pdf = _kde_convolution(x, bw, grid_edges, grid_counts, grid_len, bound_correction) - - if cumulative: - pdf = pdf.cumsum() / pdf.sum() - - if bw_return: - return grid, pdf, bw - else: - return grid, pdf - - -def _kde_circular( - x, - bw="taylor", - bw_fct=1, - bw_return=False, - custom_lims=None, - cumulative=False, - grid_len=512, - **kwargs, # pylint: disable=unused-argument -): - """One dimensional density estimation for circular data. - - Given an array of data points `x` measured in radians, it returns an estimate of the - probability density function that generated the samples in `x`. - - Parameters - ---------- - x : 1D numpy array - Data used to calculate the density estimation. - bw: int, float or str, optional - If numeric, indicates the bandwidth and must be positive. - If str, indicates the method to estimate the bandwidth and must be "taylor" since it is the - only option supported so far. Defaults to "taylor". - bw_fct: float, optional - A value that multiplies `bw` which enables tuning smoothness by hand. Must be positive. - Values above 1 decrease smoothness while values below 1 decrease it. - Defaults to 1 (no modification). - bw_return: bool, optional - Whether to return the estimated bandwidth in addition to the other objects. - Defaults to False. - custom_lims: list or tuple, optional - A list or tuple of length 2 indicating custom bounds for the range of `x`. - Defaults to None which means the estimation limits are [-pi, pi]. - cumulative: bool, optional - Whether return the PDF or the cumulative PDF. Defaults to False. - grid_len: int, optional - The number of intervals used to bin the data point i.e. the length of the grid used in the - estimation. Defaults to 512. - """ - # All values between -pi and pi - x = _normalize_angle(x) - - # Check `bw_fct` is numeric and positive - if not isinstance(bw_fct, (int, float, np.integer, np.floating)): - raise TypeError(f"`bw_fct` must be a positive number, not an object of {type(bw_fct)}.") - - if bw_fct <= 0: - raise ValueError(f"`bw_fct` must be a positive number, not {bw_fct}.") - - # Determine bandwidth - if isinstance(bw, bool): - raise ValueError("`bw` can't be of type `bool`.\nExpected a positive numeric or 'taylor'") - if isinstance(bw, (int, float)) and bw < 0: - raise ValueError(f"Numeric `bw` must be positive.\nInput: {bw:.4f}.") - if isinstance(bw, str): - if bw == "taylor": - bw = _bw_taylor(x) - else: - raise ValueError(f"`bw` must be a positive numeric or `taylor`, not {bw}") - bw *= bw_fct - - # Determine grid - if custom_lims is not None: - custom_lims = _check_custom_lims(custom_lims, x.min(), x.max()) - grid_min = custom_lims[0] - grid_max = custom_lims[1] - assert grid_min >= -np.pi, "Lower limit can't be smaller than -pi" - assert grid_max <= np.pi, "Upper limit can't be larger than pi" - else: - grid_min = -np.pi - grid_max = np.pi - - bins = np.linspace(grid_min, grid_max, grid_len + 1) - bin_counts, _, bin_edges = histogram(x, bins=bins) - grid = 0.5 * (bin_edges[1:] + bin_edges[:-1]) - - kern = _vonmises_pdf(x=grid, mu=0, kappa=bw) - pdf = np.fft.fftshift(np.fft.irfft(np.fft.rfft(kern) * np.fft.rfft(bin_counts))) - pdf /= len(x) - - if cumulative: - pdf = pdf.cumsum() / pdf.sum() - - if bw_return: - return grid, pdf, bw - else: - return grid, pdf - - -# pylint: disable=unused-argument -def _kde_convolution(x, bw, grid_edges, grid_counts, grid_len, bound_correction, **kwargs): - """Kernel density with convolution. - - One dimensional Gaussian kernel density estimation via convolution of the binned relative - frequencies and a Gaussian filter. This is an internal function used by `kde()`. - """ - # Calculate relative frequencies per bin - bin_width = grid_edges[1] - grid_edges[0] - f = grid_counts / bin_width / len(x) - - # Bandwidth must consider the bin width - bw /= bin_width - - # See: https://stackoverflow.com/questions/2773606/gaussian-filter-in-matlab - - grid = (grid_edges[1:] + grid_edges[:-1]) / 2 - - kernel_n = int(bw * 2 * np.pi) - if kernel_n == 0: - kernel_n = 1 - - kernel = gaussian(kernel_n, bw) - - if bound_correction: - npad = int(grid_len / 5) - f = np.concatenate([f[npad - 1 :: -1], f, f[grid_len : grid_len - npad - 1 : -1]]) - pdf = convolve(f, kernel, mode="same", method="direct")[npad : npad + grid_len] - else: - pdf = convolve(f, kernel, mode="same", method="direct") - pdf /= bw * (2 * np.pi) ** 0.5 - - return grid, pdf - - -def _kde_adaptive(x, bw, grid_edges, grid_counts, grid_len, bound_correction, **kwargs): - """Compute Adaptive Kernel Density Estimation. - - One dimensional adaptive Gaussian kernel density estimation. The implementation uses the binning - technique. Since there is not an unique `bw`, the convolution is not possible. The alternative - implemented in this function is known as Abramson's method. - This is an internal function used by `kde()`. - """ - # Pilot computations used for bandwidth adjustment - pilot_grid, pilot_pdf = _kde_convolution( - x, bw, grid_edges, grid_counts, grid_len, bound_correction - ) - - # Adds to avoid np.log(0) and zero division - pilot_pdf += 1e-9 - - # Determine the modification factors - pdf_interp = np.interp(x, pilot_grid, pilot_pdf) - geom_mean = np.exp(np.mean(np.log(pdf_interp))) - - # Power of c = 0.5 -> Abramson's method - adj_factor = (geom_mean / pilot_pdf) ** 0.5 - bw_adj = bw * adj_factor - - # Estimation of Gaussian KDE via binned method (convolution not possible) - grid = pilot_grid - - if bound_correction: - grid_npad = int(grid_len / 5) - grid_width = grid_edges[1] - grid_edges[0] - grid_pad = grid_npad * grid_width - grid_padded = np.linspace( - grid_edges[0] - grid_pad, - grid_edges[grid_len - 1] + grid_pad, - num=grid_len + 2 * grid_npad, - ) - grid_counts = np.concatenate( - [ - grid_counts[grid_npad - 1 :: -1], - grid_counts, - grid_counts[grid_len : grid_len - grid_npad - 1 : -1], - ] - ) - bw_adj = np.concatenate( - [bw_adj[grid_npad - 1 :: -1], bw_adj, bw_adj[grid_len : grid_len - grid_npad - 1 : -1]] - ) - pdf_mat = (grid_padded - grid_padded[:, None]) / bw_adj[:, None] - pdf_mat = np.exp(-0.5 * pdf_mat**2) * grid_counts[:, None] - pdf_mat /= (2 * np.pi) ** 0.5 * bw_adj[:, None] - pdf = np.sum(pdf_mat[:, grid_npad : grid_npad + grid_len], axis=0) / len(x) - - else: - pdf_mat = (grid - grid[:, None]) / bw_adj[:, None] - pdf_mat = np.exp(-0.5 * pdf_mat**2) * grid_counts[:, None] - pdf_mat /= (2 * np.pi) ** 0.5 * bw_adj[:, None] - pdf = np.sum(pdf_mat, axis=0) / len(x) - - return grid, pdf - - -def _fast_kde_2d(x, y, gridsize=(128, 128), circular=False): - """ - 2D fft-based Gaussian kernel density estimate (KDE). - - The code was adapted from https://github.com/mfouesneau/faststats - - Parameters - ---------- - x : Numpy array or list - y : Numpy array or list - gridsize : tuple - Number of points used to discretize data. Use powers of 2 for fft optimization - circular: bool - If True use circular boundaries. Defaults to False - - Returns - ------- - grid: A gridded 2D KDE of the input points (x, y) - xmin: minimum value of x - xmax: maximum value of x - ymin: minimum value of y - ymax: maximum value of y - """ - x = np.asarray(x, dtype=float) - x = x[np.isfinite(x)] - y = np.asarray(y, dtype=float) - y = y[np.isfinite(y)] - - xmin, xmax = x.min(), x.max() - ymin, ymax = y.min(), y.max() - - len_x = len(x) - weights = np.ones(len_x) - n_x, n_y = gridsize - - d_x = (xmax - xmin) / (n_x - 1) - d_y = (ymax - ymin) / (n_y - 1) - - xyi = _stack(x, y).T - xyi -= [xmin, ymin] - xyi /= [d_x, d_y] - xyi = np.floor(xyi, xyi).T - - scotts_factor = len_x ** (-1 / 6) - cov = _cov(xyi) - std_devs = np.diag(cov) ** 0.5 - kern_nx, kern_ny = np.round(scotts_factor * 2 * np.pi * std_devs) - - inv_cov = np.linalg.inv(cov * scotts_factor**2) - - x_x = np.arange(kern_nx) - kern_nx / 2 - y_y = np.arange(kern_ny) - kern_ny / 2 - x_x, y_y = np.meshgrid(x_x, y_y) - - kernel = _stack(x_x.flatten(), y_y.flatten()) - kernel = _dot(inv_cov, kernel) * kernel - kernel = np.exp(-kernel.sum(axis=0) / 2) - kernel = kernel.reshape((int(kern_ny), int(kern_nx))) - - boundary = "wrap" if circular else "symm" - - grid = coo_matrix((weights, xyi), shape=(n_x, n_y)).toarray() - grid = convolve2d(grid, kernel, mode="same", boundary=boundary) - - norm_factor = np.linalg.det(2 * np.pi * cov * scotts_factor**2) - norm_factor = len_x * d_x * d_y * norm_factor**0.5 - - grid /= norm_factor - - return grid, xmin, xmax, ymin, ymax - - -def get_bins(values): - """ - Automatically compute the number of bins for discrete variables. - - Parameters - ---------- - values = numpy array - values - - Returns - ------- - array with the bins - - Notes - ----- - Computes the width of the bins by taking the maximum of the Sturges and the Freedman-Diaconis - estimators. According to numpy `np.histogram` this provides good all around performance. - - The Sturges is a very simplistic estimator based on the assumption of normality of the data. - This estimator has poor performance for non-normal data, which becomes especially obvious for - large data sets. The estimate depends only on size of the data. - - The Freedman-Diaconis rule uses interquartile range (IQR) to estimate the binwidth. - It is considered a robust version of the Scott rule as the IQR is less affected by outliers - than the standard deviation. However, the IQR depends on fewer points than the standard - deviation, so it is less accurate, especially for long tailed distributions. - """ - dtype = values.dtype.kind - - if dtype == "i": - x_min = values.min().astype(int) - x_max = values.max().astype(int) - else: - x_min = values.min().astype(float) - x_max = values.max().astype(float) - - # Sturges histogram bin estimator - bins_sturges = (x_max - x_min) / (np.log2(values.size) + 1) - - # The Freedman-Diaconis histogram bin estimator. - iqr = np.subtract(*np.percentile(values, [75, 25])) # pylint: disable=assignment-from-no-return - bins_fd = 2 * iqr * values.size ** (-1 / 3) - - if dtype == "i": - width = np.round(np.max([1, bins_sturges, bins_fd])).astype(int) - bins = np.arange(x_min, x_max + width + 1, width) - else: - width = np.max([bins_sturges, bins_fd]) - if np.isclose(x_min, x_max): - width = 1e-3 - bins = np.arange(x_min, x_max + width, width) - - return bins - - -def _sturges_formula(dataset, mult=1): - """Use Sturges' formula to determine number of bins. - - See https://en.wikipedia.org/wiki/Histogram#Sturges'_formula - or https://doi.org/10.1080%2F01621459.1926.10502161 - - Parameters - ---------- - dataset: xarray.DataSet - Must have the `draw` dimension - - mult: float - Used to scale the number of bins up or down. Default is 1 for Sturges' formula. - - Returns - ------- - int - Number of bins to use - """ - return int(np.ceil(mult * np.log2(dataset.draw.size)) + 1) - - -def _circular_mean(x): - """Compute mean of circular variable measured in radians. - - The result is between -pi and pi. - """ - sinr = np.sum(np.sin(x)) - cosr = np.sum(np.cos(x)) - mean = np.arctan2(sinr, cosr) - - return mean - - -def _normalize_angle(x, zero_centered=True): - """Normalize angles. - - Normalize angles in radians to [-pi, pi) or [0, 2 * pi) according to `zero_centered`. - """ - if zero_centered: - return (x + np.pi) % (2 * np.pi) - np.pi - else: - return x % (2 * np.pi) - - -@conditional_jit(cache=True, nopython=True) -def histogram(data, bins, range_hist=None): - """Conditionally jitted histogram. - - Parameters - ---------- - data : array-like - Input data. Passed as first positional argument to ``np.histogram``. - bins : int or array-like - Passed as keyword argument ``bins`` to ``np.histogram``. - range_hist : (float, float), optional - Passed as keyword argument ``range`` to ``np.histogram``. - - Returns - ------- - hist : array - The number of counts per bin. - density : array - The density corresponding to each bin. - bin_edges : array - The edges of the bins used. - """ - hist, bin_edges = np.histogram(data, bins=bins, range=range_hist) - hist_dens = hist / (hist.sum() * np.diff(bin_edges)) - return hist, hist_dens, bin_edges - - -def _find_hdi_contours(density, hdi_probs): - """ - Find contours enclosing regions of highest posterior density. - - Parameters - ---------- - density : array-like - A 2D KDE on a grid with cells of equal area. - hdi_probs : array-like - An array of highest density interval confidence probabilities. - - Returns - ------- - contour_levels : array - The contour levels corresponding to the given HDI probabilities. - """ - # Using the algorithm from corner.py - sorted_density = np.sort(density, axis=None)[::-1] - sm = sorted_density.cumsum() - sm /= sm[-1] - - contours = np.empty_like(hdi_probs) - for idx, hdi_prob in enumerate(hdi_probs): - try: - contours[idx] = sorted_density[sm <= hdi_prob][-1] - except IndexError: - contours[idx] = sorted_density[0] - - return contours diff --git a/arviz/stats/diagnostics.py b/arviz/stats/diagnostics.py deleted file mode 100644 index e7dba32bab..0000000000 --- a/arviz/stats/diagnostics.py +++ /dev/null @@ -1,1013 +0,0 @@ -# pylint: disable=too-many-lines, too-many-function-args, redefined-outer-name -"""Diagnostic functions for ArviZ.""" -import warnings -from collections.abc import Sequence - -import numpy as np -import packaging -import pandas as pd -import scipy -from scipy import stats - -from ..data import convert_to_dataset -from ..utils import Numba, _numba_var, _stack, _var_names -from .density_utils import histogram as _histogram -from .stats_utils import _circular_standard_deviation, _sqrt -from .stats_utils import autocov as _autocov -from .stats_utils import not_valid as _not_valid -from .stats_utils import quantile as _quantile -from .stats_utils import stats_variance_2d as svar -from .stats_utils import wrap_xarray_ufunc as _wrap_xarray_ufunc - -__all__ = ["bfmi", "ess", "rhat", "mcse"] - - -def bfmi(data): - r"""Calculate the estimated Bayesian fraction of missing information (BFMI). - - BFMI quantifies how well momentum resampling matches the marginal energy distribution. For more - information on BFMI, see https://arxiv.org/pdf/1604.00695v1.pdf. The current advice is that - values smaller than 0.3 indicate poor sampling. However, this threshold is - provisional and may change. See - `pystan_workflow `_ - for more information. - - Parameters - ---------- - data : obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - If InferenceData, energy variable needs to be found. - - Returns - ------- - z : array - The Bayesian fraction of missing information of the model and trace. One element per - chain in the trace. - - See Also - -------- - plot_energy : Plot energy transition distribution and marginal energy - distribution in HMC algorithms. - - Examples - -------- - Compute the BFMI of an InferenceData object - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data('radon') - ...: az.bfmi(data) - - """ - if isinstance(data, np.ndarray): - return _bfmi(data) - - dataset = convert_to_dataset(data, group="sample_stats") - if not hasattr(dataset, "energy"): - raise TypeError("Energy variable was not found.") - return _bfmi(dataset.energy.transpose("chain", "draw")) - - -def ess( - data, - *, - var_names=None, - method="bulk", - relative=False, - prob=None, - dask_kwargs=None, -): - r"""Calculate estimate of the effective sample size (ess). - - Parameters - ---------- - data : obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - For ndarray: shape = (chain, draw). - For n-dimensional ndarray transform first to dataset with :func:`arviz.convert_to_dataset`. - var_names : str or list of str - Names of variables to include in the return value Dataset. - method : str, optional, default "bulk" - Select ess method. Valid methods are: - - - "bulk" - - "tail" # prob, optional - - "quantile" # prob - - "mean" (old ess) - - "sd" - - "median" - - "mad" (mean absolute deviance) - - "z_scale" - - "folded" - - "identity" - - "local" - relative : bool - Return relative ess - ``ress = ess / n`` - prob : float, or tuple of two floats, optional - probability value for "tail", "quantile" or "local" ess functions. - dask_kwargs : dict, optional - Dask related kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. - - Returns - ------- - xarray.Dataset - Return the effective sample size, :math:`\hat{N}_{eff}` - - Notes - ----- - The basic ess (:math:`N_{\mathit{eff}}`) diagnostic is computed by: - - .. math:: \hat{N}_{\mathit{eff}} = \frac{MN}{\hat{\tau}} - - .. math:: \hat{\tau} = -1 + 2 \sum_{t'=0}^K \hat{P}_{t'} - - where :math:`M` is the number of chains, :math:`N` the number of draws, - :math:`\hat{\rho}_t` is the estimated _autocorrelation at lag :math:`t`, and - :math:`K` is the last integer for which :math:`\hat{P}_{K} = \hat{\rho}_{2K} + - \hat{\rho}_{2K+1}` is still positive. - - The current implementation is similar to Stan, which uses Geyer's initial monotone sequence - criterion (Geyer, 1992; Geyer, 2011). - - References - ---------- - * Vehtari et al. (2021). Rank-normalization, folding, and - localization: An improved Rhat for assessing convergence of - MCMC. Bayesian analysis, 16(2):667-718. - * https://mc-stan.org/docs/reference-manual/analysis.html#effective-sample-size.section - * Gelman et al. BDA3 (2013) Formula 11.8 - - See Also - -------- - arviz.rhat : Compute estimate of rank normalized splitR-hat for a set of traces. - arviz.mcse : Calculate Markov Chain Standard Error statistic. - plot_ess : Plot quantile, local or evolution of effective sample sizes (ESS). - arviz.summary : Create a data frame with summary statistics. - - Examples - -------- - Calculate the effective_sample_size using the default arguments: - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data('non_centered_eight') - ...: az.ess(data) - - Calculate the ress of some of the variables - - .. ipython:: - - In [1]: az.ess(data, relative=True, var_names=["mu", "theta_t"]) - - Calculate the ess using the "tail" method, leaving the `prob` argument at its default - value. - - .. ipython:: - - In [1]: az.ess(data, method="tail") - - """ - methods = { - "bulk": _ess_bulk, - "tail": _ess_tail, - "quantile": _ess_quantile, - "mean": _ess_mean, - "sd": _ess_sd, - "median": _ess_median, - "mad": _ess_mad, - "z_scale": _ess_z_scale, - "folded": _ess_folded, - "identity": _ess_identity, - "local": _ess_local, - } - - if method not in methods: - raise TypeError(f"ess method {method} not found. Valid methods are:\n{', '.join(methods)}") - ess_func = methods[method] - - if (method == "quantile") and prob is None: - raise TypeError("Quantile (prob) information needs to be defined.") - - if isinstance(data, np.ndarray): - data = np.atleast_2d(data) - if len(data.shape) < 3: - if prob is not None: - return ess_func( # pylint: disable=unexpected-keyword-arg - data, prob=prob, relative=relative - ) - - return ess_func(data, relative=relative) - - msg = ( - "Only uni-dimensional ndarray variables are supported." - " Please transform first to dataset with `az.convert_to_dataset`." - ) - raise TypeError(msg) - - dataset = convert_to_dataset(data, group="posterior") - var_names = _var_names(var_names, dataset) - - dataset = dataset if var_names is None else dataset[var_names] - - ufunc_kwargs = {"ravel": False} - func_kwargs = {"relative": relative} if prob is None else {"prob": prob, "relative": relative} - return _wrap_xarray_ufunc( - ess_func, - dataset, - ufunc_kwargs=ufunc_kwargs, - func_kwargs=func_kwargs, - dask_kwargs=dask_kwargs, - ) - - -def rhat(data, *, var_names=None, method="rank", dask_kwargs=None): - r"""Compute estimate of rank normalized splitR-hat for a set of traces. - - The rank normalized R-hat diagnostic tests for lack of convergence by comparing the variance - between multiple chains to the variance within each chain. If convergence has been achieved, - the between-chain and within-chain variances should be identical. To be most effective in - detecting evidence for nonconvergence, each chain should have been initialized to starting - values that are dispersed relative to the target distribution. - - Parameters - ---------- - data : obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - At least 2 posterior chains are needed to compute this diagnostic of one or more - stochastic parameters. - For ndarray: shape = (chain, draw). - For n-dimensional ndarray transform first to dataset with ``az.convert_to_dataset``. - var_names : list - Names of variables to include in the rhat report - method : str - Select R-hat method. Valid methods are: - - "rank" # recommended by Vehtari et al. (2021) - - "split" - - "folded" - - "z_scale" - - "identity" - dask_kwargs : dict, optional - Dask related kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. - - Returns - ------- - xarray.Dataset - Returns dataset of the potential scale reduction factors, :math:`\hat{R}` - - See Also - -------- - ess : Calculate estimate of the effective sample size (ess). - mcse : Calculate Markov Chain Standard Error statistic. - plot_forest : Forest plot to compare HDI intervals from a number of distributions. - - Notes - ----- - The diagnostic is computed by: - - .. math:: \hat{R} = \sqrt{\frac{\hat{V}}{W}} - - where :math:`W` is the within-chain variance and :math:`\hat{V}` is the posterior variance - estimate for the pooled rank-traces. This is the potential scale reduction factor, which - converges to unity when each of the traces is a sample from the target posterior. Values - greater than one indicate that one or more chains have not yet converged. - - Rank values are calculated over all the chains with ``scipy.stats.rankdata``. - Each chain is split in two and normalized with the z-transform following - Vehtari et al. (2021). - - References - ---------- - * Vehtari et al. (2021). Rank-normalization, folding, and - localization: An improved Rhat for assessing convergence of - MCMC. Bayesian analysis, 16(2):667-718. - * Gelman et al. BDA3 (2013) - * Brooks and Gelman (1998) - * Gelman and Rubin (1992) - - Examples - -------- - Calculate the R-hat using the default arguments: - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data("non_centered_eight") - ...: az.rhat(data) - - Calculate the R-hat of some variables using the folded method: - - .. ipython:: - - In [1]: az.rhat(data, var_names=["mu", "theta_t"], method="folded") - - """ - methods = { - "rank": _rhat_rank, - "split": _rhat_split, - "folded": _rhat_folded, - "z_scale": _rhat_z_scale, - "identity": _rhat_identity, - } - if method not in methods: - raise TypeError( - f"R-hat method {method} not found. Valid methods are:\n{', '.join(methods)}" - ) - rhat_func = methods[method] - - if isinstance(data, np.ndarray): - data = np.atleast_2d(data) - if len(data.shape) < 3: - return rhat_func(data) - - msg = ( - "Only uni-dimensional ndarray variables are supported." - " Please transform first to dataset with `az.convert_to_dataset`." - ) - raise TypeError(msg) - - dataset = convert_to_dataset(data, group="posterior") - var_names = _var_names(var_names, dataset) - - dataset = dataset if var_names is None else dataset[var_names] - - ufunc_kwargs = {"ravel": False} - func_kwargs = {} - return _wrap_xarray_ufunc( - rhat_func, - dataset, - ufunc_kwargs=ufunc_kwargs, - func_kwargs=func_kwargs, - dask_kwargs=dask_kwargs, - ) - - -def mcse(data, *, var_names=None, method="mean", prob=None, dask_kwargs=None): - """Calculate Markov Chain Standard Error statistic. - - Parameters - ---------- - data : obj - Any object that can be converted to an :class:`arviz.InferenceData` object - Refer to documentation of :func:`arviz.convert_to_dataset` for details - For ndarray: shape = (chain, draw). - For n-dimensional ndarray transform first to dataset with ``az.convert_to_dataset``. - var_names : list - Names of variables to include in the rhat report - method : str - Select mcse method. Valid methods are: - - "mean" - - "sd" - - "median" - - "quantile" - - prob : float - Quantile information. - dask_kwargs : dict, optional - Dask related kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. - - Returns - ------- - xarray.Dataset - Return the msce dataset - - See Also - -------- - ess : Compute autocovariance estimates for every lag for the input array. - summary : Create a data frame with summary statistics. - plot_mcse : Plot quantile or local Monte Carlo Standard Error. - - Examples - -------- - Calculate the Markov Chain Standard Error using the default arguments: - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data("non_centered_eight") - ...: az.mcse(data) - - Calculate the Markov Chain Standard Error using the quantile method: - - .. ipython:: - - In [1]: az.mcse(data, method="quantile", prob=0.7) - - """ - methods = { - "mean": _mcse_mean, - "sd": _mcse_sd, - "median": _mcse_median, - "quantile": _mcse_quantile, - } - if method not in methods: - raise TypeError( - "mcse method {} not found. Valid methods are:\n{}".format( - method, "\n ".join(methods) - ) - ) - mcse_func = methods[method] - - if method == "quantile" and prob is None: - raise TypeError("Quantile (prob) information needs to be defined.") - - if isinstance(data, np.ndarray): - data = np.atleast_2d(data) - if len(data.shape) < 3: - if prob is not None: - return mcse_func(data, prob=prob) # pylint: disable=unexpected-keyword-arg - - return mcse_func(data) - - msg = ( - "Only uni-dimensional ndarray variables are supported." - " Please transform first to dataset with `az.convert_to_dataset`." - ) - raise TypeError(msg) - - dataset = convert_to_dataset(data, group="posterior") - var_names = _var_names(var_names, dataset) - - dataset = dataset if var_names is None else dataset[var_names] - - ufunc_kwargs = {"ravel": False} - func_kwargs = {} if prob is None else {"prob": prob} - return _wrap_xarray_ufunc( - mcse_func, - dataset, - ufunc_kwargs=ufunc_kwargs, - func_kwargs=func_kwargs, - dask_kwargs=dask_kwargs, - ) - - -def ks_summary(pareto_tail_indices): - """Display a summary of Pareto tail indices. - - Parameters - ---------- - pareto_tail_indices : array - Pareto tail indices. - - Returns - ------- - df_k : dataframe - Dataframe containing k diagnostic values. - """ - _numba_flag = Numba.numba_flag - if _numba_flag: - bins = np.asarray([-np.inf, 0.5, 0.7, 1, np.inf]) - kcounts, *_ = _histogram(pareto_tail_indices, bins) - else: - kcounts, *_ = _histogram(pareto_tail_indices, bins=[-np.inf, 0.5, 0.7, 1, np.inf]) - kprop = kcounts / len(pareto_tail_indices) * 100 - df_k = pd.DataFrame( - dict(_=["(good)", "(ok)", "(bad)", "(very bad)"], Count=kcounts, Pct=kprop) - ).rename(index={0: "(-Inf, 0.5]", 1: " (0.5, 0.7]", 2: " (0.7, 1]", 3: " (1, Inf)"}) - - if np.sum(kcounts[1:]) == 0: - warnings.warn("All Pareto k estimates are good (k < 0.5)") - elif np.sum(kcounts[2:]) == 0: - warnings.warn("All Pareto k estimates are ok (k < 0.7)") - - return df_k - - -def _bfmi(energy): - r"""Calculate the estimated Bayesian fraction of missing information (BFMI). - - BFMI quantifies how well momentum resampling matches the marginal energy distribution. For more - information on BFMI, see https://arxiv.org/pdf/1604.00695v1.pdf. The current advice is that - values smaller than 0.3 indicate poor sampling. However, this threshold is provisional and may - change. See http://mc-stan.org/users/documentation/case-studies/pystan_workflow.html for more - information. - - Parameters - ---------- - energy : NumPy array - Should be extracted from a gradient based sampler, such as in Stan or PyMC3. Typically, - after converting a trace or fit to InferenceData, the energy will be in - `data.sample_stats.energy`. - - Returns - ------- - z : array - The Bayesian fraction of missing information of the model and trace. One element per - chain in the trace. - """ - energy_mat = np.atleast_2d(energy) - num = np.square(np.diff(energy_mat, axis=1)).mean(axis=1) # pylint: disable=no-member - if energy_mat.ndim == 2: - den = _numba_var(svar, np.var, energy_mat, axis=1, ddof=1) - else: - den = np.var(energy, axis=1, ddof=1) - return num / den - - -def _backtransform_ranks(arr, c=3 / 8): # pylint: disable=invalid-name - """Backtransformation of ranks. - - Parameters - ---------- - arr : np.ndarray - Ranks array - c : float - Fractional offset. Defaults to c = 3/8 as recommended by Blom (1958). - - Returns - ------- - np.ndarray - - References - ---------- - Blom, G. (1958). Statistical Estimates and Transformed Beta-Variables. Wiley; New York. - """ - arr = np.asarray(arr) - size = arr.size - return (arr - c) / (size - 2 * c + 1) - - -def _z_scale(ary): - """Calculate z_scale. - - Parameters - ---------- - ary : np.ndarray - - Returns - ------- - np.ndarray - """ - ary = np.asarray(ary) - if packaging.version.parse(scipy.__version__) < packaging.version.parse("1.10.0.dev0"): - rank = stats.rankdata(ary, method="average") - else: - # the .ravel part is only needed to overcom a bug in scipy 1.10.0.rc1 - rank = stats.rankdata( # pylint: disable=unexpected-keyword-arg - ary, method="average", nan_policy="omit" - ) - rank = _backtransform_ranks(rank) - z = stats.norm.ppf(rank) - z = z.reshape(ary.shape) - return z - - -def _split_chains(ary): - """Split and stack chains.""" - ary = np.asarray(ary) - if len(ary.shape) <= 1: - ary = np.atleast_2d(ary) - _, n_draw = ary.shape - half = n_draw // 2 - return _stack(ary[:, :half], ary[:, -half:]) - - -def _z_fold(ary): - """Fold and z-scale values.""" - ary = np.asarray(ary) - ary = abs(ary - np.median(ary)) - ary = _z_scale(ary) - return ary - - -def _rhat(ary): - """Compute the rhat for a 2d array.""" - _numba_flag = Numba.numba_flag - ary = np.asarray(ary, dtype=float) - if _not_valid(ary, check_shape=False): - return np.nan - _, num_samples = ary.shape - - # Calculate chain mean - chain_mean = np.mean(ary, axis=1) - # Calculate chain variance - chain_var = _numba_var(svar, np.var, ary, axis=1, ddof=1) - # Calculate between-chain variance - between_chain_variance = num_samples * _numba_var(svar, np.var, chain_mean, axis=None, ddof=1) - # Calculate within-chain variance - within_chain_variance = np.mean(chain_var) - # Estimate of marginal posterior variance - rhat_value = np.sqrt( - (between_chain_variance / within_chain_variance + num_samples - 1) / (num_samples) - ) - return rhat_value - - -def _rhat_rank(ary): - """Compute the rank normalized rhat for 2d array. - - Computation follows https://arxiv.org/abs/1903.08008 - """ - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=2)): - return np.nan - split_ary = _split_chains(ary) - rhat_bulk = _rhat(_z_scale(split_ary)) - - split_ary_folded = abs(split_ary - np.median(split_ary)) - rhat_tail = _rhat(_z_scale(split_ary_folded)) - - rhat_rank = max(rhat_bulk, rhat_tail) - return rhat_rank - - -def _rhat_folded(ary): - """Calculate split-Rhat for folded z-values.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=2)): - return np.nan - ary = _z_fold(_split_chains(ary)) - return _rhat(ary) - - -def _rhat_z_scale(ary): - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=2)): - return np.nan - return _rhat(_z_scale(_split_chains(ary))) - - -def _rhat_split(ary): - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=2)): - return np.nan - return _rhat(_split_chains(ary)) - - -def _rhat_identity(ary): - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=2)): - return np.nan - return _rhat(ary) - - -def _ess(ary, relative=False): - """Compute the effective sample size for a 2D array.""" - _numba_flag = Numba.numba_flag - ary = np.asarray(ary, dtype=float) - if _not_valid(ary, check_shape=False): - return np.nan - if (np.max(ary) - np.min(ary)) < np.finfo(float).resolution: # pylint: disable=no-member - return ary.size - if len(ary.shape) < 2: - ary = np.atleast_2d(ary) - n_chain, n_draw = ary.shape - acov = _autocov(ary, axis=1) - chain_mean = ary.mean(axis=1) - mean_var = np.mean(acov[:, 0]) * n_draw / (n_draw - 1.0) - var_plus = mean_var * (n_draw - 1.0) / n_draw - if n_chain > 1: - var_plus += _numba_var(svar, np.var, chain_mean, axis=None, ddof=1) - - rho_hat_t = np.zeros(n_draw) - rho_hat_even = 1.0 - rho_hat_t[0] = rho_hat_even - rho_hat_odd = 1.0 - (mean_var - np.mean(acov[:, 1])) / var_plus - rho_hat_t[1] = rho_hat_odd - - # Geyer's initial positive sequence - t = 1 - while t < (n_draw - 3) and (rho_hat_even + rho_hat_odd) > 0.0: - rho_hat_even = 1.0 - (mean_var - np.mean(acov[:, t + 1])) / var_plus - rho_hat_odd = 1.0 - (mean_var - np.mean(acov[:, t + 2])) / var_plus - if (rho_hat_even + rho_hat_odd) >= 0: - rho_hat_t[t + 1] = rho_hat_even - rho_hat_t[t + 2] = rho_hat_odd - t += 2 - - max_t = t - 2 - # improve estimation - if rho_hat_even > 0: - rho_hat_t[max_t + 1] = rho_hat_even - # Geyer's initial monotone sequence - t = 1 - while t <= max_t - 2: - if (rho_hat_t[t + 1] + rho_hat_t[t + 2]) > (rho_hat_t[t - 1] + rho_hat_t[t]): - rho_hat_t[t + 1] = (rho_hat_t[t - 1] + rho_hat_t[t]) / 2.0 - rho_hat_t[t + 2] = rho_hat_t[t + 1] - t += 2 - - ess = n_chain * n_draw - tau_hat = -1.0 + 2.0 * np.sum(rho_hat_t[: max_t + 1]) + np.sum(rho_hat_t[max_t + 1 : max_t + 2]) - tau_hat = max(tau_hat, 1 / np.log10(ess)) - ess = (1 if relative else ess) / tau_hat - if np.isnan(rho_hat_t).any(): - ess = np.nan - return ess - - -def _ess_bulk(ary, relative=False): - """Compute the effective sample size for the bulk.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - z_scaled = _z_scale(_split_chains(ary)) - ess_bulk = _ess(z_scaled, relative=relative) - return ess_bulk - - -def _ess_tail(ary, prob=None, relative=False): - """Compute the effective sample size for the tail. - - If `prob` defined, ess = min(qess(prob), qess(1-prob)) - """ - if prob is None: - prob = (0.05, 0.95) - elif not isinstance(prob, Sequence): - prob = (prob, 1 - prob) - - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - - prob_low, prob_high = prob - quantile_low_ess = _ess_quantile(ary, prob_low, relative=relative) - quantile_high_ess = _ess_quantile(ary, prob_high, relative=relative) - return min(quantile_low_ess, quantile_high_ess) - - -def _ess_mean(ary, relative=False): - """Compute the effective sample size for the mean.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - return _ess(_split_chains(ary), relative=relative) - - -def _ess_sd(ary, relative=False): - """Compute the effective sample size for the sd.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - ary = (ary - ary.mean()) ** 2 - return _ess(_split_chains(ary), relative=relative) - - -def _ess_quantile(ary, prob, relative=False): - """Compute the effective sample size for the specific residual.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - if prob is None: - raise TypeError("Prob not defined.") - (quantile,) = _quantile(ary, prob) - iquantile = ary <= quantile - return _ess(_split_chains(iquantile), relative=relative) - - -def _ess_local(ary, prob, relative=False): - """Compute the effective sample size for the specific residual.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - if prob is None: - raise TypeError("Prob not defined.") - if len(prob) != 2: - raise ValueError("Prob argument in ess local must be upper and lower bound") - quantile = _quantile(ary, prob) - iquantile = (quantile[0] <= ary) & (ary <= quantile[1]) - return _ess(_split_chains(iquantile), relative=relative) - - -def _ess_z_scale(ary, relative=False): - """Calculate ess for z-scaLe.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - return _ess(_z_scale(_split_chains(ary)), relative=relative) - - -def _ess_folded(ary, relative=False): - """Calculate split-ess for folded data.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - return _ess(_z_fold(_split_chains(ary)), relative=relative) - - -def _ess_median(ary, relative=False): - """Calculate split-ess for median.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - return _ess_quantile(ary, 0.5, relative=relative) - - -def _ess_mad(ary, relative=False): - """Calculate split-ess for mean absolute deviance.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - ary = abs(ary - np.median(ary)) - ary = ary <= np.median(ary) - ary = _z_scale(_split_chains(ary)) - return _ess(ary, relative=relative) - - -def _ess_identity(ary, relative=False): - """Calculate ess.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - return _ess(ary, relative=relative) - - -def _mcse_mean(ary): - """Compute the Markov Chain mean error.""" - _numba_flag = Numba.numba_flag - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - ess = _ess_mean(ary) - if _numba_flag: - sd = _sqrt(svar(np.ravel(ary), ddof=1), np.zeros(1)) - else: - sd = np.std(ary, ddof=1) - mcse_mean_value = sd / np.sqrt(ess) - return mcse_mean_value - - -def _mcse_sd(ary): - """Compute the Markov Chain sd error.""" - _numba_flag = Numba.numba_flag - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - sims_c2 = (ary - ary.mean()) ** 2 - ess = _ess_mean(sims_c2) - evar = (sims_c2).mean() - varvar = ((sims_c2**2).mean() - evar**2) / ess - varsd = varvar / evar / 4 - if _numba_flag: - mcse_sd_value = float(_sqrt(np.ravel(varsd), np.zeros(1))) - else: - mcse_sd_value = np.sqrt(varsd) - return mcse_sd_value - - -def _mcse_median(ary): - """Compute the Markov Chain median error.""" - return _mcse_quantile(ary, 0.5) - - -def _mcse_quantile(ary, prob): - """Compute the Markov Chain quantile error at quantile=prob.""" - ary = np.asarray(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - return np.nan - ess = _ess_quantile(ary, prob) - probability = [0.1586553, 0.8413447] - with np.errstate(invalid="ignore"): - ppf = stats.beta.ppf(probability, ess * prob + 1, ess * (1 - prob) + 1) - sorted_ary = np.sort(ary.ravel()) - size = sorted_ary.size - ppf_size = ppf * size - 1 - th1 = sorted_ary[int(np.floor(np.nanmax((ppf_size[0], 0))))] - th2 = sorted_ary[int(np.ceil(np.nanmin((ppf_size[1], size - 1))))] - return (th2 - th1) / 2 - - -def _mc_error(ary, batches=5, circular=False): - """Calculate the simulation standard error, accounting for non-independent samples. - - The trace is divided into batches, and the standard deviation of the batch - means is calculated. - - Parameters - ---------- - ary : Numpy array - An array containing MCMC samples - batches : integer - Number of batches - circular : bool - Whether to compute the error taking into account `ary` is a circular variable - (in the range [-np.pi, np.pi]) or not. Defaults to False (i.e non-circular variables). - - Returns - ------- - mc_error : float - Simulation standard error - """ - _numba_flag = Numba.numba_flag - if ary.ndim > 1: - dims = np.shape(ary) - trace = np.transpose([t.ravel() for t in ary]) - - return np.reshape([_mc_error(t, batches) for t in trace], dims[1:]) - - else: - if _not_valid(ary, check_shape=False): - return np.nan - if batches == 1: - if circular: - if _numba_flag: - std = _circular_standard_deviation(ary, high=np.pi, low=-np.pi) - else: - std = stats.circstd(ary, high=np.pi, low=-np.pi) - elif _numba_flag: - std = float(_sqrt(svar(ary), np.zeros(1)).item()) - else: - std = np.std(ary) - return std / np.sqrt(len(ary)) - - batched_traces = np.resize(ary, (batches, int(len(ary) / batches))) - - if circular: - means = stats.circmean(batched_traces, high=np.pi, low=-np.pi, axis=1) - if _numba_flag: - std = _circular_standard_deviation(means, high=np.pi, low=-np.pi) - else: - std = stats.circstd(means, high=np.pi, low=-np.pi) - else: - means = np.mean(batched_traces, 1) - std = _sqrt(svar(means), np.zeros(1)) if _numba_flag else np.std(means) - return std / np.sqrt(batches) - - -def _multichain_statistics(ary, focus="mean"): - """Calculate efficiently multichain statistics for summary. - - Parameters - ---------- - ary : numpy.ndarray - focus : select focus for the statistics. Deafault is mean. - - Returns - ------- - tuple - Order of return parameters is - If focus equals "mean" - - mcse_mean, mcse_sd, ess_bulk, ess_tail, r_hat - Else if focus equals "median" - - mcse_median, ess_median, ess_tail, r_hat - """ - ary = np.atleast_2d(ary) - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)): - if focus == "mean": - return np.nan, np.nan, np.nan, np.nan, np.nan - return np.nan, np.nan, np.nan, np.nan - - z_split = _z_scale(_split_chains(ary)) - - # ess tail - quantile05, quantile95 = _quantile(ary, [0.05, 0.95]) - iquantile05 = ary <= quantile05 - quantile05_ess = _ess(_split_chains(iquantile05)) - iquantile95 = ary <= quantile95 - quantile95_ess = _ess(_split_chains(iquantile95)) - ess_tail_value = min(quantile05_ess, quantile95_ess) - - if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=2)): - rhat_value = np.nan - else: - # r_hat - rhat_bulk = _rhat(z_split) - ary_folded = np.abs(ary - np.median(ary)) - rhat_tail = _rhat(_z_scale(_split_chains(ary_folded))) - rhat_value = max(rhat_bulk, rhat_tail) - - if focus == "mean": - # ess mean - ess_mean_value = _ess_mean(ary) - - # mcse_mean - sims_c2 = (ary - ary.mean()) ** 2 - sims_c2_sum = sims_c2.sum() - var = sims_c2_sum / (sims_c2.size - 1) - mcse_mean_value = np.sqrt(var / ess_mean_value) - - # ess bulk - ess_bulk_value = _ess(z_split) - - # mcse_sd - evar = sims_c2_sum / sims_c2.size - ess_mean_sims = _ess_mean(sims_c2) - varvar = ((sims_c2**2).mean() - evar**2) / ess_mean_sims - varsd = varvar / evar / 4 - mcse_sd_value = np.sqrt(varsd) - - return ( - mcse_mean_value, - mcse_sd_value, - ess_bulk_value, - ess_tail_value, - rhat_value, - ) - - # ess median - ess_median_value = _ess_median(ary) - - # mcse_median - mcse_median_value = _mcse_median(ary) - - return ( - mcse_median_value, - ess_median_value, - ess_tail_value, - rhat_value, - ) diff --git a/arviz/stats/ecdf_utils.py b/arviz/stats/ecdf_utils.py deleted file mode 100644 index 1985446c68..0000000000 --- a/arviz/stats/ecdf_utils.py +++ /dev/null @@ -1,324 +0,0 @@ -"""Functions for evaluating ECDFs and their confidence bands.""" - -import math -from typing import Any, Callable, Optional, Tuple -import warnings - -import numpy as np -from scipy.stats import uniform, binom -from scipy.optimize import minimize_scalar - -try: - from numba import jit, vectorize -except ImportError: - - def jit(*args, **kwargs): # pylint: disable=unused-argument - return lambda f: f - - def vectorize(*args, **kwargs): # pylint: disable=unused-argument - return lambda f: f - - -from ..utils import Numba - - -def compute_ecdf(sample: np.ndarray, eval_points: np.ndarray) -> np.ndarray: - """Compute ECDF of the sorted `sample` at the evaluation points.""" - return np.searchsorted(sample, eval_points, side="right") / len(sample) - - -def _get_ecdf_points( - sample: np.ndarray, eval_points: np.ndarray, difference: bool -) -> Tuple[np.ndarray, np.ndarray]: - """Compute the coordinates for the ecdf points using compute_ecdf.""" - x = eval_points - y = compute_ecdf(sample, eval_points) - - if not difference and y[0] > 0: - x = np.insert(x, 0, x[0]) - y = np.insert(y, 0, 0) - return x, y - - -def _call_rvs(rvs, ndraws, random_state): - if random_state is None: - return rvs(ndraws) - else: - return rvs(ndraws, random_state=random_state) - - -def _simulate_ecdf( - ndraws: int, - eval_points: np.ndarray, - rvs: Callable[[int, Optional[Any]], np.ndarray], - random_state: Optional[Any] = None, -) -> np.ndarray: - """Simulate ECDF at the `eval_points` using the given random variable sampler""" - sample = _call_rvs(rvs, ndraws, random_state) - sample.sort() - return compute_ecdf(sample, eval_points) - - -def _fit_pointwise_band_probability( - ndraws: int, - ecdf_at_eval_points: np.ndarray, - cdf_at_eval_points: np.ndarray, -) -> float: - """Compute the smallest marginal probability of a pointwise confidence band that - contains the ECDF.""" - ecdf_scaled = (ndraws * ecdf_at_eval_points).astype(int) - prob_lower_tail = np.amin(binom.cdf(ecdf_scaled, ndraws, cdf_at_eval_points)) - prob_upper_tail = np.amin(binom.sf(ecdf_scaled - 1, ndraws, cdf_at_eval_points)) - prob_pointwise = 1 - 2 * min(prob_lower_tail, prob_upper_tail) - return prob_pointwise - - -def _get_pointwise_confidence_band( - prob: float, ndraws: int, cdf_at_eval_points: np.ndarray -) -> Tuple[np.ndarray, np.ndarray]: - """Compute the `prob`-level pointwise confidence band.""" - count_lower, count_upper = binom.interval(prob, ndraws, cdf_at_eval_points) - prob_lower = count_lower / ndraws - prob_upper = count_upper / ndraws - return prob_lower, prob_upper - - -def ecdf_confidence_band( - ndraws: int, - eval_points: np.ndarray, - cdf_at_eval_points: np.ndarray, - prob: float = 0.95, - method="optimized", - **kwargs, -) -> Tuple[np.ndarray, np.ndarray]: - """Compute the `prob`-level confidence band for the ECDF. - - Arguments - --------- - ndraws : int - Number of samples in the original dataset. - eval_points : np.ndarray - Points at which the ECDF is evaluated. If these are dependent on the sample - values, simultaneous confidence bands may not be correctly calibrated. - cdf_at_eval_points : np.ndarray - CDF values at the evaluation points. - prob : float, default 0.95 - The target probability that a true ECDF lies within the confidence band. - method : string, default "simulated" - The method used to compute the confidence band. Valid options are: - - "pointwise": Compute the pointwise (i.e. marginal) confidence band. - - "optimized": Use optimization to estimate a simultaneous confidence band. - - "simulated": Use Monte Carlo simulation to estimate a simultaneous confidence band. - `rvs` must be provided. - rvs: callable, optional - A function that takes an integer `ndraws` and optionally the object passed to - `random_state` and returns an array of `ndraws` samples from the same distribution - as the original dataset. Required if `method` is "simulated" and variable is discrete. - num_trials : int, default 500 - The number of random ECDFs to generate for constructing simultaneous confidence bands - (if `method` is "simulated"). - random_state : int, numpy.random.Generator or numpy.random.RandomState, optional - - Returns - ------- - prob_lower : np.ndarray - Lower confidence band for the ECDF at the evaluation points. - prob_upper : np.ndarray - Upper confidence band for the ECDF at the evaluation points. - """ - if not 0 < prob < 1: - raise ValueError(f"Invalid value for `prob`. Expected 0 < prob < 1, but got {prob}.") - - if method == "pointwise": - prob_pointwise = prob - elif method == "optimized": - prob_pointwise = _optimize_simultaneous_ecdf_band_probability( - ndraws, eval_points, cdf_at_eval_points, prob=prob, **kwargs - ) - elif method == "simulated": - prob_pointwise = _simulate_simultaneous_ecdf_band_probability( - ndraws, eval_points, cdf_at_eval_points, prob=prob, **kwargs - ) - else: - raise ValueError( - f"Unknown method {method}. Valid options are 'pointwise', 'optimized', or 'simulated'." - ) - - prob_lower, prob_upper = _get_pointwise_confidence_band( - prob_pointwise, ndraws, cdf_at_eval_points - ) - - return prob_lower, prob_upper - - -def _update_ecdf_band_interior_probabilities( - prob_left: np.ndarray, - interval_left: np.ndarray, - interval_right: np.ndarray, - p: float, - ndraws: int, -) -> np.ndarray: - """Update the probability that an ECDF has been within the envelope including at the current - point. - - Arguments - --------- - prob_left : np.ndarray - For each point in the interior at the previous point, the joint probability that it and all - points before are in the interior. - interval_left : np.ndarray - The set of points in the interior at the previous point. - interval_right : np.ndarray - The set of points in the interior at the current point. - p : float - The probability of any given point found between the previous point and the current one. - ndraws : int - Number of draws in the original dataset. - - Returns - ------- - prob_right : np.ndarray - For each point in the interior at the current point, the joint probability that it and all - previous points are in the interior. - """ - interval_left = interval_left[:, np.newaxis] - prob_conditional = binom.pmf(interval_right, ndraws - interval_left, p, loc=interval_left) - prob_right = prob_left.dot(prob_conditional) - return prob_right - - -@vectorize(["float64(int64, int64, float64, int64)"]) -def _binom_pmf(k, n, p, loc): - k -= loc - if k < 0 or k > n: - return 0.0 - if p == 0: - return 1.0 if k == 0 else 0.0 - if p == 1: - return 1.0 if k == n else 0.0 - if k == 0: - return (1 - p) ** n - if k == n: - return p**n - lbinom = math.lgamma(n + 1) - math.lgamma(k + 1) - math.lgamma(n - k + 1) - return np.exp(lbinom + k * np.log(p) + (n - k) * np.log1p(-p)) - - -@jit(nopython=True) -def _update_ecdf_band_interior_probabilities_numba( - prob_left: np.ndarray, - interval_left: np.ndarray, - interval_right: np.ndarray, - p: float, - ndraws: int, -) -> np.ndarray: - interval_left = interval_left[:, np.newaxis] - prob_conditional = _binom_pmf(interval_right, ndraws - interval_left, p, interval_left) - prob_right = prob_left.dot(prob_conditional) - return prob_right - - -def _ecdf_band_interior_probability(prob_between_points, ndraws, lower_count, upper_count): - interval_left = np.arange(1) - prob_interior = np.ones(1) - for i in range(prob_between_points.shape[0]): - interval_right = np.arange(lower_count[i], upper_count[i]) - prob_interior = _update_ecdf_band_interior_probabilities( - prob_interior, interval_left, interval_right, prob_between_points[i], ndraws - ) - interval_left = interval_right - return prob_interior.sum() - - -@jit(nopython=True) -def _ecdf_band_interior_probability_numba(prob_between_points, ndraws, lower_count, upper_count): - interval_left = np.arange(1) - prob_interior = np.ones(1) - for i in range(prob_between_points.shape[0]): - interval_right = np.arange(lower_count[i], upper_count[i]) - prob_interior = _update_ecdf_band_interior_probabilities_numba( - prob_interior, interval_left, interval_right, prob_between_points[i], ndraws - ) - interval_left = interval_right - return prob_interior.sum() - - -def _ecdf_band_optimization_objective( - prob_pointwise: float, - cdf_at_eval_points: np.ndarray, - ndraws: int, - prob_target: float, -) -> float: - """Objective function for optimizing the simultaneous confidence band probability.""" - lower, upper = _get_pointwise_confidence_band(prob_pointwise, ndraws, cdf_at_eval_points) - lower_count = (lower * ndraws).astype(int) - upper_count = (upper * ndraws).astype(int) + 1 - cdf_with_zero = np.insert(cdf_at_eval_points[:-1], 0, 0) - prob_between_points = (cdf_at_eval_points - cdf_with_zero) / (1 - cdf_with_zero) - if Numba.numba_flag: - prob_interior = _ecdf_band_interior_probability_numba( - prob_between_points, ndraws, lower_count, upper_count - ) - else: - prob_interior = _ecdf_band_interior_probability( - prob_between_points, ndraws, lower_count, upper_count - ) - return abs(prob_interior - prob_target) - - -def _optimize_simultaneous_ecdf_band_probability( - ndraws: int, - eval_points: np.ndarray, # pylint: disable=unused-argument - cdf_at_eval_points: np.ndarray, - prob: float = 0.95, - **kwargs, # pylint: disable=unused-argument -): - """Estimate probability for simultaneous confidence band using optimization. - - This function simulates the pointwise probability needed to construct pointwise confidence bands - that form a `prob`-level confidence envelope for the ECDF of a sample. - """ - cdf_at_eval_points = np.unique(cdf_at_eval_points) - objective = lambda p: _ecdf_band_optimization_objective(p, cdf_at_eval_points, ndraws, prob) - prob_pointwise = minimize_scalar(objective, bounds=(prob, 1), method="bounded").x - return prob_pointwise - - -def _simulate_simultaneous_ecdf_band_probability( - ndraws: int, - eval_points: np.ndarray, - cdf_at_eval_points: np.ndarray, - prob: float = 0.95, - rvs: Optional[Callable[[int, Optional[Any]], np.ndarray]] = None, - num_trials: int = 500, - random_state: Optional[Any] = None, -) -> float: - """Estimate probability for simultaneous confidence band using simulation. - - This function simulates the pointwise probability needed to construct pointwise - confidence bands that form a `prob`-level confidence envelope for the ECDF - of a sample. - """ - if rvs is None: - warnings.warn( - "Assuming variable is continuous for calibration of pointwise bands. " - "If the variable is discrete, specify random variable sampler `rvs`.", - UserWarning, - ) - # if variable continuous, we can calibrate the confidence band using a uniform - # distribution - rvs = uniform(0, 1).rvs - eval_points_sim = cdf_at_eval_points - else: - eval_points_sim = eval_points - - probs_pointwise = np.empty(num_trials) - for i in range(num_trials): - ecdf_at_eval_points = _simulate_ecdf( - ndraws, eval_points_sim, rvs, random_state=random_state - ) - prob_pointwise = _fit_pointwise_band_probability( - ndraws, ecdf_at_eval_points, cdf_at_eval_points - ) - probs_pointwise[i] = prob_pointwise - return np.quantile(probs_pointwise, prob) diff --git a/arviz/stats/stats.py b/arviz/stats/stats.py deleted file mode 100644 index 7d1d893841..0000000000 --- a/arviz/stats/stats.py +++ /dev/null @@ -1,2422 +0,0 @@ -# pylint: disable=too-many-lines -"""Statistical functions in ArviZ.""" - -import warnings -from copy import deepcopy -from typing import List, Optional, Tuple, Union, Mapping, cast, Callable - -import numpy as np -import pandas as pd -import scipy.stats as st -from xarray_einstats import stats -import xarray as xr -from scipy.optimize import minimize, LinearConstraint, Bounds -from typing_extensions import Literal - -NO_GET_ARGS: bool = False # pylint: disable=invalid-name -try: - from typing_extensions import get_args -except ImportError: - NO_GET_ARGS = True # pylint: disable=invalid-name - -from .. import _log -from ..data import InferenceData, convert_to_dataset, convert_to_inference_data, extract -from ..rcparams import rcParams, ScaleKeyword, ICKeyword -from ..utils import Numba, _numba_var, _var_names, get_coords -from .density_utils import get_bins as _get_bins -from .density_utils import histogram as _histogram -from .density_utils import kde as _kde -from .density_utils import _kde_linear -from .diagnostics import _mc_error, _multichain_statistics, ess -from .stats_utils import ELPDData, _circular_standard_deviation, smooth_data -from .stats_utils import get_log_likelihood as _get_log_likelihood -from .stats_utils import get_log_prior as _get_log_prior -from .stats_utils import logsumexp as _logsumexp -from .stats_utils import make_ufunc as _make_ufunc -from .stats_utils import stats_variance_2d as svar -from .stats_utils import wrap_xarray_ufunc as _wrap_xarray_ufunc -from ..sel_utils import xarray_var_iter -from ..labels import BaseLabeller - - -__all__ = [ - "apply_test_function", - "bayes_factor", - "compare", - "hdi", - "loo", - "loo_pit", - "psislw", - "r2_samples", - "r2_score", - "summary", - "waic", - "weight_predictions", - "_calculate_ics", - "psens", -] - - -def compare( - compare_dict: Mapping[str, InferenceData], - ic: Optional[ICKeyword] = None, - method: Literal["stacking", "BB-pseudo-BMA", "pseudo-BMA"] = "stacking", - b_samples: int = 1000, - alpha: float = 1, - seed=None, - scale: Optional[ScaleKeyword] = None, - var_name: Optional[str] = None, -): - r"""Compare models based on their expected log pointwise predictive density (ELPD). - - The ELPD is estimated either by Pareto smoothed importance sampling leave-one-out - cross-validation (LOO) or using the widely applicable information criterion (WAIC). - We recommend loo. Read more theory here - in a paper by some of the - leading authorities on model comparison dx.doi.org/10.1111/1467-9868.00353 - - Parameters - ---------- - compare_dict: dict of {str: InferenceData or ELPDData} - A dictionary of model names and :class:`arviz.InferenceData` or ``ELPDData``. - ic: str, optional - Method to estimate the ELPD, available options are "loo" or "waic". Defaults to - ``rcParams["stats.information_criterion"]``. - method: str, optional - Method used to estimate the weights for each model. Available options are: - - - 'stacking' : stacking of predictive distributions. - - 'BB-pseudo-BMA' : pseudo-Bayesian Model averaging using Akaike-type - weighting. The weights are stabilized using the Bayesian bootstrap. - - 'pseudo-BMA': pseudo-Bayesian Model averaging using Akaike-type - weighting, without Bootstrap stabilization (not recommended). - - For more information read https://arxiv.org/abs/1704.02030 - b_samples: int, optional default = 1000 - Number of samples taken by the Bayesian bootstrap estimation. - Only useful when method = 'BB-pseudo-BMA'. - Defaults to ``rcParams["stats.ic_compare_method"]``. - alpha: float, optional - The shape parameter in the Dirichlet distribution used for the Bayesian bootstrap. Only - useful when method = 'BB-pseudo-BMA'. When alpha=1 (default), the distribution is uniform - on the simplex. A smaller alpha will keeps the final weights more away from 0 and 1. - seed: int or np.random.RandomState instance, optional - If int or RandomState, use it for seeding Bayesian bootstrap. Only - useful when method = 'BB-pseudo-BMA'. Default None the global - :mod:`numpy.random` state is used. - scale: str, optional - Output scale for IC. Available options are: - - - `log` : (default) log-score (after Vehtari et al. (2017)) - - `negative_log` : -1 * (log-score) - - `deviance` : -2 * (log-score) - - A higher log-score (or a lower deviance) indicates a model with better predictive - accuracy. - var_name: str, optional - If there is more than a single observed variable in the ``InferenceData``, which - should be used as the basis for comparison. - - Returns - ------- - A DataFrame, ordered from best to worst model (measured by the ELPD). - The index reflects the key with which the models are passed to this function. The columns are: - rank: The rank-order of the models. 0 is the best. - elpd: ELPD estimated either using (PSIS-LOO-CV `elpd_loo` or WAIC `elpd_waic`). - Higher ELPD indicates higher out-of-sample predictive fit ("better" model). - If `scale` is `deviance` or `negative_log` smaller values indicates - higher out-of-sample predictive fit ("better" model). - pIC: Estimated effective number of parameters. - elpd_diff: The difference in ELPD between two models. - If more than two models are compared, the difference is computed relative to the - top-ranked model, that always has a elpd_diff of 0. - weight: Relative weight for each model. - This can be loosely interpreted as the probability of each model (among the compared model) - given the data. By default the uncertainty in the weights estimation is considered using - Bayesian bootstrap. - SE: Standard error of the ELPD estimate. - If method = BB-pseudo-BMA these values are estimated using Bayesian bootstrap. - dSE: Standard error of the difference in ELPD between each model and the top-ranked model. - It's always 0 for the top-ranked model. - warning: A value of 1 indicates that the computation of the ELPD may not be reliable. - This could be indication of WAIC/LOO starting to fail see - http://arxiv.org/abs/1507.04544 for details. - scale: Scale used for the ELPD. - - Examples - -------- - Compare the centered and non centered models of the eight school problem: - - .. ipython:: - :okwarning: - - In [1]: import arviz as az - ...: data1 = az.load_arviz_data("non_centered_eight") - ...: data2 = az.load_arviz_data("centered_eight") - ...: compare_dict = {"non centered": data1, "centered": data2} - ...: az.compare(compare_dict) - - Compare the models using PSIS-LOO-CV, returning the ELPD in log scale and calculating the - weights using the stacking method. - - .. ipython:: - :okwarning: - - In [1]: az.compare(compare_dict, ic="loo", method="stacking", scale="log") - - See Also - -------- - loo : - Compute the ELPD using the Pareto smoothed importance sampling Leave-one-out - cross-validation method. - waic : Compute the ELPD using the widely applicable information criterion. - plot_compare : Summary plot for model comparison. - - References - ---------- - .. [1] Vehtari, A., Gelman, A. & Gabry, J. Practical Bayesian model evaluation using - leave-one-out cross-validation and WAIC. Stat Comput 27, 1413–1432 (2017) - see https://doi.org/10.1007/s11222-016-9696-4 - - """ - try: - (ics_dict, scale, ic) = _calculate_ics(compare_dict, scale=scale, ic=ic, var_name=var_name) - except Exception as e: - raise e.__class__("Encountered error in ELPD computation of compare.") from e - names = list(ics_dict.keys()) - if ic in {"loo", "waic"}: - df_comp = pd.DataFrame( - { - "rank": pd.Series(index=names, dtype="int"), - f"elpd_{ic}": pd.Series(index=names, dtype="float"), - f"p_{ic}": pd.Series(index=names, dtype="float"), - "elpd_diff": pd.Series(index=names, dtype="float"), - "weight": pd.Series(index=names, dtype="float"), - "se": pd.Series(index=names, dtype="float"), - "dse": pd.Series(index=names, dtype="float"), - "warning": pd.Series(index=names, dtype="boolean"), - "scale": pd.Series(index=names, dtype="str"), - } - ) - else: - raise NotImplementedError(f"The information criterion {ic} is not supported.") - - if scale == "log": - scale_value = 1 - ascending = False - else: - if scale == "negative_log": - scale_value = -1 - else: - scale_value = -2 - ascending = True - - method = rcParams["stats.ic_compare_method"] if method is None else method - if method.lower() not in ["stacking", "bb-pseudo-bma", "pseudo-bma"]: - raise ValueError(f"The method {method}, to compute weights, is not supported.") - - p_ic = f"p_{ic}" - ic_i = f"{ic}_i" - - ics = pd.DataFrame.from_dict(ics_dict, orient="index") - ics.sort_values(by=f"elpd_{ic}", inplace=True, ascending=ascending) - ics[ic_i] = ics[ic_i].apply(lambda x: x.values.flatten()) - - if method.lower() == "stacking": - rows, cols, ic_i_val = _ic_matrix(ics, ic_i) - exp_ic_i = np.exp(ic_i_val / scale_value) - - def log_score(weights): - return -np.sum(np.log(exp_ic_i @ weights)) - - def gradient(weights): - denominator = exp_ic_i @ weights - return -np.sum(exp_ic_i / denominator[:, np.newaxis], axis=0) - - theta = np.full(cols, 1.0 / cols) - bounds = Bounds(lb=np.zeros(cols), ub=np.ones(cols)) - constraints = LinearConstraint(np.ones(cols), lb=1.0, ub=1.0) - - minimize_result = minimize( - fun=log_score, x0=theta, jac=gradient, bounds=bounds, constraints=constraints - ) - - weights = minimize_result["x"] - ses = ics["se"] - - elif method.lower() == "bb-pseudo-bma": - rows, cols, ic_i_val = _ic_matrix(ics, ic_i) - ic_i_val = ic_i_val * rows - - b_weighting = st.dirichlet.rvs(alpha=[alpha] * rows, size=b_samples, random_state=seed) - weights = np.zeros((b_samples, cols)) - z_bs = np.zeros_like(weights) - for i in range(b_samples): - z_b = np.dot(b_weighting[i], ic_i_val) - u_weights = np.exp((z_b - np.max(z_b)) / scale_value) - z_bs[i] = z_b # pylint: disable=unsupported-assignment-operation - weights[i] = u_weights / np.sum(u_weights) - - weights = weights.mean(axis=0) - ses = pd.Series(z_bs.std(axis=0), index=ics.index) # pylint: disable=no-member - - elif method.lower() == "pseudo-bma": - min_ic = ics.iloc[0][f"elpd_{ic}"] - z_rv = np.exp((ics[f"elpd_{ic}"] - min_ic) / scale_value) - weights = (z_rv / np.sum(z_rv)).to_numpy() - ses = ics["se"] - - if np.any(weights): - min_ic_i_val = ics[ic_i].iloc[0] - for idx, val in enumerate(ics.index): - res = ics.loc[val] - if scale_value < 0: - diff = res[ic_i] - min_ic_i_val - else: - diff = min_ic_i_val - res[ic_i] - d_ic = np.sum(diff) - d_std_err = np.sqrt(len(diff) * np.var(diff)) - std_err = ses.loc[val] - weight = weights[idx] - df_comp.loc[val] = ( - idx, - res[f"elpd_{ic}"], - res[p_ic], - d_ic, - weight, - std_err, - d_std_err, - res["warning"], - res["scale"], - ) - - df_comp["rank"] = df_comp["rank"].astype(int) - df_comp["warning"] = df_comp["warning"].astype(bool) - return df_comp.sort_values(by=f"elpd_{ic}", ascending=ascending) - - -def _ic_matrix(ics, ic_i): - """Store the previously computed pointwise predictive accuracy values (ics) in a 2D matrix.""" - cols, _ = ics.shape - rows = len(ics[ic_i].iloc[0]) - ic_i_val = np.zeros((rows, cols)) - - for idx, val in enumerate(ics.index): - ic = ics.loc[val][ic_i] - - if len(ic) != rows: - raise ValueError("The number of observations should be the same across all models") - - ic_i_val[:, idx] = ic - - return rows, cols, ic_i_val - - -def _calculate_ics( - compare_dict, - scale: Optional[ScaleKeyword] = None, - ic: Optional[ICKeyword] = None, - var_name: Optional[str] = None, -): - """Calculate LOO or WAIC only if necessary. - - It always calls the ic function with ``pointwise=True``. - - Parameters - ---------- - compare_dict : dict of {str : InferenceData or ELPDData} - A dictionary of model names and InferenceData or ELPDData objects - scale : str, optional - Output scale for IC. Available options are: - - - `log` : (default) log-score (after Vehtari et al. (2017)) - - `negative_log` : -1 * (log-score) - - `deviance` : -2 * (log-score) - - A higher log-score (or a lower deviance) indicates a model with better predictive accuracy. - ic : str, optional - Information Criterion (PSIS-LOO `loo` or WAIC `waic`) used to compare models. - Defaults to ``rcParams["stats.information_criterion"]``. - var_name : str, optional - Name of the variable storing pointwise log likelihood values in ``log_likelihood`` group. - - - Returns - ------- - compare_dict : dict of ELPDData - scale : str - ic : str - - """ - precomputed_elpds = { - name: elpd_data - for name, elpd_data in compare_dict.items() - if isinstance(elpd_data, ELPDData) - } - precomputed_ic = None - precomputed_scale = None - if precomputed_elpds: - _, arbitrary_elpd = precomputed_elpds.popitem() - precomputed_ic = arbitrary_elpd.index[0].split("_")[1] - precomputed_scale = arbitrary_elpd["scale"] - raise_non_pointwise = f"{precomputed_ic}_i" not in arbitrary_elpd - if any( - elpd_data.index[0].split("_")[1] != precomputed_ic - for elpd_data in precomputed_elpds.values() - ): - raise ValueError( - "All information criteria to be compared must be the same " - "but found both loo and waic." - ) - if any(elpd_data["scale"] != precomputed_scale for elpd_data in precomputed_elpds.values()): - raise ValueError("All information criteria to be compared must use the same scale") - if ( - any(f"{precomputed_ic}_i" not in elpd_data for elpd_data in precomputed_elpds.values()) - or raise_non_pointwise - ): - raise ValueError("Not all provided ELPDData have been calculated with pointwise=True") - if ic is not None and ic.lower() != precomputed_ic: - warnings.warn( - "Provided ic argument is incompatible with precomputed elpd data. " - f"Using ic from precomputed elpddata: {precomputed_ic}" - ) - ic = precomputed_ic - if scale is not None and scale.lower() != precomputed_scale: - warnings.warn( - "Provided scale argument is incompatible with precomputed elpd data. " - f"Using scale from precomputed elpddata: {precomputed_scale}" - ) - scale = precomputed_scale - - if ic is None and precomputed_ic is None: - ic = cast(ICKeyword, rcParams["stats.information_criterion"]) - elif ic is None: - ic = precomputed_ic - else: - ic = cast(ICKeyword, ic.lower()) - allowable = ["loo", "waic"] if NO_GET_ARGS else get_args(ICKeyword) - if ic not in allowable: - raise ValueError(f"{ic} is not a valid value for ic: must be in {allowable}") - - if scale is None and precomputed_scale is None: - scale = cast(ScaleKeyword, rcParams["stats.ic_scale"]) - elif scale is None: - scale = precomputed_scale - else: - scale = cast(ScaleKeyword, scale.lower()) - allowable = ["log", "negative_log", "deviance"] if NO_GET_ARGS else get_args(ScaleKeyword) - if scale not in allowable: - raise ValueError(f"{scale} is not a valid value for scale: must be in {allowable}") - - if ic == "loo": - ic_func: Callable = loo - elif ic == "waic": - ic_func = waic - else: - raise NotImplementedError(f"The information criterion {ic} is not supported.") - - compare_dict = deepcopy(compare_dict) - for name, dataset in compare_dict.items(): - if not isinstance(dataset, ELPDData): - try: - compare_dict[name] = ic_func( - convert_to_inference_data(dataset), - pointwise=True, - scale=scale, - var_name=var_name, - ) - except Exception as e: - raise e.__class__( - f"Encountered error trying to compute {ic} from model {name}." - ) from e - return (compare_dict, scale, ic) - - -def hdi( - ary, - hdi_prob=None, - circular=False, - multimodal=False, - skipna=False, - group="posterior", - var_names=None, - filter_vars=None, - coords=None, - max_modes=10, - dask_kwargs=None, - **kwargs, -): - """ - Calculate highest density interval (HDI) of array for given probability. - - The HDI is the minimum width Bayesian credible interval (BCI). - - Parameters - ---------- - ary: obj - object containing posterior samples. - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - hdi_prob: float, optional - Prob for which the highest density interval will be computed. Defaults to - ``stats.ci_prob`` rcParam. - circular: bool, optional - Whether to compute the hdi taking into account `x` is a circular variable - (in the range [-np.pi, np.pi]) or not. Defaults to False (i.e non-circular variables). - Only works if multimodal is False. - multimodal: bool, optional - If true it may compute more than one hdi if the distribution is multimodal and the - modes are well separated. - skipna: bool, optional - If true ignores nan values when computing the hdi. Defaults to false. - group: str, optional - Specifies which InferenceData group should be used to calculate hdi. - Defaults to 'posterior' - var_names: list, optional - Names of variables to include in the hdi report. Prefix the variables by ``~`` - when you want to exclude them from the report: `["~beta"]` instead of `["beta"]` - (see :func:`arviz.summary` for more details). - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - coords: mapping, optional - Specifies the subset over to calculate hdi. - max_modes: int, optional - Specifies the maximum number of modes for multimodal case. - dask_kwargs : dict, optional - Dask related kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. - kwargs: dict, optional - Additional keywords passed to :func:`~arviz.wrap_xarray_ufunc`. - - Returns - ------- - np.ndarray or xarray.Dataset, depending upon input - lower(s) and upper(s) values of the interval(s). - - See Also - -------- - plot_hdi : Plot highest density intervals for regression data. - xarray.Dataset.quantile : Calculate quantiles of array for given probabilities. - - Examples - -------- - Calculate the HDI of a Normal random variable: - - .. ipython:: - - In [1]: import arviz as az - ...: import numpy as np - ...: data = np.random.normal(size=2000) - ...: az.hdi(data, hdi_prob=.68) - - Calculate the HDI of a dataset: - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data('centered_eight') - ...: az.hdi(data) - - We can also calculate the HDI of some of the variables of dataset: - - .. ipython:: - - In [1]: az.hdi(data, var_names=["mu", "theta"]) - - By default, ``hdi`` is calculated over the ``chain`` and ``draw`` dimensions. We can use the - ``input_core_dims`` argument of :func:`~arviz.wrap_xarray_ufunc` to change this. In this example - we calculate the HDI also over the ``school`` dimension: - - .. ipython:: - - In [1]: az.hdi(data, var_names="theta", input_core_dims = [["chain","draw", "school"]]) - - We can also calculate the hdi over a particular selection: - - .. ipython:: - - In [1]: az.hdi(data, coords={"chain":[0, 1, 3]}, input_core_dims = [["draw"]]) - - """ - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - func_kwargs = { - "hdi_prob": hdi_prob, - "skipna": skipna, - "out_shape": (max_modes, 2) if multimodal else (2,), - } - kwargs.setdefault("output_core_dims", [["mode", "hdi"] if multimodal else ["hdi"]]) - if not multimodal: - func_kwargs["circular"] = circular - else: - func_kwargs["max_modes"] = max_modes - - func = _hdi_multimodal if multimodal else _hdi - - isarray = isinstance(ary, np.ndarray) - if isarray and ary.ndim <= 1: - func_kwargs.pop("out_shape") - hdi_data = func(ary, **func_kwargs) # pylint: disable=unexpected-keyword-arg - return hdi_data[~np.isnan(hdi_data).all(axis=1), :] if multimodal else hdi_data - - if isarray and ary.ndim == 2: - warnings.warn( - "hdi currently interprets 2d data as (draw, shape) but this will change in " - "a future release to (chain, draw) for coherence with other functions", - FutureWarning, - stacklevel=2, - ) - ary = np.expand_dims(ary, 0) - - ary = convert_to_dataset(ary, group=group) - if coords is not None: - ary = get_coords(ary, coords) - var_names = _var_names(var_names, ary, filter_vars) - ary = ary[var_names] if var_names else ary - - hdi_coord = xr.DataArray(["lower", "higher"], dims=["hdi"], attrs=dict(hdi_prob=hdi_prob)) - hdi_data = _wrap_xarray_ufunc( - func, ary, func_kwargs=func_kwargs, dask_kwargs=dask_kwargs, **kwargs - ).assign_coords({"hdi": hdi_coord}) - hdi_data = hdi_data.dropna("mode", how="all") if multimodal else hdi_data - return hdi_data.x.values if isarray else hdi_data - - -def _hdi(ary, hdi_prob, circular, skipna): - """Compute hpi over the flattened array.""" - ary = ary.flatten() - if skipna: - nans = np.isnan(ary) - if not nans.all(): - ary = ary[~nans] - n = len(ary) - - if circular: - mean = st.circmean(ary, high=np.pi, low=-np.pi) - ary = ary - mean - ary = np.arctan2(np.sin(ary), np.cos(ary)) - - ary = np.sort(ary) - interval_idx_inc = int(np.floor(hdi_prob * n)) - n_intervals = n - interval_idx_inc - interval_width = np.subtract(ary[interval_idx_inc:], ary[:n_intervals], dtype=np.float64) - - if len(interval_width) == 0: - raise ValueError("Too few elements for interval calculation. ") - - min_idx = np.argmin(interval_width) - hdi_min = ary[min_idx] - hdi_max = ary[min_idx + interval_idx_inc] - - if circular: - hdi_min = hdi_min + mean - hdi_max = hdi_max + mean - hdi_min = np.arctan2(np.sin(hdi_min), np.cos(hdi_min)) - hdi_max = np.arctan2(np.sin(hdi_max), np.cos(hdi_max)) - - hdi_interval = np.array([hdi_min, hdi_max]) - - return hdi_interval - - -def _hdi_multimodal(ary, hdi_prob, skipna, max_modes): - """Compute HDI if the distribution is multimodal.""" - ary = ary.flatten() - if skipna: - ary = ary[~np.isnan(ary)] - - if ary.dtype.kind == "f": - bins, density = _kde(ary) - lower, upper = bins[0], bins[-1] - range_x = upper - lower - dx = range_x / len(density) - else: - bins = _get_bins(ary) - _, density, _ = _histogram(ary, bins=bins) - dx = np.diff(bins)[0] - - density *= dx - - idx = np.argsort(-density) - intervals = bins[idx][density[idx].cumsum() <= hdi_prob] - intervals.sort() - - intervals_splitted = np.split(intervals, np.where(np.diff(intervals) >= dx * 1.1)[0] + 1) - - hdi_intervals = np.full((max_modes, 2), np.nan) - for i, interval in enumerate(intervals_splitted): - if i == max_modes: - warnings.warn( - f"found more modes than {max_modes}, returning only the first {max_modes} modes" - ) - break - if interval.size == 0: - hdi_intervals[i] = np.asarray([bins[0], bins[0]]) - else: - hdi_intervals[i] = np.asarray([interval[0], interval[-1]]) - - return np.array(hdi_intervals) - - -def loo(data, pointwise=None, var_name=None, reff=None, scale=None): - """Compute Pareto-smoothed importance sampling leave-one-out cross-validation (PSIS-LOO-CV). - - Estimates the expected log pointwise predictive density (elpd) using Pareto-smoothed - importance sampling leave-one-out cross-validation (PSIS-LOO-CV). Also calculates LOO's - standard error and the effective number of parameters. Read more theory here - https://arxiv.org/abs/1507.04544 and here https://arxiv.org/abs/1507.02646 - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of - :func:`arviz.convert_to_dataset` for details. - pointwise: bool, optional - If True the pointwise predictive accuracy will be returned. Defaults to - ``stats.ic_pointwise`` rcParam. - var_name : str, optional - The name of the variable in log_likelihood groups storing the pointwise log - likelihood data to use for loo computation. - reff: float, optional - Relative MCMC efficiency, ``ess / n`` i.e. number of effective samples divided by the number - of actual samples. Computed from trace by default. - scale: str - Output scale for loo. Available options are: - - - ``log`` : (default) log-score - - ``negative_log`` : -1 * log-score - - ``deviance`` : -2 * log-score - - A higher log-score (or a lower deviance or negative log_score) indicates a model with - better predictive accuracy. - - Returns - ------- - ELPDData object (inherits from :class:`pandas.Series`) with the following row/attributes: - elpd_loo: approximated expected log pointwise predictive density (elpd) - se: standard error of the elpd - p_loo: effective number of parameters - n_samples: number of samples - n_data_points: number of data points - warning: bool - True if the estimated shape parameter of Pareto distribution is greater than - ``good_k``. - loo_i: :class:`~xarray.DataArray` with the pointwise predictive accuracy, - only if pointwise=True - pareto_k: array of Pareto shape values, only if pointwise True - scale: scale of the elpd - good_k: For a sample size S, the thresold is compute as min(1 - 1/log10(S), 0.7) - - The returned object has a custom print method that overrides pd.Series method. - - See Also - -------- - compare : Compare models based on PSIS-LOO loo or WAIC waic cross-validation. - waic : Compute the widely applicable information criterion. - plot_compare : Summary plot for model comparison. - plot_elpd : Plot pointwise elpd differences between two or more models. - plot_khat : Plot Pareto tail indices for diagnosing convergence. - - Examples - -------- - Calculate LOO of a model: - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data("centered_eight") - ...: az.loo(data) - - Calculate LOO of a model and return the pointwise values: - - .. ipython:: - - In [2]: data_loo = az.loo(data, pointwise=True) - ...: data_loo.loo_i - """ - inference_data = convert_to_inference_data(data) - log_likelihood = _get_log_likelihood(inference_data, var_name=var_name) - pointwise = rcParams["stats.ic_pointwise"] if pointwise is None else pointwise - - log_likelihood = log_likelihood.stack(__sample__=("chain", "draw")) - shape = log_likelihood.shape - n_samples = shape[-1] - n_data_points = np.prod(shape[:-1]) - scale = rcParams["stats.ic_scale"] if scale is None else scale.lower() - - if scale == "deviance": - scale_value = -2 - elif scale == "log": - scale_value = 1 - elif scale == "negative_log": - scale_value = -1 - else: - raise TypeError('Valid scale values are "deviance", "log", "negative_log"') - - if reff is None: - if not hasattr(inference_data, "posterior"): - raise TypeError("Must be able to extract a posterior group from data.") - posterior = inference_data.posterior - n_chains = len(posterior.chain) - if n_chains == 1: - reff = 1.0 - else: - ess_p = ess(posterior, method="mean") - # this mean is over all data variables - reff = ( - np.hstack([ess_p[v].values.flatten() for v in ess_p.data_vars]).mean() / n_samples - ) - - log_weights, pareto_shape = psislw(-log_likelihood, reff) - log_weights += log_likelihood - - warn_mg = False - good_k = min(1 - 1 / np.log10(n_samples), 0.7) - - if np.any(pareto_shape > good_k): - warnings.warn( - f"Estimated shape parameter of Pareto distribution is greater than {good_k:.2f} " - "for one or more samples. You should consider using a more robust model, this is " - "because importance sampling is less likely to work well if the marginal posterior " - "and LOO posterior are very different. This is more likely to happen with a " - "non-robust model and highly influential observations." - ) - warn_mg = True - - ufunc_kwargs = {"n_dims": 1, "ravel": False} - kwargs = {"input_core_dims": [["__sample__"]]} - loo_lppd_i = scale_value * _wrap_xarray_ufunc( - _logsumexp, log_weights, ufunc_kwargs=ufunc_kwargs, **kwargs - ) - loo_lppd = loo_lppd_i.values.sum() - loo_lppd_se = (n_data_points * np.var(loo_lppd_i.values)) ** 0.5 - - lppd = np.sum( - _wrap_xarray_ufunc( - _logsumexp, - log_likelihood, - func_kwargs={"b_inv": n_samples}, - ufunc_kwargs=ufunc_kwargs, - **kwargs, - ).values - ) - p_loo = lppd - loo_lppd / scale_value - - if not pointwise: - return ELPDData( - data=[loo_lppd, loo_lppd_se, p_loo, n_samples, n_data_points, warn_mg, scale, good_k], - index=[ - "elpd_loo", - "se", - "p_loo", - "n_samples", - "n_data_points", - "warning", - "scale", - "good_k", - ], - ) - if np.equal(loo_lppd, loo_lppd_i).all(): # pylint: disable=no-member - warnings.warn( - "The point-wise LOO is the same with the sum LOO, please double check " - "the Observed RV in your model to make sure it returns element-wise logp." - ) - return ELPDData( - data=[ - loo_lppd, - loo_lppd_se, - p_loo, - n_samples, - n_data_points, - warn_mg, - loo_lppd_i.rename("loo_i"), - pareto_shape, - scale, - good_k, - ], - index=[ - "elpd_loo", - "se", - "p_loo", - "n_samples", - "n_data_points", - "warning", - "loo_i", - "pareto_k", - "scale", - "good_k", - ], - ) - - -def psislw(log_weights, reff=1.0, normalize=True): - """ - Pareto smoothed importance sampling (PSIS). - - Notes - ----- - If the ``log_weights`` input is an :class:`~xarray.DataArray` with a dimension - named ``__sample__`` (recommended) ``psislw`` will interpret this dimension as samples, - and all other dimensions as dimensions of the observed data, looping over them to - calculate the psislw of each observation. If no ``__sample__`` dimension is present or - the input is a numpy array, the last dimension will be interpreted as ``__sample__``. - - Parameters - ---------- - log_weights : DataArray or (..., N) array-like - Array of size (n_observations, n_samples) - reff : float, default 1 - relative MCMC efficiency, ``ess / n`` - normalize : bool, default True - return normalized log weights - - Returns - ------- - lw_out : DataArray or (..., N) ndarray - Smoothed, truncated and possibly normalized log weights. - kss : DataArray or (...) ndarray - Estimates of the shape parameter *k* of the generalized Pareto - distribution. - - References - ---------- - * Vehtari et al. (2024). Pareto smoothed importance sampling. Journal of Machine - Learning Research, 25(72):1-58. - - See Also - -------- - loo : Compute Pareto-smoothed importance sampling leave-one-out cross-validation (PSIS-LOO-CV). - - Examples - -------- - Get Pareto smoothed importance sampling (PSIS) log weights: - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data("non_centered_eight") - ...: log_likelihood = data.log_likelihood["obs"].stack( - ...: __sample__=["chain", "draw"] - ...: ) - ...: az.psislw(-log_likelihood, reff=0.8) - - """ - log_weights = deepcopy(log_weights) - if hasattr(log_weights, "__sample__"): - n_samples = len(log_weights.__sample__) - shape = [ - size for size, dim in zip(log_weights.shape, log_weights.dims) if dim != "__sample__" - ] - else: - n_samples = log_weights.shape[-1] - shape = log_weights.shape[:-1] - # precalculate constants - cutoff_ind = -int(np.ceil(min(n_samples / 5.0, 3 * (n_samples / reff) ** 0.5))) - 1 - cutoffmin = np.log(np.finfo(float).tiny) # pylint: disable=no-member, assignment-from-no-return - - # create output array with proper dimensions - out = np.empty_like(log_weights), np.empty(shape) - - # define kwargs - func_kwargs = { - "cutoff_ind": cutoff_ind, - "cutoffmin": cutoffmin, - "out": out, - "normalize": normalize, - } - ufunc_kwargs = {"n_dims": 1, "n_output": 2, "ravel": False, "check_shape": False} - kwargs = {"input_core_dims": [["__sample__"]], "output_core_dims": [["__sample__"], []]} - log_weights, pareto_shape = _wrap_xarray_ufunc( - _psislw, - log_weights, - ufunc_kwargs=ufunc_kwargs, - func_kwargs=func_kwargs, - **kwargs, - ) - if isinstance(log_weights, xr.DataArray): - log_weights = log_weights.rename("log_weights") - if isinstance(pareto_shape, xr.DataArray): - pareto_shape = pareto_shape.rename("pareto_shape") - return log_weights, pareto_shape - - -def _psislw(log_weights, cutoff_ind, cutoffmin, normalize): - """ - Pareto smoothed importance sampling (PSIS) for a 1D vector. - - Parameters - ---------- - log_weights: array - Array of length n_observations - cutoff_ind: int - cutoffmin: float - normalize: bool - - Returns - ------- - lw_out: array - Smoothed log weights - kss: float - Pareto tail index - """ - x = np.asarray(log_weights) - - # improve numerical accuracy - max_x = np.max(x) - x -= max_x - # sort the array - x_sort_ind = np.argsort(x) - # divide log weights into body and right tail - xcutoff = max(x[x_sort_ind[cutoff_ind]], cutoffmin) - - expxcutoff = np.exp(xcutoff) - (tailinds,) = np.where(x > xcutoff) # pylint: disable=unbalanced-tuple-unpacking - x_tail = x[tailinds] - tail_len = len(x_tail) - if tail_len <= 4: - # not enough tail samples for gpdfit - k = np.inf - else: - # order of tail samples - x_tail_si = np.argsort(x_tail) - # fit generalized Pareto distribution to the right tail samples - x_tail = np.exp(x_tail) - expxcutoff - k, sigma = _gpdfit(x_tail[x_tail_si]) - - if np.isfinite(k): - # no smoothing if GPD fit failed - # compute ordered statistic for the fit - sti = np.arange(0.5, tail_len) / tail_len - smoothed_tail = _gpinv(sti, k, sigma) - smoothed_tail = np.log( # pylint: disable=assignment-from-no-return - smoothed_tail + expxcutoff - ) - # place the smoothed tail into the output array - x[tailinds[x_tail_si]] = smoothed_tail - # truncate smoothed values to the largest raw weight 0 - x[x > 0] = 0 - - # renormalize weights - if normalize: - x -= _logsumexp(x) - else: - x += max_x - - return x, k - - -def _gpdfit(ary): - """Estimate the parameters for the Generalized Pareto Distribution (GPD). - - Empirical Bayes estimate for the parameters of the generalized Pareto - distribution given the data. - - Parameters - ---------- - ary: array - sorted 1D data array - - Returns - ------- - k: float - estimated shape parameter - sigma: float - estimated scale parameter - """ - prior_bs = 3 - prior_k = 10 - n = len(ary) - m_est = 30 + int(n**0.5) - - b_ary = 1 - np.sqrt(m_est / (np.arange(1, m_est + 1, dtype=float) - 0.5)) - b_ary /= prior_bs * ary[int(n / 4 + 0.5) - 1] - b_ary += 1 / ary[-1] - - k_ary = np.log1p(-b_ary[:, None] * ary).mean(axis=1) # pylint: disable=no-member - len_scale = n * (np.log(-(b_ary / k_ary)) - k_ary - 1) - weights = 1 / np.exp(len_scale - len_scale[:, None]).sum(axis=1) - - # remove negligible weights - real_idxs = weights >= 10 * np.finfo(float).eps - if not np.all(real_idxs): - weights = weights[real_idxs] - b_ary = b_ary[real_idxs] - # normalise weights - weights /= weights.sum() - - # posterior mean for b - b_post = np.sum(b_ary * weights) - # estimate for k - k_post = np.log1p(-b_post * ary).mean() # pylint: disable=invalid-unary-operand-type,no-member - # add prior for k_post - sigma = -k_post / b_post - k_post = (n * k_post + prior_k * 0.5) / (n + prior_k) - - return k_post, sigma - - -def _gpinv(probs, kappa, sigma): - """Inverse Generalized Pareto distribution function.""" - # pylint: disable=unsupported-assignment-operation, invalid-unary-operand-type - x = np.full_like(probs, np.nan) - if sigma <= 0: - return x - ok = (probs > 0) & (probs < 1) - if np.all(ok): - if np.abs(kappa) < np.finfo(float).eps: - x = -np.log1p(-probs) - else: - x = np.expm1(-kappa * np.log1p(-probs)) / kappa - x *= sigma - else: - if np.abs(kappa) < np.finfo(float).eps: - x[ok] = -np.log1p(-probs[ok]) - else: - x[ok] = np.expm1(-kappa * np.log1p(-probs[ok])) / kappa - x *= sigma - x[probs == 0] = 0 - x[probs == 1] = np.inf if kappa >= 0 else -sigma / kappa - return x - - -def r2_samples(y_true, y_pred): - """R² samples for Bayesian regression models. Only valid for linear models. - - Parameters - ---------- - y_true: array-like of shape = (n_outputs,) - Ground truth (correct) target values. - y_pred: array-like of shape = (n_posterior_samples, n_outputs) - Estimated target values. - - Returns - ------- - Pandas Series with the following indices: - Bayesian R² samples. - - See Also - -------- - plot_lm : Posterior predictive and mean plots for regression-like data. - - Examples - -------- - Calculate R² samples for Bayesian regression models : - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data('regression1d') - ...: y_true = data.observed_data["y"].values - ...: y_pred = data.posterior_predictive.stack(sample=("chain", "draw"))["y"].values.T - ...: az.r2_samples(y_true, y_pred) - - """ - _numba_flag = Numba.numba_flag - if y_pred.ndim == 1: - var_y_est = _numba_var(svar, np.var, y_pred) - var_e = _numba_var(svar, np.var, (y_true - y_pred)) - else: - var_y_est = _numba_var(svar, np.var, y_pred, axis=1) - var_e = _numba_var(svar, np.var, (y_true - y_pred), axis=1) - r_squared = var_y_est / (var_y_est + var_e) - - return r_squared - - -def r2_score(y_true, y_pred): - """R² for Bayesian regression models. Only valid for linear models. - - Parameters - ---------- - y_true: array-like of shape = (n_outputs,) - Ground truth (correct) target values. - y_pred: array-like of shape = (n_posterior_samples, n_outputs) - Estimated target values. - - Returns - ------- - Pandas Series with the following indices: - r2: Bayesian R² - r2_std: standard deviation of the Bayesian R². - - See Also - -------- - plot_lm : Posterior predictive and mean plots for regression-like data. - - Examples - -------- - Calculate R² for Bayesian regression models : - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data('regression1d') - ...: y_true = data.observed_data["y"].values - ...: y_pred = data.posterior_predictive.stack(sample=("chain", "draw"))["y"].values.T - ...: az.r2_score(y_true, y_pred) - - """ - r_squared = r2_samples(y_true=y_true, y_pred=y_pred) - return pd.Series([np.mean(r_squared), np.std(r_squared)], index=["r2", "r2_std"]) - - -def summary( - data, - var_names: Optional[List[str]] = None, - filter_vars=None, - group=None, - fmt: "Literal['wide', 'long', 'xarray']" = "wide", - kind: "Literal['all', 'stats', 'diagnostics']" = "all", - round_to=None, - circ_var_names=None, - stat_focus="mean", - stat_funcs=None, - extend=True, - hdi_prob=None, - skipna=False, - labeller=None, - coords=None, - index_origin=None, - order=None, -) -> Union[pd.DataFrame, xr.Dataset]: - """Create a data frame with summary statistics. - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object - Refer to documentation of :func:`arviz.convert_to_dataset` for details - var_names: list - Names of variables to include in summary. Prefix the variables by ``~`` when you - want to exclude them from the summary: `["~beta"]` instead of `["beta"]` (see - examples below). - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - ``pandas.filter``. - coords: Dict[str, List[Any]], optional - Coordinate subset for which to calculate the summary. - group: str - Select a group for summary. Defaults to "posterior", "prior" or first group - in that order, depending what groups exists. - fmt: {'wide', 'long', 'xarray'} - Return format is either pandas.DataFrame {'wide', 'long'} or xarray.Dataset {'xarray'}. - kind: {'all', 'stats', 'diagnostics'} - Whether to include the `stats`: `mean`, `sd`, `hdi_3%`, `hdi_97%`, or the `diagnostics`: - `mcse_mean`, `mcse_sd`, `ess_bulk`, `ess_tail`, and `r_hat`. Default to include `all` of - them. - round_to: int - Number of decimals used to round results. Defaults to 2. Use "none" to return raw numbers. - circ_var_names: list - A list of circular variables to compute circular stats for - stat_focus : str, default "mean" - Select the focus for summary. - stat_funcs: dict - A list of functions or a dict of functions with function names as keys used to calculate - statistics. By default, the mean, standard deviation, simulation standard error, and - highest posterior density intervals are included. - - The functions will be given one argument, the samples for a variable as an nD array, - The functions should be in the style of a ufunc and return a single number. For example, - :func:`numpy.mean`, or ``scipy.stats.var`` would both work. - extend: boolean - If True, use the statistics returned by ``stat_funcs`` in addition to, rather than in place - of, the default statistics. This is only meaningful when ``stat_funcs`` is not None. - hdi_prob: float, optional - Highest density interval to compute. Defaults to 0.94. This is only meaningful when - ``stat_funcs`` is None. - skipna: bool - If true ignores nan values when computing the summary statistics, it does not affect the - behaviour of the functions passed to ``stat_funcs``. Defaults to false. - labeller : labeller instance, optional - Class providing the method `make_label_flat` to generate the labels in the plot titles. - For more details on ``labeller`` usage see :ref:`label_guide` - credible_interval: float, optional - deprecated: Please see hdi_prob - order - deprecated: order is now ignored. - index_origin - deprecated: index_origin is now ignored, modify the coordinate values to change the - value used in summary. - - Returns - ------- - pandas.DataFrame or xarray.Dataset - Return type dicated by `fmt` argument. - - Return value will contain summary statistics for each variable. Default statistics depend on - the value of ``stat_focus``: - - ``stat_focus="mean"``: `mean`, `sd`, `hdi_3%`, `hdi_97%`, `mcse_mean`, `mcse_sd`, - `ess_bulk`, `ess_tail`, and `r_hat` - - ``stat_focus="median"``: `median`, `mad`, `eti_3%`, `eti_97%`, `mcse_median`, `ess_median`, - `ess_tail`, and `r_hat` - - `r_hat` is only computed for traces with 2 or more chains. - - See Also - -------- - waic : Compute the widely applicable information criterion. - loo : Compute Pareto-smoothed importance sampling leave-one-out - cross-validation (PSIS-LOO-CV). - ess : Calculate estimate of the effective sample size (ess). - rhat : Compute estimate of rank normalized splitR-hat for a set of traces. - mcse : Calculate Markov Chain Standard Error statistic. - - Examples - -------- - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data("centered_eight") - ...: az.summary(data, var_names=["mu", "tau"]) - - You can use ``filter_vars`` to select variables without having to specify all the exact - names. Use ``filter_vars="like"`` to select based on partial naming: - - .. ipython:: - - In [1]: az.summary(data, var_names=["the"], filter_vars="like") - - Use ``filter_vars="regex"`` to select based on regular expressions, and prefix the variables - you want to exclude by ``~``. Here, we exclude from the summary all the variables - starting with the letter t: - - .. ipython:: - - In [1]: az.summary(data, var_names=["~^t"], filter_vars="regex") - - Other statistics can be calculated by passing a list of functions - or a dictionary with key, function pairs. - - .. ipython:: - - In [1]: import numpy as np - ...: def median_sd(x): - ...: median = np.percentile(x, 50) - ...: sd = np.sqrt(np.mean((x-median)**2)) - ...: return sd - ...: - ...: func_dict = { - ...: "std": np.std, - ...: "median_std": median_sd, - ...: "5%": lambda x: np.percentile(x, 5), - ...: "median": lambda x: np.percentile(x, 50), - ...: "95%": lambda x: np.percentile(x, 95), - ...: } - ...: az.summary( - ...: data, - ...: var_names=["mu", "tau"], - ...: stat_funcs=func_dict, - ...: extend=False - ...: ) - - Use ``stat_focus`` to change the focus of summary statistics obatined to median: - - .. ipython:: - - In [1]: az.summary(data, stat_focus="median") - - """ - _log.cache = [] - - if coords is None: - coords = {} - - if index_origin is not None: - warnings.warn( - "index_origin has been deprecated. summary now shows coordinate values, " - "to change the label shown, modify the coordinate values before calling summary", - DeprecationWarning, - ) - index_origin = rcParams["data.index_origin"] - if labeller is None: - labeller = BaseLabeller() - if hdi_prob is None: - hdi_prob = rcParams["stats.ci_prob"] - elif not 1 >= hdi_prob > 0: - raise ValueError("The value of hdi_prob should be in the interval (0, 1]") - - if isinstance(data, InferenceData): - if group is None: - if not data.groups(): - raise TypeError("InferenceData does not contain any groups") - if "posterior" in data: - dataset = data["posterior"] - elif "prior" in data: - dataset = data["prior"] - else: - warnings.warn(f"Selecting first found group: {data.groups()[0]}") - dataset = data[data.groups()[0]] - elif group in data.groups(): - dataset = data[group] - else: - raise TypeError(f"InferenceData does not contain group: {group}") - else: - dataset = convert_to_dataset(data, group="posterior") - var_names = _var_names(var_names, dataset, filter_vars) - dataset = dataset if var_names is None else dataset[var_names] - dataset = get_coords(dataset, coords) - - fmt_group = ("wide", "long", "xarray") - if not isinstance(fmt, str) or (fmt.lower() not in fmt_group): - raise TypeError(f"Invalid format: '{fmt}'. Formatting options are: {fmt_group}") - - kind_group = ("all", "stats", "diagnostics") - if not isinstance(kind, str) or kind not in kind_group: - raise TypeError(f"Invalid kind: '{kind}'. Kind options are: {kind_group}") - - focus_group = ("mean", "median") - if not isinstance(stat_focus, str) or (stat_focus not in focus_group): - raise TypeError(f"Invalid format: '{stat_focus}'. Focus options are: {focus_group}") - - if stat_focus != "mean" and circ_var_names is not None: - raise TypeError(f"Invalid format: Circular stats not supported for '{stat_focus}'") - - if order is not None: - warnings.warn( - "order has been deprecated. summary now shows coordinate values.", DeprecationWarning - ) - - alpha = 1 - hdi_prob - - extra_metrics = [] - extra_metric_names = [] - - if stat_funcs is not None: - if isinstance(stat_funcs, dict): - for stat_func_name, stat_func in stat_funcs.items(): - extra_metrics.append( - xr.apply_ufunc( - _make_ufunc(stat_func), dataset, input_core_dims=(("chain", "draw"),) - ) - ) - extra_metric_names.append(stat_func_name) - else: - for stat_func in stat_funcs: - extra_metrics.append( - xr.apply_ufunc( - _make_ufunc(stat_func), dataset, input_core_dims=(("chain", "draw"),) - ) - ) - extra_metric_names.append(stat_func.__name__) - - metrics: List[xr.Dataset] = [] - metric_names: List[str] = [] - if extend and kind in ["all", "stats"]: - if stat_focus == "mean": - mean = dataset.mean(dim=("chain", "draw"), skipna=skipna) - - sd = dataset.std(dim=("chain", "draw"), ddof=1, skipna=skipna) - - hdi_post = hdi(dataset, hdi_prob=hdi_prob, multimodal=False, skipna=skipna) - hdi_lower = hdi_post.sel(hdi="lower", drop=True) - hdi_higher = hdi_post.sel(hdi="higher", drop=True) - metrics.extend((mean, sd, hdi_lower, hdi_higher)) - metric_names.extend( - ("mean", "sd", f"hdi_{100 * alpha / 2:g}%", f"hdi_{100 * (1 - alpha / 2):g}%") - ) - elif stat_focus == "median": - median = dataset.median(dim=("chain", "draw"), skipna=skipna) - - mad = stats.median_abs_deviation(dataset, dims=("chain", "draw")) - eti_post = dataset.quantile( - (alpha / 2, 1 - alpha / 2), dim=("chain", "draw"), skipna=skipna - ) - eti_lower = eti_post.isel(quantile=0, drop=True) - eti_higher = eti_post.isel(quantile=1, drop=True) - metrics.extend((median, mad, eti_lower, eti_higher)) - metric_names.extend( - ("median", "mad", f"eti_{100 * alpha / 2:g}%", f"eti_{100 * (1 - alpha / 2):g}%") - ) - - if circ_var_names: - nan_policy = "omit" if skipna else "propagate" - circ_mean = stats.circmean( - dataset, dims=["chain", "draw"], high=np.pi, low=-np.pi, nan_policy=nan_policy - ) - _numba_flag = Numba.numba_flag - if _numba_flag: - circ_sd = xr.apply_ufunc( - _make_ufunc(_circular_standard_deviation), - dataset, - kwargs=dict(high=np.pi, low=-np.pi, skipna=skipna), - input_core_dims=(("chain", "draw"),), - ) - else: - circ_sd = stats.circstd( - dataset, dims=["chain", "draw"], high=np.pi, low=-np.pi, nan_policy=nan_policy - ) - circ_mcse = xr.apply_ufunc( - _make_ufunc(_mc_error), - dataset, - kwargs=dict(circular=True), - input_core_dims=(("chain", "draw"),), - ) - - circ_hdi = hdi(dataset, hdi_prob=hdi_prob, circular=True, skipna=skipna) - circ_hdi_lower = circ_hdi.sel(hdi="lower", drop=True) - circ_hdi_higher = circ_hdi.sel(hdi="higher", drop=True) - - if kind in ["all", "diagnostics"] and extend: - diagnostics_names: Tuple[str, ...] - if stat_focus == "mean": - diagnostics = xr.apply_ufunc( - _make_ufunc(_multichain_statistics, n_output=5, ravel=False), - dataset, - input_core_dims=(("chain", "draw"),), - output_core_dims=tuple([] for _ in range(5)), - ) - diagnostics_names = ( - "mcse_mean", - "mcse_sd", - "ess_bulk", - "ess_tail", - "r_hat", - ) - - elif stat_focus == "median": - diagnostics = xr.apply_ufunc( - _make_ufunc(_multichain_statistics, n_output=4, ravel=False), - dataset, - kwargs=dict(focus="median"), - input_core_dims=(("chain", "draw"),), - output_core_dims=tuple([] for _ in range(4)), - ) - diagnostics_names = ( - "mcse_median", - "ess_median", - "ess_tail", - "r_hat", - ) - metrics.extend(diagnostics) - metric_names.extend(diagnostics_names) - - if circ_var_names and kind != "diagnostics" and stat_focus == "mean": - for metric, circ_stat in zip( - # Replace only the first 5 statistics for their circular equivalent - metrics[:5], - (circ_mean, circ_sd, circ_hdi_lower, circ_hdi_higher, circ_mcse), - ): - for circ_var in circ_var_names: - metric[circ_var] = circ_stat[circ_var] - - metrics.extend(extra_metrics) - metric_names.extend(extra_metric_names) - joined = ( - xr.concat(metrics, dim="metric").assign_coords(metric=metric_names).reset_coords(drop=True) - ) - n_metrics = len(metric_names) - n_vars = np.sum([joined[var].size // n_metrics for var in joined.data_vars]) - - if fmt.lower() == "wide": - summary_df = pd.DataFrame( - (np.full((cast(int, n_vars), n_metrics), np.nan)), columns=metric_names - ) - indices = [] - for i, (var_name, sel, isel, values) in enumerate( - xarray_var_iter(joined, skip_dims={"metric"}) - ): - summary_df.iloc[i] = values - indices.append(labeller.make_label_flat(var_name, sel, isel)) - summary_df.index = indices - elif fmt.lower() == "long": - df = joined.to_dataframe().reset_index().set_index("metric") - df.index = list(df.index) - summary_df = df - else: - # format is 'xarray' - summary_df = joined - if (round_to is not None) and (round_to not in ("None", "none")): - summary_df = summary_df.round(round_to) - elif round_to not in ("None", "none") and (fmt.lower() in ("long", "wide")): - # Don't round xarray object by default (even with "none") - decimals = { - col: 3 if col not in {"ess_bulk", "ess_tail", "r_hat"} else 2 if col == "r_hat" else 0 - for col in summary_df.columns - } - summary_df = summary_df.round(decimals) - - return summary_df - - -def waic(data, pointwise=None, var_name=None, scale=None, dask_kwargs=None): - """Compute the widely applicable information criterion. - - Estimates the expected log pointwise predictive density (elpd) using WAIC. Also calculates the - WAIC's standard error and the effective number of parameters. - Read more theory here https://arxiv.org/abs/1507.04544 and here https://arxiv.org/abs/1004.2316 - - Parameters - ---------- - data: obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of :func:`arviz.convert_to_inference_data` for details. - pointwise: bool - If True the pointwise predictive accuracy will be returned. Defaults to - ``stats.ic_pointwise`` rcParam. - var_name : str, optional - The name of the variable in log_likelihood groups storing the pointwise log - likelihood data to use for waic computation. - scale: str - Output scale for WAIC. Available options are: - - - `log` : (default) log-score - - `negative_log` : -1 * log-score - - `deviance` : -2 * log-score - - A higher log-score (or a lower deviance or negative log_score) indicates a model with - better predictive accuracy. - dask_kwargs : dict, optional - Dask related kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. - - Returns - ------- - ELPDData object (inherits from :class:`pandas.Series`) with the following row/attributes: - elpd_waic: approximated expected log pointwise predictive density (elpd) - se: standard error of the elpd - p_waic: effective number parameters - n_samples: number of samples - n_data_points: number of data points - warning: bool - True if posterior variance of the log predictive densities exceeds 0.4 - waic_i: :class:`~xarray.DataArray` with the pointwise predictive accuracy, - only if pointwise=True - scale: scale of the elpd - - The returned object has a custom print method that overrides pd.Series method. - - See Also - -------- - loo : Compute Pareto-smoothed importance sampling leave-one-out cross-validation (PSIS-LOO-CV). - compare : Compare models based on PSIS-LOO-CV or WAIC. - plot_compare : Summary plot for model comparison. - - Examples - -------- - Calculate WAIC of a model: - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data("centered_eight") - ...: az.waic(data) - - Calculate WAIC of a model and return the pointwise values: - - .. ipython:: - - In [2]: data_waic = az.waic(data, pointwise=True) - ...: data_waic.waic_i - """ - inference_data = convert_to_inference_data(data) - log_likelihood = _get_log_likelihood(inference_data, var_name=var_name) - scale = rcParams["stats.ic_scale"] if scale is None else scale.lower() - pointwise = rcParams["stats.ic_pointwise"] if pointwise is None else pointwise - - if scale == "deviance": - scale_value = -2 - elif scale == "log": - scale_value = 1 - elif scale == "negative_log": - scale_value = -1 - else: - raise TypeError('Valid scale values are "deviance", "log", "negative_log"') - - log_likelihood = log_likelihood.stack(__sample__=("chain", "draw")) - shape = log_likelihood.shape - n_samples = shape[-1] - n_data_points = np.prod(shape[:-1]) - - ufunc_kwargs = {"n_dims": 1, "ravel": False} - kwargs = {"input_core_dims": [["__sample__"]]} - lppd_i = _wrap_xarray_ufunc( - _logsumexp, - log_likelihood, - func_kwargs={"b_inv": n_samples}, - ufunc_kwargs=ufunc_kwargs, - dask_kwargs=dask_kwargs, - **kwargs, - ) - - vars_lpd = log_likelihood.var(dim="__sample__") - warn_mg = False - if np.any(vars_lpd > 0.4): - warnings.warn( - ( - "For one or more samples the posterior variance of the log predictive " - "densities exceeds 0.4. This could be indication of WAIC starting to fail. \n" - "See http://arxiv.org/abs/1507.04544 for details" - ) - ) - warn_mg = True - - waic_i = scale_value * (lppd_i - vars_lpd) - waic_se = (n_data_points * np.var(waic_i.values)) ** 0.5 - waic_sum = np.sum(waic_i.values) - p_waic = np.sum(vars_lpd.values) - - if not pointwise: - return ELPDData( - data=[waic_sum, waic_se, p_waic, n_samples, n_data_points, warn_mg, scale], - index=[ - "waic", - "se", - "p_waic", - "n_samples", - "n_data_points", - "warning", - "scale", - ], - ) - if np.equal(waic_sum, waic_i).all(): # pylint: disable=no-member - warnings.warn( - """The point-wise WAIC is the same with the sum WAIC, please double check - the Observed RV in your model to make sure it returns element-wise logp. - """ - ) - return ELPDData( - data=[ - waic_sum, - waic_se, - p_waic, - n_samples, - n_data_points, - warn_mg, - waic_i.rename("waic_i"), - scale, - ], - index=[ - "elpd_waic", - "se", - "p_waic", - "n_samples", - "n_data_points", - "warning", - "waic_i", - "scale", - ], - ) - - -def loo_pit(idata=None, *, y=None, y_hat=None, log_weights=None): - """Compute leave one out (PSIS-LOO) probability integral transform (PIT) values. - - Parameters - ---------- - idata: InferenceData - :class:`arviz.InferenceData` object. - y: array, DataArray or str - Observed data. If str, ``idata`` must be present and contain the observed data group - y_hat: array, DataArray or str - Posterior predictive samples for ``y``. It must have the same shape as y plus an - extra dimension at the end of size n_samples (chains and draws stacked). If str or - None, ``idata`` must contain the posterior predictive group. If None, y_hat is taken - equal to y, thus, y must be str too. - log_weights: array or DataArray - Smoothed log_weights. It must have the same shape as ``y_hat`` - dask_kwargs : dict, optional - Dask related kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. - - Returns - ------- - loo_pit: array or DataArray - Value of the LOO-PIT at each observed data point. - - See Also - -------- - plot_loo_pit : Plot Leave-One-Out probability integral transformation (PIT) predictive checks. - loo : Compute Pareto-smoothed importance sampling leave-one-out - cross-validation (PSIS-LOO-CV). - plot_elpd : Plot pointwise elpd differences between two or more models. - plot_khat : Plot Pareto tail indices for diagnosing convergence. - - Examples - -------- - Calculate LOO-PIT values using as test quantity the observed values themselves. - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data("centered_eight") - ...: az.loo_pit(idata=data, y="obs") - - Calculate LOO-PIT values using as test quantity the square of the difference between - each observation and `mu`. Both ``y`` and ``y_hat`` inputs will be array-like, - but ``idata`` will still be passed in order to calculate the ``log_weights`` from - there. - - .. ipython:: - - In [1]: T = data.observed_data.obs - data.posterior.mu.median(dim=("chain", "draw")) - ...: T_hat = data.posterior_predictive.obs - data.posterior.mu - ...: T_hat = T_hat.stack(__sample__=("chain", "draw")) - ...: az.loo_pit(idata=data, y=T**2, y_hat=T_hat**2) - - """ - y_str = "" - if idata is not None and not isinstance(idata, InferenceData): - raise ValueError("idata must be of type InferenceData or None") - - if idata is None: - if not all(isinstance(arg, (np.ndarray, xr.DataArray)) for arg in (y, y_hat, log_weights)): - raise ValueError( - "all 3 y, y_hat and log_weights must be array or DataArray when idata is None " - f"but they are of types {[type(arg) for arg in (y, y_hat, log_weights)]}" - ) - - else: - if y_hat is None and isinstance(y, str): - y_hat = y - elif y_hat is None: - raise ValueError("y_hat cannot be None if y is not a str") - if isinstance(y, str): - y_str = y - y = idata.observed_data[y].values - elif not isinstance(y, (np.ndarray, xr.DataArray)): - raise ValueError(f"y must be of types array, DataArray or str, not {type(y)}") - if isinstance(y_hat, str): - y_hat = idata.posterior_predictive[y_hat].stack(__sample__=("chain", "draw")).values - elif not isinstance(y_hat, (np.ndarray, xr.DataArray)): - raise ValueError(f"y_hat must be of types array, DataArray or str, not {type(y_hat)}") - if log_weights is None: - if y_str: - try: - log_likelihood = _get_log_likelihood(idata, var_name=y_str) - except TypeError: - log_likelihood = _get_log_likelihood(idata) - else: - log_likelihood = _get_log_likelihood(idata) - log_likelihood = log_likelihood.stack(__sample__=("chain", "draw")) - posterior = convert_to_dataset(idata, group="posterior") - n_chains = len(posterior.chain) - n_samples = len(log_likelihood.__sample__) - ess_p = ess(posterior, method="mean") - # this mean is over all data variables - reff = ( - (np.hstack([ess_p[v].values.flatten() for v in ess_p.data_vars]).mean() / n_samples) - if n_chains > 1 - else 1 - ) - log_weights = psislw(-log_likelihood, reff=reff)[0].values - elif not isinstance(log_weights, (np.ndarray, xr.DataArray)): - raise ValueError( - f"log_weights must be None or of types array or DataArray, not {type(log_weights)}" - ) - - if len(y.shape) + 1 != len(y_hat.shape): - raise ValueError( - f"y_hat must have 1 more dimension than y, but y_hat has {len(y_hat.shape)} dims and " - f"y has {len(y.shape)} dims" - ) - - if y.shape != y_hat.shape[:-1]: - raise ValueError( - f"y has shape: {y.shape} which should be equal to y_hat shape (omitting the last " - f"dimension): {y_hat.shape}" - ) - - if y_hat.shape != log_weights.shape: - raise ValueError( - "y_hat and log_weights must have the same shape but have shapes " - f"{y_hat.shape,} and {log_weights.shape}" - ) - - kwargs = { - "input_core_dims": [[], ["__sample__"], ["__sample__"]], - "output_core_dims": [[]], - "join": "left", - } - ufunc_kwargs = {"n_dims": 1} - - if y.dtype.kind == "i" or y_hat.dtype.kind == "i": - y, y_hat = smooth_data(y, y_hat) - - return _wrap_xarray_ufunc( - _loo_pit, - y, - y_hat, - log_weights, - ufunc_kwargs=ufunc_kwargs, - **kwargs, - ) - - -def _loo_pit(y, y_hat, log_weights): - """Compute LOO-PIT values.""" - sel = y_hat <= y - if np.sum(sel) > 0: - value = np.exp(_logsumexp(log_weights[sel])) - return min(1, value) - else: - return 0 - - -def apply_test_function( - idata, - func, - group="both", - var_names=None, - pointwise=False, - out_data_shape=None, - out_pp_shape=None, - out_name_data="T", - out_name_pp=None, - func_args=None, - func_kwargs=None, - ufunc_kwargs=None, - wrap_data_kwargs=None, - wrap_pp_kwargs=None, - inplace=True, - overwrite=None, -): - """Apply a Bayesian test function to an InferenceData object. - - Parameters - ---------- - idata: InferenceData - :class:`arviz.InferenceData` object on which to apply the test function. - This function will add new variables to the InferenceData object - to store the result without modifying the existing ones. - func: callable - Callable that calculates the test function. It must have the following call signature - ``func(y, theta, *args, **kwargs)`` (where ``y`` is the observed data or posterior - predictive and ``theta`` the model parameters) even if not all the arguments are - used. - group: str, optional - Group on which to apply the test function. Can be observed_data, posterior_predictive - or both. - var_names: dict group -> var_names, optional - Mapping from group name to the variables to be passed to func. It can be a dict of - strings or lists of strings. There is also the option of using ``both`` as key, - in which case, the same variables are used in observed data and posterior predictive - groups - pointwise: bool, optional - If True, apply the test function to each observation and sample, otherwise, apply - test function to each sample. - out_data_shape, out_pp_shape: tuple, optional - Output shape of the test function applied to the observed/posterior predictive data. - If None, the default depends on the value of pointwise. - out_name_data, out_name_pp: str, optional - Name of the variables to add to the observed_data and posterior_predictive datasets - respectively. ``out_name_pp`` can be ``None``, in which case will be taken equal to - ``out_name_data``. - func_args: sequence, optional - Passed as is to ``func`` - func_kwargs: mapping, optional - Passed as is to ``func`` - wrap_data_kwargs, wrap_pp_kwargs: mapping, optional - kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. By default, some suitable input_core_dims - are used. - inplace: bool, optional - If True, add the variables inplace, otherwise, return a copy of idata with the variables - added. - overwrite: bool, optional - Overwrite data in case ``out_name_data`` or ``out_name_pp`` are already variables in - dataset. If ``None`` it will be the opposite of inplace. - - Returns - ------- - idata: InferenceData - Output InferenceData object. If ``inplace=True``, it is the same input object modified - inplace. - - See Also - -------- - plot_bpv : Plot Bayesian p-value for observed data and Posterior/Prior predictive. - - Notes - ----- - This function is provided for convenience to wrap scalar or functions working on low - dims to inference data object. It is not optimized to be faster nor as fast as vectorized - computations. - - Examples - -------- - Use ``apply_test_function`` to wrap ``numpy.min`` for illustration purposes. And plot the - results. - - .. plot:: - :context: close-figs - - >>> import arviz as az - >>> idata = az.load_arviz_data("centered_eight") - >>> az.apply_test_function(idata, lambda y, theta: np.min(y)) - >>> T = idata.observed_data.T.item() - >>> az.plot_posterior(idata, var_names=["T"], group="posterior_predictive", ref_val=T) - - """ - out = idata if inplace else deepcopy(idata) - - valid_groups = ("observed_data", "posterior_predictive", "both") - if group not in valid_groups: - raise ValueError(f"Invalid group argument. Must be one of {valid_groups} not {group}.") - if overwrite is None: - overwrite = not inplace - - if out_name_pp is None: - out_name_pp = out_name_data - - if func_args is None: - func_args = tuple() - - if func_kwargs is None: - func_kwargs = {} - - if ufunc_kwargs is None: - ufunc_kwargs = {} - ufunc_kwargs.setdefault("check_shape", False) - ufunc_kwargs.setdefault("ravel", False) - - if wrap_data_kwargs is None: - wrap_data_kwargs = {} - if wrap_pp_kwargs is None: - wrap_pp_kwargs = {} - if var_names is None: - var_names = {} - - both_var_names = var_names.pop("both", None) - var_names.setdefault("posterior", list(out.posterior.data_vars)) - - in_posterior = out.posterior[var_names["posterior"]] - if isinstance(in_posterior, xr.Dataset): - in_posterior = in_posterior.to_array().squeeze() - - groups = ("posterior_predictive", "observed_data") if group == "both" else [group] - for grp in groups: - out_group_shape = out_data_shape if grp == "observed_data" else out_pp_shape - out_name_group = out_name_data if grp == "observed_data" else out_name_pp - wrap_group_kwargs = wrap_data_kwargs if grp == "observed_data" else wrap_pp_kwargs - if not hasattr(out, grp): - raise ValueError(f"InferenceData object must have {grp} group") - if not overwrite and out_name_group in getattr(out, grp).data_vars: - raise ValueError( - f"Should overwrite: {out_name_group} variable present in group {grp}," - " but overwrite is False" - ) - var_names.setdefault( - grp, list(getattr(out, grp).data_vars) if both_var_names is None else both_var_names - ) - in_group = getattr(out, grp)[var_names[grp]] - if isinstance(in_group, xr.Dataset): - in_group = in_group.to_array(dim=f"{grp}_var").squeeze() - - if pointwise: - out_group_shape = in_group.shape if out_group_shape is None else out_group_shape - elif grp == "observed_data": - out_group_shape = () if out_group_shape is None else out_group_shape - elif grp == "posterior_predictive": - out_group_shape = in_group.shape[:2] if out_group_shape is None else out_group_shape - loop_dims = in_group.dims[: len(out_group_shape)] - - wrap_group_kwargs.setdefault( - "input_core_dims", - [ - [dim for dim in dataset.dims if dim not in loop_dims] - for dataset in [in_group, in_posterior] - ], - ) - func_kwargs["out"] = np.empty(out_group_shape) - - out_group = getattr(out, grp) - try: - out_group[out_name_group] = _wrap_xarray_ufunc( - func, - in_group.values, - in_posterior.values, - func_args=func_args, - func_kwargs=func_kwargs, - ufunc_kwargs=ufunc_kwargs, - **wrap_group_kwargs, - ) - except IndexError: - excluded_dims = set( - wrap_group_kwargs["input_core_dims"][0] + wrap_group_kwargs["input_core_dims"][1] - ) - out_group[out_name_group] = _wrap_xarray_ufunc( - func, - *xr.broadcast(in_group, in_posterior, exclude=excluded_dims), - func_args=func_args, - func_kwargs=func_kwargs, - ufunc_kwargs=ufunc_kwargs, - **wrap_group_kwargs, - ) - setattr(out, grp, out_group) - - return out - - -def weight_predictions(idatas, weights=None): - """ - Generate weighted posterior predictive samples from a list of InferenceData - and a set of weights. - - Parameters - --------- - idatas : list[InferenceData] - List of :class:`arviz.InferenceData` objects containing the groups `posterior_predictive` - and `observed_data`. Observations should be the same for all InferenceData objects. - weights : array-like, optional - Individual weights for each model. Weights should be positive. If they do not sum up to 1, - they will be normalized. Default, same weight for each model. - Weights can be computed using many different methods including those in - :func:`arviz.compare`. - - Returns - ------- - idata: InferenceData - Output InferenceData object with the groups `posterior_predictive` and `observed_data`. - - See Also - -------- - compare : Compare models based on PSIS-LOO `loo` or WAIC `waic` cross-validation - """ - if len(idatas) < 2: - raise ValueError("You should provide a list with at least two InferenceData objects") - - if not all("posterior_predictive" in idata.groups() for idata in idatas): - raise ValueError( - "All the InferenceData objects must contain the `posterior_predictive` group" - ) - - if not all(idatas[0].observed_data.equals(idata.observed_data) for idata in idatas[1:]): - raise ValueError("The observed data should be the same for all InferenceData objects") - - if weights is None: - weights = np.ones(len(idatas)) / len(idatas) - elif len(idatas) != len(weights): - raise ValueError( - "The number of weights should be the same as the number of InferenceData objects" - ) - - weights = np.array(weights, dtype=float) - weights /= weights.sum() - - len_idatas = [ - idata.posterior_predictive.sizes["chain"] * idata.posterior_predictive.sizes["draw"] - for idata in idatas - ] - - if not all(len_idatas): - raise ValueError("At least one of your idatas has 0 samples") - - new_samples = (np.min(len_idatas) * weights).astype(int) - - new_idatas = [ - extract(idata, group="posterior_predictive", num_samples=samples).reset_coords() - for samples, idata in zip(new_samples, idatas) - ] - - weighted_samples = InferenceData( - posterior_predictive=xr.concat(new_idatas, dim="sample"), - observed_data=idatas[0].observed_data, - ) - - return weighted_samples - - -def psens( - data, - *, - component="prior", - component_var_names=None, - component_coords=None, - var_names=None, - coords=None, - filter_vars=None, - delta=0.01, - dask_kwargs=None, -): - """Compute power-scaling sensitivity diagnostic. - - Power-scales the prior or likelihood and calculates how much the posterior is affected. - - Parameters - ---------- - data : obj - Any object that can be converted to an :class:`arviz.InferenceData` object. - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - For ndarray: shape = (chain, draw). - For n-dimensional ndarray transform first to dataset with ``az.convert_to_dataset``. - component : {"prior", "likelihood"}, default "prior" - When `component` is "likelihood", the log likelihood values are retrieved - from the ``log_likelihood`` group as pointwise log likelihood and added - together. With "prior", the log prior values are retrieved from the - ``log_prior`` group. - component_var_names : str, optional - Name of the prior or log likelihood variables to use - component_coords : dict, optional - Coordinates defining a subset over the component element for which to - compute the prior sensitivity diagnostic. - var_names : list of str, optional - Names of posterior variables to include in the power scaling sensitivity diagnostic - coords : dict, optional - Coordinates defining a subset over the posterior. Only these variables will - be used when computing the prior sensitivity. - filter_vars: {None, "like", "regex"}, default None - If ``None`` (default), interpret var_names as the real variables names. - If "like", interpret var_names as substrings of the real variables names. - If "regex", interpret var_names as regular expressions on the real variables names. - delta : float - Value for finite difference derivative calculation. - dask_kwargs : dict, optional - Dask related kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. - - Returns - ------- - xarray.Dataset - Returns dataset of power-scaling sensitivity diagnostic values. - Higher sensitivity values indicate greater sensitivity. - Prior sensitivity above 0.05 indicates informative prior. - Likelihood sensitivity below 0.05 indicates weak or nonin-formative likelihood. - - Examples - -------- - Compute the likelihood sensitivity for the non centered eight model: - - .. ipython:: - - In [1]: import arviz as az - ...: data = az.load_arviz_data("non_centered_eight") - ...: az.psens(data, component="likelihood") - - To compute the prior sensitivity, we need to first compute the log prior - at each posterior sample. In our case, we know mu has a normal prior :math:`N(0, 5)`, - tau is a half cauchy prior with scale/beta parameter 5, - and theta has a standard normal as prior. - We add this information to the ``log_prior`` group before computing powerscaling - check with ``psens`` - - .. ipython:: - - In [1]: from xarray_einstats.stats import XrContinuousRV - ...: from scipy.stats import norm, halfcauchy - ...: post = data.posterior - ...: log_prior = { - ...: "mu": XrContinuousRV(norm, 0, 5).logpdf(post["mu"]), - ...: "tau": XrContinuousRV(halfcauchy, scale=5).logpdf(post["tau"]), - ...: "theta_t": XrContinuousRV(norm, 0, 1).logpdf(post["theta_t"]), - ...: } - ...: data.add_groups({"log_prior": log_prior}) - ...: az.psens(data, component="prior") - - Notes - ----- - The diagnostic is computed by power-scaling the specified component (prior or likelihood) - and determining the degree to which the posterior changes as described in [1]_. - It uses Pareto-smoothed importance sampling to avoid refitting the model. - - References - ---------- - .. [1] Kallioinen et al, *Detecting and diagnosing prior and likelihood sensitivity with - power-scaling*, 2022, https://arxiv.org/abs/2107.14054 - - """ - dataset = extract(data, var_names=var_names, filter_vars=filter_vars, group="posterior") - if coords is None: - dataset = dataset.sel(coords) - - if component == "likelihood": - component_draws = _get_log_likelihood(data, var_name=component_var_names, single_var=False) - elif component == "prior": - component_draws = _get_log_prior(data, var_names=component_var_names) - else: - raise ValueError("Value for `component` argument not recognized") - - component_draws = component_draws.stack(__sample__=("chain", "draw")) - if component_coords is None: - component_draws = component_draws.sel(component_coords) - if isinstance(component_draws, xr.DataArray): - component_draws = component_draws.to_dataset() - if len(component_draws.dims): - component_draws = component_draws.to_stacked_array( - "latent-obs_var", sample_dims=("__sample__",) - ).sum("latent-obs_var") - # from here component_draws is a 1d object with dimensions (sample,) - - # calculate lower and upper alpha values - lower_alpha = 1 / (1 + delta) - upper_alpha = 1 + delta - - # calculate importance sampling weights for lower and upper alpha power-scaling - lower_w = np.exp(_powerscale_lw(component_draws=component_draws, alpha=lower_alpha)) - lower_w = lower_w / np.sum(lower_w) - - upper_w = np.exp(_powerscale_lw(component_draws=component_draws, alpha=upper_alpha)) - upper_w = upper_w / np.sum(upper_w) - - ufunc_kwargs = {"n_dims": 1, "ravel": False} - func_kwargs = {"lower_weights": lower_w.values, "upper_weights": upper_w.values, "delta": delta} - - # calculate the sensitivity diagnostic based on the importance weights and draws - return _wrap_xarray_ufunc( - _powerscale_sens, - dataset, - ufunc_kwargs=ufunc_kwargs, - func_kwargs=func_kwargs, - dask_kwargs=dask_kwargs, - input_core_dims=[["sample"]], - ) - - -def _powerscale_sens(draws, *, lower_weights=None, upper_weights=None, delta=0.01): - """ - Calculate power-scaling sensitivity by finite difference - second derivative of CJS - """ - lower_cjs = max( - _cjs_dist(draws=draws, weights=lower_weights), - _cjs_dist(draws=-1 * draws, weights=lower_weights), - ) - upper_cjs = max( - _cjs_dist(draws=draws, weights=upper_weights), - _cjs_dist(draws=-1 * draws, weights=upper_weights), - ) - logdiffsquare = 2 * np.log2(1 + delta) - grad = (lower_cjs + upper_cjs) / logdiffsquare - - return grad - - -def _powerscale_lw(alpha, component_draws): - """ - Calculate log weights for power-scaling component by alpha. - """ - log_weights = (alpha - 1) * component_draws - log_weights = psislw(log_weights)[0] - - return log_weights - - -def _cjs_dist(draws, weights): - """ - Calculate the cumulative Jensen-Shannon distance between original draws and weighted draws. - """ - - # sort draws and weights - order = np.argsort(draws) - draws = draws[order] - weights = weights[order] - - binwidth = np.diff(draws) - - # ecdfs - cdf_p = np.linspace(1 / len(draws), 1 - 1 / len(draws), len(draws) - 1) - cdf_q = np.cumsum(weights / np.sum(weights))[:-1] - - # integrals of ecdfs - cdf_p_int = np.dot(cdf_p, binwidth) - cdf_q_int = np.dot(cdf_q, binwidth) - - # cjs calculation - pq_numer = np.log2(cdf_p, out=np.zeros_like(cdf_p), where=cdf_p != 0) - qp_numer = np.log2(cdf_q, out=np.zeros_like(cdf_q), where=cdf_q != 0) - - denom = 0.5 * (cdf_p + cdf_q) - denom = np.log2(denom, out=np.zeros_like(denom), where=denom != 0) - - cjs_pq = np.sum(binwidth * (cdf_p * (pq_numer - denom))) + 0.5 / np.log(2) * ( - cdf_q_int - cdf_p_int - ) - - cjs_qp = np.sum(binwidth * (cdf_q * (qp_numer - denom))) + 0.5 / np.log(2) * ( - cdf_p_int - cdf_q_int - ) - - cjs_pq = max(0, cjs_pq) - cjs_qp = max(0, cjs_qp) - - bound = cdf_p_int + cdf_q_int - - return np.sqrt((cjs_pq + cjs_qp) / bound) - - -def bayes_factor(idata, var_name, ref_val=0, prior=None, return_ref_vals=False): - r"""Approximated Bayes Factor for comparing hypothesis of two nested models. - - The Bayes factor is estimated by comparing a model (H1) against a model in which the - parameter of interest has been restricted to be a point-null (H0). This computation - assumes the models are nested and thus H0 is a special case of H1. - - Notes - ----- - The bayes Factor is approximated as the Savage-Dickey density ratio - algorithm presented in [1]_. - - Parameters - ---------- - idata : InferenceData - Any object that can be converted to an :class:`arviz.InferenceData` object - Refer to documentation of :func:`arviz.convert_to_dataset` for details. - var_name : str, optional - Name of variable we want to test. - ref_val : int, default 0 - Point-null for Bayes factor estimation. - prior : numpy.array, optional - In case we want to use different prior, for example for sensitivity analysis. - return_ref_vals : bool, optional - Whether to return the values of the prior and posterior at the reference value. - Used by :func:`arviz.plot_bf` to display the distribution comparison. - - - Returns - ------- - dict : A dictionary with BF10 (Bayes Factor 10 (H1/H0 ratio), and BF01 (H0/H1 ratio). - - References - ---------- - .. [1] Heck, D., 2019. A caveat on the Savage-Dickey density ratio: - The case of computing Bayes factors for regression parameters. - - Examples - -------- - Moderate evidence indicating that the parameter "a" is different from zero. - - .. ipython:: - - In [1]: import numpy as np - ...: import arviz as az - ...: idata = az.from_dict(posterior={"a":np.random.normal(1, 0.5, 5000)}, - ...: prior={"a":np.random.normal(0, 1, 5000)}) - ...: az.bayes_factor(idata, var_name="a", ref_val=0) - - """ - - posterior = extract(idata, var_names=var_name).values - - if ref_val > posterior.max() or ref_val < posterior.min(): - _log.warning( - "The reference value is outside of the posterior. " - "This translate into infinite support for H1, which is most likely an overstatement." - ) - - if posterior.ndim > 1: - _log.warning("Posterior distribution has {posterior.ndim} dimensions") - - if prior is None: - prior = extract(idata, var_names=var_name, group="prior").values - - if posterior.dtype.kind == "f": - posterior_grid, posterior_pdf, *_ = _kde_linear(posterior) - prior_grid, prior_pdf, *_ = _kde_linear(prior) - posterior_at_ref_val = np.interp(ref_val, posterior_grid, posterior_pdf) - prior_at_ref_val = np.interp(ref_val, prior_grid, prior_pdf) - - elif posterior.dtype.kind == "i": - posterior_at_ref_val = (posterior == ref_val).mean() - prior_at_ref_val = (prior == ref_val).mean() - - bf_10 = prior_at_ref_val / posterior_at_ref_val - bf = {"BF10": bf_10, "BF01": 1 / bf_10} - - if return_ref_vals: - return (bf, {"prior": prior_at_ref_val, "posterior": posterior_at_ref_val}) - else: - return bf diff --git a/arviz/stats/stats_refitting.py b/arviz/stats/stats_refitting.py deleted file mode 100644 index dbe3a5d49f..0000000000 --- a/arviz/stats/stats_refitting.py +++ /dev/null @@ -1,119 +0,0 @@ -"""Stats functions that require refitting the model.""" - -import logging -import warnings - -import numpy as np - -from .stats import loo -from .stats_utils import logsumexp as _logsumexp - -__all__ = ["reloo"] - -_log = logging.getLogger(__name__) - - -def reloo(wrapper, loo_orig=None, k_thresh=0.7, scale=None, verbose=True): - """Recalculate exact Leave-One-Out cross validation refitting where the approximation fails. - - ``az.loo`` estimates the values of Leave-One-Out (LOO) cross validation using Pareto - Smoothed Importance Sampling (PSIS) to approximate its value. PSIS works well when - the posterior and the posterior_i (excluding observation i from the data used to fit) - are similar. In some cases, there are highly influential observations for which PSIS - cannot approximate the LOO-CV, and a warning of a large Pareto shape is sent by ArviZ. - This cases typically have a handful of bad or very bad Pareto shapes and a majority of - good or ok shapes. - - Therefore, this may not indicate that the model is not robust enough - nor that these observations are inherently bad, only that PSIS cannot approximate LOO-CV - correctly. Thus, we can use PSIS for all observations where the Pareto shape is below a - threshold and refit the model to perform exact cross validation for the handful of - observations where PSIS cannot be used. This approach allows to properly approximate - LOO-CV with only a handful of refits, which in most cases is still much less computationally - expensive than exact LOO-CV, which needs one refit per observation. - - Parameters - ---------- - wrapper: SamplingWrapper-like - Class (preferably a subclass of ``az.SamplingWrapper``, see :ref:`wrappers_api` - for details) implementing the methods described - in the SamplingWrapper docs. This allows ArviZ to call **any** sampling backend - (like PyStan or emcee) using always the same syntax. - loo_orig : ELPDData, optional - ELPDData instance with pointwise loo results. The pareto_k attribute will be checked - for values above the threshold. - k_thresh : float, optional - Pareto shape threshold. Each pareto shape value above ``k_thresh`` will trigger - a refit excluding that observation. - scale : str, optional - Only taken into account when loo_orig is None. See ``az.loo`` for valid options. - - Returns - ------- - ELPDData - ELPDData instance containing the PSIS approximation where possible and the exact - LOO-CV result where PSIS failed. The Pareto shape of the observations where exact - LOO-CV was performed is artificially set to 0, but as PSIS is not performed, it - should be ignored. - - Notes - ----- - It is strongly recommended to first compute ``az.loo`` on the inference results to - confirm that the number of values above the threshold is small enough. Otherwise, - prohibitive computation time may be needed to perform all required refits. - - As an extreme case, artificially assigning all ``pareto_k`` values to something - larger than the threshold would make ``reloo`` perform the whole exact LOO-CV. - This is not generally recommended - nor intended, however, if needed, this function can be used to achieve the result. - - Warnings - -------- - Sampling wrappers are an experimental feature in a very early stage. Please use them - with caution. - """ - required_methods = ("sel_observations", "sample", "get_inference_data", "log_likelihood__i") - not_implemented = wrapper.check_implemented_methods(required_methods) - if not_implemented: - raise TypeError( - "Passed wrapper instance does not implement all methods required for reloo " - f"to work. Check the documentation of SamplingWrapper. {not_implemented} must be " - "implemented and were not found." - ) - if loo_orig is None: - loo_orig = loo(wrapper.idata_orig, pointwise=True, scale=scale) - loo_refitted = loo_orig.copy() - khats = loo_refitted.pareto_k - loo_i = loo_refitted.loo_i - scale = loo_orig.scale - - if scale.lower() == "deviance": - scale_value = -2 - elif scale.lower() == "log": - scale_value = 1 - elif scale.lower() == "negative_log": - scale_value = -1 - lppd_orig = loo_orig.p_loo + loo_orig.elpd_loo / scale_value - n_data_points = loo_orig.n_data_points - - if verbose: - warnings.warn("reloo is an experimental and untested feature", UserWarning) - - if np.any(khats > k_thresh): - for idx in np.argwhere(khats.values > k_thresh): - if verbose: - _log.info("Refitting model excluding observation %d", idx) - new_obs, excluded_obs = wrapper.sel_observations(idx) - fit = wrapper.sample(new_obs) - idata_idx = wrapper.get_inference_data(fit) - log_like_idx = wrapper.log_likelihood__i(excluded_obs, idata_idx).values.flatten() - loo_lppd_idx = scale_value * _logsumexp(log_like_idx, b_inv=len(log_like_idx)) - khats[idx] = 0 - loo_i[idx] = loo_lppd_idx - loo_refitted.elpd_loo = loo_i.values.sum() - loo_refitted.se = (n_data_points * np.var(loo_i.values)) ** 0.5 - loo_refitted.p_loo = lppd_orig - loo_refitted.elpd_loo / scale_value - return loo_refitted - else: - _log.info("No problematic observations") - return loo_orig diff --git a/arviz/stats/stats_utils.py b/arviz/stats/stats_utils.py deleted file mode 100644 index c3e636207d..0000000000 --- a/arviz/stats/stats_utils.py +++ /dev/null @@ -1,609 +0,0 @@ -"""Stats-utility functions for ArviZ.""" - -import warnings -from collections.abc import Sequence -from copy import copy as _copy -from copy import deepcopy as _deepcopy - -import numpy as np -import pandas as pd -from scipy.fftpack import next_fast_len -from scipy.interpolate import CubicSpline -from scipy.stats.mstats import mquantiles -from xarray import apply_ufunc - -from .. import _log -from ..utils import conditional_jit, conditional_vect, conditional_dask -from .density_utils import histogram as _histogram - - -__all__ = ["autocorr", "autocov", "ELPDData", "make_ufunc", "smooth_data", "wrap_xarray_ufunc"] - - -def autocov(ary, axis=-1): - """Compute autocovariance estimates for every lag for the input array. - - Parameters - ---------- - ary : Numpy array - An array containing MCMC samples - - Returns - ------- - acov: Numpy array same size as the input array - """ - axis = axis if axis > 0 else len(ary.shape) + axis - n = ary.shape[axis] - m = next_fast_len(2 * n) - - ary = ary - ary.mean(axis, keepdims=True) - - # added to silence tuple warning for a submodule - with warnings.catch_warnings(): - warnings.simplefilter("ignore") - - ifft_ary = np.fft.rfft(ary, n=m, axis=axis) - ifft_ary *= np.conjugate(ifft_ary) - - shape = tuple( - slice(None) if dim_len != axis else slice(0, n) for dim_len, _ in enumerate(ary.shape) - ) - cov = np.fft.irfft(ifft_ary, n=m, axis=axis)[shape] - cov /= n - - return cov - - -def autocorr(ary, axis=-1): - """Compute autocorrelation using FFT for every lag for the input array. - - See https://en.wikipedia.org/wiki/autocorrelation#Efficient_computation - - Parameters - ---------- - ary : Numpy array - An array containing MCMC samples - - Returns - ------- - acorr: Numpy array same size as the input array - """ - corr = autocov(ary, axis=axis) - axis = axis = axis if axis > 0 else len(corr.shape) + axis - norm = tuple( - slice(None, None) if dim != axis else slice(None, 1) for dim, _ in enumerate(corr.shape) - ) - with np.errstate(invalid="ignore"): - corr /= corr[norm] - return corr - - -def make_ufunc( - func, n_dims=2, n_output=1, n_input=1, index=Ellipsis, ravel=True, check_shape=None -): # noqa: D202 - """Make ufunc from a function taking 1D array input. - - Parameters - ---------- - func : callable - n_dims : int, optional - Number of core dimensions not broadcasted. Dimensions are skipped from the end. - At minimum n_dims > 0. - n_output : int, optional - Select number of results returned by `func`. - If n_output > 1, ufunc returns a tuple of objects else returns an object. - n_input : int, optional - Number of **array** inputs to func, i.e. ``n_input=2`` means that func is called - with ``func(ary1, ary2, *args, **kwargs)`` - index : int, optional - Slice ndarray with `index`. Defaults to `Ellipsis`. - ravel : bool, optional - If true, ravel the ndarray before calling `func`. - check_shape: bool, optional - If false, do not check if the shape of the output is compatible with n_dims and - n_output. By default, True only for n_input=1. If n_input is larger than 1, the last - input array is used to check the shape, however, shape checking with multiple inputs - may not be correct. - - Returns - ------- - callable - ufunc wrapper for `func`. - """ - if n_dims < 1: - raise TypeError("n_dims must be one or higher.") - - if n_input == 1 and check_shape is None: - check_shape = True - elif check_shape is None: - check_shape = False - - def _ufunc(*args, out=None, out_shape=None, **kwargs): - """General ufunc for single-output function.""" - arys = args[:n_input] - n_dims_out = None - if out is None: - if out_shape is None: - out = np.empty(arys[-1].shape[:-n_dims]) - else: - out = np.empty((*arys[-1].shape[:-n_dims], *out_shape)) - n_dims_out = -len(out_shape) - elif check_shape: - if out.shape != arys[-1].shape[:-n_dims]: - msg = f"Shape incorrect for `out`: {out.shape}." - msg += f" Correct shape is {arys[-1].shape[:-n_dims]}" - raise TypeError(msg) - for idx in np.ndindex(out.shape[:n_dims_out]): - arys_idx = [ary[idx].ravel() if ravel else ary[idx] for ary in arys] - out_idx = np.asarray(func(*arys_idx, *args[n_input:], **kwargs))[index] - if n_dims_out is None: - out_idx = out_idx.item() - out[idx] = out_idx - return out - - def _multi_ufunc(*args, out=None, out_shape=None, **kwargs): - """General ufunc for multi-output function.""" - arys = args[:n_input] - element_shape = arys[-1].shape[:-n_dims] - if out is None: - if out_shape is None: - out = tuple(np.empty(element_shape) for _ in range(n_output)) - else: - out = tuple(np.empty((*element_shape, *out_shape[i])) for i in range(n_output)) - - elif check_shape: - raise_error = False - correct_shape = tuple(element_shape for _ in range(n_output)) - if isinstance(out, tuple): - out_shape = tuple(item.shape for item in out) - if out_shape != correct_shape: - raise_error = True - else: - raise_error = True - out_shape = "not tuple, type={type(out)}" - if raise_error: - msg = f"Shapes incorrect for `out`: {out_shape}." - msg += f" Correct shapes are {correct_shape}" - raise TypeError(msg) - for idx in np.ndindex(element_shape): - arys_idx = [ary[idx].ravel() if ravel else ary[idx] for ary in arys] - results = func(*arys_idx, *args[n_input:], **kwargs) - for i, res in enumerate(results): - out[i][idx] = np.asarray(res)[index] - return out - - if n_output > 1: - ufunc = _multi_ufunc - else: - ufunc = _ufunc - - update_docstring(ufunc, func, n_output) - return ufunc - - -@conditional_dask -def wrap_xarray_ufunc( - ufunc, - *datasets, - ufunc_kwargs=None, - func_args=None, - func_kwargs=None, - dask_kwargs=None, - **kwargs, -): - """Wrap make_ufunc with xarray.apply_ufunc. - - Parameters - ---------- - ufunc : callable - *datasets : xarray.Dataset - ufunc_kwargs : dict - Keyword arguments passed to `make_ufunc`. - - 'n_dims', int, by default 2 - - 'n_output', int, by default 1 - - 'n_input', int, by default len(datasets) - - 'index', slice, by default Ellipsis - - 'ravel', bool, by default True - func_args : tuple - Arguments passed to 'ufunc'. - func_kwargs : dict - Keyword arguments passed to 'ufunc'. - - 'out_shape', int, by default None - dask_kwargs : dict - Dask related kwargs passed to :func:`xarray:xarray.apply_ufunc`. - Use ``enable_dask`` method of :class:`arviz.Dask` to set default kwargs. - **kwargs - Passed to :func:`xarray.apply_ufunc`. - - Returns - ------- - xarray.Dataset - """ - if ufunc_kwargs is None: - ufunc_kwargs = {} - ufunc_kwargs.setdefault("n_input", len(datasets)) - if func_args is None: - func_args = tuple() - if func_kwargs is None: - func_kwargs = {} - if dask_kwargs is None: - dask_kwargs = {} - - kwargs.setdefault( - "input_core_dims", tuple(("chain", "draw") for _ in range(len(func_args) + len(datasets))) - ) - ufunc_kwargs.setdefault("n_dims", len(kwargs["input_core_dims"][-1])) - kwargs.setdefault("output_core_dims", tuple([] for _ in range(ufunc_kwargs.get("n_output", 1)))) - - callable_ufunc = make_ufunc(ufunc, **ufunc_kwargs) - - return apply_ufunc( - callable_ufunc, *datasets, *func_args, kwargs=func_kwargs, **dask_kwargs, **kwargs - ) - - -def update_docstring(ufunc, func, n_output=1): - """Update ArviZ generated ufunc docstring.""" - module = "" - name = "" - docstring = "" - if hasattr(func, "__module__") and isinstance(func.__module__, str): - module += func.__module__ - if hasattr(func, "__name__"): - name += func.__name__ - if hasattr(func, "__doc__") and isinstance(func.__doc__, str): - docstring += func.__doc__ - ufunc.__doc__ += "\n\n" - if module or name: - ufunc.__doc__ += "This function is a ufunc wrapper for " - ufunc.__doc__ += module + "." + name - ufunc.__doc__ += "\n" - ufunc.__doc__ += 'Call ufunc with n_args from xarray against "chain" and "draw" dimensions:' - ufunc.__doc__ += "\n\n" - input_core_dims = 'tuple(("chain", "draw") for _ in range(n_args))' - if n_output > 1: - output_core_dims = f" tuple([] for _ in range({n_output}))" - msg = f"xr.apply_ufunc(ufunc, dataset, input_core_dims={input_core_dims}, " - msg += f"output_core_dims={ output_core_dims})" - else: - output_core_dims = "" - msg = f"xr.apply_ufunc(ufunc, dataset, input_core_dims={input_core_dims})" - ufunc.__doc__ += msg - ufunc.__doc__ += "\n\n" - ufunc.__doc__ += "For example: np.std(data, ddof=1) --> n_args=2" - if docstring: - ufunc.__doc__ += "\n\n" - ufunc.__doc__ += module - ufunc.__doc__ += name - ufunc.__doc__ += " docstring:" - ufunc.__doc__ += "\n\n" - ufunc.__doc__ += docstring - - -def logsumexp(ary, *, b=None, b_inv=None, axis=None, keepdims=False, out=None, copy=True): - """Stable logsumexp when b >= 0 and b is scalar. - - b_inv overwrites b unless b_inv is None. - """ - # check dimensions for result arrays - ary = np.asarray(ary) - if ary.dtype.kind == "i": - ary = ary.astype(np.float64) - dtype = ary.dtype.type - shape = ary.shape - shape_len = len(shape) - if isinstance(axis, Sequence): - axis = tuple(axis_i if axis_i >= 0 else shape_len + axis_i for axis_i in axis) - agroup = axis - else: - axis = axis if (axis is None) or (axis >= 0) else shape_len + axis - agroup = (axis,) - shape_max = ( - tuple(1 for _ in shape) - if axis is None - else tuple(1 if i in agroup else d for i, d in enumerate(shape)) - ) - # create result arrays - if out is None: - if not keepdims: - out_shape = ( - tuple() - if axis is None - else tuple(d for i, d in enumerate(shape) if i not in agroup) - ) - else: - out_shape = shape_max - out = np.empty(out_shape, dtype=dtype) - if b_inv == 0: - return np.full_like(out, np.inf, dtype=dtype) if out.shape else np.inf - if b_inv is None and b == 0: - return np.full_like(out, -np.inf) if out.shape else -np.inf - ary_max = np.empty(shape_max, dtype=dtype) - # calculations - ary.max(axis=axis, keepdims=True, out=ary_max) - if copy: - ary = ary.copy() - ary -= ary_max - np.exp(ary, out=ary) - ary.sum(axis=axis, keepdims=keepdims, out=out) - np.log(out, out=out) - if b_inv is not None: - ary_max -= np.log(b_inv) - elif b: - ary_max += np.log(b) - out += ary_max if keepdims else ary_max.squeeze() - # transform to scalar if possible - return out if out.shape else dtype(out) - - -def quantile(ary, q, axis=None, limit=None): - """Use same quantile function as R (Type 7).""" - if limit is None: - limit = tuple() - return mquantiles(ary, q, alphap=1, betap=1, axis=axis, limit=limit) - - -def not_valid(ary, check_nan=True, check_shape=True, nan_kwargs=None, shape_kwargs=None): - """Validate ndarray. - - Parameters - ---------- - ary : numpy.ndarray - check_nan : bool - Check if any value contains NaN. - check_shape : bool - Check if array has correct shape. Assumes dimensions in order (chain, draw, *shape). - For 1D arrays (shape = (n,)) assumes chain equals 1. - nan_kwargs : dict - Valid kwargs are: - axis : int, - Defaults to None. - how : str, {"all", "any"} - Default to "any". - shape_kwargs : dict - Valid kwargs are: - min_chains : int - Defaults to 1. - min_draws : int - Defaults to 4. - - Returns - ------- - bool - """ - ary = np.asarray(ary) - - nan_error = False - draw_error = False - chain_error = False - - if check_nan: - if nan_kwargs is None: - nan_kwargs = {} - - isnan = np.isnan(ary) - axis = nan_kwargs.get("axis", None) - if nan_kwargs.get("how", "any").lower() == "all": - nan_error = isnan.all(axis) - else: - nan_error = isnan.any(axis) - - if (isinstance(nan_error, bool) and nan_error) or nan_error.any(): - _log.warning("Array contains NaN-value.") - - if check_shape: - shape = ary.shape - - if shape_kwargs is None: - shape_kwargs = {} - - min_chains = shape_kwargs.get("min_chains", 2) - min_draws = shape_kwargs.get("min_draws", 4) - error_msg = f"Shape validation failed: input_shape: {shape}, " - error_msg += f"minimum_shape: (chains={min_chains}, draws={min_draws})" - - chain_error = ((min_chains > 1) and (len(shape) < 2)) or (shape[0] < min_chains) - draw_error = ((len(shape) < 2) and (shape[0] < min_draws)) or ( - (len(shape) > 1) and (shape[1] < min_draws) - ) - - if chain_error or draw_error: - _log.warning(error_msg) - - return nan_error | chain_error | draw_error - - -def get_log_likelihood(idata, var_name=None, single_var=True): - """Retrieve the log likelihood dataarray of a given variable.""" - if ( - not hasattr(idata, "log_likelihood") - and hasattr(idata, "sample_stats") - and hasattr(idata.sample_stats, "log_likelihood") - ): - warnings.warn( - "Storing the log_likelihood in sample_stats groups has been deprecated", - DeprecationWarning, - ) - return idata.sample_stats.log_likelihood - if not hasattr(idata, "log_likelihood"): - raise TypeError("log likelihood not found in inference data object") - if var_name is None: - var_names = list(idata.log_likelihood.data_vars) - if len(var_names) > 1: - if single_var: - raise TypeError( - f"Found several log likelihood arrays {var_names}, var_name cannot be None" - ) - return idata.log_likelihood[var_names] - return idata.log_likelihood[var_names[0]] - else: - try: - log_likelihood = idata.log_likelihood[var_name] - except KeyError as err: - raise TypeError(f"No log likelihood data named {var_name} found") from err - return log_likelihood - - -BASE_FMT = """Computed from {{n_samples}} posterior samples and \ -{{n_points}} observations log-likelihood matrix. - -{{0:{0}}} Estimate SE -{{scale}}_{{kind}} {{1:8.2f}} {{2:7.2f}} -p_{{kind:{1}}} {{3:8.2f}} -""" -POINTWISE_LOO_FMT = """------ - -Pareto k diagnostic values: - {{0:>{0}}} {{1:>6}} -(-Inf, {{8:.2f}}] (good) {{2:{0}d}} {{5:6.1f}}% - ({{8:.2f}}, 1] (bad) {{3:{0}d}} {{6:6.1f}}% - (1, Inf) (very bad) {{4:{0}d}} {{7:6.1f}}% -""" -SCALE_DICT = {"deviance": "deviance", "log": "elpd", "negative_log": "-elpd"} - - -class ELPDData(pd.Series): # pylint: disable=too-many-ancestors - """Class to contain the data from elpd information criterion like waic or loo.""" - - def __str__(self): - """Print elpd data in a user friendly way.""" - kind = self.index[0].split("_")[1] - - if kind not in ("loo", "waic"): - raise ValueError("Invalid ELPDData object") - - scale_str = SCALE_DICT[self["scale"]] - padding = len(scale_str) + len(kind) + 1 - base = BASE_FMT.format(padding, padding - 2) - base = base.format( - "", - kind=kind, - scale=scale_str, - n_samples=self.n_samples, - n_points=self.n_data_points, - *self.values, - ) - - if self.warning: - base += "\n\nThere has been a warning during the calculation. Please check the results." - - if kind == "loo" and "pareto_k" in self: - bins = np.asarray([-np.inf, self.good_k, 1, np.inf]) - counts, *_ = _histogram(self.pareto_k.values, bins) - extended = POINTWISE_LOO_FMT.format(max(4, len(str(np.max(counts))))) - extended = extended.format( - "Count", - "Pct.", - *[*counts, *(counts / np.sum(counts) * 100)], - self.good_k, - ) - base = "\n".join([base, extended]) - return base - - def __repr__(self): - """Alias to ``__str__``.""" - return self.__str__() - - def copy(self, deep=True): # pylint:disable=overridden-final-method - """Perform a pandas deep copy of the ELPDData plus a copy of the stored data.""" - copied_obj = pd.Series.copy(self) - for key in copied_obj.keys(): - if deep: - copied_obj[key] = _deepcopy(copied_obj[key]) - else: - copied_obj[key] = _copy(copied_obj[key]) - return ELPDData(copied_obj) - - -@conditional_jit(nopython=True) -def stats_variance_1d(data, ddof=0): - a_a, b_b = 0, 0 - for i in data: - a_a = a_a + i - b_b = b_b + i * i - var = b_b / (len(data)) - ((a_a / (len(data))) ** 2) - var = var * (len(data) / (len(data) - ddof)) - return var - - -def stats_variance_2d(data, ddof=0, axis=1): - if data.ndim == 1: - return stats_variance_1d(data, ddof=ddof) - a_a, b_b = data.shape - if axis == 1: - var = np.zeros(a_a) - for i in range(a_a): - var[i] = stats_variance_1d(data[i], ddof=ddof) - else: - var = np.zeros(b_b) - for i in range(b_b): - var[i] = stats_variance_1d(data[:, i], ddof=ddof) - - return var - - -@conditional_vect -def _sqrt(a_a, b_b): - return (a_a + b_b) ** 0.5 - - -def _circfunc(samples, high, low, skipna): - samples = np.asarray(samples) - if skipna: - samples = samples[~np.isnan(samples)] - if samples.size == 0: - return np.nan - return _angle(samples, low, high, np.pi) - - -@conditional_vect -def _angle(samples, low, high, p_i=np.pi): - ang = (samples - low) * 2.0 * p_i / (high - low) - return ang - - -def _circular_standard_deviation(samples, high=2 * np.pi, low=0, skipna=False, axis=None): - ang = _circfunc(samples, high, low, skipna) - s_s = np.sin(ang).mean(axis=axis) - c_c = np.cos(ang).mean(axis=axis) - r_r = np.hypot(s_s, c_c) - return ((high - low) / 2.0 / np.pi) * np.sqrt(-2 * np.log(r_r)) - - -def smooth_data(obs_vals, pp_vals): - """Smooth data using a cubic spline. - - Helper function for discrete data in plot_pbv, loo_pit and plot_loo_pit. - - Parameters - ---------- - obs_vals : (N) array-like - Observed data - pp_vals : (S, N) array-like - Posterior predictive samples. ``N`` is the number of observations, - and ``S`` is the number of samples (generally n_chains*n_draws). - - Returns - ------- - obs_vals : (N) ndarray - Smoothed observed data - pp_vals : (S, N) ndarray - Smoothed posterior predictive samples - """ - x = np.linspace(0, 1, len(obs_vals)) - csi = CubicSpline(x, obs_vals) - obs_vals = csi(np.linspace(0.01, 0.99, len(obs_vals))) - - x = np.linspace(0, 1, pp_vals.shape[1]) - csi = CubicSpline(x, pp_vals, axis=1) - pp_vals = csi(np.linspace(0.01, 0.99, pp_vals.shape[1])) - - return obs_vals, pp_vals - - -def get_log_prior(idata, var_names=None): - """Retrieve the log prior dataarray of a given variable.""" - if not hasattr(idata, "log_prior"): - raise TypeError("log prior not found in inference data object") - if var_names is None: - var_names = list(idata.log_prior.data_vars) - return idata.log_prior[var_names] diff --git a/arviz/tests/__init__.py b/arviz/tests/__init__.py deleted file mode 100644 index db49e82c9f..0000000000 --- a/arviz/tests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Test suite.""" diff --git a/arviz/tests/bad.rcparams b/arviz/tests/bad.rcparams deleted file mode 100644 index 54d50fe4cb..0000000000 --- a/arviz/tests/bad.rcparams +++ /dev/null @@ -1 +0,0 @@ -stats.ic_scale : positive_log diff --git a/arviz/tests/base_tests/__init__.py b/arviz/tests/base_tests/__init__.py deleted file mode 100644 index a247e2137b..0000000000 --- a/arviz/tests/base_tests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Base test suite.""" diff --git a/arviz/tests/base_tests/test_data.py b/arviz/tests/base_tests/test_data.py deleted file mode 100644 index 40c026cbe1..0000000000 --- a/arviz/tests/base_tests/test_data.py +++ /dev/null @@ -1,1679 +0,0 @@ -# pylint: disable=no-member, invalid-name, redefined-outer-name -# pylint: disable=too-many-lines - -import importlib -import os -import warnings -from collections import namedtuple -from copy import deepcopy -from html import escape -from typing import Dict -from tempfile import TemporaryDirectory -from urllib.parse import urlunsplit - -import numpy as np -import pytest -import xarray as xr -from xarray.core.options import OPTIONS -from xarray.testing import assert_identical - -from ... import ( - InferenceData, - clear_data_home, - concat, - convert_to_dataset, - convert_to_inference_data, - from_datatree, - from_dict, - from_json, - from_netcdf, - list_datasets, - load_arviz_data, - to_netcdf, - extract, -) - -from ...data.base import ( - dict_to_dataset, - generate_dims_coords, - infer_stan_dtypes, - make_attrs, - numpy_to_data_array, -) -from ...data.datasets import LOCAL_DATASETS, REMOTE_DATASETS, RemoteFileMetadata -from ..helpers import ( # pylint: disable=unused-import - chains, - check_multiple_attrs, - create_data_random, - data_random, - draws, - eight_schools_params, - models, -) - -# Check if dm-tree is installed -dm_tree_installed = importlib.util.find_spec("tree") is not None # pylint: disable=invalid-name -skip_tests = (not dm_tree_installed) and ("ARVIZ_REQUIRE_ALL_DEPS" not in os.environ) - - -@pytest.fixture(autouse=True) -def no_remote_data(monkeypatch, tmpdir): - """Delete all remote data and replace it with a local dataset.""" - keys = list(REMOTE_DATASETS) - for key in keys: - monkeypatch.delitem(REMOTE_DATASETS, key) - - centered = LOCAL_DATASETS["centered_eight"] - filename = os.path.join(str(tmpdir), os.path.basename(centered.filename)) - - url = urlunsplit(("file", "", centered.filename, "", "")) - - monkeypatch.setitem( - REMOTE_DATASETS, - "test_remote", - RemoteFileMetadata( - name="test_remote", - filename=filename, - url=url, - checksum="8efc3abafe0c796eb9aea7b69490d4e2400a33c57504ef4932e1c7105849176f", - description=centered.description, - ), - ) - monkeypatch.setitem( - REMOTE_DATASETS, - "bad_checksum", - RemoteFileMetadata( - name="bad_checksum", - filename=filename, - url=url, - checksum="bad!", - description=centered.description, - ), - ) - UnknownFileMetaData = namedtuple( - "UnknownFileMetaData", ["filename", "url", "checksum", "description"] - ) - monkeypatch.setitem( - REMOTE_DATASETS, - "test_unknown", - UnknownFileMetaData( - filename=filename, - url=url, - checksum="9ae00c83654b3f061d32c882ec0a270d10838fa36515ecb162b89a290e014849", - description="Test bad REMOTE_DATASET", - ), - ) - - -def test_load_local_arviz_data(): - inference_data = load_arviz_data("centered_eight") - assert isinstance(inference_data, InferenceData) - assert set(inference_data.observed_data.obs.coords["school"].values) == { - "Hotchkiss", - "Mt. Hermon", - "Choate", - "Deerfield", - "Phillips Andover", - "St. Paul's", - "Lawrenceville", - "Phillips Exeter", - } - assert inference_data.posterior["theta"].dims == ("chain", "draw", "school") - - -@pytest.mark.parametrize("fill_attrs", [True, False]) -def test_local_save(fill_attrs): - inference_data = load_arviz_data("centered_eight") - assert isinstance(inference_data, InferenceData) - - if fill_attrs: - inference_data.attrs["test"] = 1 - with TemporaryDirectory(prefix="arviz_tests_") as tmp_dir: - path = os.path.join(tmp_dir, "test_file.nc") - inference_data.to_netcdf(path) - - inference_data2 = from_netcdf(path) - if fill_attrs: - assert "test" in inference_data2.attrs - assert inference_data2.attrs["test"] == 1 - # pylint: disable=protected-access - assert all(group in inference_data2 for group in inference_data._groups_all) - # pylint: enable=protected-access - - -def test_clear_data_home(): - resource = REMOTE_DATASETS["test_remote"] - assert not os.path.exists(resource.filename) - load_arviz_data("test_remote") - assert os.path.exists(resource.filename) - clear_data_home(data_home=os.path.dirname(resource.filename)) - assert not os.path.exists(resource.filename) - - -def test_load_remote_arviz_data(): - assert load_arviz_data("test_remote") - - -def test_bad_checksum(): - with pytest.raises(IOError): - load_arviz_data("bad_checksum") - - -def test_missing_dataset(): - with pytest.raises(ValueError): - load_arviz_data("does not exist") - - -def test_list_datasets(): - dataset_string = list_datasets() - # make sure all the names of the data sets are in the dataset description - for key in ( - "centered_eight", - "non_centered_eight", - "test_remote", - "bad_checksum", - "test_unknown", - ): - assert key in dataset_string - - -def test_dims_coords(): - shape = 4, 20, 5 - var_name = "x" - dims, coords = generate_dims_coords(shape, var_name) - assert "x_dim_0" in dims - assert "x_dim_1" in dims - assert "x_dim_2" in dims - assert len(coords["x_dim_0"]) == 4 - assert len(coords["x_dim_1"]) == 20 - assert len(coords["x_dim_2"]) == 5 - - -@pytest.mark.parametrize( - "in_dims", (["dim1", "dim2"], ["draw", "dim1", "dim2"], ["chain", "draw", "dim1", "dim2"]) -) -def test_dims_coords_default_dims(in_dims): - shape = 4, 7 - var_name = "x" - dims, coords = generate_dims_coords( - shape, - var_name, - dims=in_dims, - coords={"chain": ["a", "b", "c"]}, - default_dims=["chain", "draw"], - ) - assert "dim1" in dims - assert "dim2" in dims - assert ("chain" in dims) == ("chain" in in_dims) - assert ("draw" in dims) == ("draw" in in_dims) - assert len(coords["dim1"]) == 4 - assert len(coords["dim2"]) == 7 - assert len(coords["chain"]) == 3 - assert "draw" not in coords - - -def test_dims_coords_extra_dims(): - shape = 4, 20 - var_name = "x" - with pytest.warns(UserWarning): - dims, coords = generate_dims_coords(shape, var_name, dims=["xx", "xy", "xz"]) - assert "xx" in dims - assert "xy" in dims - assert "xz" in dims - assert len(coords["xx"]) == 4 - assert len(coords["xy"]) == 20 - - -@pytest.mark.parametrize("shape", [(4, 20), (4, 20, 1)]) -def test_dims_coords_skip_event_dims(shape): - coords = {"x": np.arange(4), "y": np.arange(20), "z": np.arange(5)} - dims, coords = generate_dims_coords( - shape, "name", dims=["x", "y", "z"], coords=coords, skip_event_dims=True - ) - assert "x" in dims - assert "y" in dims - assert "z" not in dims - assert len(coords["x"]) == 4 - assert len(coords["y"]) == 20 - assert "z" not in coords - - -@pytest.mark.parametrize("dims", [None, ["chain", "draw"], ["chain", "draw", None]]) -def test_numpy_to_data_array_with_dims(dims): - da = numpy_to_data_array( - np.empty((4, 500, 7)), - var_name="a", - dims=dims, - default_dims=["chain", "draw"], - ) - assert list(da.dims) == ["chain", "draw", "a_dim_0"] - - -def test_make_attrs(): - extra_attrs = {"key": "Value"} - attrs = make_attrs(attrs=extra_attrs) - assert "key" in attrs - assert attrs["key"] == "Value" - - -@pytest.mark.parametrize("copy", [True, False]) -@pytest.mark.parametrize("inplace", [True, False]) -@pytest.mark.parametrize("sequence", [True, False]) -def test_concat_group(copy, inplace, sequence): - idata1 = from_dict( - posterior={"A": np.random.randn(2, 10, 2), "B": np.random.randn(2, 10, 5, 2)} - ) - if copy and inplace: - original_idata1_posterior_id = id(idata1.posterior) - idata2 = from_dict(prior={"C": np.random.randn(2, 10, 2), "D": np.random.randn(2, 10, 5, 2)}) - idata3 = from_dict(observed_data={"E": np.random.randn(100), "F": np.random.randn(2, 100)}) - # basic case - assert concat(idata1, idata2, copy=True, inplace=False) is not None - if sequence: - new_idata = concat((idata1, idata2, idata3), copy=copy, inplace=inplace) - else: - new_idata = concat(idata1, idata2, idata3, copy=copy, inplace=inplace) - if inplace: - assert new_idata is None - new_idata = idata1 - assert new_idata is not None - test_dict = {"posterior": ["A", "B"], "prior": ["C", "D"], "observed_data": ["E", "F"]} - fails = check_multiple_attrs(test_dict, new_idata) - assert not fails - if copy: - if inplace: - assert id(new_idata.posterior) == original_idata1_posterior_id - else: - assert id(new_idata.posterior) != id(idata1.posterior) - assert id(new_idata.prior) != id(idata2.prior) - assert id(new_idata.observed_data) != id(idata3.observed_data) - else: - assert id(new_idata.posterior) == id(idata1.posterior) - assert id(new_idata.prior) == id(idata2.prior) - assert id(new_idata.observed_data) == id(idata3.observed_data) - - -@pytest.mark.parametrize("dim", ["chain", "draw"]) -@pytest.mark.parametrize("copy", [True, False]) -@pytest.mark.parametrize("inplace", [True, False]) -@pytest.mark.parametrize("sequence", [True, False]) -@pytest.mark.parametrize("reset_dim", [True, False]) -def test_concat_dim(dim, copy, inplace, sequence, reset_dim): - idata1 = from_dict( - posterior={"A": np.random.randn(2, 10, 2), "B": np.random.randn(2, 10, 5, 2)}, - observed_data={"C": np.random.randn(100), "D": np.random.randn(2, 100)}, - ) - if inplace: - original_idata1_id = id(idata1) - idata2 = from_dict( - posterior={"A": np.random.randn(2, 10, 2), "B": np.random.randn(2, 10, 5, 2)}, - observed_data={"C": np.random.randn(100), "D": np.random.randn(2, 100)}, - ) - idata3 = from_dict( - posterior={"A": np.random.randn(2, 10, 2), "B": np.random.randn(2, 10, 5, 2)}, - observed_data={"C": np.random.randn(100), "D": np.random.randn(2, 100)}, - ) - # basic case - assert ( - concat(idata1, idata2, dim=dim, copy=copy, inplace=False, reset_dim=reset_dim) is not None - ) - if sequence: - new_idata = concat( - (idata1, idata2, idata3), copy=copy, dim=dim, inplace=inplace, reset_dim=reset_dim - ) - else: - new_idata = concat( - idata1, idata2, idata3, dim=dim, copy=copy, inplace=inplace, reset_dim=reset_dim - ) - if inplace: - assert new_idata is None - new_idata = idata1 - assert new_idata is not None - test_dict = {"posterior": ["A", "B"], "observed_data": ["C", "D"]} - fails = check_multiple_attrs(test_dict, new_idata) - assert not fails - if inplace: - assert id(new_idata) == original_idata1_id - else: - assert id(new_idata) != id(idata1) - assert getattr(new_idata.posterior, dim).size == 6 if dim == "chain" else 30 - if reset_dim: - assert np.all( - getattr(new_idata.posterior, dim).values - == (np.arange(6) if dim == "chain" else np.arange(30)) - ) - - -@pytest.mark.parametrize("copy", [True, False]) -@pytest.mark.parametrize("inplace", [True, False]) -@pytest.mark.parametrize("sequence", [True, False]) -def test_concat_edgecases(copy, inplace, sequence): - idata = from_dict(posterior={"A": np.random.randn(2, 10, 2), "B": np.random.randn(2, 10, 5, 2)}) - empty = concat() - assert empty is not None - if sequence: - new_idata = concat([idata], copy=copy, inplace=inplace) - else: - new_idata = concat(idata, copy=copy, inplace=inplace) - if inplace: - assert new_idata is None - new_idata = idata - else: - assert new_idata is not None - test_dict = {"posterior": ["A", "B"]} - fails = check_multiple_attrs(test_dict, new_idata) - assert not fails - if copy and not inplace: - assert id(new_idata.posterior) != id(idata.posterior) - else: - assert id(new_idata.posterior) == id(idata.posterior) - - -def test_concat_bad(): - with pytest.raises(TypeError): - concat("hello", "hello") - idata = from_dict(posterior={"A": np.random.randn(2, 10, 2), "B": np.random.randn(2, 10, 5, 2)}) - idata2 = from_dict(posterior={"A": np.random.randn(2, 10, 2)}) - idata3 = from_dict(prior={"A": np.random.randn(2, 10, 2)}) - with pytest.raises(TypeError): - concat(idata, np.array([1, 2, 3, 4, 5])) - with pytest.raises(TypeError): - concat(idata, idata, dim=None) - with pytest.raises(TypeError): - concat(idata, idata2, dim="chain") - with pytest.raises(TypeError): - concat(idata2, idata, dim="chain") - with pytest.raises(TypeError): - concat(idata, idata3, dim="chain") - with pytest.raises(TypeError): - concat(idata3, idata, dim="chain") - - -def test_inference_concat_keeps_all_fields(): - """From failures observed in issue #907""" - idata1 = from_dict(posterior={"A": [1, 2, 3, 4]}, sample_stats={"B": [2, 3, 4, 5]}) - idata2 = from_dict(prior={"C": [1, 2, 3, 4]}, observed_data={"D": [2, 3, 4, 5]}) - - idata_c1 = concat(idata1, idata2) - idata_c2 = concat(idata2, idata1) - - test_dict = {"posterior": ["A"], "sample_stats": ["B"], "prior": ["C"], "observed_data": ["D"]} - - fails_c1 = check_multiple_attrs(test_dict, idata_c1) - assert not fails_c1 - fails_c2 = check_multiple_attrs(test_dict, idata_c2) - assert not fails_c2 - - -@pytest.mark.parametrize( - "model_code,expected", - [ - ("data {int y;} models {y ~ poisson(3);} generated quantities {int X;}", {"X": "int"}), - ( - "data {real y;} models {y ~ normal(0,1);} generated quantities {int Y; real G;}", - {"Y": "int"}, - ), - ], -) -def test_infer_stan_dtypes(model_code, expected): - """Test different examples for dtypes in Stan models.""" - res = infer_stan_dtypes(model_code) - assert res == expected - - -class TestInferenceData: # pylint: disable=too-many-public-methods - def test_addition(self): - idata1 = from_dict( - posterior={"A": np.random.randn(2, 10, 2), "B": np.random.randn(2, 10, 5, 2)} - ) - idata2 = from_dict( - prior={"C": np.random.randn(2, 10, 2), "D": np.random.randn(2, 10, 5, 2)} - ) - new_idata = idata1 + idata2 - assert new_idata is not None - test_dict = {"posterior": ["A", "B"], "prior": ["C", "D"]} - fails = check_multiple_attrs(test_dict, new_idata) - assert not fails - - def test_iter(self, models): - idata = models.model_1 - for group in idata: - assert group in idata._groups_all # pylint: disable=protected-access - - def test_groups(self, models): - idata = models.model_1 - for group in idata.groups(): - assert group in idata._groups_all # pylint: disable=protected-access - - def test_values(self, models): - idata = models.model_1 - datasets = idata.values() - for group in idata.groups(): - assert group in idata._groups_all # pylint: disable=protected-access - dataset = getattr(idata, group) - assert dataset in datasets - - def test_items(self, models): - idata = models.model_1 - for group, dataset in idata.items(): - assert group in idata._groups_all # pylint: disable=protected-access - assert dataset.equals(getattr(idata, group)) - - @pytest.mark.parametrize("inplace", [True, False]) - def test_extend_xr_method(self, data_random, inplace): - idata = data_random - idata_copy = deepcopy(idata) - kwargs = {"groups": "posterior_groups"} - if inplace: - idata_copy.sum(dim="draw", inplace=inplace, **kwargs) - else: - idata2 = idata_copy.sum(dim="draw", inplace=inplace, **kwargs) - assert idata2 is not idata_copy - idata_copy = idata2 - assert_identical(idata_copy.posterior, idata.posterior.sum(dim="draw")) - assert_identical( - idata_copy.posterior_predictive, idata.posterior_predictive.sum(dim="draw") - ) - assert_identical(idata_copy.observed_data, idata.observed_data) - - @pytest.mark.parametrize("inplace", [False, True]) - def test_sel(self, data_random, inplace): - idata = data_random - original_groups = getattr(idata, "_groups") - ndraws = idata.posterior.draw.values.size - kwargs = {"draw": slice(200, None), "chain": slice(None, None, 2), "b_dim_0": [1, 2, 7]} - if inplace: - idata.sel(inplace=inplace, **kwargs) - else: - idata2 = idata.sel(inplace=inplace, **kwargs) - assert idata2 is not idata - idata = idata2 - groups = getattr(idata, "_groups") - assert np.all(np.isin(groups, original_groups)) - for group in groups: - dataset = getattr(idata, group) - assert "b_dim_0" in dataset.dims - assert np.all(dataset.b_dim_0.values == np.array(kwargs["b_dim_0"])) - if group != "observed_data": - assert np.all(np.isin(["chain", "draw"], dataset.dims)) - assert np.all(dataset.chain.values == np.arange(0, 4, 2)) - assert np.all(dataset.draw.values == np.arange(200, ndraws)) - - def test_sel_chain_prior(self): - idata = load_arviz_data("centered_eight") - original_groups = getattr(idata, "_groups") - idata_subset = idata.sel(inplace=False, chain_prior=False, chain=[0, 1, 3]) - groups = getattr(idata_subset, "_groups") - assert np.all(np.isin(groups, original_groups)) - for group in groups: - dataset_subset = getattr(idata_subset, group) - dataset = getattr(idata, group) - if "chain" in dataset.dims: - assert "chain" in dataset_subset.dims - if "prior" not in group: - assert np.all(dataset_subset.chain.values == np.array([0, 1, 3])) - else: - assert "chain" not in dataset_subset.dims - with pytest.raises(KeyError): - idata.sel(inplace=False, chain_prior=True, chain=[0, 1, 3]) - - @pytest.mark.parametrize("use", ("del", "delattr", "delitem")) - def test_del(self, use): - # create inference data object - data = np.random.normal(size=(4, 500, 8)) - idata = from_dict( - posterior={"a": data[..., 0], "b": data}, - sample_stats={"a": data[..., 0], "b": data}, - observed_data={"b": data[0, 0, :]}, - posterior_predictive={"a": data[..., 0], "b": data}, - ) - - # assert inference data object has all attributes - test_dict = { - "posterior": ("a", "b"), - "sample_stats": ("a", "b"), - "observed_data": ["b"], - "posterior_predictive": ("a", "b"), - } - fails = check_multiple_attrs(test_dict, idata) - assert not fails - # assert _groups attribute contains all groups - groups = getattr(idata, "_groups") - assert all((group in groups for group in test_dict)) - - # Use del method - if use == "del": - del idata.sample_stats - elif use == "delitem": - del idata["sample_stats"] - else: - delattr(idata, "sample_stats") - - # assert attribute has been removed - test_dict.pop("sample_stats") - fails = check_multiple_attrs(test_dict, idata) - assert not fails - assert not hasattr(idata, "sample_stats") - # assert _groups attribute has been updated - assert "sample_stats" not in getattr(idata, "_groups") - - @pytest.mark.parametrize( - "args_res", - ( - ([("posterior", "sample_stats")], ("posterior", "sample_stats")), - (["posterior", "like"], ("posterior", "warmup_posterior", "posterior_predictive")), - (["^posterior", "regex"], ("posterior", "posterior_predictive")), - ( - [("~^warmup", "~^obs"), "regex"], - ("posterior", "sample_stats", "posterior_predictive"), - ), - ( - ["~observed_vars"], - ("posterior", "sample_stats", "warmup_posterior", "warmup_sample_stats"), - ), - ), - ) - def test_group_names(self, args_res): - args, result = args_res - ds = dict_to_dataset({"a": np.random.normal(size=(3, 10))}) - idata = InferenceData( - posterior=(ds, ds), - sample_stats=(ds, ds), - observed_data=ds, - posterior_predictive=ds, - ) - group_names = idata._group_names(*args) # pylint: disable=protected-access - assert np.all([name in result for name in group_names]) - - def test_group_names_invalid_args(self): - ds = dict_to_dataset({"a": np.random.normal(size=(3, 10))}) - idata = InferenceData(posterior=(ds, ds)) - msg = r"^\'filter_groups\' can only be None, \'like\', or \'regex\', got: 'foo'$" - with pytest.raises(ValueError, match=msg): - idata._group_names( # pylint: disable=protected-access - ("posterior",), filter_groups="foo" - ) - - @pytest.mark.parametrize("inplace", [False, True]) - def test_isel(self, data_random, inplace): - idata = data_random - original_groups = getattr(idata, "_groups") - ndraws = idata.posterior.draw.values.size - kwargs = {"draw": slice(200, None), "chain": slice(None, None, 2), "b_dim_0": [1, 2, 7]} - if inplace: - idata.isel(inplace=inplace, **kwargs) - else: - idata2 = idata.isel(inplace=inplace, **kwargs) - assert idata2 is not idata - idata = idata2 - groups = getattr(idata, "_groups") - assert np.all(np.isin(groups, original_groups)) - for group in groups: - dataset = getattr(idata, group) - assert "b_dim_0" in dataset.dims - assert np.all(dataset.b_dim_0.values == np.array(kwargs["b_dim_0"])) - if group != "observed_data": - assert np.all(np.isin(["chain", "draw"], dataset.dims)) - assert np.all(dataset.chain.values == np.arange(0, 4, 2)) - assert np.all(dataset.draw.values == np.arange(200, ndraws)) - - def test_rename(self, data_random): - idata = data_random - original_groups = getattr(idata, "_groups") - renamed_idata = idata.rename({"b": "b_new"}) - for group in original_groups: - xr_data = getattr(renamed_idata, group) - assert "b_new" in list(xr_data.data_vars) - assert "b" not in list(xr_data.data_vars) - - renamed_idata = idata.rename({"b_dim_0": "b_new"}) - for group in original_groups: - xr_data = getattr(renamed_idata, group) - assert "b_new" in list(xr_data.dims) - assert "b_dim_0" not in list(xr_data.dims) - - def test_rename_vars(self, data_random): - idata = data_random - original_groups = getattr(idata, "_groups") - renamed_idata = idata.rename_vars({"b": "b_new"}) - for group in original_groups: - xr_data = getattr(renamed_idata, group) - assert "b_new" in list(xr_data.data_vars) - assert "b" not in list(xr_data.data_vars) - - renamed_idata = idata.rename_vars({"b_dim_0": "b_new"}) - for group in original_groups: - xr_data = getattr(renamed_idata, group) - assert "b_new" not in list(xr_data.dims) - assert "b_dim_0" in list(xr_data.dims) - - def test_rename_dims(self, data_random): - idata = data_random - original_groups = getattr(idata, "_groups") - renamed_idata = idata.rename_dims({"b_dim_0": "b_new"}) - for group in original_groups: - xr_data = getattr(renamed_idata, group) - assert "b_new" in list(xr_data.dims) - assert "b_dim_0" not in list(xr_data.dims) - - renamed_idata = idata.rename_dims({"b": "b_new"}) - for group in original_groups: - xr_data = getattr(renamed_idata, group) - assert "b_new" not in list(xr_data.data_vars) - assert "b" in list(xr_data.data_vars) - - def test_stack_unstack(self): - datadict = { - "a": np.random.randn(100), - "b": np.random.randn(1, 100, 10), - "c": np.random.randn(1, 100, 3, 4), - } - coords = { - "c1": np.arange(3), - "c99": np.arange(4), - "b1": np.arange(10), - } - dims = {"c": ["c1", "c99"], "b": ["b1"]} - dataset = from_dict(posterior=datadict, coords=coords, dims=dims) - assert_identical( - dataset.stack(z=["c1", "c99"]).posterior, dataset.posterior.stack(z=["c1", "c99"]) - ) - assert_identical(dataset.stack(z=["c1", "c99"]).unstack().posterior, dataset.posterior) - assert_identical( - dataset.stack(z=["c1", "c99"]).unstack(dim="z").posterior, dataset.posterior - ) - - def test_stack_bool(self): - datadict = { - "a": np.random.randn(100), - "b": np.random.randn(1, 100, 10), - "c": np.random.randn(1, 100, 3, 4), - } - coords = { - "c1": np.arange(3), - "c99": np.arange(4), - "b1": np.arange(10), - } - dims = {"c": ["c1", "c99"], "b": ["b1"]} - dataset = from_dict(posterior=datadict, coords=coords, dims=dims) - assert_identical( - dataset.stack(z=["c1", "c99"], create_index=False).posterior, - dataset.posterior.stack(z=["c1", "c99"], create_index=False), - ) - - def test_to_dict(self, models): - idata = models.model_1 - test_data = from_dict(**idata.to_dict()) - assert test_data - for group in idata._groups_all: # pylint: disable=protected-access - xr_data = getattr(idata, group) - test_xr_data = getattr(test_data, group) - assert xr_data.equals(test_xr_data) - - def test_to_dict_warmup(self): - idata = create_data_random( - groups=[ - "posterior", - "sample_stats", - "observed_data", - "warmup_posterior", - "warmup_posterior_predictive", - ] - ) - test_data = from_dict(**idata.to_dict(), save_warmup=True) - assert test_data - for group in idata._groups_all: # pylint: disable=protected-access - xr_data = getattr(idata, group) - test_xr_data = getattr(test_data, group) - assert xr_data.equals(test_xr_data) - - @pytest.mark.parametrize( - "kwargs", - ( - { - "groups": "posterior", - "include_coords": True, - "include_index": True, - "index_origin": 0, - }, - { - "groups": ["posterior", "sample_stats"], - "include_coords": False, - "include_index": True, - "index_origin": 0, - }, - { - "groups": "posterior_groups", - "include_coords": True, - "include_index": False, - "index_origin": 1, - }, - ), - ) - def test_to_dataframe(self, kwargs): - idata = from_dict( - posterior={"a": np.random.randn(4, 100, 3, 4, 5), "b": np.random.randn(4, 100)}, - sample_stats={"a": np.random.randn(4, 100, 3, 4, 5), "b": np.random.randn(4, 100)}, - observed_data={"a": np.random.randn(3, 4, 5), "b": np.random.randn(4)}, - ) - test_data = idata.to_dataframe(**kwargs) - assert not test_data.empty - groups = kwargs.get("groups", idata._groups_all) # pylint: disable=protected-access - for group in idata._groups_all: # pylint: disable=protected-access - if "data" in group: - continue - assert test_data.shape == ( - (4 * 100, 3 * 4 * 5 + 1 + 2) - if groups == "posterior" - else (4 * 100, (3 * 4 * 5 + 1) * 2 + 2) - ) - if groups == "posterior": - if kwargs.get("include_coords", True) and kwargs.get("include_index", True): - assert any( - f"[{kwargs.get('index_origin', 0)}," in item[0] - for item in test_data.columns - if isinstance(item, tuple) - ) - if kwargs.get("include_coords", True): - assert any(isinstance(item, tuple) for item in test_data.columns) - else: - assert not any(isinstance(item, tuple) for item in test_data.columns) - else: - if not kwargs.get("include_index", True): - assert all( - item in test_data.columns - for item in (("posterior", "a", 1, 1, 1), ("posterior", "b")) - ) - assert all(item in test_data.columns for item in ("chain", "draw")) - - @pytest.mark.parametrize( - "kwargs", - ( - { - "var_names": ["parameter_1", "parameter_2", "variable_1", "variable_2"], - "filter_vars": None, - "var_results": [ - ("posterior", "parameter_1"), - ("posterior", "parameter_2"), - ("prior", "parameter_1"), - ("prior", "parameter_2"), - ("posterior", "variable_1"), - ("posterior", "variable_2"), - ], - }, - { - "var_names": "parameter", - "filter_vars": "like", - "groups": "posterior", - "var_results": ["parameter_1", "parameter_2"], - }, - { - "var_names": "~parameter", - "filter_vars": "like", - "groups": "posterior", - "var_results": ["variable_1", "variable_2", "custom_name"], - }, - { - "var_names": [".+_2$", "custom_name"], - "filter_vars": "regex", - "groups": "posterior", - "var_results": ["parameter_2", "variable_2", "custom_name"], - }, - { - "var_names": ["lp"], - "filter_vars": "regex", - "groups": "sample_stats", - "var_results": ["lp"], - }, - ), - ) - def test_to_dataframe_selection(self, kwargs): - results = kwargs.pop("var_results") - idata = from_dict( - posterior={ - "parameter_1": np.random.randn(4, 100), - "parameter_2": np.random.randn(4, 100), - "variable_1": np.random.randn(4, 100), - "variable_2": np.random.randn(4, 100), - "custom_name": np.random.randn(4, 100), - }, - prior={ - "parameter_1": np.random.randn(4, 100), - "parameter_2": np.random.randn(4, 100), - }, - sample_stats={ - "lp": np.random.randn(4, 100), - }, - ) - test_data = idata.to_dataframe(**kwargs) - assert not test_data.empty - assert set(test_data.columns).symmetric_difference(results) == set(["chain", "draw"]) - - def test_to_dataframe_bad(self): - idata = from_dict( - posterior={"a": np.random.randn(4, 100, 3, 4, 5), "b": np.random.randn(4, 100)}, - sample_stats={"a": np.random.randn(4, 100, 3, 4, 5), "b": np.random.randn(4, 100)}, - observed_data={"a": np.random.randn(3, 4, 5), "b": np.random.randn(4)}, - ) - with pytest.raises(TypeError): - idata.to_dataframe(index_origin=2) - - with pytest.raises(TypeError): - idata.to_dataframe(include_coords=False, include_index=False) - - with pytest.raises(TypeError): - idata.to_dataframe(groups=["observed_data"]) - - with pytest.raises(KeyError): - idata.to_dataframe(groups=["invalid_group"]) - - with pytest.raises(ValueError): - idata.to_dataframe(var_names=["c"]) - - @pytest.mark.parametrize("use", (None, "args", "kwargs")) - def test_map(self, use): - idata = load_arviz_data("centered_eight") - args = [] - kwargs = {} - if use is None: - fun = lambda x: x + 3 - elif use == "args": - fun = lambda x, a: x + a - args = [3] - else: - fun = lambda x, a: x + a - kwargs = {"a": 3} - groups = ("observed_data", "posterior_predictive") - idata_map = idata.map(fun, groups, args=args, **kwargs) - groups_map = idata_map._groups # pylint: disable=protected-access - assert groups_map == idata._groups # pylint: disable=protected-access - assert np.allclose( - idata_map.observed_data.obs, fun(idata.observed_data.obs, *args, **kwargs) - ) - assert np.allclose( - idata_map.posterior_predictive.obs, fun(idata.posterior_predictive.obs, *args, **kwargs) - ) - assert np.allclose(idata_map.posterior.mu, idata.posterior.mu) - - def test_repr_html(self): - """Test if the function _repr_html is generating html.""" - idata = load_arviz_data("centered_eight") - display_style = OPTIONS["display_style"] - xr.set_options(display_style="html") - html = idata._repr_html_() # pylint: disable=protected-access - - assert html is not None - assert " 0 - inference_data2 = from_netcdf(filepath) - fails = check_multiple_attrs(test_dict, inference_data2) - assert not fails - os.remove(filepath) - assert not os.path.exists(filepath) - - @pytest.mark.parametrize("base_group", ["/", "test_group", "group/subgroup"]) - @pytest.mark.parametrize("groups_arg", [False, True]) - @pytest.mark.parametrize("compress", [True, False]) - @pytest.mark.parametrize("engine", ["h5netcdf", "netcdf4"]) - def test_io_method(self, data, eight_schools_params, groups_arg, base_group, compress, engine): - # create InferenceData and check it has been properly created - inference_data = self.get_inference_data( # pylint: disable=W0612 - data, eight_schools_params - ) - if engine == "h5netcdf": - try: - import h5netcdf # pylint: disable=unused-import - except ImportError: - pytest.skip("h5netcdf not installed") - elif engine == "netcdf4": - try: - import netCDF4 # pylint: disable=unused-import - except ImportError: - pytest.skip("netcdf4 not installed") - test_dict = { - "posterior": ["eta", "theta", "mu", "tau"], - "posterior_predictive": ["eta", "theta", "mu", "tau"], - "sample_stats": ["eta", "theta", "mu", "tau"], - "prior": ["eta", "theta", "mu", "tau"], - "prior_predictive": ["eta", "theta", "mu", "tau"], - "sample_stats_prior": ["eta", "theta", "mu", "tau"], - "observed_data": ["J", "y", "sigma"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - # check filename does not exist and use to_netcdf method - here = os.path.dirname(os.path.abspath(__file__)) - data_directory = os.path.join(here, "..", "saved_models") - filepath = os.path.join(data_directory, "io_method_testfile.nc") - assert not os.path.exists(filepath) - # InferenceData method - inference_data.to_netcdf( - filepath, - groups=("posterior", "observed_data") if groups_arg else None, - compress=compress, - base_group=base_group, - ) - - # assert file has been saved correctly - assert os.path.exists(filepath) - assert os.path.getsize(filepath) > 0 - inference_data2 = InferenceData.from_netcdf(filepath, base_group=base_group) - if groups_arg: # if groups arg, update test dict to contain only saved groups - test_dict = { - "posterior": ["eta", "theta", "mu", "tau"], - "observed_data": ["J", "y", "sigma"], - } - assert not hasattr(inference_data2, "sample_stats") - fails = check_multiple_attrs(test_dict, inference_data2) - assert not fails - - os.remove(filepath) - assert not os.path.exists(filepath) - - def test_empty_inference_data_object(self): - inference_data = InferenceData() - here = os.path.dirname(os.path.abspath(__file__)) - data_directory = os.path.join(here, "..", "saved_models") - filepath = os.path.join(data_directory, "empty_test_file.nc") - assert not os.path.exists(filepath) - inference_data.to_netcdf(filepath) - assert os.path.exists(filepath) - os.remove(filepath) - assert not os.path.exists(filepath) - - -class TestJSON: - def test_json_converters(self, models): - idata = models.model_1 - - filepath = os.path.realpath("test.json") - idata.to_json(filepath) - - idata_copy = from_json(filepath) - for group in idata._groups_all: # pylint: disable=protected-access - xr_data = getattr(idata, group) - test_xr_data = getattr(idata_copy, group) - assert xr_data.equals(test_xr_data) - - os.remove(filepath) - assert not os.path.exists(filepath) - - -class TestDataTree: - def test_datatree(self): - idata = load_arviz_data("centered_eight") - dt = idata.to_datatree() - idata_back = from_datatree(dt) - for group, ds in idata.items(): - assert_identical(ds, idata_back[group]) - assert all(group in dt.children for group in idata.groups()) - - def test_datatree_attrs(self): - idata = load_arviz_data("centered_eight") - idata.attrs = {"not": "empty"} - assert idata.attrs - dt = idata.to_datatree() - idata_back = from_datatree(dt) - assert dt.attrs == idata.attrs - assert idata_back.attrs == idata.attrs - - -class TestConversions: - def test_id_conversion_idempotent(self): - stored = load_arviz_data("centered_eight") - inference_data = convert_to_inference_data(stored) - assert isinstance(inference_data, InferenceData) - assert set(inference_data.observed_data.obs.coords["school"].values) == { - "Hotchkiss", - "Mt. Hermon", - "Choate", - "Deerfield", - "Phillips Andover", - "St. Paul's", - "Lawrenceville", - "Phillips Exeter", - } - assert inference_data.posterior["theta"].dims == ("chain", "draw", "school") - - def test_dataset_conversion_idempotent(self): - inference_data = load_arviz_data("centered_eight") - data_set = convert_to_dataset(inference_data.posterior) - assert isinstance(data_set, xr.Dataset) - assert set(data_set.coords["school"].values) == { - "Hotchkiss", - "Mt. Hermon", - "Choate", - "Deerfield", - "Phillips Andover", - "St. Paul's", - "Lawrenceville", - "Phillips Exeter", - } - assert data_set["theta"].dims == ("chain", "draw", "school") - - def test_id_conversion_args(self): - stored = load_arviz_data("centered_eight") - IVIES = ["Yale", "Harvard", "MIT", "Princeton", "Cornell", "Dartmouth", "Columbia", "Brown"] - # test dictionary argument... - # I reverse engineered a dictionary out of the centered_eight - # data. That's what this block of code does. - d = stored.posterior.to_dict() - d = d["data_vars"] - test_dict = {} # type: Dict[str, np.ndarray] - for var_name in d: - data = d[var_name]["data"] - # this is a list of chains that is a list of samples... - chain_arrs = [] - for chain in data: # list of samples - chain_arrs.append(np.array(chain)) - data_arr = np.stack(chain_arrs) - test_dict[var_name] = data_arr - - inference_data = convert_to_inference_data( - test_dict, dims={"theta": ["Ivies"]}, coords={"Ivies": IVIES} - ) - - assert isinstance(inference_data, InferenceData) - assert set(inference_data.posterior.coords["Ivies"].values) == set(IVIES) - assert inference_data.posterior["theta"].dims == ("chain", "draw", "Ivies") - - -class TestDataArrayToDataset: - def test_1d_dataset(self): - size = 100 - dataset = convert_to_dataset( - xr.DataArray(np.random.randn(1, size), name="plot", dims=("chain", "draw")) - ) - assert len(dataset.data_vars) == 1 - assert "plot" in dataset.data_vars - assert dataset.chain.shape == (1,) - assert dataset.draw.shape == (size,) - - def test_nd_to_dataset(self): - shape = (1, 2, 3, 4, 5) - dataset = convert_to_dataset( - xr.DataArray(np.random.randn(*shape), dims=("chain", "draw", "dim_0", "dim_1", "dim_2")) - ) - var_name = list(dataset.data_vars)[0] - - assert len(dataset.data_vars) == 1 - assert dataset.chain.shape == shape[:1] - assert dataset.draw.shape == shape[1:2] - assert dataset[var_name].shape == shape - - def test_nd_to_inference_data(self): - shape = (1, 2, 3, 4, 5) - inference_data = convert_to_inference_data( - xr.DataArray( - np.random.randn(*shape), dims=("chain", "draw", "dim_0", "dim_1", "dim_2") - ), - group="prior", - ) - var_name = list(inference_data.prior.data_vars)[0] - - assert hasattr(inference_data, "prior") - assert len(inference_data.prior.data_vars) == 1 - assert inference_data.prior.chain.shape == shape[:1] - assert inference_data.prior.draw.shape == shape[1:2] - assert inference_data.prior[var_name].shape == shape - - -class TestExtractDataset: - def test_default(self): - idata = load_arviz_data("centered_eight") - post = extract(idata) - assert isinstance(post, xr.Dataset) - assert "sample" in post.dims - assert post.theta.size == (4 * 500 * 8) - - def test_seed(self): - idata = load_arviz_data("centered_eight") - post = extract(idata, rng=7) - post_pred = extract(idata, group="posterior_predictive", rng=7) - assert all(post.sample == post_pred.sample) - - def test_no_combine(self): - idata = load_arviz_data("centered_eight") - post = extract(idata, combined=False) - assert "sample" not in post.dims - assert post.sizes["chain"] == 4 - assert post.sizes["draw"] == 500 - - def test_var_name_group(self): - idata = load_arviz_data("centered_eight") - prior = extract(idata, group="prior", var_names="the", filter_vars="like") - assert {} == prior.attrs - assert "theta" in prior.name - - def test_keep_dataset(self): - idata = load_arviz_data("centered_eight") - prior = extract( - idata, group="prior", var_names="the", filter_vars="like", keep_dataset=True - ) - assert prior.attrs == idata.prior.attrs - assert "theta" in prior.data_vars - assert "mu" not in prior.data_vars - - def test_subset_samples(self): - idata = load_arviz_data("centered_eight") - post = extract(idata, num_samples=10) - assert post.sizes["sample"] == 10 - assert post.attrs == idata.posterior.attrs - - -def test_convert_to_inference_data_with_array_like(): - class ArrayLike: - def __init__(self, data): - self._data = np.asarray(data) - - def __array__(self): - return self._data - - array_like = ArrayLike(np.random.randn(4, 100)) - idata = convert_to_inference_data(array_like, group="posterior") - - assert hasattr(idata, "posterior") - assert "x" in idata.posterior.data_vars - assert idata.posterior["x"].shape == (4, 100) diff --git a/arviz/tests/base_tests/test_data_zarr.py b/arviz/tests/base_tests/test_data_zarr.py deleted file mode 100644 index c93b0253dd..0000000000 --- a/arviz/tests/base_tests/test_data_zarr.py +++ /dev/null @@ -1,143 +0,0 @@ -# pylint: disable=redefined-outer-name -import os -from collections.abc import MutableMapping -from tempfile import TemporaryDirectory -from typing import Mapping - -import numpy as np -import pytest - -from ... import InferenceData, from_dict -from ... import to_zarr, from_zarr - -from ..helpers import ( # pylint: disable=unused-import - chains, - check_multiple_attrs, - draws, - eight_schools_params, - importorskip, -) - -zarr = importorskip("zarr") # pylint: disable=invalid-name - - -class TestDataZarr: - @pytest.fixture(scope="class") - def data(self, draws, chains): - class Data: - # fake 8-school output - shapes: Mapping[str, list] = {"mu": [], "tau": [], "eta": [8], "theta": [8]} - obj = {key: np.random.randn(chains, draws, *shape) for key, shape in shapes.items()} - - return Data - - def get_inference_data(self, data, eight_schools_params, fill_attrs): - return from_dict( - posterior=data.obj, - posterior_predictive=data.obj, - sample_stats=data.obj, - prior=data.obj, - prior_predictive=data.obj, - sample_stats_prior=data.obj, - observed_data=eight_schools_params, - coords={"school": np.arange(8)}, - dims={"theta": ["school"], "eta": ["school"]}, - attrs={"test": 1} if fill_attrs else None, - ) - - @pytest.mark.parametrize("store", [0, 1, 2]) - @pytest.mark.parametrize("fill_attrs", [True, False]) - def test_io_method(self, data, eight_schools_params, store, fill_attrs): - # create InferenceData and check it has been properly created - inference_data = self.get_inference_data( # pylint: disable=W0612 - data, eight_schools_params, fill_attrs - ) - test_dict = { - "posterior": ["eta", "theta", "mu", "tau"], - "posterior_predictive": ["eta", "theta", "mu", "tau"], - "sample_stats": ["eta", "theta", "mu", "tau"], - "prior": ["eta", "theta", "mu", "tau"], - "prior_predictive": ["eta", "theta", "mu", "tau"], - "sample_stats_prior": ["eta", "theta", "mu", "tau"], - "observed_data": ["J", "y", "sigma"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - if fill_attrs: - assert inference_data.attrs["test"] == 1 - else: - assert "test" not in inference_data.attrs - - # check filename does not exist and use to_zarr method - with TemporaryDirectory(prefix="arviz_tests_") as tmp_dir: - filepath = os.path.join(tmp_dir, "zarr") - - # InferenceData method - if store == 0: - # Tempdir - store = inference_data.to_zarr(store=None) - assert isinstance(store, MutableMapping) - elif store == 1: - inference_data.to_zarr(store=filepath) - # assert file has been saved correctly - assert os.path.exists(filepath) - assert os.path.getsize(filepath) > 0 - elif store == 2: - store = zarr.storage.DirectoryStore(filepath) - inference_data.to_zarr(store=store) - # assert file has been saved correctly - assert os.path.exists(filepath) - assert os.path.getsize(filepath) > 0 - - if isinstance(store, MutableMapping): - inference_data2 = InferenceData.from_zarr(store) - else: - inference_data2 = InferenceData.from_zarr(filepath) - - # Everything in dict still available in inference_data2 ? - fails = check_multiple_attrs(test_dict, inference_data2) - assert not fails - - if fill_attrs: - assert inference_data2.attrs["test"] == 1 - else: - assert "test" not in inference_data2.attrs - - def test_io_function(self, data, eight_schools_params): - # create InferenceData and check it has been properly created - inference_data = self.get_inference_data( # pylint: disable=W0612 - data, - eight_schools_params, - fill_attrs=True, - ) - test_dict = { - "posterior": ["eta", "theta", "mu", "tau"], - "posterior_predictive": ["eta", "theta", "mu", "tau"], - "sample_stats": ["eta", "theta", "mu", "tau"], - "prior": ["eta", "theta", "mu", "tau"], - "prior_predictive": ["eta", "theta", "mu", "tau"], - "sample_stats_prior": ["eta", "theta", "mu", "tau"], - "observed_data": ["J", "y", "sigma"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - assert inference_data.attrs["test"] == 1 - - # check filename does not exist and use to_zarr method - with TemporaryDirectory(prefix="arviz_tests_") as tmp_dir: - filepath = os.path.join(tmp_dir, "zarr") - - to_zarr(inference_data, store=filepath) - # assert file has been saved correctly - assert os.path.exists(filepath) - assert os.path.getsize(filepath) > 0 - - inference_data2 = from_zarr(filepath) - - # Everything in dict still available in inference_data2 ? - fails = check_multiple_attrs(test_dict, inference_data2) - assert not fails - - assert inference_data2.attrs["test"] == 1 diff --git a/arviz/tests/base_tests/test_diagnostics.py b/arviz/tests/base_tests/test_diagnostics.py deleted file mode 100644 index 69e2946a86..0000000000 --- a/arviz/tests/base_tests/test_diagnostics.py +++ /dev/null @@ -1,511 +0,0 @@ -"""Test Diagnostic methods""" - -# pylint: disable=redefined-outer-name, no-member, too-many-public-methods -import os - -import numpy as np -import packaging -import pandas as pd -import pytest -import scipy -from numpy.testing import assert_almost_equal - -from ...data import from_cmdstan, load_arviz_data -from ...rcparams import rcParams -from ...sel_utils import xarray_var_iter -from ...stats import bfmi, ess, mcse, rhat -from ...stats.diagnostics import ( - _ess, - _ess_quantile, - _mc_error, - _mcse_quantile, - _multichain_statistics, - _rhat, - _rhat_rank, - _split_chains, - _z_scale, - ks_summary, -) - -# For tests only, recommended value should be closer to 1.01-1.05 -# See discussion in https://github.com/stan-dev/rstan/pull/618 -GOOD_RHAT = 1.1 - -rcParams["data.load"] = "eager" - - -@pytest.fixture(scope="session") -def data(): - centered_eight = load_arviz_data("centered_eight") - return centered_eight.posterior - - -class TestDiagnostics: - def test_bfmi(self): - energy = np.array([1, 2, 3, 4]) - assert_almost_equal(bfmi(energy), 0.6) - - def test_bfmi_dataset(self): - data = load_arviz_data("centered_eight") - assert bfmi(data).all() - - def test_bfmi_dataset_bad(self): - data = load_arviz_data("centered_eight") - del data.sample_stats["energy"] - with pytest.raises(TypeError): - bfmi(data) - - def test_bfmi_correctly_transposed(self): - data = load_arviz_data("centered_eight") - vals1 = bfmi(data) - data.sample_stats["energy"] = data.sample_stats["energy"].T - vals2 = bfmi(data) - assert_almost_equal(vals1, vals2) - - def test_deterministic(self): - """ - Test algorithm against posterior (R) convergence functions. - - posterior: https://github.com/stan-dev/posterior - R code: - ``` - library("posterior") - data2 <- read.csv("blocker.2.csv", comment.char = "#") - data1 <- read.csv("blocker.1.csv", comment.char = "#") - output <- matrix(ncol=17, nrow=length(names(data1))-4) - j = 0 - for (i in 1:length(names(data1))) { - name = names(data1)[i] - ary = matrix(c(data1[,name], data2[,name]), 1000, 2) - if (!endsWith(name, "__")) - j <- j + 1 - output[j,] <- c( - posterior::rhat(ary), - posterior::rhat_basic(ary, FALSE), - posterior::ess_bulk(ary), - posterior::ess_tail(ary), - posterior::ess_mean(ary), - posterior::ess_sd(ary), - posterior::ess_median(ary), - posterior::ess_basic(ary, FALSE), - posterior::ess_quantile(ary, 0.01), - posterior::ess_quantile(ary, 0.1), - posterior::ess_quantile(ary, 0.3), - posterior::mcse_mean(ary), - posterior::mcse_sd(ary), - posterior::mcse_median(ary), - posterior::mcse_quantile(ary, prob=0.01), - posterior::mcse_quantile(ary, prob=0.1), - posterior::mcse_quantile(ary, prob=0.3)) - } - df = data.frame(output, row.names = names(data1)[5:ncol(data1)]) - colnames(df) <- c("rhat_rank", - "rhat_raw", - "ess_bulk", - "ess_tail", - "ess_mean", - "ess_sd", - "ess_median", - "ess_raw", - "ess_quantile01", - "ess_quantile10", - "ess_quantile30", - "mcse_mean", - "mcse_sd", - "mcse_median", - "mcse_quantile01", - "mcse_quantile10", - "mcse_quantile30") - write.csv(df, "reference_posterior.csv") - ``` - Reference file: - - Created: 2024-12-20 - System: Ubuntu 24.04.1 LTS - R version 4.4.2 (2024-10-31) - posterior version from https://github.com/stan-dev/posterior/pull/388 - (after release 1.6.0 but before the fixes in the PR were released). - """ - # download input files - here = os.path.dirname(os.path.abspath(__file__)) - data_directory = os.path.join(here, "..", "saved_models") - path = os.path.join(data_directory, "stan_diagnostics", "blocker.[0-9].csv") - posterior = from_cmdstan(path) - reference_path = os.path.join(data_directory, "stan_diagnostics", "reference_posterior.csv") - reference = ( - pd.read_csv(reference_path, index_col=0, float_precision="high") - .sort_index(axis=1) - .sort_index(axis=0) - ) - # test arviz functions - funcs = { - "rhat_rank": lambda x: rhat(x, method="rank"), - "rhat_raw": lambda x: rhat(x, method="identity"), - "ess_bulk": lambda x: ess(x, method="bulk"), - "ess_tail": lambda x: ess(x, method="tail"), - "ess_mean": lambda x: ess(x, method="mean"), - "ess_sd": lambda x: ess(x, method="sd"), - "ess_median": lambda x: ess(x, method="median"), - "ess_raw": lambda x: ess(x, method="identity"), - "ess_quantile01": lambda x: ess(x, method="quantile", prob=0.01), - "ess_quantile10": lambda x: ess(x, method="quantile", prob=0.1), - "ess_quantile30": lambda x: ess(x, method="quantile", prob=0.3), - "mcse_mean": lambda x: mcse(x, method="mean"), - "mcse_sd": lambda x: mcse(x, method="sd"), - "mcse_median": lambda x: mcse(x, method="median"), - "mcse_quantile01": lambda x: mcse(x, method="quantile", prob=0.01), - "mcse_quantile10": lambda x: mcse(x, method="quantile", prob=0.1), - "mcse_quantile30": lambda x: mcse(x, method="quantile", prob=0.3), - } - results = {} - for key, coord_dict, _, vals in xarray_var_iter(posterior.posterior, combined=True): - if coord_dict: - key = f"{key}.{list(coord_dict.values())[0] + 1}" - results[key] = {func_name: func(vals) for func_name, func in funcs.items()} - arviz_data = pd.DataFrame.from_dict(results).T.sort_index(axis=1).sort_index(axis=0) - - # check column names - assert set(arviz_data.columns) == set(reference.columns) - - # check parameter names - assert set(arviz_data.index) == set(reference.index) - - # show print with pytests '-s' tag - np.set_printoptions(16) - print(abs(reference - arviz_data).max()) - - # test absolute accuracy - assert (abs(reference - arviz_data).values < 1e-8).all(None) - - @pytest.mark.parametrize("method", ("rank", "split", "folded", "z_scale", "identity")) - @pytest.mark.parametrize("var_names", (None, "mu", ["mu", "tau"])) - def test_rhat(self, data, var_names, method): - """Confirm R-hat statistic is close to 1 for a large - number of samples. Also checks the correct shape""" - rhat_data = rhat(data, var_names=var_names, method=method) - for r_hat in rhat_data.data_vars.values(): - assert ((1 / GOOD_RHAT < r_hat.values) | (r_hat.values < GOOD_RHAT)).all() - - # In None case check that all varnames from rhat_data match input data - if var_names is None: - assert list(rhat_data.data_vars) == list(data.data_vars) - - @pytest.mark.parametrize("method", ("rank", "split", "folded", "z_scale", "identity")) - def test_rhat_nan(self, method): - """Confirm R-hat statistic returns nan.""" - data = np.random.randn(4, 100) - data[0, 0] = np.nan # pylint: disable=unsupported-assignment-operation - rhat_data = rhat(data, method=method) - assert np.isnan(rhat_data) - if method == "rank": - assert np.isnan(_rhat(rhat_data)) - - @pytest.mark.parametrize("method", ("rank", "split", "folded", "z_scale", "identity")) - @pytest.mark.parametrize("chain", (None, 1, 2)) - @pytest.mark.parametrize("draw", (1, 2, 3, 4)) - def test_rhat_shape(self, method, chain, draw): - """Confirm R-hat statistic returns nan.""" - data = np.random.randn(draw) if chain is None else np.random.randn(chain, draw) - if (chain in (None, 1)) or (draw < 4): - rhat_data = rhat(data, method=method) - assert np.isnan(rhat_data) - else: - rhat_data = rhat(data, method=method) - assert not np.isnan(rhat_data) - - def test_rhat_bad(self): - """Confirm rank normalized Split R-hat statistic is - far from 1 for a small number of samples.""" - r_hat = rhat(np.vstack([20 + np.random.randn(1, 100), np.random.randn(1, 100)])) - assert 1 / GOOD_RHAT > r_hat or GOOD_RHAT < r_hat - - def test_rhat_bad_method(self): - with pytest.raises(TypeError): - rhat(np.random.randn(2, 300), method="wrong_method") - - def test_rhat_ndarray(self): - with pytest.raises(TypeError): - rhat(np.random.randn(2, 300, 10)) - - @pytest.mark.parametrize( - "method", - ( - "bulk", - "tail", - "quantile", - "local", - "mean", - "sd", - "median", - "mad", - "z_scale", - "folded", - "identity", - ), - ) - @pytest.mark.parametrize("relative", (True, False)) - def test_effective_sample_size_array(self, data, method, relative): - n_low = 100 / 400 if relative else 100 - n_high = 800 / 400 if relative else 800 - if method in ("quantile", "tail"): - ess_hat = ess(data, method=method, prob=0.34, relative=relative) - if method == "tail": - assert ess_hat > n_low - assert ess_hat < n_high - ess_hat = ess(np.random.randn(4, 100), method=method, relative=relative) - assert ess_hat > n_low - assert ess_hat < n_high - ess_hat = ess( - np.random.randn(4, 100), method=method, prob=(0.2, 0.8), relative=relative - ) - elif method == "local": - ess_hat = ess( - np.random.randn(4, 100), method=method, prob=(0.2, 0.3), relative=relative - ) - else: - ess_hat = ess(np.random.randn(4, 100), method=method, relative=relative) - assert ess_hat > n_low - assert ess_hat < n_high - - @pytest.mark.parametrize( - "method", - ( - "bulk", - "tail", - "quantile", - "local", - "mean", - "sd", - "median", - "mad", - "z_scale", - "folded", - "identity", - ), - ) - @pytest.mark.parametrize("relative", (True, False)) - @pytest.mark.parametrize("chain", (None, 1, 2)) - @pytest.mark.parametrize("draw", (1, 2, 3, 4)) - @pytest.mark.parametrize("use_nan", (True, False)) - def test_effective_sample_size_nan(self, method, relative, chain, draw, use_nan): - data = np.random.randn(draw) if chain is None else np.random.randn(chain, draw) - if use_nan: - data[0] = np.nan - if method in ("quantile", "tail"): - ess_value = ess(data, method=method, prob=0.34, relative=relative) - elif method == "local": - ess_value = ess(data, method=method, prob=(0.2, 0.3), relative=relative) - else: - ess_value = ess(data, method=method, relative=relative) - if (draw < 4) or use_nan: - assert np.isnan(ess_value) - else: - assert not np.isnan(ess_value) - # test following only once tests are run - if (method == "bulk") and (not relative) and (chain is None) and (draw == 4): - if use_nan: - assert np.isnan(_ess(data)) - else: - assert not np.isnan(_ess(data)) - - @pytest.mark.parametrize("relative", (True, False)) - def test_effective_sample_size_missing_prob(self, relative): - with pytest.raises(TypeError): - ess(np.random.randn(4, 100), method="quantile", relative=relative) - with pytest.raises(TypeError): - _ess_quantile(np.random.randn(4, 100), prob=None, relative=relative) - with pytest.raises(TypeError): - ess(np.random.randn(4, 100), method="local", relative=relative) - - @pytest.mark.parametrize("relative", (True, False)) - def test_effective_sample_size_too_many_probs(self, relative): - with pytest.raises(ValueError): - ess(np.random.randn(4, 100), method="local", prob=[0.1, 0.2, 0.9], relative=relative) - - def test_effective_sample_size_constant(self): - assert ess(np.ones((4, 100))) == 400 - - def test_effective_sample_size_bad_method(self): - with pytest.raises(TypeError): - ess(np.random.randn(4, 100), method="wrong_method") - - def test_effective_sample_size_ndarray(self): - with pytest.raises(TypeError): - ess(np.random.randn(2, 300, 10)) - - @pytest.mark.parametrize( - "method", - ( - "bulk", - "tail", - "quantile", - "local", - "mean", - "sd", - "median", - "mad", - "z_scale", - "folded", - "identity", - ), - ) - @pytest.mark.parametrize("relative", (True, False)) - @pytest.mark.parametrize("var_names", (None, "mu", ["mu", "tau"])) - def test_effective_sample_size_dataset(self, data, method, var_names, relative): - n_low = 100 / (data.chain.size * data.draw.size) if relative else 100 - if method in ("quantile", "tail"): - ess_hat = ess(data, var_names=var_names, method=method, prob=0.34, relative=relative) - elif method == "local": - ess_hat = ess( - data, var_names=var_names, method=method, prob=(0.2, 0.3), relative=relative - ) - else: - ess_hat = ess(data, var_names=var_names, method=method, relative=relative) - assert np.all(ess_hat.mu.values > n_low) # This might break if the data is regenerated - - @pytest.mark.parametrize("mcse_method", ("mean", "sd", "median", "quantile")) - def test_mcse_array(self, mcse_method): - if mcse_method == "quantile": - mcse_hat = mcse(np.random.randn(4, 100), method=mcse_method, prob=0.34) - else: - mcse_hat = mcse(np.random.randn(4, 100), method=mcse_method) - assert mcse_hat - - def test_mcse_ndarray(self): - with pytest.raises(TypeError): - mcse(np.random.randn(2, 300, 10)) - - @pytest.mark.parametrize("mcse_method", ("mean", "sd", "median", "quantile")) - @pytest.mark.parametrize("var_names", (None, "mu", ["mu", "tau"])) - def test_mcse_dataset(self, data, mcse_method, var_names): - if mcse_method == "quantile": - mcse_hat = mcse(data, var_names=var_names, method=mcse_method, prob=0.34) - else: - mcse_hat = mcse(data, var_names=var_names, method=mcse_method) - assert mcse_hat # This might break if the data is regenerated - - @pytest.mark.parametrize("mcse_method", ("mean", "sd", "median", "quantile")) - @pytest.mark.parametrize("chain", (None, 1, 2)) - @pytest.mark.parametrize("draw", (1, 2, 3, 4)) - @pytest.mark.parametrize("use_nan", (True, False)) - def test_mcse_nan(self, mcse_method, chain, draw, use_nan): - data = np.random.randn(draw) if chain is None else np.random.randn(chain, draw) - if use_nan: - data[0] = np.nan - if mcse_method == "quantile": - mcse_hat = mcse(data, method=mcse_method, prob=0.34) - else: - mcse_hat = mcse(data, method=mcse_method) - if draw < 4 or use_nan: - assert np.isnan(mcse_hat) - else: - assert not np.isnan(mcse_hat) - - @pytest.mark.parametrize("method", ("wrong_method", "quantile")) - def test_mcse_bad_method(self, data, method): - with pytest.raises(TypeError): - mcse(data, method=method, prob=None) - - @pytest.mark.parametrize("draws", (3, 4, 100)) - @pytest.mark.parametrize("chains", (None, 1, 2)) - def test_multichain_summary_array(self, draws, chains): - """Test multichain statistics against individual functions.""" - if chains is None: - ary = np.random.randn(draws) - else: - ary = np.random.randn(chains, draws) - - mcse_mean_hat = mcse(ary, method="mean") - mcse_sd_hat = mcse(ary, method="sd") - ess_bulk_hat = ess(ary, method="bulk") - ess_tail_hat = ess(ary, method="tail") - rhat_hat = _rhat_rank(ary) - ( - mcse_mean_hat_, - mcse_sd_hat_, - ess_bulk_hat_, - ess_tail_hat_, - rhat_hat_, - ) = _multichain_statistics(ary) - if draws == 3: - assert np.isnan( - ( - mcse_mean_hat, - mcse_sd_hat, - ess_bulk_hat, - ess_tail_hat, - rhat_hat, - ) - ).all() - assert np.isnan( - ( - mcse_mean_hat_, - mcse_sd_hat_, - ess_bulk_hat_, - ess_tail_hat_, - rhat_hat_, - ) - ).all() - else: - assert_almost_equal(mcse_mean_hat, mcse_mean_hat_) - assert_almost_equal(mcse_sd_hat, mcse_sd_hat_) - assert_almost_equal(ess_bulk_hat, ess_bulk_hat_) - assert_almost_equal(ess_tail_hat, ess_tail_hat_) - if chains in (None, 1): - assert np.isnan(rhat_hat) - assert np.isnan(rhat_hat_) - else: - assert round(rhat_hat, 3) == round(rhat_hat_, 3) - - def test_ks_summary(self): - """Instead of psislw data, this test uses fake data.""" - pareto_tail_indices = np.array([0.1, 0.1, 0.1, 0.2, 0.2, 0.2, 0.2]) - with pytest.warns(UserWarning): - summary = ks_summary(pareto_tail_indices) - assert summary is not None - pareto_tail_indices2 = np.array([0.1, 0.1, 0.1, 0.2, 0.2, 0.2, 0.6]) - with pytest.warns(UserWarning): - summary2 = ks_summary(pareto_tail_indices2) - assert summary2 is not None - - @pytest.mark.parametrize("size", [100, 101]) - @pytest.mark.parametrize("batches", [1, 2, 3, 5, 7]) - @pytest.mark.parametrize("ndim", [1, 2, 3]) - @pytest.mark.parametrize("circular", [False, True]) - def test_mc_error(self, size, batches, ndim, circular): - x = np.random.randn(size, ndim).squeeze() # pylint: disable=no-member - assert _mc_error(x, batches=batches, circular=circular) is not None - - @pytest.mark.parametrize("size", [100, 101]) - @pytest.mark.parametrize("ndim", [1, 2, 3]) - def test_mc_error_nan(self, size, ndim): - x = np.random.randn(size, ndim).squeeze() # pylint: disable=no-member - x[0] = np.nan - if ndim != 1: - assert np.isnan(_mc_error(x)).all() - else: - assert np.isnan(_mc_error(x)) - - @pytest.mark.parametrize("func", ("_mcse_quantile", "_z_scale")) - def test_nan_behaviour(self, func): - data = np.random.randn(100, 4) - data[0, 0] = np.nan # pylint: disable=unsupported-assignment-operation - if func == "_mcse_quantile": - assert np.isnan(_mcse_quantile(data, 0.5)).all(None) - elif packaging.version.parse(scipy.__version__) < packaging.version.parse("1.10.0.dev0"): - assert not np.isnan(_z_scale(data)).all(None) - assert not np.isnan(_z_scale(data)).any(None) - else: - assert np.isnan(_z_scale(data)).sum() == 1 - - @pytest.mark.parametrize("chains", (None, 1, 2, 3)) - @pytest.mark.parametrize("draws", (2, 3, 100, 101)) - def test_split_chain_dims(self, chains, draws): - if chains is None: - data = np.random.randn(draws) - else: - data = np.random.randn(chains, draws) - split_data = _split_chains(data) - if chains is None: - chains = 1 - assert split_data.shape == (chains * 2, draws // 2) diff --git a/arviz/tests/base_tests/test_diagnostics_numba.py b/arviz/tests/base_tests/test_diagnostics_numba.py deleted file mode 100644 index d775eac345..0000000000 --- a/arviz/tests/base_tests/test_diagnostics_numba.py +++ /dev/null @@ -1,87 +0,0 @@ -"""Test Diagnostic methods""" - -# pylint: disable=redefined-outer-name, no-member, too-many-public-methods -import numpy as np -import pytest - -from ...data import load_arviz_data -from ...rcparams import rcParams -from ...stats import bfmi, mcse, rhat -from ...stats.diagnostics import _mc_error, ks_summary -from ...utils import Numba -from ..helpers import importorskip -from .test_diagnostics import data # pylint: disable=unused-import - -importorskip("numba") - -rcParams["data.load"] = "eager" - - -def test_numba_bfmi(): - """Numba test for bfmi.""" - state = Numba.numba_flag - school = load_arviz_data("centered_eight") - data_md = np.random.rand(100, 100, 10) - Numba.disable_numba() - non_numba = bfmi(school.posterior["mu"].values) - non_numba_md = bfmi(data_md) - Numba.enable_numba() - with_numba = bfmi(school.posterior["mu"].values) - with_numba_md = bfmi(data_md) - assert np.allclose(non_numba_md, with_numba_md) - assert np.allclose(with_numba, non_numba) - assert state == Numba.numba_flag - - -@pytest.mark.parametrize("method", ("rank", "split", "folded", "z_scale", "identity")) -def test_numba_rhat(method): - """Numba test for mcse.""" - state = Numba.numba_flag - school = np.random.rand(100, 100) - Numba.disable_numba() - non_numba = rhat(school, method=method) - Numba.enable_numba() - with_numba = rhat(school, method=method) - assert np.allclose(with_numba, non_numba) - assert Numba.numba_flag == state - - -@pytest.mark.parametrize("method", ("mean", "sd", "quantile")) -def test_numba_mcse(method, prob=None): - """Numba test for mcse.""" - state = Numba.numba_flag - school = np.random.rand(100, 100) - if method == "quantile": - prob = 0.80 - Numba.disable_numba() - non_numba = mcse(school, method=method, prob=prob) - Numba.enable_numba() - with_numba = mcse(school, method=method, prob=prob) - assert np.allclose(with_numba, non_numba) - assert Numba.numba_flag == state - - -def test_ks_summary_numba(): - """Numba test for ks_summary.""" - state = Numba.numba_flag - data = np.random.randn(100, 100) - Numba.disable_numba() - non_numba = (ks_summary(data)["Count"]).values - Numba.enable_numba() - with_numba = (ks_summary(data)["Count"]).values - assert np.allclose(non_numba, with_numba) - assert Numba.numba_flag == state - - -@pytest.mark.parametrize("batches", (1, 20)) -@pytest.mark.parametrize("circular", (True, False)) -def test_mcse_error_numba(batches, circular): - """Numba test for mcse_error.""" - data = np.random.randn(100, 100) - state = Numba.numba_flag - Numba.disable_numba() - non_numba = _mc_error(data, batches=batches, circular=circular) - Numba.enable_numba() - with_numba = _mc_error(data, batches=batches, circular=circular) - assert np.allclose(non_numba, with_numba) - assert state == Numba.numba_flag diff --git a/arviz/tests/base_tests/test_helpers.py b/arviz/tests/base_tests/test_helpers.py deleted file mode 100644 index c0bbf43379..0000000000 --- a/arviz/tests/base_tests/test_helpers.py +++ /dev/null @@ -1,18 +0,0 @@ -import pytest -from _pytest.outcomes import Skipped - -from ..helpers import importorskip - - -def test_importorskip_local(monkeypatch): - """Test ``importorskip`` run on local machine with non-existent module, which should skip.""" - monkeypatch.delenv("ARVIZ_REQUIRE_ALL_DEPS", raising=False) - with pytest.raises(Skipped): - importorskip("non-existent-function") - - -def test_importorskip_ci(monkeypatch): - """Test ``importorskip`` run on CI machine with non-existent module, which should fail.""" - monkeypatch.setenv("ARVIZ_REQUIRE_ALL_DEPS", 1) - with pytest.raises(ModuleNotFoundError): - importorskip("non-existent-function") diff --git a/arviz/tests/base_tests/test_labels.py b/arviz/tests/base_tests/test_labels.py deleted file mode 100644 index 40d2986ff0..0000000000 --- a/arviz/tests/base_tests/test_labels.py +++ /dev/null @@ -1,69 +0,0 @@ -"""Tests for labeller classes.""" - -import pytest - -from ...labels import ( - BaseLabeller, - DimCoordLabeller, - DimIdxLabeller, - IdxLabeller, - MapLabeller, - NoModelLabeller, - NoVarLabeller, -) - - -class Data: - def __init__(self): - self.sel = { - "instrument": "a", - "experiment": 3, - } - self.isel = { - "instrument": 0, - "experiment": 4, - } - - -@pytest.fixture -def multidim_sels(): - return Data() - - -class Labellers: - def __init__(self): - self.labellers = { - "BaseLabeller": BaseLabeller(), - "DimCoordLabeller": DimCoordLabeller(), - "IdxLabeller": IdxLabeller(), - "DimIdxLabeller": DimIdxLabeller(), - "MapLabeller": MapLabeller(), - "NoVarLabeller": NoVarLabeller(), - "NoModelLabeller": NoModelLabeller(), - } - - -@pytest.fixture -def labellers(): - return Labellers() - - -@pytest.mark.parametrize( - "args", - [ - ("BaseLabeller", "theta\na, 3"), - ("DimCoordLabeller", "theta\ninstrument: a, experiment: 3"), - ("IdxLabeller", "theta\n0, 4"), - ("DimIdxLabeller", "theta\ninstrument#0, experiment#4"), - ("MapLabeller", "theta\na, 3"), - ("NoVarLabeller", "a, 3"), - ("NoModelLabeller", "theta\na, 3"), - ], -) -class TestLabellers: - # pylint: disable=redefined-outer-name - def test_make_label_vert(self, args, multidim_sels, labellers): - name, expected_label = args - labeller_arg = labellers.labellers[name] - label = labeller_arg.make_label_vert("theta", multidim_sels.sel, multidim_sels.isel) - assert label == expected_label diff --git a/arviz/tests/base_tests/test_plot_utils.py b/arviz/tests/base_tests/test_plot_utils.py deleted file mode 100644 index 471bd91f27..0000000000 --- a/arviz/tests/base_tests/test_plot_utils.py +++ /dev/null @@ -1,342 +0,0 @@ -# pylint: disable=redefined-outer-name -import importlib -import os - -import numpy as np -import pytest -import xarray as xr - -from ...data import from_dict -from ...plots.backends.matplotlib import dealiase_sel_kwargs, matplotlib_kwarg_dealiaser -from ...plots.plot_utils import ( - compute_ranks, - filter_plotters_list, - format_sig_figs, - get_plotting_function, - make_2d, - set_bokeh_circular_ticks_labels, - vectorized_to_hex, -) -from ...rcparams import rc_context -from ...sel_utils import xarray_sel_iter, xarray_to_ndarray -from ...stats.density_utils import get_bins -from ...utils import get_coords - -# Check if Bokeh is installed -bokeh_installed = importlib.util.find_spec("bokeh") is not None # pylint: disable=invalid-name -skip_tests = (not bokeh_installed) and ("ARVIZ_REQUIRE_ALL_DEPS" not in os.environ) - - -@pytest.mark.parametrize( - "value, default, expected", - [ - (123.456, 2, 3), - (-123.456, 3, 3), - (-123.456, 4, 4), - (12.3456, 2, 2), - (1.23456, 2, 2), - (0.123456, 2, 2), - ], -) -def test_format_sig_figs(value, default, expected): - assert format_sig_figs(value, default=default) == expected - - -@pytest.fixture(scope="function") -def sample_dataset(): - mu = np.arange(1, 7).reshape(2, 3) - tau = np.arange(7, 13).reshape(2, 3) - - chain = [0, 1] - draws = [0, 1, 2] - - data = xr.Dataset( - {"mu": (["chain", "draw"], mu), "tau": (["chain", "draw"], tau)}, - coords={"draw": draws, "chain": chain}, - ) - - return mu, tau, data - - -def test_make_2d(): - """Touches code that is hard to reach.""" - assert len(make_2d(np.array([2, 3, 4])).shape) == 2 - - -def test_get_bins(): - """Touches code that is hard to reach.""" - assert get_bins(np.array([1, 2, 3, 100])) is not None - - -def test_dataset_to_numpy_not_combined(sample_dataset): # pylint: disable=invalid-name - mu, tau, data = sample_dataset - var_names, data = xarray_to_ndarray(data, combined=False) - - # 2 vars x 2 chains - assert len(var_names) == 4 - mu_tau = np.concatenate((mu, tau), axis=0) - tau_mu = np.concatenate((tau, mu), axis=0) - deqmt = data == mu_tau - deqtm = data == tau_mu - assert deqmt.all() or deqtm.all() - - -def test_dataset_to_numpy_combined(sample_dataset): - mu, tau, data = sample_dataset - var_names, data = xarray_to_ndarray(data, combined=True) - - assert len(var_names) == 2 - assert (data[var_names.index("mu")] == mu.reshape(1, 6)).all() - assert (data[var_names.index("tau")] == tau.reshape(1, 6)).all() - - -def test_xarray_sel_iter_ordering(): - """Assert that coordinate names stay the provided order""" - coords = list("dcba") - data = from_dict( # pylint: disable=no-member - {"x": np.random.randn(1, 100, len(coords))}, - coords={"in_order": coords}, - dims={"x": ["in_order"]}, - ).posterior - - coord_names = [sel["in_order"] for _, sel, _ in xarray_sel_iter(data)] - assert coord_names == coords - - -def test_xarray_sel_iter_ordering_combined(sample_dataset): # pylint: disable=invalid-name - """Assert that varname order stays consistent when chains are combined""" - _, _, data = sample_dataset - var_names = [var for (var, _, _) in xarray_sel_iter(data, var_names=None, combined=True)] - assert set(var_names) == {"mu", "tau"} - - -def test_xarray_sel_iter_ordering_uncombined(sample_dataset): # pylint: disable=invalid-name - """Assert that varname order stays consistent when chains are not combined""" - _, _, data = sample_dataset - var_names = [(var, selection) for (var, selection, _) in xarray_sel_iter(data, var_names=None)] - - assert len(var_names) == 4 - for var_name in var_names: - assert var_name in [ - ("mu", {"chain": 0}), - ("mu", {"chain": 1}), - ("tau", {"chain": 0}), - ("tau", {"chain": 1}), - ] - - -def test_xarray_sel_data_array(sample_dataset): # pylint: disable=invalid-name - """Assert that varname order stays consistent when chains are combined - - Touches code that is hard to reach. - """ - _, _, data = sample_dataset - var_names = [var for (var, _, _) in xarray_sel_iter(data.mu, var_names=None, combined=True)] - assert set(var_names) == {"mu"} - - -class TestCoordsExceptions: - # test coord exceptions on datasets - def test_invalid_coord_name(self, sample_dataset): # pylint: disable=invalid-name - """Assert that nicer exception appears when user enters wrong coords name""" - _, _, data = sample_dataset - coords = {"NOT_A_COORD_NAME": [1]} - - with pytest.raises( - (KeyError, ValueError), - match=( - r"Coords " - r"({'NOT_A_COORD_NAME'} are invalid coordinate keys" - r"|should follow mapping format {coord_name:\[dim1, dim2\]})" - ), - ): - get_coords(data, coords) - - def test_invalid_coord_value(self, sample_dataset): # pylint: disable=invalid-name - """Assert that nicer exception appears when user enters wrong coords value""" - _, _, data = sample_dataset - coords = {"draw": [1234567]} - - with pytest.raises( - KeyError, match=r"Coords should follow mapping format {coord_name:\[dim1, dim2\]}" - ): - get_coords(data, coords) - - def test_invalid_coord_structure(self, sample_dataset): # pylint: disable=invalid-name - """Assert that nicer exception appears when user enters wrong coords datatype""" - _, _, data = sample_dataset - coords = {"draw"} - - with pytest.raises(TypeError): - get_coords(data, coords) - - # test coord exceptions on dataset list - def test_invalid_coord_name_list(self, sample_dataset): # pylint: disable=invalid-name - """Assert that nicer exception appears when user enters wrong coords name""" - _, _, data = sample_dataset - coords = {"NOT_A_COORD_NAME": [1]} - - with pytest.raises( - (KeyError, ValueError), - match=( - r"data\[1\]:.+Coords " - r"({'NOT_A_COORD_NAME'} are invalid coordinate keys" - r"|should follow mapping format {coord_name:\[dim1, dim2\]})" - ), - ): - get_coords((data, data), ({"draw": [0, 1]}, coords)) - - def test_invalid_coord_value_list(self, sample_dataset): # pylint: disable=invalid-name - """Assert that nicer exception appears when user enters wrong coords value""" - _, _, data = sample_dataset - coords = {"draw": [1234567]} - - with pytest.raises( - KeyError, - match=r"data\[0\]:.+Coords should follow mapping format {coord_name:\[dim1, dim2\]}", - ): - get_coords((data, data), (coords, {"draw": [0, 1]})) - - -def test_filter_plotter_list(): - plotters = list(range(7)) - with rc_context({"plot.max_subplots": 10}): - plotters_filtered = filter_plotters_list(plotters, "") - assert plotters == plotters_filtered - - -def test_filter_plotter_list_warning(): - plotters = list(range(7)) - with rc_context({"plot.max_subplots": 5}): - with pytest.warns(UserWarning, match="test warning"): - plotters_filtered = filter_plotters_list(plotters, "test warning") - assert len(plotters_filtered) == 5 - - -@pytest.mark.skipif(skip_tests, reason="test requires bokeh which is not installed") -def test_bokeh_import(): - """Tests that correct method is returned on bokeh import""" - plot = get_plotting_function("plot_dist", "distplot", "bokeh") - - from ...plots.backends.bokeh.distplot import plot_dist - - assert plot is plot_dist - - -@pytest.mark.parametrize( - "params", - [ - { - "input": ( - { - "dashes": "-", - }, - "scatter", - ), - "output": "linestyle", - }, - { - "input": ( - {"mfc": "blue", "c": "blue", "line_width": 2}, - "plot", - ), - "output": ("markerfacecolor", "color", "line_width"), - }, - {"input": ({"ec": "blue", "fc": "black"}, "hist"), "output": ("edgecolor", "facecolor")}, - { - "input": ({"edgecolors": "blue", "lw": 3}, "hlines"), - "output": ("edgecolor", "linewidth"), - }, - ], -) -def test_matplotlib_kwarg_dealiaser(params): - dealiased = matplotlib_kwarg_dealiaser(params["input"][0], kind=params["input"][1]) - for returned in dealiased: - assert returned in params["output"] - - -@pytest.mark.parametrize("c_values", ["#0000ff", "blue", [0, 0, 1]]) -def test_vectorized_to_hex_scalar(c_values): - output = vectorized_to_hex(c_values) - assert output == "#0000ff" - - -@pytest.mark.parametrize( - "c_values", [["blue", "blue"], ["blue", "#0000ff"], np.array([[0, 0, 1], [0, 0, 1]])] -) -def test_vectorized_to_hex_array(c_values): - output = vectorized_to_hex(c_values) - assert np.all([item == "#0000ff" for item in output]) - - -def test_mpl_dealiase_sel_kwargs(): - """Check mpl dealiase_sel_kwargs behaviour. - - Makes sure kwargs are overwritten when necessary even with alias involved and that - they are not modified when not included in props. - """ - kwargs = {"linewidth": 3, "alpha": 0.4, "line_color": "red"} - props = {"lw": [1, 2, 4, 5], "linestyle": ["-", "--", ":"]} - res = dealiase_sel_kwargs(kwargs, props, 2) - assert "linewidth" in res - assert res["linewidth"] == 4 - assert "linestyle" in res - assert res["linestyle"] == ":" - assert "alpha" in res - assert res["alpha"] == 0.4 - assert "line_color" in res - assert res["line_color"] == "red" - - -@pytest.mark.skipif(skip_tests, reason="test requires bokeh which is not installed") -def test_bokeh_dealiase_sel_kwargs(): - """Check bokeh dealiase_sel_kwargs behaviour. - - Makes sure kwargs are overwritten when necessary even with alias involved and that - they are not modified when not included in props. - """ - from ...plots.backends.bokeh import dealiase_sel_kwargs - - kwargs = {"line_width": 3, "line_alpha": 0.4, "line_color": "red"} - props = {"line_width": [1, 2, 4, 5], "line_dash": ["dashed", "dashed", "dashed"]} - res = dealiase_sel_kwargs(kwargs, props, 2) - assert "line_width" in res - assert res["line_width"] == 4 - assert "line_dash" in res - assert res["line_dash"] == "dashed" - assert "line_alpha" in res - assert res["line_alpha"] == 0.4 - assert "line_color" in res - assert res["line_color"] == "red" - - -@pytest.mark.skipif(skip_tests, reason="test requires bokeh which is not installed") -def test_set_bokeh_circular_ticks_labels(): - """Assert the axes returned after placing ticks and tick labels for circular plots.""" - import bokeh.plotting as bkp - - ax = bkp.figure(x_axis_type=None, y_axis_type=None) - hist = np.linspace(0, 1, 10) - labels = ["0°", "45°", "90°", "135°", "180°", "225°", "270°", "315°"] - ax = set_bokeh_circular_ticks_labels(ax, hist, labels) - renderers = ax.renderers - assert len(renderers) == 3 - assert renderers[2].data_source.data["text"] == labels - assert len(renderers[0].data_source.data["start_angle"]) == len(labels) - - -def test_compute_ranks(): - pois_data = np.array([[5, 4, 1, 4, 0], [2, 8, 2, 1, 1]]) - expected = np.array([[9.0, 7.0, 3.0, 8.0, 1.0], [5.0, 10.0, 6.0, 2.0, 4.0]]) - ranks = compute_ranks(pois_data) - np.testing.assert_equal(ranks, expected) - - norm_data = np.array( - [ - [0.2644187, -1.3004813, -0.80428456, 1.01319068, 0.62631143], - [1.34498018, -0.13428933, -0.69855487, -0.9498981, -0.34074092], - ] - ) - expected = np.array([[7.0, 1.0, 3.0, 9.0, 8.0], [10.0, 6.0, 4.0, 2.0, 5.0]]) - ranks = compute_ranks(norm_data) - np.testing.assert_equal(ranks, expected) diff --git a/arviz/tests/base_tests/test_plots_bokeh.py b/arviz/tests/base_tests/test_plots_bokeh.py deleted file mode 100644 index c9bbf46a7f..0000000000 --- a/arviz/tests/base_tests/test_plots_bokeh.py +++ /dev/null @@ -1,1288 +0,0 @@ -# pylint: disable=redefined-outer-name,too-many-lines -"""Tests use the 'bokeh' backend.""" -from copy import deepcopy - -import numpy as np -import pytest -from pandas import DataFrame # pylint: disable=wrong-import-position -from scipy.stats import norm # pylint: disable=wrong-import-position - -from ...data import from_dict, load_arviz_data # pylint: disable=wrong-import-position -from ...labels import MapLabeller # pylint: disable=wrong-import-position -from ...plots import ( # pylint: disable=wrong-import-position - plot_autocorr, - plot_bpv, - plot_compare, - plot_density, - plot_dist, - plot_dist_comparison, - plot_dot, - plot_ecdf, - plot_elpd, - plot_energy, - plot_ess, - plot_forest, - plot_hdi, - plot_kde, - plot_khat, - plot_lm, - plot_loo_pit, - plot_mcse, - plot_pair, - plot_parallel, - plot_posterior, - plot_ppc, - plot_rank, - plot_separation, - plot_trace, - plot_violin, -) -from ...rcparams import rc_context, rcParams # pylint: disable=wrong-import-position -from ...stats import compare, hdi, loo, waic # pylint: disable=wrong-import-position -from ..helpers import ( # pylint: disable=unused-import, wrong-import-position - create_model, - create_multidimensional_model, - eight_schools_params, - importorskip, - models, - multidim_models, -) - -# Skip tests if bokeh not installed -bkp = importorskip("bokeh.plotting") # pylint: disable=invalid-name - - -rcParams["data.load"] = "eager" - - -@pytest.fixture(scope="module") -def data(eight_schools_params): - data = eight_schools_params - return data - - -@pytest.fixture(scope="module") -def df_trace(): - return DataFrame({"a": np.random.poisson(2.3, 100)}) - - -@pytest.fixture(scope="module") -def discrete_model(): - """Simple fixture for random discrete model""" - return {"x": np.random.randint(10, size=100), "y": np.random.randint(10, size=100)} - - -@pytest.fixture(scope="module") -def continuous_model(): - """Simple fixture for random continuous model""" - return {"x": np.random.beta(2, 5, size=100), "y": np.random.beta(2, 5, size=100)} - - -@pytest.mark.parametrize( - "kwargs", - [ - {"point_estimate": "mean"}, - {"point_estimate": "median"}, - {"hdi_prob": 0.94}, - {"hdi_prob": 1}, - {"outline": True}, - {"hdi_markers": ["v"]}, - {"shade": 1}, - ], -) -def test_plot_density_float(models, kwargs): - obj = [getattr(models, model_fit) for model_fit in ["model_1", "model_2"]] - axes = plot_density(obj, backend="bokeh", show=False, **kwargs) - assert axes.shape[0] >= 6 - assert axes.shape[0] >= 3 - - -def test_plot_density_discrete(discrete_model): - axes = plot_density(discrete_model, shade=0.9, backend="bokeh", show=False) - assert axes.shape[0] == 1 - - -def test_plot_density_no_subset(): - """Test plot_density works when variables are not subset of one another (#1093).""" - model_ab = from_dict( - { - "a": np.random.normal(size=200), - "b": np.random.normal(size=200), - } - ) - model_bc = from_dict( - { - "b": np.random.normal(size=200), - "c": np.random.normal(size=200), - } - ) - axes = plot_density([model_ab, model_bc], backend="bokeh", show=False) - assert axes.size == 3 - - -def test_plot_density_one_var(): - """Test plot_density works when there is only one variable (#1401).""" - model_ab = from_dict( - { - "a": np.random.normal(size=200), - } - ) - model_bc = from_dict( - { - "a": np.random.normal(size=200), - } - ) - axes = plot_density([model_ab, model_bc], backend="bokeh", show=False) - assert axes.size == 1 - - -def test_plot_density_bad_kwargs(models): - obj = [getattr(models, model_fit) for model_fit in ["model_1", "model_2"]] - with pytest.raises(ValueError): - plot_density(obj, point_estimate="bad_value", backend="bokeh", show=False) - - with pytest.raises(ValueError): - plot_density( - obj, - data_labels=[f"bad_value_{i}" for i in range(len(obj) + 10)], - backend="bokeh", - show=False, - ) - - with pytest.raises(ValueError): - plot_density(obj, hdi_prob=2, backend="bokeh", show=False) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"y_hat_line": True}, - {"expected_events": True}, - {"y_hat_line_kwargs": {"linestyle": "dotted"}}, - {"exp_events_kwargs": {"marker": "o"}}, - ], -) -def test_plot_separation(kwargs): - idata = load_arviz_data("classification10d") - ax = plot_separation(idata=idata, y="outcome", backend="bokeh", show=False, **kwargs) - assert ax - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": "mu"}, - {"var_names": ["mu", "tau"]}, - {"combined": True, "rug": True}, - {"compact": True, "legend": True}, - {"combined": True, "compact": True, "legend": True}, - {"divergences": "top"}, - {"divergences": False}, - {"kind": "rank_vlines"}, - {"kind": "rank_bars"}, - {"lines": [("mu", {}, [1, 2])]}, - {"lines": [("mu", {}, 8)]}, - ], -) -def test_plot_trace(models, kwargs): - axes = plot_trace(models.model_1, backend="bokeh", show=False, **kwargs) - assert axes.shape - - -def test_plot_trace_discrete(discrete_model): - axes = plot_trace(discrete_model, backend="bokeh", show=False) - assert axes.shape - - -def test_plot_trace_max_subplots_warning(models): - with pytest.warns(UserWarning): - with rc_context(rc={"plot.max_subplots": 2}): - axes = plot_trace(models.model_1, backend="bokeh", show=False) - assert axes.shape - - -@pytest.mark.parametrize( - "kwargs", - [ - {"plot_kwargs": {"line_dash": "solid"}}, - {"contour": True, "fill_last": False}, - { - "contour": True, - "contourf_kwargs": {"cmap": "plasma"}, - "contour_kwargs": {"line_width": 1}, - }, - {"contour": False}, - {"contour": False, "pcolormesh_kwargs": {"cmap": "plasma"}}, - ], -) -def test_plot_kde(continuous_model, kwargs): - axes = plot_kde( - continuous_model["x"], continuous_model["y"], backend="bokeh", show=False, **kwargs - ) - assert axes - - -@pytest.mark.parametrize( - "kwargs", - [ - {"cumulative": True}, - {"cumulative": True, "plot_kwargs": {"line_dash": "dashed"}}, - {"rug": True}, - {"rug": True, "rug_kwargs": {"line_alpha": 0.2}, "rotated": True}, - ], -) -def test_plot_kde_cumulative(continuous_model, kwargs): - axes = plot_kde(continuous_model["x"], backend="bokeh", show=False, **kwargs) - assert axes - - -@pytest.mark.parametrize( - "kwargs", - [ - {"kind": "hist"}, - {"kind": "kde"}, - {"is_circular": False}, - {"is_circular": False, "kind": "hist"}, - {"is_circular": True}, - {"is_circular": True, "kind": "hist"}, - {"is_circular": "radians"}, - {"is_circular": "radians", "kind": "hist"}, - {"is_circular": "degrees"}, - {"is_circular": "degrees", "kind": "hist"}, - ], -) -def test_plot_dist(continuous_model, kwargs): - axes = plot_dist(continuous_model["x"], backend="bokeh", show=False, **kwargs) - assert axes - - -def test_plot_kde_1d(continuous_model): - axes = plot_kde(continuous_model["y"], backend="bokeh", show=False) - assert axes - - -@pytest.mark.parametrize( - "kwargs", - [ - {"contour": True, "fill_last": False}, - {"contour": True, "contourf_kwargs": {"cmap": "plasma"}}, - {"contour": False}, - {"contour": False, "pcolormesh_kwargs": {"cmap": "plasma"}}, - {"contour": True, "contourf_kwargs": {"levels": 3}}, - {"contour": True, "contourf_kwargs": {"levels": [0.1, 0.2, 0.3]}}, - {"hdi_probs": [0.3, 0.9, 0.6]}, - {"hdi_probs": [0.3, 0.6, 0.9], "contourf_kwargs": {"cmap": "Blues"}}, - {"hdi_probs": [0.9, 0.6, 0.3], "contour_kwargs": {"alpha": 0}}, - ], -) -def test_plot_kde_2d(continuous_model, kwargs): - axes = plot_kde( - continuous_model["x"], continuous_model["y"], backend="bokeh", show=False, **kwargs - ) - assert axes - - -@pytest.mark.parametrize( - "kwargs", [{"plot_kwargs": {"line_dash": "solid"}}, {"cumulative": True}, {"rug": True}] -) -def test_plot_kde_quantiles(continuous_model, kwargs): - axes = plot_kde( - continuous_model["x"], quantiles=[0.05, 0.5, 0.95], backend="bokeh", show=False, **kwargs - ) - assert axes - - -def test_plot_autocorr_short_chain(): - """Check that logic for small chain defaulting doesn't cause exception""" - chain = np.arange(10) - axes = plot_autocorr(chain, backend="bokeh", show=False) - assert axes - - -def test_plot_autocorr_uncombined(models): - axes = plot_autocorr(models.model_1, combined=False, backend="bokeh", show=False) - assert axes.shape[0] == 10 - max_subplots = ( - np.inf if rcParams["plot.max_subplots"] is None else rcParams["plot.max_subplots"] - ) - assert len([ax for ax in axes.ravel() if ax is not None]) == min(72, max_subplots) - - -def test_plot_autocorr_combined(models): - axes = plot_autocorr(models.model_1, combined=True, backend="bokeh", show=False) - assert axes.shape[0] == 6 - assert axes.shape[1] == 3 - - -@pytest.mark.parametrize("var_names", (None, "mu", ["mu", "tau"])) -def test_plot_autocorr_var_names(models, var_names): - axes = plot_autocorr( - models.model_1, var_names=var_names, combined=True, backend="bokeh", show=False - ) - assert axes.shape - - -@pytest.mark.parametrize( - "kwargs", [{"insample_dev": False}, {"plot_standard_error": False}, {"plot_ic_diff": False}] -) -def test_plot_compare(models, kwargs): - model_compare = compare({"Model 1": models.model_1, "Model 2": models.model_2}) - - axes = plot_compare(model_compare, backend="bokeh", show=False, **kwargs) - assert axes - - -def test_plot_compare_no_ic(models): - """Check exception is raised if model_compare doesn't contain a valid information criterion""" - model_compare = compare({"Model 1": models.model_1, "Model 2": models.model_2}) - - # Drop column needed for plotting - model_compare = model_compare.drop("elpd_loo", axis=1) - with pytest.raises(ValueError) as err: - plot_compare(model_compare, backend="bokeh", show=False) - - assert "comp_df must contain one of the following" in str(err.value) - assert "['elpd_loo', 'elpd_waic']" in str(err.value) - - -def test_plot_ecdf_basic(): - data = np.random.randn(4, 1000) - axes = plot_ecdf(data, backend="bokeh", show=False) - assert axes is not None - - -def test_plot_ecdf_values2(): - data = np.random.randn(4, 1000) - data2 = np.random.randn(4, 500) - axes = plot_ecdf(data, data2, backend="bokeh", show=False) - assert axes is not None - - -def test_plot_ecdf_cdf(): - data = np.random.randn(4, 1000) - cdf = norm(0, 1).cdf - axes = plot_ecdf(data, cdf=cdf, backend="bokeh", show=False) - assert axes is not None - - -@pytest.mark.parametrize( - "kwargs", [{}, {"ic": "loo"}, {"xlabels": True, "scale": "log"}, {"threshold": 2}] -) -@pytest.mark.parametrize("add_model", [False, True]) -@pytest.mark.parametrize("use_elpddata", [False, True]) -def test_plot_elpd(models, add_model, use_elpddata, kwargs): - model_dict = {"Model 1": models.model_1, "Model 2": models.model_2} - if add_model: - model_dict["Model 3"] = create_model(seed=12) - - if use_elpddata: - ic = kwargs.get("ic", "waic") - scale = kwargs.get("scale", "deviance") - if ic == "waic": - model_dict = {k: waic(v, scale=scale, pointwise=True) for k, v in model_dict.items()} - else: - model_dict = {k: loo(v, scale=scale, pointwise=True) for k, v in model_dict.items()} - - axes = plot_elpd(model_dict, backend="bokeh", show=False, **kwargs) - assert np.any(axes) - if add_model: - assert axes.shape[0] == axes.shape[1] - assert axes.shape[0] == len(model_dict) - 1 - - -@pytest.mark.parametrize("kwargs", [{}, {"ic": "loo"}, {"xlabels": True, "scale": "log"}]) -@pytest.mark.parametrize("add_model", [False, True]) -@pytest.mark.parametrize("use_elpddata", [False, True]) -def test_plot_elpd_multidim(multidim_models, add_model, use_elpddata, kwargs): - model_dict = {"Model 1": multidim_models.model_1, "Model 2": multidim_models.model_2} - if add_model: - model_dict["Model 3"] = create_multidimensional_model(seed=12) - - if use_elpddata: - ic = kwargs.get("ic", "waic") - scale = kwargs.get("scale", "deviance") - if ic == "waic": - model_dict = {k: waic(v, scale=scale, pointwise=True) for k, v in model_dict.items()} - else: - model_dict = {k: loo(v, scale=scale, pointwise=True) for k, v in model_dict.items()} - - axes = plot_elpd(model_dict, backend="bokeh", show=False, **kwargs) - assert np.any(axes) - if add_model: - assert axes.shape[0] == axes.shape[1] - assert axes.shape[0] == len(model_dict) - 1 - - -@pytest.mark.parametrize("kind", ["kde", "hist"]) -def test_plot_energy(models, kind): - assert plot_energy(models.model_1, kind=kind, backend="bokeh", show=False) - - -def test_plot_energy_bad(models): - with pytest.raises(ValueError): - plot_energy(models.model_1, kind="bad_kind", backend="bokeh", show=False) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": ["theta"], "relative": True, "color": "r"}, - {"coords": {"school": slice(4)}, "n_points": 10}, - {"min_ess": 600, "hline_kwargs": {"line_color": "red"}}, - ], -) -@pytest.mark.parametrize("kind", ["local", "quantile", "evolution"]) -def test_plot_ess(models, kind, kwargs): - """Test plot_ess arguments common to all kind of plots.""" - idata = models.model_1 - ax = plot_ess(idata, kind=kind, backend="bokeh", show=False, **kwargs) - assert np.all(ax) - - -@pytest.mark.parametrize( - "kwargs", - [ - {"rug": True}, - {"rug": True, "rug_kind": "max_depth", "rug_kwargs": {"color": "c"}}, - {"extra_methods": True}, - {"extra_methods": True, "extra_kwargs": {"ls": ":"}, "text_kwargs": {"x": 0, "ha": "left"}}, - {"extra_methods": True, "rug": True}, - ], -) -@pytest.mark.parametrize("kind", ["local", "quantile"]) -def test_plot_ess_local_quantile(models, kind, kwargs): - """Test specific arguments in kinds local and quantile of plot_ess.""" - idata = models.model_1 - ax = plot_ess(idata, kind=kind, backend="bokeh", show=False, **kwargs) - assert np.all(ax) - - -def test_plot_ess_evolution(models): - """Test specific arguments in evolution kind of plot_ess.""" - idata = models.model_1 - ax = plot_ess( - idata, - kind="evolution", - extra_kwargs={"linestyle": "--"}, - color="b", - backend="bokeh", - show=False, - ) - assert np.all(ax) - - -def test_plot_ess_bad_kind(models): - """Test error when plot_ess receives an invalid kind.""" - idata = models.model_1 - with pytest.raises(ValueError, match="Invalid kind"): - plot_ess(idata, kind="bad kind", backend="bokeh", show=False) - - -@pytest.mark.parametrize("dim", ["chain", "draw"]) -def test_plot_ess_bad_coords(models, dim): - """Test error when chain or dim are used as coords to select a data subset.""" - idata = models.model_1 - with pytest.raises(ValueError, match="invalid coordinates"): - plot_ess(idata, coords={dim: slice(3)}, backend="bokeh", show=False) - - -def test_plot_ess_no_sample_stats(models): - """Test error when rug=True but sample_stats group is not present.""" - idata = models.model_1 - with pytest.raises(ValueError, match="must contain sample_stats"): - plot_ess(idata.posterior, rug=True, backend="bokeh", show=False) - - -def test_plot_ess_no_divergences(models): - """Test error when rug=True, but the variable defined by rug_kind is missing.""" - idata = deepcopy(models.model_1) - idata.sample_stats = idata.sample_stats.rename({"diverging": "diverging_missing"}) - with pytest.raises(ValueError, match="not contain diverging"): - plot_ess(idata, rug=True, backend="bokeh", show=False) - - -@pytest.mark.parametrize("model_fits", [["model_1"], ["model_1", "model_2"]]) -@pytest.mark.parametrize( - "args_expected", - [ - ({}, 1), - ({"var_names": "mu"}, 1), - ({"var_names": "mu", "rope": (-1, 1)}, 1), - ({"r_hat": True, "quartiles": False}, 2), - ({"var_names": ["mu"], "colors": "black", "ess": True, "combined": True}, 2), - ( - { - "kind": "ridgeplot", - "ridgeplot_truncate": False, - "ridgeplot_quantiles": [0.25, 0.5, 0.75], - }, - 1, - ), - ({"kind": "ridgeplot", "r_hat": True, "ess": True}, 3), - ({"kind": "ridgeplot", "r_hat": True, "ess": True, "ridgeplot_alpha": 0}, 3), - ( - { - "var_names": ["mu", "tau"], - "rope": { - "mu": [{"rope": (-0.1, 0.1)}], - "theta": [{"school": "Choate", "rope": (0.2, 0.5)}], - }, - }, - 1, - ), - ], -) -def test_plot_forest(models, model_fits, args_expected): - obj = [getattr(models, model_fit) for model_fit in model_fits] - args, expected = args_expected - axes = plot_forest(obj, backend="bokeh", show=False, **args) - assert axes.shape == (1, expected) - - -def test_plot_forest_rope_exception(): - with pytest.raises(ValueError) as err: - plot_forest({"x": [1]}, rope="not_correct_format", backend="bokeh", show=False) - assert "Argument `rope` must be None, a dictionary like" in str(err.value) - - -def test_plot_forest_single_value(): - axes = plot_forest({"x": [1]}, backend="bokeh", show=False) - assert axes.shape - - -@pytest.mark.parametrize("model_fits", [["model_1"], ["model_1", "model_2"]]) -def test_plot_forest_bad(models, model_fits): - obj = [getattr(models, model_fit) for model_fit in model_fits] - with pytest.raises(TypeError): - plot_forest(obj, kind="bad_kind", backend="bokeh", show=False) - - with pytest.raises(ValueError): - plot_forest( - obj, - model_names=[f"model_name_{i}" for i in range(len(obj) + 10)], - backend="bokeh", - show=False, - ) - - -@pytest.mark.parametrize( - "kwargs", - [ - {"color": "C5", "circular": True}, - {"hdi_data": True, "fill_kwargs": {"alpha": 0}}, - {"plot_kwargs": {"alpha": 0}}, - {"smooth_kwargs": {"window_length": 33, "polyorder": 5, "mode": "mirror"}}, - {"hdi_data": True, "smooth": False, "color": "xkcd:jade"}, - ], -) -def test_plot_hdi(models, data, kwargs): - hdi_data = kwargs.pop("hdi_data", None) - y_data = models.model_1.posterior["theta"] - if hdi_data: - hdi_data = hdi(y_data) - axis = plot_hdi(data["y"], hdi_data=hdi_data, backend="bokeh", show=False, **kwargs) - else: - axis = plot_hdi(data["y"], y_data, backend="bokeh", show=False, **kwargs) - assert axis - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"xlabels": True}, - {"color": "obs_dim", "xlabels": True, "show_bins": True, "bin_format": "{0}"}, - {"color": "obs_dim", "legend": True, "hover_label": True}, - {"color": "blue", "coords": {"obs_dim": slice(2, 4)}}, - {"color": np.random.uniform(size=8), "show_bins": True}, - { - "color": np.random.uniform(size=(8, 3)), - "show_bins": True, - "show_hlines": True, - "threshold": 1, - }, - ], -) -@pytest.mark.parametrize("input_type", ["elpd_data", "data_array", "array"]) -def test_plot_khat(models, input_type, kwargs): - khats_data = loo(models.model_1, pointwise=True) - - if input_type == "data_array": - khats_data = khats_data.pareto_k - elif input_type == "array": - khats_data = khats_data.pareto_k.values - if "color" in kwargs and isinstance(kwargs["color"], str) and kwargs["color"] == "obs_dim": - kwargs["color"] = None - - axes = plot_khat(khats_data, backend="bokeh", show=False, **kwargs) - assert axes - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"xlabels": True}, - {"color": "dim1", "xlabels": True, "show_bins": True, "bin_format": "{0}"}, - {"color": "dim2", "legend": True, "hover_label": True}, - {"color": "blue", "coords": {"dim2": slice(2, 4)}}, - {"color": np.random.uniform(size=35), "show_bins": True}, - { - "color": np.random.uniform(size=(35, 3)), - "show_bins": True, - "show_hlines": True, - "threshold": 1, - }, - ], -) -@pytest.mark.parametrize("input_type", ["elpd_data", "data_array", "array"]) -def test_plot_khat_multidim(multidim_models, input_type, kwargs): - khats_data = loo(multidim_models.model_1, pointwise=True) - - if input_type == "data_array": - khats_data = khats_data.pareto_k - elif input_type == "array": - khats_data = khats_data.pareto_k.values - if ( - "color" in kwargs - and isinstance(kwargs["color"], str) - and kwargs["color"] in ("dim1", "dim2") - ): - kwargs["color"] = None - - axes = plot_khat(khats_data, backend="bokeh", show=False, **kwargs) - assert axes - - -def test_plot_khat_threshold(): - khats = np.array([0, 0, 0.6, 0.6, 0.8, 0.9, 0.9, 2, 3, 4, 1.5]) - axes = plot_khat(khats, threshold=1, backend="bokeh", show=False) - assert axes - - -def test_plot_khat_bad_input(models): - with pytest.raises(ValueError): - plot_khat(models.model_1.sample_stats, backend="bokeh", show=False) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"n_unif": 50}, - {"use_hdi": True, "color": "gray"}, - {"use_hdi": True, "hdi_prob": 0.68}, - {"use_hdi": True, "hdi_kwargs": {"line_dash": "dashed", "alpha": 0}}, - {"ecdf": True}, - {"ecdf": True, "ecdf_fill": False, "plot_unif_kwargs": {"line_dash": "--"}}, - {"ecdf": True, "hdi_prob": 0.97, "fill_kwargs": {"color": "red"}}, - ], -) -def test_plot_loo_pit(models, kwargs): - axes = plot_loo_pit(idata=models.model_1, y="y", backend="bokeh", show=False, **kwargs) - assert axes - - -def test_plot_loo_pit_incompatible_args(models): - """Test error when both ecdf and use_hdi are True.""" - with pytest.raises(ValueError, match="incompatible"): - plot_loo_pit( - idata=models.model_1, y="y", ecdf=True, use_hdi=True, backend="bokeh", show=False - ) - - -@pytest.mark.parametrize( - "args", - [ - {"y": "str"}, - {"y": "DataArray", "y_hat": "str"}, - {"y": "ndarray", "y_hat": "str"}, - {"y": "ndarray", "y_hat": "DataArray"}, - {"y": "ndarray", "y_hat": "ndarray"}, - ], -) -def test_plot_loo_pit_label(models, args): - if args["y"] == "str": - y = "y" - elif args["y"] == "DataArray": - y = models.model_1.observed_data.y - elif args["y"] == "ndarray": - y = models.model_1.observed_data.y.values - - if args.get("y_hat") == "str": - y_hat = "y" - elif args.get("y_hat") == "DataArray": - y_hat = models.model_1.posterior_predictive.y.stack(__sample__=("chain", "draw")) - elif args.get("y_hat") == "ndarray": - y_hat = models.model_1.posterior_predictive.y.stack(__sample__=("chain", "draw")).values - else: - y_hat = None - - ax = plot_loo_pit(idata=models.model_1, y=y, y_hat=y_hat, backend="bokeh", show=False) - assert ax - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": ["theta"], "color": "r"}, - {"rug": True, "rug_kwargs": {"color": "r"}}, - {"errorbar": True, "rug": True, "rug_kind": "max_depth"}, - {"errorbar": True, "coords": {"school": slice(4)}, "n_points": 10}, - {"extra_methods": True, "rug": True}, - {"extra_methods": True, "extra_kwargs": {"ls": ":"}, "text_kwargs": {"x": 0, "ha": "left"}}, - ], -) -def test_plot_mcse(models, kwargs): - idata = models.model_1 - ax = plot_mcse(idata, backend="bokeh", show=False, **kwargs) - assert np.all(ax) - - -@pytest.mark.parametrize("dim", ["chain", "draw"]) -def test_plot_mcse_bad_coords(models, dim): - """Test error when chain or dim are used as coords to select a data subset.""" - idata = models.model_1 - with pytest.raises(ValueError, match="invalid coordinates"): - plot_mcse(idata, coords={dim: slice(3)}, backend="bokeh", show=False) - - -def test_plot_mcse_no_sample_stats(models): - """Test error when rug=True but sample_stats group is not present.""" - idata = models.model_1 - with pytest.raises(ValueError, match="must contain sample_stats"): - plot_mcse(idata.posterior, rug=True, backend="bokeh", show=False) - - -def test_plot_mcse_no_divergences(models): - """Test error when rug=True, but the variable defined by rug_kind is missing.""" - idata = deepcopy(models.model_1) - idata.sample_stats = idata.sample_stats.rename({"diverging": "diverging_missing"}) - with pytest.raises(ValueError, match="not contain diverging"): - plot_mcse(idata, rug=True, backend="bokeh", show=False) - - -@pytest.mark.slow -@pytest.mark.parametrize( - "kwargs", - [ - {"var_names": "theta", "divergences": True, "coords": {"school": [0, 1]}}, - {"divergences": True, "var_names": ["theta", "mu"]}, - {"kind": "kde", "var_names": ["theta"]}, - {"kind": "hexbin", "var_names": ["theta"]}, - { - "kind": "hexbin", - "var_names": ["theta"], - "coords": {"school": [0, 1]}, - "textsize": 20, - }, - { - "point_estimate": "mean", - "reference_values": {"mu": 0, "tau": 0}, - "reference_values_kwargs": {"line_color": "blue"}, - }, - { - "var_names": ["mu", "tau"], - "reference_values": {"mu": 0, "tau": 0}, - "labeller": MapLabeller({"mu": r"$\mu$", "theta": r"$\theta"}), - }, - { - "var_names": ["theta"], - "reference_values": {"theta": [0.0] * 8}, - "labeller": MapLabeller({"theta": r"$\theta$"}), - }, - { - "var_names": ["theta"], - "reference_values": {"theta": np.zeros(8)}, - "labeller": MapLabeller({"theta": r"$\theta$"}), - }, - ], -) -def test_plot_pair(models, kwargs): - ax = plot_pair(models.model_1, backend="bokeh", show=False, **kwargs) - assert np.any(ax) - - -@pytest.mark.parametrize("kwargs", [{"kind": "scatter"}, {"kind": "kde"}, {"kind": "hexbin"}]) -def test_plot_pair_2var(discrete_model, kwargs): - ax = plot_pair( - discrete_model, ax=np.atleast_2d(bkp.figure()), backend="bokeh", show=False, **kwargs - ) - assert ax - - -def test_plot_pair_bad(models): - with pytest.raises(ValueError): - plot_pair(models.model_1, kind="bad_kind", backend="bokeh", show=False) - with pytest.raises(Exception): - plot_pair(models.model_1, var_names=["mu"], backend="bokeh", show=False) - - -@pytest.mark.parametrize("has_sample_stats", [True, False]) -def test_plot_pair_divergences_warning(has_sample_stats): - data = load_arviz_data("centered_eight") - if has_sample_stats: - # sample_stats present, diverging field missing - data.sample_stats = data.sample_stats.rename({"diverging": "diverging_missing"}) - else: - # sample_stats missing - data = data.posterior # pylint: disable=no-member - with pytest.warns(UserWarning): - ax = plot_pair(data, divergences=True, backend="bokeh", show=False) - assert np.any(ax) - - -def test_plot_parallel_raises_valueerror(df_trace): # pylint: disable=invalid-name - with pytest.raises(ValueError): - plot_parallel(df_trace, backend="bokeh", show=False) - - -@pytest.mark.parametrize("norm_method", [None, "normal", "minmax", "rank"]) -def test_plot_parallel(models, norm_method): - assert plot_parallel( - models.model_1, - var_names=["mu", "tau"], - norm_method=norm_method, - backend="bokeh", - show=False, - ) - - -@pytest.mark.parametrize("var_names", [None, "mu", ["mu", "tau"]]) -def test_plot_parallel_exception(models, var_names): - """Ensure that correct exception is raised when one variable is passed.""" - with pytest.raises(ValueError): - assert plot_parallel( - models.model_1, var_names=var_names, norm_method="foo", backend="bokeh", show=False - ) - - -@pytest.mark.parametrize("var_names", (None, "mu", ["mu", "tau"])) -@pytest.mark.parametrize("side", ["both", "left", "right"]) -@pytest.mark.parametrize("rug", [True]) -def test_plot_violin(models, var_names, side, rug): - axes = plot_violin( - models.model_1, var_names=var_names, side=side, rug=rug, backend="bokeh", show=False - ) - assert axes.shape - - -def test_plot_violin_ax(models): - ax = bkp.figure() - axes = plot_violin(models.model_1, var_names="mu", ax=ax, backend="bokeh", show=False) - assert axes.shape - - -def test_plot_violin_layout(models): - axes = plot_violin( - models.model_1, var_names=["mu", "tau"], sharey=False, backend="bokeh", show=False - ) - assert axes.shape - - -def test_plot_violin_discrete(discrete_model): - axes = plot_violin(discrete_model, backend="bokeh", show=False) - assert axes.shape - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -@pytest.mark.parametrize("alpha", [None, 0.2, 1]) -@pytest.mark.parametrize("observed", [True, False]) -@pytest.mark.parametrize("observed_rug", [False, True]) -def test_plot_ppc(models, kind, alpha, observed, observed_rug): - axes = plot_ppc( - models.model_1, - kind=kind, - alpha=alpha, - observed=observed, - observed_rug=observed_rug, - random_seed=3, - backend="bokeh", - show=False, - ) - assert axes - - -def test_plot_ppc_textsize(models): - axes = plot_ppc( - models.model_1, - textsize=10, - random_seed=3, - backend="bokeh", - show=False, - ) - assert axes - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -@pytest.mark.parametrize("jitter", [None, 0, 0.1, 1, 3]) -def test_plot_ppc_multichain(kind, jitter): - data = from_dict( - posterior_predictive={ - "x": np.random.randn(4, 100, 30), - "y_hat": np.random.randn(4, 100, 3, 10), - }, - observed_data={"x": np.random.randn(30), "y": np.random.randn(3, 10)}, - ) - axes = plot_ppc( - data, - kind=kind, - data_pairs={"y": "y_hat"}, - jitter=jitter, - random_seed=3, - backend="bokeh", - show=False, - ) - assert np.all(axes) - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -def test_plot_ppc_discrete(kind): - data = from_dict( - observed_data={"obs": np.random.randint(1, 100, 15)}, - posterior_predictive={"obs": np.random.randint(1, 300, (1, 20, 15))}, - ) - - axes = plot_ppc(data, kind=kind, backend="bokeh", show=False) - assert axes - - -def test_plot_ppc_grid(models): - axes = plot_ppc(models.model_1, kind="scatter", flatten=[], backend="bokeh", show=False) - assert len(axes.ravel()) == 8 - axes = plot_ppc( - models.model_1, - kind="scatter", - flatten=[], - coords={"obs_dim": [1, 2, 3]}, - backend="bokeh", - show=False, - ) - assert len(axes.ravel()) == 3 - axes = plot_ppc( - models.model_1, - kind="scatter", - flatten=["obs_dim"], - coords={"obs_dim": [1, 2, 3]}, - backend="bokeh", - show=False, - ) - assert len(axes.ravel()) == 1 - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -def test_plot_ppc_bad(models, kind): - data = from_dict(posterior={"mu": np.random.randn()}) - with pytest.raises(TypeError): - plot_ppc(data, kind=kind, backend="bokeh", show=False) - with pytest.raises(TypeError): - plot_ppc(models.model_1, kind="bad_val", backend="bokeh", show=False) - with pytest.raises(TypeError): - plot_ppc(models.model_1, num_pp_samples="bad_val", backend="bokeh", show=False) - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -def test_plot_ppc_ax(models, kind): - """Test ax argument of plot_ppc.""" - ax = bkp.figure() - axes = plot_ppc(models.model_1, kind=kind, ax=ax, backend="bokeh", show=False) - assert axes[0, 0] is ax - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": "mu"}, - {"var_names": ("mu", "tau")}, - {"rope": (-2, 2)}, - {"rope": {"mu": [{"rope": (-2, 2)}], "theta": [{"school": "Choate", "rope": (2, 4)}]}}, - {"point_estimate": "mode"}, - {"point_estimate": "median"}, - {"point_estimate": None}, - {"hdi_prob": "hide", "legend_label": ""}, - {"ref_val": 0}, - {"ref_val": None}, - {"ref_val": {"mu": [{"ref_val": 1}]}}, - {"bins": None, "kind": "hist"}, - { - "ref_val": { - "theta": [ - # {"school": ["Choate", "Deerfield"], "ref_val": -1}, this is not working - {"school": "Lawrenceville", "ref_val": 3} - ] - } - }, - ], -) -def test_plot_posterior(models, kwargs): - axes = plot_posterior(models.model_1, backend="bokeh", show=False, **kwargs) - assert axes.shape - - -@pytest.mark.parametrize("kwargs", [{}, {"point_estimate": "mode"}, {"bins": None, "kind": "hist"}]) -def test_plot_posterior_discrete(discrete_model, kwargs): - axes = plot_posterior(discrete_model, backend="bokeh", show=False, **kwargs) - assert axes.shape - - -def test_plot_posterior_boolean(): - data = np.random.choice(a=[False, True], size=(4, 100)) - axes = plot_posterior(data, backend="bokeh", show=False) - assert axes.shape - - -def test_plot_posterior_bad_type(): - with pytest.raises(TypeError): - plot_posterior(np.array(["a", "b", "c"]), backend="bokeh", show=False) - - -def test_plot_posterior_bad(models): - with pytest.raises(ValueError): - plot_posterior(models.model_1, backend="bokeh", show=False, rope="bad_value") - with pytest.raises(ValueError): - plot_posterior(models.model_1, ref_val="bad_value", backend="bokeh", show=False) - with pytest.raises(ValueError): - plot_posterior(models.model_1, point_estimate="bad_value", backend="bokeh", show=False) - - -@pytest.mark.parametrize("point_estimate", ("mode", "mean", "median")) -def test_plot_posterior_point_estimates(models, point_estimate): - axes = plot_posterior( - models.model_1, - var_names=("mu", "tau"), - point_estimate=point_estimate, - backend="bokeh", - show=False, - ) - assert axes.shape == (1, 2) - - -def test_plot_posterior_skipna(): - sample = np.linspace(0, 1) - sample[:10] = np.nan - plot_posterior({"a": sample}, backend="bokeh", show=False, skipna=True) - with pytest.raises(ValueError): - plot_posterior({"a": sample}, backend="bokeh", show=False, skipna=False) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": "mu"}, - {"var_names": ("mu", "tau"), "coords": {"school": [0, 1]}}, - {"var_names": "mu", "ref_line": True}, - { - "var_names": "mu", - "ref_line_kwargs": {"line_width": 2, "line_color": "red"}, - "bar_kwargs": {"width": 50}, - }, - {"var_names": "mu", "ref_line": False}, - {"var_names": "mu", "kind": "vlines"}, - { - "var_names": "mu", - "kind": "vlines", - "vlines_kwargs": {"line_width": 0}, - "marker_vlines_kwargs": {"radius": 20}, - }, - ], -) -def test_plot_rank(models, kwargs): - axes = plot_rank(models.model_1, backend="bokeh", show=False, **kwargs) - assert axes.shape - - -def test_plot_dist_comparison_warn(models): - with pytest.raises(NotImplementedError, match="The bokeh backend.+Use matplotlib backend."): - plot_dist_comparison(models.model_1, backend="bokeh") - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"reference": "analytical"}, - {"kind": "p_value"}, - {"kind": "t_stat", "t_stat": "std"}, - {"kind": "t_stat", "t_stat": 0.5, "bpv": True}, - ], -) -def test_plot_bpv(models, kwargs): - axes = plot_bpv(models.model_1, backend="bokeh", show=False, **kwargs) - assert axes.shape - - -def test_plot_bpv_discrete(): - fake_obs = {"a": np.random.poisson(2.5, 100)} - fake_pp = {"a": np.random.poisson(2.5, (1, 10, 100))} - fake_model = from_dict(posterior_predictive=fake_pp, observed_data=fake_obs) - axes = plot_bpv( - fake_model, - backend="bokeh", - show=False, - ) - assert axes.shape - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - { - "binwidth": 0.5, - "stackratio": 2, - "nquantiles": 20, - }, - {"point_interval": True}, - { - "point_interval": True, - "dotsize": 1.2, - "point_estimate": "median", - "plot_kwargs": {"color": "grey"}, - }, - { - "point_interval": True, - "plot_kwargs": {"color": "grey"}, - "nquantiles": 100, - "hdi_prob": 0.95, - "intervalcolor": "green", - }, - { - "point_interval": True, - "plot_kwargs": {"color": "grey"}, - "quartiles": False, - "linewidth": 2, - }, - ], -) -def test_plot_dot(continuous_model, kwargs): - data = continuous_model["x"] - ax = plot_dot(data, **kwargs, backend="bokeh", show=False) - assert ax - - -@pytest.mark.parametrize( - "kwargs", - [ - {"rotated": True}, - { - "point_interval": True, - "rotated": True, - "dotcolor": "grey", - "binwidth": 0.5, - }, - { - "rotated": True, - "point_interval": True, - "plot_kwargs": {"color": "grey"}, - "nquantiles": 100, - "dotsize": 0.8, - "hdi_prob": 0.95, - "intervalcolor": "green", - }, - ], -) -def test_plot_dot_rotated(continuous_model, kwargs): - data = continuous_model["x"] - ax = plot_dot(data, **kwargs, backend="bokeh", show=False) - assert ax - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"y_hat": "bad_name"}, - {"x": "x1"}, - {"x": ("x1", "x2")}, - { - "x": ("x1", "x2"), - "y_kwargs": {"fill_color": "blue"}, - "y_hat_plot_kwargs": {"fill_color": "orange"}, - "legend": True, - }, - {"x": ("x1", "x2"), "y_model_plot_kwargs": {"line_color": "red"}}, - { - "x": ("x1", "x2"), - "kind_pp": "hdi", - "kind_model": "hdi", - "y_model_fill_kwargs": {"color": "red"}, - "y_hat_fill_kwargs": {"color": "cyan"}, - }, - ], -) -def test_plot_lm_1d(models, kwargs): - """Test functionality for 1D data.""" - idata = models.model_1 - if "constant_data" not in idata.groups(): - y = idata.observed_data["y"] - x1data = y.coords[y.dims[0]] - idata.add_groups({"constant_data": {"_": x1data}}) - idata.constant_data["x1"] = x1data - idata.constant_data["x2"] = x1data - - axes = plot_lm( - idata=idata, y="y", y_model="eta", backend="bokeh", xjitter=True, show=False, **kwargs - ) - assert np.all(axes) - - -def test_plot_lm_multidim(multidim_models): - """Test functionality for multidimentional data.""" - idata = multidim_models.model_1 - axes = plot_lm(idata=idata, y="y", plot_dim="dim1", show=False, backend="bokeh") - assert np.any(axes) - - -def test_plot_lm_list(): - """Test the plots when input data is list or ndarray.""" - y = [1, 2, 3, 4, 5] - assert plot_lm(y=y, x=np.arange(len(y)), show=False, backend="bokeh") - - -def generate_lm_1d_data(): - rng = np.random.default_rng() - return from_dict( - observed_data={"y": rng.normal(size=7)}, - posterior_predictive={"y": rng.normal(size=(4, 1000, 7)) / 2}, - posterior={"y_model": rng.normal(size=(4, 1000, 7))}, - dims={"y": ["dim1"]}, - coords={"dim1": range(7)}, - ) - - -def generate_lm_2d_data(): - rng = np.random.default_rng() - return from_dict( - observed_data={"y": rng.normal(size=(5, 7))}, - posterior_predictive={"y": rng.normal(size=(4, 1000, 5, 7)) / 2}, - posterior={"y_model": rng.normal(size=(4, 1000, 5, 7))}, - dims={"y": ["dim1", "dim2"]}, - coords={"dim1": range(5), "dim2": range(7)}, - ) - - -@pytest.mark.parametrize("data", ("1d", "2d")) -@pytest.mark.parametrize("kind", ("lines", "hdi")) -@pytest.mark.parametrize("use_y_model", (True, False)) -def test_plot_lm(data, kind, use_y_model): - if data == "1d": - idata = generate_lm_1d_data() - else: - idata = generate_lm_2d_data() - - kwargs = {"idata": idata, "y": "y", "kind_model": kind, "backend": "bokeh", "show": False} - if data == "2d": - kwargs["plot_dim"] = "dim1" - if use_y_model: - kwargs["y_model"] = "y_model" - if kind == "lines": - kwargs["num_samples"] = 50 - - ax = plot_lm(**kwargs) - assert ax is not None diff --git a/arviz/tests/base_tests/test_plots_matplotlib.py b/arviz/tests/base_tests/test_plots_matplotlib.py deleted file mode 100644 index a0a2ae5caa..0000000000 --- a/arviz/tests/base_tests/test_plots_matplotlib.py +++ /dev/null @@ -1,2197 +0,0 @@ -"""Tests use the default backend.""" - -# pylint: disable=redefined-outer-name,too-many-lines -import os -import re -from copy import deepcopy - -import matplotlib.pyplot as plt -import numpy as np -import pytest -import xarray as xr -from matplotlib import animation -from pandas import DataFrame -from scipy.stats import gaussian_kde, norm - -from ...data import from_dict, load_arviz_data -from ...labels import MapLabeller -from ...plots import ( - plot_autocorr, - plot_bf, - plot_bpv, - plot_compare, - plot_density, - plot_dist, - plot_dist_comparison, - plot_dot, - plot_ecdf, - plot_elpd, - plot_energy, - plot_ess, - plot_forest, - plot_hdi, - plot_kde, - plot_khat, - plot_lm, - plot_loo_pit, - plot_mcse, - plot_pair, - plot_parallel, - plot_posterior, - plot_ppc, - plot_rank, - plot_separation, - plot_trace, - plot_ts, - plot_violin, -) -from ...plots.dotplot import wilkinson_algorithm -from ...plots.plot_utils import plot_point_interval -from ...rcparams import rc_context, rcParams -from ...stats import compare, hdi, loo, waic -from ...stats.density_utils import kde as _kde -from ...utils import BehaviourChangeWarning, _cov -from ..helpers import ( # pylint: disable=unused-import - RandomVariableTestClass, - create_model, - create_multidimensional_model, - does_not_warn, - eight_schools_params, - models, - multidim_models, -) - -rcParams["data.load"] = "eager" - - -@pytest.fixture(scope="function", autouse=True) -def clean_plots(request, save_figs): - """Close plots after each test, optionally save if --save is specified during test invocation""" - - def fin(): - if save_figs is not None: - plt.savefig(f"{os.path.join(save_figs, request.node.name)}.png") - plt.close("all") - - request.addfinalizer(fin) - - -@pytest.fixture(scope="module") -def data(eight_schools_params): - data = eight_schools_params - return data - - -@pytest.fixture(scope="module") -def df_trace(): - return DataFrame({"a": np.random.poisson(2.3, 100)}) - - -@pytest.fixture(scope="module") -def discrete_model(): - """Simple fixture for random discrete model""" - return {"x": np.random.randint(10, size=100), "y": np.random.randint(10, size=100)} - - -@pytest.fixture(scope="module") -def discrete_multidim_model(): - """Simple fixture for random discrete model""" - idata = from_dict( - {"x": np.random.randint(10, size=(2, 50, 3)), "y": np.random.randint(10, size=(2, 50))}, - dims={"x": ["school"]}, - ) - return idata - - -@pytest.fixture(scope="module") -def continuous_model(): - """Simple fixture for random continuous model""" - return {"x": np.random.beta(2, 5, size=100), "y": np.random.beta(2, 5, size=100)} - - -@pytest.fixture(scope="function") -def fig_ax(): - fig, ax = plt.subplots(1, 1) - return fig, ax - - -@pytest.fixture(scope="module") -def data_random(): - return np.random.randint(1, 100, size=20) - - -@pytest.fixture(scope="module") -def data_list(): - return list(range(11, 31)) - - -@pytest.mark.parametrize( - "kwargs", - [ - {"point_estimate": "mean"}, - {"point_estimate": "median"}, - {"hdi_prob": 0.94}, - {"hdi_prob": 1}, - {"outline": True}, - {"colors": ["g", "b", "r", "y"]}, - {"colors": "k"}, - {"hdi_markers": ["v"]}, - {"shade": 1}, - {"transform": lambda x: x + 1}, - {"ax": plt.subplots(6, 3)[1]}, - ], -) -def test_plot_density_float(models, kwargs): - obj = [getattr(models, model_fit) for model_fit in ["model_1", "model_2"]] - axes = plot_density(obj, **kwargs) - assert axes.shape == (6, 3) - - -def test_plot_density_discrete(discrete_model): - axes = plot_density(discrete_model, shade=0.9) - assert axes.size == 2 - - -def test_plot_density_no_subset(): - """Test plot_density works when variables are not subset of one another (#1093).""" - model_ab = from_dict( - { - "a": np.random.normal(size=200), - "b": np.random.normal(size=200), - } - ) - model_bc = from_dict( - { - "b": np.random.normal(size=200), - "c": np.random.normal(size=200), - } - ) - axes = plot_density([model_ab, model_bc]) - assert axes.size == 3 - - -def test_plot_density_nonstring_varnames(): - """Test plot_density works when variables are not strings.""" - rv1 = RandomVariableTestClass("a") - rv2 = RandomVariableTestClass("b") - rv3 = RandomVariableTestClass("c") - model_ab = from_dict( - { - rv1: np.random.normal(size=200), - rv2: np.random.normal(size=200), - } - ) - model_bc = from_dict( - { - rv2: np.random.normal(size=200), - rv3: np.random.normal(size=200), - } - ) - axes = plot_density([model_ab, model_bc]) - assert axes.size == 3 - - -def test_plot_density_bad_kwargs(models): - obj = [getattr(models, model_fit) for model_fit in ["model_1", "model_2"]] - with pytest.raises(ValueError): - plot_density(obj, point_estimate="bad_value") - - with pytest.raises(ValueError): - plot_density(obj, data_labels=[f"bad_value_{i}" for i in range(len(obj) + 10)]) - - with pytest.raises(ValueError): - plot_density(obj, hdi_prob=2) - - with pytest.raises(ValueError): - plot_density(obj, filter_vars="bad_value") - - -def test_plot_density_discrete_combinedims(discrete_model): - axes = plot_density(discrete_model, combine_dims={"school"}, shade=0.9) - assert axes.size == 2 - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"y_hat_line": True}, - {"expected_events": True}, - {"y_hat_line_kwargs": {"linestyle": "dotted"}}, - {"exp_events_kwargs": {"marker": "o"}}, - ], -) -def test_plot_separation(kwargs): - idata = load_arviz_data("classification10d") - ax = plot_separation(idata=idata, y="outcome", **kwargs) - assert ax - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": "mu"}, - {"var_names": ["mu", "tau"]}, - {"combined": True}, - {"compact": True}, - {"combined": True, "compact": True, "legend": True}, - {"divergences": "top", "legend": True}, - {"divergences": False}, - {"kind": "rank_vlines"}, - {"kind": "rank_bars"}, - {"lines": [("mu", {}, [1, 2])]}, - {"lines": [("mu", {}, 8)]}, - {"circ_var_names": ["mu"]}, - {"circ_var_names": ["mu"], "circ_var_units": "degrees"}, - ], -) -def test_plot_trace(models, kwargs): - axes = plot_trace(models.model_1, **kwargs) - assert axes.shape - - -@pytest.mark.parametrize( - "compact", - [True, False], -) -@pytest.mark.parametrize( - "combined", - [True, False], -) -def test_plot_trace_legend(compact, combined): - idata = load_arviz_data("rugby") - axes = plot_trace( - idata, var_names=["home", "atts_star"], compact=compact, combined=combined, legend=True - ) - assert axes[0, 1].get_legend() - compact_legend = axes[1, 0].get_legend() - if compact: - assert axes.shape == (2, 2) - assert compact_legend - else: - assert axes.shape == (7, 2) - assert not compact_legend - - -def test_plot_trace_discrete(discrete_model): - axes = plot_trace(discrete_model) - assert axes.shape - - -def test_plot_trace_max_subplots_warning(models): - with pytest.warns(UserWarning): - with rc_context(rc={"plot.max_subplots": 6}): - axes = plot_trace(models.model_1) - assert axes.shape == (3, 2) - - -def test_plot_dist_comparison_warning(models): - with pytest.warns(UserWarning): - with rc_context(rc={"plot.max_subplots": 6}): - axes = plot_dist_comparison(models.model_1) - assert axes.shape == (2, 3) - - -@pytest.mark.parametrize("kwargs", [{"var_names": ["mu", "tau"], "lines": [("hey", {}, [1])]}]) -def test_plot_trace_invalid_varname_warning(models, kwargs): - with pytest.warns(UserWarning, match="valid var.+should be provided"): - axes = plot_trace(models.model_1, **kwargs) - assert axes.shape - - -def test_plot_trace_diverging_correctly_transposed(): - idata = load_arviz_data("centered_eight") - idata.sample_stats["diverging"] = idata.sample_stats.diverging.T - plot_trace(idata, divergences="bottom") - - -@pytest.mark.parametrize( - "bad_kwargs", [{"var_names": ["mu", "tau"], "lines": [("mu", {}, ["hey"])]}] -) -def test_plot_trace_bad_lines_value(models, bad_kwargs): - with pytest.raises(ValueError, match="line-positions should be numeric"): - plot_trace(models.model_1, **bad_kwargs) - - -@pytest.mark.parametrize("prop", ["chain_prop", "compact_prop"]) -def test_plot_trace_futurewarning(models, prop): - with pytest.warns(FutureWarning, match=f"{prop} as a tuple.+deprecated"): - ax = plot_trace(models.model_1, **{prop: ("ls", ("-", "--"))}) - assert ax.shape - - -@pytest.mark.parametrize("model_fits", [["model_1"], ["model_1", "model_2"]]) -@pytest.mark.parametrize( - "args_expected", - [ - ({}, 1), - ({"var_names": "mu", "transform": lambda x: x + 1}, 1), - ({"var_names": "mu", "rope": (-1, 1), "combine_dims": {"school"}}, 1), - ({"r_hat": True, "quartiles": False}, 2), - ({"var_names": ["mu"], "colors": "C0", "ess": True, "combined": True}, 2), - ( - { - "kind": "ridgeplot", - "ridgeplot_truncate": False, - "ridgeplot_quantiles": [0.25, 0.5, 0.75], - }, - 1, - ), - ({"kind": "ridgeplot", "r_hat": True, "ess": True}, 3), - ({"kind": "ridgeplot", "r_hat": True, "ess": True}, 3), - ({"kind": "ridgeplot", "r_hat": True, "ess": True, "ridgeplot_alpha": 0}, 3), - ( - { - "var_names": ["mu", "theta"], - "rope": { - "mu": [{"rope": (-0.1, 0.1)}], - "theta": [{"school": "Choate", "rope": (0.2, 0.5)}], - }, - }, - 1, - ), - ], -) -def test_plot_forest(models, model_fits, args_expected): - obj = [getattr(models, model_fit) for model_fit in model_fits] - args, expected = args_expected - axes = plot_forest(obj, **args) - assert axes.size == expected - - -def test_plot_forest_rope_exception(): - with pytest.raises(ValueError) as err: - plot_forest({"x": [1]}, rope="not_correct_format") - assert "Argument `rope` must be None, a dictionary like" in str(err.value) - - -def test_plot_forest_single_value(): - axes = plot_forest({"x": [1]}) - assert axes.shape - - -def test_plot_forest_ridge_discrete(discrete_model): - axes = plot_forest(discrete_model, kind="ridgeplot") - assert axes.shape - - -@pytest.mark.parametrize("model_fits", [["model_1"], ["model_1", "model_2"]]) -def test_plot_forest_bad(models, model_fits): - obj = [getattr(models, model_fit) for model_fit in model_fits] - with pytest.raises(TypeError): - plot_forest(obj, kind="bad_kind") - - with pytest.raises(ValueError): - plot_forest(obj, model_names=[f"model_name_{i}" for i in range(len(obj) + 10)]) - - -@pytest.mark.parametrize("kind", ["kde", "hist"]) -def test_plot_energy(models, kind): - assert plot_energy(models.model_1, kind=kind) - - -def test_plot_energy_bad(models): - with pytest.raises(ValueError): - plot_energy(models.model_1, kind="bad_kind") - - -def test_plot_energy_correctly_transposed(): - idata = load_arviz_data("centered_eight") - idata.sample_stats["energy"] = idata.sample_stats.energy.T - ax = plot_energy(idata) - # legend has one entry for each KDE and 1 BFMI for each chain - assert len(ax.legend_.texts) == 2 + len(idata.sample_stats.chain) - - -def test_plot_parallel_raises_valueerror(df_trace): # pylint: disable=invalid-name - with pytest.raises(ValueError): - plot_parallel(df_trace) - - -@pytest.mark.parametrize("norm_method", [None, "normal", "minmax", "rank"]) -def test_plot_parallel(models, norm_method): - assert plot_parallel(models.model_1, var_names=["mu", "tau"], norm_method=norm_method) - - -@pytest.mark.parametrize("var_names", [None, "mu", ["mu", "tau"]]) -def test_plot_parallel_exception(models, var_names): - """Ensure that correct exception is raised when one variable is passed.""" - with pytest.raises(ValueError): - assert plot_parallel(models.model_1, var_names=var_names, norm_method="foo") - - -@pytest.mark.parametrize( - "kwargs", - [ - {"plot_kwargs": {"linestyle": "-"}}, - {"contour": True, "fill_last": False}, - { - "contour": True, - "contourf_kwargs": {"cmap": "plasma"}, - "contour_kwargs": {"linewidths": 1}, - }, - {"contour": False}, - {"contour": False, "pcolormesh_kwargs": {"cmap": "plasma"}}, - {"is_circular": False}, - {"is_circular": True}, - {"is_circular": "radians"}, - {"is_circular": "degrees"}, - {"adaptive": True}, - {"hdi_probs": [0.3, 0.9, 0.6]}, - {"hdi_probs": [0.3, 0.6, 0.9], "contourf_kwargs": {"cmap": "Blues"}}, - {"hdi_probs": [0.9, 0.6, 0.3], "contour_kwargs": {"alpha": 0}}, - ], -) -def test_plot_kde(continuous_model, kwargs): - axes = plot_kde(continuous_model["x"], continuous_model["y"], **kwargs) - axes1 = plot_kde(continuous_model["x"], continuous_model["y"], **kwargs) - assert axes - assert axes is axes1 - - -@pytest.mark.parametrize( - "kwargs", - [ - {"hdi_probs": [1, 2, 3]}, - {"hdi_probs": [-0.3, 0.6, 0.9]}, - {"hdi_probs": [0, 0.3, 0.6]}, - {"hdi_probs": [0.3, 0.6, 1]}, - ], -) -def test_plot_kde_hdi_probs_bad(continuous_model, kwargs): - """Ensure invalid hdi probabilities are rejected.""" - with pytest.raises(ValueError): - plot_kde(continuous_model["x"], continuous_model["y"], **kwargs) - - -@pytest.mark.parametrize( - "kwargs", - [ - {"hdi_probs": [0.3, 0.6, 0.9], "contourf_kwargs": {"levels": [0, 0.5, 1]}}, - {"hdi_probs": [0.3, 0.6, 0.9], "contour_kwargs": {"levels": [0, 0.5, 1]}}, - ], -) -def test_plot_kde_hdi_probs_warning(continuous_model, kwargs): - """Ensure warning is raised when too many keywords are specified.""" - with pytest.warns(UserWarning): - axes = plot_kde(continuous_model["x"], continuous_model["y"], **kwargs) - assert axes - - -@pytest.mark.parametrize("shape", [(8,), (8, 8), (8, 8, 8)]) -def test_cov(shape): - x = np.random.randn(*shape) - if x.ndim <= 2: - assert np.allclose(_cov(x), np.cov(x)) - else: - with pytest.raises(ValueError): - _cov(x) - - -@pytest.mark.parametrize( - "kwargs", - [ - {"cumulative": True}, - {"cumulative": True, "plot_kwargs": {"linestyle": "--"}}, - {"rug": True}, - {"rug": True, "rug_kwargs": {"alpha": 0.2}, "rotated": True}, - ], -) -def test_plot_kde_cumulative(continuous_model, kwargs): - axes = plot_kde(continuous_model["x"], quantiles=[0.25, 0.5, 0.75], **kwargs) - assert axes - - -@pytest.mark.parametrize( - "kwargs", - [ - {"kind": "hist"}, - {"kind": "kde"}, - {"is_circular": False}, - {"is_circular": False, "kind": "hist"}, - {"is_circular": True}, - {"is_circular": True, "kind": "hist"}, - {"is_circular": "radians"}, - {"is_circular": "radians", "kind": "hist"}, - {"is_circular": "degrees"}, - {"is_circular": "degrees", "kind": "hist"}, - ], -) -def test_plot_dist(continuous_model, kwargs): - axes = plot_dist(continuous_model["x"], **kwargs) - axes1 = plot_dist(continuous_model["x"], **kwargs) - assert axes - assert axes is axes1 - - -def test_plot_dist_hist(data_random): - axes = plot_dist(data_random, hist_kwargs=dict(bins=30)) - assert axes - - -def test_list_conversion(data_list): - axes = plot_dist(data_list, hist_kwargs=dict(bins=30)) - assert axes - - -@pytest.mark.parametrize( - "kwargs", - [ - {"plot_kwargs": {"linestyle": "-"}}, - {"contour": True, "fill_last": False}, - {"contour": False}, - ], -) -def test_plot_dist_2d_kde(continuous_model, kwargs): - axes = plot_dist(continuous_model["x"], continuous_model["y"], **kwargs) - assert axes - - -@pytest.mark.parametrize( - "kwargs", [{"plot_kwargs": {"linestyle": "-"}}, {"cumulative": True}, {"rug": True}] -) -def test_plot_kde_quantiles(continuous_model, kwargs): - axes = plot_kde(continuous_model["x"], quantiles=[0.05, 0.5, 0.95], **kwargs) - assert axes - - -def test_plot_kde_inference_data(models): - """ - Ensure that an exception is raised when plot_kde - is used with an inference data or Xarray dataset object. - """ - with pytest.raises(ValueError, match="Inference Data"): - plot_kde(models.model_1) - with pytest.raises(ValueError, match="Xarray"): - plot_kde(models.model_1.posterior) - - -@pytest.mark.slow -@pytest.mark.parametrize( - "kwargs", - [ - { - "var_names": "theta", - "divergences": True, - "coords": {"school": [0, 1]}, - "scatter_kwargs": {"marker": "x", "c": "C0"}, - "divergences_kwargs": {"marker": "*", "c": "C0"}, - }, - { - "divergences": True, - "scatter_kwargs": {"marker": "x", "c": "C0"}, - "divergences_kwargs": {"marker": "*", "c": "C0"}, - "var_names": ["theta", "mu"], - }, - {"kind": "kde", "var_names": ["theta"]}, - {"kind": "hexbin", "colorbar": False, "var_names": ["theta"]}, - {"kind": "hexbin", "colorbar": True, "var_names": ["theta"]}, - { - "kind": "hexbin", - "var_names": ["theta"], - "coords": {"school": [0, 1]}, - "colorbar": True, - "hexbin_kwargs": {"cmap": "viridis"}, - "textsize": 20, - }, - { - "point_estimate": "mean", - "reference_values": {"mu": 0, "tau": 0}, - "reference_values_kwargs": {"c": "C0", "marker": "*"}, - }, - { - "var_names": ["mu", "tau"], - "reference_values": {"mu": 0, "tau": 0}, - "labeller": MapLabeller({"mu": r"$\mu$", "theta": r"$\theta"}), - }, - { - "var_names": ["theta"], - "reference_values": {"theta": [0.0] * 8}, - "labeller": MapLabeller({"theta": r"$\theta$"}), - }, - { - "var_names": ["theta"], - "reference_values": {"theta": np.zeros(8)}, - "labeller": MapLabeller({"theta": r"$\theta$"}), - }, - ], -) -def test_plot_pair(models, kwargs): - ax = plot_pair(models.model_1, **kwargs) - assert np.all(ax) - - -@pytest.mark.parametrize( - "kwargs", [{"kind": "scatter"}, {"kind": "kde"}, {"kind": "hexbin", "colorbar": True}] -) -def test_plot_pair_2var(discrete_model, fig_ax, kwargs): - _, ax = fig_ax - ax = plot_pair(discrete_model, ax=ax, **kwargs) - assert ax - - -def test_plot_pair_bad(models): - with pytest.raises(ValueError): - plot_pair(models.model_1, kind="bad_kind") - with pytest.raises(Exception): - plot_pair(models.model_1, var_names=["mu"]) - - -@pytest.mark.parametrize("has_sample_stats", [True, False]) -def test_plot_pair_divergences_warning(has_sample_stats): - data = load_arviz_data("centered_eight") - if has_sample_stats: - # sample_stats present, diverging field missing - data.sample_stats = data.sample_stats.rename({"diverging": "diverging_missing"}) - else: - # sample_stats missing - data = data.posterior # pylint: disable=no-member - with pytest.warns(UserWarning): - ax = plot_pair(data, divergences=True) - assert np.all(ax) - - -@pytest.mark.parametrize( - "kwargs", [{}, {"marginals": True}, {"marginals": True, "var_names": ["mu", "tau"]}] -) -def test_plot_pair_overlaid(models, kwargs): - ax = plot_pair(models.model_1, **kwargs) - ax2 = plot_pair(models.model_2, ax=ax, **kwargs) - assert ax is ax2 - assert ax.shape - - -@pytest.mark.parametrize("marginals", [True, False]) -def test_plot_pair_combinedims(models, marginals): - ax = plot_pair( - models.model_1, var_names=["eta", "theta"], combine_dims={"school"}, marginals=marginals - ) - if marginals: - assert ax.shape == (2, 2) - else: - assert not isinstance(ax, np.ndarray) - - -@pytest.mark.parametrize("marginals", [True, False]) -@pytest.mark.parametrize("max_subplots", [True, False]) -def test_plot_pair_shapes(marginals, max_subplots): - rng = np.random.default_rng() - idata = from_dict({"a": rng.standard_normal((4, 500, 5))}) - if max_subplots: - with rc_context({"plot.max_subplots": 6}): - with pytest.warns(UserWarning, match="3x3 grid"): - ax = plot_pair(idata, marginals=marginals) - else: - ax = plot_pair(idata, marginals=marginals) - side = 3 if max_subplots else (4 + marginals) - assert ax.shape == (side, side) - - -@pytest.mark.parametrize("sharex", ["col", None]) -@pytest.mark.parametrize("sharey", ["row", None]) -@pytest.mark.parametrize("marginals", [True, False]) -def test_plot_pair_shared(sharex, sharey, marginals): - # Generate fake data and plot - rng = np.random.default_rng() - idata = from_dict({"a": rng.standard_normal((4, 500, 5))}) - numvars = 5 - (not marginals) - if sharex is None and sharey is None: - ax = plot_pair(idata, marginals=marginals) - else: - backend_kwargs = {} - if sharex is not None: - backend_kwargs["sharex"] = sharex - if sharey is not None: - backend_kwargs["sharey"] = sharey - with pytest.warns(UserWarning): - ax = plot_pair(idata, marginals=marginals, backend_kwargs=backend_kwargs) - - # Check x axes shared correctly - for i in range(numvars): - num_shared_x = numvars - i - assert len(ax[-1, i].get_shared_x_axes().get_siblings(ax[-1, i])) == num_shared_x - - # Check y axes shared correctly - for j in range(numvars): - if marginals: - num_shared_y = j - - # Check diagonal has unshared axis - assert len(ax[j, j].get_shared_y_axes().get_siblings(ax[j, j])) == 1 - - if j == 0: - continue - else: - num_shared_y = j + 1 - assert len(ax[j, 0].get_shared_y_axes().get_siblings(ax[j, 0])) == num_shared_y - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -@pytest.mark.parametrize("alpha", [None, 0.2, 1]) -@pytest.mark.parametrize("animated", [False, True]) -@pytest.mark.parametrize("observed", [True, False]) -@pytest.mark.parametrize("observed_rug", [False, True]) -def test_plot_ppc(models, kind, alpha, animated, observed, observed_rug): - if animation and not animation.writers.is_available("ffmpeg"): - pytest.skip("matplotlib animations within ArviZ require ffmpeg") - animation_kwargs = {"blit": False} - axes = plot_ppc( - models.model_1, - kind=kind, - alpha=alpha, - observed=observed, - observed_rug=observed_rug, - animated=animated, - animation_kwargs=animation_kwargs, - random_seed=3, - ) - if animated: - assert axes[0] - assert axes[1] - assert axes - - -def test_plot_ppc_transposed(): - idata = load_arviz_data("rugby") - idata.map( - lambda ds: ds.assign(points=xr.concat((ds.home_points, ds.away_points), "field")), - groups="observed_vars", - inplace=True, - ) - assert idata.posterior_predictive.points.dims == ("field", "chain", "draw", "match") - ax = plot_ppc( - idata, - kind="scatter", - var_names="points", - flatten=["field"], - coords={"match": ["Wales Italy"]}, - random_seed=3, - num_pp_samples=8, - ) - x, y = ax.get_lines()[2].get_data() - assert not np.isclose(y[0], 0) - assert np.all(np.array([47, 44, 15, 11]) == x) - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -@pytest.mark.parametrize("jitter", [None, 0, 0.1, 1, 3]) -@pytest.mark.parametrize("animated", [False, True]) -def test_plot_ppc_multichain(kind, jitter, animated): - if animation and not animation.writers.is_available("ffmpeg"): - pytest.skip("matplotlib animations within ArviZ require ffmpeg") - data = from_dict( - posterior_predictive={ - "x": np.random.randn(4, 100, 30), - "y_hat": np.random.randn(4, 100, 3, 10), - }, - observed_data={"x": np.random.randn(30), "y": np.random.randn(3, 10)}, - ) - animation_kwargs = {"blit": False} - axes = plot_ppc( - data, - kind=kind, - data_pairs={"y": "y_hat"}, - jitter=jitter, - animated=animated, - animation_kwargs=animation_kwargs, - random_seed=3, - ) - if animated: - assert np.all(axes[0]) - assert np.all(axes[1]) - else: - assert np.all(axes) - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -@pytest.mark.parametrize("animated", [False, True]) -def test_plot_ppc_discrete(kind, animated): - if animation and not animation.writers.is_available("ffmpeg"): - pytest.skip("matplotlib animations within ArviZ require ffmpeg") - data = from_dict( - observed_data={"obs": np.random.randint(1, 100, 15)}, - posterior_predictive={"obs": np.random.randint(1, 300, (1, 20, 15))}, - ) - - animation_kwargs = {"blit": False} - axes = plot_ppc(data, kind=kind, animated=animated, animation_kwargs=animation_kwargs) - if animated: - assert np.all(axes[0]) - assert np.all(axes[1]) - assert axes - - -@pytest.mark.skipif( - not animation.writers.is_available("ffmpeg"), - reason="matplotlib animations within ArviZ require ffmpeg", -) -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -def test_plot_ppc_save_animation(models, kind): - animation_kwargs = {"blit": False} - axes, anim = plot_ppc( - models.model_1, - kind=kind, - animated=True, - animation_kwargs=animation_kwargs, - num_pp_samples=5, - random_seed=3, - ) - assert axes - assert anim - animations_folder = "../saved_animations" - os.makedirs(animations_folder, exist_ok=True) - path = os.path.join(animations_folder, f"ppc_{kind}_animation.mp4") - anim.save(path) - assert os.path.exists(path) - assert os.path.getsize(path) - - -@pytest.mark.skipif( - not animation.writers.is_available("ffmpeg"), - reason="matplotlib animations within ArviZ require ffmpeg", -) -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -def test_plot_ppc_discrete_save_animation(kind): - data = from_dict( - observed_data={"obs": np.random.randint(1, 100, 15)}, - posterior_predictive={"obs": np.random.randint(1, 300, (1, 20, 15))}, - ) - animation_kwargs = {"blit": False} - axes, anim = plot_ppc( - data, - kind=kind, - animated=True, - animation_kwargs=animation_kwargs, - num_pp_samples=5, - random_seed=3, - ) - assert axes - assert anim - animations_folder = "../saved_animations" - os.makedirs(animations_folder, exist_ok=True) - path = os.path.join(animations_folder, f"ppc_discrete_{kind}_animation.mp4") - anim.save(path) - assert os.path.exists(path) - assert os.path.getsize(path) - - -@pytest.mark.skipif( - not animation.writers.is_available("ffmpeg"), - reason="matplotlib animations within ArviZ require ffmpeg", -) -@pytest.mark.parametrize("system", ["Windows", "Darwin"]) -def test_non_linux_blit(models, monkeypatch, system, caplog): - import platform - - def mock_system(): - return system - - monkeypatch.setattr(platform, "system", mock_system) - - animation_kwargs = {"blit": True} - axes, anim = plot_ppc( - models.model_1, - kind="kde", - animated=True, - animation_kwargs=animation_kwargs, - num_pp_samples=5, - random_seed=3, - ) - records = caplog.records - assert len(records) == 1 - assert records[0].levelname == "WARNING" - assert axes - assert anim - - -@pytest.mark.parametrize( - "kwargs", - [ - {"flatten": []}, - {"flatten": [], "coords": {"obs_dim": [1, 2, 3]}}, - {"flatten": ["obs_dim"], "coords": {"obs_dim": [1, 2, 3]}}, - ], -) -def test_plot_ppc_grid(models, kwargs): - axes = plot_ppc(models.model_1, kind="scatter", **kwargs) - if not kwargs.get("flatten") and not kwargs.get("coords"): - assert axes.size == 8 - elif not kwargs.get("flatten"): - assert axes.size == 3 - else: - assert not isinstance(axes, np.ndarray) - assert np.ravel(axes).size == 1 - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -def test_plot_ppc_bad(models, kind): - data = from_dict(posterior={"mu": np.random.randn()}) - with pytest.raises(TypeError): - plot_ppc(data, kind=kind) - with pytest.raises(TypeError): - plot_ppc(models.model_1, kind="bad_val") - with pytest.raises(TypeError): - plot_ppc(models.model_1, num_pp_samples="bad_val") - - -@pytest.mark.parametrize("kind", ["kde", "cumulative", "scatter"]) -def test_plot_ppc_ax(models, kind, fig_ax): - """Test ax argument of plot_ppc.""" - _, ax = fig_ax - axes = plot_ppc(models.model_1, kind=kind, ax=ax) - assert np.asarray(axes).item(0) is ax - - -@pytest.mark.skipif( - not animation.writers.is_available("ffmpeg"), - reason="matplotlib animations within ArviZ require ffmpeg", -) -def test_plot_ppc_bad_ax(models, fig_ax): - _, ax = fig_ax - _, ax2 = plt.subplots(1, 2) - with pytest.raises(ValueError, match="same figure"): - plot_ppc( - models.model_1, ax=[ax, *ax2], flatten=[], coords={"obs_dim": [1, 2, 3]}, animated=True - ) - with pytest.raises(ValueError, match="2 axes"): - plot_ppc(models.model_1, ax=ax2) - - -def test_plot_legend(models): - axes = plot_ppc(models.model_1) - legend_texts = axes.get_legend().get_texts() - result = [i.get_text() for i in legend_texts] - expected = ["Posterior predictive", "Observed", "Posterior predictive mean"] - assert result == expected - - -@pytest.mark.parametrize("var_names", (None, "mu", ["mu", "tau"])) -@pytest.mark.parametrize("side", ["both", "left", "right"]) -@pytest.mark.parametrize("rug", [True]) -def test_plot_violin(models, var_names, side, rug): - axes = plot_violin(models.model_1, var_names=var_names, side=side, rug=rug) - assert axes.shape - - -def test_plot_violin_ax(models): - _, ax = plt.subplots(1) - axes = plot_violin(models.model_1, var_names="mu", ax=ax) - assert axes.shape - - -def test_plot_violin_layout(models): - axes = plot_violin(models.model_1, var_names=["mu", "tau"], sharey=False) - assert axes.shape - - -def test_plot_violin_discrete(discrete_model): - axes = plot_violin(discrete_model) - assert axes.shape - - -@pytest.mark.parametrize("var_names", (None, "mu", ["mu", "tau"])) -def test_plot_violin_combinedims(models, var_names): - axes = plot_violin(models.model_1, var_names=var_names, combine_dims={"school"}) - assert axes.shape - - -def test_plot_violin_ax_combinedims(models): - _, ax = plt.subplots(1) - axes = plot_violin(models.model_1, var_names="mu", combine_dims={"school"}, ax=ax) - assert axes.shape - - -def test_plot_violin_layout_combinedims(models): - axes = plot_violin( - models.model_1, var_names=["mu", "tau"], combine_dims={"school"}, sharey=False - ) - assert axes.shape - - -def test_plot_violin_discrete_combinedims(discrete_model): - axes = plot_violin(discrete_model, combine_dims={"school"}) - assert axes.shape - - -def test_plot_autocorr_short_chain(): - """Check that logic for small chain defaulting doesn't cause exception""" - chain = np.arange(10) - axes = plot_autocorr(chain) - assert axes - - -def test_plot_autocorr_uncombined(models): - axes = plot_autocorr(models.model_1, combined=False) - assert axes.size - max_subplots = ( - np.inf if rcParams["plot.max_subplots"] is None else rcParams["plot.max_subplots"] - ) - assert axes.size == min(72, max_subplots) - - -def test_plot_autocorr_combined(models): - axes = plot_autocorr(models.model_1, combined=True) - assert axes.size == 18 - - -@pytest.mark.parametrize("var_names", (None, "mu", ["mu"], ["mu", "tau"])) -def test_plot_autocorr_var_names(models, var_names): - axes = plot_autocorr(models.model_1, var_names=var_names, combined=True) - if (isinstance(var_names, list) and len(var_names) == 1) or isinstance(var_names, str): - assert not isinstance(axes, np.ndarray) - else: - assert axes.shape - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": "mu"}, - {"var_names": ("mu", "tau"), "coords": {"school": [0, 1]}}, - {"var_names": "mu", "ref_line": True}, - { - "var_names": "mu", - "ref_line_kwargs": {"lw": 2, "color": "C2"}, - "bar_kwargs": {"width": 0.7}, - }, - {"var_names": "mu", "ref_line": False}, - {"var_names": "mu", "kind": "vlines"}, - { - "var_names": "mu", - "kind": "vlines", - "vlines_kwargs": {"lw": 0}, - "marker_vlines_kwargs": {"lw": 3}, - }, - ], -) -def test_plot_rank(models, kwargs): - axes = plot_rank(models.model_1, **kwargs) - var_names = kwargs.get("var_names", []) - if isinstance(var_names, str): - assert not isinstance(axes, np.ndarray) - else: - assert axes.shape - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": "mu"}, - {"var_names": ("mu", "tau")}, - {"rope": (-2, 2)}, - {"rope": {"mu": [{"rope": (-2, 2)}], "theta": [{"school": "Choate", "rope": (2, 4)}]}}, - {"point_estimate": "mode"}, - {"point_estimate": "median"}, - {"hdi_prob": "hide", "label": ""}, - {"point_estimate": None}, - {"ref_val": 0}, - {"ref_val": None}, - {"ref_val": {"mu": [{"ref_val": 1}]}}, - {"bins": None, "kind": "hist"}, - { - "ref_val": { - "theta": [ - # {"school": ["Choate", "Deerfield"], "ref_val": -1}, this is not working - {"school": "Lawrenceville", "ref_val": 3} - ] - } - }, - ], -) -def test_plot_posterior(models, kwargs): - axes = plot_posterior(models.model_1, **kwargs) - if isinstance(kwargs.get("var_names"), str): - assert not isinstance(axes, np.ndarray) - else: - assert axes.shape - - -def test_plot_posterior_boolean(): - data = np.random.choice(a=[False, True], size=(4, 100)) - axes = plot_posterior(data) - assert axes - plt.draw() - labels = [label.get_text() for label in axes.get_xticklabels()] - assert all(item in labels for item in ("True", "False")) - - -@pytest.mark.parametrize("kwargs", [{}, {"point_estimate": "mode"}, {"bins": None, "kind": "hist"}]) -def test_plot_posterior_discrete(discrete_model, kwargs): - axes = plot_posterior(discrete_model, **kwargs) - assert axes.shape - - -def test_plot_posterior_bad_type(): - with pytest.raises(TypeError): - plot_posterior(np.array(["a", "b", "c"])) - - -def test_plot_posterior_bad(models): - with pytest.raises(ValueError): - plot_posterior(models.model_1, rope="bad_value") - with pytest.raises(ValueError): - plot_posterior(models.model_1, ref_val="bad_value") - with pytest.raises(ValueError): - plot_posterior(models.model_1, point_estimate="bad_value") - - -@pytest.mark.parametrize("point_estimate", ("mode", "mean", "median")) -def test_plot_posterior_point_estimates(models, point_estimate): - axes = plot_posterior(models.model_1, var_names=("mu", "tau"), point_estimate=point_estimate) - assert axes.size == 2 - - -def test_plot_posterior_skipna(): - sample = np.linspace(0, 1) - sample[:10] = np.nan - plot_posterior({"a": sample}, skipna=True) - with pytest.raises(ValueError): - plot_posterior({"a": sample}, skipna=False) - - -@pytest.mark.parametrize("kwargs", [{"var_names": ["mu", "theta"]}]) -def test_plot_posterior_combinedims(models, kwargs): - axes = plot_posterior(models.model_1, combine_dims={"school"}, **kwargs) - if isinstance(kwargs.get("var_names"), str): - assert not isinstance(axes, np.ndarray) - else: - assert axes.shape - - -@pytest.mark.parametrize("kwargs", [{}, {"point_estimate": "mode"}, {"bins": None, "kind": "hist"}]) -def test_plot_posterior_discrete_combinedims(discrete_multidim_model, kwargs): - axes = plot_posterior(discrete_multidim_model, combine_dims={"school"}, **kwargs) - assert axes.size == 2 - - -@pytest.mark.parametrize("point_estimate", ("mode", "mean", "median")) -def test_plot_posterior_point_estimates_combinedims(models, point_estimate): - axes = plot_posterior( - models.model_1, - var_names=("mu", "tau"), - combine_dims={"school"}, - point_estimate=point_estimate, - ) - assert axes.size == 2 - - -def test_plot_posterior_skipna_combinedims(): - idata = load_arviz_data("centered_eight") - idata.posterior["theta"].loc[dict(school="Deerfield")] = np.nan - with pytest.raises(ValueError): - plot_posterior(idata, var_names="theta", combine_dims={"school"}, skipna=False) - ax = plot_posterior(idata, var_names="theta", combine_dims={"school"}, skipna=True) - assert not isinstance(ax, np.ndarray) - - -@pytest.mark.parametrize( - "kwargs", [{"insample_dev": True}, {"plot_standard_error": False}, {"plot_ic_diff": False}] -) -def test_plot_compare(models, kwargs): - model_compare = compare({"Model 1": models.model_1, "Model 2": models.model_2}) - - axes = plot_compare(model_compare, **kwargs) - assert axes - - -def test_plot_compare_no_ic(models): - """Check exception is raised if model_compare doesn't contain a valid information criterion""" - model_compare = compare({"Model 1": models.model_1, "Model 2": models.model_2}) - - # Drop column needed for plotting - model_compare = model_compare.drop("elpd_loo", axis=1) - with pytest.raises(ValueError) as err: - plot_compare(model_compare) - - assert "comp_df must contain one of the following" in str(err.value) - assert "['elpd_loo', 'elpd_waic']" in str(err.value) - - -@pytest.mark.parametrize( - "kwargs", - [ - {"color": "0.5", "circular": True}, - {"hdi_data": True, "fill_kwargs": {"alpha": 0}}, - {"plot_kwargs": {"alpha": 0}}, - {"smooth_kwargs": {"window_length": 33, "polyorder": 5, "mode": "mirror"}}, - {"hdi_data": True, "smooth": False}, - ], -) -def test_plot_hdi(models, data, kwargs): - hdi_data = kwargs.pop("hdi_data", None) - if hdi_data: - hdi_data = hdi(models.model_1.posterior["theta"]) - ax = plot_hdi(data["y"], hdi_data=hdi_data, **kwargs) - else: - ax = plot_hdi(data["y"], models.model_1.posterior["theta"], **kwargs) - assert ax - - -def test_plot_hdi_warning(): - """Check using both y and hdi_data sends a warning.""" - x_data = np.random.normal(0, 1, 100) - y_data = np.random.normal(2 + x_data * 0.5, 0.5, (1, 200, 100)) - hdi_data = hdi(y_data) - with pytest.warns(UserWarning, match="Both y and hdi_data"): - ax = plot_hdi(x_data, y=y_data, hdi_data=hdi_data) - assert ax - - -def test_plot_hdi_missing_arg_error(): - """Check that both y and hdi_data missing raises an error.""" - with pytest.raises(ValueError, match="One of {y, hdi_data"): - plot_hdi(np.arange(20)) - - -def test_plot_hdi_dataset_error(models): - """Check hdi_data as multiple variable Dataset raises an error.""" - hdi_data = hdi(models.model_1) - with pytest.raises(ValueError, match="Only single variable Dataset"): - plot_hdi(np.arange(8), hdi_data=hdi_data) - - -def test_plot_hdi_string_error(): - """Check x as type string raises an error.""" - x_data = ["a", "b", "c", "d"] - y_data = np.random.normal(0, 5, (1, 200, len(x_data))) - hdi_data = hdi(y_data) - with pytest.raises( - NotImplementedError, - match=re.escape( - ( - "The `arviz.plot_hdi()` function does not support categorical data. " - "Consider using `arviz.plot_forest()`." - ) - ), - ): - plot_hdi(x=x_data, y=y_data, hdi_data=hdi_data) - - -def test_plot_hdi_datetime_error(): - """Check x as datetime raises an error.""" - x_data = np.arange(start="2022-01-01", stop="2022-03-01", dtype=np.datetime64) - y_data = np.random.normal(0, 5, (1, 200, x_data.shape[0])) - hdi_data = hdi(y_data) - with pytest.raises(TypeError, match="Cannot deal with x as type datetime."): - plot_hdi(x=x_data, y=y_data, hdi_data=hdi_data) - - -@pytest.mark.parametrize("limits", [(-10.0, 10.0), (-5, 5), (None, None)]) -def test_kde_scipy(limits): - """ - Evaluates if sum of density is the same for our implementation - and the implementation in scipy - """ - data = np.random.normal(0, 1, 10000) - grid, density_own = _kde(data, custom_lims=limits) - density_sp = gaussian_kde(data).evaluate(grid) - np.testing.assert_almost_equal(density_own.sum(), density_sp.sum(), 1) - - -@pytest.mark.parametrize("limits", [(-10.0, 10.0), (-5, 5), (None, None)]) -def test_kde_cumulative(limits): - """ - Evaluates if last value of cumulative density is 1 - """ - data = np.random.normal(0, 1, 1000) - density = _kde(data, custom_lims=limits, cumulative=True)[1] - np.testing.assert_almost_equal(round(density[-1], 3), 1) - - -def test_plot_ecdf_basic(): - data = np.random.randn(4, 1000) - axes = plot_ecdf(data) - assert axes is not None - - -def test_plot_ecdf_eval_points(): - """Check that BehaviourChangeWarning is raised if eval_points is not specified.""" - data = np.random.randn(4, 1000) - eval_points = np.linspace(-3, 3, 100) - with pytest.warns(BehaviourChangeWarning): - axes = plot_ecdf(data) - assert axes is not None - with does_not_warn(BehaviourChangeWarning): - axes = plot_ecdf(data, eval_points=eval_points) - assert axes is not None - - -@pytest.mark.parametrize("confidence_bands", [True, "pointwise", "optimized", "simulated"]) -@pytest.mark.parametrize("ndraws", [100, 10_000]) -def test_plot_ecdf_confidence_bands(confidence_bands, ndraws): - """Check that all confidence_bands values correctly accepted""" - data = np.random.randn(4, ndraws // 4) - axes = plot_ecdf(data, confidence_bands=confidence_bands, cdf=norm(0, 1).cdf) - assert axes is not None - - -def test_plot_ecdf_values2(): - data = np.random.randn(4, 1000) - data2 = np.random.randn(4, 1000) - axes = plot_ecdf(data, data2) - assert axes is not None - - -def test_plot_ecdf_cdf(): - data = np.random.randn(4, 1000) - cdf = norm(0, 1).cdf - axes = plot_ecdf(data, cdf=cdf) - assert axes is not None - - -def test_plot_ecdf_error(): - """Check that all error conditions are correctly raised.""" - dist = norm(0, 1) - data = dist.rvs(1000) - - # cdf not specified - with pytest.raises(ValueError): - plot_ecdf(data, confidence_bands=True) - plot_ecdf(data, confidence_bands=True, cdf=dist.cdf) - with pytest.raises(ValueError): - plot_ecdf(data, difference=True) - plot_ecdf(data, difference=True, cdf=dist.cdf) - with pytest.raises(ValueError): - plot_ecdf(data, pit=True) - plot_ecdf(data, pit=True, cdf=dist.cdf) - - # contradictory confidence band types - with pytest.raises(ValueError): - plot_ecdf(data, cdf=dist.cdf, confidence_bands="simulated", pointwise=True) - with pytest.raises(ValueError): - plot_ecdf(data, cdf=dist.cdf, confidence_bands="optimized", pointwise=True) - plot_ecdf(data, cdf=dist.cdf, confidence_bands=True, pointwise=True) - plot_ecdf(data, cdf=dist.cdf, confidence_bands="pointwise") - - # contradictory band probabilities - with pytest.raises(ValueError): - plot_ecdf(data, cdf=dist.cdf, confidence_bands=True, ci_prob=0.9, fpr=0.1) - plot_ecdf(data, cdf=dist.cdf, confidence_bands=True, ci_prob=0.9) - plot_ecdf(data, cdf=dist.cdf, confidence_bands=True, fpr=0.1) - - # contradictory reference - data2 = dist.rvs(200) - with pytest.raises(ValueError): - plot_ecdf(data, data2, cdf=dist.cdf, difference=True) - plot_ecdf(data, data2, difference=True) - plot_ecdf(data, cdf=dist.cdf, difference=True) - - -def test_plot_ecdf_deprecations(): - """Check that deprecations are raised correctly.""" - dist = norm(0, 1) - data = dist.rvs(1000) - # base case, no deprecations - with does_not_warn(FutureWarning): - axes = plot_ecdf(data, cdf=dist.cdf, confidence_bands=True) - assert axes is not None - - # values2 is deprecated - data2 = dist.rvs(200) - with pytest.warns(FutureWarning): - axes = plot_ecdf(data, values2=data2, difference=True) - - # pit is deprecated - with pytest.warns(FutureWarning): - axes = plot_ecdf(data, cdf=dist.cdf, pit=True) - assert axes is not None - - # fpr is deprecated - with does_not_warn(FutureWarning): - axes = plot_ecdf(data, cdf=dist.cdf, ci_prob=0.9) - with pytest.warns(FutureWarning): - axes = plot_ecdf(data, cdf=dist.cdf, confidence_bands=True, fpr=0.1) - assert axes is not None - - # pointwise is deprecated - with does_not_warn(FutureWarning): - axes = plot_ecdf(data, cdf=dist.cdf, confidence_bands="pointwise") - with pytest.warns(FutureWarning): - axes = plot_ecdf(data, cdf=dist.cdf, confidence_bands=True, pointwise=True) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"ic": "loo"}, - {"xlabels": True, "scale": "log"}, - {"color": "obs_dim", "xlabels": True}, - {"color": "obs_dim", "legend": True}, - {"ic": "loo", "color": "blue", "coords": {"obs_dim": slice(2, 5)}}, - {"color": np.random.uniform(size=8), "threshold": 0.1}, - {"threshold": 2}, - ], -) -@pytest.mark.parametrize("add_model", [False, True]) -@pytest.mark.parametrize("use_elpddata", [False, True]) -def test_plot_elpd(models, add_model, use_elpddata, kwargs): - model_dict = {"Model 1": models.model_1, "Model 2": models.model_2} - if add_model: - model_dict["Model 3"] = create_model(seed=12) - - if use_elpddata: - ic = kwargs.get("ic", "waic") - scale = kwargs.get("scale", "deviance") - if ic == "waic": - model_dict = {k: waic(v, scale=scale, pointwise=True) for k, v in model_dict.items()} - else: - model_dict = {k: loo(v, scale=scale, pointwise=True) for k, v in model_dict.items()} - - axes = plot_elpd(model_dict, **kwargs) - assert np.all(axes) - if add_model: - assert axes.shape[0] == axes.shape[1] - assert axes.shape[0] == len(model_dict) - 1 - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"ic": "loo"}, - {"xlabels": True, "scale": "log"}, - {"color": "dim1", "xlabels": True}, - {"color": "dim2", "legend": True}, - {"ic": "loo", "color": "blue", "coords": {"dim2": slice(2, 4)}}, - {"color": np.random.uniform(size=35), "threshold": 0.1}, - ], -) -@pytest.mark.parametrize("add_model", [False, True]) -@pytest.mark.parametrize("use_elpddata", [False, True]) -def test_plot_elpd_multidim(multidim_models, add_model, use_elpddata, kwargs): - model_dict = {"Model 1": multidim_models.model_1, "Model 2": multidim_models.model_2} - if add_model: - model_dict["Model 3"] = create_multidimensional_model(seed=12) - - if use_elpddata: - ic = kwargs.get("ic", "waic") - scale = kwargs.get("scale", "deviance") - if ic == "waic": - model_dict = {k: waic(v, scale=scale, pointwise=True) for k, v in model_dict.items()} - else: - model_dict = {k: loo(v, scale=scale, pointwise=True) for k, v in model_dict.items()} - - axes = plot_elpd(model_dict, **kwargs) - assert np.all(axes) - if add_model: - assert axes.shape[0] == axes.shape[1] - assert axes.shape[0] == len(model_dict) - 1 - - -def test_plot_elpd_bad_ic(models): - model_dict = { - "Model 1": waic(models.model_1, pointwise=True), - "Model 2": loo(models.model_2, pointwise=True), - } - with pytest.raises(ValueError): - plot_elpd(model_dict, ic="bad_ic") - - -def test_plot_elpd_ic_error(models): - model_dict = { - "Model 1": waic(models.model_1, pointwise=True), - "Model 2": loo(models.model_2, pointwise=True), - } - with pytest.raises(ValueError): - plot_elpd(model_dict) - - -def test_plot_elpd_scale_error(models): - model_dict = { - "Model 1": waic(models.model_1, pointwise=True, scale="log"), - "Model 2": waic(models.model_2, pointwise=True, scale="deviance"), - } - with pytest.raises(ValueError): - plot_elpd(model_dict) - - -def test_plot_elpd_one_model(models): - model_dict = {"Model 1": models.model_1} - with pytest.raises(Exception): - plot_elpd(model_dict) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"xlabels": True}, - {"color": "obs_dim", "xlabels": True, "show_bins": True, "bin_format": "{0}"}, - {"color": "obs_dim", "legend": True, "hover_label": True}, - {"color": "blue", "coords": {"obs_dim": slice(2, 4)}}, - {"color": np.random.uniform(size=8), "show_bins": True}, - { - "color": np.random.uniform(size=(8, 3)), - "show_bins": True, - "show_hlines": True, - "threshold": 1, - }, - ], -) -@pytest.mark.parametrize("input_type", ["elpd_data", "data_array", "array"]) -def test_plot_khat(models, input_type, kwargs): - khats_data = loo(models.model_1, pointwise=True) - - if input_type == "data_array": - khats_data = khats_data.pareto_k - elif input_type == "array": - khats_data = khats_data.pareto_k.values - if "color" in kwargs and isinstance(kwargs["color"], str) and kwargs["color"] == "obs_dim": - kwargs["color"] = None - - axes = plot_khat(khats_data, **kwargs) - assert axes - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"xlabels": True}, - {"color": "dim1", "xlabels": True, "show_bins": True, "bin_format": "{0}"}, - {"color": "dim2", "legend": True, "hover_label": True}, - {"color": "blue", "coords": {"dim2": slice(2, 4)}}, - {"color": np.random.uniform(size=35), "show_bins": True}, - { - "color": np.random.uniform(size=(35, 3)), - "show_bins": True, - "show_hlines": True, - "threshold": 1, - }, - ], -) -@pytest.mark.parametrize("input_type", ["elpd_data", "data_array", "array"]) -def test_plot_khat_multidim(multidim_models, input_type, kwargs): - khats_data = loo(multidim_models.model_1, pointwise=True) - - if input_type == "data_array": - khats_data = khats_data.pareto_k - elif input_type == "array": - khats_data = khats_data.pareto_k.values - if ( - "color" in kwargs - and isinstance(kwargs["color"], str) - and kwargs["color"] in ("dim1", "dim2") - ): - kwargs["color"] = None - - axes = plot_khat(khats_data, **kwargs) - assert axes - - -def test_plot_khat_threshold(): - khats = np.array([0, 0, 0.6, 0.6, 0.8, 0.9, 0.9, 2, 3, 4, 1.5]) - axes = plot_khat(khats, threshold=1) - assert axes - - -def test_plot_khat_bad_input(models): - with pytest.raises(ValueError): - plot_khat(models.model_1.sample_stats) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": ["theta"], "relative": True, "color": "r"}, - {"coords": {"school": slice(4)}, "n_points": 10}, - {"min_ess": 600, "hline_kwargs": {"color": "r"}}, - ], -) -@pytest.mark.parametrize("kind", ["local", "quantile", "evolution"]) -def test_plot_ess(models, kind, kwargs): - """Test plot_ess arguments common to all kind of plots.""" - idata = models.model_1 - ax = plot_ess(idata, kind=kind, **kwargs) - assert np.all(ax) - - -@pytest.mark.parametrize( - "kwargs", - [ - {"rug": True}, - {"rug": True, "rug_kind": "max_depth", "rug_kwargs": {"color": "c"}}, - {"extra_methods": True}, - {"extra_methods": True, "extra_kwargs": {"ls": ":"}, "text_kwargs": {"x": 0, "ha": "left"}}, - {"extra_methods": True, "rug": True}, - ], -) -@pytest.mark.parametrize("kind", ["local", "quantile"]) -def test_plot_ess_local_quantile(models, kind, kwargs): - """Test specific arguments in kinds local and quantile of plot_ess.""" - idata = models.model_1 - ax = plot_ess(idata, kind=kind, **kwargs) - assert np.all(ax) - - -def test_plot_ess_evolution(models): - """Test specific arguments in evolution kind of plot_ess.""" - idata = models.model_1 - ax = plot_ess(idata, kind="evolution", extra_kwargs={"linestyle": "--"}, color="b") - assert np.all(ax) - - -def test_plot_ess_bad_kind(models): - """Test error when plot_ess receives an invalid kind.""" - idata = models.model_1 - with pytest.raises(ValueError, match="Invalid kind"): - plot_ess(idata, kind="bad kind") - - -@pytest.mark.parametrize("dim", ["chain", "draw"]) -def test_plot_ess_bad_coords(models, dim): - """Test error when chain or dim are used as coords to select a data subset.""" - idata = models.model_1 - with pytest.raises(ValueError, match="invalid coordinates"): - plot_ess(idata, coords={dim: slice(3)}) - - -def test_plot_ess_no_sample_stats(models): - """Test error when rug=True but sample_stats group is not present.""" - idata = models.model_1 - with pytest.raises(ValueError, match="must contain sample_stats"): - plot_ess(idata.posterior, rug=True) - - -def test_plot_ess_no_divergences(models): - """Test error when rug=True, but the variable defined by rug_kind is missing.""" - idata = deepcopy(models.model_1) - idata.sample_stats = idata.sample_stats.rename({"diverging": "diverging_missing"}) - with pytest.raises(ValueError, match="not contain diverging"): - plot_ess(idata, rug=True) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"n_unif": 50, "legend": False}, - {"use_hdi": True, "color": "gray"}, - {"use_hdi": True, "hdi_prob": 0.68}, - {"use_hdi": True, "hdi_kwargs": {"fill": 0.1}}, - {"ecdf": True}, - {"ecdf": True, "ecdf_fill": False, "plot_unif_kwargs": {"ls": "--"}}, - {"ecdf": True, "hdi_prob": 0.97, "fill_kwargs": {"hatch": "/"}}, - ], -) -def test_plot_loo_pit(models, kwargs): - axes = plot_loo_pit(idata=models.model_1, y="y", **kwargs) - assert axes - - -def test_plot_loo_pit_incompatible_args(models): - """Test error when both ecdf and use_hdi are True.""" - with pytest.raises(ValueError, match="incompatible"): - plot_loo_pit(idata=models.model_1, y="y", ecdf=True, use_hdi=True) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": ["theta"], "color": "r"}, - {"rug": True, "rug_kwargs": {"color": "r"}}, - {"errorbar": True, "rug": True, "rug_kind": "max_depth"}, - {"errorbar": True, "coords": {"school": slice(4)}, "n_points": 10}, - {"extra_methods": True, "rug": True}, - {"extra_methods": True, "extra_kwargs": {"ls": ":"}, "text_kwargs": {"x": 0, "ha": "left"}}, - ], -) -def test_plot_mcse(models, kwargs): - idata = models.model_1 - ax = plot_mcse(idata, **kwargs) - assert np.all(ax) - - -@pytest.mark.parametrize("dim", ["chain", "draw"]) -def test_plot_mcse_bad_coords(models, dim): - """Test error when chain or dim are used as coords to select a data subset.""" - idata = models.model_1 - with pytest.raises(ValueError, match="invalid coordinates"): - plot_mcse(idata, coords={dim: slice(3)}) - - -def test_plot_mcse_no_sample_stats(models): - """Test error when rug=True but sample_stats group is not present.""" - idata = models.model_1 - with pytest.raises(ValueError, match="must contain sample_stats"): - plot_mcse(idata.posterior, rug=True) - - -def test_plot_mcse_no_divergences(models): - """Test error when rug=True, but the variable defined by rug_kind is missing.""" - idata = deepcopy(models.model_1) - idata.sample_stats = idata.sample_stats.rename({"diverging": "diverging_missing"}) - with pytest.raises(ValueError, match="not contain diverging"): - plot_mcse(idata, rug=True) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"var_names": ["theta"]}, - {"var_names": ["theta"], "coords": {"school": [0, 1]}}, - {"var_names": ["eta"], "posterior_kwargs": {"rug": True, "rug_kwargs": {"color": "r"}}}, - {"var_names": ["mu"], "prior_kwargs": {"fill_kwargs": {"alpha": 0.5}}}, - { - "var_names": ["tau"], - "prior_kwargs": {"plot_kwargs": {"color": "r"}}, - "posterior_kwargs": {"plot_kwargs": {"color": "b"}}, - }, - {"var_names": ["y"], "kind": "observed"}, - ], -) -def test_plot_dist_comparison(models, kwargs): - idata = models.model_1 - ax = plot_dist_comparison(idata, **kwargs) - assert np.all(ax) - - -def test_plot_dist_comparison_different_vars(): - data = from_dict( - posterior={ - "x": np.random.randn(4, 100, 30), - }, - prior={"x_hat": np.random.randn(4, 100, 30)}, - ) - with pytest.raises(KeyError): - plot_dist_comparison(data, var_names="x") - ax = plot_dist_comparison(data, var_names=[["x_hat"], ["x"]]) - assert np.all(ax) - - -def test_plot_dist_comparison_combinedims(models): - idata = models.model_1 - ax = plot_dist_comparison(idata, combine_dims={"school"}) - assert np.all(ax) - - -def test_plot_dist_comparison_different_vars_combinedims(): - data = from_dict( - posterior={ - "x": np.random.randn(4, 100, 30), - }, - prior={"x_hat": np.random.randn(4, 100, 30)}, - dims={"x": ["3rd_dim"], "x_hat": ["3rd_dim"]}, - ) - with pytest.raises(KeyError): - plot_dist_comparison(data, var_names="x", combine_dims={"3rd_dim"}) - ax = plot_dist_comparison(data, var_names=[["x_hat"], ["x"]], combine_dims={"3rd_dim"}) - assert np.all(ax) - assert ax.size == 3 - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"reference": "analytical"}, - {"kind": "p_value"}, - {"kind": "t_stat", "t_stat": "std"}, - {"kind": "t_stat", "t_stat": 0.5, "bpv": True}, - ], -) -def test_plot_bpv(models, kwargs): - axes = plot_bpv(models.model_1, **kwargs) - assert not isinstance(axes, np.ndarray) - - -def test_plot_bpv_discrete(): - fake_obs = {"a": np.random.poisson(2.5, 100)} - fake_pp = {"a": np.random.poisson(2.5, (1, 10, 100))} - fake_model = from_dict(posterior_predictive=fake_pp, observed_data=fake_obs) - axes = plot_bpv(fake_model) - assert not isinstance(axes, np.ndarray) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - { - "binwidth": 0.5, - "stackratio": 2, - "nquantiles": 20, - }, - {"point_interval": True}, - { - "point_interval": True, - "dotsize": 1.2, - "point_estimate": "median", - "plot_kwargs": {"color": "grey"}, - }, - { - "point_interval": True, - "plot_kwargs": {"color": "grey"}, - "nquantiles": 100, - "hdi_prob": 0.95, - "intervalcolor": "green", - }, - { - "point_interval": True, - "plot_kwargs": {"color": "grey"}, - "quartiles": False, - "linewidth": 2, - }, - ], -) -def test_plot_dot(continuous_model, kwargs): - data = continuous_model["x"] - ax = plot_dot(data, **kwargs) - assert ax - - -@pytest.mark.parametrize( - "kwargs", - [ - {"rotated": True}, - { - "point_interval": True, - "rotated": True, - "dotcolor": "grey", - "binwidth": 0.5, - }, - { - "rotated": True, - "point_interval": True, - "plot_kwargs": {"color": "grey"}, - "nquantiles": 100, - "dotsize": 0.8, - "hdi_prob": 0.95, - "intervalcolor": "green", - }, - ], -) -def test_plot_dot_rotated(continuous_model, kwargs): - data = continuous_model["x"] - ax = plot_dot(data, **kwargs) - assert ax - - -@pytest.mark.parametrize( - "kwargs", - [ - { - "point_estimate": "mean", - "hdi_prob": 0.95, - "quartiles": False, - "linewidth": 2, - "markersize": 2, - "markercolor": "red", - "marker": "o", - "rotated": False, - "intervalcolor": "green", - }, - ], -) -def test_plot_point_interval(continuous_model, kwargs): - _, ax = plt.subplots() - data = continuous_model["x"] - values = np.sort(data) - ax = plot_point_interval(ax, values, **kwargs) - assert ax - - -def test_wilkinson_algorithm(continuous_model): - data = continuous_model["x"] - values = np.sort(data) - _, stack_counts = wilkinson_algorithm(values, 0.5) - assert np.sum(stack_counts) == len(values) - stack_locs, stack_counts = wilkinson_algorithm([0.0, 1.0, 1.8, 3.0, 5.0], 1.0) - assert stack_locs == [0.0, 1.4, 3.0, 5.0] - assert stack_counts == [1, 2, 1, 1] - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"y_hat": "bad_name"}, - {"x": "x1"}, - {"x": ("x1", "x2")}, - { - "x": ("x1", "x2"), - "y_kwargs": {"color": "blue", "marker": "^"}, - "y_hat_plot_kwargs": {"color": "cyan"}, - }, - {"x": ("x1", "x2"), "y_model_plot_kwargs": {"color": "red"}}, - { - "x": ("x1", "x2"), - "kind_pp": "hdi", - "kind_model": "hdi", - "y_model_fill_kwargs": {"color": "red"}, - "y_hat_fill_kwargs": {"color": "cyan"}, - }, - ], -) -def test_plot_lm_1d(models, kwargs): - """Test functionality for 1D data.""" - idata = models.model_1 - if "constant_data" not in idata.groups(): - y = idata.observed_data["y"] - x1data = y.coords[y.dims[0]] - idata.add_groups({"constant_data": {"_": x1data}}) - idata.constant_data["x1"] = x1data - idata.constant_data["x2"] = x1data - - axes = plot_lm(idata=idata, y="y", y_model="eta", xjitter=True, **kwargs) - assert np.all(axes) - - -def test_plot_lm_multidim(multidim_models): - """Test functionality for multidimentional data.""" - idata = multidim_models.model_1 - axes = plot_lm( - idata=idata, - x=idata.observed_data["y"].coords["dim1"].values, - y="y", - xjitter=True, - plot_dim="dim1", - show=False, - figsize=(4, 16), - ) - assert np.all(axes) - - -@pytest.mark.parametrize( - "val_err_kwargs", - [ - {}, - {"kind_pp": "bad_kind"}, - {"kind_model": "bad_kind"}, - ], -) -def test_plot_lm_valueerror(multidim_models, val_err_kwargs): - """Test error plot_dim gets no value for multidim data and wrong value in kind_... args.""" - idata2 = multidim_models.model_1 - with pytest.raises(ValueError): - plot_lm(idata=idata2, y="y", **val_err_kwargs) - - -@pytest.mark.parametrize( - "warn_kwargs", - [ - {"y_hat": "bad_name"}, - {"y_model": "bad_name"}, - ], -) -def test_plot_lm_warning(models, warn_kwargs): - """Test Warning when needed groups or variables are not there in idata.""" - idata1 = models.model_1 - with pytest.warns(UserWarning): - plot_lm( - idata=from_dict(observed_data={"y": idata1.observed_data["y"].values}), - y="y", - **warn_kwargs, - ) - with pytest.warns(UserWarning): - plot_lm(idata=idata1, y="y", **warn_kwargs) - - -def test_plot_lm_typeerror(models): - """Test error when invalid value passed to num_samples.""" - idata1 = models.model_1 - with pytest.raises(TypeError): - plot_lm(idata=idata1, y="y", num_samples=-1) - - -def test_plot_lm_list(): - """Test the plots when input data is list or ndarray.""" - y = [1, 2, 3, 4, 5] - assert plot_lm(y=y, x=np.arange(len(y)), show=False) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"y_hat": "bad_name"}, - {"x": "x"}, - {"x": ("x", "x")}, - {"y_holdout": "z"}, - {"y_holdout": "z", "x_holdout": "x_pred"}, - {"x": ("x", "x"), "y_holdout": "z", "x_holdout": ("x_pred", "x_pred")}, - {"y_forecasts": "z"}, - {"y_holdout": "z", "y_forecasts": "bad_name"}, - ], -) -def test_plot_ts(kwargs): - """Test timeseries plots basic functionality.""" - nchains = 4 - ndraws = 500 - obs_data = { - "y": 2 * np.arange(1, 9) + 3, - "z": 2 * np.arange(8, 12) + 3, - } - - posterior_predictive = { - "y": np.random.normal( - (obs_data["y"] * 1.2) - 3, size=(nchains, ndraws, len(obs_data["y"])) - ), - "z": np.random.normal( - (obs_data["z"] * 1.2) - 3, size=(nchains, ndraws, len(obs_data["z"])) - ), - } - - const_data = {"x": np.arange(1, 9), "x_pred": np.arange(8, 12)} - - idata = from_dict( - observed_data=obs_data, - posterior_predictive=posterior_predictive, - constant_data=const_data, - coords={"obs_dim": np.arange(1, 9), "pred_dim": np.arange(8, 12)}, - dims={"y": ["obs_dim"], "z": ["pred_dim"]}, - ) - - ax = plot_ts(idata=idata, y="y", **kwargs) - assert np.all(ax) - - -@pytest.mark.parametrize( - "kwargs", - [ - {}, - { - "y_holdout": "z", - "holdout_dim": "holdout_dim1", - "x": ("x", "x"), - "x_holdout": ("x_pred", "x_pred"), - }, - {"y_forecasts": "z", "holdout_dim": "holdout_dim1"}, - ], -) -def test_plot_ts_multidim(kwargs): - """Test timeseries plots multidim functionality.""" - nchains = 4 - ndraws = 500 - ndim1 = 5 - ndim2 = 7 - data = { - "y": np.random.normal(size=(ndim1, ndim2)), - "z": np.random.normal(size=(ndim1, ndim2)), - } - - posterior_predictive = { - "y": np.random.randn(nchains, ndraws, ndim1, ndim2), - "z": np.random.randn(nchains, ndraws, ndim1, ndim2), - } - - const_data = {"x": np.arange(1, 6), "x_pred": np.arange(5, 10)} - - idata = from_dict( - observed_data=data, - posterior_predictive=posterior_predictive, - constant_data=const_data, - dims={ - "y": ["dim1", "dim2"], - "z": ["holdout_dim1", "holdout_dim2"], - }, - coords={ - "dim1": range(ndim1), - "dim2": range(ndim2), - "holdout_dim1": range(ndim1 - 1, ndim1 + 4), - "holdout_dim2": range(ndim2 - 1, ndim2 + 6), - }, - ) - - ax = plot_ts(idata=idata, y="y", plot_dim="dim1", **kwargs) - assert np.all(ax) - - -@pytest.mark.parametrize("val_err_kwargs", [{}, {"plot_dim": "dim1", "y_holdout": "y"}]) -def test_plot_ts_valueerror(multidim_models, val_err_kwargs): - """Test error plot_dim gets no value for multidim data and wrong value in kind_... args.""" - idata2 = multidim_models.model_1 - with pytest.raises(ValueError): - plot_ts(idata=idata2, y="y", **val_err_kwargs) - - -def test_plot_bf(): - idata = from_dict( - posterior={"a": np.random.normal(1, 0.5, 5000)}, prior={"a": np.random.normal(0, 1, 5000)} - ) - _, bf_plot = plot_bf(idata, var_name="a", ref_val=0) - assert bf_plot is not None - - -def generate_lm_1d_data(): - rng = np.random.default_rng() - return from_dict( - observed_data={"y": rng.normal(size=7)}, - posterior_predictive={"y": rng.normal(size=(4, 1000, 7)) / 2}, - posterior={"y_model": rng.normal(size=(4, 1000, 7))}, - dims={"y": ["dim1"]}, - coords={"dim1": range(7)}, - ) - - -def generate_lm_2d_data(): - rng = np.random.default_rng() - return from_dict( - observed_data={"y": rng.normal(size=(5, 7))}, - posterior_predictive={"y": rng.normal(size=(4, 1000, 5, 7)) / 2}, - posterior={"y_model": rng.normal(size=(4, 1000, 5, 7))}, - dims={"y": ["dim1", "dim2"]}, - coords={"dim1": range(5), "dim2": range(7)}, - ) - - -@pytest.mark.parametrize("data", ("1d", "2d")) -@pytest.mark.parametrize("kind", ("lines", "hdi")) -@pytest.mark.parametrize("use_y_model", (True, False)) -def test_plot_lm(data, kind, use_y_model): - if data == "1d": - idata = generate_lm_1d_data() - else: - idata = generate_lm_2d_data() - - kwargs = {"idata": idata, "y": "y", "kind_model": kind} - if data == "2d": - kwargs["plot_dim"] = "dim1" - if use_y_model: - kwargs["y_model"] = "y_model" - if kind == "lines": - kwargs["num_samples"] = 50 - - ax = plot_lm(**kwargs) - assert ax is not None - - -@pytest.mark.parametrize( - "coords, expected_vars", - [ - ({"school": ["Choate"]}, ["theta"]), - ({"school": ["Lawrenceville"]}, ["theta"]), - ({}, ["theta"]), - ], -) -def test_plot_autocorr_coords(coords, expected_vars): - """Test plot_autocorr with coords kwarg.""" - idata = load_arviz_data("centered_eight") - - axes = plot_autocorr(idata, var_names=expected_vars, coords=coords, show=False) - assert axes is not None - - -def test_plot_forest_with_transform(): - """Test if plot_forest runs successfully with a transform dictionary.""" - data = xr.Dataset( - { - "var1": (["chain", "draw"], np.array([[1, 2, 3], [4, 5, 6]])), - "var2": (["chain", "draw"], np.array([[7, 8, 9], [10, 11, 12]])), - }, - coords={"chain": [0, 1], "draw": [0, 1, 2]}, - ) - transform_dict = { - "var1": lambda x: x + 1, - "var2": lambda x: x * 2, - } - - axes = plot_forest(data, transform=transform_dict, show=False) - assert axes is not None diff --git a/arviz/tests/base_tests/test_rcparams.py b/arviz/tests/base_tests/test_rcparams.py deleted file mode 100644 index ab1af1f624..0000000000 --- a/arviz/tests/base_tests/test_rcparams.py +++ /dev/null @@ -1,317 +0,0 @@ -# pylint: disable=redefined-outer-name -import os - -import numpy as np -import pytest -from xarray.core.indexing import MemoryCachedArray - -from ...data import datasets, load_arviz_data -from ...rcparams import ( - _make_validate_choice, - _make_validate_choice_regex, - _validate_float_or_none, - _validate_positive_int_or_none, - _validate_probability, - make_iterable_validator, - rc_context, - rc_params, - rcParams, - read_rcfile, -) -from ...stats import compare -from ..helpers import models # pylint: disable=unused-import - - -### Test rcparams classes ### -def test_rc_context_dict(): - rcParams["data.load"] = "lazy" - with rc_context(rc={"data.load": "eager"}): - assert rcParams["data.load"] == "eager" - assert rcParams["data.load"] == "lazy" - - -def test_rc_context_file(): - path = os.path.dirname(os.path.abspath(__file__)) - rcParams["data.load"] = "lazy" - with rc_context(fname=os.path.join(path, "../test.rcparams")): - assert rcParams["data.load"] == "eager" - assert rcParams["data.load"] == "lazy" - - -def test_bad_rc_file(): - """Test bad value raises error.""" - path = os.path.dirname(os.path.abspath(__file__)) - with pytest.raises(ValueError, match="Bad val "): - read_rcfile(os.path.join(path, "../bad.rcparams")) - - -def test_warning_rc_file(caplog): - """Test invalid lines and duplicated keys log warnings and bad value raises error.""" - path = os.path.dirname(os.path.abspath(__file__)) - read_rcfile(os.path.join(path, "../test.rcparams")) - records = caplog.records - assert len(records) == 1 - assert records[0].levelname == "WARNING" - assert "Duplicate key" in caplog.text - - -def test_bad_key(): - """Test the error when using unexistent keys in rcParams is correct.""" - with pytest.raises(KeyError, match="bad_key is not a valid rc"): - rcParams["bad_key"] = "nothing" - - -def test_del_key_error(): - """Check that rcParams keys cannot be deleted.""" - with pytest.raises(TypeError, match="keys cannot be deleted"): - del rcParams["data.load"] - - -def test_clear_error(): - """Check that rcParams cannot be cleared.""" - with pytest.raises(TypeError, match="keys cannot be deleted"): - rcParams.clear() - - -def test_pop_error(): - """Check rcParams pop error.""" - with pytest.raises(TypeError, match=r"keys cannot be deleted.*get\(key\)"): - rcParams.pop("data.load") - - -def test_popitem_error(): - """Check rcParams popitem error.""" - with pytest.raises(TypeError, match=r"keys cannot be deleted.*get\(key\)"): - rcParams.popitem() - - -def test_setdefaults_error(): - """Check rcParams popitem error.""" - with pytest.raises(TypeError, match="Use arvizrc"): - rcParams.setdefault("data.load", "eager") - - -def test_rcparams_find_all(): - data_rcparams = rcParams.find_all("data") - assert len(data_rcparams) - - -def test_rcparams_repr_str(): - """Check both repr and str print all keys.""" - repr_str = repr(rcParams) - str_str = str(rcParams) - assert repr_str.startswith("RcParams") - for string in (repr_str, str_str): - assert all((key in string for key in rcParams.keys())) - - -### Test arvizrc.template file is up to date ### -def test_rctemplate_updated(): - fname = os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../../arvizrc.template") - rc_pars_template = read_rcfile(fname) - rc_defaults = rc_params(ignore_files=True) - assert all((key in rc_pars_template.keys() for key in rc_defaults.keys())), [ - key for key in rc_defaults.keys() if key not in rc_pars_template - ] - assert all((value == rc_pars_template[key] for key, value in rc_defaults.items())), [ - key for key, value in rc_defaults.items() if value != rc_pars_template[key] - ] - - -### Test validation functions ### -@pytest.mark.parametrize("param", ["data.load", "stats.information_criterion"]) -def test_choice_bad_values(param): - """Test error messages are correct for rcParams validated with _make_validate_choice.""" - msg = "{}: bad_value is not one of".format(param.replace(".", r"\.")) - with pytest.raises(ValueError, match=msg): - rcParams[param] = "bad_value" - - -@pytest.mark.parametrize("args", [("stats.hdi_prob", "stats.ci_prob", 0.7, 0.7)]) -def test_deprecated_param(args): - """Test value and warning message correctly set for deprecated rcparams.""" - param_old, param_new, val_old, val_new = args - assert param_new in rcParams - assert not np.isclose(rcParams[param_new], val_new) - msg = f"{param_old} is deprecated since .*, use {param_new} instead" - with pytest.warns(FutureWarning, match=msg): - with rc_context(rc={param_old: val_old}): - assert np.isclose(rcParams[param_new], val_new) - - -@pytest.mark.parametrize("allow_none", (True, False)) -@pytest.mark.parametrize("typeof", (str, int)) -@pytest.mark.parametrize("args", [("not one", 10), (False, None), (False, 4)]) -def test_make_validate_choice(args, allow_none, typeof): - accepted_values = set(typeof(value) for value in (0, 1, 4, 6)) - validate_choice = _make_validate_choice(accepted_values, allow_none=allow_none, typeof=typeof) - raise_error, value = args - if value is None and not allow_none: - raise_error = "not one of" if typeof == str else "Could not convert" - if raise_error: - with pytest.raises(ValueError, match=raise_error): - validate_choice(value) - else: - value = validate_choice(value) - assert value in accepted_values or value is None - - -@pytest.mark.parametrize("allow_none", (True, False)) -@pytest.mark.parametrize( - "args", - [ - (False, None), - (False, "row"), - (False, "54row"), - (False, "4column"), - ("or in regex", "square"), - ], -) -def test_make_validate_choice_regex(args, allow_none): - accepted_values = {"row", "column"} - accepted_values_regex = {r"\d*row", r"\d*column"} - validate_choice = _make_validate_choice_regex( - accepted_values, accepted_values_regex, allow_none=allow_none - ) - raise_error, value = args - if value is None and not allow_none: - raise_error = "or in regex" - if raise_error: - with pytest.raises(ValueError, match=raise_error): - validate_choice(value) - else: - value_result = validate_choice(value) - assert value == value_result - - -@pytest.mark.parametrize("allow_none", (True, False)) -@pytest.mark.parametrize("allow_auto", (True, False)) -@pytest.mark.parametrize("value", [(1, 2), "auto", None, "(1, 4)"]) -def test_make_iterable_validator_none_auto(value, allow_auto, allow_none): - scalar_validator = _validate_float_or_none - validate_iterable = make_iterable_validator( - scalar_validator, allow_auto=allow_auto, allow_none=allow_none - ) - raise_error = False - if value is None and not allow_none: - raise_error = "Only ordered iterable" - if value == "auto" and not allow_auto: - raise_error = "Could not convert" - if raise_error: - with pytest.raises(ValueError, match=raise_error): - validate_iterable(value) - else: - value = validate_iterable(value) - assert np.iterable(value) or value is None or value == "auto" - - -@pytest.mark.parametrize("length", (2, None)) -@pytest.mark.parametrize("value", [(1, 5), (1, 3, 5), "(3, 4, 5)"]) -def test_make_iterable_validator_length(value, length): - scalar_validator = _validate_float_or_none - validate_iterable = make_iterable_validator(scalar_validator, length=length) - raise_error = False - if length is not None and len(value) != length: - raise_error = "Iterable must be of length" - if raise_error: - with pytest.raises(ValueError, match=raise_error): - validate_iterable(value) - else: - value = validate_iterable(value) - assert np.iterable(value) - - -@pytest.mark.parametrize( - "args", - [ - ("Only ordered iterable", set(["a", "b", "c"])), - ("Could not convert", "johndoe"), - ("Only ordered iterable", 15), - ], -) -def test_make_iterable_validator_illegal(args): - scalar_validator = _validate_float_or_none - validate_iterable = make_iterable_validator(scalar_validator) - raise_error, value = args - with pytest.raises(ValueError, match=raise_error): - validate_iterable(value) - - -@pytest.mark.parametrize( - "args", - [("Only positive", -1), ("Could not convert", "1.3"), (False, "2"), (False, None), (False, 1)], -) -def test_validate_positive_int_or_none(args): - raise_error, value = args - if raise_error: - with pytest.raises(ValueError, match=raise_error): - _validate_positive_int_or_none(value) - else: - value = _validate_positive_int_or_none(value) - assert isinstance(value, int) or value is None - - -@pytest.mark.parametrize( - "args", - [ - ("Only.+between 0 and 1", -1), - ("Only.+between 0 and 1", "1.3"), - ("not convert to float", "word"), - (False, "0.6"), - (False, 0), - (False, 1), - ], -) -def test_validate_probability(args): - raise_error, value = args - if raise_error: - with pytest.raises(ValueError, match=raise_error): - _validate_probability(value) - else: - value = _validate_probability(value) - assert isinstance(value, float) - - -### Test integration of rcParams in ArviZ ### -def test_data_load(): - rcParams["data.load"] = "lazy" - idata_lazy = load_arviz_data("centered_eight") - assert isinstance( - idata_lazy.posterior.mu.variable._data, # pylint: disable=protected-access - MemoryCachedArray, - ) - assert rcParams["data.load"] == "lazy" - rcParams["data.load"] = "eager" - idata_eager = load_arviz_data("centered_eight") - assert isinstance( - idata_eager.posterior.mu.variable._data, np.ndarray # pylint: disable=protected-access - ) - assert rcParams["data.load"] == "eager" - - -def test_stats_information_criterion(models): - rcParams["stats.information_criterion"] = "waic" - df_comp = compare({"model1": models.model_1, "model2": models.model_2}) - assert "elpd_waic" in df_comp.columns - rcParams["stats.information_criterion"] = "loo" - df_comp = compare({"model1": models.model_1, "model2": models.model_2}) - assert "elpd_loo" in df_comp.columns - - -def test_http_type_request(monkeypatch): - def _urlretrive(url, _): - raise ValueError(f"URL Retrieved: {url}") - - # Hijack url retrieve to inspect url passed - monkeypatch.setattr(datasets, "urlretrieve", _urlretrive) - - # Test HTTPS default - with pytest.raises(ValueError) as error: - datasets.load_arviz_data("radon") - assert "https://" in str(error) - - # Test HTTP setting - with pytest.raises(ValueError) as error: - rcParams["data.http_protocol"] = "http" - datasets.load_arviz_data("radon") - assert "http://" in str(error) diff --git a/arviz/tests/base_tests/test_stats.py b/arviz/tests/base_tests/test_stats.py deleted file mode 100644 index bc6f4d0739..0000000000 --- a/arviz/tests/base_tests/test_stats.py +++ /dev/null @@ -1,925 +0,0 @@ -# pylint: disable=redefined-outer-name, no-member -from copy import deepcopy - -import numpy as np -import pytest -from numpy.testing import ( - assert_allclose, - assert_array_almost_equal, - assert_almost_equal, - assert_array_equal, -) -from scipy.special import logsumexp -from scipy.stats import linregress, norm, halfcauchy -from xarray import DataArray, Dataset -from xarray_einstats.stats import XrContinuousRV - -from ...data import concat, convert_to_inference_data, from_dict, load_arviz_data, InferenceData -from ...rcparams import rcParams -from ...stats import ( - apply_test_function, - bayes_factor, - compare, - ess, - hdi, - loo, - loo_pit, - psens, - psislw, - r2_score, - summary, - waic, - weight_predictions, - _calculate_ics, -) -from ...stats.stats import _gpinv -from ...stats.stats_utils import get_log_likelihood -from ..helpers import check_multiple_attrs, multidim_models # pylint: disable=unused-import - -rcParams["data.load"] = "eager" - - -@pytest.fixture(scope="session") -def centered_eight(): - centered_eight = load_arviz_data("centered_eight") - return centered_eight - - -@pytest.fixture(scope="session") -def non_centered_eight(): - non_centered_eight = load_arviz_data("non_centered_eight") - return non_centered_eight - - -@pytest.fixture(scope="module") -def multivariable_log_likelihood(centered_eight): - centered_eight = centered_eight.copy() - new_arr = DataArray( - np.zeros(centered_eight.log_likelihood["obs"].values.shape), - dims=["chain", "draw", "school"], - coords=centered_eight.log_likelihood.coords, - ) - centered_eight.log_likelihood["decoy"] = new_arr - return centered_eight - - -def test_hdp(): - normal_sample = np.random.randn(5000000) - interval = hdi(normal_sample) - assert_array_almost_equal(interval, [-1.88, 1.88], 2) - - -def test_hdp_2darray(): - normal_sample = np.random.randn(12000, 5) - msg = ( - r"hdi currently interprets 2d data as \(draw, shape\) but this will " - r"change in a future release to \(chain, draw\) for coherence with other functions" - ) - with pytest.warns(FutureWarning, match=msg): - result = hdi(normal_sample) - assert result.shape == (5, 2) - - -def test_hdi_multidimension(): - normal_sample = np.random.randn(12000, 10, 3) - result = hdi(normal_sample) - assert result.shape == (3, 2) - - -def test_hdi_idata(centered_eight): - data = centered_eight.posterior - result = hdi(data) - assert isinstance(result, Dataset) - assert dict(result.sizes) == {"school": 8, "hdi": 2} - - result = hdi(data, input_core_dims=[["chain"]]) - assert isinstance(result, Dataset) - assert result.sizes == {"draw": 500, "hdi": 2, "school": 8} - - -def test_hdi_idata_varnames(centered_eight): - data = centered_eight.posterior - result = hdi(data, var_names=["mu", "theta"]) - assert isinstance(result, Dataset) - assert result.sizes == {"hdi": 2, "school": 8} - assert list(result.data_vars.keys()) == ["mu", "theta"] - - -def test_hdi_idata_group(centered_eight): - result_posterior = hdi(centered_eight, group="posterior", var_names="mu") - result_prior = hdi(centered_eight, group="prior", var_names="mu") - assert result_prior.sizes == {"hdi": 2} - range_posterior = result_posterior.mu.values[1] - result_posterior.mu.values[0] - range_prior = result_prior.mu.values[1] - result_prior.mu.values[0] - assert range_posterior < range_prior - - -def test_hdi_coords(centered_eight): - data = centered_eight.posterior - result = hdi(data, coords={"chain": [0, 1, 3]}, input_core_dims=[["draw"]]) - assert_array_equal(result.coords["chain"], [0, 1, 3]) - - -def test_hdi_multimodal(): - normal_sample = np.concatenate( - (np.random.normal(-4, 1, 2500000), np.random.normal(2, 0.5, 2500000)) - ) - intervals = hdi(normal_sample, multimodal=True) - assert_array_almost_equal(intervals, [[-5.8, -2.2], [0.9, 3.1]], 1) - - -def test_hdi_multimodal_multivars(): - size = 2500000 - var1 = np.concatenate((np.random.normal(-4, 1, size), np.random.normal(2, 0.5, size))) - var2 = np.random.normal(8, 1, size * 2) - sample = Dataset( - { - "var1": (("chain", "draw"), var1[np.newaxis, :]), - "var2": (("chain", "draw"), var2[np.newaxis, :]), - }, - coords={"chain": [0], "draw": np.arange(size * 2)}, - ) - intervals = hdi(sample, multimodal=True) - assert_array_almost_equal(intervals.var1, [[-5.8, -2.2], [0.9, 3.1]], 1) - assert_array_almost_equal(intervals.var2, [[6.1, 9.9], [np.nan, np.nan]], 1) - - -def test_hdi_circular(): - normal_sample = np.random.vonmises(np.pi, 1, 5000000) - interval = hdi(normal_sample, circular=True) - assert_array_almost_equal(interval, [0.6, -0.6], 1) - - -def test_hdi_bad_ci(): - normal_sample = np.random.randn(10) - with pytest.raises(ValueError): - hdi(normal_sample, hdi_prob=2) - - -def test_hdi_skipna(): - normal_sample = np.random.randn(500) - interval = hdi(normal_sample[10:]) - normal_sample[:10] = np.nan - interval_ = hdi(normal_sample, skipna=True) - assert_array_almost_equal(interval, interval_) - - -def test_r2_score(): - x = np.linspace(0, 1, 100) - y = np.random.normal(x, 1) - y_pred = x + np.random.randn(300, 100) - res = linregress(x, y) - assert_allclose(res.rvalue**2, r2_score(y, y_pred).r2, 2) - - -@pytest.mark.parametrize("method", ["stacking", "BB-pseudo-BMA", "pseudo-BMA"]) -@pytest.mark.parametrize("multidim", [True, False]) -def test_compare_same(centered_eight, multidim_models, method, multidim): - if multidim: - data_dict = {"first": multidim_models.model_1, "second": multidim_models.model_1} - else: - data_dict = {"first": centered_eight, "second": centered_eight} - - weight = compare(data_dict, method=method)["weight"].to_numpy() - assert_allclose(weight[0], weight[1]) - assert_allclose(np.sum(weight), 1.0) - - -def test_compare_unknown_ic_and_method(centered_eight, non_centered_eight): - model_dict = {"centered": centered_eight, "non_centered": non_centered_eight} - with pytest.raises(ValueError): - compare(model_dict, ic="Unknown", method="stacking") - with pytest.raises(ValueError): - compare(model_dict, ic="loo", method="Unknown") - - -@pytest.mark.parametrize("ic", ["loo", "waic"]) -@pytest.mark.parametrize("method", ["stacking", "BB-pseudo-BMA", "pseudo-BMA"]) -@pytest.mark.parametrize("scale", ["log", "negative_log", "deviance"]) -def test_compare_different(centered_eight, non_centered_eight, ic, method, scale): - model_dict = {"centered": centered_eight, "non_centered": non_centered_eight} - weight = compare(model_dict, ic=ic, method=method, scale=scale)["weight"] - assert weight["non_centered"] > weight["centered"] - assert_allclose(np.sum(weight), 1.0) - - -@pytest.mark.parametrize("ic", ["loo", "waic"]) -@pytest.mark.parametrize("method", ["stacking", "BB-pseudo-BMA", "pseudo-BMA"]) -def test_compare_different_multidim(multidim_models, ic, method): - model_dict = {"model_1": multidim_models.model_1, "model_2": multidim_models.model_2} - weight = compare(model_dict, ic=ic, method=method)["weight"] - - # this should hold because the same seed is always used - assert weight["model_1"] > weight["model_2"] - assert_allclose(np.sum(weight), 1.0) - - -def test_compare_different_size(centered_eight, non_centered_eight): - centered_eight = deepcopy(centered_eight) - centered_eight.posterior = centered_eight.posterior.drop("Choate", "school") - centered_eight.log_likelihood = centered_eight.log_likelihood.drop("Choate", "school") - centered_eight.posterior_predictive = centered_eight.posterior_predictive.drop( - "Choate", "school" - ) - centered_eight.prior = centered_eight.prior.drop("Choate", "school") - centered_eight.observed_data = centered_eight.observed_data.drop("Choate", "school") - model_dict = {"centered": centered_eight, "non_centered": non_centered_eight} - with pytest.raises(ValueError): - compare(model_dict, ic="waic", method="stacking") - - -@pytest.mark.parametrize("ic", ["loo", "waic"]) -def test_compare_multiple_obs(multivariable_log_likelihood, centered_eight, non_centered_eight, ic): - compare_dict = { - "centered_eight": centered_eight, - "non_centered_eight": non_centered_eight, - "problematic": multivariable_log_likelihood, - } - with pytest.raises(TypeError, match="several log likelihood arrays"): - get_log_likelihood(compare_dict["problematic"]) - with pytest.raises(TypeError, match="error in ELPD computation"): - compare(compare_dict, ic=ic) - assert compare(compare_dict, ic=ic, var_name="obs") is not None - - -@pytest.mark.parametrize("ic", ["loo", "waic"]) -def test_calculate_ics(centered_eight, non_centered_eight, ic): - ic_func = loo if ic == "loo" else waic - idata_dict = {"centered": centered_eight, "non_centered": non_centered_eight} - elpddata_dict = {key: ic_func(value) for key, value in idata_dict.items()} - mixed_dict = {"centered": idata_dict["centered"], "non_centered": elpddata_dict["non_centered"]} - idata_out, _, _ = _calculate_ics(idata_dict, ic=ic) - elpddata_out, _, _ = _calculate_ics(elpddata_dict, ic=ic) - mixed_out, _, _ = _calculate_ics(mixed_dict, ic=ic) - for model in idata_dict: - ic_ = f"elpd_{ic}" - assert idata_out[model][ic_] == elpddata_out[model][ic_] - assert idata_out[model][ic_] == mixed_out[model][ic_] - assert idata_out[model][f"p_{ic}"] == elpddata_out[model][f"p_{ic}"] - assert idata_out[model][f"p_{ic}"] == mixed_out[model][f"p_{ic}"] - - -def test_calculate_ics_ic_error(centered_eight, non_centered_eight): - in_dict = {"centered": loo(centered_eight), "non_centered": waic(non_centered_eight)} - with pytest.raises(ValueError, match="found both loo and waic"): - _calculate_ics(in_dict) - - -def test_calculate_ics_ic_override(centered_eight, non_centered_eight): - in_dict = {"centered": centered_eight, "non_centered": waic(non_centered_eight)} - with pytest.warns(UserWarning, match="precomputed elpddata: waic"): - out_dict, _, ic = _calculate_ics(in_dict, ic="loo") - assert ic == "waic" - assert out_dict["centered"]["elpd_waic"] == waic(centered_eight)["elpd_waic"] - - -def test_summary_ndarray(): - array = np.random.randn(4, 100, 2) - summary_df = summary(array) - assert summary_df.shape - - -@pytest.mark.parametrize("var_names_expected", ((None, 10), ("mu", 1), (["mu", "tau"], 2))) -def test_summary_var_names(centered_eight, var_names_expected): - var_names, expected = var_names_expected - summary_df = summary(centered_eight, var_names=var_names) - assert len(summary_df.index) == expected - - -@pytest.mark.parametrize("missing_groups", (None, "posterior", "prior")) -def test_summary_groups(centered_eight, missing_groups): - if missing_groups == "posterior": - centered_eight = deepcopy(centered_eight) - del centered_eight.posterior - elif missing_groups == "prior": - centered_eight = deepcopy(centered_eight) - del centered_eight.posterior - del centered_eight.prior - if missing_groups == "prior": - with pytest.warns(UserWarning): - summary_df = summary(centered_eight) - else: - summary_df = summary(centered_eight) - assert summary_df.shape - - -def test_summary_group_argument(centered_eight): - summary_df_posterior = summary(centered_eight, group="posterior") - summary_df_prior = summary(centered_eight, group="prior") - assert list(summary_df_posterior.index) != list(summary_df_prior.index) - - -def test_summary_wrong_group(centered_eight): - with pytest.raises(TypeError, match=r"InferenceData does not contain group: InvalidGroup"): - summary(centered_eight, group="InvalidGroup") - - -METRICS_NAMES = [ - "mean", - "sd", - "hdi_3%", - "hdi_97%", - "mcse_mean", - "mcse_sd", - "ess_bulk", - "ess_tail", - "r_hat", - "median", - "mad", - "eti_3%", - "eti_97%", - "mcse_median", - "ess_median", - "ess_tail", - "r_hat", -] - - -@pytest.mark.parametrize( - "params", - ( - ("mean", "all", METRICS_NAMES[:9]), - ("mean", "stats", METRICS_NAMES[:4]), - ("mean", "diagnostics", METRICS_NAMES[4:9]), - ("median", "all", METRICS_NAMES[9:17]), - ("median", "stats", METRICS_NAMES[9:13]), - ("median", "diagnostics", METRICS_NAMES[13:17]), - ), -) -def test_summary_focus_kind(centered_eight, params): - stat_focus, kind, metrics_names_ = params - summary_df = summary(centered_eight, stat_focus=stat_focus, kind=kind) - assert_array_equal(summary_df.columns, metrics_names_) - - -def test_summary_wrong_focus(centered_eight): - with pytest.raises(TypeError, match=r"Invalid format: 'WrongFocus'.*"): - summary(centered_eight, stat_focus="WrongFocus") - - -@pytest.mark.parametrize("fmt", ["wide", "long", "xarray"]) -def test_summary_fmt(centered_eight, fmt): - assert summary(centered_eight, fmt=fmt) is not None - - -def test_summary_labels(): - coords1 = list("abcd") - coords2 = np.arange(1, 6) - data = from_dict( - {"a": np.random.randn(4, 100, 4, 5)}, - coords={"dim1": coords1, "dim2": coords2}, - dims={"a": ["dim1", "dim2"]}, - ) - az_summary = summary(data, fmt="wide") - assert az_summary is not None - column_order = [] - for coord1 in coords1: - for coord2 in coords2: - column_order.append(f"a[{coord1}, {coord2}]") - for col1, col2 in zip(list(az_summary.index), column_order): - assert col1 == col2 - - -@pytest.mark.parametrize( - "stat_funcs", [[np.var], {"var": np.var, "var2": lambda x: np.var(x) ** 2}] -) -def test_summary_stat_func(centered_eight, stat_funcs): - arviz_summary = summary(centered_eight, stat_funcs=stat_funcs) - assert arviz_summary is not None - assert hasattr(arviz_summary, "var") - - -def test_summary_nan(centered_eight): - centered_eight = deepcopy(centered_eight) - centered_eight.posterior["theta"].loc[{"school": "Deerfield"}] = np.nan - summary_xarray = summary(centered_eight) - assert summary_xarray is not None - assert summary_xarray.loc["theta[Deerfield]"].isnull().all() - assert ( - summary_xarray.loc[[ix for ix in summary_xarray.index if ix != "theta[Deerfield]"]] - .notnull() - .all() - .all() - ) - - -def test_summary_skip_nan(centered_eight): - centered_eight = deepcopy(centered_eight) - centered_eight.posterior["theta"].loc[{"draw": slice(10), "school": "Deerfield"}] = np.nan - summary_xarray = summary(centered_eight) - theta_1 = summary_xarray.loc["theta[Deerfield]"].isnull() - assert summary_xarray is not None - assert ~theta_1[:4].all() - assert theta_1[4:].all() - - -@pytest.mark.parametrize("fmt", [1, "bad_fmt"]) -def test_summary_bad_fmt(centered_eight, fmt): - with pytest.raises(TypeError, match="Invalid format"): - summary(centered_eight, fmt=fmt) - - -def test_summary_order_deprecation(centered_eight): - with pytest.warns(DeprecationWarning, match="order"): - summary(centered_eight, order="C") - - -def test_summary_index_origin_deprecation(centered_eight): - with pytest.warns(DeprecationWarning, match="index_origin"): - summary(centered_eight, index_origin=1) - - -@pytest.mark.parametrize("scale", ["log", "negative_log", "deviance"]) -@pytest.mark.parametrize("multidim", (True, False)) -def test_waic(centered_eight, multidim_models, scale, multidim): - """Test widely available information criterion calculation""" - if multidim: - assert waic(multidim_models.model_1, scale=scale) is not None - waic_pointwise = waic(multidim_models.model_1, pointwise=True, scale=scale) - else: - assert waic(centered_eight, scale=scale) is not None - waic_pointwise = waic(centered_eight, pointwise=True, scale=scale) - assert waic_pointwise is not None - assert "waic_i" in waic_pointwise - - -def test_waic_bad(centered_eight): - """Test widely available information criterion calculation""" - centered_eight = deepcopy(centered_eight) - delattr(centered_eight, "log_likelihood") - with pytest.raises(TypeError): - waic(centered_eight) - - -def test_waic_bad_scale(centered_eight): - """Test widely available information criterion calculation with bad scale.""" - with pytest.raises(TypeError): - waic(centered_eight, scale="bad_value") - - -def test_waic_warning(centered_eight): - centered_eight = deepcopy(centered_eight) - centered_eight.log_likelihood["obs"][:, :250, 1] = 10 - with pytest.warns(UserWarning): - assert waic(centered_eight, pointwise=True) is not None - # this should throw a warning, but due to numerical issues it fails - centered_eight.log_likelihood["obs"][:, :, :] = 0 - with pytest.warns(UserWarning): - assert waic(centered_eight, pointwise=True) is not None - - -@pytest.mark.parametrize("scale", ["log", "negative_log", "deviance"]) -def test_waic_print(centered_eight, scale): - waic_data = repr(waic(centered_eight, scale=scale)) - waic_pointwise = repr(waic(centered_eight, scale=scale, pointwise=True)) - assert waic_data is not None - assert waic_pointwise is not None - assert waic_data == waic_pointwise - - -@pytest.mark.parametrize("scale", ["log", "negative_log", "deviance"]) -@pytest.mark.parametrize("multidim", (True, False)) -def test_loo(centered_eight, multidim_models, scale, multidim): - """Test approximate leave one out criterion calculation""" - if multidim: - assert loo(multidim_models.model_1, scale=scale) is not None - loo_pointwise = loo(multidim_models.model_1, pointwise=True, scale=scale) - else: - assert loo(centered_eight, scale=scale) is not None - loo_pointwise = loo(centered_eight, pointwise=True, scale=scale) - assert loo_pointwise is not None - assert "loo_i" in loo_pointwise - assert "pareto_k" in loo_pointwise - assert "scale" in loo_pointwise - - -def test_loo_one_chain(centered_eight): - centered_eight = deepcopy(centered_eight) - centered_eight.posterior = centered_eight.posterior.drop([1, 2, 3], "chain") - centered_eight.sample_stats = centered_eight.sample_stats.drop([1, 2, 3], "chain") - assert loo(centered_eight) is not None - - -def test_loo_bad(centered_eight): - with pytest.raises(TypeError): - loo(np.random.randn(2, 10)) - - centered_eight = deepcopy(centered_eight) - delattr(centered_eight, "log_likelihood") - with pytest.raises(TypeError): - loo(centered_eight) - - -def test_loo_bad_scale(centered_eight): - """Test loo with bad scale value.""" - with pytest.raises(TypeError): - loo(centered_eight, scale="bad_scale") - - -def test_loo_bad_no_posterior_reff(centered_eight): - loo(centered_eight, reff=None) - centered_eight = deepcopy(centered_eight) - del centered_eight.posterior - with pytest.raises(TypeError): - loo(centered_eight, reff=None) - loo(centered_eight, reff=0.7) - - -def test_loo_warning(centered_eight): - centered_eight = deepcopy(centered_eight) - # make one of the khats infinity - centered_eight.log_likelihood["obs"][:, :, 1] = 10 - with pytest.warns(UserWarning) as records: - assert loo(centered_eight, pointwise=True) is not None - assert any("Estimated shape parameter" in str(record.message) for record in records) - - # make all of the khats infinity - centered_eight.log_likelihood["obs"][:, :, :] = 1 - with pytest.warns(UserWarning) as records: - assert loo(centered_eight, pointwise=True) is not None - assert any("Estimated shape parameter" in str(record.message) for record in records) - - -@pytest.mark.parametrize("scale", ["log", "negative_log", "deviance"]) -def test_loo_print(centered_eight, scale): - loo_data = repr(loo(centered_eight, scale=scale, pointwise=False)) - loo_pointwise = repr(loo(centered_eight, scale=scale, pointwise=True)) - assert loo_data is not None - assert loo_pointwise is not None - assert len(loo_data) < len(loo_pointwise) - - -def test_psislw(centered_eight): - pareto_k = loo(centered_eight, pointwise=True, reff=0.7)["pareto_k"] - log_likelihood = get_log_likelihood(centered_eight) - log_likelihood = log_likelihood.stack(__sample__=("chain", "draw")) - assert_allclose(pareto_k, psislw(-log_likelihood, 0.7)[1]) - - -def test_psislw_smooths_for_low_k(): - # check that log-weights are smoothed even when k < 1/3 - # https://github.com/arviz-devs/arviz/issues/2010 - rng = np.random.default_rng(44) - x = rng.normal(size=100) - x_smoothed, k = psislw(x.copy()) - assert k < 1 / 3 - assert not np.allclose(x - logsumexp(x), x_smoothed) - - -@pytest.mark.parametrize("probs", [True, False]) -@pytest.mark.parametrize("kappa", [-1, -0.5, 1e-30, 0.5, 1]) -@pytest.mark.parametrize("sigma", [0, 2]) -def test_gpinv(probs, kappa, sigma): - if probs: - probs = np.array([0.1, 0.1, 0.1, 0.2, 0.3]) - else: - probs = np.array([-0.1, 0.1, 0.1, 0.2, 0.3]) - assert len(_gpinv(probs, kappa, sigma)) == len(probs) - - -@pytest.mark.parametrize("func", [loo, waic]) -def test_multidimensional_log_likelihood(func): - llm = np.random.rand(4, 23, 15, 2) - ll1 = llm.reshape(4, 23, 15 * 2) - statsm = Dataset(dict(log_likelihood=DataArray(llm, dims=["chain", "draw", "a", "b"]))) - - stats1 = Dataset(dict(log_likelihood=DataArray(ll1, dims=["chain", "draw", "v"]))) - - post = Dataset(dict(mu=DataArray(np.random.rand(4, 23, 2), dims=["chain", "draw", "v"]))) - - dsm = convert_to_inference_data(statsm, group="sample_stats") - ds1 = convert_to_inference_data(stats1, group="sample_stats") - dsp = convert_to_inference_data(post, group="posterior") - - dsm = concat(dsp, dsm) - ds1 = concat(dsp, ds1) - - frm = func(dsm) - fr1 = func(ds1) - - assert all( - fr1[key] == frm[key] for key in fr1.index if key not in {"loo_i", "waic_i", "pareto_k"} - ) - assert_array_almost_equal(frm[:4], fr1[:4]) - - -@pytest.mark.parametrize( - "args", - [ - {"y": "obs"}, - {"y": "obs", "y_hat": "obs"}, - {"y": "arr", "y_hat": "obs"}, - {"y": "obs", "y_hat": "arr"}, - {"y": "arr", "y_hat": "arr"}, - {"y": "obs", "y_hat": "obs", "log_weights": "arr"}, - {"y": "arr", "y_hat": "obs", "log_weights": "arr"}, - {"y": "obs", "y_hat": "arr", "log_weights": "arr"}, - {"idata": False}, - ], -) -def test_loo_pit(centered_eight, args): - y = args.get("y", None) - y_hat = args.get("y_hat", None) - log_weights = args.get("log_weights", None) - y_arr = centered_eight.observed_data.obs - y_hat_arr = centered_eight.posterior_predictive.obs.stack(__sample__=("chain", "draw")) - log_like = get_log_likelihood(centered_eight).stack(__sample__=("chain", "draw")) - n_samples = len(log_like.__sample__) - ess_p = ess(centered_eight.posterior, method="mean") - reff = np.hstack([ess_p[v].values.flatten() for v in ess_p.data_vars]).mean() / n_samples - log_weights_arr = psislw(-log_like, reff=reff)[0] - - if args.get("idata", True): - if y == "arr": - y = y_arr - if y_hat == "arr": - y_hat = y_hat_arr - if log_weights == "arr": - log_weights = log_weights_arr - loo_pit_data = loo_pit(idata=centered_eight, y=y, y_hat=y_hat, log_weights=log_weights) - else: - loo_pit_data = loo_pit(idata=None, y=y_arr, y_hat=y_hat_arr, log_weights=log_weights_arr) - assert np.all((loo_pit_data >= 0) & (loo_pit_data <= 1)) - - -@pytest.mark.parametrize( - "args", - [ - {"y": "y"}, - {"y": "y", "y_hat": "y"}, - {"y": "arr", "y_hat": "y"}, - {"y": "y", "y_hat": "arr"}, - {"y": "arr", "y_hat": "arr"}, - {"y": "y", "y_hat": "y", "log_weights": "arr"}, - {"y": "arr", "y_hat": "y", "log_weights": "arr"}, - {"y": "y", "y_hat": "arr", "log_weights": "arr"}, - {"idata": False}, - ], -) -def test_loo_pit_multidim(multidim_models, args): - y = args.get("y", None) - y_hat = args.get("y_hat", None) - log_weights = args.get("log_weights", None) - idata = multidim_models.model_1 - y_arr = idata.observed_data.y - y_hat_arr = idata.posterior_predictive.y.stack(__sample__=("chain", "draw")) - log_like = get_log_likelihood(idata).stack(__sample__=("chain", "draw")) - n_samples = len(log_like.__sample__) - ess_p = ess(idata.posterior, method="mean") - reff = np.hstack([ess_p[v].values.flatten() for v in ess_p.data_vars]).mean() / n_samples - log_weights_arr = psislw(-log_like, reff=reff)[0] - - if args.get("idata", True): - if y == "arr": - y = y_arr - if y_hat == "arr": - y_hat = y_hat_arr - if log_weights == "arr": - log_weights = log_weights_arr - loo_pit_data = loo_pit(idata=idata, y=y, y_hat=y_hat, log_weights=log_weights) - else: - loo_pit_data = loo_pit(idata=None, y=y_arr, y_hat=y_hat_arr, log_weights=log_weights_arr) - assert np.all((loo_pit_data >= 0) & (loo_pit_data <= 1)) - - -def test_loo_pit_multi_lik(): - rng = np.random.default_rng(0) - post_pred = rng.standard_normal(size=(4, 100, 10)) - obs = np.quantile(post_pred, np.linspace(0, 1, 10)) - obs[0] *= 0.9 - obs[-1] *= 1.1 - idata = from_dict( - posterior={"a": np.random.randn(4, 100)}, - posterior_predictive={"y": post_pred}, - observed_data={"y": obs}, - log_likelihood={"y": -(post_pred**2), "decoy": np.zeros_like(post_pred)}, - ) - loo_pit_data = loo_pit(idata, y="y") - assert np.all((loo_pit_data >= 0) & (loo_pit_data <= 1)) - - -@pytest.mark.parametrize("input_type", ["idataarray", "idatanone_ystr", "yarr_yhatnone"]) -def test_loo_pit_bad_input(centered_eight, input_type): - """Test incompatible input combinations.""" - arr = np.random.random((8, 200)) - if input_type == "idataarray": - with pytest.raises(ValueError, match=r"type InferenceData or None"): - loo_pit(idata=arr, y="obs") - elif input_type == "idatanone_ystr": - with pytest.raises(ValueError, match=r"all 3.+must be array or DataArray"): - loo_pit(idata=None, y="obs") - elif input_type == "yarr_yhatnone": - with pytest.raises(ValueError, match=r"y_hat.+None.+y.+str"): - loo_pit(idata=centered_eight, y=arr, y_hat=None) - - -@pytest.mark.parametrize("arg", ["y", "y_hat", "log_weights"]) -def test_loo_pit_bad_input_type(centered_eight, arg): - """Test wrong input type (not None, str not DataArray.""" - kwargs = {"y": "obs", "y_hat": "obs", "log_weights": None} - kwargs[arg] = 2 # use int instead of array-like - with pytest.raises(ValueError, match=f"not {type(2)}"): - loo_pit(idata=centered_eight, **kwargs) - - -@pytest.mark.parametrize("incompatibility", ["y-y_hat1", "y-y_hat2", "y_hat-log_weights"]) -def test_loo_pit_bad_input_shape(incompatibility): - """Test shape incompatibilities.""" - y = np.random.random(8) - y_hat = np.random.random((8, 200)) - log_weights = np.random.random((8, 200)) - if incompatibility == "y-y_hat1": - with pytest.raises(ValueError, match="1 more dimension"): - loo_pit(y=y, y_hat=y_hat[None, :], log_weights=log_weights) - elif incompatibility == "y-y_hat2": - with pytest.raises(ValueError, match="y has shape"): - loo_pit(y=y, y_hat=y_hat[1:3, :], log_weights=log_weights) - elif incompatibility == "y_hat-log_weights": - with pytest.raises(ValueError, match="must have the same shape"): - loo_pit(y=y, y_hat=y_hat[:, :100], log_weights=log_weights) - - -@pytest.mark.parametrize("pointwise", [True, False]) -@pytest.mark.parametrize("inplace", [True, False]) -@pytest.mark.parametrize( - "kwargs", - [ - {}, - {"group": "posterior_predictive", "var_names": {"posterior_predictive": "obs"}}, - {"group": "observed_data", "var_names": {"both": "obs"}, "out_data_shape": "shape"}, - {"var_names": {"both": "obs", "posterior": ["theta", "mu"]}}, - {"group": "observed_data", "out_name_data": "T_name"}, - ], -) -def test_apply_test_function(centered_eight, pointwise, inplace, kwargs): - """Test some usual call cases of apply_test_function""" - centered_eight = deepcopy(centered_eight) - group = kwargs.get("group", "both") - var_names = kwargs.get("var_names", None) - out_data_shape = kwargs.get("out_data_shape", None) - out_pp_shape = kwargs.get("out_pp_shape", None) - out_name_data = kwargs.get("out_name_data", "T") - if out_data_shape == "shape": - out_data_shape = (8,) if pointwise else () - if out_pp_shape == "shape": - out_pp_shape = (4, 500, 8) if pointwise else (4, 500) - idata = deepcopy(centered_eight) - idata_out = apply_test_function( - idata, - lambda y, theta: np.mean(y), - group=group, - var_names=var_names, - pointwise=pointwise, - out_name_data=out_name_data, - out_data_shape=out_data_shape, - out_pp_shape=out_pp_shape, - ) - if inplace: - assert idata is idata_out - - if group == "both": - test_dict = {"observed_data": ["T"], "posterior_predictive": ["T"]} - else: - test_dict = {group: [kwargs.get("out_name_data", "T")]} - - fails = check_multiple_attrs(test_dict, idata_out) - assert not fails - - -def test_apply_test_function_bad_group(centered_eight): - """Test error when group is an invalid name.""" - with pytest.raises(ValueError, match="Invalid group argument"): - apply_test_function(centered_eight, lambda y, theta: y, group="bad_group") - - -def test_apply_test_function_missing_group(): - """Test error when InferenceData object is missing a required group. - - The function cannot work if group="both" but InferenceData object has no - posterior_predictive group. - """ - idata = from_dict( - posterior={"a": np.random.random((4, 500, 30))}, observed_data={"y": np.random.random(30)} - ) - with pytest.raises(ValueError, match="must have posterior_predictive"): - apply_test_function(idata, lambda y, theta: np.mean, group="both") - - -def test_apply_test_function_should_overwrite_error(centered_eight): - """Test error when overwrite=False but out_name is already a present variable.""" - with pytest.raises(ValueError, match="Should overwrite"): - apply_test_function(centered_eight, lambda y, theta: y, out_name_data="obs") - - -def test_weight_predictions(): - idata0 = from_dict( - posterior_predictive={"a": np.random.normal(-1, 1, 1000)}, observed_data={"a": [1]} - ) - idata1 = from_dict( - posterior_predictive={"a": np.random.normal(1, 1, 1000)}, observed_data={"a": [1]} - ) - - new = weight_predictions([idata0, idata1]) - assert ( - idata1.posterior_predictive.mean() - > new.posterior_predictive.mean() - > idata0.posterior_predictive.mean() - ) - assert "posterior_predictive" in new - assert "observed_data" in new - - new = weight_predictions([idata0, idata1], weights=[0.5, 0.5]) - assert_almost_equal(new.posterior_predictive["a"].mean(), 0, decimal=1) - new = weight_predictions([idata0, idata1], weights=[0.9, 0.1]) - assert_almost_equal(new.posterior_predictive["a"].mean(), -0.8, decimal=1) - - -@pytest.fixture(scope="module") -def psens_data(): - non_centered_eight = load_arviz_data("non_centered_eight") - post = non_centered_eight.posterior - log_prior = { - "mu": XrContinuousRV(norm, 0, 5).logpdf(post["mu"]), - "tau": XrContinuousRV(halfcauchy, scale=5).logpdf(post["tau"]), - "theta_t": XrContinuousRV(norm, 0, 1).logpdf(post["theta_t"]), - } - non_centered_eight.add_groups({"log_prior": log_prior}) - return non_centered_eight - - -@pytest.mark.parametrize("component", ("prior", "likelihood")) -def test_priorsens_global(psens_data, component): - result = psens(psens_data, component=component) - assert "mu" in result - assert "theta" in result - assert "school" in result.theta_t.dims - - -def test_priorsens_var_names(psens_data): - result1 = psens( - psens_data, component="prior", component_var_names=["mu", "tau"], var_names=["mu", "tau"] - ) - result2 = psens(psens_data, component="prior", var_names=["mu", "tau"]) - for result in (result1, result2): - assert "theta" not in result - assert "mu" in result - assert "tau" in result - assert not np.isclose(result1.mu, result2.mu) - - -def test_priorsens_coords(psens_data): - result = psens(psens_data, component="likelihood", component_coords={"school": "Choate"}) - assert "mu" in result - assert "theta" in result - assert "school" in result.theta_t.dims - - -def test_bayes_factor(): - idata = from_dict( - posterior={"a": np.random.normal(1, 0.5, 5000)}, prior={"a": np.random.normal(0, 1, 5000)} - ) - bf_dict0 = bayes_factor(idata, var_name="a", ref_val=0) - bf_dict1 = bayes_factor(idata, prior=np.random.normal(0, 10, 5000), var_name="a", ref_val=0) - assert bf_dict0["BF10"] > bf_dict0["BF01"] - assert bf_dict1["BF10"] < bf_dict1["BF01"] - - -def test_compare_sorting_consistency(): - chains, draws = 4, 1000 - - # Model 1 - good fit - log_lik1 = np.random.normal(-2, 1, size=(chains, draws)) - posterior1 = Dataset( - {"theta": (("chain", "draw"), np.random.normal(0, 1, size=(chains, draws)))}, - coords={"chain": range(chains), "draw": range(draws)}, - ) - log_like1 = Dataset( - {"y": (("chain", "draw"), log_lik1)}, - coords={"chain": range(chains), "draw": range(draws)}, - ) - data1 = InferenceData(posterior=posterior1, log_likelihood=log_like1) - - # Model 2 - poor fit (higher variance) - log_lik2 = np.random.normal(-5, 2, size=(chains, draws)) - posterior2 = Dataset( - {"theta": (("chain", "draw"), np.random.normal(0, 1, size=(chains, draws)))}, - coords={"chain": range(chains), "draw": range(draws)}, - ) - log_like2 = Dataset( - {"y": (("chain", "draw"), log_lik2)}, - coords={"chain": range(chains), "draw": range(draws)}, - ) - data2 = InferenceData(posterior=posterior2, log_likelihood=log_like2) - - # Compare models in different orders - comp_dict1 = {"M1": data1, "M2": data2} - comp_dict2 = {"M2": data2, "M1": data1} - - comparison1 = compare(comp_dict1, method="bb-pseudo-bma") - comparison2 = compare(comp_dict2, method="bb-pseudo-bma") - - assert comparison1.index.tolist() == comparison2.index.tolist() - - se1 = comparison1["se"].values - se2 = comparison2["se"].values - np.testing.assert_array_almost_equal(se1, se2) diff --git a/arviz/tests/base_tests/test_stats_ecdf_utils.py b/arviz/tests/base_tests/test_stats_ecdf_utils.py deleted file mode 100644 index aaf7d95501..0000000000 --- a/arviz/tests/base_tests/test_stats_ecdf_utils.py +++ /dev/null @@ -1,166 +0,0 @@ -import pytest - -import numpy as np -import scipy.stats -from ...stats.ecdf_utils import ( - compute_ecdf, - ecdf_confidence_band, - _get_ecdf_points, - _simulate_ecdf, - _get_pointwise_confidence_band, -) - -try: - import numba # pylint: disable=unused-import - - numba_options = [True, False] # pylint: disable=invalid-name -except ImportError: - numba_options = [False] # pylint: disable=invalid-name - - -def test_compute_ecdf(): - """Test compute_ecdf function.""" - sample = np.array([1, 2, 3, 3, 4, 5]) - eval_points = np.arange(0, 7, 0.1) - ecdf_expected = (sample[:, None] <= eval_points).mean(axis=0) - assert np.allclose(compute_ecdf(sample, eval_points), ecdf_expected) - assert np.allclose(compute_ecdf(sample / 2 + 10, eval_points / 2 + 10), ecdf_expected) - - -@pytest.mark.parametrize("difference", [True, False]) -def test_get_ecdf_points(difference): - """Test _get_ecdf_points.""" - # if first point already outside support, no need to insert it - sample = np.array([1, 2, 3, 3, 4, 5, 5]) - eval_points = np.arange(-1, 7, 0.1) - x, y = _get_ecdf_points(sample, eval_points, difference) - assert np.array_equal(x, eval_points) - assert np.array_equal(y, compute_ecdf(sample, eval_points)) - - # if first point is inside support, insert it if not in difference mode - eval_points = np.arange(1, 6, 0.1) - x, y = _get_ecdf_points(sample, eval_points, difference) - assert len(x) == len(eval_points) + 1 - difference - assert len(y) == len(eval_points) + 1 - difference - - # if not in difference mode, first point should be (eval_points[0], 0) - if not difference: - assert x[0] == eval_points[0] - assert y[0] == 0 - assert np.allclose(x[1:], eval_points) - assert np.allclose(y[1:], compute_ecdf(sample, eval_points)) - assert x[-1] == eval_points[-1] - assert y[-1] == 1 - - -@pytest.mark.parametrize( - "dist", [scipy.stats.norm(3, 10), scipy.stats.binom(10, 0.5)], ids=["continuous", "discrete"] -) -@pytest.mark.parametrize("seed", [32, 87]) -def test_simulate_ecdf(dist, seed): - """Test _simulate_ecdf.""" - ndraws = 1000 - eval_points = np.arange(0, 1, 0.1) - - rvs = dist.rvs - - random_state = np.random.default_rng(seed) - ecdf = _simulate_ecdf(ndraws, eval_points, rvs, random_state=random_state) - random_state = np.random.default_rng(seed) - ecdf_expected = compute_ecdf(np.sort(rvs(ndraws, random_state=random_state)), eval_points) - - assert np.allclose(ecdf, ecdf_expected) - - -@pytest.mark.parametrize("prob", [0.8, 0.9]) -@pytest.mark.parametrize( - "dist", [scipy.stats.norm(3, 10), scipy.stats.poisson(100)], ids=["continuous", "discrete"] -) -@pytest.mark.parametrize("ndraws", [10_000]) -def test_get_pointwise_confidence_band(dist, prob, ndraws, num_trials=1_000, seed=57): - """Test _get_pointwise_confidence_band.""" - eval_points = np.linspace(*dist.interval(0.99), 10) - cdf_at_eval_points = dist.cdf(eval_points) - - ecdf_lower, ecdf_upper = _get_pointwise_confidence_band(prob, ndraws, cdf_at_eval_points) - - # check basic properties - assert np.all(ecdf_lower >= 0) - assert np.all(ecdf_upper <= 1) - assert np.all(ecdf_lower <= ecdf_upper) - - # use simulation to estimate lower and upper bounds on pointwise probability - in_interval = [] - random_state = np.random.default_rng(seed) - for _ in range(num_trials): - ecdf = _simulate_ecdf(ndraws, eval_points, dist.rvs, random_state=random_state) - in_interval.append((ecdf_lower <= ecdf) & (ecdf < ecdf_upper)) - asymptotic_dist = scipy.stats.norm( - np.mean(in_interval, axis=0), scipy.stats.sem(in_interval, axis=0) - ) - prob_lower, prob_upper = asymptotic_dist.interval(0.999) - - # check target probability within all bounds - assert np.all(prob_lower <= prob) - assert np.all(prob <= prob_upper) - - -@pytest.mark.parametrize("prob", [0.8, 0.9]) -@pytest.mark.parametrize( - "dist, rvs", - [ - (scipy.stats.norm(3, 10), scipy.stats.norm(3, 10).rvs), - (scipy.stats.norm(3, 10), None), - (scipy.stats.poisson(100), scipy.stats.poisson(100).rvs), - ], - ids=["continuous", "continuous default rvs", "discrete"], -) -@pytest.mark.parametrize("ndraws", [10_000]) -@pytest.mark.parametrize("method", ["pointwise", "optimized", "simulated"]) -@pytest.mark.parametrize("use_numba", numba_options) -def test_ecdf_confidence_band( - dist, rvs, prob, ndraws, method, use_numba, num_trials=1_000, seed=57 -): - """Test test_ecdf_confidence_band.""" - if use_numba and method != "optimized": - pytest.skip("Numba only used in optimized method") - - eval_points = np.linspace(*dist.interval(0.99), 10) - cdf_at_eval_points = dist.cdf(eval_points) - random_state = np.random.default_rng(seed) - - ecdf_lower, ecdf_upper = ecdf_confidence_band( - ndraws, - eval_points, - cdf_at_eval_points, - prob=prob, - rvs=rvs, - random_state=random_state, - method=method, - ) - - if method == "pointwise": - # these values tested elsewhere, we just make sure they're the same - ecdf_lower_pointwise, ecdf_upper_pointwise = _get_pointwise_confidence_band( - prob, ndraws, cdf_at_eval_points - ) - assert np.array_equal(ecdf_lower, ecdf_lower_pointwise) - assert np.array_equal(ecdf_upper, ecdf_upper_pointwise) - return - - # check basic properties - assert np.all(ecdf_lower >= 0) - assert np.all(ecdf_upper <= 1) - assert np.all(ecdf_lower <= ecdf_upper) - - # use simulation to estimate lower and upper bounds on simultaneous probability - in_envelope = [] - random_state = np.random.default_rng(seed) - for _ in range(num_trials): - ecdf = _simulate_ecdf(ndraws, eval_points, dist.rvs, random_state=random_state) - in_envelope.append(np.all(ecdf_lower <= ecdf) & np.all(ecdf < ecdf_upper)) - asymptotic_dist = scipy.stats.norm(np.mean(in_envelope), scipy.stats.sem(in_envelope)) - prob_lower, prob_upper = asymptotic_dist.interval(0.999) - - # check target probability within bounds - assert prob_lower <= prob <= prob_upper diff --git a/arviz/tests/base_tests/test_stats_numba.py b/arviz/tests/base_tests/test_stats_numba.py deleted file mode 100644 index 8b76bde113..0000000000 --- a/arviz/tests/base_tests/test_stats_numba.py +++ /dev/null @@ -1,45 +0,0 @@ -# pylint: disable=redefined-outer-name, no-member -import numpy as np -import pytest - -from ...rcparams import rcParams -from ...stats import r2_score, summary -from ...utils import Numba -from ..helpers import ( # pylint: disable=unused-import - check_multiple_attrs, - importorskip, - multidim_models, -) -from .test_stats import centered_eight, non_centered_eight # pylint: disable=unused-import - -numba = importorskip("numba") - -rcParams["data.load"] = "eager" - - -@pytest.mark.parametrize("circ_var_names", [["mu"], None]) -def test_summary_circ_vars(centered_eight, circ_var_names): - assert summary(centered_eight, circ_var_names=circ_var_names) is not None - state = Numba.numba_flag - Numba.disable_numba() - assert summary(centered_eight, circ_var_names=circ_var_names) is not NotImplementedError - Numba.enable_numba() - assert state == Numba.numba_flag - - -def test_numba_stats(): - """Numba test for r2_score""" - state = Numba.numba_flag # Store the current state of Numba - set_1 = np.random.randn(100, 100) - set_2 = np.random.randn(100, 100) - set_3 = np.random.rand(100) - set_4 = np.random.rand(100) - Numba.disable_numba() - non_numba = r2_score(set_1, set_2) - non_numba_one_dimensional = r2_score(set_3, set_4) - Numba.enable_numba() - with_numba = r2_score(set_1, set_2) - with_numba_one_dimensional = r2_score(set_3, set_4) - assert state == Numba.numba_flag # Ensure that initial state = final state - assert np.allclose(non_numba, with_numba) - assert np.allclose(non_numba_one_dimensional, with_numba_one_dimensional) diff --git a/arviz/tests/base_tests/test_stats_utils.py b/arviz/tests/base_tests/test_stats_utils.py deleted file mode 100644 index b16169c55b..0000000000 --- a/arviz/tests/base_tests/test_stats_utils.py +++ /dev/null @@ -1,384 +0,0 @@ -"""Tests for stats_utils.""" - -# pylint: disable=no-member -import numpy as np -import pytest -from numpy.testing import assert_array_almost_equal -from scipy.special import logsumexp -from scipy.stats import circstd - -from ...data import from_dict, load_arviz_data -from ...stats.density_utils import histogram -from ...stats.stats_utils import ( - ELPDData, - _angle, - _circfunc, - _circular_standard_deviation, - _sqrt, - get_log_likelihood, -) -from ...stats.stats_utils import logsumexp as _logsumexp -from ...stats.stats_utils import make_ufunc, not_valid, stats_variance_2d, wrap_xarray_ufunc - - -@pytest.mark.parametrize("ary_dtype", [np.float64, np.float32, np.int32, np.int64]) -@pytest.mark.parametrize("axis", [None, 0, 1, (-2, -1)]) -@pytest.mark.parametrize("b", [None, 0, 1 / 100, 1 / 101]) -@pytest.mark.parametrize("keepdims", [True, False]) -def test_logsumexp_b(ary_dtype, axis, b, keepdims): - """Test ArviZ implementation of logsumexp. - - Test also compares against Scipy implementation. - Case where b=None, they are equal. (N=len(ary)) - Second case where b=x, and x is 1/(number of elements), they are almost equal. - - Test tests against b parameter. - """ - ary = np.random.randn(100, 101).astype(ary_dtype) # pylint: disable=no-member - assert _logsumexp(ary=ary, axis=axis, b=b, keepdims=keepdims, copy=True) is not None - ary = ary.copy() - assert _logsumexp(ary=ary, axis=axis, b=b, keepdims=keepdims, copy=False) is not None - out = np.empty(5) - assert _logsumexp(ary=np.random.randn(10, 5), axis=0, out=out) is not None - - # Scipy implementation - scipy_results = logsumexp(ary, b=b, axis=axis, keepdims=keepdims) - arviz_results = _logsumexp(ary, b=b, axis=axis, keepdims=keepdims) - - assert_array_almost_equal(scipy_results, arviz_results) - - -@pytest.mark.parametrize("ary_dtype", [np.float64, np.float32, np.int32, np.int64]) -@pytest.mark.parametrize("axis", [None, 0, 1, (-2, -1)]) -@pytest.mark.parametrize("b_inv", [None, 0, 100, 101]) -@pytest.mark.parametrize("keepdims", [True, False]) -def test_logsumexp_b_inv(ary_dtype, axis, b_inv, keepdims): - """Test ArviZ implementation of logsumexp. - - Test also compares against Scipy implementation. - Case where b=None, they are equal. (N=len(ary)) - Second case where b=x, and x is 1/(number of elements), they are almost equal. - - Test tests against b_inv parameter. - """ - ary = np.random.randn(100, 101).astype(ary_dtype) # pylint: disable=no-member - assert _logsumexp(ary=ary, axis=axis, b_inv=b_inv, keepdims=keepdims, copy=True) is not None - ary = ary.copy() - assert _logsumexp(ary=ary, axis=axis, b_inv=b_inv, keepdims=keepdims, copy=False) is not None - out = np.empty(5) - assert _logsumexp(ary=np.random.randn(10, 5), axis=0, out=out) is not None - - if b_inv != 0: - # Scipy implementation when b_inv != 0 - b_scipy = 1 / b_inv if b_inv is not None else None - scipy_results = logsumexp(ary, b=b_scipy, axis=axis, keepdims=keepdims) - arviz_results = _logsumexp(ary, b_inv=b_inv, axis=axis, keepdims=keepdims) - - assert_array_almost_equal(scipy_results, arviz_results) - - -@pytest.mark.parametrize("quantile", ((0.5,), (0.5, 0.1))) -@pytest.mark.parametrize("arg", (True, False)) -def test_wrap_ufunc_output(quantile, arg): - ary = np.random.randn(4, 100) - n_output = len(quantile) - if arg: - res = wrap_xarray_ufunc( - np.quantile, ary, ufunc_kwargs={"n_output": n_output}, func_args=(quantile,) - ) - elif n_output == 1: - res = wrap_xarray_ufunc(np.quantile, ary, func_kwargs={"q": quantile}) - else: - res = wrap_xarray_ufunc( - np.quantile, ary, ufunc_kwargs={"n_output": n_output}, func_kwargs={"q": quantile} - ) - if n_output == 1: - assert not isinstance(res, tuple) - else: - assert isinstance(res, tuple) - assert len(res) == n_output - - -@pytest.mark.parametrize("out_shape", ((1, 2), (1, 2, 3), (2, 3, 4, 5))) -@pytest.mark.parametrize("input_dim", ((4, 100), (4, 100, 3), (4, 100, 4, 5))) -def test_wrap_ufunc_out_shape(out_shape, input_dim): - func = lambda x: np.random.rand(*out_shape) - ary = np.ones(input_dim) - res = wrap_xarray_ufunc( - func, ary, func_kwargs={"out_shape": out_shape}, ufunc_kwargs={"n_dims": 1} - ) - assert res.shape == (*ary.shape[:-1], *out_shape) - - -def test_wrap_ufunc_out_shape_multi_input(): - out_shape = (2, 4) - func = lambda x, y: np.random.rand(*out_shape) - ary1 = np.ones((4, 100)) - ary2 = np.ones((4, 5)) - res = wrap_xarray_ufunc( - func, ary1, ary2, func_kwargs={"out_shape": out_shape}, ufunc_kwargs={"n_dims": 1} - ) - assert res.shape == (*ary1.shape[:-1], *out_shape) - - -def test_wrap_ufunc_out_shape_multi_output_same(): - func = lambda x: (np.random.rand(1, 2), np.random.rand(1, 2)) - ary = np.ones((4, 100)) - res1, res2 = wrap_xarray_ufunc( - func, - ary, - func_kwargs={"out_shape": ((1, 2), (1, 2))}, - ufunc_kwargs={"n_dims": 1, "n_output": 2}, - ) - assert res1.shape == (*ary.shape[:-1], 1, 2) - assert res2.shape == (*ary.shape[:-1], 1, 2) - - -def test_wrap_ufunc_out_shape_multi_output_diff(): - func = lambda x: (np.random.rand(5, 3), np.random.rand(10, 4)) - ary = np.ones((4, 100)) - res1, res2 = wrap_xarray_ufunc( - func, - ary, - func_kwargs={"out_shape": ((5, 3), (10, 4))}, - ufunc_kwargs={"n_dims": 1, "n_output": 2}, - ) - assert res1.shape == (*ary.shape[:-1], 5, 3) - assert res2.shape == (*ary.shape[:-1], 10, 4) - - -@pytest.mark.parametrize("n_output", (1, 2, 3)) -def test_make_ufunc(n_output): - if n_output == 3: - func = lambda x: (np.mean(x), np.mean(x), np.mean(x)) - elif n_output == 2: - func = lambda x: (np.mean(x), np.mean(x)) - else: - func = np.mean - ufunc = make_ufunc(func, n_dims=1, n_output=n_output) - ary = np.ones((4, 100)) - res = ufunc(ary) - if n_output > 1: - assert all(len(res_i) == 4 for res_i in res) - assert all((res_i == 1).all() for res_i in res) - else: - assert len(res) == 4 - assert (res == 1).all() - - -@pytest.mark.parametrize("n_output", (1, 2, 3)) -def test_make_ufunc_out(n_output): - if n_output == 3: - func = lambda x: (np.mean(x), np.mean(x), np.mean(x)) - res = (np.empty((4,)), np.empty((4,)), np.empty((4,))) - elif n_output == 2: - func = lambda x: (np.mean(x), np.mean(x)) - res = (np.empty((4,)), np.empty((4,))) - else: - func = np.mean - res = np.empty((4,)) - ufunc = make_ufunc(func, n_dims=1, n_output=n_output) - ary = np.ones((4, 100)) - ufunc(ary, out=res) - if n_output > 1: - assert all(len(res_i) == 4 for res_i in res) - assert all((res_i == 1).all() for res_i in res) - else: - assert len(res) == 4 - assert (res == 1).all() - - -def test_make_ufunc_bad_ndim(): - with pytest.raises(TypeError): - make_ufunc(np.mean, n_dims=0) - - -@pytest.mark.parametrize("n_output", (1, 2, 3)) -def test_make_ufunc_out_bad(n_output): - if n_output == 3: - func = lambda x: (np.mean(x), np.mean(x), np.mean(x)) - res = (np.empty((100,)), np.empty((100,))) - elif n_output == 2: - func = lambda x: (np.mean(x), np.mean(x)) - res = np.empty((100,)) - else: - func = np.mean - res = np.empty((100,)) - ufunc = make_ufunc(func, n_dims=1, n_output=n_output) - ary = np.ones((4, 100)) - with pytest.raises(TypeError): - ufunc(ary, out=res) - - -@pytest.mark.parametrize("how", ("all", "any")) -def test_nan(how): - assert not not_valid(np.ones(10), check_shape=False, nan_kwargs=dict(how=how)) - if how == "any": - assert not_valid( - np.concatenate((np.random.randn(100), np.full(2, np.nan))), - check_shape=False, - nan_kwargs=dict(how=how), - ) - else: - assert not not_valid( - np.concatenate((np.random.randn(100), np.full(2, np.nan))), - check_shape=False, - nan_kwargs=dict(how=how), - ) - assert not_valid(np.full(10, np.nan), check_shape=False, nan_kwargs=dict(how=how)) - - -@pytest.mark.parametrize("axis", (-1, 0, 1)) -def test_nan_axis(axis): - data = np.random.randn(4, 100) - data[0, 0] = np.nan # pylint: disable=unsupported-assignment-operation - axis_ = (len(data.shape) + axis) if axis < 0 else axis - assert not_valid(data, check_shape=False, nan_kwargs=dict(how="any")) - assert not_valid(data, check_shape=False, nan_kwargs=dict(how="any", axis=axis)).any() - assert not not_valid(data, check_shape=False, nan_kwargs=dict(how="any", axis=axis)).all() - assert not_valid(data, check_shape=False, nan_kwargs=dict(how="any", axis=axis)).shape == tuple( - dim for ax, dim in enumerate(data.shape) if ax != axis_ - ) - - -def test_valid_shape(): - assert not not_valid( - np.ones((2, 200)), check_nan=False, shape_kwargs=dict(min_chains=2, min_draws=100) - ) - assert not not_valid( - np.ones((200, 2)), check_nan=False, shape_kwargs=dict(min_chains=100, min_draws=2) - ) - assert not_valid( - np.ones((10, 10)), check_nan=False, shape_kwargs=dict(min_chains=2, min_draws=100) - ) - assert not_valid( - np.ones((10, 10)), check_nan=False, shape_kwargs=dict(min_chains=100, min_draws=2) - ) - - -def test_get_log_likelihood(): - idata = from_dict( - log_likelihood={ - "y1": np.random.normal(size=(4, 100, 6)), - "y2": np.random.normal(size=(4, 100, 8)), - } - ) - lik1 = get_log_likelihood(idata, "y1") - lik2 = get_log_likelihood(idata, "y2") - assert lik1.shape == (4, 100, 6) - assert lik2.shape == (4, 100, 8) - - -def test_get_log_likelihood_warning(): - idata = from_dict( - sample_stats={ - "log_likelihood": np.random.normal(size=(4, 100, 6)), - } - ) - with pytest.warns(DeprecationWarning): - get_log_likelihood(idata) - - -def test_get_log_likelihood_no_var_name(): - idata = from_dict( - log_likelihood={ - "y1": np.random.normal(size=(4, 100, 6)), - "y2": np.random.normal(size=(4, 100, 8)), - } - ) - with pytest.raises(TypeError, match="Found several"): - get_log_likelihood(idata) - - -def test_get_log_likelihood_no_group(): - idata = from_dict( - posterior={ - "a": np.random.normal(size=(4, 100)), - "b": np.random.normal(size=(4, 100)), - } - ) - with pytest.raises(TypeError, match="log likelihood not found"): - get_log_likelihood(idata) - - -def test_elpd_data_error(): - with pytest.raises(IndexError): - repr(ELPDData(data=[0, 1, 2], index=["not IC", "se", "p"])) - - -def test_stats_variance_1d(): - """Test for stats_variance_1d.""" - data = np.random.rand(1000000) - assert np.allclose(np.var(data), stats_variance_2d(data)) - assert np.allclose(np.var(data, ddof=1), stats_variance_2d(data, ddof=1)) - - -def test_stats_variance_2d(): - """Test for stats_variance_2d.""" - data_1 = np.random.randn(1000, 1000) - data_2 = np.random.randn(1000000) - school = load_arviz_data("centered_eight").posterior["mu"].values - n_school = load_arviz_data("non_centered_eight").posterior["mu"].values - assert np.allclose(np.var(school, ddof=1, axis=1), stats_variance_2d(school, ddof=1, axis=1)) - assert np.allclose(np.var(school, ddof=1, axis=0), stats_variance_2d(school, ddof=1, axis=0)) - assert np.allclose( - np.var(n_school, ddof=1, axis=1), stats_variance_2d(n_school, ddof=1, axis=1) - ) - assert np.allclose( - np.var(n_school, ddof=1, axis=0), stats_variance_2d(n_school, ddof=1, axis=0) - ) - assert np.allclose(np.var(data_2), stats_variance_2d(data_2)) - assert np.allclose(np.var(data_2, ddof=1), stats_variance_2d(data_2, ddof=1)) - assert np.allclose(np.var(data_1, axis=0), stats_variance_2d(data_1, axis=0)) - assert np.allclose(np.var(data_1, axis=1), stats_variance_2d(data_1, axis=1)) - assert np.allclose(np.var(data_1, axis=0, ddof=1), stats_variance_2d(data_1, axis=0, ddof=1)) - assert np.allclose(np.var(data_1, axis=1, ddof=1), stats_variance_2d(data_1, axis=1, ddof=1)) - - -def test_variance_bad_data(): - """Test for variance when the data range is extremely wide.""" - data = np.array([1e20, 200e-10, 1e-17, 432e9, 2500432, 23e5, 16e-7]) - assert np.allclose(stats_variance_2d(data), np.var(data)) - assert np.allclose(stats_variance_2d(data, ddof=1), np.var(data, ddof=1)) - assert not np.allclose(stats_variance_2d(data), np.var(data, ddof=1)) - - -def test_histogram(): - school = load_arviz_data("non_centered_eight").posterior["mu"].values - k_count_az, k_dens_az, _ = histogram(school, bins=np.asarray([-np.inf, 0.5, 0.7, 1, np.inf])) - k_dens_np, *_ = np.histogram(school, bins=[-np.inf, 0.5, 0.7, 1, np.inf], density=True) - k_count_np, *_ = np.histogram(school, bins=[-np.inf, 0.5, 0.7, 1, np.inf], density=False) - assert np.allclose(k_count_az, k_count_np) - assert np.allclose(k_dens_az, k_dens_np) - - -def test_sqrt(): - x = np.random.rand(100) - y = np.random.rand(100) - assert np.allclose(_sqrt(x, y), np.sqrt(x + y)) - - -def test_angle(): - x = np.random.randn(100) - high = 8 - low = 4 - res = (x - low) * 2 * np.pi / (high - low) - assert np.allclose(_angle(x, low, high, np.pi), res) - - -def test_circfunc(): - school = load_arviz_data("centered_eight").posterior["mu"].values - a_a = _circfunc(school, 8, 4, skipna=False) - assert np.allclose(a_a, _angle(school, 4, 8, np.pi)) - - -@pytest.mark.parametrize( - "data", (np.random.randn(100), np.random.randn(100, 100), np.random.randn(100, 100, 100)) -) -def test_circular_standard_deviation_1d(data): - high = 8 - low = 4 - assert np.allclose( - _circular_standard_deviation(data, high=high, low=low), - circstd(data, high=high, low=low), - ) diff --git a/arviz/tests/base_tests/test_utils.py b/arviz/tests/base_tests/test_utils.py deleted file mode 100644 index 4f03b43afe..0000000000 --- a/arviz/tests/base_tests/test_utils.py +++ /dev/null @@ -1,376 +0,0 @@ -"""Tests for arviz.utils.""" - -# pylint: disable=redefined-outer-name, no-member -from unittest.mock import Mock - -import numpy as np -import pytest -import scipy.stats as st - -from ...data import dict_to_dataset, from_dict, load_arviz_data -from ...stats.density_utils import _circular_mean, _normalize_angle, _find_hdi_contours -from ...utils import ( - _stack, - _subset_list, - _var_names, - expand_dims, - flatten_inference_data_to_dict, - one_de, - two_de, -) -from ..helpers import RandomVariableTestClass - - -@pytest.fixture(scope="session") -def inference_data(): - centered_eight = load_arviz_data("centered_eight") - return centered_eight - - -@pytest.fixture(scope="session") -def data(): - centered_eight = load_arviz_data("centered_eight") - return centered_eight.posterior - - -@pytest.mark.parametrize( - "var_names_expected", - [ - ("mu", ["mu"]), - (None, None), - (["mu", "tau"], ["mu", "tau"]), - ("~mu", ["theta", "tau"]), - (["~mu"], ["theta", "tau"]), - ], -) -def test_var_names(var_names_expected, data): - """Test var_name handling""" - var_names, expected = var_names_expected - assert _var_names(var_names, data) == expected - - -def test_var_names_warning(): - """Test confusing var_name handling""" - data = from_dict( - posterior={ - "~mu": np.random.randn(2, 10), - "mu": -np.random.randn(2, 10), # pylint: disable=invalid-unary-operand-type - "theta": np.random.randn(2, 10, 8), - } - ).posterior - var_names = expected = ["~mu"] - with pytest.warns(UserWarning): - assert _var_names(var_names, data) == expected - - -def test_var_names_key_error(data): - with pytest.raises(KeyError, match="bad_var_name"): - _var_names(("theta", "tau", "bad_var_name"), data) - - -@pytest.mark.parametrize( - "var_args", - [ - (["ta"], ["beta1", "beta2", "theta"], "like"), - (["~beta"], ["phi", "theta"], "like"), - (["beta[0-9]+"], ["beta1", "beta2"], "regex"), - (["^p"], ["phi"], "regex"), - (["~^t"], ["beta1", "beta2", "phi"], "regex"), - ], -) -def test_var_names_filter_multiple_input(var_args): - samples = np.random.randn(10) - data1 = dict_to_dataset({"beta1": samples, "beta2": samples, "phi": samples}) - data2 = dict_to_dataset({"beta1": samples, "beta2": samples, "theta": samples}) - data = [data1, data2] - var_names, expected, filter_vars = var_args - assert _var_names(var_names, data, filter_vars) == expected - - -@pytest.mark.parametrize( - "var_args", - [ - (["alpha", "beta"], ["alpha", "beta1", "beta2"], "like"), - (["~beta"], ["alpha", "p1", "p2", "phi", "theta", "theta_t"], "like"), - (["theta"], ["theta", "theta_t"], "like"), - (["~theta"], ["alpha", "beta1", "beta2", "p1", "p2", "phi"], "like"), - (["p"], ["alpha", "p1", "p2", "phi"], "like"), - (["~p"], ["beta1", "beta2", "theta", "theta_t"], "like"), - (["^bet"], ["beta1", "beta2"], "regex"), - (["^p"], ["p1", "p2", "phi"], "regex"), - (["~^p"], ["alpha", "beta1", "beta2", "theta", "theta_t"], "regex"), - (["p[0-9]+"], ["p1", "p2"], "regex"), - (["~p[0-9]+"], ["alpha", "beta1", "beta2", "phi", "theta", "theta_t"], "regex"), - ], -) -def test_var_names_filter(var_args): - """Test var_names filter with partial naming or regular expressions.""" - samples = np.random.randn(10) - data = dict_to_dataset( - { - "alpha": samples, - "beta1": samples, - "beta2": samples, - "p1": samples, - "p2": samples, - "phi": samples, - "theta": samples, - "theta_t": samples, - } - ) - var_names, expected, filter_vars = var_args - assert _var_names(var_names, data, filter_vars) == expected - - -def test_nonstring_var_names(): - """Check that non-string variables are preserved""" - mu = RandomVariableTestClass("mu") - samples = np.random.randn(10) - data = dict_to_dataset({mu: samples}) - assert _var_names([mu], data) == [mu] - - -def test_var_names_filter_invalid_argument(): - """Check invalid argument raises.""" - samples = np.random.randn(10) - data = dict_to_dataset({"alpha": samples}) - msg = r"^\'filter_vars\' can only be None, \'like\', or \'regex\', got: 'foo'$" - with pytest.raises(ValueError, match=msg): - assert _var_names(["alpha"], data, filter_vars="foo") - - -def test_subset_list_negation_not_found(): - """Check there is a warning if negation pattern is ignored""" - names = ["mu", "theta"] - with pytest.warns(UserWarning, match=".+not.+found.+"): - assert _subset_list("~tau", names) == names - - -@pytest.fixture(scope="function") -def utils_with_numba_import_fail(monkeypatch): - """Patch numba in utils so when its imported it raises ImportError""" - failed_import = Mock() - failed_import.side_effect = ImportError - - from ... import utils - - monkeypatch.setattr(utils.importlib, "import_module", failed_import) - return utils - - -def test_conditional_jit_decorator_no_numba(utils_with_numba_import_fail): - """Tests to see if Numba jit code block is skipped with Import Failure - - Test can be distinguished from test_conditional_jit__numba_decorator - by use of debugger or coverage tool - """ - - @utils_with_numba_import_fail.conditional_jit - def func(): - return "Numba not used" - - assert func() == "Numba not used" - - -def test_conditional_vect_decorator_no_numba(utils_with_numba_import_fail): - """Tests to see if Numba vectorize code block is skipped with Import Failure - - Test can be distinguished from test_conditional_vect__numba_decorator - by use of debugger or coverage tool - """ - - @utils_with_numba_import_fail.conditional_vect - def func(): - return "Numba not used" - - assert func() == "Numba not used" - - -def test_conditional_jit_numba_decorator(): - """Tests to see if Numba is used. - - Test can be distinguished from test_conditional_jit_decorator_no_numba - by use of debugger or coverage tool - """ - from ... import utils - - @utils.conditional_jit - def func(): - return True - - assert func() - - -def test_conditional_vect_numba_decorator(): - """Tests to see if Numba is used. - - Test can be distinguished from test_conditional_jit_decorator_no_numba - by use of debugger or coverage tool - """ - from ... import utils - - @utils.conditional_vect - def func(a_a, b_b): - return a_a + b_b - - value_one = np.random.randn(10) - value_two = np.random.randn(10) - assert np.allclose(func(value_one, value_two), value_one + value_two) - - -def test_conditional_vect_numba_decorator_keyword(monkeypatch): - """Checks else statement and vect keyword argument""" - from ... import utils - - # Mock import lib to return numba with hit method which returns a function that returns kwargs - numba_mock = Mock() - monkeypatch.setattr(utils.importlib, "import_module", lambda x: numba_mock) - - def vectorize(**kwargs): - """overwrite numba.vectorize function""" - return lambda x: (x(), kwargs) - - numba_mock.vectorize = vectorize - - @utils.conditional_vect(keyword_argument="A keyword argument") - def placeholder_func(): - """This function does nothing""" - return "output" - - # pylint: disable=unpacking-non-sequence - function_results, wrapper_result = placeholder_func - assert wrapper_result == {"keyword_argument": "A keyword argument"} - assert function_results == "output" - - -def test_stack(): - x = np.random.randn(10, 4, 6) - y = np.random.randn(100, 4, 6) - assert x.shape[1:] == y.shape[1:] - assert np.allclose(np.vstack((x, y)), _stack(x, y)) - assert _stack - - -@pytest.mark.parametrize("data", [np.random.randn(1000), np.random.randn(1000).tolist()]) -def test_two_de(data): - """Test to check for custom atleast_2d. List added to test for a non ndarray case.""" - assert np.allclose(two_de(data), np.atleast_2d(data)) - - -@pytest.mark.parametrize("data", [np.random.randn(100), np.random.randn(100).tolist()]) -def test_one_de(data): - """Test to check for custom atleast_1d. List added to test for a non ndarray case.""" - assert np.allclose(one_de(data), np.atleast_1d(data)) - - -@pytest.mark.parametrize("data", [np.random.randn(100), np.random.randn(100).tolist()]) -def test_expand_dims(data): - """Test to check for custom expand_dims. List added to test for a non ndarray case.""" - assert np.allclose(expand_dims(data), np.expand_dims(data, 0)) - - -@pytest.mark.parametrize("var_names", [None, "mu", ["mu", "tau"]]) -@pytest.mark.parametrize( - "groups", [None, "posterior_groups", "prior_groups", ["posterior", "sample_stats"]] -) -@pytest.mark.parametrize("dimensions", [None, "draw", ["chain", "draw"]]) -@pytest.mark.parametrize("group_info", [True, False]) -@pytest.mark.parametrize( - "var_name_format", [None, "brackets", "underscore", "cds", ((",", "[", "]"), ("_", ""))] -) -@pytest.mark.parametrize("index_origin", [None, 0, 1]) -def test_flatten_inference_data_to_dict( - inference_data, var_names, groups, dimensions, group_info, var_name_format, index_origin -): - """Test flattening (stacking) inference data (subgroups) for dictionary.""" - res_dict = flatten_inference_data_to_dict( - data=inference_data, - var_names=var_names, - groups=groups, - dimensions=dimensions, - group_info=group_info, - var_name_format=var_name_format, - index_origin=index_origin, - ) - assert res_dict - assert "draw" in res_dict - assert any("mu" in item for item in res_dict) - if group_info: - if groups != "prior_groups": - assert any("posterior" in item for item in res_dict) - if var_names is None: - assert any("sample_stats" in item for item in res_dict) - else: - assert any("prior" in item for item in res_dict) - elif groups == "prior_groups": - assert all("prior" not in item for item in res_dict) - - else: - assert all("posterior" not in item for item in res_dict) - if var_names is None: - assert all("sample_stats" not in item for item in res_dict) - - -@pytest.mark.parametrize("mean", [0, np.pi, 4 * np.pi, -2 * np.pi, -10 * np.pi]) -def test_circular_mean_scipy(mean): - """Test our `_circular_mean()` function gives same result than Scipy version.""" - rvs = st.vonmises.rvs(loc=mean, kappa=1, size=1000) - mean_az = _circular_mean(rvs) - mean_sp = st.circmean(rvs, low=-np.pi, high=np.pi) - np.testing.assert_almost_equal(mean_az, mean_sp) - - -@pytest.mark.parametrize("mean", [0, np.pi, 4 * np.pi, -2 * np.pi, -10 * np.pi]) -def test_normalize_angle(mean): - """Testing _normalize_angles() return values between expected bounds""" - rvs = st.vonmises.rvs(loc=mean, kappa=1, size=1000) - values = _normalize_angle(rvs, zero_centered=True) - assert ((-np.pi <= values) & (values <= np.pi)).all() - - values = _normalize_angle(rvs, zero_centered=False) - assert ((values >= 0) & (values <= 2 * np.pi)).all() - - -@pytest.mark.parametrize("mean", [[0, 0], [1, 1]]) -@pytest.mark.parametrize( - "cov", - [ - np.diag([1, 1]), - np.diag([0.5, 0.5]), - np.diag([0.25, 1]), - np.array([[0.4, 0.2], [0.2, 0.8]]), - ], -) -@pytest.mark.parametrize("contour_sigma", [np.array([1, 2, 3])]) -def test_find_hdi_contours(mean, cov, contour_sigma): - """Test `_find_hdi_contours()` against SciPy's multivariate normal distribution.""" - # Set up scipy distribution - prob_dist = st.multivariate_normal(mean, cov) - - # Find standard deviations and eigenvectors - eigenvals, eigenvecs = np.linalg.eig(cov) - eigenvecs = eigenvecs.T - stdevs = np.sqrt(eigenvals) - - # Find min and max for grid at 7-sigma contour - extremes = np.empty((4, 2)) - for i in range(4): - extremes[i] = mean + (-1) ** i * 7 * stdevs[i // 2] * eigenvecs[i // 2] - x_min, y_min = np.amin(extremes, axis=0) - x_max, y_max = np.amax(extremes, axis=0) - - # Create 256x256 grid - x = np.linspace(x_min, x_max, 256) - y = np.linspace(y_min, y_max, 256) - grid = np.dstack(np.meshgrid(x, y)) - - density = prob_dist.pdf(grid) - - contour_sp = np.empty(contour_sigma.shape) - for idx, sigma in enumerate(contour_sigma): - contour_sp[idx] = prob_dist.pdf(mean + sigma * stdevs[0] * eigenvecs[0]) - - hdi_probs = 1 - np.exp(-0.5 * contour_sigma**2) - contour_az = _find_hdi_contours(density, hdi_probs) - - np.testing.assert_allclose(contour_sp, contour_az, rtol=1e-2, atol=1e-4) diff --git a/arviz/tests/base_tests/test_utils_numba.py b/arviz/tests/base_tests/test_utils_numba.py deleted file mode 100644 index b2bdfe291d..0000000000 --- a/arviz/tests/base_tests/test_utils_numba.py +++ /dev/null @@ -1,87 +0,0 @@ -# pylint: disable=redefined-outer-name, no-member -"""Tests for arviz.utils.""" -import importlib -from unittest.mock import Mock - -import numpy as np -import pytest - -from ...stats.stats_utils import stats_variance_2d as svar -from ...utils import Numba, _numba_var, numba_check -from ..helpers import importorskip -from .test_utils import utils_with_numba_import_fail # pylint: disable=unused-import - -importorskip("numba") - - -def test_utils_fixture(utils_with_numba_import_fail): - """Test of utils fixture to ensure mock is applied correctly""" - - # If Numba doesn't exist in dev environment this will raise an ImportError - import numba # pylint: disable=unused-import,W0612 - - with pytest.raises(ImportError): - utils_with_numba_import_fail.importlib.import_module("numba") - - -def test_conditional_jit_numba_decorator_keyword(monkeypatch): - """Checks else statement and JIT keyword argument""" - from ... import utils - - # Mock import lib to return numba with hit method which returns a function that returns kwargs - numba_mock = Mock() - monkeypatch.setattr(utils.importlib, "import_module", lambda x: numba_mock) - - def jit(**kwargs): - """overwrite numba.jit function""" - return lambda fn: lambda: (fn(), kwargs) - - numba_mock.jit = jit - - @utils.conditional_jit(keyword_argument="A keyword argument") - def placeholder_func(): - """This function does nothing""" - return "output" - - # pylint: disable=unpacking-non-sequence - function_results, wrapper_result = placeholder_func() - assert wrapper_result == {"keyword_argument": "A keyword argument", "nopython": True} - assert function_results == "output" - - -def test_numba_check(): - """Test for numba_check""" - numba = importlib.util.find_spec("numba") - flag = numba is not None - assert flag == numba_check() - - -def test_numba_utils(): - """Test for class Numba.""" - flag = Numba.numba_flag - assert flag == numba_check() - Numba.disable_numba() - val = Numba.numba_flag - assert not val - Numba.enable_numba() - val = Numba.numba_flag - assert val - assert flag == Numba.numba_flag - - -@pytest.mark.parametrize("axis", (0, 1)) -@pytest.mark.parametrize("ddof", (0, 1)) -def test_numba_var(axis, ddof): - """Method to test numba_var.""" - flag = Numba.numba_flag - data_1 = np.random.randn(100, 100) - data_2 = np.random.rand(100) - with_numba_1 = _numba_var(svar, np.var, data_1, axis=axis, ddof=ddof) - with_numba_2 = _numba_var(svar, np.var, data_2, ddof=ddof) - Numba.disable_numba() - non_numba_1 = _numba_var(svar, np.var, data_1, axis=axis, ddof=ddof) - non_numba_2 = _numba_var(svar, np.var, data_2, ddof=ddof) - Numba.enable_numba() - assert flag == Numba.numba_flag - assert np.allclose(with_numba_1, non_numba_1) - assert np.allclose(with_numba_2, non_numba_2) diff --git a/arviz/tests/conftest.py b/arviz/tests/conftest.py deleted file mode 100644 index a4710f7abd..0000000000 --- a/arviz/tests/conftest.py +++ /dev/null @@ -1,46 +0,0 @@ -# pylint: disable=redefined-outer-name -"""Configuration for test suite.""" -import logging -import os - -import numpy as np -import pytest - -_log = logging.getLogger(__name__) - - -@pytest.fixture(autouse=True) -def random_seed(): - """Reset numpy random seed generator.""" - np.random.seed(0) - - -def pytest_addoption(parser): - """Definition for command line option to save figures from tests.""" - parser.addoption("--save", nargs="?", const="test_images", help="Save images rendered by plot") - - -@pytest.fixture(scope="session") -def save_figs(request): - """Enable command line switch for saving generation figures upon testing.""" - fig_dir = request.config.getoption("--save") - - if fig_dir is not None: - # Try creating directory if it doesn't exist - _log.info("Saving generated images in %s", fig_dir) - - os.makedirs(fig_dir, exist_ok=True) - _log.info("Directory %s created", fig_dir) - - # Clear all files from the directory - # Does not alter or delete directories - for file in os.listdir(fig_dir): - full_path = os.path.join(fig_dir, file) - - try: - os.remove(full_path) - - except OSError: - _log.info("Failed to remove %s", full_path) - - return fig_dir diff --git a/arviz/tests/external_tests/__init__.py b/arviz/tests/external_tests/__init__.py deleted file mode 100644 index 43bd40001c..0000000000 --- a/arviz/tests/external_tests/__init__.py +++ /dev/null @@ -1 +0,0 @@ -"""Backend test suite.""" diff --git a/arviz/tests/external_tests/test_data_beanmachine.py b/arviz/tests/external_tests/test_data_beanmachine.py deleted file mode 100644 index 5f2ab86b6d..0000000000 --- a/arviz/tests/external_tests/test_data_beanmachine.py +++ /dev/null @@ -1,78 +0,0 @@ -# pylint: disable=no-member, invalid-name, redefined-outer-name -import numpy as np -import pytest - -from ...data.io_beanmachine import from_beanmachine # pylint: disable=wrong-import-position -from ..helpers import ( # pylint: disable=unused-import, wrong-import-position - chains, - draws, - eight_schools_params, - importorskip, - load_cached_models, -) - -pytest.skip("Ignore beanmachine tests until it supports pytorch 2", allow_module_level=True) - -# Skip all tests if beanmachine or pytorch not installed -torch = importorskip("torch") -bm = importorskip("beanmachine.ppl") -dist = torch.distributions - - -class TestDataBeanMachine: - @pytest.fixture(scope="class") - def data(self, eight_schools_params, draws, chains): - class Data: - model, prior, obj = load_cached_models( - eight_schools_params, - draws, - chains, - "beanmachine", - )["beanmachine"] - - return Data - - @pytest.fixture(scope="class") - def predictions_data(self, data): - """Generate predictions for predictions_params""" - posterior_samples = data.obj - model = data.model - predictions = bm.inference.predictive.simulate([model.obs()], posterior_samples) - return predictions - - def get_inference_data(self, eight_schools_params, predictions_data): - predictions = predictions_data - return from_beanmachine( - sampler=predictions, - coords={ - "school": np.arange(eight_schools_params["J"]), - "school_pred": np.arange(eight_schools_params["J"]), - }, - ) - - def test_inference_data(self, data, eight_schools_params, predictions_data): - inference_data = self.get_inference_data(eight_schools_params, predictions_data) - model = data.model - mu = model.mu() - tau = model.tau() - eta = model.eta() - obs = model.obs() - - assert mu in inference_data.posterior - assert tau in inference_data.posterior - assert eta in inference_data.posterior - assert obs in inference_data.posterior_predictive - - def test_inference_data_has_log_likelihood_and_observed_data(self, data): - idata = from_beanmachine(data.obj) - obs = data.model.obs() - - assert obs in idata.log_likelihood - assert obs in idata.observed_data - - def test_inference_data_no_posterior(self, data): - model = data.model - # only prior - inference_data = from_beanmachine(data.prior) - assert not model.obs() in inference_data.posterior - assert "observed_data" not in inference_data diff --git a/arviz/tests/external_tests/test_data_cmdstan.py b/arviz/tests/external_tests/test_data_cmdstan.py deleted file mode 100644 index 1ce6e95a36..0000000000 --- a/arviz/tests/external_tests/test_data_cmdstan.py +++ /dev/null @@ -1,398 +0,0 @@ -# pylint: disable=no-member, invalid-name, redefined-outer-name -# pylint: disable=too-many-lines -import os - -import numpy as np -import pytest - -from ... import from_cmdstan - -from ..helpers import check_multiple_attrs - - -class TestDataCmdStan: - @pytest.fixture(scope="session") - def data_directory(self): - here = os.path.dirname(os.path.abspath(__file__)) - data_directory = os.path.join(here, "..", "saved_models") - return data_directory - - @pytest.fixture(scope="class") - def paths(self, data_directory): - paths = { - "no_warmup": [ - os.path.join(data_directory, "cmdstan/output_no_warmup1.csv"), - os.path.join(data_directory, "cmdstan/output_no_warmup2.csv"), - os.path.join(data_directory, "cmdstan/output_no_warmup3.csv"), - os.path.join(data_directory, "cmdstan/output_no_warmup4.csv"), - ], - "warmup": [ - os.path.join(data_directory, "cmdstan/output_warmup1.csv"), - os.path.join(data_directory, "cmdstan/output_warmup2.csv"), - os.path.join(data_directory, "cmdstan/output_warmup3.csv"), - os.path.join(data_directory, "cmdstan/output_warmup4.csv"), - ], - "no_warmup_glob": os.path.join(data_directory, "cmdstan/output_no_warmup[0-9].csv"), - "warmup_glob": os.path.join(data_directory, "cmdstan/output_warmup[0-9].csv"), - "eight_schools_glob": os.path.join( - data_directory, "cmdstan/eight_schools_output[0-9].csv" - ), - "eight_schools": [ - os.path.join(data_directory, "cmdstan/eight_schools_output1.csv"), - os.path.join(data_directory, "cmdstan/eight_schools_output2.csv"), - os.path.join(data_directory, "cmdstan/eight_schools_output3.csv"), - os.path.join(data_directory, "cmdstan/eight_schools_output4.csv"), - ], - } - return paths - - @pytest.fixture(scope="class") - def observed_data_paths(self, data_directory): - observed_data_paths = [ - os.path.join(data_directory, "cmdstan/eight_schools.data.R"), - os.path.join(data_directory, "cmdstan/example_stan.data.R"), - os.path.join(data_directory, "cmdstan/example_stan.json"), - ] - - return observed_data_paths - - def get_inference_data(self, posterior, **kwargs): - return from_cmdstan(posterior=posterior, **kwargs) - - def test_sample_stats(self, paths): - for key, path in paths.items(): - if "missing" in key: - continue - inference_data = self.get_inference_data(path) - assert hasattr(inference_data, "sample_stats") - assert "step_size" in inference_data.sample_stats.attrs - assert inference_data.sample_stats.attrs["step_size"] == "stepsize" - - def test_inference_data_shapes(self, paths): - """Assert that shapes are transformed correctly""" - for key, path in paths.items(): - if "eight" in key or "missing" in key: - continue - inference_data = self.get_inference_data(path) - test_dict = {"posterior": ["x", "y", "Z"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - assert inference_data.posterior["y"].shape == (4, 100) - assert inference_data.posterior["x"].shape == (4, 100, 3) - assert inference_data.posterior["Z"].shape == (4, 100, 4, 6) - dims = ["chain", "draw"] - y_mean_true = 0 - y_mean = inference_data.posterior["y"].mean(dim=dims) - assert np.isclose(y_mean, y_mean_true, atol=1e-1) - x_mean_true = np.array([1, 2, 3]) - x_mean = inference_data.posterior["x"].mean(dim=dims) - assert np.isclose(x_mean, x_mean_true, atol=1e-1).all() - Z_mean_true = np.array([1, 2, 3, 4]) - Z_mean = inference_data.posterior["Z"].mean(dim=dims).mean(axis=1) - assert np.isclose(Z_mean, Z_mean_true, atol=7e-1).all() - assert "comments" in inference_data.posterior.attrs - - def test_inference_data_input_types1(self, paths, observed_data_paths): - """Check input types - - posterior --> str, list of str - prior --> str, list of str - posterior_predictive --> str, variable in posterior - observed_data --> Rdump format - observed_data_var --> str, variable - log_likelihood --> str - coords --> one to many - dims --> one to many - """ - for key, path in paths.items(): - if "eight" not in key: - continue - inference_data = self.get_inference_data( - posterior=path, - posterior_predictive="y_hat", - predictions="y_hat", - prior=path, - prior_predictive="y_hat", - observed_data=observed_data_paths[0], - observed_data_var="y", - constant_data=observed_data_paths[0], - constant_data_var="y", - predictions_constant_data=observed_data_paths[0], - predictions_constant_data_var="y", - log_likelihood="log_lik", - coords={"school": np.arange(8)}, - dims={ - "theta": ["school"], - "y": ["school"], - "log_lik": ["school"], - "y_hat": ["school"], - "eta": ["school"], - }, - ) - test_dict = { - "posterior": ["mu", "tau", "theta_tilde", "theta"], - "posterior_predictive": ["y_hat"], - "predictions": ["y_hat"], - "prior": ["mu", "tau", "theta_tilde", "theta"], - "prior_predictive": ["y_hat"], - "sample_stats": ["diverging"], - "observed_data": ["y"], - "constant_data": ["y"], - "predictions_constant_data": ["y"], - "log_likelihood": ["log_lik"], - } - if "output_warmup" in path: - test_dict.update({"warmup_posterior": ["mu", "tau", "theta_tilde", "theta"]}) - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_inference_data_input_types2(self, paths, observed_data_paths): - """Check input types (change, see earlier) - - posterior_predictive --> List[str], variable in posterior - observed_data_var --> List[str], variable - """ - for key, path in paths.items(): - if "eight" not in key: - continue - inference_data = self.get_inference_data( - posterior=path, - posterior_predictive=["y_hat"], - predictions=["y_hat"], - prior=path, - prior_predictive=["y_hat"], - observed_data=observed_data_paths[0], - observed_data_var=["y"], - constant_data=observed_data_paths[0], - constant_data_var=["y"], - predictions_constant_data=observed_data_paths[0], - predictions_constant_data_var=["y"], - coords={"school": np.arange(8)}, - dims={ - "theta": ["school"], - "y": ["school"], - "log_lik": ["school"], - "y_hat": ["school"], - "eta": ["school"], - }, - dtypes={"theta": np.int64}, - ) - test_dict = { - "posterior": ["mu", "tau", "theta_tilde", "theta"], - "posterior_predictive": ["y_hat"], - "predictions": ["y_hat"], - "prior": ["mu", "tau", "theta_tilde", "theta"], - "prior_predictive": ["y_hat"], - "sample_stats": ["diverging"], - "observed_data": ["y"], - "constant_data": ["y"], - "predictions_constant_data": ["y"], - "log_likelihood": ["log_lik"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - assert isinstance(inference_data.posterior.theta.data.flat[0], np.integer) - - def test_inference_data_input_types3(self, paths, observed_data_paths): - """Check input types (change, see earlier) - - posterior_predictive --> str, csv file - coords --> one to many + one to one (default dim) - dims --> one to many - """ - for key, path in paths.items(): - if "eight" not in key: - continue - post_pred = paths["eight_schools_glob"] - inference_data = self.get_inference_data( - posterior=path, - posterior_predictive=post_pred, - prior=path, - prior_predictive=post_pred, - observed_data=observed_data_paths[0], - observed_data_var=["y"], - log_likelihood=["log_lik", "y_hat"], - coords={ - "school": np.arange(8), - "log_lik_dim_0": np.arange(8), - "y_hat": np.arange(8), - }, - dims={"theta": ["school"], "y": ["school"], "y_hat": ["school"], "eta": ["school"]}, - ) - test_dict = { - "posterior": ["mu", "tau", "theta_tilde", "theta"], - "sample_stats": ["diverging"], - "prior": ["mu", "tau", "theta_tilde", "theta"], - "prior_predictive": ["y_hat"], - "observed_data": ["y"], - "posterior_predictive": ["y_hat"], - "log_likelihood": ["log_lik", "y_hat"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_inference_data_input_types4(self, paths): - """Check input types (change, see earlier) - - coords --> one to many + one to one (non-default dim) - dims --> one to many + one to one - """ - - paths_ = paths["no_warmup"] - for path in [paths_, paths_[0]]: - inference_data = self.get_inference_data( - posterior=path, - posterior_predictive=path, - prior=path, - prior_predictive=path, - observed_data=None, - observed_data_var=None, - log_likelihood=False, - coords={"rand": np.arange(3)}, - dims={"x": ["rand"]}, - ) - test_dict = { - "posterior": ["x", "y", "Z"], - "prior": ["x", "y", "Z"], - "prior_predictive": ["x", "y", "Z"], - "sample_stats": ["lp"], - "sample_stats_prior": ["lp"], - "posterior_predictive": ["x", "y", "Z"], - "~log_likelihood": [""], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_inference_data_input_types5(self, paths, observed_data_paths): - """Check input types (change, see earlier) - - posterior_predictive is None - prior_predictive is None - """ - for key, path in paths.items(): - if "eight" not in key: - continue - inference_data = self.get_inference_data( - posterior=path, - posterior_predictive=None, - prior=path, - prior_predictive=None, - observed_data=observed_data_paths[0], - observed_data_var=["y"], - log_likelihood=["y_hat"], - coords={"school": np.arange(8), "log_lik_dim": np.arange(8)}, - dims={ - "theta": ["school"], - "y": ["school"], - "log_lik": ["log_lik_dim"], - "y_hat": ["school"], - "eta": ["school"], - }, - ) - test_dict = { - "posterior": ["mu", "tau", "theta_tilde", "theta", "log_lik"], - "prior": ["mu", "tau", "theta_tilde", "theta"], - "log_likelihood": ["y_hat", "~log_lik"], - "observed_data": ["y"], - "sample_stats_prior": ["lp"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_inference_data_input_types6(self, paths, observed_data_paths): - """Check input types (change, see earlier) - - log_likelihood --> dict - """ - for key, path in paths.items(): - if "eight" not in key: - continue - post_pred = paths["eight_schools_glob"] - inference_data = self.get_inference_data( - posterior=path, - posterior_predictive=post_pred, - prior=path, - prior_predictive=post_pred, - observed_data=observed_data_paths[0], - observed_data_var=["y"], - log_likelihood={"y": "log_lik"}, - coords={ - "school": np.arange(8), - "log_lik_dim_0": np.arange(8), - "y_hat": np.arange(8), - }, - dims={"theta": ["school"], "y": ["school"], "y_hat": ["school"], "eta": ["school"]}, - ) - test_dict = { - "posterior": ["mu", "tau", "theta_tilde", "theta"], - "sample_stats": ["diverging"], - "prior": ["mu", "tau", "theta_tilde", "theta"], - "prior_predictive": ["y_hat"], - "observed_data": ["y"], - "posterior_predictive": ["y_hat"], - "log_likelihood": ["y", "~log_lik"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_inference_data_observed_data1(self, observed_data_paths): - """Read Rdump/JSON, check shapes are correct - - All variables - """ - # Check the Rdump (idx=1) and equivalent JSON data file (idx=2) - for data_idx in (1, 2): - path = observed_data_paths[data_idx] - inference_data = self.get_inference_data(posterior=None, observed_data=path) - assert hasattr(inference_data, "observed_data") - assert len(inference_data.observed_data.data_vars) == 3 - assert inference_data.observed_data["x"].shape == (1,) - assert inference_data.observed_data["x"][0] == 1 - assert inference_data.observed_data["y"].shape == (3,) - assert inference_data.observed_data["Z"].shape == (4, 5) - - def test_inference_data_observed_data2(self, observed_data_paths): - """Read Rdump/JSON, check shapes are correct - - One variable as str - """ - # Check the Rdump (idx=1) and equivalent JSON data file (idx=2) - for data_idx in (1, 2): - path = observed_data_paths[data_idx] - inference_data = self.get_inference_data( - posterior=None, observed_data=path, observed_data_var="x" - ) - assert hasattr(inference_data, "observed_data") - assert len(inference_data.observed_data.data_vars) == 1 - assert inference_data.observed_data["x"].shape == (1,) - - def test_inference_data_observed_data3(self, observed_data_paths): - """Read Rdump/JSON, check shapes are correct - - One variable as a list - """ - # Check the Rdump (idx=1) and equivalent JSON data file (idx=2) - for data_idx in (1, 2): - path = observed_data_paths[data_idx] - inference_data = self.get_inference_data( - posterior=None, observed_data=path, observed_data_var=["x"] - ) - assert hasattr(inference_data, "observed_data") - assert len(inference_data.observed_data.data_vars) == 1 - assert inference_data.observed_data["x"].shape == (1,) - - def test_inference_data_observed_data4(self, observed_data_paths): - """Read Rdump/JSON, check shapes are correct - - Many variables as list - """ - # Check the Rdump (idx=1) and equivalent JSON data file (idx=2) - for data_idx in (1, 2): - path = observed_data_paths[data_idx] - inference_data = self.get_inference_data( - posterior=None, observed_data=path, observed_data_var=["y", "Z"] - ) - assert hasattr(inference_data, "observed_data") - assert len(inference_data.observed_data.data_vars) == 2 - assert inference_data.observed_data["y"].shape == (3,) - assert inference_data.observed_data["Z"].shape == (4, 5) diff --git a/arviz/tests/external_tests/test_data_cmdstanpy.py b/arviz/tests/external_tests/test_data_cmdstanpy.py deleted file mode 100644 index dd2f63ce7b..0000000000 --- a/arviz/tests/external_tests/test_data_cmdstanpy.py +++ /dev/null @@ -1,496 +0,0 @@ -# pylint: disable=redefined-outer-name -import os -import sys -import tempfile -from glob import glob - -import numpy as np -import pytest - -from ... import from_cmdstanpy - -from ..helpers import ( # pylint: disable=unused-import - chains, - check_multiple_attrs, - draws, - eight_schools_params, - importorskip, - load_cached_models, - pystan_version, -) - - -def _create_test_data(): - """Create test data to local folder. - - This function is needed when test data needs to be updated. - """ - import platform - import shutil - from pathlib import Path - - import cmdstanpy - - model_code = """ - data { - int J; - real y[J]; - real sigma[J]; - } - - parameters { - real mu; - real tau; - real eta[2, J / 2]; - } - - transformed parameters { - real theta[J]; - for (j in 1:J/2) { - theta[j] = mu + tau * eta[1, j]; - theta[j + 4] = mu + tau * eta[2, j]; - } - } - - model { - mu ~ normal(0, 5); - tau ~ cauchy(0, 5); - eta[1] ~ normal(0, 1); - eta[2] ~ normal(0, 1); - y ~ normal(theta, sigma); - } - - generated quantities { - vector[J] log_lik; - vector[J] y_hat; - for (j in 1:J) { - log_lik[j] = normal_lpdf(y[j] | theta[j], sigma[j]); - y_hat[j] = normal_rng(theta[j], sigma[j]); - } - } - """ - stan_file = "stan_test_data.stan" - with open(stan_file, "w", encoding="utf8") as file_handle: - print(model_code, file=file_handle) - model = cmdstanpy.CmdStanModel(stan_file=stan_file) - os.remove(stan_file) - stan_data = { - "J": 8, - "y": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]), - "sigma": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]), - } - fit_no_warmup = model.sample( - data=stan_data, iter_sampling=100, iter_warmup=1000, save_warmup=False - ) - fit_no_warmup.save_csvfiles(dir=".") - fit_files = { - "cmdstanpy_eight_schools_nowarmup": [], - "cmdstanpy_eight_schools_warmup": [], - } - for path in fit_no_warmup.runset.csv_files: - path = Path(path) - _, num = path.stem.rsplit("-", 1) - new_path = path.parent / ("cmdstanpy_eight_schools_nowarmup-" + num + path.suffix) - shutil.move(path, new_path) - fit_files["cmdstanpy_eight_schools_nowarmup"].append(new_path) - fit_warmup = model.sample(data=stan_data, iter_sampling=100, iter_warmup=500, save_warmup=True) - fit_warmup.save_csvfiles(dir=".") - for path in fit_no_warmup.runset.csv_files: - path = Path(path) - _, num = path.stem.rsplit("-", 1) - new_path = path.parent / ("cmdstanpy_eight_schools_warmup-" + num + path.suffix) - shutil.move(path, new_path) - fit_files["cmdstanpy_eight_schools_warmup"].append(new_path) - path = Path(stan_file) - os.remove(str(path.parent / (path.stem + (".exe" if platform.system() == "Windows" else "")))) - os.remove(str(path.parent / (path.stem + ".hpp"))) - return fit_files - - -@pytest.mark.skipif(sys.version_info < (3, 6), reason="CmdStanPy is supported only Python 3.6+") -class TestDataCmdStanPy: - @pytest.fixture(scope="session") - def data_directory(self): - here = os.path.dirname(os.path.abspath(__file__)) - data_directory = os.path.join(here, "..", "saved_models") - return data_directory - - @pytest.fixture(scope="class") - def filepaths(self, data_directory): - files = { - "nowarmup": glob( - os.path.join( - data_directory, "cmdstanpy", "cmdstanpy_eight_schools_nowarmup-[1-4].csv" - ) - ), - "warmup": glob( - os.path.join( - data_directory, "cmdstanpy", "cmdstanpy_eight_schools_warmup-[1-4].csv" - ) - ), - } - return files - - @pytest.fixture(scope="class") - def data(self, filepaths): - # Skip tests if cmdstanpy not installed - cmdstanpy = importorskip("cmdstanpy") - CmdStanModel = cmdstanpy.CmdStanModel # pylint: disable=invalid-name - CmdStanMCMC = cmdstanpy.CmdStanMCMC # pylint: disable=invalid-name - RunSet = cmdstanpy.stanfit.RunSet # pylint: disable=invalid-name - CmdStanArgs = cmdstanpy.model.CmdStanArgs # pylint: disable=invalid-name - SamplerArgs = cmdstanpy.model.SamplerArgs # pylint: disable=invalid-name - - class Data: - args = CmdStanArgs( - "dummy.stan", - "dummy.exe", - list(range(1, 5)), - method_args=SamplerArgs(iter_sampling=100), - ) - runset_obj = RunSet(args) - runset_obj._csv_files = filepaths["nowarmup"] # pylint: disable=protected-access - obj = CmdStanMCMC(runset_obj) - obj._assemble_draws() # pylint: disable=protected-access - - args_warmup = CmdStanArgs( - "dummy.stan", - "dummy.exe", - list(range(1, 5)), - method_args=SamplerArgs(iter_sampling=100, iter_warmup=500, save_warmup=True), - ) - runset_obj_warmup = RunSet(args_warmup) - runset_obj_warmup._csv_files = filepaths["warmup"] # pylint: disable=protected-access - obj_warmup = CmdStanMCMC(runset_obj_warmup) - obj_warmup._assemble_draws() # pylint: disable=protected-access - - _model_code = """model { real y; } generated quantities { int eta; int theta[N]; }""" - _tmp_dir = tempfile.TemporaryDirectory(prefix="arviz_tests_") - _stan_file = os.path.join(_tmp_dir.name, "stan_model_test.stan") - with open(_stan_file, "w", encoding="utf8") as f: - f.write(_model_code) - model = CmdStanModel(stan_file=_stan_file, compile=False) - - return Data - - def get_inference_data(self, data, eight_schools_params): - """vars as str.""" - return from_cmdstanpy( - posterior=data.obj, - posterior_predictive="y_hat", - predictions="y_hat", - prior=data.obj, - prior_predictive="y_hat", - observed_data={"y": eight_schools_params["y"]}, - constant_data={"y": eight_schools_params["y"]}, - predictions_constant_data={"y": eight_schools_params["y"]}, - log_likelihood={"y": "log_lik"}, - coords={"school": np.arange(eight_schools_params["J"])}, - dims={ - "y": ["school"], - "log_lik": ["school"], - "y_hat": ["school"], - "theta": ["school"], - }, - ) - - def get_inference_data2(self, data, eight_schools_params): - """vars as lists.""" - return from_cmdstanpy( - posterior=data.obj, - posterior_predictive=["y_hat"], - predictions=["y_hat", "log_lik"], - prior=data.obj, - prior_predictive=["y_hat"], - observed_data={"y": eight_schools_params["y"]}, - constant_data=eight_schools_params, - predictions_constant_data=eight_schools_params, - log_likelihood=["log_lik", "y_hat"], - coords={ - "school": np.arange(eight_schools_params["J"]), - "log_lik_dim": np.arange(eight_schools_params["J"]), - }, - dims={ - "eta": ["extra_dim", "half school"], - "y": ["school"], - "y_hat": ["school"], - "theta": ["school"], - "log_lik": ["log_lik_dim"], - }, - ) - - def get_inference_data3(self, data, eight_schools_params): - """multiple vars as lists.""" - return from_cmdstanpy( - posterior=data.obj, - posterior_predictive=["y_hat", "log_lik"], - prior=data.obj, - prior_predictive=["y_hat", "log_lik"], - observed_data={"y": eight_schools_params["y"]}, - coords={ - "school": np.arange(eight_schools_params["J"]), - "half school": ["a", "b", "c", "d"], - "extra_dim": ["x", "y"], - }, - dims={ - "eta": ["extra_dim", "half school"], - "y": ["school"], - "y_hat": ["school"], - "theta": ["school"], - "log_lik": ["log_lik_dim"], - }, - dtypes=data.model, - ) - - def get_inference_data4(self, data, eight_schools_params): - """multiple vars as lists.""" - return from_cmdstanpy( - posterior=data.obj, - posterior_predictive=None, - prior=data.obj, - prior_predictive=None, - log_likelihood=False, - observed_data={"y": eight_schools_params["y"]}, - coords=None, - dims=None, - dtypes={"eta": int, "theta": int}, - ) - - def get_inference_data5(self, data, eight_schools_params): - """multiple vars as lists.""" - return from_cmdstanpy( - posterior=data.obj, - posterior_predictive=None, - prior=data.obj, - prior_predictive=None, - log_likelihood="log_lik", - observed_data={"y": eight_schools_params["y"]}, - coords=None, - dims=None, - dtypes=data.model.code(), - ) - - def get_inference_data_warmup_true_is_true(self, data, eight_schools_params): - """vars as str.""" - return from_cmdstanpy( - posterior=data.obj_warmup, - posterior_predictive="y_hat", - predictions="y_hat", - prior=data.obj_warmup, - prior_predictive="y_hat", - observed_data={"y": eight_schools_params["y"]}, - constant_data={"y": eight_schools_params["y"]}, - predictions_constant_data={"y": eight_schools_params["y"]}, - log_likelihood="log_lik", - coords={"school": np.arange(eight_schools_params["J"])}, - dims={ - "eta": ["extra_dim", "half school"], - "y": ["school"], - "log_lik": ["school"], - "y_hat": ["school"], - "theta": ["school"], - }, - save_warmup=True, - ) - - def get_inference_data_warmup_false_is_true(self, data, eight_schools_params): - """vars as str.""" - return from_cmdstanpy( - posterior=data.obj, - posterior_predictive="y_hat", - predictions="y_hat", - prior=data.obj, - prior_predictive="y_hat", - observed_data={"y": eight_schools_params["y"]}, - constant_data={"y": eight_schools_params["y"]}, - predictions_constant_data={"y": eight_schools_params["y"]}, - log_likelihood="log_lik", - coords={"school": np.arange(eight_schools_params["J"])}, - dims={ - "eta": ["extra_dim", "half school"], - "y": ["school"], - "log_lik": ["school"], - "y_hat": ["school"], - "theta": ["school"], - }, - save_warmup=True, - ) - - def get_inference_data_warmup_true_is_false(self, data, eight_schools_params): - """vars as str.""" - return from_cmdstanpy( - posterior=data.obj_warmup, - posterior_predictive="y_hat", - predictions="y_hat", - prior=data.obj_warmup, - prior_predictive="y_hat", - observed_data={"y": eight_schools_params["y"]}, - constant_data={"y": eight_schools_params["y"]}, - predictions_constant_data={"y": eight_schools_params["y"]}, - log_likelihood="log_lik", - coords={"school": np.arange(eight_schools_params["J"])}, - dims={ - "eta": ["extra_dim", "half school"], - "y": ["school"], - "log_lik": ["school"], - "y_hat": ["school"], - "theta": ["school"], - }, - save_warmup=False, - ) - - def test_sampler_stats(self, data, eight_schools_params): - inference_data = self.get_inference_data(data, eight_schools_params) - test_dict = {"sample_stats": ["lp", "diverging"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - assert len(inference_data.sample_stats.lp.shape) == 2 # pylint: disable=no-member - - def test_inference_data(self, data, eight_schools_params): - inference_data1 = self.get_inference_data(data, eight_schools_params) - inference_data2 = self.get_inference_data2(data, eight_schools_params) - inference_data3 = self.get_inference_data3(data, eight_schools_params) - inference_data4 = self.get_inference_data4(data, eight_schools_params) - inference_data5 = self.get_inference_data5(data, eight_schools_params) - - # inference_data 1 - test_dict = { - "posterior": ["theta"], - "predictions": ["y_hat"], - "observed_data": ["y"], - "constant_data": ["y"], - "predictions_constant_data": ["y"], - "log_likelihood": ["y", "~log_lik"], - "prior": ["theta"], - } - fails = check_multiple_attrs(test_dict, inference_data1) - assert not fails - - # inference_data 2 - test_dict = { - "posterior_predictive": ["y_hat"], - "predictions": ["y_hat", "log_lik"], - "observed_data": ["y"], - "sample_stats_prior": ["lp"], - "sample_stats": ["lp"], - "constant_data": list(eight_schools_params), - "predictions_constant_data": list(eight_schools_params), - "prior_predictive": ["y_hat"], - "log_likelihood": ["log_lik", "y_hat"], - } - fails = check_multiple_attrs(test_dict, inference_data2) - assert not fails - - # inference_data 3 - test_dict = { - "posterior_predictive": ["y_hat"], - "observed_data": ["y"], - "sample_stats_prior": ["lp"], - "sample_stats": ["lp"], - "prior_predictive": ["y_hat"], - "log_likelihood": ["log_lik"], - } - fails = check_multiple_attrs(test_dict, inference_data3) - assert not fails - assert inference_data3.posterior.eta.dtype.kind == "i" # pylint: disable=no-member - assert inference_data3.posterior.theta.dtype.kind == "i" # pylint: disable=no-member - - # inference_data 4 - test_dict = { - "posterior": ["eta", "mu", "theta"], - "prior": ["theta"], - "~log_likelihood": [""], - } - fails = check_multiple_attrs(test_dict, inference_data4) - assert not fails - assert len(inference_data4.posterior.theta.shape) == 3 # pylint: disable=no-member - assert len(inference_data4.posterior.eta.shape) == 4 # pylint: disable=no-member - assert len(inference_data4.posterior.mu.shape) == 2 # pylint: disable=no-member - assert inference_data4.posterior.eta.dtype.kind == "i" # pylint: disable=no-member - assert inference_data4.posterior.theta.dtype.kind == "i" # pylint: disable=no-member - - # inference_data 5 - test_dict = { - "posterior": ["eta", "mu", "theta"], - "prior": ["theta"], - "log_likelihood": ["log_lik"], - } - fails = check_multiple_attrs(test_dict, inference_data5) - assert inference_data5.posterior.eta.dtype.kind == "i" # pylint: disable=no-member - assert inference_data5.posterior.theta.dtype.kind == "i" # pylint: disable=no-member - - def test_inference_data_warmup(self, data, eight_schools_params): - inference_data_true_is_true = self.get_inference_data_warmup_true_is_true( - data, eight_schools_params - ) - inference_data_false_is_true = self.get_inference_data_warmup_false_is_true( - data, eight_schools_params - ) - inference_data_true_is_false = self.get_inference_data_warmup_true_is_false( - data, eight_schools_params - ) - inference_data_false_is_false = self.get_inference_data(data, eight_schools_params) - # inference_data warmup - test_dict = { - "posterior": ["theta"], - "predictions": ["y_hat"], - "observed_data": ["y"], - "constant_data": ["y"], - "predictions_constant_data": ["y"], - "log_likelihood": ["log_lik"], - "prior": ["theta"], - "warmup_posterior": ["theta"], - "warmup_predictions": ["y_hat"], - "warmup_log_likelihood": ["log_lik"], - "warmup_prior": ["theta"], - } - fails = check_multiple_attrs(test_dict, inference_data_true_is_true) - assert not fails - # inference_data no warmup - test_dict = { - "posterior": ["theta"], - "predictions": ["y_hat"], - "observed_data": ["y"], - "constant_data": ["y"], - "predictions_constant_data": ["y"], - "log_likelihood": ["log_lik"], - "prior": ["theta"], - "~warmup_posterior": [""], - "~warmup_predictions": [""], - "~warmup_log_likelihood": [""], - "~warmup_prior": [""], - } - fails = check_multiple_attrs(test_dict, inference_data_false_is_true) - assert not fails - # inference_data no warmup - test_dict = { - "posterior": ["theta"], - "predictions": ["y_hat"], - "observed_data": ["y"], - "constant_data": ["y"], - "predictions_constant_data": ["y"], - "log_likelihood": ["log_lik"], - "prior": ["theta"], - "~warmup_posterior": [""], - "~warmup_predictions": [""], - "~warmup_log_likelihood": [""], - "~warmup_prior": [""], - } - fails = check_multiple_attrs(test_dict, inference_data_true_is_false) - assert not fails - # inference_data no warmup - test_dict = { - "posterior": ["theta"], - "predictions": ["y_hat"], - "observed_data": ["y"], - "constant_data": ["y"], - "predictions_constant_data": ["y"], - "log_likelihood": ["y"], - "prior": ["theta"], - "~warmup_posterior": [""], - "~warmup_predictions": [""], - "~warmup_log_likelihood": [""], - "~warmup_prior": [""], - } - fails = check_multiple_attrs(test_dict, inference_data_false_is_false) - assert not fails diff --git a/arviz/tests/external_tests/test_data_emcee.py b/arviz/tests/external_tests/test_data_emcee.py deleted file mode 100644 index d1735ce89f..0000000000 --- a/arviz/tests/external_tests/test_data_emcee.py +++ /dev/null @@ -1,166 +0,0 @@ -# pylint: disable=no-member, invalid-name, redefined-outer-name -import os - -import numpy as np -import pytest - -from ... import from_emcee - -from ..helpers import _emcee_lnprior as emcee_lnprior -from ..helpers import _emcee_lnprob as emcee_lnprob -from ..helpers import ( # pylint: disable=unused-import - chains, - check_multiple_attrs, - draws, - eight_schools_params, - importorskip, - load_cached_models, - needs_emcee3_func, -) - -# Skip all tests if emcee not installed -emcee = importorskip("emcee") - -needs_emcee3 = needs_emcee3_func() - - -class TestDataEmcee: - arg_list = [ - ({}, {"posterior": ["var_0", "var_1", "var_7"], "observed_data": ["arg_0", "arg_1"]}), - ( - {"var_names": ["mu", "tau", "eta"], "slices": [0, 1, slice(2, None)]}, - { - "posterior": ["mu", "tau", "eta"], - "observed_data": ["arg_0", "arg_1"], - "sample_stats": ["lp"], - }, - ), - ( - { - "arg_groups": ["observed_data", "constant_data"], - "blob_names": ["y", "y"], - "blob_groups": ["log_likelihood", "posterior_predictive"], - }, - { - "posterior": ["var_0", "var_1", "var_7"], - "observed_data": ["arg_0"], - "constant_data": ["arg_1"], - "log_likelihood": ["y"], - "posterior_predictive": ["y"], - "sample_stats": ["lp"], - }, - ), - ( - { - "blob_names": ["log_likelihood", "y"], - "dims": {"eta": ["school"], "log_likelihood": ["school"], "y": ["school"]}, - "var_names": ["mu", "tau", "eta"], - "slices": [0, 1, slice(2, None)], - "arg_names": ["y", "sigma"], - "arg_groups": ["observed_data", "constant_data"], - "coords": {"school": range(8)}, - }, - { - "posterior": ["mu", "tau", "eta"], - "observed_data": ["y"], - "constant_data": ["sigma"], - "log_likelihood": ["log_likelihood", "y"], - "sample_stats": ["lp"], - }, - ), - ] - - @pytest.fixture(scope="class") - def data(self, eight_schools_params, draws, chains): - class Data: - # chains are not used - # emcee uses lots of walkers - obj = load_cached_models(eight_schools_params, draws, chains, "emcee")["emcee"] - - return Data - - def get_inference_data_reader(self, **kwargs): - from emcee import backends # pylint: disable=no-name-in-module - - here = os.path.dirname(os.path.abspath(__file__)) - data_directory = os.path.join(here, "..", "saved_models") - filepath = os.path.join(data_directory, "reader_testfile.h5") - assert os.path.exists(filepath) - assert os.path.getsize(filepath) - reader = backends.HDFBackend(filepath, read_only=True) - return from_emcee(reader, **kwargs) - - @pytest.mark.parametrize("test_args", arg_list) - def test_inference_data(self, data, test_args): - kwargs, test_dict = test_args - inference_data = from_emcee(data.obj, **kwargs) - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - @needs_emcee3 - @pytest.mark.parametrize("test_args", arg_list) - def test_inference_data_reader(self, test_args): - kwargs, test_dict = test_args - kwargs = {k: i for k, i in kwargs.items() if k not in ("arg_names", "arg_groups")} - inference_data = self.get_inference_data_reader(**kwargs) - test_dict.pop("observed_data") - if "constant_data" in test_dict: - test_dict.pop("constant_data") - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_verify_var_names(self, data): - with pytest.raises(ValueError): - from_emcee(data.obj, var_names=["not", "enough"]) - - def test_verify_arg_names(self, data): - with pytest.raises(ValueError): - from_emcee(data.obj, arg_names=["not enough"]) - - @pytest.mark.parametrize("slices", [[0, 0, slice(2, None)], [0, 1, slice(1, None)]]) - def test_slices_warning(self, data, slices): - with pytest.warns(UserWarning): - from_emcee(data.obj, slices=slices) - - def test_no_blobs_error(self): - sampler = emcee.EnsembleSampler(6, 1, lambda x: -(x**2)) - sampler.run_mcmc(np.random.normal(size=(6, 1)), 20) - with pytest.raises(ValueError): - from_emcee(sampler, blob_names=["inexistent"]) - - def test_peculiar_blobs(self, data): - sampler = emcee.EnsembleSampler(6, 1, lambda x: (-(x**2), (np.random.normal(x), 3))) - sampler.run_mcmc(np.random.normal(size=(6, 1)), 20) - inference_data = from_emcee(sampler, blob_names=["normal", "threes"]) - fails = check_multiple_attrs({"log_likelihood": ["normal", "threes"]}, inference_data) - assert not fails - inference_data = from_emcee(data.obj, blob_names=["mix"]) - fails = check_multiple_attrs({"log_likelihood": ["mix"]}, inference_data) - assert not fails - - def test_single_blob(self): - sampler = emcee.EnsembleSampler(6, 1, lambda x: (-(x**2), 3)) - sampler.run_mcmc(np.random.normal(size=(6, 1)), 20) - inference_data = from_emcee(sampler, blob_names=["blob"], blob_groups=["blob_group"]) - fails = check_multiple_attrs({"blob_group": ["blob"]}, inference_data) - assert not fails - - @pytest.mark.parametrize( - "blob_args", - [ - (ValueError, ["a", "b"], ["prior"]), - (ValueError, ["too", "many", "names"], None), - (SyntaxError, ["a", "b"], ["posterior", "observed_data"]), - ], - ) - def test_bad_blobs(self, data, blob_args): - error, names, groups = blob_args - with pytest.raises(error): - from_emcee(data.obj, blob_names=names, blob_groups=groups) - - def test_ln_funcs_for_infinity(self): - # after dropping Python 3.5 support use underscore 1_000_000 - ary = np.ones(10) - ary[1] = -1 - assert np.isinf(emcee_lnprior(ary)) - assert np.isinf(emcee_lnprob(ary, ary[2:], ary[2:])[0]) diff --git a/arviz/tests/external_tests/test_data_numpyro.py b/arviz/tests/external_tests/test_data_numpyro.py deleted file mode 100644 index bbbe194e06..0000000000 --- a/arviz/tests/external_tests/test_data_numpyro.py +++ /dev/null @@ -1,434 +0,0 @@ -# pylint: disable=no-member, invalid-name, redefined-outer-name, too-many-public-methods -from collections import namedtuple -import numpy as np -import pytest - -from ...data.io_numpyro import from_numpyro # pylint: disable=wrong-import-position -from ..helpers import ( # pylint: disable=unused-import, wrong-import-position - chains, - check_multiple_attrs, - draws, - eight_schools_params, - importorskip, - load_cached_models, -) - -# Skip all tests if jax or numpyro not installed -jax = importorskip("jax") -PRNGKey = jax.random.PRNGKey -numpyro = importorskip("numpyro") -Predictive = numpyro.infer.Predictive - - -class TestDataNumPyro: - @pytest.fixture(scope="class") - def data(self, eight_schools_params, draws, chains): - class Data: - obj = load_cached_models(eight_schools_params, draws, chains, "numpyro")["numpyro"] - - return Data - - @pytest.fixture(scope="class") - def predictions_params(self): - """Predictions data for eight schools.""" - return { - "J": 8, - "sigma": np.array([5.0, 7.0, 12.0, 4.0, 6.0, 10.0, 3.0, 9.0]), - } - - @pytest.fixture(scope="class") - def predictions_data(self, data, predictions_params): - """Generate predictions for predictions_params""" - posterior_samples = data.obj.get_samples() - model = data.obj.sampler.model - predictions = Predictive(model, posterior_samples)( - PRNGKey(2), predictions_params["J"], predictions_params["sigma"] - ) - return predictions - - def get_inference_data( - self, data, eight_schools_params, predictions_data, predictions_params, infer_dims=False - ): - posterior_samples = data.obj.get_samples() - model = data.obj.sampler.model - posterior_predictive = Predictive(model, posterior_samples)( - PRNGKey(1), eight_schools_params["J"], eight_schools_params["sigma"] - ) - prior = Predictive(model, num_samples=500)( - PRNGKey(2), eight_schools_params["J"], eight_schools_params["sigma"] - ) - dims = {"theta": ["school"], "eta": ["school"], "obs": ["school"]} - pred_dims = {"theta": ["school_pred"], "eta": ["school_pred"], "obs": ["school_pred"]} - if infer_dims: - dims = None - pred_dims = None - - predictions = predictions_data - return from_numpyro( - posterior=data.obj, - prior=prior, - posterior_predictive=posterior_predictive, - predictions=predictions, - coords={ - "school": np.arange(eight_schools_params["J"]), - "school_pred": np.arange(predictions_params["J"]), - }, - dims=dims, - pred_dims=pred_dims, - ) - - def test_inference_data_namedtuple(self, data): - samples = data.obj.get_samples() - Samples = namedtuple("Samples", samples) - data_namedtuple = Samples(**samples) - _old_fn = data.obj.get_samples - data.obj.get_samples = lambda *args, **kwargs: data_namedtuple - inference_data = from_numpyro( - posterior=data.obj, - dims={}, # This mock test needs to turn off autodims like so or mock group_by_chain - ) - assert isinstance(data.obj.get_samples(), Samples) - data.obj.get_samples = _old_fn - for key in samples: - assert key in inference_data.posterior - - def test_inference_data(self, data, eight_schools_params, predictions_data, predictions_params): - inference_data = self.get_inference_data( - data, eight_schools_params, predictions_data, predictions_params - ) - test_dict = { - "posterior": ["mu", "tau", "eta"], - "sample_stats": ["diverging"], - "log_likelihood": ["obs"], - "posterior_predictive": ["obs"], - "predictions": ["obs"], - "prior": ["mu", "tau", "eta"], - "prior_predictive": ["obs"], - "observed_data": ["obs"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - # test dims - dims = inference_data.posterior_predictive.sizes["school"] - pred_dims = inference_data.predictions.sizes["school_pred"] - assert dims == 8 - assert pred_dims == 8 - - def test_inference_data_no_posterior( - self, data, eight_schools_params, predictions_data, predictions_params - ): - posterior_samples = data.obj.get_samples() - model = data.obj.sampler.model - posterior_predictive = Predictive(model, posterior_samples)( - PRNGKey(1), eight_schools_params["J"], eight_schools_params["sigma"] - ) - prior = Predictive(model, num_samples=500)( - PRNGKey(2), eight_schools_params["J"], eight_schools_params["sigma"] - ) - predictions = predictions_data - constant_data = {"J": 8, "sigma": eight_schools_params["sigma"]} - predictions_constant_data = predictions_params - # only prior - inference_data = from_numpyro(prior=prior) - test_dict = {"prior": ["mu", "tau", "eta"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only prior: {fails}" - # only posterior_predictive - inference_data = from_numpyro(posterior_predictive=posterior_predictive) - test_dict = {"posterior_predictive": ["obs"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only posterior_predictive: {fails}" - # only predictions - inference_data = from_numpyro(predictions=predictions) - test_dict = {"predictions": ["obs"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only predictions: {fails}" - # only constant_data - inference_data = from_numpyro(constant_data=constant_data) - test_dict = {"constant_data": ["J", "sigma"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only constant_data: {fails}" - # only predictions_constant_data - inference_data = from_numpyro(predictions_constant_data=predictions_constant_data) - test_dict = {"predictions_constant_data": ["J", "sigma"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only predictions_constant_data: {fails}" - # prior and posterior_predictive - idata = from_numpyro( - prior=prior, - posterior_predictive=posterior_predictive, - coords={"school": np.arange(eight_schools_params["J"])}, - dims={"theta": ["school"], "eta": ["school"]}, - ) - test_dict = {"posterior_predictive": ["obs"], "prior": ["mu", "tau", "eta", "obs"]} - fails = check_multiple_attrs(test_dict, idata) - assert not fails, f"prior and posterior_predictive: {fails}" - - def test_inference_data_only_posterior(self, data): - idata = from_numpyro(data.obj) - test_dict = { - "posterior": ["mu", "tau", "eta"], - "sample_stats": ["diverging"], - "log_likelihood": ["obs"], - } - fails = check_multiple_attrs(test_dict, idata) - assert not fails - - def test_multiple_observed_rv(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - y1 = np.random.randn(10) - y2 = np.random.randn(100) - - def model_example_multiple_obs(y1=None, y2=None): - x = numpyro.sample("x", dist.Normal(1, 3)) - numpyro.sample("y1", dist.Normal(x, 1), obs=y1) - numpyro.sample("y2", dist.Normal(x, 1), obs=y2) - - nuts_kernel = NUTS(model_example_multiple_obs) - mcmc = MCMC(nuts_kernel, num_samples=10, num_warmup=2) - mcmc.run(PRNGKey(0), y1=y1, y2=y2) - inference_data = from_numpyro(mcmc) - test_dict = { - "posterior": ["x"], - "sample_stats": ["diverging"], - "log_likelihood": ["y1", "y2"], - "observed_data": ["y1", "y2"], - } - fails = check_multiple_attrs(test_dict, inference_data) - # from ..stats import waic - # waic_results = waic(inference_data) - # print(waic_results) - # print(waic_results.keys()) - # print(waic_results.waic, waic_results.waic_se) - assert not fails - assert not hasattr(inference_data.sample_stats, "log_likelihood") - - def test_inference_data_constant_data(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - x1 = 10 - x2 = 12 - y1 = np.random.randn(10) - - def model_constant_data(x, y1=None): - _x = numpyro.sample("x", dist.Normal(1, 3)) - numpyro.sample("y1", dist.Normal(x * _x, 1), obs=y1) - - nuts_kernel = NUTS(model_constant_data) - mcmc = MCMC(nuts_kernel, num_samples=10, num_warmup=2) - mcmc.run(PRNGKey(0), x=x1, y1=y1) - posterior = mcmc.get_samples() - posterior_predictive = Predictive(model_constant_data, posterior)(PRNGKey(1), x1) - predictions = Predictive(model_constant_data, posterior)(PRNGKey(2), x2) - inference_data = from_numpyro( - mcmc, - posterior_predictive=posterior_predictive, - predictions=predictions, - constant_data={"x1": x1}, - predictions_constant_data={"x2": x2}, - ) - test_dict = { - "posterior": ["x"], - "posterior_predictive": ["y1"], - "sample_stats": ["diverging"], - "log_likelihood": ["y1"], - "predictions": ["y1"], - "observed_data": ["y1"], - "constant_data": ["x1"], - "predictions_constant_data": ["x2"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_inference_data_num_chains(self, predictions_data, chains): - predictions = predictions_data - inference_data = from_numpyro(predictions=predictions, num_chains=chains) - nchains = inference_data.predictions.sizes["chain"] - assert nchains == chains - - @pytest.mark.parametrize("nchains", [1, 2]) - @pytest.mark.parametrize("thin", [1, 2, 3, 5, 10]) - def test_mcmc_with_thinning(self, nchains, thin): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - x = np.random.normal(10, 3, size=100) - - def model(x): - numpyro.sample( - "x", - dist.Normal( - numpyro.sample("loc", dist.Uniform(0, 20)), - numpyro.sample("scale", dist.Uniform(0, 20)), - ), - obs=x, - ) - - nuts_kernel = NUTS(model) - mcmc = MCMC(nuts_kernel, num_warmup=100, num_samples=400, num_chains=nchains, thinning=thin) - mcmc.run(PRNGKey(0), x=x) - - inference_data = from_numpyro(mcmc) - assert inference_data.posterior["loc"].shape == (nchains, 400 // thin) - - def test_mcmc_improper_uniform(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - def model(): - x = numpyro.sample("x", dist.ImproperUniform(dist.constraints.positive, (), ())) - return numpyro.sample("y", dist.Normal(x, 1), obs=1.0) - - mcmc = MCMC(NUTS(model), num_warmup=10, num_samples=10) - mcmc.run(PRNGKey(0)) - inference_data = from_numpyro(mcmc) - assert inference_data.observed_data - - def test_mcmc_infer_dims(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - def model(): - # note: group2 gets assigned dim=-1 and group1 is assigned dim=-2 - with numpyro.plate("group2", 5), numpyro.plate("group1", 10): - _ = numpyro.sample("param", dist.Normal(0, 1)) - - mcmc = MCMC(NUTS(model), num_warmup=10, num_samples=10) - mcmc.run(PRNGKey(0)) - inference_data = from_numpyro( - mcmc, coords={"group1": np.arange(10), "group2": np.arange(5)} - ) - assert inference_data.posterior.param.dims == ("chain", "draw", "group1", "group2") - assert all(dim in inference_data.posterior.param.coords for dim in ("group1", "group2")) - - def test_mcmc_infer_unsorted_dims(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - def model(): - group1_plate = numpyro.plate("group1", 10, dim=-1) - group2_plate = numpyro.plate("group2", 5, dim=-2) - - # the plate contexts are entered in a different order than the pre-defined dims - # we should make sure this still works because the trace has all of the info it needs - with group2_plate, group1_plate: - _ = numpyro.sample("param", dist.Normal(0, 1)) - - mcmc = MCMC(NUTS(model), num_warmup=10, num_samples=10) - mcmc.run(PRNGKey(0)) - inference_data = from_numpyro( - mcmc, coords={"group1": np.arange(10), "group2": np.arange(5)} - ) - assert inference_data.posterior.param.dims == ("chain", "draw", "group2", "group1") - assert all(dim in inference_data.posterior.param.coords for dim in ("group1", "group2")) - - def test_mcmc_infer_dims_no_coords(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - def model(): - with numpyro.plate("group", 5): - _ = numpyro.sample("param", dist.Normal(0, 1)) - - mcmc = MCMC(NUTS(model), num_warmup=10, num_samples=10) - mcmc.run(PRNGKey(0)) - inference_data = from_numpyro(mcmc) - assert inference_data.posterior.param.dims == ("chain", "draw", "group") - - def test_mcmc_event_dims(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - def model(): - _ = numpyro.sample( - "gamma", dist.ZeroSumNormal(1, event_shape=(10,)), infer={"event_dims": ["groups"]} - ) - - mcmc = MCMC(NUTS(model), num_warmup=10, num_samples=10) - mcmc.run(PRNGKey(0)) - inference_data = from_numpyro(mcmc, coords={"groups": np.arange(10)}) - assert inference_data.posterior.gamma.dims == ("chain", "draw", "groups") - assert "groups" in inference_data.posterior.gamma.coords - - @pytest.mark.xfail - def test_mcmc_inferred_dims_univariate(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - import jax.numpy as jnp - - def model(): - alpha = numpyro.sample("alpha", dist.Normal(0, 1)) - sigma = numpyro.sample("sigma", dist.HalfNormal(1)) - with numpyro.plate("obs_idx", 3): - # mu is plated by obs_idx, but isnt broadcasted to the plate shape - # the expected behavior is that this should cause a failure - mu = numpyro.deterministic("mu", alpha) - return numpyro.sample("y", dist.Normal(mu, sigma), obs=jnp.array([-1, 0, 1])) - - mcmc = MCMC(NUTS(model), num_warmup=10, num_samples=10) - mcmc.run(PRNGKey(0)) - inference_data = from_numpyro(mcmc, coords={"obs_idx": np.arange(3)}) - assert inference_data.posterior.mu.dims == ("chain", "draw", "obs_idx") - assert "obs_idx" in inference_data.posterior.mu.coords - - def test_mcmc_extra_event_dims(self): - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - def model(): - gamma = numpyro.sample("gamma", dist.ZeroSumNormal(1, event_shape=(10,))) - _ = numpyro.deterministic("gamma_plus1", gamma + 1) - - mcmc = MCMC(NUTS(model), num_warmup=10, num_samples=10) - mcmc.run(PRNGKey(0)) - inference_data = from_numpyro( - mcmc, coords={"groups": np.arange(10)}, extra_event_dims={"gamma_plus1": ["groups"]} - ) - assert inference_data.posterior.gamma_plus1.dims == ("chain", "draw", "groups") - assert "groups" in inference_data.posterior.gamma_plus1.coords - - def test_mcmc_predictions_infer_dims( - self, data, eight_schools_params, predictions_data, predictions_params - ): - inference_data = self.get_inference_data( - data, eight_schools_params, predictions_data, predictions_params, infer_dims=True - ) - assert inference_data.predictions.obs.dims == ("chain", "draw", "J") - assert "J" in inference_data.predictions.obs.coords - - def test_potential_energy_sign_conversion(self): - """Test that potential energy is converted to log probability (lp) with correct sign.""" - import numpyro - import numpyro.distributions as dist - from numpyro.infer import MCMC, NUTS - - num_samples = 10 - - def simple_model(): - numpyro.sample("x", dist.Normal(0, 1)) - - nuts_kernel = NUTS(simple_model) - mcmc = MCMC(nuts_kernel, num_samples=num_samples, num_warmup=5) - mcmc.run(PRNGKey(0), extra_fields=["potential_energy"]) - - # Get the raw extra fields from NumPyro - extra_fields = mcmc.get_extra_fields(group_by_chain=True) - # Convert to ArviZ InferenceData - inference_data = from_numpyro(mcmc) - arviz_lp = inference_data["sample_stats"]["lp"].values - - np.testing.assert_array_equal(arviz_lp, -extra_fields["potential_energy"]) diff --git a/arviz/tests/external_tests/test_data_pyjags.py b/arviz/tests/external_tests/test_data_pyjags.py deleted file mode 100644 index 986546b741..0000000000 --- a/arviz/tests/external_tests/test_data_pyjags.py +++ /dev/null @@ -1,119 +0,0 @@ -# pylint: disable=no-member, invalid-name, redefined-outer-name, unused-import -import sys -import typing as tp - -import numpy as np -import pytest - -from ... import InferenceData, from_pyjags, waic -from ...data.io_pyjags import ( - _convert_arviz_dict_to_pyjags_dict, - _convert_pyjags_dict_to_arviz_dict, - _extract_arviz_dict_from_inference_data, -) -from ..helpers import check_multiple_attrs, eight_schools_params - -pytest.skip("Uses deprecated numpy C-api", allow_module_level=True) - -PYJAGS_POSTERIOR_DICT = { - "b": np.random.randn(3, 10, 3), - "int": np.random.randn(1, 10, 3), - "log_like": np.random.randn(1, 10, 3), -} -PYJAGS_PRIOR_DICT = {"b": np.random.randn(3, 10, 3), "int": np.random.randn(1, 10, 3)} - - -PARAMETERS = ("mu", "tau", "theta_tilde") -VARIABLES = tuple(list(PARAMETERS) + ["log_like"]) - -NUMBER_OF_WARMUP_SAMPLES = 1000 -NUMBER_OF_POST_WARMUP_SAMPLES = 5000 - - -def verify_equality_of_numpy_values_dictionaries( - dict_1: tp.Mapping[tp.Any, np.ndarray], dict_2: tp.Mapping[tp.Any, np.ndarray] -) -> bool: - if dict_1.keys() != dict_2.keys(): - return False - - for key in dict_1.keys(): - if not np.all(dict_1[key] == dict_2[key]): - return False - - return True - - -class TestDataPyJAGSWithoutEstimation: - def test_convert_pyjags_samples_dictionary_to_arviz_samples_dictionary(self): - arviz_samples_dict_from_pyjags_samples_dict = _convert_pyjags_dict_to_arviz_dict( - PYJAGS_POSTERIOR_DICT - ) - - pyjags_dict_from_arviz_dict_from_pyjags_dict = _convert_arviz_dict_to_pyjags_dict( - arviz_samples_dict_from_pyjags_samples_dict - ) - - assert verify_equality_of_numpy_values_dictionaries( - PYJAGS_POSTERIOR_DICT, - pyjags_dict_from_arviz_dict_from_pyjags_dict, - ) - - def test_extract_samples_dictionary_from_arviz_inference_data(self): - arviz_samples_dict_from_pyjags_samples_dict = _convert_pyjags_dict_to_arviz_dict( - PYJAGS_POSTERIOR_DICT - ) - - arviz_inference_data_from_pyjags_samples_dict = from_pyjags(PYJAGS_POSTERIOR_DICT) - arviz_dict_from_idata_from_pyjags_dict = _extract_arviz_dict_from_inference_data( - arviz_inference_data_from_pyjags_samples_dict - ) - - assert verify_equality_of_numpy_values_dictionaries( - arviz_samples_dict_from_pyjags_samples_dict, - arviz_dict_from_idata_from_pyjags_dict, - ) - - def test_roundtrip_from_pyjags_via_arviz_to_pyjags(self): - arviz_inference_data_from_pyjags_samples_dict = from_pyjags(PYJAGS_POSTERIOR_DICT) - arviz_dict_from_idata_from_pyjags_dict = _extract_arviz_dict_from_inference_data( - arviz_inference_data_from_pyjags_samples_dict - ) - - pyjags_dict_from_arviz_idata = _convert_arviz_dict_to_pyjags_dict( - arviz_dict_from_idata_from_pyjags_dict - ) - - assert verify_equality_of_numpy_values_dictionaries( - PYJAGS_POSTERIOR_DICT, pyjags_dict_from_arviz_idata - ) - - @pytest.mark.parametrize("posterior", [None, PYJAGS_POSTERIOR_DICT]) - @pytest.mark.parametrize("prior", [None, PYJAGS_PRIOR_DICT]) - @pytest.mark.parametrize("save_warmup", [True, False]) - @pytest.mark.parametrize("warmup_iterations", [0, 5]) - def test_inference_data_attrs(self, posterior, prior, save_warmup, warmup_iterations: int): - arviz_inference_data_from_pyjags_samples_dict = from_pyjags( - posterior=posterior, - prior=prior, - log_likelihood={"y": "log_like"}, - save_warmup=save_warmup, - warmup_iterations=warmup_iterations, - ) - posterior_warmup_prefix = ( - "" if save_warmup and warmup_iterations > 0 and posterior is not None else "~" - ) - prior_warmup_prefix = ( - "" if save_warmup and warmup_iterations > 0 and prior is not None else "~" - ) - print(f'posterior_warmup_prefix="{posterior_warmup_prefix}"') - test_dict = { - f'{"~" if posterior is None else ""}posterior': ["b", "int"], - f'{"~" if prior is None else ""}prior': ["b", "int"], - f'{"~" if posterior is None else ""}log_likelihood': ["y"], - f"{posterior_warmup_prefix}warmup_posterior": ["b", "int"], - f"{prior_warmup_prefix}warmup_prior": ["b", "int"], - f"{posterior_warmup_prefix}warmup_log_likelihood": ["y"], - } - - fails = check_multiple_attrs(test_dict, arviz_inference_data_from_pyjags_samples_dict) - assert not fails diff --git a/arviz/tests/external_tests/test_data_pyro.py b/arviz/tests/external_tests/test_data_pyro.py deleted file mode 100644 index 73b3c1c05c..0000000000 --- a/arviz/tests/external_tests/test_data_pyro.py +++ /dev/null @@ -1,260 +0,0 @@ -# pylint: disable=no-member, invalid-name, redefined-outer-name -import numpy as np -import packaging -import pytest - -from ...data.io_pyro import from_pyro # pylint: disable=wrong-import-position -from ..helpers import ( # pylint: disable=unused-import, wrong-import-position - chains, - check_multiple_attrs, - draws, - eight_schools_params, - importorskip, - load_cached_models, -) - -# Skip all tests if pyro or pytorch not installed -torch = importorskip("torch") -pyro = importorskip("pyro") -Predictive = pyro.infer.Predictive -dist = pyro.distributions - - -class TestDataPyro: - @pytest.fixture(scope="class") - def data(self, eight_schools_params, draws, chains): - class Data: - obj = load_cached_models(eight_schools_params, draws, chains, "pyro")["pyro"] - - return Data - - @pytest.fixture(scope="class") - def predictions_params(self): - """Predictions data for eight schools.""" - return { - "J": 8, - "sigma": np.array([5.0, 7.0, 12.0, 4.0, 6.0, 10.0, 3.0, 9.0]), - } - - @pytest.fixture(scope="class") - def predictions_data(self, data, predictions_params): - """Generate predictions for predictions_params""" - posterior_samples = data.obj.get_samples() - model = data.obj.kernel.model - predictions = Predictive(model, posterior_samples)( - predictions_params["J"], torch.from_numpy(predictions_params["sigma"]).float() - ) - return predictions - - def get_inference_data(self, data, eight_schools_params, predictions_data): - posterior_samples = data.obj.get_samples() - model = data.obj.kernel.model - posterior_predictive = Predictive(model, posterior_samples)( - eight_schools_params["J"], torch.from_numpy(eight_schools_params["sigma"]).float() - ) - prior = Predictive(model, num_samples=500)( - eight_schools_params["J"], torch.from_numpy(eight_schools_params["sigma"]).float() - ) - predictions = predictions_data - return from_pyro( - posterior=data.obj, - prior=prior, - posterior_predictive=posterior_predictive, - predictions=predictions, - coords={ - "school": np.arange(eight_schools_params["J"]), - "school_pred": np.arange(eight_schools_params["J"]), - }, - dims={"theta": ["school"], "eta": ["school"], "obs": ["school"]}, - pred_dims={"theta": ["school_pred"], "eta": ["school_pred"], "obs": ["school_pred"]}, - ) - - def test_inference_data(self, data, eight_schools_params, predictions_data): - inference_data = self.get_inference_data(data, eight_schools_params, predictions_data) - test_dict = { - "posterior": ["mu", "tau", "eta"], - "sample_stats": ["diverging"], - "posterior_predictive": ["obs"], - "predictions": ["obs"], - "prior": ["mu", "tau", "eta"], - "prior_predictive": ["obs"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - # test dims - dims = inference_data.posterior_predictive.sizes["school"] - pred_dims = inference_data.predictions.sizes["school_pred"] - assert dims == 8 - assert pred_dims == 8 - - @pytest.mark.skipif( - packaging.version.parse(pyro.__version__) < packaging.version.parse("1.0.0"), - reason="requires pyro 1.0.0 or higher", - ) - def test_inference_data_has_log_likelihood_and_observed_data(self, data): - idata = from_pyro(data.obj) - test_dict = {"log_likelihood": ["obs"], "observed_data": ["obs"]} - fails = check_multiple_attrs(test_dict, idata) - assert not fails - - def test_inference_data_no_posterior( - self, data, eight_schools_params, predictions_data, predictions_params - ): - posterior_samples = data.obj.get_samples() - model = data.obj.kernel.model - posterior_predictive = Predictive(model, posterior_samples)( - eight_schools_params["J"], torch.from_numpy(eight_schools_params["sigma"]).float() - ) - prior = Predictive(model, num_samples=500)( - eight_schools_params["J"], torch.from_numpy(eight_schools_params["sigma"]).float() - ) - predictions = predictions_data - constant_data = {"J": 8, "sigma": eight_schools_params["sigma"]} - predictions_constant_data = predictions_params - # only prior - inference_data = from_pyro(prior=prior) - test_dict = {"prior": ["mu", "tau", "eta"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only prior: {fails}" - # only posterior_predictive - inference_data = from_pyro(posterior_predictive=posterior_predictive) - test_dict = {"posterior_predictive": ["obs"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only posterior_predictive: {fails}" - # only predictions - inference_data = from_pyro(predictions=predictions) - test_dict = {"predictions": ["obs"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only predictions: {fails}" - # only constant_data - inference_data = from_pyro(constant_data=constant_data) - test_dict = {"constant_data": ["J", "sigma"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only constant_data: {fails}" - # only predictions_constant_data - inference_data = from_pyro(predictions_constant_data=predictions_constant_data) - test_dict = {"predictions_constant_data": ["J", "sigma"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails, f"only predictions_constant_data: {fails}" - # prior and posterior_predictive - idata = from_pyro( - prior=prior, - posterior_predictive=posterior_predictive, - coords={"school": np.arange(eight_schools_params["J"])}, - dims={"theta": ["school"], "eta": ["school"]}, - ) - test_dict = {"posterior_predictive": ["obs"], "prior": ["mu", "tau", "eta", "obs"]} - fails = check_multiple_attrs(test_dict, idata) - assert not fails, f"prior and posterior_predictive: {fails}" - - def test_inference_data_only_posterior(self, data): - idata = from_pyro(data.obj) - test_dict = {"posterior": ["mu", "tau", "eta"], "sample_stats": ["diverging"]} - fails = check_multiple_attrs(test_dict, idata) - assert not fails - - @pytest.mark.skipif( - packaging.version.parse(pyro.__version__) < packaging.version.parse("1.0.0"), - reason="requires pyro 1.0.0 or higher", - ) - def test_inference_data_only_posterior_has_log_likelihood(self, data): - idata = from_pyro(data.obj) - test_dict = {"log_likelihood": ["obs"]} - fails = check_multiple_attrs(test_dict, idata) - assert not fails - - def test_multiple_observed_rv(self): - y1 = torch.randn(10) - y2 = torch.randn(10) - - def model_example_multiple_obs(y1=None, y2=None): - x = pyro.sample("x", dist.Normal(1, 3)) - pyro.sample("y1", dist.Normal(x, 1), obs=y1) - pyro.sample("y2", dist.Normal(x, 1), obs=y2) - - nuts_kernel = pyro.infer.NUTS(model_example_multiple_obs) - mcmc = pyro.infer.MCMC(nuts_kernel, num_samples=10) - mcmc.run(y1=y1, y2=y2) - inference_data = from_pyro(mcmc) - test_dict = { - "posterior": ["x"], - "sample_stats": ["diverging"], - "log_likelihood": ["y1", "y2"], - "observed_data": ["y1", "y2"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - assert not hasattr(inference_data.sample_stats, "log_likelihood") - - def test_inference_data_constant_data(self): - x1 = 10 - x2 = 12 - y1 = torch.randn(10) - - def model_constant_data(x, y1=None): - _x = pyro.sample("x", dist.Normal(1, 3)) - pyro.sample("y1", dist.Normal(x * _x, 1), obs=y1) - - nuts_kernel = pyro.infer.NUTS(model_constant_data) - mcmc = pyro.infer.MCMC(nuts_kernel, num_samples=10) - mcmc.run(x=x1, y1=y1) - posterior = mcmc.get_samples() - posterior_predictive = Predictive(model_constant_data, posterior)(x1) - predictions = Predictive(model_constant_data, posterior)(x2) - inference_data = from_pyro( - mcmc, - posterior_predictive=posterior_predictive, - predictions=predictions, - constant_data={"x1": x1}, - predictions_constant_data={"x2": x2}, - ) - test_dict = { - "posterior": ["x"], - "posterior_predictive": ["y1"], - "sample_stats": ["diverging"], - "log_likelihood": ["y1"], - "predictions": ["y1"], - "observed_data": ["y1"], - "constant_data": ["x1"], - "predictions_constant_data": ["x2"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_inference_data_num_chains(self, predictions_data, chains): - predictions = predictions_data - inference_data = from_pyro(predictions=predictions, num_chains=chains) - nchains = inference_data.predictions.sizes["chain"] - assert nchains == chains - - @pytest.mark.parametrize("log_likelihood", [True, False]) - def test_log_likelihood(self, log_likelihood): - """Test behaviour when log likelihood cannot be retrieved. - - If log_likelihood=True there is a warning to say log_likelihood group is skipped, - if log_likelihood=False there is no warning and log_likelihood is skipped. - """ - x = torch.randn((10, 2)) - y = torch.randn(10) - - def model_constant_data(x, y=None): - beta = pyro.sample("beta", dist.Normal(torch.ones(2), 3)) - pyro.sample("y", dist.Normal(x.matmul(beta), 1), obs=y) - - nuts_kernel = pyro.infer.NUTS(model_constant_data) - mcmc = pyro.infer.MCMC(nuts_kernel, num_samples=10) - mcmc.run(x=x, y=y) - if log_likelihood: - with pytest.warns(UserWarning, match="Could not get vectorized trace"): - inference_data = from_pyro(mcmc, log_likelihood=log_likelihood) - else: - inference_data = from_pyro(mcmc, log_likelihood=log_likelihood) - test_dict = { - "posterior": ["beta"], - "sample_stats": ["diverging"], - "~log_likelihood": [""], - "observed_data": ["y"], - } - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails diff --git a/arviz/tests/external_tests/test_data_pystan.py b/arviz/tests/external_tests/test_data_pystan.py deleted file mode 100644 index 69f214f76b..0000000000 --- a/arviz/tests/external_tests/test_data_pystan.py +++ /dev/null @@ -1,307 +0,0 @@ -# pylint: disable=no-member, invalid-name, redefined-outer-name, too-many-function-args -import importlib -from collections import OrderedDict -import os - -import numpy as np -import pytest - -from ... import from_pystan - -from ...data.io_pystan import get_draws, get_draws_stan3 # pylint: disable=unused-import -from ..helpers import ( # pylint: disable=unused-import - chains, - check_multiple_attrs, - draws, - eight_schools_params, - importorskip, - load_cached_models, - pystan_version, -) - -# Check if either pystan or pystan3 is installed -pystan_installed = (importlib.util.find_spec("pystan") is not None) or ( - importlib.util.find_spec("stan") is not None -) - - -@pytest.mark.skipif( - not (pystan_installed or "ARVIZ_REQUIRE_ALL_DEPS" in os.environ), - reason="test requires pystan/pystan3 which is not installed", -) -class TestDataPyStan: - @pytest.fixture(scope="class") - def data(self, eight_schools_params, draws, chains): - class Data: - model, obj = load_cached_models(eight_schools_params, draws, chains, "pystan")["pystan"] - - return Data - - def get_inference_data(self, data, eight_schools_params): - """vars as str.""" - return from_pystan( - posterior=data.obj, - posterior_predictive="y_hat", - predictions="y_hat", # wrong, but fine for testing - prior=data.obj, - prior_predictive="y_hat", - observed_data="y", - constant_data="sigma", - predictions_constant_data="sigma", # wrong, but fine for testing - log_likelihood={"y": "log_lik"}, - coords={"school": np.arange(eight_schools_params["J"])}, - dims={ - "theta": ["school"], - "y": ["school"], - "sigma": ["school"], - "y_hat": ["school"], - "eta": ["school"], - }, - posterior_model=data.model, - prior_model=data.model, - ) - - def get_inference_data2(self, data, eight_schools_params): - """vars as lists.""" - return from_pystan( - posterior=data.obj, - posterior_predictive=["y_hat"], - predictions=["y_hat"], # wrong, but fine for testing - prior=data.obj, - prior_predictive=["y_hat"], - observed_data=["y"], - log_likelihood="log_lik", - coords={ - "school": np.arange(eight_schools_params["J"]), - "log_likelihood_dim": np.arange(eight_schools_params["J"]), - }, - dims={ - "theta": ["school"], - "y": ["school"], - "y_hat": ["school"], - "eta": ["school"], - "log_lik": ["log_likelihood_dim"], - }, - posterior_model=data.model, - prior_model=data.model, - ) - - def get_inference_data3(self, data, eight_schools_params): - """multiple vars as lists.""" - return from_pystan( - posterior=data.obj, - posterior_predictive=["y_hat", "log_lik"], # wrong, but fine for testing - predictions=["y_hat", "log_lik"], # wrong, but fine for testing - prior=data.obj, - prior_predictive=["y_hat", "log_lik"], # wrong, but fine for testing - constant_data=["sigma", "y"], # wrong, but fine for testing - predictions_constant_data=["sigma", "y"], # wrong, but fine for testing - coords={"school": np.arange(eight_schools_params["J"])}, - dims={ - "theta": ["school"], - "y": ["school"], - "sigma": ["school"], - "y_hat": ["school"], - "eta": ["school"], - }, - posterior_model=data.model, - prior_model=data.model, - ) - - def get_inference_data4(self, data): - """minimal input.""" - return from_pystan( - posterior=data.obj, - posterior_predictive=None, - prior=data.obj, - prior_predictive=None, - coords=None, - dims=None, - posterior_model=data.model, - log_likelihood=[], - prior_model=data.model, - save_warmup=True, - ) - - def get_inference_data5(self, data): - """minimal input.""" - return from_pystan( - posterior=data.obj, - posterior_predictive=None, - prior=data.obj, - prior_predictive=None, - coords=None, - dims=None, - posterior_model=data.model, - log_likelihood=False, - prior_model=data.model, - save_warmup=True, - dtypes={"eta": int}, - ) - - def test_sampler_stats(self, data, eight_schools_params): - inference_data = self.get_inference_data(data, eight_schools_params) - test_dict = {"sample_stats": ["diverging"]} - fails = check_multiple_attrs(test_dict, inference_data) - assert not fails - - def test_inference_data(self, data, eight_schools_params): - inference_data1 = self.get_inference_data(data, eight_schools_params) - inference_data2 = self.get_inference_data2(data, eight_schools_params) - inference_data3 = self.get_inference_data3(data, eight_schools_params) - inference_data4 = self.get_inference_data4(data) - inference_data5 = self.get_inference_data5(data) - # inference_data 1 - test_dict = { - "posterior": ["theta", "~log_lik"], - "posterior_predictive": ["y_hat"], - "predictions": ["y_hat"], - "observed_data": ["y"], - "constant_data": ["sigma"], - "predictions_constant_data": ["sigma"], - "sample_stats": ["diverging", "lp"], - "log_likelihood": ["y", "~log_lik"], - "prior": ["theta"], - } - fails = check_multiple_attrs(test_dict, inference_data1) - assert not fails - # inference_data 2 - test_dict = { - "posterior_predictive": ["y_hat"], - "predictions": ["y_hat"], - "observed_data": ["y"], - "sample_stats_prior": ["diverging"], - "sample_stats": ["diverging", "lp"], - "log_likelihood": ["log_lik"], - "prior_predictive": ["y_hat"], - } - fails = check_multiple_attrs(test_dict, inference_data2) - assert not fails - assert any( - item in inference_data2.posterior.attrs for item in ["stan_code", "program_code"] - ) - assert any( - item in inference_data2.sample_stats.attrs for item in ["stan_code", "program_code"] - ) - # inference_data 3 - test_dict = { - "posterior_predictive": ["y_hat", "log_lik"], - "predictions": ["y_hat", "log_lik"], - "constant_data": ["sigma", "y"], - "predictions_constant_data": ["sigma", "y"], - "sample_stats_prior": ["diverging"], - "sample_stats": ["diverging", "lp"], - "log_likelihood": ["log_lik"], - "prior_predictive": ["y_hat", "log_lik"], - } - fails = check_multiple_attrs(test_dict, inference_data3) - assert not fails - # inference_data 4 - test_dict = { - "posterior": ["theta"], - "prior": ["theta"], - "sample_stats": ["diverging", "lp"], - "~log_likelihood": [""], - "warmup_posterior": ["theta"], - "warmup_sample_stats": ["diverging", "lp"], - } - fails = check_multiple_attrs(test_dict, inference_data4) - assert not fails - # inference_data 5 - test_dict = { - "posterior": ["theta"], - "prior": ["theta"], - "sample_stats": ["diverging", "lp"], - "~log_likelihood": [""], - "warmup_posterior": ["theta"], - "warmup_sample_stats": ["diverging", "lp"], - } - fails = check_multiple_attrs(test_dict, inference_data5) - assert not fails - assert inference_data5.posterior.eta.dtype.kind == "i" - - def test_invalid_fit(self, data): - if pystan_version() == 2: - model = data.model - model_data = { - "J": 8, - "y": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]), - "sigma": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]), - } - fit_test_grad = model.sampling( - data=model_data, test_grad=True, check_hmc_diagnostics=False - ) - with pytest.raises(AttributeError): - _ = from_pystan(posterior=fit_test_grad) - fit = model.sampling(data=model_data, iter=100, chains=1, check_hmc_diagnostics=False) - del fit.sim["samples"] - with pytest.raises(AttributeError): - _ = from_pystan(posterior=fit) - - def test_empty_parameter(self): - model_code = """ - parameters { - real y; - vector[3] x; - vector[0] a; - vector[2] z; - } - model { - y ~ normal(0,1); - } - """ - if pystan_version() == 2: - from pystan import StanModel # pylint: disable=import-error - - model = StanModel(model_code=model_code) - fit = model.sampling(iter=500, chains=2, check_hmc_diagnostics=False) - else: - import stan # pylint: disable=import-error - - model = stan.build(model_code) - fit = model.sample(num_samples=500, num_chains=2) - - posterior = from_pystan(posterior=fit) - test_dict = {"posterior": ["y", "x", "z", "~a"], "sample_stats": ["diverging"]} - fails = check_multiple_attrs(test_dict, posterior) - assert not fails - - def test_get_draws(self, data): - fit = data.obj - if pystan_version() == 2: - draws, _ = get_draws(fit, variables=["theta", "theta"]) - else: - draws, _ = get_draws_stan3(fit, variables=["theta", "theta"]) - assert draws.get("theta") is not None - - @pytest.mark.skipif(pystan_version() != 2, reason="PyStan 2.x required") - def test_index_order(self, data, eight_schools_params): - """Test 0-indexed data.""" - # Skip test if pystan not installed - pystan = importorskip("pystan") # pylint: disable=import-error - - fit = data.model.sampling(data=eight_schools_params) - if pystan.__version__ >= "2.18": - # make 1-indexed to 0-indexed - for holder in fit.sim["samples"]: - new_chains = OrderedDict() - for i, (key, values) in enumerate(holder.chains.items()): - if "[" in key: - name, *shape = key.replace("]", "").split("[") - shape = [str(int(item) - 1) for items in shape for item in items.split(",")] - key = f"{name}[{','.join(shape)}]" - new_chains[key] = np.full_like(values, fill_value=float(i)) - setattr(holder, "chains", new_chains) - fit.sim["fnames_oi"] = list(fit.sim["samples"][0].chains.keys()) - idata = from_pystan(posterior=fit) - assert idata is not None - for j, fpar in enumerate(fit.sim["fnames_oi"]): - par, *shape = fpar.replace("]", "").split("[") - if par in {"lp__", "log_lik"}: - continue - assert hasattr(idata.posterior, par), (par, list(idata.posterior.data_vars)) - if shape: - shape = [slice(None), slice(None)] + list(map(int, shape)) - assert idata.posterior[par][tuple(shape)].values.mean() == float(j) - else: - assert idata.posterior[par].values.mean() == float(j) diff --git a/arviz/tests/helpers.py b/arviz/tests/helpers.py deleted file mode 100644 index a51a20d0c9..0000000000 --- a/arviz/tests/helpers.py +++ /dev/null @@ -1,677 +0,0 @@ -# pylint: disable=redefined-outer-name, comparison-with-callable, protected-access -"""Test helper functions.""" -import gzip -import importlib -import logging -import os -import sys -from typing import Any, Dict, List, Optional, Tuple, Union -import warnings -from contextlib import contextmanager - -import cloudpickle -import numpy as np -import pytest -from _pytest.outcomes import Skipped -from packaging.version import Version - -from ..data import InferenceData, from_dict - -_log = logging.getLogger(__name__) - - -class RandomVariableTestClass: - """Example class for random variables.""" - - def __init__(self, name): - self.name = name - - def __repr__(self): - """Return argument to constructor as string representation.""" - return self.name - - -@contextmanager -def does_not_warn(warning=Warning): - with warnings.catch_warnings(record=True) as caught_warnings: - warnings.simplefilter("always") - yield - for w in caught_warnings: - if issubclass(w.category, warning): - raise AssertionError( - f"Expected no {warning.__name__} but caught warning with message: {w.message}" - ) - - -@pytest.fixture(scope="module") -def eight_schools_params(): - """Share setup for eight schools.""" - return { - "J": 8, - "y": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]), - "sigma": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]), - } - - -@pytest.fixture(scope="module") -def draws(): - """Share default draw count.""" - return 500 - - -@pytest.fixture(scope="module") -def chains(): - """Share default chain count.""" - return 2 - - -def create_model(seed=10, transpose=False): - """Create model with fake data.""" - np.random.seed(seed) - nchains = 4 - ndraws = 500 - data = { - "J": 8, - "y": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]), - "sigma": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]), - } - posterior = { - "mu": np.random.randn(nchains, ndraws), - "tau": abs(np.random.randn(nchains, ndraws)), - "eta": np.random.randn(nchains, ndraws, data["J"]), - "theta": np.random.randn(nchains, ndraws, data["J"]), - } - posterior_predictive = {"y": np.random.randn(nchains, ndraws, len(data["y"]))} - sample_stats = { - "energy": np.random.randn(nchains, ndraws), - "diverging": np.random.randn(nchains, ndraws) > 0.90, - "max_depth": np.random.randn(nchains, ndraws) > 0.90, - } - log_likelihood = { - "y": np.random.randn(nchains, ndraws, data["J"]), - } - prior = { - "mu": np.random.randn(nchains, ndraws) / 2, - "tau": abs(np.random.randn(nchains, ndraws)) / 2, - "eta": np.random.randn(nchains, ndraws, data["J"]) / 2, - "theta": np.random.randn(nchains, ndraws, data["J"]) / 2, - } - prior_predictive = {"y": np.random.randn(nchains, ndraws, len(data["y"])) / 2} - sample_stats_prior = { - "energy": np.random.randn(nchains, ndraws), - "diverging": (np.random.randn(nchains, ndraws) > 0.95).astype(int), - } - model = from_dict( - posterior=posterior, - posterior_predictive=posterior_predictive, - sample_stats=sample_stats, - log_likelihood=log_likelihood, - prior=prior, - prior_predictive=prior_predictive, - sample_stats_prior=sample_stats_prior, - observed_data={"y": data["y"]}, - dims={ - "y": ["obs_dim"], - "log_likelihood": ["obs_dim"], - "theta": ["school"], - "eta": ["school"], - }, - coords={"obs_dim": range(data["J"])}, - ) - if transpose: - for group in model._groups: - group_dataset = getattr(model, group) - if all(dim in group_dataset.dims for dim in ("draw", "chain")): - setattr(model, group, group_dataset.transpose(*["draw", "chain"], ...)) - return model - - -def create_multidimensional_model(seed=10, transpose=False): - """Create model with fake data.""" - np.random.seed(seed) - nchains = 4 - ndraws = 500 - ndim1 = 5 - ndim2 = 7 - data = { - "y": np.random.normal(size=(ndim1, ndim2)), - "sigma": np.random.normal(size=(ndim1, ndim2)), - } - posterior = { - "mu": np.random.randn(nchains, ndraws), - "tau": abs(np.random.randn(nchains, ndraws)), - "eta": np.random.randn(nchains, ndraws, ndim1, ndim2), - "theta": np.random.randn(nchains, ndraws, ndim1, ndim2), - } - posterior_predictive = {"y": np.random.randn(nchains, ndraws, ndim1, ndim2)} - sample_stats = { - "energy": np.random.randn(nchains, ndraws), - "diverging": np.random.randn(nchains, ndraws) > 0.90, - } - log_likelihood = { - "y": np.random.randn(nchains, ndraws, ndim1, ndim2), - } - prior = { - "mu": np.random.randn(nchains, ndraws) / 2, - "tau": abs(np.random.randn(nchains, ndraws)) / 2, - "eta": np.random.randn(nchains, ndraws, ndim1, ndim2) / 2, - "theta": np.random.randn(nchains, ndraws, ndim1, ndim2) / 2, - } - prior_predictive = {"y": np.random.randn(nchains, ndraws, ndim1, ndim2) / 2} - sample_stats_prior = { - "energy": np.random.randn(nchains, ndraws), - "diverging": (np.random.randn(nchains, ndraws) > 0.95).astype(int), - } - model = from_dict( - posterior=posterior, - posterior_predictive=posterior_predictive, - sample_stats=sample_stats, - log_likelihood=log_likelihood, - prior=prior, - prior_predictive=prior_predictive, - sample_stats_prior=sample_stats_prior, - observed_data={"y": data["y"]}, - dims={"y": ["dim1", "dim2"], "log_likelihood": ["dim1", "dim2"]}, - coords={"dim1": range(ndim1), "dim2": range(ndim2)}, - ) - if transpose: - for group in model._groups: - group_dataset = getattr(model, group) - if all(dim in group_dataset.dims for dim in ("draw", "chain")): - setattr(model, group, group_dataset.transpose(*["draw", "chain"], ...)) - return model - - -def create_data_random(groups=None, seed=10): - """Create InferenceData object using random data.""" - if groups is None: - groups = ["posterior", "sample_stats", "observed_data", "posterior_predictive"] - rng = np.random.default_rng(seed) - data = rng.normal(size=(4, 500, 8)) - idata_dict = dict( - posterior={"a": data[..., 0], "b": data}, - sample_stats={"a": data[..., 0], "b": data}, - observed_data={"b": data[0, 0, :]}, - posterior_predictive={"a": data[..., 0], "b": data}, - prior={"a": data[..., 0], "b": data}, - prior_predictive={"a": data[..., 0], "b": data}, - warmup_posterior={"a": data[..., 0], "b": data}, - warmup_posterior_predictive={"a": data[..., 0], "b": data}, - warmup_prior={"a": data[..., 0], "b": data}, - ) - idata = from_dict( - **{group: ary for group, ary in idata_dict.items() if group in groups}, save_warmup=True - ) - return idata - - -@pytest.fixture() -def data_random(): - """Fixture containing InferenceData object using random data.""" - idata = create_data_random() - return idata - - -@pytest.fixture(scope="module") -def models(): - """Fixture containing 2 mock inference data instances for testing.""" - # blank line to keep black and pydocstyle happy - - class Models: - model_1 = create_model(seed=10) - model_2 = create_model(seed=11, transpose=True) - - return Models() - - -@pytest.fixture(scope="module") -def multidim_models(): - """Fixture containing 2 mock inference data instances with multidimensional data for testing.""" - # blank line to keep black and pydocstyle happy - - class Models: - model_1 = create_multidimensional_model(seed=10) - model_2 = create_multidimensional_model(seed=11, transpose=True) - - return Models() - - -def check_multiple_attrs( - test_dict: Dict[str, List[str]], parent: InferenceData -) -> List[Union[str, Tuple[str, str]]]: - """Perform multiple hasattr checks on InferenceData objects. - - It is thought to first check if the parent object contains a given dataset, - and then (if present) check the attributes of the dataset. - - Given the output of the function, all mismatches between expectation and reality can - be retrieved: a single string indicates a group mismatch and a tuple of strings - ``(group, var)`` indicates a mismatch in the variable ``var`` of ``group``. - - Parameters - ---------- - test_dict: dict of {str : list of str} - Its structure should be `{dataset1_name: [var1, var2], dataset2_name: [var]}`. - A ``~`` at the beginning of a dataset or variable name indicates the name NOT - being present must be asserted. - parent: InferenceData - InferenceData object on which to check the attributes. - - Returns - ------- - list - List containing the failed checks. It will contain either the dataset_name or a - tuple (dataset_name, var) for all non present attributes. - - Examples - -------- - The output below indicates that ``posterior`` group was expected but not found, and - variables ``a`` and ``b``: - - ["posterior", ("prior", "a"), ("prior", "b")] - - Another example could be the following: - - [("posterior", "a"), "~observed_data", ("sample_stats", "~log_likelihood")] - - In this case, the output indicates that variable ``a`` was not found in ``posterior`` - as it was expected, however, in the other two cases, the preceding ``~`` (kept from the - input negation notation) indicates that ``observed_data`` group should not be present - but was found in the InferenceData and that ``log_likelihood`` variable was found - in ``sample_stats``, also against what was expected. - - """ - failed_attrs: List[Union[str, Tuple[str, str]]] = [] - for dataset_name, attributes in test_dict.items(): - if dataset_name.startswith("~"): - if hasattr(parent, dataset_name[1:]): - failed_attrs.append(dataset_name) - elif hasattr(parent, dataset_name): - dataset = getattr(parent, dataset_name) - for attribute in attributes: - if attribute.startswith("~"): - if hasattr(dataset, attribute[1:]): - failed_attrs.append((dataset_name, attribute)) - elif not hasattr(dataset, attribute): - failed_attrs.append((dataset_name, attribute)) - else: - failed_attrs.append(dataset_name) - return failed_attrs - - -def emcee_version(): - """Check emcee version. - - Returns - ------- - int - Major version number - - """ - import emcee - - return int(emcee.__version__[0]) - - -def needs_emcee3_func(): - """Check if emcee3 is required.""" - # pylint: disable=invalid-name - needs_emcee3 = pytest.mark.skipif(emcee_version() < 3, reason="emcee3 required") - return needs_emcee3 - - -def _emcee_lnprior(theta): - """Proper function to allow pickling.""" - mu, tau, eta = theta[0], theta[1], theta[2:] - # Half-cauchy prior, hwhm=25 - if tau < 0: - return -np.inf - prior_tau = -np.log(tau**2 + 25**2) - prior_mu = -((mu / 10) ** 2) # normal prior, loc=0, scale=10 - prior_eta = -np.sum(eta**2) # normal prior, loc=0, scale=1 - return prior_mu + prior_tau + prior_eta - - -def _emcee_lnprob(theta, y, sigma): - """Proper function to allow pickling.""" - mu, tau, eta = theta[0], theta[1], theta[2:] - prior = _emcee_lnprior(theta) - like_vect = -(((mu + tau * eta - y) / sigma) ** 2) - like = np.sum(like_vect) - return like + prior, (like_vect, np.random.normal((mu + tau * eta), sigma)) - - -def emcee_schools_model(data, draws, chains): - """Schools model in emcee.""" - import emcee - - chains = 10 * chains # emcee is sad with too few walkers - y = data["y"] - sigma = data["sigma"] - J = data["J"] # pylint: disable=invalid-name - ndim = J + 2 - - pos = np.random.normal(size=(chains, ndim)) - pos[:, 1] = np.absolute(pos[:, 1]) # pylint: disable=unsupported-assignment-operation - - if emcee_version() < 3: - sampler = emcee.EnsembleSampler(chains, ndim, _emcee_lnprob, args=(y, sigma)) - # pylint: enable=unexpected-keyword-arg - sampler.run_mcmc(pos, draws) - else: - here = os.path.dirname(os.path.abspath(__file__)) - data_directory = os.path.join(here, "saved_models") - filepath = os.path.join(data_directory, "reader_testfile.h5") - backend = emcee.backends.HDFBackend(filepath) # pylint: disable=no-member - backend.reset(chains, ndim) - # pylint: disable=unexpected-keyword-arg - sampler = emcee.EnsembleSampler( - chains, ndim, _emcee_lnprob, args=(y, sigma), backend=backend - ) - # pylint: enable=unexpected-keyword-arg - sampler.run_mcmc(pos, draws, store=True) - return sampler - - -# pylint:disable=no-member,no-value-for-parameter,invalid-name -def _pyro_noncentered_model(J, sigma, y=None): - import pyro - import pyro.distributions as dist - - mu = pyro.sample("mu", dist.Normal(0, 5)) - tau = pyro.sample("tau", dist.HalfCauchy(5)) - with pyro.plate("J", J): - eta = pyro.sample("eta", dist.Normal(0, 1)) - theta = mu + tau * eta - return pyro.sample("obs", dist.Normal(theta, sigma), obs=y) - - -def pyro_noncentered_schools(data, draws, chains): - """Non-centered eight schools implementation in Pyro.""" - import torch - from pyro.infer import MCMC, NUTS - - y = torch.from_numpy(data["y"]).float() - sigma = torch.from_numpy(data["sigma"]).float() - - nuts_kernel = NUTS(_pyro_noncentered_model, jit_compile=True, ignore_jit_warnings=True) - posterior = MCMC(nuts_kernel, num_samples=draws, warmup_steps=draws, num_chains=chains) - posterior.run(data["J"], sigma, y) - - # This block lets the posterior be pickled - posterior.sampler = None - posterior.kernel.potential_fn = None - return posterior - - -# pylint:disable=no-member,no-value-for-parameter,invalid-name -def _numpyro_noncentered_model(J, sigma, y=None): - import numpyro - import numpyro.distributions as dist - - mu = numpyro.sample("mu", dist.Normal(0, 5)) - tau = numpyro.sample("tau", dist.HalfCauchy(5)) - with numpyro.plate("J", J): - eta = numpyro.sample("eta", dist.Normal(0, 1)) - theta = mu + tau * eta - return numpyro.sample("obs", dist.Normal(theta, sigma), obs=y) - - -def numpyro_schools_model(data, draws, chains): - """Centered eight schools implementation in NumPyro.""" - from jax.random import PRNGKey - from numpyro.infer import MCMC, NUTS - - mcmc = MCMC( - NUTS(_numpyro_noncentered_model), - num_warmup=draws, - num_samples=draws, - num_chains=chains, - chain_method="sequential", - ) - mcmc.run(PRNGKey(0), extra_fields=("num_steps", "energy"), **data) - - # This block lets the posterior be pickled - mcmc.sampler._sample_fn = None # pylint: disable=protected-access - mcmc.sampler._init_fn = None # pylint: disable=protected-access - mcmc.sampler._postprocess_fn = None # pylint: disable=protected-access - mcmc.sampler._potential_fn = None # pylint: disable=protected-access - mcmc.sampler._potential_fn_gen = None # pylint: disable=protected-access - mcmc._cache = {} # pylint: disable=protected-access - return mcmc - - -def pystan_noncentered_schools(data, draws, chains): - """Non-centered eight schools implementation for pystan.""" - schools_code = """ - data { - int J; - array[J] real y; - array[J] real sigma; - } - - parameters { - real mu; - real tau; - array[J] real eta; - } - - transformed parameters { - array[J] real theta; - for (j in 1:J) - theta[j] = mu + tau * eta[j]; - } - - model { - mu ~ normal(0, 5); - tau ~ cauchy(0, 5); - eta ~ normal(0, 1); - y ~ normal(theta, sigma); - } - - generated quantities { - array[J] real log_lik; - array[J] real y_hat; - for (j in 1:J) { - log_lik[j] = normal_lpdf(y[j] | theta[j], sigma[j]); - y_hat[j] = normal_rng(theta[j], sigma[j]); - } - } - """ - if pystan_version() == 2: - import pystan # pylint: disable=import-error - - stan_model = pystan.StanModel(model_code=schools_code) - fit = stan_model.sampling( - data=data, - iter=draws + 500, - warmup=500, - chains=chains, - check_hmc_diagnostics=False, - control=dict(adapt_engaged=False), - ) - else: - import stan # pylint: disable=import-error - - stan_model = stan.build(schools_code, data=data) - fit = stan_model.sample( - num_chains=chains, num_samples=draws, num_warmup=500, save_warmup=True - ) - return stan_model, fit - - -def bm_schools_model(data, draws, chains): - import beanmachine.ppl as bm # pylint: disable=import-error - import torch - import torch.distributions as dist - - class EightSchools: - @bm.random_variable - def mu(self): - return dist.Normal(0, 5) - - @bm.random_variable - def tau(self): - return dist.HalfCauchy(5) - - @bm.random_variable - def eta(self): - return dist.Normal(0, 1).expand((data["J"],)) - - @bm.functional - def theta(self): - return self.mu() + self.tau() * self.eta() - - @bm.random_variable - def obs(self): - return dist.Normal(self.theta(), torch.from_numpy(data["sigma"]).float()) - - model = EightSchools() - - prior = bm.GlobalNoUTurnSampler().infer( - queries=[model.mu(), model.tau(), model.eta()], - observations={}, - num_samples=draws, - num_adaptive_samples=500, - num_chains=chains, - ) - - posterior = bm.GlobalNoUTurnSampler().infer( - queries=[model.mu(), model.tau(), model.eta()], - observations={model.obs(): torch.from_numpy(data["y"]).float()}, - num_samples=draws, - num_adaptive_samples=500, - num_chains=chains, - ) - return model, prior, posterior - - -def library_handle(library): - """Import a library and return the handle.""" - if library == "pystan": - try: - module = importlib.import_module("pystan") - except ImportError: - module = importlib.import_module("stan") - else: - module = importlib.import_module(library) - return module - - -def load_cached_models(eight_schools_data, draws, chains, libs=None): - """Load pystan, emcee, and pyro models from pickle.""" - here = os.path.dirname(os.path.abspath(__file__)) - supported = ( - ("pystan", pystan_noncentered_schools), - ("emcee", emcee_schools_model), - ("pyro", pyro_noncentered_schools), - ("numpyro", numpyro_schools_model), - # ("beanmachine", bm_schools_model), # ignore beanmachine until it supports torch>=2 - ) - data_directory = os.path.join(here, "saved_models") - models = {} - - if isinstance(libs, str): - libs = [libs] - - for library_name, func in supported: - if libs is not None and library_name not in libs: - continue - library = library_handle(library_name) - if library.__name__ == "stan": - # PyStan3 does not support pickling - # httpstan caches models automatically - _log.info("Generating and loading stan model") - models["pystan"] = func(eight_schools_data, draws, chains) - continue - - py_version = sys.version_info - fname = "{0.major}.{0.minor}_{1.__name__}_{1.__version__}_{2}_{3}_{4}.pkl.gzip".format( - py_version, library, sys.platform, draws, chains - ) - - path = os.path.join(data_directory, fname) - if not os.path.exists(path): - with gzip.open(path, "wb") as buff: - try: - _log.info("Generating and caching %s", fname) - cloudpickle.dump(func(eight_schools_data, draws, chains), buff) - except AttributeError as err: - raise AttributeError(f"Failed caching {library_name}") from err - - with gzip.open(path, "rb") as buff: - _log.info("Loading %s from cache", fname) - models[library.__name__] = cloudpickle.load(buff) - - return models - - -def pystan_version(): - """Check PyStan version. - - Returns - ------- - int - Major version number - - """ - try: - import pystan # pylint: disable=import-error - - version = int(pystan.__version__[0]) - except ImportError: - try: - import stan # pylint: disable=import-error - - version = int(stan.__version__[0]) - except ImportError: - version = None - return version - - -def test_precompile_models(eight_schools_params, draws, chains): - """Precompile model files.""" - load_cached_models(eight_schools_params, draws, chains) - - -def importorskip( - modname: str, minversion: Optional[str] = None, reason: Optional[str] = None -) -> Any: - """Import and return the requested module ``modname``. - - Doesn't allow skips on CI machine. - Borrowed and modified from ``pytest.importorskip``. - :param str modname: the name of the module to import - :param str minversion: if given, the imported module's ``__version__`` - attribute must be at least this minimal version, otherwise the test is - still skipped. - :param str reason: if given, this reason is shown as the message when the - module cannot be imported. - :returns: The imported module. This should be assigned to its canonical - name. - Example:: - docutils = pytest.importorskip("docutils") - """ - # Unless ARVIZ_REQUIRE_ALL_DEPS is defined, tests that require a missing dependency are skipped - # if set, missing optional dependencies trigger failed tests. - if "ARVIZ_REQUIRE_ALL_DEPS" not in os.environ: - return pytest.importorskip(modname=modname, minversion=minversion, reason=reason) - - compile(modname, "", "eval") # to catch syntaxerrors - - with warnings.catch_warnings(): - # make sure to ignore ImportWarnings that might happen because - # of existing directories with the same name we're trying to - # import but without a __init__.py file - warnings.simplefilter("ignore") - __import__(modname) - mod = sys.modules[modname] - if minversion is None: - return mod - verattr = getattr(mod, "__version__", None) - if verattr is None or Version(verattr) < Version(minversion): - raise Skipped( - "module %r has __version__ %r, required is: %r" % (modname, verattr, minversion), - allow_module_level=True, - ) - return mod diff --git a/arviz/tests/saved_models/.gitignore b/arviz/tests/saved_models/.gitignore deleted file mode 100644 index 86d0cb2726..0000000000 --- a/arviz/tests/saved_models/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -# Ignore everything in this directory -* -# Except this file -!.gitignore \ No newline at end of file diff --git a/arviz/tests/saved_models/cmdstan/eight_schools.data.R b/arviz/tests/saved_models/cmdstan/eight_schools.data.R deleted file mode 100644 index 189a950f88..0000000000 --- a/arviz/tests/saved_models/cmdstan/eight_schools.data.R +++ /dev/null @@ -1,5 +0,0 @@ -J <- 8 -y <- -c(28, 8, -3, 7, -1, 1, 18, 12) -sigma <- -c(15, 10, 16, 11, 9, 11, 10, 18) diff --git a/arviz/tests/saved_models/cmdstan/eight_schools_output1.csv b/arviz/tests/saved_models/cmdstan/eight_schools_output1.csv deleted file mode 100644 index 34c1d0cb05..0000000000 --- a/arviz/tests/saved_models/cmdstan/eight_schools_output1.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = eight_schools_nc_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = eight_schools.data.R -# init = 2 (Default) -# random -# seed = 779839997 -# output -# file = eight_schools_output1.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,theta_tilde.1,theta_tilde.2,theta_tilde.3,theta_tilde.4,theta_tilde.5,theta_tilde.6,theta_tilde.7,theta_tilde.8,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 -# Adaptation terminated -# Step size = 0.457932 -# Diagonal elements of inverse mass matrix: -# 9.90327, 1.6423, 0.896773, 0.818821, 0.863037, 1.01397, 0.923057, 0.843567, 0.9547, 0.785471 --6.80141,0.941564,0.457932,3,7,0,10.3077,8.22396,3.64491,-0.606567,0.890522,-2.30096,0.240332,-0.0384109,-0.121282,-0.264219,-0.987772,6.01308,11.4698,-0.162842,9.09995,8.08396,7.7819,7.2609,4.62362,-4.70127,-3.28172,-3.70725,-3.33506,-3.62553,-3.50689,-3.79816,-3.89328,20.7317,20.731,14.2208,34.2177,8.33889,9.67195,4.40839,41.2007 --8.50201,0.944826,0.457932,3,7,0,12.3851,13.1883,2.98982,-1.05137,-0.86088,-1.12852,1.09828,0.375517,-0.314971,0.00270363,0.0146909,10.0449,10.6145,9.81429,16.472,14.3111,12.2466,13.1964,13.2323,-4.3434,-3.2557,-4.01224,-3.68757,-4.56326,-3.83951,-3.33689,-3.81165,1.81016,11.0417,23.2999,20.7194,17.8092,18.2309,13.6693,8.1957 --9.76892,0.86231,0.457932,3,7,0,13.3638,-0.382747,0.979588,1.57676,0.901973,1.09696,-1.52133,-1.37546,-0.456012,-0.53385,-1.25118,1.16182,0.500815,0.691823,-1.87303,-1.73013,-0.829451,-0.905701,-1.60839,-5.22763,-3.50271,-3.71815,-3.64217,-3.11945,-3.33066,-5.00865,-4.09509,-6.83132,-5.75867,-20.9807,-13.7756,-12.4971,13.0095,-4.00945,3.62144 --7.85511,0.981983,0.457932,3,7,0,15.314,8.28647,0.964356,-1.07422,1.38666,0.905918,-0.466892,-1.60639,0.802725,0.379857,-0.773919,7.25054,9.6237,9.1601,7.83622,6.73735,9.06059,8.65279,7.54014,-4.58374,-3.23471,-3.98033,-3.31972,-3.48571,-3.58532,-3.65838,-3.84001,21.3886,18.2094,16.873,-1.0727,-5.52039,13.5899,24.013,24.7132 --8.16306,0.938818,0.457932,3,7,0,17.8718,-2.60588,3.5403,1.87432,-0.460782,-0.29393,0.778302,1.388,-1.23958,1.11029,-0.211361,4.02978,-4.23719,-3.64648,0.149544,2.30807,-6.99437,1.32488,-3.35416,-4.90381,-3.97027,-3.69234,-3.51075,-3.18371,-3.58092,-4.61182,-4.17312,18.7915,-13.1667,-22.8278,-14.0363,13.2386,-17.3464,25.9182,-3.22994 --9.00993,0.520802,0.457932,3,7,0,15.2625,-1.02061,0.702033,0.239642,0.154519,-0.73469,-1.38135,1.20244,-1.40908,1.30205,-0.693137,-0.852374,-0.912133,-1.53639,-1.99036,-0.176454,-2.00983,-0.10653,-1.50722,-5.4769,-3.61865,-3.69571,-3.65083,-3.12035,-3.35427,-4.86076,-4.09086,8.64413,22.1012,-33.269,-1.91822,23.7092,5.61891,14.8084,-14.7471 --7.35586,0.933757,0.457932,3,7,0,17.5779,10.1532,2.30242,0.289398,0.399781,0.692642,1.46035,-1.1973,1.19329,-0.30011,0.831504,10.8195,11.0737,11.748,13.5156,7.39654,12.9007,9.46224,12.0677,-4.28292,-3.26876,-4.11634,-3.49226,-3.55136,-3.90207,-3.58599,-3.80932,33.7331,20.188,2.36825,1.57983,-15.6932,-7.02372,3.4057,24.1595 --9.45684,0.96495,0.457932,3,7,0,12.3199,8.25661,4.22507,0.327862,-0.831692,1.49228,1.23425,-0.548235,1.625,-1.25303,1.12614,9.64185,4.74265,14.5616,13.4714,5.94028,15.1224,2.96246,13.0146,-4.37593,-3.27458,-4.29389,-3.48989,-3.41349,-4.14097,-4.35216,-3.8109,9.30864,-3.06009,32.6279,25.286,14.7522,0.0164033,8.89058,34.2544 --10.0728,0.555362,0.457932,3,7,0,16.2945,5.54122,0.598762,1.9965,-0.796498,0.974125,-0.648374,-0.37144,1.65826,-0.281126,2.00791,6.73665,5.0643,6.12449,5.153,5.31881,6.53412,5.37289,6.74348,-4.63172,-3.26462,-3.85414,-3.33093,-3.36263,-3.44339,-4.01874,-3.85195,-16.442,12.5684,2.87363,2.22922,-5.96582,5.13946,4.18324,32.5952 --9.5475,1,0.457932,3,7,0,15.463,-1.81038,0.384059,-0.1073,-0.362897,0.964029,1.5409,-0.812223,0.479804,-0.858745,1.33078,-1.85159,-1.94975,-1.44014,-1.21858,-2.12232,-1.62611,-2.14019,-1.29928,-5.60725,-3.71651,-3.69628,-3.59595,-3.12394,-3.34533,-5.24966,-4.08226,5.98475,-7.90046,12.865,-3.83532,-6.43626,0.917775,-9.73741,-4.26039 --7.16027,0.977553,0.457932,3,7,0,14.1361,5.5965,3.61135,1.21671,-0.040642,-0.859558,-1.26011,0.628525,2.19799,0.607011,0.269931,9.99048,5.44973,2.49233,1.04581,7.86632,13.5342,7.78863,6.57132,-4.34775,-3.25404,-3.75044,-3.46333,-3.60142,-3.96603,-3.74288,-3.85479,17.8214,28.4382,-45.9267,-10.5305,25.3337,-7.51767,14.9478,-15.9449 --5.96269,1,0.457932,3,7,0,8.82798,6.40297,1.93993,1.43035,-0.231534,-0.819455,0.175408,0.978138,1.54062,0.664454,0.33681,9.17775,5.95381,4.81328,6.74325,8.30049,9.39167,7.69196,7.05635,-4.41427,-3.24246,-3.81076,-3.31711,-3.65011,-3.60783,-3.7528,-3.84703,35.9887,-8.37005,13.8282,13.0024,17.6976,29.9996,0.25004,2.2186 --6.54023,0.970673,0.457932,3,7,0,9.82889,-0.569571,9.00661,1.03271,0.410692,0.349933,-0.813878,-0.810189,1.17756,-0.0109353,-0.827873,8.73165,3.12938,2.58214,-7.89985,-7.86663,10.0363,-0.668061,-8.0259,-4.45203,-3.34014,-3.75239,-4.23421,-3.40722,-3.65425,-4.96401,-4.42819,5.32756,-3.86262,4.85711,6.24052,-10.8839,10.4669,9.65297,-35.0521 --6.58352,1,0.457932,3,7,0,9.25297,8.60298,2.25839,-0.00306011,1.02604,0.517685,1.00847,0.740999,-1.32616,1.4314,-0.273356,8.59607,10.9202,9.77211,10.8805,10.2764,5.60801,11.8356,7.98564,-4.46368,-3.26416,-4.01013,-3.37906,-3.90109,-3.40458,-3.41152,-3.83418,2.483,17.3108,26.9636,20.3942,11.7508,18.3978,6.59917,0.947764 --7.67637,0.96069,0.457932,3,7,0,12.4766,1.44079,0.366654,0.559335,-0.993499,-0.602716,-0.501448,-1.2714,1.24976,-0.710444,0.731824,1.64587,1.07652,1.2198,1.25693,0.974623,1.89902,1.1803,1.70911,-5.17041,-3.4612,-3.72631,-3.45313,-3.14023,-3.32017,-4.63604,-3.97274,-35.9471,13.2574,14.0368,-14.0739,-6.99636,5.0284,-8.24823,0.534078 --5.03952,0.992047,0.457932,3,7,0,11.1654,2.38935,2.27816,0.184001,0.713683,0.21186,-0.159446,-0.686194,1.35073,-1.01934,-0.319439,2.80854,4.01524,2.872,2.02611,0.826097,5.46653,0.0671464,1.66162,-5.03723,-3.30092,-3.75887,-3.41906,-3.13675,-3.39927,-4.82946,-3.97425,11.3345,1.20053,9.52706,5.98259,0.418347,14.075,-4.82853,-27.9265 --4.96814,0.984984,0.457932,3,7,0,8.21449,5.15002,4.44377,-0.29175,-0.40364,0.613613,0.276819,0.742657,-1.13197,1.75214,0.634165,3.85355,3.35634,7.87678,6.38014,8.45022,0.119785,12.9361,7.96811,-4.92266,-3.32934,-3.92259,-3.31842,-3.66744,-3.32004,-3.34974,-3.8344,5.36556,2.47323,2.61832,-0.17437,-1.96875,16.0546,16.2285,-6.34674 --7.69015,0.92521,0.457932,3,7,0,9.22553,4.30647,3.65344,-0.79451,0.0895284,-0.13791,0.0642269,1.28446,-1.98212,1.70805,1.33626,1.40378,4.63355,3.80262,4.54112,8.99915,-2.93509,10.5467,9.18841,-5.1989,-3.27819,-3.78191,-3.34182,-3.73334,-3.38082,-3.49928,-3.82151,-12.152,23.1403,28.2554,-6.27977,14.242,3.14734,-16.5159,11.8173 --5.67583,0.999216,0.457932,3,7,0,10.9944,3.35096,2.18513,-0.44338,-1.69993,0.701466,-0.993861,0.231044,-0.598673,-0.113508,0.543331,2.38212,-0.363611,4.88376,1.17924,3.85582,2.04278,3.10293,4.53821,-5.08538,-3.57127,-3.81292,-3.45684,-3.26171,-3.32133,-4.33114,-3.89523,18.5499,15.994,9.02248,-7.05679,-5.60133,11.3938,11.9322,-3.47142 --8.11283,0.958105,0.457932,3,7,0,11.5891,1.2957,5.88291,1.85173,1.69216,-1.46021,1.36716,-0.350038,0.567112,1.85825,1.40671,12.1892,11.2505,-7.2946,9.33859,-0.763546,4.63196,12.2276,9.57122,-4.1825,-3.27435,-3.72755,-3.33943,-3.11651,-3.37134,-3.38813,-3.81841,35.4741,26.1698,-24.0624,3.52161,-12.1228,15.1827,10.9162,-3.57202 --6.36876,0.377757,0.457932,3,7,0,11.7435,1.38967,4.1252,1.23214,1.42472,-1.43258,1.44755,0.220098,0.773932,1.43761,0.625441,6.47248,7.26694,-4.52001,7.36108,2.29762,4.5823,7.3201,3.96974,-4.65684,-3.22421,-3.69604,-3.31737,-3.18329,-3.36986,-3.79182,-3.90882,27.1355,4.5635,37.1647,1.16343,17.5879,-21.5615,9.97737,22.0887 --6.64797,0.133454,0.457932,3,7,0,12.4744,0.515147,1.86644,0.549194,0.694626,-1.81918,1.1837,0.200154,0.787444,0.731383,1.0005,1.54018,1.81162,-2.88023,2.72445,0.888721,1.98486,1.88023,2.38252,-5.18282,-3.413,-3.69156,-3.39237,-3.13818,-3.32084,-4.52076,-3.95205,25.6417,-8.75007,15.2097,6.50085,15.2887,20.9405,-7.37891,-12.6236 --4.17154,0.922787,0.457932,3,7,0,10.1351,3.10507,16.1931,0.854841,0.329105,0.346509,1.27606,-0.251366,-0.398197,0.198446,0.883094,16.9476,8.43429,8.71612,23.7684,-0.965321,-3.34297,6.31852,17.4051,-3.89845,-3.22247,-3.95963,-4.47873,-3.11617,-3.39477,-3.90381,-3.8544,40.8772,24.7668,28.5175,34.3285,-7.80555,1.9093,-4.93879,-3.91384 --13.8256,0.327444,0.457932,3,7,0,15.2996,3.01122,0.604908,1.20686,-1.87318,-2.2947,-1.52858,0.918913,2.04018,0.216062,-1.58189,3.74126,1.87812,1.62314,2.08657,3.56708,4.24534,3.14192,2.05432,-4.93474,-3.40891,-3.73327,-3.41659,-3.24492,-3.36036,-4.32534,-3.96196,5.78692,5.41702,-3.90156,8.86277,10.2528,2.97069,-10.3725,10.5554 --11.8569,0.999786,0.457932,3,7,0,20.9942,3.02463,0.0674482,1.95169,-0.202577,-2.24857,0.540545,-0.287764,-0.243862,-1.6083,-0.129276,3.15627,3.01097,2.87297,3.06109,3.00522,3.00818,2.91615,3.01591,-4.99857,-3.34598,-3.75889,-3.38095,-3.21519,-3.3335,-4.35914,-3.93387,22.5156,-6.31739,0.550502,-8.9046,17.0589,-0.0109349,-4.00378,21.5312 --13.176,0.975754,0.457932,3,7,0,15.0529,2.78979,0.0998679,2.75698,0.420578,-2.42504,0.187616,0.0956501,-0.437762,-1.1818,-0.170815,3.06512,2.83179,2.54761,2.80853,2.79934,2.74607,2.67177,2.77273,-5.00865,-3.35508,-3.75164,-3.38943,-3.20527,-3.32943,-4.3963,-3.9407,3.20153,-6.47678,9.50251,17.4584,-8.03617,10.9654,0.656838,-26.1796 --10.0687,0.810476,0.457932,3,7,0,19.6545,4.62557,2.4718,-0.893436,1.13848,0.766631,2.66237,1.89984,-0.556582,-0.0891056,-0.358676,2.41717,7.43966,6.52052,11.2064,9.32158,3.24981,4.40531,3.73899,-5.08139,-3.22309,-3.86856,-3.38995,-3.77379,-3.33775,-4.1456,-3.91463,-23.4277,3.56331,-1.18667,3.03815,3.45924,7.72611,5.57022,0.545095 --8.41333,0.997982,0.457932,3,15,0,14.3581,3.61941,1.31347,0.52493,1.61036,0.99232,1.61989,1.77383,1.02372,0.572866,0.366655,4.3089,5.73457,4.9228,5.74709,5.94929,4.96405,4.37186,4.10101,-4.87425,-3.24718,-3.81413,-3.32332,-3.41427,-3.38177,-4.15015,-3.9056,12.7533,4.56913,0.609157,12.3748,14.2239,4.64424,20.4016,19.4579 --6.58534,0.893549,0.457932,3,7,0,16.5481,6.9261,2.06354,-0.910007,1.41514,1.25791,-0.900782,0.0460872,-0.0510612,-1.09799,0.0523891,5.04826,9.8463,9.52185,5.0673,7.0212,6.82073,4.66035,7.03421,-4.79762,-3.23857,-3.99777,-3.33227,-3.51332,-3.45684,-4.11125,-3.84736,18.4197,19.6908,20.1133,-0.844206,3.57715,9.43836,-14.4671,10.7017 --5.55208,0.975853,0.457932,3,7,0,9.64125,3.90295,3.30681,0.673177,0.780884,1.04932,-1.35912,-0.213721,-0.996823,0.535058,-1.25589,6.12901,6.48518,7.37285,-0.59141,3.19621,0.606641,5.67228,-0.25005,-4.68997,-3.233,-3.90168,-3.55497,-3.22486,-3.31747,-3.98139,-4.04089,-13.7458,8.33251,12.0753,-14.7566,-6.91351,5.09101,16.5563,-16.4845 --9.69473,0.898302,0.457932,3,7,0,12.2118,2.99314,0.967296,-1.47819,-1.02328,-1.18369,0.889652,0.728425,1.37182,0.153008,2.16148,1.56329,2.00333,1.84816,3.85369,3.69774,4.32009,3.14114,5.08392,-5.1801,-3.40132,-3.73743,-3.35774,-3.25239,-3.36238,-4.32545,-3.88313,17.8817,-6.56243,-23.6617,-7.50788,-3.8237,-13.2255,-3.86016,-1.13144 --7.77266,0.940708,0.457932,3,7,0,17.6109,4.50771,2.42853,-0.513598,0.911458,1.97586,0.669863,1.00729,-1.6773,-0.551939,-0.0676858,3.26043,6.72121,9.30614,6.13449,6.95395,0.43434,3.16731,4.34334,-4.98709,-3.2297,-3.98731,-3.31993,-3.50669,-3.31816,-4.32157,-3.89978,-11.6519,5.05904,26.9687,-6.98418,-9.20316,-2.92345,14.1487,-3.55728 --7.64807,0.980917,0.457932,3,15,0,12.279,10.6062,1.90869,-1.11408,1.28351,0.185421,0.127242,0.0601863,-1.05169,0.213957,-1.47439,8.4798,13.0561,10.9601,10.8491,10.7211,8.59887,11.0146,7.79208,-4.47374,-3.34934,-4.07216,-3.37806,-3.96422,-3.55544,-3.4655,-3.83664,16.7575,2.074,24.5881,16.935,5.33785,-1.80345,10.2641,35.2321 --3.31671,0.985267,0.457932,3,7,0,10.1674,1.84164,4.05644,1.49112,0.188963,0.0523349,0.31335,-0.0107561,-0.418656,-0.254417,0.00940173,7.89026,2.60815,2.05393,3.11272,1.79801,0.143387,0.80961,1.87977,-4.52566,-3.36688,-3.74141,-3.37928,-3.16449,-3.31987,-4.69907,-3.96736,23.0694,3.18918,-0.0526805,5.86344,-0.547397,-2.12558,-5.48456,-8.21855 --4.7459,0.971317,0.457932,3,7,0,7.54006,2.52853,11.7795,0.557286,0.161403,-0.576153,-1.01366,-0.245447,-0.223443,1.22671,-1.1914,9.09307,4.42977,-4.25826,-9.4119,-0.362715,-0.103513,16.9785,-11.5056,-4.42137,-3.28526,-3.69462,-4.42985,-3.11867,-3.32187,-3.22674,-4.66195,16.3117,7.90094,-3.85676,-17.134,4.93751,1.81406,-3.27442,-43.8236 --6.39559,0.121634,0.457932,3,7,0,13.3558,4.37373,0.906551,1.26081,-0.424181,1.90275,-0.980653,0.0871166,-0.123958,-0.0323919,-0.218328,5.51671,3.98919,6.09867,3.48472,4.4527,4.26135,4.34436,4.1758,-4.75032,-3.30196,-3.85322,-3.3679,-3.29969,-3.36079,-4.15391,-3.90378,27.2766,1.96915,5.49638,16.094,7.6535,19.8416,-1.87275,8.29668 --6.36725,0.974519,0.457932,3,7,0,10.0698,6.12721,2.96201,-0.999747,-0.431088,-1.51701,1.08758,-0.438389,1.27447,0.54515,0.945705,3.16595,4.85032,1.63381,9.34863,4.8287,9.90219,7.74195,8.92839,-4.9975,-3.27113,-3.73347,-3.33963,-3.32588,-3.64431,-3.74766,-3.82387,0.668037,-7.09835,-18.8518,6.77065,12.7505,18.4981,12.2593,49.8962 --6.66115,0.985082,0.457932,3,7,0,10.4616,4.15769,1.61845,-0.590668,-2.17042,0.588555,-0.323303,-0.761393,-0.0209244,-0.0789861,1.15778,3.20172,0.644984,5.11024,3.63444,2.92541,4.12383,4.02986,6.03151,-4.99355,-3.492,-3.82,-3.36364,-3.21128,-3.35716,-4.19735,-3.86428,30.5727,15.7015,13.1114,-1.84424,19.3084,14.6663,2.78097,1.91855 --6.94918,0.978913,0.457932,3,7,0,10.2604,4.50404,2.06031,1.13202,-1.65662,1.51346,0.0792466,-1.43653,-0.351498,-0.505641,-0.218104,6.83636,1.09087,7.62224,4.66731,1.54433,3.77984,3.46226,4.05468,-4.62232,-3.4602,-3.9119,-3.33932,-3.15612,-3.34877,-4.27825,-3.90673,20.2404,18.6103,-31.4754,9.47824,-12.8527,12.7127,-7.33817,12.5431 --7.26676,0.941381,0.457932,3,7,0,12.04,7.30619,4.96387,-0.986902,0.227302,-0.0234883,-0.099564,-1.06065,-0.883284,1.53633,2.28793,2.40734,8.43449,7.1896,6.81197,2.04127,2.92169,14.9323,18.6632,-5.08251,-3.22247,-3.89432,-3.31698,-3.17326,-3.33209,-3.26858,-3.87783,2.27514,26.2836,-10.4211,9.34367,-2.78776,1.86909,20.2391,9.00254 --5.47085,0.626783,0.457932,3,7,0,11.5334,5.6424,0.703894,0.880531,-0.0948249,0.155574,0.412892,-0.206329,0.482041,-1.41294,0.771661,6.2622,5.57566,5.75191,5.93303,5.49717,5.98171,4.64784,6.18557,-4.67706,-3.25091,-3.84113,-3.32154,-3.37674,-3.41939,-4.11292,-3.86148,0.783399,2.96256,-8.21329,7.00631,-7.82242,-19.7653,16.7391,10.3626 --5.81744,0.880643,0.457932,3,7,0,11.9824,2.97423,1.15983,-0.0804353,-0.0798178,0.72767,0.0622927,-0.00786531,0.6841,-1.45235,1.32255,2.88093,2.88165,3.8182,3.04647,2.9651,3.76766,1.28975,4.50816,-5.02914,-3.35251,-3.78232,-3.38142,-3.21321,-3.34849,-4.61769,-3.89593,40.2505,5.47815,14.6015,13.1873,4.12581,2.51943,-3.81977,24.0485 --7.66253,0.962437,0.457932,3,7,0,11.1863,4.10247,4.71112,-0.0273554,-2.0107,-0.0123384,0.749548,-1.30671,-0.735129,2.16901,0.305868,3.9736,-5.37018,4.04434,7.63368,-2.05359,0.639191,14.3209,5.54346,-4.90981,-4.11533,-3.78845,-3.31849,-3.12302,-3.31737,-3.2892,-3.87364,12.9201,-16.5348,17.869,20.7222,3.79423,-0.170787,20.484,10.4198 --7.45951,0.999213,0.457932,3,7,0,10.7225,6.80939,1.98691,0.556998,2.09945,-0.199058,-0.577547,1.01327,0.531932,-1.34791,-0.279096,7.9161,10.9808,6.41388,5.66186,8.82268,7.8663,4.13121,6.25485,-4.52335,-3.26595,-3.86462,-3.32423,-3.71175,-3.51165,-4.18324,-3.86025,-10.1449,29.278,-3.08827,1.76339,10.3568,15.5984,1.41673,21.9259 --6.18214,0.947847,0.457932,3,7,0,13.2094,2.7614,5.12828,0.263744,-1.40869,-0.726394,0.785674,-1.10092,-0.445026,1.21847,-1.41374,4.11396,-4.46274,-0.963753,6.79056,-2.88441,0.479184,9.01004,-4.48868,-4.89486,-3.99812,-3.69963,-3.31702,-3.13808,-3.31795,-3.62562,-4.22887,8.91531,12.2509,26.9658,7.59015,12.4915,1.47806,-5.8045,-18.894 --6.18434,0.949384,0.457932,3,7,0,8.79258,6.37039,4.37626,0.0917478,1.40499,0.445259,-0.633544,0.62921,0.265733,-0.755821,1.51161,6.7719,12.519,8.31896,3.59784,9.12398,7.53331,3.06272,12.9856,-4.62839,-3.32363,-3.94176,-3.36466,-3.74885,-3.49321,-4.33714,-3.81081,-7.53528,10.1241,4.87624,-19.9846,10.4974,8.28215,2.31184,31.1114 --5.28129,0.97049,0.457932,3,7,0,8.59651,3.90454,0.883248,0.0449204,-1.44267,-0.301859,0.585173,-0.629927,-0.612048,0.736746,-0.637217,3.94422,2.63031,3.63793,4.4214,3.34816,3.36395,4.55527,3.34172,-4.91295,-3.36569,-3.77759,-3.34431,-3.23287,-3.33993,-4.12533,-3.925,5.36896,-23.4234,-10.0295,19.7602,-10.0952,13.282,-2.1354,-12.3997 --9.22316,0.943047,0.457932,3,7,0,11.7248,6.21177,1.26221,-0.476261,0.233662,-0.274193,-0.546259,2.16455,-0.665119,0.690037,2.41187,5.61063,6.5067,5.86568,5.52228,8.94388,5.37225,7.08274,9.25605,-4.74095,-3.23267,-3.84504,-3.32586,-3.72654,-3.39583,-3.81746,-3.82093,-7.56723,9.43439,-0.568105,7.0278,6.21441,-0.446929,11.1406,1.3236 --5.10517,1,0.457932,3,7,0,12.3654,3.58455,3.36606,-0.188908,-0.0725981,-1.5121,0.147177,-0.391103,-0.804648,1.3965,-1.27192,2.94867,3.34018,-1.50527,4.07996,2.26807,0.876054,8.28527,-0.696802,-5.02159,-3.33009,-3.69589,-3.35207,-3.18209,-3.3169,-3.6934,-4.05809,16.8643,-8.52554,3.15009,4.45813,0.545693,-5.8702,17.1278,-15.5134 --3.89866,0.992703,0.457932,3,7,0,7.10647,7.57922,8.0904,0.227319,1.02215,-0.749622,-0.758393,0.0259748,-0.446132,0.292604,-0.46988,9.41833,15.8489,1.51448,1.44352,7.78937,3.96984,9.94651,3.77771,-4.39427,-3.52955,-3.73133,-3.44441,-3.59303,-3.35328,-3.54582,-3.91364,-5.99251,0.431333,20.8668,-0.115732,10.4849,24.5538,8.82986,56.8107 --6.59428,0.861881,0.457932,3,7,0,9.25091,8.70019,2.25645,1.00019,-0.0506935,-1.11313,-1.91002,-0.13201,0.948551,-0.0257491,-0.333324,10.9571,8.5858,6.18846,4.39032,8.40231,10.8405,8.64209,7.94806,-4.27246,-3.22324,-3.85643,-3.34498,-3.66186,-3.71698,-3.65938,-3.83465,6.711,0.26849,-0.738513,6.33154,4.91126,6.1357,4.02403,13.1904 --4.15051,0.8981,0.457932,3,7,0,13.6261,6.78156,6.19798,1.58836,-0.0287516,0.568237,0.400186,-0.0142741,-0.39942,0.0720109,-1.14064,16.6262,6.60335,10.3035,9.2619,6.69308,4.30596,7.22788,-0.28813,-3.91446,-3.23128,-4.0372,-3.33798,-3.48149,-3.362,-3.80172,-4.04233,-7.34182,12.7644,-9.68759,3.67536,6.65387,15.6619,8.6944,38.0674 --5.11532,0.924427,0.457932,3,7,0,8.24391,4.52999,2.07005,1.0502,1.06267,0.173847,-1.53392,-0.585741,-0.284721,0.143049,-0.809322,6.70397,6.72978,4.88987,1.35469,3.31748,3.94061,4.82611,2.85465,-4.63481,-3.22959,-3.81311,-3.44853,-3.23123,-3.35257,-4.08928,-3.93838,5.95721,-11.5119,25.288,4.07223,-8.03048,16.4569,19.5176,-9.98639 --11.2538,0.267483,0.457932,3,7,0,14.6986,-2.56662,0.312935,-0.187079,-0.203674,-0.107363,2.46032,0.531077,0.277241,1.3664,0.892718,-2.62516,-2.63035,-2.60022,-1.7967,-2.40043,-2.47986,-2.13903,-2.28726,-5.71121,-3.78655,-3.69184,-3.63659,-3.12827,-3.36687,-5.24943,-4.12432,0.273838,-19.8402,-9.97078,3.86825,11.8414,3.25618,11.9112,22.2625 --6.73028,0.571435,0.457932,2,7,0,14.5468,-0.00837866,1.33877,0.965107,-0.811765,-0.418344,0.976195,0.767734,0.118443,1.77777,-0.386122,1.28367,-1.09514,-0.568443,1.29852,1.01944,0.150189,2.37164,-0.525305,-5.21313,-3.63513,-3.70308,-3.45116,-3.14134,-3.31982,-4.44275,-4.05141,-5.20417,2.35127,-14.4507,-7.82932,8.9223,-11.3216,-2.34066,10.7993 --4.86176,0.958299,0.457932,3,7,0,8.56422,5.13316,5.22582,1.04514,0.276119,0.811593,-1.39386,-0.308397,0.167593,-0.73062,-0.085986,10.5949,6.57611,9.3744,-2.15092,3.52153,6.00897,1.31507,4.68381,-4.30019,-3.23166,-3.9906,-3.66286,-3.24236,-3.42051,-4.61346,-3.89191,28.6133,12.9549,-6.03124,4.43017,-7.2538,15.2651,-7.64812,8.61478 --3.51751,0.964872,0.457932,3,7,0,6.23863,4.78304,1.18643,-0.270756,-0.18046,-0.358792,0.295351,0.026605,0.17727,0.0350529,-0.827123,4.46181,4.56894,4.35736,5.13346,4.81461,4.99336,4.82463,3.80172,-4.8582,-3.28038,-3.79725,-3.33123,-3.32486,-3.38273,-4.08948,-3.91303,0.938196,14.3705,0.506052,-7.44917,7.36363,9.91137,10.9725,-15.2828 --4.17418,0.991436,0.457932,3,15,0,6.90682,6.55279,2.88886,1.44184,0.377331,-0.6015,-0.135863,-0.696955,-0.862929,1.18755,0.458012,10.7181,7.64284,4.81514,6.1603,4.53938,4.0599,9.98346,7.87592,-4.29069,-3.22216,-3.81082,-3.31975,-3.30557,-3.35552,-3.54285,-3.83556,-3.20657,4.3701,-11.7234,-9.36265,2.8047,-0.778753,4.85075,4.64401 --3.10329,0.282245,0.457932,3,7,0,7.50905,5.70273,7.38835,1.18916,0.230817,-0.0315761,-0.178658,-0.451384,-0.303326,1.73761,0.650112,14.4887,7.40808,5.46943,4.38274,2.36775,3.46165,18.5408,10.506,-4.03267,-3.22328,-3.83163,-3.34514,-3.18617,-3.34187,-3.22299,-3.81275,11.6621,-0.568221,0.381886,15.7663,6.76479,-1.78076,20.7256,-5.26625 --3.09095,0.896028,0.457932,3,7,0,7.39029,4.83068,5.74144,0.846445,0.872683,-0.871758,-0.0264861,-0.524349,0.135092,1.48606,0.400477,9.6905,9.84114,-0.174472,4.67861,1.82016,5.6063,13.3628,7.13,-4.37196,-3.23847,-3.70712,-3.3391,-3.16526,-3.40451,-3.32904,-3.84591,11.9258,9.63286,-26.6874,-14.0723,8.71612,1.90792,15.0813,-14.2382 --8.57003,0.769013,0.457932,3,7,0,12.599,1.8413,0.905413,0.735147,-2.03617,-0.287976,0.411892,1.05291,-1.62936,-0.172845,1.05083,2.50691,-0.00226872,1.58056,2.21423,2.79462,0.366059,1.68481,2.79274,-5.07121,-3.54171,-3.73251,-3.41148,-3.20505,-3.31849,-4.55245,-3.94013,-25.0231,2.5959,-20.8291,-0.363608,5.72608,7.09364,4.04213,39.9859 --9.05469,0.158478,0.457932,3,7,0,12.3787,1.91861,4.01274,0.318993,-1.8132,-0.395965,0.63401,1.24386,-2.02553,-0.259137,1.11177,3.19865,-5.35731,0.329702,4.46273,6.90992,-6.20934,0.878761,6.37988,-4.99389,-4.11361,-3.71318,-3.34344,-3.50238,-3.5316,-4.68721,-3.85805,5.68155,-1.49487,-24.3854,12.4744,-3.05693,4.26682,15.7542,0.201384 --5.13938,1,0.457932,3,7,0,9.95564,6.86587,0.847789,-0.418577,0.854555,0.681713,-0.860922,-0.598705,0.79927,0.20268,-0.241255,6.51101,7.59035,7.44382,6.13599,6.3583,7.54348,7.0377,6.66134,-4.65316,-3.22236,-3.90456,-3.31992,-3.45039,-3.49376,-3.82238,-3.85329,-21.2633,14.4039,1.47957,16.4478,1.12549,31.015,8.90787,3.36122 --10.2274,0.874807,0.457932,3,7,0,12.3957,8.52466,0.282313,-0.276508,-0.430875,-0.966816,2.53004,-0.425781,1.27058,0.683946,0.642984,8.4466,8.40302,8.25172,9.23893,8.40446,8.88336,8.71775,8.70619,-4.47662,-3.22234,-3.9388,-3.33755,-3.66211,-3.57364,-3.65232,-3.82605,21.2388,12.7125,18.7098,-0.336499,4.4622,-4.77375,-20.5045,31.439 --5.28619,0.856052,0.457932,3,7,0,13.1152,6.17625,5.56696,0.99251,-1.44534,0.153049,0.426864,-1.48926,0.337225,1.41854,0.10552,11.7015,-1.86989,7.02827,8.55259,-2.11442,8.05357,14.0732,6.76368,-4.2173,-3.7086,-3.88795,-3.32679,-3.12383,-3.52242,-3.29862,-3.85162,-1.98204,1.13617,-2.37741,11.8494,-4.3337,4.52409,21.9472,-3.431 --7.66916,0.785113,0.457932,3,7,0,10.6596,6.44396,1.71075,0.984665,-0.825139,0.727642,-2.02483,-0.399313,0.817163,0.486788,1.62418,8.12848,5.03236,7.68877,2.97998,5.76084,7.84192,7.27673,9.22253,-4.50449,-3.26556,-3.91467,-3.38361,-3.39832,-3.51027,-3.79647,-3.82122,5.1027,-4.48586,0.0153801,17.9729,2.52386,14.5122,9.29492,17.3087 --3.35886,0.851633,0.457932,3,7,0,11.4505,0.909618,4.97016,0.29308,0.486211,-0.164731,-0.289395,-0.0684158,0.84303,-0.0211403,-0.318738,2.36627,3.32616,0.0908767,-0.528722,0.569581,5.09961,0.804547,-0.674562,-5.08718,-3.33075,-3.71019,-3.55106,-3.13137,-3.38628,-4.69994,-4.05722,11.3357,-13.5684,19.3735,12.8781,-0.0927057,1.49812,-18.3362,-14.9676 --3.85745,0.897871,0.457932,3,7,0,7.99289,7.45302,2.22154,0.393234,-0.536102,-0.300784,0.732975,-0.536614,-0.0379382,0.59881,0.999441,8.32661,6.26205,6.78482,9.08135,6.26091,7.36874,8.7833,9.67332,-4.48708,-3.23663,-3.87852,-3.33473,-3.4416,-3.48444,-3.64626,-3.81766,18.5653,18.8196,-19.8223,-3.67907,14.3327,17.1277,4.90134,13.9701 --3.43898,0.996093,0.457932,3,7,0,5.12864,3.40658,3.07347,0.636855,0.994192,-0.0240494,-0.609188,-0.38935,-0.142063,0.962591,-0.754511,5.36394,6.4622,3.33267,1.53426,2.20993,2.96996,6.36508,1.08762,-4.76564,-3.23335,-3.76985,-3.44028,-3.17977,-3.33287,-3.89838,-3.99308,-0.436397,-12.3529,8.42654,-13.4204,3.55857,-4.9621,14.0224,-31.7959 --3.80924,0.978876,0.457932,3,7,0,5.82565,7.08789,5.15393,0.282336,-0.0635898,0.493997,0.488259,0.466612,-0.393086,-0.0214092,1.18711,8.54303,6.76016,9.63392,9.60435,9.49278,5.06195,6.97755,13.2062,-4.46826,-3.22921,-4.00328,-3.34486,-3.79578,-3.38501,-3.829,-3.81156,14.5769,5.96571,10.2321,-1.25722,10.5101,-3.91452,2.77469,24.1736 --7.84906,0.847172,0.457932,3,7,0,10.2124,0.72399,1.63453,-0.656827,-1.29689,-0.17808,-1.25219,-0.598381,0.63771,1.91356,-0.857059,-0.349612,-1.39581,0.432913,-1.32275,-0.25408,1.76634,3.85176,-0.676897,-5.41299,-3.66293,-3.71454,-3.60307,-3.1196,-3.31926,-4.22239,-4.05731,-6.10601,10.9269,-16.7186,-11.8949,5.48657,-12.6801,1.87062,-24.255 --4.65186,0.952433,0.457932,3,7,0,13.1126,8.23723,3.92838,-1.43419,0.420995,-0.537136,0.159449,-0.0189086,-0.549264,0.243523,0.398075,2.60318,9.89105,6.12715,8.8636,8.16295,6.07951,9.19388,9.80102,-5.06032,-3.2394,-3.85423,-3.33119,-3.63443,-3.42345,-3.60926,-3.81677,6.86202,8.61088,-5.31556,2.27358,21.4495,3.64148,12.7952,11.9882 --5.78116,0.967012,0.457932,3,7,0,8.88121,8.12955,7.00614,1.34974,-1.40346,-0.972499,0.133089,-0.725236,-0.678897,1.62882,0.662415,17.586,-1.70329,1.31609,9.06199,3.04845,3.37311,19.5413,12.7705,-3.86799,-3.69229,-3.72791,-3.3344,-3.21734,-3.34011,-3.2334,-3.81023,18.7574,-15.7417,-0.347943,-0.200904,12.3018,2.55388,10.6092,3.99177 --5.97406,0.6123,0.457932,3,7,0,8.70833,8.27896,11.3428,1.43059,-1.18334,-1.04756,-0.42497,-1.15103,-0.885212,1.10851,0.400444,24.5058,-5.14342,-3.60329,3.45861,-4.77697,-1.76181,20.8526,12.8211,-3.65412,-4.08527,-3.69224,-3.36866,-3.20422,-3.34835,-3.26221,-3.81035,29.2949,7.51398,-14.2719,-3.50158,-12.6374,3.60435,17.0296,12.1685 --5.86018,1,0.457932,3,7,0,10.1867,1.42336,3.09954,-0.859365,1.30944,0.802252,0.36701,0.610914,0.623921,-0.46132,-0.87648,-1.24028,5.48201,3.90997,2.56092,3.31691,3.35723,-0.00652076,-1.29332,-5.52697,-3.25323,-3.78478,-3.39826,-3.2312,-3.33979,-4.8427,-4.08201,13.8328,28.9211,-8.12421,15.6923,-4.74376,3.31989,1.74526,-5.83709 --11.0146,0.800179,0.457932,3,7,0,15.8485,-1.48368,0.895458,-0.186184,-0.97807,-2.39475,0.761937,0.464485,-0.130839,0.0276786,-2.01691,-1.6504,-2.3595,-3.62808,-0.801399,-1.06775,-1.60084,-1.4589,-3.28974,-5.58065,-3.75812,-3.6923,-3.56833,-3.11619,-3.34479,-5.11477,-4.17008,17.6672,5.25195,0.741195,-12.5978,3.49695,-1.75969,-2.28799,-2.18547 --9.98397,1,0.457932,3,7,0,13.838,10.1503,7.88661,0.422581,0.888542,2.12339,-0.754724,-0.762973,0.149842,0.196555,1.83356,13.4831,17.1579,26.8967,4.19814,4.13307,11.3321,11.7005,24.6109,-4.0953,-3.64086,-5.43725,-3.34927,-3.27881,-3.75796,-3.41994,-4.05473,45.5821,14.7676,57.1845,27.6253,-6.03409,12.0581,15.7751,39.305 --8.38361,1,0.457932,3,7,0,13.7879,9.98512,1.1398,1.21565,0.0367882,0.766511,1.54,-0.866569,-0.462868,0.392124,1.66682,11.3707,10.0271,10.8588,11.7404,8.9974,9.45754,10.4321,11.885,-4.24151,-3.24207,-4.06666,-3.40969,-3.73313,-3.61241,-3.50789,-3.80933,12.2671,11.9455,-4.84984,32.3871,16.1062,-4.94314,5.73603,14.476 --7.19042,0.472766,0.457932,3,7,0,15.4291,-1.53703,2.94907,1.65276,-0.223136,1.12779,-1.32603,-0.0549356,0.825946,0.655875,0.510775,3.33708,-2.19507,1.78891,-5.44759,-1.69904,0.898743,0.397194,-0.0307165,-4.97868,-3.74122,-3.73632,-3.95709,-3.11918,-3.31688,-4.77082,-4.03267,41.1445,8.50801,-2.77218,-25.2126,-6.27745,14.7638,4.55621,3.21786 --10.5479,0.667624,0.457932,3,7,0,12.5138,9.89787,0.562044,-0.963275,1.11552,-1.64382,2.12237,-0.201089,-1.11407,0.542274,-0.335501,9.35646,10.5248,8.97397,11.0907,9.78485,9.27171,10.2027,9.7093,-4.39939,-3.2534,-3.97156,-3.38598,-3.83414,-3.59957,-3.52552,-3.81741,-5.70605,19.387,3.8474,-7.0134,19.0316,0.086484,5.76302,17.9037 --2.92194,1,0.457932,3,7,0,12.7558,4.29585,10.5161,0.611914,-0.713049,-0.235614,-0.723464,-0.42108,0.0900804,0.741332,0.358071,10.7308,-3.20267,1.8181,-3.3122,-0.13229,5.24315,12.0918,8.06137,-4.28971,-3.84902,-3.73687,-3.75626,-3.12081,-3.39123,-3.39606,-3.83325,13.9585,9.7562,-17.0404,5.91912,-6.96988,-8.33308,14.9622,33.3132 --6.19853,0.817549,0.457932,3,7,0,7.46739,2.26643,3.5666,1.72322,1.57004,0.382306,1.31362,-0.498713,-0.67181,1.02122,-0.973517,8.41246,7.86614,3.62996,6.95158,0.48772,-0.129648,5.9087,-1.20572,-4.47959,-3.22161,-3.77738,-3.31684,-3.12983,-3.32211,-3.95252,-4.07843,-23.0347,24.1374,0.117233,0.363753,4.3479,-3.79096,4.55906,1.72285 --8.26246,0.927872,0.457932,3,7,0,11.6172,9.92307,1.52588,-0.943019,-1.81567,-1.0447,-1.28957,-0.348415,0.556206,-0.140635,0.917825,8.48413,7.15256,8.32898,7.95534,9.39143,10.7718,9.70848,11.3236,-4.47336,-3.22511,-3.9422,-3.32061,-3.78272,-3.71141,-3.56527,-3.81002,0.213002,-10.3836,10.7299,-2.11898,18.9142,11.7219,6.01522,31.7438 --7.58882,0.992907,0.457932,3,7,0,12.1989,-1.44882,6.46016,1.99337,1.99557,0.215248,1.39763,-0.547448,-1.02804,1.1354,0.0413888,11.4287,11.4429,-0.0582871,7.5801,-4.98543,-8.09016,5.88604,-1.18145,-4.23723,-3.28079,-3.70843,-3.31822,-3.21421,-3.65828,-3.95526,-4.07744,15.5186,7.16742,0.0959979,5.30586,3.59992,-2.21673,3.09204,20.9682 --7.63223,0.2721,0.457932,3,7,0,15.2999,1.24819,2.35015,2.12978,1.77483,0.0372755,1.24677,0.541055,-1.03395,0.707907,0.60125,6.25347,5.41931,1.33579,4.17827,2.51974,-1.18175,2.91187,2.66121,-4.6779,-3.25482,-3.72824,-3.34974,-3.19264,-3.3365,-4.35978,-3.9439,-4.99021,6.88843,-7.90346,-7.27038,-2.16681,1.66296,5.94941,35.9872 --3.98561,1,0.457932,3,7,0,9.95639,7.38847,4.29756,-0.500203,0.881604,-0.331805,-0.0390795,0.0942519,0.725288,0.0491885,-0.524292,5.23882,11.1772,5.96252,7.22052,7.79353,10.5054,7.59986,5.13529,-4.77826,-3.272,-3.84842,-3.31703,-3.59348,-3.6902,-3.76234,-3.88203,6.28307,-0.278637,-0.372263,-1.68321,3.16955,-1.98539,13.4965,2.81886 --7.59491,0.865731,0.457932,3,7,0,10.5281,2.38245,0.255692,-1.55673,-0.77487,-0.417289,0.702093,-0.434534,-0.825307,-1.03885,-0.135581,1.98441,2.18433,2.27576,2.56197,2.27135,2.17143,2.11683,2.34779,-5.13101,-3.39063,-3.74589,-3.39822,-3.18222,-3.3225,-4.4829,-3.95308,-18.7847,9.07744,-25.6834,-2.33496,0.0778909,-3.36405,-2.5908,-4.78985 --5.10392,0.987989,0.457932,3,7,0,11.389,6.73945,2.90606,1.67108,0.610377,0.307429,-0.884503,0.362046,0.812367,1.07818,0.0270375,11.5957,8.51324,7.63286,4.16904,7.79158,9.10024,9.87271,6.81803,-4.22499,-3.22284,-3.91234,-3.34995,-3.59327,-3.58797,-3.55179,-3.85075,20.1337,0.243415,23.256,12.3727,-4.89314,22.1045,20.364,12.9695 --6.10215,0.978953,0.457932,3,7,0,9.39413,1.57702,6.12371,-0.215099,2.14161,0.746355,-0.201173,-0.0991538,-1.0757,1.07315,-0.213189,0.259819,14.6916,6.14748,0.345098,0.969832,-5.01027,8.14867,0.271512,-5.33703,-3.44541,-3.85496,-3.49984,-3.14012,-3.4661,-3.70677,-4.02159,20.2231,12.4163,-10.6008,-6.90027,14.7229,-7.82024,10.0107,11.421 --6.35951,0.921357,0.457932,3,7,0,10.703,8.36129,8.00534,0.306054,-1.76941,-0.965945,0.449896,-0.864969,0.461195,-0.0128534,-0.678847,10.8114,-5.80343,0.628569,11.9629,1.43691,12.0533,8.25839,2.92689,-4.28354,-4.1742,-3.71724,-3.41861,-3.15282,-3.82169,-3.69602,-3.93635,30.5092,-2.23083,-9.70763,15.2018,-7.03222,5.77655,1.84327,35.6767 --6.35951,0.0482676,0.457932,2,3,0,20.407,8.36129,8.00534,0.306054,-1.76941,-0.965945,0.449896,-0.864969,0.461195,-0.0128534,-0.678847,10.8114,-5.80343,0.628569,11.9629,1.43691,12.0533,8.25839,2.92689,-4.28354,-4.1742,-3.71724,-3.41861,-3.15282,-3.82169,-3.69602,-3.93635,19.9871,-0.418202,-21.5897,-8.93988,16.5488,21.3699,17.4663,-50.8091 --9.14901,0.982546,0.457932,3,7,0,12.1714,3.46146,0.516365,-1.12581,2.77387,-0.808457,-0.518544,0.581601,-0.27739,-0.0726788,0.591016,2.88013,4.89379,3.04401,3.19371,3.76178,3.31823,3.42394,3.76664,-5.02923,-3.26977,-3.76287,-3.3767,-3.25613,-3.33904,-4.28383,-3.91392,5.80732,3.85287,15.5041,8.36677,6.92832,12.7851,11.5041,-1.29664 --12.7348,0.91032,0.457932,3,7,0,19.1449,2.95116,0.121929,0.340363,-0.345669,0.958259,-1.94547,2.13452,0.0748966,2.18148,-0.789884,2.99266,2.90901,3.068,2.71395,3.21142,2.96029,3.21714,2.85485,-5.01669,-3.35111,-3.76344,-3.39274,-3.22564,-3.33271,-4.31419,-3.93837,-11.0401,-8.11541,12.1556,12.1345,-9.55205,-3.4784,16.0606,-10.1147 --8.74133,0.568371,0.457932,3,15,0,20.5316,5.23857,1.40136,-0.134337,0.935525,-0.200827,-2.09017,1.05722,-1.85642,0.352422,1.33807,5.05032,6.54958,4.95714,2.30949,6.72012,2.63706,5.73244,7.11369,-4.79741,-3.23204,-3.81519,-3.40775,-3.48407,-3.32791,-3.97399,-3.84616,18.2435,-6.99812,-6.39445,-8.86034,-1.33963,10.0085,7.62953,8.53056 --6.01421,1,0.457932,3,7,0,10.2642,6.67327,5.11107,0.21475,-1.36336,-0.387868,1.35138,-1.32353,1.03009,0.354747,-0.328373,7.77087,-0.294957,4.69085,13.5803,-0.0913663,11.9381,8.48641,4.99493,-4.53636,-3.56556,-3.80705,-3.49576,-3.12126,-3.81122,-3.67407,-3.88504,15.0222,-24.7713,1.5032,11.1773,3.94371,22.9815,13.973,-9.5749 --6.70467,0.950984,0.457932,3,7,0,12.4799,-0.642817,3.64649,0.512288,1.68338,0.159233,-1.00566,0.584623,-1.39181,0.0363376,0.290918,1.22523,5.49561,-0.0621757,-4.30994,1.489,-5.71805,-0.510313,0.418013,-5.22007,-3.25288,-3.70838,-3.84541,-3.1544,-3.50333,-4.93468,-4.01632,7.66451,11.3029,-0.541259,3.83412,24.4263,-21.5938,5.52504,13.2051 --5.95249,0.967378,0.457932,3,7,0,10.5642,5.66237,2.78774,1.06692,1.84257,-0.324874,1.00668,1.15002,0.0817144,0.393365,-0.402939,8.63668,10.799,4.75671,8.46873,8.86834,5.89017,6.75897,4.53908,-4.46019,-3.2607,-3.80904,-3.32575,-3.7173,-3.41565,-3.85333,-3.89521,4.19821,21.3591,-6.92152,-6.13052,8.04629,-8.19951,8.27462,24.7413 --5.26416,0.974163,0.457932,3,7,0,9.96375,5.38575,6.53859,1.63789,-0.905845,1.33449,-0.457659,0.339313,-0.343984,0.439811,0.790355,16.0952,-0.537199,14.1114,2.3933,7.60438,3.13658,8.26149,10.5536,-3.94193,-3.58594,-4.2634,-3.40453,-3.57317,-3.3357,-3.69572,-3.81254,15.6028,6.39303,-4.8087,-3.78802,4.01157,6.7666,-14.0756,8.97454 --8.52101,0.940019,0.457932,3,7,0,11.4712,2.95109,0.749397,-0.153079,-2.01214,1.54349,0.941358,1.25302,0.203119,0.546905,-0.726896,2.83638,1.4432,4.10779,3.65655,3.89011,3.10331,3.36094,2.40636,-5.03412,-3.43648,-3.7902,-3.36303,-3.26378,-3.33511,-4.29303,-3.95134,-9.2996,-13.294,15.9848,-3.20711,-3.37382,7.409,2.68015,33.6563 --10.7281,0.951872,0.457932,3,7,0,16.1392,3.00157,0.470817,-0.928573,-1.45009,-1.41627,-0.525659,1.26115,-2.32161,1.02293,0.476258,2.56438,2.31884,2.33477,2.75408,3.59534,1.90852,3.48318,3.2258,-5.0647,-3.3829,-3.74711,-3.39133,-3.24652,-3.32024,-4.27521,-3.92812,12.0971,8.61969,12.4909,-27.2918,-1.29466,-6.09426,-2.39591,-29.4002 -# -# Elapsed Time: 0.062 seconds (Warm-up) -# 0.016 seconds (Sampling) -# 0.078 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/eight_schools_output2.csv b/arviz/tests/saved_models/cmdstan/eight_schools_output2.csv deleted file mode 100644 index d1882fe937..0000000000 --- a/arviz/tests/saved_models/cmdstan/eight_schools_output2.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = eight_schools_nc_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = eight_schools.data.R -# init = 2 (Default) -# random -# seed = 779846429 -# output -# file = eight_schools_output2.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,theta_tilde.1,theta_tilde.2,theta_tilde.3,theta_tilde.4,theta_tilde.5,theta_tilde.6,theta_tilde.7,theta_tilde.8,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 -# Adaptation terminated -# Step size = 0.354157 -# Diagonal elements of inverse mass matrix: -# 8.92369, 2.20199, 0.877628, 0.794746, 0.950111, 1.06785, 0.731149, 0.860933, 0.908968, 1.05407 --7.47394,0.95594,0.354157,4,15,0,11.5466,2.51683,0.655844,-0.313525,0.967759,0.662646,-0.785828,-1.97007,0.880318,-0.114292,-0.845168,2.3112,3.15153,2.95142,2.00145,1.22477,3.09418,2.44187,1.96253,-5.09346,-3.33906,-3.76071,-3.42008,-3.14672,-3.33496,-4.4318,-3.96479,-0.846175,10.2964,9.04263,22.9827,5.72963,-13.7602,0.605285,17.9853 --7.83688,0.986055,0.354157,4,15,0,12.0163,6.05813,0.804563,0.398913,-0.0505343,-2.10448,-0.569168,0.98696,-0.837938,1.4046,0.797109,6.37909,6.01748,4.36495,5.6002,6.85221,5.38396,7.18822,6.69946,-4.6658,-3.24118,-3.79747,-3.32493,-3.49676,-3.39625,-3.806,-3.85267,4.55598,7.17996,-29.1305,0.367047,11.6246,-5.15454,21.1637,14.9065 --9.69888,0.397004,0.354157,4,15,0,15.0281,5.70221,0.242001,0.533076,0.541915,1.23401,-0.488709,-1.72239,1.74132,-1.33748,-0.373935,5.83122,5.83336,6.00084,5.58394,5.28539,6.12361,5.37854,5.61172,-4.71911,-3.245,-3.84976,-3.32512,-3.36003,-3.42531,-4.01803,-3.87229,2.55417,20.2813,11.4121,-9.27873,3.77824,-6.27415,11.3639,-3.32206 --6.65928,0.974765,0.354157,3,7,0,13.9792,4.69706,1.08584,-0.431396,1.61088,1.96133,-0.264636,-0.204511,0.529295,-0.0227719,-0.217631,4.22863,6.44623,6.82676,4.40971,4.47499,5.27179,4.67233,4.46075,-4.88272,-3.23359,-3.88013,-3.34456,-3.3012,-3.39224,-4.10966,-3.89703,19.7913,4.16107,-14.19,11.529,4.69365,-2.25331,-1.51772,-15.143 --11.3516,0.917934,0.354157,3,7,0,13.7536,4.67067,2.98187,-1.00984,2.18466,2.56224,0.0499781,-0.599229,1.36766,1.60948,-0.642735,1.65946,11.185,12.3109,4.8197,2.88385,8.74885,9.46993,2.75412,-5.16882,-3.27225,-4.14939,-3.33648,-3.20928,-3.56495,-3.58533,-3.94123,6.41165,17.3863,-5.03145,-2.69374,3.09182,12.5522,-1.49999,-17.9405 --7.66731,0.926301,0.354157,4,15,0,19.5077,2.30707,2.59919,-1.6149,-0.214639,1.81891,0.483574,1.1637,-0.172235,0.0551978,1.02297,-1.89037,1.74918,7.03478,3.56397,5.33176,1.85939,2.45053,4.96596,-5.6124,-3.41689,-3.8882,-3.36562,-3.36364,-3.31989,-4.43045,-3.88566,-16.1578,-7.61453,-1.26256,0.562578,-4.53509,-4.15443,-4.08806,8.87469 --5.7603,0.994014,0.354157,4,15,0,11.5342,5.17134,7.62507,2.11924,0.503784,-1.75614,-0.688471,-1.01946,0.0658293,0.739653,-0.598824,21.3307,9.01272,-8.21934,-0.0782982,-2.6021,5.67329,10.8112,0.605261,-3.72583,-3.22665,-3.74473,-3.52387,-3.13201,-3.40708,-3.47992,-4.00968,4.65435,-0.350809,7.24804,6.25718,-2.83264,-1.58109,14.4606,0.414963 --7.75819,0.415072,0.354157,3,15,0,10.842,5.06983,3.33504,2.41519,0.55573,-2.0705,-0.521909,-0.732313,0.276091,1.28468,-0.824718,13.1246,6.92321,-1.83538,3.32925,2.62754,5.99061,9.35429,2.31937,-4.11872,-3.22732,-3.69418,-3.37251,-3.19739,-3.41975,-3.59527,-3.95393,8.11512,-6.11876,10.2838,11.5554,13.3597,10.147,2.05732,-13.7773 --2.46401,1,0.354157,3,15,0,8.7687,3.38879,12.7817,0.347131,0.540657,0.564453,-0.156422,-0.268726,-0.482472,1.1363,0.403242,7.82571,10.2993,10.6035,1.38945,-0.0459752,-2.77802,17.9126,8.5429,-4.53144,-3.24796,-4.05296,-3.44691,-3.12178,-3.37581,-3.22156,-3.82775,8.75372,6.02843,-8.0415,-18.6447,-10.8288,7.5835,16.4411,2.29692 --6.07374,0.506162,0.354157,3,15,0,12.7409,3.69075,2.42461,-0.516867,-0.810823,0.675061,-1.07628,1.29137,-1.01785,1.19088,0.461287,2.43755,1.72482,5.32751,1.0812,6.82181,1.22285,6.57817,4.80919,-5.07908,-3.41841,-3.82697,-3.4616,-3.49382,-3.31704,-3.87381,-3.88911,-17.8037,-7.34243,-18.7236,6.97621,-0.791315,11.8612,-9.16229,-3.3342 --7.40373,0.941745,0.354157,4,15,0,9.9062,0.86336,0.598839,0.664659,-1.49478,0.235926,0.15878,1.38934,-1.02301,0.530773,0.484771,1.26138,-0.0317699,1.00464,0.958444,1.69535,0.250741,1.18121,1.15366,-5.21577,-3.54407,-3.72285,-3.46766,-3.16101,-3.31915,-4.63588,-3.99086,-4.43464,-3.22643,45.0467,0.943717,4.55817,-12.5541,-16.4415,0.868407 --8.05769,0.984372,0.354157,4,15,0,10.7262,7.00054,1.61109,0.137052,1.75031,-0.764951,0.513133,-2.36062,0.69913,-0.138915,0.839013,7.22134,9.82044,5.76813,7.82724,3.19737,8.1269,6.77673,8.35226,-4.58644,-3.23809,-3.84168,-3.31966,-3.22492,-3.52672,-3.85133,-3.82984,5.8461,-2.38596,-12.7082,-13.8672,10.1484,5.27165,0.682601,19.1674 --10.6281,0.606092,0.354157,3,7,0,13.372,7.68885,0.254019,0.185477,1.59538,0.0603681,1.42807,-2.56688,0.4295,0.107127,0.40595,7.73597,8.09411,7.70419,8.05161,7.03682,7.79795,7.71606,7.79197,-4.5395,-3.22157,-3.91532,-3.3214,-3.51487,-3.50779,-3.75032,-3.83664,-3.23276,-1.83843,7.11306,24.9587,12.5551,-7.61233,-15.4264,38.0715 --8.03887,0.793878,0.354157,4,15,0,14.28,3.20946,0.286602,0.893881,-0.961573,0.215412,0.23361,2.13354,-0.356433,0.662745,0.575997,3.46565,2.93387,3.2712,3.27641,3.82094,3.1073,3.3994,3.37454,-4.96462,-3.34985,-3.76834,-3.37413,-3.25963,-3.33518,-4.28741,-3.92412,5.66096,-0.748347,-11.9565,-1.31746,8.41179,2.46166,18.3775,-6.38735 --5.11657,0.981042,0.354157,4,15,0,10.7875,7.28077,6.63806,0.62517,1.3972,-0.639768,0.207219,0.484872,0.821052,1.00597,0.27009,11.4307,16.5555,3.03396,8.65631,10.4994,12.731,13.9584,9.07365,-4.23708,-3.58751,-3.76264,-3.32817,-3.93243,-3.88549,-3.30319,-3.82253,-11.6624,11.152,0.330863,-0.637068,28.6522,20.4919,25.4772,-7.73112 --9.60937,0.797678,0.354157,3,7,0,11.2515,1.84556,0.877418,0.40982,-2.31145,0.826967,-0.608896,1.3638,-1.1617,-1.08302,0.619881,2.20514,-0.182552,2.57115,1.3113,3.04218,0.826265,0.895297,2.38945,-5.1056,-3.55629,-3.75215,-3.45056,-3.21702,-3.31696,-4.68438,-3.95185,-10.7585,9.72803,-4.46118,-0.515756,11.384,4.34331,0.329008,47.3533 --6.03594,0.991606,0.354157,4,15,0,15.0576,9.86613,4.89257,-0.487765,-0.167213,-0.417618,0.344181,-1.63106,1.01756,-0.411984,-0.536686,7.47971,9.04803,7.82291,11.5501,1.88605,14.8446,7.85047,7.24036,-4.56273,-3.22702,-3.92031,-3.40238,-3.16758,-4.10887,-3.73659,-3.84427,2.60214,13.8101,-10.7533,14.1469,-4.39131,3.0896,-10.5805,-0.340686 --4.83106,0.947986,0.354157,4,15,0,12.4175,0.382739,3.70874,0.703513,0.330749,0.225245,0.0834624,1.2366,-1.30243,0.764234,0.392134,2.99188,1.6094,1.21811,0.692279,4.96896,-4.44762,3.21708,1.83706,-5.01678,-3.42572,-3.72628,-3.48124,-3.33609,-3.43946,-4.3142,-3.9687,-29.8852,-5.25353,4.75152,4.17847,2.00707,-6.98271,22.271,0.190566 --8.6875,0.843469,0.354157,3,7,0,10.838,2.03056,1.1441,1.75642,1.14134,-0.595081,1.50656,0.55383,-2.00293,-0.0507379,0.282621,4.04008,3.33637,1.34973,3.75422,2.6642,-0.260985,1.97251,2.35391,-4.90272,-3.33027,-3.72848,-3.36037,-3.19904,-3.3234,-4.50593,-3.9529,14.9386,-2.16933,5.16045,-14.2273,-6.26038,-26.6511,-1.87225,16.2455 --9.7087,0.99325,0.354157,4,15,0,12.6081,3.68693,0.500519,-1.75118,-0.811127,-0.387826,-0.600669,-2.23485,0.866529,-0.175396,1.28416,2.81043,3.28094,3.49281,3.38628,2.56834,4.12064,3.59914,4.32967,-5.03702,-3.33287,-3.77386,-3.3708,-3.19476,-3.35708,-4.25845,-3.9001,-5.14181,6.31996,-13.0834,-0.319871,2.04152,30.2423,-4.69898,11.6221 --6.80454,0.985415,0.354157,3,15,0,14.1108,0.641773,1.92775,0.310385,-1.07377,1.4573,1.76123,-0.566045,-0.305021,0.531209,0.344565,1.24012,-1.42818,3.45108,4.03699,-0.449422,0.0537686,1.66581,1.30601,-5.2183,-3.66598,-3.77281,-3.35311,-3.11803,-3.32053,-4.55555,-3.98579,-15.4955,-17.0536,-3.78401,3.74044,0.691614,-14.4461,18.3002,45.5245 --11.1558,0.743722,0.354157,4,15,0,15.9801,4.7795,1.94033,-2.43629,-0.242344,-0.0412828,-0.290551,-2.14697,1.20948,-0.747932,1.81395,0.0522882,4.30927,4.6994,4.21573,0.613666,7.12629,3.32826,8.29917,-5.36271,-3.28963,-3.80731,-3.34887,-3.13224,-3.47192,-4.29782,-3.83045,1.73024,10.1267,-3.86496,-1.00231,8.66567,20.6697,13.4937,-15.5471 --4.73439,0.985768,0.354157,3,15,0,13.832,3.27098,1.30841,0.723893,-1.21815,0.54719,-0.269616,0.838153,-0.379061,0.564379,-0.258036,4.21813,1.67714,3.98693,2.91821,4.36763,2.77501,4.00942,2.93336,-4.88383,-3.42142,-3.78687,-3.38568,-3.29401,-3.32985,-4.2002,-3.93617,-15.371,3.87296,32.5045,-3.51432,-3.1212,5.95262,0.525489,-1.89657 --5.94379,0.977369,0.354157,3,15,0,9.15212,1.34968,8.86639,-0.95384,0.39792,-0.0954111,-0.958555,0.475799,-0.685697,1.22499,-0.363005,-7.10743,4.8778,0.503732,-7.14924,5.56831,-4.72997,12.2109,-1.86886,-6.36595,-3.27026,-3.7155,-4.14411,-3.38248,-3.45251,-3.38909,-4.10614,17.151,26.7212,-8.12839,-7.58075,3.87511,1.79329,8.7632,25.1469 --4.85921,1,0.354157,4,15,0,8.18698,8.0988,3.54916,1.22005,-0.422631,-0.00535737,0.923461,-0.528461,0.535452,-0.88926,0.404023,12.4289,6.59882,8.07979,11.3763,6.22321,9.9992,4.94268,9.53274,-4.16578,-3.23134,-3.9313,-3.39597,-3.43823,-3.65149,-4.07399,-3.8187,12.8412,23.3818,-10.6679,12.0202,2.29591,-6.23135,-10.983,18.2975 --6.16354,0.928159,0.354157,4,15,0,9.11173,2.38479,1.18186,-0.680941,0.524509,-0.413651,-1.40773,1.228,-1.05106,0.35219,0.240045,1.58001,3.00468,1.89591,0.72105,3.83611,1.14258,2.80102,2.66848,-5.17814,-3.34629,-3.73834,-3.47975,-3.26053,-3.31692,-4.37657,-3.94369,-18.9036,13.3288,-13.1707,10.0705,9.73808,-2.7637,0.131966,-6.62102 --4.95733,0.843028,0.354157,4,15,0,8.65004,6.41304,0.798441,0.830941,-0.218216,0.778113,0.280106,-0.396359,0.118812,1.28507,-0.249216,7.0765,6.23881,7.03432,6.63669,6.09657,6.50791,7.4391,6.21406,-4.59986,-3.23703,-3.88818,-3.31738,-3.42704,-3.44219,-3.77919,-3.86097,-4.36349,-10.2301,47.9377,24.0278,8.88093,17.0442,13.4384,9.8534 --5.12869,0.947625,0.354157,3,7,0,8.05332,1.31896,1.11736,1.67162,-0.32492,-0.229655,0.149504,-0.708206,-0.224422,0.224128,-0.290584,3.18677,0.955909,1.06236,1.48601,0.527639,1.0682,1.5694,0.994275,-4.9952,-3.46962,-3.72376,-3.44247,-3.13057,-3.31685,-4.57135,-3.99623,-11.5377,-0.897641,24.858,0.702552,15.9195,11.741,0.351131,5.58417 --6.83508,0.391527,0.354157,4,15,0,11.8657,0.986361,0.544301,1.69977,-0.1201,-0.923596,-0.119356,-0.472406,-0.13286,0.394669,-1.03548,1.91155,0.92099,0.483647,0.921395,0.72923,0.914045,1.20118,0.42275,-5.13945,-3.47209,-3.71523,-3.46952,-3.13462,-3.31686,-4.63253,-4.01615,1.39924,-5.71706,-14.3594,-22.3295,11.3363,7.14146,-14.7729,9.27594 --7.35935,0.98206,0.354157,3,15,0,10.9842,4.07999,8.09096,1.93088,-0.918194,0.791309,1.02835,-0.577105,-1.79909,-0.0206428,0.37999,19.7026,-3.34908,10.4824,12.4004,-0.589345,-10.4764,3.91297,7.15447,-3.77998,-3.86553,-4.04656,-3.43735,-3.1172,-3.86108,-4.21375,-3.84554,13.192,8.5724,19.2562,-1.85756,10.3919,-12.8575,-6.72564,-5.55894 --5.17109,0.996095,0.354157,4,15,0,10.6425,5.95709,4.25944,1.55752,-1.14399,-0.278211,-0.318197,-0.85166,-1.65532,0.570066,0.142929,12.5913,1.08434,4.77207,4.60175,2.32949,-1.09366,8.38526,6.56589,-4.15461,-3.46066,-3.80951,-3.3406,-3.18459,-3.33495,-3.68374,-3.85488,12.2431,-3.50518,10.738,2.70196,17.1758,0.350502,23.1379,52.6324 --5.78307,0.981639,0.354157,4,15,0,9.7188,3.56211,2.59563,-0.828251,1.50521,-0.0444846,0.776447,0.34297,1.60651,0.373835,0.0674818,1.41228,7.46908,3.44665,5.57748,4.45234,7.73201,4.53245,3.73727,-5.19789,-3.22293,-3.7727,-3.3252,-3.29967,-3.50411,-4.1284,-3.91467,19.3312,13.4271,15.9789,-6.8635,-0.367481,13.4532,-18.3587,-9.25679 --5.00468,0.997385,0.354157,4,15,0,8.13007,6.32992,4.08851,1.44602,-1.11292,-0.0749542,-0.250994,-0.764777,-1.67716,0.573488,0.26407,12.242,1.77974,6.02347,5.30373,3.20313,-0.527174,8.67463,7.40957,-4.1788,-3.41498,-3.85056,-3.32872,-3.22521,-3.32647,-3.65634,-3.84183,9.55551,-2.24358,29.8412,-11.2466,2.57904,1.82854,8.13469,4.00961 --7.89214,0.951713,0.354157,4,15,0,11.1975,1.58891,3.77634,0.675631,0.232681,1.20988,-0.204321,-2.54851,1.13707,0.640609,-0.677505,4.14032,2.46759,6.15782,0.817323,-8.03512,5.88289,4.00807,-0.969582,-4.89206,-3.37456,-3.85533,-3.47479,-3.42168,-3.41536,-4.20039,-4.06889,20.4889,19.486,10.3697,-0.136727,9.70598,9.09184,-8.38808,-23.7076 --9.28613,0.827451,0.354157,4,15,0,15.1039,4.61239,1.09436,0.38651,0.368968,-1.1103,0.246039,2.70143,-1.09891,0.688468,1.40128,5.03537,5.01617,3.39732,4.88165,7.56872,3.40979,5.36582,6.14589,-4.79893,-3.26604,-3.77146,-3.33538,-3.56939,-3.34083,-4.01964,-3.8622,15.919,6.98752,24.1661,-0.564937,1.62004,-4.02676,22.0724,36.3861 --8.69146,0.956182,0.354157,4,15,0,19.1257,4.3875,0.609847,0.430415,-0.0551312,-0.689575,0.738921,2.50369,0.134654,0.807338,1.4529,4.64999,4.35388,3.96696,4.83813,5.91437,4.46962,4.87985,5.27355,-4.8386,-3.28799,-3.78633,-3.33615,-3.41128,-3.36658,-4.08222,-3.87913,0.843341,-13.8098,28.6045,-11.5814,12.9024,1.54098,5.58674,19.7399 --7.72038,0.848673,0.354157,4,15,0,14.5858,4.82877,1.42033,0.167593,0.449507,0.157371,-0.548636,-2.65906,0.12387,-0.483825,-1.44371,5.06681,5.46722,5.05229,4.04953,1.05204,5.00471,4.14158,2.77823,-4.79572,-3.2536,-3.81817,-3.35281,-3.14216,-3.38311,-4.1818,-3.94055,-7.46786,2.3863,6.36225,-4.73714,8.48008,6.51946,7.0247,-12.7091 --8.65166,0.958258,0.354157,4,15,0,15.0254,5.10517,2.39055,0.515687,-0.505974,-0.256555,0.786282,2.62292,-0.166428,1.25464,1.55455,6.33795,3.89562,4.49187,6.98482,11.3754,4.70732,8.10446,8.82139,-4.66975,-3.30575,-3.80115,-3.31683,-4.06153,-3.37363,-3.71113,-3.8249,-29.1083,-16.3902,-12.4811,4.4753,12.1583,-16.4416,6.44289,-4.66199 --6.90981,0.993099,0.354157,3,7,0,11.9957,0.475247,3.15941,0.541477,-0.111988,1.05169,0.0283941,1.47336,-0.4536,-0.182069,1.90979,2.18599,0.12143,3.79798,0.564955,5.13019,-0.957863,-0.0999833,6.50906,-5.1078,-3.53188,-3.78179,-3.48795,-3.34813,-3.33267,-4.85957,-3.85584,-16.8931,-1.18796,-0.484405,-12.1867,14.5583,2.53369,9.08458,-0.978055 --5.8619,0.980428,0.354157,3,7,0,10.909,7.3914,1.60019,0.651623,-0.367553,-0.560938,-0.691953,1.31002,-1.22255,1.11265,0.233505,8.43412,6.80324,6.49379,6.28414,9.48767,5.43509,9.17185,7.76505,-4.47771,-3.22868,-3.86757,-3.31895,-3.79512,-3.39811,-3.6112,-3.83699,20.1927,4.12954,16.5666,10.1274,16.3174,4.64056,10.3109,-26.1566 --5.41986,0.981491,0.354157,4,15,0,10.6712,3.57311,1.37798,-0.687175,0.572675,0.564615,0.664759,-1.78062,0.210574,-0.427199,-0.0770527,2.6262,4.36225,4.35114,4.48914,1.11944,3.86328,2.98444,3.46694,-5.05772,-3.28769,-3.79707,-3.34289,-3.14389,-3.35071,-4.34886,-3.92168,8.54508,3.78737,17.6865,23.7253,0.964293,13.9935,1.73701,-3.96681 --5.62412,0.974232,0.354157,3,15,0,10.3626,6.3737,8.43277,0.298923,1.16799,0.953163,-0.342408,-0.192888,-1.09815,-0.619791,0.322488,8.89445,16.2231,14.4115,3.48625,4.74713,-2.88676,1.14715,9.09317,-4.43815,-3.55962,-4.28364,-3.36785,-3.32005,-3.37926,-4.64162,-3.82235,26.72,19.7737,-12.6616,10.1844,-11.1625,-5.50641,-4.71726,19.1128 --6.21284,0.997543,0.354157,4,15,0,8.27926,2.17676,2.35445,0.797019,0.044826,-2.03733,1.13886,0.340109,0.969988,0.973061,-0.283882,4.0533,2.2823,-2.62004,4.85815,2.97753,4.46055,4.46778,1.50837,-4.90131,-3.38498,-3.69181,-3.33579,-3.21382,-3.36632,-4.13713,-3.97918,-16.6834,8.56174,0.913686,7.65301,3.0451,7.4241,16.6032,-27.58 --5.34307,0.999437,0.354157,4,15,0,9.25117,5.43303,4.85654,-0.604502,-0.807793,-1.2345,0.733602,-0.849315,0.72531,-0.623433,0.409253,2.49724,1.50995,-0.56236,8.99579,1.3083,8.95552,2.4053,7.42058,-5.0723,-3.43213,-3.70313,-3.33329,-3.14905,-3.57836,-4.4375,-3.84167,1.91997,9.14452,7.27863,17.453,0.52144,17.0524,15.0921,-8.3847 --8.16867,0.635184,0.354157,4,15,0,10.973,6.15457,0.212431,-0.275979,0.934548,0.855367,-0.339832,1.61952,-0.768972,1.35724,0.142474,6.09594,6.35309,6.33627,6.08237,6.4986,5.99121,6.44289,6.18483,-4.69318,-3.23509,-3.86177,-3.32031,-3.46326,-3.41978,-3.88936,-3.8615,-19.8877,10.939,2.64525,-3.17575,5.90174,7.24534,10.3445,36.456 --6.16077,0.703681,0.354157,4,15,0,11.086,5.20487,8.05769,-0.529443,0.521431,-0.482108,-1.06823,0.151503,1.00878,1.86506,0.360639,0.938781,9.4064,1.32019,-3.40259,6.42564,13.3333,20.2329,8.11079,-5.25434,-3.23141,-3.72798,-3.764,-3.45653,-3.94539,-3.24645,-3.83265,1.0213,16.4441,-30.6844,-1.38149,17.2301,-1.84388,17.4928,-1.85077 --7.35479,1,0.354157,3,15,0,11.3855,5.12816,1.39546,1.3383,-1.30273,-0.732581,-1.03803,0.868084,0.753614,1.68026,-0.532826,6.99571,3.31025,4.10587,3.67964,6.33953,6.1798,7.47289,4.38462,-4.60739,-3.33149,-3.79015,-3.36239,-3.44869,-3.4277,-3.77562,-3.89881,-12.4974,17.354,17.4198,-10.3493,4.8405,-9.11737,12.6404,8.21937 --3.29751,0.959219,0.354157,3,15,0,9.42822,1.94178,2.56647,-0.449846,0.623984,-0.516879,0.0562049,-0.686941,0.0194393,0.397752,0.265878,0.787259,3.54321,0.61522,2.08602,0.17876,1.99167,2.9626,2.62414,-5.27262,-3.32084,-3.71705,-3.41662,-3.12474,-3.3209,-4.35214,-3.94497,-6.03091,1.51333,1.74569,10.0877,1.59769,-2.70847,-3.3414,21.1068 --3.11911,0.949152,0.354157,3,15,0,6.66264,1.61777,4.58546,0.341369,0.761065,-0.258182,0.915963,0.412363,0.459756,0.54153,0.620001,3.1831,5.1076,0.433883,5.81788,3.50864,3.72596,4.10093,4.46076,-4.99561,-3.26335,-3.71456,-3.32261,-3.24164,-3.34754,-4.18744,-3.89703,-8.19945,-2.07459,-5.28492,23.5982,-0.861861,16.1688,-1.12435,12.389 --5.97968,0.746303,0.354157,4,31,0,10.839,2.08011,4.64012,-0.954734,0.996542,-0.478461,1.18789,-0.0954884,1.30585,0.16917,1.14773,-2.34997,6.70419,-0.140004,7.59208,1.63704,8.1394,2.86508,7.40572,-5.67392,-3.22992,-3.7075,-3.31828,-3.15909,-3.52746,-4.36685,-3.84188,-3.46661,-8.75203,-6.40003,1.67641,3.43741,16.1601,12.1061,31.901 --8.76841,0.80402,0.354157,4,15,0,12.8185,4.03348,0.477622,-0.0994919,0.204403,-0.154527,-0.138696,1.06157,-0.123787,1.17526,-2.69822,3.98597,4.13111,3.95968,3.96724,4.54051,3.97436,4.59482,2.74476,-4.90849,-3.29637,-3.78613,-3.35484,-3.30565,-3.35339,-4.12002,-3.9415,6.02278,2.49334,-12.8614,-4.36713,-11.4197,2.60334,16.9949,23.2173 --7.88735,0.981281,0.354157,3,15,0,13.0587,6.91801,0.523756,0.716584,0.733888,-0.354458,0.538707,1.59745,-0.64369,-1.6827,0.541064,7.29332,7.30239,6.73236,7.20016,7.75468,6.58087,6.03668,7.20139,-4.5798,-3.22396,-3.87652,-3.317,-3.58928,-3.44554,-3.93713,-3.84485,-2.91438,-2.30011,-11.6122,-0.58314,20.3429,-12.5486,9.09902,10.2607 --12.93,0.913965,0.354157,3,7,0,17.7213,0.853594,0.118489,0.268196,2.18345,-2.23702,-0.0842045,-0.116622,0.315708,-1.97083,-0.40123,0.885372,1.11231,0.588532,0.843617,0.839776,0.891002,0.620073,0.806053,-5.26077,-3.45873,-3.71668,-3.47345,-3.13706,-3.31688,-4.73183,-4.00268,-13.1945,-0.306723,18.5126,16.8498,-14.9637,-12.0565,-9.23481,18.4012 --10.5978,1,0.354157,4,15,0,17.416,1.03422,0.422516,2.03416,-1.7742,-1.16649,1.1281,0.0725752,-1.18246,0.783366,0.617982,1.89369,0.284591,0.541361,1.51086,1.06488,0.534614,1.36521,1.29533,-5.14152,-3.51916,-3.71602,-3.44134,-3.14248,-3.31773,-4.60511,-3.98615,-19.1047,-5.55432,4.21714,-20.2595,-9.3825,8.31283,14.2635,4.98387 --5.20129,0.966053,0.354157,3,7,0,15.8523,5.75182,3.08639,-0.838077,0.532648,1.86422,-0.287075,-0.676156,-0.0415656,0.0209625,0.237584,3.16519,7.39578,11.5055,4.8658,3.66494,5.62353,5.81652,6.4851,-4.99758,-3.22335,-4.10248,-3.33566,-3.25049,-3.40517,-3.96371,-3.85625,-1.3911,-2.24713,27.1916,12.5921,-3.24902,-8.62984,15.5605,-14.8763 --5.91319,0.979707,0.354157,4,15,0,10.2293,-1.38415,1.75733,1.25695,-0.00283515,1.0428,0.689223,-0.0901057,-0.301508,-0.332942,0.288877,0.82473,-1.38913,0.44839,-0.172957,-1.5425,-1.914,-1.96924,-0.876497,-5.26809,-3.6623,-3.71475,-3.52944,-3.11798,-3.35192,-5.21538,-4.06518,-9.45926,-9.35761,-8.76445,4.07204,12.5535,-3.42656,8.93767,2.71202 --8.2475,0.971621,0.354157,3,7,0,10.643,-2.58872,1.94713,0.562856,-0.132922,2.0059,-0.0593213,-0.179012,0.442454,-0.805246,0.775095,-1.49277,-2.84754,1.31703,-2.70423,-2.93728,-1.7272,-4.15664,-1.07951,-5.55993,-3.80987,-3.72793,-3.70597,-3.13933,-3.34757,-5.67611,-4.07331,-4.33832,-4.29368,6.05381,10.7892,-6.57097,-9.082,-6.36487,-10.5113 --4.11828,0.997791,0.354157,3,7,0,10.3329,0.744992,7.98268,-0.504841,0.280885,0.352519,0.371768,-0.411835,-0.259719,0.18385,1.24,-3.28499,2.98721,3.55904,3.71269,-2.54255,-1.32826,2.21261,10.6435,-5.80199,-3.34716,-3.77555,-3.36149,-3.13085,-3.33923,-4.46773,-3.81215,2.65804,12.5072,25.219,9.40166,-6.49403,-14.878,-5.81854,17.0982 --8.0267,0.803414,0.354157,4,15,0,11.977,4.80645,2.52939,1.93122,1.16305,1.19132,1.52133,-1.553,-0.259758,1.09894,0.87742,9.69124,7.74826,7.81975,8.65449,0.878318,4.14943,7.58609,7.02579,-4.3719,-3.22184,-3.92017,-3.32815,-3.13794,-3.35782,-3.76377,-3.84749,-3.82467,14.1694,19.9307,-2.43069,-0.696127,18.6515,2.65175,-11.7186 --8.20262,0.35961,0.354157,3,7,0,12.5551,3.73953,8.41176,2.35179,1.12945,1.07357,1.30512,-1.56494,-0.771613,0.777691,0.828655,23.5222,13.2402,12.7702,14.7179,-9.42442,-2.75109,10.2813,10.71,-3.67155,-3.35882,-4.17727,-3.56298,-3.55425,-3.37498,-3.51942,-3.81188,16.5383,5.32923,-4.93325,12.0867,-3.18653,-1.20705,9.753,30.2282 --8.66391,0.827672,0.354157,4,15,0,14.4402,5.17917,1.50186,1.34318,-0.87825,0.227899,-2.47484,-0.0435518,1.28233,-0.208433,-1.05319,7.19644,3.86015,5.52144,1.4623,5.11376,7.10506,4.86613,3.59742,-4.58874,-3.30722,-3.83335,-3.44355,-3.34689,-3.47085,-4.08402,-3.91827,11.1881,3.21215,-6.41463,-7.53365,3.33433,-4.63965,-2.9204,24.7563 --7.6723,0.998167,0.354157,4,15,0,13.6706,6.54845,2.94818,1.4198,-1.2653,-1.07536,-0.771728,0.150678,1.40882,-0.809246,-1.26808,10.7343,2.81812,3.3781,4.27326,6.99267,10.7019,4.16265,2.80991,-4.28945,-3.35578,-3.77098,-3.34756,-3.5105,-3.70579,-4.17889,-3.93965,29.9512,4.99595,-4.217,17.8203,1.01759,4.21818,-0.683313,27.693 --5.47922,0.693607,0.354157,4,15,0,14.0675,0.706135,11.244,1.04176,0.856525,0.637221,1.76114,0.168491,-0.956744,0.835191,0.422407,12.4197,10.3369,7.87107,20.5085,2.60066,-10.0515,10.0971,5.45569,-4.16642,-3.24883,-3.92235,-4.07088,-3.19619,-3.82153,-3.53381,-3.8754,-4.23029,28.8004,-14.6201,15.6296,-1.59971,-21.9122,17.0292,11.4975 --4.30014,1,0.354157,3,7,0,7.1676,2.70297,6.23997,0.438473,0.747685,-0.972991,-0.847131,0.544805,-0.0885177,1.32289,-0.887221,5.43902,7.3685,-3.36847,-2.58311,6.10253,2.15062,10.9577,-2.83327,-4.75809,-3.22352,-3.69179,-3.69632,-3.42756,-3.3223,-3.46949,-4.14886,-13.0328,0.153426,12.7896,-17.2722,5.46216,14.5805,5.86437,-22.4683 --7.12548,0.915959,0.354157,3,7,0,11.2616,7.3324,2.35358,-0.78591,-0.0674039,-0.0938043,0.762623,-1.48848,-0.719104,-0.802527,-1.95399,5.48271,7.17376,7.11163,9.12729,3.82914,5.63994,5.4436,2.73354,-4.75372,-3.22494,-3.89122,-3.33553,-3.26012,-3.4058,-4.00984,-3.94182,-9.20504,-6.47202,4.74271,1.48164,11.0678,-8.33146,19.7024,39.808 --7.56153,0.989714,0.354157,3,15,0,11.3738,6.6402,1.90976,-0.293984,-0.677114,0.380855,-0.0330158,-1.21408,-1.61146,0.206447,-2.24835,6.07876,5.34708,7.36754,6.57715,4.32159,3.5627,7.03446,2.34639,-4.69486,-3.25671,-3.90146,-3.31757,-3.29097,-3.34397,-3.82274,-3.95313,31.5948,14.5752,20.5428,0.228107,5.71311,-8.91651,-9.03842,9.93052 --5.46154,0.999163,0.354157,3,15,0,10.2031,5.0478,3.69238,-0.673387,0.238668,1.39989,0.902862,-0.0466959,-0.687619,0.379395,-1.37765,2.5614,5.92906,10.2167,8.38152,4.87538,2.50885,6.44867,-0.0390157,-5.06504,-3.24297,-4.0327,-3.32472,-3.32925,-3.32624,-3.88869,-4.03298,-8.25296,3.48052,0.214166,26.2655,15.6367,10.15,-6.00581,-22.9863 --5.07595,0.923437,0.354157,4,15,0,8.3272,3.20417,3.78582,1.27752,0.0206425,-1.43196,-1.18728,-0.427334,0.545893,0.340619,1.05642,8.04063,3.28232,-2.21698,-1.29066,1.58636,5.27082,4.49369,7.20358,-4.51227,-3.33281,-3.69272,-3.60086,-3.15745,-3.39221,-4.13363,-3.84481,12.5353,-2.92105,-13.1485,-15.9187,-14.1803,6.11339,18.3636,33.3451 --5.76592,0.978356,0.354157,4,15,0,10.0513,6.34514,1.15697,-0.211526,-0.655436,1.03705,1.45718,0.347469,-0.41027,0.0659556,-1.04225,6.10042,5.58683,7.54498,8.03105,6.74716,5.87048,6.42145,5.13929,-4.69275,-3.25064,-3.90871,-3.32123,-3.48665,-3.41486,-3.89184,-3.88195,13.7581,12.282,-20.0641,15.5874,14.7343,14.1258,7.97925,12.2709 --7.73494,0.442195,0.354157,4,15,0,9.9088,6.89672,1.98131,-1.06915,-1.02135,0.831032,2.20415,0.56803,-0.0695083,-0.650302,-0.280985,4.7784,4.8731,8.54325,11.2638,8.02216,6.759,5.60827,6.34,-4.82531,-3.27041,-3.95177,-3.39196,-3.61863,-3.45388,-3.9893,-3.85875,-22.3113,6.78047,0.889119,5.60513,26.7927,13.7048,18.8018,11.0527 --4.24401,0.993005,0.354157,3,15,0,10.3608,6.44777,4.59064,-0.162835,-0.992785,0.159251,0.762869,-0.824213,-1.22532,-0.120415,0.301015,5.70026,1.89026,7.17884,9.94983,2.66411,0.822768,5.89499,7.82963,-4.73205,-3.40817,-3.89389,-3.35279,-3.19904,-3.31696,-3.95418,-3.83615,-6.36496,4.55456,6.92834,14.7601,-2.17323,-7.86605,13.8288,-12.0848 --9.4279,0.89625,0.354157,4,15,0,12.1437,4.01271,2.65606,-1.03119,0.0735415,0.291322,-0.961925,0.07356,1.67845,2.43401,-1.78103,1.27381,4.20804,4.78648,1.45779,4.20809,8.47076,10.4776,-0.717794,-5.2143,-3.29342,-3.80994,-3.44376,-3.2836,-3.54746,-3.50446,-4.05891,-23.3042,13.126,12.7372,-1.72443,11.3187,2.55372,5.15083,13.254 --5.44038,0.983764,0.354157,3,7,0,12.9438,4.23791,1.59192,1.0618,-1.31966,0.741652,1.03441,-0.527129,0.308574,-0.246123,-0.758307,5.92821,2.13712,5.41856,5.88461,3.39876,4.72913,3.8461,3.03074,-4.70958,-3.39339,-3.82995,-3.32197,-3.2356,-3.3743,-4.22319,-3.93346,-11.1153,-11.1228,12.2422,26.8716,3.13159,6.84871,-8.72012,6.74553 --7.82181,0.946754,0.354157,4,15,0,13.9099,4.61081,5.22053,-0.693602,1.71324,-1.88419,-0.669193,0.482543,-0.156416,0.657016,1.66929,0.989836,13.5548,-5.22566,1.11727,7.12994,3.79423,8.04078,13.3254,-5.24821,-3.3758,-3.7012,-3.45984,-3.52416,-3.3491,-3.71745,-3.81202,9.63238,15.8738,-26.6112,-11.2426,7.39594,20.0261,0.0124471,12.1405 --6.89401,0.987599,0.354157,3,15,0,12.7382,4.86633,2.36718,0.744998,1.78971,-1.34131,-0.0126242,-0.997668,1.20187,0.659033,-1.1807,6.62987,9.10288,1.69121,4.83644,2.50467,7.71138,6.42637,2.0714,-4.64184,-3.22761,-3.73451,-3.33618,-3.19198,-3.50296,-3.89127,-3.96144,-18.2364,8.98052,7.82036,-0.0819149,3.19926,-1.7633,17.8482,-14.1554 --7.0925,0.991165,0.354157,4,15,0,10.964,7.18196,1.93203,-0.344468,-1.56544,-0.0806167,0.0322933,0.316368,-2.00044,0.0764978,1.31548,6.51644,4.15748,7.02621,7.24435,7.79319,3.31704,7.32976,9.7235,-4.65264,-3.29535,-3.88786,-3.31708,-3.59345,-3.33902,-3.79079,-3.81731,3.51406,6.19213,8.18461,9.09609,4.08648,5.76841,6.93606,10.3047 --7.57695,0.972623,0.354157,4,15,0,13.2566,4.71595,3.59725,0.952044,1.39331,-0.221281,-0.453567,-1.314,1.61758,0.698242,-1.85368,8.14069,9.72805,3.91995,3.08436,-0.0108405,10.5348,7.2277,-1.9522,-4.50342,-3.23645,-3.78505,-3.38019,-3.1222,-3.6925,-3.80174,-4.10972,31.2461,8.92524,11.3931,7.36835,-10.8075,6.89055,14.0278,0.449779 --9.17085,0.915488,0.354157,4,15,0,16.2814,8.06078,2.46968,0.81524,1.31791,1.00839,-0.723471,-0.930216,-2.86479,0.101125,0.553263,10.0742,11.3156,10.5512,6.27404,5.76345,0.985684,8.31053,9.42717,-4.34107,-3.27649,-4.05019,-3.31901,-3.39854,-3.31683,-3.69095,-3.81953,9.78679,-6.48358,7.94602,-8.73762,1.01228,7.94299,17.1321,40.9141 --7.76763,1,0.354157,3,7,0,10.6705,8.91226,2.81343,0.622786,1.39396,0.71206,-1.3326,-0.570731,-2.1956,-0.0460867,-0.0488291,10.6644,12.8341,10.9156,5.1631,7.30655,2.73509,8.7826,8.77488,-4.29482,-3.33836,-4.06974,-3.33078,-3.54208,-3.32927,-3.64633,-3.82536,-1.82178,27.6898,8.5424,4.39618,11.7042,-7.90767,27.4571,-6.85491 --6.32619,0.945217,0.354157,3,7,0,16.1525,8.47274,1.06905,1.32834,1.12637,-1.18686,-0.161213,0.389699,-0.818563,-0.210227,0.180659,9.8928,9.67689,7.20392,8.30039,8.88935,7.59765,8.24799,8.66587,-4.35559,-3.23558,-3.89489,-3.32382,-3.71986,-3.49671,-3.69703,-3.82647,8.67471,1.97696,2.23957,19.9607,15.2778,6.92549,10.631,-28.9431 --5.37305,0.320428,0.354157,4,15,0,15.6349,9.8423,3.1651,0.651283,0.37514,-1.77582,0.0495328,0.191011,-0.662691,-0.132231,-0.129535,11.9037,11.0296,4.22165,9.99907,10.4469,7.74481,9.42377,9.4323,-4.20275,-3.26742,-3.79339,-3.354,-3.92499,-3.50482,-3.58928,-3.81948,-2.86623,27.8699,11.997,11.8829,-1.82443,-6.17509,-5.31896,38.4775 --4.60172,0.919619,0.354157,3,7,0,9.28063,8.98368,7.38539,0.464747,0.355758,-1.36252,-0.550998,0.145656,-0.448277,-0.532348,0.0552733,12.416,11.6111,-1.07905,4.91435,10.0594,5.67298,5.05208,9.3919,-4.16668,-3.28672,-3.69873,-3.33481,-3.87117,-3.40707,-4.05977,-3.81981,7.38805,36.8051,-5.55002,16.0613,5.16515,-5.97807,6.76359,9.2952 --6.35569,0.531608,0.354157,4,23,0,10.3595,-0.842647,2.03864,0.229123,-0.553828,1.76399,0.787985,-0.190292,-0.149841,1.13807,0.321833,-0.375549,-1.9717,2.7535,0.763771,-1.23058,-1.14812,1.47746,-0.186545,-5.41626,-3.7187,-3.75618,-3.47754,-3.11649,-3.3359,-4.58649,-4.0385,-5.23463,-18.4974,45.2283,3.49943,1.94054,-21.0715,-5.63003,5.58009 --3.24387,0.99767,0.354157,3,15,0,8.03947,6.66535,5.51539,0.30521,0.431879,-1.36355,0.0156842,-0.316734,-0.513214,0.54688,-0.725325,8.34871,9.04733,-0.855171,6.75186,4.91844,3.83477,9.68161,2.6649,-4.48515,-3.22701,-3.70051,-3.31709,-3.33238,-3.35004,-3.5675,-3.94379,25.3382,25.1169,7.04115,6.2756,-3.43961,20.1908,1.64963,13.9535 --5.97808,0.913587,0.354157,3,15,0,9.77412,7.33101,6.19576,-0.61075,0.511471,1.06545,-0.912906,0.199947,0.728069,0.864698,1.09543,3.54695,10.5,13.9323,1.67487,8.56984,11.842,12.6885,14.118,-4.95577,-3.25277,-4.25149,-3.43401,-3.68148,-3.80257,-3.36258,-3.81623,1.73015,-7.38185,16.8031,4.77477,2.15936,12.9944,22.9391,10.6425 --6.95105,0.79765,0.354157,3,7,0,10.553,7.09926,3.4358,-1.27727,-0.0886323,1.81056,-0.977447,-0.0372782,0.910615,0.299828,0.559296,2.71081,6.79474,13.32,3.74095,6.97118,10.228,8.12941,9.02089,-5.0482,-3.22879,-4.21173,-3.36072,-3.50838,-3.66871,-3.70867,-3.82301,-0.840264,7.14057,5.90665,-9.15454,0.742178,16.6644,8.54787,10.5743 --7.98867,0.963605,0.354157,4,15,0,14.3633,9.1364,3.13533,1.52441,-1.56734,0.888697,-1.27231,0.667386,0.096607,1.20067,0.746397,13.9159,4.22227,11.9228,5.1473,11.2289,9.4393,12.9009,11.4766,-4.06779,-3.29288,-4.12647,-3.33102,-4.03928,-3.61114,-3.35153,-3.80973,18.5278,-12.3407,13.2789,-10.7816,4.6782,0.960266,24.8065,-2.52557 --5.04989,0.999579,0.354157,3,7,0,9.65005,2.19027,8.28882,0.193608,-0.0185777,-0.848997,1.86863,-0.464811,-0.117067,-0.02808,-0.268725,3.79505,2.03628,-4.84692,17.679,-1.66247,1.21992,1.95752,-0.0371478,-4.92894,-3.39935,-3.69819,-3.78808,-3.11887,-3.31703,-4.50833,-4.03291,23.6952,6.77119,-34.2569,0.221394,-9.61064,-0.678367,10.8271,-1.86142 --3.55845,1,0.354157,3,15,0,6.80717,4.43546,4.66234,0.528122,-0.0723997,-1.04681,0.8707,-0.531628,0.372383,-0.358003,-0.568411,6.89775,4.09791,-0.445122,8.49496,1.95683,6.17164,2.76633,1.78533,-4.61656,-3.29766,-3.70428,-3.32607,-3.17013,-3.42735,-4.38185,-3.97033,-25.9465,9.0618,1.07422,2.25513,-6.85527,-25.578,23.7393,-33.3081 --4.16343,0.980154,0.354157,4,15,0,6.31965,4.44426,2.96508,0.824258,-0.280971,0.165136,-0.676195,1.38469,-0.540542,0.539064,-0.066181,6.88825,3.61115,4.9339,2.43928,8.54997,2.8415,6.04263,4.24802,-4.61745,-3.31783,-3.81447,-3.40278,-3.67914,-3.33085,-3.93642,-3.90205,1.97566,13.9186,23.7,27.6075,0.815118,11.086,-1.5331,-11.175 --3.6067,0.936585,0.354157,4,15,0,8.00182,6.03772,4.37465,-0.386648,0.565163,0.0940498,0.235393,-1.38345,0.521954,0.79009,-0.240549,4.34627,8.51011,6.44916,7.06748,-0.0143716,8.32109,9.49409,4.98541,-4.87032,-3.22282,-3.86592,-3.31685,-3.12216,-3.53831,-3.58328,-3.88524,-5.62047,-3.9804,28.9678,14.8138,-2.60025,7.84138,-7.45938,-8.12666 --3.77026,0.900183,0.354157,4,15,0,7.80166,2.92712,4.76636,0.869327,0.428785,-1.30284,0.530322,0.641925,-0.201373,-0.251462,-0.0685885,7.07065,4.97087,-3.28268,5.45483,5.98677,1.96731,1.72857,2.60021,-4.60041,-3.2674,-3.69168,-3.3267,-3.41749,-3.3207,-4.54532,-3.94566,1.43269,7.44407,4.85872,-2.03509,0.133287,10.9837,8.03978,-2.64918 --9.55923,0.801666,0.354157,3,7,0,13.1579,8.15493,0.417492,-0.186416,-1.10191,1.48459,-0.545452,-1.79137,-0.398637,0.92646,1.48463,8.07711,7.69489,8.77474,7.92721,7.40705,7.9885,8.54172,8.77475,-4.50904,-3.22199,-3.96232,-3.32039,-3.55245,-3.51865,-3.66882,-3.82536,3.31401,13.2007,19.9087,-1.67816,5.03936,-5.14503,26.7311,19.0948 --8.42643,0.974032,0.354157,4,15,0,12.3493,0.0754629,0.806333,0.713878,1.55245,-1.97758,0.0849246,0.969246,0.302004,0.388854,-0.743353,0.651086,1.32726,-1.51913,0.14394,0.856998,0.318979,0.389009,-0.523928,-5.28913,-3.44415,-3.69581,-3.51107,-3.13745,-3.31875,-4.77226,-4.05136,6.12098,1.06409,29.5662,-14.4291,8.69335,-12.8054,16.8205,21.282 --5.9065,0.969742,0.354157,4,31,0,11.8489,-2.88608,1.89973,0.6754,0.41077,0.149956,-0.39986,-0.350713,-0.561561,0.848145,0.108551,-1.603,-2.10573,-2.6012,-3.6457,-3.55234,-3.95289,-1.27484,-2.67986,-5.57441,-3.73215,-3.69184,-3.78514,-3.15638,-3.4182,-5.07912,-4.14187,39.5658,-24.4255,9.65745,-17.1756,-3.00332,-21.2299,-13.0688,0.917936 --4.30531,0.966806,0.354157,3,7,0,9.54016,-0.993275,2.31244,0.210702,0.219541,0.0981948,-0.146457,-0.188087,-0.643453,0.572508,0.632073,-0.506039,-0.485599,-0.766205,-1.33195,-1.42821,-2.48122,0.330616,0.468356,-5.43275,-3.58155,-3.70127,-3.6037,-3.1173,-3.36691,-4.78256,-4.01452,30.6309,-3.75508,2.58391,-8.78291,-10.2157,-18.9887,-1.94144,-35.5629 --5.18772,0.926039,0.354157,3,7,0,10.2096,-0.329832,1.80661,0.524287,0.685652,0.00897306,-0.291768,-0.527856,-0.290122,0.572281,1.44998,0.617353,0.908877,-0.313621,-0.856945,-1.28346,-0.853971,0.70406,2.28973,-5.29323,-3.47294,-3.70562,-3.57192,-3.11666,-3.33104,-4.71727,-3.95482,5.89531,9.32472,11.4997,-9.59099,4.40914,-19.9701,-0.999336,15.7914 --6.95991,0.719992,0.354157,3,7,0,10.3047,-0.141701,0.367664,0.063391,-1.19533,-0.0344811,-0.112002,-0.255466,-0.47804,1.36773,0.0163573,-0.118394,-0.581181,-0.154378,-0.18288,-0.235626,-0.317459,0.361165,-0.135687,-5.38398,-3.58971,-3.70734,-3.53003,-3.11977,-3.32401,-4.77717,-4.03659,-7.52536,-6.99631,14.6977,-8.22898,6.97905,-6.11502,-16.239,5.64991 --5.1125,0.843785,0.354157,3,7,0,9.58193,0.691982,2.69368,0.222018,-0.312634,0.189221,-0.196863,0.17066,0.715987,2.11178,0.67668,1.29003,-0.150154,1.20168,0.161696,1.15168,2.62062,6.38044,2.51474,-5.21237,-3.55365,-3.72601,-3.51007,-3.14474,-3.32769,-3.89659,-3.94815,0.207283,-14.5794,-2.56741,13.8953,-10.7208,7.41178,-2.8011,7.44487 --5.06755,0.986765,0.354157,4,15,0,9.81284,5.92303,1.44263,0.942297,0.495934,-0.135528,1.33106,-0.142596,-0.985964,-0.76358,0.285706,7.28241,6.63848,5.72751,7.84325,5.71732,4.50065,4.82147,6.3352,-4.58081,-3.23079,-3.8403,-3.31977,-3.3947,-3.36747,-4.08989,-3.85883,16.8223,2.68592,20.7242,13.699,17.4032,15.5372,9.01115,3.89254 -# -# Elapsed Time: 0.084 seconds (Warm-up) -# 0.02 seconds (Sampling) -# 0.104 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/eight_schools_output3.csv b/arviz/tests/saved_models/cmdstan/eight_schools_output3.csv deleted file mode 100644 index f151a78bdb..0000000000 --- a/arviz/tests/saved_models/cmdstan/eight_schools_output3.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = eight_schools_nc_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = eight_schools.data.R -# init = 2 (Default) -# random -# seed = 779850357 -# output -# file = eight_schools_output3.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,theta_tilde.1,theta_tilde.2,theta_tilde.3,theta_tilde.4,theta_tilde.5,theta_tilde.6,theta_tilde.7,theta_tilde.8,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 -# Adaptation terminated -# Step size = 0.46217 -# Diagonal elements of inverse mass matrix: -# 10.2211, 1.04006, 0.837051, 0.867313, 0.896655, 0.845892, 0.751893, 0.777127, 0.970237, 0.989225 --4.54924,0.964931,0.46217,3,7,0,8.33891,1.37664,5.55848,1.33076,1.06894,-0.144721,0.102173,0.90316,-0.732836,0.474602,-0.943875,8.77366,7.31833,0.572216,1.94457,6.39684,-2.69681,4.01471,-3.86987,-4.44844,-3.22385,-3.71645,-3.42244,-3.4539,-3.37331,-4.19947,-4.19797,17.0892,6.88432,-17.4988,-0.929933,12.1068,17.0414,3.49897,-18.537 --6.51214,0.938057,0.46217,3,7,0,8.76924,8.73398,1.84289,-0.185979,-1.18792,-0.77943,-0.0506853,-1.42907,0.691048,-0.841192,1.01103,8.39124,6.54478,7.29758,8.64058,6.10036,10.0075,7.18376,10.5972,-4.48144,-3.23211,-3.89864,-3.32796,-3.42737,-3.6521,-3.80648,-3.81235,-1.25812,7.83355,-4.0309,22.1396,-3.62405,24.8154,11.1841,26.7111 --8.24786,0.944448,0.46217,3,7,0,13.1753,3.00857,5.67234,-1.40455,-1.00473,-0.0831752,1.09734,0.180775,-2.092,0.617633,0.538814,-4.95849,-2.69059,2.53678,9.23308,4.03399,-8.85793,6.512,6.06491,-6.04091,-3.79297,-3.7514,-3.33744,-3.27259,-3.7184,-3.88139,-3.86367,-29.609,-1.37327,-26.1646,15.5131,-6.16955,-28.3195,-0.945076,5.07752 --5.09479,1,0.46217,3,7,0,10.2288,6.931,0.628256,0.640968,0.70962,0.315611,-0.318589,-0.624961,0.535039,-0.709337,0.53566,7.33369,7.37682,7.12928,6.73084,6.53836,7.26714,6.48535,7.26753,-4.57609,-3.22347,-3.89192,-3.31713,-3.46695,-3.47914,-3.88446,-3.84387,-6.6734,12.3924,-20.6259,6.2794,6.42416,8.05041,-1.8584,10.4693 --3.53225,0.666672,0.46217,2,3,0,10.4816,3.05679,8.72987,0.199424,-0.788381,0.00676703,-0.579385,-0.181618,0.271412,0.494511,0.951217,4.79773,-3.82568,3.11586,-2.00117,1.47128,5.42618,7.37381,11.3608,-4.82331,-3.92076,-3.76458,-3.65163,-3.15386,-3.39779,-3.7861,-3.80994,6.94364,-5.14496,-5.57875,-0.0800579,0.902464,-1.48243,-11.7417,21.5411 --3.9508,0.827432,0.46217,3,7,0,7.89686,6.77145,2.11424,0.219054,1.10251,-0.058967,0.652808,-0.322667,-0.126193,-0.0311045,-0.902736,7.23458,9.10241,6.64678,8.15164,6.08926,6.50465,6.70569,4.86286,-4.58522,-3.2276,-3.87329,-3.32231,-3.4264,-3.44205,-3.85933,-3.88792,14.1418,14.7469,-9.69701,10.2679,9.31372,4.7583,25.6301,33.6286 --3.90758,0.988445,0.46217,3,7,0,6.26912,4.1016,4.98799,0.175051,-0.82782,0.169127,-1.14999,-0.294706,0.0652591,0.348292,1.0344,4.97475,-0.0275558,4.9452,-1.63453,2.63161,4.42711,5.83888,9.26119,-4.80513,-3.54373,-3.81482,-3.62491,-3.19757,-3.36537,-3.96099,-3.82089,23.0909,-2.96398,19.551,15.8445,-5.14437,8.85883,-1.32927,10.3594 --3.64186,0.879996,0.46217,3,7,0,9.7135,3.86282,5.49303,0.189639,-0.577668,-1.10926,-1.02965,-0.141624,0.181295,0.928773,0.352504,4.90452,0.689679,-2.23038,-1.79309,3.08488,4.85868,8.9646,5.79914,-4.81233,-3.48873,-3.69268,-3.63633,-3.21916,-3.37836,-3.62972,-3.86865,14.4903,-2.50334,4.97732,-5.21066,-8.09146,-8.26108,-0.0805677,-23.0003 --6.4681,0.95197,0.46217,3,7,0,7.84097,7.33811,2.18114,1.29857,-1.86969,-0.655395,-0.987013,-1.06411,0.0981364,0.0422256,0.57848,10.1705,3.26007,5.9086,5.1853,5.01713,7.55216,7.43021,8.59986,-4.33342,-3.33386,-3.84653,-3.33044,-3.33966,-3.49423,-3.78013,-3.82715,18.1726,15.7322,47.1296,20.2899,8.84922,1.49333,-9.4901,-33.3483 --12.7112,0.775787,0.46217,3,7,0,17.5652,8.00397,6.68198,3.19289,1.18848,1.11871,-0.0890833,-0.0493019,-1.0204,2.35681,-1.20846,29.3388,15.9453,15.4792,7.40872,7.67454,1.18568,23.7521,-0.0709549,-3.63097,-3.53717,-4.35848,-3.31752,-3.58065,-3.31698,-3.38696,-4.03417,26.5511,13.466,6.81425,9.31315,14.9668,-4.64829,15.0185,-11.3753 --12.7112,0.0462655,0.46217,3,7,0,20.9095,8.00397,6.68198,3.19289,1.18848,1.11871,-0.0890833,-0.0493019,-1.0204,2.35681,-1.20846,29.3388,15.9453,15.4792,7.40872,7.67454,1.18568,23.7521,-0.0709549,-3.63097,-3.53717,-4.35848,-3.31752,-3.58065,-3.31698,-3.38696,-4.03417,-3.30604,6.66462,22.1059,10.3164,-4.70922,2.92869,14.3735,-27.4616 --5.26783,0.817869,0.46217,3,7,0,16.6055,7.82135,1.86713,1.49843,0.170588,0.330897,1.13726,-0.167642,-0.780007,0.765105,0.569574,10.6191,8.13986,8.43918,9.94477,7.50834,6.36497,9.2499,8.88482,-4.29831,-3.22162,-3.9471,-3.35267,-3.56303,-3.43577,-3.60434,-3.82429,23.8095,-5.32286,14.9167,-21.4609,3.86464,-2.31077,17.1725,3.26112 --4.79972,0.996741,0.46217,3,7,0,9.86186,5.11209,1.01001,-0.754511,-0.0142336,-0.871143,-1.14585,-0.660096,0.259131,-0.121614,-0.325924,4.35003,5.09772,4.23223,3.95478,4.44539,5.37382,4.98926,4.78291,-4.86992,-3.26364,-3.79369,-3.35515,-3.2992,-3.39588,-4.06792,-3.88969,1.02113,5.0062,-8.86835,15.3273,-5.87039,-0.268687,0.386524,37.6426 --11.8029,0.901186,0.46217,3,7,0,15.132,4.13407,0.00507334,0.171341,0.0968985,0.377611,1.43072,2.14514,0.00723632,0.169131,-0.165663,4.13494,4.13456,4.13598,4.14133,4.14495,4.13411,4.13493,4.13323,-4.89264,-3.29623,-3.79098,-3.3506,-3.27956,-3.35742,-4.18272,-3.90481,7.93753,-23.7982,-21.2068,1.57647,19.7998,13.4915,0.9139,-6.09766 --5.38564,0.995276,0.46217,3,7,0,14.0313,6.13432,0.467004,0.111294,-0.448274,0.42149,-1.3919,0.234959,-0.104289,0.336777,0.610244,6.1863,5.92497,6.33116,5.4843,6.24405,6.08562,6.2916,6.41931,-4.68441,-3.24305,-3.86159,-3.32633,-3.44009,-3.42371,-3.90696,-3.85737,21.8813,0.304442,10.8938,30.1505,6.61664,3.6059,-13.852,30.627 --6.69726,0.905408,0.46217,3,7,0,11.3968,7.41203,0.566566,-0.949638,-1.15594,-0.227226,1.08431,0.420748,0.471144,1.16053,-0.236041,6.87399,6.75711,7.28329,8.02636,7.65041,7.67896,8.06954,7.27829,-4.61878,-3.22925,-3.89806,-3.32119,-3.57807,-3.50117,-3.71459,-3.84372,14.2587,5.77818,2.1543,9.72788,19.5244,-4.04321,-17.3615,-14.4264 --7.26818,0.96232,0.46217,3,7,0,11.2831,7.64648,0.513118,-0.693636,-0.574604,-1.17274,0.820658,0.210745,0.65548,1.66154,-0.343805,7.29056,7.35164,7.04473,8.06757,7.75461,7.98282,8.49904,7.47006,-4.58006,-3.22363,-3.88859,-3.32154,-3.58927,-3.51832,-3.67286,-3.84098,-12.6662,18.1879,43.6493,24.8261,12.2558,-2.74762,12.9519,15.5784 --6.73963,1,0.46217,3,7,0,10.2826,0.561352,0.586592,0.0564694,0.200442,-0.25276,0.98946,-1.0168,1.24996,-0.897497,-0.174534,0.594477,0.67893,0.413086,1.14176,-0.0350934,1.29457,0.0348881,0.458972,-5.29602,-3.48951,-3.71428,-3.45865,-3.12191,-3.31719,-4.83525,-4.01486,11.3072,-1.26908,13.4054,16.8973,3.59329,6.75734,5.19084,8.20658 --4.23415,1,0.46217,3,7,0,8.61449,8.75619,5.87913,0.464561,-0.14077,0.111112,-0.798624,0.101916,-1.12359,1.31311,0.271693,11.4874,7.92859,9.40943,4.06098,9.35537,2.15044,16.4761,10.3535,-4.23291,-3.22155,-3.9923,-3.35253,-3.7781,-3.3223,-3.23313,-3.81349,-6.02191,20.7217,12.0173,9.69742,13.5483,-13.9891,55.4011,-28.6745 --3.53406,0.976237,0.46217,3,7,0,7.25086,0.589346,2.47227,-0.0958764,-0.00361844,0.347029,0.302655,-0.374886,0.10448,0.786511,-0.503697,0.352314,0.5804,1.44729,1.33759,-0.337474,0.847649,2.53381,-0.655929,-5.32564,-3.49678,-3.73016,-3.44933,-3.11887,-3.31693,-4.41754,-4.05649,-9.45724,1.04128,1.7053,11.3642,-13.6877,6.36782,-0.605786,2.78063 --3.98065,0.188593,0.46217,3,7,0,8.48417,-0.290088,7.13714,0.0273258,0.125108,0.267838,0.180597,0.0590761,0.364109,1.30311,-1.09188,-0.0950597,0.602827,1.62151,0.998857,0.131546,2.30861,9.01041,-8.08301,-5.38106,-3.49511,-3.73324,-3.46565,-3.12407,-3.32391,-3.62559,-4.43173,5.1347,-7.56291,3.46002,-16.506,14.9369,-5.37936,11.7873,-13.6086 --4.97962,0.826318,0.46217,3,7,0,8.83529,7.67263,6.15083,0.780917,0.00799527,-0.471452,0.230396,-0.00995901,-0.857452,-0.182971,1.98994,12.4759,7.7218,4.7728,9.08976,7.61137,2.39858,6.5472,19.9124,-4.16254,-3.22191,-3.80953,-3.33488,-3.57391,-3.32492,-3.87736,-3.90593,20.8742,22.2369,0.372685,19.6692,-2.88033,11.1071,-2.50065,30.6827 --7.21366,0.828341,0.46217,3,7,0,9.79914,0.933813,7.21252,0.669273,0.268094,0.47304,0.255128,-1.31714,0.117618,2.35893,-1.6706,5.76096,2.86744,4.34562,2.77393,-8.5661,1.78213,17.9476,-11.1154,-4.72604,-3.35324,-3.79691,-3.39063,-3.46953,-3.31936,-3.22154,-4.63388,-14.3637,20.1063,8.78913,9.43931,-9.31413,-11.1695,4.05383,-4.12163 --7.6873,0.802019,0.46217,3,7,0,12.8052,5.45473,2.81118,1.32739,2.26407,0.624066,0.152038,0.96161,-0.070907,1.76658,0.61967,9.18628,11.8194,7.20909,5.88214,8.15799,5.2554,10.4209,7.19673,-4.41356,-3.29446,-3.89509,-3.322,-3.63387,-3.39166,-3.50874,-3.84491,40.9802,14.8478,29.4027,-8.02817,12.6317,2.57523,18.5494,-10.2453 --10.904,0.961506,0.46217,3,7,0,12.8764,5.09009,2.59642,2.6766,2.48507,0.642133,0.068842,1.31951,0.666886,0.921065,1.0962,12.0397,11.5424,6.75734,5.26883,8.51608,6.8216,7.48156,7.9363,-4.19306,-3.28427,-3.87748,-3.32922,-3.67515,-3.45688,-3.77471,-3.83479,21.0237,11.5114,6.36933,1.99599,5.00593,-6.28942,-11.5253,1.7204 --9.04783,0.999042,0.46217,3,7,0,16.3258,1.67275,3.08985,0.797873,1.26495,0.401087,1.71055,2.05745,-1.38638,-0.548106,0.724124,4.13806,5.58124,2.91205,6.95809,8.02996,-2.61096,-0.0208105,3.91018,-4.89231,-3.25078,-3.75979,-3.31684,-3.6195,-3.37071,-4.84527,-3.91031,26.2659,8.11201,1.99317,2.62997,6.08985,-6.92154,-11.9125,7.21128 --8.14765,0.981124,0.46217,3,7,0,13.933,5.60785,4.84069,0.090687,-0.980921,-0.533762,-1.33709,-2.22129,1.32146,1.26407,-0.606431,6.04684,0.859511,3.02407,-0.864605,-5.14474,12.0046,11.7268,2.6723,-4.69797,-3.47646,-3.76241,-3.57242,-3.22221,-3.81725,-3.41829,-3.94358,5.33099,-6.59025,6.41459,-4.50406,-2.90662,9.06428,13.8515,-5.54563 --4.40447,0.979833,0.46217,3,7,0,10.7493,4.43952,1.32164,-0.462103,-0.892489,-0.962161,0.33473,-0.654114,-0.456338,-0.0663259,0.649299,3.82878,3.25996,3.16788,4.88191,3.57501,3.8364,4.35186,5.29766,-4.92532,-3.33386,-3.76583,-3.33537,-3.24537,-3.35008,-4.15288,-3.87863,-6.77487,3.42354,12.6849,6.4954,-4.50524,4.04111,6.7957,1.64366 --9.34969,0.830597,0.46217,3,7,0,11.368,8.26362,0.0744974,0.811297,-0.0277799,0.416924,-0.37823,-1.0141,-0.889342,1.03125,1.49618,8.32406,8.26155,8.29468,8.23544,8.18807,8.19737,8.34044,8.37508,-4.48731,-3.22187,-3.94069,-3.32314,-3.63728,-3.53089,-3.68806,-3.82959,3.04547,1.18107,10.576,12.4045,7.06637,2.36048,5.80214,-0.134327 --10.5303,0.998353,0.46217,3,15,0,13.9095,0.147879,0.00854639,0.390781,0.734858,0.5351,0.817981,0.538676,0.994926,-0.50909,0.463976,0.151219,0.154159,0.152452,0.15487,0.152482,0.156382,0.143528,0.151844,-5.35044,-3.52931,-3.71094,-3.51045,-3.12436,-3.31977,-4.81579,-4.02594,-13.4342,1.32978,0.625436,8.19523,9.674,1.3899,16.3142,33.893 --7.52983,0.987758,0.46217,4,15,0,15.6921,4.05956,0.222308,-0.0990518,1.40946,-0.762411,-0.697597,1.16336,-1.0081,-0.0028633,-0.667725,4.03754,4.37289,3.89007,3.90448,4.31818,3.83545,4.05892,3.91112,-4.90299,-3.2873,-3.78425,-3.35643,-3.29075,-3.35006,-4.19329,-3.91028,21.0002,-7.91262,3.94635,4.79077,2.17625,21.173,17.477,-4.3521 --8.95503,0.965973,0.46217,3,15,0,11.8555,1.66248,0.513737,0.656825,1.54649,-0.20118,-0.237063,1.15847,-1.48257,1.57433,-0.981634,1.99991,2.45696,1.55912,1.54069,2.25763,0.900826,2.47127,1.15817,-5.12922,-3.37515,-3.73212,-3.43999,-3.18167,-3.31687,-4.42723,-3.99071,2.13684,2.64015,-7.75519,-9.19736,10.2888,26.9846,-5.19553,16.0185 --5.86024,0.880664,0.46217,3,7,0,12.3903,4.35862,2.27136,0.624,0.765731,0.533888,-0.612195,-0.4374,-1.56796,1.20299,-1.43146,5.77594,6.09786,5.57127,2.9681,3.36512,0.797217,7.09104,1.10726,-4.72456,-3.23961,-3.83502,-3.38401,-3.23378,-3.317,-3.81655,-3.99241,-11.0223,13.6686,17.8987,-5.28267,-1.60192,13.5998,13.996,-3.30793 --8.27868,0.962396,0.46217,3,7,0,11.6736,7.05498,12.7602,1.55644,0.825973,1.00485,0.469451,-1.31321,-0.374651,1.07918,-1.48374,26.9154,17.5946,19.8771,13.0453,-9.70183,2.27436,20.8255,-11.8778,-3.6296,-3.6818,-4.71372,-3.46785,-3.58358,-3.32354,-3.26144,-4.68917,34.2406,8.72101,36.6932,24.8243,-11.9671,-27.0303,14.8275,2.29784 --8.02079,0.324365,0.46217,2,3,0,12.3584,7.4531,15.7189,1.38319,0.703651,0.747214,-0.0740979,-0.770406,-0.196556,1.18018,-1.65435,29.1953,18.5137,19.1985,6.28837,-4.65682,4.36346,26.0042,-18.5514,-3.63016,-3.77421,-4.65397,-3.31893,-3.19871,-3.36358,-3.54186,-5.24972,67.5999,35.2869,36.2976,25.7355,-3.43694,-0.368787,35.4706,-23.8884 --7.16467,0.92261,0.46217,3,7,0,10.5276,-0.835231,1.38387,-0.728886,-1.37894,-0.139625,0.525639,0.890119,-0.355436,0.0933566,1.28729,-1.84391,-2.7435,-1.02845,-0.107816,0.396576,-1.32711,-0.706037,0.946211,-5.60623,-3.79864,-3.69912,-3.5256,-3.1282,-3.33921,-4.9711,-3.99787,4.9413,-1.61151,17.3019,-25.9113,-16.5722,15.5652,-3.53232,3.88945 --4.77586,0.965703,0.46217,3,7,0,10.652,0.491099,1.98338,-0.464304,-0.706266,-0.417355,-0.119864,0.871459,-0.505956,-0.113812,0.516555,-0.429792,-0.909694,-0.336674,0.253363,2.21953,-0.512404,0.265367,1.51562,-5.42311,-3.61844,-3.70538,-3.50492,-3.18015,-3.32629,-4.79411,-3.97894,-6.79141,6.53796,12.4401,0.266982,-1.22307,-7.15737,-2.37752,19.2581 --6.2357,0.941974,0.46217,3,7,0,9.93514,5.0959,6.17781,0.872762,1.739,-0.719275,-0.639858,-1.43677,-1.03072,-0.0754659,1.06613,10.4877,15.8391,0.652353,1.14298,-3.7802,-1.27172,4.62968,11.6823,-4.3085,-3.52878,-3.71758,-3.45859,-3.16388,-3.33816,-4.11535,-3.80947,8.32812,31.0516,2.82819,-1.41528,0.99407,-15.0457,14.7921,0.281194 --6.53842,1,0.46217,3,7,0,7.42236,3.86287,2.533,-0.280199,-1.55675,0.331492,0.970903,1.35126,0.550059,1.06165,-0.893223,3.15313,-0.0803805,4.70255,6.32218,7.28561,5.25618,6.55204,1.60034,-4.99892,-3.54799,-3.8074,-3.31873,-3.53994,-3.39169,-3.8768,-3.97621,13.4697,-7.19973,0.199861,3.90991,-1.79046,-7.08516,6.75789,-8.15155 --4.63456,0.990052,0.46217,3,7,0,9.26365,2.05725,2.71314,-0.736766,-0.475423,1.37059,0.0275146,0.664725,-0.163462,0.36907,-0.0251599,0.0583014,0.767361,5.77584,2.1319,3.86074,1.61375,3.05859,1.98898,-5.36196,-3.48308,-3.84195,-3.41476,-3.26201,-3.31839,-4.33775,-3.96397,19.6737,8.8831,22.4774,2.05189,-2.31977,-7.44056,19.8334,7.09726 --4.05921,0.91898,0.46217,3,7,0,9.61739,3.94807,1.16135,-0.0844876,-0.176355,0.906576,-0.230835,0.84121,-0.193123,-0.167853,-0.375775,3.84995,3.74326,5.00092,3.67999,4.92501,3.72379,3.75313,3.51166,-4.92304,-3.31212,-3.81656,-3.36238,-3.33286,-3.34749,-4.23639,-3.9205,0.0451582,-10.6913,8.62422,0.0469621,9.31043,15.2209,20.495,3.30066 --5.58379,0.94704,0.46217,3,7,0,7.1838,1.37298,0.495984,0.690907,-0.11444,-0.172801,-0.337509,-1.05841,-0.0504297,0.559278,0.834045,1.71566,1.31622,1.28727,1.20558,0.848028,1.34797,1.65037,1.78665,-5.16225,-3.44489,-3.72743,-3.45557,-3.13724,-3.31733,-4.55807,-3.97029,15.5782,14.2385,-10.5074,9.97767,-17.1809,-4.8414,-1.16677,16.328 --4.24943,0.910946,0.46217,3,7,0,7.55349,4.73679,25.3414,0.238439,0.361491,0.138078,0.390564,0.387836,-0.0296023,0.370313,-0.370897,10.7792,13.8975,8.2359,14.6342,14.5651,3.98663,14.121,-4.66227,-4.286,-3.39542,-3.9381,-3.55767,-4.61167,-3.35369,-3.29676,-4.23775,42.4684,5.12967,-5.80905,5.24898,25.3944,19.5129,18.8063,-10.8426 --6.77189,0.927545,0.46217,3,7,0,8.64546,6.57002,1.26713,0.957562,-0.454631,-0.266983,-0.910601,-1.78094,0.0575436,0.659217,1.59754,7.78337,5.99394,6.23172,5.41617,4.31334,6.64293,7.40533,8.59431,-4.53524,-3.24164,-3.85798,-3.3272,-3.29043,-3.44842,-3.78276,-3.82721,29.8832,-2.0593,6.5316,-7.69399,9.78106,-10.6425,24.356,10.7423 --4.68951,0.998485,0.46217,3,7,0,9.21381,5.31944,2.40715,0.13169,0.365793,0.0735521,-0.796755,0.530247,-0.0305976,-0.9692,-1.23573,5.63644,6.19996,5.49649,3.40154,6.59583,5.24579,2.98644,2.34487,-4.73839,-3.23772,-3.83252,-3.37034,-3.47231,-3.39132,-4.34856,-3.95317,8.46494,23.7567,11.5802,-6.72449,9.1098,20.5991,3.85684,2.62259 --7.41527,0.887124,0.46217,3,7,0,10.307,1.05368,0.125976,0.498719,-1.07546,0.554349,0.352245,0.159931,-0.554394,-0.902512,-0.501795,1.11651,0.918202,1.12352,1.09806,1.07383,0.983845,0.93999,0.990471,-5.23304,-3.47228,-3.72474,-3.46077,-3.14271,-3.31683,-4.67674,-3.99636,1.9198,-13.2729,29.2844,12.1954,11.1257,18.908,3.03722,7.16188 --3.05048,0.878633,0.46217,3,7,0,14.3985,5.86146,3.94147,0.477151,0.24218,-0.89463,-0.341423,0.545774,-0.158127,0.434559,0.718433,7.74214,6.81601,2.3353,4.51575,8.01262,5.23821,7.57426,8.69315,-4.53895,-3.22853,-3.74712,-3.34234,-3.61757,-3.39106,-3.765,-3.82619,-1.66283,14.0869,-4.31296,-0.16449,-16.3859,12.4019,19.5328,-18.3479 --6.75071,0.88734,0.46217,3,7,0,8.44637,3.97467,2.72356,-0.58405,1.98089,-0.429635,1.75143,-0.33499,0.114457,-0.276584,-0.857081,2.38397,9.36973,2.80453,8.74478,3.0623,4.2864,3.22138,1.64036,-5.08517,-3.2309,-3.75733,-3.32941,-3.21803,-3.36146,-4.31356,-3.97493,31.3496,28.3948,12.3351,-4.65726,10.6956,0.778621,-3.79511,13.3519 --6.29364,0.989939,0.46217,3,7,0,10.4136,2.04708,2.28428,1.5511,-1.17742,0.30955,-1.11326,-0.333625,-0.736928,1.07265,1.05899,5.59021,-0.642483,2.75418,-0.495909,1.28499,0.363728,4.49732,4.46611,-4.74299,-3.59499,-3.7562,-3.54902,-3.14839,-3.31851,-4.13314,-3.8969,24.4202,-6.34202,-10.3534,5.39172,3.30586,-4.89923,11.8712,-10.8047 --4.41338,0.939034,0.46217,3,7,0,11.8421,7.1972,1.46726,-0.0314701,0.892645,-0.285174,0.684125,0.635402,0.339749,-0.184845,-0.639059,7.15103,8.50694,6.77878,8.20099,8.1295,7.6957,6.92599,6.25953,-4.59294,-3.22281,-3.87829,-3.32279,-3.63066,-3.50209,-3.83469,-3.86016,3.48247,5.72591,3.86342,25.3778,7.82641,2.9723,1.31238,25.7973 --11.1699,0.843088,0.46217,3,7,0,13.7272,11.0829,1.03644,0.405517,-1.7521,-1.11861,-0.533186,1.75197,1.76374,0.658118,0.320439,11.5032,9.26695,9.92353,10.5303,12.8987,12.9109,11.765,11.415,-4.23175,-3.22955,-4.01773,-3.36833,-4.3086,-3.90307,-3.4159,-3.80984,1.96426,21.2697,5.3636,22.3993,7.57967,-20.1124,21.9095,34.7699 --5.10333,0.999106,0.46217,3,7,0,13.3195,5.76599,2.02469,0.638889,0.141871,-1.46097,-0.54491,0.485914,-0.325905,-0.729416,1.13025,7.05954,6.05323,2.80798,4.66271,6.74981,5.10613,4.28914,8.0544,-4.60144,-3.24047,-3.75741,-3.33941,-3.4869,-3.3865,-4.16146,-3.83333,31.2486,-5.28548,11.88,3.46609,10.6246,-8.64994,-3.89317,2.77141 --4.13678,0.995677,0.46217,3,7,0,7.14987,3.57496,3.82686,-0.662243,-0.127077,0.865949,0.776332,-0.153927,-0.148426,1.28014,-0.796379,1.04065,3.08866,6.88883,6.54588,2.9859,3.00696,8.47388,0.527331,-5.24211,-3.34213,-3.88252,-3.31769,-3.21423,-3.33348,-3.67526,-4.01243,-16.8772,8.4847,-14.2701,31.9861,-17.735,0.378025,19.7798,-2.54391 --4.92599,0.840954,0.46217,3,7,0,10.1668,5.35428,6.23913,-1.24035,-0.336214,0.821193,1.01431,-0.216993,0.177812,0.571847,0.202059,-2.38444,3.25661,10.4778,11.6827,4.00044,6.46368,8.92211,6.61496,-5.67858,-3.33402,-4.04632,-3.40744,-3.27051,-3.44019,-3.63356,-3.85406,13.4509,-7.22735,15.7001,16.2494,3.11733,4.60787,19.1006,14.9812 --5.52699,0.952761,0.46217,3,7,0,8.98726,6.6772,2.08645,1.17371,-0.179493,0.882543,-1.408,-0.0191658,0.573796,-0.877263,0.103618,9.12609,6.30269,8.51858,3.73946,6.63721,7.8744,4.84683,6.89339,-4.4186,-3.23593,-3.95066,-3.36076,-3.47621,-3.51211,-4.08655,-3.84955,-14.3405,-0.202042,2.51597,-0.490455,8.13035,11.3871,1.92821,16.6805 --6.45801,0.992658,0.46217,3,7,0,9.58998,1.87866,2.60355,0.546181,1.33656,-0.972884,1.91298,0.804372,-0.360424,1.26174,-0.20648,3.30066,5.35845,-0.654292,6.85919,3.97288,0.940276,5.16366,1.34108,-4.98267,-3.25641,-3.70227,-3.31692,-3.26881,-3.31685,-4.04538,-3.98464,-2.57973,9.06722,16.7735,3.73604,10.4729,-8.93111,0.56118,-17.2665 --7.36255,0.342606,0.46217,3,7,0,11.8748,2.96561,7.59051,1.05164,1.83237,-1.51247,1.4269,1.03833,-0.142982,0.873541,-0.174812,10.9481,16.8742,-8.51483,13.7965,10.847,1.8803,9.59623,1.63869,-4.27314,-3.61528,-3.75093,-3.50771,-3.98253,-3.32004,-3.57464,-3.97498,14.4749,15.2071,-9.01831,18.9785,16.3213,6.61226,19.4364,2.59922 --10.0548,0.797992,0.46217,3,7,0,15.2037,5.4946,1.99395,0.0283935,-2.68713,1.92861,-0.529483,-1.7056,0.553654,0.0653813,0.0706441,5.55122,0.136618,9.34014,4.43884,2.09374,6.59856,5.62497,5.63546,-4.74687,-3.53069,-3.98895,-3.34394,-3.17524,-3.44635,-3.98723,-3.87182,20.1183,-8.63763,12.649,4.41915,6.2026,20.2443,8.83514,-49.5184 --8.87757,0.991941,0.46217,3,7,0,15.3168,4.14169,2.4848,-1.1823,-0.883023,0.23259,-0.756274,-1.66944,0.224358,2.09196,-1.76544,1.2039,1.94755,4.71963,2.26249,-0.00654974,4.69917,9.33979,-0.245086,-5.22261,-3.40468,-3.80792,-3.40958,-3.12226,-3.37338,-3.59652,-4.0407,8.0993,15.2776,14.3177,0.435301,13.1192,20.2854,14.9631,-4.13131 --9.04693,0.918734,0.46217,3,7,0,16.7081,6.40571,0.842027,1.28581,-2.43786,-0.0952701,0.734197,-0.18073,0.186714,-1.62108,0.448774,7.4884,4.35297,6.32549,7.02393,6.25353,6.56293,5.04072,6.78359,-4.56194,-3.28803,-3.86138,-3.31684,-3.44094,-3.44471,-4.06124,-3.8513,10.7044,17.2885,6.98872,-14.8538,3.76901,19.4273,6.7267,0.235545 --7.41271,0.961215,0.46217,3,7,0,14.8751,1.69817,5.77661,-0.0187866,-0.27017,-2.53093,0.147687,-1.18796,0.98083,0.580755,-0.521551,1.58964,0.137503,-12.922,2.5513,-5.16421,7.36404,5.05296,-1.31463,-5.177,-3.53062,-3.88381,-3.39861,-3.2232,-3.48419,-4.05965,-4.08289,-7.55856,-6.92306,-31.2191,20.0036,-17.879,-17.5221,-12.0025,-11.7619 --9.07722,0.84292,0.46217,3,7,0,17.076,6.62657,0.584911,0.48883,0.561174,2.52535,-0.643382,1.56086,-0.550093,0.131798,-0.46464,6.91249,6.95481,8.10368,6.25025,7.53954,6.30482,6.70366,6.3548,-4.61517,-3.22699,-3.93233,-3.31916,-3.56631,-3.43312,-3.85956,-3.85849,25.6529,-5.43616,-26.7083,17.132,-4.93714,-6.23398,11.8605,4.51606 --5.82524,0.916032,0.46217,3,7,0,10.1366,1.17105,6.97377,0.02278,-0.17364,-1.21297,1.28298,-1.4867,-0.0648096,0.137313,0.72555,1.32991,-0.0398772,-7.28795,10.1182,-9.19684,0.719084,2.12864,6.23087,-5.20764,-3.54472,-3.72744,-3.35701,-3.53091,-3.31716,-4.48102,-3.86067,-9.10453,6.50498,-7.62646,6.34691,-15.0323,12.3367,4.14249,7.84492 --5.48412,0.5661,0.46217,3,7,0,13.2525,1.79857,2.75687,-0.467201,0.412513,-0.673252,1.47332,-1.41835,0.330295,1.24565,0.175754,0.510558,2.93581,-0.0574971,5.86032,-2.11164,2.70915,5.23265,2.2831,-5.30625,-3.34975,-3.70844,-3.3222,-3.12379,-3.3289,-4.03655,-3.95502,12.8225,-0.672624,-8.72153,8.77583,-5.73104,-2.44413,15.524,-4.61515 --3.53371,0.981199,0.46217,3,7,0,8.47578,4.87428,5.21435,-0.33042,0.0628442,-0.216341,0.258295,1.1423,-0.320814,0.462296,0.282115,3.15135,5.20197,3.7462,6.22112,10.8306,3.20144,7.28485,6.34532,-4.99911,-3.26067,-3.78042,-3.31934,-3.98014,-3.33686,-3.7956,-3.85865,16.9097,13.4155,-21.5803,13.6773,13.4822,-1.9774,26.0733,29.5489 --9.88905,0.99065,0.46217,3,7,0,14.6044,9.6177,1.01112,1.08954,-0.0852272,-0.756962,-0.361645,-3.13105,0.0696048,0.629495,-0.214063,10.7193,9.53152,8.85232,9.25203,6.45183,9.68807,10.2542,9.40125,-4.29059,-3.23325,-3.9659,-3.33779,-3.45894,-3.62875,-3.52151,-3.81973,-6.07004,6.63529,-12.0668,-1.12659,12.4504,12.7871,14.3493,-8.87223 --7.68935,0.988769,0.46217,3,7,0,14.541,1.46048,8.07881,1.00348,-0.289885,-0.283312,0.0330792,-1.60864,2.02993,1.47582,-0.0398097,9.5674,-0.881452,-0.828348,1.72772,-11.5354,17.8599,13.3833,1.13886,-4.38201,-3.61592,-3.70074,-3.4317,-3.80131,-4.49145,-3.32809,-3.99135,9.29888,-5.44163,0.740873,9.09334,-12.5819,22.6624,-3.68087,-24.3233 --15.8696,0.935656,0.46217,3,7,0,17.9465,15.0442,3.84564,-0.554344,-0.691607,-1.04485,-0.310615,1.07908,-3.46989,-1.03428,0.497086,12.9124,12.3846,11.0261,13.8497,19.194,1.70031,11.0668,16.9558,-4.13284,-3.31765,-4.07577,-3.51071,-5.63342,-3.31886,-3.46187,-3.84721,-4.4896,9.36255,31.3034,18.0528,-3.11276,-7.10257,0.746291,33.7854 --10.0232,0.957276,0.46217,3,7,0,23.6081,1.6847,1.91477,2.08653,-0.422173,-1.27249,0.390458,-1.65345,2.34781,0.506569,0.635066,5.67993,0.876331,-0.751832,2.43233,-1.48129,6.18021,2.65466,2.9007,-4.73407,-3.47526,-3.7014,-3.40305,-3.11759,-3.42772,-4.39892,-3.93708,17.6158,-7.68297,-8.76397,11.4505,-2.29024,8.26207,2.5372,-7.42339 --6.42201,1,0.46217,3,7,0,13.2117,4.80124,3.80917,-1.14337,0.714957,1.99348,-0.21441,0.57721,-0.799523,0.527729,0.200323,0.445958,7.52464,12.3947,3.98452,6.99994,1.75572,6.81145,5.56431,-5.31416,-3.22265,-4.15441,-3.35441,-3.51122,-3.31919,-3.84744,-3.87323,4.65598,3.91643,-16.2254,12.3303,1.19644,-10.2831,-1.75409,-0.263472 --8.33622,0.934484,0.46217,3,7,0,13.4067,2.46345,4.22959,-0.0377339,1.56734,-1.08535,1.83595,-0.540016,-1.43235,1.36272,-1.44538,2.30385,9.09267,-2.12712,10.2288,0.179401,-3.59479,8.22721,-3.6499,-5.0943,-3.22749,-3.69302,-3.35991,-3.12475,-3.40407,-3.69906,-4.18727,-3.49353,15.4421,-22.2421,-3.31146,16.0383,5.02978,3.13046,-6.25202 --3.85418,1,0.46217,3,7,0,10.0419,1.92653,4.97277,0.359082,0.611315,-0.787494,-0.898767,-0.405502,-0.119804,0.238147,1.21568,3.71216,4.96646,-1.9895,-2.54283,-0.0899407,1.33077,3.11078,7.97184,-4.93788,-3.26754,-3.69352,-3.69314,-3.12128,-3.31729,-4.32997,-3.83435,23.7526,-6.59027,-9.62406,24.461,-4.40699,5.42268,-1.87236,10.2517 --5.9883,0.805345,0.46217,3,7,0,8.96639,2.69375,0.222428,0.0611092,-0.172632,-0.666769,-0.210205,0.952143,0.457146,-0.351134,0.818952,2.70734,2.65535,2.54544,2.64699,2.90553,2.79543,2.61565,2.87591,-5.04859,-3.36435,-3.75159,-3.39513,-3.21032,-3.33015,-4.40492,-3.93778,16.8107,-13.8669,-10.2094,1.77502,-1.42796,-13.6397,-13.0592,18.3522 --5.48794,0.973295,0.46217,3,7,0,9.2088,6.94442,0.402529,0.079291,0.271418,0.722941,0.201757,-0.966989,-0.574453,0.330947,-0.74665,6.97634,7.05367,7.23542,7.02563,6.55518,6.71319,7.07764,6.64387,-4.6092,-3.226,-3.89614,-3.31684,-3.46851,-3.45171,-3.81801,-3.85358,18.2957,0.455361,12.8543,-2.40166,15.3663,21.3904,12.3843,-8.14306 --5.65612,0.935427,0.46217,3,7,0,9.30442,8.36493,4.98074,0.976294,-0.561127,-0.966889,1.04611,0.182572,0.847937,0.111914,-1.11067,13.2276,5.5701,3.54911,13.5754,9.27427,12.5883,8.92235,2.83296,-4.11193,-3.25105,-3.7753,-3.49549,-3.76777,-3.87174,-3.63354,-3.93899,-17.0029,17.2451,14.5529,2.12725,11.4853,10.5225,-4.19776,-6.18032 --10.7952,0.805282,0.46217,3,7,0,13.4372,1.14879,0.287348,0.711027,0.184917,2.66259,-1.00111,1.37446,-0.0798743,0.914589,0.683825,1.35311,1.20193,1.91388,0.861129,1.54374,1.12584,1.4116,1.34529,-5.20489,-3.45259,-3.73869,-3.47256,-3.15611,-3.3169,-4.5974,-3.9845,-8.49392,-16.2927,-5.07667,4.59389,-3.97989,7.01754,9.34203,-19.5914 --6.32011,0.999079,0.46217,3,7,0,14.5542,5.53761,1.56401,-1.91056,-0.0210893,0.624783,0.00580571,-0.119362,0.673737,1.01131,1.12643,2.54947,5.50462,6.51477,5.54669,5.35092,6.59134,7.11931,7.29936,-5.06639,-3.25266,-3.86835,-3.32556,-3.36514,-3.44602,-3.81347,-3.84341,-2.62341,2.9465,17.8381,-0.857481,2.88807,5.97503,11.6332,-1.55929 --8.53852,0.904992,0.46217,3,7,0,13.261,4.29683,1.06624,-2.6201,0.679078,-0.124937,0.555027,-1.37307,0.19606,-0.237685,-0.91549,1.50318,5.02088,4.16361,4.88861,2.83281,4.50587,4.0434,3.3207,-5.18717,-3.2659,-3.79176,-3.33526,-3.20684,-3.36762,-4.19546,-3.92556,8.23124,9.078,9.31249,7.35691,9.35974,17.2432,0.704378,3.85897 --4.40555,0.862882,0.46217,3,7,0,12.584,3.0746,10.3847,0.971565,-0.83172,-0.736302,1.25934,-0.578285,-0.679113,1.01161,0.0412502,13.164,-5.56257,-4.57168,16.1524,-2.93072,-3.97779,13.5799,3.50297,-4.11611,-4.14124,-3.69635,-3.66298,-3.13917,-3.41922,-3.31921,-3.92073,24.6964,-25.5358,27.0782,5.88183,-19.4171,-13.4726,0.442733,-10.0769 --5.62128,0.259111,0.46217,3,7,0,10.6738,4.90781,2.9982,1.32892,-1.67942,-0.499953,0.76405,-1.05738,-0.102326,1.12096,-0.488645,8.8922,-0.127441,3.40885,7.19859,1.73758,4.60102,8.26867,3.44276,-4.43834,-3.5518,-3.77175,-3.317,-3.16242,-3.37042,-3.69502,-3.92231,-13.6739,-12.0385,12.9631,7.09306,14.9653,17.5455,7.79751,-21.0316 --6.53545,0.973673,0.46217,3,7,0,9.40682,6.41411,4.40845,1.61826,-1.16495,-0.344243,1.43154,0.99724,0.300717,1.24926,0.0933536,13.5481,1.27849,4.89653,12.725,10.8104,7.73981,11.9214,6.82565,-4.09111,-3.44742,-3.81331,-3.45227,-3.97718,-3.50454,-3.40627,-3.85063,10.4204,-6.22751,-9.84192,11.3283,-1.11966,-0.960868,17.2021,-36.564 --5.2089,0.900637,0.46217,3,7,0,10.5281,5.13565,2.39314,1.68133,-0.987582,-0.110971,1.21732,0.682139,-0.101388,0.275844,0.538358,9.15931,2.77222,4.87008,8.04886,6.7681,4.89301,5.79578,6.42401,-4.41581,-3.35817,-3.8125,-3.32138,-3.48865,-3.37946,-3.96624,-3.85729,43.4582,7.30419,7.95091,-20.7749,1.46219,13.9813,-9.16407,27.3731 --4.54572,0.915197,0.46217,3,7,0,9.77963,4.69327,6.48908,-0.189,1.0204,0.459298,-0.379173,-1.43594,-0.620029,0.0455571,-0.644034,3.46684,11.3147,7.67369,2.23279,-4.62463,0.669856,4.98889,0.514084,-4.96449,-3.27646,-3.91404,-3.41074,-3.19726,-3.31728,-4.06797,-4.0129,11.9852,10.8632,-4.09185,-13.0061,-18.2204,16.9695,0.607818,27.6236 --9.88416,0.592495,0.46217,3,7,0,12.0366,4.64976,0.5805,1.47341,1.05849,-0.750004,0.373884,-1.41962,0.700752,2.28699,1.22017,5.50507,5.26421,4.21438,4.8668,3.82567,5.05655,5.97736,5.35807,-4.75148,-3.25895,-3.79318,-3.33564,-3.25991,-3.38483,-3.94424,-3.87739,0.0240778,6.0942,5.95611,1.91201,5.14696,22.5652,-1.06706,21.8846 --4.94821,0.987908,0.46217,3,7,0,12.0512,2.81165,4.66869,1.05508,1.43722,-1.28931,0.833914,-0.946629,-0.254413,1.10439,0.863679,7.73746,9.52159,-3.20776,6.70493,-1.60787,1.62387,7.9677,6.84389,-4.53937,-3.2331,-3.69161,-3.31719,-3.11844,-3.31844,-3.72476,-3.85034,9.96262,18.1838,-6.58098,12.9699,-3.91269,5.43532,12.6471,25.1148 --9.4574,1,0.46217,3,7,0,13.5529,4.52493,0.182446,-0.598855,-2.10002,1.11638,-1.31291,0.522403,-0.118613,-0.0217656,-1.12199,4.41567,4.14179,4.72861,4.28539,4.62024,4.50329,4.52096,4.32023,-4.86303,-3.29595,-3.80819,-3.34728,-3.31115,-3.36755,-4.12995,-3.90033,18.3734,0.724843,32.0409,-10.2312,2.02477,11.6806,-7.77274,-6.36391 --11.0485,0.964993,0.46217,3,7,0,15.5843,2.8773,7.23662,0.0863799,3.27298,-0.781858,-0.706072,-0.354567,-1.32938,0.0496954,0.238897,3.5024,26.5626,-2.7807,-2.23227,0.311438,-6.74294,3.23693,4.60611,-4.96062,-4.94438,-3.69162,-3.66904,-3.12678,-3.56457,-4.31126,-3.89368,25.1066,13.6888,5.45835,12.9153,15.4178,-11.7431,9.18342,-14.7722 --6.8601,0.651986,0.46217,3,7,0,13.5946,5.49526,2.23174,0.22219,2.45933,-0.888119,-0.153948,-0.296518,-1.28379,0.748142,0.646239,5.99113,10.9838,3.51321,5.15169,4.83351,2.63017,7.16492,6.9375,-4.70341,-3.26604,-3.77438,-3.33095,-3.32622,-3.32782,-3.80852,-3.84886,5.20312,1.91847,0.597056,3.9036,20.583,7.86132,3.69793,1.65579 --6.21279,0.979432,0.46217,3,7,0,11.9171,2.31566,2.95882,0.0596616,-0.919733,1.14434,0.761931,0.747305,1.39063,-0.365664,-0.772997,2.49219,-0.405667,5.70156,4.57008,4.52681,6.43031,1.23373,0.0285002,-5.07287,-3.5748,-3.83941,-3.34123,-3.30472,-3.43869,-4.62706,-4.03048,-9.79439,12.7486,17.0574,20.1992,10.2852,-2.59044,3.94728,29.242 --6.8071,0.754298,0.46217,3,7,0,19.1811,6.84017,0.278445,-0.285074,1.74735,-0.176201,-0.262214,0.175479,0.454829,0.843529,0.527123,6.76079,7.32671,6.79111,6.76716,6.88903,6.96682,7.07505,6.98695,-4.62944,-3.22379,-3.87877,-3.31706,-3.50034,-3.46395,-3.8183,-3.84809,10.3061,18.8311,21.0057,2.99174,-1.98615,23.7373,13.2917,-9.06463 --5.16832,0.924665,0.46217,3,7,0,14.6396,2.3879,0.608939,0.718618,-1.30711,0.118229,0.507662,0.0154379,-0.348057,0.30192,-0.230781,2.82549,1.59194,2.45989,2.69703,2.3973,2.17595,2.57175,2.24736,-5.03534,-3.42684,-3.74975,-3.39334,-3.18741,-3.32255,-4.41168,-3.95609,-4.27104,-4.17259,20.2535,8.56759,21.923,-1.9241,19.7861,-4.63613 --7.70471,0.958654,0.46217,3,7,0,9.13689,0.376566,0.391139,-0.0675597,-1.56897,0.876679,-0.519354,0.076215,1.24529,0.475617,-0.464777,0.350141,-0.237118,0.71947,0.173426,0.406377,0.863649,0.562599,0.194773,-5.32591,-3.56077,-3.71855,-3.5094,-3.12837,-3.31691,-4.74184,-4.02438,2.85496,15.3325,-22.5383,10.6176,-2.18148,-3.18684,-0.165636,31.7357 --7.43935,0.988148,0.46217,3,15,0,11.9173,1.98559,0.727436,-2.11951,0.4383,1.04245,0.526567,-0.649333,-0.0780418,-0.630411,-0.213856,0.443785,2.30443,2.74391,2.36864,1.51325,1.92882,1.52701,1.83003,-5.31442,-3.38372,-3.75597,-3.40547,-3.15515,-3.3204,-4.57832,-3.96892,-20.0803,-3.58776,3.74268,10.3285,20.7162,-2.75634,21.8197,-14.53 --9.75641,0.873275,0.46217,3,7,0,14.6774,8.63225,10.0619,2.81465,0.21959,-1.06699,-0.108116,0.432249,0.231833,1.93952,0.284587,36.9529,10.8417,-2.10363,7.5444,12.9815,10.9649,28.1475,11.4957,-3.80511,-3.2619,-3.6931,-3.31806,-4.32284,-3.72716,-3.73638,-3.8097,37.9281,21.7472,22.7434,-6.14951,12.3143,-6.3092,44.7001,22.3025 --9.75641,0.0330755,0.46217,3,7,0,17.0946,8.63225,10.0619,2.81465,0.21959,-1.06699,-0.108116,0.432249,0.231833,1.93952,0.284587,36.9529,10.8417,-2.10363,7.5444,12.9815,10.9649,28.1475,11.4957,-3.80511,-3.2619,-3.6931,-3.31806,-4.32284,-3.72716,-3.73638,-3.8097,47.3834,20.6809,-5.56789,-0.444512,10.3695,16.3009,29.5563,-0.851426 --6.53858,0.749103,0.46217,3,7,0,13.7473,4.87875,2.29593,1.83634,0.192651,-1.41935,0.526646,-0.767188,-0.324352,0.626055,1.78423,9.09488,5.32107,1.62001,6.0879,3.11734,4.13406,6.31613,8.97522,-4.42122,-3.25741,-3.73322,-3.32027,-3.22081,-3.35742,-3.90409,-3.82343,13.8197,18.3015,-7.69709,-3.95872,-2.68137,1.92275,4.56709,-15.0912 --4.98629,0.999141,0.46217,3,7,0,8.64404,3.83546,7.51862,0.193637,-1.20917,-0.182116,-0.176505,0.113866,-0.399223,-0.355878,-0.949053,5.29134,-5.2558,2.4662,2.50838,4.69157,0.833854,1.15975,-3.30011,-4.77295,-4.1001,-3.74989,-3.4002,-3.31613,-3.31695,-4.63949,-4.17057,-3.8968,-27.3179,23.3439,2.14408,-4.67837,-11.4248,4.19165,1.90724 --7.62911,0.630306,0.46217,3,7,0,12.4205,3.02303,1.13253,1.32969,-0.685084,0.332909,-0.875794,-1.51883,-0.593475,-0.654073,1.73002,4.52895,2.24716,3.40006,2.03117,1.30291,2.35091,2.28228,4.98233,-4.85119,-3.387,-3.77153,-3.41886,-3.1489,-3.32437,-4.45676,-3.88531,-20.1021,1.09477,-5.67644,-2.79772,13.4696,11.0857,11.9171,25.2412 --9.63933,0.97145,0.46217,3,15,0,13.296,11.8549,0.175385,-0.43626,-0.765014,-0.85647,0.506706,-0.115913,0.213847,0.64408,-1.48327,11.7784,11.7207,11.7047,11.9438,11.8346,11.8924,11.9679,11.5947,-4.21175,-3.29074,-4.11385,-3.41783,-4.13299,-3.8071,-3.40346,-3.80956,27.8671,10.3545,30.2549,-12.9802,21.8548,-10.4223,5.04628,-14.9722 --8.70272,0.988436,0.46217,3,7,0,12.7169,9.66706,0.0697988,0.285259,0.804722,-0.463068,-0.00680156,0.00860104,-0.218511,0.974603,-1.21423,9.68697,9.72323,9.63474,9.66659,9.66766,9.65181,9.73509,9.58231,-4.37225,-3.23637,-4.00332,-3.34622,-3.81863,-3.62615,-3.56307,-3.81833,6.34493,-3.89035,-5.45454,-8.58035,-4.98234,11.9311,17.3581,4.34894 -# -# Elapsed Time: 0.062 seconds (Warm-up) -# 0.032 seconds (Sampling) -# 0.094 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/eight_schools_output4.csv b/arviz/tests/saved_models/cmdstan/eight_schools_output4.csv deleted file mode 100644 index 2b7fc6e8ab..0000000000 --- a/arviz/tests/saved_models/cmdstan/eight_schools_output4.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = eight_schools_nc_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = eight_schools.data.R -# init = 2 (Default) -# random -# seed = 779853166 -# output -# file = eight_schools_output4.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,theta_tilde.1,theta_tilde.2,theta_tilde.3,theta_tilde.4,theta_tilde.5,theta_tilde.6,theta_tilde.7,theta_tilde.8,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 -# Adaptation terminated -# Step size = 0.456636 -# Diagonal elements of inverse mass matrix: -# 10.1102, 1.42981, 1.03112, 0.70849, 0.910414, 0.922521, 0.649671, 0.763596, 1.19991, 0.953491 --6.21317,0.913029,0.456636,3,15,0,10.3671,1.08613,1.78064,0.334339,1.50267,0.782869,-1.34781,0.449765,0.371238,0.564256,-0.877969,1.68147,3.76184,2.48014,-1.31385,1.887,1.74717,2.09087,-0.47722,-5.16624,-3.31133,-3.75018,-3.60245,-3.16761,-3.31914,-4.48703,-4.04956,-12.8345,-18.1999,3.53722,-6.34161,5.69343,-1.1517,8.85626,-2.71599 --5.7865,0.992573,0.456636,3,15,0,10.3899,6.45462,2.09506,0.019801,-1.94259,0.86102,0.0932077,0.304059,0.699157,-0.133078,0.645031,6.4961,2.38478,8.25851,6.6499,7.09164,7.9194,6.17581,7.806,-4.65458,-3.37918,-3.93909,-3.31734,-3.52033,-3.51468,-3.92058,-3.83645,0.9365,6.73732,0.619372,0.861924,12.2414,8.05304,-19.9803,-11.8405 --3.37893,0.9726,0.456636,3,7,0,8.77356,2.85023,3.11002,0.39489,0.486493,-0.537914,0.463873,-0.942135,-0.585809,0.866742,-0.646922,4.07835,4.36324,1.17731,4.29289,-0.0798206,1.02836,5.54582,0.838297,-4.89865,-3.28765,-3.72561,-3.34712,-3.12139,-3.31684,-3.99706,-4.00157,-8.37139,1.16273,-30.0728,10.9724,-5.24862,-8.4415,6.84324,-5.79433 --4.73967,0.925921,0.456636,3,7,0,8.41528,8.72754,2.63888,0.010251,0.101557,-0.954992,-1.24924,0.352527,0.307916,0.165984,-0.53937,8.75459,8.99554,6.20743,5.43094,9.65781,9.54009,9.16555,7.30421,-4.45007,-3.22648,-3.85711,-3.32701,-3.81733,-3.61821,-3.61176,-3.84334,-0.72591,-1.63592,19.786,-5.69232,8.36524,19.9039,17.866,-5.93515 --6.22336,0.982781,0.456636,3,7,0,8.43994,2.80061,1.04443,-0.615193,1.04975,-0.536905,0.900958,1.40663,0.279291,0.220996,1.14004,2.15808,3.897,2.23985,3.74159,4.26974,3.09231,3.03142,3.9913,-5.111,-3.3057,-3.74515,-3.36071,-3.28758,-3.33492,-4.34182,-3.90829,-16.1068,-0.646218,13.4301,12.9246,-2.58308,6.19708,2.28717,33.8309 --4.21866,0.987395,0.456636,3,7,0,8.19288,3.7749,1.3864,-0.910513,0.148894,-0.242634,-0.366672,0.430598,0.548708,0.66131,0.83277,2.51257,3.98133,3.43851,3.26655,4.37189,4.53563,4.69175,4.92946,-5.07057,-3.30227,-3.77249,-3.37443,-3.29429,-3.36849,-4.10707,-3.88646,14.7245,12.9862,-14.2581,-2.89379,1.04154,9.89016,-8.77971,30.0359 --2.22674,0.998269,0.456636,3,7,0,4.75535,5.30467,3.8962,0.383526,0.399796,-0.312839,-0.23741,-0.191051,0.176619,0.603417,-0.304745,6.79896,6.86235,4.08578,4.37967,4.56029,5.99281,7.6557,4.11732,-4.62584,-3.22799,-3.78959,-3.34521,-3.30701,-3.41984,-3.75655,-3.9052,7.28605,6.46538,-19.4529,3.37909,10.5553,3.54753,-1.06851,42.6761 --2.55587,0.942234,0.456636,3,7,0,4.69287,6.12735,4.70741,0.0630656,0.244074,0.374619,0.0210427,-0.506444,0.408942,0.658843,-0.428905,6.42423,7.27631,7.89083,6.22641,3.74331,8.05241,9.2288,4.10832,-4.66146,-3.22414,-3.92319,-3.31931,-3.25505,-3.52236,-3.60619,-3.90542,-8.21089,-3.01208,-14.1051,19.041,7.20677,9.44342,5.55824,25.6695 --7.57752,0.748762,0.456636,3,7,0,11.6233,2.57357,1.25312,-1.31699,0.612107,1.76588,-1.10503,0.0176355,0.262528,-1.1777,0.099294,0.923216,3.34062,4.78645,1.18883,2.59567,2.90256,1.09778,2.698,-5.25622,-3.33007,-3.80994,-3.45638,-3.19597,-3.33179,-4.64995,-3.94284,-7.8618,-6.67962,-9.48952,5.53039,3.07029,0.489824,-5.05595,18.7837 --8.12526,0.965238,0.456636,4,23,0,13.5229,9.74658,8.60809,1.77021,0.0253161,-1.65746,0.64283,-1.38766,-1.45158,1.56764,0.387152,24.9847,9.96451,-4.52101,15.2801,-2.19855,-2.74877,23.241,13.0792,-3.64719,-3.24082,-3.69605,-3.60014,-3.12503,-3.37491,-3.35886,-3.81111,32.4616,19.1809,8.65693,25.2618,-12.2091,0.442019,19.2696,19.4492 --8.12526,0.00517947,0.456636,3,7,0,13.2318,9.74658,8.60809,1.77021,0.0253161,-1.65746,0.64283,-1.38766,-1.45158,1.56764,0.387152,24.9847,9.96451,-4.52101,15.2801,-2.19855,-2.74877,23.241,13.0792,-3.64719,-3.24082,-3.69605,-3.60014,-3.12503,-3.37491,-3.35886,-3.81111,31.861,-7.996,-17.3803,34.8931,4.22768,-21.7406,31.4302,36.4946 --8.05938,0.827601,0.456636,3,7,0,11.6144,-0.983445,3.4097,-0.79489,0.156796,1.59685,-0.882606,1.1214,0.802878,-0.592446,0.318667,-3.69378,-0.448817,4.46134,-3.99286,2.8402,1.75413,-3.0035,0.103115,-5.8592,-3.57844,-3.80026,-3.81619,-3.20719,-3.31918,-5.42726,-4.02773,-49.9117,15.1193,11.813,-12.8378,-11.3053,-18.9689,21.1253,8.01985 --7.02353,0.991024,0.456636,3,15,0,12.1171,3.14448,1.2596,-0.387162,-0.839519,2.00068,-0.692238,1.29611,-0.641643,0.381699,0.0276634,2.65681,2.08702,5.66454,2.27254,4.77706,2.33627,3.62527,3.17933,-5.05427,-3.39634,-3.83816,-3.40918,-3.32218,-3.32421,-4.25469,-3.92938,31.9677,-6.27124,9.91573,4.60114,17.0798,8.59653,-1.9431,-15.5712 --10.3358,0.873961,0.456636,3,15,0,16.9005,3.91662,1.66534,-2.82305,0.406708,-0.769058,-1.345,0.45454,0.692992,1.11782,-1.37086,-0.784726,4.59392,2.63587,1.67672,4.67358,5.07069,5.77817,1.63366,-5.46823,-3.27953,-3.75356,-3.43393,-3.31486,-3.38531,-3.96839,-3.97515,-11.5877,-0.600931,-13.3318,-1.978,6.36983,13.7493,-1.36725,-5.36762 --9.26405,0.779995,0.456636,3,7,0,13.5899,6.69018,4.55604,2.30195,1.047,-0.0102584,1.41546,-1.16415,-1.06734,-0.427135,2.07012,17.178,11.4604,6.64344,13.1391,1.38625,1.82733,4.74413,16.1217,-3.88725,-3.28139,-3.87316,-3.47257,-3.15131,-3.31966,-4.10011,-3.83553,26.2406,18.5083,11.5382,0.97375,-12.8934,-6.33122,-6.43784,18.4617 --11.3473,0.956157,0.456636,3,7,0,15.7805,9.59601,1.49127,2.22516,1.45348,-0.356553,1.78266,-1.74858,0.602041,-0.547984,1.10281,12.9143,11.7635,9.0643,12.2544,6.9884,10.4938,8.77882,11.2406,-4.13272,-3.29234,-3.9758,-3.43092,-3.51008,-3.68928,-3.64667,-3.8102,-3.89625,14.6217,2.2969,6.32006,1.82172,8.95217,0.858134,29.769 --8.84105,0.475678,0.456636,3,7,0,19.3088,4.65864,0.329414,2.18626,1.42144,0.485359,-0.512372,-1.04106,0.172941,-0.255492,-1.00616,5.37882,5.12688,4.81852,4.48985,4.3157,4.7156,4.57447,4.32719,-4.76414,-3.2628,-3.81092,-3.34287,-3.29059,-3.37388,-4.12275,-3.90016,1.19909,11.1726,20.0589,2.82904,7.36774,-4.85336,18.7852,-5.00907 --8.11394,0.99225,0.456636,3,7,0,13.3844,6.84937,0.153233,0.473867,-0.614877,0.447173,0.430743,-0.594369,2.08108,0.223871,0.357253,6.92198,6.75515,6.91789,6.91538,6.75829,7.16826,6.88368,6.90411,-4.61428,-3.22927,-3.88365,-3.31686,-3.48771,-3.47405,-3.83939,-3.84938,13.8102,22.7969,-19.9481,1.62794,8.05177,15.0976,-2.00784,-15.3387 --9.8294,0.510876,0.456636,3,7,0,14.9243,-1.4472,3.83139,0.407715,0.463989,2.25392,-0.0959977,-1.47936,1.31171,-0.686333,0.822924,0.114917,0.330521,7.18845,-1.815,-7.1152,3.57845,-4.0768,1.70574,-5.35494,-3.51563,-3.89427,-3.63793,-3.347,-3.34431,-5.65845,-3.97285,-22.5128,14.3441,2.48498,-8.96517,8.57932,-3.18191,12.1953,-9.75281 --10.5903,0.932416,0.456636,3,7,0,15.4118,-0.481306,2.4261,0.279389,0.856453,2.43403,0.411178,-1.24847,1.73726,1.22203,1.51284,0.19652,1.59653,5.42389,0.516254,-3.51023,3.73347,2.48346,3.18899,-5.34484,-3.42655,-3.83012,-3.49055,-3.15506,-3.34771,-4.42534,-3.92912,-20.0696,4.3349,16.5155,6.23697,3.39754,23.5738,5.52859,-30.904 --4.95983,0.918848,0.456636,2,3,0,12.461,3.00723,3.95063,0.0814956,1.18886,1.30315,0.194336,-1.01851,1.04329,0.40659,0.611966,3.32919,7.70397,8.15549,3.77498,-1.01651,7.12886,4.61352,5.42488,-4.97954,-3.22196,-3.93458,-3.35981,-3.11616,-3.47205,-4.11751,-3.87603,-6.75458,23.3994,9.81102,8.48262,5.68393,20.1909,-10.826,10.1981 --4.17044,0.917354,0.456636,3,7,0,10.7636,3.58663,6.08131,0.973072,-0.767879,-0.0936751,0.278367,0.777208,-1.11941,0.744067,-0.641808,9.50418,-1.08309,3.01696,5.27946,8.31307,-3.22085,8.11153,-0.316409,-4.3872,-3.63404,-3.76224,-3.32907,-3.65155,-3.39045,-3.71043,-4.04341,13.133,6.11776,22.7222,8.47785,15.958,-0.0612515,14.2821,-34.9369 --8.74569,0.818107,0.456636,3,7,0,12.3408,8.43871,0.442672,-1.8755,0.537517,0.673596,-0.904076,-0.660235,0.409133,-1.27756,-0.836007,7.60847,8.67665,8.73689,8.0385,8.14644,8.61982,7.87317,8.06863,-4.55102,-3.22381,-3.96058,-3.32129,-3.63257,-3.55676,-3.73429,-3.83316,-3.24462,17.6147,9.12196,-2.92485,3.82403,6.38301,4.55468,-19.6464 --6.07163,0.995923,0.456636,3,7,0,11.5348,8.34507,0.531581,0.120369,-0.183426,0.255987,1.37769,-0.655219,-0.330094,0.78895,0.57473,8.40905,8.24756,8.48115,9.07742,7.99677,8.1696,8.76446,8.65058,-4.47989,-3.22183,-3.94898,-3.33467,-3.6158,-3.52924,-3.648,-3.82662,-10.3694,11.9259,17.7953,-15.9843,-1.38059,15.0517,7.88726,-4.5378 --4.13884,0.94197,0.456636,3,7,0,11.0236,1.68207,8.96762,0.229444,0.963134,-0.251487,-1.02894,0.370165,0.285002,0.591178,-0.437683,3.73964,10.3191,-0.573173,-7.54503,5.00157,4.23786,6.98353,-2.24291,-4.93491,-3.24841,-3.70303,-4.19104,-3.3385,-3.36015,-3.82834,-4.12237,-17.8844,-3.73174,4.09696,-2.52604,11.2626,-8.73591,5.02056,-20.7918 --8.57354,0.720566,0.456636,3,7,0,10.4032,1.99272,1.78707,1.42161,0.61284,0.459052,2.56758,-1.16932,-0.450979,1.02615,1.0184,4.53325,3.08791,2.81308,6.58117,-0.0969368,1.18679,3.82653,3.81268,-4.85074,-3.34217,-3.75753,-3.31756,-3.1212,-3.31698,-4.22596,-3.91276,6.97449,19.7097,-20.0271,33.0922,-2.50853,-5.98898,8.62745,7.94511 --8.271,0.906116,0.456636,3,7,0,14.1135,4.04267,2.71145,-0.665121,1.59252,-0.77842,2.27475,-0.66232,0.199443,0.627221,1.6828,2.23923,8.36071,1.93202,10.2105,2.24682,4.58345,5.74334,8.6055,-5.10169,-3.22217,-3.73904,-3.35943,-3.18124,-3.3699,-3.97265,-3.82709,-32.9611,28.1824,0.477483,15.8205,-8.34927,16.6096,-1.68217,-45.1194 --7.29774,1,0.456636,3,7,0,10.0269,5.52667,1.79951,-0.752975,1.27396,-1.09827,1.7942,-0.596457,0.0984512,0.715506,1.50011,4.17169,7.81918,3.55032,8.75536,4.45334,5.70384,6.81423,8.22614,-4.88874,-3.22169,-3.77533,-3.32957,-3.29974,-3.40826,-3.84713,-3.83129,-9.43066,20.4405,-4.97303,12.4592,4.72515,1.04787,-0.0998949,44.2061 --7.31902,0.988694,0.456636,3,7,0,12.1277,5.43229,2.31661,1.34499,-0.843602,1.35342,-1.77496,-0.740989,-0.994185,0.112617,-0.976323,8.54812,3.47799,8.56765,1.32038,3.7157,3.12914,5.69318,3.17052,-4.46782,-3.32377,-3.95288,-3.45013,-3.25343,-3.33557,-3.97881,-3.92962,16.9128,20.6096,-17.5352,-13.6031,-0.610551,10.0805,2.06109,-25.7168 --5.40544,0.998848,0.456636,3,7,0,10.153,2.43559,6.36998,0.134314,-0.0831011,-1.06103,0.462963,1.15441,0.869626,0.766049,1.4877,3.29117,1.90624,-4.32316,5.38466,9.78915,7.9751,7.31531,11.9122,-4.98371,-3.40719,-3.69495,-3.32762,-3.83472,-3.51788,-3.79234,-3.80932,20.2231,9.61196,23.6285,-20.223,25.9662,6.40394,-1.40661,-15.7185 --5.48885,0.955928,0.456636,3,15,0,9.33263,7.13507,4.73822,0.968401,-0.313163,0.141405,-0.493469,-1.77155,-0.854932,0.129357,-1.52272,11.7236,5.65124,7.80508,4.79691,-1.25894,3.08422,7.74799,-0.0799076,-4.2157,-3.24911,-3.91955,-3.33689,-3.11658,-3.33478,-3.74704,-4.0345,28.6759,-1.69341,10.4159,8.95939,-16.5821,-1.25983,6.89966,10.87 --5.86188,0.926885,0.456636,3,7,0,9.33918,7.99768,6.47529,-0.716018,0.174528,-1.46995,0.174815,0.0135994,0.0189,0.610721,1.75913,3.36125,9.1278,-1.5207,9.12965,8.08574,8.12006,11.9523,19.3885,-4.97603,-3.22788,-3.6958,-3.33558,-3.62573,-3.52632,-3.4044,-3.89355,-0.189326,17.1968,-14.3101,16.9145,4.26338,17.0183,15.9407,10.5268 --6.80852,0.952409,0.456636,3,7,0,10.3432,6.87561,3.70418,-0.520912,-0.0503715,-2.35646,-0.0814877,-0.100916,0.312754,1.12206,1.51446,4.94606,6.68903,-1.85316,6.57377,6.5018,8.03411,11.0319,12.4855,-4.80806,-3.23012,-3.6941,-3.31758,-3.46355,-3.52129,-3.46429,-3.80967,29.4588,26.0251,4.86307,15.3349,-6.69811,-13.0317,7.21573,-5.5199 --5.58648,1,0.456636,3,7,0,9.36094,2.37555,2.75535,0.485206,-0.605244,2.07925,0.102836,0.538229,0.361445,0.0210577,-0.420413,3.71246,0.70789,8.10462,2.6589,3.85856,3.37146,2.43357,1.21716,-4.93784,-3.4874,-3.93237,-3.39471,-3.26188,-3.34007,-4.43309,-3.98874,12.8605,11.3052,-15.987,-8.16819,2.55632,-16.4482,-2.81275,-17.9481 --8.63655,0.864909,0.456636,3,7,0,11.9249,4.84969,0.676516,0.394135,1.15046,-2.69325,0.283587,-0.663488,-0.271641,1.21657,0.0572236,5.11633,5.62799,3.02766,5.04154,4.40083,4.66592,5.67272,4.8884,-4.79068,-3.24966,-3.76249,-3.33268,-3.29622,-3.37237,-3.98133,-3.88736,8.01191,5.46837,-26.2112,1.81537,-0.675478,-3.04905,-5.90899,-20.8481 --5.48166,1,0.456636,3,7,0,11.1432,4.32359,1.82052,-1.83202,0.564869,0.641971,-0.737458,-0.194043,-0.524876,0.0816275,0.393323,0.988367,5.35194,5.49231,2.98103,3.97033,3.36804,4.47219,5.03964,-5.24838,-3.25658,-3.83239,-3.38358,-3.26866,-3.34001,-4.13653,-3.88407,7.12177,15.3495,13.7756,-18.0531,18.2363,3.24068,9.29255,14.9991 --9.51355,0.881882,0.456636,3,7,0,13.501,7.7701,2.0672,-0.369756,1.03316,2.99652,1.075,0.324305,0.245961,0.27403,-0.639341,7.00574,9.90585,13.9645,9.99233,8.4405,8.27855,8.33657,6.44845,-4.60645,-3.23968,-4.25363,-3.35383,-3.66631,-3.53575,-3.68843,-3.85687,23.8757,-8.18152,37.2645,7.99214,1.97602,27.7083,18.106,7.24838 --9.41672,0.994003,0.456636,3,15,0,13.4199,1.61335,0.788759,0.561228,-0.844452,-2.78948,-0.678492,1.07722,0.411558,-0.268016,0.724727,2.05603,0.947283,-0.586873,1.07819,2.46302,1.93797,1.40195,2.18499,-5.12274,-3.47023,-3.7029,-3.46174,-3.19019,-3.32047,-4.599,-3.95797,22.6063,-3.73646,7.37548,24.8699,-22.9228,-3.19241,-20.3476,-9.82027 --6.8322,0.999249,0.456636,3,7,0,12.8199,4.18736,0.923923,0.126467,1.08851,-0.917096,-0.888094,0.662432,-0.0691366,1.05716,1.80147,4.30421,5.19307,3.34004,3.36683,4.7994,4.12349,5.1641,5.85178,-4.87475,-3.26092,-3.77004,-3.37138,-3.32377,-3.35715,-4.04533,-3.86764,-1.74227,6.12817,-6.03605,17.3922,9.1282,19.1665,-0.530344,15.4738 --8.71659,0.556687,0.456636,2,7,0,17.5168,2.67645,0.126194,-1.11785,1.43906,1.20997,-0.0389737,0.0932027,1.28948,0.500897,-0.261339,2.53538,2.85805,2.82914,2.67153,2.68821,2.83917,2.73966,2.64347,-5.06798,-3.35372,-3.75789,-3.39425,-3.20013,-3.33081,-4.38591,-3.94441,-11.838,6.22948,-8.20008,25.389,15.2124,-1.47148,9.01033,-3.7756 --10.4066,0.708742,0.456636,2,7,0,14.3733,5.35137,0.0314722,-1.43596,0.391006,0.441306,0.666621,0.960322,1.84393,-0.581992,0.421619,5.30618,5.36368,5.36526,5.37235,5.3816,5.4094,5.33306,5.36464,-4.77145,-3.25627,-3.8282,-3.32778,-3.36755,-3.39718,-4.02378,-3.87725,18.3296,14.8445,-24.1621,8.69889,7.52143,-4.14359,6.53254,6.46828 --12.5458,0.936402,0.456636,3,7,0,16.6763,2.63972,0.0197178,1.17781,-0.964162,-0.153485,2.08197,0.519088,0.770023,-0.217626,-1.77044,2.66295,2.62071,2.6367,2.68078,2.64996,2.65491,2.63543,2.60482,-5.05358,-3.36621,-3.75358,-3.39392,-3.1984,-3.32815,-4.40187,-3.94553,-18.9938,2.6561,-6.83048,7.60521,11.6525,-11.0364,2.67788,-25.1716 --9.97159,0.998873,0.456636,3,7,0,16.2694,7.15701,0.0755942,-0.343235,0.550545,-1.91296,-1.16067,1.44539,0.170084,-0.50571,0.424746,7.13106,7.19863,7.0124,7.06927,7.26627,7.16987,7.11878,7.18912,-4.59479,-3.22473,-3.88732,-3.31685,-3.53796,-3.47414,-3.81353,-3.84503,-19.0396,16.3824,8.48433,17.5263,6.42247,-2.71379,17.2492,-33.8147 --10.0907,0.985518,0.456636,3,7,0,14.3448,8.24013,0.0639317,-0.684014,0.120486,-0.988289,-1.59003,1.48052,-0.058179,-0.63072,0.794363,8.1964,8.24783,8.17695,8.13848,8.33478,8.23641,8.19981,8.29092,-4.49851,-3.22183,-3.93552,-3.32219,-3.65405,-3.53322,-3.70174,-3.83054,-3.456,19.1093,-21.7211,14.7249,15.8063,2.30415,3.58529,-9.17121 --8.33718,0.539319,0.456636,2,7,0,16.6423,4.01139,0.226713,1.15472,0.0912632,0.49727,-0.437786,1.43282,1.23444,0.549931,1.38458,4.27318,4.03208,4.12413,3.91214,4.33623,4.29125,4.13607,4.3253,-4.87802,-3.30025,-3.79065,-3.35623,-3.29194,-3.3616,-4.18257,-3.90021,12.6651,2.37562,6.84277,7.12948,9.14619,-10.0771,-3.03433,-20.1583 --6.90326,0.888145,0.456636,3,7,0,10.9941,4.18641,0.196739,-0.1291,-0.279637,0.736811,-0.825459,1.3007,0.777873,0.755457,-0.433131,4.16102,4.1314,4.33137,4.02401,4.44231,4.33945,4.33504,4.1012,-4.88987,-3.29635,-3.79651,-3.35343,-3.29899,-3.36292,-4.15518,-3.90559,30.6065,7.33272,-32.3121,11.0267,2.21382,-2.05546,4.36023,-42.1672 --7.82436,0.95741,0.456636,3,7,0,12.2554,2.97464,1.0508,1.54233,-0.210534,-1.95412,0.223989,0.116066,0.642665,0.569917,-1.63493,4.59532,2.75341,0.921243,3.21001,3.0966,3.64995,3.57351,1.25665,-4.84428,-3.35916,-3.72156,-3.37619,-3.21976,-3.34585,-4.26214,-3.98743,9.3759,1.09613,-33.0897,-17.5727,-6.50514,14.957,5.80366,-4.90069 --6.70505,0.982339,0.456636,3,7,0,13.403,5.01434,2.68998,-1.19547,0.453871,1.51514,-0.13262,-0.482158,-0.992994,-0.143603,1.70093,1.79854,6.23524,9.09004,4.65759,3.71734,2.3432,4.62805,9.58982,-5.15258,-3.2371,-3.97701,-3.33951,-3.25353,-3.32429,-4.11557,-3.81827,18.277,-3.44574,16.8838,-2.97622,-5.34792,10.1533,22.8051,13.486 --7.20793,0.99086,0.456636,3,7,0,8.64661,2.12561,5.84603,2.05061,0.231983,-1.63379,0.410439,0.615894,0.742122,1.35035,-1.56413,14.1135,3.48179,-7.42559,4.52505,5.72615,6.46408,10.0198,-7.01835,-4.05551,-3.32359,-3.72978,-3.34215,-3.39543,-3.44021,-3.53994,-4.36749,8.98463,-5.42517,-15.9273,3.99468,12.3826,-1.22331,-4.07439,16.6984 --6.55982,0.946698,0.456636,3,7,0,12.1689,0.475964,4.86969,1.56794,-0.0756385,-1.25691,1.29397,0.422006,0.910754,0.487324,-1.39888,8.11135,0.107628,-5.6448,6.77717,2.531,4.91105,2.84908,-6.33615,-4.50601,-3.53297,-3.70519,-3.31704,-3.19313,-3.38004,-4.36928,-4.32816,-27.788,14.0757,-29.2499,-3.98353,-10.2768,-3.11926,-3.10389,-18.878 --6.5856,0.905432,0.456636,3,7,0,11.2287,-0.268968,3.38779,1.13323,0.602258,-1.03239,1.65291,0.568123,-0.911946,1.58129,-0.438539,3.5702,1.77136,-3.7665,5.33076,1.65572,-3.35845,5.08811,-1.75465,-4.95325,-3.4155,-3.69267,-3.32835,-3.1597,-3.39533,-4.05511,-4.10127,43.1141,-2.01164,9.85851,13.1383,19.827,5.81779,6.73942,20.3852 --8.33186,0.995284,0.456636,3,7,0,10.0843,10.2483,3.24626,-1.0455,-0.12845,1.16293,-1.76354,-0.870204,0.0744517,-1.1275,0.617874,6.85434,9.83131,14.0235,4.5234,7.42339,10.49,6.58814,12.2541,-4.62063,-3.23829,-4.25754,-3.34218,-3.55415,-3.68898,-3.87268,-3.80941,8.53083,-6.77138,20.1777,-3.69262,14.6998,29.886,5.65543,-17.0468 --8.33186,0.0240014,0.456636,3,7,0,19.3148,10.2483,3.24626,-1.0455,-0.12845,1.16293,-1.76354,-0.870204,0.0744517,-1.1275,0.617874,6.85434,9.83131,14.0235,4.5234,7.42339,10.49,6.58814,12.2541,-4.62063,-3.23829,-4.25754,-3.34218,-3.55415,-3.68898,-3.87268,-3.80941,6.99211,12.485,4.13612,5.50813,-6.55685,13.0625,5.47714,24.5733 --6.47499,0.998092,0.456636,3,7,0,11.2254,12.5345,3.7612,-0.00534589,0.0202393,0.66721,-0.817405,-1.13276,-1.17154,0.6726,-0.167419,12.5144,12.6107,15.044,9.46011,8.27398,8.12814,15.0643,11.9048,-4.15988,-3.32781,-4.32744,-3.34184,-3.64707,-3.52679,-3.26461,-3.80932,-8.45558,-0.797856,24.8118,-1.50943,9.05703,9.37052,23.8169,7.89357 --5.61697,0.969959,0.456636,3,7,0,11.2332,8.66251,3.56991,0.28489,0.690406,0.753572,-0.110334,-1.60139,-1.46998,1.0051,0.292353,9.67954,11.1272,11.3527,8.26862,2.9457,3.41482,12.2506,9.70618,-4.37285,-3.27042,-4.09387,-3.32348,-3.21227,-3.34093,-3.3868,-3.81743,1.35594,12.7355,2.79506,3.3448,15.3482,11.2147,18.1274,2.00499 --5.97363,0.94889,0.456636,3,15,0,10.6572,1.24197,3.86494,0.820527,-0.189258,-0.877865,0.344408,1.52888,1.56772,0.843443,-0.0665951,4.41325,0.510496,-2.15093,2.57308,7.15099,7.30109,4.50183,0.98458,-4.86329,-3.50199,-3.69294,-3.39782,-3.52628,-3.4809,-4.13253,-3.99656,-13.3504,10.4569,0.334436,4.42808,-4.31341,-9.58982,15.3529,3.73318 --4.58541,0.979036,0.456636,3,7,0,8.19428,3.05544,3.78531,1.0594,0.355216,-0.673538,-0.941669,0.793402,1.00571,1.19677,0.376488,7.06558,4.40004,0.505887,-0.509073,6.05871,6.86237,7.58559,4.48056,-4.60088,-3.28632,-3.71553,-3.54983,-3.42373,-3.45885,-3.76382,-3.89657,26.9873,-8.45357,8.92574,-0.187169,-5.90427,2.2778,11.559,-5.70399 --3.44911,0.976629,0.456636,3,7,0,7.31899,5.39419,6.37362,-0.326016,-0.335016,-1.07073,0.548053,-0.364847,-0.261502,0.169429,-0.792226,3.31629,3.25892,-1.43026,8.88727,3.06879,3.72747,6.47406,0.344838,-4.98096,-3.33391,-3.69634,-3.33155,-3.21835,-3.34757,-3.88576,-4.01894,3.4427,5.96169,26.5855,10.7871,-12.7998,-9.63031,9.4679,8.86199 --8.3569,0.797367,0.456636,3,7,0,11.5751,3.87994,2.23409,1.06817,2.53791,0.81644,-1.4061,-0.42576,0.163211,0.934418,-1.11041,6.26634,9.54986,5.70394,0.738606,2.92876,4.24457,5.96751,1.39919,-4.67666,-3.23353,-3.83949,-3.47884,-3.21144,-3.36033,-3.94543,-3.98273,4.86931,7.2764,-8.91829,15.0005,9.71552,8.9979,9.59246,-22.7621 --7.89327,0.988489,0.456636,3,7,0,11.8464,2.31701,5.88077,-0.227183,-1.28266,-0.424435,1.02432,0.645054,-0.0584016,0.375564,2.51467,0.980999,-5.22604,-0.178995,8.34081,6.11042,1.97356,4.52561,17.1052,-5.24927,-4.09616,-3.70707,-3.32426,-3.42825,-3.32075,-4.12932,-3.84953,-6.1655,-12.9467,28.4757,9.96007,9.35922,-21.7435,-12.4772,37.7176 --7.73857,0.783769,0.456636,3,7,0,12.9625,1.61877,2.68691,1.30151,1.60677,1.03118,-0.815378,-0.799522,1.52461,1.16368,-0.996594,5.1158,5.936,4.38945,-0.572074,-0.52947,5.71526,4.74548,-1.05899,-4.79074,-3.24282,-3.79818,-3.55376,-3.11753,-3.40871,-4.09994,-4.07248,16.9809,3.933,25.8751,15.0846,17.2064,10.8474,4.9425,2.07713 --7.82492,0.977786,0.456636,3,7,0,12.0724,8.83076,2.28398,-0.642968,-1.5812,-1.10405,0.851547,0.386207,-1.57856,-0.265205,1.13437,7.36223,5.21933,6.30913,10.7757,9.71285,5.22535,8.22503,11.4216,-4.57347,-3.26018,-3.86078,-3.37574,-3.82459,-3.39061,-3.69927,-3.80983,2.82324,0.567759,9.05281,8.8209,0.557291,-14.303,19.7811,28.1747 --2.74626,0.920249,0.456636,3,7,0,11.3726,6.23382,4.05818,-0.203175,-0.535534,0.471221,0.170059,-0.576413,-0.277742,0.711688,0.0172886,5.40929,4.06053,8.14611,6.92394,3.89463,5.10669,9.12197,6.30398,-4.76108,-3.29912,-3.93418,-3.31686,-3.26405,-3.38652,-3.61562,-3.85938,-10.5394,11.6779,11.1643,10.3183,14.7036,-2.21043,3.04228,-6.85576 --6.00262,0.607179,0.456636,2,7,0,12.6358,7.405,9.61786,-0.0849869,-0.151055,1.73881,0.485319,-0.667226,-0.333649,0.693001,1.15438,6.5876,5.95217,24.1286,12.0727,0.987717,4.196,14.0702,18.5077,-4.64586,-3.24249,-5.12896,-3.42317,-3.14055,-3.35904,-3.29874,-3.87467,29.6684,10.0102,24.6405,3.60301,0.745717,-0.0909728,14.3241,45.4503 --7.01405,0.987325,0.456636,3,7,0,10.8544,3.20199,1.11077,0.259446,0.867948,-2.17294,-0.567458,0.00610083,-0.739154,-0.496085,1.12866,3.49017,4.16608,0.788346,2.57167,3.20876,2.38095,2.65095,4.45567,-4.96195,-3.29502,-3.71956,-3.39787,-3.22551,-3.32471,-4.39949,-3.89715,14.6327,1.83721,3.81955,-4.97874,17.7303,4.52316,8.90975,27.4718 --4.01511,0.8513,0.456636,3,7,0,8.78974,5.40227,2.13556,1.22258,0.28548,-0.457526,0.675583,0.210893,-0.190671,1.37669,0.182374,8.01316,6.01193,4.4252,6.84502,5.85265,4.99508,8.34228,5.79174,-4.51471,-3.24129,-3.79921,-3.31693,-3.40603,-3.38279,-3.68788,-3.86879,-9.72054,2.60498,11.2677,4.30907,4.11866,9.509,8.2128,-6.86954 --4.04865,0.666695,0.456636,2,3,0,9.38085,4.45324,0.988952,0.536189,0.807527,-0.604833,0.560717,-0.251816,0.273455,0.71845,0.135058,4.9835,5.25184,3.85509,5.00776,4.2042,4.72367,5.16375,4.5868,-4.80423,-3.25929,-3.78331,-3.33323,-3.28335,-3.37413,-4.04537,-3.89412,29.9019,15.1204,2.1367,14.5683,9.43762,28.614,15.0849,-40.6059 --3.53463,0.933254,0.456636,3,7,0,6.75733,3.60168,1.873,0.348912,-0.538827,-0.799144,-0.166174,0.056514,-0.796537,-0.182002,0.37544,4.25519,2.59245,2.10488,3.29043,3.70753,2.10976,3.26079,4.30487,-4.87991,-3.36773,-3.74243,-3.3737,-3.25296,-3.32192,-4.30775,-3.90069,-15.0764,11.994,20.009,-24.0051,24.287,12.8133,6.51667,13.7098 --8.76323,0.735739,0.456636,3,7,0,9.8247,0.570233,0.191266,-0.718878,-0.505457,-1.49827,-0.518552,0.282783,0.679376,0.276978,1.58895,0.432737,0.473557,0.283665,0.471052,0.62432,0.700175,0.62321,0.874145,-5.31578,-3.50476,-3.71259,-3.49298,-3.13245,-3.31721,-4.73129,-4.00034,-16.7054,-12.2694,-19.4633,0.895927,9.81076,11.0796,-14.2077,21.399 --9.17407,0.93901,0.456636,3,7,0,13.8104,8.63009,1.09676,1.80267,0.262699,-0.476132,2.26025,0.182519,0.229967,-0.561362,-1.28676,10.6072,8.9182,8.10788,11.109,8.83027,8.8823,8.0144,7.21881,-4.29923,-3.22574,-3.93251,-3.3866,-3.71267,-3.57357,-3.72008,-3.84459,13.7866,-7.34167,-3.54853,28.3781,28.2311,21.3781,5.72484,19.6222 --8.52039,0.55082,0.456636,3,15,0,13.7584,7.80101,1.14966,1.23707,-0.500967,-0.214204,2.5112,-0.892138,-0.610697,1.14674,-0.36919,9.22322,7.22507,7.55475,10.688,6.77535,7.09891,9.11938,7.37657,-4.41047,-3.22453,-3.90911,-3.37304,-3.48935,-3.47054,-3.61585,-3.8423,-4.97158,6.35572,9.21205,-3.80278,14.5494,-1.32404,7.32849,23.3437 --5.39747,1,0.456636,3,7,0,11.9926,3.70906,5.26965,1.92633,0.576358,-0.808907,1.78367,-0.928264,-0.102675,0.62981,0.606236,13.8601,6.74626,-0.553599,13.1084,-1.18257,3.168,7.02793,6.9037,-4.07129,-3.22938,-3.70322,-3.47102,-3.11637,-3.33626,-3.82345,-3.84939,8.80116,7.90575,0.980599,-4.89419,-4.66255,-1.30471,-8.08031,-0.416586 --7.68036,0.919442,0.456636,3,7,0,10.6638,0.0147584,3.85022,-0.430911,0.980768,1.06693,-1.3988,1.23861,-0.75846,1.26251,-0.816181,-1.64434,3.79093,4.12268,-5.37095,4.78369,-2.90548,4.87569,-3.12772,-5.57985,-3.3101,-3.79061,-3.94923,-3.32265,-3.37986,-4.08276,-4.16247,-24.2315,2.86864,5.91369,25.7866,-12.1672,-8.39157,-0.834947,1.22998 --7.87415,0.9172,0.456636,3,7,0,10.9807,8.99854,3.81395,0.778183,-1.13583,-1.16654,1.48899,-1.25906,0.809547,-0.953574,0.857885,11.9665,4.66653,4.54941,14.6775,4.19655,12.0861,5.36166,12.2705,-4.19826,-3.27708,-3.80284,-3.5604,-3.28285,-3.82469,-4.02016,-3.80942,8.176,-13.2255,8.96874,28.0282,15.9648,17.1541,13.7299,11.6123 --10,0.654789,0.456636,3,7,0,16.7913,4.63606,0.117985,1.45396,-1.00841,0.398622,-0.915896,-0.807188,-1.32591,-1.70541,-0.369533,4.8076,4.51708,4.68309,4.52799,4.54082,4.47962,4.43484,4.59246,-4.82229,-3.28218,-3.80682,-3.34209,-3.30567,-3.36687,-4.14159,-3.89399,0.997634,14.5893,-0.966485,10.9208,8.55068,3.65196,-2.10363,22.3954 --8.69808,0.989341,0.456636,3,7,0,15.6077,4.79755,1.49789,1.91943,0.0746713,0.317086,-0.378123,-1.64724,-0.380267,-2.12577,-0.651292,7.67264,4.9094,5.2725,4.23116,2.33016,4.22795,1.61338,3.82198,-4.54521,-3.26928,-3.82519,-3.34851,-3.18462,-3.35989,-4.56413,-3.91252,-9.8749,-22.5486,43.5537,3.5726,20.2953,6.57813,9.85063,14.7536 --19.3547,0.851667,0.456636,3,7,0,22.3933,1.37225,0.0588145,-1.55283,-1.28285,0.090167,1.04371,3.65079,-0.293269,2.46201,-1.10918,1.28092,1.2968,1.37756,1.43364,1.58697,1.355,1.51705,1.30702,-5.21345,-3.44619,-3.72895,-3.44487,-3.15747,-3.31735,-4.57996,-3.98576,33.2955,-12.233,10.6841,-10.964,11.5115,-3.09199,6.5773,-27.2162 --15.184,1,0.456636,3,7,0,26.1681,7.88787,0.195162,-1.43388,-2.61636,0.812126,1.58133,2.16763,-0.65696,1.19978,-1.07484,7.60803,7.37726,8.04637,8.19649,8.31091,7.75966,8.12202,7.67811,-4.55106,-3.22346,-3.92985,-3.32275,-3.65131,-3.50565,-3.7094,-3.83814,15.2404,3.2121,-4.24999,-1.07346,15.5198,13.803,3.71114,14.3736 --9.3068,0.632117,0.456636,3,7,0,20.4685,10.3856,1.2664,-0.931946,-2.39866,-0.222212,1.05974,-0.570108,0.731045,0.545294,0.708938,9.20537,7.34792,10.1042,11.7276,9.6636,11.3114,11.0761,11.2834,-4.41196,-3.22365,-4.02692,-3.40919,-3.81809,-3.75619,-3.46122,-3.8101,-18.334,23.0286,0.314579,17.3643,4.96592,3.1414,22.0671,39.6881 --8.41679,0.598174,0.456636,3,7,0,14.8797,7.92035,5.25239,-1.20234,-2.06676,-0.1094,1.59553,-0.612796,0.137746,0.284103,0.595678,1.60521,-2.9351,7.34574,16.3007,4.70171,8.64385,9.41257,11.0491,-5.17518,-3.81941,-3.90058,-3.67429,-3.31684,-3.55827,-3.59024,-3.81071,2.4721,-6.94898,5.07353,13.9369,-5.1672,15.2115,17.8662,10.5192 --8.04308,0.968218,0.456636,3,7,0,15.6819,1.85366,8.00396,1.73945,1.73267,-0.10442,-1.63646,-0.290075,-0.799328,-0.0474536,-0.606594,15.7761,15.7219,1.01789,-11.2445,-0.468083,-4.54412,1.47385,-3.00149,-3.95904,-3.51966,-3.72306,-4.6923,-3.11791,-3.44385,-4.58709,-4.1566,10.6643,17.1301,5.74765,-1.96395,3.33127,0.34014,10.5155,30.1142 --5.0631,0.985383,0.456636,3,7,0,11.9244,3.26472,2.724,1.29836,0.290813,-0.621501,-0.462964,-1.06954,0.361787,1.58544,-0.992701,6.80145,4.05689,1.57175,2.00361,0.351302,4.25023,7.58346,0.560607,-4.62561,-3.29926,-3.73235,-3.41999,-3.12743,-3.36049,-3.76405,-4.01125,-14.9346,3.80959,2.16134,13.4013,17.5563,-8.33069,-25.3285,35.5943 --4.82036,0.559449,0.456636,3,7,0,9.41413,1.46279,1.68806,0.553086,0.345583,0.244183,0.374308,0.707533,-0.606425,0.610119,1.47955,2.39644,2.04616,1.87499,2.09465,2.65716,0.439112,2.49271,3.96037,-5.08375,-3.39876,-3.73794,-3.41627,-3.19872,-3.31813,-4.4239,-3.90906,-11.5744,-8.51386,16.3732,8.51401,14.8403,6.63093,5.2821,9.07625 --7.11557,0.282693,0.456636,3,7,0,19.5553,2.0116,6.35886,1.1714,-0.253885,-0.304658,1.25066,1.39539,0.691653,0.874385,2.0598,9.46036,0.39718,0.074325,9.9644,10.8847,6.40973,7.5717,15.1096,-4.39081,-3.51054,-3.70999,-3.35315,-3.98805,-3.43776,-3.76527,-3.82423,20.3617,12.4143,3.25783,9.36904,5.01012,7.19301,8.79747,23.5595 --9.24263,0.819839,0.456636,3,7,0,15.9428,1.03137,6.61281,1.71645,-0.643188,0.0826253,2.32728,0.65736,0.941175,0.118221,1.8636,12.3819,-3.22191,1.57775,16.4212,5.37837,7.25518,1.81314,13.355,-4.16904,-3.85118,-3.73246,-3.68361,-3.3673,-3.47852,-4.5316,-3.81214,-13.6695,7.90995,18.4461,18.8852,-1.97711,12.1494,-16.9661,21.649 --8.28281,0.994395,0.456636,3,7,0,14.0062,3.16764,1.41888,-0.542727,-1.46034,-1.23176,-1.35195,0.680827,-0.950954,0.831004,-1.60106,2.39757,1.0956,1.41991,1.24939,4.13365,1.81835,4.34673,0.895935,-5.08362,-3.45988,-3.72968,-3.45348,-3.27884,-3.3196,-4.15358,-3.99959,1.02986,5.16401,8.8941,1.84146,10.6254,6.52817,-2.64624,-9.37393 --6.18576,1,0.456636,3,7,0,10.5795,8.04229,2.86071,-0.107384,-1.86819,-1.16425,-0.237767,0.435116,-0.264695,-0.746476,-0.289979,7.7351,2.69795,4.71171,7.36211,9.28704,7.28508,5.90684,7.21275,-4.53958,-3.36208,-3.80768,-3.31738,-3.76939,-3.48007,-3.95275,-3.84468,-12.1062,0.371752,-0.0838938,-6.4132,-2.77364,25.9152,5.52046,-4.34697 --3.94984,1,0.456636,3,7,0,7.12251,4.0251,1.93653,-0.415212,-1.0825,-0.295398,0.272581,-0.353525,-0.556248,0.287663,-0.7865,3.22103,1.9288,3.45305,4.55296,3.34048,2.9479,4.58216,2.50202,-4.99143,-3.40582,-3.77286,-3.34158,-3.23246,-3.33251,-4.12172,-3.94853,9.74538,-14.1261,-13.7981,-13.6946,6.50245,5.26954,1.60372,13.1057 --5.51361,0.913016,0.456636,3,7,0,7.75331,5.21244,7.80309,2.11546,0.45566,0.178956,-1.22537,-0.133385,-0.278654,0.952388,-1.15501,21.7195,8.768,6.60885,-4.34923,4.17162,3.03807,12.644,-3.80019,-3.71464,-3.22447,-3.87186,-3.84909,-3.28126,-3.334,-3.36496,-4.19457,12.2334,0.479043,-4.62609,-11.3866,-4.08598,17.9223,11.5994,0.931242 --5.61048,0.272994,0.456636,3,7,0,10.9662,6.1941,2.21931,1.90257,-0.220373,0.413102,-1.08084,-0.14942,-0.802611,0.708126,-0.956908,10.4165,5.70502,7.1109,3.79538,5.86249,4.41286,7.76565,4.07043,-4.31405,-3.24786,-3.8912,-3.35927,-3.40687,-3.36496,-3.74523,-3.90634,-17.9723,3.73756,11.864,3.72134,25.3694,4.39429,7.76107,3.50982 --5.99431,0.960834,0.456636,3,7,0,8.83096,3.96196,1.24205,-0.499911,0.575344,-0.903622,1.97756,-0.774647,0.351415,0.302762,0.523624,3.34104,4.67656,2.83961,6.41818,2.99981,4.39843,4.338,4.61232,-4.97824,-3.27675,-3.75813,-3.31823,-3.21492,-3.36456,-4.15477,-3.89354,-1.22626,8.27719,23.7718,-1.29935,-1.9264,7.03,3.75501,39.2377 --5.88871,0.735842,0.456636,3,7,0,8.5961,4.04413,1.46469,1.42632,-0.0991244,0.903524,-0.201334,1.62234,-0.823736,0.178883,0.251972,6.13325,3.89894,5.36751,3.74924,6.42036,2.83761,4.30614,4.41319,-4.68955,-3.30562,-3.82828,-3.3605,-3.45605,-3.33079,-4.15913,-3.89814,25.3364,-3.36644,23.2094,-4.82175,9.50837,-0.846458,14.1567,11.0904 --3.76652,0.963501,0.456636,3,7,0,8.54169,6.17589,5.59941,1.11587,-0.153489,-0.188068,-0.862426,0.348404,0.444235,1.38278,-0.211118,12.4241,5.31644,5.12282,1.34681,8.12675,8.66334,13.9186,4.99375,-4.16612,-3.25753,-3.82039,-3.44889,-3.63035,-3.55951,-3.30481,-3.88506,6.10559,2.00395,-24.7829,7.80325,15.0044,17.6383,26.5593,2.55317 --6.29374,0.946541,0.456636,3,7,0,8.48955,-2.70817,5.3729,1.00215,-0.616489,0.39938,1.5215,-0.750408,-0.260069,0.581115,-0.0906709,2.67627,-6.0205,-0.562339,5.46668,-6.74003,-4.10549,0.414104,-3.19533,-5.05208,-4.2044,-3.70313,-3.32655,-3.31955,-3.42454,-4.76784,-4.16563,13.3994,-4.27908,11.9853,9.11077,-5.50407,-15.0782,7.67873,45.564 --6.69199,0.966011,0.456636,3,7,0,11.7277,7.61767,1.6636,0.421147,1.46604,0.124305,0.285286,1.06044,-0.473043,1.1399,1.49174,8.31829,10.0566,7.82446,8.09227,9.38182,6.83072,9.514,10.0993,-4.48781,-3.24267,-3.92037,-3.32176,-3.78148,-3.45732,-3.58158,-3.81489,24.0784,7.85531,-5.42193,13.8659,-2.03162,-11.4128,5.32541,16.7252 --7.61837,0.989549,0.456636,3,7,0,10.7848,2.94111,0.616903,-0.0547077,-0.792452,-0.106303,0.07022,0.865291,0.871011,-2.23923,-0.29498,2.90736,2.45224,2.87553,2.98442,3.47491,3.47844,1.55972,2.75913,-5.02619,-3.37541,-3.75895,-3.38347,-3.23977,-3.34222,-4.57294,-3.94109,0.922503,10.1129,12.8701,10.5815,-1.84459,-3.27487,9.99472,-8.96778 --10.4898,0.928561,0.456636,3,7,0,14.834,7.17444,0.860605,0.380523,0.597563,-0.472078,0.262992,-1.97751,0.281814,3.13682,0.338923,7.50192,7.68871,6.76817,7.40078,5.47259,7.41698,9.87401,7.46612,-4.5607,-3.22201,-3.87789,-3.3175,-3.37477,-3.48699,-3.55168,-3.84103,9.93766,20.0539,-18.1849,-18.7109,18.3421,14.7341,34.4021,-27.4504 --4.96802,0.751848,0.456636,3,7,0,13.7765,1.36663,13.7656,0.314383,-0.811901,-0.195564,0.357073,-0.227997,-0.870184,0.902755,-0.635047,5.6943,-9.80971,-1.32544,6.28196,-1.77189,-10.612,13.7936,-7.37519,-4.73264,-4.80745,-3.697,-3.31896,-3.11984,-3.87402,-3.30999,-4.38863,-0.707354,-18.302,-7.88081,-5.19032,-2.94251,-6.10625,23.7176,-35.1472 --6.759,0.140364,0.456636,3,7,0,11.1921,2.64906,14.9643,1.10544,-0.806051,-0.157357,0.303455,0.194004,-0.808928,1.06477,-1.50178,19.1912,-9.41292,0.294334,7.19006,5.5522,-9.45597,18.5826,-19.824,-3.79942,-4.73757,-3.71272,-3.31698,-3.38117,-3.7686,-3.22322,-5.37222,51.3866,-9.20718,-6.0839,17.7674,20.9351,-2.37889,27.9422,-14.0375 --4.26066,0.935881,0.456636,3,7,0,11.3337,7.73187,2.41431,0.726519,0.43441,0.627479,0.385172,0.45748,-0.990835,-0.388877,0.299532,9.48591,8.78067,9.2468,8.66179,8.83637,5.33968,6.793,8.45503,-4.3887,-3.22457,-3.98446,-3.32825,-3.71341,-3.39466,-3.84951,-3.8287,17.7971,15.9544,10.129,4.67265,6.97781,-10.2945,19.2056,13.3472 -# -# Elapsed Time: 0.062 seconds (Warm-up) -# 0.032 seconds (Sampling) -# 0.094 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/example_stan.data.R b/arviz/tests/saved_models/cmdstan/example_stan.data.R deleted file mode 100644 index 8a49555192..0000000000 --- a/arviz/tests/saved_models/cmdstan/example_stan.data.R +++ /dev/null @@ -1,5 +0,0 @@ -x <- 1 -y <- -c(1.0, 1.0, 1.0) -Z <- -structure(c(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0), .Dim = c(4, 5)) diff --git a/arviz/tests/saved_models/cmdstan/example_stan.json b/arviz/tests/saved_models/cmdstan/example_stan.json deleted file mode 100644 index 5cde52b6e9..0000000000 --- a/arviz/tests/saved_models/cmdstan/example_stan.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "x": 1.0, - "y": [1.0, 1.0, 1.0], - "Z": [ - [1.0, 1.0, 1.0, 1.0, 1.0], - [1.0, 1.0, 1.0, 1.0, 1.0], - [1.0, 1.0, 1.0, 1.0, 1.0], - [1.0, 1.0, 1.0, 1.0, 1.0]] -} diff --git a/arviz/tests/saved_models/cmdstan/output_no_warmup1.csv b/arviz/tests/saved_models/cmdstan/output_no_warmup1.csv deleted file mode 100644 index 29b2ece46f..0000000000 --- a/arviz/tests/saved_models/cmdstan/output_no_warmup1.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = test_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 100 -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = (Default) -# init = 2 (Default) -# random -# seed = 721268069 -# output -# file = output_no_warmup1.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,y,x.1,x.2,x.3,Z.1.1,Z.2.1,Z.3.1,Z.4.1,Z.1.2,Z.2.2,Z.3.2,Z.4.2,Z.1.3,Z.2.3,Z.3.3,Z.4.3,Z.1.4,Z.2.4,Z.3.4,Z.4.4,Z.1.5,Z.2.5,Z.3.5,Z.4.5,Z.1.6,Z.2.6,Z.3.6,Z.4.6 -# Adaptation terminated -# Step size = 0.830775 -# Diagonal elements of inverse mass matrix: -# 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 --12.6543,0.921464,0.830775,5,63,0,30.0749,-0.202441,0.355694,3.64272,1.64093,0.657728,4.0682,3.29224,4.77658,0.166118,5.11531,4.4304,4.59065,3.17088,1.61273,7.16316,4.72769,-1.96664,2.63084,-0.269298,-0.288923,1.01699,-2.46566,9.66223,-0.731973,-8.60955,-2.02439,-0.569771,7.11574 --14.4638,0.959078,0.830775,5,31,0,26.6517,0.36505,1.45164,3.00225,2.46308,0.289539,3.95774,2.90628,4.88464,-0.126912,5.94728,3.93982,4.32201,-4.28735,0.451037,1.40599,6.55043,2.79853,1.47174,5.73713,8.36895,-0.867325,16.0004,-0.700953,4.50305,7.22986,3.23297,3.64034,-4.00706 --19.5055,0.83882,0.830775,4,15,0,33.5825,-0.398026,0.649165,1.14661,3.80484,-1.04483,3.08361,3.92331,2.4103,2.08862,-1.47099,2.41584,4.70044,5.78117,-0.845554,4.87709,-0.912593,10.0662,-2.44255,5.29723,11.1314,3.64763,10.8811,7.1553,-2.49963,6.49419,8.40469,2.92164,-1.74328 --16.8644,0.985081,0.830775,4,31,0,30.2341,-0.982152,1.83059,1.47164,2.79069,0.354715,1.10512,2.72882,5.34341,1.52161,-0.0588455,1.6706,4.755,-5.53742,5.14139,3.57363,8.1366,-9.13183,8.10353,-0.77879,-4.45486,8.202,-1.98101,3.71351,7.67789,3.25209,-3.56204,5.84266,8.49597 --17.0369,0.997334,0.830775,4,15,0,30.5312,-1.03315,1.49407,1.18574,2.92264,0.558984,1.45691,2.91209,5.638,0.938924,3.86282,3.79415,2.83357,7.56175,0.0937066,5.12945,-3.28429,0.476702,-0.372456,1.26892,3.0204,0.777128,0.504444,1.40758,9.52618,-8.77247,-14.6904,6.16875,14.832 --18.7317,0.787258,0.830775,4,31,0,31.9786,-1.5823,1.35681,2.95131,1.88889,2.83238,2.01155,2.27857,2.57099,-0.402054,4.60194,4.22643,2.48244,-4.77762,2.29851,1.06431,10.1427,-1.69807,5.11908,6.32601,2.9171,5.15083,-0.654684,4.05568,-4.0171,14.3492,4.97161,3.92196,-8.97418 --11.7516,0.968982,0.830775,4,15,0,27.628,1.28912,1.42105,2.29831,4.00473,-0.52216,2.52388,3.10678,3.31002,0.101044,3.39942,0.14276,5.31971,6.85782,2.07244,5.01603,-1.61699,-0.660924,-3.21271,0.55289,4.30831,-5.11945,0.635269,2.9085,6.56983,0.828646,-6.3084,1.27302,8.06587 --9.58707,0.859772,0.830775,4,31,0,21.0557,0.225737,1.26125,2.69119,3.52391,-0.187477,1.17655,3.14525,3.52491,1.9956,0.902305,5.8365,2.95969,-5.28646,2.77894,3.51964,5.57199,3.71484,7.82313,-0.0995374,7.44283,-4.67055,5.02628,-4.5106,3.41734,3.54768,2.38032,0.456646,6.44395 --9.92852,0.604553,0.830775,5,31,0,25.6319,0.226505,1.25884,2.68869,3.52198,-0.188628,1.17453,3.14272,3.52608,-0.109219,3.16396,0.0346542,4.96138,-5.8028,2.13611,3.28835,6.16423,-1.63896,0.343438,1.9393,11.8003,8.41997,-0.169797,5.52494,2.75381,-2.62885,1.09911,5.47389,1.6191 --15.1815,0.845885,0.830775,4,15,0,25.5114,0.279758,0.514875,1.96521,2.8619,0.979001,3.04881,1.23122,4.80309,1.77921,-0.513595,3.62133,3.48772,6.85586,1.6223,-1.22689,3.30254,-1.44007,0.268064,-2.76367,-3.6386,3.88676,7.62681,6.96847,3.55354,3.8923,-11.0495,10.8213,-4.92824 --15.7586,0.959146,0.830775,5,31,0,25.1224,-0.786752,1.69886,2.03381,2.91159,1.18266,0.988533,4.92612,2.71396,1.13218,5.11241,3.47911,5.74643,7.25515,-1.45405,-0.654683,4.53346,5.16359,-2.52948,2.81178,1.11686,2.44702,-5.15617,-0.710616,8.52101,-0.613079,11.9974,-3.12916,14.8429 --10.768,0.983092,0.830775,4,31,0,28.085,-0.888667,1.9086,2.58078,3.78251,1.38683,0.983878,4.35497,3.33599,0.624616,-1.54559,3.35939,2.87709,-0.547951,0.185173,5.98085,2.24985,5.09427,-2.63249,-1.72487,4.64708,5.21946,1.55035,4.77623,8.1911,8.35054,3.54015,-2.71514,12.8858 --16.2931,0.451804,0.830775,4,15,0,35.3426,-0.0374679,0.702123,0.328449,3.6308,1.09554,0.39793,3.37299,3.87092,1.12733,5.71507,2.24029,4.93611,8.62606,1.10986,5.58246,7.65433,3.07551,-6.30955,1.44253,0.905619,9.62129,-0.858923,1.78973,9.10456,2.05236,-3.97868,-2.20622,13.4253 --20.1836,0.798076,0.830775,5,31,0,34.5489,0.822143,0.607108,3.41411,2.94774,2.14042,4.26237,3.32631,5.6311,0.846761,1.39977,2.60475,4.42512,-8.46109,1.64699,-0.742475,0.939109,3.13315,5.65744,2.20171,1.3551,3.51339,7.97141,10.6416,-5.30368,-12.9431,3.04696,0.9918,-1.98239 --13.4955,0.995212,0.830775,4,15,0,30.7881,-0.109136,0.518507,3.46617,2.40483,1.91298,3.40973,2.92047,6.23005,0.942597,2.5332,3.79457,2.82648,6.56365,-2.54475,5.89769,7.58102,2.50523,1.22086,0.256246,9.5756,3.89716,4.50479,9.6172,4.39681,-1.63683,0.852096,-4.75228,-1.81788 --12.1892,0.868022,0.830775,4,31,0,25.9883,-0.133587,-0.0373425,2.97284,2.72167,1.39986,2.16217,3.71787,5.12493,0.869472,1.46485,2.02913,4.82416,-4.80723,6.44405,-2.46796,1.90099,4.96027,-0.367595,-5.09235,5.33312,6.1284,-2.53363,0.803001,1.6363,-0.286466,-5.96334,5.14887,7.27624 --15.371,0.737581,0.830775,5,31,0,30.2875,1.08471,-0.0192562,1.36807,3.69131,1.76609,0.689265,3.98349,3.5081,4.41432,0.225631,6.01725,0.513399,-0.108181,-0.944371,-0.188382,8.14704,1.81539,-0.422886,-2.75473,2.04255,5.39851,14.269,3.79456,9.23577,1.30675,4.27573,0.646374,2.74813 --11.067,0.999344,0.830775,5,31,0,27.9605,-0.598354,2.44849,1.24275,2.10657,1.31249,2.04805,1.7821,3.62584,4.19755,2.61763,2.97602,6.9868,-0.56609,-0.0892443,4.16245,2.66287,-0.852321,-1.89853,-5.03523,4.63821,5.76348,-2.38244,7.91765,2.83768,4.17591,4.19389,11.4539,7.13771 --13.6961,0.962994,0.830775,5,31,0,21.0431,-0.125092,2.58605,2.61672,2.55344,2.15519,2.96055,2.08332,3.25707,3.94664,2.64275,1.43431,7.25318,1.51399,1.16971,2.60827,5.73262,2.70138,6.57649,11.8815,2.82834,-4.65526,7.67747,-0.770921,5.8539,2.66504,2.27089,1.29981,-9.01155 --10.872,0.906331,0.830775,5,31,0,25.322,0.173962,0.390416,2.39235,3.36282,-1.36387,1.50706,3.61654,3.10883,1.88473,0.556877,5.52197,6.33406,1.08283,2.32614,3.25055,2.65928,1.5714,1.52338,-4.52723,1.65527,7.15121,2.37397,7.05682,2.32138,12.4153,-0.981518,1.2333,4.17515 --12.1743,0.752142,0.830775,4,31,0,29.6356,-0.664505,0.63998,2.93072,4.03259,2.24624,0.30587,1.86177,1.89138,1.81913,0.609708,2.03564,3.12151,1.07867,4.66461,0.0848452,4.75218,1.24749,5.18133,10.2421,4.39081,-2.37231,1.42593,7.57021,2.67548,8.03341,4.93169,7.39398,10.997 --14.0484,0.99777,0.830775,4,15,0,23.2644,-0.224719,0.570075,1.64644,3.89344,0.795152,1.39303,4.76574,5.95635,-1.39452,2.23424,3.13548,3.46718,2.27847,4.49509,1.4073,7.4165,-3.26429,5.22973,9.79593,6.52165,-7.60208,4.55204,7.27486,-0.434076,13.3898,3.45224,2.61616,11.277 --16.1353,0.738832,0.830775,4,15,0,27.6523,-2.77861,2.42628,1.21913,2.10322,-0.33577,2.88498,1.47138,3.76749,-1.9081,2.01628,3.1857,2.92659,0.235501,3.81539,3.44673,8.7807,-3.25171,4.46836,8.698,7.65307,-6.91947,2.98168,6.23164,0.321281,9.57962,2.42346,1.61954,9.21998 --12.4082,0.997089,0.830775,4,31,0,23.9114,-2.13805,2.54799,1.09348,3.36901,-0.0875968,2.43085,1.78225,4.27353,3.97636,2.24878,2.83463,4.55887,3.24044,1.70594,2.03101,1.9358,4.34391,1.13293,-3.2651,1.7903,-3.59651,3.14233,2.41678,4.80195,3.79378,8.22097,1.39769,17.0084 --13.7243,0.902802,0.830775,4,31,0,27.163,-0.185213,2.69184,3.19867,1.56918,-0.357953,3.68323,2.65937,4.90805,4.58001,0.283259,2.65308,4.95787,-0.479485,1.00657,6.91604,4.99062,-3.67564,2.02049,7.29188,8.1087,6.63668,-1.1017,-2.12252,4.73662,7.95743,4.07676,4.9334,10.6158 --10.5284,0.904395,0.830775,5,31,0,28.0957,0.052351,1.6827,3.30344,2.76799,0.503408,3.5252,2.88397,4.24631,4.23454,-1.12749,3.38854,5.16333,2.17799,5.59695,0.472824,2.88307,6.73225,4.24396,-0.0117753,-0.0648311,-2.21393,1.9685,1.72937,0.459778,8.94767,2.96575,-3.63977,0.404325 --12.0407,0.795161,0.830775,5,31,0,24.0375,-0.825942,0.569848,1.79793,2.72252,2.11337,-0.385734,4.1238,2.97438,-1.73999,6.50283,2.85259,5.37252,-0.896935,0.100338,3.11997,4.26874,-1.63066,3.00215,7.24504,2.49681,3.51682,0.660525,2.28505,-2.31254,1.05571,-3.30481,7.34193,-0.685666 --14.457,0.994869,0.830775,4,15,0,27.7305,0.0542246,0.821793,1.53021,2.47078,-0.383496,3.44251,3.54352,5.97176,1.76372,0.603165,2.14207,4.65411,1.34044,4.38962,2.32572,4.42517,0.775611,-6.13438,0.979359,0.333268,-4.27121,-2.27038,-7.76114,11.263,3.51617,1.58932,-8.8997,8.74971 --10.1473,0.929423,0.830775,5,31,0,25.0298,-0.0203686,1.34332,1.20012,1.87671,1.35836,0.698969,3.9822,3.20643,0.733559,3.90516,2.13099,4.55691,-0.0548212,0.181199,5.78551,1.70981,-5.32422,4.80172,3.37145,10.8912,3.71628,4.52341,-2.89179,3.74114,-2.09272,11.5858,-3.01381,3.83065 --10.6927,0.767781,0.830775,5,31,0,23.1824,-0.050331,1.08607,1.93764,1.93703,1.58646,0.335012,4.1155,3.46754,-0.5475,3.49396,3.1627,5.2036,1.8121,3.7698,6.9559,6.85574,-5.52799,5.2728,1.70766,10.6869,7.52584,-0.631533,6.8877,-2.52165,-1.4704,-0.965977,4.20268,5.10012 --12.6549,0.335041,0.830775,5,31,0,36.7442,0.366747,1.06735,2.75248,1.49671,0.543772,0.192902,4.05169,2.65473,-0.518977,3.49162,3.13069,5.19319,-0.77042,2.76312,-0.89818,4.79445,7.49725,-1.25844,4.37584,-2.76661,-2.45235,7.13043,-4.04162,6.72344,-2.34585,4.44141,10.8549,4.54861 --11.9125,0.947381,0.830775,4,31,0,21.4925,-1.10204,2.56964,2.52556,1.93426,0.131786,0.180194,2.72337,2.92718,3.23967,-0.0251855,3.8217,4.19647,2.58275,3.56439,3.5015,2.8189,-0.642609,6.53177,8.04846,-0.02284,-1.02898,5.26524,-4.47797,10.2095,-5.03891,4.02644,7.80211,5.42319 --10.0522,0.85808,0.830775,4,15,0,27.8183,0.649915,1.04302,2.71041,3.08622,0.643931,2.44328,2.10463,5.57218,-0.455661,0.757712,2.65015,3.12612,-1.45457,0.0459728,3.70931,4.93244,-2.94583,2.90052,6.10512,-1.63008,1.16571,-0.786031,-3.00354,13.7361,-7.33213,5.34784,-4.81477,5.89141 --13.4177,0.689725,0.830775,5,31,0,25.2084,-0.772737,0.656955,2.07579,2.0135,1.5155,2.49198,5.69357,3.07389,4.60418,6.35685,0.650686,4.38054,3.73393,2.67817,4.11016,3.5105,2.06626,0.719054,-2.06013,4.88305,-3.62516,-2.78646,3.20524,3.62233,2.19325,7.8121,6.26241,-2.54813 --14.1879,0.988901,0.830775,6,127,0,26.7206,-0.504191,1.52887,0.855463,1.07763,1.02466,2.35182,5.21488,4.01882,4.54294,6.40789,0.68362,4.36231,3.88867,2.84757,4.30794,3.77423,-0.317922,2.83658,7.81034,3.20582,2.73988,-2.70067,-4.30208,3.39133,2.59933,7.65087,6.11241,-2.6162 --9.92634,0.994071,0.830775,5,31,0,20.4597,-0.376273,1.03504,0.770423,1.52277,0.739455,2.57535,4.29925,4.74414,4.70287,5.49478,1.3056,3.14442,-2.28382,3.33229,3.01758,5.15819,1.11929,1.15618,-1.98189,4.49891,-0.433768,1.76278,9.75665,-0.376161,0.643118,2.04843,4.95314,5.34682 --11.7438,0.70661,0.830775,5,63,0,25.5208,0.751843,0.932658,3.11203,4.7936,1.36854,0.771767,1.54083,2.62336,2.12003,4.00186,3.40626,3.99769,-2.40867,0.6615,-2.3827,1.46949,-0.816111,2.37033,6.06114,7.73117,2.83654,3.09564,-3.29789,9.12226,-1.43126,-0.663509,-0.906205,9.17285 --11.1685,0.996459,0.830775,5,31,0,22.6699,0.642208,0.388703,3.1688,4.64196,1.39673,1.0264,1.22917,2.77764,2.11084,4.00386,3.38436,3.99201,1.90169,1.15036,4.82996,2.44972,2.7059,1.6306,-0.036651,0.245024,-3.5403,-3.45303,7.4376,-1.51907,5.1604,8.88605,-5.66778,5.22186 --4.20629,0.846146,0.830775,4,15,0,22.2374,-0.649665,0.554896,2.05125,2.44561,1.11494,2.79646,3.47868,2.98184,0.731208,1.96196,1.37678,4.23311,-0.991961,3.21845,0.73369,5.54273,3.38126,1.59903,2.52035,5.64051,1.08356,-0.188457,7.38963,3.52954,-1.8956,-0.511423,-2.07181,-1.35406 --12.2398,0.785686,0.830775,4,15,0,17.7755,-0.790449,0.397901,2.54166,4.69852,0.81705,1.96698,3.63276,4.04843,1.67973,3.8634,0.767821,1.05738,2.1252,-1.3133,-2.00999,8.75507,4.09401,3.07266,5.73025,5.5107,1.8139,-3.25109,9.76682,-1.96001,-0.468209,-5.91433,-2.96975,0.347951 --13.3915,0.880267,0.830775,5,31,0,24.2429,0.790232,1.60254,1.45898,1.30033,1.1821,2.03356,2.36712,3.95213,3.03957,-0.482147,4.33807,7.48033,-0.18394,5.59739,7.7486,-0.625926,-4.12154,1.30886,-0.450444,7.02535,0.174763,-4.93411,4.44517,11.4263,-3.23834,-1.98359,8.86715,8.33718 --9.95091,0.80265,0.830775,5,31,0,25.8426,-0.54145,0.971476,2.72113,4.75911,0.90864,1.45809,3.87591,3.64631,0.423227,1.19085,5.13878,6.76362,-0.176489,1.86375,0.531464,0.329316,4.88779,2.55954,4.69082,-1.5958,2.04082,9.94058,2.63359,-3.52168,2.87926,7.96448,2.51932,6.26586 --9.98757,0.971307,0.830775,5,31,0,21.2768,-0.552428,1.99031,1.90652,3.70192,1.7493,2.16059,4.32714,3.89795,1.47044,2.86023,1.1193,1.30844,-0.756715,2.21382,0.612661,0.246772,0.913248,1.27207,-4.3666,1.38185,-0.546799,-1.86774,-1.08528,13.7604,-1.35991,-4.05435,3.8725,1.86391 --11.3939,0.80261,0.830775,4,15,0,23.8445,-1.0217,0.289544,0.785267,3.79356,1.10161,2.17655,2.95903,4.66729,0.784253,1.76963,1.74921,1.09159,-1.03698,2.91842,-0.76504,-0.256774,1.92872,0.799023,-4.45918,2.28502,0.491747,-1.33749,-2.42096,15.2508,-1.61242,-4.5363,3.1881,2.15795 --11.2981,0.786101,0.830775,5,31,0,23.8285,-0.562653,0.342407,0.686943,3.98946,1.02514,1.69036,3.14719,4.07269,0.79284,1.76964,1.75447,1.09592,-1.54458,4.30491,3.9754,7.4007,0.0939309,3.05119,10.4699,5.68575,2.31653,4.27532,7.98247,-6.59655,-9.00658,-3.62351,-1.61432,4.28813 --15.0164,0.757855,0.830775,4,15,0,25.4952,0.683423,0.917326,3.75436,3.52887,0.958123,-0.254114,3.85516,3.6259,2.14693,3.30609,4.08836,3.57487,-3.85248,3.26441,0.948581,6.07122,-0.20664,1.85683,10.7894,4.20101,2.2857,6.20287,7.36689,-6.31863,-11.1664,-5.21074,0.66556,4.92336 --17.7777,0.857848,0.830775,5,31,0,32.7993,0.0610418,1.85766,0.657689,3.79799,0.438803,2.65466,2.09615,2.64608,-1.65343,0.21558,3.69012,7.91658,6.90462,0.928555,4.18905,1.75482,3.411,1.98398,-6.35557,1.41617,-1.64263,2.21666,-8.96759,9.90502,-2.30374,-5.62295,6.31191,-4.22078 --12.7741,1,0.830775,4,15,0,29.6954,-0.0606577,0.142179,3.34165,2.20138,1.5616,1.34471,3.90312,5.35406,3.3482,0.134522,3.62413,2.37008,-5.13022,2.85218,1.75187,5.85187,1.8344,-4.14538,5.78187,4.99133,0.57312,9.15302,5.50106,1.47261,-0.568248,-8.85229,12.1083,4.36498 --9.58165,0.923582,0.830775,4,15,0,21.5132,-1.51852,0.399431,2.60323,1.61066,0.592696,1.2005,4.3267,3.30568,-2.32999,3.65175,3.82425,4.81317,4.23715,3.38238,2.44595,1.06238,4.11584,5.05499,1.4224,7.59016,2.36939,0.891871,1.80782,5.99303,-5.38446,-3.56282,0.897145,7.74915 --9.23382,0.750223,0.830775,3,15,0,22.5643,1.64975,1.38822,2.3199,3.94789,1.0895,4.27078,1.92784,3.76757,-3.70744,2.0251,1.81589,3.76437,2.36878,2.44396,4.3035,5.97037,2.74197,3.43521,3.84754,4.41522,0.264094,-0.247778,2.62814,5.96168,-2.56664,-0.566521,1.27723,5.85454 --10.5885,0.741901,0.830775,4,31,0,27.7387,1.39011,2.41767,1.6419,2.86867,1.20077,3.64708,0.936605,4.60228,-1.98077,1.11001,3.36993,5.21902,-0.885724,5.0266,-0.720135,2.7907,-1.61245,-0.831438,1.51194,5.1915,5.13496,5.45931,1.88961,4.02423,6.79294,1.89873,-1.1432,4.25027 --12.8603,0.839929,0.830775,5,63,0,23.8496,-1.44609,3.20377,4.02062,3.48518,-0.263704,1.05299,3.08928,4.9678,-0.382997,0.531328,2.16601,4.84968,-3.04382,5.45345,1.19289,1.90955,2.55905,6.3937,-0.832536,-0.30711,-2.00019,-1.30448,4.05596,3.79682,-5.8157,2.23344,4.70971,3.7467 --15.2927,0.946218,0.830775,4,15,0,26.2684,-1.12061,1.88009,3.85209,3.20014,1.97945,1.68052,5.30873,3.91549,2.28082,3.30722,3.8506,4.80698,4.67532,-0.479649,2.04363,5.13437,2.40936,2.118,9.1477,-0.0335624,10.4115,5.20029,6.16432,9.44159,-8.92317,9.30527,9.66416,8.58272 --13.2933,0.995555,0.830775,4,31,0,25.9903,-1.26092,2.66413,2.97786,3.392,1.6992,1.36075,4.62106,4.47413,0.0376839,1.07087,2.68484,3.08068,0.754432,3.60375,0.0215137,2.1916,-0.76709,3.94449,3.22019,0.226645,8.51272,1.93344,14.5205,8.5922,-3.66731,9.79038,13.2989,5.59207 --12.3946,0.910096,0.830775,5,31,0,23.5577,0.722298,-0.259475,1.50805,2.37262,0.363839,2.75717,1.21773,3.33875,0.677467,-0.780574,0.598794,3.71321,2.43026,3.23855,5.46563,1.16935,1.27933,-1.78601,3.69971,8.23686,-7.08468,2.51399,-8.10788,-1.18729,6.90385,-1.33436,1.28246,3.14218 --9.54301,0.673704,0.830775,5,31,0,29.6111,-0.102226,1.8088,2.44925,3.09572,2.23976,0.900866,4.4775,4.67842,-0.174467,4.46604,2.30881,4.35569,-1.09032,4.31807,3.78624,1.84384,-6.62277,3.21937,5.4115,6.7274,6.23406,7.12677,9.61175,4.14403,0.777209,2.59167,7.67893,2.42125 --7.32188,0.911062,0.830775,5,47,0,24.7533,0.537496,1.06761,1.29864,3.77061,1.42941,1.63058,3.56476,4.70029,2.62484,0.417765,3.87079,2.97215,-0.333079,4.12247,4.19713,1.95803,-0.557431,6.44107,6.21058,1.42441,-0.631193,-2.482,-5.58359,-3.17105,0.874728,1.32413,-1.82083,5.44905 --6.28994,0.865271,0.830775,5,31,0,18.1468,0.549473,1.27793,1.66316,3.81154,1.20316,1.56714,3.09667,4.74715,2.62149,0.422064,3.85923,2.9529,1.44301,0.297477,2.97556,2.06952,2.46564,-2.36628,-0.40378,6.51782,6.78009,1.95464,9.21843,9.21706,3.49757,3.64695,9.85277,6.43617 --10.0495,0.637939,0.830775,5,31,0,21.637,-0.823956,0.00206579,1.9162,2.21168,0.609085,2.58761,2.47502,3.24485,1.32098,1.08864,5.53375,3.50936,1.30522,5.35054,0.993971,3.02807,-0.791677,8.07626,3.76017,-1.65211,-4.82983,0.395051,-3.3981,-0.173803,2.92136,-0.369089,-8.78513,0.773373 --12.5882,0.766275,0.830775,5,31,0,23.6877,-0.939901,2.70861,3.04129,3.89126,1.00331,0.892874,3.94736,4.00738,1.0592,1.40143,1.4106,1.51775,0.47233,0.183153,5.7441,4.24878,-0.887916,0.7698,0.173096,4.01422,-1.90051,5.23475,12.3711,5.11694,8.96076,-1.60537,-11.969,7.73761 --12.9632,0.889007,0.830775,4,31,0,27.9475,0.447382,0.443594,1.42901,4.74831,0.464565,2.13705,3.5596,4.37186,-0.0357202,4.44376,4.0007,3.99313,5.34398,9.57229,1.40389,3.34405,2.51818,3.00646,-2.14135,4.82107,-0.263642,0.1294,14.4838,-1.77927,1.49093,-3.16554,-1.04911,8.43816 --13.3837,0.832046,0.830775,4,15,0,26.3783,0.284727,0.827258,1.22187,5.09341,0.0826743,1.94363,3.47885,4.01626,-0.0246322,4.44858,4.00553,4.01201,-3.1748,-1.57483,1.72612,10.5485,-0.51112,0.93111,7.9784,3.21277,2.70434,2.12311,-6.95891,9.32685,6.90646,-3.49728,4.71333,-3.01683 --13.0036,0.644747,0.830775,5,31,0,28.8893,-0.285508,1.17106,2.77866,0.907108,1.91749,2.05565,2.52305,3.98342,-0.473779,3.29589,5.09572,4.5608,4.86517,5.81313,4.21791,-2.90165,-0.990656,-0.402687,-0.406799,7.91301,-4.83568,-1.24689,4.93928,-4.70561,5.61747,7.29132,1.73224,7.25084 --16.3861,0.927295,0.830775,4,15,0,27.7797,-0.783706,1.28125,1.98333,4.71047,-0.0991855,2.33881,3.17871,4.05224,-1.88511,4.79821,2.15765,5.95638,7.77288,6.09469,1.48866,-2.73373,-3.78446,5.56735,2.04254,6.46124,-4.88505,-3.50375,7.7031,-4.04001,4.90056,6.20291,5.49441,8.47127 --11.8814,0.750754,0.830775,5,63,0,30.785,1.09915,0.382098,3.20573,2.02915,2.02912,2.20851,2.97632,5.31718,2.72956,-0.140163,3.69163,2.46051,6.50867,4.11045,2.70047,3.44458,-0.197581,0.612085,-2.06284,2.10249,6.96414,7.539,-1.74207,11.9606,-7.77051,1.27708,1.08467,2.68529 --18.9311,0.959446,0.830775,4,15,0,25.9422,1.48043,0.655866,3.26639,1.98248,1.85621,2.1572,2.75945,5.7584,-0.687751,4.12592,2.21028,5.60342,-3.72157,-1.46953,2.17869,8.67602,5.20991,1.24744,-5.31508,9.56579,-5.22554,9.44712,-0.553335,-1.64657,-10.1551,7.29614,0.370118,-5.80111 --18.0237,0.964514,0.830775,5,31,0,33.5656,0.398621,2.50787,1.5127,1.8255,2.48564,3.65043,3.10228,4.61837,-1.74989,3.32167,2.78259,5.57868,-3.2022,1.01255,2.27433,1.79656,-1.86376,2.65328,11.6203,-2.39905,5.42304,-3.44784,5.63707,11.4981,16.2918,-0.25547,11.8189,3.50368 --19.2393,0.984113,0.830775,5,63,0,33.1767,0.201716,0.577104,1.09773,4.14465,0.981036,1.73283,1.44476,5.14509,-4.97495,1.87415,4.32412,4.51904,-3.87788,0.0799364,0.767471,3.499,-4.17744,0.174484,8.13097,-1.78328,5.53441,-2.42452,8.75312,11.8048,14.7435,-0.996414,12.9941,4.50947 --22.0843,0.870551,0.830775,5,31,0,33.3089,1.08561,0.370521,0.580624,4.25065,-0.767093,0.589543,3.51276,4.40511,-4.5057,1.38644,3.87796,5.53896,0.721394,4.12256,7.35202,1.74061,5.90935,4.43332,-2.38353,10.4518,-3.04512,8.52008,-2.93054,-0.986908,-6.24413,-4.22793,-13.101,10.1647 --16.0542,0.955791,0.830775,4,15,0,33.009,0.0154064,2.80114,3.91072,1.49394,2.95282,2.49705,2.82629,3.55571,1.92206,1.46533,5.33433,4.01715,1.42911,0.0518312,-2.30654,6.85559,-3.08323,0.563603,8.26068,-2.31706,11.8669,3.1898,7.85604,4.08952,-4.60171,-1.0538,4.77247,1.33656 --14.1917,0.99747,0.830775,5,63,0,26.6464,0.00671659,-0.288837,-0.00543369,4.6037,-0.43203,2.13533,2.67141,4.02182,2.73695,1.78608,1.00764,6.08903,2.00768,-2.93436,2.32524,2.83102,-2.19919,3.7958,6.51677,-4.73317,10.6303,4.60809,5.96452,7.98971,-2.34395,-1.64715,2.80411,2.66676 --16.0131,0.952416,0.830775,4,15,0,31.9403,1.61848,1.69125,2.5206,2.23575,1.73377,1.16185,3.61464,3.76711,1.16908,3.88204,4.56177,2.47369,2.48499,8.99614,5.75687,5.67491,5.19112,3.01513,-3.35708,8.88306,-0.529392,-5.36289,-2.37944,4.47375,2.846,-13.1049,1.21753,13.1957 --12.332,0.902277,0.830775,5,31,0,36.4712,0.100334,1.12438,1.90091,2.35774,0.505506,2.03803,3.96627,4.11147,1.33524,0.042311,1.22263,5.33287,1.62936,8.82783,5.16654,5.46961,-6.38587,1.97742,7.11968,4.27278,1.29447,5.07939,1.56849,7.94218,-1.72144,17.5659,4.70401,-4.98063 --15.7176,0.842017,0.830775,5,31,0,26.0695,0.300456,1.22738,2.17998,2.24596,1.03832,2.09773,4.01837,4.30553,0.831819,4.13118,4.46792,2.89333,-3.86541,-3.48266,6.50276,5.31526,-7.56095,8.9973,0.118386,4.55946,6.28519,4.10835,1.89265,4.58476,-4.60306,10.268,4.13815,-12.6424 --16.5698,0.65773,0.830775,5,31,0,29.9178,-1.31158,0.617831,0.730951,5.23016,-0.727935,2.62703,3.19717,4.55312,-0.312946,2.35,1.51702,7.21932,-3.3797,-2.79363,5.82597,6.17318,-0.925775,2.75836,-2.10114,6.80376,8.48272,2.92337,4.25146,2.1283,0.564999,3.42618,0.82718,-10.9539 --12.7069,0.9976,0.830775,5,31,0,24.6886,1.73056,1.83945,3.13377,2.37592,1.76884,1.51954,3.16415,3.76902,-0.39295,-0.517067,3.17761,1.5673,5.7224,6.6095,0.472965,1.00936,2.70735,0.808895,7.789,0.0888957,-6.79671,3.32894,1.85922,4.89715,10.5611,6.94322,5.76422,0.391549 --13.213,0.750849,0.830775,5,31,0,30.8197,0.118784,1.20627,2.47101,1.56048,2.34818,2.29841,4.52455,2.87012,3.62978,0.949181,0.512799,5.81496,4.86654,5.35996,0.222771,3.39832,-3.80769,6.13477,3.31654,8.91505,8.11524,2.10088,1.98658,5.74795,-7.36328,-4.35711,0.434925,9.73552 --14.5758,0.922593,0.830775,4,15,0,29.8802,-0.631337,0.845736,2.59674,4.75664,0.0567897,2.63881,3.70381,3.30353,0.222358,0.391675,3.69917,7.52999,-4.11104,-2.82818,4.35542,4.05333,6.47393,-3.22753,5.36991,-1.97918,2.16264,12.8564,4.61461,4.54018,-3.12762,5.94814,-3.70538,5.59738 --17.2916,0.733694,0.830775,5,47,0,26.1922,0.457461,1.07811,2.85958,5.46045,2.49506,2.5691,2.50191,2.97639,0.321502,0.0548744,3.6859,8.16575,-3.81846,-2.73103,2.45639,3.41825,6.99385,-3.61868,5.02046,-1.98497,1.87784,12.0897,4.57389,4.48248,-3.25194,6.39445,-2.9949,5.94975 --10.4265,0.791852,0.830775,4,15,0,28.1453,0.963944,2.14755,1.6544,2.37289,-0.0974021,2.40092,2.31926,3.30444,-0.212036,0.139884,0.61579,5.10037,5.81769,6.8973,2.81866,4.4541,-5.03372,3.12759,-0.553342,6.25126,0.974098,-0.917582,0.624622,5.77134,-0.939273,7.56155,10.2638,-1.92115 --7.99024,0.795285,0.830775,5,63,0,21.0839,-1.36087,0.0635608,2.47401,3.12202,2.17889,1.4599,3.13177,4.31763,1.63857,2.92304,4.9604,3.60836,4.84216,1.70463,1.35148,6.10604,-4.03841,3.3432,-0.0436677,1.06526,-3.51094,-1.64018,1.92631,0.982607,5.12907,-5.65624,-0.0522684,8.33461 --15.4207,0.946451,0.830775,4,15,0,24.3491,0.949622,0.96312,1.13479,2.8411,0.144392,0.867196,2.06963,3.9347,0.25387,2.13062,1.46411,6.30657,-6.95228,-0.496373,0.726241,-0.266489,1.70522,9.10952,-1.16046,-0.920255,5.54001,-1.71002,0.793242,4.19443,9.82545,-9.39159,-1.71358,6.38615 --15.8002,0.611292,0.830775,4,15,0,33.6414,0.918166,0.485088,1.7403,2.63299,0.754055,1.41477,2.13837,4.28248,1.80883,1.40811,4.47138,2.07282,7.51475,0.941723,3.63735,4.65374,-6.40699,0.117473,-0.109165,-6.49619,3.10465,-5.24532,-4.46568,-4.64145,7.34825,-5.22756,-2.3803,0.191318 --12.6404,0.789472,0.830775,4,15,0,31.697,0.316058,0.145617,1.15477,1.00093,1.45742,1.49005,1.99612,3.78307,3.47026,2.8567,2.57311,5.00501,-2.50444,4.76345,0.791845,1.03733,-4.7653,0.618407,6.95906,6.24016,8.26601,-2.89065,2.89676,8.56451,-2.29569,-5.52016,-7.67277,5.33951 --12.8321,0.790245,0.830775,4,31,0,27.2017,-0.0756377,0.358871,1.11373,1.74171,1.55245,1.70932,1.95561,3.3321,-1.69497,0.658263,3.7508,3.12891,3.88851,6.41542,3.43514,1.84765,2.14579,3.52866,-0.694799,3.3569,2.55643,3.85035,1.15678,10.9482,-14.3403,-5.29975,-7.86233,3.06608 --11.1321,0.770841,0.830775,4,15,0,30.5303,0.562544,1.87878,1.00732,4.12398,2.1165,1.32292,2.17448,2.17088,0.864163,-0.159776,3.06439,-0.217648,-0.809994,-1.88536,0.820383,5.07808,-2.74067,-0.252804,1.70502,3.88947,2.47654,4.45123,-1.50297,5.21915,-2.41973,8.77506,6.77192,7.73198 --10.5214,0.853718,0.830775,6,63,0,21.0363,-0.560851,0.118323,2.99126,1.87855,-0.115643,2.67516,3.8223,5.82629,3.69104,1.13396,2.81193,2.71516,3.12828,4.85464,4.71863,3.05155,-2.97885,-0.307497,0.336536,6.28791,0.885892,3.61875,-0.352711,9.58188,10.2681,0.76285,-1.4332,9.60879 --10.2718,0.91839,0.830775,4,15,0,27.0805,-1.19376,-0.380665,2.41943,1.59336,0.877546,2.57683,3.94865,5.86951,2.36708,1.92315,2.80547,4.82645,2.26287,4.60871,2.85934,4.50893,-4.03075,0.361504,1.58191,5.90167,1.3978,2.34442,-0.463019,11.2528,10.5337,0.425365,-1.43199,9.5846 --12.1511,0.981111,0.830775,4,15,0,22.5239,-0.307224,1.30187,1.80994,1.56375,2.01139,2.04239,1.68329,5.5607,0.243274,3.63017,4.27563,3.2785,0.822182,-1.09093,0.0498756,2.55951,4.88255,3.19593,1.66169,0.84257,-3.09067,-0.514988,-7.0635,1.74314,13.5091,2.4395,1.81849,12.2316 --15.7763,0.724133,0.830775,4,15,0,28.3273,1.36917,0.765262,3.55799,2.90022,2.16188,2.27246,5.19047,5.50345,0.148963,2.69229,3.43255,4.39679,1.04071,4.59617,5.99378,4.03299,-5.29287,9.63659,4.84546,0.631681,1.35802,5.22422,2.53864,-0.609615,11.1758,3.57572,6.63595,17.3319 --13.441,0.987793,0.830775,5,47,0,32.1889,0.0218252,1.94897,2.7734,4.0439,0.318264,0.572228,4.05923,6.26143,-0.012675,2.61756,3.77535,3.80691,-0.787418,7.76404,7.41647,5.40592,6.1774,-4.99707,-0.158096,7.96184,3.11471,-1.49744,6.19614,5.08359,-3.63424,-2.14062,4.61285,4.13558 --17.671,0.811765,0.830775,4,15,0,31.7751,-0.971577,0.75333,1.76869,3.20708,1.01007,1.00559,3.96626,5.99211,0.112718,1.18053,3.46511,5.09758,6.9009,-6.54741,-1.57282,3.05096,-5.20568,10.3803,7.13173,0.126658,2.33551,3.71007,4.93034,3.60236,4.37815,2.01327,-7.13624,9.70535 --14.2579,0.85056,0.830775,4,15,0,31.0122,0.311392,1.32019,2.10975,4.36414,1.65066,2.58579,0.628917,3.36002,-1.29267,0.151313,2.38955,2.69767,-4.78957,9.19001,5.71254,6.84381,2.67762,1.88939,0.835176,4.29246,4.39095,6.79792,0.240174,6.97434,2.60699,-0.0106917,7.10466,13.691 --12.6715,0.870801,0.830775,4,15,0,29.0746,-0.440296,0.377727,1.98087,1.76883,0.47062,1.51392,4.82142,4.00326,1.6467,3.47601,3.01733,5.29643,-0.833692,1.86987,5.18654,12.2924,0.0621044,-0.163009,-2.19347,8.3427,3.74156,7.36279,0.0978851,-0.921917,-1.30179,2.38521,4.55349,15.3968 --7.21416,0.997544,0.830775,5,31,0,22.4834,-0.939091,0.899855,2.74067,2.0939,0.961696,1.71176,3.90845,3.82235,0.64077,4.388,4.45122,6.57628,2.37245,3.15336,3.98198,4.19657,1.09761,1.71428,-3.27931,4.96475,-1.74747,-4.39245,5.56825,6.77579,8.52975,6.14435,2.17327,4.44091 --14.8726,0.629299,0.830775,4,15,0,23.5305,1.64953,2.8374,2.51983,2.14203,-1.25232,1.84991,2.47643,3.82294,2.57613,3.06485,4.60554,7.24694,2.37402,1.37659,0.396707,3.30713,-1.64729,3.66832,8.41829,3.50586,3.88914,7.88367,-6.4591,-3.14255,5.97921,5.93684,8.28527,0.704821 --17.8162,0.925698,0.830775,5,31,0,29.5339,2.01172,1.57557,3.45175,3.6111,-0.575184,1.94042,1.71043,3.92246,5.33515,3.58944,4.96895,7.56728,0.301971,-1.44117,7.37294,4.21087,3.00228,-0.0759889,-1.94876,4.41584,-1.27565,-2.0368,12.9715,13.2268,3.62518,-3.74531,1.64753,1.4742 --12.8464,1,0.830775,5,31,0,25.7987,0.1923,2.0807,0.654374,2.51816,1.88552,1.75706,3.78138,3.93358,4.44004,2.80843,4.55067,5.25102,5.34568,1.8392,4.71592,5.37797,-0.903798,4.31221,6.97827,4.13553,3.33378,8.14747,-6.49624,-3.65208,-7.97646,9.78525,-1.38525,-0.439758 --13.3816,0.928589,0.830775,5,31,0,24.1076,0.416173,1.13206,1.60589,1.85413,1.20711,2.19678,4.24757,3.97381,-1.79776,-0.81427,2.73609,6.50253,4.22809,0.264215,6.77034,3.91988,7.51475,2.65985,-2.75821,5.47937,-1.76302,-3.40353,12.1478,10.112,10.9845,-3.08139,5.22562,5.27032 --13.0048,0.836193,0.830775,5,31,0,29.3466,-0.303438,2.06344,0.602846,2.21379,2.18293,1.92452,3.97372,4.38872,2.92614,4.26297,2.90518,1.34432,4.168,0.343033,5.81792,4.13847,7.55287,3.16483,1.42458,2.75672,5.35715,5.37981,-7.3324,-0.553859,-9.61981,7.25374,0.641922,2.74269 -# -# Elapsed Time: 0.031 seconds (Warm-up) -# 0.031 seconds (Sampling) -# 0.062 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/output_no_warmup2.csv b/arviz/tests/saved_models/cmdstan/output_no_warmup2.csv deleted file mode 100644 index a1e72c3945..0000000000 --- a/arviz/tests/saved_models/cmdstan/output_no_warmup2.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = test_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 100 -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = (Default) -# init = 2 (Default) -# random -# seed = 721270991 -# output -# file = output_no_warmup2.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,y,x.1,x.2,x.3,Z.1.1,Z.2.1,Z.3.1,Z.4.1,Z.1.2,Z.2.2,Z.3.2,Z.4.2,Z.1.3,Z.2.3,Z.3.3,Z.4.3,Z.1.4,Z.2.4,Z.3.4,Z.4.4,Z.1.5,Z.2.5,Z.3.5,Z.4.5,Z.1.6,Z.2.6,Z.3.6,Z.4.6 -# Adaptation terminated -# Step size = 0.844171 -# Diagonal elements of inverse mass matrix: -# 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 --13.3909,0.674861,0.844171,6,63,0,27.9908,0.474392,-0.563751,1.36737,3.64664,0.33028,0.560926,3.86748,4.15233,-0.311046,3.28398,5.26612,3.57651,2.74314,-2.72328,1.3694,4.97468,5.65451,-8.40634,8.33407,8.49446,7.21058,-1.06257,2.43277,5.6806,-4.50462,0.952263,-0.184883,1.00549 --11.703,0.714189,0.844171,4,31,0,28.2504,0.657232,-1.14858,1.94455,2.17346,2.12125,0.998684,2.9452,3.23678,0.166365,2.13431,-0.612292,5.72454,3.94232,-0.5957,3.4856,4.22571,6.6618,1.7447,2.67607,-0.543392,5.13481,-5.57966,1.82514,6.35119,1.36147,2.02359,-2.58933,-3.2643 --13.4343,0.962894,0.844171,5,63,0,22.6299,-0.377308,2.20475,2.74325,4.81869,-0.426657,2.40457,2.33111,5.28354,-0.0328328,-0.767731,0.529411,6.67746,2.58169,-0.0983652,1.01763,5.68028,-5.63463,5.11665,5.5542,7.35959,-1.26758,8.61367,5.2876,1.24468,2.24355,0.831714,3.29848,14.5303 --14.5649,0.999194,0.844171,4,31,0,23.8969,-1.29809,1.35038,2.06607,5.1597,-0.074918,2.3831,3.63984,5.20397,2.37637,4.622,6.32532,1.56596,0.241691,3.61176,4.93417,1.56396,3.16792,-2.57979,0.872351,-2.13634,3.90372,7.60086,9.02549,-5.33542,1.83057,2.13092,0.506524,8.88566 --17.0574,0.800709,0.844171,5,63,0,33.4565,0.376468,0.234526,0.938151,0.402459,1.73188,0.805984,2.76008,2.28808,5.2863,4.62177,3.74649,1.99058,1.68932,6.59304,4.45555,3.58864,-3.05296,0.767774,4.16573,-2.05519,3.30981,10.6604,7.56338,-1.49103,-1.82048,3.89251,-2.71189,8.13169 --15.5468,0.989167,0.844171,6,63,0,28.1758,0.615362,1.36993,3.03314,3.84114,0.260887,3.39861,1.36096,6.6465,1.82324,5.93898,3.04213,0.994337,-2.31309,0.903254,2.35498,2.75567,5.12135,0.873727,2.94772,8.37942,0.444343,-7.50328,-1.17895,8.42302,1.69715,-0.726329,8.91213,2.15181 --16.2414,0.942558,0.844171,4,31,0,33.5732,0.354726,2.57804,2.85503,3.62597,0.728034,2.87334,1.58235,5.50767,-0.909693,5.88553,6.69592,1.9128,2.86063,5.56908,3.81786,8.52969,-3.14312,-0.0170392,0.829327,2.26417,2.63426,11.4787,10.0684,3.07923,1.21925,8.60023,8.95643,-0.409192 --16.3971,0.969498,0.844171,5,47,0,29.718,0.115806,1.81942,1.63914,3.68248,1.38378,2.34654,1.27421,5.63025,2.88663,-2.32352,-0.650427,6.09083,1.49414,4.01862,3.71018,9.65764,-7.22812,4.12368,-1.47431,4.71957,-1.02133,-6.40229,-0.755153,5.73439,2.37943,-4.07286,-1.4504,7.95339 --13.1078,0.99671,0.844171,5,31,0,30.9133,1.29164,-0.200619,2.90341,2.9732,1.37836,1.47167,4.75986,3.8107,2.81857,-0.36797,1.21296,2.27495,3.19661,0.592223,1.84734,3.30276,11.3151,1.87023,7.23413,2.28256,1.458,7.45334,6.73883,1.73322,7.57149,6.76966,9.5831,10.1509 --10.8732,0.867972,0.844171,5,31,0,25.2306,1.54179,0.487756,3.43839,1.99281,0.844981,0.805353,4.88978,3.70037,-0.298159,3.37825,4.92294,6.6285,1.70859,1.34242,2.92076,3.22264,-2.75259,0.344142,3.64389,5.64798,0.345914,-3.96901,1.72694,6.03162,-3.39436,-2.76486,-3.37604,-4.43411 --12.6324,0.987016,0.844171,4,15,0,19.7275,1.52156,0.369789,3.05173,2.20651,0.880105,0.62134,4.88494,3.48614,2.38075,0.668833,0.655822,1.72244,1.07787,4.01123,2.3941,2.83032,-0.21891,0.021967,0.698629,2.59991,-8.18118,-6.09323,1.58975,4.51475,-4.9437,-2.79656,-4.3784,-1.51852 --19.8146,0.568472,0.844171,4,31,0,37.3762,-1.88935,1.1254,0.810084,5.39844,1.0211,3.7715,2.72716,3.52596,1.3223,-1.0899,1.79635,1.50574,0.166968,3.56594,5.37739,6.48638,3.86364,3.84393,5.66395,6.40884,16.527,1.79257,-1.24579,7.27936,6.33072,-0.627544,14.973,-4.8018 --10.9752,0.976584,0.844171,4,31,0,27.0144,-0.532625,1.68117,1.40145,4.83459,0.352956,2.64911,2.85243,3.45584,0.843761,5.33358,4.15654,6.46637,2.00554,-0.156844,1.1499,2.31259,3.34428,8.06987,-2.97033,1.50899,7.07461,-2.83915,6.34215,9.56688,-2.4419,3.80353,3.37625,-0.534427 --16.367,0.808274,0.844171,4,31,0,27.4454,-0.796935,2.13198,2.31145,3.9143,1.53673,3.28859,5.0216,3.85575,0.962788,0.287573,3.19376,2.20392,0.218329,-6.73715,10.5172,4.2026,-2.10534,9.09983,2.31477,6.21009,7.35141,0.73558,7.03518,2.07985,-0.959772,-0.173263,-1.30716,1.84871 --11.0833,0.909004,0.844171,4,15,0,31.5454,0.702434,-0.427586,2.14613,2.19083,1.1489,2.01618,1.4436,4.30216,4.94298,0.222701,2.24145,4.75342,2.83077,-0.280528,4.64312,2.87108,-6.90601,7.78136,-1.94472,6.84758,4.82297,3.18542,4.99604,3.07343,0.420901,-1.50624,-2.42628,5.12465 --12.0993,0.751391,0.844171,4,31,0,28.152,-1.34135,0.112457,2.28799,3.13338,0.628899,2.23786,1.71882,4.74253,-2.91536,3.13739,4.03657,4.20171,-1.5138,-0.488248,2.75006,10.3776,-3.72258,5.61656,4.13345,3.69356,-7.29086,-1.33985,8.47869,2.25517,0.260792,6.653,-2.58375,-0.132752 --10.9165,0.766631,0.844171,4,15,0,24.0441,-1.02694,0.151263,2.46967,3.09469,0.961199,2.24452,1.37049,4.61203,4.9264,1.11657,2.21737,3.52837,4.76998,1.03292,2.75476,-1.24521,3.21856,0.242801,6.88003,3.81171,2.55641,12.6699,5.25221,5.6626,-2.45394,7.10425,2.1996,0.989803 --10.5415,0.582497,0.844171,5,63,0,29.2673,1.03583,1.8643,1.46097,2.93236,0.998496,1.75223,4.60641,3.4092,3.15094,3.95846,2.69958,0.960862,0.362269,0.997566,-1.72135,0.56565,1.37522,-0.380609,1.03898,0.677773,-0.94149,-9.04167,-0.00226802,3.36281,3.74236,-2.72841,4.41554,3.70131 --12.7709,0.99867,0.844171,4,15,0,22.2694,-1.30815,1.14705,1.82208,3.11291,1.1793,1.45073,1.96038,4.3123,3.42885,2.24273,1.96138,2.88268,1.99071,1.30411,7.78455,7.21025,1.62642,6.6842,7.80027,9.13956,0.725074,8.79677,1.2639,1.37055,9.96278,11.5324,14.6065,-2.28461 --12.7108,0.850715,0.844171,4,31,0,27.9946,-1.2157,-0.851499,1.56571,3.00568,0.961882,1.48095,3.00836,3.45603,1.22125,0.636049,2.88802,2.98307,0.411365,5.59616,1.56701,-0.603783,2.2734,-6.4822,-5.24694,8.63593,-1.97844,-3.70532,-2.72333,1.47194,5.32317,6.03517,6.90233,1.65111 --8.69027,0.797523,0.844171,4,31,0,23.8792,-1.08128,-0.651626,1.62182,3.277,1.13668,1.70715,2.94231,3.08618,0.674632,3.455,3.44473,5.61377,2.0679,-1.77939,3.40908,6.61201,-0.680572,3.75086,-4.18326,1.87669,-5.89675,-1.63956,0.22608,-1.97118,-0.920992,-1.58827,3.78606,2.58521 --14.515,0.923868,0.844171,4,15,0,21.9131,1.11789,2.48177,2.47236,3.66139,0.885121,2.67198,3.98687,4.80851,5.03986,1.37385,1.51164,5.09592,-0.138461,6.67381,1.77505,1.0452,-2.2907,-5.00294,7.51455,2.64065,1.96227,-0.798964,14.8482,3.58706,-2.79179,-3.47255,10.8873,2.98317 --12.3589,0.76461,0.844171,4,31,0,27.8493,-1.05448,-0.530073,1.63541,2.4745,1.35889,1.56816,2.17337,2.79509,1.84554,3.54108,4.27767,1.29353,2.14196,-2.49138,4.15301,6.95382,7.67906,9.92551,-0.077506,0.071646,4.80008,-2.85531,0.386291,0.562411,-2.4891,4.33041,7.9452,1.42169 --14.046,0.904713,0.844171,5,47,0,25.5801,1.04694,2.49946,2.39202,3.50756,0.629676,2.42962,3.86005,5.19221,1.85128,5.78547,1.37528,4.53368,1.17242,-0.0106621,1.35484,11.1041,-6.80524,-2.04293,9.0583,5.25306,-3.12428,7.18385,6.06843,7.39062,3.72411,6.12555,1.85306,8.11116 --9.12077,0.809482,0.844171,5,47,0,25.1089,0.692863,0.683467,1.07858,2.68902,1.00051,0.271333,2.17092,4.25824,0.0253895,5.2947,3.50667,5.30762,-2.47288,2.18219,2.34672,7.29158,4.59294,5.55311,0.581537,2.32371,5.25427,-3.17525,-0.182666,1.22987,-1.5612,-5.08278,5.34605,-0.499076 --16.5273,0.629522,0.844171,4,15,0,33.1213,0.221036,0.665019,0.991895,2.98469,1.08919,0.450001,1.97043,4.45578,1.53447,-1.14542,1.56842,3.27308,0.831151,5.46136,8.899,3.98932,-0.805724,12.4594,0.671372,0.958839,9.38661,-9.59292,6.134,-3.54411,-3.56278,2.49148,6.25533,6.01163 --16.1266,0.744069,0.844171,5,31,0,36.2638,-0.0968263,2.30768,1.86512,1.95263,-0.719143,2.45477,3.30936,4.16647,-0.248332,4.80953,1.1782,7.60286,2.65013,7.10588,4.13717,7.35904,2.36181,2.0963,5.76314,8.93644,-7.31169,12.8452,-0.712424,11.9252,3.8203,1.81563,-2.30877,-3.21359 --14.2271,0.944634,0.844171,4,31,0,27.9344,-0.912818,2.08602,1.31321,2.39549,-0.822422,2.61625,3.60349,5.24328,1.09485,-0.926203,3.99869,2.00682,-0.6111,1.67541,8.35127,6.6721,-6.79088,2.50945,2.69247,2.06705,-6.51361,13.0447,4.50893,2.26056,-1.58593,5.78973,-0.286624,2.67078 --13.0171,0.612119,0.844171,5,31,0,30.2212,-0.923804,0.130507,3.01881,3.00898,2.09017,2.6825,4.49857,3.91284,2.67841,5.12068,1.55749,4.69357,2.91913,2.68916,-2.23772,1.85495,5.49214,3.64014,-0.589121,0.837074,-2.14111,4.80473,10.5827,11.5117,2.66359,12.7608,0.474517,5.71646 --18.7257,0.731624,0.844171,4,15,0,30.5578,-0.461947,-0.28509,2.96859,3.27345,3.40526,3.19433,4.57425,3.05395,-0.83491,-2.46742,4.09186,2.83807,-0.700204,2.28151,7.69765,9.82208,1.94739,-5.92202,10.3203,-0.712808,2.70156,7.9282,1.47662,1.59045,1.27524,3.79882,0.791863,1.429 --17.5171,0.980904,0.844171,4,15,0,34.2336,-0.798617,0.140724,3.50673,3.42887,2.20625,3.19789,4.2266,3.1047,-0.960958,-2.58204,3.85728,2.56492,3.79263,5.51041,2.60777,-0.73333,0.0331795,9.98898,-3.96838,8.73807,-2.94422,-4.16282,-1.97908,6.86362,0.940253,8.97231,-2.12855,7.44243 --15.6902,0.820359,0.844171,5,31,0,33.1684,0.280071,-0.739403,0.765889,3.27706,-0.733723,2.46713,3.38089,5.63836,-2.13911,-1.56143,3.62,4.50493,0.124798,0.54214,2.35016,7.54382,2.28875,-5.29375,8.62852,-1.53993,5.35208,5.31311,6.01983,-3.01129,8.01878,2.82298,5.36968,8.90245 --14.649,0.735568,0.844171,5,31,0,33.545,0.791931,1.93499,2.08553,1.14222,2.22184,0.790954,1.501,5.33036,-0.201627,0.824888,4.70728,5.25053,5.07536,4.70569,2.44398,-1.31655,-0.611284,7.47117,-3.44182,9.50742,7.39963,-0.260011,5.2428,2.72816,3.66988,3.04196,7.31053,0.544415 --16.5623,0.96917,0.844171,4,15,0,27.8735,1.0318,2.2595,3.12455,2.90726,0.312193,1.26859,1.79057,3.55332,0.985372,3.5669,0.832884,4.47876,-5.57278,-1.53544,5.18904,9.54697,-0.481389,1.28414,4.95312,-1.9568,-7.18371,1.90969,2.87808,14.4666,12.8443,3.64907,-2.12095,1.62521 --18.2286,0.919884,0.844171,5,31,0,34.9043,-1.48811,0.555414,0.812918,2.32408,2.57806,2.44487,3.28594,5.0897,-3.11703,-1.39274,0.764222,3.68853,-6.8623,2.19515,2.52336,3.30135,1.77747,-1.24914,-0.0589757,3.5332,8.68122,1.78505,2.8101,-6.70222,-6.76447,1.87365,8.22685,12.9106 --15.5818,0.929522,0.844171,4,31,0,31.5738,0.535179,2.34258,2.77095,4.94913,-0.865796,2.60199,3.6186,4.49046,2.09089,1.9669,2.81207,0.683769,8.1081,1.05625,4.37988,4.33345,2.50206,8.40318,7.35427,4.39417,-6.07801,3.81903,9.35129,8.18352,9.84637,3.93901,7.45906,2.75716 --16.0561,0.92898,0.844171,5,31,0,29.6644,1.03837,1.66603,2.78336,5.52294,0.133318,1.80162,3.43833,3.63085,2.25051,2.90951,0.80093,3.91108,-6.08578,0.00218168,1.65481,2.59806,-1.8888,-3.81838,-2.98987,2.47346,-2.69432,5.7412,-2.82129,-3.30315,-10.1213,2.597,4.89433,-2.22657 --14.6756,0.896018,0.844171,4,15,0,29.9085,1.34363,0.519032,2.36418,5.54466,1.92326,1.22366,3.12202,3.05973,0.353467,1.17821,5.07589,4.00513,6.58204,0.962292,1.90054,7.51616,-3.37434,-5.22558,-1.21881,8.50988,-1.15215,10.8089,2.37744,-1.24674,1.90964,4.705,2.02639,0.153002 --10.1006,0.999584,0.844171,4,31,0,22.1065,-0.412439,-0.00910061,0.919985,2.37934,0.785932,2.59277,1.20635,4.66725,-0.726641,1.99742,2.84851,3.86401,1.87312,0.78981,3.196,5.30885,-7.26827,-2.462,1.29698,7.40435,-1.8483,9.34755,-2.8917,0.519576,-3.43845,7.13776,0.88071,3.17415 --11.3987,0.540609,0.844171,4,15,0,24.729,-0.724083,0.480818,1.6269,4.03322,3.78576,2.36464,4.37514,4.63827,2.68375,1.89913,2.37282,1.87375,4.7175,4.33902,2.78446,9.01358,-0.79304,-1.37504,0.209288,5.62002,0.771137,6.39586,2.29178,3.14957,-3.64139,4.77081,-1.09207,2.54166 --15.7375,0.839837,0.844171,4,15,0,29.8347,-1.04862,0.4892,1.60575,4.32263,3.5696,2.67959,4.65093,4.51794,-1.42379,2.0916,3.17384,5.89335,-3.33497,5.69707,3.96599,2.61577,0.877676,1.18352,1.50487,5.11359,2.09846,-5.96542,4.74057,-10.0069,2.14903,4.05618,-2.43348,2.47893 --14.5714,0.956772,0.844171,4,31,0,26.3779,-0.344051,0.811167,-0.139476,2.71919,2.86577,2.06395,4.543,4.2264,-0.600062,-0.166808,4.8013,6.67544,5.08695,-3.03903,1.52005,4.28611,0.826206,-0.155424,6.09995,3.8463,-1.39409,6.78441,-1.01903,12.7219,4.34983,-0.0455034,12.8925,6.6603 --10.5123,0.906468,0.844171,5,31,0,26.2539,-0.25193,0.93663,0.710515,2.76715,1.19608,2.50038,3.31692,3.79931,-2.28598,1.46747,3.19317,8.301,-3.23214,3.01298,4.45624,4.24798,-0.750148,2.21637,5.80499,3.58553,-7.00604,2.92858,-1.56926,3.41688,-7.75801,-0.39925,-5.8461,-0.031977 --12.035,0.784108,0.844171,4,15,0,29.4633,0.588011,1.06951,2.73302,2.56031,1.83556,2.66741,3.12463,4.24573,2.15666,2.58896,1.34157,6.87406,4.33784,1.3954,3.85384,2.95581,0.311605,-0.931642,-8.71767,4.76553,-6.33583,1.15241,-4.17646,7.45212,-0.799826,4.51888,-7.14891,5.74358 --25.4873,0.499437,0.844171,4,15,0,37.1451,-0.129104,0.723576,2.6997,2.02692,3.61286,4.61326,2.87685,3.14912,-0.356201,3.54117,6.49021,4.54088,-0.333907,2.61292,2.08345,6.4678,6.29947,14.7635,17.1274,2.25053,6.11692,-0.479005,4.90273,7.50942,-3.00475,5.62378,-4.79107,9.49546 --10.4827,0.993626,0.844171,4,15,0,33.6194,-0.30338,0.341076,2.39489,3.27934,2.08904,4.24681,3.05242,3.39682,2.30043,1.08574,0.261882,3.59854,1.95683,0.202553,1.57695,-0.620376,2.12576,2.28315,-1.29917,10.1881,4.70954,0.232458,8.80012,6.13055,3.37063,-3.83103,2.88888,10.1894 --10.4759,0.933579,0.844171,5,63,0,24.556,-0.695297,0.549448,2.12414,3.76524,1.86979,3.91125,3.0069,3.56582,0.00222321,3.00272,5.90526,4.30804,1.8558,0.177876,1.6792,-1.05531,8.18273,4.10898,3.98372,10.0606,3.12691,3.05816,-0.804032,4.23368,-1.33688,8.06804,3.24006,-2.31296 --8.89032,0.904471,0.844171,4,31,0,17.1393,-0.619559,0.948469,2.06927,3.15516,1.42921,3.02453,2.52848,3.83633,0.101075,2.87419,5.88312,4.12075,5.01141,4.76359,-0.274352,6.2481,-6.24715,-0.0930494,1.95779,-2.09995,-1.22094,1.35457,7.11743,6.12889,7.82824,1.50845,2.94053,8.99455 --12.5947,0.931608,0.844171,4,31,0,22.5989,-0.375658,0.957748,2.05179,3.32385,1.41432,3.00552,2.43325,3.80588,2.30519,1.32183,0.254906,3.45799,-2.76036,-1.94693,7.73732,5.77916,-7.15388,2.80586,0.325558,4.381,10.2208,8.98168,6.31029,-5.42034,2.11733,6.46349,3.64813,6.40932 --15.6969,0.698425,0.844171,5,31,0,25.8362,0.0928348,0.390409,1.95523,2.55279,0.493019,1.78106,3.37409,3.88878,-1.35847,2.68437,6.56118,6.05318,-2.21675,-3.97697,8.03655,7.11058,-3.51566,4.61868,-1.72289,8.75454,9.73751,6.24563,3.8959,-6.99566,1.23548,8.91957,3.87274,10.3036 --9.5942,0.599274,0.844171,4,15,0,29.8659,0.236748,0.468006,2.33135,2.8125,0.215005,1.50753,3.21678,4.07898,2.90718,1.18524,-0.94392,2.39647,1.57811,5.68917,-1.93652,0.157508,2.96641,-3.96067,4.0673,3.98646,2.74734,3.22358,-5.03022,3.36081,6.46141,0.651903,4.19696,2.55419 --10.2954,0.769211,0.844171,5,47,0,21.8459,-0.0525052,1.98886,2.51869,2.83051,2.73676,2.9919,3.54189,3.68022,2.38171,4.39617,3.40859,4.2177,0.837329,7.23694,-2.46878,5.81244,4.84499,1.20968,4.13466,1.71645,1.10636,1.98137,-1.26816,-1.29031,-8.6718,1.35761,2.37955,7.66503 --15.697,0.891662,0.844171,4,15,0,24.8403,-0.247499,1.93649,2.75408,2.54897,2.85976,2.87344,3.66015,3.87369,-0.190487,-0.135957,2.92218,4.06107,-2.70287,0.330522,6.14155,4.88741,4.66343,4.68068,3.21897,3.59058,4.27617,-8.34802,-4.30107,1.50399,-17.9994,-4.74602,-0.551871,8.0628 --16.467,0.714161,0.844171,5,31,0,29.7045,0.290521,0.0767344,1.25628,3.46092,-0.888316,1.09513,2.29689,4.13846,-0.649204,0.0470439,3.04353,6.82246,-3.43105,2.54623,5.8009,-0.941786,1.19735,-1.06955,1.53938,3.03559,-2.35318,11.9668,10.5294,6.52871,16.856,8.40525,7.16801,8.54087 --17.0081,0.719327,0.844171,5,31,0,31.5512,-0.971426,-0.884368,2.31619,2.12365,1.10405,2.90598,3.27982,1.59005,-0.239043,-0.686418,4.51229,3.73905,4.56966,0.070885,-0.0218788,8.16933,0.535953,3.833,2.56814,5.89342,5.11392,-3.97408,-3.33704,2.96258,-3.67973,-16.2776,5.27668,1.767 --10.7025,0.984587,0.844171,5,31,0,27.55,0.531088,1.43867,1.12981,1.87164,2.45309,2.37396,3.60408,3.44305,-0.567084,1.79682,2.45984,4.29938,-3.51842,4.57089,7.68619,2.31967,2.87196,0.226849,3.59424,0.688293,0.360827,5.84777,2.28478,9.65498,-0.869254,15.126,-0.417098,-2.73202 --10.6541,0.815609,0.844171,5,31,0,24.7862,-0.539373,0.597407,2.85118,4.11907,-0.487368,1.65113,2.38128,4.53305,-0.193965,-0.272711,2.48264,4.01112,3.27034,4.82292,6.73278,1.73974,3.35759,5.23605,1.02781,7.84423,2.21127,-2.28038,3.58088,-2.03708,11.723,-4.64814,7.0801,10.7701 --13.2624,0.752478,0.844171,5,31,0,23.7558,1.50864,1.7803,1.56702,4.72815,1.81023,1.44644,1.76981,3.15537,-0.942573,3.12587,2.02299,4.90617,0.468212,-1.0481,-1.91545,5.82715,-1.14699,1.04107,4.30976,0.636369,3.04423,7.49721,-0.459154,10.9791,-1.16812,9.53868,-7.1648,-4.29349 --12.966,0.690428,0.844171,5,31,0,33.7955,0.831342,0.78508,1.92616,4.47348,0.689837,2.51793,2.74139,3.85921,3.67785,0.596894,5.81725,0.949986,0.582968,0.680491,-0.588262,5.27314,-3.25032,3.58731,-5.4636,3.10928,-1.41268,-1.8437,3.77204,1.99548,3.76335,-4.84114,14.5135,12.7622 --14.6435,0.77478,0.844171,5,31,0,24.6353,1.38994,0.788206,2.87713,5.11352,0.835242,2.01161,2.93455,4.23985,3.82995,0.641003,5.63209,0.782887,2.98473,7.1755,2.40137,3.62258,5.16707,0.213833,11.3983,4.8437,1.40913,5.4703,0.991037,1.53287,3.49839,6.91369,-8.11058,-1.46002 --15.7307,0.850935,0.844171,5,31,0,30.8252,0.697588,1.90077,2.59698,2.8034,-0.426662,0.762429,4.3839,2.50357,5.3694,3.07221,3.87256,2.15346,-1.5577,-0.887987,3.63495,5.77416,-1.94925,1.69016,-6.01184,5.85777,6.31609,2.11105,0.180733,2.71851,-12.6657,4.46434,9.27065,2.18577 --13.0433,0.999768,0.844171,5,31,0,26.4935,-0.972137,1.40014,2.87317,2.01825,-0.0231014,1.91717,3.30325,3.07716,-3.79684,0.0510306,1.70813,6.31573,-0.357448,6.95533,5.403,-1.03162,-1.33505,4.22742,3.59566,-1.3044,2.52969,-3.05988,0.140586,-1.54412,-4.74534,0.229128,0.30249,2.11776 --15.3485,0.901093,0.844171,4,31,0,31.0156,1.02778,1.00563,0.679853,3.93023,1.59531,2.32168,2.78074,4.75639,3.12652,2.56917,5.56303,-3.76203,1.62779,2.85794,4.96314,3.43612,-5.03634,4.83193,3.28847,2.62604,-2.28005,-2.01389,0.230454,3.03026,-4.47172,-5.81268,7.64063,3.67272 --15.8271,0.701855,0.844171,5,31,0,35.3883,1.24248,0.711156,3.80477,2.40081,0.725054,3.36599,1.03769,3.33578,-0.0369327,0.998322,1.08318,9.71393,0.768034,2.89085,3.98686,3.27377,-3.19686,3.90799,1.03977,-0.923321,6.83246,10.1178,5.23083,0.405116,5.18354,8.89138,-2.02864,4.65969 --13.4509,0.965505,0.844171,5,31,0,27.9694,0.640735,1.13038,3.45229,2.06972,0.667051,3.27123,1.39475,5.0221,-1.74503,1.7365,2.5499,8.7402,-0.202664,1.97394,3.13473,6.37176,2.10041,2.32509,3.97614,8.72693,5.58071,-11.3835,2.88568,3.54987,3.0703,3.25656,1.37375,4.49851 --14.1589,0.775832,0.844171,5,47,0,24.7571,2.47008,0.362659,2.95997,2.71419,-0.818824,0.540908,3.55893,2.38258,3.04783,2.04064,4.49376,-1.42755,1.2702,2.24266,3.9873,3.94716,2.21461,3.80355,4.86389,1.39897,1.90499,1.06365,1.79995,4.37413,-1.19472,-6.15183,6.09542,2.88057 --16.8453,0.931373,0.844171,5,47,0,28.0571,-2.83342,1.62757,1.05119,3.2188,2.77305,3.34673,2.35034,5.79913,-0.227712,0.775074,3.56834,1.41301,0.726567,1.70984,2.22771,4.05096,1.2206,0.0309957,5.04477,6.50369,7.9234,8.54716,9.8457,8.71185,-9.88765,-4.28396,6.98457,-1.97054 --15.3431,0.997889,0.844171,5,31,0,28.7602,-2.80868,1.90735,1.00372,3.36079,2.7115,3.2023,2.42996,5.83666,0.15164,0.770844,4.06021,2.00777,4.35145,-1.48709,0.465379,2.58287,0.81351,-1.13427,4.68402,6.22369,-5.06382,6.49756,4.08758,6.28151,6.47458,0.56978,5.17349,13.9554 --20.858,0.876808,0.844171,5,31,0,31.0364,-3.82695,1.24809,0.921805,4.38214,2.68077,2.51725,2.55819,5.53325,-0.000645951,-1.37821,4.4968,3.10154,-1.26008,4.67947,2.47487,-1.50192,0.154476,-3.10867,5.54662,4.52381,-1.53517,3.63142,-6.92957,4.82933,-4.40794,9.69876,5.78739,-0.50999 --12.7339,1,0.844171,5,31,0,29.4675,-1.41031,2.62504,2.92107,4.19826,0.48805,1.04533,2.68486,3.55615,-0.715551,-0.944109,4.40884,3.34085,5.1642,2.52558,1.94932,6.93151,2.05161,8.38394,-0.711995,3.66406,3.65418,-0.382768,14.0648,6.29284,5.70367,5.04308,-1.42256,4.95946 --17.68,0.704858,0.844171,4,31,0,33.8957,-0.965564,2.8294,2.69623,4.04299,0.756255,1.21916,2.40417,3.68093,2.63925,5.18425,2.06197,5.32912,-3.21747,4.90296,-3.69163,-4.24714,-6.69177,0.998309,2.61441,8.81137,2.5942,-4.43218,7.39164,5.59417,2.3651,-0.9159,-1.56821,0.424298 --18.4748,0.938698,0.844171,4,31,0,31.095,0.710714,0.272663,2.2416,1.8199,0.243113,0.00466097,1.76826,3.15486,2.11068,0.255661,4.15321,3.76504,5.72806,-2.07793,9.20256,10.6535,0.334288,-0.198109,10.9999,-0.319285,-2.69896,-6.03507,6.11481,-0.0394603,3.2393,-3.70018,-1.676,11.1575 --7.64959,0.933554,0.844171,4,15,0,26.7942,0.511457,1.67114,2.0545,2.18704,0.556556,2.10098,3.21543,4.3985,-1.91584,3.25399,2.88887,3.28471,-0.123967,3.26422,5.55698,3.30817,-3.38983,-0.287981,9.22365,3.4245,-6.32495,-5.16658,6.09092,-1.14633,-0.042506,3.80988,2.16515,3.45741 --12.5632,0.531559,0.844171,4,31,0,22.4551,-0.343381,1.94454,2.55861,4.54156,-0.45677,2.52599,0.780815,3.20929,3.86163,-1.10701,1.44934,3.33493,-3.39165,1.78777,3.51488,2.61599,-0.214258,1.91191,6.03656,3.82876,-5.77173,-5.73788,0.757783,4.4837,2.53098,0.420429,-0.214025,0.279155 --16.3196,0.97137,0.844171,4,15,0,30.7575,0.872752,0.473047,0.490368,1.13409,1.71914,1.78575,3.61369,4.7516,0.206967,5.52239,5.47281,2.0948,6.42634,2.80203,3.97282,3.0324,-5.81204,-0.192876,0.19149,3.01561,6.75532,9.90655,1.36572,2.91926,0.729022,3.52712,16.4098,-5.08348 --11.5779,0.953696,0.844171,4,15,0,24.5811,-0.204967,1.3134,0.821247,3.79456,1.9126,1.61417,3.12947,4.603,2.08274,-2.07374,-0.808361,6.86351,-0.917012,0.291632,1.46218,2.02752,1.32733,-1.02408,3.32788,1.99516,1.3833,12.4351,1.65605,5.24364,-2.81558,0.293508,12.0403,3.9866 --6.73851,0.974535,0.844171,5,31,0,18.3186,0.205529,0.846244,2.9726,2.23778,0.11923,2.45071,2.78838,3.50662,-0.261114,0.698772,3.34341,6.80157,3.01724,3.6624,4.58464,5.86755,3.01418,4.14959,0.889165,5.30234,-0.352644,-0.0685028,3.75427,-2.77639,2.48827,9.14909,0.67015,11.8599 --14.5427,0.676303,0.844171,5,31,0,25.0376,-1.46701,1.65366,1.52356,2.26574,2.10341,1.4798,3.50296,3.9814,3.32141,5.99649,2.26503,0.369097,-2.53813,1.39522,2.125,3.44464,4.05941,4.97691,4.51951,-1.22979,5.76966,-0.96306,-3.9524,3.20673,7.56352,0.194681,15.6225,11.9399 --9.73543,0.779237,0.844171,5,31,0,26.4636,1.46915,0.354564,2.47886,3.72539,-0.0796324,2.55315,2.44614,4.04799,0.571768,3.60433,5.46528,6.2987,2.4712,0.551478,4.04904,1.64984,-0.979421,1.9776,1.9373,8.90109,-4.48168,5.37582,10.3261,4.99341,-6.1726,1.82024,-1.80807,-4.24293 --15.122,0.750069,0.844171,4,31,0,32.3461,-1.3236,1.42226,1.69592,2.33417,2.09834,1.50135,3.57728,4.36887,-1.80016,0.809161,3.05588,1.77062,-0.263665,3.22486,2.00555,6.31401,5.20883,3.15162,-0.207073,1.74948,5.89262,17.6933,9.06773,5.42609,-4.59632,-8.77338,3.44594,13.7396 --20.9717,0.748637,0.844171,4,15,0,33.8229,-0.0837825,2.26379,1.47646,1.68496,-1.08373,2.90545,2.81608,3.50999,0.85535,1.46595,6.1079,2.2809,0.601603,6.75251,4.75115,4.08668,5.85508,3.40341,-3.39954,2.21067,7.8095,17.7213,10.6192,6.92282,-4.985,-11.8432,3.93293,11.8181 --17.6253,0.874435,0.844171,4,15,0,32.2307,0.587272,2.65264,1.80902,0.962219,-0.875826,2.06001,3.70322,2.72837,1.07909,1.68817,0.0235253,6.03469,-0.426353,5.16734,-5.34417,4.58377,-0.902624,-1.19083,1.7696,1.33733,6.82443,5.89765,10.4214,7.26894,-1.97339,-7.6215,-1.2882,8.79216 --9.94873,0.966694,0.844171,5,31,0,31.5477,-0.899142,2.8235,2.56815,3.60931,0.668322,1.28238,3.01981,2.90741,-0.224277,-0.896799,3.35299,3.19795,2.11716,-0.637016,6.14661,1.34555,6.67195,4.3975,2.21731,0.99982,8.63426,2.50583,2.87487,9.47393,7.10283,-0.817618,3.557,3.22755 --10.6984,0.97101,0.844171,5,63,0,19.382,1.01859,-0.662955,1.51639,2.63813,1.3297,2.86064,3.03328,5.2313,-4.22162,2.75674,1.30242,3.34867,-0.156965,4.56783,-0.200733,6.80913,-1.03827,0.114539,2.88885,4.55804,-3.37489,1.69326,-1.71158,0.716529,0.918476,3.30371,10.3742,5.06467 --11.8913,0.586913,0.844171,4,15,0,27.5843,-1.2404,2.64702,2.7592,3.21847,0.790891,1.55573,3.30515,2.9732,4.48719,0.975067,1.25877,2.81707,2.30209,-0.686633,6.27586,1.12821,3.44488,4.38009,7.82181,5.54342,1.93323,1.99078,1.58443,15.5866,2.64533,2.38953,-3.71288,9.57479 --11.4806,0.9874,0.844171,4,31,0,24.2429,-1.41355,2.29311,3.0175,2.51816,1.82177,2.43321,3.72783,3.34116,-1.82743,3.33558,4.72446,5.27625,1.46573,3.1561,-0.297014,1.81955,6.73805,1.54235,1.05816,9.3673,9.40591,-1.11971,0.754985,2.31278,-1.23332,-4.50853,3.22544,-3.90991 --11.8147,0.836065,0.844171,5,31,0,30.3343,-0.91348,1.47155,2.2968,2.94862,2.06174,3.45567,3.24121,3.89373,4.2969,0.794628,1.33254,2.20281,0.824637,4.32091,2.02664,4.05411,-0.0433369,4.37313,0.719519,6.40311,-11.2095,5.79554,6.95996,11.5774,2.44396,7.91891,2.58113,13.0405 --14.0337,0.73187,0.844171,5,31,0,25.3548,1.08267,1.7434,1.65118,2.24881,-0.924059,-0.770808,3.18049,3.57587,0.0835103,3.5891,0.28852,4.04931,1.15529,0.024807,3.69694,4.85546,2.95674,2.41808,4.11061,-0.677878,4.5637,2.84894,3.78812,-3.14299,1.22527,6.11547,-8.86968,-4.75737 --18.5837,0.970664,0.844171,5,31,0,30.4991,-1.32,0.0831128,2.52753,3.83755,2.76989,4.55473,2.95457,4.3001,1.93207,4.06664,2.00493,9.59384,0.777961,3.93475,2.12598,3.15288,-0.869573,3.79069,-0.225023,5.9899,-7.13236,8.60624,7.0444,6.09814,-9.5784,3.64838,-5.43138,-4.93085 --15.3508,0.997211,0.844171,5,31,0,33.2661,0.79593,1.01404,0.504183,2.21068,-0.556904,1.60073,3.20305,5.67864,1.91563,2.92893,3.42073,6.03574,1.59455,-0.848079,3.74367,3.92876,3.07345,-1.8637,2.91959,0.30784,9.08841,1.37779,-5.77746,-4.59627,-13.102,-8.12595,5.31247,3.34805 --14.3057,0.832836,0.844171,5,31,0,26.5825,-0.557611,1.16026,3.93298,3.72569,2.61642,2.43208,3.20126,2.21769,0.762787,-1.11648,2.60943,2.06207,1.25285,0.564134,6.17987,2.52074,0.685323,-2.37334,5.48904,4.39882,-2.79369,-6.17768,6.90093,5.03043,15.6519,9.30724,2.35716,4.72172 --9.86483,0.99809,0.844171,5,31,0,24.0617,0.379766,1.06401,0.12788,2.73787,-0.378014,0.391936,2.46218,4.29855,0.946478,2.76991,4.34294,1.64764,-0.159915,3.20975,0.368481,4.50029,-2.52857,2.9142,-3.04508,3.60786,-3.29532,0.482629,4.28422,-0.853608,0.462176,12.2663,0.692186,3.52964 --10.1412,0.886394,0.844171,4,31,0,26.6743,1.90388,1.75204,1.49221,3.3329,0.927816,2.72408,4.00339,3.69458,4.32276,1.36671,2.0449,3.06858,1.87358,-4.99267,2.08122,3.44738,4.99249,3.54306,3.72013,5.67639,3.14664,1.46558,3.95706,4.94934,-8.99123,5.89884,6.35226,4.70879 --13.172,0.930259,0.844171,4,15,0,22.1654,0.851022,1.6233,2.05234,3.72122,-0.801303,2.31897,3.36054,3.06983,-0.806413,3.08703,3.42533,4.78091,2.02315,9.27818,1.77245,3.85574,3.087,8.18453,8.00432,0.195468,6.51639,-4.74466,12.2987,0.6904,4.00797,2.88325,-1.09218,2.28616 --22.0046,0.721987,0.844171,4,15,0,35.5266,1.27187,2.02787,1.39853,3.70369,0.249259,-0.131343,3.93954,4.06998,1.68835,0.901839,1.07634,5.86814,3.33005,-9.63914,4.81704,2.81703,1.00768,3.73211,7.48436,-6.40276,-1.13982,-6.54884,11.717,3.0177,6.434,0.440009,5.76618,8.63217 --24.5883,0.977107,0.844171,4,15,0,35.5845,1.93773,0.506812,2.6117,2.88943,1.68813,0.108005,3.04741,3.11637,-0.380658,0.709147,0.0524012,7.09228,-2.99534,13.2502,-0.123076,3.41287,1.9176,2.17796,-0.934387,15.8349,7.80932,9.33291,1.6022,7.78862,8.42092,7.21528,-0.45236,8.20494 --15.7174,0.996509,0.844171,4,15,0,37.1702,0.612152,-0.301057,2.67833,3.96213,0.214074,0.986607,3.96263,4.47922,2.51522,4.40928,4.3231,1.6982,2.64057,3.76027,6.34819,8.4137,2.1163,2.42055,3.34158,15.7225,1.27394,8.51195,2.9311,9.50719,11.2513,-0.821409,-6.55951,2.48691 --15.2729,0.718156,0.844171,4,31,0,35.8481,-0.308537,2.37592,1.14271,2.23241,2.10814,2.97309,2.27431,3.45235,-0.132863,1.66578,7.57442,5.95981,-0.333208,0.269069,-0.28458,-0.478635,-0.0241709,5.98551,3.44164,-3.42877,-3.0604,8.19852,-5.33651,13.7337,-2.31071,3.69602,1.6973,3.23005 --12.607,0.896918,0.844171,4,31,0,26.1597,-0.842561,0.691641,1.81322,1.81089,1.25056,3.89509,2.62674,5.51071,2.25533,1.8136,-0.350533,2.80741,-5.2463,-0.761904,2.50969,1.24594,-3.13583,7.27677,2.05374,4.89,-3.14602,2.36529,-1.28767,9.62826,-2.41359,-2.46844,-2.21782,3.09375 --12.2353,0.942005,0.844171,4,15,0,28.0929,-0.00770032,1.22693,2.45631,3.21531,1.3943,0.300564,1.84364,2.49048,2.51751,1.11241,5.87685,5.22643,4.99861,2.86424,2.6333,7.28688,0.474024,0.906479,-1.68417,2.856,-5.2014,-0.770237,-1.62801,3.53849,-10.4893,4.40182,4.25373,-6.5405 -# -# Elapsed Time: 0.016 seconds (Warm-up) -# 0.031 seconds (Sampling) -# 0.047 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/output_no_warmup3.csv b/arviz/tests/saved_models/cmdstan/output_no_warmup3.csv deleted file mode 100644 index e995f93c5a..0000000000 --- a/arviz/tests/saved_models/cmdstan/output_no_warmup3.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = test_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 100 -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = (Default) -# init = 2 (Default) -# random -# seed = 721273429 -# output -# file = output_no_warmup3.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,y,x.1,x.2,x.3,Z.1.1,Z.2.1,Z.3.1,Z.4.1,Z.1.2,Z.2.2,Z.3.2,Z.4.2,Z.1.3,Z.2.3,Z.3.3,Z.4.3,Z.1.4,Z.2.4,Z.3.4,Z.4.4,Z.1.5,Z.2.5,Z.3.5,Z.4.5,Z.1.6,Z.2.6,Z.3.6,Z.4.6 -# Adaptation terminated -# Step size = 0.865839 -# Diagonal elements of inverse mass matrix: -# 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 --7.99324,0.999747,0.865839,4,15,0,27.6343,-0.844196,0.922784,1.11596,3.33289,1.26162,2.63801,2.62082,4.81579,-0.113506,3.37881,2.72398,4.9507,-4.15259,0.409396,7.19858,4.4907,3.84388,0.188849,5.44927,1.12953,9.21771,3.87542,3.51038,-1.11744,2.83948,2.25042,9.57476,2.6958 --7.27794,0.787339,0.865839,4,31,0,17.9656,-0.177788,0.553513,2.57808,3.26861,1.46652,2.25006,3.62863,6.0655,1.29781,1.858,4.01405,4.04753,1.94077,0.297402,7.03119,2.42021,1.04903,0.917541,4.01647,0.28534,4.54928,-5.92583,6.15784,-0.811678,-2.97067,1.30415,6.28849,5.84893 --12.6199,0.89174,0.865839,4,15,0,21.7022,-0.171442,0.577617,2.5742,3.27303,1.47002,2.26874,3.64082,6.06042,0.378713,2.30591,2.24993,3.78692,-0.349151,-0.655644,1.6953,10.0951,5.29987,6.88419,3.85508,-1.21277,-2.50261,-9.06099,9.67236,-2.82613,-2.79365,-0.848853,3.63162,2.68581 --5.84582,0.987989,0.865839,4,15,0,21.0716,0.0566283,0.523975,2.29981,3.65304,1.5442,2.33579,3.41114,5.31892,1.36622,3.49859,3.40588,4.08015,3.18621,4.32752,5.1632,3.12048,3.02642,1.1747,2.54788,-2.49743,0.976737,-1.71909,-0.474999,1.99858,-3.15515,-0.0240975,-0.284267,10.6034 --7.22337,0.850255,0.865839,4,31,0,15.9429,-0.282573,0.872757,2.20886,2.46174,0.951999,1.97062,2.32487,2.51922,-0.266081,2.12637,-0.388608,3.92384,1.18699,2.31361,8.51638,1.80135,1.75958,-0.310884,2.72,0.30332,-3.61284,-0.656564,1.86656,1.84,1.98524,-0.176411,7.07668,9.80269 --10.9027,0.629366,0.865839,4,15,0,20.3633,-0.267822,0.86781,2.22225,2.47075,0.986891,1.97651,2.32298,2.55526,1.98188,1.9004,6.37901,4.1605,3.76463,2.46728,-3.42439,1.27804,3.0038,1.54017,-3.68265,4.39045,-4.01741,-2.99049,-1.29949,-1.52809,3.59167,-3.18263,5.72538,10.8005 --13.6529,0.485448,0.865839,4,15,0,37.2489,-0.304477,0.884764,2.23611,2.4443,0.999686,1.98382,2.31985,2.56786,0.606615,2.58643,-0.399411,3.62874,-0.0990902,0.86497,8.76022,-3.10849,5.39632,2.5384,-3.73664,8.16854,-4.6134,6.01937,5.49111,4.1775,-5.19809,-1.20448,6.77595,13.752 --16.1529,0.742143,0.865839,4,15,0,26.3979,0.685866,1.3344,1.52711,3.7443,1.08553,2.00639,4.69817,5.71526,-0.250819,4.40221,3.21389,2.42591,1.27585,3.98006,-3.47957,11.9815,-6.14861,1.21054,8.59525,2.75425,5.38849,2.0046,7.62004,-1.08816,6.33458,-1.38757,4.95418,-2.83878 --11.8451,0.903298,0.865839,5,47,0,28.405,0.542597,1.029,1.94745,2.47994,1.32574,3.03457,3.28534,4.31514,-0.938232,4.59922,4.11986,2.25136,1.53947,2.00002,3.16024,-2.35844,8.059,2.54331,-3.14169,5.96624,-6.4629,-0.456707,-0.992526,8.80419,-0.57704,4.67939,-8.04636,2.00115 --10.9875,0.812963,0.865839,4,31,0,22.2055,-0.482701,1.54112,2.54665,2.71581,1.44313,2.00495,2.1686,5.38665,3.04565,0.359664,2.43395,6.06075,-1.08732,3.07119,-1.04471,9.85066,4.74879,-2.61278,1.69013,5.12853,-2.24694,7.02258,-0.666805,7.95246,-4.37686,4.64755,-6.88761,8.08631 --13.0434,0.979197,0.865839,4,31,0,22.5717,-0.28054,0.782154,1.83513,3.49819,0.84054,2.43592,2.78484,5.10321,-1.47375,3.54508,4.10588,3.36072,2.15372,1.3401,8.10827,1.42736,4.5914,5.57409,-0.367588,1.19562,5.26484,7.77056,6.59344,-0.214634,-3.24266,12.4537,-11.7781,12.7925 --11.5127,0.727392,0.865839,4,31,0,32.9491,-0.30323,0.788135,1.84558,3.50252,0.810453,2.44972,2.78223,5.09386,3.23986,0.33077,1.78959,4.48338,2.40365,7.04372,4.29813,4.31678,1.97204,8.85181,1.64427,6.95323,-6.0013,-1.10681,-2.09259,3.25829,-13.3011,6.27541,2.167,-4.98625 --11.4206,0.412407,0.865839,5,31,0,31.9094,0.287928,-0.276135,2.70389,2.51593,0.720539,2.41993,2.57323,4.00277,0.913996,1.35948,2.50986,3.59495,-0.173889,3.16531,0.455747,4.2488,3.24512,-5.15689,5.0326,0.0926552,8.04189,5.04049,8.06164,4.66657,19.606,1.14812,-1.97762,7.16684 --18.5445,0.698432,0.865839,4,15,0,32.3379,-0.195709,1.42223,1.76309,2.91519,1.90046,1.56617,3.82203,6.41629,2.9139,-0.17021,5.77294,4.59101,1.67686,3.11779,-0.6432,6.64,0.985195,-4.41138,6.96971,2.50154,12.4163,2.47543,4.72897,5.91658,21.7661,2.62818,-4.02403,6.75413 --19.5386,0.778045,0.865839,4,31,0,33.1235,-9.201e-005,0.0345739,1.27053,3.56901,2.92652,0.746443,4.57169,3.88272,-2.94227,3.29373,2.85077,2.96293,-1.36667,2.49282,8.85221,1.92427,-1.05609,0.824308,5.67164,10.2465,8.67593,8.87729,6.59172,8.76937,19.4917,2.47129,-4.39933,5.64623 --14.2337,0.732577,0.865839,5,47,0,35.2073,-1.88233,0.422604,1.82597,4.28268,1.82123,1.82141,5.528,1.92671,-1.12753,3.31424,3.26225,2.7166,4.00374,1.98584,-0.0724984,5.88411,2.18578,4.19563,2.33336,-4.55359,-2.98077,0.936078,5.13166,2.28577,5.19381,5.6343,5.68543,5.43888 --13.3854,0.967825,0.865839,4,15,0,27.3718,-0.784124,-0.045389,2.86341,4.93726,2.18635,1.36174,5.26973,2.79665,0.55412,2.83941,1.8182,1.69024,-1.03212,-1.66407,5.41537,2.09138,-3.38988,-0.455854,1.8202,12.1835,-3.65169,2.57416,2.89412,5.28103,2.85142,2.69144,6.15429,2.60226 --10.9126,0.986732,0.865839,5,63,0,23.786,-0.0508802,1.32195,2.68889,2.2444,0.988746,3.97638,2.87963,5.88221,-0.484539,4.4722,3.31742,2.86885,5.40471,2.79554,8.09863,4.54905,4.39842,3.85288,4.74176,-2.97651,3.33657,2.81967,2.36874,-0.655696,-1.68437,2.54913,0.809201,3.96263 --13.0597,0.77673,0.865839,4,15,0,23.1052,-0.380191,-0.0666404,1.64446,3.78051,0.595879,0.398033,1.99554,2.99433,3.13955,1.37998,2.15302,7.49866,-2.98216,0.791184,-2.19898,4.30614,-2.20672,-4.21831,0.675818,8.32453,1.66911,6.78373,-2.06015,4.32887,1.55471,-6.97757,-1.32032,-0.80013 --18.234,0.999279,0.865839,4,15,0,24.306,-0.180058,2.32419,2.24696,2.32678,1.24073,3.59927,4.119,4.96652,0.0995068,3.99243,3.402,2.73747,5.06726,3.32207,8.10584,4.34618,-0.919445,11.2266,3.66883,-2.09471,2.54517,-5.97989,4.09117,7.37347,9.23094,-8.59351,-8.38407,-6.6398 --15.2468,0.670213,0.865839,4,15,0,34.2639,-0.483395,-0.393328,2.43692,3.04355,1.91128,0.212574,1.80522,2.35912,1.71199,4.64224,3.38895,5.95728,-3.32466,1.77977,-1.75756,3.71033,3.78751,-3.61031,-1.13157,7.13568,1.54918,3.12944,7.01561,5.0153,-4.24312,9.47355,6.52506,17.3642 --12.4711,0.994658,0.865839,5,31,0,26.2335,-1.70997,1.38,2.17082,3.45186,1.25887,1.39603,2.23852,2.56236,2.85763,3.72215,3.23681,3.9267,3.31769,1.81491,7.86655,5.57173,-2.3588,7.03285,5.31571,1.07307,-3.60501,2.87167,-6.5295,3.05158,12.2364,-2.27426,-3.1358,8.90992 --9.52736,0.788663,0.865839,4,15,0,21.7905,1.58988,1.23726,2.27779,2.57713,1.73251,2.34443,3.24186,4.85945,-2.72175,3.55173,3.07978,1.73822,2.39307,1.8944,5.48778,1.51159,-3.34657,4.20848,1.78057,4.09386,-1.02517,4.71112,-1.04735,2.76031,12.5711,-2.45084,-0.923106,7.66764 --16.1163,0.522269,0.865839,4,15,0,35.6792,-0.388671,0.782361,2.89327,3.71894,-0.326894,2.12024,2.80995,4.07558,5.14939,5.3403,0.575264,7.43281,1.56251,2.12346,-0.935442,6.53239,-0.705856,1.71375,1.68033,1.8283,8.51187,-7.4524,2.95817,-4.21944,7.5815,10.7911,-6.23577,2.31297 --7.4209,0.947874,0.865839,4,15,0,23.5097,0.906248,1.66757,1.40813,1.63978,2.14045,2.13754,2.95365,4.03719,-1.48836,-0.527213,4.19204,3.38834,1.06491,1.93223,5.92342,1.97789,1.78431,5.74882,1.05386,6.39312,2.07957,-4.01288,2.00497,2.547,7.55418,4.5349,7.3672,3.08826 --24.1444,0.410757,0.865839,5,31,0,39.2614,-0.550419,0.331801,-0.819905,4.03975,-0.112096,0.31366,2.52377,4.26636,-4.11858,-2.17151,4.34266,4.0349,0.222849,2.77119,3.68769,-1.67594,-2.42781,6.86285,2.73881,5.7261,-13.9368,10.6537,-2.56037,11.8632,-2.56758,3.33611,6.72625,1.38359 --18.8506,0.936031,0.865839,5,31,0,39.7054,0.793633,1.89499,3.6806,2.54423,1.58217,3.78005,2.3512,3.43464,2.24202,3.78177,2.8186,0.47528,0.785381,3.16376,2.36332,-3.38423,2.20986,12.7327,-0.372989,3.6369,5.58293,-6.1896,14.5662,1.98535,3.72872,2.6252,-0.952081,9.15931 --17.1691,0.807496,0.865839,4,15,0,36.7711,-1.54745,1.16565,0.403734,3.11639,0.314292,-0.051242,3.61355,4.20209,4.96117,4.45808,-0.22851,1.19596,1.04959,0.699441,3.59337,11.2985,0.817995,0.180149,5.62509,0.773958,6.13717,9.30082,2.19799,-2.66785,-3.15095,1.4262,8.49368,-0.245023 --23.2782,0.836056,0.865839,4,31,0,39.3777,-0.600887,1.9123,0.597484,4.81967,1.6782,-0.706969,3.96932,3.47573,-2.86343,-1.18312,5.50252,5.30331,3.35973,-0.734182,-1.41227,1.53176,-2.73559,3.914,2.80287,6.56357,-11.44,15.4007,4.23682,-0.588034,4.99889,9.73497,7.25198,1.7603 --13.6762,0.999487,0.865839,5,47,0,33.3629,0.551371,1.10619,1.47059,3.73416,0.840287,-0.874297,4.07401,4.0411,-1.9691,-0.891578,1.92969,3.10761,0.471326,4.0641,7.05081,7.30802,4.12427,1.45891,3.56466,2.31781,5.02421,-6.40846,4.5849,11.8563,0.552284,-4.64787,6.12843,5.66446 --8.90221,1,0.865839,5,31,0,19.868,-0.568486,0.601738,2.84238,2.04533,1.32128,4.62268,2.65525,3.5681,0.764297,2.86088,2.52479,6.11335,1.53289,3.98998,7.3258,5.96203,3.06991,3.7064,4.72187,3.87516,0.884342,10.3038,0.673562,2.45272,3.17664,4.41302,2.02248,5.1552 --15.9697,0.844075,0.865839,4,15,0,25.0821,-0.578812,1.8712,2.70724,1.25524,2.334,-0.0586253,2.22241,4.63227,0.112001,2.68351,5.36318,7.10187,-0.321064,1.82127,-0.292898,1.7701,-1.66131,1.18107,-0.0866701,5.06597,1.68207,-6.52266,-4.08285,1.06652,-7.07441,8.70721,15.5413,7.56597 --11.5928,0.991048,0.865839,5,31,0,25.5334,-0.52368,1.86897,2.74116,1.30895,2.2801,-0.030225,2.14944,4.64403,-0.168656,2.55925,4.04024,6.02334,-0.998793,0.472602,0.0749483,3.14521,-0.952103,0.332597,-0.347932,4.81511,1.23491,0.527275,0.6478,3.50623,-3.39642,-4.31734,-10.7331,5.22233 --12.8071,0.84876,0.865839,4,15,0,26.5956,0.13117,0.654756,1.48086,3.92058,0.1847,3.39627,3.02815,3.08076,2.26354,5.14916,1.25517,5.13175,1.70239,3.51529,5.60348,3.57468,2.20963,3.12754,4.18617,2.11029,12.9654,-4.00346,7.30674,4.68884,-6.08942,0.934295,-10.4436,9.99552 --16.3072,0.876348,0.865839,5,31,0,26.2893,0.504099,-1.37287,1.98128,3.05252,0.882885,1.97143,2.96455,5.10251,0.636149,3.61952,1.39995,4.74194,-1.22156,7.41084,2.5498,2.726,-1.62096,2.51246,2.43002,5.29033,-11.4036,5.81244,-1.74915,6.31297,5.77693,6.42582,14.8909,-11.294 --15.2139,0.796552,0.865839,4,15,0,24.3016,-1.00777,3.46378,1.90932,2.36661,0.0428634,2.55001,3.33021,3.34047,0.660505,4.1182,3.32167,2.70855,-0.631685,5.2738,1.54927,4.58521,-2.34084,3.80095,0.716179,3.83054,-10.2314,3.84495,0.841417,7.13859,6.76065,6.29919,15.7105,-9.28789 --12.7402,0.910726,0.865839,4,31,0,30.7826,-0.7987,1.88261,0.812926,3.28284,0.626572,1.91653,2.81078,5.48968,1.23217,-1.14634,1.7066,6.03124,0.103017,-4.83731,2.67539,0.751304,5.31807,-3.50857,6.58234,4.40908,-4.92369,5.87902,1.61508,6.36236,-4.2549,11.1439,-1.23114,4.06497 --15.632,0.767634,0.865839,5,31,0,27.412,0.940908,1.23882,3.43963,3.34063,1.07106,1.78622,3.63198,2.43155,0.138026,-0.880337,3.38954,5.14596,2.07859,8.72536,3.41288,7.39098,-1.28238,8.37298,1.03911,1.03336,8.6916,-4.5765,-5.01069,-4.14013,-2.95904,5.52941,7.22566,-4.26995 --14.1406,0.844224,0.865839,4,15,0,32.1552,-0.799724,2.94176,1.93038,3.37905,0.924236,0.595391,3.87235,4.76174,2.32551,5.57661,-0.678339,3.4336,2.91122,-0.400259,0.702185,0.604985,3.45181,-1.45119,5.70019,-0.6917,5.70272,0.100431,-3.76414,-0.510148,0.0732873,11.0473,4.29446,-3.15233 --16.8898,0.917825,0.865839,5,31,0,32.6309,-0.810167,2.35132,2.98372,2.51541,-0.541998,1.40373,3.0586,3.16982,4.02656,3.2737,-1.28702,3.36764,-1.07471,4.03279,3.64104,6.21245,-2.09986,6.40557,-0.919098,7.60901,-5.3335,-10.6219,7.59799,4.67024,5.50955,11.5353,5.00264,12.7388 --12.191,0.985691,0.865839,4,15,0,25.4425,0.820613,1.80003,0.684336,3.51735,1.30617,1.36916,1.08554,4.33675,-1.42662,2.09321,2.88773,3.83883,1.20647,2.05501,8.05123,4.12234,0.124174,2.30029,-2.25421,10.9215,-1.45934,-6.42769,4.71087,0.196218,5.987,10.8299,6.1071,9.35735 --15.1967,0.962194,0.865839,5,31,0,25.4814,0.837966,1.79668,2.86319,3.91166,1.47979,1.90026,3.37557,3.46514,-3.48343,0.133393,4.27801,0.974912,0.755541,1.39805,-2.22305,3.67639,0.701833,-0.513921,6.17896,-4.22256,5.37191,1.89408,-9.10914,7.6749,-0.859741,9.53868,3.41645,10.0687 --9.84907,0.58602,0.865839,4,15,0,29.0162,-0.920999,0.184589,2.26248,2.24369,0.898419,2.15343,2.1098,3.46079,5.10008,3.34931,2.41391,7.06503,1.07335,2.58576,8.21922,4.38745,4.74591,3.25845,-0.280273,8.46934,1.28189,-1.39892,5.72385,2.37285,3.63273,5.14297,11.3607,5.68777 --17.5189,0.659589,0.865839,4,15,0,27.8766,-0.800055,1.29065,1.14439,3.00281,2.38791,0.835476,1.25995,4.24985,-2.72121,-0.0266913,3.75331,1.49152,-1.95849,3.79795,-2.86012,6.2694,7.80828,6.86664,5.97251,4.28067,7.37215,-2.99713,-1.25149,11.905,-6.63814,-5.36002,5.73728,-2.49498 --11.7818,1,0.865839,4,15,0,25.2243,0.915068,1.14703,2.2551,3.29753,0.134746,2.02198,3.95761,3.70221,0.99168,1.10622,5.34864,1.00794,3.14696,-1.33302,9.47601,0.601114,-3.20016,-1.1551,-0.58257,5.56216,-0.356853,7.20602,3.74288,-4.06279,-6.3056,8.74417,2.19571,5.53836 --12.0085,0.844426,0.865839,5,31,0,26.0179,1.25372,1.09933,2.97718,3.22148,-0.559928,2.84354,3.41433,4.77099,0.762462,0.203707,5.27813,0.540284,0.237482,4.59302,0.498182,6.42982,5.19302,5.11171,5.98777,2.5948,10.3178,-0.521552,-0.816239,11.3215,-2.80088,0.236084,-0.896378,-0.233894 --10.6081,0.887852,0.865839,4,31,0,22.7201,1.19787,1.24773,2.9933,3.62157,-1.26918,3.08626,3.95214,4.75427,-0.497768,2.79858,0.399489,5.07534,-0.864369,0.0135932,6.1747,1.03034,1.49619,5.02196,4.63272,8.74808,2.00196,3.01115,-0.752526,1.53262,-3.225,-0.27488,-3.54779,5.16747 --8.91406,0.989987,0.865839,7,159,0,18.9571,1.50921,1.38335,1.68705,4.11804,-0.172325,2.30349,2.58472,4.45917,2.54618,1.89542,2.89774,0.482523,1.05275,3.58371,0.173275,7.01371,2.99355,7.58439,3.33161,9.05112,6.64186,3.72835,4.65304,6.06743,1.74932,2.36061,-0.806022,0.0197067 --10.9354,0.96674,0.865839,4,31,0,20.8133,-0.980834,0.928326,2.26651,1.98954,2.57326,1.01111,3.23255,3.25845,0.232289,2.75827,-0.360902,2.29518,0.386295,3.57531,3.32218,9.63518,1.8592,5.57686,1.73261,12.5852,2.28258,5.31451,8.561,4.491,2.83638,-0.375285,-0.976555,2.51613 --13.259,0.851915,0.865839,4,15,0,24.8529,0.405191,0.40103,2.24187,3.56155,-0.977646,3.19907,2.67594,3.98411,1.75952,2.16474,6.32751,2.81195,2.11988,-0.380261,4.39573,-0.851708,2.11376,-4.4396,4.25464,-2.41816,-4.98963,6.86746,-5.9472,6.79275,-5.8708,3.20149,7.07415,1.04281 --11.7965,0.976346,0.865839,5,31,0,22.6269,0.138729,0.0193784,3.09018,3.02935,0.575404,3.39756,3.87137,3.01234,1.85857,2.43678,-0.452733,4.40459,2.41784,-0.402104,2.82857,-2.56878,-1.88587,1.38282,-0.0197944,0.992818,6.26608,-2.93956,11.5416,-0.0462801,7.38025,1.68635,0.797638,5.09254 --11.5463,0.643893,0.865839,5,63,0,29.5511,-1.79613,0.665199,2.05916,3.12682,1.90496,1.45759,4.20655,4.76394,-0.0877365,2.4327,-0.469344,3.2387,1.28198,0.389096,2.11717,-2.02626,-2.30134,0.142526,0.838751,2.1876,6.02637,-4.10473,10.388,-0.207154,9.0002,1.43628,1.50148,5.0596 --12.2665,0.870283,0.865839,4,31,0,28.8345,1.35121,1.27297,2.2008,2.90702,0.993883,3.13225,1.93111,3.89575,0.268447,4.21584,4.90494,1.42157,1.72241,4.18087,5.36284,1.31868,-1.01766,-1.21298,1.03709,3.66895,10.9667,-9.40612,6.50834,-4.4801,4.37032,3.02874,2.01471,6.29762 --10.5623,0.939576,0.865839,4,31,0,22.6652,-0.934029,-0.16083,3.10178,3.37089,1.44721,2.99516,3.73436,4.6926,0.369617,1.47618,3.35168,3.53876,-2.56009,-3.57939,1.87734,4.10599,6.86879,2.19457,4.32636,6.28081,6.54683,-5.47229,2.48481,-3.10442,7.59812,3.28946,-2.06099,5.08647 --15.4352,0.947249,0.865839,5,31,0,23.5531,1.67477,1.91999,1.33478,2.84557,0.673681,2.64274,3.13944,3.4783,-3.85568,2.81866,1.82853,3.99234,3.36981,7.41172,5.11696,3.16416,-4.43138,1.85508,0.392629,0.298295,-2.69219,5.45058,-7.18983,8.58691,-6.11416,4.34331,12.5553,12.1506 --13.7558,0.970976,0.865839,5,31,0,26.5007,1.63495,1.90479,1.28086,2.8835,0.662713,2.67017,3.19138,3.51754,5.08838,1.49894,3.88386,4.27064,3.6429,8.01642,5.99368,3.43592,-5.15758,0.763745,3.69279,5.69247,3.83877,-3.15504,8.08423,-1.35153,8.76701,-0.819184,-7.05947,-3.1653 --12.9089,0.767147,0.865839,5,47,0,27.974,-1.32498,0.201346,2.81096,2.19158,1.43731,0.4468,2.20965,4.54595,3.39828,3.67276,2.12787,4.54117,4.0879,2.27239,3.84068,0.442348,-1.82438,3.07705,-1.93066,5.02438,0.957106,-4.23946,9.51343,-0.542906,10.0241,-2.85152,-4.84986,-5.98563 --13.3602,0.811285,0.865839,4,31,0,23.0831,-0.504695,-0.118017,3.93358,2.51664,-0.406382,0.578441,1.8359,3.04978,4.61661,4.06104,2.01201,4.44137,-2.77463,1.58805,3.36876,5.93025,4.79033,1.80482,6.64477,3.46126,-0.000894093,10.0893,1.55891,6.01465,-10.3351,2.64398,4.03539,5.57383 --11.9114,1,0.865839,4,15,0,23.0004,1.13168,1.75984,1.43081,3.36955,1.12449,1.95476,3.07818,4.82388,-0.19947,4.44524,0.205149,4.17627,4.44414,3.20832,3.0832,1.68783,-2.43264,1.76801,-1.42861,2.23245,-1.88621,-8.60795,7.3816,-6.3206,-0.625755,-7.4179,5.76392,1.76741 --6.73131,0.991863,0.865839,4,15,0,18.2736,0.140827,0.824986,2.30359,2.39081,1.71806,1.90003,4.04789,3.31036,0.0688277,3.55725,4.04855,0.724011,-2.31251,1.11051,1.96403,6.15387,4.31458,2.14899,6.15933,6.11791,-1.89299,4.78035,1.1294,8.36327,-1.14462,-1.88356,8.95606,-0.0563538 --10.6589,0.787603,0.865839,4,31,0,18.5138,0.244793,1.91298,2.19723,3.94265,1.89903,0.969526,4.21433,2.98175,1.78104,0.321724,3.54037,7.55631,0.755057,4.31484,8.36285,-0.863514,-0.738317,7.00322,-0.348939,1.35922,3.10713,3.48382,4.28284,3.49783,5.77097,-3.11423,3.51461,4.00529 --17.2638,0.920745,0.865839,4,15,0,25.5458,0.00626759,0.456964,1.38365,2.63296,0.630415,3.26318,2.16423,5.31946,0.781345,-1.9716,4.6596,7.05532,1.06803,-0.30164,-2.48063,8.81593,2.47442,-0.430727,3.59914,6.66482,0.0754487,-3.9487,7.1394,4.17655,8.441,1.12703,2.18681,-16.2403 --15.1776,0.943402,0.865839,4,15,0,28.4463,0.22728,0.915835,1.47696,3.13999,1.03887,4.24526,2.30548,5.30382,2.33372,-2.09594,4.53037,6.52016,1.31595,1.66773,7.71053,-3.2777,-0.545744,4.80374,4.01769,2.81057,0.0744456,8.06504,9.3662,2.10504,-7.82404,4.36941,7.34277,8.96702 --18.7495,0.970623,0.865839,5,31,0,29.7172,0.233502,0.692681,2.62581,3.08135,0.79424,-0.541972,3.86131,2.97382,2.52239,2.11576,-0.185371,-0.383744,3.67145,-1.40288,5.33555,-1.68175,-0.953859,7.59358,0.617239,2.83702,2.01593,-10.3749,4.30039,11.923,11.0789,2.88227,0.123054,3.6013 --17.8757,0.989978,0.865839,4,15,0,29.9701,-0.616747,-0.344091,2.39225,2.16372,1.22484,0.40497,4.73184,4.01706,0.169365,1.43619,6.98009,9.44064,-4.46668,5.4735,1.73085,9.38835,2.02625,-1.49216,3.48034,1.28557,5.21917,1.27785,-0.471974,3.33344,10.3653,9.05425,-2.99605,5.75178 --16.4179,0.992418,0.865839,5,63,0,27.5448,-0.639253,-0.361403,2.37086,2.16291,1.23899,0.417747,4.7141,4.01507,1.98947,2.76955,-0.979462,-1.43756,0.596024,0.295883,7.48758,3.93106,2.88843,3.98906,2.04182,8.65503,4.08252,3.57994,-2.255,2.4974,8.08881,13.7455,-3.12733,2.23674 --10.8491,0.967371,0.865839,4,31,0,24.7654,0.0504549,3.25594,2.29329,2.64129,2.07182,2.75236,1.80632,4.03105,-0.0561385,1.42342,-0.578033,2.49782,1.99342,2.50832,-2.48786,4.14643,1.32878,0.648395,5.12332,2.56927,-2.43768,1.98894,6.01445,4.62018,-8.01919,-6.10385,1.10016,5.59807 --16.6656,0.875643,0.865839,4,15,0,29.3224,1.26773,0.968347,1.03149,4.2229,1.63662,0.772572,1.67162,3.00793,3.02118,1.19837,2.2556,4.00599,1.0904,2.72252,9.43036,3.49315,-6.46512,-8.58905,0.854746,5.04169,0.00102119,2.73105,0.518799,4.42446,-12.6278,4.85783,-5.5028,2.39641 --17.601,0.93024,0.865839,5,31,0,32.7627,1.49435,-0.445541,0.471767,3.89255,0.983118,1.36992,1.28416,4.51918,3.40915,1.27151,2.45759,4.36092,-0.118551,4.71724,4.75335,3.04436,9.18273,12.3631,4.60045,3.09361,7.5241,-2.22641,6.47034,0.377241,11.983,-7.3462,0.945585,-0.714589 --18.011,0.99826,0.865839,4,15,0,27.3134,0.533435,2.80677,1.33841,2.89245,-0.421687,2.01912,3.44621,4.74277,2.93374,-0.466209,1.41963,3.67076,0.164383,3.66256,3.09196,3.57613,10.5671,10.9787,6.07726,4.61743,10.4366,-3.46226,7.35537,0.435594,14.1865,-8.05412,0.691445,-0.472733 --18.44,0.929872,0.865839,5,31,0,38.4049,0.892812,1.52836,1.49351,4.71864,-0.439898,2.12137,3.7397,4.72385,-0.928394,4.22104,4.75728,4.79002,0.192425,3.62313,2.4814,3.68155,1.34971,3.06097,9.9993,-4.31983,-13.6256,6.35204,7.62664,6.77532,-12.0105,11.6985,4.87827,8.56848 --8.46771,0.917067,0.865839,4,15,0,28.1203,-0.432794,0.00426552,2.25792,2.07267,1.95017,1.86409,2.24747,3.39356,1.64569,4.01319,0.40591,5.28546,1.73484,0.34025,3.47897,4.51818,-3.26052,1.85891,-2.14667,7.36241,4.19128,7.6789,4.60197,-2.57532,5.25066,-2.10497,9.94394,3.62829 --8.94991,0.80347,0.865839,5,31,0,18.6935,0.375477,0.348753,1.86348,3.40688,0.85611,0.665444,3.76127,2.83418,1.21924,3.66113,0.843074,5.05807,2.49651,2.52654,4.69286,2.74322,4.49009,0.0905414,8.32528,-0.282046,-3.91457,-1.7219,7.26822,6.70315,-10.0271,6.13899,5.36049,2.88347 --8.34858,0.728646,0.865839,4,15,0,23.4839,0.359545,0.324223,1.86877,3.32479,0.857892,0.673869,3.80489,2.83122,1.87945,3.69187,0.950362,5.0378,-2.22468,-0.294786,0.396676,3.59832,-2.01301,3.33749,-1.98405,7.30219,8.17915,2.60526,0.136476,-0.389913,-0.749358,6.31893,1.82743,-1.11268 --13.1455,0.775968,0.865839,4,31,0,24.6358,1.54143,0.791554,3.44187,3.43646,0.507081,3.21067,3.4684,5.80148,0.891764,2.48472,-1.18804,4.19186,-2.59367,0.596778,0.133819,4.82079,-2.2395,3.18046,-2.99745,4.86223,7.70212,0.886227,5.13741,-1.93364,-0.827483,7.57935,-1.79912,-2.73335 --16.6126,0.963195,0.865839,4,31,0,27.1171,-0.169668,0.250883,1.44567,4.51685,1.46504,2.04821,0.366126,3.35962,1.35989,-0.0737264,6.35276,3.90277,-4.51004,5.30161,-0.352774,1.65118,0.800625,7.87873,4.30136,5.98248,10.2668,-5.0439,5.17346,3.90829,-3.37147,4.10636,-1.10772,-6.12715 --13.9085,0.958979,0.865839,4,31,0,28.8863,1.66679,1.89016,2.44499,3.61035,-0.693041,1.61888,2.39653,3.68025,-1.6377,3.87633,0.858217,3.02716,4.88763,1.62108,6.04599,6.51624,0.244226,-7.42272,-4.46411,4.36648,0.817814,0.454897,0.84875,1.75461,3.10533,-7.72444,-1.05247,3.91899 --10.3485,0.861063,0.865839,5,31,0,22.9173,1.59958,1.87596,2.45298,3.57034,-0.714912,1.58431,2.4587,3.78075,4.00812,0.367217,4.69677,4.97202,5.23884,2.37443,6.0697,6.45821,-1.46218,3.9578,5.40025,2.13457,2.71769,1.91523,7.34058,7.84895,-0.0852068,11.7638,6.91792,3.6685 --13.6929,0.989588,0.865839,4,31,0,22.4751,0.494077,1.06097,2.62294,1.93366,1.19953,2.08861,4.48215,5.70244,-2.22536,2.41954,1.03888,2.24248,-1.61899,0.583178,0.930719,2.49568,-2.78709,1.4487,-1.80238,5.7093,1.80629,15.8256,-4.07376,3.45328,-4.87977,-3.01638,2.69091,-0.210919 --14.3617,0.949735,0.865839,5,31,0,23.4696,-0.0313415,1.07303,1.29883,4.29325,0.485625,2.12991,2.65839,2.40754,-2.69905,1.24081,5.71097,2.80844,0.922683,2.9617,4.55817,2.56432,4.41194,2.35039,8.65686,2.59649,1.1746,-12.8512,9.46953,5.70976,3.76736,10.3669,6.08707,11.0088 --9.34654,0.750829,0.865839,4,15,0,27.5137,-0.0328678,1.09661,1.29703,4.26421,0.497428,2.10625,2.67804,2.41366,4.7858,2.54787,0.0216558,5.09419,2.26928,2.56129,5.48907,3.1745,-3.10345,2.42213,-0.952368,0.354423,-5.44642,0.288328,6.53408,1.93113,-3.05721,-0.187248,6.32519,0.526837 --12.4056,0.90735,0.865839,5,31,0,18.2585,-0.978996,0.00690375,1.41141,1.86007,0.51447,1.02493,1.9319,5.37076,5.54068,2.47167,0.679438,5.33147,-1.4708,0.961583,-0.721238,2.95015,-2.11095,2.74109,-1.07748,-0.0104726,-3.10683,4.16342,1.70519,7.98919,-6.29834,6.92657,1.10481,10.1567 --14.3828,0.941507,0.865839,5,31,0,20.1382,-0.00672402,1.61605,4.36607,2.02562,1.28405,2.19659,3.52132,2.71924,-4.30606,1.93849,5.83617,2.25769,-0.159121,0.0283844,-0.126287,2.52407,0.578712,2.02847,-2.59565,2.1823,5.26377,0.043613,6.90589,-0.3196,9.21973,-2.93732,5.21102,-1.96092 --13.7194,0.999776,0.865839,5,63,0,21.0899,-1.17045,2.06663,3.13037,2.18267,2.2352,1.67341,2.44201,3.31915,-5.0253,1.62782,5.56193,2.9926,0.711248,0.264753,0.424243,1.87671,0.661252,1.32603,-2.60536,3.3386,5.78726,0.0761449,6.28588,-0.188437,9.58905,-3.01468,4.66678,-1.81989 --12.7529,0.997347,0.865839,4,15,0,23.0897,0.607837,1.81155,1.02855,3.32901,1.23051,2.75226,3.04686,2.88393,4.3591,2.43018,1.39737,2.15521,-6.55385,2.30716,3.03137,2.33425,1.72829,3.28702,2.29772,2.96076,2.49212,1.20766,7.8574,-4.01907,13.1353,-3.98748,9.4927,0.124772 --11.5814,0.630604,0.865839,4,15,0,30.7951,1.43443,1.01579,0.568572,4.1202,2.66128,1.00705,3.51414,3.08582,4.71888,2.09385,0.0818523,1.35673,3.95681,3.18076,3.42843,3.2317,-0.0315153,-0.063473,4.7275,5.45006,-1.72694,5.11176,-2.27861,10.6081,0.951715,4.63525,2.31586,4.42389 --13.8856,0.996831,0.865839,4,31,0,23.1736,0.165278,0.95938,0.448315,3.69175,1.98476,1.43208,2.5957,2.14745,-2.48227,2.08165,5.79841,5.38045,0.998264,-1.05722,0.474262,5.73322,-2.42856,-1.8501,8.4341,1.96696,-1.03188,5.58373,5.05242,7.87883,8.7162,5.58385,-5.20054,-6.94391 --19.18,0.447455,0.865839,5,31,0,37.3489,0.592354,2.28471,3.95372,2.02488,-0.405467,3.74893,4.67849,4.89619,2.07418,4.28186,-0.531685,-0.00238162,-1.36822,-0.587818,0.977197,8.15588,-6.06356,3.66755,3.16506,1.40737,0.00143513,0.462973,2.82483,11.0907,-5.44575,-0.410612,8.50751,13.4168 --20.3354,0.992498,0.865839,5,31,0,33.4253,-1.01123,1.3018,3.98425,2.59648,-0.694918,1.32415,4.36559,4.42935,-1.31922,-0.79749,7.58135,8.78599,0.922406,1.2445,1.84801,6.72976,8.53429,-0.15796,7.33282,8.03413,2.57488,2.2403,6.10433,-5.29639,7.77296,3.15498,-2.67509,-5.64663 --25.0746,0.716257,0.865839,5,31,0,43.5928,1.12229,0.718229,3.13461,2.49461,-1.19697,0.5579,3.18327,2.10908,-1.33836,-0.917245,7.54097,8.80154,0.753881,5.70911,4.14734,5.44375,8.56038,-0.192641,7.33421,8.1166,6.76237,1.87966,5.24511,1.99138,-4.05888,14.7939,17.6857,11.0458 --17.1876,0.99983,0.865839,5,31,0,35.8868,0.454657,-0.199325,2.27296,1.36523,0.409303,1.34886,3.37512,2.46054,-0.37604,-0.0870231,5.44118,8.77376,0.92339,-0.716425,1.6693,4.45294,-5.02243,3.03965,0.115195,1.08269,3.43743,3.86233,2.96427,5.09515,-6.91654,-6.93059,-8.03607,-10.3997 --10.8028,0.999356,0.865839,5,31,0,23.2442,-0.570247,1.44764,2.36432,1.96155,2.56582,2.30689,3.11871,4.14345,1.03781,4.43651,3.77623,0.485184,1.3382,-0.850446,4.76083,3.57445,4.24137,1.63472,-0.122975,5.03148,-0.903792,0.143048,3.10452,2.36848,8.69338,7.57922,12.1533,17.0319 --15.054,0.763012,0.865839,5,31,0,23.2784,-1.49357,0.0806679,3.34929,1.79277,3.00865,1.84873,2.39673,3.72955,1.08461,-0.181087,2.32481,7.30052,1.77151,-1.07237,4.43703,3.22121,3.0044,-0.595539,-2.05357,6.90922,2.47116,5.64603,4.21159,-0.316235,-6.55707,-3.70955,-6.33269,-8.99167 --14.4651,0.972092,0.865839,4,31,0,25.214,-1.00767,-0.249485,2.32778,2.2765,3.03044,1.5968,1.29745,3.53143,-0.39877,4.90226,5.26916,1.29193,5.97646,1.74976,2.27734,7.67332,-2.90448,0.428399,-2.94759,5.15684,-1.4786,3.86064,8.52369,3.85953,-3.07611,3.32942,-3.48423,-3.59438 --21.4268,0.866597,0.865839,4,31,0,32.3452,-2.52158,0.131932,0.646933,2.65534,2.14149,1.6367,3.4117,3.62634,2.19458,-0.674677,1.15662,7.06146,-1.18394,-0.94759,5.11188,-1.09286,4.04269,11.056,11.7921,0.571518,9.3094,3.73453,4.96644,5.18273,-3.41688,8.55017,-11.3718,3.66098 --11.531,0.934526,0.865839,5,31,0,32.9183,-1.70719,0.701024,1.48878,3.04133,0.929906,2.40339,4.59259,5.79287,0.71755,3.99839,4.41476,0.652855,2.73787,3.8637,-1.03015,3.48397,0.621716,0.111376,-2.10476,1.57372,-4.5311,-0.783511,3.46738,-1.092,0.708118,7.53128,-1.27442,9.47838 --14.0544,0.968093,0.865839,4,15,0,25.699,1.76891,1.15436,2.84753,3.13794,1.16223,0.827416,2.32664,2.53994,3.19499,2.27923,4.62315,2.72355,-1.48439,4.151,5.55261,1.80742,3.7352,-0.0272048,-1.41041,4.87927,-3.65468,-4.79562,3.67322,-7.26507,3.83321,12.9485,-1.86531,11.2928 --14.1101,0.508562,0.865839,5,31,0,35.7331,1.75882,1.2685,2.82568,3.20115,1.14385,0.809612,2.27746,2.51694,3.28094,3.17389,4.75502,2.53877,1.87119,1.53271,3.48146,5.26554,-2.22567,3.83773,6.73944,3.29282,2.62255,7.92074,6.80584,14.6531,-8.17598,-1.8243,15.6526,10.9116 --13.5423,0.51509,0.865839,5,31,0,32.0258,-0.560323,1.54158,2.48505,2.35843,-0.222804,3.19825,4.21516,5.6957,2.49806,3.91757,2.75141,6.67588,-1.04653,3.02497,2.25281,2.10814,-2.2835,4.89104,5.71768,6.93677,3.96255,7.09775,5.44909,15.9834,-8.29843,0.419144,11.2253,7.2753 --14.7933,0.745696,0.865839,5,31,0,29.2532,1.21723,1.48665,0.373629,1.33037,1.52955,2.74904,4.19162,5.36418,2.66945,1.18077,3.76132,8.06554,4.78367,1.41284,2.11997,3.43092,4.09721,-2.38541,0.72479,0.892277,-1.82409,0.0496155,3.88417,-9.02399,-0.188268,7.03978,-1.87201,3.98573 -# -# Elapsed Time: 0.016 seconds (Warm-up) -# 0.031 seconds (Sampling) -# 0.047 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/output_no_warmup4.csv b/arviz/tests/saved_models/cmdstan/output_no_warmup4.csv deleted file mode 100644 index a13e35c4b8..0000000000 --- a/arviz/tests/saved_models/cmdstan/output_no_warmup4.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = test_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 100 -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = (Default) -# init = 2 (Default) -# random -# seed = 721276882 -# output -# file = output_no_warmup4.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,y,x.1,x.2,x.3,Z.1.1,Z.2.1,Z.3.1,Z.4.1,Z.1.2,Z.2.2,Z.3.2,Z.4.2,Z.1.3,Z.2.3,Z.3.3,Z.4.3,Z.1.4,Z.2.4,Z.3.4,Z.4.4,Z.1.5,Z.2.5,Z.3.5,Z.4.5,Z.1.6,Z.2.6,Z.3.6,Z.4.6 -# Adaptation terminated -# Step size = 0.859916 -# Diagonal elements of inverse mass matrix: -# 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 --22.6129,0.706157,0.859916,4,31,0,35.4383,0.20984,0.868052,1.77171,2.25843,2.88443,2.10095,5.07928,1.96094,5.20439,3.28477,3.17734,4.38809,3.98845,4.16185,7.0861,4.15191,7.18923,2.8777,9.84361,4.76784,-0.0251297,1.79367,0.0766986,2.95719,-1.91299,-8.47633,4.8799,-19.2805 --17.345,1,0.859916,5,31,0,33.7438,0.438482,0.78066,0.950382,3.93083,1.91415,2.19516,1.73318,3.54684,3.97597,2.86229,4.01245,2.98937,-1.36901,-0.30979,7.51517,3.1774,-4.36991,-0.349798,-4.0119,2.36416,3.31206,1.45411,4.02143,5.00804,1.60524,18.4178,-9.10834,18.7744 --12.1039,0.928066,0.859916,4,15,0,31.1023,-0.334011,0.896415,0.643149,3.49349,1.99164,0.882241,3.32229,3.48341,-2.07425,1.21849,0.0682538,4.56512,-3.44863,0.234755,-4.50474,5.92573,-1.6641,1.8972,1.88236,4.54557,1.20363,4.64947,1.70027,-2.88791,-4.01365,7.08669,-3.46178,5.61932 --12.1325,0.883287,0.859916,4,31,0,24.8862,-0.249282,1.25008,1.1697,3.98037,1.21104,1.97656,4.3602,4.40324,1.06115,1.63377,3.89736,0.399892,0.720508,3.16575,-4.45909,3.03681,-5.14731,-4.75019,-2.77423,5.28736,2.60286,-2.073,2.17533,-0.842004,-0.211157,6.40108,-1.22855,7.32571 --12.2418,0.793393,0.859916,4,15,0,22.6583,0.169925,0.101154,2.39624,2.83441,1.28948,2.9912,1.84652,4.23081,-1.56307,3.52895,0.859702,7.40449,0.199534,0.830515,9.67304,4.93661,4.30855,4.23126,10.0113,5.31586,-3.55699,8.88778,0.17476,11.2181,-1.42491,2.04108,3.34213,3.91865 --9.93588,0.787908,0.859916,4,31,0,22.67,0.110784,0.155392,2.49015,2.8335,1.26962,3.11409,1.7891,4.21834,3.41161,0.467302,5.54523,0.607312,5.18247,4.21631,0.49848,0.855527,3.10858,2.5218,7.1354,6.81532,2.16263,-0.0793505,3.41773,9.18214,-1.38252,-0.771249,6.89591,-2.75794 --14.1028,0.639733,0.859916,4,31,0,30.9443,-0.824559,1.46005,1.93618,3.70319,0.328259,0.771838,4.6462,3.63184,-0.98269,2.83883,1.41579,-0.36811,-3.13837,-0.1277,5.4939,7.33196,6.78952,1.96956,-3.31184,1.07979,0.597921,10.8573,-1.94303,6.68218,-3.25892,2.79099,9.13953,4.99961 --19.8965,0.60592,0.859916,5,31,0,32.6491,-3.37388,1.53421,2.91843,3.43959,0.200899,1.55248,2.86243,4.7197,1.53471,6.4264,2.36718,2.36435,4.63604,3.65627,0.0148699,0.150457,-4.5164,3.05494,9.81127,8.80833,5.30601,-3.9785,-1.86466,8.85851,-1.78671,9.18042,0.600912,15.0258 --12.8719,0.924056,0.859916,5,31,0,36.1185,-2.26655,0.206168,3.464,3.21936,1.53981,1.57247,1.28443,4.01605,1.56677,4.89665,2.18079,2.97479,-0.769546,4.72551,2.76777,5.34093,6.38977,0.817219,-3.23425,-0.648219,-0.705241,6.95594,11.5285,1.30318,4.42826,2.85232,1.95335,3.12735 --13.2411,0.973397,0.859916,5,31,0,23.532,2.57179,1.70618,0.989554,3.05235,0.822884,0.969754,2.79828,4.59806,0.815894,-0.145193,0.573526,5.45152,-1.57353,4.86258,1.86017,6.10495,-5.40615,-2.22208,-0.265008,9.79517,2.85032,-2.67779,-5.48882,6.06956,-2.01864,3.09372,6.12499,7.52951 --15.4926,0.997085,0.859916,4,15,0,25.6414,-2.18251,-0.14922,3.20872,2.94956,0.582624,2.64991,3.0936,3.48391,-0.197795,1.26616,-0.228842,4.33884,-5.2226,3.53082,1.9406,1.63743,-3.92316,-2.01143,-1.18584,9.92494,1.15472,0.834215,-6.84447,11.6494,-0.940526,-0.115791,6.94436,11.0655 --14.8516,0.965002,0.859916,4,31,0,26.1132,1.99851,2.44607,0.923314,3.42645,1.64786,0.538919,2.97229,3.62783,1.53621,3.23195,6.61398,2.36396,7.65926,-0.879619,3.32455,6.25544,4.96731,6.92303,4.44071,2.32213,3.23379,-1.35372,-3.36159,-1.58717,-2.01276,6.89354,8.34105,-1.16516 --15.5284,0.995671,0.859916,5,31,0,29.2845,2.39638,1.96995,1.61712,2.89562,0.316517,2.05097,2.37652,4.95148,1.87729,4.99804,6.85948,0.830588,-1.96707,4.89189,-0.674066,1.77677,-2.61753,-1.57479,2.34059,5.77183,6.57077,-1.60609,9.39925,7.28811,-4.06086,7.60387,-0.423753,12.9792 --15.7159,0.891877,0.859916,5,31,0,26.8374,1.44758,1.64144,2.18376,2.93476,-1.04895,1.40233,1.53906,3.78641,0.526118,-1.2364,-0.855571,7.45342,-1.86712,4.8629,-0.776075,1.73653,-1.79559,3.42646,5.07971,5.05308,-7.25791,4.03721,0.194779,0.638605,6.00156,-3.59837,6.45941,-5.07488 --15.3988,0.966048,0.859916,5,47,0,26.2079,1.64077,1.83782,2.06118,2.76668,-1.17864,1.51352,1.40688,3.97772,1.11796,-1.15666,-2.32273,7.04411,-0.559339,0.489446,-1.94233,2.5092,-1.58161,3.75074,3.69377,5.68059,-6.38707,-0.0847998,4.08216,5.11436,-4.3332,4.75151,5.51863,3.88981 --17.4649,0.923627,0.859916,5,31,0,31.0611,-1.44576,2.71745,0.884131,3.52446,1.92151,2.21521,5.16478,5.33124,3.41619,2.01324,-1.32781,5.64536,1.29636,1.91334,8.21265,5.42389,0.95064,0.0565418,0.553538,0.383312,4.81235,2.34319,4.51808,10.2123,7.36263,14.7581,8.28433,-1.59832 --13.3155,0.939446,0.859916,5,31,0,27.8698,1.46971,-0.305358,2.16014,2.39189,-0.270476,1.56427,2.33432,3.45412,0.997793,0.893773,-0.945862,5.11044,-3.72568,2.58247,6.15199,0.122357,0.39234,0.437369,6.2699,9.1624,-3.42216,2.23692,1.71677,-1.5638,-3.58554,-3.81279,-5.47709,12.2903 --12.1456,1,0.859916,5,31,0,20.6705,1.06979,1.44613,2.24944,2.30526,0.174724,1.05831,2.81649,3.24359,1.96684,4.45613,5.33937,3.6065,-1.48389,3.89193,5.91172,-0.892627,-5.09714,5.30506,2.25811,-2.18661,5.03462,2.28067,4.85847,8.77684,4.70987,6.51361,10.2995,-6.09224 --13.8633,0.720729,0.859916,4,15,0,24.273,-1.13146,0.717987,1.37194,3.88278,2.12488,2.63901,3.92047,4.396,-1.43161,5.85119,1.28936,8.64049,3.48275,0.173507,0.0170535,8.93285,4.49747,-3.1924,3.50696,9.53235,-2.29566,3.70393,0.272191,3.54166,3.30381,3.60009,5.38388,-1.54695 --15.967,0.693545,0.859916,5,31,0,30.6643,-1.22771,0.805243,1.43399,3.79696,2.20808,3.21443,3.64686,4.16423,3.20712,-1.70337,3.28295,-0.45434,3.39628,-0.34084,0.668106,9.29089,-5.33944,7.24086,10.8386,-0.648078,1.04847,4.55584,6.38556,3.75755,-1.24353,-0.730812,0.625492,9.43491 --19.372,0.978048,0.859916,4,15,0,30.0025,1.12578,1.02264,2.28997,1.93563,-0.306543,1.09671,2.81007,4.28269,2.08146,-0.280048,5.36437,1.52915,-1.27698,4.35037,5.35125,-1.23224,9.90822,-0.450929,-8.60313,8.34354,-3.92073,-8.77247,1.21487,3.506,10.616,0.584485,3.11271,-1.87019 --15.8829,0.998918,0.859916,5,31,0,32.2772,0.83719,1.33655,1.68598,2.96444,2.88427,1.7942,3.14811,4.2095,-0.447173,6.32054,2.50656,2.61433,1.70379,2.75708,5.40049,4.90105,-2.08269,1.25011,-5.41081,11.4063,-8.79064,-5.99876,-1.12881,3.90179,10.67,-4.05788,8.8905,-0.146408 --21.9551,0.706273,0.859916,5,31,0,33.8618,1.36501,1.32332,2.27537,4.04881,3.87243,1.03961,2.50145,3.42035,0.0966403,5.65719,2.58865,1.90535,-0.81853,4.68122,0.656329,-1.4256,4.00785,2.6152,11.3625,-3.54114,8.42349,14.8722,5.60297,-0.483196,0.758501,2.04564,-5.63009,-1.30907 --21.5535,0.983107,0.859916,5,63,0,42.3647,-1.77036,0.288367,2.15875,0.854873,-0.899798,2.14652,3.71396,4.23011,4.01242,-2.31896,2.41359,1.24283,-1.25416,6.50276,-1.00111,-1.70586,-0.761707,-0.4801,2.71184,-0.510954,-8.08552,2.9163,-0.382151,11.8845,2.23804,2.79298,11.7409,14.728 --13.4372,0.933728,0.859916,5,31,0,31.6543,0.111578,0.613549,2.00368,1.27811,0.71475,1.37309,3.76004,3.95423,3.94348,-1.59378,2.74698,1.49227,-0.695261,-1.98224,5.86975,5.20593,3.00809,4.53463,2.5216,8.41478,7.96021,1.41075,2.37712,-6.53805,0.848177,-0.160146,-8.38146,-0.363279 --12.8158,0.845881,0.859916,4,15,0,25.1763,0.174788,1.78193,1.98749,0.617223,0.843291,0.13948,2.48458,3.58541,3.79958,-1.14801,2.55647,1.23113,1.05278,7.47586,2.34556,4.8834,-0.110966,-0.859994,1.69685,0.806607,4.11293,-0.726207,4.61391,6.41692,-2.85924,-0.39024,10.6634,9.88131 --8.75162,0.991075,0.859916,5,63,0,23.13,0.161453,1.33863,0.697413,4.19514,0.863123,1.21166,4.2669,4.88789,1.70461,1.12576,1.12056,4.73624,1.97059,6.70107,5.80841,3.58741,0.842137,1.8745,2.73177,6.00675,-2.5899,4.61279,2.0798,2.67868,7.63875,1.60207,-5.41181,-4.63121 --13.5793,0.587065,0.859916,4,15,0,28.7269,2.10599,1.5769,-0.940947,3.74959,1.36439,0.787596,3.34962,3.79438,1.3592,0.111303,1.63754,5.68229,0.613447,6.67356,4.73773,3.18118,0.137485,2.01019,1.81182,7.49899,-1.83436,3.89744,3.76172,0.789021,8.12349,1.29234,-4.5389,-3.73075 --11.152,0.995645,0.859916,5,31,0,24.7614,0.187102,-1.12605,2.835,2.21938,0.368637,1.4998,1.97092,4.41247,2.83772,1.35011,0.162389,3.12516,-0.481407,-1.68145,1.0764,4.27244,4.67047,1.94084,2.90748,-0.0607523,7.29567,3.01895,-0.540265,3.83088,-1.17052,2.83508,15.9135,-0.0505554 --14.4624,0.740965,0.859916,5,31,0,27.9082,0.265102,-1.21187,3.0708,2.0609,0.672932,1.50353,2.06995,4.51561,3.10526,1.23993,-0.210403,3.16794,-3.08674,3.08551,6.30535,4.89112,-3.45421,2.09371,3.47831,7.87609,-3.82121,-3.26764,-0.269517,6.15931,4.81542,-7.52419,-8.39384,12.0061 --24.357,0.764744,0.859916,5,47,0,32.0827,0.853274,-1.90909,1.4426,2.41872,0.968279,1.27309,2.10291,2.23272,-1.1944,2.89034,8.1637,4.9143,2.71874,3.82946,2.8862,-4.5159,-4.99255,-2.22496,1.46391,4.64785,-6.34746,-7.55146,2.01234,3.85093,5.50889,-5.07297,-8.09661,13.7187 --15.8381,0.981609,0.859916,4,15,0,37.5178,-0.284575,3.62603,2.53256,2.99485,1.2433,2.10569,3.33936,4.77071,3.01466,-1.22978,4.15529,1.84936,-2.43684,0.535137,2.22667,12.0095,1.26966,6.95933,0.674312,3.37437,-0.679217,13.6706,6.19652,2.11941,-1.61981,3.44334,10.3718,3.58534 --17.5928,0.784085,0.859916,5,63,0,31.5961,-1.69576,2.52202,1.59254,2.04049,-0.41802,0.33788,3.01017,4.75367,0.372746,4.87862,0.128022,7.07286,5.51655,3.57394,2.63815,4.11568,-2.89573,3.05335,-0.379581,5.36935,4.98193,16.225,2.67499,9.84658,-2.08279,9.00337,7.87734,6.53691 --10.671,0.976797,0.859916,5,31,0,29.563,-1.14172,1.8121,1.2393,3.04338,0.118005,2.18719,2.55941,3.55676,2.07352,-0.380686,7.44486,3.62688,-0.667911,2.4852,5.22518,3.24607,1.95305,9.34475,2.62521,1.81533,-1.67272,2.86849,6.54218,4.54443,-7.65002,11.0275,4.46658,10.001 --18.7475,0.71088,0.859916,5,47,0,30.8919,0.610597,-0.165634,0.50736,3.58637,-0.0688154,1.46751,3.66853,3.18233,3.83405,-1.28636,7.89115,6.22884,2.17141,-1.13314,-2.32069,3.24732,0.539799,-5.99282,4.16883,6.07848,-0.304466,-0.597573,0.396569,10.0073,10.9227,9.96776,5.7142,14.65 --17.9743,0.998012,0.859916,5,31,0,37.605,1.06473,0.481251,1.94748,3.016,1.58206,1.93155,3.35399,5.52266,1.72362,0.399041,8.18337,8.80582,-1.54324,7.77574,2.03486,4.76148,0.69481,10.2774,-1.47918,0.973854,2.2034,3.33152,3.37017,1.00499,-3.62913,4.25074,-9.37892,-5.09938 --19.4656,0.691453,0.859916,5,63,0,33.672,-2.25883,1.36379,2.57685,3.06927,-0.309318,1.74642,2.51025,4.04046,0.198377,3.08242,-2.78665,0.225822,-0.920836,6.95039,0.311804,3.8093,-0.820607,-6.12174,8.26551,-0.945596,0.461984,-0.999422,1.97506,9.30139,4.99037,-2.30596,14.7653,10.2397 --25.4688,0.876788,0.859916,4,31,0,36.3459,-2.02007,0.538342,1.85682,2.54858,0.45744,0.323126,2.37539,2.6153,-0.209405,3.0511,-3.1569,0.032131,2.05914,-6.6751,6.10113,3.69159,3.01145,10.5465,-1.8948,8.21845,3.7905,5.85055,7.84854,-3.04732,0.812019,5.77213,-4.25642,-8.39429 --18.0273,0.912501,0.859916,4,15,0,37.7915,-2.10207,0.70226,1.92914,2.57665,0.450249,0.367028,2.46156,2.67,2.47789,1.04575,8.97955,8.04844,6.06842,3.30187,6.27828,2.70154,3.10798,5.71378,0.921234,5.31037,3.75715,2.73423,4.48421,-1.63592,2.27013,9.00591,-3.4774,-5.15096 --22.2432,0.965163,0.859916,5,31,0,31.0027,-1.89842,1.12666,1.6918,3.31186,0.652538,-0.707059,2.25625,3.22571,-0.509484,2.74003,-2.88333,-0.261316,6.10067,3.24799,6.1728,2.38823,2.47937,6.75038,0.804817,10.6347,-0.605237,2.29083,1.77627,14.1215,-0.164324,-4.89607,9.46564,13.1357 --16.5971,0.96226,0.859916,4,31,0,33.2036,-0.331983,0.927743,1.02026,2.40493,1.59888,1.00862,1.24608,3.5101,2.64037,1.57115,8.0325,7.80242,-3.8667,-0.242827,-1.63818,6.19505,3.0849,7.38331,2.81313,8.31144,-4.87828,4.19346,11.8898,3.04089,0.658633,-5.74696,-1.07517,6.50884 --20.8952,0.749217,0.859916,5,31,0,35.984,-0.470017,1.94573,2.28571,0.55158,0.445878,0.368477,4.09263,3.60029,-0.530966,5.67793,-3.10685,1.45699,2.54785,1.71087,-3.04811,1.79459,1.97116,0.887919,-2.72018,6.92866,-2.94889,5.19624,11.3377,-0.758929,1.75903,4.20012,1.57546,14.1199 --16.216,0.997925,0.859916,6,95,0,32.7998,0.516966,0.420747,0.736054,4.87529,1.30791,3.75401,2.44036,4.89409,-0.166331,4.32039,6.89295,5.91019,1.3311,2.49378,-1.72382,2.94684,7.99652,0.665619,-0.0652745,0.845078,3.48102,7.84853,-3.75606,10.7771,-0.646755,-2.20534,3.44746,-6.68672 --23.3928,0.836016,0.859916,4,31,0,39.8232,0.330463,-0.763855,4.39696,3.72335,2.21481,2.37312,3.18152,5.00328,3.01076,0.218227,0.833825,0.298234,1.64308,4.16429,5.00392,6.05086,-4.68768,-7.55488,10.9755,-1.2742,-5.92119,-4.95632,10.1276,7.25595,8.17557,1.50989,-9.25928,-3.09263 --14.5238,0.911541,0.859916,4,15,0,33.4318,-1.59576,1.4214,2.91913,3.65625,1.45841,3.4707,3.34557,4.16143,-0.764197,2.8754,5.78398,6.24249,0.813368,4.41236,4.58352,6.90086,1.36742,-4.82649,10.1048,3.87787,-2.16294,4.60658,9.35294,7.92431,7.68629,-0.585902,-9.60833,-3.77298 --14.405,0.87595,0.859916,4,15,0,22.8594,1.09711,0.776673,2.4266,3.7016,2.21323,0.192236,1.44297,2.75063,4.3274,1.12302,1.09922,1.77716,1.3923,1.44349,-1.41868,4.92169,1.57044,-3.17151,8.70844,7.4064,-0.561699,4.6393,7.5738,10.0605,4.39562,0.387399,-4.92289,-3.27707 --19.6338,0.818799,0.859916,5,31,0,32.8993,-0.193189,3.6099,0.0900814,1.3245,0.823269,2.23534,3.03741,4.95601,2.35833,-1.14416,1.26663,1.50049,-0.470128,4.29012,-2.06659,8.6519,0.530634,-1.92523,7.68612,9.26672,7.07299,2.18649,-8.47319,5.0787,-4.38922,-2.00093,10.2765,2.75914 --16.1179,0.966349,0.859916,4,15,0,35.0628,-0.302753,3.61556,0.118918,1.37125,0.898558,2.08393,3.08189,4.92566,-0.496663,5.11561,5.14948,6.47407,4.24954,4.67891,-1.00253,3.28685,1.96797,-0.324434,7.97771,6.64594,10.7141,0.6317,-1.91504,1.17893,1.55474,-2.33379,-1.58639,1.9172 --17.204,0.998033,0.859916,5,31,0,30.1345,0.352981,2.54916,0.405596,1.87398,0.207183,1.59335,1.96243,3.3355,0.895299,4.92375,7.13783,6.06635,0.68659,-0.845667,7.40465,3.57237,1.79048,4.56572,-3.10928,0.669864,-3.61756,-0.252029,-2.10953,10.6084,-3.63457,16.3444,4.75659,11.2644 --14.4533,0.716086,0.859916,5,31,0,33.5658,-0.798513,-0.434289,3.09002,5.88697,1.08846,1.92933,2.9434,4.87561,2.16508,4.42303,4.28087,2.68978,-0.938734,3.38581,4.47323,1.8563,1.89053,-3.1804,6.6922,3.35414,5.94121,3.88409,6.67241,-1.68251,2.60528,-12.8665,2.63339,5.97042 --14.487,0.994226,0.859916,5,31,0,28.9788,1.91957,0.756809,3.35314,2.65196,1.75523,1.01067,1.44528,3.39142,1.34609,2.04347,2.99469,2.70495,-3.19666,-0.589419,5.25028,3.15863,-1.19344,6.98245,0.739985,5.36202,-4.19424,-3.09074,-1.17021,8.47934,-5.70037,13.0861,-0.649617,-8.31966 --12.9522,0.842468,0.859916,4,15,0,24.4321,-2.34751,-1.03058,2.48455,3.35519,-0.23159,2.46451,3.43989,2.78486,-0.302154,2.02639,4.65095,3.89692,5.27343,2.84334,0.521282,6.14708,3.89414,-0.508593,7.2349,0.831378,2.83679,-2.43915,0.447403,7.08253,-0.456571,8.56641,3.1306,-5.692 --12.468,0.992801,0.859916,5,31,0,29.7588,1.10611,2.23753,1.15655,1.75313,1.28809,1.74718,2.88797,2.10366,0.50453,3.82025,1.25923,4.06435,0.290583,3.64497,2.08436,7.12472,-4.7796,2.70839,-1.04639,6.96657,-1.91323,7.09642,5.05144,0.463682,2.73778,-9.84326,-4.47171,11.8372 --12.0247,0.994863,0.859916,5,31,0,22.0047,1.6873,0.99575,1.83594,2.17571,2.39988,1.44041,2.6121,2.5823,2.12371,-0.571,4.97879,3.36724,2.3192,1.01971,0.276582,0.416147,4.22952,-1.49074,6.25187,6.72713,5.15169,11.6288,3.76846,1.72781,-1.11349,-3.39912,-0.567403,12.5056 --12.5479,0.966968,0.859916,5,31,0,26.941,1.70222,1.14094,1.88426,2.10995,2.20222,1.55169,2.69694,2.50681,0.983012,-0.251243,4.87492,3.12776,-1.75082,1.44361,7.98198,3.56893,-1.70332,4.70252,0.129009,1.18043,2.96152,-4.74589,5.19736,3.09276,-0.53806,-2.49347,10.6197,-9.48383 --15.985,0.732589,0.859916,5,31,0,30.4477,-2.23566,0.955657,2.37895,3.73267,-0.422091,2.25239,3.7626,5.88226,-1.18549,6.24582,2.53816,1.21965,-2.00737,-1.42229,3.77988,1.97648,5.37283,2.41237,5.46785,5.32616,-1.03419,9.21077,0.399215,5.30513,3.15586,2.93666,-3.83258,15.7467 --15.6056,0.998741,0.859916,5,31,0,30.0413,-1.18092,2.00087,1.34282,1.65007,2.62929,1.22045,2.14842,4.91422,3.08789,-0.882334,4.57686,7.73441,-2.96105,-2.64661,1.9881,1.98378,-0.493348,4.31226,-1.7167,1.22209,6.63384,-2.81252,2.8214,7.14881,-0.105956,2.85037,9.6797,-7.25884 --15.0548,0.95164,0.859916,4,15,0,29.8659,-0.381875,2.09573,0.344683,3.46224,1.17454,1.00775,2.62415,5.39271,-1.0954,4.89433,1.4539,-0.0127885,0.451592,5.05772,3.33897,2.77994,0.0949254,2.09753,-1.89133,4.58845,-5.99037,9.9192,0.315388,2.9266,13.1128,6.70631,-2.35708,-4.03528 --14.1084,0.983591,0.859916,5,31,0,29.8754,-0.37986,0.180945,3.55694,2.3923,0.710948,2.66257,3.62158,2.55732,-0.281238,4.15458,0.849699,6.94482,1.61898,-1.03068,2.59599,5.10109,1.32713,1.57773,9.79102,3.61021,0.459191,2.64305,5.95104,8.73907,17.5498,-4.14569,-1.20054,12.8489 --12.4979,0.641345,0.859916,4,31,0,33.353,0.30848,0.517997,0.865585,4.15061,1.85943,1.68196,2.39379,4.65753,1.32756,2.05725,2.77447,3.86762,-1.38827,2.92953,5.92781,8.98072,7.35378,5.4103,11.1812,-1.7929,3.67488,1.64305,9.4045,6.61692,10.8356,1.82764,-3.39583,7.66785 --12.9707,0.540314,0.859916,4,15,0,33.1484,0.971203,0.936526,3.03421,1.6992,-0.0798932,2.57981,3.36116,3.30059,1.89725,1.57333,3.3411,9.15068,3.31012,0.960759,-0.0166559,-0.982499,2.94934,-1.89396,-0.738281,6.5111,-1.48505,-6.07174,2.4941,12.7052,2.34976,4.08506,3.72671,6.59062 --15.1537,0.979191,0.859916,5,47,0,27.2248,-1.17899,0.549146,3.16534,3.59716,1.65565,1.90947,1.49682,4.76984,3.4486,1.0477,1.25229,0.959171,3.17559,-0.477733,3.39507,-1.18711,-5.06752,2.83005,12.5726,7.12429,2.54643,9.91824,4.29581,-4.96938,0.422108,3.1731,1.71128,5.0355 --13.875,0.948876,0.859916,5,47,0,28.801,1.08311,2.11659,1.2349,2.18659,0.346867,1.52696,4.25054,3.28484,1.47108,1.60793,1.41771,2.9668,-1.18911,4.44067,2.44301,9.2082,4.85274,-5.30916,-5.4173,-2.20795,-0.169994,-0.00941975,11.9882,4.55249,-4.72622,3.38392,-1.47972,5.24275 --12.6096,0.737351,0.859916,5,47,0,26.7235,-1.4977,-0.179994,3.54054,4.39658,1.6465,0.793788,1.61542,4.12734,1.42444,0.164471,1.06863,6.03793,-0.918801,1.35127,2.62466,9.01591,-1.99594,2.91893,-1.45778,-0.891072,5.33707,-0.248807,-1.00965,0.410353,7.14707,-0.275293,7.08074,1.26036 --17.5993,0.894903,0.859916,4,15,0,29.0053,0.845771,2.55205,0.897319,1.45712,0.367155,3.34427,3.04441,3.46645,6.27214,3.9719,3.09585,6.23672,2.11878,-0.672223,3.82622,8.65957,-4.96956,1.85899,-2.91044,-2.81103,7.11268,-0.663002,-1.36878,2.89349,10.8205,3.59566,8.05534,3.0012 --16.863,0.997303,0.859916,4,15,0,30.2209,0.519697,0.736352,2.27721,2.14823,2.32194,1.41633,4.31963,5.06851,6.22584,2.29236,3.46019,6.48318,4.56636,3.57745,2.98567,7.17984,-6.83301,0.701455,-3.05114,-1.80767,7.60513,-2.89524,-2.38484,5.89535,11.1638,2.37995,9.05456,1.91641 --15.3284,0.997692,0.859916,4,15,0,28.6176,-0.464641,0.32277,1.51142,4.48319,1.21889,2.70384,3.73507,4.65015,-1.65376,2.04902,1.63194,2.88174,-2.72499,1.52382,4.91349,-0.246619,7.28998,6.06397,4.03434,19.1252,2.34459,4.0931,1.6657,5.11913,-1.02519,1.75354,9.4718,3.94054 --11.1202,0.583939,0.859916,4,31,0,35.8327,-0.349195,0.250315,1.53941,4.49202,1.19671,2.73724,3.53591,4.6433,3.68261,2.28329,4.38443,4.59987,-0.118217,-0.686493,-3.11714,1.47298,-7.76856,1.30395,7.37658,6.96213,4.35683,2.27839,-2.45195,4.42632,0.428508,3.63962,-1.66603,-1.08657 --13.0665,0.677305,0.859916,4,31,0,30.0481,-0.446176,-0.84333,2.58256,2.7335,0.691083,1.1633,3.70003,5.01264,-2.5177,0.521508,1.66881,2.91779,2.00363,4.95855,2.89021,4.69984,-5.93264,4.34422,-1.46454,9.98786,-11.4998,0.854588,4.68598,6.86755,-1.29161,-2.00813,1.36612,5.38702 --15.3053,0.976156,0.859916,5,31,0,28.5101,-0.132308,1.3724,2.82199,3.08736,1.03777,3.78568,3.7156,3.0099,4.20863,4.89585,1.81606,4.00651,-2.13622,-0.662736,1.76209,4.07952,7.03016,2.62998,-2.99369,4.2505,8.24089,2.35263,-0.73254,13.4695,3.5804,0.942343,1.37127,19.7991 --15.1535,0.7791,0.859916,5,31,0,32.7076,0.802769,0.655822,1.29774,3.28429,0.975132,0.415698,2.15115,4.42791,5.25744,3.55852,1.92718,5.39163,2.58369,3.82997,5.17453,3.68436,-1.75842,3.6172,8.9534,7.018,-6.25917,1.70391,7.46698,-5.46997,0.985211,1.58911,4.37327,-13.4731 --14.5814,0.837771,0.859916,4,31,0,27.2337,0.795052,0.609005,1.27719,3.18713,1.0392,0.464898,2.11831,4.55357,-3.24392,0.181565,4.03275,2.69498,3.13203,-0.762795,4.70285,7.22659,2.43308,4.605,1.88254,7.51878,-0.696357,4.83883,6.16808,4.78878,11.9633,2.01398,6.30707,-14.6037 --10.0217,0.784883,0.859916,4,31,0,28.9914,-0.349518,1.88446,2.88101,3.1462,1.11177,2.1828,4.64518,3.783,1.60199,3.15833,0.624725,2.7916,-0.493227,3.94351,0.00859464,1.64678,-7.2455,-2.04794,3.14796,8.08623,3.12603,5.60073,5.14381,4.15951,7.37008,11.0267,0.0778553,1.10496 --12.9025,0.764461,0.859916,4,31,0,23.0833,-2.0546,1.99819,2.25055,2.48696,1.91125,1.7947,4.55415,4.4222,0.452955,2.32179,5.52723,5.69567,1.54692,-0.357058,6.01465,8.22773,0.238719,1.10937,4.42714,4.88497,1.18123,8.73238,10.6677,13.2696,4.06453,10.2058,2.49576,9.12288 --10.1037,0.90306,0.859916,4,31,0,21.3521,0.33944,1.60804,2.4164,1.41871,0.442898,1.31127,4.29246,2.94986,0.852911,3.90886,5.27758,5.54774,0.685806,5.3968,1.36195,2.00889,1.03017,2.57475,0.898095,1.93658,-0.343915,-2.162,-2.09553,-2.30155,7.70605,-5.28324,-1.11602,-3.34527 --11.1872,0.955636,0.859916,5,31,0,21.835,-0.551872,0.243941,1.71684,3.95994,2.16659,3.2216,1.96912,4.92982,2.45496,5.101,2.46289,5.65786,2.45714,1.68171,2.55626,4.59021,3.39243,1.43318,5.74644,2.13027,-9.15137,-3.24644,-2.19047,0.311814,5.77497,-6.47713,-1.73941,-0.449245 --7.69685,0.88349,0.859916,4,15,0,22.4297,-1.3106,1.20812,3.3218,4.12328,1.17012,2.17097,3.46997,2.88912,0.822214,3.09229,4.27638,8.00522,0.493638,2.75447,2.35581,2.67437,-1.48384,4.18027,2.84662,2.70166,1.87193,5.87905,2.13097,1.12173,-5.01375,-4.49037,3.90682,2.38222 --11.2206,0.940679,0.859916,5,47,0,17.9685,-0.603051,0.377541,2.63365,3.49716,2.15977,2.20988,2.76167,3.17611,1.18634,0.982062,1.76055,0.218854,0.552595,2.78453,2.2191,2.60608,-3.4995,-0.338945,-2.85538,-6.1979,0.565614,-3.16837,4.36067,8.00141,7.07408,8.45855,2.0054,5.52786 --15.4403,0.649962,0.859916,5,47,0,27.1916,-1.48841,-0.0443652,1.9652,2.80373,2.8185,0.880316,2.59652,5.49742,-1.36368,2.40521,3.81938,7.7125,3.17783,2.141,2.19932,10.2585,6.14244,1.30234,1.27565,1.77112,1.91094,-2.77418,2.86939,11.0644,10.2695,4.93419,5.82036,13.669 --12.3163,0.964236,0.859916,5,63,0,26.8408,-1.12576,0.969584,2.16126,2.74569,0.899515,1.8721,3.80224,2.6802,1.566,2.5124,6.84416,3.71964,-0.927903,2.80924,2.43177,11.423,3.32134,1.50043,7.68027,5.86831,0.254419,7.56355,3.10835,-3.13358,-10.0143,-2.99925,0.0663054,-1.43013 --16.8868,0.729955,0.859916,5,31,0,31.4964,0.67261,0.881497,1.61705,3.27868,1.77475,3.19051,2.57196,4.02322,5.8619,2.00099,5.55335,2.9118,-5.73792,5.71567,-2.03406,4.82805,-3.385,2.95265,-3.92703,4.17229,3.09305,-3.76229,0.530877,9.79443,9.7466,10.9843,6.17728,11.5381 --17.0515,0.780401,0.859916,4,15,0,32.1637,0.778273,0.981826,1.70217,3.12764,1.56582,3.03311,2.66961,4.1543,5.78992,1.85874,5.80564,2.77223,6.01926,-0.703788,0.514517,-0.455022,5.91791,1.58318,9.74513,3.86067,-1.31356,4.2358,11.1458,-6.52518,-4.92145,-3.37125,9.29991,-5.55916 --10.5603,0.694157,0.859916,4,15,0,28.435,0.956502,0.888365,1.72265,3.09225,1.52977,3.0756,2.66181,4.14796,-3.46753,2.24733,0.556158,5.21868,-0.754862,2.21276,0.143714,7.91022,2.54112,0.598458,-2.72602,7.56164,-5.86223,3.83605,8.25721,0.910887,-3.19378,-3.01029,7.1662,0.0882806 --12.6052,0.686405,0.859916,4,31,0,25.6356,-0.314642,1.70269,1.24235,2.78149,0.422298,0.525956,3.93127,3.25105,0.972829,-3.03621,1.91761,2.64859,3.34131,2.63789,4.76711,0.548983,1.41677,1.71746,8.97784,2.83261,-1.05645,5.03369,-0.227953,8.55392,3.26599,-7.31715,14.9358,3.22604 --12.6098,0.901794,0.859916,5,31,0,23.3988,0.234858,1.40717,0.358212,4.13506,0.802967,1.22651,4.31684,4.69177,1.01585,-2.90658,2.53826,2.96208,2.72848,2.06229,4.90019,0.500111,1.59342,1.49161,8.84837,2.47604,0.0893811,4.38203,-2.34742,8.20092,3.16686,-5.8013,14.1004,2.59756 --20.0964,0.518079,0.859916,5,31,0,37.2994,2.06278,1.00223,2.40722,4.28723,0.970464,1.11353,5.09271,1.35747,-0.531953,-2.20665,3.23871,2.3119,0.951088,2.2429,-1.73433,8.10341,0.795995,0.181154,-2.4527,8.81787,1.96481,1.30791,-0.542284,1.38051,-12.8591,5.68413,6.65336,-3.16504 --22.6313,0.985902,0.859916,5,31,0,37.5681,-2.01651,1.27265,2.04456,1.41971,0.562496,2.47808,0.744188,6.43482,-4.62633,4.66233,5.49219,6.06614,5.16734,2.5503,1.67489,6.96024,-0.492431,5.52042,4.56353,-0.677001,-0.256587,3.02575,6.77831,6.38589,13.5147,-3.32378,-5.14598,11.1723 --15.0751,0.999925,0.859916,5,31,0,31.8333,-0.780468,0.677488,2.51719,2.84249,2.80039,2.48124,2.56611,2.57919,-2.59445,5.59523,3.36369,5.92006,1.21263,1.73102,6.59091,7.40217,4.49287,-1.87282,1.10872,9.50271,3.31891,0.0854731,-2.56657,-0.00985531,-11.5034,9.01627,10.2056,2.06355 --19.914,0.845289,0.859916,5,31,0,32.1395,-0.300443,1.13498,1.60257,2.79829,3.24673,2.76682,4.71512,3.27557,-1.89456,6.02976,3.41023,4.98275,-0.642796,3.4109,2.89839,-4.26017,5.21984,-2.47666,2.37945,10.0397,-3.99377,3.63731,-0.513337,-2.88656,7.60719,-1.1529,-9.86194,-3.65649 --21.1509,0.602111,0.859916,5,31,0,38.5764,-0.142924,0.946068,2.82701,2.75789,-1.12258,1.10227,0.620755,4.8328,-3.09598,-0.707412,0.869208,-1.24071,0.52419,3.24099,1.24957,-0.581173,6.07841,-2.18822,4.32392,9.3514,-2.76999,3.45691,1.02142,4.0615,-5.13439,3.27406,16.4918,11.1223 --22.1389,0.899823,0.859916,5,31,0,33.6966,-0.339193,0.931213,2.886,2.71804,-1.08924,1.09015,0.35164,4.97077,-2.83107,-0.830384,0.167681,-0.968036,6.55468,1.83697,3.55073,6.93599,-4.08308,6.51143,1.47794,-1.36632,9.90189,-1.42554,6.7934,7.12883,1.5445,9.13768,-1.75081,0.273884 --21.9804,0.967555,0.859916,4,15,0,40.1419,-0.540194,2.49695,2.99304,4.73491,0.173906,-0.480248,2.43778,4.49678,-2.02474,-1.90418,1.8689,-0.549195,-1.88555,1.95886,6.02981,2.09325,5.81386,-5.35707,4.08564,10.0766,-10.7442,-4.63033,0.712831,5.61362,5.62986,2.79374,6.95122,6.97647 --17.9912,0.96243,0.859916,4,31,0,36.9457,-0.527543,1.53903,1.5487,3.78224,0.506439,2.70253,4.40531,4.58875,3.46156,-2.66367,-0.0335695,0.647077,5.60124,1.93144,-0.89419,4.84778,-5.23454,8.0743,4.77393,-0.202629,7.21011,2.96783,6.42635,-0.505514,6.28818,-7.33191,-1.73906,-5.75029 --16.0253,0.778139,0.859916,5,31,0,32.287,0.76432,0.990039,2.55989,2.42681,1.361,1.75439,1.65682,2.84688,1.41667,-3.21304,4.3265,0.412717,5.77492,-1.89685,-0.744725,3.2843,6.16646,-2.5749,2.33507,5.12095,-5.4122,1.04321,-0.0364264,8.4328,-5.1995,8.96167,3.92101,14.0647 --16.4071,0.943162,0.859916,5,31,0,26.5687,-0.381833,2.07298,2.31868,2.06177,0.798281,2.45168,1.49451,3.6366,1.24822,-3.02469,4.2308,0.968445,-2.2413,7.69846,5.27872,6.69935,-4.27754,6.61837,3.07875,3.15348,3.97141,3.70027,6.23754,2.367,3.67751,-12.1563,-2.43528,-4.54102 --20.9305,0.862584,0.859916,5,47,0,34.4424,-0.709966,2.29291,2.16541,3.6833,0.639102,2.58386,1.74468,5.22968,0.595554,5.60459,2.35658,6.09126,3.40885,-5.45312,5.99079,-0.13053,4.61676,-3.59461,4.68933,6.85849,3.7477,-4.12346,0.290602,8.0503,-4.95875,-11.4845,-8.71178,-9.91394 --12.6123,0.808348,0.859916,4,15,0,32.6953,2.03431,-0.481515,1.85304,2.47349,1.07405,2.39354,4.14501,3.16814,-0.895454,-0.507796,4.10996,2.89084,-0.852421,8.54531,-0.779684,6.56818,2.32818,5.39589,5.94996,1.88772,-4.47533,5.36001,-2.03881,4.79507,-5.6791,1.93471,0.243327,5.75681 --12.3193,0.951801,0.859916,4,15,0,27.8022,2.07125,-0.497827,1.87295,2.47938,1.11321,2.36415,4.05436,3.05141,2.88669,4.7789,2.16574,5.57081,-1.20814,2.77729,4.32468,1.72462,-4.77712,1.98091,3.27797,1.55318,-2.8041,-5.49294,8.13332,5.5027,-1.74276,-6.71111,-2.87057,-1.88625 --15.847,0.817789,0.859916,5,31,0,26.9584,1.96685,-0.422424,1.84139,2.35552,1.10967,2.38798,4.05333,2.92283,-0.792415,-0.713089,3.8871,2.496,2.17455,-0.681791,-1.5091,0.122629,9.82555,-1.26646,5.39707,6.10618,1.583,-1.4231,6.72846,6.88418,-5.30276,-7.57486,-8.12539,4.63158 --16.4312,0.729381,0.859916,5,47,0,35.8245,-0.950554,1.2654,0.886089,3.70523,0.139229,2.57563,2.14612,5.5892,-3.61447,0.663131,0.298157,4.28795,7.04931,-1.67338,-0.590302,1.23336,-7.82902,6.50824,0.22734,3.4992,2.01079,6.11353,0.678041,-0.105617,7.89532,0.256027,8.04907,4.00376 -# -# Elapsed Time: 0.016 seconds (Warm-up) -# 0.031 seconds (Sampling) -# 0.047 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/output_warmup1.csv b/arviz/tests/saved_models/cmdstan/output_warmup1.csv deleted file mode 100644 index 8b5203850c..0000000000 --- a/arviz/tests/saved_models/cmdstan/output_warmup1.csv +++ /dev/null @@ -1,248 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = test_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 100 -# save_warmup = 1 -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = (Default) -# init = 2 (Default) -# random -# seed = 721290931 -# output -# file = output_warmup1.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,y,x.1,x.2,x.3,Z.1.1,Z.2.1,Z.3.1,Z.4.1,Z.1.2,Z.2.2,Z.3.2,Z.4.2,Z.1.3,Z.2.3,Z.3.3,Z.4.3,Z.1.4,Z.2.4,Z.3.4,Z.4.4,Z.1.5,Z.2.5,Z.3.5,Z.4.5,Z.1.6,Z.2.6,Z.3.6,Z.4.6 --20.472,0.0612995,2,4,17,1,33.5509,-1.665,1.77729,0.980561,3.19839,1.2752,3.55305,6.99586,5.62094,-1.53951,2.90827,-0.644988,3.25774,0.494528,0.728339,1.86767,-0.44014,0.709119,5.0961,1.18393,-1.43364,2.68804,2.13608,2.59464,-5.22838,0.620564,-2.12552,-1.60487,0.508207 --20.472,2.78641e-030,2.61037,1,3,1,35.2726,-1.665,1.77729,0.980561,3.19839,1.2752,3.55305,6.99586,5.62094,-1.53951,2.90827,-0.644988,3.25774,0.494528,0.728339,1.86767,-0.44014,0.709119,5.0961,1.18393,-1.43364,2.68804,2.13608,2.59464,-5.22838,0.620564,-2.12552,-1.60487,0.508207 --11.5641,0.999717,0.266025,6,63,0,32.0677,-0.150239,1.38278,0.111106,2.1883,1.34722,2.03249,2.94661,2.18558,3.55802,2.66723,6.81927,3.18785,-0.319093,3.08166,4.59568,3.96313,-3.87696,4.72113,3.64804,-5.74482,2.80635,1.08725,4.04576,0.685053,3.13889,1.9219,5.79532,6.99064 --13.962,0.966922,0.282128,5,31,0,27.6704,-0.495203,3.14582,2.52203,2.56736,1.1801,1.90261,1.50922,3.7084,1.52787,2.48182,-0.394936,0.427627,2.81197,5.91215,1.94411,5.27218,-2.24588,-1.98639,4.01621,-7.82423,1.5856,-0.838006,6.15004,3.14336,0.313544,-2.00931,2.55586,3.2706 --15.9284,0.948005,0.351283,5,31,0,31.9452,-0.727586,3.14592,1.65807,2.12012,0.821523,4.8391,2.91056,3.28978,1.97757,1.06237,6.01335,7.88875,-2.37065,1.91518,-1.24824,0.596331,5.26392,1.72435,-1.74502,3.7761,-5.25973,1.58801,4.22104,8.77233,-1.36814,3.63841,7.48352,0.844924 --13.7651,0.998045,0.472101,5,63,0,30.9015,-0.145667,3.31926,2.94225,2.39482,1.57918,1.30802,4.6478,5.09696,0.754277,2.84592,1.24548,3.03707,3.63639,2.65573,4.56664,8.9909,2.05955,7.09782,1.82665,9.63438,2.5378,0.32562,-2.13452,5.55337,-6.10568,-8.54325,8.88333,8.29782 --11.8865,0.87431,0.797279,5,31,0,26.7937,-1.21642,-0.0257434,0.504229,2.90333,-0.751753,2.12802,3.13982,5.6551,0.141455,1.43272,1.86416,3.45911,2.17346,-0.619825,0.349178,1.08907,-0.404669,-4.27143,2.71488,-2.2783,-1.83734,3.95878,4.02865,3.46846,0.6154,13.4269,-1.47274,5.76033 --8.52197,0.90024,0.963484,4,15,0,20.9426,-1.22327,0.0228495,0.477555,3.1649,-0.363089,1.92912,3.22842,5.12011,2.44617,2.79401,4.14095,4.93582,1.506,4.02935,4.01759,3.40947,3.71105,3.91344,5.72248,5.65048,3.70945,-1.70162,11.0543,0.952832,-6.03162,6.06967,4.62103,6.52429 --5.70169,0.490193,1.29077,4,15,0,17.1567,0.847654,2.53951,3.43114,3.42478,1.39975,1.33723,2.4396,3.61782,-0.129472,1.04747,3.28643,4.61481,0.806614,-0.0676757,1.5477,4.70024,0.0174547,-2.09489,2.64642,5.70738,-1.26494,3.41588,5.44757,6.22638,-3.59054,4.16218,8.50235,3.1443 --10.2617,0.925018,0.480465,6,63,0,17.7641,-1.3474,-1.54959,3.04015,3.15706,1.39395,3.0469,3.90322,4.35564,2.61287,1.39143,0.776445,2.38125,-0.634134,1.29492,-0.818315,5.02337,0.621745,2.52602,-0.783233,3.32609,6.14565,3.87538,0.267525,1.32907,6.71649,2.48797,-0.726444,6.33942 --14.1896,0.951307,0.710439,4,15,0,26.0108,-1.70637,-1.00889,2.36982,3.05968,0.43831,2.1011,0.96996,4.41546,-0.433041,4.85162,2.76153,6.53905,0.28723,0.754818,4.0409,1.9457,0.260192,4.76722,1.8932,1.15773,2.19223,8.58848,9.13449,-7.29909,7.83213,4.90976,5.81574,7.93619 --12.1885,0.848456,1.14919,4,15,0,23.4384,1.12531,0.363927,1.67162,3.31068,2.32671,1.9654,2.65753,4.37906,0.906417,3.86205,2.89909,5.06216,5.68223,1.39875,1.75006,3.6019,2.7262,0.0503329,4.65283,6.15732,-1.32802,-5.80529,-5.09634,14.6994,-11.7322,-0.793659,9.52717,4.73608 --15.2699,0.39342,1.34739,4,15,0,27.494,-0.444246,1.95266,1.10515,4.47338,0.327919,1.44643,2.07413,5.13565,0.0681344,0.163354,5.88596,3.15452,-3.76213,2.68972,4.33687,4.33263,-3.12761,6.09847,4.88722,2.55411,-0.145599,16.3731,12.041,6.07643,2.34663,2.32885,0.0568579,14.2765 --15.4279,0.998214,0.379953,6,63,0,33.5133,-0.00648124,2.30747,1.47509,4.76354,1.2709,1.71622,1.93493,4.7658,1.94391,3.69848,-0.055974,4.45696,-1.97464,4.15917,4.37688,1.01943,-2.2293,0.422564,0.1714,1.26342,2.39786,9.2681,-5.93255,-5.72621,6.58127,-2.48128,15.6913,10.0502 --11.2653,0.949202,0.717696,5,31,0,27.6551,-0.209218,1.20502,2.40055,2.94022,-0.238716,2.39013,3.83003,2.32487,1.62991,3.29042,5.79872,4.95836,4.28122,0.476561,1.17503,7.03832,5.67924,5.76333,6.47223,5.30126,0.234378,-2.25569,6.09144,9.07281,10.8216,1.45053,-8.27812,5.37131 --20.7756,0.238258,1.15857,3,7,0,34.5097,-0.0471344,1.42103,2.62988,2.59096,-0.122192,2.4923,3.8245,2.16762,0.056172,0.213482,0.0399874,3.39957,-3.72879,1.31816,5.50711,1.54188,-0.31648,3.61302,3.48983,5.09074,1.67512,3.0018,1.99498,16.6743,20.4776,9.4369,-14.0864,9.97778 --9.6611,0.999993,0.208812,6,63,0,28.2359,-0.496759,1.38117,1.78708,2.93606,0.246256,2.68361,3.65165,2.35301,2.47326,3.94,5.48965,5.15494,4.30855,4.36421,-1.53758,7.73424,-1.2404,9.15523,1.80375,2.25764,1.54802,6.78125,3.9008,3.73229,3.59415,3.70455,-1.75017,4.80764 --8.63027,0.998348,0.395787,5,31,0,22.6542,-0.867252,0.882392,1.4265,2.22236,0.892426,2.36185,1.68772,4.05918,0.751176,1.9978,2.86819,3.7858,2.12619,6.93312,3.26637,5.66571,1.24926,2.00743,5.59096,8.19519,7.62532,5.81997,3.59387,6.69683,-1.31732,-4.30085,-9.43601,-1.31493 --11.5213,0.865878,0.74027,4,15,0,18.5533,0.868625,1.04913,2.45025,3.99479,1.14543,1.56742,4.27661,3.98657,3.02483,3.51846,3.37389,2.5164,6.75674,4.90726,1.90373,3.04162,4.73985,2.02266,4.00783,9.47732,7.25915,6.14692,-0.423591,4.31882,0.649006,-2.35339,-10.3305,-2.58595 --11.1317,0.846478,0.921448,4,15,0,24.0968,0.484665,-0.527295,1.05656,3.592,2.41934,1.5966,3.06427,4.55714,-0.152013,0.172038,5.96696,6.74348,2.0901,2.31528,0.418159,6.95424,2.28055,3.2286,11.226,4.52252,9.50819,0.871161,0.862863,4.06512,0.699645,6.05203,-2.16863,2.22647 --7.18811,0.917134,1.07936,4,15,0,23.3027,0.58829,1.61124,2.31772,2.74239,0.73323,1.61092,3.00389,4.23779,1.49861,2.64947,1.82349,6.19889,1.30586,0.741551,1.53641,8.1701,4.60029,7.12496,11.2891,3.37085,5.72676,5.7332,1.07189,1.1645,1.94855,2.62098,0.152858,1.46874 --7.70507,0.310058,1.5547,4,15,0,15.5552,-0.398436,0.587802,1.66251,3.69188,0.550371,2.1499,3.49595,3.55291,1.12665,1.93965,3.63801,7.44135,2.29821,1.52658,-2.49384,3.8682,-2.23016,-1.6745,-3.88822,3.4246,-2.05397,-2.66761,3.05132,7.76094,-2.39433,6.27609,1.77143,4.8665 --7.89651,0.951198,0.375591,5,31,0,19.5192,-0.297202,1.56038,3.2713,4.49142,0.0814248,1.80106,2.7169,2.9128,1.24108,3.00981,0.784529,0.924342,0.487675,1.29061,2.87702,7.94175,3.13192,5.77946,5.52172,2.82383,4.90081,1.6637,7.84202,0.884559,0.326636,3.71391,2.51017,2.97432 --12.2789,0.966925,0.599379,4,31,0,20.9731,0.394742,0.456865,0.484218,1.88214,1.73488,1.98737,3.67032,4.71232,-0.467137,6.30977,2.46754,5.35372,1.20695,2.32995,2.53874,0.153817,-3.41129,2.41662,-1.11869,5.4385,0.385867,-3.04889,-1.39905,12.0911,2.44523,3.2077,-9.86664,1.86425 --13.5591,0.67046,0.993223,4,15,0,27.8084,-0.425208,1.52587,3.56137,4.14923,0.287816,2.01713,2.35181,3.25156,2.14932,2.60345,0.433392,2.39919,-4.8582,-0.703752,3.90565,6.43136,-2.64814,4.84804,1.8615,7.8124,-0.967769,-7.66741,0.902055,14.0379,0.979047,5.13109,-6.70191,3.20967 --13.2504,0.934124,0.699638,4,31,0,27.2111,0.891312,0.631216,-0.124733,2.24608,1.44733,1.40267,3.71026,4.52485,3.56431,1.83918,4.10957,6.95443,-5.81813,-3.0585,4.07174,5.19274,-0.725651,1.66379,7.02169,5.01766,0.180041,0.549777,5.66874,12.4835,-4.48906,3.99741,-3.30547,6.08394 --10.1999,0.569159,1.04647,4,15,0,28.1707,1.14708,1.47634,0.891113,2.4159,1.21172,1.40807,3.73784,4.58476,-1.55882,2.14533,1.77394,1.13545,6.67825,2.44445,5.96985,5.08044,-0.746387,2.21447,6.85827,-1.56827,3.49389,-1.62204,4.28578,-2.51853,5.05041,-1.84907,3.35569,9.19414 --10.0519,0.984224,0.557788,5,31,0,19.8791,0.880947,2.0879,1.0816,1.46077,1.19245,1.7564,2.32836,4.34192,2.83231,1.56962,4.57105,7.01397,-1.46174,5.11564,2.30655,0.503129,-3.50557,-2.44476,-0.170995,8.43728,0.804548,1.82709,5.16273,7.72271,1.11262,6.93413,10.3569,5.23787 --10.0062,0.49712,0.95473,4,31,0,29.8092,1.26243,2.06538,1.81971,1.82773,1.14029,2.99519,2.67231,4.62858,2.7955,1.66759,4.5272,7.02001,0.426252,3.80486,4.70359,5.40236,5.32236,6.41362,5.96763,-0.648629,2.02938,4.80384,2.26098,-2.16029,5.92364,-5.55271,-0.464468,-1.8597 --11.6051,0.985886,0.421874,5,31,0,23.5007,-0.092207,1.02787,0.895078,2.14324,2.08193,1.97295,2.46524,4.59051,0.42007,-0.462069,2.19631,4.57127,3.66304,6.56777,6.49166,7.6551,-3.6102,9.20413,6.52742,6.76733,-2.84885,7.56709,2.53682,-1.25227,6.23084,-5.89301,3.87372,0.361606 --14.7448,0.899919,0.720651,4,31,0,26.4627,0.0447493,0.966879,3.0854,3.84422,-0.0297273,1.72951,3.76668,3.32079,4.87811,0.729796,3.32339,2.84167,-1.61816,-2.58759,-0.419885,0.367263,10.1832,-5.14568,5.36241,-1.55256,-1.60376,-6.07678,4.59441,7.50946,0.638035,-1.78264,6.69535,2.97167 --13.4112,0.894868,0.966101,4,15,0,26.3762,-0.106427,0.984479,0.714255,2.02688,2.02305,2.30729,2.22329,4.66238,3.7096,2.38489,4.07156,6.10161,-2.06337,0.308543,1.19535,-1.50064,8.87346,-7.76739,0.222325,3.29885,0.784696,-2.42582,7.58931,4.60654,-3.80557,-1.15499,7.14519,0.759784 --15.2952,0.323799,1.27151,4,15,0,25.3192,-0.469705,0.991648,0.58845,1.97203,2.09866,2.56809,2.81824,4.77486,4.33241,1.99148,4.16303,6.54531,2.4072,5.01684,4.2408,9.89428,-6.32275,11.9705,4.78407,3.74648,1.62651,4.14808,-5.99213,1.43879,-2.20994,0.0944527,-2.9059,0.50108 --18.0986,0.981899,0.362248,6,63,0,30.7857,-0.903548,1.53545,0.67115,1.93017,2.61134,3.22842,2.68428,4.6543,4.22265,1.38006,4.06337,6.04797,-2.47264,-0.44645,-2.22748,-0.6565,7.87184,-7.63542,1.44056,6.04461,3.8036,0.427467,3.45679,7.08229,7.70309,1.99276,15.2821,8.90763 --16.5581,0.94741,0.602499,5,31,0,32.7758,-0.252355,0.95962,0.564272,1.73973,2.70291,2.98161,2.76922,4.4301,4.25253,1.49043,4.26568,6.04867,3.73913,3.1148,3.35873,2.44367,-5.93659,11.4884,4.54856,1.92886,2.33079,6.96807,-1.73557,2.77026,-9.54309,7.26644,-10.3168,5.09006 --15.0513,0.870335,0.907784,5,31,0,33.6705,0.140675,0.719471,1.03405,2.81217,1.27626,2.96654,2.61395,4.0166,2.71906,-0.632229,3.41892,6.02761,5.52042,3.50841,3.01915,2.37445,-6.87706,9.89135,4.78531,0.414206,3.98666,5.86325,0.128264,-7.58722,-6.39342,3.68692,15.3764,1.0792 --21.5142,0.345276,1.11137,4,15,0,36.5215,1.64241,1.68078,-0.0828444,3.42043,1.4617,1.07692,3.68308,4.57034,4.27898,1.55915,3.23252,7.26999,-4.68599,-1.06683,2.23927,2.74719,6.88134,-7.01048,-1.60742,7.87045,-1.4787,-6.14369,6.65423,15.7508,-1.24309,-4.00312,1.70381,-7.3105 --17.1418,0.979414,0.348426,5,31,0,34.2015,2.25699,2.04335,-0.261735,3.60684,2.02725,1.58643,3.86811,4.99702,-1.00121,2.9151,2.82912,-0.386243,4.99704,2.42416,1.27875,4.76637,-0.680664,4.70681,3.57898,11.9621,-2.68674,-3.2496,4.14491,2.94488,-6.73561,-2.91062,10.7153,-2.2353 --24.3482,0.913392,0.566833,5,31,0,36.1646,3.35291,-0.377668,1.28259,3.29024,3.01974,2.1435,4.58551,4.47175,3.24711,-0.63933,2.35314,8.59352,3.75986,2.25457,6.92854,4.74203,6.43195,11.2953,6.39698,9.40319,-2.06075,3.81631,4.84416,-2.03818,-0.196195,-5.55409,6.90023,-6.68164 --14.521,0.997671,0.773495,5,31,0,35.4288,0.523516,0.804662,2.2205,1.03984,1.85627,2.66214,2.65653,2.24432,-0.907762,3.15577,2.46599,2.21374,-1.95664,0.984742,-2.56934,3.5354,2.31397,0.107888,-0.856845,-0.522223,0.117864,0.79357,-0.33417,14.6199,10.6014,-7.44158,4.26338,-2.38308 --14.1988,0.791441,1.30014,4,15,0,27.5111,-1.42545,0.370088,2.04535,1.92529,0.546639,1.98297,3.93265,4.81914,-1.97668,1.26971,-1.45692,-0.407011,2.96911,3.5677,7.85168,3.48204,0.862,3.08413,3.36677,8.47381,6.10273,-3.37128,0.317578,-2.09902,2.17261,-3.81337,-1.92665,8.60729 --19.26,0.657747,1.29193,3,7,0,25.9843,-1.36037,-0.198176,1.1256,2.52108,0.811775,1.42514,3.0353,3.06398,3.89217,2.6305,7.32247,8.11309,1.36323,1.18103,-2.03739,4.29239,1.74614,7.60571,4.46418,12.0146,10.4294,-1.05824,-2.28991,-5.42427,5.25208,-0.667784,-4.31308,12.595 --15.6269,0.906843,0.919966,5,31,0,32.7118,1.54281,2.21175,2.82574,3.43494,0.955554,2.42837,3.25378,5.47683,-1.58664,0.803708,2.50509,2.47934,3.71121,-0.686192,-0.546245,1.94494,1.94953,6.66058,3.55897,11.6127,5.28803,1.68697,-5.25376,-2.84109,5.65369,1.87719,-11.0192,11.3366 --10.0413,0.813076,1.2193,4,15,0,25.769,-1.48638,-0.180878,1.17704,2.44907,1.42709,1.71547,2.16646,2.49466,0.705448,4.03959,6.03881,3.03185,-0.104299,4.70428,6.16697,5.43294,-1.19351,2.98949,-1.70006,0.768301,-3.05054,-2.8656,6.36915,9.34644,0.24333,5.2346,5.73864,0.895776 --15.6272,0.576874,1.27825,4,15,0,27.2448,-0.302402,-0.535042,2.13405,1.57716,1.4813,2.35798,1.28354,1.73707,1.56332,3.04339,-0.411602,3.87436,3.05699,0.519311,-1.41488,6.94513,-6.78795,5.61533,7.05649,4.08744,1.43791,4.73175,-3.74375,10.4661,0.0724539,7.08248,6.54444,-1.03495 --14.1,0.999665,0.75261,4,15,0,24.7523,1.54956,1.18707,0.784448,4.33375,0.774294,1.92044,4.29059,6.09919,1.68274,1.44239,1.6865,7.47603,0.806277,-0.489771,1.52525,8.05263,-5.20989,3.65508,6.86148,1.81885,-0.191442,3.13198,-3.91612,10.8212,-0.0582525,9.58289,6.4985,0.656011 --10.7022,0.970291,1.24303,3,7,0,29.9613,0.415291,3.002,2.0185,2.72921,1.99951,1.7232,3.04337,4.48178,0.362423,3.11235,2.39965,7.82146,1.90147,0.150708,-1.83962,5.9168,-2.41486,3.38477,7.88911,-0.0959325,1.26459,2.8303,-1.63896,11.912,1.36934,8.25514,5.87413,2.09068 --10.1366,0.17973,1.89955,3,15,0,25.1451,0.594424,3.20481,1.82348,2.87396,1.96386,1.50259,2.93588,4.53311,2.5505,2.88051,5.68023,2.71298,-0.301798,4.00125,7.83546,2.12141,0.713444,-2.42174,-0.46455,2.36452,1.64234,0.818754,-3.79181,-0.356724,7.38287,0.409759,0.144816,8.90745 --13.9129,0.987903,0.436545,5,31,0,24.3129,0.0332079,-1.08343,1.61071,3.24715,0.32704,3.13853,3.56187,3.6972,3.80362,6.57402,2.7876,4.80736,4.18011,4.59034,8.66479,2.12043,5.7788,-2.12282,2.61528,4.61351,0.901327,0.229455,-3.3299,1.34491,11.4498,2.09033,0.454117,6.48319 --13.7554,0.906077,0.696408,4,31,0,28.8738,0.0612807,-1.00952,2.36763,3.50525,0.0740774,2.0054,4.05438,4.82192,-0.652116,-2.22516,2.17278,4.33521,1.71913,-0.828183,0.0385288,5.91564,-2.89834,-3.10602,3.5681,7.87164,-4.97649,-3.6266,-1.93054,6.87197,11.0579,10.3741,4.90258,0.357037 --23.6754,0.636169,0.910295,4,15,0,35.9446,1.25789,3.61495,2.84926,2.48325,0.736282,1.56171,1.42689,3.16716,2.09794,2.37156,5.27955,5.43956,-0.553813,4.73696,5.74553,3.16732,-4.41515,-9.67524,3.18136,6.6313,-13.2447,-2.42537,2.73612,8.61091,13.604,15.1137,1.365,-0.410115 --12.2677,1,0.630175,4,15,0,29.8362,0.983799,3.70566,2.52783,2.92011,0.856921,1.50971,2.18296,3.1834,0.290278,1.00321,1.0826,2.822,0.148159,1.02672,5.76216,8.32669,1.15068,3.45278,3.03828,1.40698,-10.9952,1.17319,6.85786,4.54218,5.67027,10.4318,1.90484,2.59211 --15.5193,0.890129,1.02176,4,15,0,29.6788,-0.441576,-1.79355,1.44481,3.21152,1.07077,2.10957,4.06474,4.64908,0.14605,0.00476633,2.04689,3.607,1.77506,2.81616,0.289329,-0.684142,-0.819841,2.61467,-7.14683,8.98887,5.11799,6.64005,4.26589,-1.57207,-2.20413,15.3121,2.93833,3.73297 --12.8886,0.60889,1.27705,4,15,0,27.9055,-0.647658,0.35699,2.28888,2.69082,0.286329,2.03617,1.70294,4.06506,0.448489,5.49147,5.62141,2.4272,0.656007,2.5661,-2.6391,-0.274798,-4.1126,4.99474,7.52163,5.13703,-3.30745,-2.26327,3.36345,9.88476,6.52783,-10.0747,3.96377,1.61174 --15.0533,0.860687,0.834288,4,15,0,24.8458,0.145137,0.501819,1.6716,0.949432,2.2763,2.98448,2.77478,3.86827,1.01989,4.50205,4.01916,1.11395,-1.5857,0.112474,-2.63219,0.504059,-3.38889,7.16984,5.95773,5.39906,-2.18601,-5.94678,4.17892,7.97311,7.1196,-10.6727,4.25609,1.17029 --11.0141,0.828099,0.97334,4,15,0,24.9485,-0.411281,1.58398,2.63034,3.70914,1.29141,2.53006,3.12325,4.07358,2.56917,3.63312,2.98979,1.55089,-1.595,0.488934,-2.59862,1.31584,-1.73178,6.51101,5.8077,7.10324,-2.76669,-4.57597,4.71137,7.20017,6.71118,-11.6145,4.06411,0.105984 --11.3823,0.5385,1.05257,4,15,0,27.5028,0.241309,0.449926,1.77404,2.22641,0.730957,1.353,2.56091,4.09021,-1.94207,0.552384,-2.22321,4.44961,-2.29639,0.752047,3.79691,3.55708,2.2523,-4.37253,1.67857,-2.99018,4.47556,8.43208,1.29114,0.410393,3.48698,7.7888,4.94075,7.02436 --11.8066,0.876409,0.592018,5,31,0,23.0474,0.596411,0.691573,1.94543,2.19736,0.564996,1.35984,2.18351,3.58388,4.19197,3.02979,8.48452,3.50878,1.22412,-1.33015,2.94526,4.16916,2.49103,1.71276,6.56543,-4.24927,4.33607,0.402911,0.149639,10.8129,1.98147,4.11816,5.61211,10.52 --16.4699,0.855849,0.71475,4,15,0,27.6853,0.569857,1.12809,1.04082,2.07493,0.926074,1.11778,2.45949,3.85553,-3.68525,0.607261,-2.2169,3.90449,-1.20799,6.63897,1.23162,1.95191,-0.51521,3.51963,3.59317,5.39359,6.21598,4.35392,-11.0279,11.7308,0.169296,1.5878,4.36315,10.3555 --12.4651,0.990712,0.822374,4,15,0,24.5677,-0.0582714,0.811219,2.23155,3.16024,1.59047,0.559964,2.89533,2.73234,4.71846,1.43494,6.74543,4.19802,1.16012,5.84848,1.15003,1.98802,6.59257,1.06749,-1.35653,10.3335,3.03938,4.3185,-3.64382,11.5601,1.7332,2.00833,6.64276,9.09264 --15.7371,0.371129,1.27305,4,15,0,30.2983,0.316507,1.28982,1.53156,2.15576,-0.117911,3.29355,3.28871,5.53885,0.108614,2.85252,0.239152,5.36323,0.908048,-1.59666,4.10274,6.61427,-7.32039,2.61304,4.22225,1.77028,6.91879,3.93719,9.51139,1.7562,17.8314,3.18005,-3.05425,13.9876 --12.5051,0.920731,0.501595,5,63,0,26.1618,-0.263087,1.67313,3.02779,2.81665,0.522882,0.753232,1.09634,2.54868,-0.344022,3.66943,2.51869,4.5727,1.26432,3.45819,0.557406,2.35918,9.365,0.320408,1.09664,6.42316,-5.97714,-1.09149,-4.58966,10.86,-3.23,-3.9811,0.751541,2.0925 --11.1977,0.907504,0.664697,5,31,0,28.7464,-0.214408,1.23127,3.00973,2.98908,0.499969,0.964989,1.10185,2.80194,2.53916,0.421591,2.92286,3.82208,1.65189,1.39595,0.564798,6.12847,6.84525,3.54676,3.63892,-0.82686,9.22075,-5.7441,7.16494,9.50689,5.8991,-2.22347,3.54558,-0.225526 --9.74287,0.868186,0.853007,5,31,0,22.5578,-0.353796,0.24233,2.12111,3.42216,1.70691,1.71939,3.38079,4.53782,3.40036,3.49312,1.76863,6.69588,2.89296,0.562867,0.810752,6.52035,2.44721,-2.18801,8.95761,-0.993298,-4.45276,6.48941,-3.10116,1.01003,-5.114,7.7698,4.68612,8.7747 --20.4489,0.593738,1.00251,4,15,0,27.565,-0.365727,-1.06728,1.31638,3.81649,3.04427,1.50311,3.44103,3.11551,-1.71411,1.35162,4.5367,1.84746,0.413245,0.838297,3.88116,-2.21786,-2.58924,9.64828,-7.75175,6.91238,-10.7779,1.14143,2.37562,-0.351267,3.93237,8.64283,7.97136,9.90724 --10.4774,0.957068,0.651855,5,31,0,30.1328,-0.642583,1.92868,2.4484,2.03208,1.21164,2.07361,3.35207,4.85179,3.81556,3.02028,1.81507,5.41265,0.606269,3.06682,2.04902,1.34889,-0.385264,1.16408,-1.85299,3.73166,-8.04016,-3.71727,1.68232,-2.30939,10.7586,10.7351,8.41108,5.56806 --21.1062,0.779429,0.926022,4,15,0,30.5578,0.481364,1.09509,2.48471,2.67433,0.407221,1.3836,4.50929,3.61035,3.80971,2.41576,1.67526,5.41444,3.8033,-2.25108,4.16933,-0.689472,2.15103,2.90365,8.48838,4.94602,15.9995,11.7403,3.78223,11.4082,-8.85109,-8.13897,-12.5277,-1.02787 --8.34276,0.963774,0.898151,4,15,0,28.0525,0.427764,0.91683,2.61283,2.99674,0.224651,0.858106,3.29689,3.81631,-0.166761,2.51736,2.87728,1.90888,-1.55116,2.43754,1.8369,4.98774,4.76162,-1.29288,4.85441,7.34887,7.994,3.74844,2.19799,9.94465,-3.10307,-6.10403,-7.89227,3.72899 --9.78274,0.390048,1.28669,4,15,0,23.9123,-0.383559,1.25353,1.79959,3.67895,1.31766,3.5818,2.49004,4.20344,-0.130072,-2.30848,2.53353,3.56858,0.358383,8.64019,1.95413,2.77214,-1.00261,2.00934,1.84348,2.23629,-3.9104,1.21129,3.08339,-2.98833,1.62442,0.244064,11.4687,5.83156 --11.6068,0.990943,0.549413,5,31,0,20.2832,0.760359,0.406018,1.9059,2.05093,0.541495,0.393775,3.18227,3.5228,2.8038,4.91075,3.29232,2.85365,0.808896,2.9619,-0.541274,-1.42024,-3.49047,-5.66097,-0.367385,6.32789,-0.655474,3.28685,3.57539,-1.77053,0.58991,-6.36458,8.28417,5.40924 --14.0474,0.706326,0.831988,4,15,0,24.2321,-1.08415,0.586189,2.12414,3.70627,0.955894,4.72369,1.30337,5.46926,-0.444727,3.10833,3.90968,2.88702,-1.55607,0.630098,5.32009,6.66796,2.34668,-4.56226,-2.37352,4.59083,0.354392,9.35816,0.964591,-2.75935,2.18059,-3.32732,7.09551,4.5199 --14.2394,0.97618,0.693774,5,31,0,31.5634,-0.220481,1.08346,2.83026,3.3044,0.734259,4.52291,1.24946,5.16962,0.482356,0.691933,3.00418,2.71787,0.95279,1.28196,2.64163,0.988614,0.360302,8.02483,7.93626,2.62971,-5.59248,-4.29056,-2.47285,12.4483,-3.94865,11.1432,0.964507,7.60871 --15.1246,0.973381,1.01314,4,15,0,26.0121,0.127628,2.11067,1.82355,3.59792,-0.197423,3.19677,0.305946,4.15557,0.0272063,2.87853,2.74377,6.53796,1.54225,3.28908,-1.68835,3.77148,3.48554,10.2259,3.50129,8.37589,-1.62798,-5.36088,-2.1392,6.49979,-2.60175,7.22905,-7.46537,3.81097 --14.0552,0.827423,1.46512,4,15,0,22.9929,-0.568474,1.35539,0.798589,3.74385,1.64459,0.881672,1.75214,3.67755,-0.356762,3.28732,2.96104,7.66034,0.931282,-0.819338,7.96874,3.79429,-0.634155,-6.03147,1.58699,0.0234608,3.17662,7.01766,5.35573,-1.25577,-5.53087,-5.649,-8.14789,0.28281 --11.8005,0.42482,1.56521,4,15,0,26.7738,-0.625407,0.965273,3.74259,2.63643,1.01722,2.85712,3.59453,4.8273,3.62959,1.58215,3.92451,7.57432,-1.27355,1.69242,6.89382,4.7335,2.27187,9.28938,2.51893,6.5603,-1.78369,-2.52244,-0.142083,10.1908,11.3514,-3.06302,3.89988,6.28208 --13.8673,0.888692,0.735641,5,31,0,38.2969,-0.738824,1.07544,3.25364,2.66962,0.743929,2.93297,3.49361,4.8944,3.63594,1.60022,3.91465,7.60503,-2.46186,1.76231,5.27284,1.40426,-0.204812,-5.26593,3.38966,1.4932,-6.65539,6.42616,1.97716,-0.305837,-10.7352,-8.70914,-1.76737,7.17826 --11.439,0.99121,0.892264,4,15,0,25.3622,0.164156,2.53657,2.24078,2.34709,0.939618,2.98323,2.51416,3.27892,3.5233,2.18283,4.14713,4.56792,5.4692,2.72277,-1.71943,6.26122,-0.139805,10.2532,1.94454,4.26003,1.57488,-0.151054,2.07642,10.5778,-0.448746,-0.240718,-9.12217,7.25493 --22.7824,0.803448,1.32821,3,15,0,32.0256,-0.178382,2.68255,2.34751,1.96273,1.01204,2.96323,3.31422,3.71195,-1.93417,2.45976,1.41308,3.0346,4.36478,0.875226,5.55699,9.48575,-8.38547,12.4296,0.996863,0.802938,8.40178,-13.2189,-1.99224,5.03541,3.86659,6.826,-10.7806,4.83688 --14.5923,0.445052,1.35091,4,15,0,33.2184,1.0353,0.800506,1.71812,1.43777,0.854231,1.98896,2.24966,5.00745,-0.629444,2.72327,3.50872,2.21702,-0.559703,2.71685,-1.49444,-1.42347,8.02734,-7.04796,4.9222,8.66217,-0.851574,10.9924,7.69874,8.00104,-6.49966,0.910913,0.799778,5.23212 --17.2783,0.828484,0.67144,4,15,0,28.3349,0.360315,1.9777,1.06757,0.581805,2.618,1.4106,3.20149,4.96484,3.02767,1.04856,4.3327,5.17847,-2.18219,2.59312,6.22231,-1.25434,3.34443,-5.45978,4.74584,6.8358,-0.417131,11.923,7.52287,-1.18897,-11.5874,-0.796765,-0.466891,3.57995 --13.4609,0.992663,0.719962,5,31,0,26.9992,1.00418,-0.0145473,2.57994,4.70254,-1.24534,2.3398,2.28956,3.8302,2.26516,1.14573,4.77038,3.70039,0.120046,3.02187,4.45224,0.0594489,5.46064,-4.31267,2.30155,8.30334,-1.24247,6.72558,4.65882,-1.23182,-12.4564,-0.057969,3.01466,5.19054 --21.9926,0.669151,1.06741,4,15,0,31.9416,-0.880943,1.69032,1.99276,1.05733,3.26778,1.12457,3.82243,4.16894,-0.924008,3.14229,3.15894,-0.29129,1.79551,4.64129,3.85087,-2.66134,-0.274146,-7.37684,-0.909224,8.79929,-2.03052,8.18811,4.1094,-4.35723,-14.8521,0.615662,5.20807,-1.10513 --14.8089,0.97096,0.833893,4,31,0,35.8577,0.887931,0.690301,2.40281,4.34465,0.118744,2.80159,2.47178,4.78434,0.929167,3.01796,4.47905,2.10855,-3.62987,3.38148,2.79814,0.741195,-0.0277827,-6.22929,1.90988,6.84748,-3.72363,7.20183,3.90756,-5.41184,-14.66,3.07979,7.38563,-2.46319 --12.2208,0.597325,1.17948,4,15,0,30.5602,-0.261161,0.876798,2.69681,2.54567,0.683572,1.69295,2.31062,3.22328,2.61213,3.41677,4.96605,5.76491,1.51835,-4.78187,2.21677,4.07865,0.168816,-1.03944,5.30506,12.658,-6.02422,7.05337,3.82222,0.835027,-12.1043,1.89507,-0.482545,1.9224 --17.3709,0.555064,0.80243,5,31,0,32.3857,-0.345692,1.90263,3.44139,1.94215,1.35064,2.00607,0.428583,3.9532,0.597167,0.790079,1.34499,1.05333,1.42048,-2.46706,2.33406,2.7537,7.12953,-4.97531,2.42914,-4.1225,4.55506,-3.53958,-0.17597,7.79198,14.9449,4.16838,6.01486,6.10785 --12.7787,0.960651,0.504705,5,31,0,33.7914,1.89687,1.31436,3.64031,3.42935,2.29719,1.03299,3.29487,3.87157,2.11183,3.00594,5.42084,4.54035,-4.27181,3.91638,2.57624,-1.17438,8.31137,1.89121,1.86432,5.95746,2.69617,4.72153,2.74588,0.651041,4.81356,4.59946,12.5912,4.26284 --11.8508,0.909852,0.697936,4,15,0,21.2908,1.80975,2.45322,4.03496,3.2127,2.23759,0.899302,3.37035,4.92636,-0.591516,0.76767,0.338112,3.92647,4.52956,1.63327,0.112156,5.69004,-0.665554,-0.254943,6.94983,3.20535,6.89077,3.0654,2.20353,6.02216,2.36457,3.80091,10.5369,6.01864 --17.082,0.956083,0.872676,4,15,0,28.6675,0.0714876,1.07011,2.85451,3.43751,0.229996,1.88586,3.90201,4.60575,2.2181,4.92182,6.33493,6.02644,2.08853,-2.62375,-1.92368,-0.719747,2.48678,-3.54161,7.16245,10.8155,13.2587,6.22945,2.54623,0.208147,6.90963,-4.59106,9.71252,8.93249 --7.16046,0.675408,1.18967,3,7,0,26.3139,0.258378,1.17774,2.90405,3.36708,0.220635,1.93658,3.82371,4.68425,-0.348089,-0.72812,0.265408,1.97511,0.128391,3.77363,4.07162,4.36151,0.583823,5.49713,5.53189,1.54341,1.6594,2.36775,4.84872,6.68072,11.8749,1.55385,2.90387,7.96144 --7.46965,0.983882,0.947228,5,31,0,16.6718,0.0396727,1.63512,1.63339,2.86176,1.04307,2.02447,2.63816,4.8143,2.34152,5.11443,3.70678,3.98507,0.303454,4.22226,5.12454,5.03838,4.00778,5.85265,9.45994,5.13362,3.37806,-2.79944,4.4517,1.8989,-9.54145,-0.0532048,3.43656,-0.495772 --9.33655,0.324943,1.35686,4,15,0,21.1401,0.100751,0.76244,2.07071,3.11102,1.11182,1.82367,2.98605,3.45281,3.17438,3.48874,1.20968,1.81432,-1.38652,6.3381,4.12089,5.56565,4.65764,3.63569,9.77755,6.64546,7.14557,-3.1941,3.87929,7.72892,-7.39442,-1.35099,1.43071,-3.47494 --15.0352,0.812758,0.558006,5,31,0,21.1361,-0.865991,0.525455,3.55492,3.82779,-0.438459,1.22237,3.03555,1.85307,1.22279,3.4621,0.555835,2.28962,2.66425,-1.91321,-1.6767,1.5724,-3.14305,0.265567,-4.22073,1.90852,-3.12778,7.64141,-0.269326,0.0236785,4.5627,1.89788,6.23219,13.2784 --16.6096,0.994805,0.578824,5,31,0,30.7165,0.369473,1.32674,2.30643,2.38341,0.114898,1.47581,2.83912,1.51545,1.91045,3.95718,0.955541,2.29124,-0.0347432,0.208766,7.249,4.98199,4.54418,3.96808,9.16981,7.12883,3.97587,-4.90776,16.6561,7.55584,-0.0969058,-5.21663,4.90543,-7.83237 --11.8235,1,0.843999,5,31,0,24.4078,0.118835,0.415542,2.0881,2.55391,0.871085,0.876136,2.81539,2.07409,1.16877,2.54324,0.687689,2.28828,1.85509,4.96613,3.53913,4.01695,4.57767,6.77479,9.05569,6.81044,4.71273,6.59276,5.52393,0.470939,-3.01756,4.65872,1.45128,19.8182 --21.1232,0.341056,1.23854,4,15,0,30.0765,2.95072,2.60757,0.748767,3.79609,1.79213,3.48745,2.86818,4.60734,2.9337,3.04573,0.655681,2.93769,3.58196,4.18536,8.24225,3.91312,-3.06876,-3.72429,-5.09601,0.0251389,-0.767416,-3.87498,1.88841,4.89487,9.4097,-1.25304,6.60394,-10.6563 --20.852,0.982419,0.533023,5,31,0,32.897,3.23202,2.63202,0.805858,3.60457,1.86524,3.61508,2.98317,4.79253,-0.878558,1.01244,5.48601,4.99715,-1.43767,4.64244,-0.704753,1.80348,1.9765,1.01468,-1.33363,-0.161785,-1.22068,-2.32709,9.25485,10.6059,17.5438,-1.29719,5.65054,-3.74828 --17.9003,0.945731,0.756127,4,31,0,39.8364,1.39837,1.43471,1.56197,3.56698,1.56766,2.3133,2.35672,4.65737,4.28406,4.68824,-0.422709,0.734859,4.32526,-6.94185,5.84382,8.5868,0.997052,7.18166,4.58804,4.0459,-0.212873,-1.95211,5.60494,7.29659,4.96695,3.75899,15.131,-0.625194 --15.1836,0.604299,0.999575,4,15,0,29.0458,-1.40747,0.567389,2.4335,2.427,0.43124,1.67916,3.63633,3.34845,0.798431,2.0401,6.53739,2.42821,-2.33456,10.9617,-0.0747876,-0.584041,0.38141,-1.56897,-0.663539,2.26741,9.6738,5.55176,-1.02467,0.901197,-8.56203,0.140837,2.08842,2.35976 --18.3177,0.851124,0.70497,4,31,0,28.7249,2.85206,1.37755,2.10498,4.04526,1.12091,2.92158,2.84714,4.85302,0.500609,1.09046,2.04686,3.09912,3.55689,-6.57325,7.80232,7.68261,-1.20624,8.60938,9.21962,8.79498,5.05999,6.02882,2.45006,3.18798,2.26687,13.191,4.79431,6.15835 --13.6358,0.998755,0.782466,4,15,0,27.3737,2.69277,1.34731,2.10613,3.91155,1.15639,2.87434,2.89231,4.89337,1.50569,2.89474,3.94179,4.91569,1.63645,10.3064,5.1821,2.54363,-1.80527,5.89834,2.16047,12.7339,-1.7401,4.38807,-0.216765,5.7318,3.42851,4.77884,-1.26504,5.78455 -# Adaptation terminated -# Step size = 0.860161 -# Diagonal elements of inverse mass matrix: -# 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 --19.8045,0.784555,0.860161,4,15,0,31.0277,1.42314,3.24308,1.2917,4.04247,0.341963,1.07628,4.02629,3.51623,-1.35967,-0.213643,3.09031,3.44637,1.54016,-5.83262,3.07372,3.55726,4.09832,4.20379,11.8131,-4.54901,4.1573,-8.43337,-0.555849,9.08006,3.79805,3.52034,0.246193,-3.85523 --14.7322,0.723346,0.860161,4,15,0,31.7687,1.16223,1.46836,0.69435,4.77263,2.83719,1.28777,4.81356,2.36917,2.65261,3.37119,3.82962,4.65885,1.96259,10.4225,2.84646,5.03555,-0.630156,1.06086,2.79671,3.03748,1.08858,-0.16819,5.6711,4.54249,8.35036,6.77732,7.30719,0.948396 --13.9542,0.988624,0.860161,4,31,0,27.6292,-1.78629,0.467201,3.59377,0.740073,-0.124989,2.73847,1.16444,4.77279,3.46308,1.52216,2.42487,5.91396,-0.862453,3.09935,1.25765,2.49237,-4.48003,6.9563,4.06792,3.74916,2.36881,-2.60901,4.50377,6.11856,10.3275,4.17098,1.54635,2.82217 --15.5389,0.982577,0.860161,5,31,0,26.1478,-0.885832,0.662304,3.99114,1.67956,-0.505076,2.42935,0.669802,4.76531,3.27478,1.31962,1.94326,6.3824,2.15687,6.50455,-0.421532,3.3905,6.50365,-2.75401,1.69232,3.55955,3.33833,4.41853,1.12512,5.20733,-8.25145,-5.18204,2.75203,-2.74715 --11.1068,0.99652,0.860161,4,15,0,30.8247,0.507654,0.614184,1.44271,2.87975,1.36267,0.117397,3.04462,5.132,2.68584,-0.261838,3.30381,5.05267,1.67125,5.18549,-1.23074,7.87929,4.98108,-1.66889,1.86772,1.31748,-0.783023,8.67809,-0.0393086,2.49872,-7.40151,-5.11304,2.47221,-2.81082 --9.19391,0.99506,0.860161,5,31,0,17.1506,-0.184065,1.31144,1.74748,3.87493,1.23435,1.69764,3.45968,4.85408,-0.923823,5.60435,2.64785,3.40306,1.73878,5.98797,-0.929465,7.43764,-1.58452,3.12587,1.92961,6.94447,0.113709,-2.86648,-0.391712,3.57223,10.2451,8.73783,4.22667,9.87115 --11.277,0.74854,0.860161,5,31,0,19.7999,-0.256496,2.51849,1.74768,2.71752,1.36776,2.56106,2.48215,4.5472,3.1567,-1.68999,3.42849,4.53781,1.87474,6.0572,-0.832841,7.47709,2.40555,1.92321,2.53121,1.37118,6.31242,9.64383,6.96572,2.30089,-8.18477,-4.74342,1.67094,-2.03261 --11.7741,0.732793,0.860161,5,31,0,22.2239,0.431236,-1.23718,2.26473,3.65982,0.703821,1.5545,4.13435,3.71009,2.25786,0.921197,5.24686,2.1179,0.0477161,-2.1286,6.8615,0.528117,-1.83317,3.6574,3.04737,4.29218,-1.55061,-5.79991,3.01777,8.1025,2.73711,9.62103,9.66895,-3.07734 --9.53011,0.809277,0.860161,5,31,0,23.3929,-0.909102,-0.551032,0.838413,2.29149,-0.510233,1.23192,3.17679,4.23651,0.50004,2.27262,1.11793,4.98463,2.74231,0.788292,4.56888,7.27211,1.75542,6.35394,2.38509,6.22079,5.8871,1.68454,10.6108,5.16371,1.841,11.2936,6.89559,1.89482 --15.6318,0.867634,0.860161,5,31,0,25.4085,-0.539457,1.19295,1.26426,2.91414,2.37511,4.17069,3.85663,4.22561,-1.43011,3.14933,6.0507,6.47374,0.059116,-3.8395,6.51253,7.78941,2.70192,0.546467,6.92001,-2.58946,-4.23794,3.14667,-3.85138,3.23937,-3.0133,-7.3636,-1.4891,4.24323 --19.6111,0.708572,0.860161,5,31,0,32.1515,-0.645484,1.4593,1.68009,3.78379,3.88937,3.93755,2.51316,2.91456,3.64705,1.03893,0.155457,1.7953,-0.0222461,-3.95801,6.61011,7.84981,-3.38362,1.42656,1.68359,2.38817,4.93761,4.49583,14.6899,8.4134,4.87501,11.3466,7.3772,3.76911 --23.7182,0.94165,0.860161,4,15,0,39.6492,-0.0710519,2.37767,2.08082,5.21635,3.33296,4.0488,2.72007,3.83466,3.89807,0.300216,0.664843,1.06574,-0.0982979,4.26552,-0.731478,1.38002,5.29161,3.45587,4.23147,5.91468,-2.3133,-0.828304,-10.1604,-7.96188,-1.71833,-10.1775,0.95589,12.6082 --20.5415,0.947762,0.860161,5,31,0,37.0236,1.38747,3.04783,3.68479,4.95453,1.70161,3.72335,2.81238,4.13023,2.21624,1.63975,1.00802,0.162197,0.980312,4.45047,6.16535,1.24784,4.52581,1.08439,4.26188,6.18625,2.43874,15.2107,-0.44712,8.36275,5.02379,15.2568,-1.57278,-3.71284 --17.9654,0.916593,0.860161,5,31,0,36.0983,1.06114,2.84022,3.81075,5.72632,1.37324,3.68787,4.35986,4.34996,2.22929,1.62622,1.01792,0.161521,-1.81955,0.280419,7.0558,4.34641,4.49317,1.19264,4.35392,6.22536,-0.608062,-1.34722,3.53503,6.20395,-1.81037,1.33121,16.097,8.77793 --9.52757,1,0.860161,5,31,0,24.6315,1.18497,0.59497,1.88868,2.27682,-0.746597,0.243439,1.72679,3.14074,1.18037,1.25662,1.68681,1.12444,4.27682,2.22099,-1.32326,3.83868,-1.82169,4.96595,3.23721,3.68422,2.17808,-0.390674,1.70515,-0.300281,2.29149,1.36487,5.49263,6.36309 --9.77282,0.899257,0.860161,4,15,0,19.2688,1.14394,2.0986,1.08534,3.67866,1.48118,0.757117,2.26519,4.71438,1.2112,2.73611,2.2129,5.77954,5.57074,-1.22205,7.06883,1.76756,-3.10528,7.02285,4.10736,6.29634,2.52693,-2.74673,-2.59431,3.62268,4.96135,2.5747,5.75367,3.80917 --8.74747,0.781106,0.860161,4,15,0,25.5551,0.457058,0.757244,1.21565,4.10256,0.379015,2.32027,3.01163,3.07884,-0.0501144,0.416171,3.6245,2.08362,-0.418398,1.47666,3.46769,0.866342,-0.889791,5.36102,5.20401,2.62941,-2.19749,-5.03285,2.85653,-1.7026,0.375225,-3.34699,15.3261,-1.04486 --10.1565,0.869405,0.860161,5,31,0,19.3143,0.563632,0.591317,2.47207,4.29476,1.17929,1.10882,2.31904,4.38846,0.11198,0.0418487,2.50256,1.51795,2.09136,1.29648,2.59082,3.16586,2.83705,3.14147,-1.71314,6.1339,3.49208,8.94285,2.93173,10.8583,4.48935,9.56003,-10.13,9.05171 --9.97454,0.617886,0.860161,4,31,0,24.0239,0.633627,0.768211,2.34529,4.1351,1.36602,1.06781,2.09737,4.60805,-0.0632031,-0.247857,2.55488,1.5033,0.389759,0.743143,7.55595,3.82813,0.038678,1.264,7.215,1.81436,1.90984,-1.871,-2.41919,-5.18312,-3.28446,-5.57349,9.16333,0.305028 --12.5092,0.630084,0.860161,5,31,0,23.4135,-0.35291,0.865377,2.28712,1.34467,1.54421,2.44524,5.13422,3.90833,4.49079,3.97661,1.55523,5.40419,1.9546,3.97505,-2.22822,4.60045,0.288336,3.37546,-4.35029,3.26562,2.07135,0.44565,-1.84383,3.42559,-9.4524,-1.77648,5.80034,2.76602 --13.3596,0.826095,0.860161,5,31,0,28.1374,-0.397553,1.47077,2.60824,5.22796,0.652394,1.97739,2.44411,4.10534,1.84772,4.62578,1.82189,4.39518,-1.09823,2.49458,8.52225,10.9212,3.13516,-3.21565,8.60554,6.35034,0.277631,2.15531,8.49442,5.30086,11.7316,3.58374,4.79084,2.11601 --15.3739,0.792174,0.860161,4,31,0,29.9792,-0.0856389,1.0395,1.85414,0.338774,1.71409,2.50411,3.52393,4.85451,0.167698,1.05894,4.07617,3.55729,-6.30222,5.59306,5.68927,12.2215,1.33923,3.0802,5.63681,7.92106,-0.981619,3.41889,4.61486,5.44237,10.9701,5.34119,2.64888,-0.179001 --8.04987,0.903022,0.860161,4,31,0,30.1022,-0.196803,0.781156,2.73582,5.01763,0.309354,2.03756,2.24806,3.85197,1.50154,0.0307024,2.94036,5.65359,-2.50948,4.70125,-0.431406,2.15556,-2.02698,-1.21463,4.09358,1.8208,-1.00044,4.54858,0.440711,8.79437,5.69962,4.55385,-1.09605,7.28943 --8.96553,0.817163,0.860161,5,63,0,22.8569,-0.177539,0.557866,2.52455,5.07666,0.411983,2.14272,2.31709,3.86555,1.54814,-0.596161,3.62345,5.92458,2.5095,-1.8332,2.54081,6.60517,4.96126,6.1377,1.84243,6.22957,-1.92741,-2.98544,3.22467,1.99533,5.27841,8.9899,4.82817,-1.74178 --9.45393,0.670389,0.860161,4,31,0,26.6202,-0.0728854,0.326291,2.44134,4.94076,0.565235,2.32911,2.15403,3.73805,1.94576,-0.783988,2.97112,6.0337,-2.80321,2.63751,-1.65297,5.29261,-2.33496,-3.13075,4.39251,2.62871,1.29869,2.67064,4.70609,2.00335,0.412632,-6.05685,1.86362,10.6855 --12.9406,0.549837,0.860161,5,63,0,27.0614,0.28727,-0.401275,3.20091,4.13757,2.82288,2.62206,3.92522,3.44591,0.271789,4.65416,2.91354,1.86158,-2.70717,2.5824,-1.79929,5.39847,4.70284,1.38699,-2.87595,8.98659,4.86712,1.55675,3.76518,7.27136,1.48005,10.2142,4.18182,-2.77883 --8.62807,0.911568,0.860161,5,31,0,20.5171,0.556003,0.186491,1.45906,3.34555,1.93998,1.60054,3.39106,3.47379,0.00641074,4.46256,2.49695,2.32702,3.41574,5.24398,2.47876,0.883334,-2.63037,2.90374,9.10594,-0.822928,-6.09628,1.50389,-0.309368,2.07851,5.18092,-3.60629,1.64898,7.11342 --8.70411,0.812027,0.860161,4,31,0,17.7452,-0.569261,2.02902,2.03994,3.20495,0.547021,2.01601,2.24829,4.05771,-0.0103493,2.08415,1.8928,1.50897,1.40788,7.21178,0.24904,0.800434,2.00976,5.49062,6.51576,-0.229384,-2.66952,-0.944931,-1.4792,-0.413878,6.41946,-6.55437,2.95839,5.29358 --11.8975,0.780483,0.860161,4,15,0,26.4104,0.504944,0.564509,2.06611,3.21925,1.66058,1.89468,3.28442,3.31242,0.937788,2.45786,-1.30501,5.33725,5.69166,3.41433,3.41778,7.54613,3.46354,10.3324,8.13131,0.72175,-2.19183,-1.88318,3.53665,2.6346,5.64012,-10.38,4.42433,5.10611 --19.8828,0.630847,0.860161,4,15,0,33.797,-0.250429,1.40302,1.98581,1.65777,-0.301405,2.95721,2.32624,4.09783,4.06058,4.81126,3.76885,1.4313,-3.09539,2.27313,3.08191,0.39357,1.27661,-3.62335,-1.59017,9.26119,0.810427,12.4781,4.3736,-4.00285,1.07622,0.0862737,-18.2965,8.13019 --18.4393,0.791497,0.860161,4,31,0,33.1763,-0.0938752,1.60416,2.83108,2.25217,-0.200278,0.427915,1.28706,3.6763,0.793961,-0.495615,4.03644,4.80951,1.24642,-0.787255,6.6188,-0.333061,5.49005,-0.839077,1.11633,4.2419,-1.30289,8.42967,11.6832,-3.00606,7.65662,-0.510158,-16.2146,11.0911 --8.43402,0.839995,0.860161,4,15,0,28.7467,-0.219327,0.716214,1.15858,3.67467,1.51167,2.79394,4.69671,3.94805,-0.678437,3.45216,2.39455,5.71097,0.799094,4.74844,-0.521852,8.35624,0.179381,3.86772,4.1558,-1.30347,5.21444,1.6078,5.68671,2.50385,-3.79774,5.51249,-3.67519,3.8277 --7.31031,0.625592,0.860161,5,63,0,30.3577,-0.0642832,0.62445,1.01779,3.55564,1.201,2.69008,4.22211,4.26781,1.95055,0.371611,3.02402,3.12913,1.26844,6.20912,1.2733,7.67132,-0.0518513,-2.44874,1.79679,7.15186,0.50035,-3.64895,3.92281,5.93732,6.22249,-3.15915,9.71099,3.98595 --12.4951,0.578134,0.860161,4,15,0,22.6212,-0.429454,-0.00704628,0.341456,1.94889,0.343389,3.44671,3.62092,2.23527,0.935523,2.21528,2.06163,3.59814,2.09355,0.712938,7.7124,0.242232,2.28213,-0.772936,9.75672,7.60821,1.28062,8.27179,-0.274437,4.9779,8.06648,-1.69613,9.13867,6.53351 --17.344,0.740007,0.860161,5,31,0,27.9594,-2.07354,0.447229,0.161841,2.16303,1.80637,4.44019,2.69342,1.99508,0.708004,2.74816,2.18285,3.32803,0.274574,5.60365,2.00456,4.91895,-0.481554,4.95036,-3.86827,0.478142,0.157354,-0.722499,9.27908,4.15721,6.21503,13.8626,-5.8201,3.54719 --19.3946,0.731826,0.860161,5,31,0,33.8298,-2.12113,0.514613,-0.0680413,1.94275,2.00121,4.68682,2.58656,1.9205,0.170864,2.70988,2.44895,3.46576,2.63764,0.259325,4.88845,-2.46382,2.3487,-1.41938,10.1543,6.969,2.94677,5.74263,1.61178,0.607267,6.6529,-0.861601,11.89,-0.913847 --21.7224,0.826074,0.860161,5,31,0,41.1622,3.70294,0.743928,1.55994,4.05203,2.34433,2.37972,0.278004,3.00857,1.05258,1.71259,4.41686,4.68128,0.557769,1.78125,5.87847,-2.32416,1.32806,2.38044,9.59831,7.76989,5.51799,7.91897,-0.802,1.26936,4.51403,-1.15695,14.1598,-2.55562 --15.1159,0.918078,0.860161,5,31,0,34.672,2.19159,0.114454,1.66403,4.37977,1.89464,2.05576,2.83508,2.58104,0.75564,2.15073,1.29523,3.28562,0.617526,1.86971,6.04074,-2.28262,-6.79954,-2.07974,-0.550841,6.72517,3.29747,-2.79504,5.69658,8.09072,-2.3716,5.16373,-8.18296,10.6395 --19.3339,0.618113,0.860161,5,31,0,35.6708,1.5917,-0.40218,1.5456,2.47432,3.10366,1.66058,1.31578,3.93985,-0.31036,3.0242,1.85009,-0.659806,0.397643,3.72607,1.26043,10.3724,9.37309,6.91997,5.152,2.51248,9.34628,6.78529,-0.498126,9.68069,-3.19979,4.14351,10.6606,8.57623 --16.0704,0.901646,0.860161,5,31,0,32.7545,0.996388,-1.14991,1.05317,2.99372,2.78733,0.639611,0.976372,4.19797,2.48456,2.12412,2.0124,0.625223,1.6668,1.76474,2.96644,0.861406,-4.4252,-2.09528,3.84689,5.23745,-5.38072,-3.29064,7.58423,-0.507928,0.131471,-8.48878,-3.39661,3.39162 --15.2429,0.998255,0.860161,5,31,0,24.6107,1.24686,-1.16355,1.08839,2.85937,2.65391,0.645437,1.05614,4.25207,0.372248,1.97805,3.87234,7.10972,0.729078,2.22398,4.00756,1.67388,4.06681,-3.13196,3.4543,7.01041,5.88777,5.67678,-5.33489,7.56527,1.38715,12.3695,8.87547,4.46342 --16.974,0.996348,0.860161,5,31,0,24.811,-1.30492,3.12124,3.47744,3.359,-0.537037,2.74334,4.83346,3.97268,-0.971303,0.340135,4.87127,2.33768,0.564177,2.33826,1.91777,-1.96057,4.54022,0.152015,0.918537,7.6788,4.90058,5.71406,-6.84516,7.18798,6.17332,10.8984,9.72762,5.48112 --16.9662,0.945577,0.860161,5,31,0,29.4577,0.591384,-1.89828,0.434384,1.8959,1.72457,1.01036,1.21991,3.2261,3.29322,2.69672,0.24008,6.76226,1.63069,4.8106,-0.361697,-0.981356,-0.0485189,1.47352,1.52818,2.26746,-0.130397,1.10837,1.61811,8.76401,-1.97411,-7.48536,-4.5465,0.971679 --10.1931,0.999555,0.860161,5,31,0,25.699,-0.33817,1.08871,1.04395,3.18431,0.575874,1.06866,4.61729,3.41526,3.11315,2.09284,0.273035,7.99656,0.249082,-2.52978,4.10656,1.67355,1.34978,3.36538,5.85646,4.87764,3.47364,2.31437,2.34202,1.04216,6.37406,6.46187,2.31732,13.6635 --15.417,0.768106,0.860161,5,31,0,24.411,-0.877063,-0.548798,1.03844,1.82724,1.89468,2.61894,4.98583,4.3816,3.11467,2.89636,-0.506148,8.43925,5.55259,2.44195,0.287541,7.06809,0.22221,0.437302,0.354973,5.00409,0.0657548,2.21157,0.153184,5.64231,-10.7416,0.0160808,-1.59034,-1.70109 --14.3292,0.778102,0.860161,5,47,0,31.8948,-0.835914,-0.72624,1.08441,2.03477,1.73849,2.40372,4.75978,4.2101,3.07166,2.51667,-0.232078,8.5952,-3.62975,0.467639,2.02648,-0.760732,0.362741,2.81186,4.95949,3.02717,0.948676,1.38826,0.983526,2.98966,10.5448,-0.671951,10.6013,6.29157 --14.8458,0.856741,0.860161,5,63,0,24.5393,0.504578,0.018263,1.4553,1.32424,0.41784,1.88565,2.55812,4.2024,-0.967918,1.98354,6.04874,-0.953709,6.6586,2.05247,4.84416,6.21451,-0.332073,-1.15515,10.1698,6.45613,-2.5022,-2.04091,2.57401,2.6965,13.7928,1.25064,8.2538,3.7172 --11.7048,0.784856,0.860161,6,95,0,29.0273,-0.613356,2.09857,2.3479,4.76607,1.48177,2.0545,3.44732,4.08211,3.01356,-1.20132,0.777776,5.35661,-0.477349,0.75036,4.16557,5.49027,-6.70421,-1.91415,-3.08318,-1.02431,0.484233,-3.5761,1.09132,2.64118,8.43476,0.493972,6.20447,1.71392 --13.1086,0.991643,0.860161,5,47,0,20.7089,-0.0518793,-0.174745,1.77779,2.87723,0.522631,2.04075,2.56077,3.984,0.683662,-0.619809,1.4779,4.73742,9.64228,1.5216,2.4009,4.14747,8.75804,5.17572,9.12705,11.0326,2.63178,7.06193,6.91225,3.59346,-6.99781,1.70864,0.864794,5.189 --10.8981,0.866289,0.860161,5,31,0,22.8954,-0.546633,-0.937251,0.546178,3.0337,1.11702,2.16078,3.40423,3.91817,1.10108,3.15529,5.28058,3.01435,8.89828,2.95468,2.61543,5.58865,-3.22951,2.81788,-2.98515,3.35717,0.706171,-3.25148,2.33379,5.86413,7.60502,3.45029,3.24937,0.991983 --14.0955,0.714512,0.860161,5,63,0,22.3999,-1.58625,3.66754,2.50165,4.27594,1.7949,0.202159,2.18108,4.16373,-0.390132,2.90423,3.11903,3.39196,7.05207,0.384971,2.09763,5.74351,4.47554,-0.889601,9.25823,7.68092,1.05714,7.40583,4.09412,2.33301,-2.62144,3.35255,0.635266,5.66079 --16.3084,0.981522,0.860161,4,31,0,33.1465,-1.11192,2.7881,3.03368,3.31234,0.366338,-0.450502,2.80202,4.46992,1.47575,0.108562,2.18386,3.64413,0.810232,3.8116,4.1177,4.61328,-7.09221,-0.688643,2.26195,11.0575,-5.27482,0.146235,2.27947,11.4595,13.1333,3.63717,-4.28267,-3.0086 --12.0509,0.966815,0.860161,5,31,0,29.7912,0.489157,1.29776,3.33356,3.30977,1.41104,1.6691,2.43092,4.66688,0.0319771,3.42117,2.26536,3.15102,1.44227,-1.86674,4.87026,3.26147,3.92343,1.48768,2.38319,4.7517,7.3309,-1.13584,5.43253,11.5113,10.4512,-5.90729,-7.87181,17.5031 --23.1713,0.302909,0.860161,4,15,0,44.468,-0.249934,3.04319,0.596048,1.3227,2.27524,2.09365,3.07696,6.21482,1.88709,-0.0810217,2.79358,4.74299,-0.202796,2.08644,8.51476,2.76177,7.93853,1.18279,2.98322,6.5801,-2.46116,-11.8825,2.59276,12.4044,-3.72406,-4.80667,-14.6551,8.58253 --7.49009,0.923932,0.860161,4,15,0,31.183,0.438888,1.9038,2.82014,1.7448,1.19202,2.02007,2.5347,3.52349,0.954773,0.532209,2.79393,3.8294,0.424185,1.96849,-3.07139,5.53496,-4.59972,2.31086,3.18169,1.40259,2.8702,9.37802,5.13805,6.30933,-1.82557,0.653237,-0.589493,8.4784 --13.7647,0.616589,0.860161,4,15,0,25.316,-0.256891,-0.335137,1.31855,3.28136,1.94339,1.42124,3.51337,4.40423,0.662238,3.84402,3.41463,3.27044,-0.890459,1.82182,9.60919,-0.197267,3.75499,-4.2696,-0.800554,3.96122,7.40083,-0.929526,-1.29927,-3.25452,-1.25834,1.2525,-8.28347,14.1556 --16.0121,0.868618,0.860161,4,31,0,27.4782,0.363348,2.6029,2.5185,2.18498,0.101767,2.57895,2.04464,3.91325,4.23508,1.13463,0.911965,2.49702,2.84257,2.17462,-3.53084,8.15471,2.10445,5.31801,7.29338,2.89228,-5.08302,-4.90377,11.7219,-1.01979,-0.0571692,-2.33294,-10.0317,6.17294 --15.0698,0.759541,0.860161,4,31,0,36.5208,1.28429,2.37456,2.96387,3.97134,1.23891,2.40044,1.54041,3.31198,-0.362506,1.72272,4.98524,5.28667,2.00643,4.85908,3.59914,0.739362,3.57859,-7.07305,7.00915,-4.75041,-7.55496,4.79158,3.36022,-0.647278,-5.17092,5.1485,-2.13872,7.04037 --12.4416,0.729063,0.860161,4,31,0,34.6041,1.22924,2.38308,3.13679,3.93842,1.25388,2.49793,1.56822,3.35016,2.27083,1.73835,0.663659,2.75704,-0.285452,-3.15437,3.85046,3.34308,-3.19778,4.25673,-5.59213,-0.272326,0.126866,-2.22442,-2.854,8.47189,3.80997,1.49002,6.08471,-0.181732 --17.9489,0.919123,0.860161,4,15,0,26.1899,-0.808553,0.437243,0.570674,3.80624,0.801717,4.46416,3.80742,3.89349,-0.301159,2.4791,4.47383,5.05131,2.24313,6.42328,1.83224,3.23961,6.45393,2.1139,15.4601,8.89803,1.00631,2.93935,9.77697,-6.15434,-6.09055,1.91755,-2.75685,6.82433 --16.4773,0.892758,0.860161,5,31,0,29.6282,0.908011,1.13575,2.55608,2.82748,1.86498,0.693331,2.59308,3.45358,0.346751,-0.877361,1.56383,5.32856,1.34391,2.71662,8.15857,7.16486,-5.56042,-0.874939,-8.16918,-0.706918,-0.234612,0.196568,-4.61311,15.1373,3.62059,-2.22898,9.08938,4.32663 --13.289,0.614593,0.860161,4,15,0,29.7521,-0.818222,0.92902,0.291895,2.391,0.778976,2.71642,3.74176,5.23772,0.24706,3.08977,0.903733,3.81637,-0.614709,3.38249,5.09777,8.01555,0.110238,-1.02134,-8.48159,-0.794124,-0.592076,2.69978,-3.3468,12.6123,1.52137,-2.66935,3.9241,3.38165 --11.5037,0.465444,0.860161,4,15,0,32.6578,1.62148,1.33915,3.33051,3.925,0.201037,1.12024,1.84056,4.50208,-0.00448722,0.396222,3.40127,6.99528,-0.217797,1.15614,5.59528,8.49454,2.51109,6.18357,-2.71319,-0.0540121,1.73941,5.69656,-0.584907,11.785,2.95764,-1.26039,2.82853,3.94858 --15.3251,0.834088,0.860161,5,31,0,27.3009,-1.09842,-1.44863,2.52003,4.06014,2.03568,3.26803,2.6931,4.57931,0.226772,3.10201,2.40431,4.40179,5.79498,0.534726,-0.581222,3.44338,-1.06064,-1.3879,9.51127,8.03588,3.10991,-2.11994,7.64384,-4.0303,0.976165,14.3009,5.29924,9.39642 --12.165,0.990032,0.860161,5,31,0,22.1424,0.824177,0.891237,2.65558,2.61068,1.06032,0.402221,2.86921,3.70613,1.84647,4.10486,3.84689,1.46704,5.30657,2.65713,1.3076,0.554108,-2.30764,-0.469482,12.6267,7.41776,-1.55067,2.16038,0.267382,0.372514,2.20095,-9.95964,0.898893,-1.27171 --18.5316,0.684816,0.860161,5,31,0,30.4117,-0.419474,1.58907,3.04191,2.31607,1.03407,1.42235,5.42771,3.4986,0.670127,2.72678,1.40821,2.41532,-4.09238,4.08976,6.6689,8.2711,5.04312,6.34404,-7.68186,1.61989,-4.9711,6.38655,9.05793,10.2051,-4.39774,11.1801,-4.30178,8.93144 --14.256,0.594593,0.860161,4,31,0,33.806,0.76931,0.911337,1.68097,4.98539,0.980599,3.05571,1.65854,4.32149,-1.05159,2.6455,3.26363,3.51377,-6.82978,4.32257,4.46292,8.00554,3.95884,0.467194,-2.66067,4.50543,-6.14473,4.75781,6.11417,6.56999,-2.03928,11.4115,-4.88269,5.08144 --14.6607,0.910061,0.860161,5,31,0,26.9192,-0.573766,2.13175,3.50244,2.62112,2.56538,2.61625,3.94228,5.40887,1.72032,-0.034149,0.645641,4.64015,6.37021,0.0929118,2.98076,0.0462494,3.91154,-0.316889,6.82137,6.14023,6.80063,3.19718,13.6048,0.866676,2.08905,9.61847,6.50235,-2.74844 --14.5434,0.879661,0.860161,5,31,0,28.6675,-1.23977,2.84924,0.850058,1.97849,-0.428324,2.02919,1.85443,3.14264,-1.89265,3.9888,4.25611,2.55832,6.87199,0.885921,2.75009,0.527245,6.13873,5.41787,0.615716,5.80921,-2.20629,-3.36678,1.46155,2.56776,-0.997269,-6.89165,-0.115064,10.3162 --19.5291,0.87771,0.860161,4,15,0,31.7462,1.15268,-1.31441,3.54375,4.29723,2.70214,1.76449,3.66489,5.18193,3.12446,2.08643,1.13467,2.30362,-4.81724,3.11495,3.05925,7.57315,-4.66948,-2.71641,6.14132,3.84075,10.8945,0.0932864,5.59013,16.7895,0.23701,1.90423,-1.29585,5.46123 --17.6051,0.992102,0.860161,5,63,0,32.7276,0.997958,3.36895,2.17518,3.6488,2.5068,1.97821,4.03313,3.6413,-0.336124,3.68728,5.84121,6.27435,6.05553,0.208641,1.76966,-1.57065,8.16179,1.73206,-1.94273,-0.485591,-3.56916,7.47885,-3.13838,12.6939,-1.73809,2.88293,-1.68312,4.25104 --19.6001,0.914096,0.860161,4,31,0,33.0725,-1.52715,-1.68872,2.10526,2.27722,-0.636677,2.15263,2.73646,4.12282,0.0389253,0.446216,1.96554,7.11978,-4.06525,3.82854,4.32008,9.70203,-3.15883,4.21074,10.3426,7.68124,-1.05794,2.24871,-1.46087,-1.97484,1.62371,14.6072,-0.232623,14.4617 --9.89759,0.987298,0.860161,5,31,0,30.8475,-0.592219,2.11456,3.03132,3.72262,1.30908,3.11013,1.34277,3.40065,-0.0628195,0.794051,2.6948,5.76322,1.23633,-0.0383222,4.97152,1.0126,-2.51479,3.35764,9.11481,7.58514,-1.6874,-2.98358,-2.39943,7.4559,-6.18955,0.981663,6.80284,3.05342 --18.3954,0.684805,0.860161,5,31,0,28.5617,0.696733,-0.57608,2.19451,2.2634,-1.89913,1.88493,1.71683,5.13573,-1.70294,0.819443,3.1915,6.16234,3.64645,4.97284,-0.591489,7.11019,-3.99784,3.80958,9.91014,7.05112,3.62426,-6.73845,0.0750765,0.45336,10.6804,8.10877,7.10162,8.84098 --13.3217,1,0.860161,4,15,0,28.1192,-0.495684,1.71607,2.65677,3.90954,2.98255,2.25948,4.9079,1.88095,0.508449,1.97171,4.52115,4.38444,-1.78218,-0.743927,5.71292,0.691213,6.22394,4.11344,-1.3591,3.68851,1.67447,-1.15277,8.9472,2.79441,7.23469,8.86082,0.950356,8.32681 --9.60937,0.609719,0.860161,5,63,0,30.9344,1.13225,-0.14572,1.71394,3.54364,0.783788,3.58454,4.88378,3.82415,0.97786,1.90636,4.25177,4.17521,2.42848,0.532961,4.32969,1.32662,-3.54724,-0.533146,6.97881,4.77709,-0.524565,5.81543,-1.35475,7.65876,-8.01449,-1.79823,8.03482,1.31983 --9.63063,0.98381,0.860161,5,31,0,22.6885,0.585748,0.920064,2.18891,2.64539,-0.396606,3.12795,2.28931,3.85065,1.52782,2.32635,2.29546,3.03757,3.20822,1.08432,4.86114,-0.94135,7.80145,3.77788,3.2853,9.6236,4.75869,-2.22046,8.91638,5.72866,8.29346,5.14115,-3.30923,5.80263 --15.1239,0.802703,0.860161,4,15,0,22.7574,-0.312174,0.834929,2.08819,3.33138,2.94225,1.1939,3.09799,4.2314,-1.57183,-1.49892,2.81379,3.38944,-1.16576,2.94949,1.12468,9.01994,-3.39807,0.811035,0.748035,-5.02208,-5.71863,3.28132,-5.97355,8.99827,7.78913,10.6963,3.05376,9.08331 --10.3791,0.720263,0.860161,5,47,0,33.5646,-0.601611,1.77251,2.24487,2.7955,1.17255,2.48093,4.04297,4.33445,3.18582,5.3764,3.25639,4.93486,-0.911479,2.99223,1.31406,9.0083,-0.428543,3.75101,3.96422,-3.97733,3.88206,2.77614,3.60308,-2.36084,-5.59919,-6.71723,2.93275,-0.928943 --8.18564,0.8608,0.860161,5,31,0,20.9394,0.389945,1.31247,1.96925,2.78033,0.710454,0.396883,3.22585,4.10191,3.1971,3.05693,2.721,5.54695,0.522881,2.57321,3.64235,0.381491,3.17562,-2.08669,1.59912,10.2124,-1.78625,-2.57643,2.01712,7.25234,0.442403,5.37701,3.53046,-7.80824 --8.28366,0.808909,0.860161,4,31,0,18.8758,-0.0185936,1.10417,1.52161,2.92178,0.578218,2.99766,3.61487,3.99134,2.20822,1.86431,1.92758,4.77313,0.797828,2.44698,1.71409,6.76083,-0.560119,4.57238,7.53057,-8.33291,2.28088,3.3145,4.44164,-0.250339,0.127216,-0.300822,6.01234,6.61719 --8.21436,0.37558,0.860161,4,15,0,28.8,-0.00442925,1.14925,1.67314,2.91421,0.669679,3.14311,3.47453,4.00639,-0.23451,2.39601,4.04011,3.72817,-4.92388,9.12714,3.46034,4.99355,0.308943,-4.55018,2.28729,3.52271,-1.02315,1.40635,1.46019,0.434386,4.75563,0.759275,5.29107,6.2981 --10.7232,0.752643,0.860161,4,15,0,23.8665,-0.0197261,1.21653,1.62161,2.90739,0.729189,3.21549,3.54177,3.97123,2.04274,1.38045,1.56883,3.90847,5.60476,-1.67941,2.83652,0.103631,3.5451,-2.82989,5.09449,13.2584,0.837433,5.28519,4.76293,12.3129,-4.82351,1.93577,9.40939,2.39663 --13.4985,0.613638,0.860161,4,15,0,25.2295,-0.0889772,0.804059,1.82614,4.16984,1.77178,0.436037,1.93002,4.44932,3.35651,3.9819,1.31074,3.19818,7.70993,4.79742,3.68221,1.94676,3.51786,1.04123,2.63831,14.2622,-0.946087,1.14419,3.28483,10.456,-4.46484,1.05849,10.985,3.51703 --14.0961,0.989603,0.860161,4,15,0,24.9168,-0.53897,1.4819,1.12363,3.79454,1.45956,1.48419,3.1164,4.12228,-2.73809,0.672987,3.27672,4.76684,-3.4019,-0.349877,4.47482,-1.30833,-0.471887,-1.1728,0.432583,10.5259,-4.86023,3.70041,12.3919,12.6732,-2.14511,0.180609,13.7203,2.08803 --17.7516,0.746492,0.860161,4,15,0,30.7237,0.709823,-0.0805363,1.72807,4.3355,0.840025,1.50464,3.12114,4.9115,5.31744,3.20439,2.99475,2.74566,3.74957,5.66954,1.21243,5.25744,-6.60502,1.74799,-6.88061,3.89149,-0.399157,1.05531,-1.00895,17.2516,-10.4806,-0.526832,9.37027,2.03879 --17.631,0.817312,0.860161,5,31,0,32.2216,0.809384,-0.0269166,1.69364,4.03495,0.781735,1.55723,3.04783,5.01795,5.31363,3.38061,2.88188,1.69993,-1.46306,-2.31427,4.03671,7.94355,8.21865,2.77757,13.0606,3.99813,-0.759139,0.777636,0.760145,-8.88024,0.0655978,-3.46654,-6.45877,2.29535 --19.4841,0.840457,0.860161,4,15,0,33.0148,-0.430515,0.0463381,1.4538,2.6783,0.752094,4.17453,4.32689,3.65912,-0.808562,1.96169,4.52467,3.80386,-2.6542,6.42989,-4.66555,9.80105,5.23404,3.77337,11.2442,9.82,-3.48129,-2.06107,2.16491,-4.29833,-4.55313,-1.86328,-6.0042,4.6857 --10.8598,0.995652,0.860161,4,15,0,27.1151,1.16817,0.1344,1.12809,3.24868,0.0945902,3.84951,4.01012,3.34988,2.96192,2.03783,1.76587,4.42443,2.63814,0.892271,6.87473,1.11875,-1.49435,9.90036,1.22227,-0.0140542,5.39243,-0.925155,2.1814,4.30836,5.56547,-0.102283,-3.93407,3.39302 --9.43665,0.759701,0.860161,5,31,0,23.6189,-1.51397,1.72075,2.72583,3.05429,1.23405,0.89344,2.18649,4.48467,0.824332,0.962245,2.23892,4.50642,5.67314,4.87234,2.56031,6.4281,7.14082,-4.91695,3.47556,7.22459,-3.46407,4.98533,3.53776,3.56696,1.95092,7.05757,8.75105,4.66221 --13.407,0.942936,0.860161,4,15,0,21.4307,-0.366133,0.77257,1.58293,2.55401,-0.685115,2.55513,2.67993,2.29127,1.65432,2.16071,3.83786,2.75297,-4.45762,0.229301,3.58611,2.68081,4.39495,4.48879,3.34102,6.73079,-3.48768,-1.66258,5.97449,15.5188,-6.69684,10.6436,12.9375,-0.113143 --22.5904,0.513345,0.860161,5,31,0,35.1617,1.11355,0.830244,2.35149,3.36942,2.03464,2.88836,4.45714,7.14839,1.07784,3.19302,4.64928,2.43245,-6.53332,-4.26313,4.09943,10.1695,-2.04883,-0.615791,2.92892,2.62615,5.26364,4.48945,-1.07983,-8.32693,-1.23957,-6.3423,-5.3755,6.75186 --10.9229,0.996343,0.860161,5,31,0,31.0264,0.107438,1.72981,2.14936,2.79507,0.867267,3.29443,5.27874,4.74249,1.25263,0.0804895,1.94188,5.01581,1.8528,4.1499,3.97024,6.2781,2.63012,1.95844,-1.62707,2.09308,3.09211,10.1802,-6.79233,0.455456,-0.814438,-1.00885,-4.93144,2.83118 --13.6288,0.552344,0.860161,4,31,0,32.0091,0.287139,1.65643,2.18941,2.84338,0.724906,3.31185,5.22486,4.71536,0.742124,4.19457,4.61409,2.77634,-5.24137,-5.55015,5.6856,1.22124,0.510136,5.88726,-1.28806,3.07136,-1.31508,4.2807,2.11412,2.66238,4.51492,5.66451,-3.65645,6.83198 --10.009,0.866846,0.860161,4,31,0,22.6276,-0.0422607,0.429896,1.94854,3.44859,1.50486,1.44779,1.98256,2.81076,1.321,0.228988,4.0812,2.68053,-4.29686,-4.56497,4.35972,3.78649,0.552617,5.56139,-1.42327,6.1645,-2.43043,3.32902,1.96709,-3.24986,5.25532,4.04,-2.75529,7.16297 --15.132,0.503381,0.860161,4,15,0,32.6064,1.52984,0.000663133,3.37597,2.71727,0.957702,4.28721,2.41987,4.17804,1.399,0.867309,2.83461,4.69523,-1.14723,-3.30278,3.09208,3.07061,2.6864,2.98463,3.54531,8.00303,-0.435721,8.94809,6.38867,-11.4523,0.429564,9.7004,1.44049,1.89921 --11.1053,1,0.860161,4,15,0,23.099,-0.243354,1.23866,1.34539,3.01015,0.906882,1.68793,4.08651,5.23574,-1.13665,2.67701,1.05442,5.67828,3.26009,7.4049,3.79403,3.45196,-1.4025,2.93493,4.68502,-2.76416,4.73609,-3.81046,3.58142,15.4464,5.57147,-2.31507,1.92227,7.19468 --10.3082,0.874731,0.860161,5,31,0,20.9063,-0.375407,2.26094,1.73437,1.95901,0.890111,1.80237,4.69891,3.70502,-1.22224,2.8394,2.04379,6.88277,3.35867,-3.02564,1.49623,4.08529,2.94023,1.13952,1.54192,10.5654,-0.696751,7.55392,8.88063,1.80707,-2.81614,5.71471,7.11459,4.89149 --7.85628,0.700211,0.860161,4,15,0,21.11,-0.394476,2.2401,1.77678,1.94079,0.823571,1.67828,4.6015,3.84045,2.94916,1.05866,3.80606,1.32151,3.82827,3.85764,0.321519,3.1517,0.786519,1.92696,3.62927,7.74596,0.913734,3.60886,4.26259,6.22864,-8.19283,5.50963,8.43057,5.53878 --9.7938,0.873603,0.860161,5,31,0,22.3144,0.805893,2.13702,2.49539,3.7947,1.44066,0.770104,2.73621,3.36077,1.01292,4.48467,2.94527,1.37948,2.22044,0.135645,1.96588,0.0379794,-0.347908,7.12809,5.97505,-1.22242,1.1972,-1.12778,2.39086,2.65557,11.1565,-1.9119,-2.69542,1.17805 -# -# Elapsed Time: 0.016 seconds (Warm-up) -# 0.031 seconds (Sampling) -# 0.047 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/output_warmup2.csv b/arviz/tests/saved_models/cmdstan/output_warmup2.csv deleted file mode 100644 index 093478747d..0000000000 --- a/arviz/tests/saved_models/cmdstan/output_warmup2.csv +++ /dev/null @@ -1,248 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = test_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 100 -# save_warmup = 1 -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = (Default) -# init = 2 (Default) -# random -# seed = 721293306 -# output -# file = output_warmup2.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,y,x.1,x.2,x.3,Z.1.1,Z.2.1,Z.3.1,Z.4.1,Z.1.2,Z.2.2,Z.3.2,Z.4.2,Z.1.3,Z.2.3,Z.3.3,Z.4.3,Z.1.4,Z.2.4,Z.3.4,Z.4.4,Z.1.5,Z.2.5,Z.3.5,Z.4.5,Z.1.6,Z.2.6,Z.3.6,Z.4.6 --23.5491,7.18461e-009,2,3,10,1,33.584,-0.906349,1.26373,1.0243,1.46622,0.155039,-0.304288,1.60213,0.723284,1.19786,-1.98896,-1.45335,-1.80017,1.27008,1.45962,1.09203,-1.1192,-1.33588,0.932891,1.31403,-0.857182,0.402807,1.58501,1.01801,1.78023,1.86262,1.15535,0.032169,-1.19646 --23.5491,3.48647e-058,2.33506,1,2,1,42.9371,-0.906349,1.26373,1.0243,1.46622,0.155039,-0.304288,1.60213,0.723284,1.19786,-1.98896,-1.45335,-1.80017,1.27008,1.45962,1.09203,-1.1192,-1.33588,0.932891,1.31403,-0.857182,0.402807,1.58501,1.01801,1.78023,1.86262,1.15535,0.032169,-1.19646 --16.7669,0.999475,0.230236,7,159,0,33.2025,0.615777,0.856091,2.90583,4.83593,2.3122,4.25136,4.26438,7.39727,1.11922,-0.193063,1.32504,3.17652,2.83451,5.3926,2.27078,3.41373,5.86447,7.36499,2.79653,8.67806,1.78713,2.21527,5.10261,6.08009,2.03543,1.33785,4.03035,5.79061 --21.6891,0.994505,0.239456,6,63,0,33.5151,1.69249,0.677024,0.616013,2.8584,-0.0529588,0.390276,0.708075,1.02573,-1.89066,1.15333,4.99607,7.44445,-2.16824,-1.16109,4.1195,4.59156,-5.41453,0.0930025,5.85434,1.91067,-3.1493,-3.52969,2.33816,-6.47868,-0.353028,2.20936,7.0009,11.6875 --20.0564,0.999849,0.318802,5,63,0,37.945,-2.26599,1.09148,3.47496,3.06619,1.97238,3.7917,5.50166,6.28354,1.18588,-0.802846,5.02131,5.06922,1.08567,-1.39243,-1.0091,3.11655,-5.41679,-1.81573,4.03071,-1.29014,-2.38536,4.19566,3.75726,-5.23729,0.659035,0.390946,7.00171,9.44359 --22.4792,0.932045,0.49796,5,31,0,37.5886,-2.27342,1.11215,3.50395,3.08317,1.96618,3.80119,5.50127,6.32664,1.26247,-0.85883,4.97543,5.03467,-0.835819,5.17292,7.00972,3.11276,7.33087,5.76123,1.76246,9.25645,2.32844,-5.04027,2.37205,7.97512,11.6485,4.10824,-8.64768,2.8631 --13.5155,0.936941,0.688068,4,31,0,36.1084,-1.45149,1.69391,1.5265,3.72688,1.94773,2.79464,4.14314,5.95008,1.43912,5.9321,1.85128,3.26247,3.23448,0.0761344,4.36373,6.7795,9.42818,7.49491,2.84311,5.93714,-6.27115,-1.33146,1.89459,8.67113,0.994174,5.12232,-0.306281,3.09395 --12.6929,0.975713,1.00802,4,31,0,25.5137,-1.21474,0.757368,1.57335,4.13994,0.834958,2.74057,1.32648,5.07394,1.81827,5.03799,1.39025,2.51644,2.2453,0.362747,5.37649,8.08399,9.37075,7.99591,1.89262,7.43467,-6.73392,-0.354598,4.0539,8.47959,2.03848,4.23559,0.883416,3.11698 --10.9679,0.120452,1.71267,5,39,0,27.9142,-0.910013,0.353699,1.39158,4.3681,0.78959,2.45259,1.28193,4.75395,0.329707,-0.714338,2.77075,3.98128,3.79268,0.00958809,4.17974,5.56401,2.21137,-6.60787,7.23365,8.93317,-3.63284,2.15657,4.18948,2.13531,7.34659,5.05265,-0.322123,9.61173 --6.97565,0.999986,0.198608,7,127,0,17.3244,-0.42555,1.19605,2.63098,4.72193,0.690583,1.97225,2.15273,4.53861,1.5488,3.95119,3.47349,4.13327,3.72094,5.61929,0.980418,5.16023,0.346551,2.43613,4.75901,4.03408,0.0655499,7.11611,8.64687,1.36262,8.96157,0.426995,-1.63989,4.14042 --10.5939,0.976806,0.371781,5,63,0,22.5581,0.841567,0.751758,1.74588,1.6052,0.689219,2.48444,3.31449,3.68184,0.824379,0.436794,2.77393,4.82571,-3.02026,-1.84861,4.50828,2.2281,0.68242,1.05699,1.09667,1.64062,5.17466,10.7522,0.496022,1.14016,-12.4626,-2.56062,12.333,3.06287 --15.1309,0.786991,0.652307,4,15,0,24.5258,0.117861,2.01087,2.66291,4.64687,1.93536,1.4934,2.20363,4.81429,-1.07863,0.149642,4.44361,6.23431,-2.7168,-2.76272,7.23305,2.50556,1.10238,0.310591,-1.37866,3.45995,5.63384,10.3768,0.963377,1.87965,-12.512,-2.31656,12.6791,2.69178 --18.2108,0.843357,0.631289,5,31,0,29.8404,-0.100425,2.46875,2.41102,4.43389,1.88818,1.1069,1.84277,4.80822,2.92228,3.50823,0.898346,1.91969,-2.96139,-2.63446,7.32368,3.16063,-0.274823,-7.92171,7.89575,2.75035,-4.99625,-2.91228,3.18716,2.76788,14.5598,5.83824,-6.71585,5.07642 --19.912,0.926988,0.732095,4,31,0,35.0384,-0.984351,0.214278,1.94214,1.68385,0.0646418,2.39325,3.49348,5.86337,2.91856,2.84494,0.824175,2.31227,-2.25064,-1.82337,10.0208,3.03953,-0.555277,-9.78831,7.45038,3.62292,-7.18823,-0.806891,4.46405,2.01505,14.9227,4.91867,-3.61624,1.15836 --17.07,0.328341,1.10348,4,15,0,38.2084,0.702726,1.79959,1.89159,4.48948,1.88511,1.65945,2.44357,2.27708,-1.61661,2.82909,3.26097,-0.142919,4.38689,5.72726,-4.84691,4.40137,0.805214,11.1234,0.708431,5.68992,1.89268,4.8451,3.34763,11.2121,9.45584,5.16928,5.66199,6.03907 --17.3602,0.99981,0.259495,6,63,0,32.5913,1.23469,1.39908,1.96456,4.91767,1.20657,1.57148,2.15302,2.7529,-1.75749,3.29241,2.70277,0.0505349,0.0657607,-3.71358,4.29057,7.21907,0.607575,-7.09492,6.11136,2.08505,1.44513,-2.39058,7.5278,-1.36603,-13.2433,-1.87325,7.2442,1.05333 --15.472,0.896026,0.492175,5,31,0,33.624,1.20246,1.45422,1.95518,4.68058,1.17996,1.74078,2.2864,3.13328,-1.8193,3.14331,2.47461,0.347394,-0.658307,8.14424,-0.398772,2.24813,1.52282,10.9161,-0.00865769,6.22216,-2.26702,4.09016,2.37204,15.8048,0.172241,1.83919,8.72251,7.18262 --9.97976,0.995935,0.674788,4,31,0,26.2411,-0.173847,1.71744,1.34111,2.72787,-0.11824,1.00171,2.46355,3.47032,2.23371,1.48879,2.2188,6.99741,2.05853,-2.59574,4.42771,2.14488,-0.702473,1.11288,2.55852,2.80559,-0.172387,-8.83764,3.52629,-1.46777,-5.34515,-2.65454,-5.44615,6.49423 --9.57015,0.515218,1.24773,4,15,0,20.9068,-0.171052,1.69363,1.3079,2.71855,-0.13145,1.01483,2.46426,3.46939,0.828869,2.34105,3.9033,-0.250206,1.90586,-0.513341,3.51722,3.23925,2.84364,0.90465,3.46648,6.94378,3.96028,11.54,2.08552,9.55182,9.42947,5.79599,8.69843,1.10472 --13.8886,0.895625,0.538988,5,31,0,28.1029,0.640725,0.203528,2.87999,2.64259,2.38136,3.66991,3.54584,4.46476,3.10399,2.27216,3.52563,4.33498,0.107318,4.20376,2.64835,4.47049,-4.29696,2.09061,4.14702,2.36061,5.02837,6.15288,11.4197,12.6265,5.47878,-8.95599,12.2901,-6.8767 --13.7159,0.990085,0.734216,4,15,0,24.1107,0.83801,0.271689,2.93186,3.04892,2.28253,3.62346,3.20603,4.35626,-1.52007,2.02935,2.25633,4.08821,2.84619,2.44141,2.73302,-0.587503,-1.45076,2.07886,1.71581,0.521731,7.546,2.8262,8.20129,8.43578,14.693,-7.50896,4.14103,-7.69941 --11.7784,0.389965,1.31636,4,15,0,26.0278,-0.045724,-0.567376,3.62158,2.28703,0.601831,1.45887,4.30005,6.03182,3.54618,1.88299,3.46319,4.55012,0.567072,-0.197329,2.55289,8.82202,-2.50175,8.65583,7.28893,5.16879,3.27937,0.405499,5.89672,5.09788,6.65885,5.18939,5.06081,3.14504 --8.11742,0.996999,0.402518,5,63,0,18.9275,0.456599,-0.00292575,3.47988,2.33384,1.28407,0.860801,3.30112,5.35086,-0.802362,2.18428,3.05793,3.61218,-0.400425,3.03256,5.60617,0.0307613,0.323605,1.74314,9.61695,5.86072,2.48389,0.349301,5.38533,7.31343,-0.231969,3.12906,8.6808,-0.524597 --14.5333,0.785482,0.733383,4,15,0,22.5867,-0.795149,3.06206,1.45465,3.84538,2.81269,3.82732,2.28572,2.88122,1.24475,2.80555,4.04669,4.80197,-1.04568,10.2505,2.23138,3.58298,2.38521,-1.39649,0.483637,9.36029,3.95054,-1.08398,5.27414,7.32954,2.06095,5.87721,2.7736,-2.56257 --10.8579,0.999361,0.719195,4,15,0,21.0675,1.46614,0.182029,1.56367,2.79563,0.129158,3.30601,3.89056,3.76514,-0.0206611,2.8325,0.735144,2.86004,3.97044,-5.9546,3.3009,5.06088,4.76222,3.07328,4.47779,2.85128,-1.7768,4.85898,2.23491,-0.129925,7.87446,2.51643,1.50088,-2.75185 --11.3018,0.551005,1.30012,4,31,0,22.8679,-0.863167,1.88269,2.28091,1.27727,0.277884,4.44566,1.74879,3.3345,-0.608357,2.44238,0.0499443,3.52153,2.81411,5.0534,0.395459,5.76847,-2.81236,0.231623,1.11706,4.40395,-0.450836,0.471609,3.68707,7.12555,-2.82472,-2.10989,1.96678,10.7403 --12.9888,0.983911,0.653442,4,15,0,22.3461,-0.359216,-0.0511966,1.49718,3.32155,2.86159,0.496964,3.83004,3.87639,1.70679,2.53729,3.22622,5.05028,-0.831588,-1.53663,5.99674,2.09527,5.54722,7.58575,6.55303,6.01868,-4.85443,-6.50116,3.65453,0.729568,-7.7129,4.05426,-6.19291,9.17246 --12.9878,0.585581,1.121,4,15,0,26.0398,-0.619504,0.336149,1.37523,3.31239,2.68107,0.0864144,2.78131,4.22148,0.420192,1.25591,1.78357,3.32953,4.59101,3.87932,2.24966,4.44268,7.26607,1.28539,6.29165,13.1935,-2.01463,-5.70898,3.78742,-5.22211,-2.75661,3.50965,0.537753,6.86226 --10.5633,0.963596,0.628484,5,31,0,22.4814,-1.42203,-0.531825,1.8046,3.64191,2.27255,0.0472242,2.54977,4.36672,1.40408,2.15132,4.10392,4.05124,0.427621,-2.51216,1.26425,5.71529,-5.16331,5.65452,6.35352,1.52121,7.55548,0.29049,4.35128,5.63132,1.67531,0.722724,-2.18305,2.00711 --11.4089,0.560117,1.01063,4,15,0,26.1808,1.45185,2.41742,2.04252,2.58569,-0.379348,3.99252,3.51766,3.98391,1.88657,2.32292,-0.342671,2.04642,1.44669,5.80418,4.81122,1.94245,3.48752,-1.65117,0.677882,1.91065,0.489479,2.56924,1.58371,8.96817,8.66862,9.02187,2.4343,3.18245 --16.7016,0.896962,0.534045,5,31,0,28.793,-0.499616,0.252474,2.43591,2.60933,3.87673,0.658522,1.52366,3.93285,0.591786,-0.0932628,4.52386,6.65296,7.19001,4.07119,6.56463,-1.28949,5.13681,-3.67128,4.01146,1.02965,-2.05948,-1.12732,-3.31292,3.1905,5.42749,6.12401,0.853539,2.87601 --9.73807,0.977043,0.711971,4,15,0,26.4692,-0.431356,0.943745,3.21981,2.55141,1.06223,1.13771,4.1303,4.32251,0.599016,3.78895,2.0188,1.43192,-1.81257,0.264656,-4.13593,0.663373,2.90947,3.89637,-1.0826,6.01061,0.105015,-2.44773,-2.5451,6.0676,-2.89275,1.79837,0.670323,5.76375 --10.8023,0.543928,1.17214,4,15,0,22.9189,-0.36334,0.944266,3.22981,2.55652,1.15249,1.18547,4.02835,4.35336,1.39596,3.23195,2.24378,1.83142,4.99696,3.09889,7.23133,4.79647,-0.812892,-0.290334,6.49863,2.34127,5.57847,10.0517,2.34094,3.59182,2.59396,-12.5732,5.53712,-2.32159 --5.88034,0.964107,0.601711,5,31,0,16.9883,-0.331364,1.3154,2.64873,1.97099,0.961838,1.44807,3.72107,4.07306,0.743033,0.854148,3.40529,6.35337,-3.15412,3.82362,1.06517,3.62948,3.61023,1.94633,-1.86145,3.36511,5.98481,3.55897,4.59786,1.01084,6.28099,0.434977,6.88999,3.40781 --12.6729,0.616409,0.9508,4,15,0,21.4015,0.676954,1.61082,1.41553,4.99129,1.13639,1.86561,2.10425,3.8806,-0.879625,0.659104,2.93895,3.15531,4.3378,0.277234,6.47535,4.70497,1.37322,2.16537,5.78706,0.903019,-2.1174,6.4038,12.8243,9.18244,4.53699,3.1175,3.76808,20.1933 --13.3321,0.977125,0.597812,5,31,0,27.3324,-1.12889,1.20286,2.42556,3.80381,1.40687,2.46449,1.80716,4.12149,0.592316,3.27057,4.0591,3.34733,-0.0319428,1.98379,0.292021,5.28655,7.38996,-3.78578,7.31407,9.00019,5.23797,1.99189,7.49772,-1.19207,-6.44602,2.44849,0.949126,22.1146 --14.9226,0.532204,0.970188,4,15,0,31.3724,0.0280091,-0.804829,0.264394,3.20144,3.27006,2.71884,2.66732,4.60525,1.9042,2.10498,-0.0112303,3.59721,5.05103,-2.97426,0.596581,0.737265,1.55984,0.0277828,-0.0397546,10.5085,8.7258,-1.31738,2.35453,5.44967,-4.44274,-1.06615,-1.85166,7.4004 --21.1786,0.976504,0.493965,5,31,0,35.6081,0.481134,2.17343,2.00526,3.25768,0.488621,2.16377,2.30267,2.49201,1.46264,2.11851,1.91889,2.11002,-2.59649,7.6724,6.82062,8.59424,-6.0666,0.422116,9.59957,-9.55618,-0.0920229,-2.99639,6.40763,-1.46241,-1.11111,15.3334,5.77499,12.3726 --16.5492,0.962729,0.795479,4,15,0,34.8784,0.429135,1.74873,1.04789,2.84269,1.28095,0.872038,3.38053,3.81293,0.550874,2.47563,4.10885,5.36366,6.83508,-3.04098,-5.78799,-1.76392,2.44296,-0.102508,2.05046,4.85589,-0.489809,0.808246,-11.1154,6.66179,-1.94028,7.56153,1.01379,3.22342 --17.3852,0.378972,1.2278,5,63,0,33.6404,-0.201683,0.241773,2.78431,2.79733,0.776494,2.72971,2.48094,3.73355,-0.338654,0.816204,1.22359,5.92448,-5.62013,5.17427,13.063,9.47328,-2.58371,5.55188,6.37164,7.66806,-7.00944,2.07767,10.0159,6.92343,0.677969,8.4998,0.18314,5.66198 --17.1183,0.962689,0.429929,5,31,0,27.5656,1.35597,2.37619,1.16395,2.52682,1.03834,1.40356,2.07057,4.44812,0.465529,4.82462,3.75731,0.840556,5.62062,-1.29154,-6.2184,-1.13479,7.04417,2.20913,3.53459,-0.5151,-1.86479,1.36989,2.85629,4.75907,6.14408,-7.53428,5.77833,5.75995 --17.6506,0.896313,0.662164,4,15,0,31.4208,-0.192684,2.20656,-0.510031,3.74922,1.27205,1.83496,3.42204,5.28368,0.849377,1.07078,4.30669,6.52548,-2.86128,4.31887,12.6166,6.34849,-3.24164,3.83609,5.71198,7.63154,6.74407,-6.97297,5.45823,-2.21232,1.07312,5.28214,5.87212,1.59358 --14.4188,0.974921,0.858782,4,15,0,31.5894,-0.474069,1.89397,4.3394,3.0298,2.5609,1.99873,2.76175,3.62308,4.87081,2.37489,1.73372,0.626554,-2.22509,-0.222796,0.785192,5.91933,8.45864,2.17134,2.16467,8.81637,3.35727,-3.12251,5.33448,-0.340052,5.96381,5.72199,10.6223,1.91953 --9.35573,0.923289,1.34772,4,15,0,22.7852,-0.536174,1.77017,0.655577,2.47826,0.203311,2.9983,2.94556,3.41693,2.10392,2.64928,6.38388,4.92894,4.22711,4.07578,5.24293,2.26556,-4.09844,3.60442,3.26635,1.8837,-1.88123,4.44472,-3.12145,5.69629,-0.150233,5.92017,10.1083,-3.67708 --9.35573,0.133776,1.85092,3,15,0,27.4589,-0.536174,1.77017,0.655577,2.47826,0.203311,2.9983,2.94556,3.41693,2.10392,2.64928,6.38388,4.92894,4.22711,4.07578,5.24293,2.26556,-4.09844,3.60442,3.26635,1.8837,-1.88123,4.44472,-3.12145,5.69629,-0.150233,5.92017,10.1083,-3.67708 --17.3478,0.960482,0.368795,5,31,0,28.5786,-0.815759,1.18992,3.9581,3.15392,2.51898,0.863553,2.76448,5.22145,-2.96339,0.779398,1.48085,1.80471,-2.77818,4.6575,6.40201,7.83504,-2.36083,-0.440824,9.75744,4.19821,5.76118,6.2471,0.690995,5.31497,-10.0311,11.5909,8.41742,-2.06534 --19.072,0.973054,0.556732,5,31,0,32.2542,-0.81954,2.19161,3.23664,1.76109,0.209264,1.05503,3.10609,5.92652,-1.65701,0.577262,1.40879,-0.929546,4.5127,-0.00104345,1.94746,-0.318561,6.03136,3.80779,-5.56911,3.7119,-8.52567,-2.13719,5.96433,2.46436,4.58914,12.5317,0.875859,2.63355 --15.3249,0.923022,0.861228,4,15,0,33.5017,0.118986,-0.281442,2.62732,2.6617,-0.165664,2.0026,0.999808,3.98772,0.863253,-1.15705,-0.861547,3.64996,-4.1167,5.43961,4.96704,8.37676,0.444876,-2.0145,12.1162,4.20034,3.92715,9.20932,2.51113,5.51516,2.76198,-3.86244,4.31485,0.976737 --11.7218,0.474177,1.17502,4,15,0,28.0348,0.112555,-0.288678,2.63134,2.66603,-0.163584,2.00323,0.99039,3.99081,1.62108,4.93414,6.96202,4.543,1.12862,-1.49265,3.52622,-2.2682,3.43531,1.01318,4.08196,7.49045,3.81766,2.71769,6.90311,2.34369,2.02727,6.24665,8.71016,2.03122 --9.7428,0.974158,0.550253,5,31,0,26.1653,-0.691586,-0.106189,2.85843,3.47025,-0.193138,2.59268,4.67733,4.42915,2.24817,3.03816,2.53369,5.36302,-0.697743,4.16964,3.35681,10.6971,-2.64414,0.791619,3.71029,3.30898,-0.488424,3.50487,6.93164,7.92168,-4.56771,-2.81043,-1.88403,-0.125285 --10.6994,0.985385,0.845777,5,47,0,19.0331,0.553171,0.15134,1.36673,3.94166,1.70352,2.06865,3.70252,4.21007,-1.13869,0.484645,4.08665,2.37922,-1.13196,4.77589,2.98222,10.912,8.35784,-0.206937,6.97426,5.26829,2.31972,1.92001,1.71831,-1.39085,6.50728,7.54179,6.8286,8.375 --13.222,0.718584,1.32696,4,15,0,25.9741,0.0185238,1.03945,2.01255,2.81312,-0.487939,1.37825,2.26239,4.50254,2.67552,1.76786,0.246274,4.61868,3.11186,-0.922557,2.93758,-2.88096,0.707526,2.95492,2.87906,2.72534,3.20698,5.76315,13.9886,8.46722,9.23217,10.0841,13.2074,-0.0285599 --15.1833,0.59741,1.11259,4,15,0,25.8215,-0.428956,-0.0159566,0.343164,2.52411,2.73537,1.51641,3.53167,3.44805,1.28525,-1.5753,5.27622,4.56096,3.21504,-1.63384,4.91217,2.09253,-2.96893,-0.675096,6.88894,8.58955,-1.10419,-1.87691,-7.92574,-0.55343,-5.89391,-3.26596,-6.80422,5.86603 --11.197,0.966794,0.706559,5,31,0,26.6014,0.0971853,1.43913,1.00086,4.05298,2.10761,2.82812,2.33113,2.97257,3.2548,-0.558155,3.47345,5.35725,-0.434774,6.10555,1.56209,3.18075,4.67854,3.72972,-0.470328,-0.695109,-3.44736,10.6999,9.64519,4.06551,2.74399,0.276693,-0.322781,-3.63101 --8.57048,0.553667,1.054,4,15,0,23.6254,0.171539,0.947735,0.933762,2.86898,1.78379,2.65344,2.08282,2.63366,1.39567,0.0801288,4.425,4.78843,4.58286,-1.08472,2.06789,2.33252,-2.27459,0.450725,7.70215,9.32142,6.14627,-1.39517,-1.44092,7.17905,0.0101518,3.64279,7.9186,6.89559 --14.5592,0.936979,0.609373,5,31,0,20.0181,0.426017,0.980624,2.4944,2.23891,-0.0396326,0.281751,4.29174,5.12567,0.131297,1.01415,1.29718,8.18219,-3.07411,5.50447,2.74045,5.53351,4.62373,2.25225,-2.21465,1.3711,-6.87151,2.00037,10.0345,-0.489893,5.68031,3.69047,-7.43372,1.28386 --11.5592,0.745556,0.845991,4,31,0,28.2928,0.0050825,1.0995,1.45396,3.32413,1.68662,3.65396,1.70623,2.98902,1.19113,0.456394,3.69104,1.82046,4.96556,-1.51482,3.24531,2.50801,-3.97743,-1.78637,7.64219,5.11584,-4.69837,5.55073,-1.09902,-4.21916,-7.37952,2.01945,4.21865,-0.149323 --13.5277,0.876805,0.759792,5,31,0,24.9159,-0.764929,1.8911,1.76684,2.18402,0.917667,1.56771,2.20171,3.23215,0.753556,1.92547,4.17406,2.73474,-2.42243,9.32633,0.372894,4.97905,7.81654,5.30608,-2.23066,2.98849,11.7149,3.94506,8.5682,12.3043,2.40325,-2.144,2.93228,3.95146 --15.5991,0.789992,0.916723,4,15,0,28.0731,0.911314,0.100941,2.20733,3.89736,1.20896,2.32869,3.79298,4.81142,2.92374,4.53235,1.02709,0.550389,4.92645,-5.61878,5.81135,3.1249,-9.13311,0.159531,9.76047,5.08434,6.55671,2.96563,5.17574,5.30057,1.65815,3.82428,6.30564,1.50226 --15.5815,0.758477,0.909541,4,31,0,31.4858,0.351708,1.23515,1.25621,3.77271,1.16209,3.37147,4.40649,4.94436,-0.328908,-0.550778,5.38393,8.21021,5.80132,3.91429,1.71498,4.38658,-3.30444,8.19697,-1.66612,3.58771,10.3917,-0.658091,3.53765,7.75961,1.29173,-1.46654,-0.185139,-8.04826 --13.9412,0.927616,0.841638,5,31,0,27.3106,-0.296436,1.95154,1.76425,3.53492,1.39268,1.99303,3.91852,4.38789,1.98164,4.80939,0.450613,0.0753232,-1.51073,0.0969482,6.47498,3.79437,10.7815,1.60017,2.08051,3.38918,5.78539,9.80696,7.36844,-3.12123,-7.80371,-2.71852,5.71273,2.38359 --12.5742,0.894649,1.13085,4,15,0,26.641,-0.013045,1.7298,1.03756,2.80042,1.09049,1.84738,2.25821,3.20288,0.262881,0.935413,3.5086,4.5974,3.6827,3.68035,0.816571,2.77481,-0.884171,2.2173,4.54234,7.06753,2.79645,3.85128,1.97856,-5.84081,-7.99077,2.46188,13.8841,-14.3606 --10.2132,0.323734,1.40876,4,15,0,33.9174,0.039018,1.66553,0.938181,2.5769,1.05638,1.81644,2.22736,3.3529,0.710111,0.894707,5.59857,4.53287,0.504895,7.76009,5.0638,3.97979,2.30684,1.80516,-0.169414,1.91085,-4.43867,-0.685051,9.6094,14.3481,1.5351,-4.20649,-4.92843,3.28215 --17.1068,0.880816,0.505782,5,31,0,27.319,-0.187058,1.59685,0.531601,2.44306,-0.115715,0.620247,1.99209,2.84202,0.895947,3.02015,0.131134,3.87858,3.41692,-6.63685,7.18136,0.660964,0.183164,-1.30231,-0.624873,4.05237,-5.80197,1.20587,-4.88328,11.3804,9.40564,-2.45309,0.460523,-0.76151 --12.1331,0.878627,0.612713,5,31,0,31.5845,0.515265,1.15583,4.28687,1.98082,1.59147,2.47411,3.54595,4.95119,-0.0929814,3.88132,0.515857,3.94749,5.28293,-2.37062,2.14267,1.11595,2.55152,1.33649,-2.1527,7.01588,-0.0731054,-1.27425,-3.69053,9.62899,8.77644,3.35375,-0.475252,5.07764 --16.2871,0.961443,0.737105,5,31,0,25.9422,0.329404,1.88872,0.368069,4.6319,1.36175,0.75454,3.00277,3.3704,4.41349,0.856298,3.7307,6.69471,-4.59329,5.36552,5.06885,8.45325,-5.42151,-2.69788,6.26024,1.93844,3.48309,-1.4565,3.22487,4.59862,3.59608,-7.7653,-0.140931,-6.27221 --15.1116,0.81101,1.05624,4,15,0,27.9878,-1.68606,0.725023,3.72395,1.4506,0.750218,2.11197,3.0013,5.10026,-1.44586,-0.0646181,2.6905,8.16505,6.66865,-1.32538,0.812,-0.338915,6.78466,3.13216,3.82453,3.44052,-1.37025,4.4518,1.34406,1.2059,-4.31787,2.44696,12.0991,5.80121 --20.2336,0.66791,1.0948,4,15,0,30.9341,1.42991,1.11674,3.90674,4.7963,1.08867,1.01619,3.23357,2.45199,2.27341,-0.654851,-1.9019,0.697262,8.29937,-0.61949,1.02508,-0.447912,-4.2148,-3.18441,6.40436,3.13992,4.09031,-0.905413,5.08702,7.22761,7.16781,1.31644,-4.01055,3.44356 --20.3145,0.97702,0.838116,4,31,0,35.2638,1.75979,2.37024,2.94854,2.25599,2.91276,1.6606,2.54675,3.32256,0.416566,5.82775,9.94335,7.10059,-2.84868,-0.410425,3.19945,2.59173,0.71373,-5.97174,-1.48326,1.2889,5.73703,4.01327,1.16871,9.03124,3.59914,6.73301,0.765641,1.34792 --9.48429,0.515033,1.23258,4,15,0,31.6004,-0.700828,0.434343,2.03333,4.03278,0.25777,1.35524,3.75614,3.80789,0.809977,2.24942,6.26198,4.0275,-0.897399,1.3995,7.24518,4.06653,-0.935021,-6.69866,-0.418132,4.01846,5.53375,2.07261,2.50646,11.7513,2.15846,4.48616,2.20142,-2.65691 --13.6662,0.784459,0.68681,4,31,0,24.835,-0.261162,0.431256,4.16651,2.57279,2.39782,3.09448,1.80574,4.34152,-0.0287853,-0.337641,2.13393,3.98704,3.83281,0.486288,1.78251,3.67793,-3.4189,-5.66839,1.48869,-3.48186,1.32903,4.25944,8.98499,12.1144,2.99351,7.68144,-0.239876,6.06387 --11.6718,0.782137,0.674494,4,31,0,26.0991,2.16967,2.28991,2.63123,0.60061,0.379648,0.615193,3.56105,4.92322,2.10416,3.62716,3.41701,4.17443,-0.700807,1.72358,2.31689,5.94714,5.38254,4.86952,1.29729,4.2074,-0.673906,7.2784,2.00808,1.51276,8.0734,6.88914,4.44675,4.27472 --15.2043,0.992227,0.659305,4,15,0,22.3958,2.73021,1.9453,2.46839,1.16992,-0.00574847,0.732707,3.13288,5.3886,0.247157,0.568974,2.55707,3.55847,-0.14097,5.53448,3.54678,2.33287,0.657108,5.89718,12.175,5.973,-1.43013,9.53649,2.36608,6.19573,6.65811,7.0985,3.5059,-0.267663 --12.2012,0.969415,0.993379,4,15,0,25.7169,-1.46314,-0.0421132,0.896051,1.93564,3.15174,1.57134,3.0694,2.92892,-0.642198,-0.327241,3.25299,3.24086,1.85347,-1.30975,1.78598,5.35341,-0.000299614,-1.56711,-1.22431,3.04348,-0.10208,-2.87038,7.31635,3.70603,1.44519,-4.82382,13.9554,-0.629691 --13.5797,0.889264,1.42228,4,15,0,26.3059,-1.63359,-0.0461305,1.09636,2.00096,2.8961,1.4565,3.10202,3.15432,3.09619,1.30124,2.41554,4.26666,3.74926,-3.13446,-1.86587,2.56264,5.14759,-2.37604,3.94731,4.49912,0.995608,7.54731,-2.76843,4.45133,-0.653129,7.94716,-7.16181,6.48815 --11.2513,0.383812,1.7231,3,7,0,22.0418,-1.73871,-0.130188,1.43084,2.04215,2.82363,1.46968,3.3169,3.26483,-0.19538,0.0633298,2.73583,3.24781,-0.928662,8.83837,7.04052,6.06577,-0.943906,4.49569,0.656594,1.93447,-0.519872,1.09777,3.23086,-1.74067,1.04054,2.35287,-1.79281,5.19298 --9.00032,0.981893,0.747699,4,15,0,25.4392,0.432345,0.728013,0.838542,3.55999,2.27412,2.86582,1.71253,4.28195,-1.40296,0.788617,0.584147,0.435503,-0.267991,5.52705,5.15582,4.14325,-1.79901,4.84497,-0.853044,4.66589,0.2856,1.39329,2.99444,-0.279276,1.51429,3.04939,-1.67313,2.32084 --11.9956,0.739969,1.09326,4,15,0,21.1713,0.215764,0.391491,3.21471,0.506982,0.075185,2.10448,3.83395,4.28188,2.78104,3.10546,3.32666,3.91059,5.51977,0.191141,-0.532296,4.02191,-0.300703,10.0858,-2.13443,7.46916,1.08273,5.51985,8.01142,0.171667,3.61351,2.74766,3.65254,6.68302 --13.3214,0.876639,0.979864,4,15,0,23.8364,-1.63083,0.512866,2.7997,2.41415,1.4162,4.50889,2.69153,5.04701,2.73247,1.43634,3.36881,2.22035,-2.84996,2.37334,7.39848,3.35135,4.42347,-4.92749,5.29984,-0.980654,-2.81757,7.96752,-1.43871,7.15079,-0.222947,4.88826,7.20118,3.14018 --18.084,0.959117,1.15506,4,15,0,29.1157,1.90128,1.51111,1.25305,3.12378,0.971387,0.693947,2.65602,2.94904,0.766919,2.1698,-0.522263,5.05354,-3.75058,2.54947,5.7464,1.0686,8.27514,3.59056,1.7155,-4.5024,-9.65972,7.6349,-6.35677,10.8652,0.970247,8.79903,7.15415,4.26648 --22.4246,0.232879,1.60149,4,15,0,39.8593,2.23801,2.10995,-0.0520572,3.99699,0.485252,0.570243,1.49531,2.45541,0.730882,2.65347,-0.304174,5.3182,5.53317,1.71012,5.94789,4.93354,-5.53652,-1.36294,2.62427,12.9597,3.02502,-7.67193,9.25148,7.40885,10.0134,-2.11647,-5.60619,-0.943154 --15.4936,0.999285,0.526238,5,31,0,35.4056,1.82613,0.841613,0.450526,4.25853,1.03017,1.10158,1.49918,3.30646,1.06691,1.23979,5.82206,2.35445,-2.28371,-0.0415682,-3.39784,4.60576,0.764995,-2.82998,7.76194,0.448665,7.36148,2.0865,1.36036,7.45944,1.98898,1.32111,15.5485,-1.20033 --12.8987,0.982389,0.790086,5,47,0,23.4366,0.366223,1.63872,0.253391,2.98143,1.92133,1.84491,1.93345,3.18278,0.472665,2.53864,5.67854,3.15165,-3.20671,0.747528,-3.13743,3.93993,1.85378,-3.20255,7.64848,0.871527,6.84929,2.19267,1.46368,7.92252,1.89201,1.21131,15.8873,-0.844658 --11.4584,0.731627,1.14312,4,15,0,26.835,1.16535,1.92015,2.12183,3.99299,1.56085,3.48634,2.28848,4.64048,3.0432,1.61659,0.566092,4.67654,3.05871,5.36425,2.33636,6.97128,5.97525,1.59014,0.853119,7.24768,-2.0398,-0.909717,0.645166,11.4507,6.81815,-4.71557,10.2247,-3.4419 --13.4826,0.625421,1.01067,5,31,0,30.4594,0.732071,2.36432,2.14215,3.32313,0.81293,2.70622,2.59484,4.51275,-0.857582,2.3932,3.34901,3.46841,2.43733,-4.87902,5.61251,3.00748,6.56421,-0.813371,9.66124,4.12053,-1.44634,-0.252111,0.0270116,10.7051,0.496913,-10.5947,13.0262,10.353 --13.8462,0.964539,0.727916,4,31,0,29.4009,-0.607513,0.920459,1.69777,2.09758,0.770218,1.01119,2.22038,4.12659,0.125823,-0.197054,2.31301,2.13097,-0.843344,8.0902,0.572572,3.3363,-8.34401,2.70352,-2.63089,7.35826,9.2894,3.88907,-6.64355,9.79381,-1.83354,-0.116713,-0.332476,0.295914 --10.5556,0.485561,1.01248,4,15,0,27.479,-0.779485,0.984462,1.65298,1.89031,0.721129,0.823972,2.21117,4.04201,2.03088,4.34294,3.71565,5.90766,-0.81522,-1.23824,2.61954,4.93234,0.421226,3.22719,-2.04669,10.4705,8.27926,7.14627,-5.45872,7.24954,8.39216,3.40698,-0.421194,5.49631 --8.68569,0.938766,0.558867,5,31,0,20.0525,0.769895,1.15121,1.96317,3.95093,1.29286,3.01934,3.52556,3.91036,0.350861,3.48534,4.86432,4.51873,2.72465,5.24573,3.33485,3.10731,2.30308,1.07376,1.02103,-3.81423,-2.81847,-2.28462,10.1489,3.00983,8.47933,4.4843,8.15012,-2.46755 --15.5438,0.954645,0.738517,4,15,0,27.2753,0.431095,1.51151,2.68913,3.22977,1.31052,2.77279,3.06332,3.35303,0.617161,-1.32653,2.01531,2.44438,6.44761,0.0260205,-0.621469,10.3558,0.852493,1.40031,4.15371,11.5445,-9.83315,6.89209,11.8589,4.42857,-0.397058,0.088919,13.1555,1.40924 --11.5784,0.59084,1.00333,3,15,0,31.048,-0.998959,0.286978,2.14577,2.36215,-0.629478,-0.474466,3.32509,4.14876,0.193321,0.00020305,7.28139,3.62901,0.889415,3.9188,1.38151,0.243537,0.193878,2.05057,5.2043,2.3011,-5.58854,3.28538,5.06446,3.16084,-4.8672,-0.165163,7.3776,6.10297 --8.05821,0.997942,0.681616,4,31,0,23.0272,-1.56236,0.834001,1.61509,2.63693,0.266846,2.14081,2.47856,4.22923,-1.34599,1.28829,7.07279,4.86102,2.2337,5.67012,1.46557,0.570461,3.03135,1.90963,5.13584,1.07143,-2.51268,3.10935,4.51942,4.83592,-5.87285,0.00032457,5.18898,6.06275 --9.30562,0.68614,1.00249,4,15,0,19.6743,-1.51729,0.855736,1.5465,2.68318,0.278947,2.14949,2.46867,4.27799,-1.22824,1.31686,6.76505,5.44335,1.38448,-0.930065,8.26368,5.05054,-1.45579,2.47953,0.545777,7.36046,2.97477,0.625721,-0.580449,-1.95338,-4.06804,6.31823,5.87953,7.74185 --18.3458,0.66433,0.817433,4,15,0,28.157,-1.034,1.48627,3.31742,3.33424,2.76901,0.581948,1.48698,5.27407,4.62034,0.860327,0.655217,3.38653,-0.633279,6.15134,1.01553,5.15885,4.71574,5.54386,7.35897,4.18148,-0.731249,14.5647,4.06153,-2.23787,-4.20522,7.76545,14.8459,1.52435 --19.6951,0.957136,0.640976,5,31,0,37.622,0.984467,0.735274,1.96068,3.28713,2.73538,0.0770318,1.17203,3.35219,-3.05152,3.19217,3.74304,5.11721,4.81435,1.28701,4.47455,3.98566,-0.941346,-6.21606,8.90904,8.28378,-2.7194,17.1181,3.6123,9.02841,6.46968,5.48964,9.24344,6.78058 --17.1898,0.986493,0.869396,4,15,0,39.4116,1.59671,1.41654,2.60759,3.95616,1.17614,1.53747,1.3126,3.46866,-3.53102,3.08536,2.82462,4.90803,-3.11684,1.36436,1.97522,8.768,0.301151,10.3703,1.36884,-0.583788,0.41133,-6.86618,-4.5682,5.6257,-1.48681,-10.8257,0.287336,0.217241 --14.8695,0.305933,1.24197,4,15,0,33.1949,0.897664,0.0495986,3.49298,4.58842,1.14159,1.4718,2.22435,4.18557,5.53737,0.920879,3.16701,3.07165,6.05292,0.406893,-0.301078,1.59637,4.7044,-0.216011,5.13582,-1.41306,-2.21397,5.08391,4.58687,1.18055,-7.89784,-8.02667,2.01572,-4.89651 --11.7504,0.973087,0.502664,6,63,0,26.53,-1.05337,1.87044,1.20223,1.78593,0.30963,2.49916,3.66377,4.14122,4.06352,2.2235,1.57829,7.617,2.58487,-0.0313113,4.1904,2.40906,7.62197,1.76177,4.05019,0.427776,-2.09314,6.09359,-2.33082,7.7159,9.70406,4.84457,1.21707,13.0113 --12.177,0.986876,0.700026,4,15,0,23.8392,0.596517,1.57648,3.26344,2.5601,0.553111,1.82441,3.79655,2.51847,-1.35744,4.27417,4.08851,1.06702,-2.10389,2.17033,1.92918,5.05751,3.54641,10.4793,5.74355,1.71189,9.80105,7.50215,1.81757,9.26125,4.75623,3.89216,1.61249,8.82866 --10.6345,0.449776,0.997032,5,63,0,31.879,0.654165,1.4779,3.1988,2.44775,0.374964,1.71444,3.7223,2.56866,3.01974,-1.16349,1.00006,5.6074,-3.49301,1.72384,2.42279,5.8487,-4.14766,0.698715,5.74132,0.217977,-4.4396,-1.81902,3.12894,-3.23494,-2.51658,1.66142,2.97255,-0.868097 --16.7127,0.865063,0.531083,5,31,0,30.7231,1.05993,1.39368,3.14993,2.19427,0.302784,1.62926,3.77378,2.91091,-1.00887,5.06907,4.84485,2.42404,3.7643,-1.36903,-3.05317,2.97748,8.73029,3.569,4.63195,6.69706,-5.67227,-7.94566,-3.19242,2.97584,8.92447,-5.16223,-0.495005,-2.84747 -# Adaptation terminated -# Step size = 0.83483 -# Diagonal elements of inverse mass matrix: -# 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 --10.8118,0.903483,0.83483,4,15,0,27.4531,1.30684,1.18695,2.89328,2.71496,0.512828,1.76801,3.54462,2.89904,3.11497,-0.962928,0.513172,5.57458,0.410598,3.18495,7.25059,8.27672,-0.728479,2.96385,0.536494,7.8231,2.19201,-3.03059,7.76866,9.13768,-2.10544,-1.10009,-3.83527,-2.24569 --10.85,0.947954,0.83483,4,15,0,19.0036,0.24329,1.50928,1.22245,4.27076,-0.307876,2.37807,1.76085,4.00918,0.143432,4.29228,5.43051,2.29196,-0.719144,0.509173,-0.253295,0.397325,-2.46928,2.40818,-0.945662,5.15032,-7.5408,-2.36507,7.78431,7.11559,-4.18619,-1.03694,-1.90535,0.194602 --9.19889,0.918833,0.83483,4,31,0,20.1491,-0.318261,0.523354,2.75815,1.68363,2.31251,1.67231,4.30389,4.01718,0.487233,2.26311,1.36839,2.67311,2.42995,3.40731,6.30134,7.65966,8.05384,4.80066,2.1079,3.70507,-0.1085,9.52673,5.48753,5.26623,-0.246121,-1.36984,3.82387,-2.67224 --7.47001,0.474007,0.83483,5,47,0,25.4212,0.40585,1.94773,2.06828,4.16533,-0.104244,1.5412,2.85398,5.31592,0.960084,1.16265,4.16444,5.17187,2.76374,0.583729,4.62138,9.15207,3.35916,2.21535,4.72107,4.14607,7.20573,1.33221,5.71698,0.731926,5.58023,4.8409,2.8179,10.1126 --8.29322,0.995989,0.83483,5,31,0,14.1156,-0.34096,0.296963,1.68963,1.98041,2.30234,2.46622,3.1588,2.82529,0.136487,0.415403,1.41015,1.15395,1.64534,1.10025,2.02698,10.352,1.62296,-1.2783,6.18761,2.34386,1.95798,1.86878,1.33336,4.18422,-3.71758,-2.50925,0.806055,0.415608 --10.3768,0.925702,0.83483,4,15,0,20.5692,0.72442,0.962242,1.5206,3.94695,0.885197,0.72794,2.8467,2.84049,0.649141,1.09884,-2.11315,2.02938,2.36165,1.57387,2.64056,-0.719334,-2.58199,6.75713,-1.26497,6.83596,4.57706,1.97738,-1.4957,2.54949,3.54681,-0.494983,2.75616,5.05101 --9.29825,0.787775,0.83483,5,47,0,19.1258,-1.00375,1.96501,2.1274,4.09137,0.484656,1.01178,1.70539,4.35854,-0.348001,0.413892,-0.366398,3.46897,0.0346729,-1.35617,1.83134,2.57426,4.16666,-4.33078,7.12039,1.90177,-0.9021,2.40779,7.98852,4.58838,1.89688,6.40309,0.224705,7.17924 --9.29359,0.835642,0.83483,4,15,0,21.0906,-0.730081,1.43468,3.56079,4.26262,2.56663,1.02023,3.41193,4.50329,1.56703,3.93126,3.5142,3.51401,-4.59911,0.933832,1.0978,4.26654,-1.64901,-1.80076,-2.2324,5.83062,1.1993,3.54876,2.05805,3.3818,-1.66441,7.01944,3.2918,8.36962 --13.4056,0.984764,0.83483,5,31,0,26.03,-0.472207,1.84002,3.43737,3.46825,2.24806,2.22566,2.23146,3.08654,0.359253,2.73375,5.26601,5.8967,2.01464,5.15206,2.60941,6.04146,-0.833389,2.36248,-0.215557,4.54448,10.192,-4.80883,10.9135,-9.33497,1.40997,2.60774,1.09626,-0.625476 --14.9422,0.716375,0.83483,5,31,0,33.7182,-0.333752,1.46956,2.83897,2.99494,1.43878,2.04759,2.76075,2.81178,0.347737,2.66824,5.25311,5.95135,-0.388141,-6.81385,-0.924502,-0.408635,2.80711,1.65457,6.2075,3.42366,-0.225619,3.15525,-6.95157,14.6037,2.30662,3.14013,-5.03214,9.04084 --7.80812,0.905479,0.83483,4,31,0,26.4589,-0.106511,1.19013,3.26199,3.31634,1.52136,1.95282,3.67723,3.68411,2.18849,1.74612,1.31435,1.90146,1.9039,5.27175,2.1486,4.05483,-5.1812,-0.870323,2.34367,5.28976,5.60364,-1.37889,2.99087,7.10427,-8.76137,0.496294,-2.72102,-2.46107 --10.3869,0.641586,0.83483,5,31,0,22.127,0.152646,0.498574,4.22013,2.26157,2.29774,0.936892,1.46331,2.96051,1.35272,4.16151,2.40772,1.98558,-0.258961,1.06213,4.56221,6.45547,6.69628,4.37833,2.7508,2.40946,-3.97728,3.50845,2.91814,3.56872,3.93528,3.15632,8.79346,0.156626 --9.67588,0.989126,0.83483,4,31,0,19.4524,1.29714,1.65757,3.68743,2.11579,2.38379,0.605008,2.26785,3.25166,1.05096,3.56815,2.73795,2.00609,0.770895,0.568979,4.35369,8.14048,5.8878,3.76169,2.47386,3.57792,-3.76768,3.52333,2.28455,2.76708,4.29009,2.67729,9.66027,0.51315 --9.03912,0.785537,0.83483,5,63,0,23.5064,-0.108631,1.69251,4.50693,3.11333,-0.312665,1.61179,3.54345,4.25794,0.277078,0.683315,2.36945,5.42756,0.751022,-0.0747109,4.14504,7.82268,5.57527,-0.540444,0.988144,1.23542,3.33156,-2.06507,2.26034,7.49851,-2.58348,1.18099,-3.49764,6.97527 --11.4965,0.959964,0.83483,4,31,0,23.4407,0.527295,1.54339,4.46298,3.14975,-0.127277,1.55776,3.58555,4.39885,1.79804,4.07837,3.5342,3.41096,1.26141,4.16661,5.79536,3.11826,7.97481,4.64669,-2.5611,7.25299,11.5927,4.25469,0.928557,1.26491,1.53386,4.80473,3.35962,4.77792 --15.9332,0.981517,0.83483,4,31,0,29.0746,0.0202344,1.97129,3.67417,3.35401,0.386662,1.49422,3.86972,5.29289,0.740423,-0.497854,2.96175,4.5052,2.19653,-4.90042,4.24964,7.35135,-1.54897,4.12959,4.05704,4.79472,2.47789,13.5225,1.7479,0.573378,-16.0418,2.34251,9.43647,-0.121188 --11.9389,0.809329,0.83483,5,31,0,28.8491,-2.58475,-0.214628,1.65744,2.12806,0.785739,1.9463,2.5074,2.63639,0.296572,-0.0439075,4.30234,4.83872,4.51415,6.70063,5.56921,1.924,-1.64182,3.4046,3.45714,4.61946,3.65957,4.67672,7.43632,2.78809,10.7023,-0.996721,8.61415,1.80565 --21.4553,0.813824,0.83483,4,15,0,34.2135,3.1229,2.00062,1.70537,4.07254,1.34042,1.58738,3.37675,6.19392,0.216038,1.99216,7.49101,10.0023,3.71952,3.16334,4.25034,-1.77519,-1.40899,0.161753,2.89859,5.90498,-0.438603,-1.76059,4.38021,1.81241,9.30621,-0.365851,13.0975,4.28702 --17.8383,0.99519,0.83483,5,47,0,38.8249,-2.70468,1.20465,3.21203,2.88288,-0.122581,0.973055,2.60059,2.20141,4.50839,-0.734655,-0.479037,5.7255,-2.15542,1.3124,8.69155,-1.50638,3.79823,1.01666,5.42401,3.66354,2.51484,5.58922,1.47463,5.99071,-1.86506,5.451,-5.35539,3.70241 --18.3114,0.929721,0.83483,4,31,0,29.9374,-3.39542,0.924035,3.51688,3.51244,0.643457,0.960774,2.54984,2.05659,-2.92979,4.24132,5.86515,2.9987,-0.288278,3.24841,1.3102,5.45708,-5.07762,6.62062,-1.65099,2.42569,-4.56242,2.01725,-1.03688,6.3846,1.13996,4.17237,-3.8149,0.61017 --13.5562,0.803051,0.83483,5,63,0,35.4449,-1.90835,-0.0513946,0.638928,1.62255,0.198443,3.35926,4.01968,2.59602,2.33688,1.92464,-0.059979,4.72447,-0.584373,2.92707,1.17339,6.85178,-2.37283,0.995599,4.50052,13.881,4.59895,1.35983,3.58823,2.405,0.16325,0.446389,7.05974,7.46729 --21.0051,0.974597,0.83483,4,15,0,33.179,-1.33185,1.32837,2.778,3.1257,0.149198,2.21901,4.16366,3.0505,-1.40292,1.91984,7.81834,5.01777,4.12088,0.0384752,2.99382,3.06311,-2.8693,17.7317,-0.707477,-5.05339,-3.91213,-2.60847,0.0421006,-2.35944,3.18508,1.48848,-2.46687,1.14271 --18.0865,0.747436,0.83483,4,15,0,37.2851,-0.340567,0.198996,2.03386,4.20787,0.151401,3.38111,1.09423,2.53669,4.09248,1.74787,-0.609673,2.12543,6.42785,-0.399284,5.15379,2.46692,-9.46906,1.97251,-1.62726,-0.0776925,-4.16429,0.335865,-0.340774,0.501024,9.77337,5.10034,-0.76072,6.56574 --13.9449,0.95336,0.83483,5,63,0,33.7777,0.958931,1.96791,1.9904,1.73691,1.70748,0.814271,4.75238,5.58728,-1.5659,2.17069,3.5208,1.98139,1.82987,5.88624,5.23437,3.50729,8.6946,4.04013,7.77024,9.98028,4.93552,3.04506,5.22549,7.77034,-5.29937,-0.299542,7.91733,9.68064 --11.1698,1,0.83483,4,31,0,28.6202,-1.14028,0.662864,1.6605,4.12948,0.292669,3.10307,1.09469,2.55162,1.95822,2.268,3.34643,3.70184,5.01549,4.26592,2.90824,4.37317,3.7223,4.54968,9.88362,5.99222,-6.20838,1.1616,1.68628,11.0018,-1.8686,-3.73784,4.37057,3.87167 --14.7338,0.798087,0.83483,4,15,0,27.297,0.454955,2.23795,2.54471,2.33325,1.75017,-0.291665,4.25224,4.38334,-0.0575036,3.05243,1.35619,5.28488,2.73889,-0.266487,-0.759825,4.72769,6.07201,3.54431,9.45137,2.24811,-10.2975,3.43966,1.13636,13.193,-0.55072,-5.71268,5.97327,5.39284 --15.5928,0.888822,0.83483,5,31,0,28.4642,0.852452,0.733989,1.29851,1.95409,0.763028,-0.743476,2.74197,4.01927,2.40969,-0.312787,5.12866,3.8006,-3.09351,2.86039,6.22226,5.30562,1.84676,-0.850126,-4.50709,2.56264,-5.06556,0.28793,2.37673,7.99897,-5.98311,-1.96412,-5.68375,16.805 --12.4088,0.904971,0.83483,4,15,0,25.4413,1.2761,0.307509,-0.134376,2.09676,2.6887,1.72587,3.81198,3.27608,-0.0614721,3.0157,-0.00423774,5.1392,2.56093,0.0466323,2.64434,-0.940056,2.23719,0.292915,-3.98691,3.76301,1.16928,-2.13466,1.10669,4.36414,-3.54433,0.0119594,-2.98196,9.51162 --15.2338,0.910584,0.83483,5,31,0,29.353,-0.332246,1.72282,0.694009,3.07999,3.02149,0.74277,5.19719,2.56537,0.256905,2.84852,2.32058,4.68247,1.4682,-0.787886,6.5061,3.30343,2.06854,-0.519096,-1.34343,4.91119,1.84001,8.51995,5.09496,-7.76132,-4.34453,11.6677,2.10342,1.57033 --15.8188,0.994945,0.83483,5,31,0,25.9837,0.615746,1.41775,1.00788,2.51371,3.34784,1.4047,4.88712,2.0327,0.511853,3.08503,2.83768,4.01104,2.56988,5.24136,0.130565,4.10243,0.919252,4.34201,7.5629,2.75478,0.582998,-3.784,8.31304,11.9962,12.6371,-1.88002,0.603062,13.9219 --16.2821,0.768207,0.83483,5,31,0,33.7424,-1.43444,0.862667,2.85207,4.0402,0.044387,3.3097,2.6348,4.14178,2.60555,-2.44364,2.032,5.42637,2.74352,1.30558,-1.8375,3.55626,4.63605,-3.94637,-1.77232,6.55706,1.42831,7.30581,-2.28068,-3.80113,-9.82447,7.4054,8.00741,-4.9923 --11.4661,0.915915,0.83483,4,15,0,27.2589,0.0640601,2.28507,2.965,4.22213,1.48752,1.00268,3.22179,4.39339,-0.617984,4.32974,3.62397,3.31667,6.02253,-0.309625,8.14872,4.42177,1.82965,-1.62854,0.968422,9.68138,0.756488,6.71307,5.53864,-0.705569,-5.0546,7.13774,-0.480284,-3.50774 --15.7272,0.576738,0.83483,5,31,0,29.4495,0.0436042,-0.92821,2.13853,3.0225,-0.689307,0.895166,1.61584,2.87794,3.13991,5.8156,1.30143,4.7673,-4.50276,3.42695,-2.16267,3.84924,-0.81005,2.83785,6.56743,5.01451,4.41728,-6.93262,6.89184,4.18354,10.5855,1.26059,1.89896,0.812231 --18.0808,0.943155,0.83483,5,31,0,32.2123,0.195536,-0.906077,2.07511,2.98784,-0.504179,0.807476,1.70638,2.92235,-1.81317,-1.8541,4.96973,3.42849,-4.86404,3.89787,-2.02637,3.83505,8.78806,6.68476,6.62125,8.97093,-0.181643,7.37321,1.82779,2.26768,-8.96033,2.19204,3.60268,8.28921 --17.2832,0.867,0.83483,5,31,0,32.7099,-1.51861,-0.509569,1.46938,3.43123,-0.258756,-0.655974,3.17576,4.58579,3.54022,5.3029,1.64814,4.49099,-4.43226,4.75484,-2.26342,3.7067,2.38516,-1.34663,2.20547,6.49734,6.11739,-5.85402,5.24322,2.05762,11.186,1.97892,1.9987,0.169044 --19.3809,0.921646,0.83483,5,63,0,32.3143,-1.12151,-0.570288,1.62493,2.3579,2.12189,4.33237,4.02928,2.48085,-1.92114,2.6844,4.98681,3.26972,-2.89729,5.51104,-0.123723,2.82622,-5.08963,-0.36089,9.16183,-2.46921,-3.96373,10.8888,1.40762,5.18757,-10.9457,-0.51071,3.8936,8.77953 --13.432,0.99899,0.83483,4,15,0,30.8508,-0.206404,0.293937,0.899432,1.17341,2.17799,1.41804,3.64428,5.22855,-0.637817,2.43698,3.48315,5.84437,4.54701,-0.76797,8.31979,5.89308,3.97469,5.93887,-2.82139,8.9037,0.274795,1.37855,4.65848,5.2169,13.5838,-2.89197,5.83565,2.42208 --9.0352,0.971278,0.83483,5,31,0,21.7208,-0.266199,0.667736,1.13927,1.91493,1.58711,1.38121,3.12303,5.38665,1.01616,1.92516,3.20587,5.47575,-1.23776,1.3545,-1.58468,3.32438,-2.07179,-2.4025,7.86498,-0.605993,-4.49406,-0.113733,5.07783,2.04357,-1.54565,11.5228,-1.88004,2.28992 --15.7804,0.614185,0.83483,4,31,0,26.9681,-1.12185,0.866627,2.03471,0.75873,2.30248,1.81593,4.02559,4.62399,1.47742,2.61169,3.22066,2.48367,1.56414,1.25653,6.57991,7.0567,4.04332,-0.440791,2.18319,-2.78898,-1.35589,-9.94519,8.8865,8.64231,-6.15493,14.8479,-0.0362832,8.14639 --18.8994,0.800443,0.83483,4,15,0,36.1855,1.50455,1.10867,1.96539,3.51933,-1.48971,2.75674,1.03794,4.44679,4.50666,-0.422582,7.72222,2.83017,1.19066,2.76142,-2.06541,1.31364,-0.420783,6.32151,4.71762,5.96844,5.79298,9.30309,-0.542763,7.63952,-6.17463,11.8288,1.81486,7.26277 --17.3274,0.890819,0.83483,4,15,0,31.6767,1.76439,-0.822026,2.40106,3.55937,-0.120065,1.01049,1.38439,4.43868,-0.0373889,3.90405,-1.95204,6.59797,-0.416799,-0.789547,10.0578,9.4698,0.544594,4.01644,-0.326455,7.37863,4.30462,4.38033,5.0425,6.37733,1.05941,5.90132,-1.70736,4.41521 --17.4716,0.988153,0.83483,4,15,0,31.5965,-1.78514,1.18966,1.12462,4.30661,2.03437,2.56111,3.17678,3.45652,1.18841,3.5287,2.04436,8.66098,2.63124,4.34039,-4.13954,-1.17959,5.07051,-4.50657,4.46272,3.79594,6.00164,5.02976,-6.42486,-2.60485,2.43618,6.78065,1.57056,8.24926 --18.0589,0.972761,0.83483,4,31,0,30.8555,1.37462,0.450722,2.67758,2.47564,0.750951,0.909952,2.89122,5.37527,-1.00116,0.908908,3.91377,7.79261,1.82483,3.19678,-5.29618,-3.37013,4.58896,-3.27298,4.59622,2.99899,1.87655,4.11037,-10.0454,-0.708488,4.42492,2.76118,3.0678,4.54142 --15.2763,0.843364,0.83483,4,31,0,33.9862,-0.413355,1.16076,1.76705,2.34486,2.61666,0.439255,2.51849,3.08875,1.76,2.88377,3.06167,-0.740146,-6.2353,3.64939,1.86098,4.67879,-4.76374,2.61362,3.80018,2.81727,4.97046,2.19126,-4.69442,-1.83095,2.63504,-7.59067,-1.16412,12.0278 --16.1034,0.962612,0.83483,5,31,0,29.0088,-1.25797,0.440376,3.30094,3.64318,-0.728085,2.04506,3.1175,3.6181,2.92597,5.49897,2.89971,1.07164,-2.7492,-2.13154,9.67589,3.97138,5.26348,1.90902,2.50707,6.30685,-0.822021,2.80775,8.07754,9.7627,-1.28197,14.8585,3.55107,-3.96766 --10.3947,0.936528,0.83483,4,15,0,32.2133,-0.358717,1.23516,0.932477,2.74753,1.723,2.59098,2.92364,3.79911,2.629,1.07975,1.93279,5.91826,4.93861,5.5086,-3.20252,8.50759,2.32566,0.344762,3.70259,2.07785,-0.799617,3.8111,12.005,5.7138,-5.03382,0.325138,0.972807,-3.13058 --15.765,0.758959,0.83483,5,31,0,26.3765,-0.53271,0.537903,2.38777,2.37331,0.174754,3.37586,4.02054,3.60961,-0.967126,3.63419,3.19078,2.13589,5.02512,4.88471,-3.10581,8.01904,6.69442,8.16151,8.48984,1.61746,-3.11858,-3.30408,-6.92168,1.14565,6.88469,3.83196,4.92103,11.7866 --9.99128,0.927885,0.83483,4,15,0,27.0822,-0.230502,0.746259,2.07687,3.70428,1.65724,1.41946,1.81711,4.76349,-1.32403,2.53355,1.61699,0.603765,3.84311,0.808605,1.5535,6.45656,3.79609,3.14289,8.67335,1.14064,-1.30099,0.98541,-4.60208,0.138991,10.7612,4.1254,2.69044,9.50306 --10.2514,0.749598,0.83483,4,31,0,21.0464,0.123352,0.733597,1.65988,3.85603,1.41499,1.08365,1.537,4.98392,3.47584,0.971765,4.46048,6.52946,-1.23961,4.9436,4.83919,3.30903,-2.00703,5.92814,1.38068,2.86082,-3.26854,-1.18376,-7.02951,2.6143,8.43257,2.59097,7.5262,8.00994 --11.7259,0.918901,0.83483,5,31,0,21.8669,0.315867,2.19082,1.31561,2.27145,0.199866,3.70034,3.62527,3.54786,-2.64767,2.3285,3.13791,1.79059,2.04539,0.536029,1.31478,5.5347,-0.929474,-5.77379,3.04254,-0.00961585,2.36897,-2.76818,3.8838,12.0173,9.98304,0.397879,-0.469284,2.73859 --14.5374,0.803641,0.83483,5,31,0,31.18,-0.58184,-0.107201,2.88353,4.09896,1.42683,0.25838,2.34746,4.66017,0.708202,7.12748,1.42178,2.65384,5.01535,2.11921,4.27432,3.03463,2.02172,9.59671,1.49526,5.39796,-1.51635,5.77364,3.30383,-2.7824,-11.105,3.73743,0.747901,-1.36927 --12.0943,0.978601,0.83483,5,31,0,26.3101,0.480033,0.641483,1.58709,3.09606,0.915697,1.74968,5.0466,5.23793,-1.34782,4.41317,2.08069,2.03025,-2.36,4.48297,1.36663,5.71475,1.0018,-5.46239,4.93939,4.01896,4.65195,1.64841,1.71181,-0.673428,8.04142,3.23374,-6.7092,12.5889 --14.2663,0.853413,0.83483,5,31,0,27.8835,-1.56203,1.64378,0.0157587,2.47415,0.262342,2.53819,2.44905,5.16383,-1.01377,2.88812,0.698781,1.41832,-0.283952,4.21823,1.60807,8.0644,3.88348,-4.01799,3.49974,2.53681,2.94974,2.09703,-2.91049,1.47475,8.39527,4.14936,-8.20118,12.7376 --16.7027,0.975158,0.83483,5,31,0,35.7283,-0.0988915,1.23391,1.14768,3.15394,2.28675,2.72606,3.35481,3.91512,4.95038,4.80412,2.92588,6.5352,-2.79698,6.34373,4.27466,3.78395,-1.84864,0.180883,-6.95481,4.42341,-3.3114,3.18301,8.6968,5.97159,-8.90186,0.302332,11.9096,-9.05571 --8.93325,0.729558,0.83483,4,15,0,30.3532,0.089649,0.668146,2.88502,2.83088,-0.277578,1.32777,2.55441,4.15905,0.865456,-1.39689,4.91474,1.1457,4.77783,-2.65291,1.65919,4.13541,5.04017,1.83759,2.38316,4.87808,2.99076,0.801308,3.16916,4.06494,9.51966,1.88951,9.44851,2.00921 --18.5461,0.803391,0.83483,4,15,0,28.3657,0.228519,-0.157861,2.10924,2.18007,2.92262,2.95292,2.47882,3.77369,1.2509,6.28818,3.68403,6.85386,-1.36382,2.51119,1.96823,3.17918,-9.48711,1.15881,1.34263,11.2416,12.9167,-4.06468,2.98457,-3.6375,-0.816549,3.9561,12.229,2.4959 --18.9703,0.81161,0.83483,5,31,0,34.511,-1.33804,1.06969,0.88747,5.09614,-0.516087,2.11697,1.19072,4.04561,-0.492481,5.7114,2.55709,6.02975,-6.06502,2.85087,-0.774332,1.20624,-6.55545,-1.09946,3.95415,9.30202,-7.58076,5.82934,7.78879,7.30612,-3.92874,0.142735,1.24628,5.28288 --19.0278,0.997837,0.83483,4,15,0,32.0743,0.713863,1.36164,2.32309,2.64929,0.518563,1.17842,2.50439,5.03493,2.47708,-2.23238,4.30006,3.40827,10.4533,2.14532,4.07807,8.26089,5.37531,1.50857,4.28971,0.304013,-7.98111,1.56962,-0.311638,14.8249,-6.43534,-9.19216,11.0458,4.59761 --11.5741,0.847469,0.83483,5,31,0,32.832,-0.891519,1.14327,2.16704,3.13506,1.00971,2.75756,3.53157,2.87869,2.22079,2.60522,2.44331,2.94155,6.11387,-0.750468,0.676162,1.66417,5.08152,1.99667,-0.67171,0.553826,-5.66859,4.12838,-1.33155,5.46866,-10.2145,-11.6844,5.37161,1.88554 --9.96087,0.778349,0.83483,5,31,0,23.4734,-0.369937,0.88261,2.87739,3.26251,0.277401,2.9541,2.69072,2.71764,2.80022,1.4085,2.34894,3.47474,-1.69948,3.61028,5.16017,7.05548,-3.61449,2.00742,6.11213,7.13572,2.74678,3.68405,9.11062,4.12332,8.48126,-1.08764,-7.66399,-5.9946 --9.21114,0.94287,0.83483,4,31,0,19.4438,-0.211448,1.51568,1.12761,2.58332,1.66157,1.63163,3.09754,3.7955,-3.18105,3.67377,5.11273,4.54767,3.35945,0.190654,-1.38742,1.3454,3.06294,-0.532091,5.68144,5.42591,9.99637,0.80462,3.66611,7.33363,0.448682,4.89716,5.31493,-1.98847 --13.723,0.605102,0.83483,5,47,0,29.5903,0.253541,0.913471,2.69314,3.40156,0.0872295,2.2953,2.45419,4.51574,1.40022,2.10735,6.22578,7.66438,5.59018,6.86757,-3.92863,0.537534,-4.35359,2.52137,2.83005,-0.408603,-7.66774,3.45363,2.59133,1.82861,-0.0639721,-3.33052,6.98273,5.14142 --17.8768,0.715366,0.83483,4,15,0,30.3049,-0.0824539,0.132226,2.71057,0.808131,1.3201,1.0861,3.37954,3.39264,0.593748,3.09263,2.13305,2.19129,-3.84181,-3.76902,9.44656,5.67424,-1.88437,-0.632112,4.89933,10.7671,-2.16711,-2.77636,0.47858,-2.87531,-8.0073,-0.473831,-10.591,-0.657609 --25.2227,0.781775,0.83483,5,31,0,38.133,-0.889544,1.26155,0.0964616,4.42904,-0.191842,2.16827,2.02762,5.93932,2.24834,2.73935,6.45416,7.49772,-5.07057,-1.59585,8.48571,7.02694,-4.81593,2.57175,6.19819,6.96442,5.18812,14.8607,8.08861,10.3833,7.65378,4.44275,17.1063,10.2216 --27.335,0.799978,0.83483,4,15,0,46.0678,-0.0817998,0.65463,4.53464,2.95191,0.317497,1.79525,5.68951,2.13069,0.334879,-0.964231,0.0997238,-0.974411,5.96805,5.94232,-2.01452,2.09237,5.0129,0.292629,-7.66246,5.12122,6.73092,10.8901,3.64922,8.63057,-4.10593,2.20094,13.1373,10.8824 --22.2976,1,0.83483,5,31,0,39.1693,-0.219489,1.62384,0.280655,2.9817,1.5737,1.7819,1.42659,4.43416,-2.97124,3.19572,0.892951,-0.66961,-4.25428,-2.05893,7.491,6.11744,-0.994553,3.18615,10.5346,2.05558,-0.118929,-4.63449,4.43001,-1.39325,-16.0942,1.84321,14.8589,-0.0732124 --18.8873,0.997785,0.83483,5,31,0,32.1903,0.333258,1.95994,0.709042,3.60027,1.26845,2.04101,2.18611,2.50975,-2.17685,2.98268,1.41123,-0.534398,6.15491,-1.5234,-1.63031,3.63759,3.33771,0.143283,-4.87368,5.71351,-1.12335,10.2895,0.174343,5.1525,12.329,-0.237048,-10.2062,2.99182 --18.2656,0.796267,0.83483,5,31,0,35.8195,-0.764853,0.241086,1.30602,2.1897,1.75367,1.42465,1.51721,2.91435,4.16251,1.86096,5.06341,7.87251,4.33212,-0.70757,-1.91331,3.94759,-0.791844,5.22286,8.9611,8.96627,3.76687,-6.62339,11.79,2.34656,-8.48153,6.04213,14.6582,5.76854 --14.3318,0.829971,0.83483,4,31,0,35.0809,0.654234,-0.128177,1.70823,4.14618,0.342035,3.88528,3.19135,5.0284,3.24402,2.82401,3.38397,7.6781,0.581628,4.16649,5.51077,1.3806,4.2882,-2.27067,-2.28244,2.35233,5.74778,3.00256,-0.689958,10.2316,15.3274,6.33998,2.42288,-0.752875 --14.1795,0.989002,0.83483,5,31,0,27.7833,-1.10065,0.500012,0.639522,1.99458,1.15447,2.96104,3.00359,5.25747,2.41669,3.78312,4.3065,8.05638,-3.26201,2.00971,1.44393,8.3228,-1.02932,6.21338,7.14774,5.38219,-2.1337,-1.80424,1.01892,-1.32506,-12.3865,-3.47908,7.66373,5.54319 --15.3663,0.892112,0.83483,4,31,0,27.6151,1.77079,1.04284,2.84369,3.76692,0.213198,-0.0234226,3.71984,3.15203,-4.18686,3.40662,1.03041,2.93438,3.95947,2.67737,5.23837,-1.23734,3.64324,4.32435,2.76448,7.18904,4.01682,1.09661,1.88083,-1.15351,-9.30453,-4.10888,5.61266,1.72779 --9.13077,0.979973,0.83483,4,15,0,25.8327,-1.03807,2.02649,2.11163,2.70579,0.936736,2.59342,1.93758,4.67064,3.65316,2.2146,5.09264,4.1201,0.531782,0.954153,0.503004,7.47951,-0.265091,6.00626,-0.816836,1.98715,-0.59512,-0.939779,9.30924,-2.6216,-2.47754,-4.69615,7.2358,-1.7007 --12.4058,0.800882,0.83483,4,31,0,26.5269,0.217712,-0.358241,2.35709,3.11452,1.11803,1.95347,4.61052,2.54288,4.03046,1.92677,6.21681,1.46893,2.20643,3.14126,0.490956,7.02947,1.70507,7.02671,-1.71246,4.93485,2.24418,-2.40127,10.3574,1.82124,0.805215,-8.54407,5.00858,5.7804 --7.87295,0.992761,0.83483,5,31,0,21.0999,-0.801069,1.3605,2.30668,3.12099,1.83222,2.63524,3.34717,4.78003,2.47161,1.15116,4.58988,1.54683,4.48649,-0.556293,5.41725,1.44106,1.37807,6.7837,-1.65435,4.76682,5.82927,7.77189,4.10778,2.34467,-4.97965,2.35431,-0.992956,5.12786 --13.3291,0.806239,0.83483,4,15,0,21.3277,1.98173,0.429314,1.59654,3.10347,0.30195,1.38339,2.57479,3.42838,3.41259,0.685106,6.32579,5.4924,5.39482,-1.3069,4.5004,5.54893,-2.07817,5.33827,-4.55951,6.48559,8.80724,9.23753,3.57459,2.30803,-1.73084,3.1728,-3.55732,7.89801 --8.04945,0.790551,0.83483,4,15,0,21.7109,-0.974301,0.419418,2.06771,3.98268,1.49291,2.60003,3.98311,4.67452,0.366953,1.24232,2.74376,3.85225,0.704734,-2.75134,5.9203,5.97778,-2.02342,4.67175,-1.10886,5.37335,9.47304,6.60238,4.38352,1.65518,-1.62118,2.12335,-2.50092,7.86144 --14.342,0.545446,0.83483,4,15,0,27.8072,-1.10141,0.61495,1.46364,3.6632,1.05899,3.02919,4.01666,4.24086,2.2382,2.81969,3.19992,4.04999,-4.30352,5.11545,6.19058,-1.42586,-4.60732,2.16661,2.26862,7.43626,4.60851,8.65252,16.6655,9.31816,0.260952,1.14188,-1.60063,10.0562 --16.6672,0.58199,0.83483,4,31,0,34.7734,-0.277906,-0.771058,0.710021,3.15021,0.106369,3.67519,4.22077,3.83953,-0.979957,0.529907,3.12862,3.45643,0.747671,-0.0648186,0.860889,13.41,2.89486,2.27485,1.21116,10.6984,3.06716,3.00073,10.6979,1.35507,6.77373,5.00293,-7.30752,-0.891549 --13.2812,0.843544,0.83483,4,31,0,33.4922,0.623787,0.712441,1.98313,3.83719,1.97396,1.78893,2.46774,3.19702,3.59572,1.40046,5.99848,7.38103,1.78238,-2.9999,5.77607,3.39853,-7.0148,3.17669,4.32399,11.4006,3.36696,2.90925,6.10421,3.44419,5.82663,5.85641,-5.4899,-3.33579 --17.9868,0.809952,0.83483,4,31,0,37.7239,0.33107,0.857534,1.98205,3.70193,1.69871,1.53032,2.02471,3.47103,-1.64239,2.96373,-0.651324,0.725892,1.57276,1.77753,1.0449,-0.728743,-6.78519,3.76581,0.883017,9.92789,10.9593,0.17367,4.4489,-6.09206,1.82447,-9.76237,14.4734,6.88975 --12.9436,0.815776,0.83483,5,31,0,32.246,-0.0554511,0.733737,2.11026,2.35141,0.453305,2.19923,3.99324,4.41404,1.77193,-0.0882201,3.79194,0.589041,0.111116,-0.533839,-0.754245,5.22744,4.19795,-3.69736,6.36425,-1.51841,-8.49411,3.96571,1.03904,15.4698,-1.64595,8.43895,-1.78086,-0.681859 --20.3667,0.562274,0.83483,4,31,0,32.248,0.506867,1.94817,3.76351,4.10936,1.46747,4.46344,1.91362,5.36454,2.08974,3.2121,5.93628,6.99316,-1.71321,3.04508,3.44025,7.7467,11.4514,-5.03129,8.81317,3.79801,-3.56433,4.53439,3.85577,9.22199,-3.43831,3.126,-6.43819,-2.08633 --15.1081,0.986029,0.83483,4,15,0,34.3843,0.0202581,2.02611,3.83014,4.03572,1.51533,4.87625,2.41076,5.14263,0.661307,1.17961,-0.0567783,0.908297,0.935017,1.78574,-4.10084,4.69281,1.57316,-2.62149,2.30937,4.30498,3.74099,1.75727,7.29919,4.01511,6.92903,4.75465,2.65665,0.491487 --17.5213,0.995157,0.83483,4,15,0,33.0182,-0.0882513,-0.150307,1.32359,4.80248,0.525807,2.11932,1.17709,5.17601,0.859917,1.9682,3.78358,4.41043,-1.22363,1.01514,10.8521,3.8793,-0.358804,-3.91808,6.83336,5.92712,3.88565,1.92925,9.57317,11.6653,1.66751,-14.4467,8.10204,-2.6648 --16.3469,0.981162,0.83483,5,31,0,32.2769,-0.194272,0.119955,1.33306,4.90697,0.243144,1.81147,1.15914,4.9849,0.138497,1.57337,2.63842,3.75972,-2.0606,0.731789,-1.50205,3.3052,1.19482,-5.90678,6.30536,3.61453,-0.929199,-9.3374,7.1132,3.71833,0.285466,-9.83788,14.4635,-1.69331 --14.3793,0.956884,0.83483,5,31,0,26.2904,1.73549,0.402796,3.7394,3.84128,1.97494,2.85487,3.65101,3.90864,3.4006,2.38725,3.03798,3.61746,-3.65219,3.73669,2.55458,0.695151,2.23122,-5.43343,5.41061,2.22629,5.23311,0.272792,6.26529,7.92423,5.25143,9.95863,-10.1687,9.96236 --12.6757,0.928289,0.83483,5,31,0,25.8388,1.38384,0.208902,3.56354,3.3872,1.74356,2.74962,3.64868,3.89715,-1.20789,0.992838,2.71725,4.07512,1.37843,-1.1139,3.604,7.73779,8.38658,7.87932,8.90374,0.445377,4.29931,-0.562025,10.0762,7.72248,-3.83816,6.23906,-4.35023,5.28923 --13.4354,0.823167,0.83483,5,31,0,26.7762,0.554565,-0.246356,2.58226,2.60648,1.21155,3.67855,4.4744,5.72157,-3.2838,2.67886,3.20482,3.80729,0.552602,1.60852,3.62583,5.48106,-5.72767,-3.60482,-2.50196,6.94669,-1.22112,-0.820907,-1.78662,2.94731,2.54021,-3.1248,10.6819,0.559574 --15.3332,0.963142,0.83483,4,31,0,28.4467,-0.26168,-0.480551,1.6162,2.64708,-0.141524,4.1591,2.36011,5.22704,4.20182,-0.478539,3.14621,3.55536,-3.17406,5.74114,8.68387,10.1048,1.78366,2.85297,-1.9963,-1.09748,3.62595,1.50883,4.568,5.9887,-2.52205,-2.01162,5.99927,4.99629 --15.3778,0.946259,0.83483,4,31,0,32.01,-1.56214,-0.796007,0.164024,2.62667,0.696078,2.87316,2.90142,5.55965,-2.17226,3.29698,3.73987,4.79547,2.71769,0.737867,5.80112,0.985987,1.30753,5.20185,9.03804,-0.483702,-6.12864,-0.335334,1.88466,-4.27106,6.05599,5.05053,7.28618,12.416 --14.0244,0.994367,0.83483,4,15,0,27.0885,-1.62268,-0.464141,1.45023,3.41784,1.07936,3.02482,1.5747,5.30268,-0.902192,2.61135,3.02582,5.66632,2.54706,2.70504,6.39188,0.928956,1.63507,3.9373,9.94272,-0.356737,-6.68371,0.639644,2.74417,-4.68262,6.04772,4.32931,7.26832,13.2825 --16.5836,0.922613,0.83483,4,15,0,30.9394,0.191144,2.07233,2.09655,4.54387,0.0309058,1.03668,3.08189,5.49916,-0.159054,0.340813,0.248422,7.08412,1.20423,2.81703,-1.59406,7.71647,0.480008,-1.49273,-7.45798,8.05733,2.3979,3.12119,-4.09515,12.5444,1.92461,3.68287,11.0236,8.7107 --13.6497,0.97112,0.83483,5,31,0,27.2968,-0.302296,-0.0829458,1.10522,1.17663,1.43624,3.78145,3.64556,3.31326,0.356629,1.69662,1.2408,4.6353,0.829139,1.32821,8.33253,-0.177674,4.72723,3.79907,8.85145,1.97727,4.67062,5.85317,4.59425,5.30164,11.0484,13.8131,3.33908,5.36394 --14.6866,0.950907,0.83483,4,31,0,35.5999,0.640176,1.42647,2.45437,3.66658,1.4075,0.765389,2.43505,3.6809,0.481427,-0.0396887,1.63704,0.394027,-1.60201,3.68426,-0.859408,5.95755,7.5221,-0.18364,-5.06449,-3.27202,-4.02633,9.91592,10.5611,5.22265,-3.57167,2.42221,8.41064,-0.0685303 --15.6619,0.891186,0.83483,4,15,0,24.6287,0.736417,1.10281,2.40404,3.67398,1.01041,1.50427,2.1841,3.73231,0.485877,-0.0272711,1.70664,0.424976,5.9599,0.0769082,3.39522,4.44343,-5.52895,4.17967,11.0897,11.2831,7.08965,-5.17066,-2.0447,4.30583,13.5165,10.417,2.05862,3.49557 --15.739,0.802124,0.83483,5,31,0,30.4257,-0.41433,1.17469,1.42823,2.2043,0.942398,2.63697,3.63735,4.04622,-0.788289,-0.195085,-0.753101,2.02933,-1.74141,0.781675,3.44909,5.33927,9.57062,-1.09838,-0.2087,-2.31385,-5.43725,9.67399,7.27126,5.27379,-13.1026,-7.5675,-1.17203,5.85751 --17.2184,0.554375,0.83483,4,15,0,33.6153,0.332136,0.225981,2.32744,3.49729,1.36171,1.71554,3.2227,4.30314,0.0565614,2.56371,5.26488,5.79616,3.13931,2.08372,0.780676,0.398571,3.46416,-5.67763,3.03407,-3.1639,-4.90828,10.5409,10.9598,9.00137,-17.2989,-8.48035,-0.607664,7.26786 --13.9394,0.518918,0.83483,4,31,0,43.7154,-0.436462,1.66307,1.68845,2.57025,0.631327,2.36912,2.71284,3.76288,1.57394,2.13648,5.09356,4.79834,-0.888621,2.01377,4.99492,7.17745,5.1774,8.75254,12.5121,3.57339,-5.66478,-11.0096,-1.15642,8.33421,-7.44327,-1.67513,7.53604,9.1284 --12.363,0.783327,0.83483,4,15,0,24.6958,-1.14744,1.65554,1.54696,3.07057,2.22143,1.24656,2.45122,3.58253,1.76834,3.39747,4.98435,6.40201,-0.00371636,2.66224,0.97089,-1.44826,2.19071,1.08529,7.43077,-0.386727,-3.29753,-9.71437,-0.649837,9.60191,-7.24374,-1.05774,6.05328,7.07458 --18.0015,0.817657,0.83483,4,15,0,26.6881,1.83803,0.618081,2.44814,2.55915,-1.14914,2.70067,3.23367,4.05813,-0.994006,2.74898,5.97161,1.79175,4.33684,5.31696,1.1864,-0.450594,4.73126,-0.798072,5.51602,0.0640753,-1.42807,-11.9854,2.24233,10.6112,-10.4452,-0.0187378,4.84158,9.78279 -# -# Elapsed Time: 0.031 seconds (Warm-up) -# 0.016 seconds (Sampling) -# 0.047 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/output_warmup3.csv b/arviz/tests/saved_models/cmdstan/output_warmup3.csv deleted file mode 100644 index e847415e30..0000000000 --- a/arviz/tests/saved_models/cmdstan/output_warmup3.csv +++ /dev/null @@ -1,248 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = test_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 100 -# save_warmup = 1 -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = (Default) -# init = 2 (Default) -# random -# seed = 721295322 -# output -# file = output_warmup3.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,y,x.1,x.2,x.3,Z.1.1,Z.2.1,Z.3.1,Z.4.1,Z.1.2,Z.2.2,Z.3.2,Z.4.2,Z.1.3,Z.2.3,Z.3.3,Z.4.3,Z.1.4,Z.2.4,Z.3.4,Z.4.4,Z.1.5,Z.2.5,Z.3.5,Z.4.5,Z.1.6,Z.2.6,Z.3.6,Z.4.6 --40.7575,4.52778e-010,2,3,12,1,61.0848,-0.908895,-0.210423,-1.66602,-0.532084,-1.92435,-0.260259,1.29952,-0.474823,-0.646627,-0.82624,0.122843,0.972666,0.168488,-1.66123,0.398169,-0.55107,-1.95338,0.00963683,1.67538,-0.375565,-0.683834,-0.0544662,-1.31405,-1.12647,-0.104102,0.484509,-0.421776,-0.144484 --40.7575,2.32657e-021,2.33506,1,3,1,55.0363,-0.908895,-0.210423,-1.66602,-0.532084,-1.92435,-0.260259,1.29952,-0.474823,-0.646627,-0.82624,0.122843,0.972666,0.168488,-1.66123,0.398169,-0.55107,-1.95338,0.00963683,1.67538,-0.375565,-0.683834,-0.0544662,-1.31405,-1.12647,-0.104102,0.484509,-0.421776,-0.144484 --42.5217,1,0.230236,5,47,0,56.7699,-1.00804,-0.235228,-1.75775,-0.502045,-1.97058,-0.194034,1.34734,-0.398566,2.66641,4.83795,5.8657,7.05385,3.56349,2.72995,0.913605,2.68964,-0.776338,-2.21541,-3.49379,2.70912,-5.74495,7.12823,9.93726,3.71123,2.55124,2.30148,-2.76768,12.4905 --28.3309,1,0.239791,4,31,0,53.117,1.11744,1.99449,4.69772,5.00823,2.96696,3.18049,4.55111,7.91758,0.93408,4.18273,4.38436,5.80121,3.84199,5.29953,-3.00861,7.78927,0.169459,-2.71343,-2.2563,3.58558,-6.06727,5.15189,9.53853,6.26427,1.13689,-0.439613,1.59541,12.9017 --12.9546,0.996539,0.324332,5,63,0,39.6049,-0.864532,2.63046,1.69397,1.11266,1.16094,2.60879,3.40057,3.26931,0.712506,2.09477,2.13356,5.33439,2.93542,4.311,-2.33211,8.16268,3.05704,-4.13598,-0.916373,1.0573,-3.54373,5.31283,10.6841,5.73665,-1.50751,-2.1664,0.589966,13.1472 --11.3434,0.996835,0.501998,5,31,0,26.0646,0.278763,0.225685,0.774697,4.30371,1.02722,1.73702,2.50414,5.63785,-0.219882,5.76346,3.47832,4.0143,3.11214,-2.93843,1.90496,7.50052,4.97332,0.120791,1.26732,-0.811996,3.69227,4.8467,8.7847,10.2217,2.8091,4.89376,3.52435,8.09293 --13.3521,0.902608,0.846037,4,31,0,23.7941,0.174717,0.287707,1.36389,4.68897,0.191149,2.65674,2.3574,5.95755,-0.403444,5.61174,3.29622,3.98594,3.46579,9.71105,2.51425,3.24427,-3.03878,3.87153,4.73137,8.64601,0.21346,4.82217,-3.64307,3.45425,-5.03432,0.979215,6.34784,1.42638 --13.6705,0.997679,1.11764,4,15,0,26.5585,-0.135786,1.43744,2.83178,1.55407,2.05566,1.48773,3.20297,1.8531,-1.35601,1.6183,0.69966,2.1202,-1.31026,-0.37209,4.37289,-1.6874,3.69743,3.10077,1.81823,-2.79975,1.71868,-0.56815,10.6812,5.0776,3.72681,5.77855,-6.16069,-0.394769 --13.6705,0.00100456,2.03666,3,7,0,30.4711,-0.135786,1.43744,2.83178,1.55407,2.05566,1.48773,3.20297,1.8531,-1.35601,1.6183,0.69966,2.1202,-1.31026,-0.37209,4.37289,-1.6874,3.69743,3.10077,1.81823,-2.79975,1.71868,-0.56815,10.6812,5.0776,3.72681,5.77855,-6.16069,-0.394769 --12.3841,0.999672,0.162103,6,127,0,28.3913,0.451685,2.24481,0.832238,1.9074,1.77233,1.15669,2.39578,5.57261,2.11891,2.24523,1.8802,5.21682,-1.61092,1.8277,2.10765,5.79967,8.23116,-6.61218,2.5612,-3.55669,1.24772,1.51299,9.81041,0.240902,3.26797,2.47161,3.60893,4.71353 --15.9217,0.985545,0.303059,6,63,0,26.4453,-0.420782,0.0225412,3.35477,4.6611,0.337796,2.49552,3.49239,2.04925,4.10119,2.73727,3.00449,3.57058,3.5462,2.58051,3.71889,2.61619,-4.11808,5.79694,5.95965,13.4631,-2.29712,-0.945851,-1.37442,6.80029,-4.19748,16.014,-2.61382,6.28696 --10.953,0.992237,0.546739,5,31,0,26.2398,-1.3184,0.898324,1.3356,3.14773,0.047731,2.04305,2.89215,5.48675,-1.11451,2.88596,3.16211,3.46647,0.445489,2.12027,2.51103,6.05797,12.3034,-4.23255,3.40209,-1.17731,-0.614662,2.69478,4.34922,-0.198407,-1.2098,-0.033775,2.40848,11.0448 --7.89356,0.986054,1.01041,4,15,0,17.6344,-1.40581,0.874601,1.36515,3.21445,0.0698834,2.06735,2.95208,5.50104,3.0569,1.32188,2.80287,4.64056,2.30919,-2.4462,2.53128,0.142838,0.12968,1.07553,1.23256,0.214573,1.98136,5.65454,8.094,2.82536,-4.01401,-4.08759,4.56891,6.80127 --6.67256,0.0886246,1.82908,3,15,0,15.8571,1.24355,0.757626,3.43658,2.72016,1.48183,1.51902,2.42048,2.37446,-0.977734,3.10864,1.90332,3.68924,-0.316009,2.80859,2.10447,6.02448,1.66374,2.93964,1.66467,5.91823,-4.34067,1.0508,2.93518,9.7263,4.16035,-1.51483,2.39751,6.63648 --12.0713,0.996546,0.200897,6,63,0,24.3458,0.937147,1.4051,3.64249,2.78421,0.75792,1.68391,3.46822,3.17474,2.54887,1.17596,4.30984,1.26085,-2.02499,4.4273,8.30409,1.23067,0.829249,2.97932,2.08129,3.4772,-1.93515,0.0968298,10.6961,8.53248,3.04389,4.38361,-1.02062,18.7441 --12.0184,0.999337,0.378573,6,63,0,21.216,0.580893,1.73497,2.88283,4.20456,1.94062,1.96791,3.51321,3.53876,0.123257,2.06702,1.61622,6.93092,-1.59443,4.9095,8.1497,2.23193,0.562628,3.11889,5.67344,-1.46803,-1.97445,-1.92105,-2.44691,6.21089,-1.35373,-1.28081,6.72658,-10.903 --12.9585,0.912118,0.715108,5,31,0,21.4726,-0.532489,-0.160313,2.49919,2.31963,1.27157,0.781201,4.28328,2.3818,2.46087,2.40656,3.60522,1.88591,-1.23775,4.43893,6.84677,2.41945,-4.58331,-0.411434,4.44398,-3.88952,2.11828,5.26558,4.25807,2.90225,1.42258,3.78184,-0.512051,18.0344 --19.9617,0.442986,1.02698,4,15,0,37.7448,0.582903,-0.37097,3.51793,1.32219,2.05358,0.567999,3.29253,1.1857,2.75564,5.98067,0.92669,2.67453,6.05826,-1.78212,3.89374,2.73299,6.04925,3.44847,1.19687,11.4879,-6.27262,0.177186,1.92518,1.19331,3.02593,-3.2194,7.66814,-1.86354 --15.2755,0.999409,0.354292,5,31,0,33.6362,0.15479,2.64176,0.362301,3.89953,0.090774,2.42089,2.9094,6.48635,-0.376248,3.8142,3.14327,4.47965,-4.77731,6.87178,2.35363,6.00321,0.546916,0.368802,2.71339,0.267121,0.783419,1.44726,-8.02149,-0.543943,-7.49901,4.13435,2.49791,2.58918 --16.303,0.992796,0.662737,5,31,0,28.492,-0.145738,-0.66672,3.49253,2.24147,2.29325,1.68552,2.92251,1.64675,3.17242,-1.62542,1.86386,4.8084,0.20032,8.48766,1.89521,1.76049,1.45913,1.97716,7.42147,7.3415,1.44777,2.65732,13.8355,9.1979,4.6264,-4.17527,5.20046,3.74129 --11.3856,0.999521,1.20411,4,15,0,22.8433,-1.61185,0.439896,1.76914,1.9305,0.986018,1.75939,2.19901,4.31276,0.619381,4.59793,4.41458,3.48741,-0.485958,-6.45967,5.18605,5.53291,1.8919,4.83845,0.525161,8.72075,-0.990612,5.74136,10.9367,4.97034,6.09658,-0.0640048,1.78246,5.9023 --11.3856,2.36807e-019,2.21072,1,3,1,25.9594,-1.61185,0.439896,1.76914,1.9305,0.986018,1.75939,2.19901,4.31276,0.619381,4.59793,4.41458,3.48741,-0.485958,-6.45967,5.18605,5.53291,1.8919,4.83845,0.525161,8.72075,-0.990612,5.74136,10.9367,4.97034,6.09658,-0.0640048,1.78246,5.9023 --13.4235,0.987467,0.214568,6,63,0,26.4792,0.55357,0.338447,2.57795,4.63294,0.595543,1.8441,3.64273,3.93001,4.3707,1.74997,4.5834,3.4594,4.17482,10.8124,0.116025,2.1296,-2.76985,0.569728,5.21757,1.66366,-4.52738,-0.758396,1.20239,1.72753,6.02938,-9.08322,5.31722,5.78307 --11.6267,0.981864,0.382298,5,31,0,25.3119,-0.575738,0.343063,1.57363,1.75436,1.39808,1.96704,2.71709,4.13446,1.98368,4.13716,4.68108,5.77326,-3.85151,-6.23784,5.13427,6.11951,7.46675,3.43153,0.407071,4.81647,1.88161,9.84083,3.6958,2.05753,2.96253,-1.08548,5.83665,4.33007 --11.5502,0.741834,0.663913,4,15,0,29.379,-0.407792,1.19262,2.45766,3.95793,0.348376,2.21539,2.4039,4.07035,1.99199,8.83875,0.940501,5.89454,1.63811,0.569871,5.3815,3.77141,7.29116,-1.00774,1.74302,3.66179,3.83498,9.2718,6.0896,3.16561,1.61409,2.70694,4.77303,5.06324 --9.44307,0.971261,0.575434,5,31,0,24.4434,0.362226,1.01115,1.52108,2.31244,1.10325,1.96886,3.33778,3.72021,-2.58529,-1.09785,3.19433,2.67891,-1.85092,0.609477,5.72013,2.95857,8.69394,3.21653,3.92103,6.50703,3.52421,4.12423,11.2325,-1.20093,-4.52603,-0.526511,0.131063,3.43035 --14.0271,0.479952,0.957772,4,15,0,26.6806,0.00270772,1.05565,2.20246,2.82194,0.95191,2.41462,3.01671,4.21697,4.76006,4.80724,2.57761,4.93098,3.38114,2.30091,0.852279,3.7134,-7.09418,4.42532,8.2951,-6.36212,-4.05652,0.253565,12.448,-0.419755,-5.04975,-5.02915,3.30492,4.73688 --11.8232,0.861744,0.397662,5,31,0,28.8177,1.30605,2.16767,3.18853,3.41646,1.5673,3.66681,3.23459,4.25984,-2.54324,-0.388975,2.69671,3.13028,0.00471664,3.7587,-0.258148,6.94265,-4.60107,5.33737,3.82,0.949018,-5.66509,-3.94254,1.55815,6.20324,-6.27207,4.28517,3.51666,3.01976 --12.2058,0.994605,0.485318,5,31,0,26.6584,-1.14529,1.56376,1.71793,3.37367,2.46151,2.38892,1.81728,3.14136,-0.960468,0.714126,0.049822,2.864,-2.30762,3.84424,-1.62562,7.30716,-2.74068,4.71962,6.36823,-1.16238,-3.89797,-5.81788,1.0968,6.90245,-4.98418,4.95194,2.11422,1.1577 --15.3987,0.980415,0.852036,5,31,0,23.6574,-0.690236,1.7542,1.15005,4.35208,1.16748,2.54622,3.2513,3.68415,-3.41723,0.948107,-1.10062,1.60117,3.98281,1.16965,7.03724,2.38032,2.39121,-1.06447,-1.55302,9.14665,7.75647,9.88057,-0.827901,4.29314,3.18141,-3.71925,11.8346,-1.9401 --10.1167,0.453409,1.42544,3,15,0,32.8683,0.619742,0.308085,2.86125,1.65404,0.856728,1.44597,2.77769,4.41177,2.61529,3.29537,1.9758,1.56651,-0.376746,0.134333,2.19261,3.48561,-0.195021,2.27611,-8.19465,1.58501,5.2132,7.62671,4.19973,4.43135,3.26061,-0.810595,8.12488,-2.92896 --12.2246,0.862519,0.565098,5,31,0,24.3345,-0.132558,1.36474,3.35147,3.92868,-0.358566,2.0785,3.30363,4.17437,2.97237,4.07672,0.759727,4.03194,-2.57727,0.880916,-0.0337475,1.51586,-1.25206,0.364824,-7.71484,-1.8632,1.58532,9.02559,3.81826,4.04827,-0.39408,0.341574,5.16317,-1.92962 --13.7125,0.978811,0.684673,5,31,0,24.1878,-0.00424073,0.88354,1.59168,1.12864,1.04413,2.62264,2.26824,3.32154,0.441721,-2.13481,7.0037,4.78189,-0.22523,2.66686,-1.39642,4.78434,6.50651,2.72782,11.7054,7.11858,0.492374,-5.83238,1.4626,3.92878,5.22326,-1.07843,1.34653,9.18487 --15.0045,0.586495,1.12829,4,15,0,25.6974,1.22577,1.25382,0.516768,3.89969,1.1819,2.93057,4.25278,6.21319,0.863924,2.90171,-0.405051,4.60368,2.96067,0.190764,6.64818,1.48847,-5.32786,3.34251,-5.01689,5.47825,-1.31977,-0.840009,5.73911,6.67636,11.9601,-2.17737,3.18174,6.56143 --12.8081,0.985797,0.652033,5,31,0,31.5814,0.259444,1.67233,3.01401,3.16333,1.33175,1.44162,1.07082,4.0869,4.08198,4.2035,2.67911,2.13495,5.79599,0.860326,1.34719,4.52594,-4.72589,2.42293,-4.41313,7.75435,-4.31313,2.09663,3.98434,7.53825,11.2308,-4.776,4.44534,5.76792 --10.6963,0.765136,1.08607,4,15,0,26.5875,0.0363619,0.616986,1.48172,2.75895,0.785455,2.77035,4.90171,4.0885,-1.79328,5.64881,2.69224,4.12446,-1.87911,2.56269,3.93079,3.01861,5.70439,-1.64948,9.09269,0.415188,-5.38312,9.22938,4.62675,3.73512,0.691134,6.28909,-0.112118,6.92363 --14.429,0.499868,1.00911,4,15,0,26.9969,0.106111,0.69963,1.55812,2.73412,0.676505,2.93274,4.86165,3.9978,3.76728,-1.70993,3.22205,3.94486,5.66967,-3.46713,3.89573,8.32957,-3.09426,1.10557,5.7446,9.74646,5.97459,5.40945,5.61105,0.94549,1.68095,6.69124,4.5459,16.5027 --12.1638,0.988941,0.472386,5,63,0,25.9357,0.382088,1.73005,2.10714,2.96979,1.63912,0.573031,1.09528,3.57352,2.58186,4.34099,3.16415,4.6106,5.70619,0.884496,8.18583,2.3764,-1.26098,1.33029,8.46286,10.2733,3.36373,3.61121,5.70773,6.23439,-2.49838,12.2933,5.0713,8.28936 --11.3548,0.992297,0.785693,5,31,0,23.372,0.282795,0.535141,1.94541,2.99709,0.240419,3.48179,4.62102,4.10191,3.65541,-2.31158,2.03072,3.09616,1.81043,3.33852,6.02013,6.18754,6.76612,1.49418,1.87317,-2.53271,-1.40268,0.382204,0.29375,1.78842,4.35512,-4.45463,5.05762,-2.2375 --13.8176,0.255029,1.30775,4,15,0,28.7194,1.00253,1.07376,1.86246,4.71864,0.667264,2.80667,4.24229,5.54325,0.827641,6.83479,2.97907,6.18368,2.01899,8.88907,0.943925,2.39594,2.24485,3.78357,3.13382,4.25361,-8.47762,-1.20263,1.50556,5.76449,2.9204,-3.87677,0.329911,4.07283 --12.7063,0.999978,0.334512,6,63,0,24.2856,-1.09939,1.0505,2.86341,3.65237,1.40702,1.85983,3.54881,4.86065,1.52398,7.75382,4.20814,6.3037,3.39544,8.24166,1.85228,4.46019,4.60245,4.96339,3.57336,5.44472,-7.93798,-2.36749,1.16781,4.19281,1.32399,-2.89521,-0.567672,4.30873 --16.8872,0.999037,0.566832,5,31,0,25.833,-0.634905,0.82453,2.88243,3.47336,1.27835,2.1624,4.05478,4.44473,-0.302007,-4.0883,2.44866,1.1337,-4.18499,-2.8821,-1.37207,1.89497,0.160173,3.90489,-0.44225,10.7434,-3.18806,1.69153,5.13151,9.86356,2.06543,-3.18748,-5.51625,12.361 --22.1704,0.825296,0.950755,4,31,0,34.0098,-0.098066,1.44039,2.64031,4.48054,2.20697,1.25131,2.7447,2.51681,5.02835,8.21792,3.08747,6.50321,5.3968,4.16407,4.0564,3.50507,4.25904,-3.79281,2.08634,-3.94428,-0.694634,9.50402,1.84511,1.81188,5.42748,-11.4373,3.3483,16.3095 --15.332,0.974637,1.0296,4,15,0,33.7806,-0.514641,1.10272,1.88519,3.88165,-0.143289,1.75047,4.13232,4.29353,-2.83458,-3.79153,0.286044,1.6643,0.760189,2.87398,2.39825,5.49518,2.00695,5.12525,2.0768,0.913486,4.21604,8.39347,-2.14928,10.725,9.09265,-8.2899,1.56386,6.36389 --13.5228,0.200554,1.60724,4,31,0,33.3226,0.943553,0.632086,2.2299,2.16515,2.06366,2.28819,1.89687,3.58299,2.57539,5.32899,4.96127,6.77196,0.86135,2.24134,1.04112,0.16579,-6.09185,4.07581,9.41824,0.431247,6.30558,-2.06655,4.60689,0.0416915,0.333199,-8.42096,11.2698,2.1654 --12.8411,0.999786,0.377274,5,31,0,22.3277,0.807187,0.254122,2.23915,2.48865,1.72593,1.74007,2.19279,3.98522,-0.32183,-0.637312,0.36422,0.338587,-1.59888,2.60591,2.53278,8.90539,4.34473,4.5413,3.49187,3.03771,11.6261,-0.467605,7.72569,1.03025,-2.397,-9.87137,8.09168,3.18144 --12.3151,0.870487,0.62632,4,31,0,31.2023,0.271449,3.0324,3.10868,3.92545,1.70845,1.5256,4.22842,3.72232,2.94309,-0.655142,-0.434208,2.30062,-0.648573,3.03409,0.106073,8.09465,2.15921,2.85396,5.63619,4.59,4.42036,2.56495,8.14715,-1.00574,-2.39977,-7.24643,7.39891,2.36499 --18.447,0.954047,0.756419,4,15,0,26.7651,-0.0266538,3.46657,3.28561,4.17845,0.52877,2.36741,3.69297,3.01521,-1.6966,3.8146,5.27818,4.91904,-1.29376,4.88474,-1.16278,-2.07584,1.51733,0.397181,7.96683,-1.85945,0.108635,-2.03444,13.2633,2.45636,0.298058,-11.4521,2.88564,7.68567 --18.7547,0.604917,1.11241,4,15,0,38.4751,-0.585744,1.67965,2.98458,2.57536,-1.13285,1.51986,2.19317,2.72935,3.31054,0.0535429,1.31602,4.09272,-2.19692,-0.669126,9.94874,8.99802,-7.53818,1.41102,3.7718,2.79153,6.33472,-3.42143,1.51582,-9.71777,4.13825,-2.03458,1.36032,4.67751 --21.2112,0.949998,0.71068,4,15,0,32.4916,-0.260061,0.816126,2.97792,1.98486,-1.5601,1.16408,1.7505,2.96197,4.3626,-0.812387,2.57264,5.17152,-1.76559,-1.21281,9.56526,9.78666,-7.73439,0.703334,3.11788,1.44042,5.27056,-3.6488,1.59157,-8.80321,4.22865,-1.91672,1.16659,4.54973 --25.8169,0.890242,1.03013,4,15,0,37.2876,0.520829,0.835074,1.31157,3.93283,3.70796,2.68803,4.99132,5.23096,1.1562,2.58182,1.90818,4.32972,3.79866,5.24574,-3.39797,-1.8409,9.8723,4.70386,7.51222,3.04258,1.61494,4.10286,7.7332,17.8909,0.960395,1.62964,18.5616,-7.48654 --22.5074,0.867582,1.29175,4,15,0,40.3142,-0.161755,0.254049,2.21218,1.56198,-1.18233,1.29765,1.29358,3.41855,3.79442,-0.900952,4.84421,1.5764,-1.77237,-1.5885,8.97135,10.1745,-7.17635,5.49971,0.115248,7.211,7.91978,-4.0174,3.48881,-1.99531,-10.6576,0.162176,11.7972,3.19409 --22.5074,0.155606,1.53199,3,7,0,32.9331,-0.161755,0.254049,2.21218,1.56198,-1.18233,1.29765,1.29358,3.41855,3.79442,-0.900952,4.84421,1.5764,-1.77237,-1.5885,8.97135,10.1745,-7.17635,5.49971,0.115248,7.211,7.91978,-4.0174,3.48881,-1.99531,-10.6576,0.162176,11.7972,3.19409 --15.0735,0.999752,0.349725,5,31,0,31.021,-0.162234,0.985316,1.86041,4.53934,2.66482,2.28468,3.87733,5.31984,-2.40305,6.00372,1.04984,5.09868,4.30359,5.52035,-1.45199,-1.88668,5.03612,-2.10131,4.0798,2.89772,-1.32309,3.90645,2.26011,6.51947,-8.42612,0.742916,4.26108,1.61339 --8.66363,0.907843,0.565244,5,31,0,32.429,0.676798,1.4386,2.12601,1.51599,0.198801,1.942,1.56447,2.53114,-2.12902,1.25939,3.36476,5.30297,5.23351,1.67644,2.91842,2.16109,1.52595,2.8609,-2.78281,4.8346,3.47633,-0.0731105,3.59278,1.64051,4.56633,-0.279897,1.65244,9.27794 --12.5449,0.80344,0.736179,4,31,0,26.3132,2.05534,1.4879,2.51129,0.431521,1.02835,2.18406,2.06047,2.42308,-1.64137,2.35246,4.92978,5.19984,5.70145,2.80162,2.89301,1.35073,1.14831,2.52569,-2.1567,5.93891,1.98198,-1.22677,4.03618,1.90086,5.21403,0.725267,1.58358,9.38681 --11.9754,0.999839,0.754119,5,31,0,19.657,1.72622,2.63103,3.05259,0.979525,1.30882,2.41702,2.52925,2.6658,3.32171,1.58735,0.80123,1.92591,-3.01178,0.27957,2.77359,5.44289,-0.759298,1.33938,1.45902,4.16372,6.1715,-2.52265,2.57671,6.7877,5.27161,5.97578,-2.55689,0.0176018 --13.2884,0.971117,1.20215,4,15,0,23.711,-0.495249,-0.167634,0.409502,3.77375,1.55611,0.682477,3.62998,4.69759,-1.44511,3.32633,5.19997,6.05977,4.71857,4.13669,3.32848,2.59374,0.439683,3.58843,8.10235,2.56601,1.22548,10.1292,1.77734,-0.0134687,3.94532,11.6818,15.3206,5.7684 --17.9966,0.179908,1.78662,4,15,0,32.9859,0.526144,2.21761,3.42718,2.375,0.532488,3.1183,2.84228,3.06774,3.8416,0.647738,0.352931,2.02207,4.38561,5.55171,4.64021,2.46829,10.2234,1.36247,5.13591,-1.27277,5.97138,-4.4578,4.27933,11.802,-2.31769,-8.13564,-10.8226,3.29358 --15.9299,0.992054,0.453906,5,31,0,29.1578,0.993213,2.60743,3.23704,2.46703,0.255628,3.49135,2.48905,3.94225,-1.33141,3.8233,5.93444,5.87264,-4.3717,-1.98267,3.31742,7.38521,-1.56373,2.74279,-0.103983,-3.68674,-3.50674,0.281579,4.4608,0.927542,-9.98191,-4.6127,-3.4702,5.8844 --12.255,0.946358,0.70725,5,31,0,31.0416,-0.588241,0.543138,1.6696,3.85439,1.37976,1.22283,2.95735,5.07288,0.603005,2.78341,3.4643,7.60594,6.48507,5.50649,1.14509,1.30012,0.0143376,3.7606,3.96577,12.8026,4.15957,-5.15588,3.41165,10.0808,7.03603,3.08346,-2.1575,9.82885 --19.183,0.580303,0.991301,4,15,0,34.26,-0.690733,1.26106,1.2975,2.23193,1.15686,0.420609,1.11464,2.42879,2.20777,4.26964,3.12118,4.03487,-3.43769,0.419024,4.98276,8.99418,-8.46189,6.91118,2.17381,-0.844298,-3.72274,-5.54167,-2.53928,3.08938,-2.59582,-5.38129,9.05517,17.3267 --19.0273,0.8865,0.621407,5,31,0,34.2081,0.667135,0.68971,2.73854,3.81109,0.724702,3.61096,4.99596,5.56134,2.14827,3.34698,4.71372,1.05254,5.33844,3.57258,1.10072,-0.979315,8.62154,-0.688539,2.45846,5.70665,9.95861,8.73364,2.19666,9.3887,10.478,14.8217,3.16956,-0.022935 --17.0291,0.944009,0.762146,4,15,0,31.6141,0.763176,0.453264,2.49347,3.47653,1.24257,3.83082,4.75931,6.39741,-0.547486,2.27121,2.36016,6.10841,4.83958,-4.83119,1.08585,2.5948,2.51602,-5.08772,4.75809,8.63038,6.39144,6.5459,9.05869,6.20944,8.54571,7.48566,5.55727,2.06624 --19.6339,0.515936,1.05597,4,15,0,39.5155,0.291487,0.621539,1.8144,2.14537,1.28681,0.526293,0.862905,4.10612,1.06091,-0.309296,2.16099,8.74608,-2.96779,8.53407,4.75506,5.51362,1.83375,6.48774,-0.611682,0.322232,-0.710566,2.08873,2.62107,2.59098,20.6167,-5.48361,10.6473,6.51892 --14.0118,1,0.580688,5,31,0,27.1653,-0.0679874,-0.643431,1.27936,2.26619,1.79419,1.84235,2.65813,4.15404,0.423006,4.54322,3.28648,0.790811,-2.4164,7.90523,5.20447,3.68216,0.392612,-0.37452,5.23647,5.97365,0.234062,4.1463,1.03395,4.67821,-17.1717,9.2079,-3.04468,-0.255347 --17.2364,0.812549,0.904806,5,31,0,31.0135,-1.31019,2.26584,1.68824,2.24534,0.33233,1.63968,1.781,2.84669,0.972164,-1.65072,3.97577,-0.730535,-4.50195,4.29307,7.70165,3.89168,3.48077,0.115358,2.07266,5.27692,-2.56333,1.00441,2.06038,15.4005,11.1213,-3.91593,3.21204,10.4697 --14.7675,0.972836,0.941717,5,31,0,31.0176,1.23218,-0.0290456,1.93333,3.80279,1.33005,2.24836,4.39646,5.83417,1.04039,3.1758,3.29422,2.34068,6.50534,-0.264992,-1.73741,4.03777,0.230044,4.0705,5.21257,-3.30094,12.4907,0.0215445,3.11373,2.9597,3.14036,2.86135,13.122,9.74984 --23.0925,0.400633,1.37485,4,15,0,37.8183,0.478177,0.558651,2.06255,3.53651,2.13909,2.2829,3.39027,6.30832,2.93173,4.02035,1.49195,6.38276,-4.04209,7.22133,7.92845,4.08388,3.24708,-1.24802,1.45542,12.5689,-12.148,-4.45668,-1.64058,0.432177,16.3308,-3.02612,-3.23822,-4.7758 --14.7513,0.947659,0.600053,5,31,0,44.4832,1.21662,1.64766,0.373254,3.61371,2.46428,2.66908,2.94345,5.90459,2.84078,4.19646,1.84911,6.53249,-2.39622,3.29429,1.16606,2.92231,-3.1154,5.24142,4.61711,-4.14945,5.73274,5.20829,3.06082,10.2467,-7.73537,-4.63186,0.607785,4.17856 --14.4465,0.89661,0.829626,5,31,0,26.1823,1.36216,1.43024,0.648288,3.73814,1.68693,3.17382,2.83962,5.39801,2.93687,3.05497,1.14071,6.62107,1.67766,2.95279,5.86028,5.63105,-2.82804,5.00506,2.72428,-3.99359,3.81898,7.10485,6.58179,10.2397,8.495,12.8959,6.01393,11.2901 --19.7289,0.619599,1.02783,4,15,0,28.1296,0.900098,2.07931,3.73269,2.95023,2.05903,1.85895,3.55271,0.95896,3.82808,3.41536,1.81991,5.46416,0.957492,-1.80928,3.19443,5.37841,5.64065,-0.505074,3.44327,11.7747,0.519535,-5.59262,-1.92187,-4.48277,-5.95806,-7.62252,0.0728154,-5.90518 --29.5732,0.852446,0.716106,4,15,0,41.2486,-0.563653,-0.926885,-0.31785,2.81336,-1.17442,2.50888,3.30742,6.0124,-4.67417,4.82507,0.882392,2.24164,2.4904,3.6278,2.15988,4.57921,4.00328,-0.0490614,0.833886,14.894,-3.29329,-3.8677,-1.88176,-10.5407,-8.80539,-6.39264,-1.19465,-6.04745 --17.7728,0.845495,0.808793,5,31,0,50.0487,1.02685,0.0703207,1.43211,3.31288,0.877981,0.492769,3.44496,3.17192,1.60501,1.60524,6.64653,4.01285,0.566122,3.25347,3.25478,7.97368,-3.89192,8.66735,1.13491,11.3012,-0.435072,2.9913,-3.13959,-0.558184,-6.56125,-2.68701,-6.07727,-14.834 --17.4324,0.847332,0.899376,5,31,0,29.9216,0.557843,1.66483,0.704451,4.53157,0.814351,1.48307,3.68351,4.75011,1.82463,1.82171,6.96488,1.71215,0.421935,0.950676,4.3532,6.44412,-2.99298,6.77633,2.82882,12.6281,-0.0163348,6.20307,-1.95612,-0.484969,-9.14093,0.412463,-5.41816,-12.7632 --17.4527,0.896712,1.00271,5,31,0,30.324,0.589881,0.72085,1.01813,3.87949,2.85716,2.00359,3.7323,2.93301,1.86819,1.14582,6.38686,2.16261,-3.20534,2.63345,2.96425,1.54867,5.30715,-2.82023,3.0571,-3.74766,-0.164217,-6.8653,12.247,6.16558,8.16125,0.595971,3.5355,18.9418 --15.4735,0.953573,1.23419,4,15,0,31.8795,-1.58318,0.579714,1.33036,3.44047,-0.2097,3.13539,4.02329,3.51686,-0.618306,0.834637,0.139055,6.36875,2.6379,-1.05764,7.08323,6.46245,-9.84189,4.78912,1.21665,2.60505,4.45185,-3.92877,-0.2313,2.25172,10.2907,-3.2852,9.80446,6.97904 --11.4158,0.24128,1.70012,3,15,0,27.84,-1.04268,0.805983,1.19823,3.62343,-0.316428,3.26556,4.52408,3.55472,1.74205,3.08204,3.70384,3.6372,-0.395798,0.805845,-2.36329,6.01783,-4.74241,9.00141,-4.36731,2.45727,1.55264,3.50262,2.68465,4.20283,7.81146,2.93705,1.02354,4.6976 --15.95,0.981187,0.558791,5,31,0,26.4147,1.96042,2.17026,1.86324,3.17981,2.3745,1.94537,3.19513,4.16835,0.387932,0.411123,2.69473,3.76736,-1.14221,-3.19575,-0.103345,5.6143,1.75758,4.53093,-10.4715,0.768731,4.84109,-3.88496,2.13154,-0.417053,9.9073,8.8218,6.10126,2.46321 --17.4114,0.634552,0.813913,4,15,0,35.1549,0.965,0.397493,-0.867183,1.42696,1.34944,1.89846,4.57422,4.39751,2.47291,1.73816,3.19364,0.306495,-2.93724,1.33277,7.88194,8.31643,8.15525,2.54153,-1.61995,4.84025,1.3012,2.92112,-0.638026,-0.556894,8.59791,9.49143,4.27512,0.235582 --13.0428,0.999163,0.59302,5,31,0,26.6352,0.870499,0.93974,3.2059,3.26646,0.763665,2.50718,1.76334,2.82396,0.834642,-0.0337284,5.56441,2.40483,-1.98805,4.0731,8.53792,9.26871,6.89632,1.90771,-2.19144,5.9516,2.71776,3.91229,1.55709,-0.723145,8.7716,9.27044,7.42761,0.914553 --17.55,0.995714,0.891418,4,15,0,26.6419,1.00202,0.766797,2.97609,3.24851,0.7784,2.48983,1.64707,2.97058,1.15368,4.03991,0.448853,5.58976,2.67188,0.772165,-1.05127,-1.44034,0.603649,10.1478,-0.146136,5.70839,-0.569851,-3.19512,0.0544128,-11.6559,8.95188,3.68885,13.078,3.53539 --23.539,0.298151,1.32564,4,15,0,36.1305,-0.39294,1.0062,2.28907,5.42405,-1.25996,-0.166693,3.42053,4.74062,1.17465,2.30049,5.58779,7.15266,3.98082,3.24665,0.883407,3.904,6.27676,9.65302,-8.1996,9.84114,-0.423462,-0.429744,0.990726,-6.32136,11.8105,2.21717,9.63115,3.49375 --21.9981,0.90964,0.500691,5,31,0,45.7649,-0.899092,0.243619,0.664149,3.55458,1.08804,1.11723,3.59312,0.553705,3.02928,-0.0207037,2.31278,-0.277573,-0.652005,4.90762,1.94458,9.64549,8.47235,2.07308,-6.5652,4.69527,1.39066,-0.0731588,1.98476,2.97062,8.7589,0.392818,14.1058,10.5374 --16.7574,1,0.628825,5,31,0,31.7551,0.444882,0.469993,3.35854,2.30888,0.0516264,1.4188,4.12829,5.83826,0.525266,1.38507,1.70134,1.05983,-2.46529,5.91263,2.10924,8.65525,6.314,0.340374,-5.77657,5.62798,3.73193,1.02407,0.799907,2.59898,8.97942,2.98563,17.6253,10.829 --12.7254,0.627784,0.939097,4,15,0,31.4082,0.112148,0.753366,3.47075,2.17266,0.112267,1.6816,4.12305,5.55314,0.576979,1.3349,1.45664,0.988885,3.09669,-3.96132,4.22427,3.39602,-4.02935,2.98318,11.7089,2.27265,-1.49624,-3.16342,5.48877,7.67625,5.01449,4.12546,-2.80655,1.89287 --11.394,0.873708,0.680691,5,31,0,30.8682,0.453937,1.84551,3.9915,2.42895,1.25478,1.08867,4.2346,4.72925,1.37296,1.88661,1.67623,1.90447,-1.87646,2.70902,1.44321,-0.231019,6.28377,0.156443,-5.1044,6.07687,3.26331,5.9717,-3.12222,3.76464,0.440328,4.61027,1.37671,9.61391 --14.9224,0.915297,0.79405,4,15,0,28.4563,-0.281933,0.0940854,-0.0131987,3.45332,0.766517,2.61905,1.72746,3.35936,-0.244504,2.41663,2.42658,3.45108,-3.12217,-4.10694,-0.87984,1.80452,3.32076,9.8556,-3.89921,6.63665,0.572123,7.95071,-1.26217,7.84331,1.97974,8.98624,-0.381008,10.9619 --12.8854,0.975029,1.0016,4,15,0,27.8212,0.786566,0.196143,0.583364,3.753,0.56542,1.96081,1.4508,3.82885,-0.188265,2.9836,4.00886,3.52702,0.353939,0.0865787,1.17989,4.33751,-0.870766,-6.08748,9.53715,1.73045,-0.581658,-1.80316,13.0986,-1.5692,-3.03788,-8.82783,4.71796,-0.172014 --10.5463,0.312546,1.41272,4,15,0,33.2678,0.806119,0.190775,0.595486,3.78283,0.580987,1.94754,1.4365,3.81895,1.38394,1.9607,2.86648,3.60526,-5.53625,1.7664,4.48219,5.99379,3.37548,-4.73809,-0.802234,6.19272,7.56064,-3.72724,5.48249,3.80849,-4.65883,0.653804,5.91839,1.49069 --14.5144,0.919239,0.565162,5,31,0,27.5916,0.737763,-0.650749,2.87468,2.20698,1.58766,1.34618,5.24289,3.89873,1.15863,2.34456,3.02726,3.71912,6.1522,0.175315,0.0217992,2.77614,-1.11345,6.93168,7.58288,-3.90715,-5.22668,0.593202,-3.07049,11.9273,1.28849,-1.5369,5.31119,9.65801 --27.0736,0.672688,0.716975,4,15,0,39.6973,0.426757,-1.43728,3.786,2.31437,1.67213,0.500095,5.61744,4.02269,1.04867,2.41523,3.66132,4.65729,-3.66368,7.38238,11.4993,8.19386,-6.25368,-2.7883,11.0371,1.45645,-1.97025,5.92305,-2.01182,11.7891,5.68295,-2.45491,1.03393,16.1546 --19.0425,0.971509,0.570858,5,31,0,39.1965,-0.848926,0.256282,1.99896,3.43998,2.68604,0.745336,3.19902,2.68225,1.11462,1.8268,4.41368,4.6176,6.73,-2.79846,-4.44959,-0.221565,9.71927,6.77595,-4.62834,5.44276,-2.20625,6.36817,11.4561,-0.722772,-1.83743,-1.21673,4.70008,3.64437 --17.4598,0.908987,0.796901,4,15,0,30.0082,2.67548,0.790473,1.49572,3.90044,1.41174,1.73817,4.60218,3.91837,-0.0341142,2.87958,4.2358,4.63781,5.32545,-0.770354,-1.61378,0.877115,10.3844,6.1314,-6.24463,3.70573,-2.72846,4.27025,10.6597,0.432423,-0.810136,-3.05409,4.78139,2.1866 --19.678,0.981385,0.987153,4,15,0,33.2505,1.09893,1.38644,1.9726,4.34693,1.83425,2.21611,5.10229,2.50543,3.33871,1.74176,2.34072,3.31394,-3.19516,7.66679,6.06143,8.04772,0.485271,1.57641,12.3157,12.5117,0.226576,1.30135,14.1011,4.34662,8.97555,0.434616,5.50787,-4.10595 --18.2396,0.975108,1.39613,4,15,0,30.4861,0.0789429,-1.25702,2.02002,0.70779,0.584211,2.05473,2.6676,3.43475,2.62211,3.601,0.21929,2.25537,5.14236,-4.09067,0.316168,-0.0124051,3.62052,-1.46029,-2.13967,-1.22919,1.74886,-0.823272,-2.0223,1.66101,-2.81166,15.7655,7.56537,-0.471688 --13.9956,0.0669312,1.94596,4,15,0,28.5648,0.353346,-0.891728,2.26236,1.47622,0.327218,2.64066,3.44845,2.90071,3.86605,1.47496,1.64248,0.723302,0.801525,-1.65888,1.52735,6.4474,-0.505482,5.33074,8.65585,9.04066,-2.20904,1.11918,6.10682,5.10425,-0.343636,-11.9428,-3.59484,4.07085 --11.5527,0.924075,0.508199,5,31,0,28.6497,-1.08664,-0.703038,2.17123,2.20532,1.80166,2.30273,2.34727,4.54681,-1.19703,1.9393,5.63331,5.39062,2.02453,7.43231,3.23452,4.26585,2.02506,6.66967,-2.05739,2.93361,2.77633,5.28591,-0.870032,7.98258,-1.40659,-7.71565,10.0034,10.1034 --11.9393,0.995732,0.645964,5,31,0,20.686,0.86026,2.58457,1.71216,3.95579,0.158216,1.75375,3.50233,3.45848,4.43341,3.70759,3.10866,1.07875,-0.637206,-3.52595,2.76563,4.10481,-1.71972,1.52223,8.65851,4.35898,0.912033,2.11968,8.15322,0.592783,-0.833548,-6.03329,11.0915,10.2589 --14.8148,0.804923,0.933932,4,15,0,26.6163,0.433633,1.96954,3.52334,2.96625,1.8092,3.78506,2.54309,5.06702,0.477544,2.35133,0.293402,1.18266,1.56908,6.7682,2.51589,3.60503,3.69151,4.30569,-3.31166,8.41474,1.57971,5.21918,2.05081,9.51078,-4.45976,14.1185,-1.27477,-6.18969 -# Adaptation terminated -# Step size = 0.839587 -# Diagonal elements of inverse mass matrix: -# 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 --17.3096,0.912766,0.839587,4,15,0,31.3288,0.620694,-0.117153,0.649115,3.58074,0.604721,0.878353,2.57891,2.57568,0.445331,3.12371,1.80518,1.41915,6.67667,7.43463,0.493523,5.8499,9.67562,2.40474,-2.0302,3.59475,0.0873912,8.74857,2.11082,10.6929,-5.0085,11.3629,0.861308,-6.89749 --10.1464,0.93777,0.839587,4,15,0,32.5462,-0.0706865,1.89177,0.822557,3.78565,1.11996,0.271527,2.68288,4.58357,0.904646,1.95541,4.56706,3.35728,0.894116,4.84047,5.96082,0.339995,-7.20997,3.46178,-0.171759,-2.74108,-0.7398,4.81157,3.09794,2.33757,-0.79112,8.34376,4.9156,0.749627 --12.7185,0.67664,0.839587,4,15,0,26.593,2.46045,-0.200071,2.06519,3.68712,0.913244,0.323938,2.21937,5.06525,1.74249,3.44541,1.95462,4.36932,3.30741,-1.75309,5.88666,7.98417,8.133,-2.13736,-0.727913,4.73638,1.72721,7.42687,3.5612,4.26402,4.29116,0.50127,-0.515827,3.18435 --21.9121,0.72534,0.839587,4,15,0,36.6168,-0.786572,2.09051,2.34394,2.5584,0.181011,2.71656,5.01596,5.15574,-0.572694,2.80129,6.2904,1.208,-2.02525,3.11356,-0.378917,0.485841,-12.4355,6.45374,3.37432,2.03893,7.30125,-9.25653,-1.81816,13.784,7.12022,4.63904,-1.00055,4.95936 --24.4295,0.746601,0.839587,4,31,0,46.3406,-1.14167,2.79567,3.5432,4.12733,-0.00733446,2.81835,5.1191,5.35262,2.94389,1.2298,0.078781,7.36294,2.68443,0.209894,4.1239,1.2356,6.23048,-1.35764,-6.45932,-0.12044,12.8427,2.53744,10.0367,-6.84839,2.10369,-6.95595,-3.87116,3.43937 --13.2944,0.998404,0.839587,4,15,0,32.2507,0.804589,1.13809,2.34351,1.78514,-0.157056,2.82529,1.3086,4.49866,-0.370975,4.00897,4.8129,0.204384,-0.64387,4.1213,2.07277,6.38609,-0.605417,6.26881,7.12493,4.66748,5.25367,-3.37893,10.1439,-4.61976,-0.936205,-7.21492,3.70253,3.53242 --19.0885,0.888344,0.839587,5,31,0,31.2566,-0.837124,0.342509,3.83456,2.37576,0.295952,2.44202,4.04857,3.56506,3.35508,0.694786,-0.846428,7.1997,0.868326,3.62227,2.38035,6.18395,3.01541,7.51933,1.16376,9.58604,-11.7958,9.26949,-10.3073,8.57619,4.40736,8.33156,2.8132,5.05767 --8.62617,0.987043,0.839587,5,47,0,26.0448,-0.0936385,1.4308,1.83786,3.68863,2.54515,2.77176,2.04696,3.57736,2.89679,-0.649151,0.844028,4.92749,1.25083,-0.303797,2.6546,2.06077,0.604308,0.122222,5.56491,-1.74444,3.11483,-2.87937,11.1858,6.78608,-1.49336,0.584578,1.21377,0.792087 --8.52597,0.796877,0.839587,5,31,0,22.7574,0.339932,0.197974,2.6214,1.97827,0.451773,0.908706,2.85267,4.0519,-0.144752,1.95108,1.33122,7.17966,1.88323,4.16695,-0.766786,4.95791,1.11973,4.40812,4.37393,-2.03716,0.0825178,0.0283813,9.29351,6.82287,-5.50786,-1.95985,1.18118,-1.85705 --7.70699,0.89241,0.839587,5,31,0,20.0046,-0.340792,1.68263,1.35757,3.98361,1.57934,3.29848,3.26915,3.91878,0.0412287,1.03885,5.52703,5.19055,0.387039,-0.281986,1.31643,2.15592,2.54522,-3.0874,2.55457,9.16929,1.90159,4.40138,-2.50582,1.32714,8.16222,2.39822,-2.54623,1.82385 --12.4207,0.773922,0.839587,5,63,0,19.6556,-0.561464,1.57532,1.31138,5.31039,1.22413,2.33539,3.48554,4.73979,2.3069,2.70082,0.8387,2.97959,2.54738,4.57001,3.5543,7.45151,6.04733,1.59773,-2.7553,-3.06654,7.67498,-1.512,-3.00375,3.65874,8.11145,-3.56572,4.04976,0.767614 --12.9715,0.610576,0.839587,6,95,0,31.2829,-0.386329,1.71925,1.25332,4.67971,1.53708,1.70224,3.17861,4.47618,0.667757,0.912153,4.56426,5.39174,-0.654437,2.81933,4.33467,2.16686,2.48615,-10.6278,-2.10427,0.531979,8.46743,-0.6198,-1.63101,4.77259,8.97246,-3.90837,0.716181,1.74823 --13.0471,0.967988,0.839587,5,31,0,25.5084,-0.639785,1.63089,1.32274,4.55734,1.40384,1.91472,3.41352,4.44684,1.09145,2.77372,1.18174,3.17264,2.13924,-4.17214,1.20095,3.52675,-0.718907,1.22355,-0.414132,2.72482,7.75053,-4.52771,8.43421,3.91267,11.0313,-10.5979,-2.27844,-4.92371 --13.1735,0.898703,0.839587,5,31,0,25.5453,-0.097206,1.34625,1.45127,3.09346,1.00043,2.82708,2.35782,3.91663,1.31681,0.926529,1.58738,2.81127,6.24864,9.11583,3.32742,2.28727,3.26812,1.46327,6.68648,4.92116,-5.75581,7.18683,-2.30296,4.64474,-12.0409,12.5966,8.82565,-0.422146 --15.1591,0.684304,0.839587,5,63,0,36.2606,0.137492,1.00695,1.41877,2.95638,1.22675,2.77068,2.65291,3.89321,1.05745,2.97534,3.75947,4.61976,6.72713,9.01321,3.56831,1.83398,4.77586,-0.529831,-5.93748,6.80883,4.30255,1.8687,9.02919,7.95081,13.7416,-9.07929,-3.42625,8.9413 --10.9287,0.737963,0.839587,4,15,0,25.2851,0.763648,2.05306,1.49747,3.03758,1.90681,2.56352,1.92092,5.56961,-0.739389,2.34507,2.06751,1.98144,3.82522,2.53652,4.69211,4.34537,-1.95374,-1.14574,1.27397,3.59185,5.92761,5.04008,6.42002,10.7121,13.909,-0.74457,-4.60359,8.05024 --8.68719,0.83075,0.839587,5,31,0,33.2282,0.683377,1.69505,0.986322,2.76238,2.35391,2.64438,2.30276,4.84615,-0.86957,2.23643,2.49013,2.17132,3.07624,1.6315,5.60353,5.03855,3.90328,5.07831,4.70499,4.32699,2.58499,2.90347,3.13813,-1.35229,3.26482,-6.47623,14.6331,1.00313 --13.4517,0.974788,0.839587,3,7,0,18.6582,-0.649643,0.705904,3.13312,3.76864,0.0485429,1.91852,3.96983,2.90434,0.711563,4.95029,0.847246,5.77943,1.2458,-0.791746,7.59116,2.36555,5.57181,7.56216,3.76,1.75669,3.43614,4.93033,5.00063,-2.59653,2.41233,-7.33752,16.4364,1.03505 --15.9974,0.597566,0.839587,4,15,0,33.5937,-0.798714,1.06442,3.17977,3.4199,0.727283,1.95569,3.73964,2.9718,0.651077,-0.602661,4.72679,2.54062,5.05275,-1.7748,-2.59561,5.30553,-0.917059,4.54552,5.24336,-1.26387,-11.6242,5.97448,1.5603,-1.12482,-0.175326,-11.3679,11.9026,3.85879 --17.357,0.510138,0.839587,4,15,0,33.1909,1.04072,-1.37751,0.5661,3.3649,2.52419,2.61341,2.92581,4.06879,1.25537,6.56055,5.08485,5.65803,-3.77112,4.08932,9.35582,1.94746,2.5451,-2.0194,-0.364408,12.2678,0.0684011,4.27779,4.37888,10.1103,1.67675,0.724226,3.01663,5.99314 --10.5927,0.839298,0.839587,4,31,0,28.9447,-0.722382,1.58811,1.49007,2.49326,0.233424,1.97388,4.06286,4.2701,0.798924,-1.86205,1.39558,3.42292,-1.30322,-4.99685,5.71959,3.31252,3.63356,1.16002,4.30272,10.1573,4.98504,-3.13419,0.372922,5.78558,0.583882,-5.32652,1.23631,3.33481 --13.1073,0.805055,0.839587,5,47,0,20.9952,-0.961627,1.03578,0.989994,3.09693,1.75642,3.24183,2.56953,2.94329,0.911559,-1.6509,2.4866,3.05581,2.86,8.91354,0.956719,5.20456,-1.93756,-0.807305,4.10386,-3.40469,-1.28939,12.7038,6.51234,8.24303,0.0384413,2.51629,4.33887,0.850135 --13.5358,0.847575,0.839587,4,31,0,23.9156,1.39847,1.29908,3.17488,3.27804,0.0628525,0.560358,3.49251,5.3348,-0.0632379,-0.30321,2.83001,2.58786,0.695048,6.54491,1.58258,6.15935,1.02749,-1.97183,8.7059,0.698722,-2.94368,15.9431,7.16235,4.5326,1.26321,6.29868,1.1734,3.16097 --11.0594,0.995768,0.839587,5,31,0,22.9132,-0.0916147,0.245756,3.0063,3.03994,1.09343,2.52,3.25565,4.54127,-1.00931,-0.0175774,4.36815,2.68898,2.58446,0.809274,-0.47888,3.90007,0.261546,5.49225,-1.42073,7.31058,2.89709,-11.0275,-0.206173,4.86572,0.75235,-2.32602,-8.06718,10.5246 --12.4876,0.563082,0.839587,5,31,0,27.0213,-0.54262,1.97386,1.39456,2.4562,-0.0054816,1.77301,3.09033,3.37214,3.12551,1.83821,2.57088,3.77368,0.632555,0.0171089,-0.945418,3.62895,-6.23188,10.3852,-6.46794,4.89609,-2.68449,6.62983,0.248013,5.06709,1.9153,5.12701,11.7496,-1.11702 --8.47872,0.942789,0.839587,4,31,0,21.1727,-0.312476,1.81325,1.5059,2.26061,-0.0712842,1.83063,2.88143,3.12766,-1.20777,2.42387,3.683,4.14863,3.45766,4.69702,8.99429,2.89146,0.408017,3.742,-2.38192,6.46004,-1.20238,1.00698,7.68446,1.50061,-0.384465,-3.2186,10.2742,7.89559 --12.5492,0.708415,0.839587,5,31,0,23.0386,-1.26713,1.20392,1.43936,2.53921,-1.15302,2.20217,1.5432,2.42772,1.43976,0.948959,3.70618,5.25005,1.82421,-1.35646,4.255,0.266225,-0.981041,2.0704,-0.367048,6.23244,-9.6378,-1.98457,3.7523,6.56921,8.61286,8.0882,0.669484,0.949631 --17.552,0.956892,0.839587,4,31,0,29.3007,-0.891631,0.407458,1.72807,1.60116,-1.38921,2.03581,2.13731,2.31103,-0.318616,2.7192,2.55517,2.98475,-4.60271,2.91793,-0.388338,6.51073,-5.44578,12.0917,6.32398,0.36629,6.57481,-1.62122,4.80969,8.55822,5.17781,6.31623,11.33,5.4052 --12.0581,0.999856,0.839587,5,47,0,26.3067,0.961443,0.195372,2.81958,2.78814,0.457931,3.08531,2.64941,2.60504,-0.73104,2.45311,2.79876,2.86536,-0.889698,3.66703,0.684369,7.22271,7.49879,-8.09476,-0.0344651,5.83178,-1.6894,4.62767,1.79012,-2.10971,-2.30899,6.39324,-3.86715,8.79354 --12.206,0.942901,0.839587,4,31,0,23.0134,-0.891667,1.80702,1.06917,3.21792,1.50741,1.08694,3.37851,5.5589,2.25705,1.29643,3.81219,6.71938,2.70762,0.167695,5.3198,0.809665,-4.58731,7.11127,5.44096,-2.14103,-5.31199,10.2174,7.93493,5.24672,1.57954,-1.35736,-0.81185,-2.17267 --15.3956,0.932718,0.839587,4,31,0,25.1415,0.956411,0.138365,2.91744,2.71207,0.405253,2.98641,2.57697,2.37187,-2.32412,-1.44553,0.889709,3.22756,-0.631011,3.90816,0.444843,7.44141,8.38047,0.217172,3.57289,12.8622,3.48776,2.8677,4.11176,2.70838,-4.64723,7.81592,-1.25989,14.5009 --8.02936,0.972934,0.839587,4,15,0,21.1414,0.0351468,0.988828,2.14184,3.5017,0.626496,1.34801,3.85569,5.2608,3.43351,5.25388,3.15416,2.88181,3.42754,-0.260159,4.95482,1.0977,-0.667068,1.62529,3.14676,-2.25835,2.05173,6.82183,0.0296707,2.46783,4.87441,-3.63729,-0.932277,5.78188 --8.6677,0.802155,0.839587,4,15,0,20.6494,0.184496,1.16087,1.48571,3.18882,1.43511,1.49782,3.80038,4.49926,3.69847,5.34684,2.8528,2.55441,0.175656,4.75239,3.34269,6.22405,2.29727,2.6553,1.44633,10.7309,2.15513,0.731387,8.49956,-5.43507,-3.26453,-1.33007,0.64292,5.27433 --11.4203,0.694635,0.839587,4,15,0,18.2254,-2.23059,0.648723,1.41383,2.70152,1.1359,3.64353,2.10857,5.03381,-2.41572,-2.318,3.31696,4.36705,2.53243,-1.25768,2.71588,3.65447,-0.93383,6.53317,-0.299373,3.89142,1.31019,4.07931,0.619633,4.33736,-1.28041,5.62196,-1.20842,3.18086 --14.8207,0.984779,0.839587,4,31,0,24.0611,-1.92257,0.894663,1.08786,2.47609,1.29063,3.57391,2.24932,5.06703,4.35379,6.08491,2.13598,3.65302,1.97864,1.26567,-4.23128,3.75552,6.17246,4.49065,1.83815,1.94675,4.06983,2.49679,6.24846,12.0767,7.54453,3.50963,0.787827,6.44046 --10.9609,0.99641,0.839587,5,47,0,24.1035,-0.316967,1.64031,0.34965,2.95499,1.76854,2.10798,2.67173,3.95198,-0.964584,-1.14869,1.6516,5.09655,-3.06134,-0.177852,7.55891,3.66054,7.55852,8.27021,1.86387,0.528884,3.13765,4.76093,0.272473,7.44911,2.92579,5.74124,2.43166,10.9756 --14.4991,0.88019,0.839587,5,47,0,23.4755,0.52042,2.80728,1.04361,2.67957,1.70519,2.95341,3.75468,4.37784,1.64975,0.110022,-1.50734,5.16755,3.98413,3.41801,0.29154,5.46499,-5.61299,-2.97884,3.4569,6.43334,-5.56361,-2.76945,0.682884,-4.81131,-3.92426,0.493704,11.8518,5.97333 --14.5824,0.894361,0.839587,5,63,0,31.1133,-0.370387,-1.32976,1.83857,3.48203,0.9838,2.76922,3.39115,3.78163,1.45494,4.27447,3.76882,5.79589,3.75481,4.93695,-2.10931,8.59573,9.26113,-3.53212,4.08948,4.46034,5.33198,6.17163,6.37007,11.2568,2.63698,3.35118,-6.67122,1.28739 --16.3082,0.721587,0.839587,5,63,0,37.863,-0.368706,-1.32379,1.8399,3.48952,0.964904,2.77283,3.38743,3.78205,1.71422,3.93967,5.04632,4.78874,2.75544,-3.61741,1.7071,-1.96948,8.148,-3.08956,3.43239,6.39388,7.70448,4.20261,-4.5746,8.90148,3.78161,-6.13784,10.1427,-4.16735 --9.23774,0.651152,0.839587,5,47,0,30.115,-0.208854,-0.586219,1.70698,3.61015,0.423436,2.80703,2.57178,5.19748,1.70123,3.93119,4.98044,4.8854,-2.13224,4.36957,2.67264,7.7679,-6.15957,7.14739,2.57565,1.50353,-1.33588,1.2036,7.84468,1.01763,-0.905211,1.71746,3.96271,0.234285 --12.7768,0.896332,0.839587,4,15,0,24.3343,-0.00102544,-0.738274,0.94497,2.33845,0.622971,2.49202,2.44278,5.09124,0.490194,-0.225058,0.0839956,2.43348,2.53811,-2.57066,0.871567,4.6312,4.94799,7.25855,-2.55951,2.50193,-2.05493,8.18919,2.8272,11.1797,9.88215,-0.277578,7.38869,0.668418 --18.0063,0.6165,0.839587,5,63,0,34.1613,0.0563704,-1.96509,1.47133,1.00418,1.96838,2.14345,1.66418,2.82405,2.64892,1.79235,7.38673,1.89993,1.76841,5.75131,8.52785,3.87161,6.14178,-0.913316,1.841,2.53928,-2.60166,5.20549,-0.315137,3.04439,7.02235,5.84506,10.3615,8.11107 --15.3146,0.952677,0.839587,5,31,0,29.2503,0.735784,2.16853,2.95361,4.14404,-0.118239,1.58774,3.52929,3.99814,-1.56085,5.44052,0.349972,4.80965,0.21932,5.07998,8.50905,8.3515,-6.17925,7.40627,4.66671,3.6817,4.58671,-1.09371,6.1008,4.50758,-7.40864,-1.71824,-6.5692,0.851672 --19.3302,0.874786,0.839587,4,31,0,35.8432,0.041099,0.880727,3.07299,0.786797,1.258,1.83686,1.8979,3.01992,1.51775,-1.23136,1.98312,1.56902,-2.21399,-3.48374,5.0857,0.968703,-6.94569,-0.333214,9.95382,-6.56884,-1.20963,4.73282,2.21232,0.902265,-5.90277,3.95822,-6.33176,-1.6236 --14.094,0.956874,0.839587,4,15,0,29.5707,1.92488,0.755209,2.16599,3.91508,0.763412,2.35035,4.8149,5.3821,-0.471171,5.47945,0.897934,4.13167,-2.85385,2.70196,4.24618,5.66959,-1.4448,3.00456,8.02739,-1.60164,-4.76408,6.17961,7.17846,0.0575805,-6.76335,3.75175,0.00586036,-4.43748 --15.9755,0.968669,0.839587,5,31,0,26.7313,-1.74323,0.963545,1.7461,2.7169,1.81399,1.36116,1.03712,2.96892,2.78976,1.89593,1.24246,5.47572,-5.31642,3.26824,4.91571,3.31195,2.20972,2.22133,6.98755,-7.51072,-1.54631,8.99908,4.83754,1.92088,-2.88348,4.43584,-1.10255,-5.74854 --11.4778,0.96024,0.839587,4,31,0,27.7298,-1.28159,0.984973,1.47557,2.64075,1.80451,1.49992,1.19893,2.73091,-0.430627,2.13996,4.75278,2.5923,2.458,5.00859,3.37142,4.02787,0.475793,4.31562,3.76514,0.160575,7.26203,1.47015,-3.19112,3.59147,-1.01718,9.96571,13.2562,-6.20394 --13.5568,0.711189,0.839587,5,31,0,25.069,-2.30551,0.689453,4.19204,2.50947,2.80975,3.5233,2.10909,3.579,0.0647668,1.23197,3.8008,3.04329,0.872963,1.53682,1.83789,3.73328,2.81473,0.534377,2.82741,7.28513,-2.90435,0.20899,10.3995,3.80826,9.91028,-1.08596,-6.80546,5.51741 --10.2848,0.825946,0.839587,5,31,0,24.3354,2.08483,1.27438,-0.0141255,3.39698,-0.684579,0.555608,3.81306,4.43436,1.51977,-0.918109,4.04573,4.15049,1.43993,2.74194,4.10331,4.36614,4.6318,3.37552,1.80196,1.94385,1.17202,5.30883,-1.58823,0.110443,-1.73079,2.0061,2.30996,2.68196 --10.8706,0.973867,0.839587,5,63,0,25.0623,1.48893,1.56054,0.79545,3.78476,-0.880666,0.590815,4.32001,4.17296,1.58193,-0.884853,3.95148,4.48901,1.38323,0.604979,2.90653,7.22331,-2.67413,0.517434,4.17344,6.0669,2.57686,1.35438,5.70661,4.29354,-0.854453,-9.95881,3.26448,1.36953 --12.47,0.983798,0.839587,5,31,0,22.2079,-1.89861,0.505458,2.81416,2.01913,3.07473,2.03918,2.39223,4.1501,-3.59493,2.50272,4.0632,1.33016,1.62547,4.2333,0.896913,4.62369,7.09945,0.499309,3.53084,1.68491,-0.451878,2.85957,0.631558,3.89904,1.55607,11.4636,7.44167,4.99847 --11.9877,0.752813,0.839587,6,127,0,25.9476,-2.30318,0.3331,2.2813,2.01591,2.79599,2.11267,2.47535,4.62525,5.69934,1.65809,1.96676,6.19356,1.41163,4.23171,0.981467,4.81693,-0.763126,-0.558281,-1.13293,6.35045,1.01398,3.62417,3.6476,3.60528,0.752371,-7.2148,-1.56719,2.40925 --16.0116,0.633572,0.839587,5,31,0,30.4499,-2.61631,-0.695852,3.53298,1.68997,2.99631,2.38396,2.34506,4.04413,5.83517,1.85451,1.94334,6.28375,2.14808,2.64047,3.72591,1.0706,2.82041,4.53434,7.09771,1.66294,3.70307,6.55228,7.0588,6.80695,0.246142,1.53933,7.67822,7.34608 --23.5908,0.89636,0.839587,4,15,0,42.5727,-2.89243,-0.87948,2.00302,1.83031,2.39006,2.60729,1.34942,3.5178,-2.92006,3.4803,2.0754,5.1836,-2.29232,2.46135,6.42921,10.4326,5.3143,-1.33368,10.896,11.2217,1.68232,-0.494249,-5.47886,-0.986367,2.95535,9.60096,3.99922,-3.77761 --13.693,0.955705,0.839587,4,15,0,36.7314,2.02939,3.01857,1.74083,4.72152,-0.0789838,1.08144,1.53263,5.27696,3.52595,0.906574,2.91121,4.98521,3.15391,0.390271,1.15302,-1.15753,-0.342495,1.71032,2.41325,0.137163,-2.54882,0.332945,4.29598,6.89529,-4.90398,-0.862823,4.10077,-1.28146 --15.1556,0.983024,0.839587,6,63,0,27.3617,1.88423,3.70989,2.15183,4.09494,0.66485,0.685823,1.69523,5.47865,3.65369,1.00323,2.99191,4.83789,1.13983,6.99405,5.46351,7.68014,2.33864,2.30212,3.54185,7.95422,1.98598,-0.294558,-1.7363,-1.76494,-1.71589,2.34143,-2.81845,8.61758 --12.7968,0.991597,0.839587,5,31,0,26.7405,0.916036,3.08559,2.6913,4.03619,-0.60858,2.17528,1.99081,5.84268,-1.01036,4.81102,2.89074,3.54521,1.42909,5.30944,5.07278,8.01014,-2.23522,1.49499,5.92641,0.8609,2.50867,3.78604,8.49234,7.41152,1.54042,1.04963,8.05385,-1.44686 --19.6658,0.97328,0.839587,4,15,0,29.6971,1.10784,2.9597,2.69939,3.81795,-0.54923,2.8015,1.75572,5.84992,2.48957,-1.20083,2.88757,4.41802,-3.13004,2.49076,3.5054,-4.35963,3.27056,-5.10772,10.5433,1.05245,0.75396,-2.8407,8.40094,6.57582,-0.0847276,6.09176,2.44409,-3.95418 --19.6886,0.840268,0.839587,4,15,0,36.9974,-0.903444,-1.38112,2.26048,2.83501,3.07973,0.988266,4.89261,1.86006,4.20174,1.96097,1.70688,3.67963,-2.71204,6.2382,3.63371,4.83926,6.56019,-4.49396,8.03686,3.27317,0.72939,-4.20376,10.1619,8.55157,1.08433,3.33374,6.7643,-3.53416 --22.4138,0.830961,0.839587,5,31,0,39.3054,-1.21738,-1.5769,2.82296,3.12926,3.10832,0.483047,4.86897,1.90216,-1.64366,2.19296,4.08444,4.65934,-2.23716,-0.4377,-1.5458,2.75294,1.66004,-4.07523,4.36229,4.63175,-7.9949,-0.580358,12.9042,1.42532,1.09352,8.62012,-4.86445,-4.08595 --14.7341,0.999354,0.839587,5,31,0,31.8144,0.541223,2.932,0.741817,3.0954,-0.782148,2.64244,1.47967,6.26742,1.02235,1.13753,6.18536,3.30953,-0.714454,1.22964,3.60923,3.11257,-0.487853,-6.08039,2.15627,3.29286,1.53602,5.43875,-4.11904,0.798876,-4.02193,1.19259,9.00894,8.27586 --13.1559,0.953234,0.839587,4,15,0,26.9956,-0.959197,-0.839656,2.90101,1.95591,2.4536,0.710967,4.52669,2.75314,3.08713,4.65491,5.82527,5.54419,2.92364,3.85286,2.2137,5.76758,-0.0339377,4.37828,-0.441215,5.48658,2.64583,-5.03391,7.09527,8.20393,-0.154063,-2.59844,6.63673,5.17994 --10.1383,0.98993,0.839587,5,63,0,23.3133,-0.59619,2.61473,2.22621,3.29978,-0.669655,2.68893,1.41107,4.61798,1.86162,1.57834,5.49472,7.28105,3.46984,2.65799,4.76779,4.5294,1.20375,-1.23353,4.09371,5.75766,-0.141535,9.30561,-0.90471,0.0503751,1.88701,7.80687,0.932596,3.90359 --13.9429,0.949759,0.839587,4,15,0,24.7337,-1.09646,0.981817,2.96765,2.8242,2.27475,2.44538,4.68343,2.15879,-0.641329,0.96908,-0.264953,1.48194,-1.24116,1.08414,2.18191,2.9568,6.94567,1.02602,7.47721,-0.176526,3.2249,3.76364,5.75031,-0.961909,0.613356,13.7365,4.34455,-3.42319 --12.2777,0.997885,0.839587,5,31,0,25.5276,-1.29447,0.0298463,3.08856,2.06029,0.838589,3.56816,2.26929,2.55166,1.69261,2.4801,5.31458,6.51059,-1.15871,3.57184,2.25505,7.14624,1.63848,3.93721,2.79518,8.99562,-4.71211,4.84634,7.7613,-1.52233,4.78508,8.82646,12.3452,3.37705 --13.1631,0.830468,0.839587,5,47,0,33.3939,-1.28857,0.0149313,3.07803,2.05868,0.843455,3.57393,2.26934,2.54977,2.24719,1.69255,4.12226,5.00626,1.23819,3.06681,7.36186,0.776179,2.58824,4.60223,3.03799,10.3795,8.97626,11.0994,8.09303,0.98819,1.73186,7.86289,-2.07982,2.55329 --11.7624,0.893207,0.839587,5,31,0,26.1499,0.122823,2.43582,2.29937,1.44439,0.140129,2.16075,2.36065,5.95497,1.08421,-0.684741,2.30397,4.51282,0.240989,2.57093,8.81279,0.40222,2.48823,1.3078,0.472313,7.33396,-3.58128,-4.76031,1.6572,4.88652,-1.62834,-5.63601,8.38121,3.40404 --12.4852,0.963898,0.839587,4,15,0,22.9072,-0.850633,1.30385,2.79011,1.74734,0.632455,2.14141,2.50706,5.90802,-0.041289,4.79472,4.60113,3.98089,-0.540904,2.01709,-2.82197,8.55459,5.3804,3.38959,5.47335,3.98919,-0.551,0.69578,-1.53666,0.901183,-3.27147,-10.5934,5.6443,-0.419529 --11.5357,0.980598,0.839587,5,31,0,23.2738,0.470042,1.26038,3.4296,3.6751,1.64318,3.29307,2.77029,4.63768,-1.80335,2.23848,-0.169526,2.64642,0.569158,-0.402602,-2.5288,6.87108,2.19959,0.164577,1.33085,6.46036,2.99195,2.95637,9.48543,7.00139,4.66349,14.2736,0.867393,5.21077 --9.5214,0.991126,0.839587,4,31,0,19.5143,-0.39047,0.733434,0.4168,2.38529,0.444734,0.715389,3.29581,3.3612,2.28374,2.9025,4.42913,4.69721,1.48104,4.42581,8.3798,1.08627,6.81994,4.12154,0.395068,1.35964,-5.41782,-1.98468,0.379273,7.12563,0.794038,7.024,7.18121,4.07545 --16.827,0.917836,0.839587,4,15,0,22.6134,0.0041343,1.80118,3.63479,3.97546,1.66715,3.86664,3.24303,4.62535,-0.561764,2.35108,2.65735,6.71957,-0.0592426,-0.972254,-1.1477,6.56734,-7.53558,2.06124,4.9019,11.0878,-2.42764,-4.66167,-1.06904,-0.622654,5.77566,5.81208,5.03898,-10.58 --11.449,0.960716,0.839587,5,31,0,25.8211,0.440658,1.5497,3.0784,3.50993,1.54913,3.42139,3.25325,4.77018,-0.511883,2.33927,2.77568,6.89315,3.08512,-0.173029,0.845151,5.71013,9.53615,1.98218,1.08653,-3.1165,5.8306,7.69216,4.04229,6.14448,6.6349,-3.13566,-3.00456,7.90753 --11.9478,0.993381,0.839587,4,31,0,20.6856,-0.394524,0.235335,1.46911,3.18325,1.42072,1.65127,2.38229,3.4616,1.18419,2.64995,1.78437,7.30475,-0.719777,4.22073,6.50996,1.6416,-6.67504,0.76576,4.38914,10.0892,-1.46969,-4.34725,6.33606,-3.3281,5.41896,-7.14875,2.90945,13.0226 --5.60775,0.837055,0.839587,4,15,0,17.7582,-0.39709,0.572305,1.35198,2.92728,1.45452,1.71314,2.76124,3.62159,0.796341,1.11952,4.09051,0.73756,1.86546,0.313083,1.40277,4.6,4.34437,1.04362,1.72291,9.3857,-2.35104,-3.12972,1.40545,-0.930727,2.41251,-1.65875,-0.724094,4.75671 --10.9976,0.724742,0.839587,4,15,0,23.5131,1.07651,1.52118,2.48203,2.69755,0.481617,1.85634,3.53955,3.45761,-2.5925,3.87654,3.61608,2.91348,5.57623,1.47133,2.15077,3.3178,2.87187,-5.18915,-1.62389,10.5693,1.22403,-7.94447,0.515944,2.74631,4.76864,-0.416121,2.75248,5.59898 --12.8265,0.768437,0.839587,5,47,0,27.3685,0.148403,1.75725,2.35434,2.44025,0.93856,2.21868,3.1515,3.56341,-2.73208,5.46737,2.50654,2.0681,1.72196,6.69235,3.90636,5.95882,-0.287287,8.88946,8.62843,-2.67124,3.75038,6.62349,0.539519,6.80937,-2.86,9.53164,-4.65993,-0.95938 --12.1054,0.658855,0.839587,4,31,0,25.9918,0.0638667,-0.411417,2.15268,3.86874,1.50258,1.84439,3.38857,4.37325,3.39944,1.41605,5.00712,3.3367,-1.36102,5.17056,2.37073,3.85027,0.466777,9.25274,10.8621,-1.9264,5.21127,10.807,3.37141,3.28037,-6.33676,8.52028,-1.492,4.48058 --15.6794,0.624807,0.839587,6,79,0,26.6358,0.720903,2.7416,2.63025,2.76937,0.140203,1.26715,2.82356,2.62023,6.1429,2.39885,3.05897,2.6697,-1.42692,6.24865,4.17491,1.42512,3.5056,5.1008,9.97072,-0.909194,-8.20481,-4.85772,0.6829,2.53012,4.91894,-4.15551,8.62669,5.07623 --12.8221,0.818058,0.839587,4,15,0,26.7841,-0.66036,3.39223,2.34756,3.24031,-0.984237,2.17495,2.11448,4.5443,-1.9941,0.680422,4.58887,4.98827,2.27201,-2.99026,-0.0530216,8.21618,-3.4348,1.7421,4.31714,0.874036,-3.07488,-3.42962,-0.0114133,6.16074,-0.103463,1.45869,4.3269,7.35635 --9.66506,0.98878,0.839587,4,31,0,23.0841,0.958879,0.449569,2.23258,3.47564,-0.23272,3.09313,2.37379,3.60199,-1.25445,1.81566,5.68917,4.40784,2.0228,-2.96263,-0.570615,8.90756,-1.40428,1.69564,4.18016,2.67183,-4.38519,-3.24443,-0.352755,2.72445,2.17291,2.5328,8.09458,7.70886 --10.1011,0.784169,0.839587,4,15,0,20.7998,-0.872598,1.57565,1.96097,2.74095,2.18411,0.857584,3.54162,4.25852,1.64682,1.24585,4.87223,5.46179,0.0261911,6.7867,6.66798,-1.16932,1.4377,6.21872,-0.283288,4.98612,6.59663,2.07198,4.32004,4.40872,3.46903,8.72993,5.07007,13.4223 --10.2585,0.909639,0.839587,5,31,0,20.6888,0.223678,0.802335,1.5913,3.15724,0.272139,-0.365751,3.41519,3.59399,1.46927,1.78079,4.69071,4.72701,-0.559306,5.27499,-0.324078,6.85765,1.31892,-3.06603,5.76575,3.66978,-2.72679,-1.51272,4.46457,5.26846,-7.76544,-4.59136,-2.89061,-3.73507 --19.1242,0.685198,0.839587,4,15,0,27.5,-0.873185,2.33614,1.65821,1.34717,-0.732394,4.72221,3.24133,4.82181,1.31545,2.06649,1.62662,5.75933,1.90038,3.20975,4.92871,-0.369919,2.55857,-7.66145,8.12999,10.5573,-3.22993,4.37219,8.96895,-0.619409,-6.61122,-3.09394,-1.53597,-2.59674 --17.531,0.996254,0.839587,4,15,0,34.7953,1.57797,1.04554,2.26534,3.88856,2.63649,-0.00426793,1.84081,4.6263,0.533331,1.67311,5.31314,3.77901,2.54798,1.58857,0.036305,9.36536,3.93606,9.14144,2.23669,0.763566,-0.597701,8.00659,11.4914,12.1255,-8.62622,-0.788683,0.758768,-6.34185 --20.2375,0.942329,0.839587,4,31,0,37.6691,1.79432,0.611979,2.38007,4.00509,2.39464,0.043687,1.54838,4.706,1.91674,2.41195,0.813214,3.86149,-2.85461,3.86689,1.38886,8.6947,-8.27016,-0.587169,2.69507,12.1409,-2.31575,1.66072,10.9933,11.7707,-6.11939,-9.40393,8.89033,4.50475 --20.8409,0.980919,0.839587,5,31,0,39.1992,0.899762,0.639018,1.66498,2.61254,3.38112,0.792454,4.16646,4.97781,-0.710188,1.72206,6.27497,4.22826,-2.70798,4.49836,1.784,9.69085,3.43746,4.09156,-0.34458,11.9992,8.12673,-0.456892,-2.63158,-8.62695,9.24148,13.3536,-2.6059,3.64091 --15.4453,0.865795,0.839587,5,31,0,34.8023,1.23311,1.14976,0.77969,2.37836,-0.0139242,2.32558,1.28026,4.78853,-1.35272,-1.47581,5.98159,4.23763,5.07209,2.6252,3.62464,-0.834095,0.662598,2.54594,6.78636,-4.02755,-3.84727,6.50394,7.66763,9.81885,-2.79928,9.41072,-0.313684,0.0459655 --12.2472,0.998809,0.839587,5,31,0,30.6259,-1.2693,0.656456,3.0972,3.70948,2.0694,1.6481,4.66793,3.26848,-0.271712,2.52419,2.17094,4.25046,-1.81608,-0.28699,3.38235,3.09034,-4.91575,3.97995,0.259465,6.50339,5.11832,-2.30367,-1.03555,-2.11798,1.49026,-13.8742,4.07949,7.5114 --14.068,0.876102,0.839587,5,31,0,26.6644,-1.54207,2.41098,3.12626,4.66668,1.5592,2.47784,3.94193,5.00873,1.79692,1.13938,3.6445,4.15341,-0.681745,0.710242,3.36777,3.16589,1.85254,8.00448,2.0599,2.15824,-6.63885,9.22439,-0.486619,10.2734,0.870627,17.5864,1.7446,0.256944 --13.3234,0.996358,0.839587,4,15,0,23.0199,1.48837,0.385745,2.1822,3.06303,0.430663,0.755869,2.74709,3.42828,0.723028,2.3384,4.04148,3.55847,4.90311,-3.52598,3.1303,5.44044,5.26557,10.8505,-0.648511,8.29837,-6.07438,3.52927,1.58001,11.1934,3.21138,13.452,3.89866,3.75656 --15.9762,0.680905,0.839587,5,31,0,30.7479,-1.3222,1.71359,1.7831,2.9557,1.48096,3.05135,3.07601,4.37111,1.38948,4.91319,4.28789,0.464787,-2.86441,7.34626,2.86411,2.41941,-0.388583,-5.93528,7.40427,7.13985,7.59566,-5.09539,0.328369,5.27282,-6.90309,2.61963,0.629162,-10.0222 --18.3702,0.750309,0.839587,4,31,0,30.9226,0.0665266,0.852099,4.51707,2.40746,1.051,4.158,3.14396,4.79819,0.436068,-0.34362,2.03146,6.53567,7.10945,-2.34688,2.98796,8.06018,10.544,1.56109,2.13247,0.205336,9.59703,-2.24944,2.80602,7.1171,2.80268,0.577638,10.576,-1.61392 --11.3445,0.993681,0.839587,4,31,0,32.9205,0.150612,0.741511,0.29845,4.29596,0.223671,1.34816,2.81992,3.78735,2.12839,1.14438,0.405555,4.85056,0.0388847,1.09908,-0.246072,7.77793,1.87692,-4.18915,2.69987,6.04082,1.64833,-7.6365,4.36644,8.66667,7.12336,-6.44058,9.23727,6.06697 --11.5595,0.807041,0.839587,5,31,0,23.4633,1.80323,0.618497,0.645638,4.20749,0.443443,1.44432,2.63673,4.76914,-0.341328,3.47961,5.94039,2.98207,3.26079,1.46979,2.54461,0.119772,5.59157,-2.46694,2.72516,5.76211,-1.14447,-5.59174,-0.109341,11.1115,5.70071,4.31359,2.44397,-1.82036 --12.1114,0.992216,0.839587,5,31,0,24.0437,1.28199,0.737472,0.941712,4.72224,-0.134786,1.50033,2.97878,4.2107,-0.170063,3.68388,4.90823,3.01279,-0.466946,1.05727,0.0534928,9.16081,-3.69622,7.6515,2.13841,2.93883,1.9255,3.58381,0.781605,-4.37978,-5.22424,11.694,3.00469,2.56769 --10.0655,0.88089,0.839587,5,31,0,26.964,1.14843,-0.0362419,1.07881,3.79814,1.46804,1.35988,2.53834,3.80731,1.68738,-0.605384,1.16263,4.58353,0.961763,2.96189,1.65136,9.16149,3.66625,0.361581,-1.63098,2.82459,-2.26378,-3.37956,4.35479,11.8092,8.61928,-5.4933,4.34774,3.52824 --9.10161,0.992752,0.839587,4,15,0,22.3397,-1.0329,1.73044,2.67476,1.92101,0.588666,2.6232,3.80226,4.29621,3.59645,2.81311,4.07685,5.25085,5.27459,3.83651,6.5588,4.56025,9.30316,0.535716,-0.359556,2.59298,-0.779866,4.63156,5.69678,8.96805,3.46612,0.359956,4.78293,2.96754 --10.9654,0.483129,0.839587,4,31,0,29.2231,0.92541,1.07506,1.08831,4.14461,1.32892,2.69406,1.93565,3.64022,-1.18565,2.06555,3.60115,8.58682,-0.197838,4.14698,6.53251,1.29266,7.41866,-0.237846,1.19754,4.83418,-0.879056,-1.0742,7.63841,10.8343,-4.07089,-1.62331,4.13194,1.5988 --14.81,0.695267,0.839587,5,63,0,25.5705,-1.08218,-0.764141,3.20637,1.1026,1.26531,0.0699188,3.96562,4.27187,3.63076,3.07694,-0.235184,2.58238,2.41008,-1.92547,8.35825e-005,5.64272,-0.369475,6.82397,5.1267,1.9764,2.88429,-0.596777,1.37886,7.0371,4.67739,1.67943,13.9789,0.280176 --14.7315,0.884882,0.839587,4,31,0,30.409,-0.00431764,1.3361,0.0309576,3.19817,0.778952,1.70673,3.24208,2.84074,3.16218,1.89055,-0.678347,-1.17322,-1.75536,6.61175,5.333,1.07055,1.78012,-2.33097,-1.25162,7.09718,-6.44256,1.31088,0.294922,0.293916,0.966222,0.555536,-4.74941,6.27538 -# -# Elapsed Time: 0.032 seconds (Warm-up) -# 0.015 seconds (Sampling) -# 0.047 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstan/output_warmup4.csv b/arviz/tests/saved_models/cmdstan/output_warmup4.csv deleted file mode 100644 index 69cfc9319a..0000000000 --- a/arviz/tests/saved_models/cmdstan/output_warmup4.csv +++ /dev/null @@ -1,248 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 18 -# stan_version_patch = 0 -# model = test_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 100 -# save_warmup = 1 -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 0 (Default) -# data -# file = (Default) -# init = 2 (Default) -# random -# seed = 721297525 -# output -# file = output_warmup4.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,y,x.1,x.2,x.3,Z.1.1,Z.2.1,Z.3.1,Z.4.1,Z.1.2,Z.2.2,Z.3.2,Z.4.2,Z.1.3,Z.2.3,Z.3.3,Z.4.3,Z.1.4,Z.2.4,Z.3.4,Z.4.4,Z.1.5,Z.2.5,Z.3.5,Z.4.5,Z.1.6,Z.2.6,Z.3.6,Z.4.6 --40.2408,0,4,0,1,1,52.9811,-0.911677,-0.74393,-0.0384146,-1.38241,-0.369228,0.744203,-1.84863,1.66237,-1.79712,1.48203,-0.392856,0.0999244,-0.192028,-1.21838,-0.62791,-1.42826,0.897633,1.89757,-1.28889,-0.942528,0.0751593,-1.29244,-1.64417,-1.01905,1.34992,1.79509,-1.5587,-0.141753 --40.2408,1.48915e-032,2.33506,1,3,1,49.9456,-0.911677,-0.74393,-0.0384146,-1.38241,-0.369228,0.744203,-1.84863,1.66237,-1.79712,1.48203,-0.392856,0.0999244,-0.192028,-1.21838,-0.62791,-1.42826,0.897633,1.89757,-1.28889,-0.942528,0.0751593,-1.29244,-1.64417,-1.01905,1.34992,1.79509,-1.5587,-0.141753 --25.399,1,0.230236,5,47,0,53.9983,1.57898,2.28379,3.30425,5.94291,2.38524,3.27444,6.62202,6.46026,4.20733,0.382482,1.903,4.45174,-1.06886,-0.272011,2.51159,1.0869,-1.82513,0.086033,-1.40807,1.29392,3.94344,0.702045,-0.56303,-1.36999,3.18112,8.2887,-4.83899,-0.533591 --15.6181,0.997544,0.239791,6,63,0,39.0915,0.0862465,1.11554,1.82589,0.0841481,0.46299,0.765856,1.08473,4.99742,3.62206,-0.35318,3.12988,5.54209,3.37724,4.88646,1.87208,5.42626,7.36652,4.72044,9.56036,5.22155,-5.79676,0.944533,9.90731,5.05998,4.31046,-0.454906,6.8344,2.2996 --21.9736,0.962173,0.322064,5,63,0,38.5565,-1.59723,1.52003,3.00505,5.77275,1.91303,2.19672,4.81247,2.31504,3.66196,4.5402,5.5989,6.68521,0.845974,10.7172,1.92604,4.40579,5.04492,6.23279,5.8395,3.82478,-8.23555,5.18408,10.751,4.30083,5.39787,-1.00244,4.95042,6.66348 --16.3335,0.999801,0.449805,6,63,0,35.5037,0.354986,2.40505,2.91494,4.57335,1.8807,1.0821,3.16101,4.16678,-0.872214,-1.74013,-0.888819,1.72585,0.86683,9.37379,2.20581,4.81375,-0.442069,-0.0947791,0.430547,7.9752,3.96395,-5.93703,-7.42494,5.59159,-1.60648,4.55076,1.9524,0.0933505 --17.33,0.888127,0.762725,5,31,0,32.1658,-0.559084,2.18396,1.42759,0.816487,2.29026,3.40065,3.13364,3.13385,-0.601609,5.84713,3.83875,5.61518,3.58413,6.86763,1.90607,7.27112,3.21876,6.15072,11.3215,1.04428,-1.3005,8.53553,13.5735,0.595448,2.33052,-1.84471,3.70451,4.25114 --17.9167,0.635632,0.961524,4,15,0,35.3348,2.03634,1.54554,2.01104,1.57264,3.53873,3.06708,1.96708,1.08564,2.56001,-0.045237,1.58705,2.63583,-1.59004,-0.114216,-1.47261,6.9255,-2.02982,3.04756,1.92754,-1.74485,-3.84086,-0.969539,3.43965,8.82781,2.48496,2.1002,1.05964,4.03292 --16.323,0.994608,0.560795,5,31,0,29.5874,1.27433,1.12311,3.43678,2.25155,3.0686,3.34087,2.82411,1.97942,1.80108,0.540837,1.52007,2.86568,2.80565,5.8199,5.54229,-3.14958,4.26849,1.58867,5.22889,9.10933,7.07045,7.10558,0.711972,-0.0959076,-3.97181,-2.65851,8.02519,1.06084 --18.9128,0.798286,1.02247,4,15,0,31.6423,-0.360134,0.523928,2.65763,3.39675,-0.886653,2.25896,4.97218,5.06827,-0.613758,4.57536,5.91951,5.11712,-2.80592,-1.67539,-0.0755035,11.1914,2.46492,1.26354,4.10691,-0.132682,-0.164608,7.25193,0.195309,11.733,13.3877,-9.34168,6.1109,0.816674 --14.2688,0.614223,1.01373,4,15,0,35.1322,0.46192,1.35219,1.36461,1.77559,2.58053,1.73891,1.39428,2.53922,-1.86266,-0.388615,2.02474,2.7209,4.02696,-0.813568,0.989843,4.45253,2.05501,-2.43325,0.020331,9.50817,2.70853,-3.13171,5.82797,-4.12322,-5.73697,10.6743,-2.59425,7.92908 --14.2538,0.998415,0.565197,5,31,0,30.6475,0.895439,1.67452,2.17746,1.70662,3.22106,1.43179,2.24602,3.46006,-1.78879,-0.758425,1.87484,2.75856,2.05436,-2.80701,2.43147,3.29599,0.353759,6.29181,5.85331,-0.885124,-0.0390908,10.7281,0.996347,9.01109,-9.42951,7.47653,8.40777,3.9964 --13.1167,0.607201,1.06493,4,31,0,31.8217,0.179317,2.25604,2.38575,2.83737,2.69978,2.27207,2.99377,3.44459,4.14407,4.42704,4.39889,5.28683,1.80626,7.82818,-0.52391,7.67755,-3.77671,-1.49648,3.9712,2.60551,0.923913,1.54317,-2.70478,2.00222,0.211406,9.02664,8.64181,-7.20396 --10.0526,0.896022,0.587628,5,31,0,24.1543,0.0296381,1.06993,0.719692,4.00706,1.25108,1.41644,2.14729,3.02184,-2.57888,-0.954049,3.22416,2.28333,4.83428,1.11624,1.13137,1.41874,-1.42192,2.26385,3.97024,3.72231,7.02,2.15205,5.12831,-0.310198,-1.28998,1.51511,7.25891,-6.2377 --12.3202,0.88588,0.805174,4,15,0,21.0055,1.20498,0.902226,3.37609,1.7904,-0.0452538,2.60652,4.40638,4.13102,-3.01437,-0.949227,3.74332,4.70496,-2.21158,3.01369,4.44798,7.01097,6.01236,-1.02268,2.35602,4.02303,2.4029,5.43918,0.0640483,2.00824,-9.23406,0.902433,0.372015,-2.12836 --9.74258,0.769986,1.06746,4,15,0,22.2942,1.23203,1.26289,3.50562,2.09837,0.0889444,2.46919,4.13898,4.02265,-3.5045,-1.28601,2.46036,3.45326,4.20352,1.43269,1.67682,3.45929,-3.7637,5.49346,3.91387,4.0538,3.17523,0.0985123,1.1771,2.26005,1.49497,4.22738,1.23312,5.8492 --12.9124,0.736863,0.988492,5,47,0,21.1159,-1.24117,0.0147336,1.36139,1.95741,-0.151039,3.89271,1.47925,2.92126,-2.66947,-1.44233,3.60709,3.79509,-1.55191,3.54394,2.40341,7.57142,4.0702,-1.55775,2.05373,5.20877,-0.663296,2.57134,3.21607,7.47778,-0.582713,-3.71815,-0.910806,-2.05662 --12.5223,0.887943,0.829211,5,31,0,26.7509,0.115805,0.309562,0.722145,2.13564,2.08307,-0.203246,1.78542,4.36241,2.10576,3.86426,5.02725,6.35093,-2.52531,1.81779,2.13715,4.90245,0.074769,4.25885,0.0905843,6.78038,1.34997,5.47824,-3.21487,12.6983,0.0692012,-7.79357,0.452673,2.24305 --18.345,0.350444,1.10356,4,15,0,34.7399,0.00715556,3.08309,1.43847,3.3567,0.820645,-0.414117,0.594254,5.68284,-2.43687,3.64937,2.63192,4.18228,4.33262,2.58285,5.64652,2.19397,1.98901,-0.757062,6.12832,-0.946109,9.17454,-0.70389,7.59338,-5.60084,5.95409,4.94573,2.44021,1.08584 --14.1497,0.989367,0.290778,6,63,0,29.2998,0.0587484,0.132006,2.14998,2.98867,0.714783,3.85072,4.88447,2.82618,-4.05659,0.823444,6.15316,5.51857,-2.29036,1.27806,0.855475,5.67894,2.26793,3.91873,2.16582,6.74813,-3.27796,0.628768,-1.23637,10.3737,-4.3691,4.34677,-4.13527,-1.48184 --13.7992,0.998677,0.526487,5,31,0,25.242,-0.243022,1.99457,1.87709,3.3651,1.45135,-0.0215868,1.22811,4.94986,-0.818825,1.2747,3.24181,5.15295,2.71229,-3.38383,-1.17886,1.2233,2.44824,4.21409,2.39001,0.924905,4.80287,2.93372,7.39222,-2.36114,10.6974,-0.0603038,13.4297,8.69976 --10.3886,0.975941,0.970903,4,15,0,23.5419,-0.364051,0.295084,1.89111,2.71466,1.01169,0.0743849,2.0245,4.05491,2.64231,3.05245,2.57209,2.71309,-1.07318,5.17778,-0.0951594,8.71467,-5.41365,5.66184,6.5501,7.83416,4.47218,1.41484,8.94756,0.858467,5.81977,-2.46107,5.43264,2.49182 --13.5353,0.334839,1.65857,3,15,0,23.8009,-0.341401,1.65311,-0.249532,3.29096,0.803403,3.18091,2.71206,4.2172,-0.339456,4.2195,3.02625,6.22141,3.14503,0.366842,-0.0397112,7.98294,-0.431756,5.21674,3.79701,14.2123,7.8996,2.70708,7.12521,-1.59648,4.16699,-3.72914,5.18105,9.35168 --15.1609,0.997831,0.435711,5,63,0,26.7033,-0.188392,1.90692,-0.234803,3.14154,0.744583,3.1767,2.71877,4.08583,2.266,-0.243552,2.94156,1.86191,-3.2443,1.55741,3.17568,3.16034,-1.4029,7.18649,4.07568,4.41492,17.3781,-3.43186,1.68917,0.0400794,-4.6565,-1.98502,-1.49781,11.0547 --16.183,0.787961,0.791419,5,31,0,30.6313,1.86769,0.631495,0.146983,1.95741,-0.545782,3.49912,1.6703,4.38647,3.23247,1.88566,2.68976,0.741264,3.56354,2.45518,3.75027,0.992404,6.04021,-3.31554,2.27686,2.52015,-10.6256,8.50319,1.6149,0.100161,-0.554924,0.564316,5.42193,0.581767 --11.7735,0.895856,0.781403,4,31,0,27.6281,-1.82663,1.46401,3.8284,4.02293,2.37831,0.469634,4.17699,3.55404,1.98511,1.93246,2.67776,4.14778,0.731512,1.3234,3.19243,-0.188723,4.93351,-4.88919,4.39009,5.33964,-4.93211,2.7128,4.56675,-2.67045,0.328196,2.23041,3.05428,3.54222 --13.694,0.632448,1.04771,4,31,0,30.987,1.61895,1.401,4.16321,2.67326,0.499167,3.32265,2.14676,4.72843,1.38252,1.58207,-3.24322,3.91069,1.61202,1.31167,4.29689,-0.267938,3.90317,-1.57061,3.75405,5.01896,-5.69147,0.714764,1.64473,0.856795,3.0618,-1.44829,5.16377,2.09097 --17.0463,0.995089,0.667081,5,31,0,30.4549,1.88259,-0.285653,3.44285,3.67396,2.40957,2.0987,2.16069,4.86556,2.15942,1.94068,-2.2446,2.64172,-1.11129,-0.576231,2.98839,9.88384,-0.960497,6.684,0.767134,3.0613,8.3808,-0.0490733,5.06059,6.75412,6.79882,12.2372,-4.37501,3.8116 --16.5576,0.913797,1.1751,4,15,0,31.2573,-1.24138,1.99465,0.9781,2.83093,0.439084,1.739,3.66107,4.13577,1.567,-2.5954,2.54942,-0.0454085,-1.74776,2.40859,4.44705,6.49592,-1.27678,12.5788,-1.12626,-1.03488,3.02464,1.7221,0.914537,9.5147,4.62776,14.6659,-0.931772,8.70087 --13.5181,0.300648,1.63819,4,15,0,31.9855,-1.15847,1.63878,0.674036,3.15052,0.435214,1.81144,4.10719,4.03422,-1.43438,0.576227,4.30077,6.07163,-0.110902,6.1405,1.29358,2.50454,2.25658,8.53215,-0.259109,0.326233,-9.85799,-0.386114,-1.8615,5.70419,-3.74161,-11.0857,0.557949,3.83087 --9.83773,0.994799,0.423642,5,63,0,22.7861,1.35682,0.977052,3.74066,2.72572,1.54994,2.30921,2.58343,4.18426,-0.691737,4.85903,3.48857,4.60382,2.08898,-1.79157,4.96439,5.33387,-2.47923,-3.24125,1.86718,9.25486,-6.9453,3.06165,4.23678,-0.581884,-5.17787,1.42196,3.69191,3.0601 --19.8866,0.775166,0.738102,5,31,0,30.6766,1.8247,0.456069,3.20295,3.00195,0.930117,3.86986,3.51458,5.83925,4.36142,1.02459,1.79509,3.5813,-1.58523,4.75271,-4.92046,1.76443,4.28507,1.31448,9.95675,3.51726,-4.9978,7.29359,8.18567,-3.76859,-6.44642,13.0136,-0.0581424,4.59651 --15.4295,0.998781,0.705234,5,31,0,28.4131,-1.20424,1.56796,0.352787,3.01308,0.255681,0.355819,2.64094,2.90057,1.44668,2.90501,2.68288,4.01006,-2.7601,2.18828,-2.33037,0.990493,6.99256,3.65099,9.93561,2.14729,-5.60252,7.46808,4.14472,-2.59211,-3.73558,14.2905,-0.234611,7.19804 --18.5072,0.66135,1.22557,4,15,0,32.6658,1.05572,0.0147449,2.84572,3.94076,0.302357,1.14132,3.19564,5.14969,1.45026,0.779685,2.49826,4.50288,0.626386,1.1376,-1.83641,1.74072,3.98107,2.53409,16.9145,10.0881,-4.0921,4.43587,12.3543,-0.382624,-7.30726,11.5114,-5.33637,5.1615 --11.8007,0.881218,0.863106,4,15,0,30.1714,-1.00559,-0.827656,0.0299341,2.73085,1.34806,1.78492,1.96383,3.72465,1.88109,2.78841,3.36908,2.93893,1.77072,5.23794,6.74896,5.64723,6.42938,3.99819,1.54639,4.20548,-4.28102,4.86857,-1.53323,-0.00195841,-1.90514,4.30731,-5.80258,13.5842 --15.1028,0.381785,1.08959,4,15,0,34.7327,-0.641775,-0.791003,-0.0702397,2.55077,1.06124,1.75524,2.03546,3.85389,2.45794,2.1984,3.84997,2.47116,-2.94867,0.625829,-2.71747,5.05772,-3.97988,0.263061,4.81563,3.56219,1.37901,6.3006,8.70666,9.02803,-11.3521,3.0221,15.128,9.05239 --14.3124,0.996071,0.372409,6,63,0,30.1675,0.0956265,-0.577004,0.684231,2.59352,2.0117,0.703174,2.46777,5.41775,-0.725505,2.61993,2.29284,6.25215,2.44116,0.227235,4.30307,1.51134,6.59939,1.55147,8.24839,3.55079,-1.93087,7.39294,-4.26368,11.0056,0.0548432,1.33853,7.69074,18.2091 --9.39268,0.988121,0.634662,5,31,0,27.619,0.133695,-0.710822,1.65136,3.55947,1.178,0.858134,3.01514,4.56729,2.44714,2.14897,2.23088,1.0091,2.17641,0.332403,4.48543,4.67899,10.2734,2.55479,0.477372,8.36495,-4.56516,2.45725,5.26358,0.563238,-3.84833,6.26794,3.5941,4.04096 --19.5905,0.593039,1.05099,4,15,0,28.9662,1.12632,0.184068,1.98098,4.29264,3.32019,0.314579,2.49034,3.98879,0.323943,0.63388,4.46065,-0.483574,0.457457,3.61295,2.07519,1.43286,-7.18641,-1.10402,9.34188,-3.73686,11.731,-0.52881,10.1256,2.99683,-0.514546,-2.72561,6.54741,9.3342 --15.0992,0.988871,0.630852,5,31,0,33.6556,0.136204,-1.24123,1.83164,2.49637,1.82973,0.407945,1.98808,4.93564,-0.129573,0.867912,4.48264,0.921021,-1.51414,3.45218,4.84116,3.23997,8.56568,4.61555,-3.39188,9.73433,-7.31066,5.36829,-1.32054,5.14902,2.35144,7.74044,9.61435,3.58751 --7.84343,0.998191,1.03862,4,15,0,23.0939,0.937532,0.883612,3.06109,1.84016,-0.0789411,2.18296,1.67693,4.6846,1.49513,2.7829,2.3491,4.92015,5.09552,-1.04121,3.36769,4.94204,0.795133,1.37384,5.68883,3.42178,5.41386,3.62351,-5.06647,5.72393,6.62796,1.98696,-0.365604,5.57218 --11.2867,0.1729,1.73738,4,15,0,19.3768,1.0509,0.803819,3.13406,2.04086,-0.255371,2.29588,2.10103,4.95318,3.78255,-2.05051,1.52294,6.22533,3.09941,-3.53184,1.45259,4.93344,2.71847,2.45234,6.79799,3.76146,5.4954,0.1173,5.18819,6.94004,-5.40213,2.61477,4.01791,4.3368 --12.4058,0.970499,0.368662,5,31,0,24.689,-0.538102,1.78679,2.31864,2.68038,1.29058,1.38343,2.4424,3.43626,-2.99747,6.53405,5.4737,7.49317,-2.14538,6.42525,5.19513,3.23764,-1.42349,1.09024,2.44067,5.16339,4.04417,0.876947,6.63595,10.3789,2.59257,-2.88133,9.40391,5.26035 --10.907,0.977697,0.575782,5,31,0,24.3312,0.628638,0.413863,1.71539,3.56042,0.889886,2.75356,3.56495,4.61455,3.4073,-1.40742,4.59276,5.54154,2.26684,8.72686,7.74806,6.347,-3.06464,1.43624,0.898345,5.71328,6.90786,-0.596785,5.35465,7.96827,6.37141,-1.67419,6.08409,5.04645 --10.9942,0.846914,0.909377,4,15,0,17.8032,-1.53092,0.67593,1.96492,4.68425,0.512315,2.35188,2.99215,3.55514,-2.72549,4.29344,1.35218,2.98128,1.60496,-3.252,-2.23167,0.202078,4.15564,4.52471,2.66987,1.94757,0.41138,0.884193,4.1352,4.60468,3.25063,-0.563964,-2.59919,5.40374 --12.1457,0.480973,1.03711,4,15,0,28.771,1.86583,1.28316,1.05037,1.95191,0.256596,1.8564,2.88858,3.71148,-3.34552,3.65263,2.02701,7.98639,1.81804,1.78053,6.2596,-1.31193,-3.83846,1.65441,2.76719,5.86146,-0.307837,5.02908,0.673415,3.08012,-1.87125,4.11785,9.15389,0.881907 --12.375,0.999228,0.48653,5,31,0,22.1849,0.940096,0.381831,2.51356,1.72672,1.01079,0.796928,3.63005,4.32874,4.45362,-0.103374,3.85367,0.870196,-1.40261,0.849608,0.376608,5.7473,4.816,-2.63938,-4.65781,6.20047,-1.68677,3.67496,-3.32845,-1.12439,5.83224,7.12023,-0.254803,2.22337 --14.5457,0.934796,0.802287,4,31,0,25.708,1.18239,0.349604,2.12339,1.62349,1.0674,1.211,3.44755,4.90207,-2.621,4.17994,2.35266,7.24346,1.96353,2.75497,3.88871,4.94499,-0.666254,-2.88377,-0.804797,7.87581,-0.651502,-0.856884,-0.391417,0.666888,16.4382,1.1018,5.75294,-8.67661 --7.46742,0.632371,1.12637,4,15,0,25.051,0.0173008,1.14238,1.65708,1.37687,1.31737,2.60389,3.77382,4.35878,-2.5035,4.40182,3.45939,4.6357,-0.0507276,0.0393952,1.93777,2.18628,0.745627,6.02432,6.59948,-0.787243,0.329428,3.84944,4.44676,0.628417,0.558998,1.55428,-3.28566,1.29056 --10.5323,0.794463,0.767976,5,31,0,19.828,-1.03062,1.84419,2.88748,1.96377,1.10213,2.10284,2.03032,4.54718,4.24395,-1.27939,3.30615,2.52199,3.96256,2.44554,3.95511,5.10901,-0.943301,3.00108,2.25899,1.55216,-1.36815,-1.94733,-1.72543,-4.51421,6.80074,0.677778,1.74032,-5.80098 --16.6368,0.865618,0.771133,4,15,0,27.4027,-1.14388,1.94524,3.05571,2.81279,2.42363,2.01627,1.47901,4.44281,-1.37215,4.73986,0.28352,6.02879,-3.68058,3.99153,5.74443,4.97403,8.63659,4.17493,1.48253,-1.63491,2.44414,1.77952,-1.49755,5.75424,7.99917,5.44527,-1.00804,-10.9254 --13.4008,0.894154,0.914548,5,31,0,30.9743,-0.669781,1.65192,2.62849,3.41213,1.45668,3.49634,2.59905,4.50343,-1.65898,3.98504,0.354759,6.27705,4.04621,4.07775,5.10731,5.60875,-6.59819,0.110688,4.85675,10.1197,-2.04256,3.65679,5.55397,6.63683,5.26,-5.86901,1.67937,17.0523 --25.4608,0.579604,1.1564,4,15,0,38.0462,-0.492504,1.70582,2.75098,3.60446,1.30976,3.69096,2.59904,4.48994,3.76373,0.633517,5.68112,1.48905,-3.13442,4.85997,6.0768,10.7346,3.39692,1.28964,15.8734,4.77543,2.60829,8.46524,9.4367,13.9885,12.0206,4.64107,4.07204,22.4323 --23.349,0.850679,0.704595,5,31,0,42.4825,-0.234934,2.48345,2.47502,3.58993,-0.998359,3.15862,3.59907,5.35483,-0.629683,5.68875,-2.10627,7.55345,-3.66571,0.950397,1.38634,5.06848,0.79028,3.6114,6.09863,10.2759,3.86673,8.58513,12.2345,10.3069,9.97151,-3.83997,8.11093,17.9929 --17.0197,0.994603,0.805071,4,31,0,39.0611,0.167235,-0.425657,-0.0321002,2.42828,1.39574,2.00252,2.99354,2.27995,-1.41472,-1.22371,2.26129,2.68077,-0.560839,6.64605,-4.17821,3.19594,4.29437,-0.0887187,2.50982,10.8482,4.69126,4.24316,12.5823,9.05155,2.28565,0.0495516,9.56304,8.75827 --15.0556,0.850316,1.27524,4,15,0,27.0524,-0.434277,2.51907,4.82335,3.04164,1.04992,2.39107,2.44758,5.33265,-0.670746,-0.375796,5.08585,2.74205,-0.303811,6.06274,3.64821,6.27174,-2.23355,6.30375,3.70279,-0.579194,-1.3365,0.835168,-6.92018,-0.807563,7.74619,5.0882,-1.71852,-1.14907 --11.4711,0.504885,1.44786,4,15,0,26.1245,0.484085,-0.29171,0.173756,3.70967,2.28904,1.00725,3.25395,3.70391,-1.55467,5.14171,2.71762,2.24537,2.40889,1.77132,7.41675,4.44825,2.36857,-0.905109,0.600931,7.501,3.42159,3.42859,12.7657,7.55667,1.06398,4.28458,7.42361,4.09849 --9.51178,0.948128,0.753453,4,15,0,25.1906,-0.902078,1.81531,1.33986,2.92811,-0.616711,3.4664,3.19264,4.85405,1.24773,-2.05266,1.90154,7.40911,-0.216726,2.48299,2.0475,3.30773,-0.173531,-1.63022,0.394562,4.8115,1.99565,5.33989,2.45042,3.86487,1.33286,-2.83733,-1.16552,9.66573 --13.4721,0.66646,1.06661,4,31,0,29.1232,-0.657999,1.4689,1.56639,2.87456,-0.892892,3.59545,3.2361,4.53407,1.8918,-3.44155,1.70528,6.44796,7.18443,3.21055,3.79,6.55899,3.61487,5.3538,3.74127,3.07044,5.63817,3.63848,5.75833,2.5447,6.73159,5.0005,-2.61627,0.850156 --14.308,0.790226,0.803055,4,31,0,30.1614,-0.0380555,-1.24636,0.0201812,3.42646,1.9352,1.55778,2.2119,4.32447,1.77774,4.66608,4.93011,1.46483,0.990148,4.17892,3.25955,2.56039,3.45289,9.64062,-0.775333,1.64442,11.9862,-0.781812,1.84775,-2.15751,2.95995,1.27124,5.58474,1.58427 --13.7618,0.998163,0.797787,5,31,0,25.4939,0.542459,2.94269,3.73501,3.01441,-0.375137,2.31608,3.25921,4.08969,1.65321,3.40092,3.8901,4.87774,0.928799,-0.435436,2.81819,5.41129,0.233448,-6.86406,2.18537,5.75615,-1.44694,5.32422,11.5913,6.46328,-3.50328,14.5189,-4.37332,-2.06231 --16.5638,0.40135,1.2523,3,15,0,30.2046,-1.54171,3.12965,4.0453,2.94391,2.22747,2.1823,2.54262,4.70928,-1.27066,0.336893,3.91869,1.23405,1.47653,3.26004,-2.16712,3.13773,-4.82942,-3.23266,-2.45273,7.80508,-4.03503,3.33769,9.97011,4.26264,-0.734902,3.99634,-0.791984,-4.89568 --14.4676,0.996319,0.530029,5,31,0,28.6786,1.34681,1.56907,0.0591562,2.72984,0.851266,1.97525,2.87318,4.10281,-3.21174,-0.132021,6.59138,2.63967,-0.900882,1.6661,5.94601,5.78427,4.35555,5.26026,8.14646,1.41297,9.09121,3.99631,-1.11833,6.86131,9.81862,-3.58162,5.86367,11.1972 --20.5077,0.908021,0.82618,4,15,0,38.1121,0.625685,0.421039,1.89885,2.30023,0.149374,0.703226,2.50991,4.71455,0.99868,6.96864,0.365255,4.71811,1.01979,-1.36778,3.56943,3.36316,4.66417,11.7084,4.08047,12.568,7.66058,0.449686,-10.9629,13.8896,4.24158,-1.75849,-2.24493,9.48079 --13.8581,0.433402,1.05851,4,15,0,36.7877,0.1183,1.1665,3.49879,2.05946,1.93361,1.0973,0.987887,3.84026,1.05374,-2.62081,4.50114,3.44682,-0.32666,-0.0659492,3.76316,5.81625,-3.62249,6.85694,1.68488,9.82537,3.03497,0.207595,-6.92829,0.423096,-4.5936,-0.185974,1.02472,-1.38465 --12.8375,0.999919,0.487437,6,63,0,24.5929,-0.13631,1.13558,2.41816,2.75809,1.47261,1.01637,0.45015,3.68226,1.10977,5.72729,1.62179,4.62781,0.588404,0.581374,3.75893,0.925478,4.3434,0.28221,5.23542,7.3032,-4.84356,7.54412,-4.07552,0.367959,-9.33588,5.198,10.0283,-0.562124 --22.9615,0.764148,0.760118,4,15,0,31.8177,0.692572,2.35801,1.97812,2.97845,4.03953,3.7591,2.82187,3.79146,-0.322942,-1.56063,5.74857,5.81952,4.31303,3.43253,4.33741,2.81341,1.62641,0.0169698,6.949,2.02253,0.984026,13.3944,-12.2696,0.702334,-11.8608,5.65819,10.5921,5.37099 --16.2711,0.950401,0.714455,5,31,0,34.6486,-1.58257,1.61003,1.52805,3.81856,1.19223,4.7104,2.59135,3.75642,1.4531,-0.0185621,6.24978,5.70405,-2.47948,0.308585,2.33479,5.74487,-0.231256,2.01894,0.406701,5.01093,7.26991,-5.58426,11.4307,16.4454,5.07593,-2.21813,4.21151,6.60975 --18.956,0.992932,0.996246,4,15,0,28.2574,-0.215999,0.530726,0.693687,3.09494,-0.650227,3.98817,1.82896,3.42256,0.500932,3.99569,-0.781812,3.20103,9.64071,1.11904,-0.592508,4.89776,5.40199,4.52276,3.55435,1.30412,7.24456,-0.560974,11.0915,12.107,9.05952,-3.17081,6.90494,9.11702 --13.9436,0.986104,1.51358,4,15,0,30.532,-1.36372,1.14548,0.511174,2.83283,0.34339,2.55928,1.94486,4.05352,3.93533,2.2266,3.98094,5.14965,-5.18023,1.08012,1.85385,4.95874,3.65025,-0.101481,5.50838,13.267,8.52934,-2.4846,6.75686,9.87455,3.47008,-8.12291,4.3431,3.17235 --13.9436,2.19746e-009,2.25664,1,3,1,31.2667,-1.36372,1.14548,0.511174,2.83283,0.34339,2.55928,1.94486,4.05352,3.93533,2.2266,3.98094,5.14965,-5.18023,1.08012,1.85385,4.95874,3.65025,-0.101481,5.50838,13.267,8.52934,-2.4846,6.75686,9.87455,3.47008,-8.12291,4.3431,3.17235 --13.7267,0.959033,0.430576,5,31,0,27.5082,2.4186,0.932234,3.18319,3.13501,1.17259,2.94433,3.59262,4.60443,0.161841,-0.049177,2.5857,0.821805,6.10057,3.62695,3.29335,2.75068,7.39563,7.39484,-0.849215,-0.696262,-3.37511,1.23791,4.6327,1.44167,7.18253,-7.19275,1.7673,2.16996 --10.9247,0.998099,0.608386,5,31,0,24.1849,1.1149,0.853992,2.72394,2.8978,0.951862,2.79028,4.04764,5.10045,0.578786,3.5159,2.91802,7.38503,-4.40208,1.77328,7.14849,1.58161,-3.50551,3.34518,4.73371,4.00873,-5.92827,0.835816,5.86276,-2.62217,5.163,2.79379,-3.85886,7.73802 --15.1737,0.9495,0.928196,4,15,0,23.456,-1.52384,1.2602,1.33105,3.0308,1.1137,1.19367,2.01922,3.07631,3.41539,3.88253,6.86614,4.17749,-3.22713,3.22095,2.40262,2.19276,-8.74715,5.42671,4.4897,0.992276,-7.38878,4.26841,8.01157,-4.66261,3.30398,1.04431,-4.00126,8.02855 --11.1653,0.714903,1.27629,3,7,0,24.1265,-2.21843,0.554835,1.12621,3.69097,1.00299,1.67092,2.06881,2.68628,-1.17642,0.0375325,-0.392639,3.7507,0.365159,-0.686495,2.19786,2.03961,3.44753,4.83323,2.30328,2.82559,-2.48049,6.56069,8.2549,-3.35663,4.54521,-1.78204,-1.0991,5.81823 --7.5331,0.818287,1.08445,4,15,0,19.8851,1.8352,1.29891,3.03227,2.10143,0.871445,1.4341,3.79739,5.17879,1.80739,0.120767,3.46798,3.95169,0.192003,-2.65728,4.33158,2.95426,-1.03237,2.54547,3.22555,2.94436,2.2473,4.48695,8.34316,-2.32644,1.80473,2.68885,1.84569,4.20556 --6.19723,0.934749,1.13813,4,15,0,17.9634,-1.16296,0.213419,2.01019,3.38504,1.19972,1.75635,2.23788,3.4471,3.58204,1.89838,3.18853,3.59826,0.474186,-1.59323,6.37833,2.98128,-0.618909,3.35789,4.51492,6.77567,4.37756,-0.968953,7.82369,-0.584798,7.50645,2.79535,1.85794,4.52517 --7.12381,0.227553,1.50999,4,15,0,19.1682,1.22201,1.8983,0.978272,2.59533,0.862331,1.85371,4.02454,4.16832,3.20666,3.96117,2.31736,4.99722,-0.516581,1.66929,-1.11221,1.89471,1.70272,1.59016,2.0789,2.57763,-6.89322,4.61743,-0.045507,6.23037,2.11413,0.327741,5.24435,8.75916 --13.4824,0.737172,0.483097,5,31,0,31.0777,-0.208804,1.55919,1.09705,4.19035,0.731376,0.848699,2.88337,5.10954,-1.4492,0.294316,3.34283,3.59351,-3.14089,1.304,6.62418,7.54931,4.45868,5.62141,-4.65276,3.58139,-3.67519,-6.53129,3.00867,-7.42526,1.46175,-0.645424,3.25993,6.47507 --16.3939,0.993806,0.432521,6,63,0,27.0209,-0.347541,0.870493,1.88469,3.44509,-0.315005,1.7563,1.69083,4.99743,-1.99657,0.201932,3.81869,4.43661,3.13826,4.01442,2.08453,-1.64534,-2.2423,-2.03856,11.1889,5.16273,11.2289,8.92537,-1.8252,16.5933,2.14507,0.274591,1.62511,-0.560331 --15.1059,0.866381,0.645577,4,31,0,38.3199,0.163266,1.40806,1.8342,3.71643,-0.339344,1.79149,2.15986,5.00282,4.27815,4.10758,2.34123,3.30544,3.4225,2.60246,4.63438,10.3276,-4.6883,5.13921,3.89387,8.87094,-6.85371,8.74374,10.2272,-4.27368,-7.1154,7.17146,7.04578,1.65168 --12.9052,0.830074,0.745962,5,31,0,28.1133,0.0127012,2.56167,0.853587,4.35459,1.67407,0.989148,1.01626,3.96321,-2.81302,1.39839,3.80611,4.99024,-2.26923,4.02149,3.51053,0.531476,4.27658,4.96254,3.29534,7.36474,-1.92641,2.25838,-3.44637,-1.72777,9.14737,2.09198,7.46167,3.15351 --18.9892,0.796265,0.801345,4,15,0,35.1759,-0.586681,0.2092,2.63349,1.41911,0.617818,2.37142,4.78641,3.67143,3.46967,2.18027,3.69848,8.15233,3.45353,-0.766886,1.65509,7.57338,1.39123,-2.43174,10.1808,-0.344507,15.6527,0.25583,7.91852,-2.2492,0.974788,-5.57748,13.2759,4.69101 --14.5444,0.994846,0.805075,5,31,0,29.5143,-0.484863,1.40356,3.15594,1.81768,1.27456,3.20383,4.35105,3.47907,3.6394,1.95746,3.26046,8.87286,2.16664,2.26303,3.66249,0.336141,0.402537,6.2668,-4.12384,8.36233,-4.9745,4.57408,-0.891758,10.8185,2.21821,4.10898,-5.62702,-2.08671 --15.7263,0.640534,1.19121,4,15,0,31.5144,0.11097,1.34976,0.929085,3.83438,2.53773,0.528541,3.09354,4.54319,1.48094,5.36958,2.69581,3.70778,2.35857,4.31282,1.46005,2.71381,-3.89936,-4.97067,-5.99357,8.30389,-10.5812,4.23966,-3.29956,4.78109,3.96812,2.56319,-4.52379,-1.021 --11.6147,0.834396,0.882809,5,31,0,30.3841,-0.144435,1.26875,2.38815,3.43668,-0.467009,3.06513,3.37588,2.33143,-1.04442,4.95047,1.29086,1.57889,-1.13458,-0.50773,4.5117,5.05501,4.98777,7.88982,3.57005,-1.98597,5.98206,-0.571612,4.32038,4.84762,5.0725,5.64547,-0.510913,11.6685 --15.4618,0.749762,0.95409,4,15,0,27.7802,-0.0274438,1.22489,3.05659,3.78742,-0.978589,2.71237,3.20094,2.59203,3.01941,-1.3723,4.36235,5.65259,-1.32237,0.988031,7.25336,6.88579,0.0576271,-7.54048,-0.114478,-1.5803,1.96235,-1.18317,2.81321,0.815822,12.4917,7.28803,-0.739417,5.38641 --13.5724,0.995554,0.875579,5,31,0,26.4958,0.911407,0.777234,2.33083,3.09754,1.24353,1.64578,1.1206,4.49334,1.85481,6.32986,1.92319,4.82471,4.16997,1.31345,0.121098,0.75215,3.8924,9.90124,6.60178,6.40009,4.03684,6.34686,7.87154,2.05594,0.529063,1.42603,-8.68055,-4.41729 --9.0371,0.753569,1.2873,3,7,0,20.0312,0.66848,1.76472,2.33529,3.65101,2.45005,1.90103,2.19485,4.60319,-0.542785,-0.848676,4.03472,3.56962,0.534189,3.37187,6.81552,5.57382,-1.25956,0.602217,2.86902,2.18791,3.75696,9.97632,2.86016,0.30121,-2.03359,3.5341,-4.56529,-5.2227 --14.5839,0.556529,1.18918,4,15,0,29.0271,-0.806902,1.22878,3.0587,3.09929,0.107625,1.73879,3.91996,4.28373,-0.636191,2.8677,6.91966,5.88809,-1.90676,-2.10107,7.65953,4.70397,4.07973,-1.75129,10.8923,7.6908,0.685194,8.0969,4.10218,-4.27375,-6.97064,7.47415,-4.4784,2.91709 --13.1044,0.797669,0.756385,4,15,0,29.5972,0.778516,0.729489,0.929475,2.93615,1.90877,2.29803,2.10247,3.81076,0.959734,-1.26706,5.91915,3.86115,6.57481,-0.867344,7.82999,2.17278,3.63175,-3.9545,5.90523,6.52001,2.85785,6.78616,8.37433,-0.20186,-3.96777,9.11352,-5.243,3.11505 --12.3166,0.730357,0.761696,5,31,0,27.2837,-0.782635,1.31716,3.28331,3.24396,0.0945582,1.75213,4.19874,4.20331,0.679404,3.85633,2.90635,4.26253,4.29998,-1.97073,9.09541,2.26556,0.79354,0.409925,1.28124,5.65708,2.33399,-2.80897,-3.17852,8.83268,5.28662,-3.64077,17.8841,4.16761 --8.83996,0.988904,0.675762,5,31,0,24.3859,-0.837865,1.38969,3.30192,3.18759,0.0732604,1.68627,4.08883,4.2142,1.26093,-0.0575198,3.16715,3.60829,3.48307,1.78593,0.584472,9.37536,-2.20408,-0.0877793,8.30647,2.4841,5.2341,3.94443,0.433221,4.81253,-9.24623,3.42927,5.30042,6.25772 --16.9398,0.594026,0.973865,4,15,0,27.9589,1.01912,0.717182,0.651853,3.78321,2.1954,2.68801,3.07372,3.67464,2.279,0.170965,0.274305,0.600512,-0.981782,-0.242413,3.02799,8.79058,5.88535,6.32823,-3.2698,3.55634,-2.46625,-0.816868,4.67913,1.77113,21.7632,-0.529179,1.06019,0.820935 --17.476,0.858633,0.66999,5,31,0,33.0671,-1.02876,1.35283,3.20709,2.14147,-0.276601,1.58334,2.63217,4.44075,4.05121,7.09534,1.59196,3.87008,3.01249,4.2483,2.98392,-0.795397,-2.64437,-2.80983,10.7276,5.4877,1.6727,9.55445,-5.30059,4.08972,8.03351,-3.82217,-3.67662,-4.04901 --13.4662,0.86523,0.755709,5,31,0,31.7553,-1.08499,-0.280776,0.886096,1.65188,1.31035,2.20501,2.09916,4.51269,-1.6218,-1.83603,4.44592,4.22282,3.23791,2.41291,4.28647,1.35906,0.0784515,7.18499,-0.262252,-0.375228,0.159479,-0.588849,13.5147,3.61323,-6.69314,6.30792,8.22987,10.4017 --17.2161,0.844388,0.861936,4,15,0,28.7431,1.77337,1.71689,3.96828,4.55764,0.844125,1.66893,4.02086,3.50632,2.56619,1.45421,4.19521,3.25193,5.84813,-1.34235,0.95127,0.956831,-2.04014,3.9154,-5.40385,-0.551959,-2.68278,1.32384,15.887,5.75556,-3.5795,4.91184,7.52885,10.8129 --15.8637,0.980149,0.945003,4,15,0,29.976,2.1192,1.13943,3.60195,4.40416,0.33997,2.76581,4.18282,3.3001,-0.139911,2.08383,1.64223,4.8568,-0.348271,6.74381,-1.04796,7.24192,9.10331,4.91386,4.35117,1.15403,-0.180753,-0.0453957,10.7702,5.23275,-5.00183,10.3399,11.6819,1.87083 --11.3767,0.822259,1.32779,4,15,0,21.9881,-0.724814,-0.980689,2.90638,2.80639,1.8499,0.648759,4.00498,3.3148,-0.0356002,1.87653,1.88496,4.47731,2.23353,0.478871,1.00196,0.201602,-6.30849,-0.514079,1.32463,6.75658,0.698743,5.95953,-5.37294,5.86941,4.60216,-2.37891,-4.19325,4.77658 --9.2447,0.757247,1.39444,4,15,0,19.2372,-0.704172,-1.08672,2.76074,3.06906,1.78198,1.24258,4.11819,3.67016,0.349452,2.41828,2.2857,5.44824,0.740398,3.27072,3.97689,5.20461,8.75818,2.92298,2.58472,1.7037,-2.01239,0.0892322,10.7579,1.00799,2.93599,1.04793,-2.41191,-1.63781 -# Adaptation terminated -# Step size = 0.893525 -# Diagonal elements of inverse mass matrix: -# 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 --14.5637,0.923055,0.893525,5,31,0,25.3697,-0.140089,3.02032,1.30538,3.4861,-0.535523,2.54442,2.06237,4.905,3.9262,2.76354,7.19636,2.92295,-0.52672,-1.44163,5.81469,6.1275,4.60826,2.64725,1.71697,-3.38758,-3.80328,1.41592,9.96794,9.09879,-1.24637,6.81069,-2.86019,4.55396 --18.6055,0.996181,0.893525,4,31,0,28.3434,-0.247938,2.57013,1.19418,4.27355,0.39661,1.74405,2.95021,5.70274,-0.642005,1.31775,-1.17257,5.45012,7.71595,-4.26276,1.96711,3.01332,-0.82055,5.61446,5.81436,-0.830599,-5.70842,-0.00568549,6.22567,13.9746,-5.88785,6.48792,-6.56154,2.46304 --15.8491,0.952444,0.893525,4,15,0,29.3963,-0.189515,0.525713,3.05651,1.60925,1.65299,3.1408,2.23476,2.47286,4.46502,4.25816,6.88929,1.767,5.24958,-3.01773,3.40555,4.58247,5.97197,6.04483,6.57843,0.182499,-3.99278,0.679445,6.13907,7.72295,-5.1653,5.43287,-4.92316,1.63365 --18.6719,0.996453,0.893525,4,15,0,29.3722,-1.54034,0.10261,2.20841,2.43012,0.83601,2.2333,2.06847,2.76487,-2.26622,1.22012,-2.54749,5.1348,-5.06622,7.44375,1.48177,4.1113,-4.81097,-1.49472,-2.56726,8.71056,1.36498,-0.350277,1.55641,5.60506,-3.69569,-7.35731,6.61025,-6.09752 --17.8565,1,0.893525,4,15,0,28.6654,0.399863,1.19623,1.6881,2.24395,1.11218,2.45183,3.3732,5.20652,1.20835,4.26506,8.78891,2.51742,6.05038,-3.96739,6.17659,4.14321,1.36524,8.87419,9.04344,-3.47944,-3.19909,3.64642,10.1948,10.2808,-0.858082,-2.43222,-0.494491,-1.07433 --14.4184,0.965725,0.893525,4,15,0,25.593,0.223243,0.0381863,1.81138,4.10629,1.76782,1.5937,3.26093,2.99951,-2.35052,3.26931,5.85013,4.23414,-4.09332,7.80311,0.00108596,3.74043,2.84484,-1.27402,-3.07015,8.27638,9.18176,-2.8219,-3.4108,1.31402,5.66062,0.112084,-1.21591,9.46317 --19.7427,0.637693,0.893525,4,15,0,34.5674,-1.28384,1.23429,1.06547,3.123,2.24939,2.42668,2.76753,5.2716,1.16028,5.63443,4.30686,4.84847,6.65858,-3.78725,6.49866,4.49138,4.84492,2.43551,9.78792,-1.62206,-4.79697,7.13343,1.26594,-1.57627,-4.85737,8.6497,21.1229,5.20203 --16.8677,0.693689,0.893525,4,15,0,37.1781,1.40231,0.733874,2.74417,2.50454,-0.0324282,1.27122,3.41188,2.843,-0.351031,1.52035,6.86092,3.93268,-4.00678,7.55,-0.511843,4.20007,-3.35425,2.19141,3.07901,13.8161,-3.87458,-3.06855,0.238381,-0.0342969,-9.87794,5.38384,11.7317,2.08058 --12.7024,0.566165,0.893525,4,15,0,30.5352,1.52284,1.40542,2.85839,2.65916,-0.160572,1.3584,3.21789,3.42063,2.33184,2.48699,-0.84918,4.06537,5.0943,-4.57162,8.66017,4.95958,2.50871,0.0117415,2.26324,-0.0605425,-1.94565,-0.196514,-2.15917,3.62639,0.847416,6.76118,10.7297,2.77624 --13.8145,0.760097,0.893525,4,31,0,27.1565,1.6247,1.08864,2.38602,3.68414,1.72205,0.192893,3.90927,5.03117,2.34365,3.49836,-0.958407,3.15255,5.47203,-3.57418,8.44477,5.15532,3.93294,0.67117,2.93024,-0.419003,-1.66562,-1.06561,-0.212455,4.21906,0.0711818,5.51796,9.35271,2.98187 --16.853,0.998678,0.893525,4,15,0,25.958,-1.51019,0.799463,1.61333,2.22313,-0.0235371,3.63522,2.04937,2.99182,1.03918,3.25926,6.23113,3.96767,-3.08019,8.03554,-2.7525,3.13001,-2.29084,-2.19063,9.47251,7.11951,-0.0630567,0.00599027,0.682764,2.89754,1.59222,8.61656,-5.72232,-7.25265 --11.4006,0.962657,0.893525,4,15,0,31.7437,1.80956,0.658122,2.73139,3.90103,1.4594,0.691091,3.92058,5.44943,-0.584093,0.514167,2.50044,5.38627,-1.89763,8.2207,2.85793,4.38652,-1.66178,3.91773,2.95845,6.22016,-0.771454,0.214931,1.14487,8.18381,4.75991,8.87118,-1.02369,-4.46687 --8.86267,0.962587,0.893525,5,31,0,23.222,-0.614601,0.15744,2.88792,2.79931,1.35163,1.6982,2.98566,4.53288,-1.42169,3.85668,6.58621,3.96246,-0.623683,4.90876,3.35526,4.34451,4.57731,0.912742,2.91822,8.98448,1.90845,2.6858,4.15792,-1.36621,-1.60151,-2.21022,7.96851,15.1542 --12.2506,0.76877,0.893525,4,31,0,23.5483,-0.501397,0.242336,2.96442,2.74597,1.56762,1.44997,3.27158,4.74234,3.40228,0.123343,-0.568112,3.99457,-4.24986,-1.69944,2.75098,-1.49107,-0.495327,4.27861,0.615069,0.836494,1.37223,-8.4925,-0.798024,1.25035,-3.34555,4.88966,2.67872,8.20961 --10.9482,0.89249,0.893525,4,15,0,19.78,0.133869,1.28405,2.59083,2.91704,1.06517,3.7949,4.65211,3.79464,-3.38317,2.93632,5.94596,4.61623,1.80591,2.57827,3.82374,2.18467,-1.36024,7.28976,3.30056,2.42599,2.28778,-4.718,2.47811,4.27702,-4.28055,9.20592,5.38937,10.2586 --9.65537,0.999192,0.893525,4,15,0,19.1104,0.627371,-0.0870634,0.99786,2.05359,0.365053,1.60624,2.15725,4.60467,1.74461,2.73768,0.624291,4.43225,-0.502032,2.04663,2.72803,5.48917,2.78984,-0.776285,4.073,10.9063,2.3856,-1.00221,-4.0998,0.714025,-4.03788,12.6828,8.8956,8.25287 --10.9573,0.872665,0.893525,4,31,0,24.9626,1.44196,1.27282,3.3475,2.59916,2.20386,2.00973,3.45067,3.84709,0.3344,2.07475,4.08673,3.5037,-0.471927,2.67844,2.17367,-0.255667,3.089,6.05882,-3.28304,0.679542,-5.19167,1.72028,-3.59777,10.826,8.71748,0.759107,-5.33391,5.08552 --10.7904,0.524321,0.893525,5,31,0,28.3929,0.405475,2.47907,2.7374,2.5281,1.37975,0.917753,4.62755,2.9779,1.68784,1.79738,1.77912,4.4052,-0.462273,2.69048,2.17175,-0.267531,0.680014,4.9587,0.702168,11.2309,7.97867,5.06539,4.86783,1.54698,-6.75266,3.27354,11.3006,2.85205 --11.2621,0.994478,0.893525,4,31,0,20.7327,0.213212,-0.618528,1.14462,2.57341,0.245507,2.52245,2.4565,3.89948,0.822596,3.72169,4.48521,4.45195,0.520677,-0.94318,3.13862,9.49379,-3.28289,-1.27214,6.34319,2.06072,-0.902651,3.53141,8.23783,10.9697,-9.19241,6.81726,12.5107,5.06184 --11.0362,0.729295,0.893525,5,47,0,22.7971,0.501273,0.284518,2.45251,3.70188,0.331549,0.883099,2.67813,3.98175,1.56133,7.33188,2.9901,2.80088,1.40668,3.59709,2.52817,5.47925,6.08621,5.84475,0.0473105,3.04972,3.30036,-0.408242,-2.35021,-3.01115,11.0345,-3.81775,0.827957,6.19048 --15.9562,0.535029,0.893525,4,15,0,28.7109,-1.79597,2.20845,0.784405,2.19225,0.553156,3.85868,3.09588,3.20711,0.805961,1.30889,2.05724,2.68049,0.349541,5.31234,-0.868492,3.7428,3.65463,5.02906,-4.37003,0.28793,0.261584,-3.61087,-3.8417,3.30039,14.3753,-6.00989,-1.51803,10.8935 --13.5933,0.983168,0.893525,5,31,0,31.0776,-1.66901,2.45703,0.527752,2.53295,0.545329,3.95896,2.91738,3.72048,1.58356,2.9641,3.68964,3.5151,0.626009,4.00002,-0.524809,3.53263,1.25975,5.19593,4.27023,4.00876,6.35008,2.67948,7.19221,7.54364,-12.9751,12.0702,7.27632,-3.44857 --14.0162,0.911472,0.893525,4,31,0,26.9153,-1.44036,1.29668,2.71874,2.50025,1.97251,1.79272,3.85874,4.29564,-2.21554,5.4997,3.25072,4.20781,2.9135,3.96785,-0.317563,3.92671,0.503123,2.97421,3.89688,2.00355,8.38079,5.19054,7.62715,6.78858,-14.4346,9.79602,6.42135,-6.0346 --20.3376,0.948143,0.893525,5,31,0,32.5283,-1.31535,1.37301,2.72728,2.8169,0.828161,3.12593,1.66253,4.05151,-2.02791,5.12339,4.94543,3.48522,1.89053,-0.712976,-0.487831,1.67047,1.36196,0.583201,2.69726,6.07016,-3.40537,3.6665,0.256506,1.76361,17.1715,-16.5718,-12.5854,10.469 --7.90988,0.947824,0.893525,4,15,0,30.1735,1.43315,1.72615,1.55564,2.67262,0.2833,1.49299,3.21764,3.74442,0.890453,1.51366,6.03572,6.22457,-0.0830757,4.05688,6.36265,5.88093,-3.12761,5.59906,2.8465,-1.24375,-1.07917,4.10866,6.49733,4.28837,2.04979,2.74845,2.77086,11.8505 --18.1185,0.543461,0.893525,5,31,0,25.5461,-1.17508,-0.0627492,0.267268,4.23459,0.843675,-0.423184,5.15422,3.7773,2.33261,2.59019,4.57454,4.91487,3.20949,0.127573,1.39425,2.60105,7.28366,-0.892099,4.63317,9.65162,-2.7793,0.585314,-5.00423,8.24828,-11.5177,0.500533,-6.07456,4.9621 --18.8,0.988235,0.893525,5,31,0,32.2861,-0.575177,2.74078,2.48424,1.66317,0.420421,3.51064,1.05825,4.82107,-0.667859,4.75632,3.6187,2.75861,-2.78135,-0.91643,5.59444,3.69944,-3.7029,5.97209,0.601044,-3.99882,4.72315,3.07064,11.6838,0.105695,11.7035,5.7805,14.9357,7.28854 --18.2375,0.871995,0.893525,4,15,0,35.111,0.747237,-1.0312,1.67806,4.12213,1.42134,0.435892,4.9987,2.94953,-3.51913,-1.29534,1.92765,5.14672,4.90647,5.58139,1.30633,3.68956,3.61124,0.168841,8.80413,9.37605,3.47908,-3.78832,-0.124127,5.82406,10.7062,5.39847,1.94965,10.5546 --14.9609,0.713395,0.893525,4,15,0,35.8312,0.460159,-0.921442,1.24309,3.13019,2.14031,2.17269,4.30728,3.70301,-3.08237,-1.33752,1.91308,5.6111,-3.90979,1.31069,0.291473,-0.769684,-2.31544,2.93943,-4.38948,0.332715,-1.19088,8.81542,3.64002,-0.0307212,0.577298,-0.799103,0.384709,1.26989 --17.2734,0.999627,0.893525,4,31,0,28.5305,-0.353195,2.78625,2.62788,2.74257,-0.100185,1.94407,1.47427,4.51245,1.54442,0.582966,7.66429,5.657,5.80597,3.14555,6.00338,8.94905,6.74565,1.86345,8.74561,3.47967,8.24574,7.45581,9.5129,-2.33516,5.59778,-1.93881,-3.0904,-2.12975 --15.6104,0.935218,0.893525,5,31,0,30.9534,-0.667353,2.41421,2.72602,2.33561,0.0278979,2.44078,1.38261,3.99267,-1.23275,3.28697,-1.69144,3.89278,4.8476,2.33739,6.79447,8.9984,0.179798,1.14939,3.2612,7.87079,-5.34921,-4.95588,-1.09327,11.347,-2.69056,6.41763,7.99384,12.1265 --15.2412,0.993027,0.893525,5,31,0,30.3587,-1.13794,2.60377,2.81437,1.94279,0.641674,2.25765,1.84922,3.45356,-2.63113,3.67566,-1.55406,4.34584,-1.39997,2.44595,1.25762,0.125323,1.86584,3.81639,1.86713,1.39863,-6.55387,11.248,2.54488,-0.672876,11.3907,-0.622815,-0.472842,7.11634 --12.7048,0.884285,0.893525,5,31,0,29.3975,1.38451,-0.55402,0.70087,2.35347,1.89637,2.29023,3.80475,4.73614,3.56731,2.69368,1.18642,0.336252,-1.26129,2.54572,3.4767,0.722511,3.30443,2.3962,5.00623,8.2649,8.36771,-0.308716,0.0719292,9.93858,-8.97299,2.39494,6.10643,1.15275 --12.9674,0.870062,0.893525,5,63,0,23.9643,0.691647,-1.27876,1.39217,2.11962,1.8028,2.16345,3.23375,4.62266,3.51476,2.67558,1.25694,0.30502,3.17973,2.94573,-1.86883,8.27121,-1.35615,1.58477,0.992528,-0.259079,-3.78076,1.831,5.15982,-2.47424,7.13036,6.79822,0.669578,8.21358 --11.0905,0.808797,0.893525,4,15,0,26.5302,-1.87008,2.75653,1.53599,3.50526,0.731473,1.19673,3.17746,3.34983,1.92448,-0.70812,4.08998,3.46714,-2.19773,1.97579,4.48006,2.60783,1.06533,3.81559,-2.54053,4.50512,-8.05484,3.16453,9.15859,-3.36171,4.3046,4.31926,4.30486,7.21183 --18.6163,0.822415,0.893525,4,31,0,29.0261,-1.69582,2.97556,0.457221,3.66735,0.147014,1.61885,2.6252,2.96017,2.46368,-1.79539,3.70982,3.97938,0.728232,6.30809,-2.28003,2.40999,-0.357895,1.44815,8.81877,3.31709,10.6774,1.86516,-5.89781,10.8486,6.30259,-7.37813,1.98607,-3.34849 --9.97511,0.834869,0.893525,4,15,0,27.7061,0.0615782,1.00688,0.459941,3.93729,-0.243322,1.69366,2.70517,3.95226,-0.288748,5.85691,1.3427,4.4299,0.960491,0.686784,1.41679,1.18954,4.19855,1.57115,3.28895,-1.09977,6.13438,-1.89717,0.704287,10.9517,10.0832,-0.591991,1.7594,1.72586 --9.83299,0.829111,0.893525,5,31,0,21.1519,0.146134,1.01922,0.428459,3.70944,-0.228163,1.82793,2.88154,4.12183,0.448478,5.10379,1.54242,4.94035,1.09265,-3.77181,1.39589,5.47202,3.70428,1.06941,3.76553,-2.65655,6.44265,7.06205,7.18521,-1.05895,-1.86388,0.604438,4.913,4.35909 --12.9326,0.659234,0.893525,5,31,0,23.9274,-1.03335,-0.0835177,0.838892,3.98664,-0.0849942,2.37122,2.58561,4.34393,0.606191,6.52534,2.94713,4.21026,2.78587,5.56174,5.8441,-0.735993,-2.61464,3.05679,2.71477,10.3835,-2.20857,0.260316,-2.04555,7.53118,6.11097,-2.73114,-4.26587,10.2053 --12.1903,0.756003,0.893525,5,31,0,26.2226,0.371771,1.39162,2.39468,3.4006,0.677805,1.77974,2.13463,2.94248,-4.99554,3.53976,1.89082,2.96818,-0.654681,-1.53194,-0.479064,8.56903,2.37517,2.34491,7.27832,-2.01676,-0.786776,3.41768,2.65187,5.14832,7.69122,-0.939533,6.23884,8.92022 --15.0891,0.82614,0.893525,5,63,0,24.0275,0.451288,1.79745,3.29849,3.415,1.69188,0.457803,1.44259,3.79886,-5.71541,1.58619,2.21098,4.74553,-1.80146,2.39996,3.07151,2.49202,1.00039,0.667844,6.03861,-0.7004,-5.07877,1.91472,2.96025,-3.56323,-1.89251,5.33502,6.46892,-5.84361 --17.8705,0.921688,0.893525,6,87,0,31.4164,0.459647,1.77433,3.45539,3.33248,1.76168,0.532279,1.37764,3.88148,6.4741,2.41623,4.4542,2.52132,3.69439,-0.532892,7.18711,3.97791,-1.99604,-0.600943,-6.22152,-4.4948,-4.17311,1.65481,2.90384,-1.56695,-4.95033,4.82332,8.47582,2.2857 --14.7382,0.981244,0.893525,4,31,0,27.8518,0.221452,1.44734,3.4083,3.58044,1.8256,0.325705,1.47645,3.53799,-4.4609,1.60953,1.54446,5.47559,-1.16217,5.20736,-2.60179,2.88886,-3.47757,0.26129,2.10885,2.84762,-1.70476,-1.2392,11.2996,1.0342,-0.100175,7.18758,0.784752,9.09854 --14.1127,0.99317,0.893525,5,31,0,25.1642,0.0910495,0.445328,0.287113,3.67187,-0.34647,2.87078,4.28935,3.67538,1.97141,3.05899,4.1818,0.0658519,-3.40228,4.43583,-2.07962,6.17371,3.70539,2.56198,3.75147,9.74056,3.20798,5.56788,-5.63776,7.24731,5.1949,-5.01104,7.45599,1.62046 --16.7701,0.962794,0.893525,4,15,0,32.8172,0.313095,0.198439,-0.159747,3.35443,0.224124,2.82625,3.72358,3.52053,1.92217,2.94886,4.19263,0.0789012,-5.12267,-6.02312,5.40881,5.94469,-1.68661,1.46157,2.26602,-1.71202,-1.00461,-2.25575,9.26548,4.53435,-6.02601,6.20124,3.58439,-4.63645 --11.4676,0.718122,0.893525,5,31,0,32.4295,-0.402702,1.78131,4.12274,2.72437,1.71437,1.1761,2.2879,4.42173,0.84139,1.95051,6.48818,0.849379,0.962123,1.18278,9.36166,5.56017,5.10952,0.210448,1.78487,4.04406,3.36183,6.0021,-3.16439,3.74451,3.9915,-4.73468,3.38392,5.77487 --17.4567,0.715945,0.893525,4,15,0,30.2942,0.327845,-0.597239,0.6117,4.45618,0.659218,3.32753,4.36862,3.68447,4.15197,2.48064,5.07109,3.57328,-1.38507,-1.34265,4.49529,-2.90137,7.39879,4.24214,2.37748,3.87356,6.28221,2.51491,-9.54684,0.401942,0.920186,-6.75728,2.05637,7.21533 --20.8948,0.812858,0.893525,5,31,0,30.2476,0.860063,-0.675164,0.431288,3.8817,0.810197,3.65688,5.67996,4.02347,3.76429,3.39936,4.25083,3.67414,3.79053,5.31663,2.11716,8.87725,-5.32251,0.244528,2.84066,4.87653,-2.4167,5.13699,18.4303,7.38041,0.566384,0.847786,-7.43209,9.22917 --9.57546,0.99866,0.893525,5,31,0,36.4795,-0.713032,1.24615,3.33822,2.84805,1.16661,2.36345,2.41839,3.13339,1.68559,1.10654,2.62809,5.17812,0.651684,1.18484,-0.419006,5.91988,-0.230029,3.91072,-1.05348,4.50307,5.8013,8.19718,10.3085,1.29472,-9.15342,6.14675,8.49813,-5.65676 --9.6867,0.748425,0.893525,4,31,0,22.09,0.702931,1.41658,0.628089,1.62796,1.79446,1.6199,3.87142,4.86467,-0.512526,-2.01428,1.26042,4.82465,1.41544,2.11952,6.00007,2.60368,3.59669,2.79146,5.1763,6.39525,-1.34314,3.13341,0.882463,-1.30391,-1.52798,3.38863,-7.34369,3.96786 --15.2665,0.727112,0.893525,5,31,0,26.182,-0.527764,0.998983,0.890125,2.64571,3.36462,3.6858,2.35556,5.43438,-4.09343,-0.452844,3.24555,4.72683,2.60872,2.34963,-1.34795,6.13733,1.52215,1.28299,0.0124063,2.20924,-1.53501,-3.01287,4.34025,5.59837,7.83661,-1.56299,0.961685,14.2786 --18.7473,0.805073,0.893525,5,31,0,28.307,-0.239645,1.2767,1.51649,3.0924,4.27485,3.67133,3.69013,6.26139,6.1338,4.5297,2.74557,3.11718,2.61976,2.33598,-1.34712,6.13392,1.5794,6.00963,1.4893,4.74836,1.27322,5.64254,0.206733,4.2907,-5.79442,5.59988,5.09813,-6.18829 --11.767,1,0.893525,5,31,0,25.89,2.00775,0.795752,2.90545,2.88416,1.22861,1.04724,2.15264,4.27228,-2.7802,-1.9562,1.50713,4.63543,0.375873,2.70253,1.50368,6.63003,-0.631256,2.6622,3.76364,4.46925,-2.32677,8.15227,-0.452675,1.49067,-3.63359,1.97325,-2.96016,-6.57133 --18.1896,0.732349,0.893525,4,31,0,29.3544,0.869767,-0.797592,1.62072,2.24296,1.84612,1.00604,4.73897,5.78466,0.198536,4.28583,4.42289,1.37212,7.75578,0.104858,-2.06825,6.44066,6.98046,-3.85368,4.02724,2.76101,-2.22502,9.86151,2.2663,4.79281,-1.76935,4.40788,-1.38882,-5.84618 --10.4257,1,0.893525,5,47,0,24.8873,-0.823511,2.11173,1.86189,2.87001,1.56875,2.09909,1.73135,5.01481,2.63344,0.319314,2.08495,6.44108,3.33428,1.53895,1.11678,6.5577,-0.659915,2.56771,-3.45956,3.15209,-1.41768,10.764,2.94505,2.3127,1.23383,1.34582,-1.42226,-8.41951 --10.5064,0.818295,0.893525,5,31,0,19.6218,-0.613329,1.32569,2.01984,3.20288,2.05271,1.79516,1.10069,5.73935,3.04691,0.0987931,1.87501,6.28189,0.107174,3.72913,5.78839,3.26342,2.67274,2.64569,9.67823,4.68354,0.104263,-2.08596,1.28924,6.71771,-5.35545,5.01992,11.1368,-0.0139219 --13.5831,0.6029,0.893525,5,31,0,36.3918,-0.410967,1.10858,3.3804,1.85906,1.65054,4.88003,5.19748,2.88154,0.633538,2.28434,3.44688,3.47789,-2.22045,3.04194,7.06382,4.44957,-0.799165,4.13555,2.12904,6.95311,0.37069,0.806666,5.59835,1.77463,7.05124,-1.51109,-6.7265,5.58806 --11.3715,0.889154,0.893525,5,31,0,26.4578,-1.59737,1.23191,1.35571,2.69046,1.75345,0.767002,2.44379,3.96158,0.024992,1.7638,3.78066,4.66015,7.24988,1.15881,1.10007,4.11834,3.09683,0.155308,4.5399,0.748533,3.79118,4.57199,0.423099,2.37601,-14.4222,0.770578,10.4252,11.2735 --15.8499,0.857474,0.893525,4,15,0,29.5171,2.43476,1.50713,1.92884,2.77349,1.01335,1.87034,2.08585,3.88198,-2.2753,1.58595,2.17638,6.64192,3.92944,3.17769,2.30277,4.83923,5.81069,-0.873489,8.31586,-1.91456,5.7738,1.1774,3.07942,1.64359,-15.5008,-1.27889,11.8396,11.5992 --18.7437,0.746723,0.893525,5,31,0,33.2984,-0.0870014,0.463049,1.49283,1.46958,2.9706,1.71548,4.43361,5.2709,-1.37717,1.60744,0.543283,7.44622,3.86872,3.91731,7.53448,10.2785,-2.23312,5.49854,-3.15497,9.86478,-2.38461,4.43433,2.50616,7.05429,5.06312,9.99993,-3.90686,-5.4211 --12.9633,1,0.893525,4,31,0,27.9833,0.598913,0.073102,1.90851,2.71358,1.78495,-0.111175,3.87791,4.05016,4.04309,2.28673,4.65292,0.811728,-3.14448,-1.96329,1.2727,-0.27311,3.56203,3.3262,-0.161473,2.07859,-6.08753,-1.84635,8.61342,-1.15744,2.46266,-0.420354,7.60601,2.24773 --16.3484,0.928541,0.893525,4,15,0,24.8196,-0.0972204,0.289936,2.20677,2.47257,2.67806,-0.127307,3.44603,3.32298,3.92502,1.61124,4.96354,1.82862,3.44622,5.92583,5.9689,8.87851,-1.181,2.20407,5.47847,6.68817,11.9138,7.77563,-0.754437,10.7743,5.0184,-5.1187,1.49706,12.4652 --15.5447,0.966041,0.893525,5,31,0,28.2391,0.540935,0.316937,0.0285717,2.90575,1.3846,0.126011,2.15429,4.38899,4.92827,2.57078,4.28986,2.89014,0.166011,-0.213577,3.20951,6.6438,2.59747,1.11799,-0.0324971,0.351183,-11.03,-7.50684,6.51788,-2.62339,-6.64103,2.46612,-1.84733,0.753983 --15.7924,1,0.893525,5,31,0,30.186,0.753111,0.840836,0.77223,3.58915,0.495886,0.00484069,2.37796,4.86974,-3.00532,1.4235,1.72819,5.01187,0.170603,-0.223511,3.22319,6.61569,6.66289,6.92654,3.80019,-3.06603,7.4781,12.1766,2.01822,11.9524,8.4944,1.57376,7.94936,7.27151 --13.4628,0.800836,0.893525,4,31,0,33.6137,-0.727197,0.915884,3.06762,2.75732,1.51989,3.83303,3.87213,3.14831,0.82732,-0.448496,5.431,6.94119,2.0435,3.40761,1.8972,2.19808,-6.25449,-4.09948,-2.67722,5.73768,2.21376,-6.7487,3.3023,8.87249,-0.287449,-5.7276,1.03712,0.262014 --8.22278,0.999749,0.893525,4,15,0,20.0451,-0.716648,0.933328,1.94049,4.23399,2.26334,2.11027,3.71213,3.56476,1.01466,1.95095,3.12511,5.83831,1.49864,-1.33817,2.78888,5.72285,7.57997,7.57973,7.46099,2.84711,-3.32764,5.82832,-2.71219,4.94732,5.0637,3.26952,7.10042,3.13314 --8.16379,0.767972,0.893525,4,31,0,20.5903,-0.347524,1.5841,2.77636,4.0691,0.684796,2.56303,4.6983,3.57013,0.470959,2.44415,2.34423,2.59702,3.06205,-0.147759,2.52342,6.86539,-3.17912,5.80023,9.61975,2.04597,8.33287,0.23502,4.46233,2.9372,2.36335,-1.14946,2.16361,7.11068 --14.1161,0.972367,0.893525,4,15,0,23.3676,0.308133,-0.116716,2.68651,3.12328,1.83991,1.41655,4.19716,3.87655,0.861021,3.90794,4.05192,0.68456,-0.147068,4.26839,3.26178,2.00569,5.32326,-0.256171,-2.50252,9.17464,0.377479,0.413871,10.4493,15.2196,-2.62369,10.006,7.23544,15.5968 --9.60701,0.516898,0.893525,4,31,0,33.6061,-0.565387,1.88187,1.58939,2.37464,0.0913128,2.38257,1.95752,4.15604,-0.532841,2.93603,4.80566,3.73026,1.75503,-0.740831,2.30428,5.54643,0.759396,7.38268,2.67528,6.61428,-3.82882,12.5164,-2.42155,7.04644,7.54739,5.16704,9.82216,-1.02947 --10.5119,0.7665,0.893525,5,31,0,22.8433,-0.22338,2.04303,0.943128,2.27952,1.56485,1.14917,2.09582,3.88878,1.60857,2.73294,1.6255,4.53522,2.13018,3.49857,4.04832,1.86817,-2.83503,-1.11475,6.87794,2.91604,1.57005,11.6571,-3.67621,10.5968,12.3834,5.45053,-2.52627,4.3462 --14.5432,0.701431,0.893525,5,31,0,26.4554,-1.3341,2.38334,3.33419,2.4197,0.374063,0.414773,3.73768,3.40433,1.07397,3.53628,3.56208,0.147749,4.74572,2.88865,4.46057,3.67558,5.23679,0.569216,0.362408,8.30778,0.722099,-7.24753,8.80226,-3.20274,-9.10909,-2.88411,3.10874,4.42274 --14.3902,0.902876,0.893525,5,63,0,25.2239,1.36358,-0.421276,0.677088,3.64865,1.65595,3.6072,2.24531,4.51797,-0.323074,1.39386,2.55452,1.51899,1.36846,-3.83534,1.3798,0.746713,-3.39494,0.921575,2.99683,2.32983,0.78782,11.1121,-2.82641,10.5862,10.9035,7.15664,4.82191,2.42039 --19.5423,0.410372,0.893525,5,31,0,40.5689,-0.656555,2.69075,0.194768,4.33557,2.71516,4.26339,1.3089,3.04198,-0.278191,1.38866,2.51994,1.52839,-2.72912,5.94102,0.184703,6.61148,-3.47793,0.94303,2.94342,2.42747,12.2563,7.14134,11.3153,1.22686,1.05222,4.38296,-3.18195,4.80171 --11.8877,0.981855,0.893525,5,31,0,31.2957,-0.20238,1.53877,2.10697,2.0408,-1.91848,2.21422,2.87418,3.66362,-0.291215,1.00581,1.83068,2.43185,-1.82146,2.23535,3.61768,10.4307,-4.44258,-2.29354,2.10672,2.95996,-2.49234,3.86532,6.63267,-0.974331,1.68979,5.67392,7.1435,8.41327 --14.973,0.95684,0.893525,4,15,0,31.6797,0.575013,1.00461,2.2856,2.82048,0.661137,-0.75182,3.47931,3.64592,3.32249,-0.300945,2.72721,5.58035,-1.37789,8.84242,5.53139,4.25109,0.0890137,-1.2573,2.16138,10.803,-0.901223,-1.76158,7.87689,9.1543,-6.72383,0.490737,-0.17059,14.7648 --12.1264,0.973743,0.893525,4,15,0,24.8798,0.525241,0.718613,1.37143,2.75803,1.40708,4.96739,2.39334,4.05925,1.48561,3.0448,3.69556,4.14657,-3.38767,4.45218,4.62678,5.18415,-6.54676,-2.38215,5.74129,5.1363,2.63655,1.11019,4.66473,10.509,-4.961,-3.27584,2.76521,11.0226 --11.4281,0.993588,0.893525,5,31,0,20.1226,0.261637,-0.0936127,1.42669,2.29963,1.74083,4.68062,2.80811,4.81874,0.486878,3.1752,3.29531,4.73228,4.02885,1.09273,-0.0428454,2.2766,7.34885,6.29397,0.873935,2.5077,-1.57991,4.48831,-0.857293,1.91288,8.34134,0.775334,12.066,2.14327 --13.2834,0.92017,0.893525,4,15,0,26.9755,-0.110918,2.3192,0.60869,1.94811,1.5501,1.98603,3.88644,3.83929,2.93328,2.28835,6.98891,6.21588,0.925887,1.1366,2.2087,1.96116,10.1938,6.71307,-2.47877,4.82819,0.306275,2.15262,-1.32181,1.2226,9.35031,0.161184,11.7557,2.5839 --17.3543,0.813258,0.893525,4,31,0,28.9077,0.0995882,-0.61489,4.21843,4.3885,0.546887,1.76988,3.18754,4.03555,-3.48162,3.98316,1.14112,0.00905213,-2.70441,4.09159,4.74723,6.29746,8.57389,5.83351,-4.24051,6.80179,-2.91162,6.64972,-1.02542,1.34013,3.11015,1.34268,4.66757,0.892395 --17.0597,0.664637,0.893525,5,31,0,31.1521,0.501819,-0.478273,4.0853,4.08763,0.669078,1.92712,3.13974,4.00349,-3.45465,3.78695,0.872742,0.864679,3.96227,-0.568575,2.23715,5.0573,9.0873,5.02007,-4.99889,6.41471,-2.23232,-5.58452,9.07098,3.30405,-5.03934,5.1364,0.202684,2.8957 --10.9863,0.964602,0.893525,4,15,0,25.7316,-0.70149,2.64124,0.0235415,2.13395,1.09315,1.88298,3.06093,3.97376,4.01068,0.623916,3.89958,0.87079,-1.67026,4.68024,4.02814,2.78739,-5.57176,1.35553,5.59385,2.5526,2.61444,1.72871,-2.93259,3.88191,-5.36364,-3.58446,1.98353,2.95125 --21.4667,0.645293,0.893525,4,15,0,32.8557,1.12247,3.97507,1.10746,2.485,0.87984,1.91876,3.61987,3.51378,-2.61342,4.64565,3.60121,7.61697,9.15455,-1.65464,0.355653,2.08391,10.1771,3.79972,4.69807,2.50111,5.89906,2.8902,4.61814,6.24979,-8.56209,-3.81923,-1.97165,-3.1841 --15.4172,0.929132,0.893525,5,63,0,31.7813,1.0772,2.88625,0.310453,2.93548,0.815666,1.75336,2.59251,4.2675,-2.22707,5.5239,3.42781,7.99967,-4.16985,2.82917,6.53844,5.55484,-8.63338,0.258797,2.89693,4.82539,0.344772,0.145851,5.62336,3.19072,5.28475,1.53057,7.31204,-1.83064 --15.9158,0.993213,0.893525,4,15,0,30.6295,-0.98606,0.974237,2.64128,3.50116,1.95136,1.86185,2.89247,5.06572,2.25936,1.03344,0.875431,-0.412529,6.24271,1.01984,2.63408,4.19259,-6.96394,-3.19594,8.67486,1.98242,-9.0392,9.03634,-1.49999,5.67064,8.32133,-2.96241,8.47937,-0.0686124 --13.5022,0.617236,0.893525,4,31,0,31.4789,-0.772851,0.663792,2.75894,3.64684,1.57597,2.10361,2.39282,5.18761,-0.247648,2.97274,5.11592,8.39684,1.6676,4.17048,4.093,-0.813395,9.58205,0.258444,-3.63758,4.25567,-0.564469,5.35201,7.77694,6.28437,3.82919,1.30368,9.68441,-5.7191 --10.1837,0.982855,0.893525,4,15,0,24.8148,-0.0813405,1.48675,1.59444,3.20333,0.138064,2.37394,2.21443,4.97182,1.56947,1.07592,2.40034,-0.0292575,3.95817,4.24088,4.06281,9.32499,3.39054,-2.12006,0.887821,1.77208,2.85528,2.88062,3.79955,-2.36749,3.25021,-0.288394,-4.25373,-5.77331 --15.2424,0.634658,0.893525,4,15,0,29.3555,0.26192,1.06184,1.32857,3.24646,0.105676,2.10103,2.2316,4.7272,0.397005,2.94057,3.61797,8.0502,2.05767,0.0946534,-2.54421,4.68743,0.227441,-0.527785,0.973414,7.77589,-2.18593,-9.66458,8.72383,3.12217,15.715,1.6949,-8.03492,-2.82362 --21.7031,0.512295,0.893525,5,31,0,35.6522,1.53774,0.564724,3.1462,3.01728,1.33731,-0.629154,2.70888,4.28114,2.13029,1.39936,6.69758,5.67412,0.357838,3.76323,0.129607,4.71674,0.431047,2.67697,3.31256,0.813414,5.44879,14.9263,-1.48969,6.1293,-22.753,-0.654993,9.77894,6.39091 --17.002,0.708165,0.893525,4,15,0,38.2451,1.66775,-0.0235217,3.20881,2.71261,0.990574,-0.768468,2.81723,4.40748,-0.0944332,2.54826,-0.707318,2.33946,-0.497456,1.02717,5.16429,1.48354,1.87775,-7.75441,4.56153,2.37241,-4.83378,3.83945,6.40429,2.9772,-10.6761,1.67171,10.3947,10.1916 --23.0368,0.87009,0.893525,4,15,0,33.9832,1.83167,2.01864,1.93584,4.5996,2.61348,4.14364,3.13296,5.13595,2.64525,1.33777,5.43077,6.61306,2.11652,-1.60444,1.78383,6.04533,0.584077,-4.62404,-0.630664,-2.03172,-2.84429,1.74386,10.4971,-0.370851,-19.3028,-1.2909,6.69696,14.1151 --16.9184,1,0.893525,4,15,0,33.9474,-1.84112,-0.113636,2.06362,1.50179,-0.845997,0.0688089,3.06622,2.64436,2.26826,2.43111,2.50971,1.5926,0.571359,5.55928,4.34064,2.01372,6.0988,9.11372,6.5976,6.85665,6.80288,-8.30991,1.31011,6.18976,2.70739,7.30028,-2.21959,0.575756 --13.4497,0.964031,0.893525,4,15,0,28.2657,2.06759,1.88517,2.03153,4.55671,2.68962,3.88013,2.97665,4.94323,-1.1051,0.461124,0.821261,3.88711,1.5784,-1.09376,2.04646,5.44215,-2.40918,-0.376104,3.03831,4.50095,3.40338,2.18021,6.44679,-3.86522,-4.53872,8.8569,-2.86883,0.101805 --13.3097,0.985689,0.893525,5,63,0,23.9978,-0.458641,1.81688,1.13067,4.55108,-0.587807,2.57821,4.3395,3.59766,1.80005,4.38142,5.78002,7.34884,2.61074,1.62711,5.34154,-1.13147,-6.19384,1.43466,3.87577,6.57833,0.80797,0.35862,6.48445,-1.30164,-3.47383,9.08207,0.444976,5.32321 --16.7548,0.992864,0.893525,4,15,0,25.9435,-0.611885,1.70722,1.91256,4.08753,-0.558718,2.26147,4.67506,2.724,1.42638,3.7584,6.13557,7.74223,-1.93648,1.70896,-1.53221,11.4993,6.4725,3.41124,1.63341,1.08779,-1.627,1.87967,-1.20276,4.74747,2.94572,2.71493,-6.95711,11.8567 --13.6977,1,0.893525,5,31,0,23.7709,-0.0348727,2.3753,1.91407,4.24065,-0.183338,2.48153,4.59809,2.66369,1.47017,3.75191,6.17902,7.7481,2.8035,4.73861,4.93427,-1.13856,-4.43991,0.557245,4.37004,6.92477,1.69042,2.56632,7.2931,0.636308,-4.63603,4.21434,3.18431,-3.83695 --12.9904,0.829105,0.893525,5,31,0,24.7757,0.954512,2.32357,2.24258,4.46564,-0.175143,2.48001,4.42127,2.25393,0.606598,0.516433,-0.0972527,1.0992,2.75168,3.51613,5.74296,-0.589358,3.52465,5.54552,1.34431,-0.528801,2.23151,-1.22841,0.833627,5.63139,6.32234,0.830982,2.23831,10.8867 --12.7779,0.809684,0.893525,4,31,0,30.9311,-1.59846,0.551151,1.69222,2.01716,1.90067,1.39215,1.68216,5.07921,0.539343,3.87064,6.0261,1.46666,4.39794,4.01495,3.05614,4.42868,2.16376,8.91362,2.91122,2.61688,1.75577,-4.57003,3.88422,8.54643,5.72136,-4.11807,-1.00082,14.6943 --14.7469,0.686421,0.893525,5,31,0,31.2114,-1.19389,-0.189501,1.1353,2.28576,1.53594,1.57361,1.23782,4.75839,1.39719,-0.785606,0.917998,7.69384,3.32751,3.75673,1.60609,3.90543,0.104839,5.53187,-4.8396,7.30008,1.23704,10.5911,2.03966,4.13257,-4.32783,7.34504,8.42392,-6.15992 --15.2475,0.986114,0.893525,4,31,0,27.8445,-1.08349,1.35892,1.39036,2.95446,0.24891,2.91195,2.26254,2.75983,-0.727421,2.11583,3.41033,0.589622,-8.07355,1.32732,4.86093,5.28108,0.468481,3.57796,0.0377441,7.45135,5.24168,2.42214,-2.72864,0.154655,0.209238,10.774,9.20091,-8.80637 --12.8691,0.902218,0.893525,4,15,0,28.0952,1.0945,0.315962,2.55991,3.02734,1.8883,1.14326,3.49762,5.12975,0.866947,-0.80464,1.99675,3.32733,9.47022,2.80686,1.82135,3.13032,6.65696,-1.78161,-0.546003,-0.834536,4.79197,1.67196,4.52639,-0.973493,6.70168,4.44846,-5.79521,2.38978 -# -# Elapsed Time: 0.031 seconds (Warm-up) -# 0.015 seconds (Sampling) -# 0.046 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-1.csv b/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-1.csv deleted file mode 100644 index 1c4eafe7bf..0000000000 --- a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-1.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 20 -# stan_version_patch = 0 -# model = stan_test_data_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 1 -# data -# file = /tmp/tmp2ipdytqf/_pz629gf.json -# init = 2 (Default) -# random -# seed = 81267 -# output -# file = /tmp/tmp2ipdytqf/stan_test_data-202102230057-1-wo553htr.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,eta.1.1,eta.2.1,eta.1.2,eta.2.2,eta.1.3,eta.2.3,eta.1.4,eta.2.4,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 -# Adaptation terminated -# Step size = 0.385518 -# Diagonal elements of inverse mass matrix: -# 10.1549, 1.29488, 0.830867, 0.877862, 0.947812, 0.829839, 0.697341, 0.945683, 0.979058, 0.880175 --2.53762,0.966042,0.385518,3,7,0,9.94669,4.93861,7.59555,0.687798,0.0208477,0.581306,-0.354748,0.728817,0.423159,-0.110977,-0.379925,10.1628,9.35395,10.4744,4.09568,5.09696,2.2441,8.15274,2.05287,-4.33402,-3.23069,-4.04613,-3.35169,-3.34563,-3.32323,-3.70637,-3.962,24.9445,6.84183,32.7516,-1.26242,8.78332,8.23955,22.3938,-30.9551 --3.33816,0.959191,0.385518,3,7,0,4.78594,4.2105,3.4602,0.404119,-0.463639,-0.146885,-0.760172,-0.955706,0.283386,0.405943,1.09034,5.60883,3.70225,0.903566,5.61514,2.60621,1.58015,5.19107,7.9833,-4.74113,-3.31388,-3.72129,-3.32476,-3.19644,-3.31822,-4.04187,-3.83421,-6.36696,1.9282,-3.29464,12.8701,19.3994,-4.26254,-5.29595,8.83474 --6.66471,0.902778,0.385518,3,7,0,10.9397,9.41289,3.87017,0.291728,-1.27416,0.106004,-0.379673,-0.121491,-1.31763,-1.75334,0.336399,10.5419,9.82315,8.9427,2.62717,4.48166,7.94349,4.31343,10.7148,-4.30429,-3.23814,-3.9701,-3.39585,-3.30165,-3.51606,-4.15814,-3.81186,-6.48702,10.8039,10.3472,6.79224,19.854,15.3535,-1.11585,9.35172 --7.1506,0.895685,0.385518,3,7,0,15.35,3.37853,3.25133,-1.31991,-0.130096,-1.22281,1.29657,0.937701,1.45588,-0.221657,-0.79866,-0.912935,-0.597229,6.42731,2.65785,2.95555,7.5941,8.11207,0.781829,-5.48467,-3.59109,-3.86511,-3.39474,-3.21275,-3.49651,-3.71038,-4.00352,-3.47308,8.96633,18.6681,3.47742,21.3402,10.06,32.3956,-0.313593 --7.24426,0.985366,0.385518,4,15,0,12.356,7.61691,5.77209,1.8573,-0.653496,1.08093,-1.66562,-1.2252,-0.917503,0.0637779,0.403957,18.3374,13.8562,0.544958,7.98504,3.84487,-1.99722,2.321,9.94858,-3.83447,-3.393,-3.71607,-3.32084,-3.26106,-3.35396,-4.45068,-3.8158,30.4123,11.0991,21.9865,-1.31762,-9.74822,-9.8988,0.463525,25.319 --9.93085,0.839441,0.385518,3,7,0,14.9675,13.1323,0.738575,1.16694,1.14407,1.57696,-0.332227,-0.302995,0.0847276,-0.493177,0.0149621,13.9941,14.297,12.9085,12.768,13.9773,12.8869,13.1948,13.1433,-4.06291,-3.41978,-4.18582,-3.45431,-4.50084,-3.90071,-3.33697,-3.81133,4.5756,15.161,2.69951,13.9869,15.2501,20.4692,12.9592,-20.7697 --7.81605,0.927431,0.385518,3,7,0,13.4071,10.6243,1.7915,1.78277,0.756987,0.901341,-0.484762,-0.40294,1.04253,-0.142778,-1.05151,13.8182,12.2391,9.90247,10.3685,11.9805,9.75589,12.492,8.74057,-4.07393,-3.31137,-4.01667,-3.36372,-4.15624,-3.63363,-3.37321,-3.82571,0.157246,31.882,17.4461,15.4002,9.78053,8.17528,16.6432,-13.8994 --6.45841,0.995063,0.385518,4,15,0,11.6149,5.06787,6.16347,0.303549,0.173719,2.06496,-0.799385,-0.231615,-0.262808,0.803892,-1.15831,6.93878,17.7952,3.64032,10.0226,6.13858,0.140886,3.44806,-2.07134,-4.61271,-3.70125,-3.77765,-3.35459,-3.43073,-3.31988,-4.28032,-4.11487,20.7176,21.6496,2.07108,7.76042,4.25999,-3.1521,6.67988,9.80551 --8.43013,0.932174,0.385518,4,15,0,15.74,4.92484,0.410107,-0.0186004,-0.467561,-2.03042,1.10922,-0.202476,0.874985,-0.658854,1.47117,4.91721,4.09215,4.8418,4.65464,4.73309,5.37974,5.28368,5.52818,-4.81102,-3.29788,-3.81163,-3.33956,-3.31905,-3.3961,-4.03005,-3.87395,8.4989,3.63888,1.91457,-2.53732,14.6687,4.152,14.6282,1.1654 --4.22323,0.99988,0.385518,3,7,0,10.1219,5.55073,2.52881,0.341519,-0.340181,0.336258,0.152026,0.373228,0.0587043,-1.67025,-0.543497,6.41437,6.40106,6.49455,1.32698,4.69047,5.93517,5.69918,4.17633,-4.66241,-3.23431,-3.86759,-3.44982,-3.31605,-3.41748,-3.97807,-3.90377,15.742,4.66187,13.4889,-2.85989,3.75199,20.3686,-12.4496,-14.8644 --3.73383,0.987907,0.385518,4,15,0,7.03525,1.63385,8.04543,1.07466,-0.849183,0.784832,0.178971,-0.418864,1.41385,1.33693,-0.0250151,10.2799,7.94817,-1.7361,12.3901,-5.1982,3.07375,13.0088,1.43259,-4.32477,-3.22154,-3.69465,-3.43689,-3.22496,-3.3346,-3.34608,-3.98164,22.133,-10.2838,23.849,12.992,1.73386,18.8017,13.6438,-16.3598 --9.78357,0.748074,0.385518,4,15,0,13.7284,7.52032,1.09036,0.024407,0.895515,-0.53958,1.54634,-1.09424,0.892892,2.55757,0.668077,7.54693,6.93198,6.3272,10.309,8.49676,9.2064,8.4939,8.24877,-4.55661,-3.22723,-3.86144,-3.36208,-3.67288,-3.59512,-3.67335,-3.83103,-7.59594,-6.2725,4.04512,20.0134,21.5596,0.0967351,21.449,27.6762 --5.35381,0.975301,0.385518,4,31,0,13.567,1.57827,2.37307,0.589367,-0.684788,-0.919043,0.343651,0.0212604,-0.490333,1.57821,-0.503307,2.97688,-0.602686,1.62872,5.32349,-0.046781,2.39378,0.414674,0.383886,-5.01845,-3.59155,-3.73337,-3.32845,-3.12177,-3.32486,-4.76774,-4.01754,18.4008,2.36735,9.39143,-6.67736,0.372087,-8.18885,2.57163,31.4124 --6.13778,0.979817,0.385518,4,15,0,9.37806,4.02661,4.62906,-0.160315,-1.67963,1.24366,-1.28472,-0.246801,1.58669,-0.498222,-0.693775,3.28451,9.78358,2.88415,1.72032,-3.74848,-1.92041,11.3715,0.815087,-4.98445,-3.23743,-3.75915,-3.43202,-3.16279,-3.35208,-3.44121,-4.00237,-22.1287,-0.717723,23.2681,-11.0546,-3.1639,-9.02577,15.3855,-22.5293 --4.989,0.980516,0.385518,3,7,0,9.56005,4.91252,3.60577,-0.162747,-1.87309,0.626013,-0.706611,-0.0581316,1.21442,-0.280867,-0.912667,4.32569,7.16978,4.70291,3.89978,-1.84142,2.36464,9.29145,1.62165,-4.87248,-3.22497,-3.80742,-3.35655,-3.12053,-3.32453,-3.60072,-3.97553,-13.7668,7.23587,-8.99417,-17.7399,-2.39799,13.0608,13.9166,12.3939 --5.16183,0.982078,0.385518,3,7,0,7.5108,3.52963,3.29719,0.087827,0.727202,-0.89012,-0.322912,-0.0302405,-0.698453,1.36293,0.937955,3.81921,0.594735,3.42992,8.02348,5.92736,2.46493,1.2267,6.62225,-4.92635,-3.49571,-3.77228,-3.32116,-3.41239,-3.3257,-4.62824,-3.85394,1.72866,2.85665,4.30748,8.72765,-4.54318,14.6248,-2.09226,27.0661 --4.8336,0.986445,0.385518,3,15,0,7.3657,4.52102,0.643939,-0.52025,0.825182,0.0245879,1.0294,0.0737327,0.547645,-0.139447,0.449,4.18601,4.53685,4.5685,4.43122,5.05238,5.18389,4.87367,4.81014,-4.88722,-3.28149,-3.80341,-3.3441,-3.34228,-3.38917,-4.08303,-3.88909,4.15671,14.9379,-36.7371,8.96178,-1.34474,1.89921,14.5412,-20.4028 --9.42971,0.914575,0.385518,3,7,0,12.7583,4.6659,0.228477,-2.28693,0.517775,0.0331685,1.5803,0.23563,0.741719,1.02357,0.167314,4.14339,4.67348,4.71974,4.89976,4.7842,5.02696,4.83537,4.70413,-4.89174,-3.27685,-3.80792,-3.33506,-3.32269,-3.38384,-4.08806,-3.89145,-1.24883,2.01653,-8.6517,-12.1697,-3.07992,0.201557,-11.883,1.9274 --8.90459,0.670036,0.385518,3,15,0,14.9381,2.2788,0.347543,2.23557,0.0661138,-0.120015,-0.733511,-0.517189,0.269947,0.187428,1.82469,3.05576,2.23709,2.09906,2.34394,2.30178,2.02388,2.37262,2.91296,-5.00969,-3.38758,-3.74231,-3.40642,-3.18346,-3.32117,-4.4426,-3.93674,1.00353,-17.9763,23.9538,4.61803,-5.17028,8.2363,-7.07416,14.6875 --5.47899,1,0.385518,3,7,0,12.3047,5.76814,3.59837,-1.63909,0.168679,0.600025,0.0788644,-0.125076,0.574417,0.0953859,-1.352,-0.129903,7.92725,5.31807,6.11137,6.37511,6.05192,7.8351,0.90313,-5.38541,-3.22155,-3.82666,-3.3201,-3.45192,-3.4223,-3.73815,-3.99934,4.2739,1.13124,31.368,17.8209,9.78776,9.29246,23.5049,-19.024 --4.97416,0.970693,0.385518,4,15,0,9.73992,2.70012,4.91874,2.09348,-0.29377,-0.249925,-0.877311,0.20345,0.176898,0.0358771,1.46853,12.9974,1.4708,3.70084,2.87659,1.25514,-1.61514,3.57023,9.92341,-4.12716,-3.43468,-3.77922,-3.38709,-3.14756,-3.34509,-4.26261,-3.81596,15.6166,-3.64339,15.3275,7.44224,-0.769405,-13.742,-2.83815,-2.03859 --6.36068,0.987685,0.385518,4,15,0,8.07034,7.73223,3.83768,-1.63378,-0.50892,0.371623,0.602279,-0.45643,0.594068,0.0718048,-1.55744,1.46229,9.1584,5.9806,8.0078,5.77916,10.0436,10.0121,1.75528,-5.19199,-3.22823,-3.84905,-3.32103,-3.39985,-3.65479,-3.54056,-3.97128,-6.44324,-3.17129,-7.58395,-1.79422,11.652,30.3915,14.7857,11.0128 --9.31261,0.78922,0.385518,4,15,0,15.8795,5.78452,0.897225,-0.105096,-1.38567,2.0229,0.184502,-0.830359,0.36436,0.36061,-2.30594,5.69022,7.59952,5.0395,6.10807,4.54126,5.95006,6.11143,3.71557,-4.73305,-3.22233,-3.81776,-3.32012,-3.3057,-3.41809,-3.92821,-3.91522,16.4746,-0.713578,21.0388,12.8278,3.99817,-6.96953,4.98131,14.0204 --2.83946,0.973989,0.385518,3,7,0,13.7,0.855519,4.44649,0.2473,-0.142386,0.330927,-0.502948,0.0147535,0.255781,0.0846591,0.668065,1.95514,2.32698,0.92112,1.23195,0.222401,-1.38084,1.99285,3.82606,-5.1344,-3.38244,-3.72156,-3.45431,-3.12539,-3.34026,-4.50267,-3.91242,2.30554,8.14551,16.3042,0.118723,10.5168,-1.65256,12.2299,16.4283 --4.55654,0.932255,0.385518,4,15,0,7.74168,7.5806,2.5593,0.978325,-0.282863,0.0189342,0.261092,-0.38687,0.757029,0.499252,-1.48681,10.0844,7.62905,6.59048,8.85833,6.85666,8.24881,9.51806,3.7754,-4.34025,-3.22221,-3.87117,-3.3311,-3.4972,-3.53396,-3.58124,-3.9137,-28.486,9.89071,9.88196,14.4325,2.20966,14.5645,0.795969,27.3376 --5.8619,0.829295,0.385518,4,15,0,8.53659,0.309172,6.71926,1.21486,0.613581,0.640656,0.676749,0.248878,1.04544,-0.149178,2.3446,8.47212,4.61391,1.98145,-0.693192,4.43199,4.85643,7.33375,16.0631,-4.47441,-3.27885,-3.73999,-3.5614,-3.2983,-3.37829,-3.79037,-3.83479,0.498617,-0.271637,-22.1082,-3.87071,11.3729,-9.11295,2.41018,27.9464 --6.88446,0.947382,0.385518,3,7,0,10.7029,2.34919,4.50793,0.289766,0.888612,0.918965,0.483983,1.31171,2.11393,1.38663,0.947284,3.65544,6.49182,8.26229,8.6,6.35499,4.53095,11.8786,6.61948,-4.94401,-3.2329,-3.93926,-3.32741,-3.45009,-3.36835,-3.40888,-3.85399,-2.64741,19.5078,6.97917,10.8551,-10.5744,-6.83709,4.09572,16.1418 --6.73486,0.932114,0.385518,4,15,0,12.0298,3.37034,0.624562,0.0667308,-1.37556,-0.37608,-0.628736,-0.703525,-1.47888,-0.612337,-0.707795,3.41201,3.13545,2.93094,2.98789,2.51121,2.97765,2.44668,2.92827,-4.97048,-3.33984,-3.76023,-3.38335,-3.19227,-3.333,-4.43105,-3.93631,-28.0447,-7.00503,-14.4767,0.972224,12.8499,2.66021,-1.40068,6.99214 --5.11411,0.993281,0.385518,3,7,0,8.81416,6.46842,0.823389,-0.50248,-1.398,-0.451216,-0.832872,-0.0958422,-0.474771,-0.199448,-0.0927507,6.05468,6.09689,6.38951,6.3042,5.31732,5.78264,6.0775,6.39205,-4.6972,-3.23963,-3.86372,-3.31883,-3.36251,-3.41135,-3.93225,-3.85784,-11.9775,11.6983,23.8158,19.2096,2.50373,8.05658,5.48446,28.6585 --4.88538,0.97977,0.385518,4,15,0,8.46029,5.49517,7.59626,1.08384,-0.143279,-0.389317,1.59932,-0.0636603,0.508335,0.610142,-0.609044,13.7283,2.53782,5.01159,10.13,4.40679,17.644,9.35661,0.868712,-4.07961,-3.3707,-3.81689,-3.35732,-3.29662,-4.46155,-3.59506,-4.00052,16.7155,6.60621,3.52444,-8.94163,2.81148,2.73293,11.235,-54.189 --4.07941,0.995915,0.385518,3,7,0,5.87984,5.85725,4.99906,0.996943,-0.0827081,-0.298859,1.3079,0.0335994,0.944327,0.630089,-0.587473,10.841,4.36324,6.02521,9.0071,5.44379,12.3955,10.578,2.92044,-4.28128,-3.28765,-3.85062,-3.33348,-3.37247,-3.85344,-3.49695,-3.93653,17.1138,14.0845,7.39536,5.42921,-9.0669,17.6145,13.4487,9.60113 --9.09916,0.894537,0.385518,3,15,0,12.3263,0.875234,2.64948,-1.06029,1.33421,0.444047,-0.738284,2.58363,0.439281,-0.129683,0.880781,-1.93399,2.05173,7.72052,0.531641,4.41021,-1.08084,2.0391,3.20885,-5.6182,-3.39843,-3.916,-3.48973,-3.29684,-3.33473,-4.49528,-3.92858,1.5259,-8.06266,13.8231,2.95262,13.1982,-3.55382,13.361,1.57095 --4.58408,0.970131,0.385518,3,7,0,14.3263,6.94076,3.97256,1.86501,-0.231184,0.590157,-0.786658,-0.523912,0.674406,-1.04914,-0.0222608,14.3496,9.2852,4.85949,2.77299,6.02237,3.81571,9.61988,6.85233,-4.04106,-3.22978,-3.81217,-3.39067,-3.42057,-3.3496,-3.57266,-3.8502,15.874,31.6159,-17.9676,-3.58194,14.9283,5.62656,-5.25238,17.0129 --6.98133,0.953514,0.385518,3,7,0,10.5324,7.66985,2.10586,-1.7456,-0.350845,-1.50503,0.568525,-0.441514,-0.583586,-0.848883,0.135877,3.99387,4.50046,6.74008,5.88222,6.93102,8.86709,6.4409,7.95599,-4.90764,-3.28276,-3.87682,-3.322,-3.50444,-3.57258,-3.88959,-3.83455,8.73913,18.1782,15.0726,19.0434,7.23404,13.9996,-1.53636,-11.1231 --7.6502,0.978475,0.385518,4,15,0,12.4554,2.32073,5.93354,3.06404,-0.477109,1.76305,-0.991932,0.105832,0.872031,0.0673789,0.454563,20.5013,12.7818,2.94869,2.72053,-0.510213,-3.56494,7.49497,5.0179,-3.75194,-3.33585,-3.76064,-3.39251,-3.11764,-3.40294,-3.7733,-3.88454,5.90315,19.3902,-19.8535,-3.99973,-5.47118,7.36528,9.15742,-7.94343 --5.51595,0.923246,0.385518,4,15,0,16.4253,5.69204,2.52078,-0.981525,0.76989,-1.48137,0.166202,-0.0620912,0.143628,-0.703463,0.872804,3.21784,1.95784,5.53552,3.91877,7.63276,6.111,6.05409,7.89218,-4.99178,-3.40406,-3.83382,-3.35607,-3.57619,-3.42478,-3.93505,-3.83535,8.90096,4.99362,15.5042,-11.2476,14.0226,4.2297,4.1068,-2.57713 --6.80699,0.754086,0.385518,4,15,0,11.6153,1.22765,6.08415,3.06632,0.153416,-0.340988,0.229907,-0.392792,1.49045,0.0135663,1.11007,19.8836,-0.846975,-1.16216,1.31019,2.16105,2.62643,10.2958,7.98146,-3.77338,-3.61287,-3.69812,-3.45061,-3.17784,-3.32776,-3.5183,-3.83423,2.52469,3.838,-24.0258,-8.59163,26.8909,23.7692,7.9264,1.21788 --7.41047,0.905268,0.385518,4,15,0,15.3353,6.09977,0.933414,-1.75466,-0.606113,0.379762,-0.417874,1.39294,-0.633389,1.03524,-0.795188,4.46195,6.45425,7.39996,7.06608,5.53402,5.70972,5.50856,5.35753,-4.85819,-3.23347,-3.90278,-3.31685,-3.3797,-3.40849,-4.0017,-3.8774,-11.8313,15.1833,30.4937,8.94292,-10.904,17.0267,16.8803,1.29304 --5.3386,0.982885,0.385518,3,7,0,10.9691,2.50444,0.631867,-0.583179,0.392186,-0.101127,-0.787991,-0.488301,-0.471787,0.276816,1.16553,2.13594,2.44054,2.19589,2.67935,2.75224,2.00653,2.20633,3.24089,-5.11354,-3.37606,-3.74426,-3.39397,-3.20307,-3.32102,-4.46872,-3.92771,10.7393,-10.2301,-30.3669,-23.4943,-7.89512,5.44133,6.14484,-6.44314 --5.34607,0.950942,0.385518,3,7,0,11.3634,4.27801,2.66679,-1.22258,-0.802335,-0.100533,-0.603343,0.73167,-0.791857,1.07264,0.249875,1.01765,4.00992,6.22922,7.13851,2.13836,2.66903,2.1663,4.94438,-5.24487,-3.30113,-3.85789,-3.31691,-3.17696,-3.32834,-4.47505,-3.88613,-3.43404,3.45638,11.0279,13.2045,6.42901,6.99667,-2.28254,12.501 --6.3635,0.943308,0.385518,3,7,0,10.549,7.61729,1.43994,0.578075,0.301735,1.35702,-1.11711,0.432849,-1.3834,0.0630333,-0.5497,8.44968,9.57132,8.24057,7.70805,8.05177,6.00871,5.62528,6.82575,-4.47636,-3.23387,-3.93831,-3.31891,-3.62193,-3.4205,-3.98719,-3.85063,7.02683,19.3219,6.59931,11.065,8.874,-9.25623,8.09053,-10.6779 --10.2399,0.769704,0.385518,3,15,0,13.6523,12.3474,0.201216,-1.46804,0.377277,0.0916199,-0.427285,-0.995419,-0.0948922,0.645859,-1.09843,12.052,12.3659,12.1471,12.4774,12.4234,12.2615,12.3283,12.1264,-4.19218,-3.31683,-4.13964,-3.44081,-4.22843,-3.84089,-3.38236,-3.80933,-12.7873,17.6958,19.6991,5.93023,15.7857,4.50471,17.7322,19.5055 --6.13704,0.991934,0.385518,3,7,0,14.7107,-2.0218,6.16007,-1.2139,0.560675,0.377817,0.584728,0.0548108,0.664885,-0.302395,-0.0718026,-9.49954,0.305577,-1.68417,-3.88458,1.43199,1.58016,2.07393,-2.46411,-6.75191,-3.51754,-3.69491,-3.8064,-3.15267,-3.31822,-4.48972,-4.13217,-27.8461,4.26949,26.4238,1.19109,3.33817,-5.65024,-2.91155,-2.4108 --7.99962,0.813875,0.385518,3,7,0,11.7312,-0.121851,0.282073,-0.099829,-0.371315,1.03676,0.596666,0.222992,1.10122,-0.615686,1.42164,-0.15001,0.17059,-0.0589513,-0.295519,-0.226589,0.0464522,0.188774,0.279155,-5.38793,-3.52802,-3.70842,-3.53677,-3.11986,-3.32059,-4.80772,-4.02131,9.79128,6.35704,-11.9661,-1.27279,-7.9501,-22.7369,12.9556,-4.53725 --6.92934,0.997463,0.385518,4,15,0,11.9689,6.51421,2.11696,1.31431,0.814286,0.674173,-0.762103,2.17968,0.725007,-0.133548,0.137792,9.29654,7.9414,11.1285,6.23149,8.23802,4.90086,8.04902,6.80591,-4.40437,-3.22154,-4.0814,-3.31927,-3.64296,-3.37971,-3.71663,-3.85094,22.9634,10.1471,-10.3462,18.0896,12.9567,28.617,32.39,-5.85631 --7.88961,0.980075,0.385518,3,7,0,11.964,3.07489,0.602558,-1.04716,-1.36955,-0.189381,0.158265,-2.28588,-0.0953507,0.0819263,0.257635,2.44392,2.96078,1.69752,3.12426,2.24966,3.17026,3.01744,3.23013,-5.07835,-3.34849,-3.73463,-3.37891,-3.18135,-3.3363,-4.34391,-3.928,5.35235,-2.31875,-10.1287,-0.891308,2.68515,-2.71522,4.4389,13.9831 --10.0767,0.95137,0.385518,3,7,0,13.1783,-0.0272163,1.88459,-0.0870129,-0.677422,-0.988744,-0.0958093,-3.11708,0.114642,0.317641,1.22888,-0.1912,-1.89059,-5.90164,0.571406,-1.30388,-0.207777,0.188837,2.28871,-5.39309,-3.71064,-3.70797,-3.48761,-3.11673,-3.32286,-4.80771,-3.95485,7.58542,-10.2201,-22.5582,-3.74292,10.9229,3.29132,2.92426,11.3698 --4.37112,0.961526,0.385518,3,7,0,15.3842,8.58843,5.59297,1.24316,-0.233601,0.810756,0.354934,0.386208,1.06016,-0.448637,0.575198,15.5414,13.123,10.7485,6.07921,7.2819,10.5736,14.5179,11.8055,-3.97192,-3.35275,-4.06071,-3.32034,-3.53956,-3.69557,-3.28215,-3.80937,14.4868,34.767,-30.1939,-11.0898,17.5073,17.5748,10.0361,8.31489 --10.5014,0.844231,0.385518,3,7,0,13.1534,-0.213524,2.18194,0.76329,1.3585,-0.516719,-0.83397,-0.138038,-1.65635,0.285895,-2.3752,1.45193,-1.34097,-0.514714,0.41028,2.75064,-2.0332,-3.82759,-5.39607,-5.19321,-3.65779,-3.70359,-3.49627,-3.203,-3.35485,-5.60374,-4.27632,15.0307,-7.66139,-8.64407,-17.5014,11.4432,19.1284,-4.69091,3.78844 --10.2303,0.902044,0.385518,4,15,0,16.7944,8.72061,4.37247,0.508335,-1.34679,0.806423,0.715662,-0.0509079,2.3509,-0.0302033,2.6605,10.9433,12.2467,8.49801,8.58854,2.8318,11.8498,18.9998,20.3536,-4.2735,-3.31169,-3.94974,-3.32726,-3.2068,-3.80327,-3.22652,-3.917,27.7305,19.1747,12.3081,29.8217,14.8439,18.674,1.44146,43.2551 --9.38583,0.987841,0.385518,3,7,0,13.2001,8.03106,4.82257,0.624533,-2.14674,0.638486,1.4771,-0.174676,1.82874,0.0322459,1.8703,11.0429,11.1102,7.18867,8.18656,-2.32176,15.1545,16.8503,17.0507,-4.26597,-3.26989,-3.89428,-3.32265,-3.12695,-4.14472,-3.22813,-3.84868,-2.08377,21.4554,-8.35505,-1.04204,-8.15702,23.9424,17.3311,26.3083 --9.03058,0.745859,0.385518,3,7,0,16.0803,8.25367,2.45723,2.03653,-1.67585,0.161458,0.43535,-1.659,0.480953,1.31725,1.35688,13.2579,8.65041,4.17712,11.4905,4.13573,9.32343,9.43549,11.5878,-4.10994,-3.22364,-3.79213,-3.40016,-3.27898,-3.60311,-3.58828,-3.80957,1.33441,2.209,27.149,6.58436,5.76115,3.71115,2.45152,4.7717 --3.98979,1,0.385518,3,7,0,11.2048,3.87252,13.6078,1.21188,-0.0636991,-0.242875,-0.332328,0.227487,0.80044,-0.915323,1.19708,20.3636,0.567519,6.96814,-8.58305,3.00572,-0.649738,14.7648,20.1622,-3.75658,-3.49773,-3.8856,-4.32027,-3.21521,-3.32808,-3.27386,-3.91212,24.026,-18.5807,-10.8881,-15.735,0.232869,13.7579,11.6572,0.200312 --6.92743,0.766121,0.385518,3,7,0,10.0746,2.47179,1.1079,1.97552,-0.397171,0.521345,-0.888404,-0.631385,-1.35001,-0.0394357,0.425169,4.66047,3.04939,1.77227,2.4281,2.03176,1.48752,0.976109,2.94283,-4.83751,-3.34407,-3.73601,-3.40321,-3.1729,-3.31782,-4.67059,-3.9359,4.48,-9.57389,-17.5989,18.8861,16.2521,10.3354,0.345149,31.0504 --5.36478,0.99824,0.385518,3,7,0,8.79274,1.61055,17.7624,-0.150047,0.367495,0.501781,-0.630448,-0.0144695,1.42126,0.371581,-0.547516,-1.05464,10.5234,1.35354,8.2107,8.13813,-9.58769,26.8555,-8.11462,-5.50293,-3.25336,-3.72855,-3.32289,-3.63163,-3.78005,-3.61362,-4.43369,-11.1833,-8.68211,18.0288,20.2104,-2.48271,-7.89051,26.4748,6.13681 --8.74535,0.300739,0.385518,4,15,0,12.0981,9.58494,0.0578228,0.367638,-0.342746,-0.776245,0.191889,0.24982,-0.119066,-0.404803,1.43731,9.6062,9.54006,9.59939,9.56154,9.56513,9.59604,9.57806,9.66805,-4.37884,-3.23338,-4.00158,-3.34395,-3.80519,-3.62217,-3.57617,-3.8177,14.444,16.6296,1.47831,-1.98667,8.67654,-5.14656,27.5317,-1.08304 --7.11766,0.997187,0.385518,4,15,0,11.0196,0.65525,0.475364,0.188736,-0.41268,-0.034396,-0.0791995,0.422001,0.756618,0.37738,-2.00293,0.744968,0.638899,0.855854,0.834643,0.459077,0.617601,1.01492,-0.296874,-5.27774,-3.49245,-3.72057,-3.47391,-3.1293,-3.31744,-4.66399,-4.04266,-21.5667,13.0256,24.9448,12.5062,2.48734,2.06489,-0.479752,-13.187 --8.42554,0.943083,0.385518,3,15,0,10.8431,3.34737,0.416912,0.677596,-1.28877,-0.724848,-0.00222684,1.04656,0.7309,-0.0414743,-2.14981,3.62986,3.04517,3.78369,3.33007,2.81006,3.34644,3.65209,2.45108,-4.94677,-3.34428,-3.78141,-3.37249,-3.20577,-3.33958,-4.25084,-3.95002,-1.13697,-4.90662,-16.8324,-21.2917,15.939,18.2511,-3.77809,-7.26667 --4.83935,0.979581,0.385518,3,7,0,11.7258,7.30249,1.64025,0.713342,-0.189876,-0.576369,1.10446,0.756729,-0.7037,-0.22505,0.284273,8.47256,6.3571,8.54372,6.93335,6.99105,9.11409,6.14825,7.76877,-4.47437,-3.23502,-3.9518,-3.31685,-3.51034,-3.58889,-3.92384,-3.83694,16.2134,27.8598,2.16748,6.18181,11.2135,7.26345,-1.74854,-19.1169 --4.50898,0.970543,0.385518,4,15,0,8.89134,1.4397,8.63349,-0.475962,-0.0852442,0.447936,-1.16195,-0.843442,1.06012,0.801336,-0.262156,-2.66951,5.30695,-5.84214,8.35803,0.703749,-8.59194,10.5922,-0.823615,-5.71725,-3.25779,-3.7073,-3.32445,-3.13408,-3.69702,-3.4959,-4.06308,0.461731,17.8886,-23.8415,8.21258,6.18255,24.548,11.1966,5.25961 --7.66854,0.901507,0.385518,3,7,0,9.95627,5.40073,2.30111,1.30638,-0.382087,-0.0625468,-1.06603,0.94751,2.35299,1.64147,0.175612,8.40686,5.25681,7.58105,9.17793,4.52151,2.94767,10.8152,5.80483,-4.48008,-3.25915,-3.9102,-3.33643,-3.30435,-3.33251,-3.47963,-3.86854,14.6543,1.46258,28.1996,22.7097,-0.791761,-2.68449,14.275,-5.61981 --7.68674,0.728836,0.385518,4,15,0,15.3278,1.29642,1.25025,0.42085,0.470659,1.1837,0.495823,-0.333964,-0.696286,-1.09089,2.14779,1.82259,2.77634,0.878882,-0.0674659,1.88486,1.91632,0.42589,3.98169,-5.14978,-3.35796,-3.72091,-3.52323,-3.16754,-3.3203,-4.76577,-3.90853,-21.3065,-12.6966,2.52339,16.7752,-1.00947,-15.3943,0.975191,2.93392 --6.48153,0.999874,0.385518,3,7,0,10.0075,4.84572,1.42743,-0.0994755,0.367389,0.805546,0.49153,-0.46429,-1.6018,-0.863649,1.46024,4.70373,5.99558,4.18298,3.61293,5.37015,5.54735,2.55927,6.93012,-4.83302,-3.24161,-3.7923,-3.36424,-3.36665,-3.40228,-4.4136,-3.84898,20.4049,10.5733,-8.104,-2.48242,-0.356176,10.3819,-7.7465,15.0684 --5.73338,0.995855,0.385518,4,15,0,10.0911,3.71854,4.76896,0.590936,-0.382821,-0.778159,-0.690388,0.425185,2.02946,0.862999,-1.44935,6.53668,0.00753325,5.74623,7.83414,1.89288,0.42611,13.397,-3.19336,-4.65071,-3.54092,-3.84093,-3.31971,-3.16782,-3.31819,-3.32746,-4.16554,17.8629,-4.19737,18.1567,31.3056,8.14928,6.68496,21.5818,17.8662 --4.20503,0.994426,0.385518,3,7,0,8.02495,7.14644,6.03358,0.616973,-0.333094,0.24408,-0.600756,0.111881,-0.603075,-0.938221,1.1607,10.869,8.61912,7.82149,1.4856,5.13669,3.52173,3.50774,14.1496,-4.27915,-3.22344,-3.92025,-3.44249,-3.34863,-3.34311,-4.27165,-3.81644,10.7152,12.7202,-2.12832,-4.27061,4.67588,26.1313,1.34435,11.379 --6.61141,0.884788,0.385518,3,7,0,8.56737,11.3726,2.18342,0.852096,-0.0032377,-0.614963,-0.155772,-0.928771,1.01338,-0.717312,-1.05718,13.2331,10.0299,9.34474,9.80645,11.3656,11.0325,13.5853,9.06438,-4.11157,-3.24213,-3.98917,-3.34938,-4.06004,-3.73275,-3.31897,-3.82261,43.0482,18.2437,6.97157,-16.3146,18.0178,0.0984541,1.05673,42.0531 --7.13137,0.992683,0.385518,3,7,0,10.8179,9.10119,0.598424,1.78245,-0.263949,0.44481,-0.25318,-0.866109,-0.473168,-0.88948,0.183839,10.1678,9.36737,8.58289,8.5689,8.94323,8.94968,8.81803,9.2112,-4.33362,-3.23087,-3.95356,-3.32701,-3.72646,-3.57798,-3.64307,-3.82131,3.31454,8.49421,12.9164,7.86452,2.09311,21.2439,8.96421,-34.4188 --7.43029,0.809492,0.385518,3,15,0,10.6048,-0.452777,0.165835,-0.899755,0.827939,-0.247912,-0.173668,0.585277,0.602609,0.433573,-0.259451,-0.601988,-0.493889,-0.355718,-0.380876,-0.315476,-0.481577,-0.352843,-0.495803,-5.44493,-3.58225,-3.70518,-3.54195,-3.11906,-3.3259,-4.90566,-4.05027,17.613,4.91262,11.0759,-16.2914,3.42483,-18.9102,-4.21484,-22.6242 --11.8765,0.938242,0.385518,3,7,0,15.9133,7.12823,0.0114346,0.0944311,-1.36368,1.18507,0.925949,1.05798,-0.375035,-1.01414,-1.27822,7.12931,7.14178,7.14032,7.11663,7.11263,7.13881,7.12394,7.11361,-4.59496,-3.22521,-3.89236,-3.31689,-3.52243,-3.47256,-3.81297,-3.84616,37.2655,-3.31172,1.75943,25.6705,6.42084,22.6965,-1.52051,15.8952 --6.45893,0.422954,0.385518,5,47,0,19.8282,2.74592,3.15347,0.0100505,1.33385,-1.0078,-0.969309,-1.08235,0.734091,0.607119,1.51464,2.77762,-0.43214,-0.667246,4.66045,6.95219,-0.310763,5.06086,7.52228,-5.0407,-3.57703,-3.70216,-3.33945,-3.50652,-3.32393,-4.05863,-3.84025,6.08449,17.2055,-18.606,-1.33401,9.93126,0.194647,13.6128,28.3762 --3.39994,0.978062,0.385518,3,7,0,9.33878,5.35524,5.16323,0.860308,-0.36495,0.170295,0.375614,0.258907,-0.419493,-0.33692,1.16184,9.79721,6.23451,6.69204,3.61564,3.47092,7.29462,3.1893,11.3541,-4.3633,-3.23711,-3.875,-3.36416,-3.23955,-3.48056,-4.31831,-3.80995,28.7938,17.8456,21.2896,13.4998,-6.76528,2.79078,12.7141,7.65988 --5.19032,0.923005,0.385518,3,15,0,7.24146,5.05587,2.6856,1.59438,-0.753316,1.02218,0.202382,0.668781,1.00043,1.05041,-0.692418,9.33773,7.80104,6.85195,7.87685,3.03276,5.59939,7.74262,3.19631,-4.40095,-3.22172,-3.8811,-3.32001,-3.21655,-3.40425,-3.74759,-3.92892,11.51,13.4141,29.0068,11.5291,-0.921777,-10.1248,4.90951,5.71657 --5.99085,0.989085,0.385518,3,7,0,8.4588,3.91595,1.4376,-1.16195,1.05633,-1.11985,-0.485434,-1.13225,-0.426478,-0.0985508,-0.318818,2.24554,2.30606,2.28822,3.77427,5.43454,3.21809,3.30284,3.45762,-5.10097,-3.38363,-3.74615,-3.35983,-3.37174,-3.33716,-4.30156,-3.92192,-15.3399,-12.8706,5.78411,22.3647,28.7085,-3.57269,17.8785,-22.1274 --2.84648,0.999031,0.385518,4,15,0,6.79868,6.00893,4.43225,-0.229454,-0.502596,-0.44891,0.309437,-0.151576,0.00995399,0.687626,0.0631853,4.99194,4.01926,5.33711,9.05666,3.78131,7.38044,6.05305,6.28899,-4.80337,-3.30076,-3.82728,-3.33431,-3.25728,-3.48506,-3.93517,-3.85964,-18.6793,6.92018,15.7639,6.75345,0.935022,8.45768,15.98,-21.4242 --7.69056,0.861858,0.385518,3,7,0,9.81185,0.0908445,2.12135,0.569711,-2.12496,-0.279677,-0.562721,-0.724869,-0.380865,0.507924,1.51362,1.2994,-0.50245,-1.44686,1.16833,-4.41694,-1.10289,-0.717104,3.30177,-5.21126,-3.58298,-3.69624,-3.45736,-3.18823,-3.33511,-4.97317,-3.92607,-16.6256,9.50781,7.47295,6.53216,-3.46672,-11.0671,4.14522,-2.26332 --7.48261,0.894017,0.385518,4,15,0,12.3517,9.32873,1.67715,0.716405,-1.8965,-1.66118,-0.787243,-0.207085,-0.123369,-0.53347,-0.801939,10.5302,6.54268,8.98141,8.43402,6.14801,8.0084,9.12182,7.98375,-4.30519,-3.23214,-3.97191,-3.32533,-3.43156,-3.5198,-3.61563,-3.8342,22.8742,-2.62145,39.006,1.10374,19.9056,-4.8616,1.12719,-0.733504 --9.22949,0.921329,0.385518,4,15,0,13.4376,9.27776,2.98877,1.40342,-1.24037,-2.02276,-1.54628,-0.593498,-1.17663,-1.00213,0.334477,13.4723,3.2322,7.50393,6.28262,5.57059,4.65628,5.76108,10.2774,-4.096,-3.33518,-3.90702,-3.31896,-3.38266,-3.37208,-3.97048,-3.81389,6.16841,4.68479,3.0224,13.5982,-0.628349,3.75179,-4.42745,4.74081 --9.08173,0.999816,0.385518,4,15,0,12.6664,-1.71684,7.55436,-0.231044,1.06641,2.11997,1.3375,0.406914,1.93662,1.1411,-0.217432,-3.46222,14.2982,1.35714,6.90341,6.33922,8.38709,12.9131,-3.35939,-5.8267,-3.41986,-3.72861,-3.31687,-3.44866,-3.54233,-3.35091,-4.17337,-13.6403,25.4306,-2.81355,0.713725,7.89312,2.10029,14.786,-36.7942 --5.31777,1,0.385518,3,7,0,12.0189,1.25481,3.13418,-0.207995,-0.025385,1.23349,0.393754,-0.657462,1.72563,-1.06629,-0.209152,0.602919,5.12078,-0.805789,-2.08714,1.17525,2.48891,6.66325,0.599293,-5.29499,-3.26297,-3.70093,-3.65806,-3.14537,-3.32599,-3.86413,-4.00989,28.864,-7.72614,-25.4577,1.07506,7.07261,3.3137,6.7585,-9.07713 --6.67756,0.948836,0.385518,4,15,0,10.8329,5.3372,5.40225,1.09492,1.11317,0.76539,-0.422847,-0.231826,1.3674,1.94298,-0.704917,11.2523,9.47202,4.08481,15.8336,11.3508,3.05287,12.7242,1.52906,-4.25029,-3.23236,-3.78956,-3.63929,-4.05779,-3.33425,-3.36069,-3.97851,30.9359,-0.709008,-18.508,37.189,1.57302,-2.45999,23.1431,12.2765 --4.63328,0.502802,0.385518,3,7,0,14.2524,4.46666,2.7145,1.10384,0.77756,0.0445637,-0.406849,-0.613284,0.431987,1.6638,-0.0729021,7.46302,4.58762,2.8019,8.98303,6.57734,3.36226,5.63928,4.26876,-4.56425,-3.27975,-3.75727,-3.33308,-3.47058,-3.33989,-3.98546,-3.90155,19.7577,24.3393,-25.7799,4.29961,-6.11452,-3.24167,2.74489,-8.0288 --5.95354,0.987937,0.385518,4,15,0,8.5348,8.5474,2.16916,0.980981,0.552071,0.916475,-0.646044,0.263546,-0.644018,-0.717999,-1.28739,10.6753,10.5354,9.11907,6.98994,9.74493,7.14602,7.15042,5.75484,-4.29398,-3.25366,-3.97839,-3.31683,-3.82884,-3.47292,-3.81009,-3.8695,8.67922,-14.5279,18.4182,13.1639,21.7016,5.46882,11.7413,30.5505 --6.79119,0.948723,0.385518,3,7,0,11.5018,-3.80016,9.19239,1.70764,-0.140204,-0.162779,1.24489,0.277499,0.657447,0.0889743,1.62674,11.8972,-5.29648,-1.24928,-2.98227,-5.08896,7.64332,2.24336,11.1535,-4.20321,-4.10551,-3.69751,-3.72859,-3.21937,-3.4992,-4.46288,-3.81042,23.6282,12.4845,8.04634,-21.1603,-2.90931,6.60463,-9.96798,7.47584 --8.71176,0.927027,0.385518,4,15,0,12.9485,9.5789,0.362442,-0.739364,0.636169,1.27867,-1.41868,-0.0129649,0.683711,0.294421,-1.27071,9.31092,10.0423,9.5742,9.68561,9.80948,9.06471,9.82671,9.11834,-4.40317,-3.24238,-4.00034,-3.34664,-3.83743,-3.58559,-3.55554,-3.82213,-2.25571,-3.68516,21.2738,12.7244,4.18746,19.7507,14.4496,33.6258 --11.6747,0.949255,0.385518,3,7,0,15.2193,11.7755,1.40175,-0.936796,0.28643,-0.368251,-2.26653,-0.17526,0.515795,1.36256,-2.07853,10.4623,11.2593,11.5298,13.6854,12.177,8.59838,12.4985,8.86191,-4.31048,-3.27464,-4.10386,-3.50152,-4.18797,-3.55541,-3.37286,-3.82451,-26.1818,23.316,22.71,14.7738,12.405,6.27311,18.5344,4.5741 --5.25837,1,0.385518,3,7,0,14.1094,4.03108,3.52987,-0.55712,0.0667916,0.208229,-1.09862,0.0414127,0.0650344,1.95483,0.65588,2.06452,4.7661,4.17727,10.9314,4.26685,0.153114,4.26065,6.34625,-5.12176,-3.27381,-3.79214,-3.3807,-3.2874,-3.3198,-4.16537,-3.85864,12.9265,21.4266,5.63689,20.3503,19.6323,-5.91351,20.5531,-0.653214 --6.7852,0.957863,0.385518,3,7,0,9.59571,4.3292,2.0529,0.111339,-0.408673,-1.23092,0.489579,-0.568368,-1.00532,1.89947,1.05395,4.55777,1.80223,3.1624,8.22863,3.49024,5.33426,2.26538,6.49285,-4.84818,-3.41359,-3.7657,-3.32307,-3.24062,-3.39446,-4.45942,-3.85611,-5.10722,14.6516,-17.9333,8.03771,2.12784,13.7282,-0.269446,3.80958 --5.82935,0.993256,0.385518,4,23,0,9.10878,3.70409,6.3368,0.478429,0.168131,1.17412,-0.927152,0.0277601,1.37548,-1.61393,-0.842643,6.73581,11.1442,3.88,-6.52306,4.76951,-2.17108,12.4203,-1.63557,-4.6318,-3.27096,-3.78398,-4.07251,-3.32164,-3.35839,-3.37719,-4.09624,3.40067,-3.4507,6.18547,3.66561,16.4297,9.43895,-16.4244,32.4056 --5.87073,0.998805,0.385518,4,15,0,9.43112,1.26684,4.97602,0.439216,0.0799682,0.995273,1.14454,-0.63901,-0.0536627,1.86973,0.94864,3.45239,6.21934,-1.91289,10.5707,1.66477,6.9621,0.999816,5.98729,-4.96607,-3.23738,-3.69384,-3.36952,-3.16,-3.46372,-4.66655,-3.8651,-1.23489,2.24928,20.99,16.296,7.62997,17.9602,19.5511,8.37895 --5.43445,0.948683,0.385518,3,7,0,10.6629,3.46045,2.1568,0.173865,-0.124277,-0.462582,-1.26378,0.199516,1.62262,-1.0657,-0.882442,3.83544,2.46276,3.89077,1.16195,3.19241,0.734723,6.96012,1.5572,-4.9246,-3.37483,-3.78427,-3.45767,-3.22466,-3.31712,-3.83092,-3.9776,17.987,17.8291,6.6775,8.15938,1.81346,-6.54815,-11.1127,-39.8142 --6.36096,0.978403,0.385518,4,15,0,9.98232,5.65839,0.703171,0.904646,-0.187387,0.764581,0.879412,-0.63838,-0.528209,1.01618,1.38311,6.29451,6.19602,5.2095,6.37294,5.52663,6.27677,5.28697,6.63096,-4.67394,-3.2378,-3.82316,-3.31846,-3.37911,-3.43189,-4.02963,-3.8538,-18.8796,15.3175,3.82447,5.06548,-3.53049,12.1711,-8.56723,-7.41359 --7.18312,0.925488,0.385518,3,15,0,13.3844,7.0525,0.536485,-0.785607,0.392956,1.23824,-0.54759,-1.41229,0.637637,-0.88706,-0.784666,6.63103,7.7168,6.29483,6.5766,7.26331,6.75872,7.39458,6.63154,-4.64173,-3.22192,-3.86027,-3.31757,-3.53766,-3.45387,-3.7839,-3.85379,14.4199,17.6212,14.4838,12.0996,2.43148,-15.3593,3.96947,-13.146 --3.57012,0.978728,0.385518,4,15,0,11.5075,2.16724,4.28741,0.848686,0.784048,0.0122719,-0.0704019,0.535136,0.57842,-0.910977,0.150393,5.8059,2.21985,4.46159,-1.73849,5.52877,1.8654,4.64716,2.81204,-4.72161,-3.38857,-3.80027,-3.63238,-3.37928,-3.31993,-4.11302,-3.93959,10.1515,0.942317,-11.4717,-2.87173,-2.15255,-1.96229,-6.18639,-11.5867 --5.71552,0.953764,0.385518,3,7,0,7.5567,5.18188,4.79297,0.197623,0.264471,1.24283,-0.177861,-1.70205,0.694792,1.02248,1.44822,6.12909,11.1387,-2.97597,10.0826,6.44949,4.3294,8.512,12.1232,-4.68996,-3.27078,-3.69153,-3.3561,-3.45872,-3.36264,-3.67163,-3.80933,22.3644,-9.31615,4.77942,27.0775,7.94338,6.78692,22.9146,-14.4558 --7.48523,0.950119,0.385518,5,39,0,11.7693,1.50404,0.738203,1.2646,-1.14504,-0.881476,-0.529194,0.194484,-1.04242,1.17359,0.877372,2.43758,0.853334,1.64761,2.37039,0.658769,1.11339,0.734522,2.15172,-5.07907,-3.4769,-3.73372,-3.4054,-3.13315,-3.31689,-4.71201,-3.95898,-1.73658,10.8703,23.8903,5.29939,2.35226,-14.346,28.4556,-3.65272 --7.29664,0.986551,0.385518,3,15,0,11.7876,8.83,1.12759,1.06794,-0.171176,-0.204102,-0.482476,-0.554099,1.24103,-0.375854,2.01153,10.0342,8.59985,8.2052,8.40619,8.63698,8.28596,10.2294,11.0982,-4.34425,-3.22332,-3.93675,-3.325,-3.68944,-3.53619,-3.52344,-3.81057,17.9722,9.05458,-2.48611,9.22641,1.6735,-0.947614,5.29048,0.862101 --5.96692,0.989533,0.385518,3,7,0,10.9597,9.34948,13.6781,-0.494972,-0.728989,-0.815078,0.241453,-0.581316,-0.375488,-0.480268,0.310744,2.57923,-1.7992,1.3982,2.78035,-0.621676,12.6521,4.21353,13.5999,-5.06302,-3.70165,-3.72931,-3.39041,-3.11705,-3.87787,-4.17186,-3.81326,11.0313,3.22052,-1.97456,3.48576,-5.52664,10.76,3.19276,4.31117 --6.04693,1,0.385518,3,7,0,8.05874,10.8004,2.2575,0.362243,-1.50873,-0.089532,-0.685658,-0.382761,0.942418,0.671715,-0.673368,11.6182,10.5983,9.93631,12.3168,7.39443,9.25252,12.9279,9.28027,-4.22335,-3.25528,-4.01838,-3.43364,-3.55114,-3.59826,-3.35015,-3.82073,-2.5582,20.6438,26.3398,25.0129,-1.3185,-2.72148,12.6062,15.5287 --6.41578,0.776287,0.385518,4,23,0,10.9607,9.06737,0.671532,0.355793,-1.07882,-0.0371514,-0.0953811,-0.758793,-0.0389723,1.06442,-1.04848,9.3063,9.04242,8.55782,9.78216,8.34291,9.00332,9.0412,8.36328,-4.40355,-3.22696,-3.95243,-3.34882,-3.65499,-3.58152,-3.62282,-3.82972,-12.2664,1.43154,8.89884,4.41676,5.20958,0.968425,-5.4337,-4.03021 --2.50112,0.841596,0.385518,3,7,0,7.24577,1.05021,12.6362,1.00451,0.209848,-0.306386,-0.0617685,0.419931,0.533195,0.180316,0.728383,13.7434,-2.82135,6.35655,3.32872,3.7019,0.269693,7.78778,10.2542,-4.07866,-3.80703,-3.86251,-3.37253,-3.25263,-3.31904,-3.74297,-3.81401,28.3318,-9.2508,-1.5294,-8.34022,-2.82224,6.25377,-2.8107,-1.27704 -# -# Elapsed Time: 0.02366 seconds (Warm-up) -# 0.00441 seconds (Sampling) -# 0.02807 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-2.csv b/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-2.csv deleted file mode 100644 index 1efb8e7f2d..0000000000 --- a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-2.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 20 -# stan_version_patch = 0 -# model = stan_test_data_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 2 -# data -# file = /tmp/tmp2ipdytqf/_pz629gf.json -# init = 2 (Default) -# random -# seed = 81267 -# output -# file = /tmp/tmp2ipdytqf/stan_test_data-202102230057-2-gjhvdtyv.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,eta.1.1,eta.2.1,eta.1.2,eta.2.2,eta.1.3,eta.2.3,eta.1.4,eta.2.4,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 -# Adaptation terminated -# Step size = 0.40918 -# Diagonal elements of inverse mass matrix: -# 11.5948, 1.56488, 1.05158, 0.780774, 1.03901, 0.756746, 0.876817, 1.08772, 0.899484, 0.839705 --8.67722,0.974355,0.40918,3,7,0,17.3887,0.464724,3.58185,-0.167717,-0.283528,-1.25549,-1.63701,-1.39541,-0.584162,0.0377451,1.67728,-0.136014,-4.03225,-4.53341,0.599921,-0.55083,-5.3988,-1.62766,6.47247,-5.38618,-3.9454,-3.69612,-3.48609,-3.11741,-3.48603,-5.14775,-3.85646,10.1112,-1.28152,16.3638,16.9716,-1.8239,11.2806,13.2108,8.37732 --9.51664,0.985884,0.40918,3,7,0,14.4674,4.05812,1.44524,0.104786,-0.030639,0.173932,-2.67857,-0.507921,-0.654223,0.581434,2.295,4.20956,4.30949,3.32405,4.89843,4.01384,0.186923,3.11261,7.37496,-4.88473,-3.28962,-3.76964,-3.33508,-3.27134,-3.31957,-4.3297,-3.84232,24.9347,-11.1068,10.9492,-4.90384,13.6504,-0.0767166,-5.8205,19.4711 --8.77949,1,0.40918,3,7,0,13.6599,-0.406779,2.44777,0.127763,0.664987,0.129205,-1.05902,-1.1611,-0.619788,0.291593,2.5864,-0.0940455,-0.0905155,-3.24888,0.306972,1.22095,-2.99901,-1.92388,5.92411,-5.38093,-3.54881,-3.69165,-3.50194,-3.14661,-3.38292,-5.20633,-3.86628,6.93933,1.68346,7.478,-0.914628,-12.3128,0.902323,5.9146,8.28699 --10.8457,0.961075,0.40918,3,7,0,16.2024,6.21218,2.4341,0.947002,1.31152,2.67668,0.182283,0.935768,-0.916512,0.594774,1.90194,8.51727,12.7275,8.48993,7.65992,9.40456,6.65587,3.98129,10.8417,-4.47049,-3.33327,-3.94938,-3.31863,-3.7844,-3.44902,-4.20414,-3.81138,8.93921,25.0498,0.276982,-13.4558,-2.02797,11.2997,2.16293,17.3901 --9.38828,0.905272,0.40918,3,7,0,17.2085,6.35584,0.959567,0.189701,-0.508533,2.32867,1.35769,0.363399,-1.73893,0.343385,0.981145,6.53787,8.59036,6.70455,6.68534,5.86787,7.65864,4.68722,7.29731,-4.6506,-3.22327,-3.87547,-3.31724,-3.40732,-3.50005,-4.10767,-3.84344,6.97638,17.9778,14.2998,3.96929,10.2317,18.963,12.5707,-0.169651 --5.64407,0.984707,0.40918,3,7,0,13.5117,5.16124,2.58232,0.675462,-0.222148,-0.72931,-1.60694,-0.912962,1.07686,-0.775194,-1.1347,6.9055,3.27792,2.80367,3.15944,4.58758,1.01161,7.94204,2.23107,-4.61583,-3.33301,-3.75731,-3.37778,-3.30889,-3.31683,-3.72734,-3.95658,7.71718,-6.86141,16.8173,-14.6203,-3.40512,2.88952,3.11039,-3.85306 --9.47463,0.189962,0.40918,4,23,0,14.9024,0.938447,0.0587804,-0.570854,-0.157308,0.243966,1.11978,-0.744701,-0.776549,1.61965,0.583234,0.904892,0.952787,0.894673,1.03365,0.9292,1.00427,0.892801,0.97273,-5.25842,-3.46984,-3.72115,-3.46393,-3.13914,-3.31683,-4.6848,-3.99697,-1.12314,12.2076,-8.44677,2.57089,10.4649,-10.8864,-6.408,-18.9148 --8.35385,0.992533,0.40918,3,15,0,14.2131,4.48394,0.800681,1.67124,-0.180386,-0.389671,-0.362157,-1.18044,-0.954632,1.69583,1.41672,5.82207,4.17194,3.53879,5.84176,4.33951,4.19397,3.71959,5.61828,-4.72001,-3.29479,-3.77503,-3.32238,-3.29215,-3.35899,-4.24117,-3.87216,23.592,-5.6186,11.6706,24.6936,9.24028,-2.5778,3.87511,-55.2082 --8.12521,0.996604,0.40918,4,23,0,11.3024,5.0345,2.33392,-0.189017,-0.258359,1.24432,1.25097,1.30902,2.22557,-1.05599,-0.915833,4.59335,7.93864,8.08964,2.56991,4.43151,7.95416,10.2288,2.89702,-4.84448,-3.22154,-3.93172,-3.39793,-3.29827,-3.51667,-3.52348,-3.93719,-9.60781,0.253746,10.48,-9.50309,8.21325,1.30332,15.4534,-21.1317 --6.63385,0.981375,0.40918,3,7,0,12.6946,1.4494,0.686209,1.62996,0.943447,-0.0671362,0.593576,1.03933,-0.264726,0.656818,-0.0859316,2.56789,1.40333,2.1626,1.90011,2.0968,1.85672,1.26774,1.39043,-5.0643,-3.4391,-3.74358,-3.42431,-3.17536,-3.31987,-4.62137,-3.98302,12.2268,-3.46796,-2.8746,-13.556,4.95906,3.26693,0.653091,-7.91704 --3.54197,1,0.40918,3,7,0,9.45582,5.03716,4.74639,-0.247764,-0.592026,-0.123187,0.382299,-0.436669,0.961686,-1.25666,0.0784759,3.86117,4.45246,2.96455,-0.927425,2.22717,6.8517,9.6017,5.40963,-4.92184,-3.28445,-3.76101,-3.57652,-3.18045,-3.45833,-3.57418,-3.87634,12.8029,14.2777,-0.776172,12.1001,-2.17168,10.6467,28.2655,53.994 --4.42822,0.972633,0.40918,3,7,0,6.0017,7.0566,3.73611,-0.305653,0.0991266,0.491996,-0.496478,-0.068094,1.07094,-0.838101,1.42597,5.91465,8.89475,6.80219,3.92536,7.42695,5.2017,11.0577,12.3842,-4.71091,-3.22553,-3.87919,-3.3559,-3.55452,-3.38979,-3.4625,-3.80954,6.92731,4.76772,11.2244,4.19712,2.32093,-12.4702,7.58231,27.5687 --3.82914,0.992995,0.40918,4,23,0,7.13908,-0.149817,6.91626,1.74751,-0.234132,0.513696,0.307251,-0.172964,-0.0237439,0.658983,-0.253909,11.9364,3.40304,-1.34608,4.40788,-1.76914,1.97521,-0.314036,-1.90592,-4.20041,-3.32718,-3.69687,-3.3446,-3.11981,-3.32076,-4.89854,-4.10773,-12.2938,6.50801,-3.23722,20.8523,6.09619,7.87187,14.5767,1.7687 --6.61624,0.737066,0.40918,3,7,0,11.1671,0.161254,3.47579,-0.0810591,-1.29491,1.5687,0.471104,0.0640465,0.757445,1.61155,-0.805158,-0.120491,5.61374,0.383866,5.76267,-4.33959,1.79871,2.79398,-2.63731,-5.38424,-3.24999,-3.71389,-3.32316,-3.18501,-3.31947,-4.37764,-4.13994,4.98443,0.298666,16.0802,-8.25106,-5.67471,-2.86823,-4.53392,-27.4468 --5.97086,0.960998,0.40918,3,7,0,12.1621,6.11127,1.50397,0.0145014,1.45439,-0.913201,-0.317255,-1.14191,0.34442,-0.13776,1.24763,6.13307,4.73784,4.39387,5.90408,8.29863,5.63412,6.62926,7.98766,-4.68957,-3.27473,-3.7983,-3.3218,-3.64989,-3.40557,-3.86799,-3.83415,-11.0347,7.7298,4.48564,25.8046,10.6858,-5.92757,5.31065,-0.60662 --6.2798,0.981937,0.40918,3,15,0,9.5194,4.17872,3.46873,-0.575314,-1.48276,0.423789,-0.442561,-0.374988,-1.36417,-1.20485,0.0600114,2.18312,5.64873,2.87799,-0.00059112,-0.964579,2.6436,-0.553218,4.38688,-5.10813,-3.24917,-3.75901,-3.51935,-3.11617,-3.328,-4.94263,-3.89875,13.1042,-0.638476,-4.22771,-12.9903,3.90358,7.36404,9.49249,23.422 --5.34199,0.966724,0.40918,4,23,0,12.1825,1.77412,6.36556,0.684142,0.549267,-0.402652,-0.359899,1.06005,1.50492,1.59626,-0.477095,6.12906,-0.788987,8.52195,11.9352,5.27051,-0.516838,11.3538,-1.26286,-4.68996,-3.60776,-3.95081,-3.41748,-3.35887,-3.32634,-3.44238,-4.08077,-13.9358,-14.286,-13.7044,26.1835,6.80091,-9.85138,-3.54038,-19.8011 --5.34199,0.014673,0.40918,2,3,0,9.79513,1.77412,6.36556,0.684142,0.549267,-0.402652,-0.359899,1.06005,1.50492,1.59626,-0.477095,6.12906,-0.788987,8.52195,11.9352,5.27051,-0.516838,11.3538,-1.26286,-4.68996,-3.60776,-3.95081,-3.41748,-3.35887,-3.32634,-3.44238,-4.08077,-19.6181,11.4038,23.8724,-5.45414,8.35562,-30.6925,0.296784,1.68544 --9.48727,0.876846,0.40918,3,15,0,12.8271,4.1908,1.16216,-0.154372,0.326603,2.42023,1.31942,0.0996147,-1.81268,0.175318,1.16209,4.0114,7.0035,4.30657,4.39455,4.57037,5.72418,2.08418,5.54134,-4.90577,-3.22649,-3.7958,-3.34488,-3.3077,-3.40906,-4.48809,-3.87368,-5.06328,-1.0213,35.0926,10.7259,5.64012,-1.43366,20.5792,16.1901 --10.2462,0.996622,0.40918,3,7,0,11.9751,3.97367,1.20497,-0.0667577,1.03467,2.56695,1.1929,0.244168,-1.8366,0.281754,1.11828,3.89323,7.06677,4.26789,4.31318,5.22042,5.41107,1.76063,5.32117,-4.9184,-3.22588,-3.7947,-3.34666,-3.35501,-3.39724,-4.54011,-3.87815,-23.1775,12.4679,25.8645,6.15831,16.0666,-1.43488,-2.50246,2.73286 --7.80048,0.973615,0.40918,3,7,0,16.7675,6.31126,1.10223,-0.898287,-0.184952,-1.46287,-2.03994,-0.600149,0.934085,0.150675,-1.0196,5.32114,4.69884,5.64975,6.47734,6.1074,4.06276,7.34084,5.18742,-4.76995,-3.27601,-3.83766,-3.31796,-3.42798,-3.3556,-3.78961,-3.88093,-26.289,-0.434591,13.2906,7.0609,17.4938,8.46261,17.9908,-12.2461 --6.79955,0.628231,0.40918,3,15,0,14.1693,4.08609,1.57665,-0.518747,0.642735,-1.7228,-1.35936,-0.144077,0.62886,0.433907,-1.31247,3.26821,1.36985,3.85893,4.77021,5.09946,1.94286,5.07758,2.01679,-4.98624,-3.44132,-3.78341,-3.33738,-3.34581,-3.32051,-4.05647,-3.96311,-22.0533,-1.43731,-3.04913,16.142,7.65652,-6.62829,26.3255,9.02787 --8.50053,0.973226,0.40918,3,7,0,11.0728,3.87115,3.53339,-1.31015,0.370059,-2.26308,-0.649435,1.0482,-0.0923588,0.737093,-0.749461,-0.758111,-4.1252,7.57483,6.47558,5.17871,1.57644,3.54481,1.22301,-5.46483,-3.95663,-3.90994,-3.31797,-3.35182,-3.31821,-4.26629,-3.98854,0.853478,3.44838,32.5558,-14.7296,1.79979,-12.176,-0.810901,31.7481 --8.50053,0.011583,0.40918,3,7,0,15.6594,3.87115,3.53339,-1.31015,0.370059,-2.26308,-0.649435,1.0482,-0.0923588,0.737093,-0.749461,-0.758111,-4.1252,7.57483,6.47558,5.17871,1.57644,3.54481,1.22301,-5.46483,-3.95663,-3.90994,-3.31797,-3.35182,-3.31821,-4.26629,-3.98854,-1.7194,-5.05695,11.7425,19.4998,16.1259,-1.27447,-12.3906,9.58329 --7.92902,0.877808,0.40918,3,15,0,13.8572,4.37834,2.79085,-1.21193,-0.748894,-2.24052,-0.832075,1.30826,0.154479,0.472456,-0.303034,0.996024,-1.87462,8.0295,5.6969,2.28829,2.05614,4.80947,3.53262,-5.24747,-3.70906,-3.92912,-3.32385,-3.18291,-3.32144,-4.09147,-3.91995,0.00257836,3.24054,8.903,0.945129,3.48747,6.57951,-3.38627,-8.30685 --9.10005,0.97888,0.40918,5,47,0,13.9283,8.16345,1.01503,-1.87108,-1.26111,-0.75035,0.657524,0.427295,0.705373,-1.39464,-1.39689,6.26425,7.40182,8.59716,6.74785,6.88338,8.83085,8.87942,6.74557,-4.67686,-3.22331,-3.95421,-3.3171,-3.49979,-3.57023,-3.63745,-3.85192,12.2969,1.02018,16.0041,6.95244,14.8255,-7.41705,13.3799,6.35545 --6.47006,0.96541,0.40918,3,15,0,14.1821,1.93367,4.83864,1.48712,0.283711,1.15006,-0.0523042,1.40453,-1.13522,0.517243,-0.202952,9.12929,7.4984,8.72969,4.43642,3.30645,1.68059,-3.55926,0.951664,-4.41833,-3.22278,-3.96025,-3.34399,-3.23064,-3.31875,-5.54553,-3.99768,11.2782,20.6315,-0.880911,8.67593,7.18518,-14.4088,-1.1564,3.8611 --8.26714,0.789053,0.40918,3,15,0,14.2364,3.45491,9.551,1.27568,1.14033,0.852451,-0.0209774,1.08667,-0.795083,0.519103,-0.988923,15.639,11.5967,13.8337,8.41286,14.3462,3.25456,-4.13893,-5.99029,-3.96653,-3.2862,-4.24499,-3.32508,-4.5699,-3.33784,-5.67218,-4.30877,-2.09907,22.1224,22.8839,-3.60725,5.31429,9.24277,19.4434,5.40604 --6.45987,0.95626,0.40918,3,15,0,12.3544,4.18494,1.78611,1.2497,-0.649092,1.36007,-0.852055,0.527309,-1.1498,-0.295078,-1.1864,6.41703,6.61418,5.12677,3.6579,3.02559,2.66308,2.13126,2.06591,-4.66215,-3.23113,-3.82052,-3.36299,-3.2162,-3.32826,-4.48061,-3.9616,-4.342,12.6625,33.4266,16.1697,3.74821,3.81467,-17.1304,18.6747 --9.00083,0.864624,0.40918,3,7,0,16.5091,6.67239,2.7764,1.84649,0.227538,0.691984,1.53122,-1.43981,-1.07061,-1.70494,-0.0613101,11.799,8.59362,2.67489,1.93878,7.30413,10.9237,3.69993,6.50217,-4.21026,-3.22329,-3.75443,-3.42268,-3.54183,-3.72377,-4.24398,-3.85596,-16.5911,25.0558,23.2962,15.1461,-8.77869,8.24519,8.99949,-4.8363 --6.44143,0.99389,0.40918,3,7,0,13.0983,10.078,2.95775,0.957021,1.14471,0.394312,-1.44786,0.147858,-0.133184,-0.541491,-0.479864,12.9087,11.2443,10.5154,8.47644,13.4638,5.79563,9.68411,8.65872,-4.1331,-3.27415,-4.04829,-3.32584,-4.40753,-3.41187,-3.56729,-3.82654,15.2091,15.3335,25.6141,14.156,9.46808,5.34587,26.8547,0.722435 --6.00327,0.992421,0.40918,5,39,0,9.71696,9.63371,1.5521,0.794769,0.659857,0.764539,-1.45594,0.106319,0.330558,-0.529261,-0.332075,10.8673,10.8204,9.79873,8.81225,10.6579,7.37395,10.1468,9.1183,-4.27928,-3.2613,-4.01146,-3.33041,-3.95509,-3.48471,-3.52989,-3.82213,0.618933,2.03297,8.79382,21.0418,-0.428735,-7.89721,11.2186,2.59701 --5.27807,0.998688,0.40918,3,15,0,9.04788,8.70475,1.6864,0.0223566,-0.0514323,-1.32004,-0.464175,0.20152,0.976799,-0.844645,-0.519883,8.74246,6.47863,9.0446,7.28034,8.61802,7.92197,10.352,7.82802,-4.45111,-3.2331,-3.97487,-3.31716,-3.68719,-3.51482,-3.51398,-3.83617,25.9002,0.780089,-16.1443,16.4067,7.50373,16.5123,11.7281,-12.7976 --9.82913,0.919572,0.40918,3,7,0,12.17,-1.72216,0.16709,-0.378648,-0.581119,1.0833,0.0607808,-1.91012,0.311344,0.608536,-0.433851,-1.78543,-1.54115,-2.04132,-1.62048,-1.81926,-1.71201,-1.67014,-1.79465,-5.59848,-3.67669,-3.69332,-3.62391,-3.12031,-3.34723,-5.1561,-4.10297,-7.86481,-15.789,-17.555,9.26801,-3.79535,0.261164,0.603734,13.7051 --5.71122,1,0.40918,3,15,0,11.6054,5.85108,0.412515,-0.23316,-0.0824559,-0.157926,-0.50607,0.279769,0.634294,-0.63392,1.48509,5.7549,5.78593,5.96649,5.58958,5.81707,5.64232,6.11274,6.4637,-4.72664,-3.24603,-3.84855,-3.32505,-3.40303,-3.40589,-3.92806,-3.85661,8.4063,3.00251,43.2117,16.9754,-20.5629,-14.3846,19.7025,2.51363 --5.9963,0.981799,0.40918,3,7,0,9.18982,5.66037,3.00189,0.106441,0.704732,-1.01174,-0.750259,1.38732,0.525425,-0.513168,-1.43955,5.97989,2.62324,9.82494,4.1199,7.7759,3.40818,7.23764,1.33901,-4.70451,-3.36607,-4.01278,-3.35111,-3.59157,-3.3408,-3.80067,-3.98471,25.0649,9.21008,7.41751,1.93278,0.257662,29.5915,5.44254,7.90137 --6.42885,0.960175,0.40918,3,7,0,10.2634,7.02227,1.63993,-0.638074,1.55721,0.563664,-1.09789,-0.312023,0.0793565,-0.292426,-1.32377,5.97587,7.94664,6.51057,6.54271,9.57599,5.22181,7.15241,4.85138,-4.7049,-3.22154,-3.86819,-3.3177,-3.8066,-3.39049,-3.80988,-3.88817,-5.36669,11.4333,10.2267,3.34101,9.97901,22.9072,-8.03164,14.9313 --4.78161,0.956384,0.40918,3,7,0,10.4323,6.8271,1.26022,0.618257,-1.08278,0.601097,-0.756083,-0.510401,0.747986,0.726185,0.441252,7.60623,7.58461,6.18388,7.74225,5.46256,5.87427,7.76972,7.38317,-4.55122,-3.22239,-3.85626,-3.31911,-3.37397,-3.41501,-3.74482,-3.8422,20.839,15.8964,-1.90141,18.6698,0.306936,11.5585,9.53016,22.8334 --5.60455,0.981064,0.40918,3,7,0,9.08846,7.5072,0.695581,-0.517805,0.338306,-0.093198,-0.185966,0.209509,0.468356,-1.42854,-0.828748,7.14703,7.44238,7.65293,6.51354,7.74252,7.37785,7.83298,6.93074,-4.59331,-3.22308,-3.91318,-3.31781,-3.58796,-3.48492,-3.73836,-3.84897,7.98128,5.85698,27.0308,-12.9317,4.30655,11.1705,7.04483,28.0829 --6.22859,0.91224,0.40918,3,7,0,11.1481,8.86573,10.6575,0.328363,-1.23157,-1.17027,0.796474,-0.195215,0.921633,-0.399753,0.806968,12.3653,-3.60643,6.78523,4.60535,-4.25978,17.3542,18.6881,17.466,-4.1702,-3.89507,-3.87854,-3.34053,-3.18176,-4.42204,-3.22389,-3.85542,22.9522,-12.497,-11.1627,4.9272,-4.98632,20.5929,22.019,11.4655 --7.83746,0.152736,0.40918,3,7,0,13.9543,7.9433,0.737656,0.121479,-1.81354,0.30831,0.325572,-0.538743,2.13818,-0.0951986,-0.00969145,8.03291,8.17072,7.54589,7.87307,6.60553,8.18346,9.52054,7.93615,-4.51295,-3.22167,-3.90875,-3.31998,-3.47323,-3.53007,-3.58103,-3.8348,13.9945,14.0108,-3.6271,9.44157,13.6507,14.5732,4.51377,12.8754 --8.50337,0.944209,0.40918,4,23,0,12.1519,4.42732,0.227956,0.143848,-0.388617,-0.195625,-0.714543,-0.0836134,0.519004,2.14864,-1.53623,4.46011,4.38273,4.40826,4.91711,4.33873,4.26443,4.54563,4.07713,-4.85838,-3.28695,-3.79872,-3.33476,-3.2921,-3.36087,-4.12662,-3.90618,15.4199,3.54503,15.7089,0.398724,-8.7603,-10.8844,6.3697,-12.3218 --5.48127,0.997437,0.40918,3,7,0,12.1892,5.76007,3.67715,0.0699905,-0.346337,-0.619783,0.292517,-0.128354,0.593159,-1.24877,2.069,6.01744,3.48104,5.28809,1.16817,4.48654,6.8357,7.94121,13.3681,-4.70084,-3.32363,-3.82569,-3.45737,-3.30198,-3.45756,-3.72742,-3.8122,-2.36304,-13.2593,49.0235,1.93782,11.4666,-2.14536,8.58538,1.79571 --5.18002,0.957455,0.40918,3,7,0,9.77818,9.01827,6.14635,0.613414,0.192008,0.616786,-1.24009,-1.23426,-0.320402,0.690066,0.214409,12.7885,12.8093,1.43208,13.2597,10.1984,1.39626,7.04897,10.3361,-4.14119,-3.33717,-3.72989,-3.47875,-3.89027,-3.31748,-3.82115,-3.81358,2.18136,11.2731,-11.7624,6.85075,22.2872,21.9649,4.80609,9.83889 --5.92684,0.834733,0.40918,4,23,0,8.87713,7.07803,2.60451,-1.04042,-1.44189,-0.559331,-0.690182,-0.347014,-0.629857,-1.31595,-0.259617,4.36823,5.62124,6.17423,3.65063,3.3226,5.28044,5.43756,6.40185,-4.86801,-3.24982,-3.85591,-3.36319,-3.2315,-3.39255,-4.0106,-3.85767,-23.7715,-13.9939,10.9192,-12.2057,6.81774,-16.0087,10.7928,14.4711 --10.3952,0.759841,0.40918,3,15,0,12.193,5.37167,1.6101,-2.20774,-1.7839,-1.61315,-1.41084,-0.992991,-0.783284,-0.208996,0.593109,1.81699,2.77434,3.77286,5.03517,2.49941,3.10009,4.11051,6.32664,-5.15043,-3.35806,-3.78112,-3.33279,-3.19175,-3.33506,-4.18611,-3.85898,29.7999,2.79787,21.5246,-0.14252,11.346,-8.48055,2.94321,16.8936 --11.1703,0.707362,0.40918,3,15,0,15.4888,6.04923,1.3259,1.62848,2.40757,2.12118,0.971638,0.377877,0.148966,-0.110626,-1.38781,8.20843,8.8617,6.55026,5.90255,9.24142,7.33752,6.24674,4.20914,-4.49745,-3.22524,-3.86967,-3.32181,-3.76361,-3.4828,-3.91222,-3.90298,-49.4932,19.557,-16.9969,-9.60332,9.40702,-0.16967,4.73885,-11.4187 --5.83494,0.680077,0.40918,4,31,0,17.3554,3.63696,3.58238,0.367697,-0.955293,-0.862872,0.642368,0.104376,2.53481,-0.0665013,-0.445466,4.95419,0.545821,4.01088,3.39873,0.214733,5.93817,12.7176,2.04113,-4.80723,-3.49935,-3.78753,-3.37043,-3.12527,-3.4176,-3.36104,-3.96236,20.1241,-9.08084,11.1051,-3.17739,-16.6727,10.5212,13.9276,-16.5215 --5.86948,0.94366,0.40918,3,15,0,11.758,4.65466,3.94658,-0.731768,-0.26957,-1.03982,1.01249,0.116222,2.16324,0.0386771,-0.347071,1.76668,0.550933,5.11334,4.8073,3.59078,8.65054,13.1921,3.28492,-5.15629,-3.49897,-3.82009,-3.3367,-3.24626,-3.5587,-3.33711,-3.92652,-8.68392,-34.5773,-4.94174,7.58259,1.69612,13.5418,27.0922,6.19253 --5.48304,0.993557,0.40918,3,7,0,9.6391,4.04097,7.18937,1.34565,-0.173124,0.399469,-1.04252,-1.56973,1.16681,0.771921,1.66193,13.7153,6.91291,-7.24439,9.5906,2.79632,-3.45411,12.4296,15.9892,-4.08044,-3.22743,-3.72671,-3.34457,-3.20513,-3.39881,-3.37667,-3.83387,18.3104,15.9767,-17.1144,9.85091,-1.64947,-27.6729,14.7971,33.8362 --5.93324,0.952361,0.40918,3,7,0,8.99497,4.53378,10.9856,1.06136,0.172681,0.993194,-0.736009,-1.35566,1.50366,0.430375,1.62417,16.1934,15.4446,-10.359,9.26172,6.43079,-3.55174,21.0524,22.3763,-3.93676,-3.49864,-3.7973,-3.33797,-3.45701,-3.40245,-3.26811,-3.97546,-1.85886,6.31661,16.7203,15.4365,12.5587,9.22568,0.277086,17.7002 --6.46645,0.663004,0.40918,3,7,0,10.1396,2.23052,3.50787,0.482322,-1.40457,0.361898,0.175288,0.393118,0.180676,0.151221,-2.32819,3.92244,3.50001,3.60952,2.76098,-2.69654,2.8454,2.8643,-5.93646,-4.91527,-3.32277,-3.77685,-3.39109,-3.13393,-3.33091,-4.36697,-4.30579,-5.38747,-7.89872,8.49858,19.8893,2.55129,-18.6588,-17.2037,-16.243 --5.52369,0.998416,0.40918,3,7,0,9.63504,0.0658917,1.94974,-0.326486,0.268728,1.1456,0.196715,-3.5967e-05,0.722334,-1.00206,-1.01903,-0.57067,2.29952,0.0658216,-1.88787,0.58984,0.449434,1.47425,-1.92094,-5.44095,-3.384,-3.70989,-3.64326,-3.13177,-3.31809,-4.58703,-4.10837,-11.7707,6.63682,8.35946,-8.47793,4.49495,5.03425,27.2505,-13.8093 --10.0322,0.920484,0.40918,3,7,0,12.0644,7.02645,1.93124,-1.21983,1.96564,1.60884,0.584151,1.6529,0.700976,-0.597098,-0.944663,4.67066,10.1335,10.2186,5.87331,10.8226,8.15458,8.3802,5.20208,-4.83645,-3.24428,-4.0328,-3.32208,-3.97896,-3.52835,-3.68423,-3.88062,-4.27708,10.6113,32.8561,17.035,14.5412,12.9851,2.96574,17.5041 --7.81818,0.993603,0.40918,3,7,0,14.9621,6.52375,1.3023,-0.747027,0.375557,-0.0178354,0.582812,-1.70869,0.986061,-0.166799,-2.12841,5.5509,6.50053,4.29852,6.30653,7.01284,7.28275,7.8079,3.75193,-4.7469,-3.23277,-3.79557,-3.31882,-3.51249,-3.47995,-3.74092,-3.9143,15.257,4.90652,19.5828,13.4524,9.02244,20.44,9.04664,3.07183 --8.0305,0.937937,0.40918,3,7,0,13.9587,6.65276,5.94114,2.23117,-0.914017,0.162978,-0.939149,2.04593,0.178294,1.18688,0.237239,19.9084,7.62103,18.8079,13.7042,1.22245,1.07314,7.71203,8.06222,-3.77249,-3.22224,-4.6204,-3.50256,-3.14665,-3.31686,-3.75074,-3.83324,35.1513,-13.0195,21.3781,7.6479,5.8571,-2.63259,7.36913,-25.1174 --8.74275,0.924863,0.40918,3,7,0,10.3326,1.39379,3.70387,-1.3283,0.73025,0.162371,0.841431,-2.35549,1.13819,-1.11801,0.423688,-3.52607,1.9952,-7.33061,-2.74716,4.09854,4.51034,5.60948,2.96308,-5.83564,-3.40181,-3.72816,-3.70943,-3.27663,-3.36775,-3.98915,-3.93534,-5.76938,-7.60146,-13.7839,-16.2603,3.01413,1.81837,-9.89081,2.03694 --8.23154,0.991806,0.40918,3,7,0,11.3321,2.79102,4.94074,-1.43163,0.646243,0.545812,0.966417,-2.09523,0.85572,-1.08045,-0.101934,-4.28227,5.48773,-7.56096,-2.54719,5.98394,7.56583,7.01891,2.28739,-5.94287,-3.25308,-3.73216,-3.69348,-3.41725,-3.49498,-3.82445,-3.95489,-12.4922,1.73423,2.09717,-2.5209,14.2582,-6.48917,12.4213,38.6835 --6.85971,0.442625,0.40918,3,15,0,15.8554,4.9563,0.735926,-0.923172,-0.986234,0.413501,0.283456,0.655317,-0.592774,-1.91257,-0.385857,4.27691,5.26061,5.43856,3.54879,4.23051,5.1649,4.52006,4.67234,-4.87762,-3.25905,-3.83061,-3.36605,-3.28504,-3.38851,-4.13007,-3.89217,15.6148,-27.2808,-0.470961,-3.20503,6.94001,28.7317,8.07276,-12.8851 --6.37411,0.981894,0.40918,3,15,0,11.5837,4.52791,7.19226,1.77945,0.232101,0.212719,-1.0698,-2.19734,0.423038,1.03258,0.456616,17.3262,6.05784,-11.2759,11.9545,6.19724,-3.16639,7.57051,7.81201,-3.88017,-3.24038,-3.8253,-3.41827,-3.43592,-3.38856,-3.7654,-3.83638,43.4406,16.9893,-11.5148,-11.5128,2.14958,-6.5553,-10.163,11.8997 --7.38033,0.877753,0.40918,4,23,0,13.3626,4.70013,4.0219,1.34902,-1.17714,-0.116507,1.43976,-0.355161,-1.17108,0.015985,-1.59268,10.1257,4.23155,3.2717,4.76442,-0.0342148,10.4907,-0.00984505,-1.70547,-4.33696,-3.29253,-3.76835,-3.33749,-3.12192,-3.68904,-4.8433,-4.09919,24.5605,-6.33236,-24.9933,-3.76527,3.04177,15.2534,2.68835,-27.6216 --13.3255,0.744422,0.40918,4,23,0,18.9479,9.66264,1.98621,1.93303,-0.467921,1.48193,-2.85504,0.523946,2.30082,-0.789981,-0.439852,13.502,12.6061,10.7033,8.09358,8.73325,3.99193,14.2326,8.78901,-4.09408,-3.3276,-4.05829,-3.32178,-3.70095,-3.35382,-3.29249,-3.82522,-4.6604,17.2168,-1.64629,8.42081,15.5675,15.8199,16.6304,35.0278 --4.36001,0.980281,0.40918,3,7,0,18.8559,3.83688,6.9282,1.82679,-0.884531,0.0602684,-1.00187,-0.997669,1.42257,0.318913,-0.400663,16.4932,4.25443,-3.07517,6.04637,-2.29133,-3.1043,13.6928,1.06101,-3.92122,-3.29167,-3.69154,-3.32059,-3.12646,-3.38644,-3.31429,-3.99397,35.6331,3.37666,21.3713,10.1562,-1.30545,-5.83115,16.0806,5.11898 --9.31456,0.661942,0.40918,3,7,0,12.4547,8.85388,1.53038,-1.71569,0.446163,0.944278,1.81102,1.14229,1.33019,-0.0360661,0.179027,6.22823,10.299,10.602,8.79869,9.53668,11.6254,10.8896,9.12786,-4.68034,-3.24795,-4.05288,-3.3302,-3.80148,-3.78336,-3.47431,-3.82204,-19.2668,13.6003,30.724,8.79838,9.88291,-22.0708,22.3135,20.1209 --9.06894,0.992986,0.40918,3,7,0,14.0528,0.803413,3.07497,1.78127,-0.508637,-0.549039,-1.72911,-1.50982,-1.27762,-0.300838,-0.656001,6.28075,-0.884862,-3.83922,-0.121654,-0.76063,-4.51356,-3.12521,-1.21377,-4.67527,-3.61623,-3.6929,-3.52641,-3.11652,-3.44245,-5.4529,-4.07876,17.6617,15.3541,-17.2417,-0.271557,1.6877,-5.43971,-5.30483,7.41874 --10.9172,0.835891,0.40918,3,7,0,19.9368,-1.51089,2.44901,3.5964,1.24931,0.182371,0.0556694,0.700229,0.477447,-0.491079,-0.0504435,7.29673,-1.06426,0.203978,-2.71355,1.54869,-1.37456,-0.341619,-1.63443,-4.57949,-3.63233,-3.71158,-3.70672,-3.15626,-3.34013,-4.9036,-4.09619,8.14366,-4.35851,-2.88072,-15.4579,-17.6238,-12.6634,8.22483,11.4969 --3.6768,1,0.40918,3,7,0,12.283,1.13073,5.53923,0.328385,0.64082,-0.469835,0.671062,0.51837,0.697084,0.336291,0.853058,2.94973,-1.47179,4.0021,2.99353,4.68038,4.8479,4.99204,5.85602,-5.02147,-3.6701,-3.78729,-3.38316,-3.31534,-3.37802,-4.06756,-3.86756,-5.67493,-13.4211,5.97341,12.3197,-7.62128,8.20342,-8.23879,-1.47231 --7.80206,0.87508,0.40918,3,7,0,11.6757,6.85945,1.51186,2.23852,-1.57595,-0.304999,-0.493015,-0.701794,0.511363,0.944353,-1.16028,10.2438,6.39833,5.79843,8.28718,4.47684,6.11408,7.63256,5.10527,-4.32762,-3.23435,-3.84272,-3.32368,-3.30132,-3.42491,-3.75894,-3.88267,10.0692,7.81277,18.1137,10.0559,-3.93033,-16.3213,7.7291,6.98908 --9.22561,0.987435,0.40918,3,7,0,14.0874,8.50886,1.25851,1.42731,-0.97389,1.0616,0.692872,-0.115919,1.03309,1.96049,-1.45893,10.3052,9.8449,8.36298,10.9762,7.28321,9.38085,9.80902,6.67278,-4.32278,-3.23854,-3.94371,-3.38216,-3.53969,-3.60708,-3.55698,-3.85311,-1.51975,0.29492,-19.9698,4.3819,9.96499,33.3827,14.4447,-24.4061 --7.81545,0.983302,0.40918,3,7,0,13.5669,1.49408,4.05984,0.0802005,0.813069,0.121547,-0.204916,1.06719,-0.266261,-2.13831,1.3655,1.81969,1.98754,5.82673,-7.18714,4.79502,0.662157,0.413104,7.0378,-5.15012,-3.40227,-3.8437,-4.14855,-3.32346,-3.31731,-4.76802,-3.84731,1.71091,2.845,2.10508,-7.82955,-2.7051,5.97097,-0.781618,-17.3565 --3.28922,0.989191,0.40918,3,7,0,10.1604,5.42494,4.04912,1.24673,0.475804,0.112289,0.200897,-0.605035,0.746686,-0.421602,-0.603776,10.4731,5.87961,2.97508,3.71783,7.35153,6.2384,8.44836,2.98018,-4.30964,-3.244,-3.76126,-3.36135,-3.54671,-3.43023,-3.67769,-3.93486,34.8882,13.4196,-4.49789,5.39389,-12.6354,-2.39598,4.53749,-5.3363 --3.49835,0.740245,0.40918,3,7,0,13.3451,3.01889,2.78308,0.403926,0.593536,0.139366,-0.81581,0.117718,1.32442,-0.382293,0.0591398,4.14305,3.40676,3.34651,1.95494,4.67075,0.748426,6.70486,3.18348,-4.89178,-3.32701,-3.7702,-3.42201,-3.31467,-3.3171,-3.85942,-3.92927,-2.8887,2.13477,12.5471,-0.478719,16.7502,16.4691,3.94038,-43.1455 --3.25941,0.945533,0.40918,2,7,0,7.6126,4.33167,2.06276,0.104007,0.339692,-0.228015,0.531398,0.0749742,-0.625663,-0.250814,0.232637,4.54621,3.86133,4.48632,3.8143,5.03237,5.42782,3.04107,4.81155,-4.84939,-3.30717,-3.80099,-3.35877,-3.34079,-3.39785,-4.34037,-3.88905,8.76361,1.66913,14.1943,4.63906,11.6337,-9.34158,-2.38076,-43.5403 --7.37085,1,0.40918,3,7,0,17.4557,6.63587,0.47852,0.708936,-0.746048,0.594384,-0.167577,-0.316476,1.98978,0.854391,-0.912786,6.97511,6.92029,6.48443,7.04471,6.27887,6.55568,7.58802,6.19908,-4.60931,-3.22735,-3.86722,-3.31684,-3.44321,-3.44438,-3.76357,-3.86124,18.6118,11.0277,7.53928,31.4361,-1.90019,28.4797,11.7023,-15.474 --4.83851,0.753922,0.40918,3,7,0,9.14212,6.71558,17.2724,1.07482,-0.58323,-0.192807,-0.333437,0.73431,-0.082162,0.603892,-0.614714,25.2804,3.38534,19.3989,17.1463,-3.35821,0.956321,5.29645,-3.90201,-3.64343,-3.328,-4.67143,-3.74223,-3.15049,-3.31684,-4.02843,-4.19955,21.1701,11.6254,11.7337,8.30855,8.15352,0.617957,5.1847,-7.97438 --6.4048,0.894469,0.40918,3,7,0,9.15763,4.46406,1.48497,1.33415,-0.128147,0.439078,0.891714,-0.801811,1.7176,-0.243961,1.41251,6.44523,5.11608,3.27339,4.10178,4.27376,5.78823,7.01465,6.56159,-4.65945,-3.26311,-3.76839,-3.35154,-3.28785,-3.41157,-3.82491,-3.85495,-16.3357,22.6853,1.98666,7.65058,8.36099,2.66517,12.3029,24.2817 --6.03793,1,0.40918,3,7,0,9.77277,5.78797,2.11276,1.12847,0.277226,0.84197,0.456969,-0.677387,1.60283,0.205399,1.68944,8.17216,7.56685,4.35681,6.22192,6.37368,6.75343,9.17437,9.35735,-4.50064,-3.22246,-3.79724,-3.31934,-3.45179,-3.45362,-3.61098,-3.82009,17.0441,16.8945,30.4,2.92398,13.9294,12.2679,6.56133,4.13314 --4.4536,0.995846,0.40918,3,15,0,9.58568,1.08501,4.04858,0.31935,1.09645,0.446008,0.00870564,1.08815,1.42298,0.387977,-0.0877993,2.37792,2.89071,5.49047,2.65577,5.5241,1.12025,6.84604,0.729545,-5.08586,-3.35205,-3.83232,-3.39482,-3.3789,-3.31689,-3.84358,-4.00533,12.9036,14.2521,3.5629,-5.44971,7.08818,0.0231727,-1.94113,-21.3987 --4.55551,0.964113,0.40918,3,7,0,8.76436,3.29671,4.91053,1.05823,-1.61635,0.971432,-0.0365319,0.0763876,1.33083,-0.520885,-0.565038,8.49318,8.06695,3.67181,0.738888,-4.64044,3.11732,9.83177,0.522073,-4.47258,-3.22155,-3.77847,-3.47882,-3.19797,-3.33536,-3.55512,-4.01262,20.2966,10.4317,-0.0889452,-22.5516,-1.31691,0.802587,-6.40379,0.681534 --6.39359,0.857115,0.40918,3,7,0,11.4513,2.21358,4.91512,2.10286,-1.92087,0.719988,-0.800607,-0.0509664,0.929312,-0.270368,-0.623,12.5494,5.75242,1.96308,0.884694,-7.22772,-1.7215,6.78127,-0.848536,-4.15748,-3.24678,-3.73964,-3.47137,-3.35557,-3.34744,-3.85082,-4.06407,-6.77492,14.1562,17.0533,-3.96444,-0.0512073,5.7273,6.63223,12.0327 --5.73607,0.967933,0.40918,3,7,0,9.56961,6.58902,2.37052,-1.40717,1.25836,-0.451736,0.498144,-0.240181,0.226667,-0.0582759,0.922649,3.25331,5.51817,6.01967,6.45088,9.57198,7.76988,7.12634,8.77618,-4.98788,-3.25232,-3.85042,-3.31808,-3.80608,-3.50622,-3.81271,-3.82535,-4.10449,-4.73873,-1.12456,-14.5099,12.8753,-2.20484,0.516357,11.073 --7.1453,0.879156,0.40918,3,7,0,12.0315,4.45475,1.55047,1.40921,-0.654768,0.202146,-2.17945,0.805022,-0.735015,0.173603,0.881943,6.63969,4.76817,5.70291,4.72391,3.43955,1.07557,3.31513,5.82218,-4.64091,-3.27375,-3.83946,-3.33824,-3.23783,-3.31686,-4.29975,-3.86821,19.0097,10.8369,12.1982,18.9896,9.04921,9.31055,9.86962,-3.51491 --5.90557,0.999237,0.40918,3,7,0,10.1921,7.99665,4.32893,-0.598449,-0.229756,-1.35885,1.07814,0.331981,-0.639893,0.450641,-0.140086,5.40601,2.11429,9.43378,9.94745,7.00206,12.6638,5.2266,7.39023,-4.76141,-3.39473,-3.99348,-3.35273,-3.51143,-3.879,-4.03732,-3.8421,19.0719,3.82759,-14.8975,-2.39075,26.7415,34.2604,-0.322707,18.8028 --3.53944,1,0.40918,3,7,0,7.04876,3.75078,1.98809,0.444071,0.0994205,-0.110646,1.21456,0.307006,0.0726814,0.324999,-0.237255,4.63363,3.5308,4.36113,4.3969,3.94843,6.16543,3.89527,3.27909,-4.84029,-3.32139,-3.79736,-3.34483,-3.26732,-3.42709,-4.21624,-3.92668,22.2908,3.07991,27.4411,21.5133,1.69041,7.42463,-1.3415,5.09801 --7.53037,0.918866,0.40918,3,7,0,8.93583,7.89879,2.97965,2.12093,0.477895,0.483224,-0.011942,-0.51375,-1.80116,-0.560152,0.0664408,14.2184,9.33863,6.368,6.22973,9.32275,7.86321,2.53195,8.09676,-4.04906,-3.23048,-3.86293,-3.31929,-3.77394,-3.51148,-4.41783,-3.83282,18.2535,8.00521,31.2664,-4.97141,9.80841,32.8428,-6.33419,-24.802 --7.12689,0.613436,0.40918,3,15,0,15.5345,0.435662,2.42628,0.608702,0.568455,2.26809,-0.650137,-1.38159,0.17503,-0.189908,0.716559,1.91254,5.93868,-2.91645,-0.0251066,1.81489,-1.14175,0.860335,2.17423,-5.13933,-3.24277,-3.69154,-3.52077,-3.16507,-3.33579,-4.69036,-3.9583,10.8138,15.1797,-11.8906,-0.0858161,1.8446,7.56047,-0.640922,35.4717 --5.3239,1,0.40918,3,7,0,9.83947,1.12057,3.31747,-0.124627,0.348896,0.985752,-0.965423,-0.937521,-0.0329732,0.60948,1.48289,0.707126,4.39077,-1.98962,3.1425,2.27802,-2.08219,1.01118,6.04002,-5.28232,-3.28666,-3.69352,-3.37832,-3.18249,-3.35609,-4.66462,-3.86413,10.0292,-13.8072,1.16042,-1.37605,17.5921,-0.247484,8.71211,-4.07371 --7.84376,0.715088,0.40918,3,7,0,14.824,2.76748,2.44888,-1.09819,0.236645,-1.63302,-0.596781,-1.84438,0.721742,1.11751,0.860422,0.0781427,-1.23159,-1.74919,5.50414,3.347,1.30603,4.53494,4.87455,-5.3595,-3.64763,-3.69458,-3.32608,-3.23281,-3.31722,-4.12806,-3.88766,-15.1778,-0.636884,-0.0153786,-4.26945,-6.56351,5.18625,6.26607,-3.09575 --7.74158,0.942815,0.40918,3,15,0,12.9616,3.89074,5.78835,2.49924,-0.657511,1.2274,0.781437,1.67867,0.991056,-0.678869,0.642726,18.3572,10.9954,13.6075,-0.0387863,0.0848373,8.41398,9.62733,7.61107,-3.83362,-3.26638,-4.23022,-3.52156,-3.12343,-3.54397,-3.57203,-3.83904,9.7839,-4.37356,5.6142,1.81191,5.40329,8.02306,9.68771,1.75541 --7.32493,0.92734,0.40918,3,15,0,14.8671,7.80039,3.14772,-0.24747,-0.105179,0.830078,0.670625,0.141643,2.21761,0.235374,-1.77973,7.02142,10.4132,8.24624,8.54128,7.46931,9.91132,14.7808,2.1983,-4.60499,-3.25064,-3.93855,-3.32665,-3.55894,-3.64498,-3.27334,-3.95757,14.9172,2.73246,11.8188,13.1149,18.1001,23.5716,6.32425,-16.1218 --5.32733,1,0.40918,3,7,0,8.71125,1.07495,5.98377,0.76678,-0.390565,-0.986514,-0.459895,0.145537,-0.80732,-0.215864,0.656294,5.66318,-4.82812,1.94581,-0.216735,-1.2621,-1.67696,-3.75587,5.00205,-4.73573,-4.04433,-3.7393,-3.53205,-3.11659,-3.34645,-5.58811,-3.88488,38.7359,9.67313,-6.51124,7.26424,-2.0588,0.874946,3.53167,-9.92451 --6.98048,0.77354,0.40918,3,7,0,10.3414,8.72275,0.934299,2.02528,0.441109,0.489192,-0.964439,-0.48888,0.153655,-0.48201,-0.594611,10.615,9.17981,8.26599,8.27241,9.13488,7.82168,8.86631,8.16721,-4.29863,-3.22848,-3.93942,-3.32352,-3.75021,-3.50913,-3.63864,-3.83198,11.2521,-2.58098,39.6077,9.50556,-2.15642,-5.99085,0.201799,23.783 --5.59856,0.933874,0.40918,3,15,0,10.5568,9.80176,2.35539,-0.540534,-1.36267,-0.466656,0.169534,0.86711,-0.227721,0.697902,-0.260203,8.52859,8.70261,11.8441,11.4456,6.59215,10.2011,9.26539,9.18888,-4.46951,-3.22399,-4.1219,-3.3985,-3.47197,-3.66667,-3.60299,-3.82151,23.5932,21.4193,20.9,10.0173,-4.06105,5.0608,-1.59769,0.308632 --6.76316,0.855917,0.40918,3,7,0,16.2496,2.9936,1.03823,0.0031507,0.695785,0.658496,0.830082,-1.12388,-1.1981,0.790949,-1.33101,2.99687,3.67727,1.82675,3.81479,3.71598,3.85541,1.74968,1.6117,-5.01623,-3.31495,-3.73703,-3.35876,-3.25345,-3.35053,-4.54189,-3.97585,1.98399,-6.65863,22.2665,13.4734,-7.78923,-9.66676,8.55688,10.2225 --6.05135,0.89268,0.40918,3,7,0,14.5205,5.10547,0.455265,-0.0295606,0.0392158,0.0836845,0.622315,-1.58674,-0.515271,0.742919,-0.763768,5.09201,5.14357,4.38308,5.4437,5.12333,5.38879,4.87089,4.75776,-4.79316,-3.26232,-3.79799,-3.32684,-3.34761,-3.39643,-4.08339,-3.89025,4.48915,-12.6192,8.92806,5.40728,4.6231,-17.8177,14.1507,-15.3132 --7.07183,0.976088,0.40918,3,15,0,10.2783,4.29125,6.8153,-1.34054,-0.243969,-0.464196,-1.11754,1.13508,-0.467312,0.345144,0.93361,-4.84493,1.12762,12.0271,6.64351,2.62853,-3.32511,1.10638,10.6541,-6.0243,-3.45767,-4.13257,-3.31736,-3.19744,-3.39413,-4.6485,-3.81211,4.73095,-2.98624,19.1795,1.03106,-6.04577,-3.7636,-2.62356,12.9275 --10.0368,0.820975,0.40918,3,7,0,13.3282,4.88167,0.421502,1.3449,-0.532117,-1.231,-0.442666,-0.367974,2.7552,0.93214,-0.475818,5.44855,4.3628,4.72657,5.27457,4.65738,4.69509,6.04299,4.68111,-4.75714,-3.28767,-3.80813,-3.32914,-3.31373,-3.37325,-3.93637,-3.89197,11.0563,-5.60207,12.019,22.5203,4.78757,9.19113,7.58015,4.91578 --5.879,1,0.40918,3,7,0,13.174,9.64592,7.30351,0.162132,-0.368014,-1.59928,0.752016,0.17479,-0.00648439,-0.149038,-0.303708,10.8301,-2.0344,10.9225,8.55742,6.95813,15.1383,9.59856,7.42779,-4.28212,-3.72497,-4.07011,-3.32686,-3.5071,-4.14283,-3.57444,-3.84157,6.69957,-1.29268,25.7062,6.33501,4.11189,28.7527,-10.4756,11.9959 --4.86273,1,0.40918,3,7,0,8.18144,4.67487,0.716522,0.00565509,0.9166,0.0638742,-0.534166,0.83944,-0.368249,0.705838,0.525396,4.67892,4.72064,5.27635,5.18062,5.33163,4.29213,4.41101,5.05133,-4.83559,-3.27529,-3.82531,-3.33051,-3.36363,-3.36162,-4.14483,-3.88382,15.3587,12.5415,31.584,-19.4061,34.2822,2.55665,-1.17017,22.3613 --12.9882,0.855619,0.40918,3,7,0,14.623,3.4773,2.88631,-0.089531,1.90787,-1.27192,0.911883,-0.67347,-1.33091,2.049,2.48278,3.21889,-0.19384,1.53346,9.39136,8.984,6.10927,-0.36412,10.6434,-4.99166,-3.55722,-3.73167,-3.34046,-3.73147,-3.4247,-4.90773,-3.81215,-29.6327,-11.012,4.40883,5.6878,3.56145,-5.91092,6.40165,47.3433 -# -# Elapsed Time: 0.032638 seconds (Warm-up) -# 0.00743 seconds (Sampling) -# 0.040068 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-3.csv b/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-3.csv deleted file mode 100644 index f5dcc44632..0000000000 --- a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-3.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 20 -# stan_version_patch = 0 -# model = stan_test_data_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 3 -# data -# file = /tmp/tmp2ipdytqf/_pz629gf.json -# init = 2 (Default) -# random -# seed = 81267 -# output -# file = /tmp/tmp2ipdytqf/stan_test_data-202102230057-3-llkr9wpb.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,eta.1.1,eta.2.1,eta.1.2,eta.2.2,eta.1.3,eta.2.3,eta.1.4,eta.2.4,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 -# Adaptation terminated -# Step size = 0.427277 -# Diagonal elements of inverse mass matrix: -# 12.6931, 1.16115, 0.989902, 0.910845, 0.958385, 0.911528, 0.76311, 0.950557, 0.805897, 0.992369 --5.79095,0.967314,0.427277,3,7,0,10.365,3.01052,2.6873,-0.473404,-1.45263,0.31315,-0.18336,-1.63014,1.64636,0.167379,0.380245,1.73834,3.85205,-1.37015,3.46032,-0.893121,2.51778,7.43478,4.03235,-5.1596,-3.30755,-3.69672,-3.36861,-3.11623,-3.32635,-3.77964,-3.90728,0.0422749,2.26619,-6.12752,10.0996,-15.0136,-11.386,25.1375,21.1875 --8.07588,0.946646,0.427277,3,15,0,11.606,8.55464,4.47064,0.723242,0.452029,-0.510986,2.2942,0.406132,0.639866,0.215814,-1.13542,11.788,6.27021,10.3703,9.51947,10.5755,18.8112,11.4153,3.47858,-4.21105,-3.23648,-4.04068,-3.34306,-3.94328,-4.62774,-3.43832,-3.92137,14.4822,10.1253,36.7617,22.6547,30.469,23.8266,21.8378,19.5739 --4.98864,0.978877,0.427277,3,15,0,13.6811,7.11007,7.16199,1.07826,-0.947594,-0.275759,0.847614,-1.78481,0.423834,0.207942,-0.60672,14.8326,5.13509,-5.67275,8.59935,0.323419,13.1807,10.1456,2.76475,-4.01228,-3.26256,-3.70548,-3.3274,-3.12697,-3.92993,-3.52998,-3.94093,12.6788,12.6516,-12.1518,7.58184,8.57212,11.6951,-12.7672,-14.7221 --4.67212,0.999443,0.427277,3,7,0,7.59585,3.24958,5.59917,0.284411,-0.805205,0.216358,-1.08105,1.1924,1.40357,0.605027,1.12364,4.84204,4.461,9.92602,6.63722,-1.2589,-2.80339,11.1084,9.54101,-4.81875,-3.28415,-4.01786,-3.31738,-3.11658,-3.37661,-3.459,-3.81864,-14.3316,-14.6096,17.6746,2.86421,8.79528,-5.86463,17.1408,-7.40981 --4.50208,0.981408,0.427277,3,7,0,8.17045,0.508995,5.55888,0.262235,0.876289,0.783007,0.4043,-0.155355,-0.232564,-0.687559,0.613249,1.96673,4.86164,-0.354604,-3.31307,5.38019,2.75645,-0.783801,3.91798,-5.13306,-3.27077,-3.7052,-3.75634,-3.36744,-3.32958,-4.98568,-3.91011,-7.03528,10.5341,-7.86156,-21.8781,2.73323,16.8201,-2.311,-15.115 --4.44091,0.862133,0.427277,3,7,0,11.8488,5.80564,1.84191,0.156455,-1.10973,-1.12321,-0.746936,-0.108845,0.874935,0.496397,-0.390372,6.09382,3.7368,5.60516,6.71996,3.76161,4.42985,7.4172,5.08661,-4.69339,-3.3124,-3.83615,-3.31716,-3.25612,-3.36544,-3.7815,-3.88307,-8.03861,-14.8288,-21.0963,13.6328,13.8217,-2.48648,-16.9,-18.6294 --5.58378,0.955063,0.427277,3,7,0,10.1909,2.05839,1.51051,0.477381,0.741143,2.10778,0.245345,-0.201056,-0.0971007,0.0931374,-0.0185124,2.77948,5.24222,1.7547,2.19908,3.1779,2.42899,1.91172,2.03043,-5.04049,-3.25955,-3.73568,-3.41208,-3.22391,-3.32527,-4.51569,-3.96269,20.3405,-4.09254,-4.34628,3.02329,11.1568,2.50622,8.90532,-14.6975 --5.9575,0.944683,0.427277,3,7,0,11.1314,5.5821,2.38442,-0.488822,0.710989,-2.18504,0.350608,-0.62047,0.404595,0.140501,0.0743951,4.41654,0.372032,4.10264,5.91711,7.2774,6.4181,6.54683,5.75949,-4.86294,-3.51245,-3.79006,-3.32168,-3.5391,-3.43814,-3.8774,-3.86941,-14.2204,9.73889,-28.8332,17.1468,14.3814,-0.445429,11.9812,9.85768 --4.51882,0.978899,0.427277,3,7,0,9.06162,2.93187,0.833376,-0.411022,-0.60528,0.241282,0.462756,-0.265925,-0.233405,0.936239,0.630502,2.58933,3.13295,2.71025,3.71211,2.42744,3.31752,2.73735,3.45731,-5.06188,-3.33996,-3.75521,-3.3615,-3.18868,-3.33903,-4.38627,-3.92193,0.613841,13.4854,-10.2327,7.88901,4.82029,23.9929,18.7687,-10.7736 --2.6833,0.972535,0.427277,3,7,0,6.74386,5.73082,14.1062,0.800466,-0.349681,-0.205786,-0.00362346,-0.0566165,0.88178,-0.818961,0.174667,17.0224,2.82795,4.93217,-5.82164,0.798134,5.6797,18.1694,8.19471,-3.89478,-3.35527,-3.81442,-3.99615,-3.13612,-3.40733,-3.22167,-3.83166,18.4595,0.788126,-10.9877,-12.5882,-14.344,-0.528336,17.7638,-2.23533 --4.04749,0.889552,0.427277,3,7,0,5.51155,0.699194,4.35284,1.4553,-0.3658,0.951651,0.47443,-0.103688,0.374417,1.09709,0.560293,7.0339,4.84158,0.247856,5.47466,-0.893078,2.76431,2.32897,3.13806,-4.60383,-3.2714,-3.71213,-3.32645,-3.11623,-3.3297,-4.44943,-3.9305,17.0896,23.6224,-0.0809572,18.7562,1.45291,13.3826,19.5796,26.2246 --3.84476,0.617753,0.427277,3,7,0,6.79858,1.41419,2.38985,0.863576,-0.28029,0.32534,-0.221685,-0.462732,0.29596,-0.198284,1.23496,3.478,2.1917,0.308329,0.940319,0.744338,0.884394,2.12149,4.36555,-4.96327,-3.39021,-3.7129,-3.46857,-3.13495,-3.31689,-4.48216,-3.89926,8.21512,1.41171,-0.0794572,9.66776,0.302412,-19.6378,-13.1964,6.45377 --6.44506,0.964131,0.427277,3,7,0,7.86909,7.69789,1.62127,0.135732,-0.875059,-0.490448,1.87074,0.110924,0.680432,1.1768,-0.465985,7.91795,6.90275,7.87773,9.6058,6.27919,10.7309,8.80106,6.94241,-4.52319,-3.22754,-3.92263,-3.34489,-3.44324,-3.70811,-3.64463,-3.84878,13.1448,2.95008,11.9271,23.4681,3.60921,8.54682,0.246466,-3.34083 --6.823,0.899726,0.427277,3,7,0,14.0497,2.96765,3.36903,0.0208052,-1.43633,-0.497866,-0.543906,0.905771,-0.738031,1.94879,-0.440355,3.03774,1.29032,6.01922,9.53319,-1.8714,1.13521,0.481198,1.48408,-5.01169,-3.44662,-3.85041,-3.34335,-3.12085,-3.31691,-4.75607,-3.97997,27.0863,-11.2204,0.437573,6.13205,-15.7291,8.27031,-1.26459,7.72182 --6.13788,0.833499,0.427277,3,7,0,14.8143,5.44042,1.64335,0.55459,0.40272,0.0118594,1.74881,1.41357,-0.626337,0.235581,-0.466412,6.35181,5.45991,7.76341,5.82757,6.10223,8.31434,4.41113,4.67395,-4.66842,-3.25378,-3.9178,-3.32251,-3.42753,-3.53791,-4.14481,-3.89214,40.5997,18.9005,38.0638,20.6416,16.4854,22.9209,-11.1122,-8.38134 --6.24101,0.982481,0.427277,3,7,0,9.41308,3.04073,5.75963,0.0449293,-0.959203,0.0816919,-1.95529,-1.59282,1.15443,-0.329565,0.678393,3.29951,3.51125,-6.13335,1.14255,-2.48393,-8.22104,9.68982,6.94802,-4.9828,-3.32227,-3.7107,-3.45861,-3.12976,-3.66819,-3.56682,-3.8487,-8.72501,4.23811,23.985,12.729,10.5934,-12.5816,8.87108,32.0065 --7.99241,0.983221,0.427277,3,7,0,11.5531,7.99594,3.23202,1.20296,-1.83961,-0.0944298,-0.491554,-1.33733,0.139108,-1.85639,1.39041,11.8839,7.69074,3.67364,1.99606,2.05027,6.40722,8.44554,12.4898,-4.20416,-3.222,-3.77851,-3.4203,-3.1736,-3.43765,-3.67796,-3.80968,5.31875,17.0794,4.91002,-6.12496,10.8327,3.59355,3.7895,-18.336 --9.88207,0.955115,0.427277,3,7,0,12.775,1.32546,3.70849,-0.870636,1.5473,0.277073,0.278349,1.57568,0.281286,2.1713,-1.43545,-1.90328,2.35298,7.16886,9.37772,7.06362,2.35771,2.36861,-3.99789,-5.61411,-3.38097,-3.89349,-3.3402,-3.51753,-3.32445,-4.44323,-4.20427,5.13072,-1.6165,23.4027,15.1884,4.13878,3.29577,-4.81719,-24.7485 --8.38299,0.861866,0.427277,3,7,0,16.3933,6.22116,0.525899,0.536235,-0.781979,-1.6257,-0.868934,-0.284183,1.26366,-1.82675,-0.166423,6.50316,5.36621,6.07171,5.26047,5.80992,5.76419,6.88571,6.13364,-4.65391,-3.25621,-3.85226,-3.32934,-3.40243,-3.41063,-3.83916,-3.86242,0.2532,1.33809,-27.7887,-1.3753,12.6691,4.37615,5.93705,17.9338 --8.47709,0.984283,0.427277,3,7,0,13.4482,3.15106,6.59852,0.553053,-0.957865,-1.58903,-0.22129,1.10119,-0.431944,1.31058,-1.39795,6.80039,-7.33422,10.4173,11.799,-3.16944,1.69087,0.300867,-6.07333,-4.62571,-4.39722,-4.04313,-3.412,-3.14522,-3.31881,-4.78782,-4.31339,46.295,-7.97982,-3.57704,15.1103,8.4028,9.24298,-1.92837,-1.50341 --8.47709,0.103857,0.427277,3,7,0,16.3524,3.15106,6.59852,0.553053,-0.957865,-1.58903,-0.22129,1.10119,-0.431944,1.31058,-1.39795,6.80039,-7.33422,10.4173,11.799,-3.16944,1.69087,0.300867,-6.07333,-4.62571,-4.39722,-4.04313,-3.412,-3.14522,-3.31881,-4.78782,-4.31339,-0.0839041,-1.58207,13.0508,11.0933,-13.8052,18.3756,14.3476,-21.9579 --8.12451,0.390264,0.427277,3,15,0,19.0466,4.5323,1.75985,0.735207,-0.384923,-0.352729,1.34872,-1.46501,1.71972,-1.72481,1.07205,5.82615,3.91155,1.95411,1.4969,3.8549,6.90584,7.55875,6.41894,-4.71961,-3.3051,-3.73946,-3.44197,-3.26166,-3.46096,-3.76662,-3.85738,-7.02392,-4.19828,5.91172,-0.713662,4.20597,-17.8411,20.3284,16.0921 --4.37828,0.995389,0.427277,3,15,0,10.8234,1.75018,8.38417,0.282976,-0.0766654,1.22827,0.600437,-0.319544,1.7973,-0.72278,0.0989791,4.1227,12.0482,-0.928929,-4.30973,1.1074,6.78434,16.8191,2.58004,-4.89393,-3.30346,-3.6999,-3.84539,-3.14358,-3.45509,-3.2285,-3.94625,-34.9997,25.1992,-24.5345,-9.6837,-11.2961,1.55115,13.3154,-35.7499 --3.61639,1,0.427277,3,7,0,6.24327,1.79977,6.07624,1.22872,1.00228,0.785761,-0.0267704,0.00948983,0.3642,0.847744,0.299046,9.26577,6.57424,1.85743,6.95086,7.88984,1.63711,4.01273,3.61685,-4.40692,-3.23169,-3.73761,-3.31684,-3.604,-3.31851,-4.19974,-3.91776,9.57906,16.2977,-5.4291,6.36077,-1.04067,15.0805,10.2666,26.8349 --4.28248,0.897576,0.427277,3,7,0,8.09795,4.42423,3.17823,-0.519162,-1.54205,-0.692866,-0.230953,-0.192289,0.759224,-0.755182,-0.0752014,2.77421,2.22214,3.81309,2.02409,-0.476772,3.6902,6.83721,4.18522,-5.04108,-3.38844,-3.78219,-3.41915,-3.11785,-3.34674,-3.84456,-3.90356,17.5869,-9.81317,28.3888,5.72169,-3.615,-0.921389,0.364992,-10.2826 --4.48304,0.97619,0.427277,3,7,0,6.99485,5.28713,7.29948,0.20246,-0.940065,1.44704,0.767989,0.44661,0.448907,0.0589771,-0.557508,6.76498,15.8498,8.54716,5.71763,-1.57485,10.8931,8.56392,1.21761,-4.62905,-3.52962,-3.95195,-3.32363,-3.1182,-3.72127,-3.66672,-3.98872,-5.16192,26.5557,39.1283,24.6143,-0.756144,14.1427,-7.50858,-17.3251 --6.14086,0.976052,0.427277,3,7,0,8.21701,6.18903,2.79315,0.573305,0.329433,-2.05859,-1.32396,-0.595069,0.827796,0.546967,0.26443,7.79036,0.43907,4.52691,7.71679,7.10919,2.49099,8.50119,6.92762,-4.53461,-3.50736,-3.80218,-3.31896,-3.52208,-3.32602,-3.67266,-3.84902,-6.41623,-1.52512,2.02933,-8.57768,8.34886,4.2034,35.4649,-6.23497 --8.30488,0.940314,0.427277,3,7,0,12.4418,2.12333,2.09958,-1.74661,-1.63393,0.452232,0.784436,1.54472,0.946346,-0.430298,-0.718011,-1.54381,3.07283,5.3666,1.21988,-1.30724,3.77031,4.11026,0.61581,-5.56663,-3.34291,-3.82825,-3.45489,-3.11675,-3.34855,-4.18615,-4.00931,-1.1202,-12.9661,28.5635,-15.2976,5.64586,-7.95285,12.5692,-18.7591 --9.00417,0.855853,0.427277,3,7,0,23.4685,-0.884482,3.0086,0.662631,-1.68453,0.0267744,1.31538,0.0550476,2.55992,-0.939829,0.377136,1.10911,-0.803928,-0.718865,-3.71205,-5.95257,3.07296,6.81731,0.25017,-5.23392,-3.60907,-3.70169,-3.791,-3.26757,-3.33459,-3.84679,-4.02236,6.42492,-5.70163,-16.1444,-1.90891,-5.4314,-5.96029,13.0148,-11.4644 --4.27746,1,0.427277,3,7,0,11.1705,3.336,7.28652,-0.0910245,0.728262,0.984374,-1.12661,0.158913,1.01447,0.769837,-0.0487915,2.67275,10.5087,4.49393,8.94544,8.6425,-4.87308,10.728,2.98048,-5.05248,-3.25299,-3.80121,-3.33247,-3.6901,-3.45937,-3.48593,-3.93485,-2.00027,10.7673,15.2215,13.9671,-1.04253,7.80014,10.2122,1.85631 --5.83238,0.830997,0.427277,3,7,0,10.9994,-1.35199,9.06899,-0.19609,0.496157,0.868968,-1.24869,-0.2477,0.747704,1.02745,-0.448383,-3.13033,6.52867,-3.59838,7.96599,3.14765,-12.6763,5.42893,-5.41837,-5.78054,-3.23235,-3.69223,-3.32069,-3.22235,-4.08973,-4.01168,-4.27752,0.454498,11.1517,8.24755,28.0323,7.83198,-31.4204,-0.902692,20.399 --9.12072,0.810368,0.427277,3,7,0,13.859,5.11432,1.21256,1.46251,-0.0585328,0.929484,-0.33965,0.178413,0.287668,-3.0279,-0.465284,6.88771,6.24137,5.33065,1.4428,5.04334,4.70247,5.46313,4.55013,-4.6175,-3.23699,-3.82707,-3.44445,-3.34161,-3.37348,-4.00739,-3.89496,9.77817,2.0331,-2.41977,-8.39848,0.783586,-8.18717,15.595,-1.44915 --9.18627,0.999024,0.427277,3,7,0,13.6373,3.01741,4.99714,-1.19393,-2.20951,-0.999991,0.477322,-0.352528,1.3755,1.76402,0.0765238,-2.9488,-1.97968,1.25578,11.8325,-8.02382,5.40266,9.89099,3.39981,-5.7555,-3.71949,-3.7269,-3.41333,-3.42069,-3.39693,-3.5503,-3.92345,2.36628,9.22219,22.4445,-3.56508,-0.921132,6.05284,-20.2506,9.60355 --9.06634,0.521555,0.427277,3,15,0,17.2751,2.07922,1.09021,0.205479,-1.36495,1.03814,-0.402504,-0.350498,2.83354,1.18133,-0.0299832,2.30323,3.21101,1.6971,3.36711,0.591139,1.6404,5.16836,2.04653,-5.09438,-3.3362,-3.73462,-3.37137,-3.13179,-3.31853,-4.04478,-3.9622,21.1283,-4.27951,-9.97341,34.6489,-13.0603,10.4038,6.98761,-36.7351 --5.47427,0.992595,0.427277,3,7,0,12.2767,7.69171,9.62414,0.548897,-0.824832,1.31427,0.669948,-0.0764808,1.2055,0.21253,0.927188,12.9744,20.3404,6.95565,9.73713,-0.24659,14.1394,19.2936,16.6151,-4.1287,-3.98296,-3.88511,-3.34779,-3.11967,-4.03024,-3.22989,-3.84218,24.2736,19.3551,33.6531,1.96407,-15.9568,-5.60943,20.7307,22.0261 --4.92981,1,0.427277,3,7,0,7.76687,0.437929,2.6778,1.6969,-0.598858,-0.104069,0.442055,-0.357654,1.27232,0.528888,-0.374144,4.98188,0.159254,-0.519799,1.85419,-1.16569,1.62166,3.84495,-0.563956,-4.8044,-3.52891,-3.70354,-3.42625,-3.11633,-3.31843,-4.22335,-4.05291,8.2791,28.3171,-33.646,4.03045,-10.1108,2.43829,-3.86729,1.36661 --3.29748,0.576576,0.427277,2,7,0,9.92445,3.72171,2.21314,0.967645,-0.659088,0.336322,0.00340924,-0.0560447,0.979924,0.0839454,-0.570393,5.86325,4.46604,3.59768,3.90749,2.26306,3.72926,5.89042,2.45935,-4.71596,-3.28397,-3.77655,-3.35635,-3.18189,-3.34761,-3.95473,-3.94978,2.23063,16.5868,-8.00623,8.34986,-2.35526,14.0215,-0.968465,8.62186 --4.5403,0.974295,0.427277,3,7,0,6.34863,4.01791,8.33253,0.603083,0.721912,0.217612,-0.394281,-1.3767,-0.280173,0.827879,0.447524,9.04312,5.83117,-7.4535,10.9162,10.0333,0.732546,1.68336,7.74691,-4.42557,-3.24504,-3.73026,-3.38021,-3.8676,-3.31713,-4.55269,-3.83723,20.6613,-4.55813,-3.0789,13.3055,6.12735,8.20193,6.69268,9.01096 --8.95802,0.511264,0.427277,3,7,0,12.56,7.45082,2.00601,1.65335,-2.24627,-0.160205,-1.16216,0.649475,2.10641,-0.33198,0.0714425,10.7675,7.12945,8.75367,6.78486,2.94479,5.11952,11.6763,7.59413,-4.2869,-3.22531,-3.96135,-3.31703,-3.21222,-3.38696,-3.42147,-3.83927,5.75318,-4.11201,8.84459,-4.85643,5.27903,-15.66,11.2336,-29.041 --9.67098,0.981385,0.427277,3,7,0,16.2894,8.433,7.27672,-0.571148,-0.843001,-0.689716,-1.7976,-1.08348,1.0018,2.19133,-0.722479,4.27692,3.41413,0.548836,24.3787,2.29872,-4.64762,15.7228,3.17572,-4.87762,-3.32667,-3.71613,-4.56485,-3.18333,-3.44863,-3.24745,-3.92948,19.522,5.23047,31.0474,23.3233,-0.27149,-14.5525,-7.41719,-5.42943 --4.58634,1,0.427277,3,7,0,10.9802,5.15496,2.64229,-0.334324,-0.567509,-0.786354,-0.95977,-0.76521,-0.268788,1.29694,-0.20083,4.27158,3.07718,3.13305,8.58185,3.65544,2.61897,4.44474,4.62431,-4.87818,-3.34269,-3.76499,-3.32717,-3.24995,-3.32766,-4.14025,-3.89326,-5.31186,1.37284,34.9281,-1.42682,13.1223,13.322,16.2458,1.26916 --4.91019,0.98805,0.427277,3,7,0,7.94327,6.86053,9.88184,1.91217,-0.186893,0.602084,0.0936267,-0.896143,0.652519,-1.14513,-0.346223,25.7563,12.8102,-1.995,-4.45544,5.01369,7.78573,13.3086,3.43921,-3.63818,-3.33721,-3.6935,-3.85909,-3.3394,-3.50711,-3.33157,-3.92241,46.5037,-3.99307,3.05608,-9.05575,14.9618,-11.1411,-2.71671,8.38502 --6.22694,0.937262,0.427277,3,7,0,8.91502,4.43652,1.19983,-1.37468,-0.289266,-0.362084,-0.203231,0.806741,0.283306,1.75943,0.622627,2.78715,4.00208,5.40447,6.54753,4.08945,4.19268,4.77644,5.18357,-5.03963,-3.30144,-3.82949,-3.31768,-3.27606,-3.35895,-4.09584,-3.88101,6.62024,-3.85241,-3.04983,-11.6361,-1.45808,-12.7399,-1.04818,-8.60214 --7.1965,0.990641,0.427277,3,7,0,9.94831,3.88613,1.05131,-1.844,0.864104,0.735287,-0.643074,0.942127,-0.294155,1.22116,0.341976,1.94751,4.65914,4.8766,5.16995,4.79457,3.21006,3.57688,4.24565,-5.13528,-3.27733,-3.8127,-3.33067,-3.32343,-3.33702,-4.26166,-3.9021,-23.8686,9.77448,20.4072,13.3359,22.9101,-4.11449,3.21571,-17.5731 --6.52668,0.989521,0.427277,3,7,0,9.41916,6.17865,11.5178,2.19664,-1.09827,-0.355534,0.657254,-0.788943,0.715557,-1.0463,-0.251488,31.4791,2.08368,-2.90823,-5.87238,-6.471,13.7488,14.4203,3.28206,-3.65389,-3.39654,-3.69154,-4.00154,-3.30093,-3.98845,-3.2856,-3.9266,-9.17654,4.47186,-33.1144,-9.77175,6.61552,31.8171,3.8381,18.993 --8.75029,0.843784,0.427277,3,7,0,13.2122,-0.197864,2.19776,-0.742888,1.21507,1.61817,-0.981345,1.683,0.374763,1.36371,-0.205972,-1.83056,3.35849,3.50097,2.79924,2.47258,-2.35463,0.625777,-0.650541,-5.60446,-3.32924,-3.77407,-3.38975,-3.1906,-3.36334,-4.73084,-4.05628,-15.4085,9.35888,-13.1483,15.5281,-3.26749,-0.930818,-15.5095,13.5194 --9.05544,0.844101,0.427277,3,7,0,17.5663,12.6838,2.91212,-0.621327,-1.1227,-1.68422,0.658235,-0.779687,-0.195775,-1.5451,-0.216193,10.8744,7.77918,10.4133,8.1843,9.41438,14.6007,12.1137,12.0542,-4.27873,-3.22177,-4.04293,-3.32263,-3.78567,-4.08121,-3.39477,-3.80931,15.7338,6.54265,-1.13048,22.344,22.7375,-2.01761,13.2577,14.719 --8.82514,0.995779,0.427277,3,7,0,11.9799,10.4719,2.64761,-0.0200388,-1.44097,-1.53977,1.71699,-0.703773,-0.771576,-0.833006,-0.55314,10.4189,6.3952,8.60859,8.26643,6.65677,15.0178,8.42908,9.00741,-4.31387,-3.2344,-3.95473,-3.32346,-3.47805,-4.12881,-3.67954,-3.82313,-7.67184,4.28605,15.8418,23.421,-3.18995,8.08111,2.19871,-6.72451 --9.63058,0.994891,0.427277,3,7,0,11.4807,10.9988,2.12576,0.379233,-1.43217,-1.59407,1.60015,-0.98611,-1.23883,-0.776903,-0.132746,11.8049,7.61015,8.90254,9.34726,7.95432,14.4003,8.36531,10.7166,-4.20983,-3.22228,-3.96823,-3.3396,-3.6111,-4.05885,-3.68566,-3.81185,-0.208645,11.834,11.7105,-6.63352,9.85147,11.502,13.0366,12.9578 --14.0952,0.92515,0.427277,3,7,0,18.1366,-3.06867,0.621277,1.65847,1.23907,1.76988,-1.94856,1.48272,0.730138,0.127712,-1.32515,-2.0383,-1.96908,-2.14749,-2.98932,-2.29886,-4.27926,-2.61505,-3.89195,-5.6321,-3.71844,-3.69295,-3.72917,-3.12658,-3.432,-5.34642,-4.19905,-0.141493,-5.77561,-2.86703,-17.7533,4.95505,-16.9704,-6.49737,8.426 --5.35776,0.997208,0.427277,3,7,0,15.9112,7.44336,1.62945,-1.24464,0.403054,-0.338485,-0.561006,1.16204,-0.361833,-0.437543,-0.0480204,5.41528,6.89181,9.33685,6.7304,8.10011,6.52923,6.85377,7.36511,-4.76048,-3.22766,-3.98879,-3.31713,-3.62735,-3.44317,-3.84272,-3.84246,35.309,4.41861,17.2563,20.2853,-0.492384,-5.18196,7.18934,9.13983 --10.6561,0.840933,0.427277,3,7,0,14.4692,12.0847,2.21464,0.998037,-1.55785,0.0583612,1.90271,1.2086,-0.764217,0.928671,-0.6464,14.295,12.214,14.7613,14.1414,8.63464,16.2985,10.3923,10.6532,-4.04438,-3.31031,-4.30767,-3.52758,-3.68916,-4.28396,-3.51091,-3.81211,-8.09017,11.2332,10.1093,13.8566,16.9855,17.9496,6.3076,34.3582 --9.65115,0.947041,0.427277,3,15,0,18.9612,4.71019,1.25647,0.302801,-0.216778,0.938883,-0.379339,2.65275,0.963283,-1.55274,1.48505,5.09065,5.88987,8.04328,2.75922,4.43781,4.23356,5.92053,6.57611,-4.7933,-3.24379,-3.92972,-3.39115,-3.29869,-3.36004,-3.95109,-3.85471,-7.3922,0.764629,18.9385,-8.18153,0.857768,-9.6897,13.9941,-8.41856 --10.3394,0.952625,0.427277,3,15,0,18.2479,4.54743,2.0841,0.607393,2.10935,-0.301375,0.26512,-2.13958,-1.4454,1.51536,-0.597854,5.8133,3.91934,0.0883432,7.70559,8.94352,5.09997,1.53509,3.30145,-4.72088,-3.30478,-3.71016,-3.31889,-3.72649,-3.3863,-4.57699,-3.92608,20.5944,-7.77601,-1.49078,-17.6582,11.6748,11.1515,2.4353,-21.7277 --4.14096,0.998841,0.427277,3,7,0,12.3341,6.58462,2.96793,-0.332686,-1.49438,0.2362,0.152886,0.313542,1.19067,-0.0444458,-0.556345,5.59723,7.28564,7.51518,6.4527,2.14942,7.03837,10.1184,4.93343,-4.74229,-3.22408,-3.90748,-3.31807,-3.17739,-3.4675,-3.53212,-3.88637,1.83698,24.5609,6.06858,6.34443,-1.1753,16.9637,10.9202,-8.61938 --3.77121,0.991592,0.427277,3,7,0,5.2163,4.41958,15.3213,1.11317,0.455225,0.0630138,-0.449558,-0.871935,-0.120836,-0.0358206,0.505589,21.4748,5.38503,-8.93957,3.87076,11.3942,-2.46822,2.56822,12.1659,-3.72161,-3.25571,-3.76043,-3.3573,-4.06441,-3.36654,-4.41222,-3.80935,25.3242,8.70965,-13.0516,-6.6936,19.4241,7.16037,2.53707,12.4753 --4.70066,0.848958,0.427277,3,7,0,8.62826,5.88269,3.2092,-0.249019,-0.368023,-0.243909,1.46089,0.784565,0.683132,-0.0495238,-0.920149,5.08354,5.09994,8.40051,5.72376,4.70163,10.571,8.075,2.92975,-4.79402,-3.26358,-3.94538,-3.32356,-3.31683,-3.69536,-3.71405,-3.93627,2.42597,18.3061,-5.30935,1.59004,0.650687,13.3795,1.45757,10.6987 --7.80006,0.876846,0.427277,3,7,0,9.61546,4.56881,0.491337,-0.360739,0.469813,0.260663,-1.49782,-2.25407,0.59397,0.237083,0.0369819,4.39157,4.69689,3.46131,4.6853,4.79965,3.83288,4.86065,4.58698,-4.86556,-3.27608,-3.77307,-3.33897,-3.32379,-3.35,-4.08474,-3.89411,23.4034,6.56004,-10.8674,17.6581,-14.334,2.85281,-4.44326,-8.66492 --8.02826,0.985965,0.427277,3,7,0,11.5025,2.75571,0.617042,-1.67969,0.568893,-0.12612,-0.403157,-1.43878,-0.113008,-0.162834,1.71569,1.71926,2.67789,1.86792,2.65523,3.10674,2.50694,2.68598,3.81436,-5.16183,-3.36315,-3.73781,-3.39484,-3.22027,-3.32622,-4.39412,-3.91271,-3.73212,3.15022,-16.7648,7.51701,14.5965,-4.78087,-4.98821,-4.60217 --11.4472,0.902863,0.427277,3,7,0,15.9225,10.6583,1.35953,1.46137,0.189748,1.36696,-0.17442,1.70571,1.36117,-1.65451,-1.47093,12.6451,12.5167,12.9773,8.40895,10.9163,10.4212,12.5089,8.65853,-4.15093,-3.32353,-4.19011,-3.32504,-3.99269,-3.6836,-3.37229,-3.82654,14.3735,10.0329,-2.26665,7.8951,14.3028,-0.896644,21.6198,2.5145 --13.6561,0.985631,0.427277,3,7,0,17.7716,-3.34152,0.886977,-0.552562,-0.619727,-1.17594,-0.109577,-2.06758,-0.25044,2.14141,1.8483,-3.83163,-4.38455,-5.17542,-1.44215,-3.89121,-3.43872,-3.56366,-1.70212,-5.87866,-3.98841,-3.70077,-3.61134,-3.16776,-3.39825,-5.54648,-4.09905,-10.0708,-1.93081,-3.97423,2.11843,3.93667,-2.73833,-5.19003,-16.4943 --7.36853,0.681982,0.427277,3,7,0,16.6665,12.9623,10.9767,0.896821,-0.257234,0.319082,-1.20008,-0.300731,-0.292132,-0.229796,-1.46718,22.8064,16.4648,9.66129,10.4399,10.1387,-0.2106,9.75567,-3.14245,-3.68693,-3.57979,-4.00463,-3.36573,-3.88204,-3.32289,-3.56137,-4.16316,29.5579,27.8422,40.507,-2.58808,19.8618,-2.77951,3.48184,-13.8106 --7.36853,0.117222,0.427277,3,7,0,14.2656,12.9623,10.9767,0.896821,-0.257234,0.319082,-1.20008,-0.300731,-0.292132,-0.229796,-1.46718,22.8064,16.4648,9.66129,10.4399,10.1387,-0.2106,9.75567,-3.14245,-3.68693,-3.57979,-4.00463,-3.36573,-3.88204,-3.32289,-3.56137,-4.16316,33.885,-3.01705,-11.5001,8.71631,17.0423,3.1482,7.76393,5.55644 --3.45624,0.981861,0.427277,3,7,0,10.2611,6.74277,4.23623,0.420146,-0.0442421,0.0229942,0.177189,1.24759,0.722987,0.125516,-0.376581,8.52261,6.84018,12.0279,7.27448,6.55535,7.49338,9.80551,5.14748,-4.47003,-3.22825,-4.13261,-3.31715,-3.46853,-3.49107,-3.55727,-3.88177,2.83449,0.534055,37.8063,21.7263,16.9814,28.4165,18.2391,10.0365 --3.78841,0.997254,0.427277,3,7,0,5.38336,5.58952,2.97896,0.257302,0.215626,0.691061,0.48611,0.737393,0.0568021,0.880376,-0.729008,6.35601,7.64816,7.78618,8.21213,6.23186,7.03762,5.75873,3.41783,-4.66802,-3.22214,-3.91876,-3.32291,-3.439,-3.46747,-3.97077,-3.92297,-34.7022,10.7275,-64.5604,3.99456,3.65765,-0.351237,-8.1502,-11.5486 --9.0509,0.835481,0.427277,3,7,0,13.6894,3.19403,2.31315,-0.85797,1.09371,1.03806,1.73685,-0.522107,-1.48836,1.54362,0.60322,1.20942,5.59522,1.98632,6.76465,5.72396,7.21163,-0.24877,4.58937,-5.22196,-3.25044,-3.74009,-3.31706,-3.39525,-3.47627,-4.88661,-3.89406,14.1259,-1.50286,-0.285217,15.8464,10.6637,2.72337,-3.90415,37.8198 --4.70736,0.98051,0.427277,4,23,0,11.4904,6.50607,2.61598,0.274863,-0.166767,0.737456,-1.282,0.259321,0.378717,1.00099,1.23311,7.22511,8.43524,7.18445,9.12465,6.06981,3.15238,7.49679,9.73186,-4.58609,-3.22247,-3.89411,-3.33549,-3.4247,-3.33598,-3.77311,-3.81725,4.30437,-0.636067,3.10861,25.0684,15.0816,-10.9691,14.9075,-0.535254 --8.89562,0.923965,0.427277,3,7,0,13.2933,10.7635,3.70394,1.32762,-1.57439,-0.93422,-1.77054,-0.581834,-1.51651,-0.450492,0.627468,15.6809,7.30319,8.60841,9.0949,4.93206,4.20551,5.14642,13.0876,-3.96423,-3.22395,-3.95472,-3.33497,-3.33338,-3.35929,-4.0476,-3.81114,-0.609323,22.8864,20.7572,-0.517415,6.9482,-10.1874,2.96813,-8.33733 --7.88821,0.96861,0.427277,3,7,0,14.7822,-0.0468016,1.92297,0.337018,0.679705,1.09077,1.79625,-0.000734018,1.78028,0.752301,-1.10799,0.601274,2.05073,-0.0482131,1.39985,1.26025,3.40733,3.37662,-2.17744,-5.29519,-3.39849,-3.70854,-3.44643,-3.1477,-3.34078,-4.29074,-4.1195,-19.8587,14.109,-12.3057,2.55378,-9.92512,-34.4946,11.616,-9.92399 --8.72679,0.996417,0.427277,3,15,0,13.4383,-0.0678777,1.05013,0.989483,1.07928,0.333816,2.10148,-0.954816,0.740954,-0.85711,-0.80549,0.971212,0.282673,-1.07056,-0.967958,1.06551,2.13896,0.710224,-0.91375,-5.25045,-3.51931,-3.6988,-3.57918,-3.1425,-3.32219,-4.71621,-4.06666,31.2978,0.419011,-10.1034,-8.68861,-1.11263,25.9552,-18.8494,4.47284 --5.69548,0.998359,0.427277,3,7,0,13.1922,8.67836,4.3187,0.164577,-1.8038,-0.0472701,-1.14408,0.854186,-0.185266,0.500559,0.930164,9.38911,8.47421,12.3673,10.8401,0.888281,3.73742,7.87825,12.6955,-4.39669,-3.22265,-4.15277,-3.37777,-3.13817,-3.3478,-3.73377,-3.81006,31.0412,7.48737,19.6642,8.31501,-5.13223,-10.4863,8.22843,22.4205 --4.50564,0.974229,0.427277,3,7,0,9.69395,3.49508,1.11443,0.761254,-0.0802561,-0.707826,1.18806,0.131898,0.6631,-0.337249,-0.147205,4.34345,2.70626,3.64207,3.11924,3.40564,4.81909,4.23406,3.33103,-4.87062,-3.36164,-3.77769,-3.37907,-3.23598,-3.3771,-4.16903,-3.92528,-2.0898,10.2164,-24.2462,6.72074,17.5106,-4.00453,18.6251,21.7112 --6.65537,0.947258,0.427277,3,7,0,10.3144,5.83548,0.599591,-0.882159,0.758511,0.442537,-0.658463,0.179641,-1.53007,-1.10365,-0.0891757,5.30654,6.10082,5.94319,5.17374,6.29027,5.44067,4.91806,5.78201,-4.77142,-3.23956,-3.84774,-3.33062,-3.44424,-3.39832,-4.07721,-3.86898,28.5121,10.9787,-3.98986,25.1128,12.1113,6.61928,1.40557,24.7367 --4.45514,1,0.427277,3,7,0,8.94237,4.74066,3.86323,-1.28871,-0.874498,0.289875,0.896388,-0.663696,0.484708,-0.00223617,-0.230869,-0.237928,5.86052,2.17665,4.73202,1.36228,8.20362,6.6132,3.84876,-5.39895,-3.24441,-3.74387,-3.33809,-3.15061,-3.53126,-3.86982,-3.91185,5.87074,-9.71857,1.11157,30.9475,3.20683,6.99919,6.98624,-0.980122 --5.36202,0.950306,0.427277,3,15,0,8.52502,2.28182,2.89426,0.484119,-0.449143,-0.533742,1.25648,1.44854,1.27952,-0.166364,0.620535,3.68299,0.737033,6.47428,1.80032,0.981883,5.91839,5.98509,4.07781,-4.94103,-3.48528,-3.86684,-3.42856,-3.14041,-3.41679,-3.94331,-3.90616,4.35428,10.5624,-11.9286,6.44032,-8.07084,6.26075,2.96309,-8.79287 --4.68517,0.900394,0.427277,3,7,0,11.3253,8.58588,9.77794,0.145621,-0.181553,0.458059,-1.23658,-1.24562,-0.276395,0.07389,-0.360508,10.0098,13.0647,-3.59376,9.30837,6.81066,-3.50535,5.88331,5.06085,-4.34621,-3.34978,-3.69222,-3.33885,-3.49275,-3.40071,-3.9556,-3.88362,-17.4706,17.32,-7.21888,13.7155,14.0095,2.28515,-1.11052,21.1939 --5.48304,0.990686,0.427277,3,7,0,6.72874,-1.51732,7.28059,1.29433,-0.657717,-0.356307,0.968388,0.88483,1.62605,0.0109271,0.75344,7.90615,-4.11144,4.92477,-1.43776,-6.30589,5.53312,10.3213,3.96817,-4.52424,-3.95496,-3.81419,-3.61103,-3.28994,-3.40175,-3.51634,-3.90886,3.3685,-2.32347,5.3409,2.46274,1.07362,-3.76473,-3.99886,34.4639 --5.48304,0.0768333,0.427277,2,3,0,9.3581,-1.51732,7.28059,1.29433,-0.657717,-0.356307,0.968388,0.88483,1.62605,0.0109271,0.75344,7.90615,-4.11144,4.92477,-1.43776,-6.30589,5.53312,10.3213,3.96817,-4.52424,-3.95496,-3.81419,-3.61103,-3.28994,-3.40175,-3.51634,-3.90886,7.87168,-10.3671,18.3377,-13.259,-11.8502,-4.40466,-4.08537,-6.96647 --6.07549,0.978291,0.427277,5,47,0,8.837,6.02116,1.41531,-1.43631,-0.341598,-0.725885,-1.16944,0.0974304,0.579771,-1.34004,-0.00449627,3.98834,4.99381,6.15906,4.1246,5.5377,4.36605,6.84172,6.0148,-4.90823,-3.26671,-3.85537,-3.351,-3.38,-3.36365,-3.84406,-3.86459,4.30883,-4.41645,8.06295,7.4703,9.2925,7.04586,12.8477,-8.15797 --5.48481,0.916015,0.427277,3,7,0,9.51876,1.97619,17.8389,1.81811,-0.315858,0.724618,0.759278,-0.227412,0.494465,1.14648,0.0713062,34.4091,14.9025,-2.08057,22.4281,-3.65835,15.5208,10.7969,3.24821,-3.71827,-3.45975,-3.69318,-4.30042,-3.15979,-4.18813,-3.48095,-3.92751,48.7575,2.9313,8.0869,24.2656,24.2387,-8.89572,1.5214,-18.6056 --5.48481,0.0699794,0.427277,2,3,0,11.2917,1.97619,17.8389,1.81811,-0.315858,0.724618,0.759278,-0.227412,0.494465,1.14648,0.0713062,34.4091,14.9025,-2.08057,22.4281,-3.65835,15.5208,10.7969,3.24821,-3.71827,-3.45975,-3.69318,-4.30042,-3.15979,-4.18813,-3.48095,-3.92751,15.7053,13.9996,-26.1156,39.6862,-3.64651,31.8967,31.3683,-16.6465 --3.17225,0.598496,0.427277,3,7,0,6.49185,2.25659,13.6822,1.70014,-0.523955,0.0874953,0.551085,0.185503,0.657866,0.870675,0.396532,25.5183,3.45372,4.79468,14.1694,-4.91228,9.79666,11.2577,7.68203,-3.64068,-3.32487,-3.81019,-3.52923,-3.21064,-3.63659,-3.44882,-3.83808,8.32997,18.9917,-0.419898,33.2635,12.2622,23.9771,12.5365,13.7391 --4.39198,0.903324,0.427277,3,7,0,6.91561,-0.677262,8.29764,0.215854,-0.173452,-0.023072,-0.752329,0.327243,0.740624,-0.483833,1.21043,1.11382,-0.868705,2.03808,-4.69194,-2.1165,-6.91981,5.46817,9.36647,-5.23336,-3.61479,-3.7411,-3.88172,-3.12386,-3.57602,-4.00676,-3.82001,-5.59912,5.85455,21.8312,-8.06681,-9.80431,-11.4752,9.34559,6.65841 --2.94514,0.821851,0.427277,3,7,0,7.67007,-0.789231,14.144,0.309604,-0.000179215,-0.251902,-0.312336,0.168085,0.983472,0.288634,0.691958,3.5898,-4.35213,1.58816,3.2932,-0.791766,-5.2069,13.121,8.99781,-4.95112,-3.9844,-3.73264,-3.37361,-3.11643,-3.47603,-3.34055,-3.82322,17.0451,-7.64838,-8.9602,19.3132,-6.53436,-18.213,6.3352,-6.95488 --4.44812,0.793547,0.427277,3,7,0,7.05275,7.88032,2.87665,1.18548,-0.401131,1.26037,0.651529,-0.1098,0.545363,0.275094,-0.0796838,11.2905,11.506,7.56447,8.67167,6.72641,9.75454,9.44914,7.6511,-4.24745,-3.28298,-3.90951,-3.32838,-3.48467,-3.63354,-3.58711,-3.8385,19.3627,-1.26641,-10.8079,13.4352,22.4515,-1.18284,5.03079,14.2039 --4.11839,0.854024,0.427277,3,7,0,13.8538,2.87033,2.99471,-0.475556,-0.460351,-1.06816,-0.901252,-0.345883,0.149367,-0.466215,0.357201,1.44618,-0.328484,1.83451,1.47415,1.49172,0.171344,3.31764,3.94005,-5.19389,-3.56834,-3.73718,-3.44301,-3.15449,-3.31967,-4.29938,-3.90956,-8.19196,8.85886,-8.89302,0.557452,10.3935,14.1534,5.54258,-9.22965 --4.79478,0.962158,0.427277,3,15,0,7.35888,1.15094,5.49511,1.02235,-0.0911424,-1.13924,-0.471704,0.332017,0.183043,-0.735113,0.849636,6.76884,-5.10933,2.97541,-2.88859,0.650098,-1.44113,2.15678,5.81978,-4.62868,-4.0808,-3.76126,-3.7209,-3.13297,-3.34146,-4.47656,-3.86825,13.4208,-9.11184,-7.83934,-24.4347,-2.8605,1.31959,-9.71236,-37.2346 --6.29139,0.940579,0.427277,3,15,0,8.74212,7.30089,0.717152,-0.965773,0.189059,1.70805,-0.352182,-0.22206,0.00683397,0.88964,-0.225824,6.60829,8.52583,7.14164,7.9389,7.43648,7.04833,7.3058,7.13894,-4.64389,-3.22291,-3.89241,-3.32048,-3.55551,-3.468,-3.79335,-3.84578,-25.0449,3.44078,2.49996,21.2094,-4.5069,11.9993,24.1867,4.98922 --3.08872,0.994922,0.427277,3,7,0,7.95388,0.568037,8.95969,0.721435,-0.589397,0.0161783,-0.177219,-0.36419,0.731054,1.24766,-0.113973,7.03187,0.71299,-2.69499,11.7467,-4.71278,-1.01979,7.11805,-0.453123,-4.60402,-3.48703,-3.69171,-3.40994,-3.20125,-3.33369,-3.81361,-4.04863,-7.86425,-12.1965,-6.07824,-2.90389,-15.623,-4.19968,5.40672,-9.73602 --4.6242,0.868841,0.427277,3,7,0,5.63684,5.25779,3.96688,0.255375,0.852532,0.870593,0.624216,0.496438,1.38154,-0.68176,-0.614541,6.27083,8.71132,7.2271,2.55333,8.63968,7.73398,10.7382,2.81998,-4.67623,-3.22405,-3.89581,-3.39854,-3.68976,-3.50422,-3.48519,-3.93936,-0.042251,-7.18887,14.7745,-8.94365,18.7364,18.3103,14.6269,-6.022 --4.02043,0.999002,0.427277,3,7,0,6.15484,2.98583,3.16965,-0.15083,0.66865,-0.312305,-1.36479,-0.346809,0.0139446,-0.0440691,0.615111,2.50775,1.99594,1.88657,2.84615,5.10522,-1.34008,3.03003,4.93551,-5.07111,-3.40177,-3.73817,-3.38813,-3.34625,-3.33946,-4.34202,-3.88633,19.8319,0.329542,17.5858,-9.05984,0.504468,13.407,4.43766,-15.8262 --12.9403,0.807359,0.427277,3,7,0,14.6633,7.67044,1.78743,0.449019,-0.11185,2.35666,0.0237058,2.54268,-1.10244,-2.19859,-0.679469,8.47303,11.8828,12.2153,3.74063,7.47052,7.71281,5.69991,6.45594,-4.47433,-3.2969,-4.14369,-3.36073,-3.55906,-3.50304,-3.97798,-3.85674,7.17656,12.0865,20.0681,1.75167,4.98578,20.4366,-8.30639,15.2081 --7.82363,0.962776,0.427277,3,7,0,19.0131,4.35316,1.80602,0.928154,-0.0433897,-0.462048,0.898717,-0.998941,2.54959,1.21768,-0.926662,6.02943,3.51869,2.54905,6.55232,4.2748,5.97627,8.95777,2.67959,-4.69967,-3.32193,-3.75167,-3.31766,-3.28791,-3.41916,-3.63033,-3.94337,22.9256,-21.9586,9.65868,8.29689,-12.2344,23.0648,24.2466,-12.3451 --8.75307,0.425556,0.427277,3,7,0,14.3572,5.94359,0.692801,1.66726,0.0783984,-0.44265,1.06842,-1.10335,1.96523,0.797601,-1.03163,7.09866,5.63692,5.17919,6.49617,5.9979,6.68379,7.3051,5.22888,-4.5978,-3.24944,-3.82219,-3.31788,-3.41845,-3.45033,-3.79343,-3.88006,14.5255,-2.26847,-1.39855,-5.01492,9.93978,-17.6999,11.3,35.3382 --6.40235,0.9864,0.427277,3,7,0,10.8932,6.11895,2.39391,1.12311,0.623062,-0.348431,1.32121,-0.917843,0.890979,1.27942,-1.11996,8.80757,5.28484,3.92171,9.18177,7.6105,9.28181,8.25187,3.43785,-4.44554,-3.25838,-3.7851,-3.3365,-3.57382,-3.60026,-3.69665,-3.92244,22.0144,24.0537,7.44165,19.8931,14.0976,5.93846,9.57742,0.393786 --5.70956,0.996705,0.427277,3,7,0,8.8117,1.64589,8.01624,0.577923,0.233696,1.53043,-0.946013,0.385203,0.617561,-1.27605,0.652598,6.27866,13.9142,4.73377,-8.58325,3.51925,-5.93758,6.5964,6.87727,-4.67547,-3.39641,-3.80835,-4.3203,-3.24224,-3.51572,-3.87173,-3.84981,0.538523,29.3714,-4.88568,-10.8225,11.9627,10.1641,12.7226,3.42322 --5.71715,0.8533,0.427277,3,7,0,10.149,1.64021,3.36414,-0.0914467,-0.425009,-0.707049,1.03612,-0.482345,2.25718,0.229707,-0.578774,1.33257,-0.738404,0.0175309,2.41298,0.210419,5.12587,9.23369,-0.306869,-5.20733,-3.60332,-3.70931,-3.40378,-3.12521,-3.38718,-3.60576,-4.04304,20.2996,-9.80301,-12.559,-2.83557,3.94986,12.4174,14.1874,-8.58131 --5.43334,0.975626,0.427277,3,7,0,9.71174,6.58683,5.0604,1.59441,-0.486602,1.74761,-0.584236,-0.157756,-0.43303,0.209085,0.804114,14.6552,15.4304,5.78852,7.64488,4.12443,3.63036,4.39553,10.656,-4.02273,-3.49758,-3.84238,-3.31855,-3.27826,-3.34542,-4.14693,-3.8121,37.3641,13.5893,26.2486,28.8347,10.1804,0.271595,-23.2863,16.9546 --7.063,0.894759,0.427277,3,7,0,12.6227,5.07936,1.80732,-0.538163,-0.889065,-0.918783,1.81753,-1.72836,0.231252,-0.205443,0.690958,4.10673,3.41883,1.95566,4.70806,3.47254,8.36423,5.49731,6.32815,-4.89563,-3.32646,-3.73949,-3.33854,-3.23964,-3.54093,-4.00311,-3.85896,12.2228,19.448,6.83914,1.23396,17.908,10.3777,10.2191,-12.9826 --7.16514,0.925436,0.427277,5,39,0,14.3806,3.1861,1.05063,-1.4443,-1.77498,0.640387,0.972553,0.00715867,0.872698,-0.785647,-0.221477,1.66868,3.85891,3.19362,2.36068,1.32126,4.20789,4.10298,2.95341,-5.16774,-3.30727,-3.76645,-3.40577,-3.14942,-3.35936,-4.18716,-3.93561,-0.822112,6.56459,-26.8935,4.29027,0.869777,3.47466,1.61115,-19.873 -# -# Elapsed Time: 0.020332 seconds (Warm-up) -# 0.004139 seconds (Sampling) -# 0.024471 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-4.csv b/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-4.csv deleted file mode 100644 index 91369bc6f1..0000000000 --- a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_nowarmup-4.csv +++ /dev/null @@ -1,148 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 20 -# stan_version_patch = 0 -# model = stan_test_data_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 4 -# data -# file = /tmp/tmp2ipdytqf/_pz629gf.json -# init = 2 (Default) -# random -# seed = 81267 -# output -# file = /tmp/tmp2ipdytqf/stan_test_data-202102230057-4-_7_vglm2.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,eta.1.1,eta.2.1,eta.1.2,eta.2.2,eta.1.3,eta.2.3,eta.1.4,eta.2.4,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 -# Adaptation terminated -# Step size = 0.369164 -# Diagonal elements of inverse mass matrix: -# 11.9057, 1.02604, 0.984918, 0.805498, 0.940485, 0.825545, 1.07806, 1.02634, 0.799015, 0.796004 --12.9054,0.860945,0.369164,4,15,0,20.0226,2.27967,0.053022,1.06348,1.56898,-0.382589,-0.242891,-0.951297,1.62889,-1.89014,-1.53313,2.33606,2.25939,2.22923,2.17945,2.36286,2.26679,2.36604,2.19838,-5.09063,-3.3863,-3.74494,-3.41286,-3.18597,-3.32347,-4.44363,-3.95757,21.1433,8.50276,3.38737,30.0161,1.9272,11.5612,-3.18932,28.4895 --8.72747,0.990053,0.369164,4,15,0,16.06,3.32534,5.00513,-0.487143,-1.05593,0.693422,0.540779,0.417943,-1.58726,1.68983,1.44191,0.887127,6.796,5.4172,11.7831,-1.95973,6.03201,-4.61912,10.5423,-5.26056,-3.22877,-3.8299,-3.41137,-3.12185,-3.42147,-5.77965,-3.81259,20.83,9.4722,18.5255,6.88461,-11.1075,-1.2777,0.292344,4.77507 --6.09541,1,0.369164,4,15,0,11.9207,1.59609,1.21145,-0.650409,-1.46728,0.234131,-1.05427,0.473004,1.0605,0.715038,0.47437,0.808152,1.87973,2.16911,2.46233,-0.181446,0.318889,2.88084,2.17077,-5.27009,-3.40881,-3.74371,-3.40192,-3.1203,-3.31875,-4.36447,-3.95841,8.26745,-0.541297,12.4046,1.16677,5.0671,4.42632,7.59085,34.2168 --4.73033,0.985952,0.369164,3,15,0,8.97097,3.72425,2.89107,0.486321,-1.6402,-0.0575241,-0.334589,-1.2242,0.468439,-0.812286,0.620091,5.13024,3.55795,0.185001,1.37587,-1.0177,2.75693,5.07855,5.51698,-4.78927,-3.32018,-3.71134,-3.44754,-3.11617,-3.32959,-4.05634,-3.87417,-19.8264,6.19799,19.4294,-17.979,2.77588,-6.96988,3.1006,19.7729 --7.69667,0.942321,0.369164,3,7,0,10.6613,1.66344,2.80933,-0.493246,-2.08877,-1.01563,0.635585,-0.700588,-0.209337,-1.31814,0.481958,0.277746,-1.18979,-0.304745,-2.03964,-4.2046,3.44901,1.07534,3.01742,-5.33482,-3.64378,-3.70572,-3.6545,-3.17955,-3.34162,-4.65374,-3.93383,0.0130492,-9.55911,7.65741,-17.6039,-9.86163,-2.79762,-4.79594,4.11473 --7.04807,0.913396,0.369164,3,7,0,17.7883,2.52702,2.17947,0.0493197,-1.30374,-0.616712,-1.98139,-1.37062,-0.156313,-0.0610101,-0.806692,2.63452,1.18292,-0.460197,2.39405,-0.314439,-1.79136,2.18634,0.768861,-5.05678,-3.45389,-3.70413,-3.4045,-3.11906,-3.34903,-4.47188,-4.00397,-1.64059,4.34103,9.47042,12.9743,-0.9841,5.90439,2.59948,23.8349 --9.79665,0.820138,0.369164,4,15,0,16.7525,6.28973,0.0748328,0.157021,1.23954,0.818306,2.21716,0.687759,0.232578,-0.0573601,0.546257,6.30148,6.35097,6.3412,6.28544,6.38249,6.45565,6.30714,6.33061,-4.67327,-3.23512,-3.86195,-3.31894,-3.45259,-3.43983,-3.90514,-3.85891,7.68665,21.7141,-24.6959,21.1827,10.2912,-13.1694,-6.13266,11.8143 --9.50704,0.993841,0.369164,3,15,0,11.9349,4.43343,0.100144,0.21599,-1.47277,-1.33604,-1.85078,-0.231004,0.363685,0.198423,-0.81332,4.45506,4.29963,4.41029,4.4533,4.28594,4.24808,4.46985,4.35198,-4.85891,-3.28999,-3.79878,-3.34363,-3.28864,-3.36043,-4.13685,-3.89958,23.7571,-2.91383,-3.32822,9.30826,-4.86939,-3.42643,0.945846,27.1927 --11.2376,0.993163,0.369164,3,7,0,13.4658,3.66377,0.053052,-0.153293,-1.28352,-2.08761,-1.48996,0.518738,-0.262809,0.604646,-1.1927,3.65564,3.55302,3.69129,3.69585,3.59568,3.58472,3.64983,3.6005,-4.94398,-3.3204,-3.77898,-3.36195,-3.24654,-3.34444,-4.25116,-3.91819,12.648,-5.21923,-7.67659,6.57911,8.81458,3.39762,10.4949,2.57031 --9.94991,0.980126,0.369164,3,7,0,14.968,6.28639,0.0467822,-0.415947,-0.996083,-1.83703,-1.29516,0.574408,-0.167482,0.152307,-0.878865,6.26693,6.20045,6.31326,6.29352,6.23979,6.2258,6.27856,6.24528,-4.6766,-3.23772,-3.86094,-3.3189,-3.43971,-3.42968,-3.90848,-3.86042,18.0913,15.8012,24.9399,7.95037,1.65147,6.59925,-10.348,-31.8122 --9.72246,0.961506,0.369164,4,15,0,15.878,2.89351,0.0281101,-0.126041,0.610678,-0.134099,-1.17266,0.6055,-0.874873,-0.702131,1.56804,2.88997,2.88975,2.91054,2.87378,2.91068,2.86055,2.86892,2.93759,-5.02813,-3.3521,-3.75976,-3.38719,-3.21057,-3.33114,-4.36627,-3.93605,0.419655,4.96175,23.3892,13.9701,3.47026,6.2037,1.52962,28.2795 --10.2498,0.811272,0.369164,3,15,0,18.8683,6.59561,0.0282955,-0.918466,0.368426,-0.603587,-0.0987948,-1.19476,0.956866,0.551581,-1.68821,6.56962,6.57853,6.56181,6.61122,6.60604,6.59282,6.62269,6.54784,-4.64757,-3.23163,-3.8701,-3.31746,-3.47327,-3.44609,-3.86874,-3.85518,15.6056,-1.35406,1.14689,-0.0848492,9.17115,-9.4619,-10.9997,-12.6872 --13.2042,0.9455,0.369164,4,15,0,18.3185,4.7825,0.0102133,-0.986589,0.310845,-1.14861,1.2328,1.09396,0.365088,-0.84518,2.27013,4.77242,4.77077,4.79367,4.77386,4.78567,4.79509,4.78622,4.80568,-4.82592,-3.27366,-3.81016,-3.33731,-3.32279,-3.37635,-4.09454,-3.88918,21.6474,12.8904,30.4098,42.2129,1.45013,9.51473,2.83056,-40.6091 --8.68417,0.996963,0.369164,4,15,0,16.328,5.78421,0.0716085,-0.389029,0.390189,0.579485,-0.667476,-0.0391415,-0.548554,0.590601,-2.01902,5.75635,5.82571,5.78141,5.8265,5.81215,5.73641,5.74493,5.63963,-4.7265,-3.24516,-3.84214,-3.32252,-3.40262,-3.40953,-3.97246,-3.87174,-10.0862,9.12099,0.0203859,1.99426,20.0915,14.961,5.76999,3.78737 --6.43224,0.97576,0.369164,3,15,0,12.8897,4.58953,1.74044,-2.0312,1.22188,-0.0284622,-0.355102,-0.573429,0.632483,0.0360471,-0.568017,1.05434,4.53999,3.5915,4.65226,6.71613,3.97149,5.69033,3.60092,-5.24048,-3.28138,-3.77639,-3.33961,-3.48369,-3.35332,-3.97916,-3.91818,-4.49671,11.8326,-9.52446,-10.6358,-1.48396,5.48699,10.2302,1.49976 --3.20871,0.999653,0.369164,4,15,0,8.46287,4.54028,7.55803,0.966719,0.100959,0.60312,0.296893,0.357553,0.630265,0.918265,1.10511,11.8468,9.09867,7.24268,11.4806,5.30333,6.78421,9.30384,12.8927,-4.20683,-3.22756,-3.89643,-3.39979,-3.36142,-3.45509,-3.59964,-3.81054,6.60168,3.80953,27.1626,4.39842,7.00704,9.38122,20.5143,10.731 --3.62345,0.94502,0.369164,4,15,0,7.31557,3.37751,2.95545,-0.155337,-0.515797,-0.392011,-0.472961,-0.240662,0.052398,-1.08318,-0.541033,2.91842,2.21894,2.66624,0.176213,1.85309,1.97969,3.53237,1.77851,-5.02496,-3.38863,-3.75423,-3.50925,-3.16641,-3.3208,-4.26809,-3.97054,3.32318,12.9735,28.0018,5.86049,-6.39992,7.27719,9.18536,-26.3279 --3.96978,0.987009,0.369164,3,15,0,5.78173,2.35712,2.8107,0.572298,-1.05186,-0.610806,-0.166227,-0.166521,0.553433,0.456552,-1.0401,3.96568,0.640331,1.88908,3.64035,-0.599331,1.88991,3.91265,-0.566283,-4.91065,-3.49235,-3.73821,-3.36348,-3.11715,-3.32011,-4.21379,-4.053,-6.49598,-3.66731,11.2339,30.462,-1.00439,7.76778,-7.29682,22.7642 --8.44796,0.929471,0.369164,4,15,0,10.3588,0.323463,5.38655,2.68809,0.598981,0.255604,1.5372,1.05882,0.236484,0.902494,-0.950424,14.803,1.70029,6.02684,5.18479,3.5499,8.60367,1.5973,-4.79604,-4.01401,-3.41996,-3.85068,-3.33045,-3.24395,-3.55574,-4.56677,-4.24466,5.39635,2.58653,-16.0575,16.0431,-13.492,-21.5536,4.08662,-3.17975 --2.50745,0.991726,0.369164,3,7,0,10.292,2.69344,9.04188,0.308699,-0.389555,0.456466,0.05602,-0.013394,0.291071,1.06699,0.424188,5.48466,6.82075,2.57233,12.3411,-0.828875,3.19996,5.32526,6.52889,-4.75352,-3.22848,-3.75217,-3.43471,-3.11634,-3.33683,-4.02477,-3.8555,-1.47513,-1.51004,7.03349,10.0477,-1.57952,2.99485,-19.0673,-10.2885 --7.58407,0.840587,0.369164,3,7,0,10.5152,4.91414,0.387979,-0.133834,-0.529999,-0.850624,0.437156,1.70989,-1.411,-0.82848,0.319947,4.86221,4.58411,5.57754,4.5927,4.70851,5.08374,4.3667,5.03827,-4.81667,-3.27987,-3.83523,-3.34078,-3.31732,-3.38575,-4.15086,-3.8841,-14.2905,5.10185,-12.7831,-8.73892,8.22714,13.6576,8.62656,1.33565 --4.58731,0.459771,0.369164,4,15,0,10.6689,0.903789,14.9859,1.46157,-0.308138,0.0897934,0.193127,-0.806867,1.51464,0.945081,-0.754921,22.8068,2.24943,-11.1879,15.0667,-3.71394,3.79797,23.6021,-10.4094,-3.68692,-3.38687,-3.82247,-3.58573,-3.16163,-3.34918,-3.37844,-4.58428,4.45643,2.43886,-7.2669,13.3737,-17.8638,5.32908,27.9029,0.347441 --5.74956,0.821989,0.369164,4,15,0,8.85825,6.27707,4.00406,-1.16644,0.11468,-0.465143,-0.473584,0.604461,-1.09548,-0.759536,0.644064,1.60658,4.41462,8.69737,3.23585,6.73626,4.38082,1.89069,8.85594,-5.17502,-3.2858,-3.95877,-3.37538,-3.48561,-3.36406,-4.51907,-3.82457,7.36687,7.63063,-12.8583,4.72891,-7.02284,10.3871,-2.19763,18.7605 --8.22487,0.947894,0.369164,3,7,0,11.8534,5.29202,1.27792,-0.316891,-0.890263,0.565174,-0.0203839,1.40457,0.939029,-0.552215,-2.52086,4.88706,6.01427,7.08695,4.58634,4.15434,5.26597,6.49202,2.07057,-4.81412,-3.24124,-3.89025,-3.34091,-3.28016,-3.39203,-3.88369,-3.96146,5.32005,0.108669,-6.10714,0.934793,8.58582,34.3693,12.4395,-5.83057 --4.34853,0.986169,0.369164,4,15,0,11.8752,4.18357,3.70167,-0.0795378,0.632774,0.440806,0.110721,-0.971211,0.313215,1.3089,1.09793,3.88915,5.81529,0.588474,9.0287,6.52589,4.59343,5.34299,8.24774,-4.91884,-3.24539,-3.71668,-3.33384,-3.46579,-3.37019,-4.02252,-3.83104,12.7733,10.3119,21.9672,14.4581,8.84301,15.649,-21.9358,0.910929 --3.75272,0.981982,0.369164,4,15,0,7.74081,4.17823,9.51547,0.905162,-0.809968,0.170193,-0.911738,-1.59166,1.18707,0.276421,0.337684,12.7913,5.7977,-10.9672,6.80851,-3.52899,-4.49739,15.4737,7.39145,-4.141,-3.24577,-3.8155,-3.31699,-3.15564,-3.44171,-3.25343,-3.84209,-3.03311,15.6115,-2.70421,2.69292,-7.99053,-1.24444,22.8443,24.5912 --8.38336,0.799758,0.369164,3,7,0,12.9255,9.80665,1.48404,-0.311261,-0.071659,-0.695627,0.568979,-1.44002,0.537718,0.621188,2.24404,9.34472,8.77431,7.66961,10.7285,9.7003,10.651,10.6046,13.1369,-4.40037,-3.22452,-3.91387,-3.37428,-3.82293,-3.70172,-3.49498,-3.8113,32.5013,18.1343,-28.977,6.67366,10.0533,1.1321,32.8676,24.6314 --5.55493,0.984249,0.369164,4,15,0,12.6359,5.42438,1.3804,0.102332,0.3567,0.720596,1.42698,-1.19077,-0.216368,0.593945,0.894271,5.56564,6.41908,3.78064,6.24426,5.91676,7.39417,5.1257,6.65883,-4.74543,-3.23402,-3.78133,-3.31919,-3.41148,-3.48578,-4.05026,-3.85334,-8.99509,-2.64176,14.0332,-4.60057,21.9891,2.44222,15.0907,-0.292302 --5.75834,0.986507,0.369164,3,7,0,8.31963,4.40294,2.24043,-0.761394,0.526751,1.78166,0.483323,0.0693736,-0.104028,1.03701,0.923753,2.69709,8.39462,4.55837,6.72627,5.58309,5.48579,4.16987,6.47254,-5.04974,-3.2223,-3.80311,-3.31714,-3.38368,-3.39998,-4.17789,-3.85646,-8.0468,16.2515,1.95236,14.767,-6.09238,-22.8633,14.9896,48.2131 --4.8074,0.945839,0.369164,4,15,0,11.8301,4.08249,5.8214,1.64736,-1.02472,-1.28843,-0.418215,-0.495422,0.996569,-0.623367,-0.0744746,13.6724,-3.41798,1.19844,0.453616,-1.88285,1.64789,9.88391,3.64894,-4.08317,-3.87338,-3.72595,-3.49392,-3.12097,-3.31857,-3.55088,-3.91693,12.9995,-11.1617,2.07246,6.07997,-4.05111,9.47495,9.21533,-9.16555 --5.95112,0.902424,0.369164,3,15,0,10.121,11.5845,2.32498,-0.243431,-0.269078,-0.662445,-0.432959,-0.802615,0.821485,0.645351,0.588009,11.0186,10.0444,9.71848,13.085,10.9589,10.5779,13.4945,12.9516,-4.26781,-3.24242,-4.00746,-3.46984,-3.99898,-3.69591,-3.32302,-3.81071,-10.409,4.10819,16.9263,19.088,2.37908,13.2011,27.5225,24.1841 --8.30533,0.992204,0.369164,3,7,0,11.3806,-2.52293,0.591364,-0.456028,1.05748,0.806313,-0.655051,0.0330699,-0.183143,1.18033,-0.703392,-2.79261,-2.0461,-2.50337,-1.82492,-1.89757,-2.9103,-2.63123,-2.93889,-5.73407,-3.72614,-3.69201,-3.63865,-3.12114,-3.38002,-5.34976,-4.15371,-13.4365,-0.492067,8.68478,-5.78454,10.5409,-5.32895,10.6371,-21.4842 --6.27935,0.999274,0.369164,4,15,0,11.8743,3.97023,0.959564,-0.101595,0.445456,1.90363,0.446946,-0.427287,0.600078,1.03677,0.92885,3.87275,5.79689,3.56022,4.96508,4.39768,4.39911,4.54605,4.86152,-4.9206,-3.24579,-3.77558,-3.33394,-3.29601,-3.36458,-4.12657,-3.88795,5.32025,-7.12799,26.384,3.43242,4.78311,-3.61378,13.9126,-18.42 --5.50547,0.995385,0.369164,4,15,0,8.60257,12.0212,8.56413,0.573355,-0.65358,-0.785149,-0.515912,-0.00351168,0.879836,-0.66369,-1.05717,16.9315,5.29708,11.9911,6.33727,6.42386,7.60286,19.5562,2.96749,-3.89924,-3.25805,-4.13046,-3.31865,-3.45637,-3.49699,-3.23363,-3.93521,14.232,18.9814,5.32912,7.15225,11.7167,6.37314,44.3927,2.22448 --6.61141,0.873829,0.369164,3,7,0,10.5557,11.6377,17.0039,0.926119,-0.893152,-0.273239,-0.729513,0.233649,0.469765,-1.09563,-0.896982,27.3854,6.99158,15.6107,-6.99232,-3.54937,-0.766873,19.6256,-3.61449,-3.62783,-3.22661,-4.36801,-4.12586,-3.15628,-3.32973,-3.23474,-4.18556,34.7411,12.0644,17.9088,-11.3496,-1.48788,-17.7094,20.3948,-8.01751 --4.34632,0.720556,0.369164,2,3,0,8.92099,9.05516,3.487,0.717462,-0.079151,-0.412398,-1.23862,-0.0500467,0.221937,-0.582998,-0.823841,11.557,7.61713,8.88065,7.02224,8.77916,4.7361,9.82905,6.18242,-4.22782,-3.22226,-3.96721,-3.31684,-3.70648,-3.37451,-3.55535,-3.86154,16.6273,-1.52283,0.42021,-1.0267,-2.9506,-5.007,-15.0527,11.3963 --6.6175,0.947568,0.369164,3,7,0,9.90084,3.38784,5.4828,1.55293,-0.682114,0.502515,-0.518518,1.48596,-1.32108,0.127378,-0.246422,11.9023,6.14303,11.5351,4.08623,-0.352055,0.54491,-3.85535,2.03676,-4.20285,-3.23877,-4.10416,-3.35192,-3.11875,-3.31769,-5.60981,-3.9625,0.00390202,1.68642,0.564378,10.4276,-10.4213,-1.69651,-1.11372,28.0028 --5.51297,0.984644,0.369164,4,15,0,10.0997,3.03165,6.01298,-0.671304,-0.64538,-0.0440223,0.737543,-1.46215,1.06751,-1.12262,0.588451,-1.00489,2.76694,-5.76026,-3.71866,-0.849007,7.46649,9.45058,6.56999,-5.49651,-3.35845,-3.70641,-3.79158,-3.1163,-3.48962,-3.58699,-3.85481,-11.4926,8.42306,5.51026,-16.4153,-7.16625,-2.54921,3.5473,-14.5302 --6.59312,0.967239,0.369164,3,7,0,9.046,9.1679,2.7966,1.11477,-1.29628,0.564715,-1.37593,1.1164,-0.0549463,0.595649,-0.900619,12.2855,10.7472,12.29,10.8337,5.54271,5.31998,9.01424,6.64923,-4.17576,-3.25926,-4.14814,-3.37757,-3.3804,-3.39395,-3.62524,-3.85349,28.433,3.56147,17.746,1.71495,3.94001,-1.0573,9.36457,14.9946 --6.77196,0.989688,0.369164,4,15,0,11.8049,2.81928,5.58539,-0.773782,0.377945,0.21217,-1.50177,0.37246,2.38057,-0.00621657,0.952656,-1.5026,4.00434,4.89962,2.78456,4.93025,-5.56868,16.1157,8.14024,-5.56122,-3.30135,-3.81341,-3.39026,-3.33325,-3.49513,-3.23928,-3.8323,-13.4819,2.99038,-7.92603,-3.81466,15.8243,-2.6952,11.9917,7.19132 --6.95095,0.995604,0.369164,4,15,0,10.9225,2.76606,2.77995,0.861922,-0.932111,0.847397,1.44055,-0.454947,-0.576609,1.95758,-0.584993,5.16215,5.12177,1.50133,8.20802,0.174839,6.7707,1.16311,1.13981,-4.78603,-3.26294,-3.7311,-3.32286,-3.12468,-3.45444,-4.63893,-3.99132,16.2923,5.06868,-7.36948,7.36627,4.06007,4.28638,7.27428,32.6338 --7.40091,0.974429,0.369164,4,15,0,11.9477,8.854,6.04986,-0.534969,0.593421,-0.506861,-1.39963,0.136594,1.25194,-1.62758,0.819981,5.61752,5.78756,9.68038,-0.992622,12.4441,0.386445,16.4281,13.8148,-4.74027,-3.246,-4.00557,-3.58081,-4.23187,-3.31839,-3.23388,-3.81439,12.372,2.00182,18.0706,-32.2556,5.43225,14.2442,20.1218,51.2301 --5.5765,0.972058,0.369164,4,15,0,11.682,-0.288029,6.20634,1.1421,-0.954562,0.710294,1.27863,-0.458294,-0.0450922,1.1862,-0.261233,6.80023,4.1203,-3.13236,7.07395,-6.21237,7.64762,-0.567886,-1.90933,-4.62572,-3.29678,-3.69156,-3.31686,-3.28387,-3.49944,-4.94536,-4.10787,11.6626,24.0348,-14.6949,-2.27781,-7.99737,6.20085,15.1989,2.99084 --8.16064,0.85699,0.369164,3,7,0,12.4795,2.60121,2.98733,2.50085,-1.45536,0.351269,-1.24104,1.03028,1.18863,1.20512,-0.10429,10.0721,3.65056,5.67899,6.2013,-1.74642,-1.10619,6.15205,2.28966,-4.34123,-3.31611,-3.83865,-3.31947,-3.1196,-3.33516,-3.92339,-3.95482,24.463,18.2824,34.2553,-0.546719,-4.87956,-9.29613,0.0113157,2.20392 --4.5471,0.958193,0.369164,3,7,0,13.3714,11.0218,3.42923,0.517032,-0.710195,-0.099941,0.216213,-0.114955,-0.349442,-0.570549,0.134284,12.7948,10.679,10.6276,9.06522,8.58634,11.7632,9.82344,11.4823,-4.14076,-3.25741,-4.05424,-3.33446,-3.68343,-3.79554,-3.5558,-3.80972,5.74735,10.3457,13.0421,1.72414,32.3157,13.9825,26.916,3.46178 --4.30121,0.90135,0.369164,3,7,0,8.30435,8.13149,9.34391,-0.59794,-0.582606,-0.403958,-0.927099,-0.528948,0.360465,-0.243078,-0.967729,2.54439,4.35695,3.18905,5.86019,2.68767,-0.531242,11.4996,-0.910885,-5.06696,-3.28788,-3.76634,-3.3222,-3.20011,-3.32652,-3.4328,-4.06655,0.0446562,-5.11654,29.2411,-3.49772,3.81981,8.73277,17.6833,21.5524 --5.92226,0.849638,0.369164,3,7,0,10.4628,7.26656,4.0075,-1.47013,-0.25235,1.05016,0.112304,-0.266762,0.61232,-1.28817,-0.632019,1.37501,11.4751,6.19751,2.10421,6.25526,7.71662,9.72043,4.73374,-5.2023,-3.2819,-3.85675,-3.41588,-3.44109,-3.50325,-3.56428,-3.89079,6.41775,15.603,22.7211,-6.41587,-4.53602,-10.5048,17.2819,19.1785 --4.20992,0.937805,0.369164,3,7,0,9.93507,4.23219,1.21281,0.448963,-0.354877,-0.796591,-0.674528,0.504614,1.01649,0.131152,0.523424,4.7767,3.26608,4.84419,4.39126,3.8018,3.41412,5.465,4.86701,-4.82548,-3.33357,-3.81171,-3.34496,-3.25849,-3.34092,-4.00715,-3.88783,29.9553,10.7207,9.94206,-16.755,5.09467,11.6081,9.21776,-27.6181 --3.43338,0.998667,0.369164,3,15,0,5.22653,4.49452,2.47872,-0.318259,1.0173,-0.101843,0.153888,0.4626,0.0521144,0.0654344,0.308276,3.70565,4.24208,5.64118,4.65672,7.01613,4.87597,4.6237,5.25865,-4.93858,-3.29213,-3.83737,-3.33952,-3.51282,-3.37891,-4.11615,-3.87944,-4.2567,-1.68867,-5.07425,14.2045,16.7489,8.98539,0.609882,-2.80782 --5.94176,0.961862,0.369164,3,7,0,6.93058,3.18178,1.42472,-0.197346,0.14337,-0.567314,1.06906,-0.674755,-0.7175,-1.67044,0.364044,2.90061,2.37351,2.22044,0.801876,3.38604,4.70488,2.15954,3.70043,-5.02694,-3.37981,-3.74476,-3.47558,-3.23491,-3.37355,-4.47612,-3.91561,-19.7028,-26.2152,-13.2399,5.33078,13.0746,-14.6544,-3.23327,19.4142 --8.67988,0.938194,0.369164,4,15,0,12.0719,7.60476,0.8826,-1.15228,2.02909,0.110221,-0.467544,1.82553,0.190015,0.538385,-0.103456,6.58775,7.70204,9.21598,8.07994,9.39563,7.1921,7.77246,7.51345,-4.64584,-3.22197,-3.98299,-3.32165,-3.78326,-3.47527,-3.74454,-3.84037,0.317618,8.1331,24.6743,-0.528258,6.58638,1.81345,-8.11305,16.9901 --8.96986,0.990018,0.369164,4,15,0,15.5213,0.974015,1.09932,-0.663865,-0.9903,-1.34607,-0.536481,-0.897796,0.912877,-2.21104,0.505882,0.244216,-0.505741,-0.0129487,-1.45662,-0.11464,0.384251,1.97756,1.53014,-5.33895,-3.58326,-3.70895,-3.61235,-3.121,-3.3184,-4.50512,-3.97847,14.3386,7.89566,9.20957,1.75183,-1.61841,15.9278,1.4741,13.0842 --5.51826,0.996947,0.369164,4,31,0,10.7201,8.50373,3.61252,1.47593,0.748438,1.09551,0.601639,-0.0498088,0.428373,0.499235,0.445333,13.8355,12.4613,8.32379,10.3072,11.2075,10.6772,10.0512,10.1125,-4.07284,-3.32104,-3.94197,-3.36203,-4.03606,-3.70381,-3.53744,-3.81481,40.2334,12.4002,-20.5728,8.70998,3.15276,13.7333,8.10673,-10.6095 --4.40237,0.991196,0.369164,3,15,0,8.50501,2.43967,3.41163,0.289892,0.502404,0.0905868,-1.50653,0.222902,1.00178,-0.432995,0.977735,3.42867,2.74871,3.20012,0.962448,4.15368,-2.70004,5.85735,5.77533,-4.96866,-3.3594,-3.76661,-3.46746,-3.28012,-3.37341,-3.95874,-3.8691,-13.118,-6.83447,20.2565,0.469109,12.1527,-0.31145,-3.62834,55.7535 --6.65486,0.958446,0.369164,3,7,0,9.58508,7.6785,5.17591,1.05177,-0.567833,0.0156168,-0.461498,-0.559831,0.62933,-2.1878,1.54532,13.1224,7.75933,4.78087,-3.64536,4.73945,5.28983,10.9359,15.6769,-4.11886,-3.22181,-3.80977,-3.78511,-3.3195,-3.39288,-3.47103,-3.83017,38.9037,20.045,-7.65201,-14.1629,18.3343,7.94362,17.692,6.4771 --10.5193,0.925071,0.369164,4,15,0,14.1002,-0.187748,1.56577,-2.31879,0.804978,1.6346,0.676023,0.633144,-0.25496,-0.0685391,-1.62246,-3.81844,2.37166,0.803608,-0.295064,1.07266,0.870748,-0.586956,-2.72815,-5.8768,-3.37991,-3.71978,-3.53674,-3.14268,-3.3169,-4.9489,-4.14406,8.23707,12.2757,-0.963129,-14.1051,-16.2732,-16.0712,9.60195,7.4559 --9.49116,0.995023,0.369164,3,15,0,14.8234,0.823202,1.68659,-1.82836,0.988412,1.91657,0.781586,0.443216,0.438207,-0.486953,-1.54728,-2.26049,4.05566,1.57072,0.00191319,2.49025,2.14142,1.56228,-1.78643,-5.66187,-3.29931,-3.73233,-3.5192,-3.19136,-3.32222,-4.57252,-4.10262,-10.4185,10.3277,-0.151242,-15.4024,-1.97789,-6.13908,-1.39857,22.5704 --7.91847,0.998013,0.369164,4,15,0,13.6586,4.23713,5.21591,1.87311,0.486199,-1.77518,-0.500726,-0.86937,1.14122,-0.0160805,1.92549,14.0071,-5.02207,-0.297426,4.15326,6.7731,1.62539,10.1896,14.2803,-4.0621,-4.0694,-3.70579,-3.35032,-3.48913,-3.31845,-3.52653,-3.81733,21.313,-4.70507,-50.0498,18.4523,2.00692,3.49898,21.3478,15.647 --7.2941,0.992027,0.369164,3,7,0,11.408,4.37357,2.03435,2.15639,1.23742,-1.38175,-0.202929,-0.357529,1.39447,-0.453028,0.142062,8.76043,1.5626,3.64623,3.45195,6.89091,3.96074,7.21041,4.66258,-4.44957,-3.42872,-3.7778,-3.36885,-3.50052,-3.35306,-3.8036,-3.89239,25.6583,2.22686,7.74107,19.4421,1.09994,-24.4967,23.1165,-22.982 --8.22488,0.977639,0.369164,4,15,0,14.9645,9.32916,0.225112,-0.0391368,0.999205,0.603028,0.0563121,-1.2603,-0.42955,-0.980497,0.98378,9.32035,9.46491,9.04545,9.10844,9.5541,9.34184,9.23246,9.55062,-4.40239,-3.23225,-3.97491,-3.3352,-3.80375,-3.60438,-3.60587,-3.81857,-5.74142,6.16787,16.9856,-0.061656,-10.6634,3.67092,10.4356,36.6268 --6.6141,0.978767,0.369164,4,15,0,11.196,1.14094,2.32245,1.57844,1.77033,0.571605,-0.217384,0.536753,-0.280001,-0.922004,-0.0116692,4.8068,2.46847,2.38752,-1.00037,5.25245,0.636079,0.490655,1.11384,-4.82238,-3.37451,-3.74822,-3.58132,-3.35748,-3.31738,-4.75441,-3.99219,-22.402,-7.38012,-2.72882,12.5612,5.28074,-13.6849,5.70496,9.1329 --5.93937,0.998512,0.369164,3,15,0,9.51996,2.51489,1.65568,1.49766,1.72956,0.112679,-0.259508,0.546979,-0.264469,-0.492431,-0.339034,4.99454,2.70145,3.42052,1.69958,5.37849,2.08523,2.07701,1.95356,-4.8031,-3.3619,-3.77204,-3.43293,-3.36731,-3.3217,-4.48923,-3.96507,-0.179633,19.5609,-13.0752,4.60612,-0.356538,5.22219,-11.2383,4.07175 --5.42525,1,0.369164,3,15,0,8.28035,4.00498,1.8061,1.33473,0.830245,-0.397175,0.242765,1.40738,-0.690012,-0.324913,-0.00805425,6.41564,3.28764,6.54684,3.41815,5.50448,4.44343,2.75875,3.99043,-4.66229,-3.33256,-3.86954,-3.36985,-3.37733,-3.36583,-4.383,-3.90831,14.7741,5.59232,16.8625,13.3324,-3.19797,-7.71496,-12.7902,-7.42182 --6.61273,0.982354,0.369164,4,15,0,8.91119,3.32938,2.75258,-1.40656,-0.623801,1.15502,-0.360431,-1.70888,0.143827,-0.782802,-0.690681,-0.542299,6.50867,-1.37446,1.17466,1.61232,2.33727,3.72528,1.42823,-5.43735,-3.23264,-3.69669,-3.45706,-3.15829,-3.32422,-4.24036,-3.98178,0.923627,-3.44807,11.8956,-0.929054,4.49227,3.08135,6.43551,5.24493 --6.18916,0.998471,0.369164,4,15,0,9.0678,-1.74871,6.24544,-0.548507,0.193862,1.33863,-0.214297,-1.46805,0.91504,0.84525,0.727889,-5.17437,6.61164,-10.9173,3.53025,-0.537952,-3.08708,3.96612,2.79728,-6.07263,-3.23116,-3.81396,-3.36658,-3.11748,-3.38586,-4.20627,-3.94,7.55299,16.6043,-24.3647,-23.1535,-8.78035,3.15656,-1.87263,-8.24326 --4.68298,0.98598,0.369164,4,15,0,9.70959,7.5976,1.50564,0.272899,-0.261688,0.345295,-0.344451,1.31827,0.112462,0.708977,-0.615683,8.00849,8.1175,9.58245,8.66507,7.2036,7.07898,7.76693,6.6706,-4.51512,-3.22159,-4.00074,-3.32829,-3.53159,-3.46954,-3.7451,-3.85314,13.9833,-2.12235,0.443941,3.86215,28.6067,10.5141,-12.9147,-19.3741 --6.79532,0.971286,0.369164,3,15,0,8.72776,5.5532,0.557037,0.742434,0.506261,0.128628,0.275452,-1.4741,0.43049,1.0299,-1.40645,5.96676,5.62485,4.73207,6.12689,5.8352,5.70663,5.79299,4.76975,-4.7058,-3.24973,-3.80829,-3.31998,-3.40456,-3.40837,-3.96658,-3.88998,15.8572,5.14221,-3.92714,4.22422,10.8104,5.9531,-13.4322,23.9567 --8.06085,0.961263,0.369164,4,31,0,13.0487,1.38208,7.57786,-1.14308,0.0764265,-0.46044,-0.941203,0.756388,-0.195578,-0.759973,1.52484,-7.28,-2.10707,7.11388,-4.37689,1.96123,-5.75023,-0.0999876,12.9371,-6.39294,-3.73229,-3.89131,-3.85168,-3.17029,-3.50512,-4.85957,-3.81067,0.282092,5.88132,9.93179,-10.1748,10.8594,-7.46618,14.3356,22.3298 --9.09486,1,0.369164,4,15,0,13.2554,8.68795,1.1199,1.99205,0.166981,0.405333,0.381605,-1.13053,2.05678,-0.166874,1.20533,10.9188,9.14188,7.42186,8.50106,8.87495,9.11531,10.9913,10.0378,-4.27536,-3.22804,-3.90367,-3.32614,-3.71811,-3.58898,-3.46713,-3.81525,17.5458,11.0213,4.55633,22.5742,14.7722,23.46,15.8452,23.3452 --7.42742,0.785065,0.369164,3,7,0,16.8152,2.31395,4.85722,-0.285841,-0.456992,0.315303,0.17735,0.471773,2.84284,-0.323867,1.88988,0.925557,3.84545,4.60545,0.740852,0.0942351,3.17538,16.1223,11.4935,-5.25593,-3.30783,-3.8045,-3.47872,-3.12355,-3.33639,-3.23915,-3.80971,2.46643,25.1686,-7.8952,8.3731,-6.94453,-3.72484,16.8416,25.7602 --6.55608,0.974874,0.369164,4,15,0,11.9114,5.98045,3.79699,1.14211,0.0982562,-0.229688,-0.176111,-0.218254,-1.52952,0.489627,-1.78111,10.317,5.10833,5.15174,7.83956,6.35353,5.31176,0.172884,-0.782391,-4.32185,-3.26333,-3.82131,-3.31975,-3.44996,-3.39366,-4.81055,-4.06145,22.026,13.0501,-5.65214,21.8729,18.9369,-13.0429,12.3154,-25.2142 --6.15123,0.989405,0.369164,4,15,0,9.98023,2.99169,1.43926,-0.234684,-0.899988,0.145628,-0.714004,1.76729,1.37977,0.29356,-0.654942,2.65392,3.20129,5.53528,3.4142,1.69638,1.96406,4.97755,2.04906,-5.0546,-3.33666,-3.83381,-3.36997,-3.16104,-3.32067,-4.06944,-3.96212,16.5157,-7.36556,-26.3927,-13.683,-17.8605,16.1897,-2.37835,23.8416 --5.06457,0.998825,0.369164,3,7,0,7.75031,6.58845,7.41195,0.525868,0.129318,-0.293072,0.620155,-1.64926,-0.648982,-0.334939,0.0743386,10.4862,4.41622,-5.6358,4.1059,7.54695,11.185,1.77823,7.13944,-4.30862,-3.28574,-3.7051,-3.35144,-3.56709,-3.74549,-4.53725,-3.84577,22.0579,7.91164,-13.5923,15.0659,8.04317,16.4743,-13.2526,8.11284 --4.53318,0.944794,0.369164,3,7,0,9.01344,3.78099,2.17042,0.467221,-0.524317,-0.36443,0.522137,-1.48049,-0.196585,0.76599,-0.732717,4.79505,2.99002,0.567704,5.4435,2.643,4.91424,3.35432,2.19069,-4.82359,-3.34702,-3.71639,-3.32684,-3.19809,-3.38014,-4.294,-3.9578,-9.33944,1.66291,-11.2367,-11.4805,11.0019,3.67766,8.63082,9.11945 --4.03183,0.992795,0.369164,4,23,0,7.06323,4.7102,7.18073,-0.0244274,-0.150536,0.514413,-0.25932,1.39287,0.694824,-0.700868,0.704887,4.53479,8.40406,14.712,-0.322541,3.62924,2.8481,9.69954,9.7718,-4.85058,-3.22234,-4.30425,-3.5384,-3.24845,-3.33095,-3.56601,-3.81697,-6.30265,9.18303,11.3182,8.50608,9.68055,-0.666977,10.8572,28.998 --2.79848,0.997185,0.369164,3,15,0,4.69372,4.51331,5.90898,0.50341,-0.288426,-0.450727,0.164178,-1.25278,0.739394,0.438066,-0.220799,7.48795,1.84997,-2.88935,7.10184,2.80901,5.48344,8.88238,3.20861,-4.56198,-3.41064,-3.69155,-3.31688,-3.20572,-3.3999,-3.63718,-3.92858,6.77882,8.3374,10.6862,-5.59573,9.39738,1.05048,1.60216,-10.5705 --2.99519,0.990484,0.369164,3,7,0,4.04025,7.92209,9.59725,0.177841,-0.442775,-0.269961,0.474098,-0.663971,0.910305,0.0896045,-0.0248051,9.62887,5.33121,1.5498,8.78205,3.67267,12.4721,16.6585,7.68403,-4.37698,-3.25714,-3.73196,-3.32996,-3.25094,-3.86068,-3.23052,-3.83806,-4.76123,1.34131,-20.2646,0.656598,-3.83857,7.14228,20.5175,5.87823 --5.11724,0.886708,0.369164,4,31,0,7.36054,2.86258,0.85422,0.157002,0.369027,-0.0843364,-1.16596,0.43706,-0.77008,-0.888735,0.266822,2.99669,2.79053,3.23592,2.1034,3.17781,1.86659,2.20476,3.0905,-5.01625,-3.35722,-3.76748,-3.41591,-3.2239,-3.31994,-4.46897,-3.93181,-19.1073,5.43989,-17.1249,24.5628,-3.994,10.796,1.58728,-16.6902 --4.99541,0.992122,0.369164,4,15,0,8.02921,3.17344,3.93026,1.44344,-0.579371,-0.0414923,0.916899,-0.619136,1.18221,1.65273,0.200196,8.84652,3.01037,0.740076,9.66909,0.896362,6.77709,7.81982,3.96026,-4.44222,-3.34601,-3.71885,-3.34627,-3.13836,-3.45475,-3.7397,-3.90906,21.2784,8.35424,13.4206,13.0206,-3.36791,9.98088,0.276357,13.9721 --5.78753,0.982177,0.369164,3,15,0,7.80424,0.0067736,9.48905,-0.197141,0.314576,0.303681,0.233311,0.767237,0.0607429,-1.09401,-0.145365,-1.86391,2.88842,7.28713,-10.3744,2.9918,2.22068,0.583166,-1.3726,-5.60888,-3.35216,-3.89822,-4.56423,-3.21452,-3.32299,-4.73825,-4.08528,-52.1556,14.2821,15.8672,-36.1323,2.07933,14.6305,0.258808,13.8304 --3.15998,0.989645,0.369164,3,7,0,7.05153,3.00892,2.09872,0.165386,-0.794495,0.0512145,0.385383,-0.662593,0.656833,-0.163106,0.0370856,3.35602,3.1164,1.61832,2.6666,1.3415,3.81773,4.38742,3.08675,-4.9766,-3.34077,-3.73319,-3.39443,-3.15001,-3.34964,-4.14803,-3.93191,-4.10092,-5.35014,11.9173,-16.0517,-2.4847,19.3641,11.9349,-15.6901 --3.48009,0.938194,0.369164,4,15,0,6.84712,5.91392,1.96524,0.965342,-0.820857,0.680351,0.334692,-0.358383,0.216462,-0.0186799,-0.280905,7.81105,7.25097,5.20961,5.87721,4.30073,6.57167,6.33932,5.36187,-4.53275,-3.22433,-3.82316,-3.32204,-3.28961,-3.44511,-3.90138,-3.87731,7.45218,7.30877,20.1848,-5.17219,6.44504,17.0381,8.3868,10.0077 --3.8653,0.970446,0.369164,4,15,0,7.37172,7.25908,3.29685,0.327098,0.293181,-0.468046,-1.38851,-0.246063,0.910881,0.0588252,0.477935,8.33747,5.716,6.44784,7.45302,8.22565,2.68136,10.2621,8.83476,-4.48613,-3.24761,-3.86587,-3.31768,-3.64155,-3.32852,-3.5209,-3.82477,-11.88,7.70015,30.3551,8.85384,11.855,18.473,30.1105,25.338 --8.34962,0.930414,0.369164,3,7,0,9.44166,9.25376,4.87321,-0.755058,0.409122,-0.574664,-2.3829,-0.907006,0.784179,1.17055,-0.508045,5.57421,6.4533,4.83373,14.9581,11.2475,-2.35863,13.0752,6.77795,-4.74458,-3.23348,-3.81139,-3.57853,-4.0421,-3.36345,-3.34279,-3.85139,-21.0584,5.19874,-10.8232,8.89772,24.8612,-4.51728,5.0089,3.15279 --5.57653,0.800702,0.369164,3,7,0,15.3286,6.4131,0.967993,-0.634413,-0.269267,0.363772,-0.986324,0.277539,1.01045,-1.09479,0.953782,5.79899,6.76523,6.68176,5.35336,6.15245,5.45835,7.39121,7.33635,-4.72229,-3.22915,-3.87461,-3.32804,-3.43195,-3.39897,-3.78426,-3.84287,19.2316,11.5183,7.98162,-20.1991,-6.07484,18.6265,18.2215,-12.6417 --6.71761,0.967312,0.369164,3,7,0,10.6376,2.11573,0.200697,-0.0421767,-0.00371396,-0.160334,0.892812,-0.690464,0.496336,-0.794879,1.14536,2.10726,2.08355,1.97715,1.9562,2.11498,2.29491,2.21534,2.3456,-5.11684,-3.39655,-3.73991,-3.42196,-3.17606,-3.32376,-4.4673,-3.95315,-15.0795,-3.90645,6.06748,-20.2038,3.23166,-16.9818,-0.464655,-13.8763 --11.3805,0.920223,0.369164,3,7,0,14.5313,10.0334,0.0580724,-0.697239,-1.06028,-1.25013,-0.558169,-1.00541,0.233174,0.548736,-1.7817,9.99291,9.9608,9.97501,10.0653,9.97182,10.001,10.0469,9.92993,-4.34756,-3.24075,-4.02034,-3.35566,-3.85926,-3.65162,-3.53778,-3.81592,-4.50666,8.81291,25.6592,9.81901,23.7309,9.235,8.27836,20.8535 --15.4822,0.971944,0.369164,3,7,0,18.6457,10.8565,0.0130103,-0.979334,-0.905573,-0.728073,-0.20969,-2.20911,0.317032,1.21348,-1.85769,10.8437,10.847,10.8277,10.8722,10.8447,10.8537,10.8606,10.8323,-4.28107,-3.26205,-4.06498,-3.37879,-3.98219,-3.71806,-3.47638,-3.81141,4.8798,12.863,24.6007,12.0423,14.7231,10.5678,2.45621,5.67474 --11.9581,0.992954,0.369164,3,7,0,20.5768,9.21139,0.0429352,0.729296,1.00982,-2.48475,0.471202,-0.102803,-0.118155,0.240747,-1.15788,9.2427,9.10471,9.20698,9.22173,9.25475,9.23162,9.20632,9.16168,-4.40885,-3.22763,-3.98256,-3.33723,-3.7653,-3.59683,-3.60817,-3.82174,25.0768,12.9549,21.5169,18.0085,5.46124,5.31182,-0.134686,19.1052 --10.1633,0.93777,0.369164,3,15,0,14.8789,5.69027,0.0768514,-0.253482,0.597941,-1.63552,0.106869,-0.168771,-1.49064,1.20845,-1.44398,5.67079,5.56458,5.6773,5.78314,5.73623,5.69849,5.57571,5.5793,-4.73497,-3.25118,-3.83859,-3.32295,-3.39627,-3.40806,-3.99334,-3.87293,25.9584,7.47085,16.2784,10.8111,-11.1892,0.89964,2.45489,-22.4096 --11.5487,0.966963,0.369164,4,15,0,15.574,2.74915,0.201511,0.662124,-0.412949,2.51725,0.0194159,-0.937281,1.73162,-0.734125,1.50248,2.88258,3.25641,2.56028,2.60122,2.66594,2.75307,3.0981,3.05192,-5.02895,-3.33403,-3.75191,-3.39679,-3.19912,-3.32953,-4.33186,-3.93287,0.000809418,-10.8504,20.9864,-14.1546,-6.6259,-20.6254,5.23079,-3.28123 --7.77253,0.941499,0.369164,4,15,0,20.401,6.61674,2.75698,-0.793575,0.0003745,-2.02221,-0.192798,0.377567,-1.36432,0.357472,-1.24095,4.42886,1.04153,7.65768,7.60228,6.61777,6.0852,2.85534,3.19546,-4.86165,-3.46363,-3.91338,-3.31833,-3.47438,-3.42369,-4.36833,-3.92894,-3.78415,-2.71286,-14.8503,26.8556,5.71236,18.2021,8.00909,9.86687 --5.12619,0.988886,0.369164,3,15,0,10.6825,4.27521,1.14884,-0.571456,-0.466946,0.0477136,0.567276,-0.61037,-0.539591,-1.50088,-0.366833,3.6187,4.33003,3.574,2.55094,3.73877,4.92692,3.65531,3.85378,-4.94798,-3.28887,-3.77594,-3.39863,-3.25478,-3.38056,-4.25037,-3.91172,0.824411,5.38386,-14.6761,-0.106592,7.66441,9.52876,9.32237,6.5858 --3.50537,0.995637,0.369164,4,15,0,6.8989,1.73855,7.58974,1.1382,-0.628591,0.21975,-0.923567,0.0523461,1.56521,0.898335,0.55285,10.3772,3.4064,2.13585,8.55669,-3.03229,-5.27109,13.6181,5.93455,-4.31713,-3.32703,-3.74304,-3.32685,-3.14166,-3.47934,-3.31753,-3.86608,2.87919,-0.113072,-5.29197,0.491614,-1.99548,-7.21118,24.1082,44.8652 --4.83846,0.933485,0.369164,4,15,0,6.09819,6.88596,2.75276,-0.624966,0.259124,-0.229295,0.786199,-0.00429061,-0.934789,-1.02887,-0.0740179,5.16558,6.25477,6.87415,4.05373,7.59927,9.05018,4.31272,6.68221,-4.78568,-3.23675,-3.88195,-3.3527,-3.57263,-3.58462,-4.15823,-3.85295,17.5386,5.23708,11.6551,11.7318,-0.716813,16.3302,-10.849,-4.54687 --9.24879,0.793122,0.369164,3,15,0,11.934,6.9483,2.36001,0.355073,-0.332595,3.06556,-1.25799,-0.138166,0.604937,0.766475,1.2077,7.78628,14.1831,6.62222,8.75719,6.16337,3.97943,8.37596,9.79849,-4.53498,-3.41267,-3.87236,-3.32959,-3.43292,-3.35352,-3.68463,-3.81679,3.61199,14.3008,10.3082,24.7793,3.62602,19.8556,0.826582,21.1578 --7.05936,0.966872,0.369164,3,7,0,13.06,7.41992,3.16871,0.133504,-0.0207399,1.91467,-0.753423,-0.551502,-0.475157,1.21224,1.51295,7.84296,13.487,5.67238,11.2612,7.3542,5.03255,5.91429,12.214,-4.52989,-3.37206,-3.83842,-3.39186,-3.54698,-3.38403,-3.95185,-3.80938,-3.59444,21.6925,12.6345,7.2172,-1.75594,4.10417,-0.878026,14.7639 --5.75873,0.974934,0.369164,3,7,0,11.9014,3.46091,3.4507,1.54104,-0.490229,1.42125,-1.20618,-0.327352,0.325712,-1.38777,-0.119216,8.77856,8.36521,2.33131,-1.32787,1.76928,-0.701265,4.58484,3.04953,-4.44802,-3.22219,-3.74704,-3.60342,-3.1635,-3.32879,-4.12136,-3.93294,-14.4331,17.6602,30.2322,-0.330285,8.77282,3.68602,6.89152,11.3052 --5.17056,0.989611,0.369164,3,15,0,9.43447,4.00089,3.85198,0.601921,-0.443723,1.30706,-1.38316,-0.0132967,0.183312,-1.44891,-0.249168,6.31947,9.03564,3.94967,-1.58028,2.29168,-1.32702,4.707,3.0411,-4.67153,-3.22689,-3.78586,-3.62105,-3.18305,-3.33921,-4.10504,-3.93317,20.0935,8.03936,-3.08813,14.0591,10.9219,8.98946,5.33822,-13.8562 --5.67346,0.982425,0.369164,3,15,0,8.92791,4.71261,2.46567,0.791174,0.700934,-1.10685,0.817554,0.820516,-0.597322,-0.429301,-1.14297,6.66338,1.98349,6.73573,3.65409,6.44088,6.72842,3.23981,1.89442,-4.63866,-3.40252,-3.87665,-3.36309,-3.45793,-3.45243,-4.31084,-3.96691,-7.49043,-5.54055,-0.193541,4.11438,19.1878,5.54598,23.6038,2.84796 -# -# Elapsed Time: 0.021656 seconds (Warm-up) -# 0.0047 seconds (Sampling) -# 0.026356 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-1.csv b/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-1.csv deleted file mode 100644 index ddfc050f3d..0000000000 --- a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-1.csv +++ /dev/null @@ -1,648 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 20 -# stan_version_patch = 0 -# model = stan_test_data_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 500 -# save_warmup = 1 -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 1 -# data -# file = /tmp/tmp2ipdytqf/x8rvpwpf.json -# init = 2 (Default) -# random -# seed = 31709 -# output -# file = /tmp/tmp2ipdytqf/stan_test_data-202102230057-1-lu7otosq.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,eta.1.1,eta.2.1,eta.1.2,eta.2.2,eta.1.3,eta.2.3,eta.1.4,eta.2.4,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 --4.80703,0.749647,0.5,3,7,0,9.44134,-2.17477,9.61676,0.766957,-0.853735,0.251743,-0.660749,0.507976,1.11998,-0.295372,0.272729,5.20087,0.246182,2.71032,-5.01529,-10.3849,-8.52903,8.59579,0.448001,-4.7821,-3.52213,-3.75521,-3.91339,-3.65985,-3.69205,-3.66372,-4.01525,-3.67582,3.84024,18.2507,6.00108,-15.8241,-5.59099,1.55725,38.0562 --4.80703,0,9.12515,0,1,1,11.5047,-2.17477,9.61676,0.766957,-0.853735,0.251743,-0.660749,0.507976,1.11998,-0.295372,0.272729,5.20087,0.246182,2.71032,-5.01529,-10.3849,-8.52903,8.59579,0.448001,-4.7821,-3.52213,-3.75521,-3.91339,-3.65985,-3.69205,-3.66372,-4.01525,22.4505,-1.73883,23.5022,1.06256,5.63565,-11.2577,16.8225,-33.3708 --4.80703,5.87081e-171,1.34755,1,1,0,7.70774,-2.17477,9.61676,0.766957,-0.853735,0.251743,-0.660749,0.507976,1.11998,-0.295372,0.272729,5.20087,0.246182,2.71032,-5.01529,-10.3849,-8.52903,8.59579,0.448001,-4.7821,-3.52213,-3.75521,-3.91339,-3.65985,-3.69205,-3.66372,-4.01525,4.08946,9.36857,8.03954,-17.5175,-10.0589,-1.80532,7.44362,-2.71864 --6.91452,0.986501,0.123058,5,31,0,13.6175,-2.73577,4.43247,-0.278325,-1.12206,0.261722,-0.912603,1.04024,1.05503,0.771632,-0.210872,-3.96944,-1.5757,1.87508,0.684463,-7.70928,-6.78086,1.94061,-3.67046,-5.8982,-3.67999,-3.73795,-3.48165,-3.39403,-3.56701,-4.51104,-4.18827,14.0146,6.16736,18.9239,8.56157,-4.32486,-10.5457,4.40152,-13.2114 --5.76513,0.998715,0.152613,5,47,0,11.5222,0.010128,4.10414,0.91448,0.455095,-0.341084,-0.911001,1.27188,1.83153,-0.354759,0.427351,3.76328,-1.38973,5.23008,-1.44585,1.8779,-3.72874,7.52699,1.76404,-4.93236,-3.66236,-3.82382,-3.6116,-3.16729,-3.40923,-3.76994,-3.971,-18.3847,27.7396,28.6303,-10.4047,1.15247,-6.10554,6.82012,14.2478 --5.58764,0.988312,0.230081,4,31,0,12.5677,2.27235,2.4009,0.707326,-0.585418,0.990767,1.21584,-1.38345,-0.210076,0.944624,0.612765,3.97057,4.65108,-1.04917,4.54029,0.866816,5.19145,1.76798,3.74353,-4.91013,-3.2776,-3.69896,-3.34183,-3.13768,-3.38943,-4.53892,-3.91451,-4.46518,13.5917,-15.5612,13.8122,17.1237,15.5177,-0.616516,13.552 --6.01635,0.974945,0.369907,4,31,0,12.2265,8.21028,2.38798,-0.077072,-0.0703838,-0.690142,-1.67491,0.652561,1.2533,-0.910436,-0.680404,8.02623,6.56223,9.76858,6.03617,8.0422,4.21063,11.2031,6.58548,-4.51355,-3.23186,-4.00996,-3.32067,-3.62086,-3.35943,-3.45251,-3.85455,6.44637,2.58935,16.3075,3.4781,0.216914,4.64432,12.8936,22.0458 --5.35047,0.937392,0.603718,3,7,0,10.7065,5.04253,3.4725,0.766765,-0.768986,0.471989,1.29735,-0.956046,-0.823817,0.911984,0.79291,7.70512,6.68151,1.72265,8.2094,2.37222,9.5476,2.18182,7.79591,-4.54228,-3.23022,-3.73509,-3.32288,-3.18636,-3.61874,-4.4726,-3.83659,12.4895,11.1629,28.7118,7.70884,2.6551,-12.5466,-0.974793,39.4774 --3.76791,0.845456,0.904868,2,3,0,7.98011,4.76195,3.15076,0.430938,0.991915,0.00317065,-0.240165,-0.531147,0.535616,1.21016,-0.165793,6.11974,4.77194,3.08843,8.57488,7.88724,4.00525,6.44955,4.23958,-4.69087,-3.27363,-3.76393,-3.32708,-3.60371,-3.35415,-3.88859,-3.90225,11.435,5.94707,6.38769,15.8923,-18.491,6.85994,0.730843,15.1984 --3.76791,0.245228,1.03248,2,3,0,10.2892,4.76195,3.15076,0.430938,0.991915,0.00317065,-0.240165,-0.531147,0.535616,1.21016,-0.165793,6.11974,4.77194,3.08843,8.57488,7.88724,4.00525,6.44955,4.23958,-4.69087,-3.27363,-3.76393,-3.32708,-3.60371,-3.35415,-3.88859,-3.90225,14.4644,-18.0268,31.783,19.3325,9.69936,1.26953,3.33534,25.6402 --5.11185,0.996094,0.178078,4,15,0,8.90438,4.82839,10.8689,1.60096,-1.09065,-0.0457278,-0.232334,-1.60606,1.44369,0.268672,0.911323,22.229,4.33138,-12.6277,7.74855,-7.02576,2.30318,20.5197,14.7335,-3.701,-3.28882,-3.87257,-3.31915,-3.3403,-3.32385,-3.25327,-3.82084,13.0314,11.9505,-21.1651,20.6884,-10.3245,-3.89996,17.739,-0.872244 --6.97083,0.960545,0.332351,4,15,0,9.77599,4.90083,1.20195,-1.8334,0.444866,0.492326,-0.117845,1.20576,0.142436,-1.03486,1.06283,2.69718,5.49258,6.35009,3.65699,5.43554,4.75919,5.07203,6.17829,-5.04973,-3.25296,-3.86228,-3.36301,-3.37182,-3.37523,-4.05719,-3.86161,-1.12391,-14.1708,11.0894,-6.0662,3.34754,9.26496,24.1299,23.7254 --3.82928,0.883855,0.556698,3,7,0,13.1232,3.55262,2.38358,1.29446,0.573255,0.0267012,-0.105605,0.318493,1.06444,0.572305,0.62794,6.63808,3.61626,4.31177,4.91675,4.91902,3.3009,6.08979,5.04936,-4.64106,-3.31761,-3.79595,-3.33477,-3.33243,-3.33871,-3.93079,-3.88386,-17.2327,6.23676,10.3471,1.80862,7.91152,11.0824,3.485,8.08966 --4.61894,0.759289,0.733406,2,3,0,9.70674,3.22115,1.09577,1.05485,0.334572,-0.408131,0.142248,0.163441,-0.450635,-0.844808,-0.733661,4.37703,2.77393,3.40025,2.29543,3.58777,3.37702,2.72736,2.41723,-4.86709,-3.35808,-3.77153,-3.40829,-3.24609,-3.34018,-4.38779,-3.95102,21.122,-5.26345,-9.36575,-10.3337,-9.4839,18.1247,25.7701,2.03426 --5.28992,0.733309,0.655308,3,7,0,11.1181,0.995581,2.8535,-0.76669,-0.855327,0.881083,0.262676,0.130623,1.54247,0.904037,0.843208,-1.19217,3.50975,1.36831,3.57525,-1.4451,1.74513,5.39702,3.40168,-5.52073,-3.32234,-3.7288,-3.3653,-3.11739,-3.31913,-4.0157,-3.9234,-26.6084,-21.8248,10.3794,11.6251,10.0421,4.28903,5.63639,-23.5128 --5.23642,0.9753,0.542212,3,15,0,7.868,5.45554,5.10989,1.95444,-0.994517,1.09405,-0.330339,-0.0580689,1.62834,-0.303117,-0.727896,15.4425,11.046,5.15881,3.90664,0.37366,3.76754,13.7762,1.73607,-3.97741,-3.26792,-3.82154,-3.35637,-3.12781,-3.34848,-3.31073,-3.97188,-13.9428,5.84075,-7.29793,2.01307,-2.65456,-0.537143,7.74489,5.81758 --4.76548,0.561002,0.948832,2,3,0,8.65236,4.70215,4.34997,0.512705,0.424181,-0.477827,0.761284,-0.609055,1.03349,-1.08908,1.38708,6.9324,2.62362,2.05278,-0.0353318,6.54733,8.01372,9.19781,10.7359,-4.61331,-3.36605,-3.74139,-3.52136,-3.46778,-3.52011,-3.60892,-3.81178,6.84054,4.25188,2.54871,-12.8135,12.9834,23.6616,2.44724,-9.50257 --5.89314,0.850819,0.46532,4,23,0,12.539,5.52736,7.53772,0.797317,0.467868,-1.21353,-0.23639,-1.41816,1.08138,-0.684577,1.31541,11.5373,-3.61987,-5.16233,0.367211,9.05401,3.74552,13.6785,15.4425,-4.22926,-3.89663,-3.70066,-3.49863,-3.74013,-3.34798,-3.3149,-3.8276,22.3818,-1.7091,-13.8434,-20.8403,-0.572071,14.7,19.7869,11.434 --8.98194,0.637898,0.555867,3,7,0,15.2812,5.83396,2.32974,0.0678385,-0.673757,1.11374,-0.577256,1.21612,-1.64331,-2.29671,-0.463018,5.99201,8.42867,8.66721,0.483232,4.26428,4.4891,2.00548,4.75525,-4.70333,-3.22244,-3.95739,-3.49232,-3.28723,-3.36714,-4.50065,-3.89031,24.4891,13.5443,-0.926535,-10.2753,9.63381,15.0172,-0.393136,12.7255 --15.0691,0.952876,0.349471,4,31,0,19.8566,7.8965,1.53741,0.0763566,0.0320233,0.0124677,-1.26441,1.74374,-0.225379,-4.30148,-0.1342,8.0139,7.91567,10.5773,1.28335,7.94574,5.95259,7.55,7.69018,-4.51464,-3.22156,-4.05157,-3.45188,-3.61015,-3.41819,-3.76754,-3.83797,24.2803,18.7171,1.31249,-2.23404,1.91671,2.2338,-10.2412,26.9519 --7.88361,1,0.566673,3,7,0,20.7041,6.39484,5.63439,2.31425,-0.00694911,-0.592468,-1.89875,0.723356,1.31161,-1.20302,-0.126111,19.4342,3.05665,10.4705,-0.383434,6.35569,-4.30344,13.785,5.68428,-3.79004,-3.34371,-4.04593,-3.5421,-3.45015,-3.43306,-3.31036,-3.87087,3.85393,-11.9651,27.6388,3.95583,7.75675,18.0244,16.1025,-3.04924 --9.56239,0.611632,1.04846,2,3,0,12.9145,7.37124,0.571434,-1.46095,-0.0794964,1.0051,2.20867,-1.15363,-0.673449,0.806732,0.559012,6.53641,7.94559,6.71202,7.83224,7.32582,8.63335,6.98641,7.69068,-4.65073,-3.22154,-3.87575,-3.3197,-3.54406,-3.55761,-3.82802,-3.83797,7.95776,16.8716,-2.82562,7.77325,11.8454,25.4126,-0.840414,-6.83637 --8.71921,0.98745,0.615195,3,7,0,12.2333,8.02728,7.66321,1.69751,-0.242418,-0.986892,-2.34172,1.01246,0.97361,-0.7923,-0.51784,21.0356,0.464521,15.786,1.95572,6.16958,-9.9178,15.4883,4.05896,-3.73477,-3.50544,-4.38081,-3.42198,-3.43347,-3.80939,-3.25307,-3.90663,22.5027,12.4756,9.90719,-15.57,11.7418,-20.4906,18.7464,3.50054 --10.312,0.362434,1.08627,2,3,0,14.1226,8.93428,2.16555,0.979096,1.24621,0.436146,-1.53441,0.808654,0.81558,-0.0563452,-2.69452,11.0546,9.87878,10.6855,8.81226,11.633,5.61143,10.7005,3.09916,-4.26509,-3.23917,-4.05733,-3.33041,-4.1013,-3.40471,-3.48794,-3.93157,11.964,13.7393,12.7498,18.061,22.0961,3.91029,27.9921,3.79485 --6.84796,0.99803,0.313719,4,15,0,12.5447,8.65586,5.92019,-0.349435,-1.33748,-0.937667,0.535829,-1.35938,-0.40855,-0.23568,1.5885,6.58714,3.10469,0.608049,7.26059,0.73769,11.8281,6.23716,18.0601,-4.6459,-3.34134,-3.71695,-3.31711,-3.1348,-3.80133,-3.91335,-3.86598,39.9564,-1.60552,-3.25577,22.2557,10.5195,15.6768,3.41399,17.4758 --9.3072,0.823128,0.568989,3,7,0,13.6288,6.99565,0.578693,1.91105,-0.506452,-0.991065,-0.06415,1.36595,0.428937,-0.342931,-1.98363,8.10156,6.42213,7.78612,6.7972,6.70257,6.95853,7.24387,5.84773,-4.50687,-3.23397,-3.91875,-3.317,-3.4824,-3.46354,-3.8,-3.86772,18.5915,-5.24939,29.1724,23.8262,3.9189,-3.3968,-2.36619,13.5618 --9.92484,0.898746,0.622542,3,7,0,17.6835,4.9769,0.284097,-1.92106,0.456773,1.01605,0.0600765,-1.41936,-0.337994,0.375549,1.9724,4.43113,5.26555,4.57366,5.08359,5.10667,4.99396,4.88087,5.53725,-4.86141,-3.25891,-3.80356,-3.33201,-3.34636,-3.38275,-4.08208,-3.87377,-0.920748,-2.34954,11.8291,10.3029,11.8328,19.0318,-4.30267,1.51271 --9.00494,0.506759,0.841127,2,7,0,14.151,3.23058,0.104047,-0.516262,-1.38031,-1.90389,0.0465323,-0.691621,0.295006,-0.886287,0.0495924,3.17686,3.03249,3.15862,3.13836,3.08696,3.23542,3.26127,3.23574,-4.9963,-3.3449,-3.76561,-3.37845,-3.21927,-3.33748,-4.30767,-3.92785,27.7986,9.71048,-3.76052,16.1958,18.1592,-8.19547,-2.23185,12.9503 --7.04281,0.988488,0.379548,4,31,0,12.5337,2.0987,2.86566,1.61124,-2.55201,0.0837418,0.0431643,0.0235156,0.880324,0.765459,-0.300205,6.71596,2.33868,2.16609,4.29224,-5.21448,2.2224,4.62141,1.23842,-4.63368,-3.38178,-3.74365,-3.34713,-3.2258,-3.32301,-4.11646,-3.98803,-22.5584,-10.5035,1.3019,12.8802,4.302,1.28135,2.66978,-2.2904 --6.2372,0.963047,0.656534,3,7,0,11.3569,4.70472,3.03805,-0.497332,2.22219,0.33273,-0.1033,0.269507,0.383311,-0.493941,0.818092,3.1938,5.71557,5.5235,3.2041,11.4559,4.39089,5.86924,7.19012,-4.99443,-3.24762,-3.83342,-3.37637,-4.07387,-3.36435,-3.9573,-3.84501,15.6442,-3.0339,-9.47562,11.9604,17.1667,-5.15391,10.1726,25.3382 --6.2372,0.00469946,1.04963,3,15,0,19.8152,4.70472,3.03805,-0.497332,2.22219,0.33273,-0.1033,0.269507,0.383311,-0.493941,0.818092,3.1938,5.71557,5.5235,3.2041,11.4559,4.39089,5.86924,7.19012,-4.99443,-3.24762,-3.83342,-3.37637,-4.07387,-3.36435,-3.9573,-3.84501,3.96878,9.7667,25.7805,12.2353,21.2821,-3.08017,5.61371,0.0324957 --7.75741,0.993906,0.123322,5,31,0,12.7791,4.57735,1.09482,1.24857,1.16208,-1.55626,0.156286,-0.913082,-0.669784,-1.34167,-0.832754,5.94431,2.87352,3.57769,3.10846,5.84962,4.74845,3.84406,3.66563,-4.708,-3.35293,-3.77603,-3.37941,-3.40578,-3.3749,-4.22348,-3.9165,0.177423,3.84939,-29.4927,8.85279,18.8027,1.69859,-12.092,-5.46126 --7.31003,0.997812,0.215535,5,47,0,15.0568,-0.98809,3.31021,0.73969,-0.261523,1.6516,-0.643443,1.47675,0.868337,1.67351,0.00346353,1.46044,4.47904,3.90025,4.55158,-1.85379,-3.11802,1.88629,-0.976625,-5.19221,-3.28351,-3.78452,-3.34161,-3.12066,-3.38691,-4.51978,-4.06918,-6.51912,13.629,14.3731,12.5124,-2.11606,-5.31439,2.11267,-6.67965 --5.00536,1,0.377203,3,7,0,10.1816,-0.62323,14.03,0.821024,-0.236845,-0.160415,-0.123095,-1.06225,0.80537,0.911354,1.74533,10.8957,-2.87385,-15.5266,12.163,-3.94616,-2.35025,10.6761,23.8636,-4.27711,-3.81273,-3.998,-3.42699,-3.16974,-3.36321,-3.48972,-4.02651,23.4784,-3.28558,-14.0709,-15.8754,-7.33419,-22.6413,6.8462,11.4028 --3.97893,0.554586,0.65799,4,15,0,8.94406,8.6481,5.26953,1.06221,-0.42895,0.711919,-0.48304,0.673193,0.275968,-0.766247,0.352085,14.2455,12.3996,12.1955,4.61034,6.38774,6.10271,10.1023,10.5034,-4.0474,-3.31831,-4.14251,-3.34043,-3.45307,-3.42443,-3.53339,-3.81277,16.8114,19.0247,2.58647,-4.42368,5.37872,0.0266943,-6.7996,-12.2561 --2.718,0.954933,0.352669,4,31,0,7.65199,4.83174,6.98484,0.0207709,-0.181527,-0.506905,0.0634495,-0.84696,0.643197,0.741594,-0.0857654,4.97682,1.29109,-1.08414,10.0116,3.5638,5.27492,9.32436,4.23268,-4.80492,-3.44657,-3.6987,-3.35431,-3.24473,-3.39235,-3.59786,-3.90241,-8.59935,-16.7061,12.8465,14.8678,-9.53029,-3.72399,12.4266,31.2146 --2.54839,0.859817,0.5424,3,15,0,6.48455,1.26411,9.08632,0.484654,0.268389,0.380984,-0.250317,0.265267,0.854487,-0.534054,0.533806,5.66783,4.72586,3.67441,-3.58848,3.70278,-1.01035,9.02825,6.11444,-4.73527,-3.27512,-3.77853,-3.78012,-3.25268,-3.33353,-3.62398,-3.86277,-2.65997,-12.6255,7.49766,-4.22504,20.1388,10.5441,9.77273,3.15024 --6.83969,0.54815,0.647744,2,3,0,8.16008,1.63869,1.80041,-0.27309,0.500948,0.528193,-0.45085,-0.518409,0.339935,2.47881,-0.74291,1.14701,2.58965,0.705338,6.10157,2.5406,0.826971,2.25071,0.301142,-5.2294,-3.36788,-3.71834,-3.32017,-3.19354,-3.31696,-4.46172,-4.02052,-16.6545,12.2954,1.24195,21.6025,0.899892,2.12194,-7.44714,24.2378 --5.87287,0.997192,0.346424,4,15,0,10.4189,2.33288,11.5395,1.18347,0.344091,0.0121499,0.796426,0.0701823,2.06791,-0.59084,1.20845,15.9896,2.47309,3.14275,-4.48514,6.30354,11.5233,26.1957,16.2778,-3.94755,-3.37426,-3.76523,-3.86191,-3.44543,-3.77443,-3.55737,-3.83755,41.3497,-0.792969,7.71071,-6.07848,14.2086,12.0253,11.6427,-11.3859 --4.06339,1,0.587494,3,7,0,7.08514,3.22528,0.765162,0.55196,0.220623,-0.0209191,-0.27577,0.210585,-0.483445,0.363363,-0.579445,3.64762,3.20927,3.38641,3.50331,3.39409,3.01427,2.85537,2.78191,-4.94485,-3.33628,-3.77119,-3.36736,-3.23535,-3.3336,-4.36832,-3.94044,8.4326,-3.04811,-4.58038,18.1517,2.98162,-13.7832,10.4554,7.47766 --7.65926,0.419623,0.995389,2,5,1,12.4275,-0.239427,2.01272,1.07022,1.36438,0.677422,-0.522519,0.256002,-0.581061,1.71107,-1.04407,1.91463,1.12403,0.275833,3.20448,2.50668,-1.29111,-1.40894,-2.34084,-5.13909,-3.45792,-3.71249,-3.37636,-3.19207,-3.33852,-5.10506,-4.12669,-1.833,-3.88075,-14.3035,0.453903,5.11399,2.59391,9.09372,13.6874 --8.3496,0.642586,0.389605,5,31,0,13.8139,4.85922,0.490923,-0.83006,-1.45236,-0.904184,-0.322438,-0.0366323,-1.31456,-1.4503,1.1772,4.45173,4.41534,4.84124,4.14723,4.14622,4.70093,4.21387,5.43714,-4.85926,-3.28577,-3.81162,-3.35046,-3.27964,-3.37343,-4.17181,-3.87578,5.98497,-1.65824,6.6231,24.8211,4.91135,1.08381,14.5454,7.44481 --6.95942,0.999518,0.269506,4,15,0,10.9335,3.62087,2.63023,0.998348,1.50917,1.04598,0.23542,0.188147,1.28275,1.47408,-1.2653,6.24676,6.37205,4.11574,7.49805,7.59034,4.24008,6.99479,0.292834,-4.67855,-3.23477,-3.79042,-3.31786,-3.57168,-3.36021,-3.8271,-4.02082,13.8479,-12.7759,29.3948,0.759388,0.234636,-1.32675,6.47004,-2.20172 --6.05872,0.983252,0.453286,3,7,0,9.40206,2.24933,1.18437,0.25434,-1.47334,-0.737735,0.463748,-0.176687,0.656728,-0.467751,1.52572,2.55056,1.37558,2.04007,1.69534,0.504348,2.79858,3.02714,4.05635,-5.06626,-3.44094,-3.74114,-3.43311,-3.13013,-3.3302,-4.34246,-3.90669,13.8302,-18.2594,8.76071,-0.883503,5.54146,-8.00508,6.32496,-38.5895 --5.60492,0.951292,0.726993,4,15,0,8.02587,1.56348,8.34383,0.964963,0.851294,0.710322,-0.391165,-0.401845,-0.00865982,0.87577,-1.52291,9.61496,7.49028,-1.78945,8.87075,8.66653,-1.70034,1.49122,-11.1434,-4.37812,-3.22282,-3.69439,-3.3313,-3.69296,-3.34697,-4.58422,-4.63588,30.1782,11.697,-3.72169,-10.4052,9.15814,6.0108,9.36416,-29.034 --4.88714,0.708938,1.07122,2,7,0,9.69613,6.9852,2.31737,-0.739399,-0.839108,0.0456515,0.252961,0.241079,0.037448,-0.999996,1.39394,5.27173,7.09099,7.54386,4.66783,5.04067,7.5714,7.07198,10.2155,-4.77493,-3.22566,-3.90866,-3.33931,-3.34141,-3.49528,-3.81863,-3.81422,3.47458,20.8117,-5.44648,-3.3539,6.39307,4.65695,6.39129,24.0878 --7.39953,0.101518,0.872725,2,3,0,9.23868,7.05047,9.66056,-0.534124,0.157547,0.576192,0.786675,-0.284928,-0.0896441,-1.68595,0.588519,1.89054,12.6168,4.29791,-9.23677,8.57247,14.6502,6.18446,12.7359,-5.14189,-3.3281,-3.79555,-4.40622,-3.68179,-4.08678,-3.91956,-3.81015,3.3294,6.80492,-20.1778,-10.5223,25.1306,18.3662,-15.3232,16.3209 --4.70033,1,0.165391,4,15,0,8.73938,6.82363,1.33105,0.488336,-0.0893864,0.480482,0.336822,-0.797031,1.23394,-0.167314,1.00367,7.47363,7.46318,5.76274,6.60093,6.70466,7.27196,8.46608,8.15957,-4.56328,-3.22296,-3.8415,-3.31749,-3.48259,-3.47939,-3.676,-3.83207,12.4506,-1.04993,1.0882,-5.72525,12.0541,16.5347,9.35455,40.9313 --8.78612,0.942313,0.274289,3,7,0,11.0463,6.95789,2.10846,0.343654,-0.11164,-1.99222,1.87454,-0.21803,0.351353,-0.65768,1.86862,7.68247,2.75736,6.49818,5.57119,6.7225,10.9103,7.6987,10.8978,-4.54433,-3.35895,-3.86773,-3.32527,-3.48429,-3.72268,-3.75211,-3.81119,40.8263,4.17161,16.4101,14.1757,13.2696,-1.65573,19.3633,4.29934 --6.61137,0.997729,0.393936,4,31,0,12.539,8.17611,2.32382,-0.570218,0.919341,1.43997,0.256753,-0.445123,1.20951,1.04749,0.755157,6.85103,11.5223,7.14173,10.6103,10.3125,8.77276,10.9868,9.93096,-4.62094,-3.28356,-3.89242,-3.37069,-3.90612,-3.56649,-3.46745,-3.81592,34.7292,10.6904,22.3449,-19.4118,13.3723,9.29359,-3.13622,-8.03064 --5.96882,0.913815,0.64153,3,15,0,10.3953,0.248225,1.88124,-0.123303,-0.673795,-0.410957,-1.45777,0.132801,1.13866,0.000222724,1.18661,0.0162628,-0.524882,0.498055,0.248644,-1.01934,-2.49418,2.3903,2.48051,-5.36719,-3.58489,-3.71543,-3.50518,-3.11617,-3.36729,-4.43984,-3.94916,-36.1074,-3.37061,11.2879,-11.2482,-9.6218,-1.26454,16.7073,21.2132 --5.44689,0.701083,0.852771,2,7,0,12.8057,1.64063,1.56602,0.526414,-0.0705689,0.393132,0.738869,1.44633,1.1592,0.388037,-0.828343,2.46501,2.25628,3.90562,2.24831,1.53012,2.79772,3.45596,0.343427,-5.07596,-3.38647,-3.78467,-3.41013,-3.15568,-3.33019,-4.27917,-4.019,15.4275,24.7318,-1.34799,-12.138,8.97535,2.46528,8.29876,-40.4371 --3.29885,0.65008,0.688468,2,7,0,8.4727,1.93263,5.60233,0.202825,-0.283691,-0.162309,0.481457,0.455232,-0.204445,-0.249641,-0.43315,3.06892,1.02332,4.48299,0.534058,0.343297,4.62991,0.787261,-0.494019,-5.00823,-3.46489,-3.80089,-3.4896,-3.1273,-3.37128,-4.70292,-4.05021,4.02657,0.211838,39.3812,3.66897,-6.9031,-20.6781,8.81147,8.733 --6.14371,0.703617,0.495345,3,7,0,11.5989,2.28398,4.83766,1.23473,-0.113575,-0.368204,-0.353823,1.49862,0.0478421,-0.149321,-1.77816,8.2572,0.502728,9.53377,1.56161,1.73454,0.572302,2.51542,-6.31815,-4.49316,-3.50257,-3.99835,-3.43905,-3.16232,-3.31759,-4.42038,-4.32714,12.659,-3.70106,6.5953,10.0543,5.96804,8.27172,10.2523,-26.6394 --4.29195,0.998236,0.404681,3,7,0,8.72639,2.0092,5.84084,1.39766,-1.0184,0.62966,0.0547343,0.449639,-0.179065,1.18549,0.559916,10.1727,5.68694,4.63547,8.93348,-3.93908,2.3289,0.963317,5.27958,-4.33324,-3.24827,-3.8054,-3.33228,-3.16949,-3.32413,-4.67277,-3.87901,13.1074,8.53426,36.8927,16.8588,0.385435,8.15115,-5.05352,1.15899 --5.378,0.805593,0.649169,3,15,0,9.23115,2.44857,7.40913,-0.118629,-1.44158,1.23059,0.105839,-0.249811,0.163136,0.871066,1.29457,1.56964,11.5662,0.597692,8.90242,-8.23225,3.23275,3.65727,12.0402,-5.17935,-3.28511,-3.71681,-3.33179,-3.43904,-3.33743,-4.25009,-3.80931,22.9003,20.2988,30.5949,0.727672,-23.8003,-3.28967,-2.67424,36.7035 --6.40809,0.226711,0.668768,3,7,0,9.64485,3.41589,1.7741,-0.0848263,0.780316,0.464777,-0.865074,0.826188,2.40618,-0.2983,0.448526,3.2654,4.24046,4.88164,2.88668,4.80026,1.88116,7.68471,4.21163,-4.98654,-3.29219,-3.81286,-3.38675,-3.32384,-3.32004,-3.75355,-3.90292,-13.2552,3.2333,10.988,0.43183,17.0612,19.6903,-14.5181,-5.89768 --4.35451,0.999495,0.186814,4,31,0,9.12216,4.06369,6.50505,1.68354,-0.184453,0.868844,-0.531637,1.23447,0.859663,-0.19253,0.949514,15.0152,9.71557,12.094,2.81128,2.86382,0.605369,9.65584,10.2403,-4.00167,-3.23624,-4.1365,-3.38934,-3.20832,-3.31748,-3.56965,-3.81409,11.9083,6.93127,12.1975,15.6457,4.81766,6.9933,15.4851,-5.09231 --6.84924,0.958279,0.299241,4,15,0,9.86219,3.97667,7.05411,-0.127281,-0.58498,0.734681,-0.665701,-0.484169,2.04752,0.550456,2.36932,3.07882,9.15919,0.561291,7.85964,-0.149844,-0.719255,18.4201,20.6901,-5.00713,-3.22824,-3.7163,-3.31989,-3.12062,-3.32905,-3.22241,-3.92585,-9.18475,2.40785,20.8209,-6.14538,-3.68154,-13.8793,19.8213,5.96431 --8.15709,0.831154,0.43477,3,7,0,12.6281,6.17279,1.83576,0.952013,0.0249321,-1.56968,-0.0382036,0.46355,-1.64993,-0.113033,-1.91821,7.92046,3.29125,7.02376,5.96529,6.21856,6.10266,3.14392,2.65142,-4.52296,-3.33239,-3.88777,-3.32126,-3.43782,-3.42443,-4.32504,-3.94418,-3.05321,13.8526,-1.65725,-4.64271,17.5574,14.2187,9.08519,6.58403 --4.6573,0.962538,0.474601,3,15,0,13.6206,7.69891,4.87477,1.23253,-0.516448,-1.02078,1.0127,0.0826606,1.06865,-0.309494,-0.246764,13.7072,2.72283,8.10186,6.1902,5.18135,12.6356,12.9083,6.496,-4.08095,-3.36077,-3.93225,-3.31954,-3.35202,-3.87629,-3.35115,-3.85606,17.626,-18.2845,20.679,9.97915,-13.4581,12.1607,13.4906,-12.1503 --6.63622,0.157956,0.690944,2,3,0,11.5124,7.85135,0.824771,1.98648,-0.176066,-0.673508,0.0513387,-0.026542,0.377223,-1.16098,-0.318039,9.48975,7.29586,7.82946,6.89381,7.70614,7.8937,8.16248,7.58905,-4.38839,-3.224,-3.92058,-3.31688,-3.58405,-3.51321,-3.70541,-3.83934,36.1826,22.1085,-8.07095,5.31642,6.81021,2.11108,8.03736,-3.36462 --5.94271,0.999697,0.172322,4,31,0,8.63736,6.90677,0.641613,1.28075,-0.940907,0.0485723,-0.383982,0.189163,0.932361,-0.649888,-0.836092,7.72852,6.93794,7.02814,6.48979,6.30307,6.6604,7.50499,6.37032,-4.54017,-3.22716,-3.88794,-3.31791,-3.44539,-3.44923,-3.77225,-3.85822,-17.8572,-3.29175,2.00479,4.32011,-5.9828,18.9135,4.78405,-0.0909814 --5.73003,0.99752,0.272349,4,15,0,8.10594,7.19538,3.63043,-1.23358,0.719139,-0.0383321,0.306565,-0.178148,-0.810558,0.780368,0.788936,2.71693,7.05621,6.54862,10.0285,9.80616,8.30834,4.2527,10.0596,-5.04751,-3.22598,-3.86961,-3.35473,-3.83699,-3.53754,-4.16647,-3.81512,-2.2441,-5.7241,-7.25012,13.9352,12.2337,6.13453,11.1871,3.95942 --5.75812,0.96633,0.426131,3,15,0,11.3171,4.80355,3.29997,1.10945,-1.36435,-0.610629,0.591726,-1.1847,0.846971,1.54676,0.610711,8.46471,2.7885,0.894092,9.9078,0.301255,6.75623,7.59853,6.81888,-4.47505,-3.35732,-3.72114,-3.35177,-3.12662,-3.45375,-3.76248,-3.85074,14.6823,-6.82322,-29.4604,21.8512,9.38638,22.1326,-14.041,44.3116 --7.25391,0.953817,0.620292,3,7,0,9.61368,4.46199,0.663406,0.50876,-0.0105599,0.134456,-0.448842,1.33551,0.93545,-2.05423,-0.52806,4.79951,4.55119,5.34798,3.0992,4.45498,4.16423,5.08257,4.11167,-4.82313,-3.281,-3.82764,-3.37971,-3.29985,-3.35821,-4.05582,-3.90534,-24.9864,-21.0541,39.0765,4.17628,-4.34756,8.97582,-0.0770104,-24.8273 --8.05049,0.794201,0.875324,2,3,0,12.5746,4.82418,3.53483,-2.3731,-0.767676,-0.265424,-0.170374,0.262548,0.609595,-1.29583,1.31579,-3.56434,3.88595,5.75224,0.243644,2.11057,4.22194,6.97899,9.47527,-5.841,-3.30615,-3.84114,-3.50546,-3.17589,-3.35973,-3.82884,-3.81915,-8.86518,20.0151,7.84995,0.342265,14.3049,-6.32917,-8.63163,7.24352 --8.05049,0.000216846,0.876339,2,3,0,12.7141,4.82418,3.53483,-2.3731,-0.767676,-0.265424,-0.170374,0.262548,0.609595,-1.29583,1.31579,-3.56434,3.88595,5.75224,0.243644,2.11057,4.22194,6.97899,9.47527,-5.841,-3.30615,-3.84114,-3.50546,-3.17589,-3.35973,-3.82884,-3.81915,9.56388,4.3402,6.90784,-0.0717545,12.9099,8.36254,0.183607,33.6068 --4.87909,0.99978,0.163698,4,15,0,10.879,5.11568,3.19338,-0.893387,-1.4539,0.604851,-1.30394,0.226867,0.925632,-0.0987153,0.043442,2.26276,7.0472,5.84015,4.80045,0.472818,0.951696,8.07157,5.25441,-5.099,-3.22606,-3.84416,-3.33683,-3.12955,-3.31684,-3.71439,-3.87953,-25.6922,12.3106,16.5741,-12.4908,-15.283,-14.577,21.7814,26.022 --5.96302,0.982905,0.254795,4,15,0,8.70753,5.05193,2.79903,-1.26831,-1.72391,0.508559,-1.23829,-0.0116462,1.18029,-0.230264,-0.166889,1.50191,6.4754,5.01933,4.40742,0.226658,1.58594,8.35561,4.5848,-5.18732,-3.23315,-3.81713,-3.34461,-3.12545,-3.31825,-3.6866,-3.89416,-15.0531,17.8048,39.5154,3.99775,-3.9043,11.839,4.69349,40.1436 --6.25419,0.988157,0.380977,5,55,0,10.2591,3.50914,2.74793,2.22006,0.560794,-0.997188,0.104924,-0.989738,-0.765701,0.0494921,0.240681,9.60971,0.768936,0.789409,3.64514,5.05016,3.79746,1.40504,4.17051,-4.37855,-3.48297,-3.71957,-3.36334,-3.34212,-3.34917,-4.59849,-3.90391,8.58732,-13.8019,8.61917,-15.6712,0.479601,13.5067,16.7359,-28.2148 --8.3303,0.907724,0.573396,2,3,0,9.44015,3.67326,4.55648,2.88479,0.561688,-0.825261,0.0425096,-1.67749,-0.701976,0.162181,0.295219,16.8178,-0.0870218,-3.97017,4.41224,6.23258,3.86696,0.474723,5.01842,-3.90486,-3.54852,-3.69337,-3.34451,-3.43907,-3.3508,-4.7572,-3.88453,9.50756,5.71616,-12.7465,-22.5424,3.82757,-0.82553,2.14388,-9.12599 --6.17129,0.946352,0.727465,3,15,0,12.4368,5.57882,3.22338,1.78182,-1.03132,-0.839762,-0.948729,0.461425,-0.215661,0.83473,-1.34455,11.3223,2.87195,7.06617,8.26948,2.25448,2.52071,4.88366,1.24482,-4.24509,-3.35301,-3.88943,-3.32349,-3.18154,-3.32639,-4.08172,-3.98782,-4.62625,-4.94585,-3.27616,8.95981,4.40488,9.71012,-1.00734,32.5959 --7.83021,0.144559,0.996781,3,11,0,13.6512,10.0189,2.00849,0.770577,-0.73903,0.649303,1.13512,0.877057,1.68031,-0.239962,1.27777,11.5666,11.3231,11.7805,9.53698,8.53461,12.2988,13.3938,12.5853,-4.22711,-3.27674,-4.11821,-3.34343,-3.67733,-3.84437,-3.32761,-3.80984,19.5424,11.9256,55.3991,2.27744,-2.11502,-1.87088,9.2216,-3.37973 --5.07796,0.998467,0.263479,4,15,0,10.1417,8.34097,9.94391,-0.263008,0.0701655,0.315249,-0.69119,0.025079,0.183838,-0.631667,-1.36238,5.72564,11.4758,8.59035,2.05973,9.03869,1.46784,10.169,-5.20645,-4.72954,-3.28193,-3.9539,-3.41769,-3.73823,-3.31774,-3.52814,-4.2662,-4.35155,2.53486,12.9623,23.2674,5.83041,-14.6519,9.5411,10.0858 --6.04947,0.952915,0.402209,3,7,0,8.91294,8.33522,9.73356,-0.241892,0.0864829,0.0692865,-0.95379,-0.58936,0.820908,-1.05398,-1.51509,5.98074,9.00962,2.59864,-1.92372,9.177,-0.948551,16.3256,-6.41203,-4.70443,-3.22662,-3.75275,-3.6459,-3.75549,-3.33252,-3.23554,-4.33246,2.80214,-2.51496,11.205,-12.1289,19.8048,-3.04201,11.0664,-2.74151 --7.86723,0.590259,0.557382,3,7,0,12.5241,8.02803,0.494491,0.124484,-0.697662,0.434031,0.646969,-0.262806,-0.785538,1.27907,1.88922,8.08959,8.24265,7.89807,8.66052,7.68304,8.34795,7.63959,8.96223,-4.50793,-3.22182,-3.9235,-3.32823,-3.58157,-3.53994,-3.75821,-3.82355,-2.10529,5.0546,7.00425,1.9127,11.6881,28.7576,9.85205,5.03165 --10.0145,0.977022,0.370416,4,23,0,12.8861,1.69842,3.45276,0.673568,-1.04908,-1.48074,-1.43159,-0.469927,2.393,-1.15203,-1.5414,4.02409,-3.41423,0.0758756,-2.27927,-1.92381,-3.24453,9.96088,-3.62365,-4.90442,-3.87295,-3.71001,-3.67264,-3.12143,-3.39128,-3.54466,-4.18601,-2.9969,4.09461,22.8094,-2.19809,18.929,-2.61309,6.19636,-3.40592 --13.1435,0.973258,0.537168,3,7,0,20.4773,5.26892,0.632262,-0.416998,0.983314,2.52706,1.50661,0.714815,-1.47865,1.64769,1.89249,5.00526,6.86668,5.72087,6.31069,5.89063,6.22149,4.33402,6.46546,-4.80201,-3.22795,-3.84007,-3.3188,-3.40925,-3.42949,-4.15532,-3.85658,4.58263,6.38969,3.45502,-5.78692,1.88613,9.62592,-5.67314,13.4124 --5.57577,0.54734,0.770274,3,15,0,15.8541,3.59005,5.24519,-1.00607,0.0504308,1.57552,-0.48334,0.888089,0.69658,0.320869,-0.892955,-1.68697,11.8539,8.24824,5.27307,3.85457,1.05484,7.24374,-1.09367,-5.58547,-3.29579,-3.93864,-3.32916,-3.26164,-3.31685,-3.80001,-4.07388,-4.99572,23.7429,-14.8252,21.0965,-5.32415,3.39679,-0.402566,7.54948 --8.57252,0.857019,0.472031,3,7,0,12.8932,1.19569,0.620846,1.33673,1.43872,-1.43562,-0.357919,-1.26283,-0.318074,-0.899775,0.482373,2.02559,0.304387,0.411663,0.637066,2.08892,0.973476,0.998213,1.49517,-5.12626,-3.51764,-3.71426,-3.48414,-3.17506,-3.31684,-4.66683,-3.97961,-4.46771,-1.85386,4.94553,-3.56324,6.96375,13.266,-11.5902,15.4603 --8.78463,0.841247,0.536232,3,7,0,19.5195,0.0953597,1.67532,-1.29962,-1.44702,1.36877,0.353218,1.39829,0.429414,1.33388,-0.739264,-2.08191,2.38848,2.43793,2.33003,-2.32885,0.687111,0.814764,-1.14314,-5.63793,-3.37897,-3.74928,-3.40695,-3.12706,-3.31724,-4.69819,-4.07589,-13.7596,-8.17628,-0.696454,13.4993,0.973118,-17.3933,-0.946315,-16.5642 --7.41211,0.981739,0.589784,3,7,0,11.2497,4.82019,5.06046,1.95181,0.921003,-1.02635,-0.940588,-1.77658,0.753742,-1.02512,0.260556,14.6973,-0.373633,-4.17012,-0.367372,9.48089,0.0603838,8.63447,6.13873,-4.02024,-3.57211,-3.6942,-3.54112,-3.79424,-3.32048,-3.66009,-3.86233,2.11514,-16.3205,-23.5433,-9.48433,12.2646,-2.52005,11.2912,-0.111327 --5.48371,0.728957,0.853409,2,3,0,11.395,4.92216,13.0231,0.792266,-0.0723869,1.01317,0.258514,-0.470284,-0.744029,-0.454746,0.16263,15.2399,18.1168,-1.20239,-1.00003,3.97946,8.28882,-4.7674,7.04011,-3.98881,-3.73327,-3.69784,-3.5813,-3.26922,-3.53637,-5.8133,-3.84727,18.5099,24.251,-21.8608,-9.73363,-2.70914,3.44275,4.7813,-25.9236 --2.08955,0.623482,0.751642,2,3,0,5.32215,5.23515,8.00867,0.435895,-0.0501329,0.450116,0.0909928,0.524097,0.597543,0.0923468,0.0546979,8.72609,8.83998,9.43247,5.97472,4.83365,5.96388,10.0207,5.67321,-4.45251,-3.22505,-3.99341,-3.32118,-3.32623,-3.41865,-3.53987,-3.87108,6.90295,12.7061,25.8102,5.49171,9.41279,-7.76922,3.52468,-2.00303 --5.45894,0.753136,0.540066,3,7,0,6.49492,5.30053,5.35964,0.602996,0.0815829,-1.28834,-0.181661,0.179188,2.1896,-0.43191,-0.6898,8.53238,-1.60451,6.26092,2.98565,5.73779,4.32689,17.036,1.60346,-4.46919,-3.68276,-3.85904,-3.38342,-3.3964,-3.36257,-3.22617,-3.97611,28.2499,-4.86571,3.52938,14.6258,13.1641,23.127,20.4866,-19.0159 --5.91668,0.985186,0.500002,3,15,0,9.16459,1.88306,3.79427,0.616181,-0.0288202,1.98266,-0.218282,-0.354098,-1.21631,0.186623,0.221314,4.22102,9.4058,0.539516,2.59116,1.77371,1.05484,-2.73197,2.72278,-4.88352,-3.2314,-3.716,-3.39716,-3.16365,-3.31685,-5.3706,-3.94213,-11.0862,9.55726,4.68658,8.25371,7.11,-7.34112,4.40868,6.32415 --4.39845,0.957045,0.723755,4,15,0,8.69405,3.35558,3.74977,0.709533,1.39453,-0.84815,-0.343705,-0.344978,0.179606,0.673241,-0.0428231,6.01617,0.175209,2.06199,5.88008,8.58474,2.06676,4.02906,3.195,-4.70096,-3.52766,-3.74157,-3.32202,-3.68325,-3.32154,-4.19746,-3.92895,10.7191,-7.33107,-8.21133,10.6155,19.6635,2.34687,16.9422,-9.00978 --6.06998,0.642726,0.989311,2,3,0,8.77119,3.24988,3.98447,0.231103,-0.270316,-0.070809,-1.65672,1.59199,-0.853466,0.312829,-0.00999369,4.1707,2.96774,9.59312,4.49633,2.17281,-3.35129,-0.150733,3.21006,-4.88885,-3.34814,-4.00127,-3.34274,-3.1783,-3.39507,-4.86877,-3.92854,12.9436,0.58963,21.8029,26.8733,11.2833,4.18034,2.01452,2.77239 --6.06998,0.0954964,0.740747,2,3,0,14.0948,3.24988,3.98447,0.231103,-0.270316,-0.070809,-1.65672,1.59199,-0.853466,0.312829,-0.00999369,4.1707,2.96774,9.59312,4.49633,2.17281,-3.35129,-0.150733,3.21006,-4.88885,-3.34814,-4.00127,-3.34274,-3.1783,-3.39507,-4.86877,-3.92854,0.750801,-0.999226,13.6095,21.4457,-10.1923,-3.5107,-2.26414,-0.34346 --4.44934,0.998568,0.196871,5,47,0,9.13545,4.64764,2.21143,-0.750311,0.689593,-0.0647882,-0.392837,0.928703,-0.342143,0.624016,-0.697721,2.98839,4.50437,6.7014,6.02761,6.17263,3.77891,3.89102,3.10469,-5.01717,-3.28262,-3.87535,-3.32074,-3.43373,-3.34874,-4.21684,-3.93142,8.40194,-4.95878,11.8932,11.9702,26.6835,7.97984,-1.69279,12.1938 --11.894,0.898006,0.291484,3,7,0,13.6279,3.34763,0.911064,0.64514,0.55891,0.805943,-0.00624713,2.46809,-0.80035,2.96346,-0.464398,3.9354,4.0819,5.59622,6.04753,3.85683,3.34194,2.61846,2.92454,-4.91389,-3.29828,-3.83585,-3.32058,-3.26177,-3.3395,-4.40448,-3.93642,0.454796,1.94832,1.22075,16.5564,-7.76234,21.1242,14.6445,32.3883 --10.2967,0.989165,0.355949,3,7,0,15.2555,3.82365,1.66653,0.105091,0.89887,1.1547,-0.481157,2.15881,-1.59674,2.03559,0.73117,3.99878,5.74799,7.42137,7.21601,5.32164,3.02179,1.16263,5.04216,-4.90712,-3.24688,-3.90365,-3.31703,-3.36285,-3.33372,-4.63901,-3.88402,-18.1102,-13.0168,14.8696,-1.33402,1.42786,19.2233,3.55742,8.3772 --6.37105,1,0.514651,3,7,0,12.6872,3.97588,4.89131,-0.323313,-0.740026,0.48193,-0.275928,-0.637958,2.74037,-1.11005,0.023319,2.39445,6.33314,0.855426,-1.45371,0.35618,2.62623,17.3799,4.08994,-5.08398,-3.23542,-3.72056,-3.61214,-3.12752,-3.32776,-3.22345,-3.90587,-2.85617,6.34637,17.1474,0.800455,1.5636,-2.08673,18.5248,23.4727 --6.60698,0.683561,0.756846,3,7,0,11.5372,3.02456,2.0532,-0.431089,-1.28228,-0.875397,-1.88273,-0.996329,0.13197,-0.7805,0.128378,2.13945,1.22719,0.978894,1.42203,0.391785,-0.841058,3.29552,3.28814,-5.11314,-3.45088,-3.72245,-3.4454,-3.12812,-3.33084,-4.30263,-3.92643,-8.62062,-1.1329,2.3608,-8.90398,-5.35511,2.39857,7.33354,33.7682 --5.84131,1,0.616469,3,7,0,9.37699,3.88009,0.835783,0.546795,0.826662,-0.117691,-0.180201,1.7625,-0.604767,0.0946733,0.615591,4.33709,3.78173,5.35316,3.95922,4.571,3.72948,3.37464,4.39459,-4.87128,-3.31049,-3.82781,-3.35504,-3.30774,-3.34762,-4.29103,-3.89857,-18.6913,-1.92413,-12.4254,-7.51048,14.8365,11.271,9.00646,-7.64589 --7.89107,0.668199,0.902834,2,3,0,10.9984,2.78661,3.02416,-0.337851,0.639215,1.76585,0.681132,-0.270956,1.99652,-1.62299,-0.79663,1.7649,8.12682,1.9672,-2.12156,4.7197,4.84647,8.8244,0.377477,-5.1565,-3.2216,-3.73972,-3.66065,-3.31811,-3.37797,-3.64248,-4.01777,14.8427,11.8396,-3.68031,22.138,-6.29592,4.70971,3.95974,-19.3613 --7.97229,0.903365,0.715517,3,7,0,14.4012,3.97969,1.67768,0.168578,-0.641604,-1.62909,-0.953678,0.271915,-1.41839,1.88561,0.509189,4.26251,1.24659,4.43588,7.14314,2.90329,2.37972,1.60009,4.83395,-4.87914,-3.44957,-3.79952,-3.31692,-3.21021,-3.3247,-4.56631,-3.88856,-1.79381,11.8587,-8.61396,17.0339,17.5215,-27.571,-5.91095,-37.3047 --7.13225,0.65517,0.874352,4,21,1,11.4622,6.9312,8.65436,1.13125,-0.778007,1.16506,0.32991,-0.927843,2.42905,-0.606837,0.35021,16.7214,17.014,-1.09869,1.67941,0.198038,9.78636,27.953,9.96204,-3.90967,-3.62779,-3.69859,-3.43381,-3.12502,-3.63584,-3.71684,-3.81572,7.97448,32.9176,15.8111,-7.91491,-9.13161,-0.104977,19.3034,-13.7949 --8.84978,0.615389,0.677996,3,7,0,10.9341,6.09707,0.528979,-0.780908,0.349961,-1.35588,-0.145119,0.720078,-2.50206,0.431843,-0.046386,5.68398,5.37983,6.47797,6.3255,6.28219,6.0203,4.77353,6.07253,-4.73367,-3.25585,-3.86698,-3.31871,-3.44351,-3.42098,-4.09622,-3.86353,8.50605,22.0503,5.07485,-3.00211,13.0105,8.56691,-0.129356,13.8627 --8.84978,5.8887e-06,1.96022,1,3,1,19.0865,6.09707,0.528979,-0.780908,0.349961,-1.35588,-0.145119,0.720078,-2.50206,0.431843,-0.046386,5.68398,5.37983,6.47797,6.3255,6.28219,6.0203,4.77353,6.07253,-4.73367,-3.25585,-3.86698,-3.31871,-3.44351,-3.42098,-4.09622,-3.86353,4.03147,7.14352,-11.4072,-0.137424,9.75781,9.36186,8.14949,12.5471 --8.84978,0,4.57728,0,1,1,14.1613,6.09707,0.528979,-0.780908,0.349961,-1.35588,-0.145119,0.720078,-2.50206,0.431843,-0.046386,5.68398,5.37983,6.47797,6.3255,6.28219,6.0203,4.77353,6.07253,-4.73367,-3.25585,-3.86698,-3.31871,-3.44351,-3.42098,-4.09622,-3.86353,15.1141,4.94629,6.51624,-9.34661,0.807866,-4.97307,-16.2512,19.4204 --8.45025,1,0.451318,3,7,0,13.8972,6.21598,1.58505,0.18012,1.47574,-1.87622,0.200876,0.772255,1.08798,1.64027,-0.753173,6.50148,3.24207,7.44004,8.81589,8.5551,6.53438,7.94049,5.02216,-4.65407,-3.33471,-3.90441,-3.33046,-3.67974,-3.4434,-3.72749,-3.88445,33.3972,10.492,11.1645,11.9924,0.0821099,8.03552,5.85975,-17.0833 --6.15878,0.981744,0.47005,3,7,0,12.3559,4.07903,1.34593,-0.308326,-0.696845,1.67616,0.120079,-0.0248855,-1.03848,0.881519,-1.02694,3.66405,6.33502,4.04554,5.26549,3.14113,4.24065,2.68131,2.69684,-4.94307,-3.23538,-3.78848,-3.32927,-3.22202,-3.36023,-4.39484,-3.94287,8.55176,7.11569,-3.25035,4.47895,7.58329,9.47007,-0.781961,-20.1452 --8.28102,0.806104,0.603461,3,7,0,12.9015,5.63712,0.892025,-1.15229,-1.24678,-0.512465,0.585573,-0.189461,-2.13381,0.780578,0.889297,4.60925,5.17998,5.46811,6.33341,4.52496,6.15946,3.7337,6.43039,-4.84283,-3.26129,-3.83158,-3.31867,-3.30459,-3.42683,-4.23916,-3.85718,11.1336,14.4767,0.789947,13.1824,-9.26766,3.07492,6.23378,38.3831 --3.6486,0.428571,0.5282,3,7,0,12.198,3.61911,8.67658,1.51446,0.222515,0.433869,-0.788037,-0.454864,1.24481,-0.653458,0.951483,16.7595,7.3836,-0.327552,-2.05067,5.54978,-3.21836,14.4198,11.8747,-3.90777,-3.22342,-3.70548,-3.65532,-3.38098,-3.39037,-3.28561,-3.80933,1.0453,9.27762,-33.5406,-8.09368,11.0897,4.17557,7.04486,34.5949 --8.7511,0.973845,0.153655,5,31,0,12.0505,5.58602,2.11673,1.67761,1.95987,-0.880407,-1.61306,-0.887997,0.887674,1.03152,-0.326376,9.13707,3.72244,3.70637,7.76947,9.73454,2.17161,7.46499,4.89517,-4.41768,-3.31301,-3.77937,-3.31928,-3.82746,-3.32251,-3.77646,-3.88721,-6.71535,11.3168,4.21726,7.30799,14.9089,4.19476,15.4439,-0.618751 --9.23114,0.971403,0.24357,4,15,0,16.5135,3.14968,1.76393,1.88315,1.52589,1.61163,0.995446,-0.221603,1.82318,-0.664529,1.01941,6.47142,5.99249,2.75878,1.97749,5.84125,4.90558,6.36564,4.94785,-4.65694,-3.24167,-3.7563,-3.42107,-3.40507,-3.37986,-3.89832,-3.88606,-8.9378,18.3998,2.25287,24.769,6.40796,-10.8561,17.9733,33.7514 --7.59149,1,0.400098,3,7,0,13.2913,3.50002,9.06688,2.01289,1.51092,0.462376,0.392531,-0.572187,1.81952,-0.614237,0.222957,21.7506,7.69232,-1.68793,-2.0692,17.1993,7.05906,19.9974,5.52155,-3.71378,-3.222,-3.69489,-3.65671,-5.16071,-3.46854,-3.24147,-3.87408,6.34069,25.3676,-4.63765,2.95303,29.0528,9.85396,23.0641,2.01784 --6.44829,0.640488,0.738387,2,7,0,12.4196,4.684,6.32763,2.18607,0.609576,0.894009,-0.0421347,-0.626554,1.09339,1.8109,0.0891441,18.5166,10.341,0.719397,16.1427,8.54117,4.41739,11.6026,5.24807,-3.82684,-3.24892,-3.71855,-3.66224,-3.6781,-3.36509,-3.42616,-3.87966,-9.37953,13.4705,-1.92291,27.5826,5.69532,-32.3511,16.4028,22.0666 --9.82104,0.873336,0.443854,4,15,0,14.7305,-2.92328,0.551714,-0.656117,0.537964,-0.654707,-1.09499,0.598992,-0.317803,-1.80623,0.283933,-3.28527,-3.28449,-2.59281,-3.91981,-2.62648,-3.5274,-3.09862,-2.76663,-5.80203,-3.85822,-3.69185,-3.80957,-3.13249,-3.40153,-5.44728,-4.14581,-7.75031,11.1471,-4.77661,-0.582352,-4.83923,10.9239,13.3045,2.86181 --4.90776,1,0.561964,3,7,0,10.1511,6.77868,19.3805,1.12032,-0.58086,-0.273874,0.794043,-0.20268,0.594209,-0.496541,-0.131584,28.4912,1.47085,2.85062,-2.84455,-4.4787,22.1677,18.2948,4.22851,-3.62752,-3.43467,-3.75838,-3.71731,-3.19086,-5.16836,-3.22196,-3.90251,41.4199,-1.4013,28.5326,-4.77324,-10.6276,30.3009,5.5148,19.9297 --7.63196,0.0182769,1.06632,3,7,0,12.2711,5.18584,0.0508459,-0.999916,0.384469,0.586608,-0.704683,0.87568,0.495628,0.201186,0.316613,5.135,5.21567,5.23037,5.19607,5.20539,5.15001,5.21104,5.20194,-4.78878,-3.26029,-3.82383,-3.33028,-3.35386,-3.388,-4.03931,-3.88063,11.4011,-10.3441,-4.80282,0.67035,-1.94219,-1.72662,9.72478,-12.1394 --8.99298,0.994876,0.0931236,5,63,0,14.4763,4.79434,0.780194,0.423422,-0.997716,-0.362583,1.28385,-1.67686,-0.272214,0.591759,-2.2682,5.12469,4.51145,3.48606,5.25603,4.01593,5.79599,4.58196,3.0247,-4.78983,-3.28237,-3.77369,-3.3294,-3.27147,-3.41188,-4.12174,-3.93363,-25.3932,-1.26011,14.508,7.8973,-7.26912,24.587,-0.244397,20.277 --6.34861,0.999994,0.176079,5,31,0,10.0237,4.38459,1.27091,0.672208,-1.25027,0.56809,1.22282,-0.331638,0.353314,0.439546,-1.73217,5.23891,5.10658,3.96311,4.94322,2.79561,5.93869,4.83362,2.18315,-4.77825,-3.26338,-3.78622,-3.33431,-3.20509,-3.41762,-4.08829,-3.95803,-20.2339,10.7898,-17.8402,-9.12712,-4.66577,8.04749,-5.52856,14.5492 --6.50594,0.955578,0.337075,4,15,0,11.5538,5.45632,1.09476,0.417348,0.317052,0.761062,-0.795064,1.39668,0.900802,1.36022,1.0584,5.91322,6.2895,6.98535,6.94543,5.80342,4.58591,6.44248,6.61501,-4.71105,-3.23615,-3.88627,-3.31685,-3.40188,-3.36997,-3.8894,-3.85406,22.0704,-6.11811,-0.062388,10.2766,1.20216,-5.91258,5.54958,-18.769 --7.05095,0.959759,0.559562,3,7,0,10.6755,4.65452,2.24896,1.54026,0.783197,0.274859,-0.79003,0.705536,-1.64537,-0.930237,-0.73534,8.11851,5.27267,6.24124,2.56246,6.4159,2.87778,0.954156,3.00077,-4.50537,-3.25872,-3.85833,-3.3982,-3.45564,-3.3314,-4.67433,-3.93429,-2.79475,-8.52881,39.1573,1.02415,-1.7048,3.78328,-0.959684,12.4878 --5.72928,0.814811,0.9358,2,3,0,12.0317,3.32244,2.15663,0.28231,1.13548,1.24319,0.00227371,-0.473742,1.88941,-0.747373,0.216498,3.93128,6.00354,2.30075,1.71063,5.77126,3.32734,7.3972,3.78934,-4.91433,-3.24145,-3.74641,-3.43244,-3.39919,-3.33922,-3.78362,-3.91335,16.3445,3.35197,-0.2127,-2.7151,5.85152,12.0537,5.96371,7.2605 --4.87082,0.32557,1.00213,3,15,0,7.16066,3.51901,2.71336,0.525696,1.04589,0.989615,-0.787005,1.06304,-0.546188,-0.152485,0.145517,4.94542,6.2042,6.40343,3.10527,6.35689,1.38358,2.03701,3.91385,-4.80813,-3.23765,-3.86423,-3.37952,-3.45026,-3.31744,-4.49561,-3.91021,-2.84726,-0.831227,-8.97381,-0.392092,-5.88053,-2.28378,14.3896,-5.45143 --5.95014,0.996424,0.246546,4,15,0,8.92671,-0.412139,3.96504,0.387721,1.01501,0.435542,1.10569,-1.68164,1.12919,-0.0534419,-0.0523888,1.12519,1.3148,-7.07991,-0.624038,3.6124,3.97197,4.06515,-0.619862,-5.232,-3.44498,-3.72404,-3.55702,-3.24749,-3.35333,-4.19242,-4.05508,-13.6522,-7.13156,-12.1079,0.97993,-5.36283,24.2197,12.894,-10.784 --8.31783,0.930171,0.459043,4,23,0,11.8216,-0.360898,3.17337,-0.71106,1.31325,0.724641,0.00666212,2.10387,-0.188823,1.21907,-0.358859,-2.61736,1.93866,6.31547,3.50767,3.80653,-0.339757,-0.960104,-1.49969,-5.71015,-3.40522,-3.86102,-3.36723,-3.25877,-3.32425,-5.01895,-4.09055,-28.8967,12.5533,38.1455,14.2063,-9.51218,-10.0229,2.78755,-30.8751 --6.74798,0.919203,0.69602,3,7,0,11.6379,7.08168,3.45766,1.45278,-1.90109,-0.638607,-0.0456074,0.809465,-1.24437,0.068161,0.560946,12.1049,4.8736,9.88054,7.31736,0.50835,6.92399,2.77907,9.02124,-4.18844,-3.2704,-4.01557,-3.31725,-3.13021,-3.46185,-4.37991,-3.823,12.5424,10.3207,-21.9165,3.34284,-8.86917,-0.227415,6.11293,-3.4411 --4.64993,0.426301,1.0154,3,15,0,8.14808,8.78128,3.49178,0.899775,-0.738393,0.117334,0.54555,0.101047,-0.688647,-0.434481,1.03743,11.9231,9.19099,9.13412,7.26417,6.20297,10.6862,6.37667,12.4038,-4.20136,-3.22862,-3.9791,-3.31712,-3.43643,-3.70453,-3.89703,-3.80956,13.5311,28.7836,15.7123,2.33463,-1.55696,1.76953,20.1585,5.35769 --9.06829,0.907608,0.351444,4,31,0,11.2273,5.64274,1.79873,1.72595,-0.292912,0.353951,-0.402671,0.553574,2.00264,1.83743,1.81451,8.74725,6.2794,6.63847,8.94778,5.11587,4.91844,9.24494,8.90656,-4.4507,-3.23633,-3.87297,-3.33251,-3.34705,-3.38028,-3.60478,-3.82408,-8.59094,-5.7521,0.360174,1.81556,-0.0831919,-16.4506,4.00093,8.0753 --3.41886,1,0.495951,3,7,0,9.95792,5.23629,1.18093,0.206538,-0.397431,-0.0299312,-0.0899395,0.025273,-0.0377974,-0.410019,0.80489,5.48019,5.20094,5.26613,4.75208,4.76695,5.13007,5.19165,6.18681,-4.75397,-3.2607,-3.82498,-3.33771,-3.32146,-3.38732,-4.04179,-3.86146,-19.0983,16.487,12.0396,-0.909337,13.7641,28.3668,-19.031,-3.83585 --6.61985,0.494739,0.906242,2,3,0,7.47567,4.95846,1.07056,-0.147605,-0.814525,-1.08787,-0.386833,-0.225999,1.15829,-1.91971,0.567955,4.80044,3.79382,4.71651,2.90328,4.08645,4.54433,6.19848,5.56649,-4.82303,-3.30998,-3.80783,-3.38619,-3.27587,-3.36874,-3.9179,-3.87318,5.19523,11.3367,21.1464,-3.48666,9.95004,19.1447,1.79304,-36.4388 --7.40289,0.800297,0.391807,3,15,0,11.5441,1.69497,0.480221,0.97339,-1.44874,0.13932,1.25521,1.18686,-0.173409,0.584672,0.199615,2.16241,1.76187,2.26492,1.97574,0.999254,2.29775,1.61169,1.79083,-5.1105,-3.41609,-3.74567,-3.42114,-3.14084,-3.32379,-4.56441,-3.97015,-0.931071,-3.41564,-11.9791,7.5844,2.74724,-2.37436,-4.09675,41.0968 --8.93864,0.918977,0.405383,3,7,0,14.977,-2.63562,0.625781,1.62957,0.257043,-0.276245,0.496233,-1.59449,0.393596,0.327322,-0.179946,-1.61587,-2.80849,-3.63342,-2.43079,-2.47477,-2.32509,-2.38931,-2.74823,-5.5761,-3.80564,-3.69231,-3.68435,-3.12959,-3.36252,-5.30014,-4.14497,19.5285,-8.25652,-5.12349,12.7622,1.18499,-0.83707,10.6291,23.396 --8.016,0.998614,0.583445,4,15,0,12.1182,13.6962,8.11484,2.06402,-1.33749,-0.244488,-0.485898,-1.04466,-0.51167,-0.127533,-0.432514,30.4454,11.7123,5.21904,12.6613,2.84273,9.75327,9.54413,10.1865,-3.64028,-3.29043,-3.82347,-3.44927,-3.20731,-3.63344,-3.57903,-3.81439,39.8641,-0.235276,-20.6326,26.3365,-0.655639,8.54722,19.571,-3.36203 --8.016,0.194664,1.03997,2,3,0,10.1145,13.6962,8.11484,2.06402,-1.33749,-0.244488,-0.485898,-1.04466,-0.51167,-0.127533,-0.432514,30.4454,11.7123,5.21904,12.6613,2.84273,9.75327,9.54413,10.1865,-3.64028,-3.29043,-3.82347,-3.44927,-3.20731,-3.63344,-3.57903,-3.81439,19.8406,-2.15535,28.3171,32.9747,7.81798,26.0567,9.56223,25.9592 --6.26635,0.977434,0.203087,5,31,0,13.2023,0.818478,0.876008,-1.466,0.377974,1.18296,-0.14407,-0.58334,-0.0376807,0.449957,0.49827,-0.465749,1.85476,0.307468,1.21264,1.14959,0.692272,0.78547,1.25497,-5.42765,-3.41034,-3.71289,-3.45524,-3.14469,-3.31723,-4.70322,-3.98748,1.32294,1.91376,-9.47914,16.5119,-2.79159,4.66388,-9.81177,8.64924 --5.47343,0.973905,0.341486,3,15,0,10.8739,3.86577,7.05444,-0.912607,-0.419743,0.595907,0.362696,1.13911,0.107947,-0.985944,-0.233051,-2.57217,8.06956,11.9015,-3.08952,0.904712,6.42439,4.62727,2.22172,-5.70401,-3.22155,-4.12523,-3.73749,-3.13856,-3.43842,-4.11567,-3.95686,-4.4014,3.00968,17.4211,4.44137,4.26795,-0.539735,14.54,25.2964 --6.94605,0.98921,0.56393,3,7,0,8.45473,4.30736,0.271738,0.539301,1.47287,-0.479309,-0.201069,-1.18232,-0.0379267,0.997031,0.129775,4.45391,4.17712,3.98608,4.57829,4.7076,4.25272,4.29706,4.34263,-4.85903,-3.2946,-3.78685,-3.34107,-3.31725,-3.36055,-4.16038,-3.8998,6.09779,-7.37986,15.7157,8.0121,-0.297977,12.9809,6.37714,4.44885 --12.1305,0.521015,0.962238,2,3,0,16.2656,4.74199,5.91288,0.722157,-1.60726,2.23724,-2.02281,-0.475523,-0.268319,-1.97573,1.23639,9.01202,17.9705,1.93028,-6.9403,-4.76158,-7.21868,3.15545,12.0526,-4.4282,-3.71858,-3.739,-4.11986,-3.20351,-3.59595,-4.32333,-3.80931,-0.138963,23.4954,18.407,-14.8468,4.9072,-5.13959,23.0478,0.42184 --10.9996,0.994692,0.470613,3,7,0,17.4345,-1.46244,1.04082,-0.347864,0.472155,-1.32677,2.13108,0.328815,0.143623,1.46747,-1.72946,-1.8245,-2.84336,-1.12021,0.0649242,-0.971017,0.755615,-1.31296,-3.26249,-5.60366,-3.80942,-3.69843,-3.51557,-3.11617,-3.31708,-5.08648,-4.16879,-24.4857,2.45462,29.3404,3.334,8.52315,-14.4415,-10.1108,12.8417 --13.6125,0.903336,0.808831,3,7,0,18.6475,13.4164,1.88512,1.17305,-1.79752,-0.626464,-2.4602,0.124795,-0.739794,0.532612,2.06991,15.6277,12.2354,13.6516,14.4204,10.0278,8.7786,12.0218,17.3184,-3.96715,-3.31122,-4.23308,-3.54436,-3.86686,-3.56686,-3.40022,-3.85296,22.146,3.06298,2.53074,30.9034,-6.10432,10.9245,11.9974,50.3219 --8.06483,0.333352,1.08597,2,3,0,14.0452,13.2856,9.76738,0.388897,-0.673598,-0.387194,-2.00755,-0.613859,-0.250093,-1.12568,0.912718,17.0841,9.50371,7.28979,2.2906,6.70629,-6.32293,10.8428,22.2004,-3.89178,-3.23283,-3.89832,-3.40848,-3.48275,-3.53843,-3.47765,-3.96988,5.90377,13.3679,13.8058,1.91487,3.49444,-33.4929,2.38768,21.8629 --6.31796,0.951925,0.331904,3,7,0,10.7973,13.5761,5.06922,1.02057,-0.740877,-0.371029,-0.368238,-0.246312,0.695753,0.232424,0.498566,18.7496,11.6953,12.3275,14.7543,9.82043,11.7094,17.103,16.1034,-3.81714,-3.2898,-4.15038,-3.5653,-3.83889,-3.79077,-3.22555,-3.8353,-9.49231,12.7269,13.0963,5.42389,14.0087,17.3464,19.8222,22.4079 --5.68143,0.978441,0.505946,3,15,0,9.93353,4.5933,4.9757,-1.3674,-0.580526,0.22511,-1.65649,-0.0860897,-0.170185,-0.535251,-0.104992,-2.21047,5.71338,4.16494,1.93005,1.70478,-3.64888,3.74651,4.07089,-5.65515,-3.24767,-3.79179,-3.42305,-3.16132,-3.40614,-4.23733,-3.90633,-20.0162,-3.45433,1.1396,1.59465,4.43848,6.20399,1.22394,18.4571 --6.95846,0.694117,0.819812,3,7,0,10.3679,7.05551,3.17798,-1.38374,-0.424014,0.549664,-1.23358,-1.21553,1.74854,-0.381552,-0.929071,2.65802,8.80233,3.19257,5.84295,5.70801,3.13522,12.6123,4.10294,-5.05413,-3.22474,-3.76643,-3.32237,-3.39392,-3.33567,-3.36666,-3.90555,-1.18101,-2.69296,34.6516,12.0351,10.6364,-15.1657,5.21442,-5.07821 --15.8329,0.511984,0.642307,3,7,0,19.2883,4.77716,0.194898,1.70477,-0.0964396,3.84341,0.930082,-0.458333,1.18925,-0.802229,1.27072,5.10941,5.52623,4.68783,4.62081,4.75836,4.95843,5.00894,5.02482,-4.79139,-3.25212,-3.80696,-3.34022,-3.32085,-3.38158,-4.06536,-3.88439,33.6604,-0.540049,11.1158,11.9395,-3.30835,11.7265,26.5309,-1.94779 --16.2875,0.946983,0.319656,3,15,0,23.3732,5.1191,0.124015,1.81898,-0.465443,3.77751,1.1245,-0.621366,0.050471,-0.883675,1.44827,5.34468,5.58757,5.04204,5.00951,5.06138,5.25856,5.12536,5.29871,-4.76757,-3.25062,-3.81784,-3.33321,-3.34296,-3.39177,-4.05031,-3.87861,-21.8351,15.6835,17.2266,-14.9758,1.79365,3.66806,-3.45137,-6.39369 --14.1655,1,0.475247,3,7,0,20.2365,1.67144,0.0639933,-1.53905,-0.723368,-3.18459,0.0041625,0.775132,-0.0364456,0.91635,1.14797,1.57295,1.46765,1.72105,1.73008,1.62515,1.67171,1.66911,1.74491,-5.17896,-3.43488,-3.73506,-3.43159,-3.1587,-3.3187,-4.55501,-3.9716,-1.36463,-5.14969,-9.34102,1.66296,-5.1226,-7.56855,-6.96647,-15.8064 --10.1715,0.81411,0.800892,2,7,0,18.0035,4.54015,0.218272,-0.560428,-0.715366,1.59892,-1.76034,-1.66777,-0.297525,-1.20641,-0.621076,4.41783,4.88915,4.17612,4.27683,4.38401,4.15592,4.47521,4.40459,-4.86281,-3.26991,-3.79211,-3.34748,-3.2951,-3.35799,-4.13612,-3.89834,-0.304201,12,27.3636,-0.177011,-15.6294,1.05313,1.45653,18.7551 --8.14861,0.6,0.848376,2,5,1,14.1286,5.65136,0.705108,0.465129,-0.545742,0.833733,-1.14826,-2.53948,-0.515888,-0.230515,-0.48537,5.97932,6.23923,3.86075,5.48882,5.26655,4.84171,5.2876,5.30912,-4.70457,-3.23703,-3.78346,-3.32627,-3.35857,-3.37782,-4.02955,-3.8784,-7.93808,-1.1153,29.5908,6.84272,-1.51174,5.02779,15.5329,15.791 --7.48611,0.940126,0.532567,3,7,0,13.9121,6.30331,2.94705,-1.57794,0.442232,1.29378,-1.10573,-0.956069,-0.246189,-1.51257,0.0641936,1.65305,10.1161,3.48573,1.84571,7.60659,3.04466,5.57778,6.49249,-5.16957,-3.24391,-3.77368,-3.42661,-3.57341,-3.33411,-3.99308,-3.85612,-4.63156,-6.59129,9.78946,3.5695,17.346,26.489,20.3679,0.165306 --5.41054,1,0.766924,3,7,0,9.34339,6.22103,3.94091,1.55132,-0.359801,-0.575837,0.308786,0.653369,-0.253852,1.68717,0.476882,12.3346,3.95171,8.7959,12.87,4.80308,7.43793,5.22062,8.10038,-4.17233,-3.30347,-3.96329,-3.45922,-3.32404,-3.4881,-4.03809,-3.83278,-5.17662,-1.52335,9.11473,7.39676,4.12977,-17.8711,32.9098,-6.41722 --6.56577,0.773886,1.26892,2,3,0,8.63715,0.53512,1.696,-1.7626,0.280724,-1.00591,-0.402957,-0.413221,-0.423221,0.161668,-0.316684,-2.45426,-1.1709,-0.165704,0.809308,1.01123,-0.148297,-0.182665,-0.0019774,-5.68801,-3.64205,-3.70722,-3.4752,-3.14113,-3.32228,-4.87457,-4.03161,2.92484,-6.73904,-11.733,-17.0217,10.5094,-16.5164,-15.9269,9.62919 --5.10214,0.916454,1.21471,2,3,0,8.90894,2.94844,1.49905,-0.166109,0.979343,-0.762182,0.615982,0.91275,0.393408,-0.790867,-0.660454,2.69944,1.80589,4.3167,1.76289,4.41652,3.87183,3.53818,1.95839,-5.04947,-3.41336,-3.79609,-3.43017,-3.29727,-3.35091,-4.26725,-3.96492,4.986,-4.39597,-21.7413,14.7823,-8.93344,35.4163,9.47269,-0.631365 --5.10214,0,1.63174,0,1,1,8.50883,2.94844,1.49905,-0.166109,0.979343,-0.762182,0.615982,0.91275,0.393408,-0.790867,-0.660454,2.69944,1.80589,4.3167,1.76289,4.41652,3.87183,3.53818,1.95839,-5.04947,-3.41336,-3.79609,-3.43017,-3.29727,-3.35091,-4.26725,-3.96492,23.5581,-14.0477,31.9817,0.0533365,6.23604,22.6372,12.7507,-4.1148 --7.44583,0.0833247,1.00696,3,8,1,13.5481,7.86965,0.747865,-0.11042,-0.401905,-0.556487,-1.58086,-0.720249,1.29267,1.03231,1.11626,7.78707,7.45348,7.331,8.64169,7.56908,6.68738,8.8364,8.70447,-4.53491,-3.22302,-3.89998,-3.32797,-3.56943,-3.4505,-3.64138,-3.82607,11.7359,1.08781,40.8576,20.8741,16.0085,2.65016,-7.08683,-15.5799 --7.44583,0,2.73594,0,1,1,12.983,7.86965,0.747865,-0.11042,-0.401905,-0.556487,-1.58086,-0.720249,1.29267,1.03231,1.11626,7.78707,7.45348,7.331,8.64169,7.56908,6.68738,8.8364,8.70447,-4.53491,-3.22302,-3.89998,-3.32797,-3.56943,-3.4505,-3.64138,-3.82607,7.82884,8.72528,-7.31037,-8.64209,10.7241,-18.1563,9.31709,19.9352 --3.47072,0.988117,0.28215,4,15,0,10.7653,0.508988,7.93569,0.596358,-0.116498,0.616794,0.913709,-0.698185,0.578452,-0.57703,0.399959,5.2415,5.40367,-5.03159,-4.07014,-0.415501,7.7599,5.09941,3.68294,-4.77799,-3.25523,-3.69959,-3.82323,-3.11827,-3.50566,-4.05365,-3.91606,9.34437,-11.2079,-11.5735,-7.09036,7.00577,0.452368,0.384131,9.09048 --3.44952,0.954349,0.292095,3,7,0,7.20485,1.41061,5.96816,1.09543,0.428744,0.42047,-0.684882,-0.287406,1.47861,0.885832,-0.273183,7.94833,3.92004,-0.304675,6.69739,3.96942,-2.67687,10.2352,-0.219789,-4.52048,-3.30475,-3.70572,-3.31721,-3.2686,-3.3727,-3.52299,-4.03975,6.18054,4.31483,-6.60061,-10.327,-3.81348,-14.1734,-1.17158,-9.87545 --6.86575,0.871295,0.351565,3,15,0,9.73473,7.4538,0.606948,-0.450641,-1.2257,-0.664616,0.502686,-0.575184,-0.788296,-1.48022,-0.451234,7.18029,7.05041,7.1047,6.55539,6.70986,7.75891,6.97535,7.17993,-4.59023,-3.22603,-3.89095,-3.31765,-3.48309,-3.50561,-3.82924,-3.84516,-9.19175,20.0005,37.0545,4.80988,15.997,-5.53782,25.7243,0.625074 --5.42923,0.999654,0.375788,3,7,0,7.99516,7.62375,0.450655,-0.198846,-0.618823,0.0662723,1.00654,-0.304969,-0.537418,-0.578024,0.123189,7.53414,7.65362,7.48632,7.36326,7.34488,8.07736,7.38156,7.67927,-4.55777,-3.22212,-3.9063,-3.31738,-3.54602,-3.52381,-3.78528,-3.83812,-1.38471,0.470685,13.7806,4.65981,4.70253,5.47598,2.46135,37.1819 --4.46127,0.764074,0.633728,3,7,0,10.2199,2.32589,5.4481,-0.153974,0.635964,-0.0594068,-1.10228,0.578544,1.23595,-0.731177,0.663931,1.48703,2.00223,5.47785,-1.65763,5.79068,-3.67946,9.05945,5.94305,-5.18907,-3.40139,-3.83191,-3.62656,-3.40081,-3.40732,-3.62119,-3.86593,-11.8461,1.19078,-8.17103,-6.9923,-14.3411,5.43764,1.78479,6.40094 --6.88073,0.315827,0.541271,3,7,0,10.6286,3.64354,1.44786,-0.518401,0.629036,-1.25705,-1.85737,0.670815,0.966926,-0.651135,0.720561,2.89296,1.8235,4.61478,2.70078,4.55429,0.954325,5.04351,4.68681,-5.0278,-3.41227,-3.80478,-3.39321,-3.3066,-3.31684,-4.06088,-3.89185,-25.4928,-15.0231,19.7043,26.852,11.0999,3.38586,-3.76141,18.3405 --6.82206,0.998223,0.114903,5,31,0,10.4215,0.901085,5.17072,1.04938,-1.42898,1.36915,1.49801,-0.858938,-0.129416,0.610104,-0.536648,6.32712,7.98056,-3.54024,4.05576,-6.48777,8.64685,0.231908,-1.87377,-4.6708,-3.22153,-3.6921,-3.35265,-3.30206,-3.55846,-4.80005,-4.10635,3.95523,15.8837,14.6226,1.39107,-5.88302,5.7781,12.994,40.3192 --7.83047,0.991271,0.210277,4,15,0,9.8144,6.248,7.40597,0.484078,0.948808,-0.912481,-1.86314,0.304209,2.01047,-0.14993,-0.23848,9.83307,-0.509799,8.50096,5.13763,13.2748,-7.55034,21.1375,4.48183,-4.36041,-3.58361,-3.94987,-3.33117,-4.37401,-3.61893,-3.27074,-3.89654,3.47311,-11.7753,12.8342,7.6128,21.6859,-5.28892,16.0937,-5.50817 --5.65679,1,0.382952,3,7,0,11.0358,4.51076,0.978292,-0.0826244,0.178902,-0.520306,0.265781,-1.17622,0.440731,-0.169778,1.79597,4.42992,4.00174,3.36007,4.34466,4.68577,4.77077,4.94192,6.26774,-4.86154,-3.30145,-3.77053,-3.34597,-3.31572,-3.37559,-4.07409,-3.86002,13.1549,16.1108,0.97278,-12.7982,6.46074,17.3332,22.0325,48.701 --12.2439,0.424247,0.722963,3,7,0,15.419,11.0396,3.87699,0.607077,-0.370241,0.775402,-1.9161,0.0600006,3.51889,-0.080568,0.308014,13.3932,14.0458,11.2722,10.7272,9.60414,3.61085,24.6823,12.2337,-4.10112,-3.40428,-4.08937,-3.37424,-3.81029,-3.345,-3.44479,-3.80939,25.1784,11.974,-23.5342,29.9188,3.90168,13.2328,25.3945,2.61439 --13.0277,0.987964,0.223178,4,15,0,20.6772,-2.98587,1.20166,0.386186,0.484691,-0.199974,2.0864,-0.248942,-2.63477,1.25566,0.243661,-2.5218,-3.22617,-3.28501,-1.47699,-2.40343,-0.478728,-6.15195,-2.69307,-5.69717,-3.85166,-3.69169,-3.61377,-3.12832,-3.32587,-6.13811,-4.14247,-27.9008,-15.48,-31.4885,-5.10892,-1.17964,2.92381,-2.58219,-5.09416 --10.1913,0.956874,0.409168,4,23,0,15.8339,8.87518,2.77063,-0.139002,-1.33367,0.643013,-2.23793,-0.0289858,2.65932,-1.23267,-0.176373,8.49006,10.6567,8.79487,5.45989,5.18007,2.67469,16.2432,8.38652,-4.47285,-3.25681,-3.96324,-3.32664,-3.35192,-3.32842,-3.23696,-3.82946,4.19598,48.8307,14.4584,17.4859,19.4351,14.1956,7.12809,14.4116 --5.59802,0.97217,0.679159,2,7,0,11.8014,6.38373,6.40837,-0.526042,-1.79251,-1.19323,-0.998996,0.0102869,0.635938,0.372645,0.0442147,3.01267,-1.26293,6.44966,8.77178,-5.10335,-0.0181961,10.4591,6.66708,-5.01447,-3.65053,-3.86593,-3.32981,-3.2201,-3.32112,-3.50585,-3.8532,4.03392,3.37506,4.99547,6.06749,-16.7526,14.4969,11.3328,14.0604 --6.9441,0.362479,1.17769,2,3,0,9.3303,6.95897,5.8414,1.88106,0.291571,0.323772,-0.606817,0.158353,2.31112,-0.569799,1.29549,17.947,8.85025,7.88397,3.63054,8.66215,3.4143,20.4591,14.5264,-3.85157,-3.22514,-3.9229,-3.36375,-3.69244,-3.34092,-3.25176,-3.81916,12.2322,10.3331,18.6397,0.601064,-2.76521,2.26278,21.7492,12.4965 --5.21422,0.999432,0.31105,4,15,0,8.33646,2.2772,0.904212,-0.585666,-0.644436,0.284664,0.484655,-0.0926453,-0.716689,0.933111,-0.872697,1.74763,2.53459,2.19343,3.12093,1.69449,2.71543,1.62916,1.4881,-5.15852,-3.37088,-3.74421,-3.37901,-3.16098,-3.32899,-4.56155,-3.97984,24.4083,-9.81406,20.557,2.37657,7.87931,8.79444,8.02302,-7.36048 --9.90431,0.629633,0.586858,2,3,0,13.9468,1.72015,8.44075,0.960515,-0.883821,-2.02393,-0.607221,0.310169,-0.728023,1.15351,-0.0670848,9.82761,-15.3634,4.33821,11.4567,-5.73996,-3.40525,-4.42491,1.1539,-4.36085,-5.95076,-3.7967,-3.39891,-3.25485,-3.39702,-5.73591,-3.99085,23.3297,-24.1499,-4.92821,25.2975,-13.8097,-9.69618,-7.26375,1.84172 --5.25693,1,0.358005,3,7,0,12.1638,2.44197,1.46235,-0.301698,-1.37684,1.2398,-0.488594,0.790837,0.423764,0.574461,-0.0175705,2.00078,4.25499,3.59845,3.28203,0.428543,1.72747,3.06166,2.41627,-5.12912,-3.29165,-3.77657,-3.37395,-3.12876,-3.31902,-4.33729,-3.95105,-34.4421,-3.5766,18.6162,13.8514,1.00674,-11.8365,7.57109,16.1165 --5.09435,0.333333,0.670855,2,3,0,11.7047,-0.306971,8.46554,0.817547,-0.72265,0.394367,-1.29142,0.498037,1.02164,-0.712612,0.527203,6.61401,3.03156,3.90918,-6.33962,-6.4246,-11.2396,8.34179,4.15609,-4.64335,-3.34495,-3.78476,-4.05215,-3.29781,-3.93587,-3.68793,-3.90426,-7.81871,1.57582,-0.549729,15.2919,-13.6946,-20.6621,22.0739,-7.72202 --9.41469,0.944862,0.170629,5,31,0,15.5818,4.36652,3.71152,0.734258,-0.593643,2.89457,-1.59903,-1.54683,0.685596,-0.320227,0.992059,7.09173,15.1098,-1.37456,3.17799,2.1632,-1.56832,6.91112,8.04856,-4.59845,-3.47427,-3.69669,-3.3772,-3.17793,-3.34409,-3.83634,-3.83341,6.15303,18.6348,-11.2156,10.6182,-6.7854,10.1572,9.93317,29.4831 --8.45616,0.987077,0.27093,4,15,0,16.4274,7.31218,1.9769,-0.468979,0.568643,-0.0758851,0.80962,-2.52542,-1.15547,-1.1554,0.0616425,6.38506,7.16216,2.31967,5.02807,8.43633,8.91272,5.02794,7.43404,-4.66522,-3.22503,-3.7468,-3.3329,-3.66582,-3.57556,-4.0629,-3.84148,-8.01714,9.29293,10.186,10.0097,7.08877,30.6733,-1.91756,2.00134 --7.64193,0.995888,0.483397,3,7,0,12.1705,4.17335,5.30603,-0.448179,-0.923246,0.728544,0.17332,-2.7877,-0.629029,-0.046525,-0.00661869,1.7953,8.03902,-10.6183,3.92648,-0.725419,5.09299,0.835702,4.13823,-5.15296,-3.22153,-3.80488,-3.35587,-3.11663,-3.38606,-4.69459,-3.90469,-5.57056,1.21596,-17.1587,15.8653,6.71212,-0.774339,14.0796,0.945514 --7.06413,0.61577,0.876588,2,3,0,13.7937,3.07925,4.27281,-0.303644,0.0987057,-0.232511,-2.04861,-1.31425,-0.347041,-0.361413,-1.27551,1.78183,2.08577,-2.53629,1.535,3.501,-5.67407,1.59641,-2.37074,-5.15453,-3.39641,-3.69195,-3.44025,-3.24122,-3.5009,-4.56691,-4.12801,33.7616,4.84757,-32.0986,5.75834,5.93244,10.9562,11.279,31.9041 --6.16206,0.987082,0.526352,3,7,0,10.1344,6.07452,1.58904,1.42232,-0.552309,0.284622,0.901413,1.15048,-0.0933892,-0.643649,-1.37575,8.33466,6.5268,7.90268,5.05174,5.19688,7.50691,5.92612,3.8884,-4.48638,-3.23238,-3.92369,-3.33252,-3.35321,-3.49179,-3.95042,-3.91085,18.361,-6.14952,33.2903,-11.7625,5.99092,16.6779,14.7917,-21.9648 --6.16206,0.0822236,0.921216,2,3,0,13.4651,6.07452,1.58904,1.42232,-0.552309,0.284622,0.901413,1.15048,-0.0933892,-0.643649,-1.37575,8.33466,6.5268,7.90268,5.05174,5.19688,7.50691,5.92612,3.8884,-4.48638,-3.23238,-3.92369,-3.33252,-3.35321,-3.49179,-3.95042,-3.91085,19.6099,19.6176,16.12,9.23116,8.25279,-0.528163,6.71666,-2.10199 --7.71855,0.991034,0.123072,5,31,0,14.3273,9.39614,2.72576,-0.116924,-2.17085,-0.730481,-0.0458498,1.16033,-0.172406,0.0355918,-1.54271,9.07744,7.40503,12.5589,9.49316,3.47892,9.27117,8.92621,5.19108,-4.42269,-3.22329,-4.16434,-3.34252,-3.23999,-3.59953,-3.63319,-3.88086,-3.93408,5.43519,19.8694,2.40394,5.9335,10.1287,0.0805172,-35.629 --9.13736,0.972889,0.21849,4,15,0,15.0964,1.86508,0.254924,0.371286,1.88971,1.00743,0.552037,-1.80196,0.527843,-0.248465,0.322125,1.95973,2.1219,1.40572,1.80174,2.34681,2.0058,1.99964,1.94719,-5.13387,-3.39428,-3.72944,-3.42849,-3.18531,-3.32101,-4.50158,-3.96527,15.9908,-6.7919,-20.7246,-9.09782,-8.58184,19.2258,2.18539,0.412196 --6.07112,0.991245,0.365256,3,15,0,12.5932,1.33145,14.8451,-0.0799774,-0.442404,0.29035,1.26341,-0.623086,0.384003,-0.1807,-0.69351,0.144171,5.64173,-7.91835,-1.35106,-5.2361,20.0869,7.03202,-8.9638,-5.35132,-3.24933,-3.73877,-3.60502,-3.22693,-4.82225,-3.82301,-4.48752,15.3973,2.4158,-15.742,-5.97208,-0.999685,25.3813,-10.8056,12.6055 --5.08716,0.220373,0.636883,3,7,0,10.972,4.43806,10.3411,-0.469036,-0.844696,-0.298979,0.686356,0.507669,1.41408,0.38691,-0.667559,-0.412294,1.34629,9.68792,8.43914,-4.29703,11.5357,19.0612,-2.46524,-5.4209,-3.44288,-4.00595,-3.32539,-3.18326,-3.77552,-3.22715,-4.13222,-13.468,-7.46439,-23.5722,9.47114,-0.293908,0.767603,17.9035,-16.965 --3.78183,1,0.133248,5,31,0,9.8397,2.93535,6.86814,0.430549,0.686001,0.0519992,-0.539867,-0.632833,-0.476868,-0.0964111,0.628216,5.89242,3.29248,-1.41104,2.27318,7.64689,-0.772535,-0.339852,7.25002,-4.71309,-3.33233,-3.69646,-3.40916,-3.5777,-3.32982,-4.90327,-3.84413,4.96495,-6.90828,6.47626,-0.813377,-3.14683,9.80759,6.80918,2.84535 --5.63483,0.967224,0.237733,4,15,0,8.10822,3.68281,1.0281,-0.387058,0.53342,0.586434,-0.41241,0.343589,1.81605,1.04458,0.142438,3.28487,4.28572,4.03605,4.75674,4.23122,3.25881,5.54988,3.82925,-4.98441,-3.2905,-3.78822,-3.33763,-3.28509,-3.33792,-3.99655,-3.91234,-25.9193,14.999,6.13941,13.4847,2.06396,14.532,5.18062,-7.69519 --11.1508,0.853034,0.384632,3,7,0,13.2198,4.27353,6.07828,2.10159,1.04914,-1.22387,0.0975965,-0.74198,-1.66347,-1.44298,-0.463125,17.0476,-3.16551,-0.236426,-4.49733,10.6505,4.86675,-5.83748,1.45853,-3.89356,-3.84487,-3.70644,-3.86307,-3.95403,-3.37862,-6.06265,-3.9808,6.57313,1.39019,-6.79242,-11.4396,25.3083,-6.14672,9.38791,-14.8945 --11.7368,1,0.455079,3,7,0,14.2302,3.09311,0.64653,-1.79034,-0.46286,1.14562,-0.805248,0.383882,2.85649,1.70538,-0.144925,1.9356,3.83379,3.3413,4.19569,2.79386,2.57249,4.93992,2.99941,-5.13666,-3.30831,-3.77007,-3.34933,-3.20501,-3.32705,-4.07435,-3.93433,2.63743,11.6845,-5.84543,17.2171,1.7329,33.1035,3.51769,25.1011 --3.87503,1,0.792686,2,3,0,11.8675,3.75397,3.66586,0.481339,0.15121,0.178315,0.931788,0.211562,0.496098,1.47901,-0.397299,5.51849,4.40765,4.52953,9.17581,4.30829,7.16978,5.5726,2.29753,-4.75014,-3.28605,-3.80226,-3.3364,-3.2901,-3.47413,-3.99372,-3.95458,7.51322,1.52241,17.4189,-7.05871,0.625035,-20.5778,14.2568,8.68676 --3.87503,0,1.36854,0,1,1,12.0285,3.75397,3.66586,0.481339,0.15121,0.178315,0.931788,0.211562,0.496098,1.47901,-0.397299,5.51849,4.40765,4.52953,9.17581,4.30829,7.16978,5.5726,2.29753,-4.75014,-3.28605,-3.80226,-3.3364,-3.2901,-3.47413,-3.99372,-3.95458,-0.872395,7.6748,0.918535,17.375,17.0474,14.4277,21.3729,-8.31712 --6.17794,0.983658,0.172472,4,31,0,9.42392,9.385,4.1261,1.02381,-0.530347,-1.20664,-0.322832,0.044314,-1.06864,-1.0226,0.955328,13.6093,4.40628,9.56785,5.16564,7.19674,8.05296,4.97569,13.3268,-4.08719,-3.2861,-4.00002,-3.33074,-3.53089,-3.52239,-4.06969,-3.81203,34.1826,4.22823,1.09963,43.9865,8.68058,17.3289,-0.778792,7.24863 --7.78371,0.964703,0.286359,4,15,0,14.0395,3.52452,1.00382,-0.00980053,-0.450304,1.10527,-1.10446,-0.165589,2.16053,0.529126,-1.5255,3.51468,4.634,3.3583,4.05566,3.0725,2.41585,5.69329,1.9932,-4.95928,-3.27817,-3.77049,-3.35266,-3.21854,-3.32512,-3.9788,-3.96384,22.0536,-0.0236197,17.7176,3.36706,1.7738,5.13952,-0.394599,25.2976 --4.97721,0.921208,0.449287,3,15,0,8.9889,2.47348,1.57454,0.808053,-0.354867,-0.0598132,-0.243562,0.26552,1.58052,0.803547,-1.01116,3.74579,2.3793,2.89155,3.73869,1.91473,2.08998,4.96207,0.881369,-4.93425,-3.37949,-3.75932,-3.36078,-3.16861,-3.32174,-4.07146,-4.00009,-7.81635,15.7358,-30.2649,-8.34129,-5.29691,-6.37016,-8.22325,-4.45978 --5.89749,1,0.626569,3,7,0,8.52771,1.54975,2.83659,0.263438,0.473069,-0.119563,-0.962401,1.76974,0.211612,-0.0437357,1.39027,2.29701,1.2106,6.56976,1.42569,2.89165,-1.18019,2.15001,5.49338,-5.09509,-3.452,-3.8704,-3.44523,-3.20965,-3.33648,-4.47764,-3.87464,9.92174,22.5762,13.9895,13.8824,0.415627,-18.3737,-9.68601,-1.28095 --5.89749,0.0892616,1.06113,2,3,0,10.9711,1.54975,2.83659,0.263438,0.473069,-0.119563,-0.962401,1.76974,0.211612,-0.0437357,1.39027,2.29701,1.2106,6.56976,1.42569,2.89165,-1.18019,2.15001,5.49338,-5.09509,-3.452,-3.8704,-3.44523,-3.20965,-3.33648,-4.47764,-3.87464,-29.2176,19.601,-6.53572,-4.18638,1.81741,-1.7966,-6.83429,14.4604 --8.85578,0.987027,0.181114,4,15,0,14.2003,6.07143,3.12261,1.01832,-0.67304,0.917479,1.09603,-2.87266,1.30044,0.10867,1.12038,9.25123,8.93636,-2.89876,6.41076,3.96979,9.4939,10.1322,9.56992,-4.40814,-3.22591,-3.69155,-3.31827,-3.26862,-3.61496,-3.53104,-3.81842,-11.2043,10.5464,-15.0202,10.4338,1.79899,-4.7515,7.52452,-5.32575 --6.46985,0.992115,0.29732,3,7,0,12.4415,4.06229,1.53707,-0.347935,-1.27128,1.40117,1.07677,-1.09383,1.06239,-0.102289,0.965161,3.52749,6.21598,2.381,3.90507,2.10826,5.71736,5.69526,5.54581,-4.95789,-3.23744,-3.74808,-3.35641,-3.1758,-3.40879,-3.97856,-3.8736,-7.83459,9.68308,-11.5548,0.368303,9.32667,0.613977,11.9421,-7.19593 --4.98627,0.936019,0.490664,3,7,0,9.75026,6.61556,1.70561,-0.308014,-1.26308,1.28073,0.457718,-0.609207,0.15801,-0.0976834,0.839184,6.0902,8.79999,5.57648,6.44895,4.46123,7.39625,6.88506,8.04688,-4.69374,-3.22472,-3.83519,-3.31809,-3.30027,-3.48589,-3.83923,-3.83343,1.80468,7.41349,16.6687,-0.351048,10.5682,13.8085,12.0769,-14.8207 --6.59788,0.165512,0.70036,3,15,0,12.0344,4.53119,3.83589,1.15726,-1.95616,0.370323,1.15426,0.888833,0.165299,0.0694466,1.51452,8.97033,5.95171,7.94066,4.79758,-2.97241,8.95883,5.16526,10.3407,-4.43172,-3.2425,-3.92531,-3.33688,-3.14018,-3.57858,-4.04518,-3.81356,20.4313,18.4626,1.97677,-9.90261,-5.74703,23.8126,-4.17892,-22.0319 --4.70517,0.999487,0.151828,5,31,0,9.75484,2.27144,2.29386,-0.68438,1.25207,-0.241318,0.307313,0.8393,0.0120191,-0.345465,0.306631,0.701571,1.71789,4.19668,1.47899,5.1435,2.97637,2.29901,2.97481,-5.283,-3.41885,-3.79268,-3.44279,-3.34914,-3.33297,-4.45413,-3.93501,-7.11982,-5.23121,-12.1093,6.56858,16.1249,14.5388,3.05679,45.0127 --5.17148,0.956493,0.253494,4,15,0,11.4045,2.3535,1.92291,-0.978831,0.857505,-0.630632,0.237634,1.26579,0.0942206,0.0966274,0.419865,0.471298,1.14085,4.78751,2.53931,4.00241,2.81045,2.53468,3.16087,-5.31105,-3.45676,-3.80997,-3.39906,-3.27063,-3.33038,-4.4174,-3.92988,-33.0833,1.88731,0.0504139,6.22007,0.0884559,6.93716,-10.5279,1.11616 --7.35232,0.946261,0.378899,3,7,0,14.5945,1.84597,7.90841,1.06962,-0.222824,0.672048,2.07868,-0.99135,0.0718695,0.888937,-1.0243,10.305,7.1608,-5.99403,8.87604,0.0837884,18.285,2.41434,-6.25458,-4.3228,-3.22504,-3.70904,-3.33138,-3.12341,-4.55142,-4.43609,-4.32355,5.8965,8.41557,-35.6822,3.77384,9.82472,13.0818,7.55796,0.746705 --5.00013,0.660351,0.549569,3,7,0,12.0538,2.46414,2.07801,0.931122,0.1169,-0.286263,-0.715114,1.21867,1.39362,0.235602,-0.749074,4.39902,1.86929,4.99654,2.95373,2.70706,0.978131,5.36009,0.907562,-4.86478,-3.40945,-3.81642,-3.38449,-3.20099,-3.31684,-4.02036,-3.99919,3.78167,1.7262,-3.1694,10.8932,-3.82408,4.72972,-2.73284,20.4257 --5.5507,0.928261,0.402393,3,7,0,9.92945,4.41051,3.34145,1.16077,0.113308,0.0441444,-1.24434,1.62148,1.36591,0.726972,-0.330415,8.28917,4.55801,9.82861,6.83964,4.78912,0.252601,8.97462,3.30644,-4.49036,-3.28076,-4.01296,-3.31694,-3.32304,-3.31914,-3.62881,-3.92594,-14.2002,6.68538,-5.46659,15.95,8.19068,-21.5551,8.27458,-24.6133 --3.64354,0.592627,0.556275,2,7,0,12.5578,2.38748,9.58642,0.595242,-1.06324,-0.267541,-0.910072,0.409665,1.06978,-0.269377,0.172188,8.09372,-0.177279,6.31471,-0.194873,-7.8052,-6.33685,12.6428,4.03815,-4.50757,-3.55586,-3.86099,-3.53074,-3.40203,-3.53927,-3.36502,-3.90714,21.8724,-15.557,-18.1066,-10.2384,-16.6921,15.9575,16.7034,-26.6076 --8.4026,0.905309,0.348919,3,7,0,11.44,3.32006,2.81418,0.954315,0.0467792,0.744541,2.35132,1.17065,0.966419,-0.223192,-1.70469,6.00568,5.41533,6.61449,2.69195,3.4517,9.93711,6.03974,-1.47726,-4.70199,-3.25493,-3.87207,-3.39353,-3.23849,-3.64688,-3.93676,-4.08961,5.84144,4.01397,43.2916,1.75258,-0.882005,-1.27383,8.75163,-1.01103 --7.5851,0.944352,0.455668,3,7,0,14.4544,3.66462,2.25525,0.535316,-2.4676,-1.40035,0.469766,0.318661,-0.177285,-0.346153,-1.06558,4.87189,0.506493,4.38328,2.88396,-1.90043,4.72406,3.2648,1.26147,-4.81568,-3.50229,-3.798,-3.38684,-3.12117,-3.37414,-4.30715,-3.98727,0.226468,8.65324,1.49672,24.9119,16.1407,3.42435,17.8871,-3.61644 --5.28036,0.497418,0.648956,2,7,0,12.608,3.50304,0.921084,-0.942195,0.13694,-0.327087,-0.937368,1.10047,-0.402179,0.654293,-0.191684,2.6352,3.20177,4.51666,4.1057,3.62917,2.63965,3.1326,3.32648,-5.05671,-3.33664,-3.80188,-3.35145,-3.24844,-3.32794,-4.32672,-3.92541,1.91788,6.01935,6.25574,9.67823,-6.31639,27.0434,12.308,15.2886 --5.22386,0.972656,0.329645,4,15,0,10.6852,4.92757,3.97473,1.87512,-0.300784,1.29241,0.411501,-0.83098,1.27846,0.35431,0.971288,12.3807,10.0646,1.62465,6.33586,3.73204,6.56318,10.0091,8.78818,-4.16913,-3.24284,-3.7333,-3.31866,-3.25439,-3.44472,-3.54079,-3.82523,-10.9085,1.5146,-10.4723,14.2515,7.01643,2.16629,-3.02962,-12.0557 --5.53319,0.986294,0.499484,3,7,0,8.49844,-1.08693,2.17935,-0.736271,0.19348,-0.99563,-0.581939,-0.385165,0.168996,-0.067981,0.106609,-2.69152,-3.25676,-1.92634,-1.23509,-0.665272,-2.35518,-0.71863,-0.854594,-5.72025,-3.8551,-3.69378,-3.59707,-3.11685,-3.36335,-4.97346,-4.06431,-14.9674,9.32642,3.0287,-15.5471,-4.04377,17.1312,-20.6867,-24.1215 --3.91889,0.285726,0.776478,3,7,0,7.96577,1.25463,7.59757,0.963748,0.828311,0.0189797,-0.891399,-0.545195,0.368446,-0.450196,-0.0536848,8.57678,1.39883,-2.88753,-2.16577,7.54778,-5.51784,4.05393,0.846755,-4.46535,-3.4394,-3.69155,-3.66399,-3.56718,-3.49238,-4.19399,-4.00128,9.39134,18.4285,0.0259468,-7.49873,19.8101,7.00798,-0.799875,5.76862 --4.9674,0.985775,0.247539,4,15,0,10.0923,2.61196,4.73141,1.40249,-0.84481,1.01486,-0.116593,1.39489,1.36662,0.774349,-0.232925,9.24773,7.4137,9.21177,6.27572,-1.38518,2.06031,9.07801,1.5099,-4.40843,-3.22324,-3.98279,-3.319,-3.11708,-3.32148,-3.61953,-3.97913,43.4739,-2.41221,27.5859,6.43553,0.498611,-23.8895,-3.11376,-12.3624 --7.43838,0.841323,0.383868,3,7,0,13.417,3.22916,7.43917,2.54496,0.211344,-0.765088,0.56496,-0.505782,-0.416852,-0.0466067,-1.35117,22.1615,-2.46247,-0.533446,2.88244,4.80138,7.43199,0.128122,-6.82244,-3.70274,-3.76884,-3.70341,-3.38689,-3.32392,-3.48779,-4.81854,-4.35605,40.5429,-12.6588,16.3009,-12.3559,24.9884,22.5563,-14.109,3.09309 --6.80133,0.97893,0.429238,3,7,0,13.0221,-0.139504,1.71927,0.227013,0.130778,-1.51921,0.324815,-0.255796,-1.25339,-0.172127,-0.75054,0.250793,-2.75144,-0.579288,-0.435437,0.0853379,0.418941,-2.29442,-1.42989,-5.33814,-3.79949,-3.70297,-3.54529,-3.12343,-3.31823,-5.28084,-4.08765,-1.1887,-6.70205,5.24927,6.63945,-14.9133,2.12635,-16.2603,0.123894 --4.69808,0.666667,0.649911,1,3,0,8.632,-0.096905,2.69995,0.930335,-0.0118497,-1.07366,0.336684,-0.130569,-0.334784,0.0825858,0.0167866,2.41496,-2.99573,-0.449437,0.126073,-0.128899,0.812127,-1.00081,-0.0515819,-5.08164,-3.82605,-3.70423,-3.51209,-3.12085,-3.31698,-5.02668,-4.03345,9.41357,7.96366,-11.5814,5.53482,14.5605,-11.8802,10.0936,1.40705 --4.2504,0.916803,0.492586,2,7,0,9.69174,1.69545,2.41107,0.34122,-0.15694,-1.09736,0.947198,-0.379573,0.937343,0.165639,0.317137,2.51815,-0.950373,0.780269,2.09481,1.31705,3.97921,3.95545,2.46009,-5.06993,-3.62207,-3.71944,-3.41626,-3.1493,-3.35351,-4.20777,-3.94976,27.2582,1.82195,-3.47432,3.20669,-2.38161,7.345,10.0186,9.51483 --9.78266,0.827139,0.647269,3,15,0,14.2902,11.9202,5.23695,-0.296552,0.0263532,2.30648,-1.0411,0.191736,-0.644379,-0.195653,-0.625334,10.3672,23.9992,12.9243,10.8956,12.0582,6.46805,8.54564,8.64538,-4.31791,-4.50139,-4.18681,-3.37954,-4.16874,-3.44039,-3.66845,-3.82668,5.92227,24.5638,20.4184,22.5905,8.95398,-5.61403,17.2641,-13.7735 --5.32047,0.74866,0.69759,2,3,0,10.5627,7.48572,6.81399,-0.00704464,0.352636,1.06481,-1.22805,-0.0143177,-0.679434,0.0613931,-0.431355,7.43772,14.7413,7.38816,7.90405,9.88858,-0.882192,2.85606,4.54647,-4.56656,-3.44875,-3.9023,-3.32021,-3.84802,-3.33147,-4.36822,-3.89504,34.8991,15.3192,26.1016,-6.08236,0.13976,-1.80072,-4.91104,31.9532 --5.63624,0.844163,0.633895,2,7,0,9.24563,6.43264,4.90034,-0.738859,0.467626,1.81306,-0.71468,-0.613442,-0.112505,-0.311791,0.371284,2.81198,15.3172,3.42657,4.90476,8.72416,2.93047,5.88133,8.25205,-5.03685,-3.48923,-3.77219,-3.33497,-3.69986,-3.33223,-3.95583,-3.83099,-4.7546,30.4188,-15.2158,7.5134,3.90468,-13.7574,-2.39542,7.69718 --2.79628,0.99437,0.708017,2,3,0,8.1489,5.6429,5.07072,0.730077,0.703942,0.474331,-0.157946,-0.0628276,0.737731,0.453615,-0.0645755,9.34492,8.0481,5.32432,7.94305,9.21239,4.842,9.38372,5.31546,-4.40035,-3.22154,-3.82687,-3.32051,-3.75995,-3.37783,-3.59272,-3.87827,2.56697,7.81329,3.97506,1.55888,11.3112,13.9426,-2.26107,39.5407 --2.79628,0,1.08884,0,1,1,11.4287,5.6429,5.07072,0.730077,0.703942,0.474331,-0.157946,-0.0628276,0.737731,0.453615,-0.0645755,9.34492,8.0481,5.32432,7.94305,9.21239,4.842,9.38372,5.31546,-4.40035,-3.22154,-3.82687,-3.32051,-3.75995,-3.37783,-3.59272,-3.87827,5.25289,-3.495,2.47929,10.4452,12.9191,2.79206,27.7281,7.81637 --5.15476,0.987977,0.201207,4,15,0,6.71834,3.0007,3.36277,0.201783,-1.77002,-0.230612,0.438711,-0.0562302,0.659033,0.689118,-1.35333,3.67925,2.2252,2.81161,5.31804,-2.95147,4.47598,5.21687,-1.55025,-4.94143,-3.38827,-3.75749,-3.32852,-3.13967,-3.36676,-4.03857,-4.09266,-13.5625,-1.80728,-19.478,5.00159,8.24715,13.5255,0.372581,4.49515 --7.95289,0.945254,0.305894,3,15,0,10.4218,0.618201,2.971,1.17757,-1.25742,2.07906,0.721186,-0.394494,-0.722051,-0.644127,-0.950129,4.11677,6.79509,-0.553842,-1.2955,-3.11758,2.76085,-1.52701,-2.20463,-4.89456,-3.22878,-3.70321,-3.60119,-3.14384,-3.32965,-5.12804,-4.12069,-3.21896,7.93109,-11.3906,5.76754,-2.53132,-4.59535,-14.6359,-3.70018 --5.48126,1,0.42312,3,7,0,10.4183,6.01553,3.40572,0.452188,-0.960263,-1.53516,-0.541215,1.36986,-0.116506,0.715475,0.114798,7.55555,0.787218,10.6809,8.45223,2.74514,4.1723,5.61874,6.4065,-4.55582,-3.48164,-4.05709,-3.32555,-3.20274,-3.35842,-3.988,-3.85759,17.5597,3.84323,36.1283,17.6933,11.2057,7.63964,13.4611,8.69643 --10.4601,0.120327,0.653934,3,7,0,18.2022,-4.52007,4.80995,1.37029,-0.377362,-1.61924,-0.450221,0.999415,-0.437632,0.287073,-0.109417,2.07096,-12.3085,0.287066,-3.13926,-6.33516,-6.68561,-6.62506,-5.04636,-5.12102,-5.2837,-3.71263,-3.74165,-3.29187,-3.56092,-6.25349,-4.25773,9.21815,-16.5631,0.566173,0.409797,-7.42599,-25.5867,-5.45977,11.2263 --3.6156,0.99853,0.161332,4,15,0,12.6808,3.81639,3.34154,0.538493,0.247462,1.58512,-0.465057,-0.331306,0.532184,-0.408776,0.0750587,5.61579,9.11315,2.70932,2.45045,4.6433,2.26238,5.5947,4.0672,-4.74044,-3.22772,-3.75519,-3.40236,-3.31275,-3.32342,-3.99098,-3.90642,1.43219,8.42073,-17.5366,1.62951,1.03464,-6.7225,10.1773,26.4856 --8.23355,0.964665,0.248662,4,15,0,11.9634,8.44001,1.32418,-1.70496,0.0892319,-0.152203,-1.28117,-1.22761,-1.20608,0.700036,0.900715,6.18235,8.23847,6.81444,9.36699,8.55817,6.74352,6.84295,9.63272,-4.68479,-3.22181,-3.87966,-3.33999,-3.68011,-3.45315,-3.84392,-3.81796,6.20225,14.6975,-2.02218,-10.1641,6.89985,9.92074,7.24143,-21.6083 --8.99921,0.615406,0.355808,4,15,0,13.3381,0.512405,17.7213,1.90854,-0.627589,0.227292,0.420549,1.5218,1.65125,-0.352848,-0.272075,34.3343,4.54031,27.4806,-5.74051,-10.6093,7.96507,29.7747,-4.30912,-3.71615,-3.28137,-5.50611,-3.98758,-3.68615,-3.5173,-3.91474,-4.21978,28.3681,1.90011,5.82582,-14.9259,-8.20939,5.60316,15.8777,27.4297 --5.0852,1,0.248033,3,15,0,12.4063,4.73473,1.59634,-0.17382,-0.12203,-0.124155,0.842478,-0.674512,-0.548618,1.69306,-0.295956,4.45725,4.53653,3.65798,7.43744,4.53993,6.07961,3.85895,4.26228,-4.85868,-3.2815,-3.77811,-3.31762,-3.30561,-3.42346,-4.22137,-3.90171,8.58237,12.2171,11.9912,8.47736,0.696802,12.2674,12.3075,10.322 --5.62808,0.94461,0.379945,3,7,0,11.2483,6.6532,4.38071,1.24949,-1.16617,0.117613,-0.316773,-1.88029,0.588207,-1.29986,0.475129,12.1268,7.16843,-1.58378,0.958912,1.54457,5.26551,9.22996,8.7346,-4.18689,-3.22498,-3.69544,-3.46764,-3.15613,-3.39202,-3.60609,-3.82577,-5.75538,-4.56727,0.4386,8.96999,-5.26304,14.2961,3.13589,18.214 --4.95261,0.921679,0.517906,3,7,0,10.329,3.85296,2.53637,-0.480873,0.0793713,0.0709328,-0.494312,-1.33187,1.12565,1.51071,0.216076,2.63329,4.03287,0.474858,7.68466,4.05428,2.5992,6.70803,4.40101,-5.05692,-3.30021,-3.71511,-3.31877,-3.27385,-3.3274,-3.85907,-3.89842,3.03686,3.59659,13.2775,22.0142,7.44167,-15.3398,2.1608,5.18473 --6.27872,0.953873,0.671908,3,7,0,10.8288,4.67322,1.2456,1.33063,-0.137309,0.735533,0.209571,1.19044,0.176543,-1.75746,0.283987,6.33064,5.5894,6.15603,2.48413,4.50219,4.93426,4.89312,5.02695,-4.67046,-3.25058,-3.85526,-3.4011,-3.30304,-3.38079,-4.08048,-3.88435,7.93519,-1.72958,-9.52984,1.10405,6.47624,3.23587,1.96144,19.9104 --6.77224,0.0590027,0.92743,3,15,0,11.3696,3.48706,0.634501,1.20206,-1.09755,-0.604386,0.010625,0.979429,1.55279,0.651769,0.0371566,4.24976,3.10357,4.10851,3.9006,2.79066,3.4938,4.4723,3.51063,-4.88049,-3.3414,-3.79022,-3.35653,-3.20486,-3.34253,-4.13652,-3.92053,-10.2529,-2.87445,18.3374,2.15971,13.467,15.1874,-1.52178,-12.5171 --3.55437,0.989653,0.213603,4,15,0,9.77492,4.29725,1.77297,-0.290613,0.488882,0.323437,-0.395354,-0.656082,-0.384961,0.00650739,-0.609689,3.782,4.87069,3.13404,4.30879,5.16402,3.5963,3.61473,3.21629,-4.93035,-3.27049,-3.76502,-3.34676,-3.3507,-3.34469,-4.2562,-3.92837,9.73931,15.3216,0.100139,-7.71317,11.0392,14.2968,-15.9807,22.4177 --5.30304,0.963141,0.3173,3,7,0,9.37121,6.23531,3.34295,0.72302,-0.978811,0.318458,-1.068,-0.865796,2.11845,0.230243,-0.525316,8.65233,7.2999,3.341,7.005,2.96319,2.66502,13.3172,4.4792,-4.45884,-3.22397,-3.77006,-3.31683,-3.21312,-3.32829,-3.33117,-3.8966,3.19236,10.4224,18.5355,2.17121,4.02029,-14.1863,25.2172,-3.86707 --10.5849,0.370686,0.445516,3,7,0,12.3487,8.84279,1.12552,0.0928223,0.243631,1.1234,-1.51078,-0.872587,3.01784,0.759962,-0.0537925,8.94727,10.1072,7.86068,9.69814,9.117,7.14238,12.2394,8.78225,-4.43367,-3.24373,-3.92191,-3.34692,-3.74798,-3.47274,-3.38744,-3.82529,16.8326,11.1848,-3.11998,20.2658,21.762,5.05073,8.24168,18.4279 --9.53077,0.995,0.194224,4,15,0,18.0112,1.26428,2.63347,1.45323,0.162087,1.42105,-0.624973,-1.60468,-1.92664,-0.532877,-1.03063,5.0913,5.00656,-2.9616,-0.139033,1.69113,-0.381566,-3.80945,-1.44986,-4.79323,-3.26633,-3.69153,-3.52744,-3.16087,-3.32472,-5.59979,-4.08847,20.4673,15.1738,-30.2359,-0.112888,1.59845,1.00122,8.43843,-12.9304 --9.63708,0.981645,0.289969,4,15,0,14.152,6.54619,8.20115,-0.45782,-0.128116,-1.01083,0.930445,1.22996,2.47637,0.888472,0.439598,2.79154,-1.74382,16.6333,13.8327,5.49549,14.1769,26.8552,10.1514,-5.03914,-3.69623,-4.44439,-3.50975,-3.3766,-4.03432,-3.6136,-3.81458,-15.93,-12.3367,1.62723,10.0473,4.09319,1.56051,37.6876,7.19634 --8.16287,1,0.420165,3,7,0,13.0704,2.52415,0.454091,1.35828,-0.593993,1.90498,-0.227976,0.0683981,-1.31958,-0.668118,0.370345,3.14094,3.38919,2.55521,2.22077,2.25443,2.42063,1.92495,2.69232,-5.00026,-3.32782,-3.7518,-3.41122,-3.18154,-3.32517,-4.51356,-3.943,-4.03437,-11.5997,-28.8406,13.921,8.12039,6.58948,-7.17525,-17.7324 --7.19124,0.579389,0.62868,3,11,0,11.9287,-0.356583,1.34452,1.29824,-0.654078,1.25473,-0.295838,-0.819563,0.356885,-1.45019,-0.32854,1.38893,1.33042,-1.4585,-2.30639,-1.236,-0.754342,0.123254,-0.79831,-5.20065,-3.44394,-3.69617,-3.67472,-3.11651,-3.32955,-4.81941,-4.06208,-7.52693,7.41576,-8.21465,-8.988,11.4336,8.90375,3.76747,-40.3822 --3.85017,1,0.415796,3,7,0,8.47168,7.81521,5.33689,0.414445,-0.204918,0.250362,0.050344,0.196983,-0.460316,1.12744,0.368786,10.0271,9.15136,8.86649,13.8322,6.72158,8.08389,5.35855,9.78338,-4.34483,-3.22815,-3.96655,-3.50972,-3.48421,-3.5242,-4.02055,-3.81689,2.44429,9.0372,28.8726,18.9119,6.32345,-6.40834,12.5414,-8.80079 --4.78494,0.759622,0.619802,3,7,0,9.21154,4.94313,9.14084,0.420269,0.655754,1.28871,-0.0872622,0.0271555,1.27995,-0.817106,-0.129236,8.78474,16.723,5.19136,-2.5259,10.9373,4.14548,16.6429,3.76181,-4.44749,-3.60198,-3.82258,-3.6918,-3.99578,-3.35772,-3.23073,-3.91404,-31.0765,29.7885,2.31764,10.8377,22.7438,12.4103,11.9593,-14.5164 --3.03267,1,0.580989,3,7,0,5.8578,4.71786,5.09373,0.67693,-0.758471,-0.159561,0.0562341,0.238564,0.144121,1.25156,0.282737,8.16596,3.9051,5.93304,11.093,0.85441,5.0043,5.45198,6.15805,-4.50119,-3.30536,-3.84739,-3.38606,-3.13739,-3.38309,-4.00879,-3.86198,11.0265,-8.00809,29.0034,0.991244,0.483445,28.6956,-5.89979,22.5043 --5.84424,0.118973,0.861537,3,15,0,7.06776,4.70227,2.69594,1.54029,-1.51435,-0.876882,0.78526,-0.317492,1.13485,1.02697,-0.292615,8.85479,2.33826,3.84633,7.47091,0.619688,6.81928,7.76176,3.9134,-4.44152,-3.3818,-3.78307,-3.31775,-3.13236,-3.45677,-3.74563,-3.91023,3.83908,-4.10227,29.3685,-0.979764,-15.0751,10.0982,15.3564,0.872523 --6.12264,0.996031,0.23925,4,15,0,10.5828,8.80635,4.33832,-0.413539,-0.638383,0.759894,-1.06728,-1.3292,-0.0211563,-1.47432,-0.767402,7.01229,12.103,3.03984,2.41027,6.03684,4.17613,8.71457,5.47712,-4.60584,-3.3057,-3.76278,-3.40388,-3.42182,-3.35852,-3.65262,-3.87497,8.82679,12.1317,14.2902,11.4887,17.4928,22.1064,12.2463,13.12 --6.48802,0.970183,0.352244,4,15,0,10.4317,2.83779,1.08345,0.175719,0.63932,-0.712317,1.39191,-0.109968,-0.680919,0.983839,1.41783,3.02818,2.06604,2.71865,3.90373,3.53046,4.34585,2.10006,4.37394,-5.01275,-3.39758,-3.7554,-3.35645,-3.24286,-3.36309,-4.48556,-3.89906,10.813,10.8376,-27.5569,7.60495,-1.10506,12.7402,10.1751,18.6119 --4.73417,0.909523,0.49229,3,7,0,12.7469,3.50783,5.14543,0.49384,-0.984131,0.733861,-0.0294549,1.06766,1.73103,-0.44854,1.1619,6.04885,7.28387,9.00142,1.1999,-1.55594,3.35628,12.4147,9.48633,-4.69777,-3.22409,-3.97284,-3.45585,-3.11807,-3.33978,-3.3775,-3.81906,-1.85523,9.34105,13.3303,10.3078,-5.85516,10.266,-2.75994,-4.01068 --6.16969,0.842289,0.612323,3,7,0,8.79842,7.8802,3.66157,0.893225,0.817868,0.308378,-1.35168,0.57837,0.722228,-1.19434,1.24787,11.1508,9.00935,9.99794,3.50704,10.8749,2.93092,10.5247,12.4494,-4.25787,-3.22662,-4.0215,-3.36725,-3.98661,-3.33224,-3.50093,-3.80962,1.79069,13.9658,32.6867,10.175,14.2812,-13.3011,21.5743,-0.283519 --7.33074,0.743873,0.670593,3,7,0,11.5196,10.481,3.44194,0.749574,-0.592783,-0.53938,-1.5685,-0.239295,0.810408,-1.02619,1.83782,13.061,8.62448,9.65736,6.94892,8.44067,5.08233,13.2704,16.8067,-4.12293,-3.22347,-4.00443,-3.31684,-3.66633,-3.3857,-3.33337,-3.84496,27.2179,16.0905,-8.89961,-3.34502,14.7311,8.01542,33.31,10.0243 --7.29584,0.818443,0.611262,3,7,0,12.0957,-0.250871,5.75226,0.360744,0.417777,1.17595,-1.28399,-0.694923,-0.58164,-0.0457919,1.81361,1.82422,6.51349,-4.24824,-0.514278,2.15229,-7.6367,-3.59661,10.1815,-5.14959,-3.23257,-3.69457,-3.55016,-3.1775,-3.62507,-5.55359,-3.81441,15.0843,28.0223,-20.1194,12.3233,-10.839,-3.15811,8.27177,-20.5247 --5.46527,0.85668,0.64001,3,7,0,14.3499,-2.09546,9.70806,0.948378,0.0565062,0.0367751,-1.12844,-0.441943,1.45071,1.21586,1.09242,7.11145,-1.73845,-6.38587,9.70817,-1.5469,-13.0504,11.9882,8.50982,-4.59661,-3.69571,-3.71392,-3.34714,-3.11801,-4.13259,-3.40223,-3.82811,-10.6414,-0.181119,-18.0599,-10.2798,-3.14892,-11.2218,6.10291,15.2552 --5.46527,0.00860832,0.718668,3,7,0,12.3116,-2.09546,9.70806,0.948378,0.0565062,0.0367751,-1.12844,-0.441943,1.45071,1.21586,1.09242,7.11145,-1.73845,-6.38587,9.70817,-1.5469,-13.0504,11.9882,8.50982,-4.59661,-3.69571,-3.71392,-3.34714,-3.11801,-4.13259,-3.40223,-3.82811,7.08246,-18.0314,-6.04489,9.89157,-10.247,-21.5542,11.937,4.95272 --4.87422,0.997729,0.170304,4,31,0,9.2206,1.46409,2.65804,0.967549,-0.749874,0.473333,1.53623,0.454815,0.971198,-0.0527886,-0.363987,4.03587,2.72223,2.67301,1.32378,-0.529102,5.54746,4.04558,0.4966,-4.90316,-3.3608,-3.75438,-3.44997,-3.11753,-3.40229,-4.19515,-4.01352,-7.9957,7.18669,-43.4916,3.91998,-3.1107,-9.33711,6.26151,-10.6642 --3.86958,0.997698,0.248497,4,15,0,7.73219,6.56522,4.46072,-0.243868,0.62781,-0.125063,-1.06384,-0.231942,0.240778,-0.903346,-0.18859,5.47739,6.00735,5.53059,2.53564,9.3657,1.81974,7.63926,5.72397,-4.75425,-3.24138,-3.83366,-3.39919,-3.77942,-3.31961,-3.75825,-3.8701,-21.2089,-3.27585,-2.62288,16.0671,6.72584,-4.60066,4.54703,14.1372 --3.86958,0.00105933,1.4457,2,3,0,8.17402,6.56522,4.46072,-0.243868,0.62781,-0.125063,-1.06384,-0.231942,0.240778,-0.903346,-0.18859,5.47739,6.00735,5.53059,2.53564,9.3657,1.81974,7.63926,5.72397,-4.75425,-3.24138,-3.83366,-3.39919,-3.77942,-3.31961,-3.75825,-3.8701,12.6574,-1.7011,30.8141,7.33318,17.0122,6.12027,1.80458,15.9258 --3.86958,5.11378e-52,3.38231,1,1,0,6.13809,6.56522,4.46072,-0.243868,0.62781,-0.125063,-1.06384,-0.231942,0.240778,-0.903346,-0.18859,5.47739,6.00735,5.53059,2.53564,9.3657,1.81974,7.63926,5.72397,-4.75425,-3.24138,-3.83366,-3.39919,-3.77942,-3.31961,-3.75825,-3.8701,25.5831,3.24949,10.8656,18.348,-4.18801,28.2677,13.2052,4.14828 --5.69123,0.958634,0.333684,4,15,0,9.21088,1.0115,3.79825,0.204089,-1.07034,1.1047,1.57251,0.139013,1.35892,0.927294,-0.225211,1.78668,5.20743,1.5395,4.53359,-3.05393,6.98427,6.17303,0.15609,-5.15396,-3.26052,-3.73178,-3.34197,-3.1422,-3.46482,-3.92091,-4.02579,-7.859,27.5886,16.8167,8.99126,-7.40435,-12.6695,13.1181,20.3676 --4.42065,1,0.311363,4,15,0,7.75239,7.95864,3.6848,0.634001,-0.302689,-1.18495,-0.458475,0.668276,-0.645525,-0.449364,0.0243299,10.2948,3.59233,10.4211,6.30283,6.8433,6.26926,5.58001,8.0483,-4.3236,-3.31866,-4.04334,-3.31884,-3.4959,-3.43157,-3.9928,-3.83341,6.50485,24.9084,21.6897,23.4041,2.33481,5.51992,11.8919,4.36879 --5.50622,0.978256,0.417883,4,15,0,7.60469,5.37889,7.8276,1.75287,-0.117225,-0.774302,-0.800545,0.646835,-0.129485,1.34775,0.383829,19.0996,-0.682031,10.4421,15.9286,4.4613,-0.88745,4.36533,8.38335,-3.80303,-3.59841,-4.04444,-3.64625,-3.30027,-3.33155,-4.15104,-3.8295,26.2562,-8.60095,50.9258,6.15794,6.7207,-2.66399,7.99345,4.35262 --6.76953,0.925896,0.609423,3,7,0,10.7557,6.08828,7.29878,2.36569,0.277711,0.653831,1.02019,-0.644721,1.3786,0.469972,-0.947908,23.3549,10.8604,1.3826,9.5185,8.11523,13.5344,16.1503,-0.830287,-3.67494,-3.26243,-3.72904,-3.34304,-3.62905,-3.96606,-3.23863,-4.06335,13.5884,7.33373,-9.80576,10.8456,15.5484,-9.96563,21.7916,4.81433 --5.9551,0.449811,0.822672,3,15,0,10.3428,5.94877,1.73706,2.06585,0.256454,0.0117087,0.531526,1.21433,0.765834,0.584749,0.341779,9.53727,5.96911,8.05813,6.96452,6.39425,6.87206,7.27907,6.54246,-4.38448,-3.24215,-3.93036,-3.31684,-3.45366,-3.45932,-3.79622,-3.85527,7.97009,4.87795,12.0204,-10.4009,11.1046,9.80717,11.5053,-14.3141 --5.75553,0.990179,0.263749,4,15,0,11.3894,6.00804,4.40484,0.962498,-1.91762,0.561935,-0.948236,0.520921,0.787367,-1.10181,1.00507,10.2477,8.48327,8.30261,1.15476,-2.43876,1.83121,9.47626,10.4352,-4.32731,-3.22269,-3.94104,-3.45802,-3.12894,-3.31969,-3.58479,-3.81309,13.4426,9.31109,11.9157,1.19004,3.11444,-12.059,-8.96328,-7.77442 --7.29843,0.936201,0.461287,3,7,0,11.5631,7.13078,6.77664,2.71387,0.0819114,0.19,0.261005,-0.352592,0.892022,0.466586,1.86342,25.5217,8.41834,4.74139,10.2927,7.68586,8.89951,13.1757,19.7585,-3.64064,-3.2224,-3.80858,-3.36163,-3.58187,-3.57469,-3.33789,-3.9022,7.2156,25.6145,46.0125,9.71987,9.91401,9.66458,0.603896,41.3674 --8.99064,0.932607,0.697478,3,7,0,12.4624,3.32574,1.25578,-2.11541,-1.03531,0.227491,1.09851,0.0883242,-0.237432,-0.60768,-1.98573,0.669255,3.61142,3.43665,2.56263,2.02562,4.70522,3.02758,0.832109,-5.28692,-3.31782,-3.77245,-3.3982,-3.17267,-3.37356,-4.34239,-4.00178,24.6905,-7.28673,2.19861,-14.0498,-4.19463,15.984,-7.00889,-4.73792 --5.18719,0.945078,1.05638,2,3,0,10.9513,5.96007,8.40498,2.25403,0.152091,-0.0792117,-1.2219,-0.273259,0.973128,0.39842,1.07827,24.9052,5.2943,3.66334,9.30879,7.2384,-4.30997,14.1392,15.0229,-3.64827,-3.25813,-3.77825,-3.33886,-3.53512,-3.43335,-3.29605,-3.82341,6.516,9.99166,-2.55797,13.9928,4.13817,-12.0705,21.4813,21.1646 --10.777,0.00512385,1.67544,1,3,1,13.0311,0.979924,1.53486,1.19353,0.132227,1.43053,0.575998,-1.85027,1.92181,-1.68644,1.57089,2.81182,3.17558,-1.85998,-1.60851,1.18287,1.864,3.92962,3.39101,-5.03687,-3.3379,-3.69407,-3.62306,-3.14558,-3.31992,-4.2114,-3.92368,-8.24733,4.19223,4.99825,-1.39175,-9.99707,-3.06838,-10.5266,26.4115 --9.63734,0.999718,0.137979,4,15,0,12.8569,1.18757,1.46701,1.02631,0.256749,0.974878,0.512236,-1.88298,1.69943,-1.63697,1.51864,2.69317,2.61772,-1.57478,-1.21388,1.56422,1.93902,3.68065,3.41543,-5.05018,-3.36637,-3.69549,-3.59563,-3.15675,-3.32048,-4.24674,-3.92304,20.0801,-11.6824,16.7638,2.48681,17.9384,5.01806,14.2654,-5.092 --6.57454,1,0.263443,4,15,0,13.2623,1.9097,2.8037,-0.18275,1.39476,-0.046359,-0.364039,1.5554,0.237715,-1.43377,-0.155532,1.39732,1.77972,6.27057,-2.11017,5.8202,0.889038,2.57618,1.47363,-5.19966,-3.41498,-3.85939,-3.65979,-3.40329,-3.31688,-4.41099,-3.9803,15.6835,-9.92267,-8.18229,11.8567,29.0821,0.571504,-5.35663,-31.4246 --11.9047,0.778738,0.50242,3,7,0,17.0023,6.7322,1.9178,-0.538543,2.88525,1.10042,0.505134,0.287396,1.94872,-1.76411,-0.092085,5.69938,8.84259,7.28337,3.34899,12.2655,7.70095,10.4695,6.5556,-4.73214,-3.22507,-3.89807,-3.37192,-4.20243,-3.50238,-3.50507,-3.85505,18.163,9.82603,15.3106,4.10304,25.4051,-10.3491,17.6723,10.7339 --11.4347,0.981993,0.480459,4,15,0,16.7897,9.11424,1.47113,-1.36354,1.81387,0.849684,1.117,0.329681,0.795516,-2.42298,0.613651,7.1083,10.3642,9.59924,5.54973,11.7827,10.7575,10.2845,10.017,-4.59691,-3.24947,-4.00157,-3.32553,-4.12479,-3.71026,-3.51916,-3.81538,21.0574,-2.75267,19.7365,-0.367319,17.4753,32.7638,17.0378,28.4226 --10.8888,0.812354,0.861181,3,11,0,17.8744,-2.08968,0.348038,1.50398,-0.555039,-1.15332,-0.214335,-0.203283,0.874168,-2.04524,0.382545,-1.56623,-2.49107,-2.16043,-2.8015,-2.28285,-2.16427,-1.78543,-1.95654,-5.56957,-3.77184,-3.6929,-3.71381,-3.12632,-3.35821,-5.17884,-4.1099,24.0222,-0.342631,-1.31553,12.2046,-6.89207,-3.05604,-4.37575,-13.0843 --11.7832,0.55299,0.913158,4,19,1,21.2295,9.87213,0.850261,-2.27754,0.917912,0.471413,-1.50123,0.10185,1.36762,-0.382786,1.88788,7.93563,10.273,9.95873,9.54666,10.6526,8.59569,11.035,11.4773,-4.52161,-3.24736,-4.01951,-3.34363,-3.95433,-3.55524,-3.46408,-3.80973,14.3516,7.75533,-8.81225,15.1051,12.8693,0.248342,1.66491,9.53362 --7.55457,0.975102,0.441325,3,7,0,17.8693,8.78426,1.21135,-1.6579,0.347309,0.164046,-1.49586,0.302806,0.947658,0.217187,1.12081,6.77597,8.98298,9.15107,9.04735,9.20497,6.97226,9.93221,10.142,-4.62801,-3.22635,-3.9799,-3.33415,-3.75901,-3.46422,-3.54697,-3.81464,14.1546,5.6671,12.2879,11.7652,1.84588,-7.98964,10.931,-3.91103 --9.00671,0.726813,0.768289,3,7,0,12.6951,5.60243,0.371688,-1.23624,-1.16526,1.47079,0.49793,-0.172104,1.50498,0.211501,1.51979,5.14293,6.1491,5.53846,5.68104,5.16931,5.7875,6.16181,6.16732,-4.78798,-3.23865,-3.83392,-3.32402,-3.3511,-3.41155,-3.92224,-3.86181,28.8816,-5.41893,-11.9986,10.4184,14.7654,15.3374,25.0166,-1.35909 --7.06169,0.874065,0.63276,3,7,0,13.8529,4.50832,0.828928,-1.14789,-0.650046,1.64312,0.565791,-0.718133,-0.391713,0.614936,1.29688,3.5568,5.87035,3.91304,5.01806,3.96948,4.97732,4.18362,5.58334,-4.9547,-3.2442,-3.78487,-3.33307,-3.26861,-3.3822,-4.17599,-3.87285,3.20146,-17.844,11.8435,10.2868,-5.90392,17.426,-16.5465,31.4634 --6.7878,0.35684,0.808533,2,7,0,11.7732,2.27839,10.99,0.147212,1.01814,-1.17057,-0.721531,-0.651557,1.34966,0.0837831,0.500741,3.89625,-10.5862,-4.88226,3.19917,13.4678,-5.65128,17.1112,7.78156,-4.91808,-4.94876,-3.69845,-3.37653,-4.40824,-3.49964,-3.22547,-3.83677,0.758251,-13.4375,-9.8512,17.0799,13.4071,3.65424,20.6149,-15.0594 --2.93953,1,0.225985,3,7,0,8.06775,6.46804,4.03513,0.573211,0.0880198,0.269916,-0.220866,-0.382838,0.761885,0.23959,1.10097,8.78102,7.55718,4.92324,7.43482,6.82321,5.57682,9.54234,10.9106,-4.44781,-3.2225,-3.81414,-3.31762,-3.49396,-3.40339,-3.57918,-3.81114,15.4389,-5.25853,39.2286,-15.5115,8.78828,16.7161,20.6999,45.289 --6.17297,0.957242,0.418706,3,7,0,8.07488,3.67867,8.91305,1.94775,-0.326055,-0.67526,-0.361695,0.811385,0.792355,1.80536,0.542228,21.039,-2.33995,10.9106,19.7699,0.772527,0.454866,10.741,8.51158,-3.73467,-3.7561,-4.06947,-3.99068,-3.13556,-3.31806,-3.48499,-3.82809,8.12556,-4.37467,13.2015,17.499,-10.5584,0.671246,18.6746,32.9163 --6.17297,0.0878418,0.678943,3,7,0,11.5025,3.67867,8.91305,1.94775,-0.326055,-0.67526,-0.361695,0.811385,0.792355,1.80536,0.542228,21.039,-2.33995,10.9106,19.7699,0.772527,0.454866,10.741,8.51158,-3.73467,-3.7561,-4.06947,-3.99068,-3.13556,-3.31806,-3.48499,-3.82809,-5.83692,-4.0835,2.6616,30.3882,-8.38385,11.1249,0.533018,-3.42499 --7.22574,0.987522,0.0910963,6,63,0,11.5536,4.41672,1.3117,-1.60682,0.462171,0.518595,0.139895,-0.897381,-0.724671,-1.85497,-0.0305641,2.30905,5.09696,3.23963,1.98356,5.02295,4.60022,3.46617,4.37663,-5.09371,-3.26366,-3.76757,-3.42082,-3.34009,-3.37039,-4.27768,-3.899,-7.41882,9.46923,6.93496,7.96552,6.93435,10.6676,3.35729,16.0506 --10.146,0.982613,0.161793,5,31,0,18.1202,4.95199,0.247874,2.03665,0.24187,-0.531772,0.190071,1.32537,0.95806,1.95396,0.696786,5.45682,4.82018,5.28051,5.43632,5.01194,4.9991,5.18947,5.1247,-4.75631,-3.27208,-3.82545,-3.32694,-3.33927,-3.38292,-4.04207,-3.88226,-4.95822,13.1404,-5.67144,3.43622,2.83063,2.53299,-1.04464,1.61296 --12.1214,0.976524,0.280727,4,15,0,17.8997,2.70474,0.55336,-0.212148,0.367276,-2.43614,0.947272,-2.07013,-1.82351,1.17429,-0.273437,2.58734,1.35667,1.55921,3.35455,2.90797,3.22892,1.69568,2.55343,-5.06211,-3.44219,-3.73213,-3.37175,-3.21044,-3.33736,-4.55068,-3.94702,8.93777,-1.396,8.07151,-1.27292,1.7631,-3.27603,-16.4394,10.7803 --7.27966,0.970694,0.474519,3,7,0,16.55,4.08638,3.09184,-1.06378,1.00224,2.44082,-0.535426,0.0655562,1.13389,-0.0740774,0.0536206,0.797334,11.633,4.28907,3.85735,7.18515,2.43093,7.59219,4.25217,-5.2714,-3.28752,-3.7953,-3.35764,-3.52972,-3.32529,-3.76314,-3.90195,-3.1806,22.6902,5.62905,-0.647794,18.1703,-5.83724,4.75132,-4.41054 --8.77159,0.856506,0.782406,3,7,0,12.8905,10.6299,3.44596,1.5398,-2.13804,-1.49355,0.220739,0.135578,-1.15576,0.14643,-0.271548,15.936,5.48316,11.0971,11.1345,3.26229,11.3905,6.64717,9.69413,-3.95041,-3.2532,-4.07967,-3.38747,-3.22831,-3.76296,-3.86596,-3.81752,16.8551,12.5545,43.3404,9.92973,0.943966,2.45428,0.381196,-5.81534 --8.77159,0.000942454,0.935821,2,3,0,12.7918,10.6299,3.44596,1.5398,-2.13804,-1.49355,0.220739,0.135578,-1.15576,0.14643,-0.271548,15.936,5.48316,11.0971,11.1345,3.26229,11.3905,6.64717,9.69413,-3.95041,-3.2532,-4.07967,-3.38747,-3.22831,-3.76296,-3.86596,-3.81752,8.70387,0.517229,18.3261,15.1334,-4.94002,5.30812,16.3362,-18.6623 --10.1183,0.999136,0.10927,5,31,0,12.9196,7.90757,2.13641,1.55366,-2.56034,-1.36917,-0.263687,1.01782,-1.53579,-0.270369,0.47994,11.2268,4.98245,10.082,7.32995,2.43762,7.34422,4.62649,8.93291,-4.25219,-3.26705,-4.02578,-3.31728,-3.18911,-3.48315,-4.11578,-3.82383,21.5373,-11.7065,39.8702,-14.0849,7.08007,15.3681,1.72824,-4.66744 --6.07414,1,0.194464,4,15,0,12.386,1.69342,1.31411,0.0605501,0.744292,1.10673,0.494091,-0.0971486,2.05021,0.460993,-0.235768,1.77299,3.1478,1.56576,2.29922,2.67151,2.34272,4.38764,1.3836,-5.15556,-3.33924,-3.73224,-3.40814,-3.19937,-3.32428,-4.14801,-3.98324,-35.289,1.8036,20.186,-14.2692,2.39344,17.7853,10.8699,-6.46709 --5.02114,0.995999,0.343633,4,15,0,8.84052,-0.579509,2.62468,1.31281,0.0268757,-1.03201,-0.357976,0.169469,0.0320063,0.0976729,0.160202,2.8662,-3.2882,-0.134705,-0.323148,-0.508968,-1.51908,-0.495502,-0.159029,-5.03078,-3.85864,-3.70756,-3.53844,-3.11765,-3.34306,-4.93194,-4.03746,-4.84971,-3.43499,-5.76067,-12.7665,-6.57484,-7.01513,-0.0198092,10.5356 --6.13308,0.943811,0.595312,3,7,0,9.27028,6.51854,12.3612,1.40858,-0.927647,0.782903,0.364281,0.170878,1.13126,0.345647,1.81385,23.9303,16.1962,8.63079,10.7912,-4.9483,11.0215,20.5023,28.9399,-3.6638,-3.55741,-3.95574,-3.37623,-3.21239,-3.73183,-3.25283,-4.25215,19.6061,24.1269,30.8001,-2.83225,-28.6339,28.6953,32.4536,35.0869 --6.13308,0.0505064,0.8912,3,7,0,8.5107,6.51854,12.3612,1.40858,-0.927647,0.782903,0.364281,0.170878,1.13126,0.345647,1.81385,23.9303,16.1962,8.63079,10.7912,-4.9483,11.0215,20.5023,28.9399,-3.6638,-3.55741,-3.95574,-3.37623,-3.21239,-3.73183,-3.25283,-4.25215,23.6406,15.235,9.80825,3.27904,-3.41906,39.012,26.9752,38.6066 --5.42148,1,0.128931,5,31,0,8.52332,1.47129,4.42245,2.19595,-0.31762,0.369654,-0.671613,0.107684,0.444175,-0.211527,1.6282,11.1828,3.10607,1.94752,0.535826,0.066633,-1.49888,3.43564,8.67193,-4.25547,-3.34128,-3.73934,-3.4895,-3.12319,-3.34264,-4.28213,-3.8264,13.3484,11.9073,6.42411,-12.7654,-14.858,0.986107,9.70011,-1.23223 --5.14127,0.999263,0.224451,5,31,0,7.66829,8.16802,2.32352,-0.534105,-0.218128,-0.0168835,-0.591068,-0.759943,-0.309181,0.992699,-1.29902,6.92702,8.12879,6.40228,10.4746,7.6612,6.79466,7.44963,5.14972,-4.61381,-3.22161,-3.86419,-3.36672,-3.57923,-3.45559,-3.77807,-3.88173,-12.5422,23.2696,12.4464,25.354,12.2766,10.3459,13.3948,0.827374 --4.26446,0.964575,0.386641,4,15,0,10.9015,3.1547,3.34182,1.48359,-0.787999,-0.484403,0.399127,0.43525,1.11652,0.608383,-0.766898,8.11259,1.53592,4.60923,5.18781,0.521352,4.48851,6.88592,0.591868,-4.5059,-3.43045,-3.80461,-3.3304,-3.13045,-3.36712,-3.83914,-4.01015,-11.5143,6.55977,51.6229,-4.77341,7.98938,0.00545832,-7.36625,2.07459 --3.87293,0.809725,0.604576,3,7,0,10.6311,4.34585,2.41464,-0.19676,0.303886,0.521217,-0.654401,-0.509703,-0.564321,-0.273919,1.07322,3.87075,5.6044,3.1151,3.68443,5.07963,2.76571,2.98322,6.93729,-4.92081,-3.25022,-3.76456,-3.36226,-3.34432,-3.32972,-4.34904,-3.84886,8.39438,-1.71402,12.5166,10.2968,14.2029,-17.4123,7.06543,14.0048 --5.00877,0.967979,0.634595,3,7,0,6.45816,3.41247,2.56187,0.222534,0.273986,-0.926237,-0.210643,1.11254,0.579804,1.57628,0.514653,3.98257,1.03957,6.26264,7.4507,4.11438,2.87283,4.89785,4.73094,-4.90885,-3.46376,-3.8591,-3.31767,-3.27763,-3.33133,-4.07986,-3.89085,-9.94573,1.93361,26.5824,-9.32647,-4.58729,7.79332,4.38301,-3.6166 --9.40095,0.142746,0.990299,2,3,0,14.1665,8.11025,0.552287,0.71134,-0.621865,-0.0811372,0.74057,2.52969,-1.33567,0.616051,0.202616,8.50311,8.06544,9.50737,8.45049,7.7668,8.51926,7.37258,8.22215,-4.47172,-3.22155,-3.99706,-3.32553,-3.59059,-3.55047,-3.78623,-3.83134,8.61351,9.15567,3.38633,8.76306,5.09233,24.7393,-13.844,34.9628 --9.88142,0.999561,0.196257,4,31,0,16.1387,2.13177,0.0252242,-2.02837,0.734333,0.130419,-0.309462,0.386338,0.848785,-0.0807502,-0.0679242,2.0806,2.13505,2.14151,2.12973,2.15029,2.12396,2.15318,2.13005,-5.11991,-3.39351,-3.74316,-3.41485,-3.17742,-3.32205,-4.47713,-3.95964,4.47007,3.83325,24.034,2.37167,7.02723,4.56339,15.1802,12.0159 --13.4003,0.957486,0.331769,4,15,0,19.1658,9.40835,0.00219278,0.672062,0.522639,1.75679,-0.202845,-0.903693,-0.807642,-0.0817761,0.89475,9.40983,9.4122,9.40637,9.40817,9.4095,9.40791,9.40658,9.41031,-4.39498,-3.2315,-3.99215,-3.3408,-3.78504,-3.60895,-3.59076,-3.81966,4.48679,15.9575,20.3483,16.9004,8.70453,6.12805,6.42439,-34.1636 --12.5068,0.962092,0.501906,4,15,0,18.6997,3.73123,0.00112973,0.83397,0.0350658,-0.931052,1.02269,0.148207,0.641731,1.11071,0.978989,3.73217,3.73017,3.73139,3.73248,3.73127,3.73238,3.73195,3.73233,-4.93572,-3.31268,-3.78003,-3.36095,-3.25434,-3.34768,-4.23941,-3.9148,-8.26174,3.26441,-8.08064,-1.5708,-5.91077,15.237,8.38819,10.882 --10.5034,0.737444,0.763283,2,5,0,17.4215,8.64379,0.0236209,0.671686,-1.36933,0.0543046,-0.26946,-1.15215,-1.27307,0.415965,0.499419,8.65966,8.64507,8.61658,8.65362,8.61145,8.63743,8.61372,8.65559,-4.45821,-3.2236,-3.95509,-3.32813,-3.68641,-3.55787,-3.66203,-3.82657,17.871,15.8945,24.3791,22.7252,14.5347,27.6412,23.3883,43.2044 --7.91485,0.962162,0.669615,3,7,0,13.6124,-1.40038,5.77237,-0.62665,1.34421,1.15641,0.112447,1.50909,0.13646,-0.385427,-0.545751,-5.01764,5.27484,7.31061,-3.62521,6.35889,-0.7513,-0.612687,-4.55066,-6.04958,-3.25866,-3.89916,-3.78334,-3.45044,-3.32951,-4.95368,-4.23203,-25.0831,6.09959,12.3944,2.95448,-2.74491,-15.8587,-14.3509,-9.81015 --8.1088,0.748028,1.01035,2,3,0,11.9907,6.99879,0.860202,1.44556,0.585255,-0.669123,-1.72527,-1.05806,1.21411,0.082785,-1.09457,8.24227,6.42321,6.08865,7.07,7.50223,5.51471,8.04317,6.05724,-4.49447,-3.23395,-3.85286,-3.31685,-3.56238,-3.40106,-3.71722,-3.86381,9.40849,-4.38838,-13.2493,3.0628,9.38281,-0.992869,-15.4193,25.2051 --4.63179,1,0.90877,2,3,0,9.2618,6.11489,2.2128,0.0405246,-0.531591,1.25243,0.316504,1.02104,-0.246004,0.267333,0.971132,6.20456,8.88626,8.37425,6.70644,4.93858,6.81525,5.57053,8.26381,-4.68264,-3.22545,-3.94421,-3.31719,-3.33386,-3.45657,-3.99398,-3.83085,6.42319,14.5223,23.1721,6.52175,1.0138,-4.68147,-0.0870175,19.8675 --4.63179,0.00308026,1.48828,2,3,0,10.3465,6.11489,2.2128,0.0405246,-0.531591,1.25243,0.316504,1.02104,-0.246004,0.267333,0.971132,6.20456,8.88626,8.37425,6.70644,4.93858,6.81525,5.57053,8.26381,-4.68264,-3.22545,-3.94421,-3.31719,-3.33386,-3.45657,-3.99398,-3.83085,25.5812,7.26255,33.4198,4.85727,12.3374,5.8223,7.19905,49.665 --5.61746,0.995119,0.230953,4,31,0,8.07869,8.14315,0.691146,0.916077,-0.0382683,0.814385,0.241971,0.850605,0.222541,0.062325,0.910164,8.7763,8.70601,8.73105,8.18623,8.11671,8.31039,8.29696,8.77221,-4.44821,-3.22402,-3.96031,-3.32265,-3.62921,-3.53767,-3.69227,-3.82539,27.1769,13.1626,-1.06679,-10.1207,19.4791,12.926,10.198,9.79275 --4.95522,0.996514,0.374804,4,15,0,7.24719,0.971498,5.89459,-0.814284,0.366154,-0.578517,-0.362192,-0.898781,0.642719,-0.00286828,-0.746128,-3.82838,-2.43863,-4.32645,0.954591,3.12983,-1.16347,4.76006,-3.42663,-5.8782,-3.76635,-3.69496,-3.46785,-3.22144,-3.33618,-4.098,-4.17656,-1.0228,-2.20042,-33.2482,12.7712,13.3433,15.5099,1.37557,-24.1155 --2.94694,0.997934,0.606301,3,7,0,6.27116,3.31192,6.96955,0.587713,-0.243779,0.854456,0.824921,-0.517155,0.899083,0.254835,0.959564,7.40802,9.2671,-0.29242,5.08801,1.61289,9.06125,9.57813,9.99965,-4.56928,-3.22955,-3.70585,-3.33194,-3.15831,-3.58536,-3.57616,-3.81549,8.18498,13.4963,-28.6488,13.297,7.54086,12.084,1.73744,-10.3687 --2.94694,0.394101,0.977799,2,7,0,7.55017,3.31192,6.96955,0.587713,-0.243779,0.854456,0.824921,-0.517155,0.899083,0.254835,0.959564,7.40802,9.2671,-0.29242,5.08801,1.61289,9.06125,9.57813,9.99965,-4.56928,-3.22955,-3.70585,-3.33194,-3.15831,-3.58536,-3.57616,-3.81549,4.18374,-4.68822,13.7837,-5.0307,7.10968,0.306255,5.55769,-10.2432 --5.51375,0.910983,0.391658,3,7,0,7.8579,2.83239,6.19037,1.18777,-0.823128,0.70804,-1.59405,-0.78659,1.90023,0.0687375,0.943123,10.1851,7.21542,-2.03689,3.2579,-2.26308,-7.03537,14.5955,8.67067,-4.33225,-3.2246,-3.69334,-3.3747,-3.12601,-3.58364,-3.27948,-3.82642,9.31552,0.191363,22.5788,2.59131,2.88116,-6.72382,22.9554,-5.09887 --4.91129,0.996824,0.516157,3,15,0,9.32867,8.10192,4.15853,-0.258847,-0.138385,0.569501,-1.16639,-1.00271,1.14105,-0.240318,1.20284,7.0255,10.4702,3.93211,7.10255,7.52644,3.25143,12.847,13.104,-4.60461,-3.25203,-3.78538,-3.31688,-3.56493,-3.33778,-3.35429,-3.81119,6.29332,3.39386,13.8914,-4.06637,11.628,-22.6744,14.3291,23.5914 --7.77348,0.72765,0.823475,3,7,0,9.39692,-2.23605,3.07483,-0.44989,1.43745,-0.405269,1.15493,0.751434,0.0158026,0.962127,-0.728625,-3.61939,-3.48219,0.0744828,0.722328,2.18385,1.31515,-2.18746,-4.47645,-5.84873,-3.88073,-3.70999,-3.47968,-3.17874,-3.31724,-5.25919,-4.22825,6.26032,-8.67907,-26.2111,3.66701,-6.89205,32.9171,2.64471,-13.7665 --7.42248,0.841066,0.712055,3,7,0,14.8253,8.03257,3.79834,1.39035,-1.75447,-0.478861,-1.73164,-0.573351,-1.02418,-0.778656,0.688874,13.3136,6.21369,5.85478,5.07496,1.36849,1.45519,4.14237,10.6491,-4.1063,-3.23748,-3.84467,-3.33215,-3.15079,-3.31769,-4.18169,-3.81213,11.9082,21.457,-11.4435,13.5173,-4.28701,11.0468,-9.21709,4.056 --5.75265,0.628575,0.795131,2,3,0,12.5266,5.86164,1.29886,0.740567,-0.7659,-1.09382,-0.545922,-1.27401,0.0830155,-0.413,1.29277,6.82354,4.44093,4.20688,5.32522,4.86685,5.15257,5.96947,7.54076,-4.62353,-3.28486,-3.79297,-3.32842,-3.32863,-3.38809,-3.94519,-3.84,0.933361,-10.7265,0.22656,-5.48271,2.01937,12.3857,5.36906,-4.81225 --8.27359,0.627882,0.552438,3,7,0,14.4468,-1.96468,1.94442,-0.335173,0.591772,1.72685,0.0870577,1.19468,1.25127,1.00721,-1.0043,-2.6164,1.39304,0.358272,-0.00623956,-0.814029,-1.79541,0.468308,-3.91747,-5.71002,-3.43978,-3.71355,-3.51967,-3.11638,-3.34912,-4.75832,-4.20031,-27.8655,-0.309901,-16.1946,-3.26257,-29.1642,-6.26901,3.8755,-5.52519 --6.20862,0.999521,0.384869,3,7,0,11.2435,-0.492145,1.79051,-0.0197017,0.2646,1.15196,-0.873266,1.51014,0.092341,0.220699,-0.525408,-0.527421,1.57046,2.21178,-0.0969795,-0.0183759,-2.05574,-0.326807,-1.4329,-5.43546,-3.42822,-3.74458,-3.52496,-3.12211,-3.35542,-4.90088,-4.08777,-20.9696,-10.8378,21.1853,2.5535,-3.3224,-22.9479,0.638914,-10.2884 --4.1218,0.934918,0.609883,3,7,0,13.359,8.48122,3.57488,0.653709,-0.215535,-0.722604,0.492284,-0.655666,0.244507,0.478881,-0.912547,10.8182,5.898,6.13729,10.1932,7.71071,10.2411,9.3553,5.21897,-4.28302,-3.24362,-3.85459,-3.35897,-3.58454,-3.66972,-3.59518,-3.88027,9.1113,-0.637831,-23.1929,6.834,6.23321,5.11041,9.21878,8.96165 --5.10721,0.892015,0.834511,2,3,0,7.56009,8.94209,9.75731,2.02309,0.169762,-0.175767,-0.455892,-1.0084,0.56426,-0.675867,-0.28537,28.682,7.22708,-0.897169,2.34745,10.5985,4.49381,14.4477,6.15765,-3.62802,-3.22451,-3.70016,-3.40628,-3.94657,-3.36727,-3.28462,-3.86198,19.0669,2.07156,26.5994,-23.8788,29.4457,10.7855,15.6648,37.6886 --5.10721,0.00992358,1.0363,2,3,0,10.7289,8.94209,9.75731,2.02309,0.169762,-0.175767,-0.455892,-1.0084,0.56426,-0.675867,-0.28537,28.682,7.22708,-0.897169,2.34745,10.5985,4.49381,14.4477,6.15765,-3.62802,-3.22451,-3.70016,-3.40628,-3.94657,-3.36727,-3.28462,-3.86198,0.90835,10.563,-26.4323,14.1882,2.67985,5.15867,25.1716,16.0647 --5.10966,0.979565,0.190605,4,15,0,8.43306,10.1316,5.07798,1.24172,-0.280309,0.187963,-0.380335,-0.596457,1.59404,-0.729348,0.17355,16.4371,11.0861,7.10282,6.428,8.70821,8.20028,18.2261,11.0129,-3.9241,-3.26914,-3.89088,-3.31819,-3.69795,-3.53107,-3.22178,-3.81081,-30.7533,-2.95766,16.0272,0.123871,4.0908,14.0689,30.128,12.4066 --4.04805,0.999053,0.28736,4,15,0,7.08946,10.2193,6.56207,0.76687,0.188769,-0.0377154,-0.0415475,-0.288612,0.897479,-0.527166,0.0391957,15.2515,9.9718,8.3254,6.75999,11.458,9.94665,16.1086,10.4765,-3.98815,-3.24096,-3.94204,-3.31707,-4.0742,-3.64759,-3.23941,-3.81289,-6.27525,8.2379,30.6028,22.1433,-1.14987,4.32756,20.4026,39.3655 --3.8695,0.698057,0.449536,3,7,0,10.2096,4.67615,9.05169,0.334656,-0.246226,0.0191518,0.40239,0.179578,-0.0322349,-0.425493,-1.2927,7.70535,4.84951,6.30163,0.824713,2.44738,8.31846,4.38437,-7.02499,-4.54226,-3.27115,-3.86051,-3.47441,-3.18952,-3.53816,-4.14845,-4.36788,23.6833,-1.16846,12.1787,-5.62679,-5.80614,6.20769,16.6089,-26.0849 --3.91658,0.949884,0.368964,4,15,0,7.53735,4.05489,2.93918,0.206688,0.38375,0.299084,-0.38283,-0.257749,0.413699,0.76258,1.63272,4.66239,4.93395,3.29732,6.29626,5.1828,2.92968,5.27083,8.85377,-4.83731,-3.26853,-3.76898,-3.31888,-3.35213,-3.33222,-4.03168,-3.82459,-0.651799,-6.13938,-16.7496,17.399,10.5457,11.7715,-10.5446,14.7495 --6.42852,0.781371,0.516834,3,7,0,13.0777,4.14877,4.79041,0.945049,1.29323,0.0979356,-0.870394,-1.11389,-0.541444,1.04898,1.37837,8.67594,4.61792,-1.18722,9.17379,10.3439,-0.0207725,1.55503,10.7517,-4.45681,-3.27872,-3.69795,-3.33636,-3.91051,-3.32114,-4.57371,-3.81171,-5.43594,0.259629,15.7644,20.1197,6.78553,-14.6041,8.73717,-29.6856 --4.81776,0.94091,0.50604,3,7,0,10.9457,3.90796,4.95744,0.800129,0.982116,-1.07526,1.0702,0.375527,0.162145,0.281339,0.145386,7.87455,-1.42255,5.76961,5.30268,8.77674,9.21342,4.71178,4.6287,-4.52706,-3.66545,-3.84173,-3.32874,-3.70619,-3.59559,-4.10441,-3.89316,7.87658,9.07658,17.5546,8.71781,16.9235,2.38351,3.61298,26.7971 --3.5556,0.777539,0.691838,3,7,0,6.9378,3.55215,1.96746,0.431358,0.464781,-0.577539,0.949218,-0.150727,-0.00993694,-0.271918,0.212725,4.40083,2.41587,3.2556,3.01716,4.46659,5.4197,3.5326,3.97068,-4.86459,-3.37744,-3.76796,-3.38238,-3.30063,-3.39755,-4.26805,-3.9088,-2.19348,5.68089,-17.3029,5.34817,-7.2224,-5.99668,-16.7753,7.34375 --6.27777,0.611333,0.671007,3,7,0,12.3497,9.6697,2.04479,0.698874,0.873629,0.105908,-1.4545,-0.358623,1.26073,0.175188,-0.565728,11.0988,9.88626,8.93639,10.0279,11.4561,6.69554,12.2476,8.51291,-4.26177,-3.23931,-3.9698,-3.35472,-4.07391,-3.45088,-3.38697,-3.82808,-9.51518,8.89302,9.2799,10.258,21.3157,-7.10058,13.449,-24.1662 --3.93687,0.985676,0.461498,3,7,0,8.69337,7.77684,3.29133,1.25819,0.217339,0.549088,0.666075,0.0560853,0.140937,0.279103,0.470592,11.918,9.58407,7.96143,8.69546,8.49217,9.96911,8.24071,9.32571,-4.20173,-3.23407,-3.9262,-3.32871,-3.67234,-3.64925,-3.69774,-3.82035,16.8497,21.4925,21.587,6.918,10.7104,10.3362,17.6079,16.7698 --4.88054,0.688004,0.688624,2,3,0,7.18367,7.42953,1.51514,0.700282,0.270341,1.4904,0.608618,-0.0469942,0.370691,0.49975,0.210311,8.49056,9.6877,7.35833,8.18672,7.83914,8.35168,7.99118,7.74819,-4.47281,-3.23577,-3.90109,-3.32265,-3.59845,-3.54017,-3.72241,-3.83721,9.9893,4.88556,20.2384,13.9653,10.7357,23.3381,13.806,5.85564 --7.16607,0.858481,0.556138,3,7,0,10.8246,6.21681,2.27228,-0.278774,1.40804,-1.17752,-0.191611,0.77215,-1.14728,-1.25736,-0.557485,5.58336,3.54115,7.97136,3.35974,9.41629,5.78142,3.60987,4.95005,-4.74367,-3.32093,-3.92663,-3.37159,-3.78591,-3.4113,-4.2569,-3.88601,1.48445,7.64551,22.5982,-0.805814,8.35736,7.95943,3.64511,15.4819 --14.5852,0.690862,0.637038,3,7,0,18.9178,3.73063,0.363442,-0.651756,-2.50571,0.469939,0.0970744,-2.30595,0.993784,-0.891448,2.66906,3.49376,3.90143,2.89255,3.40664,2.81996,3.76592,4.09182,4.70068,-4.96156,-3.30552,-3.75934,-3.37019,-3.20624,-3.34845,-4.18871,-3.89153,-6.4206,-9.93159,-2.1123,-0.804135,10.2214,4.76726,-1.93508,1.45646 --9.12437,0.952485,0.51872,3,7,0,16.1811,3.64835,6.16425,-0.202413,1.63381,0.141443,-0.0462347,2.23274,-0.283833,-0.0581478,-0.986245,2.40063,4.52024,17.4115,3.28992,13.7196,3.36335,1.89874,-2.43111,-5.08327,-3.28207,-4.50526,-3.37371,-4.45361,-3.33991,-4.51778,-4.13069,3.63187,4.72493,22.4235,5.86836,24.4251,-2.89817,-10.2138,-8.58191 --10.418,0.808426,0.717405,3,7,0,17.569,4.30711,0.654507,1.99055,-1.60414,0.908757,-0.582448,-2.24394,1.113,0.626072,0.448346,5.60994,4.90189,2.83843,4.71687,3.25718,3.92589,5.03557,4.60055,-4.74102,-3.26951,-3.7581,-3.33837,-3.22804,-3.35221,-4.06191,-3.8938,-12.0009,-6.57264,-18.8187,6.21499,-10.8802,-8.56008,8.23359,0.192263 --9.3348,0.816345,0.740603,3,7,0,18.9171,4.2982,1.25715,-0.408072,2.07842,-0.394618,1.11042,2.26397,-0.719474,0.364154,0.373187,3.7852,3.80211,7.14435,4.756,6.91108,5.69417,3.39372,4.76735,-4.93,-3.30964,-3.89252,-3.33764,-3.50249,-3.40789,-4.28824,-3.89004,22.5045,17.0938,-14.372,-2.91272,-0.189093,-4.47539,-13.55,-0.931712 --4.4189,0.983532,0.776443,3,7,0,14.332,7.97011,3.3823,0.828109,-1.6518,0.597986,-0.626689,-0.827237,0.737277,-0.0634818,-0.0432977,10.771,9.99268,5.17215,7.7554,2.38325,5.85047,10.4638,7.82367,-4.28663,-3.24138,-3.82196,-3.31919,-3.18682,-3.41405,-3.50549,-3.83623,-16.8169,3.80895,21.9331,9.13863,-7.05178,-1.0124,-6.45065,42.2531 --4.24525,0.868257,1.13429,2,3,0,6.40616,4.19429,4.2267,-0.127794,-0.528638,-1.32799,-0.36644,0.800574,-0.223525,0.130915,0.536926,3.65414,-1.41872,7.57808,4.74763,1.95989,2.64545,3.24951,6.46372,-4.94415,-3.66509,-3.91007,-3.3378,-3.17024,-3.32802,-4.30941,-3.85661,-5.53579,7.36723,12.1815,-15.0407,1.69483,-0.994986,-14.6911,40.5717 --4.24525,0.153809,1.3143,2,7,0,9.50138,4.19429,4.2267,-0.127794,-0.528638,-1.32799,-0.36644,0.800574,-0.223525,0.130915,0.536926,3.65414,-1.41872,7.57808,4.74763,1.95989,2.64545,3.24951,6.46372,-4.94415,-3.66509,-3.91007,-3.3378,-3.17024,-3.32802,-4.30941,-3.85661,39.0953,-0.283606,4.81688,-15.0346,-0.365001,12.8676,26.9977,13.6827 --2.70441,0.971234,0.372584,3,7,0,7.36828,4.61616,4.21193,0.0546401,-0.690741,-0.6978,-0.381631,0.265802,0.166873,0.290735,0.368164,4.8463,1.67708,5.73569,5.84071,1.70681,3.00876,5.31901,6.16684,-4.81831,-3.42142,-3.84057,-3.32239,-3.16139,-3.33351,-4.02556,-3.86182,-34.3145,5.26878,11.7307,-1.81079,8.68289,7.13004,4.82114,15.8914 --4.94874,0.903907,0.530217,3,7,0,6.85471,2.96431,5.73334,0.352176,-0.595292,-0.80331,0.433239,-0.43277,0.0114428,1.58122,-0.891284,4.98346,-1.64134,0.483094,12.03,-0.448698,5.44822,3.02992,-2.14572,-4.80424,-3.6863,-3.71522,-3.42138,-3.11804,-3.3986,-4.34204,-4.11811,9.86162,17.8181,17.5792,19.2462,-16.307,26.6323,-4.1155,-12.5981 --7.31302,0.693036,0.659468,3,7,0,10.4796,4.76485,0.655495,0.0585264,0.331401,1.81107,0.300418,-0.348534,-0.0458462,-1.71635,1.0362,4.80321,5.95199,4.53639,3.63979,4.98208,4.96177,4.7348,5.44407,-4.82275,-3.2425,-3.80246,-3.36349,-3.33706,-3.38169,-4.10135,-3.87564,23.8392,7.98151,5.65424,9.48523,1.16805,-2.44135,5.74155,5.29268 --6.78574,0.990384,0.543587,3,7,0,10.6945,3.81598,7.75,0.587114,0.339924,-1.6284,-0.339496,0.287869,-0.0367027,1.6374,-0.104209,8.36611,-8.80409,6.04696,16.5058,6.45039,1.18489,3.53153,3.00836,-4.48363,-4.63341,-3.85139,-3.69023,-3.45881,-3.31698,-4.26821,-3.93408,-3.15424,-11.0248,-3.5571,7.17244,16.1284,14.3558,8.65341,3.15296 --7.88584,0.47701,0.797232,3,7,0,12.5972,3.16205,7.55628,2.11693,-0.3343,-1.83739,-1.08478,0.239173,0.0988552,0.863904,-0.403739,19.1581,-10.7218,4.9693,9.68994,0.63598,-5.03485,3.90902,0.111283,-3.80072,-4.97405,-3.81557,-3.34673,-3.13268,-3.46733,-4.2143,-4.02743,8.25895,-19.5441,-0.110531,24.6806,0.769217,-3.40235,20.2727,28.9406 --5.86888,0.558993,0.43408,3,7,0,12.0233,2.15349,3.08686,1.71981,0.128476,1.25645,1.20451,-0.285371,1.65143,0.372954,0.64333,7.46229,6.03197,1.27258,3.30474,2.55007,5.87165,7.25122,4.13935,-4.56432,-3.24089,-3.72718,-3.37326,-3.19396,-3.4149,-3.79921,-3.90466,4.94507,26.2022,0.0446789,12.959,-0.238017,7.25209,6.51953,38.2187 --7.06204,0.969454,0.278028,4,15,0,13.0593,10.2477,4.88896,1.09862,0.934157,-0.0393588,0.00583733,-0.520629,0.753561,1.29818,1.10151,15.6188,10.0553,7.70234,16.5944,14.8147,10.2762,13.9318,15.6329,-3.96764,-3.24264,-3.91524,-3.69722,-4.66003,-3.6724,-3.30427,-3.82968,14.3572,14.8327,5.08391,14.7713,1.8581,-8.13488,14.7461,-0.871088 --5.92697,0.999703,0.39089,4,15,0,10.4423,-0.879862,1.94135,-0.536525,-1.59084,0.256096,-0.132465,0.244144,0.693026,-0.553647,-0.0737252,-1.92144,-0.382691,-0.405894,-1.95468,-3.96823,-1.13702,0.465541,-1.02299,-5.61653,-3.57287,-3.70467,-3.64818,-3.17055,-3.33571,-4.75881,-4.07104,25.5979,-15.1594,12.6603,-7.12259,-21.782,-25.5593,16.446,12.7939 --6.21387,0.973904,0.580225,3,7,0,9.07475,9.22194,12.3623,1.6584,0.560095,0.361843,-0.0145058,-0.88578,0.948924,-0.454407,-0.407321,29.7237,13.6952,-1.72836,3.60441,16.146,9.04261,20.9529,4.1865,-3.63359,-3.3837,-3.69469,-3.36448,-4.93089,-3.58412,-3.26512,-3.90352,12.4644,4.89991,24.0045,-17.209,41.619,24.0985,22.2247,9.29273 --6.21387,5.60144e-09,0.817391,1,1,0,11.6069,9.22194,12.3623,1.6584,0.560095,0.361843,-0.0145058,-0.88578,0.948924,-0.454407,-0.407321,29.7237,13.6952,-1.72836,3.60441,16.146,9.04261,20.9529,4.1865,-3.63359,-3.3837,-3.69469,-3.36448,-4.93089,-3.58412,-3.26512,-3.90352,41.581,17.594,-23.9365,7.80888,13.7318,5.9977,6.45428,30.013 --7.58793,0.98343,0.18385,4,15,0,10.4851,-2.96654,2.60235,-0.658664,-1.40104,-0.01555,-0.20191,0.0182686,0.138636,1.0313,1.03602,-4.68061,-3.00701,-2.919,-0.282745,-6.61254,-3.49198,-2.60576,-0.270442,-6.00037,-3.82729,-3.69154,-3.536,-3.31061,-3.40021,-5.34451,-4.04166,-27.6838,0.0492989,11.0853,13.1487,1.76054,-6.84105,-4.35183,-9.77899 --10.9621,0.974699,0.264159,4,15,0,17.4361,4.03681,0.573488,-0.0418361,-1.27103,-2.01085,-1.1353,0.0559363,-0.637919,-0.646659,-2.57792,4.01282,2.88362,4.06889,3.66596,3.3079,3.38574,3.67098,2.55841,-4.90562,-3.35241,-3.78912,-3.36277,-3.23072,-3.34035,-4.24813,-3.94688,8.94586,11.5174,10.1051,1.04691,19.8685,3.31736,12.8353,-1.83993 --9.87739,0.992712,0.372228,4,15,0,17.6203,6.94912,11.0693,-0.0874131,-0.551423,1.38492,0.532027,-0.552939,0.635361,0.917486,2.60918,5.98151,22.2793,0.828457,17.1051,0.84524,12.8383,13.9821,35.831,-4.70435,-4.24101,-3.72015,-3.73878,-3.13718,-3.89595,-3.30224,-4.68573,-1.68153,25.8339,26.2736,15.7746,-16.4617,35.3047,6.98453,49.0132 --8.97052,0.266176,0.540722,3,7,0,18.3837,4.4008,0.178639,0.260864,0.755093,-1.92977,-0.861546,-0.461428,-0.326784,0.304812,-1.67181,4.4474,4.05606,4.31837,4.45525,4.53569,4.24689,4.34242,4.10215,-4.85971,-3.2993,-3.79613,-3.34359,-3.30532,-3.3604,-4.15417,-3.90557,15.0549,10.0505,7.73859,-0.011301,5.91837,6.88556,14.7755,21.6465 --8.55019,0.996035,0.204375,5,31,0,12.1688,-2.06607,2.81872,1.59854,1.70034,-1.40657,-0.756367,-0.335784,0.432407,0.0276398,-0.141631,2.43976,-6.03078,-3.01255,-1.98816,2.72671,-4.19805,-0.84723,-2.46529,-5.07882,-4.20584,-3.69153,-3.65066,-3.20189,-3.42849,-4.99761,-4.13222,-5.8486,-12.9431,-14.4393,18.3429,-6.92457,-8.95283,-13.1396,-3.90325 --7.13927,0.999853,0.298486,4,15,0,11.7581,11.6187,7.5255,0.382284,-1.77253,1.11155,0.371462,-0.110631,0.204255,0.626709,-0.0391621,14.4956,19.9837,10.7862,16.335,-1.72044,14.4142,13.1559,11.324,-4.03225,-3.93957,-4.06274,-3.67693,-3.11937,-4.06039,-3.33885,-3.81002,26.751,9.45161,13.9099,8.72837,-9.46371,12.4588,13.6489,18.869 --8.19859,0.953187,0.437581,3,15,0,14.5877,0.905662,1.88823,-0.793472,1.49994,1.36948,-0.246437,-0.616213,0.671155,-1.94109,-0.310329,-0.592596,3.49156,-0.257889,-2.75957,3.7379,0.440333,2.17296,0.31969,-5.44374,-3.32315,-3.70621,-3.71043,-3.25473,-3.31813,-4.474,-4.01985,-13.4387,9.08792,-31.1175,-7.04772,-2.53663,16.8757,16.8295,-15.9751 --7.52664,0.98786,0.587211,3,7,0,10.4355,9.06554,5.6192,1.58939,-1.35704,-0.867246,-0.0361454,0.504022,0.885217,1.92764,0.367906,17.9966,4.19232,11.8977,19.8973,1.44009,8.86243,14.0397,11.1329,-3.84936,-3.29402,-4.12501,-4.00419,-3.15292,-3.57228,-3.29994,-3.81047,23.1292,14.1598,0.977184,20.3555,5.84159,24.6223,28.3629,-12.9353 --7.52664,7.22299e-61,0.837212,1,1,0,15.1543,9.06554,5.6192,1.58939,-1.35704,-0.867246,-0.0361454,0.504022,0.885217,1.92764,0.367906,17.9966,4.19232,11.8977,19.8973,1.44009,8.86243,14.0397,11.1329,-3.84936,-3.29402,-4.12501,-4.00419,-3.15292,-3.57228,-3.29994,-3.81047,32.033,8.35705,-4.29583,10.5883,12.1628,14.598,16.6706,-18.7741 --7.8127,0.991724,0.198946,5,31,0,14.0118,2.83474,2.03748,-0.137203,1.1276,1.55353,-0.426097,-0.680105,1.07301,1.84249,-1.389,2.55519,6.00003,1.44904,6.58879,5.13222,1.96657,5.02099,0.00467726,-5.06574,-3.24152,-3.73019,-3.31753,-3.34829,-3.32069,-4.0638,-4.03136,15.1834,12.5163,22.1316,-6.73026,1.0623,-1.29974,-3.16339,-4.32932 --7.25763,0.99499,0.286029,4,15,0,11.4524,5.01621,4.30664,0.693038,0.841526,0.821364,-1.50875,1.25511,0.912371,1.7514,-0.784441,8.00088,8.55354,10.4215,12.5589,8.64036,-1.48143,8.94547,1.6379,-4.5158,-3.22306,-4.04336,-3.44452,-3.68985,-3.34228,-3.63145,-3.97501,-19.4606,12.866,13.9985,10.7728,13.6594,2.8147,13.1653,17.0045 --5.20099,0.889041,0.412423,3,7,0,13.3926,7.67999,2.801,0.397255,-1.1125,-1.02761,-0.851835,0.438148,-0.935577,0.597699,-0.546614,8.7927,4.80166,8.90724,9.35414,4.56388,5.294,5.05944,6.14892,-4.44681,-3.27267,-3.96845,-3.33973,-3.30725,-3.39303,-4.05881,-3.86214,10.3191,16.1306,-1.64823,2.65971,-2.01457,20.6407,-4.68382,18.9409 --5.11548,0.986939,0.490528,3,15,0,8.44594,7.4411,4.38664,1.16447,0.528138,0.0144846,-0.919164,-1.11445,1.09231,-0.39177,1.32345,12.5492,7.50464,2.5524,5.72254,9.75785,3.40906,12.2327,13.2466,-4.15749,-3.22275,-3.75174,-3.32358,-3.83055,-3.34082,-3.38783,-3.81171,-7.44967,10.1095,-12.6977,2.37774,18.5047,8.34837,-3.44741,35.5451 --4.76756,0.906501,0.693643,3,7,0,9.05286,-0.00286087,5.77299,-0.464855,-0.463783,1.07491,-0.66939,-0.372642,0.486716,1.05189,-0.580051,-2.68646,6.20261,-2.15412,6.06972,-2.68028,-3.86724,2.80695,-3.35149,-5.71956,-3.23768,-3.69292,-3.32041,-3.13359,-3.41473,-4.37567,-4.173,-29.0846,-2.02086,-16.8891,11.2663,6.70993,-7.18107,-13.6866,2.05001 --4.76756,0.0162521,0.848005,3,7,0,14.2178,-0.00286087,5.77299,-0.464855,-0.463783,1.07491,-0.66939,-0.372642,0.486716,1.05189,-0.580051,-2.68646,6.20261,-2.15412,6.06972,-2.68028,-3.86724,2.80695,-3.35149,-5.71956,-3.23768,-3.69292,-3.32041,-3.13359,-3.41473,-4.37567,-4.173,-19.7177,-3.97926,-16.2616,12.9512,-8.19026,-8.63972,0.47201,13.5562 --4.41889,0.999729,0.214446,5,31,0,7.04263,7.47636,4.12021,0.391298,-0.0602996,0.0836511,0.135836,-0.227457,0.459669,1.74467,0.692168,9.08859,7.82102,6.53919,14.6648,7.22791,8.03603,9.37029,10.3282,-4.42175,-3.22168,-3.86925,-3.5596,-3.53406,-3.5214,-3.59388,-3.81362,-4.12583,5.18075,5.2609,8.89218,12.8275,-0.127764,8.78962,-18.2437 --6.56438,0.939667,0.309848,3,15,0,9.50182,2.35828,4.7227,0.896138,-0.206657,-0.116609,0.845956,-0.169046,-1.89748,0.603779,0.0332715,6.59047,1.80758,1.55993,5.20975,1.38231,6.35348,-6.60292,2.51542,-4.64558,-3.41325,-3.73214,-3.33008,-3.1512,-3.43526,-6.24804,-3.94813,59.2134,20.6347,13.2006,5.85101,0.829932,14.3152,0.459174,6.98052 --4.43752,0.998718,0.401755,3,7,0,8.72425,3.25306,1.42425,0.518639,0.329479,-0.531381,0.685107,0.0824891,0.18637,0.664992,1.3026,3.99173,2.49624,3.37055,4.20018,3.72232,4.22882,3.5185,5.10829,-4.90787,-3.37298,-3.77079,-3.34923,-3.25382,-3.35991,-4.27009,-3.88261,22.2098,13.2363,-7.75457,25.0879,-9.83821,20.8391,-10.2695,-7.15126 --8.22785,0.833088,0.5764,3,7,0,11.5415,5.23068,3.23678,0.444893,0.780285,-2.70229,-0.827089,1.22215,0.642221,-0.271054,-0.00475515,6.6707,-3.51605,9.18651,4.35333,7.75629,2.55357,7.3094,5.21528,-4.63796,-3.88462,-3.98159,-3.34578,-3.58945,-3.32681,-3.79297,-3.88035,-7.98066,-18.5496,5.5543,12.6248,11.2698,-14.9282,9.11689,-7.68655 --5.64699,0.700052,0.618044,3,7,0,15.6064,1.05477,1.38617,0.777821,-0.152714,-1.55434,-0.635511,0.769216,0.409222,0.508037,-0.198086,2.13296,-1.0998,2.12103,1.75899,0.843081,0.173844,1.62202,0.780187,-5.11389,-3.63556,-3.74275,-3.43034,-3.13713,-3.31965,-4.56272,-4.00358,-2.87217,5.30676,4.03114,24.7876,8.02042,-1.32662,12.7436,4.63595 --4.50155,0.716465,0.525813,3,7,0,8.71025,-0.517338,8.68587,1.15421,0.181966,1.04429,0.813652,-0.669946,0.52514,-0.677404,-0.386767,9.50798,8.55321,-6.3364,-6.40118,1.0632,6.54994,4.04396,-3.87675,-4.38689,-3.22305,-3.71327,-4.05895,-3.14244,-3.44411,-4.19538,-4.19831,13.9808,15.1433,-7.0205,1.91434,5.45133,9.82157,11.9215,-2.90554 --3.95133,0.987357,0.460751,3,15,0,6.60174,3.94109,5.40413,1.65428,0.11476,0.544883,0.15162,-1.08872,0.363765,-0.214501,-0.989445,12.881,6.88571,-1.94251,2.7819,4.56127,4.76046,5.90692,-1.406,-4.13495,-3.22773,-3.69371,-3.39036,-3.30707,-3.37527,-3.95274,-4.08666,5.10731,15.363,-43.2121,11.9333,4.53004,11.0196,18.2326,-5.61053 --6.40382,0.873988,0.644328,3,7,0,8.93075,4.88555,4.60578,-1.11715,-0.404519,-0.83176,-1.54906,1.16863,0.493889,0.359137,1.11434,-0.259803,1.05465,10.268,6.53966,3.02243,-2.24907,7.16029,10.018,-5.40169,-3.46271,-4.03536,-3.31771,-3.21604,-3.36046,-3.80902,-3.81537,-19.4364,1.5566,28.4838,4.9044,-6.12353,-25.5824,2.87581,11.3409 --6.31664,0.977521,0.739917,3,7,0,10.0406,4.34645,1.53125,1.45987,-0.59475,1.11287,1.27486,-1.28872,0.497537,0.547914,-0.63991,6.58186,6.05053,2.3731,5.18544,3.43574,6.29858,5.1083,3.36659,-4.6464,-3.24053,-3.74791,-3.33044,-3.23762,-3.43285,-4.0525,-3.92433,11.6404,-6.80693,3.14039,-18.405,11.1605,3.53243,2.25369,24.6103 --6.7867,0.777485,1.01315,2,7,0,10.0444,8.22069,1.27459,1.29557,-0.445456,-1.29024,-0.455526,0.940524,0.596021,-1.34362,-0.435478,9.87201,6.57617,9.41947,6.50814,7.65292,7.64009,8.98037,7.66564,-4.35726,-3.23166,-3.99278,-3.31783,-3.57834,-3.49903,-3.62829,-3.8383,9.08701,8.19291,22.7574,9.12903,14.8247,9.25997,11.1791,-14.3084 --6.7867,0.443953,0.984424,2,3,0,12.4719,8.22069,1.27459,1.29557,-0.445456,-1.29024,-0.455526,0.940524,0.596021,-1.34362,-0.435478,9.87201,6.57617,9.41947,6.50814,7.65292,7.64009,8.98037,7.66564,-4.35726,-3.23166,-3.99278,-3.31783,-3.57834,-3.49903,-3.62829,-3.8383,-15.0018,4.40579,35.4634,0.0129941,8.24791,-9.61609,17.2736,-16.7017 --6.2863,0.945066,0.543135,3,7,0,11.9451,3.94212,0.673637,0.710287,-0.277824,1.15216,-0.698352,0.929615,-1.01955,-0.426664,-1.00408,4.42059,4.71826,4.56834,3.6547,3.75497,3.47168,3.25531,3.26574,-4.86252,-3.27537,-3.8034,-3.36308,-3.25573,-3.34208,-4.30855,-3.92704,6.86458,22.4214,-6.84442,8.31041,5.02607,9.04239,3.40583,4.70535 --8.84152,0.922395,0.70231,2,7,0,12.3027,0.951941,1.00484,-0.987541,2.54006,-0.361071,0.25691,0.491556,0.387838,-0.979452,0.852231,-0.0403782,0.589123,1.44588,-0.0322504,3.5043,1.2101,1.34166,1.8083,-5.37424,-3.49613,-3.73013,-3.52118,-3.2414,-3.31702,-4.60903,-3.9696,8.58394,-1.97755,-2.51558,-1.83649,1.10487,-13.2693,-6.06027,-18.0417 --7.8788,0.625996,0.872471,2,7,0,14.1572,1.52809,0.607114,-0.736185,1.03645,-0.999377,-1.51942,-0.47044,-0.59763,-0.378387,1.29735,1.08115,0.921359,1.24248,1.29837,2.15734,0.605633,1.16527,2.31573,-5.23727,-3.47206,-3.72668,-3.45117,-3.1777,-3.31748,-4.63857,-3.95404,-9.85361,3.5364,4.04158,4.76192,-1.78999,-14.4204,14.2578,2.17877 --6.31402,0.804189,0.657836,3,7,0,16.7587,7.9868,6.92704,0.764053,-1.2175,1.35088,1.13799,0.473084,0.951133,0.738956,-0.0329378,13.2794,17.3444,11.2639,13.1056,-0.446862,15.8697,14.5753,7.75863,-4.10853,-3.65811,-4.08891,-3.47088,-3.11805,-4.2305,-3.28017,-3.83707,-4.92022,11.332,19.9391,5.34456,-10.214,32.6916,5.24004,51.7621 --7.98085,0.698589,0.669632,3,7,0,12.3651,2.39186,0.912781,-0.0114738,0.341515,-1.23974,-2.09007,0.0785197,-0.680644,-0.218102,1.50063,2.38139,1.26025,2.46353,2.19278,2.70359,0.484082,1.77058,3.76161,-5.08546,-3.44864,-3.74983,-3.41233,-3.20083,-3.31793,-4.53849,-3.91405,23.0108,-2.05198,-1.26496,7.31237,4.46469,4.25649,7.33452,34.4293 --5.97734,1,0.57148,3,7,0,11.4786,4.27212,4.49,0.531481,1.46584,-0.760848,0.568786,0.000856825,-0.165817,-1.25427,-0.591534,6.65846,0.855912,4.27596,-1.35957,10.8537,6.82596,3.5276,1.61613,-4.63912,-3.47671,-3.79492,-3.6056,-3.98352,-3.45709,-4.26878,-3.97571,-8.48441,-5.35835,-17.2371,3.32961,-2.51606,37.1892,2.4329,24.7944 --6.4452,0.126422,0.805719,3,7,0,11.9361,5.84552,0.849298,-0.0317615,0.877742,-0.244809,0.727699,1.27394,-0.858522,-1.41782,-0.0120169,5.81854,5.6376,6.92747,4.64137,6.59098,6.46355,5.11638,5.83531,-4.72036,-3.24943,-3.88402,-3.33982,-3.47186,-3.44018,-4.05146,-3.86796,-0.724141,5.8294,9.80453,-10.538,13.1483,4.00916,0.954465,-7.20545 --7.79882,0.989704,0.266643,4,15,0,11.4042,3.20449,0.27472,-0.222559,0.112397,0.803315,-0.797906,-2.2217,0.575582,0.0721077,0.394203,3.14335,3.42517,2.59414,3.2243,3.23537,2.98529,3.36261,3.31278,-5,-3.32617,-3.75265,-3.37574,-3.22689,-3.33312,-4.29279,-3.92577,-23.5105,7.53915,5.84243,20.801,2.96864,-8.07624,-1.78471,32.7715 --5.90384,0.996606,0.369665,4,15,0,9.58615,5.39429,3.36157,-1.10959,0.0551295,-0.161891,0.834981,1.54194,-0.219787,-0.815834,-0.508236,1.66433,4.85009,10.5776,2.65181,5.57962,8.20115,4.65546,3.68582,-5.16825,-3.27113,-4.05159,-3.39496,-3.38339,-3.53112,-4.11191,-3.91599,19.512,-1.37551,51.535,16.3756,-3.09501,7.49739,3.17141,-10.5496 --6.3065,0.952875,0.517182,3,7,0,11.7937,9.58364,1.65429,-0.51585,-1.10473,0.000285671,-1.4265,-1.24041,0.16271,-0.0251476,-0.719919,8.73028,9.58412,7.53164,9.54204,7.7561,7.22381,9.85281,8.39269,-4.45215,-3.23407,-3.90816,-3.34354,-3.58943,-3.4769,-3.55341,-3.82939,7.04138,-8.59876,24.6307,-3.52977,27.1568,13.7847,10.4157,12.233 --9.36665,0.797058,0.671962,3,7,0,14.126,-0.308655,0.146999,0.534289,0.902693,-0.0135595,1.80172,1.29916,-0.339974,0.422323,0.106638,-0.230115,-0.310648,-0.11768,-0.246574,-0.17596,-0.0438037,-0.358631,-0.292979,-5.39797,-3.56686,-3.70775,-3.53383,-3.12035,-3.32134,-4.90672,-4.04252,18.931,9.9153,15.8912,-5.92829,-7.95983,28.8185,-21.5034,16.4871 --10.4847,0.923755,0.675595,3,7,0,15.9125,4.86152,0.588915,0.141833,2.52435,1.66522,1.01838,-0.274405,0.424713,1.54838,-0.869567,4.94505,5.84219,4.69992,5.77338,6.34814,5.46126,5.11164,4.34942,-4.80817,-3.2448,-3.80733,-3.32305,-3.44947,-3.39908,-4.05207,-3.89964,18.8362,15.7531,6.41894,2.20247,1.672,-5.15446,3.41401,5.16327 --7.31262,0.978874,0.834876,3,7,0,13.4889,3.84374,4.85499,-0.284358,-1.21958,-0.592781,-0.363005,1.05296,-0.0759815,-2.02789,-0.809098,2.46319,0.965799,8.95585,-6.00166,-2.07732,2.08136,3.47485,-0.0844163,-5.07616,-3.46892,-3.97071,-4.01536,-3.12333,-3.32167,-4.27642,-4.03467,9.33472,9.8599,21.3394,-6.90868,-4.54736,-19.5361,26.8607,-2.25097 --7.7035,0.860072,1.12669,2,3,0,11.438,6.05054,2.31452,0.983762,-1.94583,0.558359,-0.119359,-1.68466,-0.0424338,-1.36572,-1.23322,8.32748,7.34288,2.15138,2.88957,1.54688,5.77429,5.95233,3.19624,-4.48701,-3.22368,-3.74336,-3.38665,-3.1562,-3.41102,-3.94726,-3.92892,11.0395,13.0275,19.5861,-5.71032,13.3905,0.355872,10.3439,4.89557 --7.7035,0.067774,1.25208,2,3,0,10.3308,6.05054,2.31452,0.983762,-1.94583,0.558359,-0.119359,-1.68466,-0.0424338,-1.36572,-1.23322,8.32748,7.34288,2.15138,2.88957,1.54688,5.77429,5.95233,3.19624,-4.48701,-3.22368,-3.74336,-3.38665,-3.1562,-3.41102,-3.94726,-3.92892,2.58512,7.40869,0.0482773,-0.885924,-1.91076,5.99558,12.303,-2.37322 --10.5157,0.936664,0.387395,3,15,0,14.9863,9.93644,6.67685,-0.348981,-1.53762,-0.831196,-0.756981,-1.41653,2.78905,0.22656,-1.2202,7.60635,4.38667,0.478516,11.4491,-0.330007,4.8822,28.5585,1.78935,-4.55121,-3.2868,-3.71516,-3.39863,-3.11893,-3.37911,-3.77894,-3.9702,7.06582,7.10932,15.455,3.50315,-8.69669,16.519,33.2187,-30.0325 --9.1131,0.526572,0.488244,3,7,0,14.8071,10.9111,3.03725,-0.0490753,-1.90066,-0.333569,-1.17512,-1.05601,1.97711,0.384813,-1.3664,10.7621,9.89798,7.70374,12.0799,5.13831,7.34199,16.9161,6.76102,-4.28731,-3.23954,-3.9153,-3.42347,-3.34875,-3.48304,-3.2274,-3.85167,-2.32552,3.78953,10.5162,1.18126,5.25157,6.58815,25.6054,5.07627 --6.46239,0.980343,0.318445,4,15,0,16.7189,3.07573,4.63888,1.76425,0.983832,-0.253722,-0.123029,-1.42413,-0.768588,0.554034,-0.879104,11.2599,1.89874,-3.53065,5.64583,7.63961,2.50501,-0.489659,-1.00233,-4.24973,-3.40765,-3.69208,-3.32441,-3.57692,-3.32619,-4.93086,-4.07021,-3.06702,-5.0209,-31.9308,-11.22,13.0867,-8.19745,-7.39526,-6.04836 --6.04687,0.991913,0.429953,3,15,0,10.1451,3.25878,5.38282,1.61107,0.408895,0.0334411,-0.358143,-0.922852,-0.948374,0.649219,-1.35016,11.9309,3.43879,-1.70877,6.75341,5.45979,1.33096,-1.84615,-4.00891,-4.2008,-3.32555,-3.69478,-3.31709,-3.37375,-3.31729,-5.19087,-4.20481,23.2087,9.16666,-26.0771,13.1525,-6.27321,-6.06783,-7.79229,2.58516 --6.55428,0.995548,0.590161,3,7,0,9.95949,8.13333,3.42657,-1.10484,-1.41738,-0.0604033,0.0934911,0.335516,1.21367,-0.923226,1.53268,4.34753,7.92636,9.283,4.96983,3.27657,8.45369,12.2921,13.3852,-4.87019,-3.22155,-3.9862,-3.33387,-3.22906,-3.54641,-3.38443,-3.81227,-7.92073,8.22414,6.39164,11.4898,-19.54,4.67969,9.07196,3.93436 --7.45746,0.621743,0.813106,3,7,0,13.0031,3.98501,1.40646,1.191,1.2208,0.94906,1.28557,0.375853,0.567395,1.10385,-1.52565,5.66012,5.31983,4.51364,5.53754,5.70202,5.79312,4.78303,1.83924,-4.73603,-3.25744,-3.80179,-3.32567,-3.39343,-3.41177,-4.09496,-3.96863,-22.0428,1.97029,-23.6255,18.3243,17.3803,3.7211,11.165,12.3705 --9.51027,0.934619,0.618775,3,7,0,11.7242,8.37792,3.10481,-0.128855,-0.857032,-1.30121,1.02663,0.100593,1.34468,-1.32104,2.53418,7.97785,4.33792,8.69024,4.27634,5.717,11.5654,12.5529,16.2461,-4.51785,-3.28858,-3.95844,-3.34749,-3.39467,-3.77811,-3.36988,-3.83713,41.0799,-17.711,17.6747,2.3112,0.442745,16.813,14.6834,37.5703 --8.71442,0.963479,0.772697,3,7,0,14.507,0.24769,1.71786,1.1705,0.315187,1.61203,-1.59038,-0.360492,-0.230833,0.393972,-1.92125,2.25844,3.01692,-0.371583,0.924479,0.789137,-2.48435,-0.148848,-3.05275,-5.0995,-3.34568,-3.70502,-3.46936,-3.13592,-3.367,-4.86843,-4.15898,2.75638,-4.06432,1.30564,-6.50479,3.59327,5.34019,-0.682578,-7.90543 --6.59672,1,1.00831,2,3,0,12.1971,8.8232,3.16344,-0.00986369,0.107976,-1.54458,1.22218,-0.0866253,1.3486,-0.259508,0.971825,8.792,3.93701,8.54917,8.00226,9.16478,12.6895,13.0894,11.8975,-4.44687,-3.30406,-3.95204,-3.32098,-3.75396,-3.88148,-3.34209,-3.80933,23.171,8.88161,21.6058,8.71817,2.83593,16.9755,18.8693,-0.48104 --6.59672,1.02345e-31,1.39099,1,1,0,13.7934,8.8232,3.16344,-0.00986369,0.107976,-1.54458,1.22218,-0.0866253,1.3486,-0.259508,0.971825,8.792,3.93701,8.54917,8.00226,9.16478,12.6895,13.0894,11.8975,-4.44687,-3.30406,-3.95204,-3.32098,-3.75396,-3.88148,-3.34209,-3.80933,21.1253,-5.97269,-15.1638,17.7896,3.86388,6.02539,9.31011,6.68713 --8.18717,0.953914,0.40116,3,15,0,14.78,-4.33035,6.88759,-0.116034,0.160021,-0.029968,-0.131723,-0.0823464,0.187903,2.08756,1.15473,-5.12954,-4.53676,-4.89752,10.0479,-3.22819,-5.23761,-3.03615,3.62297,-6.06603,-4.00738,-3.69856,-3.35522,-3.14681,-3.47761,-5.43412,-3.9176,21.8138,-7.14076,41.9957,7.50721,-10.8507,-11.2256,-12.8709,3.35701 --8.37184,0.931305,0.515466,3,7,0,12.288,-0.78901,2.73725,-0.349862,-0.78312,-0.177053,-0.523855,0.173517,2.19486,2.06458,1.06377,-1.74667,-1.27365,-0.314052,4.86227,-2.93261,-2.22293,5.21887,2.12281,-5.59335,-3.65153,-3.70562,-3.33572,-3.13922,-3.35976,-4.03831,-3.95986,14.5007,-13.7967,-18.2317,15.5784,-5.52201,-6.55803,22.3584,5.16964 --5.59009,0.985384,0.638496,3,7,0,12.1617,7.54344,3.57705,1.14184,-0.827373,0.526602,0.499259,0.378714,-0.847509,-1.4406,0.665877,11.6279,9.42711,8.89811,2.39036,4.58389,9.32931,4.51186,9.92531,-4.22265,-3.23171,-3.96802,-3.40464,-3.30863,-3.60352,-4.13117,-3.81595,11.6832,16.5848,-15.6881,10.4187,15.2808,3.38876,26.6579,2.70216 --5.44352,0.918197,0.858875,3,15,0,9.85691,1.23819,5.64011,1.3459,-0.262652,-0.397107,-0.350433,0.230616,1.78813,0.231376,-1.65194,8.8292,-1.00154,2.53889,2.54317,-0.2432,-0.738294,11.3235,-8.07896,-4.4437,-3.62666,-3.75145,-3.39891,-3.1197,-3.32932,-3.4444,-4.43148,3.12497,16.5887,2.70278,2.13115,1.72125,5.03938,3.67076,-12.5553 --5.44352,0.081156,1.03958,2,3,0,13.9906,1.23819,5.64011,1.3459,-0.262652,-0.397107,-0.350433,0.230616,1.78813,0.231376,-1.65194,8.8292,-1.00154,2.53889,2.54317,-0.2432,-0.738294,11.3235,-8.07896,-4.4437,-3.62666,-3.75145,-3.39891,-3.1197,-3.32932,-3.4444,-4.43148,14.6537,6.81415,6.18452,-20.7702,-3.33103,-11.5369,-2.66996,-21.4933 --4.41167,0.986461,0.346323,4,15,0,8.26212,1.85907,12.7061,0.633558,0.0919471,1.04779,0.258401,-0.90994,0.382753,0.630603,-1.09322,9.90912,15.1723,-9.7027,9.87156,3.02736,5.14233,6.72236,-12.0314,-4.35428,-3.47874,-3.77927,-3.35091,-3.21628,-3.38774,-3.85745,-4.70053,-4.84029,25.3915,-2.51839,13.2987,-5.96936,2.68407,10.6575,-17.85 --8.51822,0.815028,0.466208,3,7,0,13.1671,-1.35045,1.54525,1.62181,-0.700036,-1.02581,-0.07741,1.08693,1.00714,-1.00691,1.16463,1.15565,-2.93559,0.32913,-2.90638,-2.43219,-1.47007,0.205833,0.449197,-5.22837,-3.81946,-3.71317,-3.72236,-3.12882,-3.34205,-4.80469,-4.01521,17.7738,-0.764336,-42.1872,-0.98615,-1.06123,-20.2701,8.29288,13.9877 --7.15798,1,0.481867,3,7,0,12.7332,4.88421,6.97581,1.39146,-1.28009,0.798455,0.173215,-0.986123,-0.827471,1.41372,-1.11634,14.5908,10.4541,-1.9948,14.7461,-4.04542,6.09252,-0.888065,-2.90316,-4.02656,-3.25164,-3.6935,-3.56477,-3.17341,-3.424,-5.00532,-4.15206,6.86728,1.41533,26.8078,11.1339,-4.08717,6.93853,1.09708,-24.8443 --6.05847,1,0.660398,3,7,0,9.79752,4.57193,2.83292,-0.183227,0.285527,-0.805801,-0.869328,0.870594,1.40046,0.68105,1.84666,4.05286,2.28915,7.03825,6.50129,5.3808,2.10919,8.53931,9.80338,-4.90136,-3.38459,-3.88834,-3.31786,-3.36749,-3.32192,-3.66905,-3.81676,28.3164,-2.2062,-3.67782,3.33208,-10.5626,0.204168,10.2409,9.43805 --8.27175,0.881289,0.903404,4,19,0,12.317,-0.34923,3.79912,0.0875285,0.734867,-1.80537,0.325541,-0.128544,-0.0759506,1.37259,1.70086,-0.0166982,-7.20806,-0.837584,4.86541,2.44262,0.887543,-0.637776,6.11253,-5.37129,-4.37795,-3.70066,-3.33566,-3.18932,-3.31689,-4.95836,-3.8628,6.52034,5.02666,2.0063,13.9012,14.9983,6.2341,3.72434,-4.31089 --7.36374,0.728475,1.03019,2,3,0,12.2277,-0.315783,6.44159,-0.401843,-0.406293,-1.43381,0.946895,-1.42152,0.518943,0.325123,0.649849,-2.90429,-9.55181,-9.47265,1.77853,-2.93296,5.78373,3.02704,3.87028,-5.74938,-4.76185,-3.77335,-3.42949,-3.13923,-3.4114,-4.34247,-3.9113,-12.5608,-19.1035,3.45255,-14.9094,-4.67929,-13.7178,-2.51001,14.9291 --3.53791,0.982316,0.931503,2,3,0,10.9005,5.4623,3.4933,1.00705,0.623411,-0.520695,0.213479,0.223477,-0.40844,0.543765,0.108496,8.98024,3.64335,6.24297,7.36183,7.64006,6.20805,4.03549,5.84131,-4.43088,-3.31643,-3.85839,-3.31737,-3.57697,-3.42892,-4.19656,-3.86784,-2.31028,9.67898,36.4632,15.7526,-9.87441,27.5729,4.63145,19.0119 --7.52696,0.34649,1.2361,2,3,0,9.04463,7.82272,5.49735,2.00948,-0.961547,0.560976,1.2486,-1.1849,-0.291329,1.33914,0.353222,18.8696,10.9066,1.30892,15.1844,2.53676,14.6867,6.22119,9.76451,-3.81224,-3.26377,-3.72779,-3.59363,-3.19338,-4.09091,-3.91523,-3.81702,39.5566,4.65754,-21.9285,19.7591,-8.66652,6.57386,5.086,20.1031 --7.52696,0.222988,0.629045,3,7,0,12.8584,7.82272,5.49735,2.00948,-0.961547,0.560976,1.2486,-1.1849,-0.291329,1.33914,0.353222,18.8696,10.9066,1.30892,15.1844,2.53676,14.6867,6.22119,9.76451,-3.81224,-3.26377,-3.72779,-3.59363,-3.19338,-4.09091,-3.91523,-3.81702,35.0957,11.845,12.3755,2.14815,-0.350871,-0.124241,-6.44119,-0.721578 --6.60142,1,0.266972,4,15,0,9.12996,0.975135,3.09725,-0.668079,0.479172,-0.713847,-1.41043,1.11429,1.23828,-0.687814,-0.636432,-1.09407,-1.23583,4.42637,-1.1552,2.45925,-3.39333,4.8104,-0.996055,-5.50802,-3.64803,-3.79924,-3.59166,-3.19003,-3.39659,-4.09135,-4.06995,19.8675,7.04351,25.9946,13.6511,-5.8867,13.4189,3.21818,13.8108 --10.8434,0.929383,0.364151,3,15,0,14.8033,8.03935,1.68707,2.2031,-2.12219,0.858283,1.11974,0.0336233,-0.961334,1.27058,1.38147,11.7561,9.48733,8.09607,10.1829,4.45907,9.92842,6.41751,10.37,-4.21335,-3.23258,-3.932,-3.3587,-3.30012,-3.64624,-3.89229,-3.81341,23.2231,16.6847,2.47458,20.0281,20.9491,8.97582,11.9993,6.76079 --5.77327,0.995415,0.446241,3,7,0,16.5916,-0.831577,11.6266,1.15832,-0.0969317,-0.125696,1.05309,0.100158,0.597172,0.351466,2.16476,12.6358,-2.293,0.332927,3.25479,-1.95857,11.4123,6.11152,24.3373,-4.15156,-3.75125,-3.71322,-3.37479,-3.12184,-3.76483,-3.9282,-4.0442,-8.5451,6.30439,9.02141,0.294713,-17.4938,7.97386,-16.0636,18.2936 --4.90442,0.551394,0.602608,3,7,0,13.3132,5.00688,4.77107,0.807958,-1.48691,-0.457169,-0.920123,0.814416,1.54964,0.805804,-0.133243,8.86171,2.8257,8.89252,8.85143,-2.08727,0.616914,12.4003,4.37117,-4.44093,-3.35539,-3.96776,-3.331,-3.12346,-3.31744,-3.37831,-3.89912,27.1214,-4.6639,-1.22814,13.4364,5.4835,8.81129,8.97228,5.86546 --5.75641,0.959307,0.420334,3,7,0,9.88531,5.68495,14.1386,0.636741,0.12094,0.0149313,0.86053,0.783381,-0.232861,0.691508,0.464072,14.6876,5.89606,16.7608,15.4619,7.39487,17.8516,2.39263,12.2463,-4.02081,-3.24366,-4.4542,-3.61272,-3.55119,-4.49029,-4.43947,-3.8094,-8.93165,-12.0975,8.72867,7.88808,10.5387,20.6798,-17.3129,33.0291 --3.38505,0.381776,0.537262,3,7,0,11.5573,4.7867,6.95265,0.552762,-0.418413,1.19035,0.0411376,0.337784,0.759986,0.942665,0.863982,8.62986,13.0628,7.13519,11.3407,1.87762,5.07271,10.0706,10.7937,-4.46077,-3.34968,-3.89216,-3.39469,-3.16728,-3.38538,-3.5359,-3.81156,20.6533,6.65566,-9.27344,19.9542,-6.65778,13.2433,7.28987,-9.3995 --4.95839,0.970502,0.292406,4,15,0,7.13459,3.7016,5.54006,0.841839,-0.689988,0.670477,-1.53619,0.0565747,1.01718,-0.607625,1.57287,8.36544,7.41609,4.01503,0.335329,-0.120966,-4.80899,9.33685,12.4154,-4.48369,-3.22323,-3.78764,-3.50038,-3.12093,-3.45627,-3.59677,-3.80958,18.5333,0.386932,-9.51773,2.00089,16.0557,-6.53099,7.99219,25.7092 --5.89339,0.926167,0.379806,3,7,0,10.9788,4.80764,1.10462,-0.580415,-0.423594,-0.567745,1.65929,0.0154642,-0.0783968,1.22744,-0.613351,4.16651,4.1805,4.82472,6.1635,4.33973,6.64052,4.72104,4.13012,-4.88929,-3.29447,-3.81111,-3.31973,-3.29217,-3.4483,-4.10318,-3.90489,23.1577,-8.64522,20.6959,19.7929,2.82889,5.28667,6.85714,12.2936 --9.64462,0.932417,0.461581,3,7,0,13.5008,3.43479,0.544975,-1.81354,-0.921154,1.16509,0.105131,-0.686742,0.490249,-2.18674,0.838638,2.44646,4.06974,3.06054,2.24307,2.93279,3.49209,3.70197,3.89183,-5.07806,-3.29876,-3.76327,-3.41034,-3.21164,-3.3425,-4.24369,-3.91076,-3.31176,3.14095,12.3442,5.4234,-10.1776,-9.66106,12.8914,-31.3974 --6.22378,0.993839,0.565515,3,7,0,12.9851,6.35691,7.67964,1.87185,0.244168,-0.796802,-0.655197,0.538236,1.10931,1.52528,-0.31402,20.7321,0.237753,10.4904,18.0705,8.23204,1.32523,14.876,3.94535,-3.74437,-3.52279,-4.04698,-3.82326,-3.64228,-3.31727,-3.27032,-3.90943,4.00506,-10.1018,14.0317,33.2769,9.14154,13.3936,18.5565,3.50616 --5.30862,0.765541,0.757029,3,7,0,13.0196,4.81169,6.98538,0.525452,-0.879482,-0.474469,-1.52016,1.44434,1.11951,0.393222,0.499302,8.48217,1.49735,14.901,7.55849,-1.33182,-5.80718,12.6319,8.29951,-4.47353,-3.43295,-4.3174,-3.31812,-3.11684,-3.50831,-3.36561,-3.83044,8.8591,-10.0967,13.1393,1.79906,9.34979,-10.4156,3.75974,-1.22207 --5.12961,0.879424,0.725614,3,7,0,8.10803,1.7126,2.81301,0.269687,0.443232,0.249927,0.805442,-1.80745,-0.0753437,-0.500183,-0.426234,2.47123,2.41565,-3.37177,0.305579,2.95942,3.97832,1.50066,0.513597,-5.07525,-3.37745,-3.6918,-3.50202,-3.21293,-3.35349,-4.58267,-4.01292,6.79348,4.1849,-14.3571,10.1541,10.4195,3.97459,12.0131,-19.223 --6.72864,0.909688,0.820781,2,3,0,10.1113,3.76688,8.14507,2.29774,-1.00325,0.822977,-0.560769,1.69229,1.08981,0.741224,0.417507,22.4821,10.4701,17.5507,9.8042,-4.40465,-0.800631,12.6435,7.1675,-3.69465,-3.25203,-4.51639,-3.34933,-3.18772,-3.33023,-3.36498,-3.84535,4.39721,1.54473,11.7258,27.2242,5.5042,-6.59046,9.26183,-14.3218 --6.33497,0.665262,0.969395,4,19,0,10.8242,2.28177,4.25059,1.27068,-0.201614,0.967182,-0.942986,1.69974,0.76829,1.00226,1.45172,7.6829,6.39286,9.50667,6.54195,1.42479,-1.72648,5.54745,8.45242,-4.54429,-3.23444,-3.99703,-3.3177,-3.15246,-3.34755,-3.99685,-3.82873,6.23904,-2.41534,-3.52744,6.27328,11.112,-27.5509,11.6581,-17.2686 --7.70277,0.933513,0.803535,3,7,0,11.4019,5.08834,4.26825,-0.383698,-0.533048,0.786969,-1.22217,1.11665,0.673813,-2.42705,-0.270593,3.45063,8.44732,9.85447,-5.27092,2.81316,-0.128173,7.96434,3.93339,-4.96626,-3.22252,-4.01426,-3.93905,-3.20592,-3.32209,-3.7251,-3.90973,-19.0935,11.7349,23.7758,-25.6653,-8.79976,4.36888,0.393817,46.6435 --7.03536,0.554262,0.981348,2,3,0,13.2101,5.15867,0.746718,0.821295,-0.720409,-0.1667,1.07298,-1.13027,0.314888,1.72697,0.922808,5.77194,5.03419,4.31468,6.44823,4.62073,5.95988,5.3938,5.84774,-4.72496,-3.2655,-3.79603,-3.31809,-3.31118,-3.41849,-4.01611,-3.86772,12.44,3.44542,27.3813,-8.09697,0.283364,-18.8198,9.38627,13.3764 --8.01034,0.721539,0.694101,3,7,0,13.4226,1.53346,1.77566,0.463923,-0.227544,-1.03039,1.57926,-1.47871,1.21598,1.77205,0.156074,2.35723,-0.296151,-1.09223,4.68003,1.12942,4.3377,3.69263,1.8106,-5.08821,-3.56565,-3.69864,-3.33907,-3.14415,-3.36287,-4.24503,-3.96953,-6.77698,3.06965,-21.4645,11.8607,2.25649,-15.2985,3.75627,28.4851 --4.86159,1,0.625097,3,7,0,9.50897,3.34124,3.56878,0.12063,0.421507,-0.332702,1.47776,-0.921802,-0.0573923,0.548222,1.07918,3.77174,2.1539,0.0515326,5.29772,4.8455,8.61504,3.13642,7.19258,-4.93145,-3.39241,-3.70971,-3.32881,-3.32709,-3.55646,-4.32615,-3.84498,2.79986,-4.24983,-13.1426,-13.288,15.2353,22.3458,-19.8118,14.4923 --5.14223,0.718777,0.83878,2,3,0,11.5101,2.34524,2.14059,-0.0443431,0.723663,0.991219,0.378898,-0.744257,-1.04369,-0.427353,-0.687747,2.25032,4.46703,0.75209,1.43045,3.8943,3.1563,0.111124,0.873055,-5.10042,-3.28393,-3.71902,-3.44502,-3.26403,-3.33605,-4.82158,-4.00037,-14.8399,8.52688,16.4498,1.08629,16.8055,-23.6518,5.86575,-7.90784 --3.68227,0.981996,0.752432,3,7,0,6.30928,5.94167,7.49044,0.148236,-0.484582,-0.45641,-0.15372,-0.0207392,1.98662,-0.0587711,0.51738,7.05202,2.52296,5.78632,5.50145,2.31193,4.79024,20.8224,9.81707,-4.60214,-3.37151,-3.84231,-3.32611,-3.18387,-3.3762,-3.26135,-3.81666,-12.0276,15.7886,-7.0567,3.44751,6.28775,9.83506,20.1533,33.5906 --3.34319,0.958617,0.982144,2,3,0,4.91789,5.85781,7.98131,0.443224,-0.318241,0.0551225,-0.644587,1.09592,0.551514,0.715178,0.647364,9.39532,6.29776,14.6047,11.5659,3.31784,0.713166,10.2596,11.0246,-4.39618,-3.23601,-4.29685,-3.40298,-3.23125,-3.31717,-3.52109,-3.81078,2.44452,13.5586,-7.01315,-4.95854,18.993,-5.64608,25.7133,3.49858 --3.34319,1.66278e-10,1.23846,2,3,0,16.5945,5.85781,7.98131,0.443224,-0.318241,0.0551225,-0.644587,1.09592,0.551514,0.715178,0.647364,9.39532,6.29776,14.6047,11.5659,3.31784,0.713166,10.2596,11.0246,-4.39618,-3.23601,-4.29685,-3.40298,-3.23125,-3.31717,-3.52109,-3.81078,37.342,10.2835,30.8667,28.7656,2.48268,8.94632,-3.10593,15.0064 --9.83336,0.851442,0.401477,3,7,0,13.415,6.94442,4.12755,-0.0258751,-0.77672,0.60121,-0.0751611,-2.8799,0.758864,1.60209,-1.76314,6.83762,9.42594,-4.9425,13.5571,3.73847,6.63419,10.0767,-0.333034,-4.6222,-3.23169,-3.6989,-3.4945,-3.25476,-3.44801,-3.53542,-4.04404,39.2371,11.8471,5.2232,-9.88825,6.07761,12.6608,20.3924,6.57662 --11.16,0.922202,0.435596,4,31,0,19.0271,7.28116,7.73143,0.19317,0.0494859,1.70072,-2.29849,-2.21696,1.20054,0.985583,-0.425424,8.77464,20.4302,-9.85914,14.9011,7.66376,-10.4895,16.563,3.99202,-4.44835,-3.99407,-3.78342,-3.5748,-3.5795,-3.86232,-3.23185,-3.90827,17.7036,20.3816,30.2453,15.6182,13.2586,-29.9904,11.8112,11.1715 --7.01511,0.32256,0.521934,3,7,0,23.6575,7.30267,3.48122,-0.850125,0.234568,-0.104261,-0.0557473,0.764419,-0.191465,2.38609,-0.136359,4.3432,6.93971,9.96379,15.6092,8.11926,7.1086,6.63614,6.82798,-4.87064,-3.22714,-4.01977,-3.62311,-3.6295,-3.47103,-3.86721,-3.85059,49.136,-1.27709,-17.4358,22.4295,19.2032,-0.381881,-8.6176,-27.4668 --6.3568,0.986392,0.26902,4,15,0,11.1441,2.17142,0.184837,0.486586,-1.27383,-0.497814,0.246644,0.236112,-0.0535646,-0.272851,-0.561252,2.26136,2.0794,2.21506,2.12099,1.93597,2.21701,2.16152,2.06768,-5.09916,-3.39679,-3.74465,-3.4152,-3.16937,-3.32295,-4.47581,-3.96155,-12.0019,4.91894,0.569294,-6.27104,12.6855,15.423,20.6614,3.2464 --9.34507,0.944213,0.352781,3,15,0,12.9404,9.14757,0.876989,-0.738616,0.933868,0.888888,-1.25617,-0.735327,-1.22724,-0.236615,1.99288,8.49982,9.92712,8.5027,8.94007,9.96657,8.04593,8.0713,10.8953,-4.472,-3.24009,-3.94995,-3.33239,-3.85854,-3.52198,-3.71442,-3.81119,13.6384,11.2371,19.2772,22.5851,15.1708,15.7764,10.6354,-22.1685 --7.0855,0.995331,0.435536,3,7,0,12.8541,-1.41086,11.4075,1.26232,-1.08682,-0.354687,0.870533,0.48175,1.99455,0.951041,-0.247078,12.9891,-5.45695,4.0847,9.43813,-13.8088,8.51973,21.342,-4.2294,-4.12772,-4.12697,-3.78956,-3.3414,-4.12891,-3.5505,-3.27737,-4.21578,29.6564,11.1485,21.7523,15.3294,-13.3439,6.83018,14.8241,8.17085 --4.98141,1,0.576846,3,7,0,10.4786,2.4218,4.24324,0.633897,0.320935,-0.0398365,-0.513958,1.20027,0.933591,0.633202,-1.57405,5.11157,2.25276,7.51484,5.10863,3.7836,0.240951,6.38325,-4.25725,-4.79117,-3.38668,-3.90747,-3.33162,-3.25742,-3.31921,-3.89627,-4.21718,4.74749,-3.17586,6.31819,9.89505,6.4586,-6.39394,3.34619,-8.73548 --3.65411,0.993155,0.767924,3,7,0,6.60605,5.44127,6.61815,-0.0325184,-1.1976,0.896491,-0.546729,-0.379508,0.475568,-0.705965,0.820201,5.22606,11.3744,2.92963,0.769089,-2.4846,1.82294,8.58865,10.8695,-4.77955,-3.27846,-3.7602,-3.47726,-3.12977,-3.31963,-3.66439,-3.81128,-20.8127,12.0894,-31.9051,6.68422,-11.9847,0.258893,-9.10382,12.2758 --3.78746,0.765526,1.01122,3,11,0,5.87834,2.34595,2.7573,0.339621,0.564857,1.02175,0.471452,-0.584909,0.598946,-0.785966,0.120961,3.28238,5.16321,0.733178,0.178806,3.90342,3.64588,3.99742,2.67947,-4.98468,-3.26176,-3.71875,-3.5091,-3.26458,-3.34576,-4.20189,-3.94337,12.8611,3.0969,13.9051,4.16192,-1.74251,9.07279,24.7648,27.3732 --4.94715,0.420389,0.970227,3,15,0,7.0274,2.94709,2.04289,-0.0614917,0.454446,0.444375,-1.27894,0.457742,1.32688,1.09464,0.48159,2.82147,3.8549,3.88221,5.18332,3.87548,0.33435,5.65776,3.93093,-5.03579,-3.30743,-3.78404,-3.33047,-3.26289,-3.31866,-3.98318,-3.90979,7.74201,8.93612,-4.67304,8.0818,6.51133,-7.63549,2.0732,2.27413 --4.59003,0.946149,0.577937,3,7,0,14.8308,0.28168,3.82923,1.22649,-0.408687,-0.276345,0.159954,-0.225068,-0.779375,-0.345478,0.0220199,4.97818,-0.776509,-0.580156,-1.04123,-1.28328,0.894182,-2.70273,0.366,-4.80478,-3.60666,-3.70296,-3.58403,-3.11666,-3.31688,-5.36454,-4.01818,1.90972,-1.6572,-1.72206,0.444952,-5.84169,3.85023,17.3596,13.0481 --13.2509,0.483357,0.712337,2,3,0,15.8985,-4.25048,1.94977,-0.34429,-1.44218,-0.572405,-1.17195,2.2398,2.01482,1.19662,0.293755,-4.92177,-5.36654,0.116629,-1.91733,-7.06241,-6.53551,-0.322044,-3.67773,-6.03553,-4.11485,-3.7105,-3.64542,-3.34303,-3.55148,-4.90001,-4.18862,-12.605,-11.6265,-17.1115,4.90422,-5.45444,-8.22758,-9.10756,0.452207 --6.62986,0.995881,0.464157,3,7,0,14.1554,11.5434,8.64939,-0.0519788,-0.273364,0.475328,0.433758,-1.43228,-0.584446,-0.621406,0.169578,11.0938,15.6547,-0.84492,6.16862,9.17897,15.2951,6.4883,13.0102,-4.26214,-3.5145,-3.7006,-3.31969,-3.75574,-4.16126,-3.88412,-3.81088,29.5268,-7.63572,9.7893,9.12968,18.8103,37.3316,13.347,6.29979 --7.54069,0.686952,0.612185,3,7,0,11.9518,0.62999,0.823454,1.23057,-0.698872,-1.42509,-0.57813,-0.3462,1.31561,-1.00341,0.225404,1.6433,-0.543506,0.34491,-0.19627,0.0545011,0.153927,1.71333,0.815599,-5.17071,-3.58648,-3.71338,-3.53083,-3.12303,-3.31979,-4.5478,-4.00235,-9.59598,-4.92469,-7.97229,-3.75324,-4.89873,-13.8935,18.7708,12.3127 --4.57099,0.979962,0.528317,3,7,0,10.7072,2.49728,0.527938,-0.128248,-0.851009,-0.188345,0.16124,-0.119343,0.058732,0.562124,0.425169,2.42958,2.39785,2.43428,2.79405,2.048,2.58241,2.52829,2.72175,-5.07998,-3.37844,-3.74921,-3.38993,-3.17351,-3.32718,-4.41839,-3.94216,11.9419,11.0259,-18.0202,27.8267,-3.93057,1.70123,3.24097,10.4336 --2.75663,0.722714,0.680713,3,7,0,10.1561,5.93741,10.5475,0.120734,0.346759,0.190777,-0.035595,-0.00287877,0.0956748,0.191383,0.423914,7.21085,7.94963,5.90705,7.95601,9.59484,5.56198,6.94654,10.4086,-4.58741,-3.22154,-3.84648,-3.32061,-3.80907,-3.40283,-3.83242,-3.81322,1.63894,-2.12021,5.56456,12.7365,16.7922,-2.81259,-7.80758,-18.6704 --5.84881,0.376109,0.617036,3,7,0,10.0466,0.927475,1.50612,1.33375,-1.52458,0.105271,-0.119613,-0.762461,0.86445,-0.261326,-0.46884,2.93627,1.08603,-0.220881,0.533888,-1.36872,0.747324,2.22944,0.221347,-5.02297,-3.46054,-3.70661,-3.4896,-3.117,-3.3171,-4.46508,-4.02341,-15.638,-0.233756,21.9552,-6.86648,-9.86015,6.94605,-8.22791,-16.1333 --4.19682,0.990735,0.349338,4,15,0,9.76102,7.99594,12.9133,0.0484005,0.395188,0.144948,-0.223566,0.207186,0.704757,0.434069,0.675186,8.62095,9.8677,10.6714,13.6012,13.0991,5.10897,17.0967,16.7148,-4.46154,-3.23897,-4.05658,-3.4969,-4.34323,-3.3866,-3.2256,-3.84362,22.4279,8.25199,12.9331,11.9827,4.54392,13.0169,31.069,34.8546 --7.07918,0.915019,0.456342,3,7,0,8.21313,-2.68347,3.57726,1.41863,-1.53954,0.691167,-0.107355,-0.819904,0.618921,0.930178,0.00273004,2.39132,-0.210987,-5.61648,0.644017,-8.19079,-3.06751,-0.469432,-2.67371,-5.08433,-3.55863,-3.7049,-3.48377,-3.43534,-3.3852,-4.92712,-4.14159,3.78394,-16.4651,-30.3344,1.25388,-0.86537,-10.3677,3.88449,-0.146058 --2.86444,0.981426,0.537409,3,7,0,8.71371,2.85645,7.26779,-0.128323,-0.668434,0.181344,-0.311498,-0.970908,0.210823,0.0579351,0.52059,1.92382,4.17442,-4.19991,3.27751,-2.00159,0.592546,4.38867,6.63999,-5.13803,-3.2947,-3.69434,-3.37409,-3.12236,-3.31752,-4.14787,-3.85365,2.56577,14.7548,2.80736,-4.44763,-4.32711,-17.0153,1.21005,6.803 --4.60125,0.582927,0.691705,2,7,0,9.7962,2.63658,2.49957,0.641203,-1.65913,0.0247774,-0.43874,0.0732635,0.0238743,-0.575603,0.95811,4.23931,2.69851,2.8197,1.19782,-1.51052,1.53992,2.69625,5.03144,-4.88159,-3.36205,-3.75768,-3.45595,-3.11777,-3.31804,-4.39255,-3.88425,-7.08404,-8.5867,-6.27035,2.52007,-8.61853,-5.21263,17.9417,26.9161 --8.83342,0.0272323,1.03984,3,15,0,14.4169,0.152553,1.62166,-0.168052,-0.3037,1.87589,1.41658,1.31649,0.405747,1.12611,-1.40176,-0.119971,3.19461,2.28745,1.97872,-0.339945,2.44977,0.810539,-2.12063,-5.38417,-3.33698,-3.74613,-3.42102,-3.11885,-3.32552,-4.69891,-4.11701,-9.59414,5.6781,-2.83657,7.94813,-13.614,3.02526,9.89876,10.3229 --8.83342,0,2.55134,0,1,1,12.5613,0.152553,1.62166,-0.168052,-0.3037,1.87589,1.41658,1.31649,0.405747,1.12611,-1.40176,-0.119971,3.19461,2.28745,1.97872,-0.339945,2.44977,0.810539,-2.12063,-5.38417,-3.33698,-3.74613,-3.42102,-3.11885,-3.32552,-4.69891,-4.11701,-2.92456,17.0053,12.2983,-10.903,-7.44437,11.8454,-10.1471,16.9714 --3.90979,0.993658,0.255279,4,15,0,11.9407,5.84904,2.06545,0.173979,0.365401,-0.680028,-0.539645,-0.389868,1.07919,-0.79627,-0.44345,6.20838,4.44447,5.04378,4.20438,6.60375,4.73442,8.07805,4.93311,-4.68227,-3.28473,-3.8179,-3.34913,-3.47306,-3.37446,-3.71375,-3.88638,0.629868,1.51477,21.3053,0.00364437,6.21554,-2.196,8.17337,34.7273 --4.11962,0.98495,0.263618,4,15,0,7.70871,2.68936,4.95206,0.314912,0.368429,0.982967,-1.42815,-0.20719,0.717644,1.0033,0.484845,4.24883,7.55708,1.66335,7.65775,4.51385,-4.3829,6.24318,5.09035,-4.88058,-3.2225,-3.734,-3.31862,-3.30383,-3.43657,-3.91264,-3.88299,16.1441,-2.63176,20.6311,6.66271,17.8222,-6.11577,5.54309,-2.3587 --4.27185,0.995757,0.342929,4,15,0,6.11449,8.18165,4.62279,0.54548,-1.11957,-1.05924,0.16674,0.284901,0.460053,-1.02028,0.239665,10.7033,3.28501,9.49869,3.46512,3.0061,8.95245,10.3084,9.28957,-4.29182,-3.33268,-3.99664,-3.36847,-3.21523,-3.57816,-3.51733,-3.82065,21.5253,-6.51752,19.9676,-11.5313,-8.94474,30.671,9.75309,22.9446 --5.18641,0.880556,0.529931,3,7,0,9.09384,8.96306,5.61108,-0.333743,-0.725179,-1.19285,0.0156827,0.196879,0.100454,-0.684624,1.30164,7.0904,2.26991,10.0678,5.12158,4.89403,9.05106,9.52672,16.2667,-4.59857,-3.38569,-4.02506,-3.33141,-3.3306,-3.58468,-3.58051,-3.8374,-0.826673,-13.1582,8.66917,-0.637343,2.33635,8.73702,17.8508,8.30145 --5.88076,0.481557,0.625835,3,7,0,8.42846,3.19187,1.05689,-0.59885,1.31136,0.154331,0.023238,-0.335032,0.818831,1.55454,-0.421894,2.55895,3.35498,2.83777,4.83485,4.57783,3.21643,4.05728,2.74597,-5.06532,-3.3294,-3.75809,-3.33621,-3.30821,-3.33713,-4.19352,-3.94147,-8.45002,18.2042,-16.888,-2.47388,-8.07217,12.6232,7.79234,-31.4738 --3.84432,0.993731,0.221688,4,15,0,7.75657,4.89181,12.7852,1.02482,-0.838549,0.382276,-0.0435362,-0.433237,-0.310857,-0.737331,0.384527,17.9943,9.77928,-0.647212,-4.5351,-5.82919,4.33519,0.917451,9.80805,-3.84946,-3.23735,-3.70234,-3.86666,-3.26012,-3.3628,-4.68059,-3.81672,-4.10012,2.60583,-1.25275,-9.86788,-2.4036,23.2069,-23.1346,-2.66636 --3.19065,1,0.392667,3,7,0,4.97823,5.36055,5.27546,0.876377,-0.164911,0.463354,0.175173,-0.0597274,1.62743,0.844469,0.140041,9.98385,7.80496,5.04546,9.81552,4.49057,6.28467,13.946,6.09933,-4.34828,-3.22171,-3.81795,-3.34959,-3.30225,-3.43224,-3.3037,-3.86304,30.8078,16.5062,0.167465,11.8289,19.8881,3.2309,14.8805,22.628 --3.51408,0.171095,0.726833,3,7,0,5.22338,3.3027,3.41676,0.902522,-0.418402,1.07339,0.293725,0.21025,0.917386,0.851126,0.714122,6.3864,6.97021,4.02107,6.21079,1.87312,4.30629,6.43719,5.74268,-4.66509,-3.22683,-3.78781,-3.31941,-3.16712,-3.36201,-3.89002,-3.86973,-6.12939,27.9116,3.83913,14.643,-10.6683,-10.5022,-3.95772,8.4373 --3.30492,0.996823,0.09911,5,31,0,8.21665,3.48301,3.70485,0.827558,-0.482933,1.18719,0.286251,0.158261,0.900013,0.631104,0.643363,6.54899,7.88136,4.06934,5.82116,1.69381,4.54352,6.81742,5.86657,-4.64954,-3.22159,-3.78914,-3.32258,-3.16096,-3.36872,-3.84677,-3.86736,-0.371636,11.8285,0.0503053,26.3925,6.42173,-1.20405,-1.98072,-7.96929 --6.04689,0.987214,0.185529,5,31,0,7.79939,2.95824,2.17406,-0.0281561,0.0745863,-1.49037,-0.451056,-0.779909,-0.405492,-1.41046,-0.817369,2.89702,-0.281912,1.26267,-0.108193,3.12039,1.97761,2.07667,1.18122,-5.02734,-3.56447,-3.72702,-3.52562,-3.22096,-3.32078,-4.48929,-3.98994,-8.74605,-9.37948,9.33824,8.90748,14.787,10.8987,-17.3233,13.3748 --6.66378,0.965438,0.338628,4,15,0,9.25762,8.26353,5.28245,0.496311,-0.874521,1.13111,0.205186,0.55903,1.50268,1.59359,0.921623,10.8853,14.2386,11.2166,16.6816,3.64391,9.34741,16.2013,13.132,-4.27791,-3.41612,-4.08628,-3.70416,-3.24929,-3.60476,-3.2377,-3.81129,4.93617,2.09637,20.8035,25.369,1.33279,12.4517,14.9844,-15.0983 --9.32776,0.515315,0.577513,3,7,0,10.7559,-2.11089,1.42434,0.256356,0.54857,-0.988022,0.639771,-1.21522,-0.540362,-1.58987,-1.21369,-1.74575,-3.51816,-3.84177,-4.3754,-1.32954,-1.19964,-2.88055,-3.83959,-5.59323,-3.88486,-3.69291,-3.85154,-3.11683,-3.33683,-5.40151,-4.19649,36.9122,-16.2258,20.4286,5.72964,-4.97606,-13.2118,-16.7014,29.3922 --8.31927,0.994971,0.241517,4,15,0,15.5342,4.70592,7.6138,0.36473,-0.0676951,0.597863,0.718595,-1.71962,2.30586,-0.265931,2.11068,7.4829,9.25792,-8.38689,2.68117,4.1905,10.1772,22.2622,20.7762,-4.56244,-3.22944,-3.7482,-3.39391,-3.28247,-3.66485,-3.31236,-3.92817,25.8542,25.4587,-18.7462,4.51292,9.86799,5.16545,39.3194,3.89241 --7.42766,0.812534,0.452488,3,7,0,12.3022,2.24534,9.05436,0.404762,-0.329461,0.543535,0.607525,-0.767844,2.39434,-0.388196,2.22072,5.9102,7.1667,-4.70699,-1.26953,-0.737716,7.74609,23.9246,22.3525,-4.71134,-3.225,-3.69722,-3.59942,-3.11659,-3.50489,-3.39703,-3.9747,8.19924,11.1348,-5.86228,15.054,1.81323,-6.88372,20.7452,27.4436 --7.78776,0.180181,0.480603,3,7,0,13.5874,2.75623,10.419,0.622268,-1.11228,0.43892,1.14392,0.0694157,2.01198,0.152415,2.11633,9.23962,7.32932,3.47947,4.34424,-8.83255,14.6747,23.719,24.8062,-4.4091,-3.22377,-3.77353,-3.34598,-3.49486,-4.08955,-3.38506,-4.06239,11.5822,-7.73013,-0.331948,4.25509,-12.9211,11.4683,27.1405,5.75888 --6.9001,0.969913,0.0740524,6,63,0,13.594,12.058,4.18406,-0.0648139,-0.382458,0.152189,-0.341165,0.970118,-1.013,0.446057,-0.811479,11.7868,12.6948,16.117,13.9243,10.4578,10.6306,7.81956,8.66273,-4.21114,-3.33173,-4.40532,-3.51496,-3.92654,-3.70009,-3.73973,-3.8265,36.2511,24.3969,6.90105,13.0228,-3.67789,7.91147,25.858,7.73567 --6.5416,0.999515,0.128772,5,31,0,11.4786,2.57159,2.36865,0.42135,-1.12051,-0.539185,-2.34866,-0.219107,-0.139471,0.38093,0.758864,3.56962,1.29445,2.0526,3.47388,-0.0825059,-2.99156,2.24123,4.36907,-4.95331,-3.44635,-3.74139,-3.36821,-3.12136,-3.38267,-4.46322,-3.89917,21.7672,11.7543,-8.01494,0.331185,-7.79319,4.45699,-2.29863,4.73141 --7.71496,0.992812,0.242999,4,15,0,11.1728,10.8753,5.40103,0.829687,-0.536054,0.377069,-2.08578,-0.548593,-1.03427,-0.314185,1.19066,15.3565,12.9119,7.91236,9.1784,7.98008,-0.390066,5.28923,17.3061,-3.98223,-3.34216,-3.9241,-3.33644,-3.61395,-3.32482,-4.02934,-3.85276,15.6032,-1.08899,7.58365,10.3347,13.9335,12.8821,13.2355,10.4518 --7.744,0.784158,0.44532,3,15,0,13.5689,6.3625,3.39058,1.42357,0.867495,-0.509128,-1.60991,-0.472548,-1.76762,-0.583595,-0.185086,11.1892,4.63626,4.76029,4.38377,9.3038,0.903989,0.369235,5.73495,-4.25499,-3.2781,-3.80915,-3.34512,-3.77152,-3.31687,-4.77574,-3.86988,33.171,-14.6499,1.60859,-4.37055,9.22029,26.1477,-12.8533,-27.4446 --9.14702,0.921099,0.436284,3,15,0,15.1267,3.42808,1.03997,0.0653745,1.26372,-1.42617,1.55846,0.0229298,0.31424,2.09131,1.15201,3.49607,1.94491,3.45193,5.60299,4.74232,5.04884,3.75488,4.62614,-4.96131,-3.40484,-3.77283,-3.3249,-3.31971,-3.38457,-4.23614,-3.89322,5.0208,-8.00297,23.7896,10.7222,3.19587,5.75096,25.1285,5.75607 --5.64231,0.613018,0.639127,3,7,0,13.512,11.5627,8.03223,0.858163,-0.183666,-0.663918,-1.20858,-0.591247,0.732643,-1.01626,0.66443,18.4557,6.22996,6.81367,3.39986,10.0875,1.85509,17.4475,16.8996,-3.82942,-3.23719,-3.87963,-3.37039,-3.875,-3.31986,-3.22305,-3.84636,21.2801,-19.6462,9.41011,3.51553,12.6482,-9.67315,28.888,18.1251 --6.96789,0.890373,0.380072,3,15,0,9.52225,12.0962,18.4962,0.845203,-0.352802,-0.504727,-1.49215,-0.391342,0.480822,-0.778379,0.248976,27.7292,2.76069,4.85787,-2.30083,5.57072,-15.5028,20.9896,16.7013,-3.62715,-3.35878,-3.81213,-3.67429,-3.38267,-4.44222,-3.26621,-3.84342,44.3811,6.29434,-1.68046,4.62562,4.71122,-14.5454,20.5738,21.7365 --6.78455,0.746986,0.507269,3,7,0,11.0379,10.2214,4.24852,0.389175,-1.15783,0.527886,0.863407,-2.01097,0.816667,0.487443,-0.0120267,11.8748,12.4642,1.6778,12.2923,5.30237,13.8896,13.691,10.1703,-4.20481,-3.32117,-3.73427,-3.43257,-3.36135,-4.00337,-3.31436,-3.81448,19.3305,0.727334,4.07017,1.42497,20.72,7.10878,0.520929,51.7842 --7.41991,0.498082,0.447361,2,3,0,11.8444,10.6335,1.16788,0.506801,-1.2438,0.297212,0.412841,-1.7931,0.783238,-0.0569512,-0.332821,11.2253,10.9806,8.53933,10.5669,9.18085,11.1156,11.5482,10.2448,-4.2523,-3.26594,-3.9516,-3.36941,-3.75598,-3.73967,-3.42965,-3.81406,4.04138,5.67414,5.6443,18.8387,24.643,7.35035,2.42168,-32.7704 --7.0477,0.994685,0.195373,4,15,0,10.9791,10.2427,1.86139,-0.0365651,-1.81321,0.007168,0.093616,-1.68828,0.861062,-0.0758013,-0.388155,10.1747,10.2561,7.10018,10.1016,6.86762,10.417,11.8455,9.52021,-4.33308,-3.24697,-3.89077,-3.35659,-3.49826,-3.68328,-3.41091,-3.8188,-6.20209,11.073,22.8751,14.0662,-4.16889,-2.00494,9.51006,13.9595 --8.43706,1,0.349143,4,15,0,11.8463,1.80069,0.132451,0.741161,1.69883,-0.0406002,-0.19151,1.11644,0.103423,0.447171,0.995862,1.89885,1.79531,1.94856,1.85992,2.0257,1.77532,1.81439,1.93259,-5.14092,-3.41401,-3.73936,-3.42601,-3.17267,-3.31932,-4.53139,-3.96572,-21.0281,-2.92592,22.1328,5.74341,-2.21513,-3.52252,-6.74198,26.6643 --11.2045,0.423248,0.627131,3,7,0,16.0971,4.3762,3.68449,-1.27623,0.32178,0.513804,0.439323,2.51483,-1.81379,0.667766,-1.08527,-0.326061,6.26931,13.6421,6.83658,5.5618,5.99488,-2.30672,0.377537,-5.41002,-3.2365,-4.23246,-3.31694,-3.38195,-3.41993,-5.28334,-4.01777,-27.1736,3.20202,16.6769,6.80419,9.28107,-2.84836,-5.3153,-4.54865 --9.21942,1,0.226849,3,7,0,12.6068,3.29074,2.52735,-1.24311,0.634221,0.0975326,0.278204,2.16819,-1.60789,0.873981,-0.850193,0.148966,3.53724,8.77052,5.4996,4.89364,3.99386,-0.772961,1.14201,-5.35072,-3.3211,-3.96212,-3.32614,-3.33058,-3.35387,-4.98364,-3.99125,0.548499,-5.78983,19.2869,2.72075,-0.834196,27.8275,22.8897,-6.45429 --5.47212,0.981521,0.404996,3,7,0,12.1173,4.32698,0.524931,-0.256605,-1.22642,0.512519,-0.224162,0.222497,1.09982,0.765243,0.114,4.19228,4.59602,4.44378,4.72868,3.68319,4.20931,4.90431,4.38682,-4.88656,-3.27946,-3.79975,-3.33815,-3.25155,-3.35939,-4.07901,-3.89876,1.19594,18.5553,-12.1199,-5.28642,-1.67175,0.85067,-15.5238,30.5151 --8.87901,0.531472,0.681097,2,7,0,14.7338,2.587,0.912931,0.294084,-2.33027,1.73965,0.954745,0.668117,0.162513,1.19129,-0.111963,2.85548,4.17518,3.19694,3.67456,0.459623,3.45862,2.73536,2.48479,-5.03198,-3.29467,-3.76653,-3.36253,-3.12931,-3.34181,-4.38657,-3.94903,-16.3303,8.79336,-9.43226,0.608446,4.1717,-1.89645,-5.58435,-5.99351 --10.71,0.961828,0.337877,4,15,0,18.2466,4.29429,4.43084,-1.83419,0.844567,-1.58189,-0.892166,0.818481,1.84691,-0.973522,-1.30157,-3.83272,-2.71481,7.92085,-0.0192334,8.03643,0.341241,12.4776,-1.47278,-5.87882,-3.79556,-3.92447,-3.52043,-3.62022,-3.31863,-3.37401,-4.08943,19.8148,-4.26303,-16.4664,7.81707,-14.1146,-8.30608,1.23421,2.44464 --10.71,0.00429409,0.535319,2,3,0,14.4116,4.29429,4.43084,-1.83419,0.844567,-1.58189,-0.892166,0.818481,1.84691,-0.973522,-1.30157,-3.83272,-2.71481,7.92085,-0.0192334,8.03643,0.341241,12.4776,-1.47278,-5.87882,-3.79556,-3.92447,-3.52043,-3.62022,-3.31863,-3.37401,-4.08943,-0.655417,2.33819,15.8949,11.8837,6.66555,-11.8212,19.3932,-8.81638 --9.02932,0.999855,0.0665345,6,63,0,14.8624,6.21995,3.29596,2.54445,-2.05164,0.294322,-0.208964,-0.987829,-0.922273,1.27365,0.682794,14.6063,7.19003,2.96411,10.4178,-0.542169,5.53122,3.18018,8.47041,-4.02563,-3.2248,-3.761,-3.36511,-3.11746,-3.40168,-4.31966,-3.82854,-1.94261,11.1267,-2.23907,6.00518,4.12347,9.13871,-1.55478,15.5947 --12.7248,0.991627,0.117139,5,31,0,19.2249,1.46842,3.28948,0.955072,0.868397,-2.12866,0.534431,-0.507094,1.04631,-3.19369,0.46605,4.61011,-5.53377,-0.19966,-9.03716,4.32499,3.22642,4.91025,3.00148,-4.84274,-4.13734,-3.70684,-4.3796,-3.2912,-3.33732,-4.07823,-3.93427,-6.79426,-13.6215,-28.7434,-17.8664,1.55908,6.2357,-17.9615,-17.5719 --6.66557,0.998644,0.200043,4,15,0,15.6432,1.94004,1.70139,-0.877981,-0.616828,1.80802,-0.46792,-0.448169,0.351073,1.48422,-0.671562,0.446254,5.01618,1.17753,4.46528,0.890577,1.14393,2.53735,0.797453,-5.31412,-3.26604,-3.72561,-3.34338,-3.13823,-3.31692,-4.41699,-4.00298,12.0404,33.211,-8.07559,-13.9926,-2.5547,12.8057,17.6319,34.8065 --6.86859,0.970641,0.344959,4,15,0,13.3441,2.25531,0.647759,0.678266,1.28101,-0.844213,-0.0925989,1.03994,1.2999,-0.235705,0.839938,2.69466,1.70846,2.92894,2.10263,3.08509,2.19533,3.09733,2.79939,-5.05001,-3.41944,-3.76018,-3.41594,-3.21918,-3.32274,-4.33197,-3.93995,-6.29572,5.30872,-6.91156,5.22784,6.40557,9.84435,1.63553,11.9142 --3.68642,0.285714,0.548896,3,7,0,11.0139,5.82576,4.98991,0.445869,0.0970939,1.13354,-0.550254,-1.18751,0.929544,-0.545573,-0.145753,8.05061,11.482,-0.0998016,3.1034,6.31025,3.08004,10.4641,5.09847,-4.51138,-3.28215,-3.70796,-3.37958,-3.44604,-3.33471,-3.50547,-3.88282,-1.32638,10.211,11.5134,-13.7949,1.74556,-1.28031,-1.8315,9.41607 --4.14183,0.999472,0.151316,5,31,0,5.81549,1.49199,7.13326,0.531115,-0.52021,-0.552958,0.825878,1.14086,0.680745,0.704046,-0.0683649,5.28057,-2.45241,9.63001,6.51413,-2.21881,7.38319,6.34792,1.00432,-4.77404,-3.76779,-4.00308,-3.31781,-3.12533,-3.4852,-3.90038,-3.99589,5.78424,-11.3719,25.5667,2.47503,-1.33939,8.22757,-7.37216,-7.99606 --5.77077,0.921404,0.258731,4,15,0,11.3052,8.55359,2.12609,0.577639,0.0759579,1.35116,-0.759581,-1.55255,-0.000154278,0.252871,-0.516888,9.78171,11.4263,5.25273,9.09122,8.71509,6.93865,8.55326,7.45464,-4.36456,-3.28022,-3.82455,-3.3349,-3.69877,-3.46257,-3.66773,-3.84119,25.7673,20.7197,-9.34194,7.32844,-4.78184,6.4464,5.78728,21.6669 --6.90939,0.952564,0.36071,4,15,0,12.6592,0.299984,1.71253,0.142937,-0.25867,-1.58081,1.5046,1.07428,0.0518215,0.423454,0.365075,0.544769,-2.4072,2.13973,1.02516,-0.142996,2.87665,0.38873,0.925186,-5.30208,-3.76307,-3.74312,-3.46435,-3.1207,-3.33139,-4.77231,-3.99859,-14.7239,-3.86053,24.826,-1.90496,7.64847,-20.8901,-6.31629,7.1269 --7.04083,0.8782,0.540792,3,7,0,12.5217,8.371,2.586,0.377972,-1.2575,1.1122,-2.04065,-1.20799,0.486643,-0.779544,-0.308765,9.34843,11.2471,5.24713,6.3551,5.11909,3.09389,9.62945,7.57253,-4.40006,-3.27424,-3.82437,-3.31855,-3.34729,-3.33495,-3.57185,-3.83956,-8.30877,24.1395,26.8213,-10.5416,-13.9236,15.8417,6.85201,3.59022 --10.4712,0.0312093,0.670479,2,3,0,13.2953,6.05398,9.11541,-0.301858,-1.37684,0.785565,-2.76908,-0.588073,0.672782,-1.04376,-0.614443,3.30242,13.2147,0.693454,-3.46027,-6.49645,-19.1873,12.1867,0.453086,-4.98248,-3.35749,-3.71817,-3.76897,-3.30265,-5.00083,-3.3905,-4.01507,0.237704,9.71519,-16.151,-5.2462,10.7161,-11.7518,20.335,1.62097 --8.86044,1,0.103433,5,31,0,13.0495,3.65475,0.657329,1.06857,0.993681,-0.267731,2.05595,0.343947,-0.932964,1.24969,1.23092,4.35716,3.47876,3.88084,4.47621,4.30793,5.00619,3.04149,4.46387,-4.86918,-3.32373,-3.784,-3.34315,-3.29008,-3.38315,-4.34031,-3.89695,15.2773,-11.3488,14.2502,25.6859,13.5729,-2.89279,-7.15154,5.12575 --7.73282,0.998097,0.174071,4,31,0,12.3297,-0.317946,0.30493,-0.0700247,0.950302,0.433853,1.00579,0.687474,-0.383946,-0.685886,1.13098,-0.339298,-0.185651,-0.108314,-0.527093,-0.0281698,-0.0112491,-0.435023,0.0269245,-5.41169,-3.55655,-3.70786,-3.55095,-3.12199,-3.32106,-4.92077,-4.03054,-5.62772,-0.310577,5.49102,20.5928,2.89931,-1.87682,-7.87233,-7.72369 --7.663,0.992628,0.289442,4,15,0,12.812,5.67211,11.9747,2.15922,0.293588,-1.06717,-0.430143,0.620461,1.4876,0.788698,-0.318339,31.5281,-7.10688,13.1019,15.1165,9.18773,0.521286,23.4856,1.86011,-3.65465,-4.36261,-4.19792,-3.58906,-3.75684,-3.31778,-3.37198,-3.96798,32.3548,-21.6825,13.2219,5.99426,16.5924,7.45847,20.273,-26.1621 --5.80392,0.378065,0.471592,3,7,0,11.1395,3.78751,8.93039,1.56751,0.408403,-0.59347,-0.0394752,0.493958,1.80032,1.47838,-0.0821701,17.786,-1.5124,8.19875,16.9901,7.43471,3.43498,19.8651,3.0537,-3.85882,-3.67395,-3.93647,-3.72924,-3.55533,-3.34133,-3.23892,-3.93282,41.8075,-1.8949,10.0772,-3.79049,3.61079,-12.5323,20.7032,18.1358 --5.62999,0.998615,0.175784,5,31,0,9.73086,10.6273,1.79749,0.095776,-0.458993,0.170023,0.731531,0.0393832,-0.320807,-1.22988,-0.221065,10.7995,10.9329,10.6981,8.41662,9.80229,11.9422,10.0507,10.23,-4.28445,-3.26453,-4.05801,-3.32513,-3.83647,-3.8116,-3.53748,-3.81415,15.863,20.1191,-22.3033,-22.0062,-3.90934,13.4274,32.7167,12.7025 --4.94753,0.979901,0.289495,4,15,0,9.18783,5.34352,10.1522,0.209323,-0.512977,-0.484104,-1.42263,-0.507954,0.893691,-0.0626177,1.63493,7.46861,0.428813,0.186687,4.70782,0.135695,-9.09926,14.4164,21.9416,-4.56374,-3.50814,-3.71136,-3.33855,-3.12412,-3.7383,-3.28573,-3.96183,19.27,-7.44073,31.0883,6.18554,-10.2342,-17.6043,17.7583,31.8866 -# Adaptation terminated -# Step size = 0.298701 -# Diagonal elements of inverse mass matrix: -# 10.9788, 1.6107, 0.905631, 0.857679, 0.874675, 0.918614, 0.905908, 0.656822, 0.685638, 0.897676 --7.7547,0.983555,0.298701,3,15,0,10.6146,2.23865,2.41786,1.04403,0.909048,-0.0265812,1.48909,-0.429918,0.608725,-0.0612811,-2.36912,4.76296,2.17438,1.19917,2.09048,4.4366,5.83906,3.71046,-3.48956,-4.8269,-3.39121,-3.72597,-3.41643,-3.29861,-3.4136,-4.24248,-4.17957,3.72461,7.9298,-1.0375,6.80849,2.91272,11.9743,-1.4385,1.23895 --8.68292,0.991264,0.298701,4,15,0,13.6695,2.4904,4.12539,0.902298,-0.454897,-1.68334,0.757774,-1.41872,1.34609,-0.207312,-2.119,6.21273,-4.45403,-3.36238,1.63516,0.613773,5.61651,8.04353,-6.25129,-4.68184,-3.99704,-3.69178,-3.43577,-3.13224,-3.4049,-3.71718,-4.32337,1.81269,6.1436,11.5124,-0.601469,0.804788,7.66185,-3.0383,-24.4993 --7.55395,0.996231,0.298701,4,15,0,12.4429,6.5832,1.06536,0.274415,0.657289,1.17664,-0.611537,1.64139,-0.387932,-0.0793054,1.823,6.87555,7.83675,8.33187,6.49871,7.28345,5.93169,6.16991,8.52536,-4.61864,-3.22166,-3.94233,-3.31787,-3.53972,-3.41734,-3.92128,-3.82794,6.55809,-10.5003,-7.5713,14.7557,15.487,0.412797,-5.42402,8.2997 --4.01204,0.998042,0.298701,4,15,0,10.2128,2.60019,8.66261,1.37939,0.576383,-0.046111,0.109333,1.22423,0.190152,0.00226807,-0.0969001,14.5494,2.20075,13.2052,2.61984,7.59318,3.5473,4.2474,1.76079,-4.02903,-3.38968,-4.20443,-3.39611,-3.57198,-3.34365,-4.16719,-3.9711,-0.983463,1.2052,4.61561,-1.58858,10.7773,-3.79109,4.78015,-10.8444 --5.65096,0.991113,0.298701,4,15,0,7.49059,1.12147,6.25997,0.437656,-0.604327,0.72261,-1.18806,-0.156402,2.53783,0.624698,0.566016,3.86118,5.64499,0.142399,5.03206,-2.6616,-6.31576,17.0082,4.66471,-4.92184,-3.24925,-3.71081,-3.33284,-3.13321,-3.53799,-3.22644,-3.89235,-8.51363,0.860218,5.03511,-4.33438,-12.4677,8.23369,24.9681,-2.2249 --4.84208,0.960741,0.298701,4,15,0,10.859,2.72065,8.03039,1.16836,0.466901,1.46806,-0.723998,-0.457919,1.73974,0.891924,0.290516,12.103,14.5097,-0.956624,9.88314,6.47004,-3.09335,16.6914,5.0536,-4.18858,-3.4334,-3.69968,-3.35118,-3.46062,-3.38607,-3.23009,-3.88377,-2.20352,13.1653,-5.8092,29.0462,15.4253,-20.6826,25.5801,-33.2307 --4.66496,0.998449,0.298701,4,15,0,7.29661,6.98442,1.28798,0.199234,-0.578286,-0.943643,0.901358,0.373301,-0.560097,-0.550666,0.0641013,7.24103,5.76902,7.46522,6.27517,6.2396,8.14535,6.26302,7.06698,-4.58462,-3.24641,-3.90544,-3.319,-3.43969,-3.52781,-3.91031,-3.84686,14.091,1.73235,1.8459,19.32,6.80066,-6.51085,-1.01646,27.0551 --3.512,0.977781,0.298701,3,15,0,9.09646,7.14853,2.60905,0.513296,-0.103211,-0.423868,-0.181991,-0.00180417,-0.114474,-1.10198,0.43561,8.48774,6.04264,7.14382,4.27342,6.87925,6.6737,6.84986,8.28506,-4.47305,-3.24068,-3.8925,-3.34755,-3.49939,-3.44985,-3.84315,-3.83061,9.52831,-7.47338,35.6989,18.4684,8.98124,-6.06615,15.7861,31.6385 --7.52359,0.938567,0.298701,4,15,0,9.13931,8.14943,0.263315,0.225081,-0.155377,-0.611808,1.22872,0.349533,-1.6221,0.126378,-0.38947,8.2087,7.98833,8.24147,8.18271,8.10852,8.47297,7.72231,8.04688,-4.49742,-3.22152,-3.93834,-3.32261,-3.62829,-3.5476,-3.74968,-3.83343,-0.165915,5.76477,17.8052,26.2853,6.77314,23.3357,7.51791,16.4854 --4.62389,0.993364,0.298701,4,15,0,11.1049,1.89158,6.67635,0.406705,0.0177775,0.83105,0.206522,-1.79062,1.71347,0.70581,0.356242,4.60688,7.43995,-10.0633,6.60381,2.01026,3.27039,13.3313,4.26997,-4.84307,-3.22309,-3.78897,-3.31748,-3.1721,-3.33813,-3.33051,-3.90152,28.8598,20.0743,8.73121,16.5453,-2.18373,14.6524,21.2544,2.81522 --5.01313,0.8888,0.298701,3,15,0,11.3011,-0.640084,5.25457,-0.0615902,-0.455726,0.101374,-1.31994,-0.0722716,1.11467,-0.564605,-0.272768,-0.963714,-0.107408,-1.01984,-3.60684,-3.03473,-7.5758,5.21704,-2.07336,-5.4912,-3.55017,-3.69919,-3.78173,-3.14172,-3.62074,-4.03854,-4.11496,1.52945,2.96865,-12.319,-28.5135,-0.983164,11.2149,4.93126,24.7897 --6.55973,0.971071,0.298701,4,15,0,10.3033,4.18729,2.88789,0.962797,-2.05107,1.49574,-0.968338,0.806239,0.0815295,0.794417,0.152236,6.96774,8.50681,6.51562,6.48148,-1.73598,1.39084,4.42274,4.62693,-4.61,-3.22281,-3.86838,-3.31794,-3.11951,-3.31747,-4.14323,-3.8932,28.8099,1.92546,7.04935,13.0219,-3.62309,-4.63312,4.54307,23.5494 --8.62499,0.982423,0.298701,4,15,0,11.3691,4.92916,0.588888,-0.236868,1.96674,-1.45432,1.30121,-1.06584,0.679079,-0.701553,0.0137819,4.78967,4.07273,4.3015,4.51602,6.08735,5.69543,5.32906,4.93727,-4.82414,-3.29864,-3.79565,-3.34233,-3.42623,-3.40794,-4.02429,-3.88629,0.0922208,11.2024,7.31819,12.4995,-6.51547,11.7375,2.00955,42.4336 --7.47556,0.998721,0.298701,4,15,0,11.2321,3.69694,3.11019,1.1349,-2.26506,1.35308,-1.15794,0.805937,0.246268,1.16364,0.116058,7.22669,7.90526,6.20356,7.31609,-3.34783,0.0955225,4.46288,4.0579,-4.58595,-3.22157,-3.85697,-3.31725,-3.15019,-3.32021,-4.13779,-3.90665,-10.0507,17.3266,9.16821,19.1481,3.76972,11.4349,-0.033516,6.50526 --7.3704,0.99751,0.298701,4,15,0,10.5068,5.3085,2.02487,-0.0258842,1.91796,-1.18912,0.761624,-1.26888,1.08685,-0.809385,0.17961,5.25608,2.90068,2.73918,3.66959,9.19211,6.85069,7.50923,5.67218,-4.77651,-3.35154,-3.75586,-3.36267,-3.75739,-3.45828,-3.77181,-3.8711,13.8173,-4.1299,4.02224,8.20037,8.89667,6.71127,20.0719,14.0298 --6.83991,0.97355,0.298701,4,15,0,12.4238,3.43812,2.89883,-0.473306,1.63901,0.163853,1.99734,-0.172208,0.995594,0.458483,-0.199999,2.06608,3.9131,2.93891,4.76718,8.18932,9.22806,6.32417,2.85835,-5.12158,-3.30504,-3.76042,-3.33744,-3.63742,-3.59659,-3.90315,-3.93828,17.7642,3.56563,-1.34009,-3.72439,22.681,-7.35995,4.03563,8.85598 --6.83526,0.996304,0.298701,4,15,0,10.2425,7.0597,1.27946,-0.0453801,0.956712,1.59262,1.28471,-0.993271,0.620565,-0.0834664,0.809644,7.00164,9.09739,5.78886,6.95291,8.28378,8.70344,7.85369,8.09561,-4.60684,-3.22754,-3.84239,-3.31684,-3.64819,-3.56205,-3.73626,-3.83284,33.5649,18.9799,-0.377558,10.1626,3.36204,9.45642,12.8131,-10.9919 --5.79477,0.983044,0.298701,4,15,0,10.7062,4.04007,0.81502,-0.530666,-0.044168,0.186341,-1.47419,-1.25898,0.56482,0.688018,-0.502246,3.60756,4.19194,3.01398,4.60082,4.00407,2.83857,4.50041,3.63073,-4.94919,-3.29403,-3.76217,-3.34062,-3.27074,-3.3308,-4.13272,-3.9174,-9.43892,-7.55156,6.35014,-1.99638,7.59003,0.561968,3.32156,-28.0944 --9.8068,0.920557,0.298701,3,7,0,12.6514,0.874211,10.208,0.0427079,-1.83176,0.00971456,-1.66762,-1.24099,0.525074,0.217826,1.24043,1.31017,0.973377,-11.7938,3.09777,-17.8244,-16.1488,6.23416,13.5365,-5.20998,-3.46839,-3.84256,-3.37976,-4.86345,-4.53205,-3.9137,-3.81295,-5.21029,-8.6347,-10.3807,-1.99545,-22.4047,5.56863,9.62114,23.0764 --11.4475,0.982014,0.298701,4,15,0,15.9371,8.8415,0.241532,-0.0514553,2.35631,-0.728345,0.686004,2.04782,0.938705,0.243557,-0.520455,8.82908,8.66559,9.33612,8.90033,9.41063,9.0072,9.06823,8.7158,-4.44371,-3.22374,-3.98875,-3.33176,-3.78518,-3.58177,-3.62041,-3.82596,16.3914,16.4899,12.6149,2.06429,-3.42583,17.7279,10.1855,-17.2291 --10.0514,0.996389,0.298701,4,15,0,16.2884,-0.818656,2.13681,0.0843353,-2.37649,0.845968,-1.0437,-1.9991,-0.317588,-0.235752,0.513024,-0.638448,0.989015,-5.09036,-1.32241,-5.89677,-3.04885,-1.49728,0.277578,-5.44957,-3.46729,-3.70006,-3.60304,-3.26418,-3.38457,-5.12224,-4.02137,17.9864,8.31681,-12.9326,1.60035,-8.12178,-4.44736,-14.5907,-6.79672 --13.1559,0.963751,0.298701,4,15,0,18.0462,11.6109,1.64121,0.468895,2.5045,-0.614176,1.04824,1.98425,1.36228,0.537382,-0.350698,12.3804,10.6029,14.8674,12.4928,15.7213,13.3313,13.8467,11.0353,-4.16915,-3.2554,-4.31505,-3.44151,-4.8421,-3.94518,-3.30777,-3.81075,25.2935,-0.56833,9.54221,17.5073,24.4219,17.1409,15.8932,-17.7112 --7.08193,0.997561,0.298701,4,15,0,19.2651,6.07401,0.689772,1.15892,1.61881,0.859374,-1.08876,0.0421594,-0.748595,0.18316,0.686523,6.8734,6.66678,6.10309,6.20034,7.19062,5.32301,5.55765,6.54755,-4.61884,-3.23041,-3.85338,-3.31948,-3.53028,-3.39406,-3.99558,-3.85519,3.27017,13.4715,2.1615,-6.1412,-0.522379,-14.9821,-3.39999,-0.0157706 --5.57585,0.994558,0.298701,4,15,0,10.6158,5.84473,5.89133,-0.899963,-1.83247,-0.492159,-0.623436,-0.651513,-0.0643056,-0.613286,-0.339408,0.542749,2.94526,2.00645,2.23166,-4.95096,2.17186,5.46589,3.84517,-5.30232,-3.34928,-3.74048,-3.41079,-3.21252,-3.32251,-4.00704,-3.91194,16.5711,15.171,28.9457,-0.327145,2.43587,4.9086,0.663583,-12.323 --6.76536,0.975243,0.298701,4,15,0,12.2683,4.38359,0.89636,1.39135,1.90303,-0.0195608,0.104554,0.675394,-0.192448,0.392009,0.923454,5.63073,4.36605,4.98898,4.73497,6.08938,4.4773,4.21108,5.21133,-4.73895,-3.28755,-3.81618,-3.33803,-3.42641,-3.3668,-4.17219,-3.88043,2.76181,9.9578,10.3277,4.7394,-6.77498,10.3015,-7.05533,-11.042 --9.25317,0.816203,0.298701,3,7,0,14.5181,6.93697,6.67539,1.18976,-2.40557,-0.985335,-1.79908,0.731956,1.48744,0.604734,-0.39436,14.8791,0.359472,11.8231,10.9738,-9.12115,-5.07263,16.8662,4.30446,-4.00956,-3.51341,-4.12067,-3.38209,-3.52328,-3.46922,-3.22795,-3.9007,-4.16668,1.61332,5.99166,4.19017,2.89936,15.0072,16.7762,17.4851 --7.81325,0.646365,0.298701,3,7,0,12.8649,5.76193,0.54568,0.14413,-1.38393,-0.270487,-0.996028,1.28902,1.86939,-0.182589,-0.534763,5.84058,5.61433,6.46532,5.66229,5.00675,5.21842,6.78201,5.47012,-4.71819,-3.24998,-3.86651,-3.32423,-3.33889,-3.39037,-3.85074,-3.87511,-0.909227,10.724,-33.9359,8.4312,-1.17107,-4.89478,14.1111,-30.3589 --6.60542,0.875125,0.298701,3,7,0,14.0705,4.95587,4.04039,1.07042,-0.760963,0.475797,-1.47746,-0.666631,0.551987,-1.28819,2.01291,9.28077,6.87828,2.26242,-0.248931,1.88128,-1.01365,7.18611,13.0888,-4.40568,-3.22781,-3.74562,-3.53397,-3.16741,-3.33359,-3.80622,-3.81114,3.80999,21.7928,28.3931,-8.69325,12.0191,-16.833,9.04318,-11.7799 --4.50532,0.989941,0.298701,4,15,0,8.41128,7.79679,10.5031,0.743388,-0.187786,-0.767432,0.793474,-0.69264,0.291896,0.546039,-0.478663,15.6047,-0.263623,0.521919,13.5319,5.82446,16.1307,10.8626,2.76934,-3.96842,-3.56296,-3.71575,-3.49314,-3.40365,-4.26286,-3.47624,-3.9408,11.6397,11.6523,9.47285,-0.2061,6.64866,9.76372,9.9483,11.9976 --5.28796,0.991442,0.298701,3,15,0,7.01639,10.9959,3.05685,1.34377,-0.511222,-0.224601,0.237142,-0.626694,0.0473024,0.300456,-0.574676,15.1036,10.3093,9.08018,11.9143,9.43317,11.7208,11.1405,9.2392,-3.99658,-3.24819,-3.97655,-3.41663,-3.78808,-3.79177,-3.45679,-3.82107,16.6539,2.99336,41.9386,17.7984,18.3652,-5.11286,22.3918,35.6695 --4.63004,0.999611,0.298701,4,15,0,7.20125,7.60096,3.68615,0.469656,-0.0312507,-1.12435,0.0961381,-1.12998,-0.116243,1.07088,-0.333348,9.33218,3.45646,3.4357,11.5484,7.48577,7.95534,7.17247,6.37219,-4.40141,-3.32474,-3.77242,-3.40232,-3.56066,-3.51674,-3.8077,-3.85819,-2.25633,-18.8758,-12.5712,12.2385,-2.73331,-9.38113,13.0969,11.1997 --4.30669,0.987236,0.298701,4,15,0,7.73897,0.0371261,3.01017,0.428541,0.330694,0.85175,0.166636,-0.0906632,0.705351,-0.447345,1.27568,1.32711,2.60104,-0.235786,-1.30946,1.03257,0.53873,2.16035,3.87714,-5.20797,-3.36727,-3.70645,-3.60215,-3.14167,-3.31771,-4.476,-3.91113,7.29926,-10.4508,-6.64566,19.261,12.8631,-1.72379,3.4896,3.52537 --3.49229,0.996868,0.298701,4,15,0,7.62465,6.9838,6.87242,0.378316,-0.590129,-0.583883,-0.355284,-0.408933,-0.180997,-0.0542986,-1.15272,9.58374,2.97111,4.17344,6.61064,2.92818,4.54214,5.73991,-0.938195,-4.38067,-3.34797,-3.79203,-3.31746,-3.21141,-3.36868,-3.97307,-4.06764,30.2412,-12.7924,14.5308,-2.37243,7.88756,2.47146,8.4599,-5.60001 --7.72292,0.878291,0.298701,4,15,0,11.2143,6.7264,0.25135,-0.734834,0.126241,0.220359,1.69746,-1.14319,0.165531,0.212047,1.09532,6.5417,6.78178,6.43906,6.77969,6.75813,7.15305,6.768,7.0017,-4.65023,-3.22894,-3.86554,-3.31703,-3.4877,-3.47328,-3.85231,-3.84786,31.5156,-2.11747,25.6672,20.9,2.63129,-9.69392,18.3935,18.4473 --4.68236,0.991061,0.298701,4,15,0,9.55924,4.1002,0.56258,0.241544,-0.745265,-0.187999,-0.758055,-0.689622,-0.352762,-0.46964,-0.169607,4.23609,3.99444,3.71223,3.83599,3.68093,3.67373,3.90174,4.00478,-4.88193,-3.30175,-3.77952,-3.3582,-3.25142,-3.34637,-4.21533,-3.90796,20.7068,2.86837,17.8631,5.39166,12.8187,22.1478,-0.306658,-0.675052 --9.78298,0.951818,0.298701,3,7,0,11.2125,3.15265,4.48719,-0.212516,1.54939,1.08903,-0.524542,2.86987,0.0630142,-0.0879553,-0.528972,2.19905,8.03934,16.0303,2.75798,10.105,0.798928,3.43541,0.779051,-5.1063,-3.22153,-4.39886,-3.39119,-3.87741,-3.317,-4.28216,-4.00362,6.52567,5.82582,17.4287,-9.63402,22.1621,-23.1685,20.4727,-5.56005 --11.1961,0.87667,0.298701,4,15,0,16.0805,5.15572,0.128734,0.595588,-2.00942,-0.390667,1.48324,-2.0522,-0.720513,-0.495499,0.66729,5.23239,5.10543,4.89153,5.09193,4.89704,5.34666,5.06296,5.24162,-4.77891,-3.26342,-3.81316,-3.33188,-3.33082,-3.39491,-4.05836,-3.8798,-1.63227,18.4951,22.1955,7.68733,2.66571,10.5951,1.47494,-2.90966 --8.24126,0.993422,0.298701,4,15,0,14.8241,3.42068,0.425298,-0.865125,0.372864,-0.891908,0.910223,-1.40147,-1.53734,0.169262,1.15319,3.05275,3.04136,2.82464,3.49267,3.57926,3.8078,2.76686,3.91114,-5.01002,-3.34446,-3.75779,-3.36767,-3.24561,-3.34941,-4.38177,-3.91028,-2.19078,0.100497,8.1555,-7.5543,5.34258,13.215,-7.97665,-5.95907 --5.9643,0.970098,0.298701,4,15,0,13.9974,3.96665,3.98479,1.38071,-0.740707,0.625082,-0.978778,1.16337,1.9758,-0.0274478,-0.990747,9.46847,6.45747,8.60244,3.85727,1.01508,0.0664228,11.8398,0.0187281,-4.39014,-3.23342,-3.95445,-3.35765,-3.14123,-3.32044,-3.41126,-4.03084,9.76081,16.775,-4.98163,-2.75759,10.572,-4.36696,11.1993,-27.3693 --5.48185,0.988066,0.298701,4,15,0,11.7929,4.1014,2.20689,-0.377681,0.170808,-0.237586,0.937657,-1.13985,-0.957571,0.113267,1.37809,3.2679,3.57708,1.58589,4.35137,4.47836,6.17071,1.98815,7.14269,-4.98627,-3.31933,-3.7326,-3.34582,-3.30142,-3.42731,-4.50342,-3.84572,0.798528,-15.3148,-19.808,-4.81205,10.9382,7.32181,4.91527,-32.0633 --4.38005,0.98714,0.298701,4,15,0,8.86695,5.15186,5.96434,0.959798,-0.843638,0.295465,-0.463174,0.756777,1.09146,-0.306797,-1.55508,10.8764,6.91412,9.66554,3.32202,0.120118,2.38933,11.6617,-4.12316,-4.27858,-3.22742,-4.00484,-3.37273,-3.12391,-3.32481,-3.42239,-4.21048,-36.0836,0.59153,40.958,1.62196,-2.27046,9.97478,9.80003,-1.33365 --4.96688,0.963221,0.298701,4,15,0,8.71105,5.26593,8.48299,1.15289,0.254319,0.219258,-1.48178,-1.03984,-0.288793,0.525889,0.861689,15.0459,7.1259,-3.55503,9.72705,7.42331,-7.30403,2.8161,12.5756,-3.9999,-3.22534,-3.69213,-3.34756,-3.55414,-3.60178,-4.37428,-3.80982,-4.48204,6.87351,-5.80886,13.9341,11.2527,-12.7736,-0.870021,3.60276 --5.83487,0.975511,0.298701,4,15,0,8.61636,5.99676,1.36643,0.248946,-1.04507,1.61196,-0.4591,0.662238,-0.644418,0.988132,-0.343655,6.33693,8.19938,6.90166,7.34697,4.56876,5.36944,5.11622,5.52719,-4.66985,-3.22172,-3.88302,-3.31733,-3.30759,-3.39573,-4.05148,-3.87397,12.2293,1.70725,7.42174,19.9588,-1.73457,17.895,22.1444,21.0394 --7.48788,0.976065,0.298701,4,15,0,16.9931,2.62703,0.0716439,0.0622759,0.734601,-0.888637,0.303732,-0.084457,0.909003,-0.910035,0.308736,2.63149,2.56336,2.62098,2.56183,2.67966,2.64879,2.69215,2.64915,-5.05713,-3.36931,-3.75324,-3.39823,-3.19974,-3.32807,-4.39317,-3.94425,10.6398,-8.1006,30.541,-2.24406,0.899687,7.22348,2.16423,15.1106 --8.53411,0.980881,0.298701,4,15,0,11.9711,2.33485,0.0750435,-0.430727,0.543814,-1.06786,-0.0339002,0.676348,1.73066,-0.122957,0.407014,2.30252,2.25471,2.3856,2.32562,2.37565,2.3323,2.46472,2.36539,-5.09446,-3.38657,-3.74818,-3.40712,-3.1865,-3.32417,-4.42825,-3.95256,3.75827,12.4228,-4.76028,0.0342652,17.291,-12.0581,2.28033,4.08457 --11.6109,0.436681,0.298701,3,15,0,16.2269,3.98585,14.0973,-0.597355,0.388862,-0.0354951,0.784076,1.38518,1.17623,1.61082,-1.02185,-4.43525,3.48547,23.5132,26.6942,9.46776,15.0392,20.5675,-10.4195,-5.96487,-3.32343,-5.06447,-4.91956,-3.79255,-4.1313,-3.25448,-4.58498,31.0363,6.42465,12.05,14.805,4.61721,8.24804,19.1853,-29.4294 --8.38976,1,0.298701,3,7,0,13.9028,3.09336,0.0611189,-0.0246666,-1.18753,0.502388,0.438145,1.08734,1.34161,0.144436,0.0118095,3.09185,3.12406,3.15981,3.10218,3.02077,3.12013,3.17535,3.09408,-5.00569,-3.3404,-3.76564,-3.37961,-3.21596,-3.33541,-4.32037,-3.93171,39.1661,2.92078,-17.8469,18.7507,14.7767,13.0668,-1.94259,-1.6643 --10.0463,0.983746,0.298701,4,15,0,13.0452,7.24567,0.0579808,-0.563263,-0.66174,0.648953,-0.466963,0.791949,2.13903,-0.995152,-0.137389,7.21301,7.28329,7.29158,7.18797,7.2073,7.21859,7.36969,7.2377,-4.58721,-3.22409,-3.8984,-3.31698,-3.53196,-3.47663,-3.78654,-3.84431,21.2508,-4.93527,-3.35613,-0.27821,6.79788,17.9167,10.4115,-6.40609 --12.8101,0.967988,0.298701,4,15,0,17.415,-0.393883,0.125935,1.17983,1.71527,-0.662248,-1.5415,1.26272,0.898239,-0.0297137,1.82849,-0.245301,-0.477284,-0.234862,-0.397625,-0.17787,-0.588013,-0.280763,-0.163612,-5.39987,-3.58085,-3.70646,-3.54297,-3.12034,-3.32725,-4.89246,-4.03763,23.5034,9.2908,2.76814,14.956,-16.9966,21.3987,1.67534,8.40139 --8.56739,0.942156,0.298701,4,15,0,17.8992,4.14572,0.106221,1.08667,0.766691,0.349322,1.60531,0.288869,-1.25483,-0.28743,0.51064,4.26114,4.18282,4.1764,4.11518,4.22715,4.31623,4.01243,4.19996,-4.87929,-3.29438,-3.79211,-3.35122,-3.28482,-3.36228,-4.19978,-3.9032,24.4178,2.10818,4.06996,5.47731,0.692595,12.7602,23.5967,3.44376 --4.547,0.980609,0.298701,4,15,0,11.9346,3.74512,10.4372,-0.42179,-0.75769,0.123192,-1.22464,-0.421452,1.33409,0.687798,-0.15555,-0.657207,5.03091,-0.653673,10.9238,-4.16307,-9.03672,17.6693,2.12161,-5.45196,-3.2656,-3.70228,-3.38046,-3.17792,-3.7331,-3.22207,-3.9599,-11.6107,4.30092,7.57872,-4.17561,-8.8037,-14.3637,7.75495,-7.23355 --8.25654,0.429255,0.298701,3,7,0,12.2441,4.74506,0.184505,-1.39443,-0.0179946,0.52476,-0.705101,1.13535,0.638965,1.43851,0.715286,4.48778,4.84188,4.95454,5.01047,4.74174,4.61496,4.86295,4.87703,-4.85549,-3.27139,-3.81511,-3.33319,-3.31967,-3.37083,-4.08443,-3.88761,-9.47369,2.06909,25.9941,3.60789,6.72842,-3.27338,13.9654,0.244716 --7.67395,0.9907,0.298701,3,15,0,11.9586,2.17338,12.8525,-1.04551,-0.0646699,-1.19194,-0.333706,-0.644481,0.688644,-0.0753615,-0.116947,-11.2641,-13.146,-6.10984,1.20479,1.34221,-2.11559,11.0242,0.67032,-7.05292,-5.4573,-3.71042,-3.45561,-3.15003,-3.35694,-3.46483,-4.0074,7.14849,-19.3891,-8.65496,14.8549,-8.28188,15.5771,14.9245,14.6959 --5.34337,1,0.298701,4,15,0,12.5201,-0.517154,1.93704,-0.502956,-0.0639707,-0.0598342,1.35534,-0.670766,0.112476,0.429533,-0.311067,-1.4914,-0.633055,-1.81645,0.31487,-0.641068,2.1082,-0.299283,-1.1197,-5.55975,-3.59417,-3.69426,-3.50151,-3.11696,-3.32191,-4.89584,-4.07494,-6.51064,-10.734,-0.57795,6.7866,-10.8978,19.7714,14.6875,48.8917 --4.18163,0.991582,0.298701,3,7,0,7.65692,1.20412,1.09162,0.0942255,-0.0152394,-0.0997204,0.588957,-0.589156,0.141929,0.746871,0.112265,1.30697,1.09526,0.560981,2.01942,1.18748,1.84703,1.35905,1.32667,-5.21036,-3.4599,-3.71629,-3.41934,-3.1457,-3.3198,-4.60613,-3.98511,20.7302,2.93926,1.92631,7.87266,3.12211,-4.99506,0.780643,27.7177 --8.02886,0.967356,0.298701,3,7,0,9.42855,8.55866,5.5055,1.27882,0.0723358,0.87458,-0.741948,0.0541475,-1.71468,-0.504006,1.51694,15.5992,13.3737,8.85677,5.78386,8.95691,4.47387,-0.881511,16.9102,-3.96872,-3.3659,-3.9661,-3.32295,-3.72814,-3.3667,-5.00408,-3.84652,16.8205,19.0055,9.01685,1.65264,-0.251511,-17.6304,2.5553,-8.23467 --8.46051,0.887851,0.298701,4,15,0,12.5393,3.51951,0.711302,-0.594343,-0.175308,-2.27802,0.347804,-0.348035,1.72564,-0.860113,-0.666949,3.09675,1.89915,3.27195,2.90771,3.39482,3.76691,4.74696,3.04511,-5.00515,-3.40763,-3.76836,-3.38604,-3.23539,-3.34847,-4.09974,-3.93306,-9.51939,0.280119,-2.22181,-5.36921,11.9648,27.7172,-4.42312,-1.22151 --8.71889,0.973803,0.298701,4,15,0,17.5762,7.6829,0.8478,-0.431303,-0.897819,1.80448,-0.218912,1.46299,-1.33958,-1.10465,0.534215,7.31724,9.21274,8.92322,6.74638,6.92173,7.4973,6.5472,8.1358,-4.5776,-3.22888,-3.96919,-3.3171,-3.50353,-3.49128,-3.87736,-3.83235,11.7796,2.04586,-2.08194,9.45075,4.09531,-3.64204,6.63587,36.1982 --8.23489,0.973176,0.298701,4,15,0,17.0142,-0.247648,1.39891,-0.0904836,1.50813,-1.10656,-0.570215,1.25238,1.23768,1.01157,-0.844858,-0.374227,-1.79563,1.50431,1.16744,1.86209,-1.04533,1.48376,-1.42953,-5.41609,-3.7013,-3.73115,-3.45741,-3.16673,-3.33412,-4.58545,-4.08763,-15.7445,-16.8928,0.0908956,4.50295,0.519809,-3.81977,-0.324382,-7.57811 --9.75171,0.930116,0.298701,4,15,0,21.1912,8.81345,4.17699,0.478632,-1.60119,1.82673,0.256915,-1.37243,-0.386804,-2.28832,-0.262021,10.8127,16.4437,3.08085,-0.744813,2.12529,9.88658,7.19778,7.71899,-4.28344,-3.578,-3.76375,-3.56469,-3.17646,-3.64316,-3.80496,-3.83759,-13.6151,7.47459,-5.40891,-0.0566191,-10.7758,20.6149,7.72314,-1.62036 --5.25774,0.998142,0.298701,4,15,0,11.827,6.88177,2.96557,0.0990432,0.130302,0.901154,0.737784,-1.50288,0.125734,-0.835599,-0.988701,7.17549,9.55421,2.42489,4.40374,7.26819,9.06972,7.25464,3.94971,-4.59068,-3.2336,-3.74901,-3.34469,-3.53816,-3.58593,-3.79884,-3.90932,8.65821,7.24949,-14.9242,0.286254,1.66416,23.2626,-0.447581,24.1603 --5.61076,0.993812,0.298701,4,15,0,7.73959,5.68721,5.10232,-0.530069,-0.567863,-1.32377,-1.09853,0.983166,0.555754,-0.123744,1.20643,2.98263,-1.06711,10.7036,5.05583,2.78979,0.0821707,8.52285,11.8428,-5.01781,-3.63259,-4.0583,-3.33245,-3.20482,-3.32031,-3.67061,-3.80935,-15.4166,3.95869,2.21571,8.43824,-5.3654,4.43418,18.3053,-1.12043 --6.04385,0.977666,0.298701,4,15,0,11.8386,5.37992,3.70425,0.974625,0.729818,1.59215,1.05391,-1.25071,-0.298822,-0.305274,-0.52171,8.99017,11.2777,0.746975,4.24911,8.08334,9.28387,4.27301,3.44738,-4.43004,-3.27524,-3.71895,-3.3481,-3.62547,-3.6004,-4.16368,-3.92219,11.2252,20.8806,0.888395,17.2673,25.2026,12.4754,14.0168,-27.8332 --8.92071,0.962088,0.298701,4,15,0,12.2807,7.08668,2.03507,-2.01114,-0.0913523,-0.948926,-1.07007,0.876455,2.30422,-0.000389536,-0.0192775,2.99387,5.15555,8.87033,7.08589,6.90078,4.90903,11.7759,7.04745,-5.01656,-3.26198,-3.96673,-3.31686,-3.50149,-3.37998,-3.41522,-3.84716,5.92867,-14.7088,-6.91514,9.36332,7.8624,0.645298,-2.5547,-9.41682 --6.12471,0.999863,0.298701,4,15,0,13.1684,3.86772,5.50151,2.21286,-1.03168,0.784989,0.66097,-0.113765,-0.102049,-0.183201,-1.46542,16.0418,8.18634,3.24184,2.85984,-1.8081,7.50405,3.3063,-4.19433,-3.94476,-3.2217,-3.76762,-3.38766,-3.12019,-3.49164,-4.30105,-4.21403,19.1136,7.10807,44.3917,6.69748,14.6108,20.8782,2.05402,7.4921 --5.74688,0.967238,0.298701,4,15,0,12.6141,5.99379,6.79944,1.43322,0.474544,-0.0627299,0.0877567,-1.02739,1.36881,1.68436,0.683894,15.7389,5.56726,-0.991916,17.4465,9.22042,6.59048,15.3009,10.6439,-3.96107,-3.25111,-3.6994,-3.76778,-3.76096,-3.44598,-3.25795,-3.81215,14.9891,7.29817,-10.9567,4.74422,19.1179,20.0106,19.2962,-2.56055 --6.77471,0.981999,0.298701,4,15,0,9.71856,3.23701,1.83386,-0.957751,-0.883537,0.494773,-1.0705,0.189974,-0.701731,-1.42696,-1.27126,1.48062,4.14436,3.5854,0.620151,1.61672,1.27385,1.95013,0.905684,-5.18983,-3.29585,-3.77623,-3.48503,-3.15843,-3.31714,-4.50952,-3.99925,15.5013,21.046,5.32549,-16.8382,-9.69784,-9.4568,-5.71411,-10.0211 --4.44953,0.994185,0.298701,4,15,0,9.38763,4.4783,4.46193,-0.743192,0.0929913,-0.602148,-0.306073,-0.435036,-0.779122,-0.458764,-0.584684,1.16223,1.79155,2.53719,2.43132,4.89322,3.11262,1.00191,1.86948,-5.22758,-3.41425,-3.75141,-3.40309,-3.33055,-3.33528,-4.6662,-3.96769,6.54262,-16.0753,-12.9227,-7.22345,13.9301,-12.3771,-5.69081,1.79211 --8.34398,0.952747,0.298701,3,7,0,9.68714,4.87804,0.620903,0.169322,-0.00613532,0.265175,-0.337923,1.21259,-0.00818841,-1.27645,2.50603,4.98317,5.04269,5.63095,4.08549,4.87423,4.66822,4.87296,6.43404,-4.80426,-3.26525,-3.83702,-3.35193,-3.32917,-3.37244,-4.08312,-3.85712,26.7084,18.3723,9.1815,13.8197,8.51632,-3.5186,-21.2782,2.44019 --7.65198,0.998051,0.298701,4,15,0,12.7769,4.97388,2.88866,-0.659473,0.959279,1.01116,-0.15623,1.91197,-0.826574,0.91863,1.15465,3.06888,7.89478,10.4969,7.62749,7.74491,4.52258,2.58618,8.30927,-5.00823,-3.22158,-4.04732,-3.31846,-3.58822,-3.36811,-4.40945,-3.83033,0.409908,3.49176,-6.7268,-4.21527,24.6098,15.2952,-20.5894,-10.5283 --9.79994,0.967053,0.298701,4,15,0,16.4015,4.74259,4.6989,0.657162,0.378126,2.24293,0.478135,-2.98579,0.263563,-0.192299,0.78736,7.83053,15.2819,-9.28733,3.839,6.51937,6.9893,5.98105,8.44232,-4.53101,-3.48665,-3.76874,-3.35812,-3.46518,-3.46506,-3.9438,-3.82884,28.1131,18.4655,3.46922,4.9463,4.53446,-12.6707,8.38205,28.5231 --11.536,0.991846,0.298701,4,15,0,13.0291,6.44264,3.57191,1.1982,0.459822,2.303,0.031992,-3.25874,0.418819,-0.119934,1.13144,10.7225,14.6688,-5.19727,6.01425,8.08508,6.55691,7.93862,10.484,-4.29035,-3.44388,-3.70096,-3.32085,-3.62566,-3.44443,-3.72768,-3.81286,19.2309,6.67346,38.2817,-16.3204,8.16474,-6.06792,-13.4363,-1.22659 --7.71117,1,0.298701,3,7,0,13.4837,3.76927,4.69068,1.5821,-0.421343,1.5528,-0.360139,-2.35836,0.62461,0.571681,1.54033,11.1904,11.053,-7.29302,6.45084,1.79288,2.07997,6.69911,10.9944,-4.25491,-3.26813,-3.72752,-3.31808,-3.16431,-3.32165,-3.86007,-3.81087,-1.18129,22.6731,-10.2054,9.55395,-1.66702,-0.175264,5.21618,18.7898 --7.04552,0.977633,0.298701,3,15,0,10.8338,6.08321,7.87228,1.50663,0.478446,0.972316,-0.249903,-2.57387,0.31716,0.164781,0.535772,17.9438,13.7376,-14.179,7.38041,9.84967,4.1159,8.57998,10.301,-3.85172,-3.38612,-3.93561,-3.31743,-3.8428,-3.35695,-3.66521,-3.81377,29.2845,21.1286,-38.0767,7.02865,9.09457,-12.0085,3.03407,-13.3828 --8.44185,0.977869,0.298701,4,15,0,14.4195,2.06072,1.46068,-1.10298,-1.52475,1.14362,0.716771,0.363998,-0.264495,-0.907198,2.01383,0.449616,3.73119,2.59241,0.735592,-0.166456,3.1077,1.67438,5.00229,-5.31371,-3.31264,-3.75261,-3.47899,-3.12045,-3.33519,-4.55415,-3.88488,2.9638,-15.7322,-13.557,20.4864,6.76004,2.93683,6.17591,14.3519 --5.89179,0.993682,0.298701,4,15,0,11.419,7.22596,1.65763,1.37642,0.573053,-0.695517,0.374799,-0.936165,0.756524,1.07229,-0.846428,9.50755,6.07305,5.67415,9.00342,8.17587,7.84724,8.47999,5.8229,-4.38692,-3.24009,-3.83848,-3.33342,-3.63589,-3.51057,-3.67468,-3.86819,-4.30397,0.307004,-23.6491,0.800266,22.2032,4.67345,13.534,20.3497 --6.42829,0.958027,0.298701,3,7,0,11.3715,8.35335,5.64841,1.38897,-0.499211,-1.88888,0.290497,-0.868312,-0.445582,0.436039,-0.401148,16.1988,-2.31583,3.44878,10.8163,5.53361,9.9942,5.83653,6.08751,-3.93647,-3.75361,-3.77275,-3.37702,-3.37967,-3.65111,-3.96127,-3.86326,22.806,1.57089,19.1772,35.6852,2.73848,14.5994,-5.26563,35.1148 --6.70917,0.92399,0.298701,4,15,0,10.3616,0.964292,5.68471,-0.763265,0.0837252,2.20145,-0.907512,0.157686,1.15495,-0.412832,0.72039,-3.37465,13.4789,1.86069,-1.38254,1.44025,-4.19465,7.52986,5.0595,-5.81447,-3.37161,-3.73767,-3.60719,-3.15292,-3.42834,-3.76964,-3.88365,-10.8894,11.4991,12.4648,3.11086,-4.36554,-9.51282,19.4245,-26.6995 --8.07182,0.932484,0.298701,4,15,0,11.965,6.58453,0.565167,0.932467,0.675198,-1.40979,-1.50649,0.386524,-1.19206,-0.897147,-0.617895,7.11153,5.78776,6.80298,6.07749,6.96613,5.73311,5.91082,6.23532,-4.59661,-3.24599,-3.87922,-3.32035,-3.50789,-3.40941,-3.95227,-3.86059,14.9031,15.6823,13.8807,20.5017,-2.5233,16.4535,23.364,37.3848 --9.34368,0.987934,0.298701,4,15,0,12.0976,5.05989,10.9536,-0.632695,-0.418266,1.20014,1.30246,-0.0206269,1.54394,1.58195,-0.0443749,-1.87043,18.2058,4.83395,22.388,0.478353,19.3266,21.9716,4.57382,-5.60975,-3.74232,-3.81139,-4.2953,-3.12965,-4.7047,-3.30039,-3.89442,-2.42027,27.1111,20.4591,5.08907,2.44289,22.4985,18.6108,4.72864 --13.4763,0.638371,0.298701,4,15,0,19.8775,3.45791,0.321062,0.908882,0.0626734,-1.76325,0.488497,0.992153,1.73603,-1.40506,2.90163,3.74971,2.89179,3.77645,3.00679,3.47803,3.61474,4.01528,4.38951,-4.93383,-3.35199,-3.78122,-3.38273,-3.23995,-3.34509,-4.19939,-3.89869,11.0776,4.66976,-7.93489,3.77905,17.8276,5.63014,-8.13977,-1.76928 --7.59638,0.992856,0.298701,4,15,0,18.8002,6.92617,7.23473,-0.401902,0.791686,-0.127074,-0.935524,0.432093,0.0676352,-0.265101,-2.22054,4.01852,6.00682,10.0522,5.00824,12.6538,0.157907,7.41549,-9.13886,-4.90501,-3.24139,-4.02426,-3.33323,-4.26694,-3.31976,-3.78168,-4.4989,-22.7997,20.1504,23.7621,7.23361,0.756727,7.90479,2.9497,-17.4855 --8.40607,0.952983,0.298701,4,15,0,12.5103,3.46321,0.148193,-0.386786,-0.413436,-0.630136,-0.55122,-1.23558,1.03611,1.23319,1.28459,3.40589,3.36983,3.28011,3.64596,3.40195,3.38153,3.61676,3.65358,-4.97114,-3.32872,-3.76856,-3.36332,-3.23577,-3.34027,-4.25591,-3.91681,35.804,-2.66732,1.34268,4.34317,-8.86874,5.52081,10.7575,-6.36439 --7.37081,0.679953,0.298701,4,15,0,11.7747,4.20873,0.0614311,-0.904761,-0.695665,-1.10325,-0.0707244,-0.0749196,0.677274,0.166401,0.035701,4.15315,4.14096,4.20413,4.21896,4.166,4.20439,4.25034,4.21093,-4.8907,-3.29598,-3.79289,-3.34879,-3.2809,-3.35926,-4.16679,-3.90294,2.9678,-3.28146,-5.65412,-1.49574,9.7583,-9.33236,-5.20433,8.96869 --6.31458,0.951231,0.298701,4,15,0,11.3749,6.79178,9.84204,0.835074,0.607501,1.07691,0.0627506,-0.14195,-0.540045,1.08076,-0.268782,15.0106,17.3908,5.39471,17.4286,12.7708,7.40938,1.47664,4.14642,-4.00193,-3.66246,-3.82917,-3.76624,-4.28675,-3.48659,-4.58663,-3.90449,37.0519,14.3189,13.8179,24.6264,11.4931,10.7639,9.05976,50.8866 --7.15322,1,0.298701,4,15,0,8.93942,2.19761,0.216423,-0.691992,-0.659126,-1.2081,-0.178952,0.253867,0.649532,-1.248,0.212706,2.04784,1.93615,2.25255,1.92751,2.05496,2.15888,2.33818,2.24364,-5.12369,-3.40538,-3.74541,-3.42316,-3.17377,-3.32238,-4.44799,-3.9562,-18.7635,5.19047,20.669,0.497807,20.3789,16.1536,10.2686,1.3874 --6.05396,0.994141,0.298701,4,15,0,10.1986,9.62099,6.60056,0.762039,-0.28662,1.43602,-0.577523,0.733611,0.656053,0.582272,0.945151,14.6509,19.0995,14.4632,13.4643,7.72914,5.80902,13.9513,15.8595,-4.02299,-3.83752,-4.28716,-3.48951,-3.58652,-3.4124,-3.30348,-3.8323,-3.53227,14.0812,13.1713,1.44334,3.7727,-1.87988,7.1337,4.07812 --3.678,0.98216,0.298701,4,15,0,10.4908,4.92666,2.50902,0.395408,0.699052,-1.01188,0.503663,-0.455034,0.389979,0.115298,-0.418459,5.91875,2.38782,3.78497,5.21594,6.6806,6.19036,5.90513,3.87673,-4.7105,-3.37901,-3.78144,-3.32999,-3.48031,-3.42816,-3.95295,-3.91114,-8.33957,9.19656,-5.72847,3.53603,8.28603,14.4595,2.0116,-10.8579 --8.44917,0.947535,0.298701,3,15,0,10.195,7.86539,3.16488,0.493629,1.03516,-1.50507,-0.177981,0.0465552,0.827363,1.76594,1.82328,9.42767,3.10201,8.01273,13.4544,11.1415,7.3021,10.4839,13.6359,-4.3935,-3.34148,-3.9284,-3.48898,-4.02614,-3.48095,-3.50398,-3.81344,16.836,-1.31298,25.0069,13.3362,18.4449,12.5245,6.43021,13.5906 --5.97597,0.972934,0.298701,3,7,0,13.3326,2.44747,1.89381,1.95352,-0.331594,-0.558668,-0.975416,-0.767408,-0.549727,0.841294,0.380742,6.14706,1.38946,0.994149,4.04072,1.8195,0.600222,1.40639,3.16852,-4.68821,-3.44002,-3.72269,-3.35302,-3.16523,-3.31749,-4.59826,-3.92967,24.4446,-10.3695,6.66254,-0.56871,-3.08656,9.62354,19.6181,34.7841 --4.39673,0.99646,0.298701,4,15,0,8.86893,5.85649,5.22616,0.29136,0.81846,0.464994,-1.50011,-0.601651,-0.26843,0.0916813,-0.0449602,7.37918,8.28662,2.71217,6.33563,10.1339,-1.98332,4.45363,5.62152,-4.57192,-3.22193,-3.75526,-3.31866,-3.88137,-3.35361,-4.13904,-3.8721,24.587,1.83164,4.89885,4.89924,6.33123,7.72337,7.54479,47.3436 --8.86343,0.836314,0.298701,4,15,0,12.4514,4.61578,0.961777,0.976378,-1.8264,-0.977469,-0.391516,-1.24556,1.69565,-0.898635,1.28421,5.55484,3.67568,3.41783,3.7515,2.8592,4.23923,6.24662,5.85091,-4.74651,-3.31502,-3.77197,-3.36044,-3.2081,-3.36019,-3.91223,-3.86766,6.98382,-8.4932,-13.1622,10.5682,22.2829,4.76992,37.7407,-13.5179 --11.0203,0.98643,0.298701,4,15,0,14.0085,8.18337,0.582851,0.10697,1.57793,0.987385,0.367349,0.882117,-0.646052,2.61438,-1.20992,8.24572,8.75887,8.69752,9.70717,9.10307,8.39748,7.80682,7.47817,-4.49417,-3.2244,-3.95878,-3.34712,-3.74624,-3.54296,-3.74103,-3.84086,30.0099,-1.26557,-9.88182,10.8707,-8.99998,26.3214,7.0102,-5.24199 --17.7022,0.937688,0.298701,3,7,0,19.8158,7.95742,0.44804,-0.468725,2.94314,2.24603,-0.44634,0.96232,-0.378093,2.6986,-1.89665,7.74742,8.96373,8.38858,9.1665,9.27607,7.75744,7.78802,7.10765,-4.53847,-3.22617,-3.94485,-3.33623,-3.768,-3.50552,-3.74295,-3.84625,23.0647,-3.67956,-7.03349,-27.9092,20.3599,2.66393,-0.98903,22.013 --11.63,0.992818,0.298701,3,7,0,21.1328,8.60126,2.12502,-0.821593,2.07055,1.18963,0.41072,1.71115,0.0315378,1.81081,-1.22039,6.85536,11.1292,12.2375,12.4493,13.0012,9.47405,8.66828,6.00791,-4.62053,-3.27048,-4.14501,-3.43954,-4.32625,-3.61357,-3.65693,-3.86472,-8.93307,8.45686,14.8708,23.1382,9.33991,19.0214,31.1974,18.0889 --4.77201,0.941716,0.298701,3,7,0,16.1014,3.98163,1.72608,0.511906,-1.68323,0.552363,0.960583,0.364086,0.534098,0.241591,0.322667,4.86522,4.93505,4.61007,4.39863,1.07624,5.63967,4.90352,4.53858,-4.81636,-3.26849,-3.80464,-3.3448,-3.14277,-3.40579,-4.07911,-3.89523,-7.38956,15.3499,-10.1588,14.4254,8.27827,23.6033,4.03859,-11.2164 --2.87819,0.932391,0.298701,4,23,0,5.87175,6.39457,5.97546,1.23326,-0.995589,-0.0478442,0.333601,-0.159633,0.50998,-0.36202,0.616917,13.7638,6.10868,5.44068,4.23133,0.445458,8.38799,9.44193,10.0809,-4.07736,-3.23941,-3.83068,-3.34851,-3.12906,-3.54238,-3.58773,-3.81499,28.4692,18.3268,5.05752,2.50892,-9.96816,11.4711,17.8379,35.1381 --5.41563,0.876657,0.298701,3,15,0,8.98142,7.5158,2.06891,0.359093,0.0262081,-0.796236,-1.07159,-1.18087,0.363046,0.202727,1.47581,8.25873,5.86846,5.07268,7.93523,7.57002,5.29877,8.26691,10.5691,-4.49303,-3.24424,-3.81881,-3.32045,-3.56953,-3.3932,-3.69519,-3.81247,30.7627,19.6985,15.138,4.5736,7.78217,2.58912,4.64287,-11.4374 --4.29673,0.973607,0.298701,4,15,0,11.8066,2.33458,5.06701,0.936671,-0.114264,0.154244,-0.636432,1.15673,0.0170147,0.692202,-1.06583,7.0807,3.11614,8.19576,5.84197,1.75561,-0.890222,2.4208,-3.06596,-4.59947,-3.34078,-3.93634,-3.32238,-3.16304,-3.3316,-4.43508,-4.15959,-15.9001,0.851256,26.9712,8.42796,8.3954,-12.4332,10.0616,-8.11024 --7.00182,0.883983,0.298701,4,15,0,12.0094,-1.0203,4.32209,0.788839,0.31646,0.857686,0.408764,-2.29977,1.61322,0.629391,0.614493,2.38914,2.6867,-10.9601,1.69999,0.34747,0.746419,5.95218,1.6356,-5.08458,-3.36268,-3.81528,-3.43291,-3.12737,-3.3171,-3.94727,-3.97508,21.6381,2.95945,-8.71215,5.85179,-4.75696,-1.97892,-9.22513,-0.800425 -# -# Elapsed Time: 0.042168 seconds (Warm-up) -# 0.010171 seconds (Sampling) -# 0.052339 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-2.csv b/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-2.csv deleted file mode 100644 index b2dba3f3a2..0000000000 --- a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-2.csv +++ /dev/null @@ -1,648 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 20 -# stan_version_patch = 0 -# model = stan_test_data_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 500 -# save_warmup = 1 -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 2 -# data -# file = /tmp/tmp2ipdytqf/x8rvpwpf.json -# init = 2 (Default) -# random -# seed = 31709 -# output -# file = /tmp/tmp2ipdytqf/stan_test_data-202102230057-2-6qogngy4.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,eta.1.1,eta.2.1,eta.1.2,eta.2.2,eta.1.3,eta.2.3,eta.1.4,eta.2.4,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 --12.1371,0.916626,1,2,3,0,17.6316,0.521388,0.0578072,-1.90026,-0.571792,-0.718746,0.452926,-0.0452018,-1.85238,0.430521,-1.5517,0.411539,0.47984,0.518775,0.546276,0.488335,0.547571,0.414307,0.431689,-5.31837,-3.50429,-3.71571,-3.48894,-3.12984,-3.31768,-4.76781,-4.01583,2.77667,-1.09237,5.80619,-7.12762,-1.11964,-2.51896,-4.76215,1.34525 --12.1371,0,12.3621,0,1,1,16.2689,0.521388,0.0578072,-1.90026,-0.571792,-0.718746,0.452926,-0.0452018,-1.85238,0.430521,-1.5517,0.411539,0.47984,0.518775,0.546276,0.488335,0.547571,0.414307,0.431689,-5.31837,-3.50429,-3.71571,-3.48894,-3.12984,-3.31768,-4.76781,-4.01583,3.11911,-3.68003,-5.77452,11.5363,5.94629,21.8511,1.86974,-6.62708 --12.1371,0,1.99742,0,1,1,28.0182,0.521388,0.0578072,-1.90026,-0.571792,-0.718746,0.452926,-0.0452018,-1.85238,0.430521,-1.5517,0.411539,0.47984,0.518775,0.546276,0.488335,0.547571,0.414307,0.431689,-5.31837,-3.50429,-3.71571,-3.48894,-3.12984,-3.31768,-4.76781,-4.01583,7.0329,-1.40253,2.34109,-1.47163,-0.0806743,-1.16375,-6.32676,0.433227 --12.1954,0.990822,0.192021,4,31,0,16.3336,0.711382,0.0541624,1.93316,0.906728,0.98561,0.968741,0.00155065,1.03809,0.527877,1.77004,0.816086,0.764765,0.711466,0.739973,0.760493,0.763851,0.767607,0.807251,-5.26913,-3.48327,-3.71843,-3.47877,-3.13529,-3.31706,-4.7063,-4.00264,5.07469,9.87297,25.6999,21.4353,3.77813,-7.7505,-18.4207,16.7559 --16.028,0.972906,0.24897,4,15,0,20.3975,-1.27918,1.27217,-3.42495,-1.7414,-0.751138,-0.742876,0.362139,-0.494373,-1.57909,-1.34524,-5.63628,-2.23476,-0.818484,-3.28804,-3.49453,-2.22425,-1.90811,-2.99056,-6.14121,-3.74527,-3.70082,-3.75421,-3.15457,-3.35979,-5.20319,-4.1561,-5.24078,0.175639,-5.64661,14.4888,-18.3641,-20.1902,-9.68876,12.9837 --6.58309,0.85195,0.355029,4,15,0,18.8059,-0.814774,2.14307,0.815184,0.58298,0.534624,0.219057,-0.462547,0.701509,-1.21291,-1.49527,0.932221,0.330961,-1.80604,-3.41412,0.43459,-0.345319,0.688607,-4.01924,-5.25513,-3.51559,-3.69431,-3.76499,-3.12887,-3.32431,-4.71995,-4.20532,-40.792,0.0430035,-1.84329,-6.11172,4.05633,-14.5248,5.29306,25.5357 --6.26399,0.971074,0.380391,3,7,0,10.7535,-0.771819,1.84342,0.71036,0.137135,1.35356,0.301467,-0.727633,0.506134,-0.835563,-1.0972,0.537674,1.72336,-2.11315,-2.31211,-0.51902,-0.216088,0.161199,-2.79441,-5.30294,-3.4185,-3.69306,-3.67516,-3.11759,-3.32294,-4.81264,-4.14708,10.4404,0.948118,-9.88608,2.81093,-5.04689,-0.773933,6.50228,33.149 --8.93826,0.902868,0.613677,3,7,0,11.4352,-0.0136695,2.83232,-0.130322,0.121883,-1.17896,2.22977,-0.00447873,-1.00431,-0.126966,1.34851,-0.382783,-3.35287,-0.0263547,-0.373278,0.331544,6.30177,-2.85819,3.80576,-5.41717,-3.86596,-3.7088,-3.54148,-3.12711,-3.43299,-5.39684,-3.91293,-5.75012,-13.8013,2.85765,-2.51467,15.9104,10.6606,6.15303,14.8533 --7.83478,0.994627,0.825351,2,7,0,11.1985,3.04296,1.26862,0.760505,-0.129158,0.595224,-2.40628,0.459858,1.31528,-0.230063,-1.24813,4.00775,3.79807,3.62634,2.75109,2.8791,-0.00970756,4.71156,1.45955,-4.90616,-3.3098,-3.77729,-3.39143,-3.20905,-3.32105,-4.10444,-3.98076,-0.895441,-3.43736,-5.40359,-8.21833,-0.0269799,-11.4519,19.1417,-4.38241 --7.83478,0.000708267,1.50773,1,3,1,14.7409,3.04296,1.26862,0.760505,-0.129158,0.595224,-2.40628,0.459858,1.31528,-0.230063,-1.24813,4.00775,3.79807,3.62634,2.75109,2.8791,-0.00970756,4.71156,1.45955,-4.90616,-3.3098,-3.77729,-3.39143,-3.20905,-3.32105,-4.10444,-3.98076,9.03307,1.73842,28.906,7.4702,-3.04363,-3.21795,9.5788,5.58577 --7.96321,1,0.120079,5,31,0,9.52527,6.40282,3.87033,-0.634797,-0.163006,-0.4999,2.27671,-0.362914,-0.932538,0.171822,1.2903,3.94595,4.46804,4.99823,7.06783,5.77194,15.2145,2.79359,11.3967,-4.91276,-3.2839,-3.81647,-3.31685,-3.39924,-4.15175,-4.3777,-3.80987,-0.617675,4.04717,-6.35203,17.1282,4.5442,11.5226,17.214,13.0353 --10.1255,0.982659,0.226989,4,15,0,15.3147,6.41952,0.187369,0.893861,-0.0935691,0.500671,-2.44893,0.272811,1.31539,-0.100549,-1.3029,6.58701,6.51333,6.47064,6.40068,6.40199,5.96067,6.66599,6.1754,-4.64591,-3.23257,-3.86671,-3.31832,-3.45437,-3.41852,-3.86382,-3.86167,-26.5511,10.7706,20.1656,-0.0118128,2.08345,-4.12545,12.4817,14.9695 --8.25525,0.992662,0.408105,4,23,0,13.8991,3.4875,0.633392,0.30749,0.0902819,-1.35612,1.47084,-1.37513,-1.48159,0.634392,0.650947,3.68226,2.62854,2.6165,3.88931,3.54468,4.41911,2.54907,3.8998,-4.94111,-3.36579,-3.75314,-3.35682,-3.24366,-3.36514,-4.41518,-3.91057,12,26.8075,-21.0258,6.74509,-6.2081,19.7934,-17.3861,4.54912 --8.98988,0.271374,0.757264,3,15,0,12.7472,0.1603,1.22119,-0.691804,0.0458066,2.13512,-1.08164,1.26264,0.90039,-1.28595,0.36478,-0.684527,2.76769,1.70223,-1.41009,0.216239,-1.16059,1.25985,0.605767,-5.45544,-3.35841,-3.73471,-3.6091,-3.12529,-3.33612,-4.62269,-4.00966,-0.343778,5.77194,-18.4457,2.33609,-11.3912,-3.50315,-7.52626,-0.0664662 --9.14462,0.997806,0.147762,5,31,0,14.5112,-0.139995,2.57365,0.0983561,-1.30431,2.7669,-0.677067,-1.03257,1.39504,0.270339,-0.429494,0.113139,6.98102,-2.79746,0.555761,-3.49682,-1.88253,3.45035,-1.24536,-5.35516,-3.22672,-3.69161,-3.48844,-3.15465,-3.35117,-4.27998,-4.08005,-18.1687,-8.76903,23.9923,1.15687,-4.18315,10.8141,15.4057,-6.16308 --14.2352,0.96829,0.280075,4,15,0,21.1252,-2.95243,3.77418,-0.728861,2.36032,-0.284152,0.141759,2.83538,-0.301692,0.685313,1.34286,-5.70328,-4.02487,7.74882,-0.365933,5.95585,-2.41741,-4.09107,2.11577,-6.15124,-3.94451,-3.91719,-3.54104,-3.41483,-3.36509,-5.6616,-3.96008,-6.28709,-4.15085,-14.4885,18.5626,8.63194,-13.9255,8.2006,-26.9046 --9.13523,1,0.481852,3,7,0,17.2472,-0.953805,2.21308,0.519828,-1.14139,2.06749,0.224173,-1.22784,0.42241,0.050464,-1.8706,0.196615,3.62171,-3.67111,-0.842124,-3.47979,-0.457692,-0.0189788,-5.09359,-5.34483,-3.31737,-3.69241,-3.57096,-3.15412,-3.32561,-4.84494,-4.26022,6.38442,-0.212667,-12.7858,2.05504,-4.03589,-7.41554,16.0761,-8.48124 --6.69835,0.8,0.907698,2,5,0,14.578,1.71587,3.93374,-0.600994,-1.48498,0.410989,0.363265,-1.51959,0.250799,0.26839,-1.54833,-0.648289,3.33259,-4.26182,2.77164,-4.12568,3.14486,2.70244,-4.37487,-5.45082,-3.33045,-3.69464,-3.39071,-3.17647,-3.33584,-4.3916,-4.2231,-11.8053,0.301286,-7.53701,19.5849,-20.6458,-6.51751,6.86603,-8.93334 --6.69835,3.03073e-20,0.924753,1,1,0,10.7216,1.71587,3.93374,-0.600994,-1.48498,0.410989,0.363265,-1.51959,0.250799,0.26839,-1.54833,-0.648289,3.33259,-4.26182,2.77164,-4.12568,3.14486,2.70244,-4.37487,-5.45082,-3.33045,-3.69464,-3.39071,-3.17647,-3.33584,-4.3916,-4.2231,9.5578,21.3311,1.21869,22.1233,-0.431071,-2.75592,3.15593,-39.8373 --9.59591,0.996465,0.0850912,6,63,0,13.9729,0.791321,1.31966,1.44257,0.952993,-1.41372,-0.903006,1.21016,-0.160762,0.754351,2.08085,2.69501,-1.07431,2.38831,1.7868,2.04894,-0.400336,0.579171,3.53733,-5.04997,-3.63324,-3.74823,-3.42914,-3.17355,-3.32494,-4.73895,-3.91983,-23.7436,5.41671,12.4194,9.45417,-0.778083,-2.47038,-3.59241,11.7035 --8.00914,0.997985,0.158961,5,31,0,16.0089,-3.04281,5.5638,0.597966,-0.454109,1.68356,0.883993,-0.568382,1.61691,-0.021413,-1.59276,0.284153,6.3242,-6.20517,-3.16195,-5.56938,1.87555,5.95332,-11.9046,-5.33403,-3.23557,-3.71159,-3.74355,-3.24505,-3.32,-3.94714,-4.69115,-1.91393,-4.24214,28.2021,2.36203,-3.61373,28.046,15.3983,-22.9429 --4.51427,0.998612,0.295486,4,31,0,11.5431,-0.00734087,6.61956,1.04858,0.817321,0.111053,0.794241,-0.567862,1.83661,-0.266046,0.477847,6.93376,0.727784,-3.76634,-1.76845,5.40296,5.25018,12.1502,3.15579,-4.61318,-3.48595,-3.69267,-3.63454,-3.36924,-3.39148,-3.39263,-3.93002,-19.0339,5.6176,-32.4474,1.10527,0.119141,-8.99565,5.00296,1.74824 --4.70633,0.983734,0.544912,3,7,0,6.99302,0.155263,10.8173,0.441122,-0.528181,-0.0646781,0.0646772,-1.76763,0.949774,-0.246391,-0.0340406,4.92703,-0.544381,-18.9658,-2.51003,-5.55824,0.854897,10.4293,-0.212965,-4.81002,-3.58656,-4.18939,-3.69056,-3.24442,-3.31692,-3.5081,-4.03949,7.48906,-16.6569,-34.0572,-4.18389,4.35775,-9.4465,10.4923,-10.4686 --4.56833,0.384254,0.952813,3,11,0,11.1596,4.88737,2.37499,0.444355,0.458705,0.334201,-0.177781,1.81322,0.0484839,0.55756,0.134872,5.94271,5.6811,9.19376,6.21157,5.97679,4.46514,5.00252,5.20769,-4.70815,-3.24841,-3.98193,-3.3194,-3.41663,-3.36645,-4.0662,-3.88051,19.8725,11.4938,-1.12625,33.4086,3.09646,-0.979067,16.8075,-13.7175 --3.9441,0.985598,0.293363,3,15,0,8.21139,5.42922,6.45258,0.9236,-1.2433,-0.149949,1.14966,-0.721398,0.505318,0.255211,-0.408118,11.3888,4.46166,0.774334,7.07598,-2.59329,12.8475,8.68982,2.7958,-4.24017,-3.28412,-3.71935,-3.31686,-3.13183,-3.89684,-3.65492,-3.94005,7.53266,11.559,-1.69134,-20.5897,0.753901,12.0322,-6.45502,20.5265 --4.12321,0.929006,0.513796,3,7,0,7.31129,5.98249,7.47832,-0.391908,-0.00933316,0.279349,0.0204647,-0.140954,0.200903,1.37245,0.825511,3.05168,8.07155,4.92839,16.2461,5.9127,6.13553,7.48491,12.1559,-5.01014,-3.22155,-3.8143,-3.6701,-3.41113,-3.42582,-3.77436,-3.80935,15.193,-0.427331,-11.5381,18.2921,6.88829,19.0357,27.8217,11.6888 --6.93829,0.0896046,0.759436,4,23,0,8.48174,5.14104,1.62659,1.48726,-0.0100194,0.830838,0.361178,-1.37631,-0.35173,-1.72191,0.916267,7.56019,6.49247,2.90235,2.34019,5.12474,5.72853,4.56892,6.63143,-4.5554,-3.23289,-3.75957,-3.40656,-3.34772,-3.40923,-4.12349,-3.85379,6.07789,-12.0043,2.54204,-1.82605,10.4328,15.7614,10.8352,15.18 --5.82563,0.999523,0.105547,5,31,0,10.6986,6.06591,1.77299,-0.451024,0.188504,0.208625,-0.314017,1.16409,1.52224,1.21901,-0.925545,5.26625,6.43581,8.12983,8.22721,6.40013,5.50916,8.76484,4.42493,-4.77549,-3.23376,-3.93347,-3.32306,-3.4542,-3.40085,-3.64796,-3.89786,-10.7774,-0.206279,-19.8948,-8.88717,12.8462,-23.0889,-2.84386,29.705 --9.40943,0.974219,0.191192,4,15,0,13.6247,6.0083,1.07401,-1.0038,-0.828014,1.03561,0.26275,0.994594,2.35816,1.8276,-0.454911,4.93021,7.12055,7.0765,7.97116,5.11901,6.2905,8.54099,5.51972,-4.80969,-3.22539,-3.88984,-3.32073,-3.34729,-3.43249,-3.66889,-3.87412,11.449,19.3578,2.25432,8.85735,6.35416,3.77983,0.342502,-16.4695 --6.84921,0.977018,0.319778,4,15,0,15.2352,5.22524,1.31894,0.666013,1.22299,-0.749254,-0.665045,0.482592,-1.40235,-1.41299,-0.230802,6.10367,4.23702,5.86175,3.36159,6.83829,4.34809,3.37563,4.92083,-4.69243,-3.29232,-3.84491,-3.37154,-3.49541,-3.36315,-4.29089,-3.88665,12.6308,-3.47041,-6.21413,5.25042,-7.47563,-7.43565,-1.50424,-7.00236 --5.65344,0.907281,0.534374,3,7,0,11.0811,6.18699,7.26931,0.277045,-1.26266,0.309482,0.759815,-0.730887,1.83757,1.14928,-0.551491,8.20091,8.43671,0.873946,14.5415,-2.99166,11.7103,19.5448,2.17803,-4.49811,-3.22248,-3.72084,-3.55185,-3.14065,-3.79085,-3.23346,-3.95819,21.484,17.9941,-7.35604,18.9628,-2.7426,7.82345,23.0164,-3.35875 --5.71561,0.0894721,0.732655,2,3,0,11.8085,5.13867,1.50046,1.20025,-0.254888,-0.268974,0.564991,-1.52419,1.29658,0.857343,0.491338,6.93959,4.73508,2.85168,6.42508,4.75622,5.98642,7.08414,5.8759,-4.61263,-3.27482,-3.75841,-3.3182,-3.32069,-3.41958,-3.8173,-3.86719,-10.266,-4.30091,11.0152,4.25559,12.4996,-1.29003,-4.61746,-1.09157 --8.34424,0.996585,0.110399,5,31,0,12.6293,3.33391,6.9835,1.43628,0.31898,-0.882662,2.05374,-1.20445,-0.128636,0.940071,-0.665882,13.3641,-2.83016,-5.07737,9.89889,5.56151,17.6762,2.43557,-1.31628,-4.10301,-3.80799,-3.69996,-3.35156,-3.38192,-4.46599,-4.43278,-4.08296,1.50987,4.44901,-17.2535,19.543,8.91981,15.4971,-4.02033,20.0788 --11.1173,0.977889,0.193622,4,15,0,14.639,3.38504,7.25287,1.6264,1.02335,-0.793581,1.94426,-2.00886,-0.388314,1.04854,-0.600829,15.1811,-2.37071,-11.185,10.99,10.8073,17.4865,0.568641,-0.972701,-3.99215,-3.75928,-3.82237,-3.38262,-3.97673,-4.44,-4.74078,-4.06902,-5.01008,-8.35951,-43.8234,12.2969,8.83844,17.2412,-0.889048,16.3593 --10.8322,1,0.320239,4,15,0,17.105,4.83348,1.68598,1.2131,-1.551,2.8602,-0.988412,1.44472,0.807078,0.277427,1.27463,6.87875,9.65572,7.26926,5.30122,2.21852,3.16704,6.1942,6.98249,-4.61834,-3.23523,-3.8975,-3.32876,-3.18011,-3.33624,-3.91841,-3.84816,3.88203,10.9171,-8.0827,5.39935,-9.79379,-12.3738,5.08908,-7.36468 --9.72522,0.303535,0.556846,3,7,0,21.4771,5.40766,4.28879,1.44042,-1.05641,2.93744,0.721614,1.49161,0.369174,-0.0535322,-0.57423,11.5853,18.0057,11.8048,5.17807,0.876951,8.50251,6.99097,2.94491,-4.22575,-3.7221,-4.11962,-3.33055,-3.13791,-3.54943,-3.82752,-3.93585,-16.9542,12.758,1.36149,-13.8596,14.6981,-2.92018,15.6329,10.9695 --6.56091,0.998453,0.156002,5,31,0,15.0263,4.18853,1.71574,1.61295,-1.1157,0.668843,0.355035,-0.800909,0.210438,-1.42546,1.25723,6.95593,5.33609,2.81437,1.74281,2.27427,4.79768,4.54958,6.3456,-4.61111,-3.25701,-3.75756,-3.43104,-3.18234,-3.37643,-4.12609,-3.85865,12.9503,13.1147,-25.9825,2.69346,-1.85435,14.757,5.21111,-1.98265 --5.43026,0.990541,0.26932,4,15,0,12.6772,3.11318,6.53567,1.08124,-0.790661,-1.19228,-1.1315,-1.35163,0.513743,0.874563,0.2858,10.1798,-4.67918,-5.72063,8.82903,-2.05431,-4.2819,6.47083,4.98107,-4.33268,-4.02533,-3.70598,-3.33066,-3.12302,-3.43212,-3.88613,-3.88534,22.3591,-1.14765,13.1167,5.04553,-5.10071,-14.8907,3.88434,19.3728 --7.31798,0.952831,0.451736,3,7,0,9.50564,3.20099,0.960173,-0.755685,1.11453,1.36294,1.65876,0.806596,-0.598288,-0.347931,-0.302379,2.4754,4.50965,3.97546,2.86691,4.27113,4.79369,2.62653,2.91065,-5.07478,-3.28244,-3.78656,-3.38742,-3.28767,-3.37631,-4.40324,-3.9368,12.5227,-0.983769,12.554,3.99322,13.4146,-9.6404,1.50591,8.15975 --2.95051,0.416679,0.682805,3,7,0,9.95907,0.306752,7.96024,1.0532,-0.173186,0.259259,-0.283507,-0.206775,0.419534,0.63138,1.20977,8.69045,2.37052,-1.33922,5.33268,-1.07185,-1.95003,3.64634,9.93681,-4.45556,-3.37998,-3.69691,-3.32832,-3.11619,-3.3528,-4.25166,-3.81588,17.4807,6.8312,-18.2037,-2.33808,-7.05885,-1.32152,5.82172,-16.8674 --9.14995,0.89187,0.264184,4,15,0,12.1274,1.39777,3.99853,-0.124166,-1.68083,1.38191,1.60243,1.47916,0.780002,1.48114,1.21306,0.901285,6.92337,7.31222,7.32013,-5.32307,7.80515,4.51663,6.24822,-5.25886,-3.22732,-3.89923,-3.31726,-3.23153,-3.5082,-4.13053,-3.86036,-6.21093,12.4296,-15.8816,13.5316,-12.1863,-6.08508,1.77006,-28.4142 --4.96787,0.991025,0.341835,3,7,0,12.5983,0.996547,7.09496,0.815721,0.360006,-0.362282,-0.924881,0.653052,0.248462,1.03877,-1.032,6.78406,-1.57383,5.62993,8.3666,3.55078,-5.56545,2.75938,-6.32544,-4.62725,-3.67981,-3.83699,-3.32455,-3.244,-3.49495,-4.38291,-4.32755,11.695,19.8966,19.2459,4.88136,-1.02879,-11.4832,20.4527,2.96676 --4.75675,1,0.564118,3,15,0,7.52321,6.21583,2.58106,-0.162468,-0.345062,0.553788,1.25356,-0.84006,0.294635,-0.712369,1.14055,5.79649,7.64519,4.04759,4.37716,5.32521,9.45135,6.9763,9.15967,-4.72253,-3.22215,-3.78854,-3.34526,-3.36313,-3.61198,-3.82913,-3.82176,1.93059,0.544573,6.02139,9.61752,6.91935,12.0462,6.30376,-15.2426 --6.70098,0.430954,0.944852,2,3,0,10.285,6.86728,1.43118,1.97412,1.09894,0.675267,0.938111,-0.207878,-0.339065,-0.541075,-0.582612,9.6926,7.83371,6.56977,6.09291,8.44007,8.20989,6.38202,6.03346,-4.37179,-3.22166,-3.8704,-3.32023,-3.66625,-3.53164,-3.89641,-3.86425,6.90184,9.21288,13.4934,19.8139,11.5154,15.6272,-1.97017,5.0688 --5.67849,0.920634,0.388111,3,7,0,14.4622,8.30817,1.22869,-1.32682,-0.619137,-0.85499,0.101349,0.689631,0.0194419,0.525644,0.544986,6.67792,7.25766,9.15551,8.95403,7.54745,8.4327,8.33206,8.97779,-4.63728,-3.22428,-3.98011,-3.33261,-3.56714,-3.54512,-3.68887,-3.82341,8.869,13.3557,39.4361,-1.31355,5.05503,8.80807,-8.31127,21.4578 --7.91405,0.859752,0.533035,3,7,0,11.5866,6.56541,1.6912,2.44444,0.217743,0.901277,-0.700506,-1.33638,1.27773,-0.643504,-0.548822,10.6994,8.08964,4.30533,5.47712,6.93365,5.38071,8.7263,5.63724,-4.29212,-3.22156,-3.79576,-3.32642,-3.5047,-3.39613,-3.65153,-3.87179,38.0544,14.0417,-2.63331,7.92686,16.0439,18.1696,28.3724,-0.306207 --5.26661,0.675689,0.628828,2,3,0,9.67103,6.5634,6.9729,2.26918,0.367371,0.667359,-0.69722,-0.989329,1.25643,0.00573969,-0.141091,22.3861,11.2168,-0.335097,6.60342,9.12504,1.70175,15.3244,5.57958,-3.69702,-3.27326,-3.7054,-3.31748,-3.74898,-3.31887,-3.25732,-3.87292,26.2777,20.0318,-24.1937,3.54581,4.39223,-1.81939,17.9581,13.058 --5.81207,0.832795,0.475316,3,15,0,12.7943,0.727235,2.02653,-1.33476,-0.801947,-0.48122,0.340474,0.93457,-0.451328,0.0838113,0.29801,-1.97771,-0.247975,2.62117,0.897081,-0.897938,1.41722,-0.187396,1.33116,-5.62402,-3.56167,-3.75324,-3.47074,-3.11623,-3.31755,-4.87543,-3.98496,-0.796126,-0.71615,18.8947,-10.0839,-8.3075,13.5408,1.0143,-16.2546 --6.12233,0.888378,0.524881,3,7,0,10.3295,1.64627,2.04958,2.01645,0.144478,1.23914,0.0900232,-1.06053,0.883207,-0.599352,-0.233549,5.77914,4.186,-0.527374,0.417852,1.94239,1.83078,3.45648,1.16759,-4.72425,-3.29426,-3.70347,-3.49586,-3.16961,-3.31969,-4.27909,-3.99039,6.23302,18.1577,5.42933,-2.27453,10.6037,2.42897,-11.6326,23.4719 --6.5869,0.879215,0.660376,2,3,0,9.22456,1.78149,4.01988,2.00468,0.682631,0.619008,0.593528,-1.15396,0.670444,-0.811851,-1.38382,9.84006,4.26984,-2.85729,-1.48205,4.52559,4.16741,4.4766,-3.78131,-4.35984,-3.29109,-3.69157,-3.61413,-3.30463,-3.35829,-4.13594,-4.19365,22.8813,12.94,-23.5601,1.77745,6.02621,-3.83834,14.8276,-13.0186 --7.26892,0.272767,0.810525,2,3,0,13.5381,0.888379,1.82136,0.583841,-0.832735,-0.0691892,-0.774985,-0.0623372,0.525767,-0.199419,-2.48393,1.95176,0.76236,0.77484,0.525166,-0.628331,-0.523147,1.84599,-3.63575,-5.13479,-3.48344,-3.71936,-3.49007,-3.11702,-3.32642,-4.52628,-4.18659,-8.93806,4.47777,10.321,21.2617,5.21748,4.57526,-9.13134,-4.86578 --8.72762,0.996313,0.239797,4,15,0,11.1588,4.10016,0.376284,-0.613383,1.04957,-0.0895009,0.712453,-0.0678142,-0.394873,0.0514642,2.65824,3.86935,4.06648,4.07464,4.11952,4.49509,4.36824,3.95157,5.10041,-4.92096,-3.29889,-3.78928,-3.35112,-3.30256,-3.36371,-4.20832,-3.88277,14.5919,-5.763,0.969231,1.52568,-7.08177,6.2888,-8.85446,26.2315 --6.96843,0.989424,0.387924,3,15,0,11.8065,4.80575,0.28352,0.479761,-0.708834,-0.0648162,-0.762818,0.162375,0.663642,0.937306,1.66086,4.94177,4.78737,4.85178,5.07149,4.60478,4.58947,4.9939,5.27663,-4.8085,-3.27313,-3.81194,-3.3322,-3.31007,-3.37007,-4.06732,-3.87907,32.2068,15.4972,-1.58916,-12.1912,-12.7395,-15.9166,-5.21525,17.9579 --8.22746,0.649753,0.61374,2,5,0,16.4473,6.0335,0.148049,-1.14412,-0.74324,-0.0267071,-1.35178,1.18543,-0.167943,0.748601,0.781647,5.86411,6.02954,6.209,6.14433,5.92346,5.83337,6.00864,6.14922,-4.71587,-3.24094,-3.85716,-3.31986,-3.41205,-3.41337,-3.94049,-3.86214,5.74515,18.5202,9.52329,38.7285,11.3813,3.30908,10.6059,6.6956 --5.81397,0.97982,0.442462,3,7,0,11.0902,5.92237,0.332418,-0.501254,-1.19915,-0.676633,0.561361,0.506764,0.55962,0.199425,0.304242,5.75574,5.69744,6.09082,5.98866,5.52374,6.10897,6.10839,6.0235,-4.72656,-3.24803,-3.85294,-3.32106,-3.37887,-3.42469,-3.92858,-3.86443,9.38317,17.5116,5.65748,-4.2024,-0.65384,9.20676,7.16632,1.18484 --2.86513,0.791662,0.680183,3,7,0,8.94157,5.13277,7.84916,0.74981,0.237063,0.96432,-0.884641,-0.0510521,0.261565,0.15219,0.170772,11.0181,12.7019,4.73206,6.32734,6.99352,-1.81091,7.18584,6.47319,-4.26784,-3.33206,-3.80829,-3.3187,-3.51058,-3.34948,-3.80625,-3.85645,9.9226,24.2575,32.6211,10.583,28.9882,2.24465,13.0171,-45.7212 --2.92907,0.864929,0.67873,3,15,0,5.05875,4.12246,4.55303,0.244193,-0.844544,-0.699178,0.649845,-0.270367,0.823452,0.0286583,-0.0761815,5.23428,0.939084,2.89148,4.25295,0.277231,7.08123,7.87166,3.77561,-4.77872,-3.47081,-3.75932,-3.34802,-3.12623,-3.46965,-3.73444,-3.91369,7.18542,-11.477,7.86879,4.35571,-7.59815,12.2913,-0.137121,13.4925 --5.1197,0.0881172,0.798829,3,7,0,9.86158,4.22447,2.78601,-0.0771852,-0.420397,1.21345,-0.220365,-0.806435,-1.00025,-0.664249,-1.02648,4.00944,7.60517,1.97774,2.37387,3.05324,3.61054,1.43775,1.36468,-4.90598,-3.2223,-3.73992,-3.40527,-3.21758,-3.34499,-4.59306,-3.98386,27.2635,12.5113,28.2113,10.9377,2.79504,-24.6258,-3.68391,27.5558 --8.1896,0.991968,0.164678,5,63,0,12.1527,-2.01529,4.17114,0.749911,1.51729,0.0757684,1.27285,0.0516045,-0.92121,-0.156609,-0.831305,1.11269,-1.69925,-1.80004,-2.66853,4.31356,3.29396,-5.85779,-5.48278,-5.23349,-3.6919,-3.69434,-3.70312,-3.29045,-3.33858,-6.06749,-4.28099,0.480864,-8.93877,-17.0778,27.3985,3.58852,-7.08464,-0.210536,-29.7964 --7.53868,0.991158,0.25883,4,15,0,11.0529,-1.15374,4.07601,-0.151784,-1.40437,0.521091,-1.10505,0.0482151,2.19574,0.799876,1.06913,-1.77242,0.970229,-0.957218,2.10656,-6.87798,-5.65796,7.79613,3.20404,-5.59676,-3.46861,-3.69968,-3.41578,-3.32944,-3.50001,-3.74212,-3.92871,7.94168,8.23501,-0.822608,12.8726,-11.9033,-10.1308,4.48492,11.304 --6.48907,0.621604,0.403846,5,31,0,18.3595,5.86586,1.76973,0.542148,1.63547,-0.278689,1.04259,-0.223274,-1.31954,0.178143,-0.632001,6.82531,5.37265,5.47072,6.18112,8.7602,7.71096,3.53062,4.74739,-4.62336,-3.25604,-3.83167,-3.3196,-3.7042,-3.50294,-4.26834,-3.89048,7.13233,-7.34149,-1.4114,11.9549,-2.80931,-25.0244,-8.29598,0.484504 --6.93794,0.993015,0.277965,4,15,0,11.0454,3.2179,4.80385,-0.118747,-1.85317,0.491347,-1.67697,0.416206,1.87868,0.104932,0.931555,2.64746,5.57826,5.21729,3.72198,-5.68445,-4.83801,12.2428,7.69295,-5.05532,-3.25085,-3.82341,-3.36124,-3.25162,-3.45767,-3.38725,-3.83794,14.3805,-2.03264,10.5825,0.00425809,-9.79617,-6.49057,6.2725,-0.921605 --8.20931,0.954606,0.432932,3,15,0,13.1539,4.7907,3.89918,1.31018,-0.820425,-0.997093,-0.207417,1.506,2.70314,-0.546103,0.927197,9.89933,0.902851,10.6629,2.66134,1.59171,3.98194,15.3307,8.40601,-4.35507,-3.47337,-4.05613,-3.39462,-3.15763,-3.35358,-3.25715,-3.82924,16.4347,3.12824,25.36,-5.88655,-1.63731,3.82254,-12.7439,1.36689 --6.46171,0.977,0.617033,3,7,0,12.2314,3.68252,1.81832,-0.642773,0.614032,0.0945919,-0.154522,-0.547363,-1.97804,-0.36693,-0.92802,2.51375,3.85451,2.68723,3.01532,4.79902,3.40154,0.0858003,1.99508,-5.07043,-3.30745,-3.7547,-3.38244,-3.32375,-3.34067,-4.82612,-3.96378,-17.9263,8.98769,-1.86181,1.93763,-0.743686,-13.4216,-0.795866,29.1451 --7.23231,0.601155,0.919237,2,3,0,13.2102,3.38789,6.18269,-0.311979,-0.0986135,1.96281,1.59673,-0.954759,-0.147107,0.726133,0.426253,1.45902,15.5233,-2.51509,7.87734,2.77819,13.26,2.47837,6.02328,-5.19237,-3.50452,-3.69199,-3.32001,-3.20428,-3.93794,-4.42613,-3.86444,-7.9836,16.6091,6.71662,-0.766244,5.90921,4.12276,-19.3795,-3.7548 --5.63672,0.898519,0.607613,3,7,0,9.80981,2.88241,1.97037,1.0911,-0.949436,-1.15012,-1.34391,-0.0596607,1.17413,-0.427187,-0.173726,5.03228,0.616251,2.76486,2.04069,1.01167,0.234417,5.19589,2.54011,-4.79925,-3.49412,-3.75644,-3.41846,-3.14114,-3.31926,-4.04125,-3.94741,-3.0628,7.09443,-3.7221,8.21478,-11.9111,-6.0263,9.64864,-0.352967 --10.1778,0.596502,0.761916,4,23,0,13.1055,3.46639,1.37345,0.21152,0.6762,2.5028,-1.47413,-1.88544,0.723774,-1.02135,-0.961838,3.7569,6.90385,0.876841,2.06362,4.39511,1.44176,4.46045,2.14536,-4.93305,-3.22753,-3.72088,-3.41753,-3.29584,-3.31764,-4.13812,-3.95918,27.5505,6.40778,-11.9804,1.22795,5.43306,15.1519,8.69604,-30.2621 --10.2292,0.998785,0.50142,3,7,0,16.4833,3.38706,1.90812,-0.60141,0.551998,2.85949,-1.46585,0.52271,-1.34847,-0.0159737,-0.997616,2.2395,8.84329,4.38445,3.35658,4.44033,0.590046,0.814027,1.48349,-5.10166,-3.22508,-3.79803,-3.37169,-3.29886,-3.31753,-4.69831,-3.97998,13.3069,5.61304,-1.16546,-15.0634,-1.81669,12.8487,20.221,-10.358 --9.61204,0.263828,0.776006,2,3,0,13.9572,3.96586,5.99795,-0.261998,0.47007,1.83649,-1.58989,-0.199403,-1.31384,0.142544,-1.4425,2.39441,14.981,2.76985,4.82083,6.78531,-5.57025,-3.9145,-4.68621,-5.08398,-3.4652,-3.75655,-3.33646,-3.49031,-3.49521,-5.62275,-4.23899,7.85168,11.2285,5.13932,13.4236,15.791,4.32915,0.832054,-23.2625 --9.13252,0.996563,0.254802,4,31,0,17.1795,9.38007,0.278601,0.18121,-0.0176363,-1.62813,-0.661592,0.083745,1.58226,0.913848,0.972938,9.43055,8.92647,9.4034,9.63467,9.37515,9.19575,9.82089,9.65113,-4.39327,-3.22582,-3.992,-3.34552,-3.78063,-3.5944,-3.55601,-3.81782,-12.5938,7.94091,7.94947,20.9111,19.8056,28.127,-5.7595,11.9885 --8.35254,0.985001,0.392029,3,7,0,13.457,9.06242,0.312809,-0.225951,-0.494586,-1.30669,-0.879015,-0.184837,1.6471,0.942911,0.091528,8.99174,8.65367,9.0046,9.35737,8.90771,8.78745,9.57764,9.09105,-4.42991,-3.22366,-3.97299,-3.3398,-3.72211,-3.56743,-3.5762,-3.82237,21.9256,5.07886,-0.396669,16.2496,-1.33702,-5.63328,14.6817,-16.9769 --10.3029,0.732768,0.586079,3,7,0,18.689,8.50433,2.3723,-0.914631,-0.501298,1.92784,0.546794,2.2913,-0.995874,0.836421,-0.666722,6.33455,13.0778,13.94,10.4886,7.3151,9.80149,6.14182,6.92267,-4.67008,-3.35044,-4.252,-3.36712,-3.54296,-3.63694,-3.92461,-3.84909,-2.87345,18.5349,13.0122,4.53557,9.52752,8.99657,-7.9786,-1.28653 --10.217,0.98489,0.517622,3,7,0,12.9288,5.57465,6.19522,1.45179,-0.105103,-2.02915,-0.929339,-2.5487,1.38781,-0.818744,0.763423,14.5688,-6.99637,-10.2151,0.502348,4.92351,-0.182813,14.1724,10.3042,-4.02787,-4.34598,-3.7932,-3.49129,-3.33276,-3.32261,-3.29478,-3.81375,15.9581,-14.3802,9.65254,-0.323436,10.2609,-13.5095,4.90615,39.4486 --6.84014,1,0.769181,2,3,0,10.6926,5.36474,5.57435,1.53367,-0.57728,-1.46692,-1.27701,-1.3725,1.68865,-0.547026,0.531676,13.914,-2.81241,-2.28606,2.31542,2.14678,-1.75377,14.7779,8.32849,-4.06791,-3.80606,-3.69252,-3.40752,-3.17729,-3.34817,-3.27343,-3.83011,15.2222,-3.65992,-2.3285,17.0482,-8.30449,-18.646,23.2191,28.2245 --4.5749,0.378173,1.17403,2,3,0,7.97081,5.20653,10.517,1.08349,-0.185986,-0.360723,0.278052,-0.678266,1.51362,0.804721,-1.15763,16.6016,1.41279,-1.92682,13.6698,3.25051,8.13081,21.1253,-6.96826,-3.91571,-3.43848,-3.69378,-3.50066,-3.22769,-3.52695,-3.27036,-4.36455,7.95373,15.135,2.87434,28.5398,4.38638,22.816,26.5467,-22.0592 --3.89592,0.998629,0.502493,3,7,0,5.8628,5.29142,5.66827,0.978078,0.119966,0.00686857,-0.196472,-0.660365,1.286,0.621688,-1.37409,10.8354,5.33036,1.5483,8.81532,5.97142,4.17777,12.5808,-2.49732,-4.28171,-3.25716,-3.73193,-3.33045,-3.41617,-3.35856,-3.36836,-4.13365,21.8793,8.291,-6.36213,18.2364,6.10652,-1.82278,4.24226,14.0194 --3.89592,2.57556e-39,0.76312,1,1,0,9.736,5.29142,5.66827,0.978078,0.119966,0.00686857,-0.196472,-0.660365,1.286,0.621688,-1.37409,10.8354,5.33036,1.5483,8.81532,5.97142,4.17777,12.5808,-2.49732,-4.28171,-3.25716,-3.73193,-3.33045,-3.41617,-3.35856,-3.36836,-4.13365,12.2828,0.426844,-9.83075,24.2096,13.3219,4.87536,12.9274,-5.85094 --2.37326,0.99931,0.153934,4,15,0,5.05381,4.94494,9.21528,0.647781,-0.721187,0.0865522,-0.15431,-1.13644,0.866992,0.569711,0.267745,10.9144,5.74254,-5.52767,10.195,-1.701,3.52293,12.9345,7.41229,-4.27569,-3.247,-3.70401,-3.35902,-3.1192,-3.34314,-3.34982,-3.84179,14.8934,9.25852,-11.0572,9.8034,-19.6587,13.9415,18.0782,6.55607 --7.18283,0.676864,0.234465,4,15,0,13.2456,8.21784,0.0974935,0.0877601,0.786948,0.212758,-0.521358,0.443225,-0.421554,-0.971954,-0.0201041,8.2264,8.23858,8.26105,8.12308,8.29456,8.16701,8.17674,8.21588,-4.49587,-3.22181,-3.93921,-3.32205,-3.64943,-3.52909,-3.70401,-3.83141,13.8913,13.594,12.9439,4.17763,12.4181,15.878,5.77577,12.1185 --8.06489,0.985391,0.186759,5,31,0,13.2689,7.52389,0.0601794,-1.04757,0.345922,0.0309449,-1.31174,0.478391,-0.210893,-0.27284,0.487518,7.46085,7.52575,7.55268,7.50747,7.54471,7.44495,7.5112,7.55323,-4.56445,-3.22265,-3.90903,-3.3179,-3.56685,-3.48848,-3.7716,-3.83983,12.9621,5.70514,35.9418,13.6357,21.8466,1.13586,4.18158,-0.111408 --5.19663,0.987442,0.275254,4,15,0,10.3817,6.16973,0.550715,0.285745,0.40127,-0.565768,0.586441,1.16496,0.284564,0.592741,0.243178,6.3271,5.85816,6.8113,6.49617,6.39072,6.4927,6.32645,6.30366,-4.6708,-3.24446,-3.87954,-3.31788,-3.45334,-3.4415,-3.90288,-3.85938,31.1315,19.1525,14.904,-9.18323,6.19835,3.55908,18.4848,27.4752 --5.52621,0.942141,0.405776,3,7,0,9.43236,5.01375,1.53558,-0.495854,-0.615385,-0.130682,-0.646033,-1.79144,0.799542,0.11735,-1.02872,4.25233,4.81308,2.26286,5.19395,4.06878,4.02172,6.24152,3.43407,-4.88022,-3.27231,-3.74562,-3.33031,-3.27476,-3.35456,-3.91283,-3.92254,0.461967,0.475113,5.36,-12.1025,1.36649,9.38859,3.50527,8.36284 --4.70287,0.89849,0.545084,3,7,0,10.9525,5.60414,1.99727,1.03158,-0.0342946,0.676959,0.311971,1.35585,0.170675,-0.532289,0.891315,7.66449,6.95621,8.31215,4.54101,5.53565,6.22723,5.94503,7.38434,-4.54595,-3.22697,-3.94146,-3.34182,-3.37983,-3.42974,-3.94814,-3.84219,13.2328,20.3222,5.30933,-21.399,0.626704,4.43062,-13.687,-1.63576 --3.94492,0.885844,0.670278,3,15,0,8.79023,1.69636,12.1363,0.212774,-0.273489,-0.294629,-0.402773,-1.09228,0.854253,0.675111,-0.783149,4.27865,-1.87934,-11.5598,9.88969,-1.62278,-3.1918,12.0638,-7.80815,-4.87744,-3.70953,-3.83463,-3.35134,-3.11856,-3.38944,-3.39771,-4.41481,-16.6721,-8.35143,-31.3489,14.5163,-1.95943,-2.57571,12.1035,-14.8833 --3.94492,0.292458,0.802542,3,11,0,9.42963,1.69636,12.1363,0.212774,-0.273489,-0.294629,-0.402773,-1.09228,0.854253,0.675111,-0.783149,4.27865,-1.87934,-11.5598,9.88969,-1.62278,-3.1918,12.0638,-7.80815,-4.87744,-3.70953,-3.83463,-3.35134,-3.11856,-3.38944,-3.39771,-4.41481,21.3877,2.58816,14.241,7.51539,1.98807,7.46717,-16.0198,-3.83704 --3.9234,0.989195,0.303204,4,15,0,6.44661,1.60087,5.71277,1.59346,0.200675,1.01097,0.103878,-0.191159,1.01542,0.0366569,1.39545,10.7039,7.37629,0.508827,1.81029,2.74728,2.1943,7.40173,9.57275,-4.29178,-3.22347,-3.71557,-3.42813,-3.20284,-3.32273,-3.78314,-3.8184,3.12071,1.51523,7.81141,0.96167,5.01484,9.53017,-4.80898,13.8696 --8.44627,0.501311,0.444104,3,15,0,10.9712,0.0219328,13.9072,1.48256,-0.131747,1.33698,0.0186375,-0.938541,0.294344,-1.12356,1.77864,20.6402,18.6155,-13.0306,-15.6036,-1.8103,0.281128,4.11543,24.7578,-3.74736,-3.78497,-3.88804,-5.42809,-3.12022,-3.31897,-4.18543,-4.06049,32.0481,27.0164,-27.7621,-7.78765,-3.02533,-2.78165,12.6682,5.68533 --7.17933,1,0.253627,4,31,0,11.9569,6.78807,1.65301,-0.816258,0.44893,-1.55044,-0.0882312,0.817665,0.156833,0.624456,-1.86606,5.43879,4.22518,8.13968,7.8203,7.53016,6.64223,7.04732,3.70347,-4.75812,-3.29277,-3.9339,-3.31961,-3.56532,-3.44838,-3.82133,-3.91553,6.92704,-7.89661,15.2582,-1.41957,1.52029,4.84356,10.3148,28.4481 --5.18366,0.993338,0.378195,5,63,0,10.4092,2.34658,9.04298,2.17092,-0.976163,-0.369085,-0.943089,-0.127949,0.20316,0.901379,0.308323,21.9782,-0.991042,1.18954,10.4977,-6.48084,-6.18175,4.18376,5.13475,-3.70757,-3.62572,-3.72581,-3.36739,-3.30159,-3.52996,-4.17597,-3.88204,10.7579,-2.62566,24.3919,6.29734,-7.09581,-13.8599,9.56078,-2.65737 --4.83997,0.442329,0.554794,3,7,0,8.25661,3.18733,1.17008,0.445788,-0.16991,0.670895,-0.627737,1.14293,0.723929,-0.978191,-0.0692256,3.70894,3.97233,4.52465,2.04278,2.98853,2.45284,4.03439,3.10634,-4.93822,-3.30263,-3.80211,-3.41838,-3.21436,-3.32556,-4.19672,-3.93137,28.0215,3.19539,1.10711,11.9021,0.459513,-0.479995,0.919953,28.7023 --4.80674,0.994929,0.2851,4,23,0,7.8655,7.12363,10.7004,0.242462,-0.179736,-0.337529,0.433969,-1.48405,-0.0412082,0.929849,0.0913211,9.71807,3.51195,-8.75627,17.0734,5.2004,11.7673,6.68269,8.1008,-4.36972,-3.32224,-3.75624,-3.73614,-3.35348,-3.7959,-3.86193,-3.83277,7.92293,-4.48327,-36.8162,25.183,-9.19027,16.8192,13.2891,16.6513 --6.7331,0.76492,0.418539,3,7,0,10.2679,7.44,1.27268,0.472332,-1.44032,1.75052,-0.330101,-1.11294,0.828228,0.342418,0.425977,8.04112,9.66784,6.02359,7.87578,5.60694,7.01988,8.49406,7.98213,-4.51223,-3.23543,-3.85056,-3.32,-3.38562,-3.46658,-3.67334,-3.83422,6.31532,10.8832,13.6312,10.211,16.9602,7.04298,3.28247,3.90236 --7.98521,0.995977,0.397298,4,23,0,11.3563,-3.76562,1.49156,1.20189,-0.652193,1.03006,-0.545219,-0.85738,0.792378,0.129333,-0.0563973,-1.97293,-2.22922,-5.04445,-3.57271,-4.7384,-4.57885,-2.58374,-3.84974,-5.62338,-3.74471,-3.69969,-3.77874,-3.20243,-3.44544,-5.33998,-4.19699,-29.5827,5.2177,-14.3053,6.64204,-2.71858,-15.646,1.98266,3.80128 --6.05378,0.896306,0.581533,3,7,0,13.4103,-2.75625,3.1362,0.153244,0.89539,-0.295847,0.555508,0.781793,1.16123,-0.282292,0.498892,-2.27565,-3.68409,-0.304395,-3.64158,0.0518675,-1.01407,0.885608,-1.19163,-5.66391,-3.90411,-3.70572,-3.78478,-3.12299,-3.3336,-4.68604,-4.07786,-1.29342,-9.72869,13.7765,-1.89657,5.48175,10.5863,-0.37637,-6.0134 --6.82058,0.607878,0.704491,1,3,0,10.3258,-3.18361,3.34298,1.4096,0.504909,-0.594067,0.680359,-0.260896,1.67711,0.615571,-0.0614042,1.52865,-5.16957,-4.05578,-1.12577,-1.49571,-0.909182,2.42293,-3.38889,-5.18417,-4.08871,-3.6937,-3.58968,-3.11768,-3.3319,-4.43475,-4.17477,5.34319,-8.52216,11.9056,-13.2627,-9.41387,-28.2865,4.4137,-1.58314 --11.5972,0.9458,0.498758,3,7,0,13.4991,-4.69303,5.50662,-0.670272,1.54627,-0.0792891,1.71218,0.360492,-0.398045,1.67503,0.713011,-8.38396,-5.12964,-2.70793,4.5307,3.82168,4.73528,-6.88491,-0.766748,-6.56875,-4.08346,-3.69169,-3.34203,-3.25967,-3.37449,-6.31782,-4.06084,-19.9658,-8.14869,-18.4941,13.1668,7.50438,10.3591,-14.5904,-23.1046 --11.5972,0.0194608,0.661395,3,7,0,16.3287,-4.69303,5.50662,-0.670272,1.54627,-0.0792891,1.71218,0.360492,-0.398045,1.67503,0.713011,-8.38396,-5.12964,-2.70793,4.5307,3.82168,4.73528,-6.88491,-0.766748,-6.56875,-4.08346,-3.69169,-3.34203,-3.25967,-3.37449,-6.31782,-4.06084,-14.7605,3.98493,-3.07641,5.76465,-2.90163,7.44149,-3.8573,-16.2853 --6.46675,0.997317,0.158992,5,31,0,14.1708,0.537916,4.94515,0.762722,-1.37915,0.644809,-1.31207,-0.978421,-0.204175,-0.814551,-0.403667,4.30969,3.72659,-4.30052,-3.49016,-6.2822,-5.95045,-0.471757,-1.45828,-4.87417,-3.31283,-3.69483,-3.77156,-3.2884,-3.51646,-4.92755,-4.08882,38.5529,-9.90952,-12.2854,5.74364,-5.08281,-7.83749,3.86611,-16.9664 --7.9909,0.956568,0.232255,4,15,0,12.7351,3.13598,2.62692,1.0707,1.15414,-0.296309,1.4535,0.28002,1.96103,1.59101,1.1201,5.9486,2.3576,3.87157,7.31542,6.16781,6.9542,8.28743,6.07839,-4.70758,-3.38071,-3.78375,-3.31724,-3.43331,-3.46333,-3.69319,-3.86342,-30.9081,13.3623,11.6646,3.39199,12.9692,21.4938,15.8109,8.04526 --7.55763,0.995903,0.313947,4,31,0,14.5721,5.75748,3.4055,-0.447439,-0.309091,1.92897,0.403519,2.12471,0.450071,0.320637,-0.818837,4.23372,12.3266,12.9932,6.84941,4.70487,7.13166,7.29019,2.96893,-4.88218,-3.31512,-4.1911,-3.31693,-3.31706,-3.47219,-3.79502,-3.93517,-6.37962,3.54083,-5.06923,-6.6962,17.5554,-11.6681,17.8029,6.88467 --8.14361,0.918222,0.454683,4,15,0,11.6685,3.11968,2.48507,0.525667,0.187154,-0.735147,-0.0749156,-1.47635,-1.31549,-0.608197,2.31112,4.426,1.29279,-0.54915,1.60827,3.58477,2.93351,-0.149405,8.86298,-4.86195,-3.44646,-3.70326,-3.43696,-3.24592,-3.33228,-4.86853,-3.8245,4.42975,-3.97781,-2.4621,-8.52092,24.9687,5.45835,7.65432,15.0206 --8.14361,0,5.63715,0,1,1,11.5457,3.11968,2.48507,0.525667,0.187154,-0.735147,-0.0749156,-1.47635,-1.31549,-0.608197,2.31112,4.426,1.29279,-0.54915,1.60827,3.58477,2.93351,-0.149405,8.86298,-4.86195,-3.44646,-3.70326,-3.43696,-3.24592,-3.33228,-4.86853,-3.8245,-24.3355,8.01467,7.45197,7.3674,7.55111,-7.3719,6.78615,10.4393 --4.46834,0.963356,0.911616,2,3,0,10.1965,6.66247,3.37279,-0.507118,0.407433,-0.196657,-0.41955,-0.899161,-0.533079,-0.742171,1.01383,4.95207,5.99919,3.62979,4.15928,8.03666,5.24742,4.86451,10.0819,-4.80745,-3.24154,-3.77738,-3.35018,-3.62024,-3.39138,-4.08423,-3.81499,12.116,10.3961,-0.343997,-9.12256,19.3246,7.70003,-4.70461,3.46491 --4.46834,0.0174514,1.14224,1,3,1,11.0779,6.66247,3.37279,-0.507118,0.407433,-0.196657,-0.41955,-0.899161,-0.533079,-0.742171,1.01383,4.95207,5.99919,3.62979,4.15928,8.03666,5.24742,4.86451,10.0819,-4.80745,-3.24154,-3.77738,-3.35018,-3.62024,-3.39138,-4.08423,-3.81499,19.9988,13.908,9.18539,19.5596,0.342342,-8.76576,8.67165,-5.56198 --7.96209,0.996836,0.110512,5,31,0,9.69226,7.96874,2.11636,-1.40134,-0.568926,-0.415883,-0.671089,0.595039,-1.29973,-1.95258,0.306256,5.00301,7.08858,9.22806,3.83637,6.76469,6.54848,5.21805,8.61689,-4.80224,-3.22568,-3.98357,-3.35819,-3.48833,-3.44405,-4.03841,-3.82697,25.545,12.3156,25.0619,6.4424,9.94197,0.95179,6.13864,17.5459 --8.23764,0.985958,0.169067,4,31,0,12.4007,0.671786,0.50889,-1.06097,-0.967516,-0.824249,-0.923902,0.94657,0.260681,-1.60435,-0.173618,0.131868,0.252334,1.15349,-0.144653,0.179427,0.201622,0.804444,0.583434,-5.35284,-3.52166,-3.72522,-3.52777,-3.12475,-3.31947,-4.69996,-4.01045,3.0515,-12.4157,15.4269,17.5944,2.11594,14.4044,18.3959,-23.8941 --6.52088,0.994671,0.273378,4,15,0,12.5504,5.87943,11.6337,-0.138232,-0.237125,-0.30153,1.22288,-0.017588,1.44742,0.413826,1.39079,4.27128,2.37154,5.67482,10.6937,3.1208,20.106,22.7182,22.0594,-4.87822,-3.37992,-3.8385,-3.37321,-3.22098,-4.82526,-3.33283,-3.96547,-6.03862,-6.90426,-1.5636,3.78248,9.76836,10.122,9.19274,26.6675 --10.0502,0.960267,0.478266,4,15,0,15.0195,10.0501,2.10308,-0.63879,-0.278739,0.424976,-1.55683,-0.825317,-1.27154,-0.0481861,-2.56808,8.70663,10.9438,8.31435,9.94872,9.46385,6.77591,7.37591,4.64918,-4.45418,-3.26485,-3.94156,-3.35276,-3.79204,-3.45469,-3.78588,-3.8927,12.5258,12.9508,10.4292,2.07612,7.0671,2.99258,18.118,7.54924 --9.70117,0.831716,0.774407,3,7,0,17.8137,-0.178354,2.08302,-0.299302,1.56078,2.47055,1.38718,-0.589005,0.785832,-1.04236,-0.0486658,-0.801806,4.96785,-1.40526,-2.3496,3.07278,2.71117,1.45855,-0.279725,-5.47042,-3.26749,-3.69649,-3.67805,-3.21856,-3.32893,-4.58962,-4.04201,15.6925,2.22363,-15.6363,-5.04218,16.614,-6.63302,-2.06604,-31.6444 --7.88348,0.333333,0.848689,1,3,1,15.7588,2.03829,0.407945,-0.475124,1.20124,1.82486,0.442517,1.36764,0.322186,-0.07791,0.00311104,1.84446,2.78273,2.59621,2.0065,2.52832,2.21881,2.16972,2.03955,-5.14724,-3.35762,-3.75269,-3.41987,-3.19301,-3.32297,-4.47451,-3.96241,5.58552,1.17244,18.7085,4.0192,0.948603,5.39962,6.00989,2.79419 --3.01622,0.996758,0.193569,4,15,0,9.60152,2.76339,11.9783,0.303802,0.0347587,1.25478,-0.222554,0.117063,0.910511,0.58043,-0.0185099,6.40243,17.7935,4.16561,9.71596,3.17974,0.0975687,13.6698,2.54167,-4.66356,-3.70109,-3.79181,-3.34731,-3.224,-3.3202,-3.31528,-3.94737,6.91242,30.3697,-22.8596,25.8493,1.53262,7.903,14.7784,6.41156 --5.10312,0.966582,0.361663,3,15,0,7.03258,5.1836,2.19966,-0.128421,-0.190303,0.809098,-1.82227,-1.07589,0.560702,-0.440874,-0.384702,4.90111,6.96334,2.81699,4.21382,4.76499,1.17522,6.41695,4.33738,-4.81267,-3.2269,-3.75762,-3.34891,-3.32132,-3.31696,-3.89236,-3.89992,17.006,1.72909,-22.6225,17.6298,0.949366,-1.36291,16.8693,-0.176081 --4.3004,0.857069,0.615803,3,7,0,7.52582,5.11552,4.93241,0.272121,-0.70247,1.1313,-0.518503,0.247066,0.944958,-1.48911,0.110145,6.45774,10.6956,6.33415,-2.22937,1.65065,2.55805,9.77645,5.6588,-4.65825,-3.25785,-3.8617,-3.66882,-3.15953,-3.32686,-3.55966,-3.87136,16.5769,-7.95843,-8.73102,-4.06901,-7.69705,8.64931,16.5871,5.65692 --5.86173,0.512768,0.742997,3,7,0,9.5886,2.39425,4.60309,-0.698916,-0.261431,0.214188,1.29065,-1.23408,1.95175,0.755984,-0.0137396,-0.822919,3.38018,-3.28634,5.87411,1.19086,8.33522,11.3783,2.33101,-5.47312,-3.32824,-3.69169,-3.32207,-3.14579,-3.53917,-3.44076,-3.95358,2.56106,-1.02045,18.2992,20.4038,-4.05417,38.5074,4.00252,10.0597 --9.10222,0.942567,0.306444,4,15,0,13.5958,2.83256,3.15248,-1.24983,-0.836208,0.187349,0.521079,2.07383,2.52333,-0.596221,0.474039,-1.10751,3.42317,9.37026,0.952981,0.196429,4.47525,10.7873,4.32695,-5.50976,-3.32626,-3.9904,-3.46793,-3.125,-3.36674,-3.48164,-3.90017,-13.0158,18.096,12.7891,22.7883,-15.9475,20.839,6.7513,-8.01384 --3.61518,0.947974,0.484816,3,7,0,11.6831,7.91823,3.07375,0.584445,-0.809137,-0.107979,-0.899099,-0.411119,0.338317,0.719881,0.535799,9.71467,7.58633,6.65456,10.131,5.43115,5.15463,8.95814,9.56515,-4.37,-3.22238,-3.87358,-3.35734,-3.37147,-3.38816,-3.6303,-3.81846,-1.51835,12.4734,14.9598,36.3415,1.71611,16.4612,19.1937,-31.0148 --4.97156,0.999948,0.776333,3,7,0,7.2174,2.82419,1.53448,-0.879412,0.358337,0.0838971,-1.16216,-0.539568,1.25716,-0.276649,0.477167,1.47475,2.95293,1.99623,2.39968,3.37406,1.04088,4.75328,3.5564,-5.19052,-3.34889,-3.74028,-3.40428,-3.23426,-3.31684,-4.0989,-3.91933,-18.0734,17.9029,7.14289,12.6707,4.65106,15.124,22.185,-21.8433 --4.97156,0.0517503,1.44857,2,3,0,8.1094,2.82419,1.53448,-0.879412,0.358337,0.0838971,-1.16216,-0.539568,1.25716,-0.276649,0.477167,1.47475,2.95293,1.99623,2.39968,3.37406,1.04088,4.75328,3.5564,-5.19052,-3.34889,-3.74028,-3.40428,-3.23426,-3.31684,-4.0989,-3.91933,-15.1615,19.4573,-1.90189,1.04311,6.52537,30.081,13.0092,5.21622 --7.76287,0.994447,0.151361,5,31,0,12.4557,5.69545,0.776646,1.03983,-0.811842,0.101184,1.6852,0.412866,1.90758,0.364558,-0.800745,6.50304,5.77404,6.01611,5.97859,5.06494,7.00426,7.17697,5.07356,-4.65392,-3.2463,-3.8503,-3.32114,-3.34322,-3.46581,-3.80721,-3.88335,45.2579,20.9211,-24.9582,5.01515,7.68106,-5.40073,-8.35424,-18.7612 --4.24634,0.999341,0.279083,4,15,0,10.1104,-1.21986,8.83395,1.20258,0.360411,0.350927,-0.929911,-0.301114,0.173382,0.144209,0.83461,9.4037,1.88021,-3.87989,0.0540729,1.96399,-9.43466,0.311785,6.15304,-4.39548,-3.40878,-3.69304,-3.5162,-3.17039,-3.76676,-4.78589,-3.86207,-11.6095,8.63434,-12.9869,-10.6628,-2.66132,-6.34048,-0.994812,14.3801 --5.81304,0.602755,0.517377,3,7,0,10.4835,3.08066,0.78328,-0.20465,1.32943,0.504089,-0.12497,1.20316,-0.0131863,-0.805558,0.603537,2.92036,3.4755,4.02307,2.44968,4.12197,2.98277,3.07033,3.5534,-5.02474,-3.32388,-3.78786,-3.40239,-3.27811,-3.33308,-4.336,-3.91941,17.1648,22.0153,26.4384,0.486313,7.65116,6.23348,-4.46636,-9.85396 --6.37363,0.998588,0.29406,4,15,0,8.9757,9.03744,2.88776,0.247597,-1.73083,-1.04787,-0.270389,-1.44047,0.0277597,0.957397,-0.504547,9.75244,6.01143,4.87772,11.8022,4.03922,8.25662,9.11761,7.58043,-4.36693,-3.2413,-3.81274,-3.41213,-3.27291,-3.53443,-3.61601,-3.83945,-2.05343,6.30025,2.33162,16.1945,1.45539,21.9493,-7.53316,-7.71471 --3.29601,1,0.538665,3,7,0,8.45465,5.78039,1.79096,0.0820765,0.158986,-0.489224,-0.36603,0.713977,0.276906,0.0633552,-0.48084,5.92739,4.90421,7.0591,5.89386,6.06513,5.12485,6.27632,4.91923,-4.70966,-3.26944,-3.88916,-3.32189,-3.42429,-3.38714,-3.90875,-3.88668,4.17145,3.55464,23.5358,13.0225,4.46742,3.03487,4.39505,26.9483 --6.148,0.559316,0.980986,2,3,0,8.38133,1.9592,1.10032,-0.286334,-1.18038,0.603116,1.43922,-0.908795,-0.200825,-0.828301,0.0973301,1.64414,2.62282,0.959235,1.0478,0.660408,3.5428,1.73823,2.0663,-5.17061,-3.36609,-3.72214,-3.46323,-3.13318,-3.34355,-4.54375,-3.96159,-20.5459,0.0168858,18.5392,-1.65692,-1.91048,13.2542,10.05,16.2963 --6.95688,0.979163,0.496736,3,7,0,9.21499,-0.214029,2.24344,-0.0636861,-1.05818,0.620232,1.66787,-0.765248,-0.336896,-1.00565,-0.402405,-0.356905,1.17743,-1.93082,-2.47015,-2.588,3.52774,-0.969835,-1.1168,-5.41391,-3.45426,-3.69376,-3.68743,-3.13173,-3.34324,-5.0208,-4.07482,11.2457,1.42979,-19.2698,-1.78956,-4.20884,7.96946,-1.72975,9.27391 --6.48662,1,0.844598,3,7,0,10.0742,4.41631,1.69842,0.895927,-1.07555,-0.242684,1.47902,-1.05533,-0.722363,-1.31724,0.0360923,5.93797,4.00413,2.62392,2.17909,2.58957,6.9283,3.18944,4.47761,-4.70862,-3.30136,-3.7533,-3.41287,-3.1957,-3.46206,-4.31829,-3.89663,-2.18331,3.33316,9.50052,-9.81722,7.98502,13.1888,10.8274,-24.7883 --6.48662,0.0151207,1.50985,2,3,0,9.10348,4.41631,1.69842,0.895927,-1.07555,-0.242684,1.47902,-1.05533,-0.722363,-1.31724,0.0360923,5.93797,4.00413,2.62392,2.17909,2.58957,6.9283,3.18944,4.47761,-4.70862,-3.30136,-3.7533,-3.41287,-3.1957,-3.46206,-4.31829,-3.89663,-36.1938,8.8384,23.8802,-0.25056,16.9154,9.75932,7.42746,-20.9967 --5.86417,0.996614,0.168109,4,15,0,9.30086,4.66218,1.59309,0.795834,-0.982423,-0.123091,1.34023,-0.828571,-0.756971,-1.24895,0.065718,5.93002,4.46609,3.34219,2.67249,3.09709,6.79729,3.45626,4.76688,-4.7094,-3.28397,-3.77009,-3.39422,-3.21978,-3.45571,-4.27913,-3.89005,18.1795,13.5783,14.5098,1.02915,5.19196,22.6082,-2.54258,8.1022 --5.51432,0.989428,0.298881,4,15,0,9.03417,9.1918,5.30551,0.651859,-1.27409,-0.740488,-0.0118572,0.914511,0.0525801,-0.986007,-1.04949,12.6502,5.26313,14.0437,3.96053,2.43211,9.12889,9.47076,3.6237,-4.15058,-3.25898,-4.25889,-3.35501,-3.18888,-3.58989,-3.58526,-3.91759,7.99637,2.01514,16.9779,3.54799,0.753024,10.9172,-3.3064,-20.4658 --5.02693,0.962882,0.515957,3,7,0,8.40381,2.0783,9.26269,1.53408,-0.0888231,0.112464,-0.678359,-1.82972,-0.066035,0.646961,0.479544,16.288,3.12001,-14.8699,8.0709,1.25556,-4.20513,1.46663,6.52016,-3.93182,-3.3406,-3.96671,-3.32157,-3.14757,-3.42879,-4.58828,-3.85565,40.8112,13.3837,-38.6599,-3.23672,4.8283,12.6659,0.988194,-10.5333 --4.41129,0.894586,0.820756,3,7,0,7.76885,4.36943,4.83867,-0.426217,-0.752414,0.0164205,-0.517101,0.255254,1.41106,1.59978,0.245908,2.30711,4.44888,5.60452,12.1102,0.728747,1.86735,11.1971,5.5593,-5.09393,-3.28458,-3.83613,-3.42474,-3.13461,-3.31994,-3.45292,-3.87333,-14.4012,-13.2161,6.95637,15.9878,14.2228,-12.8715,26.0548,-27.1084 --4.41129,0.0385513,1.07628,3,9,0,9.84163,4.36943,4.83867,-0.426217,-0.752414,0.0164205,-0.517101,0.255254,1.41106,1.59978,0.245908,2.30711,4.44888,5.60452,12.1102,0.728747,1.86735,11.1971,5.5593,-5.09393,-3.28458,-3.83613,-3.42474,-3.13461,-3.31994,-3.45292,-3.87333,5.56246,5.5708,1.03384,18.9764,-4.98362,3.49081,18.2709,-22.3858 --4.82035,0.98961,0.140039,5,31,0,9.7566,5.24094,1.94862,1.72465,0.0266175,-0.220127,-1.04957,-0.650582,-0.518672,-0.236305,0.426858,8.60164,4.812,3.9732,4.78047,5.29281,3.19574,4.23025,6.07273,-4.4632,-3.27234,-3.7865,-3.33719,-3.3606,-3.33676,-4.16955,-3.86353,0.98025,-10.0454,24.0544,-7.02706,14.611,3.85065,19.6809,27.1666 --5.69173,0.995512,0.239074,4,31,0,8.2308,6.1414,3.18057,-0.138621,0.966008,-0.49372,-1.11904,-0.881817,-1.15762,0.518137,-0.534024,5.70051,4.57109,3.33673,7.78937,9.21386,2.58221,2.45951,4.4429,-4.73203,-3.28031,-3.76995,-3.31941,-3.76013,-3.32718,-4.42906,-3.89744,-8.94259,7.45331,5.14033,-4.30543,-1.1047,-8.73505,-1.6642,9.90419 --8.83086,0.734704,0.41101,4,15,0,13.4954,7.95798,0.81895,0.628354,-0.977697,1.02212,1.32415,0.797938,1.71385,-1.48792,0.608337,8.47257,8.79505,8.61145,6.73945,7.15729,9.04239,9.36153,8.45618,-4.47437,-3.22468,-3.95486,-3.31711,-3.52691,-3.58411,-3.59464,-3.82869,13.7014,15.0038,-16.8096,29.7984,12.5268,2.08188,-1.31931,-23.0035 --6.16931,0.634261,0.352846,4,15,0,14.8383,5.96001,5.25365,-0.132007,-1.53213,0.687863,1.67999,-0.931537,0.023545,-0.693765,-0.14705,5.26649,9.5738,1.06604,2.31521,-2.08928,14.7861,6.08371,5.18746,-4.77546,-3.23391,-3.72382,-3.40752,-3.12349,-4.10219,-3.93151,-3.88093,18.4541,9.79505,-8.68451,9.6922,-7.46766,-2.20897,-0.799111,-0.529621 --7.03089,0.943957,0.233637,5,31,0,10.0595,2.97808,3.37106,0.230822,1.34141,-0.41924,-2.04897,0.979252,1.18561,0.915962,0.279288,3.7562,1.5648,6.2792,6.06584,7.50004,-3.92911,6.97484,3.91958,-4.93313,-3.42858,-3.8597,-3.32044,-3.56216,-3.41723,-3.82929,-3.91007,10.7989,9.0811,-17.2751,-4.12729,8.82121,2.32119,22.9211,26.8607 --7.40699,0.905931,0.347051,4,15,0,14.6284,3.08649,3.98385,-0.259995,-1.86397,0.557927,0.743599,-0.936095,-0.735263,-1.57061,-0.350274,2.05071,5.30919,-0.642776,-3.1706,-4.33931,6.04888,0.15731,1.69105,-5.12336,-3.25773,-3.70238,-3.74428,-3.185,-3.42217,-4.81333,-3.97331,-11.7038,8.45642,-7.54847,-6.69717,-6.95076,21.4311,-20.3161,0.719536 --13.9165,0.901657,0.464675,3,7,0,17.7845,10.1922,1.85644,-1.39263,-1.62137,-0.671769,0.628805,-2.33903,0.366956,-2.05414,2.23871,7.60684,8.94508,5.84992,6.3788,7.18222,11.3595,10.8734,14.3482,-4.55117,-3.22599,-3.8445,-3.31843,-3.52943,-3.7603,-3.47546,-3.81782,22.7148,20.5695,-6.3218,3.32541,4.4776,22.5778,13.8054,33.5022 --10.3363,0.99165,0.612654,3,7,0,16.2693,7.78691,2.79697,-0.713742,-1.97143,-0.752698,-0.102329,-1.23277,-0.170004,-1.55264,2.57199,5.7906,5.68164,4.33889,3.44422,2.27288,7.5007,7.31142,14.9807,-4.72312,-3.2484,-3.79672,-3.36908,-3.18229,-3.49146,-3.79275,-3.82302,8.75049,13.5728,15.3424,-7.45781,5.80532,8.89398,15.7262,-3.10769 --5.9579,0.220025,1.01,4,15,0,14.6849,6.09796,4.22386,0.935871,0.126789,1.34907,0.0198033,0.726072,-0.599632,1.1541,1.41147,10.0509,11.7963,9.16479,10.9727,6.6335,6.18161,3.5652,12.0598,-4.34292,-3.29358,-3.98055,-3.38205,-3.47586,-3.42778,-4.26334,-3.80932,8.58356,8.91683,26.5517,16.0988,-2.52662,1.77991,-10.08,18.2632 --5.10052,0.981476,0.238066,5,31,0,12.5115,5.59675,1.97005,-0.279574,-0.394277,-1.03634,-0.258882,-0.887192,1.42798,-0.957033,-0.654504,5.04598,3.55512,3.84894,3.71135,4.82001,5.08674,8.40994,4.30735,-4.79785,-3.32031,-3.78314,-3.36152,-3.32525,-3.38585,-3.68137,-3.90063,29.5101,0.805153,-6.38659,-3.54209,17.3455,17.9005,-5.205,0.518712 --4.64581,0.97269,0.382432,4,15,0,10.2759,5.44675,1.81589,1.05081,0.698809,0.55819,0.320085,0.0639107,-0.780271,0.980438,0.521699,7.3549,6.46036,5.5628,7.22711,6.71571,6.02799,4.02987,6.3941,-4.57414,-3.23338,-3.83473,-3.31705,-3.48365,-3.4213,-4.19735,-3.85781,0.773506,8.1494,-4.35381,12.2686,-2.12737,-13.4048,2.67095,-15.8386 --5.7196,0.901656,0.596952,3,7,0,9.08312,0.697423,2.92444,0.848275,0.468657,-1.55656,0.248685,-0.470562,-0.616626,0.324839,-0.434615,3.17815,-3.85465,-0.678706,1.6474,2.06798,1.42469,-1.10586,-0.573581,-4.99615,-3.92419,-3.70205,-3.43522,-3.17426,-3.31758,-5.04669,-4.05328,-7.69284,-8.46473,-8.10052,9.06608,-25.1992,15.9143,-3.9103,-13.5868 --10.7979,0.653812,0.777544,2,3,0,14.9413,12.3851,2.89688,-1.29162,0.470157,-1.39745,-2.14006,0.163314,-1.24059,-0.445057,0.518862,8.64342,8.33685,12.8582,11.0958,13.7471,6.18559,8.79124,13.8882,-4.4596,-3.22209,-4.1827,-3.38615,-4.45861,-3.42795,-3.64553,-3.81481,1.27046,7.88755,3.68029,6.45865,8.36394,13.4502,-0.707539,35.3622 --10.9451,0.990825,0.551176,3,7,0,13.8249,7.27512,2.31895,-2.19821,0.0390684,-1.42229,-2.22505,0.392744,-1.26653,-0.485071,0.940014,2.17757,3.97689,8.18587,6.15026,7.36572,2.11533,4.3381,9.45497,-5.10876,-3.30245,-3.93591,-3.31982,-3.54817,-3.32197,-4.15476,-3.81931,-7.96656,-3.65941,-15.3979,5.77682,5.479,0.42756,4.1019,1.10308 --7.05063,0.417552,0.888081,3,7,0,15.0246,5.98628,2.2162,-0.0665933,-1.21917,0.265829,-0.238284,1.84193,-0.412966,0.817787,1.76033,5.83869,6.57541,10.0684,7.79866,3.28436,5.45819,5.07106,9.88752,-4.71837,-3.23167,-4.02509,-3.31947,-3.22947,-3.39896,-4.05731,-3.8162,15.4425,6.38716,13.9734,36.3825,14.6389,4.36244,6.76996,31.6794 --7.91089,0.99809,0.35795,4,15,0,9.64315,6.5771,2.37455,-0.126489,-1.66224,0.460119,-0.306925,1.76809,-0.367811,0.895916,1.87877,6.27675,7.66968,10.7755,8.7045,2.63004,5.8483,5.70372,11.0383,-4.67565,-3.22207,-4.06216,-3.32884,-3.1975,-3.41397,-3.97752,-3.81074,29.762,1.33655,-0.86151,-0.271273,13.3522,-4.66262,7.10669,12.2612 --10.2909,0.957968,0.584658,3,7,0,15.0443,1.82477,3.01166,1.54088,-1.01809,-0.037963,-1.67635,-0.280198,-1.48819,-0.55668,2.42102,6.46539,1.71044,0.980908,0.148238,-1.24136,-3.22382,-2.65715,9.11607,-4.65752,-3.41932,-3.72248,-3.51083,-3.11652,-3.39056,-5.35511,-3.82215,-3.54823,6.92454,2.97577,-0.915465,4.06945,-7.83353,0.0383887,18.4727 --11.6433,0.736562,0.862415,3,7,0,18.94,8.70103,1.90059,-2.31302,-0.311503,0.192314,-2.20889,0.224551,-1.17191,1.64297,-0.987771,4.30493,9.06654,9.12781,11.8236,8.10899,4.50285,6.47372,6.82369,-4.87467,-3.22721,-3.9788,-3.41298,-3.62835,-3.36754,-3.8858,-3.85066,22.5163,11.734,-6.99963,11.0267,16.3354,18.9414,11.7511,14.5933 --11.6433,5.05708e-11,1.50187,1,1,0,17.7168,8.70103,1.90059,-2.31302,-0.311503,0.192314,-2.20889,0.224551,-1.17191,1.64297,-0.987771,4.30493,9.06654,9.12781,11.8236,8.10899,4.50285,6.47372,6.82369,-4.87467,-3.22721,-3.9788,-3.41298,-3.62835,-3.36754,-3.8858,-3.85066,18.1403,5.43772,-0.251095,20.4714,0.423497,3.80267,-0.850924,29.3749 --11.6433,0,3.50697,0,1,1,15.2553,8.70103,1.90059,-2.31302,-0.311503,0.192314,-2.20889,0.224551,-1.17191,1.64297,-0.987771,4.30493,9.06654,9.12781,11.8236,8.10899,4.50285,6.47372,6.82369,-4.87467,-3.22721,-3.9788,-3.41298,-3.62835,-3.36754,-3.8858,-3.85066,-11.2333,-0.0479044,20.5301,1.19396,7.948,7.10829,3.86953,-14.4034 --4.97869,0.985724,0.345785,3,7,0,14.4578,7.83796,2.10821,-0.827845,-0.542775,-0.300843,-0.594406,-0.423683,-1.33835,-0.114679,0.0613721,6.09268,7.20371,6.94474,7.59619,6.69367,6.58482,5.01644,7.96734,-4.6935,-3.22469,-3.88469,-3.3183,-3.48155,-3.44572,-4.06439,-3.83441,-9.90671,3.80439,7.5037,3.99802,-5.49315,5.08769,-4.84536,-5.47695 --6.63634,0.967465,0.346694,4,15,0,10.2973,1.19458,0.820608,0.922892,0.496681,0.816519,-0.675941,0.351492,1.97121,0.215407,0.105202,1.95191,1.86462,1.48301,1.37134,1.60216,0.639895,2.81217,1.28091,-5.13477,-3.40974,-3.73078,-3.44775,-3.15796,-3.31737,-4.37488,-3.98662,-23.2492,3.90435,10.4138,-1.14594,-8.69197,30.1306,15.4695,-14.9297 --3.87986,0.993133,0.426127,3,7,0,9.43169,6.08272,5.31434,1.44256,0.0451682,-0.49895,-0.712975,0.633194,0.527037,0.77407,-0.643017,13.749,3.43113,9.44773,10.1964,6.32276,2.29372,8.88357,2.6655,-4.0783,-3.3259,-3.99416,-3.35905,-3.44717,-3.32375,-3.63707,-3.94377,40.4682,-4.85692,-1.52289,3.99035,7.25554,5.5604,7.19812,-16.5564 --6.35998,0.778545,0.649104,3,7,0,9.85288,7.39863,4.17836,-0.314926,-1.14497,0.989145,-1.04341,1.5219,0.722776,-1.23473,0.385418,6.08275,11.5316,13.7577,2.23948,2.61453,3.03889,10.4186,9.00904,-4.69447,-3.28389,-4.24,-3.41048,-3.19681,-3.33401,-3.50891,-3.82312,5.13712,31.014,12.7225,-11.3628,2.11891,3.21803,6.3523,11.342 --8.48083,0.9082,0.558438,3,7,0,10.9705,0.0178356,2.74645,1.29455,0.39584,-1.01664,-0.1234,-2.41512,-0.697594,0.862163,0.00269193,3.57326,-2.7743,-6.61517,2.38572,1.10499,-0.321075,-1.89807,0.0252289,-4.95291,-3.80195,-3.71705,-3.40482,-3.14351,-3.32405,-5.20119,-4.0306,-0.864742,-11.0757,-35.174,13.6505,-14.2195,-13.4889,-2.1606,-19.7224 --7.10751,0.894091,0.740502,3,7,0,13.428,9.17425,5.86962,0.176721,-0.968596,0.943482,-0.0564183,1.75434,1.4375,-0.935446,-0.209029,10.2115,14.7121,19.4716,3.68353,3.48896,8.8431,17.6118,7.94733,-4.33017,-3.44679,-4.6778,-3.36228,-3.24055,-3.57102,-3.22228,-3.83466,13.4165,1.47245,10.041,3.74554,4.07719,11.2841,20.6395,-5.73979 --6.70838,0.807281,0.966783,2,3,0,12.1513,2.69394,2.1506,-0.299946,-0.253788,0.42597,0.337459,-1.41226,1.59327,-0.875935,1.83515,2.04888,3.61003,-0.343262,0.810155,2.14815,3.41968,6.12043,6.64062,-5.12357,-3.31788,-3.70531,-3.47516,-3.17734,-3.34103,-3.92714,-3.85364,-29.4119,12.0502,-1.22099,11.1012,-3.19152,20.8065,12.4583,-9.94203 --3.75951,0.724038,0.976234,2,3,0,9.16418,4.3535,3.21234,-0.447161,0.94668,-0.579856,-0.636153,-0.0119574,0.0496161,-0.369105,0.414006,2.91707,2.49081,4.31509,3.16781,7.39456,2.30996,4.51288,5.68343,-5.02511,-3.37328,-3.79604,-3.37752,-3.55115,-3.32392,-4.13104,-3.87088,-21.5617,-9.12802,6.38822,-12.5489,9.24109,-1.56367,17.3953,-1.66635 --3.8009,0.835168,0.764861,3,7,0,6.8568,2.59559,3.71787,0.551154,-0.519122,1.06517,0.782051,-0.430665,0.174522,0.42245,1.1536,4.64471,6.55575,0.994436,4.16621,0.665563,5.50316,3.24444,6.88454,-4.83914,-3.23195,-3.72269,-3.35002,-3.13329,-3.40063,-4.31016,-3.84969,14.9828,0.414438,-1.75279,-9.82662,-14.7665,-5.11721,9.82859,10.4259 --4.34332,0.661551,0.857617,2,3,0,8.92554,6.32652,4.88477,0.415665,0.670695,1.31541,-0.421897,0.221611,0.636827,0.523652,-0.867337,8.35695,12.752,7.40903,8.88444,9.60271,4.26565,9.43727,2.08977,-4.48443,-3.33443,-3.90314,-3.33151,-3.8101,-3.3609,-3.58813,-3.96087,-11.5973,9.53633,25.5859,-9.80031,8.94526,-4.10714,14.7787,23.5496 --5.80114,0.783501,0.559349,3,7,0,10.1687,2.8304,1.12164,0.176522,-0.888551,-1.83691,-0.379469,-0.244067,0.329964,-0.291949,0.85129,3.02839,0.770034,2.55664,2.50293,1.83376,2.40477,3.2005,3.78524,-5.01272,-3.48289,-3.75183,-3.4004,-3.16573,-3.32499,-4.31665,-3.91345,7.66398,-2.84357,-11.2203,2.22326,0.508011,13.2975,15.171,10.902 --8.79517,0.861004,0.538931,3,7,0,11.6895,-0.844364,1.23597,0.260707,-1.06361,-0.356683,-1.28685,-1.44063,0.0144384,-1.43969,1.19808,-0.522137,-1.28521,-2.62494,-2.62378,-2.15896,-2.43488,-0.826518,0.636423,-5.43479,-3.6526,-3.6918,-3.69955,-3.12445,-3.36559,-4.99371,-4.00859,-4.69231,-3.09944,-20.6408,2.56915,-1.03932,3.40151,-17.4311,1.22488 --10.3749,0.803444,0.663859,3,7,0,20.8243,9.11131,0.795185,0.70204,1.20802,0.807327,1.60602,1.52704,0.0116566,1.49928,-1.33093,9.66956,9.75328,10.3256,10.3035,10.0719,10.3884,9.12058,8.05297,-4.37367,-3.23689,-4.03835,-3.36193,-3.87287,-3.68106,-3.61574,-3.83335,-6.56105,-4.16113,-5.99689,10.8425,13.2604,17.6914,-10.2673,10.4265 --11.9803,0.968887,0.684308,3,7,0,15.8109,0.324155,0.991734,-1.24642,-1.62479,-0.411354,-1.46968,-1.09417,0.824417,-2.27679,1.42324,-0.911962,-0.0837984,-0.760966,-1.93381,-1.2872,-1.13338,1.14176,1.73563,-5.48455,-3.54826,-3.70132,-3.64664,-3.11667,-3.33564,-4.64253,-3.9719,-16.8344,1.6635,-5.78507,8.58587,-24.0976,3.50969,-14.3787,-14.8381 --6.78523,0.818703,1.17551,2,3,0,12.2004,5.30926,1.92171,0.946814,1.08349,0.898246,1.63042,0.160089,-0.170962,1.57175,0.104332,7.12876,7.03543,5.61691,8.3297,7.39142,8.44246,4.98072,5.50976,-4.59501,-3.22618,-3.83655,-3.32414,-3.55083,-3.54572,-4.06903,-3.87432,1.7881,10.4827,-10.1153,-0.947876,7.94509,13.2786,9.48034,22.297 --10.2117,0.272824,1.2683,2,3,0,12.9728,-0.0721466,0.88181,-0.586254,-0.182813,-0.159234,-1.80548,0.447174,0.658655,-2.67353,-0.0528182,-0.589111,-0.212561,0.322176,-2.4297,-0.233353,-1.66423,0.508661,-0.118722,-5.44329,-3.55875,-3.71308,-3.68427,-3.11979,-3.34616,-4.75126,-4.03595,-7.18065,9.81224,13.5717,-21.0583,2.62372,-20.3961,6.35193,-13.1532 --9.35781,0.990599,0.261655,4,15,0,17.4605,7.8034,1.00538,0.690691,-1.59606,1.4067,-0.217952,1.75392,-1.20022,1.34979,0.342069,8.4978,9.21767,9.56675,9.16045,6.19875,7.58427,6.59672,8.14731,-4.47218,-3.22894,-3.99997,-3.33612,-3.43605,-3.49598,-3.8717,-3.83222,-18.2663,22.171,10.6468,3.13041,-5.59397,17.6561,9.46121,-16.9433 --7.87764,0.992005,0.479381,3,15,0,15.133,3.47088,0.57543,1.19426,0.879655,-0.550934,0.462821,0.369595,1.92708,-0.987546,-1.04781,4.15809,3.15385,3.68355,2.90261,3.97706,3.7372,4.57978,2.86794,-4.89018,-3.33895,-3.77877,-3.38621,-3.26907,-3.34779,-4.12204,-3.93801,-14.5226,9.83632,20.9356,13.8061,1.98155,-2.5495,0.125349,-10.5634 --7.60606,0.274305,0.874157,4,31,0,13.6311,6.16718,1.24531,0.218302,-0.0143881,0.273241,-1.35695,-0.375486,1.38768,-1.2272,-2.01879,6.43903,6.50745,5.69958,4.63893,6.14926,4.47736,7.89527,3.65316,-4.66005,-3.23266,-3.83935,-3.33987,-3.43167,-3.3668,-3.73205,-3.91683,-0.653533,1.2794,16.0946,-6.93039,11.275,-1.37228,1.16085,-1.81771 --13.1952,0.981344,0.189202,4,31,0,17.0034,4.97853,2.21033,-0.468389,-1.02965,-1.53115,2.09232,1.86603,-1.80193,1.75211,-1.13647,3.94324,1.5942,9.10306,8.85126,2.70266,9.60324,0.995677,2.46656,-4.91305,-3.4267,-3.97763,-3.331,-3.20079,-3.62268,-4.66726,-3.94957,1.13971,7.8585,6.0978,5.86968,14.5713,2.41389,-4.91603,11.7734 --9.01288,0.998916,0.334086,3,7,0,15.8919,4.62929,1.39491,-0.151193,-1.45207,-1.0546,1.75514,1.65412,-1.34813,0.862488,-0.00842188,4.41839,3.15822,6.93664,5.83238,2.60378,7.07756,2.74877,4.61754,-4.86275,-3.33874,-3.88437,-3.32247,-3.19633,-3.46946,-4.38452,-3.89342,16.0397,-13.3838,17.3905,7.8196,0.843304,12.2836,-8.91224,-13.3585 --10.466,0.919337,0.615198,3,7,0,15.9305,4.9537,8.15184,0.608607,1.05386,1.0718,0.77397,-2.31245,1.96584,-1.30931,0.464613,9.91497,13.6908,-13.897,-5.7196,13.5446,11.263,20.9789,8.74115,-4.35381,-3.38345,-3.92345,-3.98538,-4.422,-3.75208,-3.26589,-3.8257,18.1011,22.1147,-29.6315,0.2917,7.39263,6.91221,23.278,0.595473 --10.2225,0.650179,0.89169,5,47,0,17.3241,6.21189,4.59731,1.75947,-2.2697,-0.0444685,0.178659,2.49445,0.917403,1.02541,-0.647621,14.3007,6.00745,17.6796,10.926,-4.22265,7.03324,10.4295,3.23457,-4.04403,-3.24137,-4.52678,-3.38053,-3.18027,-3.46725,-3.50809,-3.92788,-7.80063,8.72165,29.553,12.3122,-14.0694,10.5801,4.59653,23.0244 --9.37231,0.99571,0.595365,3,7,0,16.5908,0.965444,0.675452,-2.16761,-0.543733,-0.0472903,-0.0404,-2.07948,-0.332,0.757988,0.350133,-0.498671,0.933501,-0.439142,1.47743,0.598178,0.938155,0.741194,1.20194,-5.43182,-3.4712,-3.70434,-3.44286,-3.13193,-3.31685,-4.71086,-3.98925,-17.2204,-12.4543,-19.3427,-2.47112,-1.23992,17.2943,-5.58263,-12.1157 --5.88847,0.854849,1.06539,2,3,0,12.0417,3.46812,0.772745,-0.142042,-0.948921,0.927751,1.51905,-0.397327,-0.502889,-0.603914,-0.0877276,3.35836,4.18503,3.16109,3.00145,2.73484,4.64196,3.07951,3.40033,-4.97635,-3.29429,-3.76567,-3.3829,-3.20227,-3.37164,-4.33463,-3.92344,-5.73094,-11.1772,13.5528,23.6921,3.63342,7.21298,-4.21685,2.15791 --3.77265,1,1.27108,2,3,0,6.32363,2.90195,3.51398,0.0248026,0.351987,-0.262822,-1.49952,0.259117,0.771107,0.270824,0.456266,2.9891,1.9784,3.81248,3.85362,4.13882,-2.36735,5.61161,4.50526,-5.01709,-3.40282,-3.78217,-3.35774,-3.27917,-3.36369,-3.98889,-3.89599,-6.01493,8.82029,28.6488,0.639961,3.15568,-3.06211,8.75571,16.6567 --3.77265,4.41379e-19,2.26535,1,1,0,12.6678,2.90195,3.51398,0.0248026,0.351987,-0.262822,-1.49952,0.259117,0.771107,0.270824,0.456266,2.9891,1.9784,3.81248,3.85362,4.13882,-2.36735,5.61161,4.50526,-5.01709,-3.40282,-3.78217,-3.35774,-3.27917,-3.36369,-3.98889,-3.89599,4.45373,-11.9964,7.56761,6.65652,-7.29395,2.56996,17.4884,-6.10054 --7.09992,0.972458,0.252665,4,15,0,10.2812,4.29617,1.41923,-1.23442,-0.483706,-0.186062,0.589691,-1.36446,0.274989,-1.8288,-0.882881,2.54425,4.0321,2.35968,1.70068,3.60968,5.13307,4.68644,3.04316,-5.06698,-3.30024,-3.74763,-3.43288,-3.24733,-3.38742,-4.10778,-3.93311,-11.2248,-1.57382,5.32733,3.05949,2.9699,9.39955,-6.46856,4.28311 --6.66559,0.989438,0.41922,3,15,0,11.1247,9.21675,1.80915,0.0646312,-0.315947,-1.46379,-0.211933,-2.01458,0.569416,0.115643,0.0202301,9.33368,6.56854,5.57208,9.42597,8.64515,8.83333,10.2469,9.25335,-4.40128,-3.23177,-3.83504,-3.34115,-3.69042,-3.57039,-3.52208,-3.82095,4.1138,2.27094,22.5027,25.6099,12.9781,9.33201,15.2733,19.8437 --4.31975,0.999111,0.722328,3,7,0,8.16736,3.47335,9.27531,-0.362355,-0.170701,0.239608,-0.0710219,1.19262,-0.0471363,-0.332952,0.639376,0.112397,5.69578,14.5352,0.385115,1.89005,2.8146,3.03614,9.40376,-5.35525,-3.24807,-4.29208,-3.49765,-3.16772,-3.33044,-4.34111,-3.81971,-10.2195,12.8381,30.4175,7.20877,7.32841,14.8185,6.91219,-56.6979 --6.50193,0.119267,1.26609,3,11,0,8.12958,3.13428,0.797593,0.493524,-0.447745,1.29461,0.0607967,-1.7824,1.14472,0.180203,-0.202729,3.52791,4.16685,1.71266,3.27801,2.77717,3.18278,4.04731,2.97259,-4.95784,-3.29499,-3.7349,-3.37408,-3.20423,-3.33652,-4.19491,-3.93507,16.6042,10.5333,-0.0849801,-10.8539,9.71045,-5.82639,1.84458,-17.6675 --5.38926,0.999832,0.209538,4,31,0,8.6969,5.51817,3.69835,-0.776829,0.419623,0.931026,0.237687,0.2484,-1.3799,-0.204044,-0.199037,2.64519,8.96142,6.43684,4.76354,7.07008,6.39722,0.414825,4.78206,-5.05558,-3.22615,-3.86546,-3.3375,-3.51818,-3.43721,-4.76772,-3.88971,-16.8727,-4.32766,-20.5917,-4.33751,3.70519,6.08902,4.48269,-16.9732 --8.29072,0.934567,0.368283,4,15,0,12.2551,5.36818,0.801919,1.61651,0.136932,-0.823182,-0.869955,-0.199745,2.51759,-0.138157,-0.385583,6.66449,4.70806,5.208,5.25739,5.47799,4.67055,7.38709,5.05897,-4.63855,-3.27571,-3.82311,-3.32938,-3.3752,-3.37251,-3.78469,-3.88366,-2.00217,7.26707,41.1946,-2.8105,0.182091,-9.5815,21.2301,-25.4942 --4.67326,0.966561,0.540314,3,7,0,13.2433,3.60044,2.8915,-0.786105,-0.438171,0.904858,-0.208763,0.0870338,-1.12244,0.47817,0.613424,1.32742,6.21684,3.8521,4.98307,2.33347,2.9968,0.354903,5.37415,-5.20794,-3.23742,-3.78323,-3.33364,-3.18476,-3.33331,-4.77827,-3.87706,9.9179,11.5201,-14.4038,-5.34397,12.3192,19.6592,19.5586,-18.2399 --7.97714,0.735314,0.856453,2,7,0,10.1423,3.51583,1.86429,-2.22622,0.813449,-0.33228,-0.367628,0.36267,0.439053,-1.20384,-1.31055,-0.6345,2.89636,4.19195,1.27152,5.03233,2.83046,4.33435,1.07259,-5.44907,-3.35176,-3.79255,-3.45243,-3.34079,-3.33068,-4.15527,-3.99358,-0.784856,4.05694,-12.9948,-7.23588,21.8827,-1.24536,15.0782,18.2241 --6.88079,0.998443,0.740732,3,7,0,11.8777,7.2239,1.04905,1.28861,-1.45109,-0.0810927,0.158395,-0.362801,-0.312806,0.924611,1.6039,8.57572,7.13883,6.8433,8.19386,5.70163,7.39006,6.89575,8.90646,-4.46544,-3.22523,-3.88077,-3.32272,-3.3934,-3.48556,-3.83805,-3.82408,30.0332,-7.139,10.1142,12.1773,-1.37358,13.8054,14.8734,-17.2638 --6.78648,0.513181,1.26204,2,3,0,11.0753,2.14648,1.97418,-0.89328,1.28673,0.286158,-0.546354,-0.650296,-0.148636,-1.62429,-0.922027,0.382985,2.71141,0.86268,-1.06015,4.68672,1.06788,1.85305,0.326232,-5.32188,-3.36137,-3.72067,-3.58529,-3.31579,-3.31685,-4.52514,-4.01961,-12.0016,-2.68235,29.5285,-28.8289,6.19633,-14.1082,7.98756,-7.12859 --7.42182,0.869087,0.619069,3,7,0,13.6684,4.55979,0.0964227,1.43622,-0.511809,-0.866613,0.212967,0.869715,0.183714,-0.388822,-0.0322361,4.69827,4.47623,4.64365,4.52229,4.51044,4.58032,4.5775,4.55668,-4.83359,-3.28361,-3.80564,-3.3422,-3.3036,-3.3698,-4.12234,-3.89481,23.744,7.83537,-20.5507,18.2811,17.6559,-7.95111,11.2415,1.15086 --5.53425,0.850742,0.755183,3,7,0,11.4092,3.83138,3.7886,-1.47043,0.35944,1.12379,-0.280063,-0.0135944,-0.454812,0.753391,0.781459,-1.7395,8.08896,3.77987,6.68567,5.19315,2.77033,2.10828,6.79201,-5.59241,-3.22156,-3.78131,-3.31724,-3.35292,-3.32978,-4.48426,-3.85117,-8.36137,-2.67642,-3.16357,12.1244,-4.19839,-22.1802,-8.19086,23.7734 --9.64331,0.57168,0.877071,3,7,0,13.3554,9.08239,0.396805,1.70953,-1.19062,-0.531998,0.343786,0.21052,0.995662,1.9348,-0.148288,9.76074,8.87129,9.16592,9.85012,8.60994,9.2188,9.47747,9.02354,-4.36626,-3.22532,-3.98061,-3.3504,-3.68623,-3.59596,-3.58469,-3.82298,27.2758,-0.07063,7.6045,12.4048,13.8024,8.81685,-8.45177,-6.08291 --9.73724,0.98421,0.50691,3,7,0,13.6661,0.942915,4.82023,-1.05743,1.7856,-0.216464,-0.447888,-0.165279,-0.580193,-1.85484,-0.0719534,-4.15413,-0.100492,0.146234,-7.99783,9.54991,-1.21601,-1.85375,0.596083,-5.92452,-3.54961,-3.71086,-4.24632,-3.8032,-3.33713,-5.19238,-4.01,-3.89841,5.40719,27.2207,-12.7675,4.85923,6.95068,8.05825,20.6397 --7.09876,1,0.819549,2,3,0,10.0872,7.93604,1.11358,1.31999,-0.873638,0.702398,0.362985,0.316781,0.977445,1.82505,-0.272601,9.40595,8.71821,8.2888,9.96837,6.96318,8.34025,9.0245,7.63248,-4.3953,-3.2241,-3.94043,-3.35324,-3.5076,-3.53948,-3.62432,-3.83875,23.0757,2.32697,21.3892,5.46122,-0.739783,21.0135,-5.69133,-6.39164 --9.92137,0.58798,1.36781,2,3,0,15.5354,5.61231,0.400626,-2.47646,0.280129,1.00183,-0.567275,-0.529729,-1.28184,-1.39559,0.229495,4.62018,6.01367,5.40009,5.0532,5.72454,5.38505,5.09877,5.70425,-4.84169,-3.24125,-3.82934,-3.3325,-3.3953,-3.39629,-4.05373,-3.87048,-2.26494,11.8357,11.6773,9.76005,17.1427,-10.1495,10.7285,-18.4693 --9.9213,0.602752,0.829443,3,11,0,16.6443,-0.00762425,0.615361,2.25494,-0.931909,-0.340767,-0.00162613,0.0275589,0.67122,0.838181,-1.94054,1.37998,-0.217319,0.00933443,0.50816,-0.581085,-0.00862491,0.405419,-1.20176,-5.20171,-3.55915,-3.70921,-3.49098,-3.11725,-3.32104,-4.76937,-4.07827,-48.7475,-11.986,-32.5053,-12.4202,15.5816,-8.79852,1.39263,-20.4776 --10.5307,0.988331,0.524924,3,7,0,13.8916,11.8532,7.68982,-1.37669,0.0639712,-0.272726,0.0406645,0.340241,0.00831877,-1.09929,2.19634,1.26666,9.75594,14.4695,3.3998,12.3451,12.1659,11.9171,28.7426,-5.21515,-3.23694,-4.28759,-3.37039,-4.21549,-3.83203,-3.40653,-4.2419,0.953458,-6.67593,6.40161,25.2214,10.316,14.5655,10.1726,-10.4954 --5.92005,0.492198,0.845138,2,3,0,19.1239,7.54836,3.31392,0.613863,-1.35645,0.146565,0.216082,-0.0483524,0.22821,-2.13592,-0.58404,9.58265,8.03406,7.38812,0.470108,3.05319,8.26444,8.30463,5.6129,-4.38076,-3.22153,-3.90229,-3.49303,-3.21757,-3.5349,-3.69152,-3.87227,28.8922,20.0903,-1.99259,6.74758,14.2645,17.5879,7.75954,-8.58033 --5.71176,0.9896,0.413161,4,15,0,8.33475,0.906607,1.73627,0.0556023,-0.26714,0.939032,0.543189,0.280574,0.043553,-1.47972,-1.03495,1.00315,2.53702,1.39376,-1.66258,0.442779,1.84973,0.982227,-0.890339,-5.24661,-3.37074,-3.72923,-3.62692,-3.12901,-3.31982,-4.66955,-4.06573,-20.8938,17.3692,19.7631,-6.29965,6.47481,4.33002,1.72498,-5.86065 --4.973,0.995708,0.663834,3,7,0,8.56021,9.23025,7.75216,0.250196,-0.446181,-0.440315,-0.564163,-0.421923,0.459397,1.39164,1.01198,11.1698,5.81686,5.95944,20.0185,5.77138,4.85677,12.7916,17.0753,-4.25644,-3.24535,-3.84831,-4.01717,-3.3992,-3.3783,-3.35716,-3.84906,42.2518,-0.389954,-3.40388,23.0381,2.50746,21.2372,26.3314,15.8677 --8.41089,0.173596,1.0751,2,3,0,12.2255,5.61562,3.42582,0.270903,-0.918644,0.670752,0.191648,-2.83287,1.9444,0.836793,-0.591724,6.54368,7.91349,-4.08928,8.48232,2.46851,6.27217,12.2768,3.58848,-4.65004,-3.22156,-3.69384,-3.32591,-3.19043,-3.43169,-3.3853,-3.9185,-0.960917,13.2303,1.52609,18.7638,13.6783,3.28402,3.66037,7.42905 --6.15809,0.998992,0.252368,4,15,0,14.1167,-0.406144,5.57261,0.808511,-1.05115,-0.483896,0.325657,0.156876,-0.536815,-0.912223,0.816351,4.09937,-3.10271,0.468067,-5.48961,-6.2638,1.40862,-3.3976,4.14306,-4.89641,-3.83787,-3.71502,-3.96142,-3.2872,-3.31752,-5.51081,-3.90457,-1.75442,-2.60283,-1.28679,7.26341,-9.0618,5.08007,-8.02916,8.64269 --3.42786,1,0.411768,3,7,0,7.82572,0.732636,5.92325,0.186558,-1.14602,0.141099,0.468053,0.102012,0.280505,0.305963,0.316106,1.83766,1.5684,1.33688,2.54493,-6.05552,3.50503,2.39414,2.60501,-5.14803,-3.42835,-3.72826,-3.39885,-3.27393,-3.34276,-4.43924,-3.94552,9.64835,-0.108168,22.2533,11.7825,-10.3,26.4083,13.9256,-1.78063 --7.22033,0.704605,0.669082,2,3,0,9.76496,1.04578,1.61623,1.78934,-1.24568,0.256295,-0.141545,1.7229,0.753913,0.139689,-0.624678,3.93776,1.46001,3.83038,1.27155,-0.967513,0.817014,2.26427,0.036162,-4.91364,-3.43538,-3.78265,-3.45243,-3.11617,-3.31697,-4.45959,-4.0302,13.0332,3.12163,3.86355,0.0190679,-3.45573,-0.024765,-11.742,-44.0677 --5.61344,0.999539,0.548231,3,7,0,10.2104,4.26634,0.455393,-0.435071,-0.0377554,-0.490546,0.524727,-0.82049,-1.27667,-0.224272,-0.457539,4.06822,4.04295,3.8927,4.16421,4.24915,4.5053,3.68496,4.05798,-4.89972,-3.29981,-3.78432,-3.35006,-3.28625,-3.36761,-4.24613,-3.90665,10.824,-12.7441,-18.0677,9.46377,1.78521,-1.24926,-12.6104,-4.60438 --12.5136,0.386002,0.882637,4,23,0,18.4384,0.384033,1.41334,-1.80803,2.23263,1.10178,0.677057,-2.29098,-0.159582,-0.152719,1.3444,-2.17132,1.94123,-2.8539,0.16819,3.5395,1.34094,0.15849,2.28413,-5.6499,-3.40507,-3.69157,-3.5097,-3.24337,-3.31731,-4.81312,-3.95499,-15.052,-11.8569,-20.4119,13.403,12.926,17.6802,-8.97299,3.44758 --4.63703,1,0.35135,4,15,0,15.2856,5.91388,4.14385,-0.777356,-1.23468,-0.577307,-1.08255,0.733585,0.316813,-0.437557,-0.386679,2.69264,3.52161,8.95375,4.10071,0.797538,1.42796,7.22671,4.31154,-5.05024,-3.3218,-3.97061,-3.35157,-3.13611,-3.31759,-3.80184,-3.90053,13.9645,-2.56856,21.2759,-3.41913,21.7144,-20.6147,11.9149,40.849 --6.01832,0.809423,0.564356,3,7,0,10.922,7.25645,1.40756,1.30201,0.702313,0.0837673,1.38532,-0.747851,0.864095,0.535375,0.501971,9.08911,7.37436,6.20381,8.01002,8.245,9.20637,8.47271,7.963,-4.4217,-3.22348,-3.85698,-3.32105,-3.64376,-3.59512,-3.67537,-3.83446,-0.909319,16.1812,0.517882,3.84766,7.81859,12.4031,20.3483,-15.56 --6.80723,0.981489,0.588049,3,7,0,8.30689,0.440851,4.49384,-1.21104,-1.09095,-0.0277397,-1.76108,-0.0671422,0.380874,0.0180965,-0.0906863,-5.00136,0.316194,0.139125,0.522174,-4.46172,-7.47314,2.15244,0.0333219,-6.04719,-3.51673,-3.71077,-3.49023,-3.19014,-3.6135,-4.47725,-4.0303,2.77601,11.6919,36.5325,-11.291,-20.6878,-3.75346,-2.90109,-2.70808 --9.43885,0.652544,0.898232,2,3,0,15.042,3.38806,2.2734,-1.38092,-2.66642,0.529673,0.136608,-0.181238,-1.14956,1.34378,0.54654,0.248682,4.59222,2.97604,6.44302,-2.67378,3.69863,0.774644,4.63057,-5.3384,-3.27959,-3.76128,-3.31812,-3.13346,-3.34693,-4.70509,-3.89312,16.7581,25.5615,-23.1819,6.45369,5.70594,-5.41748,5.48756,-5.43304 --4.45958,0.979572,0.659114,2,7,0,14.4333,0.575504,6.42273,1.36489,-0.014854,-0.377546,-0.968797,0.482793,0.0704291,0.729297,-0.538144,9.34184,-1.84937,3.67635,5.25958,0.480101,-5.64682,1.02785,-2.88085,-4.4006,-3.70657,-3.77859,-3.32935,-3.12969,-3.4994,-4.66179,-4.15104,19.4184,8.63313,0.807707,14.978,9.22884,12.783,5.52827,24.8942 --4.45958,0.455889,0.99667,2,3,0,8.70419,0.575504,6.42273,1.36489,-0.014854,-0.377546,-0.968797,0.482793,0.0704291,0.729297,-0.538144,9.34184,-1.84937,3.67635,5.25958,0.480101,-5.64682,1.02785,-2.88085,-4.4006,-3.70657,-3.77859,-3.32935,-3.12969,-3.4994,-4.66179,-4.15104,34.2467,-4.5541,-9.73808,9.36695,10.7115,-14.172,-6.40054,-13.3516 --4.93477,0.981143,0.477044,3,7,0,9.03875,4.7624,6.70974,0.435629,-0.267156,1.86528,0.622707,-0.571369,1.34281,-0.0140595,0.866485,7.68536,17.278,0.928664,4.66807,2.96986,8.94061,13.7723,10.5763,-4.54407,-3.65193,-3.72167,-3.3393,-3.21345,-3.57738,-3.31089,-3.81244,-13.3885,13.8337,5.56136,-9.63903,-18.8332,10.543,14.2928,19.5329 --6.39517,0.842866,0.721583,3,7,0,8.54976,6.14559,3.19643,-0.0713289,-0.136855,-1.33602,0.965825,-0.39317,0.833409,-1.48098,-1.34609,5.9176,1.87509,4.88885,1.41173,5.70815,9.23279,8.80953,1.84291,-4.71062,-3.4091,-3.81308,-3.44588,-3.39394,-3.59691,-3.64385,-3.96852,3.22105,16.0167,-20.4165,-10.7976,17.4148,19.2668,4.60831,17.4475 --5.59354,0.915557,0.805513,3,15,0,10.2146,5.16143,5.00105,-0.546675,0.445532,1.68287,-0.832633,-1.37266,0.698037,0.00995172,0.73165,2.42748,13.5775,-1.70332,5.2112,7.38956,0.997392,8.65234,8.82045,-5.08022,-3.37707,-3.69481,-3.33006,-3.55064,-3.31683,-3.65842,-3.82491,16.0153,2.75629,4.96447,4.05287,1.19163,10.4665,3.43108,-12.854 --9.23796,0.108479,1.04991,2,3,0,15.409,0.60065,0.997843,-0.98084,-0.670008,-1.76405,-1.50311,0.950495,-0.0755279,0.572948,-1.40701,-0.378074,-1.1596,1.54909,1.17236,-0.0679122,-0.899221,0.525285,-0.80332,-5.41658,-3.64101,-3.73195,-3.45717,-3.12153,-3.33174,-4.74835,-4.06228,23.9657,-8.8668,-27.8782,-2.27827,6.12779,17.8514,-15.7886,23.8974 --7.2321,0.999729,0.242972,4,15,0,13.4138,3.7192,0.89894,-1.06537,0.47864,2.01339,1.33881,-0.646208,-0.0879078,-0.242149,-0.244802,2.7615,5.52912,3.1383,3.50153,4.14947,4.92271,3.64018,3.49914,-5.0425,-3.25205,-3.76512,-3.36741,-3.27985,-3.38042,-4.25255,-3.92083,13.8771,7.2282,-20.438,-0.852307,-13.7061,-12.5107,8.5529,8.09767 --10.55,0.950049,0.380094,3,7,0,13.1198,0.0106887,0.673556,-0.676081,1.21902,1.99905,-0.706571,-1.24784,-0.329878,-1.70168,-0.897508,-0.444689,1.35716,-0.829803,-1.13549,0.831769,-0.465226,-0.211503,-0.593833,-5.42499,-3.44216,-3.70073,-3.59033,-3.13688,-3.32571,-4.87982,-4.05407,26.293,-0.37056,-4.73419,-2.13755,22.5557,3.20567,-5.40733,-22.6133 --6.63046,1,0.532635,3,7,0,13.9257,7.29701,5.46799,-0.457471,-0.1289,0.989078,0.442175,1.97622,0.369152,0.850852,-0.194148,4.79556,12.7053,18.103,11.9495,6.59219,9.71482,9.31553,6.23541,-4.82353,-3.33222,-4.56132,-3.41806,-3.47197,-3.63067,-3.59862,-3.86059,-17.9804,14.6788,3.9462,12.3013,10.133,16.9087,13.9357,1.10118 --5.41095,1,0.825954,2,3,0,9.31437,1.57035,1.56508,0.896713,-0.161719,-0.0296013,-0.205311,-1.56988,0.817073,-0.655224,-0.80535,2.97378,1.52403,-0.886626,0.544877,1.31725,1.24903,2.84914,0.309917,-5.01879,-3.43121,-3.70025,-3.48902,-3.14931,-3.31709,-4.36927,-4.0202,-16.4518,1.16546,3.20682,-0.6494,6.66595,-5.04211,27.202,-1.41475 --5.19943,0.876682,1.27467,2,3,0,8.08315,7.17557,4.896,0.170437,0.243641,-0.00568671,-1.19541,0.161616,0.225167,0.795917,1.86202,8.01003,7.14773,7.96684,11.0724,8.36844,1.32284,8.27799,16.292,-4.51499,-3.22516,-3.92643,-3.38536,-3.65794,-3.31726,-3.69411,-3.83774,-9.42599,4.25641,35.9083,22.0771,16.3892,-0.150456,9.67766,16.1159 --4.85863,0.580697,1.51489,2,3,0,6.68989,3.59718,4.18197,0.711587,-0.161948,1.11524,0.479218,1.10365,1.48825,1.22859,0.594367,6.57301,8.26109,8.21262,8.73509,2.91991,5.60125,9.82099,6.0828,-4.64725,-3.22186,-3.93708,-3.32927,-3.21101,-3.40432,-3.556,-3.86334,8.39333,5.33999,13.0002,14.461,-8.70536,10.9727,23.1997,15.6006 --7.9544,0.277093,0.973897,2,7,0,10.1348,0.944146,8.10146,0.265004,-1.28688,-0.13019,-0.444681,-1.63306,0.233888,-1.45651,-0.532648,3.09106,-0.110581,-12.286,-10.8557,-9.48145,-2.65842,2.83898,-3.37108,-5.00578,-3.55043,-3.85995,-4.63429,-3.56021,-3.37214,-4.37081,-4.17392,-14.6261,12.1253,18.7266,-5.83945,-4.34679,2.19854,11.2327,-33.4954 --4.54201,0.886119,0.336636,4,15,0,13.4686,6.32121,1.83931,-0.127517,-0.923305,0.903647,1.0858,0.0140656,0.859615,-0.600866,0.213476,6.08666,7.98329,6.34708,5.21603,4.62296,8.31832,7.9023,6.71385,-4.69409,-3.22153,-3.86217,-3.32998,-3.31133,-3.53815,-3.73134,-3.85243,-10.5997,10.542,23.4627,-0.503312,6.54622,7.53832,17.177,40.2975 --5.47093,0.992584,0.409521,3,7,0,8.4419,-0.373219,20.6311,1.85069,0.322,-0.100714,-0.504393,-0.622338,0.226592,0.703913,0.668752,37.8086,-2.45107,-13.2128,14.1493,6.27002,-10.7794,4.30164,13.4239,-3.84079,-3.76765,-3.89524,-3.52804,-3.44242,-3.8902,-4.15975,-3.81244,44.0559,2.87796,-18.9722,0.35527,11.5958,-0.921824,14.2445,20.7142 --4.26384,0.994299,0.617589,3,7,0,8.49848,4.00015,2.76795,0.582265,-0.567401,0.636182,0.699744,0.852667,1.55344,-0.38775,0.613156,5.61183,5.76108,6.3603,2.92688,2.42962,5.93701,8.30001,5.69734,-4.74083,-3.24659,-3.86265,-3.38539,-3.18877,-3.41755,-3.69197,-3.87061,2.38486,7.82525,10.7825,12.3062,-3.69606,-1.66572,9.23549,0.0525224 --5.61376,0.929847,0.930659,2,3,0,7.08066,5.64655,1.64367,-0.751036,-0.547101,-0.96706,-0.777017,-0.896974,-1.16004,0.214212,-0.768501,4.4121,4.05703,4.17223,5.99865,4.7473,4.3694,3.73983,4.38339,-4.86341,-3.29926,-3.792,-3.32098,-3.32006,-3.36375,-4.23829,-3.89884,7.27732,8.57632,28.3319,-8.74491,15.6158,10.2614,16.6561,18.5854 --4.92298,0.34391,1.22631,3,7,0,7.71653,2.08718,9.47942,1.07544,0.323486,1.19155,-0.444978,0.436093,0.144567,0.348812,1.82621,12.2817,13.3823,6.22109,5.39371,5.15364,-2.13096,3.45759,19.3986,-4.17602,-3.36637,-3.8576,-3.3275,-3.34991,-3.35734,-4.27893,-3.89378,12.2763,24.6201,-2.47668,-1.9118,-7.38301,-0.0639819,15.4068,20.7687 --6.93541,0.804588,0.49707,3,7,0,10.8162,3.00123,9.72915,2.13768,-0.150813,0.468255,1.26105,0.37951,2.22981,0.141598,0.820548,23.799,7.55695,6.69354,4.37886,1.53395,15.2701,24.6954,10.9845,-3.66621,-3.22251,-3.87505,-3.34522,-3.1558,-4.15831,-3.44567,-3.8109,39.5101,0.973271,-27.1455,-5.48166,10.1495,16.5445,22.9142,-12.4578 --5.85969,0.954321,0.510125,3,7,0,12.4164,0.437345,7.62101,2.00967,0.123105,-0.28244,0.843458,0.473012,1.53514,-0.333336,1.62669,15.7531,-1.71513,4.04217,-2.10301,1.37553,6.86535,12.1367,12.8344,-3.96029,-3.69344,-3.78839,-3.65925,-3.151,-3.45899,-3.39342,-3.81038,9.05489,-4.74415,29.2497,-9.62839,6.73824,-3.8924,16.4761,50.2269 --4.82278,0.84959,0.704767,2,3,0,9.02737,2.07217,5.58266,1.17212,0.256519,0.319459,-0.455153,0.790871,2.06546,0.16894,1.34956,8.61573,3.85561,6.48734,3.01531,3.50423,-0.46879,13.6029,9.60633,-4.46199,-3.3074,-3.86733,-3.38244,-3.2414,-3.32575,-3.31819,-3.81815,-16.2645,-24.1556,37.5865,-4.66227,28.6695,0.436011,18.182,-6.14301 --8.7085,0.694708,0.788966,3,15,0,12.1801,1.16445,3.78291,-1.26653,-0.905362,1.11978,-1.26665,-0.768403,1.53192,-1.44839,1.30423,-3.62672,5.40049,-1.74235,-4.31469,-2.26045,-3.62719,6.95958,6.09825,-5.84976,-3.25531,-3.69462,-3.84585,-3.12597,-3.40531,-3.83098,-3.86306,2.51173,-0.265507,-0.319792,-1.23674,0.253431,2.02772,12.4237,-4.98572 --8.25348,0.912085,0.650369,3,7,0,14.5439,9.6537,3.84754,-0.0987964,0.613621,0.381284,1.25571,0.884312,-0.251932,1.7486,-0.770158,9.27357,11.1207,13.0561,16.3815,12.0146,14.4851,8.68438,6.69048,-4.40628,-3.27022,-4.19504,-3.68052,-4.16172,-4.06827,-3.65543,-3.85281,2.77052,20.2292,17.0369,13.0748,8.65434,18.231,-1.98914,-0.832072 --6.80647,0.673823,0.822229,3,15,0,15.2457,0.00322046,1.29024,0.272549,-0.832604,0.590152,0.538618,-0.903999,0.711282,-1.64735,0.800646,0.354875,0.764659,-1.16316,-2.12226,-1.07104,0.698168,0.920946,1.03625,-5.32533,-3.48327,-3.69812,-3.6607,-3.11619,-3.31721,-4.67999,-3.99481,-10.85,0.770962,1.14954,-20.5081,-0.932468,-0.131825,-10.6211,-5.46824 --5.98396,0.951555,0.651718,3,7,0,10.4944,3.3736,6.71051,0.672433,1.27033,-0.817643,0.818277,0.634621,1.49319,0.726447,0.779522,7.88596,-2.1132,7.63223,8.24842,11.8981,8.86465,13.3937,8.60458,-4.52604,-3.73291,-3.91232,-3.32327,-4.14309,-3.57242,-3.32761,-3.8271,21.0415,-8.80974,40.0916,3.40341,16.5532,7.3635,-2.44108,22.6163 --5.3083,0.778996,0.887471,4,27,0,10.0083,1.44841,1.78814,1.19089,-0.204116,-0.254117,-0.803236,-1.12301,-0.229954,-0.845613,0.686231,3.5779,0.994013,-0.559689,-0.0636675,1.08342,0.0121091,1.03722,2.67549,-4.95241,-3.46694,-3.70316,-3.52301,-3.14296,-3.32087,-4.6602,-3.94349,-14.1429,19.3154,4.41439,-13.6816,9.65613,9.04316,21.3316,7.54318 --4.98399,0.660049,0.863371,2,3,0,11.5209,1.66217,3.02611,1.03578,-0.626477,0.176039,-0.925851,1.54564,0.122213,0.636895,-0.349749,4.79654,2.19488,6.33943,3.58948,-0.233623,-1.13956,2.032,0.603785,-4.82343,-3.39002,-3.86189,-3.3649,-3.11979,-3.33575,-4.49641,-4.00973,5.51959,-3.54827,-13.2793,7.84467,7.34892,2.47764,-8.04419,-14.1579 --4.16034,0.736478,0.66831,3,7,0,8.59764,-2.03434,11.0497,0.83548,-0.631913,0.831048,0.692828,-0.053197,1.7345,0.156883,-0.135207,7.19744,7.14847,-2.62215,-0.300826,-9.01677,5.62119,17.1313,-3.52833,-4.58865,-3.22515,-3.69181,-3.53709,-3.51288,-3.40508,-3.2253,-4.18142,14.6892,8.96194,1.04387,24.4073,-9.80265,23.5766,-3.31727,-33.9417 --5.63936,0.334091,0.600191,2,3,0,9.48792,-3.01238,5.42208,1.15049,-1.00309,1.18179,0.423077,-0.0604344,0.638275,0.877377,-0.00179127,3.22567,3.39537,-3.34006,1.74482,-8.4512,-0.718428,0.448396,-3.02209,-4.99092,-3.32754,-3.69175,-3.43095,-3.45888,-3.32904,-4.76182,-4.15756,-10.4285,5.0081,-13.847,-27.2502,-21.4903,1.76607,3.08112,28.1717 --7.49259,0.99128,0.250575,4,15,0,9.94201,0.277322,10.6086,1.77213,0.76589,2.15148,0.190557,-1.14467,1.24967,-0.0702354,0.3418,19.0771,23.1014,-11.866,-0.467776,8.40233,2.29887,13.5345,3.90334,-3.80392,-4.36179,-3.84505,-3.54728,-3.66187,-3.32381,-3.32123,-3.91048,24.2604,15.2767,-41.9297,10.0077,4.3796,1.59683,9.79151,-9.44419 --5.82212,0.63544,0.366837,4,15,0,14.8024,3.2214,0.374076,-0.93416,-0.986505,0.100196,-0.134244,1.05052,-0.231556,-0.414759,0.230766,2.87195,3.25888,3.61437,3.06625,2.85237,3.17118,3.13478,3.30772,-5.03014,-3.33391,-3.77698,-3.38078,-3.20777,-3.33631,-4.3264,-3.92591,-29.246,-6.69348,12.4149,-4.02804,15.7571,19.6259,0.0641706,-16.7732 --7.61044,0.988007,0.273269,4,15,0,10.1708,9.71201,0.139456,1.22323,-0.0605332,-0.466745,0.325298,-0.730506,0.238848,0.198266,-0.370252,9.8826,9.64692,9.61014,9.73966,9.70357,9.75738,9.74532,9.66038,-4.35641,-3.23509,-4.0021,-3.34785,-3.82336,-3.63374,-3.56222,-3.81776,-6.58792,17.5583,22.3763,24.7915,11.8879,17.9296,21.4279,-12.0154 --10.4348,0.952834,0.396068,3,7,0,12.5529,9.7133,0.104756,0.839489,-0.241867,-1.36294,0.924711,-1.37365,0.796666,-0.551409,-1.16888,9.80124,9.57053,9.5694,9.65554,9.68797,9.81017,9.79676,9.59086,-4.36298,-3.23386,-4.0001,-3.34597,-3.8213,-3.63757,-3.55799,-3.81827,-3.74805,2.36228,14.0574,-4.22854,15.9946,10.8394,-8.09854,10.5195 --12.2438,0.760567,0.535692,3,15,0,17.9158,6.51497,0.422489,-0.763235,-1.84773,-2.19865,-2.18436,0.129445,0.460393,0.961993,1.29706,6.19252,5.58607,6.56966,6.92141,5.73433,5.59211,6.70949,7.06297,-4.6838,-3.25066,-3.87039,-3.31686,-3.39611,-3.40397,-3.8589,-3.84692,-8.68366,-5.04511,6.23979,10.1603,-2.92844,-1.57815,15.0972,38.3298 --7.69953,1,0.504914,3,7,0,14.9464,2.10645,1.22915,1.34562,-0.488325,-1.4801,1.71035,-0.720832,-0.503162,-0.00708984,-0.916797,3.76042,0.287196,1.22044,2.09774,1.50623,4.20873,1.48799,0.979575,-4.93267,-3.51896,-3.72632,-3.41614,-3.15494,-3.35938,-4.58476,-3.99673,37.7644,10.4059,-7.13933,10.5782,14.6449,-11.5172,10.6813,44.676 --4.07344,1,0.742615,3,7,0,8.48192,4.67818,1.36616,0.71167,0.0326955,-0.0113995,-0.480163,-1.22905,0.137108,0.671789,0.447631,5.65044,4.66261,2.99909,5.59595,4.72285,4.0222,4.86549,5.28972,-4.737,-3.27721,-3.76182,-3.32498,-3.31833,-3.35458,-4.0841,-3.8788,29.9296,-7.06264,-14.1285,6.01615,-3.69797,-4.36295,1.51485,26.0581 --5.22851,0.784438,1.0886,2,3,0,7.03876,3.78403,0.711158,0.0426659,0.531041,-0.664951,1.50216,0.103201,0.547813,-0.331786,0.31124,3.81437,3.31114,3.85742,3.54808,4.16168,4.8523,4.17361,4.00537,-4.92687,-3.33145,-3.78337,-3.36607,-3.28063,-3.37816,-4.17737,-3.90794,11.8769,21.5411,-3.87576,16.2011,10.8724,10.9933,0.617361,-4.31102 --5.22851,0.580054,1.06958,1,3,0,10.2482,3.78403,0.711158,0.0426659,0.531041,-0.664951,1.50216,0.103201,0.547813,-0.331786,0.31124,3.81437,3.31114,3.85742,3.54808,4.16168,4.8523,4.17361,4.00537,-4.92687,-3.33145,-3.78337,-3.36607,-3.28063,-3.37816,-4.17737,-3.90794,-25.2974,4.04461,-18.9637,23.4328,6.74972,11.6245,13.9718,-14.137 --8.70409,0.838201,0.722567,3,7,0,10.4818,6.15071,0.755684,1.08798,-0.726827,-1.0818,-0.0920322,0.891295,-1.00392,-1.24927,2.04889,6.97287,5.3332,6.82424,5.20666,5.60145,6.08116,5.39206,7.69902,-4.60952,-3.25708,-3.88003,-3.33012,-3.38517,-3.42352,-4.01632,-3.83786,20.3822,9.56973,13.0142,1.31294,4.94642,2.06646,3.60393,25.7748 --9.03068,0.948747,0.784533,3,7,0,12.5667,4.29586,3.38813,1.95119,-0.0115683,-0.317737,-0.560826,0.632147,-0.0893554,-1.471,2.74287,10.9067,3.21932,6.43766,-0.688089,4.25667,2.39571,3.99311,13.589,-4.27628,-3.3358,-3.86549,-3.56108,-3.28673,-3.32488,-4.20249,-3.81321,-13.7434,0.322267,18.4078,-5.19019,4.65436,4.55498,10.9203,18.6461 --7.09728,0.693538,1.04069,2,3,0,10.9041,5.62673,5.8185,2.09564,-0.309745,0.693855,-0.413091,-0.727443,-0.424137,0.37757,2.34181,17.8202,9.66393,1.3941,7.82362,3.82448,3.22316,3.15889,19.2526,-3.85727,-3.23537,-3.72924,-3.31964,-3.25984,-3.33726,-4.32282,-3.89048,13.2658,-4.18636,12.0019,14.9597,2.10444,11.0025,30.1616,-3.05712 --7.09728,0,8.57542,0,1,1,9.03586,5.62673,5.8185,2.09564,-0.309745,0.693855,-0.413091,-0.727443,-0.424137,0.37757,2.34181,17.8202,9.66393,1.3941,7.82362,3.82448,3.22316,3.15889,19.2526,-3.85727,-3.23537,-3.72924,-3.31964,-3.25984,-3.33726,-4.32282,-3.89048,23.5853,25.1218,-1.33948,-5.1426,6.13111,5.56095,-13.4212,41.197 --13.147,0.0243947,1.22865,2,3,0,26.0843,9.33952,0.694811,-2.95025,-2.24492,-0.156598,0.726715,0.221272,1.61908,-0.037275,-0.548273,7.28966,9.23072,9.49327,9.31363,7.77973,9.84445,10.4645,8.95858,-4.58014,-3.2291,-3.99637,-3.33895,-3.59199,-3.64008,-3.50544,-3.82359,14.2483,6.13395,15.8614,-3.1718,2.99135,-18.6381,12.5863,19.0297 --9.94637,1,0.117687,5,31,0,18.2691,0.23557,8.08138,2.53343,0.0205421,2.58539,-0.654433,-0.304,-0.224963,-0.469118,-0.170029,20.7092,21.1291,-2.22117,-3.55555,0.401579,-5.05315,-1.58244,-1.1385,-3.74511,-4.08339,-3.69271,-3.77725,-3.12829,-3.46824,-5.13888,-4.0757,5.50656,39.3308,-13.083,-0.883906,7.73323,-6.13904,-6.13458,-16.3041 --11.0479,0.987099,0.150768,5,31,0,20.1815,2.07152,0.281755,0.866152,-0.768087,-2.74596,-0.784667,0.952178,-1.05889,1.03797,0.270934,2.31557,1.29784,2.33981,2.36398,1.85511,1.85044,1.77318,2.14786,-5.09297,-3.44612,-3.74722,-3.40565,-3.16648,-3.31982,-4.53807,-3.9591,14.9223,-0.0111684,17.3643,-8.80189,3.44803,9.45772,7.49929,29.5021 --9.70334,0.999954,0.219066,4,15,0,15.2232,2.19939,0.509846,-0.564226,-1.46188,-1.37864,-1.45663,1.36331,-1.04263,1.20399,-0.435977,1.91172,1.4965,2.89447,2.81324,1.45406,1.45673,1.66781,1.97711,-5.13943,-3.433,-3.75939,-3.38927,-3.15334,-3.3177,-4.55523,-3.96434,10.1703,-10.7461,-23.7554,10.9554,7.94676,-0.726324,-10.2121,-1.8944 --7.69125,0.944424,0.364103,3,7,0,17.177,-0.14972,4.45533,-1.64846,-0.59551,1.5386,-0.978494,-0.548645,0.0962922,0.962762,0.301796,-7.49415,6.70527,-2.59412,4.1397,-2.80291,-4.50923,0.279293,1.19488,-6.42662,-3.22991,-3.69185,-3.35064,-3.13623,-3.44225,-4.79164,-3.98948,1.16089,-3.64941,19.7057,-10.0738,5.68787,9.72308,1.32822,-3.83317 --5.6554,0.908245,0.539891,3,7,0,14.4602,8.87505,1.75113,-0.362533,0.421706,-1.33801,0.341069,-0.402721,1.17318,-0.281241,0.678459,8.2402,6.53202,8.16983,8.38256,9.61351,9.4723,10.9294,10.0631,-4.49465,-3.2323,-3.93521,-3.32473,-3.81151,-3.61344,-3.47149,-3.8151,-25.468,-7.86862,11.5808,-4.44442,14.7141,11.1445,19.4082,6.18749 --7.04496,0.661842,0.737292,2,3,0,12.975,5.58133,0.97572,-1.96054,-0.0867601,-0.110674,0.0229375,-0.395542,1.54453,1.15628,0.0909154,3.66838,5.47334,5.19539,6.70953,5.49667,5.60371,7.08836,5.67003,-4.94261,-3.25344,-3.82271,-3.31718,-3.3767,-3.40441,-3.81684,-3.87114,14.2116,-3.70282,-4.26256,-1.99021,3.45545,5.41748,12.9141,14.682 --7.02398,0.907919,0.470546,3,7,0,11.2757,7.43294,2.14344,2.7259,-0.454773,0.184185,-0.689154,-0.144396,0.110071,-1.16612,0.285702,13.2758,7.82773,7.12343,4.93344,6.45816,5.95578,7.66887,8.04532,-4.10877,-3.22167,-3.89169,-3.33448,-3.45952,-3.41832,-3.75518,-3.83345,11.4705,1.13279,-15.1875,7.38803,19.0769,10.1162,-2.9474,10.0645 --4.04531,0.974491,0.659094,3,7,0,10.6968,1.44945,5.97166,0.798589,0.382546,-0.56884,0.347688,0.772233,-0.0361004,0.588908,-0.636773,6.21835,-1.94747,6.06096,4.96621,3.73388,3.52572,1.23387,-2.35315,-4.6813,-3.71628,-3.85188,-3.33393,-3.25449,-3.34319,-4.62704,-4.12723,-23.7785,6.09674,-5.29694,7.52173,-3.89955,9.31297,-11.7661,-7.45034 --6.65115,0.46806,1.14729,2,3,0,8.09011,4.8065,0.439618,-0.356916,-0.47904,-0.307028,-0.781337,-1.39489,-0.143173,-0.825665,1.35719,4.6496,4.67153,4.19328,4.44353,4.59591,4.46301,4.74356,5.40315,-4.83864,-3.27692,-3.79259,-3.34384,-3.30946,-3.36639,-4.10019,-3.87647,-11.8416,6.72848,17.8322,-13.7177,11.0838,13.0179,26.8442,4.49301 --9.01817,0.920072,0.406041,3,7,0,12.9258,3.49057,0.277279,-0.973928,0.372975,-0.374441,-1.06708,1.94669,-0.93265,1.17965,0.805026,3.22052,3.38675,4.03035,3.81767,3.59399,3.19469,3.23197,3.71379,-4.99148,-3.32793,-3.78806,-3.35868,-3.24644,-3.33674,-4.312,-3.91527,22.9935,18.8418,10.0758,3.57275,10.1743,-3.83957,-9.25898,25.67 --9.21184,0.949783,0.600193,2,7,0,14.5369,0.068478,0.195535,-1.18232,0.374115,-1.74242,-0.688946,-0.339426,-1.0838,-0.531232,-0.347114,-0.162707,-0.272225,0.00210847,-0.0353962,0.14163,-0.0662348,-0.143442,0.000605261,-5.38952,-3.56367,-3.70913,-3.52137,-3.12421,-3.32153,-4.86745,-4.03151,-1.49679,2.03148,3.18815,-8.40455,-4.10764,-5.68811,7.93892,7.15752 --6.36304,0.957544,0.972575,2,3,0,10.9858,9.17811,7.03478,1.51533,-0.447717,1.06655,1.02131,0.294023,0.897619,0.525441,0.682729,19.8381,16.6811,11.2465,12.8745,6.02852,16.3628,15.4927,13.981,-3.77502,-3.59833,-4.08794,-3.45943,-3.4211,-4.29211,-3.25296,-3.81537,24.4889,11.7534,10.2731,19.4474,23.7408,24.9012,21.9969,1.78111 --6.36304,4.32309e-06,1.60845,2,3,0,14.8722,9.17811,7.03478,1.51533,-0.447717,1.06655,1.02131,0.294023,0.897619,0.525441,0.682729,19.8381,16.6811,11.2465,12.8745,6.02852,16.3628,15.4927,13.981,-3.77502,-3.59833,-4.08794,-3.45943,-3.4211,-4.29211,-3.25296,-3.81537,20.4324,13.1594,29.7891,16.8004,-5.6115,13.9363,27.6966,3.93667 --6.5731,0.99964,0.138995,5,31,0,8.25644,-1.56788,2.20158,-0.793961,-0.307891,-0.142159,-1.35636,0.00966451,-0.597989,-0.263727,-0.0786494,-3.31585,-1.88086,-1.54661,-2.1485,-2.24573,-4.55401,-2.8844,-1.74104,-5.80628,-3.70968,-3.69565,-3.66268,-3.12574,-3.4443,-5.40231,-4.10069,-10.2748,6.21205,-12.0033,-11.1635,6.93631,-9.22334,13.5941,-33.3591 --4.80031,0.990039,0.264041,3,15,0,9.41974,-0.448364,5.36155,-0.0769675,-0.307275,0.154452,-0.992639,0.113073,-0.210699,-0.314043,-0.473471,-0.861029,0.379739,0.157882,-2.13212,-2.09583,-5.77044,-1.57804,-2.9869,-5.47801,-3.51187,-3.711,-3.66144,-3.12358,-3.50625,-5.13802,-4.15593,7.84817,0.253018,20.2461,-8.2151,-5.23955,-9.09363,16.78,-1.83802 --7.25403,0.894863,0.48324,3,7,0,10.8937,2.18447,3.93658,1.61719,-0.156578,1.34931,1.36388,0.378747,2.1754,0.707444,1.20963,8.55067,7.49612,3.67544,4.96938,1.56809,7.55348,10.7481,6.94627,-4.4676,-3.22279,-3.77856,-3.33387,-3.15687,-3.49431,-3.48447,-3.84872,1.72161,-5.76311,28.9961,14.2704,7.82563,13.491,10.0919,28.8503 --10.3854,0.795678,0.658734,3,7,0,13.5517,6.07285,1.08852,-2.26499,-0.132072,-1.27207,-1.8248,-1.27703,-0.822439,-0.712219,-0.993308,3.60737,4.68818,4.68278,5.29759,5.92909,4.08652,5.17761,4.99162,-4.94921,-3.27636,-3.80681,-3.32881,-3.41254,-3.3562,-4.04359,-3.88511,8.65902,-1.96111,8.57692,-4.21278,17.8837,11.7015,0.559626,20.0085 --9.97009,0.961527,0.665222,3,7,0,19.1441,6.57179,1.50305,2.63072,0.254949,-0.55155,2.14704,0.580252,0.994419,1.0216,0.516553,10.5259,5.74278,7.44393,8.10729,6.95498,9.79889,8.06644,7.34819,-4.30553,-3.247,-3.90457,-3.3219,-3.50679,-3.63675,-3.7149,-3.8427,16.7222,6.57535,35.267,20.0576,9.33588,16.8683,-1.9441,18.1525 --6.34008,0.666667,1.09736,1,3,0,11.3513,4.86771,2.16812,1.35171,0.616609,-1.12947,0.78987,1.3427,-0.774882,-0.362873,-0.57858,7.79838,2.41888,7.77884,4.08096,6.20459,6.58024,3.18767,3.61328,-4.53389,-3.37727,-3.91845,-3.35204,-3.43657,-3.44551,-4.31855,-3.91786,9.85217,-8.89738,22.0493,-1.0557,9.35573,22.557,6.06643,3.76127 --5.8236,0.868971,0.756582,3,7,0,8.52414,4.84916,2.80088,-0.367559,-0.850321,1.3024,-1.06374,-1.43504,1.31177,0.387414,0.90455,3.81967,8.49704,0.829793,5.93426,2.46752,1.86974,8.52327,7.3827,-4.9263,-3.22276,-3.72017,-3.32153,-3.19038,-3.31996,-3.67057,-3.84221,24.1926,22.049,4.31742,2.38174,-3.19688,12.9741,13.1863,1.6219 --5.8236,0.0897751,0.94538,1,2,1,19.5389,4.84916,2.80088,-0.367559,-0.850321,1.3024,-1.06374,-1.43504,1.31177,0.387414,0.90455,3.81967,8.49704,0.829793,5.93426,2.46752,1.86974,8.52327,7.3827,-4.9263,-3.22276,-3.72017,-3.32153,-3.19038,-3.31996,-3.67057,-3.84221,-22.178,12.7961,-5.2884,3.44126,2.28657,17.5253,1.88388,28.0869 --5.64974,0.993929,0.124633,5,31,0,12.0037,-0.833635,2.76528,-0.4428,-0.641746,0.759831,0.749397,-0.548065,-0.77552,0.0301581,-0.362829,-2.0581,1.26751,-2.34919,-0.75024,-2.60824,1.23865,-2.97816,-1.83696,-5.63474,-3.44816,-3.69235,-3.56504,-3.13213,-3.31707,-5.42194,-4.10478,9.30923,-10.6958,9.1043,14.594,12.2201,-7.90238,21.1568,-17.7152 --7.66342,0.981756,0.225257,4,15,0,11.8716,-0.5003,2.39622,0.706235,-1.38396,1.78697,1.24386,-0.160727,-0.630054,-0.599857,0.353675,1.192,3.78168,-0.885438,-1.93769,-3.81657,2.48028,-2.01005,0.347185,-5.22403,-3.31049,-3.70026,-3.64693,-3.16513,-3.32589,-5.22353,-4.01886,-2.98948,-1.14367,-14.629,5.96121,-3.19843,9.38916,0.448683,23.47 --6.31414,0.993262,0.389471,4,23,0,11.8052,-0.563916,4.97745,0.48073,-1.25972,0.202509,0.893492,-0.147323,0.629458,2.0846,0.0694836,1.82889,0.444062,-1.29721,9.81205,-6.83412,3.88339,2.56918,-0.218065,-5.14905,-3.50698,-3.69719,-3.34951,-3.32627,-3.35119,-4.41208,-4.03968,19.5446,-1.04405,-23.0895,10.7962,-12.2086,2.28668,20.35,4.93811 --7.24186,0.587291,0.689187,3,7,0,16.7677,3.01298,5.36493,-0.081078,-0.612855,-0.325054,0.470198,1.68337,-0.0741314,1.31388,1.95865,2.578,1.26909,12.0441,10.0619,-0.27494,5.53556,2.61527,13.521,-5.06316,-3.44805,-4.13357,-3.35557,-3.11941,-3.40184,-4.40497,-3.81288,-13.4691,-5.53756,23.227,23.3909,23.673,-4.44718,23.3325,17.1111 --7.75171,0.997419,0.389963,3,15,0,12.4767,-1.35775,5.08524,1.55997,0.487351,1.88687,1.51546,-0.595662,0.390926,-0.668256,1.03883,6.57504,8.23744,-4.38684,-4.75599,1.12054,6.34872,0.630201,3.92497,-4.64705,-3.22181,-3.69528,-3.88792,-3.14392,-3.43505,-4.73007,-3.90994,3.55293,-5.78097,-5.11591,5.18654,-15.9024,-14.3008,25.4064,-9.39472 --4.48286,0.770168,0.691469,3,7,0,11.1929,4.72446,2.14662,0.212542,-0.263938,-0.639236,0.583167,0.774818,1.49867,0.545423,-0.761841,5.1807,3.35226,6.3877,5.89527,4.15788,5.9763,7.94153,3.08907,-4.78415,-3.32953,-3.86365,-3.32188,-3.28038,-3.41916,-3.72739,-3.93185,-17.0364,9.6323,-1.01416,29.8829,24.2459,-1.08489,-3.89125,-12.1222 --12.9245,0.577573,0.651783,2,3,0,14.5988,7.01557,1.89065,-2.06789,-1.64778,-1.73246,1.61276,-0.170595,0.235297,-0.274156,-2.53905,3.10592,3.74009,6.69303,6.49723,3.90019,10.0647,7.46043,2.21512,-5.00413,-3.31226,-3.87503,-3.31788,-3.26438,-3.65638,-3.77694,-3.95706,33.9062,9.29122,20.5019,-7.43509,17.8515,-1.92408,15.04,12.2416 --7.43805,0.99654,0.36449,3,15,0,15.9238,10.0368,0.594493,1.1185,-1.44134,-0.80206,0.965113,-0.214049,-0.10306,-0.135699,-0.152164,10.7018,9.56002,9.90959,9.95617,9.17997,10.6106,9.97557,9.94638,-4.29194,-3.23369,-4.01703,-3.35295,-3.75587,-3.6985,-3.54348,-3.81582,33.3931,12.835,22.5291,10.1183,7.80685,13.0185,-2.72041,11.9094 --7.44336,0.962107,0.636112,3,7,0,11.8782,3.98594,1.32046,0.447745,0.310844,-1.12367,1.60525,-1.68879,-0.126873,0.733372,-1.18204,4.57716,2.50218,1.75596,4.95432,4.39639,6.10559,3.81841,2.42511,-4.84616,-3.37265,-3.73571,-3.33413,-3.29592,-3.42455,-4.22711,-3.95079,-0.248276,8.65748,9.89036,23.1996,4.52872,21.713,-7.42303,3.23636 --4.94169,0.554287,1.00343,2,3,0,10.4278,5.77812,3.01343,-0.735798,-0.358872,-0.318937,0.151603,0.114421,1.39614,-0.369825,-1.57289,3.56084,4.81702,6.12292,4.66368,4.69668,6.23496,9.98529,1.03833,-4.95426,-3.27218,-3.85408,-3.33939,-3.31649,-3.43008,-3.5427,-3.99474,-10.572,-0.90507,-1.07478,2.27313,16.7292,21.8539,11.1375,-10.8273 --7.43557,0.736511,0.533104,3,7,0,12.1611,2.09997,3.07507,1.42287,-1.55854,1.22068,-0.548079,-0.181476,-0.892224,0.870355,-1.44672,6.47538,5.85365,1.54191,4.77637,-2.69265,0.414582,-0.643688,-2.34882,-4.65656,-3.24456,-3.73182,-3.33727,-3.13385,-3.31825,-4.95946,-4.12704,22.0294,17.479,-6.88279,-6.38059,6.25276,-3.69492,6.25638,-28.5332 --7.48577,0.967288,0.461923,3,7,0,12.7542,2.4995,2.75928,0.0974155,-1.40935,-0.58471,0.970945,-1.23797,1.18956,0.0569821,2.19189,2.76829,0.886122,-0.916408,2.65673,-1.38928,5.1786,5.78182,8.54752,-5.04174,-3.47456,-3.70001,-3.39478,-3.1171,-3.38899,-3.96794,-3.8277,-12.3455,-5.96918,2.22247,-11.3656,5.62255,9.77739,-8.74928,3.73108 --6.72428,0.308179,0.732374,2,3,0,12.506,2.04671,0.919847,0.919056,-0.910557,0.70638,0.229095,-1.00534,0.531145,0.905192,1.65403,2.89211,2.69648,1.12196,2.87935,1.20914,2.25745,2.53529,3.56817,-5.02789,-3.36216,-3.72471,-3.387,-3.14629,-3.32337,-4.41731,-3.91903,5.11694,-1.42639,-13.8686,2.99627,-6.11219,0.043492,14.8963,-15.0057 --11.7114,0.982821,0.209327,4,15,0,15.3436,14.8586,2.18192,-0.124534,-0.348704,0.0690194,-1.33099,0.97952,0.719807,-1.19122,-2.01846,14.5869,15.0092,16.9959,12.2595,14.0978,11.9545,16.4292,10.4545,-4.02679,-3.46717,-4.47246,-3.43114,-4.52322,-3.81271,-3.23386,-3.813,26.7171,16.9445,-0.795647,25.3129,19.1393,24.5997,16.84,71.5413 --12.1944,0.969828,0.344988,4,15,0,22.7622,4.915,2.30792,1.82815,-2.69254,0.707122,-0.593401,-2.43241,-1.61147,0.0540063,0.297172,9.13422,6.54698,-0.698815,5.03964,-1.29917,3.54548,1.19584,5.60085,-4.41792,-3.23208,-3.70187,-3.33271,-3.11672,-3.34361,-4.63342,-3.8725,-12.1854,2.32777,12.1617,9.30096,-11.0851,6.77262,-0.741718,7.52242 --8.81439,0.95056,0.545825,3,7,0,21.4482,-0.501887,0.676895,-0.165009,1.50013,-0.598498,1.74829,0.335904,1.39497,-0.669841,-0.129782,-0.613582,-0.907008,-0.274515,-0.9553,0.513547,0.681523,0.44236,-0.589736,-5.4464,-3.6182,-3.70604,-3.57835,-3.1303,-3.31725,-4.76288,-4.05391,0.87159,-1.70356,-8.1526,-8.43529,-1.30936,-0.538968,-4.62998,20.4355 --8.90348,0.555885,0.816759,2,7,0,14.1309,10.1683,0.962322,-0.0631406,1.01224,1.45577,-2.07724,-0.217991,0.0340503,0.632964,0.653928,10.1076,11.5692,9.95855,10.7774,11.1424,8.16935,10.2011,10.7976,-4.33841,-3.28522,-4.0195,-3.3758,-4.02628,-3.52923,-3.52564,-3.81154,20.5473,15.3872,19.5314,25.0987,25.3311,22.4554,-1.01168,13.102 --7.7688,0.957772,0.450911,3,7,0,11.7259,-2.6368,2.59752,1.27987,-1.01894,-0.699984,1.56053,-0.0143209,1.2127,0.00734412,-0.113343,0.687701,-4.45503,-2.674,-2.61772,-5.28353,1.41671,0.513208,-2.93121,-5.28468,-3.99716,-3.69173,-3.69907,-3.22943,-3.31755,-4.75046,-4.15336,4.02448,3.88468,0.524013,-7.65989,-13.6518,-9.17516,2.77799,1.28271 --7.7688,0.0993523,0.68374,2,3,0,12.747,-2.6368,2.59752,1.27987,-1.01894,-0.699984,1.56053,-0.0143209,1.2127,0.00734412,-0.113343,0.687701,-4.45503,-2.674,-2.61772,-5.28353,1.41671,0.513208,-2.93121,-5.28468,-3.99716,-3.69173,-3.69907,-3.22943,-3.31755,-4.75046,-4.15336,22.8132,2.72188,-8.43784,4.87389,1.66243,-4.83405,0.877368,-2.23091 --7.44669,0.995493,0.123172,5,31,0,15.6593,-2.33489,1.51891,0.931838,-0.875059,0.105973,0.394163,1.13662,0.634958,-1.21457,0.224392,-0.919506,-2.17392,-0.608455,-4.17972,-3.66403,-1.73619,-1.37044,-1.99405,-5.48552,-3.73907,-3.7027,-3.83331,-3.15997,-3.34777,-5.09759,-4.11152,-0.0502611,1.58376,16.7952,-22.5076,7.52477,23.0199,2.38251,25.7184 --7.20388,0.996628,0.205547,4,15,0,10.3921,13.2296,9.49976,-0.231842,-0.59857,0.120287,-0.917117,-1.34751,0.256727,0.95169,-0.273997,11.0271,14.3723,0.428552,22.2704,7.54329,4.51718,15.6684,10.6267,-4.26716,-3.42455,-3.71449,-4.28041,-3.56671,-3.36795,-3.24871,-3.81222,25.7976,18.6561,9.75762,29.2508,0.971802,-0.0523941,2.72214,5.70657 --7.47977,0.92683,0.341428,4,15,0,12.2872,-2.18153,1.72994,1.38598,-0.195581,0.585222,-0.26893,0.107368,0.767627,-1.4788,0.939928,0.216127,-1.16914,-1.9958,-4.73976,-2.51988,-2.64677,-0.85359,-0.55552,-5.34242,-3.64189,-3.6935,-3.88635,-3.13042,-3.37179,-4.99881,-4.05258,0.0250921,13.5587,9.88579,-5.42074,-9.04701,-17.5365,-4.55788,-2.77559 --7.22887,0.865109,0.475462,3,7,0,12.9431,0.909253,0.420271,0.491871,-0.041328,-0.484858,0.0022358,-0.227581,-0.646986,-0.607314,1.95978,1.11597,0.705482,0.813608,0.654017,0.891884,0.910193,0.637344,1.73289,-5.2331,-3.48757,-3.71993,-3.48324,-3.13826,-3.31687,-4.72883,-3.97199,20.6188,8.91242,2.36745,-13.7346,1.53682,16.1638,-0.504996,-4.05581 --13.6181,0.342071,0.568084,3,7,0,18.2006,11.2546,8.32475,1.36002,0.866325,-2.22076,0.75089,1.08646,0.505534,0.612637,-1.11615,22.5764,-7.23269,20.2991,16.3546,18.4665,17.5056,15.463,1.96294,-3.69236,-4.3817,-4.75178,-3.67844,-5.45533,-4.44259,-3.2537,-3.96478,24.5012,-7.97879,30.8635,11.5547,13.8354,16.2206,26.4925,13.6156 --9.58292,0.991346,0.194058,4,15,0,19.9825,10.5414,1.79299,1.22779,0.974894,-2.16952,-0.147939,0.224176,-0.62963,1.20242,-0.910398,12.7429,6.65152,10.9434,12.6974,12.2894,10.2762,9.41252,8.9091,-4.14428,-3.23062,-4.07125,-3.45097,-4.20634,-3.6724,-3.59025,-3.82405,13.701,9.53441,21.0388,18.179,15.5819,5.17922,1.01336,30.7066 --11.4458,0.988597,0.313915,3,7,0,13.0335,12.3615,1.57482,0.829924,0.903644,-2.13254,0.502837,0.206877,-0.799091,1.18086,-1.54705,13.6685,9.00317,12.6873,14.2212,13.7846,13.1534,11.1031,9.92523,-4.08341,-3.22656,-4.17218,-3.53231,-4.46545,-3.92719,-3.45936,-3.81595,-0.780342,14.4429,2.18819,23.1999,14.2897,20.4168,-2.26504,18.0107 --5.57951,0.992675,0.501222,3,7,0,13.8048,4.30812,1.59294,-1.57996,-0.967842,0.00725851,-0.0865653,-0.16789,-0.711154,-0.518663,-0.847634,1.79134,4.31968,4.04068,3.48192,2.76641,4.17023,3.17529,2.95789,-5.15342,-3.28925,-3.78835,-3.36798,-3.20373,-3.35836,-4.32038,-3.93548,-3.25546,16.2725,3.27436,17.7133,-0.147952,8.25607,3.79795,-7.70601 --6.18516,0.554569,0.802896,4,23,0,8.28026,0.793747,6.56612,0.251118,1.09632,-0.499553,-0.327025,-0.00990466,0.77133,-1.22565,1.45704,2.44262,-2.48638,0.728712,-7.254,7.99231,-1.35353,5.85839,10.3608,-5.0785,-3.77134,-3.71868,-4.15641,-3.61531,-3.33972,-3.95862,-3.81346,-8.70674,-0.927028,-28.5669,0.270834,3.74916,18.9621,25.1385,9.62231 --6.05418,0.996925,0.461297,3,7,0,8.07404,4.32885,7.14931,0.989458,-1.37977,1.21459,-0.048441,-0.619117,1.17697,1.68188,-0.835751,11.4028,13.0123,-0.0974047,16.3532,-5.53557,3.98253,12.7434,-1.64619,-4.23914,-3.34714,-3.70798,-3.67833,-3.24315,-3.35359,-3.35968,-4.09668,21.3001,3.75188,1.19356,20.0114,-18.9791,-9.02228,8.77913,-30.7563 --7.13918,0.921306,0.741948,3,7,0,10.488,3.50485,2.77599,-0.22518,1.7458,0.634406,-0.486153,-0.472327,0.864188,-2.01707,0.343989,2.87975,5.26595,2.19367,-2.09451,8.35117,2.15529,5.90382,4.45975,-5.02927,-3.2589,-3.74421,-3.65861,-3.65594,-3.32235,-3.95311,-3.89705,-0.526421,11.5229,-13.0294,6.32803,-2.3874,3.04772,15.5519,-15.6525 --8.43537,0.617558,0.996949,2,7,0,13.0554,6.25924,1.4187,1.04884,-2.10423,-0.769794,-0.105531,0.283692,-0.707278,2.14732,-0.190355,7.74723,5.16713,6.66171,9.30563,3.27397,6.10952,5.25582,5.98918,-4.53849,-3.26165,-3.87385,-3.3388,-3.22892,-3.42471,-4.03359,-3.86507,-6.90129,13.2388,-2.05937,14.67,0.77929,-0.424697,10.3475,15.7845 --9.23776,0.971159,0.667263,3,7,0,14.2183,5.81675,2.07516,0.0666912,0.732938,0.907809,-1.2992,0.456376,2.15232,0.44937,2.47791,5.95514,7.7006,6.7638,6.74926,7.33771,3.12069,10.2832,10.9588,-4.70693,-3.22197,-3.87772,-3.31709,-3.54528,-3.33542,-3.51927,-3.81098,-1.77804,11.6302,8.85163,-3.20151,9.39126,-14.8053,10.9725,-16.8969 --10.2771,0.592108,1.0007,2,7,0,17.9515,8.84466,1.64893,-1.5997,-1.13138,-0.821225,-1.3805,1.19178,-0.407453,1.00612,2.05743,6.20686,7.49052,10.8098,10.5037,6.9791,6.56831,8.1728,12.2372,-4.68241,-3.22282,-4.06401,-3.36756,-3.50916,-3.44496,-3.70439,-3.8094,18.983,24.1977,19.4823,7.04198,24.8579,15.8289,9.98429,21.8926 --5.076,0.859026,0.63548,3,7,0,11.4563,4.37205,2.68276,0.82439,0.700873,-0.268729,1.2667,-0.865041,-0.809677,-0.356676,-0.517189,6.58369,3.65111,2.05135,3.41517,6.25233,7.77031,2.19988,2.98456,-4.64623,-3.31609,-3.74136,-3.36994,-3.44083,-3.50624,-4.46974,-3.93474,22.0081,-2.96193,-13.3007,17.7818,-0.981086,20.6922,-7.65793,10.9192 --5.076,2.03357e-40,0.737783,1,1,0,17.3338,4.37205,2.68276,0.82439,0.700873,-0.268729,1.2667,-0.865041,-0.809677,-0.356676,-0.517189,6.58369,3.65111,2.05135,3.41517,6.25233,7.77031,2.19988,2.98456,-4.64623,-3.31609,-3.74136,-3.36994,-3.44083,-3.50624,-4.46974,-3.93474,-2.44573,12.0371,-4.62179,0.0333722,6.21164,-2.90921,7.77278,21.3191 --5.17811,0.993476,0.126278,5,31,0,11.96,6.21514,4.40112,1.30552,-0.709659,1.68633,0.152577,0.116615,-0.529254,-0.750194,-0.29515,11.9609,13.6369,6.72838,2.91345,3.09185,6.88666,3.88584,4.91616,-4.19866,-3.38039,-3.87637,-3.38584,-3.21952,-3.46003,-4.21757,-3.88675,5.88793,17.8486,18.9612,-4.78338,5.57925,-25.8031,15.8674,18.8 --4.83933,0.999815,0.198939,4,31,0,8.52901,-0.812261,4.89841,1.32294,-0.233449,0.331903,-0.0777827,0.570741,0.353374,0.303294,-1.32061,5.66805,0.813538,1.98347,0.673398,-1.95579,-1.19327,0.91871,-7.28116,-4.73525,-3.47975,-3.74003,-3.48223,-3.1218,-3.33671,-4.68038,-4.38302,5.8131,4.62367,-14.984,1.9091,2.0754,-0.00844163,-8.84357,-38.1172 --2.78779,0.999779,0.31607,4,15,0,5.84849,1.05381,8.68727,0.867016,-0.344362,0.584252,0.130129,-0.084579,1.18332,-0.463,-0.607445,8.58582,6.12937,0.319053,-2.9684,-1.93776,2.18428,11.3336,-4.22323,-4.46457,-3.23902,-3.71304,-3.72745,-3.12159,-3.32263,-3.44373,-4.21547,16.6084,-3.27271,11.226,-4.45871,-9.78476,1.23709,3.39729,5.3043 --3.90438,0.83603,0.49936,3,7,0,7.30336,0.351374,7.38933,1.45234,-0.562784,1.44282,-0.294665,-0.0811031,1.03935,-0.371866,0.0657094,11.0832,11.0128,-0.247923,-2.39647,-3.80722,-1.826,8.03151,0.836923,-4.26294,-3.26691,-3.70632,-3.68168,-3.16481,-3.34984,-3.71838,-4.00162,18.9427,14.5433,14.3068,0.94384,-7.8839,-5.435,-7.05791,14.6206 --5.90843,0.864444,0.549616,3,7,0,9.59412,1.50849,6.59356,0.701171,-0.0888383,-0.133774,-0.375724,-1.36184,2.08802,-0.254294,-1.4168,6.1317,0.626444,-7.47086,-0.168212,0.922732,-0.968867,15.276,-7.83328,-4.68971,-3.49337,-3.73057,-3.52916,-3.13898,-3.33285,-3.25862,-4.41635,9.05013,1.68317,-11.3676,-14.1166,7.99278,0.113237,29.3113,16.5865 --5.90843,2.58677e-31,0.6425,1,1,0,15.445,1.50849,6.59356,0.701171,-0.0888383,-0.133774,-0.375724,-1.36184,2.08802,-0.254294,-1.4168,6.1317,0.626444,-7.47086,-0.168212,0.922732,-0.968867,15.276,-7.83328,-4.68971,-3.49337,-3.73057,-3.52916,-3.13898,-3.33285,-3.25862,-4.41635,15.1987,12.6583,-1.93777,19.3312,16.0182,-16.0882,36.4921,5.02018 --6.43076,0.992539,0.116882,5,31,0,12.5195,6.74619,1.86879,0.344739,0.356248,-0.971455,1.1666,0.811862,-1.11009,-0.314685,1.34664,7.39044,4.93074,8.26339,6.15811,7.41194,8.92633,4.67167,9.26279,-4.57089,-3.26863,-3.93931,-3.31976,-3.55296,-3.57645,-4.10975,-3.82087,11.1161,13.424,22.8522,12.1158,11.4091,4.45444,-4.88111,7.50156 --7.39899,0.974188,0.180895,4,15,0,15.5956,6.90261,2.23482,1.0587,0.519602,-1.01578,1.02742,0.794879,-1.39863,-1.33579,0.604516,9.26862,4.63252,8.67902,3.91735,8.06382,9.1987,3.77692,8.25359,-4.40669,-3.27822,-3.95793,-3.3561,-3.62328,-3.5946,-4.233,-3.83097,7.93385,4.82587,12.5314,3.34057,22.3802,-5.95696,9.38049,31.7627 --5.71514,0.987201,0.267921,4,15,0,10.6412,2.40715,1.77959,-0.634037,-0.558132,0.393446,-1.0074,-0.361609,1.75799,1.24331,-0.0256582,1.27882,3.10732,1.76363,4.61973,1.4139,0.614385,5.53565,2.36149,-5.2137,-3.34122,-3.73585,-3.34025,-3.15213,-3.31745,-3.99832,-3.95268,-23.8214,4.96091,-5.1873,24.4432,-1.90494,10.7642,12.414,8.55501 --10.9868,0.903918,0.406088,3,7,0,13.1914,-2.08144,0.934946,1.57006,-0.680187,-0.587015,0.14756,-1.20156,2.46947,1.22597,-0.261661,-0.613524,-2.63027,-3.20484,-0.935227,-2.71738,-1.94348,0.227377,-2.32608,-5.4464,-3.78654,-3.69161,-3.57703,-3.13437,-3.35264,-4.80085,-4.12603,-3.85835,-19.2071,4.617,-5.30763,-0.138628,6.71193,8.67591,-10.2757 --8.56631,0.281623,0.514244,3,7,0,15.8976,-5.04456,10.8904,0.878211,0.121296,-0.360636,0.443146,0.834531,2.01279,0.581329,-1.42136,4.51951,-8.97203,4.04381,1.28635,-3.7236,-0.218527,16.8756,-20.5237,-4.85217,-4.66177,-3.78843,-3.45173,-3.16195,-3.32297,-3.22785,-5.44171,7.04298,-10.1099,41.5081,0.55644,-15.5675,1.29209,4.22429,-12.0526 --6.86355,0.984574,0.176723,4,15,0,11.0953,2.47709,9.06668,1.16052,0.268714,1.65716,-0.0477329,-0.881883,-0.0641191,0.444843,2.13734,12.9992,17.502,-5.51866,6.51034,4.91343,2.04431,1.89574,21.8557,-4.12704,-3.67296,-3.70392,-3.31782,-3.33202,-3.32134,-4.51826,-3.95921,10.9069,25.5727,-24.3657,12.0737,15.1627,13.9322,-3.23452,8.68761 --4.63275,1,0.265141,4,15,0,9.5027,5.43011,2.7088,0.908083,-0.860058,0.126799,-0.255989,1.69339,0.719916,-0.566446,-0.149394,7.88993,5.77359,10.0172,3.89573,3.10039,4.73669,7.38022,5.02543,-4.52569,-3.24631,-4.02248,-3.35665,-3.21995,-3.37453,-3.78542,-3.88438,-1.32249,23.9057,-14.7609,2.94629,6.7188,11.8363,22.5224,3.14844 --6.41371,0.962515,0.40891,3,7,0,9.11021,2.46708,2.70805,-0.981836,0.159056,-1.49116,-0.406714,1.6009,0.53172,0.567444,0.484566,-0.19178,-1.57105,6.80239,4.00375,2.89781,1.36568,3.90701,3.77931,-5.39316,-3.67955,-3.8792,-3.35393,-3.20995,-3.31739,-4.21459,-3.9136,-6.54571,1.61559,8.10558,0.00137722,1.13406,-0.654326,1.1556,4.95953 --9.50329,0.942537,0.581113,3,7,0,13.4529,5.49445,1.79107,2.50839,-1.63951,1.40701,0.62666,-1.54396,0.352785,-0.508209,1.0453,9.98717,8.01451,2.72911,4.58421,2.55797,6.61685,6.12632,7.36665,-4.34802,-3.22152,-3.75563,-3.34095,-3.19431,-3.4472,-3.92645,-3.84244,16.1382,11.781,-4.78466,15.7479,-15.6552,-4.34033,21.2716,-23.2501 --8.91755,0.663114,0.789796,2,7,0,14.4338,1.62003,4.19406,0.288431,-0.510481,0.824194,-1.26225,2.57524,0.291624,-1.39691,0.867413,2.82973,5.07675,12.4207,-4.23871,-0.520961,-3.67395,2.84312,5.25802,-5.03486,-3.26425,-4.15598,-3.83877,-3.11758,-3.40711,-4.37018,-3.87946,-11.0833,2.07461,11.3935,-5.77418,-13.097,-2.48618,-12.1507,19.2008 --3.98452,0.805705,0.605477,2,7,0,13.4974,7.55592,6.58287,-0.768614,-0.921897,-0.499475,0.2134,-0.401017,0.228023,0.632835,-0.3204,2.49623,4.26794,4.91608,11.7218,1.48719,8.9607,9.05697,5.44677,-5.07242,-3.29117,-3.81392,-3.40896,-3.15435,-3.5787,-3.62141,-3.87558,10.3148,5.90254,-2.374,9.323,4.38415,11.4428,11.7781,35.5178 --5.83638,0.887344,0.6214,3,7,0,7.95398,7.24823,4.34001,1.36498,-0.207817,-1.91448,-0.150825,-0.180961,-0.212221,-1.02744,0.149282,13.1723,-1.06063,6.46286,2.78912,6.34631,6.59365,6.32719,7.89612,-4.11557,-3.632,-3.86642,-3.3901,-3.4493,-3.44613,-3.9028,-3.8353,-5.58446,-9.50817,5.78255,15.3184,13.9144,-15.7012,-0.598922,9.42171 --8.26199,0.586662,0.751668,3,7,0,10.9556,2.78897,2.5221,-1.4021,0.143685,1.20107,0.332039,0.790894,2.64623,0.864333,-0.592932,-0.747252,5.81818,4.78368,4.9689,3.15136,3.62641,9.46301,1.29354,-5.46344,-3.24533,-3.80986,-3.33388,-3.22254,-3.34534,-3.58592,-3.98621,4.42218,0.00372094,-0.454526,-13.5773,2.54708,-3.27226,8.72243,13.6538 --9.12794,0.723966,0.496272,3,7,0,15.8003,3.7362,1.0885,1.7694,-0.556434,-1.14924,-0.624144,-1.05027,-2.11395,-0.464269,0.961625,5.6622,2.48526,2.59299,3.23085,3.13053,3.05682,1.43518,4.78293,-4.73583,-3.37359,-3.75262,-3.37554,-3.22148,-3.33432,-4.59349,-3.88969,-22.9937,9.55793,12.9497,7.05758,-4.41881,-4.72958,6.12209,0.634117 --4.57392,0.999879,0.432778,3,7,0,10.6887,6.96286,1.86436,-0.177093,-0.178525,0.509551,0.739389,1.21347,0.685805,-0.721224,0.22444,6.63269,7.91284,9.22519,5.61824,6.63002,8.34134,8.24144,7.38129,-4.64157,-3.22156,-3.98343,-3.32472,-3.47553,-3.53954,-3.69767,-3.84223,35.8941,18.9191,2.3521,-8.57416,-1.99128,2.28011,1.01833,-14.4627 --3.34652,0.963878,0.65393,3,7,0,7.3015,5.05218,10.2351,0.166389,-0.189472,0.677429,-0.0171298,-0.910608,1.41646,0.135269,-0.70781,6.75519,11.9858,-4.26802,6.43667,3.1129,4.87685,19.5498,-2.19235,-4.62997,-3.30095,-3.69467,-3.31815,-3.22058,-3.37894,-3.23353,-4.12015,-9.58058,11.353,3.07392,20.6482,19.6176,4.69076,31.2626,5.22046 --3.34652,0.165015,0.916455,2,7,0,9.50056,5.05218,10.2351,0.166389,-0.189472,0.677429,-0.0171298,-0.910608,1.41646,0.135269,-0.70781,6.75519,11.9858,-4.26802,6.43667,3.1129,4.87685,19.5498,-2.19235,-4.62997,-3.30095,-3.69467,-3.31815,-3.22058,-3.37894,-3.23353,-4.12015,11.0775,17.3194,3.42952,11.7885,3.8491,15.7333,21.63,41.748 --5.64913,0.85477,0.265636,4,15,0,8.73947,3.62794,0.307301,0.495886,-0.660651,-0.0818051,-0.351554,1.0803,-0.53397,-0.0622428,0.661704,3.78033,3.60281,3.95992,3.60882,3.42492,3.51991,3.46385,3.83129,-4.93053,-3.3182,-3.78614,-3.36435,-3.23703,-3.34307,-4.27802,-3.91229,26.1158,9.53916,-38.9463,8.54529,-6.06872,7.03454,2.8542,-7.18418 --4.28728,0.977206,0.300911,4,15,0,9.77119,4.64259,4.65011,-0.660424,1.12022,-0.0575156,-0.0766724,-0.530536,0.596427,0.29257,-0.843851,1.57155,4.37514,2.17554,6.00307,9.85175,4.28605,7.41604,0.718591,-5.17913,-3.28722,-3.74384,-3.32094,-3.84308,-3.36145,-3.78162,-4.00571,-13.9857,-2.5895,3.43281,35.1205,14.3549,-1.69398,10.7669,-12.4074 --6.01863,0.870519,0.432254,3,15,0,12.1708,3.98921,0.546358,0.774572,0.066868,0.506168,-1.00927,-0.0545191,-0.860785,1.05049,0.979983,4.4124,4.26575,3.95942,4.56315,4.02574,3.43778,3.51891,4.52463,-4.86338,-3.29125,-3.78612,-3.34137,-3.27208,-3.34139,-4.27003,-3.89555,18.7436,25.7965,-14.9155,5.84464,10.0659,13.1018,4.90556,-1.03276 --7.13643,0.97684,0.503052,3,7,0,8.6544,4.06376,0.581904,1.31906,-0.320778,0.114312,-1.38724,-0.0694272,-1.21216,1.10208,0.780697,4.83133,4.13028,4.02336,4.70507,3.8771,3.25652,3.3584,4.51805,-4.81985,-3.2964,-3.78787,-3.3386,-3.26299,-3.33787,-4.29341,-3.8957,14.6231,0.964003,-2.83974,23.5409,20.4826,9.03897,15.0182,-5.30782 --6.00279,0.862908,0.717894,3,7,0,11.4163,4.27955,0.844426,-1.21439,0.862532,-0.258245,0.621364,0.0295011,1.22794,-1.05938,0.179312,3.25409,4.06148,4.30446,3.38499,5.0079,4.80425,5.31646,4.43097,-4.98779,-3.29908,-3.79574,-3.37084,-3.33897,-3.37664,-4.02588,-3.89772,-1.30921,17.255,-26.2034,14.2654,-15.9493,-10.2064,16.1462,15.7739 --6.23716,0.819355,0.820184,2,7,0,9.73495,7.98697,0.621285,-0.837066,0.649503,0.131901,-0.714007,0.881325,0.40403,-1.01027,0.707243,7.46692,8.06892,8.53453,7.35931,8.3905,7.54337,8.23799,8.42637,-4.56389,-3.22155,-3.95138,-3.31737,-3.66049,-3.49376,-3.69801,-3.82902,5.99639,8.69704,-10.5926,29.0925,6.83363,41.6407,1.26615,27.0885 --10.5809,0.347058,0.861003,3,11,0,18.2978,2.65934,0.0085189,1.50213,-0.682352,-0.341873,-0.341289,0.188741,-0.922396,1.07819,-0.337874,2.67214,2.65643,2.66095,2.66852,2.65353,2.65643,2.65148,2.65646,-5.05255,-3.36429,-3.75412,-3.39436,-3.19856,-3.32817,-4.39941,-3.94404,4.16114,8.0676,21.2769,-20.1049,11.3724,4.66188,13.4202,33.9873 --17.6807,0.932826,0.367253,3,7,0,19.1155,3.99809,0.000612093,-2.57436,1.03405,1.17195,-1.40338,-0.39507,1.0625,-1.22801,0.751591,3.99651,3.99881,3.99785,3.99734,3.99872,3.99723,3.99874,3.99855,-4.90736,-3.30157,-3.78717,-3.35409,-3.27041,-3.35396,-4.2017,-3.90811,12.5592,18.6788,8.93705,-3.76038,-7.32173,-8.8786,-4.83588,13.321 --21.1069,0.997429,0.479606,3,7,0,23.5434,4.00525,7.94533e-06,2.35939,-0.278731,-1.25289,1.93037,0.529567,-0.333844,1.0541,-0.344515,4.00527,4.00524,4.00526,4.00526,4.00525,4.00527,4.00525,4.00525,-4.90643,-3.30131,-3.78737,-3.35389,-3.27081,-3.35415,-4.20079,-3.90795,6.41868,4.9298,11.3739,-3.71718,8.2325,-6.65182,5.62428,-9.54042 --13.2696,0.813016,0.705915,3,7,0,29.5117,5.66254,0.000818594,-0.38678,0.00287105,1.26887,-1.7157,-0.719925,0.118076,-0.907244,0.168785,5.66222,5.66358,5.66195,5.6618,5.66254,5.66114,5.66264,5.66268,-4.73582,-3.24882,-3.83807,-3.32423,-3.39017,-3.40661,-3.98258,-3.87129,1.18154,22.4237,-0.219748,10.4477,2.9779,3.9588,14.3392,28.2465 --6.73177,0.852161,0.731982,3,7,0,17.9695,3.15175,3.16263,0.354958,0.635317,-1.1873,2.04658,0.719335,1.10333,0.824138,-0.0332038,4.27435,-0.603244,5.42674,5.75819,5.16102,9.62432,6.64116,3.04674,-4.87789,-3.5916,-3.83022,-3.32321,-3.35047,-3.62418,-3.86664,-3.93302,7.18954,1.56609,10.324,-11.4993,7.00141,40.7799,5.11909,23.7676 --7.40411,0.771449,0.81644,2,7,0,11.1882,0.162127,1.39218,0.746864,1.07164,0.662816,-1.71689,0.190283,0.16243,0.535415,-1.41127,1.2019,1.08489,0.427036,0.907523,1.65405,-2.22811,0.388259,-1.80262,-5.22285,-3.46062,-3.71447,-3.47022,-3.15964,-3.35989,-4.77239,-4.10331,18.2411,-5.24246,0.698639,4.01836,-2.47257,-4.84888,-15.6747,3.84341 --4.21317,0.933796,0.782644,2,3,0,9.57012,0.344732,2.75205,-0.38539,0.109444,0.462875,-0.798715,0.447242,0.344027,-0.462282,-0.525929,-0.715878,1.61859,1.57556,-0.927488,0.645926,-1.85337,1.29151,-1.10265,-5.45944,-3.42514,-3.73242,-3.57652,-3.13289,-3.35048,-4.61739,-4.07425,-4.88319,6.40681,-16.4789,7.28288,-8.09234,13.7754,-13.7468,25.5437 --4.21317,0.00101187,1.01447,2,3,0,8.45679,0.344732,2.75205,-0.38539,0.109444,0.462875,-0.798715,0.447242,0.344027,-0.462282,-0.525929,-0.715878,1.61859,1.57556,-0.927488,0.645926,-1.85337,1.29151,-1.10265,-5.45944,-3.42514,-3.73242,-3.57652,-3.13289,-3.35048,-4.61739,-4.07425,-24.3485,21.9427,9.18866,-13.9976,-3.88454,-14.5756,19.7224,5.67245 --3.90018,0.999999,0.233904,4,15,0,5.85399,6.19574,1.70982,0.437293,-0.369122,-0.406655,1.07773,-0.0972651,0.738125,-0.505335,-0.317449,6.94343,5.50044,6.02944,5.33171,5.56461,8.03846,7.4578,5.65296,-4.61228,-3.25276,-3.85077,-3.32833,-3.38218,-3.52154,-3.77721,-3.87148,20.3375,18.6975,0.293711,5.82879,-3.93797,-14.7668,7.48955,14.3863 --5.72363,0.936473,0.343446,3,7,0,11.5552,5.11141,0.911024,0.391675,1.1504,-0.456483,-0.490533,-0.437686,-0.706287,0.505528,-1.37278,5.46823,4.69554,4.71267,5.57196,6.15945,4.66452,4.46796,3.86077,-4.75517,-3.27612,-3.80771,-3.32526,-3.43257,-3.37232,-4.1371,-3.91154,4.63833,-6.7569,-23.6491,-4.51523,-4.54468,22.1635,23.5677,11.7676 --6.87545,0.945442,0.447388,3,7,0,9.65935,5.27251,0.393247,0.539156,0.591755,-0.874053,-0.347214,-0.722981,-0.0793195,1.89758,-0.254146,5.48453,4.92879,4.9882,6.01873,5.50521,5.13597,5.24132,5.17257,-4.75354,-3.26869,-3.81616,-3.32081,-3.37738,-3.38752,-4.03544,-3.88125,-7.91845,25.6468,-3.68304,-15.5403,3.25314,3.8015,8.90862,10.637 --6.24833,0.9707,0.591084,3,7,0,11.3392,5.64899,6.08842,-0.28159,-1.21589,-0.994137,1.26136,0.349429,0.803435,-1.11658,-0.655971,3.93455,-0.403734,7.77646,-1.1492,-1.75387,13.3287,10.5406,1.65516,-4.91398,-3.57464,-3.91835,-3.59125,-3.11967,-3.94492,-3.49973,-3.97446,-16.2517,-1.52446,6.80859,7.36593,-22.6884,2.83287,10.5096,11.1222 --6.24833,0.0303775,0.815726,2,3,0,13.8837,5.64899,6.08842,-0.28159,-1.21589,-0.994137,1.26136,0.349429,0.803435,-1.11658,-0.655971,3.93455,-0.403734,7.77646,-1.1492,-1.75387,13.3287,10.5406,1.65516,-4.91398,-3.57464,-3.91835,-3.59125,-3.11967,-3.94492,-3.49973,-3.97446,11.776,-8.0036,26.0626,29.7061,-6.3983,18.9338,15.1923,0.753189 --5.97636,0.993643,0.204549,4,15,0,10.7173,8.44635,0.649603,-0.0842507,-0.553477,1.24008,-0.084219,-1.29495,-0.0286635,0.19659,0.139966,8.39162,9.25191,7.60515,8.57405,8.08681,8.39164,8.42773,8.53727,-4.48141,-3.22936,-3.91119,-3.32707,-3.62585,-3.5426,-3.67967,-3.82781,14.3816,-8.89979,3.36665,0.569852,6.38029,13.0985,20.176,-4.69138 --6.27159,0.986371,0.294681,4,15,0,10.0526,-0.0073695,2.75367,-0.140111,0.721476,0.722731,-0.605771,-1.14408,0.202094,-1.60594,0.0152472,-0.39319,1.98279,-3.15779,-4.4296,1.97934,-1.67546,0.54913,0.0346163,-5.41848,-3.40256,-3.69158,-3.85665,-3.17096,-3.34641,-4.74419,-4.03025,14.777,-3.63616,23.1467,-34.6533,1.52303,-9.3768,1.02222,-10.3315 --5.5653,0.982271,0.417771,3,7,0,11.1628,6.69168,2.68842,0.833455,0.170082,0.346428,0.39538,1.04502,0.446116,1.89262,-0.416592,8.93236,7.62302,9.50112,11.7798,7.14893,7.75463,7.89103,5.57171,-4.43493,-3.22223,-3.99676,-3.41124,-3.52607,-3.50537,-3.73248,-3.87308,10.3344,-0.962681,4.68334,10.8219,2.93718,9.65957,10.4376,-3.24215 --4.87899,0.940013,0.586287,3,7,0,9.36871,5.20112,1.83786,1.06099,-0.517576,0.850205,-0.690241,0.655986,0.332696,1.39451,-0.434338,7.15108,6.76368,6.40673,7.76404,4.24988,3.93255,5.81257,4.40286,-4.59294,-3.22917,-3.86435,-3.31925,-3.28629,-3.35237,-3.96419,-3.89838,-6.06796,-10.7436,19.5162,4.19575,0.155013,-16.2235,17.6502,-3.10378 --4.53859,0.975627,0.761021,2,7,0,6.4449,2.92825,2.99951,1.16252,-0.55588,0.873921,-0.808188,1.10416,0.954845,0.7268,-0.443409,6.41523,5.54958,6.24019,5.10829,1.26088,0.504081,5.79231,1.59824,-4.66233,-3.25155,-3.85829,-3.33162,-3.14772,-3.31785,-3.96666,-3.97628,9.69898,7.2517,11.3621,3.94281,6.39008,-5.76727,-2.05977,-2.62153 --4.53859,0.122878,1.05011,2,3,0,11.1966,2.92825,2.99951,1.16252,-0.55588,0.873921,-0.808188,1.10416,0.954845,0.7268,-0.443409,6.41523,5.54958,6.24019,5.10829,1.26088,0.504081,5.79231,1.59824,-4.66233,-3.25155,-3.85829,-3.33162,-3.14772,-3.31785,-3.96666,-3.97628,14.3527,-3.62066,28.8388,22.1743,-2.6342,13.7242,-0.433122,21.979 --8.17432,0.955285,0.319978,3,7,0,10.3492,3.79758,4.56836,-1.28902,0.167931,-0.480885,-0.0768006,-1.32672,0.270834,-0.3962,2.62267,-2.09112,1.60073,-2.26335,1.9876,4.56475,3.44673,5.03485,15.7789,-5.63916,-3.42628,-3.69259,-3.42065,-3.30731,-3.34157,-4.062,-3.83135,-32.13,-14.9901,-15.9193,1.98818,12.9171,-1.95711,3.40544,9.55332 --7.85149,0.982956,0.426317,3,7,0,13.2553,3.40594,3.44697,3.1137,0.0453133,0.985935,0.397441,-0.0672013,-0.210604,-0.63656,-1.08187,14.1388,6.80443,3.1743,1.21174,3.56213,4.77591,2.67999,-0.323239,-4.05395,-3.22867,-3.76598,-3.45528,-3.24464,-3.37575,-4.39504,-4.04367,11.6293,25.7921,13.9636,-12.3742,-1.926,7.0751,1.74139,23.2921 --10.7889,0.929517,0.59492,3,7,0,15.7464,1.29356,3.47393,3.48389,-0.0267004,2.12925,0.399787,0.446389,-0.329278,-0.862085,0.201824,13.3964,8.69042,2.84428,-1.70126,1.2008,2.68239,0.149671,1.99468,-4.10091,-3.22391,-3.75824,-3.62969,-3.14606,-3.32853,-4.81469,-3.9638,12.5874,10.1122,-3.41332,3.11288,-10.8501,0.253126,-7.18922,12.4983 --11.8267,0.354665,0.754221,2,3,0,17.8382,-1.06888,6.38549,3.6866,-0.517017,2.37103,-0.429283,0.312846,0.711941,1.25953,0.443657,22.4719,14.0713,0.928793,6.97387,-4.37029,-3.81007,3.47721,1.76409,-3.6949,-3.40583,-3.72167,-3.31684,-3.18628,-3.41244,-4.27608,-3.971,13.6908,-10.4425,14.3737,11.0458,-13.9987,3.70091,-1.66786,10.8143 --7.12021,0.952285,0.350742,4,15,0,16.9145,-0.0101099,5.17361,2.43171,-0.888583,1.08714,1.23778,0.189667,1.71678,-0.231829,-0.292608,12.5706,5.61432,0.971152,-1.2095,-4.60729,6.39369,8.87185,-1.52395,-4.15602,-3.24998,-3.72233,-3.59533,-3.19649,-3.43705,-3.63814,-4.09156,26.9928,11.6714,-7.30165,-3.54114,-18.4156,14.9986,3.26424,1.21567 --4.74229,0.90671,0.462631,3,7,0,11.793,2.00168,6.61957,2.34306,0.471618,0.537932,0.713982,0.66463,1.00955,0.119629,0.577005,17.5117,5.56256,6.40125,2.79357,5.12359,6.72794,8.68446,5.82121,-3.87144,-3.25123,-3.86415,-3.38995,-3.34763,-3.45241,-3.65542,-3.86823,-15.1246,-7.08935,-2.64751,-12.854,10.2888,-2.33946,-9.34799,-5.7911 --8.826,0.716279,0.562804,3,7,0,12.8411,3.3175,2.035,0.128535,-0.420288,1.51355,0.759784,-0.384096,3.15022,-0.372538,-0.8943,3.57907,6.39758,2.53586,2.55938,2.46221,4.86366,9.72822,1.4976,-4.95228,-3.23436,-3.75138,-3.39832,-3.19016,-3.37852,-3.56364,-3.97953,-22.5184,7.54584,29.5585,1.51324,7.17031,6.48313,10.4086,-21.8657 --5.93693,1,0.492505,3,7,0,11.8113,2.72611,1.84073,1.22744,0.175876,-0.869055,-0.681625,-0.0362001,-1.41701,-0.296929,0.985072,4.9855,1.12641,2.65947,2.17954,3.04985,1.47142,0.117779,4.53936,-4.80403,-3.45775,-3.75409,-3.41285,-3.21741,-3.31775,-4.82039,-3.89521,8.42587,5.88066,26.2104,-2.88723,-6.28508,-18.7603,19.7609,-7.28687 --4.77532,0.964339,0.701926,3,7,0,9.0412,9.01173,6.36902,0.188205,-0.705573,0.442015,0.656408,-0.973236,0.305596,0.90929,0.861445,10.2104,11.8269,2.81317,14.803,4.51792,13.1924,10.9581,14.4983,-4.33025,-3.29475,-3.75753,-3.56843,-3.30411,-3.93111,-3.46947,-3.81894,19.2311,24.9045,-0.447336,15.3705,-14.4301,15.8536,-4.26532,29.7328 --2.8019,0.588352,0.938773,2,3,0,6.32171,5.81792,2.10249,0.0383612,-0.199132,-0.513793,-0.369746,-0.0603423,0.628408,0.231308,0.100105,5.89858,4.73768,5.69105,6.30424,5.39925,5.04054,7.13914,6.02839,-4.71248,-3.27474,-3.83906,-3.31883,-3.36894,-3.3843,-3.81131,-3.86434,-39.9672,-28.4765,39.8867,20.1429,18.6174,14.8605,-2.52933,14.444 --5.12546,0.881518,0.660322,3,7,0,5.94185,10.4342,4.44765,0.488079,-0.516886,-0.308247,0.251139,-0.466362,0.620913,0.85213,-1.18212,12.605,9.0632,8.35996,14.2242,8.13524,11.5512,13.1958,5.17651,-4.15367,-3.22718,-3.94358,-3.53249,-3.6313,-3.77686,-3.33693,-3.88116,55.6869,4.69144,-0.747508,19.7728,4.1814,17.7193,5.50931,12.0814 --5.82965,0.26187,0.765833,3,15,0,10.2622,-0.622756,1.40441,0.287057,0.210747,-0.00892763,-0.786384,0.429144,-0.281263,-0.765611,1.25856,-0.21961,-0.635294,-0.0200621,-1.69799,-0.326781,-1.72716,-1.01777,1.14478,-5.39665,-3.59437,-3.70887,-3.62946,-3.11896,-3.34757,-5.0299,-3.99116,12.1232,-13.1489,9.93817,-3.95873,8.0016,12.6977,-2.73757,-13.7107 --5.20337,0.990817,0.311101,4,15,0,8.0562,8.54649,2.0758,0.0834003,0.634815,-0.461524,-0.438005,-1.40896,0.275104,-0.458921,-0.945283,8.71961,7.58845,5.62177,7.59386,9.86424,7.63727,9.11755,6.58426,-4.45306,-3.22237,-3.83671,-3.31829,-3.84475,-3.49887,-3.61601,-3.85457,29.2307,8.60689,-0.354711,24.3133,5.17013,16.3405,-3.81611,-9.53093 --6.16292,0.949908,0.434458,3,7,0,8.55761,4.69201,0.649458,-0.934547,1.3626,0.431402,-0.478632,0.950074,-0.897753,-0.0869804,-0.107507,4.08506,4.97218,5.30904,4.63552,5.57696,4.38116,4.10895,4.62219,-4.89793,-3.26736,-3.82637,-3.33994,-3.38318,-3.36407,-4.18633,-3.89331,16.1219,10.3519,0.818849,18.6518,9.54124,11.1716,0.231564,22.6509 --5.15717,0.962812,0.565095,3,7,0,9.99575,3.50942,8.9057,1.01219,0.419206,0.0661527,-0.253761,-1.99467,-0.140555,0.488711,0.891977,12.5237,4.09856,-14.2545,7.86173,7.24275,1.2495,2.25768,11.4531,-4.15925,-3.29763,-3.93892,-3.3199,-3.53556,-3.31709,-4.46063,-3.80977,5.78105,10.7191,-29.1947,-13.1849,17.3834,-10.1485,-1.44061,-5.6067 --5.15717,0.1595,0.749656,2,3,0,14.1003,3.50942,8.9057,1.01219,0.419206,0.0661527,-0.253761,-1.99467,-0.140555,0.488711,0.891977,12.5237,4.09856,-14.2545,7.86173,7.24275,1.2495,2.25768,11.4531,-4.15925,-3.29763,-3.93892,-3.3199,-3.53556,-3.31709,-4.46063,-3.80977,9.77587,-2.8832,10.3388,-1.16078,-6.66158,-9.47561,-8.02964,10.5996 --8.18798,0.956821,0.259958,4,15,0,11.8828,5.4554,0.560877,-0.507642,0.315367,-1.95345,-0.641102,0.752186,0.420827,-1.23556,-1.4105,5.17068,4.35976,5.87728,4.7624,5.63228,5.09582,5.69143,4.66428,-4.78516,-3.28778,-3.84545,-3.33752,-3.38769,-3.38616,-3.97903,-3.89235,30.6494,-9.88854,-0.513686,-11.1612,-1.34988,12.6946,20.7674,22.7803 --7.7663,0.982491,0.341668,4,15,0,14.4344,-2.79677,5.52095,0.703771,-1.10524,0.90971,1.73697,0.731788,1.25217,-0.740653,0.0945771,1.08872,2.2257,1.2434,-6.88588,-8.89873,6.79293,4.11642,-2.27461,-5.23636,-3.38824,-3.7267,-4.1136,-3.50129,-3.4555,-4.18529,-4.12376,5.72025,-11.8423,18.4421,-12.604,-17.5385,11.0019,3.3586,13.3905 --5.79524,0.956105,0.467672,3,7,0,12.8764,0.927906,4.7183,1.03648,1.15878,0.835253,-0.731151,-0.993753,0.412249,1.65793,0.452644,5.81835,4.86888,-3.76091,8.75051,6.39536,-2.52188,2.87302,3.06361,-4.72038,-3.27054,-3.69266,-3.3295,-3.45376,-3.36809,-4.36565,-3.93255,22.5632,9.42445,-18.7742,-0.642834,10.8881,10.1573,-7.01346,5.72696 --7.36935,0.808817,0.611536,3,7,0,12.9892,8.30262,2.2568,-1.07973,-1.5336,0.0937274,0.597925,-0.737185,0.602974,-1.90812,-0.611855,5.86588,8.51414,6.63894,3.99639,4.8416,9.65201,9.6634,6.92178,-4.7157,-3.22285,-3.87299,-3.35411,-3.32681,-3.62616,-3.56902,-3.84911,19.0586,3.16852,-3.75566,-1.53389,19.8992,10.159,14.9164,23.8336 --8.64386,0.92597,0.626422,3,7,0,13.0525,0.260367,5.87576,1.80161,0.659252,-0.647379,-1.30507,1.03674,0.922139,1.98248,-0.948457,10.8462,-3.54348,6.35199,11.909,4.13397,-7.4079,5.67864,-5.31254,-4.28089,-3.88778,-3.86235,-3.41641,-3.27886,-3.60895,-3.9806,-4.27185,10.5878,-6.23239,1.49168,18.994,11.1732,-4.42832,1.77224,-20.4272 --8.64386,0.105759,0.777416,2,3,0,17.0322,0.260367,5.87576,1.80161,0.659252,-0.647379,-1.30507,1.03674,0.922139,1.98248,-0.948457,10.8462,-3.54348,6.35199,11.909,4.13397,-7.4079,5.67864,-5.31254,-4.28089,-3.88778,-3.86235,-3.41641,-3.27886,-3.60895,-3.9806,-4.27185,18.0957,-6.49991,1.65939,11.1383,-12.3447,-8.677,0.45577,9.5666 --5.72084,0.997728,0.252158,4,15,0,12.8498,0.669951,5.39339,0.308739,0.872838,0.665716,-1.0996,-0.780289,2.21115,0.633954,-0.277226,2.3351,4.26042,-3.53846,4.08911,5.37751,-5.26064,12.5955,-0.82524,-5.09074,-3.29145,-3.69209,-3.35185,-3.36723,-3.4788,-3.36756,-4.06315,-3.43275,2.09739,22.0728,-0.803476,1.28391,0.743365,14.2908,19.6783 --5.28789,0.999461,0.352272,4,15,0,8.84768,6.17476,2.08742,-0.485409,-1.80719,0.751382,-0.21863,-0.4206,-0.946233,0.298565,0.0913548,5.16151,7.74321,5.2968,6.79799,2.40239,5.71839,4.19958,6.36546,-4.78609,-3.22185,-3.82597,-3.317,-3.18762,-3.40883,-4.17378,-3.8583,-10.4732,12.5242,-1.30311,19.9981,-6.55965,-0.0761783,7.45693,-6.5015 --3.46233,0.985317,0.492421,3,7,0,7.23972,5.1022,1.87885,-0.152263,-0.695617,0.344429,-0.435809,-0.38122,0.642998,0.879681,-0.399002,4.81612,5.74933,4.38594,6.75499,3.79524,4.28338,6.31029,4.35253,-4.82142,-3.24685,-3.79807,-3.31708,-3.2581,-3.36138,-3.90477,-3.89956,-4.47381,-17.4551,-11.171,1.34894,6.06069,13.3707,-3.17759,-4.27823 --4.1984,0.870113,0.67126,2,7,0,7.53171,5.00764,1.86798,0.129729,0.069923,0.806642,1.02666,-0.811059,0.520968,0.827981,-0.408326,5.24998,6.51443,3.49261,6.55429,5.13826,6.92542,5.9808,4.2449,-4.77713,-3.23256,-3.77386,-3.31765,-3.34874,-3.46192,-3.94383,-3.90212,19.6479,3.34899,-19.8995,-16.437,16.0038,0.5698,13.7709,-46.289 --4.20193,0.483031,0.758332,3,15,0,10.2003,3.66644,5.23063,0.477241,0.528995,-0.208946,-1.45984,0.711049,0.495669,-0.727025,0.245355,6.16271,2.57352,7.38567,-0.136357,6.43342,-3.96945,6.2591,4.9498,-4.68669,-3.36876,-3.9022,-3.52728,-3.45725,-3.41888,-3.91077,-3.88602,11.5046,-0.453387,-16.7932,-11.7781,9.74786,-4.26314,10.3718,8.72171 --7.06499,0.714206,0.459409,3,7,0,10.7082,5.22085,5.60498,-0.28056,1.09706,-0.504326,-0.969268,1.84065,-0.17364,0.545286,0.740416,3.64832,2.39411,15.5376,8.27717,11.3699,-0.21188,4.2476,9.37087,-4.94478,-3.37865,-4.36271,-3.32357,-4.06069,-3.3229,-4.16717,-3.81998,-4.15605,0.092177,43.0481,11.3919,14.2404,-6.30197,-0.243804,-8.32025 --9.27694,0.95871,0.404408,3,7,0,14.1148,6.81584,3.45811,1.98043,-1.65528,0.915122,1.64781,0.0174332,2.34934,-0.0106536,-0.00337235,13.6644,9.98043,6.87612,6.77899,1.09168,12.5142,14.9401,6.80417,-4.08368,-3.24113,-3.88203,-3.31704,-3.14317,-3.86467,-3.26834,-3.85097,23.2177,2.01507,5.7172,10.5417,3.19093,3.82016,6.32492,13.6254 --10.1048,0.987674,0.52652,3,7,0,15.945,1.55234,0.66895,-1.00746,1.48131,-1.08831,-2.03957,-0.333154,-1.67787,-0.00616378,0.348324,0.878403,0.824318,1.32948,1.54822,2.54327,0.187976,0.42993,1.78536,-5.26161,-3.47898,-3.72814,-3.43965,-3.19366,-3.31956,-4.76506,-3.97033,-5.66983,11.996,-7.16745,2.74885,-5.15208,-3.01152,24.2189,10.4885 --9.96543,0.877944,0.716643,2,7,0,15.0746,1.38031,0.0973789,-0.317778,2.01139,-0.912429,0.391145,-1.42771,-0.0803825,0.783446,0.530093,1.34936,1.29145,1.24128,1.4566,1.57617,1.41839,1.37248,1.43192,-5.20534,-3.44655,-3.72666,-3.44381,-3.15713,-3.31756,-4.6039,-3.98166,15.0511,3.91766,14.9543,1.81877,-2.43192,14.9864,2.64125,-8.32198 --9.88662,0.544711,0.817875,3,11,0,16.7757,7.80547,0.488026,-0.545466,-1.97406,1.16391,-0.455279,2.16503,0.034623,-0.743058,-0.507875,7.53927,8.37349,8.86206,7.44284,6.84208,7.58328,7.82237,7.55761,-4.5573,-3.22222,-3.96635,-3.31764,-3.49578,-3.49592,-3.73944,-3.83977,1.8688,0.549644,6.1096,10.0601,-6.17568,2.04139,8.15243,7.45763 --6.41743,0.99225,0.550398,3,7,0,13.0601,5.3104,2.75819,0.124089,-0.739195,1.95794,1.01434,0.356492,-1.20548,-0.0355742,0.497269,5.65266,10.7108,6.29367,5.21228,3.27156,8.10814,1.98546,6.68196,-4.73677,-3.25826,-3.86022,-3.33004,-3.22879,-3.52562,-4.50385,-3.85295,-28.1706,14.2663,21.0325,-9.14551,-4.80997,21.5534,16.7759,1.52214 --6.41743,0.207521,0.752237,3,7,0,13.0277,5.3104,2.75819,0.124089,-0.739195,1.95794,1.01434,0.356492,-1.20548,-0.0355742,0.497269,5.65266,10.7108,6.29367,5.21228,3.27156,8.10814,1.98546,6.68196,-4.73677,-3.25826,-3.86022,-3.33004,-3.22879,-3.52562,-4.50385,-3.85295,4.77776,2.50954,-11.0337,14.1885,4.87011,-4.72289,13.488,-1.7533 --4.87686,0.998926,0.298664,4,15,0,9.36795,3.48053,4.30041,0.936589,0.834614,-0.860347,0.755473,-0.716195,0.740715,0.643889,1.31974,7.50825,-0.219319,0.400592,6.24952,7.06971,6.72937,6.6659,9.15594,-4.56013,-3.55931,-3.71411,-3.31916,-3.51814,-3.45248,-3.86383,-3.82179,29.2924,-8.20216,-12.3761,3.17227,5.83348,-7.80404,3.99343,-5.33279 --5.35158,0.995338,0.412443,4,23,0,8.18036,6.03849,4.2941,-0.684933,-1.31891,0.775633,-1.08237,0.120258,-0.169164,-0.299767,-1.31039,3.09732,9.36913,6.55489,4.75126,0.374944,1.39069,5.31208,0.411546,-5.00509,-3.2309,-3.86984,-3.33773,-3.12783,-3.31746,-4.02644,-4.01655,24.5709,8.80775,31.5428,3.70777,-15.5671,-20.7182,20.8998,4.23019 --3.92676,0.865184,0.565251,3,7,0,12.501,5.50212,5.21742,1.1833,-0.799933,-0.819096,-0.31634,-0.301984,0.884841,0.466862,1.40541,11.6759,1.22855,3.92654,7.93794,1.32853,3.85164,10.1187,12.8348,-4.21916,-3.45079,-3.78523,-3.32047,-3.14963,-3.35044,-3.5321,-3.81039,16.0955,7.04783,-6.51472,7.68542,7.34407,-12.3874,28.7674,-11.719 --8.57087,0.362178,0.63123,3,7,0,14.8262,6.4557,0.0873579,-0.759546,0.511153,1.25113,-0.208103,-0.130107,-0.384544,-0.683175,-1.64116,6.38934,6.56499,6.44433,6.39602,6.50035,6.43752,6.4221,6.31233,-4.66481,-3.23182,-3.86574,-3.31834,-3.46342,-3.43901,-3.89176,-3.85923,-20.5146,-5.92826,6.31224,-6.58944,0.145946,-0.796032,-0.54515,-4.47084 --8.56839,0.948383,0.322413,4,15,0,15.2291,8.03688,0.920825,1.0474,-0.423927,-0.710779,1.15286,-1.73932,-0.207971,0.0360007,1.91422,9.00135,7.38237,6.43527,8.07003,7.64652,9.09846,7.84537,9.79954,-4.4291,-3.22343,-3.8654,-3.32157,-3.57766,-3.58785,-3.73711,-3.81678,29.3526,13.5676,9.24149,9.37935,1.56397,10.2664,5.60446,-12.6022 --10.9138,0.963313,0.409969,3,7,0,14.0545,8.06087,1.1171,0.259244,-0.159991,-1.22293,0.866453,-3.2294,0.683391,-0.44072,1.26573,8.35048,6.69473,4.45331,7.56854,7.88215,9.02879,8.82429,9.47482,-4.485,-3.23004,-3.80003,-3.31817,-3.60315,-3.5832,-3.64249,-3.81915,2.62266,-6.59374,8.22737,5.72516,-10.3818,18.1939,21.6129,-10.829 --7.54212,0.816855,0.532686,3,7,0,20.0083,1.04606,8.18393,0.561475,-0.876238,-0.602965,-0.806717,2.21986,0.0482702,0.510905,0.0616687,5.64113,-3.88856,19.2133,5.22727,-6.12501,-5.55606,1.4411,1.55075,-4.73792,-3.92821,-4.65526,-3.32982,-3.2783,-3.49444,-4.59251,-3.97781,-9.82274,0.882781,20.2107,-2.68375,-2.92172,-20.9724,5.41595,-16.5449 --7.50113,0.91132,0.551517,3,7,0,13.3242,5.81419,4.58191,-0.983761,0.995843,0.83812,0.663838,-2.21173,0.761842,-0.730565,0.22175,1.30668,9.65438,-4.31974,2.46681,10.3771,8.85584,9.30488,6.83023,-5.2104,-3.23521,-3.69493,-3.40175,-3.91516,-3.57185,-3.59955,-3.85055,17.9438,17.1563,8.5991,1.347,27.9907,11.4666,21.869,14.0031 --8.3617,0.143783,0.65999,3,7,0,13.8238,4.56899,1.1948,0.141324,0.797344,1.65077,0.539177,-1.99459,1.54798,-0.22015,1.14935,4.73784,6.54133,2.18587,4.30596,5.52165,5.2132,6.41851,5.94222,-4.8295,-3.23216,-3.74405,-3.34683,-3.37871,-3.39019,-3.89218,-3.86594,3.6639,11.3608,-18.0461,5.80984,3.29843,-12.1196,6.72391,20.4115 --12.4093,0.97914,0.243632,4,15,0,16.3503,-1.5699,0.485271,-1.27713,-0.703117,-1.35141,0.315853,2.65306,-1.1214,-0.54869,-0.384121,-2.18966,-2.2257,-0.282453,-1.83617,-1.91111,-1.41663,-2.11409,-1.75631,-5.65236,-3.74435,-3.70595,-3.63947,-3.12129,-3.34097,-5.24441,-4.10134,13.6992,11.7955,-5.18811,-9.42205,-15.5943,-4.70376,-2.984,-15.1052 --9.08415,0.971033,0.323764,4,15,0,17.8632,8.19201,0.601405,-0.547679,-1.49526,-0.572975,-2.21014,-1.15401,0.232472,0.938026,0.23664,7.86263,7.84742,7.49798,8.75614,7.29275,6.86282,8.33182,8.33433,-4.52813,-3.22164,-3.90678,-3.32958,-3.54067,-3.45887,-3.68889,-3.83005,2.45675,-9.14116,12.1585,7.5211,15.1606,16.3027,17.354,26.5668 --6.91057,0.958474,0.424266,3,7,0,12.5762,7.80802,5.0186,0.35666,-1.02557,-1.30064,-1.18397,-0.801873,-1.04475,-1.10823,1.04846,9.59796,1.28063,3.78374,2.24628,2.66111,1.86612,2.56483,13.0698,-4.37951,-3.44727,-3.78141,-3.41021,-3.1989,-3.31993,-4.41275,-3.81108,17.6482,-5.46281,-10.5011,-0.696108,10.5161,-0.610837,9.96045,9.35086 --6.25479,1,0.544607,3,7,0,10.7742,0.81317,1.28287,0.218545,0.155408,0.748128,1.05364,0.794556,0.683942,1.40957,-0.985579,1.09353,1.77292,1.83248,2.62146,1.01254,2.16485,1.69058,-0.451196,-5.23578,-3.41541,-3.73714,-3.39606,-3.14117,-3.32244,-4.55151,-4.04856,8.58152,0.689123,16.6711,7.57148,18.8833,-4.74651,-11.0284,-13.7724 --5.29316,0.259965,0.743346,3,15,0,10.7223,2.19499,1.57384,-0.820193,-0.0780839,0.747519,1.07364,0.153072,-0.100992,1.13537,0.882219,0.904141,3.37147,2.4359,3.98189,2.0721,3.88473,2.03605,3.58346,-5.25851,-3.32864,-3.74924,-3.35447,-3.17442,-3.35122,-4.49576,-3.91863,38.711,-1.08619,2.77338,0.583089,-2.8871,-9.21915,-5.44454,11.6315 --3.90003,0.911726,0.331523,3,7,0,14.9167,1.86591,2.66699,-0.153119,0.094371,-0.151091,-0.85547,0.844941,-0.148166,-0.54975,0.11969,1.45754,1.46295,4.11936,0.399726,2.11759,-0.415627,1.47075,2.18512,-5.19255,-3.43519,-3.79052,-3.49685,-3.17616,-3.32511,-4.5876,-3.95797,-17.3209,16.26,-3.15937,-15.256,3.79305,-5.81663,6.30813,21.3788 --2.15659,0.957971,0.396056,4,31,0,9.04925,4.74908,14.2105,0.521032,-0.403685,0.185332,0.249195,-0.822921,0.499078,-0.339017,-0.174862,12.1532,7.38274,-6.94502,-0.0685096,-0.987481,8.29025,11.8412,2.2642,-4.18504,-3.22343,-3.72192,-3.5233,-3.11616,-3.53645,-3.41118,-3.95558,18.2272,-4.49878,13.2453,-7.71568,-12.7542,28.5906,2.13745,-4.37698 --4.00189,0.874278,0.50663,3,7,0,5.98254,5.49625,4.23555,1.39145,-0.0604734,-0.200384,-0.56706,0.873088,0.932558,0.605478,1.05369,11.3898,4.64751,9.19426,8.06078,5.24011,3.09444,9.44615,9.9592,-4.2401,-3.27772,-3.98196,-3.32148,-3.35653,-3.33496,-3.58737,-3.81574,14.9057,14.6391,1.49219,9.34057,-0.8608,23.5037,-3.04072,25.0636 --2.68451,0.932726,0.570988,3,7,0,7.04488,3.53874,4.99091,1.00097,-0.828222,0.194356,0.19131,-0.523595,-0.0412433,0.200996,0.599767,8.53447,4.50875,0.925526,4.54189,-0.594839,4.49355,3.3329,6.53212,-4.469,-3.28247,-3.72162,-3.3418,-3.11718,-3.36727,-4.29714,-3.85545,13.0643,15.0622,-5.14622,-3.03075,-2.24,0.815374,11.3959,8.05802 --5.52547,0.951715,0.701687,3,7,0,7.66475,4.70928,1.47474,-0.121413,0.734018,-1.68095,0.91241,0.190605,-0.117801,0.734055,-0.383173,4.53022,2.23032,4.99037,5.79181,5.79176,6.05484,4.53555,4.1442,-4.85106,-3.38797,-3.81623,-3.32287,-3.4009,-3.42242,-4.12798,-3.90455,5.8593,21.0282,-7.34965,10.9303,-5.10379,1.11208,2.89675,17.5579 --4.65076,0.364387,0.88599,2,7,0,12.1411,5.46695,1.25151,0.302763,-0.749903,1.18768,0.0579278,0.306489,0.0479303,-1.2045,0.119592,5.84587,6.95334,5.85053,3.9595,4.52844,5.53945,5.52694,5.61662,-4.71767,-3.227,-3.84452,-3.35503,-3.30483,-3.40199,-3.99941,-3.87219,-2.28768,11.8671,0.845572,-11.1702,-6.29247,14.4267,6.68025,4.83142 --4.38186,0.911414,0.467315,3,7,0,10.2446,5.23283,0.999071,-0.0334875,-0.383886,-0.278953,-0.197567,-0.217596,0.701988,1.30028,0.551272,5.19937,4.95413,5.01543,6.5319,4.8493,5.03545,5.93416,5.78359,-4.78225,-3.26791,-3.81701,-3.31774,-3.32736,-3.38413,-3.94945,-3.86895,-15.4001,11.3586,2.04837,-11.1737,7.3192,18.0522,15.3612,0.454767 --3.27731,0.722319,0.555778,2,7,0,6.10974,3.86858,8.35911,-0.631891,-0.31959,0.0529649,0.790556,-0.262065,0.502048,0.205656,0.120934,-1.41346,4.31132,1.67795,5.58768,1.19709,10.4769,8.06525,4.87948,-5.54955,-3.28956,-3.73427,-3.32508,-3.14596,-3.68796,-3.71502,-3.88755,-5.2118,-0.981125,-5.71217,3.78949,-5.21535,-0.591904,25.3377,18.1075 --5.53015,0.915378,0.499533,3,7,0,7.06688,7.69641,4.49505,1.89217,-0.640396,0.747608,-1.44352,-0.963372,0.781788,0.623218,-0.153953,16.2018,11.0569,3.366,10.4978,4.81779,1.20772,11.2106,7.00438,-3.93632,-3.26825,-3.77068,-3.36739,-3.32509,-3.31701,-3.452,-3.84782,40.4172,18.1394,6.376,10.1588,21.7584,-2.02253,4.92081,11.8852 --3.3642,0.506662,0.596878,3,7,0,6.68021,7.70612,5.82712,1.4982,-0.76728,-0.0155808,-0.851871,-0.635975,0.681097,0.381438,0.24274,16.4363,7.61533,4.00021,9.9288,3.23508,2.74216,11.675,9.1206,-3.92414,-3.22226,-3.78724,-3.35228,-3.22688,-3.32938,-3.42155,-3.82211,-0.79882,2.95944,10.2412,6.92983,7.19705,11.355,-3.01482,0.0424766 --4.4153,0.91504,0.391023,3,7,0,8.91692,4.85222,1.20904,-0.736221,-0.332404,0.322677,0.702249,-0.0971623,0.368489,-0.631031,-1.017,3.96211,5.24235,4.73475,4.08928,4.45033,5.70127,5.29774,3.62263,-4.91103,-3.25955,-3.80838,-3.35184,-3.29953,-3.40816,-4.02826,-3.91761,23.0144,2.34444,18.1719,-13.8212,11.9465,19.2584,4.57159,-13.0378 --5.61521,0.94662,0.466832,3,7,0,11.9412,2.83067,0.995253,0.48665,0.844826,0.860517,-0.583578,-0.0868892,0.655988,1.1879,1.12045,3.31501,3.6871,2.74419,4.01293,3.67148,2.24986,3.48354,3.9458,-4.9811,-3.31453,-3.75597,-3.3537,-3.25087,-3.32329,-4.27516,-3.90942,-3.71249,-1.0062,-31.4176,11.6058,7.47028,-13.1464,0.382039,17.53 --6.28913,0.940786,0.583078,3,7,0,9.51003,-2.51691,1.15655,1.06049,0.0279015,0.534743,0.516022,-0.0203076,0.303232,-0.348227,0.499197,-1.2904,-1.89846,-2.5404,-2.91966,-2.48464,-1.92011,-2.16621,-1.93957,-5.53349,-3.71142,-3.69194,-3.72344,-3.12977,-3.35207,-5.2549,-4.10917,-7.92602,10.1791,7.75694,-0.391143,-1.88445,4.23894,-3.34595,-2.10597 --4.88073,0.607991,0.721244,3,7,0,16.0194,8.95927,2.90961,-0.614955,0.160233,-1.20576,-0.295298,0.0425395,0.798656,0.530605,-0.544582,7.16999,5.45098,9.08305,10.5031,9.42549,8.10007,11.2831,7.37475,-4.59119,-3.25401,-3.97668,-3.36754,-3.78709,-3.52514,-3.44711,-3.84232,9.90554,9.4408,8.66687,-10.4446,9.18854,3.55549,-3.79097,34.9833 --3.88963,0.994446,0.549553,3,7,0,6.55941,0.890894,6.89503,1.16348,-0.656317,1.16143,0.023179,-0.250964,-0.177369,-0.343236,0.522456,8.91312,8.89897,-0.839511,-1.47573,-3.63443,1.05071,-0.332069,4.49325,-4.43656,-3.22556,-3.70064,-3.61368,-3.159,-3.31684,-4.90185,-3.89627,23.6436,-12.9087,20.1512,1.4452,-8.5719,8.92596,3.53539,15.4804 --3.88963,4.12783e-05,0.733994,2,3,0,11.2571,0.890894,6.89503,1.16348,-0.656317,1.16143,0.023179,-0.250964,-0.177369,-0.343236,0.522456,8.91312,8.89897,-0.839511,-1.47573,-3.63443,1.05071,-0.332069,4.49325,-4.43656,-3.22556,-3.70064,-3.61368,-3.159,-3.31684,-4.90185,-3.89627,-4.58946,-3.82247,-17.2659,2.34819,-11.0524,-3.49782,-5.1637,-2.94467 --4.82955,0.9898,0.232645,4,15,0,7.5914,3.2916,6.01749,0.795862,-0.100086,0.298331,0.118329,-0.885876,1.27498,0.241056,-1.96822,8.0807,5.08681,-2.03915,4.74216,2.68934,4.00365,10.9638,-8.55212,-4.50872,-3.26396,-3.69333,-3.3379,-3.20018,-3.35411,-3.46906,-4.46115,30.7442,2.52256,8.75213,14.527,-3.60616,18.719,5.81853,-6.49426 --6.67039,0.942,0.308864,4,15,0,11.1186,5.79675,0.611967,-0.222262,-0.208192,1.20123,-0.165497,0.817097,-1.00704,-0.245608,1.62135,5.66073,6.53186,6.29679,5.64645,5.66934,5.69547,5.18047,6.78896,-4.73597,-3.2323,-3.86034,-3.3244,-3.39073,-3.40794,-4.04322,-3.85122,8.10636,26.6644,-4.88625,21.528,19.6564,-3.17665,3.23286,-14.0673 --6.94416,0.970824,0.382255,3,7,0,11.0005,4.50858,0.4253,-0.898219,-1.36262,0.286708,1.04505,0.815763,0.781825,0.925169,0.359841,4.12657,4.63052,4.85552,4.90205,3.92906,4.95304,4.84109,4.66162,-4.89352,-3.27829,-3.81205,-3.33502,-3.26614,-3.38141,-4.08731,-3.89241,7.61933,4.59649,26.4248,-1.45818,7.95689,15.6567,-0.715914,4.1146 --8.11378,0.926646,0.492497,3,7,0,14.097,7.04695,0.239623,0.367866,1.87447,-0.34236,1.37452,-0.740918,-0.402044,-0.399133,-0.0595798,7.1351,6.96491,6.86941,6.95131,7.49612,7.37632,6.95061,7.03267,-4.59442,-3.22688,-3.88177,-3.31684,-3.56174,-3.48484,-3.83197,-3.84739,14.4034,17.3781,2.57011,-7.62303,18.5031,-11.7502,-5.48234,-25.1479 --7.65226,0.969569,0.5949,3,7,0,11.164,2.97796,9.96119,-0.39815,-1.36416,1.17341,-1.05587,0.908356,1.41545,-0.55323,1.06014,-0.988085,14.6665,12.0263,-2.53287,-10.6107,-7.53973,17.0776,13.5383,-5.49434,-3.44373,-4.13252,-3.69235,-3.68632,-3.61818,-3.22578,-3.81296,-5.17558,17.647,25.9499,4.66517,-19.6616,-5.1481,-2.75764,16.1249 --8.71769,0.453213,0.763223,3,7,0,14.7043,6.25637,0.553288,0.106475,1.41934,-0.980457,1.11441,-1.02909,-1.87192,0.613429,-0.476363,6.31528,5.71389,5.68699,6.59577,7.04167,6.87296,5.22066,5.9928,-4.67194,-3.24766,-3.83892,-3.31751,-3.51535,-3.45936,-4.03808,-3.865,1.04503,22.6244,5.45892,-13.3297,8.8505,23.852,0.0112812,16.4157 --14.6797,0.828672,0.469048,3,7,0,20.27,7.10239,0.605117,1.52881,-0.487536,-1.75181,1.43328,0.690196,-0.842697,-0.638017,3.50613,8.0275,6.04234,7.52004,6.71631,6.80737,7.96969,6.59246,9.224,-4.51344,-3.24069,-3.90768,-3.31717,-3.49243,-3.51756,-3.87218,-3.8212,10.4215,6.98821,-8.93121,-1.39307,11.8139,9.93607,14.2057,-5.22229 --8.14981,0.991451,0.49235,3,7,0,18.8002,1.49351,4.79907,1.1716,-0.164816,-1.20126,1.0493,0.314559,-0.0894422,-2.06921,0.941926,7.11611,-4.27142,3.0031,-8.43677,0.702544,6.52916,1.06427,6.01388,-4.59618,-3.97446,-3.76191,-4.30152,-3.13406,-3.44316,-4.65562,-3.86461,-29.5864,8.9701,12.718,-0.578389,10.0677,20.0967,26.5288,-1.79024 --6.48773,0.882397,0.650584,3,7,0,11.8265,5.14722,2.12724,1.50492,-0.139407,-0.747392,1.3936,-0.695863,0.676756,-1.36367,1.01009,8.34854,3.55734,3.66695,2.24636,4.85067,8.11176,6.58685,7.29592,-4.48517,-3.32021,-3.77834,-3.41021,-3.32746,-3.52583,-3.87282,-3.84346,19.4049,5.77314,-0.142035,4.25884,5.20047,8.66826,1.65031,-2.86941 --7.93614,0.911135,0.73593,3,7,0,11.6535,9.48477,4.23851,-0.592817,0.460154,-0.529875,0.507993,-1.17765,-1.86346,-0.345531,-0.448422,6.97211,7.23889,4.49329,8.02024,11.4351,11.6379,1.5865,7.58413,-4.60959,-3.22442,-3.80119,-3.32113,-4.07069,-3.78446,-4.56854,-3.8394,21.7151,17.5252,19.4596,7.69905,3.3823,17.685,-0.79417,9.18277 --11.909,0.694276,0.866323,2,3,0,15.634,-3.44182,2.14685,1.17973,0.414383,-0.564039,-1.79242,1.68165,2.32211,-0.503668,0.790286,-0.909126,-4.65273,0.168424,-4.52313,-2.55221,-7.28988,1.5434,-1.7452,-5.48418,-4.02198,-3.71113,-3.86552,-3.13104,-3.60081,-4.57562,-4.10087,-33.1215,-16.3571,7.01152,5.92712,1.67167,-12.7505,8.82569,27.6978 --7.86457,1,0.751305,2,3,0,13.0635,-0.567119,5.031,0.141031,-0.183116,-0.998244,-1.58765,1.30946,2.07163,0.219731,0.473169,0.142407,-5.58928,6.02075,0.53835,-1.48838,-8.5546,9.85526,1.8134,-5.35153,-4.14487,-3.85046,-3.48937,-3.11764,-3.69407,-3.55321,-3.96944,-8.63227,-7.75394,15.0452,-4.64599,1.53009,-11.8954,18.9672,-11.0144 --5.38532,0.489312,1.00087,2,3,0,12.0701,-1.31765,4.39922,-0.288473,1.35227,0.64814,0.462418,0.218788,0.690867,0.898329,0.720121,-2.58671,1.53366,-0.355157,2.6343,4.63128,0.716628,1.72162,1.85032,-5.70598,-3.43059,-3.70519,-3.39559,-3.31191,-3.31717,-4.54645,-3.96829,-10.7988,-4.9834,25.5791,7.76347,1.07214,-17.4351,6.02394,-0.33211 --7.14787,0.328771,0.651884,3,7,0,10.2855,8.37275,0.386919,1.333,0.235662,-0.202492,0.670814,0.830526,0.513776,-1.25521,0.219389,8.88852,8.29441,8.6941,7.88709,8.46394,8.6323,8.57154,8.45764,-4.43865,-3.22196,-3.95862,-3.32009,-3.66904,-3.55754,-3.666,-3.82867,21.179,9.8846,-5.53604,19.2402,23.3749,-0.567165,16.952,6.93076 --6.90446,0.945573,0.340093,4,15,0,15.6929,-0.873968,8.40459,-0.983923,0.0657891,-0.611762,-0.345199,-1.17783,1.52965,0.871494,0.544823,-9.14344,-6.01558,-10.7732,6.45058,-0.321037,-3.77522,11.9821,3.70505,-6.69284,-4.20371,-3.80954,-3.31808,-3.11901,-3.41106,-3.4026,-3.91549,6.84467,-22.407,21.8903,12.437,15.9973,12.1561,14.3799,22.5444 --7.25338,0.992821,0.419924,3,7,0,12.4088,1.46549,4.2448,2.59366,0.0337577,1.64801,0.706231,1.14801,0.549099,0.279203,0.812784,12.475,8.46095,6.33857,2.65065,1.60878,4.4633,3.7963,4.91559,-4.1626,-3.22259,-3.86186,-3.395,-3.15817,-3.3664,-4.23025,-3.88676,-3.01049,-2.15593,18.662,16.4632,4.79663,3.20408,14.858,10.9118 --5.23698,0.997141,0.553072,3,7,0,10.9957,4.72139,1.05954,-0.52185,0.630878,-0.949828,0.979394,1.09985,0.0420697,-0.283701,-0.306763,4.16847,3.71501,5.88672,4.4208,5.38983,5.7591,4.76596,4.39636,-4.88908,-3.31333,-3.84577,-3.34432,-3.3682,-3.41042,-4.09722,-3.89853,10.5761,19.9535,15.524,6.3203,12.1627,5.39967,16.697,1.60064 --6.90335,0.927694,0.731832,3,7,0,9.25543,3.08187,4.5888,-0.610687,1.29073,-0.706557,1.10414,0.286347,-0.629753,-1.00914,-0.07325,0.279548,-0.160378,4.39585,-1.54888,9.00478,8.14852,0.192059,2.74574,-5.3346,-3.55448,-3.79836,-3.61883,-3.73404,-3.528,-4.80714,-3.94147,15.4898,-9.2774,11.3687,-6.52772,-6.15452,28.3583,-7.83232,6.35176 --6.60047,0.361627,0.87858,3,7,0,12.6227,7.79354,3.24613,1.28991,-1.42452,0.689261,-1.36795,0.0332843,1.58378,0.95862,0.811387,11.9807,10.031,7.90159,10.9053,3.16938,3.353,12.9347,10.4274,-4.19725,-3.24215,-3.92365,-3.37986,-3.22347,-3.33971,-3.34981,-3.81313,13.61,25.8513,-37.9159,13.452,8.88166,3.76874,18.9041,26.4047 --4.21761,0.988007,0.48295,3,7,0,10.6525,1.37368,2.29669,-0.00750912,0.6064,-0.396544,0.0194673,0.248488,-0.357647,-0.942754,-0.312507,1.35644,0.462943,1.94438,-0.791534,2.7664,1.41839,0.552276,0.655951,-5.2045,-3.50556,-3.73928,-3.56769,-3.20373,-3.31756,-4.74364,-4.0079,2.23453,10.0784,-14.5074,20.1973,-3.04602,-0.0925505,-5.285,10.7318 --4.83434,0.904409,0.629986,3,7,0,7.54589,4.65996,5.61753,2.02771,-0.109753,-0.176414,-0.453892,-0.465644,-0.138283,1.51637,-0.00981375,16.0507,3.66895,2.04419,13.1782,4.04342,2.11021,3.88316,4.60483,-3.94429,-3.31531,-3.74122,-3.47456,-3.27318,-3.32193,-4.21795,-3.89371,37.1382,15.7064,-8.38303,10.7474,-13.8197,22.9946,12.7398,2.09688 --9.13156,0.315949,0.731814,3,7,0,14.7781,0.550708,0.695304,-1.82469,0.504917,0.917834,0.375344,0.211146,1.35354,-1.7194,0.519418,-0.718003,1.18888,0.697519,-0.644798,0.901779,0.811686,1.49183,0.911861,-5.45971,-3.45348,-3.71823,-3.55833,-3.13849,-3.31698,-4.58412,-3.99904,0.903241,-13.0628,4.47713,-12.0699,-6.84725,6.02789,-6.19707,-27.1376 --7.30087,0.989113,0.379633,3,7,0,15.6759,4.46533,4.33887,0.72873,-0.217308,2.41224,0.0655535,0.15998,1.77765,0.637338,1.52562,7.62719,14.9317,5.15947,7.23066,3.52246,4.74976,12.1783,11.0848,-4.54932,-3.46177,-3.82156,-3.31705,-3.24241,-3.37494,-3.39098,-3.8106,10.5458,-2.27197,5.44028,7.07921,14.0987,11.5532,15.9735,6.23333 --7.1022,0.941936,0.495293,3,7,0,10.0979,5.28852,4.03509,0.000492453,-0.416639,-2.20196,-0.290152,-0.302688,-0.823961,-0.491084,-1.21619,5.29051,-3.59661,4.06715,3.30696,3.60735,4.11773,1.96376,0.381103,-4.77304,-3.89393,-3.78908,-3.37319,-3.2472,-3.357,-4.50733,-4.01764,14.0411,6.4913,14.1294,12.6745,6.93655,14.7395,4.93289,9.08323 --6.00049,0.675734,0.605209,3,7,0,14.0319,1.14415,2.19694,-0.688229,0.347858,2.01968,0.217133,-0.221937,0.883143,-0.228006,0.990666,-0.367846,5.58129,0.656571,0.643238,1.90838,1.62118,3.08437,3.32059,-5.41529,-3.25077,-3.71764,-3.48381,-3.16838,-3.31843,-4.3339,-3.92556,20.1782,5.38848,-12.9737,28.9743,0.284244,10.4499,8.80644,-15.1427 --5.12685,0.996768,0.514517,3,7,0,8.58,1.92037,1.61338,-0.666702,1.36398,0.481245,-0.937572,0.465965,-0.0851487,0.0318409,-0.200034,0.84473,2.6968,2.67215,1.97174,4.12098,0.407716,1.783,1.59764,-5.26567,-3.36214,-3.75437,-3.42131,-3.27804,-3.31828,-4.53648,-3.9763,24.9313,3.24076,4.02046,7.07569,-10.5002,14.9894,2.51957,4.58837 --6.84625,0.703081,0.676524,3,7,0,13.2244,8.63215,0.445751,0.706059,-1.7314,0.867572,-0.400504,0.118852,-0.191054,0.20291,0.205374,8.94688,9.01887,8.68513,8.7226,7.86038,8.45363,8.54699,8.7237,-4.4337,-3.22671,-3.95821,-3.3291,-3.60077,-3.54641,-3.66832,-3.82588,31.6461,-2.78939,2.87625,9.55842,9.36016,4.64715,16.8937,12.2075 --6.14419,0.91793,0.597099,3,7,0,12.6721,4.0443,2.90922,-0.491235,0.983148,2.11148,-0.321849,-0.116322,-0.321651,-0.853896,0.218458,2.61519,10.1871,3.7059,1.56013,6.9045,3.10797,3.10855,4.67985,-5.05896,-3.24544,-3.77936,-3.43912,-3.50185,-3.3352,-4.3303,-3.892,35.8107,7.56732,-7.52272,7.57708,-10.7658,-13.8614,-9.82225,26.0397 --6.25443,0.91489,0.704706,3,7,0,10.3599,4.06178,6.51611,1.01196,-0.968999,-1.91946,0.047659,-0.00921144,1.47722,0.974242,-0.0235377,10.6558,-8.44565,4.00176,10.4101,-2.25232,4.37234,13.6875,3.90841,-4.29548,-4.57382,-3.78728,-3.36489,-3.12584,-3.36383,-3.31451,-3.91035,10.3093,8.72432,-6.29194,2.42324,-14.3469,32.3024,34.8832,38.2516 --7.72999,0.238817,0.827674,3,11,0,13.0678,5.11014,3.27777,-1.27583,-1.9577,-0.328887,-0.27106,0.64569,2.23888,0.163642,0.830323,0.92826,4.03213,7.22656,5.64652,-1.30673,4.22167,12.4487,7.83175,-5.25561,-3.30024,-3.89579,-3.3244,-3.11674,-3.35972,-3.37561,-3.83612,-1.25006,19.6925,2.58214,-4.03137,-9.89808,-8.87975,5.80321,26.9599 --7.72999,0,2.98356,0,1,1,11.4913,5.11014,3.27777,-1.27583,-1.9577,-0.328887,-0.27106,0.64569,2.23888,0.163642,0.830323,0.92826,4.03213,7.22656,5.64652,-1.30673,4.22167,12.4487,7.83175,-5.25561,-3.30024,-3.89579,-3.3244,-3.11674,-3.35972,-3.37561,-3.83612,15.2629,6.22375,-7.96176,1.59305,-5.83258,15.2741,18.1832,-6.41398 --4.80664,0.932176,0.334576,3,15,0,16.7738,5.83563,3.80639,-0.312983,-0.961857,-1.22298,-1.12112,0.983746,0.143715,0.239881,-0.226438,4.64429,1.1805,9.58015,6.74871,2.17442,1.56819,6.38266,4.97372,-4.83919,-3.45405,-4.00063,-3.31709,-3.17837,-3.31817,-3.89634,-3.8855,-11.3258,14.6946,-0.119083,13.8298,-22.2662,-13.0745,3.98232,-2.96855 --5.79396,0.98824,0.313023,3,7,0,6.9307,5.40217,1.29725,-0.108847,-1.22223,-1.09566,-0.504312,1.35644,-0.566173,0.207246,-0.646975,5.26097,3.98083,7.16181,5.67102,3.81662,4.74795,4.6677,4.56288,-4.77602,-3.30229,-3.89321,-3.32413,-3.25937,-3.37488,-4.11028,-3.89467,-18.6021,7.59256,28.2544,20.1131,8.54676,0.340988,-8.92213,15.1477 --5.77583,0.936485,0.42309,3,7,0,12.1581,3.90709,4.41931,1.1575,0.343145,1.19967,0.537933,-1.97354,1.24403,0.151403,0.951098,9.02245,9.20878,-4.81459,4.57618,5.42355,6.28438,9.40483,8.11028,-4.42732,-3.22883,-3.69796,-3.34111,-3.37087,-3.43222,-3.59091,-3.83266,2.98884,5.78691,7.66232,16.6559,11.3198,12.4055,18.1795,-12.5163 --5.77583,0.25225,0.558446,1,2,1,13.447,3.90709,4.41931,1.1575,0.343145,1.19967,0.537933,-1.97354,1.24403,0.151403,0.951098,9.02245,9.20878,-4.81459,4.57618,5.42355,6.28438,9.40483,8.11028,-4.42732,-3.22883,-3.69796,-3.34111,-3.37087,-3.43222,-3.59091,-3.83266,5.8402,20.1668,-11.6655,22.9741,2.43417,-2.10426,8.30453,19.1792 --10.0463,0.993861,0.0970558,6,63,0,15.1645,0.661979,1.9806,1.15778,1.30965,-1.42418,-0.496777,1.78002,2.0132,-0.707189,-1.00629,2.95508,-2.15876,4.18748,-0.738677,3.25587,-0.321936,4.64933,-1.33107,-5.02087,-3.73753,-3.79243,-3.5643,-3.22797,-3.32405,-4.11273,-4.08357,-0.531336,-14.0003,-5.86576,9.63619,-8.57387,-16.6648,12.8245,22.9217 --12.9341,0.990002,0.164838,5,31,0,20.0258,9.24392,0.945949,-1.78131,0.613032,2.30381,-0.302679,0.627268,-1.9057,1.50072,1.10498,7.5589,11.4232,9.83729,10.6635,9.82382,8.95761,7.44123,10.2892,-4.55552,-3.28012,-4.01339,-3.37229,-3.83934,-3.5785,-3.77896,-3.81383,14.9977,14.8882,6.47323,7.59107,23.666,16.6881,2.17172,17.8679 --10.1247,1,0.28838,4,15,0,18.1958,-1.21642,4.22237,2.43005,0.638544,-2.10884,-0.402512,-0.494779,1.48277,-0.563084,0.487772,9.04416,-10.1207,-3.30557,-3.59398,1.47975,-2.91598,5.04437,0.843129,-4.42549,-4.86333,-3.69171,-3.7806,-3.15412,-3.3802,-4.06077,-4.0014,16.7941,-14.2547,10.4468,-20.7413,9.6142,15.8509,12.3109,6.75273 --8.86208,0.442165,0.533588,2,7,0,16.7838,5.40134,0.107027,-1.22202,-1.49916,0.452385,0.352806,0.373657,-0.300672,1.32719,-0.995306,5.27055,5.44975,5.44133,5.54338,5.24088,5.4391,5.36916,5.29481,-4.77505,-3.25404,-3.8307,-3.3256,-3.35659,-3.39826,-4.01921,-3.87869,18.3993,29.4584,26.9082,21.6272,1.54433,14.3797,-1.59063,10.8198 --9.76947,0.997109,0.171442,5,31,0,11.6403,-0.629648,4.89305,1.76906,0.579673,0.0920989,-1.45313,-1.02728,2.50909,-1.55311,0.17612,8.02643,-0.179004,-5.65616,-8.22908,2.20672,-7.73989,11.6475,0.232113,-4.51353,-3.556,-3.70531,-4.2752,-3.17964,-3.63248,-3.4233,-4.02302,-39.2998,5.52277,8.02835,-12.9604,2.98573,-12.1025,22.431,-5.68809 --4.95523,0.997658,0.320938,3,7,0,12.9391,3.69759,5.01336,0.255634,0.548144,-0.781082,-1.08579,-1.60567,1.25078,-0.000183311,0.529454,4.97917,-0.218256,-4.35221,3.69667,6.44563,-1.74586,9.96818,6.35193,-4.80467,-3.55922,-3.6951,-3.36192,-3.45837,-3.34799,-3.54407,-3.85854,19.0218,-11.9467,-9.78668,-3.7482,10.8158,9.32616,5.53581,13.5313 --8.07221,0.825298,0.60395,3,7,0,11.8826,3.2507,5.28668,0.0697233,-0.459339,-0.74518,-1.16748,-2.43097,1.91832,0.914349,0.998552,3.61931,-0.688824,-9.60107,8.08457,0.822324,-2.92139,13.3923,8.52973,-4.94792,-3.599,-3.77663,-3.32169,-3.13666,-3.38038,-3.32768,-3.82789,21.3322,-7.26648,17.9539,3.72529,-3.77,-8.37717,8.55143,-0.234114 --4.41755,0.986269,0.661414,3,7,0,10.2242,3.21507,2.74462,-0.268587,-0.956122,-0.525704,0.11788,-0.858465,-0.0919225,-0.123476,1.40525,2.4779,1.77221,0.858906,2.87617,0.590875,3.5386,2.96278,7.07194,-5.07449,-3.41545,-3.72061,-3.38711,-3.13179,-3.34346,-4.35211,-3.84679,-0.00323541,2.6395,-10.5226,2.36786,0.52296,11.536,2.37354,-19.9581 --4.41755,0.0290451,1.19877,2,3,0,9.11148,3.21507,2.74462,-0.268587,-0.956122,-0.525704,0.11788,-0.858465,-0.0919225,-0.123476,1.40525,2.4779,1.77221,0.858906,2.87617,0.590875,3.5386,2.96278,7.07194,-5.07449,-3.41545,-3.72061,-3.38711,-3.13179,-3.34346,-4.35211,-3.84679,16.732,-11.5567,4.02136,4.1714,16.1143,-6.26989,7.79977,28.9333 --5.82029,0.997795,0.111332,5,31,0,8.65436,6.43961,5.72543,0.769591,-0.955639,-1.1511,-1.42866,1.21475,1.01958,-0.4448,0.818446,10.8459,-0.150908,13.3945,3.89294,0.968165,-1.74006,12.2772,11.1256,-4.28091,-3.55371,-4.21649,-3.35673,-3.14007,-3.34786,-3.38528,-3.81049,-11.2792,11.3177,-15.6182,3.69365,-4.1253,7.44959,17.7387,3.82988 --5.698,0.995574,0.210812,4,15,0,9.74969,7.77302,3.94842,-0.254399,-0.340889,-1.60151,-0.156935,1.19213,1.36987,-0.0118953,-0.137985,6.76854,1.44959,12.48,7.72605,6.42704,7.15337,13.1818,7.22819,-4.62871,-3.43606,-4.15956,-3.31901,-3.45666,-3.4733,-3.3376,-3.84445,26.1507,-3.48946,31.4107,19.1026,2.58926,1.47584,13.9653,25.4071 --4.88105,0.994947,0.393641,3,7,0,8.92705,6.32714,4.29284,0.507744,0.56721,-0.284285,-0.248391,-1.88784,0.608265,1.07915,0.0632671,8.50681,5.10675,-1.77704,10.9597,8.76208,5.26084,8.93833,6.59874,-4.4714,-3.26338,-3.69445,-3.38163,-3.70442,-3.39185,-3.63209,-3.85433,16.2016,0.971986,17.9826,14.0413,22.419,18.2285,-4.85166,17.8678 --8.31661,0.0839632,0.72767,3,15,0,11.0434,3.32918,2.64196,0.275587,-1.61897,0.632708,1.71869,-1.01512,0.23639,2.15975,0.785561,4.05727,5.00077,0.647269,9.03516,-0.948071,7.86988,3.95371,5.4046,-4.90089,-3.2665,-3.71751,-3.33395,-3.11618,-3.51186,-4.20801,-3.87644,10.0698,5.85664,-15.9944,7.32547,-5.77789,-7.271,0.218344,3.25804 --3.82129,0.997526,0.086216,5,31,0,10.7723,6.3873,2.07656,0.811287,-0.754662,0.187648,0.281714,-0.519437,0.724761,0.0976957,1.08933,8.07199,6.77697,5.30866,6.59018,4.8202,6.9723,7.89232,8.64936,-4.50949,-3.229,-3.82636,-3.31753,-3.32527,-3.46422,-3.73235,-3.82664,8.24268,4.84391,17.1218,-13.6037,3.87225,-9.6524,27.2424,-7.6943 --3.61646,0.994509,0.161303,4,15,0,7.35751,6.49792,3.29232,0.823149,-0.424788,0.436174,0.190262,-0.118427,1.15754,-0.0405263,1.22574,9.20799,7.93395,6.10802,6.3645,5.09938,7.12433,10.3089,10.5335,-4.41174,-3.22155,-3.85355,-3.3185,-3.34581,-3.47182,-3.51729,-3.81263,7.15503,22.4503,6.2039,-9.03639,-0.95389,10.0864,-1.49035,-10.7085 --4.15191,0.902971,0.296271,3,15,0,7.3771,1.87485,1.57621,0.770415,-0.196905,-0.308372,-0.230204,-0.405151,0.689395,-0.979538,-0.410637,3.08919,1.3888,1.23625,0.330899,1.56449,1.512,2.96148,1.22761,-5.00599,-3.44006,-3.72658,-3.50062,-3.15676,-3.31792,-4.35231,-3.98839,21.8018,15.5017,-34.6427,4.36596,-3.57242,7.05695,6.30992,-8.2992 --8.28944,0.87681,0.412106,3,7,0,11.5106,1.57175,2.88474,0.576368,1.0858,-0.0504154,-1.77362,0.726708,1.28492,0.936607,-1.98004,3.23442,1.42631,3.66812,4.27362,4.704,-3.54468,5.27842,-4.14015,-4.98995,-3.43759,-3.77837,-3.34755,-3.317,-3.40218,-4.03072,-4.21132,23.9002,1.52676,22.6138,30.7436,12.2689,-18.1394,-2.9835,-89.3499 --8.028,0.976712,0.52851,3,7,0,12.8256,7.35558,2.85252,0.0479667,-0.356383,-1.29149,1.82812,-1.68368,-0.806907,-0.909127,0.526153,7.49241,3.67158,2.55285,4.76227,6.33899,12.5703,5.05386,8.85644,-4.56157,-3.3152,-3.75175,-3.33753,-3.44864,-3.87003,-4.05954,-3.82456,-18.3233,5.45675,-4.71098,15.1029,13.7748,20.9538,14.973,-1.55877 --7.18432,0.427618,0.900354,2,3,0,10.8048,4.65458,0.629869,-0.0897822,-0.0976787,0.226388,1.06272,-1.51408,-1.50212,-0.997293,-0.504859,4.59803,4.79717,3.7009,4.02641,4.59305,5.32396,3.70844,4.33658,-4.84399,-3.27281,-3.77923,-3.35337,-3.30926,-3.39409,-4.24277,-3.89994,6.78161,-5.26288,-14.9641,14.3246,18.2827,-3.55817,15.6528,-16.8283 --4.29236,0.999584,0.316646,4,15,0,8.56552,4.02177,8.36248,1.03848,-0.363841,0.0980807,-0.786277,1.043,1.89861,0.601634,0.497291,12.7061,4.84197,12.7439,9.05292,0.979159,-2.55345,19.8989,8.18036,-4.14678,-3.27139,-4.17565,-3.33425,-3.14034,-3.36901,-3.23955,-3.83183,-14.0292,-2.44128,5.40541,6.92139,-6.28894,-12.2666,0.67355,-3.24861 --6.49597,0.207446,0.573055,3,7,0,9.89878,1.11269,1.10778,-0.205062,0.0055965,-1.01344,0.957638,-0.382329,0.826528,-0.433414,1.69776,0.885522,-0.00998455,0.689149,0.632558,1.11888,2.17354,2.0283,2.99343,-5.26076,-3.54232,-3.71811,-3.48437,-3.14388,-3.32252,-4.497,-3.93449,-6.68174,-15.8311,9.84953,5.41055,5.89826,-8.87477,4.79242,13.1363 --6.20689,0.999893,0.110978,5,31,0,9.46953,8.07151,1.15597,0.64108,-0.326931,1.03797,-1.15575,0.258085,0.184368,0.290402,-1.56632,8.81258,9.27137,8.36985,8.4072,7.69359,6.7355,8.28463,6.26089,-4.44512,-3.22961,-3.94401,-3.32502,-3.5827,-3.45277,-3.69347,-3.86014,20.6323,5.31383,31.5316,29.5761,13.2208,-16.1146,20.9151,16.2287 --7.18908,0.960367,0.200832,4,15,0,9.65382,-1.43154,1.32635,0.579063,0.0402359,0.0653857,0.884447,-0.134621,0.751533,0.0591878,2.03404,-0.663504,-1.34482,-1.6101,-1.35304,-1.37818,-0.25846,-0.43475,1.2663,-5.45276,-3.65815,-3.6953,-3.60515,-3.11705,-3.32338,-4.92072,-3.98711,3.52158,0.696133,23.8127,12.6262,-5.18433,3.76962,11.9999,-26.4628 --5.90628,0.999766,0.322646,4,15,0,10.6205,9.71728,2.0638,-0.055345,-0.234793,-0.0589014,0.312755,-0.0338381,-1.01219,0.531903,-1.49836,9.60306,9.59572,9.64744,10.815,9.23271,10.3627,7.62833,6.62497,-4.37909,-3.23426,-4.00394,-3.37698,-3.76251,-3.67907,-3.75938,-3.8539,-19.9642,0.208733,20.2169,17.2268,11.7248,-5.49171,1.15264,22.3148 --11.0429,0.505687,0.572878,2,7,0,12.7015,11.1506,0.407769,1.29481,-1.81922,-0.751157,0.367395,0.494053,-0.776708,0.68025,-1.75307,11.6785,10.8443,11.352,11.4279,10.4087,11.3004,10.8338,10.4357,-4.21897,-3.26197,-4.09383,-3.39785,-3.91962,-3.75525,-3.47829,-3.81309,17.641,7.69041,31.1366,19.6369,26.952,27.1763,13.5984,-4.69673 --10.162,0.987446,0.263325,4,15,0,16.2153,10.5755,0.318257,1.39768,-1.78546,-1.01249,0.179459,0.0144665,-0.50812,0.677134,-1.27166,11.0203,10.2532,10.5801,10.791,10.0072,10.6326,10.4137,10.1707,-4.26768,-3.24691,-4.05172,-3.37622,-3.86406,-3.70025,-3.50928,-3.81447,5.07295,9.3438,27.9039,10.6845,7.58937,8.70589,7.91977,21.3293 --5.96222,0.995793,0.448791,3,7,0,13.9549,0.983455,1.85086,-0.578236,0.427316,0.427229,-0.491019,0.131609,0.039321,2.04386,0.671451,-0.08678,1.7742,1.22704,4.76636,1.77436,0.0746462,1.05623,2.22622,-5.38003,-3.41533,-3.72643,-3.33745,-3.16368,-3.32037,-4.65698,-3.95673,-4.45438,8.78975,31.4149,3.50525,-4.5411,-12.3344,-1.28911,4.81576 --4.97829,0.624862,0.775366,2,3,0,12.8922,4.29915,4.8335,-0.360891,0.311627,0.779206,-0.275169,0.392393,1.02468,0.682947,-1.75492,2.55479,8.06545,6.19578,7.60018,5.8054,2.96912,9.25195,-4.18326,-5.06579,-3.22155,-3.85669,-3.31832,-3.40205,-3.33286,-3.60417,-4.21347,5.88078,12.2081,9.47429,7.4148,13.395,-8.03281,8.05148,11.7517 --8.29373,0.874372,0.496786,3,7,0,11.2753,5.75326,2.67118,-0.60335,-0.879698,-0.25942,1.55503,1.23976,0.923386,0.853748,-2.12158,4.1416,5.0603,9.06486,8.03377,3.40343,9.90703,8.21979,0.0861273,-4.89193,-3.26473,-3.97583,-3.32125,-3.23586,-3.64467,-3.69979,-4.02835,-9.89145,8.73755,39.7874,8.70549,27.1589,2.58568,8.74352,-15.2103 --9.43983,0.469255,0.617741,3,7,0,17.2135,4.60349,5.54439,0.96893,0.145938,0.261857,-2.40677,-1.26213,-0.866892,-0.501946,2.02026,9.97562,6.05533,-2.39427,1.8205,5.41263,-8.74058,-0.202902,15.8046,-4.34894,-3.24043,-3.69224,-3.42769,-3.37,-3.7089,-4.87825,-3.83165,14.4241,-2.70383,-8.60545,21.9448,4.4743,8.762,-12.8654,8.39867 --6.74613,1,0.266043,3,7,0,11.4586,7.80401,1.63469,0.5427,0.439574,0.393913,-0.89801,-1.51189,-1.16316,-0.537882,1.30261,8.69116,8.44794,5.33254,6.92474,8.52258,6.33604,5.90261,9.93339,-4.4555,-3.22253,-3.82714,-3.31686,-3.67591,-3.43449,-3.95326,-3.8159,6.36321,-3.55339,4.13863,-4.29423,-12.2636,7.54688,8.2841,6.06748 --7.13135,0.861053,0.458551,3,7,0,11.4794,1.81463,1.96922,0.896047,0.870062,0.999517,0.065718,-0.942823,-0.836381,-1.89374,0.487239,3.57914,3.78289,-0.0419954,-1.91456,3.52797,1.94404,0.167612,2.77411,-4.95227,-3.31044,-3.70862,-3.64522,-3.24272,-3.32052,-4.81149,-3.94066,-1.34301,-12.098,29.5668,-1.80206,11.6279,-10.8971,9.49724,26.0338 --6.3883,0.924928,0.548471,3,7,0,12.6718,5.69399,3.57467,-0.452138,0.22081,-0.615541,0.273539,1.34174,0.820563,1.85824,-0.8747,4.07774,3.49363,10.4903,12.3366,6.48331,6.6718,8.62723,2.56722,-4.89871,-3.32306,-4.04697,-3.43452,-3.46184,-3.44976,-3.66077,-3.94662,6.61065,12.3618,-9.72392,13.137,-1.28076,9.36079,19.2462,-11.6252 --9.01821,0.866866,0.769858,2,7,0,11.7651,2.71302,2.15343,1.06605,1.26724,-0.0454357,-0.607767,-0.604172,0.325766,2.5484,-1.72248,5.00868,2.61518,1.41198,8.20082,5.44193,1.40424,3.41453,-0.99622,-4.80166,-3.36651,-3.72955,-3.32279,-3.37233,-3.31751,-4.2852,-4.06996,24.3598,14.9511,-19.8979,2.42352,9.51528,-14.6631,15.1074,-8.58273 --9.833,0.26792,0.928168,3,11,0,12.5753,0.47102,4.02421,0.660939,0.713057,-0.234424,-0.381909,0.852925,0.429158,3.30148,-0.976205,3.13078,-0.472354,3.90337,13.7569,3.34051,-1.06586,2.19804,-3.45744,-5.00138,-3.58043,-3.78461,-3.50549,-3.23246,-3.33447,-4.47003,-4.17803,23.3036,-8.3799,36.691,-4.11686,-18.036,-0.393224,2.57356,7.75073 --8.53305,0.808924,0.247993,4,15,0,15.7002,11.7455,5.11434,0.25912,-1.6056,-0.0165903,-0.0626547,-1.70006,0.393035,-2.1685,0.220696,13.0707,11.6607,3.05081,0.655071,3.53392,11.4251,13.7556,12.8742,-4.12228,-3.28853,-3.76304,-3.48319,-3.24305,-3.76593,-3.3116,-3.81049,-11.7231,19.1941,-21.5097,22.2197,-0.307206,9.69775,38.956,-2.60776 --4.9706,0.909518,0.260187,4,15,0,12.1795,5.95128,0.701246,-0.117135,-0.959264,0.234583,-0.800751,0.348871,-0.167572,-0.707969,-0.81899,5.86914,6.11578,6.19593,5.45482,5.2786,5.38976,5.83377,5.37697,-4.71538,-3.23928,-3.85669,-3.3267,-3.3595,-3.39646,-3.96161,-3.877,-4.21884,-7.97024,16.1821,-20.7682,7.70494,-1.87408,-1.29072,36.6638 --5.89382,0.926166,0.349851,3,15,0,7.99444,5.31393,0.488607,0.211477,-0.782328,0.96318,-1.23572,0.68776,-0.416046,0.239524,-0.634761,5.41726,5.78454,5.64997,5.43096,4.93168,4.71015,5.11064,5.00378,-4.76028,-3.24606,-3.83766,-3.32701,-3.33335,-3.37371,-4.0522,-3.88485,7.51938,8.15017,-4.01702,20.7974,2.45949,-5.82045,-1.61168,-17.3443 --7.49734,0.584703,0.487922,3,7,0,12.3098,3.50017,3.45592,0.252117,0.567104,1.30903,-1.15928,1.36655,0.0966106,-1.67182,1.3485,4.37147,8.02407,8.22285,-2.27749,5.46004,-0.506197,3.83405,8.16049,-4.86767,-3.22153,-3.93753,-3.6725,-3.37377,-3.32621,-4.22489,-3.83206,17.766,5.34673,15.7029,-8.92491,8.24988,-22.3564,4.96425,13.228 --6.97752,0.994391,0.294429,4,15,0,11.983,4.40713,4.63609,1.68936,-1.23498,-1.27049,1.64582,-0.502768,1.43558,0.0543794,-0.310088,12.2391,-1.48298,2.07625,4.65924,-1.31836,12.0373,11.0626,2.96953,-4.179,-3.67116,-3.74186,-3.33948,-3.11679,-3.82023,-3.46216,-3.93516,-18.5037,-13.2815,-9.3866,-3.86884,11.6343,11.0952,1.95328,-26.5462 --9.22926,0.777865,0.482639,3,7,0,10.6075,4.00732,1.76005,-1.07305,2.07104,1.51813,-1.1928,0.421457,-1.32436,0.217783,0.739512,2.11869,6.6793,4.7491,4.39062,7.65243,1.90793,1.67638,5.30889,-5.11553,-3.23024,-3.80881,-3.34497,-3.57829,-3.32024,-4.55383,-3.8784,27.519,6.72892,36.3969,-3.31846,8.83864,8.94087,-4.23739,58.8636 --8.36422,0.970557,0.466705,3,7,0,14.156,4.16698,1.56426,0.0928929,2.33384,-1.27713,-1.02101,0.957121,-0.977198,-0.110303,0.0265707,4.31229,2.16922,5.66417,3.99444,7.81771,2.56986,2.63839,4.20855,-4.87389,-3.39151,-3.83814,-3.35416,-3.59611,-3.32702,-4.40142,-3.90299,16.7879,-6.15576,22.439,15.2614,10.8246,7.95488,-7.70073,-6.86893 --6.92298,0.368702,0.715396,2,7,0,11.7834,1.16309,0.444134,-0.507681,1.39049,-1.01701,-1.02569,0.0371941,-0.269253,-0.199834,0.546858,0.937614,0.711402,1.17961,1.07434,1.78065,0.707549,1.04351,1.40597,-5.25448,-3.48714,-3.72565,-3.46193,-3.16389,-3.31719,-4.65914,-3.98251,-24.2935,-8.35139,-12.2758,1.13072,5.03007,-0.39863,-3.82081,-9.83258 --6.49962,0.988048,0.261379,4,15,0,12.0534,11.1491,7.15407,1.24266,-1.98121,0.814627,0.104468,-0.545557,0.644678,-0.537078,-0.0560875,20.0392,16.977,7.24617,7.30683,-3.02462,11.8965,15.7612,10.7479,-3.76782,-3.62446,-3.89657,-3.31722,-3.14147,-3.80747,-3.24658,-3.81173,30.7599,28.4978,15.1501,8.53135,-4.88899,32.7254,12.0107,-2.21285 -# Adaptation terminated -# Step size = 0.404623 -# Diagonal elements of inverse mass matrix: -# 11.3295, 2.44986, 1.21625, 1.0489, 0.857588, 0.732574, 0.69433, 0.832315, 0.889247, 0.879256 --6.4805,0.188521,0.404623,2,3,0,10.6733,10.1366,1.97273,1.06151,-1.61665,1.21924,0.116057,-0.398322,0.756643,-0.164763,0.177397,12.2307,12.5418,9.35083,9.81158,6.9474,10.3656,11.6293,10.4866,-4.17959,-3.32467,-3.98946,-3.3495,-3.50605,-3.67929,-3.42446,-3.81284,23.1478,7.60409,20.2644,-3.18861,5.37553,15.0963,3.7169,4.88755 --6.96441,0.914334,0.404623,5,39,0,12.3714,5.5209,10.2315,0.60474,-1.73996,0.227752,-1.08049,-0.941034,0.543333,0.167188,2.01128,11.7083,7.85116,-4.10732,7.2315,-12.2815,-5.53422,11.08,26.0994,-4.21681,-3.22163,-3.69392,-3.31706,-3.9018,-3.49326,-3.46095,-4.11609,1.6834,15.3099,-11.356,4.10313,-11.7825,-17.8175,17.413,47.9221 --5.79961,0.449793,0.404623,3,7,0,11.9772,1.98893,0.578353,0.739975,0.964887,-1.09722,-0.776031,-0.319883,0.0341439,-0.461382,0.170651,2.4169,1.35435,1.80393,1.72209,2.54698,1.54011,2.00868,2.08763,-5.08142,-3.44235,-3.7366,-3.43194,-3.19382,-3.31804,-4.50014,-3.96094,32.7216,8.21896,44.8171,2.01234,2.30076,4.35294,-5.92428,30.6023 --2.91561,0.855852,0.404623,3,7,0,7.42574,6.16494,2.31841,0.198306,-0.0517854,0.603496,0.335619,-0.0236528,0.505868,0.00591257,0.602733,6.62469,7.56409,6.1101,6.17865,6.04488,6.94304,7.33775,7.56232,-4.64233,-3.22247,-3.85362,-3.31962,-3.42252,-3.46278,-3.78994,-3.8397,3.07911,9.8195,25.8454,-2.21643,-1.07875,-7.23167,11.9669,29.9976 --2.86296,0.477973,0.404623,3,15,0,6.83197,4.58112,3.78535,-0.477446,0.314256,0.632404,0.19674,0.239139,0.117854,-0.187694,0.142323,2.77382,6.97498,5.48634,3.87063,5.77069,5.32585,5.02723,5.11986,-5.04112,-3.22678,-3.83219,-3.3573,-3.39914,-3.39416,-4.06299,-3.88236,18.3294,-1.52121,-6.36842,-4.81219,0.870432,-5.1764,-6.56447,-14.0818 --5.37162,0.76529,0.404623,3,7,0,9.10022,2.03683,6.94559,-1.09448,0.240585,-0.608264,-0.317496,0.692065,1.14612,-0.613804,0.46388,-5.56496,-2.18792,6.84363,-2.2264,3.70783,-0.168369,9.99733,5.25874,-6.13056,-3.74049,-3.88078,-3.6686,-3.25298,-3.32247,-3.54174,-3.87944,3.45563,0.825276,9.95002,11.6909,0.541719,-7.1307,4.11195,-14.8494 --5.88226,0.9473,0.404623,3,7,0,8.34743,9.68342,1.62216,0.25997,-0.300854,0.139916,-0.692324,0.306077,1.62873,0.841029,0.55938,10.1051,9.91038,10.1799,11.0477,9.19538,8.56035,12.3255,10.5908,-4.3386,-3.23977,-4.03081,-3.38454,-3.7578,-3.55303,-3.38252,-3.81237,18.4918,3.14141,7.73636,9.10958,-0.179432,2.98282,15.1923,37.9861 --9.02567,0.760429,0.404623,3,7,0,12.3082,7.30331,10.6834,0.345971,-0.94074,1.04766,-0.311416,-0.228818,0.503646,-1.24217,-2.42382,10.9994,18.4959,4.85876,-5.96721,-2.74695,3.97634,12.6839,-18.5912,-4.26925,-3.77234,-3.81215,-4.01166,-3.135,-3.35344,-3.36283,-5.25348,12.9258,22.0551,-8.25793,-3.78447,-9.31208,-10.4486,18.7487,-23.5237 --11.4293,1,0.404623,3,7,0,14.9924,7.21651,2.16891,-0.0137545,-0.123751,-2.15093,-1.89,-0.553044,0.704564,0.488552,2.91373,7.18668,2.55133,6.01701,8.27614,6.94811,3.11726,8.74465,13.5361,-4.58964,-3.36996,-3.85033,-3.32356,-3.50612,-3.33536,-3.64983,-3.81295,11.4197,-13.5589,2.05122,-8.26959,8.06633,5.58947,3.05923,41.6005 --5.83385,0.993661,0.404623,3,7,0,15.2604,5.15515,2.21411,0.491124,-0.260122,1.6492,0.374865,1.01571,0.208292,0.229661,1.68464,6.24255,8.80665,7.40403,5.66364,4.57921,5.98514,5.61633,8.88512,-4.67896,-3.22478,-3.90294,-3.32421,-3.30831,-3.41953,-3.9883,-3.82428,2.72522,-1.84465,-1.74311,-10.126,-9.22509,-6.75462,3.43645,1.40013 --7.30526,0.98341,0.404623,3,7,0,9.90378,4.86141,3.45495,-0.0973797,0.31216,-1.47429,-0.727291,-0.758278,0.109512,-1.00238,-2.14003,4.52497,-0.232186,2.2416,1.39823,5.93991,2.34865,5.23977,-2.53228,-4.8516,-3.56037,-3.74519,-3.4465,-3.41346,-3.32435,-4.03564,-4.13522,6.40547,11.8272,-17.3152,-8.4042,15.5638,7.30214,10.9268,-4.5205 --9.50418,0.783363,0.404623,4,15,0,14.1482,2.90947,0.435225,0.848519,0.589481,-1.62907,-2.27073,-0.146633,0.929361,0.185146,-1.10191,3.27876,2.20046,2.84565,2.99005,3.16602,1.92119,3.31395,2.42989,-4.98508,-3.3897,-3.75827,-3.38328,-3.2233,-3.32034,-4.29992,-3.95065,-30.0133,8.56386,6.64322,-7.12761,27.4735,-13.4382,9.51995,-9.62674 --10.6168,0.649757,0.404623,3,15,0,15.521,-4.00391,2.6395,0.378352,0.849103,-1.84703,-1.65674,-0.386514,0.226274,0.112548,-0.659577,-3.00525,-8.87915,-5.02411,-3.70684,-1.7627,-8.37688,-3.40666,-5.74486,-5.76327,-4.64605,-3.69953,-3.79054,-3.11975,-3.68016,-5.51275,-4.29524,15.1625,-2.79738,9.19112,-19.9612,6.63475,-8.04769,7.5761,-12.7037 --8.57796,0.372743,0.404623,3,15,0,16.4632,5.00154,0.0528931,0.476781,-0.710837,-0.190049,1.15348,-0.901,-0.048113,-1.48164,-0.176695,5.02675,4.99148,4.95388,4.92317,4.96394,5.06255,4.99899,4.99219,-4.79981,-3.26678,-3.81509,-3.33466,-3.33572,-3.38503,-4.06665,-3.8851,10.0408,-20.3565,16.1825,-4.86692,-6.64484,35.153,-15.509,15.5971 --11.8631,0.828044,0.404623,3,7,0,14.6199,5.68963,0.195582,-0.779904,-1.47102,-1.13297,0.102551,-0.0549948,-0.500595,-3.07005,-0.656892,5.5371,5.46804,5.67888,5.08918,5.40193,5.70969,5.59173,5.56116,-4.74828,-3.25358,-3.83864,-3.33192,-3.36915,-3.40849,-3.99135,-3.87329,-3.94334,0.849955,-12.3827,-2.60483,-18.7976,10.7788,14.3967,-4.06251 --9.8168,0.967197,0.404623,4,23,0,13.5358,5.87501,1.32742,-0.230401,-1.4223,-1.49259,-0.434571,0.100637,-0.306298,-2.91654,-0.685138,5.56917,3.89371,6.00859,2.00353,3.98701,5.29815,5.46842,4.96554,-4.74508,-3.30583,-3.85003,-3.41999,-3.26968,-3.39317,-4.00673,-3.88567,15.8035,12.2129,15.4443,-8.73194,-14.6788,6.76588,17.5376,7.04234 --8.89511,0.93153,0.404623,3,15,0,15.4654,11.487,7.8145,-0.264698,-1.20606,-0.638742,-1.46323,0.653744,1.14673,-1.39507,1.54761,9.4185,6.49554,16.5957,0.585198,2.06223,0.0525993,20.4481,23.5808,-4.39426,-3.23284,-4.44151,-3.48687,-3.17405,-3.32054,-3.25149,-4.01628,-22.6912,-13.7329,26.6815,-0.332668,-1.04633,4.33461,20.5588,24.4542 --6.39052,0.83107,0.404623,2,7,0,12.4147,8.30319,7.91619,-0.0136219,-0.8232,-0.294666,-1.08414,0.532343,1.28667,-1.21218,1.62457,8.19536,5.97056,12.5173,-1.29267,1.78659,-0.279095,18.4887,21.1636,-4.4986,-3.24212,-4.16181,-3.601,-3.1641,-3.32359,-3.22272,-3.9389,4.15628,14.4255,19.2576,8.71371,-1.03493,-8.88449,-8.35181,14.7351 --7.86101,0.420799,0.404623,3,7,0,10.7537,4.23371,0.470146,-0.606781,0.0313251,0.723874,-0.559525,0.286828,1.04682,-1.62952,1.76386,3.94843,4.57404,4.36856,3.4676,4.24844,3.97065,4.72587,5.06298,-4.91249,-3.28021,-3.79757,-3.3684,-3.2862,-3.3533,-4.10254,-3.88357,-27.98,-9.0753,17.0165,-1.87417,-6.72983,-6.79364,-6.95052,0.486166 --6.17614,0.468998,0.404623,3,15,0,10.142,2.56597,6.81072,0.0553144,0.515212,0.566324,-1.19332,-0.27561,1.19918,-1.48921,1.3986,2.9427,6.42305,0.688869,-7.5766,6.07494,-5.56142,10.7332,12.0915,-5.02225,-3.23396,-3.7181,-4.19484,-3.42514,-3.49474,-3.48555,-3.80932,4.39879,-2.15785,-13.8757,-3.58289,5.62427,-9.1636,13.9379,3.13152 --6.24195,0.199949,0.404623,4,15,0,11.4848,2.21209,2.45194,1.18201,0.457154,0.891525,-0.85462,-0.341859,1.43492,-1.09532,1.51384,5.1103,4.39806,1.37387,-0.473578,3.33301,0.116613,5.73044,5.92395,-4.7913,-3.28639,-3.72889,-3.54764,-3.23206,-3.32006,-3.97423,-3.86628,-15.3133,5.50988,-29.73,3.47207,-6.18738,-6.73209,-5.63738,-12.5801 --6.14546,0.848736,0.404623,3,7,0,11.2569,5.3368,1.29263,-1.28258,0.77792,0.672995,1.3584,-0.36099,1.23685,-0.196333,0.175338,3.67891,6.20674,4.87018,5.08302,6.34237,7.09272,6.93559,5.56345,-4.94147,-3.2376,-3.8125,-3.33202,-3.44894,-3.47023,-3.83363,-3.87324,28.2156,-11.5216,21.0458,-14.6109,5.71571,-1.17155,9.12888,13.5257 --7.00511,0.576022,0.404623,3,15,0,11.0369,7.4973,4.39465,-1.28523,0.446398,1.07554,1.58965,-0.293013,0.928687,0.0993536,0.496466,1.84918,12.2239,6.20961,7.93393,9.45907,14.4832,11.5786,9.6791,-5.14669,-3.31073,-3.85719,-3.32044,-3.79142,-4.06806,-3.4277,-3.81762,36.8206,2.34706,-12.2747,20.2581,17.7025,4.63138,16.3772,18.5337 --5.96441,0.982811,0.404623,3,7,0,12.0276,4.22767,1.78257,1.53592,0.19172,-0.662851,0.208355,-0.151952,-1.35035,1.02619,-0.761122,6.96555,3.04609,3.95681,6.05692,4.56942,4.59908,1.82058,2.87092,-4.61021,-3.34423,-3.78605,-3.32051,-3.30764,-3.37036,-4.53039,-3.93792,-12.5134,19.9107,-8.22732,11.5079,29.168,-13.8196,0.867589,6.18061 --6.27747,0.903591,0.404623,3,15,0,11.3674,-1.41018,5.48046,0.855765,-0.111283,1.16991,0.261128,0.527472,2.21873,-1.06297,0.606117,3.2798,5.00146,1.4806,-7.23572,-2.02006,0.0209161,10.7495,1.91162,-4.98496,-3.26648,-3.73074,-4.15425,-3.12259,-3.32079,-3.48437,-3.96637,19.3026,15.9436,-10.2466,-14.8133,-21.3053,6.37572,8.9899,14.0245 --5.0479,0.701013,0.404623,3,7,0,10.1472,6.67964,3.98789,0.0441796,0.917957,-0.0457223,1.25815,-1.09445,0.385003,0.730016,0.244594,6.85583,6.49731,2.31511,9.59087,10.3404,11.697,8.21499,7.65506,-4.62049,-3.23281,-3.7467,-3.34457,-3.91001,-3.78967,-3.70026,-3.83844,7.67733,4.58523,-0.389857,0.83645,9.59903,-15.0833,-4.14455,15.0931 --3.83864,0.711655,0.404623,3,15,0,6.63591,1.49983,2.95419,0.279147,0.244481,0.655638,0.485963,-0.385435,0.995842,0.818786,1.05554,2.32449,3.43671,0.36118,3.91868,2.22207,2.93546,4.44174,4.61811,-5.09195,-3.32564,-3.71359,-3.35607,-3.18025,-3.33231,-4.14066,-3.8934,-12.6503,0.18858,-16.3465,1.21553,12.8594,12.7853,1.76918,53.6229 --5.455,0.522942,0.404623,2,7,0,12.553,0.3722,1.33632,-0.568057,0.527077,0.397226,0.515227,-1.02805,1.22261,0.596546,0.131304,-0.386906,0.90302,-1.00161,1.16938,1.07654,1.06071,2.006,0.547664,-5.41769,-3.47336,-3.69933,-3.45731,-3.14278,-3.31685,-4.50056,-4.01171,-5.99017,-2.74145,12.6005,6.5282,11.0381,18.9871,11.7086,-10.633 --6.08476,0.836186,0.404623,3,15,0,10.2339,-1.05481,9.91922,0.353008,-0.268637,-0.849845,-0.359414,0.295329,-0.0508024,-0.432168,-0.176464,2.44675,-9.48461,1.87463,-5.34157,-3.71948,-4.61991,-1.55873,-2.80519,-5.07803,-4.75008,-3.73794,-3.94623,-3.16181,-3.44734,-5.13424,-4.14757,0.917052,-7.61037,-11.069,-2.63965,-26.9054,-4.29684,-12.29,-12.8809 --6.6415,0.835277,0.404623,3,7,0,12.3514,3.17872,1.00862,1.06756,0.0476752,-0.290161,-1.9268,-0.0730433,0.998512,-1.17181,-0.0885082,4.25548,2.88606,3.10504,1.99681,3.2268,1.23531,4.18583,3.08945,-4.87988,-3.35229,-3.76432,-3.42027,-3.22645,-3.31706,-4.17568,-3.93184,-20.6926,-6.10113,15.5857,-6.0458,6.15506,-1.91923,9.59362,-13.158 --11.1654,0.913524,0.404623,3,7,0,15.5063,-3.86253,0.659891,0.945745,-0.317822,-0.484117,-1.29554,-1.54973,0.376035,-1.57822,0.325181,-3.23844,-4.18199,-4.88518,-4.90398,-4.07226,-4.71744,-3.61439,-3.64794,-5.79552,-3.96353,-3.69847,-3.90239,-3.17443,-3.45191,-5.55743,-4.18718,-25.6678,-5.06842,-37.3889,-18.0339,-10.2471,-10.0634,5.46596,-8.30884 --7.85711,1,0.404623,3,7,0,14.9675,5.21078,0.794011,2.01607,-0.608138,0.44722,-0.349082,-0.305041,-0.0610641,-1.99203,0.775013,6.81157,5.56588,4.96858,3.62909,4.72791,4.93361,5.1623,5.82615,-4.62465,-3.25115,-3.81555,-3.36379,-3.31869,-3.38077,-4.04556,-3.86813,8.14764,17.9987,-22.3602,25.9704,-10.8148,-4.60328,4.42073,-1.03954 --8.1939,0.644888,0.404623,3,15,0,14.1513,2.74247,0.117413,0.0601856,0.188595,-1.10654,-0.00604903,-0.580064,0.988603,0.751374,-1.58063,2.74954,2.61255,2.67436,2.83069,2.76461,2.74176,2.85855,2.55688,-5.04385,-3.36665,-3.75441,-3.38866,-3.20365,-3.32937,-4.36784,-3.94692,8.10289,8.19312,17.3345,-4.09034,-1.55093,-7.62997,-9.49504,5.33208 --7.90797,0.647209,0.404623,4,23,0,12.278,0.785334,0.727122,0.789367,-1.03815,0.16269,-1.48684,0.744214,0.410261,-0.88014,-1.48419,1.3593,0.903629,1.32647,0.145365,0.0304705,-0.29578,1.08364,-0.293851,-5.20416,-3.47332,-3.72809,-3.51099,-3.12272,-3.32377,-4.65234,-4.04255,10.534,-5.57008,12.2662,-3.45511,-4.91757,-12.798,14.8244,4.92902 --8.05868,0.893187,0.404623,4,15,0,12.0871,1.33991,6.34344,-0.318245,-1.82445,0.884311,-0.464914,1.40607,0.585818,-1.03538,-0.896523,-0.678863,6.94948,10.2592,-5.22795,-10.2334,-1.60925,5.05601,-4.34713,-5.45472,-3.22704,-4.0349,-3.9347,-3.64243,-3.34497,-4.05926,-4.2217,-10.1904,11.747,7.47157,-24.0754,-6.46556,0.499888,12.5464,-32.6906 --6.64853,1,0.404623,3,15,0,11.1305,9.02211,4.86092,1.50779,-0.0461729,-0.681416,0.959488,-0.514053,1.49438,-0.870874,1.15764,16.3514,5.70981,6.52334,4.78887,8.79767,13.6861,16.2862,14.6493,-3.92852,-3.24775,-3.86866,-3.33704,-3.70872,-3.98186,-3.23621,-3.82014,12.1878,-14.7721,-14.1967,15.7593,4.73912,11.5942,29.7295,-6.198 --9.46676,0.878972,0.404623,3,7,0,12.462,1.8583,0.992642,-1.13716,-1.41768,0.879259,-1.61145,-0.963721,-1.64785,1.0315,-0.149018,0.729505,2.73108,0.901665,2.88221,0.451042,0.258703,0.222573,1.71037,-5.27961,-3.36033,-3.72126,-3.3869,-3.12916,-3.3191,-4.80171,-3.9727,-15.2951,-12.6623,-10.604,-12.1577,13.1431,7.58114,-20.1184,-10.955 --6.17304,0.971266,0.404623,3,7,0,14.8053,0.0502921,4.01798,0.940565,0.499594,-0.426672,0.697165,-0.0957488,-1.30955,-0.197591,0.871902,3.82947,-1.66407,-0.334425,-0.743625,2.05765,2.85149,-5.21145,3.55358,-4.92524,-3.68849,-3.7054,-3.56462,-3.17387,-3.331,-5.91538,-3.91941,3.68233,0.892986,16.6028,7.05536,-6.87334,14.6726,-0.404911,9.33403 --3.98719,0.624734,0.404623,3,7,0,8.41804,5.03571,4.34348,0.912659,-0.991813,0.60098,0.131204,0.755393,1.72354,0.520374,0.159762,8.99983,7.64606,8.31675,7.29595,0.727789,5.60559,12.5219,5.72963,-4.42923,-3.22215,-3.94166,-3.3172,-3.13459,-3.40448,-3.37157,-3.86999,42.7521,9.16446,7.69315,11.6302,-1.47251,16.7888,14.1681,19.0511 --7.56405,0.711428,0.404623,4,23,0,10.8503,-0.127561,0.535606,0.0713352,0.95702,-0.192463,0.697529,-1.03598,-0.870929,-1.00101,0.993109,-0.0893537,-0.230646,-0.682439,-0.663708,0.385024,0.24604,-0.594036,0.404354,-5.38035,-3.56024,-3.70202,-3.55953,-3.128,-3.31918,-4.95021,-4.01681,-22.095,-5.10318,-17.5429,1.14702,8.94144,-7.06781,7.86936,19.5469 --8.2955,0.766849,0.404623,3,15,0,12.4428,11.133,1.82338,-0.350183,0.294216,-0.312073,-1.837,-0.187174,-0.111465,1.80654,-0.312846,10.4945,10.564,10.7917,14.427,11.6695,7.78347,10.9298,10.5626,-4.30797,-3.25439,-4.06303,-3.54477,-4.107,-3.50698,-3.47146,-3.8125,21.7637,27.9979,2.04606,3.63938,7.31162,-1.45975,-2.54564,-8.18608 --9.45171,0.592786,0.404623,3,15,0,14.2005,6.80583,0.152893,-1.60751,0.464687,-0.895693,-1.18189,-0.322536,-1.70244,0.409463,-0.515331,6.56005,6.66888,6.75651,6.86843,6.87687,6.62512,6.54554,6.72704,-4.64848,-3.23038,-3.87744,-3.31691,-3.49916,-3.44759,-3.87755,-3.85222,27.276,23.3447,29.8959,1.86107,9.67138,7.11094,0.62464,15.7951 --6.17883,0.886536,0.404623,3,7,0,13.1504,1.51345,1.43723,-0.345249,-0.795202,-0.457221,-1.5401,-0.65546,-0.303882,-1.19872,0.305066,1.01724,0.856314,0.5714,-0.209392,0.370559,-0.700025,1.0767,1.95189,-5.24492,-3.47668,-3.71644,-3.53161,-3.12776,-3.32878,-4.65351,-3.96512,6.88708,0.396001,1.1876,-0.748759,11.9433,-5.96554,6.72252,28.1928 --6.28433,0.929728,0.404623,3,7,0,11.2959,8.12136,0.870126,-0.473271,-1.43372,-0.237179,0.923759,0.504797,-0.589043,-0.9387,0.406404,7.70955,7.91498,8.56059,7.30457,6.87384,8.92514,7.60881,8.47498,-4.54188,-3.22156,-3.95256,-3.31722,-3.49886,-3.57637,-3.76141,-3.82849,33.9617,16.1484,0.191725,-4.05087,4.41937,12.756,9.52057,39.46 --4.40619,0.979576,0.404623,3,15,0,9.16107,-0.673848,7.43314,1.68969,0.490639,0.525511,-0.627636,0.42567,1.56807,1.04125,0.0607646,11.8859,3.23235,2.49022,7.06591,2.97314,-5.33916,10.9818,-0.222176,-4.20402,-3.33518,-3.7504,-3.31685,-3.21361,-3.48289,-3.4678,-4.03984,21.8495,-3.78644,5.14075,2.33894,1.96959,4.10531,9.45894,-4.68888 --10.8642,0.629718,0.404623,3,7,0,13.1659,0.490651,5.34038,2.47917,0.187072,0.581071,-1.23115,1.1498,2.11978,2.16575,1.55819,13.7304,3.59379,6.63101,12.0566,1.48968,-6.08418,11.8111,8.81199,-4.07948,-3.3186,-3.87269,-3.42249,-3.15443,-3.52421,-3.41304,-3.82499,13.6663,-1.83868,23.7032,2.78379,8.00456,-0.831074,50.8327,-22.1505 --8.80453,0.425271,0.404623,3,15,0,18.7949,1.07001,1.80895,2.31757,-0.610157,-1.12043,-0.10082,1.71028,-0.712596,0.368796,0.892596,5.26238,-0.956789,4.16381,1.73714,-0.0337358,0.887628,-0.219043,2.68466,-4.77588,-3.62264,-3.79176,-3.43129,-3.12193,-3.31689,-4.88119,-3.94322,-8.95816,2.49727,8.25548,0.507194,-5.20883,20.4201,-0.164955,22.4809 --6.56813,0.997139,0.404623,3,7,0,12.8654,2.70558,9.48791,1.15412,1.30355,1.16803,-0.656286,-0.852257,0.258271,-0.852829,-0.17069,13.6557,13.7877,-5.38055,-5.38598,15.0735,-3.52119,5.15603,1.08609,-4.08423,-3.38901,-3.7026,-3.95077,-4.71096,-3.4013,-4.04636,-3.99313,-18.029,11.1767,14.481,-19.7395,25.1778,-13.9516,-9.05085,21.8233 --6.69105,1,0.404623,3,7,0,8.52065,6.81505,1.23921,-1.03727,-0.770048,-1.05944,0.0842912,1.61643,0.42815,1.12738,0.145296,5.52966,5.50219,8.81814,8.2121,5.8608,6.9195,7.34562,6.9951,-4.74902,-3.25272,-3.96432,-3.3229,-3.40672,-3.46163,-3.7891,-3.84797,-15.7756,-1.56684,13.7573,13.9372,14.3676,-9.56451,6.23225,-12.851 --4.28387,0.993816,0.404623,3,7,0,8.99813,5.27378,3.63756,-0.177866,0.391462,-0.0510444,-0.338963,1.35213,-0.0643264,1.03873,0.419498,4.62678,5.0881,10.1922,9.05223,6.69775,4.04078,5.03979,6.79973,-4.84101,-3.26392,-4.03144,-3.33424,-3.48194,-3.35504,-4.06136,-3.85104,31.2327,-2.05047,31.0454,16.3722,20.3548,-0.350999,3.81161,-18.7921 --7.73588,0.810338,0.404623,4,23,0,9.98975,2.71893,6.60707,0.768509,0.176727,1.73069,-1.63404,0.0221104,2.51941,0.454933,0.844091,7.79653,14.1537,2.86502,5.72471,3.88658,-8.07726,19.3649,8.2959,-4.53406,-3.41087,-3.75871,-3.32355,-3.26356,-3.65732,-3.23084,-3.83048,-2.40502,37.4239,27.2395,12.1313,14.8805,-5.46111,14.6788,9.93232 --6.49079,0.702488,0.404623,5,55,0,11.7284,5.6894,2.36449,0.110144,0.0357397,-1.80176,1.30582,-0.801294,-0.0409176,-0.0440426,-1.31328,5.94983,1.42915,3.79475,5.58526,5.7739,8.77699,5.59265,2.58416,-4.70746,-3.4374,-3.7817,-3.3251,-3.39941,-3.56676,-3.99124,-3.94613,10.4521,-8.45042,4.3198,16.3021,23.4511,18.5006,-0.0659836,-15.3697 --3.50613,0.943137,0.404623,3,7,0,9.32826,5.60931,1.64426,0.548911,-0.0898585,-0.504763,-0.933471,0.177608,0.640282,-0.343663,0.247301,6.51186,4.77935,5.90134,5.04424,5.46156,4.07444,6.66209,6.01593,-4.65308,-3.27339,-3.84628,-3.33264,-3.37389,-3.35589,-3.86426,-3.86457,11.6049,19.7638,-3.70132,11.5092,5.30667,6.63709,13.2869,-14.4657 --4.29857,0.605878,0.404623,2,7,0,7.47863,4.52606,3.86944,1.68392,-0.430676,0.156223,-0.82833,-0.66519,0.91303,-0.0217584,1.35591,11.0419,5.13055,1.95214,4.44186,2.85958,1.32088,8.05898,9.77269,-4.26605,-3.26269,-3.73943,-3.34388,-3.20812,-3.31726,-3.71564,-3.81697,24.8868,4.91364,33.0465,12.5193,3.25518,-15.5363,6.70693,19.1658 --6.73603,0.292336,0.404623,3,7,0,9.80227,5.71694,8.09974,2.28853,-0.144606,-0.0670691,-1.12592,-1.034,1.28976,0.288645,1.86084,24.2534,5.1737,-2.6582,8.05489,4.54567,-3.40274,16.1636,20.7893,-3.65818,-3.26146,-3.69176,-3.32143,-3.30601,-3.39693,-3.23838,-3.92853,41.3699,-1.28341,-3.98619,12.5091,0.418203,-8.61197,27.5085,-15.5866 --6.47632,0.979845,0.404623,4,31,0,10.8929,6.14353,4.78351,2.18936,0.72734,0.163629,-1.47214,-1.04116,1.20535,-0.174916,0.840617,16.6163,6.92625,1.1631,5.30681,9.62277,-0.898491,11.9093,10.1646,-3.91496,-3.22729,-3.72538,-3.32868,-3.81273,-3.33173,-3.40701,-3.81451,15.2109,21.7913,-1.97399,-1.77024,16.715,-0.735972,33.8701,-24.1994 --8.28079,0.405438,0.404623,3,15,0,12.8509,2.81003,3.7955,-1.88756,-0.227021,-0.0772948,0.582537,1.23091,-0.916369,1.49724,-0.157179,-4.35421,2.51666,7.48196,8.49281,1.94837,5.02105,-0.668049,2.21346,-5.9532,-3.37186,-3.90612,-3.32604,-3.16982,-3.38365,-4.964,-3.95711,-27.0538,15.6175,3.82523,26.9522,-0.4046,2.77972,-9.01722,26.2137 --4.45968,0.857412,0.404623,3,7,0,9.82017,4.08963,4.77422,2.15697,-0.494914,0.271884,-0.548706,-1.15004,0.854284,-0.00886725,0.820066,14.3875,5.38767,-1.4009,4.0473,1.7268,1.46998,8.16817,8.00481,-4.03877,-3.25565,-3.69652,-3.35286,-3.16206,-3.31775,-3.70485,-3.83394,11.1581,3.90196,9.52354,-1.45734,18.8928,2.62841,11.0109,9.41513 --4.7382,0.651915,0.404623,3,15,0,10.9709,3.1361,10.7332,2.33948,-0.495055,0.367224,-0.318742,-0.568825,0.102471,0.798115,1.14162,28.2461,7.07758,-2.96919,11.7024,-2.17741,-0.285013,4.23595,15.3893,-3.62712,-3.22578,-3.69153,-3.40821,-3.12472,-3.32366,-4.16877,-3.82704,42.4092,24.7358,-9.79716,14.9537,11.5929,-12.3081,12.4364,48.3948 --3.41294,0.757029,0.404623,3,7,0,8.24687,2.76193,6.06453,1.40417,0.21846,0.822479,-1.16316,-0.0875019,0.568431,-0.0637247,0.607629,11.2775,7.74988,2.23127,2.37547,4.08679,-4.29208,6.20919,6.44691,-4.24841,-3.22184,-3.74498,-3.40521,-3.27589,-3.43256,-3.91664,-3.8569,29.6186,7.40548,13.3183,-2.93629,10.491,-2.16621,11.5938,17.8344 --4.94746,0.942653,0.404623,3,7,0,7.45387,6.99991,6.95316,0.642272,-0.921404,0.399878,-1.24393,-0.173145,1.28786,0.868869,-1.29009,11.4657,9.78033,5.79601,13.0413,0.593244,-1.64933,15.9546,-1.97026,-4.2345,-3.23737,-3.84264,-3.46765,-3.13183,-3.34584,-3.24244,-4.1105,-3.05223,22.7976,2.48851,19.628,-17.9666,4.18857,-3.25446,-2.25523 --5.89956,0.822696,0.404623,3,15,0,11.5946,3.49754,1.53968,-0.184344,0.922109,-0.695189,0.227311,0.319721,-1.02641,-0.48311,1.61396,3.21371,2.42717,3.98981,2.7537,4.91729,3.84753,1.91719,5.98253,-4.99223,-3.37681,-3.78695,-3.39134,-3.3323,-3.35034,-4.51481,-3.86519,-13.9263,6.91962,-13.0877,1.33261,1.0656,4.29742,23.9373,16.1385 --5.82526,0.990889,0.404623,4,15,0,9.53236,3.83653,3.99917,0.217021,-1.34495,-0.444982,0.921637,0.82247,1.25999,-0.679867,1.60197,4.70443,2.05698,7.12572,1.11763,-1.54214,7.52231,8.87543,10.2431,-4.83295,-3.39812,-3.89178,-3.45982,-3.11798,-3.49262,-3.63781,-3.81407,-0.710891,15.5668,-9.3604,9.46271,5.49402,18.8542,19.8838,2.87602 --4.72513,0.97654,0.404623,3,15,0,9.5823,3.31492,7.19633,0.222758,-0.715451,-0.715638,1.00544,-0.100498,1.53183,0.849697,1.06998,4.91796,-1.83505,2.5917,9.42962,-1.8337,10.5504,14.3385,11.0149,-4.81095,-3.70516,-3.7526,-3.34123,-3.12045,-3.69373,-3.28856,-3.81081,-1.69865,-3.2629,-0.0380946,22.6202,1.26321,3.30225,38.9614,-10.7498 --6.16645,0.922607,0.404623,3,7,0,8.68412,-1.16206,5.02341,0.189273,0.841857,0.635314,1.30187,-0.34574,1.58939,0.522786,1.58322,-0.21127,2.02938,-2.89885,1.4641,3.06693,5.37777,6.82207,6.7911,-5.3956,-3.39977,-3.69155,-3.44347,-3.21826,-3.39603,-3.84625,-3.85118,-17.8269,-3.22254,6.05115,12.3628,14.7799,-8.73217,0.256524,6.5378 --4.84331,0.999303,0.404623,3,7,0,9.22368,0.404838,6.69236,2.12689,-0.379241,-0.184091,1.14093,-0.682253,0.943026,0.566753,0.406131,14.6387,-0.827163,-4.16105,4.19776,-2.13318,8.04038,6.71591,3.12281,-4.02371,-3.61112,-3.69416,-3.34928,-3.12409,-3.52166,-3.85818,-3.93092,7.83058,-16.4201,-17.4696,0.236482,-6.43913,9.52834,-4.20446,6.08734 --5.22424,0.67172,0.404623,4,15,0,10.5094,9.75345,3.53969,-0.861761,-0.0289872,-0.209463,-0.833416,-0.187833,-0.0973839,0.12988,-1.25614,6.70309,9.01202,9.08858,10.2132,9.65085,6.80342,9.40874,5.30712,-4.6349,-3.22664,-3.97694,-3.3595,-3.81641,-3.45601,-3.59057,-3.87844,30.18,2.32765,12.7861,4.92251,8.3676,23.6934,-6.86112,10.7317 --9.35,0.903776,0.404623,3,7,0,12.3595,2.36266,0.486798,-1.24188,1.9001,-0.202474,-1.7051,-1.39492,0.188054,-0.474049,0.342217,1.75812,2.2641,1.68362,2.1319,3.28762,1.53262,2.45421,2.52925,-5.15729,-3.38603,-3.73437,-3.41476,-3.22964,-3.31801,-4.42988,-3.94773,11.9729,12.2887,-12.7387,-16.5214,-0.707997,13.6754,8.99782,20.6602 --6.4172,0.312608,0.404623,4,31,0,12.6552,6.8344,5.17652,1.32045,-1.00467,0.352789,1.18838,1.16896,-0.720712,0.563448,-0.767634,13.6697,8.66063,12.8856,9.75111,1.63372,12.9861,3.10362,2.86073,-4.08334,-3.22371,-4.1844,-3.34811,-3.15898,-3.91049,-4.33103,-3.93821,42.7399,-2.66765,26.9452,25.0044,-1.06826,16.6245,-8.75295,15.6847 --4.86207,0.455425,0.404623,4,15,0,10.0433,1.40497,3.78751,2.2485,0.0890999,-0.20145,-0.19848,0.145916,0.605777,-0.818548,0.234574,9.92118,0.641975,1.95763,-1.69529,1.74244,0.653223,3.69936,2.29342,-4.35331,-3.49223,-3.73953,-3.62926,-3.16259,-3.31733,-4.24407,-3.95471,3.05023,2.44015,15.7319,5.98619,-12.7338,-18.5806,1.12301,25.864 --5.64817,0.871295,0.404623,4,31,0,10.4842,8.08787,5.7036,0.18743,0.450001,-0.635239,-1.85727,0.983327,0.361199,0.159786,0.192867,9.15689,4.46472,13.6964,8.99922,10.6545,-2.50523,10.148,9.1879,-4.41602,-3.28401,-4.236,-3.33335,-3.9546,-3.3676,-3.52979,-3.82151,-16.54,25.4034,15.7606,-5.42608,14.5234,3.6862,14.6046,7.17176 --4.32909,0.96144,0.404623,4,15,0,9.69426,2.76447,5.22487,0.981196,-0.933936,-0.61534,1.31544,-0.149277,0.868497,0.728402,0.665951,7.8911,-0.450603,1.98452,6.57028,-2.11523,9.63747,7.30226,6.24399,-4.52558,-3.57859,-3.74005,-3.3176,-3.12384,-3.62512,-3.79373,-3.86044,11.5625,-4.57548,18.3947,-6.13226,19.9288,9.22466,2.88581,10.3839 --5.56933,0.905116,0.404623,3,15,0,7.26656,7.14552,2.01005,-0.552904,0.197336,0.740979,-1.4446,-0.327585,0.188753,-0.689857,-1.34878,6.03415,8.63492,6.48705,5.75887,7.54217,4.24179,7.52492,4.43439,-4.69921,-3.22354,-3.86732,-3.3232,-3.56659,-3.36026,-3.77016,-3.89764,-10.6676,10.0621,15.1546,11.7419,9.00603,2.9219,9.53321,31.5427 --4.67517,0.975735,0.404623,3,7,0,9.31839,3.7994,7.04783,1.88312,-0.49078,-0.45648,-0.153744,1.11633,0.954296,0.0568645,-1.00063,17.0713,0.582209,11.6671,4.20017,0.340467,2.71584,10.5251,-3.2529,-3.8924,-3.49664,-4.11169,-3.34923,-3.12725,-3.329,-3.50089,-4.16834,-2.39961,8.79583,11.9881,-16.8918,2.27272,2.28564,12.3389,15.1784 --3.78079,0.730889,0.404623,3,7,0,7.4308,4.36435,1.54186,0.562182,-0.715663,-0.590051,0.572552,-0.736921,0.503947,0.536589,0.0190118,5.23115,3.45457,3.22812,5.19169,3.2609,5.24714,5.14136,4.39366,-4.77903,-3.32483,-3.76729,-3.33035,-3.22823,-3.39137,-4.04825,-3.89859,-9.77124,8.41137,-14.8476,-13.0203,16.2801,-2.99701,-6.35099,5.141 --4.82642,0.963222,0.404623,3,7,0,7.74443,5.94954,1.64679,-0.112867,0.281763,0.340856,-1.03052,1.43511,0.427422,0.543314,-0.546422,5.76368,6.51086,8.31286,6.84427,6.41355,4.2525,6.65342,5.0497,-4.72578,-3.23261,-3.94149,-3.31693,-3.45543,-3.36055,-3.86525,-3.88386,21.1943,8.20181,-11.1724,-6.87264,-12.7993,26.9108,3.39474,36.7435 --5.15527,0.949648,0.404623,3,15,0,8.40115,1.52588,7.30929,0.680113,-0.767677,-0.0755018,0.751029,-1.89223,0.496856,-0.447048,0.777995,6.49702,0.974016,-12.305,-1.74172,-4.08529,7.01537,5.15754,7.21247,-4.6545,-3.46835,-3.86063,-3.63261,-3.17492,-3.46636,-4.04617,-3.84468,0.863583,-7.18099,-42.8545,16.9965,-11.8416,7.82303,10.0567,10.7663 --4.95451,0.974079,0.404623,3,7,0,6.86961,1.38534,4.31882,0.391926,-0.487446,-0.307945,0.681273,-1.91935,0.846482,-0.119841,0.760914,3.07799,0.0553775,-6.90398,0.867768,-0.719853,4.32763,5.04114,4.67159,-5.00723,-3.53711,-3.72129,-3.47222,-3.11665,-3.36259,-4.06118,-3.89219,-30.0387,14.6796,-0.47411,6.58147,9.83851,15.429,2.33827,21.7442 --3.97497,0.966479,0.404623,3,7,0,8.58764,5.92695,5.61376,-0.541626,-0.404212,-0.622219,-0.241861,0.324646,1.74057,0.318868,0.435559,2.88639,2.43396,7.74944,7.717,3.6578,4.5692,15.6981,8.37208,-5.02853,-3.37643,-3.91721,-3.31896,-3.25008,-3.36948,-3.24802,-3.82962,6.07766,17.0683,-5.73375,1.45581,18.3221,11.9291,-3.31326,2.91356 --5.73384,0.96761,0.404623,3,7,0,7.72402,6.34412,2.17788,0.418256,0.337062,0.74523,-1.0061,1.10882,-1.32422,-0.62878,0.530419,7.25503,7.96714,8.759,4.97471,7.0782,4.15297,3.46014,7.49931,-4.58333,-3.22153,-3.96159,-3.33378,-3.51899,-3.35791,-4.27856,-3.84057,-3.70813,14.1981,-38.9975,10.5785,17.7983,22.5025,21.4202,22.8029 --6.6899,0.834273,0.404623,3,15,0,12.1063,1.36533,5.52363,2.17759,-0.940709,-0.0343712,-0.318054,-1.44687,2.13579,0.617225,-0.249379,13.3935,1.17547,-6.62667,4.77465,-3.8308,-0.391486,13.1626,-0.0121547,-4.1011,-3.45439,-3.71722,-3.3373,-3.16563,-3.32483,-3.33852,-4.03198,-10.6328,10.133,-9.85439,11.1506,-11.1209,5.87147,29.773,19.8188 --4.47898,1,0.404623,3,7,0,10.0259,8.34938,8.95719,1.47135,-0.61232,-0.699749,0.270649,0.42019,0.918941,0.100932,-0.835778,21.5285,2.0816,12.1131,9.25345,2.86472,10.7736,16.5805,0.863166,-3.72006,-3.39666,-4.13763,-3.33782,-3.20836,-3.71156,-3.2316,-4.00071,40.191,19.4975,32.2271,-3.44785,-11.7166,-5.42171,21.3956,-19.7561 --3.85685,0.977138,0.404623,3,15,0,6.42387,6.56672,4.62352,1.65738,-0.99852,0.0499028,-0.120833,0.128507,1.4401,-0.234964,0.101126,14.2296,6.79745,7.16088,5.48036,1.95004,6.00805,13.225,7.03428,-4.04837,-3.22875,-3.89317,-3.32638,-3.16988,-3.42047,-3.33552,-3.84736,8.23539,9.85691,11.1725,-1.33346,-15.9132,2.26579,6.26499,42.8667 --5.87632,0.893979,0.404623,3,7,0,8.15582,7.20221,4.07921,-0.674616,-0.530156,0.92983,-0.0203748,1.69114,1.34282,0.181326,-0.525628,4.45031,10.9952,14.1007,7.94188,5.03959,7.1191,12.6798,5.05807,-4.85941,-3.26638,-4.26269,-3.3205,-3.34133,-3.47156,-3.36304,-3.88368,1.22971,26.3482,-1.09097,-11.9612,7.84585,28.6309,15.5511,-13.5221 --6.62492,0.989531,0.404623,4,31,0,9.94198,5.33998,2.17143,-1.07809,0.275264,0.40348,-0.35031,1.80637,1.65341,0.330223,-0.739574,2.99898,6.21611,9.26238,6.05704,5.9377,4.57931,8.93024,3.73405,-5.01599,-3.23743,-3.98521,-3.32051,-3.41327,-3.36977,-3.63283,-3.91475,19.557,-3.06633,-23.4788,3.0426,12.5181,7.17811,12.3388,8.01709 --7.19566,0.981266,0.404623,3,15,0,11.6733,5.17339,4.04117,1.14384,-0.187852,1.30932,-0.886327,0.132981,-1.49087,1.6476,0.550435,9.79585,10.4646,5.71079,11.8316,4.41425,1.59159,-0.851469,7.39779,-4.36341,-3.25189,-3.83973,-3.4133,-3.29711,-3.31828,-4.99841,-3.842,27.9116,-2.90033,-3.44525,10.8422,3.33578,-31.6596,10.3758,3.40218 --8.21911,0.317803,0.404623,4,15,0,13.3666,6.88429,3.70795,0.103917,0.243417,1.13418,-1.00704,0.449293,-1.89505,1.70022,0.22324,7.26961,11.0898,8.55025,13.1886,7.78687,3.15024,-0.14245,7.71206,-4.58199,-3.26926,-3.95209,-3.4751,-3.59276,-3.33594,-4.86727,-3.83768,11.3442,7.79975,28.6886,35.7497,-6.52368,-14.6056,-16.9917,5.56779 --8.21911,6.88214e-05,0.404623,2,3,0,14.0084,6.88429,3.70795,0.103917,0.243417,1.13418,-1.00704,0.449293,-1.89505,1.70022,0.22324,7.26961,11.0898,8.55025,13.1886,7.78687,3.15024,-0.14245,7.71206,-4.58199,-3.26926,-3.95209,-3.4751,-3.59276,-3.33594,-4.86727,-3.83768,-7.57545,4.87334,11.2422,10.089,30.0084,23.342,24.443,6.92805 --6.47931,0.998696,0.404623,3,7,0,12.1225,8.40172,1.67607,-0.0808645,0.531463,-0.262424,-0.510307,-0.332924,2.31215,0.630156,0.478563,8.26619,7.96188,7.84372,9.45791,9.29249,7.54641,12.2771,9.20383,-4.49237,-3.22153,-3.92119,-3.3418,-3.77009,-3.49392,-3.38528,-3.82138,2.66569,12.184,9.1177,22.6323,3.34182,17.0284,14.7101,11.4766 --8.41711,0.971404,0.404623,3,7,0,11.3616,7.14775,1.54288,0.0423064,-0.285105,-0.867581,-0.947431,0.682167,3.04354,-0.172594,0.421047,7.21303,5.80918,8.20026,6.88146,6.70787,5.68598,11.8436,7.79738,-4.58721,-3.24552,-3.93654,-3.31689,-3.4829,-3.40757,-3.41103,-3.83657,9.23861,3.17006,5.60593,-8.86457,6.67294,4.32632,21.6189,15.5888 --10.6479,0.542833,0.404623,5,47,0,17.4446,8.75962,1.28807,-1.81155,-0.671823,1.59633,-1.0838,0.885811,2.37198,-0.448799,0.0329129,6.42622,10.8158,9.90061,8.18154,7.89427,7.36361,11.8149,8.80202,-4.66127,-3.26117,-4.01658,-3.3226,-3.60448,-3.48417,-3.4128,-3.82509,-18.2283,0.956567,58.6602,17.6869,-7.55352,7.31562,20.5042,-6.60139 --4.23181,1,0.404623,3,7,0,12.0106,4.84069,6.995,0.556811,0.693018,-0.32401,0.379838,0.470203,-0.303856,0.617731,-0.706851,8.73558,2.57424,8.12976,9.16172,9.68835,7.49766,2.71522,-0.10373,-4.4517,-3.36872,-3.93346,-3.33614,-3.82135,-3.49129,-4.38965,-4.03539,8.74038,-1.83183,-25.9114,13.4438,3.24101,13.8907,10.5203,-8.16016 --8.0549,0.775604,0.404623,3,7,0,10.3726,8.77038,0.97741,0.210408,-1.06477,-0.878612,0.747944,-2.26782,0.900081,0.16159,0.409594,8.97604,7.91162,6.55379,8.92832,7.72966,9.50143,9.65013,9.17072,-4.43124,-3.22156,-3.8698,-3.3322,-3.58658,-3.61549,-3.57013,-3.82166,-1.52133,4.155,-17.4092,8.5937,-2.43069,12.8119,0.314872,13.0803 --6.47147,0.754545,0.404623,3,7,0,18.1299,0.781066,2.35573,-0.216085,0.516815,1.08889,-0.270405,-0.147925,1.55252,-1.56989,-0.876688,0.272028,3.3462,0.432594,-2.91716,1.99854,0.144065,4.43838,-1.28417,-5.33552,-3.32981,-3.71454,-3.72324,-3.17166,-3.31986,-4.14111,-4.08164,-30.9101,-0.987351,11.3298,13.2603,7.19626,0.950377,5.35274,-2.9031 --2.79756,0.956047,0.404623,3,7,0,9.04508,6.8404,4.36995,0.58353,-0.192618,0.530755,-0.186937,0.523426,0.147738,-0.531708,-0.227056,9.3904,9.15977,9.12775,4.51686,5.99867,6.0235,7.48601,5.84818,-4.39658,-3.22825,-3.9788,-3.34231,-3.41852,-3.42111,-3.77424,-3.86771,2.78546,-0.560833,13.2936,-5.63263,-4.47663,8.8246,15.9521,-5.61671 --4.05708,0.565008,0.404623,3,7,0,6.587,6.74274,1.28664,0.666944,-0.431897,0.646043,-0.184375,0.320133,0.398808,-0.955611,-0.0980765,7.60085,7.57396,7.15463,5.51321,6.18704,6.50551,7.25586,6.61655,-4.55171,-3.22243,-3.89293,-3.32597,-3.43501,-3.44208,-3.79871,-3.85403,22.3624,6.64819,19.4835,6.01702,18.6667,11.3409,6.66054,7.30597 --7.10276,0.85934,0.404623,3,7,0,8.84306,2.2129,6.53203,-1.35485,-0.988984,0.555304,0.115552,-0.480266,-1.08358,0.0110199,0.155788,-6.63706,5.84016,-0.924216,2.28488,-4.24718,2.96768,-4.86508,3.23051,-6.29305,-3.24485,-3.69994,-3.4087,-3.18125,-3.33283,-5.83558,-3.92799,-14.1509,-8.31662,-28.5804,1.48308,1.93046,3.45483,7.87207,-18.4928 --9.63333,0.952515,0.404623,3,7,0,12.5219,7.33307,0.187511,0.530101,1.47137,-1.44195,-0.565557,1.39845,-0.595014,0.239224,1.32932,7.43247,7.06269,7.5953,7.37793,7.60897,7.22702,7.2215,7.58233,-4.56704,-3.22592,-3.91079,-3.31742,-3.57366,-3.47706,-3.8024,-3.83943,-15.4096,21.297,-16.3349,9.51875,12.0108,1.17058,-10.8054,22.0126 --9.47001,0.972126,0.404623,3,7,0,14.8514,4.95371,3.71188,-0.779143,1.12309,-0.900559,1.26192,1.91961,-0.508963,1.00048,1.43378,2.06163,1.61095,12.0791,8.66739,9.12248,9.63781,3.0645,10.2757,-5.1221,-3.42562,-4.13563,-3.32832,-3.74866,-3.62515,-4.33687,-3.8139,15.936,-0.139161,28.7263,6.69072,13.2012,17.755,8.21879,6.73271 --10.0231,0.998731,0.404623,3,7,0,15.5634,0.0147585,0.756786,-0.166526,-0.904897,1.44473,1.58429,2.26949,0.151043,0.841247,-0.241884,-0.111266,1.10811,1.73227,0.651402,-0.670055,1.21373,0.129066,-0.168296,-5.38308,-3.45901,-3.73527,-3.48338,-3.11684,-3.31702,-4.81838,-4.03781,-13.9955,-4.97614,14.3811,-0.903628,8.85237,-3.36246,-4.96789,-8.01378 -# -# Elapsed Time: 0.023495 seconds (Warm-up) -# 0.004659 seconds (Sampling) -# 0.028154 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-3.csv b/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-3.csv deleted file mode 100644 index 76fd479175..0000000000 --- a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-3.csv +++ /dev/null @@ -1,648 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 20 -# stan_version_patch = 0 -# model = stan_test_data_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 500 -# save_warmup = 1 -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 3 -# data -# file = /tmp/tmp2ipdytqf/x8rvpwpf.json -# init = 2 (Default) -# random -# seed = 31709 -# output -# file = /tmp/tmp2ipdytqf/stan_test_data-202102230057-3-rh2l2pkd.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,eta.1.1,eta.2.1,eta.1.2,eta.2.2,eta.1.3,eta.2.3,eta.1.4,eta.2.4,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 --9.69072,1.84804e-13,2,1,1,0,14.9553,1.6499,0.203791,-0.536572,0.523297,0.118934,0.175504,-1.9843,-1.70525,1.27199,0.07893,1.54056,1.67414,1.24552,1.90913,1.75655,1.68567,1.30239,1.66599,-5.18277,-3.42161,-3.72673,-3.42393,-3.16307,-3.31878,-4.61557,-3.97411,13.4694,-21.2925,-4.12945,3.79621,14.2354,-20.8889,4.40736,3.46646 --9.69072,3.26461e-34,2.33506,1,1,0,14.4284,1.6499,0.203791,-0.536572,0.523297,0.118934,0.175504,-1.9843,-1.70525,1.27199,0.07893,1.54056,1.67414,1.24552,1.90913,1.75655,1.68567,1.30239,1.66599,-5.18277,-3.42161,-3.72673,-3.42393,-3.16307,-3.31878,-4.61557,-3.97411,1.08706,-3.12027,6.03691,-12.5055,-5.32172,-22.3008,6.63884,9.13731 --9.11559,0.993168,0.230236,4,31,0,13.9838,4.64278,0.0629857,0.772733,1.22283,0.454491,-0.491118,1.05547,1.34281,-0.830319,-0.666555,4.69145,4.67141,4.70926,4.59048,4.7198,4.61185,4.72736,4.6008,-4.8343,-3.27692,-3.80761,-3.34082,-3.31811,-3.37074,-4.10234,-3.8938,33.9296,-4.88605,28.1339,8.14029,5.19936,-13.8322,2.29479,-13.3486 --8.34147,0.995418,0.235466,4,31,0,13.6655,-0.217878,0.551173,-0.840547,-1.2629,-0.556233,0.284764,-0.860767,-1.43081,0.908144,0.570164,-0.681165,-0.524458,-0.692309,0.282666,-0.913953,-0.060924,-1.0065,0.0963809,-5.45501,-3.58486,-3.70193,-3.50329,-3.11621,-3.32148,-5.02776,-4.02798,-23.0125,18.3147,30.7099,-1.77747,3.44171,9.11989,-8.2306,-1.16107 --8.98992,0.982266,0.313926,4,15,0,13.0315,2.45071,2.68701,3.44678,1.37144,0.677356,-0.127343,-0.324484,0.485461,-0.0363097,-0.248848,11.7122,4.27078,1.57882,2.35315,6.13578,2.10854,3.75515,1.78206,-4.21652,-3.29106,-3.73248,-3.40606,-3.43048,-3.32191,-4.2361,-3.97043,5.90238,-2.97616,32.3125,13.2996,11.5024,22.5604,4.89491,28.493 --13.3678,0.814525,0.46499,3,7,0,16.2347,2.00313,1.84462,3.27535,2.58451,1.12184,0.0248472,0.606644,-1.29807,-0.163008,-0.173904,8.0449,4.0725,3.12216,1.70244,6.77057,2.04897,-0.391307,1.68235,-4.51189,-3.29865,-3.76473,-3.4328,-3.48889,-3.32138,-4.91272,-3.97359,-25.199,14.4277,17.6019,9.0484,2.66432,8.58527,-4.79471,33.8942 --6.43411,0.993713,0.447514,3,7,0,15.8618,1.05475,6.06683,-0.855955,-1.14255,-0.709084,-0.0150803,-1.23252,1.10032,1.17829,0.757552,-4.13818,-3.24714,-6.42273,8.20324,-5.8769,0.963265,7.7302,5.65069,-5.92224,-3.85401,-3.71441,-3.32282,-3.26298,-3.31684,-3.74887,-3.87152,1.12165,-3.45332,-29.8432,-7.51286,-11.2663,9.99822,12.1055,18.1449 --9.77478,0.565636,0.776767,2,3,0,12.3781,0.856063,4.37467,-0.546908,-1.47767,-2.27539,-0.299753,-1.15169,1.50238,-0.113867,1.14189,-1.53648,-9.098,-4.18219,0.357935,-5.60825,-0.455255,7.42849,5.85144,-5.56566,-4.68323,-3.69426,-3.49914,-3.24725,-3.32558,-3.78031,-3.86765,1.71584,-0.97172,-5.67895,3.67206,0.063225,3.29117,14.007,-19.3012 --6.40919,1,0.362832,4,15,0,12.8212,0.975263,1.41956,-1.06589,0.423469,-0.327538,-0.133909,0.382999,1.39946,-1.49896,0.131866,-0.537823,0.510304,1.51895,-1.15259,1.5764,0.785172,2.96187,1.16245,-5.43678,-3.502,-3.73141,-3.59148,-3.15714,-3.31702,-4.35225,-3.99056,0.896996,-14.7201,7.3668,-5.27145,0.471389,-5.08173,-2.30738,23.8762 --5.69692,0.971888,0.671478,3,7,0,8.62038,-0.163838,4.52898,0.347273,0.617647,0.0985786,-0.279117,-0.688254,2.42507,-0.437923,0.840578,1.40895,0.282622,-3.28093,-2.14718,2.63348,-1.42795,10.8193,3.64313,-5.19829,-3.51931,-3.69168,-3.66258,-3.19766,-3.34119,-3.47934,-3.91708,41.3348,-8.00531,-27.0547,-10.2033,-3.33724,3.83071,16.1757,11.4939 --5.69692,0.000424931,1.15204,2,7,0,9.27444,-0.163838,4.52898,0.347273,0.617647,0.0985786,-0.279117,-0.688254,2.42507,-0.437923,0.840578,1.40895,0.282622,-3.28093,-2.14718,2.63348,-1.42795,10.8193,3.64313,-5.19829,-3.51931,-3.69168,-3.66258,-3.19766,-3.34119,-3.47934,-3.91708,-7.05324,8.39841,5.69437,1.83605,5.35618,-7.52349,3.21624,18.3863 --11.12,0.98487,0.0924002,5,47,0,15.6592,2.5103,0.0164366,-0.0220643,-0.843658,-0.179379,-0.180067,0.644719,-2.4845,0.00310937,-0.266681,2.50994,2.50735,2.5209,2.51035,2.49643,2.50734,2.46946,2.50592,-5.07086,-3.37237,-3.75106,-3.40013,-3.19163,-3.32622,-4.42751,-3.94841,9.87036,-13.2991,-11.7573,-3.16541,4.74593,5.44142,-1.20197,22.9461 --10.0422,0.995863,0.16774,4,31,0,14.507,3.70103,0.0144212,-0.271738,-0.853817,-0.555536,-0.789274,0.511747,0.127443,1.81362,0.306775,3.69711,3.69301,3.70841,3.72718,3.68871,3.68964,3.70286,3.70545,-4.9395,-3.31427,-3.77942,-3.3611,-3.25187,-3.34673,-4.24356,-3.91548,46.7307,5.80122,-6.00021,0.829266,-5.34904,2.7876,-14.2602,-10.3227 --6.17545,0.961286,0.31563,3,15,0,15.6782,4.75357,0.553388,0.102245,-0.529393,-2.03925,0.333612,-0.310714,0.0648779,-0.326367,-0.449341,4.81015,3.62508,4.58163,4.57297,4.46061,4.93819,4.78948,4.50491,-4.82203,-3.31722,-3.80379,-3.34117,-3.30023,-3.38092,-4.09411,-3.896,4.35903,-16.671,-6.97175,0.912668,12.6381,-2.67451,1.44347,-12.0848 --12.7043,0.847179,0.531893,3,7,0,15.2578,5.58824,0.248467,1.67246,-2.65811,0.58585,0.325665,0.464695,0.0484529,-2.44327,-0.240413,6.00379,5.7338,5.7037,4.98117,4.92779,5.66916,5.60028,5.5285,-4.70217,-3.2472,-3.83949,-3.33368,-3.33307,-3.40692,-3.99029,-3.87394,-6.02912,11.8718,22.7095,10.6912,12.5316,7.22766,-0.348571,-1.60434 --14.418,0.532538,0.62711,2,7,0,20.7842,4.58157,0.103017,0.100355,-1.91168,-1.64658,1.72099,0.0911791,-0.413297,-2.26672,1.87082,4.59191,4.41195,4.59097,4.34806,4.38464,4.75886,4.539,4.7743,-4.84463,-3.28589,-3.80407,-3.34589,-3.29514,-3.37522,-4.12752,-3.88988,-22.3621,9.10234,-17.925,-4.30149,19.344,2.51361,3.20974,12.3856 --9.23273,0.996026,0.280716,3,7,0,16.4724,4.58872,0.187046,-0.230327,-1.63735,-1.15818,0.628557,-0.144249,-0.245908,-1.71487,1.21871,4.54564,4.37208,4.56174,4.26796,4.28246,4.70629,4.54272,4.81667,-4.84945,-3.28733,-3.80321,-3.34768,-3.28841,-3.3736,-4.12702,-3.88894,-4.98579,13.1141,-9.24072,23.5491,11.7536,7.44761,6.70179,-2.70272 --11.7122,1,0.524518,3,7,0,13.022,4.1274,0.0146127,0.434022,1.7294,0.814941,-0.750951,0.0745528,0.153963,1.32801,-1.61875,4.13374,4.13931,4.12849,4.1468,4.15267,4.11643,4.12965,4.10374,-4.89276,-3.29605,-3.79078,-3.35047,-3.28005,-3.35697,-4.18346,-3.90553,4.97158,7.69737,7.26865,5.36706,-8.29434,17.8631,-8.20963,-5.86189 --11.484,0.654856,0.983819,2,4,1,17.652,5.50324,0.132735,1.99319,1.50293,0.751567,-0.348928,0.933949,0.0751853,1.65333,-1.48727,5.76781,5.603,5.62721,5.72269,5.70273,5.45693,5.51322,5.30583,-4.72537,-3.25025,-3.8369,-3.32358,-3.39349,-3.39892,-4.00112,-3.87846,3.1065,11.9827,-14.2743,18.5375,1.98914,16.1902,-8.66429,30.5555 --7.37911,0.974624,0.647895,3,7,0,16.126,2.5922,1.96059,-1.84968,-0.973937,-0.31068,0.26293,-0.899811,-1.09372,-0.875447,0.639155,-1.03427,1.98308,0.828036,0.875805,0.682705,3.1077,0.447861,3.84532,-5.5003,-3.40254,-3.72015,-3.47182,-3.13364,-3.33519,-4.76191,-3.91193,-4.87418,-3.8566,-9.19444,0.0281487,-7.49222,13.019,-3.41541,-16.6616 --6.57383,0.548601,1.11527,2,3,0,11.0991,2.77688,1.21631,0.306261,-0.997409,1.51372,0.63778,-0.704534,1.2779,0.96095,-0.953689,3.14938,4.61803,1.91995,3.94569,1.56372,3.55261,4.3312,1.6169,-4.99933,-3.27871,-3.7388,-3.35538,-3.15674,-3.34376,-4.1557,-3.97568,21.985,-2.88667,-5.64811,7.72375,-0.0886215,8.35262,1.57681,11.8231 --5.61079,0.887017,0.540194,3,7,0,12.7849,0.700931,1.60022,-0.136256,1.19922,-0.442595,-0.218489,0.198394,-1.08543,-0.509311,0.37383,0.482892,-0.0073171,1.0184,-0.114077,2.61994,0.351302,-1.03599,1.29914,-5.30964,-3.54211,-3.72307,-3.52597,-3.19705,-3.31857,-5.03337,-3.98602,18.4907,10.9864,-6.76229,-3.18682,7.7114,9.54719,2.53308,11.9999 --8.96953,0.626116,0.714574,2,7,0,13.6591,3.71141,1.95072,0.561124,-1.2971,-2.37203,1.7511,-0.633653,0.289252,0.634965,1.07419,4.80601,-0.915766,2.47533,4.95005,1.18112,7.12732,4.27566,5.80686,-4.82246,-3.61898,-3.75008,-3.3342,-3.14553,-3.47197,-4.16331,-3.8685,9.21582,-3.60954,-2.08234,17.8242,-5.57356,12.626,-3.08393,-9.90753 --8.4091,0.992201,0.440864,4,23,0,13.6795,8.22904,0.921885,0.344089,0.120023,1.73829,-2.24575,-0.147299,0.21371,-0.638113,-0.854615,8.54625,9.83155,8.09325,7.64078,8.33969,6.15872,8.42606,7.44119,-4.46798,-3.2383,-3.93188,-3.31853,-3.65462,-3.4268,-3.67983,-3.84138,-6.76583,14.874,1.82151,-4.11022,10.8122,-7.55549,-14.8459,3.79299 --8.70432,0.338189,0.787812,2,3,0,14.4454,7.52566,3.76189,0.905506,-0.397497,2.48258,-1.5398,0.245659,-0.854101,1.1191,0.174608,10.9321,16.8649,8.4498,11.7356,6.03032,1.73311,4.31262,8.18251,-4.27435,-3.61445,-3.94758,-3.4095,-3.42126,-3.31905,-4.15825,-3.8318,7.15691,6.42623,8.93082,6.30209,-5.21444,-17.0431,5.90423,32.1858 --5.34721,0.985642,0.215185,4,15,0,14.4219,7.79522,6.47326,1.16247,-1.59383,-0.191673,1.05579,0.605281,1.16047,-0.0887132,0.0587184,15.3202,6.55447,11.7134,7.22095,-2.52203,14.6296,15.3072,8.17531,-3.98427,-3.23197,-4.11435,-3.31704,-3.13046,-4.08446,-3.25778,-3.83188,11.1164,10.2663,0.252593,10.0726,-4.53342,16.1396,3.08866,10.3299 --13.5335,0.784077,0.376194,3,15,0,19.2302,6.87735,0.431925,-0.790883,0.116236,-1.56145,-2.61513,-2.45391,-1.11594,1.16215,-0.408887,6.53575,6.20292,5.81744,7.37931,6.92755,5.74781,6.39535,6.70074,-4.6508,-3.23767,-3.84338,-3.31743,-3.5041,-3.40998,-3.89486,-3.85265,12.0932,-4.09976,24.8145,-13.3759,-3.19335,-5.79399,9.6144,-18.6633 --7.57191,0.989237,0.369903,4,31,0,19.23,3.0662,1.63061,0.591904,0.492545,0.24842,0.97685,2.73551,0.48862,-0.0794471,-0.435684,4.03136,3.47127,7.52674,2.93665,3.86934,4.65905,3.86294,2.35577,-4.90365,-3.32407,-3.90796,-3.38506,-3.26252,-3.37216,-4.22081,-3.95285,-5.1256,-2.93632,14.0507,12.217,4.04372,0.956969,5.98092,-3.27125 --10.1881,0.897049,0.644272,3,7,0,14.7734,5.29668,0.135212,-0.428437,-0.392576,-0.295549,-1.25165,-2.74259,-0.542647,-0.0721836,0.632835,5.23875,5.25671,4.92584,5.28692,5.24359,5.12744,5.2233,5.38224,-4.77827,-3.25915,-3.81422,-3.32896,-3.3568,-3.38723,-4.03774,-3.87689,26.9158,-1.37308,3.12161,9.62841,8.91217,-11.5153,9.83994,20.6992 --13.9128,0.843038,0.861913,2,3,0,16.0747,5.46507,0.104558,-0.166545,0.206981,-1.67991,-1.43679,-2.75636,-2.07301,0.466175,0.0185,5.44765,5.28942,5.17687,5.51381,5.48671,5.31484,5.24832,5.467,-4.75723,-3.25826,-3.82212,-3.32596,-3.3759,-3.39377,-4.03455,-3.87517,39.6742,-0.693047,8.14259,7.16532,19.6966,12.6624,-3.58799,9.3417 --7.56024,0.982397,0.98974,2,3,0,17.4899,5.74011,1.52376,0.297783,1.82548,-0.513458,0.650769,1.03471,1.08325,1.67104,0.253852,6.19386,4.95772,7.31676,8.28638,8.52171,6.73173,7.39072,6.12692,-4.68367,-3.2678,-3.89941,-3.32367,-3.67581,-3.45259,-3.78431,-3.86254,-5.53437,-15.4858,3.54731,12.4559,-1.11507,9.38346,7.26071,-13.1728 --7.56024,0.0790457,1.65564,2,6,1,12.2878,5.74011,1.52376,0.297783,1.82548,-0.513458,0.650769,1.03471,1.08325,1.67104,0.253852,6.19386,4.95772,7.31676,8.28638,8.52171,6.73173,7.39072,6.12692,-4.68367,-3.2678,-3.89941,-3.32367,-3.67581,-3.45259,-3.78431,-3.86254,-4.12101,-2.76826,42.7842,1.57736,-4.3072,3.08885,-7.26489,-8.29316 --7.29231,0.99121,0.240954,4,15,0,13.2751,5.86212,1.55291,0.352771,0.938752,0.32716,0.211598,0.441569,2.76971,-0.759222,0.0100793,6.40994,6.37017,6.54784,4.68312,7.31992,6.19072,10.1632,5.87778,-4.66283,-3.23481,-3.86958,-3.33902,-3.54345,-3.42817,-3.5286,-3.86715,21.7145,3.3774,2.69835,3.42825,-2.52208,2.89009,6.01815,0.192634 --8.21731,0.967282,0.413939,3,15,0,12.6898,4.03448,6.24817,1.53627,-1.22968,-0.716493,0.435367,2.06384,-0.612216,-0.454974,-0.80281,13.6334,-0.442291,16.9297,1.19173,-3.64876,6.75473,0.209251,-0.981613,-4.08565,-3.57788,-4.4673,-3.45624,-3.15947,-3.45368,-4.80408,-4.06938,5.13505,-1.30397,24.1732,-5.9514,1.34941,4.14794,-6.19007,-18.7404 --3.41874,0.989528,0.6616,3,15,0,9.57172,3.06658,2.75522,-0.225032,0.691716,0.696204,0.0871897,-0.0605525,-0.264192,0.700426,-0.104057,2.44657,4.98478,2.89975,4.99641,4.97241,3.30681,2.33868,2.77988,-5.07805,-3.26698,-3.75951,-3.33342,-3.33635,-3.33882,-4.44791,-3.9405,-13.9266,21.1559,20.1324,17.9889,-0.539585,-8.34304,-13.3633,-1.81482 --6.74714,0.391229,1.11274,2,3,0,8.06361,3.25346,2.98429,1.49937,0.977773,-0.712137,-0.456832,-0.448338,0.22032,1.50991,1.77132,7.72801,1.12824,1.91549,7.75947,6.17142,1.89014,3.91096,8.53959,-4.54022,-3.45763,-3.73872,-3.31922,-3.43363,-3.32011,-4.21403,-3.82779,-1.17536,-15.6039,9.55556,12.637,5.60461,9.73731,12.8359,5.71711 --4.27181,0.985449,0.389743,3,15,0,9.35914,3.66224,3.7226,0.694025,-1.07251,-0.384093,-0.406641,0.0303474,1.7289,-0.0233083,1.191,6.24582,2.23242,3.77521,3.57547,-0.330274,2.14848,10.0982,8.09585,-4.67864,-3.38785,-3.78118,-3.36529,-3.11893,-3.32228,-3.53371,-3.83283,10.8142,-0.899913,-18.4501,2.32475,0.908997,3.0619,13.8797,7.23223 --4.09904,0.840804,0.64596,3,15,0,8.3107,-0.651971,7.81873,0.526193,0.443469,0.847391,0.335289,-0.335429,-0.098467,0.422726,-0.644823,3.46219,5.97356,-3.2746,2.65321,2.8154,1.96957,-1.42186,-5.69367,-4.965,-3.24206,-3.69167,-3.39491,-3.20602,-3.32072,-5.10757,-4.29244,-1.7876,11.0648,19.5568,-3.62536,4.35647,-13.7777,-0.0701907,-2.32747 --5.28214,0.589157,0.732606,3,11,0,8.78208,4.20056,1.73175,-0.478806,-0.322788,0.535236,0.694701,1.04472,-0.0432241,1.48036,0.879876,3.37138,5.12746,6.00975,6.76418,3.64157,5.40361,4.12571,5.72429,-4.97492,-3.26278,-3.85007,-3.31706,-3.24915,-3.39697,-4.184,-3.87009,-5.57244,-4.16521,-1.755,-1.1482,10.5238,-1.52002,-13.3089,29.4978 --6.29162,0.93691,0.436612,3,15,0,9.12217,5.42203,0.691529,0.599455,-0.35094,1.22211,0.365239,-0.113496,1.32444,-1.25743,0.716381,5.83657,6.26716,5.34355,4.55248,5.17935,5.6746,6.33792,5.91743,-4.71858,-3.23654,-3.82749,-3.34159,-3.35187,-3.40713,-3.90154,-3.86641,10.3968,7.8185,33.3123,24.7898,10.0456,16.6375,-14.6227,0.313299 --6.71845,0.729166,0.632029,3,11,0,9.5841,8.37528,4.87902,-0.0450573,0.108965,-0.874758,-0.414852,0.374158,-1.43528,0.845074,-1.13693,8.15544,4.10731,10.2008,12.4984,8.90692,6.35121,1.3725,2.82819,-4.50211,-3.29729,-4.03188,-3.44176,-3.72201,-3.43516,-4.60389,-3.93913,10.6122,6.04869,37.2635,23.8257,12.4071,0.447381,-7.28146,21.9051 --6.49161,0.945619,0.540008,3,7,0,11.8684,6.13748,4.59537,-1.30641,-1.22409,0.545609,0.310724,0.147802,1.41038,-1.56208,0.401981,0.134043,8.64476,6.81669,-1.04084,0.51231,7.56538,12.6187,7.98474,-5.35257,-3.2236,-3.87974,-3.584,-3.13028,-3.49495,-3.36632,-3.83419,10.8455,3.61426,8.31162,4.85667,-6.33752,9.79798,23.0833,-12.3567 --6.91511,0.996791,0.793126,3,11,0,8.28338,6.34342,2.07318,-1.37817,-1.77781,0.307191,0.272576,0.379542,0.71742,-1.57192,0.490098,3.48623,6.98029,7.13028,3.08453,2.6577,6.90852,7.83077,7.35949,-4.96238,-3.22672,-3.89196,-3.38018,-3.19875,-3.46109,-3.73859,-3.84254,5.27246,28.8904,16.1273,2.98825,-13.1232,3.69415,13.58,-6.31709 --8.96537,0.185248,1.31466,2,7,1,11.9454,5.11448,3.86525,-0.850038,-0.307175,0.699156,-1.01756,-1.38501,-1.89424,-0.992948,1.44376,1.82888,7.8169,-0.238928,1.2765,3.92718,1.18137,-2.20721,10.695,-5.14905,-3.22169,-3.70642,-3.4522,-3.26602,-3.31697,-5.26318,-3.81194,20.1472,3.8221,0.952275,11.141,11.8516,21.1652,20.3662,18.2442 --9.11758,0.998473,0.29459,4,15,0,14.2251,3.95521,1.34395,0.678212,-1.30643,0.788356,-2.46563,-0.654981,-0.70407,-0.244271,1.74017,4.86669,5.01471,3.07495,3.62692,2.19944,0.641536,3.00898,6.2939,-4.81621,-3.26608,-3.76361,-3.36385,-3.17935,-3.31736,-4.34518,-3.85956,20.7819,21.6842,9.91244,10.7743,-3.78893,10.3123,5.47196,-4.40896 --8.78415,0.999833,0.490151,3,7,0,13.1422,2.83162,4.44383,-0.588785,0.386449,-0.415958,2.39398,-0.692265,0.711973,-0.242915,-1.84475,0.215164,0.983179,-0.244681,1.75215,4.54893,13.4701,5.99551,-5.36611,-5.34254,-3.4677,-3.70635,-3.43064,-3.30623,-3.95941,-3.94206,-4.27471,-19.389,-10.3556,-5.17234,9.62538,-0.267752,6.58805,18.0071,-3.5061 --5.00892,1,0.812311,2,3,0,9.59183,3.42289,1.62145,-0.224253,0.275768,-0.991418,1.51045,-0.479191,0.178075,-0.391675,-0.535043,3.05927,1.81535,2.6459,2.78781,3.87003,5.872,3.71163,2.55534,-5.0093,-3.41277,-3.75379,-3.39015,-3.26257,-3.41492,-4.24231,-3.94697,-7.91108,-16.8522,7.56069,-4.77838,9.25305,29.0431,-0.51108,10.2247 --5.00892,0.140438,1.33724,1,3,0,9.23021,3.42289,1.62145,-0.224253,0.275768,-0.991418,1.51045,-0.479191,0.178075,-0.391675,-0.535043,3.05927,1.81535,2.6459,2.78781,3.87003,5.872,3.71163,2.55534,-5.0093,-3.41277,-3.75379,-3.39015,-3.26257,-3.41492,-4.24231,-3.94697,7.33626,5.2459,2.31841,-4.84095,-6.33271,-17.8896,1.56091,-29.2625 --8.42799,0.939192,0.280454,3,15,0,12.0966,3.67988,3.11398,0.16966,0.805629,-1.72966,2.23532,-0.113425,-0.924267,-0.075561,-0.236214,4.2082,-1.70625,3.32668,3.44458,6.18859,10.6406,0.801733,2.94431,-4.88488,-3.69258,-3.7697,-3.36907,-3.43515,-3.70089,-4.70043,-3.93586,-31.9744,0.483265,0.0398747,20.8612,4.39949,5.81163,-5.71452,-41.6285 --6.38123,0.962588,0.399759,3,7,0,11.6489,2.91112,0.451229,0.478553,1.27879,-0.574705,1.01041,-0.693683,0.94751,-0.317233,0.351844,3.12705,2.65179,2.59811,2.76797,3.48814,3.36704,3.33866,3.06988,-5.0018,-3.36454,-3.75274,-3.39084,-3.24051,-3.33999,-4.2963,-3.93238,-1.24995,5.68254,4.3466,7.17594,2.66512,4.10565,20.9081,6.94809 --8.6705,0.7165,0.599204,2,3,0,12.6808,3.23823,6.17045,0.467423,0.74728,-0.810484,-0.496451,0.00647578,0.428985,-1.34455,2.81653,6.12244,-1.76282,3.27819,-5.05823,7.84929,0.174901,5.88526,20.6175,-4.69061,-3.69809,-3.76851,-3.91766,-3.59956,-3.31965,-3.95536,-3.92391,31.7329,-1.56346,13.9239,-26.4483,15.7324,-9.33912,-1.06245,-11.1481 --7.62689,1,0.502043,3,7,0,13.4353,3.33447,2.48756,1.42647,-1.52185,-0.603349,1.57459,-1.87982,0.676633,-0.356403,0.367137,6.8829,1.8336,-1.3417,2.44789,-0.451222,7.25137,5.01763,4.24774,-4.61795,-3.41165,-3.6969,-3.40246,-3.11802,-3.47832,-4.06423,-3.90205,-9.68369,-1.68772,-27.5938,-3.22196,-1.33662,1.57131,1.6236,-2.38586 --6.00612,0.794215,0.815216,2,7,0,10.7175,3.3322,2.06192,1.07047,-1.32316,0.243146,1.93531,0.243908,0.102911,0.310449,0.742022,5.53942,3.83355,3.83512,3.97232,0.603956,7.32266,3.54439,4.86219,-4.74805,-3.30832,-3.78278,-3.35471,-3.13204,-3.48202,-4.26635,-3.88793,36.8498,-19.8538,22.5656,4.14537,6.63412,6.85491,12.1834,1.92362 --5.88638,0.745092,0.817513,3,11,0,11.7458,1.99898,2.51038,0.0150318,0.785376,-0.308979,-1.28937,0.459344,1.09943,-0.185237,-1.6172,2.03671,1.22332,3.15211,1.53396,3.97057,-1.23782,4.75896,-2.0608,-5.12497,-3.45114,-3.76545,-3.44029,-3.26867,-3.33753,-4.09815,-4.11441,-13.2308,6.45255,-3.68494,12.4813,-4.85468,-21.4302,-5.95339,-25.769 --3.56737,0.996547,0.732275,2,3,0,7.0172,2.62734,8.49793,0.35034,-1.11607,0.628531,-0.877912,-0.11473,0.205552,0.18866,0.922686,5.60451,7.96856,1.65237,4.23056,-6.85695,-4.8331,4.37411,10.4683,-4.74156,-3.22153,-3.7338,-3.34853,-3.32792,-3.45743,-4.14985,-3.81293,-3.69706,16.9755,-29.5327,8.56977,-14.54,-5.28861,-8.12874,5.49206 --7.96185,0.0912606,1.16579,2,3,0,9.19495,2.36434,2.64449,0.344849,-1.00368,-1.59144,-0.85083,1.3876,-0.141787,0.734889,1.89113,3.2763,-1.84422,6.03384,4.30775,-0.289893,0.114329,1.98939,7.36541,-4.98535,-3.70607,-3.85092,-3.34679,-3.11928,-3.32008,-4.50322,-3.84246,3.83751,8.10307,-0.569802,8.01255,-6.04275,-6.56736,15.6422,42.2414 --10.0562,0.91696,0.236837,4,15,0,20.0876,3.9118,0.787504,2.17325,-1.07493,1.62915,-0.867325,-0.486995,1.76216,-0.0499798,-1.29547,5.62324,5.19476,3.52829,3.87244,3.06529,3.22878,5.29951,2.89161,-4.7397,-3.26087,-3.77477,-3.35725,-3.21818,-3.33736,-4.02804,-3.93734,4.69479,11.2837,8.17765,-8.50809,-13.2841,3.04143,5.37013,7.62056 --6.30734,0.92795,0.315467,3,7,0,14.8294,2.23701,7.87834,-0.87985,0.762727,-0.478241,0.113426,-1.37513,-0.237263,0.512279,0.265299,-4.69475,-1.53074,-8.59676,6.27292,8.24603,3.13061,0.367768,4.32713,-6.00243,-3.6757,-3.75271,-3.31902,-3.64387,-3.33559,-4.776,-3.90016,-9.06875,20.0718,-4.68131,17.9027,10.7323,22.8531,2.84668,-40.3195 --7.18996,1,0.429121,3,7,0,10.1846,1.62369,0.657388,-0.292222,0.492898,1.21554,-0.687184,0.934585,0.637515,-1.30441,-1.10933,1.43158,2.42276,2.23807,0.766179,1.94771,1.17194,2.04278,0.894425,-5.19561,-3.37705,-3.74512,-3.47741,-3.1698,-3.31696,-4.49469,-3.99964,6.52462,-2.79352,14.0538,-10.0879,9.96736,-5.31845,-6.52944,15.7071 --6.5323,0.987491,0.682675,3,7,0,10.1642,2.82468,5.89801,0.564229,-0.288686,-0.759024,1.26217,-1.23019,-0.391858,1.49393,0.992553,6.15251,-1.65204,-4.43098,11.6359,1.12201,10.269,0.513499,8.67877,-4.68768,-3.68733,-3.69553,-3.40564,-3.14396,-3.67185,-4.75041,-3.82633,18.4989,1.87895,-14.4047,3.55193,7.72401,8.02433,-5.22671,33.1865 --3.95082,0.829293,1.05046,2,3,0,7.70765,3.24218,6.61322,-0.34693,-0.335424,0.458943,0.73349,-0.995529,0.936708,-0.710456,-0.569558,0.947856,6.27728,-3.34147,-1.45622,1.02395,8.09292,9.43684,-0.52443,-5.25325,-3.23636,-3.69175,-3.61232,-3.14145,-3.52472,-3.58816,-4.05138,-17.4669,-11.4838,11.7162,-2.98069,0.641632,1.74974,5.17741,-13.2558 --3.95082,0.0415533,1.13538,3,7,0,11.1883,3.24218,6.61322,-0.34693,-0.335424,0.458943,0.73349,-0.995529,0.936708,-0.710456,-0.569558,0.947856,6.27728,-3.34147,-1.45622,1.02395,8.09292,9.43684,-0.52443,-5.25325,-3.23636,-3.69175,-3.61232,-3.14145,-3.52472,-3.58816,-4.05138,29.8488,-13.4796,34.0378,19.1217,-1.98273,-6.00823,3.72276,6.00794 --4.88493,0.998253,0.218883,4,15,0,7.13478,0.948131,10.088,1.7081,0.255394,-0.353787,-0.648376,0.722209,0.403251,1.14338,0.995381,18.1794,-2.62086,8.23376,12.4826,3.52454,-5.59267,5.01611,10.9895,-3.84131,-3.78554,-3.93801,-3.44104,-3.24253,-3.49643,-4.06443,-3.81089,32.3041,-0.596869,9.70842,16.142,-2.89084,-9.40869,-0.210691,-1.56187 --4.61301,0.890527,0.344375,4,15,0,10.367,1.93204,3.90878,-0.663779,-0.802745,0.596264,0.970419,-0.627265,0.637706,-0.502124,-0.792652,-0.662522,4.26271,-0.519795,-0.0306489,-1.20571,5.72519,4.4247,-1.16626,-5.45263,-3.29136,-3.70354,-3.52109,-3.11642,-3.4091,-4.14297,-4.07683,-27.5851,5.41776,1.13839,10.6625,14.7715,11.4171,-8.2674,-4.95688 --7.03976,0.940622,0.426972,3,7,0,10.9191,2.70836,5.99548,2.1851,0.253808,-0.260485,-0.880281,-1.139,1.03483,0.744264,2.13081,15.8091,1.14663,-4.12048,7.17058,4.23006,-2.56934,8.91263,15.4836,-3.95725,-3.45637,-3.69398,-3.31695,-3.28501,-3.36948,-3.63442,-3.82804,9.99359,12.5508,-24.3765,18.0265,-13.2518,6.23479,3.49301,-15.8225 --8.24105,0.888674,0.588091,3,7,0,12.1719,2.16638,4.44889,-1.05865,0.359964,0.192631,1.13979,1.82452,1.62234,-1.02119,-0.885122,-2.54342,3.02338,10.2835,-2.3768,3.76783,7.2372,9.38399,-1.77142,-5.7001,-3.34536,-4.03616,-3.68016,-3.25649,-3.47759,-3.5927,-4.10198,-9.69695,8.41838,1.984,9.06958,5.71128,-6.33107,15.5972,18.1042 --5.89287,1,0.722208,3,15,0,11.0774,3.55244,4.77805,2.03661,0.681507,-0.180808,0.0980429,-1.49261,-0.484796,0.529173,0.875435,13.2835,2.68854,-3.57934,6.08086,6.80872,4.0209,1.23606,7.73532,-4.10827,-3.36258,-3.69218,-3.32032,-3.49256,-3.35454,-4.62667,-3.83738,30.7854,-0.837713,-29.4782,6.38968,12.1882,19.8165,13.0556,8.67693 --8.56273,0.33687,1.12112,3,11,0,14.3004,11.001,1.37842,-0.933344,-1.46548,0.102736,0.0281451,1.86143,0.851511,0.530827,-0.170505,9.7145,11.1426,13.5669,11.7327,8.98099,11.0398,12.1748,10.766,-4.37001,-3.2709,-4.22758,-3.40939,-3.7311,-3.73336,-3.39119,-3.81166,-5.80078,18.0759,19.2164,-4.61242,9.55367,26.5568,14.4006,40.0562 --11.5008,0.955754,0.426164,3,7,0,13.4793,11.2981,2.4969,-0.152754,-0.936437,0.978873,-0.363348,2.67887,1.68764,1.20782,0.027821,10.9167,13.7422,17.9869,14.3139,8.95987,10.3908,15.5119,11.3675,-4.27552,-3.38639,-4.55178,-3.53788,-3.7285,-3.68124,-3.25248,-3.80993,8.75209,22.9966,0.163275,2.6592,-6.00239,23.5016,25.0715,16.1649 --9.43579,1,0.601535,3,7,0,16.2188,9.77634,1.47123,1.80153,0.636035,0.953087,1.03474,-0.316038,-2.04383,-0.241061,0.165618,12.4268,11.1786,9.31138,9.42169,10.7121,11.2987,6.76939,10.02,-4.16593,-3.27204,-3.98756,-3.34107,-3.96291,-3.75511,-3.85216,-3.81536,-18.2561,4.32719,43.0119,6.97423,21.4619,10.5713,-4.99387,26.6349 --10.8312,0.568769,0.927886,2,3,0,17.0054,8.33445,1.62321,-1.20276,1.00246,2.123,-0.984308,-0.44899,1.16835,1.58014,-1.54897,6.38211,11.7805,7.60564,10.8994,9.96166,6.73671,10.2309,5.82014,-4.66551,-3.29299,-3.91121,-3.37966,-3.85788,-3.45282,-3.52332,-3.86825,-12.0552,9.18998,-12.377,6.69369,8.14402,-2.33288,24.7585,5.02866 --8.1944,0.993231,0.580834,3,7,0,15.0708,10.4736,0.419375,0.157954,-0.496935,-0.734859,-0.760839,-0.216587,1.44158,-1.29126,0.386153,10.5398,10.1654,10.3827,9.93205,10.2652,10.1545,11.0781,10.6355,-4.30445,-3.24497,-4.04133,-3.35236,-3.89952,-3.66313,-3.46108,-3.81218,36.2576,0.550578,19.2967,28.0036,24.6471,17.4698,10.4898,15.2773 --4.86972,0.504326,0.879498,3,11,0,13.3938,8.71926,3.15945,-0.501817,0.520358,0.128606,0.473024,0.365307,-0.913022,0.325674,-0.127189,7.13379,9.12558,9.87343,9.74821,10.3633,10.2138,5.83461,8.31741,-4.59454,-3.22786,-4.01521,-3.34804,-3.91323,-3.66763,-3.96151,-3.83024,17.1037,19.0996,17.8879,19.0588,12.2584,17.4065,5.47258,27.1591 --3.1834,0.506348,0.484582,4,23,0,8.1332,4.1336,2.57105,0.747314,-0.467948,-0.675499,-0.507668,-0.314627,0.999992,-0.279249,0.249469,6.05498,2.39686,3.32468,3.41564,2.93049,2.82836,6.70463,4.775,-4.69717,-3.3785,-3.76966,-3.36992,-3.21153,-3.33065,-3.85945,-3.88987,9.11015,-5.70567,-8.52835,16.0205,15.6666,1.71263,11.5947,17.8855 --4.31673,0.980631,0.269739,3,15,0,7.74961,4.19756,3.23425,0.983098,-0.194419,-0.211327,-0.417877,0.391161,1.87586,-0.232491,1.10106,7.37714,3.51407,5.46267,3.44562,3.56876,2.84604,10.2646,7.75865,-4.5721,-3.32214,-3.8314,-3.36904,-3.24501,-3.33092,-3.52071,-3.83707,13.3688,9.00817,20.559,26.5093,-1.21346,-10.2837,15.192,-29.949 --4.78005,0.993988,0.397021,3,7,0,6.76504,4.57145,5.05775,-0.191448,-1.19027,-0.469891,-0.653705,-0.52654,1.26932,-0.778827,1.43324,3.60316,2.19486,1.90835,0.632341,-1.44864,1.26518,10.9913,11.8204,-4.94967,-3.39002,-3.73858,-3.48438,-3.11741,-3.31712,-3.46713,-3.80936,8.02436,16.8875,-0.411786,14.5732,-4.19454,3.33359,15.5372,1.55087 --5.78398,0.947769,0.59801,3,7,0,8.7991,5.5082,5.84985,1.28413,0.694588,0.11047,0.818048,-1.76983,0.968748,0.811328,-0.750652,13.0202,6.15443,-4.84503,10.2543,9.57144,10.2937,11.1752,1.117,-4.12564,-3.23855,-3.69818,-3.3606,-3.80601,-3.67374,-3.45441,-3.99209,4.5433,-4.39134,10.0326,13.7932,14.058,-5.85556,-3.35282,-31.315 --4.93233,0.113023,0.81714,3,13,1,9.78761,6.36093,2.48949,1.80727,-0.453661,-0.733883,0.0480223,-1.23685,0.448114,-0.420935,0.453177,10.8601,4.53393,3.28181,5.31302,5.23154,6.48048,7.4765,7.48911,-4.27982,-3.28159,-3.7686,-3.32859,-3.35587,-3.44095,-3.77524,-3.84071,-4.35829,10.9436,10.0503,13.3349,-5.63333,7.08621,0.937585,18.2361 --4.21683,0.995609,0.208373,4,15,0,8.71528,4.4115,3.21065,-1.24903,0.724735,-0.426213,0.167249,-0.276958,-0.170129,0.0956353,-0.0227489,0.401293,3.04308,3.52229,4.71855,6.73837,4.94848,3.86528,4.33846,-5.31963,-3.34438,-3.77461,-3.33834,-3.48581,-3.38126,-4.22048,-3.8999,21.0423,4.26652,-7.90227,-7.91747,8.56651,22.9171,2.94721,14.9195 --6.18862,0.955639,0.313898,4,31,0,8.54015,1.72773,3.08164,2.2979,-1.23579,0.998003,-0.353864,-0.0722019,1.47843,0.213837,0.117205,8.80904,4.80322,1.50523,2.3867,-2.08052,0.637251,6.28371,2.08891,-4.44542,-3.27262,-3.73117,-3.40478,-3.12337,-3.31738,-3.90788,-3.9609,19.1396,9.10052,19.9035,-15.3063,8.96089,-1.06627,2.60266,14.2536 --6.17011,0.969369,0.434972,3,7,0,10.362,1.16516,1.88838,1.12524,-0.704911,0.803556,0.47444,0.239592,1.21419,0.713426,1.74997,3.29004,2.68258,1.6176,2.51238,-0.165985,2.06108,3.458,4.46977,-4.98384,-3.3629,-3.73317,-3.40005,-3.12046,-3.32149,-4.27887,-3.89682,9.09531,-5.88799,-13.7967,7.97264,5.95155,-5.64469,11.4304,-24.2658 --5.30094,0.834399,0.617347,3,7,0,9.75738,2.14187,1.44086,-0.828771,0.746091,-0.12289,-0.416393,0.0317414,-0.936266,-0.434834,-0.972623,0.947723,1.9648,2.1876,1.51533,3.21688,1.5419,0.792837,0.740452,-5.25327,-3.40364,-3.74409,-3.44114,-3.22593,-3.31805,-4.70196,-4.00495,-12.3109,-8.40435,18.0489,-11.0503,17.2437,-5.8424,24.3151,-11.6561 --11.9271,0.502321,0.669456,3,11,0,16.4692,0.148734,7.40397,-0.995482,-2.76268,0.258229,-0.297424,-0.47656,1.34934,1.29095,-0.881144,-7.22179,2.06065,-3.3797,9.70689,-20.3061,-2.05338,10.1392,-6.37524,-6.38382,-3.3979,-3.69181,-3.34711,-5.41694,-3.35536,-3.53048,-4.33037,-8.0332,6.66487,-25.06,8.36315,-14.6964,-1.755,16.9856,-29.3438 --14.847,1,0.37844,3,7,0,20.2853,-0.866488,0.566335,-2.4347,-1.51446,0.558622,-0.993615,-1.55411,2.43162,1.04813,-0.807524,-2.24535,-0.550121,-1.74664,-0.272896,-1.72418,-1.42921,0.510623,-1.32382,-5.65984,-3.58705,-3.6946,-3.53541,-3.1194,-3.34122,-4.75092,-4.08327,-13.6535,0.617735,-10.0776,12.1155,-3.02832,30.2869,-0.242621,28.6207 --13.1658,0.997872,0.567613,3,7,0,18.2168,-2.00046,1.21201,3.32328,0.918094,0.527943,0.946048,1.43196,-0.745154,-0.418379,1.02427,2.02738,-1.36059,-0.264916,-2.50754,-0.887724,-0.853843,-2.90359,-0.759034,-5.12605,-3.65963,-3.70614,-3.69036,-3.11624,-3.33104,-5.40632,-4.06053,6.94162,-3.31206,-25.0001,13.8322,12.818,-6.83691,-5.7755,8.69846 --5.91621,1,0.844591,2,3,0,16.1462,-2.38586,2.82317,0.857954,0.126429,0.958911,0.318884,0.737641,1.04757,0.51858,-0.916698,0.0362899,0.32131,-0.303373,-0.921821,-2.02893,-1.4856,0.5716,-4.97386,-5.3647,-3.51634,-3.70573,-3.57615,-3.1227,-3.34236,-4.74027,-4.25393,1.364,-3.56263,4.29897,1.70772,-0.032481,4.29714,11.9169,3.1459 --3.83947,0.121026,1.25721,4,19,0,6.83334,-0.538974,4.9016,0.0266349,0.0107475,-0.250141,-0.343133,-0.676544,0.350986,0.191533,0.807911,-0.40842,-1.76507,-3.85512,0.399843,-0.486294,-2.22088,1.18142,3.42108,-5.42041,-3.69831,-3.69296,-3.49684,-3.11779,-3.3597,-4.63585,-3.92289,24.9344,4.53928,-10.2925,3.98929,-7.46342,11.4746,5.09398,15.1851 --6.22632,0.949576,0.3439,3,7,0,7.50602,0.259977,4.31604,-0.143775,0.784958,1.33904,-0.406517,0.944467,-0.412885,0.585763,1.43749,-0.360564,6.03931,4.33634,2.78815,3.64789,-1.49457,-1.52205,6.46424,-5.41437,-3.24075,-3.79665,-3.39014,-3.24951,-3.34255,-5.12708,-3.8566,1.30747,-0.593831,4.50497,11.7617,0.175582,-14.1492,7.57001,-6.94825 --5.38606,0.984834,0.464973,3,7,0,9.04912,-0.487794,5.10328,-0.18628,-0.694861,-0.925434,0.0814762,0.499974,0.340679,0.700763,1.21809,-1.43843,-5.21054,2.06371,3.08839,-4.03387,-0.0719988,1.25079,5.72844,-5.55281,-4.09412,-3.74161,-3.38006,-3.17298,-3.32158,-4.6242,-3.87001,-0.66279,-5.58675,-22.331,3.25301,-11.9584,-2.27916,0.152704,-4.95051 --7.4798,0.796417,0.670505,3,15,0,12.2783,6.36747,5.34307,-1.35198,-1.43026,-1.6613,-0.289398,0.0782121,-0.511784,0.523582,-0.530707,-0.856254,-2.50896,6.78536,9.165,-1.27451,4.82119,3.63297,3.53186,-5.4774,-3.77371,-3.87855,-3.3362,-3.11663,-3.37717,-4.25358,-3.91997,-12.4926,-18.4695,-33.6093,21.903,-21.7763,4.97564,8.01272,6.70938 --6.77749,1,0.674026,3,7,0,10.9009,6.60885,1.11311,0.933859,0.877367,0.588982,0.253961,0.910671,1.53751,1.45743,-0.160412,7.64834,7.26445,7.62253,8.23113,7.58546,6.89154,8.32027,6.43029,-4.54741,-3.22423,-3.91191,-3.3231,-3.57116,-3.46026,-3.69001,-3.85718,0.377024,1.6453,43.3556,4.25038,6.15455,-10.6332,-2.8259,25.0363 --6.77749,2.5069e-14,0.995231,2,3,0,14.9877,6.60885,1.11311,0.933859,0.877367,0.588982,0.253961,0.910671,1.53751,1.45743,-0.160412,7.64834,7.26445,7.62253,8.23113,7.58546,6.89154,8.32027,6.43029,-4.54741,-3.22423,-3.91191,-3.3231,-3.57116,-3.46026,-3.69001,-3.85718,27.1571,14.1348,6.14823,4.74697,-3.95222,35.6505,27.9984,17.5656 --4.16792,0.996686,0.223297,4,15,0,9.5489,6.44096,5.10985,0.348089,0.264136,0.696044,-1.68734,-0.784411,0.753223,0.321512,-0.183605,8.21964,9.99764,2.43274,8.08384,7.79066,-2.1811,10.2898,5.50277,-4.49646,-3.24148,-3.74917,-3.32169,-3.59317,-3.35865,-3.51876,-3.87446,11.3013,2.85221,0.385828,2.70923,19.1698,5.61262,7.05219,16.0463 --6.25301,0.951436,0.328098,4,15,0,9.66317,3.89437,1.00065,0.356734,-0.0177288,-0.219476,1.22713,0.706772,-1.82157,0.410197,0.0672106,4.25133,3.67475,4.6016,4.30483,3.87662,5.1223,2.0716,3.96162,-4.88032,-3.31506,-3.80439,-3.34685,-3.26296,-3.38705,-4.49009,-3.90903,-3.57152,-2.69375,9.842,15.3742,4.2145,15.6588,4.54525,-16.8368 --9.40731,0.891262,0.441586,4,23,0,18.673,14.4926,2.33445,0.489244,-0.770477,-0.236039,0.355936,0.113273,-1.81881,0.0511068,0.0228277,15.6347,13.9416,14.757,14.6119,12.694,15.3235,10.2467,14.5459,-3.96677,-3.39803,-4.30737,-3.55626,-4.27372,-4.16461,-3.52209,-3.81931,10.2946,15.2248,37.2296,9.59985,26.9482,22.8982,11.6396,36.7894 --15.4808,0.186591,0.530131,3,7,0,19.8668,15.3282,12.6644,-0.930694,-0.454016,1.36902,-0.149431,0.216683,0.510401,-1.91008,-0.554092,3.54156,32.6661,18.0724,-8.86174,9.5784,13.4358,21.7922,8.311,-4.95636,-6.26361,-4.55881,-4.35648,-3.80692,-3.95588,-3.29343,-3.83031,10.8696,31.3364,32.3156,-5.43014,21.6573,5.05281,33.3412,19.233 --15.0251,0.998384,0.172702,4,15,0,21.5149,13.6366,0.147482,1.31527,-1.87941,0.36783,-1.53663,0.572128,0.181145,1.42989,1.38057,13.8306,13.6909,13.721,13.8475,13.3595,13.41,13.6634,13.8403,-4.07315,-3.38345,-4.23761,-3.51059,-4.38897,-3.95323,-3.31556,-3.81454,8.10512,13.9332,38.3589,11,9.40699,19.1234,-6.15431,-16.6999 --10.0411,0.999015,0.253109,4,15,0,18.432,9.67365,0.418836,-1.00918,1.74859,-0.00811099,1.79554,-0.335647,-0.00372131,-0.840609,-1.0766,9.25097,9.67026,9.53307,9.32158,10.406,10.4257,9.67209,9.22273,-4.40816,-3.23547,-3.99832,-3.33911,-3.91923,-3.68396,-3.56829,-3.82121,6.33649,20.0901,18.49,11.3617,-5.10235,18.1328,5.58194,12.0974 --9.23891,0.997127,0.370175,4,15,0,13.8367,7.61942,0.320647,0.242935,-0.314352,-0.0244266,-2.0554,0.772303,0.210235,1.89003,0.814802,7.69732,7.61159,7.86706,8.22545,7.51862,6.96036,7.68683,7.88068,-4.54299,-3.22228,-3.92218,-3.32304,-3.56411,-3.46364,-3.75333,-3.8355,-11.2191,-11.566,28.4628,5.89659,9.71827,5.00859,16.9921,8.18808 --9.79831,0.910037,0.537799,3,7,0,16.5273,8.32556,9.1927,1.05767,0.169748,-1.3,0.460508,0.592676,1.54364,-0.746803,-2.10185,18.0484,-3.62492,13.7739,1.46043,9.886,12.5589,22.5158,-10.9961,-3.84706,-3.89722,-4.24106,-3.44364,-3.84768,-3.86893,-3.32348,-4.62539,26.8299,-6.965,28.372,-8.18893,3.36425,20.3542,-5.53692,24.6052 --9.08188,1,0.166208,5,31,0,16.5011,2.42015,0.447481,-0.0130895,-0.0526776,0.924498,0.234705,0.215594,-1.84822,-1.10695,-2.00113,2.41429,2.83384,2.51662,1.92481,2.39657,2.52517,1.5931,1.52468,-5.08172,-3.35497,-3.75097,-3.42327,-3.18738,-3.32645,-4.56745,-3.97865,-13.5132,15.2796,-10.7803,5.80803,7.12791,-3.15847,6.93954,-0.983031 --9.08188,3.54512e-26,2.39098,1,1,0,16.2426,2.42015,0.447481,-0.0130895,-0.0526776,0.924498,0.234705,0.215594,-1.84822,-1.10695,-2.00113,2.41429,2.83384,2.51662,1.92481,2.39657,2.52517,1.5931,1.52468,-5.08172,-3.35497,-3.75097,-3.42327,-3.18738,-3.32645,-4.56745,-3.97865,-16.2248,23.6891,18.9746,-13.0916,7.74444,1.12255,7.70264,-9.50499 --11.1235,0.920547,0.404079,3,15,0,15.8612,-2.82951,0.437343,-0.442017,-0.828868,0.313751,0.283716,1.07188,-0.987911,-1.98227,-1.16385,-3.02283,-2.6923,-2.36074,-3.69645,-3.19201,-2.70543,-3.26157,-3.33852,-5.76569,-3.79315,-3.69233,-3.78962,-3.14582,-3.37357,-5.4818,-4.17238,0.011431,-9.06372,7.94496,-8.21865,-2.51637,-7.25582,-9.92654,10.3249 --9.91306,0.966672,0.463232,3,7,0,15.2241,8.69678,0.602124,-1.11415,-1.58225,0.492127,-0.634671,1.15743,-0.93694,-1.46429,-1.48434,8.02592,8.9931,9.39369,7.8151,7.74407,8.31463,8.13262,7.80302,-4.51357,-3.22645,-3.99153,-3.31958,-3.58813,-3.53792,-3.70835,-3.83649,3.79273,6.07254,20.643,11.5152,2.29212,10.9196,6.88438,39.6521 --7.67958,0.866997,0.680048,3,7,0,13.3481,-0.214932,9.61724,1.58594,1.70403,0.634274,0.83539,0.587453,0.615557,1.15348,-0.654226,15.0374,5.88504,5.43474,10.8784,16.1732,7.81921,5.70503,-6.50678,-4.00038,-3.24389,-3.83048,-3.37899,-4.93664,-3.50899,-3.97736,-4.33786,8.18881,26.3218,3.14286,-12.7306,15.8468,23.6119,13.4208,-40.7385 --13.3795,0.456725,0.79874,3,7,0,14.8412,8.25285,1.05055,-1.35971,-2.40478,1.87849,-0.0473905,-2.02707,0.0803657,-1.82209,1.06533,6.8244,10.2263,6.12332,6.33865,5.72651,8.20306,8.33727,9.37203,-4.62345,-3.24631,-3.8541,-3.31864,-3.39546,-3.53123,-3.68837,-3.81997,3.98322,12.0552,7.75553,7.58538,-3.23135,-0.221186,7.4334,12.1457 --8.28195,0.988306,0.273747,4,15,0,20.9008,1.0084,3.45555,1.75792,1.0172,-0.0691064,-0.824755,-0.90932,2.21538,1.84714,0.452507,7.08298,0.7696,-2.1338,7.39128,4.5234,-1.84158,8.66375,2.57206,-4.59926,-3.48292,-3.69299,-3.31747,-3.30448,-3.3502,-3.65735,-3.94648,-2.41813,12.8673,16.708,35.7966,9.60294,2.31936,9.13425,7.1849 --4.8762,0.969823,0.477429,3,7,0,12.4251,-2.91104,7.31768,1.62891,-0.33671,-0.0776219,0.686153,-0.165435,1.39866,0.90907,0.0578965,9.00883,-3.47905,-4.12164,3.74125,-5.37498,2.11001,7.32393,-2.48737,-4.42847,-3.88037,-3.69398,-3.36072,-3.23431,-3.32193,-3.79142,-4.13321,-3.92978,-15.989,-16.9636,-5.05124,-5.97447,-0.16535,6.67501,6.03046 --4.8762,1.17924e-13,0.804385,1,1,0,8.25964,-2.91104,7.31768,1.62891,-0.33671,-0.0776219,0.686153,-0.165435,1.39866,0.90907,0.0578965,9.00883,-3.47905,-4.12164,3.74125,-5.37498,2.11001,7.32393,-2.48737,-4.42847,-3.88037,-3.69398,-3.36072,-3.23431,-3.32193,-3.79142,-4.13321,28.7861,-10.0967,-4.91919,-13.0627,6.05115,-3.44221,10.4957,7.19256 --3.60698,0.99885,0.0640877,5,63,0,8.79351,7.49933,2.69386,-0.748557,0.190194,0.661531,-0.554103,-0.213292,0.241697,0.278031,-0.0379197,5.48282,9.2814,6.92475,8.24831,8.01169,6.00666,8.15043,7.39718,-4.75371,-3.22973,-3.88391,-3.32327,-3.61746,-3.42041,-3.70659,-3.842,2.41461,11.5236,68.9348,6.15818,5.57802,-1.63242,-3.26888,13.5709 --6.8204,0.997101,0.119648,5,31,0,7.61058,2.13772,2.31725,0.756521,-0.677905,1.26386,0.411196,-1.09228,-1.70394,-0.224459,0.826499,3.89077,5.06639,-0.393361,1.61759,0.566843,3.09056,-1.81073,4.05292,-4.91867,-3.26455,-3.7048,-3.43655,-3.13132,-3.33489,-5.18385,-3.90677,-5.43277,-6.62617,5.84803,1.89367,-5.4155,21.4483,13.5284,6.5783 --10.1716,0.943028,0.223658,3,7,0,16.6506,4.8267,1.70111,-0.218768,-1.65048,1.92761,1.02303,-1.5336,-1.83693,0.150334,1.12277,4.45455,8.10578,2.21789,5.08244,2.01905,6.56699,1.70189,6.73665,-4.85896,-3.22158,-3.7447,-3.33203,-3.17243,-3.4449,-4.54967,-3.85206,6.12173,-3.82533,-9.9157,3.43636,17.8192,11.0541,6.46652,22.826 --5.51589,0.980352,0.353038,3,7,0,14.6864,3.84202,2.52482,1.13619,0.99317,1.71754,-0.484085,-0.579101,0.911358,-0.682971,-0.287533,6.71069,8.1785,2.3799,2.11764,6.3496,2.61979,6.14304,3.11605,-4.63418,-3.22168,-3.74806,-3.41534,-3.4496,-3.32768,-3.92446,-3.93111,17.0978,12.624,-13.3218,-2.39026,14.424,10.5032,7.19574,16.7318 --9.85795,0.370544,0.625703,3,7,0,12.1794,5.80625,0.257649,-1.3167,-2.33065,0.288061,-0.555555,-0.879349,-0.3251,0.0828368,-1.51985,5.467,5.88046,5.57968,5.82759,5.20576,5.66311,5.72248,5.41466,-4.75529,-3.24399,-3.8353,-3.32251,-3.35389,-3.40669,-3.97521,-3.87623,20.8121,10.931,-18.2724,6.99698,7.09696,-2.71549,-6.56479,29.7298 --5.5358,0.991327,0.164873,5,31,0,16.2092,4.86853,2.32631,0.790483,1.54251,1.40906,0.0778088,0.609586,0.716082,0.532467,-0.381094,6.70743,8.14643,6.28661,6.10721,8.45688,5.04953,6.53435,3.98198,-4.63449,-3.22163,-3.85997,-3.32013,-3.66822,-3.3846,-3.87883,-3.90852,-43.7064,26.0117,29.2925,-1.22505,10.6587,1.10352,16.0172,-2.71579 --4.88202,0.995479,0.302642,4,15,0,9.41003,0.663612,8.55231,0.58905,-0.452548,-0.502113,0.914391,-0.944063,0.617178,0.385781,-1.10389,5.70135,-3.63062,-7.41031,3.96293,-3.20672,8.48377,5.94191,-8.77719,-4.73194,-3.89788,-3.72952,-3.35495,-3.14622,-3.54827,-3.94851,-4.4755,16.4011,-7.45049,-29.4261,4.89706,4.01064,-13.5377,-2.32729,14.2832 --5.63353,0.968249,0.558819,3,7,0,7.35741,8.28736,0.823643,0.0423427,0.480434,0.0966995,-1.24313,-0.101594,-0.122769,-0.591896,1.10825,8.32224,8.36701,8.20369,7.79985,8.68307,7.26346,8.18624,9.20016,-4.48746,-3.2222,-3.93669,-3.31948,-3.69494,-3.47895,-3.70307,-3.82141,6.40754,4.05387,21.2812,1.54296,4.36183,2.95887,8.7328,8.29752 --6.78556,0.818937,0.941759,2,3,0,9.32506,2.11595,3.31953,0.87607,-2.14988,-0.224065,-1.13793,-1.02086,-0.237219,-0.793048,0.175631,5.02409,1.37216,-1.27282,-0.5166,-5.02063,-1.66144,1.32849,2.69896,-4.80008,-3.44117,-3.69735,-3.5503,-3.21595,-3.3461,-4.61122,-3.94281,4.07328,-7.35487,-10.0407,16.7801,5.00864,2.42184,8.68997,-17.8796 --5.36716,0.322647,1.00179,3,15,0,10.9645,2.96625,6.45428,-0.207459,1.28999,0.250682,0.631919,-1.54296,0.955169,0.377491,-0.102165,1.62725,4.58422,-6.99248,5.40268,11.2922,7.04483,9.13117,2.30685,-5.17259,-3.27986,-3.72266,-3.32738,-4.04887,-3.46783,-3.6148,-3.95431,-4.32959,-11.4285,-11.6539,-10.2436,7.31464,15.1253,-4.78037,19.1374 --6.29295,0.936527,0.239515,4,15,0,9.81605,7.27099,0.855849,0.280521,-1.64676,-0.933989,-0.802792,0.40327,0.393114,0.869978,-0.61535,7.51107,6.47164,7.61613,8.01556,5.86162,6.58392,7.60744,6.74434,-4.55987,-3.2332,-3.91165,-3.3211,-3.40679,-3.44568,-3.76155,-3.85194,-5.43167,17.0274,-15.7184,18.5432,-3.47008,-1.3319,11.591,4.98434 --5.39752,0.999539,0.365618,3,7,0,7.86462,7.15772,0.927753,0.290934,-1.29131,-0.643152,-0.57214,0.357745,0.253971,1.10977,-0.444743,7.42763,6.56103,7.48962,8.18731,5.9597,6.62691,7.39334,6.74511,-4.56748,-3.23188,-3.90643,-3.32266,-3.41516,-3.44767,-3.78403,-3.85192,9.70835,1.76876,6.38175,5.01923,-24.5575,8.96985,7.87073,10.2929 --3.42516,0.984531,0.667931,3,7,0,8.86556,1.05605,3.63806,0.773769,0.566006,0.202167,0.284735,0.500951,0.9477,-0.472067,-0.245037,3.87107,1.79155,2.87854,-0.661355,3.11522,2.09194,4.50384,0.164595,-4.92078,-3.41425,-3.75902,-3.55938,-3.2207,-3.32176,-4.13225,-4.02548,12.1795,16.523,-0.910355,-19.3094,9.60247,1.62772,-13.1487,3.12427 --3.36361,0.217064,1.15614,2,5,0,5.64378,2.74871,2.77291,0.308944,-0.664333,0.0350493,-0.409575,-0.872484,0.946312,0.769485,0.361192,3.60538,2.8459,0.329394,4.88242,0.906577,1.613,5.37275,3.75026,-4.94943,-3.35435,-3.71318,-3.33536,-3.1386,-3.31839,-4.01876,-3.91434,20.724,4.70363,-4.8192,5.4176,-1.64512,14.3451,6.29585,-18.7206 --5.42226,0.988046,0.213064,4,15,0,7.19902,8.22907,2.75284,-0.690912,-0.669291,0.793203,-0.305523,-0.218106,-1.1972,0.120469,1.07745,6.3271,10.4126,7.62866,8.5607,6.38662,7.38802,4.93339,11.1951,-4.6708,-3.25063,-3.91217,-3.3269,-3.45297,-3.48546,-4.07521,-3.81031,22.7049,11.7347,-6.30426,1.31004,-10.4443,-10.1655,-2.30869,-6.4122 --6.11523,0.982085,0.372795,3,7,0,8.75358,0.207518,3.07047,-0.26509,-0.270125,0.527735,0.0549361,-0.00383742,0.116165,0.0938698,2.42371,-0.606433,1.82791,0.195736,0.495743,-0.621894,0.376198,0.564199,7.64945,-5.4455,-3.412,-3.71147,-3.49165,-3.11705,-3.31844,-4.74156,-3.83852,0.161987,1.64858,2.11409,-13.7831,-3.73384,1.38994,7.04775,10.173 --7.26786,0.663008,0.635263,3,7,0,12.893,4.64109,7.20956,1.0723,-1.06545,-1.47454,-0.0850431,-1.33755,0.351605,-0.655468,-1.63264,12.3719,-5.98972,-5.00207,-0.0845451,-3.04037,4.02797,7.17601,-7.12955,-4.16974,-4.20009,-3.69936,-3.52423,-3.14186,-3.35472,-3.80732,-4.37403,-7.20939,-17.1109,1.68301,11.2294,7.0315,5.76344,26.9005,18.7907 --12.884,0.815143,0.434488,4,15,0,15.0863,9.07328,2.30941,3.17497,-2.28089,-1.44533,0.248688,-1.05576,0.585835,-0.316533,-1.46443,16.4056,5.73541,6.63509,8.34227,3.80577,9.6476,10.4262,5.6913,-3.92572,-3.24717,-3.87285,-3.32428,-3.25873,-3.62585,-3.50833,-3.87073,35.623,-9.44334,18.3178,-6.3415,-2.33862,26.1987,6.23891,4.55792 --6.22786,0.982128,0.458561,3,7,0,17.0984,4.92306,8.94872,1.85486,-0.116764,-0.589136,-1.56257,-1.13759,1.65794,0.253979,-0.44959,21.5217,-0.348959,-5.25696,7.19585,3.87817,-9.05993,19.7595,0.899807,-3.72025,-3.57005,-3.70148,-3.31699,-3.26306,-3.73502,-3.237,-3.99946,6.75713,-10.7254,-8.82385,-1.04203,20.3645,0.353021,22.8382,18.1186 --7.88126,0.212766,0.769854,2,3,0,12.3106,9.42589,11.7273,1.79681,-0.839018,-1.19634,-0.669966,-1.10252,1.6614,-0.140244,-0.65859,30.4976,-4.60394,-3.50372,7.7812,-0.413555,1.56897,28.9096,1.70237,-3.64085,-4.01582,-3.69202,-3.31936,-3.11829,-3.31817,-3.81663,-3.97295,19.8843,-11.0769,-1.50981,21.8988,-8.14428,-3.11901,39.0819,-3.51024 --7.23396,0.996718,0.153077,5,31,0,14.1984,2.92886,1.02257,-1.12559,0.693131,0.983156,0.897026,-0.670968,-1.40969,0.903863,0.796465,1.77786,3.93421,2.24275,3.85313,3.63764,3.84614,1.48735,3.74331,-5.15499,-3.30418,-3.74521,-3.35775,-3.24893,-3.35031,-4.58486,-3.91452,-17.2923,-4.52563,-21.8796,1.91751,8.97437,2.09503,-0.362554,-2.10963 --8.93212,0.948182,0.267615,4,15,0,17.7616,-1.63009,4.92156,2.84758,-0.92881,-0.135359,-1.1905,-0.475224,0.840742,-0.700293,-0.518854,12.3845,-2.29627,-3.96893,-5.07663,-6.20129,-7.4892,2.50767,-4.18366,-4.16887,-3.75159,-3.69336,-3.9195,-3.28316,-3.61463,-4.42158,-4.21349,9.26168,-1.66192,19.4794,-13.6524,-10.1338,-1.24698,2.97076,-4.63754 --5.75742,0.983509,0.406303,3,7,0,11.3962,3.92858,2.94773,-1.69054,-0.0414389,-0.0455656,0.640086,-0.433045,-0.0867078,0.951616,1.20166,-1.05467,3.79426,2.65208,6.73368,3.80643,5.81538,3.67299,7.47074,-5.50293,-3.30996,-3.75392,-3.31713,-3.25877,-3.41265,-4.24784,-3.84097,35.5581,1.94257,-4.51635,-7.27933,7.44657,8.64884,7.08208,41.763 --9.18444,0.560392,0.673819,3,7,0,11.8319,5.61567,0.267309,1.643,-1.92174,1.08401,-0.287301,1.34233,0.419,0.00836124,0.248037,6.05486,5.90544,5.97449,5.61791,5.10197,5.53887,5.72767,5.68197,-4.69719,-3.24346,-3.84883,-3.32473,-3.346,-3.40196,-3.97457,-3.87091,19.5249,8.9309,24.6626,-6.86136,1.2903,4.53431,6.33472,32.668 --7.58593,0.999032,0.357838,4,15,0,13.1089,5.98089,2.9534,2.233,0.661097,-1.11519,0.0313954,-1.3704,-0.73563,0.0999014,-1.13538,12.5758,2.68727,1.93355,6.27594,7.93338,6.07362,3.80828,2.62765,-4.15567,-3.36265,-3.73907,-3.319,-3.60879,-3.4232,-4.22855,-3.94487,-2.12952,14.598,-12.4181,6.88529,28.1075,13.6227,-4.77111,10.0991 --8.62093,0.949189,0.613962,3,7,0,10.1764,5.7016,8.43477,2.16392,0.402144,-1.25796,0.40338,-1.29635,-0.638732,0.236607,-1.1419,23.9538,-4.90902,-5.23281,7.69732,9.09359,9.10402,0.314044,-3.93004,-3.66337,-4.05474,-3.70126,-3.31884,-3.74506,-3.58822,-4.78549,-4.20092,20.2217,-10.7234,-37.2302,-3.62679,-9.44515,11.2028,-18.1146,-1.82731 --10.3984,0.340027,0.916095,3,15,0,17.613,5.90803,0.11015,-1.9022,-0.0411357,0.376861,1.05749,-0.478099,0.335392,1.15466,1.87336,5.6985,5.94954,5.85537,6.03522,5.9035,6.02451,5.94497,6.11438,-4.73223,-3.24255,-3.84469,-3.32068,-3.41035,-3.42115,-3.94814,-3.86277,4.87441,8.9497,-10.7174,10.389,2.85575,0.632101,8.0242,-9.77356 --8.90717,0.980815,0.277237,4,15,0,17.7215,8.91203,2.11453,1.65504,-1.39852,-0.168204,-1.63322,0.323697,1.61832,-0.537895,-1.57626,12.4117,8.55636,9.5965,7.77464,5.95482,5.45855,12.334,5.57899,-4.16698,-3.22307,-4.00143,-3.31931,-3.41474,-3.39898,-3.38204,-3.87294,12.3347,-3.37353,12.2267,-14.3874,20.9584,-9.80995,18.4049,-7.87298 --7.78222,0.989477,0.448911,3,15,0,14.6143,5.61088,3.44596,1.0472,-1.71596,0.188525,-2.43895,0.420742,0.189007,-1.30671,0.449082,9.21948,6.26053,7.06074,1.10802,-0.302249,-2.79364,6.26219,7.1584,-4.41078,-3.23665,-3.88922,-3.46029,-3.11917,-3.3763,-3.9104,-3.84548,-1.15919,6.24114,-24.4539,0.623086,0.237666,10.3865,20.5584,34.0654 --7.32644,0.663627,0.737719,3,7,0,13.8988,1.29533,3.25929,1.42639,-0.521033,-0.263429,-0.169302,-0.350576,0.774478,-1.49182,2.26779,5.94434,0.436744,0.152704,-3.56693,-0.402862,0.743531,3.81958,8.68672,-4.70799,-3.50754,-3.71094,-3.77824,-3.11836,-3.31711,-4.22694,-3.82625,-10.006,14.2551,12.6366,1.07069,9.7999,13.563,-8.41505,-17.0821 --8.17931,0.979928,0.524333,3,7,0,14.0841,8.83313,1.08522,-0.539494,-0.924209,0.4607,-0.231917,0.372184,-1.44057,-2.09291,-0.576297,8.24767,9.33309,9.23704,6.56187,7.83017,8.58145,7.2698,8.20773,-4.494,-3.23041,-3.984,-3.31763,-3.59747,-3.55435,-3.79721,-3.8315,17.3969,1.44393,-14.2734,10.9124,12.7204,-16.936,12.2053,-1.23929 --6.24318,0.577608,0.833791,3,11,0,10.9478,2.81397,3.30269,0.069143,-1.37407,0.0206697,0.4816,0.757309,-1.19554,-1.3009,0.407744,3.04232,2.88223,5.31513,-1.48252,-1.72417,4.40454,-1.13455,4.16062,-5.01118,-3.35248,-3.82657,-3.61416,-3.1194,-3.36473,-5.05218,-3.90415,8.60166,7.21377,-3.5585,-0.491256,-1.87184,-5.81466,-9.90152,13.7885 --6.58453,0.999496,0.479467,3,7,0,9.25597,6.4013,2.16305,0.26739,0.966798,-1.1501,0.533711,-0.225844,2.06876,0.271687,-1.05076,6.97968,3.91358,5.91279,6.98898,8.49254,7.55575,10.8761,4.12845,-4.60889,-3.30502,-3.84668,-3.31683,-3.67239,-3.49443,-3.47527,-3.90493,1.80786,4.76269,-22.5122,-13.1215,-11.6312,18.3662,6.3045,-3.46229 --9.94095,0.392554,0.795574,3,15,0,15.7763,-5.66731,2.39318,-0.176916,0.945809,-1.26896,-0.171985,0.866487,0.741727,-0.452751,-0.206199,-6.0907,-8.70417,-3.59365,-6.75082,-3.40382,-6.0789,-3.89222,-6.16078,-6.2096,-4.61667,-3.69222,-4.09818,-3.15183,-3.5239,-5.61787,-4.31828,-20.9774,1.05061,12.7205,6.02098,-3.77651,-5.99215,3.03925,22.8977 --11.2385,0.989828,0.291833,4,15,0,15.709,-3.82198,0.195447,1.33031,-1.23753,1.12922,0.201017,-0.718038,-0.585103,0.539107,0.503355,-3.56197,-3.60128,-3.96232,-3.71661,-4.06385,-3.78269,-3.93634,-3.7236,-5.84067,-3.89447,-3.69334,-3.7914,-3.17411,-3.41136,-5.62754,-4.19084,9.81895,-10.0544,-12.3417,-27.6222,-14.4623,21.7092,-6.64485,20.5328 --9.75361,0.95704,0.471076,3,15,0,16.5806,-3.27502,0.329995,1.24798,-0.986576,1.0012,0.756827,-0.408749,0.108631,-0.250587,0.874217,-2.86319,-2.94463,-3.4099,-3.35771,-3.60058,-3.02527,-3.23917,-2.98653,-5.74374,-3.82045,-3.69186,-3.76015,-3.15791,-3.38379,-5.47704,-4.15591,3.87237,-11.6659,14.8149,1.00385,-1.70899,8.93919,13.9833,20.6791 --7.23815,0.942666,0.697171,3,7,0,12.952,8.11696,1.38094,-1.14711,1.61479,-0.963381,0.462607,-0.252984,-0.274165,0.614476,-0.992272,6.53287,6.78659,7.76761,8.96552,10.3469,8.7558,7.73836,6.74669,-4.65107,-3.22889,-3.91798,-3.3328,-3.91093,-3.5654,-3.74803,-3.8519,-1.44173,6.13489,-17.0743,26.4591,15.179,-9.00281,4.64356,9.13032 --5.97823,0.941627,0.990975,2,3,0,10.1037,6.55029,3.7735,1.94231,-1.49105,1.25676,-0.268936,-0.58053,0.643442,-0.855746,0.70132,13.8796,11.2927,4.35966,3.32114,0.923807,5.53546,8.97832,9.19673,-4.07007,-3.27573,-3.79732,-3.37276,-3.13901,-3.40184,-3.62848,-3.82144,18.5283,-4.01052,13.9712,-12.01,6.18707,12.3163,5.08792,-10.5757 --5.97823,8.28137e-103,1.39822,1,2,1,15.1101,6.55029,3.7735,1.94231,-1.49105,1.25676,-0.268936,-0.58053,0.643442,-0.855746,0.70132,13.8796,11.2927,4.35966,3.32114,0.923807,5.53546,8.97832,9.19673,-4.07007,-3.27573,-3.79732,-3.37276,-3.13901,-3.40184,-3.62848,-3.82144,20.3353,-2.39021,-11.3495,46.1879,-20.0119,1.27016,27.0745,14.0145 --6.83722,0.995167,0.207039,5,31,0,11.726,2.38898,1.79113,-1.09371,1.35582,-1.43965,0.0379336,-0.278216,0.82639,1.17189,-0.41334,0.430001,-0.189619,1.89066,4.488,4.81744,2.45692,3.86915,1.64863,-5.31611,-3.55687,-3.73824,-3.34291,-3.32507,-3.3256,-4.21993,-3.97467,-7.37077,-8.39436,0.639116,12.1872,5.33594,15.4654,-19.4058,-18.4547 --5.48605,0.999629,0.333652,4,15,0,9.88018,7.14083,6.01208,1.62727,-1.58451,-0.495227,-0.45415,0.774386,-0.182741,0.418287,1.07221,16.9241,4.16349,11.7965,9.65561,-2.38535,4.41045,6.04218,13.587,-3.8996,-3.29512,-4.11914,-3.34598,-3.12801,-3.3649,-3.93647,-3.8132,34.2524,-5.21485,16.4412,20.042,-8.07964,-5.46564,-5.84112,26.7967 --6.68869,0.705178,0.539888,3,7,0,8.9855,1.19389,2.91824,-1.48551,1.40825,0.561947,0.636385,-0.424647,0.77129,0.300087,-1.0276,-3.14119,2.83378,-0.0453319,2.06961,5.30351,3.05101,3.4447,-1.8049,-5.78204,-3.35497,-3.70858,-3.41728,-3.36144,-3.33422,-4.28081,-4.10341,-19.6836,-7.8281,-12.4388,-0.754501,2.33899,0.500826,7.5226,4.948 --6.68869,0,4.5439,0,1,1,11.6833,1.19389,2.91824,-1.48551,1.40825,0.561947,0.636385,-0.424647,0.77129,0.300087,-1.0276,-3.14119,2.83378,-0.0453319,2.06961,5.30351,3.05101,3.4447,-1.8049,-5.78204,-3.35497,-3.70858,-3.41728,-3.36144,-3.33422,-4.28081,-4.10341,-19.753,3.87564,0.150902,-12.8688,7.17388,3.34523,25.9592,5.45161 --7.75767,0.895994,0.655127,3,7,0,12.4299,7.66715,3.89192,2.26297,-1.6495,-0.550816,-0.878508,0.333368,0.877007,-0.0391033,-1.70927,16.4745,5.52342,8.96459,7.51496,1.24742,4.24807,11.0804,1.01483,-3.92218,-3.25219,-3.97112,-3.31793,-3.14734,-3.36043,-3.46093,-3.99554,-2.73731,-0.231131,6.88031,2.85803,3.24151,20.1702,11.4136,12.439 --9.41167,0.904436,0.642465,3,7,0,14.6969,9.24734,3.92108,-2.03429,-0.403906,1.73572,-1.25241,0.176161,-0.826034,0.629674,0.236123,1.27073,16.0533,9.93808,11.7163,7.66359,4.33655,6.00839,10.1732,-5.21466,-3.5458,-4.01847,-3.40875,-3.57948,-3.36284,-3.94052,-3.81446,24.7942,26.5284,-2.20037,-0.22837,5.37148,10.7584,10.8176,30.5918 --7.33612,0.828739,0.742458,2,7,0,14.4224,11.1466,2.61682,0.913491,0.517826,1.30683,-1.23979,0.708525,0.210122,0.512101,0.577496,13.5371,14.5664,13.0007,12.4867,12.5017,7.90232,11.6965,12.6578,-4.09183,-3.43711,-4.19157,-3.44123,-4.24144,-3.5137,-3.4202,-3.80998,19.775,11.9461,-15.475,19.6593,20.7461,-0.0501405,14.9841,25.2593 --6.54426,0.957519,0.742001,3,7,0,11.326,3.74362,5.93246,-0.0722143,-1.18953,0.692711,-0.226829,1.09787,1.02825,-1.3011,-1.53498,3.31521,7.8531,10.2567,-3.97512,-3.31322,2.39796,9.84367,-5.36261,-4.98108,-3.22163,-4.03477,-3.81457,-3.14919,-3.32491,-3.55415,-4.27453,-4.93893,11.3156,-9.746,8.01053,-2.80404,16.1904,12.4104,-31.7783 --8.17461,0.137493,1.13923,2,3,0,11.8255,13.1399,9.51967,0.881706,-0.542004,-0.180365,-1.16151,0.586259,1.37804,-1.36449,0.260635,21.5334,11.4229,18.7209,0.150416,7.98019,2.08273,26.2584,15.6211,-3.71991,-3.2801,-4.61301,-3.5107,-3.61396,-3.32168,-3.56253,-3.82954,26.7684,8.68749,21.6265,-7.12186,-2.10502,-3.09062,42.2967,36.6966 --8.36978,0.99938,0.141196,5,31,0,11.335,-2.344,1.18667,-0.277053,0.18573,-0.139647,1.10725,-0.848479,-0.656629,1.83278,-0.122117,-2.67277,-2.50971,-3.35086,-0.169087,-2.1236,-1.03005,-3.1232,-2.48891,-5.7177,-3.77379,-3.69177,-3.52921,-3.12396,-3.33386,-5.45247,-4.13327,-1.42224,-4.37656,-0.00248328,-9.07933,5.81007,4.31988,1.76819,21.1921 --6.89083,0.994394,0.255077,4,15,0,12.3728,9.27122,4.91952,0.612908,-1.3081,0.703542,-0.528148,1.37191,1.16453,-1.16628,-1.07129,12.2864,12.7323,16.0203,3.53368,2.83601,6.67299,15.0001,4.00101,-4.17569,-3.3335,-4.39812,-3.36648,-3.207,-3.44982,-3.26652,-3.90805,17.8963,11.0692,50.4269,5.26394,15.3489,-10.7758,15.1208,59.588 --4.21752,0.995014,0.464369,3,7,0,9.20073,6.4701,5.54329,-0.28591,-0.68885,-0.190425,-0.869789,0.0134363,0.415552,0.325164,-1.57953,4.88521,5.41451,6.54458,8.27257,2.6516,1.6486,8.77362,-2.2857,-4.81431,-3.25495,-3.86945,-3.32353,-3.19847,-3.31857,-3.64715,-4.12425,13.0983,-8.39576,16.5617,24.2889,10.7673,-14.7758,-12.709,2.69444 --4.21752,0.308463,0.857451,2,3,0,12.7789,6.4701,5.54329,-0.28591,-0.68885,-0.190425,-0.869789,0.0134363,0.415552,0.325164,-1.57953,4.88521,5.41451,6.54458,8.27257,2.6516,1.6486,8.77362,-2.2857,-4.81431,-3.25495,-3.86945,-3.32353,-3.19847,-3.31857,-3.64715,-4.12425,-17.3121,-10.7526,23.3494,25.8128,5.04074,7.15416,5.76397,-19.6511 --3.61312,0.977028,0.181896,4,31,0,10.4504,3.98603,5.03016,0.491806,-1.26358,0.292098,-0.593041,-0.0976702,0.553826,0.244497,-1.24185,6.45989,5.45533,3.49473,5.21589,-2.36996,1.00293,6.77186,-2.26068,-4.65805,-3.2539,-3.77391,-3.32999,-3.12775,-3.31683,-3.85188,-4.12315,0.4954,1.89808,3.61201,-15.9061,17.2418,-6.49083,5.55119,-9.22046 --4.6059,0.963863,0.320902,4,15,0,8.305,8.05098,11.4911,0.0933146,-0.102405,-0.610494,-1.09697,0.461579,0.537486,-0.758424,0.604193,9.12326,1.03575,13.355,-0.664121,6.87424,-4.55437,14.2273,14.9938,-4.41884,-3.46403,-4.21396,-3.55956,-3.4989,-3.44432,-3.29269,-3.82314,42.723,-11.0549,-7.66192,-14.6595,24.5372,-13.3032,13.8187,9.31726 --14.2093,0.430352,0.543141,2,3,0,16.819,8.74279,1.48168,2.16797,-1.01826,0.470238,-2.29623,-0.10579,-1.37066,0.298913,2.96135,11.955,9.43953,8.58604,9.18568,7.23405,5.34052,6.7119,13.1306,-4.19908,-3.23188,-3.95371,-3.33657,-3.53468,-3.39469,-3.85863,-3.81128,37.6585,10.7218,-11.4586,4.71917,13.8369,-2.19167,-3.40524,40.3797 --13.3677,0.999488,0.173712,4,15,0,17.8609,10.2169,2.58504,2.19963,-1.26966,0.116222,-2.48155,-0.409796,-0.670892,0.794231,2.60207,15.903,10.5173,9.15756,12.27,6.93478,3.80199,8.48262,16.9434,-3.95218,-3.25321,-3.98021,-3.4316,-3.50481,-3.34928,-3.67443,-3.84702,15.1262,21.6411,-15.8115,14.4594,14.3545,31.1394,3.74197,3.68636 --11.9919,0.999367,0.329362,3,7,0,16.9902,8.39925,1.33292,1.63168,-1.86866,0.775112,-2.37732,-0.482787,-1.30985,0.77171,1.65738,10.5741,9.43241,7.75573,9.42787,5.90847,5.23047,6.65333,10.6084,-4.30179,-3.23178,-3.91748,-3.34119,-3.41077,-3.39079,-3.86526,-3.8123,7.92645,18.8211,-22.6758,17.4817,-11.1122,-20.6708,-2.44207,-22.724 --12.8553,0.845733,0.620155,3,7,0,20.4007,4.15841,7.33441,1.33892,-1.82356,-0.696501,2.33796,0.463983,-1.54093,-0.172556,-0.0411001,13.9786,-0.95002,7.56145,2.89281,-9.21632,21.306,-7.14341,3.85696,-4.06388,-3.62204,-3.90939,-3.38654,-3.53288,-5.02069,-6.38248,-3.91164,10.5935,-2.73867,0.587471,19.3827,-5.89067,21.3227,-2.06811,8.38531 --6.32873,0.733202,0.724627,2,3,0,15.6947,3.95083,1.07646,0.274305,-1.77887,0.078636,1.75434,-0.433446,0.134754,-0.430271,-0.0378788,4.2461,4.03547,3.48424,3.48766,2.03595,5.8393,4.09588,3.91005,-4.88087,-3.30011,-3.77365,-3.36781,-3.17306,-3.41361,-4.18815,-3.91031,25.4874,-10.9447,7.38123,10.694,-0.127854,12.3268,1.9685,-0.53384 --11.895,0.843675,0.601129,2,3,0,13.1072,4.52025,3.41119,-0.0169611,2.06097,1.29999,3.03912,0.399596,-0.0401653,-0.862787,0.0514736,4.46239,8.95476,5.88334,1.57712,11.5506,14.8873,4.38324,4.69583,-4.85814,-3.22608,-3.84566,-3.43835,-4.08849,-4.11376,-4.1486,-3.89164,-1.3827,8.07966,2.18954,-8.11127,19.7157,24.7035,7.49934,-1.01362 --6.93353,0.908669,0.697653,3,7,0,14.8989,0.806144,4.13635,-0.285164,0.298957,0.531954,2.32895,0.462332,-0.473087,0.00895482,-0.264547,-0.373394,3.00649,2.71851,0.843184,2.04273,10.4395,-1.15071,-0.288115,-5.41599,-3.3462,-3.7554,-3.47347,-3.17331,-3.68503,-5.05527,-4.04233,-3.75866,1.05089,-11.0635,-6.24674,14.7923,2.66118,3.89087,13.1985 --3.80876,0.747992,0.980959,2,3,0,7.49722,7.07747,8.90917,-0.51912,-0.227003,-0.164515,-1.29531,-0.42608,0.905546,0.223302,0.336252,2.45254,5.61178,3.28145,9.06691,5.05506,-4.46269,15.1451,10.0732,-5.07737,-3.25004,-3.76859,-3.33449,-3.34248,-3.44014,-3.26227,-3.81504,5.21804,4.63471,25.4247,21.5392,4.91944,-23.8293,8.11599,5.49259 --3.80876,0.11454,0.853226,2,3,0,6.90962,7.07747,8.90917,-0.51912,-0.227003,-0.164515,-1.29531,-0.42608,0.905546,0.223302,0.336252,2.45254,5.61178,3.28145,9.06691,5.05506,-4.46269,15.1451,10.0732,-5.07737,-3.25004,-3.76859,-3.33449,-3.34248,-3.44014,-3.26227,-3.81504,-21.2095,0.795127,-8.76434,2.70568,-8.62763,-7.0268,26.6371,9.46479 --6.36291,0.996333,0.116185,5,31,0,8.12721,10.7355,3.09739,-0.139914,0.606714,-0.503395,-1.46187,-1.37617,0.153987,-0.38668,0.31447,10.3022,9.17631,6.47299,9.53782,12.6147,6.20755,11.2125,11.7096,-4.32302,-3.22844,-3.8668,-3.34345,-4.26037,-3.42889,-3.45188,-3.80944,8.96458,18.0315,10.2617,25.0279,25.734,4.62217,20.1918,20.0554 --13.4096,0.911777,0.212408,4,15,0,20.4264,-0.0237829,0.222805,0.886322,-1.64473,1.90293,-0.529232,-2.11019,0.758243,0.689573,-1.67507,0.173694,0.4002,-0.493943,0.129857,-0.390238,-0.141698,0.145157,-0.396998,-5.34766,-3.51031,-3.70379,-3.51187,-3.11846,-3.32222,-4.8155,-4.04648,-15.8261,7.36656,-19.7816,-9.31362,5.82252,-28.9203,-2.85905,8.89727 --6.17168,1,0.30134,3,7,0,14.2704,3.74691,0.223348,0.639881,-0.0150226,0.210815,-0.55072,-1.5161,0.319481,-0.073805,-0.220017,3.88982,3.79399,3.40829,3.73042,3.74355,3.62391,3.81826,3.69777,-4.91877,-3.30998,-3.77173,-3.36101,-3.25506,-3.34528,-4.22713,-3.91568,13.4463,9.19003,13.4445,12.8136,14.9807,-13.9245,4.5518,19.4301 --4.45194,0.666693,0.546925,2,3,0,9.7871,2.97454,4.84674,-0.272363,-0.532849,1.43176,-0.181676,-0.66312,-0.678392,0.193886,-0.249365,1.65447,9.91389,-0.239428,3.91426,0.39196,2.09401,-0.313449,1.76594,-5.1694,-3.23984,-3.70641,-3.35618,-3.12812,-3.32178,-4.89844,-3.97094,-10.8321,24.9722,7.82125,-9.80743,9.87633,-7.27534,11.6274,-13.1146 --7.77857,0.950443,0.382297,4,15,0,9.54239,4.36935,2.80807,-0.243216,-0.920297,2.25337,-0.817533,-0.874205,-0.165254,1.65184,-0.944442,3.68638,10.697,1.91452,9.00782,1.78509,2.07366,3.9053,1.71729,-4.94066,-3.25789,-3.7387,-3.33349,-3.16404,-3.3216,-4.21483,-3.97248,37.857,32.9719,26.1276,16.4393,15.2015,-3.97503,2.38774,3.41786 --10.0022,0.794132,0.596596,3,7,0,14.5001,5.83457,2.35135,0.0670508,0.846716,-1.69743,1.32405,-0.583306,0.410324,-2.67856,0.958629,5.99223,1.84331,4.46301,-0.463668,7.82549,8.94787,6.79938,8.08864,-4.7033,-3.41105,-3.80031,-3.54703,-3.59696,-3.57786,-3.84879,-3.83292,2.1286,8.46078,-4.14424,-0.950831,8.48291,8.44843,30.4426,18.2009 --7.13895,1,0.59795,3,7,0,12.1685,4.15082,1.10933,-0.00278219,0.190376,-0.916948,2.07823,0.35657,-0.385857,-1.19099,0.946534,4.14773,3.13363,4.54637,2.82962,4.36201,6.45625,3.72278,5.20084,-4.89128,-3.33993,-3.80275,-3.3887,-3.29364,-3.43985,-4.24072,-3.88065,-2.06296,8.23033,1.6267,1.62644,6.93811,-1.51863,-6.83535,-25.8921 --6.10773,0.390179,1.05818,2,4,1,13.8161,8.37664,4.46578,1.17994,-1.07761,0.907198,-1.37099,-1.06105,0.804253,1.33957,0.00713661,13.646,12.428,3.63822,14.3589,3.56426,2.25409,11.9683,8.40851,-4.08485,-3.31956,-3.77759,-3.54061,-3.24476,-3.32333,-3.40343,-3.82922,7.51507,8.53949,6.70452,9.55009,-7.62114,5.75462,18.4617,53.4729 --6.20065,0.958821,0.349163,4,15,0,11.1498,0.160581,5.3678,-0.278627,0.563672,-0.798347,0.233726,-0.789699,-0.265693,-1.17407,0.0645818,-1.33503,-4.12479,-4.07836,-6.14157,3.18626,1.41518,-1.26561,0.507244,-5.53931,-3.95658,-3.6938,-4.03047,-3.22434,-3.31755,-5.07734,-4.01314,-6.55213,-3.27169,-4.94174,11.3325,5.12732,11.4866,-4.09643,18.7406 --5.06935,0.747795,0.549782,3,7,0,13.1077,5.6887,4.15607,-1.21653,0.819605,4.26179e-05,0.556153,-0.579756,0.801025,-0.836421,0.504086,0.632706,5.68887,3.27919,2.21247,9.09504,8.00011,9.01781,7.78371,-5.29136,-3.24823,-3.76854,-3.41155,-3.74524,-3.51932,-3.62492,-3.83674,-9.44441,15.5936,10.3635,-3.59174,17.8194,2.38337,21.9079,47.5783 --4.26496,0.979742,0.486679,3,7,0,7.69792,7.23124,3.70559,1.02414,-0.618028,0.232753,-1.09714,-0.890558,0.243348,0.648435,-1.01161,11.0263,8.09373,3.9312,9.63408,4.94108,3.16567,8.13299,3.48263,-4.26723,-3.22157,-3.78536,-3.3455,-3.33404,-3.33621,-3.70831,-3.92126,31.632,5.14352,6.83569,13.4787,6.60741,-14.1947,-9.57899,6.55669 --3.88595,0.962983,0.802213,3,11,0,6.43207,4.04109,3.4406,0.357254,0.267439,-0.461398,-0.975356,0.0975787,0.148513,1.43948,-0.162614,5.27026,2.45361,4.37682,8.99375,4.96124,0.685284,4.55207,3.4816,-4.77508,-3.37534,-3.79781,-3.33326,-3.33552,-3.31724,-4.12576,-3.92129,-16.0101,-12.3039,-2.5608,-5.68094,-2.57509,-1.55142,17.1229,-5.12597 --5.1888,0.369468,1.25471,2,3,0,6.99628,3.27489,5.97391,0.176719,-0.823268,1.5024,-0.198697,-1.54197,0.677236,-1.00162,-0.0758402,4.33059,12.2501,-5.93671,-2.70871,-1.64324,2.08789,7.32063,2.82182,-4.87197,-3.31184,-3.70837,-3.70633,-3.11872,-3.32172,-3.79177,-3.93931,-8.18876,2.11104,-13.0514,-5.09564,1.53271,5.02581,10.2615,33.7611 --3.9913,0.977114,0.409211,3,7,0,8.38182,7.87589,7.62708,0.690122,-0.137716,-1.24803,0.478919,-0.187446,0.197379,0.19381,0.0441737,13.1395,-1.64293,6.44623,9.3541,6.82552,11.5287,9.38132,8.21281,-4.11773,-3.68645,-3.86581,-3.33973,-3.49418,-3.7749,-3.59293,-3.83144,36.6955,-11.9526,-16.2025,19.9854,8.22125,5.67137,7.13043,8.47951 --5.98214,0.197995,0.662851,3,7,0,16.3255,0.97848,0.456019,-0.832289,-0.29266,0.950045,-0.0482288,-0.10792,-0.522629,-0.855154,-0.254269,0.59894,1.41172,0.929266,0.588513,0.845021,0.956486,0.740151,0.862528,-5.29547,-3.43855,-3.72168,-3.4867,-3.13718,-3.31684,-4.71104,-4.00074,21.758,-11.9647,27.5937,-9.74752,-11.912,14.3256,3.68296,6.57383 --6.41691,0.997886,0.14183,5,31,0,9.48537,7.00273,2.89653,1.15669,0.440351,-1.68034,-0.355585,-0.590503,0.660185,1.60829,0.510616,10.3531,2.13559,5.29233,11.6612,8.27822,5.97277,8.91498,8.48175,-4.31902,-3.39348,-3.82583,-3.40661,-3.64755,-3.41902,-3.63421,-3.82841,2.69644,-25.9572,2.28752,16.4917,20.4447,-6.54011,10.73,16.3417 --9.87659,0.973688,0.242471,4,15,0,12.2107,3.16623,2.03708,-1.17089,-1.40973,1.85089,1.0823,-1.12004,-1.05256,-1.6859,0.50966,0.781026,6.93665,0.88463,-0.268075,0.294509,5.37097,1.02209,4.20445,-5.27337,-3.22718,-3.721,-3.53512,-3.12651,-3.39578,-4.66277,-3.90309,12.8729,1.28336,4.1101,-8.05423,5.72136,15.8086,0.595731,0.998714 --4.24757,0.948339,0.386527,2,7,0,17.0337,7.22563,1.47123,0.0779309,-0.163142,-0.753444,-1.10813,-0.454743,0.67292,0.488908,0.00380154,7.34028,6.11714,6.5566,7.94493,6.98561,5.59532,8.21565,7.23122,-4.57549,-3.23925,-3.8699,-3.32052,-3.50981,-3.40409,-3.70019,-3.8444,26.7582,8.8217,-7.4366,10.2063,13.3583,-0.713615,11.46,-27.7734 --4.97097,0.280281,0.573804,3,7,0,8.83799,1.75541,7.6312,1.3665,-0.870871,0.937425,-1.00575,0.46269,1.71209,-0.667736,0.549201,12.1834,8.90909,5.2863,-3.34021,-4.89038,-5.91968,14.8207,5.94648,-4.18291,-3.22566,-3.82563,-3.75865,-3.20959,-3.51469,-3.27206,-3.86586,-16.6192,0.64949,11.7563,13.2543,4.88018,-2.67216,14.7297,1.28415 --4.35913,0.940196,0.158208,4,15,0,10.092,1.92422,2.93803,1.40623,-0.944335,0.0767954,-0.716652,0.361166,1.30997,-0.127134,0.531709,6.05577,2.14984,2.98533,1.55069,-0.850273,-0.181332,5.77296,3.48639,-4.6971,-3.39265,-3.7615,-3.43954,-3.1163,-3.3226,-3.96903,-3.92116,-21.39,-6.6603,-4.31123,5.82539,4.67888,1.40101,-6.25628,10.4877 --6.82999,0.957984,0.230277,3,15,0,10.5462,4.22058,0.821842,0.256571,-1.53117,1.92493,0.38035,0.55665,0.0734091,0.243757,0.854812,4.43144,5.80257,4.67806,4.42091,2.9622,4.53317,4.28091,4.9231,-4.86138,-3.24567,-3.80667,-3.34432,-3.21307,-3.36842,-4.16259,-3.8866,12.6931,1.00213,2.37857,11.9361,-2.39338,10.0035,2.77852,-21.8273 --6.73553,0.993474,0.348315,3,7,0,11.8816,1.39867,4.6772,-0.250461,0.167227,0.0095607,0.0987576,2.04281,2.13263,-0.313328,-0.449106,0.227217,1.44339,10.9533,-0.0668264,2.18082,1.86058,11.3734,-0.701888,-5.34105,-3.43647,-4.07179,-3.5232,-3.17862,-3.31989,-3.44108,-4.05829,-1.39409,-3.32668,-14.0065,8.218,7.46802,6.91138,20.6995,4.45953 --11.206,0.175665,0.571395,3,7,0,14.0554,3.71729,0.321602,-0.675379,-0.2117,0.714739,0.178744,2.91151,2.08817,0.111589,0.390077,3.50009,3.94715,4.65364,3.75318,3.64921,3.77478,4.38885,3.84274,-4.96087,-3.30365,-3.80594,-3.3604,-3.24959,-3.34865,-4.14784,-3.912,32.2158,0.999402,6.50157,11.4171,-3.65651,5.75987,24.4243,0.147861 --12.8227,0.998016,0.1266,5,31,0,16.9103,0.428876,0.255698,0.690893,-0.0864748,-0.0295342,0.485464,2.81844,1.33972,1.75028,-1.28982,0.605536,0.421324,1.14955,0.87642,0.406765,0.553008,0.77144,0.0990717,-5.29467,-3.50871,-3.72516,-3.47179,-3.12838,-3.31766,-4.70564,-4.02788,7.40531,-20.7547,25.6995,8.36809,6.58613,-16.6232,1.69512,11.8822 --8.12181,0.998236,0.20997,4,15,0,16.5448,8.61921,2.749,-0.590889,-0.0330751,0.0376366,-0.775689,-1.3738,-1.98915,-1.14336,0.926934,6.99486,8.72268,4.84263,5.47612,8.52829,6.48684,3.15103,11.1674,-4.60747,-3.22413,-3.81166,-3.32643,-3.67658,-3.44124,-4.32398,-3.81038,-18.4201,5.46507,13.9715,-7.51287,-14.189,0.0143999,-11.2822,-2.00301 --7.98594,0.777823,0.345951,3,15,0,12.4728,9.94565,16.756,1.4058,-1.09152,0.0382027,0.0534087,-0.612379,1.57121,-0.0170304,-0.848088,33.5012,10.5858,-0.315388,9.66028,-8.34385,10.8406,36.2729,-4.26492,-3.69424,-3.25495,-3.7056,-3.34608,-3.44908,-3.71699,-4.89102,-4.21756,11.6795,6.91632,10.9604,22.3117,-3.52677,21.7451,21.5852,-15.6131 --6.59476,1,0.334324,4,15,0,12.3267,4.15437,1.13044,-1.47407,0.361871,-0.744981,0.645559,-0.206555,-0.442403,0.994159,-1.40666,2.48802,3.31221,3.92087,5.27821,4.56344,4.88414,3.65426,2.56423,-5.07335,-3.3314,-3.78508,-3.32908,-3.30722,-3.37917,-4.25052,-3.94671,3.60907,-9.38255,-12.7769,7.47801,9.12451,-8.05542,-9.25907,22.1435 --5.3016,0.973936,0.547574,3,7,0,10.6988,4.42469,7.79552,1.70953,-0.598372,0.665467,-1.24727,0.449361,0.475484,0.655809,1.7037,17.7513,9.61234,7.92769,9.53706,-0.239929,-5.29846,8.13133,17.7059,-3.8604,-3.23452,-3.92476,-3.34343,-3.11973,-3.48076,-3.70848,-3.85955,7.56846,8.38923,5.18273,7.85331,-2.08147,-16.3306,11.3556,14.4256 --5.3016,0.175114,0.837787,4,21,0,9.17522,4.42469,7.79552,1.70953,-0.598372,0.665467,-1.24727,0.449361,0.475484,0.655809,1.7037,17.7513,9.61234,7.92769,9.53706,-0.239929,-5.29846,8.13133,17.7059,-3.8604,-3.23452,-3.92476,-3.34343,-3.11973,-3.48076,-3.70848,-3.85955,9.77996,19.2505,31.5473,25.2021,-1.64898,20.3294,16.9106,6.09941 --4.16897,0.996865,0.196357,4,15,0,8.19808,3.22672,3.24071,-0.087137,-0.312417,-1.01713,0.300537,1.18575,0.336528,0.688937,0.498071,2.94433,-0.0695211,7.06938,5.45936,2.21427,4.20067,4.31731,4.84082,-5.02207,-3.54711,-3.88956,-3.32664,-3.17994,-3.35917,-4.1576,-3.88841,3.868,-11.8977,43.6551,-11.6079,-2.70824,12.5019,8.82223,-3.94818 --7.04183,0.966147,0.317194,4,15,0,10.2445,7.08647,1.6123,0.668972,-0.0651638,1.4222,-0.725321,-2.17146,0.670943,-0.400945,0.755725,8.16505,9.37949,3.58541,6.44002,6.9814,5.91703,8.16823,8.30492,-4.50127,-3.23104,-3.77623,-3.31813,-3.50939,-3.41674,-3.70484,-3.83038,-0.476797,0.628902,-1.90068,30.6328,13.7259,-10.1872,2.34425,-1.76494 --5.75536,0.909154,0.474282,3,7,0,15.1934,0.475318,2.83752,0.720181,0.573019,-1.25734,1.28113,0.345081,0.303171,0.644071,-0.655368,2.51885,-3.09241,1.45449,2.30288,2.10127,4.11055,1.33557,-1.38431,-5.06985,-3.83673,-3.73028,-3.408,-3.17553,-3.35682,-4.61004,-4.08576,13.0949,-17.7874,7.30241,-8.69007,7.9082,11.7432,14.499,-12.6285 --8.43932,0.903613,0.618925,3,7,0,10.0562,-2.25341,1.96672,0.681893,0.821954,-1.10201,1.65297,0.04095,0.751204,0.0777583,-1.31663,-0.912319,-4.42076,-2.17288,-2.10048,-0.636856,0.997529,-0.776003,-4.84287,-5.48459,-3.9929,-3.69286,-3.65906,-3.11698,-3.31683,-4.98422,-4.24709,-4.86883,8.1747,7.49805,22.0374,-11.5447,-7.89468,-4.15958,24.7281 --8.43932,0.00786597,0.794796,3,7,0,15.1772,-2.25341,1.96672,0.681893,0.821954,-1.10201,1.65297,0.04095,0.751204,0.0777583,-1.31663,-0.912319,-4.42076,-2.17288,-2.10048,-0.636856,0.997529,-0.776003,-4.84287,-5.48459,-3.9929,-3.69286,-3.65906,-3.11698,-3.31683,-4.98422,-4.24709,-18.1196,6.62223,2.0034,-18.0156,-3.74207,-18.1462,-14.5062,-10.1326 --11.0394,0.996787,0.133451,4,15,0,13.1989,-3.08067,2.20558,0.698468,0.72012,-1.86495,2.06964,0.555229,0.678016,-0.161838,-1.20772,-1.54015,-7.19396,-1.85607,-3.43762,-1.49239,1.48407,-1.58526,-5.7444,-5.56614,-4.37581,-3.69408,-3.76702,-3.11766,-3.3178,-5.13944,-4.29521,-31.2862,13.0408,-49.4587,-1.9032,1.52207,20.4354,-5.42388,-11.5213 --6.02669,0.999973,0.212737,4,15,0,13.6228,7.10103,2.67231,-0.313706,0.593164,-0.51645,0.855896,0.187933,2.04154,-0.930733,0.517989,6.26271,5.72092,7.60325,4.61382,8.68615,9.38825,12.5567,8.48526,-4.67701,-3.24749,-3.91111,-3.34036,-3.69531,-3.60759,-3.36967,-3.82837,-16.0448,17.4702,-1.35523,2.4383,-1.58783,8.753,12.3027,3.1319 --6.04759,0.97947,0.339581,4,15,0,8.55056,4.99191,0.824241,-0.414563,0.99182,1.16293,-1.33249,-0.37185,1.00119,-0.454546,-0.0686326,4.65021,5.95044,4.68541,4.61725,5.8094,3.89361,5.81713,4.93534,-4.83857,-3.24253,-3.80689,-3.34029,-3.40239,-3.35143,-3.96364,-3.88633,12.6524,-3.05271,0.825008,-4.57103,4.20706,-3.69668,13.7983,9.05516 --3.19589,1,0.514903,3,7,0,7.41906,1.8782,3.02538,0.702195,-0.380196,-0.0296503,0.821241,-0.581818,0.0646389,-0.0228372,0.0263404,4.0026,1.7885,0.117982,1.80911,0.727964,4.36276,2.07376,1.95789,-4.90671,-3.41444,-3.71052,-3.42818,-3.13459,-3.36356,-4.48975,-3.96493,18.1806,-9.81804,25.8376,16.6844,7.03624,-2.54352,15.3489,-7.24139 --6.48953,0.764697,0.812917,2,7,0,7.10881,5.54217,0.553185,-0.273836,0.52355,-0.805345,1.11113,0.030355,1.09515,0.322281,1.43174,5.39069,5.09667,5.55896,5.72045,5.83179,6.15683,6.14799,6.33419,-4.76295,-3.26367,-3.83461,-3.3236,-3.40427,-3.42672,-3.92387,-3.85885,7.63211,12.5043,11.6388,-9.88792,15.833,4.76574,12.3994,28.3678 --6.48953,0.240363,0.76062,2,3,0,11.5062,5.54217,0.553185,-0.273836,0.52355,-0.805345,1.11113,0.030355,1.09515,0.322281,1.43174,5.39069,5.09667,5.55896,5.72045,5.83179,6.15683,6.14799,6.33419,-4.76295,-3.26367,-3.83461,-3.3236,-3.40427,-3.42672,-3.92387,-3.85885,-17.1886,4.2733,11.1683,20.8799,5.74504,20.2463,3.12986,12.088 --7.44574,0.993262,0.226224,4,15,0,11.1913,7.42093,0.037802,-0.157993,-0.132479,-0.657708,0.17501,0.427759,-0.0470465,0.464848,0.71929,7.41495,7.39606,7.4371,7.4385,7.41592,7.42754,7.41915,7.44812,-4.56864,-3.22335,-3.90429,-3.31763,-3.55337,-3.48755,-3.7813,-3.84129,0.0860991,-0.351077,7.78854,13.5067,14.0066,-10.5672,1.61164,3.7743 --8.81729,0.971007,0.350765,3,7,0,10.2369,1.86788,0.0311544,0.39692,0.513039,-0.623001,-0.416163,0.0164324,0.147499,1.06636,1.29385,1.88025,1.84847,1.86839,1.9011,1.88386,1.85491,1.87248,1.90819,-5.14308,-3.41073,-3.73782,-3.42427,-3.1675,-3.31985,-4.52201,-3.96648,0.6649,-4.58233,1.1585,-1.48863,-5.51842,15.3385,6.59748,8.38141 --14.9293,0.847648,0.515679,3,7,0,17.2709,1.65562,0.0252286,1.27039,0.0637334,-1.12035,-0.61195,0.28668,0.60033,3.43594,-0.0981137,1.68767,1.62736,1.66286,1.74231,1.65723,1.64019,1.67077,1.65315,-5.16552,-3.42458,-3.73399,-3.43106,-3.15975,-3.31853,-4.55474,-3.97452,-1.15344,4.78078,13.3485,-1.21902,-1.87175,-2.42194,-10.6719,6.26676 --11.1759,0.857481,0.578943,3,7,0,21.9055,6.99397,2.96986,-1.16163,-0.165632,0.767882,-0.466825,2.43859,-0.87206,-2.44248,0.256442,3.54409,9.27447,14.2362,-0.259859,6.50206,5.60756,4.40407,7.75556,-4.95608,-3.22965,-4.27178,-3.53463,-3.46358,-3.40456,-4.14577,-3.83711,22.5524,4.05466,13.7404,-14.1573,6.03756,-3.29911,3.45809,-34.4221 --7.24655,0.999963,0.662875,3,7,0,15.9879,5.4676,2.09753,1.1074,-1.26419,-1.25793,1.2986,-1.01386,0.471213,0.69763,1.55309,7.7904,2.82905,3.341,6.9309,2.81591,8.19145,6.45599,8.72525,-4.53461,-3.35522,-3.77006,-3.31685,-3.20605,-3.53054,-3.88784,-3.82586,1.9149,6.01324,6.91004,26.4173,-18.8635,-4.02449,1.73704,-13.2178 --6.02657,0.251354,1.02591,4,23,0,10.9478,6.20698,1.35979,1.25482,-0.949176,1.0977,-0.0606537,-0.0635018,0.948622,-1.43371,0.57389,7.91326,7.69962,6.12063,4.25744,4.9163,6.1245,7.4969,6.98734,-4.5236,-3.22197,-3.854,-3.34792,-3.33223,-3.42535,-3.7731,-3.84809,-10.6428,-1.3544,11.9186,6.41244,27.215,13.4791,27.1679,11.0911 --3.9529,0.988476,0.324528,3,15,0,8.99384,3.88867,4.99619,-0.20631,-1.24724,-0.944563,0.228656,0.0759351,0.950134,0.629944,-0.382634,2.85791,-0.830548,4.26806,7.036,-2.34276,5.03108,8.63573,1.97696,-5.03171,-3.61142,-3.7947,-3.31684,-3.12729,-3.38398,-3.65997,-3.96434,17.3529,11.2934,-13.966,16.4376,-2.86578,8.53122,25.3137,-5.66451 --5.65616,0.863531,0.489791,3,7,0,7.81322,4.77187,0.649934,1.37588,0.587952,0.783678,-0.796838,-0.447243,-0.389009,-0.554015,0.525824,5.6661,5.28121,4.48119,4.4118,5.154,4.25398,4.51904,5.11362,-4.73544,-3.25848,-3.80084,-3.34451,-3.34994,-3.36059,-4.1302,-3.88249,3.1487,8.50112,1.05286,7.78816,-10.3837,-14.7276,-6.89921,27.685 --4.49197,0.997357,0.566655,3,7,0,7.49324,5.29536,7.98243,0.2078,-0.896465,0.939715,0.325205,0.835644,-0.448798,-0.419891,-0.174353,6.9541,12.7966,11.9658,1.9436,-1.86061,7.89129,1.71286,3.9036,-4.61128,-3.33656,-4.12898,-3.42248,-3.12074,-3.51307,-4.54788,-3.91047,32.1123,3.92658,4.58138,-5.02074,13.5028,10.3179,-0.200604,-7.80946 --4.49197,0.349576,0.864664,2,3,0,12.8468,5.29536,7.98243,0.2078,-0.896465,0.939715,0.325205,0.835644,-0.448798,-0.419891,-0.174353,6.9541,12.7966,11.9658,1.9436,-1.86061,7.89129,1.71286,3.9036,-4.61128,-3.33656,-4.12898,-3.42248,-3.12074,-3.51307,-4.54788,-3.91047,-31.2474,5.4214,-5.63802,-24.0841,3.70935,21.1373,3.46349,12.8291 --8.20942,0.817674,0.343708,4,15,0,12.2847,5.54332,0.0282555,0.639285,0.626075,-0.691051,0.969908,0.243452,0.614607,0.612397,0.209994,5.56139,5.5238,5.5502,5.56063,5.56101,5.57073,5.56069,5.54926,-4.74586,-3.25218,-3.83431,-3.32539,-3.38188,-3.40316,-3.99521,-3.87353,-11.5552,0.899661,8.44435,33.4372,3.83882,9.53064,-12.8908,-14.3225 --8.41706,0.939815,0.361598,3,7,0,13.1218,3.03397,0.0326886,-0.611389,-1.22012,1.1093,-0.0702022,-0.458399,0.115669,-0.447802,0.30806,3.01399,3.07023,3.01899,3.01933,2.99409,3.03168,3.03775,3.04404,-5.01432,-3.34304,-3.76229,-3.38231,-3.21464,-3.33389,-4.34087,-3.93309,21.0372,1.08535,-26.7874,-10.6964,10.8441,-4.16601,-11.2712,-5.72826 --11.9012,0.958608,0.488259,3,15,0,14.4828,5.44612,0.0512667,0.186418,0.534171,-1.85372,-2.16373,-0.368742,0.396297,-1.57351,0.681229,5.45567,5.35108,5.42721,5.36545,5.4735,5.33519,5.46643,5.48104,-4.75643,-3.25661,-3.83023,-3.32787,-3.37484,-3.39449,-4.00698,-3.87489,4.01359,6.34073,-5.85386,1.02841,9.36036,6.63249,22.9273,-26.3792 --11.7404,0.990352,0.682883,3,7,0,16.4959,5.44039,0.103862,-0.82845,-0.279765,1.36138,2.14685,0.351426,-0.0560447,2.18776,0.773341,5.35435,5.58179,5.47689,5.66762,5.41134,5.66337,5.43457,5.52071,-4.7666,-3.25076,-3.83187,-3.32417,-3.3699,-3.4067,-4.01097,-3.8741,-12.6296,-3.54074,7.48236,27.4436,1.64095,17.8702,19.929,-3.15907 --8.85675,0.666667,1.01506,1,3,1,13.6986,3.08954,0.267511,1.12324,-0.114905,0.184041,2.19655,0.585001,1.09664,1.08088,-0.0873241,3.39001,3.13877,3.24603,3.37868,3.0588,3.67714,3.3829,3.06618,-4.97288,-3.33968,-3.76772,-3.37102,-3.21785,-3.34645,-4.28982,-3.93248,-18.9579,-3.02201,18.3291,12.754,6.11976,-8.52079,-5.67241,30.4355 --5.78335,0.445,0.782206,2,7,0,12.7707,4.97794,4.89142,-0.621839,-0.398793,-1.28345,0.475679,-1.40731,-0.523237,0.634439,0.657155,1.93626,-1.29995,-1.90581,8.08124,3.02727,7.30468,2.41857,8.19236,-5.13659,-3.65397,-3.69387,-3.32166,-3.21628,-3.48109,-4.43543,-3.83168,-2.56477,-14.7311,9.46381,3.42315,9.91415,-3.07383,2.49291,-17.1972 --4.91572,1,0.38728,3,15,0,7.88652,5.54843,2.93893,1.37272,0.0539556,1.10589,-0.0466409,0.985596,0.953905,-1.06682,-0.182937,9.58277,8.79856,8.44503,2.41313,5.70701,5.41136,8.35189,5.01079,-4.38075,-3.22471,-3.94736,-3.40377,-3.39384,-3.39725,-3.68695,-3.88469,-3.07239,25.014,22.7116,0.453546,17.1151,15.3728,16.4351,8.99292 --3.20278,0.993084,0.584978,3,7,0,6.76617,2.93484,6.08396,-0.146355,-0.485598,-0.57746,0.724288,-0.7408,0.501798,0.0544239,0.400681,2.04442,-0.578411,-1.57216,3.26595,-0.0195261,7.34138,5.98776,5.37256,-5.12408,-3.58947,-3.69551,-3.37445,-3.1221,-3.483,-3.94299,-3.87709,4.38002,5.85577,-10.5979,-5.37524,-1.7776,-5.16077,10.1339,-14.431 --3.20278,0.104252,0.867988,1,2,1,10.8779,2.93484,6.08396,-0.146355,-0.485598,-0.57746,0.724288,-0.7408,0.501798,0.0544239,0.400681,2.04442,-0.578411,-1.57216,3.26595,-0.0195261,7.34138,5.98776,5.37256,-5.12408,-3.58947,-3.69551,-3.37445,-3.1221,-3.483,-3.94299,-3.87709,0.301144,15.8817,-4.04938,-4.59504,-10.7718,17.8026,10.4494,-36.1843 --6.90208,0.957291,0.22114,4,15,0,10.4735,6.59698,2.56915,-0.3955,0.304908,1.33727,-0.96546,-1.42455,-0.58367,1.45899,0.931703,5.58089,10.0326,2.93711,10.3453,7.38033,4.11657,5.09745,8.99066,-4.74391,-3.24218,-3.76037,-3.36308,-3.54968,-3.35697,-4.0539,-3.82329,9.73018,-7.94914,11.1218,-1.54583,19.3773,3.64617,11.9089,25.814 --8.51849,0.964371,0.30604,4,15,0,15.1428,3.60682,3.79715,1.59591,-1.35718,-0.801902,-0.538632,0.618121,2.6191,-1.41497,0.630834,9.66675,0.561875,5.95392,-1.76605,-1.54659,1.56155,13.5519,6.00219,-4.3739,-3.49815,-3.84811,-3.63437,-3.11801,-3.31814,-3.32045,-3.86483,31.5237,-16.9176,-1.10519,-9.62188,-8.18844,0.738524,22.6856,12.4759 --8.56364,0.951613,0.428101,3,7,0,16.9613,2.31377,1.57314,-0.83055,0.801346,-0.964012,1.2179,1.9122,-0.957814,-1.09111,-0.360657,1.0072,0.797245,5.32192,0.597297,3.57439,4.22969,0.806996,1.74641,-5.24612,-3.48092,-3.82679,-3.48623,-3.24533,-3.35994,-4.69952,-3.97156,-6.14403,12.1942,14.8835,17.7695,5.13675,9.16121,3.67546,-6.32014 --6.47977,0.98828,0.582256,3,7,0,11.6852,7.16993,6.09421,0.857198,-1.20159,0.902228,-0.00348595,-1.80332,2.13002,0.300629,0.306971,12.3939,12.6683,-3.81986,9.00203,-0.152837,7.14868,20.1507,9.04068,-4.16821,-3.33049,-3.69284,-3.3334,-3.12059,-3.47306,-3.24465,-3.82283,10.564,27.7443,-0.901827,21.7668,-11.4944,20.7339,22.3878,-4.55275 --8.54454,0.129651,0.847862,2,3,0,12.9982,-0.113133,12.3151,2.07446,-0.66722,0.618103,-0.0596098,-2.17791,0.425943,-0.559556,1.24792,25.434,7.49884,-26.9342,-7.0041,-8.32999,-0.84723,5.13238,15.2551,-3.64162,-3.22278,-4.81036,-4.12723,-3.44782,-3.33093,-4.0494,-3.82566,-2.02234,4.10745,-21.1425,-2.7998,-29.129,5.77516,17.2346,-7.14345 --11.933,0.717673,0.234192,4,15,0,21.109,11.0364,0.169716,-2.82425,1.21662,-0.284046,0.326986,0.409078,-0.111777,0.100563,0.271015,10.5571,10.9882,11.1058,11.0535,11.2429,11.0919,11.0174,11.0824,-4.30311,-3.26617,-4.08015,-3.38473,-4.0414,-3.73769,-3.46531,-3.81061,-0.736226,0.155586,-4.48213,14.9469,-7.91144,11.7994,9.90722,-18.2956 --7.93507,0.997608,0.202787,4,15,0,17.6007,-1.30845,9.97671,2.33832,-0.385861,-0.821475,-0.194841,1.72181,0.565169,0.357718,0.299444,22.0203,-9.50407,15.8695,2.26039,-5.15807,-3.25233,4.33007,1.67901,-3.70645,-4.75349,-4.38695,-3.40966,-3.22289,-3.39155,-4.15586,-3.9737,7.5535,-29.0943,-7.18229,8.87278,-18.3101,-6.59698,-3.36774,-21.3705 --9.06729,0.990672,0.300468,4,15,0,13.1195,7.28789,0.552187,-0.429248,0.484334,1.32935,0.907966,-2.6088,0.422499,-0.255845,0.182032,7.05086,8.02194,5.84734,7.14661,7.55533,7.78926,7.52119,7.38841,-4.60225,-3.22153,-3.84441,-3.31692,-3.56798,-3.5073,-3.77055,-3.84213,12.9076,22.6872,11.9431,5.37253,7.90947,-3.39115,19.6046,24.4568 --7.59252,0.584136,0.437777,3,7,0,13.7175,7.99261,6.73443,0.211365,-0.178782,0.801359,0.530102,-2.45615,0.392136,-1.40208,0.687278,9.41603,13.3893,-8.54816,-1.44959,6.78861,11.5625,10.6334,12.621,-4.39446,-3.36675,-3.75165,-3.61186,-3.49062,-3.77786,-3.49286,-3.80991,-9.75416,28.3854,6.38559,-6.94593,-11.8458,15.0152,11.0402,28.1887 --10.8969,0.984379,0.293925,4,15,0,14.8493,9.75917,3.48844,-0.681008,-1.83963,-0.547201,-0.608487,-3.25433,0.588179,1.00772,0.0765927,7.38351,7.85029,-1.59337,13.2745,3.34171,7.6365,11.811,10.0264,-4.57152,-3.22164,-3.69539,-3.47952,-3.23252,-3.49883,-3.41304,-3.81532,20.6144,5.92277,7.33972,13.4146,2.82179,24.0215,3.4197,-3.44847 --7.93875,1,0.421773,3,7,0,15.2945,4.33899,4.71618,1.05077,-1.38728,1.9167,-1.1306,-2.24388,0.295424,-0.26181,-0.103239,9.29462,13.3785,-6.24355,3.10425,-2.20367,-0.993094,5.73226,3.8521,-4.40453,-3.36616,-3.71208,-3.37955,-3.12511,-3.33325,-3.97401,-3.91176,13.919,10.676,-3.07475,8.74344,8.26414,-13.1278,4.82022,-17.7348 --9.58164,0.55538,0.621275,3,7,0,13.8528,1.36409,1.9678,-0.447547,0.637668,-1.35491,2.04628,2.30076,0.0239687,0.0505811,0.195603,0.483406,-1.30211,5.89154,1.46362,2.61889,5.39076,1.41126,1.749,-5.30957,-3.65417,-3.84594,-3.44349,-3.19701,-3.3965,-4.59746,-3.97148,-7.65104,-9.12455,-21.6335,10.4793,7.17384,8.84468,8.50927,13.1233 --10.1471,0.971663,0.396666,3,7,0,14.5554,-2.23156,4.25501,1.40158,0.531012,-0.0498838,2.62274,1.29952,-0.330387,0.177445,0.980285,3.73219,-2.44381,3.29791,-1.47653,0.0279021,8.9282,-3.63736,1.93956,-4.93571,-3.76689,-3.769,-3.61374,-3.12269,-3.57657,-5.5624,-3.9655,16.2517,2.09039,23.2487,-10.9517,-9.95549,5.59866,-6.45006,-3.03949 --6.6973,1,0.55247,3,7,0,12.4487,10.9622,1.11199,-0.872384,-0.688488,0.449181,-0.934048,0.353626,0.563105,-0.472884,-0.797825,9.99211,11.4617,11.3554,10.4364,10.1966,9.92354,11.5884,10.075,-4.34762,-3.28144,-4.09402,-3.36563,-3.89001,-3.64588,-3.42707,-3.81503,30.5995,20.9255,20.9982,-1.65671,12.8298,9.94675,21.2554,3.74242 --4.64769,0.8,0.808707,2,5,0,7.94564,3.18181,6.83992,1.32437,0.581194,-1.45449,-0.0181334,0.336211,0.545518,0.36394,0.146131,12.2404,-6.76677,5.48146,5.67113,7.15713,3.05777,6.91311,4.18133,-4.17891,-4.31181,-3.83203,-3.32413,-3.5269,-3.33433,-3.83612,-3.90365,1.45798,-1.82657,22.7401,8.77573,23.5536,9.0972,10.8862,4.61369 --4.64769,3.28855e-13,0.815234,1,1,0,9.5168,3.18181,6.83992,1.32437,0.581194,-1.45449,-0.0181334,0.336211,0.545518,0.36394,0.146131,12.2404,-6.76677,5.48146,5.67113,7.15713,3.05777,6.91311,4.18133,-4.17891,-4.31181,-3.83203,-3.32413,-3.5269,-3.33433,-3.83612,-3.90365,-3.37523,-12.6266,15.1993,2.6241,7.96709,15.1856,26.6382,24.3652 --5.47819,0.945547,0.188423,4,15,0,10.4543,3.38057,1.33817,0.0869338,0.50557,0.019903,-0.481075,0.634706,0.942104,1.75088,-0.763781,3.49691,3.40721,4.22992,5.72355,4.05711,2.73681,4.64127,2.3585,-4.96121,-3.32699,-3.79362,-3.32357,-3.27403,-3.3293,-4.1138,-3.95276,-0.366361,-6.19803,-0.763379,9.59667,-0.42453,-1.05837,7.57627,0.510328 --7.53909,0.968606,0.249507,4,15,0,11.7163,6.2523,3.58396,-2.00144,-0.521315,0.111894,1.3273,0.623643,-0.240214,1.16344,0.459241,-0.920791,6.65332,8.48741,10.422,4.38392,11.0093,5.39138,7.8982,-5.48568,-3.23059,-3.94926,-3.36522,-3.29509,-3.73083,-4.01641,-3.83527,11.0229,-1.9736,7.49316,8.61143,10.9337,16.749,3.29352,23.638 --7.24601,1,0.343782,4,15,0,10.1273,3.51641,4.22978,2.58488,-0.0564674,-0.339996,-1.47471,-0.123282,1.02774,-0.587121,-1.34914,14.4499,2.07831,2.99496,1.03302,3.27757,-2.72129,7.86351,-2.19015,-4.035,-3.39686,-3.76172,-3.46396,-3.22911,-3.37406,-3.73527,-4.12005,12.9033,0.222129,-14.3337,-8.16167,1.39118,-21.3647,-1.07771,-4.88923 --7.24601,1.73658e-11,1.00033,2,3,0,13.7113,3.51641,4.22978,2.58488,-0.0564674,-0.339996,-1.47471,-0.123282,1.02774,-0.587121,-1.34914,14.4499,2.07831,2.99496,1.03302,3.27757,-2.72129,7.86351,-2.19015,-4.035,-3.39686,-3.76172,-3.46396,-3.22911,-3.37406,-3.73527,-4.12005,33.8998,2.62585,-3.48695,1.19348,19.4042,-13.824,27.0483,-2.96149 --7.24601,1.36218e-39,2.33582,1,2,1,14.2501,3.51641,4.22978,2.58488,-0.0564674,-0.339996,-1.47471,-0.123282,1.02774,-0.587121,-1.34914,14.4499,2.07831,2.99496,1.03302,3.27757,-2.72129,7.86351,-2.19015,-4.035,-3.39686,-3.76172,-3.46396,-3.22911,-3.37406,-3.73527,-4.12005,9.33204,7.25659,30.5245,18.9521,4.97271,-17.1996,-2.28521,6.50192 --6.77587,0.994129,0.230311,4,15,0,12.7451,-0.878534,7.28635,0.403669,-0.00413423,2.12911,0.841924,-0.206786,-0.398205,-0.237054,0.10261,2.06274,14.6349,-2.38525,-2.60579,-0.908657,5.25601,-3.77999,-0.130884,-5.12197,-3.44164,-3.69227,-3.69812,-3.11621,-3.39168,-5.59336,-4.03641,12.2434,13.9444,-28.6708,-0.979101,10.8409,20.5438,-4.08737,-39.6821 --4.57664,0.992595,0.236146,3,15,0,8.58898,2.80799,1.78547,0.862456,-0.800668,0.802449,0.220673,-1.27319,-0.261127,-0.379219,-0.340791,4.34788,4.24074,0.534741,2.1309,1.37842,3.20199,2.34175,2.19951,-4.87015,-3.29218,-3.71593,-3.4148,-3.15108,-3.33687,-4.44743,-3.95753,24.0084,10.8408,14.2055,-4.62545,16.4314,-4.46499,-11.6437,16.1149 --4.92966,0.969219,0.312362,3,7,0,8.38749,1.30666,3.50007,0.726964,-0.599206,1.01983,0.0644811,-1.37722,-0.437395,-0.392142,-0.622067,3.85109,4.87615,-3.5137,-0.0658657,-0.790605,1.53235,-0.224255,-0.87062,-4.92292,-3.27032,-3.69204,-3.52314,-3.11643,-3.318,-4.88214,-4.06495,13.9478,-1.73468,9.97004,-2.49901,4.84908,17.6354,-8.98502,-6.84913 --5.27507,0.919625,0.444918,3,7,0,7.58004,0.630131,6.57085,1.10074,-0.627029,1.04984,0.17438,-1.76525,-0.194681,0.149047,-0.18991,7.86294,7.52844,-10.9691,1.6095,-3.48998,1.77595,-0.649088,-0.617737,-4.5281,-3.22264,-3.81556,-3.43691,-3.15443,-3.31932,-4.96047,-4.055,6.28341,1.84902,-21.7864,-10.4016,-19.5674,0.679675,3.23588,7.53166 --6.70034,0.117705,0.590036,1,3,1,12.6036,-0.348702,0.828581,1.43613,-0.70984,0.527766,-0.0572903,-0.967381,-0.0900345,-0.52896,0.8021,0.841245,0.0885945,-1.15026,-0.786988,-0.936862,-0.396172,-0.423303,0.315903,-5.2661,-3.53448,-3.69821,-3.5674,-3.11619,-3.32489,-4.91861,-4.01999,26.2132,1.69158,9.70804,-4.66493,6.33371,-10.314,-1.45793,0.0319356 --6.41835,0.99988,0.0673223,6,63,0,11.4911,8.80169,4.17856,-1.34338,-1.18552,-0.69844,0.177804,0.328535,-0.685869,-0.827169,0.84585,3.18831,5.88321,10.1745,5.34531,3.84793,9.54465,5.93574,12.3361,-4.99503,-3.24393,-4.03053,-3.32815,-3.26124,-3.61853,-3.94926,-3.80948,-8.69758,1.77171,18.618,5.62081,-5.03487,9.72127,-4.33631,31.5234 --7.20105,0.990893,0.120226,5,31,0,12.3304,6.36257,2.39907,-1.06369,-1.41286,-0.667441,-1.66292,-0.363664,-0.950139,0.462215,1.17079,3.81071,4.76133,5.49012,7.47146,2.97302,2.3731,4.08312,9.17138,-4.92726,-3.27397,-3.83231,-3.31775,-3.2136,-3.32462,-4.18992,-3.82166,-4.50297,2.9066,-23.2628,26.4892,6.3145,-13.4635,5.8496,21.3061 --11.2472,0.966916,0.215038,4,15,0,17.9701,11.4158,3.85938,0.069491,-0.709906,-0.547791,-2.42267,-0.830808,-2.07131,0.771618,1.14665,11.684,9.3017,8.20943,14.3938,8.67604,2.06583,3.42184,15.8412,-4.21857,-3.23,-3.93694,-3.54274,-3.6941,-3.32153,-4.28414,-3.83208,9.25734,3.71202,49.4958,35.1723,-2.00481,-6.47476,6.75609,15.6131 --6.59218,0.902808,0.362607,3,7,0,14.2123,8.10501,1.0528,0.84214,-1.69954,0.950086,0.216262,-0.102068,-1.00294,0.062817,0.754771,8.99162,9.10526,7.99755,8.17115,6.31573,8.33269,7.04912,8.89963,-4.42992,-3.22763,-3.92775,-3.3225,-3.44653,-3.53902,-3.82113,-3.82414,2.80762,-10.0546,-13.446,15.6648,5.56262,27.5336,8.33319,-12.5654 --7.51149,0.906949,0.503619,3,7,0,14.3199,-0.574721,1.0096,0.939801,0.798888,-0.60103,-0.195066,0.115546,0.825957,-0.00923092,-1.93735,0.374102,-1.18152,-0.458066,-0.584041,0.231837,-0.77166,0.259166,-2.53067,-5.32297,-3.64303,-3.70415,-3.55451,-3.12553,-3.3298,-4.79521,-4.13514,8.48734,-12.5897,5.56749,0.778395,13.9321,4.74069,7.91067,-0.840279 --8.42339,0.308422,0.711674,2,3,0,10.7906,-1.0358,2.5784,0.435031,0.597394,-0.42409,-0.714635,1.32215,1.35717,0.183484,-2.15818,0.08588,-2.12927,2.37323,-0.562707,0.504517,-2.87841,2.46351,-6.60046,-5.35854,-3.73453,-3.74792,-3.55317,-3.13014,-3.37899,-4.42844,-4.34323,0.426541,-3.6976,9.81052,1.54183,6.34475,-18.7163,9.25045,-8.48459 --4.53823,0.999543,0.154174,4,15,0,10.8136,2.25939,5.81181,1.23213,0.595194,-0.438279,-0.298394,-0.576951,1.28545,-0.881236,-0.892691,9.42029,-0.287805,-1.09374,-2.86218,5.71855,0.525187,9.73021,-2.92876,-4.39411,-3.56496,-3.69862,-3.71875,-3.3948,-3.31777,-3.56347,-4.15324,11.8151,16.0057,-4.08646,25.4457,13.4676,1.11627,-7.38245,1.55481 --3.45664,0.879356,0.293881,3,15,0,9.22107,4.33206,3.67468,0.120496,0.380325,-0.0800353,0.699886,-1.16236,-0.115861,-0.0726358,0.529038,4.77484,4.03795,0.0607732,4.06514,5.72963,6.90391,3.9063,6.2761,-4.82567,-3.30001,-3.70982,-3.35243,-3.39572,-3.46087,-4.21469,-3.85987,4.52228,-3.52782,-27.3715,8.42744,16.0183,2.63201,11.4601,7.57629 --7.63731,0.90443,0.38425,3,7,0,10.0902,6.4048,2.49346,0.883961,-0.995056,1.39456,-0.415752,1.39721,-1.04524,-1.18805,-1.22737,8.60891,9.88206,9.88868,3.44245,3.92367,5.36814,3.79852,3.34441,-4.46258,-3.23923,-4.01598,-3.36913,-3.26581,-3.39568,-4.22993,-3.92493,14.2584,17.4707,0.864143,27.4084,-11.8988,-4.0919,9.68821,18.2488 --11.1358,0.834051,0.541961,3,7,0,16.3082,0.525015,3.75951,0.0594914,1.94364,-0.928822,0.0564625,-1.36566,2.59942,1.01854,1.87552,0.748673,-2.9669,-4.60919,4.35423,7.83217,0.737286,10.2976,7.57607,-5.27729,-3.82289,-3.69658,-3.34576,-3.59769,-3.31712,-3.51816,-3.83951,10.0897,7.49999,-32.9714,8.64333,12.5663,4.24401,8.44674,19.8919 --6.14018,0.287049,0.614475,3,7,0,15.2945,-1.48529,9.10624,1.30647,-0.424315,0.567623,0.902101,-0.102819,0.334366,-1.25419,0.916586,10.4117,3.68363,-2.42158,-12.9062,-5.3492,6.72946,1.55953,6.86137,-4.31443,-3.31468,-3.69218,-4.95426,-3.23293,-3.45248,-4.57297,-3.85006,14.7461,-3.69707,0.296394,-10.6885,-5.52716,8.27727,-9.30037,18.0196 --3.38044,0.973868,0.132679,4,15,0,10.7541,0.155297,4.41368,0.284339,0.0982167,0.130853,-0.37893,-0.110495,0.693763,0.0942233,1.17377,1.41028,0.732842,-0.332391,0.571169,0.588794,-1.51718,3.21734,5.33596,-5.19813,-3.48558,-3.70543,-3.48762,-3.13175,-3.34302,-4.31416,-3.87784,22.5096,1.46518,-7.03557,18.8534,11.5256,2.77466,-2.93203,16.1521 --4.63206,0.158204,0.231666,4,15,0,14.4849,0.854288,18.2878,0.639431,-0.921017,0.169553,-0.16119,0.699524,0.49403,-0.363441,0.0122949,12.5481,3.95504,13.647,-5.79225,-15.9891,-2.09352,9.889,1.07914,-4.15757,-3.30333,-4.23279,-3.99304,-4.50303,-3.35638,-3.55046,-3.99336,5.94756,-1.90025,7.5044,-29.1918,-20.5663,-5.82888,6.5259,26.2022 --4.36506,0.999788,0.0352613,6,63,0,8.03036,3.2012,1.26498,-0.0288298,-0.0653825,-0.683266,0.423695,0.827332,1.00361,-0.0626801,-0.730828,3.16473,2.33688,4.24776,3.12191,3.11849,3.73717,4.47075,2.27672,-4.99763,-3.38188,-3.79412,-3.37898,-3.22087,-3.34779,-4.13673,-3.95521,-4.57665,11.3949,14.7259,-7.33812,7.04137,0.215509,-23.9656,30.1698 --7.49561,0.996234,0.0667312,4,31,0,11.073,2.94387,0.0983718,0.0409673,-0.732287,-0.706311,-1.12323,-0.61374,0.579113,0.933123,-0.299996,2.9479,2.87439,2.88349,3.03566,2.87183,2.83337,3.00084,2.91436,-5.02167,-3.35288,-3.75914,-3.38178,-3.2087,-3.33072,-4.3464,-3.9367,-17.6106,16.4593,-8.29767,-5.85741,3.45998,8.25695,-28.1533,13.6583 --11.523,0.999635,0.123753,5,31,0,14.1633,6.47442,0.00171384,-0.794978,0.702892,0.159442,0.992774,0.57982,0.49958,-1.03756,-0.189112,6.47306,6.47469,6.47541,6.47264,6.47562,6.47612,6.47528,6.47409,-4.65679,-3.23316,-3.86689,-3.31798,-3.46113,-3.44075,-3.88562,-3.85643,-3.20165,16.5789,3.08786,-9.00353,14.229,-1.22262,10.5206,-14.6715 --15.9398,0.978669,0.229502,4,15,0,18.9673,6.46423,0.000564606,0.187766,-0.350924,0.0785791,-1.31434,-0.0438416,-1.93692,-2.04319,-0.794983,6.46434,6.46427,6.4642,6.46308,6.46403,6.46349,6.46314,6.46378,-4.65762,-3.23332,-3.86647,-3.31803,-3.46006,-3.44018,-3.88702,-3.85661,13.4101,-8.41028,-6.25842,12.1386,11.5511,2.69388,23.8819,-14.4933 --16.757,0.789527,0.396635,3,11,0,23.3065,-2.18228,0.00161579,0.0193335,1.78989,0.322,-0.631407,0.577265,-2.22088,-0.313926,-0.903149,-2.18225,-2.18176,-2.18135,-2.18279,-2.17939,-2.1833,-2.18587,-2.18374,-5.65136,-3.73986,-3.69284,-3.66528,-3.12475,-3.35871,-5.25887,-4.11977,5.36407,-8.9009,4.03326,3.15479,-12.3777,8.09093,-12.091,7.32416 --13.6217,0.980914,0.3957,4,15,0,19.9929,10.7319,13.2904,-0.0736371,-2.56978,-0.256095,0.962662,-0.429396,1.3057,0.383467,0.391055,9.75319,7.32827,5.02503,15.8283,-23.4215,23.526,28.0851,15.9291,-4.36687,-3.22378,-3.81731,-3.63889,-6.21939,-5.41361,-3.73007,-3.83313,-20.8702,2.28256,7.07912,20.3384,-29.4446,20.3776,38.2659,13.4491 --13.6217,2.51207e-10,0.67904,3,7,0,18.5143,10.7319,13.2904,-0.0736371,-2.56978,-0.256095,0.962662,-0.429396,1.3057,0.383467,0.391055,9.75319,7.32827,5.02503,15.8283,-23.4215,23.526,28.0851,15.9291,-4.36687,-3.22378,-3.81731,-3.63889,-6.21939,-5.41361,-3.73007,-3.83313,39.6168,25.4627,-10.1,32.9548,-19.9129,27.3767,44.2326,14.3808 --12.4243,0.998872,0.0734453,6,63,0,21.0596,7.32992,0.0202621,1.37754,-0.53333,-1.45368,-0.501055,0.767046,-1.89971,-0.151234,1.19145,7.35783,7.30046,7.34546,7.32685,7.31911,7.31976,7.29142,7.35406,-4.57388,-3.22397,-3.90057,-3.31728,-3.54337,-3.48187,-3.79489,-3.84262,-10.9065,22.1279,38.3253,-0.33136,3.55825,10.2225,7.79754,-23.4682 --11.9697,0.997753,0.133209,5,31,0,18.173,5.64019,0.0234256,1.42903,0.0406705,1.49971,1.29089,-1.46011,-0.271641,-1.37747,-0.377655,5.67367,5.67532,5.60599,5.60792,5.64115,5.67043,5.63383,5.63135,-4.73469,-3.24854,-3.83618,-3.32484,-3.38842,-3.40697,-3.98613,-3.8719,13.9795,17.461,10.9403,-5.83603,-7.26565,1.44147,7.5049,37.9475 --13.3987,0.989769,0.238481,4,15,0,22.8605,2.71676,0.110412,-0.728402,-1.02457,-1.31169,-2.1176,1.08954,2.17086,1.44647,-0.423583,2.63634,2.57194,2.83706,2.87647,2.60364,2.48295,2.95645,2.66999,-5.05658,-3.36884,-3.75807,-3.3871,-3.19632,-3.32592,-4.35307,-3.94365,14.5179,7.42292,19.2508,-2.14659,-5.22497,-4.56607,12.8522,6.23535 --10.3951,0.225807,0.413694,4,31,0,17.6428,2.51505,0.0673615,-0.360206,-1.06659,-0.93937,-0.92258,-0.0566325,0.596669,2.314,-0.353377,2.49079,2.45178,2.51124,2.67093,2.44321,2.45291,2.55525,2.49125,-5.07303,-3.37544,-3.75085,-3.39428,-3.18935,-3.32556,-4.41423,-3.94884,-11.0796,2.31098,26.1583,2.86475,-12.6396,-11.684,0.676923,9.87365 --7.15715,0.997465,0.0892953,5,63,0,14.8945,8.20733,3.43287,0.11604,-0.319143,0.0943278,0.907201,0.132814,0.107027,-2.5437,-0.702591,8.60568,8.53114,8.66326,-0.524878,7.11175,11.3216,8.57474,5.79542,-4.46285,-3.22293,-3.95721,-3.55082,-3.52234,-3.75707,-3.6657,-3.86872,14.9122,3.99991,8.92723,13.7677,4.56642,20.0302,6.7799,1.19008 --8.12915,0.995668,0.157987,5,31,0,12.452,5.02104,4.55072,0.132607,-0.264351,0.0852069,-1.49759,-0.815274,0.974588,2.61919,-1.2292,5.6245,5.40879,1.31096,16.9402,3.81805,-1.79409,9.45612,-0.572722,-4.73957,-3.2551,-3.72782,-3.72513,-3.25946,-3.34909,-3.58651,-4.05325,16.6672,-2.26915,-40.5469,10.6831,10.8065,-9.55238,10.9054,27.0925 --9.8318,0.983511,0.275604,4,15,0,15.7445,5.33499,2.8529,0.8903,-0.721059,0.288496,1.9157,1.33068,1.40695,0.0777789,-2.53869,7.87492,6.15804,9.13129,5.55689,3.27788,10.8003,9.34887,-1.90764,-4.52703,-3.23849,-3.97897,-3.32544,-3.22913,-3.71372,-3.59573,-4.1078,22.3971,9.00331,-11.1729,6.97254,16.7102,18.9013,10.8331,-13.2348 --8.39659,0.999858,0.461365,3,7,0,11.4526,3.60176,1.59215,-0.15912,0.605736,0.0153632,-1.72282,-1.5163,-0.863893,0.354036,2.12233,3.34841,3.62622,1.18759,4.16543,4.56618,0.85877,2.22631,6.98081,-4.97743,-3.31717,-3.72578,-3.35004,-3.30741,-3.31692,-4.46557,-3.84819,-2.76016,6.05946,-17.0749,7.1326,14.1561,15.629,13.6214,6.63437 --8.39659,0.57374,0.799623,1,3,0,12.6975,3.60176,1.59215,-0.15912,0.605736,0.0153632,-1.72282,-1.5163,-0.863893,0.354036,2.12233,3.34841,3.62622,1.18759,4.16543,4.56618,0.85877,2.22631,6.98081,-4.97743,-3.31717,-3.72578,-3.35004,-3.30741,-3.31692,-4.46557,-3.84819,17.7316,4.91162,16.8862,1.78943,2.38254,1.48724,7.94069,-9.61985 --5.89496,0.746529,0.452036,4,23,0,11.254,3.16499,2.42227,1.88213,0.812836,-0.903113,0.45021,-0.746959,0.0174001,0.413645,1.21571,7.72402,0.977404,1.35565,4.16695,5.13389,4.25552,3.20713,6.10977,-4.54058,-3.46811,-3.72858,-3.35,-3.34841,-3.36063,-4.31567,-3.86285,-3.93098,40.3068,-24.01,4.85732,-6.0952,25.3166,3.51322,16.3112 --8.15396,0.865349,0.403202,3,7,0,13.9864,0.961655,3.03557,2.92868,0.07846,0.0503662,0.540962,-0.597847,2.20848,0.155424,0.0931462,9.85189,1.11455,-0.853155,1.43346,1.19983,2.60379,7.66567,1.24441,-4.35889,-3.45857,-3.70053,-3.44488,-3.14603,-3.32746,-3.75552,-3.98783,11.9886,7.53771,-13.7848,9.50569,0.865446,-6.54268,25.0729,-12.5391 --5.02012,0.446652,0.488813,3,7,0,10.7846,3.33193,7.35894,0.811275,-0.0139707,1.38192,-0.392939,-1.10615,1.92869,0.855369,-0.508225,9.30205,13.5014,-4.80818,9.62654,3.22912,0.440312,17.5251,-0.408069,-4.40391,-3.37285,-3.69791,-3.34534,-3.22657,-3.31813,-3.22265,-4.0469,-0.383784,20.9246,-28.8319,-15.8994,0.192992,1.94473,22.2465,12.9377 --8.735,0.946687,0.203213,4,15,0,13.4501,4.02892,1.09384,-0.0131133,1.33229,2.42129,-0.907284,-1.28634,-0.487824,0.897657,-0.377046,4.01458,6.67743,2.62187,5.01082,5.48624,3.0365,3.49532,3.61649,-4.90543,-3.23027,-3.75326,-3.33318,-3.37586,-3.33397,-4.27345,-3.91777,6.07645,-1.04467,32.3053,28.0125,5.74202,6.24091,-11.331,13.5623 --8.17317,0.999126,0.303272,3,7,0,10.4323,3.99281,2.10126,-0.00078967,0.979926,2.48962,-1.14838,-0.812671,-0.26749,1.42272,-0.0683001,3.99115,9.22414,2.28518,6.98232,6.05188,1.57976,3.43074,3.84929,-4.90793,-3.22902,-3.74608,-3.31684,-3.42313,-3.31822,-4.28284,-3.91183,20.2475,0.482294,-10.9167,24.5803,-1.03759,2.51839,8.70467,-28.2193 --7.16579,0.628127,0.513172,3,7,0,12.3984,0.481256,0.776232,0.269308,0.169347,-1.85636,0.83011,-0.113386,0.814816,-0.262115,-0.950237,0.690302,-0.959708,0.393242,0.277795,0.612709,1.12561,1.11374,-0.256348,-5.28437,-3.62291,-3.71402,-3.50356,-3.13222,-3.3169,-4.64725,-4.04113,27.654,-7.09044,-22.3531,-6.88906,2.11606,7.53575,-0.885775,1.00548 --7.38864,0.934204,0.341725,4,15,0,12.3769,5.44389,1.69861,1.05818,-0.852695,1.64585,2.03097,-0.0118674,-0.531099,-0.360007,0.617236,7.24132,8.23955,5.42373,4.83238,3.99549,8.89371,4.54176,6.49233,-4.58459,-3.22181,-3.83012,-3.33625,-3.27021,-3.57432,-4.12715,-3.85612,7.21545,-2.97446,7.66188,1.10329,22.1258,-0.22191,11.9386,6.21927 --3.26436,0.866668,0.488139,3,15,0,8.19051,1.19598,9.32016,0.626832,-0.662465,0.0485421,-0.783933,0.422532,0.609838,0.916858,-0.231885,7.03816,1.6484,5.13405,9.74125,-4.97829,-6.1104,6.87977,-0.965219,-4.60343,-3.42324,-3.82075,-3.34789,-3.21386,-3.52575,-3.83982,-4.06872,9.95354,-10.5767,23.2136,15.1233,-9.40284,-18.5132,25.7437,-35.4183 --3.31172,0.269378,0.587599,3,7,0,10.6334,6.16799,5.20734,-0.361371,-0.709275,0.505472,0.229073,-0.356261,0.628712,0.93481,0.718578,4.2862,8.80015,4.31281,11.0359,2.47455,7.36085,9.44191,9.90987,-4.87664,-3.22472,-3.79597,-3.38414,-3.19068,-3.48403,-3.58773,-3.81605,0.110224,7.49925,8.22127,-10.6391,15.6068,-0.79041,14.6682,-1.17171 --9.81358,0.96835,0.164311,4,15,0,11.8723,8.21868,4.32757,0.932886,0.735147,0.344617,-1.99536,-2.29515,2.06945,-0.736443,0.071956,12.2558,9.71003,-1.71375,5.03167,11.4001,-0.416367,17.1744,8.53007,-4.17783,-3.23614,-3.69476,-3.33284,-4.06531,-3.32512,-3.22493,-3.82789,10.8969,-10.0306,13.583,15.2989,16.7582,-7.37005,0.693025,22.9889 --7.48906,0.983386,0.254253,4,15,0,15.7989,9.35807,7.22322,-0.220815,-1.79337,-1.51494,0.319946,-1.48434,-0.257639,-0.0264084,-0.465168,7.76307,-1.58471,-1.36363,9.16732,-3.59583,11.6691,7.49709,5.99806,-4.53706,-3.68086,-3.69676,-3.33624,-3.15776,-3.78721,-3.77308,-3.8649,31.2216,-1.32698,6.90192,9.93239,1.39481,-0.788361,7.83665,5.86892 --10.6749,0.279596,0.405405,3,7,0,15.4264,7.12291,0.312975,2.38434,-0.954607,-1.59891,-0.699269,0.362057,1.5325,0.609844,0.264406,7.86915,6.62249,7.23622,7.31377,6.82414,6.90405,7.60254,7.20566,-4.52755,-3.23101,-3.89618,-3.31724,-3.49405,-3.46087,-3.76206,-3.84478,-0.935499,5.98195,-20.4273,27.5045,17.4581,13.785,8.01339,1.00664 --6.79852,0.999421,0.119528,5,31,0,14.0299,4.25296,10.1605,-0.905374,-0.31413,-0.509258,-0.00178457,1.16328,0.479665,1.07103,-0.94371,-4.94614,-0.921382,16.0725,15.1352,1.06123,4.23483,9.12662,-5.33565,-6.0391,-3.61948,-4.402,-3.59031,-3.14239,-3.36007,-3.61521,-4.27308,-16.2014,0.151719,23.14,30.8635,-7.63643,-9.99611,7.14176,10.4474 --3.69341,0.982696,0.197688,5,47,0,11.3537,7.14573,11.2372,-0.172921,0.0286676,-0.114651,0.467769,0.00671093,0.373575,-0.629963,0.46779,5.20257,5.85737,7.22114,0.0667021,7.46787,12.4021,11.3437,12.4024,-4.78193,-3.24448,-3.89557,-3.51547,-3.55879,-3.85406,-3.44306,-3.80956,12.7376,17.4326,5.90596,-13.3094,9.63264,9.24495,27.2591,18.3627 --5.18156,0.901468,0.312166,3,7,0,6.95293,2.78168,0.46385,-0.314836,-0.47287,-0.476399,-0.880933,0.932105,-0.0791636,-0.107371,0.276986,2.63564,2.5607,3.21404,2.73188,2.56234,2.37306,2.74496,2.91016,-5.05666,-3.36945,-3.76695,-3.39211,-3.1945,-3.32462,-4.3851,-3.93682,-5.37055,11.7376,17.3707,1.59525,5.38157,2.49195,-5.09521,-2.11705 --6.42281,0.292665,0.405055,3,7,0,11.8564,3.87295,4.96488,-0.798783,-0.983925,-0.902011,0.584702,1.24204,0.910597,-1.0066,-0.888692,-0.0929085,-0.605428,10.0395,-1.12469,-1.01212,6.77593,8.39396,-0.539299,-5.38079,-3.59179,-4.02362,-3.58961,-3.11616,-3.45469,-3.6829,-4.05196,8.18768,5.85599,12.5892,13.4613,19.5963,9.67548,-0.0896367,3.83444 --4.4383,0.998679,0.12708,5,31,0,9.63476,6.26848,9.45034,1.63393,-0.131805,0.15871,-0.980048,-1.04621,0.342084,0.769266,1.16668,21.7097,7.76834,-3.6186,13.5383,5.02287,-2.99331,9.50128,17.294,-3.71492,-3.22179,-3.69227,-3.49348,-3.34008,-3.38273,-3.58266,-3.85256,1.2261,5.20231,17.8198,14.7815,2.22485,-15.8705,3.51266,7.12316 --5.82749,0.989329,0.206888,4,15,0,9.08324,0.336709,7.3925,0.812991,0.404007,1.28475,0.536126,0.866661,2.06057,0.526072,-1.08272,6.34674,9.8342,6.7435,4.2257,3.32333,4.30002,15.5695,-7.66726,-4.66891,-3.23835,-3.87695,-3.34864,-3.23154,-3.36183,-3.25106,-4.40623,-15.6608,10.9193,20.3991,-14.1503,7.57761,19.9077,16.6389,-19.7144 --6.23127,0.242517,0.327571,4,15,0,12.3166,0.00747525,2.83186,-0.278737,1.19936,0.246699,-0.43862,-1.37156,1.31288,-0.885066,0.439299,-0.781867,0.70609,-3.87658,-2.49891,3.40388,-1.23463,3.72538,1.25151,-5.46787,-3.48753,-3.69303,-3.68968,-3.23588,-3.33747,-4.24035,-3.9876,16.904,21.307,2.89228,-10.0497,6.97394,2.79766,1.5008,10.5685 --6.72128,0.998554,0.0937988,5,63,0,10.4068,9.39047,3.99675,0.845767,0.302219,0.143936,0.321782,1.14457,-1.20062,0.864869,0.747411,12.7708,9.96574,13.965,12.8471,10.5984,10.6766,4.59189,12.3777,-4.14239,-3.24084,-4.25366,-3.45811,-3.94655,-3.70376,-4.12041,-3.80953,14.9768,1.03898,11.2744,11.6676,11.6985,8.17896,7.03593,19.8294 --11.2412,0.981233,0.151493,5,31,0,15.4878,1.71566,0.820201,-0.665065,0.141134,1.47122,-0.264236,-0.201228,1.86545,-1.73612,-2.45551,1.17017,2.92235,1.55061,0.29169,1.83141,1.49893,3.2457,-0.298352,-5.22663,-3.35044,-3.73197,-3.50279,-3.16565,-3.31786,-4.30997,-4.04272,-0.937437,0.438025,12.4741,3.2066,1.63557,-3.01655,16.1794,-13.4399 --11.4391,0.997291,0.233885,4,15,0,16.2423,7.4716,6.81442,0.676833,-0.314401,0.980559,-0.264852,0.303039,2.3598,-0.95789,-2.98404,12.0838,14.1535,9.53663,0.944135,5.32914,5.66678,23.5522,-12.8629,-4.18993,-3.41085,-3.99849,-3.46838,-3.36343,-3.40683,-3.37566,-4.76327,6.86711,14.6035,-16.5163,-7.00019,-2.01532,20.0275,18.3366,-17.5277 --15.696,0.57443,0.372286,4,15,0,19.6529,0.949091,0.2647,-0.621923,0.826352,-0.889397,0.186226,-0.317995,-2.92406,1.08246,3.0428,0.784468,0.713668,0.864918,1.23562,1.16783,0.998385,0.175093,1.75452,-5.27296,-3.48698,-3.7207,-3.45414,-3.14517,-3.31683,-4.81016,-3.9713,-26.2179,-4.45262,24.531,6.03581,12.7714,-0.578743,-2.48201,-3.24289 --5.81202,0.998463,0.229822,4,15,0,21.9557,5.57052,6.31506,2.04606,0.546915,0.622277,-0.258022,-1.01517,1.70498,-0.892112,-0.289346,18.4915,9.50023,-0.840316,-0.0632244,9.02432,3.94109,16.3376,3.74328,-3.8279,-3.23278,-3.70064,-3.52299,-3.73645,-3.35258,-3.23534,-3.91452,37.197,1.00911,12.8457,-1.36581,5.23377,6.37689,25.5161,0.0236707 --5.82638,0.966843,0.36469,4,15,0,9.24018,7.74054,2.37532,0.183779,0.46708,0.42277,-0.304807,-0.428977,-0.623183,2.0428,0.0522137,8.17708,8.74476,6.72159,12.5929,8.85001,7.01653,6.26029,7.86457,-4.50021,-3.2243,-3.87612,-3.44609,-3.71507,-3.46642,-3.91063,-3.8357,-18.1485,13.3376,21.6431,26.335,12.4612,-0.777383,4.04798,15.727 --10.8101,0.140491,0.536818,3,7,0,17.7515,5.66776,0.348382,-0.220731,0.0257282,0.619817,-1.53307,0.0209557,-0.883468,3.02198,0.738323,5.59086,5.88369,5.67506,6.72056,5.67672,5.13366,5.35997,5.92497,-4.74292,-3.24392,-3.83851,-3.31716,-3.39134,-3.38744,-4.02038,-3.86626,5.15192,6.72378,-9.63087,5.70029,1.32101,7.98313,17.9402,12.3859 --11.5971,0.996834,0.129056,5,31,0,17.538,7.21039,1.01418,-0.317845,-0.407548,0.792561,-1.72655,-0.825936,-0.773434,3.27142,0.685573,6.88804,8.01419,6.37274,10.5282,6.79706,5.45935,6.42599,7.90568,-4.61747,-3.22152,-3.86311,-3.36827,-3.49144,-3.39901,-3.89131,-3.83518,-15.3621,10.1709,-17.4488,5.92143,15.4682,-7.13071,13.5907,19.3294 --9.95493,0.997551,0.203041,4,15,0,14.5171,7.29989,0.420026,0.0535501,-0.0352201,0.324054,-1.58058,-0.0806116,0.121766,2.95573,0.138252,7.32238,7.436,7.26603,8.54137,7.28509,6.636,7.35103,7.35796,-4.57713,-3.22311,-3.89737,-3.32665,-3.53988,-3.44809,-3.78853,-3.84256,17.6112,4.36216,-4.91849,9.16837,31.3781,2.60884,13.9569,-13.6225 --14.2823,0.95234,0.318243,4,15,0,20.1243,2.92091,1.99913,0.432628,0.3604,-1.54471,2.22569,-1.39123,0.600863,-3.49375,-0.168699,3.78578,-0.167178,0.139658,-4.06355,3.64139,7.37034,4.12211,2.58365,-4.92994,-3.55504,-3.71078,-3.82263,-3.24914,-3.48452,-4.1845,-3.94614,3.10194,8.23649,-16.6735,-27.3209,-5.9547,10.4822,-5.9539,-28.4502 --12.5745,0.996846,0.450265,3,7,0,16.8464,6.95659,1.8989,0.116822,-0.725827,1.65396,-1.15459,1.19449,-0.446624,3.59234,0.121692,7.17842,10.0973,9.2248,13.7781,5.57831,4.76414,6.10849,7.18767,-4.59041,-3.24352,-3.98341,-3.50668,-3.38329,-3.37538,-3.92856,-3.84505,1.99873,8.72943,8.54209,15.2729,20.2478,-4.2269,-1.65588,35.0033 --6.7366,1,0.697864,2,3,0,14.9194,9.45182,2.47623,0.784338,-0.810111,-0.578341,0.318871,0.0150047,-1.0677,1.8252,0.0127933,11.394,8.01971,9.48897,13.9714,7.44579,10.2414,6.80794,9.4835,-4.23979,-3.22153,-3.99616,-3.51766,-3.55648,-3.66974,-3.84783,-3.81908,2.5091,18.7708,2.0926,5.12527,0.695757,18.1847,-3.72737,21.8172 --6.25615,0.296129,1.08353,2,3,0,9.69086,0.853324,1.71345,0.997542,-0.724913,-0.669674,-0.811452,-1.28029,-0.639401,0.517647,-0.864531,2.56257,-0.294132,-1.34039,1.74029,-0.388781,-0.537061,-0.242259,-0.628009,-5.06491,-3.56549,-3.69691,-3.43115,-3.11847,-3.3266,-4.88542,-4.0554,-15.0228,5.81228,6.15927,2.39851,-4.44439,6.2255,21.6566,44.5774 --5.70988,0.967196,0.377955,3,7,0,10.095,8.1442,7.67783,0.635318,-0.429924,-0.464894,1.00968,-1.79406,0.385795,0.887664,0.00209766,13.0221,4.57482,-5.63031,14.9595,4.84331,15.8963,11.1063,8.1603,-4.12552,-3.28018,-3.70504,-3.57863,-3.32693,-4.23378,-3.45914,-3.83206,40.7682,17.6266,9.84693,-7.66106,0.179097,22.5412,-12.4964,17.8104 --6.10803,0.422719,0.546836,3,7,0,11.8074,1.90738,3.88407,-0.0155627,0.0498268,0.865418,2.18802,1.07208,0.25509,0.0910649,0.272251,1.84693,5.26872,6.0714,2.26108,2.10091,10.4058,2.89816,2.96482,-5.14695,-3.25882,-3.85225,-3.40963,-3.17552,-3.68241,-4.36185,-3.93529,-0.850682,10.7851,21.9848,-5.11351,-0.542856,0.316788,11.6344,-6.05482 --4.04715,0.998543,0.252299,4,15,0,8.181,5.40477,4.8941,1.05432,0.39694,0.968394,-1.22647,0.404276,1.20385,-0.121131,-0.221362,10.5647,10.1442,7.38334,4.81194,7.34743,-0.597715,11.2965,4.3214,-4.30252,-3.24451,-3.9021,-3.33662,-3.54628,-3.32738,-3.44621,-3.9003,36.3038,14.9525,-15.6891,9.29307,-3.06283,9.00493,27.7079,11.5957 --8.12651,0.755994,0.388874,4,15,0,11.336,4.89494,0.672381,0.702251,-2.26897,-0.831708,0.986146,-0.78497,-0.405274,-0.39964,1.10806,5.36712,4.33572,4.36714,4.62623,3.36932,5.55801,4.62244,5.63998,-4.76532,-3.28866,-3.79753,-3.34012,-3.23401,-3.40268,-4.11632,-3.87173,13.8089,-4.82584,14.2582,8.41528,-2.009,19.63,24.4836,-29.2725 --6.96055,0.995357,0.361142,4,15,0,10.4097,6.07082,0.374557,0.830888,1.32408,0.548605,0.67445,-0.301245,1.20177,0.970851,-0.0611997,6.38204,6.2763,5.95799,6.43446,6.56676,6.32344,6.52095,6.0479,-4.66551,-3.23638,-3.84826,-3.31816,-3.46959,-3.43394,-3.88037,-3.86398,27.6028,-0.731764,-4.05677,3.28496,10.6269,-19.147,13.8135,-14.7784 --5.32681,0.218831,0.549374,3,15,0,11.0919,4.07159,0.614705,1.40393,0.575857,-0.143312,-0.270838,-0.0550118,0.733746,0.892844,-0.191539,4.93459,3.98349,4.03777,4.62042,4.42557,3.9051,4.52262,3.95385,-4.80924,-3.30219,-3.78827,-3.34023,-3.29787,-3.35171,-4.12972,-3.90922,-10.0097,15.4397,5.80697,27.8294,5.6436,-6.37541,-8.58682,30.0995 --6.78439,0.994243,0.169596,4,15,0,8.23041,0.679082,11.3297,0.505109,1.4378,0.566482,0.741507,0.966021,0.341277,-0.256942,-0.120652,6.40182,7.09715,11.6238,-2.23199,16.9689,9.08014,4.54565,-0.687866,-4.66361,-3.2256,-4.10921,-3.66902,-5.10926,-3.58662,-4.12662,-4.05774,15.4046,-2.86911,13.3667,11.7612,19.1332,32.152,-19.7576,11.6349 --10.186,1,0.257254,4,15,0,13.6176,7.94842,0.232428,-0.533211,-2.33957,-1.17852,-0.942048,-1.03945,-0.328452,0.957423,0.43982,7.82449,7.6745,7.70682,8.17095,7.40464,7.72946,7.87208,8.05065,-4.53155,-3.22205,-3.91543,-3.3225,-3.5522,-3.50396,-3.7344,-3.83338,16.502,2.87552,20.2481,-9.70789,13.7887,39.2231,-6.04658,22.1735 --8.18872,0.983348,0.393101,4,15,0,15.3929,1.37028,0.707074,0.99935,1.98166,1.31928,0.318311,0.791417,-0.391247,-0.874657,-0.355688,2.07689,2.30311,1.92987,0.751832,2.77146,1.59535,1.09364,1.11878,-5.12034,-3.3838,-3.739,-3.47815,-3.20396,-3.3183,-4.65065,-3.99203,-43.3173,24.4997,3.52341,-7.19074,10.9324,-0.222576,-2.70185,26.7198 --5.80389,0.964815,0.57833,3,7,0,13.169,4.79525,10.5124,0.518261,0.379892,0.551464,-1.06372,-1.89792,-0.0166903,0.112439,-0.66784,10.2434,10.5924,-15.1564,5.97725,8.78881,-6.38693,4.6198,-2.22532,-4.32765,-3.25513,-3.98015,-3.32116,-3.70765,-3.54232,-4.11667,-4.12159,26.2124,29.3114,13.7902,-3.3243,11.7552,-26.6883,10.5922,1.90519 --6.39506,0.162329,0.816573,2,7,0,8.78995,4.87794,2.49524,0.138868,0.893455,0.988638,0.0627873,-1.91045,-0.91381,0.502469,-0.864995,5.22445,7.34483,0.110912,6.13172,7.10732,5.03461,2.59777,2.71958,-4.77971,-3.22367,-3.71043,-3.31995,-3.5219,-3.3841,-4.40767,-3.94222,-14.7758,-5.91012,7.46183,-6.0193,2.84952,3.61333,-10.2936,14.2674 --9.0725,0.98115,0.231317,4,15,0,11.3762,3.8793,1.36308,0.179372,1.25353,1.02795,0.11246,-2.64547,-0.757391,1.18791,-0.728434,4.1238,5.28048,0.273308,5.49852,5.58797,4.03259,2.84691,2.88638,-4.89382,-3.2585,-3.71245,-3.32615,-3.38407,-3.35484,-4.3696,-3.93749,0.834574,-1.82074,-31.9892,23.0437,4.47286,2.37106,-0.198754,58.6073 --4.30783,0.974008,0.337714,3,7,0,12.6118,1.82054,2.62657,0.339797,0.762798,0.387923,-0.0767924,-0.505886,-0.459319,1.28073,-0.310993,2.71304,2.83945,0.491794,5.18447,3.82408,1.61884,0.614105,1.0037,-5.04795,-3.35468,-3.71534,-3.33045,-3.25982,-3.31842,-4.73287,-3.99591,-14.6994,10.4438,21.6862,2.78484,3.23145,10.0173,9.29922,25.7648 --3.44822,0.960994,0.48432,3,7,0,7.3136,5.75398,6.48316,1.13095,-1.31778,0.421723,-0.210977,-0.919246,1.20438,-0.324037,0.472128,13.0861,8.48808,-0.205638,3.65319,-2.78937,4.38618,13.5622,8.81486,-4.12126,-3.22271,-3.70678,-3.36312,-3.13593,-3.36421,-3.31999,-3.82497,15.3692,6.46302,-12.3041,-11.0714,-6.22575,-4.2395,12.2908,13.7801 --3.44822,0,0.674623,0,1,1,8.73659,5.75398,6.48316,1.13095,-1.31778,0.421723,-0.210977,-0.919246,1.20438,-0.324037,0.472128,13.0861,8.48808,-0.205638,3.65319,-2.78937,4.38618,13.5622,8.81486,-4.12126,-3.22271,-3.70678,-3.36312,-3.13593,-3.36421,-3.31999,-3.82497,-8.02928,-1.98272,-1.57047,-0.372684,-1.33968,13.2497,-4.88547,53.1429 --7.55635,0.969151,0.142529,5,31,0,13.0553,3.81456,0.419071,-0.499475,-0.060778,-0.693037,0.10522,0.814681,-0.837797,0.385302,2.18423,3.60525,3.52413,4.15597,3.97603,3.78909,3.85866,3.46347,4.72991,-4.94944,-3.32169,-3.79154,-3.35462,-3.25774,-3.3506,-4.27808,-3.89088,-19.8258,4.30314,16.2864,-7.45461,3.68436,2.2909,-10.9022,17.9406 --2.7653,0.988134,0.202221,4,15,0,12.8314,0.940334,8.722,1.66971,-0.136745,0.775835,-0.151673,-0.591036,1.28511,0.122773,0.323546,15.5036,7.70717,-4.21468,2.01116,-0.252358,-0.382561,12.149,3.7623,-3.97401,-3.22195,-3.69441,-3.41968,-3.11961,-3.32473,-3.39269,-3.91403,9.59455,0.433669,-23.3062,15.0824,6.13148,5.39971,11.3366,33.2667 --3.74153,0.902155,0.296687,4,15,0,8.21551,0.97144,7.59483,0.65252,-0.715261,1.3918,-0.353215,-0.679674,1.4676,-0.02854,0.20853,5.92722,11.5419,-4.19057,0.754684,-4.46084,-1.71117,12.1176,2.55519,-4.70967,-3.28425,-3.6943,-3.47801,-3.1901,-3.34721,-3.39454,-3.94697,0.821322,18.5203,-0.0970346,3.07893,0.370227,10.3035,26.5863,-9.01951 --8.40327,0.542073,0.367333,4,15,0,11.3069,2.39853,1.37126,-1.25981,-0.966221,-0.753382,-1.03227,1.79779,0.605461,1.37873,-0.867847,0.671011,1.36545,4.86377,4.28912,1.07359,0.983028,3.22878,1.20849,-5.28671,-3.44161,-3.81231,-3.3472,-3.1427,-3.31683,-4.31247,-3.98903,29.437,13.5065,22.0584,-13.0013,-12.4631,11.0723,18.287,2.35191 --8.46567,0.995496,0.227088,4,15,0,13.2223,5.66844,2.09979,1.38545,1.23971,1.20582,0.744112,-0.970489,0.53353,-2.27339,-0.126181,8.57761,8.20041,3.63061,0.89479,8.27158,7.23092,6.78874,5.40349,-4.46528,-3.22172,-3.7774,-3.47086,-3.64679,-3.47727,-3.84999,-3.87646,-18.5446,11.9929,-28.5916,10.8095,5.1022,6.86713,25.2823,11.4624 --10.3585,0.964781,0.335883,4,15,0,14.2753,3.79597,5.43,-1.3059,-1.80524,-0.850248,-0.582323,0.807768,-0.657178,2.15825,0.667154,-3.29506,-0.820883,8.18214,15.5153,-6.0065,0.633954,0.227486,7.41861,-5.80339,-3.61056,-3.93575,-3.61646,-3.27089,-3.31739,-4.80083,-3.8417,14.942,-10.9208,-16.7208,7.58544,-1.13991,-0.496983,7.86852,13.8064 --9.18587,1,0.466873,3,7,0,15.5734,9.33858,0.525459,0.422447,0.260617,-1.46077,1.42347,1.32707,-0.928468,1.17172,-0.155105,9.56055,8.571,10.0359,9.95427,9.47552,10.0866,8.8507,9.25707,-4.38257,-3.22315,-4.02343,-3.3529,-3.79355,-3.65801,-3.64007,-3.82092,6.20537,13.6625,29.1003,1.32827,7.2443,7.37411,17.2694,9.24268 --7.06892,0.694445,0.691718,3,7,0,12.0106,5.72938,2.81003,-0.260841,0.0241599,0.630713,-0.325403,0.454102,-1.40107,1.62976,-1.56219,4.99641,7.5017,7.00542,10.3091,5.79727,4.81498,1.79234,1.33959,-4.80291,-3.22277,-3.88705,-3.36208,-3.40137,-3.37697,-4.53496,-3.98469,19.5659,0.836869,-13.4338,14.9728,4.37667,16.1417,-3.25037,8.29931 --3.3877,0.901388,0.5734,3,7,0,9.33548,4.57126,2.79919,0.0268099,-0.511183,-1.08856,-0.154106,-0.882086,0.536715,-0.0267289,-0.126682,4.64631,1.52418,2.10214,4.49644,3.14037,4.13989,6.07363,4.21666,-4.83898,-3.4312,-3.74237,-3.34273,-3.22198,-3.35757,-3.93272,-3.9028,-11.6247,3.66369,16.201,-2.57006,15.8012,12.2977,14.1736,-8.03271 --3.3877,0.000183568,0.702597,2,3,0,7.17527,4.57126,2.79919,0.0268099,-0.511183,-1.08856,-0.154106,-0.882086,0.536715,-0.0267289,-0.126682,4.64631,1.52418,2.10214,4.49644,3.14037,4.13989,6.07363,4.21666,-4.83898,-3.4312,-3.74237,-3.34273,-3.22198,-3.35757,-3.93272,-3.9028,-2.4403,14.5655,31.731,26.7191,1.60335,6.8823,-2.69744,19.0834 --5.43382,0.987679,0.158954,5,31,0,8.14847,2.01505,4.00357,0.522504,0.120799,1.11106,-2.06538,0.585938,0.209066,-0.248848,0.21548,4.10693,6.46324,4.3609,1.01877,2.49868,-6.25384,2.85206,2.87774,-4.89561,-3.23333,-3.79735,-3.46466,-3.19172,-3.53426,-4.36882,-3.93773,31.0872,29.1442,12.4285,14.5746,-0.322996,0.237167,9.39717,9.70613 --6.90088,0.983745,0.229608,4,15,0,11.9756,3.91609,2.30735,0.357528,-0.48776,-0.612909,2.35246,-0.77908,1.52484,0.338401,-0.421091,4.74104,2.5019,2.11849,4.6969,2.79066,9.34402,7.43444,2.94449,-4.82917,-3.37267,-3.7427,-3.33875,-3.20486,-3.60453,-3.77968,-3.93586,14.5029,-4.06884,-10.5841,5.17385,-5.26008,10.2914,6.03923,10.5479 --4.8771,0.999258,0.328197,3,15,0,9.90453,9.83088,5.59785,1.18974,0.441849,0.657723,-0.850954,-0.319412,0.291332,-0.72449,0.312488,16.4908,13.5127,8.04286,5.77529,12.3043,5.06737,11.4617,11.5801,-3.92135,-3.37347,-3.9297,-3.32303,-4.20878,-3.3852,-3.43527,-3.80958,46.7076,21.5488,15.593,13.9679,15.3193,20.6148,8.35336,-1.75674 --4.8771,3.3369e-06,0.481277,2,3,0,12.0565,9.83088,5.59785,1.18974,0.441849,0.657723,-0.850954,-0.319412,0.291332,-0.72449,0.312488,16.4908,13.5127,8.04286,5.77529,12.3043,5.06737,11.4617,11.5801,-3.92135,-3.37347,-3.9297,-3.32303,-4.20878,-3.3852,-3.43527,-3.80958,22.6292,8.66257,5.54806,11.5863,18.2398,1.48044,-14.1305,-6.44217 --5.84294,0.992111,0.111773,5,31,0,10.8593,3.52908,3.66644,1.65421,0.230019,0.805506,0.133249,0.232977,-0.533018,0.00367234,-1.85511,9.59414,6.48242,4.38328,3.54254,4.37243,4.01763,1.5748,-3.27258,-4.37982,-3.23304,-3.798,-3.36623,-3.29433,-3.35446,-4.57046,-4.16927,18.0106,-0.072265,0.142588,26.5442,-1.50848,19.7383,-0.115845,-12.4442 --3.05535,0.984608,0.161964,4,15,0,11.5652,1.61651,5.19403,0.951066,0.157706,-0.361572,0.257355,0.348387,1.44689,0.177749,-0.207929,6.55638,-0.261506,3.42604,2.53974,2.43564,2.95322,9.13172,0.536523,-4.64883,-3.56279,-3.77218,-3.39904,-3.18902,-3.3326,-3.61476,-4.01211,17.401,-7.89435,11.3523,6.90481,-17.7515,-10.7269,13.2568,4.6259 --3.08573,0.949449,0.230775,4,15,0,7.42874,4.09626,2.5095,-0.646314,-0.549966,-0.0463389,-0.581271,-0.309977,0.744327,-0.200704,0.0320786,2.47433,3.97997,3.31837,3.59259,2.71611,2.63755,5.96415,4.17676,-5.0749,-3.30233,-3.7695,-3.36481,-3.20141,-3.32791,-3.94583,-3.90376,12.6311,0.184617,8.95377,26.0072,9.83451,-1.89062,11.8689,6.02513 --6.04112,0.953537,0.307544,3,7,0,8.39534,4.55506,1.22973,-0.10713,-0.622212,-0.812842,-1.06806,-0.670353,-0.289668,-1.56438,-0.952075,4.42332,3.55549,3.73071,2.63129,3.78991,3.24164,4.19885,3.38427,-4.86223,-3.32029,-3.78001,-3.3957,-3.25779,-3.3376,-4.17388,-3.92386,-3.5619,-10.0142,4.90792,2.30985,-5.35574,0.658611,14.0373,8.03264 --6.41396,0.732671,0.411908,3,15,0,13.0646,6.00545,3.64581,-0.152633,-0.486121,-1.06862,-1.83639,-0.174566,0.472459,-1.44541,-1.04165,5.44898,2.10946,5.36901,0.735756,4.23315,-0.689675,7.72794,2.20778,-4.7571,-3.39502,-3.82832,-3.47899,-3.28521,-3.32863,-3.7491,-3.95729,9.08133,-13.1135,11.1773,9.71007,11.0018,-2.96604,6.57781,-44.0629 --10.8966,0.967604,0.369534,4,23,0,14.0705,10.8352,3.44463,-0.672185,-2.26276,-1.47781,0.294689,-0.702372,0.890223,-2.40976,-0.299678,8.51974,5.74466,8.41576,2.53443,3.04082,11.8503,13.9017,9.80289,-4.47028,-3.24696,-3.94606,-3.39924,-3.21695,-3.80331,-3.30551,-3.81676,32.7289,12.3731,-24.711,14.4739,13.5714,5.71703,13.9833,13.4064 --9.58328,1,0.505985,3,7,0,16.8685,4.41436,2.53447,-0.528712,-2.14671,-2.56315,0.0631836,0.189288,0.95909,-0.508925,1.24813,3.07436,-2.08187,4.89411,3.12451,-1.0264,4.5745,6.84515,7.57772,-5.00763,-3.72974,-3.81324,-3.3789,-3.11617,-3.36963,-3.84368,-3.83949,-9.47829,1.51626,-1.77239,6.35051,12.5116,11.1736,23.0937,4.0773 --7.48925,0.349626,0.732297,2,3,0,12.7997,1.53516,0.96714,0.0586942,-1.90072,-1.27613,-0.91949,0.0182312,0.615491,-1.00479,0.566003,1.59192,0.30096,1.55279,0.563379,-0.30311,0.64588,2.13042,2.08256,-5.17674,-3.5179,-3.73201,-3.48803,-3.11916,-3.31735,-4.48074,-3.96109,30.8168,3.10206,40.5265,-2.8159,-0.620453,16.0272,3.43083,37.8974 --7.30567,0.981557,0.331586,4,15,0,13.3732,6.49518,2.14308,0.180646,-0.03273,1.81519,0.346947,0.0508611,0.454741,0.179008,2.43101,6.88232,10.3853,6.60418,6.87881,6.42503,7.23871,7.46973,11.705,-4.618,-3.24997,-3.87168,-3.31689,-3.45648,-3.47767,-3.77596,-3.80944,-20.2394,-5.59058,12.5689,9.62751,2.95212,-2.49796,-0.300918,55.4666 --4.89138,0.983942,0.463819,3,7,0,10.531,4.16038,0.684936,-0.358861,0.241419,0.920316,-0.235372,-0.300603,-0.739172,-0.0514027,0.99415,3.91458,4.79074,3.95449,4.12517,4.32574,3.99916,3.65409,4.84131,-4.91612,-3.27302,-3.78599,-3.35099,-3.29125,-3.354,-4.25055,-3.88839,17.3827,1.26441,10.9579,-3.51233,-7.12489,3.64037,19.4699,-34.6174 --6.62295,0.69884,0.6498,2,5,0,10.3422,2.81625,0.446615,-0.976667,0.138907,1.3673,0.229739,-0.685368,0.628114,0.0146517,1.21817,2.38006,3.42691,2.51015,2.82279,2.87829,2.91886,3.09678,3.3603,-5.08561,-3.32609,-3.75083,-3.38894,-3.20901,-3.33205,-4.33205,-3.9245,-13.8764,7.67195,4.51524,-13.9684,4.75205,10.7187,-3.81869,41.7616 --6.61798,0.978828,0.549502,3,7,0,9.73224,5.96529,6.2393,0.606664,-0.337341,-0.691999,1.22866,1.52041,-0.389279,0.166224,-1.09856,9.75045,1.6477,15.4516,7.00241,3.86052,13.6313,3.53646,-0.888971,-4.36709,-3.42328,-4.35649,-3.31683,-3.26199,-3.97613,-4.26749,-4.06568,5.69338,-10.5888,11.6531,12.2207,13.1031,4.23055,-9.4268,4.81818 --7.63361,0.42944,0.760435,3,7,0,9.68717,-0.0263898,2.79514,0.159658,1.6121,0.276086,-0.931925,-1.89212,0.891827,0.0521729,1.17658,0.419876,0.74531,-5.31512,0.119441,4.47966,-2.63125,2.46639,3.2623,-5.31735,-3.48468,-3.702,-3.51246,-3.30151,-3.37132,-4.42799,-3.92713,15.6866,10.8265,-5.15176,-12.6727,8.1273,-14.0342,1.69272,7.68603 --9.16409,0.899594,0.401788,3,7,0,15.2437,1.24701,1.38591,0.422203,2.24643,0.266304,-0.597486,-1.4848,0.865447,0.820578,1.68827,1.83214,1.61608,-0.810787,2.38425,4.36036,0.418944,2.44644,3.58679,-5.14867,-3.4253,-3.70089,-3.40487,-3.29353,-3.31823,-4.43109,-3.91854,-1.64503,9.20461,-39.2602,-5.10975,14.526,2.18724,2.81105,-29.9549 --9.46325,0.601188,0.483702,3,7,0,12.6524,0.316822,4.26534,0.0720708,2.22613,-0.234438,-0.0404696,-2.12858,0.894721,0.481259,1.51716,0.624229,-0.683139,-8.76229,2.36956,9.81205,0.144205,4.13312,6.78802,-5.2924,-3.59851,-3.75638,-3.40543,-3.83777,-3.31986,-4.18298,-3.85123,-14.9947,-3.91473,-5.82226,0.555677,9.65431,5.44353,2.07747,46.457 --8.0236,0.870653,0.346497,3,7,0,14.9556,2.80646,2.01811,-0.160254,1.94727,0.409072,-0.0516222,-1.88745,1.04851,0.441075,1.48621,2.48305,3.63202,-1.00262,3.6966,6.73627,2.70228,4.92247,5.80581,-5.07391,-3.31692,-3.69932,-3.36193,-3.48561,-3.32881,-4.07663,-3.86852,4.67587,-7.41959,7.23274,14.7737,9.97976,1.18723,8.67603,20.7223 --9.605,0.780951,0.396422,3,15,0,14.6395,4.14597,5.13918,-0.189904,2.24019,-0.122298,-0.130019,-1.81552,1.82818,0.621468,1.26545,3.17002,3.51746,-5.18433,7.3398,15.6587,3.47778,13.5413,10.6494,-4.99705,-3.32199,-3.70085,-3.31731,-4.82921,-3.3422,-3.32092,-3.81213,9.67059,10.9397,19.057,-3.48681,19.362,-7.15043,3.42831,2.53048 --4.60559,0.893689,0.388219,3,7,0,11.9586,-0.438627,2.7568,0.658735,0.549069,1.21827,-0.000171711,0.655552,0.224581,0.167604,0.709324,1.37737,2.91988,1.3686,0.0234226,1.07504,-0.4391,0.180496,1.51684,-5.20202,-3.35056,-3.7288,-3.51796,-3.14274,-3.32539,-4.8092,-3.9789,17.6609,1.44496,-0.20905,10.9153,6.17137,1.73365,-10.565,17.4963 --3.70188,1,0.461374,3,7,0,7.48744,7.48074,5.16804,0.99474,-0.482966,-0.740619,-0.150457,-1.16351,0.514403,-0.0403128,-0.833568,12.6216,3.6532,1.46765,7.2724,4.98475,6.70317,10.1392,3.17283,-4.15253,-3.316,-3.73051,-3.31714,-3.33726,-3.45124,-3.53048,-3.92956,14.6765,-6.1749,11.8946,4.1632,13.0815,32.0287,5.73947,-14.3752 --3.70188,1.7643e-15,0.656748,2,3,0,8.93474,7.48074,5.16804,0.99474,-0.482966,-0.740619,-0.150457,-1.16351,0.514403,-0.0403128,-0.833568,12.6216,3.6532,1.46765,7.2724,4.98475,6.70317,10.1392,3.17283,-4.15253,-3.316,-3.73051,-3.31714,-3.33726,-3.45124,-3.53048,-3.92956,-13.3175,2.41222,-15.2497,-3.88321,-8.20121,12.5487,11.2737,-40.0815 --6.72475,0.983245,0.169761,4,31,0,9.02624,3.24444,1.20698,0.121175,1.49276,0.500241,0.479357,0.232661,0.725935,-1.73418,-0.959146,3.39069,3.84822,3.52525,1.15132,5.04617,3.82301,4.12062,2.08677,-4.97281,-3.30771,-3.77469,-3.45819,-3.34182,-3.34977,-4.18471,-3.96096,6.26292,4.44172,-2.74784,-10.5697,-4.08387,9.53502,1.14162,9.33965 --5.25788,0.996245,0.235101,4,15,0,10.6837,2.39517,4.37017,0.768361,-0.664379,0.0811185,-0.0232346,-0.375819,1.03251,2.21998,0.91483,5.75303,2.74967,0.752774,12.0969,-0.508282,2.29363,6.90741,6.39313,-4.72683,-3.35935,-3.71903,-3.42418,-3.11766,-3.32375,-3.83675,-3.85782,-2.19778,21.1479,-3.22907,-3.18373,2.69821,13.3218,1.27936,21.7119 --5.95355,0.996125,0.332042,4,15,0,8.35768,7.08858,1.84861,0.200868,0.175952,-0.484497,0.985425,-0.178544,-0.0821848,-2.05757,-0.457466,7.45991,6.19293,6.75852,3.28492,7.41385,8.91025,6.93665,6.2429,-4.56453,-3.23785,-3.87752,-3.37387,-3.55316,-3.5754,-3.83351,-3.86046,16.2603,9.89033,6.82644,-7.84516,-13.3496,2.61632,9.4084,14.2805 --6.70785,0.98913,0.467695,3,7,0,8.74828,1.50142,3.44324,0.524241,-0.164457,0.830412,-1.34002,-0.0418512,1.36261,2.33549,0.312898,3.30651,4.36073,1.35732,9.54306,0.935159,-3.11259,6.19321,2.5788,-4.98203,-3.28775,-3.72861,-3.34356,-3.13928,-3.38672,-3.91853,-3.94628,13.07,-5.13672,-8.18941,19.6004,-0.299006,-27.1434,1.1672,-11.8963 --9.03666,0.446218,0.649486,3,7,0,13.2807,2.04145,6.59669,0.278872,0.871441,-1.0621,0.430943,1.32679,1.13993,-0.0295508,2.69154,3.88108,-4.96487,10.7938,1.84651,7.79007,4.88424,9.56122,19.7967,-4.91971,-4.06196,-4.06315,-3.42658,-3.59311,-3.37918,-3.57759,-3.90312,16.1328,-7.48089,4.403,-5.38258,15.6883,15.3784,-9.77648,26.66 --5.99584,1,0.362723,4,15,0,10.9881,0.35089,9.62925,0.884246,-0.810647,1.40925,-0.0842413,-1.05361,1.97683,0.341972,-0.888024,8.86551,13.9209,-9.79458,3.64382,-7.45504,-0.460291,19.3863,-8.20012,-4.44061,-3.39681,-3.7817,-3.36338,-3.37337,-3.32565,-3.23113,-4.43901,7.47049,6.35021,-16.31,1.48708,-21.3473,11.5543,14.4858,-16.1159 --6.47151,0.778939,0.512174,3,7,0,9.19882,7.71471,5.62122,-0.0934556,0.395192,-1.12171,-0.0578374,1.28878,-0.501769,-0.149234,1.35454,7.18938,1.40934,14.9592,6.87584,9.93618,7.3896,4.89416,15.3289,-4.58939,-3.43871,-4.32147,-3.3169,-3.85443,-3.48554,-4.08034,-3.82641,9.15472,-5.363,19.9132,15.2852,-3.9978,19.0641,24.8034,4.49486 --13.0062,0.558675,0.499632,3,7,0,18.0216,4.44776,0.116736,-1.36269,0.0568327,-0.724897,2.29198,-2.31103,0.0555171,1.38527,-0.803958,4.28869,4.36314,4.17798,4.60947,4.4544,4.71532,4.45424,4.35391,-4.87638,-3.28766,-3.79216,-3.34045,-3.29981,-3.37387,-4.13896,-3.89953,2.36618,18.7703,18.6849,1.58804,0.0493999,17.2849,1.67006,33.1435 --7.72528,0.99379,0.338452,3,7,0,15.8521,1.67501,0.176047,-0.410327,0.732742,0.241744,-1.52168,0.556277,-0.406938,1.16392,-0.193506,1.60277,1.71757,1.77294,1.87991,1.80401,1.40712,1.60337,1.64094,-5.17546,-3.41887,-3.73602,-3.42516,-3.1647,-3.31752,-4.56577,-3.97491,4.71101,10.7513,-3.88791,-2.51391,-8.48783,3.85788,-18.4334,3.98145 --5.40242,0.852195,0.471424,3,7,0,11.0324,9.68499,2.21998,1.43789,-0.236078,-0.498041,0.0442615,0.50209,-0.612867,0.641268,0.34177,12.8771,8.57935,10.7996,11.1086,9.1609,9.78325,8.32444,10.4437,-4.13522,-3.2232,-4.06346,-3.38659,-3.75347,-3.63562,-3.68961,-3.81305,6.78865,0.647277,9.91231,12.7746,-1.48152,10.1859,-4.59581,3.62195 --6.91447,0.968093,0.519007,3,7,0,8.76404,-3.31076,4.27878,-0.889952,-0.49271,-0.447157,-0.118345,-0.527436,0.375524,-0.122334,0.715176,-7.11867,-5.22405,-5.56754,-3.8342,-5.41896,-3.81713,-1.70397,-0.250673,-6.3677,-4.0959,-3.7044,-3.80187,-3.2367,-3.41272,-5.16276,-4.04091,4.58252,-27.6221,-13.4338,1.9629,-0.677274,7.81187,-12.3894,-18.6538 --8.76008,0.167044,0.690511,3,7,0,13.0592,-0.98225,0.557562,-1.518,-1.04478,-0.0791443,0.849007,-0.305768,0.950422,-0.730203,1.17242,-1.82863,-1.02638,-1.15273,-1.38938,-1.56478,-0.508876,-0.45233,-0.328551,-5.6042,-3.6289,-3.69819,-3.60767,-3.11813,-3.32624,-4.92397,-4.04387,-9.02025,0.119815,6.59284,3.89639,-0.351474,18.0628,-4.87414,27.1442 --4.25232,0.992751,0.247628,4,15,0,12.0473,5.75513,4.36496,2.06968,0.40037,0.537766,-0.458887,0.102412,0.647541,0.624413,-0.297051,14.7892,8.10246,6.20216,8.48067,7.50273,3.75211,8.58162,4.45852,-4.01482,-3.22158,-3.85692,-3.32589,-3.56244,-3.34813,-3.66505,-3.89708,8.67707,14.1929,35.8752,16.1597,-1.70431,12.1803,4.26381,30.5585 --7.37461,0.91301,0.343126,4,15,0,14.9178,-1.95186,1.72343,-0.802516,-0.963432,-0.683906,-0.602953,-0.206524,-0.578233,-0.955626,-0.111577,-3.33494,-3.13052,-2.30779,-3.59881,-3.61227,-2.99101,-2.9484,-2.14416,-5.80894,-3.84097,-3.69246,-3.78103,-3.15829,-3.38265,-5.4157,-4.11804,-4.15148,3.89371,-20.8966,-15.63,-4.57295,-27.3635,-4.65007,-16.572 --11.7901,0.924284,0.41681,3,7,0,15.7612,10.7268,0.569513,0.220905,2.0351,1.51211,0.573502,0.176127,-1.61604,0.794262,1.36477,10.8526,11.5879,10.8271,11.1791,11.8858,11.0534,9.8064,11.504,-4.2804,-3.28589,-4.06494,-3.389,-4.14112,-3.73448,-3.5572,-3.80969,18.0704,3.22763,42.7794,22.8008,17.8054,17.5942,16.8268,-4.48079 --13.8411,0.942314,0.514967,3,7,0,19.5858,-2.20481,0.463101,0.456877,-1.06351,-2.24405,-0.898021,0.137876,2.07099,-0.870121,-1.7639,-1.99323,-3.24403,-2.14096,-2.60777,-2.69733,-2.62069,-1.24573,-3.02168,-5.62609,-3.85367,-3.69297,-3.69828,-3.13395,-3.371,-5.07352,-4.15754,2.97357,14.7115,-3.14853,-8.93564,2.31493,9.78957,-11.1891,-7.81409 --17.0129,0.849701,0.654097,3,7,0,23.9781,12.3898,0.0120653,-0.624988,2.31695,1.95426,0.906968,0.0799304,0.10762,1.60144,0.098371,12.3822,12.4134,12.3907,12.4091,12.4177,12.4007,12.3911,12.391,-4.16902,-3.31891,-4.15417,-3.43774,-4.22749,-3.85393,-3.37882,-3.80955,5.92693,11.9399,8.11522,22.8767,11.9665,13.3052,4.83471,35.9647 --13.5281,0.8,0.714755,2,5,0,20.9889,13.5165,0.0320764,-0.120144,1.33614,1.53474,-0.384707,-0.859143,-0.122731,0.747474,-0.691778,13.5126,13.5657,13.4889,13.5404,13.5593,13.5041,13.5125,13.4943,-4.0934,-3.37641,-4.22255,-3.4936,-4.42464,-3.96292,-3.32221,-3.81276,10.8665,19.4485,19.9164,9.66029,16.5186,21.7148,33.3209,24.5585 --11.1365,0.960454,0.720811,3,7,0,15.37,-5.92977,3.39303,1.45478,0.440164,-1.56359,0.568858,0.169551,-0.449416,0.00358557,0.952886,-0.993652,-11.2351,-5.35447,-5.9176,-4.43627,-3.99961,-7.45465,-2.69659,-5.49506,-5.07146,-3.70235,-4.00636,-3.18905,-3.42012,-6.46122,-4.14263,6.5507,-19.0617,-7.67076,1.84954,-2.10137,-21.8784,-11.1379,-21.2768 --7.55658,0.857044,0.939234,2,3,0,15.3456,4.6453,0.306443,0.443635,0.267698,1.07238,-0.713442,0.652812,-1.95835,0.0585409,-0.536497,4.78125,4.97392,4.84535,4.66324,4.72733,4.42667,4.04517,4.48089,-4.82501,-3.26731,-3.81174,-3.3394,-3.31865,-3.36535,-4.19521,-3.89656,21.788,12.6594,1.44017,-1.14701,8.51983,2.07099,-4.05913,-6.30749 --8.64137,0.628054,1.03626,2,3,0,13.4339,2.79856,0.67142,-2.23741,-0.249772,-0.193188,0.470667,-0.451185,-0.65328,-1.64063,0.899969,1.29632,2.66885,2.49562,1.697,2.63085,3.11457,2.35993,3.40281,-5.21163,-3.36363,-3.75052,-3.43304,-3.19754,-3.33531,-4.44458,-3.92337,-27.0352,-0.547328,-3.36779,2.34781,6.52544,-12.6416,12.3365,-27.6284 --8.15046,0.692176,0.794356,2,7,0,14.0937,8.63401,6.01075,0.316818,-2.26881,-1.12348,-2.07036,0.206056,-0.270653,0.175078,0.37028,10.5383,1.88106,9.87256,9.68636,-5.00325,-3.8104,7.00718,10.8597,-4.30457,-3.40873,-4.01517,-3.34665,-3.21509,-3.41245,-3.82573,-3.81132,6.16245,-2.20555,-3.81634,7.74722,4.88543,-6.13356,6.08195,11.6759 --5.98576,0.388312,0.675058,3,7,0,12.5412,5.88839,1.12166,0.137185,-1.34866,-0.411544,0.698276,0.89133,1.37097,-0.313693,-0.969324,6.04226,5.42678,6.88815,5.53653,4.37565,6.67161,7.42615,4.80114,-4.69842,-3.25463,-3.8825,-3.32568,-3.29454,-3.44976,-3.78056,-3.88928,-4.82115,9.13402,-11.5557,25.6024,11.4852,7.57451,-9.15939,-12.5538 --9.04583,0.732762,0.355551,3,7,0,11.7663,3.72051,0.118986,0.0453955,-0.515905,1.20929,-1.47344,-0.533378,0.698259,1.38886,-1.03863,3.72591,3.8644,3.65704,3.88576,3.65912,3.54519,3.80359,3.59692,-4.93639,-3.30704,-3.77808,-3.35691,-3.25016,-3.3436,-4.22921,-3.91828,10.3,-0.0449893,-11.4225,3.80508,-4.26181,8.30791,-0.799545,5.74991 --8.21588,0.992686,0.323177,3,7,0,16.9277,2.55754,2.16211,-1.52504,0.627981,0.181292,1.08965,1.9676,1.19353,-0.995362,0.420784,-0.739775,2.94951,6.81171,0.405455,3.9153,4.91348,5.13808,3.46732,-5.46249,-3.34906,-3.87955,-3.49654,-3.2653,-3.38012,-4.04867,-3.92167,-3.02943,-5.9901,-1.19384,9.16281,-4.31096,2.06961,16.6174,7.04359 --9.00645,0.982895,0.441789,3,7,0,12.6889,3.83856,2.39008,1.28878,0.779095,0.0995526,-1.62183,-1.73836,0.184962,2.37337,-0.484328,6.91884,4.0765,-0.316249,9.51111,5.70066,-0.0377459,4.28064,2.68098,-4.61458,-3.29849,-3.70559,-3.34289,-3.39332,-3.32128,-4.16263,-3.94333,-4.96983,3.13849,0.615464,13.8268,-9.76896,3.3426,1.1336,-2.23733 --12.6269,0.432871,0.593611,3,7,0,17.6994,3.69911,3.55074,-1.82713,-1.29946,1.03914,-0.064791,1.90109,0.653584,-2.83386,0.469337,-2.78854,7.38882,10.4494,-6.36317,-0.914919,3.46906,6.01982,5.36561,-5.73351,-3.22339,-4.04482,-4.05474,-3.11621,-3.34202,-3.93915,-3.87723,-11.3821,3.22587,13.3944,-7.73977,-5.93991,9.41247,10.6953,6.93244 --7.33972,0.99544,0.337857,4,15,0,18.2467,2.3374,1.70432,0.121614,0.42867,2.22555,-0.544194,-0.554476,0.164823,1.90632,0.213962,2.54467,6.13044,1.3924,5.58637,3.06799,1.40992,2.61831,2.70206,-5.06693,-3.239,-3.72921,-3.32509,-3.21831,-3.31753,-4.40451,-3.94272,-24.9608,5.26709,-30.5502,18.6274,7.0154,-1.38943,13.0414,14.5935 --6.94307,0.97786,0.462422,3,7,0,11.2953,5.14655,1.66233,1.40027,0.461679,-2.1613,0.196928,0.30503,0.786037,-1.0366,-0.176839,7.47427,1.55376,5.65361,3.42339,5.91402,5.47391,6.45321,4.85259,-4.56322,-3.42929,-3.83779,-3.36969,-3.41125,-3.39954,-3.88817,-3.88815,20.2349,3.55392,11.2844,20.025,10.5308,20.1951,11.7382,-6.15083 --7.88361,0.630863,0.614736,3,7,0,13.2286,2.69761,9.56446,2.24364,0.0545789,-1.39447,1.00135,-0.786717,0.548037,-0.800523,-0.121389,24.1569,-10.6398,-4.82691,-4.95896,3.21963,12.275,7.93929,1.53659,-3.65981,-4.95873,-3.69805,-3.90781,-3.22607,-3.84214,-3.72761,-3.97827,36.825,-13.73,5.66451,-1.38515,-10.2425,-5.26091,5.68031,-15.8138 --6.03595,0.425099,0.477351,3,7,0,11.4564,2.05516,12.6952,2.54075,-0.0019056,-0.545154,0.529255,-0.282828,0.162228,-0.477132,0.152585,34.3107,-4.8657,-1.53541,-4.00215,2.03097,8.77419,4.11468,3.99227,-3.71549,-4.04915,-3.69572,-3.81703,-3.17287,-3.56658,-4.18553,-3.90827,9.8342,4.70696,1.56665,-5.73892,-5.75843,9.67373,28.6942,6.15497 --3.92856,1,0.270404,3,7,0,8.0693,2.26015,11.5375,2.19641,-0.165788,-0.266311,0.0667064,-0.464277,0.141854,-0.30742,0.248857,27.6012,-0.812403,-3.09643,-1.28669,0.347379,3.02977,3.89678,5.13134,-3.62734,-3.60982,-3.69155,-3.60059,-3.12737,-3.33386,-4.21603,-3.88212,27.238,1.95149,-7.22739,-1.1981,4.32916,18.8551,-5.92532,13.461 --2.92144,0.937294,0.371522,3,7,0,5.46121,2.32696,5.9421,1.34258,-0.137345,-0.196335,-0.0802081,-0.667264,0.33843,0.739348,0.744066,10.3047,1.16031,-1.638,6.72024,1.51084,1.85035,4.33794,6.74827,-4.32282,-3.45543,-3.69515,-3.31716,-3.15508,-3.31982,-4.15478,-3.85187,-18.1285,24.2995,18.5026,21.1199,0.134906,31.673,5.31116,29.3159 --4.14308,0.760157,0.462856,3,15,0,9.0708,7.06505,1.33661,0.364613,-0.138665,0.277773,0.696474,0.343085,1.13737,0.24369,-0.324098,7.55239,7.43632,7.52362,7.39077,6.87971,7.99596,8.58528,6.63185,-4.55611,-3.22311,-3.90783,-3.31746,-3.49943,-3.51908,-3.66471,-3.85378,7.15565,10.0919,40.0872,26.0968,11.0506,17.3418,-2.82043,18.6441 --5.66796,0.961859,0.439448,3,7,0,8.55823,7.53149,6.93493,1.2088,-0.564662,0.195598,-1.01761,-1.36217,0.850039,1.60213,-0.567083,15.9144,8.88795,-1.91509,18.6421,3.6156,0.474455,13.4265,3.59881,-3.95157,-3.22547,-3.69383,-3.87691,-3.24767,-3.31798,-3.32611,-3.91823,26.7747,3.46746,-4.90854,16.8388,-3.41407,16.4937,20.2009,4.26815 --9.75819,0.336069,0.56731,3,7,0,12.0568,1.59483,0.112472,-1.07469,0.0792025,-0.448183,0.961478,1.35518,-1.30017,-1.09698,0.993866,1.47396,1.54443,1.74725,1.47145,1.60374,1.70297,1.4486,1.70662,-5.19061,-3.4299,-3.73554,-3.44313,-3.15801,-3.31888,-4.59127,-3.97282,-17.3938,-1.36231,5.25608,6.51483,16.0459,14.1186,-6.36098,-4.37972 --7.20212,0.996789,0.282883,4,15,0,14.2355,1.92632,1.71857,0.462941,-0.714411,-1.89855,-0.645449,-0.844598,0.350262,1.27435,-1.10031,2.72192,-1.33647,0.474824,4.11637,0.698559,0.817075,2.52827,0.0353683,-5.04695,-3.65737,-3.71511,-3.35119,-3.13397,-3.31697,-4.4184,-4.03022,-5.48979,-3.35162,-5.4144,9.47889,3.53829,16.6775,19.8951,9.12699 --2.92922,0.902141,0.384917,3,7,0,10.0117,4.50405,6.31884,1.02266,-0.62612,-0.345628,-0.949256,-0.246072,0.852194,0.566687,-0.604047,10.9661,2.32009,2.94916,8.08485,0.547701,-1.49414,9.88892,0.687182,-4.27178,-3.38283,-3.76065,-3.3217,-3.13095,-3.34254,-3.55047,-4.00681,10.4768,1.07787,-42.2209,32.2949,6.06381,1.21998,11.6056,1.12795 --2.69353,0.860718,0.453237,3,7,0,5.56723,3.41752,10.2705,0.937368,-0.490737,0.287214,-0.302085,0.099602,0.893938,0.905886,-0.811902,13.0448,6.36736,4.44048,12.7215,-1.62261,0.314942,12.5987,-4.92116,-4.12401,-3.23485,-3.79965,-3.4521,-3.11856,-3.31877,-3.36739,-4.25117,5.37883,14.4147,22.9029,5.17263,-4.58354,-6.2729,11.6887,-28.3865 --5.34658,0.780351,0.500957,3,7,0,7.46408,5.03721,1.04798,-0.20881,0.388704,0.0856445,0.582901,-0.340629,0.624129,-1.62887,0.924941,4.81839,5.12697,4.68024,3.33019,5.44457,5.64808,5.69129,6.00653,-4.82118,-3.2628,-3.80673,-3.37248,-3.37254,-3.40611,-3.97905,-3.86474,-31.3408,8.66172,19.742,28.279,3.79568,13.7414,16.221,26.3737 --4.46315,0.974668,0.490507,3,7,0,8.3278,1.36783,1.17306,-0.489007,0.1223,0.135965,0.100018,0.326036,-0.614884,-0.832274,0.125474,0.794194,1.52732,1.75029,0.391521,1.51129,1.48516,0.646532,1.51502,-5.27178,-3.431,-3.7356,-3.4973,-3.15509,-3.31781,-4.72724,-3.97896,3.99142,1.82589,6.90894,-3.84828,-2.30468,-15.712,4.40602,-6.70501 --3.58551,0.883745,0.642414,3,7,0,9.23453,5.95698,4.98321,0.503887,-0.639246,0.353735,0.143914,-1.35567,1.41794,0.601629,-0.0644511,8.46795,7.71972,-0.798633,8.95502,2.77148,6.67413,13.0229,5.6358,-4.47477,-3.22192,-3.70099,-3.33263,-3.20397,-3.44987,-3.34538,-3.87181,9.80315,12.7035,-17.3065,20.8336,-7.07615,-3.25132,1.23703,-29.2233 --3.58551,3.33733e-08,0.733497,2,3,0,9.13107,5.95698,4.98321,0.503887,-0.639246,0.353735,0.143914,-1.35567,1.41794,0.601629,-0.0644511,8.46795,7.71972,-0.798633,8.95502,2.77148,6.67413,13.0229,5.6358,-4.47477,-3.22192,-3.70099,-3.33263,-3.20397,-3.44987,-3.34538,-3.87181,34.693,-8.88675,3.64934,1.52121,14.7478,7.04164,12.8932,26.4434 --4.1331,0.965484,0.224648,4,15,0,10.7043,3.53789,2.90662,0.611164,0.170543,-0.646791,-0.452661,0.973668,0.656249,-0.821388,0.960389,5.31431,1.65792,6.36798,1.15043,4.0336,2.22218,5.44536,6.32938,-4.77063,-3.42263,-3.86293,-3.45823,-3.27256,-3.32301,-4.00962,-3.85893,15.6112,-18.1434,3.93192,8.53086,5.81249,0.213742,31.1118,-0.993471 --4.85738,0.990003,0.290192,4,15,0,7.15329,7.09959,5.25738,-0.117698,-1.09025,-0.0355612,1.0185,-0.647442,0.181109,1.23862,0.74077,6.48081,6.91264,3.69574,13.6115,1.36775,12.4543,8.05176,10.9941,-4.65605,-3.22744,-3.77909,-3.49746,-3.15077,-3.85898,-3.71636,-3.81087,27.9478,3.19064,12.1953,6.03053,-3.67842,12.5732,-12.6417,5.97804 --3.56617,0.963381,0.388159,3,7,0,8.9632,2.85772,5.55369,0.687453,-0.545783,0.278992,-1.18026,0.268785,-0.00530998,-0.742943,0.456242,6.67562,4.40716,4.35047,-1.26835,-0.173388,-3.69706,2.82823,5.39155,-4.6375,-3.28607,-3.79705,-3.59934,-3.12038,-3.408,-4.37244,-3.8767,4.37704,4.26822,2.96602,-15.4677,-1.08466,8.1703,21.0564,9.79608 --5.70578,0.936694,0.498392,3,7,0,7.59461,1.4769,2.44157,0.726599,0.188383,0.423392,1.21556,-0.951802,1.20609,1.6177,0.271053,3.25095,2.51064,-0.846993,5.42663,1.93685,4.44478,4.42166,2.1387,-4.98813,-3.37219,-3.70058,-3.32706,-3.1694,-3.36587,-4.14338,-3.95938,21.6763,-2.99949,28.8254,3.51606,14.6269,12.0919,6.57041,-12.8139 --5.70578,0.00166897,0.614434,2,3,0,12.1237,1.4769,2.44157,0.726599,0.188383,0.423392,1.21556,-0.951802,1.20609,1.6177,0.271053,3.25095,2.51064,-0.846993,5.42663,1.93685,4.44478,4.42166,2.1387,-4.98813,-3.37219,-3.70058,-3.32706,-3.1694,-3.36587,-4.14338,-3.95938,7.52123,2.68946,-30.5563,-8.16796,4.0587,-3.69047,12.9881,-27.521 --10.0279,0.98123,0.191757,4,15,0,13.7815,2.28633,3.64195,1.75632,0.557903,-0.460758,1.91635,-2.74984,1.06557,-0.0394717,-0.602143,8.68276,0.608275,-7.72844,2.14258,4.31818,9.26558,6.16707,0.0933559,-4.45622,-3.49471,-3.7352,-3.41433,-3.29075,-3.59915,-3.92161,-4.02809,34.4287,7.28609,14.9801,4.8321,-0.210549,9.40351,10.4043,-15.6314 --10.7324,0.996061,0.252684,4,15,0,14.6686,-0.720318,3.96895,-1.29057,0.223419,1.02902,-1.43382,2.42556,1.63004,0.22578,1.17773,-5.84252,3.3638,8.9066,0.17579,0.166421,-6.41107,5.74925,3.95404,-6.17214,-3.329,-3.96842,-3.50927,-3.12456,-3.54379,-3.97193,-3.90921,23.732,-3.96754,-0.498214,11.0015,-6.19099,-3.66003,2.23507,22.8453 --7.88531,0.902628,0.33975,4,15,0,15.2722,5.92381,1.05724,1.82537,-0.312711,-0.611431,1.76572,-0.936046,1.11291,0.242293,0.991305,7.85367,5.27738,4.93418,6.17997,5.5932,7.7906,7.10042,6.97186,-4.52893,-3.25859,-3.81448,-3.31961,-3.3845,-3.50738,-3.81553,-3.84833,0.821384,0.506855,-2.7744,-4.54257,0.0272684,2.61126,2.20952,15.7151 --7.48222,0.670488,0.398067,3,7,0,12.0902,6.00205,17.9899,1.63069,-1.0561,0.0913349,0.205458,-0.30518,1.39069,-0.557532,1.26755,35.338,7.64516,0.511887,-4.02791,-12.9971,9.69823,31.0205,28.8052,-3.74665,-3.22215,-3.71562,-3.81937,-4.00462,-3.62947,-4.06919,-4.24514,29.0135,16.0126,0.693059,9.52688,-2.29292,20.4379,24.813,50.6672 --3.36872,0.449776,0.332615,3,7,0,11.693,4.62719,8.18161,0.718198,-0.96709,-0.375687,-0.16802,-0.300086,1.30412,-0.212657,1.33599,10.5032,1.55346,2.172,2.88731,-3.28517,3.25251,15.297,15.5577,-4.3073,-3.42931,-3.74377,-3.38673,-3.1484,-3.3378,-3.25806,-3.82884,21.7893,7.02212,-14.8098,6.14658,5.51983,2.80497,17.0246,-4.91865 --4.30758,0.921837,0.202051,4,15,0,8.66468,7.16578,7.03314,1.39071,-0.251016,0.728578,0.298469,0.0628245,1.36158,-0.317045,1.17477,16.9468,12.29,7.60764,4.93596,5.40035,9.26496,16.7419,15.4281,-3.89848,-3.31354,-3.9113,-3.33444,-3.36903,-3.5991,-3.22944,-3.82745,13.7922,23.5396,-24.3069,-14.5403,8.32278,-8.95229,12.8948,15.6244 --3.80099,0.998925,0.243406,4,15,0,6.47385,2.76491,1.37316,-0.340317,-0.378486,-0.449462,0.0349856,-0.414464,-0.327498,0.606982,-0.522106,2.2976,2.14772,2.19578,3.59839,2.24519,2.81295,2.3152,2.04797,-5.09502,-3.39277,-3.74425,-3.36465,-3.18117,-3.33042,-4.45159,-3.96215,-3.89601,4.56587,-0.162076,13.4768,1.30931,-3.22099,-10.4517,-43.4884 --10.0008,0.539149,0.327356,3,15,0,12.7389,0.626487,1.24721,1.46937,-0.413475,0.437216,2.6199,0.342667,1.80978,1.03386,0.266825,2.45911,1.17179,1.05387,1.91593,0.110796,3.89407,2.88367,0.959275,-5.07663,-3.45465,-3.72362,-3.42364,-3.12378,-3.35144,-4.36404,-3.99742,12.6629,-3.63454,-6.13064,0.287477,1.13963,-9.75947,-0.493217,-3.44578 --8.99468,0.9946,0.226987,4,15,0,14.5326,5.55739,7.44492,-1.08256,-1.47948,-0.759826,-1.81037,-0.432517,0.737879,-0.386134,1.92404,-2.50215,-0.0994532,2.33733,2.68265,-5.4572,-7.92071,11.0508,19.8817,-5.6945,-3.54953,-3.74717,-3.39386,-3.2388,-3.64567,-3.46298,-3.90518,-15.1098,-4.63076,6.39303,3.85324,-6.40706,8.18234,14.0283,21.9262 --6.58365,0.440408,0.302966,4,15,0,13.161,5.27072,0.265927,0.100188,-1.05213,-0.0739283,0.555932,-0.114198,0.903402,-1.47239,-0.00353758,5.29736,5.25106,5.24035,4.87918,4.99093,5.41856,5.51096,5.26978,-4.77234,-3.25931,-3.82415,-3.33542,-3.33771,-3.39751,-4.0014,-3.87921,-22.5883,-7.30612,25.4932,4.62462,15.5602,6.80877,-0.593956,11.5721 --5.24686,0.99344,0.182779,4,23,0,9.47169,1.75675,0.442849,0.721678,-0.222802,0.40639,0.815406,-0.417044,-0.542434,-0.188433,0.126027,2.07634,1.93672,1.57206,1.6733,1.65808,2.11785,1.51653,1.81256,-5.1204,-3.40534,-3.73235,-3.43408,-3.15978,-3.322,-4.58005,-3.96947,-10.9952,1.00773,32.6664,1.58215,4.83265,-1.65704,5.67797,5.05224 --6.44642,0.992525,0.243321,4,15,0,8.62489,1.53347,1.558,-0.310191,-0.163785,-1.63794,-1.24139,-0.113604,-0.796236,-0.680305,0.207049,1.05019,-1.01845,1.35647,0.473552,1.27829,-0.400618,0.292932,1.85605,-5.24097,-3.62819,-3.7286,-3.49284,-3.1482,-3.32494,-4.78922,-3.96811,0.613348,3.99026,-20.6044,15.008,-3.27229,19.398,13.8583,-8.67278 --7.69583,0.968585,0.323019,3,7,0,11.3629,9.08538,0.623621,-0.0964106,-0.158064,-1.42523,-1.03182,-0.328235,-1.11149,-0.527847,-1.23738,9.02525,8.19657,8.88068,8.7562,8.98681,8.44192,8.39223,8.31372,-4.42708,-3.22172,-3.96721,-3.32958,-3.73182,-3.54569,-3.68307,-3.83028,24.7213,5.32204,22.7078,9.79216,10.3469,4.97222,10.3866,21.4123 --6.7119,0.874999,0.413897,3,15,0,12.0505,4.16007,9.01517,1.88705,-1.37144,0.918514,0.763828,-0.703341,-0.65849,-0.0557571,-0.389669,21.1721,12.4406,-2.18067,3.65741,-8.20374,11.0461,-1.77633,0.647139,-3.73059,-3.32012,-3.69284,-3.363,-3.4365,-3.73388,-5.17704,-4.00821,4.14559,11.408,-22.9533,-8.80856,-2.68282,18.1182,-8.21266,5.58159 --6.72247,0.127451,0.463943,3,7,0,15.4157,5.31275,1.1652,0.701319,-1.59336,0.58507,0.862601,1.83595,-0.178285,0.113373,0.326172,6.12993,5.99448,7.452,5.44486,3.45617,6.31786,5.10502,5.69281,-4.68988,-3.24163,-3.90489,-3.32683,-3.23874,-3.43369,-4.05293,-3.8707,-10.5805,-5.23545,-7.59276,9.17721,16.2857,-5.60265,-1.40346,15.3309 --5.33738,0.989724,0.180837,4,15,0,12.1902,5.68268,3.23382,-0.624527,-0.442781,-0.570204,0.979799,-0.577463,0.690097,1.61479,0.850732,3.66307,3.83874,3.81527,10.9046,4.25081,8.85117,7.91433,8.4338,-4.94318,-3.3081,-3.78225,-3.37983,-3.28635,-3.57155,-3.73013,-3.82894,24.4543,1.51038,-2.72057,24.8944,-3.52859,4.19502,0.211062,-8.02758 --6.10607,0.995885,0.238605,4,15,0,8.77446,2.93884,4.06915,-1.13263,-1.05755,0.760097,-0.127223,-0.237746,1.09251,1.96197,0.0738804,-1.67003,6.03179,1.97141,10.9224,-1.36451,2.42115,7.38441,3.23947,-5.58323,-3.24089,-3.7398,-3.38041,-3.11698,-3.32518,-3.78498,-3.92775,-16.5146,20.547,-3.63649,-19.7042,-0.894278,-4.52465,9.78958,2.8589 --8.20155,0.951117,0.317122,4,15,0,12.4889,9.14903,1.91964,0.0472844,-0.0472835,1.93004,-0.808664,1.00513,1.41546,0.309767,1.40349,9.2398,12.854,11.0785,9.74367,9.05826,7.59669,11.8662,11.8432,-4.40909,-3.33933,-4.07865,-3.34794,-3.74066,-3.49665,-3.40964,-3.80935,17.2925,16.3643,0.57732,15.699,19.5178,7.91076,10.5048,-3.71763 --6.02779,0.891607,0.395279,4,31,0,12.8008,6.20933,2.63153,-0.167963,-0.420548,0.296012,0.101413,-0.695995,-1.08873,1.94592,-0.763043,5.76733,6.9883,4.3778,11.3301,5.10265,6.47621,3.34429,4.20136,-4.72541,-3.22664,-3.79784,-3.39431,-3.34605,-3.44075,-4.29547,-3.90317,8.954,16.9364,-0.890695,12.5779,-13.9663,-5.83059,3.1233,-23.7532 --6.35444,0.971318,0.452859,3,7,0,10.706,9.95613,6.95652,0.549185,-0.993486,0.101034,-0.705035,-0.303396,-0.665307,-1.93836,0.304392,13.7765,10.659,7.84555,-3.52814,3.04492,5.05154,5.32791,12.0736,-4.07656,-3.25687,-3.92127,-3.77486,-3.21716,-3.38466,-4.02443,-3.80932,10.741,8.5542,-2.61544,-13.0693,1.56793,10.3504,0.367129,21.4507 --4.9593,0.0750161,0.579456,5,31,0,11.0737,-0.816802,8.12673,0.323208,0.781267,0.340043,0.609292,0.291383,1.04106,1.70398,-0.252628,1.80982,1.94664,1.55118,13.031,5.53234,4.13475,7.64361,-2.86984,-5.15127,-3.40474,-3.73198,-3.46713,-3.37957,-3.35744,-3.7578,-4.15053,1.11265,8.6382,11.5548,16.9479,-13.7163,-16.0755,27.5657,-37.4472 --6.50129,0.920662,0.212736,4,31,0,11.5264,6.83042,1.08599,1.33401,-1.88743,0.359907,-0.088354,-1.19112,-0.414024,0.0188105,0.0749099,8.27914,7.22128,5.53688,6.85085,4.78071,6.73447,6.3808,6.91177,-4.49124,-3.22456,-3.83387,-3.31693,-3.32244,-3.45272,-3.89655,-3.84926,21.8801,-5.88043,13.7489,-4.35434,-3.92908,-1.61547,12.148,-32.7692 --6.70462,0.981656,0.253871,4,15,0,12.9249,6.55292,0.754515,0.807885,-1.80465,-0.0858409,0.203168,-0.588443,-0.398307,-1.23469,0.779764,7.16248,6.48815,6.10893,5.62133,5.19128,6.70621,6.25239,7.14126,-4.59188,-3.23295,-3.85358,-3.32469,-3.35278,-3.45138,-3.91156,-3.84574,16.398,-5.49532,36.1312,22.2192,4.37622,-2.96781,-13.1901,-7.05368 --9.32049,0.978523,0.329379,4,15,0,13.1981,0.202581,4.73302,-1.40846,-1.52973,-0.518635,0.300314,-0.521985,0.369923,0.233637,2.38606,-6.46368,-2.25213,-2.26799,1.30839,-7.03769,1.62397,1.95344,11.4959,-6.26642,-3.74705,-3.69257,-3.4507,-3.34119,-3.31844,-4.50898,-3.8097,-48.1036,7.10563,-14.6503,2.94807,0.0369146,-0.192402,7.60038,4.76233 --7.11201,0.0801869,0.424964,3,7,0,15.6527,2.92307,1.14829,-0.596761,-1.22431,-0.551229,-0.161717,-0.431047,0.358245,0.796765,2.25042,2.23781,2.2901,2.4281,3.83798,1.5172,2.73737,3.33444,5.5072,-5.10186,-3.38454,-3.74907,-3.35815,-3.15528,-3.32931,-4.29692,-3.87437,7.73763,3.66505,-6.2323,11.8948,-4.46468,-12.2194,9.13982,-0.661976 --10.5122,0.9899,0.158745,4,15,0,13.9148,1.3975,6.39579,-0.19952,-1.31303,-1.79974,-0.0726171,-0.247579,-1.24612,0.735809,1.51567,0.121413,-10.1133,-0.185961,6.10358,-7.00036,0.933057,-6.57244,11.0914,-5.35413,-4.86197,-3.70699,-3.32015,-3.33841,-3.31685,-6.24055,-3.81058,-26.2656,-8.40781,6.50536,-7.3067,5.73625,-9.73316,-15.3957,14.4179 --10.545,1,0.208142,4,31,0,17.5392,6.10981,0.222598,-0.638112,-0.519796,-1.34721,0.191916,0.45435,2.91506,-0.611419,-0.487405,5.96777,5.80993,6.21095,5.97371,5.9941,6.15253,6.7587,6.00131,-4.7057,-3.24551,-3.85723,-3.32119,-3.41812,-3.42654,-3.85336,-3.86484,-0.315529,-8.56989,-13.7247,-18.3356,-11.9394,3.1886,10.4757,23.5149 --12.4744,0.93253,0.276359,4,15,0,18.3922,7.65701,0.0225321,0.174778,1.11826,2.11688,-0.798313,0.145555,1.82391,-0.710979,0.253062,7.66094,7.7047,7.66028,7.64099,7.6822,7.63902,7.6981,7.66271,-4.54627,-3.22196,-3.91348,-3.31853,-3.58148,-3.49897,-3.75217,-3.83834,-8.44594,6.67414,-6.76885,-7.04722,9.7375,-1.50254,4.12655,3.43882 --7.91477,0.856307,0.334116,3,7,0,17.648,8.26625,1.53157,1.18859,0.00204993,-1.21079,0.64459,1.72558,0.656295,1.14966,-0.995685,10.0867,6.41184,10.9091,10.027,8.26939,9.25349,9.27142,6.74129,-4.34007,-3.23413,-4.06939,-3.3547,-3.64654,-3.59832,-3.60246,-3.85199,36.5657,23.3714,39.8805,3.96229,4.73708,12.1592,17.3558,1.04491 --6.55892,0.906475,0.363685,3,15,0,12.9046,-4.39121,9.71452,1.35907,0.105027,1.40376,-0.563136,-1.18019,0.752896,-0.137584,0.570192,8.81151,9.24561,-15.8562,-5.72778,-3.37092,-9.86181,2.92282,1.14794,-4.44521,-3.22928,-4.01434,-3.98624,-3.15086,-3.80435,-4.35813,-3.99105,-22.4336,9.3902,-17.2149,1.02097,-4.95337,-11.7099,4.12191,-19.2252 --6.96846,0.255041,0.423699,2,3,0,10.6515,-3.63066,4.2275,1.30825,-0.494952,0.994455,-0.956733,-0.935669,0.758635,0.0331336,0.747583,1.89995,0.573394,-7.5862,-3.49059,-5.72307,-7.67525,-0.423536,-0.470257,-5.14079,-3.4973,-3.73261,-3.7716,-3.25386,-3.62783,-4.91866,-4.04929,23.2297,12.2524,26.1032,-22.7738,-20.2771,1.50377,11.6033,0.472914 --7.44194,0.97309,0.203485,4,15,0,15.8957,7.69827,2.62425,0.226693,-0.449214,-0.124063,1.23101,0.729797,0.509489,-2.41174,-0.718113,8.29317,7.3727,9.61344,1.36927,6.51942,10.9288,9.0353,5.81376,-4.49001,-3.22349,-4.00227,-3.44785,-3.46519,-3.72419,-3.62335,-3.86837,8.64173,2.19993,-0.686444,-1.0128,2.90761,12.195,1.33252,-15.0262 --4.97612,0.983644,0.259631,4,15,0,11.5087,2.7618,2.84256,-0.883698,-1.57456,0.593704,-0.730472,-0.69159,0.77487,0.491442,0.34955,0.249829,4.44943,0.795908,4.15875,-1.71398,0.685383,4.96441,3.75541,-5.33826,-3.28456,-3.71967,-3.35019,-3.11931,-3.31724,-4.07116,-3.91421,5.72082,-0.0544144,17.5661,-6.64511,9.0628,0.114881,0.209171,-1.05949 --9.45945,0.958933,0.335653,3,15,0,11.501,9.41979,1.77617,2.36857,-0.488723,-1.29109,0.351514,1.08215,-1.55176,-0.368759,0.264838,13.6268,7.12658,11.3419,8.76481,8.55173,10.0441,6.66359,9.89018,-4.08608,-3.22534,-4.09326,-3.3297,-3.67935,-3.65484,-3.86409,-3.81618,13.888,-9.77438,22.4195,-14.4244,-18.6543,28.9035,-2.31711,-14.9404 --7.93577,0.992487,0.4192,4,31,0,14.1842,6.69222,2.55439,1.82695,-0.726461,1.26341,-0.528712,0.430994,-0.949688,-1.09934,1.78532,11.359,9.91947,7.79315,3.88408,4.83656,5.34169,4.26635,11.2526,-4.24238,-3.23995,-3.91905,-3.35695,-3.32644,-3.39473,-4.16459,-3.81017,24.2157,18.4585,-8.73004,-0.784553,-3.75216,3.5009,4.61229,23.9429 --7.93577,0,2.18874,0,1,1,14.4097,6.69222,2.55439,1.82695,-0.726461,1.26341,-0.528712,0.430994,-0.949688,-1.09934,1.78532,11.359,9.91947,7.79315,3.88408,4.83656,5.34169,4.26635,11.2526,-4.24238,-3.23995,-3.91905,-3.35695,-3.32644,-3.39473,-4.16459,-3.81017,0.84094,14.6971,23.6362,0.580601,6.45098,6.68959,-3.92564,2.52787 --7.93577,0,5.11084,0,1,1,11.1529,6.69222,2.55439,1.82695,-0.726461,1.26341,-0.528712,0.430994,-0.949688,-1.09934,1.78532,11.359,9.91947,7.79315,3.88408,4.83656,5.34169,4.26635,11.2526,-4.24238,-3.23995,-3.91905,-3.35695,-3.32644,-3.39473,-4.16459,-3.81017,16.1911,12.4613,25.937,-2.48849,9.94004,2.127,10.0506,8.96556 --5.44111,0.688402,0.503926,3,7,0,13.7508,7.23033,5.52085,1.60862,0.652654,0.890964,-0.0808516,0.473519,-0.455052,-0.53379,0.89911,16.1113,12.1492,9.84456,4.28336,10.8335,6.78396,4.71806,12.1942,-3.94108,-3.3076,-4.01376,-3.34733,-3.98056,-3.45507,-4.10357,-3.80937,-26.195,16.3582,3.11109,11.8054,7.31603,-4.1268,16.1766,-7.76104 --5.4449,0.984911,0.228785,4,15,0,9.43087,7.27295,2.909,1.56647,-0.145608,0.116809,-1.24511,0.0756582,0.0211026,-0.797565,1.43516,11.8298,7.61275,7.49304,4.95284,6.84938,3.65094,7.33434,11.4478,-4.20804,-3.22227,-3.90657,-3.33415,-3.49649,-3.34587,-3.7903,-3.80978,54.8316,20.5771,5.94384,10.4422,12.3619,-2.06468,-2.05148,18.1643 --4.16647,0.986057,0.279137,4,15,0,8.61843,2.25027,7.53174,-0.399827,-0.131911,0.458829,0.312936,-1.20042,0.840399,0.705183,-0.964509,-0.761118,5.70606,-6.79098,7.56153,1.25675,4.60723,8.57994,-5.01416,-5.46522,-3.24783,-3.7196,-3.31814,-3.1476,-3.3706,-3.66521,-4.25604,-25.4944,-13.0272,-21.877,21.4995,-1.74871,14.4555,1.20544,-10.1413 --4.57366,0.148382,0.402091,4,15,0,11.3301,3.51972,2.67627,-0.150485,-0.25854,-0.447744,0.0218019,-1.25675,1.05254,-0.161267,-1.35116,3.11698,2.32144,0.156312,3.08813,2.8278,3.57807,6.33659,-0.0963347,-5.00291,-3.38275,-3.71098,-3.38007,-3.20661,-3.3443,-3.9017,-4.03511,-23.9972,5.1454,-21.3681,13.1722,-6.5882,8.0297,2.64483,0.133624 --6.40303,0.999218,0.049091,6,63,0,9.31566,9.02951,1.02594,-0.180675,-0.348831,-0.644432,-1.09248,1.62412,-0.22165,0.131644,0.477724,8.84415,8.36836,10.6958,9.16457,8.67163,7.90869,8.80211,9.51963,-4.44243,-3.2222,-4.05788,-3.33619,-3.69357,-3.51407,-3.64453,-3.8188,11.3855,19.6317,9.91525,14.0638,-2.93614,12.7389,27.6913,-9.13545 --8.19956,0.998701,0.082483,5,31,0,10.7612,8.62621,0.998659,-0.340051,0.0117903,-1.20094,-0.964061,2.2865,-0.448329,0.250713,0.587047,8.28662,7.42689,10.9097,8.87659,8.63799,7.66345,8.17849,9.21247,-4.49058,-3.22317,-4.06941,-3.33139,-3.68956,-3.50031,-3.70383,-3.8213,14.9905,-10.7184,-4.40108,-5.50222,13.2494,23.9846,2.74806,-1.91251 --6.60458,0.997197,0.145937,5,31,0,13.5717,0.773636,1.15331,0.678193,-0.259842,1.34321,0.210618,-1.67134,0.913715,-0.539304,-0.418295,1.5558,2.32277,-1.15393,0.151653,0.473959,1.01654,1.82743,0.291214,-5.18098,-3.38268,-3.69818,-3.51063,-3.12957,-3.31683,-4.52928,-4.02088,6.57834,2.94279,0.933342,1.41585,-5.17713,-6.09584,-1.18619,3.87494 --7.33462,0.997982,0.265514,3,7,0,8.55134,1.00439,1.26961,0.385307,-0.234394,1.21747,0.580151,-2.15633,0.708234,-0.636165,-0.724563,1.49358,2.5501,-1.7333,0.196712,0.706804,1.74096,1.90357,0.0844819,-5.1883,-3.37003,-3.69466,-3.50809,-3.13415,-3.3191,-4.517,-4.02841,-10.834,-2.34046,-28.8022,-7.75187,-0.390902,13.6358,12.2451,-28.5289 --6.35679,0.999068,0.493548,3,7,0,9.47103,9.26856,10.3867,-0.055327,-0.347662,-1.22535,-0.985056,0.91981,0.426923,0.476221,0.80336,8.69389,-3.45884,18.8224,14.2149,5.6575,-0.962939,13.7029,17.6128,-4.45527,-3.87805,-4.62164,-3.53194,-3.38976,-3.33276,-3.31385,-3.85793,12.3387,-15.8763,-8.57051,3.77021,1.10445,0.540416,30.8653,7.83452 --6.35679,0.0761838,0.929564,4,15,0,10.2042,9.26856,10.3867,-0.055327,-0.347662,-1.22535,-0.985056,0.91981,0.426923,0.476221,0.80336,8.69389,-3.45884,18.8224,14.2149,5.6575,-0.962939,13.7029,17.6128,-4.45527,-3.87805,-4.62164,-3.53194,-3.38976,-3.33276,-3.31385,-3.85793,30.4243,4.51257,30.0757,8.73925,15.8091,-5.41184,2.89856,39.4561 --5.37974,1,0.0960427,5,31,0,8.98552,6.93193,3.01323,0.727197,-0.84766,1.69445,0.122363,-0.38299,0.369508,-1.41605,0.256659,9.12315,12.0377,5.7779,2.66505,4.37774,7.30064,8.04535,7.70531,-4.41885,-3.30304,-3.84202,-3.39449,-3.29468,-3.48088,-3.717,-3.83777,1.07603,1.46343,5.30667,-3.72946,-5.34209,5.86735,-3.02967,15.1492 --5.61332,0.999552,0.184167,4,31,0,9.43248,9.27845,6.42236,-0.270241,-0.968485,-0.792871,-0.205144,1.0223,-0.0845902,-0.638722,1.20491,7.54286,4.18635,15.8441,5.17635,3.05849,7.96094,8.73518,17.0168,-4.55698,-3.29424,-4.38508,-3.33058,-3.21784,-3.51706,-3.65071,-3.84815,-4.73278,11.3638,7.75047,8.97916,-0.595675,4.17489,-0.54102,43.4099 --5.94039,0.531364,0.352232,3,7,0,10.1583,8.88949,0.823786,-0.22512,-1.35083,0.536105,-0.435212,1.03574,0.20228,-0.241935,0.424938,8.70404,9.33112,9.74271,8.69018,7.77669,8.53096,9.05612,9.23954,-4.4544,-3.23038,-4.00867,-3.32864,-3.59166,-3.5512,-3.62149,-3.82107,-6.46661,16.262,21.8875,24.1356,-5.31452,21.4821,5.8465,13.5813 --3.79244,0.996596,0.157274,5,31,0,8.51399,4.03402,3.42215,0.795674,0.107776,0.802102,-0.133312,-0.712102,-0.446027,0.587293,1.13663,6.75694,6.77894,1.5971,6.04383,4.40285,3.57781,2.50765,7.92373,-4.62981,-3.22898,-3.7328,-3.32061,-3.29635,-3.34429,-4.42159,-3.83495,19.9657,14.6523,1.64635,15.9989,-6.29058,5.1043,0.226829,44.8158 --3.89952,0.997052,0.297999,4,15,0,5.9647,3.05996,4.34147,0.711291,0.458817,0.863118,-0.194157,-0.820902,-0.263185,0.845971,1.00089,6.148,6.80715,-0.503962,6.73271,5.05189,2.21703,1.91735,7.40527,-4.68812,-3.22864,-3.7037,-3.31713,-3.34225,-3.32295,-4.51478,-3.84189,10.679,-12.1581,27.9941,-9.39429,18.8998,12.8501,6.28239,10.5461 --6.93003,0.222651,0.561556,3,7,0,9.79507,1.41162,8.40373,0.15762,0.34502,1.42649,-1.09426,-0.213416,-0.589178,1.33385,0.853824,2.73622,13.3994,-0.381871,12.621,4.31107,-7.78428,-3.53968,8.58693,-5.04534,-3.36729,-3.70492,-3.44739,-3.29028,-3.63569,-5.54131,-3.82729,5.73965,22.5447,20.7254,3.44741,1.89572,-1.67186,-14.5638,-12.8229 --5.16903,1,0.100434,5,31,0,10.6324,4.62664,0.878361,-0.40461,0.117103,-0.040439,0.0545812,-0.496122,-1.02367,-1.07671,0.963932,4.27124,4.59112,4.19086,3.68089,4.72949,4.67458,3.72749,5.47332,-4.87822,-3.27963,-3.79252,-3.36236,-3.3188,-3.37263,-4.24005,-3.87505,6.81052,5.02142,-10.7999,2.87362,-1.0405,-8.02444,1.85121,10.4058 --3.71391,0.999973,0.191318,4,15,0,6.37629,4.23773,4.30979,-0.820509,0.321394,-0.372893,0.168818,0.666955,-0.100676,0.174487,-0.331555,0.701505,2.63064,7.11216,4.98973,5.62287,4.96529,3.80384,2.80879,-5.28301,-3.36567,-3.89125,-3.33353,-3.38692,-3.38181,-4.22918,-3.93968,-5.19315,3.57895,4.70464,16.5125,15.5961,13.1689,-7.81373,-7.57249 --2.61285,0.602433,0.361082,4,31,0,5.0158,5.32207,17.9734,1.33661,-0.546779,0.311513,-0.395759,-0.941874,0.812796,0.0534577,0.137548,29.3454,10.921,-11.6066,6.28288,-4.50541,-1.79106,19.9308,7.79426,-3.63101,-3.26419,-3.8362,-3.31896,-3.19201,-3.34902,-3.24016,-3.83661,17.0196,3.67285,9.05188,7.5273,-8.65565,14.7662,6.27218,2.88739 --5.25323,0.99386,0.208369,4,15,0,6.75479,-2.73055,11.14,0.243124,0.327518,-0.162357,0.747251,1.15951,0.709313,0.568107,0.868837,-0.022152,-4.53921,10.1864,3.59815,0.917991,5.59381,5.17119,6.94828,-5.37197,-4.00768,-4.03114,-3.36465,-3.13887,-3.40404,-4.04442,-3.84869,3.39037,3.28001,22.4231,-4.12164,-9.4253,17.4054,16.569,20.1749 --6.19774,0.447674,0.382586,3,7,0,8.93236,-4.1721,7.96758,0.475486,0.734561,-0.0452106,0.542577,1.03718,1.06981,1.07126,1.17794,-0.383622,-4.53232,4.09172,4.36322,1.68058,0.150929,4.35173,5.21321,-5.41728,-4.00682,-3.78975,-3.34556,-3.16052,-3.31981,-4.1529,-3.88039,-17.5154,-5.57881,-20.4468,11.3094,4.2015,13.5616,1.70011,-6.70467 --8.76779,0.949664,0.142214,4,15,0,11.8577,-6.86461,5.37252,0.476924,0.580278,0.0484005,0.522976,0.308646,2.06666,0.837067,1.17052,-4.30233,-6.60457,-5.2064,-2.36745,-3.74705,-4.05491,4.23857,-0.575961,-5.94574,-4.28799,-3.70104,-3.67943,-3.16275,-3.42242,-4.16841,-4.05338,-3.02763,-4.25732,-36.87,-9.61507,-10.6231,-29.3045,8.69547,-4.05262 --7.61398,0.788443,0.228518,4,15,0,14.0728,12.2211,4.74051,0.93561,-0.528142,0.879984,-0.411446,-0.784353,-1.01374,-0.143148,-1.40759,16.6564,16.3927,8.5029,11.5425,9.71747,10.2707,7.41548,5.54844,-3.91294,-3.57371,-3.94996,-3.4021,-3.8252,-3.67198,-3.78168,-3.87354,13.1886,10.2651,-5.73952,11.8259,22.8885,5.22077,24.3018,11.7614 --5.93339,0.990379,0.22988,4,15,0,10.4163,-2.0246,8.32231,0.543216,-0.496906,-0.933846,0.0838504,0.525224,1.7844,0.0168502,-0.306462,2.49622,-9.79636,2.34648,-1.88436,-6.16,-1.32677,12.8258,-4.57507,-5.07242,-4.80508,-3.74736,-3.643,-3.28052,-3.33921,-3.35539,-4.23328,-8.3786,-23.579,25.8635,-7.04922,-6.60128,23.6938,18.6783,0.682528 --8.35787,0.401424,0.40981,3,7,0,12.3928,1.26938,5.17775,-0.108277,1.39322,0.645779,-1.95017,-0.605633,1.19719,1.84598,0.593481,0.708752,4.61307,-1.86643,10.8274,8.48311,-8.82812,7.46813,4.34228,-5.28213,-3.27888,-3.69404,-3.37737,-3.67128,-3.71597,-3.77613,-3.89981,-10.0115,3.81505,1.63988,9.18332,16.1041,-27.5894,5.47562,1.40548 --8.34633,1,0.138377,5,31,0,12.9554,1.27735,2.45249,0.213267,0.036652,0.300577,-2.36208,-1.97253,0.816743,-0.667722,0.831931,1.80038,2.01451,-3.56027,-0.360234,1.36724,-4.51564,3.2804,3.31765,-5.15237,-3.40065,-3.69214,-3.54069,-3.15075,-3.44255,-4.30486,-3.92564,-10.8091,10.3065,-14.0933,4.96705,-5.00684,-14.4553,2.67184,8.29479 --10.3356,0.988419,0.252085,4,15,0,14.3944,7.74088,2.58366,-0.851806,1.11996,-1.33419,2.37587,1.11176,-0.459158,0.559893,-0.948982,5.5401,4.29378,10.6133,9.18745,10.6345,13.8793,6.55457,5.28903,-4.74798,-3.2902,-4.05348,-3.33661,-3.95172,-4.00227,-3.87651,-3.87881,55.3208,6.07066,10.2686,20.2732,-5.2664,11.798,22.4028,7.13911 --10.6375,1,0.440354,3,7,0,11.9499,8.22136,2.39513,-1.08269,1.13357,-1.32588,2.34551,0.71646,-0.604705,0.391723,-1.27522,5.62818,5.0457,9.93738,9.15959,10.9364,13.8392,6.77301,5.16705,-4.73921,-3.26516,-4.01843,-3.33611,-3.99566,-3.99801,-3.85175,-3.88136,-0.817727,6.63699,8.83425,10.3336,17.9631,27.0372,13.5006,3.83911 --7.27903,0.6,0.7867,2,5,1,14.052,0.103569,3.8924,1.01717,-1.72874,-0.386011,-0.948895,-1.39055,1.40904,-0.359011,0.933994,4.06279,-1.39894,-5.30901,-1.29384,-6.62536,-3.58991,5.58813,3.73905,-4.9003,-3.66322,-3.70194,-3.60108,-3.3115,-3.40389,-3.9918,-3.91462,-15.5514,5.2761,17.9035,4.64302,-26.039,-22.9629,18.6653,-10.7951 --8.3671,0.0684597,0.469718,3,7,0,11.4442,1.36617,10.5396,1.16213,-1.57079,-0.64489,-0.307788,-1.47727,1.81592,-0.262751,1.28933,13.6145,-5.43068,-14.2036,-1.40311,-15.1893,-1.87778,20.5051,14.9551,-4.08686,-4.12344,-3.93668,-3.60862,-4.35897,-3.35106,-3.2529,-3.82279,15.4843,-13.6109,-1.80745,12.4569,-24.9281,-1.96243,18.0395,2.17386 --6.98763,1,0.0675599,6,63,0,14.9454,5.48125,0.666182,1.23279,-0.495893,-1.02993,0.176187,-0.16351,-1.3698,0.524845,-1.33954,6.30251,4.79513,5.37233,5.8309,5.1509,5.59863,4.56872,4.58888,-4.67317,-3.27288,-3.82843,-3.32248,-3.3497,-3.40422,-4.12352,-3.89407,22.6948,2.73564,-6.47561,23.7645,8.10997,-15.0574,-1.19317,-9.26013 --4.19579,0.997907,0.120818,5,31,0,10.1584,3.17479,5.1709,0.551162,-1.5182,0.522002,0.925752,0.555833,0.858965,0.80857,0.0977587,6.02479,5.87401,6.04895,7.35582,-4.67568,7.96176,7.61641,3.68029,-4.70012,-3.24412,-3.85146,-3.31736,-3.19956,-3.51711,-3.76062,-3.91613,14.5774,11.5597,10.5491,27.1745,-2.74544,27.7309,14.0669,7.25866 --7.30934,0.96725,0.212848,4,15,0,10.2047,4.16889,1.25516,0.624993,0.329557,1.86712,-1.89911,-0.125974,-1.03141,-0.134985,0.254735,4.95336,6.51243,4.01078,3.99947,4.58254,1.7852,2.87431,4.48863,-4.80732,-3.23259,-3.78753,-3.35404,-3.30854,-3.31938,-4.36546,-3.89638,-23.7468,7.24746,9.64958,7.45804,0.440931,19.8146,15.2626,-1.5018 --7.18467,0.997245,0.342804,4,15,0,9.59857,6.60355,2.09381,-0.4415,-0.803116,-1.7822,1.62219,-0.63702,1.43199,0.174852,-0.0318996,5.67914,2.87197,5.26976,6.96966,4.92198,10.0001,9.60186,6.53676,-4.73415,-3.35301,-3.8251,-3.31684,-3.33264,-3.65155,-3.57417,-3.85537,4.58158,-5.72567,-8.62788,17.9181,-3.8618,16.2371,19.0969,8.85271 --9.07318,0.4059,0.592523,3,7,0,12.731,9.20585,0.838748,0.513055,-1.49582,0.171365,2.4149,-0.44356,0.169456,-0.16204,-0.996337,9.63618,9.34958,8.83382,9.06994,7.95123,11.2313,9.34798,8.37018,-4.37639,-3.23063,-3.96504,-3.33454,-3.61076,-3.7494,-3.59581,-3.82964,29.171,4.80996,14.2953,1.88613,-14.7775,11.5376,9.73146,0.712853 --9.95021,0.764723,0.219722,4,15,0,20.0394,8.79055,0.281219,0.165698,-1.59786,0.306412,2.20175,-0.926614,0.338031,-0.0792644,-1.02441,8.83715,8.87672,8.52997,8.76826,8.3412,9.40972,8.88561,8.50246,-4.44302,-3.22537,-3.95118,-3.32975,-3.65479,-3.60908,-3.63688,-3.82819,19.8321,8.28734,8.69979,1.16046,11.0154,11.1541,10.4806,8.93572 --10.1263,0.991883,0.207916,4,15,0,12.838,1.62337,0.430483,0.3764,1.11351,-0.259982,-2.69205,0.545496,0.533398,0.911928,1.23955,1.7854,1.51145,1.85819,2.01593,2.10271,0.464484,1.85298,2.15697,-5.15411,-3.43203,-3.73762,-3.41948,-3.17559,-3.31802,-4.52515,-3.95882,-9.5924,-0.0421473,17.9382,-7.59326,-3.17888,20.9168,16.6113,7.76797 --9.51527,0.788982,0.351301,3,7,0,15.3456,1.10835,3.31675,0.097613,0.982955,-0.90883,-2.59911,1.34756,0.935892,1.28246,-0.231002,1.43211,-1.90601,5.57787,5.36196,4.36857,-7.51225,4.21247,0.342178,-5.19555,-3.71217,-3.83524,-3.32792,-3.29407,-3.61625,-4.172,-4.01904,7.5171,-5.20701,21.1336,18.4929,13.9601,-12.6113,16.9958,-26.8102 --9.54726,0.980739,0.352419,4,15,0,16.5417,3.78698,2.55502,0.06293,-3.22104,-0.544238,1.54626,-0.406883,0.166933,0.699191,0.782395,3.94777,2.39644,2.74738,5.57343,-4.44285,7.73771,4.2135,5.78602,-4.91257,-3.37852,-3.75604,-3.32524,-3.18933,-3.50442,-4.17186,-3.8689,4.74084,4.57804,-21.2984,13.6869,-13.6431,7.25324,1.32415,-6.15502 --8.1664,0.657151,0.572112,3,7,0,14.7944,1.71225,1.37511,0.722851,-2.13409,-0.78335,1.22276,-0.228435,-0.874458,1.2784,0.314271,2.70625,0.635056,1.39813,3.47019,-1.22236,3.39368,0.509773,2.14441,-5.04871,-3.49274,-3.72931,-3.36832,-3.11647,-3.34051,-4.75106,-3.95921,3.00168,5.53661,-42.3428,-11.3186,0.145282,-0.183449,-25.2479,-6.65023 --6.49249,0.972585,0.411591,3,7,0,13.9162,7.66126,2.93654,-0.237365,-0.0235632,-2.29478,-1.17448,0.178752,0.779588,-0.247711,-0.328295,6.96422,0.922554,8.18617,6.93384,7.59206,4.21235,9.95055,6.69721,-4.61033,-3.47197,-3.93592,-3.31685,-3.57186,-3.35948,-3.54549,-3.8527,-12.7772,11.444,38.3791,24.721,12.3929,14.1332,7.04917,-0.825368 --4.71937,0.856893,0.649321,2,7,1,7.76804,6.30394,5.15739,-0.125259,-0.888072,1.41208,0.422677,0.301551,-0.699435,0.0482482,0.442806,5.65793,13.5866,7.85916,6.55278,1.7238,8.48385,2.69668,8.58767,-4.73625,-3.37757,-3.92184,-3.31766,-3.16196,-3.54827,-4.39248,-3.82728,21.0272,15.9418,3.21449,-2.44773,5.71981,17.1119,-2.33698,6.50271 --4.89409,0.491738,0.765804,2,5,1,6.86645,0.37884,7.23038,1.58746,0.216761,-0.416086,-0.572006,-0.212236,2.0192,0.210938,-0.698799,11.8568,-2.62962,-1.15571,1.904,1.94611,-3.75698,14.9784,-4.67375,-4.20611,-3.78647,-3.69817,-3.42414,-3.16974,-3.41034,-3.26717,-4.23834,6.57938,0.102176,5.72666,12.8955,-5.09189,24.0583,16.7082,7.99899 --7.0675,0.90227,0.369714,3,7,0,10.0862,-0.131309,5.60875,0.543854,0.461038,-0.447219,1.24214,-0.488964,0.663237,0.568692,-2.09278,2.91903,-2.63965,-2.87379,3.05834,2.45454,6.83553,3.58862,-11.8692,-5.02489,-3.78753,-3.69156,-3.38103,-3.18983,-3.45755,-4.25996,-4.68853,4.3701,-5.73359,-4.18338,15.4004,7.09734,10.5727,-3.1036,-14.2497 --5.48403,0.934929,0.487377,3,7,0,11.8117,5.39354,8.88938,0.98283,-0.693654,-0.0129001,-1.05112,1.20644,1.01626,-0.249414,1.77537,14.1303,5.27887,16.118,3.17641,-0.77261,-3.95024,14.4274,21.1755,-4.05448,-3.25855,-4.40539,-3.37725,-3.11648,-3.41809,-3.28534,-3.93923,14.2199,1.32258,28.7531,16.4695,1.50985,-11.5843,27.967,36.9389 --3.89102,0.82705,0.692249,3,7,0,8.8088,6.65052,7.50849,1.09357,-1.32356,-0.831657,-0.441604,-0.13332,1.16368,-0.167913,0.783395,14.8616,0.406043,5.6495,5.38976,-3.28739,3.33475,15.388,12.5326,-4.01058,-3.50986,-3.83765,-3.32755,-3.14846,-3.33936,-3.25564,-3.80975,39.6294,5.46288,32.3546,1.21834,-7.41397,18.136,3.0468,37.4265 --3.89102,0.192268,0.756119,3,7,0,7.87928,6.65052,7.50849,1.09357,-1.32356,-0.831657,-0.441604,-0.13332,1.16368,-0.167913,0.783395,14.8616,0.406043,5.6495,5.38976,-3.28739,3.33475,15.388,12.5326,-4.01058,-3.50986,-3.83765,-3.32755,-3.14846,-3.33936,-3.25564,-3.80975,-25.5218,-0.789958,-1.26312,-4.33436,5.5409,3.73308,23.6477,16.2457 --3.66799,0.984883,0.182889,5,47,0,8.4571,1.06396,11.613,0.820501,0.436766,0.0239397,-1.00216,-0.62947,0.938451,-0.299449,-0.201558,10.5924,1.34197,-6.24606,-2.41353,6.13611,-10.5741,11.9622,-1.27673,-4.30038,-3.44317,-3.71211,-3.68301,-3.43051,-3.87039,-3.4038,-4.08133,5.66043,10.6641,12.558,-30.5739,-4.91084,-16.4988,-7.1387,17.2244 -# Adaptation terminated -# Step size = 0.339982 -# Diagonal elements of inverse mass matrix: -# 10.8626, 2.5466, 0.829996, 0.90972, 0.858617, 1.26414, 0.894053, 0.867558, 0.966067, 0.934681 --10.893,0.630439,0.339982,3,7,0,13.2306,-0.443486,0.563427,-1.61248,0.087617,-0.323382,-0.039501,2.71912,-0.603932,0.626723,0.832743,-1.352,-0.625688,1.08854,-0.0903732,-0.39412,-0.465742,-0.783758,0.0257041,-5.54152,-3.59354,-3.72418,-3.52458,-3.11843,-3.32571,-4.98567,-4.03058,-10.5446,6.47487,-7.22809,2.80695,3.87292,0.953728,-19.0504,5.48563 --9.6909,0.972425,0.339982,4,15,0,20.7655,7.2946,1.35519,0.0333484,-2.73045,1.26831,0.289276,-0.227443,1.14811,-1.04253,-1.48333,7.33979,9.0134,6.98637,5.88177,3.59432,7.68662,8.85051,5.28441,-4.57553,-3.22666,-3.88631,-3.322,-3.24646,-3.50159,-3.64009,-3.87891,-4.10673,18.0149,2.10526,0.766913,22.769,-13.6289,24.784,8.8182 --8.39916,0.98858,0.339982,3,15,0,13.3573,0.169798,1.73541,0.873704,1.60531,-0.623022,0.00834419,-0.291286,0.2071,1.01971,2.28544,1.68603,-0.911399,-0.335702,1.93941,2.95566,0.184278,0.5292,4.13596,-5.16571,-3.61859,-3.70539,-3.42266,-3.21275,-3.31958,-4.74767,-3.90475,-24.6469,11.9125,-14.0822,2.59167,-7.57046,1.87238,0.368315,-9.91349 --7.86684,0.994248,0.339982,4,15,0,13.6136,3.37474,1.78445,-1.59712,0.155423,0.56911,-1.25221,0.742003,-0.436657,-1.85895,-0.69087,0.524754,4.39029,4.69881,0.0575288,3.65209,1.14024,2.59555,2.14191,-5.30452,-3.28667,-3.80729,-3.516,-3.24976,-3.31692,-4.40801,-3.95928,-3.21431,5.46837,0.0195119,-2.70968,-4.2296,-16.2759,-4.01492,29.3184 --5.24501,0.988787,0.339982,3,7,0,10.2393,4.35339,3.15563,-0.794361,0.0880965,-0.0470737,-0.574955,-0.0666585,-0.795369,-0.351698,-1.61405,1.84668,4.20484,4.14304,3.24356,4.63139,2.53904,1.84349,-0.739961,-5.14698,-3.29354,-3.79118,-3.37514,-3.31192,-3.32662,-4.52669,-4.05978,18.1743,0.489176,0.0899429,6.78765,29.89,-3.87386,16.2825,6.16541 --3.80714,0.970377,0.339982,3,15,0,8.40223,4.07582,1.874,0.352072,-1.08422,-0.609261,0.536449,-0.412546,0.787147,-0.0738472,0.591004,4.73561,2.93407,3.30272,3.93744,2.04401,5.08113,5.55093,5.18336,-4.82973,-3.34984,-3.76911,-3.35559,-3.17336,-3.38566,-3.99642,-3.88102,-1.17245,-29.6634,31.9264,-5.75544,13.1499,-8.05923,23.3595,9.72728 --4.43902,0.998413,0.339982,3,7,0,6.28226,8.22157,14.4469,1.4319,-0.00283884,0.388795,0.510628,-0.265201,0.147379,0.2573,0.493266,28.908,13.8384,4.39025,11.9387,8.18056,15.5985,10.3507,15.3477,-3.62882,-3.39196,-3.7982,-3.41762,-3.63643,-4.19748,-3.51408,-3.82661,24.7367,12.0244,19.7761,6.98994,14.5575,-8.2612,-11.1923,28.3985 --4.27976,0.725663,0.339982,3,7,0,7.87488,9.34215,2.03098,0.703803,0.416763,0.573834,-0.245057,0.0752525,0.574924,0.273264,0.129446,10.7716,10.5076,9.49499,9.89714,10.1886,8.84444,10.5098,9.60505,-4.28659,-3.25296,-3.99646,-3.35152,-3.88891,-3.57111,-3.50204,-3.81816,8.96435,22.6815,2.83365,40.2352,-3.78151,-1.56609,-5.80569,8.25197 --9.11288,0.920884,0.339982,3,7,0,11.763,1.5787,5.0846,0.0187109,-1.09081,0.757832,1.25085,0.374964,0.263893,2.49057,-1.61807,1.67384,5.43197,3.48524,14.2422,-3.96763,7.93876,2.92049,-6.64853,-5.16714,-3.2545,-3.77367,-3.53357,-3.17053,-3.51579,-4.35848,-4.34599,-20.0218,20.6398,-11.0531,-3.36375,7.79892,30.1608,14.739,-31.4417 --9.40454,0.221618,0.339982,4,15,0,16.2585,5.13786,0.288743,0.704809,2.08401,-1.15405,-1.66664,0.915622,0.522782,0.265352,0.116819,5.34136,4.80463,5.40224,5.21447,5.7396,4.65662,5.28881,5.17159,-4.76791,-3.27258,-3.82941,-3.33001,-3.39655,-3.37209,-4.0294,-3.88127,13.0161,-7.00097,10.3812,12.1123,18.3562,2.76877,3.2462,-14.4871 --9.74313,0.724316,0.339982,3,15,0,15.672,4.41809,4.23529,0.381029,1.94616,0.671367,-0.0164131,0.00268556,-1.46303,0.289549,-2.09249,6.03186,7.26152,4.42946,5.64441,12.6606,4.34858,-1.77827,-4.4442,-4.69943,-3.22425,-3.79933,-3.32443,-4.2681,-3.36317,-5.17742,-4.22661,16.0317,14.9369,25.0828,-1.68161,15.834,-15.2576,-1.42459,16.303 --7.5546,1,0.339982,3,7,0,12.741,6.63363,1.91721,0.421803,1.70536,0.682187,-0.253852,0.129923,-1.33113,0.311875,-1.66266,7.44231,7.94152,6.88272,7.23156,9.90316,6.14694,4.08157,3.44596,-4.56614,-3.22154,-3.88229,-3.31706,-3.84998,-3.4263,-4.19014,-3.92223,6.83712,18.5713,5.09209,-7.63293,6.80287,3.86453,3.96638,1.35261 --12.7082,0.614089,0.339982,3,15,0,15.7042,8.22301,0.0449961,1.03288,2.22327,0.729735,-0.506272,0.422881,-0.167916,-1.72294,-1.33988,8.26949,8.25585,8.24204,8.14548,8.32305,8.20023,8.21545,8.16272,-4.49208,-3.22185,-3.93837,-3.32226,-3.6527,-3.53106,-3.70021,-3.83203,13.1645,17.8999,0.951622,-3.58207,1.61284,-1.51556,21.669,-19.9442 --8.73368,0.71584,0.339982,3,7,0,16.424,4.04135,5.81335,-1.10054,0.0733683,-1.78002,0.519911,-0.10458,0.73235,1.11959,2.02501,-2.35647,-6.30653,3.4334,10.5499,4.46787,7.06378,8.29876,15.8135,-5.6748,-4.24491,-3.77236,-3.36891,-3.30072,-3.46877,-3.69209,-3.83175,-1.36634,-5.48617,7.86028,11.2067,11.4382,-5.6825,5.23408,21.3401 --8.21948,0.947273,0.339982,4,15,0,19.3354,-1.96501,6.59462,0.100128,-0.63492,-0.226091,-0.409803,-0.479806,1.2874,-0.857267,-1.93805,-1.3047,-3.45599,-5.12914,-7.61836,-6.15207,-4.6675,6.52488,-14.7457,-5.53536,-3.87772,-3.70038,-4.19988,-3.28001,-3.44956,-3.87992,-4.91322,-28.2584,7.38764,-18.8014,-15.4098,-11.9464,-9.04635,9.43584,-34.775 --7.07805,0.982768,0.339982,3,15,0,12.2613,4.4617,1.49074,-0.07461,-0.761805,0.281494,-0.973466,-2.09977,0.961263,-0.646561,-1.36164,4.35047,4.88133,1.33148,3.49784,3.32604,3.01051,5.89469,2.43185,-4.86988,-3.27015,-3.72817,-3.36752,-3.23169,-3.33354,-3.95422,-3.95059,34.3183,6.24184,-0.619383,22.5341,-0.975033,28.1959,3.43794,-13.8039 --6.69225,0.98876,0.339982,4,15,0,11.1671,2.54324,2.52187,1.31629,-1.47182,-0.47068,1.07452,0.93185,-0.563115,0.995228,-0.871795,5.86276,1.35624,4.89325,5.05308,-1.16851,5.25304,1.12313,0.34468,-4.71601,-3.44222,-3.81321,-3.3325,-3.11634,-3.39158,-4.64567,-4.01895,11.1526,-12.8216,-31.6736,8.07273,10.4924,12.1334,1.43993,5.41562 --7.24162,0.969439,0.339982,4,15,0,11.9248,8.72287,0.953537,-0.700652,1.15495,-0.218979,-0.123132,-0.426439,1.37671,0.437852,1.49604,8.05478,8.51407,8.31625,9.14038,9.82416,8.60546,10.0356,10.1494,-4.51102,-3.22284,-3.94164,-3.33576,-3.83939,-3.55585,-3.53868,-3.8146,-18.7751,20.1493,19.1113,-5.82669,14.9759,29.9037,13.194,-9.04318 --6.47445,0.976609,0.339982,4,15,0,12.2221,2.21483,0.975596,0.945738,-1.71084,0.384486,-0.97147,-0.317069,-0.513099,-0.389945,-0.901014,3.13749,2.58993,1.9055,1.8344,0.54574,1.26707,1.71425,1.33581,-5.00064,-3.36787,-3.73853,-3.4271,-3.13091,-3.31713,-4.54765,-3.98481,-16.0922,9.91142,-8.98097,-14.2368,-5.19733,-13.793,5.15794,17.4777 --13.3264,0.824538,0.339982,3,7,0,16.2715,5.38766,0.0528513,0.0271361,-2.30717,1.77784,-0.100761,-1.292,0.379719,-1.57159,1.35725,5.3891,5.48162,5.31938,5.3046,5.26572,5.38234,5.40773,5.45939,-4.76311,-3.25323,-3.82671,-3.32871,-3.3585,-3.39619,-4.01435,-3.87533,8.82435,7.30183,-3.36939,-17.2057,13.9502,12.392,-1.27158,7.87776 --12.3627,0.99801,0.339982,4,15,0,18.9017,0.481179,0.25442,0.187121,1.08241,-2.33739,-0.277852,1.03877,0.956621,1.15785,-2.008,0.528787,-0.113499,0.745462,0.77576,0.756567,0.410488,0.724563,-0.0296942,-5.30403,-3.55067,-3.71893,-3.47692,-3.13521,-3.31827,-4.71373,-4.03263,18.273,0.131917,-24.1154,1.17147,-1.31011,9.45455,-8.84627,-5.3061 --8.74156,0.998614,0.339982,3,15,0,16.7489,2.82295,5.56854,1.26939,-0.297232,-2.29598,-0.817827,0.625272,1.09651,-1.07971,-1.03633,9.89161,-9.96231,6.3048,-3.18946,1.1678,-1.73115,8.92889,-2.9479,-4.35569,-4.83475,-3.86063,-3.74586,-3.14517,-3.34766,-3.63295,-4.15412,42.5421,-37.9621,11.2154,2.46152,-7.89018,10.6417,-9.72838,1.81521 --7.00138,0.980007,0.339982,4,15,0,13.9778,7.03521,1.349,0.339418,1.29382,0.265749,1.42505,-0.399421,-0.594193,0.929867,1.36223,7.49308,7.3937,6.49639,8.2896,8.78058,8.95761,6.23364,8.87286,-4.56151,-3.22336,-3.86766,-3.32371,-3.70665,-3.5785,-3.91376,-3.8244,11.9753,1.09613,-1.71676,1.24566,4.259,7.46973,0.942616,-7.18081 --3.75211,0.999925,0.339982,3,7,0,8.16957,6.38848,2.68234,0.279916,0.37552,-0.915553,0.727823,-0.631499,-0.00616812,0.470977,0.228265,7.13931,3.93266,4.69458,7.6518,7.39575,8.34074,6.37193,7.00076,-4.59403,-3.30424,-3.80717,-3.31859,-3.55128,-3.53951,-3.89758,-3.84788,12.0089,12.6649,22.3034,0.0666966,7.33295,-15.9339,-13.5456,-25.5135 --7.14944,0.900953,0.339982,3,15,0,12.2724,1.51238,10.237,-0.629896,0.306349,1.02215,-0.384997,-0.559397,0.682709,-0.476533,2.26145,-4.93587,11.9761,-4.21417,-3.36589,4.64848,-2.42884,8.50127,24.6629,-6.03759,-3.30057,-3.69441,-3.76085,-3.31311,-3.36542,-3.67265,-4.05676,20.8747,26.8345,-12.3134,-5.73255,5.60684,-20.9014,19.3901,21.3615 --6.66394,0.995496,0.339982,4,15,0,11.4618,7.24806,3.77829,2.33334,-2.00953,-0.620014,-0.320974,0.0554279,0.266381,-0.123312,0.768488,16.0641,4.90547,7.45749,6.78215,-0.344537,6.03533,8.25453,10.1516,-3.94358,-3.2694,-3.90512,-3.31703,-3.11882,-3.4216,-3.69639,-3.81458,10.3632,14.6303,36.2198,15.4563,-2.76471,26.1501,22.7279,36.7775 --9.06739,0.605861,0.339982,4,15,0,15.2445,6.21349,1.22746,0.784162,-0.734809,2.19364,-1.73774,0.494162,1.67884,-0.906074,0.249395,7.17602,8.90609,6.82005,5.10133,5.31155,4.0805,8.27419,6.51961,-4.59063,-3.22563,-3.87987,-3.33173,-3.36206,-3.35605,-3.69448,-3.85566,12.5717,27.0434,-29.7005,-1.21456,8.78487,-11.284,6.01727,-9.03673 --10.7249,0.644109,0.339982,4,15,0,15.1255,2.07904,0.170821,0.434573,1.05559,-1.90632,1.60809,-0.946755,-1.39849,0.8073,-0.089829,2.15327,1.7534,1.91731,2.21694,2.25935,2.35373,1.84014,2.06369,-5.11155,-3.41662,-3.73875,-3.41137,-3.18174,-3.32441,-4.52723,-3.96167,0.275932,8.31768,18.9562,-25.5831,16.4526,0.799562,0.845325,-25.3551 --8.70953,0.930838,0.339982,4,15,0,16.1419,8.96874,1.41733,-0.633939,-1.56034,1.50293,-1.22082,-0.221052,1.98549,-0.500253,-0.168193,8.07024,11.0989,8.65544,8.25972,6.75722,7.23843,11.7828,8.73036,-4.50964,-3.26954,-3.95686,-3.32339,-3.48761,-3.47765,-3.41479,-3.82581,-0.812424,13.908,-12.2841,20.6995,17.2291,-0.830578,22.3764,-11.6043 --7.36924,0.98931,0.339982,3,7,0,12.8863,11.5323,1.12334,-0.683018,-0.50913,1.51651,0.114505,0.243661,0.456232,-0.0990709,0.751123,10.7651,13.2359,11.8061,11.4211,10.9604,11.661,12.0448,12.3761,-4.28708,-3.3586,-4.11969,-3.3976,-3.9992,-3.78649,-3.39884,-3.80953,21.8879,14.754,18.3899,3.25751,8.61483,11.3809,4.80579,-7.80709 --6.1087,0.993969,0.339982,3,15,0,11.8217,7.99032,0.878789,-1.46776,0.558533,0.872054,0.0368437,0.729927,0.392202,-0.612291,-0.0272839,6.70046,8.75667,8.63177,7.45224,8.48115,8.02269,8.33498,7.96634,-4.63514,-3.22439,-3.95578,-3.31768,-3.67105,-3.52063,-3.68859,-3.83442,12.473,7.53288,16.8028,14.3287,13.0523,-17.0309,-1.55411,34.0417 --7.17111,0.939533,0.339982,3,15,0,10.7968,7.28515,9.00805,-1.35804,0.233595,0.0902325,0.164355,1.24533,0.79672,0.43617,-0.602128,-4.94812,8.09797,18.5031,11.2142,9.38938,8.76567,14.462,1.86115,-6.03939,-3.22157,-4.59462,-3.39022,-3.78245,-3.56603,-3.28411,-3.96795,-6.51843,24.9274,2.24209,8.42786,19.6566,16.8002,15.7385,-0.0196028 --9.40895,0.671342,0.339982,3,15,0,12.726,9.92794,0.528999,0.394388,-1.09515,0.0976803,1.20537,1.46685,0.269969,-1.79122,0.62399,10.1366,9.97962,10.7039,8.98039,9.34861,10.5656,10.0708,10.258,-4.3361,-3.24112,-4.05832,-3.33304,-3.77724,-3.69493,-3.53589,-3.81399,17.1562,5.31159,-19.771,3.32022,5.01532,-10.6859,14.1489,-4.27549 --3.97693,0.988839,0.339982,3,7,0,11.6734,4.16885,11.5557,0.388664,0.438381,-0.638665,0.0528512,0.554561,0.48875,0.460613,-0.660686,8.66014,-3.21138,10.5772,9.49156,9.23465,4.77958,9.8167,-3.46586,-4.45817,-3.85,-4.05157,-3.34249,-3.76276,-3.37586,-3.55636,-4.17843,-6.83591,-5.10357,23.0357,9.19416,18.0833,-6.12114,-4.39155,10.9744 --6.91352,0.843719,0.339982,3,7,0,8.44616,6.69749,1.00652,1.31345,-0.213284,-0.478469,-0.188006,0.231884,1.7705,-0.129762,-1.59298,8.01951,6.21591,6.93089,6.56689,6.48282,6.50826,8.47953,5.09413,-4.51414,-3.23744,-3.88415,-3.31761,-3.4618,-3.44221,-3.67472,-3.88291,3.90977,6.2729,-5.18602,16.3902,15.182,3.31707,4.7766,10.6186 --5.67815,0.998015,0.339982,3,7,0,9.046,9.1257,10.7646,0.742568,-1.03843,0.289654,-0.217812,0.087346,1.96429,0.120605,-0.468126,17.1191,12.2437,10.0659,10.424,-2.0525,6.78105,30.2704,4.08653,-3.89009,-3.31157,-4.02496,-3.36528,-3.123,-3.45494,-3.97434,-3.90595,17.8276,19.4908,15.5212,6.80947,-6.77906,-1.69969,36.9035,29.5355 --5.67815,0.000126458,0.339982,1,1,0,8.40898,9.1257,10.7646,0.742568,-1.03843,0.289654,-0.217812,0.087346,1.96429,0.120605,-0.468126,17.1191,12.2437,10.0659,10.424,-2.0525,6.78105,30.2704,4.08653,-3.89009,-3.31157,-4.02496,-3.36528,-3.123,-3.45494,-3.97434,-3.90595,20.2209,1.21342,4.15203,-6.10791,11.087,14.6541,31.1221,-8.12171 --6.31789,0.521166,0.339982,4,15,0,12.5514,7.41721,0.999285,-0.0952392,1.7435,0.985549,-1.04061,-0.0500652,0.572945,-0.0929474,-0.0875964,7.32204,8.40205,7.36718,7.32433,9.15947,6.37734,7.98975,7.32968,-4.57716,-3.22233,-3.90145,-3.31727,-3.75329,-3.43632,-3.72255,-3.84297,3.40711,29.9337,42.1808,6.13777,6.72977,34.9444,7.81654,22.4929 --4.91744,0.99053,0.339982,4,15,0,9.94665,4.74501,4.28265,1.51772,-1.67964,0.542595,0.689597,0.721544,-0.129706,0.217422,0.35974,11.2449,7.06875,7.83513,5.67616,-2.44827,7.69831,4.18953,6.28565,-4.25084,-3.22586,-3.92082,-3.32408,-3.12911,-3.50224,-4.17517,-3.8597,15.676,8.56591,4.64775,1.67962,-15.7513,6.50194,-4.87565,-0.368635 --5.4276,0.943986,0.339982,4,15,0,8.96571,4.19407,1.35372,0.0085522,1.37119,0.361976,1.05925,-0.552233,1.36824,-0.160304,0.127597,4.20565,4.68409,3.4465,3.97707,6.05028,5.62801,6.04628,4.3668,-4.88515,-3.2765,-3.77269,-3.35459,-3.42299,-3.40534,-3.93598,-3.89923,-5.38026,15.9805,12.4867,12.3144,1.95271,-2.18506,0.821163,-11.0455 --6.68032,0.987298,0.339982,4,15,0,9.76919,5.13522,6.86609,-0.128258,-1.49265,0.356017,-1.34171,-1.01204,1.71194,-1.31464,-0.209987,4.25459,7.57967,-1.81352,-3.8912,-5.11342,-4.07706,16.8895,3.69343,-4.87998,-3.22241,-3.69428,-3.80699,-3.22061,-3.42335,-3.22769,-3.91579,10.0724,5.44641,7.77271,-15.23,-5.62564,2.68053,14.0116,17.0716 --9.00366,0.589183,0.339982,3,7,0,14.3454,6.61417,0.575611,-0.338636,-0.568761,-0.185496,-1.72743,1.58062,-1.53561,1.00239,-0.915527,6.41925,6.5074,7.524,7.19116,6.28679,5.61984,5.73026,6.08718,-4.66194,-3.23266,-3.90784,-3.31698,-3.44392,-3.40503,-3.97426,-3.86326,-9.27402,28.8586,-15.072,17.304,10.3393,19.8354,7.645,18.348 --8.02312,0.957099,0.339982,4,15,0,18.6937,6.59455,1.13964,0.999897,-1.10364,-0.658276,1.62886,-1.29043,1.53583,-0.990302,0.197985,7.73407,5.84435,5.12392,5.46596,5.33679,8.45085,8.34484,6.82018,-4.53967,-3.24476,-3.82043,-3.32656,-3.36403,-3.54624,-3.68763,-3.85072,4.2875,-0.519728,5.80562,1.56262,0.841206,9.31444,0.298016,40.8143 --7.41643,0.285396,0.339982,3,7,0,14.8058,5.02635,4.05579,1.14055,-0.670718,-1.09489,1.51679,-1.46724,1.10662,-1.5768,0.0392395,9.65217,0.585702,-0.924468,-1.3688,2.30606,11.1781,9.51457,5.1855,-4.37508,-3.49638,-3.69994,-3.60624,-3.18363,-3.74491,-3.58154,-3.88097,-4.96025,-16.9398,12.6364,-10.6495,10.5272,9.94397,-0.938769,-17.2293 --7.5896,0.310722,0.339982,3,7,0,12.9752,4.53344,1.16667,1.12678,-0.562796,-0.970167,1.1316,-1.80458,0.756612,-1.36762,-0.378441,5.84801,3.40158,2.42809,2.93789,3.87684,5.85364,5.41615,4.09192,-4.71746,-3.32725,-3.74907,-3.38502,-3.26298,-3.41418,-4.01329,-3.90582,4.78745,-26.0432,1.86439,4.73555,11.9406,-2.54237,5.70071,18.1733 --13.3306,0.666005,0.339982,3,7,0,17.6349,4.60971,0.127222,0.948714,-0.619331,-1.06425,0.929674,-3.4524,0.445249,-0.912181,0.486343,4.7304,4.47431,4.17049,4.49366,4.53091,4.72798,4.66635,4.67158,-4.83026,-3.28368,-3.79195,-3.34279,-3.305,-3.37426,-4.11045,-3.89219,-17.2602,-3.38429,-0.176133,-6.25233,9.55717,-5.50199,-2.30722,23.3814 --13.7369,0.848508,0.339982,3,7,0,19.2233,4.40458,0.311797,0.420971,-0.42881,-0.777158,1.08582,-3.8462,0.98021,-1.00327,0.494037,4.53584,4.16227,3.20535,4.09177,4.27088,4.74314,4.71021,4.55862,-4.85047,-3.29516,-3.76674,-3.35178,-3.28766,-3.37473,-4.10462,-3.89476,1.31676,9.27423,5.845,-6.83091,-9.96403,-6.04797,4.43647,13.5192 --7.90134,0.737991,0.339982,4,15,0,18.314,8.01312,0.128057,-0.252204,-1.5907,0.10321,-0.14258,1.12791,0.324921,0.654401,0.117673,7.98082,8.02633,8.15755,8.09692,7.80942,7.99486,8.05472,8.02818,-4.51758,-3.22153,-3.93467,-3.32181,-3.59521,-3.51902,-3.71607,-3.83365,6.76781,-4.6531,24.9912,-3.83455,16.7844,19.353,18.2103,-28.5675 --6.71381,0.720842,0.339982,3,15,0,10.9071,8.48093,1.10642,0.283535,-2.33475,-0.227154,-0.425781,0.242047,0.253677,-0.808247,0.234669,8.79464,8.2296,8.74874,7.58667,5.89771,8.00984,8.76161,8.74058,-4.44665,-3.22179,-3.96112,-3.31826,-3.40986,-3.51988,-3.64826,-3.82571,33.0303,31.0614,17.8745,9.70254,19.1189,-6.11819,4.1947,10.4229 --7.12589,0.333333,0.339982,2,3,0,15.9601,6.68013,6.07731,0.383839,-2.86748,-0.479564,-0.266088,0.626522,0.586924,-0.342303,-0.342887,9.01284,3.76567,10.4877,4.59985,-10.7464,5.06303,10.247,4.5963,-4.42813,-3.31117,-4.04684,-3.34064,-3.70254,-3.38505,-3.52206,-3.8939,19.7018,14.8097,10.3289,-2.18877,-27.4354,1.81502,-2.08668,2.41353 --9.05106,0.987703,0.339982,3,7,0,12.9511,7.20311,3.8236,0.310884,-3.49008,-0.477471,-0.543027,0.683965,0.847412,0.41403,-0.22044,8.39181,5.37745,9.81832,8.78619,-6.14157,5.12679,10.4433,6.36024,-4.48139,-3.25591,-4.01244,-3.33002,-3.27935,-3.38721,-3.50704,-3.8584,9.41952,6.14308,44.968,19.6732,-5.03884,5.86586,19.1086,18.2983 --9.67027,0.802626,0.339982,3,7,0,14.026,5.81565,0.656509,-0.190037,-2.7657,-0.330743,1.09757,1.28253,0.192771,1.26648,-0.227749,5.69089,5.59852,6.65765,6.64711,3.99995,6.53622,5.94221,5.66613,-4.73298,-3.25036,-3.8737,-3.31735,-3.27048,-3.44349,-3.94848,-3.87122,33.5397,7.0136,-10.0868,15.2195,9.02339,-15.0004,-6.50957,6.73787 --6.00423,0.94625,0.339982,4,15,0,13.3912,4.17074,3.72223,-0.615004,1.08165,-0.00985944,-1.60254,-0.808212,1.07322,-0.936411,-0.552256,1.88155,4.13404,1.16239,0.685198,8.19688,-1.7943,8.16552,2.11512,-5.14293,-3.29625,-3.72537,-3.48161,-3.63828,-3.3491,-3.70511,-3.9601,22.3746,3.87356,0.433974,15.5794,-5.78188,3.4914,0.670088,13.698 --5.11619,0.985414,0.339982,4,15,0,9.15359,2.04045,2.55761,-0.629731,-0.616007,0.492581,1.40582,0.189272,1.52315,-0.335309,0.316026,0.429846,3.30028,2.52454,1.18286,0.464946,5.636,5.93607,2.84872,-5.31613,-3.33196,-3.75114,-3.45666,-3.12941,-3.40565,-3.94922,-3.93855,8.837,9.77558,7.92732,-11.8906,-10.1955,-17.2109,4.21107,-11.8574 --4.30086,0.999769,0.339982,3,15,0,6.54144,5.25839,4.07307,-1.05786,0.41076,0.488303,0.886773,0.111252,1.04743,0.379197,0.23735,0.949673,7.24728,5.71153,6.80289,6.93145,8.87028,9.52466,6.22514,-5.25303,-3.22436,-3.83975,-3.31699,-3.50448,-3.57279,-3.58068,-3.86077,-35.1648,11.2851,-0.641714,21.5055,16.5608,14.0808,22.9225,9.65294 --3.75827,0.921035,0.339982,4,15,0,6.42363,4.80119,3.78989,-1.04095,0.117271,-0.53795,0.0556082,-0.168072,-0.225338,-0.154384,0.618824,0.856087,2.76242,4.16421,4.21609,5.24563,5.01193,3.94718,7.14646,-5.2643,-3.35869,-3.79177,-3.34886,-3.35695,-3.38334,-4.20893,-3.84566,13.062,5.1886,16.9432,9.26672,8.66198,10.4865,9.56173,61.2882 --11.6959,0.786963,0.339982,3,15,0,13.1707,-0.974879,0.508803,-0.345003,-1.19958,-0.760386,1.46427,-0.496209,-2.30944,-0.553429,-1.38995,-1.15042,-1.36177,-1.22735,-1.25647,-1.58523,-0.229855,-2.14993,-1.68209,-5.51531,-3.65974,-3.69766,-3.59852,-3.11828,-3.32308,-5.25162,-4.0982,-29.1286,-16.4566,-7.68756,-8.70436,-12.3912,-6.56484,10.1425,-2.43014 --9.75084,0.981527,0.339982,4,15,0,19.3848,4.33541,3.81101,0.621425,0.0626643,2.29672,0.626028,0.221746,0.00820693,-1.00634,-2.64936,6.70367,13.0882,5.18049,0.500244,4.57422,6.72121,4.36669,-5.76134,-4.63484,-3.35097,-3.82223,-3.49141,-3.30797,-3.45209,-4.15086,-4.29614,-14.5556,6.55605,14.378,14.0391,17.5492,32.1279,-1.53944,10.8474 --7.77539,0.835926,0.339982,4,15,0,14.5154,7.49579,11.3004,0.949944,-0.566849,-1.62776,-0.565721,-1.1782,0.692469,1.21592,1.00971,18.2306,-10.8987,-5.81834,21.2363,1.09014,1.10289,15.321,18.906,-3.83908,-5.00732,-3.70704,-4.15432,-3.14313,-3.31688,-3.25741,-3.88291,27.8524,1.5635,1.55042,11.8154,5.72313,17.4853,12.2309,9.79816 --5.87038,0.622527,0.339982,3,15,0,11.3108,5.35102,2.21327,0.848124,-0.639884,-1.51376,-0.988977,-0.512758,0.772194,1.51055,0.376903,7.22815,2.00065,4.21614,8.69429,3.93478,3.16214,7.06009,6.18521,-4.58581,-3.40148,-3.79323,-3.3287,-3.26648,-3.33615,-3.81993,-3.86149,15.1455,5.10563,13.8922,18.0316,12.0671,7.63819,20.7595,-8.50294 --6.70847,0.971712,0.339982,3,7,0,9.82531,1.88901,3.97411,0.472499,-0.505039,-1.79555,-1.25238,-0.0498056,1.11022,1.04451,1.17993,3.76677,-5.2467,1.69108,6.03999,-0.118067,-3.08809,6.30116,6.57818,-4.93199,-4.0989,-3.73451,-3.32064,-3.12096,-3.38589,-3.90584,-3.85467,-11.1209,-8.80811,10.3855,33.6584,5.69651,6.87023,19.4802,10.0707 --5.77292,0.973108,0.339982,4,15,0,11.0224,5.43846,1.94164,-0.239375,-1.05821,2.21267,0.507166,-0.300762,-0.106964,0.291096,0.156759,4.97368,9.73469,4.85449,6.00367,3.38379,6.4232,5.23078,5.74283,-4.80524,-3.23657,-3.81202,-3.32094,-3.23479,-3.43837,-4.03679,-3.86973,6.92643,8.32745,1.52914,0.948995,17.4761,-0.102968,9.63181,32.2242 --7.63714,0.687549,0.339982,4,15,0,12.411,4.77808,0.212737,1.3923,0.386398,-0.570962,0.0974166,0.965568,-0.146077,-0.907169,-1.35775,5.07427,4.65661,4.98349,4.58509,4.86028,4.7988,4.747,4.48923,-4.79496,-3.27741,-3.81601,-3.34093,-3.32816,-3.37647,-4.09973,-3.89637,-15.4494,5.07184,35.3156,20.5748,4.00343,-8.49434,-11.4867,-12.5909 --6.24641,0.992932,0.339982,4,15,0,10.3335,4.40374,1.01483,-0.99535,-0.708671,0.736611,-0.329962,-0.906079,0.957706,0.8381,1.43541,3.39362,5.15128,3.48422,5.25427,3.68456,4.06888,5.37565,5.86044,-4.97249,-3.2621,-3.77365,-3.32943,-3.25163,-3.35575,-4.01839,-3.86748,3.03633,-1.51249,0.337345,21.7162,6.6473,-6.42507,-11.5947,0.182138 --5.58459,0.765115,0.339982,4,15,0,8.94708,3.37501,5.26092,1.03213,0.284525,0.209621,1.62055,0.549684,-0.691413,-0.677556,0.221292,8.80498,4.47781,6.26685,-0.189561,4.87188,11.9006,-0.262459,4.53921,-4.44576,-3.28355,-3.85925,-3.53043,-3.329,-3.80784,-4.88911,-3.89521,24.4324,29.1368,6.50058,16.8459,-8.31533,24.3323,-15.5971,22.1772 --4.67659,0.625082,0.339982,3,15,0,10.9028,5.06158,1.90925,0.97893,-0.405541,0.105713,1.27125,0.721402,-0.526857,-0.610358,0.449339,6.93061,5.26342,6.43892,3.89626,4.28731,7.48871,4.05568,5.91948,-4.61348,-3.25897,-3.86554,-3.35664,-3.28873,-3.49081,-4.19374,-3.86637,9.21091,-4.05063,22.2584,8.36726,2.45494,20.6389,6.36414,4.84421 --4.18212,0.97555,0.339982,4,15,0,8.09545,3.47664,2.33946,-0.250326,0.906655,-0.0379643,0.702292,-0.10818,0.215898,-0.55473,1.15488,2.89102,3.38783,3.22356,2.17887,5.59772,5.11963,3.98173,6.17843,-5.02801,-3.32788,-3.76718,-3.41288,-3.38487,-3.38696,-4.20408,-3.86161,-6.08643,-1.44912,-24.1434,-0.89055,5.36146,14.6992,2.9184,12.8019 --7.94013,0.943674,0.339982,3,7,0,9.82872,7.75491,4.33634,-1.85923,-1.41939,1.14006,0.098021,-1.12527,0.856612,0.698644,1.02313,-0.307324,12.6986,2.87536,10.7845,1.59997,8.17997,11.4695,12.1916,-5.40767,-3.33191,-3.75895,-3.37602,-3.15789,-3.52986,-3.43476,-3.80937,1.15074,12.2402,3.66095,-8.17151,-12.4913,9.41466,17.6495,30.4615 --6.93263,0.995447,0.339982,4,15,0,12.4045,1.97939,2.2849,-0.298108,-0.367253,0.435182,1.32243,-1.929,0.839158,-1.34827,-0.286569,1.29824,2.97374,-2.42819,-1.10126,1.14026,5.00101,3.89678,1.32461,-5.2114,-3.34784,-3.69217,-3.58803,-3.14444,-3.38298,-4.21603,-3.98518,2.72376,9.51393,-9.24749,-1.96161,6.57975,5.16441,13.1613,-3.2362 --9.62466,0.960115,0.339982,3,7,0,13.4256,8.22533,3.74408,1.58135,1.72963,-0.414578,0.0994375,1.96244,0.647292,0.879717,-0.977989,14.146,6.67312,15.5729,11.5191,14.7012,8.59764,10.6488,4.56367,-4.05351,-3.23033,-4.36526,-3.40122,-4.63794,-3.55536,-3.49172,-3.89465,29.8701,8.80459,27.5021,31.6407,14.6042,-15.2683,29.7673,4.15125 --6.38082,0.778861,0.339982,3,7,0,13.1479,-0.369039,0.591925,0.158435,0.548697,-0.884342,-0.189229,-0.982528,0.813894,-0.516228,-0.28289,-0.275258,-0.892503,-0.950622,-0.674608,-0.0442521,-0.481049,0.112725,-0.536489,-5.40363,-3.61691,-3.69973,-3.56022,-3.1218,-3.3259,-4.8213,-4.05185,-7.17651,-13.0865,6.50912,-7.06165,-6.83444,-9.49628,-6.3688,20.3994 --8.30276,0.872547,0.339982,3,15,0,11.2512,0.640569,6.95899,-1.40298,0.487153,-0.864423,1.20042,-0.0436338,1.04469,1.4241,-0.468421,-9.12274,-5.37494,0.336923,10.5509,4.03066,8.99427,7.91056,-2.61917,-6.68943,-4.11597,-3.71328,-3.36894,-3.27238,-3.58092,-3.73051,-4.13913,9.17231,2.86967,10.161,-7.11298,-2.1099,9.94924,29.8697,-9.99786 --7.47954,0.880854,0.339982,4,15,0,14.3001,5.52228,0.462136,0.749752,-0.40108,0.853647,-0.737085,-1.77266,0.0760318,-1.08222,-1.02093,5.86876,5.91678,4.70307,5.02215,5.33692,5.18164,5.55741,5.05047,-4.71541,-3.24322,-3.80742,-3.333,-3.36404,-3.38909,-3.99561,-3.88384,17.8553,0.880382,13.4719,30.252,12.5498,-10.4902,11.4302,1.55521 --3.40292,0.428571,0.339982,3,7,0,11.4214,5.84013,3.01871,1.12132,-0.270014,0.0913476,-1.07383,-0.842259,0.579518,-0.198067,0.117117,9.22508,6.11589,3.2976,5.24223,5.02504,2.59856,7.58953,6.19368,-4.41032,-3.23927,-3.76899,-3.3296,-3.34024,-3.32739,-3.76341,-3.86134,26.3521,10.5973,-12.5053,9.83763,-7.15343,-1.38196,11.3182,9.49536 --5.07937,0.578462,0.339982,2,7,0,8.76112,2.75405,1.58536,-0.0324203,1.58292,-0.477567,-0.57015,0.287542,0.126586,0.25689,-0.883223,2.70265,1.99693,3.20991,3.16131,5.26354,1.85016,2.95473,1.35382,-5.04911,-3.40171,-3.76685,-3.37772,-3.35834,-3.31982,-4.35332,-3.98422,9.74966,-9.07235,9.17606,-9.33786,-0.370974,9.58684,-2.43006,0.852369 --4.54922,0.967615,0.339982,4,15,0,8.3289,3.12789,4.78354,0.757285,-1.47045,0.64005,0.0860463,-0.902095,1.69035,0.898718,0.204325,6.75039,6.18959,-1.18732,7.42695,-3.90607,3.53949,11.2138,4.10528,-4.63042,-3.23791,-3.69794,-3.31759,-3.16829,-3.34348,-3.45179,-3.90549,33.3514,13.9679,-19.9504,-4.53374,16.2903,6.89122,15.0676,-15.3912 --2.66963,0.995083,0.339982,3,7,0,6.00611,4.64995,6.03729,0.536168,0.0167472,0.500154,0.699778,0.0521671,0.24937,0.775617,0.227439,7.88696,7.66953,4.9649,9.33258,4.75106,8.87472,6.15547,6.02306,-4.52595,-3.22207,-3.81543,-3.33932,-3.32033,-3.57308,-3.92299,-3.86444,24.3116,15.0848,-0.677244,7.35229,3.20598,-3.55443,19.854,16.7347 --5.56322,0.945127,0.339982,3,7,0,6.42346,4.3078,7.2404,0.570714,0.184216,-0.174603,-0.93171,-2.10668,1.76624,-0.144305,-0.186819,8.43999,3.04361,-10.9454,3.26297,5.64159,-2.43815,17.0961,2.95515,-4.4772,-3.34435,-3.81483,-3.37454,-3.38845,-3.36568,-3.22561,-3.93556,5.06408,19.9331,-40.6867,2.64324,-5.25319,16.6673,31.1593,-11.2201 --8.01276,0.532168,0.339982,4,15,0,13.2174,6.3627,4.51763,-0.472475,-0.297689,0.0829203,0.84538,2.05547,-1.5141,0.310888,0.267626,4.22823,6.7373,15.6485,7.76717,5.01785,10.1818,-0.477444,7.57173,-4.88276,-3.2295,-4.37076,-3.31927,-3.33971,-3.6652,-4.9286,-3.83957,-1.14237,6.62982,28.7338,18.2731,-2.32796,12.0184,4.62654,18.3923 --8.01276,0.112797,0.339982,4,15,0,17.4085,6.3627,4.51763,-0.472475,-0.297689,0.0829203,0.84538,2.05547,-1.5141,0.310888,0.267626,4.22823,6.7373,15.6485,7.76717,5.01785,10.1818,-0.477444,7.57173,-4.88276,-3.2295,-4.37076,-3.31927,-3.33971,-3.6652,-4.9286,-3.83957,8.98906,0.326666,13.8553,15.2963,2.0862,15.9971,-7.45723,33.8321 --8.65354,0.919004,0.339982,4,15,0,12.086,4.13825,0.784445,-0.415313,0.481737,-1.91092,-0.32317,-1.21127,1.84714,-0.837487,-0.995792,3.81246,2.63924,3.18807,3.48128,4.51614,3.88474,5.58723,3.3571,-4.92707,-3.36521,-3.76632,-3.368,-3.30399,-3.35122,-3.99191,-3.92459,9.39483,-8.9569,7.86127,6.80866,3.56314,5.67998,25.4593,14.1185 --8.11614,0.54425,0.339982,4,15,0,13.1991,0.0225304,0.964654,1.22143,-0.76585,1.9165,0.298066,0.872668,-0.661765,0.15712,1.0828,1.20078,1.87129,0.864353,0.174097,-0.71625,0.310061,-0.615844,1.06706,-5.22298,-3.40933,-3.72069,-3.50937,-3.11666,-3.3188,-4.95427,-3.99377,26.9646,12.4685,2.08741,0.150904,-8.05992,-5.11448,14.8345,-5.54149 --9.18737,0.857702,0.339982,4,15,0,12.6984,-3.53925,3.09315,0.987074,0.152004,2.16271,0.0583414,1.18541,-0.8365,0.442622,0.556905,-0.486082,3.15032,0.127412,-2.17015,-3.06908,-3.35879,-6.12667,-1.81666,-5.43023,-3.33912,-3.71063,-3.66432,-3.14259,-3.39534,-6.132,-4.10391,0.944645,1.51511,6.12277,-16.4385,-16.7731,-0.778387,10.4022,-2.16285 --6.10892,0.986044,0.339982,3,7,0,12.9841,2.28934,3.15797,0.103935,-0.543339,0.449594,1.16613,0.176259,-0.0605867,2.1138,1.08017,2.61756,3.70914,2.84596,8.96465,0.573487,5.97195,2.09801,5.70049,-5.0587,-3.31358,-3.75828,-3.33278,-3.13145,-3.41898,-4.48589,-3.87055,26.9588,-4.87406,10.5841,1.37662,-17.4035,10.6357,22.0437,7.36332 --5.19078,0.962021,0.339982,4,15,0,9.98957,1.6586,0.995297,-0.597417,-0.397035,0.176995,1.00273,-0.0588482,-0.920293,-0.56619,-0.273328,1.06399,1.83476,1.60003,1.09507,1.26343,2.65661,0.742632,1.38655,-5.23932,-3.41157,-3.73286,-3.46092,-3.14779,-3.32817,-4.71061,-3.98315,15.3438,9.50006,-8.05059,1.34255,-3.57422,12.6256,-5.97816,-15.0545 --5.54361,0.988295,0.339982,4,15,0,8.25667,5.78384,2.71866,0.769539,1.47754,-1.12582,-0.419014,0.423379,1.14951,0.391684,0.677787,7.87595,2.72312,6.93486,6.84869,9.80075,4.64469,8.90897,7.62651,-4.52694,-3.36075,-3.8843,-3.31693,-3.83626,-3.37173,-3.63476,-3.83883,21.6439,3.27774,-15.0197,5.48534,13.6019,10.7023,19.3091,0.229967 --6.84706,0.985694,0.339982,4,15,0,10.1416,0.806773,1.93326,0.726959,-2.0147,1.40396,1.00826,0.460693,0.379752,-0.087951,0.209519,2.21217,3.52099,1.69741,0.636741,-3.08816,2.756,1.54093,1.21183,-5.10479,-3.32183,-3.73462,-3.48415,-3.14308,-3.32958,-4.57603,-3.98892,20.7285,6.51481,-29.3716,-21.0341,0.0526377,1.24092,9.57616,-4.48947 --4.04851,0.983412,0.339982,4,15,0,8.60073,3.66849,18.2506,1.44499,0.319196,0.261178,-0.406978,-0.487076,0.932485,-0.221071,-0.822194,30.0404,8.43514,-5.22093,-0.366186,9.49401,-3.75909,20.6869,-11.337,-3.63624,-3.22247,-3.70116,-3.54105,-3.79594,-3.41042,-3.25762,-4.64977,17.9292,13.1257,3.12883,-3.16444,21.4141,-21.9367,16.1364,-40.2214 --7.5262,0.631128,0.339982,4,15,0,9.29686,4.18255,0.381299,-1.12447,-0.932251,-0.785216,0.54814,0.690835,-1.36387,0.821928,0.828542,3.75379,3.88315,4.44597,4.49595,3.82708,4.39156,3.66251,4.49847,-4.93339,-3.30627,-3.79981,-3.34274,-3.25999,-3.36437,-4.24934,-3.89615,21.679,13.1168,-7.95761,-7.00159,14.754,5.73047,-4.67378,-1.59846 --11.6003,0.772446,0.339982,3,15,0,16.6248,4.37015,0.448965,-2.39029,-0.638657,-2.19048,-0.525732,0.915433,-0.692396,1.5155,0.551501,3.29699,3.3867,4.78114,5.05055,4.08341,4.13411,4.05928,4.61775,-4.98307,-3.32794,-3.80978,-3.33254,-3.27568,-3.35742,-4.19324,-3.89341,4.27121,-4.10026,23.9095,-3.09117,3.26942,-15.7852,-11.3079,7.86449 --8.91872,0.997605,0.339982,4,15,0,15.8487,7.37484,4.53662,-1.71563,-0.304097,-0.0882439,-0.731616,0.516063,-1.48385,1.58743,-0.595855,-0.408347,6.97451,9.71602,14.5764,5.99527,4.05577,0.643169,4.67167,-5.4204,-3.22678,-4.00734,-3.55403,-3.41822,-3.35542,-4.72782,-3.89219,17.84,1.92896,20.0142,4.79733,0.119525,10.7656,4.91147,10.7076 --7.99843,0.866727,0.339982,4,15,0,13.2826,1.79006,0.790653,1.59771,0.312465,-0.827791,0.950488,-0.933931,1.21544,-1.52806,-0.0413145,3.05329,1.13556,1.05164,0.581888,2.03711,2.54156,2.75105,1.75739,-5.00996,-3.45713,-3.72359,-3.48705,-3.1731,-3.32665,-4.38418,-3.97121,-7.88038,0.960447,1.12096,0.42686,15.7738,19.79,-4.06051,34.2331 --8.4284,0.907774,0.339982,4,15,0,13.6347,8.52362,0.492045,0.576543,-0.809881,0.790159,-0.966687,0.298239,-1.82044,1.31223,0.275422,8.80731,8.91242,8.67037,9.1693,8.12512,8.04797,7.62788,8.65914,-4.44557,-3.22569,-3.95754,-3.33628,-3.63016,-3.5221,-3.75943,-3.82653,1.64344,-0.527325,18.9582,18.058,7.34324,14.8128,8.07213,22.7944 --6.49365,0.983823,0.339982,3,7,0,11.123,2.97446,8.16935,0.102866,-0.509651,-0.0785697,-1.53435,-0.778247,-0.740283,-0.70857,0.927801,3.8148,2.3326,-3.38331,-2.81409,-1.18905,-9.56019,-3.07317,10.554,-4.92682,-3.38212,-3.69181,-3.71484,-3.11638,-3.77765,-5.44192,-3.81254,-11.9707,5.2241,-9.59766,-8.40126,4.98305,6.69941,-14.5627,-4.89522 --4.62742,1,0.339982,4,15,0,7.4113,6.2715,1.06212,0.249154,-0.120069,1.18939,-0.554706,-0.118247,0.923775,0.748114,-0.191206,6.53613,7.53478,6.14591,7.06609,6.14397,5.68233,7.25266,6.06842,-4.65076,-3.22261,-3.8549,-3.31685,-3.4312,-3.40743,-3.79905,-3.86361,-6.13432,2.00619,23.7261,-0.762813,6.0935,7.8415,-8.51312,14.9151 --9.03212,0.946514,0.339982,3,7,0,11.1039,-0.869433,0.398167,-1.0013,0.128054,2.06384,-0.0431922,-0.375424,0.382653,-0.977789,0.775827,-1.26812,-0.0476777,-1.01891,-1.25876,-0.818446,-0.886631,-0.717073,-0.560524,-5.53059,-3.54535,-3.69919,-3.59868,-3.11637,-3.33154,-4.97317,-4.05278,2.52906,22.8681,-10.9436,3.33716,10.4131,4.73562,-10.6136,39.5003 --6.11181,1,0.339982,3,7,0,9.98708,0.346473,0.76484,-0.918743,0.50009,1.16499,-0.475955,0.0635154,0.286067,-0.790265,0.509886,-0.356219,1.2375,0.395052,-0.257954,0.728962,-0.0175566,0.565268,0.736454,-5.41382,-3.45018,-3.71404,-3.53451,-3.13462,-3.32111,-4.74137,-4.00509,1.19141,4.80758,-7.0614,-7.4226,-3.56803,-15.28,-1.01936,-36.0832 --5.56054,0.869735,0.339982,4,15,0,9.81823,7.48722,3.42373,0.479786,0.972044,-1.66431,0.123808,-0.593005,0.408759,0.849546,-0.0858158,9.12987,1.78906,5.45693,10.3958,10.8152,7.9111,8.8867,7.19341,-4.41828,-3.4144,-3.83121,-3.36449,-3.97789,-3.5142,-3.63678,-3.84496,7.98756,-20.5902,-21.0232,4.78475,9.18614,-0.207916,13.1947,30.2204 --6.30561,0.9476,0.339982,3,15,0,12.5392,1.22003,7.59806,2.05946,-1.47285,0.869274,0.0369718,-1.40592,0.979333,-0.507283,-0.197309,16.8679,7.82482,-9.46224,-2.63433,-9.97074,1.50094,8.66105,-0.279135,-3.90237,-3.22168,-3.77309,-3.70039,-3.61292,-3.31787,-3.6576,-4.04199,27.4187,1.98953,2.1891,-6.46639,-2.56308,2.80804,26.5199,11.9164 --7.31851,0.83151,0.339982,4,15,0,15.1824,7.24188,1.78433,0.287162,2.10035,-0.955953,-0.22028,0.885023,-0.611844,0.924395,0.0478374,7.75427,5.53614,8.82106,8.89131,10.9896,6.84883,6.15015,7.32724,-4.53785,-3.25188,-3.96445,-3.33161,-4.00351,-3.45819,-3.92362,-3.84301,-4.64711,23.385,9.36954,45.8526,1.16713,-17.25,-5.2994,-2.72355 -# -# Elapsed Time: 0.024466 seconds (Warm-up) -# 0.004564 seconds (Sampling) -# 0.02903 seconds (Total) -# diff --git a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-4.csv b/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-4.csv deleted file mode 100644 index 871b1e6ca5..0000000000 --- a/arviz/tests/saved_models/cmdstanpy/cmdstanpy_eight_schools_warmup-4.csv +++ /dev/null @@ -1,648 +0,0 @@ -# stan_version_major = 2 -# stan_version_minor = 20 -# stan_version_patch = 0 -# model = stan_test_data_model -# method = sample (Default) -# sample -# num_samples = 100 -# num_warmup = 500 -# save_warmup = 1 -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.80000000000000004 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# init_buffer = 75 (Default) -# term_buffer = 50 (Default) -# window = 25 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# metric_file = (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 4 -# data -# file = /tmp/tmp2ipdytqf/x8rvpwpf.json -# init = 2 (Default) -# random -# seed = 31709 -# output -# file = /tmp/tmp2ipdytqf/stan_test_data-202102230057-4-h3yaihdn.csv -# diagnostic_file = (Default) -# refresh = 100 (Default) -lp__,accept_stat__,stepsize__,treedepth__,n_leapfrog__,divergent__,energy__,mu,tau,eta.1.1,eta.2.1,eta.1.2,eta.2.2,eta.1.3,eta.2.3,eta.1.4,eta.2.4,theta.1,theta.2,theta.3,theta.4,theta.5,theta.6,theta.7,theta.8,log_lik.1,log_lik.2,log_lik.3,log_lik.4,log_lik.5,log_lik.6,log_lik.7,log_lik.8,y_hat.1,y_hat.2,y_hat.3,y_hat.4,y_hat.5,y_hat.6,y_hat.7,y_hat.8 --13.3095,1.2231e-11,2,1,1,0,19.9737,-0.991455,0.2459,-1.83948,1.22721,-1.8175,1.38095,-0.81022,-0.496013,-1.25183,1.30426,-1.44378,-1.43838,-1.19069,-1.29928,-0.689684,-0.651879,-1.11342,-0.670738,-5.55351,-3.66694,-3.69792,-3.60145,-3.11676,-3.32811,-5.04814,-4.05707,-31.1955,0.926049,3.55825,14.2731,21.3712,13.5828,2.81909,3.55566 --13.3095,1.07237e-23,2.33506,1,1,0,19.052,-0.991455,0.2459,-1.83948,1.22721,-1.8175,1.38095,-0.81022,-0.496013,-1.25183,1.30426,-1.44378,-1.43838,-1.19069,-1.29928,-0.689684,-0.651879,-1.11342,-0.670738,-5.55351,-3.66694,-3.69792,-3.60145,-3.11676,-3.32811,-5.04814,-4.05707,-11.2309,-29.4419,-15.3354,30.4119,4.37933,10.5536,-15.6524,-12.8072 --4.70631,0.981481,0.230236,4,15,0,16.0246,2.29954,1.20002,0.825039,-0.895977,1.09128,0.0129517,0.0741672,0.042978,0.283974,-0.7995,3.28961,3.6091,2.38854,2.64032,1.22435,2.31508,2.35112,1.34012,-4.98389,-3.31792,-3.74824,-3.39537,-3.1467,-3.32398,-4.44596,-3.98467,-15.9577,-1.78724,-13.73,-0.590091,-6.11513,-11.0355,9.81625,-22.5053 --6.70599,0.990144,0.228246,4,15,0,8.55757,2.71693,6.71199,-0.0930505,-1.87486,-0.463229,0.45503,-0.868786,0.0451027,1.31929,-0.732033,2.09237,-0.392259,-3.11436,11.572,-9.86713,5.77108,3.01966,-2.19647,-5.11856,-3.57367,-3.69155,-3.40321,-3.60151,-3.4109,-4.34358,-4.12033,-19.4183,-13.75,-45.2564,3.76314,-2.43983,9.53533,-11.6085,13.2503 --5.25887,1,0.299077,4,15,0,9.3785,3.42016,1.29592,0.946511,0.699508,-1.61694,-0.342709,0.316561,0.350759,0.542198,-0.24782,4.64676,1.32473,3.8304,4.1228,4.32667,2.97604,3.87471,3.099,-4.83893,-3.44432,-3.78265,-3.35104,-3.29131,-3.33297,-4.21914,-3.93158,27.5238,8.60309,21.5645,9.07009,8.57919,-2.58547,-0.609818,-2.15092 --3.49041,0.983995,0.466063,3,7,0,8.64938,3.87693,7.36848,0.581786,-0.947805,1.33806,0.527924,0.30724,0.924859,-0.24226,0.229683,8.1638,13.7364,6.14082,2.09184,-3.10696,7.76693,10.6917,5.56934,-4.50138,-3.38606,-3.85472,-3.41638,-3.14357,-3.50605,-3.48858,-3.87313,26.0609,23.3712,0.867238,-13.8136,8.66174,11.3972,-1.94608,8.53651 --5.95905,0.373526,0.75368,3,11,0,7.85584,2.42335,2.21532,1.05428,-0.523611,-0.116758,0.708857,-1.51957,1.9616,0.429094,0.420681,4.75893,2.16469,-0.942976,3.37393,1.26338,3.9937,6.76892,3.35529,-4.82732,-3.39178,-3.69979,-3.37117,-3.14779,-3.35387,-3.85221,-3.92464,-22.6966,19.0709,15.4823,-7.99164,2.43963,15.8976,11.1289,-19.4064 --4.26796,0.996637,0.191449,4,31,0,9.84285,3.36509,3.87117,0.474031,-0.0324501,-0.749309,1.00254,-1.19267,1.30597,0.518951,-0.154921,5.20014,0.464378,-1.25195,5.37403,3.23947,7.24608,8.42072,2.76536,-4.78217,-3.50545,-3.6975,-3.32776,-3.22711,-3.47805,-3.68034,-3.94091,-2.8098,-6.26248,8.91735,21.4209,6.4275,0.274966,3.73599,26.685 --4.89679,0.941209,0.341861,4,15,0,9.66664,5.56411,1.5858,0.131111,-0.495167,0.818787,-0.940215,1.35048,-0.316573,-0.659656,0.363368,5.77203,6.86254,7.70571,4.51803,4.77888,4.07312,5.06209,6.14034,-4.72495,-3.22799,-3.91538,-3.34229,-3.32231,-3.35586,-4.05847,-3.8623,-12.7297,10.4034,-6.69688,15.201,-9.02066,15.5946,5.06255,16.0556 --3.75181,0.991934,0.525317,3,15,0,7.66732,2.76049,3.82307,0.769664,0.327691,-0.598101,0.505133,-1.23295,0.0276041,0.516299,-0.158099,5.70297,0.47391,-1.95315,4.73434,4.01327,4.69165,2.86602,2.15607,-4.73178,-3.50473,-3.69367,-3.33805,-3.2713,-3.37315,-4.36671,-3.95885,19.0033,-5.2083,-1.29738,-3.90056,-8.354,5.15185,9.18527,5.76527 --5.72518,0.432662,0.959932,2,3,0,7.72256,3.26458,2.5293,0.964736,1.06684,0.771077,-1.12848,-0.683559,0.365552,1.08425,-1.18407,5.70469,5.21487,1.53565,6.00699,5.96295,0.410306,4.18917,0.269715,-4.73161,-3.26031,-3.73171,-3.32091,-3.41544,-3.31827,-4.17522,-4.02166,23.0333,6.91079,-15.8489,13.6394,4.87308,-6.14778,12.4661,12.0892 --4.71936,0.998664,0.301634,4,15,0,8.73753,3.53037,2.60536,0.157219,-1.14507,-0.218043,0.911947,0.489313,0.971247,-0.820917,1.1084,3.93998,2.96229,4.80521,1.39158,0.547054,5.90632,6.06082,6.41815,-4.9134,-3.34842,-3.81051,-3.44681,-3.13094,-3.4163,-3.93424,-3.85739,12.7269,-5.05436,4.50286,12.0242,3.7155,2.14265,-2.44414,-6.74653 --7.62485,0.332584,0.569854,3,7,0,11.675,3.10489,12.1517,-0.661271,-1.26656,1.06809,-0.402356,-0.817368,-0.337884,0.800363,0.254475,-4.9307,16.0841,-6.82756,12.8307,-12.286,-1.78444,-1.001,6.1972,-6.03684,-3.54828,-3.72014,-3.45732,-3.90243,-3.34887,-5.02671,-3.86127,-27.6537,37.9786,-5.82014,11.3283,-24.4619,-5.0091,9.6852,26.7408 --7.22843,0.976358,0.133296,5,31,0,12.3932,0.53429,0.644191,1.03948,1.29131,-0.991361,0.368765,0.816193,0.892859,-0.741826,-0.0953312,1.20391,-0.104336,1.06007,0.0564121,1.36614,0.771845,1.10946,0.472878,-5.22261,-3.54992,-3.72372,-3.51606,-3.15072,-3.31705,-4.64798,-4.01436,21.1903,-16.9127,-3.35807,3.33179,-1.20526,-9.11316,-4.09514,4.43465 --9.71994,0.978983,0.236554,4,15,0,15.0266,2.11943,0.174527,0.118787,-1.04238,1.96144,-0.134181,-0.841696,-1.71562,0.73955,0.0690717,2.14016,2.46175,1.97253,2.2485,1.9375,2.09601,1.82001,2.13148,-5.11306,-3.37488,-3.73982,-3.41013,-3.16943,-3.3218,-4.53048,-3.9596,10.7278,15.379,0.660873,13.8052,-6.55345,-16.2407,-0.340588,1.19119 --7.17778,0.896894,0.42172,3,15,0,18.087,3.40452,0.144431,0.246052,0.213878,0.555816,0.228307,-1.43876,1.31841,-0.0724618,0.0517688,3.44005,3.48479,3.19671,3.39405,3.43541,3.43749,3.59494,3.41199,-4.96741,-3.32346,-3.76653,-3.37056,-3.2376,-3.34138,-4.25905,-3.92313,-13.5881,19.3503,-10.3779,6.66592,23.6482,-1.54013,12.6953,-28.9802 --6.76966,0.873777,0.580802,3,7,0,11.4315,2.17098,0.8057,-1.5782,0.833481,0.705974,-0.989374,-0.521312,0.214393,-0.999231,-0.230236,0.899418,2.73978,1.75096,1.3659,2.84251,1.37384,2.34371,1.98548,-5.25908,-3.35987,-3.73561,-3.448,-3.2073,-3.31741,-4.44712,-3.96408,26.8725,-0.537906,0.248087,7.93561,-0.422728,10.9977,16.1534,36.7826 --7.3321,0.376129,0.743075,4,15,0,12.5452,5.53073,0.61785,-1.35408,-0.683172,0.293619,-1.27706,0.630547,0.698809,-1.28829,-0.941209,4.69411,5.71214,5.92031,4.73476,5.10863,4.7417,5.96249,4.9492,-4.83402,-3.2477,-3.84694,-3.33804,-3.34651,-3.37469,-3.94603,-3.88603,24.4199,19.6817,-0.428209,12.5123,-9.5253,21.739,-7.58089,19.4695 --13.8727,0.959364,0.20986,4,15,0,18.9945,6.57293,4.25652,2.29537,-0.737326,-0.536731,-2.65053,-1.09061,-1.19131,-2.59259,0.412405,16.3432,4.28832,1.93072,-4.46247,3.43449,-4.7091,1.50209,8.32834,-3.92895,-3.29041,-3.73901,-3.85976,-3.23755,-3.45152,-4.58243,-3.83011,6.35801,25.6012,37.9622,-7.03094,12.6272,8.77988,-12.9322,-6.26998 --6.58064,0.97565,0.349506,3,7,0,18.869,5.5623,0.912552,-0.155902,-0.244067,0.806106,1.02734,1.48,-0.514313,-0.590502,-1.33356,5.42003,6.29792,6.91288,5.02344,5.33958,6.49981,5.09296,4.34536,-4.76,-3.23601,-3.88345,-3.33298,-3.36425,-3.44183,-4.05448,-3.89973,4.15062,4.79138,-13.3799,-9.53441,37.4429,23.3573,0.427019,15.2386 --5.38425,0.510751,0.606545,3,15,0,14.3811,2.66926,2.46296,-0.568501,1.1141,-0.296711,-0.446086,-0.987704,0.56479,1.53603,-0.134404,1.26906,1.93847,0.236584,6.45244,5.41324,1.57057,4.06031,2.33823,-5.21486,-3.40523,-3.71199,-3.31807,-3.37005,-3.31818,-4.1931,-3.95337,6.79303,5.6725,29.537,-13.8571,-20.9941,11.9428,-10.0751,23.4316 --4.87775,0.998789,0.264025,4,15,0,6.76878,1.96951,8.0832,1.43129,-1.13872,0.632041,0.353561,0.759322,0.500334,-1.09563,0.264745,13.5389,7.07843,8.10726,-6.88665,-7.23496,4.82742,6.01382,4.1095,-4.09171,-3.22577,-3.93249,-4.11369,-3.35613,-3.37737,-3.93987,-3.90539,11.0256,8.1759,-21.3404,-17.1317,-6.84935,5.88192,10.4394,19.9188 --6.61941,0.818144,0.48761,3,7,0,11.0498,1.96837,4.11817,-0.645083,0.137679,1.62841,0.247008,1.37607,1.09063,0.156299,1.67676,-0.688186,8.67445,7.63528,2.61204,2.53536,2.9856,6.45978,8.87355,-5.4559,-3.2238,-3.91244,-3.3964,-3.19332,-3.33313,-3.88741,-3.82439,24.4967,21.7116,-2.95461,18.1274,9.01679,11.0319,-1.10793,-10.9538 --7.01993,0.854164,0.527399,3,7,0,14.2102,-0.487439,1.93091,1.372,0.136325,-0.764091,-0.382415,0.752674,0.111742,-1.73323,0.0876963,2.16176,-1.96283,0.965904,-3.83415,-0.224208,-1.22585,-0.271675,-0.318106,-5.11058,-3.71781,-3.72225,-3.80187,-3.11988,-3.33731,-4.89079,-4.04347,9.09216,-8.2331,23.2818,20.5523,21.2204,3.31326,-3.49428,1.62337 --7.61684,0.306734,0.632172,3,7,0,10.7778,0.208567,16.8623,0.970342,0.727432,0.691165,-0.412961,-0.742816,0.883602,1.8241,0.657423,16.5708,11.8632,-12.317,30.9671,12.4748,-6.75492,15.1082,11.2943,-3.91727,-3.29615,-3.86107,-5.69048,-4.23696,-3.56534,-3.26334,-3.81008,11.8857,1.91541,-11.5341,12.1174,16.5753,0.754594,24.3863,6.52397 --4.09171,0.964799,0.158129,4,15,0,10.1062,-0.189609,4.99827,0.749323,-0.6632,0.372133,0.0641683,-0.4585,0.96778,-1.02969,0.403001,3.55571,1.67041,-2.48132,-5.33629,-3.50446,0.131122,4.64762,1.8247,-4.95482,-3.42184,-3.69205,-3.94569,-3.15488,-3.31995,-4.11295,-3.96909,19.3565,10.0377,10.2581,-23.1585,-2.18952,-13.3513,-0.819113,-4.31713 --4.54179,0.975708,0.261282,4,15,0,8.18417,0.231766,4.78936,1.34209,0.6249,0.830935,-0.527742,0.738662,0.571379,0.982222,-0.563292,6.65954,4.21141,3.76948,4.93598,3.22463,-2.29578,2.96831,-2.46604,-4.63902,-3.29329,-3.78103,-3.33444,-3.22633,-3.36172,-4.35128,-4.13225,-7.55974,17.6478,28.3628,-2.57374,6.05934,-4.10361,-5.1238,-8.83084 --4.20156,0.999665,0.441452,3,7,0,6.41404,1.00083,4.62432,0.333527,0.578055,0.1274,0.927192,-0.0316349,0.349254,-1.06312,-0.218393,2.54317,1.58997,0.85454,-3.91538,3.67394,5.28846,2.61589,-0.00908814,-5.0671,-3.42697,-3.72055,-3.80917,-3.25101,-3.39283,-4.40488,-4.03187,17.5115,-3.90404,-27.049,-22.5749,9.50928,19.5062,1.9758,34.691 --5.06532,0.596873,0.790367,3,15,0,7.64219,2.1517,2.93865,-0.448862,1.36193,0.275714,0.478856,-0.575061,0.993518,-0.672149,-0.7745,0.832656,2.96193,0.461802,0.176497,6.15392,3.55889,5.07131,-0.124279,-5.26713,-3.34843,-3.71493,-3.50923,-3.43208,-3.34389,-4.05728,-4.03616,-20.6798,10.4231,-6.03962,-0.857465,-1.4683,23.5507,8.6614,-1.06589 --8.29869,0.924687,0.460743,3,7,0,11.6871,3.19792,5.8322,1.69417,-0.76879,1.07754,-1.74626,-2.19094,-0.0733272,1.09055,-0.0264199,13.0787,9.48234,-9.58008,9.55822,-1.28582,-6.9866,2.77026,3.04383,-4.12176,-3.23251,-3.77609,-3.34388,-3.11667,-3.58041,-4.38125,-3.9331,-17.0196,18.3106,7.88646,14.2123,0.698766,4.94707,1.34505,-14.8528 --8.29869,0.0172118,0.665109,3,7,0,14.2169,3.19792,5.8322,1.69417,-0.76879,1.07754,-1.74626,-2.19094,-0.0733272,1.09055,-0.0264199,13.0787,9.48234,-9.58008,9.55822,-1.28582,-6.9866,2.77026,3.04383,-4.12176,-3.23251,-3.77609,-3.34388,-3.11667,-3.58041,-4.38125,-3.9331,23.3891,4.15187,13.5548,-3.73465,21.4054,-4.03535,-6.56882,0.211591 --4.10233,0.999199,0.0811508,5,31,0,11.1235,1.99095,5.62759,0.32097,0.0817536,0.259824,-0.637544,-1.3054,0.885979,1.2867,0.875067,3.79723,3.45313,-5.35533,9.23198,2.45102,-1.59689,6.97687,6.91547,-4.92871,-3.32489,-3.70236,-3.33742,-3.18968,-3.3447,-3.82907,-3.84921,26.438,2.80097,-8.57772,3.76352,8.85229,-2.43484,10.8245,-23.6795 --4.68184,0.995799,0.144362,5,31,0,8.68458,4.29309,7.18066,1.95383,-0.248665,0.0333461,0.618499,1.35283,0.919607,-0.299804,0.484354,18.3229,4.53254,14.0073,2.1403,2.50751,8.73432,10.8965,7.77107,-3.83509,-3.28164,-4.25646,-3.41442,-3.19211,-3.56402,-3.47382,-3.83691,1.91969,16.5352,14.5222,18.4474,9.81894,-0.293498,13.4903,-10.7496 --4.65109,0.989134,0.252107,4,15,0,8.32789,5.04273,5.89222,1.46676,-0.392723,-0.74219,-0.761915,-0.300051,-0.655582,-0.955401,0.189207,13.6852,0.66958,3.27476,-0.586707,2.72872,0.553359,1.17989,6.15758,-4.08235,-3.4902,-3.76843,-3.55468,-3.20199,-3.31766,-4.6361,-3.86199,-18.6252,22.9356,34.4004,-14.33,-18.4154,-3.97207,-12.2386,40.6465 --6.90826,0.926717,0.428674,3,7,0,9.35327,4.1518,2.39424,-0.638625,-1.58982,2.27296,-0.207931,0.0323917,0.103913,1.01875,-0.176927,2.62278,9.59381,4.22936,6.59093,0.345394,3.65397,4.40059,3.7282,-5.05811,-3.23422,-3.7936,-3.31753,-3.12734,-3.34594,-4.14624,-3.9149,2.38396,14.4335,-17.2112,4.20543,2.4873,28.943,-2.81216,-0.338041 --7.19697,0.983747,0.613337,3,7,0,8.52888,5.28819,4.65926,1.02402,1.31316,-2.07815,0.0904646,-0.148072,0.401072,-0.946866,0.263356,10.0594,-4.39448,4.59828,0.876485,11.4065,5.70968,7.15688,6.51523,-4.34225,-3.98964,-3.80429,-3.47178,-4.0663,-3.40849,-3.80939,-3.85573,7.0513,9.17137,4.43894,13.4753,21.1205,27.1848,6.99039,24.3206 --7.19697,0.56096,1.01252,2,7,0,13.4119,5.28819,4.65926,1.02402,1.31316,-2.07815,0.0904646,-0.148072,0.401072,-0.946866,0.263356,10.0594,-4.39448,4.59828,0.876485,11.4065,5.70968,7.15688,6.51523,-4.34225,-3.98964,-3.80429,-3.47178,-4.0663,-3.40849,-3.80939,-3.85573,-0.627294,3.93489,-10.1212,3.87213,-9.1128,7.6131,16.4097,5.5281 --6.59451,0.748052,0.555171,3,15,0,11.6036,6.89181,1.05654,1.86536,1.44491,0.0580978,0.380275,0.143647,0.600463,0.0358506,-0.744629,8.86265,6.9532,7.04358,6.92969,8.41842,7.29359,7.52623,6.10508,-4.44085,-3.227,-3.88855,-3.31685,-3.66373,-3.48051,-3.77002,-3.86294,1.1965,19.9317,5.45481,6.22385,-0.662433,9.39477,12.945,-10.752 --8.69449,0.556187,0.496746,2,7,0,14.6356,8.02121,0.437257,1.29168,2.07342,0.701881,0.489934,0.471087,0.733378,0.427978,-0.825546,8.58601,8.32811,8.2272,8.20835,8.92783,8.23544,8.34188,7.66023,-4.46455,-3.22206,-3.93772,-3.32287,-3.72457,-3.53316,-3.68792,-3.83837,23.9193,8.9997,5.05293,6.0973,3.61725,15.891,-1.26246,-15.755 --10.735,0.991804,0.272989,4,15,0,14.71,8.14481,0.138987,1.84354,1.44833,1.43568,0.268929,0.828308,0.618929,0.351063,-1.1497,8.40104,8.34436,8.25994,8.19361,8.34611,8.18219,8.23084,7.98502,-4.48059,-3.22212,-3.93916,-3.32272,-3.65536,-3.52999,-3.69871,-3.83419,30.9474,7.3723,33.2878,7.6331,16.2511,5.25879,33.3395,2.11588 --7.2508,0.971944,0.455649,3,7,0,14.7946,9.49232,0.601398,0.399679,1.32293,-0.352192,1.09852,0.532188,0.677897,0.595543,0.608311,9.73268,9.28051,9.81238,9.85048,10.2879,10.153,9.9,9.85816,-4.36853,-3.22972,-4.01215,-3.35041,-3.90269,-3.66302,-3.54957,-3.81639,3.96357,16.6421,11.8483,-3.42226,-4.57033,6.75839,4.08011,7.64787 --6.84177,0.893299,0.717968,3,7,0,12.266,9.76709,2.61876,-0.0304133,-1.96745,0.265751,-1.43603,-0.912408,-0.333321,-0.683565,-0.66259,9.68745,10.463,7.37772,7.977,4.61481,6.00649,8.89421,8.03193,-4.37221,-3.25186,-3.90187,-3.32078,-3.31077,-3.42041,-3.6361,-3.83361,-14.6099,-3.25356,6.8514,-7.80002,-8.70238,10.027,18.788,15.4609 --5.11858,0.406023,0.923637,3,15,0,10.2652,8.42209,12.8931,0.36007,-0.646263,0.770157,0.433916,-0.912547,-0.360059,-0.124282,0.729354,13.0645,18.3518,-3.34342,6.81971,0.0897927,14.0166,3.77984,17.8257,-4.1227,-3.75732,-3.69176,-3.31697,-3.12349,-4.01696,-4.23259,-3.86168,4.42356,15.1507,-17.1588,18.7577,-4.54855,10.4851,-11.9981,13.5704 --7.82062,0.955728,0.3545,4,15,0,10.8466,9.73887,0.167962,0.641441,0.862531,-0.38602,-1.0038,0.539862,0.802696,0.098015,-0.274054,9.84661,9.67404,9.82955,9.75533,9.88375,9.57027,9.87369,9.69284,-4.35931,-3.23554,-4.01301,-3.34821,-3.84737,-3.62034,-3.55171,-3.81752,9.98869,0.926255,-17.8026,5.42477,9.77466,21.1523,2.33987,18.6411 --6.25224,0.996753,0.532319,3,7,0,10.3483,9.34233,0.690165,-0.68791,-0.891341,0.411494,0.997751,-0.404787,-0.756018,-0.118505,0.290723,8.86756,9.62633,9.06296,9.26054,8.72715,10.0309,8.82055,9.54297,-4.44043,-3.23475,-3.97574,-3.33795,-3.70022,-3.65385,-3.64284,-3.81863,12.0148,25.5347,1.72963,-2.93664,-0.110572,24.0183,8.21017,11.8993 --4.00388,0.707202,0.878293,3,11,0,9.06531,6.70001,9.51897,0.38103,0.156743,-0.529739,-0.668243,0.64045,1.32392,-0.117898,-0.601334,10.327,1.65745,12.7964,5.57774,8.19204,0.339035,19.3023,0.975934,-4.32106,-3.42266,-4.17889,-3.32519,-3.63773,-3.31864,-3.23,-3.99686,49.3371,-0.62238,25.2024,8.50363,-0.692111,-3.50256,16.8502,10.5001 --4.00388,3.73421e-15,0.713538,2,3,0,10.3132,6.70001,9.51897,0.38103,0.156743,-0.529739,-0.668243,0.64045,1.32392,-0.117898,-0.601334,10.327,1.65745,12.7964,5.57774,8.19204,0.339035,19.3023,0.975934,-4.32106,-3.42266,-4.17889,-3.32519,-3.63773,-3.31864,-3.23,-3.99686,14.5414,-6.17782,30.1007,0.0712393,5.60574,-7.04027,11.5977,-18.914 --6.43461,0.98885,0.106072,5,31,0,8.72499,3.74732,1.68826,0.724942,-1.62633,0.86919,0.540031,-1.34777,-0.825573,0.163588,1.03528,4.97121,5.21474,1.47193,4.0235,1.00165,4.65904,2.35354,5.49515,-4.80549,-3.26031,-3.73059,-3.35344,-3.1409,-3.37216,-4.44558,-3.87461,6.08991,-8.31754,5.50301,-13.0754,24.2809,14.5149,18.0109,-28.0628 --3.41195,0.991032,0.17181,4,15,0,11.7951,5.59735,1.68368,-0.551638,-0.0402068,-0.318661,-0.0595433,0.719459,0.171559,0.507446,-0.0753136,4.66857,5.06083,6.80869,6.45173,5.52966,5.4971,5.8862,5.47055,-4.83667,-3.26472,-3.87944,-3.31808,-3.37935,-3.4004,-3.95524,-3.8751,-2.85979,0.630695,7.22874,7.07828,4.07406,5.48368,15.144,-12.4182 --5.30389,0.965637,0.277874,3,15,0,8.5488,5.5078,0.986958,0.781088,0.443629,-0.600626,0.926593,0.797026,-0.220574,-1.18727,0.0161682,6.2787,4.91501,6.29443,4.33602,5.94564,6.42231,5.2901,5.52376,-4.67547,-3.26911,-3.86025,-3.34616,-3.41395,-3.43833,-4.02923,-3.87404,-23.6986,7.07957,-37.4725,16.823,11.7033,-4.45775,5.89034,4.23004 --7.33395,0.672606,0.420533,3,15,0,13.3575,8.26891,0.145709,-0.659961,-0.382353,0.124734,-1.01031,-0.787123,0.429591,0.973263,0.120837,8.17275,8.28709,8.15422,8.41073,8.2132,8.1217,8.33151,8.28652,-4.50059,-3.22194,-3.93453,-3.32506,-3.64013,-3.52641,-3.68892,-3.83059,-12.9222,6.96768,-6.77403,3.55347,8.02969,-0.806892,17.1759,-10.4898 --6.30792,0.958268,0.318674,4,15,0,12.9461,7.77488,2.28748,-0.546377,0.00304345,0.334375,0.570334,0.541574,-0.497605,-2.11444,-0.335818,6.52505,8.53975,9.01371,2.93813,7.78184,9.0795,6.63662,7.0067,-4.65182,-3.22298,-3.97342,-3.38501,-3.59222,-3.58658,-3.86716,-3.84779,5.42327,-2.63625,17.9202,0.34031,3.41647,19.3774,18.3869,40.3546 --6.1134,0.957727,0.470987,4,23,0,10.6854,3.65795,5.08231,1.2487,-0.587322,-0.149879,-0.852395,-1.17975,1.36493,2.14237,0.334128,10.0042,2.89622,-2.33792,14.5461,0.673001,-0.674183,10.5949,5.35609,-4.34665,-3.35177,-3.69238,-3.55214,-3.13344,-3.32842,-3.4957,-3.87743,2.59848,5.3165,-5.55267,13.9455,10.2193,-10.3552,13.3195,38.203 --5.69613,0.790804,0.691652,3,13,0,9.23637,4.34358,7.67264,2.52642,-0.528652,1.08125,0.585398,0.358934,0.204944,-0.578133,-0.399689,23.7279,12.6396,7.09754,-0.0922277,0.287426,8.83512,5.91604,1.27691,-3.66755,-3.32915,-3.89067,-3.52468,-3.12639,-3.57051,-3.95163,-3.98676,34.9037,14.3957,21.8602,0.717126,1.82788,22.3512,10.4505,22.2521 --5.39895,0.928816,0.688843,3,7,0,8.40953,5.88401,0.965669,-1.48673,-0.048289,0.150739,-0.682498,-0.498834,0.757634,0.831254,0.389616,4.44831,6.02957,5.4023,6.68672,5.83737,5.22494,6.61563,6.26025,-4.85962,-3.24094,-3.82942,-3.31724,-3.40474,-3.39059,-3.86954,-3.86015,19.3412,11.1907,-2.51307,16.3183,-10.3641,-4.82522,0.286885,-13.8955 --5.76689,0.691855,0.939962,2,7,0,7.88984,6.38051,0.953033,-0.937645,-0.852516,-0.091356,1.17456,-0.260487,0.310151,1.14327,0.649762,5.48691,6.29345,6.13226,7.47009,5.56804,7.49991,6.6761,6.99976,-4.7533,-3.23609,-3.85441,-3.31775,-3.38245,-3.49142,-3.86268,-3.84789,11.561,21.3791,27.4647,-1.53616,1.10218,16.9335,14.1238,27.4903 --6.28525,0.583976,0.746469,3,15,0,10.9946,2.81207,2.27879,1.93121,1.18106,0.271084,-1.46894,0.117195,-0.187882,-0.412385,-0.40331,7.21289,3.42981,3.07913,1.87233,5.50345,-0.535346,2.38392,1.89301,-4.58722,-3.32596,-3.76371,-3.42548,-3.37724,-3.32657,-4.44083,-3.96695,24.875,-15.4284,-5.15575,-2.94175,-17.0744,-3.08091,1.85733,-30.2071 --7.11967,0.985519,0.466152,3,7,0,11.2445,3.52659,1.35046,-2.16006,0.280847,-0.808824,0.554236,-0.326109,0.380561,0.135528,1.37046,0.609523,2.43431,3.0862,3.70962,3.90587,4.27507,4.04053,5.37735,-5.29418,-3.37641,-3.76387,-3.36157,-3.26473,-3.36116,-4.19586,-3.87699,-20.9904,-0.0979164,1.30463,-28.0539,-8.02561,1.51188,-6.05837,19.2805 --9.736,0.364365,0.719651,3,15,0,14.9173,0.543715,0.178744,0.0846184,0.23934,-2.01954,1.37944,-0.728092,1.24663,-0.293253,0.201492,0.55884,0.182734,0.413573,0.491298,0.586496,0.790282,0.766544,0.579731,-5.30036,-3.52707,-3.71429,-3.49189,-3.1317,-3.31702,-4.70648,-4.01058,-3.53304,2.14534,-1.18661,-26.2692,8.87388,1.79793,-16.4956,6.8983 --6.70128,0.997241,0.277199,3,7,0,11.567,0.30589,0.253171,0.647486,0.950365,0.245431,0.37762,-0.546688,0.953518,0.232473,0.0760273,0.469814,0.368026,0.167485,0.364745,0.546494,0.401492,0.547293,0.325138,-5.31124,-3.51276,-3.71112,-3.49876,-3.13093,-3.31831,-4.74451,-4.01965,-14.7111,11.4915,-8.96931,-12.7417,14.4477,13.7634,-16.452,-11.8072 --9.40307,0.86604,0.43819,3,7,0,14.1625,0.525516,4.43415,-0.0681374,-2.34562,0.881749,0.101839,-1.99147,-0.786557,0.197497,0.286635,0.223385,4.43532,-8.30496,1.40125,-9.8753,0.977088,-2.9622,1.7965,-5.34152,-3.28506,-3.74649,-3.44636,-3.6024,-3.31684,-5.41859,-3.96998,21.4532,-2.418,-11.5598,-9.49264,3.04503,6.15574,-11.8097,-6.28672 --6.57121,0.905254,0.516155,3,11,0,11.8816,-0.256304,0.597051,-0.415351,-1.39415,0.289609,0.675908,-0.805096,-0.376655,0.200233,-0.0297123,-0.504289,-0.0833928,-0.736987,-0.136755,-1.08868,0.147247,-0.481186,-0.274044,-5.43253,-3.54823,-3.70153,-3.5273,-3.11621,-3.31984,-4.92929,-4.0418,-25.6417,12.7695,8.71024,-15.3114,-13.4522,-1.73432,-2.5847,-19.658 --5.91484,0.555862,0.661114,3,7,0,9.57353,-0.0174024,4.63029,1.12863,0.146071,0.24875,-0.405482,1.37051,0.249391,1.09737,-1.36236,5.20847,1.13438,6.32846,5.06373,0.658949,-1.8949,1.13735,-6.32552,-4.78133,-3.45721,-3.86149,-3.33233,-3.13315,-3.35146,-4.64327,-4.32756,11.8145,7.9703,5.56673,18.2102,3.34582,-7.94663,16.4097,-21.1197 --5.88558,0.908583,0.394934,4,23,0,12.661,9.3492,3.25952,0.229097,0.30984,-0.935544,0.753029,-1.25025,1.1746,-0.723035,0.600596,10.0959,6.29977,5.27398,6.99245,10.3591,11.8037,13.1778,11.3068,-4.33933,-3.23598,-3.82524,-3.31683,-3.91264,-3.79915,-3.33779,-3.81005,9.45877,8.756,4.5945,18.9114,14.7086,21.9299,8.83785,70.5339 --11.7504,0.73653,0.508752,3,7,0,15.5902,9.093,0.491719,-1.77184,0.255638,1.28807,0.0155405,-1.50212,-0.629841,2.28813,-0.963366,8.22175,9.72637,8.35438,10.2181,9.2187,9.10064,8.7833,8.61929,-4.49628,-3.23643,-3.94333,-3.35963,-3.76074,-3.58799,-3.64626,-3.82695,27.8077,14.0213,15.9172,1.17718,20.0156,17.1019,10.9676,14.1848 --4.09959,0.795401,0.451396,3,15,0,12.9713,7.8189,1.83377,-0.701,-0.0571169,0.464196,-0.0285041,0.270883,0.566671,-0.117761,0.931966,6.53343,8.67013,8.31564,7.60296,7.71416,7.76663,8.85805,9.52792,-4.65102,-3.22377,-3.94161,-3.31834,-3.58491,-3.50604,-3.6394,-3.81874,-0.395751,10.4443,-9.01839,-20.1421,20.5066,12.6735,31.7443,13.149 --5.08108,0.961384,0.454796,4,23,0,10.5695,1.04583,3.17809,1.53807,0.978164,-1.08438,-0.387972,-0.00280793,0.629973,0.277365,-0.305515,5.93396,-2.40044,1.0369,1.92732,4.15452,-0.187184,3.04794,0.0748739,-4.70901,-3.76237,-3.72336,-3.42316,-3.28017,-3.32266,-4.33934,-4.02877,3.06914,13.0347,12.178,5.02828,17.2246,-2.04544,11.1569,-15.0205 --7.7754,0.818296,0.652021,3,7,0,12.1386,-2.59053,3.33457,-0.159919,-0.606226,2.39999,0.748717,0.466786,0.70612,-0.279657,0.255651,-3.12379,5.41241,-1.034,-3.52306,-4.61203,-0.0938786,-0.235923,-1.73804,-5.77963,-3.255,-3.69908,-3.77442,-3.1967,-3.32178,-4.88427,-4.10057,28.1996,12.0734,-9.79939,-4.82354,-3.26862,16.6755,1.62135,-12.8835 --11.0067,0.684968,0.687956,3,7,0,17.8398,-1.03983,0.460973,1.60351,-0.204273,-1.96933,-0.717691,-0.640708,-0.140692,1.724,-0.864743,-0.300653,-1.94763,-1.33517,-0.245109,-1.13399,-1.37066,-1.10468,-1.43845,-5.40683,-3.7163,-3.69694,-3.53374,-3.11627,-3.34006,-5.04647,-4.088,-12.4892,-2.65364,-8.9215,17.0019,-8.00841,3.70725,6.9813,-2.27086 --6.81338,0.90845,0.548035,3,11,0,15.0009,3.73998,4.12117,-0.388617,0.559706,0.541599,0.459997,0.569594,-0.316303,-2.30425,-0.149516,2.13842,5.972,6.08738,-5.75622,6.04663,5.63571,2.43644,3.1238,-5.11326,-3.24209,-3.85282,-3.98924,-3.42268,-3.40563,-4.43265,-3.9309,17.8041,8.88173,-44.1058,4.68153,-7.01395,4.81409,-4.33848,-3.97723 --6.04612,0.980492,0.698387,3,7,0,10.1923,4.06542,1.82678,-1.07966,-0.785972,0.986041,-1.059,0.458794,-0.708833,1.34238,-0.139778,2.09312,5.8667,4.90354,6.51766,2.62962,2.13086,2.77054,3.81008,-5.11847,-3.24428,-3.81353,-3.3178,-3.19749,-3.32212,-4.38121,-3.91282,-17.5248,7.76742,19.2278,-8.76657,2.00146,22.8975,11.0154,-0.648652 --4.47065,1,1.03116,2,3,0,7.19177,3.50726,1.19841,-0.12764,-0.466951,-0.536719,-1.0253,-0.633988,0.231095,0.857669,-0.553853,3.3543,2.86406,2.74749,4.5351,2.94767,2.27854,3.78421,2.84352,-4.97679,-3.35341,-3.75605,-3.34194,-3.21236,-3.32359,-4.23197,-3.93869,-2.95049,10.4533,-3.22615,-8.50396,-7.02039,28.7915,17.8975,-7.16116 --4.47065,0.00248966,1.57863,3,7,0,8.89453,3.50726,1.19841,-0.12764,-0.466951,-0.536719,-1.0253,-0.633988,0.231095,0.857669,-0.553853,3.3543,2.86406,2.74749,4.5351,2.94767,2.27854,3.78421,2.84352,-4.97679,-3.35341,-3.75605,-3.34194,-3.21236,-3.32359,-4.23197,-3.93869,-4.60405,5.29175,13.3301,25.9666,-0.964243,-6.7314,-12.2666,29.7672 --5.44375,0.991474,0.308593,4,15,0,6.77594,3.14697,0.994599,-0.37618,0.596813,-0.0578452,-1.01581,-1.06106,0.293431,1.05064,0.843505,2.77282,3.08944,2.09164,4.19194,3.74056,2.13665,3.43882,3.98592,-5.04123,-3.34209,-3.74216,-3.34942,-3.25488,-3.32217,-4.28166,-3.90842,13.6931,-12.7866,3.59823,-6.08508,-10.026,-16.0885,24.1242,17.982 --4.57337,0.981209,0.465048,3,7,0,7.96723,3.0355,2.94702,0.899597,-0.0459626,0.601032,-0.633667,-0.374223,0.517044,0.290451,-1.78042,5.68663,4.80675,1.93266,3.89147,2.90005,1.16807,4.55924,-2.21145,-4.7334,-3.27251,-3.73905,-3.35676,-3.21005,-3.31695,-4.12479,-4.12099,-4.42523,0.375994,13.3822,27.208,4.41218,-7.06449,-17.7543,-13.4632 --9.48525,0.583921,0.683394,3,7,0,12.5123,3.06568,1.91115,-2.18034,-0.0449781,-0.279016,0.741108,-0.0164816,0.782485,1.06919,2.46721,-1.10128,2.53244,3.03418,5.10907,2.97972,4.48205,4.56113,7.7809,-5.50895,-3.37099,-3.76264,-3.33161,-3.21393,-3.36694,-4.12454,-3.83678,13.421,7.30135,29.8608,9.97464,12.4591,4.45059,7.4802,9.56946 --9.05927,0.952891,0.447006,3,7,0,16.5236,3.43675,0.494002,0.369509,-2.17006,-1.14198,-0.239857,-1.49123,-0.864696,0.260529,1.10027,3.61929,2.87261,2.70008,3.56545,2.36474,3.31826,3.00959,3.98028,-4.94792,-3.35297,-3.75499,-3.36558,-3.18605,-3.33904,-4.34509,-3.90856,4.64262,-6.23347,-21.8684,-3.24386,-11.5088,-7.22104,-1.71492,37.7472 --5.92809,1,0.618048,3,7,0,10.6344,3.68944,10.684,0.485097,0.7483,0.837889,0.375536,-0.17875,0.441711,1.74531,-0.337629,8.87219,12.6414,1.77968,22.3362,11.6842,7.70164,8.40866,0.0822265,-4.44004,-3.32924,-3.73615,-4.28874,-4.10931,-3.50242,-3.68149,-4.0285,25.0261,13.1947,-32.6984,13.7134,17.7131,15.854,-6.85791,-3.69111 --4.62755,0.779947,0.936201,2,3,0,9.34216,2.59536,3.88023,-0.178404,-1.58967,-0.580962,0.992726,-0.0244036,0.444334,0.525589,0.500099,1.90311,0.341092,2.50067,4.63476,-3.57291,6.44736,4.31948,4.53586,-5.14043,-3.51482,-3.75062,-3.33995,-3.15703,-3.43945,-4.15731,-3.89529,-23.8072,5.47198,7.92994,-10.5224,-13.1692,-6.43564,0.378887,-12.1866 --6.06826,0.196979,0.909983,2,3,0,10.5454,1.65253,0.641552,-0.83919,-0.781517,1.43318,0.510372,-0.411828,-0.314247,-0.230916,0.455829,1.11414,2.57198,1.38832,1.50438,1.15114,1.97996,1.45092,1.94496,-5.23332,-3.36884,-3.72914,-3.44163,-3.14473,-3.3208,-4.59088,-3.96533,-11.5076,4.07848,-1.73034,5.43913,3.55649,21.138,2.88174,-18.5735 --6.79219,0.984646,0.277697,3,15,0,8.93582,2.06886,0.926122,-0.732224,-0.819825,1.03841,-0.830625,-0.5961,-1.20666,-0.907117,-0.7163,1.39073,3.03055,1.5168,1.22876,1.3096,1.2996,0.951352,1.40548,-5.20044,-3.345,-3.73137,-3.45447,-3.14909,-3.3172,-4.67481,-3.98253,-13.0635,-4.03218,23.5752,1.43042,-3.75332,12.4646,-10.1485,41.071 --3.91265,0.995163,0.407101,3,7,0,8.11268,1.78237,1.04315,0.180432,0.21106,-0.62277,-0.578746,-0.144331,0.374028,-0.0135024,-0.0449146,1.97058,1.13272,1.63181,1.76828,2.00253,1.17865,2.17254,1.73551,-5.13261,-3.45732,-3.73343,-3.42994,-3.17181,-3.31697,-4.47407,-3.9719,10.4818,7.60459,24.1407,-4.8814,-1.0174,14.3504,0.488719,9.6978 --4.50364,0.827384,0.60702,3,7,0,7.50651,1.47835,9.10112,-0.00744405,-1.10284,0.89439,0.529556,0.727632,0.649734,-0.156893,1.01168,1.4106,9.6183,8.10061,0.050446,-8.55872,6.2979,7.39165,10.6857,-5.19809,-3.23462,-3.9322,-3.51641,-3.46884,-3.43282,-3.78421,-3.81198,-14.8872,13.6502,-24.1026,13.947,-22.3942,-5.09396,8.51495,-8.71955 --8.74807,0.0695586,0.649038,3,15,0,16.2137,2.37727,13.6079,-0.987109,-0.39856,-0.762441,1.13984,-1.01319,0.338489,-0.0651457,0.764282,-11.0552,-7.99799,-11.4101,1.49077,-3.04631,17.8882,6.9834,12.7776,-7.01657,-4.5012,-3.82967,-3.44225,-3.14201,-4.49539,-3.82835,-3.81024,-6.05186,-9.20134,0.819366,-2.40028,-5.72465,11.1585,10.1292,22.2717 --9.06925,0.945421,0.158214,4,31,0,18.8124,5.4009,0.282915,-0.846613,1.48008,1.15896,-0.137542,-1.59086,-0.815215,0.881931,1.03217,5.16139,5.72879,4.95083,5.65042,5.81964,5.36199,5.17027,5.69292,-4.78611,-3.24732,-3.815,-3.32436,-3.40325,-3.39546,-4.04453,-3.8707,27.4629,1.46144,4.63899,-2.59888,-0.79868,1.172,12.8322,5.46731 --5.23146,1,0.213899,4,15,0,10.6413,5.57951,0.620889,-0.727336,-0.00390601,-0.607077,0.802298,-0.801174,0.859482,0.0657264,0.600453,5.12792,5.20259,5.08207,5.62032,5.57709,6.07765,6.11316,5.95233,-4.7895,-3.26065,-3.81911,-3.3247,-3.38319,-3.42337,-3.92801,-3.86575,-32.5095,9.31647,-22.3099,1.14492,-5.83384,6.40258,-8.62655,19.01 --3.91794,0.984111,0.320422,4,15,0,8.30434,4.88176,1.23123,-0.667009,0.0963499,-0.344256,-0.15679,-0.0638785,0.299766,-0.329877,1.06362,4.06052,4.4579,4.80311,4.4756,5.00039,4.68871,5.25084,6.19133,-4.90054,-3.28426,-3.81045,-3.34317,-3.33841,-3.37306,-4.03423,-3.86138,-28.3026,6.2161,-30.0246,-8.2604,0.223694,8.20379,5.43788,20.1565 --4.84953,0.719555,0.463798,3,15,0,8.74657,3.48977,1.41057,0.493559,-0.991627,-1.37015,-0.397624,-0.433531,-0.48917,-0.146165,-0.373915,4.18597,1.55707,2.87824,3.28359,2.09101,2.92889,2.79976,2.96234,-4.88723,-3.42908,-3.75902,-3.37391,-3.17514,-3.33221,-4.37676,-3.93536,10.9036,-7.98636,-16.7182,14.8042,2.9696,9.63366,4.71327,10.5067 --6.8582,0.949005,0.40317,3,7,0,8.87191,3.71352,2.70902,0.317074,0.985099,-1.12832,-0.438132,0.228903,-1.32121,-1.58386,0.280583,4.57248,0.656875,4.33363,-0.577196,6.38218,2.52661,0.134346,4.47363,-4.84665,-3.49113,-3.79657,-3.55408,-3.45256,-3.32646,-4.81743,-3.89673,-19.952,4.73643,2.37026,13.9089,-7.56307,8.7078,2.6554,10.0789 --5.85832,0.848177,0.543356,3,7,0,11.3314,5.34425,5.79429,-0.0250289,-1.05185,1.007,0.397692,-0.0567823,1.40913,1.9219,-0.435904,5.19923,11.1791,5.01524,16.4803,-0.750482,7.6486,13.5092,2.8185,-4.78227,-3.27206,-3.817,-3.68822,-3.11655,-3.49949,-3.32236,-3.9394,9.76645,-12.2466,3.07492,21.607,9.69824,-14.0922,25.7107,3.53752 --5.0267,0.971654,0.603137,3,7,0,8.05993,3.89448,1.64483,0.844848,0.188599,-0.798562,-0.440302,-0.235966,-0.173251,-1.59725,0.629418,5.28411,2.58098,3.50635,1.26726,4.20469,3.17025,3.60951,4.92977,-4.77368,-3.36835,-3.77421,-3.45264,-3.28338,-3.3363,-4.25695,-3.88645,3.09672,18.9751,40.1489,15.6368,1.77505,3.52771,-2.07057,-5.02285 --6.38397,0.858786,0.844545,2,7,0,10.0123,3.98292,3.26651,0.200755,-1.03855,1.34186,0.23664,-0.615976,1.42049,2.12002,-0.150424,4.63869,8.36612,1.97082,10.908,0.590493,4.75591,8.62297,3.49156,-4.83977,-3.22219,-3.73979,-3.37994,-3.13178,-3.37513,-3.66117,-3.92103,2.25548,7.82384,0.0575362,8.79401,-6.25998,11.8464,1.01762,46.806 --6.43824,0.800366,0.953538,2,3,0,11.8899,4.26777,3.7367,0.40185,0.732017,-1.08056,-0.228216,0.255129,-0.774441,-1.91287,0.0171991,5.76936,0.23004,5.22111,-2.88007,7.0031,3.41499,1.37391,4.33203,-4.72521,-3.52339,-3.82353,-3.7202,-3.51153,-3.34093,-4.60366,-3.90005,3.94925,35.5558,-6.53611,-9.86354,8.872,2.8686,-7.05968,7.27957 --9.2878,0.526491,0.963976,2,5,1,16.7246,-1.69536,1.2701,-0.0612093,-0.927244,1.37902,0.343815,-0.552733,1.41021,2.2157,0.0934039,-1.77311,0.0561325,-2.39739,1.11879,-2.87306,-1.25869,0.0957465,-1.57673,-5.59685,-3.53705,-3.69224,-3.45976,-3.13782,-3.33792,-4.82434,-4.09377,12.7604,17.8518,4.79975,7.13503,-4.85296,-4.91313,-2.099,-19.1309 --9.94113,0.525035,0.584748,3,7,0,19.8323,-0.753734,3.06952,0.314623,-0.711331,1.9309,0.932276,0.00349787,1.53736,1.69728,-2.06845,0.212007,5.17321,-0.742997,4.4561,-2.93718,2.10791,3.96524,-7.10289,-5.34293,-3.26148,-3.70148,-3.34358,-3.13933,-3.32191,-4.2064,-4.37246,1.26439,-8.06819,-8.14224,-14.95,-6.60651,-0.664431,4.49042,-3.39274 --7.58002,1,0.35525,4,23,0,12.3264,4.39338,1.39083,0.537249,-0.281332,0.237137,-1.61633,-1.41218,0.684687,-0.997537,1.93169,5.1406,4.7232,2.42929,3.00598,4.0021,2.14534,5.34566,7.08003,-4.78822,-3.27521,-3.7491,-3.38275,-3.27061,-3.32225,-4.02219,-3.84667,-14.2297,12.1345,8.38383,-1.33087,4.92643,-9.11376,-8.79007,-8.33333 --5.7903,0.905438,0.521488,2,7,0,12.0068,4.58454,0.514245,0.763673,-1.21518,-0.261953,-0.492308,-0.339355,0.554504,1.25638,0.0863494,4.97726,4.44984,4.41003,5.23063,3.95965,4.33138,4.86969,4.62895,-4.80487,-3.28454,-3.79877,-3.32977,-3.268,-3.36269,-4.08355,-3.89316,-4.63718,0.992978,-22.8442,8.15135,-3.60588,5.01876,5.08686,5.21726 --3.98376,0.878274,0.641104,3,7,0,9.3663,4.5025,6.09392,-0.0458991,0.750865,-0.0629015,-0.00754009,0.0735918,-0.624106,0.0128252,-0.559905,4.2228,4.11918,4.95096,4.58066,9.07822,4.45655,0.699249,1.09048,-4.88333,-3.29683,-3.815,-3.34102,-3.74314,-3.3662,-4.7181,-3.99298,1.52291,0.420669,-10.1068,0.678916,-7.48906,-6.97247,12.0844,7.42271 --7.43899,0.41085,0.748544,3,11,0,11.2918,4.72858,5.48104,0.974031,1.83452,-0.0316926,0.510433,-0.113388,-0.849827,0.0215869,1.43858,10.0673,4.55487,4.1071,4.8469,14.7837,7.52629,0.0706445,12.6135,-4.34162,-3.28087,-3.79018,-3.33599,-4.65397,-3.49284,-4.82883,-3.80989,-0.177563,33.9697,-4.341,-0.590542,32.8723,8.3317,-10.3153,-7.77289 --8.1948,0.948191,0.37181,3,15,0,12.8051,5.72807,4.3145,1.13941,1.39985,-0.781702,0.659992,-1.20619,-0.580262,0.876266,1.89346,10.644,2.35542,0.523981,9.50871,11.7677,8.5756,3.22452,13.8974,-4.29639,-3.38083,-3.71578,-3.34284,-4.12242,-3.55398,-4.3131,-3.81487,24.4494,-16.7272,13.2083,1.61285,0.735271,-1.78696,24.0418,13.7734 --6.5748,0.999869,0.246698,4,15,0,11.4155,0.861899,3.24523,0.580841,-0.766878,2.02528,-0.14844,-0.664626,1.15169,-0.35982,-1.40371,2.74686,7.43439,-1.29496,-0.305798,-1.62679,0.380177,4.59938,-3.69347,-5.04415,-3.22312,-3.69721,-3.53739,-3.11859,-3.31842,-4.11941,-4.18938,7.17076,-16.8797,6.63171,-3.916,2.79388,-2.21772,16.0909,12.3262 --6.5748,0,3.54804,0,1,1,8.58441,0.861899,3.24523,0.580841,-0.766878,2.02528,-0.14844,-0.664626,1.15169,-0.35982,-1.40371,2.74686,7.43439,-1.29496,-0.305798,-1.62679,0.380177,4.59938,-3.69347,-5.04415,-3.22312,-3.69721,-3.53739,-3.11859,-3.31842,-4.11941,-4.18938,2.44043,15.9881,-32.8445,0.787177,1.07226,0.740789,0.460261,3.23148 --7.44246,0.914154,0.59958,3,7,0,11.1629,4.36319,0.95479,0.0211595,0.263296,-1.72255,0.710077,-0.450807,-0.194375,1.57187,1.48185,4.3834,2.71852,3.93277,5.864,4.61459,5.04117,4.17761,5.77805,-4.86642,-3.36099,-3.7854,-3.32217,-3.31075,-3.38432,-4.17682,-3.86905,0.627364,18.2225,10.192,19.9618,-2.95542,7.78574,4.87407,-4.29071 --8.55339,0.855035,0.675716,3,7,0,12.0982,3.58384,1.50686,0.732891,-0.158432,0.653563,-0.0645928,1.69164,-0.784642,-1.51879,-2.05129,4.6882,4.56867,6.1329,1.29524,3.34511,3.48651,2.4015,0.49284,-4.83463,-3.28039,-3.85444,-3.45131,-3.23271,-3.34238,-4.43809,-4.01365,22.6149,18.2921,-16.6512,-2.99814,13.8738,8.62855,-17.3292,4.44045 --8.27884,0.964855,0.720172,3,7,0,18.1703,1.79425,3.5921,0.130999,0.932961,0.700942,-0.997725,-2.38678,1.86043,0.499672,1.26667,2.26482,4.31211,-6.77931,3.58913,5.14555,-1.78968,8.47712,6.34426,-5.09877,-3.28953,-3.71942,-3.36491,-3.3493,-3.34899,-3.67495,-3.85867,-1.4251,-1.52035,-27.7837,-6.77003,-17.5232,18.7834,13.8871,21.8559 --8.27884,1.6034e-64,1.11592,1,1,0,10.9789,1.79425,3.5921,0.130999,0.932961,0.700942,-0.997725,-2.38678,1.86043,0.499672,1.26667,2.26482,4.31211,-6.77931,3.58913,5.14555,-1.78968,8.47712,6.34426,-5.09877,-3.28953,-3.71942,-3.36491,-3.3493,-3.34899,-3.67495,-3.85867,-26.5579,5.17728,-19.4433,16.8022,1.03496,0.191085,12.0261,-13.6859 --5.8376,0.999772,0.0943058,5,31,0,11.1981,3.4838,3.0625,-0.193717,0.860177,-0.878798,0.0117304,-1.6765,0.826142,1.41083,0.376085,2.89054,0.792478,-1.65049,7.80446,6.11809,3.51972,6.01386,4.63556,-5.02807,-3.48127,-3.69508,-3.31951,-3.42892,-3.34307,-3.93986,-3.89301,3.85345,-1.37796,-18.1714,0.811161,19.7204,-5.10997,4.53735,18.3366 --4.98884,0.99897,0.166371,5,31,0,7.7297,5.21462,1.61807,1.43092,0.384445,0.703906,-0.263523,1.12388,0.178665,0.614021,-0.694843,7.52995,6.35359,7.03314,6.20814,5.83668,4.78822,5.50371,4.09031,-4.55815,-3.23508,-3.88814,-3.31942,-3.40468,-3.37613,-4.00231,-3.90586,15.7378,-16.1371,2.5378,3.82894,11.737,1.44468,-1.32474,13.2247 --8.41634,0.966138,0.302927,4,15,0,9.75653,6.5393,1.11272,0.9014,1.34691,0.407947,-0.825284,1.04116,0.604164,2.32273,-0.335284,7.54231,6.99323,7.69782,9.12385,8.03803,5.62099,7.21157,6.16622,-4.55703,-3.22659,-3.91505,-3.33547,-3.6204,-3.40507,-3.80348,-3.86183,21.7975,-0.952548,-5.69257,-11.1061,10.4516,20.1521,24.7553,30.494 --11.5354,0.993547,0.506739,3,7,0,13.8643,9.89811,4.57522,0.104658,-1.80941,-0.419161,-1.8667,1.72418,-0.916793,-2.21625,-0.399219,10.3769,7.98035,17.7866,-0.241714,1.61966,1.35756,5.70358,8.07159,-4.31715,-3.22153,-4.53544,-3.53354,-3.15852,-3.31736,-3.97753,-3.83313,32.9996,10.0847,19.9245,8.91551,10.0867,-3.56057,10.2534,-4.01292 --11.5354,0.216257,0.93248,2,3,0,17.4025,9.89811,4.57522,0.104658,-1.80941,-0.419161,-1.8667,1.72418,-0.916793,-2.21625,-0.399219,10.3769,7.98035,17.7866,-0.241714,1.61966,1.35756,5.70358,8.07159,-4.31715,-3.22153,-4.53544,-3.53354,-3.15852,-3.31736,-3.97753,-3.83313,23.6796,0.902007,25.1882,9.00084,-3.12862,25.646,-1.02477,30.2891 --12.0937,0.993341,0.147686,4,15,0,16.8188,9.56754,1.33486,-0.181782,-2.83234,0.111296,-1.02998,1.84119,-0.197778,-1.998,-0.418036,9.32488,9.7161,12.0253,6.90049,5.78676,8.19266,9.30353,9.00952,-4.40201,-3.23625,-4.13246,-3.31687,-3.40049,-3.53061,-3.59967,-3.82311,24.6678,-10.7498,12.1843,12.3007,0.475056,0.967527,11.6099,10.4189 --10.0997,0.988508,0.273809,4,15,0,19.8712,7.2852,0.0886181,-2.2751,-0.0194037,0.269529,-1.3557,0.265731,0.485141,1.04799,-0.0583383,7.08358,7.30908,7.30875,7.37807,7.28348,7.16506,7.32819,7.28003,-4.5992,-3.22391,-3.89909,-3.31742,-3.53972,-3.47389,-3.79096,-3.84369,15.2652,-2.327,12.1373,-11.5371,1.45564,5.95111,-5.17629,11.7339 --13.3086,0.921091,0.499281,3,7,0,16.9581,9.55136,0.0329743,-1.90817,1.09161,0.153711,-1.44075,0.507393,1.19076,-0.706135,-1.45357,9.48843,9.55642,9.56809,9.52807,9.58735,9.50385,9.59062,9.50343,-4.3885,-3.23364,-4.00004,-3.34324,-3.80809,-3.61566,-3.57511,-3.81893,17.1947,-11.3864,27.655,-4.24378,35.0687,24.4148,23.7114,32.4037 --12.1049,0.964084,0.734734,3,7,0,19.4527,-0.652171,0.0680683,0.775587,-1.57077,0.562943,-1.17135,1.43702,-1.42849,0.822031,0.607965,-0.599378,-0.613852,-0.554355,-0.596216,-0.75909,-0.731902,-0.749406,-0.610788,-5.4446,-3.59252,-3.70321,-3.55527,-3.11652,-3.32923,-4.97922,-4.05473,18.6133,-0.910114,-9.86939,4.05195,12.6076,11.4973,5.69401,6.06753 --15.7197,0.505431,1.23095,1,3,0,18.9746,0.593962,0.0194521,1.6173,-0.715066,-0.793158,-1.83127,1.89285,0.459779,2.09512,0.724579,0.625422,0.578533,0.630782,0.634716,0.580052,0.55834,0.602905,0.608056,-5.29225,-3.49691,-3.71727,-3.48426,-3.13157,-3.31764,-4.73482,-4.00958,-2.93436,-10.3465,-4.33113,14.8618,-7.47771,11.621,-6.83576,13.1455 --11.12,0.997645,0.499692,3,7,0,17.7061,2.00106,0.0386874,1.0536,-0.482641,-1.74899,-1.3798,1.53896,-0.191426,0.135016,0.43629,2.04182,1.9334,2.0606,2.00629,1.98239,1.94768,1.99366,2.01794,-5.12438,-3.40554,-3.74155,-3.41988,-3.17107,-3.32054,-4.50254,-3.96308,21.5544,10.1258,12.8794,-6.54987,16.3653,19.9503,-17.2643,1.74318 --11.5001,0.612843,0.924678,2,5,0,16.758,4.57373,0.0270378,-0.103309,-0.283566,-1.07107,0.478008,1.01694,-1.70914,0.656196,1.9456,4.57093,4.54477,4.60122,4.59147,4.56606,4.58665,4.52751,4.62633,-4.84681,-3.28122,-3.80438,-3.3408,-3.3074,-3.36999,-4.12906,-3.89322,24.012,8.07187,11.1929,11.4267,4.87536,0.108561,15.164,-34.2593 --8.75602,0.960117,0.528419,3,7,0,17.3893,5.30541,0.0148423,-0.217765,-0.303287,0.156919,0.432936,0.141487,1.04233,0.406727,1.13922,5.30218,5.30774,5.30751,5.31145,5.30091,5.31184,5.32088,5.32232,-4.77186,-3.25776,-3.82632,-3.32862,-3.36123,-3.39366,-4.02532,-3.87812,-10.834,19.4832,-0.688678,3.92721,3.46627,30.401,4.51352,-4.80595 --6.1218,0.878569,0.865742,3,11,0,11.441,4.81932,2.74426,1.63566,-0.461894,-0.321759,0.727424,-0.477938,0.635052,-0.76229,2.0463,9.308,3.93633,3.50773,2.7274,3.55176,6.81556,6.56207,10.4349,-4.40341,-3.30409,-3.77424,-3.39227,-3.24406,-3.45659,-3.87566,-3.81309,6.93846,7.01535,7.97521,10.4907,6.09865,0.531077,-4.02916,14.8774 --7.32964,0.519816,1.10372,3,15,0,13.0653,2.24484,0.827073,-1.07076,-0.477558,0.0681863,0.368044,-1.75738,1.2387,1.08103,-0.664553,1.35924,2.30123,0.79135,3.13893,1.84986,2.54924,3.26933,1.6952,-5.20417,-3.3839,-3.7196,-3.37844,-3.1663,-3.32675,-4.30649,-3.97318,9.15626,0.310344,33.756,12.3949,8.03059,-5.59723,11.1932,15.1144 --8.20999,0.797908,0.485317,3,7,0,14.8711,3.2997,4.29568,-0.650466,1.36353,-0.323502,-0.447234,-2.64265,0.632824,-0.71653,-0.289592,0.505508,1.91004,-8.05227,0.221719,9.15696,1.37853,6.0181,2.0557,-5.30687,-3.40696,-3.74138,-3.50669,-3.75298,-3.31743,-3.93935,-3.96192,-18.8186,-8.9398,-28.9671,-19.7003,-1.92424,2.20841,12.8729,-11.3909 --5.50146,0.984588,0.489026,4,15,0,13.0913,7.44007,1.66721,-0.310391,-0.513018,0.0486742,-0.375658,0.201503,-1.23142,1.13327,1.08481,6.92258,7.52122,7.77602,9.32947,6.58476,6.81377,5.38703,9.24868,-4.61423,-3.22267,-3.91833,-3.33926,-3.47128,-3.4565,-4.01696,-3.82099,15.2797,-9.30784,18.6253,13.1754,5.11545,1.39572,6.2025,-4.98499 --11.0289,0.655008,0.847848,2,7,0,13.8483,4.38812,2.69698,1.91023,1.35854,-0.0392284,-0.753875,-0.509376,-2.53317,-1.49297,0.55812,9.53998,4.28232,3.01434,0.361602,8.05209,2.35493,-2.44381,5.89336,-4.38426,-3.29063,-3.76218,-3.49893,-3.62197,-3.32442,-5.31127,-3.86686,-21.1423,7.82311,-8.95218,-7.77465,26.5206,8.52737,-4.18725,33.9998 --8.46451,0.780629,0.563398,3,7,0,15.638,5.66226,5.28151,0.992729,-0.6578,0.357,0.612763,-1.14324,3.2778,0.694246,0.866866,10.9054,7.54776,-0.375769,9.32893,2.18808,8.89858,22.974,10.2406,-4.27638,-3.22255,-3.70498,-3.33925,-3.1789,-3.57463,-3.34523,-3.81409,25.8439,-10.4183,8.9061,6.75981,-9.68646,18.5267,25.9496,-2.25273 --8.47473,0.768392,0.53983,3,7,0,14.7506,8.11021,1.16187,1.09619,1.96407,-1.02959,0.165787,-0.0887202,1.61391,-0.0788843,-0.975004,9.38384,6.91396,8.00713,8.01856,10.3922,8.30283,9.98536,6.97738,-4.39712,-3.22742,-3.92816,-3.32112,-3.91729,-3.53721,-3.5427,-3.84824,0.833868,0.0863393,-23.5962,1.34653,19.54,1.67019,-2.56943,-0.56726 --3.21382,0.428579,0.50003,3,7,0,12.6245,5.26722,4.81237,0.634571,0.420595,-0.456511,-0.195808,0.293205,1.23439,0.211062,0.958553,8.32101,3.07032,6.67823,6.28292,7.29128,4.32492,11.2075,9.88013,-4.48757,-3.34303,-3.87447,-3.31896,-3.54052,-3.36252,-3.45221,-3.81625,22.5796,7.5335,11.942,9.75885,2.66559,12.7178,11.1924,-3.20944 --4.49387,0.999244,0.178574,5,31,0,6.31592,3.91851,8.70176,1.64139,-0.890069,0.671069,-1.09779,-0.910192,0.722626,-0.000616591,-0.979742,18.2015,9.75799,-4.00176,3.91314,-3.82666,-5.63419,10.2066,-4.60697,-3.84035,-3.23698,-3.69349,-3.35621,-3.16548,-3.4987,-3.52521,-4.23491,7.80608,12.1813,-7.42191,-27.6584,-20.4277,2.46881,29.4862,-2.55218 --5.04467,0.950165,0.318009,4,15,0,8.41571,0.800059,5.0548,0.68294,0.532033,-0.877222,0.357864,-1.32042,0.570416,0.605903,1.19924,4.25218,-3.63412,-5.87438,3.86277,3.48938,2.60899,3.6834,6.86199,-4.88023,-3.89829,-3.70766,-3.3575,-3.24057,-3.32753,-4.24635,-3.85005,-5.91856,-5.10237,-7.17176,3.57273,14.0569,3.76166,13.9985,17.1618 --4.13743,0.930565,0.48979,3,7,0,8.45962,2.48862,2.91534,0.550234,-1.01352,0.0771127,-0.439269,-1.50488,0.169043,0.265721,0.543963,4.09274,2.71343,-1.89862,3.26329,-0.466122,1.208,2.98144,4.07446,-4.89712,-3.36126,-3.6939,-3.37453,-3.11792,-3.31701,-4.34931,-3.90625,-4.28208,10.913,33.2255,5.96893,5.28295,15.9525,9.63103,-14.1712 --4.24642,0.996611,0.709823,3,7,0,4.97818,7.74824,4.20451,1.00484,-1.31969,-0.221096,-0.0681804,1.05368,0.89334,0.0246551,0.456912,11.9731,6.81864,12.1784,7.8519,2.1996,7.46158,11.5043,9.66933,-4.19779,-3.2285,-4.1415,-3.31983,-3.17936,-3.48936,-3.43249,-3.81769,14.0529,19.0596,12.3933,14.5433,15.4663,0.381499,5.98399,10.8856 --6.92227,0.128731,1.22329,3,8,1,12.9863,2.83931,3.39972,0.0684121,-0.856687,0.718095,-0.443233,-2.58812,-0.477013,-0.710172,-0.0564903,3.07189,5.28063,-5.95957,0.424923,-0.0731872,1.33244,1.2176,2.64726,-5.0079,-3.2585,-3.70863,-3.49548,-3.12147,-3.31729,-4.62977,-3.9443,6.38693,24.2954,-9.03927,-16.5613,-5.01893,-15.3408,17.5611,-17.3678 --5.11032,0.996569,0.201708,5,31,0,9.73333,5.31548,6.10616,0.885388,-0.269424,-0.454517,0.209806,2.00248,0.790992,-0.385594,0.644451,10.7218,2.54013,17.543,2.96098,3.67034,6.59659,10.1454,9.2506,-4.2904,-3.37057,-4.51577,-3.38425,-3.25081,-3.44626,-3.53,-3.82098,20.1219,-6.18786,49.935,17.2175,-1.48523,-4.25529,18.6369,26.8029 --3.95795,0.982012,0.348049,4,15,0,8.333,1.76579,4.76734,1.4247,-0.248299,0.931027,0.717718,0.392801,0.620666,0.631943,1.12837,8.5578,6.20432,3.63841,4.77848,0.582065,5.1874,4.72472,7.14514,-4.46699,-3.23765,-3.7776,-3.33723,-3.13161,-3.38929,-4.10269,-3.84568,26.1607,11.302,-7.65197,18.141,4.34147,-2.47423,6.62331,-5.59112 --9.84264,0.28141,0.572769,3,7,0,13.3279,0.537651,15.6459,1.77325,-1.12784,0.0504704,0.442869,-0.47433,1.29926,-0.857241,2.08889,28.2818,1.32731,-6.88368,-12.8747,-17.1085,7.46674,20.8659,33.2202,-3.62717,-3.44415,-3.72099,-4.94908,-4.71791,-3.48964,-3.26259,-4.50422,18.9137,10.5808,-0.209039,-16.1247,-29.0168,-2.1837,38.4859,33.9952 --5.50159,0.911809,0.148194,3,7,0,14.7616,1.509,5.31015,1.99464,-0.499864,-0.44556,0.77295,-0.664369,0.929043,0.510544,1.62895,12.1009,-0.856994,-2.0189,4.22007,-1.14535,5.61349,6.44236,10.159,-4.18873,-3.61376,-3.69341,-3.34877,-3.11629,-3.40479,-3.88942,-3.81454,1.63301,-4.95443,-22.8217,-5.58231,-1.15206,11.4526,16.3552,7.43098 --3.79831,0.995496,0.202818,5,31,0,9.09398,0.890351,9.99848,0.149892,0.344395,0.991804,-0.593616,1.03934,0.770958,0.254137,0.170868,2.38904,10.8069,11.2822,3.43133,4.33377,-5.04491,8.59876,2.59877,-5.08459,-3.26092,-4.08993,-3.36946,-3.29178,-3.46783,-3.66344,-3.9457,-7.2023,7.54437,2.41504,-11.9867,7.38418,7.70713,-18.5151,11.8592 --3.34084,0.986681,0.343011,4,15,0,5.92165,0.785639,8.34385,1.23458,0.0402366,-0.650367,0.373925,-0.260338,0.917264,0.0383987,1.00399,11.0868,-4.64093,-1.38659,1.10603,1.12137,3.90561,8.43916,9.16279,-4.26267,-4.02049,-3.69661,-3.46038,-3.14394,-3.35172,-3.67857,-3.82173,21.6379,-13.076,-19.1272,4.09246,4.99035,12.6362,0.659906,17.0304 --4.23242,0.864873,0.562518,3,7,0,5.58036,-1.12347,4.27444,0.900507,0.492163,-0.510081,0.283086,-0.446901,0.595415,0.646097,0.594604,2.7257,-3.30378,-3.03372,1.63824,0.980252,0.0865681,1.4216,1.41813,-5.04652,-3.8604,-3.69153,-3.43563,-3.14037,-3.32028,-4.59574,-3.98211,9.32113,2.74494,-24.7105,-2.01926,-10.4306,2.48328,-16.0116,-16.7002 --5.86005,0.256233,0.67117,3,15,0,12.897,1.19748,4.82214,0.427643,0.30971,-1.68501,0.964488,-0.295293,0.651816,-0.718077,-0.242869,3.25964,-6.92788,-0.226463,-2.26519,2.69095,5.84838,4.34063,0.0263323,-4.98718,-4.33573,-3.70655,-3.67156,-3.20026,-3.41397,-4.15442,-4.03056,9.15498,1.09812,13.8336,6.85429,1.56255,9.58914,28.9465,-3.17163 --5.91067,0.996578,0.171258,5,31,0,8.61065,1.56765,4.86157,0.256739,-0.772928,2.38776,-0.767666,-0.617593,0.859705,0.054979,0.624539,2.8158,13.1759,-1.43482,1.83493,-2.18999,-2.16441,5.74716,4.60389,-5.03642,-3.35547,-3.69631,-3.42707,-3.1249,-3.35821,-3.97218,-3.89373,-7.15509,19.6999,13.741,-4.21012,2.06711,-21.9569,12.9555,19.9213 --4.09419,0.991278,0.286174,4,15,0,8.43761,0.298511,6.84181,1.66066,-0.165904,-0.263722,-0.845378,-0.826151,0.739641,0.516541,-0.332963,11.6604,-1.50582,-5.35385,3.83259,-0.836573,-5.4854,5.35899,-1.97956,-4.22028,-3.67333,-3.70235,-3.35829,-3.11633,-3.49064,-4.0205,-4.1109,1.84605,-6.55042,10.4206,25.81,-3.30071,-23.8678,8.29428,-0.874646 --4.94343,0.816837,0.46834,3,15,0,12.4283,3.92963,11.0185,0.052394,-0.995207,-0.729001,-0.532935,-0.439685,0.810229,1.21213,0.894877,4.50693,-4.10287,-0.915036,17.2854,-7.03605,-1.94251,12.8571,13.7898,-4.85349,-3.95392,-3.70002,-3.75398,-3.34106,-3.35261,-3.35377,-3.81425,-19.0984,-16.4421,-14.4788,-14.3444,-5.79537,8.77977,16.1765,7.89209 --4.7578,1,0.494187,3,15,0,8.39638,3.57131,1.44753,-1.48406,-0.804214,0.341307,-0.4141,-0.443754,0.0238269,0.293877,-0.399317,1.42309,4.06537,2.92897,3.99671,2.40719,2.97189,3.6058,2.99329,-5.19662,-3.29893,-3.76018,-3.35411,-3.18782,-3.3329,-4.25749,-3.9345,-3.81237,3.67247,9.73128,13.9794,4.78981,4.25735,14.9922,6.22011 --7.82836,0.637235,0.817128,2,7,0,9.50406,3.21021,2.30694,-0.717011,-0.574123,2.43582,-0.375629,0.206989,-0.589869,-0.7387,-1.40165,1.55611,8.8295,3.68772,1.50608,1.88575,2.34366,1.84942,-0.0232992,-5.18094,-3.22496,-3.77888,-3.44156,-3.16757,-3.32429,-4.52573,-4.0324,20.3081,14.6945,11.1111,-28.8104,-8.67649,18.5779,5.32895,33.1099 --7.91207,0.984827,0.55368,3,7,0,12.1872,1.94672,0.985039,-0.0340329,-0.270033,0.522735,-0.13877,0.877381,-1.16579,1.64098,-1.825,1.9132,2.46164,2.81098,3.56315,1.68073,1.81003,0.798374,0.149021,-5.13926,-3.37489,-3.75748,-3.36564,-3.16052,-3.31955,-4.701,-4.02605,7.78391,-1.5376,-12.0008,3.91543,-7.17741,18.5081,-1.68581,-4.43067 --4.3813,0.916936,0.875462,2,3,0,10.8063,5.43992,6.37349,0.0397727,-0.240006,0.0610198,-1.00426,-0.525381,1.2878,-1.37789,0.825083,5.69341,5.82882,2.09141,-3.34203,3.91024,-0.960704,13.6477,10.6986,-4.73273,-3.24509,-3.74216,-3.75881,-3.26499,-3.33272,-3.31624,-3.81192,25.7301,8.23336,-45.0681,2.50152,22.7407,3.16256,9.79191,-11.6234 --5.23414,1,1.16819,2,3,0,6.28866,5.54423,3.20237,0.118242,-0.0133388,0.30461,-1.88097,-0.887398,0.00942191,1.33603,-0.202261,5.92288,6.5197,2.70245,9.82269,5.50151,-0.479331,5.5744,4.89651,-4.7101,-3.23248,-3.75504,-3.34976,-3.37709,-3.32588,-3.9935,-3.88718,-9.94671,-2.11688,-19.0722,9.42448,12.913,-2.08478,-1.23053,-0.472312 --5.23414,8.93025e-06,1.89341,3,8,1,9.47194,5.54423,3.20237,0.118242,-0.0133388,0.30461,-1.88097,-0.887398,0.00942191,1.33603,-0.202261,5.92288,6.5197,2.70245,9.82269,5.50151,-0.479331,5.5744,4.89651,-4.7101,-3.23248,-3.75504,-3.34976,-3.37709,-3.32588,-3.9935,-3.88718,-15.2671,8.65899,14.0944,-2.92733,8.67434,-1.15739,-11.5643,-9.27422 --8.84748,0.968542,0.284189,4,31,0,12.3211,3.44061,2.59603,0.540069,0.585737,-0.0657143,-2.39311,0.376584,-1.32612,-0.41817,1.83545,4.84264,3.27001,4.41823,2.35502,4.9612,-2.77198,-0.00203435,8.20549,-4.81868,-3.33339,-3.79901,-3.40599,-3.33552,-3.37563,-4.84189,-3.83153,25.7249,13.0364,3.67361,-5.84057,11.3175,1.864,2.24356,-23.3931 --3.50154,0.59194,0.857899,3,7,0,10.7468,4.47699,2.66698,0.771384,0.507567,-0.553309,-1.07817,-0.303031,-0.0812724,0.021139,-0.224081,6.53426,3.00132,3.66881,4.53337,5.83066,1.60153,4.26024,3.87937,-4.65094,-3.34646,-3.77839,-3.34198,-3.40418,-3.31833,-4.16543,-3.91108,15.684,0.238942,-8.92768,13.9319,3.52463,-9.48755,-12.2743,13.0103 --3.50154,0,5.87687,0,1,1,10.7747,4.47699,2.66698,0.771384,0.507567,-0.553309,-1.07817,-0.303031,-0.0812724,0.021139,-0.224081,6.53426,3.00132,3.66881,4.53337,5.83066,1.60153,4.26024,3.87937,-4.65094,-3.34646,-3.77839,-3.34198,-3.40418,-3.31833,-4.16543,-3.91108,0.0152079,4.59961,-24.8161,-8.23423,24.8705,4.75098,-8.68886,-7.18692 --4.05581,0.624171,0.797156,3,7,0,6.73549,5.9542,14.0724,-0.12468,-0.916077,0.397691,0.360797,0.467492,0.855837,-0.411275,0.306016,4.19965,11.5506,12.5329,0.166594,-6.93716,11.0315,17.9978,10.2606,-4.88578,-3.28456,-4.16276,-3.50979,-3.33376,-3.73266,-3.22152,-3.81398,-6.94874,17.9143,8.46641,1.14872,-9.23505,2.72441,22.4484,16.8196 --4.92908,0.840527,0.365903,3,15,0,12.5672,4.53347,3.58054,0.380476,1.24252,0.393907,0.53854,0.607183,0.0936006,-1.04772,1.00055,5.89578,5.94387,6.70751,0.78205,8.98236,6.46173,4.86861,8.11597,-4.71276,-3.24266,-3.87558,-3.4766,-3.73127,-3.4401,-4.08369,-3.83259,2.12764,2.4968,29.2664,8.65823,22.7329,12.4521,-4.12086,17.6549 --6.91045,0.975509,0.327118,4,15,0,9.23736,4.79664,1.99946,1.3027,-0.0218162,0.951673,0.250196,-1.06074,-1.16264,-0.491356,-1.7786,7.40135,6.69947,2.67573,3.81419,4.75302,5.2969,2.47198,1.24041,-4.56989,-3.22998,-3.75445,-3.35877,-3.32047,-3.39313,-4.42712,-3.98797,15.8863,14.6958,-2.20156,5.60467,-3.21733,-8.4938,14.8136,-9.02925 --6.28581,0.988612,0.478899,3,7,0,10.2285,2.82832,6.1696,-0.34316,1.09117,-0.834102,-0.774305,0.93644,0.796664,1.28546,0.840072,0.711159,-2.31776,8.60578,10.7591,9.56039,-1.94883,7.74342,8.01123,-5.28184,-3.7538,-3.9546,-3.37523,-3.80457,-3.35277,-3.74751,-3.83386,42.8805,-1.47662,8.79707,0.146629,8.29287,-23.7937,5.73791,5.46913 --4.02871,0.219403,0.789295,4,15,0,7.94873,2.13232,2.88063,-0.17044,-0.465392,1.23832,0.427655,0.938366,0.912466,0.128576,-0.129168,1.64135,5.69947,4.8354,2.5027,0.791699,3.36424,4.7608,1.76024,-5.17094,-3.24799,-3.81144,-3.40041,-3.13598,-3.33993,-4.09791,-3.97112,1.03767,-4.68587,11.6078,13.1983,1.43239,8.19158,27.9755,7.82402 --3.63692,0.990593,0.124508,5,31,0,8.79075,4.01693,2.60367,1.55126,0.0361367,-0.48916,-0.715843,-0.421904,0.0998396,0.159005,0.272237,8.0559,2.74332,2.91843,4.43092,4.11102,2.15311,4.27688,4.72574,-4.51092,-3.35969,-3.75994,-3.34411,-3.27741,-3.32233,-4.16314,-3.89097,22.2272,1.38941,23.9761,14.0399,10.0495,4.16412,-2.11967,23.827 --3.91335,0.984921,0.217563,4,15,0,6.31843,3.4002,1.68777,1.01271,-0.82679,-0.459205,0.141955,-0.0826972,-0.612322,0.0468896,-0.35202,5.10942,2.62517,3.26063,3.47934,2.00477,3.63979,2.36674,2.80607,-4.79139,-3.36597,-3.76808,-3.36805,-3.1719,-3.34563,-4.44352,-3.93976,-10.1004,-12.5261,-17.115,15.2875,22.2448,-0.426052,-2.67918,-10.099 --4.01115,0.992772,0.383247,3,15,0,5.65461,3.59036,9.55362,0.887613,-0.16708,-1.04001,0.394613,-0.902893,0.249771,-0.251956,-0.371924,12.0703,-6.34553,-5.03554,1.18327,1.99414,7.36034,5.97658,0.0371437,-4.19089,-4.25049,-3.69962,-3.45665,-3.1715,-3.484,-3.94434,-4.03016,-15.302,-15.1212,-30.1952,-5.89501,-0.540066,14.4321,1.5001,-37.0588 --3.98209,0.919473,0.70202,3,7,0,5.90718,5.79028,9.20057,-0.483999,-0.0945947,1.15417,-0.411214,-0.0572454,0.33941,0.660289,0.442648,1.33721,16.4093,5.26359,11.8653,4.91995,2.00688,8.91305,9.86289,-5.20678,-3.5751,-3.8249,-3.41465,-3.3325,-3.32102,-3.63439,-3.81636,-35.1002,26.9373,-6.20949,3.08713,20.863,8.7236,-1.1394,20.7242 --8.87009,0.575485,1.02678,2,3,0,10.8349,5.34935,1.77589,-2.4747,-0.776474,-0.400679,-1.27963,-0.0624712,1.11409,-1.05095,-1.09234,0.954561,4.63779,5.23841,3.48299,3.97042,3.07687,7.32785,3.40947,-5.25245,-3.27805,-3.82409,-3.36795,-3.26866,-3.33466,-3.791,-3.92319,31.4734,1.83762,35.832,21.2177,-9.84548,-28.7929,13.0407,-9.21329 --7.5669,1,0.509551,3,7,0,13.5762,4.8208,3.83977,-0.248337,1.03399,1.16427,-1.51351,-0.0894316,0.706639,1.77011,-1.33138,3.86724,9.29134,4.4774,11.6176,8.79109,-0.990743,7.53413,-0.291387,-4.92119,-3.22986,-3.80073,-3.40494,-3.70793,-3.33321,-3.7692,-4.04246,28.6893,18.4721,6.56387,12.6418,3.63389,-0.938342,3.20712,-24.6346 --7.5669,0,0.965904,0,1,1,13.4502,4.8208,3.83977,-0.248337,1.03399,1.16427,-1.51351,-0.0894316,0.706639,1.77011,-1.33138,3.86724,9.29134,4.4774,11.6176,8.79109,-0.990743,7.53413,-0.291387,-4.92119,-3.22986,-3.80073,-3.40494,-3.70793,-3.33321,-3.7692,-4.04246,-31.0536,2.00574,19.0101,23.0116,2.09069,3.00579,9.67009,-31.5402 --7.02601,0.996465,0.0806902,5,31,0,13.5559,3.22777,1.88034,0.914007,-0.535544,0.127267,-1.28186,1.57995,-1.11737,-0.96523,-0.844325,4.94641,3.46707,6.19862,1.4128,2.22076,0.817433,1.12674,1.64015,-4.80803,-3.32426,-3.85679,-3.44583,-3.1802,-3.31697,-4.64506,-3.97494,-2.16256,7.05841,9.65368,-2.25848,7.30704,-1.24772,17.2349,-10.4089 --4.28189,0.999999,0.152745,4,15,0,8.75401,5.9196,7.5717,0.338033,0.284105,0.967821,-1.23131,-0.750262,1.24817,-0.106475,-0.631357,8.47909,13.2477,0.238845,5.1134,8.07076,-3.40353,15.3703,1.13915,-4.4738,-3.35921,-3.71202,-3.33154,-3.62406,-3.39696,-3.2561,-3.99134,-25.0935,23.9834,31.7686,5.00945,1.11783,2.50762,10.3672,2.54996 --6.32289,0.969447,0.290631,4,15,0,9.94318,4.18354,3.94529,0.450637,-0.414569,-0.640989,1.30117,2.18137,0.0377788,-0.103265,0.362333,5.96143,1.65465,12.7897,3.77613,2.54794,9.31702,4.33258,5.61305,-4.70632,-3.42284,-4.17847,-3.35978,-3.19387,-3.60267,-4.15551,-3.87226,16.3402,4.31426,37.6722,2.41604,-0.200532,11.2861,13.565,-1.08856 --5.75089,0.997614,0.500008,3,7,0,8.42143,7.91755,12.7259,0.098858,-0.84799,0.271381,-0.383649,-2.2387,0.689703,-0.309537,-0.425761,9.17562,11.3711,-20.572,3.9784,-2.87392,3.03525,16.6947,2.49934,-4.41445,-3.27835,-4.2946,-3.35456,-3.13784,-3.33395,-3.23004,-3.9486,-0.0743573,11.0326,-55.0788,-1.70939,-7.30253,16.61,10.5543,-32.4285 --5.75089,0.000529553,0.930326,2,6,1,9.0645,7.91755,12.7259,0.098858,-0.84799,0.271381,-0.383649,-2.2387,0.689703,-0.309537,-0.425761,9.17562,11.3711,-20.572,3.9784,-2.87392,3.03525,16.6947,2.49934,-4.41445,-3.27835,-4.2946,-3.35456,-3.13784,-3.33395,-3.23004,-3.9486,8.33383,14.4308,-7.50244,9.50202,-0.775363,4.93995,8.42553,-10.8322 --5.72414,0.997929,0.0856309,5,31,0,8.60565,5.98069,2.44673,1.68946,0.551414,1.09973,-0.743647,1.20269,-0.145612,0.492082,-0.381239,10.1143,8.67143,8.92334,7.18469,7.32986,4.16119,5.62442,5.0479,-4.33787,-3.22378,-3.9692,-3.31697,-3.54447,-3.35813,-3.9873,-3.8839,17.5769,12.6322,21.6248,-9.98519,-0.573203,5.57545,13.6883,44.3538 --6.74067,0.983873,0.160458,5,31,0,10.9136,3.93093,11.3658,-0.242572,-1.6563,0.514109,-0.584673,-1.63797,0.454084,-0.0724764,0.775924,1.17391,9.7742,-14.6859,3.10718,-14.8943,-2.71435,9.09196,12.7499,-5.22619,-3.23726,-3.95825,-3.37945,-4.30783,-3.37384,-3.61829,-3.81018,17.6145,11.4851,-46.9699,-3.82727,1.92449,-9.53241,0.0192146,20.2372 --7.37843,0.681104,0.285692,4,15,0,16.2791,6.31303,3.15127,-0.237064,2.02355,-0.886653,-0.0236471,1.42472,0.407385,-0.612518,-0.505855,5.56597,3.51894,10.8027,4.38281,12.6898,6.23851,7.59681,4.71894,-4.7454,-3.32192,-4.06363,-3.34514,-4.27301,-3.43023,-3.76266,-3.89112,-7.34348,13.7753,-22.1504,10.7637,17.668,-0.576685,7.35053,28.4609 --4.20234,0.992259,0.207499,4,15,0,9.12905,4.42672,0.862777,-0.0266953,0.705578,-0.254696,-0.74153,-0.604511,0.268009,-0.585823,-0.119511,4.40368,4.20697,3.90516,3.92128,5.03547,3.78694,4.65795,4.32361,-4.86429,-3.29346,-3.78465,-3.356,-3.34102,-3.34893,-4.11158,-3.90025,0.947567,11.039,19.3207,-2.22503,5.45957,-4.44854,4.03909,-24.106 --5.32536,0.963331,0.374507,3,7,0,6.64165,5.68816,10.502,-0.779773,-0.014187,0.611183,-0.976804,-0.359846,1.2342,-0.380101,-0.883532,-2.501,12.1068,1.90907,1.69635,5.53917,-4.57022,18.6497,-3.59068,-5.69435,-3.30585,-3.7386,-3.43307,-3.38012,-3.44505,-3.22363,-4.18442,-16.5057,1.53619,-0.457824,1.75325,6.67272,-6.65048,27.5008,-0.002027 --4.61124,0.349527,0.61586,2,7,0,9.78829,1.76905,3.03357,-0.693812,-0.461751,1.18578,-1.10733,0.520299,0.734497,0.152228,-0.340097,-0.335673,5.36619,3.34742,2.23085,0.368299,-1.5901,3.9972,0.737347,-5.41123,-3.25621,-3.77022,-3.41082,-3.12772,-3.34456,-4.20192,-4.00506,3.38965,14.2301,15.6609,1.67618,-1.611,7.31754,7.19065,5.62562 --4.99618,0.988011,0.173895,4,15,0,9.276,-1.35709,3.17773,0.39648,0.306641,0.397966,-0.40155,-0.704701,1.27885,-0.19256,1.1099,-0.0971812,-0.0924587,-3.59644,-1.96899,-0.382667,-2.6331,2.70677,2.16987,-5.38133,-3.54896,-3.69222,-3.64924,-3.11852,-3.37138,-4.39094,-3.95843,-11.1564,-6.41232,0.746663,-14.3132,4.87993,-10.0843,-1.48037,2.73923 --5.77025,0.420024,0.306212,4,15,0,8.87345,-1.94566,3.3236,0.544913,-0.507962,1.00909,-0.199274,0.85094,-0.183059,1.21193,0.238143,-0.134588,1.40815,0.882524,2.08232,-3.63392,-2.60797,-2.55408,-1.15417,-5.386,-3.43879,-3.72097,-3.41677,-3.15899,-3.37062,-5.33387,-4.07634,15.1037,5.5721,-12.0212,-7.65098,9.76259,-2.74695,-7.55164,-3.00529 --6.31572,0.99401,0.108346,5,31,0,11.675,7.17878,1.19284,0.142508,-0.921894,1.33805,-0.363971,0.282424,1.11196,1.05251,1.18992,7.34877,8.77486,7.51567,8.43426,6.07911,6.74462,8.50517,8.59816,-4.57471,-3.22453,-3.9075,-3.32533,-3.42551,-3.4532,-3.67228,-3.82717,-18.4804,13.0181,15.6806,6.44992,-6.97338,2.85276,0.606687,49.7633 --7.23322,0.994528,0.19298,4,15,0,10.7927,5.21776,5.55436,1.45095,0.704431,1.15312,-0.42671,0.190766,-0.201382,-1.93126,-0.939624,13.2769,11.6226,6.27735,-5.50915,9.13043,2.84766,4.09921,-0.00124868,-4.1087,-3.28714,-3.85963,-3.96344,-3.74965,-3.33094,-4.18768,-4.03158,1.44648,29.8586,-4.96452,-13.1114,23.0037,-4.79064,-4.30879,-6.57108 --8.9557,0.972119,0.340921,4,15,0,15.3187,2.37958,0.967153,-0.687118,-0.525228,0.631918,1.93329,-1.8481,-1.25755,-0.0983288,0.915488,1.71503,2.99074,0.592183,2.28448,1.8716,4.24936,1.16334,3.265,-5.16232,-3.34699,-3.71673,-3.40872,-3.16706,-3.36046,-4.63889,-3.92706,12.5092,-4.37254,23.865,14.6293,-12.7189,4.51646,-10.3483,22.985 --7.83942,0.996707,0.561098,3,7,0,10.6605,5.33621,6.86599,1.27092,-0.0509855,-0.153209,-2.30874,-1.12676,1.9016,-1.02483,-0.137655,14.0624,4.28428,-2.40008,-1.70024,4.98615,-10.5156,18.3926,4.39107,-4.05867,-3.29056,-3.69223,-3.62962,-3.33736,-3.8648,-3.22229,-3.89866,20.9281,10.343,29.4251,-6.38683,4.42563,-5.60655,9.96443,1.0545 --7.83942,0.0742317,0.979149,3,11,0,13.4294,5.33621,6.86599,1.27092,-0.0509855,-0.153209,-2.30874,-1.12676,1.9016,-1.02483,-0.137655,14.0624,4.28428,-2.40008,-1.70024,4.98615,-10.5156,18.3926,4.39107,-4.05867,-3.29056,-3.69223,-3.62962,-3.33736,-3.8648,-3.22229,-3.89866,28.4247,9.31179,-11.1229,-20.5971,-5.75443,-16.1756,17.1767,-5.60679 --8.40614,0.999914,0.141094,5,31,0,12.407,7.62386,1.83717,-0.430407,-0.23451,-0.975176,-1.81304,0.107931,2.4249,-1.05808,-0.324743,6.83312,5.83229,7.82215,5.67997,7.19302,4.29298,12.0788,7.02725,-4.62263,-3.24502,-3.92027,-3.32403,-3.53052,-3.36164,-3.39683,-3.84747,-16.1276,0.613009,19.6973,0.464397,20.7456,2.37262,13.4388,-4.61134 --7.75109,0.988561,0.248861,4,15,0,16.0025,12.661,5.799,1.54774,-0.0564798,-0.892428,0.0779502,-1.30166,0.435422,-1.01189,0.873991,21.6363,7.48577,5.11265,6.79301,12.3334,13.113,15.186,17.7292,-3.71698,-3.22285,-3.82007,-3.31701,-4.21357,-3.92313,-3.26112,-3.85996,34.4183,14.9488,19.7484,20.9978,1.20208,24.56,15.5014,26.369 --7.31852,0.565502,0.422037,4,31,0,12.4872,2.63919,0.809325,-1.61308,-1.14902,0.499651,0.778204,1.428,0.284769,0.745386,0.209454,1.33368,3.04357,3.7949,3.24245,1.70926,3.26901,2.86966,2.80871,-5.20719,-3.34435,-3.7817,-3.37518,-3.16147,-3.33811,-4.36616,-3.93968,-4.71422,10.1968,25.0564,20.9259,6.367,11.9932,4.7631,13.055 --8.1738,0.997405,0.233329,4,15,0,11.4547,0.538948,3.28632,-0.862272,-2.16819,-0.312861,1.3257,-0.702692,-0.526004,0.0464514,0.557804,-2.29475,-0.489215,-1.77032,0.691602,-6.58641,4.89564,-1.18967,2.37207,-5.66648,-3.58186,-3.69448,-3.48128,-3.30881,-3.37954,-5.06274,-3.95236,20.7117,9.85239,2.33017,-2.56336,-7.46937,-13.8013,-8.74076,3.1162 --8.79646,0.495421,0.401722,4,23,0,12.5387,7.6545,3.22952,0.530728,2.25314,0.3317,0.828298,0.589926,1.4771,0.178674,-1.27257,9.3685,8.72574,9.55968,8.23154,14.9311,10.3295,12.4248,3.5447,-4.39839,-3.22416,-3.99962,-3.3231,-4.68282,-3.6765,-3.37694,-3.91964,-3.93432,0.174611,23.2225,21.9378,18.3698,11.3825,23.3124,-19.1771 --8.44517,0.991305,0.187015,4,31,0,13.0526,6.30216,2.67002,0.581745,2.22464,0.330626,0.956007,0.713843,1.55411,0.226637,-1.29352,7.85543,7.18494,8.20813,6.90729,12.242,8.85471,10.4516,2.84843,-4.52877,-3.22485,-3.93688,-3.31687,-4.19857,-3.57178,-3.50641,-3.93856,-3.85902,5.37676,-9.08313,-1.66603,6.72255,23.6533,10.4231,-6.85814 --8.42809,0.954357,0.314813,4,15,0,13.2461,4.9705,1.48383,0.632619,-2.34139,-0.250375,-1.54468,-1.30395,-0.571395,-0.128781,1.23984,5.9092,4.59898,3.03566,4.77941,1.49627,2.67845,4.12264,6.81022,-4.71144,-3.27936,-3.76268,-3.33721,-3.15463,-3.32848,-4.18443,-3.85087,-5.42022,-5.02027,4.43711,5.31627,6.09114,-9.15214,-13.1985,26.0795 --4.48189,0.651596,0.478452,3,7,0,10.9683,1.63882,4.97172,1.18278,0.371726,0.471258,-0.96079,0.586793,-0.364804,0.737622,-0.66529,7.51924,3.98178,4.55619,5.30607,3.48693,-3.13796,-0.174886,-1.66882,-4.55913,-3.30225,-3.80304,-3.32869,-3.24044,-3.38759,-4.87316,-4.09764,10.1211,9.30625,12.9592,-0.646228,-7.25656,-0.715997,-0.732925,-6.60313 --5.56635,0.96775,0.335901,4,15,0,7.99533,4.68695,2.3174,-1.49371,-0.0832209,0.398432,0.117334,0.108931,1.88383,-0.398124,0.658658,1.22542,5.61028,4.93939,3.76434,4.4941,4.95886,9.05253,6.21333,-5.22005,-3.25008,-3.81464,-3.3601,-3.30249,-3.3816,-3.62181,-3.86099,-1.95716,-2.7577,2.51958,26.9558,1.85843,24.1393,11.3817,31.9583 --7.176,0.937278,0.524325,2,3,0,8.72757,5.41804,2.70867,-1.24793,-0.335445,0.0032634,0.249614,-0.152712,2.44569,-0.34757,1.57251,2.03782,5.42688,5.00439,4.47658,4.50943,6.09416,12.0426,9.67744,-5.12484,-3.25463,-3.81666,-3.34315,-3.30353,-3.42407,-3.39898,-3.81763,13.7428,-0.78994,23.3219,-5.74535,15.0581,12.9017,25.2866,1.81453 --7.176,0,0.753561,1,1,0,14.8797,5.41804,2.70867,-1.24793,-0.335445,0.0032634,0.249614,-0.152712,2.44569,-0.34757,1.57251,2.03782,5.42688,5.00439,4.47658,4.50943,6.09416,12.0426,9.67744,-5.12484,-3.25463,-3.81666,-3.34315,-3.30353,-3.42407,-3.39898,-3.81763,-4.11934,19.9084,23.0117,25.0551,-7.04496,8.26982,10.1581,-0.000133687 --6.15975,0.998898,0.105938,5,31,0,11.8142,5.20246,4.82498,1.0674,1.13783,0.520506,1.41108,-0.254282,0.227889,-1.31448,0.541005,10.3526,7.71389,3.97555,-1.13989,10.6925,12.0109,6.30201,7.8128,-4.31905,-3.22193,-3.78656,-3.59063,-3.96008,-3.81783,-3.90574,-3.83637,2.71343,29.42,-2.64417,-1.54063,9.52449,29.0609,-0.353167,39.6232 --5.90877,0.970965,0.178219,4,15,0,9.02731,4.59941,0.908288,2.19278,0.297496,-0.135005,0.725904,0.351871,0.112001,0.327948,-0.249189,6.59109,4.47679,4.91901,4.89728,4.86963,5.25874,4.70114,4.37308,-4.64553,-3.28359,-3.81401,-3.3351,-3.32883,-3.39178,-4.10582,-3.89908,1.98181,2.75077,8.0022,9.03834,2.10879,22.6555,-6.85669,-15.5124 --6.88023,0.964198,0.27797,4,15,0,12.9018,6.40957,2.61924,2.08563,-0.193093,-0.319241,1.31987,-0.879492,0.503239,0.620128,-1.39208,11.8723,5.5734,4.10597,8.03384,5.90381,9.86663,7.72767,2.76339,-4.20499,-3.25097,-3.79015,-3.32125,-3.41038,-3.6417,-3.74913,-3.94097,20.1051,10.6191,-8.30624,23.5082,-1.09655,22.6784,16.5413,23.0608 --7.71901,0.253407,0.423803,3,15,0,15.9104,6.076,1.7261,2.57082,-0.249757,0.300946,1.43833,-0.783874,1.20391,-0.259133,-0.34739,10.5135,6.59547,4.72296,5.62871,5.6449,8.55871,8.15408,5.47637,-4.30649,-3.23139,-3.80802,-3.3246,-3.38872,-3.55292,-3.70623,-3.87499,22.1817,11.0678,6.2902,0.383732,20.0112,9.28122,13.1039,9.87968 --6.36534,0.997525,0.116194,5,31,0,12.3162,1.01199,2.48154,-1.28904,-0.26459,-0.150843,-1.73494,0.376367,-0.159179,-0.477522,-0.395044,-2.1868,0.637666,1.94596,-0.172999,0.355398,-3.29333,0.616979,0.0316718,-5.65197,-3.49254,-3.73931,-3.52945,-3.1275,-3.393,-4.73237,-4.03036,17.5921,14.4215,31.7872,11.7109,4.07352,5.4519,-1.19242,-2.58264 --2.8229,0.996697,0.191826,4,15,0,8.16763,8.51512,12.8756,0.854211,-0.224071,0.526313,-0.00320603,-0.394331,0.663539,-0.248537,0.128927,19.5136,15.2917,3.43789,5.31507,5.63008,8.47384,17.0586,10.1751,-3.78703,-3.48737,-3.77248,-3.32857,-3.38751,-3.54765,-3.22596,-3.81445,3.54671,16.9394,-0.837645,6.67863,-16.8515,6.45369,18.2184,-20.0427 --2.8229,1.02372e-10,0.313884,2,3,0,16.2657,8.51512,12.8756,0.854211,-0.224071,0.526313,-0.00320603,-0.394331,0.663539,-0.248537,0.128927,19.5136,15.2917,3.43789,5.31507,5.63008,8.47384,17.0586,10.1751,-3.78703,-3.48737,-3.77248,-3.32857,-3.38751,-3.54765,-3.22596,-3.81445,10.4779,16.6619,-30.1782,2.14822,19.8653,-10.1216,7.68091,3.51117 --3.87418,0.998829,0.048692,6,63,0,5.39645,3.37665,3.67683,-0.349565,-0.790626,-0.874477,-0.762035,0.142426,-0.412516,0.130791,-0.0162617,2.09136,0.161345,3.90032,3.85754,0.46965,0.574775,1.8599,3.31686,-5.11867,-3.52875,-3.78452,-3.35764,-3.1295,-3.31758,-4.52404,-3.92566,13.3723,-6.80965,-1.47923,3.86051,4.75091,5.5755,0.480922,-9.12205 --6.27619,0.989816,0.0802565,5,31,0,7.65264,6.58931,0.222618,-0.390369,-0.218568,-0.137658,0.116426,-1.39429,-0.277491,-0.319362,-0.814306,6.5024,6.55866,6.27891,6.51821,6.54065,6.61522,6.52753,6.40803,-4.65398,-3.23191,-3.85969,-3.31779,-3.46716,-3.44713,-3.87961,-3.85757,5.37074,-2.48966,9.74446,4.12308,14.7624,4.21831,10.4559,14.1911 --4.4564,0.995722,0.128673,5,31,0,9.66883,6.48258,4.05112,-0.740382,-0.949721,0.457168,-0.260754,-1.42444,0.239313,-0.302999,-0.826678,3.4832,8.33462,0.711995,5.25509,2.63515,5.42623,7.45206,3.13361,-4.96271,-3.22208,-3.71844,-3.32942,-3.19773,-3.39779,-3.77782,-3.93063,0.634349,17.7788,7.45699,2.56381,-2.91648,10.7137,13.4901,-8.78672 --7.779,0.959958,0.207832,4,15,0,13.3477,5.63652,1.96677,0.735875,0.726207,-0.118568,-0.0169254,-1.32022,0.928809,2.67085,0.233826,7.08381,5.40333,3.03996,10.8895,7.0648,5.60323,7.46327,6.0964,-4.59918,-3.25524,-3.76278,-3.37935,-3.51765,-3.40439,-3.77664,-3.86309,25.661,7.68685,-4.47449,27.8543,4.79863,2.62758,17.6008,-12.8097 --7.66882,0.998564,0.307292,4,15,0,12.8823,-1.14683,1.94798,0.68528,-0.144703,-0.0131551,0.302148,1.30085,-0.133006,-2.03098,-0.117465,0.188077,-1.17246,1.3872,-5.10314,-1.42871,-0.558256,-1.40593,-1.37565,-5.34588,-3.64219,-3.72912,-3.92215,-3.1173,-3.32687,-5.10447,-4.0854,-3.62225,-7.25646,1.22252,-3.45138,-17.3307,15.3126,-19.1875,10.3876 --9.62553,0.835827,0.493692,3,7,0,16.3754,8.17231,5.87784,-0.604906,1.46592,1.50115,-0.921398,-0.956859,1.62313,1.12424,0.393508,4.61677,16.9959,2.54805,14.7804,16.7887,2.75648,17.7128,10.4853,-4.84204,-3.62615,-3.75165,-3.56698,-5.06949,-3.32958,-3.22194,-3.81285,1.69754,8.11586,1.79126,15.9751,20.0348,-14.3124,20.9985,28.8425 --9.19524,0.419756,0.545098,3,7,0,11.2217,8.649,2.83201,-0.79405,1.70894,1.65243,-1.10773,-0.553564,1.179,1.24235,-0.180754,6.40025,13.3287,7.08131,12.1674,13.4887,5.5119,11.9879,8.13711,-4.66377,-3.3635,-3.89003,-3.42717,-4.41199,-3.40095,-3.40225,-3.83234,-10.1481,8.6706,27.5067,11.3984,2.885,1.14252,-0.125993,-18.747 --7.54693,0.916705,0.235337,4,15,0,15.4469,4.16244,1.07892,-0.0912828,-2.09412,0.541506,-0.397632,-0.255334,0.638965,0.698449,1.94573,4.06395,4.74668,3.88695,4.91601,1.90305,3.73342,4.85183,6.26172,-4.90018,-3.27444,-3.78416,-3.33478,-3.16819,-3.34771,-4.0859,-3.86012,-3.83915,18.3408,-6.33725,7.12164,2.0473,21.0893,2.7683,6.14435 --4.09715,0.972119,0.312426,4,15,0,9.79812,9.00473,7.71515,0.754187,0.443606,-0.211702,0.315523,-0.421517,0.417393,-0.248313,-0.719219,14.8234,7.37142,5.75266,7.08896,12.4272,11.439,12.225,3.45584,-4.01282,-3.2235,-3.84115,-3.31687,-4.22907,-3.76714,-3.38828,-3.92197,16.4386,-1.93235,6.24295,-4.91949,24.1742,8.30837,-5.5136,15.1193 --4.5078,0.822874,0.467576,3,7,0,9.40365,-0.215066,4.51575,-0.555894,-0.545917,-0.0602664,-0.640012,0.0621533,0.0208604,0.322832,0.904806,-2.72535,-0.487214,0.0656026,1.24276,-2.68029,-3.1052,-0.120866,3.87081,-5.72487,-3.58169,-3.70988,-3.4538,-3.13359,-3.38647,-4.86335,-3.91129,22.6437,16.5744,12.6158,-13.7305,5.30595,-6.64627,4.69386,-28.6321 --4.5152,0.917287,0.50047,3,7,0,7.80398,7.77577,2.39631,0.399201,0.171449,-0.851695,0.513843,0.00673777,0.982762,-0.317089,-1.09963,8.73238,5.73484,7.79192,7.01593,8.18662,9.0071,10.1308,5.14071,-4.45197,-3.24718,-3.919,-3.31683,-3.63711,-3.58177,-3.53115,-3.88192,8.02159,-1.60948,13.82,20.4632,6.83847,2.55339,14.6291,15.5368 --4.66959,0.886165,0.65876,3,7,0,6.81656,6.11026,5.2642,-0.542455,0.0424604,-1.29654,0.0109675,-0.372962,0.782561,0.968275,0.828838,3.25467,-0.714962,4.14691,11.2074,6.33378,6.16799,10.2298,10.4734,-4.98773,-3.60128,-3.79129,-3.38999,-3.44816,-3.4272,-3.5234,-3.81291,27.0144,-2.01009,12.8984,-2.31238,1.96683,18.112,23.7255,-3.60366 --4.83349,0.361099,0.807392,4,23,0,9.69616,1.97525,6.50068,0.886592,-0.0665657,1.0077,0.410413,1.08161,-0.0740068,-0.819827,-0.757336,7.7387,8.52596,9.00644,-3.35418,1.54253,4.64321,1.49416,-2.94794,-4.53926,-3.22291,-3.97308,-3.75985,-3.15607,-3.37168,-4.58374,-4.15413,23.7943,6.97572,-4.84126,18.4161,-8.195,-6.65127,-7.97663,-17.3335 --5.6059,0.961811,0.315144,4,15,0,9.14331,2.4336,4.85196,0.214988,-0.473503,-0.306725,-1.41056,-1.34831,1.09978,1.27257,1.1187,3.47671,0.945382,-4.10836,8.60803,0.13618,-4.41037,7.76967,7.8615,-4.96341,-3.47036,-3.69393,-3.32752,-3.12413,-3.43779,-3.74482,-3.83574,12.8461,-3.73803,-9.00552,19.9763,-1.02109,-13.8203,28.0739,20.9865 --10.0676,0.594535,0.455673,4,31,0,12.4176,4.50004,3.31427,0.344961,-1.25999,-1.48317,-2.49965,0.266974,2.27508,0.351473,1.28465,5.64333,-0.415602,5.38486,5.66491,0.324085,-3.78446,12.0403,8.75772,-4.7377,-3.57564,-3.82884,-3.3242,-3.12699,-3.41142,-3.39912,-3.82553,7.04427,2.56709,11.3869,6.10266,-1.48424,6.6787,9.66145,18.3145 --12.3161,0.979206,0.297864,4,15,0,16.6957,5.58876,0.818588,0.0860667,0.793418,1.64106,2.61837,-1.06592,-1.96967,0.446801,-1.37611,5.65921,6.93211,4.71621,5.9545,6.23824,7.73213,3.97641,4.46229,-4.73612,-3.22723,-3.80782,-3.32135,-3.43957,-3.50411,-4.20483,-3.89699,5.91792,11.9013,6.24266,17.3552,1.38172,12.6021,3.11168,17.7424 --14.2121,0.261712,0.445219,2,3,0,20.7034,5.48972,0.0624007,0.133855,0.650378,1.38732,2.92585,-0.630104,-1.9477,0.573797,-1.08712,5.49808,5.57629,5.4504,5.52553,5.53031,5.6723,5.36819,5.42189,-4.75218,-3.2509,-3.831,-3.32582,-3.3794,-3.40704,-4.01934,-3.87609,20.1269,-2.51831,-6.58702,9.30268,-0.629494,-7.10896,10.7449,-16.4801 --7.75705,0.99887,0.144101,5,31,0,17.3742,5.46096,0.708224,1.01883,1.32098,0.572033,0.84911,-1.40817,-1.51041,0.426432,0.241862,6.18251,5.86608,4.46366,5.76297,6.39651,6.06232,4.39125,5.63225,-4.68477,-3.24429,-3.80033,-3.32316,-3.45387,-3.42273,-4.14751,-3.87188,7.33397,9.254,1.75913,5.63943,-0.762871,15.7114,25.8225,-3.11318 --10.5233,0.991572,0.224395,4,15,0,17.3677,-0.648316,3.18454,-0.1986,0.272822,1.17391,2.30832,-1.14374,-1.81219,0.0546287,0.154741,-1.28076,3.09005,-4.29061,-0.474349,0.220497,6.70262,-6.41929,-0.155537,-5.53224,-3.34206,-3.69478,-3.54768,-3.12536,-3.45121,-6.20303,-4.03733,-1.37482,9.6057,-0.664879,19.2801,0.89919,17.2579,-4.27347,3.18834 --6.87225,0.865672,0.34242,4,15,0,14.9964,2.77323,0.679794,-1.10995,-0.40136,-1.44209,0.570812,1.23333,0.4752,-0.544757,0.636799,2.01869,1.79291,3.61164,2.40291,2.50039,3.16126,3.09627,3.20612,-5.12705,-3.41416,-3.77691,-3.40416,-3.1918,-3.33614,-4.33213,-3.92865,0.991289,-10.1249,-25.5693,15.0818,4.47017,6.61227,-4.06817,8.71036 --6.22245,0.969719,0.399693,4,15,0,9.73874,6.90939,5.67713,1.84031,0.352045,1.57411,-0.588607,-0.880809,1.05804,0.923324,-0.38507,17.3571,15.8458,1.90892,12.1512,8.90799,3.56779,12.916,4.72329,-3.8787,-3.52931,-3.73859,-3.42648,-3.72214,-3.34408,-3.35076,-3.89102,6.53927,14.3135,0.786207,20.8566,27.8473,8.83385,0.289468,8.05117 --6.38547,0.970414,0.578305,3,7,0,10.229,3.4676,1.60318,0.661036,-1.1588,-1.02106,-0.976844,0.546405,-0.640956,-1.48794,0.56329,4.52736,1.83065,4.34359,1.08216,1.60982,1.90154,2.44003,4.37066,-4.85135,-3.41183,-3.79686,-3.46155,-3.15821,-3.32019,-4.43209,-3.89914,-25.8576,2.95097,17.3934,17.1227,3.04513,5.1684,-3.42881,-6.96578 --10.6392,0.195991,0.834623,2,3,0,11.8473,2.8412,0.534023,1.00593,-1.5843,-0.646284,-0.813787,0.151694,-2.14554,-2.01102,-0.0171647,3.37839,2.49606,2.9222,1.76727,1.99514,2.40661,1.69543,2.83203,-4.97415,-3.37299,-3.76003,-3.42998,-3.17154,-3.32501,-4.55072,-3.93902,-4.99411,7.98335,-0.0787515,-2.58586,3.91565,-4.69049,21.5405,-5.89605 --11.8648,0.992975,0.243615,3,7,0,13.8443,2.82175,1.57425,1.05051,-1.00482,-0.734174,-0.470723,-0.328904,-2.56415,-2.64455,-0.0634216,4.47551,1.66597,2.30397,-1.34143,1.2399,2.08071,-1.21488,2.7219,-4.85677,-3.42212,-3.74647,-3.60435,-3.14713,-3.32166,-5.06758,-3.94215,13.1027,2.23563,9.01509,4.08531,-11.8182,-1.61092,-11.4816,10.3144 --13.4364,0.692808,0.368416,4,15,0,19.0112,1.67775,2.17725,1.46856,-1.05804,-1.51107,-0.206936,-0.00269479,-2.39214,-2.61632,-0.596131,4.87518,-1.61224,1.67189,-4.01863,-0.625873,1.2272,-3.53053,0.379826,-4.81534,-3.6835,-3.73416,-3.81853,-3.11703,-3.31705,-5.53934,-4.01769,16.7318,-15.9845,-35.0498,-4.7944,18.3927,10.2836,-8.64417,-29.8671 --4.00185,0.98887,0.300928,4,15,0,14.0115,5.74081,2.2738,0.59395,-0.351373,-0.126962,-0.264028,0.10086,0.944569,1.456,-0.492887,7.09134,5.45212,5.97015,9.05147,4.94186,5.14046,7.88858,4.62008,-4.59848,-3.25398,-3.84868,-3.33422,-3.3341,-3.38767,-3.73273,-3.89336,45.1965,6.51841,-2.76071,-7.24486,-1.1866,-0.170975,11.0126,-28.7014 --3.38689,0.611383,0.448873,3,15,0,10.6405,5.98409,2.46186,1.28183,-0.235424,-0.353185,-0.0140388,-0.180992,0.685579,0.495965,0.589677,9.13978,5.1146,5.53851,7.20508,5.40451,5.94953,7.67188,7.43579,-4.41745,-3.26315,-3.83392,-3.31701,-3.36936,-3.41806,-3.75487,-3.84146,7.94594,-10.8576,14.188,-6.08002,11.9355,8.2748,0.0492665,31.9132 --4.7893,0.926729,0.311389,4,15,0,8.90238,4.89935,1.61866,0.363413,-0.188611,-0.153585,-1.56528,-0.113222,0.41233,-0.155735,-1.29695,5.48759,4.65075,4.71608,4.64727,4.59405,2.3657,5.56677,2.80002,-4.75323,-3.27761,-3.80781,-3.33971,-3.30933,-3.32454,-3.99445,-3.93993,-0.767292,-9.75199,0.859355,16.7357,0.484569,3.86121,-0.609377,-29.1476 --12.0145,0.732623,0.408249,2,5,0,13.5764,3.66714,0.0964965,0.43057,1.02865,1.1408,-2.1701,0.546013,-1.16794,-1.49203,-1.3984,3.70869,3.77722,3.71983,3.52317,3.7664,3.45773,3.55444,3.5322,-4.93825,-3.31068,-3.77972,-3.36679,-3.2564,-3.34179,-4.26489,-3.91996,-13.9908,3.3464,0.704914,12.2567,-2.67152,18.564,1.24284,24.6055 --5.39374,0.532659,0.362229,3,15,0,14.3202,0.156878,3.13243,0.209288,0.984863,0.989908,-0.910225,1.24969,0.366318,0.0926246,-0.408693,0.812459,3.2577,4.07146,0.447018,3.24189,-2.69434,1.30435,-1.12333,-5.26957,-3.33397,-3.78919,-3.49428,-3.22724,-3.37323,-4.61525,-4.07508,-5.94601,0.242471,6.4954,-13.5895,11.5072,-8.44832,-20.9606,9.77541 --5.45542,0.985559,0.216226,4,15,0,10.3133,-0.0576587,1.90362,-0.255173,0.318058,0.438718,-1.22573,0.155616,-0.333897,1.21379,-0.0863113,-0.543411,0.777493,0.238575,2.25293,0.547802,-2.39099,-0.69327,-0.221962,-5.43749,-3.48235,-3.71201,-3.40995,-3.13095,-3.36435,-4.96872,-4.03983,-8.11146,6.93749,-17.7296,26.2479,-1.26422,4.15226,-0.30578,-17.2564 --6.12761,0.973382,0.317708,4,15,0,11.1533,3.24477,1.78197,-0.553217,0.417489,-0.431318,-1.62911,-0.0685064,-0.243038,-1.23179,1.18575,2.25895,2.47617,3.12269,1.04976,3.98872,0.341742,2.81168,5.35773,-5.09944,-3.37409,-3.76474,-3.46314,-3.26979,-3.31862,-4.37495,-3.8774,3.27861,-4.67855,-28.9479,6.89044,5.75953,-20.4863,5.40286,24.7972 --7.65222,0.727424,0.45405,3,7,0,13.1729,5.1044,1.8553,0.328685,-0.973673,1.42478,-0.948502,-1.26716,-0.483508,-1.27647,1.75541,5.71421,7.74779,2.75344,2.73616,3.29795,3.34465,4.20735,8.36121,-4.73067,-3.22184,-3.75618,-3.39196,-3.23019,-3.33955,-4.17271,-3.82974,-15.9031,-5.45014,-15.5802,-16.5209,7.35577,-1.76902,2.19582,-4.25489 --10.8106,0.926589,0.399391,3,7,0,12.5255,3.25059,2.40455,1.63007,0.58129,-1.53368,0.871447,1.12004,2.03624,1.81963,-1.65582,7.17017,-0.437232,5.94378,7.62598,4.64833,5.34603,8.14685,-0.730928,-4.59117,-3.57746,-3.84776,-3.31845,-3.3131,-3.39488,-3.70695,-4.05943,18.269,-19.076,6.63309,-2.01868,8.02096,3.47122,-1.78413,16.7978 --9.13794,0.382043,0.518633,3,7,0,15.262,5.1006,0.21096,1.05981,0.121447,-0.244903,0.460621,1.88418,0.939402,1.46016,-1.04437,5.32418,5.04893,5.49809,5.40863,5.12622,5.19777,5.29878,4.88028,-4.76964,-3.26507,-3.83258,-3.3273,-3.34783,-3.38965,-4.02813,-3.88754,-15.9967,-0.684713,-17.1691,15.4059,13.1335,-15.3158,0.951693,-4.21827 --12.8434,0.994136,0.233462,4,15,0,17.2914,2.17531,0.0160339,1.12219,0.0385881,-0.85428,-0.773418,-2.10861,1.03636,1.29087,0.964133,2.19331,2.16162,2.1415,2.19601,2.17593,2.16291,2.19193,2.19077,-5.10696,-3.39196,-3.74316,-3.4122,-3.17843,-3.32242,-4.471,-3.9578,21.4611,5.52782,-5.02902,3.47617,-5.69639,-2.98485,2.74784,-18.0684 --12.2816,0.792802,0.345404,3,15,0,20.9269,0.0774257,1.00964,-0.85079,0.0295516,0.590498,-1.57781,1.25643,-2.17166,-1.7064,1.54193,-0.78157,0.673618,1.34597,-1.64543,0.107262,-1.5156,-2.11517,1.63423,-5.46783,-3.4899,-3.72842,-3.62569,-3.12373,-3.34298,-5.24462,-3.97513,-0.107341,15.4929,6.72516,-6.56021,2.21338,-5.60513,-1.8366,-12.0429 --7.48664,0.691343,0.345695,4,15,0,13.7581,10.378,7.38198,1.22259,-0.409858,-0.421173,0.021475,-1.50794,1.54323,1.09892,-1.07839,19.4031,7.26891,-0.753564,18.4902,7.35244,10.5365,21.7701,2.41735,-3.79122,-3.2242,-3.70138,-3.86239,-3.5468,-3.69264,-3.29259,-3.95102,28.745,4.46289,-8.246,18.424,25.692,26.627,21.3376,21.8618 --5.42406,0.626054,0.284887,3,7,0,11.6375,5.09821,0.756904,0.266779,-0.656972,-0.238078,1.08025,-0.246585,0.0855613,0.5115,-1.43853,5.30014,4.91801,4.91157,5.48537,4.60094,5.91585,5.16297,4.00938,-4.77206,-3.26902,-3.81378,-3.32631,-3.30981,-3.41669,-4.04547,-3.90784,7.8845,18.0047,27.4212,3.80472,-15.3825,-8.49533,5.56988,-10.2472 --6.74603,0.99274,0.207654,4,15,0,9.21836,10.0717,2.21424,-0.137723,-0.968203,-0.88682,1.11043,0.516738,1.07078,0.0871413,-1.20703,9.76676,8.10808,11.2159,10.2647,7.92788,12.5305,12.4427,7.39907,-4.36577,-3.22158,-4.08624,-3.36088,-3.60818,-3.86622,-3.37594,-3.84198,7.57985,9.53275,10.9094,15.5622,24.8162,23.1721,21.2533,8.32287 --8.45118,0.980672,0.30434,4,15,0,13.3273,-0.502441,1.88807,-0.217466,1.56231,0.67277,-1.0826,-0.607009,1.7245,-0.883384,1.35665,-0.913032,0.767793,-1.64852,-2.17033,2.44731,-2.54646,2.75353,2.05901,-5.48469,-3.48305,-3.69509,-3.66433,-3.18952,-3.36881,-4.3838,-3.96182,3.86683,1.2523,19.4812,-3.40346,-13.1962,6.69219,4.99407,6.80506 --4.89736,0.979909,0.434491,3,7,0,11.8119,4.80628,9.37964,0.575452,-0.474405,1.88755,-0.484392,-0.780627,0.553688,0.748086,0.117961,10.2038,22.5108,-2.51572,11.8231,0.356531,0.262858,9.99967,5.91271,-4.33078,-4.27434,-3.69199,-3.41296,-3.12752,-3.31908,-3.54155,-3.86649,7.3191,20.8125,21.4825,4.53878,-4.05614,0.880619,-15.6002,14.8401 --4.89736,0.0445292,0.617447,3,7,0,10.7986,4.80628,9.37964,0.575452,-0.474405,1.88755,-0.484392,-0.780627,0.553688,0.748086,0.117961,10.2038,22.5108,-2.51572,11.8231,0.356531,0.262858,9.99967,5.91271,-4.33078,-4.27434,-3.69199,-3.41296,-3.12752,-3.31908,-3.54155,-3.86649,15.266,28.4902,-9.82928,21.6294,4.74825,13.5501,24.5262,19.43 --5.89074,0.97936,0.151769,4,31,0,14.0804,0.55235,2.6309,-0.153764,0.510736,-0.993198,1.04074,-0.805165,-0.581565,-0.499351,-0.61904,0.147813,-2.06066,-1.56596,-0.761393,1.89605,3.29043,-0.977692,-1.07628,-5.35086,-3.72761,-3.69554,-3.56576,-3.16794,-3.33851,-5.02229,-4.07318,-10.5507,11.2524,-5.18246,-19.0923,-5.93726,4.723,-0.63577,-0.293006 --5.6621,0.909591,0.215755,4,31,0,9.59684,10.7643,6.06612,-0.615944,-0.113742,0.613551,-0.432622,0.771834,0.848039,0.301241,0.419195,7.02796,14.4862,15.4464,12.5917,10.0744,8.14001,15.9087,13.3072,-4.60438,-3.43188,-4.35612,-3.44604,-3.87321,-3.52749,-3.24339,-3.81195,7.72156,-1.55458,26.8498,-2.98775,-1.64384,22.3251,27.9922,-14.0018 --6.35087,0.859814,0.268627,4,15,0,13.9542,-2.46634,3.86451,1.3479,-0.931191,0.316215,0.957851,-0.691919,-0.0110141,-0.247348,-0.311719,2.74261,-1.24433,-5.14027,-3.42222,-6.06494,1.23528,-2.50891,-3.67098,-5.04462,-3.64881,-3.70047,-3.76569,-3.27452,-3.31706,-5.3246,-4.18829,17.2338,-6.21286,-6.47392,5.25031,-3.33682,4.45678,1.56558,-5.36156 --5.81932,0.998957,0.304469,4,15,0,9.42061,-0.685457,7.06986,0.920997,1.00643,0.663826,-0.389437,0.457963,1.88924,0.996908,1.58266,5.82586,4.0077,2.55228,6.36254,6.42989,-3.43872,12.6712,10.5037,-4.71964,-3.30122,-3.75174,-3.31851,-3.45692,-3.39825,-3.3635,-3.81277,6.9372,10.7127,15.8538,2.60742,4.61694,-7.38236,20.883,-2.21907 --4.41738,0.778465,0.445346,3,15,0,8.89246,2.38399,5.90931,-1.32261,-0.0840644,0.114049,0.443473,0.303564,0.485299,0.511845,-0.365883,-5.4317,3.05794,4.17784,5.40864,1.88723,5.00461,5.25177,0.221875,-6.11072,-3.34364,-3.79216,-3.3273,-3.16762,-3.3831,-4.03411,-4.02339,-13.6639,8.1778,24.6641,4.12162,2.75324,11.4289,8.33067,23.915 --10.0831,0.623271,0.433414,3,7,0,11.5388,2.35256,0.129361,-2.72015,-0.232158,0.224688,-1.02292,0.331531,0.0694137,-0.649157,-0.512817,2.00068,2.38162,2.39545,2.26858,2.32253,2.22023,2.36154,2.28622,-5.12913,-3.37935,-3.74838,-3.40934,-3.18431,-3.32299,-4.44433,-3.95492,-24.1448,19.9371,6.73219,-9.57959,6.17456,-3.93335,-6.39938,-13.6672 --9.81364,0.726519,0.317787,3,15,0,15.8931,1.4869,0.0405124,-1.74783,0.292342,1.15438,-1.04903,-0.314245,-0.389037,0.362314,-0.362886,1.41609,1.53367,1.47417,1.50158,1.49874,1.4444,1.47114,1.4722,-5.19744,-3.43059,-3.73063,-3.44176,-3.1547,-3.31765,-4.58754,-3.98035,-15.4089,1.92058,-10.6657,5.62272,9.70832,-6.68652,9.60063,-20.5027 --9.81364,0.421506,1.1273,2,3,0,15.4891,1.4869,0.0405124,-1.74783,0.292342,1.15438,-1.04903,-0.314245,-0.389037,0.362314,-0.362886,1.41609,1.53367,1.47417,1.50158,1.49874,1.4444,1.47114,1.4722,-5.19744,-3.43059,-3.73063,-3.44176,-3.1547,-3.31765,-4.58754,-3.98035,-29.8718,-2.25233,32.9517,5.37652,-1.47981,16.1116,-9.0271,-10.7803 --9.81364,0,5.66463,0,1,1,14.4269,1.4869,0.0405124,-1.74783,0.292342,1.15438,-1.04903,-0.314245,-0.389037,0.362314,-0.362886,1.41609,1.53367,1.47417,1.50158,1.49874,1.4444,1.47114,1.4722,-5.19744,-3.43059,-3.73063,-3.44176,-3.1547,-3.31765,-4.58754,-3.98035,9.41813,-8.93961,3.40039,-4.2901,9.97099,-1.5411,-9.05733,4.45687 --9.60827,0.469341,0.700946,2,7,0,15.5733,-0.18213,0.0693001,-1.47184,0.0221106,0.866904,0.722373,-0.500381,-0.897694,-0.62481,0.714684,-0.284129,-0.122054,-0.216807,-0.225429,-0.180598,-0.13207,-0.24434,-0.132602,-5.40475,-3.55136,-3.70666,-3.53256,-3.12031,-3.32213,-4.8858,-4.03647,-11.505,-10.2368,17.2348,0.307237,-4.33007,18.1759,-26.2222,-10.8473 --9.99258,0.994306,0.202095,4,15,0,14.3329,11.8395,15.6653,1.06815,0.208656,0.332644,-1.06179,-0.29741,1.02036,-0.420658,-1.79547,28.5725,17.0505,7.18047,5.24974,15.1082,-4.79382,27.8238,-16.2872,-3.62772,-3.63108,-3.89395,-3.32949,-4.71785,-3.45555,-3.70406,-5.04413,38.9126,15.361,-27.2111,7.33744,15.528,-9.32962,36.4728,-16.7642 --7.30615,1,0.263344,4,15,0,14.9903,2.53854,0.583532,-0.15705,-1.04718,0.515566,1.4808,0.599312,-1.20745,0.4288,-1.06689,2.4469,2.83939,2.88826,2.78876,1.92748,3.40263,1.83396,1.91598,-5.07801,-3.35468,-3.75925,-3.39012,-3.16907,-3.34069,-4.52823,-3.96624,-4.4344,6.58755,-19.3422,-7.94788,-7.1888,11.4237,-13.7906,13.0767 --8.31987,0.911954,0.405993,3,7,0,15.57,6.66732,0.290577,0.103429,-0.0291759,-0.337093,-1.7207,0.837981,1.45533,-0.612192,1.21131,6.69737,6.56937,6.91082,6.48943,6.65884,6.16732,7.0902,7.0193,-4.63544,-3.23176,-3.88337,-3.31791,-3.47825,-3.42717,-3.81664,-3.84759,-2.69763,14.8889,-14.3535,7.44665,7.72759,-11.964,4.44278,29.9635 --6.35599,0.958841,0.52293,3,7,0,13.8809,3.55448,2.80418,0.154747,-0.332527,-0.407459,1.82009,-1.31856,-0.510553,0.607425,-1.10863,3.98842,2.41189,-0.143013,5.25781,2.62202,8.65835,2.1228,0.445674,-4.90822,-3.37766,-3.70747,-3.32938,-3.19714,-3.55919,-4.48195,-4.01533,-17.8569,3.91718,21.1261,13.6706,15.4121,-4.00213,2.57498,-27.3363 --6.24401,0.350824,0.814791,2,7,0,10.7541,-0.213498,3.13748,1.3099,0.885757,-0.615009,-0.637419,1.52051,0.769787,0.555926,0.692772,3.8963,-2.14307,4.55707,1.53071,2.56554,-2.21339,2.20169,1.96006,-4.91807,-3.73593,-3.80307,-3.44044,-3.19464,-3.3595,-4.46946,-3.96487,26.2681,-9.29773,-6.65899,-6.85908,9.33961,17.0354,8.76113,-30.779 --8.05268,0.984335,0.193629,5,31,0,14.3374,14.0545,1.86123,-0.278203,0.562119,-0.146703,-0.269994,0.222853,0.176574,-1.07197,-0.403906,13.5367,13.7815,14.4693,12.0594,15.1008,13.552,14.3832,13.3028,-4.09185,-3.38865,-4.28758,-3.42261,-4.71638,-3.96788,-3.28693,-3.81193,36.3599,19.9208,10.9204,24.7485,16.3242,3.91401,4.81293,45.3761 --6.39338,0.733914,0.339815,3,15,0,12.4516,7.25722,1.64194,1.82447,-0.29594,1.45353,-0.0844207,0.673509,1.20296,0.0862427,-0.418875,10.2529,9.64383,8.36309,7.39883,6.77131,7.11861,9.23241,6.56946,-4.3269,-3.23503,-3.94371,-3.31749,-3.48896,-3.47153,-3.60588,-3.85482,21.6347,-0.904003,3.30164,12.1264,20.5144,-1.09599,16.8718,30.7787 --8.08269,0.991223,0.274393,4,15,0,12.0873,-0.163861,0.731779,-0.784224,-0.507626,-0.793116,0.530764,0.384462,0.0818075,-1.86536,-1.09616,-0.737739,-0.744247,0.11748,-1.52889,-0.535331,0.224541,-0.103996,-0.96601,-5.46223,-3.60383,-3.71051,-3.61742,-3.1175,-3.31932,-4.8603,-4.06875,-7.71407,17.0842,1.4734,13.3206,4.90211,-8.22366,-3.5628,24.0632 --11.4545,0.956945,0.504107,3,7,0,15.0432,8.09986,4.83702,1.86807,0.296921,2.14516,-1.49668,-0.174274,-1.05014,1.62564,-1.15396,17.1358,18.476,7.2569,15.9631,9.53608,0.860394,3.02031,2.51813,-3.88928,-3.77026,-3.897,-3.64881,-3.8014,-3.31691,-4.34348,-3.94805,17.5438,22.0838,17.9908,38.892,-0.288576,16.9129,-7.90685,-11.2466 --7.04687,0.925028,0.83413,3,7,0,21.0944,4.62799,1.19839,-1.76238,-0.518714,-0.521544,0.341998,-1.14941,-0.0732816,-0.577623,1.56124,2.51596,4.00298,3.25054,3.93577,4.00637,5.03784,4.54017,6.49896,-5.07018,-3.3014,-3.76783,-3.35563,-3.27088,-3.38421,-4.12736,-3.85601,7.65757,14.2714,4.3776,14.0197,-3.67786,-4.86998,18.1834,9.6323 --6.21433,0.34602,1.24875,2,3,0,9.56201,6.52327,1.05712,-1.07573,0.538936,-0.143831,-0.161847,0.851638,1.73052,0.805901,0.322102,5.3861,6.37122,7.42355,7.3752,7.09299,6.35218,8.35264,6.86377,-4.76341,-3.23479,-3.90374,-3.31742,-3.52046,-3.4352,-3.68688,-3.85002,-3.38377,6.80631,6.74394,12.6867,11.6047,3.68016,39.2528,29.0123 --5.29551,0.972343,0.306876,4,15,0,12.8079,-0.0265191,1.94798,1.53817,-0.222774,0.328025,0.279791,-0.870013,-0.479707,-0.217949,-0.336672,2.9698,0.612467,-1.72129,-0.451079,-0.460478,0.518508,-0.96098,-0.68235,-5.01924,-3.4944,-3.69472,-3.54625,-3.11796,-3.31779,-5.01912,-4.05752,-3.98237,2.19853,-41.7882,2.77481,-4.30775,5.06981,-12.8955,-18.8857 --4.09476,0.661983,0.535474,3,7,0,7.32035,6.40287,6.95378,0.541563,-0.0142925,0.975444,-0.0710224,0.744751,1.15436,1.00629,0.526931,10.1688,13.1859,11.5817,13.4004,6.30348,5.909,14.4301,10.067,-4.33355,-3.35599,-4.10681,-3.48611,-3.44543,-3.41641,-3.28525,-3.81508,-5.89004,-1.30741,11.2406,-11.6823,17.9438,-14.7307,16.3717,-7.43349 --8.91406,0.794339,0.357664,3,7,0,13.3098,9.10539,0.988982,1.88837,-0.71757,1.08161,0.055155,-0.372847,1.08096,0.282074,-1.87853,10.973,10.1751,8.73665,9.38436,8.39573,9.15994,10.1744,7.24756,-4.27126,-3.24518,-3.96057,-3.34033,-3.6611,-3.59198,-3.52772,-3.84416,9.21046,25.0959,2.51157,3.54639,5.86956,-0.912492,16.2656,-28.7976 --7.02943,0.996006,0.360625,4,15,0,11.9255,8.69315,2.27708,1.2236,-0.930152,1.17026,1.14185,-1.0193,0.68388,0.712599,-1.09829,11.4794,11.3579,6.37212,10.3158,6.57512,11.2932,10.2504,6.19225,-4.2335,-3.2779,-3.86308,-3.36227,-3.47038,-3.75465,-3.52181,-3.86136,-3.94506,6.02387,5.70213,20.1979,20.1992,13.4017,35.1182,-1.01086 --5.75795,0.291778,0.670843,3,7,0,10.5581,6.64094,6.30784,1.23641,-1.23066,1.50999,-0.170049,-1.53733,0.357871,0.884188,-0.229016,14.44,16.1657,-3.05626,12.2183,-1.12184,5.5683,8.89833,5.19635,-4.03559,-3.55492,-3.69153,-3.42936,-3.11625,-3.40307,-3.63573,-3.88075,13.9883,29.9443,6.82474,8.73426,2.85411,12.3746,19.4067,9.81555 --5.07581,0.995208,0.148918,5,31,0,10.4223,5.27052,6.73662,1.70631,-0.635578,0.659214,-1.68683,-0.679846,0.937952,0.999714,0.121169,16.7652,9.7114,0.690656,12.0052,0.988874,-6.09297,11.5891,6.08679,-3.90748,-3.23617,-3.71813,-3.42036,-3.14058,-3.52473,-3.42702,-3.86327,-21.5441,9.07394,24.2567,7.33607,7.77101,-16.4015,22.855,-29.651 --7.30822,0.934865,0.276155,4,15,0,12.3893,1.48378,3.04069,-0.490565,-2.0125,-0.826178,0.804716,1.0047,-0.686042,0.495033,0.39843,-0.00787434,-1.02837,4.53878,2.98903,-4.63562,3.93068,-0.602258,2.69528,-5.37019,-3.62908,-3.80253,-3.38331,-3.19775,-3.35232,-4.95174,-3.94292,7.0168,-1.50411,14.307,-3.40272,-6.95567,11.7714,13.7566,-1.34488 --10.2147,0.931387,0.424409,3,7,0,13.929,5.6949,2.36998,0.892902,1.12102,2.94839,-1.92327,-0.451025,0.412169,0.887753,0.356186,7.81106,12.6825,4.62598,7.79886,8.35169,1.13678,6.67173,6.53905,-4.53275,-3.33115,-3.80511,-3.31947,-3.656,-3.31691,-3.86317,-3.85533,0.989537,9.66379,4.27078,3.74955,6.52946,10.9846,19.2441,0.184552 --5.03806,0.988044,0.641353,3,7,0,12.741,2.60205,2.45038,0.134526,-0.394785,0.0870341,0.436389,1.7934,-0.731307,0.347683,0.0758404,2.93169,2.81532,6.99655,3.45401,1.63468,3.67137,0.81007,2.78789,-5.02348,-3.35593,-3.88671,-3.36879,-3.15901,-3.34632,-4.69899,-3.94027,-18.4976,2.31547,-9.59977,2.06305,1.43085,8.95073,-20.5613,-14.5903 --5.0603,0.646425,1.13517,1,3,0,6.43914,1.85159,1.85174,-0.108233,-0.903515,0.162672,-1.01334,0.920673,-0.92536,-0.0252901,-0.094667,1.65117,2.15282,3.55644,1.80476,0.178518,-0.0248595,0.138066,1.6763,-5.16979,-3.39247,-3.77549,-3.42836,-3.12474,-3.32117,-4.81677,-3.97378,-0.0410103,4.24795,8.03375,-2.86034,13.811,-10.002,-1.90249,-3.80759 --5.0433,0.907342,0.743648,3,7,0,8.10169,0.742826,12.3577,2.27532,0.222509,0.319969,0.986112,-0.653707,1.1159,0.782362,-0.286005,28.8605,4.69691,-7.3355,10.411,3.49253,12.9289,14.5328,-2.79154,-3.62863,-3.27608,-3.72824,-3.36491,-3.24075,-3.90485,-3.28163,-4.14695,28.1849,-9.77053,-23.0346,0.0215862,11.7174,19.7756,9.04506,-32.571 --5.0433,0.12427,1.03429,2,3,0,7.71582,0.742826,12.3577,2.27532,0.222509,0.319969,0.986112,-0.653707,1.1159,0.782362,-0.286005,28.8605,4.69691,-7.3355,10.411,3.49253,12.9289,14.5328,-2.79154,-3.62863,-3.27608,-3.72824,-3.36491,-3.24075,-3.90485,-3.28163,-4.14695,-5.16419,19.9179,-28.9852,16.3566,-8.13314,16.7242,6.60045,-1.44755 --3.91251,0.999825,0.155654,5,31,0,7.40391,5.83784,3.37393,-1.01187,-0.240444,0.399956,-0.642262,0.562748,-0.279015,-0.0815125,0.659298,2.42386,7.18727,7.73652,5.56283,5.0266,3.67089,4.89647,8.06227,-5.08063,-3.22483,-3.91667,-3.32537,-3.34036,-3.34631,-4.08004,-3.83324,-3.79871,18.4359,-13.1183,21.5151,-11.9577,-1.729,3.5396,9.35098 --4.27896,0.979453,0.282947,4,15,0,7.44551,5.07618,2.97943,-0.855465,-0.0160848,0.344435,-1.05467,0.956363,-0.166184,-0.130267,0.645551,2.52738,6.1024,7.92559,4.68806,5.02825,1.93386,4.58105,6.99955,-5.06889,-3.23953,-3.92467,-3.33892,-3.34048,-3.32044,-4.12187,-3.8479,5.57486,-3.25075,19.1512,26.8051,16.7114,21.936,-4.4642,-9.69747 --4.88881,0.968565,0.481144,3,7,0,7.25365,5.12706,2.53796,-0.307724,0.316349,0.0264683,-0.0866443,0.700167,0.66229,0.873252,1.81629,4.34607,5.19423,6.90405,7.34334,5.92994,4.90716,6.80792,9.73674,-4.87034,-3.26089,-3.88311,-3.31732,-3.41261,-3.37992,-3.84784,-3.81722,17.8928,-8.21318,-0.0680765,1.70662,14.7125,-20.4813,23.4717,-20.3625 --4.88881,2.99261e-26,0.786942,1,1,0,11.9555,5.12706,2.53796,-0.307724,0.316349,0.0264683,-0.0866443,0.700167,0.66229,0.873252,1.81629,4.34607,5.19423,6.90405,7.34334,5.92994,4.90716,6.80792,9.73674,-4.87034,-3.26089,-3.88311,-3.31732,-3.41261,-3.37992,-3.84784,-3.81722,-4.22402,6.95978,0.318771,8.61684,-4.8027,-9.52201,-0.556566,16.7032 --4.26749,0.997708,0.0899672,6,63,0,9.72159,4.73902,5.33846,0.518337,-0.454654,-0.0449991,-0.202483,-1.3352,0.0936549,-0.459715,-1.49355,7.50614,4.49879,-2.38888,2.28485,2.31186,3.65807,5.23899,-3.23425,-4.56032,-3.28282,-3.69226,-3.4087,-3.18387,-3.34603,-4.03574,-4.16746,-4.34213,23.0469,-9.00719,-4.4179,5.15657,10.6946,1.71733,-1.26445 --4.32046,0.997801,0.160186,5,31,0,8.02206,3.59577,4.29235,0.990062,-0.0811652,0.318379,0.0152973,1.5234,0.864481,0.768284,1.0701,7.84547,4.96237,10.1348,6.89352,3.24738,3.66144,7.30643,8.18904,-4.52967,-3.26766,-4.02848,-3.31688,-3.22752,-3.3461,-3.79329,-3.83172,9.11228,2.41567,15.3512,10.0802,-8.26745,-4.37424,12.4617,-19.1453 --3.20491,0.998296,0.28259,4,15,0,6.12377,2.88352,5.30956,-0.00220105,-0.069195,0.971076,0.568701,-0.882924,0.229622,-0.271071,-0.226015,2.87184,8.03951,-1.80442,1.44425,2.51613,5.90308,4.10271,1.68348,-5.03015,-3.22153,-3.69432,-3.44438,-3.19248,-3.41617,-4.1872,-3.97355,7.55031,11.9611,-14.8655,13.7467,0.562663,-1.48145,-11.267,30.0569 --4.77766,0.886942,0.494586,3,7,0,7.80261,-0.901386,15.0352,1.21222,-0.107633,-0.00174464,-1.10481,0.689706,1.05933,0.643243,0.854795,17.3247,-0.927617,9.46849,8.76991,-2.51967,-17.5125,15.0259,11.9506,-3.88024,-3.62004,-3.99517,-3.32978,-3.13042,-4.733,-3.26575,-3.80931,11.5931,-17.3985,11.5744,10.4856,-3.27572,-30.6665,2.63901,15.03 --6.03127,0.648712,0.63859,3,7,0,8.56861,6.18512,1.84279,-0.576332,0.256846,1.32024,1.5008,-0.0737183,0.702691,0.265969,1.22214,5.12306,8.61805,6.04927,6.67524,6.65843,8.95078,7.48003,8.43726,-4.79,-3.22343,-3.85147,-3.31727,-3.47821,-3.57805,-3.77487,-3.8289,-2.42366,22.3461,-24.2678,9.37673,4.66007,22.1955,11.6679,-11.7004 --5.61441,0.999297,0.438907,3,7,0,8.44717,6.8485,3.50294,-1.54605,0.0882387,0.997571,-0.35653,0.981342,0.206303,0.164538,0.721195,1.43276,10.3429,10.2861,7.42487,7.15759,5.5996,7.57117,9.37481,-5.19547,-3.24897,-4.03629,-3.31758,-3.52694,-3.40426,-3.76533,-3.81995,3.55473,16.8154,-14.7344,5.89682,3.82338,-2.61619,0.55794,9.94318 --4.85228,0.86051,0.757265,2,7,0,7.48644,3.04402,1.13405,1.10321,0.650383,1.20242,-0.273467,0.0648467,0.285378,0.750352,0.389317,4.29511,4.40762,3.11756,3.89496,3.78159,2.7339,3.36765,3.48553,-4.8757,-3.28605,-3.76462,-3.35667,-3.2573,-3.32926,-4.29205,-3.92119,-1.80649,-1.88714,15.863,7.22408,18.4814,-6.30712,11.9443,8.79349 --7.52414,0.472477,0.904459,2,7,0,9.89901,-2.17917,11.8736,1.21151,-0.276311,1.36409,-0.0424446,0.729737,-0.69181,0.283869,0.992061,12.2058,14.0175,6.48542,1.19137,-5.45997,-2.68314,-10.3934,9.60014,-4.18134,-3.40257,-3.86726,-3.45626,-3.23895,-3.37289,-7.25246,-3.8182,13.3887,9.72435,33.4394,18.8345,3.95878,8.63734,-13.8189,18.0711 --6.43442,0.12052,0.397618,3,7,0,12.0296,-2.49471,3.56108,0.907841,-0.0855653,1.25632,-0.0765554,1.21708,-0.250363,-0.0953022,0.818144,0.738189,1.97916,1.83943,-2.83408,-2.79941,-2.76733,-3.38627,0.418771,-5.27856,-3.40278,-3.73727,-3.71646,-3.13615,-3.37548,-5.50839,-4.01629,4.92474,14.4302,-2.07305,-16.4819,-5.28116,4.52534,1.28594,13.0427 --4.28475,0.999421,0.0721638,6,63,0,9.12793,5.69158,7.98699,0.676035,0.539403,0.269413,-0.193754,-0.938789,1.72888,-0.754512,-0.25252,11.0911,7.84338,-1.80652,-0.334699,9.99979,4.14407,19.5001,3.6747,-4.26235,-3.22165,-3.69431,-3.53914,-3.86305,-3.35768,-3.23278,-3.91627,8.28883,13.3632,2.90961,25.5082,14.8231,6.11672,16.5667,-5.61976 --7.9139,0.995024,0.124139,5,31,0,10.5805,1.09352,3.3626,1.31252,-0.250295,0.295507,-0.397534,-1.75839,-0.671021,0.188381,2.29657,5.50699,2.08719,-4.81923,1.72697,0.251879,-0.243225,-1.16285,8.81595,-4.75129,-3.39633,-3.69799,-3.43173,-3.12584,-3.32322,-5.0576,-3.82496,11.1307,-1.57726,-44.2062,2.87487,4.75868,18.4982,6.89222,25.2298 --4.50805,0.99521,0.209475,4,15,0,10.6055,4.53295,1.59751,1.02047,-0.111216,-0.14474,0.422866,-0.496125,-0.0813603,-0.0939139,1.58334,6.16316,4.30173,3.74039,4.38293,4.35529,5.20849,4.40298,7.06237,-4.68665,-3.28991,-3.78026,-3.34514,-3.29319,-3.39002,-4.14592,-3.84693,27.0866,2.59318,-2.59968,26.1899,-4.83199,3.0299,-4.47477,24.7641 --5.33588,0.989353,0.350881,3,7,0,7.2617,3.00792,4.49836,1.39206,0.730633,-1.1001,-0.918196,-1.07548,0.21633,0.0939056,1.00756,9.26991,-1.94073,-1.82999,3.43034,6.29457,-1.12245,3.98105,7.54027,-4.40658,-3.71561,-3.6942,-3.36949,-3.44462,-3.33545,-4.20418,-3.84,3.18408,4.63803,-1.95634,-3.91075,-2.04392,16.4164,11.0847,15.392 --4.78278,0.965681,0.574892,3,7,0,9.15603,7.15771,7.83569,0.592949,0.529703,0.94461,-0.555146,-1.57136,0.702107,0.52048,0.360772,11.8039,14.5594,-5.15496,11.236,11.3083,2.80776,12.6592,9.98461,-4.20991,-3.43665,-3.7006,-3.39098,-4.05131,-3.33034,-3.36414,-3.81558,12.273,9.75314,-57.3681,-0.82837,19.6249,6.49753,13.4435,-11.4808 --5.0865,0.675094,0.882327,2,7,0,8.23517,10.2687,2.81524,0.581933,-0.101888,0.907545,-0.611476,-0.261462,0.137623,0.777522,-0.673101,11.907,12.8237,9.53265,12.4576,9.98189,8.54728,10.6562,8.37379,-4.20251,-3.33786,-3.9983,-3.43992,-3.86062,-3.55221,-3.49118,-3.8296,24.5706,24.3929,10.3421,17.7778,17.297,-0.606148,14.0313,-22.2093 --5.60636,0.936742,0.66244,3,7,0,8.95073,0.683571,2.17961,0.0731612,-0.732725,-0.696588,0.354819,-1.31174,1.09671,-0.600738,0.966233,0.843034,-0.83472,-2.17552,-0.625803,-0.913485,1.45694,3.07397,2.78958,-5.26588,-3.61179,-3.69285,-3.55713,-3.11621,-3.3177,-4.33546,-3.94022,-21.397,-7.9756,17.0034,10.966,-3.4652,-2.92265,-4.77463,-20.5583 --4.40941,0.367444,0.941061,3,15,0,7.83159,5.21726,2.65029,0.216518,-1.31952,-0.826866,0.19709,-1.12542,0.313494,0.89138,0.397483,5.7911,3.02582,2.23456,7.57968,1.72015,5.73961,6.04811,6.27071,-4.72307,-3.34524,-3.74504,-3.31822,-3.16184,-3.40966,-3.93576,-3.85997,-11.514,2.72952,24.0263,5.18722,-1.02448,4.19383,13.2289,19.8975 --9.12722,0.930528,0.338217,3,7,0,12.6167,1.12472,6.2101,0.972982,-0.576629,-1.1266,0.730872,0.801668,1.68492,-1.48979,-1.74988,7.16704,-5.87158,6.10316,-8.12705,-2.45621,5.66351,11.5882,-9.7422,-4.59146,-4.18363,-3.85338,-4.2624,-3.12925,-3.4067,-3.42708,-4.53882,18.4146,3.11768,19.1291,-9.66882,-6.41172,-5.96469,6.86089,13.1459 --4.94996,0.980969,0.473197,3,7,0,11.3298,5.80747,1.13397,0.355851,-0.613268,-0.0627911,0.339885,-0.294099,-0.982706,0.850176,-1.1119,6.211,5.73627,5.47397,6.77155,5.11204,6.19289,4.69311,4.54661,-4.68201,-3.24715,-3.83178,-3.31705,-3.34676,-3.42826,-4.10689,-3.89504,3.66528,17.8328,47.2096,19.3891,13.3943,0.888792,11.7011,3.20535 --4.65553,0.729871,0.742757,3,7,0,8.75866,4.12956,3.40436,0.645876,0.125309,0.280154,0.387421,0.107685,1.86182,-0.622809,1.43266,6.32835,5.08331,4.49616,2.0093,4.55616,5.44848,10.4678,9.00686,-4.67068,-3.26406,-3.80128,-3.41976,-3.30672,-3.39861,-3.50519,-3.82314,35.5029,0.849525,6.72729,3.43123,8.75784,5.93654,12.1648,60.1863 --5.38813,0.527196,0.641143,3,7,0,10.5981,5.45765,9.7125,0.991746,0.132691,0.710723,-0.581553,1.30639,0.141446,-0.644195,1.31175,15.09,12.3605,18.1459,-0.799093,6.74641,-0.190681,6.83144,18.198,-3.99736,-3.3166,-4.56487,-3.56818,-3.48658,-3.32269,-3.84521,-3.86859,3.14314,30.7549,27.749,-12.832,-5.78433,-3.89383,14.0813,-6.95996 --5.77469,0.961727,0.344962,4,15,0,8.45349,2.77727,7.46023,-0.789163,-0.313971,-0.324438,0.546029,-1.43321,0.36679,0.471355,-1.22168,-3.11008,0.356886,-7.91483,6.29368,0.434967,6.85077,5.5136,-6.33676,-5.77774,-3.51361,-3.73871,-3.3189,-3.12887,-3.45829,-4.00107,-4.32819,-6.38181,-3.47627,-27.8861,3.96063,-6.45686,6.18549,-7.41856,-36.9615 --2.87492,0.961702,0.514094,3,7,0,6.97898,2.72273,4.03935,-0.545164,-0.491898,-0.304186,0.0998968,-0.179199,0.324235,0.396214,-0.182998,0.520619,1.49401,1.99888,4.32318,0.735779,3.12625,4.03243,1.98353,-5.30503,-3.43316,-3.74033,-3.34644,-3.13476,-3.33552,-4.19699,-3.96414,7.23736,-2.64096,27.4717,21.93,5.25679,-28.9794,3.77261,14.7232 --5.32002,0.779008,0.762083,2,3,0,6.72066,7.91478,1.41686,0.167679,0.382184,1.61154,-0.34289,-0.916511,0.492526,-0.387358,0.143337,8.15236,10.1981,6.61621,7.36595,8.45628,7.42895,8.61262,8.11787,-4.50239,-3.24568,-3.87214,-3.31739,-3.66815,-3.48762,-3.66214,-3.83257,10.9615,20.4949,-18.7558,1.82211,31.9814,10.0515,-13.832,13.1422 --6.63731,0.796829,0.738813,3,7,0,10.1845,-1.72194,2.5065,-1.2283,1.09238,-0.0742656,0.199286,0.784486,0.296941,0.793933,0.252982,-4.80066,-1.90808,0.244375,0.268053,1.01611,-1.22243,-0.977656,-1.08784,-6.01784,-3.71237,-3.71209,-3.5041,-3.14125,-3.33724,-5.02228,-4.07365,-20.0696,-8.51216,-14.3482,-3.4651,-5.22744,-7.94203,-5.59916,35.7267 --10.4112,0.372258,0.746207,3,7,0,14.1313,1.45691,0.548186,2.22681,0.311298,-1.45333,-0.842633,1.00335,0.969223,-1.61813,0.516676,2.67762,0.660217,2.00693,0.569875,1.62756,0.994991,1.98823,1.74015,-5.05193,-3.49089,-3.74049,-3.48769,-3.15878,-3.31683,-4.50341,-3.97176,11.5365,15.0035,-4.08554,-15.6152,3.23868,-1.51547,0.303317,14.0987 --9.52791,0.998926,0.287713,4,15,0,14.9138,7.91126,2.86654,-1.94904,-0.342911,1.75302,0.853402,-1.00187,0.0393051,1.70074,-0.434777,2.32428,12.9364,5.03937,12.7865,6.9283,10.3576,8.02393,6.66496,-5.09197,-3.34336,-3.81776,-3.4552,-3.50417,-3.67867,-3.71913,-3.85323,-19.4406,2.16345,8.35605,10.1263,36.3536,-24.9947,14.9952,1.16969 --10.3826,0.957545,0.460775,3,7,0,17.717,-0.65949,7.38647,2.65456,0.136367,-1.18259,-0.361388,1.11936,1.68206,-1.30051,1.06472,18.9483,-9.39462,7.60861,-10.2657,0.347778,-3.32887,11.765,7.20502,-3.80906,-4.73439,-3.91134,-4.54867,-3.12738,-3.39427,-3.4159,-3.84479,49.6425,-5.91266,-12.2119,-28.1346,-0.384053,-7.33781,10.4913,-18.7694 --14.5158,0.815438,0.66868,3,7,0,20.6724,9.22747,1.85369,-1.68854,0.100843,-0.65157,-1.1744,-3.80221,-0.0933484,0.940845,-1.30182,6.09745,8.01966,2.17936,10.9715,9.4144,7.0505,9.05443,6.8143,-4.69304,-3.22153,-3.74392,-3.38201,-3.78567,-3.46811,-3.62164,-3.85081,42.357,10.2015,4.42074,4.03791,12.3928,-0.372305,14.2394,-6.41102 --16.0435,0.945985,0.703959,3,7,0,22.4205,-2.09558,3.56917,3.26178,-0.313479,-0.0423274,0.431034,2.62984,-1.30985,1.647,1.34827,9.54625,-2.24666,7.29077,3.78282,-3.21445,-0.557153,-6.77065,2.71663,-4.38375,-3.74649,-3.89836,-3.3596,-3.14643,-3.32685,-6.28945,-3.94231,2.62283,-3.17936,-0.363771,18.0277,-2.64764,-1.79454,4.71752,14.165 --9.72631,0.854281,0.988665,2,3,0,21.6258,5.54616,3.47502,1.46076,-0.337304,-0.604268,2.24518,2.1479,1.57291,0.611897,-0.0924767,10.6223,3.44632,13.0102,7.67251,4.37402,13.3482,11.012,5.2248,-4.29806,-3.3252,-4.19216,-3.3187,-3.29444,-3.94691,-3.46568,-3.88015,12.6797,-0.0864168,22.1791,1.75744,16.5413,-10.6533,2.60902,13.8359 --7.78678,0.333333,1.13019,2,3,0,15.3266,3.8436,0.577373,-0.389257,0.857199,1.53833,0.950631,0.447486,0.215881,0.643212,-1.83107,3.61885,4.73179,4.10196,4.21497,4.33852,4.39247,3.96824,2.78639,-4.94797,-3.27493,-3.79004,-3.34888,-3.29209,-3.36439,-4.20597,-3.94031,7.04831,6.22678,17.0634,8.01614,18.8224,22.619,4.2885,-22.0377 --5.18433,0.961179,0.412761,4,15,0,9.00522,4.25224,5.77977,1.34858,-1.45978,-0.465073,-0.00161098,-0.488136,1.12159,-0.179352,1.80556,12.0467,1.56423,1.43093,3.21563,-4.18497,4.24293,10.7348,14.688,-4.19256,-3.42862,-3.72987,-3.37601,-3.17878,-3.36029,-3.48544,-3.82046,20.8775,15.0461,1.17791,-6.24078,4.67338,8.70703,2.38739,-0.567225 --10.63,0.111599,0.597331,2,3,0,14.5523,3.05858,0.777671,1.84481,-1.91171,-0.484522,0.401431,0.0749105,1.81466,-0.196849,2.09685,4.49324,2.68178,3.11684,2.9055,1.5719,3.37076,4.46979,4.68925,-4.85492,-3.36294,-3.7646,-3.38611,-3.15699,-3.34006,-4.13686,-3.89179,0.304822,-12.1893,-0.379738,6.21994,-12.2533,2.68699,-14.3633,13.7572 --8.10188,0.991966,0.137116,5,31,0,18.0427,4.58499,2.20951,-1.14988,1.16911,1.93014,0.100002,0.113518,-0.820094,-0.710791,-1.41391,2.04432,8.84965,4.83581,3.01449,7.16816,4.80594,2.77298,1.46094,-5.12409,-3.22513,-3.81145,-3.38247,-3.52801,-3.37669,-4.38083,-3.98072,6.21945,9.13762,-10.8004,-10.0458,-0.0827917,12.6452,11.69,3.22554 --12.1997,0.964987,0.2124,4,15,0,17.6053,8.69106,2.48993,-2.18585,0.0861919,1.31646,-2.43559,-1.65862,0.172002,-0.265714,-1.47409,3.24844,11.969,4.56121,8.02945,8.90567,2.62661,9.11933,5.02068,-4.98841,-3.30029,-3.80319,-3.32121,-3.72186,-3.32777,-3.61585,-3.88448,0.384107,15.6755,-21.971,-1.24745,18.9447,9.90585,13.5592,-0.261324 --4.70508,0.994156,0.309026,3,15,0,14.2591,6.95756,1.1082,-0.681479,-0.610457,1.10666,-0.7008,0.213357,-0.243968,-0.181075,0.390533,6.20234,8.18395,7.194,6.75689,6.28105,6.18093,6.68719,7.39034,-4.68285,-3.22169,-3.89449,-3.31708,-3.44341,-3.42775,-3.86142,-3.8421,29.2194,4.90137,7.36618,10.0586,17.9624,-4.40408,6.71367,14.3863 --5.52684,0.922965,0.476339,3,7,0,10.0099,5.84895,2.74489,-0.658755,1.39472,0.165077,0.269959,0.603271,0.482448,1.34145,-0.477955,4.04074,6.30206,7.50486,9.53108,9.67729,6.58995,7.17321,4.53701,-4.90265,-3.23594,-3.90706,-3.34331,-3.81989,-3.44596,-3.80762,-3.89526,3.36707,20.8029,-1.99501,5.74758,-12.2653,9.89089,20.1856,32.2254 --5.14147,0.756868,0.628584,3,7,0,10.6221,1.50252,6.5014,1.21193,-1.4717,0.462727,-0.206099,-0.682497,-0.101854,-0.92843,0.481314,9.3818,4.5109,-2.93466,-4.53357,-8.06558,0.16259,0.84033,4.63174,-4.39729,-3.28239,-3.69154,-3.86652,-3.42433,-3.31973,-4.69379,-3.89309,26.5685,5.24698,-5.61985,12.9878,-15.5382,-8.0541,11.8818,16.1709 --5.30405,0.935403,0.583139,3,7,0,8.88519,7.21642,3.71763,-1.01096,0.923227,-0.439279,0.289688,0.373484,0.829881,1.0213,-0.222303,3.45804,5.58334,8.6049,11.0132,10.6486,8.29337,10.3016,6.38998,-4.96545,-3.25072,-3.95456,-3.38339,-3.95376,-3.53664,-3.51785,-3.85788,8.11719,13.0878,9.73507,7.90746,6.16935,-9.23165,5.83497,30.4455 --5.30405,0.0163216,0.786463,2,3,0,10.2866,7.21642,3.71763,-1.01096,0.923227,-0.439279,0.289688,0.373484,0.829881,1.0213,-0.222303,3.45804,5.58334,8.6049,11.0132,10.6486,8.29337,10.3016,6.38998,-4.96545,-3.25072,-3.95456,-3.38339,-3.95376,-3.53664,-3.51785,-3.85788,4.26209,-0.675006,-3.8313,16.071,20.3292,-13.5986,5.13588,9.83074 --5.52808,0.999688,0.156215,5,31,0,8.38011,6.8396,2.49812,-1.40577,0.821104,0.136053,1.02977,-0.228844,-0.132957,0.338393,-0.595895,3.32781,7.17947,6.26792,7.68494,8.89081,9.41209,6.50746,5.35098,-4.97969,-3.22489,-3.85929,-3.31877,-3.72004,-3.60924,-3.88192,-3.87753,-9.57037,7.79784,13.1366,-5.61538,12.298,10.4368,10.7468,-13.3412 --6.70625,0.98715,0.241537,4,15,0,12.117,6.29295,1.74701,-1.28607,1.19634,1.10509,1.04224,0.627119,-0.0826803,0.209114,-0.911057,4.04617,8.22355,7.38853,6.65827,8.38295,8.11374,6.1485,4.70132,-4.90207,-3.22177,-3.90231,-3.31732,-3.65962,-3.52595,-3.92381,-3.89152,-7.17539,0.182226,14.6694,-23.4489,14.2473,1.0107,18.5505,27.6304 --7.86392,0.932672,0.362257,4,15,0,12.894,3.69583,0.49051,1.21439,-0.832673,-1.48426,-1.02189,0.64744,0.101518,-0.400593,1.48722,4.2915,2.96778,4.0134,3.49933,3.28739,3.19458,3.74562,4.42532,-4.87608,-3.34814,-3.7876,-3.36747,-3.22963,-3.33674,-4.23746,-3.89785,-18.5422,17.7519,1.39854,17.8574,12.6385,-5.0829,-4.13186,-11.9573 --6.21719,0.995296,0.483877,3,7,0,10.9876,4.15895,0.166291,0.881909,0.221905,-0.369533,-0.309691,-0.104095,-0.762912,0.684293,-0.75065,4.3056,4.0975,4.14164,4.27274,4.19585,4.10745,4.03208,4.03412,-4.8746,-3.29767,-3.79114,-3.34757,-3.28281,-3.35674,-4.19704,-3.90724,18.3633,0.874264,-6.64768,-4.5333,13.3943,-0.420218,9.07267,-37.3519 --6.76537,0.823093,0.732068,2,7,0,9.20134,3.60837,0.0875474,0.664685,0.699035,-0.31526,0.888399,-0.383932,0.168555,-0.0343516,-0.659492,3.66656,3.58077,3.57475,3.60536,3.66956,3.68614,3.62312,3.55063,-4.9428,-3.31917,-3.77596,-3.36445,-3.25076,-3.34665,-4.255,-3.91948,2.12938,12.8765,6.85106,-9.69354,-13.3417,-11.1458,0.0724462,-10.9395 --4.55777,0.950547,0.777845,2,3,0,11.3688,3.98437,1.09403,0.294596,-0.0192043,0.668626,-0.831731,-0.0588312,0.765777,-0.366137,-1.17772,4.30666,4.71586,3.92001,3.58381,3.96336,3.07443,4.82215,2.69591,-4.87449,-3.27545,-3.78506,-3.36506,-3.26823,-3.33462,-4.0898,-3.9429,4.27685,1.98639,-14.4034,13.8408,5.70907,-0.514408,22.1831,14.407 --4.65752,0.583729,1.06808,1,3,0,7.23117,0.39265,2.3704,0.843423,1.04843,-0.0648809,-0.407842,-0.00916454,-0.426634,0.749385,-0.177194,2.3919,0.238856,0.370926,2.169,2.87786,-0.5741,-0.618645,-0.0273719,-5.08427,-3.5227,-3.71372,-3.41327,-3.20899,-3.32707,-4.95479,-4.03255,-2.84873,10.9306,5.2238,-2.82242,6.22972,9.3937,1.64817,25.9296 --6.89308,0.155673,0.700094,3,15,0,10.8633,4.08733,3.29077,0.0107014,-1.07523,-1.33183,0.0813096,-0.969206,2.23685,1.36272,0.133256,4.12255,-0.295402,0.897905,8.57172,0.549008,4.3549,11.4483,4.52585,-4.89395,-3.56559,-3.7212,-3.32704,-3.13097,-3.36334,-3.43615,-3.89552,21.9038,-0.34293,3.78352,31.0354,-1.74521,-14.219,23.8838,-13.2426 --4.71711,0.998625,0.195965,4,15,0,8.63644,6.18788,6.37738,0.663501,-0.460125,0.600869,-0.605694,0.87111,-1.04595,0.369144,0.598498,10.4193,10.0199,11.7433,8.54205,3.25349,2.32515,-0.482507,10.0047,-4.31384,-3.24192,-4.11607,-3.32666,-3.22784,-3.32409,-4.92954,-3.81545,34.7946,17.0893,4.21373,5.3407,25.8276,-2.6366,6.02042,7.16648 --6.63,0.931329,0.296625,4,15,0,10.2104,3.46929,1.00682,0.318137,-0.132537,-0.0198727,0.385496,-0.617457,2.38167,-0.749893,-0.830056,3.78959,3.44928,2.84762,2.71428,3.33584,3.85741,5.8672,2.63357,-4.92953,-3.32507,-3.75831,-3.39273,-3.23221,-3.35057,-3.95755,-3.9447,13.5609,-4.2061,-4.12196,-22.7651,11.2064,-6.77747,-8.79084,-17.0239 --5.13707,0.925928,0.391427,2,7,0,8.69619,0.355109,1.69767,0.253294,-0.202002,0.380236,0.246444,-0.848729,1.75896,0.0524803,-0.441458,0.785119,1.00062,-1.08575,0.444204,0.0121781,0.773489,3.34124,-0.394339,-5.27288,-3.46648,-3.69868,-3.49443,-3.12249,-3.31705,-4.29592,-4.04638,25.9478,5.23027,11.6313,23.3571,-3.91142,9.94063,4.3177,-19.6986 --3.64252,0.986053,0.509672,3,7,0,7.29251,5.12575,2.49626,0.92239,-0.383005,0.132512,-0.796957,0.650492,-0.55754,0.415025,0.487729,7.42827,5.45653,6.74954,6.16176,4.16967,3.13633,3.73398,6.34325,-4.56742,-3.25387,-3.87718,-3.31974,-3.28114,-3.33569,-4.23912,-3.85869,20.1993,1.5838,1.09172,7.2189,-3.45583,19.7106,15.1736,10.4263 --4.05283,0.686698,0.744685,2,3,0,8.29146,5.98324,1.93563,-0.0225319,-0.0322658,0.480413,-0.872261,0.09852,0.929386,0.95922,-0.724054,5.93963,6.91314,6.17394,7.83994,5.92079,4.29486,7.78219,4.58174,-4.70846,-3.22743,-3.8559,-3.31975,-3.41183,-3.36169,-3.74354,-3.89423,-11.1023,10.0916,41.6946,15.5852,-1.96361,6.49175,-1.26216,16.6295 --6.56711,0.677579,0.604728,2,7,0,8.96309,8.333,0.581029,1.07689,0.59967,0.264172,0.199457,0.560733,0.907414,-1.3535,-0.067496,8.9587,8.48649,8.6588,7.54657,8.68142,8.44889,8.86023,8.29378,-4.4327,-3.22271,-3.95701,-3.31807,-3.69474,-3.54611,-3.6392,-3.83051,2.30496,25.9596,-1.83343,9.47333,14.1993,15.158,12.9878,8.26631 --6.82813,0.993655,0.483368,3,7,0,10.583,6.35218,0.576704,-0.808805,0.758615,-1.50566,0.464289,-1.4265,0.129198,0.136073,-0.391016,5.88574,5.48387,5.52951,6.43066,6.78968,6.61994,6.42669,6.12668,-4.71375,-3.25318,-3.83362,-3.31817,-3.49073,-3.44735,-3.89123,-3.86254,0.370789,-8.85606,9.16485,-0.556826,14.1061,0.307281,-1.45709,8.44016 --5.82238,0.763278,0.712977,3,7,0,12.3518,2.32423,10.8805,1.67169,0.0589526,1.4833,-0.344361,1.41628,0.199467,0.404473,0.481783,20.5131,18.4633,17.7341,6.72511,2.96567,-1.4226,4.49454,7.56629,-3.75155,-3.76893,-4.53118,-3.31715,-3.21324,-3.34109,-4.13351,-3.83965,24.6308,2.55035,7.66322,20.0223,7.36144,-24.6824,19.729,-9.4157 --6.81847,0.195004,0.6728,2,3,0,10.1218,0.137919,11.2994,1.90832,-0.766538,1.39681,-1.03887,1.04448,0.740721,0.960259,0.399741,21.7008,15.9211,11.94,10.9883,-8.52351,-11.6007,8.50762,4.65476,-3.71517,-3.53524,-4.12747,-3.38256,-3.46557,-3.97294,-3.67205,-3.89257,3.42376,19.3337,-16.8998,16.0948,-8.95464,-15.8624,28.8658,-11.563 --12.8751,0.62717,0.214002,4,15,0,20.7876,-5.40066,2.76351,2.06506,0.0499116,1.1203,2.07494,-1.18568,2.1156,-0.308617,0.236288,0.306144,-2.30471,-8.67728,-6.25352,-5.26273,0.333454,0.445818,-4.74768,-5.33132,-3.75246,-3.75448,-4.04268,-3.22833,-3.31867,-4.76227,-4.24216,-6.89033,-0.0670222,-23.9076,1.11425,5.28297,9.8191,-2.7886,-10.6445 --9.9702,0.978588,0.156711,5,31,0,19.5746,-3.87109,6.40567,1.68589,1.03043,0.979018,-0.110694,-1.91141,2.59357,1.16073,0.0502761,6.92818,2.40018,-16.115,3.56417,2.72949,-4.58016,12.7425,-3.54903,-4.6137,-3.37831,-4.02747,-3.36561,-3.20202,-3.4455,-3.35973,-4.18242,0.0151481,3.19753,-43.233,4.51042,3.00859,-0.249511,6.37629,33.1975 --4.2429,0.999372,0.224145,4,15,0,12.424,3.30763,6.5175,0.980099,0.537215,0.769672,-0.636805,-1.23495,1.48021,1.00859,0.282841,9.69543,8.32397,-4.74114,9.8811,6.80893,-0.842746,12.9549,5.15105,-4.37156,-3.22205,-3.69745,-3.35113,-3.49258,-3.33087,-3.34879,-3.8817,4.93027,9.33039,19.88,-9.20882,10.4294,-12.5949,8.6286,39.319 --7.00763,0.904905,0.332356,4,15,0,12.2635,5.2267,1.76103,-1.60432,-1.34267,-0.156022,0.242125,0.816621,-0.417675,-0.998302,-1.26935,2.40144,4.95194,6.6648,3.46866,2.86222,5.65309,4.49116,2.99134,-5.08318,-3.26798,-3.87397,-3.36836,-3.20824,-3.4063,-4.13397,-3.93455,2.15972,-3.08548,13.9066,6.23996,4.59452,12.197,6.06781,6.43423 --11.0325,0.710472,0.411139,3,15,0,18.5965,8.73404,0.214109,-1.20186,-1.20303,1.21664,0.284409,0.496071,-1.32796,-2.13995,0.256713,8.47671,8.99454,8.84026,8.27586,8.47646,8.79494,8.44972,8.78901,-4.47401,-3.22647,-3.96534,-3.32356,-3.6705,-3.56791,-3.67756,-3.82522,-5.06807,22.5578,-12.4683,-6.13435,22.4151,-6.90463,-3.48833,23.4213 --10.5936,1,0.352715,3,7,0,12.1805,7.9887,0.238959,-0.986471,-1.15527,1.32477,0.133521,0.305992,-1.53265,-2.06712,0.446492,7.75297,8.30527,8.06182,7.49474,7.71264,8.0206,7.62246,8.09539,-4.53797,-3.22199,-3.93052,-3.31785,-3.58474,-3.52051,-3.75999,-3.83284,2.93941,14.4343,30.9142,20.4846,17.0659,21.374,11.6618,-3.45887 --5.65575,0.849565,0.519815,3,7,0,14.2343,8.49425,0.949683,-0.972858,-0.0346676,-0.531753,-0.179059,-0.0827578,0.558695,-1.02067,0.941625,7.57034,7.98925,8.41565,7.52493,8.46132,8.3242,9.02483,9.38849,-4.55448,-3.22152,-3.94605,-3.31797,-3.66874,-3.5385,-3.62429,-3.81983,-20.6848,5.7552,5.88289,20.6895,8.60003,18.8953,12.8559,39.1638 --7.84274,0.980278,0.577454,3,7,0,9.53086,-0.938225,0.157439,1.51383,0.0303218,-0.037391,0.425903,-0.00703676,0.0179464,0.326379,-0.489683,-0.69989,-0.944112,-0.939333,-0.88684,-0.933451,-0.871171,-0.9354,-1.01532,-5.4574,-3.62151,-3.69982,-3.57387,-3.11619,-3.3313,-5.01427,-4.07073,-8.13544,-11.1117,-1.37371,6.23549,13.551,-2.07576,-8.34234,-11.1101 --10.8635,0.540025,0.816058,1,3,0,16.6612,0.0737447,0.0680854,1.63135,-1.39948,-0.578655,-0.6809,-0.425754,0.346461,-0.346147,1.53248,0.184816,0.0343467,0.044757,0.0501771,-0.0215396,0.0273853,0.0973336,0.178084,-5.34629,-3.53878,-3.70963,-3.51642,-3.12207,-3.32074,-4.82405,-4.02499,11.7641,9.48946,8.47919,16.8673,9.89836,1.02074,5.22892,8.58086 --9.63521,0.714287,0.511282,2,7,0,11.9346,-0.424553,0.140636,1.39964,-1.31633,-0.492035,-0.80083,-0.3818,0.447411,-0.631666,1.18641,-0.227713,-0.493751,-0.478248,-0.513388,-0.609677,-0.537179,-0.361631,-0.257702,-5.39766,-3.58224,-3.70395,-3.5501,-3.1171,-3.3266,-4.90727,-4.04118,3.37307,7.39335,14.8161,-5.59525,2.11157,-4.82619,-17.526,-1.23953 --5.60569,0.979155,0.442603,3,7,0,13.2878,7.64037,0.868281,-0.248259,1.39902,0.967738,0.289387,0.24128,-0.446183,0.282874,0.064285,7.42481,8.48064,7.84987,7.88599,8.85512,7.89164,7.25296,7.69619,-4.56774,-3.22268,-3.92145,-3.32008,-3.71569,-3.51309,-3.79902,-3.83789,25.4014,-0.159948,10.1272,21.634,-5.08109,0.367749,9.23742,12.6241 --8.96261,0.786496,0.622117,3,7,0,10.5613,2.83525,0.285056,-0.908158,0.891243,1.96494,0.751041,0.434523,-0.257281,1.57976,0.372013,2.57638,3.39537,2.95912,3.28558,3.08931,3.04934,2.76191,2.9413,-5.06335,-3.32754,-3.76088,-3.37385,-3.21939,-3.33419,-4.38252,-3.93595,-7.90035,-5.54944,32.1875,-1.92317,9.84311,4.01826,2.7476,-13.254 --6.26215,0.837024,0.61428,3,7,0,12.9066,6.96442,5.36331,0.943786,0.296804,-1.79274,-0.819472,-0.679958,0.432405,-1.41037,-0.0838492,12.0262,-2.65059,3.3176,-0.599836,8.55627,2.56935,9.28354,6.51471,-4.19401,-3.7887,-3.76948,-3.5555,-3.67988,-3.32701,-3.60141,-3.85574,22.6631,-1.82281,13.6501,-8.07617,17.9965,-2.99662,19.8391,17.0904 --4.32654,0.0980189,0.664692,3,7,0,10.8669,4.90771,1.25852,0.744612,0.914,-0.723257,0.0510119,-0.429203,0.556924,-0.658466,-0.323158,5.84482,3.99748,4.36755,4.07902,6.05799,4.97191,5.60861,4.50101,-4.71777,-3.30162,-3.79754,-3.35209,-3.42366,-3.38202,-3.98926,-3.89609,-10.8,8.46021,34.709,18.4479,9.9289,3.51267,14.6826,-15.3246 --5.33847,0.996329,0.189565,3,7,0,5.68075,5.24067,0.745215,0.589797,1.35597,-0.479841,0.27139,-0.586278,0.716391,-0.595921,-0.438894,5.6802,4.88309,4.80377,4.79658,6.25116,5.44292,5.77454,4.9136,-4.73404,-3.2701,-3.81047,-3.3369,-3.44073,-3.3984,-3.96883,-3.88681,6.47337,-3.2222,15.8151,10.8625,-3.00211,21.6168,-0.34704,0.661559 --4.5802,0.999329,0.27417,4,15,0,8.12993,4.02745,5.3105,-0.748203,-1.41118,0.611962,-0.215544,0.473442,-0.346526,0.554423,0.422857,0.0541162,7.27727,6.54166,6.97171,-3.46662,2.8828,2.18722,6.27303,-5.36248,-3.22414,-3.86935,-3.31684,-3.15372,-3.33148,-4.47174,-3.85992,-8.2947,14.9018,19.8324,15.2296,2.46597,9.00244,5.96681,3.7962 --6.23411,0.921699,0.397475,3,7,0,8.37704,7.6047,3.7459,1.79835,0.48188,-0.433679,-0.322897,-0.898479,1.92261,-0.359994,-0.76842,14.3412,5.98019,4.23909,6.2562,9.40978,6.39516,14.8066,4.72628,-4.04158,-3.24192,-3.79388,-3.31912,-3.78507,-3.43711,-3.27251,-3.89096,12.7113,14.9525,-6.74412,17.4174,26.6298,-9.69053,-0.268862,-2.08548 --6.41025,0.97541,0.500292,3,7,0,11.8325,1.89628,1.8428,-1.32222,0.663761,0.479072,-0.223456,0.538083,-0.871481,0.36287,-1.40015,-0.540312,2.77912,2.88786,2.56498,3.11946,1.4845,0.290319,-0.683909,-5.4371,-3.35781,-3.75924,-3.39811,-3.22092,-3.3178,-4.78969,-4.05758,-9.86525,-10.7791,-0.621055,-10.0192,8.71891,25.7422,22.9247,-8.76205 --8.88022,0.581059,0.691419,3,7,0,15.1678,7.43769,0.297069,1.76929,-0.674882,-1.11404,0.818593,-0.547613,0.28421,-0.352866,1.59663,7.96329,7.10674,7.27501,7.33286,7.2372,7.68086,7.52212,7.912,-4.51914,-3.22551,-3.89773,-3.31729,-3.535,-3.50127,-3.77045,-3.8351,2.80988,-16.3348,7.76003,17.1596,3.53778,21.5054,11.055,-6.66461 --6.47221,0.999746,0.474587,3,7,0,13.3129,3.14187,0.682763,-0.640468,0.300695,1.39419,-0.644981,0.340225,0.693331,0.803467,-1.3343,2.70459,4.09378,3.37417,3.69045,3.34718,2.70151,3.61526,2.23086,-5.0489,-3.29782,-3.77088,-3.36209,-3.23282,-3.3288,-4.25613,-3.95659,-7.57383,2.69364,-12.8313,9.50953,4.84093,4.65852,-2.44272,-13.0374 --8.90266,0.545523,0.682991,2,7,0,15.7022,9.90264,0.571103,0.0415598,0.279133,0.626491,-1.64113,0.543858,0.843124,0.703982,-1.77447,9.92637,10.2604,10.2132,10.3047,10.0621,8.96538,10.3842,8.88923,-4.35289,-3.24707,-4.03252,-3.36196,-3.87153,-3.57901,-3.51153,-3.82424,3.37581,10.3581,4.78331,-10.4786,18.9983,17.4506,4.75813,44.3788 --9.14596,0.942073,0.44172,3,7,0,16.9889,0.678878,2.3423,-0.164197,-1.49567,1.24217,0.177983,-1.0107,-1.02747,0.143376,-2.22634,0.294281,3.58842,-1.68848,1.01471,-2.82443,1.09577,-1.72776,-4.53587,-5.33278,-3.31883,-3.69489,-3.46487,-3.13671,-3.31687,-5.16745,-4.23128,0.643474,-1.98959,-21.8312,-8.20484,-0.106093,-13.6558,6.56047,9.0264 --4.63247,0.999423,0.573246,3,7,0,11.6762,7.57065,3.70402,0.864742,-0.314786,0.0825435,-1.10869,-0.0858921,0.17066,1.64938,0.226422,10.7737,7.87639,7.2525,13.68,6.40468,3.46405,8.20278,8.40932,-4.28643,-3.2216,-3.89683,-3.50122,-3.45462,-3.34192,-3.70145,-3.82921,11.6397,17.757,-8.22782,17.1437,-3.65539,6.645,-6.46207,5.92468 --4.52143,0.924103,0.82042,2,3,0,7.19833,7.4329,5.17419,-0.224884,-1.78929,-0.312123,-0.868322,-0.0511138,1.09179,0.604474,2.02767e-05,6.26931,5.81792,7.16843,10.5606,-1.82522,2.94004,13.082,7.43301,-4.67637,-3.24533,-3.89347,-3.36922,-3.12037,-3.33239,-3.34246,-3.8415,-6.79909,39.4821,15.357,19.9658,-6.34817,0.537903,0.00190989,-0.619953 --5.63765,0.405419,1.02754,2,7,0,8.66751,2.99901,3.98175,0.249775,1.25618,0.190172,-0.966618,0.836502,0.547281,-1.37497,0.768834,3.99355,3.75623,6.32975,-2.4758,8.00081,-0.849824,5.17815,6.06031,-4.90768,-3.31157,-3.86154,-3.68787,-3.61625,-3.33097,-4.04352,-3.86375,-7.83891,8.19693,13.4318,-15.2088,-4.92493,11.5942,-7.97384,5.90252 --6.80114,0.878539,0.524156,3,7,0,12.1571,4.94529,0.99579,0.271966,-0.0434104,-0.197587,1.79795,-1.65211,-0.108152,1.0927,-0.281204,5.21611,4.74854,3.30014,6.03339,4.90206,6.73567,4.83759,4.66527,-4.78056,-3.27438,-3.76905,-3.32069,-3.33119,-3.45278,-4.08777,-3.89233,-18.4592,7.12719,-12.7556,6.6532,-1.71796,3.72623,7.69842,19.2717 --5.08924,0.974953,0.606891,3,7,0,10.5009,4.69578,4.08142,0.375748,-0.134567,0.233969,-1.90079,1.12127,0.865832,-0.791979,0.303447,6.22937,5.65071,9.27214,1.46339,4.14656,-3.06213,8.2296,5.93428,-4.68023,-3.24912,-3.98568,-3.4435,-3.27966,-3.38502,-3.69883,-3.86609,26.8823,34.7327,4.847,10.337,-5.17193,-3.36883,6.47625,7.58322 --3.53426,0.605266,0.828175,3,7,0,7.43785,4.80025,3.44473,-0.284452,-0.269625,0.775654,0.950322,-0.567796,-0.118893,0.449254,0.50843,3.82039,7.47217,2.84435,6.34781,3.87147,8.07385,4.3907,6.55166,-4.92622,-3.22292,-3.75824,-3.31859,-3.26265,-3.52361,-4.14759,-3.85512,13.0744,2.11677,2.17027,6.07705,-20.3212,24.2096,9.24031,22.0261 --4.35625,0.17567,0.59932,3,7,0,9.73323,3.40968,1.17084,-0.156912,-0.802094,0.657081,-0.108356,-0.0955848,1.24457,-0.162088,0.715132,3.22596,4.17901,3.29776,3.2199,2.47055,3.28281,4.86686,4.24698,-4.99088,-3.29452,-3.76899,-3.37588,-3.19051,-3.33837,-4.08392,-3.90207,-25.7039,7.81755,-6.15995,-1.56045,-11.2715,-4.35516,-5.74803,16.8373 --6.24679,0.992027,0.209116,4,15,0,9.23319,3.24826,0.980958,-0.225667,-2.00312,0.118613,-0.76636,0.948367,0.724279,0.540108,0.141067,3.0269,3.36462,4.17857,3.77809,1.28329,2.4965,3.95875,3.38665,-5.01289,-3.32896,-3.79218,-3.35973,-3.14834,-3.32609,-4.20731,-3.9238,7.62072,-1.24793,17.8218,-11.2398,3.62463,-2.86031,6.45423,-27.4017 --7.26783,0.971221,0.293859,4,15,0,13.7225,4.28844,2.05911,1.68908,0.666055,1.42047,0.284131,-2.17402,0.521284,0.211384,0.425299,7.76645,7.21334,-0.188106,4.72371,5.65992,4.8735,5.36182,5.16418,-4.53676,-3.22462,-3.70697,-3.33825,-3.38996,-3.37883,-4.02014,-3.88142,-11.997,-3.42552,-38.5857,-4.9108,9.57083,7.03966,6.52404,1.59644 --4.80962,0.998416,0.397681,4,23,0,10.2661,4.93554,7.82623,0.719114,-1.32628,-1.12114,-0.735451,-0.193551,0.371976,-0.904793,-0.243186,10.5635,-3.83879,3.42076,-2.14558,-5.44427,-0.820272,7.84671,3.0323,-4.30262,-3.92231,-3.77205,-3.66246,-3.23809,-3.33053,-3.73697,-3.93341,26.5271,-13.4719,12.5189,-14.3589,-9.71586,19.4787,7.84113,13.4692 --4.80962,0.0577107,0.562197,3,7,0,14.1445,4.93554,7.82623,0.719114,-1.32628,-1.12114,-0.735451,-0.193551,0.371976,-0.904793,-0.243186,10.5635,-3.83879,3.42076,-2.14558,-5.44427,-0.820272,7.84671,3.0323,-4.30262,-3.92231,-3.77205,-3.66246,-3.23809,-3.33053,-3.73697,-3.93341,6.42855,-26.3854,1.98759,-9.27915,-2.61134,11.3882,4.59909,1.00087 --4.58133,0.999327,0.163331,5,31,0,8.3573,-1.66014,4.07872,0.6463,-0.0514073,0.375196,0.513078,-0.63148,-0.00869818,0.411591,0.977629,0.975936,-0.129822,-4.23577,0.0186214,-1.86982,0.432559,-1.69562,2.32733,-5.24988,-3.55199,-3.69451,-3.51824,-3.12083,-3.31816,-5.16111,-3.95369,-12.5045,13.2676,-5.86727,0.50135,-7.77182,-4.32316,-9.00928,-7.28517 --6.90542,0.969326,0.231391,4,31,0,10.3011,6.87687,0.32305,0.129082,-0.197896,0.415838,-0.862813,0.749429,1.60169,-0.0817234,-0.964517,6.91857,7.0112,7.11897,6.85047,6.81294,6.59814,7.39429,6.56528,-4.6146,-3.22641,-3.89151,-3.31693,-3.49297,-3.44633,-3.78393,-3.85489,7.72689,13.0496,2.74701,8.44457,-2.72136,6.72874,6.08638,7.72599 --7.56011,0.988549,0.311047,4,15,0,10.3373,10.0498,0.143479,0.703867,-0.836295,-0.484694,0.439709,0.00946908,0.295831,-0.701391,0.0474141,10.1508,9.9803,10.0512,9.9492,9.92985,10.1129,10.0923,10.0566,-4.33497,-3.24113,-4.02421,-3.35278,-3.85358,-3.66,-3.53418,-3.81514,23.1951,14.7681,7.70248,17.3772,9.73089,1.05351,10.406,-27.2931 --5.71294,0.999264,0.430803,3,7,0,9.69903,3.10431,0.33753,0.567131,0.735661,0.566179,0.181801,0.805068,0.0245558,0.746581,0.717015,3.29573,3.29541,3.37604,3.3563,3.35262,3.16567,3.1126,3.34632,-4.98321,-3.33219,-3.77093,-3.3717,-3.23311,-3.33621,-4.3297,-3.92488,-3.29917,13.7774,10.5214,0.6247,13.7671,-5.68137,-2.04208,15.745 --6.91758,0.455228,0.605978,3,7,0,11.1931,6.45996,5.61713,-0.492562,-1.17426,0.578797,0.919368,-0.884425,-1.31847,0.819336,-0.589565,3.69317,9.71114,1.49203,11.0623,-0.136007,11.6242,-0.946063,3.14829,-4.93993,-3.23616,-3.73094,-3.38502,-3.12077,-3.78325,-5.01629,-3.93022,-5.95092,7.65541,0.046596,15.4235,-6.04179,11.332,6.28413,30.6811 --8.74071,0.91008,0.346412,3,7,0,14.0262,1.99541,1.38528,1.34292,-1.26905,0.605171,-0.0411464,-2.45488,0.59402,0.656321,-1.21459,3.85573,2.83374,-1.4053,2.9046,0.237418,1.93841,2.81829,0.312856,-4.92242,-3.35497,-3.69649,-3.38614,-3.12561,-3.32047,-4.37394,-4.0201,30.942,-1.24924,14.1245,10.2501,5.28877,11.5447,-1.5828,-3.71858 --6.5786,0.984015,0.420085,3,7,0,12.8207,1.63324,2.66553,1.30989,-0.686439,0.309637,1.1603,-0.0401275,-0.553724,1.2022,-1.55578,5.12479,2.45859,1.52628,4.83773,-0.196484,4.72606,0.157274,-2.51375,-4.78982,-3.37506,-3.73154,-3.33615,-3.12015,-3.3742,-4.81334,-4.13439,27.5878,7.72604,-16.4847,4.57949,-12.4896,-5.21048,-6.13572,-11.2255 --6.79751,0.976386,0.57432,3,7,0,10.7161,6.88747,3.81206,-0.398902,0.308508,-0.897275,0.559545,1.63517,1.99373,-0.199316,-0.316795,5.36683,3.46701,13.1209,6.12767,8.06352,9.02049,14.4877,5.67983,-4.76534,-3.32426,-4.19911,-3.31998,-3.62325,-3.58265,-3.28321,-3.87095,0.681446,-8.44751,2.90472,20.4851,27.5491,18.7126,14.1685,5.90055 --10.8452,0.618411,0.773816,2,3,0,16.5431,8.40452,1.59681,-0.66728,-0.682312,-1.685,-1.79896,-0.707535,-1.97092,-1.74975,-0.311705,7.339,5.71391,7.27472,5.61051,7.315,5.53192,5.25734,7.90679,-4.5756,-3.24765,-3.89772,-3.32481,-3.54295,-3.4017,-4.0334,-3.83517,4.19702,3.99647,1.50333,13.2133,7.45024,13.9786,-10.0722,20.5609 --8.6779,0.946874,0.580798,3,7,0,16.0286,11.1927,8.85443,0.0823975,-0.971706,0.419941,0.970945,0.656286,1.18667,1.01331,0.956274,11.9223,14.9111,17.0038,20.1651,2.58884,19.7899,21.7,19.66,-4.20141,-3.46034,-4.47307,-4.03303,-3.19567,-4.77576,-3.28997,-3.89986,-10.4927,17.2543,23.2911,40.9971,4.09338,12.8033,12.0708,31.0465 --5.42161,0.945342,0.744401,3,15,0,10.2612,2.6243,1.50822,0.268766,-0.177906,0.00147447,-1.11763,-0.452087,0.263736,-0.635679,-1.72304,3.02966,2.62653,1.94246,1.66556,2.35598,0.938671,3.02207,0.025578,-5.01258,-3.36589,-3.73924,-3.43442,-3.18569,-3.31685,-4.34322,-4.03059,-6.73137,-3.52126,15.6502,1.72825,0.980207,12.1521,-4.00519,0.48797 --9.12552,0.191334,0.950157,2,7,0,13.5256,0.848396,0.81153,0.150747,1.69282,-0.0997943,-1.18723,-1.26353,-1.88974,-0.319866,-0.11687,0.970732,0.76741,-0.176997,0.588815,2.22217,-0.11508,-0.685182,0.753552,-5.2505,-3.48308,-3.70709,-3.48668,-3.18025,-3.32197,-4.9672,-4.0045,6.37361,3.79439,-24.5221,26.0971,10.6512,-7.52004,-13.6964,-1.39279 --7.55914,0.992096,0.358846,4,15,0,13.5276,6.81876,6.28359,-1.08999,-1.57599,0.460566,0.638124,-1.26962,1.54459,-1.10691,-0.655107,-0.0302625,9.71277,-1.15902,-0.136618,-3.08413,10.8285,16.5243,2.70234,-5.37298,-3.23619,-3.69815,-3.52729,-3.14298,-3.716,-3.23241,-3.94272,-12.4563,14.1653,-11.4492,1.03756,-13.6635,26.3851,19.35,-21.9605 --4.59246,1,0.494146,3,7,0,10.4175,7.03624,4.284,-0.379699,-1.28284,0.648304,0.554306,-0.466241,0.610688,-1.02733,-0.755417,5.40961,9.81357,5.03886,2.63517,1.54054,9.41088,9.65242,3.80003,-4.76105,-3.23797,-3.81774,-3.39556,-3.156,-3.60916,-3.56993,-3.91307,-1.38221,14.1843,1.2204,8.06131,2.74909,2.16834,26.5606,-10.5577 --5.62854,0.915115,0.687701,3,7,0,7.75439,5.48967,3.55177,-0.604979,0.0407708,0.113865,-0.925161,0.218095,1.66161,-1.66433,-0.467768,3.34093,5.89409,6.2643,-0.421641,5.63448,2.20371,11.3913,3.82827,-4.97826,-3.2437,-3.85916,-3.54444,-3.38787,-3.32282,-3.4399,-3.91236,16.7038,9.13479,1.29666,-7.17893,-7.48282,-15.6033,13.3502,35.2583 --5.62854,0.0127698,0.833922,2,3,0,10.6267,5.48967,3.55177,-0.604979,0.0407708,0.113865,-0.925161,0.218095,1.66161,-1.66433,-0.467768,3.34093,5.89409,6.2643,-0.421641,5.63448,2.20371,11.3913,3.82827,-4.97826,-3.2437,-3.85916,-3.54444,-3.38787,-3.32282,-3.4399,-3.91236,-16.3571,0.596963,12.688,-13.2881,1.8647,9.77075,9.07411,-9.47893 --4.62523,0.99753,0.240019,4,15,0,8.41668,10.8004,2.65468,-0.0745937,-0.275395,-0.428283,-0.410636,0.445891,0.689816,0.00753173,-0.346326,10.6024,9.66346,11.9841,10.8204,10.0693,9.71031,12.6317,9.88103,-4.2996,-3.23536,-4.13005,-3.37715,-3.87252,-3.63034,-3.36562,-3.81624,3.05545,21.511,-5.64679,9.52472,4.80192,7.09302,35.0082,2.27632 --5.12859,0.98869,0.332412,4,15,0,7.85122,-0.283566,1.5718,1.20923,-0.508933,0.512813,0.20629,-0.860159,0.172672,0.511511,0.49407,1.61711,0.522475,-1.63557,0.520429,-1.08351,0.0406818,-0.0121589,0.493014,-5.17378,-3.50109,-3.69516,-3.49032,-3.11621,-3.32064,-4.84371,-4.01365,31.3138,-5.39415,-3.11725,-2.95475,0.257319,-1.77414,-5.52442,22.9325 --5.72449,0.961736,0.453036,3,15,0,10.4555,9.39125,1.55178,-0.350934,1.0548,-0.605013,-0.427151,-0.601665,0.655231,-0.628995,-0.763197,8.84668,8.45241,8.4576,8.41519,11.0281,8.72841,10.408,8.20694,-4.44221,-3.22255,-3.94793,-3.32511,-4.00921,-3.56365,-3.50971,-3.83151,33.0514,11.4485,15.7095,5.81906,-3.2151,14.7644,10.4079,24.5954 --9.6157,0.805601,0.590573,3,7,0,14.1041,7.38352,2.72447,0.348227,0.715226,-2.13475,1.79027,1.42608,0.159338,-0.4409,1.24321,8.33225,1.56746,11.2688,6.1823,9.33213,12.2611,7.81763,10.7706,-4.48659,-3.42841,-4.08918,-3.3196,-3.77513,-3.84085,-3.73993,-3.81164,16.8641,8.00929,-8.2791,9.94275,-1.17198,25.0444,7.71888,6.56952 --5.75055,0.946087,0.601237,3,7,0,15.9529,1.59802,5.52973,0.188954,-0.443852,1.60021,-1.76567,-0.584894,0.213854,0.163768,-0.505451,2.64288,10.4467,-1.63629,2.50361,-0.856365,-8.16568,2.78057,-1.19699,-5.05584,-3.25146,-3.69516,-3.40038,-3.11629,-3.66398,-4.37968,-4.07808,17.8886,12.376,4.55643,-0.918794,-0.901611,5.45191,-3.32375,2.97076 --5.85578,0.164115,0.76282,2,3,0,10.2499,3.50481,1.09484,0.0915941,0.548353,1.86855,-0.371107,-0.929054,0.685084,-0.469313,-0.596343,3.60509,5.55057,2.48764,2.99099,4.10517,3.09851,4.25487,2.85191,-4.94946,-3.25152,-3.75034,-3.38325,-3.27704,-3.33503,-4.16617,-3.93846,24.3516,8.94988,-2.54633,-1.63205,-6.84577,10.2786,1.57222,-30.6396 --5.31898,0.998721,0.284639,4,15,0,8.747,2.29195,5.79774,0.76715,-0.636729,-0.915233,0.36733,-0.434475,-0.912887,1.04875,-0.158037,6.73969,-3.01434,-0.227026,8.37234,-1.39964,4.42163,-3.00074,1.37569,-4.63144,-3.8281,-3.70655,-3.32462,-3.11715,-3.36521,-5.42668,-3.9835,6.29453,4.6172,-7.75474,16.4632,-0.0329005,1.81143,-15.7039,36.9557 --4.51492,0.941873,0.392309,3,7,0,6.87233,3.24348,4.09914,0.540851,0.368605,0.912985,-0.320377,0.710423,2.06276,-0.511305,0.413714,5.46051,6.98594,6.15561,1.14757,4.75445,1.93022,11.699,4.93936,-4.75594,-3.22667,-3.85525,-3.45837,-3.32057,-3.32041,-3.42003,-3.88624,21.5301,0.225304,-2.15837,20.7299,8.20125,-13.3667,30.0182,-3.01175 --4.4665,0.990299,0.494025,3,7,0,6.11912,6.23659,1.09715,0.397116,0.0726155,-0.547747,-0.171234,-1.17975,-0.641212,0.517379,-0.211347,6.67228,5.63563,4.94223,6.80423,6.31626,6.04872,5.53308,6.00471,-4.63781,-3.24947,-3.81473,-3.31699,-3.44658,-3.42216,-3.99864,-3.86478,-4.164,20.6415,-11.8551,4.54052,1.32114,-2.33732,-11.0473,36.5914 --7.58309,0.459011,0.669634,3,7,0,9.51206,6.32324,0.786823,0.844355,-1.53974,-1.25412,0.310897,0.236343,0.644037,1.39522,1.20244,6.9876,5.33648,6.5092,7.42104,5.11174,6.56787,6.82999,7.26935,-4.60815,-3.257,-3.86814,-3.31757,-3.34674,-3.44494,-3.84537,-3.84385,9.45544,2.53656,20.9144,29.6156,4.13804,-3.30386,11.3671,32.5031 --6.53238,0.573207,0.398802,3,15,0,10.0827,4.91549,0.701269,-0.446723,-1.20722,-0.280538,-0.247163,0.617413,-1.02375,1.46587,0.827008,4.60221,4.71875,5.34846,5.94345,4.0689,4.74216,4.19756,5.49544,-4.84356,-3.27536,-3.82765,-3.32145,-3.27477,-3.3747,-4.17406,-3.8746,-5.69376,2.75908,17.3389,18.4157,-2.60532,-17.8294,18.4428,-33.3259 --5.07163,0.994308,0.284033,4,15,0,9.7637,4.2777,1.64175,0.685944,0.395933,0.149052,0.387752,-0.0763284,-1.12974,-0.0918548,1.54252,5.40385,4.52241,4.15239,4.1269,4.92772,4.91429,2.42296,6.81013,-4.76162,-3.28199,-3.79144,-3.35094,-3.33306,-3.38015,-4.43474,-3.85088,-6.69079,6.05211,24.5108,5.75308,-7.0568,15.5661,1.49848,6.6577 --8.58069,0.945571,0.386932,3,7,0,10.8244,-0.205859,0.295782,-0.600571,-0.982284,0.355022,0.922325,-0.0288559,-1.51441,-0.680215,1.00448,-0.383497,-0.10085,-0.214394,-0.407054,-0.496401,0.0669481,-0.653794,0.0912471,-5.41726,-3.54964,-3.70668,-3.54355,-3.11773,-3.32043,-4.96134,-4.02817,-12.0564,-6.27146,-45.2604,-6.29375,-0.0601891,20.4947,-9.83076,17.6635 --7.40997,0.965798,0.488314,3,7,0,13.2905,1.32225,0.983006,-0.727651,-0.718259,0.174683,0.414775,-0.405258,-1.5916,-1.46143,0.81004,0.606961,1.49396,0.923876,-0.114347,0.616195,1.72997,-0.242307,2.11852,-5.2945,-3.43317,-3.7216,-3.52598,-3.13229,-3.31904,-4.88543,-3.95999,2.14648,-0.192015,-12.2298,3.19147,-0.532699,-4.37278,-13.5681,20.2776 --13.5479,0.615214,0.634707,3,7,0,15.8993,8.5795,0.0427846,2.25475,-0.163946,-1.04701,-1.29531,0.605128,1.11845,1.39013,1.30017,8.67597,8.5347,8.60539,8.63897,8.57248,8.52408,8.62735,8.63512,-4.45681,-3.22295,-3.95458,-3.32793,-3.6818,-3.55077,-3.66076,-3.82678,16.5303,9.20771,15.9927,-7.92925,11.4078,14.0794,10.7908,0.912544 --11.555,0.999101,0.483094,3,7,0,18.9242,4.27032,6.49512,-0.660251,1.67827,-0.287541,0.135023,2.53087,0.212075,-1.1443,-0.859029,-0.018085,2.40271,20.7086,-3.16206,15.1709,5.14732,5.64778,-1.30917,-5.37146,-3.37817,-4.78938,-3.74356,-4.73035,-3.38791,-3.98441,-4.08267,-4.72345,2.25366,43.5815,19.0845,7.73103,-5.86562,-2.80806,5.54921 --8.79896,1,0.659468,2,3,0,16.7615,0.699614,0.549971,0.192736,0.822234,-1.7345,0.251163,2.13621,0.421893,0.0546371,0.300114,0.805613,-0.254312,1.87447,0.729663,1.15182,0.837746,0.931643,0.864668,-5.2704,-3.56219,-3.73793,-3.4793,-3.14475,-3.31694,-4.67817,-4.00066,18.2788,-12.2347,-0.172682,2.29967,10.0458,22.0801,1.60461,24.9105 --9.21851,0.33319,0.899835,2,7,0,14.9407,-3.47863,4.38823,1.86567,0.528498,-1.3835,0.0718079,0.543748,-0.565114,-0.340406,-0.0885253,4.70834,-9.54975,-1.09254,-4.97241,-1.15946,-3.16352,-5.95848,-3.8671,-4.83255,-4.76149,-3.69863,-3.90914,-3.11632,-3.38847,-6.09157,-4.19784,1.62082,9.68064,-15.1448,-0.911079,-9.42148,-21.4243,1.44456,-18.4478 --8.96736,0.836537,0.448064,5,39,0,15.3432,6.77515,1.7673,0.666653,-0.803537,0.463318,0.451359,-0.777546,-1.22483,-1.20715,2.67825,7.95332,7.59397,5.40099,4.64176,5.35506,7.57283,4.61051,11.5084,-4.52003,-3.22235,-3.82937,-3.33981,-3.36546,-3.49535,-4.11792,-3.80968,25.9779,12.5034,3.97071,1.68766,13.5155,9.33054,16.6315,-19.8254 --9.76448,0.863434,0.477718,3,7,0,15.4142,0.525829,0.768286,-0.822584,-0.864515,-0.801821,1.2195,-0.0273556,2.30542,0.431891,-1.54624,-0.106151,-0.0901989,0.504812,0.857645,-0.138366,1.46275,2.29705,-0.662127,-5.38245,-3.54878,-3.71552,-3.47274,-3.12075,-3.31772,-4.45444,-4.05673,11.9297,15.8748,-6.63164,-5.97079,6.18442,14.419,-4.06917,-8.26537 --4.54983,0.907094,0.530109,3,7,0,13.7787,4.68423,3.98646,1.0406,0.0890743,-1.72968,-0.0995092,-0.786857,0.143761,-0.053295,0.449315,8.83253,-2.21106,1.54745,4.47177,5.03932,4.28754,5.25733,6.4754,-4.44342,-3.74285,-3.73192,-3.34325,-3.34131,-3.36149,-4.0334,-3.85641,38.7432,-8.5721,-37.9169,17.2901,12.8712,23.3442,-5.3451,-34.532 --6.04627,0.851085,0.627582,3,7,0,9.67848,-0.643208,5.89041,-0.214417,-0.171149,1.50477,0.237191,0.414574,1.42246,1.01234,-1.34597,-1.90621,8.22049,1.7988,5.31988,-1.65135,0.753942,7.73566,-8.57154,-5.6145,-3.22177,-3.7365,-3.3285,-3.11878,-3.31708,-3.74831,-4.46238,5.91278,4.01034,15.3213,0.29455,-10.3971,8.8392,11.5195,-0.244422 --5.0662,1,0.682746,3,7,0,7.38527,9.38748,7.96192,1.31442,-0.425794,-1.25542,-0.482561,-0.328087,-0.203065,-0.740824,0.677259,19.8528,-0.60811,6.77528,3.4891,5.99734,5.54537,7.77069,14.7798,-3.77449,-3.59202,-3.87816,-3.36777,-3.4184,-3.40221,-3.74472,-3.82123,26.8451,-15.5533,0.721363,22.8056,22.9656,-19.9472,19.3432,20.6824 --7.5743,0.401381,0.926572,2,3,0,10.9402,1.65447,1.69475,0.577712,-0.448921,1.47937,1.16336,-1.25478,0.910682,1.29269,-1.351,2.63355,4.16163,-0.472074,3.84526,0.893657,3.62608,3.19785,-0.635149,-5.05689,-3.29519,-3.70401,-3.35796,-3.1383,-3.34533,-4.31704,-4.05568,-2.93461,15.3561,6.8627,-0.608723,17.1564,11.2922,10.2703,12.724 --6.86647,0.333333,0.51635,2,3,0,13.3533,2.48877,6.29308,0.830647,-1.45842,1.85038,0.326494,-1.30638,0.884737,1.14598,-0.816434,7.7161,14.1333,-5.7324,9.70051,-6.68916,4.54342,8.05649,-2.64911,-4.54129,-3.40961,-3.70611,-3.34697,-3.31596,-3.36872,-3.71589,-4.14048,-11.6029,-8.03454,-41.4208,-0.805603,-10.1006,-13.155,6.09048,-14.4115 --8.08405,0.992831,0.261006,4,15,0,13.3207,0.923004,2.64367,-1.08975,0.774881,1.91881,0.61701,0.377248,0.756713,-0.923601,1.67925,-1.95794,5.99571,1.92032,-1.51869,2.97153,2.55418,2.9235,5.36239,-5.62138,-3.24161,-3.73881,-3.6167,-3.21353,-3.32682,-4.35803,-3.8773,-6.86552,-24.8404,-1.19833,16.4808,-7.14827,1.33395,-4.70554,-1.82606 --9.09776,0.962571,0.350509,3,7,0,12.1319,0.604668,3.77001,-1.1609,1.00533,1.94824,0.909473,0.123047,0.0208596,-1.18553,1.57476,-3.77194,7.94954,1.06856,-3.86477,4.39478,4.03339,0.683309,6.54153,-5.87022,-3.22154,-3.72386,-3.80462,-3.29582,-3.35486,-4.72086,-3.85529,4.68108,2.77853,-10.6942,-2.67365,16.204,-11.691,-0.956789,33.6571 --6.72136,0.998996,0.449468,4,23,0,10.6892,8.99354,3.41269,1.6151,-0.872023,-1.33104,-0.439057,-0.161332,-0.293284,-0.0861237,-1.66802,14.5054,4.45112,8.44297,8.69963,6.0176,7.49518,7.99266,3.30111,-4.03167,-3.2845,-3.94727,-3.32877,-3.42016,-3.49116,-3.72226,-3.92609,33.3701,3.84134,23.0292,4.20458,20.4158,10.3346,10.5103,-7.70938 --9.3333,0.535977,0.607198,3,7,0,16.0847,8.83258,2.45696,2.22145,-1.14097,-1.66711,-0.189118,-0.204824,-1.51044,1.06031,-0.215772,14.2906,4.73655,8.32934,11.4377,6.02926,8.36793,5.12149,8.30244,-4.04465,-3.27477,-3.94222,-3.39821,-3.42117,-3.54116,-4.0508,-3.83041,27.856,24.5544,16.7225,37.4905,-6.78923,-6.36803,9.25399,-27.8241 --6.64507,0.955778,0.41576,3,7,0,12.8055,7.29863,3.93908,-0.844934,-0.842452,0.143463,0.0806615,-0.168938,2.4402,-1.26892,-0.128387,3.97037,7.86375,6.63317,2.30025,3.98014,7.61637,16.9108,6.79291,-4.91015,-3.22162,-3.87277,-3.40811,-3.26926,-3.49773,-3.22746,-3.85115,16.3835,12.0048,4.75108,-1.2324,-2.46687,15.1204,5.71335,-5.24467 --6.56042,0.947054,0.526553,3,7,0,12.1731,-1.4995,4.12098,1.03838,-0.333244,0.196839,-0.753468,-1.07622,-0.0498378,0.783804,1.76202,2.77965,-0.688336,-5.9346,1.73054,-2.8728,-4.60453,-1.70489,5.76174,-5.04047,-3.59896,-3.70835,-3.43157,-3.13781,-3.44663,-5.16294,-3.86937,12.2516,-2.33461,-16.5404,0.310773,-8.15411,13.7482,-3.10928,-0.223315 --6.46752,0.946968,0.657614,3,7,0,10.9442,0.597614,3.59055,-0.745314,0.0244183,0.448091,1.71683,1.35213,1.11441,0.517869,-0.420438,-2.07848,2.20651,5.45249,2.45705,0.68529,6.76198,4.59896,-0.911988,-5.63747,-3.38935,-3.83107,-3.40212,-3.1337,-3.45403,-4.11946,-4.06659,-3.34471,3.12968,-42.0706,11.2329,-3.06962,20.1445,-9.75725,21.9833 --5.07629,0.348372,0.820217,2,3,0,9.05491,0.578163,1.44516,-0.0654724,0.586701,0.910363,1.05439,0.610841,0.123067,-0.574962,0.0738349,0.483545,1.89378,1.46093,-0.25275,1.42604,2.10193,0.756015,0.684866,-5.30956,-3.40795,-3.73039,-3.5342,-3.15249,-3.32185,-4.7083,-4.00689,-13.711,8.43536,19.5557,-18.4403,-3.28527,0.66093,2.39598,29.1157 --6.07528,0.993728,0.429297,3,7,0,8.3684,-1.82455,11.629,-0.833632,0.98457,0.48824,-0.179852,-0.145889,0.854309,0.600868,0.500332,-11.5189,3.85321,-3.52109,5.16296,9.62504,-3.91605,8.11024,3.99383,-7.09753,-3.3075,-3.69206,-3.33078,-3.81302,-3.4167,-3.71056,-3.90823,-6.88698,-5.17766,-0.301175,-0.692893,12.9689,-2.10235,5.44617,21.8919 --8.96993,0.992785,0.572828,3,7,0,12.3752,1.56486,2.83502,2.41736,-1.47089,0.885938,0.767261,1.78585,0.862088,-0.803659,0.646267,8.41812,4.07651,6.62777,-0.713534,-2.60515,3.74006,4.00889,3.39704,-4.4791,-3.29849,-3.87257,-3.5627,-3.13207,-3.34786,-4.20028,-3.92352,11.934,10.2154,-5.98671,2.95861,16.658,18.5798,-0.760225,-16.711 --7.41597,1,0.762152,3,7,0,10.651,7.29838,0.906908,-1.33137,0.715177,-0.737995,-0.707929,-1.94317,0.0200356,0.608083,-0.232292,6.09095,6.62909,5.5361,7.84986,7.94698,6.65636,7.31655,7.08771,-4.69367,-3.23092,-3.83384,-3.31982,-3.61029,-3.44904,-3.7922,-3.84655,-5.50185,15.8956,-13.1787,15.9122,15.7444,7.5367,-0.788517,13.9883 --7.28919,0.333378,1.02309,2,3,0,11.3366,4.85116,0.250646,-0.27603,0.199127,0.543954,0.811036,-1.05823,-1.25358,1.3317,-0.230432,4.78198,4.9875,4.58592,5.18495,4.90107,5.05445,4.53696,4.79341,-4.82494,-3.2669,-3.80392,-3.33045,-3.33112,-3.38476,-4.12779,-3.88946,4.53539,0.0317397,6.42644,18.0918,-3.26524,4.87813,2.42677,-12.1105 --4.22546,0.974071,0.527263,3,7,0,10.7068,4.55583,8.96486,0.702669,-0.452726,-0.0172554,-0.998125,0.750209,1.17805,-1.17287,0.164597,10.8552,4.40114,11.2813,-5.95879,0.497211,-4.39222,15.1169,6.03142,-4.2802,-3.28628,-4.08988,-4.01076,-3.13,-3.43698,-3.26309,-3.86429,25.7595,0.181193,3.25446,-22.4392,2.01828,3.98187,21.5288,33.2974 --6.44709,0.486686,0.681611,3,7,0,9.09917,2.27136,4.91696,0.463132,0.265161,-0.824133,1.04978,-0.741862,-0.327925,2.00842,0.622495,4.54856,-1.78086,-1.37634,12.1467,3.57515,7.43309,0.658968,5.33215,-4.84914,-3.69985,-3.69668,-3.42629,-3.24537,-3.48784,-4.72508,-3.87792,12.4852,-17.0926,19.4136,20.3913,0.289975,-5.61403,-11.9159,-0.557026 --8.5399,0.926123,0.439061,3,7,0,11.6996,4.16247,3.38884,-1.03073,-0.915351,1.86542,-0.958341,0.865944,1.65796,-1.48225,-0.840619,0.669486,10.4841,7.09701,-0.860629,1.06049,0.914798,9.78103,1.31374,-5.28689,-3.25238,-3.89065,-3.57216,-3.14237,-3.31686,-3.55928,-3.98554,3.3652,1.68938,-12.2874,-22.5427,17.0727,6.96335,6.03886,-0.0569318 --7.86918,0.96079,0.529692,3,7,0,14.1944,5.61999,1.01165,0.768804,-0.102925,-1.68646,1.08292,-1.32402,-0.0446161,1.52025,0.924932,6.39775,3.91388,4.28054,7.15795,5.51586,6.71553,5.57485,6.55569,-4.664,-3.30501,-3.79506,-3.31694,-3.37824,-3.45182,-3.99345,-3.85505,-12.5418,4.06796,-3.02442,-2.57378,12.4421,20.5597,3.52486,18.3934 --13.2671,0.889316,0.670615,3,7,0,17.2992,3.9172,0.455061,-0.47665,1.05959,0.832151,-1.31218,3.53979,0.296865,1.03615,-1.09281,3.7003,4.29588,5.52802,4.38871,4.39938,3.32008,4.05229,3.41991,-4.93916,-3.29013,-3.83357,-3.34501,-3.29612,-3.33908,-4.19422,-3.92292,10.3839,-4.57287,-3.55323,-1.22161,12.6835,9.58432,-1.95625,-2.67882 --7.4843,0.54579,0.7664,3,15,0,20.2325,4.01659,6.22593,-0.475751,-0.901258,-0.837606,-0.450369,-2.58804,-0.0104434,-0.518397,0.679347,1.05459,-1.19829,-12.0963,0.789087,-1.59458,1.21262,3.95157,8.24615,-5.24044,-3.64457,-3.85314,-3.47624,-3.11835,-3.31702,-4.20832,-3.83106,12.7536,6.25599,14.5161,7.47756,9.71657,8.85438,-1.59282,28.9294 --5.9185,0.705046,0.538822,3,7,0,10.8556,9.32965,3.42836,0.172105,-1.07237,-0.599344,-1.03733,-1.86104,0.892317,-0.57351,0.440458,9.91969,7.27489,2.94935,7.36345,5.65317,5.77333,12.3888,10.8397,-4.35343,-3.22415,-3.76066,-3.31738,-3.3894,-3.41099,-3.37895,-3.81139,23.0319,-10.2595,10.0589,12.2371,9.06619,6.47288,12.5441,-26.1056 --6.88172,0.42151,0.474921,3,7,0,10.409,6.01021,1.06184,-0.0353206,-0.408529,-0.281891,-2.02865,-1.06005,0.665611,-0.300697,1.38813,5.97271,5.71089,4.8846,5.69092,5.57642,3.85611,6.71699,7.48418,-4.70521,-3.24772,-3.81295,-3.32392,-3.38313,-3.35054,-3.85806,-3.84078,-23.9821,-1.28851,-15.757,0.967783,15.4524,-8.14931,-5.84071,-7.42475 --5.81107,0.999357,0.2812,4,15,0,10.1962,2.02661,3.51284,0.69001,0.307063,0.931827,1.79454,0.599295,0.363482,0.450282,-1.24014,4.4505,5.29997,4.13183,3.60837,3.10527,8.33054,3.30346,-2.32979,-4.85939,-3.25797,-3.79087,-3.36437,-3.2202,-3.53889,-4.30146,-4.1262,5.68923,14.6582,-13.2699,20.0498,4.7507,13.0939,-9.08637,-21.793 --5.55994,0.990722,0.375247,4,15,0,8.43185,5.49937,3.17334,-0.146456,-0.458795,-0.520889,-1.92026,-0.727623,0.864766,-0.283137,1.40755,5.03462,3.84641,3.19037,4.60088,4.04346,-0.59426,8.24357,9.96601,-4.79901,-3.30779,-3.76637,-3.34062,-3.27318,-3.32734,-3.69746,-3.81569,6.6268,-4.90292,12.6174,9.11476,2.24764,-2.76009,15.0012,16.1003 --6.88419,0.975024,0.49403,3,7,0,10.0913,9.03573,1.83033,-1.53025,-0.422608,-0.226504,-0.630137,-1.42975,0.888582,-0.843481,0.700459,6.23486,8.62115,6.41882,7.49188,8.26222,7.88237,10.6621,10.3178,-4.6797,-3.22345,-3.8648,-3.31783,-3.64572,-3.51257,-3.49075,-3.81368,13.0894,23.9702,-4.24067,15.2021,4.81742,0.692935,15.4198,-6.98895 --5.32772,1,0.635462,3,7,0,10.0034,3.62521,3.05454,-0.154242,-1.01932,1.44766,-0.0517191,-1.07202,0.634093,-1.38368,0.102186,3.15407,8.04714,0.350679,-0.601294,0.511672,3.46723,5.56207,3.93734,-4.99881,-3.22153,-3.71346,-3.55559,-3.13027,-3.34199,-3.99503,-3.90963,-7.1729,4.07784,-11.1729,11.3916,-0.973713,-6.3349,2.53285,4.31712 --5.03862,0.474894,0.84525,5,35,0,7.14154,4.55183,4.05532,-0.546358,-0.778988,-0.085173,0.201959,-1.08788,-0.470036,-1.42225,0.566985,2.33618,4.20643,0.14015,-1.21583,1.39279,5.37084,2.64569,6.85114,-5.09061,-3.29348,-3.71079,-3.59576,-3.15151,-3.39578,-4.4003,-3.85022,-21.183,24.1787,8.76326,4.04046,7.55884,16.538,-3.1827,8.65545 --5.91707,0.951434,0.541595,3,7,0,8.69174,3.87766,0.444587,-0.0225678,0.335676,0.934464,-0.0371132,0.736789,-0.626836,1.08409,0.934842,3.86763,4.29311,4.20523,4.35963,4.0269,3.86116,3.59898,4.29328,-4.92115,-3.29023,-3.79292,-3.34564,-3.27215,-3.35066,-4.25847,-3.90097,7.95334,-4.25366,7.63427,13.9554,-7.0425,3.68783,18.2186,-55.0947 --4.52038,0.919194,0.672847,3,7,0,7.40369,4.54688,1.16199,-0.785429,0.267145,0.201247,1.20264,0.0658252,0.233832,0.626312,-0.477077,3.63422,4.78073,4.62337,5.27465,4.8573,5.94433,4.81859,3.99252,-4.9463,-3.27334,-3.80503,-3.32913,-3.32794,-3.41785,-4.09027,-3.90826,-3.43275,10.0533,0.109699,3.3415,-12.2038,6.63721,9.98931,-6.767 --6.3964,0.793399,0.798649,2,7,0,9.70132,6.76295,1.87391,1.3782,-1.10355,-0.81448,-0.708073,0.281352,0.162194,-1.42209,1.28743,9.34559,5.23669,7.29018,4.09808,4.69499,5.43609,7.06689,9.17549,-4.40029,-3.2597,-3.89834,-3.35163,-3.31637,-3.39815,-3.81919,-3.82162,26.795,21.8662,13.7172,3.3585,5.51825,7.41285,8.02533,4.37677 --4.82301,0.598289,0.796399,3,7,0,8.75713,7.31895,6.21617,0.364859,-0.538903,1.14311,-0.751152,0.694063,0.687194,-0.414072,-1.34463,9.58697,14.4247,11.6334,4.745,3.96903,2.64966,11.5907,-1.03948,-4.38041,-3.42791,-4.10976,-3.33785,-3.26858,-3.32808,-3.42692,-4.0717,11.6585,11.4139,14.7422,18.3596,3.77469,1.57701,23.0202,-8.07367 --4.75399,0.91382,0.607269,3,7,0,8.1711,4.63218,5.07901,0.709782,-1.22975,0.808024,-0.365189,0.375059,0.203358,0.112747,-1.7328,8.23717,8.73614,6.53711,5.20483,-1.61374,2.77738,5.66504,-4.16872,-4.49492,-3.22423,-3.86918,-3.33015,-3.11849,-3.32989,-3.98228,-4.21275,30.6473,15.7713,-1.13768,9.18469,-0.443913,-8.73117,14.2061,-11.2106 --4.07514,0.923398,0.714787,3,7,0,7.25142,5.76381,4.39773,0.262537,0.510131,-1.05916,-0.0104228,-0.711118,0.702716,0.101711,1.25428,6.91838,1.10592,2.63651,6.21111,8.00723,5.71798,8.85417,11.2798,-4.61462,-3.45917,-3.75358,-3.31941,-3.61697,-3.40881,-3.63975,-3.81011,-6.18132,-12.9669,17.4033,20.6542,20.1801,-7.92591,-4.31059,6.83855 --5.93695,0.672772,0.851783,3,7,0,9.38358,4.94762,5.55479,0.387115,-1.14884,1.13127,-1.35964,0.404171,-0.594738,0.439494,-1.25091,7.09797,11.2316,7.19271,7.38892,-1.43396,-2.60488,1.64398,-2.0009,-4.59787,-3.27374,-3.89444,-3.31746,-3.11733,-3.37053,-4.55912,-4.11182,-28.4366,-0.393384,-16.3191,38.8138,4.46979,8.05415,19.3767,-2.425 --8.65487,0.731127,0.720257,3,7,0,12.0952,5.04453,0.727689,-0.137806,2.25663,-0.331933,1.24047,0.139938,0.813886,-0.3168,1.65705,4.94425,4.80299,5.14636,4.814,6.68666,5.94721,5.63679,6.25035,-4.80825,-3.27263,-3.82114,-3.33658,-3.48088,-3.41797,-3.98577,-3.86033,9.69971,6.31983,-21.2382,2.29577,-1.05004,7.22217,6.60568,1.85846 --7.45454,0.934497,0.659941,3,7,0,13.4843,3.74284,2.67083,1.13652,-2.16084,0.600945,-0.309078,-0.321359,-1.11529,0.840708,-1.29837,6.7783,5.34786,2.88454,5.98823,-2.02841,2.91734,0.764083,0.275111,-4.62779,-3.25669,-3.75916,-3.32106,-3.12269,-3.33202,-4.70691,-4.02146,47.5083,1.90025,9.21178,-8.91106,-7.81806,-5.57468,-3.75656,7.03827 --8.4699,0.29035,0.797519,3,7,0,19.037,5.28279,2.53295,0.377133,-2.23859,-1.85325,-0.822226,0.575467,1.12608,-1.17049,0.838584,6.23805,0.588594,6.74042,2.31799,-0.387454,3.20013,8.1351,7.40688,-4.67939,-3.49617,-3.87683,-3.40742,-3.11848,-3.33684,-3.7081,-3.84187,-8.48864,14.2745,16.3325,-8.61371,4.57841,4.38383,12.1582,18.931 --7.99066,0.960904,0.401998,3,7,0,14.7825,5.49151,1.58046,0.128516,-2.38275,-1.41188,-1.3835,0.799582,0.516119,-0.698502,0.122205,5.69462,3.26007,6.75522,4.38755,1.72566,3.30493,6.30721,5.68465,-4.73261,-3.33386,-3.87739,-3.34504,-3.16202,-3.33879,-3.90513,-3.87086,26.4886,0.128127,35.8029,13.9634,-20.2892,12.764,13.6207,-1.29346 --7.94519,0.998684,0.503593,3,7,0,12.734,7.61535,3.18193,-1.79125,0.155916,-1.1822,1.24316,-0.544167,-0.348541,-0.333757,-1.22995,1.91572,3.85368,5.88385,6.55336,8.11146,11.571,6.50632,3.70173,-5.13897,-3.30748,-3.84567,-3.31766,-3.62862,-3.77859,-3.88205,-3.91558,6.41054,5.55041,-8.67632,-6.57146,7.98274,19.32,-3.98853,10.3478 --7.12237,0.372363,0.663182,3,7,0,17.9923,0.847465,1.12597,1.79252,-0.291743,1.31781,-1.25379,0.511648,-0.480682,0.367836,0.320867,2.86579,2.33128,1.42357,1.26164,0.518971,-0.564263,0.306232,1.20875,-5.03083,-3.3822,-3.72975,-3.4529,-3.13041,-3.32695,-4.78687,-3.98902,-6.68893,7.3476,-28.0777,-8.44481,-2.83075,14.4873,6.03646,-10.9177 --7.12237,0.0202248,1.50085,1,2,1,14.5853,0.847465,1.12597,1.79252,-0.291743,1.31781,-1.25379,0.511648,-0.480682,0.367836,0.320867,2.86579,2.33128,1.42357,1.26164,0.518971,-0.564263,0.306232,1.20875,-5.03083,-3.3822,-3.72975,-3.4529,-3.13041,-3.32695,-4.78687,-3.98902,-23.8974,4.1267,4.20292,-6.66184,-3.91918,-9.04134,-22.1364,21.0722 --7.12237,0,3.63585,0,1,1,12.2552,0.847465,1.12597,1.79252,-0.291743,1.31781,-1.25379,0.511648,-0.480682,0.367836,0.320867,2.86579,2.33128,1.42357,1.26164,0.518971,-0.564263,0.306232,1.20875,-5.03083,-3.3822,-3.72975,-3.4529,-3.13041,-3.32695,-4.78687,-3.98902,-0.297514,-2.56475,-12.9502,2.49937,-2.7804,9.68157,-18.1377,10.9337 --6.89133,0.990364,0.362421,4,15,0,9.74702,-0.708067,1.17697,0.846385,-0.141813,2.01202,-0.608161,0.078278,0.0658095,-0.435962,0.507198,0.2881,1.66001,-0.615936,-1.22118,-0.874976,-1.42385,-0.630611,-0.111112,-5.33354,-3.4225,-3.70263,-3.59612,-3.11626,-3.34111,-4.95702,-4.03567,-19.6394,-3.32752,32.1227,-33.3111,-7.80574,-6.70957,-10.6137,-2.42926 --4.48295,0.82988,0.37019,3,7,0,10.7567,5.21962,16.4094,0.044052,-0.513033,-0.66657,-0.153257,-0.277647,0.402192,0.0261507,1.44886,5.94249,-5.71837,0.663608,5.64874,-3.19893,2.70478,11.8193,28.9945,-4.70818,-4.16249,-3.71774,-3.32438,-3.14601,-3.32884,-3.41253,-4.25501,8.75546,0.101576,-8.28734,12.4614,0.127912,-12.1072,12.705,9.39764 --4.5094,0.881668,0.308585,4,15,0,9.87586,5.43099,2.57786,1.29503,1.03257,0.780969,-0.141379,0.448378,0.435306,0.0500287,0.976728,8.76939,7.44422,6.58684,5.55995,8.09282,5.06653,6.55314,7.94886,-4.4488,-3.22307,-3.87103,-3.3254,-3.62653,-3.38517,-3.87668,-3.83464,19.521,13.5239,-19.1685,13.6406,3.84182,0.614052,15.7812,8.38624 --3.00914,0.993462,0.332461,4,15,0,7.276,1.15548,10.1626,0.119946,-0.658355,-0.0120678,-0.154817,-0.263416,0.610459,0.333607,-0.682411,2.37444,1.03284,-1.52151,4.54578,-5.53511,-0.41786,7.35932,-5.77957,-5.08625,-3.46423,-3.6958,-3.34172,-3.24312,-3.32514,-3.78764,-4.29714,-2.53014,-18.2292,-19.6855,5.0813,-6.36032,3.30799,-5.11118,-5.03305 --7.34822,0.255045,0.542444,3,7,0,10.7854,0.40328,3.27257,0.455768,-0.9876,1.58902,0.0951488,-0.211072,-0.53691,0.0493811,2.23476,1.89481,5.60346,-0.287469,0.564883,-2.82871,0.714661,-1.3538,7.71668,-5.14139,-3.25024,-3.7059,-3.48795,-3.13681,-3.31717,-5.09437,-3.83762,11.2495,-2.93747,-3.60668,-4.45879,-7.53402,13.5017,-2.91262,9.775 --4.80928,0.999541,0.0941377,5,31,0,10.5213,3.68075,2.34635,0.873692,0.632189,1.04012,1.23962,0.706695,0.19287,-0.644159,-0.233573,5.73074,6.12124,5.33891,2.16933,5.16409,6.58933,4.13329,3.13271,-4.72903,-3.23917,-3.82734,-3.41326,-3.35071,-3.44593,-4.18295,-3.93065,-13.8175,9.6104,-13.3288,6.57032,4.98004,-10.7694,-5.65754,21.6882 --8.77332,0.985058,0.167821,4,31,0,10.8734,-1.14596,4.7344,1.87813,0.617022,1.43827,-0.00447018,1.95271,0.386574,-1.18973,0.798785,7.74584,5.66336,8.09896,-6.77863,1.77527,-1.16713,0.684232,2.6358,-4.53861,-3.24882,-3.93213,-4.10134,-3.16371,-3.33624,-4.7207,-3.94463,27.3314,11.585,15.9054,-18.6451,5.81044,9.86929,14.2031,8.79748 --9.18209,0.997159,0.294582,4,15,0,13.0443,7.87503,1.87143,-0.98685,-0.954905,-1.10752,0.420624,-2.26494,0.848293,1.57524,-0.910307,6.02821,5.80239,3.63636,10.823,6.088,8.6622,9.46255,6.17146,-4.69979,-3.24567,-3.77755,-3.37723,-3.42628,-3.55943,-3.58596,-3.86174,3.8901,-8.7595,14.1413,34.0367,11.3521,20.4812,-3.01321,3.27294 --7.94855,0.942244,0.546521,3,7,0,14.4884,8.41064,3.97085,-0.901188,-2.25939,-1.0918,0.159443,-0.297649,1.71019,0.917379,0.250096,4.83216,4.07526,7.22872,12.0534,-0.561059,9.04377,15.2016,9.40374,-4.81976,-3.29854,-3.89588,-3.42236,-3.11735,-3.5842,-3.26068,-3.81971,28.2711,28.0067,24.3523,12.1067,-8.33859,-2.72758,-7.11771,0.890196 --4.14875,0.864459,0.859746,3,15,0,9.74753,3.36818,2.36014,-0.409785,0.255224,-0.631956,0.441058,-0.843204,1.15294,0.930633,0.0413482,2.40103,1.87667,1.3781,5.56461,3.97054,4.40914,6.08928,3.46577,-5.08323,-3.409,-3.72896,-3.32535,-3.26867,-3.36486,-3.93085,-3.92171,15.2188,1.31795,-5.52373,-10.6544,-12.5667,7.11341,0.84956,8.83607 --4.27314,0.539858,1.06235,2,3,0,6.96824,2.3554,3.59418,0.027676,-0.937414,0.633891,-0.0608433,-0.971592,-0.197728,-0.170972,-1.11213,2.45488,4.63372,-1.13667,1.7409,-1.01383,2.13672,1.64473,-1.6418,-5.07711,-3.27818,-3.69831,-3.43112,-3.11616,-3.32217,-4.559,-4.0965,-13.0784,-14.0118,19.611,6.06512,1.78806,-6.05557,-11.939,3.78426 --6.56522,0.919183,0.475482,3,7,0,9.27014,5.1071,3.222,1.56654,-1.30903,-1.03816,0.523988,1.47604,0.70841,-0.853771,-0.68619,10.1545,1.76214,9.86289,2.35625,0.889394,6.79539,7.3896,2.89619,-4.33468,-3.41608,-4.01468,-3.40594,-3.1382,-3.45562,-3.78443,-3.93721,4.21622,13.1464,26.449,-8.09059,-5.283,-11.5417,7.40774,-28.235 --4.8803,0.986295,0.702679,2,7,0,8.31388,1.9735,3.29192,0.366789,-1.06128,-0.478519,1.1309,1.02007,0.0220795,0.110817,-0.693298,3.18094,0.39825,5.33151,2.3383,-1.52015,5.69635,2.04618,-0.308783,-4.99585,-3.51046,-3.8271,-3.40663,-3.11783,-3.40797,-4.49414,-4.04312,23.6881,-3.94236,28.5431,8.70273,2.49984,-13.0035,9.23145,-15.3963 --4.8803,2.31201e-65,1.27591,1,1,0,8.74468,1.9735,3.29192,0.366789,-1.06128,-0.478519,1.1309,1.02007,0.0220795,0.110817,-0.693298,3.18094,0.39825,5.33151,2.3383,-1.52015,5.69635,2.04618,-0.308783,-4.99585,-3.51046,-3.8271,-3.40663,-3.11783,-3.40797,-4.49414,-4.04312,-11.9047,-5.95141,-6.05782,4.97542,-3.3706,-5.3644,4.24766,2.92008 --5.40258,0.986576,0.110714,4,15,0,9.0922,3.37785,0.499964,1.03875,-0.681095,-0.264269,1.19016,0.372695,0.193791,-0.173609,0.0701408,3.89719,3.24573,3.56419,3.29105,3.03733,3.97289,3.47474,3.41292,-4.91798,-3.33454,-3.77568,-3.37368,-3.21678,-3.35335,-4.27644,-3.9231,3.7977,-11.5687,-11.0255,-10.402,7.93508,-8.91311,5.30984,-12.5945 --6.12418,0.983789,0.202982,3,15,0,14.0342,4.30758,1.5057,0.432666,-0.176674,-0.39737,0.518757,-0.414775,-1.01705,1.75829,-1.20058,4.95904,3.70926,3.68305,6.95504,4.04156,5.08867,2.7762,2.49987,-4.80673,-3.31358,-3.77876,-3.31684,-3.27306,-3.38591,-4.38034,-3.94859,-16.9695,7.83916,-2.20098,11.9723,26.93,19.5433,-12.1918,15.2353 --6.29803,0.993276,0.366306,4,15,0,10.2459,6.76974,5.43947,0.260394,0.383799,0.023458,-0.765795,-1.06768,2.42001,-1.02161,0.618117,8.18615,6.89734,0.962121,1.21271,8.85741,2.60422,19.9333,10.132,-4.49941,-3.2276,-3.72219,-3.45523,-3.71597,-3.32747,-3.24021,-3.8147,20.7021,2.57189,11.7664,-17.1369,14.9401,-12.9455,19.9577,9.30831 --6.58528,0.200356,0.67471,3,7,0,11.4094,8.73098,0.685618,-0.261798,1.2791,-0.507933,-0.245581,0.888336,0.634101,0.597519,-0.868526,8.55149,8.38274,9.34004,9.14065,9.60796,8.56261,9.16574,8.13551,-4.46753,-3.22226,-3.98894,-3.33577,-3.81079,-3.55317,-3.61174,-3.83236,-10.2422,11.7993,11.8601,35.5632,-4.06232,16.8821,14.5843,-0.905885 --6.96977,0.999887,0.115815,5,31,0,9.57328,0.961052,0.541267,0.329048,-0.509278,0.768865,-0.0154625,-0.762815,-0.80832,-1.38927,1.01122,1.13916,1.37721,0.548165,0.209088,0.685397,0.952683,0.523536,1.50839,-5.23033,-3.44083,-3.71612,-3.5074,-3.1337,-3.31684,-4.74866,-3.97918,5.91495,5.96124,10.3558,3.43084,-10.7297,7.3956,5.04404,-0.466393 --6.15105,0.995402,0.21781,4,15,0,9.28782,7.78099,11.5883,0.254201,0.660558,-0.179554,0.460658,-0.0536758,1.59212,0.367266,0.639579,10.7268,5.70027,7.15898,12.037,15.4357,13.1192,26.231,15.1926,-4.29002,-3.24797,-3.8931,-3.42167,-4.78366,-3.92376,-3.56027,-3.82504,18.5369,-4.33751,-18.753,-15.3336,15.2252,19.3489,24.4077,-4.8546 --7.9865,1,0.400304,3,15,0,10.7741,4.72895,0.669135,2.1472,0.172269,-0.871143,-0.798317,1.14823,0.903081,-0.579274,-0.907571,6.16572,4.14604,5.49727,4.34134,4.84423,4.19477,5.33324,4.12167,-4.6864,-3.29579,-3.83255,-3.34604,-3.327,-3.35901,-4.02376,-3.90509,13.7198,7.19536,6.86544,21.3789,10.3076,10.1811,8.16826,16.9565 --5.54135,0.990847,0.738319,2,3,0,10.1014,7.91739,1.45122,0.363326,-0.0896564,-0.765336,0.414222,0.21092,1.90544,-0.423063,-0.419884,8.44465,6.80672,8.22348,7.30343,7.78728,8.51852,10.6826,7.30804,-4.47679,-3.22864,-3.93756,-3.31721,-3.59281,-3.55042,-3.48925,-3.84328,-29.97,35.5713,32.8477,9.49034,12.5274,6.20959,1.11875,29.317 --5.54135,0,1.31299,0,1,1,11.0114,7.91739,1.45122,0.363326,-0.0896564,-0.765336,0.414222,0.21092,1.90544,-0.423063,-0.419884,8.44465,6.80672,8.22348,7.30343,7.78728,8.51852,10.6826,7.30804,-4.47679,-3.22864,-3.93756,-3.31721,-3.59281,-3.55042,-3.48925,-3.84328,-11.1088,-15.0203,29.0057,-0.269891,15.9765,4.53614,-9.92845,-22.7576 --6.60501,0.9956,0.13634,5,31,0,10.8913,5.30768,0.809929,1.94484,0.092817,1.05429,-0.485737,-0.620711,-0.200589,0.836699,0.830415,6.88287,6.16158,4.80495,5.98535,5.38286,4.91427,5.14522,5.98026,-4.61795,-3.23842,-3.81051,-3.32109,-3.36765,-3.38015,-4.04775,-3.86523,14.784,8.35466,-8.91253,9.32016,13.4148,1.32621,15.7159,9.27486 --6.18652,0.91639,0.246983,4,15,0,14.1681,-1.61775,2.20593,-0.473654,-0.00905635,-0.71977,0.486007,0.147417,1.58997,-0.37447,-0.581453,-2.6626,-3.20552,-1.29256,-2.44381,-1.63773,-0.545656,1.88961,-2.9004,-5.71631,-3.84934,-3.69722,-3.68537,-3.11867,-3.32671,-4.51925,-4.15194,-38.6399,10.7998,-9.47058,-20.4965,-1.85215,3.62048,-4.50748,2.78774 --11.4445,0.973801,0.354641,3,7,0,17.3207,-0.543786,6.2187,-0.207189,0.403587,-1.50972,0.185122,-0.715685,2.78346,1.01749,2.34757,-1.83223,-9.93226,-4.99442,5.78368,1.966,0.607435,16.7657,14.055,-5.60468,-4.82935,-3.6993,-3.32295,-3.17047,-3.31747,-3.22914,-3.81583,28.3747,9.74976,4.74102,-9.01795,-7.38638,8.00162,29.9464,0.763341 --11.3356,0.562718,0.593944,3,7,0,13.7419,9.38103,1.49884,0.386309,-0.0298448,1.57996,-0.199761,0.741988,-2.1751,-0.963511,-2.2813,9.96004,11.7491,10.4931,7.93688,9.3363,9.08162,6.12091,5.96173,-4.35019,-3.2918,-4.04712,-3.32046,-3.77566,-3.58672,-3.92709,-3.86558,6.56414,-4.75965,10.6803,28.6121,14.0697,9.38943,30.435,-10.6115 --9.37307,0.99683,0.316908,4,15,0,14.0585,0.450273,2.74728,-0.168728,-0.275646,-0.356439,-0.0314581,-0.968673,2.72413,0.994837,2.28114,-0.0132708,-0.528964,-2.21094,3.18337,-0.307004,0.363848,7.93422,6.71719,-5.37086,-3.58524,-3.69274,-3.37703,-3.11913,-3.31851,-3.72812,-3.85238,18.8311,8.20844,-0.192149,9.41146,5.83757,9.99264,9.34085,7.12859 --6.37889,0.995332,0.561043,3,7,0,13.0195,2.90946,7.27153,0.756814,0.838825,0.371539,-0.171376,-1.97147,-0.578587,-0.694121,0.391208,8.41266,5.61112,-11.4262,-2.13786,9.00901,1.6633,-1.29775,5.75415,-4.47958,-3.25006,-3.8302,-3.66188,-3.73456,-3.31865,-5.08354,-3.86951,30.1747,4.05712,2.05583,1.10547,17.2811,-1.79953,-5.86744,31.9141 --4.17363,0.933913,0.979924,2,7,0,8.11831,5.80236,2.82093,0.510644,1.07664,-0.250488,-1.14785,-0.35089,0.282863,0.703818,0.434952,7.24285,5.09575,4.81253,7.78778,8.83949,2.56436,6.6003,7.02933,-4.58445,-3.2637,-3.81074,-3.3194,-3.71379,-3.32695,-3.87129,-3.84744,17.0653,14.8737,6.65002,-3.15069,-8.25203,2.22084,7.48425,-1.19219 --4.17363,0.10008,1.43734,3,8,1,12.4165,5.80236,2.82093,0.510644,1.07664,-0.250488,-1.14785,-0.35089,0.282863,0.703818,0.434952,7.24285,5.09575,4.81253,7.78778,8.83949,2.56436,6.6003,7.02933,-4.58445,-3.2637,-3.81074,-3.3194,-3.71379,-3.32695,-3.87129,-3.84744,19.2331,-17.9312,-1.51014,23.8307,-2.08559,10.9438,7.03627,39.1537 --9.98796,0.959218,0.22576,4,15,0,11.7896,0.907275,0.179496,-1.47322,-0.543558,0.00940428,0.167737,0.0793804,0.876337,2.34556,0.546389,0.642838,0.908963,0.921524,1.32829,0.809709,0.937383,1.06457,1.00535,-5.29013,-3.47294,-3.72156,-3.44976,-3.13638,-3.31685,-4.65557,-3.99586,16.621,10.197,4.04587,-3.99452,-8.31155,14.0963,-7.19981,27.176 --3.99311,0.967892,0.356086,3,7,0,17.3761,6.38252,3.1096,1.09035,-0.728188,0.359752,-0.673826,-0.665463,0.304515,-1.22026,-0.329164,9.77305,7.5012,4.31319,2.58801,4.11814,4.28719,7.32943,5.35895,-4.36526,-3.22277,-3.79599,-3.39727,-3.27786,-3.36149,-3.79083,-3.87737,12.4301,20.9102,3.67695,0.108946,8.1797,0.368555,5.48587,4.38621 --4.82418,0.949311,0.570408,3,7,0,7.28339,1.89506,6.86167,-0.832748,0.369588,-0.0554061,0.675816,0.462027,0.325855,1.1999,0.508376,-3.81898,1.51488,5.06534,10.1284,4.43105,6.53229,4.13097,5.38337,-5.87687,-3.43181,-3.81858,-3.35727,-3.29824,-3.44331,-4.18327,-3.87687,6.22113,-5.53396,25.4678,2.14096,4.59182,7.76868,13.1378,6.70075 --4.82418,0.244869,0.863997,2,3,0,12.0289,1.89506,6.86167,-0.832748,0.369588,-0.0554061,0.675816,0.462027,0.325855,1.1999,0.508376,-3.81898,1.51488,5.06534,10.1284,4.43105,6.53229,4.13097,5.38337,-5.87687,-3.43181,-3.81858,-3.35727,-3.29824,-3.44331,-4.18327,-3.87687,-6.85627,24.0286,6.3239,4.59213,-9.22813,4.55128,0.784916,-0.45609 --7.96345,0.951332,0.209949,4,15,0,13.0768,8.08236,0.591805,1.18857,0.296738,0.967604,-0.435931,0.21705,1.95459,-0.981572,-0.611249,8.78576,8.65499,8.21081,7.50146,8.25797,7.82437,9.23909,7.72062,-4.4474,-3.22367,-3.937,-3.31787,-3.64524,-3.50928,-3.60529,-3.83757,24.3753,13.4164,-2.89751,31.4023,20.7288,-10.6121,0.943594,4.94872 --7.26023,0.980474,0.320023,4,15,0,12.734,-2.62591,7.54484,-0.857507,0.23887,0.321459,0.548091,-1.01539,0.0844181,-0.298921,1.1483,-9.09566,-0.200553,-10.2868,-4.88122,-0.823677,1.50934,-1.98899,6.03782,-6.68496,-3.55777,-3.79523,-3.90015,-3.11636,-3.31791,-5.21932,-3.86417,-14.6402,13.5613,7.86996,-25.0944,-11.0671,14.5743,8.19552,8.54997 --6.43157,0.988487,0.522002,3,7,0,10.7497,-0.694482,3.32573,-1.0585,-0.611891,1.13321,0.317629,-0.915854,1.33253,-0.836718,0.109437,-4.21476,3.07426,-3.74037,-3.47718,-2.72947,0.361869,3.73715,-0.330522,-5.93319,-3.34284,-3.6926,-3.77043,-3.13463,-3.31852,-4.23867,-4.04394,-3.72097,13.3151,10.0639,-3.89799,-6.02677,1.04877,0.666197,-17.3958 --6.79908,0.317747,0.862429,2,3,0,10.3678,1.41696,3.81896,-0.180051,-0.742721,1.4149,0.156367,-0.451063,2.50416,0.201391,1.42453,0.729352,6.8204,-0.305632,2.18607,-1.41946,2.01412,10.9802,6.85719,-5.27963,-3.22848,-3.70571,-3.41259,-3.11725,-3.32108,-3.46791,-3.85013,20.5634,6.53921,-11.8879,-5.98546,-0.458243,8.30767,8.21848,6.42336 --6.02392,0.997976,0.26244,4,15,0,11.5752,2.76592,5.65889,0.269961,-0.619783,-0.351081,-1.14945,-0.466436,2.39061,0.120404,1.52718,4.2936,0.779194,0.12641,3.44727,-0.741361,-3.73871,16.2941,11.4081,-4.87586,-3.48222,-3.71062,-3.36899,-3.11658,-3.40962,-3.23607,-3.80985,15.0622,-8.73528,-0.379044,-5.4656,-0.5572,-2.32316,30.2564,9.23969 --7.12765,0.924505,0.442838,3,15,0,9.79347,5.34446,0.557421,0.588151,-0.0980776,0.0153352,0.962812,0.106961,-1.69768,-0.146219,-1.55717,5.67231,5.35301,5.40409,5.26296,5.28979,5.88116,4.39814,4.47647,-4.73482,-3.25656,-3.82947,-3.3293,-3.36037,-3.41529,-4.14658,-3.89666,4.50419,16.7229,-3.57569,3.48371,2.29822,3.24219,3.15623,23.6065 --7.76049,0.852472,0.618229,3,7,0,13.9178,4.78942,0.474197,0.524858,0.0799262,0.811577,2.32898,0.56347,-0.744069,-0.123477,-0.700401,5.0383,5.17427,5.05661,4.73087,4.82732,5.89381,4.43658,4.45729,-4.79863,-3.26145,-3.8183,-3.33811,-3.32578,-3.4158,-4.14135,-3.89711,28.7515,2.372,-9.70119,4.6775,5.73365,-2.7664,13.0404,14.9878 --9.35059,0.463484,0.719563,2,7,0,13.8643,10.1456,0.861007,-1.50484,-0.57572,1.1976,-0.00842597,-1.51873,0.389287,-0.218763,-1.62813,8.84994,11.1768,8.83799,9.95726,9.64992,10.1384,10.4808,8.74378,-4.44193,-3.27198,-3.96523,-3.35297,-3.81629,-3.66192,-3.50422,-3.82567,2.35104,9.2777,-7.09802,15.3534,13.2595,24.7164,-14.2178,-12.7084 --7.7343,0.980981,0.323531,4,15,0,14.1507,5.90573,0.420652,1.13952,1.72613,0.408416,0.782748,0.583886,-0.261059,1.02549,0.910736,6.38507,6.07753,6.15134,6.3371,6.63183,6.23499,5.79591,6.28883,-4.66522,-3.24,-3.8551,-3.31865,-3.4757,-3.43008,-3.96622,-3.85965,14.1011,1.52228,18.6674,14.9983,-1.54324,-2.89088,2.60725,-14.9607 --5.46676,0.854159,0.5152,3,7,0,10.912,9.58009,2.20707,-0.314878,-0.402162,1.06118,-0.453308,-0.970252,0.20413,1.00581,0.483059,8.88514,11.9222,7.43868,11.8,8.69249,8.57961,10.0306,10.6462,-4.43894,-3.29844,-3.90435,-3.41204,-3.69607,-3.55423,-3.53908,-3.81214,18.957,27.2057,26.1589,-12.324,3.7666,0.685077,11.8511,19.0874 --4.08374,1,0.600748,3,7,0,7.83901,0.0104924,7.11243,1.94868,0.0380325,-0.305578,0.371236,0.723505,0.7635,0.394666,-0.244497,13.8704,-2.16291,5.15637,2.81753,0.280996,2.65088,5.44083,-1.72847,-4.07065,-3.73795,-3.82146,-3.38912,-3.12629,-3.3281,-4.01019,-4.10016,16.9482,9.21238,23.6655,-0.438905,-9.90762,-7.54524,-2.26621,-7.74847 --4.08374,0.00482967,0.990292,2,7,0,12.0637,0.0104924,7.11243,1.94868,0.0380325,-0.305578,0.371236,0.723505,0.7635,0.394666,-0.244497,13.8704,-2.16291,5.15637,2.81753,0.280996,2.65088,5.44083,-1.72847,-4.07065,-3.73795,-3.82146,-3.38912,-3.12629,-3.3281,-4.01019,-4.10016,47.5189,-5.7527,33.1614,-16.7015,-0.526181,-1.62922,-8.17529,13.6866 --7.39284,0.988832,0.152862,4,15,0,9.40933,0.467311,5.29418,2.44886,0.139144,-1.52021,0.0985774,0.584874,0.791412,0.521561,-0.857122,13.432,-7.58098,3.56374,3.22855,1.20397,0.989198,4.65719,-4.07045,-4.0986,-4.43536,-3.77567,-3.37561,-3.14615,-3.31683,-4.11168,-4.20786,-3.05281,-13.505,-13.6225,4.96518,6.23859,-0.431019,-0.581437,16.6038 -# Adaptation terminated -# Step size = 0.436713 -# Diagonal elements of inverse mass matrix: -# 10.4634, 1.33203, 1.08422, 0.887361, 0.979304, 0.736565, 0.685875, 0.729361, 0.796152, 0.916666 --3.96798,1,0.436713,3,7,0,9.42343,2.58808,6.51356,1.86627,-0.862259,-0.730425,-0.205932,0.287435,1.16766,-0.0843556,0.34937,14.7442,-2.16959,4.46031,2.03863,-3.02829,1.24673,10.1937,4.86373,-4.01747,-3.73863,-3.80023,-3.41855,-3.14156,-3.31709,-3.52621,-3.8879,18.4242,-10.681,9.69277,9.44694,2.8361,8.83929,19.1675,-0.399984 --5.69167,0.873969,0.436713,3,7,0,10.2911,-0.34126,2.70165,1.65556,0.187138,-0.186241,-0.608195,0.862927,-0.477933,-0.503536,0.172601,4.13148,-0.844418,1.99007,-1.70164,0.164322,-1.98439,-1.63247,0.125047,-4.893,-3.61264,-3.74016,-3.62972,-3.12453,-3.35364,-5.14869,-4.02693,-7.79377,-1.92683,4.51147,-3.38587,-6.41704,-15.943,5.05281,-31.593 --6.18838,0.955452,0.436713,3,15,0,11.1231,-1.52177,4.69945,0.294962,0.169135,1.29322,1.34776,0.0657089,1.6886,1.40727,0.15206,-0.135613,4.55566,-1.21297,5.09162,-0.726931,4.81196,6.41371,-0.80717,-5.38613,-3.28084,-3.69776,-3.33188,-3.11662,-3.37688,-3.89273,-4.06243,12.1786,3.997,12.8206,3.03726,-8.32866,12.731,13.0922,-20.635 --5.47981,0.938909,0.436713,3,15,0,12.5305,3.39813,3.07643,0.372491,0.108266,-0.681923,1.71644,-0.671446,1.1821,-0.279478,-1.04251,4.54407,1.30024,1.33248,2.53834,3.7312,8.67864,7.03477,0.190922,-4.84961,-3.44596,-3.72819,-3.39909,-3.25434,-3.56048,-3.8227,-4.02452,14.6397,14.3096,7.01371,14.6859,2.52803,32.4815,8.74598,12.1148 --6.58728,0.971347,0.436713,3,7,0,10.5251,4.6942,5.60387,0.0547252,-0.787636,-0.31638,-1.76158,-1.83837,0.692558,-1.07099,0.914013,5.00087,2.92125,-5.60777,-1.30751,0.280388,-5.17749,8.5752,9.81621,-4.80246,-3.35049,-3.70481,-3.60202,-3.12628,-3.47453,-3.66566,-3.81667,-3.63755,2.8184,-31.5707,-6.29619,-6.91025,-8.31978,7.97653,26.2879 --5.08232,1,0.436713,3,7,0,8.43049,3.96614,4.24413,1.09092,-0.0912902,0.423883,1.24591,1.43458,0.425733,1.08454,-0.176263,8.59614,5.76516,10.0547,8.56909,3.5787,9.25393,5.77301,3.21806,-4.46368,-3.2465,-4.02439,-3.32701,-3.24557,-3.59835,-3.96902,-3.92833,18.114,5.13757,-4.0792,12.0623,14.8888,3.76665,-1.93895,24.7885 --6.54257,0.956062,0.436713,3,7,0,11.5735,3.74937,0.889362,0.962199,-0.884897,0.118793,0.375338,0.648702,-0.963035,1.64795,0.854405,4.60511,3.85502,4.3263,5.215,2.96238,4.08318,2.89288,4.50925,-4.84326,-3.30743,-3.79636,-3.33,-3.21308,-3.35611,-4.36265,-3.8959,-10.5571,2.06944,12.1755,2.72949,-7.47344,3.63252,4.38922,9.35362 --4.46296,0.98865,0.436713,3,7,0,9.09274,4.86241,2.57513,0.234876,-1.37031,0.0529805,-0.25407,-0.0625208,-1.28752,0.331987,0.209023,5.46725,4.99884,4.70141,5.71732,1.33368,4.20814,1.54689,5.40067,-4.75527,-3.26656,-3.80737,-3.32363,-3.14978,-3.35936,-4.57505,-3.87652,-33.4449,12.0451,2.49826,-4.59061,-11.042,18.3368,3.40376,-13.6994 --6.36814,0.963227,0.436713,3,15,0,8.68757,4.24016,3.4397,0.000935688,1.42619,-0.0964177,-0.609634,-0.958872,2.4006,-0.0867755,0.25149,4.24338,3.90851,0.941924,3.94168,9.14582,2.1432,12.4975,5.10521,-4.88116,-3.30522,-3.72188,-3.35548,-3.75158,-3.32223,-3.37291,-3.88267,24.5638,5.77312,12.6494,5.95435,0.684816,-3.17992,2.65142,-33.4365 --4.94209,0.977142,0.436713,3,7,0,10.3733,4.52923,1.917,0.0585984,-0.365833,-1.32574,0.245559,-0.116862,-0.898296,-0.128977,1.1965,4.64157,1.98779,4.30521,4.28198,3.82793,4.99997,2.8072,6.82293,-4.83947,-3.40226,-3.79576,-3.34736,-3.26005,-3.38295,-4.37563,-3.85067,9.18764,17.9664,9.65835,-0.516896,-3.70323,-5.01576,1.74692,34.2682 --8.5227,0.860252,0.436713,3,7,0,14.4547,2.87359,2.04234,0.938926,2.33651,0.51093,-0.567543,0.885446,1.39591,0.469051,-1.4813,4.7912,3.91709,4.68198,3.83156,7.64556,1.71447,5.72452,-0.151731,-4.82398,-3.30487,-3.80679,-3.35832,-3.57756,-3.31894,-3.97496,-4.03719,23.8047,2.36876,52.5899,-2.66896,4.10987,-13.3483,-1.19539,13.9983 --9.66611,0.794595,0.436713,3,7,0,19.0912,5.57925,0.109211,-0.389297,-0.362836,-0.107304,-0.801998,-1.97372,-1.68386,0.0399448,0.994291,5.53673,5.56753,5.36369,5.58361,5.53962,5.49166,5.39535,5.68783,-4.74832,-3.25111,-3.82815,-3.32512,-3.38015,-3.4002,-4.01591,-3.8708,14.8468,23.8905,27.2161,19.7426,15.2391,-7.84734,8.00601,15.6468 --6.1245,0.701112,0.436713,3,11,0,15.2388,2.6651,2.03308,0.500266,-0.0341715,-0.0108607,-0.716865,-0.310142,1.00611,2.44775,0.11527,3.68218,2.64302,2.03456,7.64157,2.59563,1.20766,4.7106,2.89945,-4.94111,-3.36501,-3.74103,-3.31853,-3.19597,-3.31701,-4.10456,-3.93712,4.90985,26.3715,-12.7597,-0.878494,12.0892,-28.1826,17.0643,4.23084 --3.4802,0.983276,0.436713,3,7,0,9.32974,5.29674,2.55962,0.0810666,0.203582,0.505987,-0.079091,-0.439393,0.103222,-1.26974,0.289981,5.50424,6.59188,4.17207,2.0467,5.81784,5.0943,5.56095,6.03898,-4.75156,-3.23144,-3.79199,-3.41822,-3.40309,-3.3861,-3.99517,-3.86415,3.14279,23.1209,-15.2535,1.7037,14.8742,11.7431,16.4517,-34.3149 --4.59945,0.930127,0.436713,3,7,0,7.29197,4.05327,2.4797,-0.393093,-0.402951,0.253349,-0.867726,-1.68171,0.923027,-0.396547,0.451263,3.07852,4.6815,-0.11687,3.06995,3.05407,1.90157,6.3421,5.17227,-5.00717,-3.27659,-3.70776,-3.38066,-3.21762,-3.32019,-3.90106,-3.88125,-9.41051,12.4745,-12.2696,10.1667,9.88774,25.5371,10.8643,-42.407 --8.97985,0.920973,0.436713,3,7,0,11.3984,3.22048,0.940037,-0.0118892,0.599408,0.770297,0.69312,2.24972,0.899723,-0.916974,-1.79751,3.20931,3.94459,5.3353,2.35849,3.78395,3.87204,4.06626,1.53076,-4.99272,-3.30376,-3.82723,-3.40586,-3.25744,-3.35092,-4.19227,-3.97845,-3.07767,-1.50659,-2.16211,2.2288,7.4404,-19.0938,20.696,-1.80703 --9.53438,0.996642,0.436713,3,15,0,15.2413,3.32398,4.57022,0.361474,1.47826,1.38186,1.01715,-1.20425,-0.399351,2.24133,-0.833439,4.97599,9.63939,-2.17972,13.5673,10.08,7.97258,1.49886,-0.485018,-4.805,-3.23496,-3.69284,-3.49506,-3.87398,-3.51773,-4.58296,-4.04986,-13.1365,18.2061,-1.65782,17.0055,2.59066,27.7028,23.0486,-14.499 --8.79626,0.851092,0.436713,5,55,0,13.5481,-0.794792,3.46905,-0.0623411,1.99904,-0.339481,0.627429,0.813235,0.618061,1.75572,-1.21647,-1.01106,-1.97247,2.02636,5.29591,6.13998,1.38179,1.34929,-5.0148,-5.4973,-3.71877,-3.74087,-3.32883,-3.43085,-3.31744,-4.60775,-4.25607,5.63522,3.4375,-8.50897,13.8341,3.55447,-6.36956,1.35402,3.77075 --7.58025,0.969854,0.436713,3,7,0,11.7814,2.88549,0.860894,0.305715,0.868822,-0.449426,1.34335,1.23861,0.413971,1.94849,-0.203013,3.14868,2.49858,3.9518,4.56293,3.63346,4.04197,3.24188,2.71072,-4.99941,-3.37285,-3.78592,-3.34138,-3.24869,-3.35507,-4.31053,-3.94248,9.85952,10.2534,10.3495,-9.15016,19.9035,-15.6847,-0.535503,7.36563 --5.22176,0.78821,0.436713,3,7,0,11.7532,7.30915,3.36812,0.219853,-0.930684,0.408446,-1.38954,-1.29086,0.313853,-1.30836,0.359104,8.04964,8.68485,2.96139,2.90244,4.1745,2.62902,8.36625,8.51866,-4.51147,-3.22387,-3.76094,-3.38621,-3.28144,-3.3278,-3.68557,-3.82801,28.8501,24.5193,13.7499,1.38468,5.87844,16.0062,-12.3299,-14.1407 --5.40258,0.963092,0.436713,3,7,0,8.98935,5.52321,4.46496,2.02217,0.000115684,-0.576679,-0.460897,-0.772972,-1.06795,0.232111,-0.286921,14.5521,2.94836,2.07192,6.55958,5.52373,3.46532,0.754863,4.24212,-4.02887,-3.34912,-3.74177,-3.31764,-3.37887,-3.34195,-4.7085,-3.90219,13.7958,-2.33205,-3.76665,22.1858,13.0938,10.7916,-4.55104,-0.536794 --4.59973,0.984073,0.436713,3,7,0,7.22656,6.20054,5.44169,-0.864085,-1.01598,0.40732,-0.00282214,0.198194,1.69912,-0.456215,0.668211,1.49846,8.41705,7.27905,3.71797,0.671925,6.18519,15.4466,9.83673,-5.18773,-3.22239,-3.89789,-3.36135,-3.13342,-3.42793,-3.25412,-3.81653,-11.2065,9.13046,-0.283963,16.194,6.74933,14.708,30.9818,29.3629 --8.41305,0.897671,0.436713,3,7,0,10.9421,3.28322,3.63016,2.59323,-0.572547,-0.342525,1.45496,-0.812585,-0.00499453,1.12176,-1.47186,12.6971,2.0398,0.333404,7.35537,1.20478,8.56495,3.26509,-2.05986,-4.14739,-3.39914,-3.71323,-3.31736,-3.14617,-3.55332,-4.30711,-4.11437,-5.9489,5.78272,20.0582,19.1879,-3.76596,14.3284,28.5292,14.1863 --8.09521,0.963864,0.436713,3,7,0,14.0889,1.5618,3.10605,-0.552887,-1.24117,-0.47784,-2.50334,0.684997,-0.274862,0.00700363,0.783646,-0.155493,0.0776053,3.68943,1.58355,-2.29335,-6.21368,0.708064,3.99584,-5.38861,-3.53535,-3.77893,-3.43806,-3.12649,-3.53186,-4.71658,-3.90818,0.300673,4.03924,6.51435,16.3425,-3.75469,-12.1354,25.63,-34.9113 --10.7685,0.917347,0.436713,3,7,0,16.5858,6.50542,3.12394,0.470945,2.09102,0.0297863,1.8988,-0.816823,2.35164,-1.06094,0.278513,7.97662,6.59847,3.95372,3.19112,13.0376,12.4371,13.8518,7.37548,-4.51796,-3.23135,-3.78597,-3.37678,-4.33255,-3.85736,-3.30756,-3.84231,-14.0909,23.0981,-18.8245,-4.39115,16.3003,34.3763,1.99898,30.2607 --8.34018,0.979601,0.436713,4,23,0,15.8922,6.77276,4.02358,0.97925,0.515704,0.307843,1.58687,-0.245934,1.83154,-2.02109,-0.58453,10.7128,8.01138,5.78322,-1.35925,8.84773,13.1577,14.1421,4.42085,-4.29109,-3.22152,-3.8422,-3.60558,-3.71479,-3.92761,-3.29594,-3.89796,-3.49902,-7.68655,19.9058,0.869701,4.86306,28.2577,19.4374,29.3116 --6.3352,0.996402,0.436713,4,31,0,12.2842,4.36255,3.98911,1.46674,0.989293,0.564312,1.55712,-1.0507,0.919961,1.14299,-0.175367,10.2135,6.61366,0.171173,8.92209,8.30895,10.5741,8.03238,3.663,-4.33001,-3.23113,-3.71117,-3.3321,-3.65108,-3.69561,-3.71829,-3.91657,7.44371,14.8105,11.3523,18.4479,0.469698,10.2704,5.77826,31.8976 --9.8139,0.876419,0.436713,3,7,0,14.1852,8.68548,0.666587,0.427686,1.60064,0.477456,-0.375354,1.34612,1.53058,1.35437,1.33317,8.97057,9.00375,9.58279,9.58829,9.75245,8.43528,9.70575,9.57416,-4.4317,-3.22656,-4.00076,-3.34452,-3.82984,-3.54528,-3.5655,-3.81839,15.2545,15.7711,-9.24551,16.9524,-8.22554,-1.74933,14.5327,-20.3223 --11.6056,0.354399,0.436713,5,47,0,17.1867,3.59553,0.0595067,-0.421507,1.4845,0.0852768,-1.75815,-0.134748,1.78117,-0.880491,-1.37898,3.57045,3.60061,3.58751,3.54314,3.68387,3.49091,3.70152,3.51347,-4.95322,-3.3183,-3.77628,-3.36621,-3.25159,-3.34247,-4.24376,-3.92045,16.956,29.3888,2.34926,22.4577,12.156,0.660576,23.3673,-12.9729 --15.4627,0.942233,0.436713,3,7,0,20.1201,9.18393,0.0175571,-0.970177,2.0997,-0.584084,0.642581,1.48139,1.05195,-0.368405,-2.2518,9.1669,9.17368,9.20994,9.17746,9.22079,9.19521,9.2024,9.1444,-4.41518,-3.22841,-3.9827,-3.33643,-3.76101,-3.59436,-3.60851,-3.82189,41.7382,12.3584,-39.3411,22.0884,12.8855,30.3719,19.7871,22.311 --8.13133,1,0.436713,3,7,0,18.7695,10.5381,0.249925,-0.725676,0.83046,-0.879583,0.597653,0.00693896,-0.481319,0.968832,-0.438341,10.3568,10.3183,10.5399,10.7803,10.7457,10.6875,10.4178,10.4286,-4.31873,-3.2484,-4.04959,-3.37588,-3.96777,-3.70463,-3.50897,-3.81312,19.2789,-4.89645,19.9485,-0.399509,15.7083,16.2882,6.19195,54.7956 --10.9945,0.943628,0.436713,3,7,0,16.415,3.96731,0.866787,-0.939714,-0.989837,-0.681766,-2.40161,0.184792,2.46268,0.922181,0.991377,3.15278,3.37636,4.12748,4.76664,3.10933,1.88562,6.10193,4.82662,-4.99895,-3.32841,-3.79075,-3.33744,-3.2204,-3.32007,-3.92934,-3.88872,9.03659,-2.53381,20.228,13.6144,9.27109,-8.95441,5.07702,-16.981 --12.335,0.377555,0.436713,6,71,0,16.9997,4.96759,8.0797,-0.683059,-1.95412,-0.583969,-1.8035,0.584521,2.83039,0.460982,0.940365,-0.551323,0.249292,9.69035,8.69218,-10.8211,-9.60417,27.8363,12.5655,-5.4385,-3.52189,-4.00607,-3.32867,-3.71156,-3.7815,-3.70529,-3.8098,-11.3849,10.2626,-19.1669,-1.39302,-5.80519,-21.8584,31.5534,34.8977 --7.80988,0.831349,0.436713,3,7,0,15.3549,9.33349,0.263554,-0.0313893,0.311544,0.562714,0.587969,-0.940773,-1.64857,0.186818,-0.297933,9.32522,9.4818,9.08555,9.38273,9.4156,9.48846,8.89901,9.25497,-4.40198,-3.2325,-3.9768,-3.34029,-3.78582,-3.61458,-3.63566,-3.82094,4.78078,22.4101,21.743,20.7374,1.56918,10.9702,9.36689,21.5844 --4.72632,0.931706,0.436713,4,23,0,13.4366,6.16363,5.36665,0.677815,-0.0410256,0.224661,0.0693996,0.493006,2.17334,-0.362112,1.10146,9.80123,7.36931,8.80942,4.2203,5.94346,6.53607,17.8272,12.0748,-4.36298,-3.22351,-3.96391,-3.34876,-3.41377,-3.44348,-3.22167,-3.80932,0.276913,18.5264,34.5382,18.2178,6.34937,4.66082,18.0982,35.2284 --4.27669,1,0.436713,3,7,0,7.20473,6.2923,3.04905,-0.763705,-0.249221,0.586835,0.632942,0.605414,1.38691,-0.116773,0.488916,3.96372,8.08159,8.13824,5.93625,5.53241,8.22217,10.5211,7.78303,-4.91086,-3.22156,-3.93383,-3.32151,-3.37957,-3.53237,-3.5012,-3.83675,22.4454,-11.9378,16.4341,4.37156,-0.499263,6.01731,4.06107,-21.1695 --6.65414,0.38026,0.436713,3,7,0,13.2159,3.22727,0.108187,-0.340114,-0.560926,0.790742,0.314593,-0.0264181,0.386135,-0.762026,0.817963,3.19047,3.31282,3.22441,3.14483,3.16658,3.2613,3.26904,3.31576,-4.99479,-3.33137,-3.7672,-3.37825,-3.22333,-3.33796,-4.30653,-3.92569,-4.72589,20.399,-2.62619,-3.74976,7.29784,6.03222,-8.20608,-11.0484 --5.81188,0.99677,0.436713,3,7,0,8.35611,3.49388,0.259811,-0.0495021,0.257637,1.42999,0.533557,0.157763,-0.0967415,-0.465698,0.13973,3.48102,3.86541,3.53487,3.37289,3.56082,3.63251,3.46875,3.53019,-4.96294,-3.307,-3.77493,-3.3712,-3.24456,-3.34547,-4.27731,-3.92002,26.6978,-2.15477,0.198302,-19.6046,21.6163,5.5907,5.88388,27.3418 --6.87681,0.988665,0.436713,3,7,0,8.36497,6.84673,0.134698,0.705142,0.704923,0.0998045,0.605295,-1.05458,-0.0369861,-0.793918,0.0718412,6.94172,6.86018,6.70468,6.7398,6.94169,6.92827,6.84175,6.85641,-4.61244,-3.22802,-3.87547,-3.31711,-3.50549,-3.46206,-3.84406,-3.85014,14.0718,19.3994,9.31474,26.9613,12.9736,-5.00407,12.5445,-11.558 --8.99308,0.926625,0.436713,3,7,0,12.062,5.95554,3.64916,-1.35294,-0.624587,1.07793,2.20836,0.138312,-1.31633,0.169214,0.216111,1.01844,9.88906,6.46026,6.57303,3.67632,14.0142,1.15204,6.74416,-5.24478,-3.23937,-3.86633,-3.31759,-3.25115,-4.01671,-4.64079,-3.85194,-6.77561,8.08677,15.9708,14.3411,-2.90255,17.6421,-7.52345,0.197816 --9.52408,0.883027,0.436713,4,23,0,17.9982,1.44547,2.33776,-0.0757059,-0.120353,2.04738,1.76756,2.05678,0.168295,-1.07568,0.575545,1.26849,6.23176,6.25372,-1.0692,1.16412,5.57759,1.8389,2.79096,-5.21493,-3.23716,-3.85878,-3.58589,-3.14507,-3.40342,-4.52743,-3.94018,-7.67651,27.2213,35.3055,11.9839,0.513555,-5.59606,-0.714037,-1.74774 --8.69597,0.944415,0.436713,3,7,0,17.6825,6.30328,3.67891,2.17065,1.44728,-1.2943,0.859628,-0.616934,1.88956,-0.0640142,0.236262,14.2889,1.54168,4.03363,6.06777,11.6277,9.46577,13.2548,7.17246,-4.04475,-3.43007,-3.78815,-3.32042,-4.10047,-3.61299,-3.33411,-3.84527,20.8312,-0.510188,-21.3958,7.74126,14.1701,16.8873,27.7429,-16.7299 --8.51818,0.793719,0.436713,3,7,0,14.9367,-2.87052,1.16443,1.51378,0.543548,0.189106,0.28797,-1.40089,-0.194491,-0.0841727,1.15087,-1.10783,-2.65032,-4.50175,-2.96853,-2.23759,-2.5352,-3.09699,-1.53041,-5.5098,-3.78867,-3.69593,-3.72746,-3.12562,-3.36848,-5.44694,-4.09183,18.3997,5.48959,-9.42473,10.8588,-16.1107,-17.6834,-7.67279,-0.705111 --5.9371,0.896146,0.436713,3,7,0,11.7909,0.777707,2.42893,1.90083,-0.000272948,-0.0711131,-0.389509,-1.56184,1.10472,-0.184314,0.159492,5.39469,0.604979,-3.01589,0.330023,0.777044,-0.168381,3.46099,1.1651,-4.76254,-3.49496,-3.69153,-3.50067,-3.13566,-3.32247,-4.27844,-3.99048,-3.99197,10.0788,6.02324,-12.1161,8.79438,16.1277,-14.9989,7.17537 --7.92754,0.946771,0.436713,3,7,0,10.8485,2.33773,9.33594,-0.548261,-1.13179,-0.408408,-0.171185,-0.697388,2.48479,-0.341617,-0.861687,-2.7808,-1.47514,-4.17304,-0.851586,-8.22854,0.739555,25.5356,-5.70693,-5.73245,-3.67042,-3.69421,-3.57158,-3.43871,-3.31711,-3.50545,-4.29316,-21.188,-16.2667,15.835,-2.9436,4.89425,-8.75568,37.8782,-11.8762 --7.92754,0.174355,0.436713,3,15,0,16.4166,2.33773,9.33594,-0.548261,-1.13179,-0.408408,-0.171185,-0.697388,2.48479,-0.341617,-0.861687,-2.7808,-1.47514,-4.17304,-0.851586,-8.22854,0.739555,25.5356,-5.70693,-5.73245,-3.67042,-3.69421,-3.57158,-3.43871,-3.31711,-3.50545,-4.29316,20.8402,-12.3696,-8.75406,-1.19113,-15.9846,9.76689,20.3352,-6.25868 --12.7991,1,0.436713,3,7,0,17.2085,9.00816,0.857976,-0.623777,-1.74168,2.38895,-2.0762,-1.05922,1.04673,0.438254,1.39326,8.47297,11.0578,8.09938,9.38417,7.51384,7.22683,9.90623,10.2035,-4.47433,-3.26828,-3.93214,-3.34032,-3.5636,-3.47705,-3.54907,-3.81429,-9.30224,-11.0767,24.5711,2.80431,15.1143,8.89254,19.3873,1.74186 --4.90224,0.975791,0.436713,3,7,0,14.3974,1.49963,2.82848,-0.337083,-0.678908,-1.02605,-0.0509637,1.35662,0.726541,-0.125482,0.197973,0.546195,-1.40254,5.3368,1.1447,-0.420648,1.35548,3.55463,2.05959,-5.3019,-3.66356,-3.82727,-3.45851,-3.11824,-3.31736,-4.26487,-3.9618,18.7576,-0.218426,23.284,-9.92494,3.94575,-0.113088,-3.23706,15.0767 --6.99148,0.673827,0.436713,3,15,0,9.7688,7.17927,0.112092,0.635299,0.373333,-0.602865,0.15955,0.974123,-0.661443,0.67999,-0.127864,7.25048,7.11169,7.28846,7.25549,7.22112,7.19715,7.10513,7.16494,-4.58375,-3.22547,-3.89827,-3.3171,-3.53337,-3.47553,-3.81501,-3.84539,33.1153,12.4135,23.1738,15.0328,7.38133,3.814,0.955491,-22.1162 --3.96894,0.977846,0.436713,3,15,0,11.4464,0.959223,3.35516,-0.0205994,-0.389248,1.02299,-0.273727,-0.625298,0.887787,-0.820412,-0.108938,0.890109,4.39153,-1.13875,-1.79339,-0.346769,0.0408246,3.93789,0.593717,-5.2602,-3.28663,-3.69829,-3.63635,-3.1188,-3.32064,-4.21024,-4.01009,-6.388,-4.20843,-29.6844,-7.19711,-1.7929,-1.3983,-0.380306,-12.8767 --6.18758,0.921756,0.436713,3,7,0,9.55417,1.57435,2.85131,-0.450711,0.584994,-1.16894,0.31573,0.472128,1.17025,-1.14679,1.29185,0.289238,-1.75866,2.92054,-1.6955,3.24235,2.4746,4.91109,5.25781,-5.3334,-3.69768,-3.75999,-3.62928,-3.22726,-3.32582,-4.07812,-3.87946,2.46182,-18.2188,20.6163,-5.59736,-9.6353,18.3264,-15.3271,-8.81899 --8.47384,0.803669,0.436713,3,15,0,12.6179,6.87308,0.0855858,-0.810623,-1.32249,0.626941,0.6388,-0.913845,0.661427,0.945394,-0.208196,6.8037,6.92673,6.79486,6.95399,6.75989,6.92775,6.92968,6.85526,-4.6254,-3.22728,-3.87891,-3.31684,-3.48787,-3.46203,-3.83428,-3.85016,29.3703,0.319345,30.9313,-3.02175,3.04411,-0.344996,19.5105,-6.24802 --7.63827,0.498546,0.436713,3,15,0,13.035,3.18653,11.2472,0.731386,-1.1817,-0.202051,0.125712,0.855186,-0.853349,0.146492,-1.15706,11.4126,0.914026,12.805,4.83415,-10.1042,4.60044,-6.41126,-9.8271,-4.23842,-3.47258,-4.17941,-3.33622,-3.62781,-3.3704,-6.20107,-4.54453,0.477525,-18.3073,1.68002,19.8911,-14.7267,20.8025,-9.27867,-4.91241 --6.10829,0.319234,0.436713,3,7,0,12.8088,1.40909,0.736607,1.28714,-0.35578,0.494804,0.0772969,-0.126335,0.937736,0.509376,-1.29913,2.35721,1.77357,1.31603,1.7843,1.14702,1.46603,2.09983,0.452142,-5.08822,-3.41537,-3.72791,-3.42925,-3.14462,-3.31773,-4.4856,-4.0151,-5.40961,-5.50777,-25.4025,-8.48244,11.4407,6.48941,-0.468695,29.9942 --3.74362,0.988573,0.436713,3,7,0,7.58057,7.03012,8.97289,-0.694284,-0.150947,-0.237024,-0.000666405,-0.438535,0.110302,-0.157755,0.898788,0.800375,4.90333,3.09519,5.61459,5.67568,7.02414,8.01985,15.0948,-5.27103,-3.26947,-3.76409,-3.32477,-3.39125,-3.46679,-3.71954,-3.82409,-22.4414,0.508418,23.7218,-8.77166,4.57632,18.3503,1.99763,33.0881 --4.4773,0.909106,0.436713,3,7,0,9.87519,10.1308,5.35958,-0.279653,-0.37763,-0.283839,0.544046,-0.288525,-0.108046,-0.719956,0.570585,8.63199,8.60955,8.58443,6.27215,8.10687,13.0467,9.55173,13.1889,-4.46059,-3.22338,-3.95363,-3.31902,-3.62811,-3.91651,-3.57839,-3.81149,17.7712,17.7763,-24.6231,-6.68611,19.8503,2.35745,5.54688,1.78234 --4.74061,0.876611,0.436713,3,7,0,9.16895,7.1067,6.82011,-0.259458,-0.0419173,-0.844312,0.383087,-0.173817,-0.519267,-1.00383,0.220398,5.33717,1.3484,5.92125,0.260495,6.82082,9.7194,3.56524,8.60984,-4.76833,-3.44274,-3.84697,-3.50452,-3.49373,-3.631,-4.26333,-3.82705,-4.96643,19.9899,20.0161,-3.34316,-6.81149,13.5176,4.00288,35.8887 --7.49064,0.79848,0.436713,3,7,0,10.433,2.65213,0.604014,0.245228,0.391628,0.0245476,-0.834507,-0.0399347,2.12556,1.1922,-0.99544,2.80025,2.66695,2.62801,3.37223,2.88868,2.14807,3.93599,2.05087,-5.03816,-3.36373,-3.75339,-3.37122,-3.20951,-3.32228,-4.21051,-3.96207,0.204804,24.7967,9.85726,11.1577,-0.560845,20.4705,13.025,-6.94862 --4.23162,0.949278,0.436713,3,7,0,10.9687,3.35739,5.80133,0.341335,-0.238551,-0.742848,-0.303166,1.18681,-0.358857,-0.175014,0.720288,5.33759,-0.952115,10.2425,2.34208,1.97348,1.59862,1.27554,7.53602,-4.76829,-3.62223,-4.03403,-3.40649,-3.17074,-3.31831,-4.62006,-3.84006,31.9204,11.5536,29.832,6.5035,1.72053,10.0638,-0.213205,28.3246 --8.83247,0.854807,0.436713,3,7,0,12.6556,7.7885,0.799597,1.20275,-1.08832,1.21077,2.15262,-0.284972,0.946896,0.711488,0.328373,8.75022,8.75663,7.56064,8.3574,6.91828,9.50973,8.54564,8.05107,-4.45044,-3.22439,-3.90935,-3.32445,-3.50319,-3.61607,-3.66845,-3.83338,15.7375,8.45469,-0.745838,6.83263,10.1891,14.9583,8.00981,26.4177 --5.39877,0.99835,0.436713,3,7,0,11.5563,1.67378,5.37242,-0.528175,0.225985,-0.432007,1.12297,0.177359,-0.247008,-0.52832,-0.885545,-1.16379,-0.647142,2.62663,-1.16457,2.88787,7.70686,0.346752,-3.08374,-5.51705,-3.59539,-3.75336,-3.59229,-3.20947,-3.50271,-4.77971,-4.16042,-23.5144,-10.2534,-24.2917,-6.64383,-7.00028,-8.71204,-11.5608,-3.1278 --4.73311,1,0.436713,3,7,0,7.36132,4.14985,1.84595,0.055107,-1.01811,1.54113,0.684357,-0.619676,0.724937,0.415289,0.249589,4.25158,6.9947,3.00596,4.91646,2.27047,5.41314,5.48805,4.61058,-4.88029,-3.22658,-3.76198,-3.33477,-3.18219,-3.39731,-4.00427,-3.89357,6.3907,21.4346,-5.0647,-3.43164,-21.9946,4.94194,-5.65609,28.8004 --4.83411,0.987984,0.436713,3,7,0,6.77015,4.33421,1.85504,1.2595,-0.710773,1.3654,-0.0417248,-0.511145,1.2121,0.283601,0.394423,6.67063,6.86709,3.38602,4.8603,3.0157,4.25681,6.5827,5.06588,-4.63797,-3.22794,-3.77118,-3.33575,-3.21571,-3.36066,-3.8733,-3.88351,8.66116,16.5051,27.8196,-6.90882,4.60715,-1.39432,20.1646,4.97258 --6.1612,0.984041,0.436713,3,7,0,8.95727,9.66005,7.44254,-0.301736,-0.456119,-1.15629,0.837695,-0.337356,-0.666191,0.295929,0.259636,7.41437,1.05431,7.14926,11.8625,6.26537,15.8946,4.70189,11.5924,-4.5687,-3.46274,-3.89271,-3.41454,-3.442,-4.23357,-4.10572,-3.80957,20.318,-6.32267,-4.33084,14.8809,-5.96897,15.6524,4.29772,47.098 --4.1683,0.838745,0.436713,3,7,0,10.8762,6.42098,2.8048,0.316338,-0.59911,-1.08447,0.813847,-0.107023,-0.747265,-0.101984,-0.0799691,7.30825,3.37927,6.12081,6.13494,4.7406,8.70366,4.32506,6.19669,-4.57843,-3.32828,-3.85401,-3.31993,-3.31959,-3.56207,-4.15654,-3.86128,9.46377,-5.05462,11.3276,-17.5588,1.1475,16.4478,2.49308,-38.2093 --6.14004,0.872129,0.436713,3,7,0,10.1382,3.33532,3.22517,0.190447,-0.566885,-1.82545,0.50998,0.043052,-1.18891,-0.186541,-0.386021,3.94955,-2.55205,3.47417,2.7337,1.50703,4.9801,-0.49911,2.09034,-4.91238,-3.77825,-3.77339,-3.39205,-3.15496,-3.38229,-4.93261,-3.96086,4.27338,23.7342,15.2841,11.9396,5.74472,3.1866,-2.03902,2.69664 --8.14829,0.962576,0.436713,3,7,0,11.1782,3.90982,4.94893,1.2239,-0.42843,2.99933,0.674591,-0.796371,0.828137,0.898329,0.156603,9.96682,18.7533,-0.0313652,8.35559,1.78955,7.24833,8.00822,4.68484,-4.34965,-3.79969,-3.70874,-3.32443,-3.1642,-3.47816,-3.7207,-3.89189,-24.3631,23.7788,5.524,9.07368,2.5739,7.64445,-10.385,11.1752 --5.96178,0.934021,0.436713,3,7,0,15.5522,6.55765,3.86097,-0.302877,0.0149007,1.24193,-0.493422,1.51143,0.78044,1.43152,0.0957295,5.38825,11.3527,12.3932,12.0847,6.61518,4.65256,9.5709,6.92726,-4.76319,-3.27773,-4.15432,-3.42367,-3.47413,-3.37196,-3.57677,-3.84902,4.74319,2.91889,5.93746,10.0323,-11.775,7.39678,4.49689,2.22861 --6.00672,0.693767,0.436713,3,15,0,10.088,-4.19343,7.4061,1.63464,-0.280404,-0.101244,-0.51226,-0.815992,1.13289,0.60178,0.283512,7.91283,-4.94326,-10.2368,0.263406,-6.27014,-7.98728,4.19688,-2.09372,-4.52364,-4.05916,-3.79381,-3.50436,-3.28761,-3.6506,-4.17415,-4.11584,32.8223,2.60959,-4.1313,4.12544,3.10631,-27.4149,5.01584,3.42694 --5.57643,0.995491,0.436713,3,7,0,9.19759,-2.01509,8.01798,1.06738,-0.575826,0.449893,-0.695195,-1.52793,1.4839,0.38564,0.835506,6.54314,1.59214,-14.266,1.07696,-6.63206,-7.58915,9.88276,4.68397,-4.65009,-3.42683,-3.93942,-3.4618,-3.31197,-3.62168,-3.55097,-3.89191,-10.2642,7.2599,-13.461,9.97983,-2.86393,-7.85672,15.9118,10.6574 --4.56315,1,0.436713,3,7,0,7.56766,8.35037,3.43832,0.218266,-0.117739,0.0169731,0.689158,1.33084,-0.0112861,0.03582,-0.566908,9.10084,8.40873,12.9262,8.47353,7.94555,10.7199,8.31157,6.40116,-4.42072,-3.22236,-4.18693,-3.32581,-3.61013,-3.70723,-3.69085,-3.85769,1.82462,30.6319,1.73763,8.27382,9.77921,-5.16983,13.3437,-28.5748 --3.98073,0.956193,0.436713,3,7,0,7.95381,7.52967,2.50736,-0.374491,-0.038594,-0.255152,0.990155,0.489027,0.267593,-0.0793199,-0.607131,6.59068,6.88991,8.75583,7.33078,7.4329,10.0123,8.20062,6.00737,-4.64556,-3.22769,-3.96145,-3.31729,-3.55514,-3.65246,-3.70166,-3.86473,-15.6108,20.2094,21.8041,-20.9583,11.2216,5.8229,13.0004,23.7221 --3.22565,0.949559,0.436713,3,7,0,7.39298,2.21137,5.84493,0.876514,-0.675527,0.397319,-1.0189,-0.660788,0.0951722,0.458078,0.522162,7.33454,4.53368,-1.65089,4.88881,-1.73703,-3.74402,2.76765,5.26337,-4.57601,-3.2816,-3.69508,-3.33525,-3.11952,-3.40983,-4.38165,-3.87934,10.1907,6.21474,-0.0415417,2.25691,-4.16104,-25.029,3.21898,6.03333 --8.17117,0.849735,0.436713,3,7,0,10.8997,-2.04672,0.932073,0.287077,0.451223,-0.513552,-0.0156934,0.404954,-1.84662,-0.628111,0.482836,-1.77915,-2.52539,-1.66928,-2.63217,-1.62615,-2.06135,-3.7679,-1.59668,-5.59765,-3.77544,-3.69499,-3.70022,-3.11858,-3.35556,-5.59073,-4.0946,3.13355,-4.15781,27.9257,9.5558,-2.56297,14.8499,-21.1585,-27.7466 --9.19184,0.954413,0.436713,3,7,0,13.6958,12.2144,14.1158,-0.0467788,-1.17141,0.0921478,-0.495582,-0.565595,1.57954,0.873424,-0.732562,11.5541,13.5152,4.23063,24.5435,-4.32088,5.21891,34.5109,1.87375,-4.22803,-3.37361,-3.79364,-4.58863,-3.18424,-3.39038,-4.58458,-3.96755,48.5064,17.9915,17.5708,9.93505,-9.08486,-9.48557,21.08,2.70751 --7.86356,0.879844,0.436713,3,7,0,14.434,14.0009,7.02417,1.84097,-0.441175,-0.494633,-0.33249,-1.40331,0.281562,0.00548268,0.378226,26.9323,10.5266,4.14384,14.0395,10.9021,11.6655,15.9787,16.6577,-3.62952,-3.25344,-3.7912,-3.5216,-3.9906,-3.78689,-3.24195,-3.84279,11.9348,27.4486,18.9453,9.82963,4.86347,26.1251,8.9141,-8.31547 --6.90169,0.974291,0.436713,3,7,0,12.9751,11.7636,9.42619,1.56453,-0.808843,-0.0286716,0.42269,-1.92045,0.42048,0.0426359,-0.0461453,26.5112,11.4934,-6.33888,12.1655,4.13933,15.748,15.7272,11.3287,-3.63191,-3.28254,-3.7133,-3.42709,-3.2792,-4.21561,-3.24735,-3.81001,32.3575,13.5511,5.29193,20.1023,-8.25438,21.4955,7.54575,29.017 --10.7328,0.973277,0.436713,3,7,0,17.3455,6.88596,0.64576,-2.09145,-0.258078,-0.274628,-1.8309,2.11834,0.0535718,-0.733628,-0.872685,5.53538,6.70861,8.2539,6.41221,6.7193,5.70363,6.92055,6.32241,-4.74845,-3.22986,-3.93889,-3.31826,-3.48399,-3.40826,-3.83529,-3.85906,3.16206,-3.74465,-11.8472,11.7633,6.49949,-4.80124,-15.6294,-4.50657 --7.73708,0.999989,0.436713,3,7,0,13.6257,7.32248,0.645433,-0.991848,-0.119106,-0.890996,-1.88729,0.089228,0.109966,-1.36949,-0.672443,6.68231,6.7474,7.38007,6.43857,7.24561,6.10436,7.39346,6.88847,-4.63686,-3.22937,-3.90197,-3.31814,-3.53585,-3.4245,-3.78402,-3.84963,15.8791,8.54845,-6.54538,-6.18191,-2.26458,-1.88524,12.2134,-40.8453 --8.3398,0.961375,0.436713,3,7,0,13.6985,13.0173,4.23672,-0.901317,-0.0347557,-0.0620415,-1.01798,0.588817,0.4846,-1.77585,0.079815,9.19866,12.7544,15.5119,5.49351,12.87,8.70439,15.0704,13.3554,-4.41252,-3.33455,-4.36085,-3.32621,-4.30368,-3.56211,-3.26444,-3.81215,5.802,0.769711,29.2097,-9.30439,26.8017,8.88946,22.8001,3.83454 --8.95874,0.805589,0.436713,3,7,0,16.621,-2.86101,0.689997,1.06997,-1.5762,1.17527,-0.219903,-0.381507,0.426489,-0.119444,0.662545,-2.12273,-2.05007,-3.12425,-2.94342,-3.94858,-3.01274,-2.56673,-2.40385,-5.64339,-3.72654,-3.69156,-3.72539,-3.16983,-3.38337,-5.33648,-4.12948,-7.31364,1.47335,-6.76722,9.66494,-4.56128,0.340468,-18.7502,-12.9659 --7.44875,0.99965,0.436713,3,7,0,12.9611,8.13996,0.240027,0.240566,0.183649,1.08133,0.805984,-0.7019,0.494303,0.312108,1.39419,8.1977,8.39951,7.97148,8.21487,8.18404,8.33342,8.2586,8.4746,-4.49839,-3.22232,-3.92663,-3.32293,-3.63682,-3.53906,-3.696,-3.82849,5.93655,13.0529,3.07212,29.7372,8.8691,-1.56584,7.30361,20.4849 --9.99239,0.514648,0.436713,3,15,0,15.2075,4.14125,1.80862,0.534866,1.10933,0.770587,1.1427,-1.61112,2.59747,-1.67575,0.247417,5.10862,5.53494,1.22734,1.11045,6.1476,6.20796,8.83908,4.58873,-4.79147,-3.25191,-3.72643,-3.46017,-3.43152,-3.42891,-3.64114,-3.89407,12.5374,8.37908,32.6165,9.558,12.7576,20.6373,10.2134,11.5913 --8.83237,0.771044,0.436713,3,7,0,15.8984,5.72946,8.8068,0.215148,1.53911,-0.82654,0.427672,-0.793049,1.57672,-1.25386,-0.130579,7.62422,-1.54971,-1.25476,-5.31299,19.2841,9.49587,19.6153,4.57948,-4.54959,-3.67751,-3.69748,-3.94332,-5.65594,-3.6151,-3.23457,-3.89429,4.70683,4.53732,13.7293,-10.9841,27.8131,23.0928,42.2558,19.7108 --7.34563,0.41623,0.436713,3,15,0,15.5561,8.39164,1.25469,1.76286,-0.4301,0.486364,-1.02077,0.288363,0.210598,-0.197347,1.84625,10.6035,9.00187,8.75344,8.14403,7.852,7.11089,8.65587,10.7081,-4.29952,-3.22654,-3.96134,-3.32224,-3.59985,-3.47114,-3.65809,-3.81189,14.2723,29.2819,26.5802,-2.11108,13.3075,11.2426,-0.822869,-19.3998 --4.67328,0.970912,0.436713,3,7,0,12.2476,7.32298,3.28686,0.7881,-0.557255,0.657952,-1.17059,-0.382421,-0.190908,-0.023768,1.51604,9.91335,9.48557,6.06601,7.24486,5.49136,3.47541,6.69549,12.306,-4.35394,-3.23256,-3.85206,-3.31708,-3.37627,-3.34215,-3.86048,-3.80945,5.79263,10.0898,13.0171,10.9241,10.7102,19.3002,20.7043,20.5471 --7.70177,0.969428,0.436713,3,7,0,10.7288,11.2988,12.0496,0.409291,-0.316493,-0.286765,0.579243,-0.403184,1.14443,-0.742999,1.62214,16.2306,7.84346,6.44066,2.34604,7.48525,18.2785,25.0887,30.845,-3.93481,-3.22165,-3.8656,-3.40634,-3.5606,-4.55049,-3.47277,-4.35735,2.90389,10.3727,17.3625,8.98652,5.99578,21.5258,11.3825,32.8672 --9.74217,1,0.436713,3,7,0,12.3912,12.1271,2.214,0.432241,-0.675334,-1.4433,-0.163001,-0.664546,1.62008,-1.0227,1.85443,13.084,8.93161,10.6558,9.8628,10.6319,11.7662,15.7139,16.2328,-4.1214,-3.22586,-4.05575,-3.3507,-3.95135,-3.7958,-3.24765,-3.83696,9.23664,6.08415,21.088,5.63498,-3.11354,2.32819,35.5726,37.6786 --4.80683,0.97387,0.436713,3,7,0,14.4118,6.78744,1.6116,0.969249,0.0217708,-0.227822,-0.029828,0.68705,-0.0197328,-0.259571,1.57254,8.34949,6.42028,7.89469,6.36912,6.82253,6.73937,6.75564,9.32175,-4.48508,-3.234,-3.92335,-3.31848,-3.49389,-3.45295,-3.8537,-3.82038,12.5125,15.8205,14.1382,-9.50575,1.86056,23.7584,13.9871,13.6368 --6.74231,0.895184,0.436713,3,7,0,12.9315,6.56512,2.52668,0.474792,0.742022,0.107085,0.548706,1.95443,1.7633,0.527086,-0.310399,7.76477,6.83569,11.5033,7.8969,8.43997,7.95153,11.0204,5.78084,-4.53691,-3.2283,-4.10236,-3.32016,-3.66624,-3.51652,-3.4651,-3.869,36.3676,16.9093,-1.98345,5.89438,19.4191,6.92546,16.7967,18.2748 --10.5644,0.905333,0.436713,4,23,0,16.2861,3.08253,0.183479,0.0975531,-0.761217,0.0146863,-0.592732,-2.14501,-1.53696,-1.80634,0.373207,3.10043,3.08523,2.68897,2.75111,2.94287,2.97378,2.80053,3.15101,-5.00474,-3.3423,-3.75474,-3.39143,-3.21213,-3.33293,-4.37664,-3.93015,7.94219,3.14051,8.44912,8.71178,5.90938,-20.0752,18.3311,-3.26441 --13.559,0.927975,0.436713,3,7,0,18.9605,1.53781,0.206195,-0.457543,-0.522666,-1.3657,-1.12633,-3.20847,0.472935,-1.37576,0.914846,1.44347,1.25621,0.876239,1.25413,1.43004,1.30557,1.63533,1.72645,-5.19421,-3.44892,-3.72087,-3.45326,-3.15261,-3.31722,-4.56054,-3.97219,1.00782,3.76191,15.1692,6.30554,8.56473,12.4443,12.3973,17.2268 --11.9749,0.989823,0.436713,3,15,0,15.1142,7.66924,1.64104,0.496044,-0.227249,1.42815,1.08221,3.22743,-0.409397,1.37911,-0.913265,8.48327,10.0129,12.9656,9.93242,7.29631,9.44519,6.9974,6.17053,-4.47344,-3.24178,-4.18938,-3.35237,-3.54103,-3.61155,-3.82681,-3.86175,4.14053,11.6107,27.2579,-18.7393,-5.63018,-0.13168,14.1069,-1.2595 --7.69639,0.978933,0.436713,3,7,0,18.3894,-2.14259,1.69165,-0.194959,1.17808,-0.514867,0.316354,-0.527261,-1.45166,0.382354,0.10355,-2.47239,-3.01356,-3.03453,-1.49578,-0.149701,-1.60743,-4.59828,-1.96742,-5.69047,-3.82802,-3.69153,-3.61509,-3.12063,-3.34493,-5.77494,-4.11037,12.8658,-3.24202,-36.7471,3.04906,-9.59883,17.7043,-14.326,22.7767 --6.72512,0.932974,0.436713,3,15,0,11.2417,5.2188,3.77619,1.3459,-0.852952,1.21014,0.206174,0.333875,2.63559,0.580244,0.667209,10.3012,9.78852,6.47957,7.40991,1.99789,5.99735,15.1713,7.73831,-4.3231,-3.23752,-3.86704,-3.31753,-3.17164,-3.42003,-3.26153,-3.83734,-29.8734,-0.681237,20.9198,8.62003,-0.693048,14.7425,7.48588,17.1929 --8.78781,0.939713,0.436713,3,7,0,14.0557,7.16821,4.38902,-0.525051,-0.843532,-1.5068,0.539268,-1.52679,2.18386,-0.0626235,1.67902,4.86375,0.554807,0.467086,6.89335,3.46592,9.53507,16.7532,14.5374,-4.81651,-3.49868,-3.71501,-3.31688,-3.23928,-3.61786,-3.2293,-3.81925,6.97256,-2.32261,14.3272,4.8157,-6.55892,10.1342,14.9615,17.2824 --4.90252,1,0.436713,3,7,0,11.1868,8.58925,6.60234,1.25539,-0.925871,1.31644,0.046576,0.120696,0.107203,-0.865333,-0.173341,16.8778,17.2808,9.38613,2.87603,2.47634,8.89676,9.29704,7.4448,-3.90189,-3.65219,-3.99117,-3.38711,-3.19076,-3.57451,-3.60023,-3.84133,-25.8184,15.9418,17.0387,-3.58259,15.5283,12.2942,19.9725,-13.2686 --7.7406,0.970133,0.436713,3,7,0,10.6304,-2.31031,2.86949,-0.163729,1.00896,-0.720878,-0.180005,-0.437933,1.54325,1.70591,0.84247,-2.78013,-4.37887,-3.56696,2.58479,0.584895,-2.82683,2.11802,0.107151,-5.73236,-3.98771,-3.69216,-3.39739,-3.13167,-3.37735,-4.48271,-4.02758,8.72359,2.58623,28.1673,0.892796,-9.51284,3.02114,7.80321,-3.03994 --6.24377,0.923775,0.436713,3,7,0,13.6827,3.33142,9.22052,0.793958,-0.849003,0.971866,0.224636,0.285373,-0.710093,-0.350898,1.79805,10.6521,12.2925,5.9627,0.0959552,-4.49683,5.40268,-3.21601,19.9103,-4.29576,-3.31365,-3.84842,-3.5138,-3.19164,-3.39693,-5.47212,-3.90587,27.8098,27.4832,16.3894,10.7169,-11.1983,-1.14117,-5.66651,-10.0507 --5.02565,1,0.436713,3,7,0,8.66406,8.67861,1.88381,0.297162,0.17331,-0.867329,-1.05028,0.462701,0.684949,0.953253,-0.0303146,9.23841,7.04473,9.55025,10.4744,9.00509,6.70008,9.96892,8.6215,-4.40921,-3.22609,-3.99916,-3.36671,-3.73408,-3.45109,-3.54401,-3.82692,0.476372,3.22476,22.9414,18.8303,11.227,13.7054,16.9439,3.92959 -# -# Elapsed Time: 0.042753 seconds (Warm-up) -# 0.00453 seconds (Sampling) -# 0.047283 seconds (Total) -# diff --git a/arviz/tests/saved_models/stan_diagnostics/blocker.1.csv b/arviz/tests/saved_models/stan_diagnostics/blocker.1.csv deleted file mode 100644 index 19f9bdecdf..0000000000 --- a/arviz/tests/saved_models/stan_diagnostics/blocker.1.csv +++ /dev/null @@ -1,1046 +0,0 @@ -# stan_version_major = 1 -# stan_version_minor = 3 -# stan_version_patch = 0 -# model = blocker_model -# method = sample (Default) -# sample -# num_samples = 1000 (Default) -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.65000000000000002 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 1 -# data = src/models/bugs_examples/vol1/blocker/blocker.data.R -# init = src/models/bugs_examples/vol1/blocker/blocker.init.R -# random -# seed = 1434717929 -# output -# sample = samples.csv (Default) -# append_sample = 0 (Default) -# diagnostic = (Default) -# append_diagnostic = 0 (Default) -# refresh = 100 (Default) -# save_warmup = 0 (Default) -lp__,accept_stat__,stepsize__,treedepth__,d,sigmasq_delta,mu.1,mu.2,mu.3,mu.4,mu.5,mu.6,mu.7,mu.8,mu.9,mu.10,mu.11,mu.12,mu.13,mu.14,mu.15,mu.16,mu.17,mu.18,mu.19,mu.20,mu.21,mu.22,delta.1,delta.2,delta.3,delta.4,delta.5,delta.6,delta.7,delta.8,delta.9,delta.10,delta.11,delta.12,delta.13,delta.14,delta.15,delta.16,delta.17,delta.18,delta.19,delta.20,delta.21,delta.22,delta_new,sigma_delta -# Adaptation terminated -# Step size = 0.350484 -# Diagonal elements of inverse mass matrix: -# 0.00353462, 0.935044, 0.207488, 0.057726, 0.0832164, 0.00725564, 0.0211464, 0.132239, 0.00629474, 0.015251, 0.0197042, 0.00475182, 0.0121151, 0.0166284, 0.0441517, 0.0187878, 0.0191823, 0.0188328, 0.0371399, 0.0956852, 0.106922, 0.0165145, 0.0231892, 0.0176588, 0.0290442, 0.0224101, 0.018034, 0.00933002, 0.0173806, 0.0260654, 0.0113518, 0.0125966, 0.0132406, 0.00643862, 0.00999104, 0.0133324, 0.0193036, 0.0283918, 0.0150186, 0.0120746, 0.0197684, 0.0258469, 0.023299, 0.0124972, 0.0209571, 0.0176207, 0.0276856 --5922.44,0.784353,0.350484,3,-0.233883,0.0351674,-2.26717,-2.18819,-2.30188,-2.44328,-2.5678,-2.401,-1.72203,-2.11902,-1.81217,-2.32678,-2.2435,-1.55042,-3.02961,-2.74758,-1.56368,-1.54294,-2.30471,-2.9833,-2.80307,-1.41886,-2.03942,-2.87719,-0.440641,-0.204123,-0.346597,-0.431105,-0.0834789,-0.163559,-0.467268,-0.253734,-0.216699,-0.301357,-0.281817,-0.0640587,-0.263632,0.00142648,-0.390133,-0.207506,0.0652445,0.0320738,-0.487441,-0.306619,-0.477649,-0.5027,-0.117267,0.18753 --5923.39,0.974627,0.350484,2,-0.189516,0.0171881,-2.66688,-2.0593,-1.9125,-2.26705,-2.47121,-2.82718,-1.66179,-2.13879,-2.1367,-2.22678,-2.38648,-1.69212,-3.04741,-2.91928,-1.30114,-1.36538,-1.93611,-2.85462,-3.07431,-1.42184,-2.22869,-2.72604,-0.0647202,-0.255459,-0.197714,-0.290459,-0.0141306,0.0171178,-0.300294,0.0335036,-0.268703,-0.20407,-0.100682,-0.0731371,-0.353475,0.127748,-0.322846,-0.254493,-0.20447,-0.237309,-0.642206,-0.0606385,-0.0977055,-0.346635,-0.0406729,0.131104 --5920.56,0.987544,0.350484,2,-0.192369,0.0190425,-1.9621,-1.75502,-2.50503,-2.33585,-2.42642,-2.80894,-1.79992,-2.15396,-1.94577,-2.31232,-2.29971,-1.52165,-2.68166,-2.89991,-1.53145,-1.36584,-2.08769,-3.17537,-3.38881,-1.57224,-2.04449,-2.99396,-0.12969,-0.301535,-0.141812,-0.327239,-0.11772,0.0526682,-0.312569,-0.1357,-0.23536,-0.296251,-0.197137,-0.0438254,-0.374016,0.18937,-0.259717,-0.462538,-0.195768,-0.334735,-0.216376,-0.226915,-0.305009,-0.147411,0.145772,0.137995 --5924.28,0.654378,0.350484,3,-0.326973,0.0140364,-2.95661,-2.68618,-1.71925,-2.46756,-2.38362,-1.57195,-1.66512,-2.03524,-1.85676,-2.18353,-2.34168,-1.32851,-3.26592,-2.6173,-1.25359,-1.49569,-1.72008,-2.71063,-3.69519,-1.42077,-2.24279,-2.90699,-0.525608,-0.390053,-0.394079,-0.239183,-0.245416,-0.561497,-0.468253,-0.195203,-0.330481,-0.403728,-0.36402,-0.361285,-0.241842,-0.295722,-0.259919,-0.0693857,-0.201931,-0.161922,-0.332239,-0.376229,-0.363975,-0.43692,-0.875785,0.118475 --5919.79,0.65234,0.350484,2,-0.26668,0.0191611,-2.36048,-2.22265,-2.408,-2.46987,-2.40688,-1.8984,-1.61404,-2.17069,-1.78915,-2.09168,-2.30773,-1.22091,-3.16179,-2.57429,-1.58849,-1.45629,-1.85631,-2.72012,-3.71654,-1.54804,-1.92541,-2.90197,-0.0300726,-0.204275,-0.260622,-0.220558,-0.306588,-0.367781,-0.496329,-0.133509,-0.39685,-0.406125,-0.248903,-0.253586,-0.162485,-0.180462,-0.322044,-0.317002,-0.251057,-0.41058,-0.204486,-0.405652,-0.384079,-0.352638,-0.577029,0.138424 --5923.22,0.675633,0.350484,2,-0.251043,0.0139204,-2.85225,-2.24954,-2.37077,-2.48834,-2.34219,-2.30156,-1.58827,-2.17894,-1.75791,-2.08061,-2.4505,-1.21097,-3.06046,-2.54474,-1.50084,-1.46674,-1.935,-2.80817,-3.86312,-1.58144,-1.99601,-2.90118,0.0169835,-0.187501,-0.241538,-0.232279,-0.347084,-0.355015,-0.50975,-0.129991,-0.35426,-0.369191,-0.252938,-0.277262,-0.180394,-0.286837,-0.238551,-0.323734,-0.189829,-0.396444,-0.271448,-0.429501,-0.461237,-0.348601,-0.585163,0.117985 --5922.63,0.908053,0.350484,3,-0.294359,0.0117279,-2.08818,-2.2114,-1.9954,-2.29878,-2.60305,-1.62402,-1.74382,-2.39658,-1.90046,-2.1439,-2.41548,-1.45325,-2.94299,-2.69621,-1.14286,-1.4313,-2.15084,-2.94917,-3.82379,-1.43367,-1.95543,-3.16171,-0.421318,-0.364828,-0.361479,-0.269182,-0.150351,-0.210069,-0.495992,0.0686964,-0.343211,-0.47224,-0.153332,-0.307413,-0.201816,-0.174324,-0.238335,-0.276706,-0.252519,-0.151895,-0.274823,-0.226563,-0.624962,-0.427655,-0.0421297,0.108295 --5918.57,1,0.350484,3,-0.234249,0.0138187,-2.10389,-1.97003,-2.36576,-2.441,-2.3301,-2.07041,-1.59639,-2.20529,-1.82132,-2.22881,-2.4361,-1.36252,-2.9661,-2.70793,-1.28863,-1.55143,-2.3065,-3.04295,-3.32847,-1.40253,-2.04666,-3.0347,-0.420121,-0.285681,-0.416123,-0.25159,-0.261515,-0.418266,-0.340104,0.0521737,-0.310178,-0.282213,-0.25408,-0.150625,-0.188563,-0.0751108,-0.334,-0.243916,-0.0300634,-0.341032,-0.176222,-0.195109,-0.833659,-0.183631,-0.257906,0.117553 --5922.4,0.931297,0.350484,3,-0.228512,0.0206528,-2.8723,-2.341,-1.74072,-2.46843,-2.55631,-2.49058,-1.72017,-2.37516,-2.08407,-2.26485,-2.386,-1.67289,-2.89233,-2.78862,-1.41989,-1.39706,-1.79433,-2.81223,-3.49287,-1.35351,-1.76985,-2.84422,-0.116178,-0.34611,-0.322395,-0.178802,0.0210883,-0.140298,-0.475767,0.0434597,-0.256711,-0.36275,-0.187474,-0.145856,-0.52637,0.039908,-0.205193,-0.199689,-0.245014,-0.0428158,-0.266568,-0.550002,-0.487647,-0.489519,-0.24205,0.143711 --5912.22,0.973176,0.350484,3,-0.229906,0.00999282,-2.0068,-2.07893,-2.46587,-2.3893,-2.37911,-1.98705,-1.74023,-1.90083,-1.89836,-2.23891,-2.18771,-1.39064,-2.77813,-2.69913,-1.38108,-1.62329,-2.20109,-3.02355,-3.40277,-1.37415,-2.18785,-3.09314,-0.278379,-0.222124,-0.0524843,-0.424951,-0.247229,-0.278642,-0.256579,-0.312557,-0.223527,-0.314509,-0.27312,-0.201797,-0.511709,-0.0987716,-0.211083,-0.165709,-0.0803913,-0.140788,-0.151164,-0.137397,-0.399389,-0.221132,-0.228707,0.0999641 --5916.24,0.830382,0.350484,3,-0.32024,0.0115255,-2.65497,-2.31227,-1.93877,-2.44072,-2.44276,-2.41835,-1.68749,-2.36381,-1.89745,-2.20297,-2.40919,-1.52327,-2.7715,-2.85246,-1.27151,-1.39594,-1.64524,-3.03679,-3.40977,-1.55869,-2.02745,-2.78587,-0.30863,-0.42188,-0.552496,-0.151432,-0.283086,-0.472299,-0.395421,-0.0527649,-0.363481,-0.353291,-0.356475,-0.210037,-0.655099,0.00328286,-0.288187,-0.366569,-0.461523,-0.360734,-0.259888,-0.369998,-0.264875,-0.367186,-0.317251,0.107357 --5923.94,0.838838,0.350484,2,-0.368009,0.0158579,-2.29273,-2.00385,-2.63486,-2.37934,-2.39249,-2.13384,-1.65349,-2.1808,-1.74722,-2.2244,-2.30862,-1.56054,-2.83858,-2.88208,-1.17091,-1.64159,-1.82098,-2.24274,-3.60016,-1.48611,-2.02622,-2.90698,-0.396534,-0.404673,-0.281415,-0.437271,-0.170012,-0.515625,-0.390284,0.164974,-0.269709,-0.249951,-0.218294,-0.323322,-0.526212,-0.0724234,-0.464998,-0.249218,-0.349065,-0.456698,-0.440869,-0.274964,-0.529521,-0.313721,-0.436621,0.125928 --5924.78,0.842537,0.350484,3,-0.328346,0.0181327,-2.74781,-2.44262,-2.10247,-2.37711,-2.23449,-2.1295,-1.66068,-2.43787,-1.92011,-2.2195,-2.1495,-1.1927,-3.32947,-2.68351,-1.25736,-1.33254,-1.82799,-3.63243,-3.41149,-1.46124,-2.18226,-2.99729,-0.253453,-0.349571,-0.51166,-0.185915,-0.478756,-0.24055,-0.501965,-0.141176,-0.625196,-0.432669,-0.491439,-0.348361,-0.369067,-0.0850504,-0.346672,-0.35838,-0.337071,-0.253784,-0.268318,-0.387522,-0.271977,-0.427144,-0.345404,0.134658 --5926.17,0.914059,0.350484,2,-0.356327,0.014559,-2.49273,-2.22876,-2.47608,-2.44459,-2.1529,-2.10311,-1.68373,-2.24604,-1.91235,-2.25236,-2.16493,-1.34942,-3.11402,-2.78177,-1.2436,-1.40629,-1.8407,-3.43218,-3.4744,-1.40889,-2.16301,-2.90114,-0.0912857,-0.325104,-0.513917,-0.318363,-0.638574,-0.281748,-0.531022,-0.0372622,-0.642271,-0.470548,-0.395118,-0.364268,-0.44188,-0.214894,-0.168049,-0.366575,-0.235767,-0.121311,-0.193591,-0.295445,-0.321062,-0.52317,-0.422709,0.120661 --5922.36,0.967609,0.350484,3,-0.311124,0.0101636,-2.35669,-2.28716,-2.14599,-2.22211,-2.42291,-2.10944,-1.72093,-1.86035,-1.72421,-2.15428,-2.36924,-1.33726,-2.77761,-2.62132,-1.39179,-1.59696,-2.13235,-2.34924,-3.30764,-1.46995,-1.97004,-2.87131,-0.426223,-0.367288,0.0540651,-0.363184,-0.0727771,-0.328123,-0.30707,-0.375842,-0.252458,-0.233418,-0.258405,-0.279063,-0.268462,-0.224054,-0.43793,-0.17202,-0.364831,-0.380741,-0.398855,-0.407753,-0.468274,-0.263187,-0.191306,0.100815 --5922.96,1,0.350484,2,-0.349237,0.0104523,-2.09839,-2.15801,-2.25561,-2.19867,-2.62697,-2.20838,-1.71386,-1.94305,-1.70981,-2.17918,-2.38028,-1.3333,-2.74359,-2.74056,-1.47563,-1.47865,-2.06398,-2.76359,-3.13511,-1.30936,-2.16552,-2.8612,-0.361633,-0.436783,0.164574,-0.500654,0.0554321,-0.463574,-0.341458,-0.323079,-0.301661,-0.36987,-0.227169,-0.323193,-0.329342,-0.165257,-0.417723,-0.0940827,-0.296616,-0.268261,-0.455451,-0.399364,-0.366228,-0.219969,-0.179889,0.102237 --5930.1,0.516276,0.350484,3,-0.211222,0.0266062,-3.12048,-2.07923,-1.82184,-2.55752,-2.34211,-2.04494,-1.70136,-2.19477,-1.94701,-2.31279,-2.19066,-1.44371,-3.29236,-2.69679,-0.896031,-1.5875,-2.20913,-2.98957,-3.40686,-1.68914,-2.08503,-3.03409,-0.11139,-0.218324,-0.885002,-0.114029,-0.274818,-0.178577,-0.387992,-0.123555,-0.746585,-0.23044,-0.330782,-0.224444,-0.16045,-0.00571583,-0.351201,-0.20687,0.0975344,-0.251896,-0.269694,-0.087797,-0.249006,-0.402369,-0.620835,0.163114 --5926.01,0.877886,0.350484,2,-0.188751,0.0227763,-2.57985,-1.91946,-1.63206,-2.40687,-2.30534,-2.62589,-1.69668,-2.00976,-1.94257,-2.29472,-2.43799,-1.45989,-2.97315,-2.7974,-1.24768,-1.46616,-2.31309,-3.17391,-3.2381,-1.56377,-2.23655,-2.85276,0.0119015,-0.0487325,-0.713274,-0.280804,-0.168288,-0.0422665,-0.534869,-0.257804,-0.642625,-0.20852,-0.185808,-0.252609,-0.255674,0.096499,-0.29421,-0.214942,-0.0305538,-0.159455,-0.191403,0.0338524,-0.191418,-0.533951,-0.565887,0.150918 --5925.35,0.783291,0.350484,3,-0.18919,0.0249051,-2.54697,-2.25759,-2.13439,-2.32713,-2.54432,-2.08062,-1.72396,-2.01335,-1.922,-2.2636,-2.3342,-1.57475,-3.72647,-2.97783,-1.52755,-1.37077,-1.66631,-2.88164,-3.68386,-1.44206,-2.13809,-2.96178,0.0421272,-0.49308,0.0610165,-0.204443,0.077019,-0.243779,-0.296393,-0.174458,-0.574446,-0.304981,-0.0451175,-0.0870648,-0.0545106,0.156312,-0.149448,-0.22002,-0.290454,-0.0223399,-0.0815271,-0.240976,-0.240013,-0.362814,-0.0312854,0.157813 --5929.16,0.757691,0.350484,2,-0.171325,0.0552312,-2.53419,-2.37767,-2.27659,-2.26917,-2.38399,-2.00016,-1.74428,-2.1237,-1.88934,-2.29057,-2.37564,-1.44214,-3.72638,-2.94347,-1.37085,-1.51061,-1.93347,-2.88688,-3.31126,-1.46503,-2.20005,-2.70202,0.171091,-0.579776,0.0870553,-0.296906,-0.0210023,-0.188527,-0.427805,-0.1476,-0.621075,-0.256904,-0.0628704,-0.169344,-0.0524956,0.100907,-0.300974,-0.0816978,-0.240172,0.0532322,-0.169286,-0.289545,-0.108456,-0.297388,-0.01775,0.235013 --5922.36,0.929354,0.350484,2,-0.158479,0.0207367,-2.15788,-1.75604,-1.83934,-2.45518,-2.49399,-2.02881,-1.5714,-2.26386,-1.97975,-2.23485,-2.35859,-1.6534,-2.69699,-2.76062,-1.2816,-1.55703,-2.24405,-3.14413,-3.48068,-1.7358,-2.24356,-2.92403,-0.188834,-0.111963,-0.412305,-0.270777,-0.14832,-0.323315,-0.449352,-0.0251087,-0.175065,-0.244603,-0.236302,-0.0460325,-0.115844,-0.0158777,-0.259941,-0.25886,0.00226646,-0.214883,-0.144145,-0.0481762,-0.328789,-0.737423,-0.353652,0.144002 --5931.51,0.836214,0.350484,3,-0.264455,0.0327645,-2.52846,-2.76194,-2.65771,-2.28487,-2.41238,-2.31692,-1.71971,-2.0133,-2.1808,-2.33167,-2.42426,-1.44669,-3.23612,-2.79512,-1.22189,-1.48729,-1.54585,-2.94505,-3.65233,-1.24853,-2.25477,-2.56226,-0.191311,-0.342779,-0.218623,-0.290537,-0.132168,-0.221632,-0.462688,-0.35353,-0.185498,-0.272906,-0.0361695,-0.149596,-0.387641,-0.258522,-0.454308,-0.0768852,-0.469176,-0.018378,-0.201995,-0.372293,-0.12975,-0.555471,-0.0946418,0.18101 --5922.3,0.65428,0.350484,3,-0.191864,0.00485552,-2.29353,-1.59303,-1.94712,-2.57188,-2.33795,-2.29416,-1.76256,-2.20175,-1.91025,-2.26673,-2.54147,-1.46709,-2.81702,-2.88129,-1.55948,-1.68,-2.27581,-2.85845,-3.18201,-1.66385,-2.02965,-3.10922,-0.213578,-0.247192,-0.0199278,-0.155396,-0.21211,-0.204796,-0.308571,-0.133537,-0.195828,-0.281589,-0.0935937,-0.152746,-0.139329,-0.186859,0.0744082,-0.171096,0.0360318,-0.328711,-0.115774,-0.0939965,-0.48373,-0.251665,-0.289952,0.0696815 --5922.69,0.313943,0.350484,2,-0.166177,0.0185874,-2.18705,-1.94119,-1.88362,-2.38708,-2.32231,-1.88915,-1.81482,-2.05037,-1.91102,-2.24124,-2.38908,-1.36253,-3.17332,-2.60578,-1.71983,-1.34936,-2.15905,-2.90353,-3.18477,-1.46825,-1.97632,-3.03731,-0.473888,-0.292671,-0.13221,-0.169312,-0.2902,0.0473856,-0.227054,-0.096543,-0.14295,-0.31806,-0.16045,-0.258286,-0.288894,0.0108125,0.013373,-0.0367472,-0.0362607,0.00838386,-0.263312,-0.0573772,-0.263191,-0.192687,-0.191537,0.136336 --5921.48,0.759073,0.350484,2,-0.124093,0.00908106,-2.16744,-1.69256,-2.0034,-2.43834,-2.39173,-2.17601,-1.80607,-2.12621,-2.05832,-2.2587,-2.34317,-1.29264,-2.772,-2.66224,-1.57509,-1.46563,-2.07768,-2.67331,-3.03079,-1.50308,-2.15982,-2.98332,-0.446152,-0.314557,-0.0215256,-0.0811954,-0.0787818,-0.212693,-0.204683,-0.325967,-0.096606,-0.25667,-0.128562,-0.284252,-0.110516,-0.107046,0.0430571,-0.1572,-0.0525063,-0.00937705,-0.242692,-0.174569,-0.439337,-0.125074,-0.214469,0.0952946 --5914.44,0.916371,0.350484,3,-0.175996,0.00721616,-2.6623,-2.82865,-2.2144,-2.39999,-2.23271,-2.49012,-1.71072,-2.11541,-2.14681,-2.29961,-2.4112,-1.46429,-3.29278,-2.81524,-1.40615,-1.69471,-2.1282,-3.22873,-3.78015,-1.49873,-2.14805,-3.04483,0.0153219,-0.126191,-0.426221,-0.259372,-0.303689,-0.209079,-0.321341,-0.176342,-0.177742,-0.21048,-0.242456,-0.173256,-0.295357,-0.124617,-0.361367,-0.139402,-0.231105,-0.302108,-0.137743,-0.230674,-0.224259,-0.229835,-0.233093,0.084948 --5909.48,0.772446,0.350484,2,-0.152675,0.00643801,-2.71768,-2.22719,-2.34901,-2.43154,-2.72961,-2.26809,-1.78062,-2.15063,-1.94388,-2.27226,-2.33988,-1.53065,-2.72471,-2.56181,-1.35531,-1.31569,-1.92642,-2.71659,-3.21741,-1.47702,-2.08289,-2.92919,-0.396834,-0.242128,-0.0230902,-0.189573,-0.0329708,-0.246738,-0.250005,-0.101081,-0.214984,-0.238598,-0.0935891,-0.140873,-0.107934,-0.0843249,-0.0776455,-0.23341,-0.178657,-0.110199,-0.206791,-0.18395,-0.24072,-0.161731,-0.217777,0.0802372 --5912.04,0.402923,0.350484,2,-0.205098,0.00528293,-2.38368,-2.4564,-2.4628,-2.46372,-2.73945,-2.27338,-1.76154,-2.0759,-2.04538,-2.33845,-2.32341,-1.63248,-2.82414,-2.83267,-1.40978,-1.48497,-1.89058,-2.70941,-3.31269,-1.46713,-1.98205,-2.87224,-0.268293,-0.179281,-0.0129386,-0.16019,-0.0906091,-0.136963,-0.236795,-0.0384615,-0.22005,-0.229799,-0.03824,-0.1436,-0.29687,-0.0534887,-0.0607886,-0.280429,-0.268435,-0.165752,-0.222076,-0.155618,-0.275855,-0.201511,-0.217942,0.0726837 --5914.47,0.00012048,0.350484,3,-0.249133,0.0087652,-2.73262,-1.92912,-1.73431,-2.37407,-2.08915,-2.30664,-1.58792,-2.1149,-1.85989,-2.20686,-2.27062,-1.32821,-3.26237,-2.7863,-1.2284,-1.61002,-2.19872,-3.20512,-3.49049,-1.50481,-2.26691,-3.00519,-0.21479,-0.284384,-0.296249,-0.368666,-0.324158,-0.265157,-0.559399,-0.282196,-0.23887,-0.305709,-0.393257,-0.320285,-0.403026,-0.17575,-0.359189,-0.181613,-0.275249,-0.427711,-0.224944,-0.249835,-0.18601,-0.260645,-0.315212,0.0936227 --5919.75,0.156749,0.350484,3,-0.262483,0.00698461,-2.59004,-2.23517,-2.42665,-2.42635,-2.09969,-2.54371,-1.55702,-1.77899,-1.89737,-2.21021,-2.22507,-1.43699,-2.69331,-2.73986,-1.04748,-1.53059,-2.02134,-2.6532,-3.67475,-1.62338,-2.2812,-2.74887,-0.386074,-0.410761,0.0361843,-0.205322,-0.282606,-0.308654,-0.497809,-0.396536,-0.316271,-0.299559,-0.284054,-0.226133,-0.206103,-0.194249,-0.225704,-0.233508,-0.216683,-0.405564,-0.317797,-0.154936,-0.326128,-0.435464,-0.278837,0.083574 --5911.61,0.925353,0.350484,2,-0.26906,0.00575372,-2.35018,-2.52349,-2.25946,-2.31208,-2.5437,-1.81441,-1.70574,-2.24964,-1.89326,-2.29221,-2.23573,-1.62096,-3.07626,-2.76317,-1.37988,-1.50594,-1.99728,-3.29256,-2.94844,-1.45955,-2.07425,-2.90456,-0.207153,-0.214267,-0.457394,-0.364589,-0.276135,-0.292621,-0.339556,-0.225032,-0.24986,-0.211382,-0.312734,-0.206512,-0.439727,-0.0160897,-0.415455,-0.286908,-0.312224,-0.0678382,-0.376296,-0.145762,-0.309968,-0.286785,-0.308582,0.0758533 --5908.67,0.950931,0.350484,2,-0.289234,0.00534425,-2.54279,-2.46094,-2.0548,-2.31557,-2.3325,-1.83352,-1.77028,-2.17248,-1.95049,-2.26264,-2.18929,-1.41648,-2.89619,-2.85781,-1.34925,-1.51233,-1.98918,-2.78913,-3.24094,-1.32122,-2.09759,-2.95004,-0.152512,-0.293903,-0.308897,-0.278083,-0.215367,-0.296341,-0.363009,-0.222085,-0.404967,-0.353081,-0.253837,-0.267691,-0.380567,-0.22769,-0.311558,-0.288094,-0.216291,0.228848,-0.253691,-0.174735,-0.281429,-0.313623,-0.207833,0.0731044 --5909.24,0.0933249,0.350484,3,-0.291891,0.00162557,-2.94103,-1.8961,-1.80828,-2.30025,-2.17875,-1.99651,-1.67586,-1.94185,-2.06693,-2.24778,-2.39969,-1.48332,-2.74443,-2.3351,-1.22976,-1.24168,-1.83797,-3.1989,-3.14974,-1.53083,-2.06817,-3.00725,-0.348972,-0.297103,-0.29887,-0.331236,-0.340223,-0.305989,-0.30235,-0.329948,-0.238226,-0.290181,-0.304966,-0.285608,-0.26836,-0.358224,-0.247763,-0.254752,-0.327259,0.00274004,-0.323658,-0.38922,-0.385957,-0.290277,-0.335649,0.0403184 --5909.24,4.10935e-15,0.350484,2,-0.291891,0.00162557,-2.94103,-1.8961,-1.80828,-2.30025,-2.17875,-1.99651,-1.67586,-1.94185,-2.06693,-2.24778,-2.39969,-1.48332,-2.74443,-2.3351,-1.22976,-1.24168,-1.83797,-3.1989,-3.14974,-1.53083,-2.06817,-3.00725,-0.348972,-0.297103,-0.29887,-0.331236,-0.340223,-0.305989,-0.30235,-0.329948,-0.238226,-0.290181,-0.304966,-0.285608,-0.26836,-0.358224,-0.247763,-0.254752,-0.327259,0.00274004,-0.323658,-0.38922,-0.385957,-0.290277,-0.335649,0.0403184 --5909.6,5.09115e-18,0.350484,2,-0.235472,0.00356522,-2.03639,-2.56442,-2.8328,-2.31052,-2.50112,-2.28274,-1.73947,-2.22417,-1.86889,-2.34581,-2.25613,-1.25173,-2.93646,-2.82672,-1.33888,-1.48696,-2.03902,-2.75387,-3.72476,-1.70918,-2.18719,-2.85264,-0.192966,-0.282199,-0.27366,-0.260084,-0.192652,-0.29166,-0.35018,-0.189088,-0.36665,-0.240459,-0.218761,-0.268583,-0.307326,-0.0442712,-0.345,-0.330371,-0.190126,-0.413979,-0.184816,-0.190882,-0.195613,-0.292078,-0.272123,0.0597095 --5917.8,0.497285,0.350484,2,-0.29588,0.00976254,-2.43896,-2.16908,-2.71956,-2.26615,-2.20168,-1.86454,-1.70939,-2.10198,-2.2177,-2.20288,-2.32443,-1.52694,-2.82608,-2.73957,-1.30924,-1.5309,-1.99396,-3.07573,-3.15409,-1.87442,-2.27265,-2.93796,-0.479202,-0.342346,-0.290318,-0.467406,-0.229,-0.355216,-0.353551,-0.257271,-0.247584,-0.317512,-0.313007,-0.322766,-0.363211,-0.00516773,-0.312532,-0.233674,-0.351356,-0.153645,-0.444082,-0.194876,-0.508657,-0.405398,-0.338213,0.0988056 --5915.82,0.642564,0.350484,2,-0.320276,0.00793347,-1.77855,-2.49714,-1.89916,-2.32885,-2.427,-2.10269,-1.76798,-1.99889,-2.08175,-2.11593,-2.12958,-1.44409,-2.66755,-2.60963,-1.22246,-1.67891,-2.01926,-3.09107,-2.83994,-1.59286,-2.0098,-2.86777,-0.256341,-0.358243,-0.395917,-0.322933,-0.48337,-0.370489,-0.387675,-0.401121,-0.221415,-0.379665,-0.352899,-0.214956,-0.422605,-0.147662,-0.406055,-0.165074,-0.242485,-0.420367,-0.348296,-0.299623,-0.196807,-0.299016,-0.353627,0.0890701 --5914.75,0.771902,0.350484,2,-0.34287,0.011159,-1.95058,-2.46334,-2.01885,-2.3316,-2.42637,-1.87364,-1.79593,-2.02561,-2.01675,-2.14687,-2.15382,-1.43009,-2.76626,-2.61941,-1.21098,-1.7337,-1.92113,-3.13863,-2.75556,-1.55565,-2.04067,-2.88773,-0.338866,-0.22974,-0.314623,-0.384285,-0.488533,-0.426864,-0.422185,-0.369804,-0.272895,-0.37065,-0.401709,-0.224814,-0.415387,-0.114871,-0.409581,-0.225669,-0.258306,-0.417488,-0.365829,-0.270779,-0.242723,-0.357426,-0.419441,0.105636 --5918.94,0.170852,0.350484,2,-0.353004,0.00339263,-2.05445,-2.25983,-1.93699,-2.42334,-2.33986,-2.41022,-1.70024,-1.99914,-2.21957,-2.16324,-2.26123,-1.16676,-2.76442,-2.68406,-1.33789,-1.44466,-1.57821,-3.16759,-3.30151,-1.3715,-2.07248,-2.9377,-0.388793,-0.47402,-0.301608,-0.345551,-0.50964,-0.318039,-0.504283,-0.301842,-0.291985,-0.399849,-0.324376,-0.447727,-0.263215,-0.397173,-0.429482,-0.180864,-0.367731,-0.334701,-0.384993,-0.188265,-0.445419,-0.252568,-0.25951,0.0582463 --5914.62,0.934981,0.350484,2,-0.351557,0.00728124,-2.6327,-1.98921,-2.04675,-2.39671,-2.38601,-2.00678,-1.61578,-2.23544,-2.17713,-2.18419,-2.29629,-1.38995,-2.82586,-2.52342,-1.15824,-1.33713,-1.57472,-2.85836,-3.09511,-1.55878,-2.09717,-2.94497,-0.322291,-0.199492,-0.507932,-0.369567,-0.25829,-0.547864,-0.312731,-0.225106,-0.388253,-0.40938,-0.391462,-0.287659,-0.551011,-0.146738,-0.376032,-0.30264,-0.375006,-0.343833,-0.37937,-0.396667,-0.406692,-0.366951,-0.331337,0.0853302 --5912.93,0.834341,0.350484,3,-0.278821,0.00537703,-2.33652,-2.07362,-2.10122,-2.31755,-2.33953,-2.50502,-1.62168,-2.07493,-1.73133,-2.20979,-2.35168,-1.43324,-2.88944,-2.77899,-1.34576,-1.56884,-2.27936,-2.88034,-3.36688,-1.339,-2.12698,-2.79685,-0.406233,-0.682412,-0.298454,-0.301636,-0.276647,-0.108816,-0.632094,-0.274902,-0.24474,-0.280151,-0.154494,-0.296267,-0.186944,-0.100041,-0.269115,-0.322424,-0.324126,-0.250589,-0.230556,-0.288646,-0.329939,-0.405517,-0.343854,0.0733283 --5908.46,0.995011,0.350484,3,-0.220108,0.00214671,-2.69916,-2.51254,-2.09346,-2.50783,-2.47214,-2.13409,-1.8446,-2.18101,-1.95166,-2.27176,-2.29502,-1.40033,-3.09251,-2.65393,-1.28654,-1.41674,-2.15463,-2.84015,-3.50198,-1.57799,-2.23831,-3.11736,-0.186887,-0.493905,-0.217302,-0.253972,-0.255622,-0.226614,-0.271935,-0.290669,-0.174601,-0.238898,-0.220975,-0.257431,-0.21759,-0.229472,-0.280743,-0.348515,-0.142337,-0.0733491,-0.371373,-0.236562,-0.289876,-0.283194,-0.22225,0.0463326 --5913.59,0.796974,0.350484,2,-0.155036,0.00645055,-2.18705,-1.99005,-2.29429,-2.30403,-2.2917,-2.17045,-1.71184,-2.09657,-2.11048,-2.23254,-2.29051,-1.53136,-2.85593,-2.78286,-1.43388,-1.59968,-1.73411,-3.11108,-3.50088,-1.37142,-2.1689,-2.8218,-0.0811998,-0.0337927,-0.0852416,-0.216024,-0.250958,-0.104872,-0.299791,-0.244856,-0.160947,-0.254748,-0.165951,-0.108139,-0.387397,0.0800967,-0.201284,-0.108708,-0.0540058,-0.38069,-0.126018,-0.134171,-0.199305,-0.236285,-0.0465144,0.0803153 --5925.58,0.62378,0.350484,2,-0.238449,0.0123414,-2.45756,-2.8242,-2.71996,-2.49882,-2.6148,-2.79451,-1.64485,-2.17406,-1.9708,-2.21966,-2.34011,-1.73313,-2.901,-2.79021,-1.4782,-1.5271,-2.38609,-2.49821,-3.24408,-1.57653,-1.96391,-2.89587,-0.12671,-0.309678,0.0566488,-0.200713,-0.319906,-0.259338,-0.507358,-0.184928,-0.285641,-0.298172,-0.127799,-0.0475563,-0.100499,-0.117466,-0.215402,-0.231487,-0.334992,-0.157546,-0.242433,-0.319149,-0.443609,-0.260792,-0.362839,0.111092 --5915.95,0.951818,0.350484,2,-0.101155,0.0138619,-2.32184,-2.46958,-2.10668,-2.48681,-2.47491,-2.16656,-1.68511,-2.24172,-1.81734,-2.3024,-2.52606,-1.52391,-3.24399,-2.67784,-1.49435,-1.42783,-1.94642,-3.21747,-3.20312,-1.49395,-2.21343,-3.11608,-0.298233,-0.154203,-0.0694692,-0.163015,0.0919019,-0.199421,-0.523308,0.0504579,-0.239698,-0.162711,-0.0146153,-0.0916206,-0.0730326,-0.133581,-0.253312,-0.276489,-0.0273233,-0.121002,-0.198107,-0.141792,-0.0866509,-0.21344,-0.0285895,0.117737 --5916.44,0.513767,0.350484,2,-0.150416,0.0204306,-2.3406,-2.2981,-2.13646,-2.52347,-2.43532,-2.35027,-1.66942,-2.24251,-1.89312,-2.29774,-2.52342,-1.47043,-3.22555,-2.66746,-1.47018,-1.33665,-2.03685,-3.15894,-3.03963,-1.51759,-2.17487,-3.14586,-0.22904,-0.147842,-0.0917192,-0.164034,0.129735,-0.252754,-0.533673,0.0376786,-0.238837,-0.160661,0.0101451,-0.0893833,-0.165131,-0.0625455,-0.187547,-0.274178,-0.0358187,-0.00565441,-0.285699,-0.117094,-0.119186,-0.214109,-0.0578495,0.142936 --5919.9,0.669893,0.350484,3,-0.317675,0.0114674,-2.72894,-2.09002,-2.09771,-2.44825,-2.22387,-2.79728,-1.83869,-1.92841,-2.02731,-2.21494,-2.14077,-1.53248,-3.13555,-2.80386,-1.22984,-1.79937,-2.01741,-3.00526,-3.58078,-1.4277,-2.15918,-2.71407,-0.160982,-0.362569,-0.211808,-0.293339,-0.148503,-0.145244,-0.298968,-0.410922,-0.387892,-0.267369,-0.310495,-0.186948,-0.328117,0.0437523,-0.437934,-0.291162,-0.347912,-0.131484,0.0308126,-0.346372,-0.270876,-0.47314,-0.317132,0.107086 --5929.21,0.870767,0.350484,2,-0.265857,0.0255914,-2.65783,-2.19785,-2.01626,-2.33302,-2.60889,-1.69335,-1.68355,-1.93358,-1.71191,-2.19342,-2.31031,-1.30379,-3.114,-2.82017,-1.06154,-1.38459,-1.95105,-2.65551,-4.16394,-1.14424,-2.16888,-2.79953,-0.512254,-0.379223,-0.285841,-0.153636,-0.21594,-0.332366,-0.294562,-0.38992,-0.347657,-0.454127,-0.302932,-0.455259,-0.0802797,-0.0281689,-0.429187,-0.237376,-0.053041,-0.527953,-0.176756,-0.416173,-0.325078,-0.617134,-0.227159,0.159973 --5930.75,0.962916,0.350484,2,-0.323089,0.0119523,-1.96434,-1.79129,-1.88133,-2.39945,-2.72126,-2.23193,-1.67461,-2.10714,-1.89253,-2.10138,-2.30573,-1.18287,-3.02736,-2.79795,-1.29905,-1.48414,-2.09674,-2.49749,-4.15708,-1.21351,-1.95944,-2.70238,-0.109443,-0.507823,-0.225504,-0.436456,-0.120877,-0.307159,-0.554437,-0.284807,-0.359571,-0.392435,-0.181155,-0.249628,-0.175943,0.0561239,-0.218927,-0.284059,-0.0361688,-0.17813,-0.367312,-0.170717,-0.506551,-0.60018,-0.221939,0.109326 --5922.08,0.985749,0.350484,2,-0.230075,0.0159616,-2.22757,-1.84934,-1.75071,-2.58257,-2.38713,-2.02067,-1.74261,-2.0957,-2.11297,-2.28233,-2.51944,-1.32078,-2.8291,-2.7483,-1.39895,-1.45231,-2.06422,-3.30608,-3.86492,-1.36713,-1.91808,-2.69374,-0.324176,-0.320732,-0.361201,-0.114306,-0.109943,-0.296821,-0.355704,-0.328995,-0.356218,-0.382339,-0.175912,-0.267928,-0.495297,-0.105955,-0.126338,-0.182527,-0.1841,-0.0564434,-0.37096,-0.470161,-0.426524,-0.390798,-0.326676,0.126339 --5913.83,0.925231,0.350484,3,-0.266217,0.00856964,-2.37844,-2.05385,-2.04385,-2.37419,-2.49615,-1.6171,-1.71569,-2.12724,-1.80358,-2.28614,-2.22045,-1.45689,-3.2326,-2.84018,-1.33909,-1.42827,-2.24073,-3.18768,-3.36544,-1.73018,-2.10689,-3.1191,-0.277463,-0.177648,-0.244426,-0.330052,-0.0743602,-0.242202,-0.356154,-0.200873,-0.447916,-0.395839,-0.311426,-0.227524,-0.411294,-0.141799,-0.126425,-0.204959,-0.151264,-0.13726,-0.346524,-0.247445,-0.462424,-0.300089,-0.286382,0.0925724 --5924.56,0.235142,0.350484,3,-0.142944,0.0122907,-2.07534,-2.01576,-2.44253,-2.49941,-2.34254,-2.57282,-1.70664,-2.25522,-2.00544,-2.37553,-2.5125,-1.56837,-3.36749,-2.93139,-1.39278,-1.46134,-2.17688,-3.76968,-4.0254,-1.48811,-2.26713,-2.98859,-0.217756,-0.13299,-0.0535037,-0.134054,0.00601716,-0.037139,-0.360017,-0.0513854,-0.0183333,-0.244001,0.0675221,-0.0198154,-0.282983,0.330113,-0.159254,-0.140233,-0.148544,2.88765e-05,-0.18611,-0.214402,-0.246064,-0.554903,-0.200275,0.110864 --5926.06,1,0.350484,3,-0.15079,0.0082632,-2.7179,-2.5904,-1.88764,-2.29677,-2.49981,-2.39207,-1.88361,-2.05276,-1.8383,-2.27378,-2.22852,-1.55679,-2.70527,-2.79315,-1.30484,-1.59151,-2.027,-2.42227,-3.21513,-1.65778,-2.1726,-2.78523,0.113522,-0.127225,-0.205429,-0.169281,-0.173229,-0.126548,-0.358816,-0.0805076,-0.583271,-0.230526,-0.291032,-0.118141,-0.0683802,-0.00779383,-0.18304,-0.0878534,-0.0383329,-0.161517,0.0196153,0.0212029,-0.157953,-0.0567061,-0.0304052,0.0909022 --5919.17,0.970264,0.350484,2,-0.230285,0.0140786,-2.93762,-2.4788,-2.44702,-2.43365,-2.51275,-1.85472,-1.72393,-2.09924,-1.88278,-2.16597,-2.26847,-1.51435,-3.21634,-2.74272,-1.39563,-1.48559,-2.24258,-2.94861,-3.34469,-1.51164,-2.15527,-3.09548,-0.234266,-0.158391,-0.119595,-0.281321,-0.0638772,-0.20667,-0.107789,-0.288163,-0.408382,-0.381091,-0.171207,-0.112377,-0.314938,-0.0861299,-0.152323,0.0617048,-0.188451,-0.21117,-0.35981,-0.333827,-0.268396,-0.396499,-0.272577,0.118653 --5917.31,0.912689,0.350484,2,-0.261086,0.00733203,-2.2504,-2.3798,-2.77358,-2.3752,-2.54178,-1.87919,-1.78922,-2.07664,-1.8839,-2.18188,-2.27055,-1.41388,-2.74573,-2.93661,-1.32082,-1.55386,-1.94757,-3.07652,-3.19756,-1.60087,-2.28461,-3.07702,-0.362052,-0.280772,-0.0860778,-0.301417,-0.298394,-0.484168,-0.385038,-0.281535,-0.388373,-0.361158,-0.25757,-0.11718,-0.309116,-0.100114,-0.0966942,0.0161929,-0.15482,-0.19903,-0.239835,-0.247474,-0.190588,-0.178575,-0.256756,0.0856273 --5913.65,0.934957,0.350484,3,-0.329406,0.00403328,-2.63936,-2.21753,-1.89707,-2.37826,-2.33355,-2.52355,-1.8182,-2.20631,-2.1699,-2.35372,-2.32666,-1.40439,-3.10369,-2.65763,-1.30716,-1.38415,-1.80568,-2.83857,-3.48754,-1.32305,-1.94997,-2.90263,-0.341185,-0.359037,-0.283524,-0.306866,-0.38989,-0.436364,-0.474829,-0.251887,-0.358734,-0.223886,-0.156291,-0.095063,-0.321405,-0.20454,-0.208963,-0.43422,-0.220475,-0.304056,-0.249284,-0.353365,-0.380014,-0.332881,-0.299911,0.0635081 --5918.83,0.71121,0.350484,2,-0.283152,0.0117331,-2.31248,-2.30904,-1.72051,-2.38771,-2.25375,-2.28918,-1.78506,-1.96301,-1.9529,-2.50574,-2.38324,-1.4683,-2.88642,-2.67439,-1.34701,-1.34843,-1.66659,-3.03505,-3.64359,-1.36598,-1.93296,-2.99145,-0.255664,-0.545221,-0.400881,-0.42089,-0.302321,-0.364827,-0.348615,-0.261963,-0.277942,-0.139665,-0.235156,-0.178377,-0.328678,-0.248288,-0.141469,-0.351309,-0.33358,-0.253312,-0.291353,-0.327928,-0.508479,-0.272628,-0.283385,0.108319 --5911.97,0.811267,0.350484,3,-0.203734,0.00301074,-2.36212,-2.366,-2.51962,-2.37764,-2.43567,-2.0663,-1.69078,-2.18143,-1.95565,-2.19213,-2.26091,-1.46616,-3.07606,-2.81799,-1.38303,-1.62534,-2.31358,-2.9721,-3.1726,-1.58669,-2.0161,-2.90127,-0.253915,-0.345652,-0.146336,-0.132244,0.0495841,-0.292466,-0.396043,-0.15934,-0.220174,-0.418754,-0.271334,-0.246015,-0.246048,-0.180289,-0.162078,-0.18827,-0.188386,-0.140917,-0.208893,-0.220497,-0.0644267,-0.236479,-0.162003,0.0548702 --5909.41,0.0228207,0.350484,3,-0.208946,0.00351053,-2.05717,-2.34109,-2.55853,-2.40881,-2.41673,-2.24431,-1.69269,-2.21243,-1.95838,-2.23441,-2.30933,-1.52873,-3.15863,-2.76136,-1.37288,-1.63066,-2.29862,-2.91704,-3.24893,-1.59129,-1.99914,-2.84897,-0.226144,-0.282968,-0.188104,-0.149591,0.0400582,-0.273056,-0.389453,-0.162835,-0.192042,-0.403571,-0.253065,-0.236365,-0.22974,-0.208338,-0.174738,-0.226625,-0.184894,-0.237309,-0.216732,-0.217312,-0.0275951,-0.242892,-0.259576,0.0592497 --5914.21,0.634024,0.350484,1,-0.173633,0.00537906,-2.37247,-2.30559,-2.10706,-2.47867,-2.55921,-2.53752,-1.60896,-1.99666,-2.18611,-2.10464,-2.19416,-1.49604,-3.06835,-2.66553,-1.6464,-1.60225,-1.93121,-3.20398,-3.2329,-1.69387,-2.29298,-2.7675,-0.120877,-0.148405,-0.00172708,-0.258955,-0.188957,-0.149435,-0.20166,-0.321878,-0.186447,-0.286968,-0.218566,-0.0826866,-0.177575,-0.121087,-0.231412,-0.173227,-0.227711,-0.177759,-0.228468,-0.116017,-0.21855,-0.235621,-0.266008,0.0733421 --5914.21,0.655453,0.350484,2,-0.173633,0.00537906,-2.37247,-2.30559,-2.10706,-2.47867,-2.55921,-2.53752,-1.60896,-1.99666,-2.18611,-2.10464,-2.19416,-1.49604,-3.06835,-2.66553,-1.6464,-1.60225,-1.93121,-3.20398,-3.2329,-1.69387,-2.29298,-2.7675,-0.120877,-0.148405,-0.00172708,-0.258955,-0.188957,-0.149435,-0.20166,-0.321878,-0.186447,-0.286968,-0.218566,-0.0826866,-0.177575,-0.121087,-0.231412,-0.173227,-0.227711,-0.177759,-0.228468,-0.116017,-0.21855,-0.235621,-0.266008,0.0733421 --5903.9,0.858949,0.350484,2,-0.186425,0.00381661,-2.74351,-2.28191,-1.90315,-2.36387,-2.53779,-2.44431,-1.78144,-2.2244,-2.17737,-2.16976,-2.2542,-1.39891,-2.93239,-2.67848,-1.42387,-1.53811,-2.13243,-2.993,-3.4619,-1.47916,-2.14092,-2.83238,-0.281693,-0.182679,-0.302051,-0.284404,-0.129639,-0.242923,-0.33363,-0.194772,-0.196906,-0.295077,-0.258651,-0.114375,-0.0999654,-0.174113,-0.15267,-0.0946419,-0.119911,-0.204508,-0.173353,-0.316391,-0.208563,-0.260656,-0.13275,0.0617787 --5912.36,0.630738,0.350484,2,-0.208759,0.00775184,-3.07207,-2.29909,-1.62829,-2.42011,-2.45353,-2.46629,-1.73933,-2.23556,-2.10378,-2.15846,-2.22841,-1.31245,-2.90171,-2.58272,-1.54264,-1.63325,-2.14024,-3.10812,-3.12051,-1.34129,-2.26691,-2.83014,-0.241534,-0.0849655,-0.265568,-0.265168,-0.171492,-0.11698,-0.187019,-0.0886996,-0.160823,-0.324494,-0.299859,-0.158912,-0.175852,-0.248894,-0.174766,-0.159819,-0.142045,-0.185125,-0.150818,-0.441739,-0.153048,-0.256081,-0.240452,0.0880445 --5918.53,0.629795,0.350484,2,-0.19953,0.00589424,-2.84391,-1.70568,-2.09837,-2.53069,-2.48509,-1.99096,-1.78284,-2.30878,-2.16841,-2.30784,-2.35711,-1.28829,-2.69737,-2.7966,-1.43439,-1.57573,-2.24976,-2.70805,-3.35143,-1.35384,-2.1902,-2.86577,-0.11575,-0.385932,-0.155793,-0.107071,0.114222,-0.263232,-0.294909,-0.172396,0.0310824,-0.123413,-0.128231,-0.259244,-0.234718,-0.0306187,-0.152918,-0.190273,-0.141191,-0.1567,-0.353009,-0.140755,-0.241642,-0.302662,-0.146357,0.0767739 --5918.53,0.590293,0.350484,2,-0.19953,0.00589424,-2.84391,-1.70568,-2.09837,-2.53069,-2.48509,-1.99096,-1.78284,-2.30878,-2.16841,-2.30784,-2.35711,-1.28829,-2.69737,-2.7966,-1.43439,-1.57573,-2.24976,-2.70805,-3.35143,-1.35384,-2.1902,-2.86577,-0.11575,-0.385932,-0.155793,-0.107071,0.114222,-0.263232,-0.294909,-0.172396,0.0310824,-0.123413,-0.128231,-0.259244,-0.234718,-0.0306187,-0.152918,-0.190273,-0.141191,-0.1567,-0.353009,-0.140755,-0.241642,-0.302662,-0.146357,0.0767739 --5911.69,0.963532,0.350484,3,-0.236679,0.00447261,-2.67221,-2.72854,-2.17259,-2.34173,-2.34577,-2.47342,-1.82861,-1.99316,-1.85692,-2.23361,-2.32689,-1.65678,-3.46231,-2.74754,-1.35836,-1.42027,-1.8141,-3.25773,-3.6005,-1.55817,-2.14221,-2.88501,-0.206569,-0.198865,-0.191816,-0.283785,-0.100591,-0.237645,-0.348173,-0.283476,-0.532066,-0.314538,-0.144343,-0.131533,-0.233331,-0.248396,-0.161121,-0.217651,-0.189162,-0.171816,-0.175594,-0.150848,-0.240675,-0.136768,-0.189596,0.0668775 --5909.35,2.88196e-18,0.350484,3,-0.232456,0.00267493,-2.62195,-2.66003,-2.1025,-2.31906,-2.34812,-2.51873,-1.83402,-1.99254,-1.90111,-2.21953,-2.31614,-1.64945,-3.47551,-2.71037,-1.33902,-1.37055,-1.96835,-3.14872,-3.55936,-1.58437,-2.16505,-2.93481,-0.269907,-0.208362,-0.209811,-0.279517,-0.00736698,-0.220653,-0.350476,-0.253608,-0.566132,-0.277731,-0.206395,-0.182183,-0.248906,-0.233934,-0.190489,-0.2289,-0.22971,-0.222427,-0.212671,-0.146675,-0.351807,-0.1746,-0.167937,0.0517197 --5909.35,0.00141053,0.350484,3,-0.232456,0.00267493,-2.62195,-2.66003,-2.1025,-2.31906,-2.34812,-2.51873,-1.83402,-1.99254,-1.90111,-2.21953,-2.31614,-1.64945,-3.47551,-2.71037,-1.33902,-1.37055,-1.96835,-3.14872,-3.55936,-1.58437,-2.16505,-2.93481,-0.269907,-0.208362,-0.209811,-0.279517,-0.00736698,-0.220653,-0.350476,-0.253608,-0.566132,-0.277731,-0.206395,-0.182183,-0.248906,-0.233934,-0.190489,-0.2289,-0.22971,-0.222427,-0.212671,-0.146675,-0.351807,-0.1746,-0.167937,0.0517197 --5909.35,0.208045,0.350484,3,-0.232456,0.00267493,-2.62195,-2.66003,-2.1025,-2.31906,-2.34812,-2.51873,-1.83402,-1.99254,-1.90111,-2.21953,-2.31614,-1.64945,-3.47551,-2.71037,-1.33902,-1.37055,-1.96835,-3.14872,-3.55936,-1.58437,-2.16505,-2.93481,-0.269907,-0.208362,-0.209811,-0.279517,-0.00736698,-0.220653,-0.350476,-0.253608,-0.566132,-0.277731,-0.206395,-0.182183,-0.248906,-0.233934,-0.190489,-0.2289,-0.22971,-0.222427,-0.212671,-0.146675,-0.351807,-0.1746,-0.167937,0.0517197 --5907.86,0.250346,0.350484,3,-0.247842,0.00499134,-2.77616,-2.53395,-2.36151,-2.53508,-2.19713,-2.20165,-1.82557,-2.11429,-2.00039,-2.19208,-2.28187,-1.26495,-2.61761,-2.70329,-1.27242,-1.70456,-2.01584,-3.21096,-3.50305,-1.58301,-2.06672,-2.84938,-0.23648,-0.30277,-0.281918,-0.161176,-0.242682,-0.247766,-0.145065,-0.226487,-0.214312,-0.277514,-0.244217,-0.229479,-0.242382,-0.129276,-0.394073,-0.261731,-0.222994,-0.236702,-0.264578,-0.291063,-0.188947,-0.376849,-0.32727,0.0706494 --5911.55,0.375635,0.350484,2,-0.259577,0.00187749,-2.66549,-2.287,-2.28112,-2.56845,-2.21644,-2.00306,-1.82522,-2.16007,-1.90585,-2.21849,-2.42915,-1.4279,-2.85588,-2.77173,-1.2177,-1.62723,-1.81863,-3.39814,-3.67393,-1.59161,-2.34696,-2.88806,-0.247039,-0.205087,-0.184345,-0.106661,-0.268427,-0.198009,-0.294159,-0.245194,-0.202248,-0.248181,-0.14392,-0.257224,-0.189464,-0.25209,-0.253077,-0.232091,-0.131825,-0.206717,-0.35241,-0.322495,-0.261124,-0.254916,-0.454597,0.04333 --5911.19,0.0025318,0.350484,2,-0.229806,0.00210498,-2.85533,-2.37954,-2.22567,-2.60075,-2.23269,-2.04278,-1.80487,-2.08903,-1.95248,-2.25364,-2.46459,-1.48147,-2.71901,-2.74946,-1.22411,-1.74113,-1.80641,-3.31995,-3.70406,-1.61329,-2.37201,-2.91527,-0.195989,-0.281176,-0.180092,-0.107512,-0.298938,-0.136147,-0.23533,-0.358637,-0.234348,-0.291122,-0.14019,-0.25644,-0.298001,-0.174882,-0.217959,-0.225599,-0.20347,-0.232157,-0.268782,-0.34026,-0.238085,-0.295823,-0.327364,0.04588 --5901.73,2.30892e-06,0.350484,4,-0.226137,0.00348311,-2.10827,-2.13063,-2.76393,-2.50079,-2.49489,-1.93483,-1.85945,-2.00887,-1.98084,-2.26428,-2.45797,-1.41028,-3.05623,-2.77578,-1.20958,-1.65298,-1.97841,-3.05374,-3.93226,-1.53588,-2.20564,-3.05561,-0.258527,-0.147566,-0.287254,-0.266811,-0.160521,-0.277475,-0.175901,-0.170384,-0.185694,-0.213622,-0.259585,-0.161378,-0.195677,-0.163468,-0.257084,-0.226329,-0.213445,-0.227815,-0.184497,-0.223176,-0.187998,-0.242423,-0.193917,0.0590179 --5901.73,0.00730071,0.350484,3,-0.226137,0.00348311,-2.10827,-2.13063,-2.76393,-2.50079,-2.49489,-1.93483,-1.85945,-2.00887,-1.98084,-2.26428,-2.45797,-1.41028,-3.05623,-2.77578,-1.20958,-1.65298,-1.97841,-3.05374,-3.93226,-1.53588,-2.20564,-3.05561,-0.258527,-0.147566,-0.287254,-0.266811,-0.160521,-0.277475,-0.175901,-0.170384,-0.185694,-0.213622,-0.259585,-0.161378,-0.195677,-0.163468,-0.257084,-0.226329,-0.213445,-0.227815,-0.184497,-0.223176,-0.187998,-0.242423,-0.193917,0.0590179 --5901.73,9.9337e-06,0.350484,3,-0.226137,0.00348311,-2.10827,-2.13063,-2.76393,-2.50079,-2.49489,-1.93483,-1.85945,-2.00887,-1.98084,-2.26428,-2.45797,-1.41028,-3.05623,-2.77578,-1.20958,-1.65298,-1.97841,-3.05374,-3.93226,-1.53588,-2.20564,-3.05561,-0.258527,-0.147566,-0.287254,-0.266811,-0.160521,-0.277475,-0.175901,-0.170384,-0.185694,-0.213622,-0.259585,-0.161378,-0.195677,-0.163468,-0.257084,-0.226329,-0.213445,-0.227815,-0.184497,-0.223176,-0.187998,-0.242423,-0.193917,0.0590179 --5925.02,0.065356,0.350484,2,-0.218726,0.00897598,-2.73303,-2.2259,-2.79533,-2.44407,-2.4667,-2.10905,-1.99481,-2.09967,-2.29652,-2.26677,-2.46534,-1.59776,-2.92804,-2.55183,-1.45205,-1.87164,-1.87492,-3.18999,-4.46615,-1.64218,-2.00656,-3.09792,-0.189192,-0.288177,-0.115296,-0.0942356,-0.224571,-0.371742,-0.244265,-0.272588,-0.243257,-0.312338,-0.0965674,-0.239815,-0.268369,-0.16515,-0.237513,-0.0596635,-0.201206,-0.199554,-0.222727,-0.0914157,-0.290395,-0.280303,-0.301178,0.0947416 --5933.46,0.784852,0.350484,2,-0.252252,0.00642192,-1.87455,-2.20264,-1.36775,-2.2957,-2.28463,-2.36198,-1.55971,-2.0998,-1.66113,-2.20673,-2.26093,-1.39247,-3.0101,-2.82345,-1.44608,-1.11718,-2.147,-2.6005,-2.8062,-1.761,-2.39451,-2.63142,-0.333251,-0.160679,-0.444514,-0.367565,-0.257978,-0.294765,-0.344417,-0.0103193,-0.296817,-0.24063,-0.340732,-0.218428,-0.174632,-0.0648179,-0.261583,-0.404587,-0.244329,-0.0997888,-0.158444,-0.042477,-0.306786,-0.286635,-0.0461611,0.0801369 --5915.92,0.720488,0.350484,2,-0.274597,0.00820837,-2.08556,-1.86194,-2.02112,-2.42848,-2.55043,-3.01909,-1.74751,-2.04025,-2.0748,-2.28164,-2.2092,-1.48406,-2.84692,-2.73662,-1.1967,-1.55711,-1.90578,-2.9298,-3.1913,-1.71849,-2.19499,-2.81822,-0.199239,-0.172249,-0.30482,-0.326974,-0.109255,-0.333782,-0.469158,-0.302174,-0.379812,-0.265482,-0.366802,-0.317534,-0.466223,-0.157877,-0.418228,-0.182648,-0.216716,-0.323626,-0.406092,-0.0482916,-0.220966,-0.404999,-0.183808,0.0906 --5917.71,0.888663,0.350484,3,-0.145104,0.0100865,-2.59929,-2.42591,-2.25352,-2.47039,-2.26947,-1.53572,-1.82105,-2.13083,-1.91242,-2.21098,-2.30934,-1.50361,-3.2779,-2.77794,-1.45957,-1.35485,-2.14863,-2.99464,-3.61157,-1.504,-2.0664,-3.00732,-0.0303213,-0.38671,-0.188788,-0.222696,-0.231758,-0.257858,-0.29223,-0.0411471,-0.119417,-0.444263,-0.0670337,-0.0965177,-0.0950395,-0.125027,-0.151919,-0.27804,-0.0504056,-0.0493693,0.0345756,-0.183741,-0.527591,-0.149798,-0.0947611,0.100431 --5925.66,0.831872,0.350484,2,-0.211962,0.0153031,-2.84326,-1.76435,-2.30669,-2.39289,-2.28108,-2.58337,-1.67,-2.02318,-2.13706,-2.2017,-2.60324,-1.37927,-3.02825,-2.98348,-1.44193,-1.50806,-1.85346,-2.82816,-3.63587,-1.575,-2.02848,-2.96369,0.0234671,-0.194584,-0.0634543,-0.159589,-0.325931,-0.301934,-0.449662,-0.327948,-0.0751061,-0.210818,-0.152569,-0.381424,-0.268936,0.387715,-0.0917253,-0.178611,-0.163115,-0.0803683,-0.306088,-0.252027,-0.089438,-0.225047,-0.412831,0.123706 --5932.12,0.590553,0.350484,2,-0.307183,0.0119435,-2.41137,-2.14378,-2.11018,-2.49647,-2.40513,-2.05319,-1.72037,-2.0869,-1.743,-2.30447,-2.32251,-1.19839,-3.25237,-2.96775,-1.58909,-1.64856,-2.30764,-2.81129,-3.38308,-1.31355,-2.00498,-2.99879,-0.44252,-0.439679,-0.420885,-0.27637,-0.289587,-0.199973,-0.280648,-0.280174,-0.483668,-0.363206,-0.0761763,-0.372695,-0.0855256,0.137381,-0.263331,-0.475285,-0.36088,-0.20605,-0.317933,-0.210221,-0.910197,-0.134051,-0.276169,0.109286 --5931.85,0.873374,0.350484,2,-0.278149,0.0256775,-2.66824,-2.27689,-2.04838,-2.38612,-2.39773,-2.07079,-1.83466,-1.96803,-1.75089,-2.37385,-2.46444,-1.26136,-2.96929,-2.97291,-1.63687,-1.46759,-1.94406,-3.10305,-3.22618,-1.33749,-2.00516,-2.91393,-0.529645,-0.316047,-0.320578,-0.0824606,-0.398042,-0.2316,-0.425522,0.00408608,-0.578303,-0.324175,-0.00667276,-0.358185,-0.411587,0.0047976,-0.271761,-0.185887,-0.158603,-0.15606,-0.309531,-0.253748,-0.705713,-0.399391,-0.213836,0.160242 --5924.78,0.962866,0.350484,2,-0.310147,0.0233366,-1.68086,-2.18717,-1.86865,-2.42381,-2.52582,-2.55156,-1.84615,-2.25197,-1.78046,-2.29896,-2.38152,-1.36036,-3.03797,-2.8666,-1.38327,-1.54217,-1.84323,-2.83386,-3.0988,-1.34936,-1.89975,-2.8118,-0.419019,-0.492194,-0.3797,-0.13695,-0.382796,-0.0728885,-0.348698,-0.0200586,-0.512905,-0.287589,-0.0465171,-0.286447,-0.295991,0.335116,-0.287557,-0.428558,-0.159129,-0.24786,-0.267004,-0.320025,-0.743881,-0.50908,-0.316394,0.152763 --5922.67,0.692921,0.350484,2,-0.368569,0.00301494,-2.75529,-2.0496,-2.25618,-2.33052,-2.37479,-1.79069,-1.59458,-1.98915,-1.9651,-2.0984,-2.30144,-1.47922,-2.66763,-2.6114,-1.36713,-1.32121,-2.42886,-2.87911,-3.68096,-1.6636,-2.23846,-2.85951,-0.33058,-0.352497,-0.387485,-0.320579,-0.151542,-0.559132,-0.40432,-0.367861,-0.351333,-0.431244,-0.400298,-0.276696,-0.538021,-0.418268,-0.363892,-0.233722,-0.0151897,-0.408786,-0.153251,-0.224426,-0.250171,-0.357042,-0.392816,0.0549084 --5918.8,0.230779,0.350484,2,-0.285297,0.0174293,-2.64253,-2.32327,-2.34548,-2.35383,-2.24276,-2.52411,-1.72375,-2.03641,-2.03093,-2.2338,-2.39393,-1.41066,-2.97136,-2.73792,-1.33694,-1.55121,-2.04386,-2.63754,-3.44573,-1.25062,-2.22578,-3.05576,-0.244873,-0.436974,-0.181732,-0.308476,-0.386391,-0.287719,-0.409274,-0.256167,-0.28823,-0.465782,-0.0573265,-0.293513,-0.112276,0.159216,-0.208092,-0.432767,-0.244943,-0.13645,-0.33435,-0.458888,-0.461853,-0.306886,-0.189166,0.13202 --5913.09,0.963954,0.350484,3,-0.269773,0.00195835,-2.65603,-1.95535,-2.1206,-2.36982,-2.45217,-2.43963,-1.75032,-2.02935,-1.92948,-2.11028,-2.51435,-1.43026,-3.26494,-2.81705,-1.27663,-1.48602,-1.91404,-3.2161,-2.5571,-1.63969,-2.02565,-2.6847,-0.269033,-0.190485,-0.308821,-0.27887,-0.0771799,-0.249107,-0.251231,-0.267664,-0.269725,-0.378464,-0.283557,-0.290006,-0.343115,-0.291463,-0.340471,-0.185625,-0.220937,-0.317809,-0.333843,-0.137062,-0.202809,-0.2986,-0.318402,0.0442532 --5913.09,0.12229,0.350484,2,-0.269773,0.00195835,-2.65603,-1.95535,-2.1206,-2.36982,-2.45217,-2.43963,-1.75032,-2.02935,-1.92948,-2.11028,-2.51435,-1.43026,-3.26494,-2.81705,-1.27663,-1.48602,-1.91404,-3.2161,-2.5571,-1.63969,-2.02565,-2.6847,-0.269033,-0.190485,-0.308821,-0.27887,-0.0771799,-0.249107,-0.251231,-0.267664,-0.269725,-0.378464,-0.283557,-0.290006,-0.343115,-0.291463,-0.340471,-0.185625,-0.220937,-0.317809,-0.333843,-0.137062,-0.202809,-0.2986,-0.318402,0.0442532 --5913.09,1.90409e-11,0.350484,2,-0.269773,0.00195835,-2.65603,-1.95535,-2.1206,-2.36982,-2.45217,-2.43963,-1.75032,-2.02935,-1.92948,-2.11028,-2.51435,-1.43026,-3.26494,-2.81705,-1.27663,-1.48602,-1.91404,-3.2161,-2.5571,-1.63969,-2.02565,-2.6847,-0.269033,-0.190485,-0.308821,-0.27887,-0.0771799,-0.249107,-0.251231,-0.267664,-0.269725,-0.378464,-0.283557,-0.290006,-0.343115,-0.291463,-0.340471,-0.185625,-0.220937,-0.317809,-0.333843,-0.137062,-0.202809,-0.2986,-0.318402,0.0442532 --5913.09,0.0215546,0.350484,2,-0.269773,0.00195835,-2.65603,-1.95535,-2.1206,-2.36982,-2.45217,-2.43963,-1.75032,-2.02935,-1.92948,-2.11028,-2.51435,-1.43026,-3.26494,-2.81705,-1.27663,-1.48602,-1.91404,-3.2161,-2.5571,-1.63969,-2.02565,-2.6847,-0.269033,-0.190485,-0.308821,-0.27887,-0.0771799,-0.249107,-0.251231,-0.267664,-0.269725,-0.378464,-0.283557,-0.290006,-0.343115,-0.291463,-0.340471,-0.185625,-0.220937,-0.317809,-0.333843,-0.137062,-0.202809,-0.2986,-0.318402,0.0442532 --5913.09,4.21989e-09,0.350484,2,-0.269773,0.00195835,-2.65603,-1.95535,-2.1206,-2.36982,-2.45217,-2.43963,-1.75032,-2.02935,-1.92948,-2.11028,-2.51435,-1.43026,-3.26494,-2.81705,-1.27663,-1.48602,-1.91404,-3.2161,-2.5571,-1.63969,-2.02565,-2.6847,-0.269033,-0.190485,-0.308821,-0.27887,-0.0771799,-0.249107,-0.251231,-0.267664,-0.269725,-0.378464,-0.283557,-0.290006,-0.343115,-0.291463,-0.340471,-0.185625,-0.220937,-0.317809,-0.333843,-0.137062,-0.202809,-0.2986,-0.318402,0.0442532 --5913.09,1.63584e-23,0.350484,2,-0.269773,0.00195835,-2.65603,-1.95535,-2.1206,-2.36982,-2.45217,-2.43963,-1.75032,-2.02935,-1.92948,-2.11028,-2.51435,-1.43026,-3.26494,-2.81705,-1.27663,-1.48602,-1.91404,-3.2161,-2.5571,-1.63969,-2.02565,-2.6847,-0.269033,-0.190485,-0.308821,-0.27887,-0.0771799,-0.249107,-0.251231,-0.267664,-0.269725,-0.378464,-0.283557,-0.290006,-0.343115,-0.291463,-0.340471,-0.185625,-0.220937,-0.317809,-0.333843,-0.137062,-0.202809,-0.2986,-0.318402,0.0442532 --5909.01,1.90039e-11,0.350484,2,-0.278848,0.00440681,-2.98773,-2.07932,-2.2305,-2.23549,-2.34353,-2.51103,-1.81033,-1.88232,-2.07999,-2.20389,-2.45837,-1.27129,-3.37088,-2.82477,-1.41676,-1.44583,-2.16435,-3.13062,-2.78418,-1.62124,-2.15064,-2.75415,-0.262443,-0.325803,-0.313756,-0.296814,-0.231435,-0.362687,-0.254978,-0.356787,-0.291427,-0.31158,-0.195717,-0.223766,-0.321109,-0.143514,-0.349904,-0.277037,-0.278107,-0.243,-0.247594,-0.265858,-0.39727,-0.228314,-0.242995,0.0663838 --5912.73,3.13174e-12,0.350484,2,-0.28767,0.00231726,-2.68875,-2.20291,-1.99718,-2.21454,-2.36699,-2.38275,-1.84986,-1.90608,-2.12932,-2.18827,-2.47294,-1.25398,-3.39054,-2.86372,-1.45131,-1.39555,-2.04002,-3.02164,-2.51695,-1.71363,-2.14787,-2.83361,-0.276033,-0.219495,-0.359738,-0.34265,-0.260377,-0.245949,-0.300558,-0.350153,-0.255337,-0.29678,-0.185597,-0.210006,-0.220207,-0.253631,-0.318911,-0.373756,-0.299489,-0.233155,-0.303812,-0.246139,-0.422698,-0.29068,-0.243641,0.0481379 --5912.73,0.00415237,0.350484,2,-0.28767,0.00231726,-2.68875,-2.20291,-1.99718,-2.21454,-2.36699,-2.38275,-1.84986,-1.90608,-2.12932,-2.18827,-2.47294,-1.25398,-3.39054,-2.86372,-1.45131,-1.39555,-2.04002,-3.02164,-2.51695,-1.71363,-2.14787,-2.83361,-0.276033,-0.219495,-0.359738,-0.34265,-0.260377,-0.245949,-0.300558,-0.350153,-0.255337,-0.29678,-0.185597,-0.210006,-0.220207,-0.253631,-0.318911,-0.373756,-0.299489,-0.233155,-0.303812,-0.246139,-0.422698,-0.29068,-0.243641,0.0481379 --5912.73,1.62909e-23,0.350484,2,-0.28767,0.00231726,-2.68875,-2.20291,-1.99718,-2.21454,-2.36699,-2.38275,-1.84986,-1.90608,-2.12932,-2.18827,-2.47294,-1.25398,-3.39054,-2.86372,-1.45131,-1.39555,-2.04002,-3.02164,-2.51695,-1.71363,-2.14787,-2.83361,-0.276033,-0.219495,-0.359738,-0.34265,-0.260377,-0.245949,-0.300558,-0.350153,-0.255337,-0.29678,-0.185597,-0.210006,-0.220207,-0.253631,-0.318911,-0.373756,-0.299489,-0.233155,-0.303812,-0.246139,-0.422698,-0.29068,-0.243641,0.0481379 --5912.73,0.125092,0.350484,2,-0.28767,0.00231726,-2.68875,-2.20291,-1.99718,-2.21454,-2.36699,-2.38275,-1.84986,-1.90608,-2.12932,-2.18827,-2.47294,-1.25398,-3.39054,-2.86372,-1.45131,-1.39555,-2.04002,-3.02164,-2.51695,-1.71363,-2.14787,-2.83361,-0.276033,-0.219495,-0.359738,-0.34265,-0.260377,-0.245949,-0.300558,-0.350153,-0.255337,-0.29678,-0.185597,-0.210006,-0.220207,-0.253631,-0.318911,-0.373756,-0.299489,-0.233155,-0.303812,-0.246139,-0.422698,-0.29068,-0.243641,0.0481379 --5912.73,0.00286215,0.350484,3,-0.28767,0.00231726,-2.68875,-2.20291,-1.99718,-2.21454,-2.36699,-2.38275,-1.84986,-1.90608,-2.12932,-2.18827,-2.47294,-1.25398,-3.39054,-2.86372,-1.45131,-1.39555,-2.04002,-3.02164,-2.51695,-1.71363,-2.14787,-2.83361,-0.276033,-0.219495,-0.359738,-0.34265,-0.260377,-0.245949,-0.300558,-0.350153,-0.255337,-0.29678,-0.185597,-0.210006,-0.220207,-0.253631,-0.318911,-0.373756,-0.299489,-0.233155,-0.303812,-0.246139,-0.422698,-0.29068,-0.243641,0.0481379 --5909.76,0.0833039,0.350484,2,-0.214227,0.00428859,-2.65223,-1.90186,-2.07813,-2.52914,-2.57324,-2.01807,-1.77488,-2.33499,-1.87461,-2.17871,-2.33415,-1.70388,-2.9856,-2.68135,-1.29825,-1.61078,-1.97443,-2.86046,-3.75044,-1.46824,-2.04284,-2.96013,-0.220166,-0.290128,-0.20015,-0.193897,-0.189298,-0.226442,-0.140748,-0.0433346,-0.212021,-0.389134,-0.210187,-0.228208,-0.288388,0.123814,-0.199995,-0.0722469,-0.164719,-0.165701,-0.196893,-0.163529,-0.227822,-0.251894,-0.280152,0.0654874 --5913.72,0.722635,0.350484,2,-0.212477,0.00645651,-2.39608,-2.24987,-2.13032,-2.49232,-2.54488,-2.18501,-1.71487,-2.3638,-1.94847,-2.09558,-2.43596,-1.72127,-3.01817,-2.627,-1.08988,-1.66211,-2.27535,-2.96479,-3.74036,-1.45344,-2.13444,-2.9166,-0.25064,-0.188933,-0.361557,-0.224254,-0.237771,-0.202392,-0.337885,0.00207248,-0.257156,-0.347104,-0.240587,-0.166176,-0.121983,-0.27638,-0.212658,-0.202796,-0.0909868,-0.195098,-0.297811,-0.0920454,-0.278383,-0.272057,-0.148158,0.0803524 --5916.14,1.63738e-40,0.350484,3,-0.227978,0.00321162,-2.08689,-2.10564,-1.92971,-2.2207,-2.19948,-2.56232,-1.69616,-2.11843,-1.88011,-2.4145,-2.07351,-1.27863,-3.28131,-2.7722,-1.82554,-1.30263,-2.09121,-2.97182,-2.9626,-1.64896,-2.25697,-2.75571,-0.321615,-0.15644,-0.168973,-0.294477,-0.243267,-0.157329,-0.298425,-0.239517,-0.209193,-0.151799,-0.239858,-0.241563,-0.33503,-0.194975,-0.244737,-0.182213,-0.179965,-0.187106,-0.2011,-0.300212,-0.169521,-0.223936,-0.192093,0.0566712 --5904.97,0.964223,0.350484,2,-0.220291,0.00245293,-2.02046,-2.14497,-1.93541,-2.25791,-2.25,-2.59326,-1.6936,-2.14598,-2.00369,-2.43935,-2.25022,-1.36902,-3.03395,-2.80566,-1.70192,-1.37453,-1.99921,-2.66352,-3.27141,-1.52555,-2.15507,-2.85664,-0.132656,-0.270052,-0.251677,-0.259967,-0.179229,-0.255896,-0.294007,-0.166215,-0.214405,-0.236475,-0.321269,-0.168399,-0.0940488,-0.141023,-0.166012,-0.18609,-0.219931,-0.251058,-0.212632,-0.141165,-0.269333,-0.226763,-0.219016,0.0495271 --5904.97,0.0158168,0.350484,2,-0.220291,0.00245293,-2.02046,-2.14497,-1.93541,-2.25791,-2.25,-2.59326,-1.6936,-2.14598,-2.00369,-2.43935,-2.25022,-1.36902,-3.03395,-2.80566,-1.70192,-1.37453,-1.99921,-2.66352,-3.27141,-1.52555,-2.15507,-2.85664,-0.132656,-0.270052,-0.251677,-0.259967,-0.179229,-0.255896,-0.294007,-0.166215,-0.214405,-0.236475,-0.321269,-0.168399,-0.0940488,-0.141023,-0.166012,-0.18609,-0.219931,-0.251058,-0.212632,-0.141165,-0.269333,-0.226763,-0.219016,0.0495271 --5904.97,0.0705374,0.350484,2,-0.220291,0.00245293,-2.02046,-2.14497,-1.93541,-2.25791,-2.25,-2.59326,-1.6936,-2.14598,-2.00369,-2.43935,-2.25022,-1.36902,-3.03395,-2.80566,-1.70192,-1.37453,-1.99921,-2.66352,-3.27141,-1.52555,-2.15507,-2.85664,-0.132656,-0.270052,-0.251677,-0.259967,-0.179229,-0.255896,-0.294007,-0.166215,-0.214405,-0.236475,-0.321269,-0.168399,-0.0940488,-0.141023,-0.166012,-0.18609,-0.219931,-0.251058,-0.212632,-0.141165,-0.269333,-0.226763,-0.219016,0.0495271 --5904.97,0.111267,0.350484,2,-0.220291,0.00245293,-2.02046,-2.14497,-1.93541,-2.25791,-2.25,-2.59326,-1.6936,-2.14598,-2.00369,-2.43935,-2.25022,-1.36902,-3.03395,-2.80566,-1.70192,-1.37453,-1.99921,-2.66352,-3.27141,-1.52555,-2.15507,-2.85664,-0.132656,-0.270052,-0.251677,-0.259967,-0.179229,-0.255896,-0.294007,-0.166215,-0.214405,-0.236475,-0.321269,-0.168399,-0.0940488,-0.141023,-0.166012,-0.18609,-0.219931,-0.251058,-0.212632,-0.141165,-0.269333,-0.226763,-0.219016,0.0495271 --5904.97,0.160211,0.350484,2,-0.220291,0.00245293,-2.02046,-2.14497,-1.93541,-2.25791,-2.25,-2.59326,-1.6936,-2.14598,-2.00369,-2.43935,-2.25022,-1.36902,-3.03395,-2.80566,-1.70192,-1.37453,-1.99921,-2.66352,-3.27141,-1.52555,-2.15507,-2.85664,-0.132656,-0.270052,-0.251677,-0.259967,-0.179229,-0.255896,-0.294007,-0.166215,-0.214405,-0.236475,-0.321269,-0.168399,-0.0940488,-0.141023,-0.166012,-0.18609,-0.219931,-0.251058,-0.212632,-0.141165,-0.269333,-0.226763,-0.219016,0.0495271 --5912.11,0.384588,0.350484,3,-0.231502,0.00394569,-2.54936,-2.05333,-2.37174,-2.54165,-2.74006,-1.88893,-1.93704,-2.0572,-2.07409,-2.28019,-2.27809,-1.23782,-2.97483,-2.62956,-1.25095,-1.79618,-2.03015,-3.24092,-3.44793,-1.33644,-2.13707,-2.94146,-0.144419,-0.319002,-0.122601,-0.166087,-0.164007,-0.28229,-0.297478,-0.214476,-0.282283,-0.121244,-0.202924,-0.394484,-0.241499,-0.187894,-0.21878,-0.259203,-0.242839,-0.247959,-0.200297,-0.216848,-0.289053,-0.251008,-0.213202,0.0628147 --5907.29,0.240798,0.350484,2,-0.236038,0.00449126,-2.64812,-1.84962,-2.23067,-2.57233,-2.74115,-2.25264,-1.75372,-2.11173,-2.05709,-2.32703,-2.31345,-1.33877,-3.11769,-2.76459,-1.2649,-1.65057,-2.28512,-2.91083,-3.42949,-1.55599,-2.214,-3.15923,-0.257793,-0.179326,-0.2945,-0.143836,-0.262283,-0.221615,-0.363896,-0.293065,-0.179335,-0.316532,-0.22423,-0.244119,-0.202815,-0.168612,-0.25211,-0.255769,-0.191009,-0.196261,-0.169775,-0.332517,-0.19661,-0.224197,-0.216572,0.0670168 --5906.34,0.0483683,0.350484,2,-0.190417,0.00213857,-2.20105,-2.13565,-2.4583,-2.34748,-2.22565,-1.85542,-1.83325,-1.92816,-1.79521,-2.21766,-2.17396,-1.51126,-3.49633,-2.86734,-1.3417,-1.48495,-2.01299,-3.57968,-3.24223,-1.40437,-2.19985,-2.93421,-0.257683,-0.311162,-0.13767,-0.262105,-0.236229,-0.171958,-0.211789,-0.217398,-0.325538,-0.182881,-0.276386,-0.246091,-0.169837,-0.120394,-0.227447,-0.207433,-0.201594,-0.210387,-0.204134,-0.172305,-0.183438,-0.299992,-0.183472,0.0462447 --5905.96,3.09442e-27,0.350484,3,-0.272405,0.00310466,-1.93087,-1.59686,-1.9602,-2.29305,-2.50689,-2.25682,-1.73657,-1.90647,-2.07596,-2.29522,-2.11591,-1.33978,-3.35705,-2.56438,-1.42745,-1.67034,-1.86525,-2.93639,-3.30849,-1.46101,-2.17123,-2.85055,-0.243285,-0.244671,-0.373345,-0.288581,-0.229339,-0.302069,-0.331731,-0.338939,-0.309782,-0.267046,-0.488498,-0.212782,-0.307362,-0.249609,-0.266333,-0.289335,-0.291506,-0.279415,-0.286197,-0.310043,-0.377187,-0.25924,-0.328143,0.0557194 --5904.88,1.28912e-41,0.350484,3,-0.295422,0.00241884,-1.83923,-1.64692,-2.06984,-2.32678,-2.47018,-2.39951,-1.75211,-1.93983,-2.015,-2.29724,-2.09756,-1.2817,-3.36104,-2.64854,-1.45782,-1.68283,-1.8567,-2.93712,-3.29984,-1.45972,-2.20652,-2.94986,-0.331877,-0.251036,-0.381225,-0.286214,-0.267678,-0.309726,-0.344092,-0.333926,-0.320957,-0.24938,-0.457723,-0.202729,-0.242512,-0.319799,-0.232928,-0.245727,-0.262596,-0.37872,-0.295278,-0.264938,-0.341885,-0.285335,-0.286295,0.0491817 --5906.94,0.35165,0.350484,2,-0.267551,0.00480711,-2.06483,-2.20064,-2.28254,-2.32766,-2.63846,-1.93022,-1.77575,-1.987,-1.82484,-2.21965,-2.22779,-1.31257,-3.59323,-2.71534,-1.28579,-1.42701,-1.874,-2.75807,-3.13375,-1.51917,-2.1624,-2.80883,-0.226473,-0.350893,-0.343612,-0.275884,-0.2639,-0.251319,-0.40983,-0.302418,-0.255173,-0.301278,-0.211299,-0.281896,-0.276067,-0.125509,-0.208942,-0.13483,-0.310241,-0.130976,-0.28395,-0.287473,-0.169928,-0.295905,-0.273985,0.0693333 --5906.94,0.294566,0.350484,3,-0.267551,0.00480711,-2.06483,-2.20064,-2.28254,-2.32766,-2.63846,-1.93022,-1.77575,-1.987,-1.82484,-2.21965,-2.22779,-1.31257,-3.59323,-2.71534,-1.28579,-1.42701,-1.874,-2.75807,-3.13375,-1.51917,-2.1624,-2.80883,-0.226473,-0.350893,-0.343612,-0.275884,-0.2639,-0.251319,-0.40983,-0.302418,-0.255173,-0.301278,-0.211299,-0.281896,-0.276067,-0.125509,-0.208942,-0.13483,-0.310241,-0.130976,-0.28395,-0.287473,-0.169928,-0.295905,-0.273985,0.0693333 --5925.61,0.197648,0.350484,2,-0.308116,0.0269114,-3.07232,-2.62055,-2.54259,-2.40158,-2.444,-2.22274,-1.75922,-2.16026,-2.16779,-2.12645,-2.3403,-1.41565,-2.90098,-2.75434,-1.08884,-1.4384,-1.89744,-3.24988,-3.14875,-1.61132,-2.02942,-3.04503,-0.322813,-0.221998,-0.203673,-0.322861,0.104347,-0.345689,-0.206507,-0.237383,-0.173157,-0.422422,-0.349952,-0.311195,-0.323702,-0.124667,-0.62051,-0.545344,-0.213539,-0.019018,-0.347207,-0.273621,-0.567766,-0.355052,-0.318436,0.164047 --5926.13,0.902124,0.350484,2,-0.260607,0.0101178,-2.13325,-2.63436,-1.81068,-2.46577,-2.5399,-1.92619,-1.92385,-1.95672,-2.08245,-2.2941,-1.99621,-1.32565,-3.11899,-2.78143,-1.04104,-1.39083,-2.25069,-2.44042,-3.05704,-1.37431,-1.96707,-3.14691,-0.226142,-0.215943,-0.20156,-0.198847,-0.0994066,-0.152038,-0.290805,-0.300598,-0.145147,-0.399249,-0.374701,-0.301104,-0.357489,0.193749,-0.300757,-0.232383,-0.12938,-0.356699,-0.304096,-0.318511,-0.380289,-0.273246,-0.366478,0.100587 --5920.83,0.794125,0.350484,3,-0.246953,0.0197075,-2.14821,-1.81771,-2.35259,-2.36663,-2.25761,-2.87019,-1.70117,-2.12984,-1.90303,-2.33419,-2.51324,-1.58342,-3.04045,-3.08376,-1.30031,-1.50889,-1.76816,-3.32903,-3.4737,-1.45205,-2.21614,-2.88925,-0.310055,-0.372022,-0.448558,-0.315974,-0.339377,-0.283139,-0.290659,-0.194198,-0.421315,-0.0411294,-0.198104,-0.173216,-0.186851,0.219939,-0.339925,-0.309459,-0.333675,-0.192214,-0.217312,-0.326148,-0.374874,-0.32998,-0.221366,0.140384 --5923.56,0.938032,0.350484,2,-0.275915,0.0293041,-2.07955,-1.93683,-2.2196,-2.35712,-2.36229,-2.98884,-1.72295,-2.15516,-1.99854,-2.36589,-2.5225,-1.66872,-3.16638,-3.06464,-1.3163,-1.54603,-1.67453,-3.24033,-3.52796,-1.44843,-2.20119,-2.83983,-0.340936,-0.380073,-0.441946,-0.340835,-0.32186,-0.35789,-0.289914,-0.213557,-0.455131,-0.088733,-0.165833,-0.136476,-0.196441,0.200497,-0.394749,-0.25258,-0.270723,-0.258477,-0.207765,-0.35684,-0.443421,-0.374132,-0.250782,0.171184 --5923.19,0.690062,0.350484,2,-0.249571,0.00584827,-2.63807,-2.09031,-2.17413,-2.32518,-2.34419,-2.51693,-1.64668,-2.00851,-1.68367,-2.39127,-2.31758,-1.26375,-2.62803,-2.89597,-1.23953,-1.28002,-2.14685,-2.76123,-3.04578,-1.59235,-2.19097,-2.69894,-0.0163595,-0.448713,-0.201065,-0.311163,-0.267573,-0.261423,-0.298619,-0.33986,-0.273425,-0.122438,-0.218615,-0.173156,-0.264283,0.201694,-0.204981,-0.346004,-0.335477,-0.219571,-0.0257617,-0.373045,-0.229698,-0.351561,-0.332602,0.076474 --5917.79,0.486779,0.350484,3,-0.289168,0.00849853,-1.9589,-2.33,-1.93136,-2.42639,-2.4347,-1.75979,-1.66404,-2.31759,-2.19096,-2.133,-2.24301,-1.6784,-3.35013,-2.65653,-1.41633,-1.58382,-1.93911,-3.23804,-3.86944,-1.44062,-2.00276,-3.01685,-0.271033,-0.26381,-0.308296,-0.281601,-0.342767,-0.229231,-0.417531,-0.356355,-0.348707,-0.329381,-0.36185,-0.0837509,-0.385066,-0.338939,-0.299462,-0.213104,-0.300693,-0.298077,-0.410462,-0.31392,-0.368956,-0.217972,-0.440007,0.0921875 --5919.63,0.954748,0.350484,2,-0.247546,0.0041808,-2.53857,-2.32281,-2.07084,-2.37911,-2.24006,-2.4601,-1.68381,-1.87203,-1.59202,-2.32548,-2.29702,-1.29085,-2.54898,-2.69807,-1.59178,-1.32391,-2.16337,-2.43342,-2.73534,-1.36588,-2.24114,-2.88294,-0.193609,-0.355847,-0.236074,-0.23493,-0.295637,-0.12797,-0.33687,-0.0981571,-0.188749,-0.235667,-0.192263,-0.308365,-0.317717,-0.257402,-0.146943,-0.317286,-0.251301,-0.193174,-0.280115,-0.182735,-0.205106,-0.308127,-0.318066,0.0646591 --5912.11,1,0.350484,2,-0.283466,0.00536275,-2.60496,-2.12209,-2.05644,-2.43656,-2.45096,-2.22392,-1.70421,-2.23122,-2.29218,-2.20409,-2.29624,-1.50589,-3.42543,-2.77216,-1.11084,-1.64082,-1.85626,-3.41856,-3.84001,-1.55377,-2.1512,-2.88024,-0.281917,-0.367887,-0.11543,-0.284136,-0.314143,-0.17891,-0.307609,-0.3523,-0.196779,-0.322113,-0.227299,-0.15525,-0.344313,-0.101256,-0.314342,-0.293561,-0.375199,-0.207174,-0.291353,-0.251366,-0.245506,-0.358865,-0.364072,0.0732308 --5911.77,0.332745,0.350484,2,-0.309252,0.00433011,-2.43612,-2.01889,-2.08794,-2.33444,-2.11287,-1.91724,-1.7219,-2.0731,-1.53964,-2.18731,-2.29506,-1.38058,-2.95038,-2.51715,-1.32222,-1.18801,-1.77703,-3.40446,-2.81933,-1.50557,-2.3478,-2.95334,-0.298779,-0.258492,-0.454776,-0.271322,-0.211458,-0.319776,-0.339523,-0.135763,-0.387935,-0.328789,-0.314077,-0.358883,-0.282299,-0.246991,-0.315033,-0.277019,-0.31785,-0.275114,-0.222221,-0.309843,-0.314321,-0.213086,-0.361096,0.0658036 --5914.6,0.0138557,0.350484,3,-0.275889,0.0056228,-2.32845,-2.14628,-2.05233,-2.27863,-2.19381,-2.01347,-1.7305,-2.1243,-1.59644,-2.20446,-2.2525,-1.37621,-2.91064,-2.48624,-1.26765,-1.26723,-1.78479,-3.39869,-2.92084,-1.52049,-2.38657,-3.07098,-0.183987,-0.264863,-0.430907,-0.306238,-0.179904,-0.305425,-0.332474,-0.154853,-0.362596,-0.327485,-0.252659,-0.444441,-0.288041,-0.213347,-0.284797,-0.283225,-0.358827,-0.365619,-0.210254,-0.264616,-0.307221,-0.246654,-0.401621,0.0749853 --5914.92,0.202849,0.350484,2,-0.32108,0.00404163,-2.61794,-2.36298,-2.3322,-2.26985,-2.25968,-1.97213,-1.76625,-2.12899,-1.57941,-2.1905,-2.26092,-1.34752,-2.94874,-2.67547,-1.32984,-1.2536,-1.5645,-3.22652,-3.30218,-1.36251,-2.26923,-3.08806,-0.458976,-0.315549,-0.473186,-0.290508,-0.206533,-0.306113,-0.323227,-0.125805,-0.270559,-0.256682,-0.260666,-0.355782,-0.343985,-0.329745,-0.268401,-0.302623,-0.424052,-0.237934,-0.291888,-0.341336,-0.200422,-0.302832,-0.358157,0.0635738 --5922.56,0.760929,0.350484,2,-0.402771,0.00675455,-2.00373,-1.85139,-1.91305,-2.40528,-2.27929,-1.88596,-1.51992,-2.17648,-2.08538,-2.30319,-2.39408,-1.58873,-2.8984,-2.67001,-1.02663,-1.32914,-1.79526,-2.18189,-3.24055,-1.52765,-2.11969,-2.86635,-0.140968,-0.333158,-0.704633,-0.372038,-0.416903,-0.359164,-0.499697,-0.261099,-0.440643,-0.36961,-0.374635,-0.217507,-0.336117,-0.184717,-0.434508,-0.399041,-0.398632,-0.464689,-0.30627,-0.29806,-0.483124,-0.355039,-0.308765,0.0821861 --5919.72,0.916003,0.350484,2,-0.346179,0.0150401,-2.26551,-1.89338,-1.99141,-2.39569,-2.20857,-2.08204,-1.57297,-2.11072,-2.08919,-2.22611,-2.21889,-1.41568,-2.78399,-2.62412,-1.08829,-1.31331,-1.72491,-3.06657,-3.02617,-1.27905,-2.14299,-2.93718,-0.448541,-0.418041,-0.860431,-0.250215,-0.202889,-0.478871,-0.566112,-0.406838,-0.362404,-0.324519,-0.39634,-0.293321,-0.328561,-0.112863,-0.385041,-0.506295,-0.349876,-0.360988,-0.351798,-0.398388,-0.3262,-0.640633,-0.239399,0.122638 --5928.22,0.845062,0.350484,3,-0.327537,0.0177069,-2.47279,-2.41538,-1.82555,-2.26296,-2.52187,-2.75461,-1.66153,-1.77925,-1.69107,-2.24137,-2.21339,-1.36443,-2.88613,-2.85465,-1.64399,-1.45849,-2.08157,-2.82841,-3.47225,-1.75539,-2.10133,-2.79354,-0.326201,-0.332941,-0.707691,-0.510466,-0.396523,-0.241056,-0.445109,-0.475308,-0.42797,-0.370882,-0.360794,-0.313738,-0.66585,-0.08801,-0.302221,-0.242054,-0.293051,-0.292239,-0.417408,-0.16343,-0.553027,-0.250997,-0.51622,0.133067 --5919.14,0.984887,0.350484,3,-0.242054,0.0289144,-2.15002,-1.96893,-2.35449,-2.42141,-2.13984,-1.90979,-1.77095,-2.27732,-1.96937,-2.11081,-2.2274,-1.40985,-2.93832,-2.86967,-1.17012,-1.34811,-1.70897,-3.04771,-3.50575,-1.37618,-2.11584,-2.9926,-0.326385,-0.205699,-0.202223,-0.181493,-0.24934,-0.312221,-0.385423,-0.146868,-0.445632,-0.344484,-0.307044,-0.30371,-0.259817,0.129788,-0.376534,-0.393036,-0.286328,-0.421131,-0.172542,-0.335046,-0.438044,-0.377574,-0.404928,0.170042 --5922.3,1,0.350484,3,-0.160284,0.0139401,-2.70071,-2.27853,-2.06106,-2.34758,-2.71217,-2.52256,-1.70979,-2.13402,-1.90238,-2.36936,-2.39585,-1.54619,-3.0453,-2.62558,-1.68018,-1.49029,-2.24644,-3.03349,-3.14992,-1.73473,-2.09935,-2.83228,-0.206628,-0.249712,-0.360349,-0.374716,-0.282129,-0.375491,-0.439281,-0.201904,-0.122746,-0.225325,-0.232917,-0.0678217,-0.33489,-0.154522,-0.122997,-0.0933769,-0.223284,0.0862747,-0.292376,-0.087178,-0.320916,-0.174434,-0.0747263,0.118068 --5919.96,0.996849,0.350484,3,-0.19297,0.00795935,-2.81376,-2.49939,-1.90794,-2.6189,-2.76129,-2.59347,-1.78614,-2.36209,-1.93495,-2.24812,-2.42753,-1.45086,-3.45362,-2.7096,-1.18385,-1.42376,-1.97643,-2.82232,-3.32593,-1.45906,-2.26605,-2.85658,-0.263208,-0.166357,-0.383166,-0.0431426,-0.200216,-0.290093,-0.431556,-0.180088,-0.107616,-0.328069,-0.155883,-0.171864,-0.237653,-0.167541,-0.283476,-0.184298,-0.263758,-0.100393,-0.277773,-0.188062,-0.261305,-0.0931785,-0.144727,0.0892152 --5916.24,1,0.350484,2,-0.185998,0.0211295,-2.06804,-2.3054,-1.84211,-2.46022,-2.53482,-2.61759,-1.75644,-2.1307,-1.88821,-2.22377,-2.32285,-1.47892,-3.09753,-2.75088,-1.51691,-1.70941,-2.221,-3.18639,-3.43021,-1.32142,-2.12015,-2.8357,-0.116077,-0.245555,-0.440734,-0.234412,-0.089152,-0.120443,-0.24722,0.0257297,-0.38591,-0.214159,-0.134197,-0.212359,-0.164103,-0.0295202,-0.149248,-0.234911,0.0254973,-0.271675,-0.0607148,-0.333625,-0.199399,-0.492766,-0.274176,0.14536 --5927.83,0.792975,0.350484,2,-0.156875,0.00673929,-2.07141,-2.46259,-1.89863,-2.42317,-2.77062,-2.42312,-1.67372,-2.00042,-1.90434,-2.17269,-2.41571,-1.38312,-3.43693,-2.80576,-1.27687,-1.59775,-2.24692,-3.42411,-3.0176,-1.43016,-2.17048,-2.79271,-0.12487,-0.0529023,-0.426553,-0.206314,-0.0304874,-0.375879,-0.494766,-0.163407,-0.342251,-0.228512,-0.173848,-0.327175,-0.107984,-0.147999,-0.0779457,-0.165302,-0.264281,-0.0296274,0.114396,-0.206563,-0.121584,-0.266636,-0.0106406,0.0820932 --5915.55,0.963746,0.350484,2,-0.188806,0.00702396,-2.69149,-2.16511,-2.30304,-2.4611,-2.68718,-2.45872,-1.6244,-1.94966,-1.93763,-2.24622,-2.26279,-1.39336,-3.362,-2.88948,-1.34969,-1.47869,-2.08002,-3.61601,-2.85612,-1.50126,-2.07443,-2.83464,-0.174519,-0.102683,-0.158871,-0.245744,-0.106481,-0.377435,-0.534904,-0.20178,-0.340721,-0.164747,-0.240242,-0.227828,-0.239058,-0.0591356,-0.165928,-0.205742,-0.115545,0.00796697,-0.058412,-0.236856,-0.184017,-0.22099,-0.120056,0.0838091 --5918.14,0.255542,0.350484,2,-0.186884,0.00275684,-2.83263,-2.14062,-2.25544,-2.40963,-2.61749,-2.53734,-1.66449,-2.02268,-1.94902,-2.24063,-2.25943,-1.3351,-3.34678,-2.9013,-1.26381,-1.41728,-1.92937,-3.68882,-3.04034,-1.48153,-2.107,-2.80119,-0.197077,-0.148057,-0.206426,-0.22492,-0.0708246,-0.430309,-0.521197,-0.246539,-0.330238,-0.22285,-0.241656,-0.197277,-0.166447,0.0127861,-0.185226,-0.147933,-0.139655,0.0665982,-0.0773111,-0.254262,-0.249321,-0.137269,-0.134254,0.0525057 --5911.22,0.823808,0.350484,2,-0.199306,0.00474579,-3.03847,-2.17556,-2.2058,-2.39505,-2.64962,-2.56978,-1.66379,-2.03296,-1.96494,-2.2217,-2.25212,-1.38853,-3.29975,-2.94793,-1.32049,-1.53262,-2.03793,-3.61742,-3.00325,-1.42194,-2.23541,-2.84849,-0.234733,-0.164855,-0.179897,-0.202403,-0.0275513,-0.363072,-0.459158,-0.169663,-0.297264,-0.252137,-0.248806,-0.235681,-0.0901398,-0.0267161,-0.191038,-0.114809,-0.199095,-0.112034,-0.112314,-0.253441,-0.267868,-0.144777,-0.24107,0.0688897 --5918.08,0.759156,0.350484,2,-0.283288,0.0131712,-2.22982,-2.37065,-1.96736,-2.36457,-2.55307,-2.43415,-1.60556,-1.9734,-1.97413,-2.17734,-2.29322,-1.35738,-3.19242,-2.74082,-1.42891,-1.39504,-1.75995,-2.99482,-3.71396,-1.62313,-2.17395,-2.99438,-0.193621,-0.332736,-0.266399,-0.306046,-0.218583,0.0988554,-0.372846,-0.391169,-0.179305,-0.497024,-0.317847,-0.256198,-0.381412,0.128695,-0.233538,-0.462667,-0.25773,-0.211937,-0.320157,-0.170043,-0.231852,-0.410512,-0.116677,0.114766 --5919.44,0.687093,0.350484,3,-0.220727,0.0152298,-2.36558,-2.13225,-2.32458,-2.41665,-2.19204,-1.81594,-1.7267,-2.28374,-2.0013,-2.31253,-2.34623,-1.512,-3.04199,-2.65075,-1.35087,-1.56933,-2.27589,-2.92993,-3.20793,-1.33459,-2.12485,-2.87525,-0.0654479,-0.313311,-0.288226,-0.214827,-0.282679,-0.723589,-0.233671,-0.161511,-0.35619,-0.144369,-0.0740256,-0.146319,-0.0715167,-0.143704,-0.11941,-0.0182262,-0.00477315,-0.420004,-0.271835,-0.300351,-0.461688,-0.273859,-0.250457,0.123409 --5922.48,0.892303,0.350484,3,-0.278229,0.0230689,-2.3082,-2.2656,-1.97074,-2.39454,-2.62483,-2.02429,-1.62081,-1.97919,-1.99124,-2.1501,-2.20457,-1.37828,-3.02152,-2.82837,-1.25132,-1.35785,-1.84084,-3.23273,-3.63366,-1.50151,-2.14165,-2.96748,-0.377618,-0.200701,-0.1583,-0.2899,-0.0185595,-0.592493,-0.539561,-0.11917,-0.170131,-0.362751,-0.313294,-0.286432,-0.572007,0.0951141,-0.365252,-0.385649,-0.496336,0.194068,-0.0128886,-0.403467,-0.235482,-0.178437,-0.30023,0.151885 --5926.63,0.896082,0.350484,2,-0.286864,0.0290103,-2.60992,-2.3581,-1.89478,-2.352,-2.71572,-1.90327,-1.59715,-2.0305,-1.96224,-2.14427,-2.19397,-1.38597,-3.09794,-2.78355,-1.28584,-1.37887,-1.87515,-3.26753,-3.73859,-1.48491,-2.16337,-2.9597,-0.440024,-0.236938,-0.118914,-0.332353,-0.00692839,-0.574173,-0.493586,-0.109118,-0.185334,-0.415084,-0.310832,-0.208193,-0.622793,0.16347,-0.401812,-0.411558,-0.573136,0.0715494,-0.0407883,-0.388925,-0.259528,-0.11211,-0.346127,0.170324 --5933.2,0.743497,0.350484,3,-0.258314,0.029226,-1.94238,-1.90799,-2.41389,-2.39817,-2.79446,-1.76734,-1.67656,-2.0583,-2.12912,-2.10856,-2.1945,-1.34003,-2.99036,-2.74545,-1.24688,-1.57035,-1.86026,-2.73423,-3.31656,-1.56474,-2.46349,-3.03338,-0.523348,-0.427189,-0.218456,-0.388512,0.027804,-0.59945,-0.552453,-0.151372,-0.543982,-0.496235,-0.407683,-0.255723,-0.443312,-0.0302458,-0.162038,-0.363357,-0.277134,-0.146389,-0.0107394,-0.0198957,-0.207763,-0.0909096,-0.542716,0.170956 --5946.09,0.751207,0.350484,3,-0.283363,0.0526264,-2.22927,-2.1898,-2.64636,-2.36235,-2.56401,-2.07041,-1.71589,-2.21946,-1.66606,-2.18023,-2.27196,-1.35641,-3.25758,-3.04786,-1.44308,-1.35265,-1.96357,-2.75525,-4.00521,-1.94462,-1.92932,-2.75654,-0.832504,-0.0238626,0.100607,-0.103916,0.0768656,-0.733964,-0.273885,-0.181832,-0.596257,-0.452859,-0.20577,-0.374199,-0.241913,0.392659,-0.64415,0.0721089,-0.371702,-0.620313,-0.000738072,0.104776,-0.427518,-0.568511,-0.295535,0.229404 --5942.84,0.932673,0.350484,3,-0.255555,0.148246,-2.08409,-2.19938,-1.99815,-2.4573,-2.57561,-1.65556,-1.57654,-2.10546,-1.90485,-2.16568,-2.21058,-1.56543,-2.98148,-2.89389,-1.10138,-1.82991,-1.86923,-2.91042,-3.27841,-1.32979,-2.13103,-3.0927,-0.720809,-0.532897,0.111693,-0.179702,0.0681103,-1.23555,-0.617727,-0.126436,-0.728188,-0.29512,-0.359433,0.0463454,-0.0673613,0.348117,-0.136121,-0.200096,-0.177204,-0.113958,0.168773,-0.131357,-0.754494,-0.132722,-0.366345,0.385028 --5950.5,0.805911,0.350484,3,-0.325968,0.0361233,-1.53972,-1.45395,-2.08162,-2.47387,-2.45384,-1.10193,-1.55799,-2.36439,-1.68922,-2.19895,-2.30404,-1.62978,-3.08498,-2.91104,-1.20227,-1.42631,-1.78199,-3.30547,-3.02971,-1.78714,-1.83372,-2.78839,-0.657032,-0.403557,-0.178612,-0.0319904,0.00907979,-1.2652,-0.590407,0.122905,-0.429411,-0.319482,-0.324462,-0.0302235,0.377495,0.220484,-0.111395,-0.237374,-0.384594,-0.168822,-0.0211913,-0.230175,-0.541712,-0.479463,-0.439079,0.190061 --5942.17,0.884886,0.350484,3,-0.249904,0.0693586,-2.90831,-1.87755,-1.7781,-2.25821,-2.24034,-2.12805,-1.74317,-1.98708,-2.26652,-2.2596,-2.31428,-1.30896,-2.63423,-2.7358,-1.59605,-1.50215,-2.13251,-2.93156,-3.54968,-1.37786,-1.80748,-2.9828,0.257552,-1.18947,-0.48559,-0.35307,0.0409515,-0.86212,-0.288798,-0.41222,-0.142235,-0.285828,-0.256354,-0.392765,-0.655194,-0.0167042,-0.257882,-0.0729525,0.126165,0.411387,-0.153925,-0.301724,-0.319135,-0.282839,-0.5706,0.26336 --5935.56,0.962455,0.350484,3,-0.297546,0.0446667,-2.62758,-2.21221,-2.28943,-2.4329,-2.83611,-1.96396,-1.54311,-2.08587,-1.7102,-2.27266,-2.49607,-1.41652,-3.08662,-2.84634,-1.28335,-1.48468,-1.91289,-3.68308,-3.52008,-1.8444,-2.22181,-2.83071,-0.345446,0.0475985,-0.365158,-0.344381,-0.0793964,-0.171273,-0.623209,-0.0580247,-0.351875,-0.211242,0.0297249,-0.243574,-0.338721,-0.0601364,-0.105264,-0.32464,-0.327119,0.230038,-0.14353,0.179567,-0.633549,-0.445256,-0.397353,0.211345 --5928.34,1,0.350484,2,-0.206643,0.0334077,-2.03148,-2.01999,-1.97521,-2.35833,-2.44595,-2.21903,-1.6219,-2.30834,-1.80401,-2.19368,-2.30943,-1.53264,-3.40611,-2.74786,-1.6425,-1.46118,-2.0405,-2.80416,-3.18843,-1.81867,-1.85295,-2.8547,-0.64764,-0.582481,-0.560171,-0.266391,-0.134883,-0.392468,-0.432497,-0.191338,-0.583736,-0.350795,-0.142098,-0.0302752,-0.300755,0.119488,-0.170426,-0.343368,-0.130341,0.058875,-0.121277,-0.141096,-0.388285,-0.23487,-0.038231,0.182778 --5923.24,0.957134,0.350484,3,-0.241319,0.0211951,-2.05299,-1.94812,-2.10077,-2.40898,-2.39706,-2.00488,-1.59949,-2.15349,-2.04639,-2.14444,-2.26184,-1.53636,-3.25493,-2.9092,-1.53257,-1.51561,-2.25566,-2.97185,-3.1594,-1.6279,-2.04741,-2.97094,-0.689095,-0.458371,-0.434346,-0.275628,-0.107021,-0.516553,-0.452083,-0.214668,-0.600895,-0.435075,-0.119028,-0.224515,-0.364498,0.233758,-0.226976,-0.220688,-0.181721,-0.128067,-0.257081,-0.179221,-0.182166,-0.407602,-0.117637,0.145585 --5925.32,0.804096,0.350484,3,-0.262287,0.0244672,-2.44228,-2.01543,-2.18105,-2.39236,-2.4297,-2.05747,-1.66297,-2.16936,-2.02249,-2.14903,-2.23046,-1.54454,-3.26523,-2.92326,-1.46914,-1.51631,-2.29919,-3.13466,-3.32918,-1.64025,-1.95543,-2.90485,-0.637908,-0.53204,-0.476753,-0.267973,-0.0379599,-0.508497,-0.452372,-0.149635,-0.573662,-0.39803,-0.128624,-0.23269,-0.450594,0.258274,-0.254891,-0.265034,-0.128034,-0.204539,-0.215054,-0.168471,-0.147059,-0.376971,-0.00904454,0.15642 --5924.44,0.740118,0.350484,2,-0.293946,0.00828182,-1.49861,-1.88954,-1.9681,-2.36998,-2.58949,-1.96685,-1.67863,-2.17764,-1.54066,-2.12793,-2.29113,-1.42322,-3.22855,-2.85966,-1.42172,-1.65738,-1.8145,-3.32559,-3.50724,-1.59494,-2.45459,-2.98946,-0.193259,-0.339458,-0.37357,-0.376767,-0.353267,-0.298243,-0.410901,0.016623,-0.378079,-0.363711,-0.248044,0.0226833,-0.201624,0.165766,-0.258436,-0.235462,-0.250868,-0.372536,-0.311213,-0.280503,-0.32971,-0.27349,-0.304375,0.0910045 --5924.92,0.858399,0.350484,2,-0.282,0.00929641,-2.48061,-1.82658,-2.12109,-2.17597,-2.63862,-1.73614,-1.70047,-2.31128,-1.75971,-2.14621,-2.43576,-1.48795,-3.17933,-2.9711,-1.31232,-1.7766,-1.84777,-3.28631,-3.2956,-1.72732,-2.25016,-2.83511,-0.205572,-0.0988725,-0.272041,-0.419255,-0.349505,-0.411195,-0.449279,-0.209488,-0.360935,-0.31616,-0.263068,-0.246783,-0.361813,0.157554,-0.352095,-0.31695,-0.320765,-0.0623202,-0.357636,-0.256422,-0.221383,-0.305784,-0.318945,0.0964179 --5912.5,0.965546,0.350484,2,-0.233728,0.0076116,-2.25461,-2.48657,-2.43137,-2.36295,-2.51587,-2.63307,-1.74366,-2.28627,-1.9439,-2.24777,-2.35527,-1.46193,-3.09704,-2.78226,-1.32126,-1.35594,-1.88791,-3.41501,-3.19545,-1.47107,-2.23036,-2.85537,-0.292835,-0.494561,-0.191407,-0.219231,0.020001,-0.13902,-0.382114,-0.196612,-0.228511,-0.28784,-0.217049,-0.26398,-0.196374,-0.00112249,-0.180298,-0.202865,-0.230593,-0.409266,-0.187888,-0.404024,-0.162621,-0.292201,-0.219046,0.0872445 --5912.12,0.28725,0.350484,2,-0.249416,0.00391888,-1.6191,-1.90851,-2.16439,-2.36511,-2.27249,-2.56584,-1.773,-2.17964,-1.87667,-2.20663,-2.29283,-1.39091,-3.27512,-2.77083,-1.38872,-1.36361,-1.85765,-3.30091,-3.36324,-1.44079,-2.00994,-2.80969,-0.129423,-0.291652,-0.252067,-0.338697,-0.141141,-0.161641,-0.372892,-0.179389,-0.337762,-0.290776,-0.162202,-0.345832,-0.287089,-0.0282193,-0.273419,-0.242442,-0.0969121,-0.259304,-0.40143,-0.258188,-0.276425,-0.190696,-0.336087,0.062601 --5909.71,0.454576,0.350484,2,-0.213286,0.00427657,-1.73777,-2.10718,-2.18316,-2.40195,-2.33042,-2.39443,-1.74115,-2.14509,-1.9093,-2.21127,-2.29481,-1.37831,-3.246,-2.77215,-1.45692,-1.43796,-1.93292,-3.38687,-3.13426,-1.48758,-2.12399,-2.8122,-0.0949611,-0.219232,-0.318708,-0.357095,-0.219897,-0.152475,-0.427204,-0.242999,-0.224744,-0.301864,-0.167525,-0.333345,-0.196219,0.0542757,-0.232984,-0.272343,-0.259642,-0.290762,-0.350723,-0.256392,-0.304025,-0.202695,-0.265019,0.0653955 --5910.64,0.992947,0.350484,2,-0.290058,0.00439142,-2.76782,-2.16658,-2.0045,-2.41566,-2.51787,-1.9922,-1.66058,-2.04623,-2.2033,-2.27929,-2.2896,-1.48137,-2.82659,-2.51406,-1.16681,-1.52572,-1.92555,-2.74092,-3.44677,-1.57224,-2.16791,-3.08836,-0.255656,-0.174448,-0.323656,-0.285135,-0.285074,-0.241367,-0.235854,-0.127632,-0.249213,-0.282802,-0.340325,-0.221546,-0.312236,-0.0448239,-0.377808,-0.151791,-0.386176,-0.224987,-0.187765,-0.253262,-0.305233,-0.298395,-0.380495,0.0662678 --5910.64,0.129668,0.350484,3,-0.290058,0.00439142,-2.76782,-2.16658,-2.0045,-2.41566,-2.51787,-1.9922,-1.66058,-2.04623,-2.2033,-2.27929,-2.2896,-1.48137,-2.82659,-2.51406,-1.16681,-1.52572,-1.92555,-2.74092,-3.44677,-1.57224,-2.16791,-3.08836,-0.255656,-0.174448,-0.323656,-0.285135,-0.285074,-0.241367,-0.235854,-0.127632,-0.249213,-0.282802,-0.340325,-0.221546,-0.312236,-0.0448239,-0.377808,-0.151791,-0.386176,-0.224987,-0.187765,-0.253262,-0.305233,-0.298395,-0.380495,0.0662678 --5921.53,0.138162,0.350484,2,-0.303166,0.0084932,-2.02204,-2.03877,-2.01604,-2.32007,-2.7319,-2.67927,-1.74573,-2.19259,-1.8259,-2.25693,-2.11527,-1.27576,-2.93416,-2.94213,-1.47048,-1.22716,-1.89702,-2.59992,-3.43448,-1.34582,-2.17879,-3.10468,-0.329845,-0.430762,-0.200086,-0.294949,-0.137405,-0.340942,-0.484908,-0.354317,-0.30996,-0.286576,-0.312394,-0.392989,-0.296192,-0.30326,-0.188155,-0.460375,-0.133674,-0.368406,-0.348512,-0.19379,-0.315187,-0.337833,-0.171079,0.0921586 --5921.93,0.634611,0.350484,3,-0.273117,0.0122644,-2.25663,-2.57194,-2.05891,-2.41195,-2.40794,-1.58852,-1.66546,-2.15104,-2.01202,-2.19409,-2.39147,-1.46344,-3.0899,-2.41637,-1.53768,-1.44533,-2.06033,-3.03804,-3.53852,-1.64297,-2.04027,-2.81877,-0.297433,-0.18522,-0.371071,-0.221587,0.0542432,-0.419682,-0.285333,-0.0255515,-0.300817,-0.359432,-0.290382,-0.160339,-0.3891,-0.295856,-0.353589,-0.259811,-0.414142,-0.271297,-0.118999,-0.407136,-0.307395,-0.291649,-0.5204,0.110745 --5923.3,0.947398,0.350484,3,-0.332139,0.0125434,-2.57744,-1.86074,-1.98163,-2.38429,-2.21491,-2.71409,-1.70507,-1.91499,-1.86949,-2.33608,-2.319,-1.36834,-2.92397,-2.94372,-1.20757,-1.43311,-2.10951,-3.00675,-3.2166,-1.39018,-2.14437,-2.98869,-0.274427,-0.242435,-0.229538,-0.248137,-0.151765,-0.298116,-0.419264,-0.310537,-0.326553,-0.333262,-0.428959,-0.19977,-0.215059,0.384727,-0.444512,-0.0650412,-0.292778,-0.287551,-0.526872,-0.106307,-0.305739,-0.376046,-0.0504292,0.111997 --5915.83,0.986126,0.350484,2,-0.190539,0.00678728,-2.90497,-2.55086,-2.45202,-2.39007,-2.41895,-2.52917,-1.6825,-2.16998,-1.96282,-2.21911,-2.35567,-1.54501,-3.1352,-2.86795,-1.35257,-1.56538,-2.07865,-3.08117,-3.52984,-1.44141,-2.05013,-2.94594,-0.324396,-0.203447,-0.205095,-0.251108,-0.252859,-0.0955162,-0.341259,-0.185682,-0.191103,-0.157033,0.0242478,-0.180544,-0.188922,-0.0408659,-0.0927356,-0.286952,-0.00453542,-0.0723399,0.0184979,-0.314009,-0.390024,-0.138071,-0.306311,0.082385 --5917.12,0.790686,0.350484,2,-0.208724,0.0127731,-2.6529,-2.292,-2.49029,-2.44113,-2.3942,-2.77069,-1.68594,-2.28261,-2.13187,-2.25753,-2.47249,-1.46561,-3.01485,-2.9034,-1.53468,-1.54387,-1.90646,-3.19951,-3.50273,-1.63057,-2.25976,-2.9799,-0.0479147,-0.204556,-0.189256,-0.144713,-0.141386,-0.318337,-0.45207,-0.117177,-0.170497,-0.320195,-0.276904,-0.223949,-0.239147,0.0565722,-0.233715,-0.125382,-0.430739,-0.306246,0.0392632,-0.208901,-0.0877452,-0.357982,-0.0676275,0.113018 --5916.5,0.499254,0.350484,3,-0.228738,0.00705257,-1.96637,-2.04377,-1.70533,-2.40475,-2.43264,-1.62848,-1.67946,-1.94337,-2.08135,-2.22635,-2.23778,-1.45137,-2.90865,-2.64637,-1.09252,-1.6442,-1.86528,-2.67994,-3.75347,-1.49925,-1.95717,-3.05652,-0.275506,-0.276888,-0.256874,-0.205606,-0.127444,-0.233639,-0.282788,-0.299582,-0.152198,-0.200837,-0.213961,-0.146156,-0.208555,-0.366894,-0.245998,-0.085719,-0.133609,-0.15351,-0.354259,-0.170466,-0.526922,-0.171206,-0.390832,0.0839796 --5916.5,0.576722,0.350484,3,-0.228738,0.00705257,-1.96637,-2.04377,-1.70533,-2.40475,-2.43264,-1.62848,-1.67946,-1.94337,-2.08135,-2.22635,-2.23778,-1.45137,-2.90865,-2.64637,-1.09252,-1.6442,-1.86528,-2.67994,-3.75347,-1.49925,-1.95717,-3.05652,-0.275506,-0.276888,-0.256874,-0.205606,-0.127444,-0.233639,-0.282788,-0.299582,-0.152198,-0.200837,-0.213961,-0.146156,-0.208555,-0.366894,-0.245998,-0.085719,-0.133609,-0.15351,-0.354259,-0.170466,-0.526922,-0.171206,-0.390832,0.0839796 --5916.5,0.53336,0.350484,2,-0.228738,0.00705257,-1.96637,-2.04377,-1.70533,-2.40475,-2.43264,-1.62848,-1.67946,-1.94337,-2.08135,-2.22635,-2.23778,-1.45137,-2.90865,-2.64637,-1.09252,-1.6442,-1.86528,-2.67994,-3.75347,-1.49925,-1.95717,-3.05652,-0.275506,-0.276888,-0.256874,-0.205606,-0.127444,-0.233639,-0.282788,-0.299582,-0.152198,-0.200837,-0.213961,-0.146156,-0.208555,-0.366894,-0.245998,-0.085719,-0.133609,-0.15351,-0.354259,-0.170466,-0.526922,-0.171206,-0.390832,0.0839796 --5919.94,0.0732655,0.350484,3,-0.247959,0.00251308,-1.87128,-2.51204,-1.72006,-2.39635,-2.3315,-1.43323,-1.63679,-1.8542,-1.94404,-2.25871,-2.20503,-1.42147,-2.90309,-2.5982,-1.11512,-1.60258,-1.90482,-2.78775,-3.45561,-1.48502,-1.92698,-3.15739,-0.265214,-0.354472,-0.3414,-0.196758,-0.181505,-0.273711,-0.262589,-0.286085,-0.0989388,-0.17885,-0.280936,-0.28765,-0.3347,-0.146336,-0.278412,-0.217507,-0.241837,-0.359551,-0.412336,-0.259461,-0.414547,-0.214364,-0.119303,0.0501306 --5925.38,0.535436,0.350484,2,-0.240476,0.00988948,-2.73957,-1.8259,-2.47292,-2.43515,-2.12805,-2.78227,-1.84172,-2.36653,-1.9482,-2.33735,-2.48373,-1.45858,-2.85931,-2.6961,-1.1421,-1.28326,-2.17473,-3.10949,-3.95805,-1.3975,-2.28394,-2.7275,-0.111236,-0.293485,-0.0997499,-0.274533,-0.340727,-0.189364,-0.356831,-0.216438,-0.501548,-0.300592,-0.148019,-0.167222,-0.159538,-0.134063,-0.300795,-0.266805,-0.146636,-0.162825,0.165982,-0.276278,-0.335559,-0.388308,-0.421499,0.0994459 --5931.19,0.933991,0.350484,3,-0.221221,0.0158668,-3.08108,-2.00016,-2.85762,-2.32775,-2.23232,-3.03443,-1.7979,-2.07874,-1.8807,-2.35107,-2.3904,-1.48097,-2.87891,-2.64028,-1.38158,-1.49902,-2.03688,-3.31508,-4.26478,-1.33142,-2.44993,-2.85821,-0.244867,-0.155352,-0.16392,-0.406666,-0.124835,-0.343664,-0.266807,-0.122911,-0.51436,-0.250408,-0.261951,-0.049582,-0.301265,-0.191506,-0.244358,-0.30389,-0.123228,0.0920223,0.0541119,-0.471402,-0.221869,-0.409144,0.11363,0.125963 --5933.65,0.895309,0.350484,3,-0.240901,0.0362699,-2.74207,-2.13081,-1.49897,-2.43447,-2.26949,-1.39922,-1.69253,-2.01647,-2.11366,-2.13831,-2.29009,-1.44408,-3.25508,-3.02095,-1.26655,-1.28634,-2.10406,-2.87656,-3.0827,-1.5165,-1.95346,-2.89214,-0.181281,-0.599798,-0.374057,-0.239486,-0.538842,-0.210105,-0.394626,-0.359883,0.0405681,-0.293079,-0.160612,-0.354115,-0.0150499,0.148814,-0.317419,-0.312932,-0.173638,-0.0822392,0.0748169,-0.142046,-0.427187,-0.314906,-0.619016,0.190446 --5932.84,0.916023,0.350484,3,-0.30272,0.0537096,-3.08057,-1.94814,-2.13232,-2.26087,-2.29953,-2.80251,-1.70121,-2.19554,-2.10992,-2.19955,-2.32975,-1.29515,-3.27761,-2.68349,-1.33039,-1.25338,-2.10379,-3.5993,-3.58911,-1.56372,-2.27483,-2.78303,-0.112353,-0.420129,-0.361831,-0.406198,-0.203571,-0.623946,-0.346499,-0.00948594,0.0255077,-0.381647,-0.267287,-0.253319,0.15747,0.00615012,-0.435556,-0.475414,-0.0600616,-0.0778486,-0.256851,-0.169219,-0.500896,-0.744815,-0.151317,0.231753 --5918.89,0.966938,0.350484,3,-0.347037,0.00869735,-2.03781,-2.07142,-2.16134,-2.3961,-2.57415,-1.86012,-1.67701,-1.99292,-2.14572,-2.15028,-2.43628,-1.36491,-3.16187,-2.7747,-1.32963,-1.54606,-1.6049,-2.7644,-3.06683,-1.52056,-2.18706,-2.73749,-0.301298,-0.387015,-0.251133,-0.306605,-0.347495,-0.326605,-0.441335,-0.408476,-0.37539,-0.327389,-0.258475,-0.38935,-0.275666,-0.236895,-0.348351,-0.187398,-0.6859,-0.372745,-0.428427,-0.0884265,-0.271048,-0.273343,-0.539241,0.0932596 --5915.32,0.816742,0.350484,3,-0.289111,0.0068168,-2.4087,-1.93348,-2.17566,-2.37014,-2.6044,-2.03888,-1.68826,-1.986,-1.88259,-2.3327,-2.44397,-1.40619,-2.62024,-2.51942,-1.26591,-1.59418,-1.74768,-3.1566,-3.24871,-1.61417,-2.0336,-2.77457,-0.288037,-0.329528,-0.345104,-0.25797,-0.137863,-0.30414,-0.316192,-0.233723,-0.244708,-0.251119,-0.198665,-0.179409,-0.358324,-0.148891,-0.269279,-0.270865,-0.494431,-0.197153,-0.150483,-0.434772,-0.389319,-0.46714,-0.511761,0.0825639 --5921.73,0.809015,0.350484,2,-0.307736,0.0258066,-2.76809,-2.13045,-2.41254,-2.47429,-2.33876,-2.41941,-1.59042,-2.17285,-2.05666,-2.25478,-2.23361,-1.5123,-3.2359,-2.64422,-1.44665,-1.65659,-1.89309,-2.89699,-2.9919,-1.48298,-2.06179,-2.70545,-0.203303,-0.382608,-0.130217,-0.149053,-0.234117,-0.214638,-0.424374,-0.305937,-0.255665,-0.216128,-0.179494,-0.342796,-0.278822,-0.266699,-0.267283,-0.172259,-0.512299,-0.310421,-0.468994,-0.468825,-0.215983,-0.434661,-0.202623,0.160644 --5922.07,0.399609,0.350484,2,-0.180721,0.0176418,-1.93464,-1.80652,-2.39974,-2.38942,-2.48401,-2.29227,-1.68134,-2.1075,-2.21176,-2.30752,-2.21608,-1.36498,-2.76491,-2.73795,-1.33466,-1.47376,-1.80632,-2.84795,-3.06041,-1.38878,-2.26703,-2.91307,-0.26522,-0.486009,-0.194035,-0.270939,-0.190173,-0.21896,-0.495115,-0.0926985,-0.191743,-0.274406,-0.462054,-0.139664,-0.26348,0.169519,-0.229468,-0.218509,-0.08313,-0.225049,-0.630635,-0.103346,-0.397146,-0.278307,-0.296865,0.132823 --5921.75,0.965685,0.350484,2,-0.291102,0.0118772,-2.97237,-2.02173,-1.77533,-2.36423,-2.28863,-2.75268,-1.60551,-2.12136,-1.8867,-2.22445,-2.32172,-1.45623,-2.94428,-3.06037,-1.28317,-1.68652,-2.1132,-3.06923,-3.22667,-1.56403,-2.21691,-2.78814,-0.0611704,-0.475284,-0.224189,-0.230988,-0.369106,-0.248466,-0.442843,-0.234358,-0.152349,-0.281012,-0.369591,-0.118003,-0.315095,0.167951,-0.158141,-0.131589,-0.241716,-0.231323,0.0954856,-0.357409,-0.454058,-0.446393,-0.158915,0.108982 --5922.95,0.766235,0.350484,2,-0.207821,0.0310187,-3.01977,-2.13836,-1.72364,-2.3939,-2.23746,-2.81304,-1.6602,-2.08865,-1.75197,-2.15797,-2.3055,-1.53509,-3.21695,-2.95357,-1.22357,-1.6136,-2.04791,-2.82965,-3.01151,-1.33014,-2.21616,-2.7654,-0.180584,-0.524661,-0.296911,-0.347996,-0.219425,-0.027969,-0.382314,-0.250926,-0.275265,-0.260705,-0.296023,-0.144254,-0.122896,0.273994,-0.319285,-0.222833,-0.272762,-0.251137,-0.223737,-0.284019,-0.395202,-0.624547,-0.457642,0.176121 --5921.76,0.976709,0.350484,2,-0.189083,0.0204058,-3.18732,-2.14684,-2.08351,-2.34488,-2.46569,-2.22619,-1.73329,-2.14275,-1.92042,-2.15642,-2.36161,-1.63136,-3.02572,-2.80964,-1.24419,-1.64651,-1.85281,-2.73912,-3.45228,-1.4072,-2.17324,-2.85569,-0.149586,-0.295797,-0.24209,-0.377303,-0.211395,-0.292845,-0.447471,-0.218251,-0.301588,-0.306599,-0.0769543,-0.0755433,0.0867946,0.122495,-0.230237,0.0122214,-0.242834,-0.20532,0.102671,-0.228411,-0.519693,-0.670417,-0.464273,0.142849 --5919.19,0.954217,0.350484,2,-0.220137,0.0217629,-3.14366,-2.11585,-2.11664,-2.36378,-2.47371,-2.30967,-1.75427,-2.15969,-1.9309,-2.15504,-2.30655,-1.60801,-3.08293,-2.82702,-1.28015,-1.59994,-1.97785,-2.7552,-3.42931,-1.36087,-2.20295,-2.84629,-0.253864,-0.331118,-0.216365,-0.355104,-0.166973,-0.29247,-0.371787,-0.174466,-0.247326,-0.351696,-0.0929134,-0.172183,0.0665971,0.236474,-0.257311,-0.0264744,-0.231145,-0.24574,0.0804679,-0.168473,-0.483885,-0.57791,-0.458711,0.147523 --5921.07,0.731449,0.350484,2,-0.196292,0.0140491,-3.13605,-2.23754,-2.44463,-2.34748,-2.56086,-2.15012,-1.71369,-2.22225,-2.12365,-2.23285,-2.41476,-1.3762,-3.19717,-2.83445,-1.49313,-1.64128,-1.96701,-3.08162,-3.54317,-1.3426,-2.29522,-2.8511,-0.306901,-0.368632,-0.169043,-0.297827,-0.120416,-0.218735,-0.35859,-0.0378043,-0.239628,-0.377696,-0.202828,-0.10912,-0.0959381,0.181959,-0.244821,0.0496519,-0.141527,-0.461824,0.17004,-0.280854,-0.261453,-0.507569,-0.406201,0.118529 --5930.72,0.915791,0.350484,2,-0.161851,0.0477267,-3.13497,-2.38621,-2.42939,-2.35813,-2.52205,-2.46585,-1.76175,-2.04249,-1.99384,-2.19087,-2.42114,-1.48814,-3.14566,-2.83752,-1.48685,-1.82242,-1.82292,-3.2336,-3.41763,-1.22448,-2.13512,-3.00037,-0.452622,-0.326116,-0.157318,-0.227237,-0.108871,-0.0141415,-0.168874,-0.0780491,-0.290677,-0.421267,-0.165374,-0.103135,-0.148846,0.154302,-0.230877,0.0247601,-0.0757017,-0.436669,0.204936,-0.156186,-0.293559,-0.468881,-0.444382,0.218464 --5931.74,0.931928,0.350484,3,-0.313936,0.0294895,-1.57195,-1.86519,-1.71867,-2.42403,-2.41334,-1.88406,-1.67924,-2.36584,-2.08752,-2.14343,-2.42095,-1.51767,-2.7169,-2.85753,-1.36686,-1.16831,-2.03482,-2.65517,-3.91164,-1.69562,-2.09347,-2.77967,-0.258251,-0.24439,-0.354647,-0.201469,-0.0475225,-0.425319,-0.503854,-0.178889,0.0277881,-0.398546,-0.12041,-0.145213,-0.410393,-0.0130366,-0.204165,-0.382512,-0.316799,0.0761244,0.000897497,-0.339341,-0.359284,-0.19683,-0.152316,0.171725 --5931.71,0.972367,0.350484,2,-0.249858,0.0129958,-1.51302,-1.92261,-1.89167,-2.51301,-2.39627,-2.38087,-1.55655,-2.29915,-2.05303,-2.19412,-2.66825,-1.63065,-2.8679,-2.87652,-1.21445,-1.13307,-1.97498,-3.21386,-3.52615,-1.60548,-2.14658,-2.82021,-0.520169,-0.357594,-0.214833,-0.22339,-0.156353,-0.445375,-0.599833,-0.100025,0.0675436,-0.343784,0.0314015,-0.277035,-0.205467,-0.0540479,-0.182071,-0.329863,-0.232081,-0.364736,-0.209817,-0.314566,-0.311573,-0.154176,-0.40882,0.113999 --5931.71,0.60146,0.350484,2,-0.249858,0.0129958,-1.51302,-1.92261,-1.89167,-2.51301,-2.39627,-2.38087,-1.55655,-2.29915,-2.05303,-2.19412,-2.66825,-1.63065,-2.8679,-2.87652,-1.21445,-1.13307,-1.97498,-3.21386,-3.52615,-1.60548,-2.14658,-2.82021,-0.520169,-0.357594,-0.214833,-0.22339,-0.156353,-0.445375,-0.599833,-0.100025,0.0675436,-0.343784,0.0314015,-0.277035,-0.205467,-0.0540479,-0.182071,-0.329863,-0.232081,-0.364736,-0.209817,-0.314566,-0.311573,-0.154176,-0.40882,0.113999 --5921.52,0.993575,0.350484,3,-0.246335,0.0126119,-1.78063,-2.23319,-1.98351,-2.52423,-2.41213,-2.37994,-1.60416,-2.3583,-2.0597,-2.21456,-2.59187,-1.50422,-3.04302,-2.75381,-1.20862,-1.30068,-2.05555,-3.29252,-3.44249,-1.66524,-2.08407,-2.81668,-0.463326,-0.320528,-0.0874106,-0.121875,-0.134054,-0.34489,-0.5694,-0.158524,-0.0255619,-0.332224,0.0184052,-0.165129,-0.238439,-0.0388315,-0.275253,-0.335792,-0.180339,-0.303614,-0.0147588,-0.317155,-0.259416,-0.366748,-0.145531,0.112303 --5930.92,0.696176,0.350484,3,-0.166784,0.0175224,-3.10465,-2.05946,-2.47351,-2.27858,-2.36605,-2.02668,-1.82294,-2.1931,-2.15989,-2.32024,-2.26033,-1.50433,-2.6621,-2.69262,-1.6461,-1.83607,-1.86584,-2.50621,-3.5096,-1.52599,-1.94148,-3.139,0.109795,-0.297281,-0.332037,-0.250252,-0.141675,-0.0711845,-0.164801,0.00861981,-0.201825,-0.266401,-0.298246,-0.174838,-0.69695,-0.0197274,-0.106775,0.0941363,-0.228888,-0.18452,-0.292221,0.09672,-0.627838,-0.227979,-0.30851,0.132372 --5929.96,0.918713,0.350484,3,-0.146052,0.0291472,-1.89824,-2.64627,-2.349,-2.40948,-2.37715,-2.21659,-1.53302,-2.08002,-1.91814,-2.23722,-2.42714,-1.52703,-2.55961,-2.87494,-1.09309,-1.22897,-2.30486,-2.97993,-3.30251,-1.61204,-2.3147,-2.78895,-0.382152,-0.204529,-0.133883,-0.0640004,0.0892043,-0.283724,-0.573439,-0.127948,-0.380457,-0.374208,0.0181525,-0.0149778,-0.412338,0.215403,-0.380056,-0.347216,0.0289259,-0.0634925,0.0484379,-0.376141,-0.170263,-0.561836,-0.126709,0.170725 --5932,0.839428,0.350484,3,-0.179975,0.0416417,-1.95612,-2.70802,-2.32443,-2.4362,-2.41345,-2.3827,-1.56738,-2.11891,-1.86014,-2.27364,-2.35728,-1.56722,-2.52756,-2.81816,-1.08843,-1.19297,-2.35704,-2.75715,-3.43037,-1.59868,-2.2993,-2.81796,-0.440105,-0.165691,-0.0134214,-0.0672933,0.144061,-0.219327,-0.494953,-0.134619,-0.454281,-0.367141,0.00751394,-0.024584,-0.372518,0.248912,-0.302807,-0.340124,-0.0368021,-0.0633459,0.0768933,-0.296161,-0.212677,-0.605551,-0.119124,0.204063 --5933.59,0.900537,0.350484,3,-0.311672,0.0155472,-2.64253,-1.85091,-1.81873,-2.476,-2.64476,-1.72658,-1.78336,-2.11303,-1.98711,-2.09629,-2.28686,-1.40219,-3.44728,-2.82961,-1.47379,-1.61054,-2.53588,-2.96502,-3.82169,-1.24391,-2.25664,-2.94549,-0.0612359,-0.225022,-0.746914,-0.245225,-0.232775,-0.5285,-0.302596,-0.330444,-0.28841,-0.423826,-0.285884,-0.178085,-0.231465,0.0727788,-0.382892,-0.336569,0.337211,-0.341839,0.110651,-0.27261,-0.395252,-0.121944,-0.114918,0.124689 --5927.66,1,0.350484,3,-0.349515,0.0198744,-1.96175,-2.56614,-2.1019,-2.33849,-2.40087,-2.58658,-1.59831,-2.13133,-2.00179,-2.29486,-2.44344,-1.55351,-2.50838,-2.80233,-1.13446,-1.42331,-2.31078,-2.98676,-3.00383,-1.57851,-2.01318,-2.74223,-0.486076,-0.341372,-0.2685,-0.277572,-0.158786,-0.050731,-0.565417,-0.132162,-0.298576,-0.200976,-0.353409,-0.266252,-0.35592,-0.181139,-0.200998,-0.159167,0.1908,-0.120655,-0.425645,-0.335371,-0.377322,-0.727123,-0.358814,0.140976 --5927.73,0.879478,0.350484,2,-0.296592,0.0194706,-1.74897,-2.32266,-2.08902,-2.31155,-2.53651,-2.98547,-1.71385,-2.06592,-1.9618,-2.29426,-2.46855,-1.51503,-2.69348,-2.67022,-1.26021,-1.268,-2.49004,-2.89603,-3.02469,-1.53367,-2.11788,-2.6468,-0.434055,-0.342757,-0.30188,-0.236427,-0.196097,-0.0588452,-0.597496,-0.157504,-0.261133,-0.251383,-0.347151,-0.126482,-0.299051,-0.318021,-0.428103,-0.204935,-0.00868933,-0.27201,-0.333853,-0.390287,-0.34565,-0.773114,-0.197734,0.139537 --5926.91,0.0418985,0.350484,3,-0.195556,0.0362912,-3.19882,-2.01059,-2.18379,-2.39379,-2.42807,-1.63284,-1.52655,-2.12039,-2.06145,-2.19214,-2.24547,-1.51269,-3.26682,-2.95586,-1.38747,-1.71464,-1.93597,-3.08508,-3.76626,-1.4942,-1.88345,-2.91804,-0.0146982,-0.130775,-0.123984,-0.207147,-0.00644041,-0.267841,-0.26663,-0.107841,-0.154246,-0.283568,-0.09024,-0.198724,-0.175348,0.164196,-0.0921556,-0.1453,-0.10528,-0.171778,-0.0598413,-0.0347535,-0.617525,-0.272204,-0.152292,0.190503 --5926.05,0.73813,0.350484,3,-0.299803,0.00857161,-1.6885,-2.2227,-2.09728,-2.47383,-2.75543,-2.92478,-1.64183,-2.08787,-1.92932,-2.25404,-2.41989,-1.52606,-2.75954,-3.0591,-1.1861,-1.30438,-2.21634,-3.12655,-3.28652,-1.46896,-2.22842,-2.94776,-0.373965,-0.310949,-0.370097,-0.321626,-0.198145,-0.240479,-0.362554,-0.160024,-0.35811,-0.210961,-0.278614,-0.304033,-0.198525,0.322115,-0.418842,-0.293293,-0.140876,-0.222881,-0.331096,-0.345871,0.0990059,-0.212753,-0.105345,0.092583 --5924.65,0.94331,0.350484,2,-0.169605,0.0249918,-2.93259,-2.15373,-2.13145,-2.33611,-2.43391,-1.78196,-1.65613,-2.07091,-2.11262,-2.23047,-2.17152,-1.38573,-3.06717,-2.978,-0.958369,-1.69083,-1.81926,-2.9325,-3.10648,-1.53781,-2.46365,-2.92929,-0.154459,-0.153214,-0.199346,-0.161353,-0.11287,-0.25514,-0.499245,-0.296058,0.0352482,-0.360748,-0.229398,-0.109751,-0.327061,0.3731,-0.369358,0.042289,-0.254984,-0.15927,-0.316647,-0.228684,-0.265558,-0.394596,-0.210746,0.158088 --5928.97,0.604102,0.350484,2,-0.274523,0.0262046,-1.25573,-2.68986,-1.59812,-2.54486,-2.45309,-2.71589,-1.60161,-2.06157,-1.91041,-2.22465,-2.25392,-1.52982,-2.83656,-3.0082,-1.34995,-1.51178,-2.01539,-2.67949,-3.42958,-1.22872,-2.03078,-2.728,-0.296693,-0.141438,-0.316081,-0.198223,-0.217161,-0.00933368,-0.530794,-0.219222,-0.246712,-0.302223,-0.23059,-0.275814,-0.0976513,0.187124,-0.475579,-0.124265,-0.178881,-0.259868,-0.467185,-0.352494,-0.321073,-0.233927,-0.118057,0.161878 --5928.48,0.990795,0.350484,3,-0.274988,0.0138838,-2.1012,-2.45311,-1.92031,-2.40416,-2.30434,-2.44673,-1.64696,-1.91009,-2.05858,-2.21097,-2.31716,-1.51476,-3.26324,-2.8749,-1.46752,-1.58252,-2.22587,-2.87713,-3.11862,-1.29203,-2.21254,-2.93009,-0.444958,-0.46903,-0.573248,-0.139752,-0.180873,-0.00191837,-0.64186,-0.416543,-0.322932,-0.253456,-0.306345,-0.172613,-0.246236,0.241989,-0.474424,-0.282483,-0.219517,-0.431235,-0.0741421,-0.483144,-0.366933,-0.260782,0.023705,0.11783 --5925.12,0.852118,0.350484,3,-0.282426,0.0376286,-2.26378,-2.21169,-1.80742,-2.43112,-2.26516,-2.32981,-1.56726,-2.1018,-1.87375,-2.33385,-2.22978,-1.43944,-3.20681,-2.8821,-1.46137,-1.40906,-1.99276,-3.15875,-3.31649,-1.54061,-1.99874,-3.19888,-0.479314,-0.224709,-0.637708,-0.287732,-0.141384,-0.207867,-0.455405,-0.178072,-0.207813,-0.261641,-0.369911,-0.2946,-0.165482,0.346109,-0.160345,-0.143234,-0.510358,-0.334913,-0.446264,-0.311084,-0.341512,-0.183238,-0.176574,0.193981 --5925.43,0.925741,0.350484,4,-0.209273,0.0124644,-1.84852,-2.19404,-2.33795,-2.36001,-2.28576,-2.07162,-1.77951,-2.14676,-1.89681,-2.2215,-2.22617,-1.48875,-3.25086,-2.96208,-1.39726,-1.4214,-1.78006,-3.13751,-3.88603,-1.38567,-1.97879,-3.10277,-0.171908,-0.0138698,0.258639,-0.170523,-0.259488,-0.311542,-0.384389,-0.1353,-0.295747,-0.174371,-0.105835,-0.265224,-0.256427,0.153127,-0.240457,0.0285747,-0.0476045,-0.233244,-0.315588,-0.376604,-0.397849,-0.249717,-0.171407,0.111644 --5930.2,0.758464,0.350484,3,-0.234653,0.0218193,-3.50413,-1.92111,-2.06173,-2.40388,-2.62627,-2.52597,-1.71947,-2.15144,-1.85824,-2.22793,-2.37786,-1.34316,-3.0824,-2.62657,-1.25518,-1.36304,-2.1807,-3.01604,-3.17222,-1.57511,-2.07898,-2.772,-0.226239,-0.557148,-0.141658,-0.228619,-0.00123941,-0.218741,-0.371339,-0.248047,-0.45183,-0.167147,-0.482868,0.0654368,-0.425931,-0.0915466,-0.242621,-0.613059,-0.0962059,-0.161814,-0.00508759,0.0532852,-0.339619,-0.375556,-0.274748,0.147714 --5927.64,0.99684,0.350484,3,-0.304988,0.0239231,-3.48307,-1.92234,-2.2501,-2.40662,-2.49505,-2.66508,-1.80868,-2.05599,-1.70369,-2.32867,-2.3482,-1.50378,-3.06801,-2.77472,-1.34001,-1.42156,-2.36055,-2.63268,-3.72462,-1.51801,-2.12173,-2.79389,-0.183518,-0.614251,-0.339713,-0.228317,-0.0563417,-0.609987,-0.376136,-0.448078,-0.491862,-0.201325,-0.218844,-0.277861,-0.391467,-0.0909534,-0.22918,-0.628001,0.0288091,-0.272951,-0.017826,-0.180733,-0.290874,-0.295114,-0.37957,0.154671 --5915.27,0.985541,0.350484,2,-0.293951,0.00994396,-1.66709,-2.19053,-1.90282,-2.34356,-2.30914,-1.51214,-1.64105,-2.02861,-1.97496,-2.23273,-2.29882,-1.39743,-2.99697,-2.79666,-1.33153,-1.34429,-1.79271,-3.34191,-3.46644,-1.45293,-2.12359,-3.0116,-0.251681,-0.479146,-0.221252,-0.284189,-0.327663,-0.336135,-0.329856,-0.123491,-0.325698,-0.339899,-0.230522,-0.133182,-0.59376,0.0430241,-0.257842,-0.167489,-0.258068,-0.075546,-0.180992,-0.314284,-0.309448,-0.366865,-0.162227,0.0997194 --5924.03,0.805034,0.350484,3,-0.266818,0.0079631,-3.7302,-2.04704,-2.16735,-2.44786,-2.47661,-3.14679,-1.84146,-2.17114,-1.93395,-2.2912,-2.50878,-1.72119,-3.05486,-2.5867,-1.44718,-1.71018,-1.94517,-2.80396,-3.8593,-1.37861,-1.93224,-2.84168,-0.100393,-0.131293,-0.348862,-0.136563,-0.0471567,-0.168515,-0.278176,-0.25637,-0.180641,-0.169538,-0.0778873,-0.0582602,-0.266728,-0.274335,-0.212134,-0.232947,-0.217842,-0.304984,-0.174697,-0.241016,-0.580109,-0.277672,-0.321241,0.0892362 --5920.52,1,0.350484,2,-0.184493,0.00622969,-3.29902,-2.10403,-1.93361,-2.43931,-2.53614,-3.38403,-1.77676,-2.1821,-2.08661,-2.21562,-2.45871,-1.56828,-3.14346,-2.66866,-1.53579,-1.64087,-1.89652,-2.65135,-3.63863,-1.38472,-2.14004,-2.98544,-0.390596,-0.353822,-0.237156,-0.270963,-0.0765416,-0.262864,-0.336854,-0.24524,-0.150541,-0.224196,-0.148087,-0.115601,-0.164054,-0.101263,-0.340072,-0.223879,-0.175187,-0.116425,-0.256886,-0.43109,-0.493613,-0.186624,-0.179602,0.0789284 --5920.58,1,0.350484,2,-0.241539,0.0139063,-2.97884,-2.12273,-2.34708,-2.27597,-2.47691,-2.96703,-1.74778,-2.25524,-1.7439,-2.2882,-2.41921,-1.51922,-3.21471,-2.98764,-1.25166,-1.59863,-1.6935,-2.80705,-3.70427,-1.57494,-2.06202,-3.12448,-0.231371,-0.260812,-0.193987,-0.33135,-0.237983,-0.165391,-0.426882,-0.0604564,-0.146906,-0.259333,-0.0983919,-0.138689,-0.186564,-0.00532598,-0.381927,-0.236999,-0.186311,-0.236097,-0.208931,-0.230268,-0.146785,-0.116905,-0.0504259,0.117925 --5919.72,0.672584,0.350484,2,-0.192084,0.00324013,-2.80245,-2.16029,-1.80398,-2.34151,-2.15306,-2.82376,-1.78669,-2.12734,-2.15603,-2.27653,-2.36766,-1.42889,-2.98232,-2.83447,-1.37998,-1.503,-2.22193,-2.41317,-2.92955,-1.3715,-2.14172,-3.35409,-0.119746,-0.364856,-0.1656,-0.218513,-0.108746,-0.145219,-0.0811409,-0.226071,-0.234948,-0.143201,-0.174323,-0.270668,-0.238062,-0.0970951,-0.0785585,-0.146558,-0.152858,-0.169047,-0.269364,-0.290717,-0.362967,-0.172274,-0.24354,0.0569221 --5922.37,0.414324,0.350484,2,-0.147549,0.00559541,-1.97996,-2.49388,-2.56509,-2.50916,-2.71258,-1.63051,-1.66231,-2.18704,-1.88206,-2.35204,-2.23409,-1.55701,-3.29367,-2.59769,-1.55386,-1.48062,-1.80769,-3.45091,-4.11423,-1.60096,-2.17549,-2.78634,-0.145105,-0.00554136,-0.260178,-0.151796,-0.247626,-0.411434,-0.578008,-0.0659862,-0.178356,-0.252472,-0.19481,-0.0858953,-0.193195,-0.123582,-0.224243,-0.178838,-0.126298,-0.0641002,-0.0280181,-0.120701,-0.188074,-0.234769,-0.0239258,0.0748025 --5929.21,0.364264,0.350484,3,-0.163249,0.0233254,-2.04356,-2.88782,-2.23821,-2.38457,-2.28277,-2.50627,-1.6038,-2.25359,-1.85805,-2.24628,-2.15645,-1.54269,-3.17033,-2.79945,-1.62902,-1.41569,-1.81695,-3.17715,-4.54155,-1.74715,-2.22185,-3.06896,-0.197112,0.0199308,-0.321663,-0.148856,-0.115984,-0.192557,-0.573886,0.213572,-0.0508221,-0.204181,-0.191622,-0.139389,-0.171986,0.0243301,-0.197166,-0.260229,-0.0986683,-0.169923,-0.044171,-0.140877,-0.159558,-0.273623,-0.289295,0.152727 --5927.88,0.887108,0.350484,3,-0.188123,0.0148164,-2.87323,-2.69216,-2.47997,-2.42242,-2.5505,-2.47084,-1.57977,-2.39461,-2.02948,-2.27899,-2.38102,-1.38809,-2.871,-2.88687,-1.42937,-1.36196,-2.06908,-2.77664,-3.44891,-1.74108,-2.25242,-3.04315,0.284047,-0.0450467,-0.113126,-0.259257,-0.428388,-0.174587,-0.526086,0.005611,-0.297049,-0.313912,-0.307268,-0.320115,-0.0425564,0.0482205,-0.0879625,-0.0430308,-0.245489,-0.140638,-0.0680106,-0.236555,-0.263531,-0.180772,-0.157235,0.121723 --5932.01,0.72633,0.350484,3,-0.14785,0.0280643,-2.64499,-2.35851,-2.4631,-2.38155,-2.45652,-2.00143,-1.60921,-2.34386,-2.0532,-2.15886,-2.39863,-1.35366,-3.00929,-2.70454,-1.6226,-1.25687,-2.29571,-3.06177,-3.17399,-1.62112,-1.83795,-3.12193,0.117041,-0.201002,-0.235433,-0.437493,-0.0596933,-0.244224,-0.540069,0.145534,-0.278711,-0.237999,-0.126196,-0.202363,-0.144748,0.326536,-0.132274,-0.0325289,-0.0492055,-0.133574,-0.384066,-0.202716,-0.453775,-0.328357,-0.17832,0.167524 --5922.55,0.991514,0.350484,3,-0.297265,0.00561816,-1.85633,-2.10669,-1.81098,-2.56305,-2.31878,-2.32818,-1.76529,-2.08308,-1.96694,-2.22415,-2.30218,-1.57298,-3.4898,-2.49816,-1.11899,-1.59584,-1.8682,-2.73461,-4.02937,-1.44963,-2.23002,-2.96073,-0.313155,-0.248257,-0.171343,-0.226252,-0.202645,-0.22845,-0.288735,-0.353634,-0.303199,-0.224751,-0.302439,-0.19712,-0.461719,-0.0262939,-0.33122,-0.224088,-0.231554,-0.185431,-0.306339,-0.289993,-0.222012,-0.561489,-0.0954803,0.0749544 --5917.54,1,0.350484,2,-0.246126,0.0049035,-2.84453,-2.23317,-2.52441,-2.33473,-2.46887,-2.06312,-1.70661,-2.17781,-1.83392,-2.23902,-2.16977,-1.2546,-2.7891,-2.79327,-1.37373,-1.48729,-2.04453,-3.07239,-2.99412,-1.48562,-2.08991,-2.80513,-0.308978,-0.269907,-0.360319,-0.164923,-0.261207,-0.400869,-0.371811,-0.0189511,-0.327294,-0.324042,-0.279214,-0.264015,-0.00784262,-0.0466502,-0.257732,-0.193795,-0.233933,-0.312274,-0.111163,-0.214054,-0.350471,-0.174424,-0.441317,0.070025 --5926.6,0.535316,0.350484,2,-0.188052,0.0172335,-2.16376,-2.35419,-1.97429,-2.43923,-2.43719,-2.24553,-1.8089,-2.48683,-2.03579,-2.30658,-2.30477,-1.60167,-3.27449,-2.64631,-1.24429,-1.60934,-1.88217,-3.17436,-3.78137,-1.60475,-2.20906,-3.11922,-0.177124,-0.214917,-0.0649944,-0.280281,-0.0145272,-0.135678,-0.243646,0.171443,-0.209992,-0.207155,-0.367598,-0.168783,-0.64811,-0.168744,-0.268555,-0.120705,-0.293413,0.169401,-0.302553,-0.234412,-0.11634,-0.444233,-0.00350554,0.131277 --5934.19,0.67207,0.350484,3,-0.202178,0.0445768,-2.8397,-2.10972,-2.31984,-2.52806,-2.56048,-2.62435,-1.65915,-1.94672,-1.8913,-2.20361,-2.41051,-1.54924,-3.21738,-3.02682,-1.40765,-1.43453,-2.07192,-2.64706,-3.65651,-1.37128,-2.08742,-2.75927,-0.198417,-0.271902,-0.377044,-0.269143,-0.281897,-0.278816,-0.551733,-0.43387,-0.178269,-0.31956,-0.27054,-0.0173196,0.484963,0.187407,-0.141605,-0.116413,-0.0416431,-0.353051,0.187494,-0.124361,-0.720841,-0.24619,-0.350222,0.211132 --5927.85,1,0.350484,3,-0.253992,0.0211071,-2.25346,-2.50006,-1.67576,-2.40548,-2.56375,-1.71405,-1.6498,-1.9527,-1.90669,-2.15951,-2.09329,-1.58488,-3.11053,-2.96515,-1.62562,-1.59414,-1.84252,-2.64517,-3.08001,-1.34452,-1.90725,-2.72858,-0.282551,-0.258616,-0.410216,-0.169441,-0.057953,-0.0127831,-0.520342,-0.25765,-0.247078,-0.4283,-0.239627,0.0772378,-0.0564718,0.346951,-0.248013,-0.120869,-0.306847,-0.171662,0.0525646,-0.248926,-0.451698,-0.392586,-0.242433,0.145283 --5927.69,0.930409,0.350484,2,-0.291692,0.0217802,-2.36226,-2.49387,-1.71414,-2.38186,-2.57105,-1.95239,-1.69783,-2.01503,-1.9289,-2.16725,-2.18241,-1.57708,-3.03056,-2.9891,-1.57258,-1.64904,-1.83602,-2.38924,-3.07454,-1.40466,-1.98291,-2.69187,-0.282085,-0.251956,-0.454433,-0.17058,-0.0580247,-0.0653246,-0.562575,-0.277866,-0.240634,-0.372006,-0.208641,0.0924935,-0.0746795,0.305765,-0.264818,-0.18037,-0.388892,-0.162127,0.104133,-0.329829,-0.43454,-0.376064,-0.275961,0.147581 --5919.73,0.964925,0.350484,3,-0.22431,0.0161602,-2.61974,-2.19539,-1.97877,-2.35476,-2.47037,-2.22938,-1.5617,-2.14849,-2.059,-2.17142,-2.3947,-1.64793,-3.3733,-2.94332,-1.55125,-1.52619,-1.82525,-2.62027,-3.6339,-1.40054,-1.89592,-2.72847,-0.164375,-0.389677,-0.405041,-0.274816,-0.271877,-0.264846,-0.528015,-0.222987,-0.24507,-0.269878,-0.240936,-0.259056,-0.0373005,0.200358,-0.0960887,-0.308007,-0.384679,-0.383815,-0.128358,-0.148232,-0.457682,-0.337272,-0.134576,0.127123 --5921.28,0.86104,0.350484,2,-0.252347,0.0185682,-2.55547,-2.25872,-1.76785,-2.41863,-2.50009,-2.0816,-1.5727,-2.09497,-1.96348,-2.18119,-2.3911,-1.65782,-3.32915,-3.03275,-1.551,-1.47076,-1.75623,-2.88323,-3.7399,-1.45817,-1.81558,-2.73049,-0.165662,-0.330607,-0.385842,-0.261913,-0.324017,-0.172961,-0.551074,-0.223028,-0.281741,-0.25776,-0.222642,-0.274309,-0.0664493,0.191257,-0.0913485,-0.293431,-0.431256,-0.358207,-0.128138,-0.164554,-0.521672,-0.341995,-0.152284,0.136265 --5922.45,0.460259,0.350484,2,-0.23761,0.00600309,-2.65767,-2.1554,-2.36408,-2.29493,-2.11023,-2.12468,-1.627,-2.33101,-2.1644,-2.32602,-2.51131,-1.37487,-3.09991,-2.54342,-1.54021,-1.17388,-1.58281,-2.72422,-3.58718,-1.55665,-2.16669,-2.97822,-0.271083,-0.18968,-0.221554,-0.281798,-0.161062,-0.320934,-0.611391,-0.132757,-0.25312,-0.265325,-0.152028,-0.106812,-0.339101,-0.25056,-0.24934,-0.263977,-0.645191,-0.126901,-0.316122,-0.214531,-0.235549,-0.278227,-0.310637,0.0774796 --5919.53,0.872003,0.350484,3,-0.228436,0.0032482,-2.64473,-2.01058,-1.80833,-2.34625,-2.0579,-2.49458,-1.53762,-2.30068,-2.07961,-2.23928,-2.34306,-1.38075,-3.07398,-2.70837,-1.56847,-1.3715,-1.54836,-2.57816,-3.14425,-1.43127,-2.32919,-2.78754,-0.18105,-0.282734,-0.196604,-0.263417,-0.311114,-0.159318,-0.482653,-0.0983902,-0.179428,-0.342275,-0.213898,-0.333631,-0.120965,-0.144411,-0.194873,-0.208214,-0.447821,-0.30543,-0.147867,-0.217389,-0.235203,-0.225139,-0.0505467,0.056993 --5919.53,0.204996,0.350484,3,-0.228436,0.0032482,-2.64473,-2.01058,-1.80833,-2.34625,-2.0579,-2.49458,-1.53762,-2.30068,-2.07961,-2.23928,-2.34306,-1.38075,-3.07398,-2.70837,-1.56847,-1.3715,-1.54836,-2.57816,-3.14425,-1.43127,-2.32919,-2.78754,-0.18105,-0.282734,-0.196604,-0.263417,-0.311114,-0.159318,-0.482653,-0.0983902,-0.179428,-0.342275,-0.213898,-0.333631,-0.120965,-0.144411,-0.194873,-0.208214,-0.447821,-0.30543,-0.147867,-0.217389,-0.235203,-0.225139,-0.0505467,0.056993 --5921.95,0.689723,0.350484,2,-0.216953,0.00722222,-3.00649,-2.05661,-1.89778,-2.41263,-2.01476,-2.48388,-1.58766,-1.95063,-2.1444,-2.21186,-2.34271,-1.35539,-2.86471,-2.69358,-1.79601,-1.41848,-1.8335,-2.76838,-2.93046,-1.34693,-2.2894,-2.84808,-0.199918,-0.191724,-0.242727,-0.247274,-0.20721,-0.293073,-0.483056,-0.337342,-0.326589,-0.154394,-0.220921,-0.181755,-0.277106,-0.140082,-0.177594,-0.161695,-0.334648,-0.0581289,-0.370634,-0.0662679,-0.223608,-0.217262,-0.350333,0.0849836 --5916.51,1,0.350484,2,-0.22226,0.00635376,-2.03114,-1.81694,-2.47903,-2.50087,-2.38541,-2.69074,-1.61398,-2.12433,-2.06859,-2.30737,-2.34631,-1.46981,-3.2274,-2.71659,-1.5256,-1.34646,-1.94341,-2.6113,-3.05867,-1.40256,-2.17203,-3.04514,-0.260628,-0.327738,-0.22946,-0.167072,-0.228221,-0.287087,-0.477241,-0.0859481,-0.497804,-0.245178,-0.246639,-0.153663,-0.289763,-0.157466,-0.0351824,-0.208534,-0.144623,-0.424186,-0.0847783,-0.312763,-0.250399,-0.395835,-0.19684,0.0797105 --5912.9,0.604294,0.350484,2,-0.272624,0.0159413,-2.35018,-2.09806,-1.79044,-2.40598,-2.24071,-1.88226,-1.62865,-2.21208,-1.97356,-2.28598,-2.21119,-1.42442,-3.16727,-2.80325,-1.17711,-1.43631,-2.04689,-2.79642,-3.4149,-1.53556,-2.11826,-2.97501,-0.311708,-0.363949,-0.399559,-0.170451,-0.295749,-0.256372,-0.49049,-0.185163,-0.2289,-0.152227,-0.22649,-0.297325,-0.166229,0.172531,-0.352573,-0.186038,-0.260893,-0.365396,-0.424608,-0.00961356,-0.333087,-0.330676,-0.243587,0.126259 --5912.9,0.38772,0.350484,2,-0.272624,0.0159413,-2.35018,-2.09806,-1.79044,-2.40598,-2.24071,-1.88226,-1.62865,-2.21208,-1.97356,-2.28598,-2.21119,-1.42442,-3.16727,-2.80325,-1.17711,-1.43631,-2.04689,-2.79642,-3.4149,-1.53556,-2.11826,-2.97501,-0.311708,-0.363949,-0.399559,-0.170451,-0.295749,-0.256372,-0.49049,-0.185163,-0.2289,-0.152227,-0.22649,-0.297325,-0.166229,0.172531,-0.352573,-0.186038,-0.260893,-0.365396,-0.424608,-0.00961356,-0.333087,-0.330676,-0.243587,0.126259 --5926.53,0.681777,0.350484,3,-0.296174,0.0130178,-2.51596,-2.40578,-2.43192,-2.49563,-2.53009,-2.57944,-1.63678,-2.31366,-1.93571,-2.32692,-2.13153,-1.42582,-2.73644,-2.82574,-1.24901,-1.39224,-1.86948,-2.94329,-3.15088,-1.67089,-2.23796,-2.76711,-0.147249,-0.124177,-0.176498,-0.297853,-0.101105,-0.432872,-0.393647,0.133819,-0.391035,-0.33808,-0.478873,-0.134832,-0.52578,0.221371,-0.471624,-0.493466,-0.210446,-0.118371,-0.141099,-0.216809,-0.417167,-0.392727,-0.291442,0.114096 --5929.69,0.959859,0.350484,2,-0.332702,0.0401282,-1.96013,-2.26341,-2.38862,-2.3534,-2.5221,-1.80985,-1.56266,-2.31601,-2.00929,-2.17809,-2.27714,-1.39899,-2.68517,-2.65153,-1.48312,-1.26497,-1.91326,-2.83028,-3.645,-1.68146,-2.02152,-2.7754,-0.279508,-0.353665,-0.403181,-0.166616,-8.65792e-05,0.0636869,-0.602356,-0.0583527,-0.285216,-0.253975,-0.221383,-0.286626,-0.636117,-0.213348,-0.476922,-0.460321,-0.141234,-0.375338,0.178989,-0.412861,-0.360311,-0.372456,-0.348244,0.20032 --5937.13,0.919646,0.350484,3,-0.341311,0.0567414,-2.08352,-2.07113,-2.49555,-2.37953,-2.52465,-2.05841,-1.61906,-2.16726,-1.96295,-2.19709,-2.16568,-1.41723,-2.67252,-2.81212,-1.66426,-1.22152,-2.05799,-3.0125,-3.82617,-1.71699,-2.25383,-2.79709,-0.199293,-0.277916,-0.402432,-0.14318,-0.0233347,0.037635,-0.59949,-0.111628,-0.204668,-0.283672,-0.242188,-0.292866,-0.580234,-0.166673,-0.485083,-0.555939,-0.0690942,-0.415996,0.227561,-0.531436,-0.39358,-0.275684,-0.524588,0.238205 --5941.3,0.992927,0.350484,2,-0.329359,0.0340102,-2.27199,-1.98343,-3.04028,-2.41417,-2.56967,-1.97905,-1.69859,-2.16738,-1.94299,-2.19869,-2.26405,-1.39397,-2.5154,-2.76598,-1.61818,-1.15347,-2.04479,-3.06305,-3.84603,-1.56124,-2.02725,-2.79579,-0.0117028,-0.273284,-0.41775,-0.220237,0.0696994,-0.154769,-0.697962,-0.172911,-0.199722,-0.367073,-0.337733,-0.24231,-0.520573,-0.236312,-0.530593,-0.739978,-0.133302,-0.272962,0.105341,-0.63319,-0.497635,-0.360319,-0.463645,0.184419 --5938.66,1,0.350484,3,-0.250911,0.0337132,-2.77556,-2.56176,-1.32625,-2.38653,-2.40959,-2.63679,-1.59354,-1.97141,-2.18459,-2.2293,-2.37587,-1.41972,-3.02421,-2.71,-1.14828,-1.42042,-2.04258,-2.93083,-3.85436,-1.2416,-2.247,-2.85229,0.00237238,-0.303752,-0.455324,-0.252182,-0.141392,-0.0409409,-0.313672,-0.368883,-0.209867,-0.356841,-0.130875,-0.312266,-0.896517,0.166449,-0.122338,-0.471169,-0.146277,-0.150271,0.0125605,-0.104242,-0.174245,-0.623746,-0.604176,0.183611 --5928.87,1,0.350484,2,-0.223378,0.0369836,-2.54345,-2.58528,-2.00428,-2.28433,-2.37654,-1.87067,-1.67554,-2.09022,-1.98921,-2.26964,-2.2554,-1.48551,-2.85009,-2.94654,-1.43842,-1.45939,-1.94632,-2.91256,-3.69949,-1.76906,-2.16607,-2.79215,0.0615998,-0.119597,-0.571323,-0.407328,-0.234328,0.0611492,-0.554319,-0.16984,-0.00777034,-0.373319,-0.168888,-0.447193,-0.54277,0.0677167,-0.39157,-0.120517,-0.211876,-0.217649,-0.113643,-0.211057,-0.146743,-0.384195,-0.343237,0.192311 --5928.23,0.628339,0.350484,3,-0.187889,0.0271616,-2.69951,-2.39046,-2.02379,-2.41246,-2.66881,-2.12076,-1.67433,-2.23113,-1.95444,-2.25349,-2.41278,-1.36502,-2.73034,-2.7097,-1.2604,-1.43699,-1.95468,-3.04911,-3.18696,-1.49154,-2.32746,-2.72857,-0.300821,-0.00235763,-0.549622,-0.22496,0.287399,-0.737539,-0.325138,-0.0735798,-0.23321,-0.143452,-0.197016,-0.00478928,-0.213818,0.0750773,-0.209569,-0.412994,-0.175458,-0.068654,0.036842,0.0475177,-0.220536,-0.572516,-0.302295,0.164808 --5926.76,0.892605,0.350484,3,-0.354556,0.0123982,-2.61503,-1.99449,-2.46921,-2.40833,-2.08044,-2.18275,-1.61335,-2.09113,-1.77111,-2.13249,-2.30941,-1.25162,-2.79208,-2.85628,-1.40099,-1.66964,-2.06973,-3.07958,-2.9818,-1.11785,-2.12964,-2.85865,-0.202563,-0.731462,-0.196869,-0.346697,-0.531048,-0.321669,-0.42913,-0.399571,-0.4532,-0.40506,-0.390502,-0.228394,-0.338158,0.0705121,-0.410344,-0.095221,-0.187079,-0.163265,-0.383418,-0.44064,-0.666296,-0.289558,-0.467276,0.111347 --5928.83,0.982693,0.350484,3,-0.312775,0.0185059,-2.00994,-2.21349,-1.65251,-2.35918,-2.7613,-2.09366,-1.65957,-2.12147,-2.10566,-2.31671,-2.52566,-1.4069,-3.06272,-2.69041,-1.24402,-1.25434,-1.86627,-2.81191,-3.6575,-1.74911,-1.71103,-2.93118,-0.38523,-0.0701317,-0.55708,-0.339979,0.12078,-0.364242,-0.355844,-0.117246,-0.293849,-0.241952,-0.283675,-0.367916,-0.375525,-0.0692027,-0.243509,-0.412179,-0.359419,-0.37755,-0.218831,-0.243829,-1.07588,-0.349142,-0.173931,0.136036 --5923.56,0.998463,0.350484,3,-0.231417,0.0258726,-2.74915,-1.94261,-2.54124,-2.43069,-2.42506,-2.31424,-1.53855,-2.0307,-1.78567,-2.19737,-2.10939,-1.58412,-2.76943,-2.65882,-1.40133,-1.60701,-2.04628,-3.19171,-3.08468,-1.34643,-2.38448,-2.88163,-0.165369,-0.68985,-0.00243702,-0.200575,-0.0179241,-0.237879,-0.67436,-0.325721,-0.356497,-0.299588,-0.269482,-0.0684686,-0.24804,0.0693426,-0.287796,-0.112839,-0.0517217,-0.246122,-0.353353,-0.194459,-0.118259,-0.328027,-0.444931,0.16085 --5931.64,0.872837,0.350484,3,-0.294917,0.0177678,-2.66034,-2.46274,-2.66288,-2.48671,-2.21895,-1.96399,-1.52127,-1.85392,-1.90954,-2.21116,-2.11316,-1.72491,-2.48244,-2.84751,-1.33605,-1.62957,-2.16216,-3.42941,-3.32122,-1.48845,-2.13905,-2.99414,-0.272603,-0.488186,-0.0898541,-0.333393,-0.299694,-0.166787,-0.730825,-0.388678,-0.304582,-0.254455,-0.320224,-0.123906,-0.247901,-0.00309603,-0.528983,0.00849688,-0.132964,-0.203062,-0.237174,-0.157821,-0.256593,-0.431564,-0.32464,0.133296 --5935.55,1,0.350484,3,-0.20885,0.0358879,-2.17318,-1.98548,-1.5301,-2.43847,-2.73113,-2.36747,-1.89016,-2.28869,-2.01537,-2.20117,-2.44091,-1.3903,-3.33231,-3.06001,-1.26354,-1.34016,-1.81979,-2.70856,-3.78352,-1.51568,-2.05227,-2.8061,-0.147134,-0.0606463,-0.447763,-0.165257,0.201879,-0.252865,-0.245234,0.0213338,-0.259409,-0.331345,-0.0439122,0.0054465,-0.709617,0.446612,-0.104993,-0.525255,-0.0748211,0.097712,0.040635,-0.204801,-0.327453,-0.278996,-0.165752,0.189441 --5932.76,0.968581,0.350484,3,-0.171697,0.0579517,-2.4269,-2.33589,-2.53949,-2.23753,-2.49376,-1.97966,-1.65049,-2.29576,-2.12145,-2.1963,-2.36218,-1.63946,-2.49895,-2.94379,-1.51124,-1.40361,-2.24135,-3.24166,-3.35265,-1.42369,-2.05643,-3.06342,-0.290842,-0.269767,-0.386331,-0.480279,0.222549,-0.0603838,-0.364926,0.0927109,0.00188751,-0.354523,-0.266515,-0.194817,-0.233043,0.203522,-0.184253,-0.158241,-0.222925,-0.244325,-0.368127,-0.305756,-0.514403,-0.360647,-0.507241,0.240732 --5938.21,0.849283,0.350484,2,-0.238515,0.018976,-2.50453,-2.44984,-2.20561,-2.32854,-2.41025,-2.42013,-1.72648,-2.31614,-2.09786,-2.28037,-2.16316,-1.59409,-2.42342,-2.87966,-1.41302,-1.50891,-2.39036,-2.81934,-2.96914,-1.31454,-2.12861,-3.00643,-0.298913,-0.354487,-0.414733,-0.534068,0.274669,-0.0376941,-0.29665,0.241631,0.0466198,-0.396725,-0.21201,-0.198135,-0.168022,0.23088,-0.113753,-0.261198,-0.128688,-0.339034,-0.298835,-0.304257,-0.439422,-0.204895,-0.218434,0.137754 --5923.59,0.970625,0.350484,3,-0.195546,0.0300288,-2.16579,-1.95795,-2.39209,-2.54111,-2.40987,-2.00806,-1.68179,-2.03585,-1.82838,-2.34985,-2.42303,-1.45123,-3.47271,-2.97622,-1.62878,-1.35681,-1.85417,-3.08004,-3.80851,-1.70829,-2.14101,-2.97875,-0.105069,-0.213092,-0.120538,-0.061022,-0.247925,-0.471158,-0.315421,-0.33047,-0.36651,-0.303767,-0.166777,-0.165004,-0.233029,0.22621,-0.0831489,-0.0933672,-0.301347,-0.0203161,-0.00217484,-0.135638,-0.221848,-0.393424,-0.269575,0.173288 --5915.65,0.912382,0.350484,2,-0.247063,0.010214,-2.82376,-2.91679,-1.83877,-2.37901,-2.50831,-1.8406,-1.76709,-2.07608,-2.20354,-2.17018,-2.36378,-1.46607,-3.08797,-2.80426,-1.53033,-1.5804,-1.99052,-2.8633,-2.89183,-1.35276,-2.0946,-2.90762,-0.213732,-0.182841,-0.35414,-0.307853,-0.0209482,-0.26235,-0.313715,-0.151268,-0.105359,-0.217205,-0.162262,-0.227927,-0.20461,0.00518024,-0.262741,-0.331823,-0.132602,-0.270427,-0.376583,-0.281053,-0.376716,-0.175261,-0.151631,0.101064 --5920.84,0.809632,0.350484,2,-0.271007,0.0146247,-2.84294,-1.69856,-2.02099,-2.40109,-2.75235,-2.44187,-1.75222,-2.05177,-1.85305,-2.34779,-2.13774,-1.35774,-2.97997,-2.80916,-1.44807,-1.36513,-2.26949,-3.06513,-3.51146,-1.79427,-1.98699,-2.8988,-0.190321,-0.247106,-0.352134,-0.142952,-0.125794,-0.279345,-0.271885,-0.320936,-0.262362,-0.217466,-0.29809,-0.361063,-0.329984,0.0144235,-0.203561,-0.157336,0.148735,-0.119172,-0.278427,-0.181492,-0.265253,-0.484737,-0.309709,0.120933 --5927.93,0.901734,0.350484,3,-0.169818,0.0191971,-2.60626,-2.85155,-2.66835,-2.38199,-2.08131,-1.96955,-1.8146,-2.17124,-2.07133,-2.16848,-2.42093,-1.68447,-3.14762,-2.62504,-1.43655,-1.53609,-2.11909,-2.83806,-3.52827,-1.40458,-2.28282,-2.84842,0.540862,-0.070549,0.0222928,-0.29603,-0.261686,-0.157021,-0.316951,-0.0685433,-0.200684,-0.238818,-0.139367,0.0663104,-0.0236117,-0.0586432,-0.12128,-0.278188,-0.175623,-0.255507,-0.112471,-0.123336,-0.218794,-0.115989,0.015573,0.138554 --5928.01,0.955755,0.350484,3,-0.158369,0.00745167,-3.31902,-2.263,-1.552,-2.45351,-2.81479,-2.41146,-1.80697,-2.11843,-1.9689,-2.37673,-2.45423,-1.4087,-2.86316,-3.00623,-1.4645,-1.4215,-2.07588,-2.99132,-3.14914,-1.65631,-1.97887,-2.95363,-0.443061,0.0141909,-0.282938,-0.0658359,0.0460015,-0.0727446,-0.131801,-0.175542,-0.107034,-0.185452,-0.0581721,-0.220331,-0.252567,-0.0744529,-0.126215,-0.0475379,0.0354936,0.0363202,-0.103499,-0.143762,-0.284398,-0.285916,-0.238378,0.086323 --5921.61,0.947495,0.350484,3,-0.103479,0.0133887,-2.72453,-2.35144,-1.80466,-2.53231,-2.74838,-2.07425,-1.81028,-1.97385,-2.02615,-2.29293,-2.36986,-1.48075,-2.8669,-2.87365,-1.30861,-1.4391,-2.12992,-3.04517,-3.21539,-1.4891,-2.07415,-2.89721,-0.391156,0.00348707,-0.155216,-0.0599989,-0.0415603,0.16501,-0.226941,-0.175668,-0.297059,-0.0657525,-0.0655406,-0.225878,-0.132033,-0.0647419,-0.0347616,-0.122966,-0.0439657,-0.166586,-0.123685,-0.177621,-0.317675,-0.279696,-0.0216713,0.115709 --5924.98,0.575262,0.350484,2,-0.161098,0.014723,-2.23889,-2.30915,-1.85695,-2.49083,-2.47155,-2.04337,-1.81648,-1.97962,-1.88675,-2.32162,-2.47444,-1.46943,-2.72532,-2.8674,-1.14735,-1.75346,-2.23054,-2.61654,-3.37664,-1.64945,-1.99719,-3.01029,-0.0516882,-0.0765998,0.11025,-0.0916658,0.0757771,0.0377717,-0.390968,-0.207913,-0.141487,-0.123692,-0.191649,-0.311581,-0.0634463,0.00987905,-0.284031,-0.0815101,-0.0663003,-0.112388,-0.204577,-0.0699536,-0.442077,-0.157037,-0.0701013,0.121339 --5924.56,0.973022,0.350484,3,-0.330856,0.0130019,-2.67216,-2.01275,-2.34792,-2.3419,-2.35303,-2.24922,-1.75894,-2.03981,-1.79009,-2.23373,-2.32811,-1.71634,-3.35409,-2.61684,-1.60629,-1.35403,-1.82976,-3.39035,-3.5577,-1.32003,-2.45739,-2.90561,-0.430708,-0.351141,-0.511321,-0.34423,-0.402278,-0.261461,-0.504977,-0.127972,-0.580987,-0.389926,-0.269182,0.126334,-0.421907,-0.198866,-0.0963037,-0.371213,-0.341092,-0.154556,-0.275887,-0.266504,-0.281173,-0.418931,-0.248727,0.114026 --5925.17,0.967387,0.350484,2,-0.297084,0.0236825,-1.83634,-2.1053,-2.39411,-2.32926,-2.4458,-2.26584,-1.70934,-2.03032,-1.63247,-2.16347,-2.28552,-1.70622,-3.00946,-2.77388,-1.41493,-1.18567,-2.085,-3.09841,-3.50301,-1.36873,-2.22105,-2.77368,-0.344391,-0.121045,-0.276333,-0.214803,-0.149773,-0.51468,-0.239476,-0.32533,-0.559771,-0.44402,-0.258857,0.20679,-0.40088,-0.169751,-0.175228,-0.441968,-0.15531,0.0378454,-0.462164,-0.444057,-0.24307,-0.403785,-0.244311,0.153891 --5934.64,0.62214,0.350484,2,-0.327191,0.0236417,-2.29277,-2.03215,-2.46548,-2.32281,-2.51075,-2.03158,-1.75354,-2.12986,-1.51036,-2.17895,-2.29172,-1.72533,-2.77182,-2.8748,-1.14325,-1.14581,-1.81241,-2.75626,-3.39772,-1.59749,-2.14182,-2.98805,-0.249364,-0.285525,-0.321054,-0.404846,-0.196251,-0.639032,-0.316953,-0.318219,-0.468438,-0.307704,-0.240402,0.135228,-0.0386578,0.244687,-0.315647,-0.382552,0.0479523,0.0866804,-0.446077,-0.460076,-0.443102,-0.338699,-0.21305,0.153758 --5930.14,0.97038,0.350484,2,-0.291302,0.0289945,-2.10023,-1.98962,-2.68314,-2.33336,-2.42073,-2.01723,-1.70937,-2.10688,-1.65003,-2.20825,-2.26067,-1.66461,-2.98299,-2.81656,-1.20099,-1.21069,-1.79253,-2.51891,-3.26038,-1.44939,-2.28713,-3.02885,-0.442565,-0.356366,-0.556248,-0.371597,-0.0427481,-0.720619,-0.363878,-0.324595,-0.551493,-0.325124,-0.220169,0.172323,-0.0735112,0.0815654,-0.399779,-0.37052,-0.0312862,-0.0563634,-0.449005,-0.232394,-0.372404,-0.253034,-0.168085,0.170278 --5921.23,0.865279,0.350484,3,-0.245994,0.00849612,-2.88531,-2.44457,-1.42085,-2.40397,-2.46738,-2.03516,-1.71921,-2.01638,-2.13243,-2.27642,-2.41941,-1.6362,-3.16726,-2.80803,-1.26135,-1.53822,-2.42,-3.54698,-3.38392,-1.45751,-2.09039,-2.6916,-0.110124,-0.223583,-0.526824,-0.237465,-0.222501,-0.195788,-0.403953,-0.237749,-0.27186,-0.219141,-0.19149,-0.035605,-0.311815,-0.228614,-0.28168,-0.377079,-0.183567,-0.289334,-0.147156,-0.286725,-0.331728,-0.479506,-0.524378,0.0921744 --5918.39,0.859624,0.350484,2,-0.227726,0.0142787,-3.14132,-2.2736,-1.95037,-2.51326,-2.5259,-2.17968,-1.77653,-2.13685,-2.08234,-2.26386,-2.57111,-1.48315,-3.43662,-2.69965,-1.41443,-1.45391,-2.18539,-3.19064,-3.43724,-1.38782,-2.19487,-2.95385,-0.12923,-0.20009,-0.427384,-0.24457,-0.00871039,-0.0730931,-0.277739,-0.0884008,-0.240716,-0.312705,-0.0804335,-0.0109501,-0.223359,-0.210285,-0.201448,-0.234485,-0.129268,-0.167634,-0.285605,-0.135104,-0.257971,-0.63484,-0.217322,0.119493 --5919.41,0.701442,0.350484,2,-0.187649,0.0109551,-3.07455,-2.30068,-2.03205,-2.58125,-2.52048,-2.27051,-1.72511,-2.1527,-2.04967,-2.25496,-2.55164,-1.40663,-3.27746,-2.58743,-1.35324,-1.47251,-2.191,-3.16132,-3.493,-1.34772,-2.28366,-2.96946,-0.109719,-0.158424,-0.40687,-0.261858,-0.157257,-0.0519064,-0.335362,-0.145793,-0.308035,-0.318871,-0.110765,-0.00914519,-0.193494,-0.106979,-0.185142,-0.245494,-0.099851,-0.231427,-0.254753,-0.160322,-0.340748,-0.626787,-0.153547,0.104667 --5916.14,0.915078,0.350484,3,-0.278731,0.00388085,-1.71724,-2.18964,-2.28621,-2.30134,-2.38117,-2.0162,-1.72051,-2.04612,-1.99675,-2.22632,-2.11429,-1.48791,-2.73396,-2.75974,-1.2672,-1.49346,-1.73387,-2.68184,-3.24825,-1.63531,-2.04582,-3.0459,-0.0549491,-0.494905,-0.154447,-0.269637,-0.368084,-0.198948,-0.358487,-0.225438,-0.347782,-0.236489,-0.351049,-0.265313,-0.325027,-0.102693,-0.197581,-0.229956,-0.245983,-0.313321,-0.0911926,-0.226079,-0.339708,-0.442369,-0.194018,0.0622964 --5926.01,0.939982,0.350484,2,-0.33889,0.0104086,-2.72678,-1.61223,-2.29402,-2.35611,-2.12343,-1.62055,-1.80726,-2.22475,-1.91703,-2.28983,-2.33952,-1.34402,-3.16189,-2.68718,-1.33248,-1.43939,-2.04359,-2.86086,-3.40516,-1.66731,-2.14966,-2.9305,-0.576559,-0.184015,-0.450212,-0.348268,-0.175203,-0.40595,-0.258493,-0.270383,-0.21883,-0.34403,-0.236894,-0.268559,-0.247249,-0.282923,-0.416476,-0.345464,-0.342109,-0.368646,-0.493178,-0.235182,-0.286564,-0.043356,-0.32668,0.102023 --5923.22,0.51236,0.350484,2,-0.268132,0.0100929,-3.19301,-1.79973,-2.4141,-2.32755,-2.32626,-1.66597,-1.85021,-2.25999,-1.92023,-2.26938,-2.28271,-1.31238,-3.29088,-2.68946,-1.37898,-1.46468,-2.09048,-2.60755,-2.96513,-1.67851,-2.11434,-3.02291,-0.551019,-0.197552,-0.29936,-0.332287,-0.264101,-0.434402,-0.183687,-0.250685,-0.288134,-0.344305,-0.182483,-0.284286,-0.163388,-0.250314,-0.378166,-0.308433,-0.449076,-0.361264,-0.382467,-0.207515,-0.275742,-0.178618,-0.401735,0.100464 --5912.32,0.213352,0.350484,2,-0.318062,0.00455588,-2.35055,-1.85951,-2.17793,-2.30901,-2.14672,-1.72598,-1.77206,-2.02274,-1.91299,-2.32239,-2.42434,-1.46383,-3.23552,-2.62336,-1.13733,-1.30022,-2.26534,-2.91172,-2.99478,-1.65899,-2.10695,-2.89989,-0.125606,-0.372254,-0.481961,-0.311392,-0.295213,-0.368716,-0.428957,-0.241453,-0.282064,-0.276865,-0.0947446,-0.295795,-0.323767,-0.182699,-0.290939,-0.278375,-0.284753,-0.297567,-0.323453,-0.155432,-0.267845,-0.277842,-0.320513,0.0674972 --5911.29,1,0.350484,2,-0.235075,0.00281356,-2.52376,-2.27262,-1.88924,-2.43318,-2.21861,-2.26626,-1.67436,-2.32793,-2.00876,-2.18563,-2.18794,-1.33982,-2.77258,-2.65641,-1.59679,-1.47429,-2.14668,-2.91224,-3.29457,-1.45374,-2.42314,-2.85069,-0.27316,-0.214884,-0.670446,-0.216868,-0.238168,-0.155003,-0.182403,-0.232849,-0.241944,-0.295221,-0.330101,-0.214815,-0.205337,-0.258233,-0.233194,-0.253287,-0.147789,-0.168168,-0.217845,-0.319463,-0.268044,-0.390692,-0.190462,0.053043 --5907.77,0.471147,0.350484,2,-0.247921,0.00207187,-2.58133,-2.1385,-2.2291,-2.32961,-2.08126,-2.1558,-1.63927,-2.23771,-2.07973,-2.18328,-2.18752,-1.30487,-2.76009,-2.59508,-1.49628,-1.41841,-1.86324,-2.89573,-3.31009,-1.4597,-2.19116,-2.92697,-0.320669,-0.26132,-0.723614,-0.277136,-0.254967,-0.15916,-0.336692,-0.257531,-0.171062,-0.223489,-0.253337,-0.204028,-0.24731,-0.180875,-0.268697,-0.215776,-0.234237,-0.153627,-0.25455,-0.198018,-0.212692,-0.195232,-0.247497,0.0455178 --5908.83,4.0336e-46,0.350484,2,-0.223049,0.00441909,-2.63436,-2.11502,-2.22296,-2.32559,-2.15391,-1.85304,-1.60945,-2.16922,-2.07834,-2.19997,-2.20054,-1.33259,-2.63839,-2.61954,-1.53826,-1.41233,-1.78726,-2.82757,-3.25027,-1.45919,-2.09959,-3.03867,-0.27815,-0.240019,-0.693578,-0.26864,-0.208754,-0.178863,-0.343464,-0.183889,-0.210036,-0.22033,-0.268909,-0.267643,-0.223218,-0.212972,-0.255421,-0.12891,-0.198173,-0.139764,-0.272784,-0.199816,-0.213872,-0.210664,-0.252913,0.0664762 --5914.02,0.392405,0.350484,3,-0.23627,0.0051056,-3.10464,-2.30843,-2.10434,-2.45921,-2.76118,-2.03458,-1.76174,-2.06724,-1.90607,-2.21961,-2.36175,-1.38742,-2.99797,-2.69133,-1.52024,-1.93476,-2.28704,-2.99963,-3.02815,-1.46722,-2.03152,-2.98771,-0.193521,-0.279207,-0.773328,-0.272416,-0.201733,-0.302399,-0.375021,-0.270755,-0.276769,-0.312342,-0.222188,-0.225095,-0.31798,-0.223911,-0.211789,-0.256143,-0.257935,-0.270186,-0.222861,-0.186721,-0.354971,-0.28102,-0.247862,0.0714535 --5914.02,0.301615,0.350484,3,-0.23627,0.0051056,-3.10464,-2.30843,-2.10434,-2.45921,-2.76118,-2.03458,-1.76174,-2.06724,-1.90607,-2.21961,-2.36175,-1.38742,-2.99797,-2.69133,-1.52024,-1.93476,-2.28704,-2.99963,-3.02815,-1.46722,-2.03152,-2.98771,-0.193521,-0.279207,-0.773328,-0.272416,-0.201733,-0.302399,-0.375021,-0.270755,-0.276769,-0.312342,-0.222188,-0.225095,-0.31798,-0.223911,-0.211789,-0.256143,-0.257935,-0.270186,-0.222861,-0.186721,-0.354971,-0.28102,-0.247862,0.0714535 --5914.28,0.877875,0.350484,2,-0.242225,0.00540289,-2.57115,-2.41953,-1.88746,-2.35859,-2.63091,-1.84804,-1.68086,-2.03225,-2.0726,-2.29537,-2.29091,-1.14152,-2.77776,-2.71198,-1.56896,-1.32872,-2.26318,-2.62882,-3.3679,-1.2319,-2.04448,-2.88963,-0.337293,-0.290574,-0.558403,-0.242914,-0.202797,-0.322239,-0.247461,-0.237529,-0.245264,-0.24185,-0.232181,-0.346013,-0.204167,-0.25141,-0.31345,-0.170724,-0.122057,-0.326253,-0.26116,-0.37432,-0.219995,-0.239056,-0.245968,0.0735044 --5914.28,0.439944,0.350484,2,-0.242225,0.00540289,-2.57115,-2.41953,-1.88746,-2.35859,-2.63091,-1.84804,-1.68086,-2.03225,-2.0726,-2.29537,-2.29091,-1.14152,-2.77776,-2.71198,-1.56896,-1.32872,-2.26318,-2.62882,-3.3679,-1.2319,-2.04448,-2.88963,-0.337293,-0.290574,-0.558403,-0.242914,-0.202797,-0.322239,-0.247461,-0.237529,-0.245264,-0.24185,-0.232181,-0.346013,-0.204167,-0.25141,-0.31345,-0.170724,-0.122057,-0.326253,-0.26116,-0.37432,-0.219995,-0.239056,-0.245968,0.0735044 --5917.78,0.679148,0.350484,2,-0.194495,0.0111901,-2.76563,-2.39955,-1.96785,-2.59587,-2.48569,-2.1744,-1.81316,-2.29325,-2.07123,-2.33027,-2.27222,-1.66666,-3.16122,-2.74193,-1.15983,-1.50833,-1.94621,-3.03245,-2.94522,-1.41963,-2.33647,-2.92945,-0.109464,-0.272806,0.0280412,-0.180674,-0.212221,-0.309219,-0.395379,-0.156902,-0.210971,-0.219613,-0.294845,-0.137419,-0.330717,-0.0867505,-0.206686,-0.378679,-0.0972881,-0.124314,-0.185896,-0.207133,-0.334498,-0.352302,-0.210422,0.105783 --5918.71,0.783211,0.350484,3,-0.261616,0.00704256,-2.00861,-1.77976,-1.82892,-2.27366,-2.35615,-2.35205,-1.55364,-2.05211,-1.97749,-2.2838,-2.43434,-1.42217,-3.15824,-2.72454,-1.50936,-1.21666,-1.91662,-2.86765,-3.60657,-1.39146,-1.91732,-3.06224,-0.353358,-0.269958,-0.569732,-0.24913,-0.215885,-0.161283,-0.326486,-0.204085,-0.285291,-0.14817,-0.106272,-0.125796,-0.214959,-0.146714,-0.27205,-0.34631,-0.331336,-0.31048,-0.281457,-0.308083,-0.269111,-0.198303,-0.478029,0.08392 --5918.71,0.999353,0.350484,2,-0.261616,0.00704256,-2.00861,-1.77976,-1.82892,-2.27366,-2.35615,-2.35205,-1.55364,-2.05211,-1.97749,-2.2838,-2.43434,-1.42217,-3.15824,-2.72454,-1.50936,-1.21666,-1.91662,-2.86765,-3.60657,-1.39146,-1.91732,-3.06224,-0.353358,-0.269958,-0.569732,-0.24913,-0.215885,-0.161283,-0.326486,-0.204085,-0.285291,-0.14817,-0.106272,-0.125796,-0.214959,-0.146714,-0.27205,-0.34631,-0.331336,-0.31048,-0.281457,-0.308083,-0.269111,-0.198303,-0.478029,0.08392 --5912.16,0.951189,0.350484,2,-0.239525,0.00887336,-1.75991,-2.03934,-1.60301,-2.36594,-2.43429,-1.52074,-1.61693,-2.05989,-1.87263,-2.29958,-2.46674,-1.50007,-3.39897,-2.78178,-1.35742,-1.45636,-1.94249,-2.89055,-3.81316,-1.54035,-2.12061,-2.95703,-0.223821,-0.224919,-0.409547,-0.315351,-0.149016,-0.327059,-0.467935,-0.281133,-0.210052,-0.293302,-0.224481,-0.27892,-0.177266,-0.125968,-0.27352,-0.319352,-0.109859,-0.128531,-0.0284876,-0.2585,-0.223374,-0.246686,-0.240304,0.0941985 --5911.36,0.317248,0.350484,3,-0.191547,0.0067569,-2.94974,-2.37633,-2.55702,-2.47326,-2.36203,-2.83862,-1.68013,-2.25637,-2.08917,-2.3089,-2.30466,-1.47094,-2.57645,-2.77795,-1.41022,-1.63885,-2.01728,-2.80429,-3.22381,-1.50304,-2.13326,-2.88493,-0.223365,-0.1967,-0.182617,-0.227343,-0.17528,-0.278558,-0.332019,-0.229732,-0.170147,-0.298176,-0.305047,-0.124324,-0.174305,-0.216495,-0.279955,-0.258386,-0.0867947,-0.0947015,-0.0258027,-0.23939,-0.214403,-0.227948,-0.091677,0.0822004 --5917.69,0.726196,0.350484,3,-0.195463,0.0109708,-1.83912,-2.21072,-1.79955,-2.39961,-2.49401,-1.73583,-1.61417,-2.01995,-1.86554,-2.28058,-2.42151,-1.58914,-3.33861,-2.70717,-1.20558,-1.37131,-1.9073,-3.02599,-3.9999,-1.52896,-2.23089,-3.04434,-0.100417,-0.0640568,-0.101032,-0.219344,0.0519135,-0.279251,-0.497037,-0.0886902,-0.32117,-0.20088,-0.168904,-0.00677548,-0.100841,-0.129537,-0.224933,-0.0871527,-0.335935,-0.259647,-0.255943,-0.123507,-0.173535,-0.154979,-0.286429,0.104742 --5906.44,0.971967,0.350484,3,-0.231302,0.00196496,-3.02439,-2.22668,-2.39568,-2.38857,-2.32799,-3.02194,-1.88877,-2.11717,-2.15338,-2.21868,-2.21938,-1.30567,-2.76002,-2.63457,-1.50868,-1.63244,-2.37396,-2.81377,-3.08851,-1.47762,-2.10804,-2.86269,-0.260299,-0.219765,-0.0710002,-0.262552,-0.140002,-0.193648,-0.263463,-0.1742,-0.293525,-0.217408,-0.240983,-0.193318,-0.222509,-0.172455,-0.247994,-0.210404,-0.211377,-0.312516,-0.313772,-0.227826,-0.276516,-0.223832,-0.326103,0.0443279 --5906.44,1.46196e-07,0.350484,2,-0.231302,0.00196496,-3.02439,-2.22668,-2.39568,-2.38857,-2.32799,-3.02194,-1.88877,-2.11717,-2.15338,-2.21868,-2.21938,-1.30567,-2.76002,-2.63457,-1.50868,-1.63244,-2.37396,-2.81377,-3.08851,-1.47762,-2.10804,-2.86269,-0.260299,-0.219765,-0.0710002,-0.262552,-0.140002,-0.193648,-0.263463,-0.1742,-0.293525,-0.217408,-0.240983,-0.193318,-0.222509,-0.172455,-0.247994,-0.210404,-0.211377,-0.312516,-0.313772,-0.227826,-0.276516,-0.223832,-0.326103,0.0443279 --5906.44,0.0832147,0.350484,1,-0.231302,0.00196496,-3.02439,-2.22668,-2.39568,-2.38857,-2.32799,-3.02194,-1.88877,-2.11717,-2.15338,-2.21868,-2.21938,-1.30567,-2.76002,-2.63457,-1.50868,-1.63244,-2.37396,-2.81377,-3.08851,-1.47762,-2.10804,-2.86269,-0.260299,-0.219765,-0.0710002,-0.262552,-0.140002,-0.193648,-0.263463,-0.1742,-0.293525,-0.217408,-0.240983,-0.193318,-0.222509,-0.172455,-0.247994,-0.210404,-0.211377,-0.312516,-0.313772,-0.227826,-0.276516,-0.223832,-0.326103,0.0443279 --5906.44,0.023956,0.350484,2,-0.231302,0.00196496,-3.02439,-2.22668,-2.39568,-2.38857,-2.32799,-3.02194,-1.88877,-2.11717,-2.15338,-2.21868,-2.21938,-1.30567,-2.76002,-2.63457,-1.50868,-1.63244,-2.37396,-2.81377,-3.08851,-1.47762,-2.10804,-2.86269,-0.260299,-0.219765,-0.0710002,-0.262552,-0.140002,-0.193648,-0.263463,-0.1742,-0.293525,-0.217408,-0.240983,-0.193318,-0.222509,-0.172455,-0.247994,-0.210404,-0.211377,-0.312516,-0.313772,-0.227826,-0.276516,-0.223832,-0.326103,0.0443279 --5909.93,3.51826e-27,0.350484,3,-0.230059,0.00230834,-3.13328,-2.15456,-2.26331,-2.39698,-2.41183,-2.90931,-1.90777,-2.13495,-2.25663,-2.22978,-2.23363,-1.32005,-2.8641,-2.70259,-1.55699,-1.59564,-2.32426,-2.93505,-3.08833,-1.47272,-2.07907,-2.85328,-0.182316,-0.249707,-0.0913454,-0.263193,-0.0825236,-0.198058,-0.216571,-0.199839,-0.309829,-0.197148,-0.247308,-0.211314,-0.194034,-0.230576,-0.162138,-0.166443,-0.165496,-0.326663,-0.261972,-0.237214,-0.306013,-0.206144,-0.343756,0.0480452 --5923.08,0.444547,0.350484,2,-0.172638,0.0123649,-2.26693,-1.9034,-1.62569,-2.35323,-2.571,-1.7672,-1.64983,-2.1893,-1.75817,-2.3217,-2.27784,-1.69572,-2.54896,-2.55328,-1.52103,-1.59607,-1.84686,-2.71431,-3.72832,-1.33124,-2.0993,-2.95445,-0.210136,-0.233035,-0.607488,-0.27909,-0.141613,-0.0980593,-0.308852,-0.123548,-0.15092,-0.234553,-0.209688,-0.0860275,-0.535036,-0.119069,-0.204021,-0.164321,-0.150121,0.0204093,-0.0534204,-0.187831,-0.196309,-0.310913,0.0133255,0.111198 --5929.37,0.974662,0.350484,2,-0.277141,0.0255389,-3.41084,-2.50565,-2.30615,-2.54897,-2.50133,-2.56471,-1.80185,-1.99775,-2.15109,-2.20295,-2.59048,-1.34847,-3.57067,-2.88028,-1.0883,-1.36974,-2.25971,-2.97587,-3.74635,-1.47886,-2.2074,-2.90523,-0.257051,-0.432391,-0.282549,-0.189175,-0.161748,-0.366944,-0.264293,-0.233376,-0.312113,-0.2813,-0.0400812,-0.260783,0.0972819,0.0166293,-0.2499,-0.212856,-0.195857,-0.406338,-0.357013,-0.306383,-0.287164,-0.244959,-0.466098,0.159809 --5932.56,0.984843,0.350484,3,-0.241589,0.0494507,-1.5874,-1.77168,-1.85758,-2.44494,-2.5354,-1.63734,-1.66385,-2.31389,-1.8295,-2.30214,-2.07309,-1.48043,-2.6796,-2.54102,-1.58773,-1.46191,-2.00541,-2.96732,-3.12661,-1.55096,-1.98808,-2.76062,-0.259019,-0.137392,-0.327554,-0.0790305,-0.0397507,-0.261104,-0.396174,-0.133808,-0.199131,-0.267749,-0.490296,-0.185023,-0.556779,-0.154062,-0.271995,-0.361069,0.00487777,-0.0267091,-0.124449,-0.148108,-0.517184,-0.658271,0.244985,0.222375 --5924.51,0.983912,0.350484,2,-0.175971,0.00996533,-2.05053,-1.97743,-2.07622,-2.46888,-2.58118,-2.10173,-1.61596,-2.15759,-1.78122,-2.20909,-2.12627,-1.46322,-2.89598,-2.69889,-1.5137,-1.38469,-2.10955,-2.97955,-3.60635,-1.57559,-2.20304,-2.91743,-0.00421567,-0.198821,-0.272803,-0.288096,-0.216324,-0.244263,-0.450434,-0.171499,-0.329106,-0.352275,-0.474111,-0.102466,-0.616437,-0.128752,-0.151091,-0.350509,0.0645758,-0.20762,-0.281098,-0.274132,-0.363591,-0.676753,-0.137348,0.0998265 --5926.37,1,0.350484,3,-0.33938,0.0283436,-3.05714,-2.31299,-2.21373,-2.30435,-2.49355,-2.39727,-1.68708,-2.0212,-1.83505,-2.25132,-2.08683,-1.30105,-3.01293,-2.57471,-1.47436,-1.48168,-2.13095,-2.91585,-3.83204,-1.38602,-1.96048,-2.80708,-0.258103,-0.160976,-0.229892,-0.228504,0.0815959,-0.575192,-0.455638,-0.300757,-0.275883,-0.265332,-0.571522,-0.354336,-0.241185,-0.157653,-0.192617,-0.179953,-0.0148237,-0.223594,-0.0944714,-0.0635674,-0.230588,-0.482836,-0.374321,0.168355 --5922.36,0.78177,0.350484,3,-0.388304,0.0327673,-1.65584,-1.82125,-1.98518,-2.36718,-2.57557,-1.72746,-1.62986,-2.158,-2.08685,-2.31908,-2.27455,-1.55198,-2.98766,-3.02872,-1.26712,-1.48885,-1.86098,-3.14579,-3.11413,-1.62758,-2.07617,-2.77962,-0.45539,-0.764838,-0.454771,-0.234179,-0.110722,-0.317745,-0.521294,-0.272527,-0.281978,-0.346323,-0.162711,-0.0783238,-0.322211,0.215381,-0.315637,-0.271629,-0.295432,-0.090997,-0.32262,-0.394544,-0.501306,-0.52961,-0.321135,0.181017 --5915.33,0.268383,0.350484,2,-0.283917,0.00984024,-2.54844,-2.09534,-2.44124,-2.42152,-2.57177,-2.54806,-1.64457,-2.00341,-1.94202,-2.13995,-2.34462,-1.31652,-2.9154,-2.61935,-1.41889,-1.34308,-1.82066,-3.25302,-3.15113,-1.41812,-1.98643,-2.91802,-0.521701,-0.503309,-0.377862,-0.299086,-0.151573,-0.320512,-0.452134,-0.241374,-0.491746,-0.304957,-0.325067,-0.295466,-0.411328,-0.120956,-0.32321,-0.381769,-0.385041,-0.321247,-0.404943,-0.146692,-0.414143,-0.349451,-0.33247,0.099198 --5911.04,0.800518,0.350484,2,-0.237115,0.00730331,-2.32687,-2.03887,-2.27075,-2.27501,-2.46603,-1.68078,-1.74,-1.94,-2.16454,-2.33469,-2.19103,-1.67126,-3.04216,-2.82686,-1.34083,-1.48156,-2.09413,-3.37106,-3.45399,-1.4201,-2.14999,-2.94697,-0.169319,-0.198252,-0.303607,-0.364434,-0.21852,-0.337212,-0.321353,-0.437174,-0.301644,-0.297475,-0.28815,-0.218856,-0.268994,-0.205478,-0.263846,-0.273492,-0.19698,-0.259065,-0.158544,-0.336121,-0.32984,-0.337719,-0.336214,0.0854594 --5905.29,0.545832,0.350484,2,-0.259205,0.00423952,-2.42751,-1.98499,-2.16896,-2.27689,-2.40723,-1.66581,-1.71786,-1.93702,-2.1801,-2.30083,-2.26946,-1.64056,-3.05488,-2.76556,-1.34604,-1.36894,-2.11087,-3.23144,-3.42671,-1.42331,-2.11884,-3.0195,-0.26059,-0.191802,-0.248133,-0.397344,-0.169587,-0.338945,-0.284434,-0.421562,-0.294098,-0.270404,-0.248363,-0.221072,-0.197328,-0.102045,-0.202992,-0.245002,-0.253733,-0.288031,-0.119135,-0.286562,-0.255406,-0.30473,-0.249847,0.0651116 --5905.29,0.00371825,0.350484,2,-0.259205,0.00423952,-2.42751,-1.98499,-2.16896,-2.27689,-2.40723,-1.66581,-1.71786,-1.93702,-2.1801,-2.30083,-2.26946,-1.64056,-3.05488,-2.76556,-1.34604,-1.36894,-2.11087,-3.23144,-3.42671,-1.42331,-2.11884,-3.0195,-0.26059,-0.191802,-0.248133,-0.397344,-0.169587,-0.338945,-0.284434,-0.421562,-0.294098,-0.270404,-0.248363,-0.221072,-0.197328,-0.102045,-0.202992,-0.245002,-0.253733,-0.288031,-0.119135,-0.286562,-0.255406,-0.30473,-0.249847,0.0651116 --5905.29,0.321602,0.350484,2,-0.259205,0.00423952,-2.42751,-1.98499,-2.16896,-2.27689,-2.40723,-1.66581,-1.71786,-1.93702,-2.1801,-2.30083,-2.26946,-1.64056,-3.05488,-2.76556,-1.34604,-1.36894,-2.11087,-3.23144,-3.42671,-1.42331,-2.11884,-3.0195,-0.26059,-0.191802,-0.248133,-0.397344,-0.169587,-0.338945,-0.284434,-0.421562,-0.294098,-0.270404,-0.248363,-0.221072,-0.197328,-0.102045,-0.202992,-0.245002,-0.253733,-0.288031,-0.119135,-0.286562,-0.255406,-0.30473,-0.249847,0.0651116 --5906.7,1.41174e-05,0.350484,2,-0.27524,0.00592667,-2.82338,-2.37784,-1.5791,-2.38182,-2.44611,-2.52429,-1.75855,-2.17764,-2.08327,-2.2255,-2.27326,-1.18837,-2.90874,-2.70402,-1.26968,-1.61269,-1.81797,-3.2356,-3.59699,-1.54017,-2.10123,-2.7097,-0.328337,-0.299028,-0.250177,-0.182565,-0.162044,-0.254107,-0.326926,-0.0880171,-0.214899,-0.292338,-0.285622,-0.24585,-0.376804,-0.276863,-0.331811,-0.27761,-0.290418,-0.282782,-0.343221,-0.249214,-0.235101,-0.32403,-0.270049,0.0769849 --5914.98,0.0217788,0.350484,2,-0.240045,0.00241709,-2.32561,-2.04888,-1.42721,-2.54388,-2.76443,-2.49714,-1.8086,-2.03751,-2.09115,-2.2381,-2.2423,-1.11333,-3.02238,-2.65619,-1.05568,-1.66788,-1.85099,-2.96813,-3.62167,-1.40281,-2.19212,-2.81278,-0.200786,-0.250244,-0.388796,-0.0595914,-0.273787,-0.269921,-0.201821,-0.304437,-0.29812,-0.330256,-0.265974,-0.3108,-0.258657,-0.153318,-0.298087,-0.1765,-0.220451,-0.202008,-0.190646,-0.270299,-0.311251,-0.31513,-0.274774,0.0491639 --5917.88,0.346005,0.350484,2,-0.268945,0.00179045,-2.20372,-2.0482,-1.54433,-2.5564,-2.75948,-2.37177,-1.76558,-2.13362,-2.10827,-2.21483,-2.25535,-1.05499,-3.01765,-2.72044,-1.05873,-1.61397,-1.66509,-3.13317,-3.81008,-1.40779,-2.17045,-2.82376,-0.207796,-0.383366,-0.374099,-0.054901,-0.23194,-0.253277,-0.226246,-0.300738,-0.168133,-0.349727,-0.24957,-0.299294,-0.211143,-0.277215,-0.227003,-0.234685,-0.217981,-0.223334,-0.232745,-0.284273,-0.310376,-0.279472,-0.303458,0.0423138 --5921.92,0.000131431,0.350484,2,-0.253891,0.00157746,-2.20915,-2.08404,-1.61074,-2.57172,-2.66625,-2.19244,-1.78437,-2.16064,-2.11571,-2.19537,-2.23219,-1.06337,-2.97176,-2.75237,-1.07733,-1.54431,-1.59485,-3.33411,-3.7181,-1.36641,-2.11377,-2.83354,-0.124011,-0.353632,-0.452733,-0.0504916,-0.244618,-0.177051,-0.227474,-0.30199,-0.186658,-0.304929,-0.211757,-0.278218,-0.297972,-0.228206,-0.237096,-0.235741,-0.173278,-0.247242,-0.281614,-0.278521,-0.225448,-0.21955,-0.2969,0.0397173 --5915.49,2.09596e-07,0.350484,2,-0.231115,0.010728,-2.32849,-2.24797,-2.11132,-2.56602,-2.37465,-2.15775,-1.97035,-2.14278,-2.09695,-2.25158,-2.24235,-1.43711,-3.06697,-2.79665,-1.37309,-1.34206,-1.90405,-2.83639,-3.8918,-1.30844,-2.15409,-2.91356,-0.367596,-0.1076,-0.173361,-0.160959,-0.158391,-0.333456,-0.251145,-0.0144679,-0.308647,-0.202355,-0.358285,-0.21676,-0.163931,-0.0778344,-0.277453,-0.225779,-0.371444,-0.174853,-0.149989,-0.176827,-0.284037,-0.30749,-0.188557,0.103576 --5920.28,0.0738622,0.350484,3,-0.206333,0.00871746,-2.13394,-2.24015,-2.164,-2.60531,-2.28327,-2.437,-1.93931,-2.12846,-2.19231,-2.2454,-2.16827,-1.46671,-3.08776,-2.75325,-1.38443,-1.31862,-1.87213,-2.83451,-3.84609,-1.27455,-2.15881,-2.85588,-0.343041,-0.156619,-0.182225,-0.110981,-0.183213,-0.333259,-0.245851,0.0185351,-0.273187,-0.181626,-0.351955,-0.154227,-0.209982,0.0100954,-0.2823,-0.24965,-0.393809,-0.0704974,-0.0905711,-0.191264,-0.373546,-0.352693,-0.201339,0.0933673 --5921.99,0.856326,0.350484,2,-0.193887,0.0165916,-2.85939,-2.15442,-1.64216,-2.33133,-2.40924,-2.04497,-1.71389,-2.12349,-2.16258,-2.34512,-2.3793,-1.52618,-3.00451,-2.83965,-1.3299,-1.54997,-1.88427,-2.86374,-3.34143,-1.44262,-2.05892,-2.98385,0.0407253,-0.511689,-0.293679,-0.16421,-0.119829,-0.091645,-0.247065,-0.396726,-0.156828,-0.252294,-0.16404,-0.0892326,-0.0695295,-0.0647242,-0.109038,-0.452327,-0.153498,-0.197502,-0.335673,-0.434857,-0.276181,-0.262709,-0.235219,0.128808 --5923.66,0.949636,0.350484,2,-0.221224,0.00770871,-1.87652,-2.83464,-2.28982,-2.5099,-2.50836,-2.23309,-1.75599,-2.12342,-1.82315,-2.21161,-2.29721,-1.65078,-3.40922,-2.9713,-1.51072,-1.22265,-2.1417,-2.99389,-3.13157,-1.23225,-2.15411,-3.07727,-0.227396,0.0683473,-0.186293,-0.24189,-0.200836,-0.309706,-0.356702,-0.061549,-0.281275,-0.193346,-0.31697,-0.087275,-0.215513,0.377123,-0.421541,-0.241097,-0.201811,-0.194607,-0.0930876,-0.371305,-0.279666,-0.215374,-0.193126,0.0877993 --5921.36,0.664758,0.350484,2,-0.214991,0.0117481,-2.32766,-2.69963,-1.98884,-2.53365,-2.60656,-1.75781,-1.63582,-2.26286,-2.26733,-2.34959,-2.34512,-1.61566,-3.13424,-2.91284,-1.17024,-1.4393,-2.03804,-3.24839,-3.47449,-1.3521,-2.06508,-3.14859,-0.244384,-0.0934109,-0.205116,-0.087652,-0.0181483,-0.26448,-0.334495,-0.147257,-0.156623,-0.235665,-0.241744,-0.224949,-0.184986,0.271992,-0.0264475,-0.246905,-0.137087,-0.386844,-0.163951,-0.189884,-0.278574,-0.246986,-0.333332,0.108388 --5918.21,0.904414,0.350484,2,-0.166738,0.00934194,-2.05148,-2.38262,-2.05851,-2.46336,-2.51059,-2.52441,-1.66022,-2.10199,-2.07454,-2.23041,-2.32904,-1.19338,-2.70404,-2.84391,-1.70461,-1.44142,-2.37021,-2.59215,-3.54058,-1.61071,-2.40129,-2.85178,-0.152918,-0.233117,-0.0955895,-0.204916,-0.232869,-0.131952,-0.447128,-0.203427,-0.106884,-0.230072,-0.228844,-0.206664,-0.497052,-0.165046,-0.0634997,-0.113574,-0.144604,-0.0202642,-0.263559,-0.202034,-0.154273,-0.276726,-0.265439,0.0966537 --5916.82,0.675176,0.350484,2,-0.201372,0.0109814,-2.88711,-2.12656,-2.11098,-2.34069,-2.3054,-2.57503,-1.67842,-1.96248,-1.8933,-2.33741,-2.34301,-1.51109,-2.71809,-2.96392,-1.51388,-1.20832,-1.94386,-3.18992,-3.65828,-1.42791,-2.10594,-2.79578,-0.215893,-0.337232,-0.0271011,-0.190293,-0.0897038,-0.223794,-0.458036,-0.362936,-0.230812,-0.211603,-0.247941,-0.238867,-0.330126,0.285781,-0.195019,-0.28814,-0.113355,-0.237459,-0.0398878,-0.183917,-0.267341,-0.108613,-0.266314,0.104792 --5916.29,0.876237,0.350484,2,-0.184454,0.00731971,-1.75158,-2.17181,-2.31566,-2.54319,-2.67049,-1.89802,-1.61545,-2.15988,-2.19327,-2.21933,-2.25304,-1.50656,-3.5036,-2.79341,-1.40384,-1.54836,-2.13224,-2.82575,-3.45044,-1.51351,-2.27149,-3.02088,-0.111577,-0.119114,-0.310022,-0.203571,-0.151199,-0.318799,-0.449172,-0.0787961,-0.155362,-0.193553,-0.154508,-0.031599,-0.0683048,-0.0268015,-0.163747,-0.310814,-0.17045,-0.12824,-0.218347,-0.246639,-0.21045,-0.478288,-0.175127,0.0855553 --5915.58,0.679163,0.350484,2,-0.160227,0.00862287,-2.40539,-2.22086,-2.15165,-2.3586,-2.5583,-1.95702,-1.51634,-2.13177,-2.19241,-2.32314,-2.41616,-1.47719,-3.47929,-2.82738,-1.50904,-1.55012,-2.14603,-2.86317,-2.90555,-1.47037,-2.23403,-2.99386,-0.253913,-0.252723,-0.154268,-0.245554,-0.180691,-0.106736,-0.611358,-0.210735,-0.171091,-0.186435,-0.14586,-0.232888,-0.0202864,0.0932673,-0.152398,-0.112684,-0.0764675,-0.172812,-0.108223,-0.352808,-0.192325,-0.468683,-0.283716,0.0928594 --5918.78,0.695882,0.350484,2,-0.187509,0.0128212,-2.65898,-2.79678,-2.03175,-2.36635,-2.57558,-2.24394,-1.5591,-2.10923,-1.659,-2.22376,-2.33711,-1.36733,-3.19126,-2.77355,-1.59675,-1.67846,-2.22447,-3.06355,-3.22337,-1.55453,-2.1623,-3.04032,-0.179995,-0.173836,-0.171264,-0.260682,-0.0576432,-0.405081,-0.58822,-0.18244,-0.22862,-0.13405,-0.136749,-0.164459,-0.218911,-0.0855246,-0.29998,-0.171457,-0.192896,-0.257818,-0.363873,-0.0932847,-0.294917,-0.243904,-0.109121,0.113231 --5930.4,0.631769,0.350484,2,-0.197328,0.0142952,-2.82655,-1.33458,-2.48561,-2.31378,-2.19838,-1.69978,-1.71855,-2.07506,-2.13571,-2.47535,-2.46918,-1.74906,-3.10296,-2.73796,-1.19628,-1.4943,-2.08256,-3.22367,-3.32813,-1.62041,-2.06824,-2.82632,-0.256454,-0.420254,-0.294692,-0.378408,-0.322473,-0.202297,-0.321766,-0.249455,-0.36867,-0.203049,-0.116492,-0.0128524,-0.252741,-0.0508312,-0.200078,0.0452057,-0.0709806,-0.161659,-0.140201,-0.158089,-0.335079,-0.300383,-0.34519,0.119563 --5924.29,0.982683,0.350484,2,-0.317146,0.0191048,-2.70792,-2.82483,-1.95709,-2.41872,-2.42451,-2.66795,-1.7417,-2.25408,-1.92851,-2.13629,-2.28191,-1.20606,-2.89944,-2.76595,-1.27131,-1.66238,-1.97201,-2.48746,-3.23675,-1.60279,-1.90457,-2.91024,-0.263504,-0.238139,-0.495105,-0.204452,-0.19616,-0.35166,-0.366712,-0.0273086,-0.23395,-0.231033,-0.293483,-0.390303,-0.271692,-0.155884,-0.420842,-0.0970218,-0.32636,-0.452414,-0.357563,-0.0984178,-0.698778,-0.506831,-0.202494,0.13822 --5922.33,0.903612,0.350484,2,-0.176621,0.0144373,-2.02663,-2.36782,-2.08366,-2.37674,-2.34492,-2.31778,-1.75265,-2.36738,-2.21817,-2.23952,-2.35072,-1.38799,-2.7411,-2.66758,-1.23469,-1.59074,-1.83464,-3.36786,-3.56303,-1.51896,-2.0763,-2.89733,-0.0924331,-0.224124,-0.346403,-0.250519,-0.370217,-0.118837,-0.362503,-0.0848142,0.000924743,-0.458785,-0.211303,-0.0503094,-0.383826,-0.0509935,-0.287964,-0.0273337,-0.0950169,-0.101969,0.0292066,-0.149025,-0.379905,-0.513572,-0.368748,0.120155 --5925.22,0.766793,0.350484,2,-0.262591,0.01184,-1.70966,-2.26081,-2.29539,-2.46628,-2.21554,-2.4967,-1.76229,-2.14827,-2.00934,-2.21361,-2.34086,-1.59504,-2.80389,-2.60183,-1.44551,-1.60655,-1.99956,-3.45921,-3.59513,-1.57234,-2.08393,-3.26658,-0.290038,-0.351948,-0.397275,-0.209447,-0.175499,-0.0288695,-0.225276,-0.143647,-0.16951,-0.271858,-0.154699,-0.117791,-0.273579,-0.294918,0.0752211,-0.244903,-0.121013,-0.221841,0.0323088,-0.421124,-0.248843,-0.0557194,-0.134921,0.108812 --5926.61,0.699964,0.350484,2,-0.110658,0.0117897,-1.69003,-2.32347,-2.19664,-2.45489,-2.11038,-2.12385,-1.77965,-2.11346,-1.98173,-2.2057,-2.15321,-1.4806,-2.87729,-2.64471,-1.56396,-1.70969,-2.07971,-3.27913,-3.28089,-1.49349,-2.17989,-3.08659,-0.288094,-0.103989,-0.347637,-0.148433,-0.108907,-0.0852687,-0.145821,-0.161544,-0.0498143,-0.22813,-0.280768,-0.259356,-0.204224,-0.100752,-0.0514593,-0.215957,-0.37933,0.0359057,-0.152687,-0.318347,-0.492665,-0.171186,-0.200832,0.10858 --5923.34,0.998675,0.350484,2,-0.244132,0.0148372,-1.83016,-2.21968,-2.05452,-2.52036,-2.35961,-2.9199,-1.73643,-1.96229,-1.99813,-2.29946,-2.30001,-1.32416,-2.66357,-2.72742,-1.54884,-1.39354,-1.97681,-2.94256,-3.23352,-1.39181,-2.24928,-3.00665,-0.158026,-0.210779,-0.293629,-0.00334374,-0.0855616,-0.227155,-0.246944,-0.136449,-0.294244,-0.267338,-0.229614,-0.189111,-0.363009,-0.0384458,0.0896194,-0.218719,-0.331595,0.0659879,-0.200489,-0.423734,-0.457376,-0.132045,-0.082278,0.121808 --5917.55,1,0.350484,2,-0.235463,0.00718447,-2.74104,-2.03572,-2.33731,-2.48132,-2.56958,-2.48611,-1.62127,-2.3573,-1.82752,-2.22675,-2.30839,-1.49362,-3.18972,-2.67913,-1.51805,-1.76313,-1.94717,-2.92911,-2.80005,-1.27454,-2.04764,-2.95817,-0.242604,-0.300506,-0.137338,-0.190592,-0.190787,-0.146477,-0.464178,-0.157289,-0.335123,-0.243131,-0.232172,-0.243268,-0.14134,-0.122923,-0.211156,-0.131246,-0.0422138,-0.311827,-0.233642,-0.386458,-0.120766,-0.154639,-0.463307,0.0847612 --5918.48,0.925552,0.350484,2,-0.228359,0.00903062,-2.64277,-1.87894,-2.27181,-2.48902,-2.59615,-2.28243,-1.60076,-2.35097,-1.85581,-2.25383,-2.35605,-1.46896,-3.22692,-2.68825,-1.57827,-1.7759,-1.90312,-2.93981,-2.75906,-1.30631,-2.12822,-2.87489,-0.242567,-0.235037,-0.133313,-0.153726,-0.12069,-0.162792,-0.526838,-0.132335,-0.369758,-0.260397,-0.265039,-0.167317,-0.171799,-0.163369,-0.110928,-0.197642,-0.0745856,-0.33287,-0.270863,-0.408981,-0.22141,-0.180471,-0.5411,0.0950296 --5914.55,0.64163,0.350484,2,-0.225961,0.00651035,-2.77593,-2.22013,-2.17239,-2.42323,-2.55536,-1.67663,-1.7917,-2.09881,-1.94643,-2.34353,-2.31913,-1.25487,-3.07764,-2.70392,-1.53579,-1.21599,-2.29863,-2.94663,-3.60251,-1.50462,-2.233,-2.80132,-0.212687,-0.225594,-0.307343,-0.294924,-0.225061,-0.53283,-0.22326,-0.143287,-0.198026,-0.210017,-0.194568,-0.307365,-0.31823,-0.13562,-0.328928,-0.203364,-0.101431,-0.113984,-0.214927,-0.163069,-0.347696,-0.411416,-0.43298,0.0806867 --5914,0.974982,0.350484,2,-0.240199,0.00374714,-3.55496,-2.12957,-2.16731,-2.35922,-2.46514,-1.65192,-1.7467,-2.3193,-1.81256,-2.225,-2.49126,-1.39761,-3.31026,-2.66988,-1.44162,-1.40174,-2.01155,-2.81528,-3.41791,-1.43911,-2.22836,-2.72582,-0.261837,-0.3086,-0.213954,-0.229399,-0.218081,-0.502536,-0.392074,-0.26033,-0.312047,-0.333455,-0.228708,-0.218125,-0.194534,-0.246633,-0.222852,-0.329057,-0.22918,-0.351044,-0.278038,-0.276617,-0.148518,-0.513977,-0.120744,0.0612139 --5914,0.123926,0.350484,2,-0.240199,0.00374714,-3.55496,-2.12957,-2.16731,-2.35922,-2.46514,-1.65192,-1.7467,-2.3193,-1.81256,-2.225,-2.49126,-1.39761,-3.31026,-2.66988,-1.44162,-1.40174,-2.01155,-2.81528,-3.41791,-1.43911,-2.22836,-2.72582,-0.261837,-0.3086,-0.213954,-0.229399,-0.218081,-0.502536,-0.392074,-0.26033,-0.312047,-0.333455,-0.228708,-0.218125,-0.194534,-0.246633,-0.222852,-0.329057,-0.22918,-0.351044,-0.278038,-0.276617,-0.148518,-0.513977,-0.120744,0.0612139 --5914,0.379885,0.350484,2,-0.240199,0.00374714,-3.55496,-2.12957,-2.16731,-2.35922,-2.46514,-1.65192,-1.7467,-2.3193,-1.81256,-2.225,-2.49126,-1.39761,-3.31026,-2.66988,-1.44162,-1.40174,-2.01155,-2.81528,-3.41791,-1.43911,-2.22836,-2.72582,-0.261837,-0.3086,-0.213954,-0.229399,-0.218081,-0.502536,-0.392074,-0.26033,-0.312047,-0.333455,-0.228708,-0.218125,-0.194534,-0.246633,-0.222852,-0.329057,-0.22918,-0.351044,-0.278038,-0.276617,-0.148518,-0.513977,-0.120744,0.0612139 --5917.9,0.915415,0.350484,2,-0.306075,0.00642744,-1.59262,-1.82601,-2.58219,-2.39324,-2.04756,-2.25149,-1.62736,-2.11323,-1.99643,-2.23931,-2.22246,-1.40355,-3.17265,-2.63706,-1.08596,-1.52906,-1.87877,-2.87047,-3.28497,-1.35062,-2.20781,-3.00281,-0.322355,-0.369396,-0.299031,-0.342314,-0.320504,-0.758482,-0.332133,0.039369,-0.263494,-0.272356,-0.264081,-0.280579,-0.376044,-0.232349,-0.416052,-0.197152,-0.281775,-0.256279,-0.307144,-0.336975,-0.294182,-0.166006,-0.403508,0.0801713 --5917.9,0.37984,0.350484,2,-0.306075,0.00642744,-1.59262,-1.82601,-2.58219,-2.39324,-2.04756,-2.25149,-1.62736,-2.11323,-1.99643,-2.23931,-2.22246,-1.40355,-3.17265,-2.63706,-1.08596,-1.52906,-1.87877,-2.87047,-3.28497,-1.35062,-2.20781,-3.00281,-0.322355,-0.369396,-0.299031,-0.342314,-0.320504,-0.758482,-0.332133,0.039369,-0.263494,-0.272356,-0.264081,-0.280579,-0.376044,-0.232349,-0.416052,-0.197152,-0.281775,-0.256279,-0.307144,-0.336975,-0.294182,-0.166006,-0.403508,0.0801713 --5924.43,0.320438,0.350484,2,-0.242858,0.00413763,-1.95437,-1.66761,-2.38566,-2.36239,-2.13269,-2.57079,-1.73232,-2.37516,-1.98535,-2.30926,-2.16747,-1.37799,-3.31674,-2.80756,-1.26658,-1.65338,-1.82128,-2.89836,-3.06231,-1.54861,-1.96679,-3.08164,-0.313797,-0.231641,-0.270759,-0.196136,-0.27887,-0.615943,-0.476229,-0.0745967,-0.245364,-0.235202,-0.142244,-0.20523,-0.206177,-0.217659,-0.350581,-0.262021,-0.122521,-0.179766,-0.265568,-0.232559,-0.378297,-0.230752,-0.507434,0.0643244 --5925.81,1,0.350484,2,-0.249534,0.0136242,-2.73701,-2.26112,-2.46643,-2.40778,-2.27435,-1.89883,-1.60643,-2.0712,-1.98644,-2.25093,-2.39404,-1.44704,-2.70243,-2.5892,-1.14511,-1.47414,-2.50938,-2.93842,-3.53666,-1.21948,-2.30826,-2.99277,-0.127016,-0.399922,-0.154335,-0.324847,-0.225876,-0.528193,-0.406544,-0.0503516,-0.303084,-0.279281,-0.313761,-0.2648,-0.26817,-0.0166489,-0.671829,-0.166738,-0.28463,-0.171941,-0.207084,-0.32854,-0.244541,-0.239372,0.0578954,0.116723 --5930.9,0.968519,0.350484,2,-0.2046,0.0203052,-1.70412,-2.40697,-2.33755,-2.36136,-2.3206,-1.26886,-1.75134,-2.22798,-2.11664,-2.31348,-2.45618,-1.4019,-2.89153,-2.75417,-1.23757,-1.80722,-2.13644,-2.74621,-3.86868,-1.33749,-2.23685,-2.97079,-0.320412,-0.215284,-0.0542151,-0.225119,-0.326281,-0.517178,-0.355794,-0.063824,-0.215075,-0.373125,-0.35773,-0.290908,-0.182712,-0.183673,-0.662504,-0.0702845,-0.0512297,-0.121532,0.0137921,-0.219721,-0.423685,-0.175555,-0.0326248,0.142496 --5929.95,1,0.350484,2,-0.213093,0.0177229,-1.79409,-2.41073,-2.43494,-2.34715,-2.29937,-1.40156,-1.78162,-2.17043,-2.0238,-2.26492,-2.44457,-1.39759,-2.95038,-2.72769,-1.24983,-1.77004,-2.1302,-2.65026,-3.73333,-1.29806,-2.24908,-2.9288,-0.316721,-0.240813,-0.0516792,-0.234399,-0.260659,-0.514636,-0.389668,-0.0479945,-0.240945,-0.336668,-0.373702,-0.264862,-0.112919,-0.267964,-0.714985,-0.0877741,-0.00785221,-0.156249,-0.0464418,-0.247548,-0.422169,-0.177152,0.00970617,0.133127 --5927.04,0.986435,0.350484,3,-0.178851,0.0105908,-3.79446,-2.08376,-1.93081,-2.47608,-2.5524,-2.89327,-1.7309,-2.16563,-2.09211,-2.23143,-2.38315,-1.65779,-3.02845,-3.02186,-0.95705,-1.3734,-1.89093,-3.18211,-3.2188,-1.73721,-2.16275,-3.00258,-0.141509,-0.192572,-0.28544,-0.173433,-0.0952813,0.0997831,-0.362636,-0.271091,-0.186713,-0.229323,-0.243943,-0.111444,-0.192882,-0.174119,-0.587691,-0.265178,-0.212588,-0.0288332,-0.0835331,-0.168113,-0.317293,-0.44811,-0.326875,0.102911 --5924.28,0.997334,0.350484,3,-0.139463,0.0126679,-1.78768,-2.40723,-2.464,-2.35239,-2.34573,-1.84278,-1.61592,-2.27121,-1.95457,-2.27829,-2.24306,-1.35566,-3.05933,-2.96611,-1.40459,-1.69757,-2.27011,-2.78575,-3.64144,-1.3957,-2.09101,-2.80975,-0.135024,-0.259003,-0.012101,-0.366587,-0.181861,-0.334196,-0.411583,0.147629,-0.185882,-0.280491,-0.110033,-0.211867,-0.221258,0.538219,-0.281616,0.0138375,0.0234877,-0.183802,-0.20095,-0.107128,-0.234532,-0.18096,-0.0140493,0.112552 --5929.66,0.988091,0.350484,3,-0.139804,0.0145953,-3.35507,-2.29013,-1.93526,-2.47415,-2.65682,-2.14684,-1.86528,-2.29883,-1.97042,-2.29521,-2.46661,-1.52543,-3.07698,-2.71844,-1.5015,-1.33536,-2.27566,-3.20898,-3.25973,-1.56017,-2.20466,-3.05461,-0.13136,-0.0641696,-0.274425,-0.0166988,0.0974138,-0.635687,-0.246505,-0.0837244,-0.277149,-0.184052,-0.213389,-0.161363,-0.202387,-0.182382,0.137446,-0.336563,0.211224,-0.04733,0.0303643,-0.314593,-0.391619,-0.357139,-0.27496,0.120811 --5920.26,0.910391,0.350484,2,-0.211509,0.011758,-2.67333,-2.40726,-1.89133,-2.47854,-2.40617,-2.35892,-1.64097,-2.10757,-2.0739,-2.29675,-2.41508,-1.4018,-3.13853,-2.72498,-1.43851,-1.48623,-1.8481,-2.61107,-3.55639,-1.35461,-1.98912,-2.988,-0.106244,-0.308023,-0.314331,-0.193127,-0.13605,-0.194633,-0.346721,-0.199301,-0.334539,-0.295429,0.085209,-0.029202,0.0233187,0.064676,-0.318732,-0.110076,-0.122064,-0.329761,-0.181136,-0.175238,-0.39452,-0.343795,0.137469,0.108434 --5921.26,0.755266,0.350484,2,-0.212208,0.00668841,-2.98192,-1.85423,-2.27216,-2.48655,-2.57022,-2.09371,-1.75192,-2.13127,-1.77809,-2.17239,-2.51266,-1.59951,-3.07306,-2.6535,-1.39622,-1.43133,-2.21025,-3.23972,-3.34532,-1.66419,-2.44679,-2.93539,-0.272546,-0.195424,-0.127904,-0.105453,-0.195112,-0.285145,-0.378505,-0.160174,-0.169883,-0.284262,-0.184127,-0.308745,-0.491745,-0.17759,-0.0886877,-0.282912,-0.2086,-0.045781,-0.21034,-0.252357,-0.0705476,-0.175567,0.0846166,0.0817827 --5921.98,0.406912,0.350484,2,-0.209393,0.0202644,-2.61295,-2.07932,-2.4217,-2.48975,-2.47702,-1.68308,-1.76096,-2.07601,-1.67357,-2.28104,-2.4071,-1.53401,-3.01387,-2.6792,-1.38332,-1.41229,-2.22149,-3.22064,-2.93893,-1.72315,-2.23049,-3.01464,-0.267512,-0.400874,-0.041678,-0.0597713,-0.194602,-0.433035,-0.408326,-0.262167,-0.188237,-0.321353,-0.109756,-0.244583,-0.391673,-0.138815,-0.285913,-0.173507,-0.288975,0.059872,-0.171647,-0.135014,-0.167911,-0.213519,0.00223793,0.142353 --5915.39,0.825096,0.350484,2,-0.211846,0.00971705,-2.16399,-2.0486,-2.26764,-2.33612,-2.34788,-2.67804,-1.7299,-2.05104,-1.87572,-2.26242,-2.34594,-1.48664,-3.01952,-2.73588,-1.44302,-1.53017,-1.94775,-3.30435,-3.18845,-1.61736,-2.11608,-3.07395,-0.166771,-0.19551,-0.248244,-0.168498,-0.328235,-0.394308,-0.39044,-0.169662,-0.282068,-0.252759,-0.270911,-0.363573,-0.354421,-0.165204,-0.141304,-0.0998266,-0.228532,-0.116591,-0.18746,-0.0862825,-0.0921028,-0.348009,0.120462,0.0985751 --5920.41,0.599887,0.350484,3,-0.181105,0.0171767,-1.58316,-1.98343,-2.30797,-2.4404,-2.3227,-2.76595,-1.69971,-2.1687,-1.92161,-2.2865,-2.32453,-1.59923,-2.93259,-2.74138,-1.42834,-1.4657,-2.1098,-3.25878,-3.39264,-1.67334,-2.22807,-3.05343,-0.063317,-0.161671,-0.254121,-0.17483,-0.166898,-0.21,-0.399099,-0.114437,-0.387621,-0.260075,-0.227809,-0.38056,-0.274639,-0.091203,-0.245189,-0.13558,-0.0303904,-0.13464,-0.458185,0.0472757,-0.302122,-0.285979,0.183397,0.13106 --5919.78,0.875336,0.350484,3,-0.222061,0.0133233,-3.52037,-2.12856,-2.04857,-2.39393,-2.61864,-1.80897,-1.78117,-1.98714,-1.99314,-2.22245,-2.30527,-1.59229,-3.01758,-2.80787,-1.32566,-1.47298,-1.946,-3.02397,-3.56765,-1.25883,-2.17489,-2.91354,0.124458,-0.157063,-0.386763,-0.241489,-0.0875011,-0.374945,-0.338453,-0.194982,-0.0416651,-0.327708,-0.116302,-0.273931,-0.341787,0.0164037,-0.441193,-0.216226,-0.421087,-0.176625,-0.26423,-0.343286,-0.364813,-0.282154,-0.353271,0.115427 --5929.61,0.806661,0.350484,2,-0.310499,0.023519,-3.53157,-2.28406,-1.88351,-2.36765,-2.47886,-2.54822,-1.7634,-2.47785,-1.78523,-2.16739,-2.45114,-1.4545,-3.01619,-2.92539,-1.43559,-1.27722,-1.85617,-2.72215,-3.88258,-1.3268,-2.12006,-2.88734,-0.341412,-0.303535,-0.14641,-0.445055,-0.144785,-0.44574,-0.450222,-0.103629,-0.259093,-0.357456,-0.0696194,-0.0504833,-0.217981,0.11291,-0.363898,-0.310365,-0.0987592,-0.291971,-0.275122,-0.496418,-0.628564,-0.235352,-0.328459,0.153359 --5922.27,0.966763,0.350484,2,-0.309445,0.029826,-2.6861,-2.1675,-2.05547,-2.42006,-2.379,-2.03314,-1.61285,-2.08709,-1.93559,-2.19591,-2.39484,-1.65678,-3.08319,-2.75588,-1.17132,-1.34278,-2.05358,-2.44876,-2.99335,-1.18254,-2.19328,-2.92514,-0.143583,-0.579321,-0.292583,-0.30267,-0.0925844,-0.156148,-0.570955,-0.118386,-0.293045,-0.390316,-0.0190671,-0.165154,-0.486598,0.0763283,-0.465909,-0.368558,-0.152126,-0.424224,-0.265599,-0.526014,-0.526784,-0.432908,-0.496426,0.172702 --5917.33,0.93328,0.350484,3,-0.313388,0.00781592,-2.33531,-2.35195,-2.4483,-2.43681,-2.33141,-2.14209,-1.69021,-2.05726,-1.99275,-2.26899,-2.25357,-1.50301,-2.64734,-2.61411,-1.57953,-1.45869,-1.85408,-3.59192,-3.86459,-1.71155,-2.0849,-2.99393,-0.293871,-0.266212,-0.384384,-0.374813,-0.309882,-0.353538,-0.290816,-0.331861,-0.445174,-0.315198,-0.472867,-0.183881,-0.190689,-0.16932,-0.256535,-0.1766,-0.353208,-0.0766868,-0.334341,-0.177892,-0.451606,-0.410939,-0.337858,0.0884077 --5916.58,0.386194,0.350484,2,-0.325677,0.00624906,-2.41013,-1.92808,-2.40399,-2.44268,-2.17627,-2.50594,-1.6768,-2.14318,-2.02485,-2.28669,-2.22557,-1.43594,-2.73881,-2.46479,-1.43333,-1.50664,-1.81061,-3.83566,-3.58926,-1.62001,-2.2424,-3.0344,-0.265522,-0.24745,-0.512734,-0.345988,-0.328914,-0.347847,-0.269837,-0.269134,-0.379922,-0.35948,-0.384427,-0.196625,-0.396288,-0.31235,-0.411294,-0.297975,-0.289004,-0.308644,-0.283638,-0.100066,-0.390334,-0.370219,-0.249486,0.079051 --5917.16,0.468029,0.350484,3,-0.300133,0.00429947,-2.31409,-2.04294,-2.76821,-2.46072,-2.29367,-2.70414,-1.65316,-2.12628,-2.08309,-2.26765,-2.18961,-1.3663,-2.58481,-2.57268,-1.53802,-1.42686,-2.12688,-3.55524,-3.50112,-1.53785,-2.24632,-3.09164,-0.316471,-0.335369,-0.448428,-0.239282,-0.29437,-0.316874,-0.42018,-0.319766,-0.473144,-0.181947,-0.411809,-0.227757,-0.375952,-0.373426,-0.294022,-0.233349,-0.271581,-0.285297,-0.145367,-0.2793,-0.25789,-0.358915,-0.225727,0.0655703 --5917.16,0.477509,0.350484,2,-0.300133,0.00429947,-2.31409,-2.04294,-2.76821,-2.46072,-2.29367,-2.70414,-1.65316,-2.12628,-2.08309,-2.26765,-2.18961,-1.3663,-2.58481,-2.57268,-1.53802,-1.42686,-2.12688,-3.55524,-3.50112,-1.53785,-2.24632,-3.09164,-0.316471,-0.335369,-0.448428,-0.239282,-0.29437,-0.316874,-0.42018,-0.319766,-0.473144,-0.181947,-0.411809,-0.227757,-0.375952,-0.373426,-0.294022,-0.233349,-0.271581,-0.285297,-0.145367,-0.2793,-0.25789,-0.358915,-0.225727,0.0655703 --5920.79,0.60646,0.350484,2,-0.35299,0.0108988,-3.13985,-1.82297,-2.65879,-2.4042,-2.52866,-2.03295,-1.65533,-1.94924,-2.14493,-2.29181,-2.06145,-1.49213,-2.84238,-2.60212,-1.60401,-1.26224,-1.7767,-3.50278,-3.12736,-1.5747,-2.26465,-2.84829,-0.416204,-0.537181,-0.292749,-0.216609,-0.345591,-0.279119,-0.449626,-0.299061,-0.266781,-0.312249,-0.361817,-0.206807,-0.357218,-0.295409,-0.384874,-0.505487,-0.388626,-0.33294,-0.26752,-0.21757,-0.458127,-0.460103,-0.422422,0.104397 --5913.47,0.78885,0.350484,3,-0.262883,0.0114382,-2.21807,-2.10891,-1.72571,-2.31614,-2.2923,-2.38224,-1.72844,-2.14015,-1.8521,-2.19241,-2.30028,-1.49221,-3.30978,-2.72372,-1.06174,-1.51646,-2.26734,-2.88062,-3.26013,-1.36127,-1.95742,-3.09087,-0.222176,-0.428704,-0.337327,-0.378946,-0.218657,-0.275076,-0.338431,-0.224833,-0.400088,-0.409515,-0.403032,-0.237697,-0.275654,0.0597534,-0.302009,-0.278365,-0.147994,-0.206465,-0.257407,-0.414599,-0.226276,-0.196789,-0.33945,0.10695 --5917.06,0.722131,0.350484,2,-0.25197,0.00981055,-2.54653,-2.21354,-2.02848,-2.39978,-2.37031,-2.79388,-1.6825,-2.24721,-1.80901,-2.12949,-2.28057,-1.58466,-3.23542,-2.6278,-1.18522,-1.43516,-2.02177,-2.66889,-3.30274,-1.44821,-1.94889,-3.01152,-0.38421,-0.483959,-0.217578,-0.349755,-0.203565,-0.127399,-0.257025,-0.118929,-0.244823,-0.408996,-0.445236,-0.315704,-0.272466,-0.234578,-0.187463,-0.291041,-0.152787,-0.236458,-0.272916,-0.29844,-0.279985,-0.106745,-0.167902,0.0990482 --5914.34,1,0.350484,2,-0.310765,0.0202638,-2.63593,-1.98101,-1.91776,-2.33701,-2.34403,-1.80048,-1.67855,-2.11445,-2.01934,-2.25323,-2.26644,-1.33924,-3.12955,-2.7755,-1.50323,-1.42777,-2.163,-2.99157,-3.10434,-1.31239,-2.17976,-3.06199,-0.185946,-0.296993,-0.444203,-0.210974,-0.22819,-0.383456,-0.496152,-0.207991,-0.399259,-0.272878,-0.111023,-0.172284,-0.367852,-0.110904,-0.298388,-0.274433,-0.321783,-0.397377,-0.398086,-0.257614,-0.339915,-0.438465,-0.292861,0.142351 --5913.53,0.761973,0.350484,3,-0.238492,0.00600088,-2.42118,-2.16735,-2.25104,-2.43929,-2.2746,-2.51037,-1.68549,-2.12463,-2.2007,-2.3004,-2.40524,-1.39807,-2.70199,-2.79448,-1.58513,-1.43589,-1.59152,-2.64798,-3.36724,-1.59257,-2.10367,-2.8195,-0.415533,-0.285134,-0.15577,-0.351738,-0.246,-0.276912,-0.287605,-0.2329,-0.174085,-0.227493,-0.385134,-0.394104,-0.205366,0.0686706,-0.223095,-0.27643,-0.27274,-0.241195,-0.199377,-0.292224,-0.328738,-0.224802,-0.218741,0.0774653 --5916.05,0.775439,0.350484,2,-0.282,0.00648081,-3.02556,-2.06932,-2.74638,-2.27855,-2.34516,-2.00614,-1.80634,-2.02055,-2.06229,-2.2073,-2.29644,-1.34939,-3.21468,-2.6771,-1.44243,-1.50648,-1.83343,-3.12111,-3.115,-1.53051,-2.12653,-3.03926,-0.135275,-0.22925,-0.361616,-0.193284,-0.320019,-0.311883,-0.296356,-0.261477,-0.275167,-0.305454,-0.065381,-0.148402,-0.385924,-0.272458,-0.276364,-0.233912,-0.489396,-0.18408,-0.371796,-0.162294,-0.339485,-0.313432,-0.386511,0.0805035 --5913.26,0.57965,0.350484,2,-0.23058,0.0076392,-2.82014,-2.28755,-2.36743,-2.44626,-2.33822,-1.97989,-1.73123,-2.1154,-2.13179,-2.19711,-2.36221,-1.35711,-3.18199,-2.70649,-1.3421,-1.67557,-1.82868,-2.94079,-3.32531,-1.56296,-2.29347,-3.17948,-0.262114,-0.336479,-0.243912,-0.169312,-0.319986,-0.307634,-0.218607,-0.220549,-0.200241,-0.356273,-0.106789,-0.088299,-0.232875,-0.230755,-0.214565,-0.29251,-0.418266,-0.206314,-0.277752,-0.230133,-0.202137,-0.355835,-0.485192,0.0874025 --5910.53,0.524489,0.350484,2,-0.239365,0.004636,-1.80359,-2.42128,-1.99333,-2.34996,-2.23517,-2.23799,-1.85953,-1.95559,-2.05173,-2.31819,-2.36068,-1.51233,-2.89013,-2.8246,-0.992108,-1.29435,-1.91035,-2.7735,-2.96952,-1.46872,-2.10176,-2.74535,-0.252495,-0.255351,-0.249275,-0.28744,-0.21688,-0.279068,-0.260392,-0.267132,-0.313559,-0.189478,-0.32021,-0.31741,-0.200832,-0.0902528,-0.357804,-0.245515,-0.217939,-0.0998907,-0.272484,-0.188216,-0.306149,-0.242483,-0.0170892,0.0680882 --5911.14,0.764175,0.350484,2,-0.228957,0.0094157,-2.80831,-1.84858,-2.03026,-2.4085,-2.50938,-1.90975,-1.53777,-2.28349,-1.79258,-2.19714,-2.2307,-1.53237,-3.08465,-2.69096,-1.40634,-1.4773,-2.03161,-3.21084,-4.05595,-1.55864,-2.02926,-3.06958,-0.243041,-0.252366,-0.203214,-0.193717,-0.11528,-0.170343,-0.450456,-0.0818703,-0.24676,-0.322875,-0.178805,0.0297662,-0.24713,-0.0694799,-0.199525,-0.233956,-0.210266,-0.25907,-0.144078,-0.223896,-0.315142,-0.263608,-0.395611,0.0970345 --5913.2,0.685718,0.350484,2,-0.212882,0.00825571,-2.72629,-1.78532,-2.00752,-2.3549,-2.4615,-1.79141,-1.55237,-2.31507,-1.72408,-2.17681,-2.23375,-1.59385,-3.25253,-2.69219,-1.4348,-1.41634,-2.00494,-3.08881,-4.17482,-1.56601,-2.12121,-3.06036,-0.179615,-0.27445,-0.148145,-0.217799,-0.164652,-0.237845,-0.438652,-0.0150417,-0.277283,-0.3308,-0.233686,-0.0224322,-0.253424,-0.0340926,-0.239295,-0.291938,-0.195445,-0.163997,-0.112793,-0.233834,-0.30369,-0.274592,-0.385333,0.0908609 --5914.65,0.677478,0.350484,3,-0.239385,0.00590947,-2.5469,-1.85826,-2.16247,-2.37364,-2.35743,-1.61469,-1.60808,-2.40624,-1.90452,-2.24165,-2.24518,-1.61751,-3.20142,-2.77038,-1.47398,-1.53088,-1.94233,-2.8689,-4.47827,-1.57663,-2.16859,-2.90511,-0.21845,-0.194631,-0.235332,-0.215026,-0.251394,-0.267369,-0.348508,-0.0733575,-0.368496,-0.257023,-0.253419,-0.151428,-0.369376,-0.107237,-0.158252,-0.181267,-0.274636,-0.293527,-0.274665,-0.182071,-0.521114,-0.321634,-0.386263,0.0768731 --5911.09,0.64407,0.350484,3,-0.206918,0.00622652,-2.08539,-2.26463,-1.80767,-2.42287,-2.40133,-2.31805,-1.76477,-2.2705,-2.00636,-2.27155,-2.26249,-1.51763,-3.29375,-2.75012,-1.51318,-1.46908,-1.82975,-2.95383,-3.96731,-1.68685,-2.18362,-2.84463,-0.299278,-0.350776,-0.279511,-0.243508,-0.312448,-0.263943,-0.296457,-0.0835388,-0.145764,-0.232453,-0.288892,-0.250692,-0.109623,-0.155208,-0.298647,-0.144349,-0.215051,-0.181573,-0.184935,-0.29108,-0.0616997,-0.322288,-0.0593415,0.0789083 --5908.74,0.612571,0.350484,2,-0.261169,0.00381349,-2.19718,-2.3969,-1.87088,-2.40305,-2.35808,-2.4506,-1.6912,-2.23546,-2.10337,-2.25968,-2.21439,-1.49939,-3.26702,-2.78377,-1.53396,-1.45848,-1.81076,-2.86576,-4.21266,-1.69067,-2.17997,-2.81557,-0.224798,-0.27666,-0.245941,-0.27924,-0.258654,-0.313958,-0.303135,-0.0599825,-0.201341,-0.203622,-0.236035,-0.29963,-0.210585,-0.210753,-0.191056,-0.184644,-0.0834972,-0.173995,-0.169418,-0.29955,-0.188,-0.306956,-0.186454,0.0617534 --5910.16,0.49977,0.350484,2,-0.20139,0.00710447,-2.07574,-1.80281,-2.38762,-2.34292,-2.37883,-2.09545,-1.65268,-2.1276,-2.20628,-2.22996,-2.32839,-1.38097,-2.76921,-2.735,-1.50138,-1.39621,-2.20324,-2.98941,-3.06588,-1.28318,-2.03832,-2.96422,-0.140684,-0.327434,-0.218354,-0.285153,-0.14885,-0.147786,-0.528442,-0.250471,-0.179815,-0.322715,-0.2733,-0.0948953,-0.202876,-0.0893518,-0.165743,-0.257156,-0.222704,-0.30237,-0.144727,-0.114405,-0.319141,-0.212152,-0.164355,0.084288 --5911.19,0.413166,0.350484,3,-0.237849,0.00737929,-2.03187,-2.03391,-2.30633,-2.30944,-2.22797,-2.08289,-1.74123,-2.30034,-1.93338,-2.25673,-2.23055,-1.18655,-2.69261,-2.76831,-1.36147,-1.49732,-1.89449,-2.70129,-3.23929,-1.45639,-2.14735,-2.78246,-0.281634,-0.169952,-0.157121,-0.257178,-0.235248,-0.305298,-0.304184,-0.0127806,-0.236727,-0.254891,-0.392732,-0.243126,-0.247456,0.0386639,-0.201577,-0.229954,-0.23747,-0.22427,-0.273391,-0.0925198,-0.474093,-0.405368,-0.156371,0.0859028 --5915.98,0.562843,0.350484,2,-0.21454,0.00618299,-1.99316,-2.19996,-2.37724,-2.38345,-2.25919,-2.28508,-1.78422,-2.31793,-1.88963,-2.26948,-2.12465,-1.37754,-2.80498,-2.72411,-1.35989,-1.52644,-2.04596,-2.70362,-3.44749,-1.40753,-2.17833,-2.62951,-0.24263,-0.435378,-0.297309,-0.213804,-0.451541,-0.203011,-0.249742,-0.255548,-0.213315,-0.263371,-0.352367,-0.318241,-0.240716,0.0857135,-0.315441,-0.192601,-0.225736,-0.215726,-0.202846,-0.163921,-0.457574,-0.224234,-0.254465,0.078632 --5912.07,0.961792,0.350484,2,-0.26314,0.00682242,-2.55234,-2.13372,-1.81888,-2.38071,-2.07569,-1.82736,-1.69838,-2.1436,-1.78695,-2.22719,-2.22661,-1.3939,-2.6959,-3.01457,-1.18258,-1.5635,-1.85842,-2.70151,-3.65075,-1.56613,-2.38902,-2.80051,-0.289947,-0.251015,-0.271353,-0.284399,-0.385728,-0.331874,-0.32539,-0.127143,-0.23941,-0.280402,-0.320095,-0.0713113,-0.332385,0.281027,-0.219387,-0.204513,-0.299939,-0.320714,-0.307782,-0.271407,-0.179967,-0.427834,-0.246942,0.0825979 --5909.77,0.621999,0.350484,3,-0.276799,0.00414771,-2.16319,-2.09896,-1.70809,-2.38255,-2.50776,-1.79822,-1.73228,-2.0445,-1.93644,-2.26155,-2.20581,-1.46098,-3.03233,-2.74717,-1.4169,-1.5805,-2.20884,-2.64736,-3.61779,-1.37781,-2.21077,-2.80669,-0.273978,-0.160815,-0.266404,-0.363537,-0.115315,-0.260673,-0.277447,-0.0802361,-0.275901,-0.280328,-0.281226,-0.0197329,-0.249637,-0.0834096,-0.264655,-0.178403,-0.31362,-0.288318,-0.32567,-0.347632,-0.2517,-0.360198,-0.395493,0.0644027 --5912.74,0.567737,0.350484,3,-0.307884,0.00588107,-2.46944,-2.43065,-2.09083,-2.33994,-2.3242,-2.11406,-1.71827,-2.01412,-2.11624,-2.32154,-2.19741,-1.52791,-2.90865,-2.67688,-1.53621,-1.55309,-1.68873,-2.98615,-3.72553,-1.44067,-2.04102,-3.16696,-0.282265,-0.4702,-0.317316,-0.291966,-0.267012,-0.321878,-0.429039,-0.499346,-0.380084,-0.22133,-0.346079,-0.291286,-0.329153,-0.195165,-0.252806,-0.32894,-0.18652,-0.264861,-0.159113,-0.232995,-0.392864,-0.259083,-0.116529,0.0766881 --5913.58,0.43932,0.350484,2,-0.322655,0.00757855,-2.35111,-2.57,-2.23088,-2.34711,-2.22157,-2.06148,-1.73228,-2.03191,-2.10396,-2.34048,-2.25294,-1.43693,-2.86779,-2.57445,-1.46685,-1.51832,-1.6416,-3.16961,-3.67768,-1.44583,-2.10802,-3.15582,-0.34389,-0.366974,-0.330595,-0.323905,-0.259999,-0.396476,-0.396168,-0.434431,-0.330672,-0.275458,-0.288189,-0.234587,-0.338181,-0.337644,-0.134948,-0.305556,-0.175682,-0.333896,-0.18594,-0.287269,-0.488262,-0.301437,-0.15281,0.0870549 --5910.6,0.959777,0.350484,2,-0.297068,0.00542651,-2.03121,-2.15422,-2.37087,-2.43677,-2.46917,-1.6146,-1.67474,-1.98598,-2.24221,-2.24769,-2.27717,-1.41695,-3.25377,-2.81416,-1.45428,-1.27289,-1.96623,-3.09041,-3.85641,-1.29027,-1.88178,-2.98504,-0.27666,-0.222186,-0.21087,-0.221679,-0.277987,-0.416815,-0.369375,-0.255667,-0.210788,-0.262758,-0.374721,-0.297221,-0.245074,-0.0792599,-0.290781,-0.240156,-0.379198,-0.232541,-0.355107,-0.390761,-0.344039,-0.27425,-0.393127,0.0736649 --5910.16,0.000102402,0.350484,2,-0.280464,0.00392208,-1.73379,-2.19502,-2.15893,-2.47349,-2.42524,-1.28241,-1.67243,-2.13584,-2.20962,-2.25131,-2.17562,-1.34908,-3.12458,-2.66682,-1.28849,-1.31754,-1.99105,-2.77103,-3.47448,-1.3694,-1.92401,-3.17136,-0.275102,-0.410137,-0.194251,-0.166062,-0.242815,-0.354982,-0.304074,-0.296988,-0.356539,-0.270216,-0.291981,-0.307891,-0.28844,-0.105358,-0.291734,-0.375364,-0.256378,-0.137492,-0.312106,-0.256917,-0.279626,-0.232417,-0.287157,0.0626265 --5911.29,0.754805,0.350484,2,-0.266045,0.0020439,-2.04236,-2.27459,-2.31243,-2.29521,-2.45787,-1.67133,-1.74707,-2.04328,-1.90295,-2.25766,-2.1783,-1.36828,-3.44373,-2.75297,-1.19983,-1.37231,-1.98843,-2.8861,-3.27098,-1.36619,-1.94475,-3.18359,-0.228545,-0.439182,-0.285617,-0.303923,-0.147774,-0.164533,-0.230774,-0.206377,-0.28606,-0.280216,-0.365611,-0.168798,-0.300946,-0.240074,-0.244263,-0.462204,-0.230657,-0.208075,-0.226868,-0.24326,-0.259194,-0.233976,-0.212563,0.0452095 --5911.29,0.116226,0.350484,2,-0.266045,0.0020439,-2.04236,-2.27459,-2.31243,-2.29521,-2.45787,-1.67133,-1.74707,-2.04328,-1.90295,-2.25766,-2.1783,-1.36828,-3.44373,-2.75297,-1.19983,-1.37231,-1.98843,-2.8861,-3.27098,-1.36619,-1.94475,-3.18359,-0.228545,-0.439182,-0.285617,-0.303923,-0.147774,-0.164533,-0.230774,-0.206377,-0.28606,-0.280216,-0.365611,-0.168798,-0.300946,-0.240074,-0.244263,-0.462204,-0.230657,-0.208075,-0.226868,-0.24326,-0.259194,-0.233976,-0.212563,0.0452095 --5911.82,0.412602,0.350484,2,-0.319783,0.00650303,-2.42554,-1.9211,-2.31878,-2.35845,-2.10962,-2.35833,-1.66461,-2.17851,-2.12771,-2.23596,-2.42145,-1.49462,-2.62466,-2.59842,-1.35707,-1.37465,-1.79245,-2.61,-3.58044,-1.38174,-2.31869,-2.82863,-0.352969,-0.165591,-0.322229,-0.293031,-0.409069,-0.423027,-0.487189,-0.345997,-0.257537,-0.300467,-0.141208,-0.394259,-0.321741,-0.214725,-0.317132,-0.179123,-0.381232,-0.34468,-0.270337,-0.347202,-0.349851,-0.337767,-0.369613,0.0806414 --5909.35,0.603485,0.350484,2,-0.274566,0.00784608,-2.31324,-2.32236,-1.8181,-2.34609,-2.24721,-2.19899,-1.66528,-2.13365,-1.97041,-2.21773,-2.17165,-1.34842,-2.69552,-2.68528,-1.31924,-1.30942,-1.95097,-3.0082,-3.23963,-1.33976,-2.30936,-2.94447,-0.197299,-0.470758,-0.283391,-0.37167,-0.353601,-0.157727,-0.302344,-0.202789,-0.205031,-0.280566,-0.344698,-0.223352,-0.407288,-0.217213,-0.514356,-0.390886,-0.220241,-0.242936,-0.28603,-0.313694,-0.24499,-0.2578,-0.228369,0.0885781 --5913.39,0.858899,0.350484,2,-0.31586,0.00732256,-2.01262,-1.86925,-2.39848,-2.40457,-2.35778,-2.55479,-1.79443,-2.16972,-2.02747,-2.29023,-2.41291,-1.4403,-3.36803,-2.73266,-1.17805,-1.54954,-1.74382,-3.22894,-3.49785,-1.43996,-1.88666,-2.78263,-0.266389,-0.200748,-0.289392,-0.247899,-0.316553,-0.335505,-0.348528,-0.258434,-0.443137,-0.348461,-0.278964,-0.318257,-0.254311,-0.176282,-0.195578,-0.265819,-0.281943,-0.443047,-0.376822,-0.311046,-0.412753,-0.526303,-0.421424,0.0855719 --5911.18,0.0302404,0.350484,2,-0.312572,0.00186545,-3.16577,-2.04378,-1.89999,-2.35653,-2.35446,-2.49301,-1.54207,-2.26514,-1.8839,-2.22372,-2.41505,-1.43688,-3.2073,-2.60519,-1.23993,-1.44395,-2.21088,-2.89258,-3.53747,-1.54322,-2.21735,-2.67327,-0.315723,-0.43477,-0.351716,-0.385294,-0.297942,-0.327176,-0.380587,-0.291768,-0.236426,-0.315618,-0.167755,-0.267343,-0.348944,-0.275685,-0.433873,-0.398051,-0.313907,-0.215628,-0.267815,-0.311713,-0.300048,-0.476509,-0.259212,0.0431908 --5915.73,0.913217,0.350484,2,-0.206989,0.00456086,-2.38419,-2.161,-2.40025,-2.41235,-2.53743,-1.90717,-1.85583,-1.96353,-2.18859,-2.23737,-2.15351,-1.40437,-2.94227,-2.83814,-1.3449,-1.38581,-1.87016,-3.07822,-3.25745,-1.31266,-2.02797,-3.05281,-0.201416,-0.168318,-0.191739,-0.121404,-0.0849595,-0.289182,-0.432839,-0.239899,-0.30511,-0.31756,-0.379623,-0.287028,-0.263706,0.213005,-0.122481,-0.221594,-0.0807173,-0.235389,-0.177881,-0.237592,-0.384728,-0.204395,-0.179681,0.0675342 --5914.01,0.609003,0.350484,2,-0.223581,0.00963854,-2.21816,-2.11792,-2.40608,-2.41884,-2.50333,-2.03861,-1.86757,-1.90826,-2.1813,-2.24425,-2.1066,-1.38342,-3.07075,-2.87958,-1.29171,-1.3963,-1.96619,-2.91062,-3.28013,-1.26116,-1.95017,-3.09583,-0.209021,-0.18118,-0.217293,-0.192841,-0.0954665,-0.289483,-0.356847,-0.213248,-0.322848,-0.315597,-0.343156,-0.302496,-0.182838,0.284824,-0.169747,-0.211915,-0.177837,-0.168162,-0.116412,-0.227958,-0.353967,-0.220009,-0.261011,0.098176 --5915.11,0.681797,0.350484,2,-0.193056,0.00637331,-2.30662,-2.08778,-2.49432,-2.42312,-2.45079,-1.9845,-1.87618,-1.90098,-2.12774,-2.23152,-2.10712,-1.41811,-2.99402,-2.8923,-1.25364,-1.42465,-2.01952,-3.01359,-3.47333,-1.19469,-1.95771,-3.05955,-0.170011,-0.182205,-0.23222,-0.202758,-0.019191,-0.307069,-0.289747,-0.28018,-0.252872,-0.346048,-0.286093,-0.295607,-0.191179,0.226633,-0.179759,-0.290506,-0.184574,-0.136218,-0.131458,-0.255852,-0.38455,-0.203496,-0.270783,0.079833 --5916.41,0.79036,0.350484,2,-0.232114,0.0078932,-2.0886,-1.94399,-2.02659,-2.36517,-2.67795,-2.54063,-1.57118,-2.30834,-1.9973,-2.14888,-2.38899,-1.48414,-2.90632,-2.76187,-1.6241,-1.61578,-1.71997,-3.28686,-3.24209,-1.86641,-2.27338,-2.97124,-0.22939,-0.381739,-0.182875,-0.296947,-0.136375,-0.16937,-0.347772,-0.102374,-0.200204,-0.330233,-0.248806,-0.125458,-0.34557,-0.155036,-0.279386,-0.135875,-0.412832,-0.259518,-0.32304,-0.183558,-0.201466,-0.329461,-0.279956,0.0888437 --5920.45,0.488574,0.350484,2,-0.217283,0.0071852,-1.73054,-1.92685,-2.05172,-2.361,-2.66188,-2.26652,-1.54488,-2.26567,-2.01109,-2.17896,-2.34314,-1.49094,-2.89753,-2.72993,-1.62443,-1.55502,-1.61345,-3.3119,-3.09792,-1.86768,-2.29353,-3.00828,-0.0792379,-0.40868,-0.211271,-0.300078,-0.162167,-0.227208,-0.426132,-0.0229979,-0.235375,-0.286968,-0.15748,-0.0643114,-0.216514,-0.22435,-0.243703,-0.150167,-0.338306,-0.269244,-0.3108,-0.131311,-0.0686298,-0.204383,-0.256854,0.0847656 --5926.03,0.96525,0.350484,2,-0.245183,0.00953622,-2.72449,-1.95098,-1.99675,-2.28389,-2.36414,-2.40545,-1.65249,-2.11636,-1.98284,-2.15107,-2.60698,-1.91962,-2.88378,-2.92889,-1.7113,-1.56547,-1.87728,-2.54292,-3.38342,-1.58494,-2.23453,-3.16699,-0.360188,-0.197296,-0.275703,-0.258009,-0.0990038,-0.259506,-0.623412,-0.108298,-0.387643,-0.410811,-0.217039,0.110696,-0.304647,0.0760283,-0.111379,-0.169152,-0.219584,-0.161711,-0.221816,-0.1655,-0.375901,-0.279461,-0.239311,0.0976536 --5930.01,0.373155,0.350484,3,-0.155067,0.0188784,-2.97592,-2.1439,-2.08561,-2.52332,-2.54611,-2.1006,-1.82819,-2.00262,-1.9108,-2.36602,-2.56407,-1.31917,-3.14375,-2.83682,-1.09134,-1.47658,-1.95883,-3.18093,-3.51717,-1.55282,-1.86485,-2.80953,-0.151098,-0.664915,-0.330899,-0.140398,0.0840941,-0.0834629,-0.371048,-0.0809993,-0.202749,-0.115454,0.268917,-0.406796,-0.0914671,0.0738116,-0.273633,-0.122608,-0.0867037,-0.170642,-0.107227,-0.0251298,-0.234496,-0.299,-0.145283,0.137399 --5925.29,0.744135,0.350484,2,-0.18671,0.0258232,-2.99643,-2.03429,-2.39351,-2.3563,-2.43834,-2.6669,-1.73728,-2.11698,-2.02232,-2.30766,-2.7288,-1.49975,-2.79739,-3.10673,-1.27457,-1.52845,-2.22082,-3.16408,-3.76955,-1.5281,-2.07293,-3.04609,-0.0804932,-0.273447,-0.0967378,-0.143367,-0.036613,-0.269321,-0.239694,-0.2306,-0.365718,-0.182358,0.0893798,-0.0805283,-0.189854,0.317556,-0.0958795,-0.400404,-0.215671,-0.0823131,0.100417,-0.161945,-0.262813,-0.216824,-0.14631,0.160696 --5922.37,0.962801,0.350484,3,-0.219522,0.00428515,-1.75863,-2.40016,-2.15828,-2.41417,-2.44043,-1.94061,-1.67266,-2.24282,-1.88644,-2.19955,-2.39102,-1.4862,-3.39067,-2.55563,-1.43226,-1.72447,-2.04266,-3.04609,-3.36053,-1.53047,-2.21817,-2.88143,-0.0212051,-0.261935,-0.232138,-0.161272,-0.138921,-0.242742,-0.309075,-0.121356,-0.109919,-0.285476,-0.383783,-0.232786,-0.406518,-0.320136,-0.153208,0.0985285,-0.186791,-0.288816,-0.536624,-0.218142,-0.270304,-0.28119,-0.225411,0.0654611 --5918.85,0.949103,0.350484,2,-0.299957,0.00516974,-2.82579,-2.05675,-2.05094,-2.33865,-2.29457,-2.40216,-1.83763,-2.07034,-1.90834,-2.28644,-2.13199,-1.35246,-3.24276,-3.02682,-1.27546,-1.32472,-1.90991,-2.84808,-3.43079,-1.46599,-2.02266,-2.8946,-0.502712,-0.399836,-0.265042,-0.276537,-0.236041,-0.334739,-0.421769,-0.323947,-0.515075,-0.293376,-0.284187,-0.261903,-0.0390896,0.407241,-0.347633,-0.468158,-0.265996,-0.323562,-0.0386092,-0.300965,-0.282354,-0.365096,-0.259396,0.0719009 --5918.85,0.19634,0.350484,3,-0.299957,0.00516974,-2.82579,-2.05675,-2.05094,-2.33865,-2.29457,-2.40216,-1.83763,-2.07034,-1.90834,-2.28644,-2.13199,-1.35246,-3.24276,-3.02682,-1.27546,-1.32472,-1.90991,-2.84808,-3.43079,-1.46599,-2.02266,-2.8946,-0.502712,-0.399836,-0.265042,-0.276537,-0.236041,-0.334739,-0.421769,-0.323947,-0.515075,-0.293376,-0.284187,-0.261903,-0.0390896,0.407241,-0.347633,-0.468158,-0.265996,-0.323562,-0.0386092,-0.300965,-0.282354,-0.365096,-0.259396,0.0719009 --5922.62,0.733841,0.350484,3,-0.360988,0.0453951,-2.21012,-2.3241,-2.12671,-2.36144,-2.41958,-1.89113,-1.66393,-2.1698,-2.00277,-2.17786,-2.39116,-1.43876,-2.46896,-2.75166,-1.40545,-1.65473,-1.9336,-3.13585,-3.13756,-1.44606,-2.15678,-2.91829,-0.230058,-0.395971,-0.243442,-0.223835,-0.292389,-0.356744,-0.55809,-0.310138,-0.0868888,-0.370779,-0.204163,-0.0179274,-0.947441,0.10426,-0.370645,-0.179635,-0.215088,-0.339127,-0.377465,-0.327402,-0.371723,-0.457084,-0.212564,0.213061 --5930.45,0.913898,0.350484,3,-0.211967,0.0313273,-2.07871,-2.23494,-1.72824,-2.31079,-2.6076,-2.65284,-1.6442,-1.89088,-1.90264,-2.2357,-2.34216,-1.68401,-2.82468,-2.96407,-1.52602,-1.56515,-2.09566,-2.503,-2.77194,-1.54128,-2.00888,-2.81139,-0.258836,-0.343207,-0.148731,-0.402711,0.306602,-0.168557,-0.509674,-0.255339,-0.413542,-0.328867,-0.163753,-0.222709,-0.987712,0.0369166,-0.332911,-0.142701,-0.111182,-0.454404,-0.403344,-0.177525,-0.334131,-0.429395,-0.3179,0.176995 --5930.44,0.991144,0.350484,2,-0.242317,0.01873,-3.0146,-2.07909,-2.38612,-2.34068,-2.65157,-1.7408,-1.53868,-2.06553,-1.88665,-2.26169,-2.58682,-1.46742,-2.92405,-2.54306,-1.30805,-1.55474,-2.093,-2.70489,-3.16747,-1.60103,-2.16039,-2.75368,-0.469342,-0.36649,-0.0423515,-0.307513,0.0452822,-0.263986,-0.408604,-0.166104,-0.162764,-0.258083,-0.0892227,-0.0331867,-0.905359,-0.02435,-0.140426,-0.255522,-0.110415,-0.0223666,-0.584137,-0.164357,-0.359678,-0.303339,-0.255703,0.136858 --5924.2,0.996167,0.350484,2,-0.19219,0.0237141,-2.81498,-2.09409,-2.21068,-2.32938,-2.52723,-2.23341,-1.75099,-2.25894,-1.94893,-2.26351,-2.37439,-1.5928,-2.78307,-2.56235,-1.23716,-1.31254,-2.09649,-2.95373,-3.61666,-1.45756,-2.25635,-3.00488,-0.0975894,-0.306456,0.00693947,-0.330104,0.0618427,-0.148843,-0.404971,-0.291816,-0.246578,-0.27694,-0.121963,-0.132285,-0.556522,-0.414433,-0.250147,-0.175848,-0.193669,-0.273496,-0.397261,-0.124005,-0.177348,-0.525199,-0.0467429,0.153994 --5927.16,0.929322,0.350484,2,-0.189556,0.0205318,-2.45379,-2.08625,-2.39656,-2.4293,-2.6854,-2.13008,-1.70643,-2.2181,-1.89343,-2.28339,-2.32784,-1.59808,-2.49975,-2.59824,-1.19939,-1.26277,-2.17157,-2.86463,-3.85293,-1.49917,-2.38802,-3.07505,-0.177818,-0.220871,-0.107076,-0.422921,-0.127833,0.0628524,-0.313856,-0.188819,-0.280975,-0.281976,-0.140472,-0.0901673,-0.549843,-0.215638,-0.441575,-0.0974399,-0.155923,-0.245485,-0.244798,-0.121704,-0.177787,-0.530942,-0.078142,0.143289 --5916.85,1,0.350484,3,-0.200578,0.0121051,-2.13203,-2.11291,-2.21985,-2.32468,-2.78679,-2.33624,-1.76801,-2.25705,-1.85822,-2.22809,-2.28445,-1.55445,-2.75594,-2.71935,-1.0921,-1.50474,-2.20812,-2.85305,-3.23805,-1.5194,-2.38311,-2.83641,-0.172659,-0.246086,-0.292616,-0.335242,-0.215566,-0.100913,-0.373731,-0.165722,-0.275153,-0.29031,-0.302869,-0.176275,-0.357354,-0.167831,-0.419624,-0.0574377,-0.00929815,-0.0605886,-0.301716,-0.102531,-0.100781,-0.396031,-0.088983,0.110023 --5922.81,0.459233,0.350484,2,-0.200178,0.0358008,-1.92907,-1.91398,-2.38074,-2.33326,-2.69221,-2.38792,-1.71928,-2.30748,-1.90417,-2.21381,-2.2911,-1.5104,-2.77143,-2.73329,-1.16237,-1.46859,-2.20367,-2.86112,-3.13191,-1.49189,-2.37003,-2.83682,-0.270723,-0.359672,-0.301964,-0.324318,-0.250315,-0.0358713,-0.415405,-0.239952,-0.305724,-0.314226,-0.302465,-0.112956,-0.392542,-0.228602,-0.38468,-0.0819241,0.0490007,-0.0327789,-0.312054,-0.0801661,-0.169517,-0.405736,-0.136978,0.189211 --5919.35,1,0.350484,2,-0.256483,0.0191383,-2.0903,-2.01782,-2.18247,-2.36528,-2.5353,-2.06405,-1.60042,-2.21592,-1.85063,-2.27954,-2.29354,-1.67415,-3.16345,-2.68286,-1.43679,-1.48916,-1.92168,-2.95377,-3.55326,-1.39443,-2.16058,-3.12449,-0.251009,-0.710392,-0.106529,-0.263052,0.0442329,-0.401096,-0.410316,0.0923461,-0.380325,-0.274524,-0.202939,-0.0808505,-0.223391,0.0419396,-0.276079,-0.269711,-0.219347,0.124576,-0.16885,-0.3072,-0.216524,-0.384174,-0.0880306,0.138341 --5928.78,0.729479,0.350484,2,-0.182733,0.0271299,-2.34002,-2.31502,-2.91819,-2.39112,-2.51867,-2.0826,-1.67643,-2.30119,-2.31606,-2.16822,-2.37021,-1.52468,-2.63602,-2.77029,-1.31991,-1.50819,-2.08962,-3.13543,-3.31499,-1.21321,-2.11197,-2.74803,-0.230985,-0.26279,-0.319427,-0.264059,-0.0648637,-0.251891,-0.554808,-0.066097,-0.133343,-0.349354,-0.203705,0.0555484,-0.525941,-0.0829029,-0.374077,-0.0857333,-0.117707,0.047648,0.13763,-0.529354,-0.488816,-0.0876582,-0.188944,0.164712 --5927.31,0.999381,0.350484,2,-0.285694,0.0253939,-2.34009,-2.10648,-2.54227,-2.50181,-2.33554,-2.0491,-1.68666,-2.04281,-2.0399,-2.2183,-2.27406,-1.66172,-3.11727,-2.76611,-1.55318,-1.33862,-1.65573,-3.52084,-3.22418,-1.4227,-1.93008,-3.03462,-0.474422,-0.169952,-0.286686,-0.171741,-0.0515836,-0.334324,-0.540744,-0.0391646,0.0577012,-0.326127,-0.278235,-0.159415,-0.552068,-0.0227461,-0.395834,-0.357242,-0.357212,-0.179421,-0.110008,-0.228368,-0.595595,-0.334224,-0.480806,0.159355 --5926.84,0.592386,0.350484,3,-0.273792,0.0183775,-2.6252,-2.39943,-2.02487,-2.43329,-2.41335,-2.12417,-1.74577,-2.27783,-2.25785,-2.28891,-2.39475,-1.30621,-3.25625,-2.64233,-1.53133,-1.41147,-1.83131,-3.37536,-3.44624,-1.48168,-1.99987,-3.03519,-0.26917,-0.250094,-0.301684,-0.176264,-0.312812,-0.726194,-0.332703,-0.136629,-0.0438555,-0.272033,-0.28019,0.159092,-0.153481,-0.153204,-0.365216,-0.262275,-0.471971,-0.217088,-0.257981,-0.142116,-0.363366,-0.289201,-0.434995,0.135564 --5927.03,0.80501,0.350484,2,-0.340504,0.0194053,-2.80905,-2.32199,-1.88214,-2.42887,-2.49918,-1.90161,-1.68167,-2.12015,-2.16238,-2.30811,-2.29256,-1.39085,-3.24366,-2.72709,-1.5902,-1.47733,-1.84527,-2.99497,-3.55696,-1.54716,-1.99061,-3.25388,-0.255366,-0.260048,-0.370997,-0.221818,-0.136875,-0.587016,-0.285519,-0.115732,-0.0768742,-0.33661,-0.286654,0.074627,-0.205885,-0.0594732,-0.311212,-0.175691,-0.378325,-0.209128,-0.205474,-0.0968463,-0.297454,-0.306468,-0.523107,0.139303 --5924.92,0.962142,0.350484,3,-0.193669,0.0422812,-2.22297,-2.06966,-2.43212,-2.44079,-2.35768,-2.44139,-1.72679,-2.15102,-1.78212,-2.31881,-2.34331,-1.44308,-2.85139,-2.75222,-1.42814,-1.6194,-2.28019,-2.93853,-3.43745,-1.49859,-2.21478,-2.77024,-0.00231148,-0.17522,-0.0241785,-0.218764,-0.138266,0.26679,-0.322869,-0.1409,-0.396038,-0.242146,0.0125915,-0.175609,-0.479892,0.000996474,0.0502845,-0.201141,0.158163,0.071505,-0.222387,-0.24853,-0.144944,-0.481537,0.322522,0.205624 --5921.04,0.871999,0.350484,3,-0.111096,0.0220223,-2.7861,-2.06993,-1.74079,-2.32846,-2.4152,-2.46796,-1.77651,-2.03074,-2.07339,-2.29611,-2.4344,-1.75671,-2.94143,-2.8045,-1.66234,-1.36891,-2.26198,-2.93236,-3.7641,-1.44475,-2.17365,-2.99922,-0.0705148,-0.216562,-0.244289,-0.2536,-0.0394915,0.294141,-0.276031,-0.221928,-0.171709,-0.123038,-0.256707,0.0926678,-0.25284,0.183345,-0.0507324,-0.0821881,0.0345932,-0.155379,-0.00722829,-0.15104,-0.24511,-0.222224,-0.247565,0.148399 --5921.44,0.849583,0.350484,2,-0.151254,0.0145971,-2.57532,-2.28237,-2.48785,-2.50884,-2.68847,-2.70534,-1.73256,-2.34382,-1.92439,-2.29378,-2.39027,-1.39936,-2.97254,-2.69561,-1.13091,-1.63365,-1.90599,-3.10278,-3.13648,-1.53958,-2.08184,-3.08686,0.148997,-0.21538,-0.122325,-0.141565,-0.015034,-0.563399,-0.360135,0.0649518,-0.201683,-0.26828,0.00225292,-0.18709,-0.148307,-0.0271669,-0.295659,-0.295783,-0.269748,-0.0925523,-0.212906,-0.225508,-0.365785,-0.124759,-0.018944,0.120818 --5926.4,0.961349,0.350484,3,-0.141716,0.0209597,-2.48811,-1.91171,-1.89998,-2.30773,-2.26049,-1.56329,-1.64583,-2.24318,-2.02516,-2.18656,-2.22246,-1.60409,-3.09881,-2.72834,-1.93055,-1.58842,-1.96513,-2.54248,-3.91933,-1.67654,-2.15919,-2.90192,-0.0673931,-0.269908,-0.215052,-0.288022,-0.236307,0.130362,-0.386918,-0.0407043,-0.204839,-0.283565,-0.426971,-0.0876307,-0.239113,-0.0934263,0.033207,-0.000770252,-0.0995083,-0.2632,0.0160083,-0.0197252,-0.173125,-0.302427,-0.145126,0.144774 --5934.57,0.907537,0.350484,3,-0.361731,0.0306749,-2.41042,-2.32291,-2.18729,-2.38593,-2.65748,-3.02802,-1.82897,-1.95148,-1.90357,-2.25876,-2.18472,-1.56876,-2.69169,-2.91259,-1.15014,-1.5124,-2.01884,-3.35928,-2.9038,-1.70502,-2.14326,-2.96204,-0.25637,-0.380186,-0.712213,-0.204081,-0.0110007,-0.622194,-0.345649,-0.356301,-0.282368,-0.239068,-0.29814,0.133502,-0.523197,-0.0549293,-0.141235,-0.281375,-0.321628,-0.00289459,-0.34903,0.117682,-0.432918,-0.263659,-0.165181,0.175142 --5930.7,0.961326,0.350484,3,-0.247005,0.0229593,-1.6338,-2.39133,-2.22893,-2.55722,-2.32016,-2.11502,-1.7572,-2.02558,-1.93498,-2.23403,-2.29837,-1.58019,-3.2048,-3.06346,-1.3912,-1.52565,-1.95244,-2.60726,-3.91314,-1.53456,-1.9423,-3.05715,-0.432875,-0.520675,-0.087665,0.0583699,-0.124506,-0.387257,-0.440269,-0.252446,-0.399605,-0.322478,-0.157892,0.0541736,-0.327413,0.575512,-0.304549,-0.407901,-0.230361,-0.141541,-0.386094,-0.193945,-0.252545,-0.509934,-0.463421,0.151523 --5927.07,0.986967,0.350484,2,-0.213151,0.0165911,-1.54473,-2.28224,-2.0407,-2.6094,-2.27244,-1.88434,-1.75722,-2.05995,-1.91068,-2.26638,-2.40207,-1.6275,-2.95102,-3.04518,-1.39062,-1.61149,-1.86196,-2.71439,-3.58087,-1.4961,-1.89444,-2.93582,-0.0341449,-0.402264,-0.180573,0.036457,-0.214256,-0.401205,-0.352501,-0.176241,-0.19232,-0.340693,-0.174499,0.0576157,-0.256336,0.550333,-0.257697,-0.398405,-0.241591,-0.132964,-0.257145,-0.185784,-0.149721,-0.411288,-0.193165,0.128806 --5926.82,0.884523,0.350484,2,-0.211949,0.0145181,-2.41856,-2.21996,-1.76321,-2.49936,-2.5361,-2.35277,-1.66973,-2.35387,-1.83557,-2.22613,-2.29535,-1.54374,-3.12128,-2.89723,-1.07834,-1.24736,-1.98587,-3.24432,-3.75474,-1.37195,-2.40884,-2.94876,-0.377965,-0.0487345,-0.150515,-0.044263,-0.157242,-0.0152095,-0.302229,-0.356285,-0.283764,-0.252442,-0.271638,-0.0751052,-0.176813,0.0476513,-0.23955,-0.216975,-0.0544352,-0.106118,0.0273731,-0.334863,-0.392912,-0.388761,-0.193643,0.120491 --5933.65,0.812162,0.350484,2,-0.159517,0.0135044,-2.71166,-2.23089,-2.44266,-2.42577,-2.21518,-2.78563,-1.75739,-2.02716,-1.87891,-2.10941,-2.2575,-1.6891,-2.98779,-2.70685,-1.25283,-1.52632,-2.07188,-2.33763,-3.23052,-1.48074,-1.83178,-3.00372,0.0128204,-0.143273,-0.24628,-0.267378,-0.244142,0.134313,-0.433225,0.0217367,-0.440645,-0.569293,-0.326782,-0.0562963,-0.265722,-0.0160584,-0.293046,-0.0780545,-0.211685,-0.346399,-0.0611296,-0.127802,-0.199943,-0.03352,-0.352485,0.116209 --5933.81,0.9969,0.350484,3,-0.238625,0.0417944,-2.16288,-2.355,-1.9518,-2.47075,-2.66546,-2.3226,-1.60464,-2.35585,-1.85162,-2.25116,-2.41756,-1.02997,-3.07792,-2.81201,-1.47797,-1.54208,-2.2209,-3.67994,-3.47127,-1.51778,-2.3393,-2.90193,-0.410164,-0.23436,-0.0819539,-0.234775,-0.00789935,0.310061,-0.517266,-0.0359181,-0.357587,-0.299121,-0.139869,-0.504223,-0.18901,-0.0119664,-0.173834,-0.208734,-0.180232,0.00516889,-0.320407,-0.27124,-0.649751,-0.558824,-0.151086,0.204437 --5936.5,0.71473,0.350484,3,-0.26628,0.023009,-2.12704,-2.03205,-2.15724,-2.42691,-2.49388,-2.17571,-1.60706,-2.14994,-1.96221,-2.20572,-2.26415,-1.47445,-3.33339,-2.79287,-1.16235,-1.64248,-1.71707,-3.09763,-3.12912,-1.26975,-1.82719,-2.48692,-0.438713,-0.324876,-0.420247,-0.108983,0.170321,-0.391722,-0.561845,0.0542645,-0.255553,-0.320695,-0.23382,-0.504842,-0.331409,0.0257529,-0.345756,-0.07255,-0.261713,0.239894,-0.187585,-0.363624,-0.202703,-0.68495,-0.750103,0.151687 --5933.98,0.930429,0.350484,3,-0.266723,0.0351854,-1.89613,-2.18658,-2.14552,-2.4287,-2.51117,-2.20902,-1.5655,-2.20267,-1.90937,-2.16994,-2.1497,-1.41694,-3.02703,-2.65829,-1.18368,-1.61646,-1.877,-3.34414,-2.70521,-1.33756,-2.01763,-2.53069,-0.537615,-0.319882,-0.611147,-0.105677,0.159792,-0.322242,-0.42709,-0.0753853,-0.187476,-0.36989,-0.292536,-0.527975,-0.255517,0.148308,-0.347233,-0.0183203,-0.371972,0.181944,-0.216734,-0.289006,-0.339947,-0.502356,-0.664641,0.187578 --5938.19,0.93417,0.350484,2,-0.135978,0.0545341,-2.22402,-1.87414,-2.00305,-2.46401,-2.46164,-1.60429,-1.74056,-2.14595,-1.9914,-2.29512,-2.25758,-1.41703,-2.92068,-3.13689,-1.57742,-1.63025,-1.70707,-2.84442,-3.21523,-1.13748,-2.09632,-2.93236,-0.142678,-0.392646,-0.623142,-0.174088,0.18274,-0.230659,-0.419626,-0.0227838,-0.220484,-0.149614,-0.345086,-0.322145,-0.0685493,0.121056,-0.387149,-0.12341,-0.467929,-0.217002,-0.224461,-0.145923,-0.569975,-0.466334,-0.518342,0.233525 --5929.27,0.999445,0.350484,2,-0.372269,0.0121789,-2.4779,-2.65863,-2.22818,-2.26648,-2.44615,-2.27401,-1.6045,-2.16438,-2.00168,-2.32961,-2.25349,-1.39985,-3.07858,-2.89096,-1.4025,-1.56388,-1.83418,-2.67133,-3.4242,-1.3866,-1.82295,-2.75793,-0.277483,-0.322645,-0.382623,-0.415568,0.158824,-0.0975815,-0.43082,-0.251221,-0.2072,-0.122305,-0.435053,-0.437399,-0.171745,0.158879,-0.154395,-0.223634,-0.254641,-0.337327,-0.330448,-0.244148,-0.572468,-0.226231,-0.361586,0.110358 --5919.52,0.937966,0.350484,2,-0.295461,0.016854,-2.13111,-1.72892,-1.97794,-2.47704,-2.7171,-2.10162,-1.76009,-1.91406,-2.11776,-2.26074,-2.26878,-1.22902,-2.97658,-2.69096,-1.30351,-1.52634,-1.87146,-3.12125,-3.33891,-1.61527,-2.17081,-2.9931,-0.287175,-0.28978,-0.386243,-0.207063,-0.0377164,-0.390384,-0.430603,-0.333276,-0.2488,-0.302175,-0.158477,-0.338184,-0.413912,0.0110974,-0.547357,-0.185879,-0.37548,-0.173807,-0.195315,-0.250067,-0.490551,-0.536515,-0.192588,0.129823 --5914.07,0.9564,0.350484,2,-0.316845,0.011504,-2.18359,-2.1304,-2.27709,-2.41024,-2.53651,-1.8821,-1.69385,-1.96227,-2.10979,-2.3169,-2.39265,-1.52167,-3.05042,-2.92424,-1.22157,-1.66507,-1.99015,-2.86869,-3.39938,-1.30814,-2.08989,-2.93761,-0.247504,-0.489664,-0.475744,-0.249758,-0.215407,-0.481115,-0.314746,-0.373024,-0.270066,-0.207799,-0.393015,-0.150642,-0.425428,-0.0481702,-0.386254,-0.14285,-0.305796,-0.223948,-0.320568,-0.384226,-0.304152,-0.228256,-0.374053,0.107257 --5914.62,0.725253,0.350484,3,-0.334991,0.0111608,-2.12343,-2.1472,-2.08251,-2.35028,-2.5325,-1.74081,-1.68373,-1.96957,-2.08818,-2.27995,-2.38871,-1.51764,-2.94622,-2.84389,-1.23495,-1.60992,-2.10677,-3.04886,-3.23817,-1.3771,-1.97881,-2.98651,-0.230185,-0.425135,-0.428919,-0.301568,-0.228224,-0.519362,-0.288623,-0.371587,-0.294554,-0.156187,-0.37472,-0.102843,-0.532075,-0.0805656,-0.382792,-0.154388,-0.28681,-0.342586,-0.417598,-0.336025,-0.344414,-0.290009,-0.290175,0.105645 --5912.15,0.511016,0.350484,3,-0.323641,0.0114264,-2.63558,-2.03433,-2.08113,-2.31615,-2.54772,-1.85762,-1.68787,-2.01714,-1.98056,-2.28009,-2.22304,-1.51386,-2.91996,-2.787,-1.18828,-1.51462,-1.92129,-3.10794,-3.07073,-1.48532,-2.01524,-2.89443,-0.323447,-0.362047,-0.466634,-0.344662,-0.405275,-0.484935,-0.285805,-0.243777,-0.287448,-0.196574,-0.392816,-0.157539,-0.646793,-0.17403,-0.389203,-0.241118,-0.366378,-0.303486,-0.377155,-0.266013,-0.278052,-0.303974,-0.280575,0.106895 --5924.34,0.620407,0.350484,2,-0.354678,0.00506923,-2.64921,-2.15178,-1.97736,-2.45635,-2.54809,-1.69498,-1.7731,-2.16534,-1.86926,-2.40324,-2.30843,-1.37852,-2.85275,-2.78693,-1.23253,-1.70906,-2.00644,-3.31211,-3.20687,-1.34278,-2.18612,-2.80791,-0.380847,-0.312547,-0.313053,-0.362726,-0.27841,-0.377634,-0.244572,-0.49973,-0.305053,-0.26658,-0.29329,0.0622307,-0.476753,0.131773,-0.340488,-0.292662,-0.295246,-0.428776,-0.310319,-0.43648,-0.415215,-0.450776,-0.279516,0.0711985 --5924.34,0.324983,0.350484,2,-0.354678,0.00506923,-2.64921,-2.15178,-1.97736,-2.45635,-2.54809,-1.69498,-1.7731,-2.16534,-1.86926,-2.40324,-2.30843,-1.37852,-2.85275,-2.78693,-1.23253,-1.70906,-2.00644,-3.31211,-3.20687,-1.34278,-2.18612,-2.80791,-0.380847,-0.312547,-0.313053,-0.362726,-0.27841,-0.377634,-0.244572,-0.49973,-0.305053,-0.26658,-0.29329,0.0622307,-0.476753,0.131773,-0.340488,-0.292662,-0.295246,-0.428776,-0.310319,-0.43648,-0.415215,-0.450776,-0.279516,0.0711985 --5921.98,0.881959,0.350484,3,-0.289032,0.0254724,-1.98878,-2.20929,-2.01481,-2.33678,-2.52874,-2.2724,-1.7621,-2.01189,-1.95946,-2.25682,-2.36231,-1.64188,-3.31238,-2.95538,-1.11136,-1.53816,-1.74432,-2.64964,-3.34397,-1.49236,-2.11028,-2.80572,-0.195411,-0.409335,-0.375475,-0.390832,-0.101798,-0.371593,-0.254501,-0.136037,-0.20445,-0.381691,-0.345806,-0.269258,-0.174489,0.237039,-0.410115,-0.308184,-0.303693,-0.185813,-0.546319,-0.406876,-0.312659,-0.372079,0.0616478,0.159601 --5927.26,0.921597,0.350484,2,-0.320627,0.0298433,-2.08204,-2.07641,-2.14254,-2.3193,-2.60282,-2.31263,-1.76402,-2.02903,-1.85087,-2.2059,-2.40381,-1.54738,-3.46861,-2.86681,-1.09279,-1.57429,-1.81183,-2.81132,-3.48037,-1.57433,-2.0516,-2.75256,-0.232134,-0.446177,-0.506948,-0.560341,-0.125152,-0.447518,-0.318284,-0.105941,-0.0934024,-0.390936,-0.327415,-0.303348,-0.234018,0.169356,-0.261758,-0.30484,-0.34557,-0.113799,-0.380865,-0.400326,-0.33261,-0.374138,-0.136538,0.172752 --5929.96,0.936157,0.350484,2,-0.313849,0.0196409,-2.52545,-2.27811,-2.15262,-2.38125,-2.63643,-2.3365,-1.70915,-2.16585,-1.97515,-2.18513,-2.18216,-1.60736,-3.18685,-2.91436,-1.48371,-1.22381,-1.81976,-3.06937,-3.08676,-1.64505,-2.22944,-3.23978,-0.561957,-0.435254,-0.313639,-0.257697,0.0153032,-0.0974659,-0.464978,-0.241663,-0.097619,-0.375257,-0.156338,-0.142965,-0.329386,-0.00301089,-0.369723,-0.359037,-0.563007,-0.272799,-0.260785,-0.353584,-0.468607,-0.646253,-0.300261,0.140146 --5934.7,0.783431,0.350484,2,-0.310949,0.0103719,-1.83063,-1.22959,-1.97235,-2.38998,-2.51439,-3.4024,-1.61742,-1.89075,-2.02665,-2.27682,-2.42409,-1.66655,-3.21378,-2.79227,-1.26876,-1.32923,-1.88547,-2.61312,-3.00745,-1.41469,-2.08523,-2.67204,-0.335969,-0.850713,-0.144812,-0.359057,-0.159822,-0.402493,-0.523371,-0.296122,-0.0950929,-0.226832,-0.328995,-0.173734,-0.223841,-0.088937,-0.433473,-0.386917,-0.324942,-0.397774,-0.291957,-0.227744,-0.296501,-0.330846,-0.0309987,0.101842 --5938.48,0.756844,0.350484,2,-0.304415,0.0110713,-2.89619,-2.89945,-1.9185,-2.32745,-2.37938,-1.17916,-1.80506,-2.09425,-2.02669,-2.23909,-2.21836,-1.26529,-2.71754,-2.65874,-1.31408,-1.57036,-1.45733,-3.16859,-3.66817,-1.53586,-2.01659,-3.05507,-0.246523,-0.0609457,-0.944421,-0.371001,-0.180913,-0.271367,-0.288437,-0.401098,-0.298809,-0.31164,-0.180394,-0.281467,-0.451353,-0.243264,-0.248721,-0.178151,-0.774954,-0.248573,-0.310503,-0.343688,-0.536989,-0.459542,-0.603825,0.10522 --5945.24,0.930404,0.350484,3,-0.399037,0.0439231,-2.06294,-2.30054,-2.34191,-2.20705,-2.36918,-3.17405,-1.6191,-2.19548,-1.75497,-2.13912,-2.34751,-1.46613,-3.20113,-3.13938,-1.41421,-1.33944,-2.17957,-2.67475,-2.86256,-1.43159,-1.97624,-2.63244,-0.451896,0.582744,-0.0698423,-0.376045,-0.231655,-0.804917,-0.616029,0.131599,-0.555017,-0.430018,-0.297632,-0.28719,-0.395013,0.41361,-0.341229,-0.431274,0.136726,-0.507131,-0.485169,-0.147104,-0.597174,-0.55196,-0.376042,0.209579 --5935.34,0.980659,0.350484,3,-0.203584,0.0774104,-2.64699,-2.14271,-2.01876,-2.43554,-2.55202,-1.56692,-1.58357,-2.28393,-1.90026,-2.25317,-2.38841,-1.42737,-2.57421,-2.60525,-1.37987,-1.37441,-2.07796,-3.24771,-3.75106,-1.69038,-1.94298,-2.92792,-0.0321118,-1.03944,-0.130192,-0.234374,0.116951,0.238093,-0.384805,0.0039866,-0.349139,-0.381378,0.00859308,-0.251856,-0.605865,-0.122272,-0.196557,-0.371295,-0.0602311,-0.0253508,-0.223329,-0.173553,-0.539434,-0.542659,-0.261927,0.278227 --5931.05,0.96127,0.350484,4,-0.342383,0.0229018,-2.17781,-2.54471,-2.05848,-2.24077,-2.20842,-1.2121,-1.69029,-1.84024,-1.94446,-2.29468,-2.06941,-1.51586,-2.83114,-3.05691,-1.43849,-1.56213,-2.03585,-2.9717,-3.22631,-1.39841,-2.18862,-3.01645,-0.645182,-0.284993,-0.412068,-0.334802,-0.402472,-0.523646,-0.47137,-0.373255,-0.303288,-0.417276,-0.382667,-0.220029,-0.255674,0.147177,-0.37536,-0.195731,-0.194133,-0.379745,-0.458229,-0.576286,-0.191978,-0.32457,-0.617582,0.151334 --5926.6,0.933106,0.350484,2,-0.341194,0.00861806,-2.37733,-2.49434,-1.94975,-2.37901,-2.21804,-1.82325,-1.71849,-1.9148,-1.86646,-2.30393,-2.04806,-1.53036,-2.69991,-2.79466,-1.36253,-1.69904,-2.1732,-2.84006,-3.02624,-1.37641,-2.00132,-3.01869,-0.699075,-0.313036,-0.319992,-0.209593,-0.349354,-0.474538,-0.516448,-0.318558,-0.334611,-0.385538,-0.44529,-0.262795,-0.209782,0.238271,-0.426558,-0.132377,-0.233518,-0.481081,-0.421498,-0.551528,-0.297114,-0.328421,-0.441894,0.0928335 --5919.55,0.991108,0.350484,2,-0.253685,0.00830175,-3.11301,-2.27811,-1.9437,-2.37911,-2.49493,-2.45508,-1.64055,-2.09492,-2.01562,-2.12713,-2.3974,-1.47716,-3.14187,-2.92267,-1.48997,-1.46341,-1.74253,-2.97391,-3.28692,-1.31092,-2.17622,-2.91778,-0.0334453,-0.295445,-0.452299,-0.369022,-0.176504,-0.220832,-0.322027,-0.351201,-0.326463,-0.309984,-0.240084,-0.14094,-0.496483,-0.0572448,-0.0768289,-0.133536,-0.261165,-0.181491,-0.193268,-0.204783,-0.513555,-0.355395,-0.11189,0.0911139 --5930.26,0.902616,0.350484,2,-0.204913,0.0305478,-2.87279,-2.20026,-2.3194,-2.31153,-2.31089,-1.49082,-1.82532,-2.14795,-2.07774,-2.14782,-2.46555,-1.43897,-2.92194,-2.81318,-1.44799,-1.46481,-2.15408,-2.57895,-3.30526,-1.53899,-2.05557,-3.0898,-0.191455,-0.191652,-0.636613,-0.241937,-0.271395,-0.402402,-0.207588,-0.0774176,-0.570069,-0.380094,-0.161199,-0.122987,-0.756553,0.270841,-0.0904407,-0.338617,-0.198635,-0.0560455,-0.198956,-0.0595617,-0.194955,-0.112996,-0.218433,0.174779 --5938.33,0.894839,0.350484,2,-0.201534,0.0464732,-2.79481,-2.31071,-1.99387,-2.44297,-2.43677,-1.92038,-1.80045,-2.2057,-2.20267,-2.0608,-2.51085,-1.50101,-2.999,-2.94615,-1.59116,-1.50806,-2.20168,-2.91563,-3.18986,-1.57035,-1.92014,-3.16176,0.00294954,-0.152829,-0.657139,-0.255839,-0.232825,-0.398391,-0.146409,-0.0806146,-0.479441,-0.432417,-0.223812,-0.197535,-0.85569,0.12466,-0.159544,-0.36386,-0.0907349,-0.0796631,-0.217382,0.00327266,-0.0815232,-0.165179,-0.23235,0.215576 --5940.89,0.98309,0.350484,2,-0.26135,0.0140845,-2.88599,-1.7869,-2.09063,-2.33744,-2.4264,-2.45568,-1.80886,-2.09555,-1.73152,-2.23494,-2.04643,-1.47116,-2.62539,-2.66203,-1.5274,-1.75145,-1.47069,-3.03508,-3.51933,-1.53983,-2.44274,-3.17536,0.448407,-0.464015,-0.387636,-0.203757,-0.17955,-0.142109,-0.378482,-0.143476,-0.398936,-0.452372,-0.222161,-0.119798,-1.09099,-0.0877105,-0.208489,-0.13594,-0.383495,-0.257659,-0.21007,-0.350918,-0.344554,-0.240187,0.108016,0.118678 --5940.74,0.999901,0.350484,3,-0.315553,0.0203194,-2.95647,-2.30565,-2.25936,-2.55487,-2.27118,-1.65333,-1.6197,-2.37689,-2.13072,-2.24492,-2.47646,-1.40333,-2.63241,-2.73872,-1.13235,-1.31363,-2.11893,-2.70156,-3.31003,-1.50052,-1.87695,-2.64642,0.339607,-0.447642,-0.263403,-0.255155,-0.309116,-0.699184,-0.344889,0.0257298,-0.255981,-0.191494,-0.437797,-0.348044,-1.06952,0.00747772,-0.427651,-0.229844,-0.424183,-0.320275,-0.311137,-0.0515533,-0.340387,-0.553711,-0.38104,0.142546 --5925.91,0.937218,0.350484,3,-0.23866,0.0304349,-1.8378,-2.4574,-2.17141,-2.46115,-2.36372,-2.1744,-1.71672,-1.81661,-1.95447,-2.17769,-2.50337,-1.36186,-2.90838,-2.81323,-1.46482,-1.71707,-2.4856,-2.96875,-3.29496,-1.4176,-2.08023,-2.93144,-0.688931,-0.145736,-0.128569,-0.324453,-0.236219,-0.193863,-0.495005,-0.307074,-0.261002,-0.279873,-0.115574,-0.072165,-0.451016,0.17308,-0.290288,-0.0946303,0.162751,-0.0729982,-0.126053,-0.395777,-0.334035,-0.256776,-0.00712695,0.174456 --5924.97,0.971872,0.350484,2,-0.160995,0.0194738,-2.47444,-1.87589,-2.12308,-2.32619,-2.55406,-2.33057,-1.65901,-2.24382,-2.02467,-2.23965,-2.1592,-1.62858,-2.78086,-2.84819,-1.37151,-1.40173,-2.18337,-3.48528,-3.48225,-1.48641,-2.16023,-2.91713,-0.73816,-0.284267,-0.0651931,-0.175182,-0.00592152,-0.19731,-0.215496,-0.250469,-0.318242,-0.369924,-0.318904,-0.234279,-0.211607,-0.0216274,-0.288542,-0.163766,0.208892,-0.192403,-0.16045,-0.134913,-0.410657,-0.283019,-0.194594,0.139549 --5927.8,0.749884,0.350484,3,-0.287263,0.0355913,-2.30758,-2.52875,-2.23781,-2.44452,-2.17963,-2.21646,-1.75542,-1.99966,-2.03772,-2.27354,-2.45258,-1.29408,-3.22194,-2.77358,-1.28907,-1.6111,-1.85231,-2.84416,-3.53913,-1.5123,-2.25227,-2.94142,0.282926,-0.256353,-0.358091,-0.189976,-0.159248,-0.347194,-0.421002,-0.1911,-0.213364,-0.0710652,-0.113105,-0.12621,-0.287973,0.223772,-0.317666,-0.0878062,-0.477741,-0.0125528,-0.320466,-0.253552,-0.390204,-0.244029,-0.234282,0.188657 --5927.19,0.980702,0.350484,2,-0.181245,0.0142672,-3.03441,-2.04516,-1.91475,-2.5191,-2.20389,-1.97135,-1.66491,-2.06046,-2.12513,-2.39589,-2.46937,-1.62176,-2.74831,-2.93866,-1.35352,-1.53537,-1.81604,-3.01024,-3.04834,-1.62873,-2.03857,-3.06257,-0.102664,-0.289792,-0.273548,-0.167856,-0.157392,-0.40931,-0.453932,-0.448568,-0.363387,-0.18723,-0.0934583,-0.300083,-0.0660354,0.0150588,-0.207195,-0.0471702,-0.207498,-0.198987,-0.21339,-0.308501,-0.159129,-0.476604,-0.236064,0.119446 --5914.83,0.996214,0.350484,2,-0.253562,0.00501006,-2.19199,-2.33582,-1.76318,-2.34589,-2.38512,-2.17344,-1.57467,-1.97465,-1.88761,-2.14237,-2.29407,-1.50124,-2.89138,-2.62562,-1.39366,-1.43731,-2.09858,-3.35377,-3.27129,-1.50254,-2.2708,-2.92722,-0.256005,-0.344254,-0.161017,-0.22187,-0.155608,-0.290575,-0.466864,-0.19969,-0.262584,-0.310248,-0.412033,0.0549084,-0.284702,-0.121557,-0.123183,-0.261369,-0.148216,-0.204327,-0.210798,-0.159015,-0.292664,-0.0703069,-0.217001,0.0707818 --5922.68,0.917455,0.350484,2,-0.267394,0.0111299,-1.62512,-2.27621,-2.12307,-2.19505,-2.4136,-2.06337,-1.76302,-2.14446,-1.92782,-2.23076,-2.21116,-1.46475,-3.0463,-2.78566,-1.36188,-1.42667,-1.97472,-3.91462,-3.44527,-1.46577,-2.12584,-3.16521,-0.284092,-0.252755,-0.290695,-0.388125,-0.380429,-0.196706,-0.590148,-0.370333,-0.375034,-0.252609,-0.332218,-0.30479,-0.317434,-0.21969,-0.251748,-0.026573,-0.192389,-0.222186,-0.278137,-0.371299,-0.289993,-0.141031,-0.309654,0.105498 --5919.04,0.98489,0.350484,2,-0.313749,0.00586368,-1.795,-2.13609,-1.99251,-2.24584,-2.39167,-1.98819,-1.73181,-2.09627,-1.8483,-2.24252,-2.11124,-1.49776,-2.84484,-2.81456,-1.38384,-1.3949,-2.17121,-3.50999,-3.51801,-1.38803,-1.97504,-3.17798,-0.300844,-0.446295,-0.277512,-0.376851,-0.33285,-0.366566,-0.566128,-0.311952,-0.447615,-0.272644,-0.331657,-0.347215,-0.31055,0.00302421,-0.339303,-0.132018,-0.372148,-0.199238,-0.244909,-0.370302,-0.26206,-0.213949,-0.078875,0.0765747 --5917.26,0.996599,0.350484,3,-0.341011,0.00992998,-1.81442,-2.01447,-2.24121,-2.30507,-2.52757,-2.24867,-1.80311,-1.93353,-1.89815,-2.24859,-2.30072,-1.5147,-2.71237,-2.85074,-1.24331,-1.43535,-1.81178,-2.95829,-2.76853,-1.47483,-2.0697,-2.90161,-0.328221,-0.250108,-0.379466,-0.318893,-0.283606,-0.374302,-0.278633,-0.302122,-0.246394,-0.353173,-0.291733,-0.212196,-0.39412,-0.373617,-0.484042,-0.145553,-0.187377,-0.255951,-0.476807,-0.236884,-0.518381,-0.377808,-0.524074,0.0996493 --5917.91,0.97635,0.350484,2,-0.328419,0.00804518,-2.27925,-1.81021,-2.02,-2.31245,-2.42802,-2.13802,-1.79113,-2.06309,-1.8552,-2.22303,-2.38397,-1.6198,-2.71904,-2.76292,-1.22582,-1.57705,-1.8947,-2.9851,-2.80468,-1.48082,-1.98301,-3.02169,-0.247485,-0.548556,-0.383477,-0.441125,-0.419579,-0.276864,-0.393011,-0.397334,-0.418318,-0.322224,-0.237919,-0.230903,-0.372418,-0.139405,-0.220749,-0.295726,-0.242019,-0.140074,-0.546865,-0.377563,-0.662595,-0.340298,-0.465529,0.0896949 --5925.5,0.905747,0.350484,2,-0.3288,0.0188188,-1.80603,-2.06043,-1.97053,-2.30727,-2.12098,-1.73342,-1.74683,-1.95481,-1.7341,-2.28237,-2.48367,-1.54297,-2.44581,-2.62485,-1.34625,-1.72484,-1.66333,-2.96673,-3.03602,-1.41138,-1.97658,-2.82325,-0.39286,-0.46457,-0.194747,-0.403589,-0.254125,-0.41125,-0.381414,-0.0948654,-0.327305,-0.250159,-0.0366113,-0.119423,-0.617454,-0.151914,-0.384923,-0.182681,-0.311519,-0.294387,-0.237055,-0.475895,-0.471791,-0.414256,-0.156546,0.137182 --5927.64,0.899232,0.350484,3,-0.393107,0.0116689,-2.83239,-1.81841,-2.35577,-2.26452,-2.57325,-2.59204,-1.60503,-2.23315,-1.99624,-2.32494,-2.16766,-1.67274,-3.05922,-2.77337,-1.71495,-1.45854,-1.99795,-2.59915,-3.24477,-1.15834,-2.23994,-2.93763,-0.267591,-0.444175,-0.550586,-0.392335,-0.334136,-0.275803,-0.438025,-0.430914,-0.394954,-0.213501,-0.505396,-0.213672,-0.204747,-0.172356,-0.144766,-0.388454,-0.396061,-0.321502,-0.439403,-0.407897,-0.33469,-0.310532,-0.471884,0.108023 --5920.07,0.774681,0.350484,2,-0.290489,0.00835579,-3.37292,-2.3886,-1.81036,-2.52771,-2.28924,-1.81724,-1.71346,-1.96739,-1.75585,-2.39461,-2.15963,-1.52326,-2.8847,-2.63883,-1.40176,-1.54731,-1.75953,-3.08953,-3.14887,-1.47198,-2.03912,-2.78604,-0.366042,-0.260309,-0.170019,-0.092381,-0.252722,-0.403545,-0.391803,-0.152472,-0.314056,-0.233811,-0.384303,-0.230965,-0.406879,-0.220163,-0.424101,-0.270769,-0.250579,-0.321275,-0.220163,-0.371634,-0.421402,-0.725905,-0.206131,0.09141 --5923.25,0.631872,0.350484,2,-0.308755,0.0167516,-2.84077,-2.10801,-2.05496,-2.45029,-2.30547,-2.19731,-1.54824,-2.18918,-2.0394,-2.20851,-2.24204,-1.47359,-2.89403,-2.63686,-1.27938,-1.38669,-2.06383,-3.20623,-3.17636,-1.26633,-1.93481,-2.78953,-0.394117,-0.616802,-0.408327,-0.197886,-0.270368,-0.273018,-0.579898,-0.275681,-0.330005,-0.226752,-0.353208,-0.219395,-0.0946436,-0.122601,-0.127619,-0.237119,-0.164908,0.151761,-0.350536,-0.384965,-0.588876,-0.863224,-0.329654,0.129428 --5928.87,0.765315,0.350484,2,-0.327378,0.0369181,-2.2529,-2.16078,-2.22727,-2.36865,-2.4191,-2.31058,-1.75052,-2.00783,-1.81151,-2.06988,-2.40129,-1.34938,-2.85512,-2.7288,-1.23239,-1.61736,-2.133,-3.07479,-3.52718,-1.40372,-2.11859,-2.56624,-0.41937,-0.0778964,-0.349096,-0.345517,-0.17858,-0.37398,-0.421912,-0.0301116,-0.741112,-0.643468,-0.225093,-0.105913,-0.675796,-0.148331,-0.396466,-0.0352654,-0.172973,-0.239997,-0.24579,-0.434568,-0.474627,-0.728269,-0.28748,0.192141 --5935,0.798176,0.350484,3,-0.199869,0.0432995,-2.64708,-2.06084,-2.10662,-2.46135,-2.32835,-1.8158,-1.7791,-2.49827,-1.84638,-2.13332,-2.39566,-1.62311,-2.70355,-2.64171,-1.4814,-1.49788,-2.0333,-2.50312,-3.42266,-1.53035,-2.02395,-2.76285,0.105106,-0.450074,-0.00446025,-0.102416,-0.146807,-0.262022,-0.208446,0.00387416,-0.837882,-0.423786,-0.0369573,-0.321171,-0.45965,-0.117946,-0.119409,-0.199721,-0.00893737,-0.592796,-0.0843394,-0.103082,-0.659865,-0.404544,-0.467801,0.208085 --5934.1,0.794644,0.350484,2,-0.229664,0.0281156,-2.88549,-2.49657,-2.02965,-2.54621,-2.24392,-2.14644,-1.78545,-2.34694,-1.79013,-2.21027,-2.28158,-1.6315,-3.03762,-2.73581,-1.45702,-1.56249,-2.13545,-2.35253,-3.15458,-1.58147,-2.14883,-2.98715,0.180053,-0.321312,0.0540287,-0.163641,-0.1266,-0.361,-0.217966,0.078805,-0.610076,-0.459105,-0.090609,-0.30283,-0.581587,-0.0972253,-0.115888,-0.170042,0.0330813,-0.483062,-0.213975,-0.234727,-0.523181,-0.393122,-0.579656,0.167677 --5930.39,0.960352,0.350484,3,-0.181099,0.0201749,-2.37526,-1.69248,-2.54525,-2.32968,-2.57488,-2.08317,-1.52613,-2.13274,-1.98905,-2.26631,-2.4126,-1.43256,-2.81384,-3.00474,-1.53591,-1.6641,-2.25941,-3.50121,-3.42883,-1.40927,-2.10171,-2.92352,-0.268889,-0.583343,0.00751133,-0.391663,-0.21231,-0.30965,-0.736455,-0.239204,-0.19293,-0.237865,-0.166831,0.0884751,-0.155801,0.20501,-0.121327,0.113813,0.10727,0.0212652,-0.373226,-0.206925,-0.273378,-0.178203,0.162964,0.142039 --5929.17,0.972608,0.350484,3,-0.155571,0.0336481,-1.59878,-2.07841,-2.48348,-2.29743,-2.45067,-2.30177,-1.57882,-2.349,-1.85234,-2.23986,-2.35479,-1.5515,-3.01297,-2.89593,-1.55564,-1.77161,-2.49765,-3.05559,-3.76562,-1.47048,-2.34624,-2.79622,0.0400335,-0.267856,-0.432279,-0.495815,-0.180503,-0.271162,-0.472306,-0.0499984,-0.353808,-0.244601,-0.0135677,-0.0651062,-0.260162,0.30147,-0.182331,-0.0109245,0.0325634,-0.152382,0.102749,-0.237987,-0.107216,-0.269193,0.0467697,0.183434 --5926.15,0.679452,0.350484,2,-0.185389,0.0220761,-3.39343,-2.45649,-2.32145,-2.46778,-2.4288,-1.94377,-1.63885,-2.07201,-2.27932,-2.35119,-2.31921,-1.67481,-3.05235,-2.86174,-1.47425,-1.55951,-1.95301,-3.21942,-3.06593,-1.49505,-2.24125,-2.68132,-0.389589,-0.0964954,0.0305342,-0.116413,-0.133641,-0.109452,-0.529899,-0.105082,-0.422805,-0.140234,-0.308553,-0.010929,-0.118097,-0.0722741,-0.300979,-0.158883,-0.0109894,-0.14146,-0.452269,-0.152271,-0.261645,-0.430042,-0.317365,0.14858 --5923.51,0.898012,0.350484,2,-0.213463,0.00717419,-2.29693,-2.24895,-2.15174,-2.43176,-2.47492,-2.04345,-1.534,-2.22251,-1.81737,-2.33144,-2.41399,-1.65081,-3.0639,-2.62092,-1.34742,-1.66503,-1.97669,-3.46102,-3.56417,-1.74041,-1.96581,-2.69829,-0.487928,-0.27256,-0.280875,-0.336541,-0.250759,-0.297888,-0.632904,-0.216189,-0.0364419,-0.238895,-0.132202,-0.131062,-0.228473,-0.0754189,-0.202514,-0.0322821,-0.289988,-0.0805281,-0.0292106,-0.195257,-0.306933,-0.492284,-0.19037,0.0847006 --5925.76,0.94497,0.350484,2,-0.188524,0.0330941,-2.40703,-2.14787,-2.19464,-2.29376,-2.45399,-2.16041,-1.52051,-2.21636,-1.85214,-2.28947,-2.35313,-1.508,-3.33533,-2.63673,-1.48956,-1.74157,-1.92297,-3.34024,-3.38503,-1.69436,-2.13371,-2.94149,-0.605036,-0.311438,-0.158078,-0.230198,-0.0782415,-0.102989,-0.725819,-0.126378,-0.00154722,-0.258245,-0.202176,-0.26991,-0.207645,0.0336324,-0.25514,-0.102653,-0.402977,-0.0213951,-0.0643967,-0.152796,-0.247338,-0.411089,-0.153556,0.181918 --5925.98,0.970716,0.350484,3,-0.158896,0.00598914,-2.0533,-2.32195,-2.12823,-2.42376,-2.44946,-2.64327,-1.36605,-2.14096,-1.91295,-2.25758,-2.35258,-1.30851,-3.27176,-2.6841,-1.41367,-1.54298,-2.23243,-3.59686,-3.39613,-1.5546,-2.31499,-2.70298,-0.606428,-0.319621,-0.295105,-0.129476,-0.150932,-0.240358,-0.660186,-0.225858,-0.155298,-0.208858,-0.109539,-0.196626,-0.203118,-0.0761682,-0.120826,-0.055988,-0.0465786,0.0998387,-0.172475,-0.0882824,-0.171867,-0.45256,-0.174072,0.0773895 --5923.9,0.533051,0.350484,2,-0.190226,0.0177714,-2.2023,-2.0813,-1.98556,-2.41976,-2.2249,-2.4927,-1.54691,-2.14544,-2.00414,-2.21498,-2.18692,-1.59059,-2.87689,-2.48349,-1.45461,-1.54773,-2.1945,-2.70304,-3.93408,-1.54533,-2.10201,-2.92076,-0.306949,-0.0942237,-0.00124837,-0.25159,-0.161906,-0.13044,-0.625526,-0.117994,-0.064964,-0.247131,-0.350699,-0.139875,-0.256874,-0.294125,-0.290367,-0.383158,-0.233717,0.128238,-0.214307,-0.3077,-0.169056,-0.197024,-0.153322,0.133309 --5914.58,0.81906,0.350484,2,-0.213025,0.0142802,-2.67083,-2.1923,-2.59516,-2.35633,-2.37322,-2.38826,-1.63874,-2.23225,-1.99012,-2.30392,-2.17777,-1.55307,-2.69249,-2.83959,-1.18569,-1.64563,-2.21671,-3.16946,-3.17271,-1.52558,-2.16264,-2.93061,-0.0973726,-0.335623,-0.0883233,-0.358901,-0.26412,-0.219012,-0.564807,-0.0489241,-0.29862,-0.224087,-0.28582,-0.0544699,-0.326246,0.00458797,-0.530877,-0.141913,-0.0682691,-0.309931,-0.163414,-0.157225,-0.309667,-0.263836,-0.251541,0.1195 --5909.35,0.880402,0.350484,3,-0.213942,0.00349904,-3.08915,-2.37777,-2.03642,-2.39204,-2.51508,-1.94502,-1.65909,-2.17104,-2.01274,-2.23432,-2.55745,-1.45789,-3.17809,-2.59703,-1.23098,-1.53799,-1.86366,-2.82707,-3.56789,-1.39164,-2.13605,-2.94308,-0.229353,-0.157869,-0.296723,-0.0642545,-0.103215,-0.264118,-0.290182,-0.147297,-0.190273,-0.293405,-0.0784597,-0.259137,-0.193903,-0.247185,-0.147689,-0.147409,-0.218679,-0.142875,-0.205591,-0.341287,-0.170211,-0.362487,-0.145935,0.0591527 --5913.88,1,0.350484,2,-0.203721,0.0030256,-1.64064,-1.77844,-1.95188,-2.57078,-2.76726,-1.84423,-1.73599,-2.15906,-2.02271,-2.15055,-2.41459,-1.23656,-3.09924,-2.78391,-1.22725,-1.50112,-1.81001,-3.19637,-3.19448,-1.50694,-1.99033,-2.89441,-0.149816,-0.26021,-0.154878,-0.173644,-0.248725,-0.154233,-0.223284,-0.176785,-0.216014,-0.417209,-0.205593,-0.128973,-0.195872,-0.00895995,-0.257914,-0.199088,-0.187857,-0.217613,-0.16505,-0.238233,-0.397979,-0.107073,-0.230236,0.0550054 --5913.88,0.0294132,0.350484,2,-0.203721,0.0030256,-1.64064,-1.77844,-1.95188,-2.57078,-2.76726,-1.84423,-1.73599,-2.15906,-2.02271,-2.15055,-2.41459,-1.23656,-3.09924,-2.78391,-1.22725,-1.50112,-1.81001,-3.19637,-3.19448,-1.50694,-1.99033,-2.89441,-0.149816,-0.26021,-0.154878,-0.173644,-0.248725,-0.154233,-0.223284,-0.176785,-0.216014,-0.417209,-0.205593,-0.128973,-0.195872,-0.00895995,-0.257914,-0.199088,-0.187857,-0.217613,-0.16505,-0.238233,-0.397979,-0.107073,-0.230236,0.0550054 --5913.88,0.425819,0.350484,2,-0.203721,0.0030256,-1.64064,-1.77844,-1.95188,-2.57078,-2.76726,-1.84423,-1.73599,-2.15906,-2.02271,-2.15055,-2.41459,-1.23656,-3.09924,-2.78391,-1.22725,-1.50112,-1.81001,-3.19637,-3.19448,-1.50694,-1.99033,-2.89441,-0.149816,-0.26021,-0.154878,-0.173644,-0.248725,-0.154233,-0.223284,-0.176785,-0.216014,-0.417209,-0.205593,-0.128973,-0.195872,-0.00895995,-0.257914,-0.199088,-0.187857,-0.217613,-0.16505,-0.238233,-0.397979,-0.107073,-0.230236,0.0550054 --5913.88,0.38885,0.350484,2,-0.203721,0.0030256,-1.64064,-1.77844,-1.95188,-2.57078,-2.76726,-1.84423,-1.73599,-2.15906,-2.02271,-2.15055,-2.41459,-1.23656,-3.09924,-2.78391,-1.22725,-1.50112,-1.81001,-3.19637,-3.19448,-1.50694,-1.99033,-2.89441,-0.149816,-0.26021,-0.154878,-0.173644,-0.248725,-0.154233,-0.223284,-0.176785,-0.216014,-0.417209,-0.205593,-0.128973,-0.195872,-0.00895995,-0.257914,-0.199088,-0.187857,-0.217613,-0.16505,-0.238233,-0.397979,-0.107073,-0.230236,0.0550054 --5916.59,0.131842,0.350484,2,-0.262488,0.00744232,-2.41022,-2.3853,-2.11261,-2.349,-2.40001,-2.46979,-1.79764,-2.06374,-1.88228,-2.18198,-2.37293,-1.56315,-2.97954,-2.83951,-1.36765,-1.69046,-2.27243,-2.89506,-3.85616,-1.29561,-2.11466,-2.99086,-0.289989,-0.175241,-0.296766,-0.171996,0.0389788,-0.25925,-0.323865,-0.196849,-0.239298,-0.321897,-0.0155205,-0.322315,-0.177845,-0.0425456,-0.280509,-0.203869,-0.132024,-0.132586,-0.243948,-0.314567,-0.292615,-0.428972,0.0234138,0.0862689 --5917.71,0.540982,0.350484,3,-0.305038,0.0114022,-3.09662,-2.18272,-2.58762,-2.3496,-2.31857,-2.49347,-1.66326,-2.18902,-1.98917,-2.28885,-2.0958,-1.52766,-2.85815,-2.75968,-1.44458,-1.29593,-1.7727,-2.7098,-3.40129,-1.61814,-2.10978,-2.97682,-0.366101,-0.406817,-0.391096,-0.202169,-0.311546,-0.43156,-0.525202,-0.230244,-0.42599,-0.207378,-0.301954,-0.172044,-0.443247,-0.104583,-0.392941,-0.253347,-0.304278,-0.265302,-0.343405,-0.117928,-0.344199,-0.435196,-0.635681,0.106781 --5916.88,0.978002,0.350484,3,-0.198722,0.0074331,-2.93289,-2.47584,-2.51914,-2.30957,-2.43353,-2.38952,-1.8931,-2.25378,-1.78146,-2.27547,-2.36217,-1.44275,-3.21607,-2.75293,-1.48435,-1.56121,-2.01164,-2.97387,-3.51146,-1.41942,-2.16017,-3.20996,-0.143674,-0.125391,-0.268482,-0.224087,-0.0949646,-0.310593,-0.188119,-0.307745,-0.450493,-0.262574,-0.0524355,-0.197834,-0.209976,-0.127973,-0.285253,0.0337116,-0.214913,-0.206232,-0.153101,-0.163722,-0.338119,-0.296591,-0.296271,0.0862154 --5921.91,0.139509,0.350484,3,-0.096291,0.00319777,-1.8599,-2.04088,-1.74783,-2.48509,-2.52014,-2.14648,-1.8201,-2.12931,-1.56259,-2.28372,-2.38548,-1.28645,-2.90814,-2.50761,-1.24959,-1.37867,-1.79769,-3.0248,-3.02771,-1.58012,-2.24952,-2.64435,-0.144874,-0.228966,-0.0858952,-0.198832,-0.16926,-0.0641408,-0.260551,0.00794397,-0.106311,-0.154077,-0.161062,-0.15045,-0.166756,-0.105098,-0.0816482,-0.113998,-0.108656,-0.1236,-0.08136,-0.171517,-0.0755501,-0.120086,-0.0194917,0.0565488 --5917.61,0.258662,0.350484,2,-0.132905,0.00435414,-2.0283,-2.14171,-1.73237,-2.47008,-2.50973,-2.1911,-1.7775,-2.15425,-1.67743,-2.28276,-2.42037,-1.25673,-2.89414,-2.5402,-1.25335,-1.42652,-1.86025,-3.05594,-3.05032,-1.56947,-2.2922,-2.82921,-0.164136,-0.230723,-0.0171285,-0.17742,-0.0429576,-0.179363,-0.206268,-0.0318732,-0.107331,-0.154877,-0.214781,-0.192075,-0.10915,-0.0570452,-0.0702963,-0.104069,-0.20939,-0.0384811,0.00696904,-0.190951,-0.0107235,-0.141813,-0.0848074,0.0659859 --5910.43,0.881205,0.350484,2,-0.188091,0.00534754,-3.21485,-2.07475,-2.20018,-2.32907,-2.56496,-2.26829,-1.81725,-2.21305,-2.00912,-2.22828,-2.45477,-1.55484,-3.02065,-2.80824,-1.11542,-1.70075,-1.98817,-2.94988,-3.33183,-1.62266,-2.14128,-3.02076,-0.0735911,-0.111075,-0.247606,-0.180389,-0.201465,-0.140867,-0.21503,-0.182394,-0.275065,-0.241898,0.0917872,-0.144321,-0.212361,-0.195068,-0.275242,-0.144296,-0.113656,-0.271944,-0.203127,-0.0261395,-0.257259,-0.226386,-0.249405,0.0731268 --5917.3,0.295304,0.350484,2,-0.186239,0.00414546,-3.28658,-2.0511,-2.05858,-2.38151,-2.58972,-2.16105,-1.85074,-2.18937,-2.01483,-2.26111,-2.33826,-1.60235,-3.05146,-2.73696,-1.10357,-1.70141,-1.93715,-2.9471,-3.62117,-1.57227,-2.04696,-2.98777,-0.0596949,-0.205627,-0.212653,-0.258443,-0.248266,-0.0950748,-0.233045,-0.132059,-0.300485,-0.225459,0.0956695,-0.187043,-0.195787,-0.0821769,-0.276586,-0.0841441,0.0104857,-0.222196,-0.136693,-0.0334904,-0.132781,-0.27933,-0.219573,0.0643852 --5918.88,0.906546,0.350484,2,-0.185513,0.00607412,-2.58688,-2.3785,-1.72031,-2.4759,-2.44941,-2.22255,-1.74445,-2.1504,-1.84834,-2.19745,-2.70966,-1.397,-3.24403,-2.6018,-0.965919,-1.54586,-1.86779,-3.35068,-3.12789,-1.46883,-2.14689,-2.82902,-0.282922,-0.173358,-0.164289,-0.132429,-0.0641553,-0.269306,-0.208407,-0.131714,-0.152392,-0.215939,-0.257171,-0.139315,-0.162316,-0.227306,-0.313242,-0.206404,-0.218774,-0.0891545,-0.199993,-0.315893,-0.320004,-0.12204,-0.157147,0.0779366 --5915.34,0.489514,0.350484,2,-0.171704,0.0100121,-2.41507,-2.29073,-2.17092,-2.58077,-2.29399,-1.96138,-1.81454,-2.17522,-1.93237,-2.33359,-2.20838,-1.316,-3.03095,-2.87881,-1.43441,-1.46136,-1.76977,-2.78869,-3.72071,-1.57578,-2.19836,-2.884,-0.150082,-0.189608,-0.203463,-0.13664,-0.252116,-0.170256,-0.31552,-0.176502,-0.448189,-0.245263,-0.0365755,-0.278172,-0.207331,-0.0293645,-0.316727,-0.126927,-0.196266,-0.318592,-0.158487,-0.0589174,-0.149502,-0.352069,-0.184262,0.10006 --5917.29,0.446088,0.350484,3,-0.292357,0.00706317,-2.97332,-2.10029,-2.03977,-2.23675,-2.31445,-2.51443,-1.68923,-2.05117,-1.89143,-2.27072,-2.2926,-1.62218,-3.08416,-2.70913,-1.23373,-1.60686,-2.14687,-3.11353,-2.98697,-1.39783,-2.01623,-2.99533,-0.190718,-0.316748,-0.215452,-0.329778,-0.166099,-0.324669,-0.354368,-0.366064,-0.119214,-0.264659,-0.514285,-0.212364,-0.327612,-0.122861,-0.133819,-0.334818,-0.289305,-0.307484,-0.286981,-0.437542,-0.476719,-0.185228,-0.247023,0.0840427 --5916.52,0.945859,0.350484,2,-0.318147,0.00595743,-1.97838,-2.24911,-2.26694,-2.30996,-2.37324,-2.66323,-1.79032,-2.05028,-1.91444,-2.22779,-2.17177,-1.20557,-3.07809,-2.82109,-1.31192,-1.59586,-1.95565,-2.5661,-3.42873,-1.42379,-2.0558,-2.92128,-0.371006,-0.282055,-0.4138,-0.405556,-0.315979,-0.237401,-0.307679,-0.126823,-0.445751,-0.351152,-0.208012,-0.327635,-0.237867,-0.144029,-0.413432,-0.112553,-0.18922,-0.234124,-0.323791,-0.209103,-0.677028,-0.421027,-0.332417,0.0771844 --5904.51,0.373905,0.350484,3,-0.304366,0.00273997,-2.72978,-2.05513,-1.96173,-2.4266,-2.33547,-1.81918,-1.66168,-2.06314,-1.86449,-2.15446,-2.3738,-1.59069,-2.90705,-2.64449,-1.44462,-1.40217,-1.86647,-3.1872,-3.38131,-1.4117,-2.24991,-2.82806,-0.320634,-0.246718,-0.346466,-0.322669,-0.367795,-0.27264,-0.456972,-0.318607,-0.265535,-0.334594,-0.303075,-0.275949,-0.275693,-0.375647,-0.325851,-0.488204,-0.295611,-0.140343,-0.356711,-0.344396,-0.302608,-0.356313,-0.388775,0.0523447 --5914.94,0.992287,0.350484,2,-0.327587,0.00232441,-3.05605,-2.10162,-1.98429,-2.39367,-2.34124,-2.19161,-1.67036,-2.06142,-1.91801,-2.07581,-2.48708,-1.61654,-3.12225,-2.4931,-1.46232,-1.34955,-2.00875,-3.79551,-3.28147,-1.44755,-2.08605,-2.8483,-0.340929,-0.282577,-0.284234,-0.355765,-0.399258,-0.372691,-0.489522,-0.345907,-0.352065,-0.279196,-0.35497,-0.33227,-0.351189,-0.0658379,-0.340214,-0.322306,-0.300344,-0.192024,-0.256287,-0.309758,-0.371931,-0.288983,-0.252049,0.0482121 --5913.08,1,0.350484,3,-0.239251,0.00582917,-2.55086,-2.37435,-2.12896,-2.41247,-2.18749,-2.57386,-1.78832,-2.20009,-1.88338,-2.2821,-2.27539,-1.36903,-3.02545,-2.72129,-1.1971,-1.59716,-1.84341,-3.3392,-3.91762,-1.63916,-2.06355,-3.15868,-0.300469,-0.281788,-0.275908,-0.275063,-0.304167,-0.261812,-0.187252,-0.129736,-0.155442,-0.0707161,-0.341206,-0.226016,-0.339075,0.121523,-0.269938,-0.149554,-0.19632,-0.287563,-0.233627,-0.198686,-0.322457,-0.278544,-0.249878,0.076349 --5913.08,0.131863,0.350484,2,-0.239251,0.00582917,-2.55086,-2.37435,-2.12896,-2.41247,-2.18749,-2.57386,-1.78832,-2.20009,-1.88338,-2.2821,-2.27539,-1.36903,-3.02545,-2.72129,-1.1971,-1.59716,-1.84341,-3.3392,-3.91762,-1.63916,-2.06355,-3.15868,-0.300469,-0.281788,-0.275908,-0.275063,-0.304167,-0.261812,-0.187252,-0.129736,-0.155442,-0.0707161,-0.341206,-0.226016,-0.339075,0.121523,-0.269938,-0.149554,-0.19632,-0.287563,-0.233627,-0.198686,-0.322457,-0.278544,-0.249878,0.076349 --5913.84,0.634188,0.350484,2,-0.255702,0.00850967,-1.83486,-2.52505,-1.91554,-2.42397,-2.37931,-2.51863,-1.82268,-2.01786,-1.96783,-2.40707,-2.18314,-1.34736,-3.03449,-2.76838,-1.31528,-1.57006,-1.72861,-3.17386,-3.63624,-1.65627,-2.08841,-2.98999,-0.246289,-0.210634,-0.403345,-0.253564,-0.263808,-0.311727,-0.205152,-0.341455,-0.251375,-0.115723,-0.386402,-0.215543,-0.248738,-0.0644221,-0.293852,-0.0946417,-0.372941,-0.228068,-0.00687915,-0.153877,-0.262949,-0.202325,-0.300798,0.0922479 --5914.5,0.619565,0.350484,2,-0.255658,0.00571504,-1.79504,-2.39477,-1.70551,-2.38098,-2.49416,-2.42366,-1.75677,-2.15904,-1.87211,-2.38909,-2.19564,-1.61891,-3.2054,-2.69184,-1.36361,-1.52942,-1.62479,-2.80941,-3.40037,-1.53645,-1.99996,-2.90989,-0.320703,-0.264174,-0.267042,-0.235026,-0.318843,-0.227504,-0.331434,-0.395964,-0.260251,-0.114492,-0.259029,-0.187036,-0.550755,-0.0876461,-0.222901,-0.364422,-0.244141,-0.276079,-0.318938,-0.175567,-0.25022,-0.25808,-0.230429,0.0755979 --5930.8,0.393629,0.350484,3,-0.249392,0.00609816,-3.42465,-2.56991,-2.37608,-2.31507,-2.48511,-2.24681,-1.89907,-2.20661,-2.21526,-2.21681,-2.35258,-1.3408,-2.66829,-2.65513,-1.15423,-1.66875,-2.34613,-2.61669,-4.1645,-1.34815,-2.13177,-3.18869,-0.119803,-0.239859,-0.701483,-0.307624,-0.117564,-0.139172,-0.183118,0.0197416,-0.248129,-0.324271,-0.246971,-0.260385,-0.029823,-0.282898,-0.282832,-0.0863481,-0.241383,-0.255223,-0.214459,-0.335298,-0.319426,-0.269459,-0.318693,0.0780907 --5911.71,0.701099,0.350484,2,-0.228297,0.00909684,-2.85288,-2.31495,-2.2527,-2.34509,-2.42726,-2.43836,-1.83277,-2.03357,-1.93241,-2.28289,-2.29051,-1.44474,-3.10255,-2.52577,-1.51557,-1.49778,-2.05812,-2.90966,-3.88751,-1.44919,-2.17635,-2.99208,-0.390138,-0.369623,-0.605683,-0.252369,-0.193144,-0.420982,-0.331741,-0.197506,-0.27889,-0.333147,-0.14368,-0.291747,-0.212395,-0.19306,-0.237575,-0.156717,-0.229924,-0.282904,-0.234363,-0.232372,-0.304142,-0.228181,-0.208681,0.0953773 --5917.25,0.424135,0.350484,2,-0.308528,0.00504865,-3.18113,-2.02356,-2.53273,-2.2418,-2.27286,-2.16562,-1.77229,-2.07908,-1.87288,-2.2637,-2.42236,-1.42132,-2.64245,-2.59471,-1.5143,-1.62719,-2.00211,-3.07663,-3.40279,-1.37146,-2.13078,-3.00536,-0.189185,-0.353414,-0.235988,-0.30735,-0.376174,-0.536627,-0.32638,-0.366204,-0.382936,-0.234109,-0.4264,-0.365235,-0.30881,-0.335021,-0.28968,-0.202825,-0.159316,-0.0292337,-0.391076,-0.302125,-0.32991,-0.371408,-0.288302,0.0710539 --5919.72,0.95493,0.350484,2,-0.333606,0.00510802,-2.96885,-2.48608,-2.21041,-2.38871,-2.17878,-1.69335,-1.68499,-2.24017,-1.58828,-2.1995,-2.25259,-1.34837,-2.70576,-2.5144,-1.53625,-1.48325,-1.65786,-3.50169,-3.66366,-1.44822,-2.15885,-2.67571,-0.46559,-0.323065,-0.448502,-0.369195,-0.240434,-0.354696,-0.40751,-0.193995,-0.355679,-0.36775,-0.17991,-0.297647,-0.454665,-0.278626,-0.300983,-0.426979,-0.510973,-0.163127,-0.264549,-0.335852,-0.365091,-0.342657,-0.375879,0.0714704 --5918.17,0.13482,0.350484,2,-0.317597,0.00395808,-1.96005,-2.35751,-2.51056,-2.37551,-2.31585,-1.99052,-1.65366,-2.15387,-1.65403,-2.2459,-2.18604,-1.45589,-2.5875,-2.68878,-1.57159,-1.3913,-1.71923,-3.87333,-3.86703,-1.33947,-2.1558,-2.75818,-0.250413,-0.361157,-0.262378,-0.276067,-0.327247,-0.333458,-0.248699,-0.280712,-0.580795,-0.361919,-0.273608,-0.332595,-0.284802,-0.282706,-0.387343,-0.330538,-0.101605,-0.301176,-0.343769,-0.214245,-0.325175,-0.40815,-0.328171,0.0629133 --5918.17,0.0350577,0.350484,2,-0.317597,0.00395808,-1.96005,-2.35751,-2.51056,-2.37551,-2.31585,-1.99052,-1.65366,-2.15387,-1.65403,-2.2459,-2.18604,-1.45589,-2.5875,-2.68878,-1.57159,-1.3913,-1.71923,-3.87333,-3.86703,-1.33947,-2.1558,-2.75818,-0.250413,-0.361157,-0.262378,-0.276067,-0.327247,-0.333458,-0.248699,-0.280712,-0.580795,-0.361919,-0.273608,-0.332595,-0.284802,-0.282706,-0.387343,-0.330538,-0.101605,-0.301176,-0.343769,-0.214245,-0.325175,-0.40815,-0.328171,0.0629133 --5916.94,2.6103e-10,0.350484,3,-0.284862,0.00215196,-2.34571,-2.3633,-2.52178,-2.40689,-2.34052,-1.9842,-1.67405,-2.16353,-1.68509,-2.21093,-2.16124,-1.44439,-2.50934,-2.61361,-1.61278,-1.27754,-1.73923,-3.6597,-3.91444,-1.42537,-2.18275,-2.85339,-0.291029,-0.3108,-0.35731,-0.288375,-0.322186,-0.237879,-0.334545,-0.272959,-0.615556,-0.323804,-0.248592,-0.307895,-0.260044,-0.27912,-0.338923,-0.303813,-0.130914,-0.374288,-0.353844,-0.247161,-0.305043,-0.422163,-0.198915,0.0463892 --5916.94,0.00159432,0.350484,2,-0.284862,0.00215196,-2.34571,-2.3633,-2.52178,-2.40689,-2.34052,-1.9842,-1.67405,-2.16353,-1.68509,-2.21093,-2.16124,-1.44439,-2.50934,-2.61361,-1.61278,-1.27754,-1.73923,-3.6597,-3.91444,-1.42537,-2.18275,-2.85339,-0.291029,-0.3108,-0.35731,-0.288375,-0.322186,-0.237879,-0.334545,-0.272959,-0.615556,-0.323804,-0.248592,-0.307895,-0.260044,-0.27912,-0.338923,-0.303813,-0.130914,-0.374288,-0.353844,-0.247161,-0.305043,-0.422163,-0.198915,0.0463892 --5915.66,1.07347e-05,0.350484,3,-0.30331,0.00216821,-2.09225,-2.19796,-2.49156,-2.41263,-2.3258,-1.86736,-1.70992,-2.11282,-1.66992,-2.24089,-2.13663,-1.52605,-2.43142,-2.59125,-1.59256,-1.26167,-1.84509,-3.61856,-3.86069,-1.36747,-2.28251,-2.85534,-0.329849,-0.303236,-0.342142,-0.317662,-0.325929,-0.259335,-0.33442,-0.279754,-0.555282,-0.344681,-0.369079,-0.359105,-0.213967,-0.261495,-0.328424,-0.306484,-0.170923,-0.413273,-0.316034,-0.290242,-0.291774,-0.414976,-0.364584,0.046564 --5907.88,0.940235,0.350484,3,-0.239189,0.00478952,-2.89831,-2.08485,-2.09344,-2.40111,-2.41323,-2.44602,-1.68612,-2.17897,-2.11372,-2.26915,-2.46843,-1.46891,-3.42071,-2.68129,-1.11186,-1.63853,-2.0151,-3.35432,-2.92632,-1.54368,-2.34751,-3.07961,-0.183747,-0.232602,-0.219205,-0.257217,-0.255716,-0.23824,-0.368508,-0.282119,-0.133318,-0.287584,-0.230638,-0.242397,-0.007877,-0.249763,-0.263568,-0.183831,-0.0993098,-0.295725,-0.269334,-0.228104,-0.216971,-0.287611,-0.171469,0.0692064 --5910.28,0.173337,0.350484,2,-0.208038,0.00322459,-3.34094,-2.32994,-2.35419,-2.43461,-2.22583,-2.46316,-1.68333,-1.98608,-1.85346,-2.1536,-2.36134,-1.26642,-3.10648,-2.74639,-1.34183,-1.46589,-2.11164,-2.5294,-3.39936,-1.62429,-2.05145,-3.15373,-0.190901,-0.194384,-0.24975,-0.242777,-0.150691,-0.253576,-0.213375,-0.413949,-0.307186,-0.214374,-0.171907,-0.209221,-0.388191,-0.129564,-0.18046,-0.229372,-0.254656,-0.167121,-0.207204,-0.190397,-0.288405,-0.184166,-0.309664,0.0567855 --5909.11,0.0266782,0.350484,2,-0.238083,0.00767042,-2.45185,-2.14024,-2.00219,-2.39298,-2.31324,-2.15401,-1.65359,-2.2895,-1.82405,-2.29806,-2.40217,-1.4966,-2.98354,-2.76096,-1.32055,-1.49185,-1.89999,-3.21957,-3.05088,-1.31346,-2.24986,-2.81905,-0.304718,-0.166646,-0.274708,-0.236663,-0.304,-0.17998,-0.563074,0.0480851,-0.240069,-0.377861,-0.240216,-0.289891,-0.120066,-0.140406,-0.305317,-0.225398,-0.233344,-0.315745,-0.249105,-0.297133,-0.21287,-0.329601,-0.228762,0.087581 --5905.9,0.639224,0.350484,2,-0.261715,0.00366356,-2.46248,-2.38822,-1.86324,-2.35951,-2.3161,-2.55539,-1.61469,-2.21908,-2.11162,-2.22374,-2.3859,-1.27287,-3.0791,-2.57653,-1.19801,-1.43313,-1.81863,-2.99155,-3.94255,-1.6543,-2.11967,-3.08621,-0.256485,-0.251724,-0.292275,-0.230084,-0.252082,-0.206704,-0.383373,-0.152451,-0.256135,-0.166342,-0.173061,-0.261997,-0.382596,-0.216697,-0.273821,-0.23186,-0.181367,-0.14504,-0.139085,-0.213883,-0.271833,-0.268664,-0.193453,0.0605273 --5914.6,0.0505784,0.350484,2,-0.306431,0.00628285,-3.10122,-1.76249,-2.29211,-2.54229,-2.48651,-1.79919,-1.79571,-2.26478,-1.93127,-2.32017,-2.22911,-1.47555,-2.81872,-2.70292,-1.22822,-1.23111,-2.04129,-2.51022,-3.51783,-1.43293,-1.94812,-2.80118,-0.126853,-0.274426,-0.193225,-0.180188,-0.139772,-0.305999,-0.336447,-0.174806,-0.212228,-0.328858,-0.32379,-0.204015,-0.329402,-0.26161,-0.240055,-0.289653,-0.31509,-0.340465,-0.324606,-0.23975,-0.505654,-0.424358,-0.29308,0.0792644 --5913.19,0.803394,0.350484,2,-0.299873,0.00295274,-2.31535,-2.06775,-2.24946,-2.52068,-2.47422,-2.158,-1.65748,-2.12179,-1.71917,-2.17817,-2.28393,-1.661,-3.10875,-2.82248,-1.20465,-1.47469,-2.03959,-2.7579,-3.14569,-1.4469,-1.98975,-3.01885,-0.336837,-0.391814,-0.419333,-0.240464,-0.330593,-0.270763,-0.347807,-0.231331,-0.399643,-0.374138,-0.255436,-0.266458,-0.220655,-0.0458986,-0.163248,-0.254883,-0.219474,-0.233797,-0.111043,-0.325147,-0.503376,-0.238374,-0.268929,0.0543391 --5909.68,1,0.350484,3,-0.260129,0.00296817,-2.33457,-2.09781,-2.23168,-2.39902,-2.24414,-1.80745,-1.71053,-2.10684,-2.24463,-2.30815,-2.32685,-1.39769,-2.88499,-2.78876,-1.35816,-1.59248,-2.10886,-3.26008,-3.52817,-1.49805,-2.22512,-2.86144,-0.256452,-0.194563,-0.33172,-0.256118,-0.343464,-0.0918952,-0.24472,-0.223436,-0.297431,-0.285858,-0.192092,-0.293376,-0.323841,-0.261673,-0.0603307,-0.242076,-0.316333,-0.242943,-0.0558796,-0.257337,-0.165682,-0.305966,-0.298296,0.0544809 --5909.68,0.00154263,0.350484,2,-0.260129,0.00296817,-2.33457,-2.09781,-2.23168,-2.39902,-2.24414,-1.80745,-1.71053,-2.10684,-2.24463,-2.30815,-2.32685,-1.39769,-2.88499,-2.78876,-1.35816,-1.59248,-2.10886,-3.26008,-3.52817,-1.49805,-2.22512,-2.86144,-0.256452,-0.194563,-0.33172,-0.256118,-0.343464,-0.0918952,-0.24472,-0.223436,-0.297431,-0.285858,-0.192092,-0.293376,-0.323841,-0.261673,-0.0603307,-0.242076,-0.316333,-0.242943,-0.0558796,-0.257337,-0.165682,-0.305966,-0.298296,0.0544809 --5914.54,0.632762,0.350484,2,-0.237338,0.0157286,-2.06068,-2.57441,-1.86497,-2.4325,-2.25628,-2.602,-1.71699,-2.11073,-1.84346,-2.17401,-2.41998,-1.41065,-3.15114,-2.70979,-1.33952,-1.47189,-2.16777,-3.18773,-3.22344,-1.69784,-1.90587,-2.67896,-0.321464,-0.226724,-0.247269,-0.203322,-0.440567,-0.373153,-0.3934,-0.297736,-0.373708,-0.374049,-0.233281,-0.127607,-0.251136,-0.00759585,-0.224398,-0.206049,-0.105863,-0.141197,-0.179763,-0.114792,-0.425565,-0.351138,-0.302884,0.125414 --5917.78,0.686405,0.350484,2,-0.313275,0.00672058,-2.66926,-2.33117,-1.82316,-2.33936,-2.40356,-2.44684,-1.58458,-1.96676,-2.15045,-2.24974,-2.57113,-1.57168,-3.0271,-2.82137,-1.23822,-1.32675,-2.07386,-2.84983,-3.2629,-1.55514,-2.14605,-2.9202,-0.252395,-0.255401,-0.388889,-0.305112,-0.443752,-0.377239,-0.504018,-0.329291,-0.305844,-0.329623,-0.311,-0.308645,-0.339255,0.0565846,-0.360637,-0.268045,0.000268625,-0.130742,-0.203437,-0.0944849,-0.219844,-0.2853,-0.24346,0.0819791 --5920.01,0.680724,0.350484,2,-0.247001,0.0107706,-2.627,-1.88951,-2.50482,-2.29997,-2.13132,-1.51827,-1.63894,-2.20554,-1.95475,-2.22802,-2.42399,-1.5797,-2.67639,-2.9371,-1.55026,-1.48822,-1.99237,-2.68956,-3.56196,-1.64954,-2.10957,-2.75062,-0.280137,-0.276419,-0.28713,-0.410846,-0.136368,-0.272317,-0.471573,-0.267137,-0.3672,-0.246192,-0.107242,-0.0306873,-0.155247,0.0827342,-0.189339,-0.117414,-0.223097,-0.297205,-0.208666,-0.278858,-0.538745,-0.291237,-0.272657,0.103781 --5916.93,0.90285,0.350484,3,-0.226914,0.0057319,-2.01168,-2.65564,-1.74132,-2.44222,-2.66004,-2.95978,-1.75103,-1.9994,-1.94712,-2.25581,-2.53909,-1.70837,-3.36792,-2.82644,-1.30785,-1.50423,-1.85527,-3.12742,-3.32808,-1.46138,-2.21843,-3.15707,-0.147823,-0.173865,-0.280129,-0.168007,-0.25081,-0.272092,-0.337526,-0.222321,-0.213463,-0.337142,-0.09556,0.0170482,-0.407539,-0.187276,-0.235265,-0.293384,-0.216236,-0.101065,-0.257315,-0.1231,-0.243685,-0.239142,-0.315039,0.0757093 --5914.62,0.123022,0.350484,2,-0.156814,0.00280313,-2.78065,-1.99739,-2.76147,-2.50535,-2.2709,-1.61323,-1.84379,-2.25473,-2.26348,-2.1999,-2.34015,-1.36891,-2.9679,-2.55275,-1.40945,-1.50207,-1.94042,-2.87579,-3.38469,-1.65795,-2.20092,-2.78274,-0.10013,-0.140917,0.057836,-0.173724,-0.0553744,-0.221335,-0.168629,-0.175872,-0.168952,-0.208526,-0.17949,-0.241832,-0.00116156,-0.162676,-0.136459,-0.089421,-0.118523,-0.139903,-0.123927,-0.214684,-0.23373,-0.142444,-0.0307973,0.0529446 --5906.43,0.756659,0.350484,2,-0.146142,0.0044483,-3.18675,-2.2149,-2.04121,-2.4669,-2.13713,-2.4922,-1.70707,-2.136,-1.98027,-2.25081,-2.44493,-1.4758,-2.96155,-2.76392,-1.56595,-1.46751,-2.05319,-2.57642,-3.21249,-1.45515,-2.21072,-3.13124,-0.128516,-0.158063,-0.119798,-0.127621,-0.281191,-0.146533,-0.250453,-0.0592761,-0.158615,-0.18967,-0.061074,-0.0772628,-0.344213,-0.14898,-0.178668,-0.22702,-0.217987,-0.161737,-0.156422,-0.1005,-0.161596,-0.191667,-0.242565,0.0666956 --5910.69,0.43087,0.350484,3,-0.231465,0.00276636,-1.81064,-2.30206,-2.30808,-2.36587,-2.73425,-1.98783,-1.80165,-2.10124,-1.99802,-2.27742,-2.15922,-1.46996,-3.14699,-2.80826,-1.37035,-1.58396,-2.01269,-3.49358,-3.56078,-1.50277,-2.14725,-2.70128,-0.281901,-0.251555,-0.194138,-0.138293,-0.29473,-0.265246,-0.348723,-0.272716,-0.247732,-0.257036,-0.202284,-0.0709231,-0.402232,-0.189009,-0.231586,-0.236135,-0.289549,-0.229091,-0.293328,-0.251391,-0.325795,-0.219344,-0.337012,0.0525962 --5908.43,0.669802,0.350484,2,-0.242791,0.00262181,-2.68004,-2.11913,-2.18322,-2.39067,-2.73512,-2.04902,-1.73557,-2.12783,-1.95251,-2.29296,-2.07359,-1.54053,-3.01465,-2.88364,-1.38649,-1.51525,-2.04484,-3.41382,-3.44235,-1.54316,-2.26319,-2.63676,-0.183543,-0.215745,-0.289117,-0.201392,-0.215285,-0.250753,-0.221288,-0.259099,-0.202195,-0.177238,-0.30343,-0.0734531,-0.207492,-0.191911,-0.259342,-0.276867,-0.216343,-0.125519,-0.333192,-0.228324,-0.361202,-0.291494,-0.170151,0.0512036 --5908.43,0.000427927,0.350484,2,-0.242791,0.00262181,-2.68004,-2.11913,-2.18322,-2.39067,-2.73512,-2.04902,-1.73557,-2.12783,-1.95251,-2.29296,-2.07359,-1.54053,-3.01465,-2.88364,-1.38649,-1.51525,-2.04484,-3.41382,-3.44235,-1.54316,-2.26319,-2.63676,-0.183543,-0.215745,-0.289117,-0.201392,-0.215285,-0.250753,-0.221288,-0.259099,-0.202195,-0.177238,-0.30343,-0.0734531,-0.207492,-0.191911,-0.259342,-0.276867,-0.216343,-0.125519,-0.333192,-0.228324,-0.361202,-0.291494,-0.170151,0.0512036 --5913.72,1,0.350484,2,-0.231593,0.00300788,-2.52428,-2.09349,-2.3732,-2.43243,-2.80958,-2.17609,-1.74785,-2.08271,-1.96072,-2.30235,-2.06402,-1.58481,-3.04326,-2.90938,-1.44053,-1.51398,-2.05118,-3.42634,-3.36229,-1.5242,-2.29282,-2.69582,-0.17984,-0.254019,-0.295702,-0.209538,-0.184918,-0.221441,-0.247691,-0.27146,-0.150199,-0.156448,-0.368499,-0.101255,-0.258894,-0.305094,-0.284526,-0.297094,-0.153327,-0.2247,-0.295559,-0.225859,-0.368591,-0.294533,-0.270506,0.0548441 --5915.41,0.105022,0.350484,2,-0.263751,0.00875206,-2.68769,-2.37912,-1.53627,-2.4206,-2.22644,-1.87727,-1.5909,-1.96691,-1.95642,-2.22956,-2.45606,-1.38568,-3.00327,-2.60525,-1.36265,-1.39896,-1.9908,-2.74086,-3.73912,-1.40763,-1.8953,-2.86162,-0.262995,-0.299628,-0.241598,-0.272295,-0.244695,-0.286928,-0.498469,-0.262532,-0.390695,-0.377906,-0.166127,-0.171706,-0.291946,0.125068,-0.227622,-0.167294,-0.302264,-0.277101,-0.188832,-0.389572,-0.250671,-0.491529,-0.25843,0.0935524 --5923.63,0.940898,0.350484,3,-0.282264,0.00823574,-1.85098,-2.2753,-2.68943,-2.31315,-2.34725,-1.93705,-1.84131,-2.09343,-1.91933,-2.29934,-2.54971,-1.36329,-2.62374,-3.09505,-1.42786,-1.23696,-1.96774,-2.9297,-3.79835,-1.29406,-2.19912,-2.80995,-0.316725,-0.278625,-0.306665,-0.282311,-0.313298,-0.367313,-0.231802,-0.340398,-0.204657,-0.17529,0.036798,-0.132046,-0.411266,-0.0444752,-0.244338,-0.403295,-0.216658,-0.25578,-0.354198,-0.330765,-0.490174,-0.242552,-0.298379,0.090751 --5920.34,1,0.350484,2,-0.217804,0.0139064,-2.39911,-2.3926,-2.71819,-2.22793,-2.30099,-2.26411,-1.87738,-1.99877,-1.9158,-2.34266,-2.52944,-1.5045,-2.91832,-3.05968,-1.47094,-1.40799,-2.10779,-2.97518,-3.47154,-1.37569,-2.07378,-2.99304,-0.17016,-0.250071,-0.0741265,-0.352455,-0.153525,-0.266995,-0.197829,-0.313352,-0.241791,-0.186845,0.0227758,-0.0718791,-0.402939,0.311664,-0.0839647,-0.369567,-0.208362,-0.197313,-0.0838744,-0.376753,-0.30154,-0.330454,-0.277122,0.117925 --5909.47,0.771821,0.350484,2,-0.274419,0.00532929,-2.00842,-2.00832,-1.78166,-2.46718,-2.56146,-2.06847,-1.63588,-2.19814,-2.30509,-2.2013,-2.30121,-1.54509,-3.17477,-2.69683,-1.37068,-1.60418,-1.74164,-3.27561,-3.39854,-1.54886,-2.18466,-3.04805,-0.350262,-0.309983,-0.425638,-0.250669,-0.234739,-0.25591,-0.38838,-0.163334,-0.22256,-0.32438,-0.347335,-0.215211,-0.0802039,-0.163978,-0.341639,-0.153835,-0.296556,-0.204961,-0.36782,-0.181322,-0.279904,-0.230349,-0.294979,0.073002 --5913.62,0.656801,0.350484,2,-0.246822,0.0102435,-2.04583,-2.414,-2.05501,-2.39036,-2.18001,-2.14759,-1.60267,-2.23641,-2.18499,-2.1505,-2.31403,-1.35042,-3.07783,-2.65465,-1.21096,-1.57854,-2.12142,-3.20187,-3.5053,-1.35447,-2.22853,-3.11679,-0.116416,-0.318035,-0.0975268,-0.10661,-0.243692,-0.272138,-0.49404,-0.184429,-0.150746,-0.355013,-0.231884,-0.240732,-0.334971,-0.176754,-0.164088,-0.102096,-0.165339,-0.256958,-0.290712,-0.405307,-0.367041,-0.246741,-0.205281,0.10121 --5925.23,0.6547,0.350484,2,-0.230893,0.00816029,-2.04986,-2.47156,-1.96127,-2.3764,-2.08798,-1.78715,-1.59178,-2.15093,-2.22708,-2.17288,-2.37599,-1.3033,-2.77272,-2.51524,-1.26224,-1.65101,-2.18788,-3.25984,-3.58386,-1.47328,-2.23218,-2.91327,-0.0614678,-0.266198,-0.0715318,-0.242969,-0.324235,-0.368717,-0.535336,-0.0989403,-0.138297,-0.309473,-0.0998305,-0.247137,-0.286093,-0.14062,-0.102246,-0.0589067,-0.387728,-0.377562,-0.280364,-0.244123,-0.448347,-0.181871,-0.251954,0.0903343 --5929.03,0.950467,0.350484,4,-0.0896933,0.0253008,-3.03732,-2.11071,-2.32631,-2.55685,-2.87384,-2.81768,-1.68628,-2.24448,-1.97698,-2.28469,-2.24874,-1.71102,-3.07347,-2.89049,-1.52896,-1.34294,-2.06409,-2.76136,-4.03708,-1.6028,-2.23832,-2.94712,-0.211812,-0.115192,-0.276031,-0.036303,0.108773,0.069518,-0.364601,-0.169413,-0.146689,-0.267107,-0.307854,-0.0141655,-0.132763,0.297432,-0.262699,-0.292125,0.259081,0.147799,0.0893011,-0.0733636,-0.146954,-0.418879,0.0101878,0.159062 --5922.49,0.897152,0.350484,3,-0.399327,0.0175255,-1.68146,-1.80831,-2.02818,-2.16612,-2.50367,-2.12037,-1.68676,-2.16071,-1.82634,-2.24485,-2.39922,-1.38513,-3.00944,-2.73596,-1.45119,-1.52219,-1.7634,-2.72663,-3.5292,-1.48509,-2.16638,-2.96183,-0.504297,-0.567879,-0.589432,-0.477816,-0.250954,-0.479743,-0.569521,-0.3015,-0.43758,-0.3164,-0.234247,-0.409866,-0.338738,-0.354986,-0.397224,-0.0940798,-0.235895,-0.330453,-0.414742,-0.327066,-0.220128,-0.526941,-0.481649,0.132384 --5926.06,0.113817,0.350484,3,-0.219905,0.00587797,-3.41491,-2.52703,-2.40321,-2.51862,-2.24942,-2.66595,-1.75778,-2.16214,-2.04863,-2.16029,-2.26981,-1.45741,-2.7925,-2.8437,-1.22618,-1.37858,-1.8699,-2.83517,-3.13743,-1.29563,-1.96915,-2.86911,-0.135041,-0.138102,-0.193345,-0.00584762,-0.164556,-0.0896618,-0.412637,-0.28247,-0.346871,-0.353661,-0.341101,-0.165217,-0.167065,0.0676738,-0.329879,-0.412167,-0.113768,-0.0758373,-0.201934,-0.162321,-0.726067,-0.234461,-0.171193,0.0766679 --5926.61,1,0.350484,3,-0.24261,0.0195164,-2.89165,-2.06272,-2.48078,-2.51214,-2.47759,-2.77995,-1.71322,-1.90934,-1.99929,-2.19723,-2.39682,-1.63085,-3.02571,-2.74891,-1.23991,-1.41338,-1.81483,-2.48623,-2.8192,-1.41346,-1.99011,-2.76705,-0.280556,-0.152668,-0.176329,0.0129075,-0.243246,-0.240344,-0.238845,-0.177558,-0.498327,-0.269718,-0.200971,-0.0673729,-0.413073,-0.254832,-0.239096,-0.249537,-0.323553,-0.323006,-0.302999,-0.302603,-0.7905,-0.425833,-0.31861,0.139701 --5919.86,0.997645,0.350484,3,-0.295062,0.0090276,-2.24552,-2.59329,-1.89449,-2.4585,-2.15688,-1.43579,-1.68748,-2.23294,-1.84383,-2.22776,-2.21195,-1.46292,-2.74782,-2.76205,-1.2886,-1.64039,-1.97992,-3.1466,-3.78776,-1.63276,-2.25267,-3.03559,-0.387371,-0.407599,-0.408326,-0.28291,-0.277728,-0.31195,-0.554955,-0.29506,-0.181244,-0.38279,-0.370754,-0.206947,-0.253149,-0.0988285,-0.458882,-0.263358,-0.241115,-0.234836,-0.21779,-0.213485,-0.0923074,-0.398904,-0.392229,0.0950137 --5922.98,1,0.350484,3,-0.273653,0.00582042,-2.27665,-1.73531,-2.35784,-2.28104,-2.59595,-2.89116,-1.76508,-1.94843,-1.92539,-2.21693,-2.22005,-1.59579,-3.42411,-2.63556,-1.3633,-1.35318,-1.95013,-2.73472,-2.63541,-1.32048,-2.11397,-2.64851,-0.303375,-0.317962,-0.259199,-0.339164,-0.318591,-0.31138,-0.263687,-0.285072,-0.553701,-0.203949,-0.330341,-0.120546,-0.322415,-0.0810296,-0.205889,-0.303082,-0.339871,-0.402415,-0.336768,-0.344822,-0.597444,-0.400501,-0.262031,0.0762917 --5929.7,0.677836,0.350484,2,-0.323655,0.0143544,-1.92287,-2.60738,-2.21655,-2.4891,-2.78293,-2.81728,-1.76616,-2.05829,-1.79269,-2.28644,-2.1821,-1.48906,-3.24088,-2.75866,-1.16886,-1.12854,-1.78532,-3.30556,-3.86073,-1.35761,-2.17335,-2.89041,-0.322588,-0.472976,-0.209608,-0.136071,-0.173471,-0.254013,-0.492108,-0.280981,-0.577171,-0.308314,-0.190235,-0.212132,-0.177488,-0.324491,-0.225232,-0.569301,-0.296283,-0.155356,-0.335979,-0.21382,-0.364368,-0.297587,-0.43399,0.11981 --5920.89,0.879338,0.350484,3,-0.312281,0.0205965,-2.9134,-2.21846,-1.8751,-2.49456,-2.19343,-1.92559,-1.71063,-2.06504,-1.83726,-2.23305,-2.40893,-1.4025,-2.93101,-2.67878,-1.32812,-1.49948,-2.30144,-2.59765,-2.97061,-1.65947,-2.03924,-2.81662,-0.194182,-0.105644,-0.401452,-0.206595,-0.218284,-0.38297,-0.255903,-0.305683,-0.316432,-0.261452,-0.414237,-0.245897,-0.320597,0.167804,-0.400536,-0.313396,-0.123975,-0.258011,-0.159838,-0.285218,-0.288417,-0.439256,-0.427935,0.143515 --5914.72,4.16385e-05,0.350484,2,-0.264341,0.00386446,-3.05908,-2.56024,-1.9877,-2.4756,-2.15292,-2.0129,-1.67896,-2.17198,-1.80672,-2.23755,-2.40427,-1.28513,-2.90826,-2.78389,-1.28002,-1.54044,-2.36451,-2.96842,-3.37321,-1.61004,-2.02337,-2.93218,-0.352919,-0.221585,-0.312345,-0.297902,-0.308703,-0.218902,-0.242292,-0.241934,-0.17734,-0.269733,-0.351382,-0.287616,-0.294998,0.204151,-0.262416,-0.28002,-0.173802,-0.267032,-0.221535,-0.200656,-0.31018,-0.457161,-0.473024,0.0621648 --5922.76,0.148134,0.350484,2,-0.278489,0.0196212,-2.22227,-2.50353,-2.57762,-2.27826,-2.20526,-1.9709,-1.57951,-2.20196,-2.07916,-2.27767,-2.25976,-1.7274,-3.01134,-2.68487,-1.4274,-1.46249,-1.99628,-2.22561,-3.29873,-1.81582,-2.25682,-2.94787,-0.0547146,-0.267665,-0.26073,-0.261837,-0.218329,-0.214059,-0.487254,-0.103001,-0.274934,-0.209807,-0.311347,-0.1908,-0.301046,-0.241936,-0.20052,-0.230033,-0.258932,-0.391846,-0.158876,-0.122853,-0.448944,-0.403561,-0.200847,0.140076 --5917.84,0.90014,0.350484,2,-0.266905,0.00798407,-2.62202,-1.90733,-2.33048,-2.5121,-2.64312,-2.31709,-1.71366,-2.00831,-1.89911,-2.26586,-2.24158,-1.24109,-2.99217,-2.75764,-1.36402,-1.39288,-2.06757,-3.5142,-3.67934,-1.26652,-2.04625,-2.9985,-0.36568,-0.155933,-0.145953,-0.173858,-0.197136,-0.289212,-0.371686,-0.342703,-0.177402,-0.272457,-0.21319,-0.217468,-0.17617,0.178124,-0.246917,-0.266951,-0.202089,-0.140128,-0.283997,-0.28952,-0.11295,-0.121621,-0.275723,0.0893536 --5921.39,0.532253,0.350484,2,-0.224221,0.0117028,-2.12005,-2.11217,-2.25136,-2.45782,-2.63907,-2.87991,-1.74859,-2.14025,-1.83895,-2.21339,-2.25415,-1.30341,-2.76958,-2.75878,-1.55581,-1.28617,-1.99597,-3.27697,-3.43293,-1.18749,-2.08796,-3.11336,-0.40569,-0.181202,-0.18317,-0.152651,-0.224896,-0.218631,-0.345681,-0.229768,-0.27367,-0.311466,-0.3533,-0.322946,-0.350705,0.0138371,-0.359658,-0.156287,-0.135625,-0.352611,-0.131138,-0.180837,-0.0515584,-0.268678,-0.333072,0.108179 --5914.74,0.99416,0.350484,2,-0.292926,0.00260584,-2.08764,-1.9849,-2.0281,-2.42054,-2.22566,-1.97305,-1.66773,-1.92162,-1.933,-2.26465,-2.21675,-1.41582,-2.70367,-2.84553,-1.08553,-1.45687,-1.79615,-2.40439,-3.90261,-1.52487,-1.96474,-2.66904,-0.290376,-0.421628,-0.199268,-0.330187,-0.292001,-0.243548,-0.304888,-0.297109,-0.308332,-0.284629,-0.262825,-0.233764,-0.363877,-0.271684,-0.199921,-0.380463,-0.374605,-0.199126,-0.266558,-0.376645,-0.699144,-0.309267,-0.27739,0.0510474 --5921.05,1,0.350484,2,-0.310092,0.00780799,-2.16139,-2.44446,-2.26376,-2.36108,-2.39413,-2.50712,-1.8337,-2.16257,-2.0713,-2.29499,-2.29146,-1.16666,-3.18398,-2.69646,-1.53168,-1.82157,-1.90868,-3.15051,-3.76886,-1.43766,-1.9449,-3.03492,-0.37506,-0.195159,-0.424596,-0.193387,-0.310954,-0.454765,-0.351148,-0.28286,-0.28843,-0.272714,-0.353217,-0.408839,-0.265722,0.0278714,-0.471639,-0.222582,-0.234513,-0.353375,-0.362131,-0.183814,-0.232933,-0.414704,-0.291589,0.0883628 --5918.18,1,0.350484,3,-0.32288,0.00532796,-2.55219,-1.79007,-1.53088,-2.26276,-2.00083,-2.16425,-1.68881,-2.04813,-1.97761,-2.2445,-2.26134,-1.3964,-2.71956,-2.55427,-1.44902,-1.51234,-1.74329,-2.5274,-3.3595,-1.50429,-2.1826,-3.03305,-0.331106,-0.420139,-0.27774,-0.485539,-0.294882,-0.1848,-0.310385,-0.24676,-0.317154,-0.306394,-0.244222,-0.300415,-0.365694,-0.454787,-0.44023,-0.306956,-0.337962,-0.322189,-0.233896,-0.398851,-0.461106,-0.206157,-0.260556,0.0729929 --5914.2,0.581376,0.350484,2,-0.313615,0.00527926,-2.48728,-1.91858,-1.46652,-2.22178,-2.11694,-2.07832,-1.68998,-2.00812,-1.97843,-2.23702,-2.29543,-1.35222,-2.97536,-2.64816,-1.53162,-1.38653,-1.83598,-2.53238,-2.97816,-1.36788,-2.1241,-2.96573,-0.328668,-0.337533,-0.320387,-0.359291,-0.396828,-0.178384,-0.366136,-0.156291,-0.24663,-0.329187,-0.315735,-0.375085,-0.277035,-0.126131,-0.4917,-0.379689,-0.328748,-0.367069,-0.351047,-0.206678,-0.323568,-0.424923,-0.204571,0.0726585 --5923.82,0.376666,0.350484,3,-0.248845,0.0127728,-2.17432,-2.37325,-2.7746,-2.49549,-2.61682,-2.43992,-1.71004,-2.01855,-1.86946,-2.27611,-2.1899,-1.43907,-2.93401,-2.57149,-1.17839,-1.53449,-2.17145,-3.39858,-3.82003,-1.3654,-2.05141,-2.94246,-0.190114,-0.246532,-0.195622,-0.171068,-0.1767,-0.198937,-0.317603,-0.114666,-0.25916,-0.378783,-0.0904549,-0.0488113,-0.192324,-0.164492,-0.309361,-0.266207,-0.375988,-0.337956,-0.324309,-0.578595,-0.266952,-0.327648,-0.095887,0.113017 --5929.54,0.830743,0.350484,2,-0.266043,0.00784387,-2.24455,-2.28656,-2.82781,-2.5231,-2.6373,-2.30956,-1.73791,-2.00776,-1.94471,-2.28608,-2.17173,-1.41713,-2.86356,-2.55964,-1.19469,-1.51942,-2.10698,-3.47335,-3.83768,-1.38312,-2.00097,-2.91963,-0.134425,-0.242341,-0.169582,-0.113924,-0.134852,-0.237214,-0.394952,-0.157013,-0.299959,-0.323362,-0.0891113,0.02109,-0.208844,-0.227267,-0.297653,-0.238434,-0.45074,-0.372627,-0.282916,-0.601601,-0.256981,-0.347783,-0.0806146,0.0885656 --5919.96,1,0.350484,2,-0.243806,0.0104311,-2.36472,-2.16976,-1.65073,-2.3643,-2.5648,-2.01763,-1.63076,-2.13588,-1.97192,-2.24391,-2.34634,-1.60285,-2.64457,-2.83469,-1.20274,-1.65298,-2.09113,-2.59149,-3.50787,-1.44842,-2.3112,-2.85405,-0.301731,-0.210421,-0.324608,-0.280011,-0.168314,-0.247035,-0.481192,-0.315541,-0.447098,-0.231571,-0.37074,-0.229015,-0.366943,-0.0262567,-0.225271,-0.181572,0.0384504,-0.0934649,-0.0980935,-0.36973,-0.321451,-0.420108,-0.622942,0.102133 --5929,0.857875,0.350484,2,-0.279412,0.0044128,-2.36731,-2.62214,-2.48095,-2.43856,-2.62921,-2.0353,-1.63344,-2.06376,-1.63349,-2.25375,-2.43679,-1.37611,-3.49484,-2.39576,-1.24834,-1.45632,-2.15642,-3.50915,-3.79041,-1.44392,-1.95771,-2.67122,-0.284308,-0.347808,-0.259527,-0.237652,-0.189091,-0.342833,-0.401467,-0.19206,-0.456972,-0.280042,-0.036828,-0.101739,-0.249412,-0.3317,-0.349329,-0.296469,-0.376396,-0.440146,-0.390443,-0.178511,-0.332714,-0.350077,-0.129855,0.0664289 --5929.24,0.308899,0.350484,3,-0.202085,0.0138343,-3.15624,-1.69946,-1.68155,-2.33758,-2.2571,-2.43836,-1.76569,-2.08332,-2.19327,-2.18234,-2.26455,-1.54868,-3.18597,-3.0835,-1.5501,-1.49526,-1.80775,-2.91522,-2.85506,-1.58149,-2.28791,-3.16494,-0.088258,-0.307112,-0.288513,-0.212188,-0.234758,-0.238034,-0.457132,-0.278659,-0.117115,-0.339656,-0.356657,-0.324133,-0.146284,0.170021,-0.156071,-0.206981,-0.177356,0.460182,-0.191302,-0.320465,-0.162844,-0.252201,-0.344011,0.117619 --5936.13,0.960172,0.350484,3,-0.236373,0.0117083,-1.76479,-2.74393,-2.60548,-2.49141,-2.6375,-2.27055,-1.71553,-2.3297,-1.80654,-2.30927,-2.49168,-1.67452,-2.82477,-2.54415,-1.13645,-1.4538,-2.21383,-3.25112,-4.15717,-1.45966,-1.96791,-2.85667,-0.16026,-0.0859094,-0.131379,-0.202408,-0.0539791,-0.288437,-0.289677,-0.225358,-0.300817,-0.223593,-0.0674439,0.288257,-0.260658,-0.279394,-0.21807,-0.220238,-0.115233,-0.851611,-0.1842,-0.0961471,-0.270316,-0.460612,-0.111501,0.108205 --5932.13,0.649668,0.350484,2,-0.169622,0.0311628,-3.38679,-1.85161,-1.88336,-2.43872,-2.46516,-2.52497,-1.69862,-1.94301,-2.0613,-2.20174,-2.48015,-1.63485,-3.33454,-3.11605,-1.35788,-1.61727,-2.21542,-2.26687,-3.31393,-1.62441,-1.99877,-3.05209,-0.0900521,-0.272106,-0.157925,-0.0774235,-0.0448339,-0.0950723,-0.447346,-0.0826422,-0.0744519,-0.363485,-0.107215,-0.057696,-0.352782,0.366154,-0.341587,0.0904334,-0.0117748,-0.134799,-0.12037,-0.252578,-0.783878,-0.151793,-0.347293,0.17653 --5923.88,0.92411,0.350484,2,-0.198997,0.0115843,-3.04077,-2.43374,-2.38549,-2.54976,-2.61456,-1.84848,-1.77536,-2.29141,-2.01829,-2.32246,-2.1216,-1.5846,-2.85875,-2.71767,-1.42038,-1.46459,-1.87648,-3.68059,-3.44289,-1.39543,-2.11274,-2.77473,0.201073,-0.399219,-0.0688923,-0.146407,-0.18601,-0.340324,-0.237425,-0.276916,-0.188312,-0.155753,-0.349254,0.0931857,-0.321172,-0.118724,-0.209496,-0.166176,-0.251515,-0.180735,-0.183364,-0.193062,-0.141076,-0.465473,-0.135219,0.107631 --5919.5,0.876781,0.350484,2,-0.19454,0.0112859,-3.03495,-1.93226,-2.34091,-2.54138,-2.24773,-2.23159,-1.6731,-2.18063,-1.99895,-2.29556,-2.18213,-1.37424,-2.89973,-2.62441,-1.20724,-1.36616,-1.907,-3.50196,-3.10787,-1.50913,-2.13009,-2.93097,-0.0267956,-0.518775,-0.0365646,-0.223901,-0.199949,-0.119813,-0.411772,-0.167705,-0.175674,-0.203565,-0.253204,0.0682758,-0.319126,-0.15145,-0.407419,-0.219903,-0.117799,-0.265692,-0.136323,-0.158079,-0.12469,-0.155251,-0.169017,0.106235 --5911.08,0.861477,0.350484,2,-0.220095,0.00346177,-2.76357,-2.32473,-1.93978,-2.37451,-2.42609,-2.25305,-1.58988,-2.08007,-1.99908,-2.22927,-2.32984,-1.5096,-2.82188,-2.68264,-1.34814,-1.5298,-2.13617,-2.80759,-3.83377,-1.50353,-2.37906,-2.99292,-0.300997,-0.214381,-0.419167,-0.212305,-0.0289839,-0.251303,-0.480878,-0.149832,-0.210794,-0.413759,-0.243278,-0.342339,-0.187136,-0.167052,-0.138824,-0.288999,-0.213507,-0.0353996,-0.192194,-0.232103,-0.26165,-0.242821,-0.200951,0.0588368 --5909.14,0.736709,0.350484,3,-0.309715,0.00547858,-2.16758,-2.36158,-2.27683,-2.31087,-2.18536,-1.76304,-1.87232,-2.00627,-2.13511,-2.28907,-2.28306,-1.54487,-2.87357,-2.68674,-1.30067,-1.46169,-1.67576,-2.81944,-2.88347,-1.44937,-2.1695,-2.9363,-0.170855,-0.415411,-0.352918,-0.309044,-0.288477,-0.303422,-0.20212,-0.368833,-0.219514,-0.353056,-0.293547,-0.345901,-0.302633,-0.172789,-0.244691,-0.387074,-0.307485,-0.271729,-0.285735,-0.459527,-0.33233,-0.339011,-0.306141,0.0740175 --5907.31,0.48163,0.350484,2,-0.325662,0.00300705,-2.34862,-2.40247,-1.88779,-2.40805,-2.26415,-2.06074,-1.86778,-2.06203,-2.21525,-2.17931,-2.33306,-1.19173,-2.917,-2.69844,-1.48984,-1.27604,-1.89823,-2.97792,-3.3012,-1.52305,-2.09347,-2.77736,-0.426773,-0.221142,-0.282022,-0.334247,-0.284828,-0.370545,-0.435714,-0.200427,-0.335538,-0.373026,-0.29896,-0.279629,-0.338557,-0.273676,-0.341351,-0.2819,-0.272604,-0.302159,-0.343605,-0.324807,-0.323609,-0.325669,-0.132704,0.0548366 --5904.13,0.208802,0.350484,2,-0.326214,0.00335972,-2.36364,-2.33795,-1.84182,-2.38104,-2.19442,-2.26928,-1.82911,-2.0717,-2.13079,-2.18216,-2.31434,-1.18624,-2.88598,-2.74078,-1.47799,-1.34519,-1.91145,-2.91439,-3.25365,-1.52439,-2.06736,-2.81957,-0.385016,-0.313927,-0.274927,-0.329231,-0.338367,-0.379624,-0.368567,-0.321132,-0.309546,-0.392565,-0.339139,-0.252461,-0.381414,-0.321115,-0.420571,-0.326198,-0.245649,-0.319966,-0.345202,-0.376211,-0.192064,-0.323599,-0.241721,0.0579631 --5904.89,1.33401e-14,0.350484,3,-0.288407,0.0014043,-2.23858,-2.03744,-2.40498,-2.35424,-2.27467,-2.08403,-1.63212,-2.08964,-1.80594,-2.20126,-2.22095,-1.50518,-2.89945,-2.51939,-1.32921,-1.22929,-2.12249,-2.23413,-2.89467,-1.50882,-2.15207,-3.12722,-0.324802,-0.278611,-0.245833,-0.274393,-0.295979,-0.3422,-0.358072,-0.218541,-0.323015,-0.269984,-0.282691,-0.303116,-0.336567,-0.39023,-0.274818,-0.26926,-0.290394,-0.265377,-0.312082,-0.296772,-0.507817,-0.2706,-0.191562,0.037474 --5902.86,3.52728e-40,0.350484,2,-0.270248,0.00241881,-2.3233,-2.0757,-2.18161,-2.37493,-2.3371,-2.07266,-1.64419,-2.01793,-1.82094,-2.22652,-2.22455,-1.47106,-2.90799,-2.41343,-1.36631,-1.22386,-2.16763,-2.23425,-3.00159,-1.50173,-2.14889,-3.05593,-0.170087,-0.320678,-0.27046,-0.301735,-0.330369,-0.25182,-0.359298,-0.244512,-0.27858,-0.261345,-0.289386,-0.276457,-0.276736,-0.263119,-0.266768,-0.271421,-0.256669,-0.250439,-0.35734,-0.217495,-0.479509,-0.260992,-0.249375,0.0491814 --5899.37,9.41897e-33,0.350484,4,-0.298742,0.00282477,-2.37725,-2.10052,-2.35802,-2.34884,-2.34462,-1.90088,-1.66573,-2.01511,-1.87599,-2.27007,-2.17908,-1.45879,-2.97453,-2.41791,-1.42047,-1.24982,-2.08166,-2.56466,-3.13558,-1.59728,-2.21629,-3.09308,-0.25022,-0.260034,-0.233825,-0.307605,-0.292625,-0.286702,-0.367882,-0.239059,-0.263583,-0.303848,-0.297729,-0.281551,-0.284429,-0.303362,-0.274628,-0.258342,-0.299056,-0.272563,-0.322061,-0.179476,-0.451357,-0.29349,-0.314887,0.0531486 --5899.37,9.90092e-12,0.350484,3,-0.298742,0.00282477,-2.37725,-2.10052,-2.35802,-2.34884,-2.34462,-1.90088,-1.66573,-2.01511,-1.87599,-2.27007,-2.17908,-1.45879,-2.97453,-2.41791,-1.42047,-1.24982,-2.08166,-2.56466,-3.13558,-1.59728,-2.21629,-3.09308,-0.25022,-0.260034,-0.233825,-0.307605,-0.292625,-0.286702,-0.367882,-0.239059,-0.263583,-0.303848,-0.297729,-0.281551,-0.284429,-0.303362,-0.274628,-0.258342,-0.299056,-0.272563,-0.322061,-0.179476,-0.451357,-0.29349,-0.314887,0.0531486 --5905.71,4.62793e-61,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,1.76472e-05,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,1.81501e-05,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,3.05173e-12,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,0.191567,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,1.41978e-16,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,2.67049e-10,0.350484,2,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,2.41643e-15,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,3.08994e-10,0.350484,4,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,5.00492e-05,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,0.000488761,0.350484,1,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5905.71,2.58051e-19,0.350484,3,-0.272944,0.000977208,-2.56478,-2.2352,-2.46352,-2.2861,-2.46246,-2.08367,-1.66487,-1.99615,-1.99397,-2.17498,-2.21984,-1.41337,-2.87101,-2.53438,-1.32989,-1.30564,-2.02519,-2.64881,-3.18171,-1.53624,-2.09636,-3.16947,-0.289782,-0.323364,-0.35908,-0.217884,-0.235017,-0.286814,-0.388288,-0.300234,-0.320154,-0.249541,-0.299169,-0.268761,-0.281356,-0.130431,-0.284324,-0.312751,-0.24753,-0.299348,-0.241994,-0.245062,-0.543447,-0.325644,-0.229704,0.0312603 --5902.3,0.132251,0.350484,2,-0.303579,0.00337686,-2.20334,-2.07849,-2.36104,-2.39912,-2.34166,-2.15837,-1.66579,-2.08938,-2.03425,-2.32435,-2.21936,-1.32439,-2.98131,-2.82367,-1.26374,-1.5449,-1.74657,-2.72465,-3.71118,-1.39597,-1.96065,-3.05814,-0.33536,-0.318561,-0.202985,-0.363598,-0.271649,-0.299199,-0.287995,-0.243186,-0.242094,-0.279676,-0.258973,-0.264545,-0.34064,-0.231512,-0.296836,-0.233374,-0.306991,-0.295604,-0.264411,-0.304515,-0.680306,-0.266509,-0.3649,0.0581108 --5900.69,2.43605e-14,0.350484,2,-0.29526,0.0038962,-2.54769,-2.07708,-2.18955,-2.43395,-2.32978,-2.06819,-1.68807,-2.10292,-2.03259,-2.31637,-2.2079,-1.35204,-3.02916,-2.77393,-1.19927,-1.5202,-1.71176,-2.71703,-3.83233,-1.37617,-1.94348,-3.07208,-0.282653,-0.263588,-0.274903,-0.356148,-0.246667,-0.321832,-0.299591,-0.213314,-0.30143,-0.268,-0.258221,-0.249718,-0.308659,-0.21193,-0.296909,-0.252419,-0.313317,-0.24867,-0.262642,-0.310417,-0.702448,-0.285247,-0.291228,0.0624196 --5910.48,0.0384423,0.350484,3,-0.342014,0.00322585,-3.08887,-2.21884,-2.12021,-2.35774,-2.52429,-2.38121,-1.67565,-2.27503,-1.91743,-2.22988,-2.32492,-1.58541,-2.98006,-2.59159,-1.09479,-1.42303,-1.81593,-3.30915,-3.67174,-1.25196,-2.05596,-2.94197,-0.795744,-0.34687,-0.346751,-0.200439,-0.272899,-0.318671,-0.433787,-0.352989,-0.250723,-0.302453,-0.362487,-0.308036,-0.274345,-0.298259,-0.340194,-0.347047,-0.273108,-0.313207,-0.327578,-0.325303,-0.331759,-0.334314,-0.323262,0.0567966 --5912.31,0.841476,0.350484,3,-0.328529,0.00662517,-2.05888,-2.07723,-2.1791,-2.29119,-2.19088,-1.92351,-1.74884,-1.98609,-1.93839,-2.1959,-2.33695,-1.3187,-3.06176,-2.71664,-1.54003,-1.46732,-1.94928,-2.50054,-3.08894,-1.64116,-2.12043,-2.8582,0.0844029,-0.284772,-0.335308,-0.212835,-0.312047,-0.329615,-0.391831,-0.478345,-0.278695,-0.320859,-0.39033,-0.376974,-0.2541,-0.160395,-0.198371,-0.351238,-0.272643,-0.309279,-0.382971,-0.290977,-0.290466,-0.31726,-0.335979,0.0813951 --5914.66,0.494002,0.350484,2,-0.259221,0.00608415,-2.07737,-2.05627,-2.25689,-2.30297,-2.33689,-1.94219,-1.7639,-1.9202,-2.08173,-2.24149,-2.34995,-1.26587,-2.73116,-2.73976,-1.4574,-1.52607,-1.82092,-2.84569,-3.08651,-1.41653,-2.05533,-2.98223,-0.430918,-0.42393,-0.531304,-0.375082,-0.176826,-0.233468,-0.36728,-0.180091,-0.171297,-0.278467,-0.173338,-0.490431,-0.346996,-0.103661,-0.187135,-0.290086,-0.301069,-0.276457,-0.141871,-0.279256,-0.328378,-0.251479,-0.170978,0.0780009 --5916.96,0.842455,0.350484,3,-0.252236,0.015964,-2.20674,-2.23479,-2.25343,-2.31909,-2.24827,-2.15043,-1.7108,-2.03641,-2.01261,-2.18726,-2.48224,-1.37868,-2.92725,-2.53423,-1.66235,-1.58613,-1.88309,-3.02085,-3.37636,-1.4573,-2.10745,-2.85456,-0.306007,-0.331172,-0.588129,-0.331905,-0.140013,-0.250088,-0.287343,-0.346993,-0.106041,-0.330388,-0.199347,-0.416679,-0.286165,-0.108401,-0.0552616,-0.290354,-0.263791,-0.249623,-0.146747,-0.343438,-0.177199,-0.376473,-0.221565,0.126349 --5929.65,0.625215,0.350484,3,-0.27883,0.0116702,-1.75626,-2.15949,-1.84925,-2.49886,-2.38285,-2.15975,-1.7131,-2.11153,-2.03323,-2.03482,-2.33772,-1.40712,-2.78247,-2.85634,-1.56073,-1.4637,-2.27633,-2.63818,-4.29736,-1.4165,-2.09856,-2.89944,-0.369731,-0.205605,-0.438948,-0.0790217,-0.336813,-0.723905,-0.5511,-0.23129,-0.0731417,-0.349372,-0.124905,-0.181997,-0.321374,-0.190227,-0.219715,-0.193057,-0.215528,-0.34039,-0.351799,-0.187064,-0.524211,-0.209826,-0.21027,0.108029 --5927.49,0.785784,0.350484,2,-0.278123,0.0267614,-1.95229,-2.49173,-2.02968,-2.47151,-2.42611,-2.36152,-1.61956,-2.07414,-1.91981,-2.22685,-2.4026,-1.3593,-2.83582,-2.7738,-1.55283,-1.44838,-2.15161,-2.75754,-4.11758,-1.53885,-2.03639,-3.00626,-0.424872,-0.0318804,-0.348294,-0.148647,-0.275231,-0.691961,-0.442647,-0.283901,-0.0705038,-0.288766,-0.305693,-0.442898,-0.310288,-0.175351,-0.168696,-0.310618,-0.411723,-0.425877,-0.556023,-0.109167,-0.457773,-0.224108,-0.273094,0.163589 --5925.27,0.898723,0.350484,2,-0.292178,0.0239505,-2.34515,-2.28521,-2.24625,-2.41684,-2.28564,-1.76796,-1.90558,-2.15756,-2.03396,-2.2117,-2.28775,-1.27876,-2.86008,-2.7523,-1.26908,-1.72177,-1.68431,-2.94881,-3.44661,-1.42911,-2.03216,-2.8242,-0.546386,-0.430832,-0.148456,-0.166573,-0.274943,-0.211016,-0.23161,-0.188122,-0.116767,-0.372296,-0.0324803,-0.245798,-0.335137,0.0871928,-0.385397,-0.339866,-0.148003,-0.0982578,0.0318644,-0.36266,-0.448543,-0.415423,-0.405306,0.154759 --5921.2,0.97308,0.350484,3,-0.300571,0.02271,-2.20957,-2.16263,-2.30564,-2.4171,-2.32057,-1.93651,-1.897,-2.17032,-2.01492,-2.19236,-2.34301,-1.36216,-3.00129,-2.79445,-1.27966,-1.68596,-1.75863,-2.89081,-3.3584,-1.46924,-2.03747,-2.79865,-0.58351,-0.342527,-0.229581,-0.164184,-0.283399,-0.176168,-0.236616,-0.213836,-0.159447,-0.408045,-0.0301389,-0.232734,-0.314959,0.0157109,-0.393604,-0.336123,-0.132173,-0.133419,0.0949212,-0.339274,-0.375962,-0.461823,-0.358439,0.150698 --5919.94,0.714738,0.350484,2,-0.283631,0.0133333,-2.49752,-2.16212,-2.11491,-2.37823,-2.34538,-2.39596,-1.55953,-2.09807,-1.95606,-2.26546,-2.38835,-1.61304,-2.80823,-2.858,-1.19977,-1.48885,-2.12302,-2.7966,-4.13483,-1.37083,-2.24675,-2.80666,0.127004,-0.188356,-0.271586,-0.331967,-0.203808,-0.288102,-0.534955,-0.116785,-0.345061,-0.225865,-0.354108,-0.180716,-0.288368,0.0404561,-0.239665,0.0442866,-0.290676,-0.313534,-0.405882,-0.214593,-0.205532,-0.414235,-0.10993,0.11547 --5914.74,0.952177,0.350484,2,-0.25814,0.00508744,-2.66093,-1.95687,-1.92368,-2.26239,-2.33809,-1.90755,-1.87389,-2.18782,-1.98773,-2.30058,-2.3742,-1.47642,-2.98546,-2.82481,-1.40464,-1.59141,-1.98551,-2.81201,-3.81342,-1.64072,-2.09517,-3.04405,-0.454573,-0.345013,-0.28203,-0.372619,-0.251049,-0.151543,-0.171409,-0.153064,-0.187131,-0.308695,-0.15264,-0.192361,-0.310682,0.0624897,-0.48065,-0.126533,-0.216584,-0.238997,-0.141393,-0.203888,-0.330076,-0.213302,-0.329244,0.0713263 --5918.26,0.715668,0.350484,2,-0.24825,0.00724033,-2.8749,-2.09125,-2.15485,-2.45388,-2.23914,-2.12167,-1.65661,-2.05712,-1.77743,-2.23508,-2.48483,-1.47008,-2.87291,-2.78612,-1.40395,-1.58659,-2.15479,-3.48671,-3.49398,-1.64901,-2.14867,-2.89727,-0.138003,-0.253538,-0.181978,-0.213264,-0.359949,-0.489897,-0.43656,-0.320887,-0.324529,-0.232582,-0.177428,-0.243885,-0.301638,-0.214814,-0.110874,-0.251078,-0.376836,-0.219633,-0.447039,-0.00703379,-0.303259,-0.471985,-0.130856,0.0850902 --5921.42,0.855739,0.350484,2,-0.161649,0.0119955,-1.68678,-2.18392,-1.93513,-2.51241,-2.53775,-2.09742,-1.73538,-2.11078,-2.18397,-2.22089,-2.32948,-1.48521,-3.5223,-2.69952,-1.48931,-1.41753,-1.95937,-2.84429,-3.73228,-1.48748,-2.36956,-3.02184,-0.426128,-0.296187,-0.444545,-0.0864466,-0.0648452,-0.0693959,-0.29693,-0.130132,-0.112692,-0.370543,-0.0956169,-0.165405,-0.165464,0.0807442,-0.325608,-0.197805,0.0724309,-0.1729,-0.0365632,-0.292711,-0.200681,-0.109276,-0.350711,0.109524 --5921.49,0.562709,0.350484,3,-0.284727,0.011478,-2.87552,-2.40479,-2.66846,-2.28871,-2.37581,-1.87696,-1.80004,-2.01649,-1.77744,-2.21905,-2.35843,-1.29071,-2.75999,-2.97892,-1.44709,-1.58026,-1.79359,-2.82983,-3.28293,-1.50513,-2.3561,-2.90172,-0.316034,-0.244247,-0.432551,-0.296772,-0.324897,-0.393163,-0.354807,-0.286115,-0.389854,-0.397697,-0.163096,-0.274385,-0.815821,0.0833879,-0.461363,-0.131688,-0.196212,-0.229847,-0.188815,-0.371315,-0.39303,-0.23651,-0.292629,0.107135 --5922.32,0.526695,0.350484,2,-0.325998,0.0136638,-2.51285,-2.10263,-2.18826,-2.36592,-2.27993,-1.69065,-1.66805,-2.06432,-1.9316,-2.22331,-2.20938,-1.29498,-2.84947,-2.9557,-1.41035,-1.53511,-2.11965,-3.04497,-2.63844,-1.57239,-1.9849,-2.91031,-0.273451,-0.183706,-0.348583,-0.252614,-0.166054,-0.477903,-0.317187,-0.324259,-0.422169,-0.313189,-0.311252,-0.334106,-0.78723,0.360173,-0.225043,-0.0987148,-0.369802,-0.263614,-0.28735,-0.350609,-0.161134,-0.457418,-0.446333,0.116892 --5930.5,0.697276,0.350484,3,-0.337487,0.0228718,-2.30857,-2.14043,-2.35634,-2.36468,-2.48188,-1.44719,-1.71799,-2.11835,-1.98797,-2.15449,-2.20564,-1.25736,-2.47295,-3.07625,-1.20683,-1.27378,-2.02201,-3.08286,-3.21201,-1.51804,-2.2781,-2.79103,-0.0839894,-0.373282,-0.48625,-0.2469,-0.0750916,-0.732802,-0.442231,-0.184511,-0.278676,-0.441488,-0.473417,-0.120459,-0.698286,0.289079,-0.356863,-0.1858,-0.301459,-0.373287,-0.373625,-0.342942,-0.675925,-0.408935,-0.554194,0.151234 --5925.95,0.884594,0.350484,2,-0.365962,0.0335341,-2.5496,-2.00814,-2.31803,-2.38492,-2.53847,-2.42446,-1.68366,-2.15078,-1.71267,-2.19946,-2.10489,-1.82917,-2.84688,-2.6486,-1.35339,-1.50135,-1.96762,-2.70452,-3.01724,-1.4315,-1.9239,-2.88551,-0.369325,-0.414405,-0.249215,-0.412019,0.08138,-0.428882,-0.387835,-0.310228,-0.574258,-0.390793,-0.365595,-0.227021,-0.500932,-0.046565,-0.313036,-0.163213,-0.0727691,-0.116207,-0.387617,-0.298126,-0.261235,-0.477137,-0.203919,0.183123 --5931.32,0.88376,0.350484,2,-0.289356,0.0140552,-2.8549,-2.0809,-2.21872,-2.28143,-2.4203,-1.74053,-1.65505,-2.05711,-1.90955,-2.12677,-2.53282,-1.46252,-2.74943,-2.6172,-1.45801,-1.53375,-2.11085,-2.77042,-3.32917,-1.15356,-1.95374,-2.98032,-0.21875,-0.413889,-0.0655689,-0.412678,-0.146989,-0.263569,-0.465851,-0.331042,-0.495426,-0.253063,-0.219537,-0.151688,-0.549926,-0.287805,-0.598113,-0.429671,0.0609298,-0.410353,-0.167783,-0.348716,-0.48741,-0.584928,-0.410976,0.118555 --5923.04,1,0.350484,2,-0.335052,0.0246341,-2.64437,-2.12679,-2.61168,-2.23712,-2.30822,-1.96699,-1.67679,-2.25656,-2.01793,-2.26133,-2.23925,-1.4543,-2.99126,-2.5728,-1.39922,-1.23621,-2.20504,-2.98266,-3.29741,-1.1683,-2.05943,-2.78259,-0.189596,-0.15834,-0.217696,-0.372819,-0.222023,-0.331943,-0.344137,-0.207027,-0.330276,-0.293446,-0.143017,-0.250552,-0.551797,-0.103303,-0.365856,-0.214801,-0.102695,-0.388503,-0.286627,-0.500383,-0.381093,-0.682097,-0.370144,0.156952 --5918.03,0.925299,0.350484,2,-0.320154,0.010361,-3.359,-2.27622,-1.94205,-2.27415,-2.45591,-2.18537,-1.74521,-1.97679,-1.9014,-2.27541,-2.24442,-1.54368,-2.60889,-2.70567,-1.3143,-1.32282,-1.93483,-2.75821,-3.54737,-1.46291,-2.37053,-2.69951,-0.430582,-0.355945,-0.293325,-0.332287,-0.266955,-0.58521,-0.373326,-0.25605,-0.264123,-0.203384,-0.39202,-0.287153,-0.266776,-0.2685,-0.521726,-0.348688,-0.10816,-0.31004,-0.233866,-0.284348,-0.269347,-0.64515,-0.333554,0.101789 --5914.19,0.8248,0.350484,2,-0.317758,0.00637972,-2.60989,-2.25402,-1.89258,-2.35793,-2.36179,-2.328,-1.69303,-2.00926,-2.08671,-2.33433,-2.36104,-1.48493,-3.14498,-2.55282,-1.27105,-1.33954,-2.02416,-3.28928,-3.24489,-1.13913,-2.08833,-2.99388,-0.375211,-0.30745,-0.447349,-0.36071,-0.233488,-0.483997,-0.406459,-0.358361,-0.292405,-0.272738,-0.115989,-0.205135,-0.449565,-0.266058,-0.335613,-0.336631,-0.340259,-0.341976,-0.299692,-0.373545,-0.261922,-0.660737,-0.34296,0.0798731 --5913.48,0.774695,0.350484,2,-0.299387,0.00289447,-2.59325,-2.2969,-1.80096,-2.39703,-2.37003,-2.24485,-1.6985,-2.17517,-2.02964,-2.30186,-2.31054,-1.35659,-2.96119,-2.4676,-1.17521,-1.36554,-1.90105,-3.24069,-3.26963,-1.14463,-2.11047,-2.97457,-0.295194,-0.26634,-0.330757,-0.295412,-0.277583,-0.216214,-0.409511,-0.243761,-0.347292,-0.227354,-0.109767,-0.280237,-0.496411,-0.351666,-0.237707,-0.193994,-0.284681,-0.211671,-0.237971,-0.388376,-0.316042,-0.556087,-0.266757,0.0538003 --5915.96,0.27668,0.350484,2,-0.266715,0.0097548,-2.07399,-2.21951,-1.88923,-2.42592,-2.28514,-1.64363,-1.68111,-2.01103,-1.89138,-2.25478,-2.56157,-1.18786,-2.67434,-2.77414,-1.21639,-1.59816,-1.69718,-3.08754,-3.21501,-1.59665,-2.17274,-2.82067,-0.2206,-0.376462,-0.163993,-0.228107,-0.195661,-0.361668,-0.40346,-0.25414,-0.164151,-0.183053,-0.304566,-0.271996,-0.199834,-0.0118595,-0.285578,-0.266226,-0.286248,-0.273877,-0.304925,-0.186556,-0.247328,-0.508077,-0.348442,0.0987664 --5918.43,0.568805,0.350484,2,-0.298092,0.00379622,-2.33042,-1.93674,-1.87118,-2.42715,-2.47867,-1.75836,-1.77878,-2.03071,-1.80361,-2.278,-2.30536,-1.25072,-2.74806,-2.81381,-1.53055,-1.65741,-1.96825,-3.37698,-3.27767,-1.4778,-2.48836,-2.83427,-0.304252,-0.409859,-0.327626,-0.301725,-0.25461,-0.298697,-0.311715,-0.330564,-0.420988,-0.129927,-0.174048,-0.212012,-0.46995,-0.0404884,-0.231284,-0.273585,-0.309474,-0.415511,-0.26357,-0.303227,-0.20525,-0.186404,-0.196202,0.0616135 --5914.31,0.915513,0.350484,3,-0.308669,0.0145232,-2.23267,-2.37314,-1.74419,-2.47043,-2.14327,-2.30803,-1.79837,-2.01571,-1.97372,-2.1372,-2.30276,-1.43594,-2.98612,-2.98435,-1.14851,-1.6036,-1.83739,-2.78143,-3.07131,-1.43808,-2.34751,-2.84953,-0.335293,-0.176112,-0.372663,-0.196768,-0.307471,-0.276166,-0.373443,-0.29875,-0.295075,-0.321131,-0.2895,-0.0647775,-0.314896,0.0279881,-0.400093,-0.281442,-0.295065,-0.377399,-0.348119,-0.255842,-0.336709,-0.254947,-0.446768,0.120512 --5911.51,0.557624,0.350484,2,-0.285955,0.00345093,-2.22049,-2.68689,-1.97647,-2.44092,-2.53951,-2.59918,-1.76176,-1.92928,-1.85191,-2.27489,-2.13327,-1.49461,-3.19417,-2.71824,-1.14123,-1.22296,-2.07887,-2.5777,-3.32046,-1.18068,-2.08616,-2.89544,-0.230684,-0.0575523,-0.334775,-0.280305,-0.219398,-0.263929,-0.341098,-0.230723,-0.36713,-0.267352,-0.268325,-0.31059,-0.160838,-0.0931511,-0.301718,-0.264265,-0.234506,-0.204137,-0.203197,-0.371801,-0.263942,-0.346965,-0.313761,0.0587446 --5910.23,0.584083,0.350484,3,-0.288997,0.00466322,-2.48673,-2.75692,-2.07927,-2.44475,-2.52391,-2.61927,-1.72556,-1.93438,-1.85486,-2.30297,-2.16194,-1.56637,-2.98977,-2.78038,-1.16252,-1.15474,-2.07126,-2.68144,-3.18942,-1.27854,-2.10293,-2.93079,-0.195927,-0.0990618,-0.288107,-0.253125,-0.262427,-0.305162,-0.384817,-0.253504,-0.404338,-0.264377,-0.245314,-0.252487,-0.217328,-0.0225818,-0.332794,-0.260628,-0.260207,-0.281238,-0.217064,-0.306443,-0.330404,-0.371919,-0.200249,0.0682878 --5910.23,0.0576784,0.350484,2,-0.288997,0.00466322,-2.48673,-2.75692,-2.07927,-2.44475,-2.52391,-2.61927,-1.72556,-1.93438,-1.85486,-2.30297,-2.16194,-1.56637,-2.98977,-2.78038,-1.16252,-1.15474,-2.07126,-2.68144,-3.18942,-1.27854,-2.10293,-2.93079,-0.195927,-0.0990618,-0.288107,-0.253125,-0.262427,-0.305162,-0.384817,-0.253504,-0.404338,-0.264377,-0.245314,-0.252487,-0.217328,-0.0225818,-0.332794,-0.260628,-0.260207,-0.281238,-0.217064,-0.306443,-0.330404,-0.371919,-0.200249,0.0682878 --5907,0.612028,0.350484,2,-0.290652,0.00300599,-1.97463,-2.04559,-2.18637,-2.32912,-2.44302,-2.31212,-1.73975,-2.17581,-1.90602,-2.23659,-2.31009,-1.37765,-3.53305,-2.55092,-1.33011,-1.75799,-1.88114,-2.87387,-3.48719,-1.64205,-2.15992,-3.02277,-0.275921,-0.246113,-0.151843,-0.205848,-0.258694,-0.276726,-0.331522,-0.284842,-0.226945,-0.23879,-0.312043,-0.272621,-0.387088,-0.130738,-0.355948,-0.332915,-0.312051,-0.326416,-0.312917,-0.18227,-0.317805,-0.258153,-0.21319,0.0548269 --5907,7.46125e-11,0.350484,2,-0.290652,0.00300599,-1.97463,-2.04559,-2.18637,-2.32912,-2.44302,-2.31212,-1.73975,-2.17581,-1.90602,-2.23659,-2.31009,-1.37765,-3.53305,-2.55092,-1.33011,-1.75799,-1.88114,-2.87387,-3.48719,-1.64205,-2.15992,-3.02277,-0.275921,-0.246113,-0.151843,-0.205848,-0.258694,-0.276726,-0.331522,-0.284842,-0.226945,-0.23879,-0.312043,-0.272621,-0.387088,-0.130738,-0.355948,-0.332915,-0.312051,-0.326416,-0.312917,-0.18227,-0.317805,-0.258153,-0.21319,0.0548269 --5908.84,0.298034,0.350484,2,-0.202909,0.00376092,-2.34613,-2.16972,-2.59617,-2.32702,-2.40191,-2.58629,-1.65266,-2.07595,-1.70468,-2.37392,-2.28761,-1.41275,-3.15518,-2.64463,-1.1811,-1.52305,-2.02189,-3.54964,-3.63338,-1.44517,-2.18059,-2.86512,-0.198341,-0.231211,-0.225681,-0.348687,-0.225776,-0.208646,-0.366244,-0.104709,-0.303479,-0.166996,-0.227256,-0.199136,-0.0820482,-0.249925,-0.264872,-0.01891,-0.133371,-0.101342,-0.171066,-0.21638,-0.19738,-0.279734,-0.203901,0.0613263 --5903.59,1.36066e-17,0.350484,3,-0.217898,0.00235799,-3.20659,-2.17869,-2.3682,-2.46924,-2.45066,-2.09547,-1.81374,-2.21611,-1.87016,-2.25149,-2.29734,-1.58923,-3.31777,-2.72973,-1.34123,-1.5914,-2.22625,-3.51514,-3.40657,-1.43973,-2.10032,-2.97539,-0.224007,-0.208634,-0.189414,-0.164283,-0.167218,-0.182818,-0.199825,-0.23393,-0.173914,-0.230366,-0.220867,-0.0755878,-0.239034,-0.0679602,-0.180845,-0.412212,-0.219233,-0.291195,-0.223706,-0.241704,-0.284535,-0.193512,-0.217502,0.0485592 --5903.59,4.30041e-15,0.350484,3,-0.217898,0.00235799,-3.20659,-2.17869,-2.3682,-2.46924,-2.45066,-2.09547,-1.81374,-2.21611,-1.87016,-2.25149,-2.29734,-1.58923,-3.31777,-2.72973,-1.34123,-1.5914,-2.22625,-3.51514,-3.40657,-1.43973,-2.10032,-2.97539,-0.224007,-0.208634,-0.189414,-0.164283,-0.167218,-0.182818,-0.199825,-0.23393,-0.173914,-0.230366,-0.220867,-0.0755878,-0.239034,-0.0679602,-0.180845,-0.412212,-0.219233,-0.291195,-0.223706,-0.241704,-0.284535,-0.193512,-0.217502,0.0485592 --5910.9,0.202232,0.350484,2,-0.171321,0.00493658,-1.87162,-1.91392,-1.92722,-2.40069,-2.42618,-2.17016,-1.73309,-2.03087,-1.95776,-2.32,-2.31743,-1.33322,-2.90703,-2.77108,-1.44137,-1.29515,-1.99549,-2.89499,-3.20628,-1.44535,-2.18803,-2.98447,-0.260185,-0.187532,-0.211614,-0.256561,-0.185207,-0.190811,-0.256948,-0.140365,-0.271796,-0.190718,-0.165412,-0.294602,-0.219528,0.171885,-0.22689,-0.0208668,-0.135371,0.0365043,-0.0545737,-0.138776,-0.276815,-0.242979,-0.247376,0.0702608 --5910.17,0.661227,0.350484,3,-0.231419,0.00683425,-2.25964,-2.32217,-2.19965,-2.39998,-2.49245,-2.09487,-1.84237,-2.19758,-1.92877,-2.30573,-2.39001,-1.46513,-2.97811,-2.92361,-1.37972,-1.46356,-1.70756,-2.95456,-3.32199,-1.57131,-2.19974,-2.86485,-0.200813,-0.313894,-0.270314,-0.227441,-0.147145,-0.278147,-0.261489,-0.262509,-0.336171,-0.179377,-0.152022,-0.245648,-0.213127,-0.0923561,-0.217042,-0.370026,-0.357725,-0.482337,-0.0292137,-0.293023,-0.280648,-0.17649,-0.180404,0.0826695 --5908.21,1,0.350484,2,-0.258472,0.00829718,-2.35836,-1.98194,-1.99533,-2.36265,-2.39035,-2.30366,-1.62755,-2.00649,-2.02184,-2.23789,-2.25605,-1.52693,-2.9318,-2.66559,-1.21348,-1.31589,-2.28347,-2.9793,-3.49386,-1.45447,-2.09934,-2.93646,-0.142778,-0.264267,-0.309051,-0.191173,-0.319339,-0.240966,-0.373262,-0.184983,-0.303378,-0.2783,-0.288943,-0.199733,-0.134409,-0.25978,-0.398538,-0.11051,-0.256637,-0.132775,-0.219463,-0.189933,-0.349443,-0.211669,-0.129415,0.0910889 --5924.78,0.68141,0.350484,2,-0.285957,0.017019,-2.63476,-2.71331,-2.13368,-2.46904,-2.4158,-2.0378,-1.65174,-2.05541,-1.64649,-2.31343,-2.30221,-1.57882,-2.89411,-2.71146,-0.891455,-1.54758,-1.89495,-2.38611,-3.8183,-1.50468,-2.21361,-3.24833,-0.241903,-0.238864,-0.319577,-0.272195,-0.144386,-0.422847,-0.314405,-0.390851,-0.287435,-0.338135,-0.194644,-0.219514,-0.426678,-0.0979952,-0.457125,-0.10055,-0.204075,-0.413443,-0.257925,-0.329841,-0.200059,-0.223135,-0.401862,0.130457 --5910.22,1,0.350484,2,-0.311997,0.00469207,-2.02861,-2.25398,-2.52195,-2.41719,-2.12411,-2.22632,-1.79855,-1.95108,-1.78922,-2.22879,-2.39586,-1.36423,-2.78762,-2.56353,-1.21524,-1.4212,-1.73078,-3.31007,-3.04142,-1.17243,-2.17563,-2.88988,-0.426588,-0.402247,-0.303915,-0.244132,-0.380259,-0.205285,-0.409922,-0.248299,-0.366598,-0.226247,-0.345578,-0.2793,-0.462514,-0.196376,-0.269618,-0.322061,-0.360522,-0.291498,-0.262315,-0.357187,-0.343774,-0.366942,-0.314897,0.0684987 --5918.36,0.251535,0.350484,3,-0.226834,0.004996,-3.21565,-2.14934,-2.27231,-2.23603,-2.42814,-1.80539,-1.74615,-1.92723,-1.8838,-2.17541,-2.40901,-1.50278,-3.27455,-2.587,-1.37121,-1.57385,-2.13191,-2.68958,-3.41024,-1.56321,-1.9893,-2.93857,-0.0507439,-0.346851,-0.201461,-0.446617,-0.283455,-0.0601369,-0.487384,-0.26413,-0.237409,-0.21689,-0.213662,-0.104109,-0.155696,-0.114555,-0.111198,-0.151357,-0.22962,-0.271677,-0.223929,-0.146088,-0.194613,-0.211422,-0.319697,0.0706824 --5913.46,0.989269,0.350484,2,-0.269141,0.0116851,-1.68234,-2.47786,-1.95364,-2.47696,-2.20548,-2.25811,-1.51735,-2.32539,-1.93418,-2.29965,-2.31219,-1.51409,-2.78993,-2.72817,-1.49775,-1.46481,-1.93397,-2.955,-3.39745,-1.53758,-2.27203,-2.93461,-0.277351,-0.124225,-0.288403,-0.109965,-0.205287,-0.394982,-0.477531,-0.150384,-0.262364,-0.356203,-0.229026,-0.323696,-0.392468,-0.0852188,-0.297366,-0.326534,-0.218584,-0.349953,-0.283216,-0.286021,-0.249248,-0.346026,-0.308327,0.108098 --5915.82,0.672092,0.350484,2,-0.295799,0.0075068,-1.6862,-2.59043,-1.98319,-2.46774,-2.18665,-2.23176,-1.56044,-2.31553,-1.97281,-2.26571,-2.32752,-1.52535,-2.75178,-2.70824,-1.48413,-1.40191,-1.94308,-3.09716,-3.39275,-1.48248,-2.25542,-2.98914,-0.24088,-0.184853,-0.256369,-0.0797612,-0.144978,-0.387782,-0.456379,-0.107918,-0.229119,-0.293399,-0.257949,-0.32568,-0.400876,-0.113725,-0.386891,-0.301869,-0.287318,-0.345344,-0.403954,-0.188242,-0.296059,-0.409364,-0.403469,0.0866418 --5919.86,0.78065,0.350484,3,-0.315034,0.0153452,-3.12042,-1.99389,-2.38782,-2.37559,-2.58212,-2.05367,-1.72979,-2.06773,-2.03093,-2.16303,-2.11568,-1.4832,-3.29562,-2.76868,-1.312,-1.31906,-1.89381,-2.75256,-3.01271,-1.60672,-1.92362,-2.62531,-0.331554,-0.438106,-0.420311,-0.398837,-0.355431,-0.328732,-0.435527,-0.140471,-0.355492,-0.392693,-0.428413,-0.0534549,-0.261043,-0.188401,-0.12962,-0.445906,-0.164832,-0.279511,-0.22229,-0.309903,-0.404422,-0.447725,-0.240263,0.123876 --5914.86,0.530889,0.350484,3,-0.309745,0.00410033,-3.21137,-2.29701,-2.21633,-2.20869,-2.48957,-1.8402,-1.66842,-1.89123,-2.20375,-2.22218,-2.31017,-1.27045,-2.75732,-2.88385,-1.44008,-1.4174,-1.92287,-2.62599,-3.16721,-1.66455,-2.01299,-2.88016,-0.29018,-0.486898,-0.288232,-0.333164,-0.273414,-0.289091,-0.239795,-0.405776,-0.173175,-0.386342,-0.376737,-0.279474,-0.376456,-0.159575,-0.355172,-0.306955,-0.268665,-0.347182,-0.344668,-0.114134,-0.364216,-0.306712,-0.360267,0.0640338 --5914.86,0.136789,0.350484,2,-0.309745,0.00410033,-3.21137,-2.29701,-2.21633,-2.20869,-2.48957,-1.8402,-1.66842,-1.89123,-2.20375,-2.22218,-2.31017,-1.27045,-2.75732,-2.88385,-1.44008,-1.4174,-1.92287,-2.62599,-3.16721,-1.66455,-2.01299,-2.88016,-0.29018,-0.486898,-0.288232,-0.333164,-0.273414,-0.289091,-0.239795,-0.405776,-0.173175,-0.386342,-0.376737,-0.279474,-0.376456,-0.159575,-0.355172,-0.306955,-0.268665,-0.347182,-0.344668,-0.114134,-0.364216,-0.306712,-0.360267,0.0640338 --5913.97,0.99783,0.350484,2,-0.276634,0.00602165,-3.5519,-1.91627,-1.90369,-2.47274,-2.45041,-2.23403,-1.74261,-2.11025,-1.93621,-2.15805,-2.44482,-1.24535,-3.08901,-2.6742,-1.33214,-1.36567,-1.74906,-2.80344,-3.49343,-1.68977,-2.4414,-2.9956,-0.260568,-0.192671,-0.317648,-0.303937,-0.311515,-0.334993,-0.503076,-0.198956,-0.478956,-0.308068,-0.173332,-0.357028,-0.227192,-0.275936,-0.256915,-0.31004,-0.299133,-0.282569,-0.305761,-0.127503,-0.304519,-0.303129,-0.333279,0.0775993 --5914.85,0.000320166,0.350484,2,-0.304088,0.00307027,-3.46558,-1.83978,-1.74989,-2.40659,-2.49308,-2.24457,-1.72919,-2.25733,-2.24337,-2.16986,-2.37556,-1.16863,-2.89292,-2.5381,-1.22825,-1.48466,-2.02384,-2.63865,-3.48628,-1.82453,-2.05581,-3.02453,-0.191758,-0.272358,-0.226261,-0.242855,-0.215321,-0.34549,-0.39645,-0.279077,-0.470312,-0.290422,-0.247152,-0.367802,-0.287443,-0.305566,-0.271314,-0.265267,-0.289181,-0.301569,-0.321031,-0.216206,-0.372762,-0.405066,-0.281025,0.05541 --5911.65,0.449001,0.350484,2,-0.230872,0.00666185,-2.49332,-2.41545,-1.95058,-2.31651,-2.76243,-1.88465,-1.83185,-1.91894,-2.04557,-2.28238,-2.26003,-1.56944,-2.68002,-2.74552,-1.28156,-1.39176,-2.14811,-3.27107,-3.07038,-1.40347,-2.353,-2.87252,-0.23897,-0.129778,-0.36999,-0.288654,-0.0857274,-0.242627,-0.23445,-0.174114,-0.108773,-0.276997,-0.275662,-0.172498,-0.181044,-0.130135,-0.300739,-0.25949,-0.165739,-0.152524,-0.125306,-0.267132,-0.205017,-0.219032,-0.120885,0.0816202 --5917.82,0.627564,0.350484,2,-0.209975,0.00543736,-2.50772,-2.54998,-2.06045,-2.34647,-2.71745,-2.07552,-1.87863,-2.0667,-2.00755,-2.26354,-2.32636,-1.47355,-2.74077,-2.82915,-1.40268,-1.53713,-2.22817,-3.26015,-3.14339,-1.3926,-2.48593,-2.87308,-0.36758,-0.20621,-0.374489,-0.288345,-0.303603,-0.34513,-0.206555,-0.206457,-0.241991,-0.172146,-0.365223,-0.0408608,-0.174679,-0.0865923,-0.193155,-0.208063,-0.163522,-0.122783,-0.190365,-0.277625,-0.341039,-0.253664,-0.134286,0.0737385 --5915.87,0.860531,0.350484,2,-0.247757,0.0150065,-2.59115,-2.38665,-1.73828,-2.39254,-2.59168,-2.09032,-1.77554,-1.95796,-1.8865,-2.35281,-2.33743,-1.5843,-2.98725,-2.68613,-1.37391,-1.53037,-2.05743,-2.66678,-3.05846,-1.36557,-2.14654,-2.80178,-0.480449,-0.229743,-0.442488,-0.421144,-0.0942569,-0.103616,-0.259602,-0.294059,-0.332696,-0.205477,-0.285454,-0.215011,-0.223219,-0.108479,-0.137307,-0.266968,-0.0580386,-0.178377,-0.238776,-0.378079,-0.185871,-0.354103,-0.182984,0.122501 --5925.53,0.831714,0.350484,3,-0.274611,0.0229133,-1.85455,-1.95927,-2.29494,-2.39807,-2.79955,-2.51546,-1.6501,-2.36678,-2.28172,-2.30005,-2.29347,-1.43499,-2.75803,-2.65012,-1.40266,-1.38487,-2.11156,-3.49795,-3.61559,-1.17042,-2.20416,-2.87496,-0.122938,-0.303006,-0.293308,-0.0678489,-0.0551262,-0.340778,-0.431035,-0.0221299,-0.108797,-0.181121,-0.180861,-0.144758,-0.374165,-0.144682,-0.340734,-0.209226,-0.295175,-0.213796,-0.142584,-0.498816,-0.321545,-0.279524,-0.34252,0.151371 --5925.09,0.790927,0.350484,2,-0.245766,0.0156674,-1.96171,-1.88076,-2.23916,-2.42069,-2.82484,-2.46547,-1.66046,-2.26837,-2.26046,-2.30717,-2.2947,-1.42351,-2.72285,-2.61881,-1.46018,-1.31603,-2.18479,-3.58372,-3.77553,-1.13529,-2.26044,-2.96497,-0.189015,-0.287112,-0.284562,-0.124789,-0.0084019,-0.249888,-0.35881,0.0692415,-0.128158,-0.189451,-0.204574,-0.212804,-0.402576,-0.136007,-0.333561,-0.239395,-0.333905,-0.27525,-0.141493,-0.510826,-0.322518,-0.326372,-0.349827,0.12517 --5917.7,0.783133,0.350484,2,-0.278892,0.00448915,-2.13327,-2.02258,-2.38621,-2.44943,-2.41458,-2.31137,-1.68103,-2.18393,-1.84698,-2.10921,-2.42447,-1.27109,-2.87983,-2.66457,-1.48386,-1.48921,-2.11574,-3.58205,-3.10505,-1.35341,-2.04176,-2.9837,-0.39234,-0.528185,-0.281602,-0.344289,-0.16533,-0.354148,-0.354603,-0.0716169,-0.37622,-0.395099,-0.262172,-0.44674,-0.197443,-0.212743,-0.257621,-0.170861,-0.109757,-0.154218,-0.199886,-0.35484,-0.364901,-0.328307,-0.231844,0.0670011 --5921.37,0.967278,0.350484,2,-0.253053,0.0260277,-2.55255,-1.84327,-1.74327,-2.41241,-2.24247,-2.26207,-1.76849,-2.14919,-1.90049,-2.0789,-2.46025,-1.3367,-3.2306,-2.65635,-1.28387,-1.43603,-1.9363,-3.8019,-3.02351,-1.40302,-2.10674,-2.92377,-0.227391,-0.524994,-0.390608,-0.180579,-0.305961,-0.303273,-0.272413,-0.00369313,-0.448222,-0.4358,-0.130226,-0.240052,-0.115565,-0.11988,-0.296251,-0.300834,-0.235486,-0.27419,-0.184552,-0.250197,-0.210501,-0.327159,-0.182275,0.161331 --5919.76,0.927536,0.350484,2,-0.336682,0.0109069,-2.4546,-2.42742,-2.35969,-2.45907,-2.5274,-1.87994,-1.72271,-2.23494,-1.78618,-2.29704,-2.22558,-1.76974,-2.87422,-2.89326,-1.49024,-1.65175,-1.85776,-2.67128,-3.89664,-1.58516,-2.25187,-2.62496,-0.26736,-0.17236,-0.242465,-0.253262,-0.204762,-0.283453,-0.374343,-0.232025,-0.322292,-0.315188,-0.33377,0.0295019,-0.426904,0.0616298,-0.318147,-0.184761,-0.278746,-0.0214591,-0.339095,-0.277732,-0.335966,-0.434138,-0.369449,0.104436 --5921.94,0.585241,0.350484,3,-0.205472,0.00981703,-2.52427,-1.90035,-1.65342,-2.39974,-2.30272,-2.34165,-1.74093,-2.0752,-2.14647,-2.29417,-2.37095,-1.26662,-3.05468,-2.62534,-1.25366,-1.27531,-2.14297,-3.13753,-3.06887,-1.32675,-2.17083,-3.29413,-0.207582,-0.304907,-0.522707,-0.177207,0.0275811,-0.147725,-0.246381,-0.156752,-0.194628,-0.272821,-0.102554,-0.24355,-0.0584781,-0.180482,-0.209661,-0.241163,-0.142676,-0.214174,-0.0714621,-0.141643,-0.484481,-0.125183,0.0277778,0.0990809 --5927.26,0.664421,0.350484,2,-0.202257,0.00522551,-2.63084,-1.99071,-1.84465,-2.34562,-2.40067,-2.39065,-1.71739,-2.29749,-2.1027,-2.2689,-2.0196,-1.32957,-3.02376,-2.79946,-1.43719,-1.2881,-2.32175,-2.67734,-3.20902,-1.49682,-2.01875,-3.40705,-0.42074,-0.167464,-0.4573,-0.262067,-0.224777,-0.1748,-0.244357,-0.238076,-0.345641,-0.146348,-0.242115,-0.25508,-0.244183,-0.0191879,-0.135618,-0.142872,-0.0179685,-0.108479,-0.300129,-0.208185,-0.127724,-0.067606,-0.242672,0.0722877 --5929.37,0.591871,0.350484,2,-0.212575,0.0298012,-2.9109,-2.39693,-1.94944,-2.33637,-2.37766,-1.94476,-1.69086,-2.02577,-1.94858,-2.24358,-2.06821,-1.3358,-3.17685,-2.76226,-1.29019,-1.24654,-2.03734,-2.57365,-2.58962,-1.39794,-2.12179,-3.27531,-0.20326,-0.0687922,-0.350843,-0.112193,0.00106964,-0.179801,-0.346046,-0.0807762,-0.447467,-0.26032,-0.454998,-0.229629,-0.0721638,0.0154463,-0.21957,-0.186096,-0.212219,-0.0897119,-0.257237,-0.236316,-0.513005,-0.0893574,-0.410193,0.17263 --5922.56,0.96721,0.350484,3,-0.271382,0.0197415,-2.03598,-2.12077,-2.34808,-2.40798,-2.68979,-2.18234,-1.65048,-2.27599,-1.95786,-2.19081,-2.28091,-1.5861,-2.95956,-2.69181,-1.57606,-1.63405,-1.94453,-2.98589,-3.14309,-1.78174,-2.01998,-2.72609,-0.150722,-0.464935,-0.616456,-0.379912,-0.158327,-0.228707,-0.480104,-0.200625,-0.523193,-0.294138,-0.281174,-0.0710832,-0.328629,-0.176004,-0.164966,-0.199629,-0.119188,-0.286946,-0.284783,-0.0437608,-0.503229,-0.37111,-0.605217,0.140505 --5922.08,0.808239,0.350484,3,-0.238648,0.0134553,-2.75007,-2.14757,-2.01149,-2.32974,-2.13662,-2.36261,-1.71591,-2.0736,-1.82585,-2.2754,-2.10752,-1.3385,-3.19423,-2.81695,-1.21418,-1.26333,-2.16046,-2.90507,-3.63419,-1.26976,-2.18231,-3.02133,-0.310586,-0.15413,-0.0623965,-0.223474,-0.258148,-0.427791,-0.335077,-0.0972466,-0.147766,-0.220864,-0.417142,-0.392142,-0.233808,-0.231505,-0.217966,-0.320781,-0.32395,-0.291256,-0.196675,-0.382749,-0.137807,-0.229083,-0.031512,0.115997 --5922.51,0.991844,0.350484,2,-0.277256,0.0146847,-3.53955,-2.1733,-2.55001,-2.35881,-2.42717,-1.99293,-1.70108,-2.06143,-2.09432,-2.20828,-2.13188,-1.36324,-3.07501,-2.64649,-1.29619,-1.49106,-1.61022,-3.14121,-4.10616,-1.56278,-2.28111,-2.80946,-0.00427408,-0.365426,-0.1621,-0.381944,-0.230267,-0.0291747,-0.362657,-0.333792,-0.404612,-0.349433,-0.41204,-0.229134,-0.250539,0.02571,-0.305252,-0.194389,-0.200164,-0.157262,-0.145288,-0.0976245,-0.351132,-0.314525,-0.114592,0.121181 --5916.84,0.766834,0.350484,3,-0.240534,0.00417777,-4.44055,-2.12498,-1.71446,-2.38808,-2.44399,-2.36146,-1.76112,-1.98354,-1.89564,-2.27623,-2.4477,-1.68037,-2.87348,-2.72949,-1.21918,-1.49207,-2.26547,-2.92784,-3.17166,-1.42073,-2.02079,-2.8988,-0.393765,-0.231079,-0.284645,-0.157938,-0.218549,-0.465772,-0.265329,-0.195143,-0.116763,-0.194624,-0.221025,-0.121194,-0.276826,-0.137006,-0.245803,-0.293934,-0.149658,-0.168435,-0.324771,-0.339706,-0.230678,-0.316909,-0.255407,0.0646357 --5916.52,0.868991,0.350484,2,-0.259875,0.00553061,-4.39037,-2.06648,-1.92275,-2.40758,-2.47018,-2.12328,-1.7168,-2.00918,-1.82308,-2.27665,-2.36492,-1.6546,-2.90274,-2.69668,-1.2495,-1.48996,-2.31961,-3.00122,-3.12698,-1.47469,-1.94145,-2.88706,-0.236126,-0.316255,-0.290658,-0.164294,-0.2142,-0.44765,-0.226762,-0.192647,-0.110386,-0.209116,-0.278669,-0.18025,-0.264669,-0.144931,-0.176713,-0.320765,-0.204701,-0.201789,-0.340665,-0.367396,-0.215707,-0.286675,-0.284531,0.0743681 --5916.52,0.256097,0.350484,2,-0.259875,0.00553061,-4.39037,-2.06648,-1.92275,-2.40758,-2.47018,-2.12328,-1.7168,-2.00918,-1.82308,-2.27665,-2.36492,-1.6546,-2.90274,-2.69668,-1.2495,-1.48996,-2.31961,-3.00122,-3.12698,-1.47469,-1.94145,-2.88706,-0.236126,-0.316255,-0.290658,-0.164294,-0.2142,-0.44765,-0.226762,-0.192647,-0.110386,-0.209116,-0.278669,-0.18025,-0.264669,-0.144931,-0.176713,-0.320765,-0.204701,-0.201789,-0.340665,-0.367396,-0.215707,-0.286675,-0.284531,0.0743681 --5920.12,0.279252,0.350484,2,-0.251217,0.0137899,-2.47902,-2.45197,-2.43189,-2.26903,-2.37012,-2.0639,-1.74189,-2.22368,-2.10352,-2.19051,-2.25557,-1.25642,-3.02794,-2.68783,-1.24047,-1.47141,-1.62334,-2.78618,-3.46201,-1.56819,-2.36592,-2.96103,-0.134232,-0.402147,-0.120001,-0.253565,-0.334503,0.0119886,-0.514867,-0.24979,-0.412424,-0.33539,-0.328793,-0.300864,-0.249322,-0.00909625,-0.309543,-0.207083,-0.388651,-0.206191,-0.223637,-0.13071,-0.196117,-0.139852,-0.28939,0.11743 --5927.68,0.822358,0.350484,3,-0.300035,0.0261114,-2.19528,-2.04128,-1.7713,-2.40938,-2.44209,-2.53622,-1.59309,-2.02978,-1.90149,-2.28042,-2.18467,-1.47746,-3.25334,-2.67301,-1.41898,-1.51487,-2.46985,-3.0298,-3.29842,-1.2409,-1.94051,-2.87813,-0.291476,-0.228362,-0.428961,-0.207082,-0.161515,-0.590551,-0.259897,-0.0893669,-0.0679171,-0.191811,-0.347267,-0.313053,-0.062862,-0.083322,-0.195533,-0.316936,-0.131219,-0.174734,-0.428967,-0.459613,-0.58528,-0.442258,-0.363448,0.16159 --5921.11,0.935951,0.350484,2,-0.262503,0.0122681,-2.67136,-2.30454,-2.11416,-2.46411,-2.30776,-2.53909,-1.79641,-2.07058,-1.81209,-2.30901,-2.29668,-1.48181,-2.99639,-2.73575,-1.60779,-1.66071,-2.08977,-3.22555,-3.2778,-1.50373,-2.11412,-2.57937,-0.275408,-0.494148,-0.286863,-0.189715,-0.305586,-0.174273,-0.47413,-0.40666,-0.566745,-0.279134,-0.278866,-0.169354,-0.276628,-0.185395,-0.266817,-0.125508,-0.00336839,-0.267147,-0.267209,-0.53883,-0.222612,-0.465112,-0.2097,0.110762 --5927.47,0.803728,0.350484,2,-0.30617,0.0277843,-1.83257,-2.32988,-2.16116,-2.39619,-2.18805,-1.87737,-1.69165,-2.0531,-1.77749,-2.21035,-2.32242,-1.52701,-3.12736,-2.67629,-1.48657,-1.54154,-2.11866,-2.91548,-3.4251,-1.30843,-2.43091,-2.58231,-0.217527,-0.510229,-0.44772,-0.289304,-0.207727,-0.350166,-0.515411,-0.141287,-0.379975,-0.205409,-0.0756253,-0.130675,-0.374722,0.121112,-0.33533,-0.0495297,-0.159665,-0.129823,-0.168422,-0.711926,-0.315407,-0.600677,-0.359218,0.166686 --5931.3,0.957587,0.350484,3,-0.236744,0.0183577,-3.12259,-2.11916,-2.35724,-2.31653,-2.27418,-2.55008,-1.64476,-2.15183,-1.63618,-2.30652,-2.32961,-1.34803,-3.16891,-2.8387,-1.3947,-1.72494,-2.04633,-3.04218,-3.13001,-1.07974,-2.03609,-2.84816,-0.280746,-0.647559,-0.0744292,-0.340678,-0.222435,-0.191362,-0.344791,-0.22851,-0.540651,-0.373665,-0.296945,-0.418562,-0.0463945,-0.0656192,-0.455007,-0.0490321,-0.228698,-0.278026,-0.055206,-0.538465,-0.0891265,-0.357715,-0.356781,0.135491 --5926.09,1,0.350484,2,-0.325544,0.0270802,-3.42566,-1.89121,-2.1673,-2.2113,-2.2805,-2.47237,-1.62736,-2.19592,-1.79666,-2.23548,-2.31631,-1.18434,-3.07067,-2.7741,-1.32123,-1.70169,-1.91009,-2.89945,-2.94466,-1.20891,-2.13473,-2.99685,-0.216938,-0.38089,-0.232942,-0.428175,-0.178771,-0.163972,-0.478311,-0.229255,-0.507216,-0.323018,-0.152945,-0.431649,-0.160965,-0.0756833,-0.521022,-0.154247,-0.208349,-0.0509259,-0.321104,-0.387501,-0.147473,-0.347929,-0.539913,0.164561 --5921.68,0.907999,0.350484,2,-0.283574,0.0250512,-2.52262,-1.90983,-2.6519,-2.3407,-2.22289,-2.89394,-1.63857,-2.16838,-1.88343,-2.29156,-2.43667,-1.36606,-2.93112,-2.68548,-1.21574,-1.4237,-1.78754,-3.10628,-3.68402,-1.42727,-2.19792,-2.7648,-0.407247,-0.657673,-0.235668,-0.349277,-0.284808,-0.191712,-0.486642,-0.0449061,-0.402967,-0.257151,-0.375448,-0.255917,-0.361456,-0.0858974,-0.504422,-0.117439,-0.301012,-0.0952222,-0.289461,-0.383715,-0.444954,-0.447531,-0.537969,0.158276 --5921.83,0.529474,0.350484,3,-0.25198,0.0117852,-2.49427,-2.52877,-2.82928,-2.50055,-2.45383,-2.89454,-1.69481,-2.32209,-2.01072,-2.15396,-2.33364,-1.37634,-2.96516,-3.01843,-1.44828,-1.29947,-1.86851,-3.21399,-3.26468,-1.61625,-2.1452,-2.80322,-0.173483,-0.432358,-0.306569,-0.130998,-0.199662,-0.168283,-0.481664,-0.156204,-0.298321,-0.366061,-0.189724,-0.239725,-0.377748,0.226537,-0.211688,-0.110299,-0.243386,0.0935013,-0.0935421,-0.194726,-0.325938,-0.431761,-0.129108,0.10856 --5922.03,0.430628,0.350484,2,-0.22951,0.019561,-2.40206,-2.4392,-2.71061,-2.52027,-2.55157,-2.96124,-1.67754,-2.34011,-1.90193,-2.17056,-2.36112,-1.33092,-3.01005,-2.96908,-1.42155,-1.26701,-1.90826,-3.12894,-3.19333,-1.66976,-2.09043,-2.84264,-0.193331,-0.339381,-0.295428,-0.174579,-0.218867,-0.171705,-0.501536,-0.214978,-0.2491,-0.418242,-0.186742,-0.201842,-0.355431,0.303744,-0.216786,-0.123793,-0.162808,0.042165,-0.105862,-0.183493,-0.29544,-0.49548,-0.16545,0.139861 --5918.8,0.869006,0.350484,3,-0.209576,0.00676124,-2.80695,-1.95813,-1.75371,-2.2964,-2.3703,-1.88254,-1.83768,-1.98692,-2.02292,-2.327,-2.35878,-1.50971,-3.08511,-2.60255,-1.26279,-1.57882,-1.96365,-2.66504,-3.52887,-1.31114,-2.27167,-3.02069,-0.46913,-0.361786,-0.368237,-0.399826,-0.276745,-0.189611,-0.346905,-0.386008,-0.346965,-0.16461,-0.117472,-0.169043,-0.291571,-0.219886,-0.245137,-0.169825,-0.118613,-0.151054,-0.119116,-0.348288,-0.237254,-0.336387,-0.0817522,0.0822268 --5923.12,0.892389,0.350484,2,-0.227805,0.00736105,-1.84208,-2.26688,-2.62693,-2.47611,-2.60617,-2.14009,-1.67082,-1.93942,-2.48702,-2.39632,-2.4197,-1.42003,-2.64694,-2.8606,-1.25192,-1.46278,-2.03942,-2.93426,-3.05103,-1.25704,-2.23699,-3.01411,0.00629372,-0.248057,-0.20258,-0.137859,-0.163865,-0.35309,-0.273878,-0.423411,-0.204595,-0.17427,-0.121582,-0.205423,-0.139174,-0.0782554,-0.306019,-0.282559,-0.184601,-0.129351,-0.325741,-0.222282,-0.288176,-0.261001,-0.302634,0.0857966 --5913.57,0.954586,0.350484,2,-0.229128,0.00245745,-2.19437,-2.18899,-2.49126,-2.43969,-2.54794,-2.42772,-1.62132,-2.0935,-2.26866,-2.3786,-2.41111,-1.30416,-3.22162,-2.76425,-1.38661,-1.55355,-2.06387,-3.27383,-3.38533,-1.58522,-2.08846,-3.15489,-0.376815,-0.238889,-0.192685,-0.185715,-0.192636,-0.0916561,-0.339357,-0.239569,-0.138925,-0.200059,-0.241733,-0.387462,-0.372898,-0.0919949,-0.145994,-0.226621,-0.177319,-0.248326,-0.152971,-0.253228,-0.199425,-0.258833,-0.135753,0.0495727 --5911.3,0.949187,0.350484,2,-0.163503,0.00710829,-2.37063,-2.29794,-1.89999,-2.39274,-2.34983,-1.97061,-1.87181,-2.18338,-1.86318,-2.27894,-2.32205,-1.6831,-3.13135,-2.59379,-1.5924,-1.33749,-1.89296,-2.76316,-3.47793,-1.41767,-2.13899,-2.97942,-0.1136,-0.312166,-0.18836,-0.258085,-0.201915,-0.375362,-0.21371,-0.112339,-0.274866,-0.187483,-0.149069,0.048655,-0.0454111,-0.10533,-0.238753,-0.242377,-0.250992,-0.203469,-0.285592,-0.175875,-0.325803,-0.225233,-0.17535,0.0843107 --5913.14,0.971057,0.350484,3,-0.313886,0.0113176,-2.5267,-2.20347,-2.34442,-2.4247,-2.31084,-2.35126,-1.52185,-1.93949,-2.00259,-2.18548,-2.28724,-1.47651,-2.58844,-2.81962,-1.13368,-1.46387,-1.98888,-3.19638,-3.07964,-1.52386,-2.20819,-3.09456,-0.296319,-0.335865,-0.226675,-0.179933,-0.28246,-0.266187,-0.50062,-0.319642,-0.207383,-0.36421,-0.370437,-0.193839,-0.700474,-0.0769334,-0.311678,-0.340679,-0.285567,-0.373976,-0.282109,-0.341427,-0.295837,-0.369455,-0.176365,0.106384 --5917.56,0.702204,0.350484,3,-0.263578,0.0196175,-2.72282,-2.07396,-1.7019,-2.43644,-2.39262,-2.30275,-1.60496,-2.11087,-1.96666,-2.24083,-2.25571,-1.52071,-2.95869,-2.66435,-1.10351,-1.55971,-1.88317,-3.07348,-2.86317,-1.4466,-2.30036,-2.95332,-0.26215,-0.241347,-0.386348,-0.306804,-0.189394,-0.567223,-0.456392,-0.322623,-0.203592,-0.394854,-0.150643,-0.35267,-0.140519,-0.206676,-0.43585,-0.177641,-0.283374,-0.136032,-0.269447,-0.192042,-0.271642,-0.146691,-0.264774,0.140063 --5916.81,0.396345,0.350484,2,-0.295456,0.0221726,-2.64865,-2.09139,-1.73684,-2.42609,-2.48454,-2.06104,-1.63172,-2.05949,-1.99079,-2.25578,-2.24637,-1.48976,-3.02782,-2.65018,-1.09886,-1.52047,-1.99212,-3.05787,-3.02593,-1.4737,-2.271,-2.82484,-0.227225,-0.306763,-0.415964,-0.308556,-0.175936,-0.567007,-0.454326,-0.28052,-0.323932,-0.44304,-0.145364,-0.253927,-0.173271,-0.208749,-0.444228,-0.20764,-0.284551,-0.124366,-0.234427,-0.220446,-0.225713,-0.133215,-0.291216,0.148905 --5916.92,0.822794,0.350484,2,-0.292051,0.00899663,-2.22031,-2.04857,-2.45079,-2.36038,-2.43802,-2.27211,-1.56909,-2.17839,-1.93554,-2.17239,-2.4093,-1.4843,-3.17498,-2.70579,-1.2019,-1.3598,-2.04926,-2.6682,-3.23236,-1.59686,-2.11723,-2.93787,-0.393785,-0.190748,-0.153273,-0.166221,-0.28508,-0.0617351,-0.594396,-0.20788,-0.221373,-0.183656,-0.336535,-0.125221,-0.282495,-0.145829,-0.173257,-0.281216,-0.243434,-0.251826,-0.354309,-0.236255,-0.366169,-0.486413,-0.253978,0.0948506 --5920,0.878493,0.350484,3,-0.429429,0.0174599,-2.67288,-2.15654,-1.78251,-2.32908,-2.33595,-2.03472,-1.61604,-1.9914,-1.9413,-2.26599,-2.23744,-1.29969,-2.74391,-2.65706,-1.39552,-1.43908,-1.70543,-3.15528,-3.11355,-1.25441,-1.93372,-2.84655,-0.299714,-0.498812,-0.603132,-0.369698,-0.190032,-0.73548,-0.488454,-0.489446,-0.438619,-0.425443,-0.145277,-0.460073,-0.462906,-0.0804335,-0.455323,-0.371029,-0.249595,-0.392875,-0.405379,-0.464446,-0.392953,-0.37382,-0.391643,0.132136 --5917.42,0.98998,0.350484,3,-0.324575,0.00629807,-1.99069,-2.17927,-2.29838,-2.34851,-2.32585,-2.3951,-1.61161,-2.11705,-1.85833,-2.21289,-2.21628,-1.46764,-3.07076,-2.63555,-1.27026,-1.44932,-2.01656,-2.58168,-3.79426,-1.5672,-2.11203,-2.89558,-0.229154,-0.465319,-0.202474,-0.286795,-0.437458,0.0395124,-0.418786,-0.325557,-0.34474,-0.322559,-0.623317,-0.294156,-0.375543,-0.244072,-0.336815,-0.421598,-0.245176,-0.151696,-0.305496,-0.373573,-0.303035,-0.497961,-0.294025,0.0793604 --5918.3,0.946075,0.350484,3,-0.357713,0.00814901,-3.02467,-2.13556,-2.06967,-2.37129,-2.33414,-1.98405,-1.76838,-1.94914,-2.00361,-2.17384,-2.13081,-1.45994,-2.65172,-2.73806,-1.45203,-1.49064,-1.67886,-3.15915,-2.67641,-1.28444,-1.99846,-2.77299,-0.300866,-0.398383,-0.448235,-0.391241,-0.173635,-0.70123,-0.464989,-0.306154,-0.324521,-0.364585,-0.228156,-0.287815,-0.504364,-0.212843,-0.355657,-0.192171,-0.380375,-0.507787,-0.439332,-0.33834,-0.374477,-0.473736,-0.321765,0.0902719 --5918.3,0.590949,0.350484,3,-0.357713,0.00814901,-3.02467,-2.13556,-2.06967,-2.37129,-2.33414,-1.98405,-1.76838,-1.94914,-2.00361,-2.17384,-2.13081,-1.45994,-2.65172,-2.73806,-1.45203,-1.49064,-1.67886,-3.15915,-2.67641,-1.28444,-1.99846,-2.77299,-0.300866,-0.398383,-0.448235,-0.391241,-0.173635,-0.70123,-0.464989,-0.306154,-0.324521,-0.364585,-0.228156,-0.287815,-0.504364,-0.212843,-0.355657,-0.192171,-0.380375,-0.507787,-0.439332,-0.33834,-0.374477,-0.473736,-0.321765,0.0902719 --5918.09,0.940861,0.350484,2,-0.320309,0.00940775,-2.07551,-2.11425,-2.14769,-2.33208,-2.48865,-2.23097,-1.60824,-2.17336,-1.86497,-2.34623,-2.31382,-1.47465,-3.10241,-3.01264,-1.28011,-1.76968,-1.99682,-3.16661,-3.80249,-1.35018,-2.10817,-3.07553,-0.269157,-0.460913,-0.286353,-0.282048,-0.380794,-0.208162,-0.431321,-0.269156,-0.394473,-0.248679,-0.496384,-0.225935,-0.310337,0.238387,-0.297587,-0.311867,-0.235503,-0.0404821,-0.359082,-0.492809,-0.429708,-0.281926,-0.378362,0.0969936 --5918.38,0.790021,0.350484,2,-0.317787,0.00913862,-1.95995,-1.9131,-2.30696,-2.37024,-2.44617,-2.50637,-1.63097,-2.14404,-1.89783,-2.25678,-2.29302,-1.51769,-3.05113,-2.97317,-1.152,-1.68347,-2.20448,-2.8598,-3.74189,-1.28433,-2.12267,-3.04297,-0.280598,-0.502612,-0.359925,-0.244398,-0.162031,-0.250486,-0.318583,-0.26187,-0.268694,-0.237686,-0.477997,-0.179181,-0.406295,-0.0107703,-0.313841,-0.202446,-0.102025,-0.200083,-0.361869,-0.449194,-0.151799,-0.366273,-0.273544,0.0955961 --5926.08,0.788355,0.350484,2,-0.285963,0.0263723,-1.67214,-2.06024,-2.31514,-2.363,-2.44444,-2.63176,-1.90072,-2.18601,-2.04417,-2.20597,-2.36479,-1.63857,-2.72252,-2.75299,-1.26388,-1.495,-2.35177,-2.75726,-3.85211,-1.41012,-2.32803,-3.13569,-0.530955,-0.351272,-0.286219,-0.323788,-0.123882,-0.247664,-0.324697,-0.174432,-0.572215,-0.26458,-0.286713,-0.145257,-0.227272,0.124238,-0.444546,-0.111827,-0.0524963,-0.267389,-0.183372,-0.454231,-0.362536,-0.328282,-0.160234,0.162395 --5922.39,0.258451,0.350484,2,-0.297904,0.0105944,-2.86932,-2.25463,-2.10053,-2.32353,-2.51627,-1.93938,-1.73417,-2.04045,-1.86594,-2.15252,-2.30251,-1.58584,-2.60493,-2.81933,-1.18971,-1.33963,-2.19478,-2.74988,-3.54446,-1.63007,-2.1249,-2.95537,-0.583956,-0.287985,-0.305311,-0.279077,-0.287793,-0.298398,-0.260537,-0.307074,-0.600141,-0.323649,-0.284331,-0.151379,-0.226871,-0.152134,-0.436792,-0.180801,0.123374,-0.211774,-0.236009,-0.447871,-0.135705,-0.3532,-0.406411,0.102929 --5927.49,0.597239,0.350484,2,-0.281242,0.00975338,-3.50772,-2.22705,-2.26343,-2.33119,-2.47454,-2.07043,-1.83587,-2.01838,-1.79247,-2.19,-2.25512,-1.6953,-2.757,-2.76481,-1.23343,-1.27514,-1.96594,-2.5254,-3.32445,-1.62275,-2.19685,-3.03455,-0.446266,-0.129896,-0.408138,-0.287625,-0.293156,-0.316982,-0.353176,-0.229832,-0.592012,-0.285631,-0.282222,-0.0600613,-0.374462,0.000666193,-0.330203,-0.262734,0.121683,-0.0443727,-0.063616,-0.396492,-0.292034,-0.383164,-0.436294,0.0987592 --5935.48,0.881205,0.350484,2,-0.265635,0.0364969,-1.65081,-1.91836,-2.04869,-2.51781,-2.43131,-2.03578,-1.74451,-2.01496,-2.14584,-2.21087,-2.57066,-1.38316,-3.06999,-2.86162,-1.26978,-1.60111,-2.18713,-3.83773,-3.32165,-1.26871,-1.98526,-2.58491,-0.703379,-0.498037,-0.172382,-0.126616,-0.00571872,-0.336479,-0.307248,-0.380379,-0.437628,-0.428052,-0.0505901,-0.0836231,-0.322195,0.111522,-0.484747,-0.166473,-0.319933,-0.331258,-0.0841286,-0.130867,-0.367634,-0.30013,-0.138848,0.191042 --5936.05,0.955117,0.350484,3,-0.294517,0.0261379,-2.64335,-2.24842,-1.89216,-2.39757,-2.28716,-2.37285,-1.76607,-2.17129,-1.52077,-2.18535,-2.55984,-1.51864,-2.81064,-2.96881,-1.34107,-1.25378,-1.85574,-2.97834,-3.69289,-1.59375,-2.31752,-3.12222,-0.408708,-0.970345,-0.329622,-0.19938,-0.443171,-0.199763,-0.347522,-0.219971,-0.295065,-0.385937,-0.0642868,-0.363968,-0.214805,0.278341,-0.388566,-0.28059,-0.0238154,-0.0732776,-0.187856,-0.29511,-0.215235,-0.552061,-0.678127,0.161672 --5932.89,0.971617,0.350484,2,-0.228161,0.0553697,-2.18968,-2.33298,-2.07698,-2.37876,-2.33011,-2.05277,-1.70248,-2.15434,-1.66551,-2.18802,-2.65622,-1.44937,-2.96486,-2.91776,-1.32931,-1.36763,-2.1415,-3.35623,-3.51396,-1.5145,-2.1712,-2.88576,-0.616903,-0.884289,-0.267277,-0.170865,-0.39712,-0.0245033,-0.201291,-0.212173,-0.520374,-0.268074,0.00870006,-0.377354,-0.0996315,0.223439,-0.180439,-0.176374,-0.149502,-0.160654,-0.0973966,-0.245629,-0.412286,-0.498698,-0.618988,0.235308 --5930.63,0.989228,0.350484,3,-0.208162,0.0244731,-2.49148,-1.6991,-2.26714,-2.40546,-2.42384,-2.24287,-1.60011,-2.1525,-2.00711,-2.32882,-1.97657,-1.6639,-3.04203,-2.66219,-1.33945,-1.59194,-1.85543,-2.549,-3.33992,-1.65432,-2.10954,-3.07118,0.196442,-0.21252,-0.27453,-0.210941,0.0141135,-0.324392,-0.512378,-0.165121,-0.236632,-0.150361,-0.481364,-0.169385,-0.473193,-0.228692,-0.352386,-0.206011,-0.221244,-0.215696,-0.394255,-0.187075,-0.240901,0.0734066,0.199463,0.156439 --5930.31,0.804905,0.350484,2,-0.214686,0.0242984,-2.60674,-1.73631,-2.41712,-2.38906,-2.42412,-2.19634,-1.6399,-2.12555,-1.99157,-2.31731,-2.01528,-1.71029,-3.09956,-2.69249,-1.22985,-1.54668,-1.99633,-2.422,-3.40784,-1.57172,-2.08588,-3.12049,0.255133,-0.173669,-0.203873,-0.151489,-0.00477723,-0.415509,-0.517629,-0.176055,-0.259208,-0.205563,-0.481373,-0.193418,-0.487787,-0.136011,-0.318953,-0.140232,-0.270263,-0.351217,-0.349376,-0.183641,-0.192292,0.0130649,0.153111,0.15588 --5925.93,0.949736,0.350484,3,-0.228083,0.0414087,-2.29128,-2.87237,-1.83695,-2.40141,-2.3851,-2.33089,-1.67288,-2.11912,-1.78565,-2.22254,-2.29815,-1.38879,-2.66033,-2.8488,-1.48239,-1.51861,-2.00094,-3.59564,-3.33504,-1.24479,-2.15663,-2.7672,-0.554352,-0.269881,-0.22254,-0.191874,-0.12042,-0.151511,-0.255033,-0.217568,-0.423639,-0.386616,-0.433563,-0.119164,-0.336332,0.116467,-0.168058,-0.148142,-0.0985334,-0.0246481,-0.0412561,-0.412755,-0.299816,-0.569766,-0.113928,0.203491 --5924.68,0.532993,0.350484,2,-0.268993,0.014987,-2.16745,-2.7046,-2.15598,-2.44206,-2.2574,-2.39899,-1.64995,-2.15279,-1.81653,-2.18986,-2.30511,-1.35754,-2.77877,-2.98042,-1.50348,-1.48731,-1.99641,-3.61471,-3.28943,-1.27087,-2.11154,-2.79715,-0.619211,-0.236427,-0.257131,-0.261904,-0.173029,-0.0705574,-0.341093,-0.308399,-0.408607,-0.381686,-0.436662,-0.177243,-0.379557,0.0690344,-0.22096,-0.214935,-0.0249365,0.0440973,-0.0650943,-0.365508,-0.291539,-0.541188,-0.0951753,0.122422 --5916.54,0.82659,0.350484,3,-0.368313,0.00884713,-2.23736,-1.97994,-1.95212,-2.30024,-2.51829,-2.17043,-1.66792,-2.09021,-1.94427,-2.28222,-2.22917,-1.56275,-3.08145,-2.65372,-1.27005,-1.37636,-2.21623,-2.35956,-3.53582,-1.61176,-2.11399,-2.75376,-0.239234,-0.363108,-0.441744,-0.27775,-0.305456,-0.436628,-0.650359,-0.479851,-0.3618,-0.319982,-0.253427,-0.362984,-0.327284,-0.289129,-0.341865,-0.386586,-0.102787,-0.466989,-0.413746,-0.321563,-0.401557,-0.560165,-0.448703,0.0940592 --5916.54,0.497799,0.350484,2,-0.368313,0.00884713,-2.23736,-1.97994,-1.95212,-2.30024,-2.51829,-2.17043,-1.66792,-2.09021,-1.94427,-2.28222,-2.22917,-1.56275,-3.08145,-2.65372,-1.27005,-1.37636,-2.21623,-2.35956,-3.53582,-1.61176,-2.11399,-2.75376,-0.239234,-0.363108,-0.441744,-0.27775,-0.305456,-0.436628,-0.650359,-0.479851,-0.3618,-0.319982,-0.253427,-0.362984,-0.327284,-0.289129,-0.341865,-0.386586,-0.102787,-0.466989,-0.413746,-0.321563,-0.401557,-0.560165,-0.448703,0.0940592 --5910.42,0.269127,0.350484,2,-0.384102,0.00329419,-2.73009,-1.9546,-1.80172,-2.35944,-2.26681,-2.41258,-1.69808,-2.01264,-1.93675,-2.29924,-2.25256,-1.56451,-2.64868,-2.5818,-1.18057,-1.40948,-2.22033,-2.90801,-4.06889,-1.31992,-2.19631,-2.86247,-0.488764,-0.446754,-0.333851,-0.408003,-0.405886,-0.435111,-0.470194,-0.301434,-0.231055,-0.360233,-0.396043,-0.362539,-0.473275,-0.271398,-0.347488,-0.385986,-0.178279,-0.391918,-0.299543,-0.409496,-0.367554,-0.434409,-0.283281,0.0573951 --5905.19,0.337613,0.350484,3,-0.332996,0.00500619,-3.03911,-2.00622,-2.25,-2.48063,-2.24036,-1.87615,-1.55391,-1.93485,-1.68783,-2.26492,-2.22432,-1.52368,-2.95113,-2.60957,-1.1772,-1.51129,-1.85574,-3.06449,-3.62979,-1.50721,-2.11472,-2.75689,-0.32729,-0.308596,-0.214488,-0.282642,-0.343501,-0.304077,-0.368834,-0.354472,-0.396261,-0.303474,-0.322186,-0.323999,-0.337186,-0.251802,-0.367397,-0.281758,-0.358046,-0.311142,-0.402426,-0.319299,-0.381115,-0.336857,-0.525589,0.0707544 --5905.19,0.231504,0.350484,2,-0.332996,0.00500619,-3.03911,-2.00622,-2.25,-2.48063,-2.24036,-1.87615,-1.55391,-1.93485,-1.68783,-2.26492,-2.22432,-1.52368,-2.95113,-2.60957,-1.1772,-1.51129,-1.85574,-3.06449,-3.62979,-1.50721,-2.11472,-2.75689,-0.32729,-0.308596,-0.214488,-0.282642,-0.343501,-0.304077,-0.368834,-0.354472,-0.396261,-0.303474,-0.322186,-0.323999,-0.337186,-0.251802,-0.367397,-0.281758,-0.358046,-0.311142,-0.402426,-0.319299,-0.381115,-0.336857,-0.525589,0.0707544 --5905.9,0.616964,0.350484,3,-0.311623,0.00242418,-2.8959,-1.87817,-2.138,-2.45719,-2.21648,-1.77355,-1.55912,-1.93527,-1.63702,-2.25104,-2.20982,-1.56064,-3.02505,-2.64349,-1.21835,-1.51864,-1.82566,-2.9914,-3.49956,-1.57028,-2.12388,-2.80693,-0.227677,-0.386815,-0.268612,-0.331841,-0.371612,-0.209437,-0.298702,-0.330034,-0.389259,-0.321169,-0.312549,-0.364036,-0.343313,-0.172116,-0.34237,-0.292461,-0.312604,-0.265768,-0.302529,-0.345335,-0.270861,-0.336403,-0.396926,0.0492359 --5911.14,5.89854e-05,0.350484,2,-0.308888,0.00339336,-2.50693,-1.9915,-2.29986,-2.35263,-2.23627,-1.80763,-1.68328,-1.82223,-1.61441,-2.27503,-2.19368,-1.55332,-3.15904,-2.73038,-1.17138,-1.5872,-1.80972,-3.04521,-3.44194,-1.56393,-2.30774,-2.7694,-0.379857,-0.246456,-0.216237,-0.298678,-0.426366,-0.357795,-0.406805,-0.279523,-0.387496,-0.402044,-0.331914,-0.347954,-0.267427,-0.257778,-0.215502,-0.309441,-0.318393,-0.273373,-0.279335,-0.180242,-0.347791,-0.381304,-0.355577,0.0582525 --5909.9,0.561753,0.350484,2,-0.31335,0.00437498,-3.68311,-2.29972,-2.1277,-2.52558,-2.29929,-1.89513,-1.71404,-1.99409,-1.86699,-2.27184,-2.26317,-1.16482,-3.07939,-2.69698,-1.27642,-1.49702,-1.81356,-3.13443,-3.74982,-1.63033,-2.21082,-3.08298,-0.201022,-0.258617,-0.430314,-0.285995,-0.230098,-0.150988,-0.281606,-0.363954,-0.37788,-0.316979,-0.333512,-0.295194,-0.355629,-0.257995,-0.375495,-0.305118,-0.369294,-0.319421,-0.301877,-0.271021,-0.249352,-0.288497,-0.279935,0.0661436 --5914.1,1.61669e-24,0.350484,3,-0.265559,0.00577429,-1.99122,-1.98685,-1.70861,-2.29323,-2.49744,-1.95737,-1.68081,-1.9763,-1.82902,-2.20301,-2.26976,-1.43256,-2.63597,-2.82968,-1.5395,-1.62397,-1.76516,-3.54201,-3.27723,-1.63686,-2.3235,-3.12832,-0.29792,-0.291364,-0.503098,-0.218943,-0.255784,-0.403274,-0.389789,-0.256019,-0.276471,-0.380587,-0.20488,-0.275116,-0.211988,-0.0438793,-0.135217,-0.214849,-0.187344,-0.195777,-0.203334,-0.143895,-0.294637,-0.243221,-0.230214,0.0759887 --5910.12,0.747304,0.350484,2,-0.26916,0.00494595,-2.41893,-1.86864,-1.71697,-2.34949,-2.26664,-2.16783,-1.67803,-2.04151,-1.82628,-2.22874,-2.36548,-1.32391,-2.74611,-2.82383,-1.42775,-1.75216,-1.74701,-3.61914,-3.24496,-1.57702,-2.15654,-3.1389,-0.293148,-0.231001,-0.339898,-0.235205,-0.248258,-0.31051,-0.401789,-0.36993,-0.269323,-0.328147,-0.288551,-0.229947,-0.266254,-0.0593731,-0.209738,-0.28006,-0.282638,-0.260889,-0.434478,-0.109382,-0.286506,-0.234179,-0.334811,0.0703274 --5913.5,0.224093,0.350484,2,-0.25559,0.00673723,-2.3753,-2.1535,-2.04462,-2.46587,-2.52405,-2.09868,-1.61076,-2.05465,-1.8616,-2.1876,-2.19209,-1.55868,-3.14891,-2.82966,-1.41634,-1.35463,-1.81149,-3.5464,-2.82983,-1.61501,-1.98118,-2.97098,-0.430592,-0.271708,-0.12853,-0.307925,-0.168666,-0.252258,-0.321874,-0.141471,-0.322743,-0.289921,-0.319793,-0.33161,-0.151116,-0.12605,-0.198332,-0.228825,-0.143201,-0.199706,-0.364555,-0.252239,-0.256308,-0.361751,-0.173164,0.0820806 --5925.86,0.19504,0.350484,2,-0.211767,0.00891205,-2.1104,-1.89887,-2.44976,-2.39786,-2.61068,-2.12257,-1.83485,-2.07651,-2.13777,-2.30203,-2.13382,-1.3572,-2.97763,-2.70404,-1.31794,-1.49813,-2.17714,-3.06903,-4.07398,-1.47395,-2.13927,-2.88712,-0.15191,-0.367652,-0.489308,-0.103455,-0.316416,-0.277144,-0.311526,-0.219682,-0.27318,-0.373333,-0.381974,-0.195044,-0.474899,-0.0422855,-0.306191,-0.356596,-0.380867,-0.125331,-0.0368074,-0.121431,-0.411892,-0.213935,-0.323666,0.0944037 --5925.27,0.606872,0.350484,2,-0.2977,0.0150151,-2.22096,-2.08981,-2.09497,-2.32882,-2.31818,-2.18993,-1.89706,-2.03352,-2.21863,-2.21523,-2.16162,-1.41033,-2.64361,-2.75913,-1.30439,-1.42724,-2.03413,-3.14875,-4.02771,-1.49163,-2.06472,-2.82435,-0.218667,-0.349574,-0.580793,-0.0778376,-0.18146,-0.585143,-0.328311,-0.134685,-0.286057,-0.35555,-0.421722,-0.166052,-0.434568,-0.203236,-0.244586,-0.497949,-0.314962,-0.0417458,-0.171848,-0.254682,-0.398347,-0.246682,-0.258071,0.122536 --5931.26,0.876398,0.350484,3,-0.336468,0.0195297,-2.26473,-1.75963,-1.92386,-2.67041,-2.32274,-1.90232,-1.65324,-2.30016,-1.85843,-2.20826,-2.22527,-1.58866,-2.84954,-2.51127,-1.3622,-1.51189,-1.67831,-2.87062,-3.08429,-1.55697,-2.09268,-2.74708,-0.427359,-0.498838,-0.42082,-0.269661,-0.316355,-0.106004,-0.195141,-0.152561,-0.19914,-0.425168,-0.388288,-0.189373,-0.482104,-0.202093,-0.393928,-0.334757,-0.427217,0.0376381,-0.392453,-0.296641,-0.28401,-0.451427,-0.316763,0.139749 --5917.13,1,0.350484,2,-0.339409,0.0026821,-2.54725,-2.1282,-2.35848,-2.46102,-2.50313,-2.67203,-1.75542,-2.11259,-1.96368,-2.22202,-2.25389,-1.51047,-3.198,-2.69729,-1.20736,-1.18274,-1.75668,-2.98898,-3.22259,-1.363,-2.05141,-2.85998,-0.269992,-0.283985,-0.437255,-0.185899,-0.264658,-0.417145,-0.44779,-0.123829,-0.405074,-0.295512,-0.400375,-0.342887,-0.266893,-0.295495,-0.430183,-0.352869,-0.321328,-0.200926,-0.293969,-0.510231,-0.503039,-0.282071,-0.302139,0.051789 --5914.11,0.92146,0.350484,3,-0.308289,0.00248466,-2.79836,-2.07313,-2.52889,-2.45137,-2.50487,-2.74782,-1.74614,-2.15455,-1.97762,-2.17523,-2.2418,-1.52372,-3.19096,-2.66606,-1.22815,-1.16936,-1.83935,-3.06327,-3.32489,-1.39974,-1.92378,-2.8868,-0.341049,-0.317813,-0.395104,-0.210763,-0.253149,-0.405919,-0.390374,-0.14029,-0.378935,-0.3002,-0.436002,-0.269272,-0.32993,-0.290652,-0.384801,-0.314624,-0.367645,-0.232872,-0.303317,-0.488403,-0.450746,-0.288376,-0.396452,0.0498464 --5917.38,0.381778,0.350484,3,-0.260229,0.00755658,-2.66584,-1.93852,-2.09587,-2.47955,-2.59709,-2.35308,-1.69738,-2.01586,-1.64082,-2.11643,-2.41388,-1.50692,-2.9984,-2.6309,-1.42176,-1.35739,-1.43379,-3.16861,-3.13921,-1.4788,-2.08694,-3.06068,-0.243816,-0.299833,-0.316399,-0.279178,-0.228343,-0.22263,-0.182211,-0.164082,-0.238451,-0.331255,-0.234103,-0.265541,-0.301779,-0.231745,-0.233742,-0.36517,-0.291015,-0.384635,-0.306924,-0.408383,-0.279439,-0.279715,-0.164124,0.0869286 --5917.64,0.408326,0.350484,2,-0.261736,0.00370405,-2.57125,-1.97087,-1.62132,-2.32188,-2.47701,-2.86505,-1.76321,-2.32827,-1.74097,-2.22036,-2.53153,-1.67733,-3.06934,-2.50273,-1.24572,-1.40853,-1.91191,-2.87972,-3.56283,-1.33103,-2.24983,-2.93126,-0.376549,-0.312915,-0.243325,-0.293353,-0.158625,-0.346929,-0.40159,-0.218116,-0.345932,-0.333956,-0.330164,-0.274986,-0.190526,-0.305269,-0.335808,-0.248763,-0.366372,-0.198019,-0.286663,-0.326934,-0.361428,-0.420614,-0.255943,0.0608609 --5917.35,1,0.350484,2,-0.31132,0.00594046,-2.94679,-1.73874,-1.92007,-2.43103,-2.62653,-2.75124,-1.65964,-1.95662,-1.75451,-2.28003,-2.36724,-1.59402,-3.08719,-2.56268,-1.25441,-1.63399,-1.82186,-3.04548,-3.4244,-1.35803,-2.03585,-3.18029,-0.162668,-0.320114,-0.363864,-0.374873,-0.356963,-0.188062,-0.368577,-0.159272,-0.297288,-0.183026,-0.360807,-0.217266,-0.215744,-0.255509,-0.308843,-0.380512,-0.336965,-0.343358,-0.30813,-0.290033,-0.275464,-0.276256,-0.390507,0.0770744 --5917.35,0.541311,0.350484,2,-0.31132,0.00594046,-2.94679,-1.73874,-1.92007,-2.43103,-2.62653,-2.75124,-1.65964,-1.95662,-1.75451,-2.28003,-2.36724,-1.59402,-3.08719,-2.56268,-1.25441,-1.63399,-1.82186,-3.04548,-3.4244,-1.35803,-2.03585,-3.18029,-0.162668,-0.320114,-0.363864,-0.374873,-0.356963,-0.188062,-0.368577,-0.159272,-0.297288,-0.183026,-0.360807,-0.217266,-0.215744,-0.255509,-0.308843,-0.380512,-0.336965,-0.343358,-0.30813,-0.290033,-0.275464,-0.276256,-0.390507,0.0770744 --5925.43,0.580383,0.350484,2,-0.311599,0.00531375,-3.26218,-2.10289,-1.73236,-2.24235,-2.49252,-2.36143,-1.75833,-2.15719,-2.00397,-2.20733,-2.21058,-1.1801,-2.73031,-2.73115,-1.34799,-1.59732,-2.19696,-2.26839,-3.37115,-1.458,-2.36591,-2.9619,-0.389273,-0.474825,-0.251228,-0.295326,-0.200296,-0.591435,-0.323895,-0.461541,-0.275689,-0.364136,-0.238774,-0.299537,-0.445177,-0.239966,-0.317644,-0.186497,-0.0482323,-0.275543,-0.281484,-0.378306,-0.336081,-0.330758,-0.0986331,0.0728955 --5930.42,0.720196,0.350484,3,-0.263495,0.0112541,-1.72007,-2.32714,-2.70285,-2.47409,-2.20147,-2.16145,-1.5298,-2.04589,-1.84274,-2.16252,-2.42042,-1.66807,-3.23006,-2.73235,-1.1901,-1.205,-1.78117,-3.76852,-3.32828,-1.60816,-1.96457,-2.89343,-0.292617,-0.120675,-0.252572,-0.169244,-0.179381,0.153481,-0.500631,-0.143742,-0.387719,-0.226224,-0.20357,-0.184205,-0.194832,-0.187356,-0.290338,-0.398048,-0.400361,-0.244889,-0.240552,-0.0993483,-0.452698,-0.437476,-0.508098,0.106085 --5931.28,0.963571,0.350484,3,-0.316506,0.0121208,-2.90207,-2.15406,-1.50056,-2.29495,-2.69646,-2.57161,-1.66111,-2.27915,-1.83143,-2.1905,-2.19398,-1.32292,-2.92955,-2.87055,-1.43446,-1.68069,-1.99018,-2.23453,-3.46502,-1.37028,-2.157,-2.72728,-0.466843,-0.479241,-0.385539,-0.290081,-0.126877,-0.486664,-0.639308,-0.165397,-0.50456,-0.596023,-0.296703,-0.171837,-0.380089,0.122866,-0.310424,-0.204927,-0.20259,-0.282588,-0.315982,-0.443889,-0.36157,-0.472491,-0.143038,0.110094 --5932.96,1,0.350484,3,-0.314537,0.0538942,-3.27252,-2.26784,-2.31294,-2.37801,-2.61674,-2.39438,-1.41521,-2.26258,-1.86039,-2.15124,-2.37465,-1.6937,-3.2419,-3.03314,-1.20066,-1.49677,-1.9536,-3.309,-3.09792,-1.34901,-2.18507,-2.62361,-0.0750466,-0.282281,-0.598606,-0.264655,-0.0102333,-0.167235,-0.594994,-0.149297,-0.415201,-0.418802,-0.4318,0.0495987,-0.187578,0.370661,-0.322754,-0.104333,-0.27707,-0.378581,-0.266807,-0.479945,-0.443847,-0.611549,-0.153664,0.232151 --5935.48,0.991209,0.350484,2,-0.313268,0.027942,-2.9535,-2.4109,-2.29573,-2.30404,-2.71462,-2.42784,-1.53388,-2.22953,-1.78794,-2.25496,-2.39882,-1.71311,-3.33352,-2.89219,-1.26988,-1.36306,-1.97735,-3.66624,-3.34398,-1.41278,-2.16035,-2.72958,0.0562592,-0.388679,-0.685345,-0.356446,0.0399346,-0.0629411,-0.659672,-0.207483,-0.469039,-0.38872,-0.377124,0.0655291,-0.274144,0.358833,-0.492594,-0.206017,-0.297901,-0.46856,-0.0969963,-0.513621,-0.407233,-0.504322,-0.173012,0.167159 --5928.23,0.846462,0.350484,3,-0.207693,0.0138566,-1.99627,-1.91307,-2.0596,-2.54912,-2.38977,-2.37841,-1.65418,-2.14037,-1.81604,-2.17664,-2.39021,-1.49077,-2.82788,-2.80435,-1.41683,-1.53347,-2.07224,-3.11727,-3.20881,-1.45408,-2.04462,-2.88027,-0.179343,-0.28289,-0.846991,-0.0594332,0.0573708,-0.243975,-0.474798,0.0267932,-0.326189,-0.271813,0.0785281,-0.319278,-0.188653,-0.204957,-0.12814,-0.331999,-0.0795789,0.227183,-0.222285,-0.296057,-0.400169,-0.50105,-0.227669,0.117714 --5924.3,0.992685,0.350484,3,-0.174517,0.0160961,-2.55768,-2.41948,-1.86743,-2.33698,-2.57483,-2.1573,-1.72617,-2.0767,-2.21937,-2.2786,-2.11741,-1.57663,-3.05994,-3.02586,-1.41416,-1.56496,-2.08401,-2.82764,-3.67101,-1.67629,-2.24814,-2.75362,0.0849693,-0.0750627,0.302279,-0.336159,-0.197466,-0.238879,-0.399994,-0.140639,-0.1233,-0.256157,-0.225584,-0.0193657,-0.114117,0.0595626,-0.251528,-0.0181906,-0.162188,-0.273033,-0.0683751,-0.119609,-0.238974,-0.605683,-0.226646,0.12687 --5918.17,0.921773,0.350484,2,-0.291078,0.00938606,-2.3046,-1.84047,-2.33734,-2.30731,-2.31128,-2.14212,-1.66598,-2.18628,-1.73855,-2.14913,-2.43365,-1.63702,-2.67721,-2.63656,-1.44092,-1.42942,-1.98418,-3.1031,-3.55398,-1.27892,-2.1449,-2.89722,-0.386133,-0.360843,-0.622148,-0.309114,-0.112193,-0.198829,-0.325875,-0.181444,-0.326243,-0.357487,-0.252484,-0.194566,-0.360401,-0.00350471,-0.0876955,-0.338046,-0.166226,-0.0875517,-0.255503,-0.288068,-0.258469,-0.20293,-0.165619,0.0968817 --5915.07,0.936393,0.350484,2,-0.248494,0.0166538,-2.37535,-2.14727,-2.13273,-2.33748,-2.2457,-2.23752,-1.69461,-2.20812,-1.74522,-2.17576,-2.43961,-1.63034,-2.5833,-2.619,-1.42129,-1.51667,-1.9795,-2.93956,-3.45397,-1.35683,-2.06214,-2.80761,-0.205843,-0.366315,-0.741517,-0.419363,-0.295071,-0.29866,-0.395067,-0.134704,-0.246815,-0.341413,-0.176948,-0.207815,-0.263457,-0.0888941,-0.271178,-0.284082,-0.161044,-0.174143,-0.204005,-0.346113,-0.393332,-0.26119,-0.294898,0.12905 --5917.68,0.722354,0.350484,3,-0.272031,0.00959384,-2.87894,-2.18214,-1.79273,-2.34411,-2.39366,-1.59761,-1.69261,-2.17701,-2.13015,-2.37112,-2.4456,-1.23903,-3.242,-2.87788,-1.32406,-1.2952,-1.9033,-2.92934,-3.21279,-1.34171,-2.24367,-3.10229,-0.303822,-0.211033,-0.394028,-0.204246,-0.188787,-0.27797,-0.314794,-0.00973141,-0.257105,-0.147956,-0.192103,-0.240577,-0.295844,-0.12908,-0.25794,-0.249154,-0.310368,-0.313098,-0.296129,-0.224792,-0.210209,-0.304929,-0.623356,0.0979482 --5919.94,0.947048,0.350484,2,-0.276658,0.0194777,-2.39209,-2.11167,-1.97498,-2.28836,-2.60474,-1.99811,-1.76497,-2.21848,-2.13166,-2.20009,-2.36384,-1.47286,-2.91842,-2.71077,-1.35765,-1.37922,-1.80581,-3.70328,-3.51371,-1.68268,-2.3068,-2.89001,-0.322838,-0.410206,-0.246129,-0.37733,-0.072598,-0.410998,-0.307401,-0.0951265,-0.294099,-0.386256,-0.126971,-0.351284,-0.288918,0.108316,-0.281752,-0.411092,-0.226649,-0.152345,-0.0428155,-0.276058,-0.277329,-0.289649,-0.644291,0.139562 --5910.59,0.717822,0.350484,2,-0.234659,0.00727651,-2.17449,-2.23963,-2.00966,-2.4667,-2.26573,-2.39899,-1.68881,-2.16078,-2.01985,-2.22532,-2.43005,-1.32767,-2.94292,-3.01607,-1.49257,-1.36754,-1.97387,-2.95541,-3.12002,-1.53051,-2.0043,-2.94529,-0.268218,-0.135906,-0.39147,-0.150895,-0.332764,-0.265783,-0.358023,-0.269832,-0.18101,-0.244862,-0.236434,-0.187669,-0.23289,0.0623127,-0.244317,-0.180102,-0.206012,-0.210782,-0.437985,-0.221886,-0.379393,-0.367242,-0.0289946,0.0853025 --5915.13,0.64223,0.350484,2,-0.229545,0.0046405,-2.17091,-2.20262,-2.02723,-2.2845,-2.5937,-2.81382,-1.86089,-1.89821,-1.83347,-2.31573,-2.25289,-1.61318,-3.42239,-2.84059,-1.41751,-1.52831,-2.00461,-3.14761,-2.92179,-1.5853,-2.3456,-2.95491,-0.291497,-0.34972,-0.180836,-0.353341,-0.0938007,-0.20785,-0.257885,-0.247563,-0.350603,-0.269529,-0.201018,-0.219473,-0.233844,0.260897,-0.238133,-0.312805,-0.244637,-0.220413,-0.226354,-0.214584,-0.246657,-0.136342,-0.409961,0.0681212 --5909.87,0.539008,0.350484,2,-0.243321,0.00313889,-2.26571,-2.13207,-1.80494,-2.41962,-2.65022,-2.20336,-1.75672,-2.13475,-1.70299,-2.2967,-2.16028,-1.4859,-3.36498,-2.87875,-1.20506,-1.44129,-2.12448,-3.18029,-3.11057,-1.60044,-2.42147,-3.08782,-0.235976,-0.227647,-0.331773,-0.314744,-0.234582,-0.31047,-0.303476,-0.11187,-0.238541,-0.19933,-0.33057,-0.265835,-0.277408,-0.0458532,-0.272734,-0.230745,-0.276741,-0.290781,-0.299367,-0.333204,-0.268387,-0.315052,-0.144759,0.0560258 --5912.52,0.322134,0.350484,3,-0.287942,0.00884231,-2.19968,-2.38801,-2.23668,-2.39979,-2.31932,-1.87301,-1.73312,-2.20062,-2.13103,-2.26255,-2.37058,-1.22308,-2.70802,-2.66532,-1.46181,-1.46339,-1.79495,-3.14168,-3.1768,-1.57124,-1.83437,-3.07804,-0.367544,-0.360313,-0.251248,-0.196368,-0.244945,-0.242853,-0.348487,-0.216488,-0.369458,-0.397082,-0.313984,-0.3005,-0.308463,-0.133602,-0.308605,-0.360879,-0.231345,-0.1675,-0.292116,-0.15872,-0.343893,-0.225098,-0.485434,0.0940336 --5924.51,0.796025,0.350484,3,-0.180298,0.0191718,-1.76776,-2.01473,-1.9368,-2.36695,-2.40787,-2.67394,-1.72693,-2.07708,-2.14723,-2.25972,-2.3702,-1.39238,-3.02457,-2.91473,-1.50891,-1.63643,-2.23998,-2.98726,-3.25553,-1.48884,-2.05389,-2.94339,-0.36746,-0.455085,-0.148658,-0.178545,0.0422161,0.00567692,-0.337508,-0.284332,-0.474222,-0.370625,-0.256964,-0.0562956,-0.16418,0.217927,-0.265728,-0.0659547,-0.00386727,-0.255375,0.0485234,-0.111155,-0.132365,-0.259664,-0.557996,0.138462 --5931.22,0.910739,0.350484,2,-0.140493,0.0566613,-2.53287,-2.22944,-2.25864,-2.40918,-2.46706,-2.37386,-1.79742,-1.94689,-1.9848,-2.16464,-2.2026,-1.46062,-2.85097,-2.96529,-1.49403,-1.50279,-2.14322,-2.84751,-3.45209,-1.4444,-2.22396,-2.91853,-0.0284435,-0.232771,-0.214895,-0.244624,0.101757,0.011054,-0.361028,-0.206693,-0.438473,-0.317435,-0.388117,-0.298137,0.0728041,0.0918711,-0.154859,0.147483,-0.218869,-0.625755,0.299141,-0.0881954,-0.42308,-0.335629,-0.358865,0.238036 --5926.77,0.935908,0.350484,3,-0.185651,0.0127357,-2.93272,-2.06738,-2.0472,-2.42224,-2.38877,-2.31709,-1.71485,-2.10805,-1.86938,-2.36631,-2.27644,-1.46796,-3.36072,-2.67718,-1.2517,-1.66057,-1.86948,-3.1047,-3.49047,-1.78777,-2.07274,-2.94381,-0.30756,-0.343267,-0.163484,-0.245495,-0.396047,-0.150785,-0.225726,-0.313737,-0.150893,-0.230907,-0.227797,-0.129413,-0.470714,-0.279341,-0.307051,-0.385476,-0.170432,0.256058,-0.36153,-0.234794,-0.264286,-0.250593,-0.0868168,0.112853 --5934.05,0.853504,0.350484,3,-0.0607598,0.0264372,-1.72759,-2.40917,-2.00944,-2.41388,-2.65362,-1.84248,-1.63262,-2.25288,-2.06489,-2.17089,-2.32089,-1.51514,-3.01965,-3.02358,-1.5694,-1.48099,-1.99145,-2.9405,-3.64364,-1.37155,-2.02144,-2.9071,-0.0374354,-0.0614774,-0.432587,-0.192885,-0.0299372,-0.220583,-0.515978,-0.00646124,-0.636772,-0.295391,-0.0756866,-0.103505,-0.135266,0.316615,-0.434999,0.058428,0.0298562,-0.480467,0.0942046,-0.182285,-0.21613,-0.432665,-0.292415,0.162595 --5939.9,0.88561,0.350484,3,-0.0675919,0.109586,-1.78343,-2.07578,-1.78432,-2.43903,-2.70691,-1.81812,-1.57052,-2.19066,-1.88926,-2.096,-2.33672,-1.5068,-2.9873,-3.03336,-1.55798,-1.48236,-2.08348,-2.41949,-3.6546,-1.37174,-2.01348,-2.92625,-0.0822588,-0.136663,-0.622085,-0.262495,-0.136071,-0.212108,-0.470548,-0.0224514,-0.564866,-0.275588,-0.157502,-0.0932457,0.0185371,0.182115,-0.437412,-0.0250434,0.121096,-0.264197,0.0690902,-0.223525,-0.262284,-0.462486,-0.439631,0.331038 --5934.6,0.877032,0.350484,3,-0.363899,0.0246857,-3.30099,-2.58871,-2.41659,-2.32634,-2.18963,-2.64304,-1.79679,-2.15905,-1.87997,-2.31868,-2.34484,-1.55602,-3.07451,-2.8236,-1.10247,-1.58084,-1.69964,-3.72217,-3.38645,-1.47829,-2.14787,-2.87362,-0.402934,-0.503609,-0.103787,-0.35934,-0.0262303,-0.187553,-0.225931,-0.125258,-0.333667,-0.192647,-0.346929,-0.291463,-0.525652,-0.00034964,-0.27364,-0.339639,-0.451812,0.344217,-0.268695,-0.417242,-0.377281,-0.154539,-0.301376,0.157117 --5928.68,0.930461,0.350484,3,-0.295869,0.0183853,-2.26925,-2.21892,-1.59671,-2.36789,-2.44019,-1.85218,-1.78082,-2.2675,-2.10689,-2.14178,-2.41409,-1.21846,-2.59663,-2.62728,-1.20405,-1.44075,-1.5833,-2.84672,-4.15996,-1.4858,-2.03872,-2.93989,-0.394328,-0.214831,-0.483815,-0.40428,-0.286214,-0.369079,-0.384142,-0.142451,-0.315849,-0.391546,-0.206086,-0.248291,-0.302166,-0.20637,-0.450183,-0.169504,-0.763125,0.221443,-0.255207,-0.266567,-0.315342,-0.476071,-0.22077,0.135592 --5931.18,0.766686,0.350484,3,-0.274307,0.0266399,-2.67662,-2.07037,-2.61418,-2.46142,-2.38787,-2.15128,-1.71264,-1.88817,-1.7454,-2.2875,-2.41838,-1.51,-3.33908,-2.78849,-1.33217,-1.39854,-2.35147,-3.09972,-3.24476,-1.40711,-2.08534,-2.81645,-0.222988,-0.649294,-0.0882324,-0.24335,-0.209871,-0.403648,-0.617686,-0.401587,-0.330653,-0.15065,-0.190653,-0.187831,-0.457308,0.194925,-0.201602,-0.46731,0.32929,-0.582731,-0.0339635,-0.474121,-0.280192,-0.286497,-0.365941,0.163217 --5931.15,0.949845,0.350484,3,-0.331468,0.0262366,-2.51635,-2.18646,-2.56664,-2.57075,-2.28287,-1.91156,-1.66782,-2.05335,-2.00686,-2.30822,-2.40303,-1.26531,-3.21088,-3.0148,-1.06449,-1.27082,-2.09863,-2.65366,-3.88446,-1.20717,-1.89291,-2.54403,-0.441911,-0.494035,-0.0724263,-0.194934,-0.294342,-0.603459,-0.444473,-0.33709,-0.202845,-0.260955,-0.220134,-0.334359,-0.273125,0.381747,-0.303154,-0.389653,-0.00630326,-0.427064,-0.134989,-0.342671,-0.521128,-0.310048,-0.41891,0.161977 --5929.73,1,0.350484,3,-0.385034,0.0242071,-2.14319,-1.81419,-1.69684,-2.33787,-2.44981,-2.44205,-1.57531,-2.1748,-1.89541,-2.21919,-2.12658,-1.59057,-2.56587,-2.81254,-1.61951,-1.38996,-1.85163,-3.07218,-3.09481,-1.60368,-2.15766,-3.16909,-0.229386,-0.699614,-0.558884,-0.291386,-0.184929,-0.0152028,-0.582793,-0.17671,-0.501665,-0.22804,-0.380135,-0.196224,-0.635729,-0.0060978,-0.355181,-0.542048,-0.424819,-0.340089,-0.155704,-0.399266,-0.426009,-0.59331,-0.323976,0.155586 --5915.44,0.894343,0.350484,2,-0.305184,0.00565823,-2.40995,-2.44899,-2.22418,-2.33144,-2.40887,-2.05616,-1.75758,-2.00105,-1.89082,-2.17134,-2.35835,-1.47158,-3.20273,-2.65277,-1.24185,-1.33686,-2.04855,-3.00178,-3.88116,-1.36596,-2.12968,-2.76713,-0.364362,-0.0951672,-0.312115,-0.379477,-0.305243,-0.487559,-0.28175,-0.33347,-0.328926,-0.496302,-0.320906,-0.145412,-0.520228,-0.165307,-0.28054,-0.205625,-0.167219,-0.234888,-0.354229,-0.263052,-0.334569,-0.172933,-0.306583,0.0752212 --5918.75,0.956118,0.350484,3,-0.284687,0.00987042,-2.94495,-2.16763,-1.76499,-2.33532,-2.5005,-1.74772,-1.70241,-1.97548,-2.25106,-2.24602,-2.22025,-1.4391,-3.10747,-2.85319,-1.37035,-1.46011,-1.87614,-2.56846,-3.4018,-1.67995,-2.04409,-3.13173,-0.162264,-0.429901,-0.335176,-0.295784,-0.0579189,-0.287991,-0.408885,-0.303037,-0.177197,-0.175778,-0.208975,-0.324501,-0.0961669,0.017764,-0.376769,-0.383511,-0.313409,-0.326329,-0.0683132,-0.182065,-0.346488,-0.458487,-0.236584,0.09935 --5922.01,0.972173,0.350484,3,-0.262834,0.00838307,-1.65176,-2.52251,-2.48497,-2.41475,-2.57775,-2.61102,-1.59513,-2.0364,-1.66076,-2.21892,-2.38532,-1.48271,-2.79262,-2.6571,-1.1122,-1.44489,-2.0791,-3.21986,-3.12665,-1.32042,-2.22305,-2.68124,-0.290384,-0.0660132,-0.204359,-0.23659,-0.00472498,-0.212452,-0.53495,-0.239986,-0.374758,-0.369628,-0.247524,-0.0940457,-0.479979,-0.296401,-0.242217,-0.140773,-0.174553,-0.110616,-0.419388,-0.290025,-0.339433,-0.193795,-0.300779,0.0915591 --5924.16,0.603001,0.350484,2,-0.276925,0.0289055,-3.39522,-1.89191,-1.71105,-2.38501,-2.2262,-1.69822,-1.62545,-2.13457,-2.13183,-2.22089,-2.2245,-1.51518,-3.1927,-2.81419,-1.46502,-1.50405,-1.80306,-2.73123,-3.69178,-1.53442,-1.96901,-3.06057,-0.233229,-0.486844,-0.335652,-0.25839,-0.362966,-0.356626,-0.566311,-0.0758478,-0.260497,-0.307993,-0.228796,-0.249535,-0.0607593,0.228503,-0.431439,-0.349008,-0.351851,-0.31828,-0.0127661,-0.265376,-0.297702,-0.581894,-0.230614,0.170016 --5929.5,0.834729,0.350484,2,-0.279211,0.0283181,-3.68071,-2.11623,-1.8964,-2.39026,-2.24776,-2.02567,-1.59431,-2.12295,-2.19316,-2.1741,-2.12511,-1.35904,-3.16732,-2.71011,-1.27374,-1.48538,-2.01701,-2.64357,-3.50494,-1.40725,-1.94989,-3.02972,-0.128872,-0.505292,-0.226293,-0.191382,-0.494713,-0.204397,-0.515279,-0.132088,-0.348912,-0.227491,-0.306294,-0.347224,0.0846319,0.174365,-0.320863,-0.369181,-0.31875,-0.249523,-0.147399,-0.318337,-0.495655,-0.667067,-0.372456,0.16828 --5929.69,0.927391,0.350484,3,-0.453177,0.0143135,-1.33323,-2.01156,-2.45017,-2.2451,-2.37547,-2.34648,-1.72412,-1.97974,-1.55455,-2.3737,-2.32871,-1.36209,-3.03697,-2.7067,-1.37055,-1.211,-1.98116,-3.01497,-3.22566,-1.43092,-2.02616,-2.57255,-0.397697,-0.358307,-0.434047,-0.463696,-0.154946,-0.467263,-0.358142,-0.431731,-0.485466,-0.274977,-0.439775,-0.336566,-0.48547,-0.302925,-0.341704,-0.458524,-0.135658,-0.411328,-0.610658,-0.396188,-0.55342,-0.343629,-0.334148,0.119639 --5921.83,0.951872,0.350484,2,-0.377722,0.0246084,-3.14877,-2.27362,-1.56158,-2.43009,-2.24454,-1.86448,-1.72374,-2.15106,-1.97422,-2.15655,-2.10506,-1.56064,-2.77583,-2.85716,-1.21471,-1.43845,-1.95491,-2.7303,-3.5412,-1.40744,-2.17376,-3.00546,-0.351109,-0.596682,-0.530733,-0.240679,-0.369268,-0.417421,-0.447521,-0.146161,-0.411985,-0.280725,-0.374431,-0.300879,-0.31222,0.242008,-0.391078,-0.315573,-0.435765,-0.21854,-0.0888887,-0.348031,-0.356059,-0.581595,-0.531729,0.156871 --5921.94,0.366053,0.350484,3,-0.270067,0.00238173,-1.3877,-1.73906,-2.43292,-2.44714,-2.41571,-2.2747,-1.71989,-2.0181,-1.99023,-2.31086,-2.47658,-1.35929,-2.99114,-2.66575,-1.48472,-1.38151,-1.82607,-3.09666,-3.45598,-1.60801,-2.19375,-2.60552,-0.352331,-0.134485,-0.455299,-0.220891,-0.162257,-0.222419,-0.290612,-0.284202,-0.187461,-0.313789,-0.212362,-0.168078,-0.275341,-0.301457,-0.238217,-0.258494,-0.239841,-0.211551,-0.42731,-0.221648,-0.31961,-0.200561,-0.0668441,0.0488029 --5917.97,1,0.350484,2,-0.279775,0.0112095,-2.46665,-2.38832,-2.1467,-2.40145,-2.62926,-2.05861,-1.84164,-2.15402,-1.90266,-2.17641,-2.38633,-1.47728,-3.28439,-2.59243,-1.41012,-1.29803,-1.89274,-3.33071,-3.40784,-1.33097,-2.00408,-2.88741,-0.173168,-0.440287,-0.226293,-0.292706,-0.0860419,-0.38017,-0.32048,-0.29156,-0.214954,-0.267376,-0.198549,-0.290454,-0.294589,-0.0566461,-0.251835,-0.362857,-0.322253,-0.276039,-0.15335,-0.150592,-0.369445,-0.646655,-0.531638,0.105875 --5917.75,0.835099,0.350484,2,-0.262224,0.00878783,-2.33483,-2.43244,-1.68185,-2.42907,-2.44713,-2.12142,-1.79618,-2.02383,-2.04695,-2.30696,-2.3429,-1.53781,-2.89035,-2.77984,-1.43533,-1.54155,-2.12988,-2.64093,-2.54268,-1.24204,-2.02024,-2.76074,-0.310012,-0.308823,-0.38686,-0.224248,-0.165962,-0.214864,-0.311878,-0.187133,-0.251048,-0.252226,-0.197939,-0.297113,-0.136242,-0.211433,-0.343083,-0.24052,-0.220541,-0.321923,-0.150918,-0.189538,-0.552367,-0.697609,-0.30573,0.0937434 --5919.37,0.705749,0.350484,2,-0.227108,0.00872766,-2.2852,-2.53905,-1.70781,-2.43457,-2.38343,-2.20821,-1.83227,-2.04747,-2.06122,-2.28101,-2.33188,-1.45001,-2.87568,-2.81247,-1.41237,-1.56002,-2.08743,-2.77218,-2.49443,-1.29874,-2.06606,-2.69705,-0.339926,-0.371818,-0.32692,-0.304653,-0.147941,-0.194157,-0.273088,-0.206701,-0.24852,-0.274272,-0.211528,-0.26171,-0.140068,-0.139556,-0.428453,-0.247879,-0.190357,-0.319595,-0.270319,-0.213891,-0.565408,-0.641404,-0.364904,0.0934219 --5913.14,0.907955,0.350484,2,-0.223946,0.00348067,-1.95617,-2.11202,-2.04528,-2.45876,-2.3407,-2.25591,-1.71794,-2.25737,-2.05362,-2.29966,-2.22101,-1.3281,-2.79898,-2.52873,-1.15751,-1.43093,-1.66848,-2.82276,-3.01391,-1.46288,-1.94999,-3.17199,-0.216355,-0.194905,-0.254125,-0.129832,-0.251044,-0.328421,-0.315909,-0.218371,-0.264488,-0.267254,-0.328447,-0.19408,-0.439271,-0.253082,-0.175782,-0.243344,-0.316367,-0.223136,-0.309662,-0.345716,-0.590726,-0.165738,-0.204295,0.0589972 --5912.44,0.745139,0.350484,2,-0.306607,0.0032797,-2.05529,-2.23253,-2.38495,-2.5448,-2.32733,-2.63342,-1.61496,-2.22682,-1.82822,-2.32273,-2.10631,-1.37236,-2.82443,-2.56071,-1.34398,-1.49596,-1.7692,-2.84444,-3.46198,-1.5848,-1.98054,-3.05129,-0.298821,-0.349299,-0.313286,-0.121917,-0.306636,-0.261281,-0.233439,-0.229302,-0.298852,-0.227972,-0.338773,-0.261789,-0.450928,-0.290198,-0.208599,-0.137135,-0.405602,-0.3449,-0.268468,-0.321964,-0.381345,-0.320175,-0.375123,0.0572686 --5913.11,0.884016,0.350484,2,-0.286522,0.00192155,-1.95629,-2.09008,-2.22624,-2.58532,-2.31937,-2.73201,-1.6333,-2.204,-1.84279,-2.29781,-2.11843,-1.45088,-2.9021,-2.56802,-1.326,-1.53152,-1.82163,-2.80885,-3.5325,-1.56121,-1.9627,-3.10867,-0.322124,-0.372477,-0.238343,-0.160707,-0.283894,-0.353253,-0.292132,-0.250552,-0.299209,-0.211781,-0.361061,-0.231301,-0.40015,-0.347636,-0.198911,-0.134469,-0.386898,-0.245989,-0.315445,-0.277024,-0.272162,-0.359721,-0.246984,0.0438354 --5908.57,0.500784,0.350484,2,-0.231807,0.00487375,-2.33704,-2.11316,-2.00453,-2.51442,-2.26747,-1.8451,-1.73609,-2.0951,-2.21958,-2.26104,-2.12422,-1.46755,-2.76407,-2.74359,-1.3206,-1.49873,-2.10085,-2.92352,-3.57489,-1.21418,-2.07053,-3.00331,-0.228555,-0.231265,-0.282278,-0.0812133,-0.199215,-0.230317,-0.421422,-0.189852,-0.22242,-0.318737,-0.292659,-0.250852,-0.176601,-0.0709969,-0.346954,-0.358463,-0.10761,-0.25224,-0.199315,-0.268189,-0.406405,-0.184738,-0.244962,0.0698122 --5909.55,0.33764,0.350484,2,-0.235712,0.00922316,-2.23309,-2.14894,-1.81945,-2.49274,-2.15106,-1.92614,-1.64899,-2.12629,-2.23623,-2.23822,-2.21312,-1.45672,-2.77402,-2.80419,-1.40006,-1.49321,-2.03498,-2.74697,-3.59681,-1.29227,-2.20164,-3.09018,-0.20557,-0.280439,-0.213519,-0.102268,-0.239493,-0.292924,-0.319911,-0.213041,-0.19953,-0.162303,-0.321264,-0.209898,-0.172896,-0.0794666,-0.232134,-0.276313,-0.0960054,-0.300709,-0.147767,-0.279688,-0.360125,-0.195835,-0.16552,0.0960373 --5925.04,0.339089,0.350484,2,-0.22246,0.00801737,-1.90849,-2.16922,-2.08506,-2.42783,-2.4194,-1.55911,-1.60031,-2.15097,-2.42093,-2.31117,-2.40302,-1.6476,-3.21806,-2.94019,-1.24937,-1.43513,-1.96032,-2.48944,-3.11042,-1.30413,-2.12802,-3.17371,-0.238448,-0.0745012,-0.315545,-0.218421,-0.361652,-0.349841,-0.264789,-0.0454082,-0.256434,-0.241664,-0.235015,-0.0303049,-0.41152,0.178055,-0.271118,-0.263193,-0.167078,-0.193806,-0.1217,-0.353269,-0.241716,-0.33279,-0.296334,0.0895397 --5926.27,0.643014,0.350484,3,-0.225056,0.0129623,-2.86582,-2.48591,-2.1938,-2.36103,-2.40081,-3.01941,-1.83754,-2.19377,-1.58884,-2.18363,-2.27236,-1.23272,-2.76271,-3.00544,-1.42064,-1.41183,-1.90321,-3.40065,-3.56449,-1.65863,-2.17042,-2.72481,-0.253631,-0.30174,-0.259346,-0.274266,-0.0350593,-0.160085,-0.41081,-0.184981,-0.323095,-0.338555,-0.297135,-0.551348,-0.210119,0.348655,-0.318467,-0.252979,-0.240158,-0.253737,-0.379965,-0.160437,-0.432108,-0.432939,-0.323867,0.113852 --5925.37,0.950811,0.350484,3,-0.390451,0.0105519,-1.83317,-1.86705,-2.11725,-2.32069,-2.42119,-1.47354,-1.62412,-1.92698,-2.15855,-2.32198,-2.27519,-1.78023,-3.05316,-2.7184,-1.26644,-1.43995,-1.99063,-2.50893,-3.2184,-1.33289,-2.16195,-3.04532,-0.333848,-0.334282,-0.471337,-0.124115,-0.290942,-0.503449,-0.484165,-0.247354,-0.293466,-0.257827,-0.255397,0.0701486,-0.357997,-0.142202,-0.346319,-0.302268,-0.280568,-0.275723,-0.252949,-0.538084,-0.394593,-0.294732,-0.270723,0.102722 --5929.94,1,0.350484,3,-0.0837216,0.0299589,-2.07814,-2.2346,-2.16746,-2.24646,-2.47267,-2.10894,-1.75811,-2.20891,-1.83095,-2.21782,-2.3537,-1.33219,-3.40658,-2.64648,-1.36139,-1.5364,-2.05997,-2.795,-3.12827,-1.70018,-2.19482,-2.80996,0.0502133,0.00394346,-0.23007,-0.186934,-0.177437,-0.211341,-0.322938,0.0404683,-0.272421,-0.372612,-0.130015,-0.389326,-0.143595,0.245592,-0.094674,-0.0827966,-0.187773,0.190338,-0.0154871,0.167994,-0.359622,-0.300091,-0.168735,0.173086 --5923.91,1,0.350484,3,-0.337118,0.0163164,-2.19953,-1.93435,-2.49901,-2.32656,-2.36729,-2.08303,-1.70661,-1.97127,-1.9542,-2.28672,-2.2879,-1.672,-3.04246,-2.88059,-1.39844,-1.44375,-1.98955,-2.52693,-3.28637,-1.28147,-1.99144,-2.861,0.00623785,-0.229638,-0.333928,-0.145524,-0.494483,-0.496376,-0.440401,-0.312226,-0.385881,-0.374686,-0.326332,-0.0536985,-0.503548,-0.171093,-0.275195,-0.49102,-0.159403,-0.280033,-0.178198,-0.510201,-0.425494,-0.456849,-0.422639,0.127736 --5917.04,0.909513,0.350484,3,-0.201422,0.00852167,-2.5906,-2.2682,-2.12077,-2.2671,-2.75665,-2.68874,-1.74473,-2.18875,-2.07901,-2.30864,-2.39777,-1.43338,-3.08131,-2.76429,-1.22521,-1.67235,-1.78106,-3.04846,-3.30629,-1.70596,-2.16852,-2.90531,-0.414265,-0.173532,-0.260154,-0.189957,-0.183011,-0.309077,-0.393791,-0.0747183,-0.254283,-0.33322,-0.206415,-0.289239,-0.195307,-0.187093,-0.267312,-0.103636,-0.279461,-0.125558,-0.0672291,-0.00793699,-0.229274,-0.387295,-0.31685,0.0923129 --5924.27,0.608634,0.350484,2,-0.121847,0.0200316,-2.17241,-2.33274,-2.09734,-2.40609,-2.27661,-1.68163,-1.83582,-2.46798,-1.93019,-2.25597,-2.14973,-1.5105,-2.83656,-2.6478,-1.08984,-1.59923,-2.16925,-2.96248,-3.47659,-1.44072,-2.33457,-2.94504,-0.0802253,-0.193568,-0.23077,-0.365957,-0.106929,-0.140022,-0.195694,0.262038,-0.215993,-0.244748,-0.257435,-0.104692,-0.259345,-0.0608319,-0.606881,0.0372486,-0.142541,-0.180854,-0.244732,-0.303213,-0.218245,-0.257269,-0.144454,0.141533 --5923.9,0.866147,0.350484,3,-0.31259,0.0413248,-2.75758,-1.8221,-2.07966,-2.47751,-2.70984,-2.64736,-1.57833,-2.14893,-1.95289,-2.29658,-2.53799,-1.48953,-2.88994,-2.76683,-1.23761,-1.4878,-2.1232,-2.9005,-3.45911,-1.62526,-1.91639,-3.02611,-0.277713,-0.761461,-0.264673,0.0179864,-0.0419494,-0.432344,-0.536838,-0.102958,-0.362403,-0.261694,-0.130044,-0.211543,-0.44974,-0.0547539,-0.420356,-0.331822,-0.0340554,-0.207038,-0.153774,-0.0899827,-0.554085,-0.250903,-0.345677,0.203285 --5939.33,0.905549,0.350484,2,-0.351808,0.0305287,-3.10152,-2.06798,-2.39225,-2.5381,-2.28351,-2.82161,-1.53854,-2.08256,-1.94288,-2.27072,-2.52312,-1.36434,-3.58937,-2.69504,-1.49311,-1.4417,-2.30487,-2.97109,-3.46386,-1.7903,-2.16145,-3.02952,-0.569839,-0.703368,-0.49239,-0.0998868,-0.0690405,-0.595371,-0.582024,-0.103369,-0.565604,-0.260841,-0.0202201,-0.568973,-0.234197,0.137116,-0.345367,-0.308935,-0.140576,-0.278142,-0.412717,-0.232616,-0.397446,-0.327061,-0.510022,0.174725 --5925.85,1,0.350484,2,-0.370953,0.0173527,-1.92936,-1.97238,-2.3837,-2.553,-2.56519,-1.70315,-1.82508,-2.02588,-1.84812,-2.34829,-2.37502,-1.3411,-2.88124,-2.78148,-1.12269,-1.39123,-2.1054,-2.6629,-3.55656,-1.72706,-2.02091,-3.07706,-0.285032,-0.587266,-0.580001,-0.07544,-0.128276,-0.267545,-0.282064,-0.328232,-0.289748,-0.244595,-0.169242,-0.434011,-0.482296,-0.222046,-0.453211,-0.235013,-0.166578,-0.4083,-0.343264,-0.196955,-0.555281,-0.358443,-0.44163,0.13173 --5920.16,0.919794,0.350484,3,-0.254978,0.0111796,-3.11785,-2.26955,-1.9266,-2.23695,-2.20886,-2.57918,-1.61903,-2.00245,-2.07465,-2.16539,-2.32535,-1.5149,-3.00803,-2.74982,-1.49631,-1.49026,-2.21159,-3.169,-3.16855,-1.42483,-2.14623,-2.46794,-0.212563,-0.12423,-0.0884293,-0.339678,-0.239208,-0.353594,-0.451375,-0.245917,-0.303616,-0.249359,-0.341626,-0.0795216,-0.216741,-0.104899,-0.166396,-0.314946,-0.249799,-0.173019,-0.284347,-0.160466,-0.232244,-0.755321,-0.378205,0.105734 --5919.61,0.92469,0.350484,2,-0.211388,0.00672667,-3.48539,-2.19606,-2.55923,-2.41171,-2.60221,-2.33404,-1.6803,-2.07183,-2.03448,-2.20579,-2.3567,-1.55114,-3.64932,-2.58381,-1.41683,-1.46366,-1.84433,-3.28973,-3.43462,-1.31419,-2.04707,-2.65031,-0.171658,-0.302745,-0.204922,-0.252935,-0.222978,-0.0951199,-0.377071,-0.279618,-0.200555,-0.361361,-0.319121,-0.130471,-0.191985,-0.1806,-0.310285,-0.141151,-0.133755,-0.212319,-0.206591,-0.443591,-0.452339,-0.626067,-0.171049,0.0820163 --5916.21,0.877717,0.350484,2,-0.231053,0.00333125,-3.91538,-1.82945,-1.48286,-2.36815,-2.51553,-2.83332,-1.76027,-2.13336,-1.7687,-2.16035,-2.29614,-1.45929,-2.48759,-2.74674,-1.44509,-1.47011,-1.97307,-3.13687,-3.41634,-1.42716,-2.15149,-3.04309,-0.28665,-0.250087,-0.297266,-0.245812,-0.169415,-0.360288,-0.252394,-0.160102,-0.334708,-0.275875,-0.160483,-0.276512,-0.296399,-0.209181,-0.159354,-0.216563,-0.334439,-0.234385,-0.202966,-0.0962578,-0.176614,-0.175088,-0.301732,0.057717 --5913.56,0.0364162,0.350484,3,-0.236247,0.00396039,-1.57852,-2.56832,-2.89596,-2.44114,-2.27805,-1.90874,-1.71005,-1.97004,-2.22353,-2.33997,-2.27782,-1.43894,-3.62821,-2.67062,-1.24475,-1.4887,-2.04912,-2.82827,-3.35596,-1.51959,-2.1027,-2.79246,-0.251094,-0.270471,-0.296827,-0.245592,-0.171897,-0.507078,-0.333443,-0.159311,-0.192915,-0.209176,-0.268276,-0.221988,-0.243406,-0.0901214,-0.196509,-0.207441,-0.313374,-0.266269,-0.252402,-0.169817,-0.216754,-0.295242,-0.332841,0.0629316 --5913.56,0.753456,0.350484,2,-0.236247,0.00396039,-1.57852,-2.56832,-2.89596,-2.44114,-2.27805,-1.90874,-1.71005,-1.97004,-2.22353,-2.33997,-2.27782,-1.43894,-3.62821,-2.67062,-1.24475,-1.4887,-2.04912,-2.82827,-3.35596,-1.51959,-2.1027,-2.79246,-0.251094,-0.270471,-0.296827,-0.245592,-0.171897,-0.507078,-0.333443,-0.159311,-0.192915,-0.209176,-0.268276,-0.221988,-0.243406,-0.0901214,-0.196509,-0.207441,-0.313374,-0.266269,-0.252402,-0.169817,-0.216754,-0.295242,-0.332841,0.0629316 --5913.56,0.284936,0.350484,2,-0.236247,0.00396039,-1.57852,-2.56832,-2.89596,-2.44114,-2.27805,-1.90874,-1.71005,-1.97004,-2.22353,-2.33997,-2.27782,-1.43894,-3.62821,-2.67062,-1.24475,-1.4887,-2.04912,-2.82827,-3.35596,-1.51959,-2.1027,-2.79246,-0.251094,-0.270471,-0.296827,-0.245592,-0.171897,-0.507078,-0.333443,-0.159311,-0.192915,-0.209176,-0.268276,-0.221988,-0.243406,-0.0901214,-0.196509,-0.207441,-0.313374,-0.266269,-0.252402,-0.169817,-0.216754,-0.295242,-0.332841,0.0629316 --5923.03,0.673179,0.350484,2,-0.195772,0.0102499,-2.62465,-2.38273,-1.85426,-2.31949,-2.76787,-2.73089,-1.79579,-2.34827,-1.73644,-2.26866,-2.37824,-1.48401,-2.54163,-2.8843,-1.30711,-1.6496,-2.37114,-3.15286,-3.45436,-1.5724,-2.04041,-3.05365,-0.210071,-0.19976,-0.212303,-0.23803,-0.229661,0.0622604,-0.215351,-0.256492,-0.361308,-0.209717,-0.178663,-0.217152,-0.29298,-0.150682,-0.315417,0.0767809,-0.042038,-0.158375,-0.101426,-0.283485,-0.322822,-0.1939,-0.249839,0.101242 --5915.27,1,0.350484,2,-0.204454,0.00472382,-2.85137,-2.33281,-1.79079,-2.28461,-2.87793,-2.30324,-1.80585,-2.25845,-1.9484,-2.31371,-2.27464,-1.38578,-3.10861,-2.73669,-1.47581,-1.71584,-2.06035,-3.11561,-3.25495,-1.49931,-2.04515,-3.0673,-0.240997,-0.239615,-0.27545,-0.138141,-0.2273,-0.0632675,-0.207183,-0.158194,-0.407146,-0.279642,-0.238712,-0.290352,-0.27155,-0.0444906,-0.194478,-0.0740894,-0.177594,-0.247553,-0.161154,-0.19471,-0.221649,-0.187915,-0.0318208,0.0687301 --5907.42,1.5407e-37,0.350484,3,-0.139466,0.00116371,-3.12352,-2.28852,-2.15283,-2.46171,-2.33633,-2.16853,-1.80132,-2.11418,-2.03152,-2.17162,-2.2255,-1.36391,-3.16384,-2.80832,-1.42577,-1.48536,-2.15953,-2.85503,-4.25283,-1.48146,-2.28812,-3.07464,-0.120189,-0.148153,-0.121965,-0.271177,-0.0994889,-0.306575,-0.231985,-0.165545,-0.134016,-0.16582,-0.147738,-0.107522,-0.110173,-0.143884,-0.142084,-0.227373,-0.143453,-0.114847,-0.157831,-0.182272,-0.201215,-0.191619,-0.287361,0.0341132 --5907.42,0.00106101,0.350484,2,-0.139466,0.00116371,-3.12352,-2.28852,-2.15283,-2.46171,-2.33633,-2.16853,-1.80132,-2.11418,-2.03152,-2.17162,-2.2255,-1.36391,-3.16384,-2.80832,-1.42577,-1.48536,-2.15953,-2.85503,-4.25283,-1.48146,-2.28812,-3.07464,-0.120189,-0.148153,-0.121965,-0.271177,-0.0994889,-0.306575,-0.231985,-0.165545,-0.134016,-0.16582,-0.147738,-0.107522,-0.110173,-0.143884,-0.142084,-0.227373,-0.143453,-0.114847,-0.157831,-0.182272,-0.201215,-0.191619,-0.287361,0.0341132 --5902.97,4.0021e-19,0.350484,4,-0.179697,0.0018501,-3.12225,-2.25208,-2.17996,-2.42488,-2.33842,-2.27869,-1.79247,-2.09985,-2.03691,-2.16122,-2.19759,-1.36905,-3.18526,-2.82821,-1.41492,-1.56212,-2.16445,-2.90239,-4.3481,-1.47762,-2.21391,-3.09314,-0.156875,-0.174753,-0.135461,-0.21303,-0.144269,-0.283032,-0.202075,-0.140476,-0.197713,-0.187682,-0.14846,-0.179462,-0.122373,-0.114463,-0.144546,-0.191312,-0.167763,-0.0974023,-0.0746498,-0.266086,-0.146962,-0.14741,-0.268807,0.0430128 --5912.04,6.32524e-31,0.350484,3,-0.178013,0.00632748,-2.19295,-2.37719,-2.16698,-2.37028,-2.42382,-2.52344,-1.8247,-2.11647,-2.00774,-2.16824,-2.16685,-1.36568,-3.13791,-2.70925,-1.54704,-1.38831,-2.26015,-2.75509,-4.34667,-1.54103,-2.30994,-3.08737,-0.126426,-0.0971975,-0.373548,-0.195147,-0.223643,-0.395374,-0.175446,-0.165442,-0.171522,-0.282018,-0.205701,-0.186991,-0.196513,-0.0626765,-0.154502,-0.155069,-0.138559,-0.0688578,-0.0798909,-0.253112,-0.302481,-0.146729,-0.191722,0.0795454 --5913.32,0.249279,0.350484,3,-0.178048,0.00243763,-2.19755,-2.00105,-1.63955,-2.39561,-2.43697,-2.53721,-1.76904,-2.24714,-1.84492,-2.17155,-2.10041,-1.39299,-3.08882,-2.78344,-1.56685,-1.61434,-1.95853,-2.59974,-4.1031,-1.64656,-2.10968,-2.8445,-0.258567,-0.189406,-0.162714,-0.196559,-0.416915,-0.0762077,-0.239763,-0.156433,-0.189757,-0.229545,-0.165464,-0.161329,-0.184665,-0.193774,-0.161356,-0.164503,-0.202191,-0.251734,-0.293812,-0.132683,-0.119135,-0.303179,-0.172695,0.0493723 --5909.86,3.57768e-05,0.350484,2,-0.210464,0.00334139,-2.31129,-2.07851,-1.90991,-2.38415,-2.39178,-2.46101,-1.73974,-2.19838,-1.80988,-2.17767,-2.14735,-1.30799,-3.01296,-2.55495,-1.53133,-1.6859,-2.0594,-2.62358,-4.08787,-1.74334,-2.10505,-2.89531,-0.187881,-0.178903,-0.20491,-0.0641331,-0.181046,-0.253679,-0.204749,-0.242878,-0.193593,-0.267614,-0.270452,-0.179793,-0.200996,-0.140517,-0.194398,-0.164202,-0.150487,0.0497832,-0.139792,-0.149486,-0.274658,-0.22724,-0.235523,0.0578048 --5909.86,0.0541766,0.350484,3,-0.210464,0.00334139,-2.31129,-2.07851,-1.90991,-2.38415,-2.39178,-2.46101,-1.73974,-2.19838,-1.80988,-2.17767,-2.14735,-1.30799,-3.01296,-2.55495,-1.53133,-1.6859,-2.0594,-2.62358,-4.08787,-1.74334,-2.10505,-2.89531,-0.187881,-0.178903,-0.20491,-0.0641331,-0.181046,-0.253679,-0.204749,-0.242878,-0.193593,-0.267614,-0.270452,-0.179793,-0.200996,-0.140517,-0.194398,-0.164202,-0.150487,0.0497832,-0.139792,-0.149486,-0.274658,-0.22724,-0.235523,0.0578048 --5909.86,0.0460739,0.350484,2,-0.210464,0.00334139,-2.31129,-2.07851,-1.90991,-2.38415,-2.39178,-2.46101,-1.73974,-2.19838,-1.80988,-2.17767,-2.14735,-1.30799,-3.01296,-2.55495,-1.53133,-1.6859,-2.0594,-2.62358,-4.08787,-1.74334,-2.10505,-2.89531,-0.187881,-0.178903,-0.20491,-0.0641331,-0.181046,-0.253679,-0.204749,-0.242878,-0.193593,-0.267614,-0.270452,-0.179793,-0.200996,-0.140517,-0.194398,-0.164202,-0.150487,0.0497832,-0.139792,-0.149486,-0.274658,-0.22724,-0.235523,0.0578048 --5898.33,1.09434e-20,0.350484,2,-0.168373,0.00269034,-2.80593,-1.9626,-2.05682,-2.39461,-2.26082,-2.34928,-1.68803,-2.1151,-1.95832,-2.23251,-2.12816,-1.48855,-2.9427,-2.62179,-1.39077,-1.59782,-2.02907,-2.85009,-3.83866,-1.75352,-2.09894,-3.0041,-0.171971,-0.207331,-0.177148,-0.207041,-0.158092,-0.18853,-0.21594,-0.151462,-0.170138,-0.256071,-0.280627,-0.202068,-0.24127,-0.138525,-0.212527,-0.134872,-0.148477,-0.0747333,-0.212538,-0.155778,-0.223549,-0.147878,-0.0845093,0.0518685 --5907.42,0.0419022,0.350484,3,-0.210499,0.00230934,-2.49065,-1.78202,-1.99755,-2.43783,-2.22183,-2.17116,-1.72335,-2.20637,-2.02497,-2.22003,-1.99144,-1.51883,-3.08279,-2.77669,-1.45301,-1.62576,-2.04155,-3.01114,-4.08148,-1.58107,-2.18212,-3.10838,-0.2487,-0.229073,-0.200139,-0.197089,-0.235162,-0.222626,-0.247793,-0.266626,-0.235768,-0.172672,-0.198532,-0.0985886,-0.342091,-0.120484,-0.210336,-0.280103,-0.222302,-0.28891,-0.167651,-0.21266,-0.198927,-0.250375,-0.291792,0.0480556 --5907.85,1.495e-06,0.350484,2,-0.198908,0.00188173,-2.43143,-1.8784,-2.17539,-2.4274,-2.15472,-2.24162,-1.71459,-2.16952,-1.97096,-2.23382,-2.01804,-1.49321,-3.03698,-2.71502,-1.46415,-1.59309,-2.13303,-2.94846,-3.98958,-1.57993,-2.17743,-3.00233,-0.181904,-0.204735,-0.161464,-0.209601,-0.255866,-0.21499,-0.252102,-0.238322,-0.24362,-0.236997,-0.287532,-0.0871836,-0.31438,-0.100412,-0.208958,-0.305703,-0.16363,-0.240212,-0.127036,-0.286486,-0.277838,-0.162181,-0.282155,0.0433789 --5901.42,0.386177,0.350484,3,-0.270034,0.0015851,-2.29929,-2.4793,-2.58862,-2.39956,-2.41584,-2.00362,-1.79956,-2.02837,-1.97285,-2.21878,-2.54512,-1.43151,-2.83047,-2.67773,-1.03222,-1.17713,-1.91488,-2.9888,-3.73512,-1.4064,-2.13582,-2.77711,-0.164219,-0.199659,-0.190807,-0.272928,-0.272197,-0.217908,-0.264284,-0.296526,-0.252222,-0.321261,-0.282585,-0.222038,-0.295567,-0.252129,-0.315885,-0.294299,-0.251486,-0.255825,-0.185485,-0.278947,-0.304343,-0.2498,-0.34793,0.0398133 --5901.42,1.70947e-10,0.350484,2,-0.270034,0.0015851,-2.29929,-2.4793,-2.58862,-2.39956,-2.41584,-2.00362,-1.79956,-2.02837,-1.97285,-2.21878,-2.54512,-1.43151,-2.83047,-2.67773,-1.03222,-1.17713,-1.91488,-2.9888,-3.73512,-1.4064,-2.13582,-2.77711,-0.164219,-0.199659,-0.190807,-0.272928,-0.272197,-0.217908,-0.264284,-0.296526,-0.252222,-0.321261,-0.282585,-0.222038,-0.295567,-0.252129,-0.315885,-0.294299,-0.251486,-0.255825,-0.185485,-0.278947,-0.304343,-0.2498,-0.34793,0.0398133 --5896.6,1.12672e-56,0.350484,2,-0.279718,0.00252684,-2.31101,-2.39665,-2.64294,-2.39247,-2.51876,-2.12322,-1.75811,-2.03085,-1.92588,-2.23649,-2.54388,-1.4008,-2.74465,-2.63206,-1.00879,-1.27565,-1.87103,-3.02257,-3.64632,-1.38763,-2.15635,-2.86685,-0.241226,-0.274977,-0.284376,-0.294349,-0.265839,-0.294266,-0.303913,-0.283062,-0.223588,-0.292101,-0.281779,-0.194936,-0.217428,-0.234347,-0.277024,-0.263264,-0.270415,-0.229832,-0.247057,-0.256903,-0.286216,-0.265447,-0.301916,0.0502677 --5896.6,8.96447e-14,0.350484,3,-0.279718,0.00252684,-2.31101,-2.39665,-2.64294,-2.39247,-2.51876,-2.12322,-1.75811,-2.03085,-1.92588,-2.23649,-2.54388,-1.4008,-2.74465,-2.63206,-1.00879,-1.27565,-1.87103,-3.02257,-3.64632,-1.38763,-2.15635,-2.86685,-0.241226,-0.274977,-0.284376,-0.294349,-0.265839,-0.294266,-0.303913,-0.283062,-0.223588,-0.292101,-0.281779,-0.194936,-0.217428,-0.234347,-0.277024,-0.263264,-0.270415,-0.229832,-0.247057,-0.256903,-0.286216,-0.265447,-0.301916,0.0502677 --5900.14,7.93089e-53,0.350484,3,-0.246852,0.00164119,-2.31083,-2.56117,-2.57739,-2.40116,-2.45349,-2.11918,-1.80946,-2.02522,-1.89308,-2.24184,-2.4828,-1.38573,-2.71831,-2.61584,-1.03308,-1.23983,-2.01642,-2.96522,-3.64789,-1.33597,-2.13188,-2.78326,-0.254006,-0.28906,-0.192639,-0.217048,-0.274363,-0.232576,-0.267404,-0.286746,-0.281039,-0.279959,-0.280371,-0.278565,-0.279916,-0.268184,-0.239907,-0.252669,-0.315355,-0.152689,-0.259858,-0.258112,-0.235631,-0.325751,-0.335752,0.0405116 --5900.14,0.0019423,0.350484,2,-0.246852,0.00164119,-2.31083,-2.56117,-2.57739,-2.40116,-2.45349,-2.11918,-1.80946,-2.02522,-1.89308,-2.24184,-2.4828,-1.38573,-2.71831,-2.61584,-1.03308,-1.23983,-2.01642,-2.96522,-3.64789,-1.33597,-2.13188,-2.78326,-0.254006,-0.28906,-0.192639,-0.217048,-0.274363,-0.232576,-0.267404,-0.286746,-0.281039,-0.279959,-0.280371,-0.278565,-0.279916,-0.268184,-0.239907,-0.252669,-0.315355,-0.152689,-0.259858,-0.258112,-0.235631,-0.325751,-0.335752,0.0405116 --5900.14,1.28651e-05,0.350484,3,-0.246852,0.00164119,-2.31083,-2.56117,-2.57739,-2.40116,-2.45349,-2.11918,-1.80946,-2.02522,-1.89308,-2.24184,-2.4828,-1.38573,-2.71831,-2.61584,-1.03308,-1.23983,-2.01642,-2.96522,-3.64789,-1.33597,-2.13188,-2.78326,-0.254006,-0.28906,-0.192639,-0.217048,-0.274363,-0.232576,-0.267404,-0.286746,-0.281039,-0.279959,-0.280371,-0.278565,-0.279916,-0.268184,-0.239907,-0.252669,-0.315355,-0.152689,-0.259858,-0.258112,-0.235631,-0.325751,-0.335752,0.0405116 --5900.14,5.71238e-29,0.350484,3,-0.246852,0.00164119,-2.31083,-2.56117,-2.57739,-2.40116,-2.45349,-2.11918,-1.80946,-2.02522,-1.89308,-2.24184,-2.4828,-1.38573,-2.71831,-2.61584,-1.03308,-1.23983,-2.01642,-2.96522,-3.64789,-1.33597,-2.13188,-2.78326,-0.254006,-0.28906,-0.192639,-0.217048,-0.274363,-0.232576,-0.267404,-0.286746,-0.281039,-0.279959,-0.280371,-0.278565,-0.279916,-0.268184,-0.239907,-0.252669,-0.315355,-0.152689,-0.259858,-0.258112,-0.235631,-0.325751,-0.335752,0.0405116 --5900.14,5.24788e-33,0.350484,3,-0.246852,0.00164119,-2.31083,-2.56117,-2.57739,-2.40116,-2.45349,-2.11918,-1.80946,-2.02522,-1.89308,-2.24184,-2.4828,-1.38573,-2.71831,-2.61584,-1.03308,-1.23983,-2.01642,-2.96522,-3.64789,-1.33597,-2.13188,-2.78326,-0.254006,-0.28906,-0.192639,-0.217048,-0.274363,-0.232576,-0.267404,-0.286746,-0.281039,-0.279959,-0.280371,-0.278565,-0.279916,-0.268184,-0.239907,-0.252669,-0.315355,-0.152689,-0.259858,-0.258112,-0.235631,-0.325751,-0.335752,0.0405116 --5900.14,0.000589782,0.350484,4,-0.246852,0.00164119,-2.31083,-2.56117,-2.57739,-2.40116,-2.45349,-2.11918,-1.80946,-2.02522,-1.89308,-2.24184,-2.4828,-1.38573,-2.71831,-2.61584,-1.03308,-1.23983,-2.01642,-2.96522,-3.64789,-1.33597,-2.13188,-2.78326,-0.254006,-0.28906,-0.192639,-0.217048,-0.274363,-0.232576,-0.267404,-0.286746,-0.281039,-0.279959,-0.280371,-0.278565,-0.279916,-0.268184,-0.239907,-0.252669,-0.315355,-0.152689,-0.259858,-0.258112,-0.235631,-0.325751,-0.335752,0.0405116 --5899.42,1.50589e-13,0.350484,3,-0.250672,0.00161407,-2.48263,-2.47327,-2.50589,-2.42995,-2.43703,-2.16667,-1.797,-2.03546,-1.87522,-2.16831,-2.49775,-1.30446,-2.70548,-2.64641,-1.04738,-1.29008,-2.13366,-2.87375,-3.86449,-1.34264,-2.13682,-2.78844,-0.0758746,-0.262822,-0.224,-0.271152,-0.238049,-0.259279,-0.281255,-0.271994,-0.202213,-0.270665,-0.213837,-0.224681,-0.252717,-0.280882,-0.329032,-0.260539,-0.236137,-0.250975,-0.191394,-0.22015,-0.27657,-0.318371,-0.259252,0.0401755 --5899.42,7.10163e-55,0.350484,2,-0.250672,0.00161407,-2.48263,-2.47327,-2.50589,-2.42995,-2.43703,-2.16667,-1.797,-2.03546,-1.87522,-2.16831,-2.49775,-1.30446,-2.70548,-2.64641,-1.04738,-1.29008,-2.13366,-2.87375,-3.86449,-1.34264,-2.13682,-2.78844,-0.0758746,-0.262822,-0.224,-0.271152,-0.238049,-0.259279,-0.281255,-0.271994,-0.202213,-0.270665,-0.213837,-0.224681,-0.252717,-0.280882,-0.329032,-0.260539,-0.236137,-0.250975,-0.191394,-0.22015,-0.27657,-0.318371,-0.259252,0.0401755 --5899.42,3.96281e-05,0.350484,2,-0.250672,0.00161407,-2.48263,-2.47327,-2.50589,-2.42995,-2.43703,-2.16667,-1.797,-2.03546,-1.87522,-2.16831,-2.49775,-1.30446,-2.70548,-2.64641,-1.04738,-1.29008,-2.13366,-2.87375,-3.86449,-1.34264,-2.13682,-2.78844,-0.0758746,-0.262822,-0.224,-0.271152,-0.238049,-0.259279,-0.281255,-0.271994,-0.202213,-0.270665,-0.213837,-0.224681,-0.252717,-0.280882,-0.329032,-0.260539,-0.236137,-0.250975,-0.191394,-0.22015,-0.27657,-0.318371,-0.259252,0.0401755 --5899.42,2.18856e-23,0.350484,3,-0.250672,0.00161407,-2.48263,-2.47327,-2.50589,-2.42995,-2.43703,-2.16667,-1.797,-2.03546,-1.87522,-2.16831,-2.49775,-1.30446,-2.70548,-2.64641,-1.04738,-1.29008,-2.13366,-2.87375,-3.86449,-1.34264,-2.13682,-2.78844,-0.0758746,-0.262822,-0.224,-0.271152,-0.238049,-0.259279,-0.281255,-0.271994,-0.202213,-0.270665,-0.213837,-0.224681,-0.252717,-0.280882,-0.329032,-0.260539,-0.236137,-0.250975,-0.191394,-0.22015,-0.27657,-0.318371,-0.259252,0.0401755 --5899.42,4.62021e-08,0.350484,2,-0.250672,0.00161407,-2.48263,-2.47327,-2.50589,-2.42995,-2.43703,-2.16667,-1.797,-2.03546,-1.87522,-2.16831,-2.49775,-1.30446,-2.70548,-2.64641,-1.04738,-1.29008,-2.13366,-2.87375,-3.86449,-1.34264,-2.13682,-2.78844,-0.0758746,-0.262822,-0.224,-0.271152,-0.238049,-0.259279,-0.281255,-0.271994,-0.202213,-0.270665,-0.213837,-0.224681,-0.252717,-0.280882,-0.329032,-0.260539,-0.236137,-0.250975,-0.191394,-0.22015,-0.27657,-0.318371,-0.259252,0.0401755 --5913.63,0.0225249,0.350484,2,-0.249914,0.0036533,-2.56995,-2.29358,-2.70129,-2.47418,-2.39714,-2.12131,-1.80642,-1.98949,-1.82257,-2.17532,-2.54033,-1.40816,-2.81178,-2.63237,-1.21622,-1.46337,-2.23686,-2.63448,-3.78123,-1.26585,-2.05026,-2.78242,-0.293619,-0.265942,-0.122495,-0.222026,-0.257534,-0.370119,-0.23582,-0.201746,-0.39882,-0.270847,-0.237601,-0.298183,-0.284634,-0.207644,-0.382036,-0.253926,-0.269932,-0.277919,-0.338765,-0.200596,-0.428685,-0.334391,-0.0897306,0.0604425 --5912.65,0.0567231,0.350484,2,-0.289214,0.00988902,-2.39086,-2.23076,-2.49209,-2.46567,-2.53274,-2.32052,-1.82308,-2.00525,-1.93715,-2.18995,-2.41886,-1.53113,-3.20418,-2.67231,-1.22473,-1.43304,-1.89407,-2.74227,-3.74318,-1.39785,-2.02564,-2.74531,-0.17072,-0.412725,-0.147887,-0.137795,-0.156214,-0.242376,-0.301831,-0.230797,-0.293525,-0.311324,-0.142887,-0.215759,-0.280412,-0.286979,-0.365425,-0.292252,-0.30041,-0.268344,-0.246581,-0.157496,-0.562247,-0.227371,-0.143427,0.0994436 --5919.81,0.865191,0.350484,2,-0.288182,0.0208744,-2.02641,-2.02055,-1.8823,-2.22587,-2.37894,-2.01196,-1.75972,-2.11529,-1.87394,-2.29148,-2.32736,-1.47043,-2.84396,-2.85029,-1.33551,-1.50483,-1.93434,-3.25019,-3.67785,-1.58558,-1.78251,-3.12619,-0.187845,-0.171795,-0.357325,-0.421982,-0.23949,-0.220277,-0.290281,-0.238956,-0.278666,-0.235901,-0.295976,-0.114247,-0.154879,0.14032,-0.145199,-0.212447,-0.212549,-0.303278,-0.120709,-0.32505,-0.898488,-0.397291,-0.243084,0.14448 --5920.53,0.868578,0.350484,2,-0.276964,0.0411846,-2.33045,-2.05596,-2.28252,-2.40793,-2.29791,-2.05842,-1.73794,-2.06695,-1.91693,-2.283,-2.251,-1.46577,-2.78129,-2.87971,-1.25461,-1.33372,-2.07029,-2.87447,-3.83341,-1.47206,-2.05611,-2.94116,-0.200665,-0.5437,-0.566357,-0.187981,-0.120325,-0.257921,-0.310844,-0.193264,-0.209536,-0.2614,-0.158848,-0.345821,-0.370004,0.091068,-0.317695,-0.247158,-0.146629,-0.0855103,-0.270558,-0.0347892,-0.488801,-0.0482464,-0.144455,0.20294 --5920.1,0.9302,0.350484,2,-0.247207,0.00556528,-2.5155,-2.3898,-1.84168,-2.34861,-2.35594,-2.62986,-1.72917,-2.06968,-1.96762,-2.24539,-2.33665,-1.43268,-3.19357,-2.85824,-1.00538,-1.64975,-2.28089,-3.28306,-4.06383,-1.36925,-1.95048,-2.92061,-0.110828,-0.366425,-0.302064,-0.236695,-0.229703,-0.264577,-0.247851,-0.234463,-0.309009,-0.234644,-0.320356,-0.0633567,-0.134346,0.100184,-0.19322,-0.17554,-0.256966,-0.371481,-0.0621657,-0.273707,-0.397455,-0.573635,-0.240463,0.0746008 --5919.58,0.957162,0.350484,3,-0.280518,0.0151266,-2.05299,-1.69069,-2.16624,-2.50115,-2.44868,-1.77371,-1.63919,-2.14129,-1.9551,-2.23737,-2.23684,-1.49732,-2.84257,-2.57634,-1.47765,-1.24319,-2.02247,-2.61425,-2.90788,-1.58236,-2.23607,-2.96752,-0.261557,-0.507424,-0.355466,-0.288786,-0.167939,-0.326049,-0.368714,-0.171069,-0.268572,-0.386784,-0.323012,-0.249302,-0.401951,-0.170653,-0.594738,-0.307036,-0.442327,-0.0788462,-0.308714,-0.283149,-0.257771,-0.369111,-0.295814,0.12299 --5920.37,0.800691,0.350484,2,-0.313049,0.0087349,-2.42332,-1.81897,-1.96654,-2.46912,-2.52974,-1.76697,-1.61114,-2.05097,-1.81536,-2.15504,-2.26817,-1.34486,-2.93586,-2.66516,-1.37392,-1.11073,-1.97459,-2.60943,-3.35675,-1.54547,-2.1114,-2.9956,-0.269052,-0.542173,-0.412456,-0.328836,-0.192911,-0.473473,-0.395907,-0.18312,-0.329315,-0.325639,-0.393149,-0.353706,-0.353657,-0.219059,-0.615513,-0.237712,-0.358618,-0.137339,-0.433955,-0.322099,-0.540384,-0.292803,-0.301714,0.0934607 --5918.16,0.837948,0.350484,2,-0.312567,0.0127012,-2.24345,-1.96834,-2.08548,-2.25746,-2.26414,-2.30163,-1.79185,-2.12069,-1.89822,-2.30908,-2.2495,-1.45015,-2.94209,-2.77191,-1.37165,-1.65849,-1.95759,-3.01781,-3.57002,-1.3695,-1.96153,-2.73004,-0.382137,-0.36688,-0.261089,-0.282018,-0.41834,-0.254984,-0.385998,-0.218772,-0.402203,-0.265494,-0.241951,0.000247719,-0.28571,-0.0636453,-0.409554,-0.459292,-0.179973,-0.533983,-0.177735,-0.148924,-0.31401,-0.320828,-0.235824,0.1127 --5910.7,0.991432,0.350484,3,-0.250628,0.0050471,-2.56995,-2.34911,-1.97305,-2.38078,-2.55118,-1.99671,-1.57831,-2.08396,-1.95716,-2.17362,-2.36043,-1.59136,-2.97748,-2.59751,-1.37746,-1.29147,-2.02954,-2.97574,-3.32635,-1.50053,-2.17918,-3.00164,-0.31105,-0.298098,-0.214462,-0.145435,-0.0718033,-0.361788,-0.349626,-0.335966,-0.237195,-0.311102,-0.343272,-0.276484,-0.241401,-0.203288,-0.220926,-0.205353,-0.393114,-0.0884604,-0.27493,-0.316362,-0.216632,-0.182448,-0.150702,0.071043 --5921.96,0.0450723,0.350484,3,-0.29513,0.0187681,-2.19375,-2.06909,-2.11572,-2.46535,-2.33838,-2.44046,-1.93467,-2.19989,-2.14015,-2.23325,-2.23031,-1.41737,-3.02181,-2.82124,-1.26487,-1.50771,-1.92419,-3.15388,-3.42495,-1.38633,-1.95269,-3.13488,-0.229525,-0.300059,-0.439141,-0.330674,-0.340698,-0.0766677,-0.297442,-0.0119625,-0.312677,-0.366386,-0.174283,-0.136317,-0.332611,-0.0925958,-0.344495,-0.43724,-0.0701485,0.024348,-0.24357,-0.261909,-0.502148,-0.352437,-0.382496,0.136997 --5909.56,0.528618,0.350484,1,-0.291209,0.0106334,-2.37548,-1.98332,-1.9206,-2.38847,-2.43984,-2.35478,-1.80908,-2.23773,-1.99354,-2.2073,-2.30709,-1.45486,-3.12917,-2.95887,-1.2205,-1.4065,-2.09508,-3.17507,-3.28691,-1.40012,-2.0231,-2.93793,-0.313308,-0.282244,-0.437332,-0.289835,-0.287042,-0.24437,-0.307046,-0.0592585,-0.277419,-0.361309,-0.211977,-0.17568,-0.370104,-0.12352,-0.41664,-0.369882,-0.19493,-0.0299344,-0.328833,-0.353433,-0.452657,-0.269767,-0.271159,0.103118 --5919.04,0.60125,0.350484,2,-0.300655,0.0113051,-2.0521,-2.32142,-2.46655,-2.35364,-2.30979,-1.93109,-1.53014,-1.8759,-1.86541,-2.26078,-2.18998,-1.49767,-2.84493,-2.41781,-1.71876,-1.46405,-1.95593,-2.92888,-3.54908,-1.62111,-2.06774,-2.72836,-0.173984,-0.234694,-0.185447,-0.289776,-0.258246,-0.328242,-0.450883,-0.444965,-0.349292,-0.243556,-0.390759,-0.24837,-0.264579,-0.267958,-0.128462,-0.299385,-0.348249,-0.495401,-0.278714,-0.230002,-0.250272,-0.473289,-0.199424,0.106325 --5921.22,0.653926,0.350484,3,-0.381763,0.0147253,-2.59792,-2.229,-2.21828,-2.32488,-2.50608,-2.36656,-1.70188,-2.16912,-1.88793,-2.16042,-2.25752,-1.45837,-3.05903,-2.93056,-1.27035,-1.42417,-1.7002,-2.89864,-2.98861,-1.47292,-2.02924,-3.15741,-0.509234,-0.419454,-0.44012,-0.365309,-0.254825,-0.313596,-0.60468,-0.165177,-0.506557,-0.44634,-0.28117,-0.307765,-0.415871,-0.132516,-0.159261,-0.278088,-0.300918,-0.140172,-0.334634,-0.321258,-0.671528,-0.1656,-0.479871,0.121348 --5915.92,0.525288,0.350484,3,-0.2957,0.00968622,-2.21226,-1.97874,-1.95004,-2.44516,-2.1604,-1.84148,-1.67504,-2.12573,-2.02241,-2.26663,-2.21978,-1.3906,-2.74862,-2.61797,-1.37403,-1.38135,-1.85709,-2.80631,-3.6289,-1.44099,-2.31602,-2.53986,-0.328483,-0.303529,-0.322326,-0.38029,-0.351425,-0.325537,-0.319136,-0.217372,-0.418578,-0.279246,-0.385616,-0.158934,-0.287274,-0.231013,-0.581117,-0.322162,-0.277861,-0.359523,-0.308655,-0.394436,-0.402898,-0.61252,-0.39471,0.0984186 --5904.32,0.474383,0.350484,3,-0.300182,0.00271977,-2.46267,-2.53567,-1.93675,-2.31097,-2.3275,-2.25918,-1.73197,-2.15406,-2.11706,-2.13078,-2.14371,-1.48582,-3.12209,-2.69208,-1.20346,-1.49697,-1.87959,-2.99404,-2.67554,-1.56729,-2.17419,-2.90089,-0.174174,-0.348649,-0.3798,-0.286791,-0.328186,-0.367328,-0.41128,-0.331015,-0.175361,-0.34269,-0.313124,-0.303373,-0.402721,-0.26721,-0.336796,-0.374352,-0.268934,-0.317728,-0.371223,-0.288283,-0.299679,-0.273896,-0.31651,0.0521514 --5910.36,1,0.350484,3,-0.271389,0.0045441,-2.0823,-1.67613,-2.57004,-2.42684,-2.4892,-2.5357,-1.65866,-1.87463,-2.11867,-2.26286,-2.26335,-1.39796,-3.06892,-2.68587,-1.36891,-1.58673,-2.24608,-2.74257,-3.81875,-1.32284,-2.07215,-2.79336,-0.370921,-0.395723,-0.21915,-0.23869,-0.152263,-0.320535,-0.288628,-0.209905,-0.290996,-0.33453,-0.368625,-0.163622,-0.220931,-0.249063,-0.22824,-0.110156,-0.184914,-0.245027,-0.264976,-0.31227,-0.300897,-0.372774,-0.301586,0.06741 --5905.2,0.702932,0.350484,1,-0.271267,0.00361929,-1.93686,-1.6694,-2.53052,-2.33513,-2.48394,-2.52421,-1.72491,-2.10496,-2.07004,-2.23969,-2.22838,-1.35567,-2.92975,-2.57868,-1.36109,-1.56601,-2.10711,-2.88994,-3.5974,-1.40596,-2.13038,-2.85694,-0.208782,-0.306767,-0.353368,-0.265207,-0.19877,-0.280133,-0.323394,-0.260283,-0.268287,-0.238373,-0.258655,-0.12354,-0.326382,-0.256717,-0.234842,-0.181204,-0.232163,-0.304032,-0.128088,-0.30852,-0.469016,-0.365433,-0.189414,0.0601606 --5909.18,0.104071,0.350484,2,-0.217414,0.0077096,-1.6898,-1.87009,-2.32024,-2.36183,-2.44789,-2.40744,-1.66769,-2.15958,-1.98553,-2.24346,-2.24005,-1.4638,-2.79209,-2.71432,-1.32382,-1.60091,-2.04533,-3.29441,-3.16664,-1.54293,-2.00495,-2.79598,-0.0415372,-0.32061,-0.381462,-0.255604,-0.214966,-0.378517,-0.271595,-0.165958,-0.205716,-0.271684,-0.272162,-0.26365,-0.255889,-0.183914,-0.198505,-0.182645,-0.240402,-0.103787,-0.237306,-0.271156,-0.525968,-0.299869,-0.201113,0.0878043 --5903.47,0.989927,0.350484,2,-0.254102,0.00172857,-2.69687,-2.50319,-2.05897,-2.42229,-2.29921,-1.54407,-1.81237,-2.06722,-2.24249,-2.21228,-2.3911,-1.52533,-2.8991,-2.50712,-1.59264,-1.41981,-1.84096,-3.34944,-3.8333,-1.56863,-2.04026,-3.01859,-0.376602,-0.235191,-0.256374,-0.254865,-0.248641,-0.146175,-0.329286,-0.276949,-0.250481,-0.262368,-0.197829,-0.206121,-0.272647,-0.230754,-0.209706,-0.297762,-0.248939,-0.349952,-0.240561,-0.217114,-0.340751,-0.251057,-0.297031,0.0415761 --5903.47,3.8072e-09,0.350484,2,-0.254102,0.00172857,-2.69687,-2.50319,-2.05897,-2.42229,-2.29921,-1.54407,-1.81237,-2.06722,-2.24249,-2.21228,-2.3911,-1.52533,-2.8991,-2.50712,-1.59264,-1.41981,-1.84096,-3.34944,-3.8333,-1.56863,-2.04026,-3.01859,-0.376602,-0.235191,-0.256374,-0.254865,-0.248641,-0.146175,-0.329286,-0.276949,-0.250481,-0.262368,-0.197829,-0.206121,-0.272647,-0.230754,-0.209706,-0.297762,-0.248939,-0.349952,-0.240561,-0.217114,-0.340751,-0.251057,-0.297031,0.0415761 --5903.47,0.0152905,0.350484,2,-0.254102,0.00172857,-2.69687,-2.50319,-2.05897,-2.42229,-2.29921,-1.54407,-1.81237,-2.06722,-2.24249,-2.21228,-2.3911,-1.52533,-2.8991,-2.50712,-1.59264,-1.41981,-1.84096,-3.34944,-3.8333,-1.56863,-2.04026,-3.01859,-0.376602,-0.235191,-0.256374,-0.254865,-0.248641,-0.146175,-0.329286,-0.276949,-0.250481,-0.262368,-0.197829,-0.206121,-0.272647,-0.230754,-0.209706,-0.297762,-0.248939,-0.349952,-0.240561,-0.217114,-0.340751,-0.251057,-0.297031,0.0415761 --5901.47,8.90435e-49,0.350484,3,-0.227011,0.00154427,-2.37062,-2.52074,-2.58223,-2.33116,-2.4074,-2.2079,-1.79427,-2.00927,-2.08633,-2.32209,-2.26117,-1.40363,-3.14543,-2.6197,-1.54021,-1.50058,-1.62583,-2.94349,-3.64832,-1.48885,-2.10532,-2.74316,-0.114254,-0.201002,-0.22309,-0.227403,-0.219368,-0.391809,-0.197306,-0.19514,-0.212162,-0.225261,-0.254367,-0.207236,-0.231262,-0.218948,-0.247107,-0.171719,-0.216467,-0.0991373,-0.200084,-0.312933,-0.181185,-0.255398,-0.195723,0.0392972 --5903.98,8.96112e-24,0.350484,2,-0.207536,0.00128445,-2.18493,-2.62013,-2.56288,-2.32584,-2.42568,-2.13313,-1.78428,-2.04289,-2.01326,-2.33463,-2.32473,-1.409,-3.04405,-2.65014,-1.60466,-1.49791,-1.61299,-2.98496,-3.60831,-1.47871,-2.05776,-2.75211,-0.21758,-0.144772,-0.218144,-0.225713,-0.240649,-0.28426,-0.24981,-0.204625,-0.238973,-0.220346,-0.221232,-0.19632,-0.293838,-0.320332,-0.208575,-0.2304,-0.253522,-0.0870599,-0.174989,-0.292362,-0.289684,-0.203998,-0.242729,0.0358392 --5903.98,7.17468e-41,0.350484,2,-0.207536,0.00128445,-2.18493,-2.62013,-2.56288,-2.32584,-2.42568,-2.13313,-1.78428,-2.04289,-2.01326,-2.33463,-2.32473,-1.409,-3.04405,-2.65014,-1.60466,-1.49791,-1.61299,-2.98496,-3.60831,-1.47871,-2.05776,-2.75211,-0.21758,-0.144772,-0.218144,-0.225713,-0.240649,-0.28426,-0.24981,-0.204625,-0.238973,-0.220346,-0.221232,-0.19632,-0.293838,-0.320332,-0.208575,-0.2304,-0.253522,-0.0870599,-0.174989,-0.292362,-0.289684,-0.203998,-0.242729,0.0358392 --5903.98,2.71872e-08,0.350484,3,-0.207536,0.00128445,-2.18493,-2.62013,-2.56288,-2.32584,-2.42568,-2.13313,-1.78428,-2.04289,-2.01326,-2.33463,-2.32473,-1.409,-3.04405,-2.65014,-1.60466,-1.49791,-1.61299,-2.98496,-3.60831,-1.47871,-2.05776,-2.75211,-0.21758,-0.144772,-0.218144,-0.225713,-0.240649,-0.28426,-0.24981,-0.204625,-0.238973,-0.220346,-0.221232,-0.19632,-0.293838,-0.320332,-0.208575,-0.2304,-0.253522,-0.0870599,-0.174989,-0.292362,-0.289684,-0.203998,-0.242729,0.0358392 --5903.98,0.000651851,0.350484,2,-0.207536,0.00128445,-2.18493,-2.62013,-2.56288,-2.32584,-2.42568,-2.13313,-1.78428,-2.04289,-2.01326,-2.33463,-2.32473,-1.409,-3.04405,-2.65014,-1.60466,-1.49791,-1.61299,-2.98496,-3.60831,-1.47871,-2.05776,-2.75211,-0.21758,-0.144772,-0.218144,-0.225713,-0.240649,-0.28426,-0.24981,-0.204625,-0.238973,-0.220346,-0.221232,-0.19632,-0.293838,-0.320332,-0.208575,-0.2304,-0.253522,-0.0870599,-0.174989,-0.292362,-0.289684,-0.203998,-0.242729,0.0358392 --5903.98,8.31863e-45,0.350484,3,-0.207536,0.00128445,-2.18493,-2.62013,-2.56288,-2.32584,-2.42568,-2.13313,-1.78428,-2.04289,-2.01326,-2.33463,-2.32473,-1.409,-3.04405,-2.65014,-1.60466,-1.49791,-1.61299,-2.98496,-3.60831,-1.47871,-2.05776,-2.75211,-0.21758,-0.144772,-0.218144,-0.225713,-0.240649,-0.28426,-0.24981,-0.204625,-0.238973,-0.220346,-0.221232,-0.19632,-0.293838,-0.320332,-0.208575,-0.2304,-0.253522,-0.0870599,-0.174989,-0.292362,-0.289684,-0.203998,-0.242729,0.0358392 --5903.98,4.07214e-17,0.350484,2,-0.207536,0.00128445,-2.18493,-2.62013,-2.56288,-2.32584,-2.42568,-2.13313,-1.78428,-2.04289,-2.01326,-2.33463,-2.32473,-1.409,-3.04405,-2.65014,-1.60466,-1.49791,-1.61299,-2.98496,-3.60831,-1.47871,-2.05776,-2.75211,-0.21758,-0.144772,-0.218144,-0.225713,-0.240649,-0.28426,-0.24981,-0.204625,-0.238973,-0.220346,-0.221232,-0.19632,-0.293838,-0.320332,-0.208575,-0.2304,-0.253522,-0.0870599,-0.174989,-0.292362,-0.289684,-0.203998,-0.242729,0.0358392 --5898.06,1,0.350484,1,-0.22779,0.00194196,-2.46461,-2.34516,-1.96934,-2.35592,-2.39087,-2.48441,-1.7477,-2.13238,-1.9234,-2.34359,-2.35638,-1.47322,-3.00505,-2.64519,-1.61502,-1.62248,-1.79494,-3.18313,-3.62492,-1.54731,-2.06897,-2.88935,-0.220651,-0.348175,-0.220459,-0.281545,-0.221512,-0.222246,-0.260465,-0.211288,-0.34156,-0.268471,-0.274024,-0.210264,-0.164461,-0.1112,-0.257368,-0.23776,-0.223883,-0.215179,-0.106652,-0.268108,-0.19143,-0.182768,-0.232089,0.0440676 --5898.06,0.00623251,0.350484,2,-0.22779,0.00194196,-2.46461,-2.34516,-1.96934,-2.35592,-2.39087,-2.48441,-1.7477,-2.13238,-1.9234,-2.34359,-2.35638,-1.47322,-3.00505,-2.64519,-1.61502,-1.62248,-1.79494,-3.18313,-3.62492,-1.54731,-2.06897,-2.88935,-0.220651,-0.348175,-0.220459,-0.281545,-0.221512,-0.222246,-0.260465,-0.211288,-0.34156,-0.268471,-0.274024,-0.210264,-0.164461,-0.1112,-0.257368,-0.23776,-0.223883,-0.215179,-0.106652,-0.268108,-0.19143,-0.182768,-0.232089,0.0440676 --5903.75,3.46962e-05,0.350484,2,-0.250592,0.00218534,-2.70852,-2.29857,-1.90049,-2.32079,-2.37527,-2.35226,-1.81639,-2.10436,-1.92545,-2.34839,-2.47834,-1.48551,-2.98559,-2.66103,-1.6636,-1.61882,-1.82144,-3.12276,-3.8098,-1.63397,-2.09444,-2.88328,-0.168277,-0.205048,-0.185262,-0.295656,-0.168376,-0.264386,-0.231153,-0.234014,-0.295308,-0.26107,-0.261161,-0.235666,-0.232274,-0.0801503,-0.272902,-0.258342,-0.146313,-0.221218,-0.162373,-0.163629,-0.253442,-0.165158,-0.270166,0.0467476 --5903.75,0.979867,0.350484,2,-0.250592,0.00218534,-2.70852,-2.29857,-1.90049,-2.32079,-2.37527,-2.35226,-1.81639,-2.10436,-1.92545,-2.34839,-2.47834,-1.48551,-2.98559,-2.66103,-1.6636,-1.61882,-1.82144,-3.12276,-3.8098,-1.63397,-2.09444,-2.88328,-0.168277,-0.205048,-0.185262,-0.295656,-0.168376,-0.264386,-0.231153,-0.234014,-0.295308,-0.26107,-0.261161,-0.235666,-0.232274,-0.0801503,-0.272902,-0.258342,-0.146313,-0.221218,-0.162373,-0.163629,-0.253442,-0.165158,-0.270166,0.0467476 --5908.92,0.0509212,0.350484,3,-0.238208,0.0032603,-2.84616,-2.25958,-2.09113,-2.19082,-2.43985,-2.50118,-1.7339,-2.0585,-2.0426,-2.31034,-2.39659,-1.58819,-2.9143,-2.69383,-1.58805,-1.68233,-1.72868,-2.6452,-3.42147,-1.6965,-1.97119,-2.81154,-0.314245,-0.263134,-0.240873,-0.228981,-0.219431,-0.209708,-0.294813,-0.178373,-0.283054,-0.307568,-0.243034,-0.22446,-0.166552,-0.0874298,-0.123807,-0.151917,-0.25146,-0.211076,-0.119302,-0.248596,-0.188318,-0.310736,-0.193085,0.057099 --5905.74,0.327966,0.350484,2,-0.272763,0.00512226,-2.49614,-2.16806,-2.00715,-2.24011,-2.34263,-2.35395,-1.77726,-2.11266,-2.04389,-2.27418,-2.26573,-1.33115,-3.00132,-2.69983,-1.34032,-1.49954,-1.77064,-2.73277,-3.00834,-1.68088,-2.12737,-2.91075,-0.377589,-0.203403,-0.354115,-0.313614,-0.238927,-0.261214,-0.166203,-0.192617,-0.159703,-0.22882,-0.260658,-0.217553,-0.321491,-0.23244,-0.366373,-0.227748,-0.228708,-0.255247,-0.359719,-0.352567,-0.324801,-0.231592,-0.292467,0.07157 --5909.46,0.149471,0.350484,3,-0.241489,0.0033211,-2.08795,-2.14069,-2.02355,-2.24855,-2.23204,-2.7243,-1.75144,-2.16375,-2.1101,-2.27008,-2.21047,-1.48322,-2.90495,-2.68306,-1.28852,-1.47726,-2.00973,-2.81445,-3.013,-1.54646,-2.15349,-2.86544,-0.450806,-0.263694,-0.154115,-0.294188,-0.218581,-0.211681,-0.184995,-0.244299,-0.0831628,-0.18545,-0.156166,-0.253504,-0.267068,-0.252434,-0.329479,-0.414539,-0.250556,-0.302159,-0.190489,-0.249492,-0.249066,-0.259913,-0.29556,0.0576289 --5909.46,0.136202,0.350484,3,-0.241489,0.0033211,-2.08795,-2.14069,-2.02355,-2.24855,-2.23204,-2.7243,-1.75144,-2.16375,-2.1101,-2.27008,-2.21047,-1.48322,-2.90495,-2.68306,-1.28852,-1.47726,-2.00973,-2.81445,-3.013,-1.54646,-2.15349,-2.86544,-0.450806,-0.263694,-0.154115,-0.294188,-0.218581,-0.211681,-0.184995,-0.244299,-0.0831628,-0.18545,-0.156166,-0.253504,-0.267068,-0.252434,-0.329479,-0.414539,-0.250556,-0.302159,-0.190489,-0.249492,-0.249066,-0.259913,-0.29556,0.0576289 --5909.46,0.000530791,0.350484,2,-0.241489,0.0033211,-2.08795,-2.14069,-2.02355,-2.24855,-2.23204,-2.7243,-1.75144,-2.16375,-2.1101,-2.27008,-2.21047,-1.48322,-2.90495,-2.68306,-1.28852,-1.47726,-2.00973,-2.81445,-3.013,-1.54646,-2.15349,-2.86544,-0.450806,-0.263694,-0.154115,-0.294188,-0.218581,-0.211681,-0.184995,-0.244299,-0.0831628,-0.18545,-0.156166,-0.253504,-0.267068,-0.252434,-0.329479,-0.414539,-0.250556,-0.302159,-0.190489,-0.249492,-0.249066,-0.259913,-0.29556,0.0576289 --5914.88,0.803137,0.350484,2,-0.212933,0.00658275,-2.47469,-2.17368,-1.86785,-2.4791,-2.57315,-2.66146,-1.66929,-2.18761,-2.03083,-2.245,-2.3954,-1.5676,-3.35224,-2.65517,-1.44112,-1.39135,-1.96687,-2.99493,-3.36169,-1.54253,-1.96515,-3.05681,-0.030382,-0.204315,-0.184466,-0.222978,-0.253847,-0.309981,-0.49204,-0.153095,-0.508454,-0.344826,-0.332673,-0.159086,-0.196073,-0.222967,-0.149991,-0.0615693,-0.182711,-0.109064,-0.273042,-0.218672,-0.307497,-0.302769,-0.277147,0.0811342 --5916.2,0.353604,0.350484,3,-0.196483,0.00986649,-2.19516,-2.31713,-2.42799,-2.29559,-2.21231,-2.12759,-1.6591,-1.99989,-2.03414,-2.35283,-2.33477,-1.29276,-2.88768,-2.93038,-1.18652,-1.70192,-2.04997,-2.83034,-3.54721,-1.50848,-2.35101,-2.99041,-0.249441,-0.239586,-0.152981,-0.223024,-0.119365,-0.219649,-0.33619,-0.183735,-0.0689614,-0.184938,-0.0455902,-0.0908598,-0.317115,-0.100083,-0.246703,-0.25419,-0.103839,-0.0403469,-0.27968,-0.190416,-0.17448,-0.350878,-0.0885605,0.0993302 --5913.97,0.25189,0.350484,2,-0.23751,0.00349299,-3.18918,-2.51655,-1.63245,-2.41663,-2.66592,-1.87397,-1.80728,-1.96575,-1.91788,-2.20196,-2.4321,-1.50184,-2.96981,-2.79257,-1.08251,-1.40706,-2.10151,-3.03824,-3.48788,-1.40622,-2.33851,-3.06487,-0.130539,-0.239038,-0.298231,-0.267569,-0.314093,-0.260568,-0.428565,-0.283266,-0.210193,-0.254193,-0.24754,-0.264419,-0.173898,0.193419,-0.298607,-0.24523,-0.206095,-0.323814,-0.166148,-0.275681,-0.226026,-0.190511,-0.119884,0.0591015 --5916.85,0.730373,0.350484,2,-0.224151,0.0032303,-3.33583,-2.42757,-1.79576,-2.26053,-2.61365,-1.64466,-1.69021,-1.94792,-2.01671,-2.22373,-2.4506,-1.42287,-3.04444,-2.90425,-1.1599,-1.36457,-2.29485,-3.30922,-3.89928,-1.35198,-2.54668,-3.0408,-0.307387,-0.234058,-0.298548,-0.210852,-0.203329,-0.217596,-0.25712,-0.190258,-0.221201,-0.195586,-0.267395,-0.175505,-0.0957365,0.110681,-0.173603,-0.30099,-0.23475,-0.236254,-0.229081,-0.250914,-0.181075,-0.287048,-0.222334,0.0568357 --5916.5,1.67686e-27,0.350484,3,-0.230662,0.00362873,-2.24579,-2.38174,-2.36422,-2.34793,-2.58379,-2.31592,-1.8645,-1.92352,-2.09684,-2.30555,-2.21045,-1.63609,-2.76403,-2.80691,-1.06517,-1.41089,-1.94538,-3.32216,-4.51292,-1.28513,-2.30232,-2.96155,-0.151666,-0.220856,-0.157813,-0.356232,-0.175823,-0.243202,-0.247049,-0.387687,-0.190085,-0.328334,-0.197445,-0.228109,-0.324972,0.0987988,-0.324831,-0.290338,-0.152344,-0.153161,-0.179497,-0.233775,-0.234966,-0.186646,-0.196844,0.0602389 --5912.24,0.269413,0.350484,2,-0.239613,0.00470276,-1.9479,-2.42446,-2.56642,-2.40063,-2.16002,-3.12022,-1.64352,-2.10462,-1.90689,-2.22241,-2.35296,-1.40309,-2.78952,-2.82024,-1.57053,-1.41772,-1.77625,-2.34106,-3.76223,-1.59143,-2.071,-2.86394,-0.332794,-0.231367,-0.289053,-0.138278,-0.216364,-0.158446,-0.346506,-0.110048,-0.265526,-0.217307,-0.309516,-0.150464,-0.213664,-0.130912,-0.200568,-0.170188,-0.342881,-0.301923,-0.232981,-0.224068,-0.322067,-0.339927,-0.236833,0.0685767 --5914.77,0.387144,0.350484,2,-0.223571,0.00498081,-2.88701,-2.02244,-2.37595,-2.42408,-2.23726,-2.6949,-1.75005,-2.12506,-1.76148,-2.246,-2.23341,-1.35142,-2.78079,-2.73793,-1.2525,-1.3421,-1.87628,-2.84743,-3.69409,-1.35809,-2.18142,-2.64814,0.015536,-0.190125,-0.111648,-0.30023,-0.277993,-0.209843,-0.413927,-0.291434,-0.150646,-0.296796,-0.21857,-0.261107,-0.250183,-0.210656,-0.232048,-0.270727,-0.132382,-0.0996881,-0.171786,-0.190427,-0.110251,-0.41813,-0.14642,0.0705748 --5913.56,0.40941,0.350484,2,-0.224466,0.0089634,-2.38253,-2.55862,-2.01072,-2.45431,-2.31688,-2.21833,-1.79765,-2.14671,-2.06422,-2.26062,-2.29387,-1.52527,-2.93929,-2.69576,-1.26538,-1.41815,-1.89972,-3.69371,-3.79794,-1.62123,-1.92267,-2.86439,-0.475104,-0.175487,-0.263286,-0.105747,-0.205122,-0.3045,-0.165021,-0.0894286,-0.312274,-0.192861,-0.276539,-0.171528,-0.253573,0.0336221,-0.283153,-0.192124,-0.333059,-0.217392,-0.20652,-0.258644,-0.450081,-0.303878,-0.258957,0.0946753 --5909.43,0.946501,0.350484,2,-0.286915,0.00406952,-2.11403,-2.1335,-2.35323,-2.30971,-2.35699,-2.41101,-1.71308,-2.07093,-1.85521,-2.28597,-2.31293,-1.3013,-2.80757,-2.60846,-1.20611,-1.49399,-1.90703,-2.28776,-4.01819,-1.46184,-2.21514,-2.9869,-0.212139,-0.300748,-0.239878,-0.340843,-0.211978,-0.0755924,-0.39519,-0.412105,-0.323629,-0.266175,-0.281911,-0.317447,-0.293185,-0.116781,-0.341186,-0.268189,-0.361972,-0.284425,-0.375078,-0.245266,-0.143675,-0.286292,-0.289023,0.0637928 --5905.34,0.306679,0.350484,2,-0.271064,0.00409898,-2.83691,-2.36935,-1.8587,-2.42047,-2.19505,-3.0691,-1.74209,-2.01094,-1.99144,-2.34507,-2.27681,-1.44428,-2.62636,-2.59154,-1.25933,-1.63297,-1.94904,-2.76763,-3.21144,-1.61658,-2.26524,-2.88584,-0.359579,-0.249178,-0.316684,-0.263537,-0.323491,-0.235439,-0.271001,-0.239433,-0.278132,-0.232973,-0.203165,-0.247881,-0.357283,-0.273659,-0.317085,-0.267673,-0.192363,-0.303075,-0.200231,-0.249612,-0.375762,-0.327953,-0.111031,0.0640233 --5904.24,0.125193,0.350484,3,-0.267968,0.0029459,-2.78464,-2.31778,-1.84707,-2.37618,-2.23582,-3.18197,-1.70415,-2.0575,-1.95056,-2.33875,-2.20624,-1.48186,-2.51129,-2.61201,-1.36215,-1.60423,-1.92414,-2.6736,-3.05086,-1.63076,-2.30106,-2.82827,-0.318862,-0.25582,-0.337629,-0.237948,-0.309223,-0.151651,-0.30217,-0.27463,-0.201346,-0.257354,-0.282078,-0.222813,-0.33854,-0.244613,-0.285098,-0.230268,-0.246149,-0.211416,-0.253262,-0.24868,-0.378526,-0.306801,-0.174894,0.0542761 --5904.24,2.07411e-05,0.350484,2,-0.267968,0.0029459,-2.78464,-2.31778,-1.84707,-2.37618,-2.23582,-3.18197,-1.70415,-2.0575,-1.95056,-2.33875,-2.20624,-1.48186,-2.51129,-2.61201,-1.36215,-1.60423,-1.92414,-2.6736,-3.05086,-1.63076,-2.30106,-2.82827,-0.318862,-0.25582,-0.337629,-0.237948,-0.309223,-0.151651,-0.30217,-0.27463,-0.201346,-0.257354,-0.282078,-0.222813,-0.33854,-0.244613,-0.285098,-0.230268,-0.246149,-0.211416,-0.253262,-0.24868,-0.378526,-0.306801,-0.174894,0.0542761 --5903.5,0.00760768,0.350484,2,-0.247112,0.00296105,-2.63356,-2.31146,-1.98899,-2.42488,-2.27616,-3.20978,-1.72302,-2.07561,-1.96428,-2.29045,-2.24939,-1.49315,-2.47771,-2.56668,-1.27312,-1.59765,-1.89259,-2.8959,-3.11162,-1.59716,-2.27705,-2.77978,-0.229098,-0.263792,-0.282022,-0.259277,-0.277645,-0.160901,-0.235329,-0.263591,-0.13497,-0.216293,-0.306732,-0.249337,-0.411174,-0.22203,-0.243452,-0.290628,-0.291899,-0.270697,-0.282643,-0.248987,-0.283334,-0.345203,-0.283771,0.0544155 --5906.09,0.217748,0.350484,2,-0.25645,0.00293826,-2.73643,-2.21454,-2.00214,-2.37129,-2.25821,-3.41504,-1.72966,-2.07794,-1.99962,-2.26752,-2.24465,-1.50034,-2.49057,-2.63472,-1.35378,-1.45735,-1.8856,-2.97003,-3.02206,-1.62169,-2.3175,-2.8367,-0.325377,-0.200056,-0.220444,-0.289846,-0.229013,-0.165101,-0.271737,-0.305942,-0.138879,-0.231219,-0.199951,-0.20737,-0.412236,-0.163469,-0.259086,-0.284041,-0.235065,-0.261397,-0.327756,-0.229212,-0.24277,-0.336995,-0.29434,0.0542057 --5906.09,0.0135519,0.350484,2,-0.25645,0.00293826,-2.73643,-2.21454,-2.00214,-2.37129,-2.25821,-3.41504,-1.72966,-2.07794,-1.99962,-2.26752,-2.24465,-1.50034,-2.49057,-2.63472,-1.35378,-1.45735,-1.8856,-2.97003,-3.02206,-1.62169,-2.3175,-2.8367,-0.325377,-0.200056,-0.220444,-0.289846,-0.229013,-0.165101,-0.271737,-0.305942,-0.138879,-0.231219,-0.199951,-0.20737,-0.412236,-0.163469,-0.259086,-0.284041,-0.235065,-0.261397,-0.327756,-0.229212,-0.24277,-0.336995,-0.29434,0.0542057 --5917.99,0.0167562,0.350484,2,-0.29275,0.00464389,-2.65196,-1.99581,-1.96353,-2.44507,-2.08566,-3.3659,-1.79401,-2.09457,-1.9509,-2.32633,-2.19201,-1.51423,-2.44624,-2.73925,-1.32359,-1.3789,-1.72727,-2.65533,-2.93664,-1.56139,-2.17142,-2.98131,-0.158135,-0.376256,-0.294127,-0.314421,-0.262383,-0.0949987,-0.218624,-0.347106,-0.201379,-0.296965,-0.305072,-0.314758,-0.354542,-0.208526,-0.310825,-0.328755,-0.246094,-0.360772,-0.491091,-0.278496,-0.237574,-0.295208,-0.215462,0.0681461 --5917.82,0.864079,0.350484,2,-0.263865,0.00490304,-2.6599,-2.02208,-2.45274,-2.43107,-2.14112,-3.14296,-1.78682,-2.05565,-1.94043,-2.35196,-2.27467,-1.52368,-2.39885,-2.61365,-1.40626,-1.50499,-1.61181,-2.68146,-3.19955,-1.82479,-2.15416,-2.87148,-0.0678329,-0.243106,-0.277374,-0.203349,-0.27633,-0.294032,-0.298676,-0.325374,-0.259392,-0.279898,-0.435083,-0.289006,-0.336637,-0.231003,-0.158337,-0.304537,-0.244306,-0.210105,-0.322633,-0.321445,-0.269693,-0.28234,-0.297755,0.0700217 --5917.82,4.03563e-11,0.350484,2,-0.263865,0.00490304,-2.6599,-2.02208,-2.45274,-2.43107,-2.14112,-3.14296,-1.78682,-2.05565,-1.94043,-2.35196,-2.27467,-1.52368,-2.39885,-2.61365,-1.40626,-1.50499,-1.61181,-2.68146,-3.19955,-1.82479,-2.15416,-2.87148,-0.0678329,-0.243106,-0.277374,-0.203349,-0.27633,-0.294032,-0.298676,-0.325374,-0.259392,-0.279898,-0.435083,-0.289006,-0.336637,-0.231003,-0.158337,-0.304537,-0.244306,-0.210105,-0.322633,-0.321445,-0.269693,-0.28234,-0.297755,0.0700217 --5913.68,0.680544,0.350484,2,-0.323888,0.0018368,-2.39856,-2.13303,-2.47929,-2.40828,-2.36587,-2.50648,-1.79015,-2.10715,-1.88871,-2.51336,-2.28105,-1.31693,-2.43743,-2.62207,-1.49254,-1.37328,-1.83744,-2.62106,-3.33667,-1.62682,-2.09121,-2.84717,-0.193123,-0.314203,-0.334064,-0.180102,-0.304344,-0.289249,-0.324338,-0.227005,-0.354839,-0.161394,-0.227955,-0.308781,-0.381167,-0.297962,-0.449117,-0.303373,-0.350539,-0.363134,-0.318351,-0.324655,-0.364744,-0.333232,-0.357858,0.0428579 --5913.68,0.0157814,0.350484,2,-0.323888,0.0018368,-2.39856,-2.13303,-2.47929,-2.40828,-2.36587,-2.50648,-1.79015,-2.10715,-1.88871,-2.51336,-2.28105,-1.31693,-2.43743,-2.62207,-1.49254,-1.37328,-1.83744,-2.62106,-3.33667,-1.62682,-2.09121,-2.84717,-0.193123,-0.314203,-0.334064,-0.180102,-0.304344,-0.289249,-0.324338,-0.227005,-0.354839,-0.161394,-0.227955,-0.308781,-0.381167,-0.297962,-0.449117,-0.303373,-0.350539,-0.363134,-0.318351,-0.324655,-0.364744,-0.333232,-0.357858,0.0428579 --5907.27,0.196034,0.350484,2,-0.273241,0.00355809,-1.95589,-1.99255,-1.89863,-2.34987,-2.12906,-1.87618,-1.61936,-2.01456,-1.94865,-2.19161,-2.16975,-1.60146,-3.35898,-2.71565,-1.46956,-1.47837,-1.89937,-3.01582,-3.75324,-1.45656,-2.03682,-3.03435,-0.40551,-0.29051,-0.385934,-0.401568,-0.285312,-0.249239,-0.365453,-0.328117,-0.255323,-0.275223,-0.412311,-0.224038,-0.231171,-0.105855,-0.158359,-0.284148,-0.257577,-0.191352,-0.296566,-0.230817,-0.313119,-0.330754,-0.2752,0.0596497 --5919.62,0.653228,0.350484,3,-0.161308,0.00741557,-3.0982,-2.24417,-2.22759,-2.55691,-2.74596,-2.48534,-1.74979,-2.26109,-1.98754,-2.23359,-2.4148,-1.38938,-3.09731,-3.05025,-1.24382,-1.50624,-1.9659,-3.41134,-3.07673,-1.4672,-2.26707,-3.01193,-0.296721,-0.146666,-0.169383,-0.18749,-0.0664426,-0.0942721,-0.155366,-0.170399,-0.0850625,-0.196246,-0.0783506,-0.323902,-0.311314,0.0650427,-0.19175,-0.21838,-0.171748,-0.123568,-0.25061,-0.120913,-0.0669387,-0.42641,-0.0843981,0.0861137 --5914.21,0.985128,0.350484,3,-0.313061,0.00187233,-1.55604,-2.22682,-1.86207,-2.50299,-2.19558,-2.02733,-1.59354,-2.07795,-2.07182,-2.22734,-2.24245,-1.60799,-2.84505,-2.65234,-1.48759,-1.35593,-1.87397,-2.84761,-4.27552,-1.51095,-1.96927,-3.24174,-0.40576,-0.302799,-0.30849,-0.30997,-0.320245,-0.349644,-0.360741,-0.385369,-0.236918,-0.274849,-0.277133,-0.310404,-0.480864,-0.352262,-0.298149,-0.320198,-0.263468,-0.229476,-0.244402,-0.242654,-0.400711,-0.432597,-0.345861,0.0432704 --5905.63,3.24419e-10,0.350484,2,-0.297489,0.00368463,-1.8411,-2.36898,-1.87256,-2.49762,-2.22906,-2.12204,-1.56291,-2.08128,-2.09717,-2.22839,-2.28422,-1.57224,-2.62691,-2.68566,-1.54516,-1.43658,-1.96307,-3.03499,-4.16111,-1.60036,-1.99968,-3.22135,-0.318485,-0.335324,-0.378646,-0.254269,-0.364844,-0.302625,-0.376259,-0.265879,-0.266634,-0.293813,-0.347529,-0.29915,-0.396066,-0.264259,-0.331298,-0.312674,-0.275002,-0.254621,-0.344952,-0.240578,-0.333343,-0.318454,-0.256566,0.0607012 --5905.63,0.273438,0.350484,2,-0.297489,0.00368463,-1.8411,-2.36898,-1.87256,-2.49762,-2.22906,-2.12204,-1.56291,-2.08128,-2.09717,-2.22839,-2.28422,-1.57224,-2.62691,-2.68566,-1.54516,-1.43658,-1.96307,-3.03499,-4.16111,-1.60036,-1.99968,-3.22135,-0.318485,-0.335324,-0.378646,-0.254269,-0.364844,-0.302625,-0.376259,-0.265879,-0.266634,-0.293813,-0.347529,-0.29915,-0.396066,-0.264259,-0.331298,-0.312674,-0.275002,-0.254621,-0.344952,-0.240578,-0.333343,-0.318454,-0.256566,0.0607012 --5905.63,0.0125084,0.350484,2,-0.297489,0.00368463,-1.8411,-2.36898,-1.87256,-2.49762,-2.22906,-2.12204,-1.56291,-2.08128,-2.09717,-2.22839,-2.28422,-1.57224,-2.62691,-2.68566,-1.54516,-1.43658,-1.96307,-3.03499,-4.16111,-1.60036,-1.99968,-3.22135,-0.318485,-0.335324,-0.378646,-0.254269,-0.364844,-0.302625,-0.376259,-0.265879,-0.266634,-0.293813,-0.347529,-0.29915,-0.396066,-0.264259,-0.331298,-0.312674,-0.275002,-0.254621,-0.344952,-0.240578,-0.333343,-0.318454,-0.256566,0.0607012 --5911.84,2.15338e-44,0.350484,2,-0.301457,0.00598619,-1.93302,-2.37104,-1.87378,-2.52315,-2.29736,-2.15523,-1.62468,-2.02188,-2.12942,-2.23911,-2.2206,-1.57725,-2.6272,-2.75224,-1.53972,-1.43983,-1.93117,-2.95395,-4.25741,-1.59282,-1.98136,-3.23996,-0.266759,-0.374125,-0.312619,-0.279253,-0.421136,-0.358267,-0.432765,-0.225991,-0.266466,-0.308607,-0.318926,-0.280987,-0.373311,-0.215023,-0.397228,-0.263103,-0.361638,-0.292678,-0.317997,-0.201555,-0.368909,-0.346435,-0.28157,0.0773705 --5911.84,0.0356665,0.350484,2,-0.301457,0.00598619,-1.93302,-2.37104,-1.87378,-2.52315,-2.29736,-2.15523,-1.62468,-2.02188,-2.12942,-2.23911,-2.2206,-1.57725,-2.6272,-2.75224,-1.53972,-1.43983,-1.93117,-2.95395,-4.25741,-1.59282,-1.98136,-3.23996,-0.266759,-0.374125,-0.312619,-0.279253,-0.421136,-0.358267,-0.432765,-0.225991,-0.266466,-0.308607,-0.318926,-0.280987,-0.373311,-0.215023,-0.397228,-0.263103,-0.361638,-0.292678,-0.317997,-0.201555,-0.368909,-0.346435,-0.28157,0.0773705 --5913.56,0.283823,0.350484,2,-0.281734,0.00363644,-1.72896,-2.0868,-1.60432,-2.28429,-2.3998,-2.51222,-1.5436,-2.07918,-1.94347,-2.24623,-2.21338,-1.3909,-2.72842,-2.668,-1.4156,-1.27286,-1.84911,-2.62209,-2.93577,-1.55027,-2.24838,-3.10529,-0.32475,-0.246139,-0.320388,-0.234567,-0.194821,-0.256768,-0.41277,-0.331568,-0.318982,-0.350131,-0.350818,-0.299754,-0.520769,-0.0272015,-0.241622,-0.321585,-0.221456,-0.314493,-0.226275,-0.327408,-0.290864,-0.092032,-0.303929,0.0603029 --5918.53,0.791596,0.350484,2,-0.348728,0.00807537,-2.66532,-1.91844,-2.29878,-2.26161,-2.30736,-2.4585,-1.82365,-2.2018,-1.74091,-2.26049,-2.29788,-1.40788,-3.15551,-2.75967,-1.53208,-1.50297,-1.93696,-3.03185,-4.16158,-1.48585,-2.07104,-2.93157,-0.280002,-0.420235,-0.395871,-0.600423,-0.396867,-0.271212,-0.355402,-0.197267,-0.36476,-0.247699,-0.224806,-0.263946,-0.071516,-0.222446,-0.328494,-0.31597,-0.347438,-0.341094,-0.388556,-0.263929,-0.288294,-0.497787,-0.298583,0.0898631 --5913.7,0.954729,0.350484,2,-0.336393,0.0100823,-2.31817,-2.22004,-2.13949,-2.28408,-2.21095,-2.45005,-1.69544,-2.20913,-1.80061,-2.16609,-2.27151,-1.4896,-2.75083,-2.65935,-1.23309,-1.37601,-1.69892,-3.56412,-3.53149,-1.31338,-2.03231,-2.77369,-0.280587,-0.346114,-0.356666,-0.387945,-0.22715,-0.392357,-0.329413,-0.0169345,-0.34762,-0.317223,-0.402087,-0.417805,-0.507594,-0.081587,-0.279359,-0.250057,-0.41446,-0.285325,-0.215414,-0.311346,-0.492401,-0.353197,-0.38451,0.100411 --5913.06,0.625027,0.350484,3,-0.215729,0.00346771,-1.54327,-2.1107,-2.38522,-2.46936,-2.58071,-2.0329,-1.64188,-1.91676,-1.78471,-2.22282,-2.19157,-1.6577,-2.63026,-2.56537,-1.44829,-1.48156,-2.00527,-3.508,-3.35158,-1.47686,-2.14857,-2.779,-0.307117,-0.176028,-0.146325,-0.215216,-0.057576,-0.213336,-0.331351,-0.126509,-0.236494,-0.268997,-0.286222,-0.314182,-0.321026,-0.235907,-0.0960832,-0.227173,-0.262427,-0.162861,-0.196547,-0.215717,-0.288637,-0.231676,-0.208879,0.0588872 --5914.08,0.3112,0.350484,3,-0.243267,0.00329948,-2.30159,-1.91662,-2.28466,-2.48892,-2.20682,-1.82158,-1.59751,-2.12913,-1.90809,-2.09926,-2.13028,-1.74366,-2.77721,-2.64885,-1.35644,-1.57003,-2.05515,-3.43565,-2.83599,-1.55041,-2.14262,-2.80085,-0.184097,-0.312029,-0.189798,-0.185229,-0.265653,-0.382566,-0.37251,-0.201002,-0.298561,-0.346763,-0.354503,-0.329427,-0.249823,-0.298828,-0.162111,-0.275795,-0.183232,-0.196552,-0.276958,-0.292131,-0.300816,-0.33289,-0.242018,0.0574411 --5903.26,1,0.350484,2,-0.298302,0.00418038,-2.45413,-2.07069,-2.16585,-2.40933,-2.32826,-2.46744,-1.74431,-2.15232,-2.22415,-2.22839,-2.31127,-1.51685,-3.24278,-2.89743,-1.31082,-1.53659,-1.90368,-3.07474,-3.29946,-1.39462,-2.2063,-2.9928,-0.320989,-0.29594,-0.37295,-0.338299,-0.248217,-0.217812,-0.266137,-0.265689,-0.226141,-0.363267,-0.187578,-0.121565,-0.27778,-0.10621,-0.343676,-0.227644,-0.301276,-0.275068,-0.268375,-0.252998,-0.21787,-0.254433,-0.257471,0.0646559 --5908.19,0.237221,0.350484,2,-0.227844,0.00585801,-2.77905,-2.02823,-1.88008,-2.44575,-2.55889,-2.5469,-1.80773,-2.25083,-1.83762,-2.19723,-2.2803,-1.55019,-3.00912,-2.52373,-1.38938,-1.43968,-2.09106,-3.09796,-3.87808,-1.53404,-2.04596,-2.96184,-0.203917,-0.440537,-0.152306,-0.0941509,-0.144396,-0.174344,-0.258039,-0.0570824,-0.263769,-0.257203,-0.308916,-0.280815,-0.174357,-0.266879,-0.186448,-0.202193,-0.184136,-0.108645,-0.224141,-0.248212,-0.328582,-0.308925,-0.284443,0.0765376 --5909.35,0.407713,0.350484,2,-0.167936,0.00752296,-1.93633,-2.16728,-2.14224,-2.48888,-2.54034,-2.20565,-1.80471,-2.29126,-1.67998,-2.28423,-2.24334,-1.26931,-3.20846,-2.72564,-1.32034,-1.45075,-1.74704,-2.76487,-3.8941,-1.69757,-2.20855,-3.02885,-0.186512,-0.198748,-0.11247,-0.125146,-0.127002,-0.190613,-0.239876,-0.125227,-0.378619,-0.266907,-0.21819,-0.226089,-0.249534,-0.104801,-0.153072,-0.214244,-0.133459,-0.237692,0.00761261,-0.162851,-0.188689,-0.298645,-0.168904,0.086735 --5915.64,0.432415,0.350484,3,-0.278227,0.0083452,-2.27906,-2.28508,-2.1488,-2.39269,-2.49758,-2.06166,-1.62439,-2.23263,-1.55812,-2.20399,-2.28906,-1.28666,-3.40727,-2.65012,-1.36473,-1.33873,-1.66738,-2.79445,-3.66931,-1.48294,-2.10121,-2.99939,-0.264487,-0.431055,-0.22183,-0.378463,-0.302271,-0.237036,-0.498258,-0.202756,-0.358042,-0.324331,-0.294138,-0.348963,-0.263488,-0.28352,-0.284522,-0.19099,-0.49795,-0.367051,-0.284276,-0.405108,-0.339716,-0.213815,-0.362973,0.0913521 --5913.59,0.363503,0.350484,3,-0.33327,0.00936924,-2.17508,-1.82667,-2.19047,-2.31609,-2.31955,-2.82006,-1.66525,-1.87691,-2.07696,-2.23747,-2.38545,-1.32362,-2.87883,-2.80086,-1.1453,-1.55365,-1.91634,-2.9387,-3.69711,-1.51472,-2.17612,-2.71788,-0.379293,-0.809573,-0.398095,-0.250145,-0.29422,-0.292404,-0.365452,-0.394923,-0.370355,-0.346651,-0.270149,-0.307079,-0.411541,-0.166976,-0.391872,-0.44694,-0.292265,-0.324464,-0.267873,-0.208556,-0.289903,-0.540881,-0.390645,0.0967948 --5920.28,0.767719,0.350484,2,-0.365915,0.00665845,-1.66132,-1.99896,-2.43249,-2.33974,-2.16659,-2.1641,-1.66016,-2.12521,-1.82686,-2.09452,-2.41966,-1.53451,-3.04521,-2.71295,-1.04203,-1.37147,-2.25561,-2.77458,-3.33515,-1.62829,-1.98446,-2.60146,-0.390287,-0.79005,-0.302768,-0.437427,-0.385159,-0.343978,-0.393324,-0.267337,-0.31656,-0.373883,-0.248076,-0.338074,-0.600735,-0.331267,-0.338938,-0.305782,-0.293292,-0.315205,-0.397901,-0.165477,-0.411462,-0.399716,-0.35912,0.0815993 --5924.54,0.63311,0.350484,3,-0.368922,0.00643388,-3.12407,-1.78931,-1.84294,-2.48114,-2.44069,-2.49933,-1.68391,-1.93451,-1.92376,-2.2597,-2.11252,-1.60673,-2.83834,-2.82641,-1.53575,-1.28212,-1.66769,-3.13918,-3.30144,-1.18145,-2.12157,-3.06951,-0.329556,-0.826761,-0.423378,-0.327022,-0.169395,-0.412285,-0.407798,-0.378228,-0.300668,-0.281316,-0.403799,-0.357482,-0.199654,-0.164403,-0.370227,-0.130143,-0.510623,-0.31292,-0.45079,-0.398022,-0.446198,-0.396424,-0.402245,0.0802115 --5921.34,0.867131,0.350484,3,-0.357743,0.00904584,-3.21486,-1.9656,-1.7334,-2.43421,-2.38903,-2.16424,-1.64788,-2.03532,-1.87732,-2.27865,-2.09181,-1.54002,-2.78162,-2.86748,-1.31347,-1.42995,-1.71564,-3.32022,-3.42626,-1.3192,-2.30139,-3.1011,-0.309642,-0.866778,-0.514634,-0.350473,-0.273747,-0.242778,-0.50502,-0.346589,-0.272441,-0.236281,-0.370993,-0.277656,-0.351309,0.101691,-0.418164,-0.162576,-0.416329,-0.423292,-0.4109,-0.36354,-0.306504,-0.491569,-0.432547,0.0951096 --5924.2,0.759175,0.350484,3,-0.334116,0.0178733,-1.88347,-2.10675,-2.41407,-2.39501,-2.51883,-2.07523,-1.75738,-2.18602,-1.84881,-2.23316,-2.40416,-1.29927,-2.84535,-2.86152,-1.23266,-1.74139,-1.92445,-2.68631,-3.23713,-1.67486,-1.84514,-2.69814,-0.362208,-0.39428,-0.244736,-0.359947,-0.0389457,-0.524699,-0.466112,-0.14499,-0.668761,-0.37056,-0.377519,-0.334072,-0.810284,-0.0437611,-0.332425,-0.0673384,-0.196533,-0.293591,-0.237633,-0.177528,-0.554087,-0.364416,-0.330873,0.133691 --5930.41,0.896802,0.350484,2,-0.400894,0.0407552,-2.20118,-1.81653,-1.96731,-2.39964,-2.55446,-1.76305,-1.70262,-2.16269,-1.81058,-2.26117,-2.34007,-1.33145,-2.63411,-2.87184,-1.24093,-1.50582,-1.91019,-2.92983,-3.77373,-1.67019,-2.11812,-2.83867,-0.4804,-0.777703,-0.567099,-0.183712,-0.131023,-0.415324,-0.303821,-0.17309,-0.375323,-0.262911,-0.112359,-0.430665,-0.930748,0.327804,-0.260037,-0.441698,-0.719799,-0.275591,-0.476781,-0.247729,-0.458394,-0.637884,-0.405047,0.201879 --5932.34,0.776347,0.350484,3,-0.214303,0.0383532,-2.6686,-2.19213,-2.29748,-2.26428,-2.11745,-2.39181,-1.65058,-2.11732,-1.9956,-2.26339,-2.3459,-1.56268,-2.65579,-2.88728,-1.37128,-1.43459,-2.09809,-2.91299,-3.4483,-1.25527,-2.10934,-2.92213,-0.165099,-0.461938,-0.603375,-0.401846,-0.430416,-0.416645,-0.615757,-0.23628,-0.360373,-0.264684,-0.314644,-0.0588725,-1.02432,-0.185143,-0.326976,-0.151966,0.250213,-0.274,0.199787,-0.365107,-0.35211,-0.189731,-0.350253,0.19584 --5926.73,0.929709,0.350484,3,-0.197621,0.0243386,-2.08784,-2.47448,-1.83733,-2.52858,-2.72642,-2.03152,-1.7699,-2.18463,-1.97873,-2.26954,-2.30704,-1.59139,-2.61503,-2.94947,-1.25197,-1.57754,-1.74206,-3.14687,-3.36082,-1.76239,-2.01801,-2.76846,-0.245452,-0.233679,-0.0411044,-0.0683001,0.00975746,-0.218511,-0.285317,-0.169182,-0.236527,-0.413334,-0.22651,-0.14375,-0.683143,-0.129084,-0.0960248,-0.221279,-0.282867,-0.226223,-0.323468,0.0756917,-0.260845,-0.579831,-0.0943634,0.156008 --5919.25,0.993306,0.350484,2,-0.25624,0.00821578,-2.68246,-2.39154,-2.65276,-2.32268,-2.5228,-2.22317,-1.67681,-2.19474,-1.92991,-2.13351,-2.30711,-1.50956,-2.77686,-2.56536,-1.37702,-1.37391,-1.73472,-2.92825,-2.76639,-1.66626,-2.10621,-2.64307,-0.137253,-0.213415,-0.285483,-0.199461,-0.171265,-0.257909,-0.382924,-0.0120851,-0.315357,-0.261965,-0.303911,-0.228589,-0.539505,-0.0917987,-0.388433,-0.358226,-0.424331,-0.264609,-0.208729,-0.170906,-0.281235,-0.494636,-0.346642,0.090641 --5918.13,0.715682,0.350484,2,-0.217955,0.00462657,-2.47696,-1.80501,-1.93123,-2.37682,-2.49339,-2.05689,-1.76045,-2.13034,-1.89725,-2.36467,-2.19453,-1.52918,-3.08574,-2.82462,-1.45397,-1.70647,-2.04745,-2.71403,-3.71422,-1.49212,-2.19171,-3.105,-0.343678,-0.494035,-0.146511,-0.410333,-0.202418,-0.302037,-0.309296,-0.285319,-0.237736,-0.306516,-0.274459,-0.0927676,-0.125119,-0.143198,-0.141173,-0.125702,-0.124161,-0.249083,-0.38097,-0.118387,-0.390864,-0.198668,-0.188838,0.0680189 --5918.84,0.903875,0.350484,2,-0.251668,0.00655593,-2.69537,-2.09826,-2.30031,-2.31419,-2.10002,-2.11039,-1.80373,-2.03018,-1.97003,-2.24149,-2.35189,-1.48026,-2.47909,-2.47436,-1.26372,-1.38236,-2.14085,-2.81575,-3.03844,-1.60287,-2.27347,-2.96014,-0.161754,-0.232819,-0.390992,-0.157321,-0.27791,-0.248193,-0.243917,-0.178381,-0.291253,-0.221391,-0.371811,-0.283187,-0.522041,-0.190463,-0.400981,-0.291173,-0.261211,-0.235754,-0.0730738,-0.3494,-0.127081,-0.306723,-0.29521,0.0809687 --5915.79,0.607623,0.350484,2,-0.296594,0.00819593,-2.74758,-2.23744,-2.60034,-2.41475,-2.22301,-2.12555,-1.72875,-2.05143,-1.94471,-2.23591,-2.39024,-1.33589,-2.65667,-2.74756,-1.35889,-1.37681,-1.781,-2.54203,-3.45768,-1.69993,-2.30359,-3.05042,-0.33686,-0.367017,-0.338213,-0.303067,-0.12936,-0.512161,-0.350168,-0.224554,-0.340068,-0.246918,-0.106962,-0.312703,-0.413902,-0.19496,-0.389384,-0.138187,-0.223045,-0.31108,-0.51224,-0.22493,-0.277991,-0.223294,-0.330695,0.0905314 --5916.74,0.654304,0.350484,2,-0.291746,0.00866677,-2.65888,-1.99309,-2.14322,-2.48028,-2.25123,-1.77967,-1.76443,-2.12122,-1.93023,-2.31333,-2.14469,-1.59838,-2.78184,-2.63235,-1.11855,-1.56497,-1.85853,-2.55717,-3.64734,-1.63579,-2.13784,-2.99134,-0.291098,-0.32186,0.174808,-0.251808,-0.323069,-0.16516,-0.263307,-0.235885,-0.390159,-0.296008,-0.35329,-0.289258,-0.356611,-0.139842,-0.284485,-0.221436,-0.302391,-0.386838,-0.0756182,-0.312933,-0.372387,-0.488537,-0.273652,0.0930955 --5922.73,0.620522,0.350484,2,-0.241994,0.0103627,-1.74025,-2.35988,-2.57894,-2.33484,-2.28681,-3.08898,-1.7068,-2.06904,-1.75009,-2.19143,-2.32667,-1.32192,-3.12363,-2.7693,-1.46664,-1.49032,-2.21905,-3.35074,-2.96763,-1.41145,-2.0424,-2.84709,-0.165045,-0.281305,0.0809605,-0.268491,-0.182186,-0.543284,-0.494914,-0.2747,-0.331846,-0.261271,-0.263135,-0.185491,-0.213538,-0.0635962,-0.284195,-0.191772,-0.176581,-0.0655508,-0.44578,-0.188473,-0.298276,-0.089586,-0.241376,0.101797 --5926.34,0.888042,0.350484,2,-0.252924,0.0121863,-1.65067,-2.48111,-2.62105,-2.30025,-2.30324,-2.90442,-1.73765,-2.05565,-1.7503,-2.20629,-2.38653,-1.32054,-3.20388,-2.739,-1.49781,-1.53076,-2.10875,-3.58506,-2.9726,-1.4263,-2.04605,-2.82762,-0.0923245,-0.266353,0.0855565,-0.218081,-0.18694,-0.546653,-0.513716,-0.264961,-0.351687,-0.316036,-0.181949,-0.127845,-0.259449,-0.12134,-0.248225,-0.117458,-0.237821,-0.124145,-0.428261,-0.246123,-0.340385,-0.115597,-0.222085,0.110392 --5918.49,0.889461,0.350484,2,-0.240345,0.0184479,-2.70235,-1.96148,-2.27211,-2.29813,-2.63104,-1.73679,-1.71397,-2.28647,-1.93782,-2.195,-2.33617,-1.5173,-3.02112,-2.67452,-1.41079,-1.40889,-1.96261,-3.26127,-2.9723,-1.26544,-2.30345,-2.98691,-0.204359,-0.236412,-0.277476,-0.404159,-0.308288,-0.275164,-0.312606,-0.147969,-0.622623,-0.330471,-0.264523,-0.291796,-0.485472,-0.124205,-0.255296,-0.2381,-0.171037,-0.0688563,-0.316976,-0.394714,-0.222425,-0.367136,-0.238485,0.135823 --5913.6,0.721186,0.350484,3,-0.205626,0.00533152,-1.93198,-2.44483,-1.87279,-2.48386,-2.32171,-2.65967,-1.8044,-1.95805,-1.99909,-2.27019,-2.32441,-1.43899,-2.94416,-2.6929,-1.56666,-1.55363,-2.18708,-2.80505,-3.61713,-1.55959,-2.11655,-2.95492,-0.157136,-0.192051,-0.126206,-0.195572,-0.111868,-0.300239,-0.112751,-0.161435,0.00845048,-0.215423,-0.117816,-0.191576,-0.202172,-0.108367,-0.209752,-0.167116,-0.233299,-0.270017,0.0481786,-0.144217,-0.385283,-0.145285,-0.246494,0.0730173 --5921.81,0.610389,0.350484,2,-0.138261,0.00885868,-2.83081,-1.47394,-1.65772,-2.47054,-2.42952,-2.34473,-1.69841,-1.9322,-1.8355,-2.39352,-2.35421,-1.47675,-3.06325,-2.8223,-1.57875,-1.46009,-2.01652,-2.95248,-3.85509,-1.4986,-2.17016,-3.12921,-0.138626,-0.518695,-0.180876,-0.102001,-0.157308,0.0210193,-0.363557,-0.342303,-0.310343,-0.159315,-0.0975701,-0.102699,-0.115825,0.0144952,-0.050274,-0.0808988,-0.0152436,-0.157665,0.104873,-0.185443,-0.0843314,-0.197689,-0.0315362,0.0941206 --5922.38,0.376117,0.350484,2,-0.144089,0.009317,-2.67006,-1.50251,-1.66954,-2.50777,-2.43307,-2.31767,-1.63995,-1.96617,-1.92633,-2.39644,-2.36569,-1.46867,-3.03507,-2.76552,-1.5067,-1.39413,-1.92335,-3.04307,-3.91899,-1.53948,-2.18663,-3.17475,-0.0901798,-0.546109,-0.141047,-0.14528,-0.123685,-0.0174762,-0.3576,-0.35523,-0.30443,-0.150618,-0.0720629,-0.107107,-0.0890546,-0.0575545,-0.0956686,-0.0656487,0.016137,-0.0936659,0.0428952,-0.151456,-0.143143,-0.242353,0.016382,0.0965246 --5915.38,1,0.350484,3,-0.171784,0.00404344,-2.71306,-2.80958,-2.55962,-2.43232,-2.40845,-2.13371,-1.77952,-2.21757,-2.01109,-2.24531,-2.47315,-1.5755,-2.91798,-2.67747,-1.468,-1.72809,-2.14773,-3.25765,-2.87538,-1.48415,-2.27772,-2.6998,-0.306161,-0.0454155,-0.182482,-0.245969,-0.218831,-0.118535,-0.318451,-0.041418,-0.163197,-0.195572,-0.234897,-0.16059,-0.197025,0.0680638,-0.220898,-0.144524,-0.0896424,-0.244353,-0.149698,-0.14544,-0.378751,-0.249921,-0.183433,0.063588 --5915.38,0.230821,0.350484,3,-0.171784,0.00404344,-2.71306,-2.80958,-2.55962,-2.43232,-2.40845,-2.13371,-1.77952,-2.21757,-2.01109,-2.24531,-2.47315,-1.5755,-2.91798,-2.67747,-1.468,-1.72809,-2.14773,-3.25765,-2.87538,-1.48415,-2.27772,-2.6998,-0.306161,-0.0454155,-0.182482,-0.245969,-0.218831,-0.118535,-0.318451,-0.041418,-0.163197,-0.195572,-0.234897,-0.16059,-0.197025,0.0680638,-0.220898,-0.144524,-0.0896424,-0.244353,-0.149698,-0.14544,-0.378751,-0.249921,-0.183433,0.063588 --5901.2,0.685729,0.350484,2,-0.277707,0.00265069,-2.34258,-1.96915,-2.05926,-2.43064,-2.34111,-2.04865,-1.6141,-2.15723,-1.85681,-2.29358,-2.28108,-1.60083,-2.88539,-2.6079,-1.36281,-1.35751,-1.85016,-3.16626,-2.84633,-1.38665,-1.91765,-3.03137,-0.192433,-0.365174,-0.300185,-0.160016,-0.232172,-0.272886,-0.447044,-0.297586,-0.318913,-0.28427,-0.196823,-0.218349,-0.257162,-0.231999,-0.252013,-0.27411,-0.280055,-0.201754,-0.310635,-0.319254,-0.218757,-0.278491,-0.32618,0.0514848 --5911.46,0.0365349,0.350484,2,-0.319268,0.00282572,-1.95894,-1.89292,-1.91326,-2.39566,-2.3263,-1.87564,-1.70077,-2.15215,-1.90621,-2.30684,-2.39921,-1.64484,-3.11369,-2.80956,-1.39692,-1.35142,-1.94089,-3.34867,-3.19098,-1.35688,-2.00064,-3.03084,-0.418179,-0.24882,-0.354872,-0.387846,-0.366453,-0.369225,-0.541463,-0.181208,-0.329934,-0.326507,-0.236353,-0.209534,-0.296622,-0.292265,-0.307326,-0.287527,-0.329994,-0.06216,-0.318124,-0.348687,-0.393802,-0.322998,-0.212282,0.0531575 --5911.46,0.000909333,0.350484,3,-0.319268,0.00282572,-1.95894,-1.89292,-1.91326,-2.39566,-2.3263,-1.87564,-1.70077,-2.15215,-1.90621,-2.30684,-2.39921,-1.64484,-3.11369,-2.80956,-1.39692,-1.35142,-1.94089,-3.34867,-3.19098,-1.35688,-2.00064,-3.03084,-0.418179,-0.24882,-0.354872,-0.387846,-0.366453,-0.369225,-0.541463,-0.181208,-0.329934,-0.326507,-0.236353,-0.209534,-0.296622,-0.292265,-0.307326,-0.287527,-0.329994,-0.06216,-0.318124,-0.348687,-0.393802,-0.322998,-0.212282,0.0531575 --5910.37,0.494664,0.350484,2,-0.328655,0.00730748,-1.98218,-2.08775,-1.79528,-2.30416,-2.26944,-2.65054,-1.63186,-2.07288,-1.70938,-2.31132,-2.40037,-1.5606,-2.955,-2.78162,-1.33247,-1.24377,-2.09638,-2.96815,-3.22983,-1.49315,-2.02338,-3.01432,-0.41039,-0.374979,-0.377312,-0.319029,-0.309432,-0.426929,-0.457076,-0.0325797,-0.413043,-0.296602,-0.300464,-0.183539,-0.406451,-0.205871,-0.312997,-0.289379,-0.302311,-0.244587,-0.227042,-0.358108,-0.364734,-0.32599,-0.429309,0.0854838 --5919.13,0.567163,0.350484,3,-0.289884,0.00610635,-2.42578,-2.25628,-2.34171,-2.41231,-2.45522,-1.73217,-1.67166,-2.27575,-2.15025,-2.21701,-2.0618,-1.37441,-2.96861,-2.61436,-1.2559,-1.58132,-1.51647,-2.75285,-3.77966,-1.57918,-2.23892,-2.69049,-0.210899,-0.23984,-0.316129,-0.207761,-0.293669,-0.30309,-0.457451,-0.388095,-0.245621,-0.347291,-0.350414,-0.313407,-0.230994,0.0612792,-0.360001,-0.371123,-0.340023,-0.422892,-0.287295,-0.172874,-0.305487,-0.468635,-0.187439,0.0781431 --5919.88,0.93404,0.350484,3,-0.263351,0.0102233,-1.9997,-2.19827,-1.92254,-2.37917,-2.26012,-2.41125,-1.7236,-1.92017,-1.96902,-2.28876,-2.38895,-1.54796,-2.73317,-2.81492,-1.51232,-1.48713,-2.17848,-3.31505,-3.16319,-1.55445,-1.98853,-2.8781,-0.337227,-0.0493856,-0.260584,-0.308107,-0.205341,-0.275906,-0.291591,-0.0852277,-0.287368,-0.221454,-0.289771,-0.154804,-0.427435,-0.165055,-0.186467,-0.0117765,-0.229833,0.301116,-0.138732,-0.26843,-0.34424,-0.4437,-0.373086,0.10111 --5917.35,0.476741,0.350484,3,-0.231563,0.00761298,-3.28459,-2.15668,-2.54233,-2.3992,-2.45512,-2.80629,-1.63653,-2.17767,-1.97767,-2.17878,-2.26775,-1.40951,-3.30038,-2.84842,-1.18478,-1.59018,-2.01676,-2.94383,-3.61365,-1.39513,-2.2156,-2.90412,-0.30604,-0.426936,-0.193534,-0.180487,0.0806569,-0.424338,-0.434043,-0.0530488,-0.208038,-0.31705,-0.2373,-0.194871,-0.0827045,-0.0891842,-0.271407,-0.308015,-0.273584,-0.342981,-0.0715985,-0.227671,-0.233852,-0.198572,-0.125399,0.0872524 --5910.53,0.770175,0.350484,3,-0.256432,0.00291435,-1.82882,-2.25221,-2.04347,-2.38138,-2.39712,-1.75569,-1.78033,-1.92001,-2.05544,-2.2668,-2.27135,-1.46391,-2.47895,-2.75132,-1.54009,-1.60659,-2.07871,-3.19849,-3.09176,-1.55624,-2.09862,-2.82551,-0.458563,-0.34468,-0.280519,-0.222221,-0.21059,-0.507893,-0.318179,-0.24413,-0.320563,-0.273302,-0.303028,-0.227802,-0.234787,-0.216678,-0.214529,-0.28794,-0.314879,-0.276163,-0.169397,-0.238622,-0.317825,-0.237437,-0.0865882,0.0539847 --5910.53,0.131899,0.350484,2,-0.256432,0.00291435,-1.82882,-2.25221,-2.04347,-2.38138,-2.39712,-1.75569,-1.78033,-1.92001,-2.05544,-2.2668,-2.27135,-1.46391,-2.47895,-2.75132,-1.54009,-1.60659,-2.07871,-3.19849,-3.09176,-1.55624,-2.09862,-2.82551,-0.458563,-0.34468,-0.280519,-0.222221,-0.21059,-0.507893,-0.318179,-0.24413,-0.320563,-0.273302,-0.303028,-0.227802,-0.234787,-0.216678,-0.214529,-0.28794,-0.314879,-0.276163,-0.169397,-0.238622,-0.317825,-0.237437,-0.0865882,0.0539847 --5916.37,0.80215,0.350484,2,-0.315803,0.00412579,-2.875,-2.16864,-2.07972,-2.389,-2.42246,-2.52345,-1.67752,-2.1648,-1.88095,-2.26394,-2.4012,-1.27769,-3.4672,-2.65541,-1.25803,-1.27551,-1.80825,-2.918,-3.52318,-1.57871,-2.1898,-2.84268,-0.0189743,-0.391924,-0.300976,-0.349524,-0.234495,-0.0636952,-0.28003,-0.350751,-0.321569,-0.341511,-0.11293,-0.406953,-0.236105,-0.203209,-0.24973,-0.330907,-0.346907,-0.210878,-0.36718,-0.298022,-0.331395,-0.391397,-0.500206,0.0642323 --5921.47,0.912455,0.350484,3,-0.305424,0.0109663,-3.02764,-2.10137,-1.94775,-2.35295,-2.32142,-2.3684,-1.81015,-1.90303,-1.74187,-2.32206,-2.26862,-1.4875,-3.15651,-2.58538,-1.51732,-1.33596,-2.03891,-2.40242,-3.18238,-1.41058,-2.15446,-2.95463,-0.712882,-0.222747,-0.519947,-0.238175,-0.198655,-0.376196,-0.400434,-0.289982,-0.503996,-0.169526,-0.17639,-0.226004,-0.502386,-0.223657,-0.34926,-0.282808,-0.205286,-0.453895,-0.19574,-0.331164,-0.319083,-0.276944,-0.261375,0.10472 --5919.53,0.882579,0.350484,2,-0.353924,0.0131629,-2.1212,-1.96534,-2.27058,-2.429,-2.4491,-1.80097,-1.66019,-2.30682,-1.7945,-2.30055,-2.38187,-1.38762,-3.07049,-2.79578,-1.20139,-1.45978,-1.87495,-3.12346,-2.98802,-1.67217,-2.00648,-2.77928,-0.371511,-0.350204,-0.440376,-0.18213,-0.437646,-0.225133,-0.369751,-0.334461,-0.603055,-0.181415,-0.373208,-0.355662,-0.213275,-0.21187,-0.334623,-0.225872,-0.396685,-0.296587,-0.377236,-0.242268,-0.399167,-0.501265,-0.47145,0.11473 --5927.99,0.716309,0.350484,3,-0.257251,0.0404747,-2.55404,-2.05056,-2.22531,-2.46674,-2.31299,-2.99684,-1.5751,-1.90697,-1.92473,-2.2614,-2.2924,-1.59937,-2.90307,-2.5764,-1.39989,-1.32405,-2.30686,-2.57811,-3.46137,-1.60691,-2.17105,-2.97948,-0.206146,-0.419741,-0.0798066,-0.227362,-0.064908,-0.100094,-0.619105,-0.140289,-0.102005,-0.321029,-0.145862,-0.057631,-0.513789,-0.154965,-0.610559,-0.446122,0.00600668,-0.272101,-0.253278,-0.14398,-0.316124,-0.198169,-0.194386,0.201183 --5925.9,0.972123,0.350484,2,-0.262979,0.0188366,-2.31049,-1.87067,-1.89926,-2.4435,-2.24557,-2.75725,-1.50542,-2.20643,-2.04675,-2.23994,-2.44048,-1.5942,-3.11903,-2.77984,-1.20429,-1.24886,-2.05996,-2.90047,-3.26421,-1.54506,-1.98871,-3.00133,-0.311747,-0.435832,-0.0557024,-0.212135,-0.039384,-0.00914778,-0.58678,-0.221946,-0.205754,-0.378377,-0.299448,-0.153211,-0.471866,0.00098121,-0.461766,-0.407237,-0.0848775,-0.350515,-0.0435722,0.0155876,-0.419059,-0.19829,-0.424745,0.137247 --5928.63,0.959105,0.350484,3,-0.156068,0.0114255,-2.40057,-2.27229,-2.22054,-2.28536,-2.50141,-1.62944,-1.66358,-2.00266,-1.98761,-2.1716,-2.3062,-1.56546,-3.37879,-2.68523,-1.45982,-1.35137,-2.3533,-2.69812,-3.07278,-1.57527,-2.16985,-2.78834,0.0300982,-0.151809,-0.225152,-0.29241,-0.247971,-0.337317,-0.676023,-0.145509,-0.102933,-0.256157,-0.0707015,0.139161,-0.0682186,-0.104273,-0.142617,-0.284096,0.0665272,-0.0675022,-0.511355,-0.154525,-0.184189,-0.599715,-0.061271,0.10689 --5926.49,0.594346,0.350484,2,-0.20879,0.00949066,-2.1889,-2.19319,-2.05696,-2.50708,-2.59725,-3.18552,-1.55176,-2.31447,-2.02892,-2.41863,-2.41745,-1.53835,-2.99845,-2.68905,-1.50373,-1.61569,-2.03854,-3.49564,-3.93081,-1.45919,-2.23229,-2.81408,-0.401662,-0.29627,-0.199828,-0.168628,0.301538,-0.0965525,-0.387263,-0.152832,-0.268589,-0.158404,-0.218267,-0.277767,-0.0906373,0.0577614,-0.0673385,-0.13115,-0.0374422,-0.177361,0.0807827,-0.216025,-0.282103,-0.244387,-0.234729,0.09742 --5931.52,0.503069,0.350484,3,-0.247269,0.0523055,-2.10808,-1.91573,-2.31187,-2.24662,-2.67724,-2.10303,-1.66481,-2.15058,-1.96132,-2.15869,-2.3477,-1.77853,-3.00715,-2.83867,-1.17014,-1.46879,-1.88903,-3.41705,-3.04003,-1.54187,-2.18296,-3.06454,-0.425274,-0.306639,0.135145,-0.397657,-0.0867369,-0.410406,-0.253849,-0.23093,-0.252264,-0.404718,-0.304432,0.37456,-0.568644,0.258061,-0.275698,-0.0919154,-0.224836,0.31688,-0.157675,-0.0795245,-0.454348,-0.234019,-0.0275054,0.228704 --5919.83,0.908513,0.350484,2,-0.152446,0.0272154,-2.5782,-2.34326,-1.80225,-2.40193,-2.41626,-2.04463,-1.73254,-2.22565,-2.09259,-2.21007,-2.20221,-1.62212,-2.70025,-2.87162,-1.30512,-1.61315,-1.97452,-3.15598,-3.54061,-1.61907,-1.97654,-2.85626,0.147908,-0.356212,-0.347583,-0.291819,0.00593237,-0.104992,-0.519638,0.0450012,-0.0568009,-0.340972,-0.198244,-0.031863,-0.121136,0.0128693,-0.197263,-0.195384,-0.233752,-0.202241,-0.251619,-0.0356,-0.363879,-0.333537,-0.199715,0.164971 --5915.08,0.964572,0.350484,3,-0.251424,0.00515432,-2.23926,-2.30725,-2.22546,-2.46226,-2.38315,-2.13324,-1.79263,-1.95692,-2.14218,-2.28605,-2.28302,-1.45912,-3.06136,-2.96371,-1.36309,-1.57567,-2.17603,-3.35134,-3.57213,-1.37775,-2.17769,-2.93134,-0.49171,-0.328518,-0.167325,-0.233297,-0.122493,-0.0628936,-0.422186,-0.275279,-0.172496,-0.230455,-0.126009,-0.327315,-0.201203,-0.0262953,-0.227739,-0.250694,-0.212924,-0.185174,-0.291237,-0.331975,-0.148168,-0.26906,-0.371295,0.0717936 --5927.95,0.971291,0.350484,2,-0.270625,0.0202377,-1.8411,-1.71896,-1.87448,-2.35656,-2.51455,-2.45065,-1.57273,-2.28035,-1.93423,-2.16865,-2.20117,-1.22053,-3.42215,-2.6898,-1.35175,-1.21626,-2.08756,-2.29212,-3.54815,-1.29197,-2.05508,-2.97511,-0.25979,-0.138572,-0.390361,-0.208784,-0.252628,-0.428525,-0.543115,-0.107517,-0.209854,-0.352855,-0.343762,-0.125879,-0.236265,-0.182086,-0.157588,-0.153553,-0.135499,-0.267599,-0.129745,-0.411701,-0.487983,-0.317069,-0.0943054,0.142259 --5929.85,0.836788,0.350484,2,-0.288247,0.0209918,-2.94921,-2.33642,-2.22259,-2.46264,-2.58722,-2.27536,-1.71129,-2.0855,-1.99897,-2.374,-2.39795,-1.57383,-2.9951,-2.60304,-1.42629,-1.83485,-1.94536,-3.01809,-3.73951,-1.41361,-1.9839,-2.77955,-0.0701297,-0.45814,-0.588174,-0.168098,-0.22793,-0.038825,-0.44833,-0.15059,-0.446822,-0.128671,-0.263407,-0.30902,-0.258234,-0.213638,-0.46991,-0.462911,-0.193723,-0.416088,-0.43925,-0.434589,-0.292644,-0.439366,-0.257048,0.144885 --5924.9,0.929982,0.350484,2,-0.300139,0.00890869,-2.5313,-1.94188,-1.50705,-2.32416,-2.59705,-1.7251,-1.60123,-2.27392,-2.08401,-2.25941,-2.32388,-1.46165,-2.75135,-2.6521,-1.27502,-1.74055,-1.88003,-2.44522,-3.27458,-1.28552,-2.14825,-2.7711,-0.306356,-0.298046,-0.344421,-0.20915,-0.261312,-0.363642,-0.616948,-0.175647,-0.13612,-0.329709,-0.125691,-0.153024,-0.377219,-0.184875,-0.296787,-0.344439,-0.0628627,-0.412482,-0.0989426,-0.426574,-0.515569,-0.373637,-0.160113,0.0943859 --5918.45,0.999732,0.350484,2,-0.291225,0.00786622,-2.62713,-2.1321,-2.15244,-2.41902,-2.4881,-1.80517,-1.64059,-2.16894,-1.99177,-2.29744,-2.25207,-1.52684,-3.04065,-2.54906,-1.21758,-1.63786,-1.8588,-2.94072,-2.88839,-1.26704,-1.90768,-2.55541,-0.435673,-0.321778,-0.279938,-0.306428,-0.245248,-0.450898,-0.60846,-0.189956,-0.170818,-0.277155,-0.375163,-0.339851,-0.272328,-0.287153,-0.324178,-0.329298,-0.285164,-0.24169,-0.156964,-0.278801,-0.252091,-0.277585,-0.447843,0.0886917 --5913.07,0.00223479,0.350484,2,-0.299146,0.0082762,-2.70589,-2.05597,-1.982,-2.3366,-2.48198,-1.72213,-1.62884,-2.10025,-2.00034,-2.31161,-2.3502,-1.42481,-3.04521,-2.46607,-1.15708,-1.63669,-1.91472,-2.69954,-2.90716,-1.42442,-2.03277,-2.65589,-0.337854,-0.252954,-0.279267,-0.319023,-0.354511,-0.350754,-0.504592,-0.199393,-0.214707,-0.288616,-0.412402,-0.318244,-0.250684,-0.171323,-0.240882,-0.227584,-0.242955,-0.278545,-0.191506,-0.327521,-0.26049,-0.241669,-0.334877,0.0909736 --5916.24,0.00718162,0.350484,2,-0.298791,0.00154738,-2.74863,-2.09489,-1.8593,-2.2663,-2.59936,-2.49361,-1.5023,-2.11429,-2.06834,-2.21781,-2.20121,-1.48193,-3.52753,-2.73867,-1.10279,-1.53583,-1.71737,-2.57794,-3.06113,-1.38026,-1.80396,-2.69483,-0.239473,-0.424378,-0.276092,-0.287111,-0.194363,-0.249952,-0.57207,-0.238303,-0.306842,-0.318862,-0.236943,-0.211157,-0.319302,-0.348651,-0.285236,-0.310453,-0.349378,-0.305308,-0.363926,-0.256426,-0.37507,-0.336359,-0.29099,0.0393367 --5916.24,0.000196023,0.350484,2,-0.298791,0.00154738,-2.74863,-2.09489,-1.8593,-2.2663,-2.59936,-2.49361,-1.5023,-2.11429,-2.06834,-2.21781,-2.20121,-1.48193,-3.52753,-2.73867,-1.10279,-1.53583,-1.71737,-2.57794,-3.06113,-1.38026,-1.80396,-2.69483,-0.239473,-0.424378,-0.276092,-0.287111,-0.194363,-0.249952,-0.57207,-0.238303,-0.306842,-0.318862,-0.236943,-0.211157,-0.319302,-0.348651,-0.285236,-0.310453,-0.349378,-0.305308,-0.363926,-0.256426,-0.37507,-0.336359,-0.29099,0.0393367 --5916.24,0.000775168,0.350484,3,-0.298791,0.00154738,-2.74863,-2.09489,-1.8593,-2.2663,-2.59936,-2.49361,-1.5023,-2.11429,-2.06834,-2.21781,-2.20121,-1.48193,-3.52753,-2.73867,-1.10279,-1.53583,-1.71737,-2.57794,-3.06113,-1.38026,-1.80396,-2.69483,-0.239473,-0.424378,-0.276092,-0.287111,-0.194363,-0.249952,-0.57207,-0.238303,-0.306842,-0.318862,-0.236943,-0.211157,-0.319302,-0.348651,-0.285236,-0.310453,-0.349378,-0.305308,-0.363926,-0.256426,-0.37507,-0.336359,-0.29099,0.0393367 --5908.73,6.1183e-08,0.350484,2,-0.277692,0.00232264,-2.72437,-2.02132,-1.81353,-2.28316,-2.54556,-2.24441,-1.55568,-2.0537,-2.07857,-2.2564,-2.19901,-1.58421,-3.52776,-2.73244,-1.19317,-1.50927,-1.80383,-2.47452,-3.22771,-1.40172,-1.94569,-2.70104,-0.247761,-0.362737,-0.307257,-0.25584,-0.16719,-0.277808,-0.527376,-0.268197,-0.305657,-0.337509,-0.249817,-0.208736,-0.340686,-0.280229,-0.348515,-0.290845,-0.270314,-0.370525,-0.357179,-0.301448,-0.358867,-0.332053,-0.249451,0.0481937 --5906.9,0.101172,0.350484,2,-0.299236,0.00258954,-2.89185,-2.06414,-1.68307,-2.30149,-2.52465,-2.19175,-1.58159,-2.17935,-2.06806,-2.23185,-2.22647,-1.63157,-3.41821,-2.63186,-1.17236,-1.50197,-1.81903,-2.38381,-3.27769,-1.42888,-2.05722,-2.71869,-0.2453,-0.333212,-0.239887,-0.283353,-0.195236,-0.214012,-0.567183,-0.296314,-0.28533,-0.352568,-0.246108,-0.309875,-0.298239,-0.295971,-0.359018,-0.285456,-0.314851,-0.308983,-0.308997,-0.258362,-0.315566,-0.442685,-0.351135,0.0508876 --5906.9,0.12215,0.350484,3,-0.299236,0.00258954,-2.89185,-2.06414,-1.68307,-2.30149,-2.52465,-2.19175,-1.58159,-2.17935,-2.06806,-2.23185,-2.22647,-1.63157,-3.41821,-2.63186,-1.17236,-1.50197,-1.81903,-2.38381,-3.27769,-1.42888,-2.05722,-2.71869,-0.2453,-0.333212,-0.239887,-0.283353,-0.195236,-0.214012,-0.567183,-0.296314,-0.28533,-0.352568,-0.246108,-0.309875,-0.298239,-0.295971,-0.359018,-0.285456,-0.314851,-0.308983,-0.308997,-0.258362,-0.315566,-0.442685,-0.351135,0.0508876 --5906.9,0.00284625,0.350484,3,-0.299236,0.00258954,-2.89185,-2.06414,-1.68307,-2.30149,-2.52465,-2.19175,-1.58159,-2.17935,-2.06806,-2.23185,-2.22647,-1.63157,-3.41821,-2.63186,-1.17236,-1.50197,-1.81903,-2.38381,-3.27769,-1.42888,-2.05722,-2.71869,-0.2453,-0.333212,-0.239887,-0.283353,-0.195236,-0.214012,-0.567183,-0.296314,-0.28533,-0.352568,-0.246108,-0.309875,-0.298239,-0.295971,-0.359018,-0.285456,-0.314851,-0.308983,-0.308997,-0.258362,-0.315566,-0.442685,-0.351135,0.0508876 --5906.9,0.550422,0.350484,2,-0.299236,0.00258954,-2.89185,-2.06414,-1.68307,-2.30149,-2.52465,-2.19175,-1.58159,-2.17935,-2.06806,-2.23185,-2.22647,-1.63157,-3.41821,-2.63186,-1.17236,-1.50197,-1.81903,-2.38381,-3.27769,-1.42888,-2.05722,-2.71869,-0.2453,-0.333212,-0.239887,-0.283353,-0.195236,-0.214012,-0.567183,-0.296314,-0.28533,-0.352568,-0.246108,-0.309875,-0.298239,-0.295971,-0.359018,-0.285456,-0.314851,-0.308983,-0.308997,-0.258362,-0.315566,-0.442685,-0.351135,0.0508876 --5903.11,2.2083e-08,0.350484,2,-0.275548,0.0022825,-2.81408,-2.1159,-1.72847,-2.31112,-2.45895,-2.16794,-1.58545,-2.16027,-2.03077,-2.23431,-2.23348,-1.60113,-3.48357,-2.65919,-1.19629,-1.48023,-1.89629,-2.46291,-3.40436,-1.46389,-1.98965,-2.68716,-0.271927,-0.28205,-0.292221,-0.274498,-0.213023,-0.301938,-0.535598,-0.289249,-0.268568,-0.320637,-0.302851,-0.303368,-0.30126,-0.318615,-0.395886,-0.23553,-0.235043,-0.305269,-0.216816,-0.238237,-0.336297,-0.334814,-0.312464,0.0477755 --5904.45,0.00134513,0.350484,2,-0.29248,0.00230529,-2.65037,-2.15887,-1.77476,-2.29423,-2.37463,-2.23501,-1.59576,-2.15084,-2.03462,-2.25558,-2.26875,-1.5594,-3.44989,-2.631,-1.13835,-1.56284,-1.9596,-2.49329,-3.49306,-1.53832,-1.96958,-2.66218,-0.315055,-0.381925,-0.301848,-0.28916,-0.273308,-0.270508,-0.501594,-0.304166,-0.268353,-0.29412,-0.301225,-0.263996,-0.329362,-0.160385,-0.382094,-0.200975,-0.238745,-0.270504,-0.161323,-0.292782,-0.270123,-0.265726,-0.277236,0.0480135 --5904.45,1.01861e-14,0.350484,2,-0.29248,0.00230529,-2.65037,-2.15887,-1.77476,-2.29423,-2.37463,-2.23501,-1.59576,-2.15084,-2.03462,-2.25558,-2.26875,-1.5594,-3.44989,-2.631,-1.13835,-1.56284,-1.9596,-2.49329,-3.49306,-1.53832,-1.96958,-2.66218,-0.315055,-0.381925,-0.301848,-0.28916,-0.273308,-0.270508,-0.501594,-0.304166,-0.268353,-0.29412,-0.301225,-0.263996,-0.329362,-0.160385,-0.382094,-0.200975,-0.238745,-0.270504,-0.161323,-0.292782,-0.270123,-0.265726,-0.277236,0.0480135 --5904.45,0.435885,0.350484,2,-0.29248,0.00230529,-2.65037,-2.15887,-1.77476,-2.29423,-2.37463,-2.23501,-1.59576,-2.15084,-2.03462,-2.25558,-2.26875,-1.5594,-3.44989,-2.631,-1.13835,-1.56284,-1.9596,-2.49329,-3.49306,-1.53832,-1.96958,-2.66218,-0.315055,-0.381925,-0.301848,-0.28916,-0.273308,-0.270508,-0.501594,-0.304166,-0.268353,-0.29412,-0.301225,-0.263996,-0.329362,-0.160385,-0.382094,-0.200975,-0.238745,-0.270504,-0.161323,-0.292782,-0.270123,-0.265726,-0.277236,0.0480135 --5904.45,0.104287,0.350484,2,-0.29248,0.00230529,-2.65037,-2.15887,-1.77476,-2.29423,-2.37463,-2.23501,-1.59576,-2.15084,-2.03462,-2.25558,-2.26875,-1.5594,-3.44989,-2.631,-1.13835,-1.56284,-1.9596,-2.49329,-3.49306,-1.53832,-1.96958,-2.66218,-0.315055,-0.381925,-0.301848,-0.28916,-0.273308,-0.270508,-0.501594,-0.304166,-0.268353,-0.29412,-0.301225,-0.263996,-0.329362,-0.160385,-0.382094,-0.200975,-0.238745,-0.270504,-0.161323,-0.292782,-0.270123,-0.265726,-0.277236,0.0480135 --5904.45,0.00151195,0.350484,2,-0.29248,0.00230529,-2.65037,-2.15887,-1.77476,-2.29423,-2.37463,-2.23501,-1.59576,-2.15084,-2.03462,-2.25558,-2.26875,-1.5594,-3.44989,-2.631,-1.13835,-1.56284,-1.9596,-2.49329,-3.49306,-1.53832,-1.96958,-2.66218,-0.315055,-0.381925,-0.301848,-0.28916,-0.273308,-0.270508,-0.501594,-0.304166,-0.268353,-0.29412,-0.301225,-0.263996,-0.329362,-0.160385,-0.382094,-0.200975,-0.238745,-0.270504,-0.161323,-0.292782,-0.270123,-0.265726,-0.277236,0.0480135 --5913.86,0.60696,0.350484,3,-0.315273,0.00571924,-1.88371,-1.90927,-2.43403,-2.42611,-2.35746,-2.09205,-1.64711,-2.08131,-2.01903,-2.19351,-2.34565,-1.28716,-2.60737,-2.65887,-1.63693,-1.27382,-1.88324,-3.33839,-4.34491,-1.59439,-2.2167,-3.18254,-0.455361,-0.388765,-0.244439,-0.280287,-0.297884,-0.362405,-0.397326,-0.293695,-0.243906,-0.444768,-0.332393,-0.199815,-0.356047,-0.146868,-0.199639,-0.424243,-0.334657,-0.284414,-0.261866,-0.250498,-0.305174,-0.331414,-0.31378,0.0756257 --5913.36,0.453015,0.350484,3,-0.240773,0.00765566,-1.62202,-1.85488,-2.18892,-2.32043,-2.58664,-2.67632,-1.58792,-2.03312,-2.04549,-2.12073,-2.37564,-1.57376,-2.71116,-2.75681,-1.40305,-1.62707,-1.94974,-3.04005,-4.12831,-1.4052,-2.14665,-3.11836,-0.165039,-0.303103,-0.292946,-0.320356,-0.0676076,-0.234625,-0.3388,-0.280414,-0.323675,-0.443043,-0.321529,-0.256032,-0.303777,-0.088035,-0.286966,-0.208661,-0.152904,-0.278725,-0.255353,-0.283004,-0.327143,-0.265072,-0.304922,0.0874966 --5917.85,0.881833,0.350484,2,-0.262664,0.00992353,-2.98563,-2.40376,-2.36671,-2.46249,-2.23003,-2.23771,-1.80177,-2.10285,-1.93587,-2.42102,-2.25374,-1.3711,-3.23746,-2.87739,-1.34181,-1.25193,-1.90338,-2.94413,-2.98846,-1.68532,-2.0892,-3.08108,-0.222931,-0.13383,-0.305178,-0.135562,-0.393648,-0.39442,-0.34109,-0.319918,-0.246972,-0.0508616,-0.210893,-0.221592,-0.166366,0.0311395,-0.161328,-0.342528,-0.297832,-0.278482,-0.230088,-0.183471,-0.203197,-0.200334,-0.30193,0.0996169 --5917.58,0.793636,0.350484,2,-0.226559,0.00425187,-1.92906,-2.59398,-2.49924,-2.48889,-2.26692,-2.03398,-1.78134,-2.08704,-1.8865,-2.22842,-2.21263,-1.56206,-2.78276,-2.765,-1.27038,-1.14063,-1.99206,-3.20691,-2.83814,-1.70695,-1.88738,-2.85821,-0.210352,-0.317376,-0.313266,-0.198616,-0.109903,-0.177958,-0.170167,-0.162881,-0.196887,-0.205911,-0.266614,-0.151032,-0.277466,0.0679962,-0.262861,-0.2134,-0.139409,-0.117448,-0.210608,-0.245311,-0.389532,-0.420992,-0.319707,0.0652064 --5923.21,0.862971,0.350484,3,-0.233446,0.00618618,-1.74855,-2.42124,-2.31206,-2.42379,-2.20319,-2.05145,-1.68335,-2.05902,-2.06193,-2.32012,-2.19954,-1.42528,-3.35951,-2.73889,-1.3412,-1.69669,-2.13635,-3.02908,-3.62347,-1.65677,-1.86279,-2.76385,-0.276064,-0.21465,-0.241276,-0.171329,-0.222982,-0.328851,-0.366204,-0.425655,-0.0821902,-0.25461,-0.296818,-0.14369,-0.241481,-0.155048,-0.130785,0.30123,-0.207534,-0.359745,-0.0204158,-0.339001,-0.284986,-0.348397,-0.245411,0.0786523 --5920.7,0.729567,0.350484,2,-0.235393,0.00614101,-2.9021,-2.14376,-2.01365,-2.46888,-2.48819,-2.51707,-1.57468,-2.1423,-2.0388,-2.15063,-2.17753,-1.52048,-3.21501,-2.61216,-1.09478,-1.76281,-2.24505,-2.78906,-3.22083,-1.4823,-2.18042,-3.04913,-0.268456,-0.451094,-0.378594,-0.275359,-0.22821,-0.198068,-0.340375,-0.103882,-0.421067,-0.310832,-0.278584,-0.330517,-0.255352,-0.20499,-0.536901,0.137137,-0.244925,-0.17175,-0.25141,-0.147128,-0.351286,-0.219607,-0.202612,0.0783646 --5934.12,0.765613,0.350484,2,-0.267848,0.0171987,-1.69467,-2.05745,-2.22135,-2.36181,-2.59553,-1.73609,-1.64595,-2.05373,-1.45973,-2.24572,-2.38626,-1.41596,-2.80964,-2.81154,-1.01501,-1.68129,-1.73305,-2.74744,-2.81307,-1.59037,-2.06949,-2.41434,-0.208245,-0.157094,-0.106405,-0.201096,-0.0954612,-0.365371,-0.47732,-0.192307,-0.303038,-0.375983,-0.276108,-0.147808,-0.224473,-0.0782858,-0.282443,0.0263601,-0.166088,-0.168669,-0.405248,-0.110569,-0.317868,-0.497942,-0.0228767,0.131144 --5922.14,1,0.350484,2,-0.214297,0.0135014,-2.93642,-2.52618,-2.47694,-2.3522,-2.4199,-2.23785,-1.83496,-2.30657,-2.08234,-2.12265,-2.24405,-1.59693,-3.10392,-2.70691,-1.42459,-1.53227,-1.99432,-2.96476,-3.75145,-1.56799,-2.24675,-3.00044,-0.157498,-0.293966,-0.226081,-0.31103,-0.185669,-0.0626329,-0.130169,-0.109004,-0.460625,-0.331193,-0.128086,-0.130992,-0.206,-0.0570039,-0.16291,-0.174205,-0.316789,-0.199342,0.05674,-0.240172,-0.159991,-0.683361,-0.335733,0.116196 --5917.47,0.990833,0.350484,3,-0.290578,0.0040786,-1.57894,-1.75493,-1.72391,-2.40349,-2.21057,-2.03595,-1.71339,-2.00915,-1.95741,-2.3427,-2.45663,-1.32672,-2.88127,-2.88903,-1.48803,-1.20792,-1.91335,-2.7158,-3.70159,-1.39121,-2.06881,-2.53577,-0.315188,-0.230336,-0.323242,-0.230301,-0.261769,-0.303477,-0.497691,-0.263873,-0.0310752,-0.243859,-0.262413,-0.306717,-0.245717,0.00808431,-0.270942,-0.320304,-0.218739,-0.218902,-0.353336,-0.244894,-0.288841,-0.423964,-0.281841,0.0638639 --5906.16,0.860191,0.350484,2,-0.247394,0.00311051,-2.86793,-2.90468,-2.19188,-2.44313,-2.53751,-2.19296,-1.70094,-2.23909,-1.94147,-2.19491,-2.2484,-1.24985,-3.21777,-2.62846,-1.25001,-1.57817,-1.91421,-2.89301,-3.51541,-1.47313,-2.15657,-3.11326,-0.128826,-0.265987,-0.236757,-0.249005,-0.204565,-0.172321,-0.207508,-0.202153,-0.442566,-0.296939,-0.211968,-0.255582,-0.310309,-0.141102,-0.242248,-0.20128,-0.25066,-0.276813,-0.162174,-0.284503,-0.275263,-0.175003,-0.230859,0.0557719 --5909.72,0.412182,0.350484,2,-0.290735,0.0111183,-2.98504,-2.2134,-1.97101,-2.44001,-2.2327,-2.42019,-1.70087,-2.0685,-2.05435,-2.34392,-2.13248,-1.40681,-3.07269,-2.74322,-1.30865,-1.67499,-1.97918,-2.65686,-3.12345,-1.31766,-2.11404,-2.64237,-0.306591,-0.194963,-0.338222,-0.239532,-0.250481,-0.28838,-0.412958,-0.191074,-0.327947,-0.238376,-0.319469,-0.250081,-0.337079,-0.123918,-0.222228,-0.0814275,-0.224618,-0.217314,-0.321892,-0.16844,-0.285038,-0.395344,-0.320051,0.105443 --5911.73,0.928446,0.350484,3,-0.230315,0.00340093,-1.92218,-2.14781,-2.32917,-2.38365,-2.55213,-2.01075,-1.77993,-2.1339,-1.95218,-2.19893,-2.45177,-1.52056,-2.91875,-2.62873,-1.36256,-1.24362,-1.98237,-3.23865,-3.8487,-1.66843,-2.21046,-3.23421,-0.181868,-0.19186,-0.300186,-0.265077,-0.197066,-0.29147,-0.256343,-0.191659,-0.0907666,-0.243812,-0.0875322,-0.101124,-0.306288,-0.12672,-0.225119,-0.193054,-0.231688,-0.298857,0.0678175,-0.295604,-0.281752,-0.295349,-0.197327,0.0583175 --5915.54,0.96116,0.350484,2,-0.156959,0.00523419,-2.62137,-2.01265,-1.97202,-2.49789,-2.27269,-1.85765,-1.70768,-2.13906,-1.88476,-2.24007,-2.36574,-1.42761,-2.80721,-2.77958,-1.43922,-1.59686,-1.71055,-3.41044,-4.68134,-1.39267,-2.1047,-2.99346,-0.159447,-0.153864,-0.0640848,-0.0995195,-0.138506,-0.149849,-0.398677,-0.149169,-0.281021,-0.194784,-0.286177,-0.224563,-0.102454,-0.0675502,-0.15474,-0.17265,-0.163679,-0.051803,-0.00276812,-0.0320103,-0.114302,-0.0631206,-0.138212,0.0723477 --5917.62,0.767534,0.350484,2,-0.186559,0.00531222,-2.0527,-2.27183,-2.22414,-2.39962,-2.53913,-2.74407,-1.73497,-2.28682,-1.95903,-2.29653,-2.36821,-1.61268,-3.0398,-2.6125,-1.4273,-1.48288,-2.32948,-2.62167,-3.25661,-1.74902,-2.35498,-3.05485,-0.250898,-0.212919,-0.384846,-0.247021,-0.158175,-0.295295,-0.226297,-0.0930612,-0.171534,-0.270518,-0.0437973,-0.0344603,-0.259011,-0.18067,-0.239428,-0.150195,-0.131403,-0.187387,-0.335136,-0.307388,-0.442109,-0.295658,-0.126752,0.072885 --5919.48,0.994642,0.350484,3,-0.167137,0.00620846,-2.70814,-2.12227,-1.93519,-2.42226,-2.28886,-1.84189,-1.68977,-1.94627,-2.07551,-2.31465,-2.38573,-1.54377,-3.03152,-2.86599,-1.51,-1.46889,-1.9246,-3.28393,-3.7408,-1.23601,-1.75941,-2.88607,0.00208697,-0.253402,-0.0497248,-0.140914,-0.134197,-0.168823,-0.558727,-0.302305,-0.201453,-0.202302,-0.167533,-0.0842362,-0.192026,0.147398,-0.133628,-0.179801,-0.00208466,-0.0536428,-0.163629,-0.160254,-0.220518,-0.124449,-0.219302,0.0787938 --5917.44,0.925602,0.350484,2,-0.22666,0.00669575,-1.89421,-2.43098,-2.35527,-2.41514,-2.40378,-2.67905,-1.70893,-2.40688,-2.16783,-2.27862,-2.36645,-1.30819,-3.30555,-2.82261,-1.26324,-1.52071,-2.08636,-3.13843,-3.57948,-1.72267,-2.52776,-2.89854,-0.358774,-0.0580123,-0.28276,-0.218468,-0.20707,-0.179863,-0.177256,0.0331886,-0.120653,-0.198253,-0.154553,-0.304451,-0.138935,-0.100726,-0.188787,-0.150742,-0.234822,-0.186773,-0.111028,-0.202369,-0.1964,-0.314818,-0.246788,0.0818276 --5911.45,0.833262,0.350484,2,-0.131645,0.00440065,-2.46409,-2.04738,-2.04628,-2.51446,-2.43539,-3.15459,-1.74506,-2.36916,-1.96123,-2.29934,-2.35516,-1.50074,-2.94972,-2.81434,-1.57377,-1.48019,-1.85239,-3.05301,-3.19322,-1.43624,-2.11582,-3.06807,-0.00767135,-0.45824,-0.0287095,-0.101897,-0.148852,-0.183298,-0.278068,-0.148014,-0.194275,-0.16971,-0.154684,-0.0141144,-0.195195,-0.0592568,-0.125164,-0.158673,-0.0850269,-0.0632014,-0.186838,-0.118554,-0.105888,-0.0348335,-0.124846,0.0663374 --5911.45,0.00570595,0.350484,2,-0.131645,0.00440065,-2.46409,-2.04738,-2.04628,-2.51446,-2.43539,-3.15459,-1.74506,-2.36916,-1.96123,-2.29934,-2.35516,-1.50074,-2.94972,-2.81434,-1.57377,-1.48019,-1.85239,-3.05301,-3.19322,-1.43624,-2.11582,-3.06807,-0.00767135,-0.45824,-0.0287095,-0.101897,-0.148852,-0.183298,-0.278068,-0.148014,-0.194275,-0.16971,-0.154684,-0.0141144,-0.195195,-0.0592568,-0.125164,-0.158673,-0.0850269,-0.0632014,-0.186838,-0.118554,-0.105888,-0.0348335,-0.124846,0.0663374 --5912.2,0.1644,0.350484,3,-0.152893,0.00543155,-2.66118,-2.06435,-1.97864,-2.48811,-2.42334,-3.20828,-1.7369,-2.30122,-1.95536,-2.24553,-2.36549,-1.60834,-2.84785,-2.7306,-1.61871,-1.35188,-1.90244,-3.12331,-3.17193,-1.50776,-2.18737,-3.00371,-0.0755797,-0.443222,-0.0233578,-0.170428,-0.138811,-0.192612,-0.308384,-0.182079,-0.183856,-0.14257,-0.135392,-0.0792151,-0.206767,0.0842019,-0.159006,-0.0616149,-0.171552,-0.0964392,-0.222284,-0.155545,-0.148664,-0.0963428,-0.192552,0.0736991 --5918.76,0.492751,0.350484,3,-0.292434,0.0120676,-1.92122,-2.84961,-2.15793,-2.35248,-2.35808,-2.01587,-1.69177,-2.10638,-2.03006,-2.17289,-2.308,-1.43994,-3.3401,-2.62088,-1.15459,-1.48351,-2.22876,-2.52019,-3.64329,-1.46097,-1.88018,-2.79869,-0.506754,-0.324645,-0.342499,-0.338087,-0.250264,-0.425873,-0.415136,-0.304926,-0.329222,-0.403886,-0.239961,-0.177619,-0.200877,-0.10133,-0.348316,-0.120293,-0.124524,-0.211931,-0.173703,-0.145483,-0.741191,-0.272479,-0.314734,0.109852 --5918.58,0.91759,0.350484,2,-0.262788,0.00790181,-2.18369,-2.47171,-1.94567,-2.31203,-2.45716,-2.97269,-1.7467,-2.04944,-2.24542,-2.21441,-2.30048,-1.477,-2.88583,-2.82685,-1.46035,-1.49479,-1.90448,-3.28322,-4.05768,-1.33175,-1.87263,-2.91308,-0.103272,-0.226416,-0.165229,-0.390907,-0.126081,-0.130584,-0.298223,-0.194305,-0.296171,-0.314541,-0.327491,-0.293003,-0.317927,-0.102007,-0.276125,-0.379698,-0.323665,-0.368968,-0.265934,-0.408175,-0.723203,-0.367508,-0.253661,0.0888921 --5914.18,0.667086,0.350484,2,-0.315411,0.00814205,-2.09018,-2.30249,-2.20108,-2.40987,-2.3736,-2.4714,-1.72319,-2.113,-1.94208,-2.2596,-2.18863,-1.50996,-2.87732,-2.71117,-1.27374,-1.33657,-2.05746,-3.06595,-4.09932,-1.47469,-2.21848,-2.99065,-0.439724,-0.34394,-0.276339,-0.310843,-0.418139,-0.423794,-0.406731,-0.306944,-0.213198,-0.304629,-0.155736,-0.261164,-0.462168,-0.260649,-0.279373,-0.23588,-0.19679,-0.113352,-0.192062,-0.177704,-0.531662,-0.243564,-0.308312,0.0902333 --5904.39,0.746953,0.350484,2,-0.252419,0.00595247,-2.21693,-2.38299,-2.17374,-2.50925,-2.4087,-2.57181,-1.66773,-2.09824,-1.92106,-2.24791,-2.24021,-1.4863,-2.84743,-2.76772,-1.33591,-1.34738,-2.01059,-3.03178,-4.23611,-1.41601,-2.14558,-2.9205,-0.38563,-0.177152,-0.315967,-0.181092,-0.277384,-0.324648,-0.323432,-0.269574,-0.198792,-0.343302,-0.213326,-0.32109,-0.261001,-0.177224,-0.200181,-0.217428,-0.235148,-0.239379,-0.244784,-0.165229,-0.380106,-0.332339,-0.230893,0.0771522 --5906.39,0.26577,0.350484,2,-0.266552,0.00552754,-1.96081,-2.21544,-1.97329,-2.50113,-2.29312,-1.93303,-1.7175,-2.15597,-1.91707,-2.17965,-2.29266,-1.49396,-3.006,-2.74051,-1.33063,-1.1911,-1.69083,-2.43985,-4.0556,-1.42829,-2.32409,-2.97117,-0.290876,-0.297923,-0.225575,-0.246784,-0.198833,-0.511257,-0.241111,-0.278162,-0.329461,-0.323616,-0.29679,-0.262499,-0.310037,-0.226004,-0.284785,-0.275936,-0.316466,-0.224723,-0.197217,-0.252866,-0.321941,-0.284073,-0.276148,0.0743475 --5908.67,1.9015e-06,0.350484,3,-0.248667,0.00389979,-1.97779,-2.17215,-1.91928,-2.54929,-2.33243,-1.92936,-1.71,-2.15118,-1.90497,-2.19878,-2.34195,-1.44901,-3.07486,-2.78544,-1.28488,-1.19517,-1.82706,-2.33584,-4.08949,-1.4742,-2.29336,-3.05811,-0.205844,-0.30699,-0.260516,-0.188198,-0.172656,-0.457593,-0.235149,-0.302363,-0.308644,-0.287813,-0.24625,-0.289589,-0.301184,-0.194513,-0.266257,-0.251503,-0.34272,-0.294333,-0.220127,-0.254793,-0.379263,-0.24039,-0.204101,0.0624483 --5895.76,2.75269e-27,0.350484,2,-0.274698,0.000967631,-2.51469,-2.09152,-1.95548,-2.45945,-2.3664,-2.11012,-1.69939,-2.1345,-1.89863,-2.21296,-2.18384,-1.29699,-3.0671,-2.87026,-1.39833,-1.30864,-1.76917,-2.72517,-3.88869,-1.28592,-2.28991,-2.9507,-0.333473,-0.246413,-0.266471,-0.261869,-0.279321,-0.446979,-0.346442,-0.326486,-0.263516,-0.246613,-0.276934,-0.276872,-0.24556,-0.234356,-0.27023,-0.30059,-0.202136,-0.248757,-0.298452,-0.253663,-0.251985,-0.275515,-0.261086,0.0311068 --5895.76,5.43072e-33,0.350484,2,-0.274698,0.000967631,-2.51469,-2.09152,-1.95548,-2.45945,-2.3664,-2.11012,-1.69939,-2.1345,-1.89863,-2.21296,-2.18384,-1.29699,-3.0671,-2.87026,-1.39833,-1.30864,-1.76917,-2.72517,-3.88869,-1.28592,-2.28991,-2.9507,-0.333473,-0.246413,-0.266471,-0.261869,-0.279321,-0.446979,-0.346442,-0.326486,-0.263516,-0.246613,-0.276934,-0.276872,-0.24556,-0.234356,-0.27023,-0.30059,-0.202136,-0.248757,-0.298452,-0.253663,-0.251985,-0.275515,-0.261086,0.0311068 --5895.76,1.9931e-58,0.350484,3,-0.274698,0.000967631,-2.51469,-2.09152,-1.95548,-2.45945,-2.3664,-2.11012,-1.69939,-2.1345,-1.89863,-2.21296,-2.18384,-1.29699,-3.0671,-2.87026,-1.39833,-1.30864,-1.76917,-2.72517,-3.88869,-1.28592,-2.28991,-2.9507,-0.333473,-0.246413,-0.266471,-0.261869,-0.279321,-0.446979,-0.346442,-0.326486,-0.263516,-0.246613,-0.276934,-0.276872,-0.24556,-0.234356,-0.27023,-0.30059,-0.202136,-0.248757,-0.298452,-0.253663,-0.251985,-0.275515,-0.261086,0.0311068 --5895.76,3.96554e-67,0.350484,3,-0.274698,0.000967631,-2.51469,-2.09152,-1.95548,-2.45945,-2.3664,-2.11012,-1.69939,-2.1345,-1.89863,-2.21296,-2.18384,-1.29699,-3.0671,-2.87026,-1.39833,-1.30864,-1.76917,-2.72517,-3.88869,-1.28592,-2.28991,-2.9507,-0.333473,-0.246413,-0.266471,-0.261869,-0.279321,-0.446979,-0.346442,-0.326486,-0.263516,-0.246613,-0.276934,-0.276872,-0.24556,-0.234356,-0.27023,-0.30059,-0.202136,-0.248757,-0.298452,-0.253663,-0.251985,-0.275515,-0.261086,0.0311068 --5895.76,6.47103e-32,0.350484,2,-0.274698,0.000967631,-2.51469,-2.09152,-1.95548,-2.45945,-2.3664,-2.11012,-1.69939,-2.1345,-1.89863,-2.21296,-2.18384,-1.29699,-3.0671,-2.87026,-1.39833,-1.30864,-1.76917,-2.72517,-3.88869,-1.28592,-2.28991,-2.9507,-0.333473,-0.246413,-0.266471,-0.261869,-0.279321,-0.446979,-0.346442,-0.326486,-0.263516,-0.246613,-0.276934,-0.276872,-0.24556,-0.234356,-0.27023,-0.30059,-0.202136,-0.248757,-0.298452,-0.253663,-0.251985,-0.275515,-0.261086,0.0311068 --5908.6,1.10187e-27,0.350484,2,-0.27719,0.00422149,-2.22959,-1.95307,-1.93924,-2.38974,-2.48336,-1.91458,-1.68586,-2.25632,-1.84785,-2.25125,-2.37877,-1.32617,-3.40026,-2.46833,-1.21519,-1.38333,-2.15978,-3.25012,-3.45895,-1.29475,-2.0535,-2.79999,-0.187867,-0.365527,-0.315114,-0.207393,-0.238454,-0.0420832,-0.334739,-0.122843,-0.322593,-0.366436,-0.254836,-0.2797,-0.305998,-0.255243,-0.300023,-0.253195,-0.318644,-0.210189,-0.199493,-0.333956,-0.314626,-0.338287,-0.217854,0.064973 --5911.02,0.411002,0.350484,2,-0.270234,0.00566756,-2.29476,-2.07238,-1.98827,-2.37692,-2.5486,-2.21714,-1.60058,-2.09084,-1.91303,-2.26749,-2.37207,-1.32306,-3.28101,-2.47871,-1.01392,-1.50524,-2.10419,-2.69505,-2.74525,-1.19336,-2.09361,-2.89644,-0.266481,-0.395781,-0.317395,-0.266887,-0.354484,-0.285899,-0.366251,-0.10139,-0.265879,-0.336253,-0.261075,-0.343681,-0.177714,-0.281722,-0.282736,-0.207471,-0.277726,-0.2496,-0.177824,-0.249898,-0.298212,-0.305394,-0.308552,0.0752832 --5910.26,0.751971,0.350484,2,-0.286043,0.00343409,-2.58159,-2.06641,-1.93574,-2.37814,-2.44771,-2.12389,-1.60182,-2.12522,-1.87486,-2.21377,-2.36684,-1.26381,-3.28,-2.54751,-0.998249,-1.42997,-2.11284,-2.78376,-2.92178,-1.16447,-2.13281,-2.92315,-0.34878,-0.419835,-0.273182,-0.347975,-0.336877,-0.264584,-0.445806,-0.0746367,-0.32459,-0.267314,-0.299031,-0.231197,-0.283545,-0.239018,-0.24803,-0.196252,-0.2628,-0.232159,-0.238461,-0.201927,-0.260985,-0.334926,-0.27736,0.0586011 --5910.97,5.93527e-38,0.350484,2,-0.28416,0.00764548,-2.38015,-2.0778,-1.74046,-2.32752,-2.26078,-2.4639,-1.62674,-2.09696,-1.81027,-2.18754,-2.27802,-1.33541,-2.93827,-2.5109,-1.0422,-1.43293,-2.10768,-2.55751,-3.13232,-1.244,-1.98886,-3.0906,-0.237287,-0.32104,-0.303548,-0.360831,-0.236647,-0.38342,-0.439424,-0.0960242,-0.335308,-0.294214,-0.226882,-0.249231,-0.295353,-0.187014,-0.293348,-0.154597,-0.198749,-0.287993,-0.319546,-0.218409,-0.382647,-0.396853,-0.328732,0.0874385 --5907.72,0.76711,0.350484,3,-0.212786,0.00394606,-2.62969,-2.49143,-2.23901,-2.56617,-2.56054,-2.28176,-1.84565,-2.05319,-1.94355,-2.15487,-2.37154,-1.48004,-2.88501,-2.67688,-1.51834,-1.50783,-1.88219,-2.9054,-3.76675,-1.45444,-2.20706,-2.91933,-0.149893,-0.177451,-0.215153,-0.220207,-0.187978,-0.426529,-0.240636,-0.189961,-0.241925,-0.260917,-0.123047,-0.235536,-0.19209,-0.125265,-0.142247,-0.0856902,-0.243169,-0.261662,-0.144534,-0.170128,-0.178792,-0.518396,-0.207241,0.0628177 --5920.22,0.126856,0.350484,2,-0.215222,0.0112851,-2.16768,-2.32339,-1.74539,-2.24648,-2.33567,-2.88282,-1.75649,-2.12054,-1.72866,-2.26222,-2.42277,-1.42829,-3.12828,-2.93827,-1.36377,-1.3204,-2.09529,-3.10473,-2.69615,-1.50855,-2.32604,-2.84887,-0.256792,-0.204529,-0.430099,-0.190695,-0.185122,-0.20155,-0.27657,-0.288444,-0.270042,-0.309615,-0.285017,-0.146667,-0.0876963,0.101294,-0.253878,-0.365654,-0.127382,-0.0861857,-0.337507,-0.122416,-0.283545,-0.103944,-0.264618,0.106232 --5907.47,1,0.350484,2,-0.273907,0.00428568,-2.27642,-2.00757,-2.06788,-2.4889,-2.44174,-2.38144,-1.76738,-2.20472,-1.95236,-2.29992,-2.41684,-1.42963,-3.09283,-2.82322,-1.31936,-1.36305,-2.05062,-2.92692,-3.27347,-1.58575,-2.02539,-2.89067,-0.261494,-0.335886,-0.260843,-0.300179,-0.207881,-0.23213,-0.261798,-0.127895,-0.230547,-0.27213,-0.303637,-0.154833,-0.226455,-0.234002,-0.301373,-0.32109,-0.0255226,-0.100499,-0.219265,-0.333972,-0.224624,-0.480487,-0.270578,0.0654651 --5913.34,0.619856,0.350484,1,-0.227824,0.00531447,-2.28267,-2.15715,-1.66567,-2.387,-2.35753,-2.22537,-1.69876,-2.0416,-1.96804,-2.28118,-2.15954,-1.42371,-3.13373,-2.69629,-1.56827,-1.68892,-1.91514,-2.86227,-3.59841,-1.28532,-2.2724,-2.84357,-0.213882,-0.332244,-0.210807,-0.174692,-0.320442,-0.494842,-0.286962,-0.358276,-0.270369,-0.147672,-0.253719,-0.115731,-0.276232,-0.107176,-0.180722,-0.235586,-0.269917,-0.168508,-0.205356,-0.192496,-0.414587,-0.134426,-0.189896,0.0729004 --5915.25,0.363247,0.350484,3,-0.20591,0.00326564,-2.2923,-2.49701,-2.66413,-2.40042,-2.54536,-2.15584,-1.7673,-2.18388,-1.88892,-2.13727,-2.34833,-1.47368,-2.83313,-2.80728,-1.17938,-1.30751,-1.92489,-2.90386,-3.18841,-1.75191,-2.0656,-2.90032,-0.212608,-0.269271,-0.195153,-0.171133,-0.231716,-0.377545,-0.282313,-0.226897,-0.239619,-0.234744,-0.180106,-0.108481,-0.258512,-0.152984,-0.238076,-0.40279,-0.136027,-0.237571,-0.21538,-0.129601,-0.559176,-0.0415562,-0.159187,0.0571458 --5915.09,0.205269,0.350484,2,-0.29524,0.00506167,-2.43779,-1.9449,-1.54768,-2.49016,-2.227,-2.36738,-1.75905,-1.98086,-2.04897,-2.32097,-2.3959,-1.45488,-3.18114,-2.60082,-1.30254,-1.42281,-1.93119,-2.91141,-3.82256,-1.47522,-1.94478,-3.14443,-0.119682,-0.294687,-0.277255,-0.269817,-0.258909,0.00119987,-0.388629,-0.229107,-0.285379,-0.339124,-0.23167,-0.294198,-0.266852,-0.192134,-0.31324,-0.258226,-0.298445,-0.212352,-0.0865783,-0.264804,-0.389807,-0.509159,-0.276828,0.0711454 --5919.27,0.561158,0.350484,2,-0.277395,0.00733421,-2.46902,-1.95525,-1.43656,-2.46937,-2.34678,-2.60266,-1.76748,-2.05846,-1.95521,-2.25979,-2.32841,-1.29118,-3.30132,-2.57884,-1.44794,-1.52475,-1.9015,-3.02554,-3.68296,-1.40657,-1.79385,-3.07623,-0.0989453,-0.292126,-0.26201,-0.243342,-0.385017,-0.212325,-0.399948,-0.402974,-0.279855,-0.268699,-0.256417,-0.352185,-0.309835,-0.248888,-0.400383,-0.190081,-0.45443,-0.176458,-0.242379,-0.368378,-0.502708,-0.41478,-0.261193,0.08564 --5920.66,0.569614,0.350484,2,-0.239403,0.0253562,-2.62554,-2.27791,-2.33127,-2.34071,-2.4431,-2.04105,-1.5639,-2.21115,-1.95986,-2.18803,-2.42564,-1.38421,-3.02284,-2.90168,-1.26738,-1.38041,-1.90365,-2.70767,-2.99373,-1.47867,-2.18334,-2.87216,-0.459806,-0.225264,-0.375394,-0.284872,-0.142983,-0.290385,-0.296145,-0.0454653,-0.322386,-0.347049,-0.100785,-0.249652,-0.16245,-0.104722,-0.129134,-0.392588,-0.0969031,-0.367466,-0.372907,-0.151635,-0.291821,-0.0995419,-0.122624,0.159236 --5920.99,0.98677,0.350484,2,-0.174935,0.0106109,-1.81385,-2.1313,-2.3315,-2.503,-2.38358,-2.33988,-1.84146,-2.21385,-2.00449,-2.3617,-2.53436,-1.72358,-3.41708,-2.52621,-1.23899,-1.32677,-2.11694,-3.0257,-3.93653,-1.46875,-2.06275,-3.02779,-0.0679174,-0.108703,-0.125545,-0.0992636,-0.262482,-0.177061,-0.368945,-0.238031,-0.190505,-0.154061,-0.146791,-0.13812,-0.114916,-0.200745,-0.329042,-0.0850432,-0.0866821,-0.144746,-0.115534,-0.294922,-0.199403,-0.37708,-0.361626,0.103009 --5919.81,1,0.350484,3,-0.168811,0.0214916,-3.29089,-2.25963,-1.99614,-2.30864,-2.45381,-2.05099,-1.71049,-2.13046,-1.95626,-2.1707,-2.15354,-1.26154,-2.60618,-2.84696,-1.53051,-1.66371,-1.91125,-2.91097,-3.37083,-1.55783,-2.29997,-2.8882,0.0094562,-0.0758419,-0.140803,-0.227114,-0.238035,-0.237878,-0.514895,-0.222336,-0.241192,-0.343023,-0.328515,-0.432502,-0.504997,0.0449662,-0.144037,-0.0793209,-0.117198,-0.127309,0.031478,-0.213686,-0.240994,-0.260355,-0.187265,0.1466 --5916.93,0.973444,0.350484,2,-0.223863,0.00799527,-3.19424,-2.32439,-1.98326,-2.53593,-2.12882,-2.2443,-1.69776,-1.88247,-2.02576,-2.33026,-2.36192,-1.52593,-3.02129,-2.82832,-1.41391,-1.84348,-2.09962,-3.09039,-3.22975,-1.45091,-2.07693,-3.04942,-0.122484,-0.14626,-0.271899,-0.156769,-0.24022,-0.217541,-0.204201,-0.387107,-0.403801,-0.178586,-0.217316,0.0194552,-0.257335,0.0632366,-0.181647,-0.0632939,-0.160956,-0.119755,-0.297266,-0.282172,-0.328718,-0.171876,-0.21997,0.0894163 --5917.97,0.696254,0.350484,3,-0.198136,0.00781632,-3.15982,-2.36626,-1.89303,-2.53949,-2.06151,-1.96332,-1.71954,-1.85929,-1.99575,-2.33245,-2.35692,-1.60163,-3.04022,-2.76725,-1.49035,-1.83098,-2.11705,-3.2295,-3.35355,-1.46291,-2.11062,-3.04522,-0.254235,-0.159833,-0.212693,-0.0911185,-0.158931,-0.18108,-0.169211,-0.334556,-0.297708,-0.195137,-0.259635,0.0450411,-0.337902,0.00511146,-0.106629,-0.102017,-0.137345,-0.227053,-0.268094,-0.260314,-0.273146,-0.214332,-0.239924,0.08841 --5916.69,0.785734,0.350484,2,-0.205348,0.00699926,-2.74648,-2.36836,-1.66889,-2.51247,-2.07663,-2.03683,-1.71101,-1.91685,-1.94526,-2.31068,-2.28561,-1.67767,-2.96251,-2.70615,-1.51001,-1.73044,-2.39904,-3.23018,-3.65977,-1.44693,-2.07695,-3.00631,-0.13567,-0.188104,-0.0619779,-0.0491598,-0.284243,-0.210335,-0.323802,-0.221215,-0.223573,-0.19811,-0.179553,-0.0472569,-0.307679,-0.0111214,-0.173256,-0.162509,-0.127899,-0.244612,-0.371001,-0.260048,-0.211246,-0.269524,-0.135564,0.0836616 --5918.22,0.849441,0.350484,2,-0.208942,0.00436112,-1.97605,-1.94011,-2.51791,-2.33143,-2.78062,-2.27472,-1.7551,-2.35674,-1.96932,-2.24199,-2.33034,-1.51222,-3.10121,-2.83786,-1.62827,-1.24963,-1.94111,-2.6522,-2.95269,-1.47639,-2.33553,-2.94531,-0.142225,-0.140717,-0.479083,-0.339516,-0.0960741,-0.241789,-0.340914,-0.204799,-0.21881,-0.33218,-0.181756,-0.207673,-0.285513,-0.126323,-0.205072,-0.325703,-0.0405407,-0.238541,-0.197307,-0.124183,-0.172488,-0.205758,-0.112172,0.0660388 --5911.28,0.00179799,0.350484,2,-0.270475,0.00477931,-3.38309,-2.50935,-2.11459,-2.36865,-2.13663,-1.8429,-1.77212,-1.89271,-1.78002,-2.3032,-2.30418,-1.33886,-2.73048,-2.72097,-1.51715,-1.5452,-2.03103,-3.32598,-3.37832,-1.56228,-1.98328,-3.06249,-0.244969,-0.335804,-0.0636583,-0.257578,-0.319873,-0.324078,-0.255734,-0.292153,-0.333205,-0.166804,-0.341769,-0.265339,-0.35664,-0.235607,-0.219978,-0.190594,-0.346227,-0.280332,-0.282234,-0.358597,-0.33885,-0.294427,-0.306404,0.0691325 --5907.72,0.0143084,0.350484,2,-0.226668,0.00700989,-2.32447,-2.03559,-1.80845,-2.46944,-2.32673,-2.03596,-1.71951,-2.37257,-2.07299,-2.30078,-2.32821,-1.47753,-2.96307,-2.62317,-1.06369,-1.48275,-1.94461,-2.8499,-3.55512,-1.53655,-2.24755,-3.02615,-0.205995,-0.235958,-0.38426,-0.215813,-0.273769,-0.309473,-0.371307,-0.156147,-0.217994,-0.328602,-0.162289,-0.237609,-0.217364,-0.212554,-0.343819,-0.358586,-0.141465,-0.188163,-0.179459,-0.269731,-0.223894,-0.098616,-0.199188,0.0837251 --5916.51,0.659501,0.350484,3,-0.278189,0.00553763,-2.17047,-2.62541,-1.88817,-2.24514,-2.44235,-1.76697,-1.81536,-2.03294,-1.68944,-2.28352,-2.41386,-1.15407,-2.9111,-2.81244,-1.32279,-1.69945,-2.34437,-2.70378,-4.02845,-1.49269,-2.15487,-3.03305,-0.328726,-0.286964,-0.232387,-0.338247,-0.17068,-0.259192,-0.219116,-0.139899,-0.340886,-0.186434,-0.293041,-0.317735,-0.319664,-0.110049,-0.346349,-0.225185,-0.222354,-0.364023,-0.304883,-0.228952,-0.286421,-0.443268,-0.296001,0.0744153 --5912.49,0.00895558,0.350484,2,-0.297928,0.00348038,-3.19704,-2.45335,-2.03571,-2.406,-2.4606,-2.35536,-1.74404,-2.04112,-2.09268,-2.26557,-2.40204,-1.35917,-3.3741,-2.55612,-1.50233,-1.53595,-1.83558,-2.8771,-4.21484,-1.23696,-2.29997,-3.02041,-0.237414,-0.44946,-0.353395,-0.352891,-0.256848,-0.328505,-0.385698,-0.401139,-0.286695,-0.253429,-0.196919,-0.397443,-0.257667,-0.270179,-0.448657,-0.244241,-0.293607,-0.212262,-0.231492,-0.345242,-0.324067,-0.291934,-0.288284,0.0589947 --5915.75,0.718257,0.350484,2,-0.308022,0.00506769,-2.03458,-2.08061,-1.76729,-2.31505,-2.46479,-2.40798,-1.64366,-2.2074,-1.93342,-2.14011,-2.23918,-1.53763,-2.68672,-2.6343,-1.4049,-1.49072,-2.09589,-2.72847,-3.76244,-1.53583,-1.9792,-2.9103,-0.114822,-0.238141,-0.295141,-0.262888,-0.388755,-0.312217,-0.650696,-0.214163,-0.320292,-0.392173,-0.482658,-0.170576,-0.325466,-0.281085,-0.133012,-0.350404,-0.262924,-0.42049,-0.377429,-0.298409,-0.347434,-0.376417,-0.349834,0.0711877 --5914.24,0.622784,0.350484,3,-0.236833,0.00547716,-2.62815,-2.26755,-2.39058,-2.31828,-2.25614,-1.90721,-1.61498,-2.07191,-2.07812,-2.26511,-2.29858,-1.33646,-3.15583,-2.59345,-1.42548,-1.57556,-2.13224,-2.83728,-3.76103,-1.30913,-2.39799,-2.76616,-0.514635,-0.388899,-0.297258,-0.383777,-0.157703,-0.32162,-0.517931,-0.248599,-0.233053,-0.285618,-0.134175,-0.316387,-0.278688,-0.0986785,-0.333444,-0.173546,-0.208778,-0.169467,-0.133441,-0.282733,-0.291928,-0.286029,-0.221002,0.0740078 --5903.81,0.789265,0.350484,2,-0.214209,0.00288221,-2.36393,-2.08893,-2.03036,-2.40556,-2.56625,-2.06513,-1.64499,-2.11706,-2.1035,-2.24741,-2.32289,-1.54786,-3.13781,-2.71543,-1.3577,-1.55817,-1.96937,-2.78904,-4.03157,-1.52099,-1.80692,-2.98621,-0.15071,-0.181807,-0.244442,-0.191326,-0.0786885,-0.241451,-0.398407,-0.152203,-0.210028,-0.246714,-0.232908,-0.143738,-0.225307,-0.163615,-0.184584,-0.173013,-0.223478,-0.305337,-0.332304,-0.250913,-0.332947,-0.315053,-0.293009,0.0536862 --5906.42,0.351969,0.350484,2,-0.223574,0.00453919,-2.59073,-2.17293,-2.18772,-2.36123,-2.51431,-2.16582,-1.64289,-2.14326,-2.07192,-2.23862,-2.39958,-1.54211,-3.1903,-2.64624,-1.31207,-1.63568,-1.93567,-2.69454,-4.11864,-1.53759,-1.74333,-2.97369,-0.0975426,-0.290996,-0.324346,-0.206048,-0.122641,-0.206107,-0.43715,-0.135784,-0.18607,-0.31225,-0.225004,-0.223974,-0.202138,-0.176606,-0.249984,-0.161883,-0.189594,-0.273267,-0.269496,-0.255901,-0.367726,-0.253985,-0.152095,0.0673735 --5906.42,0.0358174,0.350484,2,-0.223574,0.00453919,-2.59073,-2.17293,-2.18772,-2.36123,-2.51431,-2.16582,-1.64289,-2.14326,-2.07192,-2.23862,-2.39958,-1.54211,-3.1903,-2.64624,-1.31207,-1.63568,-1.93567,-2.69454,-4.11864,-1.53759,-1.74333,-2.97369,-0.0975426,-0.290996,-0.324346,-0.206048,-0.122641,-0.206107,-0.43715,-0.135784,-0.18607,-0.31225,-0.225004,-0.223974,-0.202138,-0.176606,-0.249984,-0.161883,-0.189594,-0.273267,-0.269496,-0.255901,-0.367726,-0.253985,-0.152095,0.0673735 --5907.39,0.320103,0.350484,1,-0.223075,0.00656128,-2.20695,-2.07084,-2.23161,-2.394,-2.37561,-2.22983,-1.57927,-2.17815,-2.05738,-2.2916,-2.24171,-1.38519,-2.9702,-2.80227,-1.37492,-1.54555,-1.79752,-2.81328,-3.83458,-1.49628,-2.00352,-3.0855,-0.340963,-0.318009,-0.36006,-0.25393,-0.0651536,-0.135801,-0.457575,-0.0677943,-0.195674,-0.258285,-0.281032,-0.127962,-0.316611,-0.0320093,-0.24903,-0.160167,-0.276319,-0.154463,-0.23462,-0.159315,-0.30731,-0.139439,-0.226916,0.0810017 --5910.31,0.811089,0.350484,2,-0.192285,0.0052191,-2.31462,-2.05787,-1.92736,-2.39051,-2.40745,-2.3009,-1.51934,-2.19741,-2.11624,-2.27833,-2.30735,-1.38355,-3.08601,-2.84274,-1.33778,-1.52958,-1.71626,-2.86396,-3.63354,-1.44624,-1.95841,-3.06741,-0.329313,-0.276739,-0.283451,-0.298574,-0.136861,-0.183745,-0.481112,-0.075597,-0.236699,-0.217372,-0.297,-0.127894,-0.301329,-0.177494,-0.273854,-0.150039,-0.287733,-0.223494,-0.196889,-0.193007,-0.268822,-0.0985362,-0.10742,0.0722433 --5914.42,0.503947,0.350484,2,-0.291973,0.00650939,-2.49386,-1.91326,-1.95245,-2.31456,-2.21744,-2.41664,-1.591,-2.21233,-1.90236,-2.22474,-2.22863,-1.34362,-2.89186,-2.76482,-1.4474,-1.369,-1.72885,-2.83289,-3.82896,-1.48024,-2.12156,-2.99662,-0.0860771,-0.223048,-0.224744,-0.254475,-0.350904,-0.276782,-0.662571,-0.299437,-0.353957,-0.333541,-0.288262,-0.282448,-0.0817876,0.0120986,-0.275144,-0.163052,-0.282031,-0.162105,-0.224145,-0.280067,-0.21598,-0.353883,-0.373136,0.0806808 --5913.58,0.583866,0.350484,2,-0.248649,0.00582779,-2.44017,-2.18297,-1.91535,-2.36779,-2.16176,-2.37411,-1.60952,-2.19713,-1.95461,-2.22943,-2.30631,-1.38025,-3.04269,-2.7629,-1.4484,-1.40379,-1.732,-2.86377,-3.79654,-1.45304,-2.20484,-2.98825,0.0390028,-0.250598,-0.209077,-0.259308,-0.395135,-0.320353,-0.64344,-0.309138,-0.31689,-0.318473,-0.325455,-0.241886,-0.204105,-0.034912,-0.209266,-0.166762,-0.343859,-0.107429,-0.236468,-0.31449,-0.251422,-0.419724,-0.335743,0.07634 --5915.71,0.647113,0.350484,2,-0.277825,0.010182,-2.65979,-2.15118,-2.00583,-2.41881,-2.16272,-2.26792,-1.61235,-2.13867,-1.89601,-2.25039,-2.31063,-1.33938,-3.19393,-2.78677,-1.4522,-1.45417,-1.724,-2.68146,-3.74349,-1.32592,-2.1972,-2.97544,-0.0110196,-0.134832,-0.151051,-0.253014,-0.447137,-0.362026,-0.639156,-0.238461,-0.34736,-0.318531,-0.360011,-0.225375,-0.221834,-0.151946,-0.237404,-0.154026,-0.359763,-0.176532,-0.227521,-0.38603,-0.286957,-0.432113,-0.397382,0.100906 --5920.84,0.700644,0.350484,3,-0.304425,0.0100781,-2.49535,-1.96982,-2.26662,-2.45557,-2.28385,-2.25319,-1.61124,-2.00742,-2.04842,-2.15734,-2.28556,-1.3815,-3.40942,-2.63376,-1.37638,-1.44474,-1.86928,-2.34234,-3.72997,-1.27781,-2.20495,-2.98615,0.0635016,-0.294639,-0.211324,-0.359253,-0.30871,-0.2907,-0.597115,-0.337994,-0.342469,-0.34287,-0.33872,-0.328208,-0.156111,-0.13063,-0.113498,-0.316984,-0.10243,-0.280583,-0.316876,-0.480543,-0.472895,-0.406954,-0.399702,0.10039 --5919.55,0.996023,0.350484,2,-0.305222,0.0134313,-2.22475,-1.89623,-2.14522,-2.25593,-2.34286,-2.53067,-1.58035,-1.97434,-2.24145,-2.20836,-2.43178,-1.36652,-2.96251,-2.6547,-1.33334,-1.56777,-2.14902,-3.21559,-3.62662,-1.20626,-1.94249,-3.08666,-0.239619,-0.381131,-0.146457,-0.228759,-0.390754,-0.292896,-0.651823,-0.312233,-0.25306,-0.342813,-0.34739,-0.332737,-0.255675,-0.225337,-0.291184,-0.233614,-0.201015,-0.154667,-0.329143,-0.450299,-0.425601,-0.276372,-0.117083,0.115894 --5915.2,0.899916,0.350484,2,-0.285402,0.0042387,-2.07109,-2.20142,-1.75779,-2.46911,-2.19402,-2.54194,-1.66355,-2.25105,-1.64004,-2.23615,-2.28698,-1.24174,-3.01748,-2.59451,-1.53305,-1.54503,-1.80199,-2.48433,-3.12553,-1.45031,-2.31653,-2.87658,-0.364251,-0.302155,-0.27326,-0.335836,-0.254034,-0.300975,-0.325813,-0.241102,-0.309071,-0.367912,-0.214444,-0.286077,-0.308607,-0.277716,-0.278434,-0.0459068,-0.334197,-0.394856,-0.195192,-0.362882,-0.265445,-0.367071,-0.619386,0.0651053 --5916.02,0.444793,0.350484,2,-0.286057,0.00545329,-2.90527,-2.63436,-2.12906,-2.249,-2.41398,-2.40166,-1.75564,-2.23012,-1.64459,-2.18384,-2.29167,-1.29875,-3.20834,-2.50897,-1.49701,-1.52569,-1.86279,-2.74381,-3.16262,-1.56004,-1.92617,-3.16519,-0.254683,-0.292753,-0.33533,-0.318185,-0.288092,-0.254236,-0.335375,-0.244833,-0.461896,-0.262169,-0.207387,-0.35254,-0.279202,-0.276811,-0.27698,-0.471174,-0.231483,-0.149504,-0.364766,-0.184023,-0.375444,-0.207419,-0.152507,0.0738464 --5910.88,0.493415,0.350484,2,-0.284399,0.00451628,-2.52651,-2.26731,-2.19766,-2.24371,-2.433,-2.25343,-1.70898,-2.28212,-1.63522,-2.19472,-2.20342,-1.36946,-3.37043,-2.74539,-1.43625,-1.39681,-1.79349,-3.00865,-3.29772,-1.58303,-1.9365,-3.12988,-0.287667,-0.268744,-0.450983,-0.349587,-0.310279,-0.244615,-0.264507,-0.102491,-0.321976,-0.364101,-0.281449,-0.257282,-0.253831,-0.363289,-0.291624,-0.353643,-0.238361,-0.308367,-0.287918,-0.205759,-0.321989,-0.28829,-0.158247,0.0672033 --5915.47,0.00877383,0.350484,2,-0.313817,0.00576593,-2.63472,-2.40041,-2.35001,-2.19138,-2.50569,-2.26501,-1.69766,-2.2736,-1.61345,-2.17996,-2.22802,-1.34447,-3.39265,-2.77357,-1.41012,-1.39739,-1.80177,-2.97206,-3.24686,-1.60183,-1.94543,-3.1004,-0.313847,-0.402449,-0.402309,-0.353328,-0.351556,-0.193711,-0.282585,-0.109612,-0.315692,-0.362568,-0.27914,-0.271407,-0.309745,-0.281344,-0.28821,-0.355506,-0.228383,-0.342066,-0.286641,-0.223181,-0.391614,-0.337409,-0.115483,0.0759337 --5924.05,0.335868,0.350484,2,-0.282116,0.00717997,-2.52952,-2.1035,-2.35511,-2.29769,-2.34913,-2.25267,-1.67743,-2.40035,-1.78101,-2.19412,-2.31001,-1.28023,-3.30187,-2.56526,-1.41027,-1.33883,-1.8601,-3.02486,-3.20159,-1.65322,-1.77272,-3.14794,-0.356657,-0.500256,-0.464943,-0.443062,-0.333344,-0.251593,-0.254652,-0.139178,-0.294,-0.388864,-0.162765,-0.249375,-0.302772,-0.21856,-0.184204,-0.425408,-0.201644,-0.348846,-0.36924,-0.264224,-0.408359,-0.213036,-0.0984699,0.0847347 --5922.36,0.868382,0.350484,2,-0.333624,0.0142605,-1.78224,-2.41072,-1.91475,-2.40215,-2.45392,-1.66941,-1.65692,-2.07076,-1.83272,-2.16901,-2.36525,-1.1686,-3.04727,-2.65127,-1.44487,-1.48452,-2.11146,-2.9157,-3.01017,-1.7731,-2.08024,-3.0175,-0.143574,-0.378223,-0.149986,-0.355462,-0.442276,-0.368808,-0.468012,-0.193292,-0.36625,-0.438328,-0.276245,-0.432278,-0.265455,-0.259302,-0.423718,-0.0568192,-0.325447,-0.147312,-0.202376,-0.273998,-0.352844,-0.39289,-0.463691,0.119417 --5914.59,0.875511,0.350484,2,-0.310117,0.00679442,-3.00659,-1.85872,-2.42612,-2.344,-2.18201,-2.99155,-1.65712,-2.08552,-1.95351,-2.2374,-2.15415,-1.6601,-2.76129,-2.7155,-1.2887,-1.4941,-1.89987,-2.90026,-3.73291,-1.21503,-2.06868,-2.9208,-0.260322,-0.250713,-0.333809,-0.281389,-0.175197,-0.349524,-0.33116,-0.370909,-0.29221,-0.23486,-0.329795,-0.184428,-0.325365,-0.135146,-0.228308,-0.439201,-0.294204,-0.43474,-0.266487,-0.364849,-0.27666,-0.401445,-0.158505,0.0824283 --5911.13,0.544108,0.350484,3,-0.310615,0.00669232,-1.77784,-2.35976,-1.80966,-2.34469,-2.49094,-1.98493,-1.60697,-2.11164,-1.93068,-2.27318,-2.33674,-1.34115,-3.1537,-2.64839,-1.32912,-1.39491,-1.98504,-2.98363,-4.29491,-1.69651,-2.13314,-2.99379,-0.362652,-0.329467,-0.256845,-0.261751,-0.394337,-0.364232,-0.448152,-0.237183,-0.31874,-0.427314,-0.207847,-0.285772,-0.279573,-0.121455,-0.37132,-0.247019,-0.327244,-0.168538,-0.34357,-0.181774,-0.311471,-0.354097,-0.457377,0.0818066 --5911.13,0.121379,0.350484,2,-0.310615,0.00669232,-1.77784,-2.35976,-1.80966,-2.34469,-2.49094,-1.98493,-1.60697,-2.11164,-1.93068,-2.27318,-2.33674,-1.34115,-3.1537,-2.64839,-1.32912,-1.39491,-1.98504,-2.98363,-4.29491,-1.69651,-2.13314,-2.99379,-0.362652,-0.329467,-0.256845,-0.261751,-0.394337,-0.364232,-0.448152,-0.237183,-0.31874,-0.427314,-0.207847,-0.285772,-0.279573,-0.121455,-0.37132,-0.247019,-0.327244,-0.168538,-0.34357,-0.181774,-0.311471,-0.354097,-0.457377,0.0818066 --5911.13,0.434573,0.350484,3,-0.310615,0.00669232,-1.77784,-2.35976,-1.80966,-2.34469,-2.49094,-1.98493,-1.60697,-2.11164,-1.93068,-2.27318,-2.33674,-1.34115,-3.1537,-2.64839,-1.32912,-1.39491,-1.98504,-2.98363,-4.29491,-1.69651,-2.13314,-2.99379,-0.362652,-0.329467,-0.256845,-0.261751,-0.394337,-0.364232,-0.448152,-0.237183,-0.31874,-0.427314,-0.207847,-0.285772,-0.279573,-0.121455,-0.37132,-0.247019,-0.327244,-0.168538,-0.34357,-0.181774,-0.311471,-0.354097,-0.457377,0.0818066 --5918.96,0.88297,0.350484,2,-0.273223,0.00363661,-2.30903,-2.41006,-2.22959,-2.39974,-2.37635,-1.97429,-1.55751,-2.00494,-1.66331,-2.21056,-2.26916,-1.28228,-3.33105,-2.86938,-1.42067,-1.39229,-1.85697,-3.01763,-4.43929,-1.7671,-1.83367,-3.04721,-0.277936,-0.343113,-0.117842,-0.261356,-0.251405,-0.205104,-0.430794,-0.394587,-0.355677,-0.235108,-0.282115,-0.2595,-0.355956,-0.265135,-0.226022,-0.318406,-0.293515,-0.279468,-0.122599,-0.281732,-0.38099,-0.361574,-0.184731,0.0603043 --5912.79,0.7004,0.350484,3,-0.237904,0.00265841,-2.33185,-1.86048,-2.13595,-2.37867,-2.36149,-2.54429,-1.86846,-2.17194,-2.21284,-2.22497,-2.42588,-1.60334,-2.87486,-2.55713,-1.30873,-1.46442,-2.19942,-2.99811,-3.24488,-1.23727,-2.43187,-2.7928,-0.233912,-0.329018,-0.43682,-0.238836,-0.248561,-0.161162,-0.267769,-0.25309,-0.306691,-0.307567,-0.310951,-0.202068,-0.142795,-0.301383,-0.275393,-0.306151,-0.277884,-0.269496,-0.155109,-0.31716,-0.264776,-0.355332,-0.20167,0.0515598 --5915.37,0.0399939,0.350484,3,-0.268764,0.00392009,-2.03786,-2.33856,-2.50451,-2.39869,-2.48549,-2.99766,-1.76893,-2.21252,-2.01388,-2.26157,-2.51185,-1.4219,-2.64061,-2.61866,-1.37081,-1.55075,-2.01736,-3.11509,-3.21736,-1.28056,-2.15291,-2.95574,-0.327124,-0.210583,-0.117027,-0.339625,-0.25427,-0.376677,-0.34197,-0.278125,-0.270006,-0.31948,-0.122006,-0.210235,-0.452324,-0.166316,-0.129548,-0.18289,-0.252584,-0.269427,-0.36661,-0.207702,-0.285247,-0.472663,-0.35231,0.0626106 --5912.14,0.958126,0.350484,3,-0.289592,0.0068935,-2.72251,-1.95087,-1.81284,-2.4472,-2.29579,-1.80211,-1.68746,-2.01239,-1.87248,-2.18922,-2.31656,-1.46373,-3.48464,-2.76923,-1.20164,-1.29649,-1.96444,-2.76828,-3.60995,-1.6676,-2.19385,-2.95613,-0.337647,-0.14155,-0.53291,-0.248648,-0.299788,-0.342617,-0.369299,-0.160732,-0.255641,-0.349581,-0.285479,-0.294682,-0.334618,0.142225,-0.34159,-0.268034,-0.154994,-0.166118,-0.237895,-0.288871,-0.301371,-0.395075,-0.273838,0.0830271 --5911.73,0.605635,0.350484,2,-0.292152,0.00674822,-2.31908,-2.00352,-1.47848,-2.36657,-2.29211,-1.95669,-1.66983,-2.05843,-1.92204,-2.23034,-2.29251,-1.46862,-3.30139,-2.76587,-1.25233,-1.42594,-2.11966,-2.86193,-3.53614,-1.62854,-2.06942,-2.94541,-0.369165,-0.194437,-0.395671,-0.208158,-0.380411,-0.290115,-0.437715,-0.0688807,-0.240338,-0.330818,-0.256966,-0.326233,-0.531687,-0.0769637,-0.308175,-0.361296,-0.254334,-0.257994,-0.225489,-0.223231,-0.337274,-0.284044,-0.406028,0.0821475 --5912.05,0.0210322,0.350484,3,-0.208311,0.00858546,-2.42941,-2.27357,-2.78601,-2.41521,-2.49729,-2.4211,-1.78944,-1.95016,-2.00902,-2.22326,-2.25988,-1.38155,-2.74911,-2.75634,-1.4487,-1.58992,-1.85488,-3.07223,-3.20072,-1.34878,-2.27165,-2.93791,-0.321832,-0.0909693,-0.236419,-0.303694,-0.297417,-0.184942,-0.293896,-0.0980833,-0.337143,-0.27348,-0.167969,-0.0983092,-0.186837,-0.0540125,-0.198306,-0.22771,-0.238262,-0.144064,-0.130281,-0.296218,-0.176026,-0.203125,-0.339344,0.0926577 --5912.31,0.0734047,0.350484,3,-0.158788,0.00335385,-2.12886,-2.54336,-2.15675,-2.2701,-2.47355,-2.81018,-1.79751,-2.17614,-2.12848,-2.30738,-2.23402,-1.621,-3.21621,-2.69898,-1.49132,-1.60065,-1.87815,-2.99057,-3.54323,-1.38083,-2.14276,-2.96889,-0.0785931,-0.262594,-0.279743,-0.246925,-0.0678513,-0.187204,-0.0973438,-0.124968,-0.249955,-0.23073,-0.102588,-0.159976,-0.128366,-0.168968,-0.154161,-0.210967,-0.121142,-0.0550138,-0.182014,-0.305671,-0.244493,-0.134478,-0.0321449,0.0579125 --5918.12,0.910935,0.350484,3,-0.18405,0.00698604,-2.45827,-2.47636,-2.62572,-2.43297,-2.49516,-2.21932,-1.70662,-2.1797,-1.94177,-2.24784,-2.30084,-1.51196,-3.34066,-2.72599,-1.34782,-1.49307,-1.83148,-2.5412,-3.84393,-1.34998,-1.9843,-2.89257,-0.312769,-0.117052,-0.0333334,-0.285893,-0.244278,-0.153854,-0.405234,-0.125049,-0.157157,-0.269691,-0.219916,-0.109848,-0.20701,-0.0129872,-0.464631,-0.0941278,-0.217457,-0.374513,-0.166294,-0.125724,-0.234058,-0.260254,0.163979,0.0835825 --5917.08,0.735669,0.350484,2,-0.250544,0.00988773,-2.02591,-2.1161,-1.97086,-2.41962,-2.35773,-3.19924,-1.6795,-2.07632,-1.79751,-2.21271,-2.29449,-1.41113,-3.49511,-2.71584,-1.30415,-1.49345,-1.65196,-2.8855,-3.33242,-1.41607,-2.0763,-2.95889,0.0291686,-0.271647,-0.261545,-0.176804,-0.121647,-0.201943,-0.324582,-0.260204,-0.35439,-0.278558,-0.186897,-0.312856,-0.0988548,-0.166807,-0.160581,-0.087578,-0.309994,-0.0331637,-0.206699,-0.179091,-0.539105,-0.356559,-0.2783,0.0994371 --5918.85,1,0.350484,2,-0.253253,0.0152555,-2.90878,-2.10615,-2.51434,-2.33252,-2.33212,-1.54923,-1.81597,-2.24716,-2.02484,-2.2454,-2.59326,-1.51668,-2.9653,-2.86078,-1.48219,-1.40459,-2.14254,-3.03137,-3.35836,-1.29694,-1.9717,-2.78912,0.00086563,-0.208378,-0.175891,-0.323978,-0.26435,-0.230336,-0.265907,-0.0666123,-0.173529,-0.320871,-0.0651822,-0.0774203,-0.290638,0.219885,-0.282695,-0.346169,-0.145177,-0.387468,-0.1986,-0.343666,-0.398515,-0.214431,-0.181349,0.123513 --5921.27,0.781834,0.350484,2,-0.173908,0.012368,-2.83407,-2.2893,-2.47797,-2.48363,-2.37931,-2.46559,-1.7855,-2.17882,-1.84114,-2.31459,-2.30167,-1.58314,-2.89018,-2.90419,-1.42301,-1.15908,-1.81673,-3.37607,-3.44285,-1.36358,-2.13432,-2.85839,-0.319248,-0.153691,-0.19345,-0.0935224,-0.114746,-0.753699,-0.354189,-0.032403,-0.271134,-0.209321,-0.155282,-0.134904,-0.0943165,0.215799,-0.112429,-0.308172,-0.275783,-0.161308,-0.193759,-0.356579,-0.135867,-0.3666,-0.243756,0.111211 --5919.45,0.767942,0.350484,2,-0.252357,0.0125582,-2.62211,-2.49705,-2.08929,-2.36251,-2.33243,-2.25292,-1.71082,-2.06776,-2.03038,-2.24113,-2.46746,-1.55983,-3.28615,-2.61695,-1.5586,-1.49075,-1.81028,-2.70726,-3.19457,-1.41411,-2.19928,-2.84148,-0.0223537,-0.2509,-0.20131,-0.271502,-0.251881,-0.439969,-0.263749,-0.296726,-0.16558,-0.180398,-0.145552,-0.0788887,-0.383656,-0.325834,-0.260378,-0.416177,-0.333411,-0.19499,-0.215071,-0.0174496,-0.367582,-0.191082,-0.118955,0.112063 --5920.55,0.936092,0.350484,3,-0.313381,0.0242149,-1.93616,-1.8081,-2.11924,-2.38667,-2.58297,-2.17252,-1.6346,-2.07226,-1.91921,-2.2077,-2.30318,-1.31911,-2.66218,-3.15779,-1.09677,-1.39943,-2.0674,-3.24104,-3.70078,-1.65439,-2.07535,-2.95124,-0.394237,-0.31965,-0.361303,-0.227076,-0.199735,-0.312343,-0.499985,-0.205018,-0.373477,-0.413287,-0.232519,-0.430145,-0.322878,0.643059,-0.355569,-0.257662,-0.214228,-0.364063,-0.225219,-0.446284,-0.375436,-0.347426,-0.453208,0.155612 --5922.16,0.34359,0.350484,2,-0.356338,0.00644138,-2.97264,-1.79303,-2.41468,-2.51961,-2.59877,-1.87117,-1.64367,-1.99219,-1.90419,-2.23686,-2.23844,-1.47307,-3.15574,-3.14502,-1.45053,-1.43595,-1.95556,-3.01131,-4.11674,-1.46823,-2.24626,-2.84027,-0.263064,-0.366328,-0.280251,-0.249579,-0.188798,-0.405178,-0.552765,-0.200085,-0.340309,-0.378232,-0.308412,-0.394218,-0.387113,0.249506,-0.348962,-0.334434,-0.303166,-0.191838,-0.309894,-0.097649,-0.320107,-0.398684,-0.579063,0.0802582 --5921.2,0.273939,0.350484,2,-0.311496,0.0237113,-2.82711,-2.17626,-2.06569,-2.3718,-2.46009,-2.14478,-1.61912,-1.96077,-1.80686,-2.14769,-2.21767,-1.47492,-2.90077,-3.06064,-1.22316,-1.41913,-1.93997,-2.55,-3.54727,-1.47796,-1.95853,-2.5617,-0.34034,-0.430316,-0.448798,-0.257885,-0.167125,-0.448228,-0.611324,-0.361036,-0.497142,-0.476902,-0.277155,-0.266768,-0.400007,0.49762,-0.304118,-0.378616,-0.33733,-0.159943,-0.29389,-0.152978,-0.301578,-0.338071,-0.408559,0.153985 --5924.69,0.923838,0.350484,3,-0.342536,0.0128031,-2.18643,-2.08558,-2.40163,-2.42022,-2.48787,-2.03142,-1.68714,-1.88198,-1.8253,-2.1153,-2.27231,-1.57019,-3.0298,-2.87658,-1.19133,-1.47999,-1.57631,-2.90656,-3.64704,-1.34286,-2.10041,-2.81169,-0.25366,-0.305008,-0.208071,-0.196678,0.197378,-0.409124,-0.39246,-0.412508,-0.240952,-0.404334,-0.0508786,-0.201165,-0.479119,0.264064,-0.379167,-0.347737,-0.422416,-0.292308,-0.321445,-0.420189,-0.538904,-0.599538,-0.0955788,0.113151 --5925.41,0.953605,0.350484,3,-0.270328,0.0286066,-2.4235,-2.21881,-2.2151,-2.37718,-2.343,-2.46925,-1.64634,-2.28329,-2.01766,-2.29436,-2.24366,-1.21139,-2.94141,-2.75463,-1.49286,-1.41882,-2.24389,-3.03411,-3.23891,-1.79943,-2.07468,-2.93069,-0.217205,-0.32604,-0.483117,-0.382545,-0.54462,-0.348359,-0.528221,-0.0836094,-0.324158,-0.271933,-0.268213,-0.205709,-0.322828,-0.0435497,-0.318442,-0.153523,-0.0715556,-0.350493,-0.32757,0.150379,-0.246217,-0.229782,-0.79501,0.169135 --5927.6,0.987286,0.350484,3,-0.22569,0.032944,-2.71371,-2.01965,-2.24081,-2.54819,-2.82517,-2.65207,-1.81357,-2.05188,-2.14427,-2.24628,-2.38859,-1.43518,-3.2346,-2.8054,-1.28905,-1.45122,-1.93108,-3.05968,-3.63221,-1.18998,-2.11667,-2.91199,-0.0498608,-0.22835,-0.260051,-0.238738,-0.0667358,-0.195521,-0.340262,-0.265139,-0.273686,-0.304569,-0.0618583,0.0795384,-0.225105,0.0906656,-0.300428,-0.15963,-0.169572,-0.240509,0.114823,-0.421884,-0.158438,-0.388425,0.32033,0.181505 --5928.55,0.929608,0.350484,2,-0.208094,0.0189208,-2.48988,-2.18472,-2.11008,-2.57441,-2.76012,-2.89093,-1.84551,-2.10868,-2.15444,-2.25181,-2.37382,-1.38377,-3.3017,-2.79143,-1.26352,-1.40829,-1.89167,-2.8341,-3.75309,-1.26962,-2.0635,-2.89266,-0.0208235,-0.210299,-0.20377,-0.264041,-0.0292338,-0.196346,-0.441378,-0.209398,-0.26174,-0.260239,-0.0867686,0.0243266,-0.238469,-0.0154713,-0.303327,-0.179469,-0.183726,-0.150851,0.0772495,-0.420178,-0.166001,-0.336967,0.429691,0.137553 --5940.86,0.65671,0.350484,3,-0.261937,0.0364705,-2.50433,-2.27364,-1.90913,-2.51258,-3.03753,-2.7899,-1.79745,-2.16597,-2.10121,-2.24891,-2.53841,-1.31005,-2.87848,-2.70994,-1.30467,-1.35947,-2.23707,-3.1301,-3.23424,-1.27075,-2.35477,-2.92701,-0.0996677,0.0443388,-0.0373845,-0.164102,0.205683,-0.024843,-0.383645,-0.0678001,-0.428952,-0.296379,-0.337453,-0.143047,-0.261191,0.0529615,-0.226559,-0.447022,-0.229994,-0.292637,0.0529138,-0.391016,-0.301901,-0.343296,0.622206,0.190973 --5930.31,0.979133,0.350484,3,-0.175393,0.013953,-3.17858,-2.34318,-2.44123,-2.43143,-2.38487,-2.39483,-1.61053,-2.16127,-1.66591,-2.23576,-2.25331,-1.45226,-3.03684,-2.7183,-1.47653,-1.2149,-2.15804,-3.21094,-4.14946,-1.3736,-2.04666,-2.90593,-0.111008,-0.338202,-0.396841,-0.111046,0.0489516,-0.273711,-0.317104,-0.345018,-0.515315,-0.269379,-0.0478158,-0.214413,-0.315679,-0.177393,-0.217965,-0.186062,0.129402,-0.37923,-0.07964,-0.267262,-0.270602,-0.324999,0.0765295,0.118123 --5922.65,0.945596,0.350484,3,-0.301567,0.00532537,-1.70522,-2.12492,-1.80958,-2.31214,-2.23538,-2.39679,-1.61668,-2.27235,-1.92029,-2.19899,-2.08916,-1.47125,-3.16665,-2.90788,-1.17681,-1.37103,-1.63542,-3.61053,-3.67429,-1.47476,-1.96207,-2.96237,-0.173163,-0.301471,-0.362296,-0.321098,-0.270075,-0.244133,-0.327005,-0.231579,-0.190456,-0.348695,-0.237231,-0.24879,-0.228667,0.0233962,-0.341271,-0.143469,-0.247219,-0.307893,-0.547051,-0.150104,-0.344883,-0.35511,-0.470322,0.0729751 --5922.3,1,0.350484,2,-0.295278,0.0050585,-1.71567,-2.31598,-1.75715,-2.34792,-2.22336,-2.53237,-1.57431,-2.24523,-2.02946,-2.22201,-2.12183,-1.45682,-3.11966,-2.88969,-1.14203,-1.37648,-1.69547,-3.43354,-3.7247,-1.49184,-1.9675,-2.94802,-0.0764436,-0.252236,-0.425274,-0.325434,-0.275856,-0.336725,-0.382932,-0.28123,-0.0901402,-0.350095,-0.346652,-0.358961,-0.188844,0.0904588,-0.343952,-0.206612,-0.314054,-0.307894,-0.468293,-0.23418,-0.335194,-0.328935,-0.51325,0.0711231 --5924.93,0.941139,0.350484,2,-0.313801,0.045414,-2.91815,-2.25837,-2.19751,-2.47041,-2.30008,-1.91553,-1.73424,-2.05777,-2.02704,-2.13054,-2.1367,-1.25702,-3.0914,-2.74215,-1.34064,-1.44109,-1.61771,-3.05491,-3.21143,-1.62781,-2.19634,-3.10231,-0.353834,-0.529592,-0.536577,-0.17273,-0.325689,-0.324333,-0.449237,-0.154235,-0.103497,-0.32131,-0.478962,-0.228566,-0.403528,0.107993,-0.24856,-0.214181,-0.433298,-0.300267,-0.48742,-0.249062,-0.419925,-0.326885,-0.442115,0.213106 --5924.99,0.976404,0.350484,2,-0.325616,0.0318948,-1.47596,-1.8048,-2.04607,-2.419,-2.45189,-2.28746,-1.73217,-2.14095,-1.89032,-2.20402,-2.28123,-1.53085,-2.86478,-2.9291,-1.53921,-1.37769,-2.2473,-2.62406,-3.37744,-1.4135,-1.84998,-2.96696,-0.254772,-0.27466,-0.103357,-0.258213,-0.202039,-0.401535,-0.309702,-0.354194,-0.560396,-0.462916,-0.217414,-0.356047,-0.357167,0.00936112,-0.319725,-0.40355,-0.128968,-0.366849,-0.0923323,-0.240159,-0.4442,-0.26005,-0.148356,0.178591 --5927.37,0.825066,0.350484,2,-0.250701,0.0179279,-2.56913,-1.96546,-2.74747,-2.40342,-2.483,-1.97628,-1.67632,-2.17996,-1.59184,-2.17305,-2.33492,-1.31905,-2.98688,-2.78938,-1.27533,-1.35492,-2.15245,-2.5061,-3.1845,-1.25587,-2.28296,-3.01364,-0.632092,-0.232625,-0.227192,-0.20812,0.0886022,-0.529928,-0.499556,-0.107892,-0.559502,-0.34214,-0.265932,-0.37395,-0.295844,0.170598,-0.218256,-0.328978,-0.186731,-0.41213,0.0928504,-0.322328,-0.281342,-0.345979,-0.0807659,0.133895 --5933.17,0.924197,0.350484,2,-0.187556,0.0263824,-2.61472,-2.43613,-1.86605,-2.35171,-2.49159,-2.34194,-1.65584,-2.30192,-2.0476,-2.29382,-2.44928,-1.438,-3.48888,-3.06041,-1.16281,-1.55704,-1.99042,-3.37782,-3.63993,-1.72643,-1.91606,-2.88846,0.0863398,-0.266812,0.00220869,-0.368056,-0.210692,-0.0145751,-0.419215,0.047847,-0.728937,-0.330475,-0.0327604,-0.257723,-0.133721,0.359326,-0.602296,-0.197029,-0.0415018,-0.0296564,-0.3673,-0.224764,-0.445084,-0.246064,-0.0245317,0.162427 --5931.89,0.788575,0.350484,3,-0.27353,0.0293981,-2.42477,-1.79811,-2.3557,-2.48723,-2.73756,-2.32901,-1.68496,-2.28769,-1.82394,-2.21527,-2.37513,-1.27859,-2.8909,-2.94356,-0.886442,-1.58111,-1.89913,-3.58782,-3.33989,-1.62643,-2.04707,-2.81977,-0.130861,-0.368532,-0.227881,-0.143167,0.149435,-0.0828549,-0.527333,-0.192981,-0.682303,-0.377978,-0.180294,-0.145884,-0.198728,0.384001,-0.477987,0.0183568,-0.322866,-0.175567,-0.384552,-0.102605,-0.31112,-0.286232,-0.604611,0.171459 --5924.15,0.984898,0.350484,3,-0.28848,0.0304237,-2.45731,-2.56769,-1.823,-2.23583,-2.32209,-2.20184,-1.7542,-2.2191,-1.81182,-2.22856,-2.36268,-1.48165,-3.01347,-2.66863,-1.72242,-1.40452,-2.00197,-2.78739,-3.75466,-1.32085,-2.10863,-2.78845,-0.371846,-0.245512,-0.333175,-0.294829,-0.219771,-0.478849,-0.342204,-0.0670464,-0.269419,-0.25437,-0.257925,-0.250135,-0.440978,0.079457,-0.106404,-0.468688,-0.0183219,-0.372589,-0.195752,-0.327602,-0.367392,-0.719515,0.0561491,0.174424 --5918.97,0.955078,0.350484,3,-0.195609,0.00715119,-2.43453,-1.92411,-2.27686,-2.42603,-2.35599,-2.93425,-1.65788,-2.07712,-2.01227,-2.27164,-2.39748,-1.57285,-3.19767,-2.70172,-1.16479,-1.68172,-2.02351,-2.93788,-3.06044,-1.58245,-2.05715,-2.92978,-0.280376,-0.299071,-0.153643,-0.0921581,-0.0759054,-0.344305,-0.346785,-0.304385,-0.293388,-0.246779,-0.141798,-0.252972,-0.239432,0.084313,-0.288157,-0.0723116,-0.286337,0.0277395,-0.219113,-0.158671,-0.269905,-0.185868,-0.626546,0.0845647 --5924.23,0.826412,0.350484,3,-0.183871,0.012396,-2.3294,-2.39026,-2.11128,-2.47159,-2.49433,-2.63964,-1.73215,-1.86171,-2.01447,-2.17507,-2.43721,-1.37142,-2.64926,-2.90562,-1.52619,-1.58761,-2.24151,-3.1235,-3.82565,-1.54756,-2.31134,-2.67419,-0.0491002,-0.146778,-0.287714,-0.238063,-0.355185,0.117956,-0.418485,-0.441238,-0.163495,-0.412192,-0.0819045,-0.113633,-0.240248,-0.0648059,-0.1064,-0.0638086,0.102292,-0.187037,-0.0948596,-0.116302,-0.238556,-0.518015,-0.191108,0.111337 --5919.49,0.903133,0.350484,3,-0.26043,0.00523677,-2.88377,-1.96364,-2.1354,-2.31049,-2.30204,-2.3193,-1.65054,-2.25911,-2.28705,-2.1218,-2.36191,-1.57111,-3.09766,-2.61234,-1.31664,-1.37868,-2.00943,-3.78069,-2.73013,-1.35237,-2.11621,-2.87221,-0.310422,-0.306336,-0.184804,-0.238514,-0.0733241,-0.44589,-0.364311,-0.0538242,-0.200928,-0.471354,-0.215604,-0.233817,-0.277285,-0.129809,-0.299126,-0.307768,-0.291535,0.0617203,-0.289638,-0.383124,-0.292738,-0.253179,-0.236955,0.0723655 --5924.15,0.732167,0.350484,2,-0.219959,0.0148317,-2.07323,-2.32687,-2.12753,-2.57755,-2.60886,-2.06469,-1.7124,-1.94185,-1.54808,-2.19152,-2.36072,-1.40403,-3.02612,-3.05681,-1.21268,-1.50294,-2.03086,-2.5567,-3.69822,-1.66521,-2.09285,-2.8293,-0.193288,-0.317655,-0.208564,-0.0981263,-0.164685,-0.107282,-0.444696,-0.351183,-0.466603,-0.377112,-0.173325,-0.121225,-0.199547,0.316801,-0.40788,-0.25562,-0.0587897,-0.248142,-0.360215,-0.115722,-0.404802,-0.602744,-0.442364,0.121786 --5921.83,0.886606,0.350484,2,-0.301887,0.0149701,-2.01984,-2.22934,-1.67096,-2.35145,-2.2982,-1.90364,-1.71962,-2.08602,-2.1789,-2.21554,-2.22594,-1.47585,-3.01245,-2.97155,-1.40164,-1.41739,-2.1971,-2.91605,-3.68548,-1.55937,-2.11315,-2.95727,-0.292846,-0.350487,-0.297344,-0.244812,-0.26882,-0.400733,-0.253115,-0.207591,-0.331419,-0.267098,-0.340042,-0.170119,-0.265856,0.338887,-0.149203,-0.389886,-0.0701872,-0.647534,-0.124405,-0.0438897,-0.465834,-0.182176,0.0203942,0.122352 --5921.83,0.484633,0.350484,2,-0.301887,0.0149701,-2.01984,-2.22934,-1.67096,-2.35145,-2.2982,-1.90364,-1.71962,-2.08602,-2.1789,-2.21554,-2.22594,-1.47585,-3.01245,-2.97155,-1.40164,-1.41739,-2.1971,-2.91605,-3.68548,-1.55937,-2.11315,-2.95727,-0.292846,-0.350487,-0.297344,-0.244812,-0.26882,-0.400733,-0.253115,-0.207591,-0.331419,-0.267098,-0.340042,-0.170119,-0.265856,0.338887,-0.149203,-0.389886,-0.0701872,-0.647534,-0.124405,-0.0438897,-0.465834,-0.182176,0.0203942,0.122352 --5925.6,0.792853,0.350484,3,-0.229979,0.017642,-3.07522,-2.03516,-2.27223,-2.41132,-2.30383,-2.14296,-1.74533,-2.19652,-2.06426,-2.243,-1.94781,-1.38629,-3.23642,-2.8465,-1.49328,-1.24901,-1.91194,-3.42369,-3.79435,-1.67446,-2.06726,-2.91982,-0.201085,-0.244581,-0.227567,-0.323519,-0.244515,-0.175122,-0.399515,-0.263051,-0.293758,-0.287998,-0.481991,-0.16562,-0.285865,0.169048,0.0325611,-0.323917,-0.385053,0.159299,-0.00480771,-0.334444,-0.22687,-0.442093,-0.0828844,0.132823 --5933.28,0.981769,0.350484,2,-0.242128,0.0277223,-1.91637,-2.3112,-2.29126,-2.35637,-2.24801,-3.02314,-1.82959,-2.23568,-1.83673,-2.24705,-2.18936,-1.43069,-2.7378,-2.82458,-1.46364,-1.24019,-1.71865,-3.72417,-3.81955,-1.47908,-2.04445,-2.75458,-0.146558,-0.42148,-0.102958,-0.129677,-0.243784,-0.0212636,-0.236527,-0.104027,-0.155651,-0.341634,-0.560884,-0.250584,-0.291722,0.0587158,0.105255,-0.393978,-0.313623,0.150267,-0.073147,-0.0967712,-0.364103,-0.588553,-0.50477,0.1665 --5919.95,0.931737,0.350484,3,-0.294908,0.00689139,-2.29235,-2.24298,-2.24247,-2.43479,-2.0775,-2.70394,-1.66089,-2.24951,-2.02826,-2.16784,-1.98519,-1.31314,-2.83157,-2.82624,-1.67876,-1.20169,-1.94158,-2.86223,-3.2508,-1.53851,-2.1792,-3.00392,-0.423319,-0.249889,-0.192827,-0.413062,-0.375125,-0.308751,-0.384234,-0.232853,-0.327612,-0.43592,-0.484588,-0.327629,-0.386368,-0.163945,-0.210666,-0.325955,-0.240935,-0.318402,-0.274955,-0.332068,-0.420953,-0.253793,-0.0988757,0.0830144 --5920.58,0.838315,0.350484,2,-0.339245,0.00928527,-1.96012,-2.07036,-2.30729,-2.18315,-2.22645,-2.39662,-1.67425,-2.21034,-1.8579,-2.17682,-2.28332,-1.29941,-3.00718,-2.68501,-1.3084,-1.41192,-1.86669,-2.80978,-3.50587,-1.43008,-2.27939,-2.77731,-0.26477,-0.477459,-0.445473,-0.32351,-0.703721,-0.390839,-0.544161,-0.287739,-0.217276,-0.314696,-0.339677,-0.296478,-0.329125,0.16895,-0.3396,-0.406988,-0.354932,-0.359365,-0.40303,-0.360767,-0.307696,-0.564969,-0.289756,0.0963601 --5917.7,1,0.350484,2,-0.369939,0.003066,-2.28321,-2.18181,-2.04205,-2.44481,-2.03089,-2.0203,-1.63842,-1.92674,-2.17782,-2.30684,-2.21511,-1.40394,-2.75161,-2.78534,-1.26485,-1.6681,-1.9196,-2.82036,-3.51388,-1.36616,-2.02201,-2.8522,-0.393106,-0.351062,-0.305515,-0.426497,-0.192937,-0.34578,-0.360483,-0.362824,-0.475765,-0.366465,-0.383468,-0.424603,-0.340754,-0.456918,-0.411637,-0.235403,-0.236469,-0.312632,-0.339199,-0.401451,-0.325269,-0.274202,-0.312536,0.0553714 --5905.33,0.372289,0.350484,2,-0.352658,0.00518299,-2.38242,-2.35215,-1.87362,-2.41119,-2.17988,-2.11123,-1.60908,-1.91119,-2.11141,-2.31905,-2.20864,-1.48746,-2.82468,-2.758,-1.24847,-1.6576,-1.90354,-2.85531,-3.43571,-1.39247,-1.95454,-2.94172,-0.263832,-0.326252,-0.398932,-0.359408,-0.279402,-0.377059,-0.401002,-0.317025,-0.408008,-0.401004,-0.357582,-0.34588,-0.377085,-0.318887,-0.419743,-0.23238,-0.252575,-0.346416,-0.429955,-0.345148,-0.398312,-0.36689,-0.306933,0.071993 --5906.59,0.012338,0.350484,3,-0.36979,0.00427137,-2.32832,-2.2832,-1.81431,-2.3973,-2.41091,-2.25142,-1.73729,-2.23456,-1.83835,-2.13951,-2.23677,-1.34752,-2.86436,-2.84279,-1.1844,-1.63751,-1.94886,-2.77852,-3.03417,-1.48595,-2.19436,-2.77395,-0.412384,-0.367262,-0.432446,-0.321847,-0.351955,-0.313716,-0.463789,-0.272058,-0.423227,-0.395421,-0.498825,-0.334762,-0.3167,-0.212231,-0.313756,-0.319892,-0.420183,-0.344272,-0.293407,-0.385736,-0.509704,-0.361925,-0.403411,0.0653557 --5906.59,0.151819,0.350484,1,-0.36979,0.00427137,-2.32832,-2.2832,-1.81431,-2.3973,-2.41091,-2.25142,-1.73729,-2.23456,-1.83835,-2.13951,-2.23677,-1.34752,-2.86436,-2.84279,-1.1844,-1.63751,-1.94886,-2.77852,-3.03417,-1.48595,-2.19436,-2.77395,-0.412384,-0.367262,-0.432446,-0.321847,-0.351955,-0.313716,-0.463789,-0.272058,-0.423227,-0.395421,-0.498825,-0.334762,-0.3167,-0.212231,-0.313756,-0.319892,-0.420183,-0.344272,-0.293407,-0.385736,-0.509704,-0.361925,-0.403411,0.0653557 --5914.59,0.723856,0.350484,2,-0.367838,0.00489244,-2.4853,-2.28122,-2.29317,-2.49816,-2.186,-1.90176,-1.68743,-1.85109,-1.90996,-2.1308,-2.19222,-1.43612,-2.82593,-2.7662,-1.107,-1.56828,-2.06483,-2.80635,-2.96751,-1.31277,-1.91501,-2.5687,-0.323713,-0.370796,-0.32152,-0.258995,-0.357596,-0.454894,-0.367921,-0.489921,-0.392572,-0.395021,-0.264338,-0.365465,-0.423925,-0.285628,-0.462285,-0.212469,-0.228018,-0.375086,-0.43488,-0.446678,-0.256345,-0.46156,-0.373077,0.069946 --5914.55,0.72176,0.350484,3,-0.341912,0.00379741,-2.0473,-2.10015,-1.88285,-2.2233,-2.45752,-2.31204,-1.65207,-2.24993,-1.73025,-2.35272,-2.2531,-1.26606,-2.86681,-2.62232,-1.65357,-1.25191,-1.87442,-2.9542,-3.62423,-1.52742,-2.25589,-3.20496,-0.326912,-0.369878,-0.307482,-0.326301,-0.326904,-0.431612,-0.34586,-0.177507,-0.359288,-0.264718,-0.445744,-0.314976,-0.361914,-0.405276,-0.197891,-0.471152,-0.284673,-0.37401,-0.423158,-0.2879,-0.342187,-0.339379,-0.39475,0.0616232 --5918.66,0.572979,0.350484,2,-0.330576,0.00294926,-2.03375,-1.89699,-1.89189,-2.2777,-2.44497,-2.41238,-1.63577,-2.28312,-1.71985,-2.31508,-2.26028,-1.34617,-2.97276,-2.60844,-1.68863,-1.35621,-1.84088,-3.0417,-3.59596,-1.48532,-2.13921,-3.27676,-0.293807,-0.411284,-0.382269,-0.334037,-0.303286,-0.468437,-0.307184,-0.178664,-0.417924,-0.279616,-0.450683,-0.350569,-0.255337,-0.372231,-0.286794,-0.486176,-0.349836,-0.334922,-0.501101,-0.240953,-0.349237,-0.288948,-0.296514,0.0543071 --5926.05,1,0.350484,2,-0.355814,0.0066193,-1.8666,-1.71816,-2.09317,-2.33056,-2.42709,-3.04035,-1.88951,-2.27626,-1.99829,-2.23917,-2.10367,-1.42508,-3.08603,-2.76989,-1.5407,-1.25984,-2.01408,-3.12803,-3.47877,-1.59642,-2.15973,-3.16796,-0.449812,-0.343894,-0.432554,-0.414964,-0.371702,-0.1753,-0.380773,-0.0537494,-0.320319,-0.392317,-0.320285,-0.318857,-0.471096,-0.147179,-0.462902,-0.230372,-0.332106,-0.348846,-0.0806727,-0.431463,-0.394293,-0.399313,-0.429033,0.0813591 --5921.19,0.62059,0.350484,2,-0.266859,0.0132601,-2.46638,-1.93456,-2.20061,-2.24084,-2.4282,-2.5685,-1.81375,-2.16949,-1.89789,-2.25674,-2.2477,-1.37489,-3.00788,-2.72036,-1.60474,-1.61614,-2.05694,-2.51269,-3.33934,-1.41087,-2.24825,-2.81365,-0.293272,-0.330178,-0.215082,-0.285403,-0.236046,0.0427413,-0.0436575,-0.220546,-0.467399,-0.351704,-0.272719,-0.263907,-0.285162,-0.0613406,-0.415478,-0.327309,-0.137614,-0.198463,-0.374383,-0.384566,-0.23044,-0.26916,-0.304426,0.115153 --5939.93,0.430816,0.350484,3,-0.139694,0.0636248,-2.08375,-2.0364,-1.942,-2.4255,-2.33592,-2.04179,-1.69451,-1.98141,-2.0429,-2.23498,-2.17802,-1.42349,-3.30555,-2.61918,-1.17665,-1.2834,-1.95524,-3.16918,-2.94613,-1.54509,-1.98404,-3.22956,-0.14358,-0.514493,-0.400018,-0.358168,-0.180084,-0.283189,-0.656257,-0.265472,-0.00895367,-0.220283,-0.397798,-0.244856,-0.251736,-0.353515,0.0363305,-0.188149,-0.299919,-0.430404,-0.209108,-0.0954017,-0.517011,-0.332351,-0.15691,0.252239 --5932.2,1,0.350484,3,-0.0596346,0.053237,-2.87091,-2.19272,-2.54451,-2.52509,-2.43117,-2.35771,-1.8508,-2.18937,-1.92378,-2.18458,-2.54226,-1.62932,-2.7022,-3.06052,-1.34246,-1.43936,-2.19818,-3.51183,-3.92121,-1.37341,-2.25936,-2.8019,-0.212305,-0.0512713,-0.123745,-0.206313,0.179029,-0.24434,-0.399407,0.00804065,-0.49633,-0.291814,-0.0189445,-0.0210197,-0.314149,0.500322,-0.318117,-0.0688799,-0.0103507,0.0271386,0.0236404,-0.279335,-0.197343,-0.539125,-0.38948,0.230731 --5932.67,0.863166,0.350484,2,-0.0849929,0.0200181,-2.19592,-2.19191,-2.1859,-2.29973,-2.62031,-2.12736,-1.68064,-2.4492,-1.82579,-2.28147,-2.32032,-1.46313,-2.89382,-3.13059,-1.48684,-1.62705,-2.20136,-2.48128,-3.22575,-1.4359,-2.14574,-2.71429,-0.0151353,-0.144837,0.119021,-0.359559,-0.246657,-0.18989,-0.256309,0.159791,-0.194971,-0.293788,-0.161084,-0.0115968,-0.367978,0.430176,0.021672,0.0126375,-0.0794464,0.166347,-0.394856,-0.152521,-0.29947,-0.483452,0.0957875,0.141485 --5937.67,0.966627,0.350484,3,-0.150331,0.024233,-2.38965,-2.25616,-2.31493,-2.38446,-1.93477,-2.43788,-1.83303,-2.21413,-2.22013,-2.24066,-2.28597,-1.88571,-2.9653,-2.78285,-1.08411,-1.81928,-1.96108,-3.60878,-3.61048,-1.36015,-2.11955,-3.08311,-0.178999,-0.314814,-0.488112,-0.289142,-0.351261,-0.287341,-0.366858,0.0462175,-0.108006,-0.212693,-0.279353,0.262163,-0.494849,0.047692,-0.343064,0.154117,0.0417568,-0.151729,-0.0547022,-0.328555,-0.31663,-0.189104,0.290255,0.15567 --5935.34,0.54221,0.350484,3,-0.269335,0.0530168,-1.83476,-2.42099,-2.11945,-2.41138,-2.48883,-2.28487,-1.65926,-2.28657,-1.96,-2.20703,-2.40999,-1.46832,-2.91187,-2.77586,-1.44642,-1.86173,-1.97961,-2.46475,-3.27443,-1.784,-1.79596,-3.04694,-0.215388,0.053962,-0.237775,-0.168359,-0.22839,-0.453282,-0.171552,-0.178568,-0.251071,-0.409753,-0.0964413,-0.0539777,-0.296024,-0.0597935,-0.222316,0.132155,-0.30664,-0.202166,-0.308631,0.021776,-0.613924,-0.275578,0.439289,0.230254 --5932.62,0.937387,0.350484,3,-0.104827,0.0690368,-3.05449,-2.34465,-2.08179,-2.4502,-2.30957,-2.11545,-1.84401,-2.0954,-2.02986,-2.3084,-2.23206,-1.46673,-3.09443,-2.8694,-1.57561,-1.56938,-1.73972,-3.16606,-4.45638,-1.35661,-2.11211,-2.87514,-0.10995,-0.364036,-0.113427,-0.213721,-0.0706475,-0.28905,-0.464212,-0.027091,-0.169623,-0.12331,-0.322205,-0.246085,-0.122203,0.150344,-0.0679014,0.0180877,-0.213304,-0.240342,0.24665,-0.220636,-0.512093,-0.217441,0.498282,0.262749 - -# Elapsed Time: 0.189802 seconds (Warm-up) -# 0.180837 seconds (Sampling) -# 0.370639 seconds (Total) - diff --git a/arviz/tests/saved_models/stan_diagnostics/blocker.2.csv b/arviz/tests/saved_models/stan_diagnostics/blocker.2.csv deleted file mode 100644 index d4b8043075..0000000000 --- a/arviz/tests/saved_models/stan_diagnostics/blocker.2.csv +++ /dev/null @@ -1,1046 +0,0 @@ -# stan_version_major = 1 -# stan_version_minor = 3 -# stan_version_patch = 0 -# model = blocker_model -# method = sample (Default) -# sample -# num_samples = 1000 (Default) -# num_warmup = 1000 (Default) -# save_warmup = 0 (Default) -# thin = 1 (Default) -# adapt -# engaged = 1 (Default) -# gamma = 0.050000000000000003 (Default) -# delta = 0.65000000000000002 (Default) -# kappa = 0.75 (Default) -# t0 = 10 (Default) -# algorithm = hmc (Default) -# hmc -# engine = nuts (Default) -# nuts -# max_depth = 10 (Default) -# metric = diag_e (Default) -# stepsize = 1 (Default) -# stepsize_jitter = 0 (Default) -# id = 2 -# data = src/models/bugs_examples/vol1/blocker/blocker.data.R -# init = src/models/bugs_examples/vol1/blocker/blocker.init.R -# random -# seed = 1434732768 -# output -# sample = samples.csv (Default) -# append_sample = 0 (Default) -# diagnostic = (Default) -# append_diagnostic = 0 (Default) -# refresh = 100 (Default) -# save_warmup = 0 (Default) -lp__,accept_stat__,stepsize__,treedepth__,d,sigmasq_delta,mu.1,mu.2,mu.3,mu.4,mu.5,mu.6,mu.7,mu.8,mu.9,mu.10,mu.11,mu.12,mu.13,mu.14,mu.15,mu.16,mu.17,mu.18,mu.19,mu.20,mu.21,mu.22,delta.1,delta.2,delta.3,delta.4,delta.5,delta.6,delta.7,delta.8,delta.9,delta.10,delta.11,delta.12,delta.13,delta.14,delta.15,delta.16,delta.17,delta.18,delta.19,delta.20,delta.21,delta.22,delta_new,sigma_delta -# Adaptation terminated -# Step size = 0.394006 -# Diagonal elements of inverse mass matrix: -# 0.00322863, 0.807456, 0.197456, 0.057008, 0.0568689, 0.00658556, 0.0245002, 0.140821, 0.00633985, 0.0154381, 0.0227073, 0.00514662, 0.0106679, 0.0159943, 0.0524667, 0.0180388, 0.0261897, 0.0206052, 0.0286902, 0.0842937, 0.12626, 0.0161488, 0.019305, 0.019815, 0.0227948, 0.0226141, 0.0219908, 0.00837366, 0.0195498, 0.0276844, 0.0110352, 0.017097, 0.0176254, 0.00791707, 0.0105336, 0.0152164, 0.0236931, 0.026425, 0.0168275, 0.0155721, 0.0222602, 0.0295932, 0.0266263, 0.0133522, 0.0213881, 0.0193669, 0.0282044 --5920.06,0.944906,0.394006,2,-0.276974,0.00698287,-2.23739,-2.21334,-2.05925,-2.47399,-2.41292,-2.35844,-1.62829,-1.8695,-2.01179,-2.11007,-2.12297,-1.34989,-2.7458,-2.74806,-1.20604,-1.29538,-2.07298,-2.84211,-3.43846,-1.38036,-2.259,-3.0108,-0.223517,-0.345224,-0.163577,-0.221923,-0.184189,-0.0723447,-0.413496,-0.17643,-0.433357,-0.374598,-0.294718,-0.213375,-0.308022,0.167087,-0.306168,-0.241594,-0.272264,-0.265095,-0.321432,-0.339087,-0.278745,-0.575254,-0.531282,0.0835636 --5917.44,0.671807,0.394006,2,-0.344137,0.0126025,-2.52455,-1.93874,-2.08888,-2.39717,-2.39638,-2.04962,-1.70191,-2.17563,-1.8456,-2.29173,-2.3289,-1.35021,-2.87549,-2.93081,-1.21805,-1.51178,-2.28474,-3.50208,-3.56655,-1.37007,-2.31733,-2.75564,-0.548792,-0.23423,-0.479447,-0.338692,-0.310713,-0.34672,-0.426283,-0.336209,-0.24475,-0.296641,-0.231255,-0.254477,-0.387691,-0.0610687,-0.510707,-0.361057,-0.237379,-0.316267,-0.30089,-0.351853,-0.27341,-0.457794,-0.0945774,0.112261 --5926.15,0.340292,0.394006,2,-0.304378,0.020668,-1.72091,-2.30777,-1.73107,-2.51424,-2.30365,-2.05909,-1.56437,-1.95899,-1.84788,-2.22173,-2.52369,-1.35507,-3.06967,-2.9196,-1.35252,-1.42984,-1.73738,-2.62132,-3.00057,-1.45912,-2.27021,-2.85245,-0.0944224,-0.428497,-0.296265,-0.0462034,-0.2053,-0.372324,-0.49651,-0.153522,-0.457103,-0.28902,-0.0222778,-0.257379,-0.365907,0.449935,-0.223847,-0.223592,-0.154201,-0.117066,-0.220239,-0.237823,-0.227183,-0.539932,-0.48562,0.143764 --5935.98,0.426438,0.394006,2,-0.209506,0.0587488,-3.0916,-2.20599,-2.37811,-2.51981,-2.51717,-2.34206,-1.72623,-1.92897,-1.77862,-2.3439,-2.51954,-1.35229,-2.71466,-3.04462,-1.22782,-1.45819,-1.92973,-3.38742,-3.42173,-1.82031,-2.03604,-2.95642,-0.319037,-0.312097,-0.326303,-0.214735,-0.307383,-0.0374532,-0.425509,-0.482996,-0.147137,-0.176322,-0.0560504,-0.29956,-0.107503,0.220582,-0.257533,-0.227431,-0.325191,-0.207543,-0.197388,-0.325624,-0.302159,-0.396417,0.235017,0.242381 --5935.62,0.952999,0.394006,3,-0.114865,0.0453928,-1.83415,-2.2597,-1.94742,-2.43854,-2.4601,-1.96194,-1.75763,-2.17929,-2.20157,-2.23312,-2.27728,-1.6098,-3.53496,-3.07053,-1.53633,-1.51549,-2.21837,-3.06522,-3.36957,-1.04354,-2.20737,-2.86122,-0.096135,-0.174357,0.0302226,-0.191519,0.00786599,-0.12103,-0.263588,0.0763438,-0.222911,-0.390095,-0.276728,0.0660285,-0.282595,0.176826,-0.147859,-0.0437559,-0.158226,0.415384,0.0423299,-0.240262,-0.317187,-0.273653,-0.582085,0.213056 --5927.61,0.987393,0.394006,3,-0.272865,0.0112325,-2.66352,-2.14788,-2.13352,-2.39186,-2.51353,-2.05731,-1.59513,-1.93535,-2.15159,-2.31435,-2.40895,-1.35454,-3.48338,-2.68772,-1.44706,-1.55398,-2.24853,-2.95778,-3.37319,-1.42513,-2.2449,-2.9807,-0.360323,-0.188151,-0.183886,-0.30463,-0.131545,-0.444793,-0.445012,-0.342836,-0.275241,-0.383813,-0.159719,-0.369755,-0.474818,-0.224491,-0.391199,-0.1477,-0.273196,-0.170335,-0.314983,0.105146,-0.238287,-0.209836,0.188416,0.105983 --5921.66,0.98483,0.394006,2,-0.304855,0.0115173,-2.47041,-2.07954,-2.10003,-2.35217,-2.56796,-2.12264,-1.55604,-1.95495,-1.5148,-2.23318,-2.33247,-1.41098,-3.31666,-2.69961,-1.2571,-1.51237,-2.03092,-3.03189,-2.70372,-1.5156,-2.08567,-2.91376,-0.0911935,-0.394811,-0.184736,-0.348436,-0.187512,-0.317453,-0.517262,-0.475246,-0.49021,-0.275005,-0.388496,-0.302941,-0.215994,-0.171974,-0.173202,-0.115658,-0.256229,-0.384111,-0.293565,-0.0721072,-0.304349,-0.411123,-0.442522,0.107319 --5924.08,0.824202,0.394006,3,-0.129915,0.0197248,-2.21512,-2.21024,-2.00463,-2.42766,-2.25768,-2.49663,-1.81297,-2.07297,-1.87622,-2.22391,-2.26393,-1.56049,-3.3619,-2.83234,-1.25022,-1.60966,-2.03937,-3.08636,-3.02996,-1.3137,-2.17819,-2.65293,-0.138003,-0.362817,-0.182045,-0.252211,-0.334601,-0.391961,-0.271913,-0.197439,-0.364729,-0.366425,-0.0424159,-0.285062,-0.0684897,0.0970762,-0.162415,-0.08455,-0.106394,-0.153678,-0.0465626,-0.277596,-0.48811,-0.288933,0.0384193,0.140445 --5917.86,0.765326,0.394006,2,-0.233643,0.0143883,-2.30233,-1.99876,-1.97859,-2.39453,-2.31897,-1.89364,-1.77257,-1.80812,-1.88395,-2.32868,-2.37174,-1.51827,-3.19629,-2.85539,-1.30857,-1.4706,-2.21033,-2.93805,-3.62946,-1.41748,-2.27169,-2.82758,-0.279417,-0.257838,-0.169471,-0.246301,-0.214701,-0.289783,-0.207601,-0.248224,-0.23519,-0.36024,-0.344305,-0.137737,-0.210402,0.0520599,-0.148968,-0.114805,0.150383,-0.0677617,-0.118328,-0.273412,-0.439413,-0.305038,-0.153416,0.119951 --5920.22,0.820091,0.394006,2,-0.254796,0.0108544,-2.14963,-2.11049,-2.06287,-2.36087,-2.12873,-2.35213,-1.72251,-1.91015,-2.0526,-2.18057,-2.27843,-1.51412,-3.2172,-2.9605,-1.51978,-1.43225,-2.35889,-2.90516,-3.35751,-1.39105,-1.9527,-2.814,-0.292179,-0.324215,-0.324736,-0.294178,-0.331952,-0.369967,-0.363211,-0.370209,-0.0935574,-0.217467,-0.372836,-0.0339553,-0.0674899,0.290458,-0.155827,-0.236514,0.175702,-0.302772,-0.0914077,-0.155995,-0.405914,-0.270458,-0.309365,0.104184 --5921.16,0.909733,0.394006,3,-0.3035,0.0163175,-2.4731,-2.42248,-2.16669,-2.4495,-2.57829,-1.80212,-1.68174,-2.11734,-1.85836,-2.12773,-2.52813,-1.41278,-3.00474,-2.53787,-1.30528,-1.49521,-1.88901,-2.806,-3.33008,-1.54168,-2.34701,-2.95521,-0.302435,-0.41159,-0.297893,-0.197353,-0.0229936,-0.154209,-0.411999,-0.0148207,-0.387748,-0.257771,-0.29302,-0.284895,-0.5348,-0.349702,-0.392413,-0.244866,-0.385228,-0.0462578,-0.322166,-0.303068,-0.271515,-0.287463,-0.237358,0.12774 --5913.84,0.141854,0.394006,2,-0.292001,0.00798156,-2.49933,-2.12834,-2.30204,-2.49057,-2.49262,-2.70587,-1.64986,-2.05685,-1.82787,-2.13747,-2.547,-1.48182,-3.11062,-2.43117,-1.25289,-1.45445,-2.15604,-2.65194,-2.84816,-1.56763,-2.17629,-3.05095,-0.310763,-0.445604,-0.306534,-0.280508,-0.160456,-0.256347,-0.335874,-0.202691,-0.286895,-0.298816,-0.204537,-0.246169,-0.345203,-0.246763,-0.425165,-0.275942,-0.265088,-0.308852,-0.0980418,-0.288036,-0.361871,-0.319563,-0.371723,0.0893396 --5915.01,0.000187272,0.394006,2,-0.29165,0.00499712,-2.76443,-2.19374,-2.42369,-2.45521,-2.39491,-2.70773,-1.67135,-2.04329,-1.79135,-2.13918,-2.55803,-1.55367,-3.01325,-2.40656,-1.24617,-1.48636,-2.25747,-2.50649,-2.89001,-1.61182,-2.13045,-3.07412,-0.272088,-0.355532,-0.390171,-0.324931,-0.182214,-0.276287,-0.359502,-0.288987,-0.348628,-0.389174,-0.230432,-0.191362,-0.32352,-0.135124,-0.3819,-0.284008,-0.280818,-0.268743,-0.132726,-0.315755,-0.370521,-0.292609,-0.329964,0.0706903 --5916.53,0.0662592,0.394006,2,-0.331771,0.00659799,-2.34052,-2.42368,-1.83204,-2.33598,-2.37596,-2.02398,-1.76354,-1.96798,-1.83454,-2.09699,-2.52915,-1.25162,-2.80271,-2.72903,-1.1997,-1.50264,-1.79266,-2.44231,-3.24174,-1.25841,-2.20744,-2.88743,-0.302487,-0.258775,-0.269611,-0.378893,-0.176359,-0.395435,-0.255035,-0.315257,-0.269435,-0.413019,-0.242131,-0.369119,-0.383291,-0.373176,-0.260272,-0.454195,-0.259374,-0.412048,-0.316176,-0.355843,-0.28368,-0.351,-0.106093,0.081228 --5918.86,0.220463,0.394006,2,-0.341035,0.0145534,-2.41056,-2.80659,-1.69147,-2.30426,-2.61214,-2.53928,-1.79503,-2.0723,-1.98541,-2.20967,-2.36074,-1.40299,-2.84459,-2.64065,-1.22072,-1.38479,-1.93204,-2.708,-2.66094,-1.39622,-2.28473,-2.80877,-0.302778,-0.170281,-0.367106,-0.420741,-0.112528,-0.276599,-0.243547,-0.298214,-0.378043,-0.361108,-0.333407,-0.261931,-0.411901,-0.153732,-0.404341,-0.55265,-0.371288,-0.247037,-0.326519,-0.340807,-0.393442,-0.309233,-0.282382,0.120637 --5907.34,0.75,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,1.82015e-31,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,0.0246114,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,3.15732e-10,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,4.1445e-05,0.394006,1,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,7.21857e-30,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,0.056738,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,0.00130929,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,0.0258667,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,7.78125e-06,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5907.34,3.405e-09,0.394006,2,-0.288523,0.00231671,-2.42735,-2.54793,-2.03537,-2.24265,-2.4638,-2.39192,-1.75514,-1.98797,-1.82074,-2.32099,-2.33006,-1.41079,-2.69629,-2.57253,-1.35154,-1.24226,-1.55626,-3.36178,-3.16363,-1.31444,-2.07195,-2.97864,-0.296327,-0.361391,-0.264381,-0.436469,-0.307238,-0.280506,-0.332018,-0.278112,-0.276714,-0.254645,-0.25025,-0.262398,-0.180684,-0.31903,-0.329916,-0.499516,-0.332331,-0.305581,-0.318312,-0.293799,-0.240519,-0.312473,-0.302724,0.0481322 --5911.72,5.62866e-05,0.394006,2,-0.277656,0.00172405,-2.00715,-2.59012,-1.97454,-2.22984,-2.43694,-2.5017,-1.72559,-2.02119,-1.82568,-2.30022,-2.27794,-1.3667,-2.79032,-2.5293,-1.29442,-1.17475,-1.59549,-3.34233,-3.32435,-1.35071,-2.17553,-2.91078,-0.374652,-0.24564,-0.293137,-0.394775,-0.249491,-0.233539,-0.430515,-0.323259,-0.268009,-0.271852,-0.257752,-0.274638,-0.265276,-0.378025,-0.310664,-0.444558,-0.294035,-0.207766,-0.225183,-0.223913,-0.234262,-0.303733,-0.190233,0.0415217 --5911.72,1.09774e-05,0.394006,2,-0.277656,0.00172405,-2.00715,-2.59012,-1.97454,-2.22984,-2.43694,-2.5017,-1.72559,-2.02119,-1.82568,-2.30022,-2.27794,-1.3667,-2.79032,-2.5293,-1.29442,-1.17475,-1.59549,-3.34233,-3.32435,-1.35071,-2.17553,-2.91078,-0.374652,-0.24564,-0.293137,-0.394775,-0.249491,-0.233539,-0.430515,-0.323259,-0.268009,-0.271852,-0.257752,-0.274638,-0.265276,-0.378025,-0.310664,-0.444558,-0.294035,-0.207766,-0.225183,-0.223913,-0.234262,-0.303733,-0.190233,0.0415217 --5910.27,0.00540022,0.394006,2,-0.287904,0.00404921,-2.05026,-2.55133,-1.99319,-2.22671,-2.42181,-2.57311,-1.71614,-1.91855,-1.82356,-2.31383,-2.27279,-1.47604,-2.83499,-2.56728,-1.29615,-1.25762,-1.56102,-3.22342,-3.36238,-1.33015,-2.22062,-2.80641,-0.3106,-0.249986,-0.362014,-0.370284,-0.238722,-0.365003,-0.445109,-0.253369,-0.352093,-0.223677,-0.240328,-0.270063,-0.334412,-0.368173,-0.308042,-0.399881,-0.270191,-0.259757,-0.341936,-0.227989,-0.203243,-0.313725,-0.347613,0.0636334 --5909.31,0.121266,0.394006,2,-0.269013,0.00281126,-2.7652,-2.07168,-2.15013,-2.32172,-2.32252,-2.10345,-1.67495,-2.20109,-1.85098,-2.26275,-2.47507,-1.59025,-2.95216,-2.66478,-1.1369,-1.23432,-1.77483,-3.37933,-3.15155,-1.54182,-2.4468,-3.06994,-0.292746,-0.349827,-0.187263,-0.270123,-0.351864,-0.214784,-0.247944,-0.318842,-0.297178,-0.357055,-0.196564,-0.284222,-0.294006,-0.115842,-0.327676,-0.226741,-0.393127,-0.296973,-0.266508,-0.275621,-0.196512,-0.312677,-0.28473,0.0530213 --5906.87,0.248109,0.394006,2,-0.247251,0.00511942,-2.39677,-2.2487,-1.88274,-2.32426,-2.39433,-2.49131,-1.8593,-1.96003,-1.99649,-2.22554,-2.23253,-1.54698,-3.02123,-2.72976,-1.47915,-1.54335,-1.84113,-3.3768,-3.2558,-1.59084,-2.21708,-2.99393,-0.200465,-0.159592,-0.392769,-0.309553,-0.170679,-0.26749,-0.345434,-0.162545,-0.289424,-0.193713,-0.323341,-0.170988,-0.275144,-0.276521,-0.188856,-0.311573,-0.222856,-0.132764,-0.283764,-0.217635,-0.352804,-0.25066,-0.175955,0.0715501 --5906.87,0.489603,0.394006,2,-0.247251,0.00511942,-2.39677,-2.2487,-1.88274,-2.32426,-2.39433,-2.49131,-1.8593,-1.96003,-1.99649,-2.22554,-2.23253,-1.54698,-3.02123,-2.72976,-1.47915,-1.54335,-1.84113,-3.3768,-3.2558,-1.59084,-2.21708,-2.99393,-0.200465,-0.159592,-0.392769,-0.309553,-0.170679,-0.26749,-0.345434,-0.162545,-0.289424,-0.193713,-0.323341,-0.170988,-0.275144,-0.276521,-0.188856,-0.311573,-0.222856,-0.132764,-0.283764,-0.217635,-0.352804,-0.25066,-0.175955,0.0715501 --5906.87,0.363924,0.394006,2,-0.247251,0.00511942,-2.39677,-2.2487,-1.88274,-2.32426,-2.39433,-2.49131,-1.8593,-1.96003,-1.99649,-2.22554,-2.23253,-1.54698,-3.02123,-2.72976,-1.47915,-1.54335,-1.84113,-3.3768,-3.2558,-1.59084,-2.21708,-2.99393,-0.200465,-0.159592,-0.392769,-0.309553,-0.170679,-0.26749,-0.345434,-0.162545,-0.289424,-0.193713,-0.323341,-0.170988,-0.275144,-0.276521,-0.188856,-0.311573,-0.222856,-0.132764,-0.283764,-0.217635,-0.352804,-0.25066,-0.175955,0.0715501 --5906.87,0.135409,0.394006,2,-0.247251,0.00511942,-2.39677,-2.2487,-1.88274,-2.32426,-2.39433,-2.49131,-1.8593,-1.96003,-1.99649,-2.22554,-2.23253,-1.54698,-3.02123,-2.72976,-1.47915,-1.54335,-1.84113,-3.3768,-3.2558,-1.59084,-2.21708,-2.99393,-0.200465,-0.159592,-0.392769,-0.309553,-0.170679,-0.26749,-0.345434,-0.162545,-0.289424,-0.193713,-0.323341,-0.170988,-0.275144,-0.276521,-0.188856,-0.311573,-0.222856,-0.132764,-0.283764,-0.217635,-0.352804,-0.25066,-0.175955,0.0715501 --5907.68,0.42077,0.394006,3,-0.25106,0.00173853,-2.38258,-2.0637,-2.4106,-2.47456,-2.4323,-2.04065,-1.64763,-2.18379,-1.91399,-2.22061,-2.29203,-1.34871,-2.98757,-2.95072,-1.24603,-1.53403,-2.09984,-2.5898,-3.71826,-1.28364,-2.04481,-2.84747,-0.218335,-0.187579,-0.345611,-0.208719,-0.246967,-0.282388,-0.418332,-0.101593,-0.291782,-0.231911,-0.168041,-0.219413,-0.319986,0.00943507,-0.27614,-0.316068,-0.207157,-0.291192,-0.26332,-0.171237,-0.31337,-0.290653,-0.209687,0.0416957 --5909.01,0.0725887,0.394006,3,-0.17226,0.00463195,-2.37964,-2.26396,-1.96723,-2.32705,-2.44693,-2.42421,-1.81945,-1.96659,-2.15742,-2.23901,-2.2215,-1.59823,-3.1179,-2.67961,-1.50074,-1.60882,-2.00202,-3.45297,-3.18643,-1.74354,-2.31222,-3.06447,-0.107494,-0.176678,-0.234163,-0.220977,-0.136692,-0.121589,-0.1928,-0.089825,-0.211491,-0.247667,-0.40784,-0.00406739,-0.228056,-0.187998,-0.109313,-0.187426,-0.12105,-0.102989,-0.174731,-0.0697901,-0.209201,-0.259193,-0.114773,0.0680584 --5900.65,0.024133,0.394006,4,-0.126698,0.00210381,-2.21283,-2.12905,-2.04217,-2.39597,-2.58995,-2.28451,-1.7889,-2.32274,-1.95686,-2.29695,-2.39726,-1.74822,-3.00531,-2.66914,-1.60921,-1.49778,-2.3078,-3.16415,-3.4062,-1.72431,-2.30573,-3.03642,-0.200112,-0.191166,-0.0974165,-0.179337,-0.0908886,-0.147743,-0.264813,-0.176874,-0.10766,-0.152367,-0.102299,-0.114898,-0.086414,-0.117984,-0.172993,-0.103139,-0.151743,-0.123899,-0.0857928,-0.177138,-0.152525,-0.0876834,-0.190181,0.0458674 --5900.65,4.96903e-19,0.394006,2,-0.126698,0.00210381,-2.21283,-2.12905,-2.04217,-2.39597,-2.58995,-2.28451,-1.7889,-2.32274,-1.95686,-2.29695,-2.39726,-1.74822,-3.00531,-2.66914,-1.60921,-1.49778,-2.3078,-3.16415,-3.4062,-1.72431,-2.30573,-3.03642,-0.200112,-0.191166,-0.0974165,-0.179337,-0.0908886,-0.147743,-0.264813,-0.176874,-0.10766,-0.152367,-0.102299,-0.114898,-0.086414,-0.117984,-0.172993,-0.103139,-0.151743,-0.123899,-0.0857928,-0.177138,-0.152525,-0.0876834,-0.190181,0.0458674 --5900.65,0.0452199,0.394006,2,-0.126698,0.00210381,-2.21283,-2.12905,-2.04217,-2.39597,-2.58995,-2.28451,-1.7889,-2.32274,-1.95686,-2.29695,-2.39726,-1.74822,-3.00531,-2.66914,-1.60921,-1.49778,-2.3078,-3.16415,-3.4062,-1.72431,-2.30573,-3.03642,-0.200112,-0.191166,-0.0974165,-0.179337,-0.0908886,-0.147743,-0.264813,-0.176874,-0.10766,-0.152367,-0.102299,-0.114898,-0.086414,-0.117984,-0.172993,-0.103139,-0.151743,-0.123899,-0.0857928,-0.177138,-0.152525,-0.0876834,-0.190181,0.0458674 --5900.65,2.02461e-37,0.394006,3,-0.126698,0.00210381,-2.21283,-2.12905,-2.04217,-2.39597,-2.58995,-2.28451,-1.7889,-2.32274,-1.95686,-2.29695,-2.39726,-1.74822,-3.00531,-2.66914,-1.60921,-1.49778,-2.3078,-3.16415,-3.4062,-1.72431,-2.30573,-3.03642,-0.200112,-0.191166,-0.0974165,-0.179337,-0.0908886,-0.147743,-0.264813,-0.176874,-0.10766,-0.152367,-0.102299,-0.114898,-0.086414,-0.117984,-0.172993,-0.103139,-0.151743,-0.123899,-0.0857928,-0.177138,-0.152525,-0.0876834,-0.190181,0.0458674 --5903.77,1.08779e-23,0.394006,4,-0.132161,0.00157406,-2.33548,-2.01572,-1.96751,-2.41567,-2.61494,-2.331,-1.74371,-2.32731,-1.89465,-2.31918,-2.39917,-1.69589,-2.99575,-2.59366,-1.64507,-1.63236,-2.28536,-3.13023,-3.52075,-1.72045,-2.31949,-3.00708,-0.139053,-0.180963,-0.133978,-0.164985,-0.150172,-0.109435,-0.246909,-0.0929967,-0.260016,-0.0885939,-0.149514,-0.134187,-0.215248,-0.14915,-0.0899772,-0.0813337,-0.13236,-0.0676123,-0.144635,-0.147053,-0.13255,-0.0541888,-0.0407397,0.0396744 --5903.77,0.0108293,0.394006,2,-0.132161,0.00157406,-2.33548,-2.01572,-1.96751,-2.41567,-2.61494,-2.331,-1.74371,-2.32731,-1.89465,-2.31918,-2.39917,-1.69589,-2.99575,-2.59366,-1.64507,-1.63236,-2.28536,-3.13023,-3.52075,-1.72045,-2.31949,-3.00708,-0.139053,-0.180963,-0.133978,-0.164985,-0.150172,-0.109435,-0.246909,-0.0929967,-0.260016,-0.0885939,-0.149514,-0.134187,-0.215248,-0.14915,-0.0899772,-0.0813337,-0.13236,-0.0676123,-0.144635,-0.147053,-0.13255,-0.0541888,-0.0407397,0.0396744 --5903.77,0.000265025,0.394006,2,-0.132161,0.00157406,-2.33548,-2.01572,-1.96751,-2.41567,-2.61494,-2.331,-1.74371,-2.32731,-1.89465,-2.31918,-2.39917,-1.69589,-2.99575,-2.59366,-1.64507,-1.63236,-2.28536,-3.13023,-3.52075,-1.72045,-2.31949,-3.00708,-0.139053,-0.180963,-0.133978,-0.164985,-0.150172,-0.109435,-0.246909,-0.0929967,-0.260016,-0.0885939,-0.149514,-0.134187,-0.215248,-0.14915,-0.0899772,-0.0813337,-0.13236,-0.0676123,-0.144635,-0.147053,-0.13255,-0.0541888,-0.0407397,0.0396744 --5903.77,8.03173e-19,0.394006,2,-0.132161,0.00157406,-2.33548,-2.01572,-1.96751,-2.41567,-2.61494,-2.331,-1.74371,-2.32731,-1.89465,-2.31918,-2.39917,-1.69589,-2.99575,-2.59366,-1.64507,-1.63236,-2.28536,-3.13023,-3.52075,-1.72045,-2.31949,-3.00708,-0.139053,-0.180963,-0.133978,-0.164985,-0.150172,-0.109435,-0.246909,-0.0929967,-0.260016,-0.0885939,-0.149514,-0.134187,-0.215248,-0.14915,-0.0899772,-0.0813337,-0.13236,-0.0676123,-0.144635,-0.147053,-0.13255,-0.0541888,-0.0407397,0.0396744 --5903.77,0.00490098,0.394006,1,-0.132161,0.00157406,-2.33548,-2.01572,-1.96751,-2.41567,-2.61494,-2.331,-1.74371,-2.32731,-1.89465,-2.31918,-2.39917,-1.69589,-2.99575,-2.59366,-1.64507,-1.63236,-2.28536,-3.13023,-3.52075,-1.72045,-2.31949,-3.00708,-0.139053,-0.180963,-0.133978,-0.164985,-0.150172,-0.109435,-0.246909,-0.0929967,-0.260016,-0.0885939,-0.149514,-0.134187,-0.215248,-0.14915,-0.0899772,-0.0813337,-0.13236,-0.0676123,-0.144635,-0.147053,-0.13255,-0.0541888,-0.0407397,0.0396744 --5903.77,0.212519,0.394006,2,-0.132161,0.00157406,-2.33548,-2.01572,-1.96751,-2.41567,-2.61494,-2.331,-1.74371,-2.32731,-1.89465,-2.31918,-2.39917,-1.69589,-2.99575,-2.59366,-1.64507,-1.63236,-2.28536,-3.13023,-3.52075,-1.72045,-2.31949,-3.00708,-0.139053,-0.180963,-0.133978,-0.164985,-0.150172,-0.109435,-0.246909,-0.0929967,-0.260016,-0.0885939,-0.149514,-0.134187,-0.215248,-0.14915,-0.0899772,-0.0813337,-0.13236,-0.0676123,-0.144635,-0.147053,-0.13255,-0.0541888,-0.0407397,0.0396744 --5903.77,2.40979e-60,0.394006,2,-0.132161,0.00157406,-2.33548,-2.01572,-1.96751,-2.41567,-2.61494,-2.331,-1.74371,-2.32731,-1.89465,-2.31918,-2.39917,-1.69589,-2.99575,-2.59366,-1.64507,-1.63236,-2.28536,-3.13023,-3.52075,-1.72045,-2.31949,-3.00708,-0.139053,-0.180963,-0.133978,-0.164985,-0.150172,-0.109435,-0.246909,-0.0929967,-0.260016,-0.0885939,-0.149514,-0.134187,-0.215248,-0.14915,-0.0899772,-0.0813337,-0.13236,-0.0676123,-0.144635,-0.147053,-0.13255,-0.0541888,-0.0407397,0.0396744 --5903.78,5.42163e-17,0.394006,2,-0.114863,0.00259245,-2.01503,-1.99168,-1.95064,-2.39459,-2.54043,-2.34473,-1.76838,-2.37517,-1.90174,-2.3034,-2.3607,-1.72552,-2.97542,-2.6331,-1.52088,-1.55513,-2.19965,-3.10866,-3.67984,-1.68985,-2.3084,-2.99857,-0.135707,-0.0523538,-0.102269,-0.190957,-0.0940372,-0.135062,-0.208256,-0.146772,-0.286812,-0.124395,-0.156708,-0.054085,-0.120605,-0.114823,-0.117764,-0.135371,-0.0157028,-0.165503,-0.0258236,-0.143734,-0.168829,-0.120661,-0.17497,0.0509161 --5903.78,0.000260293,0.394006,3,-0.114863,0.00259245,-2.01503,-1.99168,-1.95064,-2.39459,-2.54043,-2.34473,-1.76838,-2.37517,-1.90174,-2.3034,-2.3607,-1.72552,-2.97542,-2.6331,-1.52088,-1.55513,-2.19965,-3.10866,-3.67984,-1.68985,-2.3084,-2.99857,-0.135707,-0.0523538,-0.102269,-0.190957,-0.0940372,-0.135062,-0.208256,-0.146772,-0.286812,-0.124395,-0.156708,-0.054085,-0.120605,-0.114823,-0.117764,-0.135371,-0.0157028,-0.165503,-0.0258236,-0.143734,-0.168829,-0.120661,-0.17497,0.0509161 --5903.78,1.09548e-13,0.394006,3,-0.114863,0.00259245,-2.01503,-1.99168,-1.95064,-2.39459,-2.54043,-2.34473,-1.76838,-2.37517,-1.90174,-2.3034,-2.3607,-1.72552,-2.97542,-2.6331,-1.52088,-1.55513,-2.19965,-3.10866,-3.67984,-1.68985,-2.3084,-2.99857,-0.135707,-0.0523538,-0.102269,-0.190957,-0.0940372,-0.135062,-0.208256,-0.146772,-0.286812,-0.124395,-0.156708,-0.054085,-0.120605,-0.114823,-0.117764,-0.135371,-0.0157028,-0.165503,-0.0258236,-0.143734,-0.168829,-0.120661,-0.17497,0.0509161 --5903.78,3.49409e-42,0.394006,3,-0.114863,0.00259245,-2.01503,-1.99168,-1.95064,-2.39459,-2.54043,-2.34473,-1.76838,-2.37517,-1.90174,-2.3034,-2.3607,-1.72552,-2.97542,-2.6331,-1.52088,-1.55513,-2.19965,-3.10866,-3.67984,-1.68985,-2.3084,-2.99857,-0.135707,-0.0523538,-0.102269,-0.190957,-0.0940372,-0.135062,-0.208256,-0.146772,-0.286812,-0.124395,-0.156708,-0.054085,-0.120605,-0.114823,-0.117764,-0.135371,-0.0157028,-0.165503,-0.0258236,-0.143734,-0.168829,-0.120661,-0.17497,0.0509161 --5907.91,1.57779e-05,0.394006,2,-0.135205,0.00329439,-2.14165,-2.17487,-2.31857,-2.36752,-2.57806,-2.54389,-1.77785,-2.32062,-2.00983,-2.2893,-2.38376,-1.64723,-2.91427,-2.46208,-1.50652,-1.58476,-2.10125,-3.15293,-3.46681,-1.64946,-2.1366,-2.88688,-0.112919,-0.14061,-0.247769,-0.177172,-0.152921,-0.104185,-0.0369131,-0.061748,-0.155329,-0.11527,-0.16169,-0.087018,-0.13918,-0.131439,-0.0554122,-0.103623,-0.0206339,-0.0661806,-0.14585,-0.183514,-0.0979435,-0.206498,-0.162449,0.0573968 --5907.91,0.0939579,0.394006,3,-0.135205,0.00329439,-2.14165,-2.17487,-2.31857,-2.36752,-2.57806,-2.54389,-1.77785,-2.32062,-2.00983,-2.2893,-2.38376,-1.64723,-2.91427,-2.46208,-1.50652,-1.58476,-2.10125,-3.15293,-3.46681,-1.64946,-2.1366,-2.88688,-0.112919,-0.14061,-0.247769,-0.177172,-0.152921,-0.104185,-0.0369131,-0.061748,-0.155329,-0.11527,-0.16169,-0.087018,-0.13918,-0.131439,-0.0554122,-0.103623,-0.0206339,-0.0661806,-0.14585,-0.183514,-0.0979435,-0.206498,-0.162449,0.0573968 --5908.96,1.87382e-17,0.394006,3,-0.143461,0.00448517,-2.62762,-2.27585,-2.22273,-2.41971,-2.57495,-2.1465,-1.85064,-2.28932,-1.95659,-2.33769,-2.29325,-1.68144,-3.02377,-2.70381,-1.28241,-1.77167,-2.33318,-3.36663,-3.84455,-1.6707,-2.15188,-2.97946,-0.161003,-0.146428,-0.101489,-0.196556,-0.0114413,-0.215231,-0.144209,-0.133237,-0.250516,-0.0944451,-0.216189,-0.0514281,-0.229878,-0.134695,-0.192357,-0.162883,-0.0894452,-0.214921,-0.125021,-0.236293,-0.24491,-0.205287,-0.261417,0.0669714 --5912.27,0.356562,0.394006,2,-0.155527,0.00516042,-2.61418,-2.27074,-2.29372,-2.44035,-2.67776,-2.20133,-1.87907,-2.23425,-1.92691,-2.32334,-2.34355,-1.62491,-3.0152,-2.74282,-1.27796,-1.72086,-2.38117,-3.38609,-3.88079,-1.6341,-2.21352,-3.03042,-0.192752,-0.157926,-0.129902,-0.225288,0.0357601,-0.153874,-0.18072,-0.10344,-0.237104,-0.0840203,-0.189657,-0.00810655,-0.234155,-0.24853,-0.184187,-0.0848398,-0.135945,-0.274501,-0.179576,-0.161729,-0.208551,-0.131975,-0.291599,0.0718361 --5906.99,0.317518,0.394006,2,-0.145708,0.00512214,-2.3039,-1.94287,-1.85206,-2.38073,-2.36956,-2.70919,-1.85778,-2.07294,-1.90063,-2.32394,-2.4316,-1.68754,-2.68288,-2.7243,-1.24365,-1.60396,-2.07788,-2.69487,-3.20808,-1.63683,-2.28065,-2.98274,-0.101024,-0.158385,-0.19933,-0.144209,-0.176997,-0.193405,-0.191362,-0.151876,-0.143709,-0.272641,-0.107103,-0.201322,-0.130643,0.0388171,-0.194644,-0.175409,-0.0603244,-0.0387848,-0.107367,-0.122751,-0.109325,-0.218655,-0.140069,0.0715691 --5907.32,5.34818e-10,0.394006,2,-0.128618,0.00649687,-2.3245,-1.97186,-1.98581,-2.40942,-2.34188,-2.74866,-1.83626,-2.12011,-1.99122,-2.27894,-2.41296,-1.66863,-2.66875,-2.73502,-1.29615,-1.60553,-2.0016,-2.76901,-3.08175,-1.67442,-2.20429,-2.96196,-0.182791,-0.237199,-0.141261,-0.139725,-0.164901,-0.184952,-0.193306,-0.0894342,-0.120077,-0.226357,-0.116922,-0.165845,-0.198998,0.0726428,-0.101081,-0.261969,-0.149783,-0.0854812,-0.0534391,-0.097179,-0.0829676,-0.163644,-0.142428,0.0806032 --5911.67,0.128681,0.394006,3,-0.18447,0.00267537,-2.52179,-1.97736,-2.22023,-2.49754,-2.42295,-1.6394,-1.80574,-2.15056,-2.24973,-2.24887,-2.47468,-1.59929,-3.16875,-2.83449,-1.34258,-1.54234,-1.83157,-3.32049,-3.51589,-1.67573,-2.17251,-3.02299,-0.185209,-0.174716,-0.0648102,-0.195166,-0.160926,-0.173236,-0.362786,-0.236747,-0.186473,-0.212927,-0.121522,-0.0904042,-0.173575,-0.200266,-0.303527,0.000404149,-0.191306,-0.216754,-0.256816,-0.0330118,-0.342152,-0.207391,-0.198218,0.051724 --5911.67,0.0944314,0.394006,2,-0.18447,0.00267537,-2.52179,-1.97736,-2.22023,-2.49754,-2.42295,-1.6394,-1.80574,-2.15056,-2.24973,-2.24887,-2.47468,-1.59929,-3.16875,-2.83449,-1.34258,-1.54234,-1.83157,-3.32049,-3.51589,-1.67573,-2.17251,-3.02299,-0.185209,-0.174716,-0.0648102,-0.195166,-0.160926,-0.173236,-0.362786,-0.236747,-0.186473,-0.212927,-0.121522,-0.0904042,-0.173575,-0.200266,-0.303527,0.000404149,-0.191306,-0.216754,-0.256816,-0.0330118,-0.342152,-0.207391,-0.198218,0.051724 --5911.67,0.0440041,0.394006,2,-0.18447,0.00267537,-2.52179,-1.97736,-2.22023,-2.49754,-2.42295,-1.6394,-1.80574,-2.15056,-2.24973,-2.24887,-2.47468,-1.59929,-3.16875,-2.83449,-1.34258,-1.54234,-1.83157,-3.32049,-3.51589,-1.67573,-2.17251,-3.02299,-0.185209,-0.174716,-0.0648102,-0.195166,-0.160926,-0.173236,-0.362786,-0.236747,-0.186473,-0.212927,-0.121522,-0.0904042,-0.173575,-0.200266,-0.303527,0.000404149,-0.191306,-0.216754,-0.256816,-0.0330118,-0.342152,-0.207391,-0.198218,0.051724 --5912.15,0.200262,0.394006,3,-0.131886,0.00591971,-2.44053,-2.28384,-2.03621,-2.32762,-2.49323,-2.25387,-1.78083,-2.16693,-1.76929,-2.2724,-2.28997,-1.36774,-2.94787,-2.72173,-1.54434,-1.42268,-2.33029,-2.75494,-3.10379,-1.32606,-2.32981,-2.80097,-0.11952,-0.187978,-0.00199614,-0.277048,-0.195552,-0.182664,-0.369027,-0.051459,-0.171787,-0.246342,-0.198351,-0.148318,-0.0426246,-0.0403236,-0.248355,0.013253,-0.052125,-0.10943,-0.121429,-0.195766,-0.1591,-0.148997,-0.129506,0.0769396 --5916.62,0.538686,0.394006,3,-0.279091,0.009699,-2.64865,-2.33409,-1.99092,-2.34293,-2.14705,-2.12984,-1.67752,-2.11946,-1.75968,-2.18593,-2.28671,-1.30852,-2.86813,-2.72366,-1.07478,-1.3777,-2.12286,-2.86536,-2.85832,-1.22844,-2.25934,-2.74266,-0.262869,-0.331002,-0.454317,-0.251746,-0.216926,-0.0632372,-0.336527,-0.211019,-0.231777,-0.247937,-0.172277,-0.29671,-0.206909,-0.192499,-0.652358,-0.321841,-0.221637,-0.267005,-0.369349,-0.2007,-0.275498,-0.322402,-0.282535,0.0984835 --5910.41,1,0.394006,2,-0.281659,0.00281619,-1.94044,-2.45613,-1.9804,-2.41964,-2.35086,-2.17785,-1.78396,-2.17554,-2.26822,-2.3477,-2.37022,-1.30962,-3.0837,-2.6101,-1.28623,-1.43579,-1.94227,-2.98988,-3.48766,-1.43458,-2.20281,-2.97126,-0.254105,-0.221624,-0.161871,-0.269242,-0.295693,-0.381177,-0.294722,-0.166166,-0.319822,-0.293178,-0.297446,-0.250477,-0.322438,-0.19335,-0.590596,-0.21506,-0.243352,-0.257646,-0.17554,-0.324151,-0.256938,-0.283968,-0.0718953,0.0530678 --5914.04,0.798037,0.394006,2,-0.257533,0.00640983,-2.5184,-2.19676,-1.91688,-2.48675,-2.20895,-1.5619,-1.9534,-2.13153,-2.34917,-2.21847,-2.34817,-1.38231,-3.01108,-2.67436,-1.21402,-1.61358,-1.92444,-3.00994,-3.33241,-1.56424,-2.10913,-2.99057,-0.235067,-0.296091,-0.357826,-0.215698,-0.19186,-0.189849,-0.248595,-0.165366,-0.140273,-0.240929,-0.213861,-0.251495,-0.172727,-0.220083,-0.398564,-0.2555,-0.12462,-0.208596,-0.335412,-0.243488,-0.278429,-0.238325,-0.492227,0.0800614 --5909.31,0.101481,0.394006,2,-0.225106,0.00437284,-1.91303,-1.78665,-1.85828,-2.4088,-2.49068,-2.66458,-1.67322,-2.29759,-2.14156,-2.27037,-2.43288,-1.68175,-2.88736,-2.68583,-1.32228,-1.28876,-1.9125,-2.87253,-3.14946,-1.54568,-2.14098,-2.72571,-0.244231,-0.242387,-0.153396,-0.240689,-0.246226,-0.256612,-0.268842,-0.116838,-0.178747,-0.316077,-0.214082,-0.17548,-0.118117,-0.129899,-0.112727,-0.227204,-0.297366,-0.213418,-0.131639,-0.181866,-0.257606,-0.342058,-0.0945203,0.0661275 --5905.98,0.482862,0.394006,2,-0.230887,0.00464553,-2.23821,-1.58444,-1.91192,-2.4083,-2.42916,-2.61151,-1.70393,-2.08843,-1.98759,-2.27219,-2.34527,-1.61615,-3.00416,-2.74635,-1.49058,-1.48136,-1.98245,-2.93496,-3.73604,-1.63632,-1.95475,-2.88511,-0.182993,-0.194449,-0.269223,-0.223801,-0.264494,-0.262535,-0.260397,-0.26244,-0.151397,-0.299798,-0.239274,-0.078497,-0.180157,-0.198794,-0.293375,-0.343764,-0.164712,-0.148018,-0.27926,-0.230254,-0.242309,-0.368611,-0.250042,0.0681581 --5905.98,0.179031,0.394006,2,-0.230887,0.00464553,-2.23821,-1.58444,-1.91192,-2.4083,-2.42916,-2.61151,-1.70393,-2.08843,-1.98759,-2.27219,-2.34527,-1.61615,-3.00416,-2.74635,-1.49058,-1.48136,-1.98245,-2.93496,-3.73604,-1.63632,-1.95475,-2.88511,-0.182993,-0.194449,-0.269223,-0.223801,-0.264494,-0.262535,-0.260397,-0.26244,-0.151397,-0.299798,-0.239274,-0.078497,-0.180157,-0.198794,-0.293375,-0.343764,-0.164712,-0.148018,-0.27926,-0.230254,-0.242309,-0.368611,-0.250042,0.0681581 --5905.98,0.187351,0.394006,1,-0.230887,0.00464553,-2.23821,-1.58444,-1.91192,-2.4083,-2.42916,-2.61151,-1.70393,-2.08843,-1.98759,-2.27219,-2.34527,-1.61615,-3.00416,-2.74635,-1.49058,-1.48136,-1.98245,-2.93496,-3.73604,-1.63632,-1.95475,-2.88511,-0.182993,-0.194449,-0.269223,-0.223801,-0.264494,-0.262535,-0.260397,-0.26244,-0.151397,-0.299798,-0.239274,-0.078497,-0.180157,-0.198794,-0.293375,-0.343764,-0.164712,-0.148018,-0.27926,-0.230254,-0.242309,-0.368611,-0.250042,0.0681581 --5902.48,0.000115579,0.394006,2,-0.246781,0.00352135,-2.10865,-1.91153,-2.25719,-2.44199,-2.27921,-2.39019,-1.70625,-2.08036,-2.04257,-2.23968,-2.28255,-1.52297,-2.73791,-2.62272,-1.54045,-1.4765,-1.94773,-2.77752,-3.29972,-1.66846,-1.97276,-2.77638,-0.308414,-0.366089,-0.246571,-0.25951,-0.201898,-0.203172,-0.29201,-0.289974,-0.215023,-0.304056,-0.131059,-0.242965,-0.307274,-0.241459,-0.238904,-0.230212,-0.123208,-0.207161,-0.175312,-0.303677,-0.286178,-0.302901,-0.101963,0.059341 --5902.48,2.01153e-08,0.394006,3,-0.246781,0.00352135,-2.10865,-1.91153,-2.25719,-2.44199,-2.27921,-2.39019,-1.70625,-2.08036,-2.04257,-2.23968,-2.28255,-1.52297,-2.73791,-2.62272,-1.54045,-1.4765,-1.94773,-2.77752,-3.29972,-1.66846,-1.97276,-2.77638,-0.308414,-0.366089,-0.246571,-0.25951,-0.201898,-0.203172,-0.29201,-0.289974,-0.215023,-0.304056,-0.131059,-0.242965,-0.307274,-0.241459,-0.238904,-0.230212,-0.123208,-0.207161,-0.175312,-0.303677,-0.286178,-0.302901,-0.101963,0.059341 --5912.89,0.733647,0.394006,2,-0.301851,0.00238158,-2.07632,-2.07007,-2.24454,-2.47459,-2.30151,-2.27632,-1.66662,-2.27555,-1.67354,-2.31352,-2.43461,-1.40593,-3.23395,-2.67841,-1.62614,-1.32726,-2.03645,-2.41252,-3.08932,-1.45844,-2.52655,-2.90063,-0.306009,-0.232318,-0.334709,-0.238794,-0.364707,-0.392488,-0.371342,-0.178372,-0.406181,-0.241238,-0.382248,-0.245716,-0.301133,-0.238931,-0.240488,-0.310478,-0.363498,-0.274628,-0.30122,-0.227892,-0.233763,-0.282298,-0.336705,0.0488014 --5912.89,0.0070142,0.394006,2,-0.301851,0.00238158,-2.07632,-2.07007,-2.24454,-2.47459,-2.30151,-2.27632,-1.66662,-2.27555,-1.67354,-2.31352,-2.43461,-1.40593,-3.23395,-2.67841,-1.62614,-1.32726,-2.03645,-2.41252,-3.08932,-1.45844,-2.52655,-2.90063,-0.306009,-0.232318,-0.334709,-0.238794,-0.364707,-0.392488,-0.371342,-0.178372,-0.406181,-0.241238,-0.382248,-0.245716,-0.301133,-0.238931,-0.240488,-0.310478,-0.363498,-0.274628,-0.30122,-0.227892,-0.233763,-0.282298,-0.336705,0.0488014 --5912.89,0.00476008,0.394006,2,-0.301851,0.00238158,-2.07632,-2.07007,-2.24454,-2.47459,-2.30151,-2.27632,-1.66662,-2.27555,-1.67354,-2.31352,-2.43461,-1.40593,-3.23395,-2.67841,-1.62614,-1.32726,-2.03645,-2.41252,-3.08932,-1.45844,-2.52655,-2.90063,-0.306009,-0.232318,-0.334709,-0.238794,-0.364707,-0.392488,-0.371342,-0.178372,-0.406181,-0.241238,-0.382248,-0.245716,-0.301133,-0.238931,-0.240488,-0.310478,-0.363498,-0.274628,-0.30122,-0.227892,-0.233763,-0.282298,-0.336705,0.0488014 --5908.07,0.813,0.394006,2,-0.279567,0.00426912,-2.55898,-2.32407,-2.46417,-2.39828,-2.28392,-2.36411,-1.75286,-2.05961,-1.6784,-2.32015,-2.39552,-1.23108,-3.08163,-2.60708,-1.40313,-1.33693,-1.98394,-2.56766,-3.03551,-1.53874,-2.24344,-3.00068,-0.286711,-0.393078,-0.250212,-0.267593,-0.22178,-0.196586,-0.457554,-0.217301,-0.325067,-0.226292,-0.289917,-0.337764,-0.287329,-0.0640213,-0.266726,-0.313314,-0.199089,-0.30239,-0.289523,-0.24433,-0.10398,-0.341765,-0.249094,0.0653385 --5912.72,0.739601,0.394006,2,-0.252311,0.00325207,-2.47497,-1.92558,-2.34288,-2.50399,-2.42255,-1.86264,-1.71784,-1.90675,-2.12871,-2.226,-2.22085,-1.54326,-2.77444,-2.73325,-1.51048,-1.42835,-1.78266,-3.12837,-3.33654,-1.18506,-2.0756,-2.6615,-0.293686,-0.306167,-0.347439,-0.197041,-0.269756,-0.260784,-0.212261,-0.342714,-0.337076,-0.304712,-0.226736,-0.162955,-0.242695,-0.238185,-0.298676,-0.248312,-0.32688,-0.14403,-0.360268,-0.318451,-0.518477,-0.365912,-0.296289,0.0570269 --5907.74,0.313465,0.394006,2,-0.245718,0.00461333,-2.45914,-2.32349,-2.11605,-2.21738,-2.45564,-2.42041,-1.73331,-2.24263,-1.88132,-2.25564,-2.19205,-1.36509,-3.16029,-2.62253,-1.27527,-1.52842,-2.27354,-3.14366,-3.39208,-1.6063,-2.21414,-3.16749,-0.198028,-0.299328,-0.30875,-0.325733,-0.286873,-0.217718,-0.34197,-0.273602,-0.349828,-0.237575,-0.339815,-0.185507,-0.202303,-0.171819,-0.290584,-0.143785,-0.227405,-0.243249,-0.337483,-0.232924,-0.105604,-0.169283,-0.195232,0.0679215 --5913.78,0.288126,0.394006,2,-0.237538,0.00917798,-2.38373,-2.28129,-1.70602,-2.42287,-2.44208,-2.3469,-1.70258,-2.16097,-2.04595,-2.2343,-2.29269,-1.49908,-2.7485,-2.74957,-1.29092,-1.61835,-2.07267,-2.76352,-3.37055,-1.6429,-2.04375,-3.01179,-0.159737,-0.333267,-0.246618,-0.319216,-0.042548,-0.317177,-0.16143,-0.0665104,-0.299523,-0.268782,-0.274786,-0.197406,-0.24548,-0.252769,-0.237291,-0.275957,0.0957034,-0.155999,-0.157791,-0.153285,-0.462387,-0.371573,-0.214938,0.0958018 --5924.11,0.481556,0.394006,2,-0.182096,0.0204202,-2.17597,-2.30562,-2.29252,-2.39348,-2.43611,-2.13526,-1.83709,-1.94175,-1.86199,-2.14814,-2.3136,-1.49781,-3.14216,-2.69889,-1.55784,-1.37579,-1.94726,-3.40246,-3.63257,-1.31244,-2.46168,-2.80034,-0.317562,-0.168324,-0.258186,-0.158098,-0.286573,-0.0510314,-0.429396,-0.324547,-0.250896,-0.386919,-0.193892,-0.119979,-0.522697,0.0184919,-0.18167,-0.123662,-0.449584,-0.103422,-0.209028,-0.315984,-0.0508309,-0.348004,-0.138666,0.142899 --5919.49,0.924031,0.394006,2,-0.283965,0.01179,-2.52346,-2.14601,-2.22015,-2.32873,-2.48371,-2.17553,-1.58913,-2.28455,-2.16806,-2.29508,-2.19156,-1.42762,-2.83018,-2.67536,-1.20205,-1.54195,-2.05848,-2.65782,-3.39559,-1.61739,-1.94634,-3.04607,-0.180832,-0.395973,-0.200833,-0.269915,-0.145902,-0.535451,-0.321167,-0.147279,-0.246783,-0.176244,-0.258666,-0.34873,-0.0139521,-0.0920798,-0.410969,-0.33983,0.0326014,-0.233811,-0.317754,-0.221774,-0.481127,-0.277162,-0.323466,0.108582 --5931.57,0.707041,0.394006,3,-0.166164,0.0277983,-3.06884,-2.16892,-1.52451,-2.47785,-2.53153,-2.62162,-1.878,-2.13332,-1.89461,-2.19916,-2.37437,-1.35322,-2.89938,-2.71207,-1.6536,-1.48708,-2.08918,-3.27329,-3.79597,-1.34123,-2.28698,-2.73375,-0.0747075,-0.324145,-0.364064,-0.197874,0.0557776,0.0959716,-0.33843,-0.0622321,-0.202816,-0.38552,-0.23927,-0.096791,-1.06994,-0.151041,0.0165326,-0.0516618,-0.263445,-0.0989599,-0.226116,-0.305767,-0.142712,-0.310581,0.0226354,0.166728 --5926.04,0.964147,0.394006,3,-0.23173,0.00877982,-1.91693,-2.06083,-2.25527,-2.26181,-2.45586,-2.60423,-1.61114,-2.03728,-1.95632,-2.14106,-2.20039,-1.50101,-2.38219,-2.6029,-1.30022,-1.64529,-2.12713,-2.8124,-3.73954,-1.69867,-2.31569,-2.86999,-0.05386,-0.56358,-0.117403,-0.248304,-0.138702,-0.27527,-0.26861,-0.273471,-0.420244,-0.355579,-0.268347,-0.269463,-0.522629,-0.144265,-0.211314,-0.0820693,0.017412,-0.298104,-0.149157,-0.223412,-0.290835,-0.235219,-0.479418,0.0937007 --5920.67,0.981302,0.394006,2,-0.251429,0.0139851,-1.81255,-2.04668,-2.15947,-2.3269,-2.4515,-2.58132,-1.62426,-1.96716,-1.98368,-2.12897,-2.20339,-1.44197,-2.57083,-2.52975,-1.28545,-1.68542,-2.10958,-2.70549,-3.51605,-1.69386,-2.25969,-2.8334,-0.0675844,-0.458376,-0.158774,-0.234654,-0.115341,-0.279407,-0.349874,-0.238605,-0.375816,-0.336981,-0.259145,-0.257305,-0.410016,0.0247355,-0.227638,-0.0666571,0.0344564,-0.212546,-0.243666,-0.213111,-0.265177,-0.331548,-0.437893,0.118258 --5935.16,0.380789,0.394006,2,-0.270666,0.0345882,-2.84457,-2.14565,-2.01377,-2.60802,-2.55551,-2.61146,-1.77184,-2.18398,-1.95183,-2.33199,-2.25768,-1.38925,-3.22203,-2.87367,-1.499,-1.25242,-2.38219,-2.75799,-3.04696,-1.08245,-1.98061,-2.81127,-0.113331,-0.269847,-0.431355,-0.0704136,-0.18106,-0.0998706,-0.434721,-0.226701,-0.154049,-0.250201,-0.338031,-0.194108,-0.156171,-0.200707,-0.268423,-0.459896,-0.336181,-0.420335,-0.22894,-0.2313,-0.391742,-0.44581,0.202962,0.185979 --5924.96,1,0.394006,2,-0.242055,0.0102007,-2.46324,-2.62106,-2.0842,-2.4197,-2.51343,-2.68515,-1.81282,-2.14163,-1.91311,-2.28294,-2.34616,-1.65959,-2.97495,-2.6185,-1.20889,-1.38563,-1.76283,-3.04466,-3.21844,-1.51163,-2.04953,-3.0415,-0.255289,-0.294845,-0.436081,-0.118249,-0.176378,-0.177247,-0.462993,-0.238319,-0.320392,-0.339169,-0.267967,-0.0568154,-0.206989,-0.0369019,-0.423867,-0.41581,-0.0644078,-0.297371,-0.052032,-0.278222,-0.380222,-0.391284,0.372865,0.100998 --5926.35,0.793482,0.394006,3,-0.226509,0.0110586,-2.14199,-1.75374,-2.07592,-2.42544,-2.10701,-2.09073,-1.73458,-2.017,-2.06616,-2.35168,-2.25867,-1.23162,-3.09367,-2.75342,-1.34857,-1.60456,-2.58842,-2.86323,-3.39129,-1.49553,-2.03966,-3.11947,-0.291092,-0.321302,-0.183639,-0.324609,-0.385204,-0.28978,-0.179305,-0.243042,-0.222097,-0.122682,-0.29279,-0.388952,-0.321989,0.108776,-0.222111,-0.0465269,-0.0615961,-0.132322,-0.487316,-0.232713,-0.394561,-0.0390509,-0.375572,0.10516 --5929.99,0.704683,0.394006,3,-0.116428,0.023262,-2.99296,-2.67652,-2.10959,-2.58686,-2.66757,-2.35072,-1.66719,-2.15134,-2.01192,-2.18325,-2.54695,-1.7811,-2.90391,-2.70627,-1.4662,-1.24246,-1.58325,-3.08864,-3.63181,-1.82438,-2.30526,-2.88594,0.000257141,-0.0706774,-0.136751,-0.0982424,0.171012,-0.121695,-0.441125,0.0489414,-0.254361,-0.29259,0.0874287,-0.0288328,-0.0684228,0.0738088,-0.236639,-0.390297,-0.224455,-0.0760923,-0.0425225,0.169151,-0.16007,-0.248912,0.0403829,0.152519 --5918.67,0.932348,0.394006,3,-0.154971,0.0115622,-2.68577,-1.87318,-1.97093,-2.34653,-2.73093,-2.16858,-1.65506,-2.15538,-1.96186,-2.34582,-2.45158,-1.53054,-2.98255,-3.06605,-1.42699,-1.49404,-2.34992,-2.65722,-3.46723,-1.65919,-2.08396,-3.04517,-0.133991,-0.231337,-0.243929,-0.205561,0.13879,-0.193275,-0.607227,-0.260332,-0.164741,-0.185047,-0.121532,-0.0332061,-0.334317,0.216466,-0.134866,-0.203442,-0.0528016,-0.128527,0.184402,-0.10856,-0.223687,-0.152821,-0.186992,0.107528 --5922.82,0.683977,0.394006,3,-0.213631,0.0241668,-2.40755,-2.32999,-1.96617,-2.57627,-2.46218,-2.25526,-1.56684,-2.05109,-1.75469,-2.1176,-2.32313,-1.52825,-2.71789,-2.95071,-1.36099,-1.57184,-1.89553,-3.43745,-3.25317,-1.61311,-2.12874,-2.95558,-0.188758,-0.31562,-0.217963,-0.0628378,-0.0246517,-0.159338,-0.436461,-0.21517,-0.652677,-0.405544,-0.149837,-0.149453,-0.56237,0.371561,-0.214571,-0.0591595,-0.0570613,-0.109937,-0.501266,-0.102248,-0.450692,-0.306931,-0.147573,0.155457 --5923.12,0.247749,0.394006,2,-0.245964,0.0265162,-3.03833,-2.47088,-2.12412,-2.50532,-2.4402,-2.74537,-1.72017,-2.02184,-1.84024,-2.17364,-2.32648,-1.45602,-2.87524,-3.07584,-1.40427,-1.64149,-2.11062,-3.14832,-3.5534,-1.4732,-2.04285,-2.84644,-0.181419,-0.275018,-0.287338,-0.0607457,0.0329858,-0.409292,-0.576352,-0.264048,-0.424204,-0.424484,-0.260951,-0.200104,-0.556231,0.34692,-0.489076,-0.146095,-0.196513,-0.190557,-0.274172,-0.121189,-0.160078,-0.320762,-0.263836,0.162838 --5932.1,0.642407,0.394006,3,-0.236537,0.0417156,-3.50959,-2.1478,-2.16773,-2.42981,-2.57255,-2.08682,-1.66364,-1.93077,-1.85516,-2.20457,-2.32403,-1.56002,-2.84053,-2.80635,-1.14603,-1.63819,-2.09679,-2.71745,-2.86251,-1.33439,-2.24149,-2.6809,-0.456454,-0.250079,-0.368592,-0.180288,-0.0491842,-0.404012,-0.399624,-0.316573,-0.467165,-0.351745,-0.251893,-0.144805,-0.60378,0.529074,-0.446642,-0.00953569,0.0612345,-0.355003,0.0753739,-0.221637,-0.187338,-0.491798,-0.424402,0.204244 --5926.38,0.93046,0.394006,2,-0.28774,0.0578541,-3.04569,-2.04985,-2.08137,-2.3591,-2.7134,-1.85655,-1.66397,-1.87271,-1.88943,-2.24448,-2.28582,-1.50298,-2.82977,-2.92091,-1.16796,-1.59408,-2.01012,-2.70271,-3.11621,-1.40737,-2.29247,-2.8318,-0.519069,-0.308313,-0.379599,-0.132797,-0.0982341,-0.322698,-0.473518,-0.314101,-0.48348,-0.327191,-0.370072,-0.155313,-0.625083,0.307105,-0.366667,0.0774876,0.00500416,-0.289629,-0.110823,-0.216852,-0.18514,-0.44744,-0.435904,0.240529 --5918.85,0.899655,0.394006,3,-0.257559,0.0159651,-1.93214,-2.19146,-2.06224,-2.31885,-2.25482,-2.60291,-1.74979,-2.31155,-2.03069,-2.19462,-2.34318,-1.50021,-2.8284,-2.73883,-1.49837,-1.36354,-2.37401,-3.52209,-3.68759,-1.5162,-2.0071,-2.9218,-0.0565644,-0.174854,-0.181826,-0.264114,-0.411511,-0.182591,-0.305422,-0.00923582,-0.122883,-0.294487,-0.179958,-0.254269,-0.233857,0.102211,-0.162993,-0.376509,-0.0327597,-0.397088,-0.309859,-0.231095,-0.424891,-0.296886,-0.214527,0.126353 --5909.61,1,0.394006,2,-0.234356,0.00602796,-2.68282,-2.16639,-2.1306,-2.35694,-2.34529,-1.87275,-1.64991,-2.14692,-1.98137,-2.24109,-2.34577,-1.37964,-2.9729,-2.83655,-1.25685,-1.44274,-1.92024,-2.9551,-4.09038,-1.47418,-2.077,-2.69549,-0.286555,-0.171467,-0.229781,-0.276547,-0.213762,-0.363102,-0.467865,-0.164028,-0.180708,-0.281485,-0.244821,-0.111943,-0.409323,-0.198823,-0.306621,-0.221611,-0.310283,-0.443099,-0.164018,-0.343236,-0.371661,-0.243493,-0.262545,0.0776399 --5906.9,0.297126,0.394006,2,-0.254369,0.0053366,-2.69942,-2.25016,-1.94798,-2.31253,-2.31421,-2.03414,-1.65917,-2.24983,-1.96869,-2.24334,-2.35158,-1.40026,-3.09201,-2.77261,-1.18821,-1.46424,-1.8396,-3.04227,-4.20158,-1.48931,-2.05577,-2.69633,-0.250292,-0.233428,-0.255329,-0.279767,-0.242649,-0.417111,-0.452224,-0.180604,-0.231857,-0.264166,-0.215465,-0.176943,-0.374907,-0.164719,-0.254461,-0.256392,-0.202184,-0.333168,-0.193798,-0.380602,-0.286956,-0.195357,-0.147281,0.073052 --5910.5,0.398469,0.394006,2,-0.29077,0.00330804,-1.92902,-2.19181,-2.02032,-2.47112,-2.37809,-2.23269,-1.81408,-1.84776,-2.22684,-2.24276,-2.40739,-1.6469,-2.9935,-2.56451,-1.27702,-1.46425,-2.10856,-2.91474,-3.24749,-1.28625,-2.1585,-3.03279,-0.27857,-0.276587,-0.441778,-0.228306,-0.297186,-0.262315,-0.208796,-0.431793,-0.291218,-0.36552,-0.270497,-0.294586,-0.360618,-0.23075,-0.29254,-0.345711,-0.192195,-0.366266,-0.252989,-0.263541,-0.194167,-0.37427,-0.192907,0.0575155 --5905.43,0.0251554,0.394006,2,-0.312883,0.0023145,-2.52041,-2.14964,-2.34948,-2.46117,-2.30064,-1.97812,-1.88767,-2.01947,-1.92026,-2.17864,-2.27118,-1.45557,-2.74116,-2.59529,-1.44678,-1.44291,-2.1317,-2.95672,-3.56964,-1.5957,-2.15134,-2.98074,-0.334071,-0.350877,-0.138121,-0.312986,-0.290028,-0.359088,-0.35952,-0.262492,-0.318138,-0.283804,-0.333784,-0.288448,-0.411504,-0.327804,-0.286578,-0.271942,-0.359328,-0.240674,-0.348105,-0.335868,-0.439609,-0.213809,-0.422988,0.0481093 --5913.33,0.0101602,0.394006,1,-0.265169,0.00712378,-2.28998,-2.21254,-2.34083,-2.47595,-2.23306,-2.06033,-1.71848,-1.96677,-1.90755,-2.24406,-2.23729,-1.39826,-2.76351,-2.49467,-1.44806,-1.24279,-1.88499,-2.96131,-3.29945,-1.48562,-2.32986,-2.83629,-0.301909,-0.345854,-0.196579,-0.335962,-0.406104,-0.288301,-0.225044,-0.244672,-0.332025,-0.419738,-0.187448,-0.353245,-0.153113,-0.268344,-0.24741,-0.324503,-0.316761,-0.192013,-0.256557,-0.401768,-0.266152,-0.41032,-0.268778,0.0844025 --5918.02,0.320021,0.394006,2,-0.250304,0.00892291,-2.36664,-2.18793,-2.26411,-2.32827,-2.26715,-2.13732,-1.74116,-1.9867,-1.96183,-2.2141,-2.20735,-1.50231,-2.93134,-2.56668,-1.36161,-1.43788,-1.87312,-3.14701,-3.48007,-1.51106,-2.41636,-2.83356,-0.135833,-0.211465,-0.0121553,-0.325882,-0.437956,-0.274438,-0.169496,-0.278061,-0.565931,-0.40015,-0.163461,-0.180717,-0.156326,-0.219661,-0.198418,-0.352184,-0.173932,-0.310493,-0.209475,-0.223025,-0.29558,-0.43034,-0.189449,0.0944611 --5924.27,0.136315,0.394006,3,-0.23473,0.0148475,-1.98774,-2.15826,-2.45348,-2.28898,-2.2721,-2.07213,-1.86603,-1.96553,-1.70151,-2.15433,-2.25771,-1.49101,-2.82241,-2.69025,-1.39344,-1.66396,-1.943,-3.16359,-3.80061,-1.6323,-2.22312,-2.83074,-0.213624,-0.318155,0.0347973,-0.267792,-0.341057,-0.237482,-0.217141,-0.369106,-0.69976,-0.401571,-0.0691631,-0.0840241,-0.249445,-0.147074,-0.22186,-0.319962,-0.302938,-0.117745,-0.158533,-0.254751,-0.459827,-0.569663,-0.167743,0.12185 --5923.76,0.492246,0.394006,2,-0.276776,0.0176649,-2.20013,-2.63606,-2.16613,-2.43631,-2.54277,-2.33144,-1.70928,-2.17002,-1.78678,-2.12846,-2.61686,-1.51178,-2.9577,-2.83575,-1.2542,-1.50439,-2.32842,-2.9397,-3.72012,-1.57931,-1.97895,-2.79104,-0.282609,-0.153889,-0.280874,-0.234562,-0.224848,-0.423239,-0.350143,-0.211798,-0.428221,-0.42942,-0.121108,-0.300543,-0.328411,0.00954299,-0.325042,-0.00915789,0.0329896,0.039936,-0.397918,-0.274263,-0.0965818,-0.301917,-0.241036,0.132909 --5934.02,0.791918,0.394006,2,-0.179771,0.0282081,-2.7882,-1.92569,-2.07342,-2.41919,-2.7071,-2.12185,-1.72892,-2.44335,-2.038,-2.36458,-2.04868,-1.63251,-2.97178,-2.61384,-1.44803,-1.69618,-1.77845,-2.92789,-3.16498,-1.37819,-2.1728,-2.95601,-0.0722587,-0.297492,-0.176323,-0.22359,0.430612,0.0738056,-0.267046,-0.084274,-0.27283,-0.204346,-0.241361,0.201326,-0.282035,-0.0515323,-0.141612,-0.206498,-0.127933,-0.334669,0.122145,-0.144984,-0.600132,-0.441516,-0.185356,0.167953 --5931.49,0.984587,0.394006,3,-0.242297,0.0293961,-2.85427,-2.11094,-2.22023,-2.39608,-2.60549,-2.51247,-1.67269,-2.00512,-2.10465,-2.2029,-2.42622,-1.72778,-2.96412,-2.76213,-1.26012,-1.42648,-1.84021,-2.69205,-3.97452,-1.5752,-1.77321,-2.66737,-0.232114,-0.37556,-0.126185,-0.205138,0.0353955,-0.3185,-0.47333,-0.0739676,-0.218998,-0.259279,-0.514871,-0.0980166,-0.332454,-0.14343,-0.385215,-0.0145366,-0.415596,-0.125764,-0.209293,-0.466058,-0.406376,-0.374506,-0.208174,0.171453 --5927.36,0.980707,0.394006,2,-0.186471,0.0164353,-2.51158,-2.21801,-1.80503,-2.44343,-2.59385,-1.96121,-1.50227,-1.99461,-1.87969,-2.29671,-2.20637,-1.36167,-2.91784,-2.73404,-1.38332,-1.42993,-2.21789,-3.23682,-2.95576,-1.55612,-2.27421,-3.16534,-0.249085,-0.162918,-0.376384,-0.248187,-0.08241,-0.18369,-0.628133,-0.518373,-0.294714,-0.305024,-0.0519967,-0.238662,-0.225964,-0.0594838,-0.175228,-0.476221,-0.0171538,-0.177344,-0.268205,-0.00909761,-0.286816,-0.2567,-0.533146,0.1282 --5917.13,0.953353,0.394006,2,-0.225842,0.0135155,-2.28542,-2.13072,-1.73101,-2.40717,-2.58962,-2.05251,-1.4817,-1.96878,-1.89027,-2.24006,-2.24693,-1.24485,-3.01623,-2.81817,-1.36205,-1.43645,-2.1765,-2.93428,-3.36161,-1.64399,-2.25998,-2.93132,-0.197211,-0.262132,-0.388164,-0.285791,-0.0807183,-0.305051,-0.611332,-0.284678,-0.250789,-0.245441,-0.263986,-0.154817,-0.0741743,-0.161013,-0.0769481,-0.320847,-0.312887,-0.292465,-0.231614,-0.141588,-0.317024,-0.256403,-0.425308,0.116256 --5925.39,0.576561,0.394006,2,-0.205478,0.0596002,-2.54007,-2.14201,-2.54607,-2.4442,-2.33819,-1.99934,-1.78196,-2.14229,-2.03833,-2.22187,-2.36203,-1.60837,-2.92903,-2.74615,-1.3384,-1.68404,-1.8465,-2.90007,-3.52234,-1.59766,-1.90231,-2.90716,-0.45474,-0.444955,-0.11776,-0.165187,-0.238204,-0.541214,-0.359721,-0.146145,-0.388342,-0.296621,-0.200934,-0.304188,-0.589848,0.224983,-0.506293,-0.037804,-0.111452,-0.239175,-0.328128,-0.13743,-0.496436,-0.289527,0.0104612,0.244131 --5929.8,0.846192,0.394006,2,-0.323581,0.0106242,-1.50897,-2.29691,-2.29359,-2.42006,-2.4079,-2.6762,-1.76842,-2.12537,-1.76659,-2.23073,-2.16897,-1.27273,-2.60387,-3.11771,-1.39463,-1.3203,-2.00091,-2.6487,-3.67376,-1.57683,-2.14403,-2.7383,-0.522061,-0.246646,-0.32796,-0.19539,-0.153604,-0.284519,-0.241624,-0.184712,-0.279805,-0.3406,-0.388275,-0.158098,-0.789713,0.244117,-0.377501,-0.330415,-0.327752,-0.330181,-0.256594,-0.103505,-0.68512,-0.750331,-0.322745,0.103074 --5918.81,1,0.394006,2,-0.246851,0.0153209,-2.33658,-2.13385,-2.02522,-2.30969,-2.12507,-1.62565,-1.71909,-2.03657,-1.88162,-2.32142,-2.07665,-1.44936,-2.9033,-2.87319,-1.32865,-1.37372,-2.08709,-3.09103,-3.76041,-1.6988,-2.09497,-2.99222,-0.280477,-0.322557,-0.242368,-0.271473,-0.311675,-0.311691,-0.414821,-0.271597,-0.414152,-0.138534,-0.278976,-0.332789,-0.552864,0.298311,-0.14778,-0.241812,-0.154556,-0.294734,-0.223936,-0.24436,-0.182886,-0.417293,-0.288826,0.123778 --5916.33,0.884329,0.394006,2,-0.236354,0.00918343,-2.09777,-2.33446,-2.48911,-2.49562,-2.56217,-2.82885,-1.6156,-1.93873,-1.99862,-2.26762,-2.46302,-1.41136,-2.95138,-2.78869,-1.31628,-1.55434,-2.02434,-2.71212,-3.14031,-1.35882,-2.15834,-2.98587,-0.259654,-0.251752,-0.31064,-0.233108,-0.194922,-0.244201,-0.491141,-0.301695,-0.177367,-0.381412,-0.258442,-0.201874,-0.158819,-0.0685672,-0.415697,-0.28223,-0.234763,-0.262308,-0.273362,-0.236792,-0.454464,-0.1828,0.274358,0.0958302 --5916.33,0.153247,0.394006,3,-0.236354,0.00918343,-2.09777,-2.33446,-2.48911,-2.49562,-2.56217,-2.82885,-1.6156,-1.93873,-1.99862,-2.26762,-2.46302,-1.41136,-2.95138,-2.78869,-1.31628,-1.55434,-2.02434,-2.71212,-3.14031,-1.35882,-2.15834,-2.98587,-0.259654,-0.251752,-0.31064,-0.233108,-0.194922,-0.244201,-0.491141,-0.301695,-0.177367,-0.381412,-0.258442,-0.201874,-0.158819,-0.0685672,-0.415697,-0.28223,-0.234763,-0.262308,-0.273362,-0.236792,-0.454464,-0.1828,0.274358,0.0958302 --5929.26,0.572171,0.394006,2,-0.304684,0.0198724,-3.02537,-2.05769,-2.57418,-2.39229,-2.47222,-2.65355,-1.6334,-1.93174,-2.1682,-2.24378,-2.40311,-1.69377,-3.1405,-2.70958,-1.11041,-1.29796,-1.92199,-3.05812,-4.18818,-1.38017,-2.1616,-3.15718,-0.290983,-0.506982,-0.238612,-0.199825,-0.163402,-0.26879,-0.550322,-0.37042,-0.0993707,-0.179799,-0.0771176,-0.362489,-0.445308,-0.220269,-0.352036,-0.300248,-0.190954,-0.316902,-0.311508,-0.492664,-0.14362,-0.145451,-0.326757,0.14097 --5928.56,0.981605,0.394006,2,-0.213072,0.0200759,-1.93211,-2.15653,-1.36468,-2.4073,-2.15236,-1.79552,-1.81037,-2.22582,-1.76906,-2.24081,-2.35948,-1.48392,-3.16097,-2.84387,-1.56211,-1.4658,-2.08731,-3.05121,-2.86297,-1.19888,-2.18309,-2.82838,-0.256196,-0.0500537,-0.226797,-0.223872,-0.247651,-0.177802,-0.138112,-0.0834624,-0.36578,-0.406053,-0.29891,0.122863,-0.0219544,-0.151106,-0.20068,-0.235296,-0.169393,-0.101031,-0.207773,-0.461184,-0.331718,-0.317309,-0.273362,0.141689 --5932.65,1,0.394006,2,-0.328357,0.0102922,-2.64071,-1.99794,-3.03306,-2.34258,-2.58727,-2.98073,-1.6809,-1.96862,-2.07835,-2.32336,-2.3355,-1.49757,-2.90665,-2.65279,-1.02083,-1.49633,-2.00644,-2.80687,-3.97928,-1.8691,-1.95453,-2.97993,-0.207745,-0.638191,-0.282338,-0.405924,-0.0921188,-0.447542,-0.525972,-0.40639,-0.16224,-0.305661,-0.205264,-0.411148,-0.611762,-0.308746,-0.318887,-0.322176,-0.317721,-0.300601,-0.223974,-0.00318336,-0.299854,-0.299787,-0.303833,0.10145 --5916.19,0.963374,0.394006,2,-0.290528,0.00705184,-2.4533,-2.40796,-2.16533,-2.37501,-2.34847,-2.60896,-1.71077,-2.27187,-1.98733,-2.17042,-2.38052,-1.29695,-3.03185,-2.80024,-1.48935,-1.56152,-1.90666,-3.09047,-2.81712,-1.52322,-2.04607,-2.77771,-0.278036,-0.0261376,-0.31456,-0.208685,-0.195395,-0.14065,-0.260576,-0.0270074,-0.371395,-0.299886,-0.297121,-0.243183,-0.298865,0.0501139,-0.351134,-0.238808,-0.217223,-0.261632,-0.375782,-0.435554,-0.579397,-0.434006,-0.318485,0.0839752 --5918.03,0.92255,0.394006,2,-0.287298,0.0155103,-2.5032,-2.57891,-2.38178,-2.34879,-2.43731,-2.33338,-1.78014,-2.08496,-1.94571,-2.18601,-2.33491,-1.25894,-2.88529,-2.88939,-1.55523,-1.60319,-2.09358,-3.06519,-2.97135,-1.55535,-1.91876,-2.75718,-0.344638,-0.17885,-0.218146,-0.266591,-0.280584,-0.165495,-0.282257,0.0910629,-0.290528,-0.340059,-0.262179,-0.254952,-0.352124,-0.112388,-0.355449,-0.130574,-0.261532,-0.422108,-0.305505,-0.283818,-0.448362,-0.373511,-0.371777,0.12454 --5918.6,0.822865,0.394006,2,-0.291332,0.0101903,-2.72794,-2.78032,-2.13378,-2.45081,-2.14078,-2.59603,-1.83252,-2.19658,-1.89594,-2.21933,-2.27556,-1.49542,-3.0855,-2.72279,-1.42108,-1.50102,-1.91543,-2.71739,-2.91,-1.50669,-1.9869,-2.73137,-0.33708,-0.14035,0.0250334,-0.294513,-0.162486,-0.357462,-0.259772,-0.176124,-0.254901,-0.312518,-0.25663,-0.34388,-0.297017,-0.170529,-0.381841,-0.141119,-0.252839,-0.248999,-0.501952,-0.24784,-0.378683,-0.306694,-0.465411,0.100947 --5921.03,0.282345,0.394006,2,-0.28703,0.00872283,-2.55032,-2.19395,-1.76036,-2.30573,-2.15352,-2.32807,-1.88525,-1.97532,-1.69983,-2.22253,-2.20433,-1.29477,-3.03868,-2.6428,-1.24445,-1.5477,-1.79908,-2.69728,-2.9473,-1.33127,-2.14564,-2.78288,-0.233826,-0.341955,0.051484,-0.260591,-0.410033,-0.313459,-0.178439,-0.286535,-0.608096,-0.407303,-0.236599,-0.231307,-0.316159,-0.18411,-0.20887,-0.236796,-0.38076,-0.193116,-0.228974,-0.388481,-0.378953,-0.357175,-0.453365,0.0933961 --5909.96,0.538339,0.394006,2,-0.244925,0.00594,-1.9892,-2.23472,-2.552,-2.38873,-2.49467,-2.33896,-1.68827,-2.01802,-1.8817,-2.18495,-2.37593,-1.59214,-2.91579,-2.74534,-1.30737,-1.61125,-1.89243,-2.6245,-3.44523,-1.596,-2.26275,-2.87604,-0.319893,-0.206837,-0.359757,-0.282691,-0.102136,-0.261582,-0.406707,-0.298885,-0.450675,-0.204987,-0.339807,-0.267215,-0.229583,-0.198567,-0.382552,-0.233884,-0.160578,-0.312394,-0.316095,-0.172391,-0.189586,-0.263982,-0.138725,0.0770714 --5922.31,1,0.394006,3,-0.311747,0.016696,-2.61006,-1.99478,-1.72838,-2.41197,-2.1994,-2.27116,-1.69019,-2.13287,-2.01796,-2.13303,-2.30735,-1.50088,-2.97351,-2.87663,-1.48177,-1.41447,-1.95667,-3.47204,-3.3225,-1.25848,-1.96508,-2.92973,-0.251815,-0.423836,-0.399731,-0.30473,-0.266925,-0.355307,-0.365888,-0.234165,-0.169651,-0.223126,-0.206425,-0.488946,-0.299693,0.178051,-0.304636,-0.346144,0.0485433,-0.275057,-0.36264,-0.291468,-0.61135,-0.470566,-0.521277,0.129213 --5922.2,0.986093,0.394006,3,-0.355484,0.0086975,-2.01861,-2.24519,-2.53578,-2.32737,-2.43613,-2.10286,-1.63558,-1.93267,-1.69511,-2.32975,-2.21818,-1.39729,-3.0434,-2.65439,-1.16192,-1.40174,-2.10079,-2.35051,-3.22914,-1.52861,-1.88121,-2.74345,-0.485293,-0.294573,-0.320959,-0.298976,-0.239629,-0.417272,-0.512996,-0.254158,-0.631582,-0.347842,-0.434526,-0.1776,-0.453046,-0.250244,-0.405526,-0.271278,-0.438412,-0.42427,-0.25436,-0.473664,-0.646524,-0.311887,-0.199617,0.0932604 --5922.2,0.321697,0.394006,2,-0.355484,0.0086975,-2.01861,-2.24519,-2.53578,-2.32737,-2.43613,-2.10286,-1.63558,-1.93267,-1.69511,-2.32975,-2.21818,-1.39729,-3.0434,-2.65439,-1.16192,-1.40174,-2.10079,-2.35051,-3.22914,-1.52861,-1.88121,-2.74345,-0.485293,-0.294573,-0.320959,-0.298976,-0.239629,-0.417272,-0.512996,-0.254158,-0.631582,-0.347842,-0.434526,-0.1776,-0.453046,-0.250244,-0.405526,-0.271278,-0.438412,-0.42427,-0.25436,-0.473664,-0.646524,-0.311887,-0.199617,0.0932604 --5923.52,0.95355,0.394006,3,-0.290141,0.00981648,-2.92466,-1.97841,-1.85054,-2.3513,-2.31844,-2.24045,-1.80954,-2.17782,-1.77427,-2.12883,-2.43406,-1.41126,-2.96437,-2.72673,-1.51881,-1.48843,-1.80993,-3.5459,-3.38725,-1.34166,-2.46851,-3.04375,-0.12785,-0.181704,-0.225825,-0.356524,-0.374294,-0.281243,-0.320433,-0.101357,-0.694198,-0.292594,-0.188776,-0.18229,-0.373646,-0.206446,-0.289927,-0.229577,-0.425772,-0.238429,-0.0459194,-0.311568,-0.408843,-0.253177,-0.165013,0.0990782 --5930.35,0.832239,0.394006,2,-0.236503,0.0194477,-2.35848,-1.81581,-1.83923,-2.3927,-2.09811,-1.95932,-1.84443,-2.19346,-1.78207,-2.24426,-2.512,-1.28955,-2.98838,-2.60687,-1.31438,-1.43957,-1.92387,-3.388,-3.29368,-1.37935,-2.04629,-2.76551,-0.129137,-0.423322,-0.259827,-0.359472,-0.608383,-0.343671,-0.3255,-0.0570834,-0.701224,-0.33955,-0.251542,-0.19189,-0.185446,-0.118664,-0.327301,-0.0564262,-0.328089,-0.345275,-0.156797,-0.274968,-0.0340467,-0.316126,-0.325576,0.139455 --5922.01,1,0.394006,3,-0.338832,0.0170159,-2.19561,-2.06142,-2.37994,-2.32715,-2.33312,-2.61876,-1.67322,-2.0591,-1.92607,-2.08867,-2.28094,-1.38436,-2.87324,-2.78792,-1.33122,-1.48935,-2.02624,-2.67873,-3.06486,-1.42664,-2.09433,-2.95942,-0.447276,-0.513598,-0.320835,-0.229841,-0.296232,-0.216519,-0.345761,-0.389784,-0.0643794,-0.42888,-0.177632,-0.406631,-0.443983,-0.227625,-0.225527,-0.423391,-0.156928,-0.148408,-0.457559,-0.423867,-0.736792,-0.370647,-0.240018,0.130445 --5920.08,1,0.394006,2,-0.346427,0.0295804,-3.25386,-2.3451,-1.94381,-2.38389,-2.33765,-1.62161,-1.73359,-2.15096,-2.06213,-2.25044,-2.24577,-1.40478,-2.91016,-2.60294,-1.4158,-1.44191,-1.76772,-2.77946,-3.4432,-1.56281,-1.85298,-2.85044,-0.285755,-0.254449,-0.419053,-0.403958,-0.350505,-0.379469,-0.424908,-0.298078,-0.582467,-0.324935,-0.380434,-0.273786,-0.37419,-0.120754,-0.458055,-0.247598,-0.336114,-0.433956,-0.15906,-0.229442,-0.582606,-0.302279,-0.256662,0.171989 --5919.29,0.967305,0.394006,2,-0.355883,0.00351514,-2.65818,-2.04012,-2.01165,-2.30309,-2.34291,-1.72252,-1.69006,-2.04484,-2.02114,-2.25802,-2.28939,-1.28922,-2.68037,-2.7193,-1.59159,-1.38424,-1.97731,-2.96077,-3.40582,-1.71374,-1.83323,-2.80002,-0.130727,-0.404239,-0.385791,-0.245201,-0.232801,-0.605408,-0.424777,-0.249592,-0.41943,-0.372399,-0.254377,-0.289399,-0.400113,-0.289359,-0.334033,-0.509613,-0.383888,-0.327636,-0.216463,-0.300681,-0.563418,-0.440825,-0.378234,0.0592887 --5927.18,0.648425,0.394006,2,-0.384457,0.0150428,-3.35724,-1.87287,-2.10065,-2.42955,-2.3518,-2.0518,-1.64198,-2.03937,-2.08604,-2.23067,-2.26262,-1.12171,-2.82828,-2.73348,-1.37022,-1.22607,-2.14329,-2.97558,-2.91006,-1.73615,-1.74226,-3.00433,-0.194186,-0.613179,-0.393126,-0.344256,-0.456561,-0.381891,-0.34492,-0.380922,-0.314339,-0.299343,-0.296033,-0.50966,-0.445473,-0.199901,-0.363388,-0.145604,-0.355809,-0.382504,-0.570694,-0.267905,-0.548387,-0.328797,-0.350376,0.122649 --5919.36,1,0.394006,2,-0.297781,0.00813547,-2.80265,-1.8843,-2.00526,-2.2019,-2.36961,-2.53684,-1.66638,-1.99586,-1.94031,-2.22532,-2.22494,-1.14052,-2.84632,-2.68306,-1.32544,-1.32183,-2.1866,-2.71327,-3.44876,-1.45213,-1.89376,-2.94362,-0.334475,-0.662831,-0.480797,-0.416846,-0.192683,-0.286106,-0.443611,-0.284228,-0.229237,-0.276577,-0.276706,-0.409379,-0.551214,-0.135779,-0.322773,-0.462506,-0.246206,-0.281318,-0.214606,-0.154078,-0.521177,-0.416989,-0.348091,0.0901968 --5923.25,0.833133,0.394006,3,-0.364651,0.0396319,-2.05792,-2.34945,-2.22197,-2.48701,-2.49716,-1.92561,-1.5616,-2.01496,-1.87773,-2.14283,-2.16254,-1.52131,-3.00514,-2.82001,-1.29299,-1.67055,-1.85634,-3.06475,-3.28673,-1.32625,-2.217,-2.86939,-0.373145,-0.228162,-0.426264,-0.241321,-0.341387,-0.564357,-0.556496,-0.191816,-0.628786,-0.415916,-0.515298,-0.0792044,-0.339185,0.206072,-0.387834,-0.219741,-0.300338,-0.337114,-0.491348,-0.541318,-0.541608,-0.598332,-0.531531,0.199078 --5918.94,0.394116,0.394006,3,-0.247912,0.0117087,-2.34182,-2.33256,-2.09959,-2.366,-2.44805,-2.63096,-1.71014,-2.16926,-2.2242,-2.3356,-2.40014,-1.39971,-2.92223,-2.91115,-1.41948,-1.45812,-1.89961,-2.9095,-3.09473,-1.50085,-1.9749,-3.22613,-0.260921,-0.1616,-0.342509,-0.21628,-0.189514,-0.249937,-0.323883,-0.317632,-0.347301,-0.292195,-0.0599585,-0.020949,-0.291146,-0.169952,-0.227367,-0.147744,-0.100672,-0.105102,-0.162833,-0.368166,-0.486299,-0.0787808,-0.219737,0.108207 --5918.04,1,0.394006,2,-0.248128,0.00981345,-2.42321,-2.20084,-2.02532,-2.32882,-2.32972,-2.74977,-1.81563,-2.05154,-2.07011,-2.27244,-2.34363,-1.27401,-3.14591,-2.61573,-1.66808,-1.43513,-1.7805,-3.04974,-3.07939,-1.42352,-1.97896,-3.16638,-0.244936,-0.212978,-0.435525,-0.279233,-0.219094,-0.265379,-0.299358,-0.385867,-0.305505,-0.218727,-0.0649625,-0.165754,-0.341463,-0.188915,-0.229193,-0.0340916,-0.243539,-0.0217154,-0.174226,-0.172274,-0.401562,-0.336788,-0.347164,0.0990628 --5909.81,0.867111,0.394006,2,-0.223967,0.00384418,-2.2497,-2.16043,-1.80535,-2.35373,-2.43292,-2.6915,-1.70966,-2.18234,-1.9923,-2.36174,-2.25597,-1.43521,-2.99386,-2.69066,-1.48393,-1.53594,-1.63497,-2.9493,-3.07359,-1.27091,-2.03226,-3.02247,-0.251721,-0.29691,-0.439629,-0.162506,-0.208706,-0.218346,-0.242549,-0.00233101,-0.181152,-0.237002,-0.283771,-0.277481,-0.169431,-0.191789,-0.215277,-0.121114,-0.260763,-0.197584,-0.271571,-0.271309,-0.410495,-0.128011,-0.177225,0.0620015 --5909.81,0.134447,0.394006,2,-0.223967,0.00384418,-2.2497,-2.16043,-1.80535,-2.35373,-2.43292,-2.6915,-1.70966,-2.18234,-1.9923,-2.36174,-2.25597,-1.43521,-2.99386,-2.69066,-1.48393,-1.53594,-1.63497,-2.9493,-3.07359,-1.27091,-2.03226,-3.02247,-0.251721,-0.29691,-0.439629,-0.162506,-0.208706,-0.218346,-0.242549,-0.00233101,-0.181152,-0.237002,-0.283771,-0.277481,-0.169431,-0.191789,-0.215277,-0.121114,-0.260763,-0.197584,-0.271571,-0.271309,-0.410495,-0.128011,-0.177225,0.0620015 --5909.81,0.00717798,0.394006,2,-0.223967,0.00384418,-2.2497,-2.16043,-1.80535,-2.35373,-2.43292,-2.6915,-1.70966,-2.18234,-1.9923,-2.36174,-2.25597,-1.43521,-2.99386,-2.69066,-1.48393,-1.53594,-1.63497,-2.9493,-3.07359,-1.27091,-2.03226,-3.02247,-0.251721,-0.29691,-0.439629,-0.162506,-0.208706,-0.218346,-0.242549,-0.00233101,-0.181152,-0.237002,-0.283771,-0.277481,-0.169431,-0.191789,-0.215277,-0.121114,-0.260763,-0.197584,-0.271571,-0.271309,-0.410495,-0.128011,-0.177225,0.0620015 --5909.81,0.00432323,0.394006,2,-0.223967,0.00384418,-2.2497,-2.16043,-1.80535,-2.35373,-2.43292,-2.6915,-1.70966,-2.18234,-1.9923,-2.36174,-2.25597,-1.43521,-2.99386,-2.69066,-1.48393,-1.53594,-1.63497,-2.9493,-3.07359,-1.27091,-2.03226,-3.02247,-0.251721,-0.29691,-0.439629,-0.162506,-0.208706,-0.218346,-0.242549,-0.00233101,-0.181152,-0.237002,-0.283771,-0.277481,-0.169431,-0.191789,-0.215277,-0.121114,-0.260763,-0.197584,-0.271571,-0.271309,-0.410495,-0.128011,-0.177225,0.0620015 --5911.46,0.12996,0.394006,2,-0.187024,0.00585766,-2.65573,-2.29265,-1.69097,-2.4674,-2.39088,-2.10634,-1.80277,-1.961,-2.14113,-2.20613,-2.36029,-1.48552,-3.07525,-2.67384,-1.20841,-1.56594,-1.91431,-3.22135,-3.73977,-1.41255,-2.00745,-2.83787,-0.133097,-0.122424,-0.0571985,-0.264568,-0.150337,-0.193038,-0.294312,-0.389671,-0.283581,-0.176645,-0.0557569,-0.0690767,-0.253986,-0.128928,-0.201328,-0.186381,-0.181502,-0.116686,-0.0978283,-0.147351,-0.219949,-0.345199,-0.207036,0.0765354 --5919.17,0.910197,0.394006,2,-0.221481,0.00831899,-2.14787,-1.9395,-2.13914,-2.33297,-2.42598,-2.25427,-1.66207,-2.20466,-1.8387,-2.32648,-2.38688,-1.50501,-3.2058,-3.07122,-1.5571,-1.39926,-2.10936,-2.75017,-3.17069,-1.83878,-2.29237,-3.00013,-0.254358,-0.308696,-0.400047,-0.161981,-0.229195,-0.256702,-0.383116,0.0809907,-0.153671,-0.371074,-0.268105,-0.197415,-0.018518,0.315768,-0.214477,-0.165847,-0.193991,-0.181789,-0.200782,-0.105689,-0.266037,-0.265168,-0.176731,0.0912085 --5916.34,0.624277,0.394006,2,-0.220538,0.00694099,-1.89332,-1.72173,-1.9515,-2.53004,-2.4111,-1.92965,-1.782,-2.16748,-1.86723,-2.2882,-2.46358,-1.27946,-3.41535,-2.96698,-1.35664,-1.53728,-2.25118,-2.90528,-3.69718,-1.61929,-2.25845,-2.93206,-0.302428,-0.178787,-0.116277,-0.287814,-0.0923616,-0.235078,-0.236013,-0.143359,-0.293393,-0.298935,-0.195051,-0.272261,-0.218346,0.35546,-0.275039,-0.141822,-0.209741,-0.259932,-0.187482,-0.291738,-0.144802,-0.297534,-0.375905,0.0833126 --5912.34,1,0.394006,2,-0.297604,0.00609692,-2.4397,-2.41579,-1.91025,-2.30038,-2.58316,-2.79669,-1.72872,-1.96291,-2.06314,-2.22293,-2.25613,-1.48012,-2.55664,-2.85303,-1.52585,-1.62486,-2.40157,-3.14595,-3.0706,-1.552,-2.14347,-2.82463,-0.377263,-0.269007,-0.356238,-0.239214,-0.280798,-0.286586,-0.37211,-0.212463,-0.269966,-0.263562,-0.315034,-0.190228,-0.348494,-0.0360399,-0.195279,-0.24674,0.114235,-0.379414,-0.299128,-0.232468,-0.381627,-0.331818,-0.337439,0.0780828 --5913.78,0.557189,0.394006,3,-0.233449,0.00650319,-2.95616,-1.9023,-2.3352,-2.42775,-2.42877,-2.28751,-1.75118,-2.07203,-1.93555,-2.23781,-2.45627,-1.63699,-3.15976,-2.86206,-1.49089,-1.60613,-1.69558,-2.84187,-3.34086,-1.53037,-2.16076,-2.90686,-0.257589,-0.352988,-0.254111,-0.0756532,-0.408001,-0.260072,-0.36582,-0.149023,-0.290165,-0.189106,-0.104048,-0.0503387,-0.161356,-0.141318,-0.183353,-0.266332,-0.285481,-0.436591,-0.258877,-0.219353,-0.261568,-0.244855,-0.366202,0.0806423 --5914.11,0.758232,0.394006,2,-0.197312,0.00713622,-1.76292,-2.11566,-1.74526,-2.46926,-2.65617,-2.37213,-1.70975,-2.13412,-1.95932,-2.37349,-2.235,-1.33806,-2.83295,-2.72184,-1.35671,-1.62054,-2.17743,-2.99734,-3.39133,-1.53293,-2.00179,-2.80329,-0.200565,-0.192464,-0.233744,-0.293356,0.115628,-0.214896,-0.267935,-0.190367,-0.278975,-0.236915,-0.288845,-0.283162,-0.313074,0.0650678,-0.238157,-0.090942,-0.102301,0.060908,-0.193172,-0.209343,-0.41303,-0.340951,-0.110179,0.0844761 --5914.93,0.810176,0.394006,2,-0.223825,0.00801613,-3.16015,-2.24188,-2.37742,-2.35402,-2.54588,-1.95517,-1.67612,-2.15203,-2.06223,-2.13579,-2.42088,-1.51109,-3.19912,-2.57017,-1.43305,-1.41948,-1.78883,-2.89582,-3.57904,-1.57078,-2.36547,-2.83858,-0.233742,-0.271938,-0.259993,-0.16432,0.0351,-0.175682,-0.4619,-0.261738,-0.208631,-0.268764,-0.199175,-0.128607,-0.221878,-0.174572,-0.225526,-0.300704,-0.348859,-0.443783,-0.131053,-0.178745,-0.164387,-0.531403,-0.311904,0.0895329 --5908.25,0.755395,0.394006,2,-0.245377,0.00461883,-3.30434,-2.25796,-2.02102,-2.38891,-2.47784,-2.0867,-1.69691,-2.21408,-1.93787,-2.21515,-2.48465,-1.48721,-3.32099,-2.72921,-1.50037,-1.52904,-1.80047,-2.82461,-3.47497,-1.63858,-2.24722,-2.74099,-0.186808,-0.38645,-0.219768,-0.202116,-0.175627,-0.359931,-0.406965,-0.238467,-0.307653,-0.230378,-0.238578,-0.261055,-0.212739,-0.187615,-0.201745,-0.210824,-0.296808,-0.0075399,-0.163815,-0.234507,-0.124778,-0.292808,-0.262066,0.067962 --5909.82,0.53245,0.394006,2,-0.263488,0.00687456,-2.92755,-2.0722,-1.96197,-2.30715,-2.40591,-2.3034,-1.72049,-2.32059,-1.87947,-2.28545,-2.33212,-1.41975,-3.2343,-2.63212,-1.39318,-1.61751,-1.90405,-2.85962,-3.47816,-1.52887,-2.26153,-2.81901,-0.405439,-0.338464,-0.230223,-0.243319,-0.333864,-0.224507,-0.365743,-0.152452,-0.200725,-0.27224,-0.330033,-0.0795691,-0.189233,-0.196455,-0.370079,-0.343797,-0.305905,-0.138848,-0.141282,-0.229295,-0.373585,-0.32315,-0.288096,0.082913 --5912.15,0.763857,0.394006,2,-0.29228,0.00557531,-2.88439,-1.90698,-2.05963,-2.25571,-2.15242,-2.09746,-1.70001,-2.20127,-1.97306,-2.39325,-2.41565,-1.58085,-3.31741,-2.63174,-1.29952,-1.55693,-1.87328,-3.01569,-3.17351,-1.46973,-2.0453,-2.8689,-0.247732,-0.240872,-0.240455,-0.240436,-0.228748,-0.299455,-0.376379,-0.145628,-0.300891,-0.259162,-0.320992,-0.279285,-0.349721,-0.281167,-0.228078,-0.243979,-0.425614,-0.371694,-0.289307,-0.296153,-0.306794,-0.432156,-0.0789294,0.074668 --5917.9,0.41998,0.394006,2,-0.243511,0.00815833,-2.3614,-2.89708,-2.40597,-2.4389,-2.61439,-2.28343,-1.70492,-2.08261,-1.94646,-2.1438,-2.1183,-1.34487,-2.85141,-2.76879,-1.19219,-1.28197,-1.78349,-2.8179,-3.59663,-1.34003,-2.15983,-2.98629,-0.28201,-0.308554,-0.218894,-0.353503,-0.151362,-0.326772,-0.294619,-0.19033,-0.196315,-0.324584,-0.229709,-0.229472,-0.264858,-0.0162389,-0.337473,-0.247616,-0.0944071,-0.075888,-0.218361,-0.26887,-0.339083,-0.239864,0.135273,0.0903235 --5917.9,0.27937,0.394006,2,-0.243511,0.00815833,-2.3614,-2.89708,-2.40597,-2.4389,-2.61439,-2.28343,-1.70492,-2.08261,-1.94646,-2.1438,-2.1183,-1.34487,-2.85141,-2.76879,-1.19219,-1.28197,-1.78349,-2.8179,-3.59663,-1.34003,-2.15983,-2.98629,-0.28201,-0.308554,-0.218894,-0.353503,-0.151362,-0.326772,-0.294619,-0.19033,-0.196315,-0.324584,-0.229709,-0.229472,-0.264858,-0.0162389,-0.337473,-0.247616,-0.0944071,-0.075888,-0.218361,-0.26887,-0.339083,-0.239864,0.135273,0.0903235 --5928.72,1,0.394006,2,-0.34791,0.0319641,-2.12667,-1.74485,-1.95577,-2.392,-2.23494,-2.42956,-1.52891,-1.96348,-2.01608,-2.25091,-2.52764,-1.44423,-3.14408,-2.80785,-1.2122,-1.82537,-2.0884,-2.86193,-3.31628,-1.47674,-1.90156,-2.81445,-0.25194,-0.218884,-0.289662,-0.150886,-0.248197,-0.155083,-0.733646,-0.362324,-0.362068,-0.380389,-0.231273,-0.282734,-0.274898,0.0960907,-0.493816,-0.0633,-0.39467,-0.425588,-0.235388,-0.325374,-0.502354,-0.389413,-0.865433,0.178785 --5924.15,0.907451,0.394006,2,-0.25997,0.0164236,-2.28237,-2.24771,-2.059,-2.45609,-2.33272,-2.05586,-1.48771,-2.05201,-1.84547,-2.14988,-2.40375,-1.38025,-2.59291,-2.89139,-1.36748,-1.47464,-1.88737,-2.71465,-3.77987,-1.42109,-2.16113,-2.98619,-0.0996698,-0.271899,-0.310209,-0.209696,-0.271115,-0.319386,-0.677888,-0.278997,-0.39296,-0.364524,-0.124684,-0.307144,-0.49147,0.0501589,-0.52372,-0.347739,-0.167452,-0.464213,-0.142203,-0.368556,-0.347288,-0.55001,-0.879772,0.128154 --5925.81,0.753444,0.394006,2,-0.433771,0.0257543,-2.03064,-2.12802,-1.9874,-2.43972,-2.11968,-2.00744,-1.6362,-2.11165,-1.83249,-2.15137,-2.21971,-1.33327,-2.80098,-2.87002,-1.21269,-1.48767,-1.87421,-2.93538,-2.88988,-1.62637,-2.08703,-2.74671,-0.655882,-0.322461,-0.205336,-0.233353,-0.395219,-0.393725,-0.377399,-0.270489,-0.604852,-0.497568,-0.358326,-0.161992,-0.485017,0.0539174,-0.152057,-0.31314,-0.309461,-0.372105,-0.527502,-0.100679,-0.317958,-0.345498,-0.098073,0.160481 --5928.88,0.871629,0.394006,3,-0.369718,0.0222777,-3.33712,-2.22333,-2.00282,-2.47092,-2.40792,-2.32241,-1.74012,-1.96973,-1.73465,-2.20094,-2.33316,-1.52499,-3.18907,-2.60045,-1.24434,-1.40784,-1.61357,-2.80168,-3.4833,-1.46457,-1.92025,-3.08589,-0.184825,-0.51886,-0.237937,-0.140229,-0.283234,-0.609696,-0.464601,-0.328536,-0.345053,-0.31737,-0.194364,-0.359577,-0.304699,-0.216174,-0.741525,-0.416011,-0.464606,-0.332453,-0.469581,-0.226485,-0.794832,-0.576115,-0.583142,0.149257 --5939.24,0.533271,0.394006,3,-0.477198,0.0339789,-2.36866,-2.05219,-1.52942,-2.49461,-2.26027,-1.90032,-1.80447,-2.12653,-1.75916,-2.25881,-2.42263,-1.26481,-3.41411,-2.66015,-1.13355,-1.38008,-1.81757,-2.67087,-3.25826,-1.50847,-2.00613,-2.81823,-0.276183,-0.343405,-0.511716,-0.236831,-0.243613,-0.446904,-0.301213,-0.104101,-0.207641,-0.56201,-0.293321,-0.156292,-0.399207,-0.0523172,-0.515193,-0.539427,-0.406114,-0.741254,-0.55205,-0.0634807,-0.459094,-0.446969,-0.728068,0.184334 --5923.37,0.932184,0.394006,2,-0.361204,0.00694138,-2.03641,-2.14983,-2.47596,-2.30391,-2.51203,-2.62183,-1.65213,-2.29341,-2.00364,-2.08516,-2.11118,-1.4734,-2.67488,-2.60106,-1.49699,-1.38401,-2.06657,-2.98326,-3.17383,-1.64332,-2.12743,-2.91431,-0.411796,-0.390928,-0.296911,-0.316592,-0.359218,-0.330292,-0.371729,-0.0916656,-0.559875,-0.248868,-0.362621,-0.448454,-0.386211,-0.213797,-0.254738,-0.244625,-0.271221,-0.0772239,-0.446531,-0.375937,-0.33421,-0.385831,-0.177407,0.0833149 --5922.12,0.513155,0.394006,2,-0.337196,0.00617572,-2.30412,-2.03912,-2.61486,-2.29888,-2.4889,-2.63673,-1.65547,-2.30257,-1.85102,-2.10255,-2.18791,-1.47542,-2.56362,-2.64994,-1.53792,-1.37332,-1.79122,-2.91366,-3.21261,-1.55798,-2.27679,-3.02837,-0.413703,-0.409877,-0.369023,-0.311035,-0.342377,-0.474346,-0.313059,0.0589786,-0.36921,-0.291884,-0.433829,-0.246998,-0.422442,-0.355176,-0.235066,-0.429199,-0.239904,-0.219505,-0.300341,-0.452116,-0.247653,-0.429538,-0.206249,0.0785858 --5924.31,1,0.394006,3,-0.17988,0.00946608,-2.2116,-2.0986,-2.6985,-2.51977,-2.57677,-2.36648,-1.69816,-2.04453,-1.90346,-2.27706,-2.27971,-1.52641,-2.69583,-2.79652,-1.35244,-1.64116,-2.11143,-3.36877,-3.35069,-1.8236,-2.18081,-2.87222,-0.152163,-0.0932031,-0.152676,-0.122911,-0.0136631,-0.467548,-0.404745,-0.16584,-0.238686,-0.445495,-0.226347,-0.0609348,-0.084462,0.132407,-0.270932,-0.153587,-0.115699,-0.0426459,-0.324505,-0.196593,-0.166997,-0.598497,-0.0379135,0.0972938 --5921.28,0.759555,0.394006,3,-0.27598,0.00483436,-1.99173,-1.90971,-1.99618,-2.36019,-2.3835,-2.77735,-1.5704,-2.05822,-1.98619,-2.24249,-2.31103,-1.4854,-2.62879,-2.79985,-1.48656,-1.56053,-1.98199,-3.16912,-3.71292,-1.60664,-2.05955,-3.01575,-0.410174,-0.28946,-0.303249,-0.43998,-0.313855,-0.156146,-0.332729,-0.211301,-0.379222,-0.252237,-0.237795,-0.261973,-0.221451,-0.207057,-0.181895,-0.427208,-0.309629,-0.19553,0.127342,-0.477607,-0.317407,-0.354891,-0.188722,0.0695296 --5921.28,0.03514,0.394006,1,-0.27598,0.00483436,-1.99173,-1.90971,-1.99618,-2.36019,-2.3835,-2.77735,-1.5704,-2.05822,-1.98619,-2.24249,-2.31103,-1.4854,-2.62879,-2.79985,-1.48656,-1.56053,-1.98199,-3.16912,-3.71292,-1.60664,-2.05955,-3.01575,-0.410174,-0.28946,-0.303249,-0.43998,-0.313855,-0.156146,-0.332729,-0.211301,-0.379222,-0.252237,-0.237795,-0.261973,-0.221451,-0.207057,-0.181895,-0.427208,-0.309629,-0.19553,0.127342,-0.477607,-0.317407,-0.354891,-0.188722,0.0695296 --5909.47,0.677603,0.394006,2,-0.27085,0.00849029,-1.85334,-2.07543,-1.71525,-2.31073,-2.46483,-2.63845,-1.62611,-2.02853,-2.03871,-2.26034,-2.23349,-1.5221,-2.71581,-2.72097,-1.44154,-1.56356,-2.05709,-2.86804,-3.46079,-1.43905,-2.11265,-2.90577,-0.256799,-0.229848,-0.235346,-0.267381,-0.230039,-0.148887,-0.329794,-0.304087,-0.382093,-0.3082,-0.286994,-0.225309,-0.31071,-0.132332,-0.0999787,-0.167876,-0.256977,-0.0418557,-0.197492,-0.464736,-0.343653,-0.254017,-0.228872,0.0921428 --5914.34,0.643589,0.394006,2,-0.2818,0.00688295,-1.8532,-1.85169,-1.85262,-2.28758,-2.37025,-2.82839,-1.68009,-2.00552,-1.99491,-2.27355,-2.20201,-1.52602,-2.71512,-2.71036,-1.44167,-1.52242,-2.07895,-2.87414,-3.62439,-1.39139,-2.13958,-2.93652,-0.243628,-0.219215,-0.328755,-0.335901,-0.331809,-0.196956,-0.377828,-0.347133,-0.330877,-0.295106,-0.289254,-0.161401,-0.227101,-0.101186,-0.136151,-0.112796,-0.341521,-0.0526418,-0.368879,-0.51694,-0.301064,-0.335122,-0.157908,0.0829636 --5910.63,0.552401,0.394006,3,-0.282988,0.00629522,-1.8704,-1.98567,-2.00513,-2.24142,-2.39009,-2.97549,-1.73281,-1.99995,-2.01831,-2.28258,-2.25413,-1.52247,-3.02428,-2.69404,-1.35423,-1.5506,-1.94137,-3.04656,-3.551,-1.32391,-2.1121,-2.94034,-0.295219,-0.258134,-0.411348,-0.336331,-0.366008,-0.258376,-0.359876,-0.330491,-0.308787,-0.303055,-0.293741,-0.164417,-0.272033,-0.175649,-0.174072,-0.159303,-0.494811,-0.107999,-0.310801,-0.436041,-0.279471,-0.325076,-0.205326,0.0793424 --5911.21,0.311965,0.394006,1,-0.289214,0.00908881,-1.48307,-1.79246,-1.92828,-2.34676,-2.28158,-2.35128,-1.75256,-2.04439,-1.88029,-2.15928,-2.26067,-1.55796,-2.93221,-2.82424,-1.37826,-1.56673,-1.95899,-2.83112,-3.39712,-1.37725,-2.10626,-2.79205,-0.320449,-0.378262,-0.252,-0.429042,-0.132636,-0.303954,-0.412687,-0.195239,-0.386477,-0.319959,-0.337397,-0.129355,-0.381471,-0.101785,-0.323389,-0.270092,-0.140603,-0.0627567,-0.340982,-0.338804,-0.331415,-0.343014,-0.1871,0.0953352 --5913.29,0.695476,0.394006,2,-0.306323,0.0105996,-1.5283,-1.80017,-1.75015,-2.36702,-2.27641,-2.26833,-1.75803,-2.12019,-1.77571,-2.17018,-2.17169,-1.58131,-2.81959,-2.80542,-1.38976,-1.56959,-1.93856,-2.88419,-3.55039,-1.33852,-2.10102,-2.76404,-0.355986,-0.309179,-0.29024,-0.428983,-0.183596,-0.278624,-0.414698,-0.264677,-0.438293,-0.311643,-0.282719,-0.101794,-0.400917,-0.127208,-0.285484,-0.357245,-0.157595,-0.102243,-0.271268,-0.398863,-0.395485,-0.362931,-0.396307,0.102955 --5920.54,0.57836,0.394006,2,-0.309438,0.00938299,-2.14271,-2.234,-1.95425,-2.34508,-2.44567,-1.97914,-1.75058,-2.03752,-1.9642,-2.14586,-2.32093,-1.71954,-3.1013,-2.81407,-1.10004,-1.32489,-1.94796,-3.14785,-2.72274,-1.31912,-2.02554,-2.73863,-0.296991,-0.373244,-0.643069,-0.14055,-0.294168,-0.307162,-0.357419,-0.269614,-0.163047,-0.464071,-0.258998,0.0443419,-0.196104,-0.0488754,-0.288734,-0.312283,-0.344843,-0.0128301,-0.311827,-0.404976,-0.306481,-0.53254,-0.242164,0.0968658 --5917.02,0.512873,0.394006,3,-0.240138,0.0042673,-2.44691,-2.46077,-2.85879,-2.36287,-2.51204,-2.12301,-1.65899,-2.15082,-1.85956,-2.28035,-2.22595,-1.42211,-2.58526,-2.7086,-1.19279,-1.39089,-1.93983,-2.60486,-3.91054,-1.45592,-2.2141,-2.85723,-0.2064,-0.271247,-0.344619,-0.178695,-0.248751,-0.23412,-0.395002,-0.260613,-0.207872,-0.13891,-0.306292,-0.211388,-0.333485,-0.145534,-0.188963,-0.210087,-0.24681,-0.163417,0.350397,-0.229891,-0.10197,-0.422623,-0.198302,0.0653246 --5917.02,0.0926826,0.394006,3,-0.240138,0.0042673,-2.44691,-2.46077,-2.85879,-2.36287,-2.51204,-2.12301,-1.65899,-2.15082,-1.85956,-2.28035,-2.22595,-1.42211,-2.58526,-2.7086,-1.19279,-1.39089,-1.93983,-2.60486,-3.91054,-1.45592,-2.2141,-2.85723,-0.2064,-0.271247,-0.344619,-0.178695,-0.248751,-0.23412,-0.395002,-0.260613,-0.207872,-0.13891,-0.306292,-0.211388,-0.333485,-0.145534,-0.188963,-0.210087,-0.24681,-0.163417,0.350397,-0.229891,-0.10197,-0.422623,-0.198302,0.0653246 --5915.25,0.499592,0.394006,2,-0.248736,0.00411798,-2.55278,-2.49046,-2.9299,-2.42239,-2.54064,-2.15138,-1.64344,-2.21507,-1.84208,-2.32636,-2.22456,-1.43631,-2.69008,-2.71999,-1.25745,-1.386,-1.88907,-2.64901,-3.62398,-1.47107,-2.28176,-2.93981,-0.27332,-0.184529,-0.238624,-0.152213,-0.252579,-0.169056,-0.351125,-0.304707,-0.189816,-0.169729,-0.312464,-0.280006,-0.223701,-0.0875026,-0.197396,-0.213147,-0.221714,-0.243859,0.408739,-0.237336,-0.17672,-0.358798,-0.279338,0.0641715 --5915.25,0.00634179,0.394006,2,-0.248736,0.00411798,-2.55278,-2.49046,-2.9299,-2.42239,-2.54064,-2.15138,-1.64344,-2.21507,-1.84208,-2.32636,-2.22456,-1.43631,-2.69008,-2.71999,-1.25745,-1.386,-1.88907,-2.64901,-3.62398,-1.47107,-2.28176,-2.93981,-0.27332,-0.184529,-0.238624,-0.152213,-0.252579,-0.169056,-0.351125,-0.304707,-0.189816,-0.169729,-0.312464,-0.280006,-0.223701,-0.0875026,-0.197396,-0.213147,-0.221714,-0.243859,0.408739,-0.237336,-0.17672,-0.358798,-0.279338,0.0641715 --5909.54,2.35888e-06,0.394006,3,-0.247111,0.00230732,-2.00217,-2.27516,-2.81879,-2.4919,-2.46519,-2.16157,-1.74923,-2.18384,-1.96337,-2.29391,-2.23356,-1.35975,-2.51631,-2.75897,-1.30053,-1.58642,-1.99382,-2.30915,-3.8867,-1.58067,-2.12328,-2.87551,-0.202581,-0.228912,-0.237951,-0.204205,-0.186321,-0.284882,-0.350603,-0.173707,-0.293199,-0.224311,-0.226106,-0.195054,-0.2682,-0.192026,-0.243491,-0.22439,-0.148423,-0.215307,0.52878,-0.237532,-0.286313,-0.229678,-0.265734,0.0480346 --5909.54,2.43788e-24,0.394006,3,-0.247111,0.00230732,-2.00217,-2.27516,-2.81879,-2.4919,-2.46519,-2.16157,-1.74923,-2.18384,-1.96337,-2.29391,-2.23356,-1.35975,-2.51631,-2.75897,-1.30053,-1.58642,-1.99382,-2.30915,-3.8867,-1.58067,-2.12328,-2.87551,-0.202581,-0.228912,-0.237951,-0.204205,-0.186321,-0.284882,-0.350603,-0.173707,-0.293199,-0.224311,-0.226106,-0.195054,-0.2682,-0.192026,-0.243491,-0.22439,-0.148423,-0.215307,0.52878,-0.237532,-0.286313,-0.229678,-0.265734,0.0480346 --5909.54,5.58798e-05,0.394006,2,-0.247111,0.00230732,-2.00217,-2.27516,-2.81879,-2.4919,-2.46519,-2.16157,-1.74923,-2.18384,-1.96337,-2.29391,-2.23356,-1.35975,-2.51631,-2.75897,-1.30053,-1.58642,-1.99382,-2.30915,-3.8867,-1.58067,-2.12328,-2.87551,-0.202581,-0.228912,-0.237951,-0.204205,-0.186321,-0.284882,-0.350603,-0.173707,-0.293199,-0.224311,-0.226106,-0.195054,-0.2682,-0.192026,-0.243491,-0.22439,-0.148423,-0.215307,0.52878,-0.237532,-0.286313,-0.229678,-0.265734,0.0480346 --5909.54,0.00138175,0.394006,2,-0.247111,0.00230732,-2.00217,-2.27516,-2.81879,-2.4919,-2.46519,-2.16157,-1.74923,-2.18384,-1.96337,-2.29391,-2.23356,-1.35975,-2.51631,-2.75897,-1.30053,-1.58642,-1.99382,-2.30915,-3.8867,-1.58067,-2.12328,-2.87551,-0.202581,-0.228912,-0.237951,-0.204205,-0.186321,-0.284882,-0.350603,-0.173707,-0.293199,-0.224311,-0.226106,-0.195054,-0.2682,-0.192026,-0.243491,-0.22439,-0.148423,-0.215307,0.52878,-0.237532,-0.286313,-0.229678,-0.265734,0.0480346 --5909.54,0.0113223,0.394006,2,-0.247111,0.00230732,-2.00217,-2.27516,-2.81879,-2.4919,-2.46519,-2.16157,-1.74923,-2.18384,-1.96337,-2.29391,-2.23356,-1.35975,-2.51631,-2.75897,-1.30053,-1.58642,-1.99382,-2.30915,-3.8867,-1.58067,-2.12328,-2.87551,-0.202581,-0.228912,-0.237951,-0.204205,-0.186321,-0.284882,-0.350603,-0.173707,-0.293199,-0.224311,-0.226106,-0.195054,-0.2682,-0.192026,-0.243491,-0.22439,-0.148423,-0.215307,0.52878,-0.237532,-0.286313,-0.229678,-0.265734,0.0480346 --5909.54,0.257546,0.394006,2,-0.247111,0.00230732,-2.00217,-2.27516,-2.81879,-2.4919,-2.46519,-2.16157,-1.74923,-2.18384,-1.96337,-2.29391,-2.23356,-1.35975,-2.51631,-2.75897,-1.30053,-1.58642,-1.99382,-2.30915,-3.8867,-1.58067,-2.12328,-2.87551,-0.202581,-0.228912,-0.237951,-0.204205,-0.186321,-0.284882,-0.350603,-0.173707,-0.293199,-0.224311,-0.226106,-0.195054,-0.2682,-0.192026,-0.243491,-0.22439,-0.148423,-0.215307,0.52878,-0.237532,-0.286313,-0.229678,-0.265734,0.0480346 --5909.54,0.203645,0.394006,2,-0.247111,0.00230732,-2.00217,-2.27516,-2.81879,-2.4919,-2.46519,-2.16157,-1.74923,-2.18384,-1.96337,-2.29391,-2.23356,-1.35975,-2.51631,-2.75897,-1.30053,-1.58642,-1.99382,-2.30915,-3.8867,-1.58067,-2.12328,-2.87551,-0.202581,-0.228912,-0.237951,-0.204205,-0.186321,-0.284882,-0.350603,-0.173707,-0.293199,-0.224311,-0.226106,-0.195054,-0.2682,-0.192026,-0.243491,-0.22439,-0.148423,-0.215307,0.52878,-0.237532,-0.286313,-0.229678,-0.265734,0.0480346 --5909.54,1.12134e-14,0.394006,2,-0.247111,0.00230732,-2.00217,-2.27516,-2.81879,-2.4919,-2.46519,-2.16157,-1.74923,-2.18384,-1.96337,-2.29391,-2.23356,-1.35975,-2.51631,-2.75897,-1.30053,-1.58642,-1.99382,-2.30915,-3.8867,-1.58067,-2.12328,-2.87551,-0.202581,-0.228912,-0.237951,-0.204205,-0.186321,-0.284882,-0.350603,-0.173707,-0.293199,-0.224311,-0.226106,-0.195054,-0.2682,-0.192026,-0.243491,-0.22439,-0.148423,-0.215307,0.52878,-0.237532,-0.286313,-0.229678,-0.265734,0.0480346 --5915.95,0.00055738,0.394006,3,-0.18512,0.00278092,-1.65534,-2.37572,-2.45644,-2.48159,-2.62594,-2.17046,-1.81297,-2.12154,-1.80385,-2.18096,-2.26163,-1.43751,-2.99676,-2.76018,-1.5111,-1.59548,-2.17514,-2.46407,-4.31916,-1.64937,-1.9623,-2.98436,-0.21569,-0.264847,-0.215072,-0.236746,-0.172752,-0.110298,-0.277125,-0.213742,-0.146832,-0.125134,-0.221371,-0.218768,-0.182317,-0.170384,-0.256667,-0.207996,-0.251488,-0.212628,0.431267,-0.126565,-0.198333,-0.211921,-0.162794,0.0527344 --5915.95,0.00313505,0.394006,2,-0.18512,0.00278092,-1.65534,-2.37572,-2.45644,-2.48159,-2.62594,-2.17046,-1.81297,-2.12154,-1.80385,-2.18096,-2.26163,-1.43751,-2.99676,-2.76018,-1.5111,-1.59548,-2.17514,-2.46407,-4.31916,-1.64937,-1.9623,-2.98436,-0.21569,-0.264847,-0.215072,-0.236746,-0.172752,-0.110298,-0.277125,-0.213742,-0.146832,-0.125134,-0.221371,-0.218768,-0.182317,-0.170384,-0.256667,-0.207996,-0.251488,-0.212628,0.431267,-0.126565,-0.198333,-0.211921,-0.162794,0.0527344 --5919.21,0.0504123,0.394006,2,-0.207525,0.00231991,-1.50433,-2.29793,-2.40444,-2.46204,-2.58332,-1.89827,-1.83842,-2.19063,-1.8077,-2.21441,-2.27667,-1.43473,-3.10375,-2.74143,-1.45644,-1.63877,-2.06846,-2.52851,-4.30935,-1.74492,-1.92256,-2.95406,-0.129787,-0.165689,-0.237461,-0.235853,-0.0634795,-0.161323,-0.291113,-0.176765,-0.159977,-0.186848,-0.279724,-0.236349,-0.175456,-0.086477,-0.27252,-0.2146,-0.187281,-0.267148,0.31094,-0.10366,-0.131368,-0.216905,-0.182782,0.0481654 --5923.71,1,0.394006,2,-0.160097,0.00768768,-3.44215,-2.28864,-2.26387,-2.44925,-2.49026,-2.62282,-1.67085,-2.14127,-2.25011,-2.25881,-2.37287,-1.48903,-3.00085,-2.78532,-1.59728,-1.47462,-1.98073,-3.20025,-3.28137,-1.30258,-2.27277,-2.8484,-0.310302,-0.214488,-0.114977,-0.0316327,-0.0891957,-0.227664,-0.31102,0.00462475,-0.224042,-0.347463,-0.117901,-0.0764309,-0.247793,-0.0456712,0.119403,-0.0597031,-0.0830908,-0.106146,-0.049611,-0.288771,-0.573102,-0.372271,-0.158254,0.0876794 --5927.09,0.942413,0.394006,3,-0.237752,0.0110528,-1.88769,-2.13279,-2.46535,-2.51839,-2.57002,-2.75006,-1.9157,-2.14199,-1.86199,-2.1257,-2.27578,-1.70191,-3.06753,-2.79323,-1.5238,-1.51963,-1.99096,-3.02555,-3.68777,-1.45789,-2.08736,-2.98683,-0.251287,-0.237822,-0.118048,-0.220701,-0.136959,-0.358845,-0.263398,-0.31507,-0.229251,-0.361027,-0.392846,-0.0210722,-0.229492,0.0730387,-0.125938,-0.28638,-0.282713,-0.184865,-0.558062,-0.326004,0.0454497,-0.228344,-0.110464,0.105132 --5922.62,0.955862,0.394006,2,-0.225057,0.0178023,-2.24487,-2.40535,-2.00486,-2.47195,-2.45982,-2.27906,-1.84942,-1.83887,-1.94006,-2.1238,-2.07848,-1.66175,-3.34263,-2.78649,-1.4679,-1.30831,-1.87716,-2.84182,-3.68869,-1.49585,-2.29338,-2.86467,-0.231637,-0.137801,-0.131826,-0.112415,-0.29808,-0.307052,-0.136313,-0.33141,-0.276453,-0.404,-0.28294,-0.202386,-0.373768,0.00330448,-0.0940105,-0.162051,-0.282289,-0.195425,-0.315398,-0.173554,-0.130344,-0.365744,-0.161572,0.133425 --5921.03,0.728172,0.394006,2,-0.27542,0.0115234,-3.2743,-2.04603,-2.30727,-2.4819,-2.55679,-2.31885,-1.83259,-1.96311,-1.83583,-2.26664,-2.25785,-1.44752,-3.37092,-2.78108,-1.43117,-1.49746,-1.88922,-2.94503,-3.74419,-1.54928,-2.32009,-2.83084,-0.403652,-0.193569,-0.29879,-0.174163,-0.177321,-0.62237,-0.216546,-0.19022,-0.309572,-0.302006,-0.406486,-0.187425,-0.101525,-0.0766269,-0.203688,-0.372151,-0.343483,-0.170303,-0.284017,-0.30738,-0.108224,-0.391163,-0.5096,0.107347 --5929.02,0.656694,0.394006,3,-0.241064,0.017078,-1.79713,-2.4371,-1.86895,-2.27308,-2.23482,-1.78247,-1.53775,-2.3173,-1.77243,-2.33065,-2.31651,-1.39856,-2.59686,-2.72106,-1.55134,-1.3363,-2.14728,-2.75455,-2.83442,-1.42453,-2.05294,-2.94642,-0.161729,-0.370139,-0.293015,-0.285401,-0.154214,-0.261042,-0.640429,0.0746417,-0.757531,-0.268337,-0.0658511,-0.293532,-0.574743,-0.140543,-0.026037,-0.244328,-0.121611,-0.311772,-0.289379,-0.203544,-0.535695,-0.372433,-0.060106,0.130683 --5927.54,0.891062,0.394006,2,-0.245949,0.0455814,-2.04858,-2.31342,-1.71903,-2.31476,-2.29401,-1.9011,-1.53719,-2.41582,-1.59721,-2.32876,-2.37919,-1.58007,-2.71823,-2.71855,-1.5359,-1.41004,-2.05521,-2.56889,-3.06785,-1.68691,-2.13337,-2.85981,-0.328136,-0.270868,-0.290901,-0.239198,-0.180692,-0.368477,-0.492093,0.190835,-0.652355,-0.282166,-0.148846,-0.313175,-0.448107,-0.126012,-0.0425347,-0.231953,-0.127222,-0.257378,-0.254065,-0.16169,-0.504356,-0.442218,-0.330589,0.213498 --5922.53,0.971318,0.394006,3,-0.32121,0.00578557,-2.42423,-2.25284,-2.5594,-2.37764,-2.29518,-1.96821,-1.68582,-1.83964,-1.96937,-2.21346,-2.43772,-1.42497,-3.2677,-2.908,-0.983171,-1.57448,-1.83954,-3.25607,-3.65342,-1.40714,-2.08175,-2.96378,-0.346957,-0.559179,-0.328,-0.28364,-0.199699,-0.234525,-0.319002,-0.566977,-0.182255,-0.376969,-0.241342,-0.292471,-0.240933,0.161893,-0.563852,-0.153908,-0.443537,-0.155821,-0.251244,-0.332236,-0.449401,-0.327044,-0.329117,0.076063 --5945.48,0.40897,0.394006,3,-0.40873,0.0528482,-1.99473,-1.70135,-2.4239,-2.20044,-2.86172,-3.19283,-1.75988,-1.83483,-1.67673,-2.14339,-2.38056,-1.40618,-3.22981,-2.9822,-1.1662,-1.74803,-2.18604,-2.86185,-2.99959,-1.38057,-2.16113,-2.89905,-0.333477,-0.343218,-0.270804,-0.461936,-0.451934,-0.40711,-0.496087,-0.381157,-0.333587,-0.386167,-0.37615,-0.391657,-0.288331,0.41469,-0.446039,-0.0137105,-0.139637,-0.0637033,-0.425663,-0.431261,-0.304013,-0.582397,-0.59204,0.229887 --5934.09,1,0.394006,2,-0.414265,0.0132894,-2.06577,-2.13044,-2.34504,-2.31237,-2.38567,-2.13692,-1.54153,-1.95005,-1.82745,-2.19829,-2.24584,-1.36161,-2.98942,-3.00576,-1.1504,-1.66089,-2.24421,-2.42116,-3.23922,-1.2023,-2.02004,-2.9921,-0.436485,-0.635265,-0.128511,-0.476439,-0.108033,-0.319403,-0.291162,-0.404434,-0.489758,-0.438266,-0.415287,-0.429126,-0.394591,0.313277,-0.383329,-0.159616,-0.0623958,-0.154989,-0.415582,-0.606343,-0.244125,-0.512982,-0.566157,0.11528 --5929.76,0.999057,0.394006,3,-0.325538,0.0462509,-2.50093,-2.29738,-2.4746,-2.40729,-2.24264,-2.26398,-1.71659,-2.38859,-1.92572,-2.25638,-2.16525,-1.51114,-2.92333,-2.67457,-1.38242,-1.24011,-1.9213,-3.43808,-3.25726,-1.68147,-2.01398,-2.65692,-0.245029,-0.0726946,-0.0378378,-0.374126,-0.498082,-0.462647,-0.37348,-0.0264154,-0.264033,-0.207023,-0.289096,0.0234047,-0.264037,0.00247179,-0.208952,-0.344381,-0.0571567,-0.342127,-0.186291,-0.00913544,-0.63936,-0.456111,-0.163924,0.21506 --5926.69,0.972148,0.394006,2,-0.190005,0.0097141,-1.68705,-2.11886,-2.46497,-2.32046,-2.23576,-2.148,-1.66726,-2.1326,-1.80757,-2.26816,-2.27591,-1.61529,-3.25503,-2.69459,-1.43306,-1.80297,-2.10781,-2.64795,-3.38938,-1.74701,-1.87262,-2.97027,-0.312327,-0.371761,-0.229342,-0.167752,-0.237325,-0.123615,-0.377969,-0.0349249,-0.435535,-0.255055,-0.429541,-0.216191,-0.256375,-0.267916,-0.384431,-0.165876,-0.168505,-0.130582,-0.245007,-0.0919911,-0.810044,-0.38756,-0.248613,0.0985601 --5918.51,0.973381,0.394006,2,-0.272434,0.0266574,-2.91363,-2.18578,-2.59038,-2.51047,-2.29227,-1.99487,-1.67414,-2.10977,-2.08242,-2.27549,-2.16462,-1.65387,-3.0032,-2.76015,-1.43044,-1.54841,-1.96609,-2.88172,-3.05055,-1.49319,-2.05697,-2.98173,-0.187859,-0.121446,-0.0739106,-0.219429,-0.31081,-0.511141,-0.425026,-0.180738,-0.0918596,-0.261812,-0.277374,-0.0252091,-0.325025,0.119344,-0.192127,-0.148053,-0.154361,-0.356102,-0.343572,-0.373013,-0.168252,-0.352151,-0.265501,0.163271 --5926.06,0.861517,0.394006,3,-0.218964,0.0212075,-2.60921,-1.96748,-1.73074,-2.32665,-2.42517,-2.51958,-1.64968,-2.10445,-1.86856,-2.25232,-2.56901,-1.66033,-2.89861,-2.95881,-1.16541,-1.50837,-2.02119,-3.01603,-3.83919,-1.38099,-2.4392,-2.91736,-0.18967,-0.594453,-0.40559,-0.331521,-0.0869149,0.0227189,-0.568419,-0.174616,-0.355425,-0.248076,-0.0314215,0.179328,-0.157982,-0.0707131,-0.29136,-0.224644,-0.120104,-0.0308971,-0.225444,-0.177025,-0.471949,-0.143522,-0.236831,0.145628 --5937.78,0.699026,0.394006,2,-0.110261,0.0474217,-1.86201,-1.94933,-2.44767,-2.47062,-2.44843,-2.41894,-1.72046,-2.02312,-1.76291,-2.18529,-2.35844,-1.82516,-3.31541,-2.90549,-1.38638,-1.40211,-2.16287,-2.52863,-3.01444,-1.45128,-1.82201,-3.08501,-0.199728,-0.632979,-0.133134,-0.0990866,-0.219762,-0.0199987,-0.237365,-0.166069,-0.367975,-0.389842,0.068101,0.0132443,-0.106632,0.302336,-0.393481,-0.138451,0.0135649,0.0419915,-0.194137,-0.618319,-0.283568,-0.196013,0.0662994,0.217765 --5943.2,0.830908,0.394006,3,-0.162248,0.0218151,-2.80169,-2.10806,-2.47394,-2.40674,-2.43477,-2.73936,-1.66384,-2.33099,-1.78469,-2.07944,-2.38195,-1.3421,-3.39029,-2.87692,-1.50702,-1.26056,-2.35602,-2.58761,-3.41136,-1.19138,-2.21425,-3.11461,0.195782,-0.610249,0.0395451,-0.0102117,0.148609,0.0142946,-0.359343,-0.309934,-0.251702,-0.427313,-0.204763,-0.116512,-0.133252,0.233903,-0.342714,-0.441494,-0.123287,-0.365768,-0.0854463,-0.588425,-0.328993,-0.356905,-0.2859,0.147699 --5924.31,1,0.394006,3,-0.312227,0.00490204,-2.40881,-2.03462,-1.88832,-2.4278,-2.46767,-1.61074,-1.81972,-2.14267,-2.17551,-2.35162,-2.29983,-1.63395,-2.66601,-2.71741,-1.50456,-1.45331,-1.57803,-3.16759,-3.4126,-1.5092,-2.16011,-2.7742,-0.410481,-0.253663,-0.404447,-0.327563,-0.368202,-0.467594,-0.380226,-0.148224,-0.262573,-0.23941,-0.274183,-0.358487,-0.283204,-0.0179858,0.231031,-0.327248,-0.318968,-0.121272,-0.317692,-0.226617,-0.346503,-0.288746,-0.221839,0.0700146 --5921.26,0.802894,0.394006,2,-0.249429,0.0132467,-2.41848,-2.23724,-1.83763,-2.41603,-2.39529,-1.53279,-1.73131,-2.20643,-2.12944,-2.29059,-2.272,-1.64541,-2.71781,-2.77107,-1.586,-1.3738,-1.6362,-2.98856,-2.99616,-1.44844,-1.89074,-2.88709,-0.418308,-0.299197,-0.409231,-0.279102,-0.160708,-0.605241,-0.298287,-0.277196,-0.274227,-0.277074,-0.158378,-0.121916,-0.353505,0.026904,0.0859972,-0.262996,-0.385764,0.00812256,-0.336204,-0.239239,-0.367493,-0.251569,-0.337742,0.115094 --5917.73,0.928666,0.394006,2,-0.264383,0.0184182,-2.48631,-2.16624,-2.11567,-2.31264,-2.37617,-1.89505,-1.78419,-2.02625,-2.01208,-2.27245,-2.41416,-1.40791,-2.7982,-2.76833,-1.17596,-1.49494,-2.0521,-3.10427,-3.54038,-1.48466,-2.23728,-3.08437,-0.045942,-0.480038,-0.419287,-0.376862,-0.115657,-0.558885,-0.2794,-0.10251,-0.250449,-0.323128,-0.213992,0.0340478,-0.271852,-0.102693,-0.385619,-0.203354,-0.340924,-0.272749,-0.142263,-0.116594,-0.395986,-0.286626,-0.158714,0.135714 --5918.96,0.982138,0.394006,3,-0.339636,0.0256432,-2.17459,-2.42494,-2.07496,-2.46488,-2.31163,-2.18129,-1.59506,-2.08696,-1.93505,-2.18395,-2.16147,-1.30795,-3.17876,-2.89524,-1.3849,-1.44772,-1.86089,-3.02944,-3.16531,-1.3902,-1.96719,-2.66298,-0.210763,-0.585627,-0.356332,-0.277033,-0.390823,-0.389812,-0.435806,-0.0615658,-0.290466,-0.313046,-0.290682,-0.323475,-0.244575,0.0470135,-0.127903,-0.282674,-0.449725,-0.330415,-0.41536,-0.2554,-0.53384,-0.635474,-0.173791,0.160135 --5913.52,0.932588,0.394006,2,-0.379941,0.00764969,-2.47972,-1.87771,-1.94974,-2.27454,-2.47231,-2.05533,-1.69685,-2.1502,-1.87495,-2.24791,-2.41405,-1.46784,-2.97539,-2.62773,-1.28741,-1.54969,-1.93754,-2.76755,-3.31437,-1.47507,-2.06006,-2.90829,-0.469126,-0.210805,-0.335084,-0.359406,-0.166917,-0.448421,-0.47165,-0.472147,-0.4768,-0.383552,-0.318907,-0.242307,-0.424988,-0.332542,-0.500225,-0.260691,-0.321762,-0.226367,-0.267891,-0.398498,-0.342958,-0.298292,-0.470591,0.0874625 --5914.42,0.217971,0.394006,2,-0.316169,0.00946782,-2.72163,-1.91339,-2.05033,-2.32276,-2.40648,-2.17753,-1.65453,-2.02125,-1.94338,-2.28079,-2.40013,-1.51156,-3.04489,-2.78937,-1.18803,-1.66332,-1.82195,-2.90206,-3.19222,-1.40545,-2.22333,-2.74045,-0.307687,-0.261383,-0.267705,-0.289248,-0.319206,-0.362628,-0.362981,-0.246364,-0.372002,-0.259034,-0.157099,-0.136848,-0.528256,-0.139684,-0.21203,-0.307999,-0.206085,-0.409839,-0.413658,-0.437945,-0.343758,-0.186766,-0.52878,0.0973027 --5925.16,0.621357,0.394006,2,-0.33555,0.00950609,-3.64594,-2.39061,-1.86295,-2.28064,-2.15985,-1.89266,-1.59233,-1.86315,-1.91538,-2.26048,-2.48642,-1.46408,-3.13441,-2.789,-1.44228,-1.44031,-1.87678,-2.76358,-3.21395,-1.36137,-2.17305,-2.8037,-0.408792,-0.635846,-0.218549,-0.428428,-0.419773,-0.421088,-0.479103,-0.488364,-0.217488,-0.257683,-0.296653,-0.30659,-0.142598,0.0484366,-0.285456,-0.208086,-0.371169,-0.278992,-0.135554,-0.361899,-0.527271,-0.485893,-0.289676,0.0974992 --5920.24,0.875933,0.394006,3,-0.361544,0.00953711,-2.36423,-1.97472,-2.12071,-2.3663,-2.3533,-1.97576,-1.59209,-2.15424,-1.92931,-2.23881,-2.25371,-1.11938,-2.9077,-2.76636,-1.38777,-1.53253,-1.71053,-2.53248,-3.53065,-1.28109,-2.17506,-3.00146,-0.0414122,-0.389784,-0.54351,-0.327892,-0.265685,-0.356004,-0.41851,-0.132691,-0.472457,-0.213675,-0.274118,-0.393517,-0.58264,-0.071604,-0.360382,-0.420425,-0.403337,-0.470502,-0.484845,-0.314134,-0.20806,-0.442025,-0.402516,0.0976581 --5919.77,0.758165,0.394006,3,-0.251559,0.00744172,-2.48388,-1.93881,-1.84142,-2.31851,-2.3386,-1.95503,-1.7444,-1.97744,-2.07673,-2.26258,-2.07965,-1.34993,-2.88549,-2.62072,-1.15336,-1.64519,-2.14845,-2.66863,-2.93699,-1.44718,-2.14902,-2.69413,-0.661696,-0.346994,-0.107616,-0.321973,-0.312472,-0.333726,-0.429211,-0.317627,-0.19443,-0.345675,-0.417606,-0.312983,-0.138844,-0.308925,-0.306332,-0.140764,-0.209268,-0.201931,-0.237379,-0.404498,-0.26606,-0.290025,-0.295836,0.0862654 --5916.26,1,0.394006,2,-0.261978,0.00508675,-2.20756,-1.90447,-1.94651,-2.32306,-2.3826,-1.82994,-1.72211,-2.09768,-2.03185,-2.27141,-2.06139,-1.44662,-2.94633,-2.60085,-1.15099,-1.57554,-2.22828,-2.74481,-3.1439,-1.47949,-2.12206,-2.78327,-0.717626,-0.356709,-0.258758,-0.332271,-0.302675,-0.320747,-0.450653,-0.323187,-0.127588,-0.375884,-0.378115,-0.305432,-0.252828,-0.15992,-0.337289,-0.0978099,-0.195608,-0.206173,-0.242422,-0.385278,-0.3136,-0.333801,-0.31698,0.0713214 --5916.26,0.00215309,0.394006,2,-0.261978,0.00508675,-2.20756,-1.90447,-1.94651,-2.32306,-2.3826,-1.82994,-1.72211,-2.09768,-2.03185,-2.27141,-2.06139,-1.44662,-2.94633,-2.60085,-1.15099,-1.57554,-2.22828,-2.74481,-3.1439,-1.47949,-2.12206,-2.78327,-0.717626,-0.356709,-0.258758,-0.332271,-0.302675,-0.320747,-0.450653,-0.323187,-0.127588,-0.375884,-0.378115,-0.305432,-0.252828,-0.15992,-0.337289,-0.0978099,-0.195608,-0.206173,-0.242422,-0.385278,-0.3136,-0.333801,-0.31698,0.0713214 --5917.8,1,0.394006,2,-0.287623,0.0089231,-2.26111,-2.0143,-1.97885,-2.45889,-2.52778,-2.55893,-1.60955,-2.36372,-1.9375,-2.19138,-2.3144,-1.29971,-3.00974,-2.73708,-1.60747,-1.34214,-2.19419,-3.00221,-3.5373,-1.5608,-2.28186,-2.9246,-0.0802235,-0.345359,-0.392592,-0.20972,-0.181017,-0.306511,-0.402179,0.0487222,-0.471285,-0.262607,-0.327533,-0.286371,-0.428012,-0.203323,-0.211156,-0.492043,-0.248288,-0.344445,-0.291081,-0.0401768,-0.338125,-0.415771,-0.284345,0.0944622 --5914.2,1,0.394006,2,-0.156049,0.0043381,-3.2954,-2.39172,-2.01763,-2.47509,-2.31997,-2.1332,-1.76503,-1.98255,-1.98938,-2.31884,-2.18357,-1.51904,-2.93425,-2.64302,-1.26594,-1.32016,-2.00692,-2.73123,-3.206,-1.50895,-2.08169,-2.89378,-0.325023,-0.11021,-0.165414,-0.127556,-0.10215,-0.0859421,-0.303652,-0.284948,-0.0260995,-0.149624,-0.213344,-0.123622,-0.167299,0.148854,-0.195017,-0.319121,-0.0624526,-0.15982,-0.156351,-0.267513,-0.193146,-0.233013,-0.139294,0.0658643 --5915.36,4.97678e-11,0.394006,3,-0.144264,0.0101369,-2.29907,-1.79471,-2.49859,-2.44916,-2.43961,-2.93918,-1.77678,-2.16189,-2.02833,-2.26029,-2.31172,-1.41481,-3.18125,-2.81108,-1.65384,-1.51224,-2.2917,-2.95279,-3.51356,-1.66029,-2.25173,-2.81911,0.0326932,-0.208335,-0.120508,-0.128698,-0.10636,0.0151952,-0.270495,-0.0965759,-0.341313,-0.281566,-0.233309,-0.247063,-0.0351375,-0.175709,-0.143482,-0.165511,-0.0604622,-0.153757,-0.015046,-0.0481509,-0.314662,-0.262716,-0.0532635,0.100682 --5911.49,6.54428e-08,0.394006,3,-0.331651,0.00324124,-2.27728,-2.66689,-1.85362,-2.34166,-2.40762,-1.52059,-1.72516,-2.11405,-2.10015,-2.30079,-2.4311,-1.61476,-2.80301,-2.70456,-1.14867,-1.51412,-1.70902,-3.00651,-3.11205,-1.27322,-2.12768,-3.04905,-0.176664,-0.361718,-0.288874,-0.294731,-0.381179,-0.283478,-0.440242,-0.25117,-0.368339,-0.346701,-0.335314,-0.320636,-0.274038,-0.177472,-0.396082,-0.310036,-0.350266,-0.281227,-0.245271,-0.342766,-0.493184,-0.400103,-0.360442,0.0569319 --5905.83,1.02603e-26,0.394006,3,-0.319292,0.00242257,-2.52588,-1.94343,-2.0754,-2.3808,-2.26662,-2.37262,-1.76443,-2.06984,-2.02339,-2.19038,-2.33871,-1.36998,-3.41752,-2.66088,-1.25211,-1.42667,-1.69376,-2.90116,-3.29765,-1.48339,-2.04347,-3.04397,-0.450651,-0.312485,-0.398479,-0.355584,-0.222238,-0.540936,-0.251208,-0.328741,-0.225103,-0.312918,-0.279283,-0.293454,-0.324958,-0.274914,-0.343271,-0.325393,-0.34417,-0.366456,-0.390247,-0.377423,-0.257804,-0.26338,-0.304973,0.0492196 --5901.68,0.152853,0.394006,2,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,4.46873e-28,0.394006,3,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,9.09239e-27,0.394006,3,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,0.000153498,0.394006,3,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,8.29006e-06,0.394006,4,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,0.124241,0.394006,1,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,2.52054e-07,0.394006,3,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,1.65974e-06,0.394006,2,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,1.67123e-30,0.394006,2,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,0.00123547,0.394006,1,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,4.55343e-12,0.394006,3,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,1.33641e-32,0.394006,3,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,3.75531e-05,0.394006,2,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,3.71949e-05,0.394006,2,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,1.19455e-09,0.394006,2,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5901.68,8.11641e-40,0.394006,2,-0.307777,0.00202072,-3.01894,-2.06004,-2.05733,-2.29872,-2.4119,-2.45915,-1.70056,-2.00259,-1.87679,-2.09021,-2.33977,-1.32278,-3.44527,-2.56292,-1.31282,-1.37322,-1.81136,-2.92166,-3.53629,-1.37229,-1.88145,-2.99971,-0.236978,-0.33439,-0.327618,-0.288136,-0.11007,-0.381471,-0.342776,-0.28774,-0.346331,-0.360794,-0.325609,-0.278119,-0.299416,-0.287084,-0.292126,-0.313973,-0.29207,-0.259564,-0.232901,-0.247268,-0.416034,-0.341526,-0.32622,0.0449524 --5907.91,3.84495e-19,0.394006,3,-0.284873,0.00327693,-3.35547,-1.79229,-2.08352,-2.37856,-2.38385,-2.80733,-1.8979,-1.91587,-1.72422,-2.12927,-2.31856,-1.32234,-3.30433,-2.59538,-1.36514,-1.38538,-2.04185,-2.97704,-3.84892,-1.41728,-1.98956,-2.93795,-0.204144,-0.253536,-0.244728,-0.302385,-0.159143,-0.314354,-0.265072,-0.275427,-0.2352,-0.355836,-0.260668,-0.432719,-0.245634,-0.242963,-0.264139,-0.245746,-0.267893,-0.278303,-0.323565,-0.295924,-0.331685,-0.305976,-0.252333,0.0572444 --5907.91,2.35944e-07,0.394006,3,-0.284873,0.00327693,-3.35547,-1.79229,-2.08352,-2.37856,-2.38385,-2.80733,-1.8979,-1.91587,-1.72422,-2.12927,-2.31856,-1.32234,-3.30433,-2.59538,-1.36514,-1.38538,-2.04185,-2.97704,-3.84892,-1.41728,-1.98956,-2.93795,-0.204144,-0.253536,-0.244728,-0.302385,-0.159143,-0.314354,-0.265072,-0.275427,-0.2352,-0.355836,-0.260668,-0.432719,-0.245634,-0.242963,-0.264139,-0.245746,-0.267893,-0.278303,-0.323565,-0.295924,-0.331685,-0.305976,-0.252333,0.0572444 --5907.91,1.40331e-08,0.394006,2,-0.284873,0.00327693,-3.35547,-1.79229,-2.08352,-2.37856,-2.38385,-2.80733,-1.8979,-1.91587,-1.72422,-2.12927,-2.31856,-1.32234,-3.30433,-2.59538,-1.36514,-1.38538,-2.04185,-2.97704,-3.84892,-1.41728,-1.98956,-2.93795,-0.204144,-0.253536,-0.244728,-0.302385,-0.159143,-0.314354,-0.265072,-0.275427,-0.2352,-0.355836,-0.260668,-0.432719,-0.245634,-0.242963,-0.264139,-0.245746,-0.267893,-0.278303,-0.323565,-0.295924,-0.331685,-0.305976,-0.252333,0.0572444 --5907.91,1.75411e-10,0.394006,2,-0.284873,0.00327693,-3.35547,-1.79229,-2.08352,-2.37856,-2.38385,-2.80733,-1.8979,-1.91587,-1.72422,-2.12927,-2.31856,-1.32234,-3.30433,-2.59538,-1.36514,-1.38538,-2.04185,-2.97704,-3.84892,-1.41728,-1.98956,-2.93795,-0.204144,-0.253536,-0.244728,-0.302385,-0.159143,-0.314354,-0.265072,-0.275427,-0.2352,-0.355836,-0.260668,-0.432719,-0.245634,-0.242963,-0.264139,-0.245746,-0.267893,-0.278303,-0.323565,-0.295924,-0.331685,-0.305976,-0.252333,0.0572444 --5907.91,0.104118,0.394006,2,-0.284873,0.00327693,-3.35547,-1.79229,-2.08352,-2.37856,-2.38385,-2.80733,-1.8979,-1.91587,-1.72422,-2.12927,-2.31856,-1.32234,-3.30433,-2.59538,-1.36514,-1.38538,-2.04185,-2.97704,-3.84892,-1.41728,-1.98956,-2.93795,-0.204144,-0.253536,-0.244728,-0.302385,-0.159143,-0.314354,-0.265072,-0.275427,-0.2352,-0.355836,-0.260668,-0.432719,-0.245634,-0.242963,-0.264139,-0.245746,-0.267893,-0.278303,-0.323565,-0.295924,-0.331685,-0.305976,-0.252333,0.0572444 --5915.49,2.06192e-06,0.394006,2,-0.238013,0.00306316,-2.68678,-1.86363,-2.3494,-2.44196,-2.2354,-3.06966,-1.83323,-1.89264,-1.86239,-2.07682,-2.42321,-1.29709,-3.32373,-2.63961,-1.27131,-1.30218,-1.94798,-3.13009,-3.53656,-1.47744,-1.88995,-2.8756,-0.400031,-0.391422,-0.154722,-0.247442,-0.233451,-0.234753,-0.308426,-0.293975,-0.434852,-0.323857,-0.216561,-0.249145,-0.284898,-0.172694,-0.366049,-0.284204,-0.280396,-0.238158,-0.234805,-0.230661,-0.274081,-0.306684,-0.213239,0.0553458 --5904.99,0.917589,0.394006,3,-0.242889,0.00744769,-2.15171,-2.40971,-2.30952,-2.42142,-2.29539,-2.21827,-1.7399,-2.0606,-1.99972,-2.24392,-2.32897,-1.32667,-2.93412,-2.70296,-1.40035,-1.29382,-2.02163,-3.102,-3.54662,-1.65084,-2.31563,-3.05792,-0.0496916,-0.349671,-0.350288,-0.229395,-0.290013,-0.284997,-0.247181,-0.246798,-0.346328,-0.354008,-0.275645,-0.28341,-0.245316,-0.182012,-0.153172,-0.323397,-0.217059,-0.286245,-0.249525,-0.215185,-0.323037,-0.2417,-0.246059,0.0863 --5905.4,0.687018,0.394006,1,-0.256792,0.00641796,-2.07562,-2.26713,-2.24387,-2.42276,-2.30808,-2.17621,-1.76443,-2.10652,-1.9145,-2.24039,-2.33276,-1.33172,-2.95196,-2.70097,-1.31546,-1.36161,-2.02551,-3.06802,-3.43373,-1.60845,-2.32734,-3.01543,-0.184137,-0.445834,-0.311526,-0.248987,-0.324921,-0.188666,-0.330581,-0.309024,-0.284132,-0.391497,-0.278497,-0.294763,-0.258422,-0.231155,-0.134947,-0.301191,-0.187783,-0.151517,-0.175816,-0.105168,-0.264305,-0.206403,-0.331217,0.0801122 --5905.4,1.06672e-16,0.394006,2,-0.256792,0.00641796,-2.07562,-2.26713,-2.24387,-2.42276,-2.30808,-2.17621,-1.76443,-2.10652,-1.9145,-2.24039,-2.33276,-1.33172,-2.95196,-2.70097,-1.31546,-1.36161,-2.02551,-3.06802,-3.43373,-1.60845,-2.32734,-3.01543,-0.184137,-0.445834,-0.311526,-0.248987,-0.324921,-0.188666,-0.330581,-0.309024,-0.284132,-0.391497,-0.278497,-0.294763,-0.258422,-0.231155,-0.134947,-0.301191,-0.187783,-0.151517,-0.175816,-0.105168,-0.264305,-0.206403,-0.331217,0.0801122 --5909.25,0.28295,0.394006,2,-0.274091,0.00880592,-2.17005,-2.16302,-1.72583,-2.39092,-2.41134,-2.39121,-1.76733,-2.15251,-2.12659,-2.15959,-2.35334,-1.37666,-2.86735,-2.95181,-1.57605,-1.48601,-1.9834,-2.98376,-3.77787,-1.70466,-2.1563,-3.01575,-0.323586,-0.117139,-0.284523,-0.272727,-0.189565,-0.276865,-0.294346,-0.165016,-0.258058,-0.325758,-0.197709,-0.25692,-0.268973,0.217811,-0.382073,-0.248847,-0.3447,-0.271213,-0.329413,-0.295676,-0.319566,-0.366146,-0.179713,0.0938399 --5899.44,1.01439e-40,0.394006,2,-0.278217,0.0021065,-1.91335,-2.11423,-2.1262,-2.35277,-2.52582,-2.30177,-1.69762,-2.07168,-2.04779,-2.17979,-2.32196,-1.34715,-2.89874,-2.94578,-1.51613,-1.51561,-1.91474,-2.96635,-3.65597,-1.44831,-2.1366,-3.03092,-0.345892,-0.257422,-0.297416,-0.238346,-0.315387,-0.292416,-0.26378,-0.274353,-0.250701,-0.307795,-0.221739,-0.224041,-0.317663,0.24846,-0.253181,-0.204784,-0.225126,-0.294379,-0.231779,-0.240209,-0.270388,-0.32651,-0.125514,0.0458966 --5899.44,0.0148431,0.394006,3,-0.278217,0.0021065,-1.91335,-2.11423,-2.1262,-2.35277,-2.52582,-2.30177,-1.69762,-2.07168,-2.04779,-2.17979,-2.32196,-1.34715,-2.89874,-2.94578,-1.51613,-1.51561,-1.91474,-2.96635,-3.65597,-1.44831,-2.1366,-3.03092,-0.345892,-0.257422,-0.297416,-0.238346,-0.315387,-0.292416,-0.26378,-0.274353,-0.250701,-0.307795,-0.221739,-0.224041,-0.317663,0.24846,-0.253181,-0.204784,-0.225126,-0.294379,-0.231779,-0.240209,-0.270388,-0.32651,-0.125514,0.0458966 --5901.82,1.73782e-08,0.394006,2,-0.27752,0.0019645,-2.09353,-1.9596,-2.15063,-2.31119,-2.49649,-2.12859,-1.71454,-2.10362,-2.07411,-2.21504,-2.34568,-1.37651,-2.93909,-2.91127,-1.49455,-1.70009,-2.01182,-3.01999,-3.60014,-1.46966,-2.22218,-3.06634,-0.251165,-0.20233,-0.218185,-0.263819,-0.270365,-0.349198,-0.266544,-0.325309,-0.251408,-0.334102,-0.312576,-0.257949,-0.189677,0.277363,-0.28477,-0.18966,-0.252331,-0.332374,-0.273841,-0.210163,-0.292807,-0.324123,-0.289925,0.0443227 --5900.04,2.50096e-32,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,4.54326e-22,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,1.11287e-09,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,8.82606e-07,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,1.0243e-38,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,0.009312,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,1.73688e-14,0.394006,1,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,6.50553e-42,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,9.17576e-17,0.394006,3,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,0.00223003,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,2.37798e-19,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,0.0011518,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,6.60428e-15,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,1.37044e-10,0.394006,3,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,1.43392e-26,0.394006,3,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,0.000167824,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,0.00379445,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,6.27843e-57,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,1.942e-12,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,4.53111e-06,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,1.40054e-08,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,3.29763e-28,0.394006,1,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5900.04,5.18229e-08,0.394006,2,-0.285951,0.0016326,-2.3368,-1.91617,-2.19267,-2.35275,-2.47735,-2.11483,-1.7408,-2.01207,-2.0024,-2.22577,-2.33007,-1.3477,-2.97968,-2.94483,-1.41718,-1.71157,-2.12634,-3.11607,-3.66927,-1.42733,-2.27468,-3.04922,-0.314402,-0.291585,-0.338703,-0.270151,-0.152344,-0.253965,-0.18295,-0.29066,-0.295283,-0.312464,-0.322507,-0.231758,-0.287528,0.313799,-0.308282,-0.250375,-0.284768,-0.299234,-0.252071,-0.273932,-0.269656,-0.283329,-0.230436,0.0404054 --5911.48,3.02567e-19,0.394006,3,-0.263864,0.00147264,-2.78634,-1.87823,-2.16283,-2.33652,-2.45007,-2.16475,-1.7663,-2.02392,-1.8899,-2.20118,-2.32615,-1.3586,-2.83198,-2.88889,-1.42731,-1.69507,-2.2078,-2.87389,-3.24509,-1.41286,-2.32396,-3.03632,-0.233779,-0.259133,-0.312426,-0.290394,-0.140237,-0.27883,-0.143818,-0.335816,-0.300621,-0.280534,-0.300948,-0.290319,-0.115446,0.300492,-0.316848,-0.335055,-0.202987,-0.233515,-0.235503,-0.288238,-0.267106,-0.311027,-0.307219,0.038375 --5913.91,4.91771e-08,0.394006,2,-0.286589,0.00164307,-2.67589,-1.79418,-2.0784,-2.3567,-2.41363,-1.96621,-1.78695,-1.99886,-2.01287,-2.18755,-2.34311,-1.43141,-2.88264,-3.00194,-1.43384,-1.77039,-2.10057,-2.92937,-3.03602,-1.46689,-2.26392,-3.07155,-0.318069,-0.322088,-0.238293,-0.305509,-0.239895,-0.307249,-0.106315,-0.317947,-0.253964,-0.227838,-0.356168,-0.255473,-0.152611,0.307407,-0.288302,-0.301909,-0.269558,-0.183698,-0.269733,-0.34489,-0.232223,-0.317098,-0.309199,0.0405348 --5913.91,0.000709784,0.394006,2,-0.286589,0.00164307,-2.67589,-1.79418,-2.0784,-2.3567,-2.41363,-1.96621,-1.78695,-1.99886,-2.01287,-2.18755,-2.34311,-1.43141,-2.88264,-3.00194,-1.43384,-1.77039,-2.10057,-2.92937,-3.03602,-1.46689,-2.26392,-3.07155,-0.318069,-0.322088,-0.238293,-0.305509,-0.239895,-0.307249,-0.106315,-0.317947,-0.253964,-0.227838,-0.356168,-0.255473,-0.152611,0.307407,-0.288302,-0.301909,-0.269558,-0.183698,-0.269733,-0.34489,-0.232223,-0.317098,-0.309199,0.0405348 --5913.91,0.0691406,0.394006,2,-0.286589,0.00164307,-2.67589,-1.79418,-2.0784,-2.3567,-2.41363,-1.96621,-1.78695,-1.99886,-2.01287,-2.18755,-2.34311,-1.43141,-2.88264,-3.00194,-1.43384,-1.77039,-2.10057,-2.92937,-3.03602,-1.46689,-2.26392,-3.07155,-0.318069,-0.322088,-0.238293,-0.305509,-0.239895,-0.307249,-0.106315,-0.317947,-0.253964,-0.227838,-0.356168,-0.255473,-0.152611,0.307407,-0.288302,-0.301909,-0.269558,-0.183698,-0.269733,-0.34489,-0.232223,-0.317098,-0.309199,0.0405348 --5913.91,0.00971025,0.394006,1,-0.286589,0.00164307,-2.67589,-1.79418,-2.0784,-2.3567,-2.41363,-1.96621,-1.78695,-1.99886,-2.01287,-2.18755,-2.34311,-1.43141,-2.88264,-3.00194,-1.43384,-1.77039,-2.10057,-2.92937,-3.03602,-1.46689,-2.26392,-3.07155,-0.318069,-0.322088,-0.238293,-0.305509,-0.239895,-0.307249,-0.106315,-0.317947,-0.253964,-0.227838,-0.356168,-0.255473,-0.152611,0.307407,-0.288302,-0.301909,-0.269558,-0.183698,-0.269733,-0.34489,-0.232223,-0.317098,-0.309199,0.0405348 --5913.91,3.45582e-09,0.394006,2,-0.286589,0.00164307,-2.67589,-1.79418,-2.0784,-2.3567,-2.41363,-1.96621,-1.78695,-1.99886,-2.01287,-2.18755,-2.34311,-1.43141,-2.88264,-3.00194,-1.43384,-1.77039,-2.10057,-2.92937,-3.03602,-1.46689,-2.26392,-3.07155,-0.318069,-0.322088,-0.238293,-0.305509,-0.239895,-0.307249,-0.106315,-0.317947,-0.253964,-0.227838,-0.356168,-0.255473,-0.152611,0.307407,-0.288302,-0.301909,-0.269558,-0.183698,-0.269733,-0.34489,-0.232223,-0.317098,-0.309199,0.0405348 --5908.23,0.251389,0.394006,3,-0.251269,0.00176086,-2.65004,-1.69849,-2.26645,-2.3805,-2.41196,-1.75915,-1.80289,-2.01356,-2.07285,-2.19331,-2.27644,-1.47893,-2.7511,-2.98411,-1.40425,-1.67059,-2.04198,-2.74804,-3.34047,-1.42288,-2.23278,-3.07617,-0.225141,-0.27752,-0.290503,-0.28709,-0.251614,-0.257998,-0.145426,-0.161785,-0.229679,-0.230078,-0.316815,-0.217284,-0.231713,0.265292,-0.28352,-0.261081,-0.191605,-0.275234,-0.31254,-0.339839,-0.291224,-0.374972,-0.260755,0.0419626 --5906.21,5.22348e-10,0.394006,2,-0.263793,0.00209459,-2.79247,-1.64649,-2.34447,-2.37201,-2.45547,-2.00476,-1.77367,-2.00053,-2.12907,-2.26935,-2.27608,-1.40473,-2.82929,-2.93835,-1.52407,-1.73856,-1.91991,-2.57146,-3.5517,-1.44621,-2.28363,-3.08587,-0.259557,-0.222616,-0.31894,-0.172563,-0.262572,-0.21957,-0.240555,-0.30187,-0.251997,-0.226208,-0.255894,-0.270097,-0.257834,0.255448,-0.269997,-0.262456,-0.109449,-0.221182,-0.260185,-0.29911,-0.240009,-0.350022,-0.263853,0.0457667 --5906.21,2.80356e-08,0.394006,2,-0.263793,0.00209459,-2.79247,-1.64649,-2.34447,-2.37201,-2.45547,-2.00476,-1.77367,-2.00053,-2.12907,-2.26935,-2.27608,-1.40473,-2.82929,-2.93835,-1.52407,-1.73856,-1.91991,-2.57146,-3.5517,-1.44621,-2.28363,-3.08587,-0.259557,-0.222616,-0.31894,-0.172563,-0.262572,-0.21957,-0.240555,-0.30187,-0.251997,-0.226208,-0.255894,-0.270097,-0.257834,0.255448,-0.269997,-0.262456,-0.109449,-0.221182,-0.260185,-0.29911,-0.240009,-0.350022,-0.263853,0.0457667 --5906.21,3.74022e-05,0.394006,2,-0.263793,0.00209459,-2.79247,-1.64649,-2.34447,-2.37201,-2.45547,-2.00476,-1.77367,-2.00053,-2.12907,-2.26935,-2.27608,-1.40473,-2.82929,-2.93835,-1.52407,-1.73856,-1.91991,-2.57146,-3.5517,-1.44621,-2.28363,-3.08587,-0.259557,-0.222616,-0.31894,-0.172563,-0.262572,-0.21957,-0.240555,-0.30187,-0.251997,-0.226208,-0.255894,-0.270097,-0.257834,0.255448,-0.269997,-0.262456,-0.109449,-0.221182,-0.260185,-0.29911,-0.240009,-0.350022,-0.263853,0.0457667 --5906.21,6.92653e-05,0.394006,3,-0.263793,0.00209459,-2.79247,-1.64649,-2.34447,-2.37201,-2.45547,-2.00476,-1.77367,-2.00053,-2.12907,-2.26935,-2.27608,-1.40473,-2.82929,-2.93835,-1.52407,-1.73856,-1.91991,-2.57146,-3.5517,-1.44621,-2.28363,-3.08587,-0.259557,-0.222616,-0.31894,-0.172563,-0.262572,-0.21957,-0.240555,-0.30187,-0.251997,-0.226208,-0.255894,-0.270097,-0.257834,0.255448,-0.269997,-0.262456,-0.109449,-0.221182,-0.260185,-0.29911,-0.240009,-0.350022,-0.263853,0.0457667 --5906.21,5.57844e-05,0.394006,1,-0.263793,0.00209459,-2.79247,-1.64649,-2.34447,-2.37201,-2.45547,-2.00476,-1.77367,-2.00053,-2.12907,-2.26935,-2.27608,-1.40473,-2.82929,-2.93835,-1.52407,-1.73856,-1.91991,-2.57146,-3.5517,-1.44621,-2.28363,-3.08587,-0.259557,-0.222616,-0.31894,-0.172563,-0.262572,-0.21957,-0.240555,-0.30187,-0.251997,-0.226208,-0.255894,-0.270097,-0.257834,0.255448,-0.269997,-0.262456,-0.109449,-0.221182,-0.260185,-0.29911,-0.240009,-0.350022,-0.263853,0.0457667 --5906.21,1.1735e-25,0.394006,2,-0.263793,0.00209459,-2.79247,-1.64649,-2.34447,-2.37201,-2.45547,-2.00476,-1.77367,-2.00053,-2.12907,-2.26935,-2.27608,-1.40473,-2.82929,-2.93835,-1.52407,-1.73856,-1.91991,-2.57146,-3.5517,-1.44621,-2.28363,-3.08587,-0.259557,-0.222616,-0.31894,-0.172563,-0.262572,-0.21957,-0.240555,-0.30187,-0.251997,-0.226208,-0.255894,-0.270097,-0.257834,0.255448,-0.269997,-0.262456,-0.109449,-0.221182,-0.260185,-0.29911,-0.240009,-0.350022,-0.263853,0.0457667 --5906.21,0.000450343,0.394006,2,-0.263793,0.00209459,-2.79247,-1.64649,-2.34447,-2.37201,-2.45547,-2.00476,-1.77367,-2.00053,-2.12907,-2.26935,-2.27608,-1.40473,-2.82929,-2.93835,-1.52407,-1.73856,-1.91991,-2.57146,-3.5517,-1.44621,-2.28363,-3.08587,-0.259557,-0.222616,-0.31894,-0.172563,-0.262572,-0.21957,-0.240555,-0.30187,-0.251997,-0.226208,-0.255894,-0.270097,-0.257834,0.255448,-0.269997,-0.262456,-0.109449,-0.221182,-0.260185,-0.29911,-0.240009,-0.350022,-0.263853,0.0457667 --5910.7,3.51734e-30,0.394006,2,-0.286521,0.0026311,-2.51864,-1.74714,-2.44261,-2.38092,-2.46211,-2.03365,-1.77589,-1.99677,-2.1273,-2.28105,-2.31331,-1.32064,-2.74382,-2.95209,-1.49989,-1.7567,-1.94054,-2.63232,-3.51457,-1.47297,-2.29744,-3.04988,-0.261523,-0.350602,-0.243492,-0.206038,-0.277531,-0.300673,-0.263818,-0.332821,-0.392606,-0.217843,-0.292024,-0.242824,-0.249066,0.302992,-0.259487,-0.278259,-0.184033,-0.14598,-0.211486,-0.208298,-0.237837,-0.294154,-0.290412,0.0512942 --5913.13,1,0.394006,2,-0.215313,0.00365866,-2.88448,-2.1539,-2.26748,-2.2835,-2.18569,-2.00754,-1.77941,-2.03903,-2.11525,-2.33697,-2.32928,-1.33905,-2.67392,-3.09118,-1.35361,-1.76858,-2.11062,-2.9309,-3.97928,-1.60476,-2.27039,-2.97258,-0.232388,-0.325317,-0.117738,-0.286659,-0.221893,-0.178014,-0.239363,-0.304426,-0.155917,-0.25672,-0.217868,-0.212942,-0.239678,0.17445,-0.297323,-0.151273,-0.209832,-0.307709,-0.2007,-0.380441,-0.246501,-0.193704,-0.175063,0.0604869 --5913.61,0.600618,0.394006,1,-0.256128,0.00752523,-2.20107,-2.38444,-1.77005,-2.39261,-2.31794,-2.62245,-1.81825,-2.09949,-2.11873,-2.32404,-2.48073,-1.49097,-3.08092,-2.77883,-1.23685,-1.56343,-1.72352,-3.09873,-3.40605,-1.50489,-2.30436,-3.22907,-0.260181,-0.116796,-0.438628,-0.164795,-0.357357,-0.325461,-0.218738,-0.139056,-0.236096,-0.250737,-0.197884,-0.279,-0.350103,0.0910995,-0.268863,-0.209068,-0.304169,-0.156742,-0.209768,-0.160711,-0.241634,-0.170061,-0.326358,0.0867481 --5914.48,0.312733,0.394006,2,-0.2182,0.00383756,-1.89402,-2.41393,-1.92851,-2.31133,-2.42369,-2.58018,-1.75614,-2.24372,-2.06574,-2.31556,-2.45094,-1.55242,-3.28808,-2.80714,-1.15975,-1.47405,-1.85742,-3.2811,-3.13418,-1.59972,-2.26968,-3.07483,-0.363009,-0.376418,-0.216109,-0.183565,-0.203597,-0.229184,-0.263588,-0.282125,-0.174246,-0.214576,-0.106174,-0.106596,-0.224267,-0.18353,-0.137395,-0.292724,-0.387823,-0.166021,-0.240728,-0.264653,-0.342957,-0.196702,-0.372442,0.061948 --5918.89,0.763046,0.394006,2,-0.211341,0.006324,-2.35143,-2.54404,-1.91741,-2.41097,-2.28537,-2.68535,-1.72229,-2.02099,-2.08279,-2.24534,-2.24108,-1.47735,-2.97645,-2.74423,-1.6349,-1.43017,-1.98275,-3.57832,-3.07501,-1.19786,-2.29192,-2.94922,-0.119371,-0.0609116,-0.308915,-0.350114,-0.269258,-0.26639,-0.390624,-0.141583,-0.250291,-0.290775,-0.324008,-0.318211,-0.290513,-0.0755746,-0.400354,-0.200132,-0.0813957,-0.23677,-0.230823,-0.372772,-0.155638,-0.31957,-0.127426,0.0795236 --5927.77,1,0.394006,2,-0.241702,0.0239823,-1.76863,-2.42983,-1.95666,-2.45726,-2.45343,-2.3405,-1.77787,-2.31575,-1.69802,-2.35347,-2.65526,-1.39085,-2.78503,-2.93588,-1.23627,-1.66751,-2.18576,-2.69385,-3.23157,-1.47677,-2.16953,-3.0565,-0.200716,-0.452542,-0.282825,-0.105611,-0.11054,-0.12793,-0.266067,-0.165661,-0.365937,-0.265999,-0.0578142,-0.0224294,-0.619947,0.0882831,-0.184346,-0.0514188,-0.0929937,-0.103678,-0.31527,-0.378966,-0.304371,-0.0933817,-0.392847,0.154862 --5932.08,0.939025,0.394006,2,-0.14317,0.0196901,-1.62753,-2.42361,-1.79387,-2.37391,-2.35413,-1.44008,-1.76211,-2.17488,-1.80356,-2.26882,-2.48227,-1.40051,-2.76843,-2.76466,-1.45471,-1.44894,-2.2557,-2.68275,-3.83476,-1.48889,-2.13758,-3.04639,-0.296117,-0.379664,-0.205207,-0.180347,-0.0410591,-0.026142,-0.178871,-0.0195943,-0.346012,-0.217899,0.0205489,-0.251994,-0.332623,-0.0774287,-0.256942,0.125561,0.116217,-0.396757,-0.305036,-0.118497,-0.2722,-0.235,-0.599914,0.140321 --5926,1,0.394006,3,-0.168657,0.0260082,-3.69953,-1.84843,-2.64487,-2.35499,-2.35207,-2.97668,-1.60433,-2.05258,-2.15794,-2.20389,-2.11118,-1.57694,-3.14378,-2.9444,-1.27707,-1.56929,-1.87903,-3.00227,-3.31586,-1.41649,-2.12634,-2.76485,-0.194318,-0.592777,-0.258662,-0.273506,-0.10708,-0.283466,-0.407713,-0.168601,-0.19022,-0.295523,-0.285468,-0.109687,-0.411749,0.0922659,-0.19805,-0.214381,-0.23957,0.174757,-0.177419,-0.282333,-0.31472,-0.316983,0.0690346,0.161271 --5929.09,0.970286,0.394006,2,-0.207555,0.0271448,-3.22971,-1.83935,-2.7399,-2.39031,-2.29121,-2.84661,-1.61051,-2.04142,-2.10549,-2.25109,-2.29879,-1.46556,-3.03815,-2.78055,-1.38718,-1.44295,-2.13768,-2.79767,-3.31281,-1.38042,-2.07674,-2.69088,-0.235457,-0.589813,-0.354648,-0.353459,-0.0802139,-0.135212,-0.490151,-0.26459,-0.194136,-0.263142,-0.225209,0.0135759,-0.509226,0.107194,-0.159049,-0.177187,-0.145801,0.516253,-0.234916,-0.0985666,-0.401689,-0.367336,0.0652341,0.164757 --5937.36,0.787861,0.394006,2,-0.247497,0.041043,-2.62418,-1.90049,-2.11443,-2.25418,-2.44333,-2.66238,-1.71326,-2.09863,-1.83584,-2.30249,-2.20963,-1.61514,-2.76131,-2.87088,-1.684,-1.47581,-1.95122,-2.95015,-3.89561,-1.35309,-2.19855,-2.55717,-0.200021,-0.425953,-0.492418,-0.329251,-0.0345418,-0.494128,-0.402805,-0.207039,-0.328463,-0.188545,-0.297968,0.288978,-0.719918,-0.144073,-0.174268,0.0650765,-0.450735,0.527757,-0.262394,-0.197763,-0.195463,-0.560436,-0.104504,0.202591 --5934.54,0.946104,0.394006,3,-0.277944,0.0510226,-2.42006,-2.06911,-2.11962,-2.35689,-2.7395,-2.01471,-1.6867,-2.13747,-1.9509,-2.22219,-2.4385,-1.84404,-2.95054,-2.77295,-1.30699,-1.47134,-2.21914,-3.47816,-3.85382,-1.65757,-2.25436,-2.62121,-0.420346,-0.489828,-0.252773,-0.460899,-0.00827981,-0.231208,-0.536286,-0.18958,-0.428857,-0.253057,-0.211305,0.102847,-0.690033,0.268656,-0.280919,0.065668,-0.145637,-0.0802283,0.270912,-0.425018,-0.321319,-0.733976,0.041391,0.225882 --5935.12,0.892667,0.394006,2,-0.16515,0.0414956,-2.29294,-2.07945,-2.48907,-2.32767,-2.3936,-2.63607,-1.68672,-2.17543,-1.82649,-2.40357,-2.43662,-1.45343,-3.10163,-2.9496,-1.23622,-1.62129,-1.94211,-3.00402,-3.30232,-1.68173,-2.15232,-2.84418,-0.178587,-0.747884,-0.37552,-0.30074,0.125051,-0.280222,-0.434696,0.0739265,-0.278511,-0.219363,-0.283922,0.0470391,-0.531458,-0.0841473,-0.157237,-0.0574822,-0.223268,0.191498,0.313768,0.0700755,-0.491577,-0.634821,-0.0344706,0.203705 --5920.12,0.893542,0.394006,3,-0.219156,0.00389225,-2.84963,-2.00613,-2.18884,-2.47333,-2.4498,-2.88786,-1.72916,-2.05041,-2.00225,-2.22038,-2.46199,-1.40397,-3.36076,-2.88686,-1.3511,-1.46047,-2.19544,-2.69911,-3.44553,-1.29733,-2.16193,-3.26767,-0.361976,-0.141949,-0.356052,-0.137816,-0.203489,-0.314786,-0.310067,-0.169081,-0.179342,-0.434216,-0.309508,-0.221575,-0.139977,0.00567303,-0.263939,-0.215208,-0.25939,-0.240917,-0.335345,-0.356303,-0.32053,-0.299297,-0.305555,0.0623879 --5925.92,1,0.394006,3,-0.261611,0.0226475,-2.47496,-2.1756,-2.00574,-2.27854,-2.17972,-2.25499,-1.92072,-2.06756,-1.88919,-2.21395,-2.44972,-1.62751,-3.28868,-2.79589,-1.31072,-1.56076,-2.11675,-2.97806,-3.06494,-1.20891,-2.14792,-2.63982,-0.0446558,-0.418004,-0.159928,-0.345148,-0.206718,-0.162568,-0.181568,-0.332458,-0.41751,-0.185176,-0.0969527,-0.239926,-0.395974,0.0709209,-0.397806,-0.324068,0.0130174,-0.269131,-0.0680342,-0.452166,-0.262204,-0.35516,-0.213203,0.150491 --5914.56,0.972428,0.394006,3,-0.284113,0.0069151,-2.48868,-2.62842,-1.90655,-2.39479,-2.29867,-2.59101,-1.73631,-2.02421,-2.18785,-2.31299,-2.45453,-1.40172,-2.86125,-2.6043,-1.28174,-1.59015,-1.95956,-2.94807,-3.46173,-1.41847,-2.05008,-2.88101,-0.387553,-0.0446645,-0.329807,-0.183078,-0.297621,-0.366152,-0.313747,-0.173847,-0.190135,-0.323671,-0.115601,-0.312744,-0.149172,-0.326611,-0.169697,-0.146726,-0.157435,-0.221368,-0.375806,-0.357366,-0.316178,-0.356422,-0.257191,0.0831571 --5913.75,0.883688,0.394006,2,-0.224765,0.00356785,-3.50318,-2.07054,-2.05156,-2.32289,-2.34716,-1.96047,-1.75755,-1.97753,-2.12285,-2.19305,-2.38933,-1.27029,-2.85987,-2.55306,-1.30378,-1.52394,-2.02778,-3.08279,-3.28155,-1.46446,-2.04126,-2.95732,-0.174298,-0.0787153,-0.241397,-0.419477,-0.224059,-0.145332,-0.22315,-0.33587,-0.249666,-0.199155,-0.327945,-0.373281,-0.399311,-0.140094,-0.268952,-0.217375,-0.275108,-0.250679,-0.177881,-0.22255,-0.317778,-0.21875,-0.281195,0.0597315 --5913.75,0.0666257,0.394006,2,-0.224765,0.00356785,-3.50318,-2.07054,-2.05156,-2.32289,-2.34716,-1.96047,-1.75755,-1.97753,-2.12285,-2.19305,-2.38933,-1.27029,-2.85987,-2.55306,-1.30378,-1.52394,-2.02778,-3.08279,-3.28155,-1.46446,-2.04126,-2.95732,-0.174298,-0.0787153,-0.241397,-0.419477,-0.224059,-0.145332,-0.22315,-0.33587,-0.249666,-0.199155,-0.327945,-0.373281,-0.399311,-0.140094,-0.268952,-0.217375,-0.275108,-0.250679,-0.177881,-0.22255,-0.317778,-0.21875,-0.281195,0.0597315 --5913.75,0.00380687,0.394006,2,-0.224765,0.00356785,-3.50318,-2.07054,-2.05156,-2.32289,-2.34716,-1.96047,-1.75755,-1.97753,-2.12285,-2.19305,-2.38933,-1.27029,-2.85987,-2.55306,-1.30378,-1.52394,-2.02778,-3.08279,-3.28155,-1.46446,-2.04126,-2.95732,-0.174298,-0.0787153,-0.241397,-0.419477,-0.224059,-0.145332,-0.22315,-0.33587,-0.249666,-0.199155,-0.327945,-0.373281,-0.399311,-0.140094,-0.268952,-0.217375,-0.275108,-0.250679,-0.177881,-0.22255,-0.317778,-0.21875,-0.281195,0.0597315 --5908.53,0.353955,0.394006,2,-0.181597,0.00627218,-2.64631,-2.54833,-1.81757,-2.51977,-2.4597,-2.41914,-1.74261,-2.29853,-1.8551,-2.39842,-2.33359,-1.66676,-3.0343,-2.8211,-1.3448,-1.55003,-1.96708,-2.8237,-3.40258,-1.47778,-2.23228,-2.88806,-0.11074,-0.273516,-0.212548,-0.0219164,-0.181532,-0.148302,-0.295451,-0.265453,-0.231628,-0.255404,-0.174305,-0.159894,-0.227147,0.00898012,-0.212234,-0.129459,-0.265103,-0.182163,-0.179991,-0.189706,-0.255985,-0.186068,-0.263095,0.0791971 --5915.02,1.54875e-05,0.394006,2,-0.218528,0.00180098,-2.43703,-2.87094,-1.8996,-2.53235,-2.31712,-2.07348,-1.75578,-2.1748,-1.96001,-2.34965,-2.34855,-1.74227,-3.28656,-2.91354,-1.47168,-1.24253,-1.80604,-2.93127,-3.19176,-1.48498,-2.32577,-3.0715,0.0618766,-0.223721,-0.145793,-0.151763,-0.318551,-0.208873,-0.226517,-0.0995266,-0.208166,-0.202759,-0.221488,-0.216869,-0.257746,-0.00319337,-0.236588,-0.324791,-0.188727,-0.255054,-0.261438,-0.201926,-0.257322,-0.274235,-0.171548,0.042438 --5909.95,2.7496e-08,0.394006,3,-0.279082,0.00559715,-2.31448,-1.59596,-2.42945,-2.23633,-2.50807,-2.24951,-1.68375,-1.95662,-1.98875,-2.17859,-2.28862,-1.21516,-2.81898,-2.61184,-1.2706,-1.76441,-2.13879,-2.97367,-3.69751,-1.46906,-2.04596,-2.82123,-0.2903,-0.334138,-0.250842,-0.259895,-0.382126,-0.292076,-0.285202,-0.266104,-0.334322,-0.340124,-0.255395,-0.273846,-0.269152,-0.264011,-0.286451,-0.0590703,-0.327075,-0.218196,-0.233501,-0.216632,-0.265609,-0.319015,-0.315443,0.0748141 --5920.56,0.382959,0.394006,2,-0.366793,0.00457602,-3.32868,-2.46049,-2.05479,-2.54933,-2.30413,-2.46422,-1.75005,-2.14697,-1.85336,-2.30391,-2.35401,-1.78135,-2.79625,-2.74982,-1.08775,-1.21856,-1.62371,-2.50085,-3.65493,-1.48204,-2.16549,-2.74316,-0.411467,-0.348594,-0.390258,-0.31073,-0.0861908,-0.256767,-0.429502,-0.286585,-0.374624,-0.297497,-0.336034,-0.237568,-0.337358,-0.242729,-0.363773,-0.497183,-0.334154,-0.353057,-0.447538,-0.392223,-0.323254,-0.397371,-0.45678,0.0676463 --5910.16,0.353153,0.394006,2,-0.249858,0.0037363,-2.38708,-2.11279,-2.03898,-2.42761,-2.4788,-2.56909,-1.82266,-1.98358,-1.81351,-2.26313,-2.48193,-1.24154,-3.44286,-2.69377,-1.41189,-1.28608,-2.04707,-2.63994,-3.94004,-1.43398,-2.07804,-3.02153,-0.310094,-0.289985,-0.214937,-0.258482,-0.492551,-0.254268,-0.205036,-0.306103,-0.305957,-0.301113,-0.265729,-0.371016,-0.276105,-0.224521,-0.250242,-0.172819,-0.209419,-0.304245,-0.219196,-0.245384,-0.303653,-0.246455,-0.352994,0.0611253 --5914.88,0.441374,0.394006,2,-0.255752,0.00431059,-2.18282,-2.35683,-2.1032,-2.41071,-2.31033,-3.01858,-1.87038,-2.08589,-1.99141,-2.20571,-2.40885,-1.19733,-3.30626,-2.71124,-1.40592,-1.58758,-2.11371,-2.5094,-3.6145,-1.5393,-2.29269,-3.17456,-0.247903,-0.232506,-0.255754,-0.222559,-0.352794,-0.297242,-0.190568,-0.236421,-0.121497,-0.250932,-0.317781,-0.379431,-0.295762,-0.245412,-0.131322,-0.275737,-0.0545111,-0.229931,-0.399128,-0.264258,-0.281914,-0.313929,-0.27882,0.0656551 --5915.54,0.536729,0.394006,3,-0.202856,0.00894071,-2.65135,-2.01129,-2.0997,-2.37925,-2.54466,-1.51001,-1.57127,-2.12668,-1.85941,-2.26195,-2.30928,-1.75921,-2.70865,-2.83954,-1.21338,-1.44104,-1.8522,-3.40318,-3.21191,-1.48647,-2.08429,-2.76423,-0.177043,-0.194664,-0.218076,-0.211055,-0.23777,-0.306053,-0.299504,-0.146476,-0.4148,-0.190395,-0.209264,-0.132871,-0.264771,-0.0174148,-0.134679,-0.134345,-0.273658,-0.148254,-0.370325,-0.199578,-0.343867,-0.419458,-0.199203,0.0945553 --5918.03,0.751213,0.394006,2,-0.2234,0.00533509,-2.17881,-1.80999,-2.42937,-2.53786,-2.62232,-2.13155,-1.61956,-2.12777,-1.93652,-2.27495,-2.32401,-1.64709,-2.89312,-2.7524,-1.31172,-1.41878,-1.71907,-3.35437,-3.01164,-1.56924,-2.31253,-2.81412,-0.278219,-0.193469,-0.312013,-0.222678,-0.118833,-0.381138,-0.397256,-0.225745,-0.239828,-0.230047,-0.125776,-0.139958,-0.191542,-0.257182,-0.196821,-0.097808,-0.215657,-0.196061,-0.038385,-0.259981,-0.554051,-0.266695,-0.132941,0.0730417 --5911.33,0.277781,0.394006,2,-0.243588,0.00351802,-2.10778,-1.83073,-2.64901,-2.48755,-2.54249,-2.16753,-1.58511,-2.21904,-1.88725,-2.33931,-2.3053,-1.62286,-2.97086,-2.72153,-1.46461,-1.62913,-1.80801,-3.49496,-3.05437,-1.76666,-2.171,-2.82938,-0.297847,-0.26498,-0.20697,-0.248727,-0.240499,-0.24631,-0.363205,-0.240321,-0.29088,-0.171175,-0.321394,-0.203755,-0.387004,-0.0828946,-0.246604,-0.114568,-0.284307,-0.241615,-0.325252,-0.291303,-0.344961,-0.219075,-0.29517,0.0593129 --5912.17,0.0419567,0.394006,2,-0.169019,0.00398148,-2.45681,-2.09558,-1.9188,-2.30135,-2.70907,-1.98131,-1.86634,-2.08451,-2.13086,-2.21159,-2.49547,-1.33597,-2.99727,-2.67997,-1.25516,-1.66228,-2.00072,-2.41935,-3.72843,-1.31042,-2.04644,-2.92431,-0.224042,-0.182698,-0.145216,-0.19767,-0.0808946,-0.2405,-0.227872,-0.129934,-0.229559,-0.304967,0.00740135,-0.122549,-0.169926,-0.0772518,-0.147068,-0.210168,-0.113311,-0.279209,-0.125942,-0.128078,-0.209224,-0.348613,-0.247208,0.063099 --5913.78,0.143998,0.394006,2,-0.202059,0.00499506,-2.6775,-1.78009,-1.70591,-2.56358,-2.45592,-2.48683,-1.8603,-2.11848,-1.84009,-2.18672,-2.44913,-1.62628,-3.1226,-2.68229,-1.08529,-1.36235,-1.92571,-3.21302,-3.21574,-1.47901,-2.02367,-2.99269,-0.0525863,-0.380263,-0.268892,-0.183137,-0.204673,-0.183106,-0.180872,-0.219943,-0.174443,-0.266448,-0.0285024,-0.218494,-0.201705,-0.141956,-0.348851,-0.157627,-0.249924,-0.106828,-0.18914,-0.283173,-0.306486,-0.107659,-0.152495,0.0706757 --5913.85,0.159851,0.394006,2,-0.22518,0.00391304,-3.25013,-2.34312,-2.3548,-2.2804,-2.36048,-2.38927,-1.70752,-2.1611,-1.88945,-2.35261,-2.3223,-1.22157,-2.90369,-2.75112,-1.50956,-1.45214,-2.19587,-2.45293,-3.71313,-1.41072,-2.51854,-3.03426,-0.169371,-0.167762,-0.257992,-0.180577,-0.240138,-0.148114,-0.262335,-0.194943,-0.220588,-0.23873,-0.333852,-0.133135,-0.189891,-0.268436,-0.153401,-0.184439,-0.132044,-0.0950992,-0.24637,-0.191413,-0.203763,-0.21387,-0.31413,0.0625543 --5913.79,0.0159172,0.394006,3,-0.22618,0.00224043,-3.36627,-2.34668,-2.37935,-2.34888,-2.31316,-2.09581,-1.7261,-2.15511,-1.87476,-2.36228,-2.24063,-1.26885,-2.98185,-2.73424,-1.45287,-1.53478,-2.15228,-2.58038,-4.03752,-1.37944,-2.45114,-3.06973,-0.168182,-0.22636,-0.290201,-0.160098,-0.305621,-0.331898,-0.275912,-0.120268,-0.280206,-0.215902,-0.296073,-0.157828,-0.180623,-0.192243,-0.132019,-0.160981,-0.103833,-0.193401,-0.295024,-0.139192,-0.274512,-0.299609,-0.236741,0.0473332 --5925.52,0.903457,0.394006,2,-0.203213,0.0144294,-1.80462,-2.79889,-2.17966,-2.35641,-2.7628,-2.0546,-1.83356,-2.12974,-2.11748,-2.3399,-2.33488,-1.66078,-3.04666,-2.66904,-1.33129,-1.85948,-2.27785,-2.69119,-3.10164,-1.4148,-2.01786,-3.03823,-0.271589,-0.180331,-0.270431,-0.313833,0.141577,-0.0847809,-0.263421,-0.119545,-0.15183,-0.194443,-0.171153,-0.280747,-0.309505,-0.0855442,-0.455433,-0.0886529,-0.231996,-0.242779,-0.0544292,-0.351594,-0.175456,-0.0971857,-0.211368,0.120123 --5924.78,0.783383,0.394006,3,-0.253573,0.0151181,-2.83376,-2.53486,-2.11039,-2.46172,-2.38496,-1.94455,-1.71229,-2.38947,-1.87379,-2.279,-2.41377,-1.54319,-3.16432,-2.89537,-1.61144,-1.40709,-1.92337,-2.21549,-3.17496,-1.73262,-1.9964,-3.02162,-0.178028,-0.364001,-0.392131,-0.274076,-0.177495,-0.185871,-0.579583,-0.0719048,-0.410142,-0.17671,-0.100241,-0.159605,-0.23747,0.039291,-0.244684,-0.482974,-0.331085,-0.304796,-0.0896116,-0.0699487,-0.407852,-0.258479,-0.29444,0.122956 --5924.95,0.975885,0.394006,2,-0.256505,0.0133938,-2.52988,-2.4395,-2.20637,-2.47686,-2.37176,-1.79947,-1.71924,-2.40181,-1.85246,-2.26542,-2.40369,-1.44701,-3.20486,-2.88054,-1.58365,-1.5088,-2.03768,-2.29624,-3.33223,-1.75805,-2.07209,-3.03112,-0.191435,-0.307805,-0.415531,-0.265225,-0.158808,-0.174976,-0.580134,-0.0538403,-0.377019,-0.261447,-0.0968567,-0.213885,-0.368174,0.0784828,-0.267358,-0.510438,-0.32855,-0.331046,-0.104296,-0.0157195,-0.374918,-0.173273,-0.283472,0.115732 --5922.06,0.77584,0.394006,2,-0.175977,0.0173342,-2.61216,-2.20963,-1.8642,-2.36004,-2.33367,-2.36512,-1.56882,-2.0141,-2.04899,-2.27654,-2.13937,-1.51525,-2.69568,-2.76428,-1.59193,-1.5065,-1.89988,-3.47961,-3.54384,-1.56504,-2.05233,-2.93555,-0.0771167,-0.192981,-0.140746,-0.184579,-0.287355,-0.293166,-0.437936,-0.146064,-0.141631,-0.235042,-0.395882,-0.160218,-0.0849259,0.0111383,0.233033,-0.112772,-0.0328256,0.0100183,-0.404801,-0.119637,-0.310338,-0.435134,-0.162732,0.131659 --5931.73,0.586771,0.394006,2,-0.201858,0.0161507,-2.63549,-2.22149,-2.2079,-2.39363,-2.27966,-3.00124,-1.58611,-1.91282,-2.04609,-2.32302,-2.23542,-1.47112,-2.86883,-2.69571,-1.47213,-1.4072,-2.01111,-3.30806,-3.94395,-1.62662,-2.19405,-2.83349,-0.301285,-0.237164,0.0838275,-0.427246,-0.227211,0.0345157,-0.382521,-0.286031,-0.426158,-0.164365,-0.122471,-0.2247,-0.180411,-0.148379,0.15226,-0.0402941,-0.258139,-0.307468,-0.110423,-0.120104,-0.28872,-0.630898,-0.507151,0.127085 --5927.69,0.899402,0.394006,3,-0.321549,0.019852,-2.5029,-2.27652,-2.31953,-2.29354,-2.32686,-1.52303,-1.77628,-2.10958,-2.07412,-2.22832,-2.40293,-1.51045,-3.03866,-2.60006,-1.48719,-1.43924,-2.34456,-3.05863,-3.94412,-1.46737,-2.14149,-2.68778,-0.0719046,-0.568881,-0.470817,-0.295533,-0.321727,-0.219911,-0.52574,-0.371423,-0.225143,-0.31507,-0.217469,-0.0707186,-0.249036,-0.243629,-0.345334,-0.285384,0.0664525,-0.0602661,-0.466784,0.0136661,-0.345933,-0.338197,-0.390591,0.140897 --5932.44,0.763699,0.394006,2,-0.34935,0.0199471,-2.67242,-2.25501,-2.36313,-2.33592,-2.3332,-1.4173,-1.71076,-2.11562,-2.02598,-2.20476,-2.44684,-1.70057,-2.99547,-2.78757,-1.51268,-1.43127,-2.36956,-3.20045,-3.54863,-1.55775,-2.03502,-2.61123,0.0224445,-0.458772,-0.616693,-0.314091,-0.121319,-0.154725,-0.436059,-0.296933,-0.440935,-0.312454,-0.321006,-0.185811,-0.234046,-0.126277,-0.276161,-0.45998,0.173974,0.106304,-0.502181,-0.104401,-0.363965,-0.352968,-0.309922,0.141234 --5923.94,0.990804,0.394006,2,-0.326235,0.0158032,-2.35598,-2.47775,-2.20335,-2.32444,-2.40106,-1.95734,-1.66132,-2.06711,-1.93232,-2.27426,-2.33535,-1.69131,-3.10496,-2.6354,-1.43978,-1.45698,-2.26458,-3.42299,-3.72369,-1.66572,-2.22035,-2.89123,0.0706478,-0.348366,-0.392869,-0.372165,-0.0734476,-0.564824,-0.385251,-0.471075,-0.262008,-0.31538,-0.285246,-0.151891,-0.249034,-0.10328,-0.304216,-0.449041,0.116609,-0.0602743,-0.393752,-0.231333,-0.503759,-0.357069,-0.391222,0.125711 --5923.15,0.878785,0.394006,2,-0.247036,0.00533776,-2.42993,-2.00592,-2.3054,-2.36316,-2.26096,-2.15811,-1.65722,-2.05255,-1.87515,-2.33891,-2.48361,-1.60131,-3.37426,-2.60901,-1.2488,-1.36019,-2.2629,-3.36536,-3.56926,-1.73684,-2.04275,-2.95235,0.0260046,-0.220021,-0.223742,-0.311424,-0.329312,-0.250906,-0.402651,-0.0515227,-0.303889,-0.298834,-0.101971,-0.302914,-0.380666,-0.282898,-0.238115,-0.477307,-0.203259,-0.329475,-0.0634506,-0.329256,-0.22499,-0.30137,-0.290954,0.0730599 --5927.23,0.934525,0.394006,2,-0.200144,0.0143345,-2.55957,-2.41721,-1.56754,-2.42902,-2.32678,-2.49646,-1.73838,-2.01258,-1.87947,-2.21187,-2.26779,-1.42505,-3.15154,-2.75776,-1.37949,-1.21399,-1.71634,-2.39659,-3.19909,-1.45455,-2.2854,-2.77344,-0.241278,-0.390752,-0.381369,-0.1873,-0.194645,-0.315524,-0.333817,-0.544157,-0.283921,-0.205777,-0.201155,-0.0924575,-0.0541778,-0.073867,-0.33139,-0.511538,-0.27683,-0.128201,-0.424025,-0.105891,-0.404467,-0.31953,-0.151616,0.119727 --5923.7,1,0.394006,3,-0.185362,0.0128484,-2.92313,-2.41503,-2.25998,-2.41985,-2.38041,-2.56878,-1.76487,-2.17656,-1.59741,-2.2144,-2.13752,-1.2292,-2.8017,-2.61764,-1.54063,-1.69822,-1.95681,-2.70734,-3.21732,-1.40415,-2.12488,-2.79554,-0.15075,-0.308184,-0.234888,-0.254916,-0.124259,-0.239045,-0.419909,-0.165639,-0.491292,-0.208739,-0.272678,-0.33986,-0.297789,-0.111877,-0.262586,0.0537749,-0.155725,0.099547,-0.326892,-0.16095,-0.584238,-0.294926,-0.153102,0.113351 --5926.34,0.495383,0.394006,2,-0.330126,0.0263751,-2.21766,-2.41017,-2.34673,-2.41355,-2.31016,-2.28416,-1.67687,-2.17299,-1.9662,-2.26133,-2.19488,-1.53157,-3.22126,-2.84688,-1.38352,-1.32541,-1.94884,-3.13573,-3.50663,-1.51539,-1.91309,-3.00112,-0.122565,-0.366803,-0.425282,-0.218143,-0.446599,0.105055,-0.344904,-0.0840157,-0.503355,-0.407788,-0.454731,-0.16784,-0.288452,-0.0429953,-0.117251,-0.447193,-0.275829,-0.534098,0.162354,-0.352546,-0.65227,-0.340822,-0.535096,0.162404 --5930.24,0.749097,0.394006,3,-0.212493,0.0360426,-2.41311,-1.62329,-1.69473,-2.46817,-2.37909,-2.0019,-1.66537,-1.94773,-2.01688,-2.20446,-2.19244,-1.52433,-2.84801,-2.67917,-1.30994,-1.64214,-2.11674,-2.87864,-3.32297,-1.54833,-2.35092,-2.82103,-0.297106,-0.763766,-0.283759,-0.173795,0.0269957,-0.630078,-0.363245,-0.180645,-0.274991,-0.181964,-0.0705794,-0.338076,-0.401989,-0.191976,-0.353144,-0.157132,-0.129737,-0.157029,-0.488423,-0.047725,-0.15663,-0.240184,-0.0125047,0.189849 --5925.83,0.998819,0.394006,2,-0.252933,0.0321185,-3.02543,-2.18844,-2.14131,-2.3715,-2.53422,-1.86193,-1.86422,-2.20143,-1.78152,-2.22809,-2.48943,-1.45506,-3.02604,-2.78746,-1.32384,-1.58293,-2.09605,-2.70224,-3.51174,-1.48995,-2.03085,-3.07054,-0.391016,-0.196604,-0.276847,-0.246371,-0.364064,-0.746474,-0.238075,-0.252529,-0.53646,-0.475784,-0.239314,0.0391844,-0.147171,0.00445746,-0.100846,-0.0410267,-0.0729799,-0.302657,-0.0935283,-0.314927,-0.373868,-0.274327,-0.242568,0.179216 --5922.84,0.85418,0.394006,2,-0.273025,0.0128089,-3.25374,-2.09957,-1.81713,-2.38099,-2.29278,-1.98995,-1.73188,-2.28748,-1.77245,-2.17804,-2.48291,-1.52297,-2.95308,-2.84002,-1.24744,-1.44118,-2.06976,-2.69635,-3.16327,-1.73824,-1.93558,-3.05887,-0.566015,-0.242334,-0.520126,-0.205843,-0.111749,-0.489874,-0.285466,0.047692,-0.279839,-0.330082,-0.208612,-0.123655,-0.370776,-0.00647074,-0.293038,-0.150404,0.0288028,-0.354649,-0.1836,-0.255465,-0.315659,-0.39977,-0.24149,0.113176 --5923.33,1,0.394006,3,-0.279446,0.0185775,-2.68971,-2.13827,-1.66509,-2.45738,-2.47418,-1.69263,-1.81144,-2.41322,-1.9399,-2.19766,-2.26919,-1.49227,-2.80596,-2.87328,-1.38015,-1.66997,-2.06166,-2.8999,-3.35781,-1.70113,-2.25651,-2.93937,0.00100441,-0.302054,-0.867426,-0.219934,-0.412139,-0.336891,-0.314243,0.125544,-0.297475,-0.363473,-0.246612,-0.352934,-0.254327,0.269306,-0.277637,-0.154488,-0.257499,-0.247339,-0.385341,-0.125827,-0.378183,-0.228637,-0.288861,0.136299 --5923.33,0.693741,0.394006,3,-0.279446,0.0185775,-2.68971,-2.13827,-1.66509,-2.45738,-2.47418,-1.69263,-1.81144,-2.41322,-1.9399,-2.19766,-2.26919,-1.49227,-2.80596,-2.87328,-1.38015,-1.66997,-2.06166,-2.8999,-3.35781,-1.70113,-2.25651,-2.93937,0.00100441,-0.302054,-0.867426,-0.219934,-0.412139,-0.336891,-0.314243,0.125544,-0.297475,-0.363473,-0.246612,-0.352934,-0.254327,0.269306,-0.277637,-0.154488,-0.257499,-0.247339,-0.385341,-0.125827,-0.378183,-0.228637,-0.288861,0.136299 --5922.79,0.913497,0.394006,2,-0.254427,0.0276074,-1.74961,-1.77836,-1.43039,-2.40475,-2.24238,-2.34953,-1.64845,-2.13712,-1.75437,-2.12853,-2.40467,-1.41525,-2.96589,-2.86696,-1.32092,-1.66218,-1.97461,-2.85023,-3.32,-1.44803,-2.18865,-2.92395,0.111363,-0.318788,-0.722188,-0.261834,-0.254106,-0.456734,-0.508978,-0.205475,-0.355101,-0.391774,-0.222993,-0.34597,-0.28781,-0.0401938,-0.309628,-0.172045,-0.0661594,-0.275731,-0.161266,-0.148627,-0.231719,-0.243051,-0.293385,0.166155 --5916.32,1,0.394006,2,-0.264807,0.00703682,-2.75396,-2.41253,-1.68837,-2.36854,-2.23832,-1.79317,-1.71791,-1.92457,-2.01551,-2.22205,-2.34968,-1.45216,-2.9911,-2.8867,-1.37998,-1.81496,-2.21976,-3.06719,-3.04464,-1.71513,-2.16631,-2.80858,-0.310321,-0.275829,-0.333553,-0.282792,-0.305181,-0.233756,-0.392994,-0.270013,-0.359674,-0.274613,-0.154122,-0.00757941,-0.380337,0.200332,-0.222383,-0.0306707,-0.233698,-0.258208,-0.378542,-0.0756416,-0.407655,-0.3517,-0.255098,0.0838857 --5916.21,0.876499,0.394006,2,-0.250912,0.00288266,-2.05469,-2.28957,-2.83888,-2.45337,-2.61783,-2.56816,-1.67376,-2.21562,-1.95486,-2.22589,-2.31551,-1.38504,-3.03335,-2.46194,-1.22892,-1.28706,-1.69939,-2.77189,-3.64597,-1.39003,-2.22947,-2.98428,-0.17535,-0.222929,-0.277795,-0.263427,-0.193342,-0.209304,-0.375315,-0.171879,-0.240475,-0.336923,-0.264529,-0.451935,-0.139967,-0.126799,-0.261358,-0.267392,-0.209131,-0.189721,0.0016424,-0.317805,-0.301094,-0.341953,-0.184525,0.0536904 --5915.09,0.0942855,0.394006,2,-0.186316,0.00545935,-2.35089,-2.28594,-2.51439,-2.4826,-2.61609,-2.75393,-1.68708,-2.2249,-1.86372,-2.10956,-2.25863,-1.42698,-3.02307,-2.55395,-1.291,-1.20366,-1.80161,-2.64595,-3.73549,-1.39901,-2.36109,-2.75093,-0.166744,-0.228251,-0.185488,-0.160042,-0.163185,-0.232096,-0.357574,-0.250453,-0.247418,-0.313976,-0.173243,-0.365723,-0.240099,-0.138641,-0.150521,-0.28194,-0.329799,-0.19466,-0.0956049,-0.203132,-0.170753,-0.157538,-0.258936,0.0738874 --5917.04,0.253335,0.394006,2,-0.209242,0.00594272,-2.34743,-2.28965,-2.45055,-2.41919,-2.45765,-2.79753,-1.6509,-2.15062,-1.71839,-2.16766,-2.23976,-1.51059,-2.6855,-2.63345,-1.38889,-1.17466,-1.92893,-2.25133,-3.68648,-1.4073,-2.36193,-2.81087,-0.172495,-0.146748,-0.137223,-0.177763,-0.244874,-0.263972,-0.388385,-0.0854392,-0.261824,-0.277667,-0.218637,-0.203103,-0.166524,-0.149255,-0.197081,-0.185048,-0.185635,-0.162273,0.167919,-0.18714,-0.135253,-0.279446,-0.105934,0.077089 --5928.42,0.638353,0.394006,3,-0.354512,0.0244693,-2.22764,-2.05396,-2.7263,-2.53257,-2.38467,-1.63096,-1.67608,-1.98807,-2.11903,-2.18469,-2.27327,-1.30301,-3.25254,-2.84664,-1.30086,-1.7609,-1.92727,-3.18516,-3.25736,-1.60139,-2.00786,-3.04588,-0.241537,-0.547332,-0.215785,-0.142021,-0.188285,-0.364194,-0.439459,-0.441828,-0.289388,-0.458618,-0.337325,-0.231309,-0.486407,0.13149,-0.262417,-0.261988,-0.231761,-0.805624,-0.297719,-0.228865,-0.471693,-0.233668,-0.55741,0.156427 --5932.32,0.820643,0.394006,2,-0.361435,0.0208455,-2.4526,-2.40773,-2.55391,-2.4969,-2.25996,-2.57465,-1.67082,-2.01968,-1.90361,-2.1377,-2.22572,-1.54414,-2.55944,-2.6993,-1.52586,-1.44608,-1.95971,-2.51448,-2.98098,-1.32263,-1.87257,-2.90811,-0.360397,-0.348787,-0.0440336,-0.0491635,-0.107406,-0.205294,-0.500098,-0.265655,-0.583241,-0.358899,-0.308743,-0.230443,0.000107103,-0.176291,-0.272668,-0.328825,-0.49254,-0.524176,-0.42774,-0.566882,-0.614724,-0.516048,-0.364019,0.14438 --5923.75,1,0.394006,2,-0.362537,0.0187279,-2.33941,-2.27174,-2.12638,-2.51009,-2.4103,-2.08028,-1.63474,-2.03245,-2.0012,-2.236,-2.42188,-1.57014,-3.05199,-2.83712,-1.3599,-1.46247,-2.04873,-2.66635,-3.65018,-1.21272,-2.10144,-2.69347,-0.248803,-0.408304,-0.252554,-0.10564,-0.0059289,-0.539038,-0.3738,-0.503528,-0.385585,-0.475886,-0.323369,-0.0762433,-0.400562,0.160206,-0.345778,-0.294351,-0.439085,-0.150143,-0.302609,-0.416954,-0.212437,-0.426662,-0.251279,0.13685 --5926.62,0.935739,0.394006,3,-0.246115,0.0316891,-2.69578,-2.03279,-1.91743,-2.34525,-2.70034,-2.06969,-1.75488,-1.94993,-1.92553,-2.16889,-2.22814,-1.49927,-2.9328,-3.03376,-1.22168,-1.22411,-1.91026,-3.30813,-3.31469,-1.64664,-2.06767,-2.96643,-0.166567,-0.476102,-0.351475,-0.33602,0.00881394,-0.398511,-0.399719,-0.0726699,-0.164505,-0.22281,-0.137183,-0.165451,-0.147227,0.257175,-0.276944,-0.487905,0.0428471,-0.332196,-0.0997053,-0.161742,-0.581116,-0.403279,-0.269612,0.178014 --5922.46,0.968736,0.394006,2,-0.250011,0.0117806,-2.52162,-2.49665,-2.21335,-2.338,-2.29666,-2.5118,-1.49924,-2.31823,-2.06539,-2.41637,-2.3266,-1.54934,-3.04381,-2.62912,-1.49327,-1.49575,-2.11751,-2.46388,-3.40694,-1.38154,-1.97335,-2.85597,-0.244973,-0.0547729,-0.157733,-0.304638,-0.192044,-0.0667254,-0.559057,-0.255604,-0.335951,-0.278183,-0.376516,-0.11209,-0.35973,-0.135971,-0.210642,-0.23418,-0.365379,-0.126049,-0.304469,-0.244822,-0.303694,-0.205753,-0.226849,0.108539 --5920.44,1,0.394006,2,-0.271966,0.00909567,-3.08246,-2.29075,-2.36112,-2.32112,-2.19772,-2.32142,-1.56053,-2.17042,-2.0593,-2.30847,-2.23414,-1.61559,-2.90271,-2.61657,-1.50234,-1.45836,-2.06631,-2.61736,-3.62674,-1.35637,-1.92915,-2.91649,-0.261072,0.0723895,-0.300755,-0.374934,-0.207495,0.034748,-0.612429,-0.355956,-0.33338,-0.193712,-0.233396,-0.0642379,-0.334957,-0.179612,-0.263651,-0.233874,-0.301894,-0.273408,-0.282785,-0.242853,-0.519012,-0.285051,-0.152738,0.0953712 --5921.25,0.745729,0.394006,2,-0.23519,0.00625279,-2.70786,-2.19481,-2.36572,-2.43762,-2.49268,-2.60355,-1.68798,-1.92281,-1.88822,-2.20148,-2.47038,-1.23014,-2.84919,-2.83808,-1.22448,-1.5011,-1.78681,-3.64036,-3.22742,-1.63645,-2.30303,-2.89658,-0.206621,-0.509138,-0.1788,-0.141996,-0.247864,-0.463819,-0.362417,-0.129279,-0.162614,-0.352084,-0.153946,-0.433165,-0.232246,-0.0656798,-0.237727,-0.226357,-0.142911,-0.124867,-0.174074,-0.208827,-0.115441,-0.365064,-0.330017,0.0790746 --5914.3,1,0.394006,2,-0.247568,0.00535057,-2.04078,-1.92891,-1.65983,-2.40235,-2.25358,-2.1043,-1.67156,-2.24332,-2.05154,-2.25498,-2.22226,-1.57935,-3.07629,-2.57042,-1.55848,-1.40217,-2.22461,-2.39467,-3.43691,-1.34879,-2.1343,-3.11305,-0.30254,-0.192771,-0.356257,-0.313378,-0.171021,-0.0513816,-0.363841,-0.288697,-0.305916,-0.292269,-0.286771,-0.105858,-0.292324,-0.130349,-0.321498,-0.334427,-0.193127,-0.413597,-0.359343,-0.270294,-0.297976,-0.219534,-0.224833,0.0731476 --5917.17,7.06952e-05,0.394006,2,-0.246973,0.0127799,-2.61051,-2.04349,-2.42977,-2.37511,-2.54363,-2.09562,-1.74622,-2.02193,-1.91989,-2.1616,-2.49184,-1.20637,-2.85926,-2.86793,-1.16273,-1.52413,-1.98367,-3.34169,-3.12476,-1.50395,-2.27816,-2.87178,-0.271613,-0.712819,-0.239329,-0.201231,-0.271033,-0.637355,-0.317284,-0.24798,-0.291426,-0.329854,-0.142162,-0.434891,-0.31577,0.0085625,-0.198269,-0.235612,-0.119099,-0.1218,-0.246759,-0.311574,-0.276693,-0.338645,-0.30871,0.113048 --5916.87,0.793632,0.394006,2,-0.206672,0.00673423,-3.1532,-2.54745,-1.88177,-2.35808,-2.30834,-2.28467,-1.61559,-2.14278,-2.05531,-2.23879,-2.16125,-1.54139,-3.27607,-2.72442,-1.82943,-1.46177,-2.00745,-2.70021,-3.69478,-1.55792,-2.10362,-2.95254,-0.202909,0.0192881,-0.281035,-0.374301,-0.135696,0.0252874,-0.456734,-0.231365,-0.228795,-0.337443,-0.280941,-0.13291,-0.211214,-0.0936156,-0.0846603,-0.22803,-0.312965,-0.328763,-0.18063,-0.13756,-0.301862,-0.259268,-0.215842,0.0820623 --5912.19,0.943082,0.394006,2,-0.26311,0.00765527,-2.97116,-2.19561,-2.27433,-2.32636,-2.49089,-2.38449,-1.72824,-2.2551,-2.00619,-2.20511,-2.22532,-1.55109,-2.98636,-2.77285,-1.67502,-1.51202,-1.8691,-2.64707,-3.35782,-1.54,-2.09372,-3.23351,-0.27956,-0.128852,-0.39451,-0.251168,-0.317222,-0.354732,-0.414113,-0.145315,-0.228994,-0.367452,-0.263055,-0.240938,-0.226587,-0.23548,-0.287246,-0.0850923,-0.162048,-0.183015,-0.288508,-0.178395,-0.238151,-0.173721,-0.255117,0.0874944 --5910.19,0.73891,0.394006,2,-0.245228,0.00717863,-2.77885,-2.17534,-2.21884,-2.32179,-2.4501,-2.16708,-1.75323,-2.26889,-2.01549,-2.17699,-2.23008,-1.53787,-2.92949,-2.67209,-1.66035,-1.58335,-1.94542,-2.73976,-3.2956,-1.59182,-2.11871,-3.22638,-0.392787,-0.153631,-0.349123,-0.248872,-0.330134,-0.243801,-0.406263,-0.111019,-0.262832,-0.353543,-0.30843,-0.270972,-0.173759,-0.113758,-0.34302,-0.160447,-0.249184,-0.213587,-0.339789,-0.252102,-0.293508,-0.276545,-0.292867,0.0847268 --5911.74,0.000118244,0.394006,2,-0.228877,0.00312267,-2.55607,-2.28685,-2.20067,-2.30397,-2.47734,-2.38313,-1.72371,-2.26604,-2.00172,-2.19861,-2.24047,-1.54017,-3.0973,-2.67789,-1.52637,-1.54079,-1.88617,-2.7387,-3.21869,-1.63918,-1.99597,-3.23831,-0.415365,-0.20933,-0.209986,-0.201411,-0.272347,-0.207018,-0.382644,-0.0689053,-0.257746,-0.373322,-0.34847,-0.27033,-0.143367,-0.0349022,-0.285645,-0.155257,-0.182927,-0.180797,-0.308159,-0.265211,-0.244681,-0.291168,-0.2034,0.0558808 --5911.74,0.0213625,0.394006,2,-0.228877,0.00312267,-2.55607,-2.28685,-2.20067,-2.30397,-2.47734,-2.38313,-1.72371,-2.26604,-2.00172,-2.19861,-2.24047,-1.54017,-3.0973,-2.67789,-1.52637,-1.54079,-1.88617,-2.7387,-3.21869,-1.63918,-1.99597,-3.23831,-0.415365,-0.20933,-0.209986,-0.201411,-0.272347,-0.207018,-0.382644,-0.0689053,-0.257746,-0.373322,-0.34847,-0.27033,-0.143367,-0.0349022,-0.285645,-0.155257,-0.182927,-0.180797,-0.308159,-0.265211,-0.244681,-0.291168,-0.2034,0.0558808 --5911.74,0.0513359,0.394006,2,-0.228877,0.00312267,-2.55607,-2.28685,-2.20067,-2.30397,-2.47734,-2.38313,-1.72371,-2.26604,-2.00172,-2.19861,-2.24047,-1.54017,-3.0973,-2.67789,-1.52637,-1.54079,-1.88617,-2.7387,-3.21869,-1.63918,-1.99597,-3.23831,-0.415365,-0.20933,-0.209986,-0.201411,-0.272347,-0.207018,-0.382644,-0.0689053,-0.257746,-0.373322,-0.34847,-0.27033,-0.143367,-0.0349022,-0.285645,-0.155257,-0.182927,-0.180797,-0.308159,-0.265211,-0.244681,-0.291168,-0.2034,0.0558808 --5911.74,0.0975308,0.394006,2,-0.228877,0.00312267,-2.55607,-2.28685,-2.20067,-2.30397,-2.47734,-2.38313,-1.72371,-2.26604,-2.00172,-2.19861,-2.24047,-1.54017,-3.0973,-2.67789,-1.52637,-1.54079,-1.88617,-2.7387,-3.21869,-1.63918,-1.99597,-3.23831,-0.415365,-0.20933,-0.209986,-0.201411,-0.272347,-0.207018,-0.382644,-0.0689053,-0.257746,-0.373322,-0.34847,-0.27033,-0.143367,-0.0349022,-0.285645,-0.155257,-0.182927,-0.180797,-0.308159,-0.265211,-0.244681,-0.291168,-0.2034,0.0558808 --5916.53,0.47213,0.394006,2,-0.233119,0.00527073,-2.21869,-2.21636,-1.69873,-2.50311,-2.2569,-2.2891,-1.75969,-2.16322,-1.90389,-2.20772,-2.36936,-1.38955,-2.67015,-2.72552,-1.01191,-1.62655,-1.98876,-3.02988,-3.36851,-1.20121,-2.41105,-2.77102,-0.0139185,-0.33269,-0.336385,-0.287739,-0.126461,-0.264402,-0.298835,-0.149352,-0.292286,-0.291543,-0.113568,-0.155852,-0.46641,-0.0652567,-0.30241,-0.272518,-0.311691,-0.245875,-0.169017,-0.272123,-0.298754,-0.253443,-0.277842,0.0725998 --5911.63,0.358371,0.394006,3,-0.260337,0.00466724,-1.98466,-2.31648,-1.70121,-2.5248,-2.33402,-1.74111,-1.76701,-2.19642,-1.87217,-2.29932,-2.24393,-1.2783,-2.56417,-2.78655,-1.30755,-1.56637,-1.73208,-2.85545,-3.02645,-1.23817,-2.29194,-2.88527,-0.251768,-0.148794,-0.155575,-0.191041,-0.236322,-0.27693,-0.295596,-0.148463,-0.334021,-0.157496,-0.240274,-0.155632,-0.374919,-0.0978271,-0.249313,-0.193473,-0.253748,-0.278824,-0.126909,-0.274311,-0.282759,-0.232062,-0.280465,0.0683172 --5913.55,0.208134,0.394006,3,-0.235473,0.00568723,-1.99919,-2.67582,-2.00696,-2.38272,-2.52484,-1.25523,-1.7191,-2.14899,-1.95801,-2.23719,-2.15514,-1.41047,-3.2055,-2.97578,-1.40363,-1.48755,-2.14567,-2.84871,-3.09387,-1.35619,-2.22259,-3.00482,-0.231991,-0.257133,-0.339549,-0.202416,-0.0926897,-0.201077,-0.236198,-0.227978,-0.205849,-0.259272,-0.259706,-0.20655,-0.155625,-0.0844405,-0.124643,-0.127206,-0.171626,-0.113745,-0.272593,-0.325604,-0.132779,-0.223893,-0.290753,0.0754137 --5903.8,0.223428,0.394006,2,-0.23187,0.00333041,-3.4405,-1.94981,-2.38749,-2.45457,-2.60099,-1.94014,-1.85901,-2.00163,-2.09448,-2.25933,-2.32549,-1.47432,-2.60757,-2.70942,-1.39615,-1.46333,-2.11606,-2.73377,-3.26702,-1.60426,-2.16132,-2.85029,-0.161787,-0.162345,-0.112669,-0.242303,-0.198901,-0.243833,-0.265969,-0.251134,-0.204481,-0.207569,-0.185755,-0.114647,-0.272322,-0.144961,-0.252257,-0.2143,-0.18544,-0.202152,-0.227596,-0.174004,-0.335323,-0.218363,-0.125731,0.0577097 --5902.48,0.500002,0.394006,2,-0.21291,0.00274925,-2.9258,-2.30125,-2.41996,-2.36938,-2.47484,-2.24979,-1.83761,-2.04323,-2.22219,-2.23563,-2.33381,-1.42287,-2.72942,-2.79009,-1.3925,-1.48786,-2.13506,-2.66716,-3.0506,-1.56181,-2.09799,-2.91849,-0.144892,-0.186182,-0.207111,-0.174621,-0.107344,-0.140681,-0.180615,-0.236371,-0.229947,-0.192282,-0.140095,-0.242208,-0.20397,-0.132346,-0.197176,-0.0668494,-0.133607,-0.157595,-0.145285,-0.12261,-0.233276,-0.246311,-0.205496,0.0524333 --5907.42,1.95406e-06,0.394006,3,-0.293897,0.0020178,-2.60319,-2.1188,-2.82563,-2.34126,-2.4061,-1.9372,-1.65174,-2.05363,-2.02728,-2.29491,-2.28725,-1.28074,-2.56648,-2.71073,-1.11949,-1.21262,-1.99264,-2.99453,-3.90943,-1.34838,-2.03743,-2.72556,-0.23838,-0.344378,-0.217916,-0.322754,-0.216187,-0.259226,-0.33391,-0.312871,-0.270464,-0.307686,-0.321487,-0.410039,-0.365497,-0.230212,-0.275562,-0.42856,-0.273487,-0.21883,-0.318103,-0.338814,-0.288632,-0.400679,-0.331056,0.0449199 --5907.42,2.18751e-14,0.394006,2,-0.293897,0.0020178,-2.60319,-2.1188,-2.82563,-2.34126,-2.4061,-1.9372,-1.65174,-2.05363,-2.02728,-2.29491,-2.28725,-1.28074,-2.56648,-2.71073,-1.11949,-1.21262,-1.99264,-2.99453,-3.90943,-1.34838,-2.03743,-2.72556,-0.23838,-0.344378,-0.217916,-0.322754,-0.216187,-0.259226,-0.33391,-0.312871,-0.270464,-0.307686,-0.321487,-0.410039,-0.365497,-0.230212,-0.275562,-0.42856,-0.273487,-0.21883,-0.318103,-0.338814,-0.288632,-0.400679,-0.331056,0.0449199 --5915.44,2.08995e-09,0.394006,2,-0.339308,0.00636828,-2.8711,-2.67148,-2.74422,-2.40636,-2.5236,-2.9798,-1.74238,-2.05963,-1.90048,-2.30533,-2.38089,-1.54645,-2.84322,-2.58505,-1.40811,-1.39364,-1.85219,-3.12357,-3.68852,-1.57877,-2.33124,-3.03185,-0.224617,-0.321915,-0.428861,-0.235887,-0.385757,-0.418123,-0.381913,-0.314834,-0.293446,-0.273189,-0.327409,-0.244343,-0.32811,-0.271221,-0.473246,-0.282688,-0.371461,-0.453326,-0.33303,-0.311144,-0.416188,-0.348721,-0.354572,0.0798015 --5914.94,0.763255,0.394006,2,-0.31271,0.0073907,-2.58279,-2.79398,-2.79264,-2.43755,-2.48091,-2.64979,-1.72527,-1.99176,-1.95695,-2.14201,-2.32663,-1.60074,-3.0291,-2.55284,-1.18342,-1.46902,-1.77831,-3.0714,-3.50003,-1.5155,-2.35491,-2.96575,-0.176568,-0.294476,-0.295846,-0.285711,-0.221689,-0.314128,-0.371614,-0.213683,-0.348949,-0.359083,-0.311773,-0.14191,-0.257605,-0.374471,-0.383829,-0.213593,-0.26171,-0.290219,-0.45249,-0.315739,-0.377135,-0.453496,-0.382027,0.0859692 --5910.25,0.432149,0.394006,2,-0.240606,0.00512864,-2.82619,-1.44563,-2.10331,-2.35333,-2.31442,-2.04037,-1.76283,-2.25264,-1.88394,-2.23046,-2.32032,-1.40124,-2.8677,-2.84292,-1.16375,-1.48594,-2.09855,-2.87344,-3.16552,-1.47001,-2.03115,-2.74586,-0.179885,-0.285355,-0.288595,-0.303987,-0.157232,-0.223774,-0.283273,-0.111228,-0.316296,-0.270276,-0.239042,-0.32776,-0.165411,0.0348267,-0.34729,-0.228076,-0.134125,-0.366092,-0.21548,-0.243437,-0.288132,-0.171648,-0.28673,0.0716145 --5916.48,0.699205,0.394006,2,-0.277545,0.00421352,-1.99256,-2.17328,-2.25101,-2.28913,-2.31728,-2.1335,-1.81417,-2.41216,-1.83086,-2.17347,-2.34122,-1.40184,-3.25079,-2.72982,-0.966266,-1.54089,-2.30465,-3.11264,-4.05263,-1.59962,-2.01057,-2.94875,-0.326014,-0.278463,-0.356598,-0.274356,0.0187651,-0.288984,-0.275719,-0.25237,-0.202832,-0.289105,-0.266356,-0.22382,-0.35338,-0.156162,-0.234635,-0.25772,-0.245011,-0.0691625,-0.275073,-0.223725,-0.335375,-0.381547,-0.285492,0.0649117 --5916.48,1.26544e-09,0.394006,2,-0.277545,0.00421352,-1.99256,-2.17328,-2.25101,-2.28913,-2.31728,-2.1335,-1.81417,-2.41216,-1.83086,-2.17347,-2.34122,-1.40184,-3.25079,-2.72982,-0.966266,-1.54089,-2.30465,-3.11264,-4.05263,-1.59962,-2.01057,-2.94875,-0.326014,-0.278463,-0.356598,-0.274356,0.0187651,-0.288984,-0.275719,-0.25237,-0.202832,-0.289105,-0.266356,-0.22382,-0.35338,-0.156162,-0.234635,-0.25772,-0.245011,-0.0691625,-0.275073,-0.223725,-0.335375,-0.381547,-0.285492,0.0649117 --5916.48,0.202812,0.394006,2,-0.277545,0.00421352,-1.99256,-2.17328,-2.25101,-2.28913,-2.31728,-2.1335,-1.81417,-2.41216,-1.83086,-2.17347,-2.34122,-1.40184,-3.25079,-2.72982,-0.966266,-1.54089,-2.30465,-3.11264,-4.05263,-1.59962,-2.01057,-2.94875,-0.326014,-0.278463,-0.356598,-0.274356,0.0187651,-0.288984,-0.275719,-0.25237,-0.202832,-0.289105,-0.266356,-0.22382,-0.35338,-0.156162,-0.234635,-0.25772,-0.245011,-0.0691625,-0.275073,-0.223725,-0.335375,-0.381547,-0.285492,0.0649117 --5915.71,1.68054e-11,0.394006,2,-0.209657,0.0119819,-2.59075,-2.30326,-2.47616,-2.29122,-2.4475,-2.48472,-1.79057,-2.28291,-1.83841,-2.17843,-2.32954,-1.45692,-3.18678,-2.67819,-1.13392,-1.67944,-1.92837,-3.30582,-3.49454,-1.52913,-2.12463,-2.87826,-0.301508,-0.248585,-0.20354,-0.26582,-0.237735,-0.126043,-0.246508,-0.139528,-0.224517,-0.322861,-0.210196,-0.264801,-0.374339,-0.317608,-0.236867,-0.110978,-0.0979718,-0.0431326,-0.493063,-0.210881,-0.235358,-0.391346,-0.144247,0.109462 --5915.05,0.061392,0.394006,2,-0.295548,0.00945927,-2.1146,-2.4271,-1.77287,-2.52668,-2.38771,-1.96944,-1.68481,-2.07002,-2.04407,-2.22771,-2.21919,-1.37686,-3.13917,-2.76009,-1.63958,-1.311,-1.97886,-2.88548,-3.61045,-1.55112,-2.09957,-2.86056,-0.245115,-0.277378,-0.291246,-0.16052,-0.147782,-0.166105,-0.428653,-0.152057,-0.308998,-0.350619,-0.286505,-0.161555,-0.129062,0.0795389,-0.267964,-0.277283,-0.308092,-0.305991,-0.00560554,-0.151141,-0.532278,-0.27698,-0.401134,0.0972588 --5917.4,0.901856,0.394006,2,-0.24546,0.00943857,-2.41248,-2.22943,-1.75316,-2.33705,-2.44302,-2.73289,-1.62732,-2.28715,-1.67551,-2.26988,-2.15541,-1.49032,-3.16587,-2.99811,-1.15842,-1.35316,-2.10149,-2.92072,-3.36256,-1.5562,-2.16786,-3.04613,-0.290907,-0.300213,-0.449769,-0.216058,-0.244884,-0.302649,-0.355741,-0.248737,-0.256671,-0.196259,-0.279442,-0.223196,-0.301543,0.196281,-0.188237,-0.384896,-0.122453,-0.106357,-0.487505,-0.195355,-0.18865,-0.305201,-0.241372,0.0971523 --5915.91,0.976323,0.394006,2,-0.289577,0.00828438,-2.80426,-1.88395,-1.74035,-2.27756,-2.48559,-2.26819,-1.65025,-2.10579,-1.83792,-2.27327,-2.23353,-1.335,-2.83519,-2.98686,-1.25579,-1.19823,-2.06699,-2.73911,-3.87279,-1.50106,-2.06707,-2.85074,-0.229064,-0.373022,-0.529338,-0.190993,-0.204513,-0.323612,-0.452199,-0.132625,-0.321154,-0.301047,-0.300312,-0.284556,-0.228596,0.252946,-0.227874,-0.386807,-0.128568,-0.137774,-0.21477,-0.110969,-0.412729,-0.34533,-0.257538,0.0910186 --5915.91,0.280002,0.394006,2,-0.289577,0.00828438,-2.80426,-1.88395,-1.74035,-2.27756,-2.48559,-2.26819,-1.65025,-2.10579,-1.83792,-2.27327,-2.23353,-1.335,-2.83519,-2.98686,-1.25579,-1.19823,-2.06699,-2.73911,-3.87279,-1.50106,-2.06707,-2.85074,-0.229064,-0.373022,-0.529338,-0.190993,-0.204513,-0.323612,-0.452199,-0.132625,-0.321154,-0.301047,-0.300312,-0.284556,-0.228596,0.252946,-0.227874,-0.386807,-0.128568,-0.137774,-0.21477,-0.110969,-0.412729,-0.34533,-0.257538,0.0910186 --5927.71,0.589048,0.394006,2,-0.289704,0.0213756,-2.16364,-1.88009,-1.53244,-2.45113,-2.30447,-2.08246,-1.59899,-2.12567,-2.08296,-2.31357,-2.01028,-1.41282,-3.01243,-3.00962,-1.09829,-1.29392,-2.06603,-3.12258,-4.02491,-1.31254,-2.01184,-2.70015,-0.377634,-0.186044,-0.251948,-0.220752,-0.325177,-0.187689,-0.460445,-0.384407,-0.432974,-0.213517,-0.382904,-0.223375,-0.407076,0.37757,-0.260432,-0.352409,-0.269224,-0.106179,-0.301762,-0.298814,-0.613438,-0.539123,-0.504337,0.146204 --5927.67,0.921922,0.394006,3,-0.201548,0.0194821,-2.46696,-1.65187,-2.50458,-2.34898,-2.38573,-2.06895,-1.75683,-2.23029,-2.0103,-2.23263,-2.44898,-1.44282,-3.05474,-2.61333,-1.18604,-1.54698,-2.01356,-3.09197,-3.91285,-1.4183,-2.21851,-2.89478,-0.0770418,-0.0780264,0.0658072,-0.278249,-0.210116,-0.103472,-0.420385,0.187207,-0.281123,-0.308477,0.0612113,-0.0970659,-0.310277,-0.184362,-0.145988,-0.0313738,-0.249763,-0.444032,-0.0706209,-0.166914,-0.109893,-0.142393,-0.325224,0.139578 --5932.21,0.731695,0.394006,2,-0.145107,0.021373,-2.79448,-2.40225,-2.75217,-2.48339,-2.5565,-1.93387,-1.69009,-2.34393,-1.96221,-2.29329,-2.50903,-1.72594,-2.86854,-2.68716,-1.15917,-1.77351,-1.84132,-2.97982,-4.22435,-1.39295,-2.17984,-2.85206,-0.133926,-0.319379,-0.100032,-0.27653,-0.0476907,-0.467223,-0.243662,-0.0214332,-0.243925,-0.209467,0.0184251,-0.0642283,-0.173083,0.0323622,-0.222148,-0.221684,-0.277912,-0.364299,-0.118367,-0.0358034,0.0133942,-0.191929,-0.545296,0.146195 --5928.08,0.270335,0.394006,3,-0.243141,0.0182083,-2.06846,-1.86062,-2.32597,-2.45313,-2.27836,-2.02759,-1.68301,-1.93642,-2.11571,-2.25022,-2.09147,-1.38467,-3.00709,-2.79179,-1.4445,-1.57394,-2.38809,-2.89231,-3.44338,-1.46224,-1.91276,-2.89522,-0.0997976,-0.321322,-0.414312,-0.31383,-0.212163,-0.148919,-0.34922,-0.356627,-0.269931,-0.347101,-0.5408,-0.4216,-0.0957812,0.0431511,-0.116764,-0.377262,0.0506628,-0.0160054,-0.261691,-0.343358,-0.211214,-0.30634,0.312523,0.134938 --5921.38,0.990677,0.394006,2,-0.344734,0.00954129,-2.40364,-2.39799,-2.17384,-2.28619,-2.33803,-1.79222,-1.64276,-2.22324,-1.75341,-2.24005,-2.28678,-1.57088,-2.84339,-2.64014,-1.2948,-1.19873,-2.2104,-2.7905,-3.57671,-1.53643,-2.23705,-2.94037,-0.438994,-0.420545,-0.262281,-0.254645,-0.323731,-0.592297,-0.519181,-0.149011,-0.480681,-0.257364,-0.269118,0.0586795,-0.501275,-0.265831,-0.384225,-0.238102,-0.173726,-0.470582,-0.289396,-0.225493,-0.584061,-0.345729,-0.417127,0.0976795 --5925.22,0.67978,0.394006,2,-0.345053,0.00868208,-2.31639,-2.41072,-2.21867,-2.51998,-2.38363,-2.19627,-1.64296,-2.1016,-2.0852,-2.24283,-2.13716,-1.52927,-2.73069,-2.58853,-1.49051,-1.60709,-1.90207,-2.64976,-3.57319,-1.4942,-1.96983,-2.84884,-0.405043,-0.348079,-0.45239,-0.299183,-0.153721,-0.209209,-0.407238,-0.268692,-0.237611,-0.36689,-0.498143,-0.531316,-0.396867,-0.226877,-0.252557,-0.430321,-0.337811,-0.179714,0.289748,-0.322815,-0.193667,-0.407438,-0.284676,0.0931777 --5926.04,0.578154,0.394006,2,-0.310205,0.0181783,-2.35526,-2.6742,-2.33558,-2.46683,-2.29842,-2.02191,-1.77994,-2.0632,-2.20964,-2.30906,-2.22701,-1.34562,-2.92903,-2.66564,-1.44898,-1.67166,-1.93729,-3.30069,-3.46518,-1.45394,-1.93075,-2.85287,-0.333974,-0.539535,-0.309653,-0.406441,-0.168292,-0.355882,-0.481053,-0.340358,-0.325827,-0.355199,-0.492807,-0.320181,-0.338326,-0.324398,-0.246318,-0.106475,-0.363318,-0.0855321,0.0200881,-0.369485,-0.340269,-0.514523,-0.296912,0.134827 --5923.4,0.596296,0.394006,3,-0.30857,0.0130049,-2.26006,-1.80414,-1.89297,-2.50776,-2.31533,-2.39389,-1.7405,-2.228,-1.94133,-2.22723,-2.52915,-1.49226,-2.81714,-2.85512,-1.19243,-1.16752,-1.95651,-2.32017,-3.17001,-1.45984,-2.19206,-2.92924,-0.315608,-0.358077,-0.343577,-0.354233,-0.0661566,-0.409752,-0.470841,-0.310489,-0.514524,-0.431738,-0.266099,-0.305382,-0.249632,-0.0618633,-0.278406,-0.336964,-0.36917,-0.168024,-0.317772,-0.390367,-0.239447,-0.43627,-0.328577,0.114039 --5924.75,1,0.394006,2,-0.308379,0.00953418,-2.59644,-2.22326,-2.48566,-2.38166,-2.32277,-1.91521,-1.4812,-2.15473,-1.92205,-2.07665,-2.40468,-1.64911,-2.73696,-2.6951,-1.11683,-1.59449,-2.14114,-2.65817,-3.25054,-1.53488,-2.10998,-2.95071,-0.285667,-0.309264,-0.273866,-0.176686,-0.599211,-0.239532,-0.506061,-0.181949,-0.138247,-0.398743,-0.273579,-0.234729,-0.407206,-0.288458,-0.385432,-0.396928,-0.199161,-0.478361,-0.320774,-0.0544907,-0.408011,-0.373921,-0.270567,0.0976431 --5926.98,0.651918,0.394006,2,-0.317087,0.0273926,-2.35933,-2.30841,-1.94702,-2.44337,-2.04188,-2.55194,-1.5897,-2.28342,-1.96578,-2.23536,-2.4173,-1.44191,-2.81417,-2.4643,-1.49443,-1.33283,-1.74055,-2.58869,-3.29749,-1.38767,-2.03908,-2.89164,-0.326861,-0.350433,-0.325259,-0.209658,-0.506057,-0.204561,-0.481146,-0.132131,-0.609487,-0.450646,-0.207045,-0.168997,-0.649754,-0.212467,-0.256007,-0.346804,-0.319558,-0.0911867,-0.249763,-0.574397,-0.265174,-0.281113,-0.345817,0.165507 --5922.02,0.992446,0.394006,3,-0.253477,0.0213473,-2.29709,-1.91674,-2.15058,-2.36707,-2.69133,-2.13723,-1.66413,-2.01269,-1.78895,-2.17576,-2.30168,-1.44583,-3.0002,-2.88732,-1.3878,-1.40317,-2.35327,-3.63279,-3.90022,-1.40247,-2.05118,-2.77999,-0.359937,-0.447569,-0.410269,-0.336146,-0.128799,-0.451574,-0.486428,-0.267049,-0.183151,-0.286085,-0.216371,-0.351948,-0.142436,-0.00222055,-0.249029,-0.327218,-0.0954464,-0.125312,-0.274785,-0.182191,-0.695365,-0.542973,-0.327135,0.146107 --5929.25,0.582519,0.394006,3,-0.167899,0.0105523,-2.39529,-2.51534,-2.15459,-2.50942,-2.41395,-2.13469,-1.77709,-2.18572,-1.93743,-2.1501,-2.53567,-1.78639,-2.62866,-2.8812,-1.32081,-1.60801,-1.91593,-2.39812,-2.9703,-1.56369,-2.31666,-2.93534,-0.1166,-0.171192,-0.176599,-0.267199,-0.356754,-0.0037981,-0.308559,-0.0847452,-0.397626,-0.358594,0.0992654,-0.280449,-0.381951,0.0718814,-0.360819,-0.190012,-0.20598,-0.383923,-0.0987916,-0.295922,-0.120514,-0.224231,-0.221927,0.102724 --5929.49,0.983322,0.394006,3,-0.344375,0.0220448,-2.56478,-2.42636,-1.9861,-2.4483,-2.58052,-1.85948,-1.67376,-2.0812,-1.75545,-2.1792,-2.08504,-1.54669,-2.68768,-2.64387,-1.40796,-1.56279,-1.83153,-3.48393,-3.57116,-1.51193,-2.0247,-2.95606,-0.221692,-0.366648,-0.346936,-0.386918,-0.256958,-0.347859,-0.591224,-0.282797,-0.499674,-0.314365,-0.448836,-0.450486,-0.309328,-0.29056,-0.29695,-0.296059,-0.248537,0.830314,0.348949,-0.368356,-0.449435,-0.253015,-0.341754,0.148475 --5932.85,0.873527,0.394006,3,-0.161664,0.0495517,-2.56127,-1.79201,-2.12044,-2.55297,-2.60368,-1.66628,-1.81654,-2.20744,-2.07252,-2.23098,-2.56904,-1.75182,-2.94326,-3.07302,-1.45387,-1.55809,-2.12272,-2.58177,-3.58425,-1.60641,-2.15,-2.70589,-0.0486606,-0.162668,-0.21135,-0.162538,-0.0128879,-0.0104881,-0.304369,0.0234357,-0.0896984,-0.184369,0.0255954,-0.121226,-0.0245989,0.2483,-0.132594,-0.0975571,-0.0643745,-0.541738,-0.177817,-0.107228,-0.0948325,-0.319409,-0.0206527,0.222602 --5933.32,0.67149,0.394006,3,-0.275672,0.0627078,-2.59893,-2.23887,-2.33938,-2.4602,-2.48422,-2.11761,-1.69588,-1.97507,-1.97611,-2.1859,-2.23217,-1.5802,-2.78729,-2.60552,-1.49319,-1.49552,-2.14847,-3.0998,-3.79884,-1.68571,-2.07759,-3.15002,-0.132215,0.0658828,-0.0259862,-0.298021,-0.193801,-0.0382278,-0.481715,-0.143473,-0.240017,-0.253272,-0.281479,-0.308135,-0.259815,-0.0703172,-0.158829,-0.181164,-0.0723526,0.626231,0.0841054,-0.368644,-0.339118,-0.0770251,-0.202767,0.250415 --5926.34,0.941324,0.394006,2,-0.326522,0.0216409,-2.15335,-2.28749,-2.16428,-2.37255,-2.37153,-2.35622,-1.65558,-2.04998,-1.97102,-2.27234,-2.21882,-1.3392,-3.10919,-2.89889,-1.26769,-1.49609,-1.93484,-3.57731,-3.38283,-1.32016,-2.16597,-2.74971,-0.287554,-0.609926,-0.407839,-0.157752,-0.0318743,-0.406267,-0.327607,-0.18076,-0.215319,-0.310418,-0.248292,-0.00875271,-0.235366,-0.150324,-0.164898,-0.121028,-0.129597,0.0341163,-0.41119,-0.0943763,-0.318722,-0.475353,-0.176502,0.147109 --5936.58,0.747271,0.394006,3,-0.324556,0.0173315,-2.58699,-1.79692,-1.85977,-2.41338,-2.46823,-1.71212,-1.67544,-2.0922,-2.13031,-2.27609,-2.54674,-1.73417,-2.80861,-2.96734,-1.64214,-1.51096,-1.85649,-2.2926,-3.32147,-1.75118,-1.85876,-3.10661,-0.182097,-0.352662,-0.390839,-0.388667,-0.331512,-0.707508,-0.417799,-0.0790327,-0.227556,-0.297882,0.0299862,-0.137281,-0.316719,-0.188256,-0.251716,-0.258218,-0.0562179,-0.476933,0.0796495,-0.20465,-0.474734,-0.22482,-0.396293,0.131649 --5940.78,0.964299,0.394006,2,-0.173268,0.0273486,-2.67832,-2.41402,-2.3974,-2.33672,-2.44101,-2.40828,-1.6662,-2.13111,-1.81729,-2.2451,-2.37508,-1.36816,-2.89916,-2.68112,-1.11149,-1.44408,-1.93904,-3.53875,-3.42575,-1.39969,-2.44933,-2.58596,-0.0958029,-0.364102,-0.0595399,-0.036607,-0.00441645,-0.126451,-0.480099,-0.529943,-0.37133,-0.230702,-0.134876,-0.0401372,-0.743148,-0.0130959,-0.206229,-0.207983,-0.429657,0.105603,-0.661251,-0.0729626,-0.076997,-0.612458,-0.0464094,0.165374 --5925.36,0.944968,0.394006,2,-0.325413,0.0110835,-1.81011,-2.06516,-2.09573,-2.49985,-2.47465,-1.98191,-1.71698,-1.93049,-1.85352,-2.42048,-2.32913,-1.52213,-2.87191,-2.87864,-1.55962,-1.49671,-2.13304,-2.9645,-3.36772,-1.4442,-2.09498,-3.01941,-0.592271,-0.500989,-0.123167,-0.37503,-0.290503,-0.364313,-0.356107,-0.0756778,-0.441666,-0.103772,-0.201632,-0.315514,-0.36796,0.0391419,-0.347995,-0.170611,-0.0999392,-0.34525,-0.0859448,-0.345973,-0.261815,-0.347675,-0.351017,0.105278 --5924.23,0.907218,0.394006,3,-0.261801,0.0178866,-1.67597,-2.32837,-1.96232,-2.4339,-2.47596,-1.94543,-1.78574,-2.12836,-1.72113,-2.26267,-2.36709,-1.60534,-2.98849,-2.9512,-1.57526,-1.61208,-2.25543,-2.63799,-3.31894,-1.53843,-2.05248,-3.04204,-0.603778,-0.59118,-0.193154,-0.266289,-0.0527464,-0.283215,-0.309734,-0.19841,-0.303318,-0.130807,-0.400648,-0.2693,-0.428752,0.0706735,-0.336623,-0.352881,-0.00304378,-0.412487,-0.296583,-0.230043,-0.355007,-0.252754,-0.223981,0.133741 --5926.96,0.690493,0.394006,2,-0.176005,0.0403608,-3.31068,-2.22366,-2.29361,-2.37005,-2.33962,-2.43607,-1.62165,-2.10651,-2.06052,-2.24034,-2.16449,-1.40212,-2.97532,-2.6879,-1.16945,-1.38984,-2.15817,-3.24002,-3.25956,-1.49088,-2.29798,-2.67198,0.325393,0.173278,-0.289258,-0.124031,-0.138507,-0.131221,-0.50277,-0.143185,-0.292662,-0.370608,-0.246964,-0.128337,-0.0470588,-0.0940631,-0.0439789,-0.100114,-0.0109909,-0.0262162,-0.221636,-0.19159,-0.37763,-0.443759,-0.175745,0.2009 --5917.33,0.877253,0.394006,3,-0.180762,0.00999694,-2.04417,-2.19242,-1.98071,-2.32403,-2.51612,-2.23996,-1.78581,-2.1158,-1.93396,-2.31181,-2.44047,-1.45938,-2.6792,-2.85918,-1.1803,-1.509,-1.93591,-3.04942,-3.52632,-1.54518,-2.1353,-2.73277,-0.357686,-1.01137,-0.108246,-0.193222,-0.12103,-0.193185,-0.301609,-0.128189,-0.259818,-0.26802,-0.0725604,-0.100075,-0.172625,0.155446,-0.177691,-0.183268,-0.180574,-0.159851,-0.279311,-0.22615,-0.475684,-0.296439,-0.135132,0.0999847 --5921.16,0.55607,0.394006,2,-0.202811,0.0104055,-1.82089,-2.02391,-2.03923,-2.43358,-2.42683,-1.91331,-1.73925,-2.12461,-1.92067,-2.28219,-2.47138,-1.43301,-3.10882,-2.74579,-1.51791,-1.37762,-1.94477,-3.3943,-3.58761,-1.71225,-2.0182,-3.03262,-0.161833,-1.03972,-0.186266,-0.133836,-0.145749,-0.278143,-0.256166,-0.13345,-0.148891,-0.218098,-0.0286884,-0.0547422,-0.213998,0.181441,-0.294608,-0.314131,-0.211115,-0.201744,-0.135511,-0.173861,-0.493949,-0.381313,0.00753765,0.102007 --5922.26,0.652538,0.394006,3,-0.237947,0.0176222,-3.16037,-1.91847,-2.39524,-2.40461,-2.39943,-2.34891,-1.75704,-2.29627,-2.0395,-2.23175,-2.0898,-1.28465,-2.98533,-2.74098,-1.18475,-1.49207,-2.29649,-2.7446,-3.29335,-1.34054,-2.08408,-2.79084,-0.190997,-0.328316,-0.166871,-0.248098,-0.140145,-0.203577,-0.475052,-0.0110365,-0.310487,-0.256699,-0.486996,-0.524178,-0.223116,-0.144122,-0.177911,-0.183818,0.00751005,0.038266,-0.197703,-0.114773,-0.319893,-0.242841,-0.441303,0.132749 --5920.31,0.952181,0.394006,2,-0.181867,0.0228695,-2.38698,-2.4916,-2.10307,-2.39916,-2.43217,-1.80861,-1.59133,-2.08597,-2.03285,-2.27078,-2.31626,-1.33516,-3.24293,-2.98861,-1.56427,-1.80928,-2.05211,-2.87116,-3.4644,-1.66615,-2.31461,-2.99572,-0.161239,-0.171644,-0.216403,-0.210563,-0.110221,-0.200134,-0.411315,-0.181725,-0.0739524,-0.287424,-0.256338,-0.187117,-0.121812,0.283345,-0.174895,0.218147,-0.140715,-0.413033,-0.069607,-0.136493,-0.133695,-0.395804,-0.521371,0.151227 --5928.8,0.612189,0.394006,3,-0.206725,0.0326449,-2.77428,-2.59037,-1.93065,-2.35671,-2.48977,-2.35191,-1.68396,-2.13691,-1.92902,-2.07492,-2.35719,-1.66779,-3.10951,-2.85865,-1.24852,-1.62514,-1.82951,-2.76533,-3.34013,-1.29067,-2.0836,-2.90998,0.063288,0.163559,-0.280557,-0.310286,0.0466227,-0.388901,-0.597705,-0.169385,-0.401013,-0.522557,-0.173693,0.0433,-0.0671462,0.153286,-0.129144,-0.0168478,-0.451125,-0.220397,-0.0896098,-0.413552,-0.466895,-0.0854241,-0.524667,0.180679 --5923.07,0.577878,0.394006,2,-0.23532,0.0147812,-2.66403,-1.97253,-2.19397,-2.42589,-2.38234,-1.91412,-1.55592,-1.94461,-1.72819,-2.16799,-2.29374,-1.42886,-3.09001,-2.88047,-1.26723,-1.40703,-2.10582,-2.94554,-3.24402,-1.29204,-2.16339,-2.95144,-0.507331,-0.0176229,-0.215516,-0.240555,-0.0779643,-0.446048,-0.431659,-0.240331,-0.341236,-0.403122,-0.336088,-0.0480422,-0.24778,0.0123965,-0.343062,-0.106601,-0.0900462,-0.0833792,-0.358254,-0.37046,-0.378332,-0.243807,-0.653092,0.121578 --5919.46,1,0.394006,2,-0.292386,0.0239596,-1.7771,-2.28895,-2.00258,-2.28109,-2.45854,-2.31989,-1.72213,-2.11625,-2.08926,-2.20964,-2.30086,-1.60756,-2.91037,-3.05094,-1.42172,-1.54755,-2.27179,-3.11693,-3.26701,-1.32186,-2.23512,-2.98213,-0.300661,-0.53188,-0.253069,-0.371551,-0.0499515,-0.301602,-0.512255,-0.309884,-0.208797,-0.281011,-0.229272,-0.114539,-0.334301,0.379725,-0.0833877,-0.164848,-0.134214,-0.038691,-0.179079,-0.230558,-0.262776,-0.307549,-0.550069,0.154789 --5923.99,0.698303,0.394006,2,-0.11613,0.0146791,-2.59841,-2.24248,-2.41702,-2.50219,-2.63922,-1.86622,-1.55317,-1.92653,-2.07733,-2.21041,-2.27761,-1.46302,-2.93468,-2.76921,-1.49066,-1.5673,-2.15524,-2.56229,-3.14778,-1.67454,-1.98041,-2.74446,-0.0915337,-0.131431,0.0288661,-0.152241,-0.17205,-0.156479,-0.362081,-0.179478,-0.184674,-0.2709,-0.479024,-0.0728121,-0.256057,-0.109491,-0.120709,-0.00952418,-0.115158,-0.0990585,-0.157212,-0.104161,-0.603211,-0.184305,-0.314428,0.121157 --5926.96,0.565823,0.394006,2,-0.234663,0.022179,-2.4322,-2.30768,-2.19846,-2.24575,-2.3275,-2.52117,-1.75666,-2.31141,-1.95353,-2.28672,-2.22347,-1.62166,-2.95792,-2.57094,-1.54681,-1.59607,-2.31753,-3.35654,-3.49475,-1.62968,-1.97243,-3.02186,-0.240292,-0.22395,-0.0691837,-0.356642,-0.0504427,-0.295825,-0.545382,-0.166439,-0.289502,-0.264599,-0.133124,-0.127378,-0.329145,-0.157906,-0.123695,-0.237197,0.275129,-0.226811,-0.281854,-0.00615619,-0.528554,-0.531801,0.138859,0.148926 --5931.15,0.890374,0.394006,3,-0.2908,0.0164403,-2.23152,-2.07568,-2.08409,-2.44588,-2.22383,-2.27528,-1.75882,-2.10052,-1.93209,-2.19298,-2.3935,-1.37087,-2.8646,-3.00399,-1.20664,-1.49009,-2.14306,-2.83806,-3.36254,-1.02334,-2.13841,-2.94299,-0.261821,-0.414751,-0.468405,-0.116188,-0.138372,-0.380141,-0.472893,-0.363544,-0.30736,-0.450166,-0.225777,-0.393462,-0.233219,0.510538,-0.439954,0.00983492,-0.336254,-0.264595,-0.177463,-0.778744,-0.138597,-0.323272,0.103164,0.12822 --5933.29,0.934161,0.394006,2,-0.328653,0.0325888,-1.80207,-1.90201,-2.58124,-2.43996,-2.41507,-2.27405,-1.64717,-2.21406,-1.89138,-2.22323,-2.40637,-1.51623,-3.21064,-3.08678,-1.37764,-1.52946,-1.64745,-2.8245,-3.31654,-1.30926,-1.97463,-2.85339,-0.416496,-0.496646,-0.154051,-0.203801,-0.468174,0.0107853,-0.349709,0.0381384,-0.33614,-0.268054,-0.216779,-0.170895,-0.311377,0.270064,-0.152177,-0.570373,-0.188609,-0.271016,-0.462669,-0.676782,-0.869815,-0.451617,-0.280138,0.180524 --5936.44,0.615642,0.394006,3,-0.215085,0.0444244,-3.15478,-2.33371,-1.74705,-2.24393,-2.47361,-2.41117,-1.70732,-2.0526,-1.99813,-2.22741,-2.26248,-1.32833,-2.87791,-3.06468,-1.48981,-1.31795,-2.32403,-2.992,-3.56943,-1.25317,-1.87676,-2.81009,0.19434,-0.263655,-0.286524,-0.474333,0.240521,-0.0128986,-0.564978,-0.367779,-0.309108,-0.364844,-0.195981,-0.298235,-0.3158,0.394591,-0.0864385,-0.114092,-0.192182,-0.217539,0.32002,-0.504264,-0.50599,-0.424365,-0.919613,0.210771 --5939.34,0.793322,0.394006,2,-0.188949,0.114403,-3.52684,-2.25589,-2.12299,-2.18932,-2.52418,-2.28676,-1.80132,-2.18627,-1.92324,-2.27719,-2.22759,-1.33767,-2.9195,-2.97704,-1.31237,-1.48663,-2.11829,-2.69526,-4.02102,-1.27424,-1.96655,-2.88587,0.155966,-0.314166,-0.0805704,-0.514316,-0.0536233,-0.28229,-0.507302,-0.243206,-0.383754,-0.381568,-0.12382,-0.278783,-0.336692,0.276664,0.085564,-0.156952,-0.182398,-0.185242,0.258677,-0.57628,-0.4474,-0.62444,-0.913861,0.338236 --5927.65,1,0.394006,3,-0.234451,0.0119476,-1.48442,-1.95271,-2.15263,-2.48317,-2.30353,-2.36603,-1.78089,-2.16012,-2.00734,-2.28869,-2.28278,-1.68195,-3.09403,-2.81089,-1.42623,-1.39511,-2.14788,-3.13561,-3.22675,-1.55592,-2.20139,-2.84932,-0.488197,-0.215424,-0.374923,-0.0826633,-0.17598,-0.318829,-0.565219,-0.253526,-0.193008,-0.292554,-0.265266,-0.0877963,-0.277322,0.122706,-0.478257,-0.118796,-0.0579242,-0.161143,-0.550153,-0.0325741,-0.233584,-0.217978,-0.645965,0.109305 --5927.17,0.741398,0.394006,2,-0.169281,0.0115751,-3.17565,-2.74423,-2.18054,-2.41164,-2.76316,-2.14481,-1.63136,-2.19114,-1.9958,-2.21291,-2.4355,-1.21377,-2.76843,-2.95608,-1.4616,-1.37003,-1.98588,-2.83745,-3.50503,-1.45055,-2.19788,-3.03949,-0.185372,-0.257222,-0.110818,-0.214668,0.171044,-0.176364,-0.364593,-0.127018,-0.350376,-0.325696,-0.0618857,-0.262921,-0.412988,-0.0369275,-0.0843202,-0.549633,-0.197215,-0.263161,-0.00397248,-0.409303,-0.327452,-0.351882,-0.00477281,0.107588 --5934.53,0.962573,0.394006,2,-0.257899,0.0212444,-3.38164,-2.57841,-2.10342,-2.46323,-2.61088,-1.91742,-1.5828,-2.06355,-1.85906,-2.39321,-2.34452,-1.18233,-2.8451,-2.75427,-2.00772,-1.49633,-1.99339,-2.9609,-3.84295,-1.48207,-2.20115,-3.19626,-0.0211723,-0.107433,-0.325195,-0.157393,0.209913,-0.135289,-0.596108,-0.346174,-0.237814,-0.256153,-0.132088,-0.368329,-0.131347,0.0798276,-0.111002,-0.341304,-0.152068,-0.121504,-0.311107,-0.212491,-0.214167,-0.122774,-0.308699,0.145755 --5929.98,1,0.394006,2,-0.247362,0.0203247,-3.67019,-2.58895,-2.12603,-2.471,-2.72063,-1.99598,-1.57179,-2.00541,-1.82233,-2.34867,-2.38548,-1.22913,-2.92305,-2.81317,-1.88113,-1.5483,-1.9253,-3.01318,-3.75826,-1.42165,-2.11999,-3.11088,-0.0583529,-0.09727,-0.23632,-0.14562,0.156054,-0.169892,-0.618438,-0.347755,-0.137269,-0.277894,-0.157689,-0.336605,-0.103271,0.0650091,-0.153458,-0.345051,-0.157119,-0.0838735,-0.277021,-0.234493,-0.297555,-0.150032,-0.287872,0.142565 --5922.49,0.988854,0.394006,2,-0.234436,0.0121921,-1.59345,-2.35763,-2.20819,-2.32182,-2.28302,-2.97174,-1.58988,-1.91933,-2.06337,-2.24557,-2.38594,-1.50028,-3.02994,-2.63114,-1.52497,-1.37446,-2.12672,-2.84237,-3.54697,-1.378,-2.11749,-2.76192,-0.451475,-0.295548,-0.126277,-0.304757,-0.243639,-0.406634,-0.58714,-0.2354,-0.508051,-0.162911,-0.16826,-0.129908,-0.331449,-0.245444,-0.135882,-0.247998,-0.176892,0.0879612,-0.104044,-0.292205,-0.284814,-0.460751,-0.18026,0.110418 --5924.67,0.971583,0.394006,2,-0.323495,0.0173643,-1.99117,-2.68394,-2.17303,-2.44258,-2.53578,-2.67912,-1.68765,-1.97696,-1.88354,-2.34681,-2.46605,-1.64459,-2.98589,-2.72394,-1.43201,-1.47771,-2.31399,-2.85575,-3.81042,-1.44931,-2.13163,-3.10493,-0.432687,-0.31083,-0.573926,-0.310983,-0.053674,-0.46863,-0.282955,-0.378901,-0.574417,-0.301143,-0.159064,-0.113617,-0.182271,-0.0447883,-0.394412,-0.284893,-0.0496775,-0.413623,-0.414402,-0.275326,-0.353558,-0.313961,-0.417567,0.131774 --5930.64,0.835677,0.394006,3,-0.20341,0.0168235,-2.53384,-1.36356,-2.18218,-2.24924,-2.38643,-1.58367,-1.79206,-2.20862,-1.89946,-2.32253,-2.31147,-1.3122,-2.91796,-2.94454,-1.15123,-1.5373,-1.75694,-2.57939,-3.01252,-1.41362,-2.08272,-2.74805,-0.154073,-0.733383,-0.0744687,-0.340387,-0.192755,-0.161095,-0.381593,0.019001,-0.123798,-0.145416,-0.157648,-0.244194,-0.423046,0.0613571,-0.220965,-0.122744,-0.275121,-0.465458,0.0396919,-0.247039,-0.33957,-0.3024,-0.0139452,0.129705 --5913.95,0.626467,0.394006,2,-0.203178,0.0115736,-1.94118,-2.17555,-2.09355,-2.35941,-2.29541,-2.19601,-1.74294,-2.08733,-1.79916,-2.2347,-2.35463,-1.57882,-2.75588,-2.66664,-1.26517,-1.46328,-1.95911,-3.10026,-3.38877,-1.45916,-1.91741,-2.97846,-0.364579,-0.193997,-0.255272,-0.342023,-0.34985,-0.26897,-0.167776,-0.311102,-0.353955,-0.278949,-0.228609,-0.0647555,-0.291517,-0.00717975,-0.31185,-0.243698,-0.164332,0.0216055,-0.414262,-0.191378,-0.258354,-0.226953,-0.244676,0.107581 --5912.78,0.75695,0.394006,2,-0.232351,0.0103035,-1.83885,-2.24717,-2.0878,-2.34846,-2.45435,-2.11173,-1.79777,-1.99003,-1.7204,-2.20756,-2.38165,-1.60991,-2.82219,-2.62506,-1.31735,-1.48081,-2.01773,-3.22257,-3.36661,-1.44375,-1.89679,-2.94973,-0.346307,-0.271405,-0.291845,-0.358738,-0.272883,-0.29461,-0.188092,-0.265174,-0.419224,-0.264859,-0.329853,-0.142079,-0.291073,-0.0500731,-0.188095,-0.239752,-0.180723,-0.101367,-0.425528,-0.186851,-0.237792,-0.206015,-0.192558,0.101506 --5913.82,0.876658,0.394006,2,-0.222644,0.01046,-1.821,-2.28011,-1.96033,-2.38925,-2.43086,-2.1458,-1.82521,-1.97185,-1.6756,-2.16539,-2.35525,-1.59842,-2.77858,-2.65386,-1.22168,-1.52829,-2.01892,-3.24732,-3.303,-1.45649,-1.83535,-2.8991,-0.382651,-0.226909,-0.247078,-0.323991,-0.14668,-0.255914,-0.249355,-0.20938,-0.430325,-0.250834,-0.337684,-0.130993,-0.349464,-0.100927,-0.266473,-0.185712,-0.194381,-0.140869,-0.310231,-0.152434,-0.251471,-0.245949,-0.109844,0.102274 --5906.9,0.971996,0.394006,1,-0.250171,0.00396543,-2.68329,-2.39132,-2.16651,-2.37404,-2.42317,-1.97527,-1.69122,-2.15636,-1.94236,-2.31305,-2.30177,-1.3475,-2.99566,-2.7598,-1.3827,-1.35688,-2.26464,-2.6912,-3.80014,-1.50926,-2.00264,-3.06719,-0.134254,-0.23867,-0.213419,-0.280758,-0.25739,-0.206396,-0.271212,-0.229139,-0.259573,-0.222511,-0.18432,-0.189519,-0.173651,-0.156231,-0.285089,-0.105562,-0.0227975,-0.463814,-0.243404,-0.137831,-0.307705,-0.246122,-0.29725,0.0629716 --5906.98,0.680221,0.394006,2,-0.262006,0.00316662,-3.01195,-2.22238,-2.26086,-2.31589,-2.39463,-1.94177,-1.67333,-2.08148,-2.08897,-2.32577,-2.26552,-1.32281,-2.95165,-2.64901,-1.21913,-1.58319,-2.17699,-2.8855,-3.5043,-1.59718,-2.07566,-3.09407,-0.287971,-0.192498,-0.273578,-0.214955,-0.396563,-0.224087,-0.345397,-0.212091,-0.211682,-0.156771,-0.261292,-0.180013,-0.272142,-0.209872,-0.229972,-0.273141,-0.0508357,-0.31735,-0.174732,-0.202467,-0.349668,-0.156636,-0.220927,0.0562728 --5908.92,0.112996,0.394006,3,-0.239833,0.00266903,-3.15852,-2.17316,-2.23371,-2.30001,-2.25937,-1.76892,-1.71878,-2.1166,-2.0962,-2.29981,-2.22928,-1.30916,-3.02369,-2.71103,-1.13153,-1.56219,-2.16399,-2.87939,-3.58256,-1.60257,-2.10685,-3.02142,-0.289896,-0.297482,-0.199414,-0.203801,-0.454255,-0.272286,-0.305421,-0.270074,-0.181835,-0.139038,-0.265125,-0.211942,-0.166598,-0.290327,-0.21102,-0.170341,-0.112462,-0.262295,-0.253243,-0.179286,-0.250011,-0.158941,-0.282379,0.0516627 --5909.95,0.216571,0.394006,2,-0.268928,0.00659886,-2.5252,-1.96679,-2.2874,-2.34559,-2.2621,-2.40434,-1.87208,-2.21133,-1.99601,-2.26686,-2.37772,-1.38598,-2.76038,-2.98636,-1.41464,-1.39633,-1.96506,-2.83207,-3.14965,-1.47712,-2.02478,-3.08465,-0.156283,-0.31205,-0.22807,-0.389919,-0.0668755,-0.241659,-0.236772,-0.099832,-0.296632,-0.3371,-0.218065,-0.294495,-0.279664,0.368415,-0.299858,-0.280276,-0.264582,-0.129885,-0.295224,-0.248646,-0.287463,-0.352466,-0.271214,0.0812334 --5909.95,0.000657928,0.394006,2,-0.268928,0.00659886,-2.5252,-1.96679,-2.2874,-2.34559,-2.2621,-2.40434,-1.87208,-2.21133,-1.99601,-2.26686,-2.37772,-1.38598,-2.76038,-2.98636,-1.41464,-1.39633,-1.96506,-2.83207,-3.14965,-1.47712,-2.02478,-3.08465,-0.156283,-0.31205,-0.22807,-0.389919,-0.0668755,-0.241659,-0.236772,-0.099832,-0.296632,-0.3371,-0.218065,-0.294495,-0.279664,0.368415,-0.299858,-0.280276,-0.264582,-0.129885,-0.295224,-0.248646,-0.287463,-0.352466,-0.271214,0.0812334 --5909.95,0.280759,0.394006,2,-0.268928,0.00659886,-2.5252,-1.96679,-2.2874,-2.34559,-2.2621,-2.40434,-1.87208,-2.21133,-1.99601,-2.26686,-2.37772,-1.38598,-2.76038,-2.98636,-1.41464,-1.39633,-1.96506,-2.83207,-3.14965,-1.47712,-2.02478,-3.08465,-0.156283,-0.31205,-0.22807,-0.389919,-0.0668755,-0.241659,-0.236772,-0.099832,-0.296632,-0.3371,-0.218065,-0.294495,-0.279664,0.368415,-0.299858,-0.280276,-0.264582,-0.129885,-0.295224,-0.248646,-0.287463,-0.352466,-0.271214,0.0812334 --5912.29,0.114078,0.394006,2,-0.327447,0.00302052,-2.37154,-1.83664,-2.37409,-2.34039,-2.66387,-2.03123,-1.60519,-2.00448,-2.02107,-2.21026,-2.29364,-1.58014,-3.14514,-3.15793,-1.16036,-1.3959,-2.1091,-2.81664,-3.01912,-1.401,-2.18707,-2.80052,-0.371643,-0.320705,-0.354959,-0.208405,-0.433281,-0.307637,-0.39685,-0.371635,-0.317473,-0.26459,-0.313795,-0.215496,-0.32367,0.294523,-0.306686,-0.27034,-0.239954,-0.402958,-0.245974,-0.320222,-0.339595,-0.281708,-0.288821,0.0549593 --5909.22,0.123291,0.394006,2,-0.300977,0.00354976,-2.70954,-1.78755,-2.34778,-2.2893,-2.61485,-2.19483,-1.58559,-1.9841,-1.93758,-2.19547,-2.31866,-1.48611,-3.2057,-3.08695,-1.25853,-1.42092,-2.04751,-2.6941,-3.11114,-1.41945,-2.14103,-2.83418,-0.337398,-0.318393,-0.321271,-0.238219,-0.339614,-0.294687,-0.404602,-0.374386,-0.250642,-0.273551,-0.26319,-0.169783,-0.272016,0.309793,-0.306431,-0.333833,-0.193654,-0.251266,-0.292822,-0.224251,-0.343515,-0.281254,-0.439178,0.0595799 --5909.22,0.141686,0.394006,2,-0.300977,0.00354976,-2.70954,-1.78755,-2.34778,-2.2893,-2.61485,-2.19483,-1.58559,-1.9841,-1.93758,-2.19547,-2.31866,-1.48611,-3.2057,-3.08695,-1.25853,-1.42092,-2.04751,-2.6941,-3.11114,-1.41945,-2.14103,-2.83418,-0.337398,-0.318393,-0.321271,-0.238219,-0.339614,-0.294687,-0.404602,-0.374386,-0.250642,-0.273551,-0.26319,-0.169783,-0.272016,0.309793,-0.306431,-0.333833,-0.193654,-0.251266,-0.292822,-0.224251,-0.343515,-0.281254,-0.439178,0.0595799 --5920.78,0.550331,0.394006,2,-0.248225,0.0298177,-2.53081,-2.14145,-1.64868,-2.414,-2.52311,-1.76091,-1.61228,-1.99579,-1.96907,-2.15102,-2.11399,-1.4837,-2.71109,-2.83801,-1.27172,-1.3658,-1.95336,-3.31795,-3.05142,-1.6192,-2.20106,-2.71309,-0.246199,-0.333914,-0.292545,-0.313472,-0.174225,-0.0747706,-0.488632,-0.400931,-0.151634,-0.309189,-0.234976,-0.129764,-0.355801,0.114904,-0.209481,-0.359368,-0.115995,-0.236934,-0.280101,-0.179757,-0.197527,-0.542795,-0.237406,0.172678 --5911.98,0.170805,0.394006,2,-0.253598,0.00316425,-1.72351,-2.02068,-2.50622,-2.32612,-2.38747,-2.93051,-1.87842,-2.11919,-2.04281,-2.28342,-2.39557,-1.44317,-3.06583,-2.81482,-1.50336,-1.78668,-1.98799,-3.24494,-3.76456,-1.34244,-2.12187,-2.85309,-0.245179,-0.239505,-0.263682,-0.25959,-0.249453,-0.287453,-0.199484,-0.0997734,-0.314275,-0.295424,-0.290368,-0.298906,-0.203681,-0.0692572,-0.276289,-0.13061,-0.385961,-0.316005,-0.329774,-0.296196,-0.324679,-0.199693,-0.183553,0.0562516 --5919.81,1.18226e-06,0.394006,2,-0.241692,0.00941557,-2.82103,-2.67807,-2.72035,-2.42771,-2.20986,-2.48446,-1.6129,-2.09527,-1.95314,-2.20164,-2.28417,-1.77048,-2.93519,-2.61309,-1.19389,-1.62044,-2.15615,-3.25569,-3.53505,-1.73946,-2.23554,-2.76896,-0.261197,-0.00327365,-0.21441,-0.261394,-0.258839,-0.209431,-0.440701,-0.368896,-0.202953,-0.283667,-0.214509,-0.105216,-0.359823,-0.194036,-0.252287,-0.314975,0.0417315,-0.106458,-0.142155,-0.22611,-0.239636,-0.424493,-0.34123,0.0970339 --5911.79,0.861218,0.394006,2,-0.235812,0.00500409,-2.21265,-2.07649,-2.19272,-2.52128,-2.72415,-1.81781,-1.71796,-1.97539,-1.91179,-2.22727,-2.33343,-1.54796,-3.25258,-2.64427,-1.27817,-1.62886,-1.89938,-2.77707,-4.09666,-1.61021,-2.18737,-2.70166,-0.209209,-0.44729,-0.286169,-0.172812,-0.163021,-0.282767,-0.314234,-0.141048,-0.311567,-0.27047,-0.250886,-0.218319,-0.127261,-0.183608,-0.262583,-0.11259,-0.423733,-0.331035,-0.203786,-0.198199,-0.227563,-0.217966,-0.166216,0.0707396 --5906.61,0.0681062,0.394006,2,-0.274941,0.00444829,-2.07431,-2.18861,-2.34526,-2.45076,-2.60445,-1.97408,-1.68127,-2.2089,-1.84344,-2.18648,-2.32178,-1.35127,-3.37931,-2.67017,-1.24961,-1.48215,-1.81007,-2.40456,-3.48204,-1.52591,-2.1146,-2.85969,-0.428717,-0.327296,-0.351701,-0.216984,-0.273206,-0.15921,-0.27906,-0.182753,-0.279615,-0.232087,-0.150022,-0.181644,-0.298366,-0.189286,-0.333463,-0.256032,-0.358938,-0.274662,-0.316487,-0.227288,-0.280324,-0.310001,-0.28255,0.0666955 --5903.5,0.0321649,0.394006,2,-0.258987,0.00348571,-2.40986,-2.23499,-1.80104,-2.45917,-2.36473,-1.77069,-1.65267,-2.25903,-2.06098,-2.18419,-2.27145,-1.34465,-3.50635,-2.57821,-1.17029,-1.66695,-1.87474,-2.73192,-3.58132,-1.47664,-2.17751,-2.81076,-0.246577,-0.28709,-0.200746,-0.146556,-0.259872,-0.271193,-0.3956,-0.199053,-0.246664,-0.33644,-0.331617,-0.296615,-0.273643,-0.181781,-0.213089,-0.298603,-0.264307,-0.263977,-0.311634,-0.266414,-0.226918,-0.312422,-0.148727,0.0590399 --5903.63,0.413841,0.394006,1,-0.235804,0.00176418,-2.67528,-2.14831,-1.80212,-2.44806,-2.39203,-1.82566,-1.62744,-2.30563,-2.04961,-2.22134,-2.2305,-1.32204,-3.43529,-2.63478,-1.21828,-1.65818,-1.83339,-2.87561,-3.45549,-1.46274,-2.14929,-2.85054,-0.24476,-0.318625,-0.27349,-0.127131,-0.281258,-0.250168,-0.393631,-0.207713,-0.287104,-0.373669,-0.277225,-0.213925,-0.279299,-0.18274,-0.275958,-0.264667,-0.23719,-0.229048,-0.207433,-0.189914,-0.280576,-0.336088,-0.184089,0.0420021 --5905.34,1.01666e-10,0.394006,3,-0.261231,0.00246184,-2.69695,-2.73579,-1.87527,-2.31328,-2.29311,-1.8259,-1.62812,-2.13733,-2.00264,-2.23262,-2.07206,-1.28499,-3.33191,-2.64115,-1.37875,-1.517,-1.87044,-2.94913,-3.78105,-1.43523,-2.29072,-2.76279,-0.234835,-0.169341,-0.236996,-0.303731,-0.186542,-0.233989,-0.363532,-0.21855,-0.239051,-0.24044,-0.234666,-0.322369,-0.207619,-0.272875,-0.12448,-0.2175,-0.244679,-0.267082,-0.258219,-0.253214,-0.218853,-0.207872,-0.305059,0.0496169 --5905.34,0.0486161,0.394006,2,-0.261231,0.00246184,-2.69695,-2.73579,-1.87527,-2.31328,-2.29311,-1.8259,-1.62812,-2.13733,-2.00264,-2.23262,-2.07206,-1.28499,-3.33191,-2.64115,-1.37875,-1.517,-1.87044,-2.94913,-3.78105,-1.43523,-2.29072,-2.76279,-0.234835,-0.169341,-0.236996,-0.303731,-0.186542,-0.233989,-0.363532,-0.21855,-0.239051,-0.24044,-0.234666,-0.322369,-0.207619,-0.272875,-0.12448,-0.2175,-0.244679,-0.267082,-0.258219,-0.253214,-0.218853,-0.207872,-0.305059,0.0496169 --5905.34,3.69368e-17,0.394006,2,-0.261231,0.00246184,-2.69695,-2.73579,-1.87527,-2.31328,-2.29311,-1.8259,-1.62812,-2.13733,-2.00264,-2.23262,-2.07206,-1.28499,-3.33191,-2.64115,-1.37875,-1.517,-1.87044,-2.94913,-3.78105,-1.43523,-2.29072,-2.76279,-0.234835,-0.169341,-0.236996,-0.303731,-0.186542,-0.233989,-0.363532,-0.21855,-0.239051,-0.24044,-0.234666,-0.322369,-0.207619,-0.272875,-0.12448,-0.2175,-0.244679,-0.267082,-0.258219,-0.253214,-0.218853,-0.207872,-0.305059,0.0496169 --5905.34,1.51926e-08,0.394006,2,-0.261231,0.00246184,-2.69695,-2.73579,-1.87527,-2.31328,-2.29311,-1.8259,-1.62812,-2.13733,-2.00264,-2.23262,-2.07206,-1.28499,-3.33191,-2.64115,-1.37875,-1.517,-1.87044,-2.94913,-3.78105,-1.43523,-2.29072,-2.76279,-0.234835,-0.169341,-0.236996,-0.303731,-0.186542,-0.233989,-0.363532,-0.21855,-0.239051,-0.24044,-0.234666,-0.322369,-0.207619,-0.272875,-0.12448,-0.2175,-0.244679,-0.267082,-0.258219,-0.253214,-0.218853,-0.207872,-0.305059,0.0496169 --5910.92,1.39214e-14,0.394006,2,-0.231707,0.00296466,-3.23191,-2.8239,-1.84551,-2.29123,-2.19813,-2.08627,-1.61977,-2.05339,-1.97612,-2.27111,-2.06784,-1.29246,-3.27603,-2.65086,-1.38664,-1.47502,-1.96967,-2.91673,-3.6883,-1.39383,-2.25222,-2.73507,-0.251485,-0.129035,-0.214873,-0.294571,-0.173123,-0.236434,-0.329882,-0.193516,-0.266162,-0.245956,-0.306631,-0.281228,-0.330485,-0.295764,-0.267446,-0.203364,-0.212338,-0.36381,-0.243203,-0.310267,-0.163755,-0.304244,-0.236942,0.0544486 --5910.92,6.52838e-06,0.394006,3,-0.231707,0.00296466,-3.23191,-2.8239,-1.84551,-2.29123,-2.19813,-2.08627,-1.61977,-2.05339,-1.97612,-2.27111,-2.06784,-1.29246,-3.27603,-2.65086,-1.38664,-1.47502,-1.96967,-2.91673,-3.6883,-1.39383,-2.25222,-2.73507,-0.251485,-0.129035,-0.214873,-0.294571,-0.173123,-0.236434,-0.329882,-0.193516,-0.266162,-0.245956,-0.306631,-0.281228,-0.330485,-0.295764,-0.267446,-0.203364,-0.212338,-0.36381,-0.243203,-0.310267,-0.163755,-0.304244,-0.236942,0.0544486 --5905.58,3.63608e-05,0.394006,1,-0.252064,0.00649395,-2.58781,-2.19159,-2.26724,-2.4442,-2.28878,-2.26278,-1.7256,-2.24684,-2.04545,-2.27241,-2.17784,-1.53701,-2.72067,-2.67656,-1.40442,-1.49115,-1.85165,-2.8778,-3.11216,-1.6552,-2.0949,-2.9132,-0.240343,-0.302737,-0.317121,-0.255233,-0.355449,-0.304666,-0.374463,-0.283047,-0.261873,-0.310191,-0.31576,-0.22271,-0.139037,-0.0696325,-0.238568,-0.332579,-0.290828,-0.0421836,-0.264466,-0.201322,-0.251884,-0.338713,-0.306094,0.080585 --5913.44,0.305925,0.394006,2,-0.27107,0.00364592,-2.59522,-2.28813,-2.3206,-2.44337,-2.14796,-2.23726,-1.7327,-2.25005,-2.0728,-2.29714,-2.12148,-1.52744,-2.72325,-2.57412,-1.38327,-1.54253,-1.86791,-2.73079,-3.18587,-1.62505,-2.12653,-2.92168,-0.317386,-0.272505,-0.209522,-0.227695,-0.34738,-0.442042,-0.36483,-0.279082,-0.300917,-0.315543,-0.197438,-0.273961,-0.279596,-0.0716077,-0.319635,-0.295085,-0.349525,-0.0326369,-0.263321,-0.167727,-0.188187,-0.348098,-0.159777,0.0603815 --5914.43,1,0.394006,2,-0.280949,0.00907447,-2.34537,-2.19097,-2.04255,-2.44831,-2.5196,-1.62616,-1.58023,-2.1265,-1.78426,-2.26761,-2.2932,-1.59822,-2.63492,-2.85234,-1.23186,-1.67535,-1.88824,-2.94878,-3.39543,-1.4737,-2.17887,-3.21767,-0.194068,-0.243728,-0.361203,-0.229782,-0.0942538,-0.439923,-0.396789,-0.151674,-0.356256,-0.209905,-0.363429,-0.159614,-0.302534,-0.282242,-0.314797,-0.164438,-0.300145,-0.28071,-0.244855,-0.400768,-0.267482,-0.208347,-0.37584,0.09526 --5916.37,0.158917,0.394006,2,-0.28424,0.00452947,-2.41424,-2.09384,-2.17367,-2.48808,-2.55624,-1.55707,-1.60762,-2.08212,-1.78395,-2.23796,-2.2774,-1.63778,-2.71764,-2.86865,-1.18664,-1.76113,-2.01333,-2.96742,-3.33117,-1.55454,-2.23886,-3.25259,-0.177837,-0.278468,-0.268554,-0.213192,-0.101044,-0.408886,-0.484195,-0.247668,-0.290173,-0.197177,-0.308615,-0.0347921,-0.414382,-0.235367,-0.263637,-0.185183,-0.340075,-0.274237,-0.36593,-0.339472,-0.323088,-0.218321,-0.285279,0.0673013 --5916.37,0.216296,0.394006,2,-0.28424,0.00452947,-2.41424,-2.09384,-2.17367,-2.48808,-2.55624,-1.55707,-1.60762,-2.08212,-1.78395,-2.23796,-2.2774,-1.63778,-2.71764,-2.86865,-1.18664,-1.76113,-2.01333,-2.96742,-3.33117,-1.55454,-2.23886,-3.25259,-0.177837,-0.278468,-0.268554,-0.213192,-0.101044,-0.408886,-0.484195,-0.247668,-0.290173,-0.197177,-0.308615,-0.0347921,-0.414382,-0.235367,-0.263637,-0.185183,-0.340075,-0.274237,-0.36593,-0.339472,-0.323088,-0.218321,-0.285279,0.0673013 --5907.93,0.948998,0.394006,2,-0.264731,0.00625725,-2.53922,-2.157,-1.9731,-2.29912,-2.28989,-2.77389,-1.81503,-2.01241,-2.04164,-2.24196,-2.2583,-1.38784,-3.02496,-2.62699,-1.33471,-1.44212,-1.85289,-3.16511,-3.45621,-1.57387,-2.02535,-2.78319,-0.315225,-0.233436,-0.244552,-0.301477,-0.310338,-0.228604,-0.225064,-0.21324,-0.25931,-0.389138,-0.224971,-0.339774,-0.194302,-0.0475454,-0.323119,-0.133237,-0.188946,-0.247689,-0.0655712,-0.13017,-0.223902,-0.311666,-0.273432,0.0791028 --5913.99,0.335081,0.394006,2,-0.25033,0.0120926,-2.51974,-2.16164,-1.87828,-2.31709,-2.22057,-2.79626,-1.81452,-2.0393,-2.03952,-2.22953,-2.19458,-1.48519,-2.97904,-2.70001,-1.41635,-1.46846,-1.77566,-2.93324,-3.4591,-1.55554,-1.96959,-2.77492,-0.288113,-0.213412,-0.209925,-0.323041,-0.316453,-0.094113,-0.234999,-0.379616,-0.207863,-0.364117,-0.240249,-0.332404,-0.307916,-0.00650063,-0.385218,-0.136481,-0.133461,-0.19506,-0.0813952,-0.123256,-0.281656,-0.253677,-0.257933,0.109966 --5910.33,0.874212,0.394006,2,-0.292256,0.00563168,-2.00314,-2.52318,-1.49245,-2.32834,-2.42982,-2.28137,-1.71831,-2.14635,-1.81104,-2.29253,-2.33159,-1.47259,-2.72571,-2.91964,-1.24772,-1.61148,-1.94572,-2.92288,-3.0522,-1.57806,-2.11957,-2.77689,-0.198407,-0.188412,-0.331915,-0.359379,-0.140171,-0.337252,-0.310382,-0.114545,-0.318784,-0.346141,-0.275795,-0.104084,-0.224539,0.095576,-0.286472,-0.283188,-0.326953,-0.267978,-0.351277,-0.261032,-0.341583,-0.339516,-0.207167,0.0750445 --5914.81,0.48334,0.394006,2,-0.261026,0.00947192,-1.94596,-2.34015,-1.40454,-2.29904,-2.38914,-2.12985,-1.69818,-2.12898,-1.83958,-2.18441,-2.41815,-1.57435,-2.96804,-2.83279,-1.449,-1.60649,-2.17581,-2.95263,-3.22969,-1.468,-2.10185,-2.91164,-0.182453,-0.17289,-0.38976,-0.293884,-0.189273,-0.147151,-0.213798,-0.211495,-0.263887,-0.298192,-0.328278,-0.212236,-0.205296,0.103385,-0.346678,-0.361353,-0.330877,-0.300416,-0.249792,-0.224182,-0.289835,-0.463834,-0.203458,0.0973238 --5910.5,0.70858,0.394006,2,-0.263944,0.00917793,-2.28489,-2.40151,-1.52465,-2.28826,-2.45074,-2.08068,-1.76334,-1.98101,-1.86557,-2.2312,-2.33183,-1.54587,-3.03775,-2.9253,-1.37969,-1.60296,-2.10308,-3.11852,-3.03431,-1.47571,-2.08274,-2.84131,-0.151251,-0.105636,-0.378647,-0.324593,-0.224298,-0.178219,-0.203351,-0.236217,-0.268696,-0.300096,-0.318778,-0.283107,-0.186775,0.181206,-0.304074,-0.32123,-0.279408,-0.268663,-0.231183,-0.273422,-0.364682,-0.315855,-0.199803,0.0958015 --5915.22,0.42416,0.394006,2,-0.273737,0.0239593,-3.20331,-2.01153,-2.44102,-2.4943,-2.41069,-2.30026,-1.6364,-2.10371,-2.05875,-2.18409,-2.10184,-1.49225,-3.12996,-2.91333,-1.3262,-1.43941,-2.11814,-2.74401,-3.81317,-1.55202,-2.07421,-3.03493,-0.402546,-0.445754,-0.157779,-0.184505,-0.163714,-0.296416,-0.51054,-0.236458,-0.352574,-0.368068,-0.362295,-0.126428,-0.306521,0.164003,-0.223998,-0.109086,-0.0691447,-0.31687,-0.246725,-0.230301,-0.342504,-0.225664,-0.377807,0.154788 --5922.74,0.642068,0.394006,2,-0.234598,0.0164603,-3.1277,-1.92785,-1.7992,-2.34699,-2.37067,-1.97974,-1.74718,-2.0796,-2.19472,-2.18929,-2.31235,-1.43755,-3.004,-2.77453,-1.64287,-1.48506,-1.7362,-3.07697,-3.08368,-1.44543,-1.98603,-3.02894,-0.1219,-0.250701,-0.263094,-0.279532,-0.299082,-0.27447,-0.262415,-0.270245,-0.140281,-0.361638,-0.295263,-0.36006,-0.257356,-0.109319,-0.21419,-0.419484,-0.423768,-0.176464,-0.0608459,-0.493804,-0.432839,-0.311911,0.329837,0.128298 --5932.08,0.379231,0.394006,3,-0.214858,0.0324806,-1.74047,-2.43067,-2.37153,-2.52563,-2.47214,-2.53561,-1.76911,-2.18354,-1.96291,-2.22599,-2.09851,-1.87925,-3.08369,-2.77064,-1.02459,-1.41866,-1.93329,-2.92392,-3.88249,-1.21143,-2.05836,-2.70005,-0.455062,-0.267015,-0.28569,-0.114956,-0.0252546,-0.127066,-0.310165,-0.298735,-0.239313,-0.323789,-0.401862,0.455971,-0.205274,0.0645167,-0.365029,-0.0269014,-0.0971666,-0.304587,-0.272076,-0.324042,-0.511228,-0.374408,0.217199,0.180224 --5929.25,0.513244,0.394006,2,-0.173082,0.0295901,-2.63072,-1.9343,-2.31486,-2.43656,-2.46513,-1.97975,-1.57854,-2.13265,-1.92904,-2.32886,-2.54259,-1.52768,-2.67187,-2.61513,-1.53441,-1.55002,-2.03194,-3.30458,-3.21377,-1.45448,-2.12343,-3.23158,-0.424389,-0.312181,-0.0489189,-0.145777,-0.177731,-0.24961,-0.529718,-0.0344511,-0.364512,-0.24504,-0.0666703,-0.172062,-0.599899,-0.0482788,-0.311437,-0.403831,-0.301582,0.217902,0.0895579,-0.469438,-0.274426,-0.209955,-0.459834,0.172018 --5933.23,0.95439,0.394006,2,-0.229546,0.0285756,-2.37476,-1.97012,-2.50797,-2.5831,-2.42901,-2.10008,-1.66239,-2.4672,-1.97994,-2.21726,-2.35231,-1.55881,-3.06774,-2.53481,-1.34317,-1.18355,-1.77697,-3.08828,-3.60326,-1.39828,-2.15515,-2.98765,0.0272648,-0.389143,0.101913,-0.0871023,-0.109789,-0.364481,-0.393391,0.0951063,-0.178547,-0.179526,-0.0191781,-0.177624,-0.290471,-0.336584,-0.0448925,-0.293188,-0.201371,0.264783,0.112657,-0.46841,-0.372876,-0.167735,-0.130753,0.169043 --5924.5,1,0.394006,2,-0.177485,0.0234721,-2.76048,-2.07043,-2.27177,-2.42544,-2.70167,-2.26574,-1.70526,-2.22164,-2.04288,-2.35167,-2.49967,-1.29255,-3.06184,-2.86584,-1.47125,-1.55474,-2.0422,-3.47254,-3.5052,-1.5518,-2.23081,-3.13445,-0.0148452,-0.28112,-0.171466,-0.0883183,-0.0251505,-0.188127,-0.424587,0.108636,-0.425613,-0.282289,-0.141373,-0.30179,-0.278685,0.17516,-0.481943,-0.335371,-0.24524,0.136291,-0.214591,-0.241502,-0.208271,-0.236143,-0.33587,0.153206 --5922.49,0.979307,0.394006,2,-0.301291,0.0236553,-2.8611,-2.01565,-2.16638,-2.40051,-2.08101,-2.06692,-1.63623,-2.38298,-1.71962,-2.28748,-2.32204,-1.67736,-2.79573,-2.75778,-1.24482,-1.36424,-2.37643,-2.84004,-3.35257,-1.4809,-2.04148,-2.84001,-0.149966,-0.396907,-0.372151,-0.183107,-0.325372,-0.288319,-0.513967,-0.0728348,-0.506464,-0.16373,-0.193553,-0.223974,-0.363713,-0.141012,-0.34164,-0.188639,0.00688363,-0.100656,-0.39465,-0.254728,-0.273186,-0.227959,-0.53122,0.153803 --5923.93,0.807135,0.394006,2,-0.321128,0.0243791,-3.02629,-1.93863,-1.95812,-2.40841,-2.04498,-2.19672,-1.60226,-2.39352,-1.75105,-2.34986,-2.29559,-1.64395,-2.77632,-2.7709,-1.30694,-1.34595,-2.37137,-2.8397,-3.39196,-1.46162,-2.11526,-2.87159,-0.156601,-0.522544,-0.423093,-0.236844,-0.425807,-0.20654,-0.572957,-0.114323,-0.410541,-0.210631,-0.208216,-0.315177,-0.426193,0.0442827,-0.371152,-0.290258,0.0714459,-0.0477934,-0.317463,-0.265217,-0.367384,-0.324771,-0.559213,0.156138 --5928.84,0.935281,0.394006,2,-0.272304,0.022857,-2.07559,-2.07686,-2.13347,-2.50395,-2.67641,-2.54711,-1.5863,-2.31929,-2.05652,-2.23324,-2.46977,-1.47342,-3.00733,-2.71364,-1.43742,-1.51106,-2.21882,-2.84067,-3.01022,-1.61004,-2.06884,-2.9166,0.0787691,-0.561975,-0.33737,-0.105048,-0.0829938,-0.18565,-0.613162,0.340502,-0.374186,-0.254869,-0.146846,-0.155081,-0.339796,-0.140161,-0.239318,-0.227823,0.291992,-0.581446,-0.306283,-0.339757,-0.434779,-0.254648,-0.329507,0.151185 --5931.53,0.80134,0.394006,3,-0.298216,0.0300136,-2.43208,-2.38556,-2.27501,-2.25624,-2.45409,-2.39718,-1.90327,-1.77656,-1.94317,-2.20387,-2.22534,-1.45554,-3.04068,-3.00978,-1.2466,-1.4348,-1.59695,-3.12738,-3.1948,-1.55147,-2.07786,-2.70512,-0.482936,-0.265763,-0.545856,-0.40272,-0.359624,-0.317132,-0.30006,-0.47176,-0.471093,-0.45703,-0.401002,-0.190346,-0.2453,0.1635,-0.414232,-0.326968,-0.335744,-0.0334603,0.194961,-0.353506,-0.518853,-0.489899,-0.0403079,0.173244 --5942.09,0.557506,0.394006,3,-0.213796,0.0581837,-1.69418,-1.85399,-2.01891,-2.31675,-2.64127,-2.49546,-1.82517,-1.94757,-1.94672,-2.05017,-2.2431,-1.4057,-3.09733,-2.87666,-1.15745,-1.31808,-1.80574,-3.04748,-4.34473,-1.4436,-2.09048,-2.85035,-0.344858,-0.155844,-0.140579,-0.385006,-0.350574,-0.133451,-0.167002,-0.454549,-0.489508,-0.543353,-0.561763,0.0168313,-0.443514,0.0915505,-0.309526,-0.184949,-0.351275,0.33516,0.00874186,-0.277772,-0.513829,-0.608286,0.0137281,0.241213 --5927.21,0.947054,0.394006,2,-0.20854,0.0240398,-1.76305,-2.02701,-2.31936,-2.31107,-2.32871,-1.74187,-1.82273,-1.98444,-1.81199,-2.18445,-2.11603,-1.40023,-3.13546,-2.75371,-1.37827,-1.62597,-1.91347,-3.16446,-3.57276,-1.49576,-2.189,-2.81261,-0.145361,-0.433292,-0.170422,-0.232137,-0.156403,-0.295424,-0.169342,-0.343167,-0.572413,-0.405827,-0.438066,-0.113972,-0.264045,0.1814,-0.400671,-0.30804,-0.0789331,0.0598484,-0.227567,-0.186383,-0.262727,-0.755732,-0.549526,0.155048 --5920.22,0.923019,0.394006,3,-0.208706,0.0299569,-3.35685,-2.34822,-2.04061,-2.36547,-2.39932,-2.50859,-1.60485,-2.22689,-2.13324,-2.32978,-2.39141,-1.59357,-2.926,-2.61511,-1.30585,-1.47672,-2.01386,-2.62976,-3.4027,-1.2548,-2.11237,-2.81453,-0.225788,-0.140864,-0.437716,-0.218719,-0.122621,-0.222323,-0.52663,-0.0630434,-0.107353,-0.19548,0.000616364,-0.112751,-0.407808,0.049038,-0.15334,-0.236671,-0.0434339,-0.210816,-0.263509,-0.463233,-0.448077,-0.274354,-0.158069,0.173081 --5928.62,0.750752,0.394006,2,-0.2575,0.0243909,-3.66982,-2.20486,-1.94568,-2.38936,-2.36205,-2.09578,-1.73496,-2.21427,-1.90551,-2.29858,-2.36794,-1.6104,-3.04551,-2.85694,-1.1948,-1.51982,-1.8585,-2.59584,-2.87175,-1.16967,-2.08966,-2.95672,-0.564918,-0.327147,-0.444416,-0.371905,0.074308,-0.378851,-0.484819,-0.0564976,-0.0686861,-0.173999,-0.186088,-0.194492,-0.459383,0.0133806,-0.279494,-0.329715,-0.0677008,-0.198435,-0.0805674,-0.464641,-0.348339,-0.445035,-0.175396,0.156176 --5924.62,0.789103,0.394006,2,-0.25344,0.0135477,-2.45119,-2.21785,-2.1877,-2.39186,-2.44573,-2.35574,-1.60966,-2.03869,-2.09711,-2.30178,-2.43815,-1.43946,-3.15133,-2.77541,-1.56041,-1.27442,-1.97586,-2.95359,-3.19988,-1.25389,-2.08599,-2.74882,-0.206823,-0.258524,-0.772602,-0.197021,-0.121264,-0.0332765,-0.356811,-0.126058,-0.0568542,-0.348073,-0.108135,-0.12646,-0.0728385,0.00133251,-0.262132,-0.468353,-0.233648,-0.169289,-0.360877,-0.61534,-0.411643,-0.514411,-0.248999,0.116395 --5928.46,0.81019,0.394006,3,-0.270072,0.0311467,-2.30753,-2.22223,-1.60125,-2.37939,-2.47307,-1.64883,-1.75886,-2.27939,-2.00038,-2.08277,-2.05532,-1.51636,-2.71904,-2.85265,-1.17819,-1.65072,-2.13546,-2.85033,-3.61892,-1.4364,-2.22236,-2.85011,-0.17596,-0.23991,-0.317478,-0.284209,-0.0909953,-1.12194,-0.473928,-0.00551813,-0.368897,-0.351968,-0.528972,-0.267562,-0.592135,0.226518,-0.182139,-0.125092,-0.134147,-0.227941,0.0193299,-0.27308,-0.293387,-0.481651,-0.0392085,0.176484 --5931.99,0.860481,0.394006,2,-0.382227,0.0266652,-2.12181,-2.01568,-1.75929,-2.24627,-2.43471,-2.05273,-1.66274,-2.417,-1.76781,-2.32606,-2.3324,-1.52586,-3.03546,-2.88309,-1.62483,-1.58031,-1.95677,-3.27841,-2.65326,-1.45974,-2.10317,-2.84686,-0.463549,-0.454355,-0.577613,-0.428987,-0.389041,-0.281666,-0.287533,0.205587,-0.327344,-0.347874,-0.208579,-0.183646,-0.112587,-0.0133965,-0.442298,-0.188851,-0.351396,-0.333066,-0.760069,-0.352952,-0.379893,-0.277494,-0.606772,0.163295 --5930.94,0.576405,0.394006,3,-0.161799,0.078429,-2.71421,-2.08126,-2.26956,-2.54744,-2.65899,-2.02795,-1.67781,-2.00627,-2.01128,-2.23949,-2.34369,-1.59955,-2.80198,-2.96742,-1.349,-1.68133,-2.18032,-2.86744,-3.90131,-1.49826,-2.13664,-2.76107,-0.0360928,-0.551831,-0.183245,-0.0891587,0.159074,-0.343332,-0.418,-0.407655,-0.170108,-0.341709,-0.425443,-0.0559757,-0.237007,0.102062,-0.419987,0.384847,-0.214059,-0.114892,0.164005,-0.126303,-0.576485,-0.657094,-0.0541707,0.280052 --5939.94,0.840672,0.394006,3,-0.379751,0.14643,-1.93924,-1.85007,-1.87457,-2.50378,-2.38101,-2.30117,-1.72755,-2.01415,-2.02298,-2.31166,-2.08488,-1.81848,-3.19626,-2.72367,-1.26337,-1.86033,-1.95253,-3.25845,-3.67787,-1.44742,-2.01808,-2.68799,-0.34871,-0.69924,-0.421114,-0.0142642,-0.131464,-0.211216,-0.393862,-0.190666,-0.237047,-0.186455,-0.333548,0.447303,-0.411918,0.0501488,-0.268757,0.0391077,0.000814611,0.0266798,0.127801,-0.570874,-0.338047,-0.702732,0.00754412,0.382662 --5931.51,0.870875,0.394006,3,-0.12727,0.0415475,-2.64863,-2.10951,-2.48298,-2.36862,-2.38246,-1.91879,-1.64173,-2.08711,-1.89843,-2.07454,-2.4181,-1.85821,-2.9667,-2.82806,-1.38043,-1.86718,-2.1211,-2.84551,-3.30267,-1.4236,-2.05261,-3.0278,-0.0734113,-0.0779461,-0.0177719,-0.383357,-0.168073,-0.178878,-0.513863,-0.0506583,-0.388227,-0.41322,-0.0726983,0.294575,-0.281881,0.127492,-0.146297,0.0923987,-0.185418,-0.307312,-0.19173,-0.174747,-0.333365,0.149315,-0.597213,0.203832 --5927.96,0.900019,0.394006,2,-0.218439,0.0638186,-2.606,-2.48752,-1.67271,-2.36935,-2.55903,-2.32786,-1.58545,-2.19807,-1.87632,-2.27752,-2.40401,-1.68457,-2.73721,-2.89018,-1.44395,-1.4008,-2.2056,-2.67455,-3.15179,-1.58196,-2.04681,-3.03694,-0.269556,-0.0485362,-0.307845,-0.199408,0.0407441,-0.240925,-0.498254,-0.241083,-0.237658,-0.357216,-0.0864198,0.21487,-0.311102,0.118138,-0.10635,-0.0588029,0.268917,-0.268277,-0.467889,-0.129326,-0.408296,-0.320382,-0.769916,0.252623 --5925.18,0.996264,0.394006,3,-0.1658,0.00938463,-2.12764,-1.97822,-2.66241,-2.39608,-2.2983,-2.35722,-1.63659,-2.1492,-2.23671,-2.30389,-2.34,-1.48703,-2.98466,-2.77922,-1.31208,-1.61552,-2.46999,-3.09224,-3.27414,-1.45133,-2.04133,-2.81081,-0.154397,-0.378786,-0.15289,-0.348149,-0.170661,-0.245365,-0.572096,-0.0249433,-0.0372287,-0.128924,-0.209705,-0.244787,-0.434951,0.0758792,-0.187085,-0.223197,-0.211967,-0.107456,-0.291491,-0.414196,-0.52671,-0.286939,-0.0184045,0.0968743 --5930.4,1,0.394006,3,-0.362757,0.0175595,-2.50279,-2.14223,-1.77379,-2.37133,-2.35841,-1.98406,-1.58065,-1.96593,-1.61525,-2.14102,-2.33044,-1.46991,-3.35067,-2.56883,-1.4972,-1.40948,-1.95487,-2.77726,-3.25566,-1.49386,-2.0955,-2.98179,-0.446002,-0.344769,-0.468739,-0.177502,-0.455194,-0.3497,-0.463667,-0.472918,-0.63995,-0.529038,-0.279303,-0.183063,0.166856,-0.27018,-0.366909,-0.278548,0.0431166,-0.480097,-0.295885,-0.0263003,-0.288966,-0.435428,-0.615026,0.132512 --5930.28,0.793779,0.394006,2,-0.202385,0.0495773,-2.07206,-1.92177,-2.50276,-2.42539,-2.38249,-2.20195,-1.61198,-2.33076,-1.99889,-2.26517,-2.10974,-1.30183,-3.0226,-2.99932,-1.13047,-1.43871,-2.44176,-2.93454,-3.63216,-1.57917,-2.20177,-2.69974,-0.251361,-0.478464,0.0824564,-0.352515,-0.0115308,-0.381068,-0.623381,0.212801,-0.329953,-0.335326,-0.441453,-0.420373,-0.182459,0.175823,-0.282172,-0.351749,0.00900468,-0.109675,-0.272526,-0.321172,-0.439348,-0.405981,0.105699,0.22266 --5928.24,0.919886,0.394006,3,-0.332923,0.0336859,-2.23065,-2.20436,-1.83727,-2.46598,-2.31836,-2.02696,-1.77251,-1.86808,-1.90705,-2.25054,-2.39097,-1.5264,-2.76447,-2.74802,-1.35806,-1.46705,-1.97253,-2.75754,-3.64788,-1.36851,-2.20932,-3.08141,-0.299862,-0.528593,-0.701287,-0.307555,-0.263109,-0.279714,-0.402954,-0.457796,-0.642428,-0.383402,-0.102352,0.0871266,-0.492373,-0.0653364,-0.24597,-0.0291275,-0.43647,-0.245461,-0.0090661,-0.383297,-0.6165,-0.437482,-0.644895,0.183537 --5930.94,0.826813,0.394006,3,-0.201812,0.0438772,-2.46431,-2.18563,-2.46185,-2.16906,-2.36848,-2.20433,-1.57964,-2.29897,-1.99,-2.22297,-2.29622,-1.33445,-3.11871,-2.80241,-1.33659,-1.6545,-2.00193,-2.96283,-3.10686,-1.56504,-2.07766,-2.92158,-0.274315,-0.241793,0.0585516,-0.30159,-0.103922,-0.245394,-0.494807,-0.0452352,0.0411244,-0.264178,-0.334558,-0.467796,-0.149,-0.0949515,-0.482414,-0.374392,-0.217942,-0.289461,-0.400008,-0.262926,-0.277923,-0.658858,0.0164394,0.209469 --5931.97,0.905209,0.394006,2,-0.286537,0.0259467,-1.75181,-2.38893,-2.01556,-2.44489,-2.76588,-3.16616,-1.62107,-2.03265,-2.19863,-2.20473,-2.13769,-1.33564,-2.95169,-2.88296,-1.03725,-1.18459,-2.0097,-2.61835,-3.37208,-1.4881,-2.14169,-2.94777,-0.234574,-0.23361,-0.456776,-0.379045,0.0199503,-0.331937,-0.569794,-0.237677,-0.349336,-0.388525,-0.354607,-0.255628,-0.22875,0.264827,-0.633927,-0.195303,-0.0442921,-0.320799,-0.0334935,-0.276068,-0.375386,-0.04781,-0.396458,0.16108 --5927.53,0.984558,0.394006,2,-0.349404,0.0315615,-2.7754,-2.06465,-2.10967,-2.38109,-2.64423,-2.57971,-1.51597,-2.2022,-1.95223,-2.19634,-2.28214,-1.27298,-3.19099,-3.04719,-1.03723,-1.43952,-1.87912,-2.94363,-3.00237,-1.45773,-2.12191,-2.86756,-0.317684,-0.252836,-0.668712,-0.342139,0.159598,-0.172085,-0.572404,-0.149362,-0.422908,-0.315329,-0.362007,-0.236166,-0.358596,0.257279,-0.833624,-0.272667,-0.307543,-0.517167,-0.0207882,-0.216861,-0.325043,-0.407247,-0.52341,0.177656 --5927.06,0.614072,0.394006,2,-0.295832,0.0332484,-1.77587,-2.15484,-2.36753,-2.39836,-2.39225,-2.1942,-1.63713,-2.26872,-2.10692,-2.22744,-2.34031,-1.56776,-2.88019,-2.60908,-1.44071,-1.74066,-1.89517,-2.78822,-4.04972,-1.55361,-1.96481,-2.84199,-0.439329,-0.483675,-0.0704042,-0.255739,-0.318232,-0.190432,-0.589139,0.0507329,-0.00500861,-0.325673,-0.196516,-0.293788,-0.245371,-0.170235,-0.10508,-0.111919,-0.268538,-0.0652695,-0.720254,-0.334302,-0.5776,-0.425338,-0.260172,0.182341 --5926.19,0.920924,0.394006,2,-0.285266,0.0209369,-3.11275,-1.88475,-1.98485,-2.47902,-2.25833,-2.76582,-1.58298,-2.08073,-1.97851,-2.30119,-2.33356,-1.20545,-2.95457,-2.83296,-1.25336,-1.51218,-1.94655,-2.75788,-3.27944,-1.43759,-1.99536,-2.59087,-0.295265,-0.431763,-0.378396,-0.176908,-0.377109,-0.278721,-0.418245,-0.213612,-0.196306,-0.269283,-0.453539,-0.15804,-0.218433,0.0940563,-0.387643,-0.149741,-0.305317,-0.754152,-0.454521,-0.309381,-0.526853,-0.57127,-0.0980775,0.144696 --5919.94,0.917537,0.394006,2,-0.395659,0.00690564,-1.54732,-2.1654,-2.33764,-2.18662,-2.39522,-2.21178,-1.72125,-2.07891,-1.77456,-2.16879,-2.22051,-1.57301,-2.86343,-2.54479,-1.53443,-1.57838,-1.82934,-2.78978,-3.20812,-1.29811,-2.12248,-3.07517,-0.295459,-0.296619,-0.342793,-0.444133,-0.428657,-0.395065,-0.418618,-0.376338,-0.469965,-0.466107,-0.227885,-0.382433,-0.531719,-0.367802,-0.284647,-0.3762,-0.414915,-0.124645,-0.440083,-0.438747,-0.45687,-0.262095,-0.601222,0.0831002 --5919.27,0.547055,0.394006,3,-0.382793,0.0056818,-1.41816,-2.3667,-2.35595,-2.26024,-2.42922,-1.76811,-1.63195,-1.91077,-1.95843,-2.16612,-2.25501,-1.61167,-3.00584,-2.60278,-1.41813,-1.52416,-1.94402,-2.49031,-3.23087,-1.27551,-2.08812,-3.08989,-0.462986,-0.469607,-0.664015,-0.431879,-0.249341,-0.371563,-0.511185,-0.378885,-0.304468,-0.524927,-0.218307,-0.318467,-0.43332,-0.370056,-0.285084,-0.32634,-0.322378,-0.437076,-0.321501,-0.427017,-0.41296,-0.307591,-0.288702,0.0753777 --5918.95,0.738047,0.394006,2,-0.359218,0.00616903,-2.98478,-1.997,-2.31218,-2.46352,-2.07135,-2.60721,-1.75426,-2.08844,-1.81066,-2.08709,-2.39265,-1.46348,-2.82822,-2.68945,-1.43672,-1.28352,-1.76989,-2.87558,-3.18598,-1.40986,-2.20881,-2.5259,-0.180648,-0.305771,-0.181834,-0.186474,-0.453663,-0.3017,-0.281429,-0.282431,-0.440101,-0.334454,-0.308093,-0.307013,-0.351838,-0.0815671,-0.406827,-0.374566,-0.398488,-0.24003,-0.368387,-0.266024,-0.360477,-0.500579,-0.435743,0.0785431 --5916.06,0.915256,0.394006,2,-0.339293,0.00581745,-2.98637,-2.07502,-2.26127,-2.49098,-2.11056,-2.26315,-1.71007,-2.0138,-1.73875,-2.0952,-2.28596,-1.42755,-2.9779,-2.62899,-1.29154,-1.30339,-1.69246,-2.74766,-3.26781,-1.37098,-2.08515,-2.52435,-0.204916,-0.251174,-0.316135,-0.173986,-0.413632,-0.35111,-0.22915,-0.280215,-0.442843,-0.343059,-0.300955,-0.279191,-0.325815,-0.109787,-0.302234,-0.394402,-0.386295,-0.428045,-0.373947,-0.313217,-0.400721,-0.529288,-0.474102,0.0762722 --5916.66,0.379062,0.394006,3,-0.184889,0.00939888,-2.13378,-1.77029,-2.04444,-2.30263,-2.73306,-2.22886,-1.65191,-2.02592,-1.97856,-2.24527,-2.40064,-1.56109,-2.80253,-2.96536,-1.50729,-1.53666,-2.18506,-2.87138,-3.33532,-1.54591,-2.04015,-2.93273,-0.134809,-0.166363,-0.348338,-0.326229,-0.0858316,-0.157052,-0.355623,-0.228092,-0.332935,-0.170158,-0.165967,-0.128609,-0.293254,-0.000215418,-0.187702,-0.237322,0.180038,-0.204834,-0.154403,-0.19938,-0.217561,-0.313426,-0.505373,0.0969478 --5924.74,0.703303,0.394006,2,-0.275078,0.0228708,-2.26731,-2.31884,-1.74278,-2.41148,-2.72565,-2.41284,-1.77736,-2.33502,-1.95811,-2.30848,-2.52958,-1.74714,-3.09337,-2.91248,-1.15052,-1.56353,-2.19534,-3.07784,-3.59776,-1.44421,-2.07818,-2.81472,-0.314975,-0.451304,-0.580621,-0.228102,0.0307076,-0.31054,-0.26038,-0.0531221,-0.156517,-0.285887,-0.00608874,-0.0666885,-0.235035,0.0469262,-0.360268,0.00551162,-0.406533,-0.195682,-0.276354,-0.272603,-0.464132,-0.369408,-0.118874,0.151231 --5931.23,0.955474,0.394006,2,-0.220896,0.05077,-2.32373,-1.92508,-2.18051,-2.40866,-2.39556,-2.05832,-1.82687,-2.0852,-1.9418,-2.25539,-2.2347,-1.57579,-2.9197,-2.73639,-1.15759,-1.85665,-1.94016,-3.00391,-2.99052,-1.55968,-2.06818,-2.69373,-0.657539,-0.274849,-0.172825,-0.211758,0.0583614,-0.311499,-0.317042,-0.0810959,-0.394163,-0.190988,-0.294377,0.253137,-0.492397,0.0873805,-0.517543,0.108565,-0.00461379,0.237436,-0.157017,-0.311493,-0.4249,-0.673986,0.267672,0.225322 --5931.23,0.713956,0.394006,3,-0.220896,0.05077,-2.32373,-1.92508,-2.18051,-2.40866,-2.39556,-2.05832,-1.82687,-2.0852,-1.9418,-2.25539,-2.2347,-1.57579,-2.9197,-2.73639,-1.15759,-1.85665,-1.94016,-3.00391,-2.99052,-1.55968,-2.06818,-2.69373,-0.657539,-0.274849,-0.172825,-0.211758,0.0583614,-0.311499,-0.317042,-0.0810959,-0.394163,-0.190988,-0.294377,0.253137,-0.492397,0.0873805,-0.517543,0.108565,-0.00461379,0.237436,-0.157017,-0.311493,-0.4249,-0.673986,0.267672,0.225322 --5931.17,0.887415,0.394006,3,-0.275251,0.0485502,-2.91049,-2.00385,-2.4201,-2.38242,-2.3811,-2.13403,-1.57577,-2.09177,-2.01538,-2.20883,-2.42,-1.19603,-3.13911,-3.14065,-1.57109,-1.44304,-1.97953,-2.8135,-3.39079,-1.55761,-2.1653,-2.77579,0.215154,-0.265059,-0.498605,-0.277986,-0.00428667,-0.138239,-0.575412,-0.199887,-0.356,-0.41351,-0.138982,-0.357366,-0.241108,0.540562,0.00686405,-0.525775,-0.0456757,-0.213634,0.347795,-0.107438,-0.378666,-0.350816,-0.647481,0.220341 --5924.53,0.995236,0.394006,3,-0.178303,0.0234803,-1.94034,-2.33852,-1.91029,-2.41047,-2.49318,-2.21918,-1.8265,-2.06441,-1.95305,-2.34802,-2.39681,-1.58581,-2.96557,-2.70724,-1.20312,-1.37024,-2.24773,-3.03284,-4.22313,-1.41166,-2.01163,-2.90599,-0.476446,-0.354406,-0.0142981,-0.180537,-0.209142,-0.274711,-0.236312,-0.0881672,-0.172143,-0.204673,-0.0330848,-0.0411082,-0.137569,-0.097769,-0.486646,-0.03912,-0.0670546,-0.0942755,0.282126,-0.413702,-0.361746,-0.338519,0.0959612,0.153233 --5926.04,0.840594,0.394006,3,-0.224844,0.0178615,-2.03071,-2.2223,-2.57015,-2.41303,-2.58562,-2.16114,-1.68397,-2.22497,-2.07325,-2.18122,-2.55152,-1.47968,-2.8905,-2.81347,-1.15581,-1.51785,-1.77835,-2.409,-3.585,-1.46667,-2.29191,-3.1389,-0.356586,-0.0229949,-0.348553,-0.27776,0.114273,-0.145628,-0.355464,-0.202692,-0.205734,-0.292407,-0.206742,-0.135698,-0.347843,0.0204754,-0.657054,-0.472258,-0.17383,-0.331495,-0.014102,-0.253496,-0.185742,-0.141841,-0.405525,0.133647 --5933.82,0.865919,0.394006,2,-0.184968,0.0592264,-3.30313,-2.19072,-1.8123,-2.42297,-2.21231,-2.28733,-1.70589,-2.06613,-1.8573,-2.2702,-2.25858,-1.43111,-3.15379,-2.88868,-1.53244,-1.51224,-2.08281,-3.53703,-3.51969,-1.53939,-2.00379,-2.63046,0.70619,-0.427138,-0.173434,-0.157815,-0.536082,-0.250256,-0.321389,-0.162653,-0.25003,-0.188649,-0.012974,-0.250262,-0.289766,0.280343,0.0593487,-0.00876419,-0.241096,-0.184329,-0.389669,-0.258046,-0.299221,-0.441224,-0.0377652,0.243365 --5931.79,0.987557,0.394006,3,-0.167716,0.0486309,-2.63841,-2.19031,-2.38529,-2.4816,-2.81018,-2.2067,-1.67565,-2.20592,-2.07562,-2.27066,-2.3826,-1.67418,-2.7098,-2.67519,-1.20265,-1.44144,-1.98415,-2.55756,-3.62695,-1.50623,-2.31715,-2.98248,0.2426,0.077144,-0.231099,-0.220741,0.108002,-0.115152,-0.348448,-0.0812743,-0.178052,-0.385401,-0.353788,0.0580269,-0.329338,-0.00969451,-0.59172,-0.306986,-0.0191283,-0.299478,0.221853,0.069804,-0.352158,-0.431774,-0.46278,0.220524 --5925.72,0.790754,0.394006,2,-0.150291,0.0242247,-2.52296,-2.64006,-2.11383,-2.52099,-2.13386,-2.27912,-1.66963,-2.24395,-2.08069,-2.14698,-2.09771,-1.38826,-2.95273,-2.87805,-1.07927,-1.61527,-2.0485,-2.75868,-3.71724,-1.51858,-1.97458,-2.73096,-0.393832,-0.0103128,-0.176158,-0.00921125,-0.167313,-0.00533196,-0.527231,-0.026066,-0.0875678,-0.284426,-0.390471,-0.135347,-0.263587,0.0379815,-0.472613,-0.0775931,-0.199332,-0.235615,-0.168379,-0.215629,-0.336245,-0.24568,0.057589,0.155643 --5920.01,0.888183,0.394006,2,-0.252177,0.0123236,-2.42179,-2.25975,-1.95747,-2.4575,-2.25435,-1.99589,-1.6566,-2.14461,-1.95263,-2.34036,-2.23227,-1.50663,-3.223,-2.98901,-1.19252,-1.2818,-2.06327,-2.85965,-3.71806,-1.31636,-2.01875,-2.89161,-0.234813,-0.132117,-0.463491,-0.215894,-0.302625,0.0341307,-0.47241,-0.244855,-0.425496,-0.220133,-0.246047,-0.181202,-0.0958909,0.263668,-0.155978,-0.33164,-0.161031,-0.185473,0.0812184,-0.283058,-0.588688,-0.285047,-0.371925,0.111011 --5920.16,0.738282,0.394006,3,-0.24558,0.012334,-2.52045,-2.35581,-2.36678,-2.35302,-2.59497,-1.95339,-1.7401,-2.16995,-1.99827,-2.15068,-2.29602,-1.4355,-2.64197,-2.65268,-1.27165,-1.52092,-1.89488,-2.78147,-3.04249,-1.37233,-2.1796,-2.80023,-0.394438,-0.610958,-0.303449,-0.34428,-0.100896,-0.474284,-0.390163,-0.207508,-0.314093,-0.460369,-0.259239,-0.26626,-0.351624,-0.236571,-0.325091,-0.0318239,-0.313678,0.0162499,-0.525471,-0.207869,-0.253429,-0.301827,-0.114848,0.111059 --5930.29,0.730099,0.394006,2,-0.283021,0.0318473,-2.65623,-2.18721,-2.72783,-2.41227,-2.65036,-2.23124,-1.62439,-2.14555,-1.89473,-2.15432,-2.34986,-1.53405,-2.69373,-2.63195,-1.17192,-1.6287,-1.70751,-2.49592,-2.89821,-1.41895,-2.38277,-2.94475,-0.227305,-0.690199,-0.344438,-0.215804,-0.0926888,-0.472734,-0.422525,-0.313003,-0.111185,-0.310286,-0.351543,-0.180362,-0.216183,-0.0734561,-0.224363,-0.188949,-0.314141,-0.122626,-0.599429,-0.277443,-0.0977402,-0.374921,0.0153718,0.178458 --5934.23,0.811241,0.394006,2,-0.310971,0.0313233,-1.92531,-1.86478,-1.9163,-2.31862,-2.39831,-1.95711,-1.52101,-1.97084,-2.1474,-2.32406,-2.18672,-1.56657,-2.93908,-2.78866,-1.24322,-1.55324,-2.08343,-2.70027,-3.90954,-1.32256,-2.13879,-2.99684,-0.360996,-0.436142,-0.291436,-0.395327,0.123864,-0.209033,-0.698525,-0.212941,-0.376588,-0.292267,-0.260621,0.00388104,-0.56085,-0.124163,-0.56724,0.0993349,-0.206819,-0.995543,0.0670163,-0.426374,-0.417216,-0.259465,-0.0978135,0.176984 --5934.21,0.996146,0.394006,3,-0.267404,0.0234053,-2.88504,-2.29464,-2.24849,-2.53904,-2.05673,-2.0254,-1.80378,-2.1201,-1.94652,-2.22784,-2.2532,-1.32998,-3.11114,-2.92157,-1.31651,-1.32233,-2.14551,-3.47141,-3.60278,-1.70426,-2.16962,-2.67395,-0.183592,-0.214178,-0.270725,-0.178016,-0.372381,-0.243125,-0.187456,-0.0551297,-0.442952,-0.413684,-0.1172,-0.282296,-0.271008,0.027765,-0.0769604,-0.393293,-0.408454,0.432514,0.466268,-0.226306,-0.431688,-0.376463,-0.495884,0.152988 --5933.91,0.991088,0.394006,2,-0.18356,0.0526284,-2.41421,-2.60087,-2.12637,-2.45714,-2.10765,-2.44841,-1.6679,-2.41337,-1.98724,-2.19808,-2.42191,-1.48303,-2.85384,-2.95938,-1.50565,-1.24436,-1.96068,-3.29438,-3.42597,-1.83077,-2.1694,-2.7227,-0.128176,-0.341648,-0.130085,-0.275482,-0.312261,-0.166337,-0.342809,0.112035,-0.541792,-0.446707,-0.150214,-0.207972,-0.385956,0.334063,-0.247916,-0.231415,-0.321537,0.569543,0.313014,-0.176285,-0.333624,-0.556344,-0.222563,0.229409 --5937.3,0.861327,0.394006,2,-0.218408,0.0370762,-2.20022,-2.21311,-2.4174,-2.32991,-2.45236,-2.15196,-1.71396,-2.51095,-1.56018,-2.09674,-2.3733,-1.55466,-2.9872,-2.75434,-1.31383,-1.53334,-1.78032,-3.70484,-4.15475,-1.583,-2.21377,-2.89909,-0.107319,-0.126314,-0.280457,-0.213969,-0.127211,-0.164273,-0.599083,0.314691,-0.364831,-0.332014,-0.180462,0.145751,-0.294422,-0.149079,-0.484243,-0.0482561,-0.55141,0.277886,0.299254,-0.152208,-0.203486,-0.40403,-0.220654,0.192552 --5932.82,0.995147,0.394006,2,-0.122634,0.0423482,-3.05873,-2.12775,-2.07523,-2.48165,-2.49727,-2.06569,-1.63443,-2.20801,-2.05639,-2.21631,-2.18657,-1.65176,-2.97681,-2.81301,-1.29009,-1.70963,-1.65825,-3.21036,-3.28469,-1.29566,-2.00102,-2.94956,-0.406804,-0.23859,-0.293871,-0.215779,0.0830494,-0.221344,-0.351676,-0.0238843,-0.438961,-0.501076,-0.260982,-0.142717,-0.141206,0.208069,-0.325246,-0.0319272,-0.243567,0.47526,0.389889,-0.184243,-0.503985,-0.351518,-0.371475,0.205787 --5933.66,0.937339,0.394006,2,-0.214213,0.0364972,-3.03935,-2.31349,-2.40086,-2.4995,-2.70657,-1.9568,-1.71348,-2.11533,-1.82377,-2.12706,-2.32115,-1.49764,-3.44645,-2.76929,-1.16112,-1.67798,-1.7682,-3.3596,-3.75831,-1.56789,-2.05553,-3.05615,-0.215266,-0.159653,-0.238786,-0.243281,0.216639,-0.15418,-0.366354,0.0679871,-0.250528,-0.277924,-0.263501,0.138598,-0.235946,-0.0916883,-0.18161,-0.0083876,-0.304774,0.380665,0.360933,-0.325741,-0.584771,-0.368909,-0.0509534,0.191042 --5924.98,0.99252,0.394006,3,-0.370478,0.00792516,-2.63078,-2.22871,-1.79069,-2.38772,-2.17465,-2.3522,-1.62661,-1.90606,-1.98031,-2.25735,-2.32653,-1.49089,-2.92811,-3.02323,-1.35941,-1.29695,-2.3459,-2.64679,-3.07768,-1.37879,-2.25286,-2.92402,-0.26233,-0.430393,-0.411426,-0.326696,-0.366558,-0.236644,-0.566985,-0.193219,-0.369394,-0.147744,-0.192502,-0.344343,-0.476388,0.241767,-0.170968,-0.300522,-0.159674,-0.441187,-0.492504,-0.192581,-0.248602,-0.413971,-0.332414,0.0890234 --5924.36,0.809371,0.394006,2,-0.275069,0.0171079,-2.07638,-2.11037,-2.19233,-2.36094,-2.63085,-2.44839,-1.73369,-2.13307,-2.0277,-2.28147,-2.27887,-1.57087,-3.14268,-2.89168,-1.30608,-1.40525,-1.84689,-3.11472,-4.35479,-1.57908,-2.02209,-2.9047,-0.354976,-0.245753,-0.148148,-0.271193,-0.135977,-0.315933,-0.234619,-0.412148,-0.174372,-0.384545,-0.343163,-0.041679,-0.10546,0.173139,-0.430303,-0.439368,-0.267761,-0.0599816,0.0536257,-0.346459,-0.494098,-0.420456,-0.611766,0.130797 --5928.53,0.842104,0.394006,2,-0.249236,0.0298762,-2.11768,-2.38789,-1.87688,-2.59587,-2.29902,-2.62119,-1.72584,-2.25725,-2.04477,-2.20473,-2.3493,-1.58009,-2.72344,-2.99963,-1.38566,-1.4377,-1.78316,-2.49453,-3.55812,-1.48335,-1.88737,-3.03368,-0.362129,-0.301435,-0.335349,-0.157714,-0.0221777,-0.318792,-0.354621,-0.188051,-0.197571,-0.224953,-0.466141,-0.0414434,-0.483236,0.208466,-0.250714,-0.0817955,-0.0994601,-0.277924,0.100681,-0.3548,-0.514558,-0.51955,-0.38826,0.172847 --5914.93,0.979166,0.394006,2,-0.242417,0.0143321,-2.32889,-2.02812,-2.07149,-2.42347,-2.35871,-2.32736,-1.75294,-2.10264,-1.84089,-2.2557,-2.25042,-1.50683,-2.58459,-2.7943,-1.40397,-1.5959,-2.04617,-3.09828,-3.52991,-1.53364,-2.15403,-2.99756,-0.161675,-0.290932,-0.468388,-0.213575,-0.335314,-0.1027,-0.32149,-0.137192,-0.381863,-0.321296,-0.353699,-0.162279,-0.437618,-0.112542,-0.263512,-0.121193,-0.314731,-0.148312,-0.167368,-0.0869163,-0.336439,-0.055273,-0.592007,0.119717 --5914.93,0.359262,0.394006,2,-0.242417,0.0143321,-2.32889,-2.02812,-2.07149,-2.42347,-2.35871,-2.32736,-1.75294,-2.10264,-1.84089,-2.2557,-2.25042,-1.50683,-2.58459,-2.7943,-1.40397,-1.5959,-2.04617,-3.09828,-3.52991,-1.53364,-2.15403,-2.99756,-0.161675,-0.290932,-0.468388,-0.213575,-0.335314,-0.1027,-0.32149,-0.137192,-0.381863,-0.321296,-0.353699,-0.162279,-0.437618,-0.112542,-0.263512,-0.121193,-0.314731,-0.148312,-0.167368,-0.0869163,-0.336439,-0.055273,-0.592007,0.119717 --5925.29,0.604885,0.394006,2,-0.295338,0.0371766,-2.19708,-2.11686,-2.02835,-2.32309,-2.44837,-2.22691,-1.58859,-1.99011,-1.99287,-2.27114,-2.06866,-1.4676,-3.21156,-2.80246,-1.15336,-1.39557,-1.82536,-2.95556,-3.8622,-1.75233,-2.09271,-2.65527,-0.273684,-0.316692,-0.488067,-0.321466,0.00908302,-0.215722,-0.518496,-0.321252,-0.22418,-0.195001,-0.669696,-0.134041,-0.164187,0.21057,-0.380963,-0.419695,-0.182001,-0.310726,-0.264515,-0.261098,-0.442948,-0.629695,-0.648356,0.192812 --5914.67,1,0.394006,2,-0.313193,0.0120793,-2.11196,-2.03915,-1.7363,-2.39679,-2.54072,-2.12181,-1.72556,-2.18954,-1.82784,-2.22895,-2.15193,-1.46221,-2.97003,-2.90196,-1.36603,-1.51142,-2.09681,-3.06012,-2.97254,-1.32092,-2.10371,-2.83826,-0.272047,-0.378934,-0.223939,-0.296712,-0.104161,-0.536979,-0.375036,-0.164297,-0.491172,-0.379536,-0.356935,-0.298592,-0.238243,-0.023882,-0.306222,-0.0116497,-0.320536,-0.204151,-0.314666,-0.20723,-0.318622,-0.51037,-0.153409,0.109906 --5916.85,0.819737,0.394006,2,-0.40899,0.00802305,-2.33906,-2.17151,-2.30129,-2.27253,-2.26084,-2.51775,-1.65025,-1.97109,-1.85161,-2.17499,-2.4506,-1.57548,-3.07042,-2.56139,-1.24056,-1.3963,-1.91673,-2.68955,-3.78403,-1.55785,-2.00923,-2.79849,-0.382126,-0.360597,-0.446723,-0.380359,-0.378704,-0.14103,-0.458905,-0.328483,-0.309715,-0.395274,-0.236823,-0.109826,-0.400895,-0.340107,-0.351253,-0.541376,-0.20722,-0.341,-0.363152,-0.428547,-0.453794,-0.393702,-0.695313,0.0895715 --5917.02,0.695924,0.394006,2,-0.277051,0.00780074,-2.28658,-2.20283,-2.09645,-2.42256,-2.396,-2.0876,-1.79056,-2.02358,-1.82993,-2.23468,-2.23541,-1.37321,-2.81134,-2.81072,-1.36992,-1.60583,-1.71606,-2.98522,-3.16226,-1.3051,-2.20295,-2.9708,-0.219552,-0.496703,-0.353538,-0.244912,-0.178649,-0.532619,-0.56332,-0.0903773,-0.440737,-0.285686,-0.298499,-0.315408,-0.329881,-0.0379637,-0.258841,-0.0214383,-0.326605,-0.154513,-0.302662,-0.284899,-0.297248,-0.368423,-0.085626,0.0883218 --5926.2,0.735876,0.394006,2,-0.292222,0.0163691,-3.09324,-2.33101,-2.5296,-2.37278,-2.28225,-2.09409,-1.64707,-2.36125,-1.92077,-2.17438,-2.16166,-1.40919,-2.85333,-2.81671,-1.19552,-1.60049,-2.03376,-3.29159,-3.21455,-1.55879,-1.99724,-2.75392,0.0282656,-0.146077,-0.285651,-0.229012,-0.327492,-0.39712,-0.181823,-0.181699,-0.431076,-0.413876,-0.386716,-0.307177,-0.502206,0.109933,-0.389748,-0.262774,-0.241421,-0.424317,-0.283208,-0.149587,-0.415104,-0.31619,-0.734371,0.127942 --5926.34,0.277237,0.394006,3,-0.322695,0.0251608,-1.67219,-1.89927,-1.63299,-2.34911,-2.40352,-2.46733,-1.53261,-2.05671,-2.20618,-2.27976,-2.33372,-1.57983,-3.11321,-2.67468,-1.35586,-1.31587,-1.88301,-3.41912,-3.4819,-1.28498,-2.11645,-2.93818,-0.538875,-0.308357,-0.400783,-0.256148,-0.250516,-0.27288,-0.448946,-0.518493,-0.248843,-0.240174,-0.107709,-0.126442,-0.238411,-0.148457,-0.228638,-0.342198,-0.260656,-0.305908,-0.437768,-0.405986,-0.133785,-0.192004,-0.314623,0.158622 --5928.82,0.994912,0.394006,2,-0.187232,0.0144368,-3.09281,-2.62181,-2.31802,-2.51219,-2.46206,-1.68317,-1.81109,-2.04145,-1.97177,-2.24425,-2.36956,-1.55551,-2.82198,-2.92195,-1.41388,-1.52354,-2.25216,-2.52852,-3.25951,-1.67764,-2.34434,-3.39513,-0.0270437,-0.284803,-0.639014,-0.200092,-0.0577273,-0.280823,-0.355583,-0.066947,-0.211106,-0.292979,-0.249271,-0.210201,-0.360454,0.135792,-0.275574,-0.193063,-0.137031,-0.174322,-0.0815631,-0.287866,-0.353742,-0.239076,-0.436013,0.120153 --5921.34,0.348111,0.394006,2,-0.308572,0.00984439,-2.07069,-1.74993,-1.85414,-2.26859,-2.23667,-2.75962,-1.67621,-2.01389,-1.91316,-2.24802,-2.23015,-1.42645,-3.13376,-2.43788,-1.38174,-1.41083,-1.68382,-3.47477,-3.50523,-1.3476,-1.95795,-2.75891,-0.318077,-0.282972,-0.145529,-0.430824,-0.246369,-0.304005,-0.382952,-0.156116,-0.5202,-0.222002,-0.262732,-0.265409,-0.132403,-0.287843,-0.346099,-0.294499,-0.202842,-0.142619,-0.139885,-0.324595,-0.564831,-0.315581,-0.370554,0.0992189 --5921.34,0.540735,0.394006,2,-0.308572,0.00984439,-2.07069,-1.74993,-1.85414,-2.26859,-2.23667,-2.75962,-1.67621,-2.01389,-1.91316,-2.24802,-2.23015,-1.42645,-3.13376,-2.43788,-1.38174,-1.41083,-1.68382,-3.47477,-3.50523,-1.3476,-1.95795,-2.75891,-0.318077,-0.282972,-0.145529,-0.430824,-0.246369,-0.304005,-0.382952,-0.156116,-0.5202,-0.222002,-0.262732,-0.265409,-0.132403,-0.287843,-0.346099,-0.294499,-0.202842,-0.142619,-0.139885,-0.324595,-0.564831,-0.315581,-0.370554,0.0992189 --5920.64,0.939851,0.394006,2,-0.269863,0.00825314,-2.54002,-1.85628,-1.95047,-2.15705,-2.34766,-2.40748,-1.79935,-2.06203,-1.71594,-2.32178,-2.31735,-1.38854,-2.99828,-2.46139,-1.18944,-1.36315,-1.87603,-3.06066,-3.48982,-1.28301,-1.91631,-2.91664,-0.223224,-0.475013,-0.16187,-0.456005,-0.377064,-0.270928,-0.272063,-0.310107,-0.446281,-0.282271,-0.286033,-0.223325,-0.146004,-0.259099,-0.204435,-0.177749,-0.322792,-0.360114,-0.386728,-0.29768,-0.561622,-0.393027,-0.326739,0.0908468 --5923.5,0.404225,0.394006,2,-0.322623,0.00624172,-2.33736,-1.78462,-1.99112,-2.2409,-2.32356,-2.21265,-1.79317,-1.98066,-1.75876,-2.32186,-2.26641,-1.35422,-3.05816,-2.49034,-1.11732,-1.50704,-1.82946,-3.04867,-3.47793,-1.25988,-2.0023,-2.94801,-0.156287,-0.468653,-0.226871,-0.422588,-0.44405,-0.340519,-0.253398,-0.261738,-0.399762,-0.273379,-0.260031,-0.188201,-0.176245,-0.143331,-0.205238,-0.353435,-0.367904,-0.36127,-0.443265,-0.249636,-0.703494,-0.444721,-0.381385,0.0790046 --5920.66,0.328294,0.394006,2,-0.414853,0.0118302,-2.48423,-2.21018,-1.97509,-2.42426,-2.5099,-2.47293,-1.56715,-1.9725,-2.00767,-2.19008,-2.1965,-1.56239,-2.75784,-3.05059,-1.42221,-1.41355,-1.912,-2.74383,-3.32915,-1.65574,-1.97217,-2.87085,-0.461543,-0.387281,-0.48356,-0.314851,-0.0553414,-0.349996,-0.657959,-0.3538,-0.406685,-0.43476,-0.413957,-0.302078,-0.557299,0.239637,-0.517622,-0.259829,-0.321827,-0.307202,-0.0813358,-0.443667,-0.351853,-0.329606,-0.375749,0.108767 --5916.69,0.611725,0.394006,3,-0.183422,0.0102456,-3.14451,-2.16388,-2.37896,-2.40535,-2.39679,-2.50409,-1.87265,-2.18101,-2.1216,-2.2942,-2.43237,-1.45905,-3.08283,-2.71434,-1.69857,-1.40837,-2.0732,-2.68502,-3.18296,-1.48889,-2.17432,-2.90074,-0.206217,-0.100472,-0.252185,-0.197309,-0.320963,-0.205447,-0.276621,-0.165625,-0.177988,-0.262871,-0.0990161,-0.160882,-0.307411,0.0709762,-0.252088,-0.0214743,-0.181565,-0.102672,-0.116132,-0.175112,-0.0472523,-0.396223,0.0070224,0.101221 --5915.58,0.867483,0.394006,2,-0.22564,0.0105503,-2.21107,-2.27784,-2.09628,-2.45569,-2.26176,-1.73419,-1.6323,-2.19496,-1.8917,-2.23062,-2.24295,-1.33505,-2.8948,-2.70621,-1.28035,-1.57948,-1.98894,-3.07574,-3.2935,-1.37634,-2.05948,-3.0512,-0.148128,-0.28141,-0.130968,-0.187055,-0.114841,-0.18954,-0.29798,-0.11698,-0.247831,-0.227898,-0.287666,-0.234321,-0.132964,-0.160222,0.0545058,-0.371166,-0.166467,-0.189706,-0.366443,-0.249387,-0.495218,-0.07039,-0.273268,0.102715 --5917.04,0.808191,0.394006,3,-0.206791,0.00623941,-3.22529,-2.13911,-2.69158,-2.57528,-2.42756,-2.4621,-1.76772,-2.05232,-1.97584,-2.25478,-2.37253,-1.44984,-2.84184,-2.87814,-1.46729,-1.42717,-2.02474,-2.84895,-2.99411,-1.34679,-2.18516,-2.96272,-0.234955,-0.137817,-0.256863,0.0574967,-0.141185,-0.238019,-0.308151,-0.233619,-0.248583,-0.264205,-0.0914749,-0.315275,-0.40055,-0.00512047,-0.303385,-0.0847695,-0.195079,-0.190997,-0.424733,-0.279141,-0.153186,-0.367709,-0.200645,0.07899 --5910.84,0.775442,0.394006,2,-0.296004,0.00541228,-2.07256,-2.37578,-1.94605,-2.28776,-2.32272,-2.27361,-1.66148,-2.13159,-1.8649,-2.20397,-2.22074,-1.43967,-2.97072,-2.47998,-1.16603,-1.49493,-2.26977,-2.78828,-3.95511,-1.6191,-2.1523,-3.04815,-0.344094,-0.244276,-0.231456,-0.455779,-0.305,-0.312759,-0.372491,-0.30255,-0.401525,-0.245909,-0.40493,-0.166826,-0.191977,-0.237259,-0.261519,-0.323235,-0.191936,-0.252422,-0.0550774,-0.261421,-0.271908,-0.272061,-0.356631,0.0735682 --5910.84,0.0777681,0.394006,2,-0.296004,0.00541228,-2.07256,-2.37578,-1.94605,-2.28776,-2.32272,-2.27361,-1.66148,-2.13159,-1.8649,-2.20397,-2.22074,-1.43967,-2.97072,-2.47998,-1.16603,-1.49493,-2.26977,-2.78828,-3.95511,-1.6191,-2.1523,-3.04815,-0.344094,-0.244276,-0.231456,-0.455779,-0.305,-0.312759,-0.372491,-0.30255,-0.401525,-0.245909,-0.40493,-0.166826,-0.191977,-0.237259,-0.261519,-0.323235,-0.191936,-0.252422,-0.0550774,-0.261421,-0.271908,-0.272061,-0.356631,0.0735682 --5904.38,7.62904e-06,0.394006,2,-0.290643,0.00356622,-2.00646,-2.36654,-2.00295,-2.26149,-2.29406,-2.47394,-1.67239,-2.10199,-1.90315,-2.19604,-2.18795,-1.38532,-2.99945,-2.54186,-1.21043,-1.4598,-2.22265,-2.82062,-3.85733,-1.6512,-2.1561,-2.98325,-0.324797,-0.311309,-0.329446,-0.426753,-0.309445,-0.286831,-0.40388,-0.25098,-0.392077,-0.255182,-0.382591,-0.208647,-0.225937,-0.279614,-0.29537,-0.27551,-0.235359,-0.272945,-0.00512073,-0.305904,-0.296382,-0.302567,-0.337169,0.0597179 --5901.77,0.214376,0.394006,2,-0.265389,0.00391916,-2.17016,-2.3256,-2.10777,-2.33495,-2.46513,-2.53512,-1.59277,-2.03319,-1.81123,-2.2176,-2.18604,-1.45997,-3.07134,-2.51634,-1.24711,-1.47782,-2.04673,-2.96375,-3.69167,-1.67031,-2.11201,-2.85673,-0.180928,-0.27563,-0.265388,-0.341655,-0.170681,-0.296016,-0.339512,-0.249224,-0.423377,-0.341805,-0.271157,-0.153581,-0.23302,-0.267008,-0.223801,-0.325017,-0.282578,-0.294507,-0.205855,-0.210699,-0.361364,-0.272149,-0.251333,0.0626032 --5904.86,0.415789,0.394006,3,-0.269293,0.00428021,-2.24508,-2.37513,-2.25468,-2.42636,-2.34483,-1.50776,-1.67191,-1.98022,-2.21873,-2.14915,-2.21378,-1.45119,-2.74824,-2.65847,-1.45928,-1.4296,-1.93661,-3.16097,-3.17628,-1.69007,-2.15048,-2.98162,-0.380196,-0.260691,-0.254944,-0.213662,-0.314011,-0.320466,-0.337308,-0.292625,-0.183777,-0.24045,-0.225067,-0.30805,-0.3143,-0.219053,-0.275143,-0.141854,-0.210217,-0.237073,-0.338047,-0.163367,-0.264925,-0.29901,-0.27366,0.0654233 --5911.52,0.384094,0.394006,2,-0.263152,0.00205318,-2.11474,-2.27455,-1.92139,-2.53478,-2.38081,-1.40335,-1.74154,-2.15669,-2.16757,-2.24753,-2.2994,-1.48842,-2.45975,-2.61047,-1.30633,-1.60033,-1.96721,-3.06821,-3.46057,-1.68298,-2.26762,-2.87777,-0.231238,-0.309685,-0.251832,-0.211167,-0.152442,-0.215743,-0.243642,-0.380343,-0.194835,-0.180877,-0.218747,-0.247626,-0.388056,-0.244136,-0.232145,-0.393185,-0.210022,-0.257522,-0.258562,-0.301184,-0.267413,-0.233129,-0.244231,0.045312 --5911.52,0.00139663,0.394006,2,-0.263152,0.00205318,-2.11474,-2.27455,-1.92139,-2.53478,-2.38081,-1.40335,-1.74154,-2.15669,-2.16757,-2.24753,-2.2994,-1.48842,-2.45975,-2.61047,-1.30633,-1.60033,-1.96721,-3.06821,-3.46057,-1.68298,-2.26762,-2.87777,-0.231238,-0.309685,-0.251832,-0.211167,-0.152442,-0.215743,-0.243642,-0.380343,-0.194835,-0.180877,-0.218747,-0.247626,-0.388056,-0.244136,-0.232145,-0.393185,-0.210022,-0.257522,-0.258562,-0.301184,-0.267413,-0.233129,-0.244231,0.045312 --5911.52,1.76186e-05,0.394006,2,-0.263152,0.00205318,-2.11474,-2.27455,-1.92139,-2.53478,-2.38081,-1.40335,-1.74154,-2.15669,-2.16757,-2.24753,-2.2994,-1.48842,-2.45975,-2.61047,-1.30633,-1.60033,-1.96721,-3.06821,-3.46057,-1.68298,-2.26762,-2.87777,-0.231238,-0.309685,-0.251832,-0.211167,-0.152442,-0.215743,-0.243642,-0.380343,-0.194835,-0.180877,-0.218747,-0.247626,-0.388056,-0.244136,-0.232145,-0.393185,-0.210022,-0.257522,-0.258562,-0.301184,-0.267413,-0.233129,-0.244231,0.045312 --5911.52,2.29253e-06,0.394006,2,-0.263152,0.00205318,-2.11474,-2.27455,-1.92139,-2.53478,-2.38081,-1.40335,-1.74154,-2.15669,-2.16757,-2.24753,-2.2994,-1.48842,-2.45975,-2.61047,-1.30633,-1.60033,-1.96721,-3.06821,-3.46057,-1.68298,-2.26762,-2.87777,-0.231238,-0.309685,-0.251832,-0.211167,-0.152442,-0.215743,-0.243642,-0.380343,-0.194835,-0.180877,-0.218747,-0.247626,-0.388056,-0.244136,-0.232145,-0.393185,-0.210022,-0.257522,-0.258562,-0.301184,-0.267413,-0.233129,-0.244231,0.045312 --5910.88,3.90377e-11,0.394006,2,-0.259669,0.00251176,-2.41117,-2.22773,-1.95771,-2.48556,-2.3543,-1.37459,-1.7243,-2.1201,-2.15955,-2.27733,-2.31491,-1.52496,-2.48038,-2.61895,-1.36071,-1.51984,-1.88191,-3.05508,-3.29367,-1.60342,-2.26877,-2.94023,-0.262065,-0.207443,-0.271131,-0.205472,-0.100602,-0.254872,-0.261955,-0.282803,-0.276529,-0.19103,-0.157592,-0.281859,-0.374944,-0.274902,-0.210403,-0.301189,-0.28077,-0.305032,-0.381925,-0.303063,-0.352975,-0.3001,-0.425651,0.0501175 --5906.28,0.0228853,0.394006,2,-0.274404,0.00154232,-2.27492,-2.13556,-1.93011,-2.45046,-2.36285,-1.78103,-1.74357,-2.18701,-2.17447,-2.26306,-2.38657,-1.50751,-2.48239,-2.49314,-1.44695,-1.49315,-1.94939,-2.98946,-3.43524,-1.61593,-2.28306,-2.90238,-0.317423,-0.217406,-0.226608,-0.207816,-0.159169,-0.253772,-0.340286,-0.262303,-0.297369,-0.160413,-0.262923,-0.303552,-0.248547,-0.245776,-0.227074,-0.30512,-0.279345,-0.368901,-0.245776,-0.286887,-0.24879,-0.257957,-0.419047,0.0392724 --5906.28,1.6798e-05,0.394006,2,-0.274404,0.00154232,-2.27492,-2.13556,-1.93011,-2.45046,-2.36285,-1.78103,-1.74357,-2.18701,-2.17447,-2.26306,-2.38657,-1.50751,-2.48239,-2.49314,-1.44695,-1.49315,-1.94939,-2.98946,-3.43524,-1.61593,-2.28306,-2.90238,-0.317423,-0.217406,-0.226608,-0.207816,-0.159169,-0.253772,-0.340286,-0.262303,-0.297369,-0.160413,-0.262923,-0.303552,-0.248547,-0.245776,-0.227074,-0.30512,-0.279345,-0.368901,-0.245776,-0.286887,-0.24879,-0.257957,-0.419047,0.0392724 --5906.28,1.84188e-39,0.394006,2,-0.274404,0.00154232,-2.27492,-2.13556,-1.93011,-2.45046,-2.36285,-1.78103,-1.74357,-2.18701,-2.17447,-2.26306,-2.38657,-1.50751,-2.48239,-2.49314,-1.44695,-1.49315,-1.94939,-2.98946,-3.43524,-1.61593,-2.28306,-2.90238,-0.317423,-0.217406,-0.226608,-0.207816,-0.159169,-0.253772,-0.340286,-0.262303,-0.297369,-0.160413,-0.262923,-0.303552,-0.248547,-0.245776,-0.227074,-0.30512,-0.279345,-0.368901,-0.245776,-0.286887,-0.24879,-0.257957,-0.419047,0.0392724 --5903.06,2.19414e-50,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,5.62613e-18,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,6.66356e-77,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.06194e-09,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,8.60571e-35,0.394006,4,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,6.21505e-46,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,5.43699e-11,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.54812e-12,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,7.08852e-23,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,0.138162,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.71508e-54,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,7.71272e-09,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.55249e-07,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.17301e-40,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,6.91729e-46,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.03008e-15,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.78693e-53,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,6.01361e-39,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.48756e-31,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,3.28795e-08,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.81808e-33,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,0.000331363,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.73548e-40,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,5.83637e-09,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.69154e-48,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,3.63802e-11,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.48623e-12,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,7.95339e-15,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,3.74778e-22,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,8.18985e-24,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.5763e-08,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,0.0420236,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,0.00130645,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,3.55234e-20,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.19499e-35,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,9.54063e-22,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.73141e-12,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,0.00114862,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.68998e-12,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,4.2141e-08,0.394006,4,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.43274e-08,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,9.65649e-09,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,5.70464e-38,0.394006,4,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.76057e-29,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,4.39387e-61,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,0.000203889,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,4.86444e-13,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,3.62444e-15,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.44162e-20,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.51801e-87,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,1.52719e-40,0.394006,3,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.7714e-11,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,8.87636e-05,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.64714e-18,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,4.43341e-06,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5903.06,2.1387e-13,0.394006,2,-0.265773,0.00104099,-2.51585,-2.0807,-1.88935,-2.45231,-2.44891,-1.92403,-1.78682,-2.15825,-2.15151,-2.28669,-2.42456,-1.53793,-2.57421,-2.50752,-1.44552,-1.51178,-2.01154,-3.0008,-3.57132,-1.66447,-2.24474,-2.8605,-0.215384,-0.289755,-0.300896,-0.244963,-0.149777,-0.23692,-0.362304,-0.1915,-0.300265,-0.148431,-0.267192,-0.270948,-0.240905,-0.250896,-0.290384,-0.282562,-0.276571,-0.293298,-0.334982,-0.312376,-0.275882,-0.269907,-0.341745,0.0322644 --5898.68,5.41484e-47,0.394006,2,-0.220024,0.00310801,-2.30084,-2.26508,-1.5901,-2.4597,-2.3319,-1.99288,-1.73142,-2.14733,-2.18453,-2.298,-2.30604,-1.49679,-2.97754,-2.65905,-1.57177,-1.50305,-1.97783,-2.90083,-4.124,-1.55061,-2.28566,-2.82426,-0.282415,-0.272498,-0.227797,-0.228251,-0.285912,-0.255332,-0.327245,-0.218208,-0.205229,-0.317301,-0.204801,-0.218526,-0.305383,-0.229024,-0.237982,-0.223583,-0.213952,-0.228161,-0.175039,-0.114573,-0.252846,-0.257982,-0.196384,0.0557495 --5898.68,0.0244545,0.394006,2,-0.220024,0.00310801,-2.30084,-2.26508,-1.5901,-2.4597,-2.3319,-1.99288,-1.73142,-2.14733,-2.18453,-2.298,-2.30604,-1.49679,-2.97754,-2.65905,-1.57177,-1.50305,-1.97783,-2.90083,-4.124,-1.55061,-2.28566,-2.82426,-0.282415,-0.272498,-0.227797,-0.228251,-0.285912,-0.255332,-0.327245,-0.218208,-0.205229,-0.317301,-0.204801,-0.218526,-0.305383,-0.229024,-0.237982,-0.223583,-0.213952,-0.228161,-0.175039,-0.114573,-0.252846,-0.257982,-0.196384,0.0557495 --5898.68,3.97126e-06,0.394006,3,-0.220024,0.00310801,-2.30084,-2.26508,-1.5901,-2.4597,-2.3319,-1.99288,-1.73142,-2.14733,-2.18453,-2.298,-2.30604,-1.49679,-2.97754,-2.65905,-1.57177,-1.50305,-1.97783,-2.90083,-4.124,-1.55061,-2.28566,-2.82426,-0.282415,-0.272498,-0.227797,-0.228251,-0.285912,-0.255332,-0.327245,-0.218208,-0.205229,-0.317301,-0.204801,-0.218526,-0.305383,-0.229024,-0.237982,-0.223583,-0.213952,-0.228161,-0.175039,-0.114573,-0.252846,-0.257982,-0.196384,0.0557495 --5896.81,0.00130588,0.394006,1,-0.244321,0.00388749,-2.13389,-2.13634,-1.65856,-2.44128,-2.40117,-2.15839,-1.72083,-2.26803,-2.22805,-2.31328,-2.30666,-1.46302,-3.17629,-2.61554,-1.49897,-1.50096,-2.01416,-3.03994,-3.89308,-1.44485,-2.24227,-2.87913,-0.245235,-0.257998,-0.253814,-0.199973,-0.235199,-0.27976,-0.284208,-0.14383,-0.245071,-0.268159,-0.219487,-0.176392,-0.182027,-0.112038,-0.235484,-0.217482,-0.210388,-0.21513,-0.227924,-0.22554,-0.214222,-0.320194,-0.259124,0.0623497 --5896.81,3.85445e-09,0.394006,2,-0.244321,0.00388749,-2.13389,-2.13634,-1.65856,-2.44128,-2.40117,-2.15839,-1.72083,-2.26803,-2.22805,-2.31328,-2.30666,-1.46302,-3.17629,-2.61554,-1.49897,-1.50096,-2.01416,-3.03994,-3.89308,-1.44485,-2.24227,-2.87913,-0.245235,-0.257998,-0.253814,-0.199973,-0.235199,-0.27976,-0.284208,-0.14383,-0.245071,-0.268159,-0.219487,-0.176392,-0.182027,-0.112038,-0.235484,-0.217482,-0.210388,-0.21513,-0.227924,-0.22554,-0.214222,-0.320194,-0.259124,0.0623497 --5896.81,1.37455e-10,0.394006,2,-0.244321,0.00388749,-2.13389,-2.13634,-1.65856,-2.44128,-2.40117,-2.15839,-1.72083,-2.26803,-2.22805,-2.31328,-2.30666,-1.46302,-3.17629,-2.61554,-1.49897,-1.50096,-2.01416,-3.03994,-3.89308,-1.44485,-2.24227,-2.87913,-0.245235,-0.257998,-0.253814,-0.199973,-0.235199,-0.27976,-0.284208,-0.14383,-0.245071,-0.268159,-0.219487,-0.176392,-0.182027,-0.112038,-0.235484,-0.217482,-0.210388,-0.21513,-0.227924,-0.22554,-0.214222,-0.320194,-0.259124,0.0623497 --5896.81,1.59179e-25,0.394006,3,-0.244321,0.00388749,-2.13389,-2.13634,-1.65856,-2.44128,-2.40117,-2.15839,-1.72083,-2.26803,-2.22805,-2.31328,-2.30666,-1.46302,-3.17629,-2.61554,-1.49897,-1.50096,-2.01416,-3.03994,-3.89308,-1.44485,-2.24227,-2.87913,-0.245235,-0.257998,-0.253814,-0.199973,-0.235199,-0.27976,-0.284208,-0.14383,-0.245071,-0.268159,-0.219487,-0.176392,-0.182027,-0.112038,-0.235484,-0.217482,-0.210388,-0.21513,-0.227924,-0.22554,-0.214222,-0.320194,-0.259124,0.0623497 --5896.81,9.36536e-05,0.394006,3,-0.244321,0.00388749,-2.13389,-2.13634,-1.65856,-2.44128,-2.40117,-2.15839,-1.72083,-2.26803,-2.22805,-2.31328,-2.30666,-1.46302,-3.17629,-2.61554,-1.49897,-1.50096,-2.01416,-3.03994,-3.89308,-1.44485,-2.24227,-2.87913,-0.245235,-0.257998,-0.253814,-0.199973,-0.235199,-0.27976,-0.284208,-0.14383,-0.245071,-0.268159,-0.219487,-0.176392,-0.182027,-0.112038,-0.235484,-0.217482,-0.210388,-0.21513,-0.227924,-0.22554,-0.214222,-0.320194,-0.259124,0.0623497 --5910.52,0.234384,0.394006,2,-0.172963,0.00479429,-2.29523,-2.39647,-2.79427,-2.26632,-2.63302,-2.04969,-1.65991,-2.13904,-2.10057,-2.20207,-2.41443,-1.49487,-2.66663,-2.79524,-1.10019,-1.57446,-2.27071,-3.01114,-3.90917,-1.45515,-2.05926,-2.79167,-0.204598,-0.123758,-0.146882,-0.318096,-0.0166672,-0.144559,-0.409526,-0.184374,-0.113254,-0.266454,-0.165565,-0.134338,-0.174159,-0.105139,-0.16585,-0.179566,-0.181508,-0.161259,-0.048579,-0.160736,-0.317006,-0.170691,-0.225671,0.0692408 --5910.52,0.329392,0.394006,2,-0.172963,0.00479429,-2.29523,-2.39647,-2.79427,-2.26632,-2.63302,-2.04969,-1.65991,-2.13904,-2.10057,-2.20207,-2.41443,-1.49487,-2.66663,-2.79524,-1.10019,-1.57446,-2.27071,-3.01114,-3.90917,-1.45515,-2.05926,-2.79167,-0.204598,-0.123758,-0.146882,-0.318096,-0.0166672,-0.144559,-0.409526,-0.184374,-0.113254,-0.266454,-0.165565,-0.134338,-0.174159,-0.105139,-0.16585,-0.179566,-0.181508,-0.161259,-0.048579,-0.160736,-0.317006,-0.170691,-0.225671,0.0692408 --5910.52,0.0591848,0.394006,2,-0.172963,0.00479429,-2.29523,-2.39647,-2.79427,-2.26632,-2.63302,-2.04969,-1.65991,-2.13904,-2.10057,-2.20207,-2.41443,-1.49487,-2.66663,-2.79524,-1.10019,-1.57446,-2.27071,-3.01114,-3.90917,-1.45515,-2.05926,-2.79167,-0.204598,-0.123758,-0.146882,-0.318096,-0.0166672,-0.144559,-0.409526,-0.184374,-0.113254,-0.266454,-0.165565,-0.134338,-0.174159,-0.105139,-0.16585,-0.179566,-0.181508,-0.161259,-0.048579,-0.160736,-0.317006,-0.170691,-0.225671,0.0692408 --5910.52,0.00670315,0.394006,2,-0.172963,0.00479429,-2.29523,-2.39647,-2.79427,-2.26632,-2.63302,-2.04969,-1.65991,-2.13904,-2.10057,-2.20207,-2.41443,-1.49487,-2.66663,-2.79524,-1.10019,-1.57446,-2.27071,-3.01114,-3.90917,-1.45515,-2.05926,-2.79167,-0.204598,-0.123758,-0.146882,-0.318096,-0.0166672,-0.144559,-0.409526,-0.184374,-0.113254,-0.266454,-0.165565,-0.134338,-0.174159,-0.105139,-0.16585,-0.179566,-0.181508,-0.161259,-0.048579,-0.160736,-0.317006,-0.170691,-0.225671,0.0692408 --5913.3,0.000259774,0.394006,2,-0.215964,0.0022759,-2.09863,-2.57499,-2.30398,-2.42434,-2.52486,-1.75617,-1.55711,-2.08458,-2.22411,-2.30452,-2.28256,-1.67412,-2.99564,-2.72927,-1.57381,-1.43345,-2.15184,-2.72254,-3.79038,-1.5447,-2.40635,-3.30155,-0.28378,-0.169035,-0.277803,-0.148815,-0.299081,-0.234987,-0.46145,-0.151933,-0.290135,-0.199838,-0.208309,-0.224705,-0.315244,-0.159098,-0.277221,-0.170115,-0.169059,-0.258556,-0.258939,-0.210197,-0.112614,-0.24282,-0.229831,0.0477064 --5913.3,0.00822653,0.394006,2,-0.215964,0.0022759,-2.09863,-2.57499,-2.30398,-2.42434,-2.52486,-1.75617,-1.55711,-2.08458,-2.22411,-2.30452,-2.28256,-1.67412,-2.99564,-2.72927,-1.57381,-1.43345,-2.15184,-2.72254,-3.79038,-1.5447,-2.40635,-3.30155,-0.28378,-0.169035,-0.277803,-0.148815,-0.299081,-0.234987,-0.46145,-0.151933,-0.290135,-0.199838,-0.208309,-0.224705,-0.315244,-0.159098,-0.277221,-0.170115,-0.169059,-0.258556,-0.258939,-0.210197,-0.112614,-0.24282,-0.229831,0.0477064 --5913.3,0.00435419,0.394006,2,-0.215964,0.0022759,-2.09863,-2.57499,-2.30398,-2.42434,-2.52486,-1.75617,-1.55711,-2.08458,-2.22411,-2.30452,-2.28256,-1.67412,-2.99564,-2.72927,-1.57381,-1.43345,-2.15184,-2.72254,-3.79038,-1.5447,-2.40635,-3.30155,-0.28378,-0.169035,-0.277803,-0.148815,-0.299081,-0.234987,-0.46145,-0.151933,-0.290135,-0.199838,-0.208309,-0.224705,-0.315244,-0.159098,-0.277221,-0.170115,-0.169059,-0.258556,-0.258939,-0.210197,-0.112614,-0.24282,-0.229831,0.0477064 --5915.48,0.055968,0.394006,2,-0.216672,0.00198844,-2.17552,-2.56979,-1.99833,-2.40411,-2.47443,-1.48329,-1.58756,-2.11785,-2.34401,-2.32356,-2.22404,-1.69518,-3.1594,-2.75023,-1.52161,-1.4735,-2.15796,-2.79514,-3.67118,-1.58849,-2.44063,-3.26996,-0.208845,-0.273751,-0.207092,-0.205703,-0.226302,-0.318483,-0.506854,-0.129141,-0.333742,-0.21251,-0.286396,-0.14519,-0.297434,-0.157066,-0.258842,-0.229567,-0.147165,-0.158896,-0.277522,-0.182043,-0.174636,-0.174634,-0.196174,0.0445919 --5916.97,0.24856,0.394006,2,-0.21442,0.00678294,-2.29027,-2.31994,-2.13677,-2.37565,-2.59427,-1.81473,-1.60319,-2.08227,-2.28578,-2.3481,-2.36937,-1.62889,-3.21565,-2.80079,-1.3368,-1.36346,-2.22895,-2.677,-3.48725,-1.45147,-2.43576,-3.11394,-0.263239,-0.212657,-0.171802,-0.206668,-0.126425,-0.232266,-0.656771,-0.285913,-0.0305702,-0.258548,-0.155213,-0.199838,-0.217627,0.00041662,-0.0357454,-0.141065,-0.211049,-0.209383,-0.247761,-0.0743365,-0.191736,-0.252173,-0.138866,0.0823586 --5913.57,0.682888,0.394006,2,-0.162142,0.00618713,-2.7228,-2.19669,-1.98622,-2.46271,-2.31191,-2.597,-1.42906,-2.17529,-2.09652,-2.29281,-2.3883,-1.51385,-2.72469,-2.71015,-1.68186,-1.68021,-1.83338,-3.28603,-3.00253,-1.69718,-1.94868,-2.87596,-0.134881,-0.208022,-0.120976,-0.202952,-0.179399,-0.177265,-0.693244,-0.11958,-0.16169,-0.133747,-0.164985,-0.131634,-0.277318,0.00632206,-0.200236,-0.184562,-0.131735,-0.154137,-0.0617247,-0.194538,-0.284968,-0.199023,-0.215944,0.0786583 --5907.64,0.526056,0.394006,2,-0.178079,0.00400123,-2.24007,-2.32515,-1.93236,-2.36273,-2.44846,-2.09627,-1.8185,-2.17238,-1.85886,-2.31574,-2.1718,-1.51285,-3.12626,-2.93103,-1.2425,-1.46416,-2.1862,-2.99731,-3.49883,-1.75415,-2.01555,-3.07052,-0.167952,-0.1402,-0.28883,-0.175963,-0.183503,-0.250297,-0.0934273,-0.202895,-0.217906,-0.254621,-0.237176,-0.110576,-0.166634,-0.128788,-0.117578,-0.130177,-0.194299,-0.103217,-0.267743,-0.107806,-0.243975,-0.225622,-0.0679239,0.0632553 --5917.21,0.306527,0.394006,2,-0.215642,0.00264805,-2.20545,-1.92946,-1.70339,-2.58093,-2.41396,-2.11735,-1.76742,-2.20262,-1.86782,-2.16642,-2.03979,-1.42133,-3.32986,-2.86582,-1.23716,-1.75232,-2.30663,-2.8969,-3.15963,-1.49191,-2.32019,-3.06519,-0.228087,-0.283063,-0.127425,-0.174488,-0.157176,-0.16281,-0.325699,-0.0124634,-0.221263,-0.193974,-0.254256,-0.254282,-0.207046,-0.112839,-0.280905,-0.22643,-0.0114861,-0.214985,-0.140532,-0.266603,-0.173267,-0.169788,-0.29499,0.0514592 --5917.21,8.62022e-06,0.394006,3,-0.215642,0.00264805,-2.20545,-1.92946,-1.70339,-2.58093,-2.41396,-2.11735,-1.76742,-2.20262,-1.86782,-2.16642,-2.03979,-1.42133,-3.32986,-2.86582,-1.23716,-1.75232,-2.30663,-2.8969,-3.15963,-1.49191,-2.32019,-3.06519,-0.228087,-0.283063,-0.127425,-0.174488,-0.157176,-0.16281,-0.325699,-0.0124634,-0.221263,-0.193974,-0.254256,-0.254282,-0.207046,-0.112839,-0.280905,-0.22643,-0.0114861,-0.214985,-0.140532,-0.266603,-0.173267,-0.169788,-0.29499,0.0514592 --5912.51,0.760813,0.394006,2,-0.209945,0.00384743,-2.69866,-1.97892,-1.94442,-2.54207,-2.18641,-1.81453,-1.75108,-2.18563,-1.74646,-2.23523,-2.14211,-1.45673,-2.93092,-2.85563,-1.2939,-1.70609,-2.08202,-3.0724,-3.22838,-1.65991,-2.32964,-2.81015,-0.153738,-0.137431,-0.302753,-0.167491,-0.232993,-0.241467,-0.193618,-0.274136,-0.264546,-0.26776,-0.248586,-0.170067,-0.184309,-0.119429,-0.150201,-0.0944711,-0.184858,-0.126123,-0.247664,0.0786617,-0.210195,-0.270998,-0.0815539,0.0620277 --5912.51,0.00349283,0.394006,2,-0.209945,0.00384743,-2.69866,-1.97892,-1.94442,-2.54207,-2.18641,-1.81453,-1.75108,-2.18563,-1.74646,-2.23523,-2.14211,-1.45673,-2.93092,-2.85563,-1.2939,-1.70609,-2.08202,-3.0724,-3.22838,-1.65991,-2.32964,-2.81015,-0.153738,-0.137431,-0.302753,-0.167491,-0.232993,-0.241467,-0.193618,-0.274136,-0.264546,-0.26776,-0.248586,-0.170067,-0.184309,-0.119429,-0.150201,-0.0944711,-0.184858,-0.126123,-0.247664,0.0786617,-0.210195,-0.270998,-0.0815539,0.0620277 --5912.51,0.0609631,0.394006,3,-0.209945,0.00384743,-2.69866,-1.97892,-1.94442,-2.54207,-2.18641,-1.81453,-1.75108,-2.18563,-1.74646,-2.23523,-2.14211,-1.45673,-2.93092,-2.85563,-1.2939,-1.70609,-2.08202,-3.0724,-3.22838,-1.65991,-2.32964,-2.81015,-0.153738,-0.137431,-0.302753,-0.167491,-0.232993,-0.241467,-0.193618,-0.274136,-0.264546,-0.26776,-0.248586,-0.170067,-0.184309,-0.119429,-0.150201,-0.0944711,-0.184858,-0.126123,-0.247664,0.0786617,-0.210195,-0.270998,-0.0815539,0.0620277 --5914.02,0.175565,0.394006,2,-0.188131,0.00659658,-2.00156,-2.52316,-2.60935,-2.35198,-2.6488,-2.62048,-1.67692,-2.20723,-2.13049,-2.16242,-2.38037,-1.42183,-2.89254,-2.63048,-1.58209,-1.44514,-1.96181,-2.72129,-3.54456,-1.51192,-2.07936,-3.19322,-0.119598,-0.17292,-0.0295335,-0.157296,-0.176978,-0.267617,-0.453807,0.0131494,-0.184988,-0.317453,-0.251364,-0.115215,-0.279108,-0.150317,-0.229869,-0.214648,-0.0968782,-0.176245,-0.135955,-0.352221,-0.267187,-0.277969,-0.209144,0.0812193 --5912,0.59164,0.394006,2,-0.228928,0.00675893,-2.53623,-2.41956,-1.98385,-2.40938,-2.51622,-2.14418,-1.77414,-2.33716,-1.83083,-2.25817,-2.33329,-1.45159,-3.09932,-2.75834,-1.56057,-1.53074,-2.09137,-2.79751,-4.01893,-1.46556,-2.16915,-2.98268,-0.312513,-0.269917,-0.35299,-0.255972,-0.169203,-0.186349,-0.190231,0.0763607,-0.372302,-0.320924,-0.351228,-0.354259,-0.205878,-0.147295,-0.120029,-0.231962,-0.309322,-0.221911,-0.330616,-0.190648,-0.26514,-0.133721,-0.223093,0.0822127 --5912,0.362452,0.394006,2,-0.228928,0.00675893,-2.53623,-2.41956,-1.98385,-2.40938,-2.51622,-2.14418,-1.77414,-2.33716,-1.83083,-2.25817,-2.33329,-1.45159,-3.09932,-2.75834,-1.56057,-1.53074,-2.09137,-2.79751,-4.01893,-1.46556,-2.16915,-2.98268,-0.312513,-0.269917,-0.35299,-0.255972,-0.169203,-0.186349,-0.190231,0.0763607,-0.372302,-0.320924,-0.351228,-0.354259,-0.205878,-0.147295,-0.120029,-0.231962,-0.309322,-0.221911,-0.330616,-0.190648,-0.26514,-0.133721,-0.223093,0.0822127 --5914.9,0.502934,0.394006,2,-0.22425,0.00632759,-2.53317,-2.36694,-2.04313,-2.46716,-2.4511,-1.99692,-1.79834,-2.35155,-1.81839,-2.25318,-2.36166,-1.52256,-3.01787,-2.67321,-1.58694,-1.49672,-2.08057,-2.85677,-3.87735,-1.49016,-2.11878,-2.86226,-0.233775,-0.125508,-0.307209,-0.237553,-0.287495,-0.24231,-0.241028,0.124629,-0.397347,-0.381259,-0.303306,-0.383831,-0.151351,-0.118585,-0.238993,-0.215669,-0.205042,-0.141002,-0.20468,-0.176801,-0.351405,-0.0603027,-0.241619,0.0795462 --5914.16,0.35305,0.394006,3,-0.189054,0.0034734,-2.727,-2.33626,-1.6648,-2.26997,-2.3339,-2.08288,-1.61818,-2.4006,-2.07936,-2.26368,-2.2336,-1.70759,-3.18917,-2.73173,-1.31618,-1.39906,-2.12143,-3.29682,-3.9511,-1.54363,-2.06202,-3.05073,-0.189143,-0.283998,-0.169812,-0.27589,-0.116513,-0.202922,-0.357137,-0.143749,-0.161271,-0.155589,-0.142543,0.0310196,-0.277603,-0.152398,-0.159811,-0.249778,-0.138028,-0.243686,-0.166983,-0.235259,-0.196555,-0.428794,-0.20769,0.0589355 --5924.56,0.523018,0.394006,2,-0.212402,0.0189915,-2.33238,-2.25935,-1.62745,-2.4566,-2.40648,-2.20019,-1.76676,-2.17337,-1.97995,-2.29654,-2.28668,-1.5895,-3.21913,-2.68999,-1.20993,-1.73504,-1.69582,-2.80943,-4.33229,-1.40949,-1.97681,-2.97129,-0.219454,-0.15605,-0.423832,-0.189776,-0.313426,-0.199036,-0.460044,0.0891107,-0.250961,-0.318318,-0.396167,0.102587,-0.146796,-0.124908,-0.341183,-0.133733,-0.287202,-0.20111,-0.253609,-0.120871,-0.384641,-0.0397151,-0.217397,0.13781 --5922.13,0.944711,0.394006,2,-0.198844,0.0196557,-2.98649,-2.11047,-1.75349,-2.36326,-2.31263,-2.72212,-1.71043,-2.25932,-2.133,-2.26273,-2.07723,-1.63701,-2.70161,-2.9266,-1.31718,-1.53804,-1.99932,-3.07483,-3.76362,-1.40974,-2.1212,-2.99607,-0.354019,-0.153756,-0.333365,-0.273398,-0.189285,-0.238659,-0.28333,-0.0652664,-0.140439,-0.24214,-0.466724,0.0210578,-0.110324,0.247438,-0.399303,-0.167056,-0.100587,-0.171884,0.139896,-0.381018,-0.143763,-0.424699,-0.16491,0.140199 --5914.32,0.887328,0.394006,3,-0.280942,0.00612677,-2.46828,-2.14605,-2.40601,-2.43736,-2.45339,-1.99546,-1.66896,-1.9316,-1.7964,-2.21041,-2.52139,-1.33562,-3.05659,-2.52813,-1.42674,-1.39138,-1.90967,-3.02335,-3.01692,-1.52425,-2.0143,-2.9076,-0.344874,-0.280447,-0.0900339,-0.248946,-0.257222,-0.408017,-0.296654,-0.309179,-0.217822,-0.282152,-0.129227,-0.280752,-0.0739387,-0.16292,-0.259092,-0.258814,-0.210274,-0.201984,-0.467207,-0.176196,-0.148949,-0.321897,-0.227509,0.0782737 --5912.93,0.453091,0.394006,2,-0.268603,0.00982669,-2.65612,-2.15429,-2.00757,-2.40585,-2.30103,-1.7581,-1.64789,-1.85851,-1.98086,-2.33665,-2.47184,-1.32109,-3.23641,-2.65217,-1.44882,-1.56177,-1.92531,-2.72474,-3.51426,-1.39027,-2.17889,-2.96237,-0.415831,-0.177011,-0.268197,-0.359525,-0.328027,-0.254472,-0.400662,-0.310619,-0.20474,-0.293657,-0.184131,-0.330757,-0.0927502,-0.1834,-0.222855,-0.219718,-0.261298,-0.36171,-0.368294,-0.203034,-0.41458,-0.260627,-0.392681,0.0991297 --5909.82,0.708101,0.394006,2,-0.230078,0.00618124,-2.30399,-2.42252,-2.0986,-2.37798,-2.38772,-2.00668,-1.73937,-2.06821,-2.11194,-2.18154,-2.31666,-1.45085,-2.57847,-2.95821,-1.32319,-1.55818,-2.23717,-2.72714,-3.28169,-1.39605,-1.89313,-2.79318,-0.0930393,-0.344756,-0.262651,-0.211705,-0.165748,-0.368938,-0.27085,-0.256467,-0.273278,-0.25483,-0.219162,-0.228375,-0.25993,-0.0872413,-0.30404,-0.265831,-0.174762,-0.299235,-0.127359,-0.337018,-0.251595,-0.359333,-0.150211,0.0786209 --5907.57,0.378854,0.394006,3,-0.307112,0.00439865,-2.22957,-2.06442,-1.951,-2.41892,-2.34091,-1.95213,-1.74808,-2.23911,-2.0275,-2.25473,-2.29518,-1.34937,-2.65139,-2.90614,-1.45046,-1.6287,-2.09904,-2.7349,-3.19587,-1.28848,-2.11403,-2.73612,-0.349014,-0.252444,-0.224449,-0.223248,-0.315867,-0.194761,-0.407099,-0.0844765,-0.298967,-0.3601,-0.273675,-0.259423,-0.271087,0.0752123,-0.292167,-0.368535,-0.23991,-0.318851,-0.294915,-0.325192,-0.467521,-0.313589,-0.347358,0.0663223 --5907.62,0.391255,0.394006,2,-0.27548,0.0042136,-2.40383,-1.97836,-2.07229,-2.41651,-2.32069,-1.95344,-1.65839,-2.17567,-1.94374,-2.28316,-2.25159,-1.42459,-2.96954,-2.80309,-1.34374,-1.72327,-2.07145,-2.57247,-3.18346,-1.34572,-2.09671,-2.83935,-0.310274,-0.323312,-0.363049,-0.144314,-0.304505,-0.369487,-0.406535,-0.0961685,-0.290459,-0.251275,-0.259691,-0.189581,-0.264281,-0.287985,-0.172984,-0.401279,-0.275172,-0.254282,-0.332579,-0.305078,-0.431357,-0.259785,-0.215422,0.0649123 --5914.17,0.377925,0.394006,2,-0.297759,0.00904835,-2.78884,-2.38404,-2.22756,-2.2945,-2.22639,-1.877,-1.81814,-2.12718,-1.96776,-2.32813,-2.31192,-1.54372,-3.19757,-2.69789,-1.37619,-1.45912,-2.1593,-2.87372,-3.84923,-1.5362,-2.1729,-2.89191,-0.0192311,-0.295002,-0.208573,-0.396151,-0.264597,-0.222854,-0.368774,-0.326445,-0.262259,-0.276248,-0.224494,-0.242895,-0.384669,0.0556175,-0.355186,-0.110135,-0.16294,-0.321456,-0.243312,-0.36482,-0.306003,-0.395879,-0.492235,0.0951228 --5918.67,0.886314,0.394006,2,-0.291004,0.0143476,-2.87043,-2.20542,-2.3549,-2.36314,-2.23546,-2.01885,-1.8203,-2.00479,-1.89902,-2.28453,-2.3474,-1.48195,-3.17748,-2.50811,-1.47044,-1.31756,-2.13873,-2.81362,-3.70578,-1.55374,-2.18099,-3.01119,0.000738714,-0.225684,-0.233097,-0.261522,-0.266028,-0.151097,-0.29802,-0.339899,-0.386504,-0.292162,-0.185816,-0.352526,-0.30729,-0.171699,-0.273513,-0.236201,-0.197524,-0.393158,-0.280988,-0.548327,-0.221982,-0.285267,-0.534445,0.119781 --5921.54,0.82535,0.394006,2,-0.307226,0.0136273,-3.18655,-2.21208,-2.45704,-2.35721,-2.35474,-1.85893,-1.79147,-1.91751,-1.98358,-2.3175,-2.35469,-1.49312,-3.24863,-2.67772,-1.37365,-1.38275,-2.16005,-2.84101,-3.85949,-1.56341,-2.13032,-2.95726,-0.0955012,-0.222203,-0.348708,-0.237732,-0.323758,0.0196449,-0.258986,-0.340505,-0.389652,-0.330085,-0.282962,-0.270294,-0.36052,-0.137149,-0.383686,-0.184223,-0.20476,-0.408115,-0.339316,-0.47213,-0.224407,-0.287981,-0.562986,0.116736 --5918.15,0.676147,0.394006,2,-0.205857,0.00572762,-1.76583,-2.01704,-2.37755,-2.44107,-2.23481,-2.16317,-1.70741,-1.98121,-1.73673,-2.22231,-2.29977,-1.36287,-2.70895,-2.84097,-1.15893,-1.24136,-1.80035,-3.47663,-3.76459,-1.36886,-2.22169,-3.0537,-0.00425133,-0.328244,-0.22849,-0.270798,-0.246064,-0.355036,-0.357957,-0.174538,-0.273203,-0.270005,-0.103691,-0.165859,-0.269079,0.0020357,-0.332361,-0.271646,-0.267689,-0.184906,-0.171612,-0.353685,-0.251933,-0.155588,-0.0255171,0.0756811 --5917.19,0.342003,0.394006,2,-0.246688,0.00514916,-1.98771,-2.00059,-2.35298,-2.40336,-2.21866,-2.11534,-1.7052,-2.0311,-1.74176,-2.22292,-2.27801,-1.39627,-2.85362,-2.74522,-1.101,-1.15499,-1.68525,-3.34059,-3.80863,-1.33165,-2.29804,-2.98883,-0.100417,-0.306511,-0.320155,-0.266681,-0.269819,-0.267465,-0.341167,-0.188295,-0.285859,-0.270501,-0.134312,-0.157252,-0.353467,0.0523988,-0.402434,-0.203937,-0.323061,-0.241986,-0.149459,-0.300369,-0.251422,-0.157489,0.00154312,0.0717576 --5914.6,0.877711,0.394006,2,-0.253224,0.00634331,-2.59555,-1.84668,-2.67961,-2.43273,-2.49448,-1.66939,-1.63626,-2.14723,-1.9395,-2.29923,-2.4428,-1.55791,-3.21505,-2.73362,-1.25313,-1.46212,-2.33799,-2.75397,-3.18684,-1.46914,-2.06836,-3.0584,-0.391935,-0.242263,-0.129515,-0.204723,-0.182405,-0.237859,-0.441024,-0.218622,-0.270038,-0.25664,-0.228157,-0.281078,-0.125743,-0.237798,-0.184556,-0.409301,-0.103708,-0.173668,-0.303526,-0.282935,-0.295033,-0.353371,-0.481978,0.0796449 --5913.81,0.914269,0.394006,2,-0.283385,0.00638802,-2.00692,-2.64929,-1.86565,-2.3607,-2.30521,-2.68931,-1.7285,-2.02358,-2.10444,-2.20014,-2.22717,-1.34071,-2.8777,-2.62395,-1.35015,-1.45408,-1.55699,-3.16454,-3.72492,-1.45308,-2.24156,-2.92304,-0.392262,-0.327702,-0.198163,-0.191393,-0.35821,-0.28076,-0.295784,-0.262842,-0.305856,-0.334194,-0.276841,-0.363502,-0.389086,-0.265731,-0.26372,-0.200016,-0.222584,-0.225396,-0.361918,-0.151575,-0.327369,-0.369278,0.0376789,0.0799251 --5915.42,0.307757,0.394006,2,-0.249742,0.00867205,-2.86566,-1.8746,-2.0737,-2.35585,-2.38403,-1.61432,-1.75418,-2.32159,-1.71765,-2.15129,-2.31293,-1.34856,-2.93661,-2.85182,-1.5849,-1.45028,-2.1738,-2.91595,-3.32335,-1.55464,-2.12549,-2.86051,-0.144185,-0.285702,-0.364016,-0.3859,-0.165352,-0.232225,-0.370098,-0.15111,-0.33511,-0.382029,-0.274231,-0.198924,-0.218722,0.0155197,-0.211106,-0.330835,-0.25023,-0.344965,-0.182871,-0.243638,-0.35613,-0.274992,-0.696925,0.0931238 --5923.78,0.472785,0.394006,2,-0.29827,0.0264808,-2.62867,-2.32631,-2.13188,-2.34382,-2.29481,-2.40658,-1.6537,-2.05153,-2.04035,-2.18407,-2.39089,-1.53373,-2.84266,-2.87235,-1.20635,-1.63291,-1.63971,-2.95532,-3.71637,-1.2359,-2.08096,-3.05341,-0.196901,-0.260285,-0.194572,-0.242589,-0.295437,-0.603611,-0.395708,-0.0849073,-0.260623,-0.464743,-0.0799902,-0.251365,-0.472536,0.211746,-0.139738,-0.175839,-0.249075,-0.0190419,-0.601885,-0.412827,-0.360383,-0.314827,-0.336399,0.162729 --5929.13,0.893912,0.394006,2,-0.341871,0.0244458,-1.73978,-1.96492,-2.21599,-2.54271,-2.29585,-1.80588,-1.66285,-2.0871,-1.77601,-2.24463,-2.12442,-1.35099,-2.76629,-2.71397,-1.35187,-1.33325,-1.86539,-2.72188,-2.57946,-1.31736,-1.99871,-2.75669,-0.394111,-0.634767,-0.300398,-0.128162,-0.257947,0.0466293,-0.482476,-0.404512,-0.336201,-0.21683,-0.486119,-0.205804,-0.540475,-0.209678,-0.454214,-0.290125,-0.470148,-0.368576,-0.544316,-0.349104,-0.756155,-0.595604,-0.253837,0.156351 --5929.94,0.623049,0.394006,3,-0.236359,0.0223421,-2.70252,-1.94571,-2.08721,-2.25576,-2.43891,-1.61759,-1.65563,-2.21184,-2.0799,-2.07463,-2.42198,-1.42173,-2.93281,-2.81842,-1.65717,-1.44329,-2.06475,-3.47814,-3.62565,-1.44288,-2.36326,-2.90362,-0.373987,-0.0464204,-0.10336,-0.548977,-0.00120586,-0.308121,-0.418112,-0.120767,-0.136008,-0.414052,-0.110925,-0.0694417,-0.489344,0.0523683,-0.130586,-0.155086,-0.240926,0.102298,0.0456621,-0.139663,-0.350535,-0.313344,0.0724882,0.149473 --5926.11,0.916256,0.394006,2,-0.135458,0.0261163,-2.89298,-2.05236,-2.20651,-2.19346,-2.33038,-2.25773,-1.6681,-2.02666,-2.045,-2.12648,-2.37386,-1.52346,-2.61632,-2.63175,-1.22392,-1.47997,-1.87954,-2.80041,-3.03268,-1.64366,-2.19811,-2.95377,-0.338539,-0.358004,0.00352695,-0.405563,-0.228556,-0.203886,-0.37786,-0.184208,-0.153567,-0.44639,-0.134994,-0.155733,-0.388421,-0.0630052,-0.190311,-0.459364,-0.320222,0.0489384,-0.1424,-0.156139,-0.310549,-0.258716,-0.366536,0.161605 --5933.44,0.894095,0.394006,3,-0.349268,0.0330295,-3.15193,-1.70351,-2.49316,-2.53292,-2.51082,-2.7439,-1.73435,-2.18681,-2.00719,-2.18644,-2.36523,-1.6553,-2.9535,-3.04288,-1.3919,-1.50223,-2.04233,-3.4882,-3.77373,-1.3105,-2.03046,-2.91282,-0.166506,-0.645989,0.0776377,-0.257121,-0.129098,-0.38472,-0.371515,-0.197143,-0.111954,-0.382484,-0.206254,0.0741255,-0.493246,0.239727,-0.391266,0.0678759,-0.0969443,0.333802,-0.33584,-0.287578,-0.401643,-0.304451,-0.143496,0.18174 --5935.91,0.940827,0.394006,3,-0.273701,0.0501819,-1.64046,-2.3153,-1.58747,-2.21283,-2.4705,-1.74076,-1.50975,-2.05858,-1.68636,-2.2509,-2.22083,-1.50502,-2.8139,-2.62346,-1.25267,-1.56387,-2.0373,-2.97852,-3.12578,-1.64278,-1.83344,-2.734,-0.425208,-0.816354,-0.946565,-0.418058,-0.33666,-0.217349,-0.656668,-0.295488,-0.768568,-0.286118,-0.441417,-0.327139,-0.450444,-0.0484372,-0.277789,-0.201643,-0.303308,-0.248266,-0.217717,-0.23981,-0.805991,-0.404213,-0.383758,0.224013 --5918.7,1,0.394006,2,-0.311568,0.0221334,-2.85245,-1.76237,-2.05873,-2.37277,-2.21256,-2.42418,-1.74097,-2.13858,-1.93479,-2.28198,-2.15778,-1.49673,-3.04401,-2.80263,-1.4637,-1.48343,-1.77317,-2.84878,-3.4489,-1.52423,-2.22287,-3.04652,-0.296464,-0.602137,-0.730209,-0.352686,-0.271735,-0.51974,-0.329901,-0.184753,-0.442733,-0.266511,-0.288541,-0.131732,-0.303021,-0.208807,-0.371105,-0.212931,-0.30998,-0.35616,-0.206332,-0.213463,-0.130073,-0.354809,-0.340765,0.148773 --5920.78,0.714487,0.394006,2,-0.340492,0.00899683,-2.73657,-1.86582,-1.92488,-2.32563,-2.30116,-1.88877,-1.79646,-1.95926,-1.95986,-2.2542,-2.2373,-1.46768,-2.86877,-2.67234,-1.23016,-1.64951,-2.04462,-2.44335,-3.51954,-1.5261,-2.19131,-2.87205,-0.428803,-0.469396,-0.355507,-0.302404,-0.276,-0.285167,-0.249927,-0.37683,-0.516679,-0.262413,-0.214295,-0.218312,-0.464604,0.270509,-0.305518,-0.156113,-0.430771,-0.312272,-0.161608,-0.478545,-0.477556,-0.348228,-0.299228,0.0948516 --5920.16,0.873276,0.394006,2,-0.3603,0.00740834,-2.1207,-2.16148,-1.84954,-2.47626,-2.38379,-2.33881,-1.71358,-2.07503,-1.85708,-2.22353,-2.20331,-1.33006,-3.44575,-2.85664,-1.62061,-1.46828,-1.93052,-2.75016,-3.26038,-1.25687,-2.14326,-2.76077,-0.272716,-0.329279,-0.350111,-0.273635,-0.356788,-0.426334,-0.42597,-0.282281,-0.3771,-0.359353,-0.429519,-0.433487,-0.168915,-0.331693,-0.363283,-0.240714,-0.120361,-0.376919,-0.439456,-0.192994,-0.195295,-0.641616,-0.372205,0.0860717 --5920.16,0.251767,0.394006,2,-0.3603,0.00740834,-2.1207,-2.16148,-1.84954,-2.47626,-2.38379,-2.33881,-1.71358,-2.07503,-1.85708,-2.22353,-2.20331,-1.33006,-3.44575,-2.85664,-1.62061,-1.46828,-1.93052,-2.75016,-3.26038,-1.25687,-2.14326,-2.76077,-0.272716,-0.329279,-0.350111,-0.273635,-0.356788,-0.426334,-0.42597,-0.282281,-0.3771,-0.359353,-0.429519,-0.433487,-0.168915,-0.331693,-0.363283,-0.240714,-0.120361,-0.376919,-0.439456,-0.192994,-0.195295,-0.641616,-0.372205,0.0860717 --5923.09,0.444677,0.394006,2,-0.376413,0.00813125,-1.73089,-2.21241,-1.86774,-2.43275,-2.39237,-2.66652,-1.74278,-2.1043,-1.72724,-2.21988,-2.25212,-1.31961,-3.30752,-2.82003,-1.58062,-1.41195,-1.9272,-2.71004,-3.03464,-1.25812,-2.23571,-2.7622,-0.317079,-0.353505,-0.343871,-0.252963,-0.282808,-0.301741,-0.475859,-0.200667,-0.301547,-0.441097,-0.414422,-0.425853,-0.16291,-0.326447,-0.28146,-0.269768,-0.179279,-0.311478,-0.400424,-0.196245,-0.257609,-0.675453,-0.372503,0.0901734 --5931.37,0.729411,0.394006,2,-0.279524,0.0163707,-2.19227,-2.01819,-1.98149,-2.51098,-2.29318,-2.61028,-1.64229,-1.99521,-2.05293,-2.18409,-2.29694,-1.5288,-2.68301,-2.62392,-1.21028,-1.504,-1.82784,-3.25231,-3.89221,-1.70175,-2.20078,-2.73941,-0.670928,-0.399873,-0.472057,-0.254705,-0.303421,-0.254902,-0.406621,-0.315395,-0.358102,-0.289341,-0.215978,-0.298556,-0.416433,0.181832,-0.257594,-0.370659,-0.502207,-0.19911,-0.20284,-0.566651,-0.498726,-0.203202,-0.0638947,0.127948 --5926.79,0.94817,0.394006,3,-0.289311,0.0247656,-2.64281,-2.37165,-2.34524,-2.30267,-2.52743,-1.87535,-1.7306,-2.07603,-1.85796,-2.18585,-2.23773,-1.27217,-3.27512,-2.86349,-1.39674,-1.4318,-2.09595,-2.58063,-3.06549,-1.13936,-2.04228,-2.98536,-0.0917056,-0.308557,-0.232441,-0.277991,-0.127677,-0.398576,-0.437358,-0.171823,-0.461103,-0.307875,-0.405406,-0.257286,-0.309358,0.274505,-0.33118,-0.12402,-0.290516,-0.419518,-0.472141,-0.12814,-0.402791,-0.642377,-0.651603,0.157371 --5925.97,0.990627,0.394006,2,-0.360019,0.0182134,-2.36721,-2.34539,-2.25898,-2.39131,-2.61869,-2.29244,-1.63496,-2.11733,-1.86329,-2.19244,-2.21886,-1.69263,-2.60772,-2.95643,-1.21736,-1.76826,-1.64254,-3.04446,-3.57356,-1.70277,-2.001,-2.66436,-0.167068,-0.383731,-0.5096,-0.370159,0.207326,-0.395249,-0.500992,-0.320994,-0.563261,-0.409825,-0.308895,-0.149421,-0.466016,0.237422,-0.371973,-0.152832,-0.362766,-0.286885,-0.176537,-0.442758,-0.569275,-0.328534,-0.324073,0.134957 --5916.98,0.666518,0.394006,3,-0.304706,0.00510283,-2.58699,-2.51393,-2.03169,-2.46717,-2.57404,-1.90769,-1.71782,-2.20043,-2.14081,-2.27154,-2.26732,-1.41732,-2.87921,-2.62047,-1.26011,-1.3296,-2.19056,-2.96454,-3.06112,-1.41856,-2.33232,-3.02158,-0.433203,-0.468661,-0.267678,-0.225519,-0.347136,-0.322687,-0.33513,-0.198681,-0.243391,-0.265352,-0.228702,-0.408451,-0.125387,-0.232059,-0.18756,-0.420676,-0.0729795,-0.241425,-0.197933,-0.283721,-0.259735,-0.353441,-0.444081,0.0714341 --5913,0.184098,0.394006,2,-0.269689,0.00664341,-2.31761,-2.24228,-1.97983,-2.36052,-2.67751,-2.34781,-1.77028,-2.19131,-2.01595,-2.27277,-2.26929,-1.45525,-2.99125,-2.72281,-1.36596,-1.22348,-1.95333,-2.93475,-2.87314,-1.41646,-2.21219,-3.13954,-0.3653,-0.327121,-0.32891,-0.235983,-0.174381,-0.356964,-0.422487,-0.193673,-0.154218,-0.322666,-0.287539,-0.327218,-0.213289,-0.221487,-0.306619,-0.336207,0.0577768,-0.30318,-0.373436,-0.479285,-0.316774,-0.228396,-0.258416,0.0815071 --5913.71,0.532122,0.394006,2,-0.248144,0.00662088,-3.22465,-1.65392,-1.91504,-2.36973,-2.53319,-1.62682,-1.65233,-2.0375,-1.8948,-2.27291,-2.45914,-1.41769,-3.15672,-2.65293,-1.22201,-1.5607,-2.20771,-3.12213,-3.26897,-1.65937,-1.97504,-2.9846,-0.187905,-0.298841,-0.255931,-0.282148,-0.157565,-0.221058,-0.275759,-0.247682,-0.428029,-0.207559,-0.134804,-0.225463,-0.337757,-0.126833,-0.229928,-0.220267,-0.422953,-0.200099,-0.168704,-0.118784,-0.31351,-0.331769,-0.274741,0.0813688 --5911.31,0.962936,0.394006,3,-0.232127,0.00802588,-3.15231,-1.88458,-2.00985,-2.33543,-2.55433,-1.32301,-1.5984,-2.04157,-2.02145,-2.30377,-2.36217,-1.46565,-3.00313,-2.72197,-1.37761,-1.57995,-2.04703,-2.79817,-3.37959,-1.63557,-1.93578,-3.00581,-0.186084,-0.260645,-0.279018,-0.234835,-0.055678,-0.251281,-0.369927,-0.345205,-0.10261,-0.247573,-0.221201,-0.309273,-0.324887,-0.109539,-0.212345,-0.145241,-0.20753,-0.200154,-0.113234,-0.228334,-0.394897,-0.226103,-0.219514,0.0895873 --5922.77,0.319051,0.394006,2,-0.280332,0.0169248,-2.19372,-1.91079,-1.91684,-2.46362,-2.47305,-3.24691,-1.73074,-2.22237,-1.81111,-2.11694,-2.26625,-1.47954,-3.06181,-2.68224,-1.512,-1.56026,-2.17175,-3.12389,-2.71883,-1.54826,-2.05508,-2.81191,-0.305544,-0.303334,-0.345267,-0.224539,-0.253834,-0.351741,-0.45862,-0.0327251,-0.410752,-0.317035,-0.226669,0.00413482,0.0112845,-0.163586,-0.326684,-0.271269,0.153352,-0.148432,-0.354078,-0.175517,-0.402839,-0.283273,-0.259024,0.130095 --5935.11,0.70946,0.394006,2,-0.0948125,0.0746935,-2.51443,-2.25222,-2.21348,-2.43906,-2.40523,-1.58706,-1.53512,-2.0903,-1.89635,-2.19606,-2.49747,-1.53249,-2.83921,-2.83496,-0.992107,-1.63182,-1.90857,-2.95134,-4.08284,-1.52614,-1.92258,-2.87511,-0.0546347,-0.346599,-0.0580753,-0.121967,-0.0111389,0.0370884,-0.54662,-0.314821,-0.387066,-0.457572,-0.08632,-0.301398,-0.729529,0.105823,-0.348102,0.124262,-0.442229,-0.121252,0.0267111,-0.247075,-0.6886,-0.479376,-0.151699,0.273301 --5931.97,0.881777,0.394006,3,-0.178311,0.0602731,-2.50452,-2.08858,-2.45046,-2.53805,-2.51807,-2.03861,-1.6324,-2.03417,-1.99109,-2.07044,-2.41488,-1.4936,-2.5949,-2.69118,-1.17295,-1.62149,-1.89387,-2.90248,-4.34287,-1.612,-1.9468,-3.05204,-0.0481576,-0.0650483,-0.0483106,-0.0125788,0.0670027,-0.364606,-0.563724,-0.221315,-0.488965,-0.442636,-0.0109578,-0.280135,-0.544021,0.0452991,-0.391712,-0.0886763,-0.385764,-0.235001,0.184511,-0.253072,-0.588844,-0.46912,-0.338584,0.245506 --5928.2,0.767272,0.394006,2,-0.281049,0.0276924,-2.98619,-2.38882,-2.03714,-2.30012,-2.57781,-2.06744,-1.56964,-2.05359,-1.64369,-2.21863,-2.38722,-1.41709,-3.11945,-2.98414,-1.41294,-1.59839,-1.82429,-2.70084,-4.05869,-1.42759,-2.03033,-2.65677,-0.18975,-0.209715,-0.0588569,-0.420209,-0.213715,-0.23192,-0.513245,-0.291996,-0.396598,-0.449,-0.112811,-0.0141839,-0.319752,0.0776981,-0.345261,-0.115951,-0.261433,-0.240405,0.484865,-0.195094,-0.567965,-0.238454,-0.176195,0.16641 --5922.98,0.375247,0.394006,2,-0.310508,0.0200126,-2.44448,-2.01591,-2.59318,-2.32763,-2.3232,-2.84021,-1.69051,-1.88522,-1.83583,-2.12633,-2.29667,-1.55024,-2.69345,-2.6894,-1.22752,-1.49289,-1.86656,-2.93963,-3.69598,-1.79654,-2.13161,-2.94938,-0.44621,-0.377999,-0.208242,-0.422929,-0.159016,-0.305003,-0.426705,-0.377309,-0.4493,-0.35041,-0.403739,-0.171951,-0.368304,0.0693713,-0.30853,-0.317808,-0.412595,-0.258437,0.131317,-0.0692578,-0.191079,-0.468263,-0.404018,0.141466 --5922.98,0.475134,0.394006,2,-0.310508,0.0200126,-2.44448,-2.01591,-2.59318,-2.32763,-2.3232,-2.84021,-1.69051,-1.88522,-1.83583,-2.12633,-2.29667,-1.55024,-2.69345,-2.6894,-1.22752,-1.49289,-1.86656,-2.93963,-3.69598,-1.79654,-2.13161,-2.94938,-0.44621,-0.377999,-0.208242,-0.422929,-0.159016,-0.305003,-0.426705,-0.377309,-0.4493,-0.35041,-0.403739,-0.171951,-0.368304,0.0693713,-0.30853,-0.317808,-0.412595,-0.258437,0.131317,-0.0692578,-0.191079,-0.468263,-0.404018,0.141466 --5929.12,0.635504,0.394006,2,-0.257042,0.0169521,-2.94441,-2.07464,-2.65517,-2.31455,-2.45103,-1.84269,-1.60219,-2.07541,-1.86148,-2.2084,-2.27596,-1.5832,-3.08628,-2.78152,-1.12806,-1.6483,-2.08425,-3.2768,-3.8315,-1.51462,-2.16902,-2.80966,-0.157176,-0.42899,-0.214548,-0.224455,-0.239494,-0.171283,-0.384143,-0.296476,-0.290515,-0.599535,-0.244424,-0.240616,-0.119758,-0.210443,-0.417498,-0.471965,-0.0734201,-0.278749,0.0365342,-0.182846,-0.371215,-0.42877,0.208146,0.1302 --5927.5,0.897053,0.394006,2,-0.198398,0.0365857,-2.26836,-2.2007,-1.81783,-2.49407,-2.31027,-2.44645,-1.80707,-2.21896,-1.97349,-2.24325,-2.28981,-1.34145,-2.76354,-2.92516,-1.3765,-1.31148,-1.82693,-2.78057,-3.57746,-1.45387,-2.18227,-3.08793,-0.252803,-0.183603,-0.276027,-0.235534,-0.205213,-0.456397,-0.326044,-0.0980655,-0.280494,-0.144185,-0.261004,-0.19925,-0.625247,0.36651,-0.209634,0.0292749,-0.355751,-0.111058,0.198196,-0.325524,-0.149246,-0.195405,0.197551,0.191274 --5928.84,0.838494,0.394006,2,-0.25944,0.0196161,-2.59658,-2.10696,-1.88492,-2.33551,-2.57002,-3.13524,-1.67139,-2.12937,-1.93035,-2.19632,-2.27585,-1.27091,-2.74803,-2.76106,-1.46504,-1.56494,-2.00106,-3.03063,-3.82184,-1.42203,-2.07272,-3.00827,0.121292,-0.105098,-0.312861,-0.316186,-0.303129,-0.215609,-0.423624,-0.256801,-0.0834005,-0.288794,-0.268451,-0.358284,-0.474247,0.0493735,-0.276116,-0.137967,-0.0196865,-0.103674,0.123727,-0.305486,-0.153359,-0.124829,0.513082,0.140058 --5920.55,0.997273,0.394006,3,-0.157711,0.0220794,-2.46956,-2.5176,-1.95368,-2.49046,-2.3105,-2.23547,-1.63962,-2.03902,-1.97153,-2.25517,-2.4149,-1.44479,-3.16963,-2.71452,-1.42399,-1.48881,-2.00294,-2.8261,-3.19358,-1.6134,-2.00222,-2.89241,-0.267314,-0.274434,-0.19785,-0.0701879,-0.0310923,0.217063,-0.471816,-0.131567,-0.360791,-0.331983,-0.129361,-0.191079,-0.151549,-0.100438,-0.0853144,-0.166428,-0.33377,-0.239447,-0.00707932,-0.0455897,-0.577809,-0.404973,0.184506,0.148592 --5921.95,0.731805,0.394006,3,-0.154792,0.0259114,-2.51834,-2.45523,-1.9167,-2.47782,-2.36545,-2.25553,-1.64318,-2.19701,-1.92786,-2.25585,-2.40923,-1.45746,-3.19044,-2.67255,-1.37534,-1.43338,-1.99798,-2.61525,-3.28722,-1.55619,-2.0157,-2.84344,-0.273383,-0.30102,-0.198551,-0.0535466,-0.00481905,0.189745,-0.418284,-0.117281,-0.388624,-0.255292,-0.135279,-0.237033,-0.0128884,-0.0905309,-0.246059,-0.192138,-0.331507,-0.295399,0.076921,-0.112868,-0.667096,-0.325516,0.192446,0.16097 --5925.34,0.94125,0.394006,3,-0.308572,0.0566761,-2.22291,-1.94138,-2.39015,-2.3407,-2.37799,-2.10319,-1.74674,-2.06154,-1.9565,-2.23316,-2.28522,-1.58669,-2.96921,-2.88524,-1.29502,-1.62088,-2.02936,-3.70168,-3.34834,-1.48572,-2.25415,-3.03554,-0.23754,-0.190385,-0.253428,-0.366641,-0.216714,-0.580104,-0.406038,-0.284253,-0.12363,-0.329103,-0.352534,-0.0946599,-0.565266,0.165374,-0.202911,-0.260878,0.0278859,0.218119,-0.40018,-0.29583,-0.228302,-0.300919,-0.758804,0.238067 --5922.32,0.718304,0.394006,2,-0.262152,0.0345117,-2.16703,-2.57284,-2.14617,-2.28898,-2.31332,-2.05155,-1.65607,-1.98364,-2.16033,-2.23129,-2.29884,-1.48819,-2.86038,-2.94118,-1.54712,-1.22175,-2.15896,-2.76057,-3.24394,-1.54893,-2.0563,-2.72072,-0.331679,-0.406853,-0.11893,-0.350514,-0.114225,-0.551352,-0.390666,-0.287467,-0.366485,-0.292743,-0.157843,-0.155695,-0.138793,0.224333,-0.109335,-0.357472,-0.262967,-0.188335,-0.506139,-0.220774,-0.408217,-0.466692,-0.481588,0.185773 --5922.89,0.853948,0.394006,2,-0.340431,0.0298652,-2.55691,-2.2471,-2.11431,-2.36157,-2.4153,-1.4541,-1.72272,-2.05153,-1.80123,-2.31338,-2.36052,-1.56614,-3.08715,-3.00009,-1.25618,-1.55478,-2.02834,-3.38692,-3.3769,-1.3992,-2.112,-2.63278,-0.351362,-0.36739,-0.216731,-0.349374,-0.0170462,-0.503897,-0.459373,-0.286638,-0.201474,-0.23505,-0.128888,-0.108548,-0.469716,0.388066,-0.290019,-0.175813,-0.296007,-0.411029,-0.302521,-0.185926,-0.455275,-0.722694,-0.157335,0.172816 --5922.79,0.894106,0.394006,2,-0.181047,0.0225666,-2.43867,-2.27711,-1.8083,-2.47995,-2.51211,-2.20578,-1.69651,-2.21633,-1.91262,-2.28223,-2.45143,-1.4897,-2.99658,-2.98052,-1.47953,-1.77662,-2.33434,-3.46488,-3.43469,-1.47902,-2.14281,-2.8903,-0.231449,-0.28496,-0.466415,-0.252011,-0.124067,-0.385649,-0.293613,-0.0860766,-0.473004,-0.186317,-0.217886,-0.21784,-0.437124,0.35857,-0.235425,-0.098735,-0.108234,-0.0697279,0.00384767,-0.307794,-0.138854,-0.673576,-0.223514,0.150222 --5921.08,0.953715,0.394006,2,-0.293161,0.0286779,-2.61815,-1.76587,-2.01203,-2.38101,-2.70765,-1.90847,-1.6699,-2.24469,-1.86406,-2.21047,-2.26046,-1.53764,-2.90139,-2.9198,-1.31666,-1.30989,-1.87498,-2.85811,-3.71306,-1.55847,-2.23509,-2.67746,-0.21192,-0.410716,-0.27191,-0.118445,0.00158713,-0.670696,-0.48207,-0.0483077,-0.280195,-0.37409,-0.188507,-0.00111001,-0.122917,0.129579,-0.162199,-0.350967,-0.164934,-0.216134,-0.210498,-0.167708,-0.411973,-0.452348,-0.185146,0.169345 --5927.87,0.526551,0.394006,2,-0.258966,0.0332586,-2.04864,-2.31538,-1.89675,-2.56209,-2.16269,-2.33762,-1.75952,-2.2164,-2.03558,-2.1952,-2.22575,-1.39526,-2.99293,-2.56501,-1.49063,-1.59068,-2.18277,-3.15647,-2.7222,-1.556,-2.03083,-2.96724,-0.234024,-0.689405,-0.490198,-0.17969,-0.30599,0.0856601,-0.28442,-0.153293,-0.274485,-0.270338,-0.499247,-0.40081,-0.564461,-0.105263,-0.28774,-0.217847,-0.181532,-0.138984,-0.448603,-0.160103,-0.411065,-0.369401,-0.354381,0.18237 --5924.34,0.97925,0.394006,3,-0.275076,0.0188431,-2.71852,-2.00571,-2.25476,-2.28875,-2.59381,-1.77614,-1.56286,-2.00051,-1.77606,-2.17309,-2.27588,-1.56037,-2.97425,-2.8306,-1.27491,-1.42169,-1.69772,-2.63477,-4.08111,-1.49535,-2.14065,-2.82813,-0.40303,-0.159844,-0.223737,-0.272176,-0.182562,-0.792588,-0.541282,-0.347869,-0.296606,-0.259398,-0.295319,0.025793,-0.111442,0.058699,-0.32573,-0.285879,-0.52895,-0.412402,-0.0654407,-0.433193,-0.402034,-0.41273,-0.275158,0.13727 --5924.41,0.869684,0.394006,2,-0.283392,0.0113136,-1.88783,-2.2836,-2.19161,-2.4494,-2.51802,-1.98725,-1.65398,-2.25731,-2.31427,-2.29715,-2.42272,-1.68248,-3.03088,-2.80604,-1.43425,-1.65655,-1.93825,-3.11401,-2.70161,-1.40373,-1.99668,-3.08437,-0.0656232,-0.366887,-0.262357,-0.292855,-0.109204,-0.25479,-0.509692,-0.0117071,-0.15932,-0.335108,-0.116047,-0.0798761,-0.543159,0.0131735,-0.115266,-0.185866,-0.0967191,-0.100607,-0.3611,-0.167326,-0.331107,-0.330814,-0.303397,0.106366 --5924.25,0.947421,0.394006,3,-0.331603,0.0167294,-2.00793,-2.16879,-1.86279,-2.34599,-2.47927,-2.2403,-1.73367,-2.12502,-2.04684,-2.36293,-2.33237,-1.35309,-3.07589,-2.6297,-1.38556,-1.75445,-2.22306,-3.01198,-3.19007,-1.30962,-2.02152,-3.1841,-0.186012,-0.340897,-0.463256,-0.408632,-0.254995,0.0820062,-0.306784,-0.242323,-0.253949,-0.124824,-0.301305,-0.576122,-0.326907,-0.134667,-0.404696,-0.249981,-0.317606,-0.243451,-0.29295,-0.355161,-0.454999,-0.439363,-0.276103,0.129342 --5915.03,0.965277,0.394006,2,-0.278724,0.00805869,-2.13799,-2.19823,-1.7036,-2.35408,-2.34556,-2.05426,-1.73559,-2.25856,-1.8403,-2.28158,-2.27679,-1.54671,-3.217,-2.91423,-1.4063,-1.529,-1.95887,-2.60092,-3.08647,-1.63565,-2.04691,-2.74418,-0.449971,-0.329094,-0.45141,-0.230672,-0.29039,-0.522544,-0.366895,-0.021704,-0.416906,-0.239716,-0.332874,-0.0524645,-0.325319,-0.108643,-0.28429,-0.211741,-0.241713,-0.365307,-0.356448,-0.348273,-0.289523,-0.245442,-0.368089,0.0897702 --5915.03,0.176489,0.394006,2,-0.278724,0.00805869,-2.13799,-2.19823,-1.7036,-2.35408,-2.34556,-2.05426,-1.73559,-2.25856,-1.8403,-2.28158,-2.27679,-1.54671,-3.217,-2.91423,-1.4063,-1.529,-1.95887,-2.60092,-3.08647,-1.63565,-2.04691,-2.74418,-0.449971,-0.329094,-0.45141,-0.230672,-0.29039,-0.522544,-0.366895,-0.021704,-0.416906,-0.239716,-0.332874,-0.0524645,-0.325319,-0.108643,-0.28429,-0.211741,-0.241713,-0.365307,-0.356448,-0.348273,-0.289523,-0.245442,-0.368089,0.0897702 --5924.01,0.823594,0.394006,2,-0.313958,0.0110587,-2.81546,-2.16101,-2.36031,-2.32378,-2.26387,-1.78433,-1.88448,-2.11487,-2.174,-2.25918,-2.20503,-1.4708,-2.88786,-2.75109,-1.13497,-1.51622,-1.74256,-3.49212,-3.30274,-1.75247,-2.0237,-3.05318,-0.246867,-0.323658,-0.224615,-0.401759,-0.33834,-0.217291,-0.301894,-0.241339,-0.260297,-0.430267,-0.314185,-0.0618887,-0.346699,0.134547,-0.419912,-0.413431,-0.413129,-0.0302248,-0.307595,-0.239275,-0.471562,-0.513588,-0.498218,0.10516 --5920.03,0.966631,0.394006,2,-0.300697,0.011488,-2.82717,-2.11477,-2.19178,-2.25365,-2.46861,-2.31552,-1.81958,-2.19612,-1.93005,-2.23499,-2.18005,-1.5015,-2.89057,-2.81306,-1.18964,-1.37281,-1.6298,-3.06721,-3.15883,-1.82079,-1.97201,-2.79793,-0.227039,-0.300253,-0.154374,-0.383083,-0.360587,-0.36081,-0.152533,-0.289685,-0.298883,-0.202257,-0.2936,-0.400341,-0.276199,-0.000552969,-0.316813,-0.223825,-0.339347,-0.0641449,-0.313425,-0.260482,-0.374353,-0.39168,-0.493166,0.107182 --5921.06,0.754805,0.394006,2,-0.274224,0.0104636,-2.14146,-1.98102,-2.13019,-2.31004,-2.53964,-2.43142,-1.81859,-2.16892,-1.81902,-2.27574,-2.30945,-1.29892,-2.99958,-3.02101,-1.30763,-1.60101,-1.79641,-2.76674,-3.08892,-1.43023,-2.08718,-2.6969,-0.407431,-0.685396,-0.355333,-0.356963,0.0425122,-0.102176,-0.353951,0.0132643,-0.253157,-0.294581,-0.378461,-0.137778,-0.330601,0.317072,-0.372037,-0.185755,-0.368836,-0.385563,-0.283906,-0.247026,-0.317975,-0.394261,-0.158927,0.102292 --5921.7,0.971552,0.394006,2,-0.252314,0.0215665,-2.01528,-2.13704,-2.54909,-2.22529,-2.55476,-2.97453,-1.73181,-2.1768,-2.08209,-2.21034,-2.33719,-1.41881,-2.72404,-2.90933,-1.1416,-1.4059,-1.87411,-2.78304,-3.28291,-1.52123,-2.00463,-2.6824,-0.0644959,-0.586792,-0.17814,-0.326378,-0.0417363,-0.176509,-0.294725,-0.21906,-0.294468,-0.295464,-0.303477,-0.287397,-0.248385,0.239145,-0.352655,-0.321939,-0.351694,-0.069006,-0.295063,-0.159894,-0.190457,-0.416181,-0.260258,0.146855 --5926.98,0.885936,0.394006,2,-0.269293,0.0165388,-2.60643,-2.04005,-1.87763,-2.34667,-2.39823,-2.75871,-1.64003,-2.19064,-1.74252,-2.12628,-2.39333,-1.35623,-2.95787,-3.00051,-1.4098,-1.50551,-1.79668,-3.13796,-2.69503,-1.50636,-2.24094,-2.60118,-0.125366,-0.685823,-0.141167,-0.389696,-0.357331,-0.205127,-0.364993,0.117683,-0.274102,-0.380542,-0.258192,-0.316405,-0.267756,0.170605,-0.365179,-0.144634,-0.192647,-0.140606,-0.423,-0.203446,-0.502542,-0.50718,-0.352857,0.128603 --5917.67,1,0.394006,3,-0.295089,0.015037,-2.54874,-2.30043,-2.11927,-2.43935,-2.57621,-2.34986,-1.6731,-1.83512,-1.91416,-2.23308,-2.33674,-1.5595,-2.83714,-2.83288,-1.30301,-1.50671,-1.85671,-2.44605,-3.51585,-1.47463,-2.11797,-2.85329,-0.182036,-0.332525,-0.386536,-0.278041,-0.115861,-0.34036,-0.360972,-0.377926,-0.0697043,-0.268067,-0.316,-0.183569,-0.338045,0.0586751,-0.533771,-0.130006,-0.216162,-0.382479,-0.378337,-0.37464,-0.60549,-0.302479,-0.443148,0.122626 --5919.26,0.928642,0.394006,2,-0.325693,0.0127047,-2.69,-2.46977,-2.1891,-2.43722,-2.57093,-2.33688,-1.66948,-1.87681,-1.90168,-2.25706,-2.31945,-1.60553,-2.89726,-2.82373,-1.25392,-1.54519,-1.90383,-2.22795,-3.53249,-1.57088,-2.14553,-2.91329,-0.142747,-0.377613,-0.400573,-0.242393,-0.108926,-0.32783,-0.37708,-0.403572,-0.0640856,-0.260165,-0.323469,-0.187126,-0.284836,0.0180531,-0.484279,-0.141084,-0.252987,-0.33959,-0.261802,-0.402906,-0.548423,-0.324399,-0.390519,0.112715 --5923.31,0.577016,0.394006,3,-0.290359,0.0141271,-2.48647,-2.39124,-1.948,-2.49185,-2.56292,-2.37805,-1.71342,-2.02561,-1.88106,-2.29108,-2.24984,-1.56755,-3.00831,-2.86974,-1.2067,-1.7565,-1.9601,-2.39169,-4.06479,-1.41251,-2.2137,-2.78831,0.101557,-0.401996,-0.458376,-0.25097,-0.265112,-0.0950757,-0.193884,-0.231557,-0.340347,-0.347299,-0.427088,-0.204173,-0.388168,-0.0625822,-0.385448,-0.254464,-0.257565,-0.368183,-0.354052,-0.416129,-0.367608,-0.532485,-0.288404,0.118857 --5917.76,0.850813,0.394006,2,-0.195888,0.0130883,-2.80577,-2.2054,-1.8743,-2.54131,-2.37556,-1.92062,-1.71494,-2.06936,-1.80706,-2.19743,-2.29971,-1.40984,-3.13731,-2.5659,-1.40093,-1.39144,-2.14176,-3.35162,-2.85029,-1.51468,-2.05549,-2.90296,-0.301688,-0.191451,-0.170491,0.0272325,-0.0497902,-0.395194,-0.494883,-0.325005,-0.400822,-0.285576,-0.132028,-0.18576,-0.13587,-0.278697,-0.201628,-0.148666,-0.177955,-0.282614,-0.188245,-0.124121,-0.337757,-0.234582,-0.24548,0.114404 --5922.04,0.889228,0.394006,2,-0.182404,0.00883122,-2.48476,-2.10263,-1.94755,-2.49813,-2.49203,-1.96511,-1.71777,-1.88044,-1.97698,-2.18945,-2.44686,-1.46195,-3.06335,-2.6056,-1.62666,-1.47959,-2.20759,-3.3638,-2.94053,-1.62556,-1.99565,-2.91136,-0.446805,-0.0500626,-0.165823,0.00156117,-0.179142,-0.154954,-0.524728,-0.284296,-0.239081,-0.404373,-0.125478,-0.11935,-0.212031,-0.249539,-0.175617,-0.148161,-0.00862085,-0.0489201,-0.00779756,-0.0456055,-0.295846,-0.248742,-0.24153,0.0939746 --5919.74,0.986105,0.394006,2,-0.159364,0.014222,-1.93586,-2.34989,-2.38596,-2.44495,-2.35186,-2.45737,-1.61332,-2.10107,-1.70735,-2.1938,-2.26806,-1.44713,-3.11451,-2.72593,-1.40029,-1.58076,-2.06117,-2.78453,-3.45724,-1.72293,-2.05844,-3.23036,-0.159708,-0.248138,-0.0644083,-0.235404,-0.0427738,-0.155409,-0.505302,-0.19616,-0.250047,-0.280668,-0.246926,-0.187938,-0.0660067,0.0336491,0.0567746,-0.0803529,-0.34066,-0.189637,-0.275371,-0.228101,-0.570753,-0.242423,-0.091931,0.119256 --5916.57,0.922736,0.394006,3,-0.299272,0.00379293,-2.92297,-2.0332,-1.86817,-2.4549,-2.37737,-1.92412,-1.8005,-2.14207,-2.16914,-2.30406,-2.39021,-1.49153,-2.69307,-2.70442,-1.14983,-1.3316,-2.12623,-3.11932,-3.38367,-1.2699,-2.23245,-2.69382,-0.360954,-0.367348,-0.278575,-0.35584,-0.239336,-0.30543,-0.221595,-0.283606,-0.123097,-0.257761,-0.311985,-0.301678,-0.459723,-0.115817,-0.67106,-0.241539,-0.290557,-0.297636,-0.376986,-0.266012,-0.248715,-0.407736,-0.206706,0.0615868 --5915.96,0.892306,0.394006,3,-0.264158,0.00592168,-2.10832,-2.17728,-2.39998,-2.46479,-2.38907,-2.26777,-1.60579,-2.09758,-1.65979,-2.17821,-2.26079,-1.32931,-3.35622,-2.6106,-1.63207,-1.64171,-1.77872,-3.17317,-3.26421,-1.70313,-2.06485,-3.12913,-0.256466,-0.314933,-0.314815,-0.323413,-0.28512,-0.150017,-0.327496,-0.249248,-0.213908,-0.31527,-0.318327,-0.301944,-0.337723,-0.267354,-0.0248507,-0.0860993,-0.329247,-0.137668,-0.358817,-0.172959,-0.374253,-0.240543,-0.305067,0.0769524 --5916.51,0.173444,0.394006,2,-0.271449,0.00570781,-2.04277,-2.77824,-1.72924,-2.41095,-2.4935,-2.27258,-1.7344,-2.16196,-2.05509,-2.10765,-2.37594,-1.39473,-3.05242,-2.70127,-1.2644,-1.57252,-1.81624,-2.41618,-3.58984,-1.76986,-2.1123,-2.88404,-0.273063,-0.235771,-0.251867,-0.153597,-0.205675,-0.362415,-0.351494,-0.219492,-0.523246,-0.422866,-0.203026,-0.215083,-0.151592,-0.153047,-0.353937,-0.340524,-0.176818,-0.385821,-0.195463,-0.307023,-0.250575,-0.2837,-0.186114,0.07555 --5912.07,0.96827,0.394006,2,-0.185428,0.00279922,-2.75048,-1.83138,-2.52049,-2.40093,-2.30475,-2.25209,-1.75979,-2.05611,-1.80873,-2.27747,-2.33376,-1.50105,-2.94595,-2.68174,-1.5054,-1.45562,-2.07266,-3.61701,-3.41495,-1.2379,-2.1417,-2.99336,-0.317312,-0.309485,-0.172833,-0.239926,-0.145608,-0.348649,-0.199442,-0.193109,-0.00714924,-0.189792,-0.124565,-0.138647,-0.285421,-0.118561,-0.173303,-0.214492,-0.0954579,-0.233281,-0.137279,-0.241934,-0.151049,-0.211051,-0.118943,0.0529077 --5919.91,0.66116,0.394006,2,-0.239745,0.0143409,-3.44508,-2.2549,-2.33651,-2.3897,-2.43006,-2.69183,-1.74005,-2.11083,-1.98738,-2.23247,-2.27766,-1.59876,-2.73175,-2.94451,-1.27829,-1.32244,-1.84664,-3.01901,-3.57428,-1.23611,-2.29952,-3.04077,0.0765014,-0.166934,-0.323078,-0.18057,-0.238473,0.0101664,-0.340727,-0.21648,-0.604771,-0.29385,-0.339196,-0.171699,-0.299972,0.00569193,-0.25058,-0.272939,-0.313589,-0.0756953,-0.273111,-0.208819,-0.325755,-0.226177,-0.264643,0.119753 --5922.53,0.629874,0.394006,2,-0.241447,0.0115356,-1.88001,-2.19606,-2.05528,-2.41975,-2.76767,-1.80874,-1.60797,-2.20468,-1.79646,-2.26387,-2.25763,-1.58175,-2.95093,-2.66077,-1.34065,-1.50833,-1.81477,-3.50239,-3.24942,-1.50376,-2.15237,-2.76419,-0.414368,-0.291009,-0.130411,-0.275147,0.131793,-0.342136,-0.536475,-0.168846,-0.142502,-0.308353,-0.314741,-0.0435865,-0.129169,-0.0336724,-0.495442,-0.07437,-0.442115,-0.099455,-0.122677,-0.368672,-0.286409,-0.38016,-0.325769,0.107404 --5920.14,1,0.394006,2,-0.236288,0.0159135,-1.67814,-2.32865,-2.27981,-2.43268,-2.79268,-1.85906,-1.63814,-2.18023,-1.8538,-2.29039,-2.24795,-1.60019,-2.98502,-2.71416,-1.28902,-1.51169,-1.86837,-3.48978,-3.26559,-1.49328,-2.21905,-2.74193,-0.343675,-0.251032,-0.125977,-0.291579,0.164052,-0.331461,-0.53213,-0.15044,-0.229225,-0.292999,-0.34242,-0.114198,-0.141328,-0.0302436,-0.404923,-0.0979786,-0.515465,-0.113491,-0.127929,-0.369018,-0.287835,-0.354928,-0.356707,0.126149 --5924.09,0.402783,0.394006,3,-0.17775,0.0358177,-3.38654,-1.99858,-2.17087,-2.33728,-2.51163,-2.38452,-1.60031,-2.14592,-2.02242,-2.12084,-2.44182,-1.61281,-3.12672,-2.63279,-1.348,-1.43865,-2.14224,-2.7192,-3.69871,-1.47796,-2.25033,-2.9987,0.141082,-0.35897,-0.26503,-0.345866,0.179373,-0.299502,-0.3705,-0.193407,-0.407659,-0.370253,-0.0568508,0.0927493,-0.46886,0.0144609,-0.206747,-0.31804,0.137917,-0.239526,-0.199844,-0.156979,-0.224104,-0.359667,-0.228171,0.189256 --5923.44,0.932673,0.394006,3,-0.250039,0.00999407,-2.01734,-2.0731,-2.08457,-2.35186,-2.31259,-2.58946,-1.67985,-2.12976,-2.13594,-2.25604,-2.17677,-1.64743,-3.31915,-2.76722,-1.29716,-1.57863,-2.10689,-2.97021,-3.39374,-1.45706,-1.92246,-2.86956,-0.70754,-0.150992,-0.246712,-0.135318,-0.295704,-0.144873,-0.23357,-0.177194,-0.305911,-0.146889,-0.459539,-0.277984,-0.294191,0.13642,-0.250765,-0.133853,-0.00976943,-0.0428954,-0.239295,-0.267546,-0.319241,-0.411692,-0.138436,0.0999703 --5930.16,0.776886,0.394006,3,-0.155847,0.0099424,-3.11664,-2.0057,-2.30281,-2.41993,-2.50629,-2.09161,-1.72039,-2.12386,-1.81544,-2.3172,-2.25114,-1.24036,-3.06813,-2.819,-1.56614,-1.23512,-2.18503,-3.2603,-3.79006,-1.58151,-2.31879,-3.12766,-0.617546,-0.367993,-0.0917164,-0.333632,-0.0928078,-0.250973,-0.55484,-0.168984,-0.11606,-0.309486,-0.184844,-0.110825,-0.100719,-0.100719,-0.174029,-0.539714,-0.0941517,0.0237296,-0.139575,-0.207768,-0.284071,-0.0766449,-0.350182,0.0997116 --5923.33,1,0.394006,2,-0.239095,0.015747,-2.92618,-1.78116,-2.19884,-2.27036,-2.52876,-2.47446,-1.59914,-2.23226,-1.9314,-2.2267,-2.2763,-1.26051,-2.90955,-2.68687,-1.47007,-1.40142,-1.93773,-3.26516,-3.49286,-1.65321,-2.30858,-3.1078,0.056415,-0.211524,-0.217304,-0.0564576,0.0300997,-0.200624,-0.560544,-0.0765641,-0.337335,-0.289459,-0.247505,-0.362916,-0.145971,0.0765877,-0.25225,-0.329017,-0.241178,-0.160975,-0.210968,-0.162956,-0.17084,-0.198473,-0.216129,0.125487 --5922.32,0.77579,0.394006,2,-0.211592,0.00897655,-2.03743,-2.16904,-2.00184,-2.49533,-2.21323,-2.43573,-1.51283,-2.38898,-2.15385,-2.35482,-2.34331,-1.42657,-3.10399,-2.77067,-1.35263,-1.60421,-1.64802,-3.34962,-3.55747,-1.46253,-1.80306,-2.97041,-0.361378,-0.277166,-0.23151,-0.372657,-0.237446,-0.160735,-0.585632,-0.164161,-0.172496,-0.152485,-0.220606,-0.0725336,-0.132764,-0.239626,-0.153099,-0.0499873,-0.186176,-0.181588,-0.186688,-0.206175,-0.371525,-0.223082,-0.165256,0.0947446 --5917,0.733385,0.394006,2,-0.214874,0.0105295,-1.81915,-2.23846,-2.17088,-2.29013,-2.33439,-2.09895,-1.57726,-2.02249,-2.02166,-2.3262,-2.34388,-1.45569,-2.90078,-2.75833,-1.49236,-1.30814,-2.29485,-2.61786,-3.11672,-1.45799,-1.94654,-2.92828,-0.195188,-0.299166,-0.0848313,-0.269787,-0.15211,-0.21847,-0.584532,-0.0322624,-0.279384,-0.206362,-0.230635,-0.0309359,-0.383265,0.124453,-0.162573,-0.30814,-0.285957,-0.089848,-0.279449,-0.262408,-0.30399,-0.249826,-0.221069,0.102613 --5920.11,0.408169,0.394006,3,-0.182055,0.0132202,-3.39864,-2.23504,-2.18003,-2.41159,-2.32268,-1.97695,-1.78537,-2.03203,-1.84486,-2.22708,-2.35803,-1.30066,-2.74259,-2.59194,-1.31083,-1.58917,-2.1345,-3.09024,-4.37975,-1.56361,-2.12909,-2.82829,-0.0542892,-0.286243,-0.38196,-0.153992,-0.225812,-0.196933,-0.305654,-0.12168,-0.396846,-0.364091,-0.216404,-0.235948,-0.105045,-0.0609744,-0.225685,-0.155552,-0.424075,-0.0669562,-0.200167,-0.13899,-0.161491,-0.180836,-0.267687,0.114979 --5923.12,0.778638,0.394006,2,-0.188193,0.00510837,-2.64206,-1.92253,-1.85052,-2.56027,-2.49695,-2.66122,-1.69032,-2.26594,-1.85802,-2.25133,-2.30256,-1.32828,-3.56898,-2.87543,-1.30274,-1.58719,-1.89364,-2.86456,-3.7312,-1.50595,-2.19742,-2.99816,-0.244445,-0.155542,-0.501149,-0.20098,-0.0469601,-0.206922,-0.298102,-0.195376,-0.186598,-0.124982,-0.242898,-0.220557,-0.203238,-0.126411,-0.258196,-0.318416,-0.116741,0.00776381,0.121543,-0.017015,-0.292306,-0.286558,-0.140526,0.0714729 --5921.6,0.969304,0.394006,2,-0.209347,0.002769,-2.25152,-2.48489,-2.2836,-2.32594,-2.31777,-1.78175,-1.87171,-1.9333,-2.10863,-2.27661,-2.3682,-1.72572,-2.60649,-2.72867,-1.36811,-1.51181,-2.17734,-3.05505,-2.92069,-1.55684,-2.11316,-2.83589,-0.122977,-0.199398,-0.042005,-0.249599,-0.185803,-0.276347,-0.215976,-0.284065,-0.269415,-0.274385,-0.14407,-0.0862695,-0.279184,-0.149461,-0.154201,0.00876046,-0.119136,-0.238892,-0.532225,-0.312387,-0.327549,-0.278118,-0.301113,0.0526213 --5921.6,0.0620647,0.394006,3,-0.209347,0.002769,-2.25152,-2.48489,-2.2836,-2.32594,-2.31777,-1.78175,-1.87171,-1.9333,-2.10863,-2.27661,-2.3682,-1.72572,-2.60649,-2.72867,-1.36811,-1.51181,-2.17734,-3.05505,-2.92069,-1.55684,-2.11316,-2.83589,-0.122977,-0.199398,-0.042005,-0.249599,-0.185803,-0.276347,-0.215976,-0.284065,-0.269415,-0.274385,-0.14407,-0.0862695,-0.279184,-0.149461,-0.154201,0.00876046,-0.119136,-0.238892,-0.532225,-0.312387,-0.327549,-0.278118,-0.301113,0.0526213 --5925.59,0.705782,0.394006,2,-0.250672,0.00600311,-2.98403,-1.88265,-2.35667,-2.3894,-2.4372,-2.83117,-1.5636,-2.21022,-1.92768,-2.2114,-2.14632,-1.22914,-3.37444,-2.61241,-1.39689,-1.60599,-1.68588,-2.90958,-4.14779,-1.57685,-2.15959,-3.07242,-0.285031,-0.261467,-0.508505,-0.303534,-0.0903832,-0.106357,-0.585328,-0.16696,-0.234221,-0.322427,-0.431282,-0.292862,-0.238969,-0.125911,-0.345031,-0.310358,-0.354228,-0.193066,0.0911401,0.0077468,-0.264487,-0.261686,-0.218338,0.0774797 --5918.93,0.898939,0.394006,2,-0.181745,0.00824835,-2.22149,-2.62591,-2.08027,-2.39313,-2.53816,-2.35153,-1.65848,-2.0806,-2.07916,-2.19273,-2.39299,-1.73995,-3.05889,-2.74364,-1.17722,-1.52443,-2.2723,-3.17503,-3.7079,-1.79473,-2.31262,-2.90142,-0.129129,-0.232389,0.0579843,-0.175621,-0.251419,-0.383177,-0.432706,-0.205608,-0.253159,-0.331906,-0.0758018,-0.0828927,-0.162271,-0.158353,-0.156123,-0.03848,-0.0228791,-0.211959,-0.377327,-0.0688633,-0.221652,-0.241276,-0.265961,0.0908204 --5917.44,0.878144,0.394006,2,-0.150787,0.00967502,-2.31072,-2.55053,-2.07479,-2.42009,-2.49542,-2.26979,-1.68319,-2.1333,-2.10003,-2.18825,-2.39562,-1.67065,-3.04117,-2.68285,-1.27309,-1.48281,-2.29417,-3.19552,-3.36326,-1.80933,-2.289,-2.91735,-0.129429,-0.260011,-0.0285478,-0.240463,-0.194913,-0.349798,-0.43929,-0.223127,-0.211813,-0.339046,-0.0591933,-0.118501,-0.130976,-0.187225,-0.172013,-0.0783273,-0.0592848,-0.245346,-0.453169,-0.040279,-0.179123,-0.213689,-0.343327,0.0983617 --5917.3,0.775036,0.394006,2,-0.151651,0.00769507,-2.5343,-1.88707,-2.08475,-2.41422,-2.55214,-2.50062,-1.83955,-2.08225,-1.78598,-2.36578,-2.32675,-1.29893,-3.01751,-2.85697,-1.52477,-1.76974,-1.96454,-2.68076,-3.19566,-1.36011,-2.07277,-2.98904,-0.219814,-0.21139,-0.376516,-0.132408,0.00649773,0.0323061,-0.315332,-0.0752289,-0.392584,-0.208992,-0.2887,-0.145429,-0.136654,-0.0749557,-0.199922,-0.157996,-0.168479,-0.205929,-0.162179,-0.261146,-0.191457,-0.162677,0.0268958,0.0877215 --5919.19,0.589008,0.394006,3,-0.182381,0.00401735,-2.34394,-1.82222,-2.23173,-2.39465,-2.54641,-2.2464,-1.84447,-2.155,-1.81859,-2.39565,-2.22981,-1.28078,-2.86631,-2.79908,-1.73162,-1.65702,-1.98802,-2.58681,-3.18785,-1.42611,-2.18829,-2.86965,-0.182135,-0.336672,-0.339454,-0.22242,-0.0771701,-0.130028,-0.272126,-0.284012,-0.213374,-0.200081,-0.21753,-0.288303,-0.072256,-0.156959,0.0500053,-0.192202,-0.186671,-0.177744,0.00497548,-0.0955942,-0.170712,-0.207616,-0.0363122,0.0633826 --5919.19,0.21664,0.394006,2,-0.182381,0.00401735,-2.34394,-1.82222,-2.23173,-2.39465,-2.54641,-2.2464,-1.84447,-2.155,-1.81859,-2.39565,-2.22981,-1.28078,-2.86631,-2.79908,-1.73162,-1.65702,-1.98802,-2.58681,-3.18785,-1.42611,-2.18829,-2.86965,-0.182135,-0.336672,-0.339454,-0.22242,-0.0771701,-0.130028,-0.272126,-0.284012,-0.213374,-0.200081,-0.21753,-0.288303,-0.072256,-0.156959,0.0500053,-0.192202,-0.186671,-0.177744,0.00497548,-0.0955942,-0.170712,-0.207616,-0.0363122,0.0633826 --5917.21,0.544936,0.394006,3,-0.248396,0.0107157,-2.68668,-2.4831,-1.98537,-2.48023,-2.22029,-2.1684,-1.68784,-2.1595,-1.97162,-2.1975,-2.47102,-1.68451,-3.1901,-2.70578,-0.961627,-1.41052,-1.96287,-3.36067,-3.70762,-1.72205,-2.13594,-3.06138,-0.214756,-0.191993,-0.239562,-0.315784,-0.223243,-0.242508,-0.409945,-0.26694,-0.241619,-0.415217,-0.130833,-0.352213,-0.229417,0.0102242,-0.397976,-0.288195,-0.20054,-0.272998,-0.137897,-0.339621,-0.310108,-0.256599,-0.187062,0.103517 --5913,0.869327,0.394006,2,-0.233233,0.00237193,-2.02291,-2.16553,-2.40077,-2.2948,-2.39176,-1.92451,-1.75863,-1.98487,-1.97953,-2.24188,-2.34733,-1.34323,-2.55417,-2.78443,-1.38554,-1.6186,-2.077,-2.67014,-2.91134,-1.15935,-2.02119,-3.03986,-0.322444,-0.340804,-0.201511,-0.2115,-0.298936,-0.162101,-0.209517,-0.26083,-0.244694,-0.199978,-0.244158,-0.0838165,-0.211569,-0.297701,-0.181633,-0.234983,-0.278733,-0.12679,-0.295961,-0.223717,-0.272459,-0.245852,-0.147542,0.0487025 --5913,1.2323e-05,0.394006,2,-0.233233,0.00237193,-2.02291,-2.16553,-2.40077,-2.2948,-2.39176,-1.92451,-1.75863,-1.98487,-1.97953,-2.24188,-2.34733,-1.34323,-2.55417,-2.78443,-1.38554,-1.6186,-2.077,-2.67014,-2.91134,-1.15935,-2.02119,-3.03986,-0.322444,-0.340804,-0.201511,-0.2115,-0.298936,-0.162101,-0.209517,-0.26083,-0.244694,-0.199978,-0.244158,-0.0838165,-0.211569,-0.297701,-0.181633,-0.234983,-0.278733,-0.12679,-0.295961,-0.223717,-0.272459,-0.245852,-0.147542,0.0487025 --5908.38,0.38309,0.394006,1,-0.227048,0.00555922,-3.04393,-2.32451,-2.25422,-2.43943,-2.40111,-2.69318,-1.78362,-2.01389,-2.19063,-2.19717,-2.20044,-1.33316,-2.99563,-2.67356,-1.35509,-1.58596,-2.13242,-2.82971,-3.39214,-1.32603,-2.18812,-2.80383,-0.0936436,-0.219276,-0.245971,-0.229576,-0.10295,-0.302408,-0.303317,-0.196745,-0.234938,-0.305671,-0.242794,-0.334125,-0.228078,-0.0115109,-0.257164,-0.197362,-0.110614,-0.314868,-0.158629,-0.341228,-0.0888886,-0.236506,-0.290351,0.0745602 --5911,0.253644,0.394006,2,-0.2457,0.00584546,-3.10302,-2.18766,-2.17384,-2.42103,-2.3386,-1.97883,-1.76129,-2.27612,-2.01469,-2.2706,-2.16317,-1.47957,-2.92342,-2.81931,-1.12315,-1.65725,-1.88243,-2.99747,-3.59337,-1.35611,-2.22328,-2.83963,-0.200078,-0.24443,-0.350988,-0.286721,-0.347902,-0.386213,-0.305705,-0.255058,-0.33768,-0.317947,-0.175136,-0.285267,-0.23719,-0.236068,-0.162208,-0.181149,-0.150592,-0.168129,-0.229539,-0.327006,-0.213908,-0.13954,-0.279864,0.0764556 --5915.95,0.000158409,0.394006,2,-0.208928,0.00144156,-3.08965,-2.36826,-2.06121,-2.38709,-2.44325,-2.56198,-1.77346,-2.05377,-1.82954,-2.28173,-2.39408,-1.65123,-3.32261,-2.63384,-1.36024,-1.17566,-1.65252,-2.88465,-3.43884,-1.56439,-2.13505,-3.065,-0.229192,-0.242171,-0.167445,-0.19488,-0.15654,-0.208017,-0.233057,-0.192586,-0.236705,-0.190451,-0.26914,-0.11054,-0.188839,-0.0398172,-0.385741,-0.273322,-0.3851,-0.236927,-0.297837,-0.180075,-0.260074,-0.37804,-0.109494,0.0379679 --5911.88,1.44149e-09,0.394006,2,-0.199753,0.00322267,-2.93857,-2.3626,-2.0955,-2.40832,-2.49506,-2.52364,-1.79347,-2.06341,-1.87126,-2.27886,-2.42607,-1.60404,-3.26587,-2.72009,-1.33069,-1.23792,-1.64822,-2.71002,-3.474,-1.53368,-2.21136,-3.09248,-0.258136,-0.250693,-0.298558,-0.150065,-0.179874,-0.176418,-0.22245,-0.22625,-0.193578,-0.229204,-0.240697,-0.0999881,-0.134825,-0.0838035,-0.326878,-0.333774,-0.419214,-0.143146,-0.122949,-0.170378,-0.214328,-0.39923,-0.114885,0.0567686 --5911.88,0.0738957,0.394006,2,-0.199753,0.00322267,-2.93857,-2.3626,-2.0955,-2.40832,-2.49506,-2.52364,-1.79347,-2.06341,-1.87126,-2.27886,-2.42607,-1.60404,-3.26587,-2.72009,-1.33069,-1.23792,-1.64822,-2.71002,-3.474,-1.53368,-2.21136,-3.09248,-0.258136,-0.250693,-0.298558,-0.150065,-0.179874,-0.176418,-0.22245,-0.22625,-0.193578,-0.229204,-0.240697,-0.0999881,-0.134825,-0.0838035,-0.326878,-0.333774,-0.419214,-0.143146,-0.122949,-0.170378,-0.214328,-0.39923,-0.114885,0.0567686 --5909.86,0.7092,0.394006,2,-0.204352,0.00405929,-2.28319,-2.10255,-2.1026,-2.44448,-2.50571,-2.20568,-1.78431,-2.13047,-2.04115,-2.33394,-2.29663,-1.49141,-3.25241,-2.77195,-1.24837,-1.18836,-1.77935,-2.76589,-3.29085,-1.32554,-2.39222,-2.96428,-0.211296,-0.182194,-0.154656,-0.213433,-0.264406,-0.127194,-0.167734,-0.239445,-0.292787,-0.223975,-0.178253,-0.268855,-0.27287,-0.170107,-0.235197,-0.322772,-0.238292,-0.34694,-0.103641,-0.266067,-0.261085,-0.0752839,-0.118555,0.0637125 --5909.86,0.333358,0.394006,2,-0.204352,0.00405929,-2.28319,-2.10255,-2.1026,-2.44448,-2.50571,-2.20568,-1.78431,-2.13047,-2.04115,-2.33394,-2.29663,-1.49141,-3.25241,-2.77195,-1.24837,-1.18836,-1.77935,-2.76589,-3.29085,-1.32554,-2.39222,-2.96428,-0.211296,-0.182194,-0.154656,-0.213433,-0.264406,-0.127194,-0.167734,-0.239445,-0.292787,-0.223975,-0.178253,-0.268855,-0.27287,-0.170107,-0.235197,-0.322772,-0.238292,-0.34694,-0.103641,-0.266067,-0.261085,-0.0752839,-0.118555,0.0637125 --5909.86,7.49005e-07,0.394006,2,-0.204352,0.00405929,-2.28319,-2.10255,-2.1026,-2.44448,-2.50571,-2.20568,-1.78431,-2.13047,-2.04115,-2.33394,-2.29663,-1.49141,-3.25241,-2.77195,-1.24837,-1.18836,-1.77935,-2.76589,-3.29085,-1.32554,-2.39222,-2.96428,-0.211296,-0.182194,-0.154656,-0.213433,-0.264406,-0.127194,-0.167734,-0.239445,-0.292787,-0.223975,-0.178253,-0.268855,-0.27287,-0.170107,-0.235197,-0.322772,-0.238292,-0.34694,-0.103641,-0.266067,-0.261085,-0.0752839,-0.118555,0.0637125 --5907.27,6.42773e-05,0.394006,2,-0.222366,0.00397887,-2.31526,-1.85085,-2.3386,-2.59237,-2.41183,-1.82714,-1.79572,-2.23536,-2.05611,-2.29214,-2.28931,-1.49309,-3.14607,-2.66578,-1.29867,-1.24447,-1.82027,-2.6236,-3.09013,-1.20802,-2.26612,-2.84689,-0.188158,-0.268927,-0.237997,-0.19833,-0.20841,-0.33756,-0.2695,-0.23819,-0.36917,-0.217363,-0.252137,-0.237406,-0.1343,-0.189421,-0.223503,-0.277372,-0.270711,-0.188996,-0.132504,-0.232004,-0.233406,-0.196988,-0.137607,0.0630783 --5907.27,4.03774e-23,0.394006,2,-0.222366,0.00397887,-2.31526,-1.85085,-2.3386,-2.59237,-2.41183,-1.82714,-1.79572,-2.23536,-2.05611,-2.29214,-2.28931,-1.49309,-3.14607,-2.66578,-1.29867,-1.24447,-1.82027,-2.6236,-3.09013,-1.20802,-2.26612,-2.84689,-0.188158,-0.268927,-0.237997,-0.19833,-0.20841,-0.33756,-0.2695,-0.23819,-0.36917,-0.217363,-0.252137,-0.237406,-0.1343,-0.189421,-0.223503,-0.277372,-0.270711,-0.188996,-0.132504,-0.232004,-0.233406,-0.196988,-0.137607,0.0630783 --5907.27,5.58228e-14,0.394006,2,-0.222366,0.00397887,-2.31526,-1.85085,-2.3386,-2.59237,-2.41183,-1.82714,-1.79572,-2.23536,-2.05611,-2.29214,-2.28931,-1.49309,-3.14607,-2.66578,-1.29867,-1.24447,-1.82027,-2.6236,-3.09013,-1.20802,-2.26612,-2.84689,-0.188158,-0.268927,-0.237997,-0.19833,-0.20841,-0.33756,-0.2695,-0.23819,-0.36917,-0.217363,-0.252137,-0.237406,-0.1343,-0.189421,-0.223503,-0.277372,-0.270711,-0.188996,-0.132504,-0.232004,-0.233406,-0.196988,-0.137607,0.0630783 --5907.27,2.3401e-05,0.394006,2,-0.222366,0.00397887,-2.31526,-1.85085,-2.3386,-2.59237,-2.41183,-1.82714,-1.79572,-2.23536,-2.05611,-2.29214,-2.28931,-1.49309,-3.14607,-2.66578,-1.29867,-1.24447,-1.82027,-2.6236,-3.09013,-1.20802,-2.26612,-2.84689,-0.188158,-0.268927,-0.237997,-0.19833,-0.20841,-0.33756,-0.2695,-0.23819,-0.36917,-0.217363,-0.252137,-0.237406,-0.1343,-0.189421,-0.223503,-0.277372,-0.270711,-0.188996,-0.132504,-0.232004,-0.233406,-0.196988,-0.137607,0.0630783 --5907.14,0.0719536,0.394006,2,-0.202222,0.00419593,-2.88788,-2.39315,-2.49361,-2.43052,-2.11173,-2.14117,-1.83124,-2.0756,-1.94023,-2.25475,-2.38052,-1.469,-3.32625,-2.8011,-1.24674,-1.33801,-1.85677,-2.84885,-3.07373,-1.18018,-2.3209,-3.03716,-0.270009,-0.225059,-0.202183,-0.289805,-0.270271,-0.222794,-0.222319,-0.109739,-0.174946,-0.249041,-0.174686,-0.165498,-0.267038,-0.132774,-0.362288,-0.183035,-0.175377,-0.225871,-0.28295,-0.252039,-0.182125,-0.243536,-0.276929,0.064776 --5912.45,0.00226854,0.394006,2,-0.213907,0.00322612,-2.74212,-2.57463,-2.36531,-2.37045,-2.04985,-2.10156,-1.87661,-2.1018,-1.90214,-2.25213,-2.31088,-1.42157,-3.31103,-2.86394,-1.18853,-1.42137,-1.662,-2.92459,-3.09911,-1.14757,-2.40278,-2.9562,-0.246524,-0.141532,-0.205311,-0.30435,-0.160891,-0.191658,-0.203471,-0.171015,-0.202586,-0.277834,-0.1936,-0.217048,-0.233224,-0.0537915,-0.401511,-0.230284,-0.177528,-0.357255,-0.240076,-0.30989,-0.223943,-0.22444,-0.190998,0.0567989 --5912.45,0.0578094,0.394006,2,-0.213907,0.00322612,-2.74212,-2.57463,-2.36531,-2.37045,-2.04985,-2.10156,-1.87661,-2.1018,-1.90214,-2.25213,-2.31088,-1.42157,-3.31103,-2.86394,-1.18853,-1.42137,-1.662,-2.92459,-3.09911,-1.14757,-2.40278,-2.9562,-0.246524,-0.141532,-0.205311,-0.30435,-0.160891,-0.191658,-0.203471,-0.171015,-0.202586,-0.277834,-0.1936,-0.217048,-0.233224,-0.0537915,-0.401511,-0.230284,-0.177528,-0.357255,-0.240076,-0.30989,-0.223943,-0.22444,-0.190998,0.0567989 --5912.45,0.178593,0.394006,2,-0.213907,0.00322612,-2.74212,-2.57463,-2.36531,-2.37045,-2.04985,-2.10156,-1.87661,-2.1018,-1.90214,-2.25213,-2.31088,-1.42157,-3.31103,-2.86394,-1.18853,-1.42137,-1.662,-2.92459,-3.09911,-1.14757,-2.40278,-2.9562,-0.246524,-0.141532,-0.205311,-0.30435,-0.160891,-0.191658,-0.203471,-0.171015,-0.202586,-0.277834,-0.1936,-0.217048,-0.233224,-0.0537915,-0.401511,-0.230284,-0.177528,-0.357255,-0.240076,-0.30989,-0.223943,-0.22444,-0.190998,0.0567989 --5912.45,0.00946894,0.394006,2,-0.213907,0.00322612,-2.74212,-2.57463,-2.36531,-2.37045,-2.04985,-2.10156,-1.87661,-2.1018,-1.90214,-2.25213,-2.31088,-1.42157,-3.31103,-2.86394,-1.18853,-1.42137,-1.662,-2.92459,-3.09911,-1.14757,-2.40278,-2.9562,-0.246524,-0.141532,-0.205311,-0.30435,-0.160891,-0.191658,-0.203471,-0.171015,-0.202586,-0.277834,-0.1936,-0.217048,-0.233224,-0.0537915,-0.401511,-0.230284,-0.177528,-0.357255,-0.240076,-0.30989,-0.223943,-0.22444,-0.190998,0.0567989 --5912.45,0.0362998,0.394006,2,-0.213907,0.00322612,-2.74212,-2.57463,-2.36531,-2.37045,-2.04985,-2.10156,-1.87661,-2.1018,-1.90214,-2.25213,-2.31088,-1.42157,-3.31103,-2.86394,-1.18853,-1.42137,-1.662,-2.92459,-3.09911,-1.14757,-2.40278,-2.9562,-0.246524,-0.141532,-0.205311,-0.30435,-0.160891,-0.191658,-0.203471,-0.171015,-0.202586,-0.277834,-0.1936,-0.217048,-0.233224,-0.0537915,-0.401511,-0.230284,-0.177528,-0.357255,-0.240076,-0.30989,-0.223943,-0.22444,-0.190998,0.0567989 --5909.89,0.0654011,0.394006,2,-0.22309,0.00433253,-2.86468,-2.50767,-2.21586,-2.39973,-2.24966,-2.09561,-1.8952,-2.19642,-1.89647,-2.25954,-2.36785,-1.40594,-3.23927,-2.84355,-1.19325,-1.38054,-1.77988,-2.66316,-3.11005,-1.06168,-2.39747,-2.89787,-0.210101,-0.20767,-0.195228,-0.262884,-0.226066,-0.147209,-0.185107,-0.196025,-0.208701,-0.211215,-0.208763,-0.220746,-0.244331,-0.0559169,-0.345231,-0.156149,-0.183589,-0.369504,-0.205276,-0.329554,-0.20403,-0.225375,-0.172408,0.0658219 --5913.11,0.0631259,0.394006,2,-0.227616,0.00386893,-2.9529,-2.39306,-2.27783,-2.39719,-2.26766,-2.43809,-1.86976,-2.22789,-1.88033,-2.23674,-2.36444,-1.3547,-3.22417,-2.77173,-1.13559,-1.38485,-1.80176,-2.64976,-3.19855,-1.17902,-2.36393,-2.84404,-0.379609,-0.217176,-0.146523,-0.212897,-0.153309,-0.197046,-0.213389,-0.220355,-0.20297,-0.22563,-0.143555,-0.169889,-0.263837,-0.0301161,-0.331827,-0.0995596,-0.236341,-0.27053,-0.351382,-0.413146,-0.29124,-0.251779,-0.211583,0.0622007 --5913.11,0.174648,0.394006,2,-0.227616,0.00386893,-2.9529,-2.39306,-2.27783,-2.39719,-2.26766,-2.43809,-1.86976,-2.22789,-1.88033,-2.23674,-2.36444,-1.3547,-3.22417,-2.77173,-1.13559,-1.38485,-1.80176,-2.64976,-3.19855,-1.17902,-2.36393,-2.84404,-0.379609,-0.217176,-0.146523,-0.212897,-0.153309,-0.197046,-0.213389,-0.220355,-0.20297,-0.22563,-0.143555,-0.169889,-0.263837,-0.0301161,-0.331827,-0.0995596,-0.236341,-0.27053,-0.351382,-0.413146,-0.29124,-0.251779,-0.211583,0.0622007 --5911.63,0.34288,0.394006,2,-0.190381,0.00453389,-2.50438,-2.17745,-2.13705,-2.38532,-2.39064,-2.68354,-1.63884,-2.1524,-2.00108,-2.3524,-2.51952,-1.47668,-2.68867,-2.75552,-1.396,-1.48698,-1.91391,-2.64185,-3.04789,-1.26043,-2.0257,-2.94016,0.0039006,-0.195523,-0.172685,-0.298697,-0.232837,-0.192649,-0.30673,-0.106051,-0.251771,-0.230804,-0.164302,-0.227243,-0.133823,-0.134658,-0.0749637,-0.316508,-0.185078,-0.219135,-0.0302403,-0.165209,-0.140361,-0.203826,-0.141259,0.0673342 --5913.74,5.69671e-05,0.394006,3,-0.219977,0.00310951,-2.45042,-2.20602,-2.0988,-2.37775,-2.46831,-2.55589,-1.89009,-2.18797,-2.16349,-2.32157,-2.28813,-1.34011,-3.36469,-2.72684,-1.38063,-1.59886,-1.72606,-3.17703,-4.09475,-1.70464,-2.28991,-2.83842,-0.281286,-0.224924,-0.225933,-0.149657,0.0489401,-0.174818,-0.227575,-0.20698,-0.162042,-0.169681,-0.184996,-0.225983,-0.315442,-0.00688142,-0.26545,-0.0120428,-0.238309,-0.144112,-0.335537,-0.222685,-0.283699,-0.260922,-0.228153,0.0557629 --5911.24,0.329049,0.394006,2,-0.212053,0.00417972,-2.04837,-2.3617,-2.15633,-2.4463,-2.63056,-2.36289,-1.78307,-2.09493,-2.14295,-2.27669,-2.32645,-1.22837,-3.40829,-2.81853,-1.53381,-1.50096,-1.67125,-3.47109,-3.18526,-1.51602,-2.29019,-2.93237,-0.256547,-0.141588,-0.225606,-0.209119,-0.0319362,-0.238794,-0.260563,-0.188304,-0.372788,-0.254058,-0.194682,-0.186473,-0.282534,-0.141579,-0.0845616,-0.0405696,-0.19126,-0.255819,-0.139915,-0.269421,-0.15504,-0.241224,-0.191028,0.0646508 --5907.61,0.0908341,0.394006,2,-0.227601,0.00317189,-2.06826,-2.21067,-2.17142,-2.42782,-2.66887,-2.4394,-1.80174,-2.09055,-2.06566,-2.26939,-2.35849,-1.29818,-3.3934,-2.883,-1.58989,-1.47028,-1.67655,-3.33834,-3.28481,-1.58476,-2.23827,-2.91457,-0.372293,-0.168624,-0.310638,-0.234627,-0.0709813,-0.191897,-0.235083,-0.16627,-0.245551,-0.224277,-0.27029,-0.200554,-0.221797,-0.152398,-0.161242,-0.0708843,-0.199603,-0.204824,-0.232172,-0.293211,-0.180813,-0.184057,-0.246913,0.0563195 --5905.83,3.22438e-07,0.394006,2,-0.220306,0.00445291,-2.31333,-2.1487,-2.19873,-2.39675,-2.67123,-2.61006,-1.8171,-2.09488,-1.98486,-2.28194,-2.34253,-1.38235,-3.45173,-2.7666,-1.61583,-1.44113,-1.72411,-3.23902,-3.47629,-1.56882,-2.21399,-2.95982,-0.352852,-0.291752,-0.246689,-0.21413,-0.0442852,-0.278232,-0.273881,-0.295337,-0.230493,-0.229036,-0.24884,-0.202277,-0.240248,-0.133132,-0.187308,-0.106383,-0.144588,-0.0845924,-0.26549,-0.254333,-0.197463,-0.253297,-0.240987,0.0667301 --5910.34,0.246418,0.394006,3,-0.276083,0.0102446,-2.19651,-2.15818,-2.06912,-2.44665,-2.1662,-2.83701,-1.69816,-2.15336,-1.99996,-2.24279,-2.31421,-1.54654,-2.634,-2.71725,-1.17103,-1.48854,-2.14908,-3.00457,-4.05669,-1.42687,-2.20981,-2.86132,-0.272078,-0.398031,-0.316973,-0.191125,-0.211004,-0.23961,-0.404893,-0.146568,-0.288128,-0.292251,-0.303141,-0.182747,-0.376442,-0.181012,-0.290636,-0.112724,0.0389041,-0.332148,-0.322433,-0.331696,-0.214119,-0.239367,-0.318403,0.101216 --5911.71,0.547923,0.394006,2,-0.263872,0.00830205,-2.25344,-2.29279,-1.99466,-2.50179,-2.11871,-2.64272,-1.69685,-2.27163,-2.02368,-2.27263,-2.35146,-1.65484,-2.57136,-2.7627,-1.08395,-1.5624,-2.11902,-3.01558,-3.81151,-1.45011,-2.17055,-2.96588,-0.240275,-0.241691,-0.260635,-0.224325,-0.259316,-0.30322,-0.405887,-0.171635,-0.294148,-0.31632,-0.324443,-0.078812,-0.359777,-0.18205,-0.327102,-0.139039,0.0886038,-0.253101,-0.244057,-0.29548,-0.253335,-0.312526,-0.351395,0.0911156 --5914.55,6.98264e-05,0.394006,2,-0.260952,0.0158185,-2.76847,-1.94985,-2.11964,-2.52293,-2.50015,-2.30956,-1.66163,-2.10009,-2.04257,-2.24282,-2.33908,-1.49784,-2.79613,-2.70322,-1.37137,-1.69819,-2.22978,-3.22405,-3.19907,-1.47729,-1.92093,-2.9828,-0.317735,-0.418857,-0.291895,-0.236755,-0.25799,-0.111352,-0.441115,-0.102027,-0.11855,-0.261538,-0.321041,-0.212848,-0.396568,-0.029978,-0.309667,-0.152875,0.136651,-0.319219,-0.179211,-0.258687,-0.294109,-0.185931,-0.284507,0.125772 --5918.44,0.516584,0.394006,2,-0.23118,0.0147733,-2.95852,-1.93324,-2.1473,-2.46469,-2.51394,-2.41623,-1.65816,-2.23149,-2.05426,-2.19549,-2.37905,-1.4696,-2.87326,-2.63554,-1.23981,-1.79056,-2.28192,-3.30184,-3.1788,-1.45284,-1.90655,-3.0124,-0.294087,-0.409154,-0.349418,-0.259742,-0.247157,-0.101138,-0.441216,-0.163195,-0.164787,-0.241888,-0.401676,-0.108751,-0.326699,-0.0754517,-0.228412,-0.16824,0.0649916,-0.320093,-0.134704,-0.188458,-0.343116,-0.285536,-0.382019,0.121545 --5917.92,0.671764,0.394006,2,-0.223084,0.0151801,-2.10937,-2.40492,-2.29806,-2.34047,-2.47149,-2.03754,-1.58316,-2.09923,-1.86291,-2.28148,-2.1376,-1.43306,-2.95496,-2.8858,-1.47753,-1.21656,-1.82791,-2.61191,-3.35429,-1.60019,-2.40421,-2.8663,-0.1689,-0.169613,-0.167231,-0.191897,-0.068645,-0.38123,-0.535932,-0.252363,-0.347093,-0.304171,-0.133349,-0.298023,-0.187395,-0.016055,-0.270508,-0.222349,-0.331662,-0.111601,-0.38964,-0.238869,-0.253477,-0.327347,-0.191136,0.123208 --5908.79,1,0.394006,2,-0.273385,0.00518923,-3.00907,-2.18724,-2.21085,-2.48323,-2.56039,-2.55038,-1.77183,-2.14663,-1.94722,-2.22152,-2.48271,-1.48879,-3.00443,-2.46601,-1.15684,-1.67161,-1.94315,-3.40782,-3.58888,-1.44318,-2.02593,-2.84386,-0.257813,-0.264036,-0.263173,-0.235814,-0.168978,-0.378555,-0.27749,-0.175794,-0.232553,-0.329701,-0.319351,-0.291808,-0.347239,-0.233722,-0.271883,-0.221474,-0.32083,-0.252322,-0.0510321,-0.244442,-0.44357,-0.248601,-0.267966,0.0720363 --5906.94,3.6453e-25,0.394006,2,-0.232602,0.00285107,-2.94059,-2.246,-2.3265,-2.46116,-2.49228,-2.22969,-1.67608,-2.23845,-1.99341,-2.16936,-2.28716,-1.4703,-2.98998,-2.41869,-1.40454,-1.70621,-1.87409,-3.33503,-3.33339,-1.54208,-2.02381,-2.81296,-0.283494,-0.271382,-0.186367,-0.169897,-0.136524,-0.211553,-0.234727,-0.174113,-0.311583,-0.264637,-0.215876,-0.236994,-0.214321,-0.274538,-0.280313,-0.277413,-0.210334,-0.168718,-0.172766,-0.384502,-0.172271,-0.36056,-0.231838,0.0533954 --5906.94,0.00246034,0.394006,3,-0.232602,0.00285107,-2.94059,-2.246,-2.3265,-2.46116,-2.49228,-2.22969,-1.67608,-2.23845,-1.99341,-2.16936,-2.28716,-1.4703,-2.98998,-2.41869,-1.40454,-1.70621,-1.87409,-3.33503,-3.33339,-1.54208,-2.02381,-2.81296,-0.283494,-0.271382,-0.186367,-0.169897,-0.136524,-0.211553,-0.234727,-0.174113,-0.311583,-0.264637,-0.215876,-0.236994,-0.214321,-0.274538,-0.280313,-0.277413,-0.210334,-0.168718,-0.172766,-0.384502,-0.172271,-0.36056,-0.231838,0.0533954 --5909.26,0.00464982,0.394006,2,-0.253969,0.00462917,-2.81823,-1.8256,-2.35653,-2.42089,-2.1719,-2.30105,-1.77317,-2.17914,-1.64437,-2.2746,-2.19079,-1.33497,-2.78801,-2.68665,-1.54547,-1.56851,-1.82878,-3.23133,-4.09054,-1.51433,-2.12946,-2.78629,-0.190939,-0.156205,-0.423348,-0.244388,-0.323685,-0.259257,-0.28449,-0.225895,-0.252063,-0.232792,-0.273893,-0.19842,-0.25942,-0.145336,-0.156966,-0.131765,-0.279474,-0.252926,-0.274114,-0.167576,-0.350177,-0.317226,-0.256832,0.068038 --5910.41,0.148809,0.394006,2,-0.224236,0.00437467,-2.79141,-1.91557,-2.19799,-2.40475,-2.20736,-2.27389,-1.70917,-2.07245,-1.77988,-2.29949,-2.38867,-1.33068,-2.8332,-2.65857,-1.57925,-1.45479,-1.8407,-3.11196,-3.1783,-1.68053,-2.2368,-3.04112,-0.334872,-0.275367,-0.499057,-0.243976,-0.289253,-0.188481,-0.302652,-0.411548,-0.240457,-0.229679,-0.268442,-0.208912,-0.219887,-0.172393,-0.298594,-0.277089,-0.200958,-0.157142,-0.169732,-0.0754528,-0.155302,-0.204123,-0.259014,0.0661413 --5914.5,0.702823,0.394006,3,-0.321348,0.00899391,-2.41048,-2.24123,-1.45287,-2.40136,-2.41155,-2.42466,-1.68436,-1.84506,-1.98513,-2.24863,-2.24645,-1.47545,-3.23839,-2.65799,-1.44985,-1.4664,-2.19436,-3.18554,-2.94795,-1.52496,-1.96356,-2.87602,-0.0957242,-0.327067,-0.349155,-0.309597,-0.250831,-0.416135,-0.385879,-0.225034,-0.386103,-0.286147,-0.148255,-0.315586,-0.354537,-0.285106,-0.247925,-0.281974,-0.268113,-0.32593,-0.418996,-0.263391,-0.533651,-0.443655,-0.330122,0.0948362 --5928.73,0.472566,0.394006,2,-0.237092,0.00784591,-2.36834,-2.13767,-2.88953,-2.39613,-2.24973,-2.17824,-1.74341,-2.35105,-1.73548,-2.27833,-2.49178,-1.11421,-2.96132,-2.70795,-1.44712,-1.62551,-1.97188,-3.02284,-3.70467,-1.24026,-2.54756,-2.80573,-0.425922,-0.261942,-0.475698,-0.136126,-0.243293,-0.120674,-0.283353,-0.286168,-0.3601,-0.299718,-0.279468,-0.436068,-0.16247,-0.201233,-0.199978,-0.158203,-0.189027,-0.251031,-0.150861,-0.361295,-0.0545401,-0.2629,-0.209473,0.0885771 --5926.2,0.941122,0.394006,2,-0.242332,0.00942112,-2.46907,-2.08411,-2.90295,-2.34647,-2.30582,-2.08998,-1.69002,-2.35704,-1.71332,-2.33154,-2.42009,-1.23251,-2.92004,-2.69476,-1.46996,-1.70255,-2.03672,-3.11603,-3.65463,-1.23475,-2.56182,-2.88602,-0.149527,-0.220793,-0.465302,-0.172946,-0.247023,-0.189861,-0.283435,-0.198935,-0.256999,-0.320437,-0.291194,-0.430132,-0.226201,-0.259207,-0.192884,-0.0298124,-0.194713,-0.24323,-0.166625,-0.375246,-0.0866798,-0.255995,-0.268976,0.0970625 --5925.21,0.837968,0.394006,2,-0.145255,0.0213184,-2.3911,-2.34561,-2.22972,-2.35954,-2.51376,-2.34109,-1.83677,-1.93252,-2.26545,-2.2687,-2.2516,-1.72942,-3.52598,-2.75723,-1.23703,-1.29743,-2.08668,-2.75566,-3.16918,-1.68287,-1.84908,-3.00113,-0.026925,-0.148921,0.0249142,-0.242761,-0.0264958,-0.118049,-0.296474,-0.35594,-0.1244,-0.325939,-0.096046,-0.0282464,0.0913728,-0.183384,-0.236937,-0.241839,-0.153293,-0.192831,-0.117716,0.0195665,-0.376435,-0.212877,-0.215008,0.146008 --5929.07,0.798808,0.394006,2,-0.177045,0.0134951,-2.28791,-2.24462,-2.13924,-2.36189,-2.55463,-2.37046,-1.77485,-2.02871,-2.16526,-2.27001,-2.29558,-1.52241,-3.28716,-2.67841,-1.39054,-1.8228,-2.22621,-2.94351,-3.51066,-1.62654,-1.94049,-3.06894,0.0101979,-0.292275,0.0760362,-0.164312,-0.187824,-0.0995242,-0.223067,-0.19117,-0.168129,-0.282926,-0.201122,0.0154399,0.243636,0.0964906,-0.225104,-0.35056,-0.0536843,-0.282387,-0.448388,-0.0106467,-0.141618,-0.227678,-0.276984,0.116168 --5928.53,0.870171,0.394006,2,-0.144247,0.0194134,-2.24507,-2.01859,-2.2993,-2.37065,-2.33023,-2.09859,-1.70324,-2.29112,-1.83933,-2.1645,-2.38127,-1.50805,-2.92378,-2.93278,-1.58149,-1.20289,-2.1974,-2.89946,-3.25683,-1.37307,-2.47806,-2.99996,-0.442055,-0.201631,-0.35508,-0.35067,-0.106519,-0.316748,-0.401834,-0.0430108,-0.199998,-0.319605,-0.143675,-0.237985,-0.507102,-0.0318724,-0.0314256,-0.0133903,0.0146359,-0.0124352,0.137528,-0.303237,-0.276262,-0.127804,-0.057128,0.139332 --5932.12,0.92159,0.394006,3,-0.270669,0.0178738,-2.4965,-2.19108,-2.20293,-2.31217,-2.59406,-2.69685,-1.74926,-1.94572,-2.07975,-2.21968,-2.28475,-1.1722,-2.97337,-2.73521,-1.27244,-2.09793,-1.9463,-3.40895,-3.97106,-1.58849,-2.14397,-2.83145,-0.0165217,-0.565867,-0.312609,-0.259759,-0.0972062,0.0569463,-0.312413,-0.160402,-0.433265,-0.283533,-0.290388,-0.387775,-0.11945,-0.163025,-0.341139,-0.0334002,-0.169005,-0.265409,-0.246058,-0.198421,-0.125896,-0.524721,-0.43954,0.133693 --5933.69,0.853211,0.394006,2,-0.273429,0.0190087,-2.101,-1.96061,-2.0125,-2.48153,-2.27952,-1.84897,-1.72096,-2.01827,-1.81164,-2.20983,-2.42368,-1.72753,-2.93238,-2.74437,-1.32071,-1.04095,-2.04359,-2.57832,-2.78307,-1.14385,-2.00081,-3.07057,-0.65332,-0.214152,-0.282757,-0.230299,-0.351203,-0.563071,-0.494497,-0.284408,-0.153114,-0.186339,-0.170718,0.0996751,-0.575747,-0.164373,-0.217816,-0.377365,-0.174215,-0.310766,-0.175038,-0.580688,-0.592508,-0.320983,-0.184947,0.137872 --5925.99,0.981623,0.394006,2,-0.293008,0.0111889,-2.34355,-2.2909,-2.48057,-2.283,-2.50831,-2.30968,-1.75416,-2.08855,-2.02695,-2.3021,-2.32334,-1.45808,-2.80833,-2.58591,-1.27436,-1.8119,-1.68694,-3.24939,-3.78489,-1.46215,-2.21903,-2.55124,-0.137111,-0.556321,-0.359692,-0.369522,-0.212089,-0.229243,-0.339397,-0.32945,-0.515623,-0.388997,-0.287647,-0.178005,-0.237595,-0.1848,-0.421959,-0.35099,-0.336424,-0.371452,-0.482192,-0.26647,-0.208087,-0.612134,-0.449622,0.105777 --5927.73,0.904774,0.394006,2,-0.207786,0.0197775,-2.25608,-2.11951,-1.66236,-2.45682,-2.24217,-1.97964,-1.60306,-1.95066,-1.86034,-2.24533,-2.22478,-1.55306,-3.18134,-2.76906,-1.36864,-1.33339,-1.98089,-2.65521,-3.1526,-1.49787,-2.03464,-2.80163,-0.555859,-0.0436048,-0.21307,-0.193083,-0.222134,-0.509323,-0.418231,-0.242402,-0.101817,-0.198047,-0.355603,-0.190513,-0.466757,-0.208985,-0.186816,-0.0737871,-0.279775,-0.245288,-0.0151633,-0.275452,-0.482857,-0.809774,-0.168272,0.140633 --5925.45,0.980455,0.394006,2,-0.296001,0.0107446,-2.02514,-2.44285,-2.61342,-2.40501,-2.33748,-2.16249,-1.70538,-2.17627,-2.0818,-2.28049,-2.20905,-1.36524,-3.00909,-2.51363,-1.35833,-1.70014,-1.83884,-3.28386,-3.68774,-1.55425,-2.05616,-2.70254,-0.0316504,-0.353825,-0.263436,-0.180465,-0.304218,-0.17639,-0.482553,-0.229672,-0.445411,-0.325826,-0.281874,-0.10368,-0.196148,-0.168949,-0.218417,-0.335832,-0.20266,-0.0404618,-0.451207,0.0516121,-0.333273,-0.266989,-0.146198,0.103656 --5916.14,0.995848,0.394006,3,-0.255783,0.00740484,-2.22968,-2.18254,-1.69696,-2.38481,-2.43233,-2.47401,-1.80127,-2.23828,-2.20639,-2.29903,-2.38118,-1.439,-3.11537,-2.74393,-1.39427,-1.54214,-2.01666,-2.41897,-3.6037,-1.42779,-2.35283,-3.0141,-0.195122,-0.454315,-0.382549,-0.219496,-0.244136,-0.24182,-0.386071,-0.274502,-0.356238,-0.28164,-0.151117,-0.229218,-0.226824,0.100119,-0.262624,-0.391655,-0.234939,-0.234134,-0.328297,-0.455667,-0.159058,-0.198702,-0.157187,0.0860514 --5921.5,0.867762,0.394006,2,-0.27441,0.00893172,-2.04462,-2.30902,-1.67092,-2.3772,-2.38229,-2.57858,-1.83415,-2.21691,-2.25263,-2.26399,-2.34588,-1.4524,-3.08647,-2.64895,-1.36901,-1.55347,-1.93921,-2.59822,-3.51824,-1.43057,-2.36447,-3.11598,-0.174353,-0.327343,-0.424834,-0.195963,-0.221573,-0.301583,-0.387144,-0.296353,-0.364843,-0.283167,-0.135837,-0.293801,-0.189725,0.12502,-0.201859,-0.385813,-0.250656,-0.189253,-0.367287,-0.454821,-0.168809,-0.1596,-0.155844,0.0945078 --5927.42,0.548613,0.394006,2,-0.213258,0.00981236,-3.52937,-2.26058,-2.24236,-2.55928,-2.46381,-2.404,-1.68306,-2.04096,-2.11796,-2.23923,-2.45081,-1.44613,-3.06548,-2.75807,-1.0267,-1.22595,-1.78391,-3.17151,-3.0361,-1.5154,-2.13526,-2.89073,-0.294195,-0.105479,-0.0439177,-0.0509132,-0.264855,-0.177974,-0.2402,-0.0828243,-0.11528,-0.305014,-0.263888,-0.223488,-0.294799,-0.354825,-0.347951,-0.135674,-0.21813,-0.259143,-0.0697362,-0.379689,-0.357535,-0.476425,-0.265976,0.0990573 --5927.79,0.983467,0.394006,3,-0.33979,0.00982642,-1.71048,-1.93495,-1.85082,-2.24021,-2.44268,-2.21817,-1.64839,-2.04438,-1.71079,-2.26733,-2.2178,-1.45519,-2.87937,-3.18174,-1.68798,-1.47764,-2.25465,-3.08286,-3.52244,-1.53891,-2.15212,-2.95667,-0.39256,-0.443193,-0.461995,-0.55745,-0.319205,-0.701736,-0.49312,-0.148268,-0.485694,-0.335565,-0.294856,-0.157468,-0.367852,0.391997,-0.300003,-0.0612397,-0.259919,-0.337735,-0.128612,-0.205278,-0.373323,-0.279326,-0.275509,0.0991283 --5930.01,0.724366,0.394006,2,-0.302427,0.0268775,-2.2675,-2.22965,-2.02442,-2.34051,-2.32929,-1.63232,-1.5612,-2.14794,-1.97416,-2.18516,-2.20165,-1.72848,-2.66898,-2.71256,-1.38493,-1.64669,-1.51023,-3.34149,-2.80382,-1.44359,-1.9631,-2.95039,-0.117551,-0.348675,-0.287082,-0.306796,-0.235539,-0.648032,-0.50827,-0.394054,-0.28999,-0.392764,-0.640674,-0.115126,-0.414167,0.184581,-0.0553333,-0.0941986,-0.394737,-0.243974,-0.277406,-0.29728,-0.351086,-0.426617,-0.261399,0.163944 --5933.66,0.804127,0.394006,3,-0.218417,0.0385807,-2.63,-2.28039,-1.95552,-2.38845,-2.32481,-2.89821,-1.57235,-2.34707,-2.04796,-2.11199,-2.23438,-1.77513,-3.01975,-2.93571,-1.59253,-1.60808,-1.93051,-2.57901,-3.51062,-1.56776,-1.95574,-2.74335,-0.303949,-0.437948,-0.339944,-0.207154,-0.353664,-0.0891645,-0.582879,0.266902,-0.198689,-0.431775,-0.250925,-0.00527449,-0.330071,0.0727297,0.0891563,0.00448048,-0.606461,0.0587078,-0.0579921,-0.218595,-0.325871,-0.367108,-0.467844,0.19642 --5924.34,0.944355,0.394006,3,-0.216672,0.0224363,-2.0223,-2.19637,-2.37915,-2.384,-2.4431,-1.78511,-1.78246,-1.93239,-1.96932,-2.42469,-2.42358,-1.23172,-3.06276,-2.80543,-1.52576,-1.42209,-1.89114,-3.46702,-3.25759,-1.52029,-2.26651,-3.10276,-0.0798823,-0.0594956,-0.229691,-0.245998,-0.0256617,-0.288962,-0.257948,-0.532016,-0.31432,-0.228058,-0.18767,-0.283038,-0.289162,0.067519,-0.143717,-0.317071,-0.0237776,-0.27697,-0.193506,-0.2329,-0.392023,-0.215316,-0.105904,0.149787 --5925.49,0.792007,0.394006,2,-0.102757,0.0163791,-2.93218,-2.07091,-1.88572,-2.36873,-2.39164,-2.62227,-1.71467,-2.40602,-2.06042,-2.18795,-2.34313,-1.66281,-2.98359,-2.75558,-1.23318,-1.63475,-2.40284,-2.89518,-4.16534,-1.37472,-2.21262,-3.14133,-0.228717,-0.3371,-0.190216,-0.188571,-0.195963,-0.0693594,-0.277639,0.0910082,-0.0771563,-0.113657,-0.0965543,0.0167156,-0.0511621,-0.214404,-0.128316,0.0143373,-0.147788,-0.0040024,-0.123165,-0.126336,-0.052289,-0.148292,-0.198236,0.127981 --5925.41,0.760298,0.394006,2,-0.123534,0.0332805,-2.12005,-2.41291,-2.27489,-2.54456,-2.53714,-1.95408,-1.6229,-2.05758,-1.93289,-2.28603,-2.41857,-1.4229,-3.03846,-2.92244,-1.53253,-1.37947,-1.69156,-3.13297,-2.85506,-1.74967,-2.19611,-2.79176,-0.0680509,0.0152724,-0.232612,-0.0232742,-0.170616,-0.481983,-0.524688,-0.183431,-0.232243,-0.345652,-0.148885,-0.219848,-0.202293,0.143969,-0.224797,-0.10969,-0.200182,-0.33798,-0.169859,-0.222895,-0.362722,-0.492453,-0.0833953,0.182429 --5928.05,1,0.394006,2,-0.175544,0.0219409,-2.55412,-2.02641,-2.38269,-2.32659,-2.39872,-2.69728,-1.80209,-2.05301,-2.04876,-2.20882,-2.23305,-1.76219,-2.94299,-2.63575,-1.26995,-1.46512,-2.21754,-2.85875,-3.87265,-1.32755,-2.06043,-2.9539,-0.505327,-0.656446,-0.268281,-0.30493,-0.119981,0.121056,-0.197228,-0.179592,-0.354541,-0.20165,-0.256945,0.07284,-0.542455,-0.314886,-0.378943,-0.3588,-0.125573,-0.0446877,-0.240086,-0.207306,-0.361029,-0.258187,-0.21185,0.148125 --5920.63,1,0.394006,2,-0.336513,0.007257,-2.09411,-1.92348,-2.56273,-2.30807,-2.57129,-2.19957,-1.85622,-2.14037,-1.93795,-2.23967,-2.29884,-1.65288,-2.94116,-2.60818,-1.49561,-1.31029,-1.97361,-3.30863,-3.96675,-1.4242,-2.08119,-2.81061,-0.238761,-0.416447,-0.175933,-0.203608,-0.196542,-0.219199,-0.26963,-0.370976,-0.308408,-0.324664,-0.299437,0.0565401,-0.345817,-0.14605,-0.154193,-0.495285,-0.244816,-0.370817,-0.322104,-0.24783,-0.280816,-0.326043,-0.204737,0.085188 --5926.88,0.950207,0.394006,2,-0.301262,0.0109842,-3.22206,-2.23353,-1.75103,-2.43233,-2.12622,-2.30345,-1.53543,-2.11247,-1.9163,-2.25812,-2.11062,-1.28031,-3.02896,-2.76408,-1.31004,-1.74507,-1.9257,-2.6988,-2.85594,-1.60324,-2.21133,-3.09251,-0.155622,-0.284144,-0.409469,-0.346267,-0.264109,-0.447409,-0.482784,-0.196741,-0.496267,-0.264582,-0.318237,-0.470893,-0.206488,0.0629072,-0.333829,0.138266,-0.311783,-0.0791778,-0.0598259,-0.193667,-0.251862,-0.201712,-0.338131,0.104805 --5931.57,0.912467,0.394006,2,-0.286211,0.0213079,-1.88967,-2.40961,-2.27696,-2.37778,-2.74336,-2.06548,-1.74024,-1.99295,-1.7086,-2.30127,-2.38737,-1.39816,-3.29444,-2.92943,-1.10673,-1.68413,-2.49008,-3.15161,-3.54175,-1.66754,-2.07815,-2.80125,-0.109053,-0.529433,-0.258701,-0.221525,-0.224748,-0.230151,-0.518204,-0.346849,-0.427015,-0.264149,-0.413784,-0.152697,-0.181601,0.152773,-0.565326,-0.0532376,0.179057,-0.33799,-0.488962,-0.00954538,-0.541329,-0.424154,-0.427173,0.145972 --5926.12,0.937645,0.394006,2,-0.236471,0.0287388,-2.82184,-2.37702,-2.16606,-2.46522,-2.64451,-2.27822,-1.74015,-2.07273,-1.85012,-2.17562,-2.34208,-1.24987,-3.34315,-2.74855,-1.31843,-1.649,-2.50705,-3.40249,-3.32917,-1.74394,-2.05235,-2.7724,-0.217597,-0.263884,-0.184079,-0.199144,-0.15765,-0.359164,-0.461039,-0.298273,-0.505906,-0.386876,-0.301035,-0.170627,-0.013245,-0.109665,-0.586247,-0.107119,0.14099,-0.311113,-0.208584,-0.198669,-0.505766,-0.509335,-0.383486,0.169525 --5928.08,0.879346,0.394006,3,-0.310095,0.030619,-2.54232,-2.35861,-1.94242,-2.35866,-2.50546,-2.1654,-1.694,-2.19234,-1.94326,-2.27196,-2.33471,-1.39237,-2.61135,-2.99683,-1.63438,-1.45414,-1.39275,-2.97835,-3.06392,-1.39692,-2.20412,-2.89894,-0.657542,-0.374764,-0.533208,-0.381046,-0.267508,-0.161388,-0.51548,-0.191639,-0.307346,-0.235536,-0.311988,-0.0353588,-0.599264,0.352105,-0.172018,-0.495201,-0.443583,-0.359254,-0.307713,-0.485899,-0.283496,-0.40086,-0.464005,0.174983 --5928.3,0.656519,0.394006,3,-0.312757,0.0497988,-1.98995,-2.06637,-2.28058,-2.44419,-2.44631,-2.03989,-1.71151,-2.02639,-1.82609,-2.12261,-2.25136,-1.38931,-3.27637,-2.76963,-1.14399,-1.65598,-2.31134,-2.69064,-3.24567,-1.44186,-1.96682,-2.69451,-0.0279762,-0.525573,-0.371364,-0.291074,-0.182315,-0.509476,-0.40125,-0.281105,-0.36475,-0.36363,-0.35111,-0.346428,-0.0291625,0.0791245,-0.614602,-0.316837,0.229716,-0.403326,-0.00255836,-0.122989,-0.615669,-0.176102,-0.401994,0.223156 --5927.76,1,0.394006,2,-0.348597,0.0399492,-2.01922,-2.1376,-2.14341,-2.4451,-2.42849,-2.06758,-1.67357,-2.06158,-1.8089,-2.08363,-2.2604,-1.35103,-3.25123,-2.7553,-1.16846,-1.63588,-2.28026,-2.65996,-3.16813,-1.45752,-1.99924,-2.74721,-0.00995595,-0.554124,-0.354176,-0.260439,-0.263083,-0.485026,-0.42294,-0.300723,-0.407183,-0.380614,-0.31023,-0.36796,0.0353337,0.114503,-0.602568,-0.390664,0.189249,-0.33007,-0.079939,-0.132566,-0.709568,-0.272194,-0.431372,0.199873 --5933.39,0.963524,0.394006,2,-0.27356,0.0201816,-3.00078,-1.9436,-2.18205,-2.54013,-2.2528,-1.97072,-1.6326,-2.14261,-1.78438,-2.29185,-2.39433,-1.40675,-3.16606,-2.6592,-1.24781,-1.53272,-2.08843,-2.66312,-3.63821,-1.50968,-1.82003,-2.81338,-0.364829,0.1365,-0.445114,-0.194781,-0.137361,-0.383755,-0.448498,-0.245123,-0.690418,-0.382406,-0.195448,-0.3056,0.36399,-0.25696,-0.406615,-0.122382,-0.129363,-0.365119,-0.32007,-0.265049,-0.550459,-0.606345,-0.193959,0.142062 --5943.33,0.330862,0.394006,3,0.0200425,0.0570731,-1.89692,-2.66922,-2.20005,-2.40563,-2.52661,-2.36853,-1.63505,-2.18914,-2.1578,-2.29278,-2.27455,-1.57834,-2.85886,-3.09858,-1.46738,-1.42746,-2.1764,-3.21085,-3.24352,-1.59111,-2.43786,-3.07705,-0.189232,-0.433667,0.0310848,-0.167626,-0.122199,-0.134675,-0.332468,-0.250718,-0.029622,-0.346511,-0.266685,0.122879,-0.800943,0.363387,-0.237121,-0.20008,-0.406141,0.152973,-0.0692365,-0.0829927,-0.138273,-0.0343089,-0.941566,0.2389 --5931.63,1,0.394006,3,-0.305672,0.0843991,-2.92501,-1.79549,-2.01221,-2.37803,-2.53448,-2.69505,-1.7813,-2.13101,-1.9046,-2.3036,-2.22592,-1.62426,-2.69544,-2.76387,-1.45437,-1.6336,-2.21143,-2.77011,-3.91631,-1.57223,-1.92523,-2.79224,-0.144471,-0.0446296,-0.452109,-0.274392,0.0318664,-0.323385,-0.353739,-0.228418,-0.391179,-0.329581,-0.20928,-0.212854,-0.363042,-0.0818437,-0.190529,-0.0360859,0.229967,-0.309583,0.14272,-0.173403,-0.521157,-0.441011,-0.929853,0.290515 --5930.85,0.945399,0.394006,2,-0.274835,0.0674575,-2.3618,-2.34048,-1.7171,-2.38349,-2.42455,-1.65359,-1.64674,-2.06123,-2.17562,-2.08277,-2.31382,-1.34968,-3.14287,-2.76494,-1.33685,-1.63446,-2.43128,-2.92126,-2.92858,-1.3467,-2.128,-2.80654,-0.296106,-0.49237,-0.88143,-0.27369,-0.232194,-0.330519,-0.395562,-0.234711,-0.163447,-0.399084,-0.341564,-0.242042,-0.30148,-0.000480132,-0.325556,-0.108263,0.127848,-0.242282,-0.0989381,-0.571964,-0.371245,-0.459727,-1.15375,0.259726 --5934.19,0.850561,0.394006,2,-0.267589,0.0551163,-2.33927,-2.37528,-1.71364,-2.4643,-2.30807,-1.7252,-1.61517,-2.0451,-2.09877,-2.05993,-2.29534,-1.35981,-3.22237,-2.82251,-1.34258,-1.62927,-2.35609,-2.88133,-2.98576,-1.32375,-2.05099,-2.83365,-0.343895,-0.501699,-0.778457,-0.287966,-0.152618,-0.307856,-0.370072,-0.2363,-0.0894337,-0.354413,-0.421513,-0.240293,-0.235933,-0.0996106,-0.251028,-0.0670467,0.175556,-0.329346,-0.136291,-0.648215,-0.431343,-0.46225,-1.04239,0.234769 --5941.57,0.900076,0.394006,3,-0.198034,0.0639321,-2.49742,-2.3305,-2.19497,-2.40387,-2.61742,-2.779,-1.65751,-2.14387,-1.70265,-2.31773,-2.45339,-1.59081,-2.89826,-3.00518,-1.33034,-1.38718,-1.91102,-2.90141,-4.5431,-1.7754,-2.15522,-2.97587,-0.117852,-0.342116,-0.687637,-0.419274,-0.267563,-0.221738,-0.387323,-0.105695,-0.367509,-0.0522414,-0.226666,-0.102577,-0.405385,0.146435,-0.254924,-0.420162,-0.257314,0.0143074,-0.338671,0.0599552,-0.234766,-0.233278,-1.74516,0.252848 --5946,0.964628,0.394006,2,-0.192954,0.0621213,-2.82621,-2.14026,-2.08431,-2.41958,-2.67064,-2.07754,-1.64097,-2.10763,-1.69771,-2.38859,-2.46955,-1.60508,-2.93831,-2.95325,-1.50508,-1.50516,-1.89881,-3.1214,-4.54464,-1.80011,-2.17587,-2.81961,-0.202062,-0.418076,-0.51846,-0.497375,-0.322897,-0.346704,-0.314376,-0.0849109,-0.299549,-0.093209,-0.132815,-0.0191108,-0.30096,0.0532118,-0.188468,-0.394348,-0.294854,0.147505,-0.300724,0.0830108,-0.124028,-0.261193,-1.8761,0.249242 --5932.36,1,0.394006,3,-0.172426,0.0316054,-2.20517,-1.85399,-2.31378,-2.48127,-2.46988,-2.28091,-1.5699,-2.11176,-2.20551,-2.12634,-2.11863,-1.52609,-2.83009,-2.77827,-1.16683,-1.79049,-2.07833,-2.65838,-2.84719,-1.50176,-2.0612,-2.87036,-0.00783226,-0.436816,0.0617939,-0.133419,-0.00155707,-0.12535,-0.551209,-0.0101091,-0.238761,-0.479142,-0.341058,-0.205569,-0.377061,-0.115134,-0.390679,-0.00430712,0.15041,-0.36042,-0.0741338,-0.234033,-0.428044,-0.486095,-1.05969,0.177779 --5934.13,0.881407,0.394006,3,-0.307376,0.032354,-2.4662,-2.00654,-2.24841,-2.34566,-2.37432,-1.96637,-1.64895,-2.42512,-1.69249,-2.15425,-2.09903,-1.41986,-2.99298,-2.67394,-1.49738,-1.33664,-2.30214,-2.9831,-4.15588,-1.58836,-1.99729,-3.0123,-0.152937,-0.411555,-0.0172325,-0.347326,-0.0555939,-0.101502,-0.511551,-0.0011727,-0.359606,-0.422078,-0.618036,-0.156026,-0.283618,0.0564378,-0.37813,-0.0737744,0.114059,-0.555203,-0.29175,-0.190893,-0.395427,-0.141512,-0.782786,0.179872 --5928.97,0.407875,0.394006,2,-0.21653,0.0322649,-2.27918,-2.25037,-1.97249,-2.32973,-2.60713,-2.42215,-1.6513,-2.2411,-1.96389,-2.22703,-2.0703,-1.63311,-2.82661,-2.54662,-1.51723,-1.45678,-2.07916,-2.82784,-3.52533,-1.72592,-2.18682,-3.04743,-0.29872,-0.319359,-0.270842,-0.29336,-0.266703,-0.384017,-0.394159,0.0758042,-0.296845,-0.263493,-0.48621,0.00755121,-0.306211,-0.395921,-0.0286837,-0.119189,-0.136647,-0.399146,-0.157533,-0.382416,-0.415278,-0.379499,-0.758396,0.179624 --5922.91,0.96088,0.394006,2,-0.169283,0.0381022,-2.43354,-2.02322,-2.36809,-2.35778,-2.36669,-1.9692,-1.6568,-2.19035,-1.99141,-2.30579,-2.39674,-1.59328,-3.14303,-2.9995,-1.33943,-1.62402,-1.79518,-2.83123,-4.06863,-1.43727,-2.12968,-2.85633,-0.00879481,-0.302592,-0.233229,-0.347708,0.0596717,-0.159871,-0.565275,-0.237011,-0.272298,-0.318813,-0.167065,-0.0436727,-0.285916,0.355444,-0.380373,-0.219452,-0.374158,-0.118957,0.173128,-0.105389,-0.205675,-0.222936,-0.514732,0.195198 --5924.73,0.835452,0.394006,2,-0.195212,0.0125737,-2.57944,-2.03006,-2.55597,-2.28303,-2.46579,-1.95537,-1.57132,-2.13146,-1.9786,-2.20263,-2.32702,-1.55529,-3.11329,-2.60435,-1.56986,-1.48986,-1.87802,-3.09548,-3.56131,-1.63212,-2.25659,-2.85559,-0.216143,-0.599673,-0.171156,-0.192256,-0.282184,-0.328802,-0.487285,-0.166658,-0.189021,-0.181714,-0.0199455,0.0338235,-0.159929,-0.243216,-0.163631,-0.287165,-0.0497342,-0.255038,0.335562,-0.131656,-0.298292,-0.384714,-0.0224543,0.112133 --5922.95,0.945212,0.394006,3,-0.249914,0.00963869,-2.25886,-2.10755,-2.17703,-2.52907,-2.34162,-2.53821,-1.58638,-2.10694,-2.03168,-2.23918,-2.40222,-1.80637,-2.74813,-2.81199,-1.14023,-1.5279,-2.16142,-2.78868,-3.7325,-1.38015,-1.95685,-2.89174,-0.236396,-0.220699,-0.236793,-0.186726,0.0109143,-0.190256,-0.60773,-0.131139,-0.263139,-0.434339,-0.312536,0.246412,-0.445203,0.0571317,-0.355119,-0.183832,-0.288551,-0.190785,-0.452538,-0.30445,-0.335503,-0.325116,-0.389592,0.0981768 --5919.58,0.629592,0.394006,2,-0.295848,0.0312915,-1.96346,-2.12935,-1.88687,-2.40323,-2.6497,-2.30135,-1.59762,-2.11392,-1.82908,-2.24415,-2.20165,-1.5966,-3.17848,-2.90507,-1.33636,-1.40977,-1.96959,-3.12873,-3.50148,-1.47642,-2.2812,-3.00252,-0.314552,-0.457013,-0.527647,-0.199236,-0.0656393,-0.372276,-0.410104,-0.243629,-0.263056,-0.175101,-0.433897,0.025836,-0.315517,-0.00929879,-0.293264,-0.327047,-0.0689854,-0.13558,-0.301662,-0.239654,-0.346394,-0.236608,0.0383963,0.176894 --5926.06,0.925638,0.394006,2,-0.191375,0.0576962,-2.54602,-2.23162,-2.17263,-2.45449,-2.26481,-1.69644,-1.66466,-2.20939,-1.83498,-2.35191,-2.34853,-1.5087,-2.98178,-2.63589,-1.41868,-1.3502,-2.35662,-2.90684,-3.86897,-1.42546,-2.04546,-2.8535,-0.227991,-0.0622962,-0.478842,-0.196191,-0.209845,-0.608844,-0.580108,-0.0271349,-0.627073,-0.269371,-0.0949023,-0.237885,-0.126673,-0.015007,-0.176817,-0.314187,0.00426591,-0.218647,-0.0445277,-0.305861,-0.284671,-0.371035,-0.591477,0.2402 --5928.76,0.625788,0.394006,2,-0.227415,0.0910824,-2.47262,-2.39561,-2.06157,-2.46752,-2.22398,-1.74753,-1.69115,-2.18107,-1.86003,-2.33452,-2.42605,-1.41859,-3.08608,-2.63917,-1.52088,-1.37046,-2.28699,-2.83663,-3.9855,-1.43896,-2.05496,-2.798,-0.237854,0.0568365,-0.309517,-0.22085,-0.231486,-0.621013,-0.585704,-0.0718709,-0.633383,-0.245229,-0.140066,-0.232165,-0.128519,0.0179073,-0.243273,-0.349236,-0.00402761,-0.172897,0.00798104,-0.2944,-0.352433,-0.358854,-0.63226,0.301799 --5920.79,0.945636,0.394006,2,-0.241848,0.0298177,-2.62422,-2.39819,-2.04848,-2.43455,-2.35629,-2.05214,-1.58171,-2.13118,-1.77665,-2.29414,-2.35651,-1.45284,-2.98286,-2.80854,-1.3582,-1.46509,-2.30514,-2.68173,-3.59893,-1.49222,-2.12971,-2.91602,-0.161335,-0.00658745,-0.514078,-0.114055,-0.167176,-0.404635,-0.495852,-0.101684,-0.376367,-0.149883,-0.320401,-0.199313,-0.348095,-0.132314,-0.0640809,-0.229905,0.0487033,-0.236895,0.220924,-0.390211,-0.263552,-0.491791,-0.389083,0.172678 --5927.65,0.681628,0.394006,2,-0.111886,0.0383751,-2.24494,-2.317,-1.88867,-2.37914,-2.19065,-3.00091,-1.74951,-2.1377,-1.9007,-2.28946,-2.19069,-1.63966,-2.86359,-2.79609,-1.49307,-1.69932,-2.15912,-3.10725,-3.33202,-1.38403,-1.99558,-2.67136,-0.0769881,-0.234077,-0.183454,-0.279834,-0.278692,-0.600385,-0.42103,0.0176177,-0.303291,-0.242562,-0.16992,-0.0306634,-0.154644,0.203974,0.00650074,-0.106041,0.101169,0.00105742,-0.0478355,-0.136521,-0.245718,-0.413095,-0.413109,0.195896 --5921.05,0.898232,0.394006,2,-0.207731,0.0143479,-3.07306,-2.19482,-2.33432,-2.46141,-2.48396,-1.77289,-1.57374,-2.03271,-1.94492,-2.22223,-2.35906,-1.68441,-3.31045,-2.81486,-1.48258,-1.42887,-1.99535,-3.31841,-3.27222,-1.48782,-2.16384,-2.85495,-0.162788,-0.135261,-0.29286,-0.249753,-0.343249,-0.603927,-0.546515,-0.282827,-0.14193,-0.242517,-0.217558,-0.157565,-0.155819,-0.0486996,0.0878769,-0.0744534,-0.0681982,-0.0915241,-0.0584455,-0.0699332,-0.21502,-0.360143,-0.0884463,0.119783 --5921.62,0.842114,0.394006,2,-0.218572,0.0195273,-2.67665,-1.88303,-1.89606,-2.40717,-2.39481,-2.23889,-1.63438,-2.22864,-2.08298,-2.34242,-2.22169,-1.46154,-2.74912,-2.63522,-1.3967,-1.80448,-1.97478,-2.9047,-3.88488,-1.66578,-2.05292,-3.1672,0.0682083,-0.421528,-0.155626,-0.143217,0.116918,-0.210956,-0.509396,-0.0130619,-0.236434,-0.210678,-0.254735,-0.099111,-0.427598,-0.155548,-0.356103,0.13607,-0.277186,-0.204906,-0.291529,-0.226628,-0.356871,-0.20288,-0.27659,0.13974 --5926.51,0.794482,0.394006,2,-0.172298,0.0102257,-2.02769,-1.94251,-1.92724,-2.47054,-2.35122,-2.17097,-1.6959,-2.1467,-2.18376,-2.27468,-2.19679,-1.30025,-2.77569,-2.54651,-1.29106,-1.71622,-2.08725,-3.23837,-4.12646,-1.56186,-2.11906,-3.15111,0.149074,-0.306724,-0.275858,-0.17523,-0.0162463,-0.404339,-0.375385,-0.17281,-0.204976,-0.148807,-0.289296,-0.21397,-0.103001,-0.282633,-0.294924,0.180063,-0.184225,-0.158554,-0.347717,-0.0558341,-0.270837,-0.181227,-0.337042,0.101122 --5923.07,0.553281,0.394006,2,-0.163182,0.0218001,-2.02009,-2.12645,-1.94424,-2.49113,-2.33726,-2.12912,-1.72274,-2.10971,-2.13466,-2.37014,-2.24358,-1.39012,-2.88326,-2.58032,-1.14134,-1.58727,-2.01657,-3.42638,-4.0695,-1.58221,-1.9975,-3.18684,0.024544,-0.21736,-0.127355,-0.228777,-0.134884,-0.372593,-0.413999,-0.194574,-0.244287,-0.112978,-0.257182,-0.23213,-0.194662,-0.183826,-0.292653,0.139651,-0.157736,-0.186671,-0.304567,-0.0857629,-0.312755,-0.140926,-0.336459,0.147649 --5924.54,0.754581,0.394006,3,-0.255302,0.0155683,-2.94089,-2.22571,-2.33873,-2.34387,-2.56444,-2.6159,-1.73502,-2.3965,-1.89591,-2.18719,-2.45567,-1.53109,-3.19455,-2.89861,-1.41927,-1.42336,-1.9346,-2.55486,-2.92575,-1.46781,-2.26026,-2.72323,-0.449805,-0.192519,-0.145697,-0.279143,-0.22863,-0.058949,-0.148145,-0.038443,-0.313407,-0.438932,-0.148389,-0.0336186,-0.329501,-0.041875,-0.206531,-0.358317,-0.315912,-0.152604,-0.239039,-0.198494,-0.120168,-0.189765,-0.251588,0.124773 --5924.03,0.974803,0.394006,2,-0.259023,0.0309101,-2.01587,-2.055,-2.06011,-2.4311,-2.58246,-2.26872,-1.72069,-2.0201,-1.89418,-2.13662,-2.35752,-1.4428,-3.00507,-2.56758,-1.54015,-1.56286,-1.84521,-3.42122,-4.25132,-1.5689,-1.93814,-2.94059,-0.0983919,-0.307701,-0.235609,-0.184708,0.00691928,-0.346102,-0.516296,-0.197521,-0.265512,-0.343184,-0.176714,-0.317925,-0.0700849,-0.132647,-0.159327,-0.0277929,-0.158259,0.0640527,-0.133909,-0.208364,-0.519064,-0.719906,-0.147121,0.175813 --5933.77,0.62152,0.394006,3,-0.222497,0.0567574,-2.88883,-2.38214,-2.4123,-2.29603,-2.43706,-1.93645,-1.61398,-2.08243,-2.00915,-2.26612,-2.38062,-1.40457,-3.2873,-2.86748,-1.59082,-1.6437,-2.22947,-2.84264,-3.64677,-1.32669,-2.17602,-2.44234,0.14451,-0.378657,0.273724,-0.347514,-0.181434,-0.616511,-0.435556,-0.335222,-0.343279,-0.386256,-0.145472,-0.108239,-0.514081,0.02119,-0.131715,-0.240372,-0.181727,-0.434304,0.199308,-0.363022,-0.473709,-0.718038,-0.0441473,0.238238 --5929.04,0.872391,0.394006,3,-0.259806,0.0710149,-2.37279,-2.42187,-2.37169,-2.34492,-2.31037,-2.33433,-1.69184,-1.9815,-1.94057,-2.22265,-2.27401,-1.60603,-2.88511,-2.66383,-1.08704,-1.33153,-1.75678,-3.02224,-3.45859,-1.54035,-2.08182,-3.01986,-0.00720976,0.14848,-0.270493,-0.380693,-0.297976,-0.0524153,-0.481642,-0.303738,-0.256432,-0.295102,-0.315641,-0.174874,0.0348679,0.0260927,-0.466081,-0.220535,-0.244764,-0.130761,-0.164865,-0.407092,-0.29422,-0.544624,0.0619656,0.266486 --5929.86,1,0.394006,2,-0.233681,0.0669511,-2.56078,-2.41102,-2.15914,-2.31424,-2.27612,-2.59172,-1.70157,-1.96159,-1.95755,-2.16461,-2.25511,-1.55582,-2.85725,-2.75891,-1.1095,-1.25424,-1.74274,-3.05559,-3.43083,-1.55476,-2.12916,-2.96082,-0.0365325,0.268174,-0.315497,-0.361902,-0.301817,-0.0396763,-0.441128,-0.375938,-0.284155,-0.354069,-0.318392,-0.182075,0.0961625,-0.00717844,-0.521396,-0.265438,-0.354692,-0.142333,-0.279619,-0.306126,-0.315597,-0.491996,0.129124,0.258749 --5926.76,1,0.394006,3,-0.263207,0.0205752,-2.02315,-2.20195,-2.15259,-2.52397,-2.45127,-1.73969,-1.76999,-2.21404,-1.86864,-2.21386,-2.34856,-1.39389,-2.93794,-2.70789,-1.70635,-1.60772,-2.21179,-2.79169,-3.42874,-1.39175,-2.06382,-2.96344,-0.26231,-0.475308,-0.258586,-0.193964,-0.128045,-0.614698,-0.426085,0.00679565,-0.279932,-0.172439,-0.125897,-0.248868,-0.639852,0.050769,-0.156194,0.0657747,-0.0323176,-0.0549417,-0.300977,-0.0801068,-0.318559,-0.223305,-0.632475,0.14344 --5925.97,0.646282,0.394006,3,-0.408587,0.0176946,-2.71621,-1.97327,-1.99183,-2.32715,-2.26934,-2.28608,-1.66545,-1.9564,-2.08685,-2.15699,-2.2659,-1.3763,-2.89918,-2.8185,-1.25516,-1.27089,-1.49204,-2.87853,-3.39763,-1.39185,-2.21977,-2.8481,-0.366921,-0.284891,-0.371526,-0.408129,-0.300356,-0.154916,-0.452589,-0.361657,-0.417332,-0.360196,-0.402298,-0.211553,-0.168199,0.0353212,-0.503429,-0.463665,-0.353787,-0.299674,-0.284481,-0.639886,-0.583015,-0.883701,-0.451566,0.133021 --5918.28,0.930214,0.394006,3,-0.431574,0.0123393,-2.10449,-2.21311,-1.99055,-2.41698,-2.33543,-1.95475,-1.63502,-2.12473,-1.68446,-2.14699,-2.11233,-1.37066,-2.95206,-2.56493,-1.28495,-1.45471,-2.08144,-2.86139,-3.20966,-1.40585,-1.94154,-2.66037,-0.322811,-0.542854,-0.544358,-0.219087,-0.37393,-0.554073,-0.420701,-0.197805,-0.400219,-0.390019,-0.395779,-0.381355,-0.500338,-0.496686,-0.437469,-0.282295,-0.28285,-0.393613,-0.423789,-0.234906,-0.529754,-0.314686,-0.557294,0.111082 --5924.45,0.502132,0.394006,3,-0.328065,0.00829517,-1.69471,-2.04217,-2.29814,-2.38968,-2.43419,-2.1593,-1.52454,-2.19145,-1.79043,-2.17522,-2.03598,-1.34762,-2.84587,-2.41171,-1.26097,-1.58383,-2.06753,-2.40636,-3.66478,-1.59658,-2.10772,-2.85499,-0.369922,-0.319453,-0.71281,-0.343171,-0.2751,-0.228404,-0.539173,-0.376259,-0.63582,-0.371165,-0.401822,-0.309924,-0.218545,-0.344988,-0.420638,-0.314673,-0.123913,-0.302625,-0.225331,-0.234517,-0.367935,-0.388235,-0.187281,0.0910778 --5923.11,0.528279,0.394006,2,-0.363753,0.0113175,-2.59676,-2.42579,-1.77203,-2.45471,-2.42372,-2.17285,-1.82455,-1.93209,-2.10397,-2.23863,-2.38727,-1.49233,-3.12982,-2.95811,-1.19024,-1.40011,-2.00689,-3.39548,-3.45532,-1.26974,-1.97962,-2.87281,-0.493817,-0.421524,-0.239349,-0.102544,-0.211069,-0.480408,-0.386761,-0.30379,-0.0163318,-0.329606,-0.354695,-0.250612,-0.47157,-0.117179,-0.377694,-0.256853,-0.311304,-0.333224,-0.439372,-0.44106,-0.444672,-0.420422,-0.5675,0.106384 --5924.86,0.958381,0.394006,2,-0.282883,0.00552079,-2.22341,-2.09935,-2.42013,-2.28971,-2.48067,-2.28391,-1.59293,-2.16213,-1.83179,-2.15214,-2.18265,-1.28246,-2.68834,-2.36184,-1.50647,-1.72189,-1.74164,-2.61681,-3.15969,-1.34946,-2.26272,-2.97027,-0.233727,-0.246019,-0.384445,-0.480498,-0.315356,-0.223956,-0.369017,-0.163439,-0.599786,-0.436251,-0.256334,-0.384817,-0.299412,-0.343663,-0.324628,-0.105287,-0.298863,-0.160729,-0.287424,-0.348549,-0.400877,-0.408548,-0.201014,0.074302 --5926.38,0.4077,0.394006,2,-0.306264,0.0248821,-2.08321,-2.25955,-2.5048,-2.39208,-2.88535,-2.25566,-1.80726,-1.906,-1.92547,-2.13724,-2.32333,-1.62016,-3.06558,-2.8705,-1.4804,-1.54092,-1.93667,-2.68729,-3.29398,-1.61339,-2.21817,-2.76434,-0.507561,-0.447191,-0.169763,-0.255655,-0.022491,-0.09666,-0.404651,-0.420798,-0.306521,-0.4893,-0.358101,-0.0711628,-0.421342,-0.112795,-0.285288,-0.221604,-0.219055,-0.638154,-0.172777,-0.25047,-0.322416,-0.301919,-0.0918882,0.157741 --5930.93,0.840903,0.394006,3,-0.344343,0.035133,-2.66777,-2.08878,-2.46332,-2.49185,-2.54927,-2.21088,-1.79333,-2.14149,-2.04303,-2.11458,-2.30034,-1.73747,-2.82781,-2.83592,-1.53455,-1.49327,-2.05402,-2.4247,-2.82354,-1.51146,-2.08931,-3.201,-0.495353,-0.231983,-0.167855,-0.154248,0.00534799,-0.281115,-0.258133,-0.307177,-0.375415,-0.52711,-0.195359,-0.0760853,-0.568364,0.145172,-0.00938213,-0.379083,-0.114742,-0.610387,-0.292893,-0.333992,-0.323342,-0.368362,-0.0904722,0.187438 --5934.37,0.893938,0.394006,2,-0.253335,0.0242196,-2.79208,-2.45459,-2.38292,-2.39963,-2.63318,-1.48553,-1.73298,-2.23506,-2.01218,-2.09614,-2.26599,-1.80408,-2.87023,-2.74608,-1.47722,-1.59219,-1.96344,-2.3821,-3.70949,-1.54087,-1.91295,-3.15819,-0.427525,-0.499162,0.133971,-0.157967,0.00354943,-0.384849,-0.288441,-0.189389,-0.260885,-0.481412,-0.199018,-0.0143315,-0.443991,0.139136,-0.210818,-0.23591,-0.330941,-0.793218,-0.422164,-0.327382,-0.441213,-0.210707,-0.349578,0.155626 --5928.42,0.979457,0.394006,2,-0.256917,0.0215002,-2.37599,-2.06973,-2.05102,-2.40477,-2.40065,-2.29717,-1.72429,-1.97105,-1.88321,-2.13334,-2.36124,-1.55689,-3.06697,-2.84668,-1.66104,-1.27007,-2.08922,-2.98136,-2.93424,-1.35601,-2.18269,-2.97826,-0.355142,-0.261322,-0.272185,-0.281611,0.0561679,-0.124554,-0.366404,-0.15182,-0.216887,-0.362214,-0.319524,0.444105,-0.228274,0.00378591,0.0786686,-0.528051,0.0190064,-0.140211,-0.240375,-0.282218,-0.305093,-0.211668,-0.49371,0.146629 --5929.38,0.594256,0.394006,3,-0.241722,0.0340286,-2.20433,-2.23559,-2.27846,-2.4332,-2.66011,-2.65696,-1.59568,-2.0254,-2.04414,-2.19215,-2.349,-1.59101,-3.20212,-2.8025,-1.54965,-1.30736,-1.90213,-2.90286,-2.89676,-1.48279,-1.99623,-2.78589,-0.549513,-0.316093,-0.137331,-0.326779,0.047771,-0.462466,-0.377875,-0.339549,-0.112428,-0.328333,-0.166957,0.345256,-0.219969,0.0843965,-0.217568,-0.430622,-0.116701,0.229664,-0.313757,-0.223882,-0.379321,-0.340374,-0.597454,0.184468 --5931.18,0.960484,0.394006,3,-0.365652,0.0375732,-2.67548,-2.04294,-2.50044,-2.29445,-2.35559,-2.59603,-1.64838,-2.1564,-1.79747,-2.27551,-2.22447,-1.15951,-2.81559,-2.75685,-1.42043,-1.64364,-1.84979,-3.18232,-3.13572,-1.52414,-2.15299,-2.79671,0.0227811,-0.64819,-0.457413,-0.32661,-0.521095,-0.694375,-0.386218,-0.0773203,-0.436922,-0.269241,-0.394477,-0.413917,-0.619067,-0.0203061,-0.459629,-0.0732585,-0.041162,0.492327,-0.22622,-0.21946,-0.449947,-0.484612,-0.263305,0.193838 --5932.93,0.887263,0.394006,3,-0.251049,0.0164658,-1.16032,-2.51533,-2.19525,-2.5477,-2.7516,-2.82748,-1.67739,-2.1356,-1.85305,-2.28927,-2.39372,-1.5505,-3.12982,-2.70742,-1.45499,-1.38757,-1.84497,-2.29308,-3.38677,-1.34803,-2.1487,-2.93996,-0.235103,-0.256363,-0.316015,-0.167844,-0.116946,-0.480557,-0.325006,-0.195519,-0.258708,-0.162333,-0.203352,0.0684633,-0.379232,0.10971,-0.295317,-0.470264,-0.0996046,-0.353429,0.163019,-0.395118,-0.270668,-0.252401,-0.0353801,0.128319 --5925.78,1,0.394006,2,-0.244836,0.0144589,-2.24744,-2.29685,-2.19277,-2.59019,-2.69974,-2.84068,-1.70546,-2.15594,-1.81183,-2.42411,-2.33157,-1.50595,-3.15978,-2.67527,-1.28413,-1.51122,-1.83935,-2.39742,-3.52824,-1.38492,-2.17089,-2.9136,-0.448297,-0.141424,-0.438467,-0.0976437,-0.163172,-0.204202,-0.445307,-0.246665,-0.191562,-0.204521,-0.178508,0.0347191,-0.272686,-0.0728888,-0.24228,-0.310721,-0.0118498,-0.295637,0.143764,-0.350399,-0.369932,-0.279975,-0.164774,0.120245 --5920.67,0.96892,0.394006,2,-0.248098,0.0139716,-2.87911,-2.22807,-1.84601,-2.60618,-2.60635,-2.28835,-1.69504,-2.02354,-1.81537,-2.33855,-2.311,-1.57847,-3.41591,-2.82124,-1.32449,-1.68238,-2.20325,-3.08792,-3.54098,-1.54316,-2.12027,-2.87363,-0.343224,-0.0998374,-0.328963,-0.0508705,-0.168521,-0.428587,-0.4189,-0.234127,-0.317,-0.223362,-0.360568,-0.062603,-0.190677,-0.172313,-0.382781,-0.290914,-0.132504,-0.242509,-0.11804,-0.249971,-0.124195,-0.460876,-0.380524,0.118201 --5905.85,1.33301e-48,0.394006,3,-0.244164,0.0016512,-1.73645,-2.6136,-2.03572,-2.34442,-2.51458,-1.98097,-1.77875,-2.16415,-1.93583,-2.1882,-2.25295,-1.46007,-2.86313,-2.64128,-1.53149,-1.37595,-1.90866,-2.89269,-3.37903,-1.38979,-2.0733,-2.94057,-0.192662,-0.322348,-0.295116,-0.243859,-0.216841,-0.137297,-0.240617,-0.200353,-0.410001,-0.27107,-0.216402,-0.279196,-0.209702,-0.0974669,-0.209677,-0.180281,-0.257464,-0.212039,-0.292182,-0.262733,-0.406139,-0.210738,-0.14864,0.0406349 --5909.85,0.00317009,0.394006,2,-0.335635,0.00479017,-2.87945,-1.88421,-2.24221,-2.40189,-2.52222,-2.27511,-1.60002,-1.99788,-1.90202,-2.23853,-2.31032,-1.39933,-3.24252,-2.81019,-1.41071,-1.43828,-1.77935,-3.36111,-3.53237,-1.56832,-2.11761,-2.85721,-0.470309,-0.398182,-0.347146,-0.305302,-0.132994,-0.327122,-0.467406,-0.27201,-0.264874,-0.378335,-0.30144,-0.284366,-0.385568,-0.280556,-0.301461,-0.347104,-0.543373,-0.356093,-0.408967,-0.349053,-0.348702,-0.392187,-0.498887,0.0692111 --5909.85,0.327639,0.394006,2,-0.335635,0.00479017,-2.87945,-1.88421,-2.24221,-2.40189,-2.52222,-2.27511,-1.60002,-1.99788,-1.90202,-2.23853,-2.31032,-1.39933,-3.24252,-2.81019,-1.41071,-1.43828,-1.77935,-3.36111,-3.53237,-1.56832,-2.11761,-2.85721,-0.470309,-0.398182,-0.347146,-0.305302,-0.132994,-0.327122,-0.467406,-0.27201,-0.264874,-0.378335,-0.30144,-0.284366,-0.385568,-0.280556,-0.301461,-0.347104,-0.543373,-0.356093,-0.408967,-0.349053,-0.348702,-0.392187,-0.498887,0.0692111 --5908.11,0.233766,0.394006,3,-0.124917,0.010134,-2.32386,-2.5722,-1.91318,-2.36597,-2.55525,-2.07609,-1.8345,-2.16776,-1.94915,-2.22228,-2.29219,-1.4936,-2.80007,-2.80483,-1.28365,-1.55006,-2.16897,-3.02902,-3.4294,-1.49713,-2.1532,-2.99269,-0.16833,-0.171295,-0.104374,-0.15547,-0.193052,-0.26494,-0.229188,-0.0499658,-0.19728,-0.206494,-0.309292,-0.0953795,-0.177838,-0.0388953,-0.201675,-0.143024,0.0230231,-0.0923201,-0.222362,-0.154405,-0.29094,-0.257402,-0.140941,0.100668 --5911.8,0.00722259,0.394006,3,-0.18565,0.00823285,-2.5555,-2.47857,-1.81677,-2.39119,-2.42946,-2.48443,-1.70819,-1.99561,-1.89929,-2.32666,-2.17226,-1.64988,-2.73175,-2.74499,-1.33679,-1.43011,-2.08647,-2.85094,-3.30511,-1.69326,-2.13178,-3.08968,-0.294426,-0.317875,-0.209218,-0.299311,-0.136289,-0.109134,-0.297283,-0.169233,-0.210382,-0.295367,-0.364251,-0.052928,-0.252121,0.050988,-0.200503,-0.103788,-0.230424,-0.15188,-0.0986859,-0.206295,-0.112223,-0.147963,-0.240802,0.0907351 --5913.07,0.222294,0.394006,2,-0.193286,0.00851011,-2.25484,-2.06698,-2.04067,-2.42663,-2.39119,-1.85823,-1.77705,-2.26486,-2.06204,-2.28474,-2.5041,-1.35165,-3.38426,-2.82847,-1.50179,-1.52735,-1.97991,-2.90559,-4.02473,-1.54168,-2.15814,-2.77852,-0.241423,-0.269832,-0.144296,-0.192137,-0.143227,-0.382447,-0.222294,-0.0552734,-0.255635,-0.175854,0.00987601,-0.354047,-0.193939,-0.182537,-0.187158,-0.315053,-0.212181,-0.24992,0.00697319,-0.186769,-0.382796,-0.271381,-0.177773,0.0922503 --5914.81,0.642191,0.394006,3,-0.226858,0.0108693,-2.31968,-2.13275,-2.35574,-2.37659,-2.41645,-2.21624,-1.57758,-2.03589,-1.97752,-2.16943,-2.06397,-1.61431,-3.29702,-2.7319,-1.35003,-1.54491,-2.13663,-2.7727,-3.67962,-1.46098,-2.23505,-3.08815,-0.167131,-0.195336,-0.0708932,-0.235469,-0.0628052,-0.335573,-0.567564,-0.318723,-0.274471,-0.291718,-0.369747,-0.185348,-0.252804,-0.0464985,-0.23496,-0.277522,-0.163424,-0.24137,-0.504249,-0.161862,-0.398571,-0.203804,-0.168744,0.104256 --5919.6,0.327732,0.394006,2,-0.302529,0.00540668,-2.60801,-1.92576,-2.11878,-2.33648,-2.35831,-3.00525,-1.68566,-2.0588,-2.0262,-2.27891,-2.31268,-1.57199,-2.88075,-2.55363,-1.17678,-1.6745,-1.83254,-2.7967,-4.19917,-1.33367,-2.02915,-3.07737,-0.657446,-0.356956,-0.325239,-0.284258,-0.373618,-0.180893,-0.412235,-0.0350086,-0.333833,-0.381261,-0.156901,-0.219065,-0.315869,-0.310082,-0.361461,-0.235232,-0.181455,-0.26271,-0.229486,-0.452546,-0.294244,-0.29822,-0.335788,0.0735301 --5916.68,1,0.394006,2,-0.306898,0.00757389,-2.24348,-2.0333,-2.20632,-2.47088,-2.41256,-1.73582,-1.66141,-2.26875,-1.81075,-2.1868,-2.14425,-1.3467,-2.90306,-2.73543,-1.44377,-1.52433,-2.10548,-2.9309,-3.78014,-1.29499,-2.06788,-2.74187,-0.0394684,-0.454758,-0.330379,-0.249615,-0.103746,-0.369957,-0.420101,-0.277482,-0.339705,-0.2537,-0.511383,-0.283808,-0.38696,-0.0430548,-0.38786,-0.226669,-0.371728,-0.331492,-0.118538,-0.326569,-0.511246,-0.365624,-0.376499,0.0870281 --5924.17,0.938939,0.394006,3,-0.187671,0.0250221,-2.5296,-2.26466,-1.79653,-2.42907,-2.52465,-2.43192,-1.79507,-1.96678,-2.00199,-2.23343,-2.3695,-1.46408,-3.06232,-3.05871,-1.1582,-1.38219,-1.9407,-3.3591,-2.75958,-1.55767,-2.33434,-3.07671,-0.18099,-0.314654,-0.355603,-0.127531,-0.1193,-0.34194,-0.290018,-0.130158,-0.338452,-0.405069,-0.0860263,-0.236312,-0.223169,0.400992,-0.237268,-0.313358,0.000309627,0.0707554,-0.515723,-0.259495,-0.078436,-0.30951,-0.0792054,0.158184 --5924.56,0.929944,0.394006,3,-0.251413,0.0214967,-2.52699,-2.16275,-2.56966,-2.40202,-2.30078,-2.06447,-1.66222,-2.35524,-1.895,-2.27452,-2.41198,-1.41936,-3.13418,-3.05759,-1.58596,-1.64189,-1.93846,-2.43129,-4.03461,-1.60901,-1.89921,-2.78696,-0.0643368,-0.219536,-0.158866,-0.301502,-0.261715,-0.301078,-0.385841,-0.234112,-0.154721,-0.219754,-0.264485,-0.098271,-0.286466,0.1016,-0.368422,-0.143219,-0.396519,-0.310608,0.0144979,-0.160297,-0.520247,-0.291313,-0.177411,0.146618 --5919.84,0.991762,0.394006,2,-0.26261,0.00512954,-2.05724,-2.25292,-2.39654,-2.2722,-2.4757,-2.53876,-1.74941,-2.15401,-2.36405,-2.28363,-2.48698,-1.56618,-3.01634,-2.65629,-1.1607,-1.42906,-1.8158,-3.37363,-3.79058,-1.36664,-2.03871,-3.01664,-0.436139,-0.264842,-0.284405,-0.299138,-0.198453,-0.207347,-0.266528,-0.0320157,-0.274463,-0.231296,-0.127435,-0.103385,-0.213961,0.0279899,-0.169505,-0.264696,-0.126769,-0.152364,-0.363943,-0.276021,-0.515649,-0.27115,-0.27592,0.0716208 --5918.54,0.970141,0.394006,2,-0.255877,0.00663904,-3.00971,-2.13252,-2.46304,-2.44321,-2.35708,-1.91795,-1.73983,-2.2885,-1.79883,-2.19967,-2.17393,-1.26921,-3.0251,-2.69735,-1.38838,-1.62521,-2.08822,-2.86748,-3.02773,-1.47255,-2.15007,-2.81571,0.152636,-0.215525,-0.190003,-0.223903,-0.15053,-0.215214,-0.281082,-0.170364,-0.152167,-0.300447,-0.342028,-0.350728,-0.315807,-0.13663,-0.436493,-0.135574,-0.36719,-0.311622,-0.0378817,-0.2519,-0.160801,-0.295129,-0.144563,0.0814803 --5913.89,0.815899,0.394006,2,-0.241208,0.00818903,-2.87663,-2.31381,-2.39354,-2.45481,-2.53875,-1.96081,-1.68564,-2.3447,-2.06157,-2.21991,-2.23915,-1.26614,-2.82821,-2.64065,-1.20209,-1.54748,-2.13222,-3.2592,-3.11446,-1.44711,-2.09459,-2.81299,-0.121586,-0.176831,-0.392761,-0.144383,-0.31468,-0.225963,-0.386479,-0.1913,-0.216661,-0.317486,-0.299063,-0.273378,-0.292337,-0.284378,-0.348364,-0.289657,-0.382429,-0.29013,-0.210966,-0.305171,-0.2294,-0.46722,-0.303576,0.0904933 --5913.89,0.249038,0.394006,2,-0.241208,0.00818903,-2.87663,-2.31381,-2.39354,-2.45481,-2.53875,-1.96081,-1.68564,-2.3447,-2.06157,-2.21991,-2.23915,-1.26614,-2.82821,-2.64065,-1.20209,-1.54748,-2.13222,-3.2592,-3.11446,-1.44711,-2.09459,-2.81299,-0.121586,-0.176831,-0.392761,-0.144383,-0.31468,-0.225963,-0.386479,-0.1913,-0.216661,-0.317486,-0.299063,-0.273378,-0.292337,-0.284378,-0.348364,-0.289657,-0.382429,-0.29013,-0.210966,-0.305171,-0.2294,-0.46722,-0.303576,0.0904933 --5912.15,0.484625,0.394006,2,-0.292358,0.00596885,-3.01081,-2.30299,-2.45976,-2.46389,-2.57648,-2.12762,-1.65523,-2.34164,-2.00883,-2.24682,-2.20933,-1.37001,-3.00979,-2.69792,-1.18364,-1.49243,-1.96892,-3.16322,-3.11305,-1.44918,-2.13583,-2.86778,-0.205528,-0.277786,-0.3619,-0.12256,-0.250348,-0.193907,-0.373214,-0.172374,-0.12668,-0.406217,-0.224636,-0.327473,-0.185627,-0.230277,-0.432823,-0.208304,-0.281115,-0.210257,-0.362255,-0.282452,-0.320801,-0.322362,-0.428514,0.0772583 --5924.75,0.7187,0.394006,2,-0.254939,0.0112626,-1.75339,-2.49808,-2.23391,-2.37646,-2.5019,-2.37507,-1.7353,-1.77435,-2.04954,-2.32283,-2.26159,-1.41998,-3.00778,-2.85207,-1.32106,-1.28487,-2.17406,-2.96842,-3.61909,-1.62716,-1.94394,-2.61013,-0.167298,-0.212161,-0.292629,-0.410659,-0.117879,-0.285905,-0.285612,-0.328606,-0.168749,-0.00378335,-0.248532,-0.125596,-0.323229,0.0227201,-0.22569,-0.287513,-0.147886,-0.23357,-0.106197,-0.18704,-0.276488,-0.362526,0.0121379,0.106125 --5923.13,0.854779,0.394006,2,-0.20094,0.0112145,-2.51749,-1.87936,-2.80316,-2.3579,-2.6393,-2.23284,-1.81245,-2.13743,-2.05744,-2.32719,-2.32816,-1.44942,-2.84629,-2.96655,-1.06751,-1.3243,-1.8768,-2.68915,-3.33875,-1.63075,-2.02718,-2.79566,-0.298415,-0.209128,-0.313746,-0.371141,-0.175873,-0.181743,-0.274332,-0.164817,-0.149565,-0.240877,-0.223966,-0.213826,-0.400555,0.091742,-0.292052,-0.568522,-0.175353,0.0232636,-0.374579,-0.21482,-0.391286,-0.218302,-0.33212,0.105899 --5920.34,0.637365,0.394006,2,-0.261545,0.00781598,-2.59921,-1.8615,-2.75347,-2.35241,-2.43711,-2.02854,-1.69487,-2.08261,-1.81394,-2.22475,-2.32625,-1.37134,-2.71223,-3.07353,-1.21497,-1.26591,-1.90034,-2.7903,-3.71567,-1.71414,-2.04056,-2.96084,-0.216085,-0.0439515,-0.192391,-0.322719,-0.110236,-0.275103,-0.317731,-0.308778,-0.202181,-0.204392,-0.176363,-0.276154,-0.275592,0.245003,-0.3538,-0.48715,-0.252205,-0.0795906,-0.278759,-0.103598,-0.318891,-0.359139,-0.157334,0.088408 --5922.21,0.239105,0.394006,2,-0.209677,0.0171482,-2.8028,-1.98859,-2.82256,-2.36956,-2.50484,-2.23102,-1.74423,-2.02962,-1.88909,-2.15878,-2.30553,-1.39679,-2.86433,-2.88799,-1.34033,-1.36783,-1.88177,-2.9992,-3.6855,-1.47117,-2.45407,-2.84529,-0.0467984,-0.553538,0.151489,-0.254271,-0.197223,-0.253617,-0.414102,-0.190314,-0.337694,-0.457219,-0.32363,-0.246023,-0.266984,0.245607,-0.257281,-0.203519,-0.352308,-0.00665216,-0.177725,-0.191011,-0.267068,-0.155179,-0.420449,0.130951 --5919.94,0.953506,0.394006,2,-0.257244,0.0141928,-2.52337,-1.91211,-2.45958,-2.44509,-2.4061,-2.32842,-1.62649,-2.16454,-1.96192,-2.36554,-2.35454,-1.41163,-3.1524,-2.82454,-1.2705,-1.47598,-1.84516,-2.75666,-3.25942,-1.57293,-1.98233,-3.05956,0.342134,-0.639566,-0.341475,-0.210649,-0.0913656,-0.234606,-0.438676,-0.279388,-0.306752,-0.230485,-0.116845,-0.257717,-0.277472,-0.00859075,-0.335423,-0.36249,-0.188079,-0.494098,-0.278306,-0.270623,-0.325454,-0.466419,-0.130428,0.119133 --5923.61,0.723409,0.394006,3,-0.194304,0.026696,-2.93886,-2.11762,-1.7018,-2.35681,-2.45036,-2.3638,-1.72019,-2.03124,-1.89068,-2.32261,-2.22192,-1.48716,-3.07631,-3.0365,-1.59616,-1.55076,-1.9064,-3.25012,-3.52543,-1.3303,-2.24717,-2.77475,0.341308,-0.463732,-0.17705,-0.243473,-0.230689,-0.171509,-0.431723,-0.25481,-0.361566,-0.125033,-0.383499,-0.150943,-0.248359,0.295087,0.0244667,0.0148177,-0.321481,0.0833742,-0.13915,-0.259558,-0.197954,-0.356277,-0.41839,0.163389 --5933.39,0.551914,0.394006,3,-0.254284,0.0248658,-2.66166,-1.77295,-2.61114,-2.4081,-2.65009,-1.74704,-1.76104,-2.17178,-1.96508,-2.08624,-2.42807,-1.45711,-2.94873,-2.65324,-1.39376,-1.16879,-2.06836,-2.74991,-3.56582,-1.60233,-2.00634,-2.89378,0.55368,-0.422106,-0.279899,-0.286958,-0.228854,-0.247056,-0.438341,-0.103531,-0.218393,-0.65579,-0.0723346,-0.254474,-0.35738,-0.24984,-0.392429,-0.25816,-0.0723061,-0.437659,0.0463012,-0.08681,-0.409971,-0.517247,-0.0404685,0.157689 --5929.78,0.916726,0.394006,3,-0.285607,0.0269637,-2.87597,-2.46717,-1.69758,-2.42186,-2.20323,-2.44089,-1.69257,-1.90543,-2.04589,-2.33226,-2.08206,-1.4838,-3.1802,-2.88797,-1.0208,-1.63876,-1.747,-2.94138,-3.61547,-1.4958,-2.04627,-2.92462,0.0292345,-0.283436,-0.416405,-0.268315,-0.361111,-0.370949,-0.62374,-0.235001,-0.355365,-0.150478,-0.518778,-0.167777,-0.479857,0.181567,-0.665014,-0.229603,-0.324988,-0.0796908,-0.0318607,-0.303191,-0.264626,-0.419099,-0.637509,0.164206 --5922.93,0.690098,0.394006,2,-0.286916,0.0231414,-2.38264,-2.09146,-1.83823,-2.25083,-2.26173,-2.47836,-1.66044,-2.1184,-2.1656,-2.29921,-2.15989,-1.35579,-2.78522,-2.95935,-1.30594,-1.51408,-1.94126,-2.54082,-3.31327,-1.52094,-2.21613,-2.78934,-0.2261,-0.237679,-0.193749,-0.266856,-0.237323,-0.239039,-0.439475,-0.26038,-0.255643,-0.217792,-0.47161,-0.0250524,-0.442591,0.343553,-0.595297,-0.291814,-0.345981,-0.293161,-0.188835,-0.169168,-0.284314,-0.562545,-0.625641,0.152123 --5922.54,0.69788,0.394006,2,-0.375262,0.0123583,-2.30954,-1.98118,-2.55944,-2.48698,-2.44093,-1.86049,-1.77688,-2.19646,-1.65541,-2.19307,-2.35207,-1.59207,-2.9229,-2.79453,-1.29332,-1.25084,-1.98434,-3.08068,-3.32182,-1.48801,-2.09409,-2.7949,-0.368441,-0.47124,-0.394974,-0.310338,-0.331866,-0.384786,-0.333819,-0.0982378,-0.457312,-0.324918,-0.120261,-0.436375,-0.367379,-0.0398735,-0.0400808,-0.394971,-0.167657,-0.244166,-0.329395,-0.364349,-0.468429,-0.355208,-0.035362,0.111168 --5932.54,0.996969,0.394006,2,-0.31493,0.00553057,-2.17081,-1.67431,-2.3441,-2.40956,-2.48509,-2.20629,-1.66746,-2.10684,-1.73339,-2.11718,-2.41272,-1.49708,-2.89941,-2.84874,-1.41474,-0.828601,-1.9949,-3.07287,-3.14795,-1.37693,-1.93624,-2.82849,-0.380837,-0.299607,-0.479973,-0.221204,-0.317494,-0.41964,-0.273966,-0.0539691,-0.489131,-0.336808,-0.120333,-0.288377,-0.335116,-0.0444551,-0.130367,-0.436634,-0.415437,-0.371874,-0.4077,-0.311671,-0.29912,-0.52499,-0.354392,0.0743678 --5916.08,0.77455,0.394006,3,-0.372737,0.0187682,-2.67506,-1.92177,-2.196,-2.37746,-2.40968,-2.09131,-1.6542,-2.16555,-1.79284,-2.22986,-2.36151,-1.54446,-2.60174,-2.80815,-1.35466,-1.19922,-2.07155,-2.77701,-2.93312,-1.39382,-1.93781,-2.86812,-0.283668,-0.357043,-0.371541,-0.270535,-0.180713,-0.233514,-0.572194,-0.105424,-0.401132,-0.257167,-0.159503,-0.266784,-0.431569,0.0187438,-0.380272,-0.40685,-0.196066,-0.223834,-0.388524,-0.415663,-0.42591,-0.248082,-0.431356,0.136997 --5915.16,0.943475,0.394006,2,-0.253442,0.00743048,-2.99025,-2.06227,-2.28889,-2.40905,-2.58902,-1.85918,-1.6235,-2.17071,-1.82952,-2.28872,-2.39218,-1.33904,-2.99763,-2.75699,-1.20667,-1.55773,-2.03092,-2.6692,-3.30358,-1.53527,-2.1339,-2.88704,-0.173753,-0.349595,-0.426132,-0.393215,-0.0490737,-0.377819,-0.527856,-0.272191,-0.240454,-0.335411,-0.222663,-0.145453,-0.350069,-0.111659,-0.399297,-0.179894,-0.296798,-0.281878,-0.297763,-0.299556,-0.322111,-0.629408,-0.261189,0.0862003 --5924.99,0.90164,0.394006,2,-0.275186,0.028691,-2.24121,-2.18856,-2.03134,-2.3141,-2.38931,-1.91371,-1.64529,-2.19712,-1.65046,-2.1405,-2.51064,-1.64976,-2.85859,-2.74408,-1.19732,-1.62436,-1.88656,-2.9298,-3.24374,-1.33481,-2.00942,-2.5844,-0.259411,-0.294237,-0.784439,-0.349942,-0.17671,-0.415138,-0.618509,-0.137322,-0.35335,-0.306429,-0.022941,-0.175007,-0.287785,-0.0238635,-0.183093,-0.282814,-0.204382,-0.181266,-0.143441,-0.214433,-0.189062,-0.624126,-0.171843,0.169384 --5929.89,0.94584,0.394006,3,-0.293068,0.0546663,-2.49874,-1.6799,-2.09622,-2.42712,-2.45991,-2.15932,-1.58937,-2.34774,-2.09573,-2.28026,-2.48499,-1.60582,-3.16131,-2.72344,-1.56357,-1.42082,-1.80805,-3.30243,-3.48265,-1.38724,-2.11574,-2.80354,-0.289754,-0.6724,-0.110097,-0.239891,-0.0666679,-0.608443,-0.405137,0.051826,-0.472121,-0.389483,-0.130751,0.143303,-0.603516,-0.0952757,-0.189849,-0.238034,-0.38594,0.13616,-0.129688,-0.533743,-0.605501,-0.485516,-0.245664,0.233808 --5929.3,0.97818,0.394006,3,-0.250221,0.013894,-2.76484,-2.18969,-1.98616,-2.36729,-2.64649,-2.31812,-1.758,-2.0426,-2.01875,-2.07707,-2.17507,-1.22196,-3.4143,-2.86389,-1.17238,-1.44074,-2.34916,-3.05527,-3.36901,-1.62457,-2.14983,-3.02273,-0.191518,-0.172558,-0.289646,-0.476917,0.156263,-0.509121,-0.450265,-0.177007,-0.264671,-0.413486,-0.478846,-0.452287,-0.274017,0.167065,-0.563035,-0.137887,-0.0288634,-0.0831635,-0.198213,-0.27896,-0.18248,-0.244464,-0.24976,0.117873 --5921.87,0.781646,0.394006,3,-0.160201,0.0111339,-2.57505,-2.18799,-2.18958,-2.57888,-2.29746,-2.01305,-1.77407,-2.14434,-2.08695,-2.27409,-2.46726,-1.50791,-2.65479,-2.80346,-1.61105,-1.59068,-1.58344,-2.96896,-3.36458,-1.5932,-2.02387,-2.8172,-0.179505,-0.268974,-0.0789883,0.0127726,-0.280886,-0.140769,-0.372879,-0.091802,-0.254252,-0.158395,-0.0979041,0.0617103,-0.173131,-0.0713125,0.0260514,-0.184562,-0.135827,-0.219396,-0.0828326,-0.243798,-0.672823,-0.26759,-0.0517576,0.105517 --5918.33,0.852568,0.394006,2,-0.144597,0.00532294,-2.50373,-2.07298,-2.20646,-2.59336,-2.30573,-2.02401,-1.72233,-2.19405,-1.93704,-2.34978,-2.38663,-1.71772,-2.92069,-2.92753,-1.35313,-1.33906,-1.93844,-2.91051,-3.92111,-1.58849,-1.78795,-2.75577,-0.139582,-0.0818632,-0.130245,0.0328381,-0.187667,-0.248388,-0.320884,-0.150764,-0.0414956,-0.229393,-0.158094,-0.190883,-0.185817,0.0192069,-0.17594,-0.106404,-0.22251,-0.0747337,-0.232755,-0.113855,-0.383645,-0.223017,-0.245282,0.0729585 --5914.56,0.599553,0.394006,2,-0.188727,0.00794498,-2.78537,-2.20558,-2.21887,-2.50068,-2.2802,-2.76004,-1.66067,-2.16056,-1.93072,-2.33709,-2.48822,-1.78421,-2.82629,-2.90485,-1.38272,-1.46285,-1.85774,-2.85381,-3.78076,-1.55355,-1.88081,-2.76129,-0.133211,-0.231594,-0.284998,-0.032315,-0.154072,-0.144347,-0.378502,-0.196303,-0.182403,-0.199102,-0.0852552,-0.0910259,-0.180743,0.0178028,-0.239681,-0.110126,0.016758,-0.175016,-0.137156,-0.132639,-0.305969,-0.244377,-0.217307,0.0891346 --5919.53,0.683967,0.394006,2,-0.166146,0.00622765,-2.48268,-2.42772,-1.85132,-2.48911,-2.03397,-3.18606,-1.74367,-2.27691,-1.97435,-2.16225,-2.43507,-1.65925,-3.1286,-2.8316,-1.36868,-1.33661,-2.01353,-2.95812,-3.83681,-1.54758,-1.93726,-2.8148,-0.143837,-0.24323,-0.078875,-0.0846419,-0.19195,-0.219492,-0.143184,-0.106364,-0.230194,-0.195978,-0.236132,-0.270041,-0.196581,0.0927975,-0.198964,-0.280117,-0.180453,-0.166205,-0.207147,-0.177956,-0.408052,-0.236774,-0.136757,0.0789155 --5912.51,0.0539614,0.394006,3,-0.28559,0.00476992,-2.10984,-2.5511,-2.2021,-2.45106,-2.37503,-2.37173,-1.71265,-2.05479,-2.16519,-2.23324,-2.27377,-1.40801,-3.48251,-2.75713,-1.3207,-1.44445,-1.76217,-2.9719,-3.66319,-1.70834,-2.28116,-2.77869,-0.376329,-0.261734,-0.439171,-0.299519,-0.350684,-0.26639,-0.459499,-0.29175,-0.277663,-0.403346,-0.250537,-0.0940188,-0.288534,-0.00190802,-0.293668,-0.262229,-0.30609,-0.34114,-0.264635,-0.336606,-0.196721,-0.407677,-0.369954,0.0690646 --5909.8,0.614955,0.394006,2,-0.280438,0.00402403,-2.6348,-1.92836,-2.39153,-2.33034,-2.125,-2.39989,-1.56455,-1.99526,-2.25375,-2.20357,-2.20417,-1.4538,-2.7609,-2.76694,-1.23179,-1.58078,-1.79753,-3.06183,-3.09619,-1.55462,-2.01754,-2.7895,-0.242855,-0.380784,-0.168954,-0.275885,-0.302788,-0.359798,-0.289862,-0.324303,-0.325995,-0.293188,-0.307212,-0.208188,-0.350453,-0.288316,-0.236253,-0.297994,-0.328999,-0.287638,-0.353071,-0.220172,-0.482273,-0.400718,-0.284057,0.0634353 --5913.72,0.00264196,0.394006,3,-0.193504,0.00690376,-1.8774,-2.38649,-2.0968,-2.4802,-2.63036,-2.1581,-1.88534,-2.23651,-1.64571,-2.31448,-2.55905,-1.45863,-3.2672,-2.73818,-1.3492,-1.4902,-2.23712,-3.31603,-3.66033,-1.32822,-2.31044,-2.98922,-0.209593,-0.0395287,-0.129536,-0.197513,-0.142535,-0.115566,-0.23887,-0.149439,-0.204794,-0.257654,-0.112149,-0.115457,-0.154551,-0.108403,-0.219235,-0.200577,0.0371708,-0.180119,-0.217753,-0.218434,-0.267838,-0.264876,-0.0453273,0.0830889 --5907.47,0.661564,0.394006,1,-0.185341,0.00344904,-2.08799,-2.45601,-1.92746,-2.55544,-2.46169,-2.14354,-1.84801,-2.08802,-1.98711,-2.18105,-2.43275,-1.51327,-3.06478,-2.70359,-1.4909,-1.49714,-2.06334,-2.94943,-3.83469,-1.40452,-2.16184,-2.96367,-0.122674,-0.266297,-0.217839,-0.252512,-0.0248423,-0.233676,-0.223526,-0.28199,-0.239159,-0.192259,-0.149735,-0.223203,-0.218119,-0.157522,-0.201075,-0.244272,-0.0830457,-0.389015,-0.21623,-0.152542,-0.266458,-0.214729,-0.241712,0.0587285 --5905.41,0.15295,0.394006,1,-0.195087,0.00504146,-2.50259,-2.10965,-2.00585,-2.54662,-2.56359,-2.64,-1.77865,-2.14241,-2.0172,-2.26743,-2.41779,-1.4315,-3.15344,-2.73112,-1.33683,-1.40115,-1.94489,-2.93964,-3.63068,-1.53284,-2.14716,-3.03939,-0.366426,-0.231375,-0.149691,-0.136437,-0.211587,-0.190243,-0.214488,-0.143507,-0.188917,-0.182413,-0.205328,-0.241743,-0.200952,-0.188092,-0.403727,-0.271873,-0.190437,-0.104898,-0.0272898,-0.183956,-0.234222,-0.138096,-0.0681064,0.0710032 --5911.91,0.858551,0.394006,2,-0.177225,0.00883491,-2.20487,-2.60008,-2.05263,-2.34908,-2.22078,-1.89735,-1.69391,-2.0583,-1.89712,-2.22286,-2.37582,-1.60651,-2.94283,-2.70574,-1.47209,-1.57599,-1.79151,-3.8587,-3.45712,-1.36769,-2.14871,-2.90212,-0.159123,-0.21162,-0.177174,-0.315923,-0.272172,-0.206243,-0.26385,-0.155676,-0.268494,-0.222912,-0.228934,-0.0797554,-0.237991,-0.141358,-0.0519564,-0.252771,-0.243828,-0.0823523,-0.058156,-0.0915088,-0.258754,-0.176728,-0.0948355,0.0939942 --5919.37,0.101578,0.394006,2,-0.197811,0.00425105,-1.87205,-2.84915,-1.83959,-2.36081,-2.27686,-2.11862,-1.7256,-2.20942,-1.85847,-2.20432,-2.35936,-1.65707,-3.25259,-2.84203,-1.69242,-1.42388,-1.76648,-4.03077,-3.00395,-1.36598,-2.2197,-2.96281,-0.245112,-0.149669,-0.279557,-0.348404,-0.369104,-0.112631,-0.210297,-0.0932498,-0.227404,-0.314155,-0.183449,-0.111154,-0.234325,-0.0816614,-0.131332,-0.267191,-0.23726,-0.147471,-0.246346,-0.271178,-0.185354,-0.117738,-0.23124,0.0652001 --5919.37,0.242883,0.394006,2,-0.197811,0.00425105,-1.87205,-2.84915,-1.83959,-2.36081,-2.27686,-2.11862,-1.7256,-2.20942,-1.85847,-2.20432,-2.35936,-1.65707,-3.25259,-2.84203,-1.69242,-1.42388,-1.76648,-4.03077,-3.00395,-1.36598,-2.2197,-2.96281,-0.245112,-0.149669,-0.279557,-0.348404,-0.369104,-0.112631,-0.210297,-0.0932498,-0.227404,-0.314155,-0.183449,-0.111154,-0.234325,-0.0816614,-0.131332,-0.267191,-0.23726,-0.147471,-0.246346,-0.271178,-0.185354,-0.117738,-0.23124,0.0652001 --5917.41,0.302942,0.394006,2,-0.22953,0.00628523,-3.00687,-2.10478,-1.78843,-2.48191,-2.41211,-2.10282,-1.65843,-2.08422,-1.94848,-2.28818,-2.34367,-1.43581,-3.02587,-2.51906,-1.81935,-1.48492,-1.87627,-3.27315,-4.38455,-1.61773,-2.31396,-2.86507,-0.19472,-0.321924,-0.227593,-0.154828,-0.031717,-0.346493,-0.466237,-0.277507,-0.265532,-0.270966,-0.249299,-0.269428,-0.222165,-0.157774,-0.219918,-0.00490459,-0.225278,-0.239041,-0.161333,-0.0362878,-0.199583,-0.44527,-0.235272,0.0792794 --5917.01,0.686073,0.394006,2,-0.256972,0.00730361,-2.83315,-2.1358,-1.82231,-2.50321,-2.41011,-2.10318,-1.61914,-2.14211,-1.8938,-2.31176,-2.3666,-1.5205,-3.12209,-2.51821,-1.80198,-1.49619,-1.78568,-3.42046,-4.04814,-1.5521,-2.31111,-2.84781,-0.136599,-0.287101,-0.193494,-0.171179,-0.0183125,-0.318732,-0.430098,-0.242884,-0.245897,-0.202801,-0.286336,-0.316297,-0.260835,-0.234775,-0.29762,-0.0903878,-0.26023,-0.217384,-0.207264,-0.0358995,-0.254707,-0.362133,-0.211694,0.0854611 --5922.47,0.444192,0.394006,2,-0.220725,0.0158193,-1.91452,-2.20723,-2.33839,-2.49056,-2.51456,-2.41094,-1.77712,-2.13177,-2.06504,-2.28999,-2.28029,-1.21564,-3.0683,-2.83235,-1.2224,-1.53779,-1.9845,-2.22949,-2.61223,-1.51531,-1.99646,-2.8327,-0.317586,-0.258579,-0.320495,-0.0752134,-0.348609,0.0183735,-0.288888,-0.13087,-0.250375,-0.235399,-0.201951,-0.333384,-0.198161,-0.0666929,-0.0800896,-0.402045,-0.180893,-0.270979,-0.283813,-0.139538,-0.291738,-0.285588,-0.2499,0.125775 --5919.82,0.896448,0.394006,2,-0.187653,0.00917284,-2.3552,-2.13753,-2.26678,-2.40018,-2.48131,-3.03507,-1.81381,-2.23516,-1.78079,-2.24537,-2.26271,-1.69211,-3.17254,-2.79289,-1.16234,-1.47602,-2.14798,-2.82349,-3.06244,-1.43425,-2.25294,-3.04479,-0.327318,-0.419319,-0.129112,-0.0897924,0.0454077,-0.133842,-0.30266,-0.16381,-0.239822,-0.259671,-0.162347,-0.252053,-0.316302,0.0912256,-0.274891,-0.410293,-0.0367402,-0.319369,-0.13337,-0.215419,-0.315022,-0.234221,-0.153382,0.095775 --5923.89,0.991647,0.394006,2,-0.210627,0.00803203,-2.16148,-2.44529,-2.30073,-2.55906,-2.37339,-2.58581,-1.74786,-2.17686,-1.86198,-2.34557,-2.37649,-1.49684,-3.22746,-2.74506,-1.16392,-1.49639,-2.13018,-2.81452,-3.12035,-1.84745,-2.00686,-3.08955,-0.419771,-0.477492,-0.267672,-0.224603,-0.333347,-0.173815,-0.144565,-0.131271,-0.20848,-0.191301,-0.232647,-0.177357,-0.0551103,0.152054,-0.165161,-0.226662,-0.0787756,0.0523594,-0.279126,-0.130153,-0.180497,-0.245793,-0.171087,0.0896216 --5918.34,1,0.394006,2,-0.228968,0.0105002,-2.54248,-1.91762,-2.1726,-2.33978,-2.31629,-1.9859,-1.83131,-2.19993,-2.04853,-2.19656,-2.44628,-1.46508,-2.92737,-2.97891,-1.59825,-1.4758,-1.98814,-2.84761,-3.66939,-1.56012,-2.37013,-2.89063,0.0462005,-0.430652,-0.136967,-0.146621,-0.0543005,-0.182833,-0.375866,-0.14871,-0.288126,-0.30446,-0.089075,-0.17502,-0.360734,-0.00755054,-0.248937,-0.167772,-0.219393,-0.442132,-0.0752784,-0.202094,-0.344297,-0.198205,-0.266686,0.10247 --5922.92,0.673627,0.394006,2,-0.184761,0.0103401,-2.43895,-2.59248,-2.35065,-2.53503,-2.48783,-2.3266,-1.66288,-2.1679,-1.8764,-2.22204,-2.41822,-1.42037,-3.17968,-2.58456,-1.06607,-1.46471,-1.82621,-3.01116,-2.97038,-1.48771,-2.3393,-2.89969,-0.243598,-0.0236455,-0.08709,-0.197696,-0.238778,-0.225739,-0.23529,-0.0969085,-0.163443,-0.255953,-0.119778,-0.162031,-0.00191945,-0.046155,-0.203764,-0.211725,-0.24482,0.16511,-0.262605,-0.212895,0.121317,-0.369678,-0.048869,0.101686 --5923.57,0.744896,0.394006,3,-0.29343,0.0338244,-1.79043,-1.96443,-1.63757,-2.39946,-2.40734,-1.73825,-1.6621,-2.1294,-2.06722,-2.22918,-2.32428,-1.69076,-2.96864,-2.87388,-1.14385,-1.47144,-2.16302,-2.69003,-3.61507,-1.44566,-1.90682,-2.87842,-0.48429,-0.351503,-0.376836,-0.33953,-0.199329,-0.457176,-0.368682,-0.184911,-0.0277186,-0.319136,-0.428021,0.00451399,-0.327329,0.165718,-0.160129,-0.195567,-0.0164569,-0.0933574,-0.0129842,-0.282742,-0.641191,-0.454073,-0.0426765,0.183914 --5924.17,0.852427,0.394006,3,-0.180029,0.0327582,-2.37667,-1.78757,-2.19205,-2.52292,-2.83032,-1.92811,-1.70967,-2.0867,-1.86085,-2.13372,-2.49102,-1.5095,-3.13061,-2.75573,-1.20197,-1.45827,-2.10909,-2.3084,-3.65818,-1.62305,-2.27338,-2.88885,-0.0575153,-0.383113,-0.0618155,-0.114009,-0.0518495,-0.24683,-0.301371,-0.10727,-0.257236,-0.390927,-0.159211,-0.150025,-0.247138,-0.0366014,-0.0771203,-0.121547,-0.0599171,-0.232329,-0.0206502,-0.0420853,-0.19284,-0.338367,0.097472,0.180992 --5926.1,0.59057,0.394006,3,-0.341242,0.0160965,-2.21777,-2.70639,-2.0324,-2.29785,-2.30277,-2.44562,-1.72882,-2.10066,-2.06039,-2.40578,-2.16634,-1.41824,-2.80549,-2.82565,-1.30456,-1.50611,-1.83968,-3.55811,-3.21456,-1.34444,-1.99617,-2.91475,-0.323527,-0.418765,-0.436832,-0.441648,-0.542145,-0.206892,-0.419945,-0.22884,-0.462906,-0.232949,-0.342743,-0.291369,-0.191521,-0.0602555,-0.170218,-0.239556,-0.395415,0.331398,-0.409404,-0.525254,-0.426407,-0.25436,-0.345343,0.126872 --5921.63,0.847668,0.394006,2,-0.319269,0.0138129,-2.4794,-2.00518,-2.27969,-2.33959,-2.4227,-1.7404,-1.78483,-2.01068,-1.78621,-2.21819,-2.22306,-1.42238,-3.22377,-2.60661,-1.43236,-1.46689,-1.51485,-3.01673,-3.24592,-1.25005,-2.06372,-2.99924,-0.17266,-0.211734,-0.426402,-0.283923,-0.0558308,-0.383121,-0.302956,-0.342071,-0.348819,-0.196117,-0.465876,-0.256737,-0.449223,-0.169185,-0.494331,-0.399832,-0.44547,-0.0822869,-0.321762,-0.552555,-0.452847,-0.406139,-0.270719,0.117528 --5920.51,0.719295,0.394006,3,-0.291348,0.00562846,-2.75049,-2.3054,-1.55646,-2.43168,-2.39643,-2.54993,-1.67765,-2.03344,-1.87542,-2.22954,-2.29965,-1.42474,-2.66944,-2.69351,-1.08735,-1.4801,-2.07321,-2.96483,-3.10049,-1.29596,-2.06895,-2.85022,-0.368516,-0.486371,-0.279133,-0.312054,-0.484555,-0.216483,-0.423141,-0.238302,-0.428065,-0.486346,-0.166747,-0.337559,-0.253548,-0.339641,-0.217733,-0.185079,-0.233206,-0.464409,-0.312162,-0.239891,-0.297904,-0.288996,-0.342821,0.0750231 --5920.51,0.0513926,0.394006,2,-0.291348,0.00562846,-2.75049,-2.3054,-1.55646,-2.43168,-2.39643,-2.54993,-1.67765,-2.03344,-1.87542,-2.22954,-2.29965,-1.42474,-2.66944,-2.69351,-1.08735,-1.4801,-2.07321,-2.96483,-3.10049,-1.29596,-2.06895,-2.85022,-0.368516,-0.486371,-0.279133,-0.312054,-0.484555,-0.216483,-0.423141,-0.238302,-0.428065,-0.486346,-0.166747,-0.337559,-0.253548,-0.339641,-0.217733,-0.185079,-0.233206,-0.464409,-0.312162,-0.239891,-0.297904,-0.288996,-0.342821,0.0750231 --5919.79,0.473922,0.394006,2,-0.327031,0.00698106,-2.72063,-2.34518,-1.54067,-2.4336,-2.34915,-2.73095,-1.6472,-1.97406,-1.84187,-2.227,-2.33125,-1.35806,-2.65041,-2.72324,-1.14276,-1.49308,-2.02712,-3.27393,-3.06382,-1.30635,-2.15938,-2.79581,-0.339685,-0.378604,-0.220266,-0.25793,-0.381301,-0.160806,-0.423996,-0.189329,-0.377523,-0.506247,-0.106806,-0.376174,-0.337093,-0.293032,-0.300958,-0.188703,-0.227396,-0.415682,-0.306032,-0.268333,-0.310924,-0.279988,-0.179714,0.0835527 --5916.24,0.785101,0.394006,2,-0.265271,0.0167184,-2.18868,-2.08652,-2.46147,-2.33557,-2.44473,-1.87472,-1.7866,-2.11327,-2.06571,-2.30359,-2.25221,-1.62594,-3.34939,-2.79061,-1.51386,-1.48435,-1.81195,-2.93952,-3.66722,-1.52135,-2.09192,-3.01167,-0.122761,-0.369009,-0.378869,-0.242156,-0.315575,-0.238588,-0.374658,-0.213304,-0.284278,-0.203869,-0.438603,-0.228839,-0.383806,0.1312,-0.116866,-0.277496,-0.151706,-0.00197868,-0.334169,-0.317834,-0.383325,-0.24784,-0.236809,0.1293 --5915.12,0.563192,0.394006,3,-0.235384,0.00419723,-3.07531,-2.27313,-1.90589,-2.4789,-2.57439,-2.57308,-1.77171,-2.15233,-1.99198,-2.19307,-2.61817,-1.33633,-2.82717,-2.59436,-1.38457,-1.56782,-2.05611,-2.72495,-3.27663,-1.39347,-2.09859,-2.99211,-0.0873342,-0.248504,-0.473082,-0.116578,-0.223572,-0.225966,-0.393275,-0.212921,-0.282829,-0.302797,-0.17762,-0.260055,-0.464392,-0.178136,-0.163722,-0.203433,-0.0337158,-0.0379242,-0.194251,-0.259318,-0.327437,-0.23317,-0.226579,0.064786 --5915.12,0.159532,0.394006,2,-0.235384,0.00419723,-3.07531,-2.27313,-1.90589,-2.4789,-2.57439,-2.57308,-1.77171,-2.15233,-1.99198,-2.19307,-2.61817,-1.33633,-2.82717,-2.59436,-1.38457,-1.56782,-2.05611,-2.72495,-3.27663,-1.39347,-2.09859,-2.99211,-0.0873342,-0.248504,-0.473082,-0.116578,-0.223572,-0.225966,-0.393275,-0.212921,-0.282829,-0.302797,-0.17762,-0.260055,-0.464392,-0.178136,-0.163722,-0.203433,-0.0337158,-0.0379242,-0.194251,-0.259318,-0.327437,-0.23317,-0.226579,0.064786 --5912.75,0.845718,0.394006,3,-0.183961,0.00627294,-1.93933,-2.08869,-2.49857,-2.31996,-2.28865,-1.98608,-1.68553,-2.08363,-1.99607,-2.20781,-2.08223,-1.59051,-3.48673,-2.84414,-1.41926,-1.43191,-1.97557,-3.11828,-3.56611,-1.73501,-2.27416,-2.89798,-0.066113,-0.187995,-0.0507362,-0.296117,-0.209912,-0.199222,-0.185214,-0.19138,-0.258274,-0.230668,-0.256741,-0.15915,-0.0427333,-0.128427,-0.135273,-0.168426,-0.184876,-0.0146631,-0.166178,-0.212379,-0.248227,-0.330721,-0.179034,0.0792019 --5907.13,0.532426,0.394006,2,-0.185639,0.00529198,-2.83352,-2.09121,-2.64834,-2.42703,-2.4267,-2.19451,-1.83112,-2.11414,-2.16806,-2.2981,-2.4191,-1.5949,-2.91114,-2.7067,-1.50482,-1.60923,-1.99667,-3.11162,-3.00575,-1.57027,-2.17975,-2.94032,-0.311344,-0.207593,-0.327041,-0.165288,-0.149113,-0.222729,-0.363621,-0.165751,-0.12902,-0.247133,-0.20063,-0.145083,-0.309596,-0.0582025,-0.226266,-0.205545,-0.211893,-0.255106,-0.247259,-0.0704755,-0.179209,-0.133471,-0.268813,0.072746 --5908.18,0.770069,0.394006,2,-0.214579,0.00800335,-1.97158,-2.33416,-1.71707,-2.35941,-2.44185,-2.2928,-1.63445,-2.11999,-1.77756,-2.22093,-2.21384,-1.31716,-3.12915,-2.75021,-1.29615,-1.50559,-2.10322,-2.97582,-3.81348,-1.45615,-2.14284,-2.89334,-0.0965032,-0.395251,-0.270047,-0.182299,-0.0854413,-0.216744,-0.469068,-0.224129,-0.223669,-0.250832,-0.128639,-0.269805,-0.166725,0.00120959,-0.285892,-0.242069,-0.175948,-0.278457,-0.161401,-0.258657,-0.33327,-0.192192,-0.268122,0.0894614 --5908.59,0.670231,0.394006,2,-0.288519,0.00426499,-2.83231,-2.09761,-2.47192,-2.39075,-2.25896,-2.05507,-1.84563,-1.99041,-2.04884,-2.26919,-2.53542,-1.45279,-2.75319,-2.69679,-1.43216,-1.45159,-1.90317,-2.71663,-3.37229,-1.6345,-2.17069,-2.89967,-0.350541,-0.238775,-0.235406,-0.358385,-0.237608,-0.292967,-0.183697,-0.225956,-0.33878,-0.3322,-0.218668,-0.227556,-0.369328,-0.264615,-0.14475,-0.335399,-0.350191,-0.30464,-0.382434,-0.203494,-0.198584,-0.37613,-0.284644,0.0653069 --5910.2,0.300344,0.394006,2,-0.210838,0.00489188,-2.6853,-2.6567,-1.98155,-2.395,-2.58998,-2.12987,-1.6692,-2.13863,-2.07274,-2.25012,-2.2385,-1.61984,-3.28196,-2.61331,-1.2162,-1.72781,-1.9377,-3.16119,-3.19268,-1.22705,-2.39284,-2.8864,-0.185832,-0.190676,-0.232717,-0.162663,-0.12468,-0.167058,-0.424669,-0.179736,-0.216501,-0.207187,-0.250204,-0.0858674,-0.289769,-0.193431,-0.38865,-0.129749,-0.254837,-0.263111,-0.254631,-0.360802,-0.207299,-0.211475,-0.355149,0.069942 --5912.95,0.226343,0.394006,2,-0.23332,0.00537023,-2.32842,-2.64712,-2.01006,-2.46426,-2.71053,-1.87072,-1.67834,-2.15056,-2.09508,-2.22247,-2.26885,-1.56961,-3.33841,-2.65957,-1.13484,-1.72533,-1.74159,-3.19711,-3.06475,-1.2467,-2.33535,-2.8337,-0.165264,-0.1075,-0.220066,-0.156936,-0.105674,-0.126846,-0.458791,-0.193717,-0.16673,-0.203997,-0.18308,-0.156829,-0.255067,-0.146505,-0.34344,-0.216518,-0.242303,-0.241881,-0.2395,-0.379413,-0.231466,-0.242736,-0.208294,0.0732819 --5912.95,0.00725184,0.394006,3,-0.23332,0.00537023,-2.32842,-2.64712,-2.01006,-2.46426,-2.71053,-1.87072,-1.67834,-2.15056,-2.09508,-2.22247,-2.26885,-1.56961,-3.33841,-2.65957,-1.13484,-1.72533,-1.74159,-3.19711,-3.06475,-1.2467,-2.33535,-2.8337,-0.165264,-0.1075,-0.220066,-0.156936,-0.105674,-0.126846,-0.458791,-0.193717,-0.16673,-0.203997,-0.18308,-0.156829,-0.255067,-0.146505,-0.34344,-0.216518,-0.242303,-0.241881,-0.2395,-0.379413,-0.231466,-0.242736,-0.208294,0.0732819 --5917.36,0.0809358,0.394006,2,-0.234648,0.00601435,-2.6207,-2.96211,-1.69611,-2.4293,-2.74094,-2.08537,-1.62164,-2.0043,-2.0695,-2.26639,-2.23425,-1.44995,-3.1058,-2.71993,-1.1363,-1.39587,-2.07248,-2.93205,-3.29018,-1.45598,-2.27513,-2.867,-0.370215,-0.302379,-0.239667,-0.194148,0.0861881,-0.309128,-0.24783,-0.242457,-0.289728,-0.34685,-0.250764,-0.0853522,-0.184419,-0.149456,-0.159542,-0.240846,-0.107445,-0.170182,-0.445244,-0.185684,-0.234219,-0.257714,-0.23287,0.0775522 --5917.36,0.480232,0.394006,3,-0.234648,0.00601435,-2.6207,-2.96211,-1.69611,-2.4293,-2.74094,-2.08537,-1.62164,-2.0043,-2.0695,-2.26639,-2.23425,-1.44995,-3.1058,-2.71993,-1.1363,-1.39587,-2.07248,-2.93205,-3.29018,-1.45598,-2.27513,-2.867,-0.370215,-0.302379,-0.239667,-0.194148,0.0861881,-0.309128,-0.24783,-0.242457,-0.289728,-0.34685,-0.250764,-0.0853522,-0.184419,-0.149456,-0.159542,-0.240846,-0.107445,-0.170182,-0.445244,-0.185684,-0.234219,-0.257714,-0.23287,0.0775522 --5924.98,0.491982,0.394006,2,-0.226809,0.00411062,-2.72636,-3.24841,-1.70159,-2.48875,-2.78479,-2.52049,-1.61778,-1.99842,-1.95965,-2.28175,-2.17873,-1.41659,-3.2844,-2.65502,-1.27451,-1.47056,-2.20742,-3.29009,-3.4617,-1.35321,-2.18381,-2.77749,-0.150677,-0.171511,-0.400427,-0.164634,-0.0339871,-0.136709,-0.248097,-0.350384,-0.409357,-0.370829,-0.262763,-0.251167,-0.264127,-0.200439,-0.217956,-0.251353,-0.257114,-0.283097,-0.248637,-0.153504,-0.151303,-0.338444,-0.221163,0.0641141 --5919.06,1,0.394006,2,-0.194401,0.0133181,-2.53077,-2.09071,-2.01779,-2.34609,-2.18525,-2.01676,-1.85972,-2.11911,-1.98951,-2.24359,-2.54672,-1.65291,-2.99248,-2.67831,-1.25828,-1.51037,-1.82218,-2.84615,-3.38984,-1.77049,-2.00729,-3.09184,-0.312002,-0.20841,-0.0581937,-0.268111,-0.345288,-0.33971,-0.329005,-0.0659314,-0.072144,-0.169949,-0.146321,-0.117593,-0.0746559,-0.173219,-0.311868,-0.221581,-0.150789,-0.244827,-0.276551,-0.280242,-0.405518,-0.288973,-0.169104,0.115404 --5919.58,0.701397,0.394006,3,-0.236142,0.0173436,-2.40081,-2.18674,-2.17861,-2.44526,-2.53512,-2.40961,-1.60323,-2.10435,-2.03106,-2.25941,-2.2563,-1.55822,-2.97048,-2.79734,-1.4656,-1.50552,-2.19531,-3.19452,-3.5486,-1.23359,-2.25024,-2.8148,0.215503,-0.374438,-0.441212,-0.251461,-0.123243,-0.165199,-0.357025,-0.284341,-0.341709,-0.38001,-0.184995,0.0248359,-0.396724,-0.206741,-0.140904,-0.154477,-0.0982481,-0.156155,-0.0595132,-0.165021,-0.164727,-0.320621,-0.342291,0.131695 --5917.39,0.557747,0.394006,2,-0.24422,0.00779335,-2.64729,-2.22526,-2.01331,-2.44449,-2.46199,-2.12308,-1.61726,-2.13102,-2.08879,-2.26608,-2.27308,-1.46518,-2.96319,-2.70345,-1.48154,-1.61638,-2.11874,-3.05266,-3.45083,-1.35716,-2.21626,-2.69937,0.142089,-0.370196,-0.447521,-0.190584,-0.188514,-0.239075,-0.416134,-0.258937,-0.278923,-0.38819,-0.208242,-0.0383441,-0.357597,-0.136014,-0.121294,-0.15663,-0.150623,-0.148818,0.0670713,-0.152154,-0.176724,-0.277513,-0.368127,0.08828 --5919.77,0.990602,0.394006,3,-0.253843,0.0109694,-2.2869,-1.98107,-2.13578,-2.30071,-2.35144,-2.25709,-1.7809,-2.34769,-1.89289,-2.25252,-2.26611,-1.44938,-2.76921,-2.81288,-1.07049,-1.41762,-1.94017,-2.84657,-3.61322,-1.70707,-2.22592,-3.23464,-0.379119,-0.412214,-0.0289269,-0.381023,-0.0357438,-0.179572,-0.290287,0.0960771,-0.197525,-0.268799,-0.307091,-0.199497,-0.42996,-0.035964,-0.510621,-0.287078,-0.157987,-0.195435,-0.312658,-0.188504,-0.301799,-0.244165,-0.0359685,0.104735 --5922.36,0.70783,0.394006,2,-0.230155,0.00639048,-2.48365,-2.50432,-2.24636,-2.53169,-2.50852,-2.46397,-1.62143,-2.02691,-1.93847,-2.20355,-2.46512,-1.33781,-3.17083,-2.84216,-1.56203,-1.60023,-1.85985,-3.18856,-3.39309,-1.30889,-2.09009,-2.56711,-0.0284792,-0.0590268,-0.394996,-0.187165,-0.189095,-0.206738,-0.473216,-0.254055,-0.285524,-0.256603,-0.0350845,-0.290228,-0.114516,0.041983,-0.0737599,-0.264369,-0.265624,-0.344363,-0.0178354,-0.214817,-0.291144,-0.386246,-0.356343,0.0799405 --5919.83,0.967802,0.394006,2,-0.243113,0.0163284,-2.31148,-1.79432,-1.93057,-2.3269,-2.65081,-2.10063,-1.81267,-2.16758,-2.2174,-2.13668,-2.4482,-1.54345,-2.77499,-2.62897,-1.33904,-1.48842,-2.15104,-3.05864,-3.01438,-1.45429,-2.2992,-2.70682,-0.347539,-0.346635,-0.305101,-0.310867,-0.0855198,-0.242671,-0.272197,-0.106176,-0.138439,-0.44398,-0.133673,-0.197588,-0.502911,-0.139991,-0.326824,-0.223902,-0.0821734,0.0554616,-0.52921,-0.12895,-0.207248,-0.432889,-0.0991682,0.127783 --5919.33,0.752632,0.394006,2,-0.298948,0.00751786,-1.80675,-2.35402,-2.45142,-2.26026,-2.26204,-2.04942,-1.74778,-2.18563,-2.18969,-2.21338,-2.56111,-1.43008,-3.22002,-2.88261,-1.46269,-1.28957,-2.27545,-3.17397,-3.50823,-1.55343,-2.05053,-3.09364,-0.0656398,-0.297385,-0.191705,-0.335614,-0.235849,-0.416528,-0.414554,-0.263831,-0.219873,-0.36877,-0.0871604,-0.201224,-0.241427,-0.0933891,-0.403058,-0.408058,-0.207907,-0.331342,-0.213543,-0.313241,-0.336904,-0.186225,-0.392816,0.0867056 --5919.33,0.453649,0.394006,2,-0.298948,0.00751786,-1.80675,-2.35402,-2.45142,-2.26026,-2.26204,-2.04942,-1.74778,-2.18563,-2.18969,-2.21338,-2.56111,-1.43008,-3.22002,-2.88261,-1.46269,-1.28957,-2.27545,-3.17397,-3.50823,-1.55343,-2.05053,-3.09364,-0.0656398,-0.297385,-0.191705,-0.335614,-0.235849,-0.416528,-0.414554,-0.263831,-0.219873,-0.36877,-0.0871604,-0.201224,-0.241427,-0.0933891,-0.403058,-0.408058,-0.207907,-0.331342,-0.213543,-0.313241,-0.336904,-0.186225,-0.392816,0.0867056 --5923.91,0.684792,0.394006,2,-0.267079,0.0168221,-2.89534,-1.98889,-1.90121,-2.41831,-2.48833,-2.16647,-1.78626,-2.11605,-1.70353,-2.27984,-2.14549,-1.38459,-2.8436,-2.7039,-1.59936,-1.71961,-1.70933,-3.22868,-3.51447,-1.19987,-2.15822,-2.6616,-0.496793,-0.227038,-0.381702,-0.211515,-0.150004,-0.147846,-0.324316,-0.244033,-0.289988,-0.282551,-0.347477,-0.280343,-0.233731,-0.0610088,0.266679,-0.205027,-0.187195,-0.0405963,-0.182092,-0.364332,-0.229787,-0.524872,-0.169405,0.1297 --5928.07,0.769322,0.394006,2,-0.20298,0.00622805,-2.14851,-2.48121,-1.99994,-2.36484,-2.47414,-2.56392,-1.70252,-2.16277,-1.78216,-2.2237,-2.23387,-1.40204,-2.84877,-2.83401,-1.33989,-1.66072,-1.77561,-3.16502,-3.4935,-1.32454,-2.20576,-2.80691,-0.203816,-0.530902,-0.109318,-0.0398838,-0.097051,-0.265605,-0.186398,-0.146929,-0.308173,-0.243409,-0.213457,-0.162457,-0.308987,-0.169718,0.289199,-0.192404,-0.245643,-0.142851,-0.231057,-0.522109,-0.296746,-0.138552,-0.209823,0.078918 --5933.37,0.362826,0.394006,2,-0.222095,0.0105459,-2.42342,-1.88338,-2.72654,-2.46718,-2.33345,-2.40315,-1.74214,-2.10559,-2.16327,-2.32048,-2.32465,-1.49111,-2.7644,-2.69897,-1.57145,-1.42306,-1.61705,-3.00269,-3.99716,-1.40987,-2.02616,-3.17086,-0.195601,-0.0704863,-0.424359,-0.432983,-0.241094,-0.0917608,-0.51494,-0.223862,-0.181339,-0.248171,-0.254132,-0.197107,-0.364569,0.00806105,-0.523312,-0.206171,-0.43164,-0.206086,-0.114681,0.0496161,-0.271434,-0.387116,-0.215174,0.102693 --5923.22,0.997468,0.394006,2,-0.324889,0.0132729,-2.14481,-2.45795,-2.28035,-2.30497,-2.47537,-2.2674,-1.65694,-2.21037,-1.83021,-2.23881,-2.22341,-1.39125,-2.99997,-2.91761,-1.08375,-1.50562,-1.89112,-3.18265,-3.66104,-1.5106,-2.31841,-2.85792,-0.308561,-0.245348,-0.403149,-0.0542423,-0.136646,-0.423701,-0.366506,-0.0737397,-0.413436,-0.240344,-0.241321,-0.26261,-0.250821,0.0390958,-0.231791,-0.237801,-0.200659,-0.151144,-0.103038,-0.519438,-0.375607,-0.27218,-0.433544,0.115208 --5923.39,0.585989,0.394006,2,-0.268038,0.0231038,-2.31469,-2.05006,-2.42257,-2.56101,-2.29678,-2.06015,-1.64482,-2.13071,-2.08656,-2.24715,-2.22622,-1.74375,-3.01102,-2.76943,-1.37906,-1.39655,-1.9321,-2.92119,-3.58047,-1.4748,-1.99859,-2.88671,-0.270277,-0.308767,-0.113306,-0.348354,-0.359661,-0.144021,-0.532166,-0.244733,-0.146108,-0.341615,-0.414743,0.0352696,-0.312004,0.0226069,-0.526731,-0.282633,-0.270156,-0.283326,-0.137919,0.0210323,-0.227884,-0.484049,-0.108126,0.151999 --5925.77,0.336115,0.394006,3,-0.315541,0.00517498,-2.4376,-2.5968,-2.69172,-2.14931,-2.35781,-2.47273,-1.69754,-1.92658,-1.82245,-2.30132,-2.26505,-1.25894,-2.93909,-2.69713,-0.981233,-1.43175,-2.14088,-2.9285,-3.53394,-1.93757,-2.18553,-2.84854,-0.268883,-0.291813,-0.413451,-0.257635,-0.27701,-0.461789,-0.30467,-0.354929,-0.405483,-0.182421,-0.226431,-0.414028,-0.382156,-0.378926,-0.331158,-0.318131,-0.220553,-0.257163,-0.280731,-0.183333,-0.430852,-0.307797,-0.388308,0.0719373 --5919.26,0.186137,0.394006,2,-0.301793,0.00942746,-2.57484,-2.43268,-2.31162,-2.47199,-2.57792,-2.54744,-1.68402,-1.96613,-2.01979,-2.18772,-2.40093,-1.62416,-3.29315,-2.66713,-1.51946,-1.5712,-2.09764,-3.40746,-2.94107,-1.25379,-1.99744,-2.84569,-0.353809,-0.292502,-0.0920776,-0.401805,-0.229725,-0.160059,-0.394247,-0.365844,-0.167217,-0.438515,-0.278619,-0.094954,-0.301389,-0.0653113,-0.36782,-0.164884,-0.318319,-0.256538,-0.293532,-0.36802,-0.257995,-0.298073,-0.321544,0.0970951 --5928.51,0.563945,0.394006,2,-0.22609,0.0226683,-2.36591,-2.12776,-2.15839,-2.35962,-2.20365,-2.21044,-1.81889,-2.05486,-2.22467,-2.1547,-2.31336,-1.36876,-3.20207,-2.96906,-1.55524,-1.51083,-1.75026,-2.95741,-3.78626,-1.28645,-2.18726,-3.06011,-0.257672,-0.245634,-0.230706,0.00799074,-0.232098,-0.369575,-0.497233,-0.140287,-0.141599,-0.418453,-0.135627,0.0840531,-0.234785,0.0966685,-0.0773852,-0.347582,-0.2308,0.000272781,-0.208424,-0.216064,-0.375013,-0.271083,-0.220103,0.15056 --5921.92,0.99526,0.394006,3,-0.230916,0.00638347,-2.50357,-2.19887,-1.98561,-2.38932,-2.52153,-2.25664,-1.58015,-2.21593,-1.66408,-2.32675,-2.33724,-1.68391,-2.97126,-2.58411,-1.15366,-1.67223,-2.43148,-3.14033,-3.04147,-1.58705,-2.09247,-2.84029,-0.200903,-0.140495,-0.169003,-0.244169,0.150867,-0.174261,-0.353247,-0.0680172,-0.529418,-0.168817,-0.283162,-0.204726,-0.378704,-0.207869,-0.343693,-0.0747504,-0.197725,-0.298224,-0.158117,-0.192894,-0.142315,-0.266066,-0.11216,0.0798966 --5915.49,0.905306,0.394006,2,-0.191097,0.0178068,-2.66378,-2.1417,-1.89721,-2.42929,-2.59554,-2.58631,-1.59568,-2.20884,-1.93456,-2.23668,-2.33814,-1.3689,-2.65474,-2.59677,-1.41209,-1.47095,-2.10981,-3.22202,-3.75519,-1.35802,-2.18749,-3.01137,-0.133329,-0.260429,-0.0626004,-0.202448,-0.0912511,-0.218258,-0.533393,-0.204194,-0.321332,-0.292777,-0.0803401,-0.07117,-0.302647,-0.126702,-0.0906958,-0.126847,-0.0775157,0.0141016,-0.301434,-0.147163,-0.370328,-0.168876,-0.315581,0.133442 --5917.47,0.902007,0.394006,2,-0.16505,0.0128039,-2.10016,-2.40255,-2.71677,-2.41923,-2.59375,-1.96121,-1.73106,-2.14412,-2.08084,-2.23154,-2.3653,-1.64031,-3.40948,-2.90669,-1.28026,-1.6559,-1.8611,-3.03502,-3.31446,-1.71281,-2.21625,-2.95783,-0.123831,-0.262946,-0.238478,-0.166717,0.153356,-0.0902826,-0.356036,-0.193978,-0.125127,-0.20842,-0.407123,-0.243431,-0.0221744,0.106154,-0.229282,-0.165634,-0.114025,-0.105288,-0.1739,-0.0534977,-0.210925,-0.227367,-0.1213,0.113154 --5915.98,0.106933,0.394006,3,-0.358111,0.00739419,-2.01929,-2.14819,-1.81573,-2.32804,-2.06702,-2.32552,-1.73852,-2.13763,-1.88016,-2.24318,-2.49378,-1.49553,-3.08599,-2.82673,-1.22604,-1.53839,-1.95939,-3.13022,-3.01714,-1.1331,-2.14553,-2.74375,-0.271584,-0.578748,-0.596005,-0.352362,-0.281737,-0.263245,-0.396518,-0.20886,-0.401006,-0.300404,-0.346078,-0.399553,-0.27916,-0.0540583,-0.400084,-0.335021,-0.229549,-0.338467,-0.378829,-0.439821,-0.326621,-0.381336,-0.444291,0.0859895 --5913.53,0.908106,0.394006,3,-0.191934,0.00904981,-2.31484,-2.09851,-2.29732,-2.55199,-2.34718,-2.72852,-1.71013,-2.17908,-2.0345,-2.14284,-2.2177,-1.49221,-2.94288,-2.87643,-1.30623,-1.30628,-2.03335,-2.73944,-3.49437,-1.54922,-2.22493,-3.06059,-0.153371,-0.359935,0.104805,-0.170398,-0.141773,-0.26118,-0.339352,-0.219059,-0.151306,-0.391952,-0.422788,-0.222671,-0.234229,-0.113771,-0.0838898,-0.1712,-0.244612,-0.236399,-0.152925,-0.218303,-0.168452,-0.177037,-0.163606,0.0951305 --5916.1,0.526075,0.394006,2,-0.179898,0.00751344,-2.77314,-2.46291,-2.14488,-2.48679,-2.19122,-2.1018,-1.68209,-2.31634,-2.11395,-2.09226,-2.34864,-1.44859,-3.12816,-2.77337,-1.31052,-1.47084,-2.09759,-2.82795,-2.88598,-1.40838,-2.29571,-2.87597,-0.239889,-0.206977,-0.128972,-0.209511,-0.18444,-0.128,-0.354524,-0.0762382,-0.0885078,-0.444171,-0.36586,-0.141128,-0.250753,0.0229296,-0.128963,-0.065323,-0.278305,-0.0400059,-0.265241,-0.0884719,-0.16553,-0.149964,-0.209697,0.0866801 --5918.67,0.722533,0.394006,2,-0.166209,0.00504725,-2.72952,-2.44424,-2.17804,-2.44926,-2.19312,-1.93947,-1.69857,-2.30095,-2.06686,-2.07661,-2.22761,-1.38488,-3.14222,-2.79818,-1.37761,-1.46652,-1.99739,-2.76074,-2.82777,-1.45716,-2.3583,-2.95036,-0.263579,-0.292454,-0.120163,-0.160106,-0.211415,-0.0152848,-0.27285,-0.114114,-0.0994494,-0.417875,-0.335808,-0.113634,-0.236383,0.0710159,-0.211686,-0.104671,-0.250122,0.0200768,-0.0937698,-0.134339,-0.269652,-0.207867,-0.185036,0.071044 --5917.38,1,0.394006,2,-0.276862,0.00948569,-2.38599,-2.40632,-2.29622,-2.35471,-2.39126,-2.36579,-1.75137,-2.04411,-1.76889,-2.31629,-2.45277,-1.47088,-2.78939,-2.68759,-1.26625,-1.57915,-1.91698,-2.9052,-3.99881,-1.27944,-2.26128,-2.85057,-0.0118091,-0.146851,-0.371139,-0.316835,-0.242437,-0.437652,-0.384315,-0.204162,-0.485487,-0.252814,-0.0685809,-0.320935,-0.28943,-0.290878,-0.299477,-0.29818,-0.196275,-0.493543,-0.354297,-0.437099,-0.183397,-0.355718,-0.312872,0.0973945 --5930.3,0.519558,0.394006,2,-0.362172,0.0266288,-2.8701,-2.18763,-2.00593,-2.39971,-2.62309,-1.68876,-1.48292,-2.06334,-1.99617,-2.39058,-2.26706,-1.64014,-2.84752,-2.59382,-1.40543,-1.00559,-1.99155,-2.98476,-3.394,-1.40964,-2.41829,-2.8417,-0.13985,-0.461891,-0.408491,-0.247727,-0.300623,-0.463823,-0.482855,-0.418875,-0.260366,-0.204661,-0.2989,-0.140848,-0.449066,-0.142525,-0.315496,-0.466342,-0.458811,-0.127283,-0.26587,-0.339151,-0.16713,-0.450997,-0.364091,0.163183 --5918.48,1,0.394006,3,-0.241728,0.0138688,-1.88088,-2.29326,-2.10373,-2.43009,-2.14162,-2.53003,-1.89716,-2.12765,-1.89585,-2.17448,-2.29948,-1.44194,-3.09006,-2.77294,-1.20819,-1.80149,-1.82221,-2.83352,-3.25612,-1.44866,-1.77258,-2.98977,-0.313786,-0.326348,-0.271093,-0.243284,-0.29683,-0.035616,-0.234103,-0.258352,-0.222266,-0.397453,-0.38375,-0.195071,-0.0566981,-0.119385,-0.273911,-0.0536162,-0.201061,-0.228742,-0.13089,-0.242953,-0.586434,-0.345893,-0.258725,0.117766 --5912.7,0.955693,0.394006,2,-0.201306,0.00613265,-2.49935,-2.04353,-2.14999,-2.38467,-2.23204,-2.60703,-1.75756,-2.15739,-1.97301,-2.26866,-2.27514,-1.49203,-3.28517,-2.80782,-1.25107,-1.38396,-1.8946,-2.58388,-3.77069,-1.61895,-2.01369,-3.02015,-0.18563,-0.209276,-0.315795,-0.173448,-0.22895,-0.230154,-0.195153,-0.0575198,-0.220947,-0.214636,-0.182551,-0.250221,-0.238189,-0.19434,-0.172422,-0.317089,-0.341594,-0.214212,-0.24889,-0.0109537,-0.534345,-0.285541,-0.410241,0.0783112 --5911.46,0.947893,0.394006,2,-0.250671,0.00566986,-2.13516,-2.14421,-2.13657,-2.48041,-2.36959,-2.15866,-1.79264,-2.18651,-1.89,-2.21782,-2.25781,-1.55384,-3.20645,-2.53795,-1.3079,-1.68659,-1.87594,-3.24594,-3.2076,-1.5829,-2.23761,-2.74802,-0.195241,-0.238914,-0.248872,-0.25274,-0.238772,-0.10132,-0.354387,-0.218834,-0.288822,-0.314392,-0.341673,-0.163,-0.288207,-0.1734,-0.369058,-0.135671,-0.24111,-0.30607,-0.255142,-0.294844,-0.0320458,-0.20961,-0.0148054,0.0752985 --5906.79,1.23392e-11,0.394006,3,-0.24469,0.0036716,-2.03813,-2.0777,-2.07789,-2.48109,-2.30916,-2.44621,-1.74977,-2.09261,-1.93567,-2.28524,-2.3168,-1.66515,-3.15461,-2.4586,-1.23437,-1.70027,-1.98152,-3.00145,-3.16598,-1.5148,-2.35657,-2.85121,-0.194055,-0.250985,-0.199972,-0.297493,-0.213767,-0.198867,-0.290197,-0.127972,-0.216867,-0.351721,-0.326222,-0.244562,-0.268371,-0.166229,-0.365176,-0.195746,-0.25349,-0.208243,-0.24767,-0.234664,-0.1385,-0.263367,-0.109039,0.0605937 --5906.79,0.172036,0.394006,2,-0.24469,0.0036716,-2.03813,-2.0777,-2.07789,-2.48109,-2.30916,-2.44621,-1.74977,-2.09261,-1.93567,-2.28524,-2.3168,-1.66515,-3.15461,-2.4586,-1.23437,-1.70027,-1.98152,-3.00145,-3.16598,-1.5148,-2.35657,-2.85121,-0.194055,-0.250985,-0.199972,-0.297493,-0.213767,-0.198867,-0.290197,-0.127972,-0.216867,-0.351721,-0.326222,-0.244562,-0.268371,-0.166229,-0.365176,-0.195746,-0.25349,-0.208243,-0.24767,-0.234664,-0.1385,-0.263367,-0.109039,0.0605937 --5906.79,0.625262,0.394006,1,-0.24469,0.0036716,-2.03813,-2.0777,-2.07789,-2.48109,-2.30916,-2.44621,-1.74977,-2.09261,-1.93567,-2.28524,-2.3168,-1.66515,-3.15461,-2.4586,-1.23437,-1.70027,-1.98152,-3.00145,-3.16598,-1.5148,-2.35657,-2.85121,-0.194055,-0.250985,-0.199972,-0.297493,-0.213767,-0.198867,-0.290197,-0.127972,-0.216867,-0.351721,-0.326222,-0.244562,-0.268371,-0.166229,-0.365176,-0.195746,-0.25349,-0.208243,-0.24767,-0.234664,-0.1385,-0.263367,-0.109039,0.0605937 --5906.79,0.12388,0.394006,2,-0.24469,0.0036716,-2.03813,-2.0777,-2.07789,-2.48109,-2.30916,-2.44621,-1.74977,-2.09261,-1.93567,-2.28524,-2.3168,-1.66515,-3.15461,-2.4586,-1.23437,-1.70027,-1.98152,-3.00145,-3.16598,-1.5148,-2.35657,-2.85121,-0.194055,-0.250985,-0.199972,-0.297493,-0.213767,-0.198867,-0.290197,-0.127972,-0.216867,-0.351721,-0.326222,-0.244562,-0.268371,-0.166229,-0.365176,-0.195746,-0.25349,-0.208243,-0.24767,-0.234664,-0.1385,-0.263367,-0.109039,0.0605937 --5910.88,3.9322e-06,0.394006,2,-0.263325,0.00311527,-1.99328,-1.95994,-2.0199,-2.53162,-2.18973,-2.49718,-1.70588,-2.09492,-1.99979,-2.31798,-2.31126,-1.66474,-3.04703,-2.60212,-1.29454,-1.80598,-1.98873,-3.18989,-2.84658,-1.52592,-2.35609,-2.85194,-0.254871,-0.215376,-0.251389,-0.320174,-0.228545,-0.316914,-0.309277,-0.0807592,-0.255867,-0.296708,-0.305346,-0.19907,-0.380378,-0.258449,-0.388226,-0.231899,-0.323838,-0.261164,-0.164429,-0.267049,-0.245497,-0.341318,-0.198437,0.0558146 --5906.58,0.673369,0.394006,2,-0.229457,0.00374679,-1.6872,-2.06288,-2.31194,-2.38364,-2.098,-2.33175,-1.75517,-2.01767,-2.06838,-2.32041,-2.36521,-1.59271,-2.92924,-2.75726,-1.35269,-1.62081,-2.01878,-3.34777,-3.11966,-1.53862,-2.27885,-2.77858,-0.273965,-0.254517,-0.234833,-0.197069,-0.231418,-0.210461,-0.435882,-0.173189,-0.243833,-0.203599,-0.173346,-0.231561,-0.303036,-0.174719,-0.29668,-0.216421,-0.124375,-0.176658,-0.0439215,-0.239427,-0.305236,-0.146293,-0.239,0.0612111 --5912.79,0.177981,0.394006,2,-0.209333,0.00662746,-1.96458,-2.01641,-2.02442,-2.37951,-2.05566,-1.97412,-1.76409,-2.17017,-1.74815,-2.24854,-2.29537,-1.44749,-3.07128,-2.80228,-1.39871,-1.58296,-2.07332,-3.3484,-3.36058,-1.48115,-2.08325,-2.72968,-0.195749,-0.148893,-0.175221,-0.226458,-0.23567,-0.176217,-0.387553,-0.202804,-0.262249,-0.177421,-0.189496,-0.0912675,-0.162243,-0.160653,-0.257627,-0.231512,-0.283404,-0.216457,0.114352,-0.265145,-0.180432,-0.26458,0.0157892,0.0814092 --5903.25,0.500125,0.394006,2,-0.194315,0.00336578,-2.36308,-2.15819,-2.36511,-2.45566,-2.43207,-2.00256,-1.73388,-1.99486,-2.09101,-2.26896,-2.24986,-1.54871,-3.17741,-2.72474,-1.31333,-1.46937,-2.02725,-2.90991,-3.26804,-1.46486,-2.34341,-2.97289,-0.169316,-0.254639,-0.191065,-0.176682,-0.221157,-0.259201,-0.208721,-0.210604,-0.163562,-0.240349,-0.218329,-0.239129,-0.209362,0.0207379,-0.0661929,-0.149529,-0.050479,-0.137686,-0.289968,-0.105206,-0.24386,-0.206647,-0.329638,0.0580153 --5903.25,0.00120351,0.394006,2,-0.194315,0.00336578,-2.36308,-2.15819,-2.36511,-2.45566,-2.43207,-2.00256,-1.73388,-1.99486,-2.09101,-2.26896,-2.24986,-1.54871,-3.17741,-2.72474,-1.31333,-1.46937,-2.02725,-2.90991,-3.26804,-1.46486,-2.34341,-2.97289,-0.169316,-0.254639,-0.191065,-0.176682,-0.221157,-0.259201,-0.208721,-0.210604,-0.163562,-0.240349,-0.218329,-0.239129,-0.209362,0.0207379,-0.0661929,-0.149529,-0.050479,-0.137686,-0.289968,-0.105206,-0.24386,-0.206647,-0.329638,0.0580153 --5903.17,0.360151,0.394006,2,-0.21272,0.002409,-2.10893,-2.15047,-2.40523,-2.46406,-2.53051,-1.96895,-1.7491,-2.01943,-2.13483,-2.27722,-2.2662,-1.54728,-3.15748,-2.82895,-1.26889,-1.46009,-2.10518,-3.07569,-3.34869,-1.51098,-2.32258,-3.00813,-0.242264,-0.266561,-0.161212,-0.233323,-0.220982,-0.394278,-0.212949,-0.237468,-0.160402,-0.19358,-0.213711,-0.218368,-0.212567,-0.0475874,-0.215609,-0.302649,-0.0135493,-0.131044,-0.29987,-0.151905,-0.245556,-0.169232,-0.242624,0.0490816 --5903.64,2.29885e-14,0.394006,3,-0.373537,0.00198183,-2.64602,-2.22238,-1.76636,-2.32557,-2.22665,-2.47466,-1.5961,-2.15651,-1.76341,-2.14159,-2.27831,-1.31509,-2.78727,-2.49195,-1.38355,-1.5043,-1.72127,-2.78692,-3.66504,-1.42874,-1.98194,-2.78079,-0.393043,-0.471222,-0.429937,-0.392241,-0.393662,-0.462685,-0.476785,-0.304422,-0.33995,-0.353143,-0.334427,-0.391571,-0.33568,-0.351745,-0.357359,-0.390785,-0.25054,-0.423386,-0.274818,-0.306497,-0.398151,-0.420337,-0.365352,0.0445178 --5905.83,0.00876835,0.394006,3,-0.387091,0.00293643,-2.80883,-2.12304,-1.71386,-2.27872,-2.20144,-2.24623,-1.6154,-2.24508,-1.62645,-2.1485,-2.26379,-1.35363,-2.86518,-2.55077,-1.42069,-1.50789,-1.81026,-2.949,-3.62224,-1.43618,-1.97588,-2.76591,-0.30124,-0.335723,-0.446289,-0.323799,-0.378947,-0.393178,-0.47431,-0.273516,-0.399433,-0.321154,-0.35723,-0.350561,-0.355126,-0.259077,-0.380129,-0.395622,-0.317189,-0.414664,-0.363856,-0.277485,-0.431632,-0.486154,-0.336931,0.0541888 --5905.83,0.124426,0.394006,2,-0.387091,0.00293643,-2.80883,-2.12304,-1.71386,-2.27872,-2.20144,-2.24623,-1.6154,-2.24508,-1.62645,-2.1485,-2.26379,-1.35363,-2.86518,-2.55077,-1.42069,-1.50789,-1.81026,-2.949,-3.62224,-1.43618,-1.97588,-2.76591,-0.30124,-0.335723,-0.446289,-0.323799,-0.378947,-0.393178,-0.47431,-0.273516,-0.399433,-0.321154,-0.35723,-0.350561,-0.355126,-0.259077,-0.380129,-0.395622,-0.317189,-0.414664,-0.363856,-0.277485,-0.431632,-0.486154,-0.336931,0.0541888 --5908.48,0.233629,0.394006,2,-0.395058,0.00400792,-2.81883,-2.15358,-1.71294,-2.32847,-2.26547,-2.1767,-1.64567,-2.23322,-1.74107,-2.11502,-2.33222,-1.23583,-2.90752,-2.50433,-1.48243,-1.58533,-1.80967,-3.13182,-3.53733,-1.45621,-2.00056,-2.8037,-0.281697,-0.33535,-0.395901,-0.358719,-0.337405,-0.43575,-0.448965,-0.313869,-0.440231,-0.407721,-0.380031,-0.30969,-0.42097,-0.453544,-0.317338,-0.29873,-0.321797,-0.293343,-0.408892,-0.316961,-0.421943,-0.526897,-0.381602,0.0633081 --5912.46,2.75421e-05,0.394006,3,-0.361852,0.00345794,-2.72224,-2.18936,-1.95988,-2.30517,-2.20189,-1.95921,-1.61138,-2.26094,-1.81675,-2.15716,-2.27612,-1.16079,-2.91036,-2.55617,-1.47547,-1.62922,-1.85238,-3.03946,-3.36086,-1.39808,-2.13268,-2.75037,-0.324077,-0.194212,-0.380294,-0.415236,-0.348185,-0.369782,-0.40349,-0.465339,-0.445088,-0.348741,-0.301266,-0.325435,-0.413159,-0.494999,-0.38249,-0.394766,-0.292729,-0.375365,-0.341227,-0.329157,-0.358535,-0.472609,-0.40492,0.0588043 --5911.66,0.0128144,0.394006,3,-0.358465,0.00273491,-2.87298,-2.11522,-1.97428,-2.30128,-2.21449,-1.78335,-1.62609,-2.15507,-1.77524,-2.17786,-2.28127,-1.29068,-2.83465,-2.48136,-1.34403,-1.66984,-2.01328,-3.13883,-3.53734,-1.40879,-2.14184,-2.86731,-0.309006,-0.144028,-0.41968,-0.355056,-0.375193,-0.465185,-0.399477,-0.380789,-0.463262,-0.434746,-0.36658,-0.353244,-0.347204,-0.351474,-0.450975,-0.371321,-0.348601,-0.357192,-0.458586,-0.264565,-0.269028,-0.499479,-0.410219,0.0522964 --5911.66,0.00497626,0.394006,3,-0.358465,0.00273491,-2.87298,-2.11522,-1.97428,-2.30128,-2.21449,-1.78335,-1.62609,-2.15507,-1.77524,-2.17786,-2.28127,-1.29068,-2.83465,-2.48136,-1.34403,-1.66984,-2.01328,-3.13883,-3.53734,-1.40879,-2.14184,-2.86731,-0.309006,-0.144028,-0.41968,-0.355056,-0.375193,-0.465185,-0.399477,-0.380789,-0.463262,-0.434746,-0.36658,-0.353244,-0.347204,-0.351474,-0.450975,-0.371321,-0.348601,-0.357192,-0.458586,-0.264565,-0.269028,-0.499479,-0.410219,0.0522964 --5915.45,0.00431434,0.394006,2,-0.266552,0.00926766,-1.61565,-2.10681,-2.36484,-2.39237,-2.52837,-2.61918,-1.78931,-2.05602,-2.11193,-2.23621,-2.33679,-1.43872,-3.13522,-2.84129,-1.28717,-1.20224,-1.69493,-2.48014,-3.36706,-1.44842,-2.17758,-2.82757,-0.241309,-0.714278,-0.239281,-0.307939,-0.314749,-0.330283,-0.305694,-0.230615,-0.139084,-0.207872,-0.258298,-0.377435,-0.326325,0.0338357,-0.201314,-0.32132,-0.212944,-0.271417,-0.259262,-0.362099,-0.302501,-0.325075,-0.256271,0.0962687 --5913.04,0.9868,0.394006,2,-0.276836,0.00690079,-3.00323,-1.89295,-1.91975,-2.41449,-2.20668,-1.96917,-1.61635,-2.14351,-1.85021,-2.31166,-2.36563,-1.42699,-2.76081,-2.78466,-1.27535,-1.72275,-2.28364,-3.45434,-3.47109,-1.33921,-2.09027,-2.8238,-0.212829,-0.226008,-0.220088,-0.20491,-0.289829,-0.194547,-0.375816,-0.138031,-0.373898,-0.302713,-0.243805,-0.11912,-0.229527,-0.0142381,-0.375053,-0.280017,-0.354292,-0.164706,-0.332514,-0.218392,-0.355065,-0.336518,-0.242422,0.083071 --5914.38,0.883232,0.394006,2,-0.281409,0.00773516,-2.78549,-2.19148,-1.83115,-2.40272,-2.20309,-2.41706,-1.69353,-2.26455,-1.86247,-2.27031,-2.36322,-1.16918,-3.12646,-2.89222,-1.30462,-1.57963,-2.10533,-2.55033,-3.23373,-1.4203,-2.13323,-3.0537,-0.273622,-0.331648,-0.280314,-0.288534,-0.392486,-0.319959,-0.441895,-0.233952,-0.190861,-0.254315,-0.0643605,-0.445406,-0.306449,0.0669168,-0.235224,-0.147038,-0.0593613,-0.301609,-0.339587,-0.372998,-0.230555,-0.212419,-0.257555,0.0879498 --5915.46,0.749225,0.394006,2,-0.233194,0.00824083,-2.70349,-2.08988,-1.84458,-2.39012,-2.11558,-2.86787,-1.67691,-2.0613,-2.07404,-2.26235,-2.39539,-1.14251,-2.99172,-2.85173,-1.3575,-1.7667,-2.14897,-2.71478,-3.1727,-1.45014,-2.11263,-2.95183,-0.219394,-0.278257,-0.123005,-0.240974,-0.380923,-0.203538,-0.2397,-0.32368,-0.284899,-0.223105,-0.161123,-0.385267,-0.403779,0.143485,-0.34838,-0.188769,-0.103366,-0.173519,-0.255106,-0.290063,-0.250471,-0.273506,-0.27245,0.090779 --5916.07,0.486037,0.394006,2,-0.260717,0.00428035,-2.44553,-1.97064,-2.09923,-2.276,-2.10181,-2.81664,-1.5897,-2.06437,-1.93889,-2.18501,-2.47927,-1.24377,-3.25957,-2.92435,-1.35971,-1.70028,-2.08589,-2.79943,-3.29086,-1.28777,-2.06651,-2.8312,-0.244194,-0.235931,-0.189752,-0.248122,-0.310743,-0.143184,-0.308283,-0.328175,-0.298377,-0.19388,-0.324563,-0.28636,-0.275529,0.0829553,-0.297888,-0.181303,-0.159194,-0.122425,-0.211369,-0.29174,-0.262214,-0.210524,-0.326648,0.0654243 --5923.78,0.772468,0.394006,2,-0.336769,0.00861648,-2.14759,-2.16957,-1.74217,-2.52759,-2.34472,-1.33517,-1.84175,-2.03262,-1.74365,-2.34286,-2.17043,-1.54272,-2.76748,-2.62388,-1.36409,-1.33976,-1.92972,-3.40284,-3.76409,-1.59054,-2.43919,-3.15824,-0.432581,-0.371347,-0.380831,-0.319154,-0.207885,-0.394375,-0.336386,-0.318505,-0.332189,-0.426406,-0.206966,-0.319999,-0.47506,-0.263134,-0.204994,-0.391143,-0.341678,-0.326423,-0.305936,-0.363844,-0.316723,-0.328851,-0.367609,0.092825 --5926.71,0.343569,0.394006,3,-0.330306,0.00453741,-2.15126,-2.31026,-2.13874,-2.41944,-2.3859,-1.80948,-1.74401,-2.03531,-1.83537,-2.41253,-2.13312,-1.40837,-2.48953,-2.70025,-1.72368,-1.35499,-1.80648,-3.33306,-3.90711,-1.49341,-2.26285,-3.17492,-0.0484867,-0.53692,-0.26542,-0.248595,-0.400225,-0.415237,-0.29638,-0.2833,-0.361694,-0.301111,-0.178035,-0.265417,-0.425562,-0.312563,-0.330912,-0.390622,-0.221508,-0.223542,-0.344175,-0.352632,-0.356601,-0.329052,-0.489574,0.0673603 --5915.45,0.82865,0.394006,2,-0.242878,0.00380472,-3.13533,-2.13788,-2.51197,-2.49111,-2.33822,-2.00208,-1.75503,-2.19559,-1.9502,-2.13349,-2.24073,-1.49868,-3.17856,-2.63857,-1.36244,-1.54431,-1.96501,-3.0712,-3.96423,-1.61837,-2.12215,-2.95139,-0.489016,-0.154303,-0.296189,-0.100443,-0.12879,-0.198304,-0.379674,-0.206688,-0.252481,-0.244856,-0.438306,-0.236209,-0.211425,-0.0940204,-0.28422,-0.146793,-0.319651,-0.264903,-0.186699,-0.124871,-0.258711,-0.245214,-0.135693,0.0616824 --5921.07,0.175655,0.394006,2,-0.296258,0.0114657,-2.62369,-2.20414,-1.62947,-2.40558,-2.44806,-2.08578,-1.74806,-2.11735,-2.03611,-2.29836,-2.07441,-1.36686,-2.53116,-2.73982,-1.28178,-1.48627,-2.07177,-2.93477,-3.21384,-1.25248,-2.02881,-2.9807,0.0896283,-0.473964,-0.205323,-0.288739,-0.325393,-0.325691,-0.239439,-0.173985,-0.271038,-0.391391,-0.24704,-0.207582,-0.394988,-0.12872,-0.227247,-0.332278,-0.0296633,-0.0431803,-0.283061,-0.40023,-0.399092,-0.330625,-0.41949,0.107078 --5920.3,0.738375,0.394006,3,-0.214271,0.00773253,-1.89299,-1.98084,-2.62739,-2.41711,-2.5789,-1.80382,-1.59497,-2.02598,-1.98951,-2.29949,-2.40834,-1.4537,-3.33018,-2.74461,-1.30692,-1.48316,-1.70838,-2.55171,-3.31625,-1.78829,-2.21832,-2.8401,-0.518762,-0.268276,-0.032984,-0.193232,-0.15635,-0.236806,-0.34293,-0.242892,-0.166604,-0.367119,-0.0710392,-0.1081,-0.121612,-0.141804,-0.192953,-0.152065,-0.104943,-0.0524045,-0.138568,-0.193455,-0.170652,-0.341306,-0.165009,0.0879348 --5911.53,0.929886,0.394006,2,-0.167045,0.00477911,-1.8327,-2.06757,-2.51827,-2.42554,-2.25226,-2.14289,-1.70387,-2.13253,-2.1207,-2.13633,-2.34231,-1.4668,-3.14805,-2.75692,-1.37542,-1.57214,-1.92047,-2.98545,-3.44083,-1.54194,-2.14333,-2.82731,-0.185713,-0.181981,-0.278586,-0.0961621,-0.19036,-0.137157,-0.310188,-0.099954,-0.218515,-0.168817,-0.158093,-0.23455,-0.21392,-0.0117246,-0.179685,-0.115732,-0.231549,-0.359856,-0.199813,-0.105833,-0.258652,-0.413355,-0.319925,0.0691311 --5925.02,0.495754,0.394006,3,-0.201632,0.0274582,-3.06737,-2.46555,-1.52853,-2.47296,-2.64072,-2.26243,-1.65844,-2.02281,-1.86726,-2.28455,-2.27804,-1.5301,-2.927,-2.82157,-1.59437,-1.33981,-2.0814,-3.03232,-3.37465,-1.48048,-2.20048,-3.1841,-0.3223,-0.287137,-0.681543,-0.249764,-0.145962,-0.351259,-0.416795,-0.275568,-0.256757,-0.368183,-0.330678,-0.0514998,-0.182813,0.38485,-0.129989,-0.236276,-0.20251,0.0507226,-0.262768,-0.296063,-0.20823,-0.0975585,-0.1627,0.165705 --5929.41,0.775144,0.394006,2,-0.222016,0.0189423,-2.23995,-2.23798,-1.61019,-2.44487,-2.55647,-2.22964,-1.61651,-2.06613,-1.93883,-2.20777,-2.33728,-1.68819,-2.91015,-2.9892,-1.23994,-1.54188,-2.18818,-3.68406,-3.14726,-1.37703,-2.29751,-3.17242,-0.397046,-0.482866,-0.566189,-0.156382,-0.121937,-0.022699,-0.569132,-0.383338,-0.208806,-0.250382,-0.403386,0.121735,-0.292588,0.126607,-0.348212,-0.126977,-0.027249,-0.239728,-0.0673746,-0.154958,-0.192037,-0.233626,0.104953,0.137631 --5928.03,0.976342,0.394006,2,-0.206121,0.0479199,-2.35839,-2.10191,-1.56475,-2.44304,-2.33465,-2.40108,-1.52827,-2.09642,-1.96694,-2.20813,-2.2356,-1.73654,-2.82223,-2.85636,-1.18829,-1.39123,-2.17258,-3.46519,-3.41232,-1.49637,-2.27405,-3.28821,-0.365066,-0.50139,-0.617985,-0.161758,-0.194892,-0.177324,-0.608649,-0.17363,-0.0731566,-0.373235,-0.424416,0.0014934,-0.455307,0.129098,-0.380241,-0.0957522,0.0107883,-0.19084,-0.181809,-0.0654144,-0.190022,-0.141838,-0.0348517,0.218906 --5932.89,0.930446,0.394006,2,-0.208591,0.0265301,-2.15593,-1.98319,-1.56305,-2.33046,-2.2666,-2.6076,-1.66287,-2.08017,-1.96853,-2.22107,-2.19493,-1.71975,-2.77008,-2.7919,-1.1368,-1.44869,-2.17123,-3.48481,-3.47934,-1.6828,-2.17963,-3.08435,-0.329129,-0.626763,-0.603502,-0.197035,-0.244202,-0.345261,-0.680603,-0.267151,-0.137862,-0.389811,-0.525316,0.0203825,-0.562029,0.211022,-0.174914,-0.283941,0.153772,-0.295237,-0.213041,-0.157261,-0.175779,-0.179566,-0.0984625,0.162881 --5935.62,0.982335,0.394006,3,-0.181035,0.0361294,-2.57747,-1.98854,-2.07134,-2.34253,-2.42619,-1.96578,-1.39399,-2.29871,-1.75532,-2.19314,-2.15896,-1.66888,-2.8657,-2.92715,-1.58413,-1.44701,-1.9793,-2.67687,-3.99405,-1.54971,-2.28723,-3.0497,-0.198197,-0.488677,-0.383565,-0.368694,-0.191496,-0.126986,-0.641516,0.00354071,-0.373803,-0.356431,-0.167034,0.367421,-0.283513,0.0937716,-0.230784,-0.261133,0.0572795,-0.214702,0.012809,-0.337509,-0.0878261,0.0938064,-0.0748444,0.190077 --5926.91,0.864087,0.394006,2,-0.25685,0.0310632,-3.26001,-1.90515,-2.07479,-2.4076,-2.31096,-2.40791,-1.72976,-2.10287,-1.84517,-2.12958,-2.45839,-1.68039,-2.91079,-2.69043,-1.18362,-1.55158,-1.8756,-3.11443,-3.27044,-1.51556,-2.04494,-2.8994,0.289908,-0.413541,-0.523229,-0.179963,-0.25826,-0.201823,-0.665459,-0.14631,-0.471719,-0.464119,-0.379033,-0.0762592,-0.22794,-0.113132,-0.327337,-0.33172,-0.441211,-0.0989135,-0.253499,-0.234516,-0.511396,-0.471191,-0.177811,0.176248 --5927.15,0.76788,0.394006,3,-0.276645,0.0148394,-2.44929,-2.08276,-2.48222,-2.34359,-2.33599,-2.60079,-1.87648,-2.08504,-2.05282,-2.29006,-2.44499,-1.55268,-2.93991,-2.7494,-1.29499,-1.56888,-2.14804,-3.28601,-3.2517,-1.62125,-2.25789,-2.95022,-0.35667,-0.302121,-0.307227,-0.226325,-0.135432,0.142613,-0.237948,-0.303427,-0.372224,-0.31428,-0.481777,-0.0415128,-0.0655693,0.0531051,-0.2531,-0.363242,-0.168933,0.207903,-0.180362,-0.0501404,-0.318092,-0.320401,-0.388693,0.121817 --5932.36,0.687245,0.394006,2,-0.110247,0.0370555,-2.4113,-2.19783,-2.25067,-2.39188,-2.84673,-1.85931,-1.59342,-2.34344,-1.90891,-2.23558,-2.27976,-1.37761,-2.98849,-2.73728,-1.44528,-1.35752,-1.8939,-3.63246,-3.66297,-1.37166,-2.08584,-2.97646,0.00123796,-0.161105,-0.038497,-0.36354,0.161746,-0.446848,-0.531508,0.0228535,-0.0891199,-0.20273,0.0931799,-0.297107,-0.455664,0.157397,-0.253704,-0.0869317,-0.126214,0.166679,-0.10342,-0.379701,-0.150546,-0.21654,-0.349307,0.192498 --5932.31,0.65386,0.394006,3,-0.346961,0.0433125,-2.43574,-2.18798,-1.68197,-2.33347,-2.40513,-2.43956,-1.62957,-2.07892,-2.11431,-2.21313,-2.4523,-1.51262,-3.12079,-2.98812,-1.42544,-1.63532,-1.91616,-2.77984,-3.27805,-1.36705,-1.97467,-2.9874,-0.296839,-0.333263,-0.49611,-0.209941,0.13608,-0.0225036,-0.538216,-0.143503,-0.346176,-0.364564,-0.470424,-0.0563728,-0.00345485,0.277879,0.0165062,-0.300919,-0.424679,-0.19562,-0.059012,-0.4286,-0.788877,-0.248691,-0.286336,0.208117 --5937.05,1,0.394006,3,-0.355843,0.0180948,-1.66642,-2.53373,-1.97637,-2.43524,-2.65894,-1.8465,-1.60573,-2.19169,-1.88577,-2.25093,-2.17267,-1.32504,-3.07016,-3.14848,-1.43709,-1.39837,-1.92638,-2.9655,-4.22673,-1.48181,-1.93432,-2.74775,-0.55577,-0.375238,-0.510595,-0.327274,-0.34985,-0.680118,-0.504856,-0.216221,-0.405045,-0.281871,-0.21794,-0.572465,0.208562,0.590601,-0.38635,-0.231451,-0.308353,-0.414852,0.0766931,-0.484461,-0.500879,-0.49215,-0.517859,0.134517 --5927.01,0.939466,0.394006,3,-0.290557,0.0141121,-2.7477,-2.40729,-2.45502,-2.50417,-2.53984,-2.12977,-1.73701,-2.02045,-2.09303,-2.27279,-2.25399,-1.6768,-2.4941,-2.83292,-1.47356,-1.28152,-2.03203,-3.11026,-3.92822,-1.64993,-2.25875,-2.85769,-0.110572,-0.392459,-0.254774,-0.258697,-0.449194,-0.48736,-0.412781,-0.310221,-0.117896,-0.35044,-0.114478,-0.112617,-0.645349,-0.0621344,-0.251306,-0.381128,-0.0942058,-0.311523,-0.195242,-0.198154,-0.243076,-0.311797,-0.620866,0.118794 --5922.39,0.244244,0.394006,3,-0.229611,0.0121008,-1.99718,-1.92391,-1.7177,-2.3438,-2.13564,-2.27141,-1.70064,-2.16681,-1.79446,-2.19434,-2.57133,-1.52528,-3.21294,-2.71338,-1.11449,-1.61286,-2.10369,-2.76885,-2.99839,-1.35395,-1.98821,-2.9204,-0.363349,-0.296839,-0.317568,-0.211144,-0.0667548,-0.181488,-0.352149,-0.0813278,-0.401843,-0.342199,-0.132779,0.0491603,-0.59618,-0.204572,-0.306067,-0.179897,-0.252905,-0.230204,-0.243564,-0.24185,-0.278094,-0.337988,0.00616331,0.110004 --5923.37,0.219861,0.394006,2,-0.182132,0.0125067,-2.18335,-2.20446,-1.83571,-2.45067,-2.51569,-2.62034,-1.66986,-2.1453,-1.79246,-2.325,-2.41445,-1.67022,-2.84487,-2.60172,-1.51026,-1.6415,-1.74973,-3.74479,-3.63376,-1.71627,-2.06127,-2.95045,0.00143426,-0.190045,-0.179343,-0.263324,-0.318132,-0.274804,-0.348782,-0.188853,-0.355452,-0.219466,-0.141421,-0.298568,-0.0875151,-0.0984937,-0.38589,-0.179812,-0.183717,-0.176006,-0.200112,-0.063911,-0.405624,-0.254243,0.0705072,0.111834 --5924.29,0.936729,0.394006,2,-0.181724,0.0154284,-2.13511,-2.12434,-1.82621,-2.41854,-2.53567,-2.37753,-1.65016,-2.15005,-1.75082,-2.32058,-2.41834,-1.59369,-2.8654,-2.57179,-1.50944,-1.75421,-1.77053,-3.73668,-3.70915,-1.70318,-2.09472,-2.95928,-0.00898871,-0.10924,-0.224284,-0.207502,-0.232511,-0.335063,-0.32049,-0.307577,-0.23388,-0.21673,-0.108862,-0.297591,-0.0893577,-0.0933016,-0.261342,-0.0737742,-0.14648,-0.175509,-0.247646,-0.0170355,-0.462643,-0.213094,0.0426471,0.124211 --5916.09,1,0.394006,2,-0.264724,0.00526828,-2.21274,-2.12266,-2.20323,-2.36789,-2.49644,-2.26157,-1.77769,-2.06575,-2.34384,-2.28642,-2.38982,-1.4057,-2.71829,-2.85114,-1.08398,-1.62201,-1.93655,-2.53457,-3.67402,-1.54527,-1.92551,-2.83379,-0.315275,-0.412573,-0.367971,-0.223195,-0.0333943,-0.0314057,-0.313986,-0.111876,-0.211504,-0.231943,-0.230547,-0.205154,-0.396484,-0.162498,-0.291637,-0.320297,-0.311309,-0.188214,-0.164733,-0.255681,-0.357058,-0.278742,-0.350185,0.0725829 --5916.03,0.791219,0.394006,3,-0.228234,0.0101464,-2.63033,-2.18514,-2.14728,-2.40658,-2.25123,-2.004,-1.68979,-2.05138,-1.65625,-2.18517,-2.24675,-1.45477,-3.28355,-2.57307,-1.60517,-1.39769,-2.00977,-3.32927,-3.23505,-1.41659,-2.38533,-3.01769,-0.281575,-0.0516173,-0.375013,-0.206212,-0.115367,-0.0999226,-0.336672,-0.0908768,-0.448285,-0.230662,-0.302533,-0.160956,-0.316226,-0.194768,-0.148574,-0.297667,-0.192806,-0.136603,-0.134106,-0.219882,-0.141478,-0.196987,-0.328147,0.10073 --5915.5,0.109974,0.394006,2,-0.26091,0.00372877,-1.7455,-2.1624,-2.08348,-2.51013,-2.53876,-2.31621,-1.76704,-2.14361,-1.92849,-2.32995,-2.18936,-1.57374,-2.92515,-2.97571,-1.3435,-1.36278,-1.82651,-3.42199,-3.64945,-1.55233,-2.32147,-2.58762,-0.156392,-0.365994,-0.166152,-0.249642,-0.313593,-0.299479,-0.292251,-0.28272,-0.389023,-0.324079,-0.350153,-0.193485,-0.290038,0.0988244,-0.234182,-0.289108,-0.206436,-0.220194,-0.34314,-0.148971,-0.257369,-0.365428,-0.146078,0.0610637 --5911.28,0.481701,0.394006,2,-0.223388,0.0043693,-1.67734,-2.29131,-2.13676,-2.51429,-2.681,-2.29762,-1.77515,-2.15283,-1.97805,-2.3207,-2.15574,-1.60614,-2.96509,-2.93151,-1.40757,-1.46905,-1.8816,-3.40699,-3.45887,-1.56967,-2.38723,-2.66264,-0.229954,-0.24326,-0.224429,-0.171867,-0.208895,-0.26997,-0.278803,-0.178445,-0.380357,-0.266861,-0.340502,-0.180745,-0.329744,0.0325091,-0.306414,-0.262372,-0.227764,-0.286095,-0.25989,-0.179135,-0.327641,-0.272614,-0.313843,0.0661007 --5910.17,0.138083,0.394006,2,-0.277648,0.00498921,-3.29073,-2.31565,-2.10425,-2.39032,-2.21292,-2.62664,-1.60988,-1.95661,-1.96142,-2.15378,-2.23784,-1.39074,-3.16037,-2.59144,-1.25082,-1.15856,-2.12514,-3.10215,-3.24539,-1.54521,-1.97775,-3.07584,-0.289836,-0.345829,-0.372473,-0.261668,-0.247416,-0.305684,-0.460212,-0.378533,-0.195639,-0.332632,-0.284517,-0.251122,-0.205865,-0.220533,-0.258512,-0.405901,-0.196781,-0.253027,-0.173105,-0.312409,-0.203357,-0.372673,-0.265652,0.0706343 --5910.79,0.318482,0.394006,3,-0.275838,0.00745567,-2.02654,-1.8911,-2.13901,-2.46355,-2.35193,-2.12991,-1.74055,-2.10137,-1.87308,-2.25905,-2.6379,-1.49253,-2.8206,-2.77249,-1.58111,-1.73107,-1.86728,-3.11508,-3.62843,-1.45715,-2.16786,-2.85734,-0.322202,-0.35575,-0.179418,-0.236969,-0.186923,-0.304654,-0.272327,-0.0975705,-0.342067,-0.291757,-0.051541,-0.295421,-0.308928,-0.143392,-0.289996,-0.0973881,-0.386421,-0.287821,-0.205371,-0.24185,-0.386382,-0.323854,-0.372822,0.0863462 --5909.68,0.938885,0.394006,2,-0.243935,0.00429954,-2.4491,-2.60151,-2.15645,-2.51632,-2.31827,-2.22675,-1.77982,-2.2098,-1.76434,-2.27089,-2.61242,-1.45601,-2.98498,-2.63032,-1.20858,-1.41658,-2.01342,-2.84286,-3.73814,-1.31822,-2.08389,-2.96463,-0.232334,-0.23091,-0.365489,-0.22939,-0.340095,-0.256642,-0.307029,-0.184139,-0.277846,-0.222972,-0.0294379,-0.26992,-0.372661,-0.190828,-0.249737,-0.255453,-0.116277,-0.250101,-0.319862,-0.347961,-0.191484,-0.253544,-0.390772,0.0655709 --5915.93,0.191459,0.394006,2,-0.272978,0.0117828,-2.62292,-1.8973,-2.30837,-2.2498,-2.43125,-2.95512,-1.74996,-2.08873,-2.05378,-2.26059,-2.5491,-1.30429,-2.83638,-2.63952,-1.52552,-1.42811,-2.07732,-2.73645,-3.17189,-1.34804,-2.12162,-2.83723,-0.358525,-0.420845,-0.215817,-0.339673,-0.154596,-0.117365,-0.350103,-0.220328,-0.362486,-0.350529,-0.011739,-0.288353,-0.246582,-0.17391,-0.350877,-0.337665,-0.384586,-0.250383,-0.248459,-0.297947,-0.510786,-0.394251,-0.175371,0.108549 --5923.38,0.58367,0.394006,2,-0.31269,0.00434994,-2.36534,-1.76311,-2.35649,-2.36537,-2.60467,-2.82619,-1.81666,-1.99412,-1.90149,-2.29662,-2.66806,-1.31423,-2.9821,-2.85747,-1.54771,-1.63743,-1.94905,-3.11847,-2.97562,-1.41563,-2.13662,-2.72836,-0.465638,-0.28633,-0.331446,-0.371199,-0.100876,-0.27451,-0.412202,-0.19476,-0.260656,-0.301369,-0.00272312,-0.194696,-0.326148,-0.141416,-0.292551,-0.281584,-0.241338,-0.208039,-0.320144,-0.25568,-0.581951,-0.361067,-0.371797,0.0659541 --5916.18,0.629903,0.394006,3,-0.290744,0.00794059,-2.39276,-1.90551,-2.22565,-2.28006,-2.69637,-2.51598,-1.76532,-1.92809,-1.97887,-2.29417,-2.57743,-1.38641,-3.0451,-2.85837,-1.48283,-1.62215,-1.84741,-3.1847,-2.81367,-1.34409,-2.0612,-2.68188,-0.334783,-0.34734,-0.188239,-0.376026,-0.0299883,-0.319874,-0.382626,-0.212037,-0.274371,-0.317275,0.0122617,-0.238483,-0.306554,-0.0961801,-0.279687,-0.223218,-0.263853,-0.265659,-0.211186,-0.302496,-0.537218,-0.326305,-0.273053,0.08911 --5916.48,0.248753,0.394006,2,-0.27637,0.0151682,-2.96155,-1.72958,-2.22776,-2.39755,-2.54095,-2.01714,-1.73488,-2.14631,-1.94106,-2.30235,-2.4235,-1.36044,-2.95914,-2.74461,-1.43542,-1.42793,-2.03681,-3.06698,-3.26797,-1.33928,-2.13432,-2.82997,-0.13255,-0.407099,-0.392739,-0.209775,-0.140182,-0.242965,-0.350001,-0.370976,-0.48497,-0.319996,-0.00832965,-0.295532,-0.21295,-0.127838,-0.284296,-0.442772,-0.101598,-0.0872376,-0.15033,-0.275889,-0.175459,-0.401343,-0.288026,0.123159 --5920.94,0.992289,0.394006,2,-0.188702,0.0251888,-3.29929,-2.20338,-2.33084,-2.43585,-2.43369,-2.78534,-1.63946,-2.08266,-1.82008,-2.15391,-2.42418,-1.48541,-3.11217,-2.76829,-1.4043,-1.54859,-2.16146,-2.959,-3.83045,-1.45891,-2.14681,-2.77033,-0.121446,-0.091253,-0.0557051,-0.260166,-0.335833,-0.219604,-0.328004,-0.0080669,-0.426294,-0.321326,-0.121129,-0.0700157,-0.248886,0.0556194,-0.0699367,-0.0200941,-0.213398,-0.0787903,-0.206632,-0.412062,-0.488372,-0.459886,-0.205472,0.15871 --5918.6,0.702073,0.394006,3,-0.204798,0.00548168,-2.0114,-2.09765,-2.01913,-2.39701,-2.55641,-3.00448,-1.64432,-2.01468,-2.05361,-2.26708,-2.27218,-1.38586,-2.6163,-2.7628,-1.3211,-1.41549,-2.1354,-3.07075,-3.77026,-1.64097,-2.18977,-3.10748,-0.512933,-0.127633,-0.220409,-0.191101,-0.251997,-0.184827,-0.28906,-0.0219468,-0.27524,-0.232258,-0.22688,-0.161097,-0.429374,-0.158584,-0.136895,-0.133067,-0.240251,-0.0544311,-0.222902,-0.111365,-0.500131,-0.180751,-0.240156,0.0740384 --5913.06,0.167453,0.394006,1,-0.198325,0.0146268,-2.17996,-2.18686,-2.05207,-2.49443,-2.51315,-2.42977,-1.73,-2.22604,-1.99938,-2.3283,-2.26326,-1.30622,-2.59202,-2.78461,-1.35726,-1.44188,-1.8713,-3.0431,-3.09604,-1.54579,-2.29718,-3.03078,-0.43775,-0.275275,-0.158822,-0.138358,-0.0493825,-0.145747,-0.368663,-0.0182542,-0.0870432,-0.158799,-0.184762,-0.227965,-0.159268,0.0483828,-0.265645,-0.250112,-0.215437,-0.109033,-0.0922491,-0.279574,-0.288823,-0.202182,-0.140324,0.120941 --5922.66,0.799628,0.394006,2,-0.112475,0.00754568,-2.42911,-1.98732,-2.06532,-2.45526,-2.4221,-1.50599,-1.53704,-2.16295,-1.93052,-2.30819,-2.32155,-1.2278,-3.21615,-2.71373,-1.4786,-1.40761,-1.76095,-3.20572,-3.2049,-1.49042,-2.13014,-3.01351,-0.00329604,-0.343546,-0.156666,-0.111699,-0.111232,-0.126249,-0.360976,-0.0142396,-0.128977,-0.143821,-0.181293,-0.331134,-0.285738,-0.090899,-0.116615,-0.257071,0.031173,-0.119706,-0.141503,-0.138427,-0.10388,-0.225494,0.129363,0.0868659 --5925.33,0.842934,0.394006,3,-0.302072,0.0171294,-2.24585,-1.73686,-1.84616,-2.38556,-2.31533,-1.33089,-1.737,-2.09982,-1.82563,-2.22593,-2.22775,-1.1257,-3.20928,-2.6184,-1.37311,-1.23591,-1.52116,-2.81938,-3.09501,-1.56138,-2.07606,-2.87974,-0.504405,-0.339034,-0.192444,-0.335657,-0.257404,-0.382492,-0.331557,-0.203479,-0.309363,-0.335159,-0.20512,-0.330726,-0.209377,-0.0973048,-0.316485,-0.176383,-0.408754,-0.30911,-0.321879,-0.315824,-0.634937,-0.184604,-0.438205,0.130879 --5925.83,0.789494,0.394006,2,-0.407596,0.00606814,-2.373,-2.731,-2.14398,-2.31531,-2.44278,-2.62316,-1.70517,-2.11862,-1.83449,-2.20622,-2.30934,-1.30718,-3.08589,-2.64928,-1.18317,-1.90604,-1.69444,-2.6388,-3.47975,-1.39853,-1.97403,-2.96951,-0.210399,-0.321973,-0.43967,-0.357739,-0.304774,-0.324219,-0.379904,-0.173115,-0.617763,-0.397145,-0.385303,-0.344078,-0.406684,-0.320395,-0.231909,-0.445063,-0.33797,-0.31503,-0.293471,-0.346677,-0.356233,-0.45867,-0.1527,0.0778982 --5930.92,1,0.394006,2,-0.447655,0.0155774,-3.18064,-2.03207,-2.02937,-2.36556,-2.1715,-2.2152,-1.67143,-1.8583,-1.87418,-2.27495,-2.23396,-1.49395,-2.79791,-2.70419,-1.40115,-1.11062,-1.85826,-3.20598,-3.14923,-1.46759,-2.22616,-2.67077,-0.510178,-0.408779,-0.241405,-0.31938,-0.266382,-0.271133,-0.401082,-0.446612,-0.345296,-0.356148,-0.292609,-0.199925,-0.303615,-0.184305,-0.515811,-0.0882302,-0.34496,-0.200004,-0.498417,-0.321908,-0.374596,-0.412707,-0.683992,0.12481 --5932.78,1,0.394006,3,-0.206724,0.0362028,-1.6724,-2.02067,-2.66908,-2.36835,-2.33684,-1.79389,-1.77733,-2.17535,-2.00401,-2.19842,-2.38929,-1.48116,-2.93007,-2.80795,-1.16813,-1.78097,-2.04926,-2.81499,-3.53339,-1.43761,-2.06756,-2.96106,-0.0546512,-0.61439,-0.248617,-0.240887,-0.526713,-0.841088,-0.349756,-0.0873862,-0.302369,-0.232387,-0.209746,-0.158115,-0.568226,0.0811077,-0.168934,-0.510897,-0.134443,-0.174117,-0.0396076,-0.253693,-0.284585,-0.565358,-0.164865,0.19027 --5931.42,0.9851,0.394006,2,-0.246758,0.0233802,-2.98058,-2.16845,-1.70024,-2.38613,-2.38409,-1.87297,-1.72758,-1.9413,-2.01823,-2.23562,-2.44935,-1.54776,-3.05806,-2.79622,-1.42844,-1.12119,-2.11232,-3.02873,-3.16004,-1.32566,-2.18326,-2.67672,-0.0519448,-0.355478,-0.120734,-0.319531,0.0986825,-0.387936,-0.330755,-0.388008,-0.0265598,-0.420749,0.0294846,-0.0257464,-0.165311,-0.0118352,-0.361856,-0.0781072,-0.0686008,-0.0174843,-0.296462,-0.357476,-0.428065,-0.20004,-0.302354,0.152906 --5925.38,0.869683,0.394006,2,-0.220578,0.0084328,-3.13913,-2.05055,-1.72632,-2.41301,-2.47248,-2.00342,-1.83522,-1.94278,-2.21266,-2.28296,-2.47976,-1.56604,-3.12136,-2.65998,-1.41066,-1.21617,-2.04516,-2.89272,-2.84985,-1.34354,-2.14924,-2.79363,-0.332759,-0.122057,-0.155289,-0.328463,0.0527007,-0.263173,-0.459866,-0.432961,-0.0783432,-0.280357,-0.200267,-0.0231139,-0.226859,-0.277727,-0.388266,-0.303895,-0.131899,-0.173943,-0.271705,-0.269074,-0.294911,-0.416453,-0.306414,0.0918303 --5927.9,0.936059,0.394006,2,-0.249285,0.0104532,-2.23744,-2.19076,-1.99872,-2.31898,-2.64242,-2.61877,-1.67935,-2.07603,-1.73248,-2.29929,-2.30988,-1.45892,-2.78693,-2.79881,-1.50525,-1.7068,-1.88417,-2.90537,-3.32357,-1.40049,-2.14271,-2.7561,-0.618276,-0.646338,-0.293647,-0.324804,0.0329045,-0.239333,-0.0959652,-0.0642489,-0.348008,-0.250773,-0.0767976,-0.302335,-0.270712,0.113512,-0.0372938,-0.104619,-0.259311,-0.235106,-0.225224,-0.208513,-0.244242,-0.381993,-0.0886359,0.102241 --5924,0.998498,0.394006,2,-0.151497,0.0121093,-2.20581,-1.99953,-1.90131,-2.46997,-2.69033,-1.78779,-1.77975,-2.19625,-2.02297,-2.28812,-2.44092,-1.61647,-3.19235,-2.71202,-1.56286,-1.61023,-2.01741,-3.41588,-3.7513,-1.36364,-2.12539,-3.13114,-0.257566,0.00692343,-0.315404,-0.131179,0.224206,-0.183136,-0.477589,-0.237892,-0.150743,-0.125201,-0.192025,-0.081107,-0.279668,-0.179386,-0.415659,-0.0723606,-0.18418,-0.0830783,-0.100177,-0.381564,-0.322211,-0.107415,-0.086803,0.110042 --5912.29,0.971008,0.394006,2,-0.128034,0.01069,-2.67636,-2.14271,-2.05042,-2.36283,-2.52621,-2.21099,-1.57343,-2.10951,-2.0269,-2.25704,-2.27907,-1.58097,-3.03054,-2.70068,-1.45755,-1.4079,-1.8673,-3.02856,-3.44224,-1.42617,-2.28342,-3.0077,-0.050353,-0.399217,-0.0455846,-0.197339,0.00255713,-0.346823,-0.455021,-0.066874,-0.193056,-0.307375,-0.176483,-0.149298,-0.061619,-0.0138945,-0.130937,-0.177032,-0.161842,-0.219641,-0.177248,-0.0707196,-0.0881072,-0.28801,-0.258307,0.103393 --5912.79,0.999532,0.394006,2,-0.128232,0.00458446,-2.35344,-2.30137,-2.30278,-2.54053,-2.5516,-2.39574,-1.89384,-2.1966,-2.01621,-2.28739,-2.38926,-1.40671,-3.01078,-2.76873,-1.37855,-1.59519,-2.18569,-3.01053,-3.54521,-1.68328,-2.22114,-2.98429,-0.233838,-0.02463,-0.141205,-0.113302,-0.266236,-0.113831,-0.0704649,-0.290266,-0.30846,-0.17608,-0.155,-0.0527224,-0.0732318,-0.0198237,-0.0686789,-0.0961939,-0.152691,-0.221229,-0.186709,-0.0910917,-0.273926,-0.201033,-0.170521,0.0677086 --5916.06,0.321764,0.394006,3,-0.265572,0.014097,-2.28713,-2.007,-1.91058,-2.34773,-2.49132,-1.97717,-1.57516,-2.34518,-2.0226,-2.19402,-2.27373,-1.53546,-3.07519,-3.06729,-1.25189,-1.37854,-1.82137,-2.75992,-3.29881,-1.22324,-2.17255,-3.02891,-0.367375,-0.40324,-0.296571,-0.369401,-0.208149,-0.206047,-0.619884,-0.082743,-0.333793,-0.331455,-0.270957,-0.00443912,-0.179364,0.359403,-0.167317,-0.23462,-0.217994,-0.179825,-0.232314,-0.252848,-0.421958,-0.291224,-0.265177,0.118731 --5921.46,0.718263,0.394006,2,-0.267379,0.0179829,-2.68508,-2.46484,-1.73352,-2.37636,-2.31273,-2.57849,-1.53274,-1.9962,-1.81709,-2.23049,-2.53648,-1.61465,-3.02518,-2.91315,-1.18538,-1.27746,-2.04511,-3.19858,-2.95305,-1.42473,-1.97097,-2.64226,-0.171041,-0.384407,-0.4548,-0.170966,-0.243496,-0.353422,-0.462722,-0.236763,-0.2403,-0.332472,-0.125441,-0.280151,-0.262063,0.33413,-0.238117,-0.383316,-0.267229,-0.284664,-0.313882,-0.338156,-0.520667,-0.485616,-0.289932,0.1341 --5925.3,0.949341,0.394006,2,-0.260682,0.013418,-2.70001,-2.33996,-1.68976,-2.41866,-2.31101,-2.5706,-1.58952,-2.04998,-2.03714,-2.31027,-2.58996,-1.65461,-2.87171,-2.78477,-1.10051,-1.25604,-1.99073,-3.2133,-3.43003,-1.42404,-2.04185,-2.63531,-0.112856,-0.32505,-0.377698,-0.134247,-0.285614,-0.204172,-0.465014,-0.234932,-0.3017,-0.297909,-0.125557,-0.257388,-0.206687,0.365186,-0.428586,-0.371103,-0.381529,-0.33857,-0.155904,-0.29718,-0.61474,-0.433091,-0.320369,0.115836 --5929.21,0.657093,0.394006,2,-0.321137,0.0178745,-2.10775,-2.09549,-1.81088,-2.36986,-2.28971,-2.08853,-1.76183,-2.02422,-1.61661,-2.06791,-2.36729,-1.41471,-2.98564,-3.08934,-1.72296,-1.6521,-2.16585,-2.67532,-2.9873,-1.64525,-2.03023,-3.13649,-0.471437,-0.311783,-0.584833,-0.347837,-0.282281,-0.384505,-0.375904,-0.378076,-0.446239,-0.433571,-0.0399474,-0.160984,-0.403389,0.0533517,-0.123305,-0.233254,-0.0148389,-0.086613,-0.274544,-0.383488,-0.384515,-0.221886,-0.235573,0.133695 --5929.91,0.940576,0.394006,2,-0.228183,0.0197221,-2.23735,-1.85895,-1.70412,-2.31016,-2.32249,-1.81612,-1.65369,-1.95629,-2.02746,-2.12204,-2.41292,-1.4654,-3.11342,-2.84254,-1.43679,-1.48209,-2.10569,-3.48448,-3.70718,-1.19104,-2.20204,-2.79894,-0.161869,-0.128937,-0.225041,-0.272812,-0.21499,-0.439112,-0.280798,-0.288379,-0.262631,-0.547466,-0.274288,-0.350039,-0.280915,0.452427,-0.208052,-0.0613848,-0.257256,-0.122785,-0.140099,-0.321605,-0.317927,-0.184785,-0.594402,0.140435 --5929.88,0.969931,0.394006,2,-0.255516,0.0124088,-1.84403,-2.03704,-1.92799,-2.32795,-2.3111,-1.65829,-1.73203,-1.97935,-1.80369,-2.05673,-2.32912,-1.5536,-2.84401,-2.91135,-1.34914,-1.44568,-2.03977,-3.36575,-4.16621,-1.35843,-2.44508,-2.71924,0.0533303,-0.314396,-0.178062,-0.18909,-0.21293,-0.423637,-0.344083,-0.468791,-0.294757,-0.550095,-0.124784,-0.283293,-0.362782,0.34799,-0.196976,-0.173135,-0.0648498,-0.117889,-0.257862,-0.295659,-0.241778,-0.177632,-0.331784,0.111395 --5936.91,0.762775,0.394006,3,-0.289892,0.0319442,-3.6184,-2.28615,-2.03147,-2.48634,-2.39653,-2.881,-1.51147,-2.29066,-1.84274,-2.38951,-2.15957,-1.56346,-3.1123,-2.52536,-1.24284,-1.3979,-2.34315,-2.4677,-3.11591,-1.61161,-1.87244,-2.92831,-0.439485,-0.29786,-0.813592,-0.266245,-0.24956,-0.270202,-0.642678,-0.000506559,-0.633712,-0.0459785,-0.453138,-0.0515687,-0.382694,-0.169249,-0.307546,-0.313918,-0.0332887,-0.522699,-0.289889,-0.230069,-0.413375,-0.549544,-0.296926,0.178729 --5934.78,0.85934,0.394006,3,-0.348499,0.0268896,-2.08202,-2.33126,-1.83158,-2.22574,-2.46206,-2.88757,-1.6624,-1.91727,-1.90346,-2.26251,-1.89183,-1.54232,-2.59776,-2.69473,-1.26831,-1.51456,-2.01253,-2.81562,-3.58416,-1.30598,-2.06741,-2.74301,-0.416024,-0.325116,-0.899213,-0.429635,-0.256985,-0.366119,-0.532717,-0.277282,-0.39865,-0.387995,-0.524374,-0.0468449,-0.425681,-0.202203,-0.196385,-0.189381,0.308964,-0.358229,-0.228544,-0.560119,-0.354639,-0.345069,-0.107819,0.16398 --5927.6,0.983057,0.394006,3,-0.131387,0.0317423,-3.02691,-2.15321,-2.26787,-2.44376,-2.47618,-2.10796,-1.71983,-2.16529,-1.91949,-2.2953,-2.56381,-1.25685,-3.09748,-2.91739,-1.36612,-1.4622,-2.0692,-3.23482,-2.99775,-1.59909,-2.15374,-3.00884,-0.247276,-0.289096,0.255283,-0.0178498,-0.0194522,-0.406311,-0.322834,-0.035906,-0.249397,-0.335542,0.241578,-0.228752,-0.0382667,0.0385056,-0.276363,-0.305939,-0.263097,-0.225269,-0.114869,-0.0541599,-0.24159,-0.262779,-0.2725,0.178164 --5928.1,0.799424,0.394006,3,-0.278065,0.0191574,-3.7062,-2.47528,-1.87853,-2.20935,-2.29116,-2.5494,-1.59202,-1.93956,-1.951,-2.25914,-1.97095,-1.46339,-2.74673,-2.78888,-1.29923,-1.61275,-2.20256,-2.74746,-3.16321,-1.40546,-2.10341,-2.87026,0.068855,-0.0444893,-0.430078,-0.397677,-0.212487,-0.253271,-0.355529,-0.408061,-0.18881,-0.246853,-0.327893,-0.106561,-0.36849,-0.00523393,-0.327061,-0.203917,-0.26244,-0.364149,-0.0465428,-0.299608,-0.183977,-0.281102,-0.222856,0.13841 --5919.66,0.991394,0.394006,3,-0.295321,0.0062722,-1.37713,-1.9616,-2.32638,-2.51208,-2.45346,-2.09705,-1.71057,-2.26981,-1.96733,-2.13398,-2.54845,-1.37951,-3.03345,-2.5901,-1.24607,-1.41629,-1.98384,-3.20738,-3.42422,-1.49774,-2.12225,-2.8022,-0.418638,-0.234687,-0.36101,-0.12443,-0.215907,-0.34897,-0.228002,-0.137575,-0.261011,-0.399273,-0.0360202,-0.28228,-0.242112,-0.153515,-0.362711,-0.425624,-0.441519,-0.376733,-0.143192,-0.247473,-0.229104,-0.330613,-0.345682,0.0791972 --5925.88,0.556114,0.394006,3,-0.183419,0.0200494,-3.10389,-2.06817,-1.95405,-2.26556,-2.20617,-2.16154,-1.76563,-2.38776,-2.04816,-2.3336,-2.22574,-1.60213,-3.03213,-2.78655,-1.39762,-1.68635,-2.05717,-2.86591,-3.78074,-1.48078,-2.44525,-3.04286,0.0492701,-0.293592,-0.113731,-0.358594,-0.157251,-0.0310618,-0.39061,0.0132912,-0.197852,-0.232503,-0.308969,-0.0592641,-0.210353,-0.0295012,-0.0580319,0.105089,0.18688,0.206632,-0.205824,-0.270502,-0.235702,-0.164202,-0.0713622,0.141596 --5925.19,0.656367,0.394006,2,-0.148885,0.0204667,-2.80479,-2.25346,-1.97245,-2.31349,-2.10153,-1.93186,-1.75409,-2.32023,-2.12486,-2.31615,-2.29183,-1.64459,-2.95215,-2.81212,-1.54945,-1.67679,-2.16426,-3.06155,-3.70259,-1.54566,-2.36747,-3.14272,0.0267904,-0.111129,-0.0317378,-0.324926,-0.110972,-0.11332,-0.367653,-0.0252701,-0.243341,-0.212276,-0.273337,-0.0735794,-0.218845,-0.102067,-0.14225,0.189708,0.177713,0.19299,-0.230864,-0.231458,-0.28751,-0.276922,-0.0219496,0.143062 --5919.35,0.575153,0.394006,3,-0.378352,0.0247638,-2.11597,-2.23512,-1.60695,-2.35427,-2.19276,-1.82996,-1.7725,-2.13016,-2.08013,-2.16594,-2.17366,-1.33281,-3.17723,-2.73846,-1.22261,-1.31773,-2.10229,-2.61971,-3.52844,-1.26163,-2.12756,-2.92879,-0.481042,-0.423873,-0.351702,-0.335574,-0.216142,-0.467102,-0.437571,-0.219854,-0.409517,-0.426084,-0.371557,-0.343386,-0.276105,0.0814689,-0.450385,-0.370549,-0.324888,-0.288824,-0.547965,-0.570928,-0.273939,-0.467961,-0.436042,0.157365 --5923.99,0.250714,0.394006,2,-0.301479,0.0127942,-1.8846,-2.03717,-1.67301,-2.31915,-2.43521,-1.9557,-1.74861,-1.96509,-1.9367,-2.23619,-2.12482,-1.52571,-2.81405,-2.60605,-1.27126,-1.35031,-1.78827,-2.6576,-3.28896,-1.25257,-2.30729,-2.97011,-0.54756,-0.356929,-0.509573,-0.326488,-0.197569,-0.384851,-0.460436,-0.215854,-0.309598,-0.386038,-0.345617,-0.407581,-0.330738,0.0798398,-0.204607,-0.192035,-0.33252,-0.233615,-0.587396,-0.529599,-0.349868,-0.303887,-0.546068,0.113112 --5926.42,0.807175,0.394006,2,-0.327262,0.0148402,-1.55551,-1.72494,-1.42335,-2.31711,-2.24013,-2.07505,-1.64891,-2.02456,-1.81189,-2.20705,-2.30761,-1.30164,-2.96291,-2.79939,-1.44587,-1.21232,-1.79381,-3.37064,-3.08206,-1.41629,-2.11185,-2.93025,-0.286642,-0.325534,-0.339848,-0.371709,-0.0405648,-0.152859,-0.358109,-0.249833,-0.252542,-0.222903,-0.291377,-0.222333,-0.287232,-0.0688645,-0.300109,-0.340369,-0.178883,-0.270468,-0.196204,-0.576001,-0.315391,-0.608241,-0.357147,0.12182 --5928,0.342424,0.394006,2,-0.218577,0.0128824,-2.93399,-2.12871,-2.17133,-2.39477,-2.50269,-2.05862,-1.68226,-1.79548,-2.36742,-2.35168,-2.44907,-1.6194,-2.72929,-2.78688,-1.40251,-1.32783,-2.2282,-3.20364,-3.65699,-1.45631,-2.01634,-2.46867,-0.24914,-0.422198,-0.25599,-0.333838,-0.22537,-0.228259,-0.523292,-0.378849,-0.162331,-0.264939,-0.147203,-0.255049,-0.229365,0.0895914,-0.111572,-0.419731,-0.242614,-0.161719,-0.173661,-0.370579,-0.287761,-0.521935,-0.336472,0.113501 --5925.82,0.285647,0.394006,2,-0.338902,0.00972867,-2.87118,-2.29964,-1.45477,-2.44099,-2.39072,-1.88884,-1.79147,-2.20894,-1.87493,-2.18191,-2.3565,-1.4091,-3.14098,-2.89755,-1.07689,-1.3272,-1.8089,-2.90632,-3.05068,-1.43757,-2.33333,-2.9569,-0.344233,-0.210034,-0.57933,-0.224139,-0.2803,-0.417409,-0.315575,-0.179994,-0.144497,-0.487402,-0.11987,-0.290393,-0.308984,0.208358,-0.418706,-0.389628,-0.164391,-0.155752,-0.203618,-0.370283,-0.158905,-0.388824,-0.10665,0.098634 --5918.48,0.54007,0.394006,2,-0.274459,0.0101253,-2.12092,-2.24084,-1.69682,-2.51452,-2.17176,-1.59455,-1.6779,-2.09063,-2.06463,-2.10679,-2.34741,-1.40457,-3.10185,-3.01107,-1.06673,-1.23075,-2.001,-3.02213,-3.15004,-1.46347,-2.30311,-3.0226,-0.219408,-0.296782,-0.530301,-0.207036,-0.334321,-0.264481,-0.36659,-0.248118,-0.217662,-0.472862,-0.133915,-0.349531,-0.273905,0.348962,-0.357007,-0.368522,-0.31452,-0.258293,-0.374076,-0.262841,-0.397313,-0.379085,-0.318284,0.100624 --5910.98,0.632625,0.394006,2,-0.12934,0.00473423,-2.09393,-2.28594,-2.23098,-2.48037,-2.53287,-2.68241,-1.78012,-1.95311,-1.97026,-2.27822,-2.56103,-1.37949,-2.85621,-2.75915,-1.44262,-1.79765,-1.88488,-3.06805,-3.49353,-1.64286,-2.14479,-2.81321,-0.268059,-0.196494,-0.0537084,-0.0943827,-0.101956,-0.258668,-0.316248,-0.324521,-0.193499,-0.216894,-0.138516,-0.133958,-0.250409,-0.0959429,-0.220508,-0.137888,-0.120172,-0.163779,-0.050384,-0.148727,-0.108157,-0.210316,-0.15199,0.0688058 --5908.03,0.158498,0.394006,3,-0.178018,0.00445031,-1.92224,-2.29512,-2.15405,-2.46519,-2.41829,-2.58258,-1.91427,-2.18887,-2.09545,-2.14936,-2.41168,-1.29643,-3.01044,-2.5586,-1.27603,-1.62881,-2.1347,-3.07831,-3.20539,-1.52986,-2.04223,-2.98792,-0.269723,-0.174848,-0.30569,-0.179021,-0.217483,-0.208728,-0.101457,-0.161089,-0.185646,-0.229148,-0.191378,-0.244462,-0.0683009,-0.216937,-0.123887,-0.177736,-0.219465,-0.1693,-0.239651,-0.143358,-0.317836,-0.127913,-0.204033,0.0667106 --5908.03,0.181003,0.394006,2,-0.178018,0.00445031,-1.92224,-2.29512,-2.15405,-2.46519,-2.41829,-2.58258,-1.91427,-2.18887,-2.09545,-2.14936,-2.41168,-1.29643,-3.01044,-2.5586,-1.27603,-1.62881,-2.1347,-3.07831,-3.20539,-1.52986,-2.04223,-2.98792,-0.269723,-0.174848,-0.30569,-0.179021,-0.217483,-0.208728,-0.101457,-0.161089,-0.185646,-0.229148,-0.191378,-0.244462,-0.0683009,-0.216937,-0.123887,-0.177736,-0.219465,-0.1693,-0.239651,-0.143358,-0.317836,-0.127913,-0.204033,0.0667106 --5914.74,0.00402167,0.394006,3,-0.231178,0.00602674,-2.00964,-2.11745,-2.26902,-2.40742,-2.32923,-2.32428,-1.83231,-2.0318,-1.94871,-2.17126,-2.46471,-1.30464,-2.89418,-2.70198,-1.25426,-1.50135,-2.27707,-3.02056,-3.49447,-1.6359,-2.04597,-2.82156,-0.256294,-0.415606,-0.0792214,-0.172117,0.0281725,-0.222134,-0.165808,-0.205257,-0.223938,-0.253304,-0.137047,-0.302748,-0.129897,-0.173396,-0.387075,-0.260497,-0.207097,-0.347425,-0.15973,-0.237417,-0.34013,-0.142841,-0.320874,0.0776321 --5916.73,1,0.394006,2,-0.15064,0.017351,-2.26322,-2.10594,-2.00695,-2.47251,-2.39427,-2.05474,-1.74523,-2.19338,-2.06613,-2.34334,-2.31845,-1.51244,-3.03847,-2.63928,-1.32123,-1.51492,-1.94681,-2.54953,-3.22812,-1.53347,-2.37431,-3.01232,-0.177777,-0.0244224,-0.332735,-0.220878,-0.45631,-0.15119,-0.35972,-0.115708,-0.241912,-0.234761,-0.208734,-0.103837,-0.249174,-0.0960714,-0.432873,-0.082274,-0.112334,-0.108847,-0.187637,-0.119933,-0.110995,-0.408513,-0.0820288,0.131723 --5924.26,0.65056,0.394006,2,-0.279739,0.0166843,-1.86503,-1.99288,-1.92919,-2.31439,-2.33975,-2.16693,-1.70094,-1.95803,-1.90497,-2.16541,-2.27916,-1.41969,-2.55331,-2.8304,-1.27111,-1.51044,-2.38748,-2.94386,-3.40097,-1.58504,-2.2292,-2.96227,-0.273465,-0.339588,0.0534483,-0.308446,-0.246551,-0.168877,-0.167758,-0.287819,-0.0990285,-0.191222,-0.273382,-0.163446,-0.302433,-0.046853,-0.135663,-0.247304,-0.110615,-0.218238,-0.0798249,-0.20417,-0.244006,-0.352001,-0.121557,0.129168 --5923.29,0.965501,0.394006,3,-0.255606,0.0235855,-2.67252,-2.44209,-2.29394,-2.46875,-2.56942,-1.68649,-1.50948,-2.27225,-1.66529,-2.14944,-2.35983,-1.45635,-3.15964,-2.76938,-1.35647,-1.42623,-1.79256,-3.04984,-3.66905,-1.40797,-2.07139,-2.98638,-0.0636753,-0.199701,-0.473038,-0.137245,-0.0575955,-0.295419,-0.444335,0.0298729,-0.233311,-0.228439,-0.157783,-0.163367,-0.0935531,-0.124048,-0.329778,-0.171263,-0.197807,-0.195595,-0.394586,-0.282765,-0.398495,-0.387386,-0.168911,0.153576 --5920.16,0.971327,0.394006,2,-0.229639,0.00633133,-2.09276,-2.21845,-1.8426,-2.4303,-2.42516,-2.68929,-1.912,-2.16619,-2.12847,-2.34136,-2.47673,-1.58717,-3.04774,-2.55181,-1.25383,-1.73265,-2.01335,-3.33698,-3.70988,-1.65018,-1.97145,-2.72551,-0.329504,-0.269306,-0.0841147,-0.236126,-0.237421,-0.234292,-0.244686,-0.239176,-0.316206,-0.324111,-0.113477,-0.185894,-0.324344,-0.217102,-0.189961,-0.201164,-0.219273,-0.539629,-0.0573529,-0.165802,-0.32912,-0.416612,-0.268131,0.0795696 --5911.63,0.760756,0.394006,2,-0.207285,0.00530494,-2.63007,-2.03179,-2.11033,-2.51515,-2.6039,-2.14535,-1.80691,-2.0984,-1.91525,-2.17858,-2.5178,-1.333,-3.01526,-2.7001,-1.20213,-1.69535,-2.04087,-3.39977,-3.07685,-1.56804,-2.20731,-2.84091,-0.190583,-0.328625,-0.462132,-0.123713,-0.228273,-0.227756,-0.221922,-0.219288,-0.228047,-0.230803,-0.154313,-0.256161,-0.17906,-0.229638,-0.349023,-0.143907,-0.287782,-0.322035,-0.16188,-0.306931,-0.236934,-0.165562,-0.260876,0.072835 - -# Elapsed Time: 0.176053 seconds (Warm-up) -# 0.165157 seconds (Sampling) -# 0.34121 seconds (Total) - diff --git a/arviz/tests/saved_models/stan_diagnostics/reference_posterior.csv b/arviz/tests/saved_models/stan_diagnostics/reference_posterior.csv deleted file mode 100644 index 86eca35f29..0000000000 --- a/arviz/tests/saved_models/stan_diagnostics/reference_posterior.csv +++ /dev/null @@ -1,49 +0,0 @@ -"","rhat_rank","rhat_raw","ess_bulk","ess_tail","ess_mean","ess_sd","ess_median","ess_raw","ess_quantile01","ess_quantile10","ess_quantile30","mcse_mean","mcse_sd","mcse_median","mcse_quantile01","mcse_quantile10","mcse_quantile30" -"d",1.00780272388603,1.0004168232094,465.136513484671,349.135270438316,467.84472286415,488.89443945697,311.806319792458,467.367576858138,1500.2193689464,754.211496074801,354.746981701936,0.00265985849234941,0.00206270285278761,0.005242,0.00812199999999999,0.003997,0.00375200000000001 -"sigmasq_delta",1.01090196780102,1.00035874354121,73.249623982678,48.5806371372426,134.497570910906,801.332161569803,132.049677080929,138.627800274732,33.1982442776445,63.6980562732759,98.6290985074029,0.00114848510125919,0.0010201024173082,0.00095392,0.0003001,0.00044662,0.00058668 -"mu.1",1.00731450966132,0.999545827128633,1231.30913527034,1119.63456276453,1189.5912192317,425.063968137942,811.795584886631,1171.62891354699,1030.60309993778,465.95223908163,635.768730056618,0.0125124382036462,0.0162666049948541,0.022465,0.02589,0.0285949999999999,0.0175350000000001 -"mu.2",1.00332752771857,1.00046552033653,558.783738495551,920.913340029631,569.193418116839,782.034728874135,560.847913565582,543.893011358525,1250.00943663727,715.745937098207,603.702320409943,0.0100753323647403,0.00677123534676899,0.012035,0.0344149999999999,0.0169700000000002,0.0116750000000001 -"mu.3",1.00400884522485,1.00119273844036,545.006145537413,721.191572843273,525.001599973821,487.131645340556,409.25009203697,519.896707667091,980.123379207967,597.010589383933,776.855700473939,0.012221584083923,0.00875247281355774,0.0182549999999999,0.0148200000000001,0.0200100000000001,0.015765 -"mu.4",1.00992230528499,1.00088653210741,582.054899011997,475.118727680651,572.691571673006,819.783260947192,453.404375352865,590.532677591646,1150.49950736189,1061.12497686928,297.464682466101,0.00338150237488137,0.00188911998992983,0.00423499999999999,0.00789000000000017,0.0046250000000001,0.00692500000000007 -"mu.5",1.00733922911401,1.00017537414794,754.786642573516,1073.96515350853,763.910100475586,540.466147265881,762.522622136922,764.757297566194,1601.95897581453,823.748224208616,602.971885735321,0.00535619470645841,0.00480446457947108,0.00728499999999999,0.01271,0.0105449999999998,0.00721499999999997 -"mu.6",1.0063264651477,1.00019046380718,681.625145574341,841.509646646211,710.977179062471,551.470250858593,469.426815292446,690.219361038973,496.664104993923,854.423772463052,799.11107396604,0.0128934361623842,0.011011524371348,0.02196,0.0800150000000002,0.0284499999999999,0.015415 -"mu.7",1.0009508247325,1.00226228815332,338.501572250893,798.174111097497,338.298033186,923.852334364149,271.172024542225,326.217452597384,925.997070900362,842.297594532647,322.156375656936,0.00461535071570277,0.00196184477437271,0.00647500000000001,0.00655499999999998,0.00410999999999995,0.00627499999999992 -"mu.8",1.0090643975564,0.999538833472528,500.370209497559,578.884594887594,493.348188663339,748.922281715359,313.922618265292,505.50985231336,1386.39640838638,640.804896232492,697.131902186387,0.00532227304880204,0.00302056504657623,0.00929000000000002,0.0093049999999999,0.0109100000000002,0.00605499999999992 -"mu.9",1.01019493017765,0.999603164368487,340.342755003858,946.607791310505,333.492896973282,747.532519745591,484.326477329234,356.445106502136,1562.99962092251,56.5180669671026,220.186644019022,0.00778879135503874,0.00373806209510348,0.00825999999999993,0.0133449999999999,0.0254349999999999,0.014645 -"mu.10",1.00075487572724,0.999511473112951,583.991419920615,471.41183217468,588.28304374764,544.526707462149,477.481294770334,590.14928532837,799.772115109561,906.418393458689,311.515150979097,0.00276260856418602,0.00217633000850717,0.00405000000000011,0.011425,0.00260499999999997,0.00502000000000002 -"mu.11",1.00595414640273,1.00237422670742,635.150979523831,800.479933058152,665.620410175752,649.717620197507,519.624529420413,655.71371952012,945.861386301236,586.200764916719,408.369416259054,0.00431255652753725,0.00329002222006113,0.00705500000000003,0.0158449999999999,0.01007,0.0102799999999998 -"mu.12",1.0047268539977,1.00514527883668,496.929163495085,531.044721860628,504.262711368638,610.093515741603,319.158390701,480.727694997398,1853.86082845226,572.398861171123,317.880247530293,0.0057037756397616,0.00363873911388514,0.00858499999999995,0.0151549999999999,0.01154,0.00814000000000004 -"mu.13",1.008945349242,1.0056573986565,183.23984965215,350.35095755959,187.049324363394,270.940571239581,475.166782427048,178.745879678592,719.678538769825,371.680213864137,532.208029969556,0.0173131687638012,0.00933778226030946,0.00905,0.0248349999999999,0.0225550000000001,0.013755 -"mu.14",1.01304235232272,0.999571875876497,146.455619305836,905.20577806428,156.913168025411,323.907305569586,326.757781606977,184.871406789517,1501.15708995927,275.031545588726,379.47949263356,0.0112582926739193,0.00525249835026592,0.00992499999999996,0.00940499999999989,0.012775,0.00852999999999993 -"mu.15",1.00166475852766,1.00098644134086,647.052787106276,631.753828191276,650.018161664313,711.883895013457,658.62198403898,643.855640478448,836.543429989515,760.283671777858,375.926738510082,0.0060179931852768,0.00400129337763143,0.00807999999999998,0.0173800000000001,0.0116149999999999,0.00492999999999999 -"mu.16",1.00740317948224,1.00853464974225,499.036519568152,746.05300433263,501.454892472435,585.824943822467,485.39675231805,472.13048627122,1341.97413184728,277.102847934913,609.721215668554,0.00640986388102947,0.00436871165434051,0.00609499999999996,0.014005,0.0172800000000001,0.00823499999999999 -"mu.17",1.00235785729279,1.00079863526808,568.525190685684,577.67526711659,570.160744519766,488.43648728312,549.959891120855,563.848255834083,1431.6908440639,747.739233140895,581.929203983128,0.00753372166353053,0.0057425523697688,0.00883,0.02302,0.0112099999999999,0.011695 -"mu.18",1.0058815147689,0.999605048059416,542.537401212283,553.368100868642,550.366452404361,493.121927080476,433.167272775349,584.744508829451,1341.05872361933,720.8954493708,422.716253311392,0.0122763089002585,0.00966254096644109,0.01478,0.0384899999999999,0.0162549999999999,0.02017 -"mu.19",1.00414368524188,1.00060208238245,449.416857063488,739.485184107347,446.219468477619,587.037945065159,345.725868771874,449.137074366437,1561.55711641924,544.69861487889,419.996836681418,0.0160809134566196,0.0102521331347103,0.02644,0.0399750000000001,0.0198449999999999,0.02633 -"mu.20",1.00303319392542,1.00045657842583,429.352356666043,667.698241600053,408.218014375817,644.200142740266,416.536296772658,400.23475139616,1563.70741553559,133.612813080646,279.606683576796,0.00693974335849805,0.00373913385852037,0.00812000000000002,0.015245,0.012025,0.010345 -"mu.21",1.00975536911073,1.01022808966214,374.47529790908,470.815645795366,364.204306828113,718.497561467271,336.118912328004,339.216837731465,1055.53653994431,585.531004662949,181.680640103669,0.00699623341543813,0.00347672764264547,0.00904500000000019,0.0112399999999999,0.00910499999999992,0.0165649999999999 -"mu.22",1.00294755213814,0.999600478698527,674.597258384371,600.678471867714,678.699385312522,684.513700576372,324.316517855016,680.605387522155,908.437133488286,764.541352392027,383.852018821601,0.00533742583176886,0.00385706039033489,0.0127699999999999,0.010505,0.007185,0.00717499999999993 -"delta.1",1.00193273557651,1.00110042421068,1172.74856393641,974.786547170994,1419.23404652728,595.145865508099,649.830820193222,1410.38271694321,977.529406338044,782.300515662222,668.284695026047,0.0038676938490309,0.00691910271515977,0.0048955,0.0203195,0.00914400000000001,0.00684599999999999 -"delta.2",1.00439696727112,0.999671764127513,757.273755729388,1041.21641448256,841.741917392082,708.716112634396,440.437505212779,836.017025076283,910.440957531096,819.510207777999,444.090052381873,0.004732095521024,0.00650851949720249,0.0056435,0.0389715,0.013379,0.00763449999999999 -"delta.3",1.0048779262348,0.999733784057189,854.667318035899,601.21846326955,881.923285826474,465.25904775017,667.795651854425,871.389790934645,1030.78267333512,610.820032214856,543.056438051934,0.00483645532470361,0.00690951517315717,0.00615350000000001,0.0424825,0.0080035,0.00698349999999998 -"delta.4",1.00178244152549,0.999578735499239,933.614899067375,750.167856320663,960.420142222955,710.318520349167,466.804294420144,952.265093307421,1562.99962092251,808.248888293026,848.385826906282,0.00286776827314079,0.00263559492868887,0.00450449999999999,0.016153,0.00641250000000002,0.00339400000000001 -"delta.5",1.01081774716755,1.00241813072529,586.411691467462,943.409653768766,610.921485388949,555.703140734042,493.500353919725,620.944209858451,1396.11137524087,958.339509742365,773.928892663521,0.00509922346905432,0.00489061156273221,0.008062,0.020229,0.007526,0.00504300000000002 -"delta.6",1.00190020811646,1.00213136770008,933.591422341377,680.772965157488,917.641844958605,491.499151214083,466.105251245502,869.978957461908,1019.34979665739,615.944560171407,464.449517690915,0.00467404005100357,0.00799313228494064,0.00564049999999999,0.042385,0.0136695,0.00843949999999999 -"delta.7",1.00412724855361,1.00244365868817,229.195505938696,203.70063395052,239.599032907495,499.306704483073,258.226892482532,235.167900306928,1298.99528753311,469.228350866314,335.674635373719,0.00738452488138673,0.00357892714561876,0.00690850000000001,0.00962150000000001,0.011208,0.00955349999999999 -"delta.8",1.01302686669844,0.999978104471402,767.371699778806,1069.01390989025,773.726493231427,675.028325538577,524.725055273804,788.520229384148,1617.62037766705,1228.32563592794,321.895527707361,0.00418005595173392,0.00394234473694659,0.0074535,0.0110275,0.00659949999999998,0.0072275 -"delta.9",1.00240486051678,0.999686448177722,967.147813834465,805.14293480976,921.332318713367,650.980891315601,714.971441907894,911.348066015493,1181.60609792208,988.399569707275,453.575392453051,0.00390437482860046,0.00435205963702307,0.00506200000000001,0.0135795,0.00882050000000001,0.00756899999999999 -"delta.10",1.01148346905793,1.00079092738233,221.58398760916,512.070682182092,227.340028184212,493.504192166091,321.202034626446,234.227618555189,1552.55702598724,1158.43349854518,502.709517349779,0.00558111846776516,0.00288399911648472,0.006744,0.010841,0.00319900000000001,0.00472249999999999 -"delta.11",1.00436479181684,0.999546010444357,865.224447923887,936.150395054657,900.81898633316,573.877464367464,420.212037985204,909.208813980858,1856.30870029447,998.186312144878,432.595765534901,0.00353200967338314,0.00383235362887953,0.005305,0.0114425,0.00684750000000001,0.00582550000000001 -"delta.12",1.0051455786984,1.00090228472677,746.592500353552,819.359175324269,748.477550571627,782.874695457754,464.352491232898,748.709658864382,1622.75285471028,1154.40505296934,436.170801499081,0.00438862230801511,0.00469488123015017,0.005106,0.00893000000000002,0.00667599999999999,0.003271 -"delta.13",1.00712064755481,1.00136237270726,783.642427498242,702.762955320348,727.365240511935,605.035938547086,590.519739539686,722.362255781916,891.110531194617,594.203121864699,517.190497501427,0.00513748338041085,0.0072270599204413,0.005607,0.068738,0.0169845,0.00620400000000002 -"delta.14",1.00889674194067,1.00288110313765,235.105098167191,295.2486556867,184.948807956383,323.287038146436,261.769361538788,196.761686493461,1563.56576720135,508.292867142042,241.656603953637,0.0136025602147262,0.00768487365672108,0.0116275,0.0037885,0.00726100000000002,0.014438 -"delta.15",1.002224994901,1.00035977797783,866.084170529215,924.630560015452,948.425424421912,624.75693151017,585.465279369756,945.741384752513,1304.47140508689,986.025789385593,547.648223875118,0.00373367946357549,0.00460707662574424,0.00571149999999998,0.0226165,0.005799,0.00572149999999999 -"delta.16",1.00118003375548,0.999889392269564,755.774599660567,582.770014668784,776.030216190205,539.95182923561,483.546077965929,768.797014600277,1695.47768547515,739.326289777271,748.420238399519,0.00430530869948785,0.00454091674268505,0.00664550000000001,0.0131295,0.0092825,0.00629549999999998 -"delta.17",1.00380769102248,1.00076796399963,741.233121810086,962.832809052428,735.27919044424,596.147437540295,459.696957867442,725.527316156038,1299.209055217,1095.53838527224,626.271526768023,0.00469314819989086,0.00506173088067739,0.007065,0.0208985,0.0060105,0.00402949999999999 -"delta.18",1.00282616625804,0.999971769662763,947.860153722703,1023.23760607047,1077.17739932405,641.888764191894,487.717830067959,1078.46726259807,1497.18404611291,1201.49370767278,421.965090431785,0.00447069886378408,0.00784038874200639,0.007466,0.024036,0.00412000000000001,0.0032065 -"delta.19",1.00187580387435,1.001941742794,735.893087934427,371.764051856208,475.25192234922,178.319541709711,750.537309072572,471.569878282543,1696.8877681804,951.551381547666,536.673613756547,0.0071125986704165,0.0138440988308067,0.00451449999999999,0.011247,0.00719049999999999,0.00651800000000002 -"delta.20",1.00225051797168,0.999717822530123,915.344392247887,1001.50462372747,955.28139954216,760.352893165514,494.374876093356,956.356734742678,1079.60736139358,1042.06407315138,476.08812586776,0.0036538376539592,0.0036982307535789,0.004577,0.018725,0.00770850000000001,0.00630150000000002 -"delta.21",1.00334854286192,1.00257449161737,486.571699178618,1107.14145806569,503.045495460339,906.655544279501,307.419511508529,498.194977586284,1554.67632672808,722.008102896109,430.97692940852,0.00574577160547241,0.00422215239803544,0.0082565,0.024096,0.0126775,0.0101385 -"delta.22",1.00133416957847,1.00108924163034,610.268446055575,549.42853808316,591.91289033177,691.360100340346,476.866844366228,582.663245138487,1296.27868963479,862.34812726394,400.797188229444,0.00514852849282923,0.00434132985764044,0.00678100000000001,0.0247445,0.010288,0.00797699999999998 -"delta_new",1.00208610605722,1.00004179219059,917.51606421515,591.868599290854,715.969590769736,391.495722708247,690.543958491751,696.850690503065,411.457471234125,461.972146449706,317.003585824348,0.00625781442705714,0.0146806979189298,0.00437649999999998,0.075263,0.0152875,0.0082045 -"sigma_delta",1.01090190553445,0.999554581904689,73.2498471698009,48.5806371372426,95.5938079021702,419.161051351765,132.049677080929,99.783539352302,33.1982442776445,63.6980562732759,98.6290985074029,0.00508027514881167,0.00239560824916483,0.0054414,0.0041236,0.00481375,0.0043662 diff --git a/arviz/tests/test.rcparams b/arviz/tests/test.rcparams deleted file mode 100644 index 54c0b89844..0000000000 --- a/arviz/tests/test.rcparams +++ /dev/null @@ -1,6 +0,0 @@ -data.http_protocol : http -data.load : eager -plot.max_subplots : 30 -plot.point_estimate : median -plot.backend : bokeh -plot.max_subplots : 20 diff --git a/arviz/utils.py b/arviz/utils.py deleted file mode 100644 index 9182fe25fc..0000000000 --- a/arviz/utils.py +++ /dev/null @@ -1,773 +0,0 @@ -# pylint: disable=too-many-nested-blocks -"""General utilities.""" -import functools -import importlib -import importlib.resources -import re -import warnings -from functools import lru_cache - -import matplotlib.pyplot as plt -import numpy as np -from numpy import newaxis - -from .rcparams import rcParams - - -STATIC_FILES = ("static/html/icons-svg-inline.html", "static/css/style.css") - - -class BehaviourChangeWarning(Warning): - """Custom warning to ease filtering it.""" - - -def _check_tilde_start(x): - return bool(isinstance(x, str) and x.startswith("~")) - - -def _var_names(var_names, data, filter_vars=None, errors="raise"): - """Handle var_names input across arviz. - - Parameters - ---------- - var_names: str, list, or None - data : xarray.Dataset - Posterior data in an xarray - filter_vars: {None, "like", "regex"}, optional, default=None - If `None` (default), interpret var_names as the real variables names. If "like", - interpret var_names as substrings of the real variables names. If "regex", - interpret var_names as regular expressions on the real variables names. A la - `pandas.filter`. - errors: {"raise", "ignore"}, optional, default="raise" - Select either to raise or ignore the invalid names. - - Returns - ------- - var_name: list or None - """ - if filter_vars not in {None, "like", "regex"}: - raise ValueError( - f"'filter_vars' can only be None, 'like', or 'regex', got: '{filter_vars}'" - ) - - if errors not in {"raise", "ignore"}: - raise ValueError(f"'errors' can only be 'raise', or 'ignore', got: '{errors}'") - - if var_names is not None: - if isinstance(data, (list, tuple)): - all_vars = [] - for dataset in data: - dataset_vars = list(dataset.data_vars) - for var in dataset_vars: - if var not in all_vars: - all_vars.append(var) - else: - all_vars = list(data.data_vars) - - all_vars_tilde = [var for var in all_vars if _check_tilde_start(var)] - if all_vars_tilde: - warnings.warn( - """ArviZ treats '~' as a negation character for variable selection. - Your model has variables names starting with '~', {0}. Please double check - your results to ensure all variables are included""".format( - ", ".join(all_vars_tilde) - ) - ) - - try: - var_names = _subset_list( - var_names, all_vars, filter_items=filter_vars, warn=False, errors=errors - ) - except KeyError as err: - msg = " ".join(("var names:", f"{err}", "in dataset")) - raise KeyError(msg) from err - return var_names - - -def _subset_list(subset, whole_list, filter_items=None, warn=True, errors="raise"): - """Handle list subsetting (var_names, groups...) across arviz. - - Parameters - ---------- - subset : str, list, or None - whole_list : list - List from which to select a subset according to subset elements and - filter_items value. - filter_items : {None, "like", "regex"}, optional - If `None` (default), interpret `subset` as the exact elements in `whole_list` - names. If "like", interpret `subset` as substrings of the elements in - `whole_list`. If "regex", interpret `subset` as regular expressions to match - elements in `whole_list`. A la `pandas.filter`. - errors: {"raise", "ignore"}, optional, default="raise" - Select either to raise or ignore the invalid names. - - Returns - ------- - list or None - A subset of ``whole_list`` fulfilling the requests imposed by ``subset`` - and ``filter_items``. - """ - if subset is not None: - if isinstance(subset, str): - subset = [subset] - - whole_list_tilde = [item for item in whole_list if _check_tilde_start(item)] - if whole_list_tilde and warn: - warnings.warn( - "ArviZ treats '~' as a negation character for selection. There are " - "elements in `whole_list` starting with '~', {0}. Please double check" - "your results to ensure all elements are included".format( - ", ".join(whole_list_tilde) - ) - ) - - excluded_items = [ - item[1:] for item in subset if _check_tilde_start(item) and item not in whole_list - ] - filter_items = str(filter_items).lower() - if excluded_items: - not_found = [] - - if filter_items in {"like", "regex"}: - for pattern in excluded_items[:]: - excluded_items.remove(pattern) - if filter_items == "like": - real_items = [real_item for real_item in whole_list if pattern in real_item] - else: - # i.e filter_items == "regex" - real_items = [ - real_item for real_item in whole_list if re.search(pattern, real_item) - ] - if not real_items: - not_found.append(pattern) - excluded_items.extend(real_items) - not_found.extend([item for item in excluded_items if item not in whole_list]) - if not_found: - warnings.warn( - f"Items starting with ~: {not_found} have not been found and will be ignored" - ) - subset = [item for item in whole_list if item not in excluded_items] - - elif filter_items == "like": - subset = [item for item in whole_list for name in subset if name in item] - elif filter_items == "regex": - subset = [item for item in whole_list for name in subset if re.search(name, item)] - - existing_items = np.isin(subset, whole_list) - if not np.all(existing_items) and (errors == "raise"): - raise KeyError(f"{np.array(subset)[~existing_items]} are not present") - - return subset - - -class lazy_property: # pylint: disable=invalid-name - """Used to load numba first time it is needed.""" - - def __init__(self, fget): - """Lazy load a property with `fget`.""" - self.fget = fget - - # copy the getter function's docstring and other attributes - functools.update_wrapper(self, fget) - - def __get__(self, obj, cls): - """Call the function, set the attribute.""" - if obj is None: - return self - - value = self.fget(obj) - setattr(obj, self.fget.__name__, value) - return value - - -class maybe_numba_fn: # pylint: disable=invalid-name - """Wrap a function to (maybe) use a (lazy) jit-compiled version.""" - - def __init__(self, function, **kwargs): - """Wrap a function and save compilation keywords.""" - self.function = function - kwargs.setdefault("nopython", True) - self.kwargs = kwargs - - @lazy_property - def numba_fn(self): - """Memoized compiled function.""" - try: - numba = importlib.import_module("numba") - numba_fn = numba.jit(**self.kwargs)(self.function) - except ImportError: - numba_fn = self.function - return numba_fn - - def __call__(self, *args, **kwargs): - """Call the jitted function or normal, depending on flag.""" - if Numba.numba_flag: - return self.numba_fn(*args, **kwargs) - else: - return self.function(*args, **kwargs) - - -class interactive_backend: # pylint: disable=invalid-name - """Context manager to change backend temporarily in ipython sesson. - - It uses ipython magic to change temporarily from the ipython inline backend to - an interactive backend of choice. It cannot be used outside ipython sessions nor - to change backends different than inline -> interactive. - - Notes - ----- - The first time ``interactive_backend`` context manager is called, any of the available - interactive backends can be chosen. The following times, this same backend must be used - unless the kernel is restarted. - - Parameters - ---------- - backend : str, optional - Interactive backend to use. It will be passed to ``%matplotlib`` magic, refer to - its docs to see available options. - - Examples - -------- - Inside an ipython session (i.e. a jupyter notebook) with the inline backend set: - - .. code:: - - >>> import arviz as az - >>> idata = az.load_arviz_data("centered_eight") - >>> az.plot_posterior(idata) # inline - >>> with az.interactive_backend(): - ... az.plot_density(idata) # interactive - >>> az.plot_trace(idata) # inline - - """ - - # based on matplotlib.rc_context - def __init__(self, backend=""): - """Initialize context manager.""" - try: - from IPython import get_ipython - except ImportError as err: - raise ImportError( - "The exception below was risen while importing Ipython, this " - f"context manager can only be used inside ipython sessions:\n{err}" - ) from err - self.ipython = get_ipython() - if self.ipython is None: - raise EnvironmentError("This context manager can only be used inside ipython sessions") - self.ipython.magic(f"matplotlib {backend}") - - def __enter__(self): - """Enter context manager.""" - return self - - def __exit__(self, exc_type, exc_value, exc_tb): - """Exit context manager.""" - plt.show(block=True) - self.ipython.magic("matplotlib inline") - - -def conditional_jit(_func=None, **kwargs): - """Use numba's jit decorator if numba is installed. - - Notes - ----- - If called without arguments then return wrapped function. - - @conditional_jit - def my_func(): - return - - else called with arguments - - @conditional_jit(nopython=True) - def my_func(): - return - - """ - if _func is None: - return lambda fn: functools.wraps(fn)(maybe_numba_fn(fn, **kwargs)) - lazy_numba = maybe_numba_fn(_func, **kwargs) - return functools.wraps(_func)(lazy_numba) - - -def conditional_vect(function=None, **kwargs): # noqa: D202 - """Use numba's vectorize decorator if numba is installed. - - Notes - ----- - If called without arguments then return wrapped function. - @conditional_vect - def my_func(): - return - else called with arguments - @conditional_vect(nopython=True) - def my_func(): - return - - """ - - def wrapper(function): - try: - numba = importlib.import_module("numba") - return numba.vectorize(**kwargs)(function) - - except ImportError: - return function - - if function: - return wrapper(function) - else: - return wrapper - - -def numba_check(): - """Check if numba is installed.""" - numba = importlib.util.find_spec("numba") - return numba is not None - - -class Numba: - """A class to toggle numba states.""" - - numba_flag = numba_check() - """bool: Indicates whether Numba optimizations are enabled. Defaults to False.""" - - @classmethod - def disable_numba(cls): - """To disable numba.""" - cls.numba_flag = False - - @classmethod - def enable_numba(cls): - """To enable numba.""" - if numba_check(): - cls.numba_flag = True - else: - raise ValueError("Numba is not installed") - - -def _numba_var(numba_function, standard_numpy_func, data, axis=None, ddof=0): - """Replace the numpy methods used to calculate variance. - - Parameters - ---------- - numba_function : function() - Custom numba function included in stats/stats_utils.py. - - standard_numpy_func: function() - Standard function included in the numpy library. - - data : array. - axis : axis along which the variance is calculated. - ddof : degrees of freedom allowed while calculating variance. - - Returns - ------- - array: - variance values calculate by appropriate function for numba speedup - if Numba is installed or enabled. - - """ - if Numba.numba_flag: - return numba_function(data, axis=axis, ddof=ddof) - else: - return standard_numpy_func(data, axis=axis, ddof=ddof) - - -def _stack(x, y): - assert x.shape[1:] == y.shape[1:] - return np.vstack((x, y)) - - -def arange(x): - """Jitting numpy arange.""" - return np.arange(x) - - -def one_de(x): - """Jitting numpy atleast_1d.""" - if not isinstance(x, np.ndarray): - return np.atleast_1d(x) - result = x.reshape(1) if x.ndim == 0 else x - return result - - -def two_de(x): - """Jitting numpy at_least_2d.""" - if not isinstance(x, np.ndarray): - return np.atleast_2d(x) - if x.ndim == 0: - result = x.reshape(1, 1) - elif x.ndim == 1: - result = x[newaxis, :] - else: - result = x - return result - - -def expand_dims(x): - """Jitting numpy expand_dims.""" - if not isinstance(x, np.ndarray): - return np.expand_dims(x, 0) - shape = x.shape - return x.reshape(shape[:0] + (1,) + shape[0:]) - - -@conditional_jit(cache=True, nopython=True) -def _dot(x, y): - return np.dot(x, y) - - -@conditional_jit(cache=True, nopython=True) -def _cov_1d(x): - x = x - x.mean() - ddof = x.shape[0] - 1 - return np.dot(x.T, x.conj()) / ddof - - -# @conditional_jit(cache=True) -def _cov(data): - if data.ndim == 1: - return _cov_1d(data) - elif data.ndim == 2: - x = data.astype(float) - avg, _ = np.average(x, axis=1, weights=None, returned=True) - ddof = x.shape[1] - 1 - if ddof <= 0: - warnings.warn("Degrees of freedom <= 0 for slice", RuntimeWarning, stacklevel=2) - ddof = 0.0 - x -= avg[:, None] - prod = _dot(x, x.T.conj()) - prod *= np.true_divide(1, ddof) - prod = prod.squeeze() - prod += 1e-6 * np.eye(prod.shape[0]) - return prod - else: - raise ValueError(f"{data.ndim} dimension arrays are not supported") - - -def flatten_inference_data_to_dict( - data, - var_names=None, - groups=None, - dimensions=None, - group_info=False, - var_name_format=None, - index_origin=None, -): - """Transform data to dictionary. - - Parameters - ---------- - data : obj - Any object that can be converted to an az.InferenceData object - Refer to documentation of az.convert_to_inference_data for details - var_names : str or list of str, optional - Variables to be processed, if None all variables are processed. - groups : str or list of str, optional - Select groups for CDS. Default groups are - {"posterior_groups", "prior_groups", "posterior_groups_warmup"} - - posterior_groups: posterior, posterior_predictive, sample_stats - - prior_groups: prior, prior_predictive, sample_stats_prior - - posterior_groups_warmup: warmup_posterior, warmup_posterior_predictive, - warmup_sample_stats - ignore_groups : str or list of str, optional - Ignore specific groups from CDS. - dimension : str, or list of str, optional - Select dimensions along to slice the data. By default uses ("chain", "draw"). - group_info : bool - Add group info for `var_name_format` - var_name_format : str or tuple of tuple of string, optional - Select column name format for non-scalar input. - Predefined options are {"brackets", "underscore", "cds"} - "brackets": - - add_group_info == False: theta[0,0] - - add_group_info == True: theta_posterior[0,0] - "underscore": - - add_group_info == False: theta_0_0 - - add_group_info == True: theta_posterior_0_0_ - "cds": - - add_group_info == False: theta_ARVIZ_CDS_SELECTION_0_0 - - add_group_info == True: theta_ARVIZ_GROUP_posterior__ARVIZ_CDS_SELECTION_0_0 - tuple: - Structure: - tuple: (dim_info, group_info) - dim_info: (str: `.join` separator, - str: dim_separator_start, - str: dim_separator_end) - group_info: (str: group separator start, str: group separator end) - Example: ((",", "[", "]"), ("_", "")) - - add_group_info == False: theta[0,0] - - add_group_info == True: theta_posterior[0,0] - index_origin : int, optional - Start parameter indices from `index_origin`. Either 0 or 1. - - Returns - ------- - dict - """ - from .data import convert_to_inference_data - - data = convert_to_inference_data(data) - - if groups is None: - groups = ["posterior", "posterior_predictive", "sample_stats"] - elif isinstance(groups, str): - if groups.lower() == "posterior_groups": - groups = ["posterior", "posterior_predictive", "sample_stats"] - elif groups.lower() == "prior_groups": - groups = ["prior", "prior_predictive", "sample_stats_prior"] - elif groups.lower() == "posterior_groups_warmup": - groups = ["warmup_posterior", "warmup_posterior_predictive", "warmup_sample_stats"] - else: - raise TypeError( - ( - "Valid predefined groups are " - "{posterior_groups, prior_groups, posterior_groups_warmup}" - ) - ) - - if dimensions is None: - dimensions = "chain", "draw" - elif isinstance(dimensions, str): - dimensions = (dimensions,) - - if var_name_format is None: - var_name_format = "brackets" - - if isinstance(var_name_format, str): - var_name_format = var_name_format.lower() - - if var_name_format == "brackets": - dim_join_separator, dim_separator_start, dim_separator_end = ",", "[", "]" - group_separator_start, group_separator_end = "_", "" - elif var_name_format == "underscore": - dim_join_separator, dim_separator_start, dim_separator_end = "_", "_", "" - group_separator_start, group_separator_end = "_", "" - elif var_name_format == "cds": - dim_join_separator, dim_separator_start, dim_separator_end = ( - "_", - "_ARVIZ_CDS_SELECTION_", - "", - ) - group_separator_start, group_separator_end = "_ARVIZ_GROUP_", "" - elif isinstance(var_name_format, str): - msg = 'Invalid predefined format. Select one {"brackets", "underscore", "cds"}' - raise TypeError(msg) - else: - ( - (dim_join_separator, dim_separator_start, dim_separator_end), - (group_separator_start, group_separator_end), - ) = var_name_format - - if index_origin is None: - index_origin = rcParams["data.index_origin"] - - data_dict = {} - for group in groups: - if hasattr(data, group): - group_data = getattr(data, group).stack(stack_dimension=dimensions) - for var_name, var in group_data.data_vars.items(): - var_values = var.values - if var_names is not None and var_name not in var_names: - continue - for dim_name in dimensions: - if dim_name not in data_dict: - data_dict[dim_name] = var.coords.get(dim_name).values - if len(var.shape) == 1: - if group_info: - var_name_dim = ( - "{var_name}" "{group_separator_start}{group}{group_separator_end}" - ).format( - var_name=var_name, - group_separator_start=group_separator_start, - group=group, - group_separator_end=group_separator_end, - ) - else: - var_name_dim = f"{var_name}" - data_dict[var_name_dim] = var.values - else: - for loc in np.ndindex(var.shape[:-1]): - if group_info: - var_name_dim = ( - "{var_name}" - "{group_separator_start}{group}{group_separator_end}" - "{dim_separator_start}{dim_join}{dim_separator_end}" - ).format( - var_name=var_name, - group_separator_start=group_separator_start, - group=group, - group_separator_end=group_separator_end, - dim_separator_start=dim_separator_start, - dim_join=dim_join_separator.join( - (str(item + index_origin) for item in loc) - ), - dim_separator_end=dim_separator_end, - ) - else: - var_name_dim = ( - "{var_name}" "{dim_separator_start}{dim_join}{dim_separator_end}" - ).format( - var_name=var_name, - dim_separator_start=dim_separator_start, - dim_join=dim_join_separator.join( - (str(item + index_origin) for item in loc) - ), - dim_separator_end=dim_separator_end, - ) - - data_dict[var_name_dim] = var_values[loc] - return data_dict - - -def get_coords(data, coords): - """Subselects xarray DataSet or DataArray object to provided coords. Raises exception if fails. - - Raises - ------ - ValueError - If coords name are not available in data - - KeyError - If coords dims are not available in data - - Returns - ------- - data: xarray - xarray.DataSet or xarray.DataArray object, same type as input - """ - if not isinstance(data, (list, tuple)): - try: - return data.sel(**coords) - - except ValueError as err: - invalid_coords = set(coords.keys()) - set(data.coords.keys()) - raise ValueError(f"Coords {invalid_coords} are invalid coordinate keys") from err - - except KeyError as err: - raise KeyError( - ( - "Coords should follow mapping format {{coord_name:[dim1, dim2]}}. " - "Check that coords structure is correct and" - " dimensions are valid. {}" - ).format(err) - ) from err - if not isinstance(coords, (list, tuple)): - coords = [coords] * len(data) - data_subset = [] - for idx, (datum, coords_dict) in enumerate(zip(data, coords)): - try: - data_subset.append(get_coords(datum, coords_dict)) - except ValueError as err: - raise ValueError(f"Error in data[{idx}]: {err}") from err - except KeyError as err: - raise KeyError(f"Error in data[{idx}]: {err}") from err - return data_subset - - -@lru_cache(None) -def _load_static_files(): - """Lazily load the resource files into memory the first time they are needed. - - Clone from xarray.core.formatted_html_template. - """ - return [ - importlib.resources.files("arviz").joinpath(fname).read_text(encoding="utf-8") - for fname in STATIC_FILES - ] - - -class HtmlTemplate: - """Contain html templates for InferenceData repr.""" - - html_template = """ -
-
-
arviz.InferenceData
-
-
    - {} -
-
- """ - element_template = """ -
  • - - -
    -
    -
      -
      {xr_data}
      -
    -
    -
  • - """ - _, css_style = _load_static_files() # pylint: disable=protected-access - specific_style = ".xr-wrap{width:700px!important;}" - css_template = f"" - - -def either_dict_or_kwargs( - pos_kwargs, - kw_kwargs, - func_name, -): - """Clone from xarray.core.utils.""" - if pos_kwargs is None: - return kw_kwargs - if not hasattr(pos_kwargs, "keys") and hasattr(pos_kwargs, "__getitem__"): - raise ValueError(f"the first argument to .{func_name} must be a dictionary") - if kw_kwargs: - raise ValueError(f"cannot specify both keyword and positional arguments to .{func_name}") - return pos_kwargs - - -class Dask: - """Class to toggle Dask states. - - Warnings - -------- - Dask integration is an experimental feature still in progress. It can already be used - but it doesn't work with all stats nor diagnostics yet. - """ - - dask_flag = False - """bool: Enables Dask parallelization when set to True. Defaults to False.""" - dask_kwargs = None - """dict: Additional keyword arguments for Dask configuration. - Defaults to an empty dictionary.""" - - @classmethod - def enable_dask(cls, dask_kwargs=None): - """To enable Dask. - - Parameters - ---------- - dask_kwargs : dict - Dask related kwargs passed to :func:`~arviz.wrap_xarray_ufunc`. - """ - cls.dask_flag = True - cls.dask_kwargs = dask_kwargs - - @classmethod - def disable_dask(cls): - """To disable Dask.""" - cls.dask_flag = False - cls.dask_kwargs = None - - -def conditional_dask(func): - """Conditionally pass dask kwargs to `wrap_xarray_ufunc`.""" - - @functools.wraps(func) - def wrapper(*args, **kwargs): - if not Dask.dask_flag: - return func(*args, **kwargs) - user_kwargs = kwargs.pop("dask_kwargs", None) - if user_kwargs is None: - user_kwargs = {} - default_kwargs = Dask.dask_kwargs - return func(dask_kwargs={**default_kwargs, **user_kwargs}, *args, **kwargs) - - return wrapper diff --git a/arviz/wrappers/__init__.py b/arviz/wrappers/__init__.py deleted file mode 100644 index d6de945430..0000000000 --- a/arviz/wrappers/__init__.py +++ /dev/null @@ -1,13 +0,0 @@ -"""Sampling wrappers.""" - -from .base import SamplingWrapper -from .wrap_stan import PyStan2SamplingWrapper, PyStanSamplingWrapper, CmdStanPySamplingWrapper -from .wrap_pymc import PyMCSamplingWrapper - -__all__ = [ - "CmdStanPySamplingWrapper", - "PyMCSamplingWrapper", - "PyStan2SamplingWrapper", - "PyStanSamplingWrapper", - "SamplingWrapper", -] diff --git a/arviz/wrappers/base.py b/arviz/wrappers/base.py deleted file mode 100644 index ee9963d7ae..0000000000 --- a/arviz/wrappers/base.py +++ /dev/null @@ -1,236 +0,0 @@ -# pylint: disable=too-many-instance-attributes,too-many-arguments -"""Base class for sampling wrappers.""" -from xarray import apply_ufunc - -# from ..data import InferenceData -from ..stats import wrap_xarray_ufunc as _wrap_xarray_ufunc - - -class SamplingWrapper: - """Class wrapping sampling routines for its usage via ArviZ. - - Using a common class, all inference backends can be supported in ArviZ. Hence, statistical - functions requiring refitting like Leave Future Out or Simulation Based Calibration can be - performed from ArviZ. - - For usage examples see user guide pages on :ref:`wrapper_guide`.See other - SamplingWrapper classes at :ref:`wrappers api section `. - - Parameters - ---------- - model - The model object used for sampling. - idata_orig : InferenceData, optional - Original InferenceData object. - log_lik_fun : callable, optional - For simple cases where the pointwise log likelihood is a Python function, this - function will be used to calculate the log likelihood. Otherwise, - ``point_log_likelihood`` method must be implemented. It's callback must be - ``log_lik_fun(*args, **log_lik_kwargs)`` and will be called using - :func:`wrap_xarray_ufunc` or :func:`xarray:xarray.apply_ufunc` depending - on the value of `is_ufunc`. - - For more details on ``args`` or ``log_lik_kwargs`` see the notes and - parameters ``posterior_vars`` and ``log_lik_kwargs``. - is_ufunc : bool, default True - If True, call ``log_lik_fun`` using :func:`xarray:xarray.apply_ufunc` otherwise - use :func:`wrap_xarray_ufunc`. - posterior_vars : list of str, optional - List of variable names to unpack as ``args`` for ``log_lik_fun``. Each string in - the list will be used to retrieve a DataArray from the Dataset in the posterior - group and passed to ``log_lik_fun``. - sample_kwargs : dict, optional - Sampling kwargs are stored as class attributes for their usage in the ``sample`` - method. - idata_kwargs : dict, optional - kwargs are stored as class attributes to be used in the ``get_inference_data`` method. - log_lik_kwargs : dict, optional - Keyword arguments passed to ``log_lik_fun``. - apply_ufunc_kwargs : dict, optional - Passed to :func:`xarray:xarray.apply_ufunc` or :func:`wrap_xarray_ufunc`. - - - Warnings - -------- - Sampling wrappers are an experimental feature in a very early stage. Please use them - with caution. - - Notes - ----- - Example of ``log_like_fun`` usage. - """ - - def __init__( - self, - model, - idata_orig=None, - log_lik_fun=None, - is_ufunc=True, - posterior_vars=None, - sample_kwargs=None, - idata_kwargs=None, - log_lik_kwargs=None, - apply_ufunc_kwargs=None, - ): - self.model = model - - # if not isinstance(idata_orig, InferenceData) or idata_orig is not None: - # raise TypeError("idata_orig must be of InferenceData type or None") - self.idata_orig = idata_orig - - if log_lik_fun is None or callable(log_lik_fun): - self.log_lik_fun = log_lik_fun - self.is_ufunc = is_ufunc - self.posterior_vars = posterior_vars - else: - raise TypeError("log_like_fun must be a callable object or None") - - self.sample_kwargs = {} if sample_kwargs is None else sample_kwargs - self.idata_kwargs = {} if idata_kwargs is None else idata_kwargs - self.log_lik_kwargs = {} if log_lik_kwargs is None else log_lik_kwargs - self.apply_ufunc_kwargs = {} if apply_ufunc_kwargs is None else apply_ufunc_kwargs - - def sel_observations(self, idx): - """Select a subset of the observations in idata_orig. - - **Not implemented**: This method must be implemented by the SamplingWrapper subclasses. - It is documented here to show its format and call signature. - - Parameters - ---------- - idx - Indexes to separate from the rest of the observed data. - - Returns - ------- - modified_observed_data - Observed data whose index is *not* ``idx`` - excluded_observed_data - Observed data whose index is ``idx`` - """ - raise NotImplementedError("sel_observations method must be implemented for each subclass") - - def sample(self, modified_observed_data): - """Sample ``self.model`` on the ``modified_observed_data`` subset. - - **Not implemented**: This method must be implemented by the SamplingWrapper subclasses. - It is documented here to show its format and call signature. - - Parameters - ---------- - modified_observed_data - Data to fit the model on. - - Returns - ------- - fitted_model - Result of the fit. - """ - raise NotImplementedError("sample method must be implemented for each subclass") - - def get_inference_data(self, fitted_model): - """Convert the ``fitted_model`` to an InferenceData object. - - **Not implemented**: This method must be implemented by the SamplingWrapper subclasses. - It is documented here to show its format and call signature. - - Parameters - ---------- - fitted_model - Result of the current fit. - - Returns - ------- - idata_current: InferenceData - InferenceData object containing the samples in ``fitted_model`` - """ - raise NotImplementedError("get_inference_data method must be implemented for each subclass") - - def log_likelihood__i(self, excluded_obs, idata__i): - r"""Get the log likelilhood samples :math:`\log p_{post(-i)}(y_i)`. - - Calculate the log likelihood of the data contained in excluded_obs using the - model fitted with this data excluded, the results of which are stored in ``idata__i``. - - Parameters - ---------- - excluded_obs - Observations for which to calculate their log likelihood. The second item from - the tuple returned by `sel_observations` is passed as this argument. - idata__i: InferenceData - Inference results of refitting the data excluding some observations. The - result of `get_inference_data` is used as this argument. - - Returns - ------- - log_likelihood: xr.Dataarray - Log likelihood of ``excluded_obs`` evaluated at each of the posterior samples - stored in ``idata__i``. - """ - if self.log_lik_fun is None: - raise NotImplementedError( - "When `log_like_fun` is not set during class initialization " - "log_likelihood__i method must be overwritten" - ) - posterior = idata__i.posterior - arys = (*excluded_obs, *[posterior[var_name] for var_name in self.posterior_vars]) - ufunc_applier = apply_ufunc if self.is_ufunc else _wrap_xarray_ufunc - log_lik_idx = ufunc_applier( - self.log_lik_fun, - *arys, - kwargs=self.log_lik_kwargs, - **self.apply_ufunc_kwargs, - ) - return log_lik_idx - - def _check_method_is_implemented(self, method, *args): - """Check a given method is implemented.""" - try: - getattr(self, method)(*args) - except NotImplementedError: - return False - except: # pylint: disable=bare-except - return True - return True - - def check_implemented_methods(self, methods): - """Check that all methods listed are implemented. - - Not all functions that require refitting need to have all the methods implemented in - order to work properly. This function should be used before using the SamplingWrapper and - its subclasses to get informative error messages. - - Parameters - ---------- - methods: list - Check all elements in methods are implemented. - - Returns - ------- - List with all non implemented methods - """ - supported_methods_1arg = ( - "sel_observations", - "sample", - "get_inference_data", - ) - supported_methods_2args = ("log_likelihood__i",) - supported_methods = [*supported_methods_1arg, *supported_methods_2args] - bad_methods = [method for method in methods if method not in supported_methods] - if bad_methods: - raise ValueError( - f"Not all method(s) in {bad_methods} supported. " - f"Supported methods in SamplingWrapper subclasses are:{supported_methods}" - ) - - not_implemented = [] - for method in methods: - if method in supported_methods_1arg: - if self._check_method_is_implemented(method, 1): - continue - not_implemented.append(method) - elif method in supported_methods_2args: - if self._check_method_is_implemented(method, 1, 1): - continue - not_implemented.append(method) - return not_implemented diff --git a/arviz/wrappers/wrap_pymc.py b/arviz/wrappers/wrap_pymc.py deleted file mode 100644 index 28f40de4ec..0000000000 --- a/arviz/wrappers/wrap_pymc.py +++ /dev/null @@ -1,36 +0,0 @@ -# pylint: disable=arguments-differ -"""Base class for PyMC interface wrappers.""" -from .base import SamplingWrapper - - -# pylint: disable=abstract-method -class PyMCSamplingWrapper(SamplingWrapper): - """PyMC (4.0+) sampling wrapper base class. - - See the documentation on :class:`~arviz.SamplingWrapper` for a more detailed - description. An example of ``PyMCSamplingWrapper`` usage can be found - in the :ref:`pymc_refitting` notebook. - - Warnings - -------- - Sampling wrappers are an experimental feature in a very early stage. Please use them - with caution. - """ - - def sample(self, modified_observed_data): - """Update data and sample model on modified_observed_data.""" - import pymc # pylint: disable=import-error - - with self.model: - pymc.set_data(modified_observed_data) - idata = pymc.sample( - **self.sample_kwargs, - ) - return idata - - def get_inference_data(self, fitted_model): - """Return sampling result without modifying. - - PyMC sampling already returns and InferenceData object. - """ - return fitted_model diff --git a/arviz/wrappers/wrap_stan.py b/arviz/wrappers/wrap_stan.py deleted file mode 100644 index 08f6961a6f..0000000000 --- a/arviz/wrappers/wrap_stan.py +++ /dev/null @@ -1,148 +0,0 @@ -# pylint: disable=arguments-differ -"""Base class for Stan interface wrappers.""" -from typing import Union - -from ..data import from_cmdstanpy, from_pystan -from .base import SamplingWrapper - - -# pylint: disable=abstract-method -class StanSamplingWrapper(SamplingWrapper): - """Stan sampling wrapper base class. - - See the documentation on :class:`~arviz.SamplingWrapper` for a more detailed - description. An example of ``PyStanSamplingWrapper`` usage can be found - in the :ref:`pystan_refitting` notebook. For usage examples of other wrappers - see the user guide pages on :ref:`wrapper_guide`. - - Warnings - -------- - Sampling wrappers are an experimental feature in a very early stage. Please use them - with caution. - - See Also - -------- - SamplingWrapper - """ - - def sel_observations(self, idx): - """Select a subset of the observations in idata_orig. - - **Not implemented**: This method must be implemented on a model basis. - It is documented here to show its format and call signature. - - Parameters - ---------- - idx - Indexes to separate from the rest of the observed data. - - Returns - ------- - modified_observed_data : dict - Dictionary containing both excluded and included data but properly divided - in the different keys. Passed to ``data`` argument of ``model.sampling``. - excluded_observed_data : str - Variable name containing the pointwise log likelihood data of the excluded - data. As PyStan cannot call C++ functions and log_likelihood__i is already - calculated *during* the simulation, instead of the value on which to evaluate - the likelihood, ``log_likelihood__i`` expects a string so it can extract the - corresponding data from the InferenceData object. - """ - raise NotImplementedError("sel_observations must be implemented on a model basis") - - def get_inference_data(self, fitted_model): # pylint: disable=arguments-renamed - """Convert the fit object returned by ``self.sample`` to InferenceData.""" - if fitted_model.__class__.__name__ == "CmdStanMCMC": - idata = from_cmdstanpy(posterior=fitted_model, **self.idata_kwargs) - else: - idata = from_pystan(posterior=fitted_model, **self.idata_kwargs) - return idata - - def log_likelihood__i(self, excluded_obs, idata__i): - """Retrieve the log likelihood of the excluded observations from ``idata__i``.""" - return idata__i.log_likelihood[excluded_obs] - - -class PyStan2SamplingWrapper(StanSamplingWrapper): - """PyStan (2.x) sampling wrapper base class. - - See the documentation on :class:`~arviz.SamplingWrapper` for a more detailed - description. An example of ``PyStanSamplingWrapper`` usage can be found - in the :ref:`pystan_refitting` notebook. For usage examples of other wrappers - see the user guide pages on :ref:`wrapper_guide`. - - Warnings - -------- - Sampling wrappers are an experimental feature in a very early stage. Please use them - with caution. - - See Also - -------- - SamplingWrapper - """ - - def sample(self, modified_observed_data): - """Resample the PyStan model stored in self.model on modified_observed_data.""" - fit = self.model.sampling(data=modified_observed_data, **self.sample_kwargs) - return fit - - -class PyStanSamplingWrapper(StanSamplingWrapper): - """PyStan (3.0+) sampling wrapper base class. - - See the documentation on :class:`~arviz.SamplingWrapper` for a more detailed - description. An example of ``PyStanSamplingWrapper`` usage can be found - in the :ref:`pystan_refitting` notebook. - - Warnings - -------- - Sampling wrappers are an experimental feature in a very early stage. Please use them - with caution. - """ - - def sample(self, modified_observed_data): - """Rebuild and resample the PyStan model on modified_observed_data.""" - import stan # pylint: disable=import-error,import-outside-toplevel - - self.model: Union[str, stan.Model] - if isinstance(self.model, str): - program_code = self.model - else: - program_code = self.model.program_code - self.model = stan.build(program_code, data=modified_observed_data) - fit = self.model.sample(**self.sample_kwargs) - return fit - - -class CmdStanPySamplingWrapper(StanSamplingWrapper): - """CmdStanPy sampling wrapper base class. - - See the documentation on :class:`~arviz.SamplingWrapper` for a more detailed - description. An example of ``CmdStanPySamplingWrapper`` usage can be found - in the :ref:`cmdstanpy_refitting` notebook. - - Warnings - -------- - Sampling wrappers are an experimental feature in a very early stage. Please use them - with caution. - """ - - def __init__(self, data_file, **kwargs): - """Initialize the CmdStanPySamplingWrapper. - - Parameters - ---------- - data_file : str - Filename on which to store the data for every refit. - It's contents will be overwritten. - """ - super().__init__(**kwargs) - self.data_file = data_file - - def sample(self, modified_observed_data): - """Resample cmdstanpy model on modified_observed_data.""" - from cmdstanpy import write_stan_json - - write_stan_json(self.data_file, modified_observed_data) - fit = self.model.sample(**{**self.sample_kwargs, "data": self.data_file}) - return fit diff --git a/arvizrc.template b/arvizrc.template deleted file mode 100644 index 47ff2e5ab6..0000000000 --- a/arvizrc.template +++ /dev/null @@ -1,55 +0,0 @@ -#### ArviZ rcParams template #### -### DATA ### -# rcParams related with data loading related functions -data.http_protocol : https # protocol for remote dataset load, - # must be either http or https -data.index_origin : 0 # index origin, must be either 0 or 1 -data.load : lazy # Sets the default data loading mode. - # "lazy" stands for xarray lazy loading, - # "eager" loads all datasets into memory -data.log_likelihood : true # save pointwise log likelihood values, one of "true", "false" -data.metagroups : { - posterior_groups: posterior, posterior_predictive, sample_stats, log_likelihood - prior_groups: prior, prior_predictive, sample_stats_prior - posterior_groups_warmup: _warmup_posterior, _warmup_posterior_predictive, _warmup_sample_stats - latent_vars: posterior, prior - observed_vars: posterior_predictive, observed_data, prior_predictive -} -data.save_warmup : false # save warmup iterations, one of "true", "false" - -### PLOT ### -# rcParams related with plotting functions -plot.backend : matplotlib # One of "bokeh", "matplotlib" -plot.density_kind : kde # One of "kde", "hist" -plot.max_subplots : 40 # Maximum number of subplots. -plot.point_estimate : mean # One of "mean", "median", "mode" or "None" - -# bokeh specific rcParams -plot.bokeh.bounds_x_range : auto # either "auto", "None" or tuple of size 2 -plot.bokeh.bounds_y_range : auto # either "auto", "None" or tuple of size 2 -plot.bokeh.figure.dpi : 60 # dots (pixels) per inch -plot.bokeh.figure.height : 500 # num of pixels -plot.bokeh.figure.width : 500 # num of pixels -plot.bokeh.layout.order : default # Select subplot structure for bokeh. One of "default", "column", "row", "square", "square_trimmed" - # or "Ncolumn" ("Nrow") where N is an integer number of columns (rows), e.g. "4row" means 4 rows -plot.bokeh.layout.sizing_mode: fixed # Responsive layout. One of "fixed", - # "stretch_width", "stretch_height", "stretch_both", - # "scale_width", "scale_height", "scale_both" -plot.bokeh.layout.toolbar_location : above # Location for toolbar on layouts. "None" will hide the toolbar. - # One of "above", "below", "left", "right". -plot.bokeh.marker : cross # specify the marker type used to plot -plot.bokeh.output_backend : webgl # one of "canvas", "svg", "webgl" -plot.bokeh.show : true # call bokeh.plotting.show for figure or grid of figures. One of "true", "false" -plot.bokeh.tools : reset,pan,box_zoom,wheel_zoom,lasso_select,undo,save,hover - # pan,box_zoom,wheel_zoom,box_select,lasso_select,undo,redo,reset,save,hover - -# matplotlib specific rcParams -plot.matplotlib.show : false # call plt.show. One of "true", "false" - -### STATS ### -# rcParams related with statistical and diagnostic functions -stats.ci_prob : 0.94 # Friendly reminder of the arbitrary nature of commonly used values like 95% -stats.information_criterion : loo # One of "loo", "waic" -stats.ic_compare_method : stacking # One of "stacking", "bb-pseudo-bma", "pseudo-bma" -stats.ic_pointwise : true # One of "true", "false" -stats.ic_scale : log # One of "deviance", "log", "negative_log" diff --git a/asv_benchmarks/asv.conf.json b/asv_benchmarks/asv.conf.json deleted file mode 100644 index 4d9ea11d71..0000000000 --- a/asv_benchmarks/asv.conf.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - // The version of the config file format. Do not change, unless - // you know what you are doing. - "version": 1, - - // The name of the project being benchmarked - "project": "arviz", - - // The project's homepage - "project_url": "https://python.arviz.org/", - - // The URL or local path of the source code repository for the - // project being benchmarked - "repo": "..", - - // The Python project's subdirectory in your repo. If missing or - // the empty string, the project is assumed to be located at the root - // of the repository. - // "repo_subdir": "", - - - - // List of branches to benchmark. - // (for git) or "default" (for mercurial). - "branches": ["main"], - - // The DVCS being used. If not set, it will be automatically - // determined from "repo" by looking at the protocol in the URL - // (if remote), or by looking for special directories, such as - // ".git" (if local). - "dvcs": "git", - - // The tool to use to create environments. May be "conda", - // "virtualenv" or other value depending on the plugins in use. - // If missing or the empty string, the tool will be automatically - // determined by looking for tools on the PATH environment - // variable. - "environment_type": "virtualenv", - - // The command to run to build the project. - // copied from https://github.com/sympy/sympy/issues/26239 to fix the libmamba issue - "build_command": [ - "python -m pip install build", - "python -m build --wheel -o {build_cache_dir} {build_dir}" - ], - - // timeout in seconds for installing any dependencies in environment - // defaults to 10 min - //"install_timeout": 600, - - // the base URL to show a commit for the project. - "show_commit_url": "https://github.com/arviz-devs/arviz/commit/", - - // The Pythons you'd like to test against. If not provided, defaults - // to the current version of Python used to run `asv`. - // "pythons": ["3.10"], - - // The list of conda channel names to be searched for benchmark - // dependency packages in the specified order - // "conda_channels": ["conda-forge", "defaults",], - - // The matrix of dependencies to test. Each key is the name of a - // package (in PyPI) and the values are version numbers. An empty - // list or empty string indicates to just test against the default - // (latest) version. null indicates that the package is to not be - // installed. If the package to be tested is only available from - // PyPi, and the 'environment_type' is conda, then you can preface - // the package name by 'pip+', and the package will be installed via - // pip (with all the conda available packages installed first, - // followed by the pip installed packages). - // - "matrix": { - "numba": [], - }, - - // Combinations of libraries/python versions can be excluded/included - // from the set to test. Each entry is a dictionary containing additional - // key-value pairs to include/exclude. - // - // An exclude entry excludes entries where all values match. The - // values are regexps that should match the whole string. - // - // An include entry adds an environment. Only the packages listed - // are installed. The 'python' key is required. The exclude rules - // do not apply to includes. - // - // In addition to package names, the following keys are available: - // - // - python - // Python version, as in the *pythons* variable above. - // - environment_type - // Environment type, as above. - // - sys_platform - // Platform, as in sys.platform. Possible values for the common - // cases: 'linux2', 'win32', 'cygwin', 'darwin'. - // - // "exclude": [ - // {"python": "3.2", "sys_platform": "win32"}, // skip py3.2 on windows - // {"environment_type": "conda", "six": null}, // don't run without six on conda - // ], - // - // "include": [ - // // additional env for python2.7 - // {"python": "2.7", "numpy": "1.8"}, - // // additional env if run on windows+conda - // {"platform": "win32", "environment_type": "conda", "python": "2.7", "libpython": ""}, - // ], - - // The directory (relative to the current directory) that benchmarks are - // stored in. If not provided, defaults to "benchmarks" - // "benchmark_dir": "benchmarks", - - // The directory (relative to the current directory) to cache the Python - // environments in. If not provided, defaults to "env" - "env_dir": ".asv/env", - - // The directory (relative to the current directory) that raw benchmark - // results are stored in. If not provided, defaults to "results". - "results_dir": ".asv/results", - - // The directory (relative to the current directory) that the html tree - // should be written to. If not provided, defaults to "html". - "html_dir": ".asv/html", - - // The number of characters to retain in the commit hashes. - "hash_length": 8, - - // `asv` will cache results of the recent builds in each - // environment, making them faster to install next time. This is - // the number of builds to keep, per environment. - "build_cache_size": 2, - -} diff --git a/asv_benchmarks/benchmarks/__init__.py b/asv_benchmarks/benchmarks/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/asv_benchmarks/benchmarks/benchmarks.py b/asv_benchmarks/benchmarks/benchmarks.py deleted file mode 100644 index f8a82242b5..0000000000 --- a/asv_benchmarks/benchmarks/benchmarks.py +++ /dev/null @@ -1,106 +0,0 @@ -# Write the benchmarking functions here. -# See "Writing benchmarks" in the airspeed velocity docs for more information. -# https://asv.readthedocs.io/en/stable/ -import numpy as np -from scipy.stats import circstd - -import arviz as az -from arviz.stats.density_utils import _fast_kde_2d, histogram, kde -from arviz.stats.stats_utils import _circular_standard_deviation, stats_variance_2d - - -class Hist: - params = (True, False) - param_names = ("Numba",) - - def setup(self, numba_flag): - self.data = np.random.rand(10000, 1000) - if numba_flag: - az.Numba.enable_numba() - else: - az.Numba.disable_numba() - - def time_histogram(self, numba_flag): - histogram(self.data, bins=100) - - -class Variance: - params = (True, False) - param_names = ("Numba",) - - def setup(self, numba_flag): - self.data = np.random.rand(10000, 1000) - if numba_flag: - az.Numba.enable_numba() - else: - az.Numba.disable_numba() - - def time_variance_2d(self, numba_flag): - stats_variance_2d(self.data) - - -class CircStd: - params = (True, False) - param_names = ("Numba",) - - def setup(self, numba_flag): - self.data = np.random.randn(10000, 1000) - if numba_flag: - self.circstd = _circular_standard_deviation - else: - self.circstd = circstd - - def time_circ_std(self, numba_flag): - self.circstd(self.data) - - -class Kde_1d: - params = [(True, False), (10**5, 10**6, 10**7)] - param_names = ("Numba", "n") - - def setup(self, numba_flag, n): - self.x = np.random.randn(n // 10, 10) - if numba_flag: - az.Numba.enable_numba() - else: - az.Numba.disable_numba() - - def time_fast_kde_normal(self, numba_flag, n): - kde(self.x) - - -class Fast_KDE_2d: - params = [(True, False), ((100, 10**4), (10**4, 100), (1000, 1000))] - param_names = ("Numba", "shape") - - def setup(self, numba_flag, shape): - self.x = np.random.randn(*shape) - self.y = np.random.randn(*shape) - if numba_flag: - az.Numba.enable_numba() - else: - az.Numba.disable_numba() - - def time_fast_kde_2d(self, numba_flag, shape): - _fast_kde_2d(self.x, self.y) - - -class Atleast_Nd: - params = ("az.utils", "numpy") - param_names = ("source",) - - def setup(self, source): - self.data = np.random.randn(100000) - self.x = np.random.randn(100000).tolist() - if source == "az.utils": - self.atleast_2d = az.utils.two_de - self.atleast_1d = az.utils.one_de - else: - self.atleast_2d = np.atleast_2d - self.atleast_1d = np.atleast_1d - - def time_atleast_2d_array(self, source): - self.atleast_2d(self.data) - - def time_atleast_1d(self, source): - self.atleast_1d(self.x) diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 94bb16a5ad..0000000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,23 +0,0 @@ -# Python package -# Create and test a Python package on multiple Python versions. -# Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more: -# https://docs.microsoft.com/azure/devops/pipelines/languages/python -# -*- mode: yaml -*- -trigger: - branches: - include: - - main - tags: - include: - - '*' - -pr: - branches: - include: - - main - -jobs: - - template: .azure-pipelines/azure-pipelines-base.yml - - template: .azure-pipelines/azure-pipelines-external.yml - - template: .azure-pipelines/azure-pipelines-benchmarks.yml - - template: .azure-pipelines/azure-pipelines-wheel.yml diff --git a/codecov.yml b/codecov.yml deleted file mode 100644 index 0e7e8464fe..0000000000 --- a/codecov.yml +++ /dev/null @@ -1,22 +0,0 @@ -ignore: - - arviz/tests/ - -codecov: - notify: - after_n_builds: 6 - -comment: - behavior: default - branches: - - "main" - -coverage: - status: - project: - default: - target: auto - threshold: 2% - - patch: - default: - target: 75% diff --git a/doc/_templates/autosummary/class.rst b/doc/_templates/autosummary/class.rst deleted file mode 100644 index 7f6f73e56b..0000000000 --- a/doc/_templates/autosummary/class.rst +++ /dev/null @@ -1,30 +0,0 @@ -{{ fullname | escape | underline}} - -.. currentmodule:: {{ module }} - -.. autoclass:: {{ objname }} - - {% block methods %} - {% if methods %} - - .. rubric:: Methods - - .. autosummary:: - :toctree: - - {% for item in methods %} - {{ objname }}.{{ item }} - {%- endfor %} - {% endif %} - {% endblock %} - - {% block attributes %} - {% if attributes %} - .. rubric:: Attributes - - .. autosummary:: - {% for item in attributes %} - ~{{ name }}.{{ item }} - {%- endfor %} - {% endif %} - {% endblock %} diff --git a/doc/_templates/class_no_members.rst b/doc/_templates/class_no_members.rst deleted file mode 100644 index 6440e7018e..0000000000 --- a/doc/_templates/class_no_members.rst +++ /dev/null @@ -1,30 +0,0 @@ -{{ fullname | escape | underline}} - -.. currentmodule:: {{ module }} - -.. autoclass:: {{ objname }} - - {% block methods %} - {% if methods %} - - .. rubric:: Methods - - .. autosummary:: - {% for item in methods %} - {% if item != "__init__" %} - {{ item }} - {% endif %} - {%- endfor %} - {% endif %} - {% endblock %} - - {% block attributes %} - {% if attributes %} - .. rubric:: Attributes - - .. autosummary:: - {% for item in attributes %} - ~{{ name }}.{{ item }} - {%- endfor %} - {% endif %} - {% endblock %} diff --git a/doc/source/api/data.rst b/doc/source/api/data.rst deleted file mode 100644 index c27650cb0d..0000000000 --- a/doc/source/api/data.rst +++ /dev/null @@ -1,60 +0,0 @@ -.. currentmodule:: arviz - -.. _data_api: - -Data ----- - -Inference library converters -............................ - -.. autosummary:: - :toctree: generated/ - - from_beanmachine - from_cmdstan - from_cmdstanpy - from_emcee - from_numpyro - from_pyjags - from_pyro - from_pystan - - -IO / General conversion -....................... - -.. autosummary:: - :toctree: generated/ - - convert_to_inference_data - convert_to_dataset - dict_to_dataset - from_datatree - from_dict - from_json - from_netcdf - to_datatree - to_json - to_netcdf - from_zarr - to_zarr - - -General functions -................. - -.. autosummary:: - :toctree: generated/ - - concat - extract - -Data examples -............. - -.. autosummary:: - :toctree: generated/ - - list_datasets - load_arviz_data diff --git a/doc/source/api/diagnostics.rst b/doc/source/api/diagnostics.rst deleted file mode 100644 index 7b05191ce7..0000000000 --- a/doc/source/api/diagnostics.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. currentmodule:: arviz - -.. _diagnostics_api: - -Diagnostics ------------ - -.. autosummary:: - :toctree: generated/ - - bfmi - ess - rhat - mcse - psens diff --git a/doc/source/api/index.rst b/doc/source/api/index.rst deleted file mode 100644 index f33090ba4a..0000000000 --- a/doc/source/api/index.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. currentmodule:: arviz - -.. _api: - -API Reference -============= - - -.. toctree:: - :maxdepth: 2 - - plots - stats - diagnostics - stats_utils - data - inference_data - plot_utils - utils - rcparams - preview - wrappers - stats_refitting diff --git a/doc/source/api/inference_data.rst b/doc/source/api/inference_data.rst deleted file mode 100644 index 74a8480c21..0000000000 --- a/doc/source/api/inference_data.rst +++ /dev/null @@ -1,102 +0,0 @@ -.. currentmodule:: arviz - -.. _idata_api: - -InferenceData -------------- - -Constructor -........... - -.. autosummary:: - :toctree: generated/ - - InferenceData - -Attributes -.......... -``InferenceData`` objects store :class:`xarray:xarray.Dataset` as attributes. -The :ref:`schema` contains the guidance related to these attributes. - -.. autosummary:: - :toctree: generated/ - - InferenceData.get_index - -IO / Conversion -............... - -.. autosummary:: - :toctree: generated/ - - InferenceData.to_dataframe - InferenceData.to_json - InferenceData.from_netcdf - InferenceData.to_netcdf - InferenceData.from_zarr - InferenceData.to_zarr - InferenceData.chunk - InferenceData.close - InferenceData.compute - InferenceData.load - InferenceData.persist - InferenceData.unify_chunks - -Dictionary interface -.................... - -.. autosummary:: - :toctree: generated/ - - InferenceData.groups - InferenceData.items - InferenceData.values - -InferenceData contents -...................... - -.. autosummary:: - :toctree: generated/ - - InferenceData.add_groups - InferenceData.extend - InferenceData.assign - InferenceData.assign_coords - InferenceData.rename - InferenceData.rename_dims - InferenceData.set_coords - InferenceData.set_index - -Indexing -........ - -.. autosummary:: - :toctree: generated/ - - InferenceData.isel - InferenceData.sel - InferenceData.reset_index - -Computation -........... - -.. autosummary:: - :toctree: generated/ - - InferenceData.map - InferenceData.cumsum - InferenceData.max - InferenceData.mean - InferenceData.median - InferenceData.min - InferenceData.quantile - InferenceData.sum - -Reshaping and reorganizing -.......................... - -.. autosummary:: - :toctree: generated/ - - InferenceData.stack - InferenceData.unstack diff --git a/doc/source/api/plot_utils.md b/doc/source/api/plot_utils.md deleted file mode 100644 index d12a8f5601..0000000000 --- a/doc/source/api/plot_utils.md +++ /dev/null @@ -1,44 +0,0 @@ -```{eval-rst} -.. currentmodule:: arviz.labels -``` -# Plot utils - -(labeller_api)= -## Labellers -See also the {ref}`label_guide` - -```{eval-rst} -.. autosummary:: - :toctree: generated/ - - BaseLabeller - DimCoordLabeller - IdxLabeller - DimIdxLabeller - MapLabeller - NoModelLabeller - NoVarLabeller -``` - -## Labeling utils - -```{eval-rst} -.. autosummary:: - :toctree: generated/ - - mix_labellers -``` - -## Xarray utils -Low level functions to iterate over xarray objects. - -```{eval-rst} -.. currentmodule:: arviz.sel_utils - -.. autosummary:: - :toctree: generated/ - - xarray_sel_iter - xarray_var_iter - xarray_to_ndarray -``` diff --git a/doc/source/api/plots.rst b/doc/source/api/plots.rst deleted file mode 100644 index 0f9bb6af86..0000000000 --- a/doc/source/api/plots.rst +++ /dev/null @@ -1,38 +0,0 @@ -.. currentmodule:: arviz - -.. _plot_api: - -Plots ------ - -.. autosummary:: - :toctree: generated/ - - plot_autocorr - plot_bf - plot_bpv - plot_compare - plot_density - plot_dist - plot_dist_comparison - plot_dot - plot_ecdf - plot_elpd - plot_energy - plot_ess - plot_forest - plot_hdi - plot_kde - plot_khat - plot_loo_pit - plot_lm - plot_mcse - plot_pair - plot_parallel - plot_posterior - plot_ppc - plot_rank - plot_separation - plot_trace - plot_ts - plot_violin diff --git a/doc/source/api/preview.md b/doc/source/api/preview.md deleted file mode 100644 index 7dc62384c5..0000000000 --- a/doc/source/api/preview.md +++ /dev/null @@ -1,23 +0,0 @@ -(preview_api)= - -# Preview - -:::{py:module} arviz.preview -This module gives access to upcoming refactored features by exposing -all objects in [arviz-base](https://arviz-base.readthedocs.io/en/latest/), -[arviz-stats](https://arviz-stats.readthedocs.io/en/latest/) and -[arviz-plots](https://arviz-plots.readthedocs.io/en/latest/) -under a single namespace: `arviz.preview`. - -In addition, there is also an `arviz.preview.info` to check availability -of the different sub-libraries. -::: - - -:::{seealso} -* Introduction to Exploratory Analysis of Bayesian Models and Bayesian workflow - through [arviz.preview](https://arviz-devs.github.io/EABM/) -* The {ref}`migration_guide` introduces the new arviz-xyz libraries through - ``arviz.preview`` focusing on the differences with current ArviZ, - the reasons behind them and what new features can be unlocked through these changes. -::: diff --git a/doc/source/api/rcparams.rst b/doc/source/api/rcparams.rst deleted file mode 100644 index f486dfb39e..0000000000 --- a/doc/source/api/rcparams.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. currentmodule:: arviz - -rcParams --------- - -.. autosummary:: - :toctree: generated/ - :template: class_no_members.rst - - rc_context diff --git a/doc/source/api/stats.rst b/doc/source/api/stats.rst deleted file mode 100644 index e08dd31cda..0000000000 --- a/doc/source/api/stats.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. currentmodule:: arviz - -.. _stats_api: - -Stats ------ - -.. autosummary:: - :toctree: generated/ - - apply_test_function - compare - hdi - kde - loo - loo_pit - psislw - r2_score - summary - waic diff --git a/doc/source/api/stats_refitting.rst b/doc/source/api/stats_refitting.rst deleted file mode 100644 index 0905632042..0000000000 --- a/doc/source/api/stats_refitting.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. currentmodule:: arviz - -.. _stats_refit_api: - -Stats (requiring refitting) ---------------------------- -Experimental feature - -.. autosummary:: - :toctree: generated/ - - reloo diff --git a/doc/source/api/stats_utils.rst b/doc/source/api/stats_utils.rst deleted file mode 100644 index 0fca50384a..0000000000 --- a/doc/source/api/stats_utils.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. currentmodule:: arviz - -.. _stats_utils_api: - -Stats utils ------------ - -.. autosummary:: - :toctree: generated/ - - autocov - autocorr - make_ufunc - smooth_data - wrap_xarray_ufunc diff --git a/doc/source/api/utils.rst b/doc/source/api/utils.rst deleted file mode 100644 index 31327669e0..0000000000 --- a/doc/source/api/utils.rst +++ /dev/null @@ -1,36 +0,0 @@ -.. currentmodule:: arviz - -Utils ------ - -Computing utils -............... - -.. autosummary:: - :toctree: generated/ - :template: class_no_members.rst - - Numba - Dask - -Bokeh utils -........... - -.. autosummary:: - :toctree: generated/ - - ColumnDataSource - create_layout - output_notebook - output_file - show_layout - to_cds - -Matplotlib utils -................ - -.. autosummary:: - :toctree: generated/ - :template: class_no_members.rst - - interactive_backend diff --git a/doc/source/api/wrappers.rst b/doc/source/api/wrappers.rst deleted file mode 100644 index 6015265efd..0000000000 --- a/doc/source/api/wrappers.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. currentmodule:: arviz - -.. _wrappers_api: - -Wrappers --------- -Experimental feature - -.. autosummary:: - :toctree: generated/ - - SamplingWrapper - CmdStanPySamplingWrapper - PyMCSamplingWrapper - PyStanSamplingWrapper - PyStan2SamplingWrapper diff --git a/doc/source/getting_started/ConversionGuideEmcee.ipynb b/doc/source/getting_started/ConversionGuideEmcee.ipynb deleted file mode 100644 index 929a4b2fd6..0000000000 --- a/doc/source/getting_started/ConversionGuideEmcee.ipynb +++ /dev/null @@ -1,10095 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "a641832b", - "metadata": {}, - "source": [ - "(emcee_conversion)=\n", - "# Converting emcee objects to InferenceData\n", - "\n", - "{class}`~arviz.InferenceData` is the central data format for ArviZ. `InferenceData` itself is just a container that maintains references to one or more {class}`xarray.Dataset`. \n", - "\n", - "Below are various ways to generate an `InferenceData` from emcee objects." - ] - }, - { - "cell_type": "markdown", - "id": "279a434d", - "metadata": {}, - "source": [ - "```{seealso}\n", - "\n", - "- Conversion from Python, numpy or pandas objects\n", - "- {ref}`xarray_for_arviz` for an overview of `InferenceData` and its role within ArviZ. \n", - "- {ref}`schema` describes the structure of `InferenceData` objects and the assumptions made by ArviZ to ease your exploratory analysis of Bayesian models.\n", - "```" - ] - }, - { - "cell_type": "markdown", - "id": "b702e7fd", - "metadata": {}, - "source": [ - "We will start by importing the required packages and defining the model. The famous 8 school model." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "87f7958f", - "metadata": {}, - "outputs": [], - "source": [ - "import arviz as az\n", - "import numpy as np\n", - "import emcee" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "9bdd7bbc", - "metadata": {}, - "outputs": [], - "source": [ - "az.style.use(\"arviz-darkgrid\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "7e9a05da", - "metadata": {}, - "outputs": [], - "source": [ - "J = 8\n", - "y_obs = np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0])\n", - "sigma = np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0])" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "1cd28960", - "metadata": {}, - "outputs": [], - "source": [ - "def log_prior_8school(theta):\n", - " mu, tau, eta = theta[0], theta[1], theta[2:]\n", - " # Half-cauchy prior, hwhm=25\n", - " if tau < 0:\n", - " return -np.inf\n", - " prior_tau = -np.log(tau**2 + 25**2)\n", - " prior_mu = -((mu / 10) ** 2) # normal prior, loc=0, scale=10\n", - " prior_eta = -np.sum(eta**2) # normal prior, loc=0, scale=1\n", - " return prior_mu + prior_tau + prior_eta\n", - "\n", - "\n", - "def log_likelihood_8school(theta, y, s):\n", - " mu, tau, eta = theta[0], theta[1], theta[2:]\n", - " return -(((mu + tau * eta - y) / s) ** 2)\n", - "\n", - "\n", - "def lnprob_8school(theta, y, s):\n", - " prior = log_prior_8school(theta)\n", - " like_vect = log_likelihood_8school(theta, y, s)\n", - " like = np.sum(like_vect)\n", - " return like + prior" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "cac78e4f", - "metadata": {}, - "outputs": [], - "source": [ - "nwalkers = 40 # called chains in ArviZ\n", - "ndim = J + 2\n", - "draws = 1500\n", - "pos = np.random.normal(size=(nwalkers, ndim))\n", - "pos[:, 1] = np.absolute(pos[:, 1])\n", - "sampler = emcee.EnsembleSampler(nwalkers, ndim, lnprob_8school, args=(y_obs, sigma))\n", - "sampler.run_mcmc(pos, draws);" - ] - }, - { - "cell_type": "markdown", - "id": "cf6af8a4", - "metadata": {}, - "source": [ - "## Manually set variable names\n", - "This first example will show how to convert manually setting the variable names only, leaving everything else to ArviZ defaults." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "95f696a0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1500)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1493 1494 1495 1496 1497 1498 1499\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 0.6982 0.7962 0.8433 ... 5.763 5.763 5.029\n",
        -       "    tau      (chain, draw) float64 0.6679 0.7259 0.8075 ... 2.051 2.051 3.239\n",
        -       "    eta0     (chain, draw) float64 0.08153 0.008519 0.007711 ... 0.4684 0.6057\n",
        -       "    eta1     (chain, draw) float64 -0.5837 -0.6358 -0.828 ... 1.431 1.431 1.608\n",
        -       "    eta2     (chain, draw) float64 0.104 -0.003427 0.08645 ... -1.056 -0.8344\n",
        -       "    eta3     (chain, draw) float64 0.8693 1.196 1.423 ... -1.621 -1.621 -0.8859\n",
        -       "    eta4     (chain, draw) float64 0.8211 1.27 1.324 ... -1.509 -1.509 -0.9923\n",
        -       "    eta5     (chain, draw) float64 0.04491 0.2302 0.1735 ... -0.8137 -0.5359\n",
        -       "    eta6     (chain, draw) float64 0.2983 0.1357 0.1385 ... -0.2085 0.0377\n",
        -       "    eta7     (chain, draw) float64 -0.5895 -0.5165 -0.6091 ... 0.1594 -0.03057\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:53.861857\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1500)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1493 1494 1495 1496 1497 1498 1499\n",
        -       "Data variables:\n",
        -       "    lp       (chain, draw) float64 -16.3 -17.83 -18.92 ... -20.11 -20.11 -16.68\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:53.851570\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:      (arg_0_dim_0: 8, arg_1_dim_0: 8)\n",
        -       "Coordinates:\n",
        -       "  * arg_0_dim_0  (arg_0_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "  * arg_1_dim_0  (arg_1_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    arg_0        (arg_0_dim_0) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
        -       "    arg_1        (arg_1_dim_0) float64 15.0 10.0 16.0 11.0 9.0 11.0 10.0 18.0\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:53.853598\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> sample_stats\n", - "\t> observed_data" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# define variable names, it cannot be inferred from emcee\n", - "var_names = [\"mu\", \"tau\"] + [\"eta{}\".format(i) for i in range(J)]\n", - "idata1 = az.from_emcee(sampler, var_names=var_names)\n", - "idata1" - ] - }, - { - "cell_type": "markdown", - "id": "421a4564", - "metadata": {}, - "source": [ - "ArviZ has stored the posterior variables with the provided names as expected, but it has also included other useful information in the `InferenceData` object. The log probability of each sample is stored in the `sample_stats` group under the name `lp` and all the arguments passed to the sampler as `args` have been saved in the `observed_data` group." - ] - }, - { - "cell_type": "markdown", - "id": "fd01d5ae", - "metadata": {}, - "source": [ - "It can also be useful to perform a burn in cut to the MCMC samples (see :meth:`arviz.InferenceData.sel` for more details)" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "1f211e3e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1400)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 100 101 102 103 104 105 ... 1495 1496 1497 1498 1499\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 6.588 6.588 6.588 7.358 ... 5.763 5.763 5.029\n",
        -       "    tau      (chain, draw) float64 1.122 1.122 1.122 1.328 ... 2.051 2.051 3.239\n",
        -       "    eta0     (chain, draw) float64 -0.4995 -0.4995 -0.4995 ... 0.4684 0.6057\n",
        -       "    eta1     (chain, draw) float64 0.2038 0.2038 0.2038 ... 1.431 1.431 1.608\n",
        -       "    eta2     (chain, draw) float64 0.1563 0.1563 0.1563 ... -1.056 -0.8344\n",
        -       "    eta3     (chain, draw) float64 0.04793 0.04793 0.04793 ... -1.621 -0.8859\n",
        -       "    eta4     (chain, draw) float64 -1.467 -1.467 -1.467 ... -1.509 -0.9923\n",
        -       "    eta5     (chain, draw) float64 0.4489 0.4489 0.4489 ... -0.8137 -0.5359\n",
        -       "    eta6     (chain, draw) float64 0.1747 0.1747 0.1747 ... -0.2085 0.0377\n",
        -       "    eta7     (chain, draw) float64 0.4413 0.4413 0.4413 ... 0.1594 -0.03057\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:53.861857\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1400)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 100 101 102 103 104 105 ... 1495 1496 1497 1498 1499\n",
        -       "Data variables:\n",
        -       "    lp       (chain, draw) float64 -14.38 -14.38 -14.38 ... -20.11 -20.11 -16.68\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:53.851570\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:      (arg_0_dim_0: 8, arg_1_dim_0: 8)\n",
        -       "Coordinates:\n",
        -       "  * arg_0_dim_0  (arg_0_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "  * arg_1_dim_0  (arg_1_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    arg_0        (arg_0_dim_0) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
        -       "    arg_1        (arg_1_dim_0) float64 15.0 10.0 16.0 11.0 9.0 11.0 10.0 18.0\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:53.853598\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> sample_stats\n", - "\t> observed_data" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata1.sel(draw=slice(100, None))" - ] - }, - { - "cell_type": "markdown", - "id": "62846712", - "metadata": {}, - "source": [ - "From an InferenceData object, ArviZ's native data structure, the {func}`posterior plot ` of a few variables can be done in one line:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "86aa367a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([,\n", - " ,\n", - " ], dtype=object)" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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ixYt0t69exUUFKTWrVurf//+uvPOO2viRwUAnAXJbwDghZJTzJUtsQ5tIo8eJb32hpS5U/r8S+l315rbT5wwbUBglFyuKIWGStFdpRYtzO09elSuTN35559f5n2LFy/W4cOH1bt378r/AAAAoE50i7G0aLGt9am2JO9YeEXpTpw4ob/97W9KTExUo0aN1LNnTwUFBWnnzp2aPXu2Bg8eXOHktyI9e/ZUREREidtjis7UBQAAAAAAkqTjx21tSDX93j2djaUmHDlyRDfffLN27Nihtm3bauTIEVqyNE05x77S7bcv0TffvKvGjRtX6LVefvllzZgxQwEBAerWrZtiYmK0d+9erVmzRqtWrdKiRYv05JNPyt/fv8Rzk5KSdM899yg7O1udOnXSsGHDlJOTo/T0dH3++eckvwFAHSH5DQDcXEGBrcQV0v4DUutWUp/eKvcKE0lavMS0vXs6s4kcHGzpztukf/zT1nvv22rZUjpxXHrrHZOUV+AaLv/Am3U8V1q7Trp3vKWLJlU+1ilTppR6e3Z2tmbNmiVJGj9+fNV/EAAAUKu6FeYord/gbByofU8++aQSExM1adIk3Xvvvapfv37xffv371d+fn6lX/PCCy/UxIkTazJMAAAAAAC8Uso6qaDAFCNo1crpaKrvxRdf1I4dOzRq1Cg99dRTCggIUOpGWzf+4Tnl5PxXTz31op599tEKvVbjxo11++2368ILLzwjYW7dunW68847NWfOHMXHx+viiy8+43n79u3TPffco9zcXP3zn//UqFGjzrg/JSWluj8mAKCC/JwOAABQtvx8W088Zeve+239779s3fVXW/c9aGvfPrvM52zfbmvjJsnfXxo2tA6D/Y0J46WB8VJunvT4k7b+9W9bR4+a+8aMtvTfzy1NukByuaTnX7C1Ja3sn6myZs+erdzcXMXGxqp9+/Y19roAAKBmxUSbNiNDys6uubEA3EtiYqJmz56t7t2766GHHjoj8U2SmjVrplbesPIOAAAAAICbWrPWrLv07nn2Agvu7sCBA8WV2u677z4FBJh6P9FdLY065w5JYVqwYKYOHDhQode75557dP3115eoFNe9e3fdcMMNkqSZM2eWeN7rr7+u7Oxs3XHHHSUS36TKn3YEAKg6Kr8BQDXs3LlTl156qfr06aPnn39eb775pubMmaMjR46oQ4cOuuWW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R4+uVEHeS+oWk3PG/S6XS8uWLdPq1auLb2vfvr0k6YsvvjijHPXq1av1ySef1EnclfHFF18oJ+fMnys/P1/vvPOOZs+eraCgIAWHXKDde6TUjeb+vXv36qqrrip3AnfixInijU6OPAUAwPN0bG8S3rZtdzgQB8TGxqp///5asWKFXnzxxRJjpfLGgNOmTfOIMeBll12m0NBQ/fDDD1q2bFnx7Tk5OXrmmWdUUFCgoUOHnrEAX9YY8PDhw5o+fbpyc3PPuL3otVJSUtS0aVONGjWqVn8mAAAAAACcUpm1hM1bzLpB69aetZZQnmbNmmncuHHKy8vTs88+q/z8/OL7Xn31VR06dEjnnnuumjZtKkmacK7UvJl0YN8buvTSq/Txxx+f8XoHDx7UXXfdpX379unaa6/VzTffXKE4rr/+eknS888/f8Yxrxs2bNBnn30mSbr00kur86MCACqIym8A4EYuueRxrVw1WXbBF/rzn39S165dFRYWpn379mn79u06dOiQ7r777uJjPa+88kr9+OOP+vTTT7VkyRJFRkZq3759WrNmja699lq3m7C88MILev3119WpUye1atVKubm52rRpk/bt26egoCA99thjmjm7uRYslJYuk2KiTXLctm3byn3defPmKScnR927d1fHjh3r5ocBAAA1poNZf/XJ5DdJevzxxzV58mR9/vnnmj59evEY8NChQ0pLSytzDPj1119r5cqVbj8GDA8P19///nc9/PDD+utf/6oePXqoSZMmSk5O1oEDB9SmTRs98MADZzynrDFgTk6OnnjiCT333HPq2LGjWrVqpezsbKWmpurIkSNq2LChnn76adWvX7+ufjwAAAAAAOpcWWsJv91P2rylpyTpgguuVHradI9ZSzibv/71r0pJSdGvv/6qq6++WjExMUpPT9eWLVsUERGhu+++u/ixAQGWLpwkvfXmAe3fbz6b0/3rX/9SRkaG6tevr8OHD+uJJ54o8X5hYWG66667zrjtoosuUmJiombPnq0rr7xScXFxOn78uJKSkpSXl6eLLrpIo0ePrpWfHwBwJpLfAMCNbE4Ll3+9txXT9RvJNVvr1q1Tfn6+mjZtqq5du2r48OEaO3Zs8ePbt2+v9957T2+99ZZWr16tBQsWqH379nrggQd08cUXu91k5aabblJSUpK2bdum9PR0SVLz5s11ySWX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SpJUlJmDrnz/xuSg22233QbnoHXqBFq2gBjhgw/NsSRJkiQpv/wyAWbOgtKloXGjVEdTuNlPsPL9q+sneOKJJxyr+peMjMCOzZLtIUNTG4skbQiL3ySts6efjeTmwc7toUlji98APv74Y8444wy+/PJLatWqRfv27VmyZAnPPvssp512GgsWLFjre7z//vsMHjyYEFb/nXbv3p2ePXtSs2ZNmjdvTv/+/bnooovIzc1d6bmPP/442dnZnHvuuRv12TZGs2bN6NKlC/vttx9t27alevXqDB48mIceeohu3brx/PPPE6MDgwWtbt3ANvUhNxe+/ibV0UiSpA1lDrpqqcxBD+iafI8ffAS5uea5kiRJkpQfhg1Pbps0htKlHZdaHfsJVm11/QR33323Y1Wr0KJ58v9+2HC/E0lFT0aqA5BUNIz/OfJZn2T7tJNtYABMmzaN2267jdzcXK6++mq6du0KwJIlS7jhhhv47LPPePDBB7n88stX+x6zZ8/mgQceoG3btvz6669MnTp1pefMmDGD9957j/bt23PvvfcSQuCZZ57hscce4/PPP2f33Xdf/tzx48fTs2dPzjzzTKpXr57/H3odHXjggcu/j2Wys7N59913efjhh3n44YdZsGAB//3vf1MUYcnVsQOM/xk+/yKy797+liVJKmrMQVcvlTlox12hUiWYNi2ZZbd9u3z/E5IkSZJU4nw/LCnCab6jfdmrYz/B6q2un+DTTz/l7rvvdqzqX5o1TW5HjEiWHF5TIaQkFTbO/CZpnTz5dCRG6NwJGjQw2YHkKpjFixfTpk2bFZLnzMxMLrnkEsqUKcN7773Hn3/+udr36N69O9nZ2Vx66aWrfc748ePJzc2lS5cuyxPNAw44AICxY8eu8Ny7776bOnXqcNRRR23MR9skypQpw+GHH84999xDeno6zz33HOPGjUt1WCVOx12TfejbQZCd7dU7kiQVNeag66egctDSpQP77p1sv/u+OZYkSZIkbawY4/KZ35Ytx6iV2U+wfsqUKcNxxx3nWNUqNGwAmZkw50/47bdURyNJ68fiN0lr9ePoyJdfQVoanHqShW/LjBkzBoCWLVuu9FjlypXZeuutycnJ4euvv17l6wcMGEDv3r054YQTqFOnzmr/zrx58wCoWLHi8vuWbc+dO3f5fb169WLo0KFcdNFFZGQU3ok9W7VqxV577QXAa6+9luJoSp5tt4VaNWHxYhg4KNXRSJKk9WUOumEKIgddtvRp/69h6lQL4CRJkiRpY0yeDDNmQEYGNG6U6mgKL/sJNoxjVSvLzAw02iHZHj4itbFI0vqy+E3SGsUYefTxZOBmn72gbl2L35ZZtGgRsGKi/0+VKlUCWOUVI9nZ2dxxxx3UrVuX4447bo1/p2bNmgD89o/LLCZOnLjCYwsWLODBBx+kc+fOtG3bdj0/ScFb1qAYMmRIiiMpeUIIdOyYbH/xpYOykiQVNYUpB124cKE56D9sXS/QuhXk5cGbb5tnSZIkSdLG+P6vWd922D6ZbVurZj/BhnOsamVN/1r6dPhI+zUkFS0Wv0lao/5fw3dDILMUnHSijYt/ysrKAmDq1KmrfHzZ/VOmTFnpsccee4wpU6Zw2WWXUapUqTX+nQYNGlCtWjVeeeUVxo8fz8yZM3nooYcIIdC+fXsAHnroIebNm8f555+/EZ+o4DRo0ACA33//naVLl6Y4mpJn2dKn/b+GnBwbMJIkFSWFKQd96qmnzEH/5fBDkzzr3fdh4ULzLEmSJEnaUMOGJW2q5jumOJBCzn6CDedY1cqaNUn6NZz5TVJRU3jnGpWUckuWRB58OGlcHHE41K5l8ds/tWzZkt69e/PJJ59w+umnr9AwGDlyJL/++iuQXOnyT6NHj+a1116jS5cutGrVaq1/p3Tp0pxzzjnccMMNHHPMMcvvP/jgg2nQoAG//vorzz//PCeffPLyq2sguWKndOnShLD+/9+mTp1Ku3bt1vt162pZYwyS6bCrVq26yf6WVtakMVSuDLNnw9DvYe+9Uh2RJElaV4UpB3311Vc55ZRTzEH/oV1bqFMHJk2Cj3vDwd3y/U9IkiRJUomwbOa3HZs5NrUm9hNsOMeqVta4MYSQ9GvMmhWpUsXfn6SiweI3Sav12BORSb9D1Spw3DEmN/+2zz778OyzzzJ16lQuvfRSzjvvPGrUqMHw4cO57bbbSE9PJzc3d4WEPjc3l9tuu40KFSpw3nnnrfPf2nfffdliiy347LPPWLJkCa1bt6Zz584A3HPPPdSqVWt5Y+OTTz7hoYceYurUqVSoUIFDDz2U008/nbS0dZ/ss2zZssvff1WGDx/OpEmT1vn9/i3Gv2fB2JAGjzZOenpg110i770Pn38ZLX6TJKkIKUw5aM2aNc1B/yUtLXDYwdD9/sgbPSPdDkzukyRJkiStu+nTI5MnQ1oaNG2S6mgKN/sJCnc/QVFTqWKg/taR8T/DiJGwW8dURyRJ68biN0mr9M2AyKuvJ9uXXxooV86k79/Kli3L3XffzSWXXMKAAQMYMGDA8sdq1qzJUUcdxYsvvkilSpWW39+jRw/GjBnDVVddtcIVJeuiadOmNG3adIX7+vTpw7fffstjjz1GZmYmo0eP5tprr6Vt27ZcdNFFDBkyhGeffZbKlStzxBFHrPPf2myzzbj22mtX+/iNN964UQ2KP//8c/n2P78fFZzdOgTeez/y5VeQl+eSXJIkFRWFKQe95557zEFXYb994YmnYOJvMHAQtG+7yf6UJEmSJBVLw/6a9a3BtlC+vONTa2I/QeHvJyhqmjaF8T/D8BGR3Tr6+5NUNFj8Jmklo36IXHt9UgxzcDfYub2Jzepsu+229OjRgz59+vDjjz+Sm5tLgwYN2HvvvXnmmWcA2HrrrZc//6uvviKEwIcffsiHH364wnvNmjULgP/9739kZGRwxhln0Lx589X+7ezsbO6//3523XVXOnXqxOzZs3n55ZcpW7Yst9xyC+XLl6djx46MGTOGl156ab0aFJva2LFjAdhyyy3JyPBUlAqtWkL58jBzJowYmcNWW6Y6IkmStK4KSw66yy67AJiD/ku5coH994+8+hq8/kakfVvbU5IkSZK0Pr4fnoxRNd8xxYEUEfYTbBjHqlatWZPA2+9Eho9MdSSStO48iktawc+/RC65PLIoG3ZqDeec5UDN2pQpU4YuXbrQpUuXFe4fNGgQAC1btlzh/hgjQ4cOXe37jRgxAljxipNVee6555g9ezYXXnjh8vsmTJhAvXr1KF++/PL7GjVqxNChQ1mwYMEK96fSJ598AkCrVq1SHEnJVapUoH27yKefwSefLeGUE1MdkSRJWh/moOuvIHPQQw4KvP5G5NtB8MuEyNb1bFdJkiRJ0roaNiy53bGZbal1ZT/B+nOsatWa/TWx39ixsGhRpGxZf4eSCj+L3yQtN/WPyEWXRubNg8aN4JYbA5mZJjQbYsiQIYwZM4b69euz445/X5r0yCOPrPY13bp1Y+rUqXzwwQdUrVp1je8/adIkXnrpJY477ji22GKLFR7Lzs5e43+n2nfffcenn35KCIHDDjss1eGUaB07BD79LPJZnyWcfEIkBH/vkiQVZeagq1fQOWjtWoEOu0Y+/wLe6Bm59GLzLEmSJElaF3PmRH6ZkGw3a7rGp2ot7CdYPceqVq9GDai+OUybDj+OhpYtUh2RJK1dWqoDkFQ45OZGbrw5MmMGbF0P7ro9UK6cAzRrM3bsWHJycla4b/To0Vx33XWEELj44os3yd/t3r07VatW5bjjjlvh/vr16/PLL78wZswYABYsWMBXX31FzZo1U34lzeLFi3n99de5+OKLyc3N5eSTT2abbbZJaUwlXbs2kFkKJk7M45dfUh2NJElaV+ag6y6VOehhhyTtqY97w59/xgL5m5IkSZJU1A1LJhxj63qQleU41bqwn2DdLV68mBdffNGxqjUIIdD0r8LT4SNSG4skrStnfpMEwEuvJAlMuXJw+62BSpVsUKyL7t27M2HCBBo0aEBWVhZTpkxh1KhRhBC4/PLLN8lUyf3796d///7ccccdlClTZoXHjjnmGHr37s3ZZ59Nq1atGDt2LH/88QeXX355vsexJu+++y5DhgwBkobEzJkzGT16NNnZ2WRmZnLOOedwzDHHFGhMWlm5coGddor0/xq++Arq1091RJIkaV2Yg65aYctBd2wGDRvA2HHw7vtwnOmvJEmSJK3VsGHJxUP/mKhMa2E/waoVtn6CoqRZ08BnfSLDR0TAMWNJhZ/Fb5KYMyfy/ItJY+LC8wNb1DaJWVf77rsvH3/8MePGjWPevHlUrlyZPffck2OPPZaGDRvm+99bsmQJ3bt3p127duy2224rPd6gQQPuuOMOHnvsMfr370/VqlU566yzOOigg/I9ljUZPnw4w4cPJ4RA2bJlqVSpEq1ataJFixZ06dKFKlWqFGg8Wr2OHQL9v458/kXkxOP97UuSVBSYg65aYctBQwgcdijcclvkrbcjRx0BGRnmW5IkSZK0Jt8PS25b7Gj7aV3ZT7Bqq+sn2HnnnencubNjVWvQrElyO3JUsnpYerq/R0mFW4gxrtPaG7Nnz97UsRRplStX9jvSRknlPvT4k3k8/yJs1xCefCwQgglMUeMxSBtqzpzIgQdH8vLgtVcCtWv5+9f68fijjfXPfahy5copjqbwKWy/L3/zBcvvu+Bsqu96yZLIoUdEZs2G668J7LmHuRa4bxc0v++C43ddsPy+C5bfd8Ep6O96Y9thBRGr+59Wx32j+Jk/P7LfAZEY4e03AtWqbXgbyv1Dq+O+sXa5uclvceFCeOaJQIMGJac/w/1Dq+O+kTrr0mZJK4A4JBViCxZE3nwr2T7+WAvfpJImKyvQqmUyEeyXX6U4GEmSpGImMzPQ7T9JG+uVVyPreP2hJEmSJJVIw0dAjFBnCzaq8E3SxklPDzRpnGwPH5HaWCRpXVj8JpVwn/WF+Qtgqy2hw66pjkZSKuy1RyYAffs5GCtJkpTfDu4GpUvDmLHw3ZBURyNJkiRJhdf3w5M+6uY7pjgQSTRrmhSgDh/h2JGkws/iN6mE6/1JkrB02S+QluZVNFJJtPdepUlLg5Gj4LdJNmIkSZLyU1ZWoGuXZPvFl821JEmSJGl1hg1Lbnfc0fEqKdWaNU1uh43AmewlFXoWv0kl2B/TIt//1ZDYc4/UxiIpdTbfPI02OyXbvXrbgJEkScpvRx4eSE+Dwd/BsOHmW5IkSZL0b4sWRUaPSbabN0ttLJKg0Q6Qng4zZsDUqamORpLWzOI3qQT79LPktvmOULOGV9FIJdm+eyfHgI97QV6eA7KSJEn5qVatQNf9k+3HnoheMS1JkiRJ/zJyFOTmQo0aSRtKUmqVKRNo2DDZHjEytbFI0tpY/CaVYF98mQy47Lm7jQippOuwK5QvD1P/gEGDUx2NJElS8XPi8YHMTBg+Avp/nepoJEmSJKlw+X5YMmblrG9S4bFs6dPhI7yIT1LhZvGbVEL9+Wfkhx+T7Z3bpzYWSalXunRgv32T7TfetBEjSZKU3zbfPHD4ocn2fQ9EsrPNuSRJkiRpme+HJbfNd3TCBqmwaNY0+T0OH5HiQCRpLSx+k0qobwdDjLBNfahe3YaEJDjkoEAI8M0A+G2Sg7GSJEn57YTjAjVqwJSp8PRz5luSJEmSBLBwYWTkqGS7RfOUhiLpH5o2Tm5//gXmzrMfQ1LhZfGbVEINGJgkKG3bpDgQSYXGlnUC7dsm2z1etREjSZKU38qWDVx4XnLx0Ss9YMhQcy5JkiRJ+m4I5OZCnS2gTh0nbJAKiypVAltumWx//31KQ5GkNbL4TSqB8vIi3w5Kttu1tREh6W9HHZkcEz74CKZMcTBWkiQpv+26S6Brl2Qm7htujsyYac4lSZIkqWQb+K0TNkiFVZvWye2Ab+2/kFR4WfwmlUBjx8Hs2VC2LDRtkupoJBUmLZoHWreCnBx45nkbMpIkSZvC+ecG6tWDmTPhsisiCxead0mSJEkqmWKMDPw22W7bxgkbpMJm2UQqAwYmv1dJKowsfpNKoAEDk9vWraBUKRsSklZ06snJceHjXjB6jA0ZSZKk/Fa2bOCOWwJZWTB2LFx/YyQnx7xLkiRJUskzcSJMmQqlSkGL5qmORtK/tWgOmaVg2jT4ZUKqo5GkVbP4TSqB/p4+2sI3SStr0jiwx+6Qlwd33xvJzXUgVpIkKb9tsUXg9lsCmZnw9QC478HoFdSSJEmSSpzP+ia3LVskFwpJKlzKlAm0aJFsL5tgRZIKG4vfpBJm7tzIqB+S7XZtUxuLpMLrvLMDFcrD6DHw2hupjkaSJKl4atI4cN3VgRDgrbfNuyRJkiSVLDFGen+aXAS0154WvkmFVft2ye/zy6+8aE9S4WTxm1TCDPoumc2pXj2oWcOGhKRVq1o1cNZ/k2PEE09Gfv7FBo0kSdKmsFvHwNl/5V0PPhztSJYkSZJUYoweA5MmQZky0HHXVEcjaXWW/T5HjIQ/ptlvIanwsfhNKmEGDkwSknZtUhyIpELvgP1h53awZCncdEtk6VIbNJIkSZvCEYdBtwMhRrjh5sjoMeZdkiRJkoq/jz5O2j677gLlyjlhg1RYVa8e2LFZst23X0pDkaRVsvhNKkHy8iIDv02227axESFpzUIIXH5pYLNKMO4nePo5B2ElSZI2hRACF5wXaLMTZGfDFVdF5swx95IkSZJUfM2aFfngo2R7//0cs5IKu907J7/Tz/raXyGp8LH4TSpBfhoPM2dB2TIsr86XpDWpWjVw6cVJg+all2HESBs1kiRJm0JGRuCm6wNbbQnTZ8Ctd0RiNPeSJEmSVDy93COyeDE02gFat0p1NJLWpvNukJYGP/4IP/9if4WkwsXiN6kEGTAwuW3ZEjIzvYpG0rrptFtgn70hLw9uvjWycKGNGkmSpE2hfPnADdcFMkvB19/A2++mOiJJkiRJyn+/TIi89U6yfdKJgRAcs5IKuypVAh12TbZff8NxIkmFi8VvUgky8NskEWnX1kaEpPVzwbmB6tXh98nw6OM2aiRJkjaVBtsG/ntm0mZ7+JHI5CnmXpIkSZKKj7nzIldek8z61qoltGuT6ogkrasjDkv6K3r1htmz19xfkZMTGTkq8vkXkenT7duQtGlZ/CaVELNnR0aMTLZtSEhaXxUrBq64LGnUvP0ujBlrQ0WSJGlTOeQgaL4jLMqGu+5x+VNJkiRJRV9OTqRX78hxJ0R++w2qV4frr3XWN6koadoEdtgBliyFF19ZfV/F2HGRU86InHl25KprI0cfH+n9qX0bkjYdi9+kEuLzL5IlC7ffDmrVsiEhaf3t1Dqwx+7JseTe/4vk5dlQkSRJ2hTS0gL/uzRZ/nTQ4KQ9J0mSJElF0dKlkffejxxzfOSmWyMzZ0GdOnDHrYHKWY5XSUVJCIGTT0x+t2+8AeN+WnmcqG+/yBlnRcaPh/LlYYvasGgR3HhzpP/XjitJ2jQsfpNKiD79kmRi9842JCRtuHP+GyhbFkb9AB/1SnU0kiRJxVedOoGjj0q2738osmiRHcSSJEmSipbRoyMnnxa54+7I75Nhs0pw+qmB554KNNjW8SqpKGrfNtBpN8jNg5tvjcycmfRXxBh5uUfk2hsiS5fCLjtDjxcDL78QOPCA5LX3dI8sXGj/hqT8Z/GbVIgNGhy54648brg5j96fbvhSNzNnRr4flmzv3in/4pNU8my+eeCkE5JOiUcejcydZyNFkiRpUzn26EDNGjBtGjz/knmXJEmSpKLjk88iZ54T+WUCZGXBOWcFXu8ROP7YQOnSFr5JRdkF5waysmD8z3DamZH/uz+Ps86NPPxoJEb4zwFw602BypUD6emB884O1KoF06bDs8/bvyEp/1n8JhVCeXmRhx/N48JLIu99AJ98mkwFe8HFkQUL1j8h6PVJskxhox2gZk0bFJI2zuGHQr16MOdPeOFFGymSJEmbSpkygfPOSdpwPV6F3yaZe0mSJEkq/N59P3LDTZGcHOjYAV58NnDk4YFy5RyjkoqDatUCjz4YqLNFUtD2xpswYiSkp8NFFwQuuSgpelumTJnA+ecm//32u2zQeLckrYnFb1Ih9Pa78HKPZHv/LnDMUVC6NHw3BC6/MrJ48bonBLm5kbfeTp5/YFcbFZI2XkZG4Owzk+PJm2/D7Nk2UiRJkjaVDrtC2zawdCk89Ih5lyRJkqTC7bM+kbvuSdouhxwEN98QyMpyfEoqburUCTz9RODqKwOHHgLnnRPo8WLg4G6BEFb+ze/SHurVhYUL4YMPUxCwpGLN4jepkPn992RKWEimgL7isjT+e0YajzwYKF8evh8Gt9+17kugfv0NTJkKlSrBXntuysgllSTt2sIOO8DixfByDwdhJUmSNpUQkuVB0tPgq/4wZKi5lyRJkqTCadQPkZtvS5Y97HYgXHBeIC3NwjepuCpXLrDv3oELzk3j8EMDtWqt/vceQuDQQ5LHX38zkptr/4ak/GPxm1TIPPRoJDsbWrZIlhZcpmGDwG03JwMen3wK73+w9veKMS4vSum6P5QubQNDUv4IIXDyic7+JkmSVBDq1g0ceGCy/dAjkbw8cy9JkiRJhcusWZGrr40sXZrMYH3h+aue/UlSybXv3lChAkyZAsOGpzoaScWJxW9SITJxYuTLr5LtC89f+WqYli0Cp56S3Nf9/sj4n9c84NGnb7K+eunScOhBNjAk5a92baCRs79JkiQViJNPCJQrB2PGwqefpToaSZIkSfpbjJHb74xMnwF1t4KrrwikpzsuJWlFZcoEOnVMtj/5zHElSfnH4jepEHm5RzIV9K67wNb1Vt0oOOYoaNsGliyBa66LLFy46sRgwYLIQ38tn3rs0YHq1W1kSMpf/579bdYsGyqSJEmbSuXKgeOOSXKvx56MLF5s7iVJkiSpcHjvA/h6AJQqBTdeHyhf3jEpSau2157J8aHf57B0qX0bkvKHxW9SITF7dh69Pkm2jzlq9Y2CtLTA1VcGqlWDib/B1ddFcnJWTAxycyPX3xSZNg1q1YSjj9yUkUsqydr+Y/a3V161kSJJkrQpHX4oVN8c/vgDer6V6mgkSZIkCX7/PfLAg0nf8OmnBrapb+GbpNVrviNUrQrz5sHAQamORlJxYfGbVEh88OFili6Fhg2gaZM1NwwqZwVuuTFQpgx8OwiuvDoun3Fp7tzIdTdEvhkAmZlw0/WB0qVtaEjaNEIInPTX7G9vvQOzZ1sAJ0mStKmULh049eQk93rhpcjceeZekiRJklInNzdy822RRdlJQcsRh6U6IkmFXXp6YI/OyfYnn9qvISl/WPwmFRJvvbMYgC77rVuhWuNGgZtuCGRkJFNJH3ZU5OTT8uh2aKTfF5CeDlddEdh+ewvfJG1a7drA9ttBdjb0eM2GiiRJ0qa0z96wdb3kCumXXjb3kiRJkpQ677wHI0ZCuXJw9RWBtDTHpCSt3Z57JMeK/l/DwoX2bUjaeBa/SYXAuHGR0WNyKVUK9tpj3V/Xvm3giUcCDbZNlhwcOw6WLIF69eDRhwJ7dLaRIWnTCyFw0gnJ8ebNt2DOHBsqkiRJm0p6euCM05Pc6/WeMH26uZckSZKkgvfnn5EnnkraI2ecGqhZ0zEpSetmh+1hi9rJpApffZ3qaCQVBxa/SYVA77+mdN2lPWy22fo1Dho0CDz1eOCFZwM335DcvvBMYAdnfJNUgHZuDw0bwqJsePV1B2AlSZI2pV3aQ9MmycVPTz9n7iVJkiSp4D31TGTePNimPvznwFRHI6koCSGw518Twnzq0qeS8oHFb1KKxRjp0y/ZXjbF6/pKSwtsXS/QabfkNgQL3yQVrBACJx2fHHveeNPZ3yRJkjalEAL/PSPJvT78ECb8au4lSZIkqeD8PjnyznvJ9vnnBjIyHJeStH722jM5bgwclMwkKUkbw+I3KcVG/QB//AFly0L7dqmORpI23K67QMMGsGgRPPuCDRVJkqRNqVnTQIddIDcP7n8wEuPa86+cnMigwZHB30WWLjVfkyRJkrRhnnkukpsLbXaCli0sfJO0/urVDTTYFnJzoe/nqY5GUlFn8ZuUYn37JQMOnTtlUrq0DQRJRVcIgbPOTI5jb70Nv01yQFWSJGlTOuesQKlS8O0g+Kr/mp/79TeRw4+OXHhJ5IKLI90OiQwZar4mSZIkaf1MmhTp/UmyffopjmtJ2nDLZn/79DP7JyRtHIvfpBTKy4v07Zds77dP6ZTGIkn5oXWrQPt2yZU69z2wbjOQSJIkacNssUXgiMOS7bu7x9UuE/J6z8jlV0amTYOszaBqFfhzLlxxdWTcOPM1SZIkSevutTcieXnJakbbb2/xm6QNt8fuye33w+CPafZPSNpwFr9JKTTqB5g2HcqVg112LpXqcCQpX5z71wwkAwbCJ5+lOhpJkqTi7cTjA1ttCTNnwl33RvLyVuwsfrlH/OuiBDigK/R8LfDaK4HmO8KCBXDdjZGcHDuYJUmSJK3dn39GPvgo2T7qCAvfJG2cGtWT/glg+YySkrQhLH6TUuizvskAQ4ddcMlTScXGVlsFTjguOabdd39k5kwHUyVJkjaVMmUC114VSE+Dfp/D7XdGFi+OLFkS6X5fHg8/muRiJ50Al10cKF06+XfrzYGszWDib/Dhxyn+EJIkSZKKhHffh8WLoWEDaNE81dFIKg722zcZT/rgQ1cTkrThLH6TUuSfS57u3tnCN0nFyzFHwbbbJMtp3XGXDRZJkqRNafvtA1ddkRTAffgxdDs0csBBkZ5vJY+fdkrglJPSCOHvtmelioHjj03+++lnk4I5SZIkSVqdGCMffJS0Gw45OKzQvpCkDdV5NyhbFib9DsOGpzoaSUWVxW9SigwbnixLU6E87NQ61dFIUv4qVSqZgSSzFHw9ILkiUJIkSZvO3nsFbr4xUH1zmDcvWdK0ahW487a/Z+X9t27/gRo1YMYM+KxPAQcsSZIkqUgZOQomTYKyZZJiFUnKD+XKBfbonGy/94EX5knaMBa/SSny4V9Xx3TaDTIzvTpGUvFTv37gjNOT49sDD0V+m2SjRZIkaVPqsGvg9R6Bh+4PPPV44M3XAzu3X317MzMz0O3A5PF33jNXkyRJkrR6/xzXKlfOcS1J+eeArskxpU9fmDnT/glJ68/iNykFFi6M9P082d6/iw0EScXXYYdAq5aQnQ233BbJy7PRIkmStCmlpwd2bBbYrmEgPX3t7c3994P0dBj1A/w03lxNkiRJ0sqWLIn06Zds77ev41qS8lfjRoHGjWDpUnj7XfsmJK0/i9+kFOjTNykE2WpLaNI41dFI0qaTlha48n+BcuWSafFd/lSSJKlwqVIl0LFDsv3e+3YwS5IkSVrZd0NgwQKoWhWa75jqaCQVR4cflhTWvvUOLF5s/4Sk9WPxm1TAYoz0fCs5YXfZLxCCV8hIKt5qVA+cdkpyrHv0scisWTZaJEmSCpMu+yW5Wt9+kJtrriZJkiRpRf2+SNoJHTskFzxLUn7brQPUrAFz5sCbb6c6GklFjcVvUgH7ZgCM+wnKloED9k91NJJUMA7uBg0bwvwF8PyLDqhKkiQVJju1gkqVYNZs+H5YqqORJEmSVJjk5ES++irZ7tTRwjdJm0ZGRuDEE5JjzIsvRebPdyxJ0rqz+E0qQDHG5UUf3f4Dm21mI0FSyZCeHjjrjOSY9/a7MGWKjRZJkqTCIiMjsNtfS59+1tc8TZIkSdLfhg2HP+fCZpVgx2apjkZScbbv3lB3q+SY88JL9k9IWncWv0kF6IMPYeQoyCwFRxxu4ZukkqV1q0DrVpCTA888b6NFkiSpMNm9c9JG/fzzZGYHSZIkSQIYMDBpH+zcPrlwRpI2lYyMwH/PTI4zPV6FcePsn5C0bix+kwrIxImR+x5ITtCnnByoVtUGgqSS57RTkmNfr94w9Q8bLZIkSYVFi+aQlZVcXf3dkFRHI0mSJKmw+HZwctu2jeNakja9XXcOdO4EuXlw8+2RhQsdS5K0dha/SQXg558j514QWZQNLVvAUUekOiJJSo3GjQKtWkJuLvR4zQaLJElSYZGREejUMdl26VNJkiRJADNmRsaPhxCgdatURyOppLjwvEDWZjB+PFx7Q3SGeklrZfGbtAnFGHn/g8gZZ0dmzoJt6sP11wTS0rw6RlLJdezRyTHwvfdh9hwbLJIkSYXFsqVPv/gSli41T5MkSZJKukF/zfq2XUPIynJsS1LBqFIlcMdtgdKlYcBAuODiyOzZ9lNIWr2MVAcgFVdLl0bu/b/Iex8k/92iOdxyU6BSRRsHkkq21q1gh+3hx9Hw+huR00/1uChJklQY7NgMqlaBmbPg20Gwy86pjkiSJElSKn07KCk22WmnFAciqcRp3Chw601w9XWR74fB4UdF9twjUrNmYMqUyPhfYPLvEEkmoDnkoMBuHSEEx5ykksiZ36RNIDc3cu31SeFbWhqccVrg/+6x8E2SIGl4HHtMcjx88y1YsMCrdSRJkgqD9PRA507Jdt/PzdEkSZKkkiwvLy6f+a3tTo5vSSp4bdsEnng00LABLMqG9z6AJ56KvP8h/Pgj/DkX5s6Fod8nRXKPP2VfhlRSOfObtAk8+XTky/6QmQk33xDYub2NAkn6pw67QL26MOFXePtdOOaoVEckSZIkgM6dAm+8GfnqK1iyJJKZaXtWkiRJKonG/QRz5kDZstC4UaqjkVRS1asbeOpxGPwdDP4uMns2VK8O9esH6m4FMULvTyIv94AXXoQa1SPdDrQvQyppLH6T8tnQ7yMvvJRs/+9SC98kaVXS0gLHHAW33B559bXIoQdD6dIeLyVJklKtaROoWhVmzkw6lndun+qIJEmSJKXCt4OS21YtoVQp+24lpU4IgZ1aw06tV30s2nabQLlykSefjjz0SGTXXaBaVY9bUknisqdSPsrJifzf/cl0qgceAHvv5UlVklZnrz2hRg2YNRs+/DjV0UiSJAmSixQ6dUy2+/ZzuRBJkiSppPp2UNIeWF2xiSQVJscfC412gEWLkqVRJZUsFr9J+ejd92H8z1CpEpxxqo0BSVqTjIzA0Uckx8qXX4nk5NgYkSRJKgw6d0pytC/7w9Kl5miSJElSSbNwYWTEyGS77U6pjUWS1kVaWuC8c5L+jA8/ggm/2p8hlSQWv0n5JDc30uO15CR6yomBzTaz+E2S1mb/LpCVBVOmwmd9Uh2NJEmS4K+lT6vA/PnJ0qeSJEmSSpah30NODtSqBVtskepoJGndNGkc6LALxAhv9LT4TSpJLH6T8smAgTB5MlSsmBRzSJLWrkyZwOGHJsXCL74cycuzMSJJkpRq6emB3Vz6VJIkSSqxBg1O2gFtd4IQnOxBUtFx2F9jTh/3hrnz7NOQSgqL36R80vOt5OTZtUtSzCFJWjcH/QfKlYNfJsDnX6Q6GkmSJMHfS59+8ZVLn0qSJEklzcBBye1OOzneJaloadEctt0GsrPh/Q9SHY2kgmLxm5QPJk6MfDsIQoBu/7EhIEnro2LFwBGHJdsPPxZZvNjBVUmSpFRr1hSqVE6WPv12UKqjkSRJklRQpkyJ/PYbpKdBqxapjkaS1k8IYfnsb2+8GcnJccxJKgksfpPywZvvJCfNndvDFrUtfpOk9XX0kYHNq8GUKfDaG6mORpIkSenpgT12T7Z7f2JHsSRJklRSfDs4uW3UCCpUcMxLUtGz5+6QlQXTpsGXX6U6GkkFweI3aSMtXBj58KNk+5CDbARI0oYoWzZw5unJMfT5FyMzZjrAKkmSlGr77pPkZ19+BfPmmZ9JkiRJJcE3A5Lcv20bx7wkFU2lSwe6HZhsv97T/gypJLD4TdpIH/eGhQthqy2hdatURyNJRddee8IOO8CiRfD4kzZGJEmSUq1hA9i6HixZCv0+T3U0kiRJkja1hQsj336bbHfYNbWxSNLG6PafQEYGDB8BP452zEkq7ix+kzZCjJE330pOlgcfFEhL8yoYSdpQaWmB889JjqMffQzDhtsYkSRJSqUQwvLZ3z74yNxMkiRJKu4GfJtc/FJnC6i/daqjkaQNV61qYM89ku0er9qnIRV3Fr9JG+G7ITDhVyhbFvbbJ9XRSFLR16RxYP8uECPccntk4UIbJJIkSam0796Qng4jR8G4n8zNJEmSpOLsiy+TnL9jx+RiGEkqyo44LDmO9fscpk61T0Mqzix+kzZCzzeTk+R++0D58jYCJCk/nHtWoEYNmDwZHn7MxogkSVIqVa0a2K1jsv3Ou+ZmkiRJUnG1aFHk62+S7Y67OuYlqehrsG2gdSvIzYPXe9qnIRVnFr9JG2jKlEj/vxoBhxxkI0CS8kuFCoErL0+Oq2+/A98OskEiSZKUSt0OTHKzXp/AvHnmZpIkSVJx9MlnsHAhbFEbGu2Q6mgkKX8ceXjSp/HeBzB/vn0aUnFl8Zu0gd56N5KXB61bQd26Fr9JUn5q1TJw6MHJ9q13RGbMtEEiSZKUKi2aQ/2tYdEi6PlWqqORJEmSlN9ijLz1dtIH2+0/gbQ0x70kFQ9t20C9eklx77vvpzoaSZuKxW/SBli8OPL+B8n2oQfbAJCkTeHM0wP16sKMGXD1tZElSyyAkyRJSoUQAscfm7R9X309snCheZkkSZJUnIwYCeN+gsxM2H+/VEcjSfknhMCRhyV9Gq+9EVm82D4NqTiy+E3aAB/1grlzoVZNaN8u1dFIUvFUpkzgtlsCFSrAyFFw972RGG2USJIkpULnTrDVljBvHrz6eqqjkSRJkpRf8vIiDz6c9LvusxdUquSkD5KKl733gho1kskW3non1dFI2hQsfpPWU05O5OUeSSPg8MMC6ek2AiRpU9myTuDG6wJpafDhx/DaG6mOSJIkqWRKTw+cclLS/n3hpciUKV6UIEmSJBUHH3wIP/wI5cqxPOeXpOIkMzNw0vHJ8e3Fl5zRXiqOLH6T1tPnX8DkybBZJejaJdXRSFLx12anwFlnJo2SBx+O9O1no0SSJCkVdu8MLZrDkiXQ/X5n5ZUkSZKKukGDI93vT/L6U04KVKtm8Zuk4mnffaBOHZjzpxMtSMWRxW/SesjNjTz7fNIIOOTgQNmyNgIkqSAccRh0OxBihBtviQz93oFWSZKkghZC4MLzAxkZ8PU30OO1VEckSZIkaUNkZyfjXZdfGVmyBHZuD4cclOqoJGnTycgInPrX7JavvBqZO9dxJqk4sfhNWg+ffAa/TICKFeGwQ1IdjSSVHMsGWjvsCkuXwhVXRcb/bMNEkiSpoNXfOnDu2Uln8aOPRb762pxMkiRJKgpijAwfEbnjrjwOPDjy5NNJ4VuHXeDmGwIZGU74IKl4270zbLMNLFgAL/ewP0MqTix+k9bR4sWRp55JToLHHBWoWNFGgCQVpPT0wPXXBHZsBvMXwP+ujPz5p40TSZKkgnZwN9hvH8jNg6uvjfT73JxMkiRJKqzmzYu83CNy1HGRs86NvPcBLFwItWvDddcEbr05kJnpmJek4i8tLXDaycnx7o03YeZM+zOk4sLiN2kdvfhyZMoUqFYNDj041dFIUslUunTgtlsCW9SGKVPhhpsjeXk2TiRJkgpSCIHLLw3s0RlycuDq6yJPPp1nXiZJkiQVItOnR+57II+DD488/Ghk0iQoWwa67AsP/F+gx4uBvfYIhGDhm6SSY5edYYcdIDsbXnjZfgypuLD4TVoHEydGXnw52T737ECZMjYEJClVKlVMrkYsUwa+HQQ9Xkt1RJIkSSVPRkbgmqvC8ovDnn0eLr8yMneeHceSJElSKsUY6flW5OjjI6/3hEWLoP7W8L/LAu+8Gbjyf2m0aB5IS3OsS1LJE0Lg9FOS498778LUP+zHkIoDi9+ktcjJidx8W2TpUmjbBnbvlOqIJEnb1A+cf07SOHn8yci4cTZOJEmSClpGRuCC89K4+spAZiZ8MwBOOyMy/mdzM0mSJCkVliyJ3HxrpPt9kUWLoEljuPeuwHNPB7p2CZQrZ8GbJLVuBS2aw9Kl8Nzz9mFIxYHFb9JaPP8i/PAjVCgPl17k9M+SVFh03R867JIstXXnPZHcXBsokiRJqbDv3oFHHwrUqgm/T4Yzzop8+pm5mSRJklSQliyJXHF1pNcnkJ4G550TePiBQJudHNuSpH8KIXD6qclx8cOP4LdJ9mFIRZ3Fb9IaDBgYefavau+LLgzUrGnjQJIKixACF18UKF8efhwN77yX6ogkSZJKroYNAk8+FmizE2Rnw/U3RZ55LhKjHciSJEnSppaXF7n+psjAb6FMGbj7zsDhh7q0qSStTtMmgZ3bQW4ePPaEfRdSUWfxm7QaEydGrr8xkpcHB+wPe+9pA0GSCptqVQOnn/LX8qdPRGbOtIEiSZKUKpttFrjr9sAxRyX//dQzkfsejOTlmaNJkiRJm9LzL8IXX0JmKbjt5sBOrR3TkqS1OeP0QFoa9Pschg2370Iqyix+k1Zh/vzI/66KzF8ATZvARRfYSJCkwqrbf2C7hjB/ATz4iI0TSZKkVEpPD/z3jDQuOC9pR7/RE265PbJ0qXmaJEmStCkMGRp56pkk3774IgvfJGldbVM/0HX/ZPuBh7x4TyrKLH6T/iUvL3LjzZGJv0H1zeGWGwOlStlQkKTCKj09cOlFgRDgk0+Tzh5JkiSl1qEHB665MpCeBr16wznnR6ZOXTlPizHyy4TI6z0jDzycx5NP5/HtoEhOjjmdJEmStDYLFkRuuT0SI+zfBfbfz/EsSVofp54UKFcORo+B3p+mOhpJGyoj1QFIhc1zL8DXAyAzE269OVClig0FSSrstt8+0O0/kbfehgcfjjz5GKSlefyWJElKpX32DlTaDG64KTLqBzj6+EiX/SKtWmQza1bkhx8jg4fAzJn/fmWk+ubw3zNhz90hBPM6SZIkaVUeeCjyxx9Qqxacf455syStrypVAscfC48+Hnns8ch/DvBiPKkocuY36R++GRh5+tnkhHbpRYHtt7OhIElFxcknBiqUh7HjktlFJEmSlHrt2waeejzQfEdYsgTefgeuuX4B3e+P9PokKXzLzISdWsORh0OXfSErC6ZNT4rmbrg5kp1tx7MkSZL0b19/E3n/QwgBrvpfoFw5x7QkaUMcdgjUqgnTZ8A9/7cg1eFI2gDO/Cb95ffJkRtuSqaG7vYf2G9fGwmSVJRUzgocfxw8/GjksScjnXaDsmU9lkuSJKXaFrUDD/wfDPwWvhkQmTKlFBmlllK3LuzUKtC4EZQu/Xfetnhx5JVX4ZnnIp9+BhMnRm69CWrWNLeTJEmSAObOjdxxd3KRyOGHQvMdzZUlaUOVLh249GK46NJIj1cX07RxYLeOHlelosSZ3yQgLy9y862R+fOh0Q5w3tmezCSpKDrkoOTqnBkzoMdrqY5GkiRJy4QQaNc2cOH5aTzxWCVuvSmNM05No2WLsELhGySdziceH7jv3kBWVjKz76lnRoYNdwY4SZIkKcak8G3mTNhqSzj9VMe0JGljtdkpcPSRyfaNt9gHIRU1Fr9JwFtvw4iRULYs3HhdIDPThoIkFUWlSwfOPCM5hr/0SmTGDBsnkiRJRVXzHQNPPhZo2BDmzIHzL4p8+JH5nSRJkkq29z+Az7+AjAy49uqVLyaRJG2Y008NdNi1FIsXwyWXR95+J5KTk/RD5OZGJv6WFMUNGx6ZN8/+CakwcdlTFbjhw4fzzDPPMGrUKJYuXcrWW2/NIYccwv77779B75eXl8e7777Lhx9+yC+//MKSJUuoWrUqTZo04cQTT6R+/forPD83N5eePXvywQcf8Ouvv5KWls7iJQ2I4QjOOrOTy6hIUhGRm5tL3759+eGHHxg1ahRjxowhOzubbt260aTxZYwcBU88HbnishWP60OGDGHIkCH88MMP/PDDD8yZM4e6devy6quvpuiTSEqlxYsX89hjj/HBBx8wefJkNttsMzp06MD5559PzZo11/v95s6dywMPPMCnn37K9OnT2Xzzzdljjz0477zzqFSp0ipfk5eXx/PPP0/Pnj359ddfKVeuHG3atOG8886jatWqKz1/9OjRfPnllwwePJjff/+dP//8k8qVK9OiRQuOPfZYGjRosMq/8+88OD09nYYNG3LEEUfQqVOn9f6sklQQatYIPHw/3HxbpN/ncMvtOfTp2486tX/gxx9/WJ4DHnTQQVx++eWrfZ9u3boxderU1T7eo0cP6tWrtwk+gSRJkkqqRYsW0a9fP0aNGsUPP/zAuHHjWLp0KWeddRbHH3/8Br3nxImR+x5MCi5OOyXwxuu38P777wPw5JNP0qRJk3yLX5JKmoyMQPe7K3LGWbMYPHgCd9zxBHfcPhRYCKEOIa0rIf1wQkjmmNpl58jppwa2qb/m+oLs7GxefvllPvnkEyZPnkzp0qVp1KgRxx9/PC1btlyn2IYOHcpZZ51FjHGtfSBSSWTxmwpUv379uOqqq8jLy6N58+ZkZWUxePBgbrrpJsaNG8cFF1ywXu+XnZ3NJZdcwuDBg6lUqRLNmjWjdOnSTJ48mc8++4z27duvUPyWm5vLZZddRv/+/SlXrhzNmzfnp/E5LFw4AriCmdNPBU7N188sSdo0Fi5cyNVXX73S/SEEzjkrcObZkQ8/gkMPjjTY9u+GR/fu3Rk3blxBhiqpkFq8eDEnnHACQ4cOXV6k9vvvv/Pmm2/Sr18/Xn31Vbbaaqt1fr/Zs2dz5JFHMmHCBLbcckv23HNPfvrpJ1544QW++OILXn31VSpXrrzCa2KMXHDBBfTq1YtKlSrRqVMnZs+eTe/evfn888958MEHV+i4zsnJ4cQTTwQgKyuLRo0aUaZMGcaOHUuvXr347LPPuPHGG9l9991X+DuryoNzcnIYMWIE//vf/zjttNM45ZRTNvzLlKRNqEyZwI3XwTPPRZ5+diFffXHNBr9Xly5dVnl/hQoVNvg9JUmSpFX57bffuOGGG/Lt/RYvjlx/cyQ7G1q1hIbbfscD971PCIEYnYFIkvJD2bKBk08YxXeDziXmZUNoRAi1iHnfE/Pup1yZ4WRVuYVp0wL9v4aB30YuuQi6dll1AdzChQs5++yz+fHHH6lUqRKtW7dm/vz5DBo0iIEDB3LVVVfRtWvXNca0ZMkSbr/99k3xcaViw+I3FZi5c+dy8803k5uby2233Ubnzp0BmDlzJmeccQY9evSgQ4cOtGrVap3f86abbmLw4MEccMABXHzxxZQpU2b5YzNmzCAnJ2eF5/fo0YP+/ftTu3ZtHnjgARYurM3Jp0fSM3+hQtnzePLJJ2nXrp1XxkhSEZCRkcF+++3HDjvsQKNGjRg7dix33nknAE0aB/boHPmsLzz4cOT/7kmK4gDatGnDHnvswQ477EBWVhYnnHBCKj+GpBR69NFHGTp0KC1atOCpp56ifPnyADzzzDPcfvvtXHnllbz44ovr/H633XYbEyZMYO+996Z79+5kZCTNrZtvvpkXXniB22+/nTvuuGOF1/Ts2ZNevXpRr149XnrpJapVqwZAr169OO+887j++uvp0aPH8vcCaNy4MSeffDLt27cnLS25yjAvL4/HH3+cZ599lptvvpmWLVuSlZW1/DX/zoO32GILAH755RfOOeccnnjiCdq2bWseLKnQSksLnHJSYKutSnHTTfuSk7MDIW0HGjYYx4+j7lrnwb5rr712E0cqSZIkJcqVK8cBBxxA48aN2WGHHejbty/PPvvsBr1XjJE77oqMHQuVKsGlFy3hwgvvoH79+pQvX54RI0bkb/CSVELl5ORw0003kLM0m/POO482bY9iwQIoX24ht99+PiNH9uOiCz6iWbP9efCRyNffwO13RubOhaOPXLkA7uGHH+bHH39k++23p3v37ssvjv7++++54IILuPPOO2nduvUaVyF55plnmDhxIgcccADvvvvuJvvsUlGWluoAVHK8++67zJ8/n44dOy4vfAOoWrUq55xzDgAvv/zyOr/f4MGD+eyzz2jUqBFXXHHFCoVvANWqVVvpJPHWW28BcMYZZ7DFFlvw9LORGGHPPbbmtNNOAuCFF17YoM8nSSpYZcuW5brrruPwww+nSZMmZGZmrvD4macHMkvBd0PgmwF/33/uuedy4okn0rZtWypWrFjAUUsqLJYuXbq8sO3aa69dXvgGcNJJJ7HddtsxaNAgRo4cuU7vN336dN577z1KlSrFddddt0Kx2mWXXUaVKlV47733mDFjxgqve+aZZwC49NJLlxe+Aeyzzz7svvvuTJo0iS+++GL5/RkZGTz11FPssssuywvfANLS0jjjjDOoW7cuCxcupH///iv8nX/nwctsvfXWnHSSebCkomOvPcrx5hvXsd9+hxHSmjBmTJID9v4Urrwmj4ceyePtdyJf9Y/8ODoybVpk6VJnwZAkSVLBq1On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K+aVX331FQDffvstQ4cOXeGxcePGAXDnnXdSvnx5DjvsMHbffff1ikGSlKhVqxZ//vkn06dPp0GDBis9vi41DUceDgMGwpChcPOt8PAD57P//vvzxRdfMG3aNLKysujYsSNbb701L730EqVLl17eHzF69GimT59OrVq1uOCCC1Z431mzZgHw5ZdfMmHCBOrUqcNVV12VT59cKtosflO+GTBgwBofb9CgAUOHDmX06NErDarl5OTw888/k5mZyVZbbbXWv5WRkUH9+vUZM2YMc+fOXeVzlt3/z6rrV15Npopu1qwOl19+3ApXZ//000/MmjWLOnXqUL169bXGIEkqWrKyAjdcC+ddEPn0M8gsFTn26L8f//XXyMefJLPD/dV2IS0NOneKnHlaoFYtBzKl4mT77bcH4Icffljl46NGjQJgu+2222Tvt2x73LhxLF26dKUZ25a9Ztttt13lez733HO89NJLVK5cmfvvv58aNWqsNc46deqsdMWgebCkkm5V/Qf/tNlmgfPOCZxyUmTAtzBoUGTsOPj5F5g7FwZ/B4O/izz5FBx4YOTkEwOVs8wdJUmSiru1jYuti8WLI1dclRS+Va0C3e8O1K+/+lxy5MiRq31s7NixABs085wkKbH99tszevRoRo8ezc4777zS42PGjAFW32cLkJYWuOoKOOGkyA8/JhfUnXJSg5WK6b788kvy8vJo1qzZSivnTZkyhSlTpqzy/WfMmMGMGTOYP3/++n48qdhKS3UAKjmWnRz69u270mNfffUVixcvpnXr1pQuXXqd3q9Dhw4ADBkyZKXHJk+evPxksGxQcfr0yFtvJ4+fcFxYaVmSV155BYBu3bqt09+XJBU9OzYLXHpJIC0NPvwYzjonmbFjytTIMSdEXngxKXwrXx5q1oC8PPisD5z238iIkTHF0UvKTy1btqRixYpMnDhxlQVrvXr1AqBTp07r9H4dOnQgLS2NwYMHM3PmzBUeW7JkCX379iUtLY2OHTsuv3/LLbdkm222ITs7m88//3y1Meyyyy4rPfb222/zyCOPULFiRe677z7q1q27TnGuinmwpJLs559/ZuLEiZQpU2aty0eVLx/Yo3Pgf5el8fQTafT+MPDU44GLLww03xFy8+Ctt+HIYyIv94jk5Jg/SpIkafVijNx1b2TYcKhQHu65a/WFb9deey0DBgxY5b8WLVoA8OSTTzJgwACOPPLIgvwYklSsLCsgXlVNw5gxY/j999/ZeuutV5g5flVqVA9cfFFyTH/uBRg5auU+gh49egAr9su2atVqtcf7q69OljQ66KCDGDBgAC+88MIGfUapOLL4TQXmwAMPpHz58nzxxRcrnCxmzZrFgw8+CMBRRx210uuOOOIIjjjiiOVTiC5zyCGHUL58ed5//30GDhy4/P6FCxdy5513kpubyy677LJ8BoznXogsXrKIhttOoG2bv98nLy+PF198kQ8++IC6dety+OGH5+fHliQVMl27BO68LVClMsyek9y3ZAmkp8HO7eHG6wPvvhl449U0nn4i0LABzJkDF14SGfWDA5hScZGZmckxxxwDwI033sjChQuXP/bMM88wZswYWrVqRbNmzVZ43Ysvvsi+++7LPffcs8L91atXZ//992fp0qXccMMN5OTkLH/szjvvZNasWXTt2pXNN998hdeddNJJANx1110rFM317t2bPn36ULt27ZWu2O7Tpw933nkn5cqV495776Vhw4Zr/byLFi1iwoQJK9xnHiyppBgwYACjR49e6f5x48Zx5ZVXEmPkwAMPXGkGzrXJzAxs1zBw0H8CD96Xxv3dk9xxwQJ4+NHIWedGJv5m/ihJkqRVe/td+LhXsvrEzTcGtt0mKZJY3biYJGnT22uvvahduzbjxo1bftEwJP2rd999N7DqmoZzzjmHI444YvlqHgB77RHYrcMscnOncuMtkYULkz6CpUuXcu+99/Ldd9/RqlUr9thjj038qaTiz2VPVWA222wzrrrqKq6++mquvPJKWrRoQVZWFoMGDWLevHkcfvjh7LTTTiu97tdffwVYYQARoHLlylxzzTVcddVVXHjhhTRu3JgqVaowcuRIZs6cSe3atbn88ssB+GVC5L0PgDiHH0YezbHHbkOdOnVIT0/nhx9+YOrUqdSqVYvu3buTmZm5yb8LSVL+uPPOO5dPMT1nzhwA+vXrt3yKf4Cnnnpqhde88847vPvuu1SrDBlhCZMnQ0b6VOpteRozp8FLL0Dtmpey/fbb07BB4MH74KprI4MGw2X/izzyEGy1pctYScXBWWedxTfffMPQoUPZe++9ad26NZMnT2bYsGFkZWVx2223rfSa2bNn88svvzB9+vSVHrvyyisZNmwYvXr1Yr/99qNJkyb89NNPjB07lq22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ZOi6667jAjXQRdG/BaC9NNcXAPeR/NaEwDq9rfXiiy9qypQpkqTrrruu3mNDhw7VAw88oNjYWK1du1bPP/+8lixZ0p7FBdDF3HPPPfV+Hzt2rNatW6ebbrpJO3fu1ObNm/W9733PncIB6HJmzpxZ7/eBAwfq7rvvVnJyspYtW6Znn322wcwA6Fqqqqr0wAMPaPv27br++usZjQ80gTYeuhLaD+2L71rntFTXxHb76Nevn7788ktVVlbqxIkT+uc//6mnnnpKu3fv1tNPP83yMu2stfVNfF+4AwcOaO3atbrtttu6/MowwVx7Cfjggw8kmVmTt23bphUrVuj666/Xn/70J/Xp06c9iwuHtUd8BKxfv17r1q3TqFGj9OCDD7ZTCeGW9owNAADain6X0EcvQRPmzp2r4uLiVu+fnJzc4j4LFizQ2rVrtXv37mCKhk6gpZF5RUVFTY5AAJri8Xh07bXXaufOndq1axcXRtFqgeNNYATU+VoaGQU05ZprrtHDDz+sXbt2uV0UuMi2bT300EN66623NG/ePD388MP1HucYFLpos4YG2njO4FgUOmg/tB3ftc5pqa6bQ2xfmIiICPXr10933HGHPB6PVqxYoddee0033ngjsd0Bmqvv5hDfLVuyZIn69++ve++9t1X7d+b4bs9rLykpKZo7d64GDBighQsXavny5Xr66afboZRwS3vFx8aNG/XLX/5SaWlp+vOf/6zu3bu3VxHhko64bouugf4tAMEKpi8AziH5rQnLli1r99f0+XySpHPnzrX7ayO8DBo0SJKUmZmpMWPG1HssPz9fubm5GjdunAslQ7jjOIMLMXDgQEnS0aNHG308MzOz3n5Aa0VHR6t79+4qLS11uyhwSVVVlR588EG98cYbmjt3rpYvXy6Px1NvH45BoYs2a+igjdfxOBaFDtoPbcN3rXNaU9fNIbaDN2PGDK1YsULp6em68cYbie0Odn59N4f4btmBAwckSRdffHGjjy9atEiS9Mwzz2jmzJmdOr474trLJZdcooSEBKWnp7f7a8NZ7REfGzZs0LJlyzRs2DC98MILNedTCG8dcexA10D/FoBgBNsXAOfwrjjo008/lSSlpqa6XBK4bdKkSZKk//73vw0e++ijjyRJkydPdrRM6Bz27t0rieMM2mbQoEHq1auXdu3apZKSknqPlZWVaceOHerV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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "az.plot_posterior(idata1, var_names=[\"mu\", \"tau\", \"eta4\"])" - ] - }, - { - "cell_type": "markdown", - "id": "a338d42a", - "metadata": {}, - "source": [ - "## Structuring the posterior as multidimensional variables" - ] - }, - { - "cell_type": "markdown", - "id": "a0969993", - "metadata": {}, - "source": [ - "This way of calling ``from_emcee`` stores each `eta` as a different variable, called `eta#`, \n", - "however, they are in fact different dimensions of the same variable. \n", - "This can be seen in the code of the likelihood and prior functions, where `theta` is unpacked as:\n", - "\n", - " mu, tau, eta = theta[0], theta[1], theta[2:]\n", - " \n", - "ArviZ has support for multidimensional variables, and there is a way to tell it how to split the variables like it was done in the likelihood and prior functions:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "bdb9ed86", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:      (chain: 40, draw: 1500, var_2_dim_0: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain        (chain) int64 0 1 2 3 4 5 6 7 8 ... 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw         (draw) int64 0 1 2 3 4 5 6 ... 1494 1495 1496 1497 1498 1499\n",
        -       "  * var_2_dim_0  (var_2_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    var_0        (chain, draw) float64 0.6982 0.7962 0.8433 ... 5.763 5.029\n",
        -       "    var_1        (chain, draw) float64 0.6679 0.7259 0.8075 ... 2.051 3.239\n",
        -       "    var_2        (chain, draw, var_2_dim_0) float64 0.08153 -0.5837 ... -0.03057\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:54.508656\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1500)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1493 1494 1495 1496 1497 1498 1499\n",
        -       "Data variables:\n",
        -       "    lp       (chain, draw) float64 -16.3 -17.83 -18.92 ... -20.11 -20.11 -16.68\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:54.505081\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:      (arg_0_dim_0: 8, arg_1_dim_0: 8)\n",
        -       "Coordinates:\n",
        -       "  * arg_0_dim_0  (arg_0_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "  * arg_1_dim_0  (arg_1_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    arg_0        (arg_0_dim_0) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
        -       "    arg_1        (arg_1_dim_0) float64 15.0 10.0 16.0 11.0 9.0 11.0 10.0 18.0\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:54.506402\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> sample_stats\n", - "\t> observed_data" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata2 = az.from_emcee(sampler, slices=[0, 1, slice(2, None)])\n", - "idata2" - ] - }, - { - "cell_type": "markdown", - "id": "43a9f608", - "metadata": {}, - "source": [ - "After checking the default variable names, the trace of one dimension of eta can be plotted using ArviZ syntax:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "783e8c25", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "az.plot_trace(idata2, var_names=[\"var_2\"], coords={\"var_2_dim_0\": 4});" - ] - }, - { - "cell_type": "markdown", - "id": "96731bb8", - "metadata": {}, - "source": [ - "## `blobs`: unlock sample stats, posterior predictive and miscellanea" - ] - }, - { - "cell_type": "markdown", - "id": "32c2d203", - "metadata": {}, - "source": [ - "Emcee does not store per-draw sample stats, however, it has a functionality called\n", - "blobs that allows to store any variable on a per-draw basis. It can be used\n", - "to store some sample_stats or even posterior_predictive data. \n", - "\n", - "You can modify the probability function to use this ``blobs`` functionality and store the pointwise log likelihood,\n", - "then rerun the sampler using the new function:" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "c02124d6", - "metadata": {}, - "outputs": [], - "source": [ - "def lnprob_8school_blobs(theta, y, s):\n", - " prior = log_prior_8school(theta)\n", - " like_vect = log_likelihood_8school(theta, y, s)\n", - " like = np.sum(like_vect)\n", - " return like + prior, like_vect\n", - "\n", - "\n", - "sampler_blobs = emcee.EnsembleSampler(\n", - " nwalkers,\n", - " ndim,\n", - " lnprob_8school_blobs,\n", - " args=(y_obs, sigma),\n", - ")\n", - "sampler_blobs.run_mcmc(pos, draws);" - ] - }, - { - "cell_type": "markdown", - "id": "928030fc", - "metadata": {}, - "source": [ - "You can now use the `blob_names` argument to indicate how to store this blob-defined variable. As the group is not specified, it will go to sample_stats.\n", - "Note that the argument blob_names is added to the arguments covered in the previous examples and we are also introducing `coords` and `dims` arguments to show the power and flexibility of the converter. For more on `coords` and `dims` see `page_in_construction`." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "0bac089b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1493 1494 1495 1496 1497 1498 1499\n",
        -       "  * school   (school) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 0.6982 0.7962 0.8433 ... 5.763 5.763 5.029\n",
        -       "    tau      (chain, draw) float64 0.6679 0.7259 0.8075 ... 2.051 2.051 3.239\n",
        -       "    eta      (chain, draw, school) float64 0.08153 -0.5837 ... 0.0377 -0.03057\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:57.535401\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:         (chain: 40, draw: 1500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain           (chain) int64 0 1 2 3 4 5 6 7 8 ... 32 33 34 35 36 37 38 39\n",
        -       "  * draw            (draw) int64 0 1 2 3 4 5 6 ... 1494 1495 1496 1497 1498 1499\n",
        -       "  * school          (school) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    log_likelihood  (chain, draw, school) float64 -3.3 -0.5916 ... -0.1543\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:57.531408\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1500)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1493 1494 1495 1496 1497 1498 1499\n",
        -       "Data variables:\n",
        -       "    lp       (chain, draw) float64 -16.3 -17.83 -18.92 ... -20.11 -20.11 -16.68\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:57.532516\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:      (arg_0_dim_0: 8, arg_1_dim_0: 8)\n",
        -       "Coordinates:\n",
        -       "  * arg_0_dim_0  (arg_0_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "  * arg_1_dim_0  (arg_1_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    arg_0        (arg_0_dim_0) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
        -       "    arg_1        (arg_1_dim_0) float64 15.0 10.0 16.0 11.0 9.0 11.0 10.0 18.0\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:14:57.533391\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> observed_data" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dims = {\"eta\": [\"school\"], \"log_likelihood\": [\"school\"]}\n", - "idata3 = az.from_emcee(\n", - " sampler_blobs,\n", - " var_names=[\"mu\", \"tau\", \"eta\"],\n", - " slices=[0, 1, slice(2, None)],\n", - " blob_names=[\"log_likelihood\"],\n", - " dims=dims,\n", - " coords={\"school\": range(8)},\n", - ")\n", - "idata3" - ] - }, - { - "cell_type": "markdown", - "id": "e02766e0", - "metadata": {}, - "source": [ - "## Multi-group blobs" - ] - }, - { - "cell_type": "markdown", - "id": "ead8414d", - "metadata": {}, - "source": [ - "You might even have more complicated blobs, each corresponding to a different group of the InferenceData object. Moreover, you can store the variables passed to the ``EnsembleSampler`` via the ``args`` argument in observed or constant data groups. This is shown in the example below:" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "876594a9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([-3.41541659e+00, -6.35964292e-01, -4.38888593e-02, -4.32716958e-01,\n", - " -3.27623973e-03, -1.24760573e-02, -3.05547121e+00, -4.60634226e-01])" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sampler_blobs.blobs[0, 1]" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "6d2fec57", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1493 1494 1495 1496 1497 1498 1499\n",
        -       "  * school   (school) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 0.6982 0.7962 0.8433 ... 5.763 5.763 5.029\n",
        -       "    tau      (chain, draw) float64 0.6679 0.7259 0.8075 ... 2.051 2.051 3.239\n",
        -       "    eta      (chain, draw, school) float64 0.08153 -0.5837 ... 0.0377 -0.03057\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:15:01.274909\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1493 1494 1495 1496 1497 1498 1499\n",
        -       "  * school   (school) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    y        (chain, draw, school) float64 2.55 -6.472 -27.52 ... -0.198 23.99\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:15:01.270461\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:         (chain: 40, draw: 1500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain           (chain) int64 0 1 2 3 4 5 6 7 8 ... 32 33 34 35 36 37 38 39\n",
        -       "  * draw            (draw) int64 0 1 2 3 4 5 6 ... 1494 1495 1496 1497 1498 1499\n",
        -       "  * school          (school) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    log_likelihood  (chain, draw, school) float64 -3.3 -0.5916 ... -0.1543\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:15:01.271500\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 40, draw: 1500)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3 4 5 6 7 8 9 ... 30 31 32 33 34 35 36 37 38 39\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 ... 1493 1494 1495 1496 1497 1498 1499\n",
        -       "Data variables:\n",
        -       "    lp       (chain, draw) float64 -16.3 -17.83 -18.92 ... -20.11 -20.11 -16.68\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:15:01.272272\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    y        (school) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:15:01.273600\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:      (sigma_dim_0: 8)\n",
        -       "Coordinates:\n",
        -       "  * sigma_dim_0  (sigma_dim_0) int64 0 1 2 3 4 5 6 7\n",
        -       "Data variables:\n",
        -       "    sigma        (sigma_dim_0) float64 15.0 10.0 16.0 11.0 9.0 11.0 10.0 18.0\n",
        -       "Attributes:\n",
        -       "    created_at:                 2021-08-30T18:15:01.273208\n",
        -       "    arviz_version:              0.11.2\n",
        -       "    inference_library:          emcee\n",
        -       "    inference_library_version:  3.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "def lnprob_8school_blobs(theta, y, sigma):\n", - " mu, tau, eta = theta[0], theta[1], theta[2:]\n", - " prior = log_prior_8school(theta)\n", - " like_vect = log_likelihood_8school(theta, y, sigma)\n", - " like = np.sum(like_vect)\n", - " # store pointwise log likelihood, useful for model comparison with az.loo or az.waic\n", - " # and posterior predictive samples as blobs\n", - " return like + prior, (like_vect, np.random.normal((mu + tau * eta), sigma))\n", - "\n", - "\n", - "sampler_blobs = emcee.EnsembleSampler(\n", - " nwalkers,\n", - " ndim,\n", - " lnprob_8school_blobs,\n", - " args=(y_obs, sigma),\n", - ")\n", - "sampler_blobs.run_mcmc(pos, draws)\n", - "\n", - "dims = {\"eta\": [\"school\"], \"log_likelihood\": [\"school\"], \"y\": [\"school\"]}\n", - "idata4 = az.from_emcee(\n", - " sampler_blobs,\n", - " var_names=[\"mu\", \"tau\", \"eta\"],\n", - " slices=[0, 1, slice(2, None)],\n", - " arg_names=[\"y\", \"sigma\"],\n", - " arg_groups=[\"observed_data\", \"constant_data\"],\n", - " blob_names=[\"log_likelihood\", \"y\"],\n", - " blob_groups=[\"log_likelihood\", \"posterior_predictive\"],\n", - " dims=dims,\n", - " coords={\"school\": range(8)},\n", - ")\n", - "idata4" - ] - }, - { - "cell_type": "markdown", - "id": "50b59d48", - "metadata": {}, - "source": [ - "This last version, which contains both observed data and posterior predictive can be used to plot posterior predictive checks:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "c9f059a2", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtsAAAHrCAYAAAAe4lGYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOy9d3ic5Zn9f57pvWg0GnVZsuXeTTHVdkwJLUsCG3YhWfIziVnCsiSLIV82JGxIYbNkyYaUJbQFQkjBIUuCgYUEQgKhuODeZPVeRmVGmj7z/P64NdKMNDMayZLV7s91cdkezbzvM+/YyXnPnOfcQkopwTAMwzAMwzDMpKOY7gUwDMMwDMMwzFyFxTbDMAzDMAzDTBEsthmGYRiGYRhmimCxzTAMwzAMwzBTBItthmEYhmEYhpkiWGwzDMMwDMMwzBTBYpthGIZhGIZhpggW2wzDMAzDMAwzRagm8qKenp5JObnVakVfX9+kHIs5M/BnNvvgz2z2wZ/Z7IM/s9kHf2azj5n4mdnt9jGfM63OtkLBxvpsgz+z2Qd/ZrMP/sxmH/yZzT74M5t9zNbPbHaummEYhmEYhmFmASy2GYZhGIZhGGaKYLHNMAzDMAzDMFMEi22GYRiGYRiGmSJYbDMMwzAMwzDMFMFim2EYhmEYhmGmCBbbDMMwDMMwDDNFsNhmGIZhGIZhmCmCxTbDMAzDMAzDTBEsthmGYRiGYRhmimCxzTAMwzAMwzBTBItthmEYhmEYhpkiWGwzDMMwDDNnaGlpwcaNG7F3797pXsqk8fLLL2Pjxo1Df967dy82btyIlpaWST0uMzWw2GYYhmEYJiUPPPAANm7ciI0bN+L888/HNddcg3/7t39De3v7pJ3j2muvxeOPPz5px3O5XNi1axdWr149acecaaxevRq7du2Cy+XK6vnpbkAuueQS7Nq1ayqWyCTAYpthGIZhmLSsWrUKu3btwksvvYT77rsPhw4dwo4dOxCLxaZ7aaMIhUJQKpVwOBxQq9WnfazJZDKPp1ar4XA4oFQqT+s4Op0ODodjklbFpIPFNsMwDMOcYaSU8PvP/H9SynGvVaVSweFwwOl04txzz8XnP/95VFVVoampCQDwxhtv4KabbsJFF12Eq666Cg8//DACgcDQ62tqanDnnXfikksuwaZNm3DDDTfg1VdfBQDceOONaGtrw5NPPjnkoMejEc3Nzbj33ntx6aWX4pJLLsEdd9yBqqqqoePGoxR//etfcdttt2HTpk147rnnUrq4TU1NuOeee7B161Zs3rwZ//RP/4Rjx44N/Tz+mldffRU7duzAli1b8NBDD6W8HvHoxb59+3DTTTfh4osvxk033ZR0vkzH2717N7Zv345Nmzbh6quvxgMPPICenp6kvxs//elPccUVV2DLli2477774PV6k9aQKkbS1NSEr371q7jsssuwadMm/P3f/z3+8Ic/oLe3F5/61KcAALfffjs2btyIa6+9Num9AIDP58OWLVvw+9//Pulcfr8fW7Zswe9+97uhx3bu3IkbbrgBF198Ma6//no89dRTiEQiKa8XA6imewEMwzAMM5+QUuKLd0gcOnzmz71qJfCTHwJCiAkfQ6vVAgDC4TA++OADfP3rX8ctt9yCSy+9FI2Njfjud78Lr9eL+++/HwDwta99DeXl5Xjssceg1WrR0NCAaDQKAPjv//5vfPazn8Ull1yCm266CQBgs9nQ3d2N7du34+KLL8ZPfvITaDQavPDCC/jiF7+IX/7yl0lu7MMPP4zbb78dS5YsgRBi1A1FKBTCnXfeidzcXDzyyCPQaDR48skncfPNN+NXv/oVbDbb0HN//OMf4x//8R/x5S9/ecwbk+9///tDx33mmWdw1113YefOncjNzU17vL1792LHjh24/fbbcd9992FgYAA//OEPcc899+Cxxx6DEAK//vWv8fzzz2PHjh1Ys2YN3n77bTz55JMZ1+J2u/GFL3wB5eXl+I//+A84nU7U1dUhHA7DarXiqaeewrZt2/Dggw9i9erVUChGe60GgwFbtmzBK6+8gmuuuWbo8TfffBNSSmzduhUA8NRTT+Gll17Cl7/8ZSxevBh1dXX47ne/i0AggC9+8YsZ1zlfYWebYRhmlhKLSRw8JLF7j4THO37HkmHGS0tLC372s5/B5XKhrKwMTz/9NC666CJ8/vOfR1lZGS688ELs2LEDr7322pDr2traivPPPx8VFRUoKirCeeedhwsvvBAAYLVaoVAooNfr4XA4hqIRL774IpxOJ77yla+gsrISZWVluOuuu2CxWPDaa68lrenmm2/Gli1bUFhYiIKCglFrfv3119HZ2YnvfOc7WLFiBSorK/GNb3xjSMAn8olPfAJXX301ioqKUFxcnPFa3Hbb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dC+DmaWopnsBDMMwzOSi1wOtbdO9CmYu4ff78dxzz+GPf/wjWlpaoFarsWTJEvzd3/0dLr744uleHsPMaFhsMwzDzDF0OiAQmO5VMHOFgYEB3HbbbfB4PLjtttuwatUq+P1+vP7667j33ntxyy23YNu2bdO6xlAoBI1GM61rYJh0sNhmGIaZY2i1AhASwaCk3zPMafDTn/4UdXV1eP7551FcXDz0+G233QatVovHH38cF1xwAZYsWQIA6O/vx3333Yd3330XWq0W1157LbZv3w6FgpKrf/7zn/HEE0+gvr4earUapaWl+MpXvjL0+ubmZvzoRz/Cnj17IKXEsmXL8M///M+orKwEAOzduxe33347Hn74YfzsZz/D0aNHcfPNN+P3v/89rrjiCmzfvn1ojVJKXHfddbj88stx6623AgD+8Ic/4Nlnn0VdXR1ycnKwefNm3HrrrdDr9QBIuH//+9/H66+/DoVCgUsvvRQmk2nqLzQzZ2GxzTAMMwcx6AG/H9Bqp3slTCqklPBNQ7DeYDBAiOxvwKSUeO2113DZZZclCe04N954I5555hm8+uqrQ2L5ySefxOc+9zls374dBw4cwPe+9z3Y7XbccMMNcLvd+Nd//Vds374dW7duRTgcxsmTJ6FUKgEA3d3d2L59Oy6++GL85Cc/gUajwQsvvIAvfvGL+OUvfwmHwzF07ocffhi33347lixZAiEEotEodu3ahS984QtD7/Gjjz5CS0sLrrzySgDAq6++iocffhhf/vKXcdFFF+HUqVP43ve+B7fbjW9+85sAgJ/85Cd488038bWvfQ3l5eV46aWXsHPnTlgslolddGbew2KbYRhmDqLTkdi22aZ7JcxIpJS44oor8OGHH57xc5977rl45ZVXshbcPT098Hg8qKioSPlznU6H4uJiNDQ0DD12zjnn4KabbgIAlJaWora2Fj//+c9xww03oLOzE5FIBJdddhny8/MBAAsWLBh67Ysvvgin04mvfOUrQ4/dddddeO+99/Daa68NHRcAbr75ZmzZsmXoz1deeSWeeuop7Nu3Dxs2bAAAvPLKK1izZg1KSkoAAI899hi2b9+OK6+8Ena7HWazGTt27MBtt92Gu+66C1qtFi+++CLuvPNObN68GQDwz//8z9i3bx96e3uzumYMMxIW2wzDMHMQ/aCzzcxMxuMuTydS0nCk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v6PO//3vfx/XXHMN1qxZg3/4h3/Am2++mfScRx99FH//93+PzZs34+qrr8b9998Pt9ud9JyNGzfihRdewLe+9S1s3boVV111FX74wx8iGo2mXfdkoZryMzAMwzDThkYDxKJAJCKhUonpXg6TwHPPS/zPM9k//9XfC5jNyY9df4NE/0B2r7/icuCr957+3wGtVgsACIfD+OCDD/D1r38dt9xyCy699FI0Njbiu9/9LrxeL+6//34AwNe+9jWUl5fjscceg1arRUNDw5DA+e///m989rOfxSWXXIKbbroJAGCz2dDd3Y3t27fj4osvxk9+8hNoNBq88MIL+OIXv4hf/vKXSW7sww8/jNtvvx1LliyBEGLUTUkoFMKdd96J3NxcPPLII9BoNHjyySdx880341e/+hVsNtvQc3/84x/jH//xH/HlL3855c1NIt///veHjvvMM8/grrvuws6dO5Gbm5v2eHv37sWOHTtw++2347777sPAwAB++MMf4p577sFjjz0GIQR+/etf4/nnn8eOHTuwZs0avP3223jyySczrsXtduMLX/gCysvL8R//8R9wOp2oq6tDOByG1WrFU089hW3btuHBBx/E6tWroVCM9loNBgO2bNmCV155Bddcc83Q42+++SaklNi6dSsA4KmnnsJLL72EL3/5y1i8eDHq6urw3e9+F4FAAF/84hczrvO///u/cccdd+DOO+/Ez372M/zbv/0b1q1bh82bN+P/+//+P7zyyiv4j//4D6xfvx6lpaUAgLvvvhvRaBTf/OY3sWjRIvzhD3/A17/+dRgMhqEbBY1Gg7vvvhv5+fno6OjAI488gq9//ev48Y9/nHT+J598Etu2bcPNN9+MI0eO4Jvf/CbKy8tx9dVXZ1z36cLONsMwzBxGCAEN57aZSaKlpQU/+9nP4HK5UFZWhqeffhoXXXQRPv/5z6OsrAwXXnghduzYgddee23IdW1tbcX555+PiooKFBUV4bzzzsOFF14IALBarVAoFNDr9XA4HEPRiBdffBFOpxNf+cpXUFlZibKyMtx1112wWCx47bXXktZ08803Y8uWLSgsLERBQcGoNb/++uvo7OzEd77zHaxYsQKVlZX4xje+MSTgE/nEJz6Bq6++GkVFRSguLs54LW677Tacc845qKiowH333Qez2Yzf/OY3GY/35JNP4rrrrsOnP/1p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\n", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "az.plot_ppc(idata4, var_names=[\"y\"], alpha=0.3, num_pp_samples=200);" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "ac91b263", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Last updated: Mon Aug 30 2021\n", - "\n", - "Python implementation: CPython\n", - "Python version : 3.8.6\n", - "IPython version : 7.27.0\n", - "\n", - "emcee: 3.1.1\n", - "arviz: 0.11.2\n", - "numpy: None\n", - "\n", - "Watermark: 2.1.0\n", - "\n" - ] - } - ], - "source": [ - "%load_ext watermark\n", - "%watermark -n -u -v -iv -w" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "bd0cb61e", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.8.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/doc/source/getting_started/CreatingInferenceData.ipynb b/doc/source/getting_started/CreatingInferenceData.ipynb deleted file mode 100644 index cf19862cee..0000000000 --- a/doc/source/getting_started/CreatingInferenceData.ipynb +++ /dev/null @@ -1,27936 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "(creating_InferenceData)=\n", - "# Creating InferenceData\n", - "`InferenceData` is the central data format for ArviZ. `InferenceData` itself is just a container that maintains references to one or more `xarray.Dataset`s. See the `InferenceData` structure specification {ref}`here `. For more on xarray, you can get the details {ref}`here `. Below are various ways to generate an `InferenceData` object." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:33.334551Z", - "start_time": "2020-06-19T06:23:32.169645Z" - } - }, - "outputs": [], - "source": [ - "import arviz as az\n", - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From 1D numpy array" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:47:07.834217Z", - "start_time": "2020-06-05T06:47:07.827892Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 1, draw: 100)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 9 ... 90 91 92 93 94 95 96 97 98 99\n",
        -       "Data variables:\n",
        -       "    x        (chain, draw) float64 0.1579 -1.096 -1.142 ... 0.2098 -0.8789\n",
        -       "Attributes:\n",
        -       "    created_at:     2021-02-13T14:34:09.064078\n",
        -       "    arviz_version:  0.11.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "size = 100\n", - "dataset = az.convert_to_inference_data(np.random.randn(size))\n", - "dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From nD numpy array\n" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:47:07.857384Z", - "start_time": "2020-06-05T06:47:07.851897Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 1, draw: 2, x_dim_0: 3, x_dim_1: 4, x_dim_2: 5)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0\n",
        -       "  * draw     (draw) int64 0 1\n",
        -       "  * x_dim_0  (x_dim_0) int64 0 1 2\n",
        -       "  * x_dim_1  (x_dim_1) int64 0 1 2 3\n",
        -       "  * x_dim_2  (x_dim_2) int64 0 1 2 3 4\n",
        -       "Data variables:\n",
        -       "    x        (chain, draw, x_dim_0, x_dim_1, x_dim_2) float64 -0.08403 ... -0...\n",
        -       "Attributes:\n",
        -       "    created_at:     2021-02-13T14:34:09.909620\n",
        -       "    arviz_version:  0.11.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "shape = (1, 2, 3, 4, 5)\n", - "dataset = az.convert_to_inference_data(np.random.randn(*shape))\n", - "dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From a dictionary" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:47:07.890310Z", - "start_time": "2020-06-05T06:47:07.882462Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (b_dim_0: 10, c_dim_0: 3, c_dim_1: 4, chain: 1, draw: 100)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 9 ... 90 91 92 93 94 95 96 97 98 99\n",
        -       "  * b_dim_0  (b_dim_0) int64 0 1 2 3 4 5 6 7 8 9\n",
        -       "  * c_dim_0  (c_dim_0) int64 0 1 2\n",
        -       "  * c_dim_1  (c_dim_1) int64 0 1 2 3\n",
        -       "Data variables:\n",
        -       "    a        (chain, draw) float64 -2.135 -0.2855 -0.2226 ... 0.004506 -0.6005\n",
        -       "    b        (chain, draw, b_dim_0) float64 2.316 -1.102 ... 2.333 0.08732\n",
        -       "    c        (chain, draw, c_dim_0, c_dim_1) float64 -0.3045 0.1427 ... 0.5698\n",
        -       "Attributes:\n",
        -       "    created_at:     2021-02-13T14:34:10.676263\n",
        -       "    arviz_version:  0.11.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datadict = {\n", - " \"a\": np.random.randn(100),\n", - " \"b\": np.random.randn(1, 100, 10),\n", - " \"c\": np.random.randn(1, 100, 3, 4),\n", - "}\n", - "dataset = az.convert_to_inference_data(datadict)\n", - "dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From dictionary with coords and dims" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:47:07.931892Z", - "start_time": "2020-06-05T06:47:07.924238Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (b1: 10, c1: 3, c2: 4, chain: 1, draw: 100)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 9 ... 90 91 92 93 94 95 96 97 98 99\n",
        -       "  * b1       (b1) int64 0 1 2 3 4 5 6 7 8 9\n",
        -       "  * c1       (c1) int64 0 1 2\n",
        -       "  * c2       (c2) int64 0 1 2 3\n",
        -       "Data variables:\n",
        -       "    a        (chain, draw) float64 0.1803 0.5852 -0.1851 ... 1.42 -0.05 1.146\n",
        -       "    b        (chain, draw, b1) float64 0.1448 0.3689 -0.4411 ... 0.6358 0.3637\n",
        -       "    c        (chain, draw, c1, c2) float64 -0.9854 1.128 ... -0.08264 -0.1264\n",
        -       "Attributes:\n",
        -       "    created_at:     2021-02-13T14:34:11.561406\n",
        -       "    arviz_version:  0.11.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datadict = {\n", - " \"a\": np.random.randn(100),\n", - " \"b\": np.random.randn(1, 100, 10),\n", - " \"c\": np.random.randn(1, 100, 3, 4),\n", - "}\n", - "coords = {\"c1\": np.arange(3), \"c2\": np.arange(4), \"b1\": np.arange(10)}\n", - "dims = {\"b\": [\"b1\"], \"c\": [\"c1\", \"c2\"]}\n", - "\n", - "dataset = az.convert_to_inference_data(datadict, coords=coords, dims=dims)\n", - "dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From Dataframe" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 1, draw: 100)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 9 ... 90 91 92 93 94 95 96 97 98 99\n",
        -       "Data variables:\n",
        -       "    a        (chain, draw) float64 0.174 0.5209 0.7807 ... 0.3265 0.7712 0.7085\n",
        -       "    b        (chain, draw) float64 0.2623 0.7124 0.4061 ... 0.8447 0.7347 0.2066

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas as pd\n", - "import xarray as xr\n", - "\n", - "data = np.random.rand(100, 2)\n", - "df = pd.DataFrame({\"a\": data[:, 0], \"b\": data[:, 1]})\n", - "df[\"chain\"] = 0\n", - "df[\"draw\"] = np.arange(len(df), dtype=int)\n", - "df = df.set_index([\"chain\", \"draw\"])\n", - "xdata = xr.Dataset.from_dataframe(df)\n", - "\n", - "dataset = az.InferenceData(posterior=xdata)\n", - "dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From PyMC" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:42.715900Z", - "start_time": "2020-06-19T06:23:41.532565Z" - } - }, - "outputs": [], - "source": [ - "import pymc as pm\n", - "\n", - "draws = 500\n", - "chains = 2\n", - "\n", - "eight_school_data = {\n", - " \"J\": 8,\n", - " \"y\": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]),\n", - " \"sigma\": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]),\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:47:16.996019Z", - "start_time": "2020-06-05T06:47:09.288094Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Auto-assigning NUTS sampler...\n", - "Initializing NUTS using jitter+adapt_diag...\n", - "Multiprocess sampling (2 chains in 2 jobs)\n", - "NUTS: [theta_tilde, tau, mu]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "
    \n", - " \n", - " \n", - " 100.00% [2000/2000 00:02<00:00 Sampling 2 chains, 3 divergences]\n", - "
    \n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "There were 3 divergences after tuning. Increase `target_accept` or reparameterize.\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "
    \n", - " \n", - " \n", - " 100.00% [1000/1000 00:01<00:00]\n", - "
    \n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 2
          • draw: 500
          • school: 8
          • chain
            (chain)
            int64
            0 1
            array([0, 1])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • mu
            (chain, draw)
            float64
            6.638 4.791 5.564 ... 5.818 2.299
            array([[ 6.63799683e+00,  4.79134072e+00,  5.56424218e+00,\n",
            -       "         5.57420954e+00,  3.22669739e+00,  4.09925197e+00,\n",
            -       "         6.77486926e+00,  7.78605439e+00, -2.52944163e-01,\n",
            -       "         6.61229871e+00,  4.18502958e+00,  1.76376618e+00,\n",
            -       "         4.62694426e+00,  3.50036596e+00,  3.05630576e+00,\n",
            -       "         6.62692262e+00,  4.14235573e+00,  6.16275502e+00,\n",
            -       "         6.22938258e+00,  6.15304590e+00,  3.22079869e+00,\n",
            -       "         7.23136829e-01,  7.23136829e-01,  5.34538848e+00,\n",
            -       "         2.39661416e+00,  3.69046096e+00,  2.48955251e+00,\n",
            -       "         7.46552620e+00,  9.03574415e+00,  6.72969686e+00,\n",
            -       "         6.34335555e+00,  4.04220266e+00,  2.19778203e+00,\n",
            -       "         1.37076499e-02,  1.74828963e+00,  7.67516122e+00,\n",
            -       "         7.67516122e+00,  6.85639862e+00,  4.64813775e+00,\n",
            -       "         2.65791301e+00,  5.01452937e+00,  1.83039053e+00,\n",
            -       "         1.78045535e+00,  2.17111590e+00,  2.00686198e+00,\n",
            -       "         5.41209154e+00,  4.34875837e+00,  4.91332931e+00,\n",
            -       "         3.53930002e+00,  7.51604256e+00,  7.19161274e+00,\n",
            -       "         2.03515930e+00,  9.42214963e+00,  7.09555156e+00,\n",
            -       "         1.93087165e+00,  5.59001258e+00,  7.17291829e+00,\n",
            -       "         5.13261847e+00,  5.86915693e+00,  2.57897255e+00,\n",
            -       "         6.61818370e+00,  1.39310780e+00,  3.59564785e+00,\n",
            -       "         4.32735112e+00,  7.85800197e+00,  1.60693679e+00,\n",
            -       "         5.56027445e+00,  7.71824903e+00,  7.52958298e+00,\n",
            -       "         2.17221759e+00,  2.61447368e+00,  1.35683982e+01,\n",
            -       "         9.20871183e-02,  3.19997426e+00,  4.76437822e+00,\n",
            -       "         5.54460105e+00,  6.67417392e+00,  5.16285638e+00,\n",
            -       "        -8.19217157e-01,  1.26674178e+01, -5.89391857e-01,\n",
            -       "        -5.89391857e-01, -2.70426811e+00,  9.43770323e+00,\n",
            -       "         1.01234303e+01,  1.54012544e+00,  1.75412845e+00,\n",
            -       "         4.47119156e+00,  4.97567517e+00,  1.84977782e+00,\n",
            -       "         6.91461195e+00,  6.60657308e+00,  3.56008090e-01,\n",
            -       "         6.93045204e+00, -1.25531329e-01, -1.25531329e-01,\n",
            -       "         6.39259731e-01,  7.94587362e+00,  2.63018477e+00,\n",
            -       "         5.63533128e+00,  3.86413926e+00,  4.56795589e+00,\n",
            -       "         9.47234622e+00,  2.10143003e+00,  6.41839518e+00,\n",
            -       "         3.83593844e+00,  8.59218468e+00,  2.27599500e+00,\n",
            -       "         1.03086797e+01,  9.70552286e+00,  8.29190773e+00,\n",
            -       "         7.70075129e-01,  7.70075129e-01, -1.80722476e+00,\n",
            -       "         1.27386142e+01,  1.10855042e+01, -1.83874233e+00,\n",
            -       "         5.03200899e+00,  3.79758372e+00,  3.21167374e+00,\n",
            -       "         4.00223089e+00,  5.59012552e+00,  4.42937022e-01,\n",
            -       "        -9.02381508e-01,  1.39209741e+01,  1.34006214e+01,\n",
            -       "         1.22582214e+01,  1.16139064e+01, -6.53463404e-01,\n",
            -       "         8.28525744e+00,  6.71494093e+00,  4.30594107e+00,\n",
            -       "         1.06352087e+01,  1.06352087e+01,  9.34798044e-01,\n",
            -       "         4.83439889e+00,  6.67060779e+00,  2.96651765e+00,\n",
            -       "         1.51050127e-01,  6.61488225e+00,  1.35537300e+00,\n",
            -       "         6.11452815e+00,  2.55743030e-03,  9.60590259e+00,\n",
            -       "         8.76400612e+00,  4.63887209e+00,  8.66921267e+00,\n",
            -       "         2.67414535e+00,  1.80939866e+00,  9.33687656e+00,\n",
            -       "         3.21858895e+00,  6.46408966e+00,  2.49444981e+00,\n",
            -       "         4.47436161e+00,  7.78333476e+00,  7.78333476e+00,\n",
            -       "         1.91596858e+00,  1.34305869e-01,  7.88337283e+00,\n",
            -       "         6.27562216e+00,  1.09570353e-01,  6.79647532e+00,\n",
            -       "         7.45428378e+00,  5.91458976e+00,  3.96425644e+00,\n",
            -       "         2.62864052e+00,  1.15880725e+01, -3.32958366e+00,\n",
            -       "         1.22327127e+01,  4.55520976e+00,  5.65784063e+00,\n",
            -       "         4.54399956e+00,  5.03478565e+00,  8.00220717e+00,\n",
            -       "        -1.75237165e+00, -1.75237165e+00,  2.32928948e+00,\n",
            -       "         1.16578999e+00,  9.38175578e+00,  5.58779336e+00,\n",
            -       "         4.23843024e+00,  3.56550551e+00,  2.64287938e+00,\n",
            -       "         6.31014056e+00,  3.39482162e+00,  1.46637751e+00,\n",
            -       "         1.19727378e+00,  9.66674650e-01,  8.26702272e+00,\n",
            -       "         9.53981693e+00,  6.40840350e+00,  2.61593886e+00,\n",
            -       "         2.07214421e+00,  4.65990128e+00,  4.25202286e+00,\n",
            -       "         3.49441521e+00,  3.18946961e+00,  5.31226307e+00,\n",
            -       "         1.08201178e+01, -1.00265861e+00,  2.25268677e+00,\n",
            -       "        -9.62701753e-01, -9.62701753e-01, -2.11114255e-01,\n",
            -       "         2.08764265e+00,  1.02389970e+01,  5.05899290e+00,\n",
            -       "         2.36038803e+00,  4.95046599e+00,  4.95046599e+00,\n",
            -       "         5.50740944e+00,  5.05636826e+00,  5.05636826e+00,\n",
            -       "         9.60963715e+00,  4.61532038e+00,  5.42485359e+00,\n",
            -       "         4.23735723e+00,  7.19722486e+00,  4.80428582e+00,\n",
            -       "         4.47200166e+00,  3.69703914e+00,  1.18735821e+00,\n",
            -       "         3.88651322e+00,  7.18029090e+00,  3.37142575e+00,\n",
            -       "         8.68892257e+00,  6.66567919e+00,  1.30531602e+00,\n",
            -       "         2.12611574e+00,  2.52999503e+00,  1.14474721e+01,\n",
            -       "         4.83272902e+00,  1.68596107e+00,  5.12616851e+00,\n",
            -       "         4.62294476e+00,  1.57243937e+00,  8.94093940e+00,\n",
            -       "         1.47305979e+00,  9.54717416e+00,  1.64331074e+00,\n",
            -       "         9.09267978e+00,  7.95892546e+00,  2.73838051e+00,\n",
            -       "         3.07380739e+00,  8.98818222e+00,  6.75491684e+00,\n",
            -       "         2.15593227e+00, -1.47968755e+00, -3.04206257e+00,\n",
            -       "        -3.04206257e+00, -2.00154781e+00,  6.74796336e+00,\n",
            -       "         2.67234856e+00,  4.66409829e+00,  1.36469845e+01,\n",
            -       "         4.41043730e+00,  1.87968450e+00,  8.48862751e+00,\n",
            -       "         7.79359849e+00,  4.51405914e+00,  3.31569900e+00,\n",
            -       "         1.13330419e+01,  3.08027387e+00,  3.14450558e+00,\n",
            -       "         6.91518938e+00,  5.67012505e+00,  1.03377765e+01,\n",
            -       "        -3.89340427e-01,  1.00805809e+01, -2.61932552e+00,\n",
            -       "        -2.24101303e+00,  1.44110340e+01, -2.74644470e+00,\n",
            -       "         1.14785803e+01, -9.14825041e-01,  4.97224257e+00,\n",
            -       "         7.62871402e+00,  7.62871402e+00,  2.02161427e+00,\n",
            -       "         4.46448127e+00,  4.24876571e+00,  1.64324694e+00,\n",
            -       "         6.65373991e+00,  2.62945829e+00,  1.02979618e+01,\n",
            -       "         8.81343336e+00,  4.77039931e+00, -7.90872152e-01,\n",
            -       "        -2.22345626e+00,  5.17857938e+00,  4.88992195e+00,\n",
            -       "         3.88931051e+00,  9.14627339e+00,  3.86560414e+00,\n",
            -       "         5.50023277e+00,  2.74963035e+00,  5.54309756e+00,\n",
            -       "         5.43677281e+00,  7.41340765e+00,  1.43905079e+00,\n",
            -       "         6.13843878e+00,  3.96232306e+00,  4.82713674e+00,\n",
            -       "        -3.21119648e-01, -3.21119648e-01,  7.48970624e+00,\n",
            -       "         2.27479797e+00,  1.44371456e+00,  1.11767981e+00,\n",
            -       "         3.12323417e+00,  6.63809623e-01,  7.27583706e+00,\n",
            -       "         2.77215578e+00,  8.38458426e+00,  9.19398465e+00,\n",
            -       "         4.26758990e+00, -8.47531394e-01,  6.47010192e+00,\n",
            -       "         6.47010192e+00,  2.61135918e+00,  2.61135918e+00,\n",
            -       "         8.09575374e+00,  1.34009717e+01,  1.20008431e+01,\n",
            -       "         4.07558502e+00, -6.56773816e-01,  9.74315076e+00,\n",
            -       "         1.01433661e+01, -1.99936744e+00,  1.51290137e+00,\n",
            -       "         3.03876283e-01,  5.05772678e+00,  6.81566766e+00,\n",
            -       "         6.53086714e+00,  4.88912636e+00,  4.72044415e+00,\n",
            -       "         5.71905085e+00,  8.01189086e+00,  6.97222351e+00,\n",
            -       "         1.08433310e+00,  7.13376904e+00,  3.08877266e+00,\n",
            -       "         8.46165640e+00,  4.76782034e+00,  8.55719064e+00,\n",
            -       "         1.09166251e+01, -3.97518276e+00,  9.23548346e+00,\n",
            -       "         4.85542024e+00,  3.03973162e+00,  1.19887222e+01,\n",
            -       "         3.36917333e+00,  3.33247294e+00,  6.81236000e+00,\n",
            -       "         1.29262340e+01,  1.55181721e+01,  1.55181721e+01,\n",
            -       "         1.08628358e+01, -5.42142899e-01,  5.35887978e+00,\n",
            -       "         1.05376722e+01, -3.12814044e+00, -3.12814044e+00,\n",
            -       "        -6.15122007e+00, -1.77265152e+00,  8.59991488e-01,\n",
            -       "         7.77134734e+00,  7.34397502e+00,  4.95676198e-01,\n",
            -       "         1.74751300e+00,  2.22172525e+00,  1.18293109e+01,\n",
            -       "        -3.21207079e+00,  1.31308677e+01, -2.75777433e+00,\n",
            -       "         2.20281855e+00,  6.02908274e+00,  2.80344834e+00,\n",
            -       "         1.81841581e+00,  5.15943897e+00,  6.21921903e+00,\n",
            -       "         3.76801199e+00,  8.19326913e+00,  6.37870863e+00,\n",
            -       "         2.62547042e+00,  4.09232702e+00,  6.30693280e+00,\n",
            -       "         9.48501771e+00, -5.21775675e-01,  4.66974261e+00,\n",
            -       "         2.74982194e+00,  5.77966356e+00,  2.59740726e+00,\n",
            -       "         5.35669511e+00,  2.22335036e+00,  7.05024054e+00,\n",
            -       "         5.98203870e+00,  8.03337749e+00,  8.49537859e+00,\n",
            -       "         5.07262774e+00,  5.07262774e+00,  3.07820063e+00,\n",
            -       "         6.46884670e+00,  3.85921974e+00,  3.90388619e+00,\n",
            -       "         6.14682841e+00,  2.17351546e+00,  1.15087064e+01,\n",
            -       "         2.09105544e+00,  3.45167042e+00,  3.99476373e+00,\n",
            -       "         6.98793889e+00,  3.65497678e+00,  8.72286555e+00,\n",
            -       "         3.39784443e+00, -1.82235994e+00, -3.73200251e+00,\n",
            -       "         1.19977643e+01,  2.05224945e+00,  5.32722392e+00,\n",
            -       "         7.05112765e+00,  3.21335575e+00,  4.35427239e+00,\n",
            -       "         6.66620166e+00,  6.66549634e-01,  7.66135373e+00,\n",
            -       "         5.30037325e+00,  4.58550235e+00,  6.55615617e+00,\n",
            -       "         7.70165103e+00, -2.46277506e+00,  7.72329533e+00,\n",
            -       "         2.06807529e+00,  4.02479785e+00,  4.02479785e+00,\n",
            -       "         2.47134179e+00,  1.46925263e+00,  6.22118162e+00,\n",
            -       "         3.54010704e+00,  6.35408423e+00,  6.35408423e+00,\n",
            -       "         2.81297477e+00,  7.53979700e+00,  7.13302935e+00,\n",
            -       "         2.01548682e+00,  1.47608270e+00,  4.68273276e+00,\n",
            -       "         2.80213188e+00,  2.84677978e+00,  2.69047346e+00,\n",
            -       "         2.83433823e+00,  2.83433823e+00,  8.26820159e+00,\n",
            -       "        -8.81025744e-01, -8.81025744e-01,  3.73751628e+00,\n",
            -       "         8.08160209e+00,  1.28229609e+00,  5.75002564e+00,\n",
            -       "         5.43278043e+00,  1.25051422e+00,  1.25051422e+00,\n",
            -       "         6.07418768e+00,  1.47839052e+00,  6.23388390e+00,\n",
            -       "         7.08947435e+00, -3.53363905e-01, -5.08782124e+00,\n",
            -       "         1.49190681e+01, -3.43637612e+00,  8.59868540e+00,\n",
            -       "         2.62015322e+00,  7.40181300e+00,  1.30189808e+00,\n",
            -       "         1.03921092e+01,  1.09800262e+01,  6.10302329e+00,\n",
            -       "         2.20171633e+00,  1.00536828e+01, -1.27623443e+00,\n",
            -       "         1.06069776e+01,  7.40368962e+00,  6.60390028e+00,\n",
            -       "         4.27548442e+00, -2.46373516e+00,  3.27320349e+00,\n",
            -       "         4.52691063e+00,  3.12976734e+00,  5.29034737e+00,\n",
            -       "         4.89420254e+00,  3.09501458e+00,  3.00265288e+00,\n",
            -       "         4.73342387e+00,  3.79858931e+00,  3.57114403e+00,\n",
            -       "         6.84901399e+00,  1.11103607e+00,  1.73985157e+00,\n",
            -       "         6.01147792e+00,  3.44635793e+00],\n",
            -       "       [ 4.82920835e+00,  8.91159008e+00,  1.37122701e+00,\n",
            -       "         7.42222643e+00,  2.43247036e+00,  4.28829307e+00,\n",
            -       "         3.51504833e+00,  6.32529536e+00, -5.24792733e-01,\n",
            -       "         7.06822143e+00,  2.89108136e+00,  6.03838692e+00,\n",
            -       "         7.52506505e+00,  2.51733349e+00,  7.06471875e+00,\n",
            -       "         7.81094189e+00,  3.53281913e-01,  8.57907511e+00,\n",
            -       "         8.86929642e+00,  2.74614025e+00,  4.80195777e+00,\n",
            -       "         3.18490740e+00,  6.76795132e+00,  6.14951494e+00,\n",
            -       "         2.12849562e+00,  6.05917959e+00,  5.54432705e+00,\n",
            -       "         7.47325385e+00,  5.56396037e+00,  2.76837277e+00,\n",
            -       "         5.96844949e+00,  1.90346789e+00,  4.13230605e+00,\n",
            -       "        -3.13999785e-01,  5.63177960e-01,  1.40633461e+00,\n",
            -       "         1.28581645e+00, -4.90592324e-01,  6.48965420e+00,\n",
            -       "         4.32914021e+00,  2.56973348e+00,  6.46898782e+00,\n",
            -       "         5.98388659e+00,  5.87099172e+00,  6.24310713e+00,\n",
            -       "         3.83664908e+00,  4.69920226e+00,  7.32483813e+00,\n",
            -       "         2.16299419e+00,  5.88310919e+00,  4.40457993e+00,\n",
            -       "         3.51720565e+00,  2.87750697e+00,  4.29707479e+00,\n",
            -       "         4.62195619e+00,  5.89370270e+00,  6.44784121e+00,\n",
            -       "         5.97799553e+00,  9.93328208e+00,  9.06778473e+00,\n",
            -       "        -2.13877545e+00,  9.82634566e+00,  2.82981554e-01,\n",
            -       "        -6.01493605e-01,  6.33164834e+00,  2.39496069e+00,\n",
            -       "         5.76005674e+00,  4.59051345e+00,  3.70117959e+00,\n",
            -       "         5.92090184e+00,  5.92090184e+00,  5.92090184e+00,\n",
            -       "         7.01190010e+00,  9.90605426e-01,  7.35308969e+00,\n",
            -       "         1.72960226e+00,  1.21008608e+00,  3.63437977e+00,\n",
            -       "         2.34761015e+00,  3.21778274e+00,  4.51581533e+00,\n",
            -       "         5.39760034e+00,  4.85464773e+00,  8.02489804e+00,\n",
            -       "         6.22670091e+00,  1.05194432e+01,  3.97715808e+00,\n",
            -       "         9.19964200e+00,  3.51256842e+00,  1.02505067e+01,\n",
            -       "         1.02505067e+01, -1.52997991e+00,  1.12485883e+01,\n",
            -       "         1.12485883e+01, -2.35357690e-02,  9.08344948e+00,\n",
            -       "         3.65569020e+00,  7.61985593e+00,  2.70691365e+00,\n",
            -       "         4.74626037e+00, -1.01367179e-01,  9.60141176e+00,\n",
            -       "         8.10091214e-01,  7.20188821e+00,  9.27536437e+00,\n",
            -       "         9.08620080e+00,  4.33363381e-01,  6.11224312e+00,\n",
            -       "         5.81317620e+00,  7.09522850e+00,  5.25589384e+00,\n",
            -       "         5.18549329e+00,  3.22486566e+00,  1.26827334e+00,\n",
            -       "         5.13337743e+00,  2.27202692e+00,  4.30196212e+00,\n",
            -       "         1.84016842e-01,  9.23362551e+00, -2.01607635e+00,\n",
            -       "         1.02905355e+01,  6.91648233e+00,  5.22880985e+00,\n",
            -       "         7.52186417e-01,  1.21239729e+00,  1.56502042e+00,\n",
            -       "         6.81750995e+00,  8.74842076e+00,  5.07517945e+00,\n",
            -       "         6.74681751e+00,  1.07543389e+00,  2.97098601e+00,\n",
            -       "         5.52868893e+00,  8.15475295e+00,  4.98977282e+00,\n",
            -       "         2.98345975e+00,  3.77263174e+00,  3.77263174e+00,\n",
            -       "         3.93614334e+00,  6.72910259e+00, -2.15218618e-01,\n",
            -       "        -1.76848182e+00,  4.91482598e+00,  1.88127604e+00,\n",
            -       "         1.23151491e+01,  1.65253268e+00,  5.49326859e+00,\n",
            -       "        -2.25835686e+00, -2.25835686e+00, -8.50112281e-01,\n",
            -       "        -2.83435782e+00,  1.16950126e+00, -1.41881064e+00,\n",
            -       "         1.20830857e+01,  3.65380475e+00,  3.01683992e+00,\n",
            -       "         7.74887815e-01,  3.84888155e+00,  1.36932203e+00,\n",
            -       "         4.04519314e+00,  1.70254465e+00,  4.73449747e+00,\n",
            -       "         1.71805104e+00,  3.37744700e-01,  6.28349815e+00,\n",
            -       "         3.81234625e+00,  7.35540212e+00,  2.81515463e+00,\n",
            -       "         2.81515463e+00,  3.17933388e-01,  6.97405190e+00,\n",
            -       "         4.18219343e+00,  8.84592769e+00,  3.32403232e+00,\n",
            -       "         5.16034978e+00,  1.20698988e+01,  4.84174969e-01,\n",
            -       "         4.14825397e+00,  5.58386147e+00,  3.88608500e+00,\n",
            -       "         5.03155795e+00,  5.99106455e+00,  3.16959726e+00,\n",
            -       "         5.67607705e+00,  3.25478048e+00,  1.02287683e+00,\n",
            -       "         6.89224223e+00,  1.58278684e+00,  7.77704781e+00,\n",
            -       "         5.81224910e+00,  3.94065150e+00,  7.02483858e+00,\n",
            -       "         8.47187869e+00,  1.19539504e+01,  1.09369983e+00,\n",
            -       "         9.94564941e-01,  1.79744881e+00,  2.97663055e+00,\n",
            -       "         7.81111300e+00,  4.44749148e+00,  1.99247616e+00,\n",
            -       "         3.74323931e+00,  8.38976029e-01,  6.26613346e+00,\n",
            -       "         5.68879932e+00,  5.01659662e+00,  6.00699799e+00,\n",
            -       "         2.95735596e+00,  6.82380933e+00,  3.05164063e+00,\n",
            -       "         7.06242586e+00,  5.20916631e+00,  9.24735979e+00,\n",
            -       "         9.76322978e+00, -1.18210411e+00,  1.68459999e+00,\n",
            -       "         4.69053245e+00,  6.34544666e+00,  5.13751390e+00,\n",
            -       "         5.82501582e+00,  3.90706264e+00, -9.40455901e-01,\n",
            -       "         3.85563817e+00,  4.75502759e+00,  3.25981136e+00,\n",
            -       "        -1.83073833e-01,  7.10688679e+00,  1.17760203e+00,\n",
            -       "         9.49080956e+00,  7.79251712e-01,  7.55633024e+00,\n",
            -       "         6.27701186e+00, -9.90638858e-01,  1.76442395e+00,\n",
            -       "         5.37328542e+00,  5.77882988e-01,  4.59798087e+00,\n",
            -       "         5.05566846e+00, -5.47051360e-01,  2.27594438e+00,\n",
            -       "         6.78758186e+00,  4.45609157e+00,  5.10922380e+00,\n",
            -       "         4.13978963e+00,  3.33800640e+00,  2.36249820e+00,\n",
            -       "         3.61315233e+00,  5.16664440e+00,  5.17497063e+00,\n",
            -       "         4.75959543e+00,  1.98235736e+00, -1.86367811e+00,\n",
            -       "        -2.80138633e+00, -3.09697046e+00,  3.52938807e+00,\n",
            -       "         5.43840683e+00,  1.26912969e+00,  6.03320280e+00,\n",
            -       "         7.96684420e+00,  6.34506948e+00,  1.03490168e+01,\n",
            -       "         7.22755034e-01, -1.70273747e+00,  4.79779865e+00,\n",
            -       "         4.79779865e+00,  3.92386409e+00,  1.45856126e+00,\n",
            -       "         3.84405769e+00,  6.21864531e+00,  5.66505554e+00,\n",
            -       "         5.64549262e+00,  5.23426025e+00,  2.38153650e+00,\n",
            -       "         6.66540715e+00,  6.81446635e+00,  9.49243252e+00,\n",
            -       "         1.10531802e+01,  2.55456939e-01,  5.26425884e+00,\n",
            -       "         4.45866690e+00,  7.84625980e+00,  8.83505771e+00,\n",
            -       "         4.89770768e+00,  5.91430587e+00,  6.20975513e+00,\n",
            -       "         4.52543214e+00,  6.24879135e+00, -1.69127559e+00,\n",
            -       "         5.54299336e+00,  8.13848730e+00,  7.19184014e+00,\n",
            -       "         3.84925829e+00,  6.69238001e+00,  5.01748559e+00,\n",
            -       "         5.64254567e+00,  2.61805873e+00,  9.22438951e+00,\n",
            -       "        -1.41686106e+00,  1.10231829e+00,  4.97037047e+00,\n",
            -       "         1.75156115e+00,  7.16569622e+00,  8.84827233e+00,\n",
            -       "         9.79075871e+00,  8.08056810e+00,  7.97769356e+00,\n",
            -       "         7.64990197e-01,  1.88107463e-01,  6.76974384e+00,\n",
            -       "         9.79209732e-01,  3.29272131e+00,  9.80469126e+00,\n",
            -       "         8.82237603e+00,  8.38123557e-01,  9.35698147e-01,\n",
            -       "         4.21700727e+00,  6.95246742e+00,  4.12036747e+00,\n",
            -       "        -2.32536821e+00,  6.58640272e+00,  4.77772714e+00,\n",
            -       "         4.19974041e+00,  5.27895426e+00,  7.27436279e+00,\n",
            -       "         7.77038128e-01,  1.94880138e-01,  9.04028459e+00,\n",
            -       "         4.11952421e+00,  3.00330559e-01,  6.73566437e+00,\n",
            -       "        -4.59952250e+00,  6.19858332e+00,  4.72109758e+00,\n",
            -       "         3.83000297e+00,  3.17139085e+00,  7.11317071e+00,\n",
            -       "         5.33441030e+00,  6.17361730e+00,  4.54183205e+00,\n",
            -       "         7.69989749e+00,  4.80206324e+00,  7.78484647e+00,\n",
            -       "         9.13084163e+00,  7.74409223e+00,  1.82635576e+00,\n",
            -       "         6.35534631e+00,  5.51578307e+00,  8.54587017e+00,\n",
            -       "         7.07142066e+00, -1.74591256e+00,  6.07298566e+00,\n",
            -       "         6.51718847e+00,  6.09250191e+00,  3.30503182e+00,\n",
            -       "         7.06191823e+00,  1.74290159e+00, -1.98884819e-01,\n",
            -       "         8.65279028e+00,  1.57669468e+00,  6.61965150e+00,\n",
            -       "         3.78306891e+00,  1.23508683e+00,  9.96743433e+00,\n",
            -       "         6.49423794e+00,  1.59359178e+00,  5.36302901e+00,\n",
            -       "         4.75614082e+00,  4.29573654e+00,  2.63409767e+00,\n",
            -       "         4.40955601e+00,  4.34868292e+00, -2.90253461e+00,\n",
            -       "         8.98542517e+00,  8.50190640e+00,  6.91148998e+00,\n",
            -       "         4.97370711e+00,  3.87222569e+00,  4.60253064e+00,\n",
            -       "         3.96983634e+00,  5.22072459e+00,  7.60356156e+00,\n",
            -       "         5.93296293e+00,  6.33904667e+00,  5.19974188e-01,\n",
            -       "         1.04765948e+00,  7.75246391e+00,  1.63434051e+00,\n",
            -       "         6.95600941e+00,  4.19189702e+00,  1.71096157e+00,\n",
            -       "        -1.45331205e-01, -4.12236921e+00,  4.13136383e+00,\n",
            -       "         2.35654371e+00,  4.04759451e+00,  2.24641101e+00,\n",
            -       "         3.43184094e+00,  7.77176280e-01,  2.14958654e+00,\n",
            -       "         4.88253287e+00,  8.46948671e-01,  5.88180081e+00,\n",
            -       "         2.97002637e+00,  5.46509743e+00,  4.16808395e+00,\n",
            -       "         3.89340051e+00,  3.29571881e+00,  6.14736550e+00,\n",
            -       "         9.77643381e+00,  8.45758710e+00,  3.69314826e+00,\n",
            -       "         5.23777084e+00,  5.06487836e+00,  5.49293805e+00,\n",
            -       "         5.78370575e+00,  4.89747489e+00,  2.06910849e+00,\n",
            -       "         7.60068455e+00, -1.37740697e+00,  1.00020645e+01,\n",
            -       "        -1.76905089e-01,  1.00654596e+01,  7.98446662e+00,\n",
            -       "         8.79308803e+00, -1.28267861e-01,  9.29732175e+00,\n",
            -       "         1.01750150e+01,  4.96500994e+00,  5.21273557e+00,\n",
            -       "         1.39171806e+00,  9.49000305e+00,  5.49988414e-01,\n",
            -       "         7.33288112e+00,  5.17975767e+00,  4.67842691e+00,\n",
            -       "         4.80755480e+00,  6.58545056e-01,  8.13979759e+00,\n",
            -       "         4.89660451e+00,  6.35332576e+00, -4.69844004e+00,\n",
            -       "         8.97627606e+00,  4.57590275e+00,  5.93302017e+00,\n",
            -       "         4.74157220e+00,  4.37346125e+00,  5.06694948e+00,\n",
            -       "         2.19646582e+00,  5.56067421e+00,  3.04828461e+00,\n",
            -       "         5.92827468e+00,  6.21724225e+00,  2.51280189e+00,\n",
            -       "         9.57306721e+00,  7.59353227e+00,  2.09202476e+00,\n",
            -       "         9.88059803e+00,  4.54680518e+00, -4.30483067e+00,\n",
            -       "         8.92024468e+00,  1.26309327e+00,  9.46959872e+00,\n",
            -       "        -1.17827288e+00, -3.66655282e-01, -9.16874577e-01,\n",
            -       "         6.03922031e+00,  1.88068890e+00,  5.80097792e+00,\n",
            -       "         4.10859484e+00,  7.52813003e+00, -1.11027182e-01,\n",
            -       "         1.37308819e+00,  1.19388966e+00,  8.58912431e-03,\n",
            -       "         2.22575099e+00,  7.20720195e+00,  5.48023988e+00,\n",
            -       "         1.28400000e+00, -2.20449686e-01,  5.18856371e+00,\n",
            -       "         6.01845550e+00,  4.77155051e+00,  4.18297145e+00,\n",
            -       "         5.43830940e+00,  2.46429298e+00,  7.28660900e+00,\n",
            -       "         7.21764793e+00,  5.36153164e+00,  5.04585974e+00,\n",
            -       "         1.40262626e+00,  1.40262626e+00,  7.26603051e+00,\n",
            -       "         2.59531892e+00,  6.01218155e+00,  6.23284317e+00,\n",
            -       "         2.91248685e+00,  5.84996530e+00,  7.94833070e+00,\n",
            -       "         5.81831499e+00,  2.29860647e+00]])
          • theta_tilde
            (chain, draw, school)
            float64
            -0.3253 -0.6165 ... 1.222 0.2978
            array([[[-0.32529772, -0.61651454, -0.1667071 , ...,  1.03328716,\n",
            -       "          2.1823746 ,  0.47316842],\n",
            -       "        [ 2.02958114,  1.38140157,  0.75320748, ..., -0.76415401,\n",
            -       "         -0.26376613,  2.59527651],\n",
            -       "        [-1.29974382, -0.93838206, -1.66930843, ...,  0.45610521,\n",
            -       "          1.16510883, -1.90862339],\n",
            -       "        ...,\n",
            -       "        [ 0.76405243,  1.57497136, -0.19382101, ..., -0.90719718,\n",
            -       "          0.13818502, -0.53287742],\n",
            -       "        [-0.01956823, -0.44742285,  0.22391893, ...,  1.26672305,\n",
            -       "          1.48674961,  0.59971362],\n",
            -       "        [-1.31647166,  0.85301164,  0.48705457, ...,  1.10464535,\n",
            -       "         -0.20971009,  0.16073751]],\n",
            -       "\n",
            -       "       [[ 0.39528795,  2.42188047, -0.63226669, ..., -1.08800486,\n",
            -       "         -1.18916527, -1.15738863],\n",
            -       "        [-1.14188208,  1.13112039,  0.07025925, ..., -0.71775304,\n",
            -       "          0.42484354,  0.43962524],\n",
            -       "        [ 0.71622022, -1.36901772,  0.34158932, ...,  1.14499937,\n",
            -       "         -0.08757469, -1.25347347],\n",
            -       "        ...,\n",
            -       "        [ 0.18628521,  1.50088211, -0.65171658, ...,  0.48396343,\n",
            -       "          0.77830976, -0.36442883],\n",
            -       "        [ 0.86143906, -1.5081053 ,  0.16205563, ..., -1.43705565,\n",
            -       "         -0.382151  , -0.01870404],\n",
            -       "        [ 0.70965545,  1.59856161, -0.47552168, ...,  0.91627404,\n",
            -       "          1.22218512,  0.29782471]]])
          • tau
            (chain, draw)
            float64
            3.1 1.632 1.529 ... 2.741 4.724
            array([[3.09988894e+00, 1.63207672e+00, 1.52902197e+00, 2.30099852e+00,\n",
            -       "        8.31268078e-01, 1.88898817e+00, 5.85874168e+00, 4.71824548e+00,\n",
            -       "        2.36699580e+00, 2.34732021e+00, 2.05737377e+00, 2.22388599e+00,\n",
            -       "        1.26633038e+00, 3.10758565e+00, 2.43266266e+00, 2.49894565e+00,\n",
            -       "        3.62801031e+00, 2.66434647e+00, 6.03401501e+00, 4.20103917e+00,\n",
            -       "        2.87235863e+00, 9.61176630e+00, 9.61176630e+00, 4.47341001e+00,\n",
            -       "        5.66040767e+00, 9.82792942e-01, 1.62994744e+00, 6.81143684e+00,\n",
            -       "        1.42101541e+00, 3.99436157e+00, 1.06113735e+00, 6.66151684e+00,\n",
            -       "        1.44678348e+00, 9.29213043e-01, 6.00298896e-01, 8.65854134e+00,\n",
            -       "        8.65854134e+00, 7.49195541e+00, 3.92008212e-01, 4.67262667e-01,\n",
            -       "        1.14031719e+01, 1.91770387e-01, 1.13407014e-01, 2.31341743e-01,\n",
            -       "        1.87226273e+01, 3.07049024e-01, 3.79160657e+00, 2.29027053e+00,\n",
            -       "        4.54164481e+00, 3.06000216e+00, 1.61702924e+00, 1.42514668e+00,\n",
            -       "        2.69966316e+00, 7.76593714e+00, 9.35329781e-01, 4.80484917e+00,\n",
            -       "        4.60629543e-02, 3.78059536e-02, 1.46668064e-01, 7.85845041e-02,\n",
            -       "        2.45290474e+00, 3.99644466e+00, 2.81231960e+00, 3.45085186e+00,\n",
            -       "        1.00796319e+00, 2.72362547e+00, 1.61928447e+00, 2.86957381e+00,\n",
            -       "        3.01123031e+00, 7.49851917e-01, 9.57235307e-01, 2.35480165e+00,\n",
            -       "        9.53584743e+00, 1.50321215e+00, 8.66088994e+00, 3.95555017e+00,\n",
            -       "        8.28477536e-01, 1.16039960e+00, 5.29813451e+00, 1.82651411e-01,\n",
            -       "        1.50293359e+01, 1.50293359e+01, 1.70908463e+00, 4.49037167e+00,\n",
            -       "        3.72729985e+00, 4.20267362e-02, 2.15497907e-01, 1.44651372e-01,\n",
            -       "        8.97409661e+00, 3.95659504e+00, 1.74384378e+00, 3.01505721e+00,\n",
            -       "        8.89669163e+00, 6.33618449e+00, 3.36126815e+00, 3.36126815e+00,\n",
            -       "        1.03556605e+01, 8.41171251e-01, 3.08236370e+00, 7.71365841e+00,\n",
            -       "        3.40615951e+00, 5.29949043e+00, 3.89052725e+00, 2.97310920e-01,\n",
            -       "        3.79674976e-01, 5.40723457e+00, 3.21220675e-01, 3.39422976e+00,\n",
            -       "        5.62340485e+00, 7.33074407e+00, 2.03764109e+00, 5.68137917e+00,\n",
            -       "        5.68137917e+00, 2.83686052e+00, 4.91676473e+00, 6.62090533e+00,\n",
            -       "        6.64313421e+00, 3.60767832e+00, 2.64339476e+00, 5.23419542e+00,\n",
            -       "        6.54119359e-01, 9.90659523e-01, 1.26385767e+00, 9.46167070e-01,\n",
            -       "        3.42942204e+00, 1.17157162e+01, 1.51882166e+00, 7.75894868e+00,\n",
            -       "        1.86186982e+00, 1.05676321e+01, 8.81156578e+00, 2.97112722e+00,\n",
            -       "        4.97560335e+00, 4.97560335e+00, 2.37615802e+00, 4.85582620e-01,\n",
            -       "        1.75115034e-01, 2.24492144e-02, 5.19194864e-03, 2.44152982e-03,\n",
            -       "        4.96016077e-04, 9.81960781e-04, 2.61456184e-01, 3.04503815e+00,\n",
            -       "        1.49740455e+00, 3.09210525e+00, 2.38372922e+00, 1.07710929e+00,\n",
            -       "        7.37178789e-01, 1.44477609e+00, 4.44958349e-01, 7.56283868e+00,\n",
            -       "        1.30693621e+01, 6.00919393e+00, 3.27627074e+00, 3.27627074e+00,\n",
            -       "        3.61464843e+00, 1.42101331e+00, 4.23921964e-01, 8.45466943e+00,\n",
            -       "        4.63349584e+00, 4.46047362e+00, 8.78396465e+00, 3.68844510e+00,\n",
            -       "        6.55355892e+00, 2.16129532e+00, 2.77333940e+00, 3.76898084e+00,\n",
            -       "        9.47836834e-01, 1.15779865e+00, 1.08542059e+01, 7.84930686e-01,\n",
            -       "        2.53342726e+00, 9.22488199e-01, 6.24873580e+00, 6.24873580e+00,\n",
            -       "        5.37298831e+00, 2.12673184e+00, 1.43190109e+00, 3.72911093e+00,\n",
            -       "        1.67789722e+00, 4.10229845e+00, 2.91020442e+00, 4.75219278e+00,\n",
            -       "        2.05454858e+00, 7.02387879e+00, 1.92291069e+00, 3.57246023e-01,\n",
            -       "        2.83701174e+00, 7.95061579e+00, 3.87302365e+00, 6.27845736e+00,\n",
            -       "        7.65529077e-01, 2.85486857e+00, 4.27274083e+00, 1.63762758e+00,\n",
            -       "        7.98990100e-01, 1.20889927e+00, 3.59308318e+00, 3.23508196e+00,\n",
            -       "        5.48955086e+00, 3.47140380e+00, 3.47140380e+00, 2.14376772e+00,\n",
            -       "        5.27427110e-01, 3.29333098e+00, 1.75016375e+00, 1.22541172e+00,\n",
            -       "        1.15733505e+01, 1.15733505e+01, 2.77463974e+00, 3.07338819e+00,\n",
            -       "        3.07338819e+00, 1.70827704e+00, 4.18041312e+00, 7.70963663e-01,\n",
            -       "        8.35031192e-01, 6.53935957e+00, 3.63566215e-01, 9.72246066e+00,\n",
            -       "        1.40166669e+00, 3.38578921e+00, 3.07436946e+00, 9.76477570e-01,\n",
            -       "        2.11253628e+00, 2.11351930e+00, 2.46627791e-01, 1.65123263e+00,\n",
            -       "        1.29966369e+00, 2.56888919e+00, 1.00424894e+01, 3.52674417e+00,\n",
            -       "        6.82369555e+00, 2.63738500e+00, 7.83608447e+00, 2.70102342e+00,\n",
            -       "        4.45264351e+00, 3.08078679e-01, 4.49708000e+00, 9.99135072e+00,\n",
            -       "        3.55835310e+00, 1.16907517e+00, 2.02513622e+00, 1.02567962e-01,\n",
            -       "        5.16058441e+00, 6.94456578e-01, 3.04556772e+00, 8.53439537e+00,\n",
            -       "        4.36448122e+00, 4.36448122e+00, 2.58496665e+00, 1.00182772e+00,\n",
            -       "        3.81383379e+00, 3.74173366e+00, 4.48486880e+00, 2.82288845e+00,\n",
            -       "        7.22636068e-01, 3.56734285e+00, 1.67506117e+00, 2.02941736e+00,\n",
            -       "        4.12335849e+00, 7.57508195e+00, 3.25739237e+00, 3.14910194e+00,\n",
            -       "        4.83292307e+00, 3.78441995e+00, 1.01299820e+00, 1.98906741e+00,\n",
            -       "        3.41574334e+00, 2.06843286e+00, 1.55608621e+00, 1.92423040e-01,\n",
            -       "        5.08025259e+00, 6.16125429e+00, 7.36498515e-01, 1.24789864e+00,\n",
            -       "        6.27956089e+00, 6.27956089e+00, 7.49902395e-01, 2.11452399e+00,\n",
            -       "        2.24293487e-01, 3.35055904e-01, 1.68753300e-02, 4.18807137e-01,\n",
            -       "        4.58889059e+00, 1.54259092e+00, 1.03803681e+00, 5.31534450e+00,\n",
            -       "        2.60984305e+00, 2.99648210e+00, 4.91208069e+00, 9.90204033e+00,\n",
            -       "        1.35299652e+00, 8.37925328e+00, 3.34839656e+00, 5.28114427e+00,\n",
            -       "        2.21231385e+00, 7.81986140e-01, 2.68384539e+00, 1.82893404e+00,\n",
            -       "        2.51582305e+00, 2.22615720e+00, 7.25987045e+00, 8.99140943e+00,\n",
            -       "        8.99140943e+00, 7.81139000e+00, 4.75357076e+00, 9.80665484e-01,\n",
            -       "        6.26918311e-01, 4.63030324e-02, 7.68659875e-01, 2.10636907e+00,\n",
            -       "        5.41121322e+00, 9.55072350e-01, 3.78895489e+00, 1.53556405e+00,\n",
            -       "        1.36718670e+00, 5.32069899e+00, 5.32069899e+00, 2.10949104e+00,\n",
            -       "        2.10949104e+00, 4.48217733e+00, 3.45878976e+00, 5.23224937e+00,\n",
            -       "        7.23491941e-01, 1.09630159e+01, 1.90895106e+00, 1.94941130e+00,\n",
            -       "        8.02391448e+00, 2.85057302e+00, 5.51741597e+00, 2.33330862e+00,\n",
            -       "        5.63950929e+00, 2.00352029e+00, 4.18123136e+00, 7.96439656e+00,\n",
            -       "        1.25523482e+00, 4.27480930e+00, 8.66754251e-01, 1.33945808e+00,\n",
            -       "        1.96201914e+00, 1.33772085e+00, 1.78255793e+00, 2.23659524e+00,\n",
            -       "        1.94135128e+00, 2.79944847e+00, 1.10391683e-01, 1.56316513e+00,\n",
            -       "        3.72869234e+00, 9.55436772e-01, 2.13150808e+00, 4.47963252e+00,\n",
            -       "        3.78356295e+00, 5.10899353e-01, 4.26619097e+00, 1.87941457e+01,\n",
            -       "        1.87941457e+01, 3.77009222e+00, 6.41488833e-01, 6.80390052e-01,\n",
            -       "        1.99263496e+00, 5.13747821e+00, 5.13747821e+00, 3.14078111e+00,\n",
            -       "        5.88111221e+00, 3.29812183e+00, 5.75164624e+00, 2.69121554e+00,\n",
            -       "        1.56347605e+00, 5.27496678e+00, 2.87100899e+00, 2.31302906e+00,\n",
            -       "        1.68828031e+00, 1.09680422e+00, 2.91573241e-01, 1.42346712e+00,\n",
            -       "        9.79412468e-01, 3.49815706e+00, 4.95950372e+00, 7.14087628e+00,\n",
            -       "        1.62857484e+01, 4.72245450e-01, 5.43036556e+00, 3.80175888e-01,\n",
            -       "        2.74008719e-01, 5.03512295e-01, 2.38120067e+00, 3.01954806e-01,\n",
            -       "        2.33082112e-01, 6.65830660e-02, 3.33221349e+00, 1.93945827e+00,\n",
            -       "        3.12383685e+00, 8.70943321e+00, 1.52682644e+00, 3.68808675e+00,\n",
            -       "        5.24348750e+00, 1.95509466e+00, 3.66047354e+00, 5.97797944e+00,\n",
            -       "        5.97797944e+00, 7.97725643e-01, 1.44672287e+00, 1.86453076e+00,\n",
            -       "        2.15691321e+00, 1.40205795e+00, 1.28605987e+00, 6.35787524e+00,\n",
            -       "        3.15948844e+00, 1.94095239e+00, 8.69195133e+00, 8.38406149e-01,\n",
            -       "        5.38691304e+00, 1.15395625e+00, 9.96413349e-01, 4.18266814e+00,\n",
            -       "        3.76753069e+00, 1.38748987e+00, 4.47522270e+00, 1.59775810e+00,\n",
            -       "        2.60969544e+00, 2.33253345e-01, 2.34764683e+00, 1.44320625e+00,\n",
            -       "        3.33586202e+00, 4.94987324e+00, 4.97271936e+00, 2.10739974e+00,\n",
            -       "        2.33071428e+00, 6.63438674e-01, 4.57847467e+00, 2.01055839e+00,\n",
            -       "        3.69642715e+00, 1.17259406e+01, 1.17259406e+01, 3.66305533e+00,\n",
            -       "        8.64030696e-01, 2.50151607e+00, 9.32171449e+00, 4.08032473e+00,\n",
            -       "        4.08032473e+00, 1.77127432e+00, 1.16114849e+01, 1.31348481e+00,\n",
            -       "        9.71958059e-01, 3.26610629e+00, 9.46118073e+00, 5.62409928e+00,\n",
            -       "        6.30274536e+00, 5.42199958e+00, 1.34460486e+01, 1.34460486e+01,\n",
            -       "        2.41417679e+00, 3.57253639e+00, 3.57253639e+00, 9.10126440e+00,\n",
            -       "        6.56418646e+00, 1.31892758e+00, 1.71368899e+00, 3.49349047e+00,\n",
            -       "        3.22679402e+00, 3.22679402e+00, 5.40345503e+00, 1.01589129e+01,\n",
            -       "        4.15664338e-02, 2.18942477e-02, 2.86514992e-02, 2.21497457e-02,\n",
            -       "        1.79285582e+01, 1.52018745e-01, 2.01387018e+00, 5.44963070e-02,\n",
            -       "        4.47199619e-02, 8.83507675e-01, 1.80266425e+00, 1.90345940e+00,\n",
            -       "        2.63387518e-01, 2.40564145e+00, 9.87268294e-01, 3.78376592e+00,\n",
            -       "        6.91571313e-01, 7.74075349e+00, 7.85526840e-01, 5.25342514e+00,\n",
            -       "        2.59837379e+00, 3.78014832e+00, 1.65762665e+00, 2.03766737e+00,\n",
            -       "        9.48164296e+00, 3.18067452e+00, 8.12671270e+00, 4.65211529e+00,\n",
            -       "        1.35087314e+01, 7.04136640e+00, 1.79561310e+00, 1.30703893e+00,\n",
            -       "        5.40688975e+00, 2.92931379e+00, 1.50542743e+00, 5.34863668e+00],\n",
            -       "       [1.24679522e+00, 2.69730666e+00, 3.06708473e+00, 6.92341103e+00,\n",
            -       "        7.26717041e+00, 9.72414460e+00, 1.35577385e+00, 1.82326047e+00,\n",
            -       "        3.96073369e+00, 1.81744113e+00, 3.72269348e+00, 4.77067056e+00,\n",
            -       "        1.56675436e+00, 1.02068900e+00, 4.81841901e+00, 9.12498146e+00,\n",
            -       "        7.25951080e-02, 1.10271479e+01, 7.45875275e+00, 2.88800003e-01,\n",
            -       "        1.81995149e-01, 5.12095187e+00, 9.87610764e-01, 3.69307794e+00,\n",
            -       "        4.84798220e+00, 4.77871157e+00, 9.68037949e-01, 3.06196230e+00,\n",
            -       "        1.15477283e+00, 6.61843048e+00, 5.59888635e+00, 4.14011897e+00,\n",
            -       "        2.86431779e+00, 2.42811202e+00, 4.20164971e+00, 1.70820078e+00,\n",
            -       "        3.75174586e+00, 3.37788148e+00, 5.25038077e+00, 2.60211647e+00,\n",
            -       "        8.50346222e-01, 1.60489849e+00, 6.17231562e+00, 2.05356030e+00,\n",
            -       "        8.92248648e+00, 1.06028349e+00, 2.38133402e+00, 2.00470276e+00,\n",
            -       "        4.26467659e+00, 9.47934506e-01, 2.76079372e+00, 1.41926392e+00,\n",
            -       "        4.82552494e+00, 4.41810884e+00, 2.49454359e+00, 5.94035090e+00,\n",
            -       "        3.60946912e+00, 2.36784597e+00, 6.04802347e+00, 3.26922634e+00,\n",
            -       "        1.84098669e+00, 2.75330362e+00, 3.40776199e-01, 4.93352194e+00,\n",
            -       "        8.42721389e-01, 1.88560352e+00, 8.80146862e-01, 1.19693262e+01,\n",
            -       "        3.23015199e+00, 6.10118786e+00, 6.10118786e+00, 6.10118786e+00,\n",
            -       "        1.63457029e+00, 2.44627539e+00, 2.15039182e+00, 9.54263677e-01,\n",
            -       "        4.59581704e+00, 1.27970621e+00, 8.90999077e-01, 2.59444082e+00,\n",
            -       "        8.07765671e+00, 2.06489348e+00, 7.30716624e+00, 1.55705724e+00,\n",
            -       "        1.95116251e-01, 6.26895788e+00, 3.16500180e+00, 2.64899286e+00,\n",
            -       "        6.64882542e-01, 1.01369373e+01, 1.01369373e+01, 5.09688647e-01,\n",
            -       "        8.00733988e+00, 8.00733988e+00, 5.51367313e+00, 1.75578277e+00,\n",
            -       "        2.88077781e+00, 9.73438615e-01, 1.61544464e+00, 1.03220369e+01,\n",
            -       "        3.08368988e+00, 1.61839634e+00, 6.21381470e+00, 2.73901378e+00,\n",
            -       "        2.77239718e+00, 3.12358931e+00, 1.55532528e+00, 6.42751955e+00,\n",
            -       "        2.50515300e+00, 2.07590623e+00, 9.79913098e-01, 9.64721831e-01,\n",
            -       "        8.65572921e+00, 8.86250923e-01, 2.25136603e+00, 7.90066660e+00,\n",
            -       "        1.85265675e-01, 6.44594794e+00, 1.18805200e+00, 2.82900436e+00,\n",
            -       "        1.23349105e+00, 1.66764318e+00, 2.13600705e+00, 8.04333702e+00,\n",
            -       "        3.09176790e+00, 3.63177716e+00, 1.98310717e+00, 1.10368125e+00,\n",
            -       "        7.33181299e+00, 1.97166437e+00, 2.63493410e+00, 1.32731395e+00,\n",
            -       "        2.85142135e+00, 3.22263124e+00, 6.69244299e+00, 3.98443734e+00,\n",
            -       "        4.57490957e+00, 4.57490957e+00, 4.74879850e+00, 2.49749062e+00,\n",
            -       "        5.08948541e+00, 4.79488230e+00, 5.33025905e+00, 2.13044289e+00,\n",
            -       "        3.87433140e+00, 4.08152956e+00, 4.09627289e+00, 4.85782329e+00,\n",
            -       "        4.85782329e+00, 1.89622359e+00, 3.55417008e+00, 4.20390028e+00,\n",
            -       "        4.86505593e+00, 1.31719623e+00, 4.25118287e-01, 5.83370979e+00,\n",
            -       "        1.60922560e+00, 1.74464914e+01, 1.15075290e+00, 2.30082422e+00,\n",
            -       "        4.95258190e+00, 6.13898545e+00, 6.38753560e+00, 5.17571061e+00,\n",
            -       "        7.47838700e-01, 6.50878033e+00, 2.91724933e+00, 3.36413301e+00,\n",
            -       "        3.36413301e+00, 7.35672099e-01, 1.25595543e+00, 6.12928584e+00,\n",
            -       "        3.70693918e-01, 3.27598876e-01, 4.28171982e+00, 1.35918814e+00,\n",
            -       "        1.11209190e+01, 9.21687292e-02, 3.52776547e-01, 1.99177769e+00,\n",
            -       "        2.73369093e+00, 2.09983715e+00, 2.05467612e+00, 2.98848085e+00,\n",
            -       "        2.25755942e+00, 6.90530023e+00, 4.64255983e-01, 5.19906252e+00,\n",
            -       "        6.09129927e-01, 9.18894282e+00, 5.10508085e-01, 5.11227240e+00,\n",
            -       "        1.14972647e+00, 3.23907639e+00, 3.80036903e+00, 3.68816283e+00,\n",
            -       "        1.91118207e+00, 2.60459123e+00, 1.63845804e+00, 5.97985216e+00,\n",
            -       "        1.12298067e+00, 4.83394632e+00, 4.46988058e+00, 1.57787079e+00,\n",
            -       "        4.71094053e+00, 3.00208086e+00, 3.81412747e+00, 3.08637257e-01,\n",
            -       "        2.09300990e+00, 3.32846560e+00, 6.73214087e+00, 3.39545994e+00,\n",
            -       "        7.46830145e+00, 2.53471019e+00, 7.43741906e-01, 6.87311468e-01,\n",
            -       "        2.14268092e+00, 3.17597248e+00, 7.54868597e+00, 9.06028264e-01,\n",
            -       "        8.03780173e+00, 3.49124570e+00, 2.02696755e+01, 2.24750423e+00,\n",
            -       "        3.12782239e+00, 4.00393556e+00, 1.67990775e+00, 2.97917781e+00,\n",
            -       "        5.67224459e+00, 1.05155587e+00, 8.34811215e-01, 5.59192368e+00,\n",
            -       "        6.33305409e-01, 8.08629911e-01, 9.28525167e+00, 1.47331217e+00,\n",
            -       "        7.35836287e+00, 4.28213077e+00, 4.41875045e+00, 5.43760749e+00,\n",
            -       "        2.68760635e+00, 4.00252254e+00, 5.82620396e+00, 9.36370466e-01,\n",
            -       "        8.44636664e+00, 2.70484604e+00, 4.75798008e+00, 1.13899875e+01,\n",
            -       "        6.73646121e+00, 8.61142964e+00, 8.00575364e+00, 2.61346423e+00,\n",
            -       "        2.64181585e+00, 1.47889937e+00, 8.39047969e+00, 1.64261744e-01,\n",
            -       "        1.26094910e+00, 4.73942146e+00, 9.42158659e-01, 5.09953245e+00,\n",
            -       "        3.04515105e+00, 6.92398732e+00, 9.15475583e+00, 9.34055603e+00,\n",
            -       "        9.34055603e+00, 1.50525552e+01, 3.52253592e+00, 8.30393840e+00,\n",
            -       "        3.20415695e-01, 5.56540289e-01, 8.12289162e-01, 1.08367839e+01,\n",
            -       "        2.52925478e-01, 2.17691858e+00, 6.60660551e-01, 8.07436041e+00,\n",
            -       "        8.14170694e-01, 9.81400007e-02, 8.16631769e-02, 9.50320682e-03,\n",
            -       "        4.38901154e-02, 4.62650342e-01, 2.86580085e+00, 9.98134771e-01,\n",
            -       "        3.46308983e+00, 2.47491866e+00, 1.73991775e+00, 1.26750078e+00,\n",
            -       "        2.22276355e-01, 2.84272161e+00, 3.89759502e+00, 3.57384324e+00,\n",
            -       "        2.58747694e+00, 7.87197187e+00, 2.39479038e+00, 3.28423496e+00,\n",
            -       "        1.57064813e+00, 5.07859491e+00, 1.00456784e+01, 5.60688281e+00,\n",
            -       "        1.76784621e+00, 5.34790323e+00, 1.54471064e+00, 1.37536857e+01,\n",
            -       "        1.96878732e+00, 5.53015775e+00, 6.99402595e+00, 8.09870971e+00,\n",
            -       "        1.59615648e+00, 2.85893262e+00, 6.26624606e+00, 1.42370624e+00,\n",
            -       "        1.86458494e+00, 1.06274620e+00, 5.17332159e-01, 1.58439718e+00,\n",
            -       "        5.01274221e+00, 2.48228633e+00, 2.48804834e+00, 7.78192623e-01,\n",
            -       "        6.39927238e-01, 8.47501078e-01, 1.57846587e+00, 1.54192860e+00,\n",
            -       "        6.12448298e+00, 3.41504117e+00, 1.04669325e+00, 8.26794693e-01,\n",
            -       "        3.26448594e-01, 2.31055130e+00, 3.55396018e+00, 2.48894303e+00,\n",
            -       "        5.73693319e+00, 5.97791264e-01, 3.49929145e+00, 3.40165053e+00,\n",
            -       "        4.41449827e+00, 2.21977683e+00, 1.30474581e+01, 8.96360503e-01,\n",
            -       "        7.85495457e+00, 3.68786391e-01, 7.10484820e-01, 4.20037716e-01,\n",
            -       "        8.80345690e-01, 1.54460120e+00, 1.74275065e+00, 2.74753209e+00,\n",
            -       "        1.26034447e+00, 2.50638706e+00, 2.65608510e+00, 5.90198610e+00,\n",
            -       "        4.19635997e+00, 4.62376682e+00, 2.14554513e+00, 2.45664128e+00,\n",
            -       "        1.85087527e+00, 4.07232553e+00, 3.20432446e+00, 2.92843027e+00,\n",
            -       "        3.54979312e+00, 4.72110607e+00, 1.68868475e+00, 1.59983370e+00,\n",
            -       "        1.52801921e+00, 5.57339445e+00, 4.15557352e+00, 1.78640308e+00,\n",
            -       "        6.72885234e+00, 5.36081450e+00, 3.29838460e+00, 6.83324743e-01,\n",
            -       "        1.99402329e+00, 4.12356458e+00, 3.86292350e-01, 1.03426798e-01,\n",
            -       "        2.98910688e-01, 1.96901631e-01, 5.44922239e+00, 1.03903400e+00,\n",
            -       "        5.23759149e+00, 2.79896505e+00, 6.97503607e+00, 1.49622930e+00,\n",
            -       "        3.51469836e+00, 1.58002305e+00, 3.98545532e+00, 2.70836152e+00,\n",
            -       "        1.62561548e+00, 4.32428599e+00, 3.07241158e+00, 9.00408379e+00,\n",
            -       "        4.07247876e+00, 4.69332833e+00, 2.34669589e+00, 1.96065646e+00,\n",
            -       "        5.39356713e+00, 2.08974930e+00, 3.44272039e+00, 8.86059996e-01,\n",
            -       "        9.16080016e+00, 1.77550946e+00, 7.15100329e+00, 2.02439882e+00,\n",
            -       "        2.43408258e+00, 3.38167253e+00, 3.93604714e+00, 3.22583456e+00,\n",
            -       "        6.46415433e+00, 3.84153415e+00, 2.00919880e+00, 1.18775367e+00,\n",
            -       "        1.37186338e+00, 1.99775159e+00, 1.80550083e+00, 2.83230389e+00,\n",
            -       "        1.70997091e+00, 1.58043313e+00, 2.02102196e+00, 1.63450468e+00,\n",
            -       "        7.69180995e+00, 6.62055891e+00, 1.27277253e+00, 1.79103936e+00,\n",
            -       "        1.91416103e+00, 6.76462938e-01, 9.26518218e-01, 2.13629891e+00,\n",
            -       "        1.65068060e+00, 1.74428204e+00, 4.69424515e+00, 2.53000972e+00,\n",
            -       "        3.84178230e+00, 6.70391502e+00, 5.18767493e+00, 2.42109655e+00,\n",
            -       "        3.21665057e+00, 5.25180278e+00, 1.76820664e+00, 1.01972651e+01,\n",
            -       "        4.47006003e+00, 4.08581466e+00, 1.16629333e+01, 1.50425335e-01,\n",
            -       "        1.19086084e+00, 5.36757088e+00, 3.57395144e+00, 3.16027541e+00,\n",
            -       "        5.57001512e+00, 1.67214931e+00, 1.44469516e+00, 2.67965652e+00,\n",
            -       "        3.50672052e+00, 4.17309155e+00, 2.62906183e+00, 1.89809515e+00,\n",
            -       "        1.57168608e+00, 5.59775810e+00, 1.15598330e+01, 3.75898940e+00,\n",
            -       "        2.35645221e+00, 4.35924984e+00, 9.95338301e+00, 1.05207855e+01,\n",
            -       "        2.93462299e+00, 9.01546173e+00, 2.71570686e+00, 8.66364803e-01,\n",
            -       "        9.96241715e+00, 5.42643053e-01, 1.37701461e+01, 3.24010841e+00,\n",
            -       "        6.73262365e+00, 2.02728617e+00, 5.19188908e+00, 1.63399175e+00,\n",
            -       "        3.99096094e+00, 3.26935682e+00, 2.47952116e+00, 1.61216331e+00,\n",
            -       "        5.71464923e+00, 8.81879098e+00, 3.65560747e+00, 5.33226726e+00,\n",
            -       "        6.11604399e-01, 5.65137882e+00, 2.69282071e+00, 2.52869261e+00,\n",
            -       "        4.08528793e+00, 3.98212294e+00, 3.98212294e+00, 1.09339140e+00,\n",
            -       "        6.84031531e+00, 1.65611617e+00, 3.83101526e+00, 5.54784515e-01,\n",
            -       "        1.90193871e+00, 1.83026382e+00, 2.74058114e+00, 4.72413170e+00]])
          • theta
            (chain, draw, school)
            float64
            5.63 4.727 6.121 ... 8.072 3.706
            array([[[ 5.62961003,  4.72687023,  6.12122332, ...,  9.84107226,\n",
            -       "         13.40311572,  8.10476638],\n",
            -       "        [ 8.10377285,  7.04589407,  6.02063312, ...,  3.54418276,\n",
            -       "          4.36085417,  9.02703109],\n",
            -       "        [ 3.57690532,  4.12943539,  3.0118329 , ...,  6.26163706,\n",
            -       "          7.34571917,  2.64591509],\n",
            -       "        ...,\n",
            -       "        [ 3.97800088,  6.35343688,  1.17208901, ..., -0.91761363,\n",
            -       "          2.14463885,  0.17888639],\n",
            -       "        [ 5.98201937,  5.33791529,  6.34857162, ...,  7.91843753,\n",
            -       "          8.24967156,  6.91430325],\n",
            -       "        [-3.59497067,  8.00880728,  6.05143585, ...,  9.35470458,\n",
            -       "          2.32469486,  4.30608446]],\n",
            -       "\n",
            -       "       [[ 5.32205148,  7.84879735,  4.04090126, ...,  3.47268908,\n",
            -       "          3.34656278,  3.38618173],\n",
            -       "        [ 5.83158394, 11.96256866,  9.10110082, ...,  6.97559004,\n",
            -       "         10.0575234 , 10.09739417],\n",
            -       "        [ 3.56793512, -2.82766633,  2.4189104 , ...,  4.8830371 ,\n",
            -       "          1.10262802, -2.47328233],\n",
            -       "        ...,\n",
            -       "        [ 8.28928178, 10.69534092,  6.75551742, ...,  8.83411145,\n",
            -       "          9.3728429 ,  7.28132981],\n",
            -       "        [ 8.17915864,  1.68523006,  6.26244159, ...,  1.87994739,\n",
            -       "          4.77099916,  5.76705506],\n",
            -       "        [ 5.6511123 ,  9.85042207,  0.05217945, ...,  6.62720573,\n",
            -       "          8.07236995,  3.70556965]]])
        • created_at :
          2020-06-10T18:19:23.327079
          arviz_version :
          0.8.3
          inference_library :
          pymc3
          inference_library_version :
          3.8

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 2
          • draw: 500
          • obs_dim_0: 8
          • chain
            (chain)
            int64
            0 1
            array([0, 1])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • obs_dim_0
            (obs_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • obs
            (chain, draw, obs_dim_0)
            float64
            15.57 12.1 3.026 ... 18.62 -10.4
            array([[[ 15.56955881,  12.10362895,   3.0259356 , ...,   5.25677454,\n",
            -       "          -8.13085903,   8.92486203],\n",
            -       "        [  2.01095742,  23.8437438 ,  -0.74217338, ...,   3.79923879,\n",
            -       "           2.69217957,  14.48449805],\n",
            -       "        [ 20.29470416,   4.96292701,  -0.2854632 , ...,  34.46851646,\n",
            -       "          16.74562782, -22.1119676 ],\n",
            -       "        ...,\n",
            -       "        [-11.94803447,   0.0896506 ,  28.35944418, ...,  -1.47988496,\n",
            -       "           4.03098823,   8.01120592],\n",
            -       "        [  4.86526649,  10.98289441,   1.4086219 , ...,  16.58321832,\n",
            -       "          50.8494954 ,  22.64208451],\n",
            -       "        [-13.88113504,   6.71350581,  18.17528719, ..., -18.6932786 ,\n",
            -       "           9.77879534,  42.17198861]],\n",
            -       "\n",
            -       "       [[ -0.71864835, -14.63818199, -27.80108664, ...,   3.88081011,\n",
            -       "           9.8554434 ,  -1.74781512],\n",
            -       "        [  6.95980651,   3.50331516,  -3.28409145, ...,  10.57124477,\n",
            -       "          19.94187807, -14.3233147 ],\n",
            -       "        [  1.66781587, -10.98676567,  -4.72720481, ...,  11.92457337,\n",
            -       "         -10.67383229,   6.63788789],\n",
            -       "        ...,\n",
            -       "        [ 29.8775133 ,   5.52945089,   3.75273982, ...,   7.82224107,\n",
            -       "          -0.76100621,  23.18560467],\n",
            -       "        [  5.19149401,   0.90691355, -28.91017224, ...,  -0.97321204,\n",
            -       "          22.94379602,  18.21314178],\n",
            -       "        [ 41.27000137,  15.79815357, -16.03026608, ...,  15.09251082,\n",
            -       "          18.6168739 , -10.40009236]]])
        • created_at :
          2020-06-10T18:19:23.476419
          arviz_version :
          0.8.3
          inference_library :
          pymc3
          inference_library_version :
          3.8

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 2
          • draw: 500
          • obs_dim_0: 8
          • chain
            (chain)
            int64
            0 1
            array([0, 1])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • obs_dim_0
            (obs_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • obs
            (chain, draw, obs_dim_0)
            float64
            -4.739 -3.275 ... -3.714 -3.915
            array([[[-4.73906506, -3.27509052, -3.85402084, ..., -3.63982785,\n",
            -       "         -3.32718035, -3.83272518],\n",
            -       "        [-4.5066773 , -3.22607522, -3.8504566 , ..., -3.34358119,\n",
            -       "         -4.15165512, -3.82295002],\n",
            -       "        [-4.95251663, -3.29642998, -3.76211736, ..., -3.43123391,\n",
            -       "         -3.78909213, -3.94433946],\n",
            -       "        ...,\n",
            -       "        [-4.90933638, -3.23507948, -3.72552399, ..., -3.33202902,\n",
            -       "         -4.47848601, -4.02495647],\n",
            -       "        [-4.70430311, -3.2569571 , -3.86222216, ..., -3.51462214,\n",
            -       "         -3.69686815, -3.84922435],\n",
            -       "        [-5.84530467, -3.22152401, -3.85154384, ..., -3.60526806,\n",
            -       "         -4.45009958, -3.90066266]],\n",
            -       "\n",
            -       "       [[-4.76985395, -3.22163794, -3.78835204, ..., -3.34209906,\n",
            -       "         -4.29513974, -3.92381317],\n",
            -       "        [-4.71907467, -3.30003338, -3.97753632, ..., -3.46438619,\n",
            -       "         -3.5369383 , -3.81489657],\n",
            -       "        [-4.9534905 , -3.80771542, -3.74887997, ..., -3.3791395 ,\n",
            -       "         -4.64912952, -4.13257557],\n",
            -       "        ...,\n",
            -       "        [-4.49034965, -3.25784794, -3.8774064 , ..., -3.57044249,\n",
            -       "         -3.59366282, -3.84367117],\n",
            -       "        [-4.50002374, -3.42090522, -3.85909137, ..., -3.32003342,\n",
            -       "         -4.09655594, -3.86926338],\n",
            -       "        [-4.73692825, -3.23864394, -3.70972218, ..., -3.44768275,\n",
            -       "         -3.71431282, -3.91547939]]])
        • created_at :
          2020-06-10T18:19:23.474654
          arviz_version :
          0.8.3
          inference_library :
          pymc3
          inference_library_version :
          3.8

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 2
          • draw: 500
          • chain
            (chain)
            int64
            0 1
            array([0, 1])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • energy
            (chain, draw)
            float64
            50.05 54.58 53.09 ... 50.59 46.53
            array([[50.05483763, 54.57814664, 53.08634449, 51.95414228, 51.23703522,\n",
            -       "        50.30222157, 47.05347174, 50.18181178, 50.85424844, 52.3379519 ,\n",
            -       "        50.61591818, 48.16066259, 48.35854311, 50.28599153, 53.35794972,\n",
            -       "        50.71720628, 47.85805469, 46.35955122, 47.76286042, 48.47610505,\n",
            -       "        48.79024057, 53.29425025, 48.20280803, 49.89452099, 52.13086059,\n",
            -       "        54.37715864, 56.20374446, 50.33849806, 48.629802  , 50.13447812,\n",
            -       "        54.4512387 , 50.69102166, 49.33146059, 50.39974368, 48.55586654,\n",
            -       "        51.77504227, 49.67135807, 49.4072445 , 50.97744276, 52.52204185,\n",
            -       "        49.76019241, 52.02485892, 55.85056728, 50.53196029, 52.25978529,\n",
            -       "        51.83483494, 50.77514813, 46.97405214, 50.50768172, 50.61399638,\n",
            -       "        48.58288469, 49.5222398 , 53.57123483, 53.10106711, 50.8648363 ,\n",
            -       "        52.222676  , 54.74394192, 53.54802897, 52.12046516, 64.09711575,\n",
            -       "        53.89920131, 51.29370297, 55.32796352, 49.25466367, 51.31319302,\n",
            -       "        51.18934249, 50.00955509, 50.70826909, 48.79594621, 52.96100192,\n",
            -       "        49.29384313, 53.3176895 , 50.14459754, 47.32988659, 49.82547538,\n",
            -       "        45.01591905, 47.77864365, 50.70170749, 50.8362731 , 55.09766367,\n",
            -       "        60.60316236, 52.53249905, 57.27219057, 57.1810757 , 50.75621026,\n",
            -       "        55.56698644, 56.82878614, 51.77835245, 47.7974931 , 48.59447858,\n",
            -       "        49.95946321, 49.0456092 , 48.01162941, 48.36179896, 47.40675375,\n",
            -       "        49.96410461, 53.06605795, 49.17632632, 49.12093989, 47.64529283,\n",
            -       "        47.46705336, 46.39243349, 48.71621579, 58.38606733, 53.36980602,\n",
            -       "        48.03330336, 49.32324116, 57.06872893, 53.77680542, 49.7180886 ,\n",
            -       "        56.56463868, 53.37785326, 56.05538712, 58.88110686, 54.45274194,\n",
            -       "        55.85171338, 51.03257567, 50.08395848, 47.70968028, 47.6848384 ,\n",
            -       "        47.27992746, 49.88168717, 47.07197124, 48.80264431, 50.54674884,\n",
            -       "        51.03312104, 52.21222287, 54.57638376, 51.90910516, 53.45551538,\n",
            -       "        49.00922553, 48.95666576, 51.32059375, 59.68942815, 50.73109633,\n",
            -       "        53.87891253, 53.6218209 , 53.48381194, 58.62574729, 56.93088504,\n",
            -       "        60.17806712, 59.87103067, 59.74442226, 53.99916947, 50.45397599,\n",
            -       "        48.40611687, 49.23367752, 51.74352233, 49.83869734, 51.92323431,\n",
            -       "        53.89977785, 46.93009196, 44.32805416, 45.60862874, 49.66150216,\n",
            -       "        49.44441912, 47.19068668, 47.72883142, 50.62264468, 50.83961363,\n",
            -       "        47.27402449, 52.0973104 , 51.71811146, 46.79341083, 45.78257501,\n",
            -       "        47.52630353, 53.57096454, 52.36096075, 56.81304315, 59.96169047,\n",
            -       "        54.23929793, 50.05377689, 53.71765232, 55.04327501, 50.14968915,\n",
            -       "        54.54223082, 55.91792142, 48.65417367, 47.80998335, 45.19557687,\n",
            -       "        45.26297006, 51.64695623, 51.13148948, 51.89042002, 52.12476645,\n",
            -       "        49.15276865, 50.8569534 , 53.45128281, 52.75997089, 50.19491932,\n",
            -       "        47.86207453, 47.34177234, 50.37000687, 50.32021539, 50.12292676,\n",
            -       "        48.4990835 , 47.60089027, 48.07225083, 50.10646696, 53.47518077,\n",
            -       "        54.20192641, 57.49251963, 56.7471861 , 57.00859667, 58.43957521,\n",
            -       "        50.62831943, 53.08770644, 55.42558162, 50.97908087, 51.14941573,\n",
            -       "        48.91803027, 50.33075775, 55.55500419, 55.17492484, 54.18019818,\n",
            -       "        47.561725  , 54.24858079, 60.8525801 , 49.65898679, 47.9115212 ,\n",
            -       "        48.08041777, 50.46178681, 51.94309327, 52.15063597, 50.115956  ,\n",
            -       "        48.48379093, 51.25487146, 53.73718714, 56.04436582, 51.42436571,\n",
            -       "        46.38618744, 54.32128658, 48.06795243, 52.12274171, 45.57633258,\n",
            -       "        46.61653093, 47.2702189 , 54.44557523, 49.14092499, 48.82100707,\n",
            -       "        51.24062983, 52.02101517, 52.36871681, 51.28106397, 52.34965372,\n",
            -       "        52.12121504, 50.00540255, 50.11510475, 49.11934515, 54.53968573,\n",
            -       "        53.88458361, 51.73096203, 50.51898178, 49.37260708, 58.35396033,\n",
            -       "        52.58440676, 47.81869462, 49.2751467 , 48.16644353, 46.76215821,\n",
            -       "        48.74113988, 51.91377649, 51.42407943, 50.68983533, 47.35056837,\n",
            -       "        50.62132579, 53.76029393, 56.57731971, 52.53371282, 53.02832338,\n",
            -       "        52.40539757, 63.13076002, 57.8319806 , 47.85938295, 49.7237868 ,\n",
            -       "        51.34964758, 52.05371995, 54.23656338, 52.13695824, 55.20401237,\n",
            -       "        54.57234502, 56.31787344, 55.93030025, 60.7635886 , 58.76662053,\n",
            -       "        51.20917032, 53.55112767, 53.62774034, 49.36892955, 57.54369513,\n",
            -       "        46.28667733, 45.66572651, 53.71742526, 50.85739475, 45.07405424,\n",
            -       "        49.3939219 , 55.51434495, 55.15198447, 54.2981614 , 51.18317821,\n",
            -       "        52.31484023, 49.8129955 , 47.10165773, 47.46806164, 52.79940391,\n",
            -       "        47.21900394, 47.24321737, 47.46878978, 54.63191369, 61.93039798,\n",
            -       "        59.27542212, 55.66700635, 52.59943598, 54.44025154, 49.43774111,\n",
            -       "        50.67388671, 51.6881569 , 50.09932387, 48.8591629 , 48.5161279 ,\n",
            -       "        51.96137438, 50.62132469, 51.78157036, 51.42638536, 49.98988198,\n",
            -       "        51.05430498, 51.58955858, 51.91602625, 50.96639285, 51.48861353,\n",
            -       "        49.43698296, 49.7137179 , 50.00098405, 50.85620795, 52.53616124,\n",
            -       "        47.08579468, 48.62713041, 48.20791404, 54.04890021, 51.14815074,\n",
            -       "        49.25298579, 51.51098435, 52.46245865, 49.95326645, 53.13724654,\n",
            -       "        60.50504535, 59.86081008, 59.12194507, 51.29986033, 52.62221472,\n",
            -       "        54.62908462, 57.34628449, 54.25741052, 55.68498107, 56.49017921,\n",
            -       "        58.72817117, 56.2275357 , 58.24090699, 53.34405378, 52.05211936,\n",
            -       "        49.48337067, 50.27103621, 58.67290361, 53.8150674 , 53.13413552,\n",
            -       "        48.81568431, 46.88500573, 49.46070563, 50.37123748, 53.72391341,\n",
            -       "        51.13066405, 53.82900442, 59.37457026, 54.63192629, 56.13008572,\n",
            -       "        53.64583645, 52.92547376, 51.02465335, 46.85386278, 47.93453037,\n",
            -       "        48.49439526, 49.39696795, 51.2580218 , 58.11866488, 52.60539646,\n",
            -       "        50.61159001, 54.47850489, 55.99015668, 56.56332447, 57.01713326,\n",
            -       "        54.96554658, 51.06484761, 51.07016532, 48.30906016, 45.82805583,\n",
            -       "        48.12614182, 48.82806052, 53.81206002, 52.4396728 , 52.76495395,\n",
            -       "        57.74667612, 51.03669561, 50.49760388, 57.42079262, 51.33112574,\n",
            -       "        48.72531577, 50.88587482, 51.95991898, 51.59115668, 50.96498502,\n",
            -       "        47.50913827, 51.28012661, 51.49230519, 52.26228287, 55.12919452,\n",
            -       "        54.75128071, 52.94701788, 53.12144804, 52.91098408, 54.5481932 ,\n",
            -       "        57.21369925, 55.00892175, 50.12868885, 46.88169578, 55.52553326,\n",
            -       "        46.05710352, 46.42449936, 48.45473404, 51.49912983, 50.00994995,\n",
            -       "        50.54036767, 51.24321172, 47.06686242, 45.28652226, 51.43077587,\n",
            -       "        50.59561581, 51.50198331, 59.59894233, 48.07406663, 51.66736872,\n",
            -       "        53.22604893, 48.19986041, 48.50186644, 56.56971456, 53.03173245,\n",
            -       "        47.69549878, 44.33494327, 46.22028531, 46.59767696, 46.44820589,\n",
            -       "        47.91771849, 53.80626843, 50.19985177, 50.8771853 , 51.15466015,\n",
            -       "        47.14181359, 50.34697707, 51.55032358, 49.18503502, 49.29793399,\n",
            -       "        47.79010164, 54.91554791, 46.72480262, 46.92035588, 53.51079194,\n",
            -       "        50.26875364, 52.85257732, 59.79591576, 56.42321847, 62.4472315 ,\n",
            -       "        61.19898826, 53.45122132, 55.81222327, 55.55985378, 51.36786048,\n",
            -       "        54.27487202, 59.67654002, 55.90607833, 56.54274102, 55.48170316,\n",
            -       "        53.41782119, 55.46841441, 51.44208213, 47.99502038, 51.38882509,\n",
            -       "        52.52862493, 47.46111133, 45.89763558, 49.71818391, 48.55935253,\n",
            -       "        47.98343765, 44.16674099, 44.68475612, 53.50239632, 50.55524181,\n",
            -       "        49.2625569 , 50.20333471, 50.87783882, 50.77495874, 48.6431537 ],\n",
            -       "       [52.38688528, 50.6985459 , 49.36514675, 47.9670352 , 47.59765405,\n",
            -       "        43.9498021 , 46.1499447 , 45.76565054, 54.6335477 , 52.63933173,\n",
            -       "        53.8310984 , 54.63460905, 53.82873209, 54.19273227, 49.67037868,\n",
            -       "        52.20692015, 58.10498991, 54.24400844, 54.12701858, 53.99163171,\n",
            -       "        55.9706527 , 54.71335844, 56.15788996, 54.68317119, 55.46024585,\n",
            -       "        56.881926  , 50.92839097, 48.88538811, 49.89304933, 48.29858063,\n",
            -       "        53.10102191, 53.65778793, 54.13101946, 52.92020624, 51.60987263,\n",
            -       "        49.46735817, 46.90877671, 50.38671175, 49.65895034, 46.30739608,\n",
            -       "        50.20026621, 53.51072108, 50.56370118, 47.0130632 , 46.64161571,\n",
            -       "        45.8580899 , 46.59998807, 46.51732643, 49.01977669, 52.71444013,\n",
            -       "        53.22198599, 52.03878346, 49.59426616, 55.5636783 , 56.81706061,\n",
            -       "        50.82680547, 47.32617902, 48.03042594, 52.78587463, 58.05454622,\n",
            -       "        57.53776274, 51.3938964 , 50.95438015, 51.17636033, 50.37182204,\n",
            -       "        48.8874809 , 49.02348041, 48.80804893, 48.12679746, 48.89290415,\n",
            -       "        49.58677734, 53.6741292 , 50.27546455, 54.16340534, 49.58620067,\n",
            -       "        48.20809367, 51.25677806, 50.06580103, 47.95042858, 49.76267302,\n",
            -       "        47.83225015, 49.51004116, 45.8929819 , 48.09857414, 55.65878231,\n",
            -       "        57.54084072, 52.70306598, 48.72176571, 50.41076799, 49.36636418,\n",
            -       "        52.35619146, 50.78756157, 48.81264361, 47.46599317, 46.59694649,\n",
            -       "        48.05447492, 47.55630987, 49.42298019, 51.00589885, 48.93409739,\n",
            -       "        48.19272773, 54.22069561, 57.96709899, 54.71552316, 50.16446823,\n",
            -       "        50.78379005, 50.22987303, 48.73728227, 49.58970389, 50.99307798,\n",
            -       "        48.13068574, 47.041767  , 45.40024572, 49.30758762, 52.00892981,\n",
            -       "        49.41733834, 51.6900217 , 51.70361373, 50.24590089, 51.61035636,\n",
            -       "        51.04156154, 50.57143512, 49.86520167, 48.92707519, 48.83292783,\n",
            -       "        46.08606339, 47.41661433, 49.71103432, 50.23586191, 46.82005603,\n",
            -       "        46.30838194, 47.7026537 , 49.59513496, 51.67737658, 48.76236908,\n",
            -       "        47.53735758, 50.21241389, 51.43347562, 49.59881348, 47.4178498 ,\n",
            -       "        50.2923424 , 49.79214735, 50.41325363, 51.36710791, 51.06896267,\n",
            -       "        48.70363409, 49.73198127, 48.06602467, 55.20413364, 52.19031339,\n",
            -       "        52.50943031, 49.39710246, 48.76067904, 49.83681949, 53.52346468,\n",
            -       "        50.68745265, 47.54637831, 48.43635318, 47.64185195, 49.25112906,\n",
            -       "        47.93253455, 51.55014645, 48.3284763 , 49.14379228, 50.15543613,\n",
            -       "        47.87446677, 50.27418104, 53.4248319 , 51.73672179, 54.51736524,\n",
            -       "        51.66934294, 53.25289311, 54.47177344, 52.59898082, 49.39590678,\n",
            -       "        55.98620051, 54.36716325, 50.36534454, 50.47506386, 49.41262078,\n",
            -       "        48.0541339 , 55.28553667, 51.34673714, 46.85472502, 48.27319522,\n",
            -       "        48.98108645, 50.76213769, 53.4473362 , 47.79754417, 48.89876048,\n",
            -       "        55.24161172, 51.6866425 , 54.38292583, 57.54003732, 50.83808153,\n",
            -       "        50.29016285, 49.82680776, 48.153696  , 49.26718982, 46.16307324,\n",
            -       "        50.87016481, 52.40284605, 49.52944967, 46.20583797, 53.86975218,\n",
            -       "        47.63820594, 45.8995756 , 48.29915386, 50.52065328, 51.42469641,\n",
            -       "        49.87394275, 49.51251187, 48.40188286, 53.01609051, 54.13697241,\n",
            -       "        52.59107633, 53.83926172, 49.43413346, 49.56667263, 48.84011945,\n",
            -       "        49.19755355, 47.67304998, 51.39825902, 46.14269895, 48.77128344,\n",
            -       "        48.55710747, 52.35039277, 53.86571896, 51.63611768, 54.00691422,\n",
            -       "        58.00160529, 52.57480906, 49.76335375, 51.49846179, 52.42036053,\n",
            -       "        53.47417092, 52.09482444, 50.62670792, 54.52499854, 55.6685704 ,\n",
            -       "        51.99314054, 48.53179324, 47.08795435, 48.01215129, 45.42743719,\n",
            -       "        46.32169298, 45.50367015, 50.73575529, 53.32732263, 44.8893542 ,\n",
            -       "        50.51757884, 53.19784885, 52.53318501, 56.90549956, 50.84800875,\n",
            -       "        53.53691163, 50.1361419 , 49.34493095, 51.59312508, 50.39510073,\n",
            -       "        52.31004564, 51.23859785, 52.77256827, 46.0688778 , 47.39163759,\n",
            -       "        47.66473676, 51.17767821, 49.78272305, 52.44284139, 57.32585727,\n",
            -       "        58.06802625, 53.86835028, 51.48700406, 58.41413762, 49.05318864,\n",
            -       "        52.80837082, 58.30292849, 60.6944707 , 59.53685588, 59.94295255,\n",
            -       "        60.09135098, 56.94778298, 53.26206211, 49.37326771, 46.74559076,\n",
            -       "        48.00586336, 48.88271817, 50.35919376, 54.99186659, 58.52079832,\n",
            -       "        51.82281535, 48.38588422, 56.04866185, 50.92067529, 48.24976907,\n",
            -       "        47.89561523, 48.42608993, 46.42679562, 51.67612887, 47.61553897,\n",
            -       "        51.21573695, 49.96710681, 52.74012889, 48.47541054, 50.31580197,\n",
            -       "        49.83156542, 44.99622572, 47.00453983, 48.41003669, 47.89287917,\n",
            -       "        46.23476456, 50.39609785, 50.68995311, 50.05466116, 56.95594961,\n",
            -       "        50.55613415, 51.08503822, 51.54992387, 53.87482111, 52.45755539,\n",
            -       "        48.36745775, 47.30040519, 47.93405739, 50.39455449, 53.60379259,\n",
            -       "        56.60100029, 52.90248951, 50.76934077, 49.23231138, 50.56063311,\n",
            -       "        56.25623572, 57.80345774, 48.59183162, 55.17504259, 56.45577952,\n",
            -       "        55.90773618, 47.58756301, 47.44705699, 51.44999055, 49.92935468,\n",
            -       "        51.84324947, 51.0613164 , 48.91868946, 47.33744675, 47.52193883,\n",
            -       "        48.93108211, 52.2126858 , 50.86812805, 53.82477575, 53.1358395 ,\n",
            -       "        51.90440745, 47.22761537, 44.95683361, 49.22777166, 48.70376809,\n",
            -       "        49.5179565 , 47.00303136, 47.95134932, 47.61507244, 47.17028981,\n",
            -       "        48.71247901, 48.93015516, 49.29831378, 54.13827412, 47.96365828,\n",
            -       "        47.58131023, 47.35505519, 49.34510366, 47.79901223, 48.78190247,\n",
            -       "        53.75707512, 57.16968787, 56.04409832, 53.53409675, 51.73426193,\n",
            -       "        53.97025567, 54.6659698 , 50.90502133, 53.46112004, 54.9131104 ,\n",
            -       "        53.58281666, 47.6137892 , 49.66865372, 51.79368312, 52.97586803,\n",
            -       "        54.06587743, 52.84948596, 49.38713791, 49.96868303, 51.17021652,\n",
            -       "        50.3754493 , 50.46370916, 50.09532477, 46.00210641, 50.89368877,\n",
            -       "        51.3223438 , 51.51596196, 49.78686739, 48.94750652, 49.42668932,\n",
            -       "        47.5917692 , 46.59456056, 46.48056362, 49.48693697, 52.06484022,\n",
            -       "        53.24578392, 55.58235295, 54.13169145, 48.01040076, 49.31810707,\n",
            -       "        48.23203161, 46.91997346, 49.38003973, 52.93573679, 51.59984644,\n",
            -       "        47.93267682, 46.30921802, 48.47428137, 52.78125762, 51.56404377,\n",
            -       "        47.99970565, 51.6458572 , 54.92875432, 53.37796678, 55.21091153,\n",
            -       "        54.01117321, 52.99566052, 54.34005624, 53.84314536, 54.8040249 ,\n",
            -       "        56.86697616, 58.90840456, 51.56423102, 46.98960282, 50.78929217,\n",
            -       "        46.60502672, 48.5518283 , 50.35946272, 51.4900377 , 49.49761424,\n",
            -       "        50.63699342, 49.9825039 , 52.37868558, 50.77370041, 50.85563993,\n",
            -       "        49.12531018, 45.66992718, 47.44408651, 49.12136867, 52.887772  ,\n",
            -       "        55.65924773, 54.59493642, 49.28925407, 55.37497467, 54.8249429 ,\n",
            -       "        51.4603605 , 55.59873408, 53.71164861, 52.4864806 , 56.20238893,\n",
            -       "        53.14236159, 52.86268777, 47.26358197, 48.85571425, 51.57406957,\n",
            -       "        50.12820899, 46.58114333, 48.4308065 , 49.36488741, 51.51175973,\n",
            -       "        52.15564435, 54.53638271, 51.62695214, 55.93975001, 52.79303002,\n",
            -       "        51.2957646 , 54.69912894, 52.91242272, 47.38469588, 50.60785358,\n",
            -       "        47.95949667, 48.71518855, 48.1594468 , 46.50873061, 51.51031032,\n",
            -       "        51.30049846, 50.44937873, 54.15149263, 52.56008691, 54.29206958,\n",
            -       "        54.81863257, 53.21781717, 49.41075476, 48.87790719, 48.7661371 ,\n",
            -       "        54.6411877 , 54.67886209, 50.13460669, 50.58819395, 46.52766041]])
          • step_size_bar
            (chain, draw)
            float64
            0.6188 0.6188 ... 0.4424 0.4424
            array([[0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ,\n",
            -       "        0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 , 0.6188256 ],\n",
            -       "       [0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193,\n",
            -       "        0.44239193, 0.44239193, 0.44239193, 0.44239193, 0.44239193]])
          • mean_tree_accept
            (chain, draw)
            float64
            1.0 0.4507 1.0 ... 0.9712 0.9935
            array([[1.00000000e+000, 4.50671723e-001, 1.00000000e+000,\n",
            -       "        9.84083312e-001, 8.84419505e-001, 9.96869804e-001,\n",
            -       "        9.89628920e-001, 8.62568351e-001, 9.85472261e-001,\n",
            -       "        4.22377986e-001, 9.60298065e-001, 9.87207800e-001,\n",
            -       "        8.80383510e-001, 8.87996630e-001, 7.75787976e-001,\n",
            -       "        1.00000000e+000, 9.87113252e-001, 9.80601135e-001,\n",
            -       "        8.47726582e-001, 7.19778758e-001, 8.97619585e-001,\n",
            -       "        1.44855769e-001, 2.98298347e-001, 8.13732846e-001,\n",
            -       "        8.90753945e-001, 8.64690685e-001, 7.39525913e-001,\n",
            -       "        1.00000000e+000, 1.95368541e-001, 9.34322125e-001,\n",
            -       "        7.07784318e-001, 9.96811249e-001, 7.17830804e-001,\n",
            -       "        7.66351914e-001, 8.00000000e-001, 9.08383474e-001,\n",
            -       "        3.10494942e-001, 9.46607023e-001, 5.71799413e-001,\n",
            -       "        8.35468821e-001, 9.27596939e-001, 8.15150633e-001,\n",
            -       "        7.99626122e-001, 8.77026121e-001, 8.36727408e-001,\n",
            -       "        9.50774005e-001, 8.76728496e-001, 8.19433334e-001,\n",
            -       "        8.46216826e-001, 9.42292417e-001, 9.66800038e-001,\n",
            -       "        9.62162967e-001, 9.20921497e-001, 9.61621646e-001,\n",
            -       "        5.89152318e-001, 7.73985416e-001, 1.22278222e-001,\n",
            -       "        8.68832959e-001, 6.99187343e-001, 3.19866499e-001,\n",
            -       "        1.00000000e+000, 9.97600297e-001, 7.77182386e-001,\n",
            -       "        2.59944451e-001, 5.68861903e-001, 9.16701726e-001,\n",
            -       "        9.86549744e-001, 9.37861781e-001, 9.81375571e-001,\n",
            -       "        9.77928892e-001, 8.58959975e-001, 6.76048337e-001,\n",
            -       "        1.00000000e+000, 1.00000000e+000, 8.70688968e-001,\n",
            -       "        7.57139345e-001, 8.76219567e-001, 7.81938392e-001,\n",
            -       "        9.67370992e-001, 4.01845234e-001, 7.53170862e-001,\n",
            -       "        2.06395750e-001, 2.27143585e-001, 6.77104433e-001,\n",
            -       "        8.03076407e-001, 1.74702462e-001, 9.63956516e-001,\n",
            -       "        8.34690209e-001, 9.90291582e-001, 9.64500535e-001,\n",
            -       "        6.65754591e-001, 1.00000000e+000, 9.49074287e-001,\n",
            -       "        7.64016193e-001, 8.88452168e-001, 7.72289168e-004,\n",
            -       "        3.78975853e-001, 1.00000000e+000, 9.98932534e-001,\n",
            -       "        1.00000000e+000, 9.22143807e-001, 9.13241055e-001,\n",
            -       "        6.17160688e-001, 7.03931542e-001, 1.00000000e+000,\n",
            -       "        9.05598007e-001, 2.13271537e-001, 6.65571431e-001,\n",
            -       "        9.58631636e-001, 8.83742041e-001, 7.00838976e-001,\n",
            -       "        9.87005883e-001, 9.49941455e-002, 7.32720363e-001,\n",
            -       "        9.75465234e-001, 9.59589061e-001, 8.78219426e-001,\n",
            -       "        9.17940187e-001, 7.81140101e-001, 9.55217300e-001,\n",
            -       "        9.72267438e-001, 7.42907295e-001, 9.55242132e-001,\n",
            -       "        7.54853059e-001, 7.66691527e-001, 3.95807223e-001,\n",
            -       "        7.16931577e-001, 3.33333344e-001, 8.48135430e-001,\n",
            -       "        9.48288394e-001, 4.50901311e-001, 7.41452166e-001,\n",
            -       "        8.21182100e-001, 8.26807734e-005, 9.17452907e-001,\n",
            -       "        5.40610957e-001, 5.64220724e-001, 9.90480745e-001,\n",
            -       "        6.01008509e-001, 9.94880841e-001, 9.14121231e-001,\n",
            -       "        9.57448799e-001, 7.59538542e-001, 9.52245858e-001,\n",
            -       "        1.00000000e+000, 1.00000000e+000, 6.12941633e-001,\n",
            -       "        9.55675314e-001, 9.69718081e-001, 8.07065328e-001,\n",
            -       "        4.80768611e-001, 8.96461457e-001, 1.00000000e+000,\n",
            -       "        3.99338612e-001, 7.13970275e-001, 1.29436834e-011,\n",
            -       "        8.73258729e-001, 8.70370774e-001, 4.20136084e-001,\n",
            -       "        6.66701222e-001, 9.52688850e-001, 6.57443917e-001,\n",
            -       "        6.39412890e-001, 1.00000000e+000, 9.95230053e-001,\n",
            -       "        6.33687018e-001, 7.55737631e-001, 1.00000000e+000,\n",
            -       "        4.67519771e-001, 4.10500135e-001, 8.35688876e-001,\n",
            -       "        1.00000000e+000, 8.50633828e-001, 7.05288528e-001,\n",
            -       "        1.00000000e+000, 1.38200845e-005, 4.86009483e-001,\n",
            -       "        4.85890295e-001, 1.00000000e+000, 9.96470277e-001,\n",
            -       "        8.77537058e-001, 2.58783685e-001, 8.54447696e-001,\n",
            -       "        7.74073657e-001, 7.36414797e-001, 9.19091212e-001,\n",
            -       "        9.91502832e-001, 6.59522682e-001, 9.30283010e-001,\n",
            -       "        6.17819960e-001, 9.07252703e-001, 8.23389992e-001,\n",
            -       "        5.01490111e-001, 9.97813274e-001, 9.26167843e-001,\n",
            -       "        8.68158953e-001, 6.20009221e-001, 7.73979600e-001,\n",
            -       "        8.92658329e-001, 9.25532135e-001, 9.51023751e-001,\n",
            -       "        8.81941312e-001, 4.23158316e-001, 1.00000000e+000,\n",
            -       "        3.33608805e-001, 9.67503260e-001, 9.23276152e-001,\n",
            -       "        8.47027708e-001, 8.11431104e-001, 1.05334062e-001,\n",
            -       "        8.48991013e-001, 9.01161571e-001, 6.67041137e-030,\n",
            -       "        3.46777275e-001, 9.75639834e-001, 8.26503208e-001,\n",
            -       "        5.64394535e-001, 5.74491901e-001, 8.92280796e-001,\n",
            -       "        6.62988721e-001, 7.11607696e-001, 9.69909351e-001,\n",
            -       "        8.53291882e-001, 8.40432080e-001, 9.80572069e-001,\n",
            -       "        6.34947916e-001, 7.58665059e-001, 7.77902826e-001,\n",
            -       "        6.71078108e-001, 9.92755046e-001, 9.72519584e-001,\n",
            -       "        7.86451804e-001, 9.60789790e-001, 9.30288887e-001,\n",
            -       "        5.53330859e-001, 9.45643426e-001, 8.81767042e-001,\n",
            -       "        6.24053664e-001, 5.61709062e-001, 8.69303260e-001,\n",
            -       "        5.72100749e-001, 1.27156246e-001, 8.15237410e-001,\n",
            -       "        7.22979254e-001, 7.42548210e-001, 9.66145597e-001,\n",
            -       "        9.49306231e-001, 3.02327724e-001, 2.05986821e-001,\n",
            -       "        4.15479531e-113, 9.36048496e-001, 5.71429022e-001,\n",
            -       "        9.84638724e-001, 1.00000000e+000, 7.94128452e-001,\n",
            -       "        7.06333148e-001, 8.79022375e-001, 6.11480800e-001,\n",
            -       "        9.62456293e-001, 8.16879115e-001, 8.45182062e-001,\n",
            -       "        7.80040481e-001, 9.96917540e-001, 9.77809928e-001,\n",
            -       "        9.33694479e-001, 4.88478242e-001, 3.64271398e-001,\n",
            -       "        9.93172465e-001, 8.99783819e-001, 9.44656195e-001,\n",
            -       "        1.00000000e+000, 4.18225817e-001, 9.39147402e-001,\n",
            -       "        9.98325171e-001, 9.92190588e-001, 9.22909622e-001,\n",
            -       "        6.66680015e-001, 2.04084007e-144, 9.94242418e-001,\n",
            -       "        8.75598684e-001, 9.18659502e-001, 5.23028335e-001,\n",
            -       "        1.00000000e+000, 5.36780888e-001, 9.86908929e-001,\n",
            -       "        1.00000000e+000, 8.36078899e-001, 8.44889652e-001,\n",
            -       "        1.00000000e+000, 4.01053932e-001, 8.69714428e-001,\n",
            -       "        9.73215226e-001, 4.06413941e-001, 9.63590292e-001,\n",
            -       "        1.00000000e+000, 8.15739168e-001, 3.71454300e-001,\n",
            -       "        4.23010721e-001, 7.80459281e-001, 9.73610442e-001,\n",
            -       "        9.71733281e-001, 9.35756858e-001, 2.97398744e-001,\n",
            -       "        8.09662011e-001, 0.00000000e+000, 7.94206951e-001,\n",
            -       "        8.17521344e-001, 7.44799627e-001, 5.48189033e-001,\n",
            -       "        4.31944676e-001, 5.91753103e-001, 8.37820955e-001,\n",
            -       "        9.95807876e-001, 5.26001811e-001, 6.18307282e-001,\n",
            -       "        4.14025256e-001, 8.74495548e-001, 1.00000000e+000,\n",
            -       "        6.79145473e-003, 9.61603593e-001, 1.46970879e-002,\n",
            -       "        9.00291538e-001, 5.66389903e-001, 8.24410013e-001,\n",
            -       "        6.15006553e-001, 9.34125384e-001, 9.78014054e-001,\n",
            -       "        9.50952365e-001, 9.83545650e-001, 7.95749396e-001,\n",
            -       "        1.00000000e+000, 3.53488352e-001, 7.95919188e-001,\n",
            -       "        9.29582196e-001, 4.63259736e-001, 5.60765398e-001,\n",
            -       "        5.53202503e-001, 9.36517087e-001, 7.20815029e-001,\n",
            -       "        9.95465870e-001, 9.79275407e-001, 6.65296183e-001,\n",
            -       "        9.07598721e-001, 7.09201638e-001, 7.56545069e-001,\n",
            -       "        9.00612778e-001, 2.69444132e-001, 1.00000000e+000,\n",
            -       "        9.15262486e-001, 5.48248061e-001, 9.81737093e-001,\n",
            -       "        9.28301202e-001, 9.95322426e-001, 4.80986802e-001,\n",
            -       "        8.86510877e-001, 7.07195011e-002, 2.18797108e-002,\n",
            -       "        2.39280459e-001, 7.97667258e-001, 9.04050845e-001,\n",
            -       "        8.70564472e-001, 9.85277474e-001, 9.37414117e-200,\n",
            -       "        2.03896246e-001, 3.50493970e-001, 8.31993828e-001,\n",
            -       "        9.83971378e-001, 5.96992603e-001, 8.92232158e-001,\n",
            -       "        2.80851231e-001, 9.47324226e-001, 8.66293637e-001,\n",
            -       "        8.81295133e-001, 9.45908378e-001, 8.46658486e-001,\n",
            -       "        6.19767691e-001, 7.49522549e-001, 9.80327090e-001,\n",
            -       "        9.88546316e-001, 8.84031101e-001, 5.63877442e-001,\n",
            -       "        7.92633160e-001, 6.81020441e-001, 5.01605270e-001,\n",
            -       "        9.33430129e-001, 9.36099242e-001, 8.48409460e-001,\n",
            -       "        7.55103481e-001, 8.50806672e-001, 8.93576734e-001,\n",
            -       "        4.28571429e-001, 5.68623651e-001, 7.14589903e-001,\n",
            -       "        6.26107042e-001, 8.09981077e-001, 6.99214229e-001,\n",
            -       "        9.97959996e-001, 5.75331916e-001, 7.30257784e-001,\n",
            -       "        9.58790730e-001, 8.55208017e-002, 9.48941517e-001,\n",
            -       "        8.65697598e-001, 7.21974271e-001, 1.00000000e+000,\n",
            -       "        7.18166527e-001, 6.83568081e-001, 8.11936353e-001,\n",
            -       "        1.00000000e+000, 9.61385365e-001, 9.90541144e-001,\n",
            -       "        3.50758890e-001, 9.75599431e-001, 9.19880584e-001,\n",
            -       "        5.89994841e-001, 2.85715297e-001, 6.70866776e-001,\n",
            -       "        1.00000000e+000, 8.42200328e-001, 7.37511099e-001,\n",
            -       "        8.61580599e-001, 8.94830732e-001, 7.01128059e-001,\n",
            -       "        8.39940998e-001, 7.95225440e-001, 9.32664761e-001,\n",
            -       "        9.73898335e-001, 9.17767053e-001, 8.91759326e-001,\n",
            -       "        7.95967919e-001, 4.28574628e-001, 8.35151927e-001,\n",
            -       "        9.99743045e-001, 9.31092443e-001, 4.74416965e-002,\n",
            -       "        9.23317787e-002, 4.71309845e-001, 8.00232436e-001,\n",
            -       "        3.23599222e-001, 1.40316457e-001, 9.47314915e-003,\n",
            -       "        9.27785776e-001, 9.10166646e-001, 5.42163153e-001,\n",
            -       "        6.36804822e-001, 8.93922920e-001, 9.36443070e-001,\n",
            -       "        8.89758487e-001, 9.68676115e-001, 9.14599304e-001,\n",
            -       "        6.56402263e-001, 5.58160833e-002, 3.05696154e-001,\n",
            -       "        9.40985438e-001, 3.00085387e-001, 1.00000000e+000,\n",
            -       "        8.16099861e-001, 9.41663512e-001, 9.71549449e-001,\n",
            -       "        8.17213162e-001, 8.59593921e-001, 1.32822206e-067,\n",
            -       "        9.90519689e-001, 6.37789275e-001, 4.65003607e-002,\n",
            -       "        9.40821903e-001, 8.64879326e-001, 6.48867066e-001,\n",
            -       "        8.57064358e-001, 4.80814314e-002, 1.00000000e+000,\n",
            -       "        6.55727483e-001, 9.09334279e-001, 5.71775319e-001,\n",
            -       "        9.76315830e-001, 6.34754911e-001, 6.88890194e-001,\n",
            -       "        9.70758146e-001, 1.00000000e+000, 9.88155708e-001,\n",
            -       "        8.85938629e-001, 1.00000000e+000, 5.80785292e-001,\n",
            -       "        5.19619974e-001, 6.52424173e-001, 1.00000000e+000,\n",
            -       "        9.62115421e-001, 9.68608664e-001, 8.54007281e-001,\n",
            -       "        1.00000000e+000, 7.37855796e-001, 9.23901647e-001,\n",
            -       "        7.48352320e-001, 2.79893307e-001, 9.55241158e-001,\n",
            -       "        8.55172793e-001, 1.00000000e+000, 9.87496991e-001,\n",
            -       "        9.17409906e-001, 8.07808878e-001],\n",
            -       "       [9.91147379e-001, 9.71950756e-001, 9.66164853e-001,\n",
            -       "        9.90044290e-001, 8.99962002e-001, 9.94587492e-001,\n",
            -       "        8.66020842e-001, 9.85465521e-001, 8.04202840e-001,\n",
            -       "        8.24399544e-001, 9.83007729e-001, 9.70058188e-001,\n",
            -       "        1.00000000e+000, 9.90254104e-001, 9.91234813e-001,\n",
            -       "        5.31369822e-001, 2.24718517e-001, 8.90469000e-001,\n",
            -       "        8.77280044e-001, 1.00000000e+000, 9.98248406e-001,\n",
            -       "        9.64262814e-001, 9.91230697e-001, 2.87910465e-001,\n",
            -       "        9.96243598e-001, 9.57159268e-001, 8.43540065e-001,\n",
            -       "        1.00000000e+000, 9.43788897e-001, 9.85818169e-001,\n",
            -       "        6.61630686e-001, 9.58659755e-001, 9.89498599e-001,\n",
            -       "        9.56030570e-001, 8.88295817e-001, 8.76657314e-001,\n",
            -       "        9.95898473e-001, 9.24642411e-001, 9.51207291e-001,\n",
            -       "        9.98846374e-001, 8.32524309e-001, 9.35514570e-001,\n",
            -       "        9.97906933e-001, 9.42136798e-001, 9.96559331e-001,\n",
            -       "        9.78569836e-001, 9.22029550e-001, 9.75658656e-001,\n",
            -       "        9.58444027e-001, 7.26893631e-001, 9.81924614e-001,\n",
            -       "        9.55270543e-001, 9.26014646e-001, 7.52753488e-001,\n",
            -       "        8.96074270e-001, 1.00000000e+000, 1.00000000e+000,\n",
            -       "        9.55106964e-001, 8.24606882e-001, 7.85654073e-001,\n",
            -       "        9.82842642e-001, 9.99489133e-001, 9.51360285e-001,\n",
            -       "        6.44619682e-001, 9.66686257e-001, 8.46089129e-001,\n",
            -       "        1.00000000e+000, 1.00000000e+000, 9.92207465e-001,\n",
            -       "        9.09197734e-001, 4.75765006e-001, 2.30082747e-004,\n",
            -       "        1.00000000e+000, 8.86369167e-001, 9.76311590e-001,\n",
            -       "        8.99593976e-001, 9.37533944e-001, 8.63609870e-001,\n",
            -       "        9.43352461e-001, 9.91860418e-001, 9.96610396e-001,\n",
            -       "        2.04636538e-001, 9.39350163e-001, 7.07500520e-001,\n",
            -       "        5.09314144e-001, 8.55112711e-001, 1.00000000e+000,\n",
            -       "        9.92517100e-001, 8.84447208e-001, 9.97166101e-001,\n",
            -       "        3.03456180e-005, 5.40383239e-001, 9.71030311e-001,\n",
            -       "        4.15600517e-002, 9.72643552e-001, 1.00000000e+000,\n",
            -       "        8.75821896e-001, 8.79409076e-001, 9.87258016e-001,\n",
            -       "        1.00000000e+000, 9.15935525e-001, 9.23668346e-001,\n",
            -       "        9.92023976e-001, 5.93212910e-001, 9.95807177e-001,\n",
            -       "        8.42293888e-001, 9.65433769e-001, 9.95176039e-001,\n",
            -       "        8.65023384e-001, 9.04339253e-001, 9.03248686e-001,\n",
            -       "        9.96433427e-001, 9.89774865e-001, 7.90177353e-001,\n",
            -       "        9.49047386e-001, 9.21470330e-001, 2.09843101e-001,\n",
            -       "        9.76699957e-001, 9.13804468e-001, 9.53999714e-001,\n",
            -       "        9.70586020e-001, 8.66469430e-001, 9.68688535e-001,\n",
            -       "        9.97454638e-001, 1.99703148e-001, 6.58721857e-001,\n",
            -       "        9.88596768e-001, 8.62785846e-001, 9.95191227e-001,\n",
            -       "        9.84517299e-001, 9.66423119e-001, 9.44480097e-001,\n",
            -       "        9.50341683e-001, 6.97671354e-001, 9.89384484e-001,\n",
            -       "        8.99064119e-001, 7.83812466e-001, 2.83738349e-002,\n",
            -       "        9.21598247e-001, 9.84759816e-001, 8.72653996e-001,\n",
            -       "        9.59305279e-001, 9.74310428e-001, 9.36729554e-001,\n",
            -       "        9.53490892e-001, 9.59016933e-001, 9.29383300e-001,\n",
            -       "        9.56924034e-001, 2.12905791e-001, 3.11554859e-001,\n",
            -       "        7.67775706e-001, 9.89225339e-001, 9.00663911e-001,\n",
            -       "        9.85652947e-001, 9.67385744e-001, 9.82055763e-001,\n",
            -       "        9.90816449e-001, 7.34307920e-001, 5.89091994e-001,\n",
            -       "        9.70713419e-001, 5.90632197e-001, 7.67521255e-001,\n",
            -       "        7.91860619e-001, 9.34818881e-001, 6.87735071e-001,\n",
            -       "        9.62728070e-001, 6.09425808e-001, 8.08485392e-001,\n",
            -       "        9.16510215e-002, 2.09072842e-001, 9.53930596e-001,\n",
            -       "        6.21810775e-001, 9.87612685e-001, 9.99011694e-001,\n",
            -       "        9.43293593e-001, 6.24050225e-001, 7.93338055e-001,\n",
            -       "        1.00000000e+000, 8.10497021e-001, 9.64038648e-001,\n",
            -       "        9.71492664e-001, 8.88371723e-001, 9.01374872e-001,\n",
            -       "        9.95021276e-001, 9.61329989e-001, 5.38656618e-001,\n",
            -       "        7.04863056e-001, 9.73119470e-001, 1.00000000e+000,\n",
            -       "        9.95106717e-001, 9.75706315e-001, 1.00000000e+000,\n",
            -       "        4.83874150e-001, 8.15151985e-001, 9.66772030e-001,\n",
            -       "        9.84630615e-001, 5.80503503e-001, 9.97486296e-001,\n",
            -       "        9.52368139e-001, 9.45937523e-001, 9.87133657e-001,\n",
            -       "        1.44676916e-001, 9.29609197e-001, 9.77275547e-001,\n",
            -       "        2.71011611e-001, 9.67923108e-001, 9.29981363e-001,\n",
            -       "        8.88573398e-001, 9.94708921e-001, 9.49523011e-001,\n",
            -       "        9.89263407e-001, 9.82159915e-001, 9.21548082e-001,\n",
            -       "        6.11092334e-001, 9.97523067e-001, 8.84511095e-001,\n",
            -       "        9.70288964e-001, 9.62247950e-001, 8.13831477e-001,\n",
            -       "        9.79740680e-001, 9.60187791e-001, 7.39476447e-001,\n",
            -       "        8.16858344e-001, 9.62282760e-001, 9.64015648e-001,\n",
            -       "        9.26618007e-001, 8.03640939e-001, 9.89798229e-001,\n",
            -       "        9.20630601e-001, 9.73831343e-001, 9.39612786e-001,\n",
            -       "        9.89602013e-001, 8.31983694e-001, 9.98690219e-001,\n",
            -       "        9.77639073e-001, 1.00000000e+000, 9.80649004e-001,\n",
            -       "        7.69267181e-001, 8.92907972e-001, 9.94293952e-001,\n",
            -       "        9.01223037e-001, 9.72418989e-001, 9.81164809e-001,\n",
            -       "        9.03453967e-001, 9.96054730e-001, 5.59525351e-001,\n",
            -       "        9.95348273e-001, 7.98633617e-001, 8.77325269e-001,\n",
            -       "        9.83331317e-001, 3.90902716e-001, 9.79332640e-001,\n",
            -       "        9.74127534e-001, 4.50074264e-001, 8.38049960e-001,\n",
            -       "        7.68579732e-002, 9.66325610e-001, 9.93313629e-001,\n",
            -       "        6.47304242e-001, 8.69869120e-001, 8.37211897e-001,\n",
            -       "        9.83199430e-001, 4.37429024e-001, 9.37301515e-001,\n",
            -       "        1.60795702e-002, 1.80639407e-001, 4.31620574e-001,\n",
            -       "        9.76523772e-001, 4.30740143e-001, 9.06878162e-001,\n",
            -       "        5.74473577e-001, 9.73795204e-001, 1.00000000e+000,\n",
            -       "        6.50207891e-001, 9.93753202e-001, 9.52524180e-001,\n",
            -       "        9.92896342e-001, 7.31238657e-001, 9.49123785e-001,\n",
            -       "        6.71207423e-001, 9.77894909e-001, 3.74868040e-001,\n",
            -       "        9.44448423e-001, 9.66477679e-001, 9.87138720e-001,\n",
            -       "        9.09704105e-001, 9.83395464e-001, 8.01274007e-001,\n",
            -       "        7.89448924e-001, 8.21409164e-001, 9.42463389e-001,\n",
            -       "        9.79780242e-001, 7.49125807e-001, 9.92424146e-001,\n",
            -       "        6.99023733e-001, 9.09972014e-001, 9.12205907e-001,\n",
            -       "        8.90706226e-001, 5.40540598e-001, 9.92769685e-001,\n",
            -       "        8.13835268e-001, 9.99086032e-001, 9.95546042e-001,\n",
            -       "        1.00000000e+000, 9.38014644e-001, 1.90608413e-001,\n",
            -       "        1.00000000e+000, 9.55855640e-001, 8.15048232e-001,\n",
            -       "        9.37276439e-001, 9.84767085e-001, 7.58388823e-001,\n",
            -       "        9.90774947e-001, 9.94336592e-001, 6.80002580e-001,\n",
            -       "        6.55607632e-001, 8.79611368e-001, 9.92928091e-001,\n",
            -       "        9.32765535e-001, 9.74458631e-001, 9.97860374e-001,\n",
            -       "        8.51225575e-001, 9.37751930e-001, 9.10183081e-001,\n",
            -       "        9.17020768e-001, 1.00000000e+000, 9.86404911e-001,\n",
            -       "        8.62356279e-001, 9.60048557e-001, 5.31342359e-001,\n",
            -       "        8.12732517e-001, 9.92717382e-001, 9.97553965e-001,\n",
            -       "        3.01832200e-001, 9.96128596e-001, 8.77590631e-001,\n",
            -       "        1.00000000e+000, 9.86484943e-001, 7.48789338e-001,\n",
            -       "        7.60629596e-001, 9.02519643e-001, 1.00000000e+000,\n",
            -       "        8.76007973e-001, 8.65114983e-001, 9.96436417e-001,\n",
            -       "        9.46368712e-001, 9.62792077e-001, 9.52414419e-001,\n",
            -       "        8.47955480e-001, 9.91874114e-001, 9.86230256e-001,\n",
            -       "        9.94163413e-001, 9.99313914e-001, 8.61302289e-001,\n",
            -       "        9.14317420e-001, 9.50097933e-001, 7.76309186e-001,\n",
            -       "        9.76887202e-001, 9.57457100e-001, 9.54560375e-001,\n",
            -       "        9.68189396e-001, 9.58733692e-001, 9.92666973e-001,\n",
            -       "        6.12553202e-001, 9.88046020e-001, 9.67017050e-001,\n",
            -       "        9.38095092e-001, 9.44329823e-001, 9.48251262e-001,\n",
            -       "        9.12011432e-001, 8.05815147e-001, 3.01454697e-001,\n",
            -       "        9.88776102e-001, 9.32445038e-001, 8.25879760e-001,\n",
            -       "        5.56368140e-001, 1.00000000e+000, 9.87556731e-001,\n",
            -       "        9.18449703e-001, 8.75782460e-001, 9.97836835e-001,\n",
            -       "        8.99619522e-001, 9.54744730e-001, 9.99854772e-001,\n",
            -       "        9.98885645e-001, 7.01280823e-001, 9.90628011e-001,\n",
            -       "        9.14458462e-001, 9.63638478e-001, 9.37876978e-001,\n",
            -       "        9.77900327e-001, 5.22784738e-001, 4.03676032e-001,\n",
            -       "        9.37313500e-001, 8.97972642e-001, 9.99783799e-001,\n",
            -       "        8.86523265e-001, 8.74092337e-001, 1.00000000e+000,\n",
            -       "        7.15666285e-001, 4.36484787e-001, 9.47444772e-001,\n",
            -       "        9.86001975e-001, 9.21410448e-001, 9.59581517e-001,\n",
            -       "        9.41665390e-001, 8.65504066e-001, 9.28833560e-001,\n",
            -       "        9.71127158e-001, 8.49226397e-001, 9.85351190e-001,\n",
            -       "        9.59521856e-001, 9.44883522e-001, 9.62561802e-001,\n",
            -       "        8.91407891e-001, 9.98951233e-001, 9.91725091e-001,\n",
            -       "        9.41195576e-001, 9.54785312e-001, 9.89622944e-001,\n",
            -       "        9.72211466e-001, 7.68030455e-001, 9.18510998e-001,\n",
            -       "        9.77385875e-001, 9.34273126e-001, 8.13575755e-001,\n",
            -       "        1.00000000e+000, 9.99165677e-001, 9.39979846e-001,\n",
            -       "        9.04483454e-001, 9.12474278e-001, 9.64830930e-001,\n",
            -       "        9.82811048e-001, 9.81284951e-001, 7.66248589e-001,\n",
            -       "        1.00000000e+000, 8.33995819e-001, 9.77581930e-001,\n",
            -       "        6.43567368e-001, 9.96575975e-001, 8.98904567e-001,\n",
            -       "        5.74750264e-001, 3.17044175e-001, 1.00000000e+000,\n",
            -       "        8.95102867e-001, 7.81600476e-001, 1.00000000e+000,\n",
            -       "        9.19912251e-001, 9.96642046e-001, 7.92473741e-001,\n",
            -       "        9.82915546e-001, 9.95027400e-001, 9.96178055e-001,\n",
            -       "        8.56028297e-001, 9.47404325e-001, 9.36733098e-001,\n",
            -       "        9.63971987e-001, 9.96684608e-001, 8.90387146e-001,\n",
            -       "        7.34300724e-002, 9.69701948e-001, 9.44124130e-001,\n",
            -       "        9.83594936e-001, 9.25784233e-001, 5.80448001e-001,\n",
            -       "        1.00000000e+000, 9.92149129e-001, 9.40362213e-001,\n",
            -       "        1.00000000e+000, 7.80406441e-001, 8.81126100e-001,\n",
            -       "        6.64381931e-001, 9.86171098e-001, 4.61282937e-001,\n",
            -       "        1.00000000e+000, 7.58499002e-001, 8.83415421e-001,\n",
            -       "        9.64025159e-001, 9.60763067e-001, 9.48179446e-001,\n",
            -       "        5.90266116e-001, 9.24629732e-001, 2.00058914e-001,\n",
            -       "        6.05169585e-001, 8.18267303e-001, 9.97805436e-001,\n",
            -       "        1.00000000e+000, 7.73787636e-001, 1.00000000e+000,\n",
            -       "        9.83944219e-001, 1.20935597e-030, 8.86723710e-001,\n",
            -       "        8.48147942e-001, 9.59844921e-001, 9.66619335e-001,\n",
            -       "        9.33360236e-001, 9.39173966e-001, 9.64370008e-001,\n",
            -       "        9.71246723e-001, 9.93454895e-001]])
          • step_size
            (chain, draw)
            float64
            0.5415 0.5415 ... 0.594 0.594
            array([[0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714,\n",
            -       "        0.54153714, 0.54153714, 0.54153714, 0.54153714, 0.54153714],\n",
            -       "       [0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896,\n",
            -       "        0.59404896, 0.59404896, 0.59404896, 0.59404896, 0.59404896]])
          • max_energy_error
            (chain, draw)
            float64
            -0.149 2.22 ... 0.09263 -0.2259
            array([[-1.48989577e-01,  2.21957240e+00, -3.67390751e-01,\n",
            -       "        -2.42733853e-01,  2.69058870e-01, -5.13461197e-01,\n",
            -       "        -2.28594235e-01,  3.57237391e-01, -2.03883774e-01,\n",
            -       "         7.00655278e+00,  1.86070210e-01, -8.55723457e-02,\n",
            -       "         2.47567187e-01,  3.11260747e-01,  4.13640303e-01,\n",
            -       "        -3.72090705e-01,  5.86569842e-02, -9.12109435e-02,\n",
            -       "         3.36031533e-01,  6.74652403e-01,  2.65541267e-01,\n",
            -       "         1.64492801e+01,  6.02296059e+00,  2.52295139e-01,\n",
            -       "         2.93858142e-01,  2.64872629e-01,  5.14895274e+00,\n",
            -       "        -5.04986109e-01,  5.81983258e+00, -7.97687495e-01,\n",
            -       "         5.46892690e-01, -3.61385293e-01,  6.37158670e-01,\n",
            -       "         1.67737325e+00,  1.01204856e+02,  2.31968101e-01,\n",
            -       "         1.21123897e+00, -8.18909645e-01,  2.28325467e+00,\n",
            -       "         1.22623819e+01,  6.61811222e-01,  4.04787278e-01,\n",
            -       "         1.14418034e+01,  1.88960250e+00,  1.43463992e+00,\n",
            -       "        -6.32821622e-01,  1.98704854e+00,  5.28814110e-01,\n",
            -       "         3.57580789e-01,  1.28331070e-01, -4.49235034e-01,\n",
            -       "        -3.11985230e-01, -7.58022294e-01, -4.40860802e-01,\n",
            -       "         1.70592283e+00,  1.41383337e+00,  5.14964398e+01,\n",
            -       "         1.45865826e+00,  1.14919658e+01,  1.98279240e+01,\n",
            -       "        -5.46685951e-01, -2.17966784e-01,  7.03257474e-01,\n",
            -       "         1.71235943e+00,  1.21280013e+00,  2.25584324e-01,\n",
            -       "        -2.69255963e-01,  2.18114649e-01, -4.96155630e-01,\n",
            -       "        -4.14788274e-01,  1.77062167e+00,  7.33345982e-01,\n",
            -       "        -1.07290354e+00, -7.84985005e-01, -5.16348796e-01,\n",
            -       "         4.72573828e-01, -1.30984149e+00,  6.57052576e-01,\n",
            -       "        -1.63409342e-01,  1.26034872e+00,  6.68367528e-01,\n",
            -       "         1.85802588e+00,  3.64494566e+00,  9.07110740e+00,\n",
            -       "         4.98040972e-01,  4.02776412e+00, -3.39673281e-01,\n",
            -       "         1.73712466e+00, -1.08201292e+00, -4.30169424e-01,\n",
            -       "         7.34991875e-01, -5.77166110e-01,  1.46681901e-01,\n",
            -       "         4.91008427e-01,  2.95193166e-01,  7.16615151e+00,\n",
            -       "         2.18303783e+00, -3.83362144e-01, -2.75120474e-01,\n",
            -       "        -5.71472468e-01,  1.80064981e-01, -2.62243047e-01,\n",
            -       "         6.65210297e-01,  5.75609791e-01, -1.14095749e+00,\n",
            -       "         5.04804542e-01,  2.36973366e+01,  3.29838403e+00,\n",
            -       "        -3.16063846e-01,  3.17368085e-01,  5.67899139e-01,\n",
            -       "        -4.94755757e-01,  2.87739332e+01,  7.05179551e-01,\n",
            -       "        -7.41398631e-01,  1.87150300e-01,  1.91368316e+00,\n",
            -       "        -5.08268391e-01,  7.45951887e-01, -2.95089806e-01,\n",
            -       "        -2.21708949e-01,  7.05258237e-01, -6.39449462e-01,\n",
            -       "         8.28030896e-01,  1.74208446e+03,  2.87961006e+00,\n",
            -       "         8.38346277e-01,  6.35664661e+01,  5.80461825e-01,\n",
            -       "        -2.88162356e-01,  1.79674838e+00,  4.86242572e-01,\n",
            -       "         7.05205767e-01,  2.82358739e+01,  4.22338355e-01,\n",
            -       "         2.46046513e+00,  8.49414253e+01, -1.10868668e+00,\n",
            -       "         1.98576704e+02, -1.03968034e-01,  2.10113673e-01,\n",
            -       "        -4.14198288e-01,  5.17722728e+01,  4.06884611e-01,\n",
            -       "        -5.30661695e-01, -5.60473748e-01,  6.52740607e-01,\n",
            -       "        -2.04112035e-01, -2.83061481e-01,  6.61583365e-01,\n",
            -       "         1.88905710e+00,  4.14786135e-01, -4.05742820e-01,\n",
            -       "         7.31111412e+00,  5.01512871e-01,  2.50704132e+01,\n",
            -       "         2.60671872e-01, -3.99993869e-01,  1.27117934e+02,\n",
            -       "         6.77470381e+00,  1.73685306e-01,  6.85047034e-01,\n",
            -       "         6.08168108e-01, -6.56196928e-01, -2.58025141e-01,\n",
            -       "         5.66260436e-01,  5.55733196e-01, -5.72221896e-01,\n",
            -       "         1.24852467e+00,  6.42314797e+00,  6.79112866e-01,\n",
            -       "        -1.42316454e+00,  4.40984152e-01,  1.07572682e+00,\n",
            -       "        -9.27740875e-01,  3.46925423e+01,  2.21524100e+00,\n",
            -       "         5.56759106e+00, -3.00875940e-01, -1.27277580e-01,\n",
            -       "         2.37932777e-01,  1.48797536e+01,  3.10175124e-01,\n",
            -       "         4.83622036e-01,  5.50455369e-01,  4.08848761e-01,\n",
            -       "        -4.70396826e-01,  2.54984009e+00,  3.19921115e-01,\n",
            -       "         2.64054234e+00,  3.26065225e-01,  3.53056240e-01,\n",
            -       "         1.58652334e+00, -2.88955356e-01, -1.99639497e-01,\n",
            -       "         3.16041284e-01,  1.64063085e+00,  7.94948383e-01,\n",
            -       "         2.13079198e-01,  2.33312676e-01, -1.14414675e+00,\n",
            -       "        -3.19251327e-01,  9.43190676e-01, -6.45817103e-01,\n",
            -       "         2.28286226e+01, -3.89923866e-01,  1.95051022e-01,\n",
            -       "         3.46248427e-01,  5.67462762e-01,  4.69301902e+00,\n",
            -       "         3.69625592e-01,  2.66265109e-01,  6.71798713e+01,\n",
            -       "         6.37080303e+02, -7.65995759e-01,  4.21636945e-01,\n",
            -       "         7.50343565e-01,  2.16898261e+00, -2.16226961e-01,\n",
            -       "         3.09291919e+00,  4.31248270e-01, -5.29311053e-01,\n",
            -       "         4.01934006e-01,  2.82501672e-01, -4.80919275e-01,\n",
            -       "         7.80887653e-01,  5.14600718e-01,  9.00451605e-01,\n",
            -       "         8.81063154e-01, -8.69692271e-01, -2.01723119e-01,\n",
            -       "         6.86322715e-01,  1.12848542e-01, -6.02128795e-01,\n",
            -       "         2.05284784e+00,  1.54511327e-01,  4.64045994e-01,\n",
            -       "         9.25281857e-01,  2.49531712e+01, -4.94261432e-01,\n",
            -       "         8.86540404e-01,  8.63264530e+00,  4.36901678e-01,\n",
            -       "         8.94647907e-01,  1.82269749e+00, -4.70260051e-01,\n",
            -       "        -2.00879424e-01,  6.72242567e+00,  2.16827039e+01,\n",
            -       "         2.58767852e+02, -7.13851883e-01,  5.72961979e+01,\n",
            -       "        -3.27427728e-01, -2.52932722e-01,  4.90883692e-01,\n",
            -       "         7.11797118e-01,  2.63851039e-01,  1.16424698e+00,\n",
            -       "        -3.67628683e-01,  6.75686593e+00,  3.74028937e-01,\n",
            -       "         4.60345854e-01, -4.12159817e-01, -2.21925605e-01,\n",
            -       "        -4.40007043e-01,  2.19682325e+00,  3.47183714e+00,\n",
            -       "        -2.51749619e-01,  5.33898648e-01,  1.51211845e-01,\n",
            -       "        -2.52947158e-01,  2.04169947e+00, -1.31612922e+00,\n",
            -       "        -4.27896830e-01, -1.92626852e-01,  5.27890699e-01,\n",
            -       "         1.01254747e+01,  3.30858892e+02, -2.47709987e-01,\n",
            -       "         3.93215011e-01,  1.30176114e-01,  7.51969700e+00,\n",
            -       "        -3.43158986e-01,  9.41831896e+01, -4.65959296e-01,\n",
            -       "        -5.70299897e-01,  4.32314205e-01, -6.76974063e-01,\n",
            -       "        -3.93088899e-01,  7.69348793e+01,  1.40311193e+00,\n",
            -       "        -1.87306939e-01,  1.25850502e+00, -5.63314481e-01,\n",
            -       "        -1.86475349e-01,  4.82023167e-01,  1.21987609e+00,\n",
            -       "         6.48737608e+00,  8.93480168e-01, -3.48220177e-01,\n",
            -       "        -1.77346832e-01,  2.10277970e-01,  7.31778319e+00,\n",
            -       "         3.70933606e-01,  1.54940270e+03,  5.46264961e-01,\n",
            -       "         2.60128258e-01,  6.66258751e-01,  8.12350725e-01,\n",
            -       "         1.33065723e+01,  1.90313414e+00,  8.30363868e-01,\n",
            -       "        -7.19593743e-01,  1.00194530e+00,  3.84501991e+00,\n",
            -       "         8.16902798e+00,  7.77041316e-01, -3.56951277e-01,\n",
            -       "         9.92986410e+00,  1.34334964e-01,  1.00628768e+01,\n",
            -       "         2.52882591e-01,  1.46349940e+01,  4.69562121e+00,\n",
            -       "         3.28920600e+00, -4.42670431e-01, -5.54413331e-01,\n",
            -       "         1.44779983e-01, -2.95661112e-01,  6.37820287e-01,\n",
            -       "        -8.70021046e-01,  2.59889230e+00,  3.45537654e-01,\n",
            -       "        -5.59472130e-01,  3.10129627e+00,  1.76067094e+00,\n",
            -       "         8.23592091e-01,  2.78402469e-01,  4.49371384e-01,\n",
            -       "        -1.14160276e+00, -4.05555231e-01,  8.29663410e-01,\n",
            -       "         3.01162923e-01,  5.65998207e+01,  4.77195676e-01,\n",
            -       "         4.69610219e-01,  6.69138383e+01, -5.28851402e-01,\n",
            -       "        -4.09646549e-01,  7.97300153e-01, -5.25161712e-01,\n",
            -       "         1.68264557e-01, -3.28149921e-01,  8.02884331e-01,\n",
            -       "         5.96653751e-01,  5.42501230e+00,  4.12418632e+00,\n",
            -       "         2.27260704e+00,  3.58644019e-01, -3.11477931e-01,\n",
            -       "         9.26589675e-01, -8.98439582e-01,  4.58279064e+02,\n",
            -       "         1.79881712e+02,  6.20679100e+01,  3.67729467e-01,\n",
            -       "        -3.42556450e-01,  6.22235916e+00,  4.04939721e-01,\n",
            -       "         5.87625597e+01, -2.50858804e-01,  3.04513138e-01,\n",
            -       "         3.81833639e-01, -5.49612000e-01,  5.31701192e+00,\n",
            -       "         3.82550708e+00,  3.36195460e+00, -9.21324180e-01,\n",
            -       "        -2.09045412e-01,  2.01882585e-01,  1.13695910e+00,\n",
            -       "         3.91141170e-01,  9.93989222e-01,  1.27255731e+00,\n",
            -       "         6.27339019e-01, -2.40914229e-01,  7.25988442e-01,\n",
            -       "         1.27212716e+00,  5.30740807e-01, -5.27554127e-01,\n",
            -       "         2.88644476e+02,  7.18438675e+00,  6.31505662e-01,\n",
            -       "         2.83641100e+00,  2.52073512e-01,  2.10988676e+00,\n",
            -       "        -3.59407455e-01,  1.37028086e+00,  1.48287854e+00,\n",
            -       "        -3.27237419e-01,  8.64599580e+00,  1.83208441e-01,\n",
            -       "         1.25285279e+00,  9.29220987e-01, -5.61550304e-01,\n",
            -       "         1.25053185e+01,  1.21838465e+00,  5.41188148e-01,\n",
            -       "        -6.53478631e-01, -2.86520115e-01, -4.80109613e-01,\n",
            -       "         3.72071005e+01, -3.09921033e-01,  2.02051408e-01,\n",
            -       "         1.91700001e+00,  6.27323660e+01,  2.06295950e+00,\n",
            -       "        -7.88107565e-01,  7.47416958e+00,  6.97532253e-01,\n",
            -       "        -5.86494852e-01,  4.90532226e-01,  9.94699751e-01,\n",
            -       "         3.71078144e-01,  6.51613216e-01,  4.07729055e-01,\n",
            -       "        -8.65821026e-02,  1.61814996e-01,  3.52792152e-01,\n",
            -       "         6.86411974e-01,  3.99036968e+01,  4.34015305e-01,\n",
            -       "        -1.83805262e-01, -2.54600105e-01,  3.58782786e+00,\n",
            -       "         2.48004441e+02,  2.83050843e+01,  7.91010002e-01,\n",
            -       "         4.98133009e+00,  4.02783096e+01,  7.47569552e+00,\n",
            -       "         1.89933067e-01,  6.85092522e-01,  9.22332963e-01,\n",
            -       "         3.35020363e+00, -2.70894565e-01,  1.72232034e-01,\n",
            -       "         2.48309974e-01,  8.19704874e-02,  1.35017186e-01,\n",
            -       "         8.49347892e-01,  7.70526163e+00,  1.31973372e+00,\n",
            -       "         2.43127186e-01,  2.68279188e+01, -2.40263232e-01,\n",
            -       "         5.35913711e-01, -3.05202302e-01, -4.20629310e-01,\n",
            -       "         5.98405214e-01,  3.94289397e-01,  1.53989360e+02,\n",
            -       "        -2.62016773e-01,  9.07127190e+00,  3.69242567e+00,\n",
            -       "         1.16015183e-01,  2.73884184e-01,  1.18110449e+03,\n",
            -       "         8.39030415e+00,  9.71100142e+00, -8.15548309e-01,\n",
            -       "         4.92505026e+00, -4.39490835e-01,  2.33829177e+01,\n",
            -       "        -1.71918865e-01,  1.93758199e+00,  1.97759154e+00,\n",
            -       "        -8.53117565e-01, -1.10423583e+00, -6.23124024e-01,\n",
            -       "        -6.67432793e-01, -1.52094040e+00,  1.02228045e+00,\n",
            -       "         1.42459033e+00,  6.76864429e-01, -8.99953702e-01,\n",
            -       "         2.93752712e-01, -2.57798059e-01,  4.54619107e-01,\n",
            -       "        -1.05704844e+00,  1.23172517e+00,  2.09246095e-01,\n",
            -       "         6.89109782e-01,  2.02217266e+00, -3.27585080e-01,\n",
            -       "         4.46927198e-01, -2.16125885e-01, -4.45585847e-01,\n",
            -       "         2.54137603e-01,  4.14688523e+00],\n",
            -       "       [-2.23501649e-01, -2.50505321e-01,  1.85953653e-01,\n",
            -       "        -1.63366432e-01,  1.65550134e-01, -5.43366945e-02,\n",
            -       "         2.14641036e-01, -8.36693071e-02,  5.83316810e-01,\n",
            -       "         2.99576285e-01, -1.87251091e-01, -2.82682590e-01,\n",
            -       "        -5.22309563e-01, -1.93324974e-01, -1.97497709e+00,\n",
            -       "         1.37900399e+00,  2.47667566e+00,  1.45550298e+00,\n",
            -       "         1.95927691e+00, -6.99672382e-01, -1.89714810e-01,\n",
            -       "        -3.82986108e-01, -3.92897939e-01,  1.29678158e+01,\n",
            -       "        -1.74933575e-01, -1.03078210e-01,  5.46906175e-01,\n",
            -       "        -5.92739798e-01, -3.33588388e-01, -1.05465733e-01,\n",
            -       "         2.53607286e+00,  3.24284587e-01, -2.03074921e-01,\n",
            -       "         1.05930544e-01, -6.03699745e-01,  3.54589750e-01,\n",
            -       "        -3.02888435e-01,  1.58754795e-01, -1.60151036e-01,\n",
            -       "        -3.50573393e-02,  2.57755611e-01, -4.38949666e-01,\n",
            -       "        -2.47656342e-01,  8.90324530e-02, -1.14800653e-01,\n",
            -       "        -1.72610738e-01,  4.00000319e-01,  6.10380512e-02,\n",
            -       "        -1.50304926e-01,  7.10224530e-01,  1.20944314e-01,\n",
            -       "         1.67524218e-01,  5.15889671e-01,  4.23476178e-01,\n",
            -       "         2.39278276e-01, -1.77587035e-01, -2.08937872e-01,\n",
            -       "         9.65798927e-02,  5.10949329e-01,  3.94973961e-01,\n",
            -       "        -1.85693942e-01, -1.50803934e-01,  1.16231664e-01,\n",
            -       "         2.14147518e+00,  9.86221152e-02,  6.96976016e-01,\n",
            -       "        -2.66774414e+00, -1.49385236e+00, -5.42583862e-01,\n",
            -       "         4.12743505e-01,  1.43043627e+00,  2.25157342e+01,\n",
            -       "        -8.60986241e-02,  1.93901882e-01, -2.31209331e-01,\n",
            -       "         2.40613415e-01,  1.47833159e-01,  4.31793605e-01,\n",
            -       "         3.11644553e-01, -1.44609572e-01, -1.91359611e-01,\n",
            -       "         1.63070781e+01,  5.32137147e-01,  5.97580050e-01,\n",
            -       "         4.76588486e+00,  3.78361404e+00, -4.50569848e-01,\n",
            -       "        -1.70416570e-01,  2.03576403e-01, -4.72538209e-01,\n",
            -       "         3.88951644e+01,  7.28646835e-01, -3.58263011e-01,\n",
            -       "         5.75489533e+00, -1.17141209e-01, -1.20017952e-01,\n",
            -       "         1.18998086e+00,  2.77289825e-01, -8.71625634e-02,\n",
            -       "        -1.64372595e-01,  1.59794541e-01,  2.11905257e-01,\n",
            -       "        -1.46806956e+00,  6.17669930e-01, -1.55837198e-01,\n",
            -       "         5.34885160e-01,  7.05777788e-02, -2.87864012e-01,\n",
            -       "         2.30003041e-01,  2.03529353e-01,  6.00918311e-01,\n",
            -       "        -1.35010025e-01, -1.02862564e-01,  3.60783928e-01,\n",
            -       "        -3.12616208e-01,  1.90649485e-01,  1.75875458e+00,\n",
            -       "        -1.34881516e+00,  1.37334036e-01,  1.22733884e-01,\n",
            -       "         2.02406277e-01,  2.41369994e+00, -1.19316083e-01,\n",
            -       "        -4.34793440e-01,  1.22810893e+02,  9.58842195e-01,\n",
            -       "        -8.25595099e-01,  2.56931136e-01, -1.82265764e-01,\n",
            -       "        -8.06483895e-02, -9.08701466e-02,  1.11515922e-01,\n",
            -       "         1.92199791e-01,  6.84296906e-01, -3.18297667e-01,\n",
            -       "         1.54848475e-01,  5.62668205e-01,  5.30794784e+00,\n",
            -       "         1.99858969e-01, -4.30103239e-02,  3.54681401e-01,\n",
            -       "         1.47103500e-01,  1.24919477e-01,  1.11798014e-01,\n",
            -       "         2.42901411e-01, -3.39006411e-01,  1.85134912e-01,\n",
            -       "        -1.48783600e-01,  5.77696490e+02,  1.72004413e+00,\n",
            -       "         2.67935850e+00, -2.77538824e-01,  2.08308494e-01,\n",
            -       "        -2.30507802e-01, -3.01288459e-01, -2.21684705e-01,\n",
            -       "        -3.99352918e-01,  8.50812646e-01,  3.19964010e+00,\n",
            -       "        -1.73184065e-01,  6.35160119e+00,  8.90906948e-01,\n",
            -       "         3.63510967e-01,  1.66622743e-01,  2.28598108e+00,\n",
            -       "         1.23883448e-01,  7.89312346e-01,  3.65001136e-01,\n",
            -       "         2.70024260e+00,  1.40378098e+01, -1.18860079e-01,\n",
            -       "         1.73229177e+00, -2.69450020e-01, -1.81910977e+00,\n",
            -       "        -6.75963104e-01,  7.85775845e-01,  1.02419504e+00,\n",
            -       "        -1.31317829e+00,  8.62418649e-01,  2.89990684e-01,\n",
            -       "        -1.18122474e-01,  2.76516163e-01,  1.77123828e-01,\n",
            -       "        -1.14481658e-01,  8.88209106e-02,  1.40242797e+00,\n",
            -       "         5.72092020e-01, -2.16519245e-01, -2.04598984e-01,\n",
            -       "        -7.71176910e-01, -3.15273399e-01, -2.90756918e-01,\n",
            -       "         1.31294411e+00,  5.60147887e-01, -2.29354235e-01,\n",
            -       "        -2.14793474e-01,  7.82750683e-01, -9.55667566e-02,\n",
            -       "         1.72527483e-01,  2.46257652e-01, -1.96573217e-01,\n",
            -       "         1.35845252e+01, -2.70953810e-01, -2.65616142e-01,\n",
            -       "         7.25666105e+00,  2.20646287e-01,  1.91433874e-01,\n",
            -       "         2.10700035e-01, -2.45627516e-01,  1.31229372e-01,\n",
            -       "        -1.58605401e-01, -3.27532141e-01,  1.55230711e-01,\n",
            -       "         7.10311514e-01, -2.75064948e-01,  1.13428981e+00,\n",
            -       "        -2.88614716e-01,  1.29598763e-01,  2.98089117e-01,\n",
            -       "        -9.91689745e-02, -3.53719627e-01,  5.76702304e-01,\n",
            -       "         5.32383880e-01, -1.25554922e-01,  2.47344757e-01,\n",
            -       "         1.50964439e-01,  7.42254947e-01, -1.60002402e-01,\n",
            -       "         1.92697319e-01, -2.38490735e-01,  2.51999826e-01,\n",
            -       "        -2.23619120e-01,  2.72169366e-01, -1.31571277e-01,\n",
            -       "        -3.13773702e-01, -3.48114878e-01, -5.45264542e-01,\n",
            -       "         3.78191923e-01,  1.76891308e-01, -3.35108969e-01,\n",
            -       "         3.08145377e-01,  5.32167968e-02, -1.32437838e-01,\n",
            -       "         1.83638581e-01, -5.98647542e-01,  6.35964823e+00,\n",
            -       "        -1.78010751e-01,  7.83576447e-01, -1.07829445e+00,\n",
            -       "         9.34501005e-02,  2.36182851e+00, -3.92738992e-01,\n",
            -       "        -2.53491337e-01,  6.78339194e+00,  3.28870772e-01,\n",
            -       "         3.31337926e+01, -2.08931450e-01, -4.64673257e-02,\n",
            -       "         1.07349254e+00,  7.71728733e-01,  4.08424825e-01,\n",
            -       "        -2.82723257e-01,  2.49936940e+00,  1.78384922e-01,\n",
            -       "         8.83593831e+00,  2.03486029e+00,  9.98009942e-01,\n",
            -       "         1.37668689e-01,  5.64256116e+00,  2.40305696e-01,\n",
            -       "         1.33546442e+01, -5.09514852e-01, -4.40166087e-01,\n",
            -       "         2.65094130e+00, -9.99251938e-02, -9.99074948e-01,\n",
            -       "        -1.10259272e+00,  5.45976056e+00, -2.05133680e-01,\n",
            -       "         4.00662326e+02, -1.94617009e+00,  3.72564935e+01,\n",
            -       "         4.92430916e-01, -2.16417663e-01, -9.09819722e-02,\n",
            -       "         1.40479895e-01,  8.64863453e-02,  6.07443637e-01,\n",
            -       "         8.17552199e+00,  7.19045473e-01,  4.65305195e-01,\n",
            -       "        -1.01862093e-01,  5.41307679e-01, -2.29324793e-01,\n",
            -       "         5.50872999e-01,  1.85178976e-01,  4.02193747e-01,\n",
            -       "         3.40082503e-01,  9.27396117e-01, -1.43286956e-01,\n",
            -       "         3.03023826e-01, -2.17935164e-01, -2.91518253e-01,\n",
            -       "        -7.56552473e-01, -2.61994068e-01,  4.22070937e+00,\n",
            -       "        -1.50997418e-01, -1.42994710e-01,  2.63605821e-01,\n",
            -       "         1.55168764e-01, -1.66820135e-01,  4.10829591e-01,\n",
            -       "        -3.12749134e-01, -3.41395491e-01,  1.95521377e+00,\n",
            -       "         1.04399088e+00,  3.46882235e-01, -3.72051719e-01,\n",
            -       "         1.56681426e-01, -3.15195108e-01, -1.28851713e-01,\n",
            -       "         6.73973851e-01,  4.87109759e-01,  3.38374286e-01,\n",
            -       "        -3.10977663e-01, -2.42169026e-01, -1.33084273e-01,\n",
            -       "         3.31060873e+00, -2.04946990e-01,  6.88775020e+00,\n",
            -       "         3.62051308e-01, -3.90960988e-01, -1.79669958e-01,\n",
            -       "         2.15909575e+01, -2.12455519e-01,  3.71134391e-01,\n",
            -       "        -2.36252723e-01,  4.53338550e-02,  1.82963454e+00,\n",
            -       "        -1.10471908e+00,  4.88650855e-01, -6.36671470e-01,\n",
            -       "         4.02625477e-01,  2.31978968e+00, -1.67970355e-01,\n",
            -       "         1.08628263e-01,  8.99484343e-02, -1.87137644e-01,\n",
            -       "         2.92450345e-01, -3.41181985e-01, -1.99987611e-01,\n",
            -       "        -2.07397399e-01, -1.89647877e-01, -3.16514231e-01,\n",
            -       "         2.34888509e-01,  4.18590432e-01,  7.48587340e-01,\n",
            -       "        -1.75408834e-01,  9.26871157e-02,  7.78499489e-02,\n",
            -       "         8.20325140e-02,  1.09039753e-01, -1.99338337e-01,\n",
            -       "         2.33428202e+00, -1.15071017e-01, -2.69497332e-01,\n",
            -       "         1.10467892e-01,  1.46006785e-01,  1.32930000e-01,\n",
            -       "         1.31830682e-01,  3.16101472e-01,  5.00470178e+00,\n",
            -       "        -3.41020535e-01, -3.06145546e-01,  6.83923151e-01,\n",
            -       "         1.14220906e+01, -2.66391502e-01, -3.77823075e-01,\n",
            -       "        -3.73029410e-01,  3.31440380e-01, -4.80878279e-01,\n",
            -       "         1.79627602e-01,  2.99343576e-01, -3.20955745e-01,\n",
            -       "        -2.11263382e-01,  1.01154867e+00, -2.90199553e-01,\n",
            -       "         1.36103559e-01, -1.91689867e-01,  5.20064128e-01,\n",
            -       "        -1.79664991e-01,  1.07882257e+01,  4.58574278e+01,\n",
            -       "         1.80381906e-01,  2.23343865e-01, -3.72677286e-01,\n",
            -       "         2.58994449e-01,  4.05874751e-01, -1.37774088e-01,\n",
            -       "         7.28032205e-01,  7.17636526e+00,  1.45501040e-01,\n",
            -       "        -1.69225619e-01,  1.47533611e-01,  1.76079043e-01,\n",
            -       "         1.60345771e-01,  2.55957854e-01, -2.68604960e-01,\n",
            -       "         6.36591410e-02,  2.87081659e-01, -1.08966167e-01,\n",
            -       "         9.61128383e-02,  1.36872190e-01,  1.23013604e-01,\n",
            -       "         7.50570921e-01, -2.43563140e-01,  4.51026693e-02,\n",
            -       "         1.29231657e-01, -1.37736002e-01, -1.44702278e-01,\n",
            -       "        -4.85750501e-01,  3.91839192e-01,  3.20403337e-01,\n",
            -       "        -7.95553123e-02,  1.79980691e-01,  4.44031299e-01,\n",
            -       "        -2.55707917e-01, -1.02071175e-01,  8.18704885e-02,\n",
            -       "        -5.67237728e-01,  2.50222433e-01, -3.83524211e-01,\n",
            -       "        -2.48871791e-01,  5.56381462e-02,  3.59204501e-01,\n",
            -       "        -1.42082094e-01,  4.78843019e-01, -1.40871993e-01,\n",
            -       "         1.66546635e+00, -2.61810891e-01, -5.19252400e-01,\n",
            -       "         1.53687134e+01,  3.72049407e+00, -1.22635133e+00,\n",
            -       "         1.79981186e-01,  1.96649255e+00, -7.70618309e-02,\n",
            -       "         2.16772080e-01, -6.36733593e-02,  3.72045282e-01,\n",
            -       "        -1.09774573e-01, -1.35848603e-01, -1.89825359e-01,\n",
            -       "         3.03534925e-01,  1.55306550e-01,  1.47716265e-01,\n",
            -       "         1.18696244e-01, -2.85207166e-01,  4.19819584e-01,\n",
            -       "         5.18986892e+00,  1.00885783e-01, -2.04425122e-01,\n",
            -       "        -1.40849261e-01,  1.79701174e-01,  1.07057396e+00,\n",
            -       "        -4.11514293e-01, -1.26332174e-01, -8.15107271e-01,\n",
            -       "        -2.77782962e-01,  3.25116993e-01,  1.20757101e+00,\n",
            -       "         1.66572145e+00, -4.32564272e-01,  1.25543147e+00,\n",
            -       "        -2.43918883e-01,  5.09511785e-01,  5.96079844e-01,\n",
            -       "        -1.93127301e-01, -1.37330386e-01, -2.52257750e-01,\n",
            -       "         1.42156714e+00,  1.56195761e-01,  8.36186033e+00,\n",
            -       "         9.15127220e-01, -5.65338705e-01, -7.87366471e-01,\n",
            -       "        -3.90881221e-01,  5.18319151e-01, -3.92801976e-01,\n",
            -       "        -3.37473071e-01,  6.88874648e+01,  2.24396299e-01,\n",
            -       "         4.08363766e+00, -8.83842396e-02,  1.67991437e-01,\n",
            -       "         1.68452977e-01, -2.73194417e-01,  1.09057868e-01,\n",
            -       "         9.26317764e-02, -2.25943052e-01]])
          • tree_size
            (chain, draw)
            float64
            7.0 7.0 7.0 7.0 ... 7.0 7.0 7.0 7.0
            array([[ 7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  5.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         3.,  7.,  7.,  3.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  1.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,\n",
            -       "         3.,  7.,  7.,  7.,  3.,  7.,  7.,  6.,  7.,  7.,  3.,  7.,  7.,\n",
            -       "         3.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  3.,  3.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  1.,\n",
            -       "         7.,  7.,  7.,  3.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  3.,  7.,  7.,  7.,  7.,  3.,  7.,  3.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  3.,  3.,  3.,  3.,  7.,  7.,  7.,\n",
            -       "         7.,  3.,  7.,  7.,  1.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  3.,  1.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  3.,  1.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  3.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  1.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  3.,  7.,  7.,  7.,  3.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  3.,  3.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  1.,  3.,\n",
            -       "        15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  3.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,\n",
            -       "         3.,  7.,  7.,  7.,  7.,  7.,  1.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  3.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.],\n",
            -       "       [ 7.,  7., 15.,  7., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,\n",
            -       "         7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  3.,  7.,  7., 15.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7., 15.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7., 15.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7., 15., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  3.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "        15.,  7., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7., 15.,\n",
            -       "         7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         3.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7., 15.,  7.,  7.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.,  7.,  3.,  7.,  1.,  7.,  7.,  7.,\n",
            -       "         7.,  7.,  7.,  7.,  7.,  7.]])
          • energy_error
            (chain, draw)
            float64
            -0.1261 0.5558 ... -0.05267
            array([[-1.26073671e-01,  5.55780576e-01, -7.27591431e-02,\n",
            -       "        -2.42733853e-01,  2.69058870e-01, -3.10309436e-01,\n",
            -       "        -2.28594235e-01,  2.88516746e-01, -1.34207283e-01,\n",
            -       "         7.56506289e-02,  1.41018753e-02, -8.55723457e-02,\n",
            -       "         8.71437172e-02, -8.31500456e-03,  2.72671949e-01,\n",
            -       "        -3.72090705e-01,  5.62033095e-04, -9.12109435e-02,\n",
            -       "        -1.53104812e-01,  1.07862839e-01,  2.65541267e-01,\n",
            -       "        -6.42682763e-01,  0.00000000e+00,  2.52295139e-01,\n",
            -       "        -1.10616634e-01,  2.12548259e-01, -1.03926361e-02,\n",
            -       "        -5.04986109e-01,  4.13848460e-01, -7.97687495e-01,\n",
            -       "         3.54780172e-01, -1.12787935e-01,  1.66906991e-01,\n",
            -       "         2.45362775e-01, -8.93673703e-02,  2.31968101e-01,\n",
            -       "         0.00000000e+00, -8.18909645e-01,  4.89476357e-01,\n",
            -       "        -2.91927233e-02,  6.61811222e-01,  4.04787278e-01,\n",
            -       "        -1.36523121e-01, -2.35368597e-02,  1.43463992e+00,\n",
            -       "         4.27003572e-02, -8.29382867e-01,  1.40416069e-01,\n",
            -       "         9.54788225e-02,  7.24462871e-02, -1.24093852e-01,\n",
            -       "         1.64837114e-03, -4.93491567e-01, -3.91735572e-01,\n",
            -       "         4.62170795e-01, -5.74977164e-01,  1.40822480e+00,\n",
            -       "        -1.95469025e-01,  5.54528049e-02,  2.63869249e-01,\n",
            -       "        -5.46685951e-01, -1.99327188e-01, -6.49196643e-02,\n",
            -       "         1.50740585e+00,  6.24992410e-01,  1.82133321e-01,\n",
            -       "        -6.62691220e-02,  1.91084119e-02,  1.39688603e-01,\n",
            -       "        -2.74597344e-01, -1.03443030e-01,  5.52638788e-01,\n",
            -       "        -7.64666643e-01, -4.72640496e-01, -5.16348796e-01,\n",
            -       "         2.48894407e-01, -1.04486589e+00,  2.61986693e-01,\n",
            -       "         1.03015516e-01,  1.11157560e+00,  1.64573671e-01,\n",
            -       "         0.00000000e+00,  5.72809685e-01, -7.39786129e-01,\n",
            -       "         1.49448987e-01,  3.96423978e+00, -1.95557069e-01,\n",
            -       "        -1.30865850e-01, -7.96888433e-01, -5.66029114e-02,\n",
            -       "         5.00899554e-01, -3.01556925e-01, -7.51908574e-02,\n",
            -       "         3.44335390e-02,  2.95193166e-01,  0.00000000e+00,\n",
            -       "        -1.67040389e+00, -1.89375136e-01, -6.69257331e-02,\n",
            -       "        -5.71472468e-01, -1.01412010e-01, -4.74222427e-02,\n",
            -       "         6.65210297e-01,  4.81809560e-01, -6.45115769e-01,\n",
            -       "        -4.98056614e-02,  8.04357034e-01, -1.79670162e-02,\n",
            -       "        -3.16063846e-01,  3.17368085e-01,  4.62968258e-01,\n",
            -       "         9.53648784e-02,  0.00000000e+00,  1.62234592e-01,\n",
            -       "        -9.11974481e-02, -7.09183807e-02, -4.63608619e-01,\n",
            -       "        -5.08268391e-01,  3.79762165e-01,  2.35583734e-01,\n",
            -       "        -1.35074674e-01,  5.02728294e-02,  1.27296760e-01,\n",
            -       "         1.55638078e-01,  1.29441092e-01, -3.17342085e-01,\n",
            -       "         4.50042704e-01, -1.47885639e+00,  1.58885491e-01,\n",
            -       "        -3.22279272e-02, -9.46533193e-01,  3.06130021e-01,\n",
            -       "         1.12662757e-01,  0.00000000e+00,  2.23305166e-01,\n",
            -       "         3.29358548e-01, -3.27353951e-02, -2.07844522e-01,\n",
            -       "         1.70926031e-01, -3.97526443e-02,  2.10113673e-01,\n",
            -       "        -3.18129947e-01,  2.45979519e-01, -3.16914460e-01,\n",
            -       "        -1.34170878e-02, -5.60473748e-01,  6.52740607e-01,\n",
            -       "         8.98127201e-02, -2.83061481e-01,  3.28089369e-02,\n",
            -       "         1.58036364e+00, -1.47108682e-01, -4.05742820e-01,\n",
            -       "         6.93008169e-01,  1.84777480e-01,  0.00000000e+00,\n",
            -       "         2.39780962e-03,  2.29156188e-01,  6.08625233e-02,\n",
            -       "        -5.06520435e-01, -1.78900224e-02,  1.49135233e-01,\n",
            -       "         4.83391765e-01, -6.56196928e-01,  3.13548792e-02,\n",
            -       "         5.66260436e-01,  5.55733196e-01, -2.77489363e-02,\n",
            -       "         9.10028126e-01,  1.37733199e-01,  6.79112866e-01,\n",
            -       "        -9.24288392e-01,  5.21517674e-02,  2.25598651e-01,\n",
            -       "        -9.27740875e-01,  0.00000000e+00, -1.80135496e-02,\n",
            -       "         2.79401240e-01, -4.97018126e-02, -1.27277580e-01,\n",
            -       "         6.64363613e-02, -1.03533066e-01,  1.72033431e-01,\n",
            -       "        -2.46607279e-01,  1.13620069e-01,  4.08848761e-01,\n",
            -       "        -1.74226499e-01,  1.04834108e-01, -1.69977861e-01,\n",
            -       "        -2.85688974e-01, -1.78935065e-01,  3.01749981e-01,\n",
            -       "         7.37011214e-01, -2.04104061e-01, -1.80767132e-01,\n",
            -       "        -1.42189086e-02,  1.00102585e-01,  1.82258868e-02,\n",
            -       "         1.82522066e-01,  2.33312676e-01, -1.14414675e+00,\n",
            -       "         1.18106320e-01,  0.00000000e+00, -2.59611150e-01,\n",
            -       "        -1.12621457e-01, -4.06804553e-02,  9.57649002e-02,\n",
            -       "         2.72782296e-02, -6.23834342e-02,  0.00000000e+00,\n",
            -       "         1.82267424e-01,  1.70987404e-01,  0.00000000e+00,\n",
            -       "         3.55827242e-01, -7.65995759e-01,  7.77433489e-02,\n",
            -       "         7.50343565e-01, -1.03408389e+00,  1.82977832e-01,\n",
            -       "        -2.28379635e-01,  3.26791036e-01, -3.05040041e-01,\n",
            -       "        -1.35141652e-02,  2.49914567e-01, -4.80919275e-01,\n",
            -       "         5.62281466e-01,  1.59071643e-01,  2.36130934e-01,\n",
            -       "         2.05860564e-01, -8.69692271e-01, -2.01723119e-01,\n",
            -       "        -2.93409508e-01, -2.12195478e-02, -4.52063253e-01,\n",
            -       "        -1.12095243e-01,  4.38773330e-04,  1.25615569e-02,\n",
            -       "         3.64299410e-02, -4.61375526e-02, -4.94261432e-01,\n",
            -       "         2.88048115e-01,  1.87130219e-01,  7.78605244e-03,\n",
            -       "         3.31375905e-01, -3.35956569e-01, -3.07223577e-01,\n",
            -       "        -9.14639855e-02, -7.69447548e-03,  4.84629780e-01,\n",
            -       "         0.00000000e+00,  1.05387938e-01, -1.75258989e-01,\n",
            -       "         7.44165307e-02, -3.42050471e-02,  1.96873259e-01,\n",
            -       "         4.64836213e-01,  2.72885885e-02,  1.66827008e-01,\n",
            -       "        -2.68812261e-01, -3.16695338e-02,  1.50610694e-01,\n",
            -       "         1.47372219e-01, -1.65573668e-01, -2.21925605e-01,\n",
            -       "         2.60113836e-02,  2.57389333e-01,  5.50416990e-01,\n",
            -       "        -1.87877422e-01, -2.08650276e-01,  1.33193376e-01,\n",
            -       "        -8.76507356e-02,  1.50573827e+00, -1.31612922e+00,\n",
            -       "         1.17930702e-02,  5.62168525e-02, -1.63709187e-03,\n",
            -       "        -8.50364270e-01,  0.00000000e+00, -1.43382513e-02,\n",
            -       "         7.89808871e-02,  9.40740090e-02,  1.56137391e-01,\n",
            -       "        -8.64664497e-02,  2.77776345e-01, -4.65959296e-01,\n",
            -       "        -4.40614662e-01,  4.32314205e-01, -6.76974063e-01,\n",
            -       "        -9.62671199e-02, -2.06055034e-01, -1.14494587e-01,\n",
            -       "        -3.18475481e-02,  9.49747850e-01, -4.68858902e-01,\n",
            -       "        -6.10585233e-02, -8.18488916e-02,  8.57446542e-01,\n",
            -       "         1.85069949e-02, -5.00152779e-01,  4.60097267e-02,\n",
            -       "        -1.75501605e-01, -8.93703582e-02, -3.71655603e-01,\n",
            -       "         1.33823689e-01,  0.00000000e+00, -9.14371732e-03,\n",
            -       "         2.39469018e-01, -1.55396231e-03,  6.95449472e-01,\n",
            -       "        -1.87938110e-01,  2.20003161e-01, -4.38577162e-01,\n",
            -       "        -4.41810916e-01,  6.96101123e-01, -4.11694818e-01,\n",
            -       "         9.09200090e-02,  1.56519897e-01, -3.56951277e-01,\n",
            -       "         0.00000000e+00, -2.75186944e-03,  0.00000000e+00,\n",
            -       "        -6.67451067e-03,  3.58916766e-01, -1.83945976e-01,\n",
            -       "         1.25604435e-01,  1.67511292e-02, -3.50455199e-02,\n",
            -       "         7.89644076e-02, -7.97158501e-02,  2.08306679e-01,\n",
            -       "        -6.92059516e-01,  9.78951277e-02,  2.86861286e-01,\n",
            -       "         2.80667636e-01, -6.62498538e-01, -3.50592106e-01,\n",
            -       "         5.13302943e-01,  2.78402469e-01,  4.14493097e-01,\n",
            -       "        -1.10137045e+00, -3.95174633e-01,  3.04427333e-01,\n",
            -       "         4.06726961e-02, -8.41968111e-02,  4.77195676e-01,\n",
            -       "         2.25190820e-03,  8.26826357e-01, -5.28851402e-01,\n",
            -       "        -4.09646549e-01,  7.97300153e-01,  1.36782787e-01,\n",
            -       "         9.69545207e-03, -2.27206655e-01,  8.02884331e-01,\n",
            -       "         5.96653751e-01,  1.59771810e+00,  0.00000000e+00,\n",
            -       "        -6.13854455e-01,  1.80686284e-01, -1.43567531e-01,\n",
            -       "         8.21423098e-02,  4.16918300e-02,  0.00000000e+00,\n",
            -       "         4.91531725e-01, -7.52809694e-01,  1.12220984e-01,\n",
            -       "        -1.40162858e-01,  4.40010993e-01,  2.40855438e-01,\n",
            -       "        -2.67444288e-01,  1.34437047e-01,  2.48617544e-01,\n",
            -       "         9.35929707e-02, -1.84742457e-01,  8.13487240e-03,\n",
            -       "        -3.81570793e-01,  4.32816162e-02, -7.73796027e-01,\n",
            -       "        -5.60366910e-02,  1.51067050e-01, -1.60550201e-01,\n",
            -       "         1.28331523e-01,  3.29804206e-03,  1.10328609e+00,\n",
            -       "        -2.69152521e-01, -1.13082425e-01,  8.66895925e-02,\n",
            -       "         6.60984890e-02,  2.10078452e-01,  3.26623453e-02,\n",
            -       "        -1.03879445e+00,  1.19097916e-01,  4.31850719e-01,\n",
            -       "        -6.51207742e-01,  2.06079932e-01,  2.98012178e-01,\n",
            -       "         1.43829654e-02,  4.43111390e-01, -2.38996958e-01,\n",
            -       "         1.02780646e-01,  0.00000000e+00,  4.81772523e-02,\n",
            -       "         1.47245709e-01,  2.04117387e-01, -2.95176625e-01,\n",
            -       "        -1.44033937e-01,  4.81439264e-02,  1.22456447e-01,\n",
            -       "        -1.67163539e-01, -2.17219047e-01, -4.80109613e-01,\n",
            -       "         2.68269403e-01,  1.39291177e-01,  2.02051408e-01,\n",
            -       "         2.56052201e-01, -4.23697894e-01,  6.19684885e-01,\n",
            -       "        -3.18997965e-01, -2.93671709e-01,  4.19285336e-01,\n",
            -       "        -6.64441975e-02, -2.43203355e-01,  3.82845415e-01,\n",
            -       "         2.72787244e-01, -1.94919866e-01, -5.77460806e-02,\n",
            -       "         6.76601124e-02,  1.10724619e-01, -1.76471759e-02,\n",
            -       "         2.66225677e-01, -2.96054901e-01,  5.40594170e-02,\n",
            -       "        -1.68907639e-01, -2.54600105e-01,  0.00000000e+00,\n",
            -       "         1.28375461e+00,  3.32888830e-01, -9.78138484e-02,\n",
            -       "        -6.93224142e-01,  5.41106893e-01,  0.00000000e+00,\n",
            -       "         3.11413030e-02,  6.85092522e-01,  4.87759946e-01,\n",
            -       "        -6.28093312e-01, -2.70894565e-01,  1.72232034e-01,\n",
            -       "         1.47005983e-01, -6.59337817e-02,  3.98819310e-02,\n",
            -       "         1.05222071e-03,  0.00000000e+00,  1.21023913e+00,\n",
            -       "         3.73022147e-02,  0.00000000e+00, -2.40263232e-01,\n",
            -       "         4.55128660e-01, -1.90978478e-01, -3.80271045e-01,\n",
            -       "         2.45082561e-01, -2.28593060e-01,  0.00000000e+00,\n",
            -       "        -2.62016773e-01, -1.91406952e-01,  3.24609256e+00,\n",
            -       "         6.41376605e-02,  2.73884184e-01,  3.93652040e-01,\n",
            -       "        -1.64464098e+00,  2.85930322e+00, -8.01779692e-01,\n",
            -       "         7.90791598e-02,  1.46604435e-01, -9.29969984e-02,\n",
            -       "         1.14918176e-01,  1.34288551e-01,  2.18790521e-01,\n",
            -       "        -6.71807186e-01, -4.35243098e-01, -1.38887047e-04,\n",
            -       "         5.34943386e-01, -9.41342282e-01,  9.60811443e-01,\n",
            -       "        -3.16647809e-01,  5.99791469e-01, -4.92314957e-01,\n",
            -       "        -1.63516670e-01,  4.67806862e-02,  4.54619107e-01,\n",
            -       "        -8.53326909e-01, -1.06399868e-01, -3.04116699e-02,\n",
            -       "         6.89109782e-01,  1.90153094e-01, -1.49330644e-01,\n",
            -       "         2.32779645e-01, -8.46978466e-02, -7.04968366e-02,\n",
            -       "        -7.98084826e-02,  1.72723505e-01],\n",
            -       "       [-4.73465036e-02, -1.31879393e-01,  2.32035595e-02,\n",
            -       "        -1.63366432e-01, -1.41164768e-01,  2.59289309e-02,\n",
            -       "         1.39022642e-01,  3.81837602e-02,  1.73094085e-01,\n",
            -       "         2.99576285e-01,  6.01658531e-02, -5.28048269e-02,\n",
            -       "        -3.23263528e-01,  4.22265970e-02, -1.97497709e+00,\n",
            -       "         1.09508256e+00,  2.29671036e+00,  1.45550298e+00,\n",
            -       "        -1.59717346e+00, -3.26009773e-01, -6.83029286e-02,\n",
            -       "         2.17042043e-01,  6.33500236e-02, -4.77244720e-01,\n",
            -       "        -4.80387393e-02, -4.27739284e-03,  2.99608343e-03,\n",
            -       "        -2.86900933e-01,  4.66532634e-02, -8.15652959e-02,\n",
            -       "         3.13613028e-01, -1.17950446e-01, -1.01585932e-01,\n",
            -       "         2.38125701e-03, -6.03699745e-01,  1.49294133e-01,\n",
            -       "        -7.69539285e-02,  9.48064900e-02, -9.35853477e-02,\n",
            -       "        -4.57929873e-03,  1.95074425e-01,  9.49431107e-02,\n",
            -       "        -2.47656342e-01,  7.55453607e-02, -6.24673435e-02,\n",
            -       "         1.07870099e-02, -5.47990492e-02,  5.11338780e-02,\n",
            -       "         4.87970861e-02,  3.44872723e-01, -1.00904508e-01,\n",
            -       "        -2.80374628e-02, -1.39909089e-01,  3.02527951e-01,\n",
            -       "        -2.99358301e-02, -1.11368430e-01, -1.52531131e-01,\n",
            -       "         5.92127651e-02, -6.52054230e-02,  2.78969540e-01,\n",
            -       "        -1.80915618e-01, -2.64238892e-02,  4.17869622e-02,\n",
            -       "        -3.63929630e-01,  7.05789039e-02, -1.39039827e-01,\n",
            -       "        -1.96723867e+00, -9.11912652e-01, -3.87362935e-01,\n",
            -       "        -4.35442504e-02,  0.00000000e+00,  0.00000000e+00,\n",
            -       "        -4.52503035e-02,  1.25338488e-01, -1.88094101e-01,\n",
            -       "         1.69364475e-01,  5.42114991e-02,  9.76217093e-02,\n",
            -       "         5.62401018e-02, -4.92191827e-02, -1.42274909e-01,\n",
            -       "         4.95045706e-01, -2.57529782e-01,  4.32665839e-01,\n",
            -       "         3.09835878e-01, -9.85695565e-01, -4.44550187e-01,\n",
            -       "        -6.32435281e-02,  2.03576403e-01, -3.19010855e-01,\n",
            -       "         0.00000000e+00,  5.84237625e-01, -1.54413887e-01,\n",
            -       "         0.00000000e+00,  7.54023927e-02, -5.52367107e-02,\n",
            -       "        -9.17411243e-02,  2.01328343e-01,  2.29790283e-02,\n",
            -       "        -1.44582715e-01,  1.59794541e-01,  2.11905257e-01,\n",
            -       "        -1.46806956e+00,  4.20160744e-01, -1.55837198e-01,\n",
            -       "         1.93106216e-01,  7.05777788e-02, -2.87864012e-01,\n",
            -       "         2.30003041e-01, -1.18934940e-01,  1.49892134e-02,\n",
            -       "        -5.08688974e-02, -8.26903012e-02,  3.17283762e-01,\n",
            -       "        -1.92903825e-01,  1.90649485e-01,  1.70682091e+00,\n",
            -       "        -1.34881516e+00,  1.37334036e-01,  3.66999339e-02,\n",
            -       "         3.64169641e-03, -8.27947383e-02,  3.46032093e-02,\n",
            -       "        -4.34793440e-01,  5.12310986e-01,  6.63970139e-03,\n",
            -       "        -4.72616054e-01,  1.91166058e-01, -1.82265764e-01,\n",
            -       "        -3.25488769e-02,  4.49692764e-02,  3.68007211e-02,\n",
            -       "        -7.67575923e-02,  3.24812036e-01, -6.63348350e-02,\n",
            -       "         1.12992587e-01, -2.13547154e-01,  0.00000000e+00,\n",
            -       "         1.37165158e-02,  3.37397286e-02,  3.53422086e-02,\n",
            -       "         1.12314112e-02,  7.21120507e-03,  6.04536709e-02,\n",
            -       "        -2.96946059e-02, -1.30289641e-01, -5.72242495e-02,\n",
            -       "         1.39879050e-01,  0.00000000e+00,  2.83027751e-01,\n",
            -       "        -1.39247200e-01, -2.68107465e-01,  1.20641465e-01,\n",
            -       "         6.61721517e-02, -8.19702285e-02, -8.12132538e-03,\n",
            -       "        -3.19288912e-01,  1.48179391e-01, -1.93992142e+00,\n",
            -       "         5.60746225e-02, -6.25863716e-02, -1.67902986e-01,\n",
            -       "         1.00063521e-01,  1.66622743e-01,  2.51744933e-02,\n",
            -       "        -5.85198976e-02,  3.77250154e-01, -4.68849461e-02,\n",
            -       "         0.00000000e+00,  6.37588695e-01, -1.12068003e-02,\n",
            -       "        -4.77030373e-01,  5.32569249e-02, -1.67567305e-01,\n",
            -       "        -6.75963104e-01,  5.88721790e-01,  3.20313599e-01,\n",
            -       "        -1.34902100e-01,  3.54875890e-02, -1.14320923e-01,\n",
            -       "         1.03619942e-03, -5.14873209e-02, -5.62628045e-03,\n",
            -       "        -4.94465229e-02, -3.16199450e-02, -8.47204118e-02,\n",
            -       "         4.05737060e-01, -2.17440420e-03, -1.72148105e-01,\n",
            -       "        -3.79106830e-01, -5.62520613e-02, -2.04125718e-01,\n",
            -       "         4.63215195e-01,  1.32089884e-01,  2.96427608e-02,\n",
            -       "        -5.39983458e-02,  7.56572157e-01,  8.41069422e-03,\n",
            -       "        -9.52384629e-02,  2.46257652e-01,  2.97432864e-02,\n",
            -       "        -5.44699224e-01,  2.50282530e-02,  1.09411736e-02,\n",
            -       "        -3.41800128e-01, -2.01308225e-01,  5.32750730e-05,\n",
            -       "         1.78211218e-01, -1.20476858e-01,  4.75259986e-02,\n",
            -       "         7.81303659e-02, -3.20764203e-01,  3.45813875e-02,\n",
            -       "         5.70497012e-01, -6.85595900e-02,  3.51100160e-02,\n",
            -       "        -1.65019573e-01, -7.36667987e-02, -4.78593379e-02,\n",
            -       "         5.72789485e-02, -3.53719627e-01,  2.89713497e-01,\n",
            -       "        -3.91398246e-01,  6.27672302e-02, -6.83261517e-02,\n",
            -       "         1.32260535e-02,  2.50021758e-01, -1.60002402e-01,\n",
            -       "         8.21404093e-02,  7.95331343e-02, -5.69973254e-02,\n",
            -       "        -4.48098097e-02,  2.65727674e-01, -2.72261993e-02,\n",
            -       "        -3.13773702e-01, -1.95366396e-01, -5.45264542e-01,\n",
            -       "         2.32882082e-01,  1.76891308e-01, -2.03449908e-01,\n",
            -       "         7.61185574e-03, -1.87182961e-02, -3.47069661e-03,\n",
            -       "         4.57035198e-02, -3.84744023e-01,  2.74429029e-01,\n",
            -       "        -9.59735596e-02,  7.83576447e-01, -4.87102430e-01,\n",
            -       "         3.44834707e-02,  8.13303139e-01, -2.14942131e-01,\n",
            -       "         3.78981937e-02, -4.51045797e-02,  2.80190841e-01,\n",
            -       "         1.73046982e+00,  8.70463189e-03, -4.64673257e-02,\n",
            -       "         3.07564837e-01, -3.13448989e-01,  2.09412808e-01,\n",
            -       "        -2.82723257e-01, -1.27640252e-01,  1.40294808e-01,\n",
            -       "         0.00000000e+00,  8.28378797e-01,  8.56582815e-01,\n",
            -       "         1.37668689e-01,  5.79325678e-01,  2.40305696e-01,\n",
            -       "        -4.02099640e-02,  2.02647016e-01, -2.30862219e-01,\n",
            -       "        -1.56044691e-01, -4.36948308e-02,  2.03125690e-01,\n",
            -       "        -8.10328628e-01, -1.63277151e-01, -8.61467634e-02,\n",
            -       "         1.24024762e-01, -1.81798831e-01,  2.68119221e-01,\n",
            -       "        -3.52493472e-01, -9.22358368e-02, -9.09819722e-02,\n",
            -       "         1.15306924e-01, -4.69136990e-02,  5.80987101e-01,\n",
            -       "        -3.68899278e-02, -2.43937057e-01, -1.67268252e-01,\n",
            -       "        -1.01862093e-01,  2.53111121e-01, -2.29324793e-01,\n",
            -       "         2.76133375e-01,  1.09601154e-01,  8.83763139e-02,\n",
            -       "         1.11775880e-01, -3.14524109e-01, -6.01568575e-02,\n",
            -       "         2.47295423e-01,  6.41832994e-03, -2.07474338e-01,\n",
            -       "        -7.56552473e-01, -4.87096507e-02, -2.39802698e-01,\n",
            -       "        -4.96102747e-02,  2.61782348e-02,  1.42260657e-01,\n",
            -       "         7.40898283e-02, -1.41718495e-01,  3.52005216e-01,\n",
            -       "         1.47646977e-02,  2.05193979e-02,  5.85117894e-02,\n",
            -       "        -2.19776336e-01,  3.46882235e-01, -1.71661703e-01,\n",
            -       "         9.77144156e-02, -1.94844828e-01, -2.96286014e-02,\n",
            -       "         1.75542842e-02, -4.89038843e-02,  1.32655991e-01,\n",
            -       "        -1.42469661e-01, -2.19354383e-01,  4.05321136e-02,\n",
            -       "        -1.49171111e-01,  8.49771027e-02, -2.04242515e-01,\n",
            -       "         3.62051308e-01, -3.68408927e-01, -1.00358305e-01,\n",
            -       "         4.79583226e-01, -8.52740702e-02, -2.94381760e-01,\n",
            -       "        -1.74803215e-02,  1.28107876e-03,  8.53287413e-01,\n",
            -       "        -7.70691333e-01,  4.88650855e-01, -5.93297524e-01,\n",
            -       "         2.41793862e-02,  1.21018586e-02, -5.30900310e-02,\n",
            -       "         1.08628263e-01,  1.71088912e-02, -1.31560022e-01,\n",
            -       "         2.51506550e-01, -4.84673469e-02, -1.45150209e-01,\n",
            -       "        -8.43856224e-02,  4.81417196e-03, -3.16514231e-01,\n",
            -       "         8.31855460e-02, -4.37203090e-02,  6.22251802e-02,\n",
            -       "        -8.21266328e-02, -7.96992422e-03,  7.78499489e-02,\n",
            -       "        -5.59803740e-02,  1.09039753e-01, -2.16157446e-02,\n",
            -       "        -3.10380873e-02,  2.88967496e-02, -2.69497332e-01,\n",
            -       "         9.37367832e-02, -4.70290363e-02,  1.65305015e-02,\n",
            -       "         8.88288226e-02,  2.61367602e-01,  4.20770143e-01,\n",
            -       "        -2.35343042e-01, -1.54398215e-01,  1.39165639e-01,\n",
            -       "         1.08864732e-01, -2.10356091e-02, -1.51892791e-01,\n",
            -       "        -2.31111604e-01,  3.18426279e-01, -4.80878279e-01,\n",
            -       "         1.24583119e-01,  2.99343576e-01, -1.73723173e-01,\n",
            -       "        -1.17842806e-01,  2.10245807e-01, -2.90199553e-01,\n",
            -       "         7.64649819e-02,  1.18552348e-01, -2.66687434e-01,\n",
            -       "        -6.94291421e-02, -2.28420307e-02, -2.20277032e-01,\n",
            -       "         6.93478030e-02,  1.57731831e-01, -2.95452755e-01,\n",
            -       "         5.39418449e-02,  1.92141683e-01, -1.32949945e-01,\n",
            -       "         3.12380246e-01, -4.32655928e-01,  1.04867367e-01,\n",
            -       "        -1.07777351e-01,  1.35277912e-01, -5.15831896e-02,\n",
            -       "        -5.92949869e-02,  1.02332147e-01, -2.68604960e-01,\n",
            -       "         2.60997297e-02,  1.05468807e-01, -1.02704371e-01,\n",
            -       "         4.07934174e-02,  9.08677725e-02, -1.07935688e-02,\n",
            -       "        -7.66598561e-02, -7.64374908e-02, -1.80865631e-02,\n",
            -       "         1.29231657e-01,  8.19795018e-02, -7.80995912e-02,\n",
            -       "        -4.83313855e-02,  2.86503502e-01,  5.85783770e-02,\n",
            -       "         2.82562605e-02,  1.00920858e-01,  3.69698673e-01,\n",
            -       "        -4.73500733e-02, -1.69456228e-02,  5.83700051e-02,\n",
            -       "        -5.67237728e-01,  3.39246482e-03, -3.83524211e-01,\n",
            -       "        -1.97197811e-01, -2.20187477e-02,  2.36504155e-01,\n",
            -       "        -1.42082094e-01,  1.97459601e-01,  2.51442444e-02,\n",
            -       "         1.84367419e-01, -2.81883161e-02, -2.06375345e-01,\n",
            -       "        -2.43116434e-01,  1.15457241e+00, -1.10687269e+00,\n",
            -       "         1.28006962e-01, -4.11063803e-01, -7.08002334e-02,\n",
            -       "         1.24827437e-01,  5.36999089e-04,  3.18077350e-01,\n",
            -       "         3.28907079e-02, -1.35848603e-01, -1.25174574e-01,\n",
            -       "        -1.31244089e-02, -5.17082317e-02,  1.47716265e-01,\n",
            -       "         4.72589777e-02, -2.85207166e-01,  2.13554642e-01,\n",
            -       "         2.46899722e+00,  9.08697403e-02, -1.22188092e-01,\n",
            -       "        -1.16681805e-01, -1.67340235e-01,  1.03013138e+00,\n",
            -       "        -4.11514293e-01, -1.10904917e-01,  1.54591957e-01,\n",
            -       "        -2.77782962e-01,  2.50101322e-01,  1.20757101e+00,\n",
            -       "        -1.46138476e+00,  1.01813827e-01,  4.64576551e-01,\n",
            -       "        -1.90363952e-01,  2.04483444e-01,  3.39260526e-02,\n",
            -       "        -1.52502519e-01,  1.24602164e-01, -3.67980742e-02,\n",
            -       "        -3.34569286e-01, -6.75133245e-02,  3.38762479e-01,\n",
            -       "         6.73356119e-01,  4.02884018e-01, -7.87366471e-01,\n",
            -       "        -3.69373999e-01,  3.92678291e-01, -6.33274013e-02,\n",
            -       "        -2.41038055e-01,  0.00000000e+00,  6.16684390e-02,\n",
            -       "        -4.17457001e-01,  3.56791214e-02,  1.67991437e-01,\n",
            -       "         4.53770958e-02, -2.00923236e-01, -3.14299356e-02,\n",
            -       "        -2.45375679e-02, -5.26711313e-02]])
          • diverging
            (chain, draw)
            bool
            False False False ... False False
            array([[False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False,  True, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False,  True, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False,  True,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False],\n",
            -       "       [False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False]])
          • depth
            (chain, draw)
            int64
            3 3 3 3 3 3 3 3 ... 3 3 3 3 3 3 3 3
            array([[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 3, 3, 2, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 2, 3, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3, 3, 3, 2, 3, 3, 2, 3,\n",
            -       "        3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 2, 3, 3, 3, 3, 3,\n",
            -       "        3, 1, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 2,\n",
            -       "        3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 2, 2, 2, 2, 3, 3, 3, 3, 2, 3, 3, 1, 3, 3, 3, 2, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 2, 1, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 3, 3, 3, 3, 3, 3, 3, 2,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3,\n",
            -       "        2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 2, 3, 3, 3, 2, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 2, 3, 3,\n",
            -       "        3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 1, 2, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 1,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3],\n",
            -       "       [3, 3, 4, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,\n",
            -       "        3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 4, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 4, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 4, 3, 3,\n",
            -       "        3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3,\n",
            -       "        3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3,\n",
            -       "        3, 3, 3, 3, 2, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3]])
          • lp
            (chain, draw)
            float64
            -45.78 -49.19 ... -45.28 -43.83
            array([[-45.78048101, -49.18878918, -47.81124046, -45.88878259,\n",
            -       "        -48.31089296, -45.14855162, -44.49296796, -47.06173477,\n",
            -       "        -46.00333193, -46.74945341, -45.31134603, -44.57091151,\n",
            -       "        -45.21360856, -45.08678676, -48.93014192, -44.3319601 ,\n",
            -       "        -44.10683405, -43.35268252, -43.03524428, -43.93322003,\n",
            -       "        -46.08079228, -45.6846219 , -45.6846219 , -46.15356626,\n",
            -       "        -46.04213007, -49.38770053, -48.34053206, -43.80699611,\n",
            -       "        -45.51102992, -45.96717108, -48.69233529, -46.14925774,\n",
            -       "        -44.29064411, -46.93019508, -46.63176458, -45.86788665,\n",
            -       "        -45.86788665, -43.88184986, -47.85223431, -46.89128814,\n",
            -       "        -45.37435027, -49.80568336, -47.92276381, -46.58699925,\n",
            -       "        -46.93876301, -49.68452069, -44.46531184, -44.22245826,\n",
            -       "        -46.62746534, -45.97081079, -44.73635903, -44.82874639,\n",
            -       "        -50.01955523, -44.55905088, -47.35901965, -47.73677562,\n",
            -       "        -50.42675194, -48.81429299, -47.71982842, -51.4284502 ,\n",
            -       "        -47.47346232, -46.0599324 , -44.66857095, -42.01852763,\n",
            -       "        -45.68232031, -46.65687534, -45.86968195, -47.0690995 ,\n",
            -       "        -48.19324334, -46.3852222 , -44.90130478, -50.16581678,\n",
            -       "        -45.36505614, -44.05814881, -42.63294644, -42.26222755,\n",
            -       "        -44.621209  , -44.01706864, -49.5334657 , -51.81656903,\n",
            -       "        -48.8597275 , -48.8597275 , -51.53180885, -47.33636019,\n",
            -       "        -44.96535688, -51.38637552, -47.45798166, -46.01224865,\n",
            -       "        -44.86837616, -44.42754385, -46.86798685, -44.3426595 ,\n",
            -       "        -44.05714857, -43.53446044, -45.43752874, -45.43752874,\n",
            -       "        -45.52642893, -47.19017679, -45.83775196, -44.18596385,\n",
            -       "        -42.8669047 , -42.28571587, -47.96598513, -52.21374203,\n",
            -       "        -45.0182377 , -42.05238676, -48.19013005, -48.54712061,\n",
            -       "        -45.53565943, -47.38524796, -49.99698174, -49.38402006,\n",
            -       "        -49.38402006, -50.29769779, -49.58451027, -48.9940765 ,\n",
            -       "        -47.40922232, -42.6843339 , -45.19096453, -46.3147075 ,\n",
            -       "        -43.65597466, -44.35146644, -44.52390399, -46.17249626,\n",
            -       "        -46.99344625, -46.80208718, -48.65544225, -48.21334325,\n",
            -       "        -47.32004813, -47.21866465, -45.32097994, -44.32968141,\n",
            -       "        -46.91120509, -46.91120509, -48.43712029, -48.16994442,\n",
            -       "        -48.90512804, -48.9750313 , -51.97941409, -52.66710777,\n",
            -       "        -56.32411594, -52.43433435, -50.34598173, -47.8481962 ,\n",
            -       "        -48.07973757, -41.93572432, -48.05793509, -47.15547856,\n",
            -       "        -44.74877076, -44.89475534, -44.80333795, -43.51894208,\n",
            -       "        -41.89061071, -43.65392569, -43.37718169, -43.37718169,\n",
            -       "        -43.2104204 , -45.13167633, -46.98790503, -45.22230073,\n",
            -       "        -43.84019779, -45.00268433, -46.00206013, -43.9482027 ,\n",
            -       "        -43.53136853, -45.46703817, -50.09255333, -49.07799469,\n",
            -       "        -49.86766183, -51.08149183, -46.11713442, -45.58760963,\n",
            -       "        -46.73611561, -48.63966549, -46.68674661, -46.68674661,\n",
            -       "        -45.52232661, -44.38351214, -44.23031392, -42.12893314,\n",
            -       "        -42.47836156, -44.45234942, -46.43426052, -44.97640048,\n",
            -       "        -45.58007924, -46.85188349, -46.72341757, -47.7518406 ,\n",
            -       "        -45.54010468, -45.64070562, -42.66211512, -45.26554496,\n",
            -       "        -47.51112123, -46.06975612, -43.80513371, -43.60156368,\n",
            -       "        -45.03688531, -44.88897982, -47.19986063, -48.80261935,\n",
            -       "        -48.9907256 , -54.26084662, -54.26084662, -52.39727346,\n",
            -       "        -48.86544723, -46.67034391, -47.36369937, -47.19084335,\n",
            -       "        -45.12933197, -45.12933197, -44.66262481, -46.16517094,\n",
            -       "        -46.16517094, -52.38813091, -43.07196695, -43.2195468 ,\n",
            -       "        -51.96978017, -45.42799992, -45.99615639, -43.55327637,\n",
            -       "        -44.50695961, -45.6998766 , -45.70502721, -47.99935484,\n",
            -       "        -43.13146399, -43.57610803, -45.81830378, -50.3246228 ,\n",
            -       "        -49.3761429 , -44.63956128, -44.847414  , -44.39839394,\n",
            -       "        -44.82008212, -43.89094371, -43.3909851 , -43.38065627,\n",
            -       "        -43.7254173 , -46.55605626, -44.54607308, -43.87475625,\n",
            -       "        -44.46730896, -45.1254539 , -45.44825418, -48.34883785,\n",
            -       "        -47.96583867, -45.31978276, -44.67587553, -45.44690251,\n",
            -       "        -46.36533237, -46.36533237, -47.7205891 , -46.99252322,\n",
            -       "        -47.61037517, -47.51413814, -49.47857824, -42.99020352,\n",
            -       "        -43.70212084, -46.88856401, -43.88205174, -44.25054476,\n",
            -       "        -45.0344157 , -47.37595235, -46.81145515, -45.20292072,\n",
            -       "        -44.17101765, -43.80468746, -50.98766494, -48.90351247,\n",
            -       "        -47.03958194, -47.9377543 , -47.33091331, -52.16843057,\n",
            -       "        -46.18186146, -46.3061205 , -46.92302927, -45.92532396,\n",
            -       "        -47.24810558, -47.24810558, -47.78016312, -48.54230889,\n",
            -       "        -49.06151437, -50.16738166, -51.91271646, -53.04146531,\n",
            -       "        -50.02860505, -45.57792072, -49.8402585 , -46.55624754,\n",
            -       "        -46.63781942, -43.97856323, -43.26051807, -43.51553281,\n",
            -       "        -47.47969118, -43.62766387, -43.32832777, -44.27385417,\n",
            -       "        -50.04026684, -50.83512193, -46.39175304, -48.02551726,\n",
            -       "        -45.97132734, -44.62326489, -43.02075358, -43.98890991,\n",
            -       "        -43.98890991, -43.21772264, -44.78356048, -44.12231097,\n",
            -       "        -51.1896688 , -51.6929149 , -51.94097296, -46.79485256,\n",
            -       "        -47.58220479, -47.00889942, -44.99743198, -46.81183039,\n",
            -       "        -47.89345798, -44.53254874, -44.53254874, -45.29515429,\n",
            -       "        -45.29515429, -45.35516839, -48.74100196, -45.97289177,\n",
            -       "        -44.62343347, -47.93487626, -47.0310884 , -47.29981185,\n",
            -       "        -47.13848913, -46.91289295, -43.83363984, -43.29437474,\n",
            -       "        -47.53067682, -48.91013391, -44.76560913, -43.80501702,\n",
            -       "        -44.65727243, -46.34867805, -48.91944387, -45.42252701,\n",
            -       "        -43.62965689, -45.96222457, -46.89336622, -46.08638633,\n",
            -       "        -51.21905709, -50.62329425, -54.13463139, -47.97350676,\n",
            -       "        -42.84671559, -50.928357  , -48.69214433, -49.47091335,\n",
            -       "        -47.3377065 , -49.58787899, -47.60402705, -52.56415554,\n",
            -       "        -52.56415554, -46.63174391, -46.84335105, -45.75900974,\n",
            -       "        -45.91413216, -46.651234  , -46.651234  , -49.84704697,\n",
            -       "        -44.53404821, -44.13203948, -43.69285268, -45.89734544,\n",
            -       "        -46.21609033, -45.98898381, -46.9970694 , -49.24739837,\n",
            -       "        -50.28043729, -49.10806334, -50.41178617, -45.73251499,\n",
            -       "        -46.09281649, -44.52925914, -44.13666276, -44.29012323,\n",
            -       "        -43.78974097, -45.35667529, -48.44378554, -49.74685978,\n",
            -       "        -47.0403272 , -45.34390997, -50.75265946, -49.5701038 ,\n",
            -       "        -50.89077564, -52.50178734, -44.82294086, -45.81617068,\n",
            -       "        -46.85299469, -42.35464476, -43.8227742 , -45.9386359 ,\n",
            -       "        -46.95672169, -49.52222389, -47.89112801, -47.21330091,\n",
            -       "        -47.21330091, -46.61604754, -47.23720398, -50.25577858,\n",
            -       "        -47.20127448, -44.55965628, -45.08448349, -49.01631313,\n",
            -       "        -46.87294711, -44.81120796, -43.8286461 , -48.2208947 ,\n",
            -       "        -47.4438895 , -48.18728969, -50.76498659, -44.94063704,\n",
            -       "        -50.68973422, -48.23292987, -47.11553166, -51.09615344,\n",
            -       "        -50.18621853, -46.09572695, -42.81722982, -45.84979875,\n",
            -       "        -43.53758146, -42.86040454, -45.36400087, -44.96261261,\n",
            -       "        -45.18434439, -46.69045773, -46.51233255, -45.48438348,\n",
            -       "        -43.28125786, -42.21138617, -42.21138617, -43.76358652,\n",
            -       "        -48.75561113, -47.58626301, -42.31839949, -44.53782023,\n",
            -       "        -44.53782023, -44.96273809, -45.25575418, -50.20937923,\n",
            -       "        -44.40153283, -42.275109  , -43.08078662, -43.85484947,\n",
            -       "        -43.0944096 , -43.25267066, -43.64940501, -43.64940501,\n",
            -       "        -46.48272131, -46.06836256, -46.06836256, -43.40173601,\n",
            -       "        -47.5130268 , -45.25252071, -44.96604713, -43.58561124,\n",
            -       "        -45.31211036, -45.31211036, -42.71963429, -42.05062763,\n",
            -       "        -47.24992981, -48.41014357, -51.13006723, -54.66534869,\n",
            -       "        -52.66310073, -57.56771577, -48.172353  , -49.54677609,\n",
            -       "        -51.23606301, -47.15947905, -47.71119882, -49.30545718,\n",
            -       "        -51.32774346, -48.80735746, -51.90699076, -48.68695722,\n",
            -       "        -50.8222033 , -47.44533344, -45.4661561 , -43.98085598,\n",
            -       "        -48.67999713, -45.95894176, -43.60920943, -44.07324756,\n",
            -       "        -47.13643712, -42.32331234, -42.71513265, -41.77360498,\n",
            -       "        -44.03960345, -46.23093853, -44.35250859, -46.649434  ,\n",
            -       "        -46.10961392, -46.16641629, -44.58615539, -45.87438835],\n",
            -       "       [-47.74558852, -44.81466456, -45.24756831, -43.78824162,\n",
            -       "        -42.81013983, -42.65721726, -43.56909737, -44.16305147,\n",
            -       "        -48.79518362, -49.48803602, -50.34464361, -49.94303579,\n",
            -       "        -47.62702021, -48.93195445, -47.26294948, -48.86528355,\n",
            -       "        -49.48135346, -49.92563166, -47.63698894, -50.61781335,\n",
            -       "        -49.21244667, -48.63417088, -51.82810821, -50.15619602,\n",
            -       "        -50.1359541 , -47.86247046, -44.670807  , -45.28542784,\n",
            -       "        -45.39167867, -45.22728207, -48.47075185, -49.83202548,\n",
            -       "        -47.53755749, -46.70023593, -45.4035707 , -45.88582071,\n",
            -       "        -44.72339974, -46.26887821, -43.79844009, -43.6722954 ,\n",
            -       "        -46.69922919, -48.14324292, -43.39625416, -44.40814745,\n",
            -       "        -43.14453103, -43.69242642, -43.18601923, -44.43072922,\n",
            -       "        -45.11392269, -47.82867015, -46.91102893, -45.70164783,\n",
            -       "        -46.60574646, -49.14309787, -47.41170069, -46.06570989,\n",
            -       "        -44.03444204, -44.93212012, -46.57409336, -51.69815901,\n",
            -       "        -47.24259816, -47.73395748, -46.77818798, -45.85020629,\n",
            -       "        -46.59955724, -44.47608728, -46.31832854, -44.93495063,\n",
            -       "        -44.27582609, -46.43738699, -46.43738699, -46.43738699,\n",
            -       "        -45.91365775, -48.32688469, -43.60695717, -45.18095846,\n",
            -       "        -46.8119853 , -44.47542841, -45.74488108, -46.31857576,\n",
            -       "        -44.2188102 , -44.47987041, -42.9072509 , -45.12619292,\n",
            -       "        -51.64751576, -50.00434731, -46.80507381, -44.75567079,\n",
            -       "        -46.60706311, -43.31217173, -43.31217173, -45.95453531,\n",
            -       "        -44.18632123, -44.18632123, -44.7768942 , -44.4825012 ,\n",
            -       "        -42.9908943 , -46.52221056, -46.85592177, -43.61818187,\n",
            -       "        -45.79108209, -51.22864672, -47.570449  , -46.9781788 ,\n",
            -       "        -44.49772753, -47.01033302, -46.78188236, -43.43788486,\n",
            -       "        -47.44552849, -44.62357881, -44.46476024, -44.03569586,\n",
            -       "        -42.94043644, -46.46056913, -44.42195772, -45.29877301,\n",
            -       "        -46.94189878, -44.91830603, -46.81142086, -47.79592771,\n",
            -       "        -47.27980063, -45.24134116, -46.41441708, -43.15604603,\n",
            -       "        -43.21601434, -43.50638871, -43.4315654 , -46.81461908,\n",
            -       "        -44.38861828, -43.35154316, -44.24338605, -44.53743908,\n",
            -       "        -43.27880415, -46.337917  , -44.12076433, -44.39431025,\n",
            -       "        -43.85184707, -43.85184707, -43.9972099 , -45.08610009,\n",
            -       "        -45.83391914, -45.51243688, -46.06545084, -45.90715417,\n",
            -       "        -45.98099733, -45.33437776, -44.5768794 , -47.06974599,\n",
            -       "        -47.06974599, -48.29963785, -46.26213198, -43.59323639,\n",
            -       "        -45.79236134, -47.50794308, -47.10748468, -46.93203735,\n",
            -       "        -43.67184479, -46.0400183 , -45.23588683, -46.59166519,\n",
            -       "        -44.47482689, -42.93925183, -43.69853548, -46.82438189,\n",
            -       "        -44.03851973, -44.40042427, -45.36463784, -47.28859818,\n",
            -       "        -47.28859818, -45.97680829, -45.73433667, -47.82571035,\n",
            -       "        -50.09057634, -46.88883201, -44.90775069, -52.39655135,\n",
            -       "        -47.42535785, -47.01988844, -46.84356625, -44.39937858,\n",
            -       "        -45.44560451, -45.19544735, -44.78364929, -43.93487829,\n",
            -       "        -43.21341668, -43.19067453, -48.13620551, -45.96795781,\n",
            -       "        -44.81099709, -46.62654044, -49.60298724, -45.97769548,\n",
            -       "        -47.60698156, -48.33976504, -46.84168825, -45.34021038,\n",
            -       "        -45.44999156, -45.74322934, -42.82341   , -45.41978822,\n",
            -       "        -47.40376862, -45.12813077, -44.60979628, -43.62526218,\n",
            -       "        -45.54814513, -41.7429395 , -42.20227528, -46.98706334,\n",
            -       "        -45.50586996, -46.69563284, -46.90429891, -43.53843774,\n",
            -       "        -44.06827251, -49.35012061, -47.57217367, -48.55609595,\n",
            -       "        -45.45680049, -44.59897316, -45.09124942, -46.16618865,\n",
            -       "        -42.78049352, -45.7070612 , -43.14763651, -44.44972976,\n",
            -       "        -43.53332675, -44.49952916, -49.38949644, -45.86097929,\n",
            -       "        -47.01534467, -49.62684346, -48.29509051, -45.91635539,\n",
            -       "        -47.23045916, -47.35385276, -48.23889624, -48.2232962 ,\n",
            -       "        -44.0562932 , -46.04453334, -49.75695745, -47.20113   ,\n",
            -       "        -45.17499022, -44.63609936, -43.30660027, -43.48878061,\n",
            -       "        -41.12763837, -44.14503709, -42.88517474, -46.13503884,\n",
            -       "        -42.3438306 , -42.7060667 , -49.35079577, -45.98567656,\n",
            -       "        -46.95098065, -46.36901583, -46.19281547, -46.27161873,\n",
            -       "        -45.73787247, -45.62891009, -46.28634057, -45.61414818,\n",
            -       "        -48.65173174, -42.15175355, -43.74751266, -43.81127933,\n",
            -       "        -43.81127933, -44.13576807, -45.68038484, -46.04671041,\n",
            -       "        -48.11492883, -53.15341809, -51.85387527, -45.89087036,\n",
            -       "        -47.21642791, -46.78726493, -45.33636429, -50.58825935,\n",
            -       "        -53.29433499, -51.21314903, -49.89331258, -54.71095583,\n",
            -       "        -49.11724895, -50.92889758, -46.11620698, -44.6086389 ,\n",
            -       "        -43.39302247, -45.64042874, -44.5591906 , -45.7779977 ,\n",
            -       "        -48.0828884 , -48.82898444, -45.2499775 , -43.45219105,\n",
            -       "        -47.85866241, -44.25532345, -43.21074913, -45.83056795,\n",
            -       "        -44.14507656, -43.36479547, -44.40005261, -44.05710313,\n",
            -       "        -47.7401687 , -47.33599155, -45.3789782 , -43.93301044,\n",
            -       "        -45.85613323, -44.49549355, -43.5915451 , -44.16274713,\n",
            -       "        -44.11634339, -44.5871471 , -43.10739253, -47.88107576,\n",
            -       "        -47.66761339, -46.97826852, -47.66882357, -43.87808324,\n",
            -       "        -48.86074828, -46.89401346, -48.45631807, -45.88809233,\n",
            -       "        -44.47564694, -44.62628705, -44.45955604, -47.25679318,\n",
            -       "        -50.26578277, -47.81607909, -48.18801716, -44.50904753,\n",
            -       "        -46.84536718, -45.01937637, -52.60277195, -46.43690711,\n",
            -       "        -43.60909652, -50.40212997, -48.28200068, -45.12819825,\n",
            -       "        -44.3896496 , -44.27716718, -45.91390119, -46.68865746,\n",
            -       "        -47.95805149, -44.80062314, -44.80981255, -45.38960877,\n",
            -       "        -44.23537039, -46.5598629 , -46.50771226, -44.3839515 ,\n",
            -       "        -49.86099349, -47.55761465, -45.30879569, -43.65063932,\n",
            -       "        -44.15612858, -45.44438219, -45.03708293, -43.95814195,\n",
            -       "        -45.30924877, -43.56323345, -43.34138489, -45.17820743,\n",
            -       "        -44.57952788, -46.44213369, -45.01538476, -45.11561957,\n",
            -       "        -45.29754608, -43.31226919, -44.9394871 , -43.72342195,\n",
            -       "        -43.83706423, -44.70429415, -49.54386751, -50.66162781,\n",
            -       "        -48.20203703, -46.56121812, -46.56093519, -50.17394326,\n",
            -       "        -48.59524766, -45.64790671, -50.68889285, -51.61693232,\n",
            -       "        -42.96672031, -44.88643415, -48.13834584, -46.42201975,\n",
            -       "        -46.83484817, -49.66440032, -44.23519069, -45.89008957,\n",
            -       "        -47.80380393, -46.89779119, -45.2604109 , -45.76220688,\n",
            -       "        -42.43424908, -44.25187893, -47.5053615 , -44.38543454,\n",
            -       "        -45.44616187, -46.25574103, -44.552331  , -45.25111593,\n",
            -       "        -44.01183168, -44.46416068, -44.17966004, -46.99848381,\n",
            -       "        -46.67812005, -45.99010151, -48.28298821, -44.01946469,\n",
            -       "        -44.81991987, -45.61158163, -43.01526284, -43.78913936,\n",
            -       "        -46.65080357, -46.357972  , -45.65878761, -44.23718494,\n",
            -       "        -43.72440684, -47.00467089, -47.73454322, -45.28496549,\n",
            -       "        -43.41332189, -47.27162786, -47.38587726, -48.37964768,\n",
            -       "        -48.69125871, -50.08250353, -48.85672056, -48.3880044 ,\n",
            -       "        -46.92464615, -47.65079958, -52.58780913, -48.82851246,\n",
            -       "        -43.93935447, -43.71260976, -45.38079766, -42.6213089 ,\n",
            -       "        -46.06891918, -46.90457596, -46.0286549 , -45.86185945,\n",
            -       "        -46.36948103, -43.32788181, -48.01439444, -46.20947709,\n",
            -       "        -46.95520065, -44.37946773, -42.8218502 , -45.42254267,\n",
            -       "        -45.35672607, -48.73187706, -49.72920897, -47.05008359,\n",
            -       "        -45.85123015, -47.83390561, -46.07304957, -48.51376337,\n",
            -       "        -49.22586729, -44.63173636, -48.46492453, -48.77450641,\n",
            -       "        -48.71077328, -44.24397354, -44.13137146, -43.3887046 ,\n",
            -       "        -46.61551209, -44.92029155, -42.60552965, -47.08098688,\n",
            -       "        -44.96072829, -46.87699193, -49.74543491, -48.58769776,\n",
            -       "        -49.91484353, -49.07084414, -45.59833844, -45.91508827,\n",
            -       "        -49.68844758, -43.94238036, -45.99360426, -44.37610803,\n",
            -       "        -43.46705962, -42.96344732, -42.8280763 , -41.921416  ,\n",
            -       "        -48.37948115, -48.09864335, -43.78688144, -51.10977642,\n",
            -       "        -48.96647002, -45.69115941, -45.69115941, -46.46577761,\n",
            -       "        -43.60706445, -45.49722656, -46.58448303, -47.87843883,\n",
            -       "        -45.50485557, -44.7802904 , -45.27924419, -43.83013398]])
        • created_at :
          2020-06-10T18:19:23.335024
          arviz_version :
          0.8.3
          inference_library :
          pymc3
          inference_library_version :
          3.8

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 1
          • draw: 500
          • school: 8
          • chain
            (chain)
            int64
            0
            array([0])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • tau_log__
            (chain, draw)
            float64
            1.706 2.102 -0.9025 ... 3.191 3.0
            array([[ 1.70599509,  2.1023019 , -0.90248537,  2.56846292,  2.80035484,\n",
            -       "         0.99311443,  3.00205734, -0.10636405,  0.62927854,  1.48301388,\n",
            -       "         2.16985359,  0.88887636,  0.365956  ,  2.87258132, -2.71912399,\n",
            -       "         2.63115465,  1.08852395, -0.15118725,  1.51487157,  1.12506038,\n",
            -       "         2.10230483,  2.26720996,  2.05902668,  1.32215738,  1.382099  ,\n",
            -       "         2.00485569, -0.04846091,  0.20013412,  0.09002789,  3.61645892,\n",
            -       "        -0.98540514,  2.14471514,  4.54864374,  0.56399077,  2.08710895,\n",
            -       "         1.81525651,  1.94972113,  1.94021807,  3.35868241,  3.02310503,\n",
            -       "         1.32780055,  2.17443604,  0.52584454,  0.22766409,  2.10078604,\n",
            -       "         2.90568936,  1.38453723,  1.33557796,  0.8604188 ,  2.90941416,\n",
            -       "         3.91051141,  2.64583023,  2.59454355,  1.55461194, -0.19360908,\n",
            -       "         0.61859906,  0.06131972,  1.11867599,  3.22237575,  2.8379133 ,\n",
            -       "         4.0855867 , -0.94483429,  6.65039162,  2.26065082,  0.95464065,\n",
            -       "         0.9435127 ,  1.53873811,  1.27423168,  0.03564208,  2.30234039,\n",
            -       "         1.06483034,  2.63324965,  2.50508407,  0.45062262,  0.56089467,\n",
            -       "         1.49177783,  2.82825203,  2.34121197,  1.69663461,  1.78877646,\n",
            -       "         1.51950935,  1.22613645,  2.8868101 ,  1.73708598,  2.14715963,\n",
            -       "         0.59152464,  0.90457465,  2.5158034 , -0.84755572,  2.35830151,\n",
            -       "         1.33125608,  0.51518908,  2.53967354,  2.46873829,  2.20646945,\n",
            -       "         0.11905285,  1.98203441,  1.24922572,  1.38711176,  2.27494119,\n",
            -       "        -1.03321614,  1.77610568,  1.20474088,  2.53645718, -0.22378872,\n",
            -       "         2.05238601,  1.37310813,  3.29017421,  1.29962925,  2.0130666 ,\n",
            -       "         1.85922107,  2.52251249,  4.10067265,  2.64205754, -1.13808027,\n",
            -       "         1.59080514,  3.27661494,  0.65264271,  2.28492573,  6.74870305,\n",
            -       "         2.8758106 ,  2.92309975,  2.47741094,  2.34805628,  1.80015544,\n",
            -       "         0.90205299,  0.64674031,  2.68653822,  2.59522977,  1.96274769,\n",
            -       "         1.44877023,  1.97737637,  2.25395178,  0.27912863,  2.38677663,\n",
            -       "         3.19065025,  0.96032573,  1.81979586,  0.03921373,  1.26702002,\n",
            -       "         0.95537382,  1.35183552,  1.18545532,  1.25089938,  2.99997771,\n",
            -       "         1.48068604,  2.28282277,  2.77664837,  2.57037212,  0.95504334,\n",
            -       "         1.69486963,  1.37795916,  1.71540583,  1.28841831,  1.45745271,\n",
            -       "         0.63274979,  0.89237036, -0.01351588,  4.29981174,  1.85461141,\n",
            -       "        -3.12646604,  2.58317152,  4.42056351,  2.84004013,  3.74631516,\n",
            -       "         2.19433234,  0.12803876,  1.87609798,  2.70373684,  0.85187241,\n",
            -       "         0.66515593,  1.98560837,  1.75530964,  1.07881318,  0.9227799 ,\n",
            -       "         2.72529773,  1.22990801,  1.63303327,  1.76057628,  1.14271821,\n",
            -       "         0.24628423,  2.09863363,  2.45560525,  1.74689688,  2.22823845,\n",
            -       "         2.14311367,  1.44538971,  1.25540438,  1.98040585,  1.46287083,\n",
            -       "         2.8902565 ,  3.25237336,  1.07074438,  4.15041042,  1.08263665,\n",
            -       "        -0.41342869, -0.21777453,  1.62728738,  0.06832458,  0.69369886,\n",
            -       "         2.44087783,  1.85360789,  1.21200545, -2.87543828,  1.18588517,\n",
            -       "         1.8493917 , -3.37669212,  1.22158871,  1.77583107,  2.36826343,\n",
            -       "         3.07289327,  1.73923901,  3.23570516,  2.57518197, -0.74485098,\n",
            -       "         1.1565447 ,  4.04021711,  0.06042958,  2.8397559 ,  0.87684921,\n",
            -       "         4.03005226, -2.00286885,  6.21005584,  0.77883157, -0.50032742,\n",
            -       "         2.63371528,  1.19401374,  2.50900826, -1.43283972,  2.44164446,\n",
            -       "         2.06966697,  1.60198989,  4.78241693,  1.35488597,  3.00561363,\n",
            -       "         2.8111901 ,  4.34814582,  1.39114041,  3.34679992,  2.39048077,\n",
            -       "         3.29673684,  3.22296724, -0.03406225, -0.00755681,  1.36874808,\n",
            -       "         2.91221   , -2.44972579,  3.57249281,  2.9723942 ,  3.75687405,\n",
            -       "         5.63509009, -0.21011503,  0.46972604,  1.54744965,  3.04382219,\n",
            -       "         0.2551527 ,  2.33588406,  1.71926505,  2.61660087,  0.72918814,\n",
            -       "         5.45802459, -1.17878783,  2.09894824,  2.02709688,  1.03242723,\n",
            -       "         3.71406849,  2.91980202, -0.87215908,  1.84922519,  2.06389569,\n",
            -       "         1.51474805,  1.82651549, -0.98556942,  1.88015217,  1.86588563,\n",
            -       "         2.19522154,  0.90610739,  0.12818577,  2.6526049 , -0.34089079,\n",
            -       "         0.5623638 ,  1.17314998,  1.07607117,  3.45167634,  2.07764134,\n",
            -       "        -2.25318032,  1.57445238,  5.17363495,  1.67180101,  1.51730549,\n",
            -       "         3.60385835,  1.21391414,  4.88465051,  1.34819836,  2.07995028,\n",
            -       "         1.9411707 ,  0.8344764 ,  0.53314648,  0.95237139,  2.70993294,\n",
            -       "         0.25197114,  0.68954274,  2.10559803,  1.46707996,  0.38024107,\n",
            -       "         3.6718587 , -0.27665213,  1.42949829, -1.62354754,  1.42518566,\n",
            -       "        -1.06680294,  0.79928264,  0.51339205,  1.66846884,  3.79669344,\n",
            -       "         1.39648667,  1.48479347, -0.15476104,  1.9127241 ,  1.2560361 ,\n",
            -       "         0.58643927,  1.6832115 ,  2.0844959 ,  0.27473111,  1.98730803,\n",
            -       "         1.73073339,  2.39902852,  1.25603917,  2.13876395,  0.70809256,\n",
            -       "         0.38677292,  1.12534926,  3.49333425,  5.51480037,  2.27937884,\n",
            -       "         2.19669492,  1.07241914,  1.29741512,  3.6515715 ,  2.20619041,\n",
            -       "        -1.01632301, -1.00972668, -0.13866914,  1.58748499,  4.16389488,\n",
            -       "         1.47806225,  2.18470271,  2.17287451,  0.35138308, -0.08737636,\n",
            -       "         3.75533117,  2.12592275,  1.61577535, -0.08719834, -3.74146033,\n",
            -       "        -1.36428267, -5.40154713,  1.85700736,  0.32336021,  1.9426761 ,\n",
            -       "         3.56852419,  1.55354747,  0.97723259, -0.13230045,  1.5765091 ,\n",
            -       "         1.28410518,  1.00776594,  2.02259487,  1.21227949,  0.62992772,\n",
            -       "         3.05016949,  0.35337658,  0.40199874,  1.48527419,  2.64238791,\n",
            -       "         0.43196549,  0.10784032,  1.70192077,  2.28243656,  2.03935257,\n",
            -       "         0.61773816,  0.86907984, -0.76778866,  1.94899872, -0.02152823,\n",
            -       "        -2.29418832,  2.37588713,  1.63970504,  1.19798191,  4.58844073,\n",
            -       "         2.6773426 ,  4.52417613,  0.32385163,  1.97589555,  0.5072283 ,\n",
            -       "        -1.26472421,  2.06191531,  0.84805248,  3.71899798,  3.85586477,\n",
            -       "         1.27418696, -1.66429176,  2.89621868,  0.5836731 ,  2.42453699,\n",
            -       "         2.83891664, -0.10785864,  4.878018  ,  7.05836481,  4.95169144,\n",
            -       "         0.66509645,  0.88350777,  2.27091977, -0.70442498,  0.61656012,\n",
            -       "         1.18896414,  2.97898156,  2.52738653,  1.25978368,  3.6986964 ,\n",
            -       "         3.52576019,  3.52752708,  4.35818753, -0.09883578,  1.86856041,\n",
            -       "        -1.38208987,  3.10093326,  1.75405802,  5.07287701,  4.1858028 ,\n",
            -       "         3.15839962,  1.25920842,  2.07146588,  1.11480582,  2.82629916,\n",
            -       "         1.09979417,  0.40300613, -0.99749685,  1.75980059,  2.72177195,\n",
            -       "         2.58293073,  1.05452379,  0.26683768, -0.08899415,  1.8233168 ,\n",
            -       "         1.25087499,  0.51544631,  1.71713821, -0.07991098,  1.04087024,\n",
            -       "         1.92818799, -0.35251242,  2.77931855,  1.26470085,  1.39402269,\n",
            -       "         1.69576834,  2.69417672,  1.35947815,  1.28346478,  0.97858565,\n",
            -       "         2.01678674,  2.77387222,  1.22566557,  2.8065254 ,  2.39601751,\n",
            -       "         2.79108204,  3.22977667,  2.34095033,  1.21336144,  2.65564027,\n",
            -       "         0.85456707,  2.84012414,  1.32798643,  0.71154812,  3.49958034,\n",
            -       "        -0.45660104,  1.81603681,  1.96863298,  3.10477242,  0.02468627,\n",
            -       "         0.6817256 ,  3.54044187,  3.26327222,  1.65833051,  1.42266403,\n",
            -       "         1.18580882,  3.200757  ,  2.84417962,  2.09119768,  0.01526257,\n",
            -       "         1.78042628,  1.67860247,  0.53106916,  2.20371117,  2.16164611,\n",
            -       "         0.75287014,  1.77576973,  2.20152037,  3.19102252,  2.9998979 ]])
          • tau
            (chain, draw)
            float64
            5.507 8.185 0.4056 ... 24.31 20.08
            array([[5.50686275e+00, 8.18498929e+00, 4.05560437e-01, 1.30457567e+01,\n",
            -       "        1.64504830e+01, 2.69962919e+00, 2.01269022e+01, 8.99097276e-01,\n",
            -       "        1.87625645e+00, 4.40620548e+00, 8.75700183e+00, 2.43239497e+00,\n",
            -       "        1.44189180e+00, 1.76826038e+01, 6.59324864e-02, 1.38897985e+01,\n",
            -       "        2.96988714e+00, 8.59686709e-01, 4.54883689e+00, 3.08040285e+00,\n",
            -       "        8.18501327e+00, 9.65243249e+00, 7.83833691e+00, 3.75150607e+00,\n",
            -       "        3.98325370e+00, 7.42502229e+00, 9.52694584e-01, 1.22156659e+00,\n",
            -       "        1.09420480e+00, 3.72055864e+01, 3.73287963e-01, 8.53960826e+00,\n",
            -       "        9.45041492e+01, 1.75767299e+00, 8.06157503e+00, 6.14265162e+00,\n",
            -       "        7.02672777e+00, 6.96026860e+00, 2.87512835e+01, 2.05550166e+01,\n",
            -       "        3.77273632e+00, 8.79722240e+00, 1.69188711e+00, 1.25566346e+00,\n",
            -       "        8.17259137e+00, 1.82778393e+01, 3.99297764e+00, 3.80219282e+00,\n",
            -       "        2.36415060e+00, 1.83460476e+01, 4.99244772e+01, 1.40951424e+01,\n",
            -       "        1.33904739e+01, 4.73324937e+00, 8.23979948e-01, 1.85632561e+00,\n",
            -       "        1.06323880e+00, 3.06079899e+00, 2.50876515e+01, 1.70800873e+01,\n",
            -       "        5.94768225e+01, 3.88743982e-01, 7.73087020e+02, 9.58932810e+00,\n",
            -       "        2.59773692e+00, 2.56898968e+00, 4.65870778e+00, 3.57595288e+00,\n",
            -       "        1.03628487e+00, 9.99755332e+00, 2.90034686e+00, 1.39189281e+01,\n",
            -       "        1.22445884e+01, 1.56928895e+00, 1.75223948e+00, 4.44499093e+00,\n",
            -       "        1.69158665e+01, 1.03938259e+01, 5.45555640e+00, 5.98212863e+00,\n",
            -       "        4.56998241e+00, 3.40803695e+00, 1.79360042e+01, 5.68076540e+00,\n",
            -       "        8.56050879e+00, 1.80674094e+00, 2.47088071e+00, 1.23765481e+01,\n",
            -       "        4.28460931e-01, 1.05729781e+01, 3.78579568e+00, 1.67395498e+00,\n",
            -       "        1.26755323e+01, 1.18075397e+01, 9.08358961e+00, 1.12642945e+00,\n",
            -       "        7.25749272e+00, 3.48764152e+00, 4.00327093e+00, 9.72734690e+00,\n",
            -       "        3.55860620e-01, 5.90680857e+00, 3.33589457e+00, 1.26348286e+01,\n",
            -       "        7.99484035e-01, 7.78645752e+00, 3.94760131e+00, 2.68475403e+01,\n",
            -       "        3.66793653e+00, 7.48623952e+00, 6.41873506e+00, 1.24598627e+01,\n",
            -       "        6.03808891e+01, 1.40420660e+01, 3.20433577e-01, 4.90769871e+00,\n",
            -       "        2.64859643e+01, 1.92060974e+00, 9.82495650e+00, 8.52951810e+02,\n",
            -       "        1.77397981e+01, 1.85988499e+01, 1.19103878e+01, 1.04652085e+01,\n",
            -       "        6.05058789e+00, 2.46465783e+00, 1.90930692e+00, 1.46807663e+01,\n",
            -       "        1.33996659e+01, 7.11886064e+00, 4.25787509e+00, 7.22376564e+00,\n",
            -       "        9.52530346e+00, 1.32197738e+00, 1.08783723e+01, 2.43042260e+01,\n",
            -       "        2.61254733e+00, 6.17059868e+00, 1.03999273e+00, 3.55025707e+00,\n",
            -       "        2.59964220e+00, 3.86451242e+00, 3.27217637e+00, 3.49348353e+00,\n",
            -       "        2.00850892e+01, 4.39596044e+00, 9.80431674e+00, 1.60650863e+01,\n",
            -       "        1.30706874e+01, 2.59878321e+00, 5.44593592e+00, 3.96679777e+00,\n",
            -       "        5.55893105e+00, 3.62704517e+00, 4.29500494e+00, 1.88278071e+00,\n",
            -       "        2.44090864e+00, 9.86575053e-01, 7.36859206e+01, 6.38921495e+00,\n",
            -       "        4.38725677e-02, 1.32390595e+01, 8.31431243e+01, 1.71164523e+01,\n",
            -       "        4.23646868e+01, 8.97400746e+00, 1.13659706e+00, 6.52798276e+00,\n",
            -       "        1.49354388e+01, 2.34403173e+00, 1.94479374e+00, 7.28347712e+00,\n",
            -       "        5.78523878e+00, 2.94118681e+00, 2.51627568e+00, 1.52609569e+01,\n",
            -       "        3.42091484e+00, 5.11937967e+00, 5.81578794e+00, 3.13527913e+00,\n",
            -       "        1.27926313e+00, 8.15501952e+00, 1.16534847e+01, 5.73677315e+00,\n",
            -       "        9.28349836e+00, 8.52594333e+00, 4.24350554e+00, 3.50925716e+00,\n",
            -       "        7.24568306e+00, 4.31833896e+00, 1.79979255e+01, 2.58516223e+01,\n",
            -       "        2.91755047e+00, 6.34600402e+01, 2.95245388e+00, 6.61378693e-01,\n",
            -       "        8.04306771e-01, 5.09004862e+00, 1.07071279e+00, 2.00110367e+00,\n",
            -       "        1.14831165e+01, 6.38280647e+00, 3.36021664e+00, 5.63914191e-02,\n",
            -       "        3.27358321e+00, 6.35595200e+00, 3.41602660e-02, 3.39257327e+00,\n",
            -       "        5.90518674e+00, 1.06788316e+01, 2.16043196e+01, 5.69300946e+00,\n",
            -       "        2.54242936e+01, 1.31337069e+01, 4.74805052e-01, 3.17893012e+00,\n",
            -       "        5.68386817e+01, 1.06229279e+00, 1.71115880e+01, 2.40331543e+00,\n",
            -       "        5.62638518e+01, 1.34947583e-01, 4.97729044e+02, 2.17892486e+00,\n",
            -       "        6.06332101e-01, 1.39254107e+01, 3.30030122e+00, 1.22927328e+01,\n",
            -       "        2.38630316e-01, 1.14919233e+01, 7.92218432e+00, 4.96289825e+00,\n",
            -       "        1.19392565e+02, 3.87631891e+00, 2.01986067e+01, 1.66296974e+01,\n",
            -       "        7.73349370e+01, 4.01943124e+00, 2.84116683e+01, 1.09187421e+01,\n",
            -       "        2.70243104e+01, 2.51024948e+01, 9.66511340e-01, 9.92471669e-01,\n",
            -       "        3.93042704e+00, 1.83974120e+01, 8.63172526e-02, 3.56052398e+01,\n",
            -       "        1.95386430e+01, 4.28143808e+01, 2.80084149e+02, 8.10491012e-01,\n",
            -       "        1.59955592e+00, 4.69946958e+00, 2.09853000e+01, 1.29065869e+00,\n",
            -       "        1.03385958e+01, 5.58042565e+00, 1.36891134e+01, 2.07339662e+00,\n",
            -       "        2.34633470e+02, 3.07651440e-01, 8.15758555e+00, 7.59201379e+00,\n",
            -       "        2.80787293e+00, 4.10203586e+01, 1.85376170e+01, 4.18047975e-01,\n",
            -       "        6.35489380e+00, 7.87659490e+00, 4.54827503e+00, 6.21220244e+00,\n",
            -       "        3.73226642e-01, 6.55450216e+00, 6.46165601e+00, 8.98199070e+00,\n",
            -       "        2.47467082e+00, 1.13676416e+00, 1.41909565e+01, 7.11136568e-01,\n",
            -       "        1.75481564e+00, 3.23215785e+00, 2.93313312e+00, 3.15532418e+01,\n",
            -       "        7.98561131e+00, 1.05064553e-01, 4.82809693e+00, 1.76555443e+02,\n",
            -       "        5.32174371e+00, 4.55992185e+00, 3.67397160e+01, 3.36663638e+00,\n",
            -       "        1.32244240e+02, 3.85048211e+00, 8.00407098e+00, 6.96690236e+00,\n",
            -       "        2.30360757e+00, 1.70428638e+00, 2.59184867e+00, 1.50282676e+01,\n",
            -       "        1.28655891e+00, 1.99280409e+00, 8.21201260e+00, 4.33655373e+00,\n",
            -       "        1.46263714e+00, 3.93249313e+01, 7.58318251e-01, 4.17660322e+00,\n",
            -       "        1.97197890e-01, 4.15862987e+00, 3.44106890e-01, 2.22394499e+00,\n",
            -       "        1.67094954e+00, 5.30404024e+00, 4.45536215e+01, 4.04097771e+00,\n",
            -       "        4.41405367e+00, 8.56619848e-01, 6.77150997e+00, 3.51147472e+00,\n",
            -       "        1.79757632e+00, 5.38281513e+00, 8.04053720e+00, 1.31617672e+00,\n",
            -       "        7.29586706e+00, 5.64479222e+00, 1.10124728e+01, 3.51148550e+00,\n",
            -       "        8.48893842e+00, 2.03011523e+00, 1.47222214e+00, 3.08129283e+00,\n",
            -       "        3.28954468e+01, 2.48340395e+02, 9.77060941e+00, 8.99523436e+00,\n",
            -       "        2.92244076e+00, 3.65982422e+00, 3.85351765e+01, 9.08105536e+00,\n",
            -       "        3.61923284e-01, 3.64318543e-01, 8.70516003e-01, 4.89143145e+00,\n",
            -       "        6.43215603e+01, 4.38444148e+00, 8.88800587e+00, 8.78349600e+00,\n",
            -       "        1.42103159e+00, 9.16332164e-01, 4.27483744e+01, 8.38062714e+00,\n",
            -       "        5.03178779e+00, 9.16495297e-01, 2.37194396e-02, 2.55563934e-01,\n",
            -       "        4.50959860e-03, 6.40454158e+00, 1.38176299e+00, 6.97739824e+00,\n",
            -       "        3.54642159e+01, 4.72821367e+00, 2.65709280e+00, 8.76077741e-01,\n",
            -       "        4.83803718e+00, 3.61143493e+00, 2.73947401e+00, 7.55791129e+00,\n",
            -       "        3.36113760e+00, 1.87747487e+00, 2.11189235e+01, 1.42386725e+00,\n",
            -       "        1.49480946e+00, 4.41617610e+00, 1.40467059e+01, 1.54028196e+00,\n",
            -       "        1.11386987e+00, 5.48447166e+00, 9.80053089e+00, 7.68563169e+00,\n",
            -       "        1.85472819e+00, 2.38471552e+00, 4.64038081e-01, 7.02165340e+00,\n",
            -       "        9.78701852e-01, 1.00843213e-01, 1.07605549e+01, 5.15364914e+00,\n",
            -       "        3.31342339e+00, 9.83409701e+01, 1.45463863e+01, 9.22199170e+01,\n",
            -       "        1.38244218e+00, 7.21307641e+00, 1.66068190e+00, 2.82317146e-01,\n",
            -       "        7.86101169e+00, 2.33509479e+00, 4.12230672e+01, 4.72694765e+01,\n",
            -       "        3.57579298e+00, 1.89324697e-01, 1.81055529e+01, 1.79261079e+00,\n",
            -       "        1.12969976e+01, 1.70972330e+01, 8.97754492e-01, 1.31370031e+02,\n",
            -       "        1.16254263e+03, 1.41413955e+02, 1.94467808e+00, 2.41937145e+00,\n",
            -       "        9.68830770e+00, 4.94392776e-01, 1.85254454e+00, 3.28367802e+00,\n",
            -       "        1.96677760e+01, 1.25207408e+01, 3.52465895e+00, 4.03946115e+01,\n",
            -       "        3.39795947e+01, 3.40396859e+01, 7.81154245e+01, 9.05891458e-01,\n",
            -       "        6.47896261e+00, 2.51053336e-01, 2.22186775e+01, 5.77800241e+00,\n",
            -       "        1.59632932e+02, 6.57462608e+01, 2.35329041e+01, 3.52263195e+00,\n",
            -       "        7.93644844e+00, 3.04897607e+00, 1.68828643e+01, 3.00354774e+00,\n",
            -       "        1.49631606e+00, 3.68801452e-01, 5.81127847e+00, 1.52072448e+01,\n",
            -       "        1.32358722e+01, 2.87060781e+00, 1.30582847e+00, 9.14850928e-01,\n",
            -       "        6.19236323e+00, 3.49339832e+00, 1.67438563e+00, 5.56856956e+00,\n",
            -       "        9.23198526e-01, 2.83168019e+00, 6.87703770e+00, 7.02919842e-01,\n",
            -       "        1.61080403e+01, 3.54203298e+00, 4.03103308e+00, 5.45083242e+00,\n",
            -       "        1.47933347e+01, 3.89416062e+00, 3.60912292e+00, 2.66069043e+00,\n",
            -       "        7.51414121e+00, 1.60205492e+01, 3.40643254e+00, 1.65523055e+01,\n",
            -       "        1.09793640e+01, 1.62986461e+01, 2.52740118e+01, 1.03911068e+01,\n",
            -       "        3.36477616e+00, 1.42340968e+01, 2.35035662e+00, 1.71178905e+01,\n",
            -       "        3.77343764e+00, 2.03714255e+00, 3.31015576e+01, 6.33433007e-01,\n",
            -       "        6.14744658e+00, 7.16088069e+00, 2.23041424e+01, 1.02499349e+00,\n",
            -       "        1.97728679e+00, 3.44821524e+01, 2.61349166e+01, 5.25053778e+00,\n",
            -       "        4.14815656e+00, 3.27333328e+00, 2.45511084e+01, 1.71874526e+01,\n",
            -       "        8.09460414e+00, 1.01537964e+00, 5.93238476e+00, 5.35806269e+00,\n",
            -       "        1.70074971e+00, 9.05856906e+00, 8.68542308e+00, 2.12308484e+00,\n",
            -       "        5.90482450e+00, 9.03874533e+00, 2.43132755e+01, 2.00834863e+01]])
          • mu
            (chain, draw)
            float64
            -0.1979 3.452 ... -15.29 -7.206
            array([[-1.97924571e-01,  3.45176103e+00,  3.66898018e+00,\n",
            -       "        -1.02743940e+01,  4.25360730e+00, -2.02111574e+00,\n",
            -       "         4.99512893e+00, -4.89951797e+00,  2.93259999e+00,\n",
            -       "         3.14718356e+00,  1.27127831e-02, -5.89109961e+00,\n",
            -       "        -3.95595294e+00,  7.20764616e+00, -1.13762985e+01,\n",
            -       "        -2.64993320e+00,  4.63740279e+00, -2.61164777e+00,\n",
            -       "        -4.92404586e+00, -5.32221786e-01, -7.24192440e+00,\n",
            -       "        -2.84180113e+00, -5.93344391e-01, -9.75138109e+00,\n",
            -       "         1.48560255e-01, -4.42832119e-01, -1.52289735e+00,\n",
            -       "         6.52718424e+00, -4.55815233e+00,  8.03345649e+00,\n",
            -       "        -1.25949421e+00,  4.09944512e+00, -2.85912239e+00,\n",
            -       "        -3.12320344e-01, -1.25621514e+00,  2.68736028e+00,\n",
            -       "        -2.19802764e+00,  4.40315543e+00,  9.20349072e+00,\n",
            -       "        -3.84608588e+00, -2.21098734e+00,  7.98896705e+00,\n",
            -       "        -2.56405874e+00, -7.55191977e+00, -3.66256916e+00,\n",
            -       "        -1.93900442e+00,  1.22065841e+00,  1.71740829e+00,\n",
            -       "         8.21454272e+00,  1.92083009e+00, -4.55360166e+00,\n",
            -       "         2.24412248e+00, -2.13959890e+00,  9.43831952e+00,\n",
            -       "         9.61207333e+00, -3.95567894e+00, -4.81381220e+00,\n",
            -       "        -4.39614559e+00, -1.56718278e+00, -5.36653851e+00,\n",
            -       "         1.92902328e+00, -5.46437773e+00, -8.28278477e-01,\n",
            -       "        -2.15915746e+00, -5.48922909e+00,  1.13661423e+00,\n",
            -       "         2.09137433e+00, -2.54786877e+00, -2.65724057e+00,\n",
            -       "         2.05729726e+00, -1.61402241e-01, -2.83105628e+00,\n",
            -       "         5.37481879e+00, -7.79670411e+00,  1.23781801e+00,\n",
            -       "        -1.05330598e+01, -4.50752694e+00, -8.14796386e+00,\n",
            -       "        -4.70073053e+00,  3.80565742e+00,  5.50567267e+00,\n",
            -       "         4.16868852e-01, -2.35527277e+00, -8.36613464e+00,\n",
            -       "        -7.13115096e-01,  1.43720177e+00, -6.10898476e+00,\n",
            -       "        -8.81174187e-01, -7.00294828e+00, -6.25292261e+00,\n",
            -       "        -3.70662453e-01,  5.97140466e-01,  1.69662795e+00,\n",
            -       "         6.36365353e+00,  1.95191457e+00, -4.14199908e-01,\n",
            -       "        -9.02638518e+00,  5.15984968e+00, -4.09147662e+00,\n",
            -       "        -5.23406237e+00, -6.09587492e+00, -4.65743036e+00,\n",
            -       "         4.33676745e+00, -9.91340056e+00,  2.83535062e+00,\n",
            -       "         4.70713637e+00, -6.33033245e+00, -2.19378021e+00,\n",
            -       "         5.86431705e+00,  3.46673670e+00, -2.43746040e+00,\n",
            -       "         1.68730344e+00,  3.60685353e+00,  2.88654746e+00,\n",
            -       "        -3.15878724e-01,  1.62471781e+00,  3.35119982e+00,\n",
            -       "         4.63666452e-01,  7.87306500e-01, -9.24725008e-01,\n",
            -       "        -3.38194013e+00,  4.52134311e+00, -2.26543848e-01,\n",
            -       "        -3.44352266e+00,  1.72719800e+00,  2.39885986e+00,\n",
            -       "        -6.50678946e+00, -7.56880421e+00, -5.30732847e+00,\n",
            -       "        -5.17096376e+00, -1.94421141e+00, -6.93298928e-01,\n",
            -       "        -1.52396072e+00, -5.60458995e-02,  4.94155671e+00,\n",
            -       "        -1.07948739e+00, -1.69029823e+00,  1.84554371e+00,\n",
            -       "         6.38458750e-01, -8.40430815e+00, -3.73774329e+00,\n",
            -       "         3.07278534e+00,  2.05623948e-01, -5.27314592e-01,\n",
            -       "         6.15851493e-01, -6.35782747e+00,  1.05558401e+00,\n",
            -       "        -4.61172554e-01,  2.74970370e+00, -1.11008096e+00,\n",
            -       "        -1.06719737e+00, -1.25335382e+00, -1.05161094e+01,\n",
            -       "        -2.79222678e+00, -2.61743694e+00,  1.06859928e+01,\n",
            -       "         4.17430844e+00, -8.61940068e+00,  6.62649786e+00,\n",
            -       "        -3.77297366e+00, -4.79928278e+00,  2.11312406e+00,\n",
            -       "         3.82841892e+00,  1.65150718e+01,  1.28827753e+00,\n",
            -       "         7.69045233e+00,  4.32595573e+00,  5.67468866e+00,\n",
            -       "        -4.26950865e+00,  1.42134184e+01, -3.02203250e+00,\n",
            -       "         7.88690400e+00,  4.70002602e+00,  1.22227407e+01,\n",
            -       "        -9.17601028e+00, -4.89870159e+00,  3.69229719e+00,\n",
            -       "        -7.05443646e+00,  3.16827030e+00,  5.92829164e+00,\n",
            -       "         6.32853189e-01, -4.97531523e+00,  5.35110233e+00,\n",
            -       "         4.84398026e+00, -1.30950889e+00,  3.10966847e+00,\n",
            -       "         5.19944573e+00, -4.09236633e+00, -1.51532902e+00,\n",
            -       "         2.07513611e+00,  1.17597066e+00, -1.32898956e+00,\n",
            -       "        -6.41614907e+00, -7.89735147e+00,  1.50822033e+00,\n",
            -       "         4.09212007e+00,  2.47951153e+00, -1.63800121e+00,\n",
            -       "        -1.86176988e+00, -2.52168837e+00, -6.64242059e+00,\n",
            -       "        -1.02397782e+01, -4.54425137e+00,  2.62436848e+00,\n",
            -       "         1.22193671e+00, -9.38962033e+00, -1.10203324e+00,\n",
            -       "        -7.05103435e+00, -4.46289833e+00,  5.25312798e+00,\n",
            -       "        -3.56515665e+00,  1.26120037e+00,  4.75885172e+00,\n",
            -       "        -2.50167965e+00,  3.80542944e+00,  3.01167210e+00,\n",
            -       "         2.70345411e+00,  5.73690638e+00, -4.54935671e+00,\n",
            -       "        -6.43236445e+00,  7.41097905e+00,  1.35900623e+00,\n",
            -       "         5.04012320e-01, -3.15086965e-01,  1.64858689e+00,\n",
            -       "        -2.06980294e+00, -8.59024295e+00, -4.97349172e-01,\n",
            -       "        -1.80382620e+00,  1.17371261e+01,  2.15827083e+00,\n",
            -       "         2.22745215e+00, -1.20855349e+00, -2.44807351e+00,\n",
            -       "        -9.87085690e+00, -1.34467216e+00, -5.81848641e+00,\n",
            -       "         3.96936369e+00,  6.03001020e+00,  2.48189062e+00,\n",
            -       "        -3.39454396e+00,  8.02506367e+00, -1.08853432e+01,\n",
            -       "        -5.95905160e+00,  5.62999973e+00, -1.33903618e+00,\n",
            -       "         2.43456328e-01,  7.46115585e+00,  7.25904503e+00,\n",
            -       "         5.91408176e+00, -8.78687142e+00, -6.51018263e+00,\n",
            -       "        -4.41948337e+00, -2.48947673e+00, -1.64088207e+00,\n",
            -       "         6.20255356e+00, -9.17992329e+00,  3.82492982e+00,\n",
            -       "         2.63842026e+00, -4.17331044e+00,  1.75196415e+00,\n",
            -       "        -5.04693689e+00,  1.35289027e+00,  7.57024645e+00,\n",
            -       "         7.42244523e-01, -8.30060584e+00, -4.41346052e+00,\n",
            -       "         2.16165760e+00, -5.26439002e+00, -6.91396918e+00,\n",
            -       "         5.37676522e-01,  4.51113679e+00, -8.02857560e-01,\n",
            -       "        -2.33763106e+00, -3.14059882e+00, -3.39669533e+00,\n",
            -       "         9.30930118e-01, -5.37274114e+00,  1.77406778e+00,\n",
            -       "         4.51427847e+00, -4.11358649e+00,  3.99759043e+00,\n",
            -       "         1.53790689e+00,  3.08286549e+00,  1.96950901e+00,\n",
            -       "        -2.33147685e+00,  8.35301298e+00,  3.64283230e+00,\n",
            -       "         3.93723672e+00, -1.55395905e+00, -4.08348595e+00,\n",
            -       "        -1.12488433e+00, -4.94433054e+00,  1.09220685e+00,\n",
            -       "        -2.96159007e+00, -3.82612120e+00,  5.71952703e+00,\n",
            -       "         2.96089980e+00,  6.57383263e+00,  3.43877847e+00,\n",
            -       "         3.23617754e+00, -3.26402642e-01, -1.83070903e+00,\n",
            -       "         2.65271223e+00,  4.20683702e+00,  6.46751652e+00,\n",
            -       "         3.60872783e-01, -8.27036082e+00, -9.63407531e+00,\n",
            -       "         3.26333096e-01,  2.43822818e+00, -7.43272899e+00,\n",
            -       "        -2.69406922e+00,  3.71935806e+00, -5.18549573e+00,\n",
            -       "        -4.51118195e+00, -2.09199225e+00,  5.78108487e+00,\n",
            -       "        -5.89811771e+00,  3.49169444e+00, -5.05185406e+00,\n",
            -       "        -1.20226878e+00,  6.53307013e+00,  4.81768620e+00,\n",
            -       "         4.17257863e+00, -3.86026668e+00,  5.58392228e+00,\n",
            -       "        -4.41510369e+00,  5.57459816e-01,  2.72842246e+00,\n",
            -       "        -7.78855364e+00,  5.68483356e+00,  3.29852882e+00,\n",
            -       "         9.55117660e+00, -6.27973606e+00,  1.78814651e+00,\n",
            -       "         1.39547434e+00,  7.55131835e-01,  3.65522852e-01,\n",
            -       "         4.38405961e+00, -1.68567975e+00, -8.80176186e+00,\n",
            -       "        -5.19047572e+00,  4.07829465e+00,  4.29162615e+00,\n",
            -       "        -1.20809055e+00, -2.34765354e+00, -6.46386071e+00,\n",
            -       "        -6.03662219e-01, -4.66821357e+00, -1.43937731e-01,\n",
            -       "         1.09606189e+00,  6.30828939e+00, -1.30803069e+00,\n",
            -       "        -3.03474141e+00,  3.35965967e-01, -6.33265044e+00,\n",
            -       "         3.28254564e+00,  1.37978799e+00, -2.48652438e+00,\n",
            -       "        -1.84211152e+00, -8.65571630e+00, -2.90481357e+00,\n",
            -       "        -5.34261854e+00,  1.34312306e+00, -2.08973719e+00,\n",
            -       "         6.18252186e+00,  4.09215122e+00, -1.48227522e+00,\n",
            -       "        -9.72847583e+00, -1.06198133e+00,  8.99839205e-01,\n",
            -       "        -9.42087378e-01, -1.78560508e+00, -4.11869577e+00,\n",
            -       "        -1.94607602e+00, -6.34726065e+00,  5.24379982e+00,\n",
            -       "        -2.23697781e+00,  3.40115386e-01,  3.73908939e+00,\n",
            -       "         4.53282894e+00, -2.28989784e+00, -6.71804450e+00,\n",
            -       "        -4.63620303e-01,  1.13621798e+01, -6.37943935e+00,\n",
            -       "        -2.25709706e+00,  1.65004215e+00,  4.45505702e-01,\n",
            -       "        -4.29752873e+00,  3.41480439e+00, -4.48702607e+00,\n",
            -       "         5.83413204e+00,  9.06419203e+00, -2.52112835e+00,\n",
            -       "         5.00974231e+00, -7.78393797e-01,  3.36146623e+00,\n",
            -       "         4.83698962e+00, -1.05169071e+00,  3.66616293e+00,\n",
            -       "        -1.67252497e+00, -3.62323547e+00,  7.80121165e+00,\n",
            -       "        -3.08831078e+00, -5.43366444e+00, -3.69190337e+00,\n",
            -       "         3.04940823e+00,  4.94988152e-01, -1.56235549e+00,\n",
            -       "        -1.31380093e+01, -2.68698571e-01, -7.08968310e+00,\n",
            -       "         7.25984399e+00, -7.94048679e+00, -9.01143028e+00,\n",
            -       "         2.15010800e+00, -1.39225759e+01, -1.92367776e+00,\n",
            -       "        -1.05580966e+01, -5.65026775e-01,  5.79205213e+00,\n",
            -       "        -1.55147165e+00, -6.97345557e+00,  3.81667571e+00,\n",
            -       "        -1.17125097e+00, -8.23705763e+00,  2.03794735e+00,\n",
            -       "        -1.28032492e+00, -1.10053320e+01,  6.43417469e+00,\n",
            -       "        -3.93257893e+00,  5.37706754e-01,  2.38022617e+00,\n",
            -       "         6.33201935e-01,  6.87942708e+00, -4.85099290e+00,\n",
            -       "         3.03039778e+00,  4.28465279e+00, -3.74243269e+00,\n",
            -       "         5.41243454e+00,  4.19264965e+00,  3.94209299e+00,\n",
            -       "         4.19019105e-01,  9.03729243e-01, -8.47680165e-01,\n",
            -       "         5.44887897e+00, -6.64587581e+00,  2.24505549e+00,\n",
            -       "        -1.62886915e+00,  6.52696615e+00,  4.65538080e+00,\n",
            -       "         2.16153384e+00,  8.01812241e+00,  8.87701558e+00,\n",
            -       "        -8.82977615e-01,  7.44374430e+00, -7.26633089e-01,\n",
            -       "         5.07979280e+00, -7.77941048e+00,  5.93222518e+00,\n",
            -       "        -1.22668195e+01,  1.15109144e+00, -1.05951734e+01,\n",
            -       "         1.09823498e+00,  8.38289171e+00, -5.66352195e+00,\n",
            -       "         9.02288722e+00,  6.64762146e+00, -3.59210701e+00,\n",
            -       "         5.01362305e+00, -2.18552082e+00,  8.10170049e+00,\n",
            -       "         3.35098197e+00, -3.67603554e+00,  9.50009626e-01,\n",
            -       "        -2.69213521e+00,  5.97375478e+00,  9.19377263e+00,\n",
            -       "         4.00684514e+00, -5.14242881e+00, -5.04404481e+00,\n",
            -       "         6.80877591e+00,  2.08913991e+00, -3.28593673e+00,\n",
            -       "         6.94325245e+00, -2.76457961e+00, -1.44369907e-01,\n",
            -       "        -3.11771191e+00,  2.59296320e+00, -1.89779512e+00,\n",
            -       "        -3.00382367e+00, -1.49473069e+00, -6.88520684e+00,\n",
            -       "         5.65785904e+00, -4.92529741e-01,  4.68942995e+00,\n",
            -       "        -1.52910780e+01, -7.20569740e+00]])
          • theta
            (chain, draw, school)
            float64
            -9.888 -1.89 2.237 ... 13.34 -21.99
            array([[[ -9.88782452,  -1.89045271,   2.23745711, ...,   3.05783633,\n",
            -       "           4.50876933, -12.02277258],\n",
            -       "        [ 12.52324972,  -0.10257462,  17.90235743, ...,  -6.03914366,\n",
            -       "           5.39459901,   7.07427163],\n",
            -       "        [  3.22949408,   4.20144679,   3.28459753, ...,   3.70696941,\n",
            -       "           3.39716626,   4.14062422],\n",
            -       "        ...,\n",
            -       "        [  2.88020715,   6.85078948,  10.60362223, ...,  -5.47622351,\n",
            -       "           2.56413578,  -9.94645561],\n",
            -       "        [ 10.70735593, -35.010802  , -49.8329035 , ..., -20.31738401,\n",
            -       "         -42.62663544,  -8.45896299],\n",
            -       "        [-55.3145697 , -16.82455975,  -1.67088179, ...,  18.1635401 ,\n",
            -       "          13.33866153, -21.98739496]]])
          • theta_tilde
            (chain, draw, school)
            float64
            -1.76 -0.3073 ... 1.023 -0.736
            array([[[-1.75960441, -0.30734889,  0.44224485, ...,  0.59121882,\n",
            -       "          0.85469606, -2.14729303],\n",
            -       "        [ 1.10830795, -0.43425049,  1.76549973, ..., -1.15955004,\n",
            -       "          0.23736598,  0.44257976],\n",
            -       "        [-1.0836513 ,  1.31291559, -0.94778141, ...,  0.09367097,\n",
            -       "         -0.67021802,  1.16294391],\n",
            -       "        ...,\n",
            -       "        [-0.20016305,  0.23912163,  0.65431562, ..., -1.12467528,\n",
            -       "         -0.23513155, -1.61923862],\n",
            -       "        [ 1.06931022, -0.81106818, -1.42069815, ..., -0.20673093,\n",
            -       "         -1.12430583,  0.28100348],\n",
            -       "        [-2.39544427, -0.47894385,  0.27559038, ...,  1.26318892,\n",
            -       "          1.02294784, -0.73601253]]])
        • created_at :
          2020-06-10T18:19:23.480401
          arviz_version :
          0.8.3
          inference_library :
          pymc3
          inference_library_version :
          3.8

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 1
          • draw: 500
          • obs_dim_0: 8
          • chain
            (chain)
            int64
            0
            array([0])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • obs_dim_0
            (obs_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • obs
            (chain, draw, obs_dim_0)
            float64
            -25.31 -0.8959 ... 3.422 -20.64
            array([[[-25.31078195,  -0.89588955,  22.6413552 , ...,  24.13451408,\n",
            -       "          16.67999654, -30.23034528],\n",
            -       "        [  4.86375172,  11.18885402,  22.53588377, ..., -13.80804677,\n",
            -       "          -5.73731196,  -4.12169577],\n",
            -       "        [ -1.79113884,   2.53093031,  15.8191744 , ...,   7.61230557,\n",
            -       "          -4.66752285,  23.29882677],\n",
            -       "        ...,\n",
            -       "        [ 28.47079674,  -2.79239653,  14.3904422 , ..., -12.63998944,\n",
            -       "          20.70652864,  -3.05241501],\n",
            -       "        [ 46.65347282, -46.95008753, -41.11688486, ..., -19.96545045,\n",
            -       "         -34.31368027,  -7.26684645],\n",
            -       "        [-45.06736361,  -5.81423829,   1.34788684, ...,  19.91178202,\n",
            -       "           3.42152391, -20.64388589]]])
        • created_at :
          2020-06-10T18:19:23.484023
          arviz_version :
          0.8.3
          inference_library :
          pymc3
          inference_library_version :
          3.8

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • obs_dim_0: 8
          • obs_dim_0
            (obs_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • obs
            (obs_dim_0)
            float64
            28.0 8.0 -3.0 7.0 ... 1.0 18.0 12.0
            array([28.,  8., -3.,  7., -1.,  1., 18., 12.])
        • created_at :
          2020-06-10T18:19:23.485040
          arviz_version :
          0.8.3
          inference_library :
          pymc3
          inference_library_version :
          3.8

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "with pm.Model() as model:\n", - " mu = pm.Normal(\"mu\", mu=0, sigma=5)\n", - " tau = pm.HalfCauchy(\"tau\", beta=5)\n", - " theta_tilde = pm.Normal(\"theta_tilde\", mu=0, sigma=1, shape=eight_school_data[\"J\"])\n", - " \n", - " theta = pm.Deterministic(\"theta\", mu + tau * theta_tilde)\n", - " \n", - " pm.Normal(\"obs\", mu=theta, sigma=eight_school_data[\"sigma\"], observed=eight_school_data[\"y\"])\n", - "\n", - " idata = pm.sample(draws=draws, chains=chains)\n", - " idata.extend(pm.sample_prior_predictive())\n", - " idata.extend(pm.sample_posterior_predictive(idata))\n", - "\n", - "idata" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From PyStan" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:47:57.347055Z", - "start_time": "2020-06-05T06:47:16.997392Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO:pystan:COMPILING THE C++ CODE FOR MODEL anon_model_9d743830ec4a29fb58eb4660d4b9417f NOW.\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • mu
            (chain, draw)
            float64
            8.801 4.356 5.887 ... 5.811 6.163
            array([[ 8.80085977,  4.35621311,  5.88747459, ...,  7.56510323,\n",
            -       "         3.75692215,  4.24241574],\n",
            -       "       [ 3.88430209,  1.25503637,  8.12161043, ...,  0.77999781,\n",
            -       "         8.88447765,  2.55867698],\n",
            -       "       [ 3.69774758,  5.56187344,  7.18886091, ...,  2.35104484,\n",
            -       "         7.36896537,  7.30112058],\n",
            -       "       [ 4.56370867, -1.9814485 ,  8.93919361, ..., -0.45859494,\n",
            -       "         5.81131473,  6.16295074]])
          • tau
            (chain, draw)
            float64
            1.079 2.76 3.322 ... 3.54 0.5714
            array([[1.07873807, 2.75983947, 3.32167212, ..., 4.65835454, 5.67923053,\n",
            -       "        1.15391559],\n",
            -       "       [0.68602682, 1.9898873 , 1.71348775, ..., 6.32124664, 6.49443423,\n",
            -       "        7.88054963],\n",
            -       "       [6.09793056, 2.08870225, 3.01847687, ..., 0.19977493, 2.0959731 ,\n",
            -       "        2.08265721],\n",
            -       "       [4.80268382, 8.63940768, 7.49279334, ..., 4.94150802, 3.54035862,\n",
            -       "        0.57140337]])
          • theta_tilde
            (chain, draw, school)
            float64
            0.7707 3.4 ... 0.9492 -0.1983
            array([[[ 0.77065058,  3.3999605 ,  0.896277  , ...,  0.85548385,\n",
            -       "          0.56312311, -0.02336804],\n",
            -       "        [-0.23856364,  1.88839417,  0.11615247, ...,  0.20239506,\n",
            -       "         -0.65088377, -0.59082016],\n",
            -       "        [-0.44993014,  0.3660292 , -0.85342255, ..., -0.05060912,\n",
            -       "          1.89747793, -0.29915642],\n",
            -       "        ...,\n",
            -       "        [-1.53738528,  0.34600749,  0.66613118, ..., -0.31358001,\n",
            -       "         -0.13278535, -0.13050197],\n",
            -       "        [ 0.10392075,  1.2781256 ,  0.17946725, ...,  0.73474013,\n",
            -       "          1.59901667, -0.22310606],\n",
            -       "        [ 0.40039   , -0.36919646, -0.41812356, ..., -0.82578604,\n",
            -       "         -0.95433683, -0.70055211]],\n",
            -       "\n",
            -       "       [[ 0.28550956, -1.75918566,  1.08585615, ..., -0.17260057,\n",
            -       "         -0.31717858, -0.15889076],\n",
            -       "        [ 1.12616284,  2.12250411, -1.22377048, ..., -0.50452776,\n",
            -       "          1.09665063,  0.62770833],\n",
            -       "        [-0.82113198,  0.60950151,  0.12629451, ...,  1.18250354,\n",
            -       "          1.03982808,  0.4350411 ],\n",
            -       "        ...,\n",
            -       "        [-0.14425363,  0.18750333,  2.30758557, ...,  0.19605514,\n",
            -       "          0.04511098,  1.31371653],\n",
            -       "        [ 0.70622565,  0.07230275, -1.80811131, ..., -0.30374127,\n",
            -       "          0.73420799, -0.89225914],\n",
            -       "        [ 1.13667967, -0.62298503,  0.70894404, ...,  0.93673866,\n",
            -       "          0.83697246,  1.22364797]],\n",
            -       "\n",
            -       "       [[ 1.71586288,  0.2645208 ,  1.38154111, ...,  1.34611706,\n",
            -       "          0.67924247,  0.6426671 ],\n",
            -       "        [-0.63375751, -0.25986361, -1.85613258, ..., -1.1958948 ,\n",
            -       "          0.65731631, -0.33917202],\n",
            -       "        [-0.25273764, -0.31382369, -0.34433588, ...,  1.56951567,\n",
            -       "         -0.42550589,  0.13231013],\n",
            -       "        ...,\n",
            -       "        [-1.3109662 ,  1.0167199 ,  0.29096078, ...,  1.2091756 ,\n",
            -       "         -0.35967787,  0.28249554],\n",
            -       "        [ 2.40744126, -0.73846363, -0.98632421, ..., -0.79229741,\n",
            -       "          2.01420262,  1.00171644],\n",
            -       "        [ 2.25146098,  0.08915173, -0.37030215, ..., -0.75901238,\n",
            -       "          0.46540678,  0.5400871 ]],\n",
            -       "\n",
            -       "       [[ 0.43838309,  0.06907241,  0.44621424, ..., -0.26691355,\n",
            -       "          1.45697414,  0.66782308],\n",
            -       "        [ 1.38057301,  0.71432475, -0.92534916, ...,  0.23614769,\n",
            -       "          0.48711266,  1.27270678],\n",
            -       "        [ 0.38952426, -0.18324781,  0.28926883, ..., -0.11207212,\n",
            -       "          1.06242534, -1.2021079 ],\n",
            -       "        ...,\n",
            -       "        [-0.57243771,  1.20324745, -2.03671137, ..., -0.31232212,\n",
            -       "          0.68695275,  0.59062609],\n",
            -       "        [ 0.83778081, -0.58047982,  1.78149714, ..., -0.62379571,\n",
            -       "          1.44340525, -0.0475484 ],\n",
            -       "        [ 1.5197586 , -0.90722855,  1.74266398, ..., -1.08440477,\n",
            -       "          0.94915432, -0.19832845]]])
          • theta
            (chain, draw, school)
            float64
            9.632 12.47 9.768 ... 6.705 6.05
            array([[[  9.6321899 ,  12.4685266 ,   9.7677079 , ...,   9.72370277,\n",
            -       "           9.40832211,   8.77565177],\n",
            -       "        [  3.69781575,   9.56787788,   4.67677528, ...,   4.91479099,\n",
            -       "           2.55987838,   2.72564431],\n",
            -       "        [  4.39295419,   7.10330357,   3.05268471, ...,   5.71936768,\n",
            -       "          12.19027412,   4.89377505],\n",
            -       "        ...,\n",
            -       "        [  0.40341755,   9.17692878,  10.66817842, ...,   6.10433636,\n",
            -       "           6.94654197,   6.9571788 ],\n",
            -       "        [  4.34711206,  11.01569209,   4.77615802, ...,   7.92968074,\n",
            -       "          12.83810642,   2.4898514 ],\n",
            -       "        [  4.704432  ,   3.81639419,   3.75993645, ...,   3.28952836,\n",
            -       "           3.1411916 ,   3.43403774]],\n",
            -       "\n",
            -       "       [[  4.08016931,   2.67745355,   4.62922853, ...,   3.76589348,\n",
            -       "           3.66670908,   3.77529877],\n",
            -       "        [  3.4959735 ,   5.47858035,  -1.18012896, ...,   0.251083  ,\n",
            -       "           3.43724753,   2.5041052 ],\n",
            -       "        [  6.71461084,   9.16598381,   8.33801454, ...,  10.14781577,\n",
            -       "           9.90334312,   8.86704803],\n",
            -       "        ...,\n",
            -       "        [ -0.13186495,   1.96525264,  15.36681533, ...,   2.01931073,\n",
            -       "           1.06515544,   9.08432401],\n",
            -       "        [ 13.47101369,   9.3540431 ,  -2.85818235, ...,   6.91184994,\n",
            -       "          13.65274315,   3.08975938],\n",
            -       "        [ 11.51633751,  -2.35078743,   8.14554566, ...,   9.94069244,\n",
            -       "           9.15448   ,  12.20169557]],\n",
            -       "\n",
            -       "       [[ 14.16096028,   5.31077703,  12.12228932, ...,  11.90627594,\n",
            -       "           7.83972096,   7.61668693],\n",
            -       "        [  4.23814271,   5.01909573,   1.68496516, ...,   3.06400529,\n",
            -       "           6.9348115 ,   4.85344408],\n",
            -       "        [  6.42597819,   6.24159135,   6.14949101, ...,  11.92640765,\n",
            -       "           5.90448123,   7.58823597],\n",
            -       "        ...,\n",
            -       "        [  2.08914666,   2.55415999,   2.40917151, ...,   2.59260781,\n",
            -       "           2.27919022,   2.40748037],\n",
            -       "        [ 12.41489748,   5.82116547,   5.30165636, ...,   5.70833131,\n",
            -       "          11.59067987,   9.46853607],\n",
            -       "        [ 11.99014202,   7.48679308,   6.52990814, ...,   5.72035797,\n",
            -       "           8.27040336,   8.42593687]],\n",
            -       "\n",
            -       "       [[  6.66912406,   4.8954416 ,   6.70673459, ...,   3.28180729,\n",
            -       "          11.56109482,   7.77105178],\n",
            -       "        [  9.94588456,   4.18989425,  -9.97591714, ...,   0.05872764,\n",
            -       "           2.22691637,   9.01398426],\n",
            -       "        [ 11.85781836,   7.5661556 ,  11.10662516, ...,   8.0994604 ,\n",
            -       "          16.89972711,  -0.06795243],\n",
            -       "        ...,\n",
            -       "        [ -3.28730045,   5.48726201, -10.52302049, ...,  -2.0019372 ,\n",
            -       "           2.93598756,   2.45998863],\n",
            -       "        [  8.77735924,   3.75620799,  12.11845349, ...,   3.6028542 ,\n",
            -       "          10.92148696,   5.64297636],\n",
            -       "        [  7.03134593,   5.64455729,   7.15871482, ...,   5.5433182 ,\n",
            -       "           6.70530072,   6.0496252 ]]])
        • created_at :
          2020-06-10T18:20:55.257774
          arviz_version :
          0.8.3
          inference_library :
          pystan
          inference_library_version :
          2.19.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y_hat
            (chain, draw, school)
            float64
            16.82 11.42 17.62 ... -11.89 1.282
            array([[[ 16.81606234,  11.42314561,  17.62390159, ...,   9.79825611,\n",
            -       "          17.93449592,  20.74301303],\n",
            -       "        [ -2.87371409,   3.26558897,  23.16168449, ...,   5.60727737,\n",
            -       "           9.07428464,  -0.29335618],\n",
            -       "        [ 29.69759628,  27.78756772,  15.23144444, ...,  11.23869389,\n",
            -       "          19.64442795,  16.32327954],\n",
            -       "        ...,\n",
            -       "        [  0.22658945,  14.21873048,  41.77431262, ...,  27.79849965,\n",
            -       "           8.97700113, -10.97758778],\n",
            -       "        [-25.71679369,   7.54290441,  22.1185727 , ...,  -1.9379867 ,\n",
            -       "          24.08319264,  11.10296328],\n",
            -       "        [ 29.8534142 ,  19.97743567,  -2.22962611, ...,  -1.57819509,\n",
            -       "           2.04335776,  -4.69118197]],\n",
            -       "\n",
            -       "       [[ 19.34365445,  -4.00444521, -16.23523472, ...,  13.94222586,\n",
            -       "           8.86119588,  -2.0744115 ],\n",
            -       "        [  4.70865213,  23.04754692,  21.70862296, ...,   0.26881933,\n",
            -       "           8.3109079 , -24.0917072 ],\n",
            -       "        [  8.61267321,   5.41437255, -12.84437828, ...,  30.43257723,\n",
            -       "           1.84297616,   8.86262284],\n",
            -       "        ...,\n",
            -       "        [  3.59843013,   6.09765236,  25.76124843, ..., -10.2115549 ,\n",
            -       "          25.59755363,  22.36298176],\n",
            -       "        [ -5.29619527,  -2.95926353, -29.68418582, ..., -15.42170733,\n",
            -       "          16.63492822,  24.59769265],\n",
            -       "        [ 19.98940386,   3.80606888,  42.7843385 , ...,  34.96627185,\n",
            -       "          14.25740899,  -1.3367825 ]],\n",
            -       "\n",
            -       "       [[  2.14679791,   8.14117178,  21.25441028, ...,  11.52465386,\n",
            -       "           5.80097177, -10.65373129],\n",
            -       "        [ -8.44034177,   7.0589406 , -18.60138882, ...,   8.82950324,\n",
            -       "           8.08712236,  -6.39852626],\n",
            -       "        [ 32.71773469,   8.39087771,  15.51443141, ...,  14.32087597,\n",
            -       "          -1.38048653,   1.96559162],\n",
            -       "        ...,\n",
            -       "        [ -1.62917408,   1.07111862,   8.02957128, ...,   8.58210981,\n",
            -       "         -12.75033047,   9.07205784],\n",
            -       "        [  6.81102221,   1.40270907,  47.46417874, ...,  -1.49189963,\n",
            -       "          23.77214897, -32.30678056],\n",
            -       "        [ -3.58688927,  -9.19334261,   3.48471769, ...,  22.20224365,\n",
            -       "          22.04574534,   9.43498321]],\n",
            -       "\n",
            -       "       [[ 10.88989427,   9.67031316, -19.15138861, ...,   3.89717316,\n",
            -       "           5.08967642,  -3.21365656],\n",
            -       "        [ 16.35385465,  23.58801269, -21.75232011, ...,   1.94421295,\n",
            -       "           0.10598705,  -6.81390168],\n",
            -       "        [ 16.65187106,   5.47807306,  16.66239838, ..., -10.24095255,\n",
            -       "           7.67808457,  23.32038006],\n",
            -       "        ...,\n",
            -       "        [ -5.39983067,   2.9583006 ,   8.89615588, ..., -13.19594644,\n",
            -       "           8.22006103, -10.21126023],\n",
            -       "        [ 11.9101745 ,   6.81738971,  33.3703771 , ...,  -3.27619529,\n",
            -       "          24.69391859, -16.79777889],\n",
            -       "        [  9.5301372 ,  21.03087493,  15.88465758, ...,   1.06856218,\n",
            -       "         -11.8929359 ,   1.28188204]]])
        • created_at :
          2020-06-10T18:20:55.276063
          arviz_version :
          0.8.3
          inference_library :
          pystan
          inference_library_version :
          2.19.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (chain, draw, school)
            float64
            -4.377 -3.321 ... -3.859 -3.864
            array([[[-4.37671417, -3.32136228, -4.00991469, ..., -3.63130897,\n",
            -       "         -3.59060827, -3.82535415],\n",
            -       "        [-4.93942464, -3.23381483, -3.80663053, ..., -3.38016268,\n",
            -       "         -4.4135104 , -3.94204744],\n",
            -       "        [-4.86541676, -3.22554395, -3.76307997, ..., -3.40886865,\n",
            -       "         -3.3902882 , -3.88723997],\n",
            -       "        ...,\n",
            -       "        [-5.31936954, -3.22844943, -4.05640831, ..., -3.42449599,\n",
            -       "         -3.8324183 , -3.84855419],\n",
            -       "        [-4.8702312 , -3.26699562, -3.80963006, ..., -3.51526552,\n",
            -       "         -3.35474935, -3.94888271],\n",
            -       "        [-4.83295204, -3.30903641, -3.7807787 , ..., -3.33849472,\n",
            -       "         -4.32544456, -3.92254441]],\n",
            -       "\n",
            -       "       [[-4.89845162, -3.36317113, -3.80520915, ..., -3.34844607,\n",
            -       "         -4.24873977, -3.91370182],\n",
            -       "        [-4.9613161 , -3.25331141, -3.69799587, ..., -3.31915148,\n",
            -       "         -4.28189242, -3.94846464],\n",
            -       "        [-4.63380605, -3.22832122, -3.94260259, ..., -3.6626294 ,\n",
            -       "         -3.54930289, -3.82445749],\n",
            -       "        ...,\n",
            -       "        [-5.38565946, -3.4036145 , -4.35039426, ..., -3.32112717,\n",
            -       "         -4.65546843, -3.82242938],\n",
            -       "        [-4.09608083, -3.23069079, -3.69156654, ..., -3.46125517,\n",
            -       "         -3.31601684, -3.93182941],\n",
            -       "        [-4.23079124, -3.75721763, -3.93415067, ..., -3.64714778,\n",
            -       "         -3.61273975, -3.80937307]],\n",
            -       "\n",
            -       "       [[-4.05258656, -3.25768323, -4.13817498, ..., -3.80834974,\n",
            -       "         -3.73767998, -3.83896065],\n",
            -       "        [-4.88171287, -3.26595258, -3.7343962 , ..., -3.3344376 ,\n",
            -       "         -3.83371561, -3.88812705],\n",
            -       "        [-4.66129633, -3.23698363, -3.85502957, ..., -3.81016597,\n",
            -       "         -3.9530315 , -3.83934681],\n",
            -       "        ...,\n",
            -       "        [-5.11892722, -3.36980949, -3.74867401, ..., -3.3273148 ,\n",
            -       "         -4.45724293, -3.95131096],\n",
            -       "        [-4.16675634, -3.24526023, -3.82613174, ..., -3.4084387 ,\n",
            -       "         -3.42692055, -3.81919966],\n",
            -       "        [-4.19657885, -3.22284053, -3.86890841, ..., -3.40890727,\n",
            -       "         -3.69484888, -3.82902314]],\n",
            -       "\n",
            -       "       [[-4.63811378, -3.26971504, -3.87555205, ..., -3.33834887,\n",
            -       "         -3.42882113, -3.83690906],\n",
            -       "        [-4.35132448, -3.29410816, -3.786573  , ..., -3.32049494,\n",
            -       "         -4.46547446, -3.82307   ],\n",
            -       "        [-4.20603324, -3.22246473, -4.08019302, ..., -3.52510793,\n",
            -       "         -3.22757663, -4.0340564 ],\n",
            -       "        ...,\n",
            -       "        [-5.80231133, -3.25309289, -3.802066  , ..., -3.35407193,\n",
            -       "         -4.35614598, -3.94976063],\n",
            -       "        [-4.44812188, -3.31157248, -4.13794842, ..., -3.34482905,\n",
            -       "         -3.47205036, -3.8716741 ],\n",
            -       "        [-4.6040653 , -3.24926418, -3.89308875, ..., -3.40213025,\n",
            -       "         -3.85937479, -3.86395066]]])
        • created_at :
          2020-06-10T18:20:55.272917
          arviz_version :
          0.8.3
          inference_library :
          pystan
          inference_library_version :
          2.19.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • accept_stat
            (chain, draw)
            float64
            0.9638 1.0 0.9984 ... 0.9816 0.623
            array([[0.9638465 , 1.        , 0.9984371 , ..., 0.98147504, 0.97345614,\n",
            -       "        0.98142691],\n",
            -       "       [0.95030784, 0.99451523, 0.99024004, ..., 0.89369662, 0.9823775 ,\n",
            -       "        0.9890991 ],\n",
            -       "       [0.97217182, 0.99864817, 0.94355364, ..., 0.82019929, 0.97292829,\n",
            -       "        1.        ],\n",
            -       "       [0.95704787, 0.97648727, 0.99909458, ..., 0.998659  , 0.9815929 ,\n",
            -       "        0.6229969 ]])
          • stepsize
            (chain, draw)
            float64
            0.2764 0.2764 ... 0.2731 0.2731
            array([[0.27638304, 0.27638304, 0.27638304, ..., 0.27638304, 0.27638304,\n",
            -       "        0.27638304],\n",
            -       "       [0.30603051, 0.30603051, 0.30603051, ..., 0.30603051, 0.30603051,\n",
            -       "        0.30603051],\n",
            -       "       [0.40097617, 0.40097617, 0.40097617, ..., 0.40097617, 0.40097617,\n",
            -       "        0.40097617],\n",
            -       "       [0.27312733, 0.27312733, 0.27312733, ..., 0.27312733, 0.27312733,\n",
            -       "        0.27312733]])
          • treedepth
            (chain, draw)
            int64
            4 4 4 4 4 4 4 4 ... 3 4 4 4 4 4 4 4
            array([[4, 4, 4, ..., 4, 4, 4],\n",
            -       "       [4, 4, 4, ..., 4, 4, 4],\n",
            -       "       [3, 4, 3, ..., 3, 4, 3],\n",
            -       "       [4, 4, 4, ..., 4, 4, 4]])
          • n_leapfrog
            (chain, draw)
            int64
            15 15 15 15 15 ... 15 15 15 15 15
            array([[15, 15, 15, ..., 15, 15, 15],\n",
            -       "       [15, 15, 15, ..., 15, 15, 15],\n",
            -       "       [ 7, 23,  7, ...,  7, 15,  7],\n",
            -       "       [15, 15, 15, ..., 15, 15, 15]])
          • diverging
            (chain, draw)
            bool
            False False False ... False False
            array([[False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False]])
          • energy
            (chain, draw)
            float64
            19.65 17.08 13.29 ... 12.37 14.72
            array([[19.6501434 , 17.07881195, 13.29070373, ...,  8.93538194,\n",
            -       "        12.29961118,  7.19678138],\n",
            -       "       [ 8.84426238,  9.84895256, 14.77525803, ..., 12.35370489,\n",
            -       "         9.67205678,  7.66728697],\n",
            -       "       [11.52204836,  9.48080195, 11.1699379 , ..., 18.41838234,\n",
            -       "        14.78772817, 11.62941587],\n",
            -       "       [ 7.71092746,  9.24555017,  6.98821981, ..., 10.58081723,\n",
            -       "        12.37474199, 14.71998465]])
          • lp
            (chain, draw)
            float64
            -12.88 -8.832 ... -5.587 -9.343
            array([[-12.88137893,  -8.8319153 ,  -6.48855593, ...,  -5.43677471,\n",
            -       "         -4.0330844 ,  -4.6496315 ],\n",
            -       "       [ -5.97351824,  -6.9490221 ,  -6.14793864, ...,  -6.89176892,\n",
            -       "         -4.88146623,  -4.37360644],\n",
            -       "       [ -6.16694264,  -5.66030842,  -4.64701238, ...,  -8.85576565,\n",
            -       "         -9.41927215,  -6.90323691],\n",
            -       "       [ -3.13060803,  -4.68668125,  -3.99299316, ...,  -6.48974414,\n",
            -       "         -5.58723251,  -9.34270347]])
        • created_at :
          2020-06-10T18:20:55.267462
          arviz_version :
          0.8.3
          inference_library :
          pystan
          inference_library_version :
          2.19.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • school: 8
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (school)
            float64
            28.0 8.0 -3.0 7.0 ... 1.0 18.0 12.0
            array([28.,  8., -3.,  7., -1.,  1., 18., 12.])
        • created_at :
          2020-06-10T18:20:55.238703
          arviz_version :
          0.8.3
          inference_library :
          pystan
          inference_library_version :
          2.19.1.1

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> observed_data" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pystan\n", - "\n", - "schools_code = \"\"\"\n", - "data {\n", - " int J;\n", - " real y[J];\n", - " real sigma[J];\n", - "}\n", - "\n", - "parameters {\n", - " real mu;\n", - " real tau;\n", - " real theta_tilde[J];\n", - "}\n", - "\n", - "transformed parameters {\n", - " real theta[J];\n", - " for (j in 1:J)\n", - " theta[j] = mu + tau * theta_tilde[j];\n", - "}\n", - "\n", - "model {\n", - " mu ~ normal(0, 5);\n", - " tau ~ cauchy(0, 5);\n", - " theta_tilde ~ normal(0, 1);\n", - " y ~ normal(theta, sigma);\n", - "}\n", - "\n", - "generated quantities {\n", - " vector[J] log_lik;\n", - " vector[J] y_hat;\n", - " for (j in 1:J) {\n", - " log_lik[j] = normal_lpdf(y[j] | theta[j], sigma[j]);\n", - " y_hat[j] = normal_rng(theta[j], sigma[j]);\n", - " }\n", - "}\n", - "\"\"\"\n", - "\n", - "eight_school_data = {\n", - " \"J\": 8,\n", - " \"y\": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]),\n", - " \"sigma\": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]),\n", - "}\n", - "\n", - "stan_model = pystan.StanModel(model_code=schools_code)\n", - "fit = stan_model.sampling(data=eight_school_data, control={\"adapt_delta\": 0.9})\n", - "\n", - "stan_data = az.from_pystan(\n", - " posterior=fit,\n", - " posterior_predictive=\"y_hat\",\n", - " observed_data=[\"y\"],\n", - " log_likelihood={\"y\": \"log_lik\"},\n", - " coords={\"school\": np.arange(eight_school_data[\"J\"])},\n", - " dims={\n", - " \"theta\": [\"school\"],\n", - " \"y\": [\"school\"],\n", - " \"log_lik\": [\"school\"],\n", - " \"y_hat\": [\"school\"],\n", - " \"theta_tilde\": [\"school\"],\n", - " },\n", - ")\n", - "\n", - "stan_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From Pyro" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:09.602373Z", - "start_time": "2020-06-05T06:47:57.349110Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 2
          • draw: 500
          • theta_tilde_dim_0: 8
          • chain
            (chain)
            int64
            0 1
            array([0, 1])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • theta_tilde_dim_0
            (theta_tilde_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • mu
            (chain, draw)
            float32
            6.783849 3.0570068 ... 0.92949176
            array([[ 6.783849  ,  3.0570068 , -0.5898714 ,  7.692052  ,  5.978842  ,\n",
            -       "         7.083586  ,  6.0941653 ,  8.367151  ,  5.2405605 ,  2.639793  ,\n",
            -       "        10.008863  ,  6.0008774 ,  5.048078  ,  1.7424315 ,  2.6212542 ,\n",
            -       "         5.87026   ,  4.5748415 ,  1.0863168 ,  5.662515  ,  1.564056  ,\n",
            -       "         3.2569106 ,  2.1572587 ,  5.9424744 ,  1.2574946 ,  7.5349984 ,\n",
            -       "         3.0202703 ,  2.4996028 ,  3.3100448 ,  3.2369874 ,  5.179661  ,\n",
            -       "         1.4572364 , -0.03877497, -1.1503081 ,  1.7937964 ,  1.7937964 ,\n",
            -       "         6.6380773 ,  1.5952408 ,  7.8001666 ,  6.2870593 ,  3.2218194 ,\n",
            -       "         6.0440335 ,  3.8866324 ,  4.218601  ,  4.218601  ,  7.2325306 ,\n",
            -       "         7.5369225 , 12.167865  ,  7.2303514 ,  7.0910425 ,  2.2544699 ,\n",
            -       "        13.885392  ,  2.3582263 , -0.71636176,  4.0944424 ,  8.234982  ,\n",
            -       "         4.7547674 ,  7.5123987 ,  1.0010346 ,  1.463587  ,  5.0094767 ,\n",
            -       "         6.3490815 ,  4.3477235 ,  2.9339297 ,  5.3828955 ,  1.4211316 ,\n",
            -       "         3.9312172 ,  3.2402444 ,  6.4016495 ,  6.6994824 ,  3.5397    ,\n",
            -       "         4.8213353 ,  5.420148  ,  4.641708  ,  5.0392356 ,  3.5072942 ,\n",
            -       "         4.488197  ,  5.82481   ,  3.192687  ,  7.916957  ,  2.268492  ,\n",
            -       "         5.9801583 ,  6.9189725 , 12.165862  , -2.8586159 ,  9.570917  ,\n",
            -       "         7.068532  ,  2.0816557 ,  6.644463  , -1.9028682 , 10.164826  ,\n",
            -       "         2.5184588 , 11.621914  , -3.3529563 , 10.299711  ,  4.5834465 ,\n",
            -       "         4.585137  ,  7.91378   ,  2.8814616 ,  5.1396675 ,  4.668864  ,\n",
            -       "         3.4275546 ,  4.9457726 ,  3.6325824 ,  5.336408  ,  6.201971  ,\n",
            -       "         6.2212915 ,  0.6339596 ,  7.687422  , 12.570242  , 12.476558  ,\n",
            -       "        10.869892  ,  6.915905  ,  5.5935144 ,  6.058858  ,  1.7806189 ,\n",
            -       "         9.691803  ,  1.2325222 , 10.002609  ,  6.168408  ,  9.982995  ,\n",
            -       "        -0.51718354,  6.5104423 ,  2.9149487 ,  1.4453427 ,  4.3771286 ,\n",
            -       "         4.527439  ,  1.4286865 ,  3.5170612 ,  7.5207043 ,  6.6093435 ,\n",
            -       "         0.9016738 ,  8.855167  ,  4.44285   ,  6.2064247 , 11.12649   ,\n",
            -       "        10.901761  , 10.992046  ,  1.6697562 ,  9.535236  , -1.4199173 ,\n",
            -       "         0.04521966,  0.24071217,  1.0354244 ,  3.8727565 ,  6.546321  ,\n",
            -       "         7.4994783 ,  5.1963906 ,  2.2472491 , -1.4566408 ,  3.2481778 ,\n",
            -       "         1.5054731 ,  5.427044  ,  0.7663537 , 12.421476  , 13.937447  ,\n",
            -       "         9.55212   ,  8.892584  ,  4.5370684 ,  6.597247  ,  3.521164  ,\n",
            -       "         6.200644  , -0.6878598 , -0.5076442 , -1.1443609 , -2.024046  ,\n",
            -       "         7.497966  ,  3.9299464 ,  2.1074817 ,  7.6489606 , -0.5676765 ,\n",
            -       "         8.88996   ,  1.7325966 ,  3.6853108 ,  9.022504  ,  3.554699  ,\n",
            -       "         6.0461593 , 10.99902   , -4.534336  , -1.3497578 ,  3.4103231 ,\n",
            -       "         3.4103231 ,  5.511337  ,  1.5036378 ,  6.0223374 ,  5.0781465 ,\n",
            -       "         7.4995213 ,  2.2854679 ,  5.5526514 ,  4.916196  ,  2.576561  ,\n",
            -       "         5.576095  ,  4.371717  , 13.234244  , 13.360312  , -0.45095968,\n",
            -       "         2.989245  ,  0.6203029 ,  7.7407403 ,  9.276141  ,  4.255246  ,\n",
            -       "         6.0797963 ,  7.8773675 ,  2.5528507 ,  2.1499953 ,  6.2999554 ,\n",
            -       "         2.9320016 ,  5.145282  ,  4.0042167 ,  4.7150197 ,  2.9001827 ,\n",
            -       "         3.637968  ,  3.0349693 ,  3.6715143 ,  1.2648342 ,  2.0227237 ,\n",
            -       "         1.0630711 ,  5.546765  ,  3.8676581 ,  3.0002105 ,  2.6321206 ,\n",
            -       "         4.190834  ,  5.7021546 ,  5.8634467 ,  0.2976514 , -0.47097135,\n",
            -       "        -1.0752056 ,  4.7460985 , -0.6505427 ,  5.6235523 , -0.9203634 ,\n",
            -       "        -1.8839953 , 11.195079  , -2.0718043 , 11.193365  ,  6.1056333 ,\n",
            -       "         8.325111  ,  9.075426  ,  2.9479647 ,  7.128322  ,  4.3343573 ,\n",
            -       "         3.1772745 ,  5.592222  ,  7.5314674 , -3.0730538 ,  3.9833744 ,\n",
            -       "         9.110682  ,  4.5988865 ,  2.8390033 ,  3.4741888 ,  4.0355644 ,\n",
            -       "         3.4970965 ,  0.71459496,  7.2869844 ,  3.6135454 ,  9.620527  ,\n",
            -       "         1.0082316 ,  7.475091  ,  1.0405822 ,  4.5348783 ,  3.8841453 ,\n",
            -       "         4.7387238 ,  4.521943  ,  4.521943  ,  3.539055  ,  6.8544626 ,\n",
            -       "        11.370565  ,  4.756797  ,  4.6440043 ,  6.966434  ,  7.002037  ,\n",
            -       "         9.16461   ,  5.50093   ,  6.000969  ,  1.3224025 ,  6.746578  ,\n",
            -       "         3.1069808 ,  4.3904467 ,  5.1858315 , -0.6927078 ,  7.3248353 ,\n",
            -       "         0.03497177,  2.7320523 ,  4.0992765 ,  1.4401541 ,  3.696537  ,\n",
            -       "         6.4522524 ,  4.343199  , -1.7796711 ,  9.775927  ,  8.519873  ,\n",
            -       "         7.5724382 ,  2.1690316 ,  0.6314293 ,  2.6643667 ,  7.1365185 ,\n",
            -       "         8.02526   ,  0.5847881 ,  6.0416284 ,  1.4256818 ,  8.6619425 ,\n",
            -       "         2.8416598 ,  3.5279734 ,  5.7481217 ,  5.685895  ,  3.817007  ,\n",
            -       "         3.817007  ,  5.1601176 ,  4.495685  ,  2.047713  ,  2.5250795 ,\n",
            -       "         6.463599  ,  7.9371533 , -3.1092994 ,  1.6143876 ,  1.0753083 ,\n",
            -       "         8.186201  ,  5.4840565 ,  3.3782108 ,  6.6359487 ,  0.73560786,\n",
            -       "        -2.5476358 ,  2.1959705 ,  0.595925  , -0.6245699 ,  8.363325  ,\n",
            -       "         7.2956586 ,  1.3452858 ,  7.595389  ,  1.9837761 , -2.1932921 ,\n",
            -       "         5.130442  ,  3.8775177 ,  3.8775177 ,  3.9545794 ,  3.3309066 ,\n",
            -       "         4.0000944 ,  7.8284636 ,  9.910145  ,  0.29044223,  0.4511162 ,\n",
            -       "         4.23416   ,  6.625504  ,  6.7739162 ,  5.979492  ,  2.0962138 ,\n",
            -       "         7.1208596 ,  1.2915809 ,  2.0792012 ,  6.7928405 ,  4.659316  ,\n",
            -       "         3.5058026 ,  2.5944214 ,  7.936224  ,  7.7682953 ,  7.1779675 ,\n",
            -       "         6.921358  ,  0.8594191 , -0.21582747,  0.5738251 ,  2.7562642 ,\n",
            -       "         3.674602  ,  0.5121915 ,  1.0169942 ,  7.307401  ,  6.4692693 ,\n",
            -       "         8.035346  ,  6.3669305 ,  5.8459167 ,  4.03193   ,  7.025049  ,\n",
            -       "         6.2521224 ,  1.1102605 ,  3.404097  , -1.5265621 ,  9.016952  ,\n",
            -       "        11.493106  , -0.57146204, -0.26515374,  7.4198837 ,  6.505427  ,\n",
            -       "         7.2936172 ,  9.671284  ,  2.9167275 ,  2.2982335 ,  7.3781447 ,\n",
            -       "         2.1675684 ,  5.190227  ,  5.3436894 ,  3.0521636 ,  6.544801  ,\n",
            -       "         4.743841  ,  5.7023606 ,  6.8151307 ,  5.6628094 ,  3.9610717 ,\n",
            -       "         5.13286   ,  1.6667626 ,  6.377818  ,  2.9189663 ,  5.914687  ,\n",
            -       "         5.556989  , 12.396165  ,  0.9704962 ,  7.037617  ,  8.90337   ,\n",
            -       "         4.53032   ,  5.2621    ,  6.3007636 ,  1.6994746 , -4.1169577 ,\n",
            -       "         0.44233608,  8.0539665 ,  4.4645185 ,  1.6229515 ,  6.553206  ,\n",
            -       "         7.863461  ,  2.2408123 ,  6.6904135 ,  3.169836  ,  5.7995133 ,\n",
            -       "         5.9354954 ,  4.294053  ,  3.3903077 ,  8.167379  ,  0.7955775 ,\n",
            -       "         4.042009  ,  7.1713643 ,  2.5641007 ,  9.766011  ,  1.7654216 ,\n",
            -       "         6.607266  ,  5.0007186 ,  9.228579  ,  0.11804408,  4.6933355 ,\n",
            -       "         8.756182  ,  7.6457686 , 11.668673  , -2.2822227 ,  5.744774  ,\n",
            -       "        -0.12102944,  5.706559  ,  6.738437  ,  3.9768252 ,  0.6605184 ,\n",
            -       "         1.1702331 ,  7.049793  ,  4.7348275 ,  3.3859143 ,  5.335453  ,\n",
            -       "         5.6728067 ,  8.422111  ,  0.6059617 ,  8.701169  ,  1.3406711 ,\n",
            -       "         0.9726557 ,  2.9391463 ,  8.847219  ,  0.65883195, -1.1129549 ,\n",
            -       "         4.2620173 ,  4.603801  ,  6.1635494 ,  4.814609  ,  4.5336676 ,\n",
            -       "        10.157522  ,  2.3478928 ,  8.260862  ,  4.5819983 ,  5.691238  ,\n",
            -       "         5.3385615 ,  3.9145231 ,  3.366712  ,  4.9146166 ,  4.2341347 ,\n",
            -       "         4.2132525 ,  0.06960184,  5.7912407 ,  7.7237253 ,  8.238167  ,\n",
            -       "        -1.5925429 , -1.8350666 ,  2.7601335 ,  5.2639394 ,  1.3687866 ,\n",
            -       "         1.4656156 ,  4.4150705 ,  0.8827308 ,  1.5304792 ,  7.2156863 ,\n",
            -       "         7.9426675 ,  4.7031536 ,  2.7878287 ,  3.0513043 ,  1.1879033 ,\n",
            -       "         3.9434485 ,  0.61285603, -1.3296754 ,  2.951462  , -0.25293034],\n",
            -       "       [ 5.01953   ,  6.86166   ,  6.6249776 ,  2.2893884 ,  2.501866  ,\n",
            -       "         8.285073  ,  3.7216325 ,  4.7185307 ,  5.471057  ,  2.2488348 ,\n",
            -       "         5.539174  ,  6.0150375 ,  2.0376778 ,  3.660337  ,  1.6074322 ,\n",
            -       "         2.8387644 ,  4.8960958 ,  3.3996067 ,  7.467748  ,  4.651307  ,\n",
            -       "         6.6853914 ,  8.318576  ,  7.023429  ,  6.5320916 ,  7.9992576 ,\n",
            -       "         7.2837024 ,  4.562793  ,  6.547352  , -0.11292058,  7.4648447 ,\n",
            -       "         0.98815346,  4.535407  ,  5.8668675 ,  4.8986874 ,  2.8843725 ,\n",
            -       "         3.232449  ,  2.6490922 , -2.0015569 , -2.0015569 , -0.9957659 ,\n",
            -       "        -0.9957659 ,  0.3136965 ,  3.6559486 ,  3.5627646 ,  1.8010818 ,\n",
            -       "         6.344411  ,  4.7709913 ,  5.2192707 ,  3.2569563 ,  3.880964  ,\n",
            -       "         4.206388  ,  3.2617676 ,  4.079238  ,  2.3552814 ,  3.5103083 ,\n",
            -       "         4.422537  ,  7.6496224 ,  1.7483644 ,  5.4506264 ,  3.694887  ,\n",
            -       "         2.9585373 ,  3.606896  ,  2.6271925 ,  2.4373152 ,  3.0032928 ,\n",
            -       "         2.8940313 ,  7.236042  ,  5.4723234 ,  5.602808  ,  4.8854675 ,\n",
            -       "         3.133181  , -1.9972157 , -5.426025  ,  0.74136853,  2.1391473 ,\n",
            -       "         7.446571  ,  3.438631  ,  4.4135585 ,  2.515184  ,  7.4213567 ,\n",
            -       "         1.4862064 ,  9.58293   ,  2.3712258 ,  9.991231  , 11.811281  ,\n",
            -       "        -3.8299305 , 10.42727   ,  4.5649595 ,  4.0661554 , 12.225602  ,\n",
            -       "         5.1727004 ,  5.384991  ,  2.5262818 ,  2.6618812 ,  4.545309  ,\n",
            -       "         5.200153  ,  4.7776184 ,  0.37785053,  2.9929814 ,  5.422091  ,\n",
            -       "         6.1752453 ,  7.7365675 ,  1.2166401 ,  3.3863912 ,  6.6130266 ,\n",
            -       "         8.373728  ,  7.0688004 ,  5.1593804 ,  8.469555  ,  4.330571  ,\n",
            -       "        -1.7626251 , 12.750014  ,  9.7615    ,  6.4595337 ,  8.6939125 ,\n",
            -       "         2.2231188 ,  5.390884  ,  0.97161454,  4.505579  ,  6.609976  ,\n",
            -       "         4.9074917 ,  4.2184486 ,  6.618556  ,  2.004937  ,  5.4137464 ,\n",
            -       "         9.630217  ,  9.768252  ,  0.30616486,  3.3912468 ,  7.838382  ,\n",
            -       "         9.576023  ,  7.655735  ,  0.18133971, -3.5502794 , 12.7816515 ,\n",
            -       "         6.2193003 ,  6.8971252 ,  2.8146944 ,  6.2655287 ,  2.7793994 ,\n",
            -       "         6.990551  ,  4.122216  ,  7.902957  ,  2.0129812 ,  3.2262692 ,\n",
            -       "         2.7485383 ,  9.244148  ,  7.6056643 ,  5.710777  ,  2.5418003 ,\n",
            -       "         3.4473598 ,  4.393044  ,  3.6912231 ,  6.887758  ,  7.915879  ,\n",
            -       "         8.873672  ,  5.941959  ,  2.1800964 ,  0.72718906,  6.024666  ,\n",
            -       "         2.1498783 ,  1.6291099 ,  9.088835  , -0.6355481 ,  8.986781  ,\n",
            -       "        13.685892  , -4.462116  , 12.183017  , -2.3599992 ,  6.3404007 ,\n",
            -       "         2.0727506 ,  4.6059237 ,  2.2072875 ,  4.4966164 ,  8.327364  ,\n",
            -       "         9.140227  ,  4.9690924 ,  1.7394838 ,  0.86819786,  5.5950966 ,\n",
            -       "         2.6679792 ,  2.9878035 ,  1.293262  ,  5.688295  ,  2.998148  ,\n",
            -       "         7.8103237 ,  2.1600375 ,  0.8984237 ,  3.8629336 ,  7.250372  ,\n",
            -       "         5.4487286 ,  9.825451  ,  9.6626625 ,  3.5370805 ,  2.28778   ,\n",
            -       "         0.7985786 ,  6.5033493 ,  5.7602005 ,  2.1282008 ,  0.7583219 ,\n",
            -       "        -0.2883258 ,  4.04663   ,  4.0531526 ,  7.637555  ,  4.522324  ,\n",
            -       "         1.8140192 ,  6.2982025 ,  0.8498249 ,  4.9770107 , 10.625928  ,\n",
            -       "         2.4482574 ,  1.7317593 ,  2.473702  ,  3.3864214 ,  5.2274213 ,\n",
            -       "         7.1590877 ,  4.082163  ,  4.655895  ,  4.341129  ,  0.72216916,\n",
            -       "         7.632001  ,  5.273179  ,  7.0966406 ,  3.9848332 ,  6.7652764 ,\n",
            -       "        -1.8530495 ,  4.807021  ,  3.7115476 ,  7.7180634 ,  5.495058  ,\n",
            -       "         3.5686898 ,  8.432459  , -3.9393754 ,  3.5627987 ,  1.3835332 ,\n",
            -       "         3.4305634 ,  5.2384458 ,  4.813102  ,  3.7107148 ,  5.8590145 ,\n",
            -       "         7.921546  ,  2.628134  ,  2.35359   ,  4.0655026 ,  3.800044  ,\n",
            -       "         3.1461186 ,  5.714904  ,  5.1543646 ,  3.2590818 ,  3.7851493 ,\n",
            -       "         4.40026   ,  2.7656972 ,  1.0225668 ,  7.9855137 ,  2.9293344 ,\n",
            -       "         4.256064  ,  5.404146  ,  7.5405574 ,  9.850468  , 10.078182  ,\n",
            -       "         6.9839487 ,  8.5010395 , 11.371491  ,  3.3040867 ,  3.5877137 ,\n",
            -       "         1.6272161 ,  1.6272161 ,  5.909365  ,  5.780271  ,  5.5829563 ,\n",
            -       "         4.555645  ,  4.3025413 ,  4.9703617 ,  3.4080243 ,  0.05362892,\n",
            -       "         5.641428  ,  1.9199136 ,  0.4426855 ,  9.342329  ,  2.4715855 ,\n",
            -       "         0.20299262,  7.053833  ,  3.064495  ,  3.7879605 ,  3.0975132 ,\n",
            -       "         4.8171186 ,  4.1754603 ,  1.8580515 ,  3.4130657 ,  1.8592646 ,\n",
            -       "         5.972606  ,  2.600781  ,  5.1370234 ,  3.590805  ,  1.6839093 ,\n",
            -       "         1.1044543 , 11.325514  , 11.263687  ,  3.0054102 ,  4.2464194 ,\n",
            -       "        -1.2235668 ,  0.78690815,  8.217627  ,  8.289513  ,  1.818387  ,\n",
            -       "         7.193574  ,  5.6828175 ,  9.229635  ,  1.8125782 ,  6.0123167 ,\n",
            -       "         3.310267  ,  3.2328024 ,  8.0518055 ,  0.5462723 ,  5.6560984 ,\n",
            -       "         7.22637   ,  8.11613   ,  3.7949753 ,  7.096421  , 10.765428  ,\n",
            -       "         0.62853765,  6.8455167 ,  1.8135126 ,  4.342347  ,  5.897304  ,\n",
            -       "         3.0075347 ,  1.4480636 ,  6.296116  ,  7.323115  ,  2.1111772 ,\n",
            -       "         3.2788057 ,  4.3963056 ,  2.1767483 ,  4.343244  ,  1.7362591 ,\n",
            -       "         8.032246  ,  7.7730284 ,  2.500092  ,  7.870913  , -3.3032596 ,\n",
            -       "         4.2814445 ,  3.4301393 , 10.24017   , -0.06418872,  5.7352066 ,\n",
            -       "         5.756984  ,  5.756984  ,  2.188118  ,  5.0771995 ,  1.7392151 ,\n",
            -       "        10.904758  ,  9.412046  ,  7.786703  ,  8.769625  , 10.503181  ,\n",
            -       "         8.57885   ,  6.9199967 ,  5.4401836 , -0.05953297,  8.981047  ,\n",
            -       "         9.556315  ,  3.1879342 ,  6.2667456 ,  7.8490686 ,  7.600093  ,\n",
            -       "         7.9399824 ,  0.6109712 ,  6.932536  ,  2.7567782 ,  1.5435878 ,\n",
            -       "         4.8659782 ,  2.2375255 ,  8.436639  ,  9.785013  ,  8.592904  ,\n",
            -       "         8.077721  , -0.98542786,  0.47609437,  4.7859526 , -1.187131  ,\n",
            -       "         7.878492  ,  9.416552  ,  1.2292858 ,  5.719812  ,  7.2965436 ,\n",
            -       "         1.962739  , -0.49165836,  5.951705  ,  1.9709172 ,  0.49937028,\n",
            -       "         1.8703003 ,  5.446128  ,  4.893553  ,  4.086196  ,  6.650732  ,\n",
            -       "         2.2123806 ,  2.0845377 ,  7.724782  ,  7.0939484 ,  9.294254  ,\n",
            -       "         0.98116875, 11.221153  , -0.876735  ,  1.3594122 ,  7.842224  ,\n",
            -       "         8.8228245 ,  8.8228245 , 10.224634  ,  7.027872  ,  6.7001348 ,\n",
            -       "         7.376293  ,  9.412687  , -2.8747458 ,  1.0567542 ,  7.480833  ,\n",
            -       "        10.921535  ,  6.2435284 ,  5.193436  ,  6.8472857 ,  3.895755  ,\n",
            -       "         6.2523193 ,  3.9274454 ,  2.3286366 ,  4.988546  ,  4.2868986 ,\n",
            -       "         7.0591617 ,  2.0112956 ,  6.0083036 ,  0.5485797 ,  2.927389  ,\n",
            -       "         8.296615  ,  0.8524151 ,  8.771065  ,  0.8508061 ,  7.5617332 ,\n",
            -       "         4.0908194 ,  6.449942  ,  5.5285096 , -1.5314658 ,  4.6953344 ,\n",
            -       "         4.931533  ,  6.3189793 ,  4.447262  ,  4.547436  ,  6.949565  ,\n",
            -       "         2.027462  ,  4.97022   ,  4.3807526 , 10.430753  ,  3.2305171 ,\n",
            -       "         0.36104214, 10.798279  , -1.6254423 ,  4.7359886 ,  2.0681913 ,\n",
            -       "         3.7673833 ,  1.9625635 ,  4.2347145 ,  7.492998  ,  6.4289722 ,\n",
            -       "         4.327282  , -0.13930517,  2.281067  , -1.5606796 , -0.6715053 ,\n",
            -       "        -2.6402383 ,  6.4653087 ,  1.9133025 ,  5.9235144 ,  8.07356   ,\n",
            -       "         5.0766296 ,  5.6559167 , 10.879023  , -0.92014146,  2.5594158 ,\n",
            -       "         5.5791693 ,  2.8021357 ,  1.2819654 , -2.5959618 , -0.8181571 ,\n",
            -       "         1.8510228 ,  4.257959  ,  9.037647  ,  1.8694059 ,  9.915788  ,\n",
            -       "         5.596039  ,  2.743896  ,  7.2139883 ,  4.4983315 ,  3.314092  ,\n",
            -       "        10.760844  , -1.5691249 ,  7.673089  ,  2.6870704 ,  2.4335454 ,\n",
            -       "        -0.2063955 , -0.75785524, -1.10085   ,  8.008105  ,  0.92949176]],\n",
            -       "      dtype=float32)
          • tau
            (chain, draw)
            float32
            2.8592596 7.631564 ... 4.101541
            array([[ 2.8592596 ,  7.631564  ,  2.2398646 ,  2.2167501 ,  3.1840062 ,\n",
            -       "         7.012798  ,  3.243187  ,  6.973709  ,  5.5824986 ,  0.7016568 ,\n",
            -       "         5.86172   , 19.530476  ,  0.25236988,  3.668568  ,  1.5498195 ,\n",
            -       "         0.8107503 ,  1.0509298 ,  7.2098413 ,  1.8983476 ,  5.2955256 ,\n",
            -       "         7.7060432 ,  0.43670726,  3.6594412 ,  6.322126  ,  0.20263568,\n",
            -       "         3.1838627 ,  2.1906252 ,  3.6247058 ,  3.6476884 ,  8.569651  ,\n",
            -       "         0.8154066 ,  0.52646595,  8.347277  ,  5.3391485 ,  5.3391485 ,\n",
            -       "         4.3533516 ,  2.2721968 ,  4.044897  , 12.670698  ,  3.6306577 ,\n",
            -       "         1.7800876 ,  0.8172901 , 10.408458  , 10.408458  ,  8.752845  ,\n",
            -       "         2.7025979 ,  1.8058288 ,  0.77591455,  4.6208324 ,  1.3864799 ,\n",
            -       "         4.8308764 ,  5.2640085 ,  2.2747922 ,  2.1527889 ,  0.6709348 ,\n",
            -       "         0.40966344,  0.76452506,  1.7523602 ,  9.632993  ,  0.71305096,\n",
            -       "         1.2565391 ,  7.3918915 ,  1.9825102 ,  4.3520317 ,  4.191029  ,\n",
            -       "         4.46019   ,  6.5468745 ,  1.7655234 ,  2.4890428 ,  0.13036194,\n",
            -       "         4.1576633 ,  3.6138592 ,  2.5137105 ,  7.9432316 ,  1.4701631 ,\n",
            -       "         4.3312316 ,  3.2743263 ,  6.1689467 ,  0.81546783,  2.3457444 ,\n",
            -       "        14.765036  ,  2.7969723 ,  0.6444865 ,  5.056386  ,  6.6326447 ,\n",
            -       "         3.3019314 ,  3.4695005 , 14.173468  ,  1.0817696 ,  1.9358197 ,\n",
            -       "         6.57442   ,  0.21757841,  1.6629736 ,  2.837197  ,  8.087209  ,\n",
            -       "         0.923576  ,  1.5801088 ,  3.2785625 ,  1.1708685 ,  5.65828   ,\n",
            -       "         2.544188  ,  0.97468114,  0.85679036,  0.4686036 ,  1.2682633 ,\n",
            -       "         1.0238816 ,  1.0111494 ,  3.2353783 ,  5.850848  ,  2.6748486 ,\n",
            -       "         6.8615456 ,  1.0207653 ,  5.1171284 ,  4.7231007 ,  0.9388937 ,\n",
            -       "         1.1121522 ,  0.19136462,  2.5782864 ,  6.664866  ,  1.035229  ,\n",
            -       "         1.2018548 ,  3.5486271 ,  0.26484078,  0.5413486 , 10.383554  ,\n",
            -       "         6.841315  ,  1.663987  ,  1.40886   ,  1.4120247 ,  6.9056168 ,\n",
            -       "         1.4446397 ,  2.328224  ,  2.377081  ,  3.0902762 ,  1.1421281 ,\n",
            -       "         1.1183867 ,  0.9663997 ,  0.72247726,  0.4770038 ,  9.449483  ,\n",
            -       "         3.4366267 ,  1.8293209 ,  5.91921   ,  1.5030367 ,  1.8295302 ,\n",
            -       "         1.9259436 ,  1.0454125 ,  1.1833336 ,  1.635451  ,  3.1804576 ,\n",
            -       "         7.3813477 ,  0.15226473,  9.872404  ,  0.6245333 ,  2.2530851 ,\n",
            -       "         3.5460145 ,  4.784728  ,  3.6828964 ,  1.7373091 ,  1.3222244 ,\n",
            -       "         1.2164129 ,  3.2084877 ,  5.9633555 ,  8.61425   ,  4.7127013 ,\n",
            -       "         1.0490998 ,  2.031085  ,  0.84674907,  1.4061344 ,  0.20833626,\n",
            -       "         1.1506217 ,  8.719571  ,  0.5209326 ,  3.2316248 ,  4.3853264 ,\n",
            -       "         4.2003636 ,  2.0493677 , 10.459623  , 10.027447  ,  5.8418946 ,\n",
            -       "         5.8418946 ,  3.1374278 ,  3.4132574 ,  3.4001408 ,  6.9404526 ,\n",
            -       "         0.6055962 ,  2.6735137 ,  5.0053363 ,  2.393575  ,  4.3127356 ,\n",
            -       "         7.9282527 ,  4.0160623 ,  6.3807807 ,  4.9094033 ,  5.3358846 ,\n",
            -       "         1.5355688 ,  2.814463  ,  0.20154344,  0.16425201,  2.7684138 ,\n",
            -       "         0.79762113,  0.29586637,  8.217145  ,  2.5801165 ,  0.62110734,\n",
            -       "         5.5564575 ,  0.03571094,  9.594197  ,  1.6323905 ,  6.1980906 ,\n",
            -       "         5.9835644 , 10.406311  ,  1.9029803 ,  4.983942  ,  1.1461568 ,\n",
            -       "         8.874212  ,  2.818826  ,  1.3390121 ,  1.8619214 ,  6.0745525 ,\n",
            -       "         5.101248  ,  1.0643479 ,  1.7463428 , 13.184822  ,  6.307802  ,\n",
            -       "         6.2804346 ,  1.8698411 ,  1.3450637 ,  5.679282  ,  3.7104957 ,\n",
            -       "         1.4926912 ,  1.3450874 ,  1.6143674 ,  3.5736926 ,  4.833857  ,\n",
            -       "         0.38555366,  1.7992418 ,  7.924101  ,  0.5311662 ,  1.0728621 ,\n",
            -       "         6.104986  ,  0.41169518,  9.873746  ,  0.6301795 ,  0.6971753 ,\n",
            -       "         0.433702  ,  1.6750252 ,  4.7702184 ,  1.1450185 ,  9.231825  ,\n",
            -       "         0.65097904,  0.07083836,  7.7014275 ,  1.1763483 ,  3.9216068 ,\n",
            -       "         0.7965546 ,  7.643338  ,  0.3307356 ,  1.5628933 ,  8.430889  ,\n",
            -       "         2.0809162 ,  9.241798  ,  9.241798  ,  4.945677  ,  1.0078614 ,\n",
            -       "         1.0361626 , 10.885583  , 12.564192  ,  0.33511108,  4.6200314 ,\n",
            -       "         4.940873  ,  0.5206075 ,  0.07736349,  0.08582618,  1.9981915 ,\n",
            -       "         1.7438189 ,  1.5340894 ,  0.7772387 ,  6.601632  ,  2.115645  ,\n",
            -       "         8.213202  ,  5.2723393 , 11.72069   ,  0.9106035 ,  0.85000837,\n",
            -       "        10.724954  ,  3.2172287 ,  2.224444  ,  4.3728848 ,  6.769486  ,\n",
            -       "        12.659085  ,  6.2303095 ,  1.7800417 ,  0.41352934,  4.2141705 ,\n",
            -       "         2.3804212 ,  1.9563856 ,  2.9715116 ,  1.8923243 ,  3.1873477 ,\n",
            -       "         3.2488613 , 11.12932   ,  1.2553946 ,  0.72405314,  8.201361  ,\n",
            -       "         8.201361  ,  2.594084  ,  4.2437234 ,  1.8843505 ,  1.5556631 ,\n",
            -       "         9.879009  , 13.189886  ,  0.6889656 ,  4.8971453 ,  2.709153  ,\n",
            -       "         5.6291595 ,  3.035018  ,  8.095402  ,  2.2264924 ,  6.9823604 ,\n",
            -       "         8.809837  ,  2.8444104 ,  7.2972403 ,  4.9063    ,  8.416786  ,\n",
            -       "         6.3838606 ,  3.103317  ,  3.3709526 ,  3.7451754 ,  1.5255952 ,\n",
            -       "         6.1873636 , 18.791533  , 18.791533  ,  0.5587105 ,  4.3095994 ,\n",
            -       "         6.199546  ,  0.7963446 ,  3.250815  ,  4.6577425 ,  3.8594632 ,\n",
            -       "         0.39367265,  0.94611126,  0.6230297 ,  0.35022599,  3.6903803 ,\n",
            -       "         2.337941  ,  5.383348  , 12.14523   ,  1.4398934 ,  2.1742728 ,\n",
            -       "         1.6072241 ,  5.467194  ,  1.2596793 ,  2.1560652 ,  1.1517068 ,\n",
            -       "         5.9963036 ,  1.9717857 ,  1.7716382 ,  1.9160262 ,  2.8552551 ,\n",
            -       "         4.745581  ,  7.348962  ,  3.2277074 ,  2.984302  ,  2.2140386 ,\n",
            -       "         1.8019764 ,  0.59824824,  1.8449849 ,  3.216473  ,  6.51493   ,\n",
            -       "         3.411695  ,  7.4430933 ,  6.659884  ,  5.054224  ,  1.388572  ,\n",
            -       "         4.7616067 ,  3.9080114 ,  4.5838494 , 20.273996  ,  3.7882788 ,\n",
            -       "         6.1818533 ,  1.1102964 ,  1.5883152 ,  0.45917422,  8.478489  ,\n",
            -       "         0.09718665,  2.6336462 ,  7.2664666 ,  2.434935  ,  2.8858519 ,\n",
            -       "         0.71751714,  3.0329962 ,  6.130552  ,  0.860823  ,  0.25771728,\n",
            -       "         0.42584717,  0.5142102 ,  0.8449509 ,  4.968134  ,  3.1147995 ,\n",
            -       "         2.4746912 ,  2.0156538 ,  3.6191094 ,  1.2793202 ,  0.7103939 ,\n",
            -       "         3.7820547 ,  6.9056473 ,  4.0495677 ,  1.7817774 ,  2.3426752 ,\n",
            -       "         4.633561  ,  2.070319  ,  1.5363076 ,  0.95820147,  3.6127422 ,\n",
            -       "         0.3730284 ,  0.28459108,  1.723181  ,  4.1297984 ,  2.3784215 ,\n",
            -       "         2.6407814 ,  4.4255576 ,  3.8354557 ,  3.4539526 ,  0.68732715,\n",
            -       "        12.028891  ,  2.09528   ,  3.4303656 ,  3.6795819 ,  2.233653  ,\n",
            -       "         9.531067  ,  2.4739041 ,  1.3033855 ,  1.8244535 ,  2.7561784 ,\n",
            -       "         3.35038   ,  2.4797575 ,  1.2056069 ,  1.42102   ,  3.5945454 ,\n",
            -       "         1.5078974 ,  1.030959  ,  2.032822  ,  1.9084902 ,  0.71502614,\n",
            -       "         0.24140915,  1.3988683 ,  2.2474515 ,  5.052353  ,  0.88052756,\n",
            -       "         3.1064644 ,  5.4538717 ,  0.08182631,  2.2336638 ,  5.490027  ,\n",
            -       "         3.8521888 ,  1.7020229 ,  0.31675732,  0.54662824,  0.5233591 ,\n",
            -       "         7.528719  ,  0.5788549 ,  2.3658106 ,  7.823274  ,  9.688509  ,\n",
            -       "         5.4737873 ,  2.0360384 ,  8.556991  ,  1.9897192 ,  1.9756216 ,\n",
            -       "         4.789227  ,  2.9638944 ,  3.9432104 ,  4.5745883 ,  2.8481593 ,\n",
            -       "         2.703546  ,  0.4868355 ,  0.81143165, 11.803428  ,  2.3433266 ,\n",
            -       "         7.462632  ,  3.5330765 ,  1.769893  ,  3.4632206 ,  6.0739894 ,\n",
            -       "         2.1918657 ,  3.4950104 ,  3.3037906 ,  1.5210805 ,  3.043605  ,\n",
            -       "         4.5550523 ,  1.3057604 ,  2.3426685 ,  0.89967585,  1.4859152 ,\n",
            -       "         0.45666224,  0.29178444,  7.5672245 ,  1.3531511 ,  1.6870949 ],\n",
            -       "       [ 0.9909044 ,  1.5977436 ,  1.5915296 ,  2.5393262 ,  2.087789  ,\n",
            -       "         4.243172  ,  7.001409  ,  9.290381  ,  0.91922265,  7.900055  ,\n",
            -       "         7.7129283 ,  0.6525277 ,  6.4433904 ,  8.98685   ,  3.415953  ,\n",
            -       "         4.779433  ,  4.0793686 ,  7.4854875 ,  1.1678308 ,  4.129944  ,\n",
            -       "         3.0361595 ,  2.4230134 ,  1.9914376 ,  2.428689  ,  2.7493334 ,\n",
            -       "         4.6773024 ,  3.6110651 ,  1.139311  ,  1.1700116 ,  1.7576461 ,\n",
            -       "         4.4287186 ,  1.3367376 ,  1.6895905 ,  6.6807804 ,  3.783243  ,\n",
            -       "         6.1245394 ,  3.9788265 , 13.16905   , 13.16905   , 15.664255  ,\n",
            -       "        15.664255  ,  2.3494203 ,  7.6555758 ,  2.4532216 ,  0.5315145 ,\n",
            -       "         8.000637  ,  3.0699728 ,  1.4240437 ,  3.2925067 ,  2.53016   ,\n",
            -       "         5.606144  ,  1.4063253 ,  4.0349874 ,  5.277519  ,  9.044592  ,\n",
            -       "         3.3025165 ,  6.7250423 ,  4.524832  ,  1.3821722 ,  6.007044  ,\n",
            -       "         2.626573  ,  0.5769744 ,  8.237151  ,  8.070817  ,  1.7475601 ,\n",
            -       "         1.1638703 ,  3.0113087 ,  2.7498362 ,  5.914818  ,  6.1232486 ,\n",
            -       "         0.29810682,  5.1201816 ,  0.563086  ,  1.8486384 ,  4.001296  ,\n",
            -       "         1.2235026 ,  1.8340818 ,  7.513959  ,  0.7324949 ,  2.7174852 ,\n",
            -       "         5.1975183 ,  2.0456045 ,  4.820118  ,  5.1033993 ,  5.1648126 ,\n",
            -       "         3.173502  ,  2.104412  ,  1.9142842 , 11.029547  ,  0.78433573,\n",
            -       "         1.357436  ,  3.3496656 ,  1.1371782 ,  5.2250524 ,  2.2853363 ,\n",
            -       "         1.2432598 ,  2.9474394 ,  2.2762651 , 11.131979  ,  0.03542077,\n",
            -       "         0.09264842,  0.6235244 ,  3.4893827 ,  2.3070836 ,  0.25985214,\n",
            -       "         0.22785841,  0.39597985,  1.5273579 ,  1.6996378 ,  2.936499  ,\n",
            -       "         4.2797337 ,  1.6371739 ,  4.6433635 ,  0.43203235,  0.7139715 ,\n",
            -       "         4.613933  ,  0.9789104 ,  0.0981968 ,  0.53859735,  0.4859575 ,\n",
            -       "         6.3171396 ,  1.0921121 ,  1.5136721 ,  1.112587  ,  2.716591  ,\n",
            -       "         2.309645  ,  0.57045245,  6.38959   ,  4.577489  ,  1.3076562 ,\n",
            -       "         1.4818728 , 13.748591  ,  1.4261547 ,  4.716801  ,  2.5566208 ,\n",
            -       "         3.2431536 ,  2.4402661 ,  0.07903078,  1.96319   ,  3.2732992 ,\n",
            -       "         1.5368414 ,  0.45010495,  0.19129893, 16.928976  ,  0.5482865 ,\n",
            -       "         8.09678   ,  2.225882  ,  3.1512907 ,  4.057416  ,  2.610217  ,\n",
            -       "         2.1332395 ,  9.60669   ,  2.2393262 ,  2.651483  ,  3.3116841 ,\n",
            -       "         1.6829383 ,  2.4401853 ,  1.5279691 ,  3.227448  ,  1.6379778 ,\n",
            -       "         2.4299464 ,  2.075777  ,  3.1862235 ,  3.2390447 ,  2.329407  ,\n",
            -       "         2.201795  ,  5.703568  ,  0.40667385,  0.87402445,  3.3419642 ,\n",
            -       "         4.641601  ,  1.6191708 ,  4.8605385 ,  6.7923694 ,  4.4612546 ,\n",
            -       "         0.7880722 ,  3.642695  ,  5.7544723 ,  2.404113  ,  6.683872  ,\n",
            -       "         0.81219465,  1.7379894 ,  1.7376539 ,  5.8059955 ,  4.278271  ,\n",
            -       "         1.2685912 ,  4.5402994 ,  5.0245523 ,  2.5448208 ,  1.2269168 ,\n",
            -       "         1.2570435 ,  0.09639393,  0.41742703,  2.19767   , 11.426054  ,\n",
            -       "         6.1925087 ,  1.6211317 ,  2.6454413 ,  4.8318114 ,  7.5347095 ,\n",
            -       "         4.0129    ,  4.6609755 ,  3.0834131 ,  1.8212253 ,  0.15747103,\n",
            -       "         0.34305257,  0.50059736,  0.20459786,  0.02735537,  0.47397   ,\n",
            -       "         0.05234714,  0.190357  ,  0.5601471 ,  1.4498736 ,  5.3912153 ,\n",
            -       "         3.1650052 ,  2.2476134 ,  1.4172924 ,  3.296812  ,  4.6089897 ,\n",
            -       "         2.8611212 ,  5.402524  ,  4.947583  ,  1.0548209 ,  0.7901154 ,\n",
            -       "         0.9943615 ,  3.0772898 ,  1.2716869 ,  2.432948  ,  3.8804119 ,\n",
            -       "         1.2244211 ,  0.8237403 ,  4.9685516 ,  1.316479  ,  1.0661899 ,\n",
            -       "         0.16147617,  6.15918   ,  2.6841154 ,  1.4046829 ,  1.5815251 ,\n",
            -       "         4.5101395 ,  4.211768  ,  3.2184887 ,  2.2674942 , 11.533861  ,\n",
            -       "         1.5308465 ,  1.5567675 ,  3.4679332 ,  0.9563234 ,  2.6597273 ,\n",
            -       "         4.113006  ,  5.94164   ,  4.1099057 ,  0.7565336 ,  9.429806  ,\n",
            -       "         2.4552286 ,  0.53369445,  3.3575032 ,  4.5981975 ,  0.05409329,\n",
            -       "         2.4364839 ,  1.5215359 ,  2.9032164 ,  1.1249074 ,  1.1532617 ,\n",
            -       "        19.157143  , 19.157143  ,  1.3512957 ,  0.65963423,  1.5522751 ,\n",
            -       "         0.5923748 , 14.26093   ,  2.619348  ,  7.663063  ,  1.520335  ,\n",
            -       "         1.7601604 ,  4.5279403 ,  5.6468053 ,  2.8692524 ,  1.6483278 ,\n",
            -       "         5.082613  ,  3.348174  ,  7.963322  ,  5.7132883 ,  7.863322  ,\n",
            -       "         1.2458255 ,  2.605769  , 11.989439  ,  0.9381594 ,  1.8971261 ,\n",
            -       "         2.5842643 ,  2.3395038 ,  4.5372963 ,  2.8475537 ,  2.8704324 ,\n",
            -       "         0.7754769 ,  1.4568441 ,  1.3712978 ,  2.1131537 ,  1.5345919 ,\n",
            -       "         0.9531036 ,  0.7739705 ,  1.5121455 ,  9.828634  ,  7.4287105 ,\n",
            -       "         2.9388795 ,  0.2816141 ,  2.3579755 ,  0.14984295,  0.24800135,\n",
            -       "         0.15856981,  1.0296572 ,  2.5968904 ,  7.6706834 ,  0.50782156,\n",
            -       "         8.095074  ,  8.709511  ,  0.73007673,  3.476412  ,  3.0747168 ,\n",
            -       "         1.3265907 ,  0.31783798,  5.4608517 ,  1.749261  ,  1.7294059 ,\n",
            -       "         1.438313  ,  3.280551  ,  0.24643764,  0.66403604,  1.1227971 ,\n",
            -       "         3.8661366 ,  2.7161083 ,  3.560833  ,  4.763618  ,  1.1688248 ,\n",
            -       "         2.1935544 ,  3.8671257 ,  2.203893  ,  1.477727  ,  2.7158074 ,\n",
            -       "         6.5069942 ,  0.456299  ,  1.5456046 ,  4.563259  ,  4.4469385 ,\n",
            -       "         5.397097  ,  5.397097  ,  2.1064    ,  5.4984164 ,  1.3417419 ,\n",
            -       "         1.709095  ,  7.2107835 ,  1.4702858 ,  1.2010643 ,  3.3940632 ,\n",
            -       "         1.6871938 ,  8.092438  ,  1.875149  ,  9.6689    ,  4.6120315 ,\n",
            -       "         3.9952703 ,  1.4235352 ,  8.582107  ,  6.6970954 ,  7.282295  ,\n",
            -       "        14.207127  ,  2.9826918 ,  1.5618287 ,  1.7103666 ,  1.6702276 ,\n",
            -       "         3.8603537 ,  2.7703676 ,  2.6307878 ,  2.504591  , 11.882615  ,\n",
            -       "         3.8029606 , 10.591273  ,  4.6216316 ,  3.2560668 ,  3.2578232 ,\n",
            -       "         3.8841403 ,  8.381626  ,  6.4172707 ,  4.9437313 ,  2.496393  ,\n",
            -       "         2.5616014 ,  5.484207  ,  3.86267   ,  8.52895   ,  1.520958  ,\n",
            -       "         3.0663316 ,  5.64784   ,  0.93371737,  1.988599  ,  3.3644938 ,\n",
            -       "         3.9448767 ,  8.905218  ,  1.6713282 ,  1.7212286 ,  2.0422182 ,\n",
            -       "         3.4921372 ,  3.8627925 ,  0.26233172,  0.43868166,  3.3021283 ,\n",
            -       "         3.651146  ,  3.651146  ,  2.4456723 ,  9.569137  ,  2.3459058 ,\n",
            -       "         0.2361946 ,  2.2865353 , 16.966942  ,  9.5944605 ,  3.9430783 ,\n",
            -       "         7.300621  ,  8.237884  ,  1.1408961 ,  3.106974  ,  5.3557086 ,\n",
            -       "         4.113908  ,  0.73947203,  0.8736652 ,  2.8615105 ,  4.674794  ,\n",
            -       "         1.346915  ,  0.6225802 ,  0.19296533,  6.3390613 ,  2.802343  ,\n",
            -       "         3.9072082 ,  1.5721794 ,  4.805414  ,  0.9118719 ,  6.6454163 ,\n",
            -       "         0.35046232,  8.147577  ,  5.0826526 ,  3.0514736 ,  1.8530624 ,\n",
            -       "         1.573253  ,  2.814517  ,  3.2968137 ,  3.1585622 ,  2.970489  ,\n",
            -       "         4.581018  ,  1.5554717 ,  0.6137824 ,  2.1317117 ,  5.246378  ,\n",
            -       "         4.361018  ,  2.8805962 ,  2.4948945 ,  6.1967874 ,  0.5377769 ,\n",
            -       "         0.37031844,  0.7325885 ,  1.9997089 ,  2.398744  ,  2.0033321 ,\n",
            -       "         1.6943733 ,  5.4950047 ,  5.6807523 ,  2.5063794 ,  3.8039002 ,\n",
            -       "        11.003864  ,  0.7521229 ,  7.85719   ,  1.0913641 ,  2.1949823 ,\n",
            -       "         8.510656  ,  3.865408  ,  2.2440512 ,  4.94407   , 13.895223  ,\n",
            -       "         0.26907384,  1.5775707 ,  2.8049283 ,  1.0583861 ,  1.3993121 ,\n",
            -       "         2.1294248 ,  3.9265387 ,  3.4271214 ,  1.6736029 ,  2.3646955 ,\n",
            -       "         0.47015515,  4.9279428 ,  3.7552726 ,  3.7249236 ,  1.6924706 ,\n",
            -       "         0.331155  ,  2.1292431 ,  0.959191  ,  2.2490025 ,  9.622374  ,\n",
            -       "         5.5982914 ,  4.0080676 ,  2.5344353 ,  2.7411196 ,  4.101541  ]],\n",
            -       "      dtype=float32)
          • theta_tilde
            (chain, draw, theta_tilde_dim_0)
            float32
            0.6061655 1.8185308 ... -1.4317532
            array([[[ 0.6061655 ,  1.8185308 , -0.09561205, ..., -1.3342378 ,\n",
            -       "          0.70666367,  0.04662064],\n",
            -       "        [ 1.0919316 ,  0.7878127 ,  0.51768357, ..., -0.86000085,\n",
            -       "          1.1659694 ,  1.070951  ],\n",
            -       "        [-0.44649038, -1.1334856 , -0.08350085, ..., -0.79331404,\n",
            -       "          0.80516696,  0.05294776],\n",
            -       "        ...,\n",
            -       "        [ 0.27960604, -0.6067694 ,  0.63655376, ...,  1.3932375 ,\n",
            -       "         -0.6413138 , -0.09322856],\n",
            -       "        [ 0.65896815,  1.2729853 , -0.16130266, ...,  0.538792  ,\n",
            -       "          2.0496454 ,  0.28260455],\n",
            -       "        [ 0.6073655 ,  0.49289384,  0.3575558 , ..., -0.46220857,\n",
            -       "          0.6597414 ,  1.7932637 ]],\n",
            -       "\n",
            -       "       [[-0.05533975,  1.5325787 , -0.02127528, ..., -0.8900326 ,\n",
            -       "         -0.39435595, -0.55493706],\n",
            -       "        [ 1.0245105 ,  1.0371798 , -0.12512936, ...,  1.3573611 ,\n",
            -       "          0.12283397,  0.33178735],\n",
            -       "        [ 1.2065461 ,  0.14588034, -0.02969379, ...,  0.61200786,\n",
            -       "         -0.50436723,  0.29426408],\n",
            -       "        ...,\n",
            -       "        [ 0.5336305 , -0.36422867,  0.607937  , ..., -0.33750185,\n",
            -       "          0.75881875, -0.354092  ],\n",
            -       "        [ 0.11554712, -0.7284259 ,  1.029543  , ..., -0.9233731 ,\n",
            -       "          0.17342997,  0.47577518],\n",
            -       "        [-0.5292633 ,  0.8391605 , -1.8189237 , ..., -0.04487276,\n",
            -       "          1.7539048 , -1.4317532 ]]], dtype=float32)
        • created_at :
          2020-06-10T18:21:33.589496
          arviz_version :
          0.8.3
          inference_library :
          pyro
          inference_library_version :
          1.1.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 2
          • draw: 500
          • obs_dim_0: 8
          • chain
            (chain)
            int64
            0 1
            array([0, 1])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • obs_dim_0
            (obs_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • obs
            (chain, draw, obs_dim_0)
            float32
            17.056637 13.765715 ... -33.684814
            array([[[ 17.056637  ,  13.765715  ,  28.1891    , ...,  11.842781  ,\n",
            -       "          11.978273  ,   0.3044815 ],\n",
            -       "        [ 21.057343  ,  -7.351166  ,  11.830295  , ...,  -5.1788282 ,\n",
            -       "          11.68743   ,  22.859253  ],\n",
            -       "        [  7.56715   ,   6.8423553 ,   5.7562637 , ...,   3.304874  ,\n",
            -       "           5.348268  ,  16.123114  ],\n",
            -       "        ...,\n",
            -       "        [ 32.053898  ,  -9.957651  ,  -0.8588064 , ...,   7.980326  ,\n",
            -       "           3.5410204 , -14.456598  ],\n",
            -       "        [ 20.119667  ,  -7.6601057 ,  -2.9862726 , ...,  -0.10599685,\n",
            -       "           1.5778246 , -16.948988  ],\n",
            -       "        [ 25.463974  , -14.382548  ,  19.056568  , ..., -14.948351  ,\n",
            -       "         -15.824716  ,   7.1326447 ]],\n",
            -       "\n",
            -       "       [[ -4.4520526 ,   3.186278  ,   4.188992  , ...,   1.6511054 ,\n",
            -       "           8.9940605 ,   1.2203226 ],\n",
            -       "        [ 23.332848  ,  13.669164  ,  -0.15677023, ...,  -6.408621  ,\n",
            -       "          22.05013   ,   1.6746373 ],\n",
            -       "        [ 29.850473  ,   0.35601377,  31.621748  , ...,  24.21464   ,\n",
            -       "           8.574121  ,  -4.5073214 ],\n",
            -       "        ...,\n",
            -       "        [ 10.046104  ,  -9.08149   ,  24.914795  , ...,   0.8853679 ,\n",
            -       "          -3.557653  ,   1.4098097 ],\n",
            -       "        [-16.446758  ,  21.567833  ,  17.841633  , ...,  11.072165  ,\n",
            -       "          19.724937  ,  -5.2535686 ],\n",
            -       "        [ -4.726616  ,   4.298817  ,  10.874061  , ...,   0.40810192,\n",
            -       "           5.026056  , -33.684814  ]]], dtype=float32)
        • created_at :
          2020-06-10T18:21:33.925982
          arviz_version :
          0.8.3
          inference_library :
          pyro
          inference_library_version :
          1.1.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 2
          • draw: 500
          • obs_dim_0: 8
          • chain
            (chain)
            int64
            0 1
            array([0, 1])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • obs_dim_0
            (obs_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • obs
            (chain, draw, obs_dim_0)
            float32
            -4.4705133 -3.3008652 ... -4.252307
            array([[[-4.4705133, -3.3008652, -3.8681855, ..., -3.3328528,\n",
            -       "         -3.6443205, -3.8491797],\n",
            -       "        [-4.2400713, -3.22724  , -3.8871422, ..., -3.4007401,\n",
            -       "         -3.404223 , -3.810225 ],\n",
            -       "        [-5.572689 , -3.8407664, -3.70118  , ..., -3.3636737,\n",
            -       "         -4.6304407, -4.0493298],\n",
            -       "        ...,\n",
            -       "        [-5.2727504, -4.190528 , -3.773724 , ..., -3.5955849,\n",
            -       "         -6.145524 , -4.1133003],\n",
            -       "        [-4.9237747, -3.276835 , -3.7557254, ..., -3.3465247,\n",
            -       "         -3.9749088, -3.925208 ],\n",
            -       "        [-5.274494 , -3.4969072, -3.71345  , ..., -3.333908 ,\n",
            -       "         -4.6904016, -3.9407105]],\n",
            -       "\n",
            -       "       [[-4.806156 , -3.2322083, -3.8164787, ..., -3.3575134,\n",
            -       "         -4.1154737, -3.89682  ],\n",
            -       "        [-4.472113 , -3.2228694, -3.8738499, ..., -3.5833087,\n",
            -       "         -3.8201694, -3.8420815],\n",
            -       "        [-4.4680734, -3.228054 , -3.8706927, ..., -3.4967794,\n",
            -       "         -3.9630103, -3.8464642],\n",
            -       "        ...,\n",
            -       "        [-5.3380413, -3.7239227, -3.7146387, ..., -3.3529468,\n",
            -       "         -4.696886 , -4.111705 ],\n",
            -       "        [-4.487238 , -3.2412963, -4.0651107, ..., -3.3996596,\n",
            -       "         -3.6743426, -3.8204584],\n",
            -       "        [-5.527108 , -3.2873592, -3.7158775, ..., -3.3171015,\n",
            -       "         -3.709279 , -4.252307 ]]], dtype=float32)
        • created_at :
          2020-06-10T18:21:33.876187
          arviz_version :
          0.8.3
          inference_library :
          pyro
          inference_library_version :
          1.1.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 2
          • draw: 500
          • chain
            (chain)
            int64
            0 1
            array([0, 1])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • diverging
            (chain, draw)
            bool
            False False False ... False False
            array([[False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False],\n",
            -       "       [False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False, False, False, False, False,\n",
            -       "        False, False, False, False, False]])
        • created_at :
          2020-06-10T18:21:33.823431
          arviz_version :
          0.8.3
          inference_library :
          pyro
          inference_library_version :
          1.1.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 1
          • draw: 500
          • theta_tilde_dim_0: 8
          • chain
            (chain)
            int64
            0
            array([0])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • theta_tilde_dim_0
            (theta_tilde_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • mu
            (chain, draw)
            float32
            1.8310521 7.369206 ... -0.07544144
            array([[ 1.83105206e+00,  7.36920595e+00, -1.19266405e+01,\n",
            -       "        -8.94674808e-02,  6.69769812e+00,  2.36118245e+00,\n",
            -       "        -5.29538059e+00, -5.94624472e+00,  2.89671206e+00,\n",
            -       "        -1.86073518e+00,  6.28713250e-01,  6.81693649e+00,\n",
            -       "         7.71915436e+00,  7.51500702e+00,  6.99194527e+00,\n",
            -       "         6.81107426e+00, -6.58409548e+00, -8.57430363e+00,\n",
            -       "         8.83453548e-01,  6.32625198e+00, -2.42169404e+00,\n",
            -       "         1.10239995e+00,  2.38961601e+00, -3.36049986e+00,\n",
            -       "        -2.06537867e+00,  4.25744951e-01, -6.23024511e+00,\n",
            -       "        -5.16256762e+00, -9.30563509e-01,  1.11181331e+00,\n",
            -       "        -1.45188928e+00,  1.81846488e+00,  4.33571339e+00,\n",
            -       "        -1.40784955e+00, -3.79042912e+00,  5.96538925e+00,\n",
            -       "        -2.45449328e+00,  6.48085117e+00,  1.84746668e-01,\n",
            -       "         9.50277996e+00,  1.59419513e+00, -7.20801449e+00,\n",
            -       "        -5.50850153e+00, -2.64637923e+00, -1.01556320e+01,\n",
            -       "         4.47114372e+00, -3.56763458e+00, -4.17484492e-01,\n",
            -       "         2.15950990e+00,  1.10670459e+00, -4.33139133e+00,\n",
            -       "         1.62531209e+00,  3.99615616e-01,  3.86136270e+00,\n",
            -       "        -1.66640115e+00,  8.03124046e+00,  6.59306240e+00,\n",
            -       "        -1.21368408e+01, -1.73939645e+00, -1.23819363e+00,\n",
            -       "         7.29799569e-01, -2.25639677e+00, -2.72025943e+00,\n",
            -       "         1.38648021e+00, -9.59429359e+00, -7.46370316e-01,\n",
            -       "        -3.87315184e-01,  1.04348350e+00,  2.42776895e+00,\n",
            -       "        -1.55527663e+00, -9.87819314e-01,  1.33469507e-01,\n",
            -       "        -1.15047801e+00, -2.34605980e+00, -9.89660168e+00,\n",
            -       "        -6.90545464e+00,  6.10778809e+00,  7.69460106e+00,\n",
            -       "        -1.39867568e+00,  7.19076538e+00, -4.95351934e+00,\n",
            -       "        -1.97004724e+00,  3.65625173e-01, -2.02283001e+00,\n",
            -       "         9.23406219e+00,  8.91490579e-01, -2.46193695e+00,\n",
            -       "        -1.28320193e+00,  3.88940901e-01,  6.97067678e-01,\n",
            -       "         3.08503330e-01,  2.66331816e+00, -2.39172482e+00,\n",
            -       "         1.02955704e+01,  4.05393171e+00,  4.36696005e+00,\n",
            -       "        -2.88689470e+00, -2.59753019e-01,  1.83168995e+00,\n",
            -       "        -5.59702826e+00, -5.45363486e-01,  4.74622154e+00,\n",
            -       "         7.84159184e+00,  7.90888882e+00, -1.89434886e+00,\n",
            -       "        -4.59797335e+00, -5.81234455e+00, -1.44287062e+00,\n",
            -       "        -1.03176842e+01,  1.72845376e+00, -4.21865988e+00,\n",
            -       "        -2.41528332e-01, -3.51904678e+00, -3.86472702e+00,\n",
            -       "        -8.33917618e+00, -2.86969948e+00,  9.17288303e+00,\n",
            -       "         9.08611679e+00, -7.91800928e+00,  6.45593882e+00,\n",
            -       "        -5.40709019e+00,  1.03506794e+01, -3.90159106e+00,\n",
            -       "        -5.60358238e+00,  3.02379179e+00,  5.49144506e+00,\n",
            -       "         1.07119732e+01,  4.13225114e-01, -5.58654308e+00,\n",
            -       "         2.38638973e+00, -2.92863822e+00, -9.32064176e-01,\n",
            -       "        -5.47271252e+00,  1.19561327e+00,  1.26454878e+01,\n",
            -       "        -7.34495687e+00,  8.26337337e+00, -1.26257706e+00,\n",
            -       "         4.92097187e+00,  2.12870312e+00, -2.17358923e+00,\n",
            -       "        -3.96695042e+00,  6.61581874e-01,  8.85077190e+00,\n",
            -       "        -1.16093235e+01,  8.39181244e-02, -1.67453897e+00,\n",
            -       "        -7.13899088e+00,  8.08746433e+00,  2.99629211e+00,\n",
            -       "         3.96617866e+00, -4.35207939e+00,  3.00484705e+00,\n",
            -       "         9.48771238e-01,  4.28298569e+00, -1.19457293e+00,\n",
            -       "         2.45752597e+00, -2.69014406e+00, -5.79377270e+00,\n",
            -       "        -8.44127178e+00, -2.69214272e+00,  6.68628025e+00,\n",
            -       "         2.48715353e+00, -1.07650578e+00,  2.27392578e+00,\n",
            -       "        -1.51223516e+00,  3.04859757e+00, -1.00483437e+01,\n",
            -       "        -1.69506609e+00,  1.46986410e-01, -1.91448200e+00,\n",
            -       "        -9.90330100e-01,  1.42848074e+00, -1.89951634e+00,\n",
            -       "        -5.19370317e+00,  9.64916134e+00,  1.89337349e+00,\n",
            -       "        -1.90529120e+00,  5.24329305e-01,  3.37787271e+00,\n",
            -       "         1.24935162e+00, -3.98928595e+00,  1.06664634e+00,\n",
            -       "        -2.32655501e+00,  3.89265680e+00, -5.16304207e+00,\n",
            -       "         1.64964437e+00,  2.15085730e-01, -5.77951670e+00,\n",
            -       "         5.68300152e+00, -4.04687309e+00, -1.45483112e+00,\n",
            -       "         1.94204617e+00, -3.63496733e+00,  4.26030397e+00,\n",
            -       "        -7.30518246e+00, -7.07409573e+00, -2.52731180e+00,\n",
            -       "         5.80309927e-01, -3.93980503e+00,  5.90484381e+00,\n",
            -       "        -7.15272367e-01, -1.15752685e+00,  4.38277149e+00,\n",
            -       "        -2.20936552e-01,  2.76147127e+00, -2.84579486e-01,\n",
            -       "        -2.42135954e+00,  5.01637459e+00, -1.76355731e+00,\n",
            -       "        -8.02004623e+00,  2.04684105e+01,  9.89901161e+00,\n",
            -       "        -3.71212363e+00, -8.04001808e-01,  1.52333260e+01,\n",
            -       "        -2.71955824e+00, -3.53012061e+00,  5.94824219e+00,\n",
            -       "         2.87859440e+00, -6.98200035e+00, -1.31001401e+00,\n",
            -       "         3.54433417e-01,  7.41048288e+00, -8.93629551e+00,\n",
            -       "        -6.54948139e+00,  1.54468322e+00, -5.30149841e+00,\n",
            -       "         6.27821970e+00,  8.57540369e-01, -2.00245172e-01,\n",
            -       "         8.83830130e-01, -3.87067080e-01, -5.35265970e+00,\n",
            -       "         1.17853045e+00,  4.24543810e+00, -9.52724099e-01,\n",
            -       "         1.05860481e+01,  2.68119621e+00,  3.16103578e-01,\n",
            -       "         1.02651558e+01,  8.70150447e-01,  5.10061455e+00,\n",
            -       "        -8.74845922e-01,  1.06127477e+00, -1.07085204e+00,\n",
            -       "        -1.34933448e+00,  6.79564047e+00,  4.95760679e+00,\n",
            -       "        -3.85755599e-01,  1.58938322e+01,  3.82075429e+00,\n",
            -       "         8.43453884e+00, -1.87526774e+00,  2.94839168e+00,\n",
            -       "        -5.34259796e+00, -1.37222636e+00,  1.56460536e+00,\n",
            -       "        -1.82807553e+00, -3.93960208e-01, -2.65401840e+00,\n",
            -       "        -8.08656883e+00, -2.96218753e+00, -8.40376091e+00,\n",
            -       "         6.10560703e+00, -4.93199682e+00,  5.52653193e-01,\n",
            -       "        -1.50517826e+01, -5.32551575e+00,  2.01356936e+00,\n",
            -       "         8.41543484e+00,  1.65440190e+00, -2.26092815e+00,\n",
            -       "        -2.43353653e+00, -5.91755152e+00, -4.91763067e+00,\n",
            -       "         4.21300697e+00, -6.90289450e+00, -9.91271877e+00,\n",
            -       "         3.00915432e+00,  1.23764837e+00, -2.11345482e+00,\n",
            -       "        -1.16648540e-01,  4.33283758e+00, -2.26752186e+00,\n",
            -       "        -1.16003406e+00,  3.81865025e+00, -3.34965992e+00,\n",
            -       "        -8.85756016e+00,  5.39200974e+00,  1.10907221e+01,\n",
            -       "         7.02498484e+00,  2.91726619e-01,  2.56532478e+00,\n",
            -       "        -1.08591070e+01, -6.92411947e+00, -7.71028900e+00,\n",
            -       "        -2.64707375e+00, -8.07448292e+00, -1.52650061e+01,\n",
            -       "         5.43098688e+00, -3.78360510e+00,  5.23834610e+00,\n",
            -       "        -9.35549498e-01,  7.61654472e+00, -1.33892345e+00,\n",
            -       "         6.66223812e+00,  5.61331797e+00, -9.75874043e+00,\n",
            -       "        -1.04858646e+01,  1.77814394e-01,  9.24438357e-01,\n",
            -       "         2.80017948e+00, -4.24891996e+00,  7.73771095e+00,\n",
            -       "        -9.24943149e-01, -1.84135449e+00, -6.52403879e+00,\n",
            -       "        -1.71091104e+00, -3.77612948e+00,  6.72239494e+00,\n",
            -       "        -2.76906681e+00, -2.94944644e+00,  1.83637130e+00,\n",
            -       "         6.14798260e+00, -4.28675127e+00, -4.43767452e+00,\n",
            -       "        -2.81541675e-01, -1.00980639e+00,  1.40076780e+00,\n",
            -       "         2.90011930e+00, -2.16282582e+00, -1.81636465e+00,\n",
            -       "         1.30194211e+00, -2.62355518e+00,  6.56885815e+00,\n",
            -       "        -3.61158371e+00, -7.70886707e+00,  4.06852394e-01,\n",
            -       "        -9.12503910e+00, -3.99473369e-01, -2.63025022e+00,\n",
            -       "         6.63814926e+00, -6.40740514e-01, -9.53052616e+00,\n",
            -       "         1.57841671e+00, -4.32275355e-01, -8.56765866e-01,\n",
            -       "        -3.21094418e+00, -1.37355804e+01,  2.75833344e+00,\n",
            -       "        -4.30860519e+00,  7.86440325e+00,  1.00282073e+00,\n",
            -       "         2.19119835e+00, -1.11399639e+00, -6.83745909e+00,\n",
            -       "         1.79168391e+00,  4.85345078e+00,  1.77308023e+00,\n",
            -       "         3.60162592e+00,  4.91117096e+00,  3.42620850e+00,\n",
            -       "         1.86812174e+00,  4.39406633e-01,  4.64404249e+00,\n",
            -       "         5.62924576e+00,  7.49305201e+00, -5.01564980e-01,\n",
            -       "         7.47700691e-01, -2.45133638e+00, -4.43825531e+00,\n",
            -       "         2.54469180e+00, -4.52198124e+00,  1.93659878e+00,\n",
            -       "         5.14554024e+00, -1.54210615e+00,  1.13418598e+01,\n",
            -       "        -2.53370434e-01,  9.94487667e+00, -7.87288380e+00,\n",
            -       "         1.02964675e+00, -3.00911784e+00, -5.36752272e+00,\n",
            -       "        -2.14944553e+00,  1.41393316e+00,  2.45506263e+00,\n",
            -       "        -1.77195096e+00, -2.79614496e+00, -1.34936082e+00,\n",
            -       "        -1.16544704e+01, -1.95253313e+00,  8.18402481e+00,\n",
            -       "         7.21612549e+00, -4.91288090e+00,  2.19248319e+00,\n",
            -       "         9.97444451e-01,  2.07281208e+00, -3.99678826e+00,\n",
            -       "         3.54919732e-01,  4.24775451e-01, -9.11628842e-01,\n",
            -       "         6.72282791e+00,  4.29300356e+00,  3.48318577e+00,\n",
            -       "        -1.90434575e+00, -3.69519830e+00, -5.08857298e+00,\n",
            -       "         6.64628863e-01,  1.08672094e+00, -4.15021467e+00,\n",
            -       "         5.20118999e+00, -4.28416538e+00,  6.84449625e+00,\n",
            -       "         9.84103584e+00,  9.43293095e+00, -6.22304058e+00,\n",
            -       "        -8.38033295e+00,  2.60023832e+00,  2.90164185e+00,\n",
            -       "        -9.26851559e+00, -5.69589674e-01,  4.89514112e+00,\n",
            -       "         2.62224793e+00,  6.37408924e+00, -9.53890514e+00,\n",
            -       "         3.70149899e+00,  7.25612068e+00,  4.77210331e+00,\n",
            -       "        -5.49839735e+00,  3.61553311e-01,  1.88503504e+00,\n",
            -       "         1.35543537e+00,  5.75249720e+00,  6.40857279e-01,\n",
            -       "         2.82977223e+00,  1.47245991e+00, -2.95132542e+00,\n",
            -       "         6.06460047e+00,  5.75195503e+00, -4.99901915e+00,\n",
            -       "        -3.38064694e+00, -8.64464951e+00, -1.02621114e+00,\n",
            -       "        -4.99272537e+00,  8.79884422e-01, -2.89354038e+00,\n",
            -       "         7.75743103e+00, -2.95966125e+00,  4.15148163e+00,\n",
            -       "        -4.49703503e+00,  2.09148836e+00,  1.21093464e+00,\n",
            -       "        -2.56159282e+00, -4.02910739e-01,  3.59068131e+00,\n",
            -       "        -1.49127707e-01, -1.03146482e+00, -4.02073812e+00,\n",
            -       "         6.10921812e+00, -1.11715519e+00, -1.03993597e+01,\n",
            -       "         6.32133198e+00,  9.38441157e-02, -5.48374295e-01,\n",
            -       "         3.23091269e+00,  2.65178537e+00,  3.63729024e+00,\n",
            -       "         5.70872593e+00,  3.31697512e+00,  8.44650936e+00,\n",
            -       "         7.31386691e-02,  3.26802731e+00,  2.44168830e+00,\n",
            -       "        -7.86440313e-01, -8.20612526e+00, -4.75589561e+00,\n",
            -       "        -2.73538065e+00,  2.09568596e+00,  4.75485802e+00,\n",
            -       "         1.26565361e+00,  5.04449546e-01, -4.07291603e+00,\n",
            -       "         5.41869581e-01,  4.77750123e-01, -1.77831125e+00,\n",
            -       "        -2.42855740e+00,  5.80212212e+00,  2.78317261e+00,\n",
            -       "        -8.38098049e-01, -1.13215065e+01,  1.04781361e+01,\n",
            -       "        -1.98796690e-02, -8.12773609e+00,  3.65236521e+00,\n",
            -       "         4.78217268e+00,  5.68206692e+00,  1.17952776e+00,\n",
            -       "         3.48964882e+00, -7.54414424e-02]], dtype=float32)
          • tau
            (chain, draw)
            float32
            233.58215 994.4366 ... 27.182827
            array([[2.33582153e+02, 9.94436584e+02, 2.88996196e+00, 4.46266115e-01,\n",
            -       "        4.96314669e+00, 5.80443611e+01, 6.78751850e+00, 1.49578667e+00,\n",
            -       "        7.38433151e+01, 4.20371771e+00, 3.13775492e+00, 8.71614647e+00,\n",
            -       "        3.26564932e+00, 4.71219480e-01, 3.88621855e+00, 5.17096996e+00,\n",
            -       "        6.44069195e+00, 2.11158514e+00, 8.10319036e-02, 4.32135868e+00,\n",
            -       "        3.56079245e+00, 7.56645775e+00, 3.47996688e+00, 8.96701574e-01,\n",
            -       "        8.81987810e-01, 6.37050915e+00, 1.29537487e+00, 2.42891556e+02,\n",
            -       "        1.45000434e+00, 3.44764090e+00, 4.36339569e+00, 6.93003559e+00,\n",
            -       "        1.21201019e+01, 1.22789011e+01, 6.61703014e+00, 3.75274944e+00,\n",
            -       "        4.36765718e+00, 1.34682770e+01, 4.79594326e+00, 6.00994720e+01,\n",
            -       "        2.38157487e+00, 8.64460068e+01, 1.70366192e+00, 3.13302803e+00,\n",
            -       "        1.08464298e+01, 1.89743690e+01, 1.00153017e+01, 4.93525600e+00,\n",
            -       "        2.10727382e+00, 2.61057854e+00, 4.94686413e+00, 2.40696449e+01,\n",
            -       "        2.96104956e+00, 1.18571396e+01, 2.97007084e+01, 6.49375916e+00,\n",
            -       "        5.76199579e+00, 9.28328037e+00, 2.05416012e+00, 4.67196894e+00,\n",
            -       "        1.94539279e-01, 1.69849586e+00, 4.11854172e+00, 9.30481796e+01,\n",
            -       "        1.30114019e+00, 6.92282200e+00, 2.10049458e+01, 1.03697910e+01,\n",
            -       "        1.64222889e+01, 7.37519503e-01, 8.64608002e+00, 1.58246374e+00,\n",
            -       "        1.15422897e+01, 1.25697498e+01, 2.78301773e+01, 2.34611492e+01,\n",
            -       "        4.61381073e+01, 8.49647427e+00, 2.38395095e+00, 3.06760292e+01,\n",
            -       "        8.38161111e-01, 8.70039749e+00, 3.20347100e-01, 2.86008606e+01,\n",
            -       "        6.00329304e+00, 1.99586225e+00, 1.01666679e+01, 8.67040217e-01,\n",
            -       "        1.96274054e+00, 8.22034546e+02, 3.25686569e+01, 7.47367191e+00,\n",
            -       "        5.82090683e+01, 6.80117130e-01, 1.32837164e+00, 2.87984238e+01,\n",
            -       "        2.78351212e+00, 6.56047773e+00, 7.62254834e-01, 1.19701965e+02,\n",
            -       "        3.16393661e+00, 9.53789806e+00, 1.14697514e+01, 9.03164291e+00,\n",
            -       "        1.99453759e+00, 5.68666697e+00, 1.65687599e+01, 1.67806506e-01,\n",
            -       "        7.41473317e-01, 3.13937008e-01, 2.65185714e+00, 3.46124039e+01,\n",
            -       "        1.43749255e+03, 4.64936829e+00, 1.42269874e+00, 3.32906990e+01,\n",
            -       "        1.39783907e+00, 1.89604580e+00, 6.28229370e+01, 4.18284950e+01,\n",
            -       "        7.72986352e-01, 2.69628406e+00, 2.78242207e+00, 2.73950160e-01,\n",
            -       "        5.61358929e+00, 3.10696411e+00, 4.68212414e+00, 1.69084892e-01,\n",
            -       "        1.76831853e+00, 3.58425570e+00, 1.66552944e+01, 6.66814518e+00,\n",
            -       "        2.22552757e+01, 2.18585186e+01, 4.84984636e+00, 2.61942062e+01,\n",
            -       "        6.71889210e+00, 3.07793331e+01, 7.65414143e+00, 6.03538275e+00,\n",
            -       "        1.08152752e+01, 1.53035221e+01, 1.82176857e+01, 5.10415316e+00,\n",
            -       "        2.33483219e+01, 9.00594652e-01, 1.42888498e+01, 1.11383905e+01,\n",
            -       "        2.80002928e+00, 1.97191668e+00, 9.47514629e+00, 1.59550037e+01,\n",
            -       "        1.24129760e+00, 3.00389910e+00, 7.33918142e+00, 2.03434730e+00,\n",
            -       "        1.40971959e+00, 2.60195613e+00, 5.19892263e+00, 4.85553789e+00,\n",
            -       "        4.01490164e+00, 5.50108337e+00, 1.95370235e+01, 3.57205272e+00,\n",
            -       "        3.22123230e-01, 3.18224182e+01, 5.46338511e+00, 3.92666698e+00,\n",
            -       "        1.19204788e+01, 3.34672689e+00, 1.28777447e+01, 7.79884398e-01,\n",
            -       "        6.61139846e-01, 1.53919148e+00, 2.90023565e+00, 2.00248814e+00,\n",
            -       "        5.53505516e+00, 6.83246183e+00, 4.38924694e+00, 8.34967804e+00,\n",
            -       "        5.10579491e+00, 1.58182859e+01, 1.78390675e+01, 5.87143898e+00,\n",
            -       "        8.79881096e+00, 2.89170361e+00, 1.12620888e+01, 1.57768428e+00,\n",
            -       "        2.32329521e+01, 5.88128757e+00, 3.41677904e+00, 7.61884537e+01,\n",
            -       "        5.26621222e-01, 2.92264342e+00, 1.46880138e+00, 1.58016682e+00,\n",
            -       "        3.81652985e+01, 2.46611953e+00, 4.79778290e+00, 1.88320708e+00,\n",
            -       "        1.90092564e+00, 7.12588310e-01, 9.07944775e+00, 7.06309557e+00,\n",
            -       "        2.61442447e+00, 1.78211820e+00, 3.95346403e+00, 2.53750610e+00,\n",
            -       "        8.14840674e-01, 2.00210166e+00, 2.62024078e+01, 5.12925744e-01,\n",
            -       "        6.95824099e+00, 2.35959935e+00, 1.71262836e+00, 5.10069351e+01,\n",
            -       "        3.19263029e+00, 1.15136087e-01, 1.57397881e+01, 9.10933018e-01,\n",
            -       "        2.54393845e+01, 1.22716546e+00, 6.51532364e+00, 2.91248016e+01,\n",
            -       "        6.27013743e-02, 7.57493925e+00, 1.00060427e+00, 1.94976521e+00,\n",
            -       "        1.05164957e+01, 1.20389929e+01, 7.51705074e+00, 1.34320679e+02,\n",
            -       "        4.60176182e+00, 5.06012535e+00, 3.81312418e+00, 3.13340473e+00,\n",
            -       "        1.12241850e+01, 6.68661475e-01, 9.63961029e+00, 1.80393448e+01,\n",
            -       "        1.27726388e+00, 8.14500600e-02, 1.34037886e+01, 4.43923569e+00,\n",
            -       "        9.86487961e+00, 4.39872217e+00, 4.16832018e+00, 1.09472620e+00,\n",
            -       "        2.91746311e+01, 1.49736700e+01, 9.17174101e-01, 1.25601950e+01,\n",
            -       "        5.54890394e-01, 5.42279053e+00, 1.89136982e+00, 3.33140159e+00,\n",
            -       "        5.18533659e+00, 8.20474243e+00, 3.74159360e+00, 6.61919546e+00,\n",
            -       "        9.13305569e+00, 1.16696537e+00, 6.32780876e+01, 4.78538799e+00,\n",
            -       "        9.15983295e+00, 1.19233716e+00, 4.15419197e+00, 3.01625061e+00,\n",
            -       "        1.33225393e+01, 8.89955699e-01, 3.94315934e+00, 1.25022098e-01,\n",
            -       "        1.56112921e+00, 2.40924430e+00, 5.45164061e+00, 3.19068031e+01,\n",
            -       "        2.74245787e+00, 5.39334259e+01, 2.68976002e+01, 3.05201454e+01,\n",
            -       "        1.01681805e+00, 3.24505115e+00, 3.51270258e-01, 3.39455485e+00,\n",
            -       "        1.03448999e+00, 6.52295971e+00, 8.54770851e+00, 3.17444348e+00,\n",
            -       "        1.41029816e+01, 8.06216145e+00, 4.02719927e+00, 8.40551949e+00,\n",
            -       "        7.55664349e+00, 5.41498232e+00, 2.03295345e+01, 1.33403766e+00,\n",
            -       "        3.10369968e+00, 9.22239971e+00, 1.33640230e+00, 3.04194498e+00,\n",
            -       "        1.49802998e-01, 7.67462845e+01, 1.00229049e+00, 9.41823196e+00,\n",
            -       "        2.40813103e+01, 5.96192837e-01, 1.24422464e+01, 6.29803009e+01,\n",
            -       "        9.61070156e+00, 3.14717960e+00, 3.35008736e+01, 1.62203751e+02,\n",
            -       "        4.78771782e+00, 9.57639408e+00, 2.18938899e+00, 6.93462944e+00,\n",
            -       "        1.47582645e+01, 1.59039507e+01, 3.55825844e+01, 1.57970297e+00,\n",
            -       "        6.86061192e+00, 1.46212173e+00, 1.21917558e+00, 5.43149567e+00,\n",
            -       "        1.26152265e+00, 2.14529729e+00, 3.60484076e+00, 3.20548248e+00,\n",
            -       "        8.68775845e+00, 4.69007778e+00, 6.97661924e+00, 2.86727786e+00,\n",
            -       "        6.55940008e+00, 3.04591227e+00, 6.40091038e+00, 7.69913483e+01,\n",
            -       "        1.76605213e+00, 1.69695389e+00, 1.49314392e+02, 1.74520826e+00,\n",
            -       "        2.10937786e+00, 1.85648233e-01, 7.94631481e+00, 4.20290565e+00,\n",
            -       "        1.58578515e+00, 2.86422396e+00, 2.78503656e+00, 1.90926838e+01,\n",
            -       "        2.03964019e+00, 2.16318626e+01, 9.85763626e+01, 8.25113773e+00,\n",
            -       "        7.35772908e-01, 4.36113882e+00, 1.37380188e+02, 4.84867334e+00,\n",
            -       "        1.83547437e+00, 7.29557495e+01, 1.18845024e+01, 6.21232643e+01,\n",
            -       "        8.89026070e+00, 8.67310905e+00, 9.10755172e-02, 4.66671085e+00,\n",
            -       "        7.80379639e+01, 4.44808617e+01, 1.78106499e+01, 1.36136341e+01,\n",
            -       "        1.11453638e+01, 6.47962141e+00, 3.14819312e+00, 3.80757451e+00,\n",
            -       "        6.99266315e-01, 5.32106857e+01, 2.26561832e+00, 1.17912173e+00,\n",
            -       "        1.61539803e+01, 1.64006214e+01, 6.56036139e+00, 2.02290916e+01,\n",
            -       "        1.35110483e+01, 1.61717999e+00, 4.25558233e+00, 1.24771166e+00,\n",
            -       "        8.42467189e-01, 3.71366239e+00, 1.12391367e+01, 7.85699415e+00,\n",
            -       "        1.17313776e+01, 2.07943416e+00, 1.07938728e+01, 1.71249676e+01,\n",
            -       "        4.25358963e+00, 3.37078810e+00, 2.89949465e+00, 6.30591965e+01,\n",
            -       "        8.41671944e-01, 2.24199390e+00, 2.29184461e+00, 1.12583256e+01,\n",
            -       "        1.59082878e+00, 1.61483455e+00, 8.51412296e+00, 2.94279718e+00,\n",
            -       "        1.55814886e+00, 1.94127309e+00, 3.83025789e+00, 7.02682590e+00,\n",
            -       "        2.06390142e+00, 1.34827960e+00, 2.81168457e+02, 6.22805953e-01,\n",
            -       "        8.24851453e-01, 2.11877942e-01, 3.92178574e+01, 9.66570312e+02,\n",
            -       "        3.94462729e+00, 7.99840927e-01, 1.70189846e+00, 1.00781441e+01,\n",
            -       "        2.87433743e-01, 1.20128322e+00, 2.29061928e+01, 3.59614491e+00,\n",
            -       "        4.05278158e+00, 1.58789263e+01, 1.11763752e+00, 1.74107971e+01,\n",
            -       "        1.57513487e+00, 1.86496060e-02, 7.02734985e+01, 3.25848503e+01,\n",
            -       "        3.71071362e+00, 1.89383469e+01, 4.06730556e+00, 1.25093555e+00,\n",
            -       "        1.31658208e+00, 6.87853718e+00, 4.67559671e+00, 2.59621410e+01,\n",
            -       "        2.93781424e+00, 8.28132534e+00, 2.93957710e+00, 2.71064987e+01,\n",
            -       "        1.96016669e-01, 7.85356760e-01, 3.60274577e+00, 2.52142549e+00,\n",
            -       "        6.00418663e+00, 1.30085669e+01, 4.41197300e+00, 4.23312283e+00,\n",
            -       "        1.43678570e+00, 9.44298446e-01, 1.23984262e-01, 4.08745956e+01,\n",
            -       "        3.59652996e-01, 4.51054305e-01, 2.02281017e+01, 5.19320641e+01,\n",
            -       "        2.71144605e+00, 2.10441933e+01, 2.76381893e+01, 2.75218344e+00,\n",
            -       "        1.07174101e+01, 1.65728331e+00, 1.40117636e+01, 5.70923004e+01,\n",
            -       "        2.04354548e+00, 7.14082837e-01, 1.98984873e+00, 2.52286911e+01,\n",
            -       "        2.85708785e+00, 8.33650780e+00, 3.08708382e+00, 4.20598221e+00,\n",
            -       "        3.83560791e+01, 6.60561275e+00, 3.31780434e+00, 1.28404593e+00,\n",
            -       "        1.66767464e+01, 6.89008808e+00, 5.83668041e+00, 1.42359662e+00,\n",
            -       "        6.85395598e-02, 9.49191093e-01, 1.09593658e+01, 1.75060701e+00,\n",
            -       "        1.01909657e+01, 4.41580963e+00, 1.00245590e+01, 8.76809508e-02,\n",
            -       "        5.11244965e+00, 3.84632111e+00, 7.63232660e+00, 4.04119635e+00,\n",
            -       "        2.86264753e+00, 5.07223177e+00, 9.76756382e+00, 2.71828270e+01]],\n",
            -       "      dtype=float32)
          • theta_tilde
            (chain, draw, theta_tilde_dim_0)
            float32
            0.6022393 ... -0.31073767
            array([[[ 0.6022393 , -0.39827886,  0.19862896, ..., -0.95424646,\n",
            -       "         -1.1647658 ,  0.3821102 ],\n",
            -       "        [-1.497994  ,  0.74775034, -0.78757095, ..., -1.6560527 ,\n",
            -       "         -1.613713  , -0.46137986],\n",
            -       "        [-0.16146933,  0.2763805 , -0.8783446 , ...,  0.56389153,\n",
            -       "         -0.01581344, -0.8957549 ],\n",
            -       "        ...,\n",
            -       "        [-1.1428025 , -1.1540538 , -1.0932158 , ...,  1.6082281 ,\n",
            -       "         -2.009276  , -0.5227252 ],\n",
            -       "        [ 1.8399812 ,  0.33280653,  0.45785332, ...,  1.834717  ,\n",
            -       "          0.8924277 ,  1.2369446 ],\n",
            -       "        [-0.14975677,  0.8303282 , -0.00824529, ..., -1.6754906 ,\n",
            -       "          0.26279444, -0.31073767]]], dtype=float32)
        • created_at :
          2020-06-10T18:21:33.976125
          arviz_version :
          0.8.3
          inference_library :
          pyro
          inference_library_version :
          1.1.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 1
          • draw: 500
          • obs_dim_0: 8
          • chain
            (chain)
            int64
            0
            array([0])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • obs_dim_0
            (obs_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • obs
            (chain, draw, obs_dim_0)
            float32
            152.4126 -104.43863 ... -19.538307
            array([[[ 1.5241260e+02, -1.0443863e+02,  5.3149067e+01, ...,\n",
            -       "         -2.1432968e+02, -2.7346640e+02,  9.8980553e+01],\n",
            -       "        [-1.4595604e+03,  7.5740137e+02, -7.9331067e+02, ...,\n",
            -       "         -1.6279233e+03, -1.6046724e+03, -4.5491840e+02],\n",
            -       "        [-1.2688635e+01, -1.5242083e+01,  6.5625114e+00, ...,\n",
            -       "          7.7777863e-01,  1.3528487e+01, -4.4868240e+01],\n",
            -       "        ...,\n",
            -       "        [ 6.5915680e+00, -8.9369183e+00, -1.1899769e+01, ...,\n",
            -       "         -1.4138508e-01, -2.4801119e+01, -1.1125523e+00],\n",
            -       "        [ 1.1234647e+01,  9.1552639e+00,  1.3359819e+01, ...,\n",
            -       "          6.3331509e+00, -6.9926414e+00,  2.9034739e+01],\n",
            -       "        [ 3.9082799e+00,  2.4938337e+01,  1.8535004e+01, ...,\n",
            -       "         -4.8968292e+01,  1.1919480e+01, -1.9538307e+01]]], dtype=float32)
        • created_at :
          2020-06-10T18:21:34.025492
          arviz_version :
          0.8.3
          inference_library :
          pyro
          inference_library_version :
          1.1.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • obs_dim_0: 8
          • obs_dim_0
            (obs_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • obs
            (obs_dim_0)
            float32
            28.0 8.0 -3.0 7.0 ... 1.0 18.0 12.0
            array([28.,  8., -3.,  7., -1.,  1., 18., 12.], dtype=float32)
        • created_at :
          2020-06-10T18:21:34.070465
          arviz_version :
          0.8.3
          inference_library :
          pyro
          inference_library_version :
          1.1.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pyro\n", - "import pyro.distributions as dist\n", - "import torch\n", - "from pyro.infer import MCMC, NUTS, Predictive\n", - "\n", - "pyro.enable_validation(True)\n", - "pyro.set_rng_seed(0)\n", - "\n", - "draws = 500\n", - "chains = 2\n", - "eight_school_data = {\n", - " \"J\": 8,\n", - " \"y\": torch.tensor([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]),\n", - " \"sigma\": torch.tensor([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]),\n", - "}\n", - "\n", - "\n", - "def model(J, sigma, y=None):\n", - " mu = pyro.sample(\"mu\", dist.Normal(0, 5))\n", - " tau = pyro.sample(\"tau\", dist.HalfCauchy(5))\n", - " with pyro.plate(\"J\", J):\n", - " theta_tilde = pyro.sample(\"theta_tilde\", dist.Normal(0, 1))\n", - " theta = mu + tau * theta_tilde\n", - " return pyro.sample(\"obs\", dist.Normal(theta, sigma), obs=y)\n", - "\n", - "\n", - "nuts_kernel = NUTS(model, jit_compile=True, ignore_jit_warnings=True)\n", - "mcmc = MCMC(\n", - " nuts_kernel,\n", - " num_samples=draws,\n", - " warmup_steps=draws,\n", - " num_chains=chains,\n", - " disable_progbar=True,\n", - ")\n", - "mcmc.run(**eight_school_data)\n", - "posterior_samples = mcmc.get_samples()\n", - "posterior_predictive = Predictive(model, posterior_samples)(\n", - " eight_school_data[\"J\"], eight_school_data[\"sigma\"]\n", - ")\n", - "prior = Predictive(model, num_samples=500)(eight_school_data[\"J\"], eight_school_data[\"sigma\"])\n", - "\n", - "pyro_data = az.from_pyro(\n", - " mcmc,\n", - " prior=prior,\n", - " posterior_predictive=posterior_predictive,\n", - " coords={\"school\": np.arange(eight_school_data[\"J\"])},\n", - " dims={\"theta\": [\"school\"]},\n", - ")\n", - "pyro_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From emcee" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Please refer to {ref}`emcee_conversion` for details." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From CmdStanPy" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:14.965999Z", - "start_time": "2020-06-05T06:48:11.404455Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO:cmdstanpy:compiling c++\n", - "INFO:cmdstanpy:compiled model file: /Users/percy/PycharmProjects/arviz/doc/notebooks/eight_school\n", - "INFO:cmdstanpy:found newer exe file, not recompiling\n", - "INFO:cmdstanpy:compiled model file: /Users/percy/PycharmProjects/arviz/doc/notebooks/eight_school\n", - "INFO:cmdstanpy:start chain 1\n", - "INFO:cmdstanpy:start chain 2\n", - "INFO:cmdstanpy:finish chain 2\n", - "INFO:cmdstanpy:start chain 3\n", - "INFO:cmdstanpy:finish chain 1\n", - "INFO:cmdstanpy:start chain 4\n", - "INFO:cmdstanpy:finish chain 3\n", - "INFO:cmdstanpy:finish chain 4\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • mu
            (chain, draw)
            float64
            2.908 8.134 3.037 ... 2.672 10.06
            array([[ 2.90813,  8.1337 ,  3.03685, ...,  3.49247,  2.69144,  2.77848],\n",
            -       "       [ 1.20098,  3.74153,  5.71236, ...,  5.38302,  1.55543,  6.85928],\n",
            -       "       [ 4.5479 ,  4.21596,  6.53758, ...,  1.8295 ,  6.26736, -2.83281],\n",
            -       "       [ 7.2998 ,  7.03214,  1.5383 , ...,  3.01368,  2.67249, 10.056  ]])
          • tau
            (chain, draw)
            float64
            3.566 1.06 1.014 ... 0.5414 5.807
            array([[ 3.56579  ,  1.06035  ,  1.0145   , ...,  0.295652 ,  0.152276 ,\n",
            -       "         1.27931  ],\n",
            -       "       [ 3.75274  ,  1.13823  ,  1.8422   , ...,  8.23264  ,  3.29958  ,\n",
            -       "         9.06202  ],\n",
            -       "       [ 0.0756374, 14.1684   ,  2.65082  , ...,  1.91313  ,  7.97043  ,\n",
            -       "         4.03989  ],\n",
            -       "       [ 0.0525536,  0.213029 ,  2.08631  , ...,  0.51228  ,  0.541425 ,\n",
            -       "         5.80725  ]])
          • theta_tilde
            (chain, draw, school)
            float64
            1.911 0.3988 ... 1.757 0.5014
            array([[[ 1.91055  ,  0.398843 , -0.206331 , ..., -1.11405  ,\n",
            -       "          1.85739  , -1.37968  ],\n",
            -       "        [-1.1159   , -0.447728 , -0.505903 , ...,  0.962855 ,\n",
            -       "         -0.601752 ,  0.89427  ],\n",
            -       "        [ 1.60719  , -0.596497 ,  0.151931 , ..., -1.28024  ,\n",
            -       "          0.930506 , -0.765005 ],\n",
            -       "        ...,\n",
            -       "        [-0.65252  , -0.933794 ,  1.11489  , ..., -0.606474 ,\n",
            -       "          0.323287 , -2.09671  ],\n",
            -       "        [-0.678068 , -0.391203 ,  0.887894 , ..., -0.721647 ,\n",
            -       "          0.131326 , -2.29018  ],\n",
            -       "        [ 0.0366895, -0.557451 ,  0.756044 , ...,  0.99686  ,\n",
            -       "          0.903742 , -0.308114 ]],\n",
            -       "\n",
            -       "       [[ 1.52082  ,  2.08589  , -1.2005   , ..., -0.602199 ,\n",
            -       "          1.88407  ,  0.109757 ],\n",
            -       "        [ 0.0451789, -1.61133  ,  1.96004  , ..., -0.548927 ,\n",
            -       "          0.375405 , -0.0377435],\n",
            -       "        [-0.216968 ,  1.40354  , -2.17544  , ...,  0.335058 ,\n",
            -       "         -0.201998 , -0.0420111],\n",
            -       "        ...,\n",
            -       "        [-1.24541  ,  1.44617  ,  1.26991  , ..., -0.517744 ,\n",
            -       "          1.06641  , -0.328943 ],\n",
            -       "        [-0.26795  , -0.471647 ,  0.916106 , ..., -0.0443553,\n",
            -       "          1.10523  ,  0.802313 ],\n",
            -       "        [ 0.860489 , -0.755706 , -0.221758 , ..., -0.881374 ,\n",
            -       "          1.02386  ,  2.26025  ]],\n",
            -       "\n",
            -       "       [[-0.728935 , -1.30284  , -0.725011 , ..., -1.13638  ,\n",
            -       "         -0.623346 ,  1.20411  ],\n",
            -       "        [ 0.877633 ,  1.57903  ,  0.657069 , ...,  1.18061  ,\n",
            -       "          0.873288 , -0.777553 ],\n",
            -       "        [ 1.92013  ,  1.41113  ,  0.565262 , ...,  0.892794 ,\n",
            -       "          1.17681  , -1.14554  ],\n",
            -       "        ...,\n",
            -       "        [-0.787386 , -1.34728  ,  0.938111 , ...,  0.212187 ,\n",
            -       "          1.5131   , -0.159953 ],\n",
            -       "        [ 1.29339  ,  0.0357047, -0.315845 , ...,  0.0184302,\n",
            -       "          0.789759 ,  0.502829 ],\n",
            -       "        [ 1.57545  ,  0.430001 ,  0.0687333, ...,  0.335712 ,\n",
            -       "          1.7016   , -1.64133  ]],\n",
            -       "\n",
            -       "       [[ 0.409093 ,  0.464062 ,  0.978    , ..., -0.780695 ,\n",
            -       "         -0.585484 ,  1.81793  ],\n",
            -       "        [ 0.076946 , -0.649097 , -0.768641 , ..., -0.375243 ,\n",
            -       "          0.651451 , -2.41116  ],\n",
            -       "        [-0.474311 , -0.847334 ,  0.663324 , ...,  0.276397 ,\n",
            -       "         -0.65441  ,  2.32434  ],\n",
            -       "        ...,\n",
            -       "        [-1.25161  ,  0.453957 ,  2.11518  , ..., -0.90933  ,\n",
            -       "          2.48317  , -0.782639 ],\n",
            -       "        [-0.137756 , -0.0470846, -1.45337  , ..., -2.4094   ,\n",
            -       "         -1.58137  ,  0.137089 ],\n",
            -       "        [ 1.41579  , -0.0828588,  1.27436  , ...,  0.247186 ,\n",
            -       "          1.75653  ,  0.501351 ]]])
          • theta
            (chain, draw, school)
            float64
            9.721 4.33 2.172 ... 20.26 12.97
            array([[[ 9.72074e+00,  4.33032e+00,  2.17239e+00, ..., -1.06433e+00,\n",
            -       "          9.53118e+00, -2.01152e+00],\n",
            -       "        [ 6.95047e+00,  7.65896e+00,  7.59727e+00, ...,  9.15466e+00,\n",
            -       "          7.49564e+00,  9.08194e+00],\n",
            -       "        [ 4.66734e+00,  2.43171e+00,  3.19099e+00, ...,  1.73805e+00,\n",
            -       "          3.98085e+00,  2.26076e+00],\n",
            -       "        ...,\n",
            -       "        [ 3.29955e+00,  3.21639e+00,  3.82208e+00, ...,  3.31316e+00,\n",
            -       "          3.58805e+00,  2.87257e+00],\n",
            -       "        [ 2.58818e+00,  2.63187e+00,  2.82664e+00, ...,  2.58155e+00,\n",
            -       "          2.71143e+00,  2.34270e+00],\n",
            -       "        [ 2.82542e+00,  2.06533e+00,  3.74569e+00, ...,  4.05377e+00,\n",
            -       "          3.93464e+00,  2.38430e+00]],\n",
            -       "\n",
            -       "       [[ 6.90821e+00,  9.02878e+00, -3.30420e+00, ..., -1.05892e+00,\n",
            -       "          8.27142e+00,  1.61287e+00],\n",
            -       "        [ 3.79295e+00,  1.90747e+00,  5.97250e+00, ...,  3.11672e+00,\n",
            -       "          4.16882e+00,  3.69857e+00],\n",
            -       "        [ 5.31266e+00,  8.29796e+00,  1.70476e+00, ...,  6.32960e+00,\n",
            -       "          5.34024e+00,  5.63497e+00],\n",
            -       "        ...,\n",
            -       "        [-4.86998e+00,  1.72888e+01,  1.58377e+01, ...,  1.12062e+00,\n",
            -       "          1.41624e+01,  2.67495e+00],\n",
            -       "        [ 6.71302e-01, -8.13246e-04,  4.57819e+00, ...,  1.40907e+00,\n",
            -       "          5.20222e+00,  4.20272e+00],\n",
            -       "        [ 1.46570e+01,  1.10534e-02,  4.84970e+00, ..., -1.12774e+00,\n",
            -       "          1.61376e+01,  2.73417e+01]],\n",
            -       "\n",
            -       "       [[ 4.49277e+00,  4.44936e+00,  4.49306e+00, ...,  4.46195e+00,\n",
            -       "          4.50075e+00,  4.63898e+00],\n",
            -       "        [ 1.66506e+01,  2.65883e+01,  1.35256e+01, ...,  2.09433e+01,\n",
            -       "          1.65890e+01, -6.80072e+00],\n",
            -       "        [ 1.16275e+01,  1.02782e+01,  8.03598e+00, ...,  8.90421e+00,\n",
            -       "          9.65709e+00,  3.50097e+00],\n",
            -       "        ...,\n",
            -       "        [ 3.23128e-01, -7.48028e-01,  3.62423e+00, ...,  2.23544e+00,\n",
            -       "          4.72425e+00,  1.52349e+00],\n",
            -       "        [ 1.65762e+01,  6.55194e+00,  3.74994e+00, ...,  6.41426e+00,\n",
            -       "          1.25621e+01,  1.02751e+01],\n",
            -       "        [ 3.53185e+00, -1.09566e+00, -2.55514e+00, ..., -1.47657e+00,\n",
            -       "          4.04147e+00, -9.46361e+00]],\n",
            -       "\n",
            -       "       [[ 7.32130e+00,  7.32419e+00,  7.35120e+00, ...,  7.25878e+00,\n",
            -       "          7.26903e+00,  7.39534e+00],\n",
            -       "        [ 7.04853e+00,  6.89386e+00,  6.86839e+00, ...,  6.95220e+00,\n",
            -       "          7.17091e+00,  6.51849e+00],\n",
            -       "        [ 5.48734e-01, -2.29508e-01,  2.92220e+00, ...,  2.11494e+00,\n",
            -       "          1.72992e-01,  6.38759e+00],\n",
            -       "        ...,\n",
            -       "        [ 2.37250e+00,  3.24623e+00,  4.09725e+00, ...,  2.54785e+00,\n",
            -       "          4.28576e+00,  2.61275e+00],\n",
            -       "        [ 2.59791e+00,  2.64700e+00,  1.88560e+00, ...,  1.36798e+00,\n",
            -       "          1.81630e+00,  2.74672e+00],\n",
            -       "        [ 1.82778e+01,  9.57482e+00,  1.74565e+01, ...,  1.14915e+01,\n",
            -       "          2.02566e+01,  1.29675e+01]]])
        • created_at :
          2020-06-10T18:21:56.176067
          arviz_version :
          0.8.3
          inference_library :
          cmdstanpy
          inference_library_version :
          0.8.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y_hat
            (chain, draw, school)
            float64
            27.32 16.59 19.23 ... 15.28 -14.33
            array([[[ 27.316   ,  16.5918  ,  19.2331  , ...,  -2.68653 ,\n",
            -       "          12.2412  ,  27.0189  ],\n",
            -       "        [ 13.7773  ,  -4.34203 ,   3.61368 , ...,   2.72659 ,\n",
            -       "          13.737   ,   2.31227 ],\n",
            -       "        [ -3.79392 ,  -0.568726, -16.99    , ...,   8.77864 ,\n",
            -       "           6.83554 , -24.1435  ],\n",
            -       "        ...,\n",
            -       "        [ 16.0011  ,  16.3268  ,   0.235298, ..., -14.9994  ,\n",
            -       "           6.60276 ,  -0.33642 ],\n",
            -       "        [ -3.59346 ,  -7.50548 ,  -0.90007 , ...,  -0.173541,\n",
            -       "           3.61428 ,  25.8661  ],\n",
            -       "        [  5.06708 ,  -4.07957 , -23.1559  , ...,   7.18739 ,\n",
            -       "           9.59156 ,   5.01793 ]],\n",
            -       "\n",
            -       "       [[ -0.843751,  -4.98264 , -18.7942  , ...,  -6.34356 ,\n",
            -       "         -11.4954  , -30.0613  ],\n",
            -       "        [-32.9141  ,  -6.91807 ,  -6.90439 , ...,  10.1167  ,\n",
            -       "           3.70618 ,   8.15487 ],\n",
            -       "        [  2.88749 ,   0.686142,  24.0905  , ...,   9.77811 ,\n",
            -       "          31.1765  , -18.8176  ],\n",
            -       "        ...,\n",
            -       "        [-10.4054  ,  38.8779  ,  -1.72784 , ...,   2.10858 ,\n",
            -       "           1.71828 , -41.049   ],\n",
            -       "        [-34.6393  ,  -8.05134 ,   0.299065, ...,  -5.08346 ,\n",
            -       "          14.0737  ,  18.2229  ],\n",
            -       "        [ 20.5415  ,  -7.11264 ,  16.6271  , ...,  -6.10246 ,\n",
            -       "          16.3215  ,  28.9235  ]],\n",
            -       "\n",
            -       "       [[ -0.601871, -11.7324  ,  20.1891  , ...,  14.0161  ,\n",
            -       "          -1.10264 ,  -0.811892],\n",
            -       "        [ 16.1775  ,  19.1952  ,   7.63344 , ...,  15.3313  ,\n",
            -       "          20.5808  ,  -0.475661],\n",
            -       "        [ -6.71155 ,  -3.46014 ,  15.4774  , ...,  22.6551  ,\n",
            -       "          -6.43601 ,  23.9684  ],\n",
            -       "        ...,\n",
            -       "        [ 19.7332  , -20.677   ,  24.276   , ...,  12.3559  ,\n",
            -       "          11.5496  ,  17.943   ],\n",
            -       "        [ 13.6132  ,   5.89891 ,  -6.70882 , ...,   5.5949  ,\n",
            -       "          16.5097  , -13.9093  ],\n",
            -       "        [ 26.0067  ,  -2.92887 ,  28.0343  , ..., -11.2195  ,\n",
            -       "           3.37155 ,  -8.39441 ]],\n",
            -       "\n",
            -       "       [[ -1.77315 ,  -0.850641,  31.9772  , ...,  12.9403  ,\n",
            -       "          19.1804  , -11.9612  ],\n",
            -       "        [ 12.9344  ,  -7.44461 ,   0.504742, ..., -11.9935  ,\n",
            -       "          -5.35724 ,  20.562   ],\n",
            -       "        [-11.582   ,  -9.02636 ,  18.8871  , ...,   2.61293 ,\n",
            -       "         -10.874   ,  33.0402  ],\n",
            -       "        ...,\n",
            -       "        [ 15.5324  ,  14.9454  ,   7.0026  , ...,  -0.143009,\n",
            -       "           3.01618 ,  -5.04935 ],\n",
            -       "        [-14.324   ,  -4.90844 , -12.5231  , ..., -15.5133  ,\n",
            -       "           7.05567 , -27.792   ],\n",
            -       "        [ 15.8131  ,  14.6397  ,  33.993   , ...,   1.04319 ,\n",
            -       "          15.2797  , -14.3346  ]]])
        • created_at :
          2020-06-10T18:21:56.187926
          arviz_version :
          0.8.3
          inference_library :
          cmdstanpy
          inference_library_version :
          0.8.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • log_lik
            (chain, draw, school)
            float64
            -4.37 -3.289 ... -3.247 -3.811
            array([[[-4.3695 , -3.28886, -3.74378, ..., -3.33444, -3.58013,\n",
            -       "         -4.11228],\n",
            -       "        [-4.61162, -3.22211, -3.91087, ..., -3.59162, -3.77323,\n",
            -       "         -3.82245],\n",
            -       "        [-4.8368 , -3.37655, -3.76639, ..., -3.31908, -4.20421,\n",
            -       "         -3.95569],\n",
            -       "        ...,\n",
            -       "        [-4.98279, -3.33594, -3.78243, ..., -3.33894, -4.26005,\n",
            -       "         -3.93788],\n",
            -       "        [-5.06201, -3.36561, -3.75784, ..., -3.32717, -4.39022,\n",
            -       "         -3.95324],\n",
            -       "        [-5.03534, -3.39763, -3.7804 , ..., -3.35537, -4.21069,\n",
            -       "         -3.952  ]],\n",
            -       "\n",
            -       "       [[-4.61557, -3.22682, -3.69171, ..., -3.33435, -3.69475,\n",
            -       "         -3.97581],\n",
            -       "        [-4.92917, -3.40712, -3.84876, ..., -3.33535, -4.17803,\n",
            -       "         -3.91566],\n",
            -       "        [-4.7708 , -3.22197, -3.73476, ..., -3.43421, -4.02287,\n",
            -       "         -3.87183],\n",
            -       "        ...,\n",
            -       "        [-6.02796, -3.65293, -4.38461, ..., -3.31689, -3.29516,\n",
            -       "         -3.9435 ],\n",
            -       "        [-5.28667, -3.54159, -3.80369, ..., -3.31753, -4.04044,\n",
            -       "         -3.90313],\n",
            -       "        [-4.02262, -3.54064, -3.81187, ..., -3.33554, -3.23887,\n",
            -       "         -4.17253]],\n",
            -       "\n",
            -       "       [[-4.85497, -3.28456, -3.80119, ..., -3.36636, -4.13267,\n",
            -       "         -3.89293],\n",
            -       "        [-3.91323, -4.94915, -4.22492, ..., -4.96036, -3.23148,\n",
            -       "         -4.35478],\n",
            -       "        [-4.22267, -3.24747, -3.9294 , ..., -3.575  , -3.56954,\n",
            -       "         -3.92078],\n",
            -       "        ...,\n",
            -       "        [-5.32923, -3.60416, -3.77723, ..., -3.32314, -4.10275,\n",
            -       "         -3.97869],\n",
            -       "        [-3.91699, -3.23201, -3.78051, ..., -3.43797, -3.36938,\n",
            -       "         -3.8139 ],\n",
            -       "        [-4.95741, -3.63518, -3.69191, ..., -3.34218, -4.19573,\n",
            -       "         -4.52025]],\n",
            -       "\n",
            -       "       [[-4.57723, -3.22381, -3.9008 , ..., -3.4787 , -3.79729,\n",
            -       "         -3.84203],\n",
            -       "        [-4.60246, -3.22764, -3.88173, ..., -3.46323, -3.80787,\n",
            -       "         -3.85568],\n",
            -       "        [-5.30159, -3.56015, -3.76003, ..., -3.32197, -4.81053,\n",
            -       "         -3.85792],\n",
            -       "        ...,\n",
            -       "        [-5.08647, -3.33452, -3.78991, ..., -3.32673, -4.16193,\n",
            -       "         -3.9453 ],\n",
            -       "        [-5.06091, -3.3648 , -3.73815, ..., -3.31739, -4.53108,\n",
            -       "         -3.94144],\n",
            -       "        [-3.83703, -3.23392, -4.50885, ..., -3.77167, -3.24699,\n",
            -       "         -3.81075]]])
        • created_at :
          2020-06-10T18:21:56.190772
          arviz_version :
          0.8.3
          inference_library :
          cmdstanpy
          inference_library_version :
          0.8.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • lp
            (chain, draw)
            float64
            -7.117 -8.525 ... -11.38 -11.14
            array([[ -7.11711,  -8.52527,  -8.34257, ...,  -8.99953, -10.3924 ,\n",
            -       "         -5.12677],\n",
            -       "       [ -7.40979,  -8.6973 ,  -8.36134, ...,  -9.30419,  -4.65713,\n",
            -       "         -9.11054],\n",
            -       "       [ -9.35431,  -9.76551,  -7.86183, ...,  -7.19184,  -5.21445,\n",
            -       "         -7.71352],\n",
            -       "       [-10.2665 , -13.9631 ,  -9.83918, ..., -13.5776 , -11.3765 ,\n",
            -       "        -11.145  ]])
          • accept_stat
            (chain, draw)
            float64
            0.9616 0.9694 ... 0.9886 0.429
            array([[0.96156 , 0.969437, 0.984633, ..., 0.966525, 0.988819, 0.919061],\n",
            -       "       [0.892384, 0.952504, 0.999717, ..., 0.981023, 0.945826, 0.627332],\n",
            -       "       [1.      , 0.997771, 0.14691 , ..., 1.      , 1.      , 0.459213],\n",
            -       "       [0.714025, 0.911832, 1.      , ..., 0.823447, 0.988555, 0.428968]])
          • stepsize
            (chain, draw)
            float64
            0.4064 0.4064 ... 0.4323 0.4323
            array([[0.406405, 0.406405, 0.406405, ..., 0.406405, 0.406405, 0.406405],\n",
            -       "       [0.466926, 0.466926, 0.466926, ..., 0.466926, 0.466926, 0.466926],\n",
            -       "       [0.50536 , 0.50536 , 0.50536 , ..., 0.50536 , 0.50536 , 0.50536 ],\n",
            -       "       [0.432263, 0.432263, 0.432263, ..., 0.432263, 0.432263, 0.432263]])
          • treedepth
            (chain, draw)
            int64
            3 4 3 3 4 3 4 3 ... 3 3 3 3 3 3 3 3
            array([[3, 4, 3, ..., 3, 3, 3],\n",
            -       "       [3, 3, 3, ..., 3, 3, 3],\n",
            -       "       [3, 3, 3, ..., 3, 3, 3],\n",
            -       "       [3, 3, 3, ..., 3, 3, 3]])
          • n_leapfrog
            (chain, draw)
            int64
            7 15 7 7 15 7 15 ... 7 7 15 7 15 7
            array([[ 7, 15,  7, ...,  7,  7,  7],\n",
            -       "       [ 7,  7,  7, ...,  7,  7,  7],\n",
            -       "       [ 7,  7,  7, ...,  7,  7,  7],\n",
            -       "       [15, 15,  7, ...,  7, 15,  7]])
          • diverging
            (chain, draw)
            bool
            False False False ... False False
            array([[False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False]])
          • energy
            (chain, draw)
            float64
            13.56 12.9 13.65 ... 20.86 22.16
            array([[13.556  , 12.8971 , 13.6523 , ..., 11.4512 , 14.1995 , 12.5183 ],\n",
            -       "       [12.3025 , 16.388  , 10.6192 , ..., 19.1564 , 12.9302 , 13.1066 ],\n",
            -       "       [14.6137 , 11.6894 , 14.2455 , ...,  9.98162,  9.17208, 15.7546 ],\n",
            -       "       [19.118  , 19.03   , 16.7125 , ..., 18.6839 , 20.8571 , 22.1571 ]])
        • created_at :
          2020-06-10T18:21:56.182646
          arviz_version :
          0.8.3
          inference_library :
          cmdstanpy
          inference_library_version :
          0.8.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • school: 8
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (school)
            float64
            28.0 8.0 -3.0 7.0 ... 1.0 18.0 12.0
            array([28.,  8., -3.,  7., -1.,  1., 18., 12.])
        • created_at :
          2020-06-10T18:21:56.189062
          arviz_version :
          0.8.3
          inference_library :
          cmdstanpy
          inference_library_version :
          0.8.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> observed_data" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cmdstanpy import CmdStanModel\n", - "\n", - "schools_code = \"\"\"\n", - "data {\n", - " int J;\n", - " real y[J];\n", - " real sigma[J];\n", - "}\n", - "\n", - "parameters {\n", - " real mu;\n", - " real tau;\n", - " real theta_tilde[J];\n", - "}\n", - "\n", - "transformed parameters {\n", - " real theta[J];\n", - " for (j in 1:J)\n", - " theta[j] = mu + tau * theta_tilde[j];\n", - "}\n", - "\n", - "model {\n", - " mu ~ normal(0, 5);\n", - " tau ~ cauchy(0, 5);\n", - " theta_tilde ~ normal(0, 1);\n", - " y ~ normal(theta, sigma);\n", - "}\n", - "\n", - "generated quantities {\n", - " vector[J] log_lik;\n", - " vector[J] y_hat;\n", - " for (j in 1:J) {\n", - " log_lik[j] = normal_lpdf(y[j] | theta[j], sigma[j]);\n", - " y_hat[j] = normal_rng(theta[j], sigma[j]);\n", - " }\n", - "}\n", - "\"\"\"\n", - "\n", - "with open(\"./eight_school.stan\", \"w\") as f:\n", - " print(schools_code, file=f)\n", - "\n", - "stan_file = \"./eight_school.stan\"\n", - "stan_model = CmdStanModel(stan_file=stan_file)\n", - "stan_model.compile()\n", - "\n", - "eight_school_data = {\n", - " \"J\": 8,\n", - " \"y\": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]),\n", - " \"sigma\": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]),\n", - "}\n", - "\n", - "stan_fit = stan_model.sample(data=eight_school_data)\n", - "\n", - "cmdstanpy_data = az.from_cmdstanpy(\n", - " posterior=stan_fit,\n", - " posterior_predictive=\"y_hat\",\n", - " observed_data={\"y\": eight_school_data[\"y\"]},\n", - " log_likelihood=\"log_lik\",\n", - " coords={\"school\": np.arange(eight_school_data[\"J\"])},\n", - " dims={\n", - " \"theta\": [\"school\"],\n", - " \"y\": [\"school\"],\n", - " \"log_lik\": [\"school\"],\n", - " \"y_hat\": [\"school\"],\n", - " \"theta_tilde\": [\"school\"],\n", - " },\n", - ")\n", - "cmdstanpy_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From CmdStan\n", - "\n", - "See {func}`~arviz.from_cmdstan` for details." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### CmdStan helpers" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:14.969410Z", - "start_time": "2020-06-05T06:47:05.603Z" - } - }, - "outputs": [], - "source": [ - "# save for CmdStan example (needs CmdStanPy run)\n", - "stan_fit.save_csvfiles(dir=\"sample_data\")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:14.970867Z", - "start_time": "2020-06-05T06:47:05.605Z" - } - }, - "outputs": [], - "source": [ - "schools_code = \"\"\"\n", - "data {\n", - " int J;\n", - " real y[J];\n", - " real sigma[J];\n", - "}\n", - "\n", - "parameters {\n", - " real mu;\n", - " real tau;\n", - " real theta_tilde[J];\n", - "}\n", - "\n", - "transformed parameters {\n", - " real theta[J];\n", - " for (j in 1:J)\n", - " theta[j] = mu + tau * theta_tilde[j];\n", - "}\n", - "\n", - "model {\n", - " mu ~ normal(0, 5);\n", - " tau ~ cauchy(0, 5);\n", - " theta_tilde ~ normal(0, 1);\n", - " y ~ normal(theta, sigma);\n", - "}\n", - "\n", - "generated quantities {\n", - " vector[J] log_lik;\n", - " vector[J] y_hat;\n", - " for (j in 1:J) {\n", - " log_lik[j] = normal_lpdf(y[j] | theta[j], sigma[j]);\n", - " y_hat[j] = normal_rng(theta[j], sigma[j]);\n", - " }\n", - "}\n", - "\"\"\"\n", - "\n", - "with open(\"./eight_school.stan\", \"w\") as f:\n", - " print(schools_code, file=f)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:14.972663Z", - "start_time": "2020-06-05T06:47:05.607Z" - } - }, - "outputs": [], - "source": [ - "eight_school_data = {\n", - " \"J\": 8,\n", - " \"y\": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]),\n", - " \"sigma\": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]),\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:14.974211Z", - "start_time": "2020-06-05T06:47:05.609Z" - } - }, - "outputs": [], - "source": [ - "import pystan\n", - "\n", - "pystan.stan_rdump(eight_school_data, \"./eight_school.data.R\")" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:14.975638Z", - "start_time": "2020-06-05T06:47:05.611Z" - } - }, - "outputs": [], - "source": [ - "# Bash shell\n", - "#\n", - "# $ cd cmdstan\n", - "# $ make build\n", - "# $ make path/to/eight_school\n", - "# $ cd path/to\n", - "# $ for i in {1..4}\n", - "# do\n", - "# ./eight_school sample random seed=12345 \\\n", - "# id=$i data file=eight_school.data.R \\\n", - "# output file=sample_data/eight_school_samples-$i.csv &\n", - "# done\n", - "# $" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:14.977219Z", - "start_time": "2020-06-05T06:47:05.614Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "arviz.data.io_cmdstan - INFO - glob found 12 files for 'posterior':\n", - "1: sample_data/eight_school-202006100113-1.csv\n", - "2: sample_data/eight_school-202006100113-2.csv\n", - "3: sample_data/eight_school-202006100113-3.csv\n", - "4: sample_data/eight_school-202006100113-4.csv\n", - "5: sample_data/eight_school-202006102306-1.csv\n", - "6: sample_data/eight_school-202006102306-2.csv\n", - "7: sample_data/eight_school-202006102306-3.csv\n", - "8: sample_data/eight_school-202006102306-4.csv\n", - "9: sample_data/eight_school-202006102351-1.csv\n", - "10: sample_data/eight_school-202006102351-2.csv\n", - "11: sample_data/eight_school-202006102351-3.csv\n", - "12: sample_data/eight_school-202006102351-4.csv\n", - "INFO:arviz.data.io_cmdstan:glob found 12 files for 'posterior':\n", - "1: sample_data/eight_school-202006100113-1.csv\n", - "2: sample_data/eight_school-202006100113-2.csv\n", - "3: sample_data/eight_school-202006100113-3.csv\n", - "4: sample_data/eight_school-202006100113-4.csv\n", - "5: sample_data/eight_school-202006102306-1.csv\n", - "6: sample_data/eight_school-202006102306-2.csv\n", - "7: sample_data/eight_school-202006102306-3.csv\n", - "8: sample_data/eight_school-202006102306-4.csv\n", - "9: sample_data/eight_school-202006102351-1.csv\n", - "10: sample_data/eight_school-202006102351-2.csv\n", - "11: sample_data/eight_school-202006102351-3.csv\n", - "12: sample_data/eight_school-202006102351-4.csv\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 12
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3 4 5 6 7 8 9 10 11
            array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • mu
            (chain, draw)
            float64
            3.692 16.11 2.111 ... 2.672 10.06
            array([[ 3.69234  , 16.1054   ,  2.11087  , ...,  8.19067  ,  2.92031  ,\n",
            -       "         1.03508  ],\n",
            -       "       [-1.71907  , 10.6737   ,  5.45426  , ..., 11.9617   , -0.0648748,\n",
            -       "         2.95623  ],\n",
            -       "       [ 6.44788  ,  5.00457  ,  9.41369  , ..., -0.588549 ,  3.43133  ,\n",
            -       "         4.04414  ],\n",
            -       "       ...,\n",
            -       "       [ 1.20098  ,  3.74153  ,  5.71236  , ...,  5.38302  ,  1.55543  ,\n",
            -       "         6.85928  ],\n",
            -       "       [ 4.5479   ,  4.21596  ,  6.53758  , ...,  1.8295   ,  6.26736  ,\n",
            -       "        -2.83281  ],\n",
            -       "       [ 7.2998   ,  7.03214  ,  1.5383   , ...,  3.01368  ,  2.67249  ,\n",
            -       "        10.056    ]])
          • tau
            (chain, draw)
            float64
            6.108 3.582 4.862 ... 0.5414 5.807
            array([[ 6.1083   ,  3.58214  ,  4.86183  , ...,  4.47256  ,  1.48153  ,\n",
            -       "        12.0573   ],\n",
            -       "       [ 6.89254  ,  2.58141  ,  0.803485 , ...,  2.4602   ,  0.599099 ,\n",
            -       "         0.97436  ],\n",
            -       "       [ 7.54792  ,  3.12201  ,  0.912562 , ...,  1.33408  ,  5.39912  ,\n",
            -       "         1.91634  ],\n",
            -       "       ...,\n",
            -       "       [ 3.75274  ,  1.13823  ,  1.8422   , ...,  8.23264  ,  3.29958  ,\n",
            -       "         9.06202  ],\n",
            -       "       [ 0.0756374, 14.1684   ,  2.65082  , ...,  1.91313  ,  7.97043  ,\n",
            -       "         4.03989  ],\n",
            -       "       [ 0.0525536,  0.213029 ,  2.08631  , ...,  0.51228  ,  0.541425 ,\n",
            -       "         5.80725  ]])
          • theta_tilde
            (chain, draw, school)
            float64
            0.1507 -0.07589 ... 1.757 0.5014
            array([[[ 0.150693  , -0.0758865 ,  0.222117  , ..., -2.20267   ,\n",
            -       "          0.438651  ,  0.0774884 ],\n",
            -       "        [-0.690449  , -0.61755   , -0.285046  , ...,  0.905517  ,\n",
            -       "         -0.121017  , -0.0131619 ],\n",
            -       "        [-0.89236   ,  0.30326   , -0.0355057 , ..., -1.07422   ,\n",
            -       "         -0.238142  ,  0.145528  ],\n",
            -       "        ...,\n",
            -       "        [ 1.87184   , -1.41064   ,  0.60382   , ..., -0.52979   ,\n",
            -       "         -0.753925  ,  1.01887   ],\n",
            -       "        [ 0.00838069, -0.665387  , -0.0369778 , ..., -0.283951  ,\n",
            -       "          0.982918  ,  0.749047  ],\n",
            -       "        [ 1.60212   ,  1.30792   ,  0.0776785 , ...,  0.312027  ,\n",
            -       "          0.669589  ,  0.215141  ]],\n",
            -       "\n",
            -       "       [[ 1.8168    , -0.0393204 ,  0.134036  , ...,  0.511469  ,\n",
            -       "          0.916789  ,  0.526759  ],\n",
            -       "        [-1.9468    , -0.116474  , -0.809836  , ..., -0.355235  ,\n",
            -       "          0.339156  , -0.180418  ],\n",
            -       "        [ 1.29277   , -0.441339  , -2.04181   , ..., -0.40026   ,\n",
            -       "          0.39932   ,  0.263459  ],\n",
            -       "        ...,\n",
            -       "        [ 0.131124  ,  0.901146  , -0.759669  , ..., -0.87047   ,\n",
            -       "         -0.700857  , -0.868739  ],\n",
            -       "        [-0.815558  , -1.32762   ,  0.935707  , ...,  0.348515  ,\n",
            -       "         -0.542335  ,  0.49039   ],\n",
            -       "        [-1.59891   , -1.05952   , -0.0429794 , ...,  0.353703  ,\n",
            -       "          0.096935  , -0.824714  ]],\n",
            -       "\n",
            -       "       [[ 0.919008  ,  0.427259  , -1.39858   , ..., -0.803076  ,\n",
            -       "          1.4394    , -1.0618    ],\n",
            -       "        [-0.666333  ,  0.134364  , -1.69212   , ..., -1.66072   ,\n",
            -       "          0.569682  , -1.16606   ],\n",
            -       "        [-0.558085  , -0.793793  ,  0.566323  , ..., -0.395261  ,\n",
            -       "          0.948139  , -0.380621  ],\n",
            -       "        ...,\n",
            -       "        [ 0.666746  ,  0.252036  ,  0.0992795 , ..., -1.08194   ,\n",
            -       "         -1.23669   ,  1.74524   ],\n",
            -       "        [ 0.91375   ,  0.651899  ,  0.0450728 , ...,  0.794356  ,\n",
            -       "          2.65045   , -0.710101  ],\n",
            -       "        [ 0.231504  ,  0.297168  ,  0.0153996 , ...,  1.25694   ,\n",
            -       "          2.37274   , -0.873043  ]],\n",
            -       "\n",
            -       "       ...,\n",
            -       "\n",
            -       "       [[ 1.52082   ,  2.08589   , -1.2005    , ..., -0.602199  ,\n",
            -       "          1.88407   ,  0.109757  ],\n",
            -       "        [ 0.0451789 , -1.61133   ,  1.96004   , ..., -0.548927  ,\n",
            -       "          0.375405  , -0.0377435 ],\n",
            -       "        [-0.216968  ,  1.40354   , -2.17544   , ...,  0.335058  ,\n",
            -       "         -0.201998  , -0.0420111 ],\n",
            -       "        ...,\n",
            -       "        [-1.24541   ,  1.44617   ,  1.26991   , ..., -0.517744  ,\n",
            -       "          1.06641   , -0.328943  ],\n",
            -       "        [-0.26795   , -0.471647  ,  0.916106  , ..., -0.0443553 ,\n",
            -       "          1.10523   ,  0.802313  ],\n",
            -       "        [ 0.860489  , -0.755706  , -0.221758  , ..., -0.881374  ,\n",
            -       "          1.02386   ,  2.26025   ]],\n",
            -       "\n",
            -       "       [[-0.728935  , -1.30284   , -0.725011  , ..., -1.13638   ,\n",
            -       "         -0.623346  ,  1.20411   ],\n",
            -       "        [ 0.877633  ,  1.57903   ,  0.657069  , ...,  1.18061   ,\n",
            -       "          0.873288  , -0.777553  ],\n",
            -       "        [ 1.92013   ,  1.41113   ,  0.565262  , ...,  0.892794  ,\n",
            -       "          1.17681   , -1.14554   ],\n",
            -       "        ...,\n",
            -       "        [-0.787386  , -1.34728   ,  0.938111  , ...,  0.212187  ,\n",
            -       "          1.5131    , -0.159953  ],\n",
            -       "        [ 1.29339   ,  0.0357047 , -0.315845  , ...,  0.0184302 ,\n",
            -       "          0.789759  ,  0.502829  ],\n",
            -       "        [ 1.57545   ,  0.430001  ,  0.0687333 , ...,  0.335712  ,\n",
            -       "          1.7016    , -1.64133   ]],\n",
            -       "\n",
            -       "       [[ 0.409093  ,  0.464062  ,  0.978     , ..., -0.780695  ,\n",
            -       "         -0.585484  ,  1.81793   ],\n",
            -       "        [ 0.076946  , -0.649097  , -0.768641  , ..., -0.375243  ,\n",
            -       "          0.651451  , -2.41116   ],\n",
            -       "        [-0.474311  , -0.847334  ,  0.663324  , ...,  0.276397  ,\n",
            -       "         -0.65441   ,  2.32434   ],\n",
            -       "        ...,\n",
            -       "        [-1.25161   ,  0.453957  ,  2.11518   , ..., -0.90933   ,\n",
            -       "          2.48317   , -0.782639  ],\n",
            -       "        [-0.137756  , -0.0470846 , -1.45337   , ..., -2.4094    ,\n",
            -       "         -1.58137   ,  0.137089  ],\n",
            -       "        [ 1.41579   , -0.0828588 ,  1.27436   , ...,  0.247186  ,\n",
            -       "          1.75653   ,  0.501351  ]]])
          • theta
            (chain, draw, school)
            float64
            4.613 3.229 5.049 ... 20.26 12.97
            array([[[ 4.61281e+00,  3.22880e+00,  5.04910e+00, ..., -9.76221e+00,\n",
            -       "          6.37175e+00,  4.16566e+00],\n",
            -       "        [ 1.36322e+01,  1.38933e+01,  1.50844e+01, ...,  1.93491e+01,\n",
            -       "          1.56719e+01,  1.60583e+01],\n",
            -       "        [-2.22763e+00,  3.58527e+00,  1.93825e+00, ..., -3.11180e+00,\n",
            -       "          9.53064e-01,  2.81840e+00],\n",
            -       "        ...,\n",
            -       "        [ 1.65626e+01,  1.88149e+00,  1.08913e+01, ...,  5.82115e+00,\n",
            -       "          4.81870e+00,  1.27476e+01],\n",
            -       "        [ 2.93273e+00,  1.93452e+00,  2.86553e+00, ...,  2.49963e+00,\n",
            -       "          4.37654e+00,  4.03005e+00],\n",
            -       "        [ 2.03524e+01,  1.68052e+01,  1.97168e+00, ...,  4.79731e+00,\n",
            -       "          9.10855e+00,  3.62912e+00]],\n",
            -       "\n",
            -       "       [[ 1.08033e+01, -1.99009e+00, -7.95223e-01, ...,  1.80625e+00,\n",
            -       "          4.59993e+00,  1.91163e+00],\n",
            -       "        [ 5.64823e+00,  1.03731e+01,  8.58322e+00, ...,  9.75673e+00,\n",
            -       "          1.15492e+01,  1.02080e+01],\n",
            -       "        [ 6.49298e+00,  5.09965e+00,  3.81370e+00, ...,  5.13266e+00,\n",
            -       "          5.77511e+00,  5.66595e+00],\n",
            -       "        ...,\n",
            -       "        [ 1.22843e+01,  1.41787e+01,  1.00928e+01, ...,  9.82016e+00,\n",
            -       "          1.02374e+01,  9.82442e+00],\n",
            -       "        [-5.53475e-01, -8.60252e-01,  4.95706e-01, ...,  1.43920e-01,\n",
            -       "         -3.89787e-01,  2.28918e-01],\n",
            -       "        [ 1.39832e+00,  1.92387e+00,  2.91435e+00, ...,  3.30086e+00,\n",
            -       "          3.05068e+00,  2.15266e+00]],\n",
            -       "\n",
            -       "       [[ 1.33845e+01,  9.67280e+00, -4.10847e+00, ...,  3.86324e-01,\n",
            -       "          1.73124e+01, -1.56653e+00],\n",
            -       "        [ 2.92428e+00,  5.42406e+00, -2.78235e-01, ..., -1.80204e-01,\n",
            -       "          6.78313e+00,  1.36413e+00],\n",
            -       "        [ 8.90440e+00,  8.68930e+00,  9.93049e+00, ...,  9.05299e+00,\n",
            -       "          1.02789e+01,  9.06635e+00],\n",
            -       "        ...,\n",
            -       "        [ 3.00946e-01, -2.52311e-01, -4.56102e-01, ..., -2.03194e+00,\n",
            -       "         -2.23840e+00,  1.73975e+00],\n",
            -       "        [ 8.36477e+00,  6.95101e+00,  3.67468e+00, ...,  7.72015e+00,\n",
            -       "          1.77414e+01, -4.02591e-01],\n",
            -       "        [ 4.48778e+00,  4.61362e+00,  4.07365e+00, ...,  6.45287e+00,\n",
            -       "          8.59112e+00,  2.37110e+00]],\n",
            -       "\n",
            -       "       ...,\n",
            -       "\n",
            -       "       [[ 6.90821e+00,  9.02878e+00, -3.30420e+00, ..., -1.05892e+00,\n",
            -       "          8.27142e+00,  1.61287e+00],\n",
            -       "        [ 3.79295e+00,  1.90747e+00,  5.97250e+00, ...,  3.11672e+00,\n",
            -       "          4.16882e+00,  3.69857e+00],\n",
            -       "        [ 5.31266e+00,  8.29796e+00,  1.70476e+00, ...,  6.32960e+00,\n",
            -       "          5.34024e+00,  5.63497e+00],\n",
            -       "        ...,\n",
            -       "        [-4.86998e+00,  1.72888e+01,  1.58377e+01, ...,  1.12062e+00,\n",
            -       "          1.41624e+01,  2.67495e+00],\n",
            -       "        [ 6.71302e-01, -8.13246e-04,  4.57819e+00, ...,  1.40907e+00,\n",
            -       "          5.20222e+00,  4.20272e+00],\n",
            -       "        [ 1.46570e+01,  1.10534e-02,  4.84970e+00, ..., -1.12774e+00,\n",
            -       "          1.61376e+01,  2.73417e+01]],\n",
            -       "\n",
            -       "       [[ 4.49277e+00,  4.44936e+00,  4.49306e+00, ...,  4.46195e+00,\n",
            -       "          4.50075e+00,  4.63898e+00],\n",
            -       "        [ 1.66506e+01,  2.65883e+01,  1.35256e+01, ...,  2.09433e+01,\n",
            -       "          1.65890e+01, -6.80072e+00],\n",
            -       "        [ 1.16275e+01,  1.02782e+01,  8.03598e+00, ...,  8.90421e+00,\n",
            -       "          9.65709e+00,  3.50097e+00],\n",
            -       "        ...,\n",
            -       "        [ 3.23128e-01, -7.48028e-01,  3.62423e+00, ...,  2.23544e+00,\n",
            -       "          4.72425e+00,  1.52349e+00],\n",
            -       "        [ 1.65762e+01,  6.55194e+00,  3.74994e+00, ...,  6.41426e+00,\n",
            -       "          1.25621e+01,  1.02751e+01],\n",
            -       "        [ 3.53185e+00, -1.09566e+00, -2.55514e+00, ..., -1.47657e+00,\n",
            -       "          4.04147e+00, -9.46361e+00]],\n",
            -       "\n",
            -       "       [[ 7.32130e+00,  7.32419e+00,  7.35120e+00, ...,  7.25878e+00,\n",
            -       "          7.26903e+00,  7.39534e+00],\n",
            -       "        [ 7.04853e+00,  6.89386e+00,  6.86839e+00, ...,  6.95220e+00,\n",
            -       "          7.17091e+00,  6.51849e+00],\n",
            -       "        [ 5.48734e-01, -2.29508e-01,  2.92220e+00, ...,  2.11494e+00,\n",
            -       "          1.72992e-01,  6.38759e+00],\n",
            -       "        ...,\n",
            -       "        [ 2.37250e+00,  3.24623e+00,  4.09725e+00, ...,  2.54785e+00,\n",
            -       "          4.28576e+00,  2.61275e+00],\n",
            -       "        [ 2.59791e+00,  2.64700e+00,  1.88560e+00, ...,  1.36798e+00,\n",
            -       "          1.81630e+00,  2.74672e+00],\n",
            -       "        [ 1.82778e+01,  9.57482e+00,  1.74565e+01, ...,  1.14915e+01,\n",
            -       "          2.02566e+01,  1.29675e+01]]])
        • created_at :
          2020-06-10T18:21:57.128552
          arviz_version :
          0.8.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 12
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3 4 5 6 7 8 9 10 11
            array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y_hat
            (chain, draw, school)
            float64
            -10.93 11.6 11.14 ... 15.28 -14.33
            array([[[-10.9346  ,  11.6037  ,  11.1382  , ...,  -4.97421 ,\n",
            -       "          -6.09248 ,  15.0512  ],\n",
            -       "        [ -3.69064 ,  14.6682  ,  22.4837  , ...,  23.5671  ,\n",
            -       "          14.8374  ,   9.00593 ],\n",
            -       "        [  0.408807,  -7.37329 ,  -1.04588 , ...,  -6.87661 ,\n",
            -       "           3.75974 , -11.8118  ],\n",
            -       "        ...,\n",
            -       "        [ 20.0649  ,   4.67947 ,  34.8539  , ...,  19.3071  ,\n",
            -       "          -1.81022 ,  10.6627  ],\n",
            -       "        [ 20.023   ,  -3.45228 , -16.6117  , ...,   4.34399 ,\n",
            -       "          19.4159  ,   4.02906 ],\n",
            -       "        [ 12.6708  ,   9.25176 ,  18.6282  , ...,  -0.56782 ,\n",
            -       "          -5.90848 , -24.1042  ]],\n",
            -       "\n",
            -       "       [[ 25.585   ,   2.60382 , -22.731   , ...,  12.1856  ,\n",
            -       "         -24.8332  ,  -7.97341 ],\n",
            -       "        [  3.05847 ,  19.6072  ,   9.67468 , ...,  -9.57937 ,\n",
            -       "          -5.97203 ,   3.83901 ],\n",
            -       "        [ -2.96353 ,   1.59361 ,  34.3077  , ..., -16.9225  ,\n",
            -       "           5.94989 ,  12.7261  ],\n",
            -       "        ...,\n",
            -       "        [-30.3258  ,  25.8939  ,  11.0092  , ...,  10.8265  ,\n",
            -       "           5.90875 , -27.5675  ],\n",
            -       "        [ 12.7005  ,  -4.70354 , -11.1986  , ...,  -7.05527 ,\n",
            -       "          -6.65953 ,  35.0723  ],\n",
            -       "        [ 10.4867  ,   5.49925 ,  -5.00058 , ...,  16.8872  ,\n",
            -       "          -1.90614 ,   5.35349 ]],\n",
            -       "\n",
            -       "       [[ 26.4483  ,   5.39621 , -18.0307  , ..., -16.5188  ,\n",
            -       "          13.9216  ,  -3.97292 ],\n",
            -       "        [ -7.85832 ,   4.44009 ,   5.35032 , ..., -10.6668  ,\n",
            -       "          20.5908  , -12.8477  ],\n",
            -       "        [ -1.72751 ,  15.6356  ,  -7.37621 , ...,  36.3976  ,\n",
            -       "           9.78589 ,   8.58118 ],\n",
            -       "        ...,\n",
            -       "        [ -2.08977 ,  13.1182  ,  -8.81588 , ...,  -9.16025 ,\n",
            -       "         -11.6879  , -28.6293  ],\n",
            -       "        [ -1.44321 ,   3.20826 ,  -4.6157  , ...,  23.3955  ,\n",
            -       "          18.8133  , -21.3375  ],\n",
            -       "        [ 10.1546  ,  16.7743  , -13.0238  , ...,  -5.73191 ,\n",
            -       "          12.5278  ,   9.80171 ]],\n",
            -       "\n",
            -       "       ...,\n",
            -       "\n",
            -       "       [[ -0.843751,  -4.98264 , -18.7942  , ...,  -6.34356 ,\n",
            -       "         -11.4954  , -30.0613  ],\n",
            -       "        [-32.9141  ,  -6.91807 ,  -6.90439 , ...,  10.1167  ,\n",
            -       "           3.70618 ,   8.15487 ],\n",
            -       "        [  2.88749 ,   0.686142,  24.0905  , ...,   9.77811 ,\n",
            -       "          31.1765  , -18.8176  ],\n",
            -       "        ...,\n",
            -       "        [-10.4054  ,  38.8779  ,  -1.72784 , ...,   2.10858 ,\n",
            -       "           1.71828 , -41.049   ],\n",
            -       "        [-34.6393  ,  -8.05134 ,   0.299065, ...,  -5.08346 ,\n",
            -       "          14.0737  ,  18.2229  ],\n",
            -       "        [ 20.5415  ,  -7.11264 ,  16.6271  , ...,  -6.10246 ,\n",
            -       "          16.3215  ,  28.9235  ]],\n",
            -       "\n",
            -       "       [[ -0.601871, -11.7324  ,  20.1891  , ...,  14.0161  ,\n",
            -       "          -1.10264 ,  -0.811892],\n",
            -       "        [ 16.1775  ,  19.1952  ,   7.63344 , ...,  15.3313  ,\n",
            -       "          20.5808  ,  -0.475661],\n",
            -       "        [ -6.71155 ,  -3.46014 ,  15.4774  , ...,  22.6551  ,\n",
            -       "          -6.43601 ,  23.9684  ],\n",
            -       "        ...,\n",
            -       "        [ 19.7332  , -20.677   ,  24.276   , ...,  12.3559  ,\n",
            -       "          11.5496  ,  17.943   ],\n",
            -       "        [ 13.6132  ,   5.89891 ,  -6.70882 , ...,   5.5949  ,\n",
            -       "          16.5097  , -13.9093  ],\n",
            -       "        [ 26.0067  ,  -2.92887 ,  28.0343  , ..., -11.2195  ,\n",
            -       "           3.37155 ,  -8.39441 ]],\n",
            -       "\n",
            -       "       [[ -1.77315 ,  -0.850641,  31.9772  , ...,  12.9403  ,\n",
            -       "          19.1804  , -11.9612  ],\n",
            -       "        [ 12.9344  ,  -7.44461 ,   0.504742, ..., -11.9935  ,\n",
            -       "          -5.35724 ,  20.562   ],\n",
            -       "        [-11.582   ,  -9.02636 ,  18.8871  , ...,   2.61293 ,\n",
            -       "         -10.874   ,  33.0402  ],\n",
            -       "        ...,\n",
            -       "        [ 15.5324  ,  14.9454  ,   7.0026  , ...,  -0.143009,\n",
            -       "           3.01618 ,  -5.04935 ],\n",
            -       "        [-14.324   ,  -4.90844 , -12.5231  , ..., -15.5133  ,\n",
            -       "           7.05567 , -27.792   ],\n",
            -       "        [ 15.8131  ,  14.6397  ,  33.993   , ...,   1.04319 ,\n",
            -       "          15.2797  , -14.3346  ]]])
        • created_at :
          2020-06-10T18:21:57.962326
          arviz_version :
          0.8.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 12
          • draw: 1000
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3 4 5 6 7 8 9 10 11
            array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • log_lik
            (chain, draw, school)
            float64
            -4.842 -3.335 ... -3.247 -3.811
            array([[[-4.84246, -3.33535, -3.81807, ..., -3.79545, -3.8976 ,\n",
            -       "         -3.90403],\n",
            -       "        [-4.08573, -3.39518, -4.33029, ..., -4.70812, -3.24862,\n",
            -       "         -3.83473],\n",
            -       "        [-5.65746, -3.31897, -3.73916, ..., -3.3867 , -4.67451,\n",
            -       "         -3.93941],\n",
            -       "        ...,\n",
            -       "        [-3.91769, -3.4087 , -4.06842, ..., -3.41288, -4.09026,\n",
            -       "         -3.81017],\n",
            -       "        [-5.02336, -3.40547, -3.75872, ..., -3.32613, -4.14952,\n",
            -       "         -3.90734],\n",
            -       "        [-3.75696, -3.60918, -3.7398 , ..., -3.37642, -3.61681,\n",
            -       "         -3.91745]],\n",
            -       "\n",
            -       "       [[-4.28416, -3.72053, -3.70102, ..., -3.31952, -4.11933,\n",
            -       "         -3.96637],\n",
            -       "        [-4.73721, -3.24968, -3.95358, ..., -3.63369, -3.42959,\n",
            -       "         -3.81427],\n",
            -       "        [-4.65488, -3.26358, -3.7822 , ..., -3.38741, -3.96876,\n",
            -       "         -3.87122],\n",
            -       "        ...,\n",
            -       "        [-4.17584, -3.4124 , -4.02633, ..., -3.6383 , -3.52281,\n",
            -       "         -3.81661],\n",
            -       "        [-5.43877, -3.61404, -3.71539, ..., -3.31986, -4.91245,\n",
            -       "         -4.02313],\n",
            -       "        [-5.19954, -3.40612, -3.75985, ..., -3.33871, -4.33893,\n",
            -       "         -3.95896]],\n",
            -       "\n",
            -       "       [[-4.10169, -3.23551, -3.69393, ..., -3.31839, -3.22389,\n",
            -       "         -4.09334],\n",
            -       "        [-5.0243 , -3.2547 , -3.706  , ..., -3.32259, -3.85061,\n",
            -       "         -3.98388],\n",
            -       "        [-4.4373 , -3.2239 , -4.01809, ..., -3.58481, -3.5196 ,\n",
            -       "         -3.82259],\n",
            -       "        ...,\n",
            -       "        [-5.33196, -3.56203, -3.70417, ..., -3.35482, -5.26949,\n",
            -       "         -3.97177],\n",
            -       "        [-4.48375, -3.22703, -3.77854, ..., -3.50345, -3.22186,\n",
            -       "         -4.04669],\n",
            -       "        [-4.85549, -3.27886, -3.78925, ..., -3.4397 , -3.66416,\n",
            -       "         -3.95239]],\n",
            -       "\n",
            -       "       ...,\n",
            -       "\n",
            -       "       [[-4.61557, -3.22682, -3.69171, ..., -3.33435, -3.69475,\n",
            -       "         -3.97581],\n",
            -       "        [-4.92917, -3.40712, -3.84876, ..., -3.33535, -4.17803,\n",
            -       "         -3.91566],\n",
            -       "        [-4.7708 , -3.22197, -3.73476, ..., -3.43421, -4.02287,\n",
            -       "         -3.87183],\n",
            -       "        ...,\n",
            -       "        [-6.02796, -3.65293, -4.38461, ..., -3.31689, -3.29516,\n",
            -       "         -3.9435 ],\n",
            -       "        [-5.28667, -3.54159, -3.80369, ..., -3.31753, -4.04044,\n",
            -       "         -3.90313],\n",
            -       "        [-4.02262, -3.54064, -3.81187, ..., -3.33554, -3.23887,\n",
            -       "         -4.17253]],\n",
            -       "\n",
            -       "       [[-4.85497, -3.28456, -3.80119, ..., -3.36636, -4.13267,\n",
            -       "         -3.89293],\n",
            -       "        [-3.91323, -4.94915, -4.22492, ..., -4.96036, -3.23148,\n",
            -       "         -4.35478],\n",
            -       "        [-4.22267, -3.24747, -3.9294 , ..., -3.575  , -3.56954,\n",
            -       "         -3.92078],\n",
            -       "        ...,\n",
            -       "        [-5.32923, -3.60416, -3.77723, ..., -3.32314, -4.10275,\n",
            -       "         -3.97869],\n",
            -       "        [-3.91699, -3.23201, -3.78051, ..., -3.43797, -3.36938,\n",
            -       "         -3.8139 ],\n",
            -       "        [-4.95741, -3.63518, -3.69191, ..., -3.34218, -4.19573,\n",
            -       "         -4.52025]],\n",
            -       "\n",
            -       "       [[-4.57723, -3.22381, -3.9008 , ..., -3.4787 , -3.79729,\n",
            -       "         -3.84203],\n",
            -       "        [-4.60246, -3.22764, -3.88173, ..., -3.46323, -3.80787,\n",
            -       "         -3.85568],\n",
            -       "        [-5.30159, -3.56015, -3.76003, ..., -3.32197, -4.81053,\n",
            -       "         -3.85792],\n",
            -       "        ...,\n",
            -       "        [-5.08647, -3.33452, -3.78991, ..., -3.32673, -4.16193,\n",
            -       "         -3.9453 ],\n",
            -       "        [-5.06091, -3.3648 , -3.73815, ..., -3.31739, -4.53108,\n",
            -       "         -3.94144],\n",
            -       "        [-3.83703, -3.23392, -4.50885, ..., -3.77167, -3.24699,\n",
            -       "         -3.81075]]])
        • created_at :
          2020-06-10T18:21:57.929618
          arviz_version :
          0.8.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 12
          • draw: 1000
          • chain
            (chain)
            int64
            0 1 2 3 4 5 6 7 8 9 10 11
            array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • lp
            (chain, draw)
            float64
            -5.144 -10.34 ... -11.38 -11.14
            array([[ -5.14448, -10.3377 ,  -4.36231, ..., -11.5328 ,  -4.41412,\n",
            -       "         -4.53645],\n",
            -       "       [ -6.16728,  -7.89382,  -8.32759, ...,  -6.95914,  -8.01642,\n",
            -       "         -6.47187],\n",
            -       "       [ -4.61618,  -9.6411 ,  -6.57635, ...,  -7.53224,  -5.69699,\n",
            -       "         -6.2396 ],\n",
            -       "       ...,\n",
            -       "       [ -7.40979,  -8.6973 ,  -8.36134, ...,  -9.30419,  -4.65713,\n",
            -       "         -9.11054],\n",
            -       "       [ -9.35431,  -9.76551,  -7.86183, ...,  -7.19184,  -5.21445,\n",
            -       "         -7.71352],\n",
            -       "       [-10.2665 , -13.9631 ,  -9.83918, ..., -13.5776 , -11.3765 ,\n",
            -       "        -11.145  ]])
          • accept_stat
            (chain, draw)
            float64
            1.0 0.4431 0.9951 ... 0.9886 0.429
            array([[1.      , 0.44315 , 0.995054, ..., 0.847876, 0.887551, 0.924468],\n",
            -       "       [0.714286, 0.977521, 0.724435, ..., 0.934922, 0.946572, 1.      ],\n",
            -       "       [1.      , 0.426264, 0.992927, ..., 0.860845, 0.996249, 0.129366],\n",
            -       "       ...,\n",
            -       "       [0.892384, 0.952504, 0.999717, ..., 0.981023, 0.945826, 0.627332],\n",
            -       "       [1.      , 0.997771, 0.14691 , ..., 1.      , 1.      , 0.459213],\n",
            -       "       [0.714025, 0.911832, 1.      , ..., 0.823447, 0.988555, 0.428968]])
          • stepsize
            (chain, draw)
            float64
            0.5095 0.5095 ... 0.4323 0.4323
            array([[0.509501, 0.509501, 0.509501, ..., 0.509501, 0.509501, 0.509501],\n",
            -       "       [0.531567, 0.531567, 0.531567, ..., 0.531567, 0.531567, 0.531567],\n",
            -       "       [0.449446, 0.449446, 0.449446, ..., 0.449446, 0.449446, 0.449446],\n",
            -       "       ...,\n",
            -       "       [0.466926, 0.466926, 0.466926, ..., 0.466926, 0.466926, 0.466926],\n",
            -       "       [0.50536 , 0.50536 , 0.50536 , ..., 0.50536 , 0.50536 , 0.50536 ],\n",
            -       "       [0.432263, 0.432263, 0.432263, ..., 0.432263, 0.432263, 0.432263]])
          • treedepth
            (chain, draw)
            int64
            3 3 3 3 3 3 3 3 ... 3 3 3 3 3 3 3 3
            array([[3, 3, 3, ..., 3, 3, 3],\n",
            -       "       [3, 3, 3, ..., 3, 3, 3],\n",
            -       "       [3, 3, 3, ..., 3, 3, 3],\n",
            -       "       ...,\n",
            -       "       [3, 3, 3, ..., 3, 3, 3],\n",
            -       "       [3, 3, 3, ..., 3, 3, 3],\n",
            -       "       [3, 3, 3, ..., 3, 3, 3]])
          • n_leapfrog
            (chain, draw)
            int64
            7 7 7 7 7 7 7 ... 15 7 7 15 7 15 7
            array([[ 7,  7,  7, ...,  7,  7,  7],\n",
            -       "       [ 7,  7,  7, ...,  7,  7,  7],\n",
            -       "       [ 7,  7,  7, ...,  7,  7,  7],\n",
            -       "       ...,\n",
            -       "       [ 7,  7,  7, ...,  7,  7,  7],\n",
            -       "       [ 7,  7,  7, ...,  7,  7,  7],\n",
            -       "       [15, 15,  7, ...,  7, 15,  7]])
          • diverging
            (chain, draw)
            bool
            False False False ... False False
            array([[False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       ...,\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False]])
          • energy
            (chain, draw)
            float64
            9.305 15.49 12.04 ... 20.86 22.16
            array([[ 9.30492, 15.4901 , 12.0411 , ..., 14.2758 , 13.6856 ,  8.80269],\n",
            -       "       [15.0915 , 10.4001 , 15.2596 , ..., 13.6399 , 11.9889 , 10.6035 ],\n",
            -       "       [ 8.96043, 15.8938 , 13.3229 , ..., 11.9587 , 11.6787 , 11.3581 ],\n",
            -       "       ...,\n",
            -       "       [12.3025 , 16.388  , 10.6192 , ..., 19.1564 , 12.9302 , 13.1066 ],\n",
            -       "       [14.6137 , 11.6894 , 14.2455 , ...,  9.98162,  9.17208, 15.7546 ],\n",
            -       "       [19.118  , 19.03   , 16.7125 , ..., 18.6839 , 20.8571 , 22.1571 ]])
        • created_at :
          2020-06-10T18:21:57.892823
          arviz_version :
          0.8.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • school: 8
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (school)
            float64
            28.0 8.0 -3.0 7.0 ... 1.0 18.0 12.0
            array([28.,  8., -3.,  7., -1.,  1., 18., 12.])

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> observed_data" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Let's use .stan and .csv files created/saved by the CmdStanPy procedure\n", - "\n", - "# glob string\n", - "posterior_glob = \"sample_data/eight_school-*-[0-9].csv\"\n", - "# list of paths\n", - "# posterior_list = [\n", - "# \"sample_data/eight_school-*-1.csv\",\n", - "# \"sample_data/eight_school-*-2.csv\",\n", - "# \"sample_data/eight_school-*-3.csv\",\n", - "# \"sample_data/eight_school-*-4.csv\",\n", - "# ]\n", - "\n", - "obs_data_path = \"./eight_school.data.R\"\n", - "\n", - "cmdstan_data = az.from_cmdstan(\n", - " posterior=posterior_glob,\n", - " posterior_predictive=\"y_hat\",\n", - " observed_data=obs_data_path,\n", - " observed_data_var=\"y\",\n", - " log_likelihood=\"log_lik\",\n", - " coords={\"school\": np.arange(eight_school_data[\"J\"])},\n", - " dims={\n", - " \"theta\": [\"school\"],\n", - " \"y\": [\"school\"],\n", - " \"log_lik\": [\"school\"],\n", - " \"y_hat\": [\"school\"],\n", - " \"theta_tilde\": [\"school\"],\n", - " },\n", - ")\n", - "cmdstan_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From NumPyro" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-05T06:48:56.834305Z", - "start_time": "2020-06-05T06:48:46.413022Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 500
          • school: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • mu
            (chain, draw)
            float32
            6.166989 2.7369356 ... 9.431458
            array([[ 6.166989  ,  2.7369356 ,  2.1588428 , ...,  6.5650163 ,\n",
            -       "         5.814288  ,  6.303744  ],\n",
            -       "       [ 2.8813796 ,  3.1015737 , -2.971782  , ...,  7.901584  ,\n",
            -       "         5.5904655 ,  3.820075  ],\n",
            -       "       [ 4.4399405 ,  3.5229487 ,  4.7380314 , ...,  4.63695   ,\n",
            -       "         5.5588846 ,  4.214654  ],\n",
            -       "       [ 2.9703684 ,  7.247639  ,  5.399694  , ...,  6.5445914 ,\n",
            -       "         0.01686172,  9.431458  ]], dtype=float32)
          • tau
            (chain, draw)
            float32
            5.4749303 2.1342402 ... 3.415198
            array([[ 5.4749303 ,  2.1342402 ,  1.4905648 , ...,  0.6671672 ,\n",
            -       "         0.01560028,  3.767334  ],\n",
            -       "       [ 7.9672894 ,  1.9319502 ,  3.1295881 , ...,  3.3490183 ,\n",
            -       "         3.566799  ,  0.39580163],\n",
            -       "       [ 2.9399393 ,  0.8484044 ,  0.9808714 , ..., 12.281746  ,\n",
            -       "         3.0598812 ,  1.0038422 ],\n",
            -       "       [ 2.0114977 ,  5.334565  ,  1.9803979 , ...,  3.915938  ,\n",
            -       "         3.9908662 ,  3.415198  ]], dtype=float32)
          • theta
            (chain, draw, school)
            float32
            16.805418 -0.4041652 ... 17.367815
            array([[[16.805418  , -0.4041652 , 10.278544  , ...,  2.0133018 ,\n",
            -       "         13.142075  , -1.8940724 ],\n",
            -       "        [ 3.6209416 ,  3.1639988 ,  1.6559362 , ...,  2.4664128 ,\n",
            -       "          6.275565  ,  1.0073171 ],\n",
            -       "        [ 1.2831185 ,  5.583411  ,  0.20982249, ...,  2.8672376 ,\n",
            -       "          5.6300173 ,  1.1305914 ],\n",
            -       "        ...,\n",
            -       "        [ 6.709765  ,  5.6444373 ,  7.9816885 , ...,  6.525248  ,\n",
            -       "          5.5084763 ,  6.2359204 ],\n",
            -       "        [ 5.8305526 ,  5.813201  ,  5.782455  , ...,  5.8331804 ,\n",
            -       "          5.8262672 ,  5.811961  ],\n",
            -       "        [ 8.371107  , 11.589505  ,  9.060078  , ...,  4.6326632 ,\n",
            -       "          1.3204055 ,  7.447564  ]],\n",
            -       "\n",
            -       "       [[-4.3268466 , -2.834298  , 11.134604  , ..., -1.2839447 ,\n",
            -       "          5.2278867 , -0.5356959 ],\n",
            -       "        [ 4.1689734 ,  3.332209  ,  3.7361689 , ...,  1.9161823 ,\n",
            -       "          3.8028543 ,  1.2852622 ],\n",
            -       "        [ 1.6108382 , -7.1452627 , -5.777302  , ..., -2.2040584 ,\n",
            -       "         -6.143371  ,  1.8476825 ],\n",
            -       "        ...,\n",
            -       "        [ 7.361441  ,  3.9002452 , 12.900136  , ...,  3.5904365 ,\n",
            -       "         10.234819  ,  3.1974564 ],\n",
            -       "        [ 5.5063396 ,  0.2793099 ,  6.444799  , ..., -1.9202161 ,\n",
            -       "          8.611025  ,  3.3831234 ],\n",
            -       "        [ 3.822883  ,  4.4135537 ,  3.6441824 , ...,  4.56769   ,\n",
            -       "          3.6770089 ,  3.9032135 ]],\n",
            -       "\n",
            -       "       [[ 4.00368   ,  4.4397383 ,  2.1432772 , ...,  3.1928446 ,\n",
            -       "          9.629471  ,  0.2643633 ],\n",
            -       "        [ 5.3469725 ,  4.1594777 ,  4.1849327 , ...,  4.206007  ,\n",
            -       "          3.4596717 ,  5.352148  ],\n",
            -       "        [ 4.9827085 ,  4.9556437 ,  5.1834702 , ...,  4.9021826 ,\n",
            -       "          5.2538424 ,  5.22963   ],\n",
            -       "        ...,\n",
            -       "        [23.39281   , 11.0239935 ,  2.3864892 , ..., 19.603878  ,\n",
            -       "          7.0562177 , 28.357275  ],\n",
            -       "        [12.852495  ,  7.4070935 ,  6.4908056 , ...,  4.894183  ,\n",
            -       "          5.987565  , 12.377623  ],\n",
            -       "        [ 6.6452794 ,  4.0932536 ,  4.729209  , ...,  4.225301  ,\n",
            -       "          5.1019716 ,  6.3453903 ]],\n",
            -       "\n",
            -       "       [[ 5.697102  , -0.57697064,  2.8015194 , ...,  1.3781468 ,\n",
            -       "          5.9575944 ,  3.632262  ],\n",
            -       "        [ 1.3295926 , 16.460413  ,  6.624054  , ..., 12.021828  ,\n",
            -       "          2.2984443 ,  7.451837  ],\n",
            -       "        [ 5.7512455 ,  9.078475  ,  5.3366947 , ...,  7.0837646 ,\n",
            -       "          6.127603  ,  5.8320184 ],\n",
            -       "        ...,\n",
            -       "        [ 8.820778  , 10.835063  ,  4.7786245 , ...,  7.6410575 ,\n",
            -       "          7.70269   , 12.206308  ],\n",
            -       "        [ 4.2434716 , -0.6336682 ,  1.3472003 , ...,  0.5414262 ,\n",
            -       "          4.824705  , -3.4849732 ],\n",
            -       "        [ 7.340993  ,  9.233242  ,  5.346336  , ...,  7.6068907 ,\n",
            -       "          6.1541667 , 17.367815  ]]], dtype=float32)
        • created_at :
          2020-06-10T18:22:23.947028
          arviz_version :
          0.8.3
          inference_library :
          numpyro
          inference_library_version :
          0.2.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 500
          • y_dim_0: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • y_dim_0
            (y_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (chain, draw, y_dim_0)
            float32
            9.1578455 ... -4.8099527
            array([[[  9.1578455 ,  -0.34150663,  15.723784  , ...,  -5.102259  ,\n",
            -       "          37.480717  , -10.088353  ],\n",
            -       "        [ -5.3134413 ,   6.4528875 ,  -6.54908   , ...,  -4.1057158 ,\n",
            -       "           7.06191   ,  -8.080217  ],\n",
            -       "        [-19.78724   ,   3.4639006 , -15.964477  , ..., -20.008034  ,\n",
            -       "           5.8243866 ,  18.86902   ],\n",
            -       "        ...,\n",
            -       "        [-15.180967  ,   9.807627  ,  27.345123  , ...,  -4.84036   ,\n",
            -       "          -2.1437302 ,   8.3889065 ],\n",
            -       "        [ -5.4775333 ,  28.313814  ,   7.2766685 , ...,  18.30352   ,\n",
            -       "          20.475103  , -20.46647   ],\n",
            -       "        [ 16.853436  ,  10.802054  ,   2.6066804 , ...,  11.0614395 ,\n",
            -       "           4.074243  ,  16.10594   ]],\n",
            -       "\n",
            -       "       [[-36.741135  ,   2.132221  ,  -5.1946764 , ...,  -8.24964   ,\n",
            -       "          12.281942  ,   8.430863  ],\n",
            -       "        [  2.397912  ,   6.8793244 ,  18.572903  , ...,  -9.415728  ,\n",
            -       "           4.632666  ,   0.94791025],\n",
            -       "        [-18.00014   , -17.213095  , -20.43299   , ...,  10.359219  ,\n",
            -       "          -8.613728  ,   5.810265  ],\n",
            -       "        ...,\n",
            -       "        [-15.850481  ,   6.169131  ,  -1.3056698 , ...,   1.2978272 ,\n",
            -       "          13.411715  ,  25.699203  ],\n",
            -       "        [ 10.589049  ,   0.5068012 ,  16.470114  , ...,  -8.520618  ,\n",
            -       "          -6.952246  ,  -3.0879273 ],\n",
            -       "        [  9.343028  , -11.508167  , -19.114656  , ...,  -7.092017  ,\n",
            -       "          10.446011  ,  -1.5221233 ]],\n",
            -       "\n",
            -       "       [[-20.391861  ,  22.032532  ,   5.1348763 , ...,  11.56848   ,\n",
            -       "           4.3738613 ,  15.165779  ],\n",
            -       "        [ 18.053     ,   2.9446526 ,   0.34006357, ...,   3.3776867 ,\n",
            -       "          -4.0066824 , -23.29231   ],\n",
            -       "        [  1.7792162 ,   3.8873866 ,  -8.637331  , ...,  -0.90703034,\n",
            -       "          -6.444538  ,  10.319935  ],\n",
            -       "        ...,\n",
            -       "        [ 23.217615  ,  22.690136  ,  11.29295   , ...,  27.433151  ,\n",
            -       "          -3.46672   ,  61.749702  ],\n",
            -       "        [ 34.18458   ,   8.358107  ,   8.868971  , ..., -22.360392  ,\n",
            -       "           0.09149265,  -1.0741652 ],\n",
            -       "        [ 29.380224  ,   4.4413815 ,  30.035976  , ...,   2.7786946 ,\n",
            -       "          14.153775  , -41.86547   ]],\n",
            -       "\n",
            -       "       [[  9.401894  ,  -6.2122073 ,  -6.091647  , ...,   0.5238527 ,\n",
            -       "          -0.5514915 ,   5.7275    ],\n",
            -       "        [ -1.6696043 ,   3.1093576 ,  44.24772   , ...,  12.96484   ,\n",
            -       "          -6.88388   ,  18.44876   ],\n",
            -       "        [ 17.14147   ,  20.414312  ,  11.990332  , ...,  -8.856295  ,\n",
            -       "          -7.9003263 ,  27.677404  ],\n",
            -       "        ...,\n",
            -       "        [  6.919694  ,   5.4893556 ,   0.41990328, ..., -13.118914  ,\n",
            -       "           3.1624792 ,  29.015451  ],\n",
            -       "        [ 15.574952  ,  -0.9990338 ,   8.2401    , ...,   2.2999332 ,\n",
            -       "           3.6496153 ,   8.287998  ],\n",
            -       "        [ 14.578398  ,   0.7358602 ,  16.566711  , ...,  23.490755  ,\n",
            -       "          -1.5719078 ,  -4.8099527 ]]], dtype=float32)
        • created_at :
          2020-06-10T18:22:24.051104
          arviz_version :
          0.8.3
          inference_library :
          numpyro
          inference_library_version :
          0.2.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 500
          • y_dim_0: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • y_dim_0
            (y_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (chain, draw, y_dim_0)
            float32
            -3.9054747 ... -3.8537753
            array([[[-3.9054747, -3.5746734, -4.035902 , ..., -3.3210766,\n",
            -       "         -3.3395207, -4.1072197],\n",
            -       "        [-4.947741 , -3.338458 , -3.7338667, ..., -3.3257196,\n",
            -       "         -3.9088354, -3.9957902],\n",
            -       "        [-5.2131925, -3.2507231, -3.7116504, ..., -3.3312411,\n",
            -       "         -3.986606 , -3.9916313],\n",
            -       "        ...,\n",
            -       "        [-4.6342645, -3.2492669, -3.9270694, ..., -3.442984 ,\n",
            -       "         -4.001714 , -3.8605828],\n",
            -       "        [-4.7191763, -3.245434 , -3.8421748, ..., -3.413361 ,\n",
            -       "         -3.9625223, -3.8684025],\n",
            -       "        [-4.4831963, -3.2859464, -3.9756005, ..., -3.3713636,\n",
            -       "         -4.612568 , -3.8412926]],\n",
            -       "\n",
            -       "       [[-5.9492664, -3.8084335, -4.0817366, ..., -3.3383892,\n",
            -       "         -4.037158 , -4.051816 ],\n",
            -       "        [-4.8890285, -3.3304648, -3.7801523, ..., -3.3203022,\n",
            -       "         -4.229318 , -3.9864793],\n",
            -       "        [-5.174517 , -4.3684187, -3.7065926, ..., -3.359255 ,\n",
            -       "         -6.1360354, -3.968368 ],\n",
            -       "        ...,\n",
            -       "        [-4.5735445, -3.3055634, -4.1853056, ..., -3.3445625,\n",
            -       "         -3.5230136, -3.9288855],\n",
            -       "        [-4.7513547, -3.519569 , -3.8657544, ..., -3.352072 ,\n",
            -       "         -3.6622877, -3.9238944],\n",
            -       "        [-4.9259505, -3.2858365, -3.7777483, ..., -3.3694305,\n",
            -       "         -4.247264 , -3.9104798]],\n",
            -       "\n",
            -       "       [[-4.906596 , -3.284901 , -3.7431939, ..., -3.3367038,\n",
            -       "         -3.5718522, -4.021849 ],\n",
            -       "        [-4.7673435, -3.2952716, -3.792354 , ..., -3.3593068,\n",
            -       "         -4.2786293, -3.8775108],\n",
            -       "        [-4.8043127, -3.267864 , -3.8223267, ..., -3.3797553,\n",
            -       "         -4.0338464, -3.8800478],\n",
            -       "        ...,\n",
            -       "        [-3.6741579, -3.2672462, -3.748196 , ..., -4.747017 ,\n",
            -       "         -3.8203554, -4.2222123],\n",
            -       "        [-4.136871 , -3.2232811, -3.867456 , ..., -3.3794975,\n",
            -       "         -3.9430165, -3.8095303],\n",
            -       "        [-4.6403756, -3.2978368, -3.8082085, ..., -3.3598197,\n",
            -       "         -4.053319 , -3.8586538]],\n",
            -       "\n",
            -       "       [[-4.7323647, -3.5893457, -3.7572649, ..., -3.3174245,\n",
            -       "         -3.9466212, -3.9173644],\n",
            -       "        [-5.207679 , -3.5794165, -3.8724306, ..., -3.81882  ,\n",
            -       "         -4.454218 , -3.8412328],\n",
            -       "        [-4.727004 , -3.227339 , -3.8272705, ..., -3.4697766,\n",
            -       "         -3.9262924, -3.86802  ],\n",
            -       "        ...,\n",
            -       "        [-4.4444165, -3.2617114, -3.809705 , ..., -3.4990802,\n",
            -       "         -3.7516966, -3.8093758],\n",
            -       "        [-4.8811502, -3.5942247, -3.728438 , ..., -3.3177028,\n",
            -       "         -4.0894656, -4.179348 ],\n",
            -       "        [-4.5754213, -3.229128 , -3.8275847, ..., -3.4972098,\n",
            -       "         -3.9231424, -3.8537753]]], dtype=float32)
        • created_at :
          2020-06-10T18:22:24.049535
          arviz_version :
          0.8.3
          inference_library :
          numpyro
          inference_library_version :
          0.2.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 500
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • diverging
            (chain, draw)
            bool
            False False False ... False False
            array([[False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False],\n",
            -       "       [False, False, False, ..., False, False, False]])
          • energy
            (chain, draw)
            float32
            54.622334 53.479084 ... 49.01058
            array([[54.622334, 53.479084, 53.991596, ..., 53.81039 , 59.236557,\n",
            -       "        56.882545],\n",
            -       "       [49.65902 , 48.335026, 56.860115, ..., 49.79985 , 48.931656,\n",
            -       "        50.302807],\n",
            -       "       [51.492855, 51.79956 , 55.82659 , ..., 51.77163 , 50.36808 ,\n",
            -       "        51.65256 ],\n",
            -       "       [49.366512, 50.623386, 55.419903, ..., 51.691166, 47.321953,\n",
            -       "        49.01058 ]], dtype=float32)
          • tree_size
            (chain, draw)
            int32
            7 15 7 7 7 15 7 7 ... 7 7 7 7 7 7 7
            array([[ 7, 15,  7, ...,  7, 15,  7],\n",
            -       "       [ 7, 15, 15, ...,  7,  7,  7],\n",
            -       "       [ 7,  7,  7, ...,  3,  7,  7],\n",
            -       "       [ 7,  7,  7, ...,  7,  7,  7]], dtype=int32)
          • depth
            (chain, draw)
            int64
            3 4 3 3 3 4 3 3 ... 3 3 3 3 3 3 3 3
            array([[3, 4, 3, ..., 3, 4, 3],\n",
            -       "       [3, 4, 4, ..., 3, 3, 3],\n",
            -       "       [3, 3, 3, ..., 2, 3, 3],\n",
            -       "       [3, 3, 3, ..., 3, 3, 3]])
        • created_at :
          2020-06-10T18:22:23.951922
          arviz_version :
          0.8.3
          inference_library :
          numpyro
          inference_library_version :
          0.2.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 1
          • draw: 500
          • school: 8
          • chain
            (chain)
            int64
            0
            array([0])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • school
            (school)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • mu
            (chain, draw)
            float32
            1.8776392 3.322776 ... -0.5562178
            array([[ 1.87763917e+00,  3.32277608e+00, -9.43409824e+00,\n",
            -       "        -6.36535287e-01,  4.97456253e-01, -7.59930372e+00,\n",
            -       "        -1.73702741e+00, -6.81911755e+00, -5.64398336e+00,\n",
            -       "        -2.23989189e-01,  5.17267179e+00,  8.54710960e+00,\n",
            -       "         3.31850290e+00,  1.21073082e-01,  7.83620691e+00,\n",
            -       "         4.69881475e-01, -1.08328164e+00,  8.50991058e+00,\n",
            -       "        -8.41802776e-01, -4.04251289e+00,  3.32294011e+00,\n",
            -       "         5.99611139e+00, -6.17558670e+00,  6.03334332e+00,\n",
            -       "        -5.70485020e+00, -2.03827691e+00, -1.12319574e+01,\n",
            -       "         4.22157764e+00,  2.38109422e+00, -4.61673450e+00,\n",
            -       "         5.93315411e+00,  4.55151653e+00, -7.10970700e-01,\n",
            -       "        -6.31284094e+00, -4.34699202e+00,  6.09261799e+00,\n",
            -       "        -6.14266682e+00,  9.26569998e-01,  1.61548471e+00,\n",
            -       "        -4.15261239e-01, -7.68356943e+00, -2.56281686e+00,\n",
            -       "        -4.79618311e+00,  7.81891727e+00, -3.24380898e+00,\n",
            -       "         1.65736473e+00, -5.14156342e+00,  1.10072966e+01,\n",
            -       "        -1.44031830e+01,  5.42257833e+00,  5.59339571e+00,\n",
            -       "         1.49750960e+00, -3.32892269e-01, -4.46871185e+00,\n",
            -       "         2.56567287e+00,  2.47131181e+00, -1.37173009e+00,\n",
            -       "        -1.49122763e+00, -1.84207225e+00,  9.69244099e+00,\n",
            -       "        -3.78764582e+00, -6.92075205e+00, -2.02182364e+00,\n",
            -       "        -2.73029757e+00,  9.31008577e-01,  7.28544283e+00,\n",
            -       "         1.54594302e+00,  5.64335871e+00, -3.37919688e+00,\n",
            -       "         4.13902712e+00,  2.63738465e+00,  1.40324092e+00,\n",
            -       "         1.34920418e+00,  4.90401697e+00,  3.16824293e+00,\n",
            -       "         1.47920895e+00,  2.66602039e-01,  2.51417804e+00,\n",
            -       "        -5.36913395e+00, -6.41616249e+00,  4.33436871e+00,\n",
            -       "        -3.89514852e+00,  5.18284702e+00, -3.32038426e+00,\n",
            -       "         1.16524143e+01, -6.82530260e+00, -3.53052795e-01,\n",
            -       "         1.58044920e+01, -2.88200164e+00,  7.18814087e+00,\n",
            -       "         2.98873329e+00, -2.26602387e+00,  4.08212948e+00,\n",
            -       "         3.42252636e+00,  8.58223617e-01,  6.26113534e-01,\n",
            -       "        -7.87266970e+00,  2.15487385e+00, -6.07770061e+00,\n",
            -       "        -2.48635459e+00,  2.68985540e-01,  3.20517206e+00,\n",
            -       "        -7.47953987e+00,  4.08663481e-01,  8.99567795e+00,\n",
            -       "         7.04715443e+00,  7.23012495e+00, -7.46469927e+00,\n",
            -       "        -1.33649683e+00,  1.10470068e+00, -2.52437449e+00,\n",
            -       "        -3.95289946e+00,  2.47145557e+00, -1.09172354e+01,\n",
            -       "         4.06590843e+00,  1.29628773e+01,  4.18381977e+00,\n",
            -       "        -2.29971838e+00,  8.35384464e+00, -1.05598001e+01,\n",
            -       "        -3.01278502e-01,  5.95889282e+00, -9.29296911e-01,\n",
            -       "        -7.44931984e+00,  1.46392691e+00, -5.03668404e+00,\n",
            -       "         5.68537998e+00, -2.34223104e+00, -3.17319202e+00,\n",
            -       "        -1.99956322e+00, -2.91206074e+00,  3.08447218e+00,\n",
            -       "         6.02147937e-01, -2.49044871e+00, -3.42613077e+00,\n",
            -       "        -3.59730273e-01,  4.51586843e-01, -9.63892519e-01,\n",
            -       "         2.33508396e+00, -2.13027024e+00,  3.09376287e+00,\n",
            -       "        -7.35646665e-01, -8.27977657e+00,  2.87267494e+00,\n",
            -       "        -2.67699122e+00, -8.89165998e-02, -2.52230263e+00,\n",
            -       "        -5.46618128e+00, -8.53099227e-01,  1.64677703e+00,\n",
            -       "         3.64264667e-01, -6.47672355e-01,  1.26347458e+00,\n",
            -       "        -6.80529928e+00, -3.41742945e+00,  3.55985022e+00,\n",
            -       "        -2.55946088e+00,  5.54295111e+00,  9.42449033e-01,\n",
            -       "         1.64480090e-01, -8.02109167e-02,  3.24023986e+00,\n",
            -       "        -4.53600079e-01,  1.37038574e+01,  5.71575737e+00,\n",
            -       "         5.76857448e-01,  2.17014074e+00,  8.14787924e-01,\n",
            -       "        -2.32475162e+00, -1.25709087e-01,  5.28375340e+00,\n",
            -       "         9.62919891e-01,  6.91391659e+00,  2.62722158e+00,\n",
            -       "        -2.74987268e+00,  2.25159264e+00,  1.91202760e+00,\n",
            -       "         3.22131705e+00, -5.74864435e+00, -6.94986010e+00,\n",
            -       "         5.20943463e-01, -5.00131655e+00, -3.07738566e+00,\n",
            -       "         3.08097601e+00,  2.67554283e+00,  3.52074385e+00,\n",
            -       "         6.54691935e+00, -9.24593830e+00, -3.36103296e+00,\n",
            -       "         4.60509825e+00, -2.21546078e+00,  2.92350554e+00,\n",
            -       "        -5.45947027e+00, -2.05733395e+00,  4.57703733e+00,\n",
            -       "        -1.06910706e+00,  7.19312000e+00, -2.47113132e+00,\n",
            -       "         3.12669230e+00, -1.83465838e+00,  4.28496313e+00,\n",
            -       "         5.37801313e+00,  5.02111244e+00,  7.15357685e+00,\n",
            -       "        -3.89565319e-01,  3.89020848e+00, -3.05091119e+00,\n",
            -       "        -4.23250914e+00, -2.70682287e+00,  5.63752937e+00,\n",
            -       "         1.95974433e+00,  1.16094184e+00,  5.58682775e+00,\n",
            -       "        -1.27820683e+00,  1.79363227e+00,  4.05184221e+00,\n",
            -       "        -7.00801432e-01, -8.40434170e+00, -8.00249863e+00,\n",
            -       "         3.10724616e+00,  1.68522644e+00, -7.73088264e+00,\n",
            -       "        -6.81490719e-01,  4.33881950e+00, -2.85863638e+00,\n",
            -       "        -6.09480000e+00,  6.74300861e+00, -4.61606646e+00,\n",
            -       "        -5.85084915e+00,  6.28509665e+00,  1.95886517e+00,\n",
            -       "         1.37964690e+00, -1.37427435e+01,  2.82988310e-01,\n",
            -       "         5.19354916e+00, -2.49803233e+00,  4.12895918e+00,\n",
            -       "         3.44766212e+00,  2.19018960e+00, -3.72761774e+00,\n",
            -       "        -2.44066030e-01, -1.30070686e+00, -7.02205515e+00,\n",
            -       "         5.58520174e+00, -3.75585365e+00,  5.79257107e+00,\n",
            -       "        -5.56449747e+00, -2.05371952e+00,  5.01734138e-01,\n",
            -       "        -2.25151634e+00, -7.47076082e+00, -2.79890943e+00,\n",
            -       "         4.27494675e-01, -7.40755653e+00,  1.63190055e+00,\n",
            -       "         5.20384073e+00,  2.63987112e+00, -5.63552999e+00,\n",
            -       "        -1.90767086e+00,  2.34675384e+00,  7.09238386e+00,\n",
            -       "        -1.90808758e-01, -3.74278712e+00, -4.35007524e+00,\n",
            -       "         4.41096497e+00,  5.99206209e+00,  9.79538822e+00,\n",
            -       "         3.85714984e+00, -7.91006833e-02, -6.17025375e-01,\n",
            -       "         9.57570493e-01, -2.43118548e+00,  3.27787709e+00,\n",
            -       "         1.25472581e+00, -6.39819193e+00,  5.21416187e+00,\n",
            -       "        -8.07223260e-01,  5.50955153e+00,  3.49549317e+00,\n",
            -       "        -1.64368260e+00, -4.73124313e+00,  2.40179896e-01,\n",
            -       "         5.83935118e+00,  4.42518854e+00, -6.38878107e+00,\n",
            -       "        -4.94022989e+00,  1.35768807e+00,  3.12588358e+00,\n",
            -       "        -9.07020473e+00,  4.31778097e+00, -4.70105934e+00,\n",
            -       "         8.42939377e-01,  4.88915968e+00, -2.72294712e+00,\n",
            -       "        -8.45176220e-01,  4.62164545e+00, -2.80933213e+00,\n",
            -       "         4.71438694e+00, -2.46584034e+00, -7.28257990e+00,\n",
            -       "         4.51298285e+00,  2.38831258e+00,  7.25005722e+00,\n",
            -       "         1.79590631e+00,  5.94742823e+00,  7.22948265e+00,\n",
            -       "         3.35202265e+00, -4.28335810e+00, -1.37254620e+00,\n",
            -       "        -1.73780191e+00,  2.67699456e+00, -5.62134886e+00,\n",
            -       "         9.09809971e+00,  5.02816010e+00,  9.05102825e+00,\n",
            -       "         7.36941040e-01,  1.68737400e+00,  8.23375225e+00,\n",
            -       "         8.10452104e-01, -6.44127703e+00,  1.16090810e+00,\n",
            -       "        -1.34760213e+00, -4.49384308e+00, -3.41933179e+00,\n",
            -       "        -4.81171131e+00, -1.84972250e+00,  1.02269201e+01,\n",
            -       "        -1.26457906e+00, -2.97555542e+00,  5.53493214e+00,\n",
            -       "        -1.07800531e+00,  9.11830544e-01,  1.52422190e+00,\n",
            -       "         1.16673994e+00, -1.45918512e+00, -8.07522106e+00,\n",
            -       "         7.53456783e+00,  8.10562551e-01,  1.59508491e+00,\n",
            -       "        -1.25905542e+01, -2.68738222e+00, -5.06097794e+00,\n",
            -       "        -5.67802286e+00, -2.19069934e+00,  4.38740063e+00,\n",
            -       "         1.46200097e+00, -5.58933640e+00,  6.96885443e+00,\n",
            -       "         9.52366066e+00, -5.29678154e+00,  3.33105922e+00,\n",
            -       "         1.38898647e+00, -3.12741876e+00,  2.34334993e+00,\n",
            -       "        -2.98348856e+00, -1.02783978e+00,  3.65240884e+00,\n",
            -       "        -3.50431395e+00, -2.64991903e+00,  5.53679609e+00,\n",
            -       "         5.90298462e+00,  3.79234552e+00, -4.90194845e+00,\n",
            -       "        -2.69498777e+00,  4.49044991e+00,  5.99002552e+00,\n",
            -       "         6.21761417e+00, -1.55535388e+00, -1.58084214e+00,\n",
            -       "        -5.09701395e+00,  4.06920147e+00,  2.25836396e+00,\n",
            -       "         1.25704491e+00,  6.84968662e+00,  7.44565535e+00,\n",
            -       "        -1.87951326e+00, -9.00892019e-01,  4.42775679e+00,\n",
            -       "         6.54110003e+00,  3.14750051e+00,  1.95613086e+00,\n",
            -       "        -3.91129422e+00,  1.61477637e+00,  1.50569409e-01,\n",
            -       "         9.52131367e+00,  2.35001040e+00, -6.31063700e+00,\n",
            -       "        -6.33711386e+00,  4.53157854e+00,  2.09618174e-02,\n",
            -       "        -2.14906359e+00, -9.78138298e-02, -1.86061585e+00,\n",
            -       "         4.90669966e+00,  1.24480343e+00,  7.89691955e-02,\n",
            -       "        -5.58514953e-01, -2.23632979e+00,  1.30819321e+00,\n",
            -       "        -3.82723236e+00, -5.53356695e+00, -2.46174788e+00,\n",
            -       "        -3.10814881e+00,  3.28143239e+00, -8.99871159e+00,\n",
            -       "        -3.80512625e-02, -1.40937150e+00, -1.05609441e+00,\n",
            -       "        -1.55699253e+00, -1.06937952e+01,  7.26015615e+00,\n",
            -       "         7.25563622e+00, -8.90508771e-01,  3.33858395e+00,\n",
            -       "        -4.63448620e+00,  2.72201848e+00,  2.69444180e+00,\n",
            -       "         7.78187931e-01,  7.55690718e+00,  2.75735259e-01,\n",
            -       "        -2.91637230e+00, -6.81530666e+00, -1.57308030e+00,\n",
            -       "        -7.58241272e+00,  1.43748093e+00, -7.55627155e+00,\n",
            -       "         3.19303679e+00, -5.36505556e+00, -1.15430202e+01,\n",
            -       "         4.40225661e-01,  5.46767759e+00, -8.20215797e+00,\n",
            -       "         3.56679022e-01,  4.81598663e+00,  1.69988811e-01,\n",
            -       "         1.18402758e+01,  8.49781418e+00, -5.40500975e+00,\n",
            -       "         2.09457254e+00, -1.63413680e+00,  2.38487005e+00,\n",
            -       "        -5.24984980e+00, -7.08062840e+00, -4.49847698e+00,\n",
            -       "         4.75647640e+00, -6.63694525e+00, -4.31203794e+00,\n",
            -       "         3.76967698e-01, -4.72881651e+00, -3.61989594e+00,\n",
            -       "         7.30160332e+00, -2.82294011e+00,  5.45915794e+00,\n",
            -       "         5.97896147e+00,  1.42480135e+00,  1.71769476e+00,\n",
            -       "         1.83458173e+00, -2.03421044e+00, -1.21695495e+00,\n",
            -       "        -2.88737923e-01,  1.16490376e+00,  2.53098369e+00,\n",
            -       "         3.88871217e+00, -2.18504024e+00,  3.27239442e+00,\n",
            -       "         7.90604830e+00,  1.32355189e+00, -1.46008480e+00,\n",
            -       "        -1.72825086e+00,  1.21700764e-01,  5.27798367e+00,\n",
            -       "         8.14821243e+00,  3.93104291e+00, -6.05948031e-01,\n",
            -       "         3.23243809e+00,  3.96863151e+00, -6.16936684e+00,\n",
            -       "         4.38937044e+00,  3.05740547e+00,  3.85804129e+00,\n",
            -       "         1.32996821e+00,  3.84759259e+00,  6.66850865e-01,\n",
            -       "         9.07183945e-01,  1.48809273e-02, -3.71322846e+00,\n",
            -       "         1.65257967e+00,  2.42728853e+00, -9.26358759e-01,\n",
            -       "         2.15981793e+00, -1.40861428e+00, -3.81361461e+00,\n",
            -       "        -1.52566981e+00, -4.59913254e+00,  6.24776423e-01,\n",
            -       "         9.58626366e+00,  3.67797637e+00, -4.09784746e+00,\n",
            -       "         1.54376483e+00, -5.56217790e-01]], dtype=float32)
          • tau
            (chain, draw)
            float32
            1.142396 0.82828474 ... 27.683926
            array([[1.14239597e+00, 8.28284740e-01, 3.78205299e+00, 9.73977280e+00,\n",
            -       "        8.45564842e+00, 4.66784382e+00, 5.73158979e+00, 1.75484061e+00,\n",
            -       "        9.52065066e-02, 8.36029129e+01, 3.42491865e-01, 2.32345676e+00,\n",
            -       "        5.29000092e+00, 1.06360044e+01, 2.88606501e+00, 1.34007835e+01,\n",
            -       "        2.24463615e+01, 2.03689718e+00, 6.03032410e-02, 4.65588999e+00,\n",
            -       "        6.22869492e-01, 9.02841854e+00, 1.86696701e+01, 4.86623240e+00,\n",
            -       "        3.72949719e+00, 3.86954117e+00, 6.17830658e+00, 1.61912191e+00,\n",
            -       "        1.82664406e+00, 2.62900055e+02, 2.35055580e+01, 6.12994671e+00,\n",
            -       "        3.77730465e+00, 7.43117332e+00, 4.83659286e+01, 6.05498195e-01,\n",
            -       "        3.65242934e+00, 5.45612240e+00, 4.06896925e+00, 3.69497752e+00,\n",
            -       "        2.64012794e+01, 1.59782636e+00, 3.76606345e+00, 3.25247431e+00,\n",
            -       "        9.63840961e+00, 1.81573849e+01, 3.03462267e+00, 4.15390015e+00,\n",
            -       "        3.40319290e+01, 3.98135281e+00, 3.63751745e+00, 1.45697870e+01,\n",
            -       "        3.92402229e+01, 1.08645380e+00, 5.30041790e+00, 1.26662433e+00,\n",
            -       "        1.36301699e+01, 6.51986897e-01, 3.13314438e-01, 1.57919002e+00,\n",
            -       "        4.63338089e+00, 4.35344458e-01, 1.36403275e+01, 2.81532745e+01,\n",
            -       "        3.47195888e+00, 3.76934004e+00, 1.01469460e+01, 1.81859837e+01,\n",
            -       "        4.16979980e+00, 3.12015228e-02, 3.77084970e+00, 6.29084778e+00,\n",
            -       "        7.24869251e-01, 9.34037704e+01, 1.16617656e+00, 9.01426554e-01,\n",
            -       "        5.80987453e+00, 3.58328152e+00, 1.74854606e-01, 2.08160877e+01,\n",
            -       "        1.23795118e+01, 2.25147705e+01, 4.57677698e+00, 1.01074677e+01,\n",
            -       "        1.59020786e+01, 6.53844118e+00, 1.44939363e+00, 4.70238876e+00,\n",
            -       "        2.56741619e+01, 7.94446766e-01, 4.58743191e+00, 3.10524321e+00,\n",
            -       "        2.20093393e+00, 7.25855780e+00, 2.31834793e+00, 3.17246890e+00,\n",
            -       "        1.19931831e+01, 3.59134459e+00, 2.02834821e+00, 2.18186355e+00,\n",
            -       "        1.52328781e+02, 7.97296047e-01, 6.14041443e+01, 1.57116842e+00,\n",
            -       "        6.10496521e+00, 5.53718758e+00, 3.43557501e+00, 9.17702332e+01,\n",
            -       "        1.94792724e+00, 4.70797110e+00, 1.12761383e+01, 4.50403643e+00,\n",
            -       "        2.67536659e+01, 9.36010265e+00, 1.45561023e+03, 5.11155081e+00,\n",
            -       "        6.21278000e+00, 3.19992809e+01, 5.87134266e+00, 1.35119987e+00,\n",
            -       "        5.08365059e+00, 7.79440212e+00, 2.13237810e+00, 3.27075863e+00,\n",
            -       "        2.53759527e+00, 5.20478606e-01, 1.32904005e+00, 4.55831623e+00,\n",
            -       "        1.50372925e+01, 2.66347218e+01, 2.40739489e+00, 3.38194370e-02,\n",
            -       "        6.79631591e-01, 1.20179987e+00, 2.96884084e+00, 6.56440830e+00,\n",
            -       "        1.18999090e+01, 6.73027086e+00, 3.88416678e-01, 6.16611481e+00,\n",
            -       "        1.67719424e+00, 2.62265873e+00, 1.72751961e+01, 4.79238605e+00,\n",
            -       "        7.29303420e-01, 4.98975849e+00, 1.09518318e+02, 5.20093842e+01,\n",
            -       "        3.32636619e+00, 1.53864784e+01, 9.14391899e+00, 2.47286773e+00,\n",
            -       "        3.43405056e+00, 4.72796440e-01, 2.21970673e+02, 1.43445349e+00,\n",
            -       "        2.41525345e+01, 6.49913073e-01, 7.70250626e+01, 8.21220779e+00,\n",
            -       "        1.21312666e+01, 1.81146443e+00, 6.71422672e+00, 1.33674118e+02,\n",
            -       "        2.32109451e+00, 1.55294342e+01, 2.90738316e+01, 9.29705524e+00,\n",
            -       "        7.08691120e+00, 5.02321815e+00, 3.89524698e+00, 1.09841394e+01,\n",
            -       "        2.99719925e+01, 5.36942035e-02, 1.37703109e+00, 1.68658018e+00,\n",
            -       "        3.99150515e+00, 1.12473798e+00, 9.02250171e-01, 2.73737478e+00,\n",
            -       "        8.98117161e+00, 4.47370958e+00, 3.10310822e+01, 1.22979450e+01,\n",
            -       "        3.94588351e+00, 3.07086945e+00, 1.74434197e+00, 8.75386715e+00,\n",
            -       "        4.26136182e+03, 2.31220555e+00, 3.54982197e-01, 2.05507069e+01,\n",
            -       "        1.00697021e+01, 7.91926908e+00, 2.93408508e+01, 9.00583839e+00,\n",
            -       "        5.90174198e+00, 6.23531723e+01, 1.52723479e+00, 3.05835623e-02,\n",
            -       "        7.82072830e+00, 1.01906290e+01, 6.25540161e+01, 1.68074262e+00,\n",
            -       "        7.66741705e+00, 1.23928988e+00, 1.25125512e-01, 8.52419281e+00,\n",
            -       "        5.03511047e+00, 4.05304337e+01, 7.11188889e+00, 3.62678981e+00,\n",
            -       "        1.42272607e+03, 1.86320722e+00, 2.36487246e+00, 4.01817417e+00,\n",
            -       "        4.12784233e+01, 3.10363436e+00, 7.90520620e+00, 5.11676550e+00,\n",
            -       "        4.15123844e+00, 1.36709328e+01, 4.25427437e+00, 2.52757645e+00,\n",
            -       "        2.46149611e+00, 3.67261581e+01, 2.45107508e+00, 1.50059676e+00,\n",
            -       "        4.93538475e+01, 5.50493927e+01, 1.70877190e+01, 2.86450338e+00,\n",
            -       "        5.81457764e-02, 8.81091595e+00, 2.62867808e+00, 2.81487350e+01,\n",
            -       "        1.07280159e+02, 6.49172425e-01, 2.99201131e+00, 5.41220284e+00,\n",
            -       "        5.72809410e+00, 3.19130039e+01, 8.89182472e+00, 1.60706460e+00,\n",
            -       "        3.11241322e+01, 5.25158691e+00, 4.20387451e+02, 3.32977676e+00,\n",
            -       "        1.12320185e+01, 5.67404976e+01, 1.25112247e+00, 2.04379535e+00,\n",
            -       "        1.57966375e+00, 1.11591601e+00, 1.01193643e+00, 1.76513803e+00,\n",
            -       "        2.18080544e+00, 1.79301441e+00, 1.71908607e+01, 3.09946777e+02,\n",
            -       "        3.46127319e+00, 6.00123405e+00, 2.99632111e+01, 1.82455597e+01,\n",
            -       "        1.78776817e+01, 2.79887152e+00, 2.63987331e+01, 6.75481272e+00,\n",
            -       "        1.35175915e+01, 2.23905325e+00, 1.06601028e+01, 1.53739376e+01,\n",
            -       "        3.96356249e+00, 9.25004542e-01, 5.00293446e+00, 1.35800183e+00,\n",
            -       "        5.93189776e-01, 2.26463776e+01, 4.93218708e+00, 3.72727633e+00,\n",
            -       "        7.28081894e+00, 2.83549607e-01, 4.21679544e+00, 1.81901665e+01,\n",
            -       "        1.21280432e+00, 4.17735249e-01, 1.08885217e+00, 3.38204895e+02,\n",
            -       "        5.14020615e+01, 4.05303240e+00, 3.31265783e+00, 2.31162834e+00,\n",
            -       "        7.68731642e+00, 2.76660309e+01, 2.93328056e+01, 2.63904119e+00,\n",
            -       "        6.05144310e+00, 1.70312095e+00, 2.34002411e+02, 2.32598419e+01,\n",
            -       "        3.39389496e+01, 3.65918040e+00, 9.16184068e-01, 4.22204465e-01,\n",
            -       "        1.32080593e+01, 7.56184769e+00, 5.85528135e+00, 5.01661110e+00,\n",
            -       "        4.70766020e+00, 5.80670738e+00, 6.71747208e+00, 1.51498508e+01,\n",
            -       "        1.18939209e+01, 8.12217522e+00, 1.05186157e+02, 1.21349227e+00,\n",
            -       "        4.31718903e+01, 2.86553049e+00, 4.41276360e+00, 2.33716488e+00,\n",
            -       "        2.49567938e+00, 2.59115744e+00, 1.09836912e+01, 6.47885036e+00,\n",
            -       "        9.83264732e+00, 1.60747280e+01, 1.71704245e+00, 7.54926252e+00,\n",
            -       "        1.11699696e+01, 2.35523796e+00, 1.51282215e+01, 2.24561167e+00,\n",
            -       "        5.48041821e+00, 1.02768269e+01, 6.11299992e+00, 1.04072390e+01,\n",
            -       "        1.15984237e+00, 3.18276482e+01, 3.74301491e+01, 5.90000725e+00,\n",
            -       "        1.38564692e+01, 6.41441870e+00, 2.22659164e+02, 3.50071564e+01,\n",
            -       "        3.66892767e+00, 3.70496893e+00, 1.72718258e+01, 5.02200723e-01,\n",
            -       "        2.67812119e+01, 4.20239973e+00, 2.01739979e+01, 4.26734686e-01,\n",
            -       "        5.02637024e+01, 2.45705509e+01, 1.05007780e+00, 6.42584753e+00,\n",
            -       "        3.04220700e+00, 6.73474884e+00, 6.40137005e+00, 9.73407059e+01,\n",
            -       "        6.12944651e+00, 5.05982876e+00, 2.88817406e-01, 3.43511552e-01,\n",
            -       "        1.27810249e+01, 5.02977324e+00, 4.91624737e+00, 2.71376348e+00,\n",
            -       "        3.26131096e+01, 1.79950600e+01, 2.51596594e+00, 8.24217129e+00,\n",
            -       "        1.70410385e+01, 5.17923450e+00, 1.21298075e+00, 8.87988853e+00,\n",
            -       "        5.11569262e+00, 9.66544056e+00, 1.56618862e+01, 1.24250488e+01,\n",
            -       "        1.28370821e-01, 7.94004345e+00, 1.31174731e+00, 5.52232218e+00,\n",
            -       "        3.21314087e+01, 1.15538960e+01, 8.34687996e+00, 7.65170991e-01,\n",
            -       "        7.75093746e+00, 2.88230634e+00, 7.61907697e-01, 4.07307373e+03,\n",
            -       "        3.73773336e+00, 4.47626781e+00, 4.07136250e+00, 3.17902966e+01,\n",
            -       "        4.30423450e+00, 3.98057222e+00, 5.95249653e+00, 7.50840083e-02,\n",
            -       "        1.62638676e+00, 2.41606688e+00, 5.14008570e+00, 4.28319126e-01,\n",
            -       "        6.68958855e+00, 2.72210503e+00, 4.58135903e-01, 8.02352548e-01,\n",
            -       "        4.14515066e+00, 1.52046785e+01, 1.11286020e+01, 1.22764349e+01,\n",
            -       "        3.71391237e-01, 7.82304049e+00, 1.60837650e+00, 4.45431185e+00,\n",
            -       "        2.36078128e-01, 1.93308210e+00, 6.05777788e+00, 5.88573837e+00,\n",
            -       "        2.07663870e+00, 1.57697382e+01, 2.48631897e+01, 9.37386990e-01,\n",
            -       "        2.68251038e+00, 4.97329235e+00, 5.82806396e+00, 1.17972302e+00,\n",
            -       "        7.03372908e+00, 5.78110352e+01, 4.18201790e+01, 2.00440907e+00,\n",
            -       "        5.15675128e-01, 6.46189737e+00, 4.04254258e-01, 1.52897298e+00,\n",
            -       "        2.78337193e+00, 1.67558727e+01, 1.09970245e+01, 6.27413988e+00,\n",
            -       "        3.16200686e+00, 3.73198390e+00, 3.54864359e+00, 4.43692398e+01,\n",
            -       "        1.20014963e+01, 1.45458870e+01, 1.65152054e+01, 6.97461590e-02,\n",
            -       "        2.96747017e+00, 8.71357918e+00, 1.01789260e+00, 2.15747108e+01,\n",
            -       "        1.78598366e+01, 3.58743811e+00, 1.00511723e+01, 1.46134722e+00,\n",
            -       "        4.21542892e+01, 3.06898892e-01, 4.91473770e+00, 8.65565777e-01,\n",
            -       "        4.15286713e+01, 4.55233002e+00, 8.57823486e+01, 1.15855193e+00,\n",
            -       "        5.96807480e-01, 1.66686249e+01, 4.96415526e-01, 2.34539962e+00,\n",
            -       "        8.30045283e-01, 5.00013924e+00, 1.27071619e+00, 1.05359161e+00,\n",
            -       "        8.96452725e-01, 1.43233871e+01, 1.01140821e+00, 3.89470482e+00,\n",
            -       "        5.53279400e+00, 6.70534909e-01, 2.58556634e-01, 6.23838997e+00,\n",
            -       "        3.65321350e+00, 1.51140106e+00, 6.32374535e+01, 4.83192253e+00,\n",
            -       "        5.79800606e+00, 1.87330265e+01, 1.41712914e+01, 8.54477787e+00,\n",
            -       "        1.19185162e+01, 1.38340578e+01, 4.10225754e+01, 2.93181000e+01,\n",
            -       "        1.13749208e+01, 6.11714888e+00, 7.03764915e-01, 1.31945190e+01,\n",
            -       "        1.42294288e+00, 3.44097424e+00, 1.10320222e+00, 2.76839256e+01]],\n",
            -       "      dtype=float32)
          • theta
            (chain, draw, school)
            float32
            0.61433244 1.9731792 ... -21.27477
            array([[[  0.61433244,   1.9731792 ,   2.8793137 , ...,   3.1135025 ,\n",
            -       "           0.36174998,   2.3965962 ],\n",
            -       "        [  2.855525  ,   1.7712725 ,   4.221959  , ...,   1.8995284 ,\n",
            -       "           2.4188023 ,   4.186133  ],\n",
            -       "        [-10.665205  ,  -3.991663  ,  -3.7031555 , ..., -13.287186  ,\n",
            -       "         -10.481701  ,  -3.5811882 ],\n",
            -       "        ...,\n",
            -       "        [ -3.4689064 ,  -2.3196993 ,  -1.73383   , ...,  -7.962269  ,\n",
            -       "          -9.47191   ,  -6.03683   ],\n",
            -       "        [  0.13607061,  -0.9721953 ,   2.647256  , ...,   0.971618  ,\n",
            -       "           2.8553798 ,   2.584463  ],\n",
            -       "        [ -4.5051947 ,   3.6043565 , -46.242397  , ..., -29.500881  ,\n",
            -       "          39.389797  , -21.27477   ]]], dtype=float32)
        • created_at :
          2020-06-10T18:22:24.053369
          arviz_version :
          0.8.3
          inference_library :
          numpyro
          inference_library_version :
          0.2.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 1
          • draw: 500
          • y_dim_0: 8
          • chain
            (chain)
            int64
            0
            array([0])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 495 496 497 498 499
            array([  0,   1,   2, ..., 497, 498, 499])
          • y_dim_0
            (y_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (chain, draw, y_dim_0)
            float32
            19.690388 -0.3481581 ... -34.692043
            array([[[ 19.690388  ,  -0.3481581 , -22.367306  , ...,  16.622826  ,\n",
            -       "         -15.768808  ,  -6.8451705 ],\n",
            -       "        [  9.477534  ,  -9.470677  ,   8.480469  , ...,  -3.1395423 ,\n",
            -       "           8.926895  ,  21.148169  ],\n",
            -       "        [-12.141539  ,  20.385231  ,  14.313728  , ...,  -8.920135  ,\n",
            -       "          -8.540663  ,  10.570219  ],\n",
            -       "        ...,\n",
            -       "        [  6.1951447 , -16.812447  , -21.583776  , ...,  -6.104438  ,\n",
            -       "         -19.764782  , -15.566424  ],\n",
            -       "        [ 23.94809   , -19.047083  ,  -6.228318  , ...,   9.324339  ,\n",
            -       "          15.134213  ,   0.15730432],\n",
            -       "        [ 18.83905   ,  -3.9360547 , -30.911896  , ..., -25.75918   ,\n",
            -       "          44.763027  , -34.692043  ]]], dtype=float32)
        • created_at :
          2020-06-10T18:22:24.055633
          arviz_version :
          0.8.3
          inference_library :
          numpyro
          inference_library_version :
          0.2.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • y_dim_0: 8
          • y_dim_0
            (y_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (y_dim_0)
            float64
            28.0 8.0 -3.0 7.0 ... 1.0 18.0 12.0
            array([28.,  8., -3.,  7., -1.,  1., 18., 12.])
        • created_at :
          2020-06-10T18:22:24.056692
          arviz_version :
          0.8.3
          inference_library :
          numpyro
          inference_library_version :
          0.2.3

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import numpyro\n", - "import numpyro.distributions as dist\n", - "\n", - "from jax.random import PRNGKey\n", - "from numpyro.distributions.transforms import AffineTransform\n", - "from numpyro.infer import MCMC, NUTS, Predictive\n", - "\n", - "numpyro.set_host_device_count(4)\n", - "\n", - "eight_school_data = {\n", - " \"J\": 8,\n", - " \"y\": np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0]),\n", - " \"sigma\": np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0]),\n", - "}\n", - "\n", - "\n", - "def model(J, sigma, y=None):\n", - " mu = numpyro.sample(\"mu\", dist.Normal(0, 5))\n", - " tau = numpyro.sample(\"tau\", dist.HalfCauchy(5))\n", - " # use non-centered reparameterization\n", - " theta = numpyro.sample(\n", - " \"theta\",\n", - " dist.TransformedDistribution(dist.Normal(np.zeros(J), 1), AffineTransform(mu, tau)),\n", - " )\n", - " numpyro.sample(\"y\", dist.Normal(theta, sigma), obs=y)\n", - "\n", - "\n", - "kernel = NUTS(model)\n", - "mcmc = MCMC(kernel, num_warmup=500, num_samples=500, num_chains=4, chain_method=\"parallel\")\n", - "mcmc.run(PRNGKey(0), **eight_school_data, extra_fields=[\"num_steps\", \"energy\"])\n", - "posterior_samples = mcmc.get_samples()\n", - "posterior_predictive = Predictive(model, posterior_samples)(\n", - " PRNGKey(1), eight_school_data[\"J\"], eight_school_data[\"sigma\"]\n", - ")\n", - "prior = Predictive(model, num_samples=500)(\n", - " PRNGKey(2), eight_school_data[\"J\"], eight_school_data[\"sigma\"]\n", - ")\n", - "\n", - "numpyro_data = az.from_numpyro(\n", - " mcmc,\n", - " prior=prior,\n", - " posterior_predictive=posterior_predictive,\n", - " coords={\"school\": np.arange(eight_school_data[\"J\"])},\n", - " dims={\"theta\": [\"school\"]},\n", - ")\n", - "numpyro_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## From PyJAGS" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Import Package" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:50.353834Z", - "start_time": "2020-06-19T06:23:50.196427Z" - } - }, - "outputs": [], - "source": [ - "import pyjags" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### JAGS Model Code" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Prior Model" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:50.982666Z", - "start_time": "2020-06-19T06:23:50.979758Z" - } - }, - "outputs": [], - "source": [ - "eight_school_prior_model_code = \"\"\" \n", - "model {\n", - " mu ~ dnorm(0.0, 1.0/25)\n", - " tau ~ dt(0.0, 1.0/25, 1.0) T(0, )\n", - " for (j in 1:J) {\n", - " theta_tilde[j] ~ dnorm(0.0, 1.0)\n", - " }\n", - "}\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Posterior Model" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:51.265216Z", - "start_time": "2020-06-19T06:23:51.262860Z" - } - }, - "outputs": [], - "source": [ - "eight_school_posterior_model_code = \"\"\" \n", - "model {\n", - " mu ~ dnorm(0.0, 1.0/25)\n", - " tau ~ dt(0.0, 1.0/25, 1.0) T(0, )\n", - " for (j in 1:J) {\n", - " theta_tilde[j] ~ dnorm(0.0, 1.0)\n", - " y[j] ~ dnorm(mu + tau * theta_tilde[j], 1.0/(sigma[j]^2))\n", - " log_like[j] = logdensity.norm(y[j], mu + tau * theta_tilde[j], 1.0/(sigma[j]^2))\n", - " }\n", - "}\n", - "\"\"\"" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:51.407328Z", - "start_time": "2020-06-19T06:23:51.404376Z" - } - }, - "outputs": [], - "source": [ - "parameters = [\"mu\", \"tau\", \"theta_tilde\"]\n", - "variables = parameters + [\"log_like\"]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Construct JAGS Model and Run Adaptation Steps" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Prior Model" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:51.842644Z", - "start_time": "2020-06-19T06:23:51.830153Z" - } - }, - "outputs": [], - "source": [ - "jags_prior_model = pyjags.Model(\n", - " code=eight_school_prior_model_code, data={\"J\": 8}, chains=4, threads=4, chains_per_thread=1\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Posterior Model" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:52.134872Z", - "start_time": "2020-06-19T06:23:52.114138Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "adapting: iterations 4000 of 4000, elapsed 0:00:00, remaining 0:00:00\n" - ] - } - ], - "source": [ - "jags_posterior_model = pyjags.Model(\n", - " code=eight_school_posterior_model_code,\n", - " data=eight_school_data,\n", - " chains=4,\n", - " threads=4,\n", - " chains_per_thread=1,\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Draw 1000 Burn-In Samples and 5000 Actual Samples per Chain" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:52.521467Z", - "start_time": "2020-06-19T06:23:52.429977Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "sampling: iterations 24000 of 24000, elapsed 0:00:00, remaining 0:00:00\n", - "sampling: iterations 24000 of 24000, elapsed 0:00:00, remaining 0:00:00\n" - ] - } - ], - "source": [ - "jags_prior_samples = jags_prior_model.sample(5000 + 1000, vars=parameters)\n", - "jags_posterior_samples = jags_posterior_model.sample(5000 + 1000, vars=variables)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Convert PyJAGS Samples Dictionary to ArviZ Inference Data Object" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "ExecuteTime": { - "end_time": "2020-06-19T06:23:52.881918Z", - "start_time": "2020-06-19T06:23:52.827507Z" - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 5000
          • theta_tilde_dim_0: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 ... 4996 4997 4998 4999
            array([   0,    1,    2, ..., 4997, 4998, 4999])
          • theta_tilde_dim_0
            (theta_tilde_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • theta_tilde
            (chain, draw, theta_tilde_dim_0)
            float64
            -0.8817 0.8312 ... -0.3614 0.2794
            array([[[-0.88174174,  0.8311665 ,  1.10488223, ...,  0.62806857,\n",
            -       "          1.65106401, -2.11708265],\n",
            -       "        [ 2.17850758, -1.41724046,  0.72707293, ..., -0.10367641,\n",
            -       "          1.45396018,  0.24709837],\n",
            -       "        [ 0.81652872, -0.29176691,  1.03097211, ...,  1.07673322,\n",
            -       "          0.5706165 , -1.19106757],\n",
            -       "        ...,\n",
            -       "        [-1.23755094,  0.91250462,  1.1963741 , ...,  0.26491143,\n",
            -       "          0.76106225,  0.57917398],\n",
            -       "        [-1.35290111,  1.07278878,  0.77032752, ...,  0.77455926,\n",
            -       "         -0.6812899 ,  0.00471888],\n",
            -       "        [-0.40863176, -1.11414664, -0.53097218, ..., -2.02180526,\n",
            -       "          1.01126856,  1.09988951]],\n",
            -       "\n",
            -       "       [[ 0.74434408, -0.80572376,  0.20101287, ...,  0.6980911 ,\n",
            -       "         -0.14667289, -0.94504326],\n",
            -       "        [ 0.46109018, -0.82620886, -1.10752051, ...,  0.18287271,\n",
            -       "          0.21127186, -1.79253299],\n",
            -       "        [ 0.08512414,  0.24489294, -0.12214871, ...,  1.0077562 ,\n",
            -       "          0.80177088, -0.93646401],\n",
            -       "        ...,\n",
            -       "        [ 0.92178378,  0.87741111, -0.39197417, ...,  0.80248346,\n",
            -       "         -1.46338642, -0.46199604],\n",
            -       "        [ 0.36237559,  0.46215407, -1.73437547, ..., -1.01830898,\n",
            -       "         -0.09736579, -0.41645504],\n",
            -       "        [ 0.58917644,  0.70971594,  2.15531038, ...,  0.31930674,\n",
            -       "          0.6023669 , -1.10561869]],\n",
            -       "\n",
            -       "       [[ 2.17451657, -0.1931361 , -1.14732738, ..., -1.50058697,\n",
            -       "          1.22385411,  0.27566677],\n",
            -       "        [ 1.6354893 ,  0.21950903, -1.57814054, ..., -0.84344272,\n",
            -       "          1.33587411,  0.747757  ],\n",
            -       "        [ 0.42957296, -0.40352505, -0.65313703, ..., -0.4455405 ,\n",
            -       "          1.14722717,  0.62462979],\n",
            -       "        ...,\n",
            -       "        [ 1.57590084,  0.55130098,  1.30339268, ..., -1.13108329,\n",
            -       "          1.06065527, -0.51927498],\n",
            -       "        [-0.32816438,  1.47417303,  1.78369344, ..., -0.91369571,\n",
            -       "          0.22836427,  0.34783575],\n",
            -       "        [ 1.39280334, -0.05262139, -0.27421297, ..., -0.39162294,\n",
            -       "          0.61244698, -1.44619576]],\n",
            -       "\n",
            -       "       [[-0.79585476,  0.5664897 , -0.48594107, ..., -0.64431217,\n",
            -       "          0.33346594,  0.03809172],\n",
            -       "        [ 0.08019949,  0.69626484, -1.22362621, ..., -0.31210293,\n",
            -       "          1.85372842, -1.48163986],\n",
            -       "        [ 0.49964184, -0.74533837, -1.70633152, ...,  0.55752691,\n",
            -       "          0.61285682,  1.02246266],\n",
            -       "        ...,\n",
            -       "        [-0.10515652,  0.15723478, -0.10753087, ...,  1.23281426,\n",
            -       "         -1.49638046,  0.80568695],\n",
            -       "        [ 0.42779301,  2.56133177, -0.03308635, ...,  0.87356664,\n",
            -       "         -0.69213149,  0.39322944],\n",
            -       "        [ 0.05093885, -0.10725331,  0.74691675, ..., -1.42317395,\n",
            -       "         -0.36136415,  0.27941795]]])
          • mu
            (chain, draw)
            float64
            9.566 8.862 -0.6542 ... 10.54 7.435
            array([[ 9.5660161 ,  8.86161166, -0.65416323, ...,  8.65878056,\n",
            -       "         8.51434694,  4.75722624],\n",
            -       "       [13.0860039 , 10.90145526,  0.11474836, ..., 11.68939865,\n",
            -       "        -0.9937689 ,  4.37219633],\n",
            -       "       [ 3.32283619,  6.94982458,  6.6868707 , ..., -0.16083202,\n",
            -       "         1.94741381,  1.6089792 ],\n",
            -       "       [ 5.79470397,  6.00639881,  4.22307168, ...,  4.3675311 ,\n",
            -       "        10.54271823,  7.43480709]])
          • tau
            (chain, draw)
            float64
            0.4225 0.7076 ... 0.6132 0.3754
            array([[0.4225129 , 0.70764354, 4.11318626, ..., 1.06549024, 0.84353229,\n",
            -       "        1.22666774],\n",
            -       "       [5.6051199 , 1.60676596, 1.23003475, ..., 2.15813014, 3.75102582,\n",
            -       "        4.20842298],\n",
            -       "       [7.48864072, 8.89845878, 3.85519405, ..., 0.35845809, 0.80083886,\n",
            -       "        4.63863181],\n",
            -       "       [3.45441525, 0.77457384, 1.72308523, ..., 0.77028832, 0.6131635 ,\n",
            -       "        0.37541366]])
        • created_at :
          2020-06-19T06:23:52.830658
          arviz_version :
          0.8.3
          inference_library :
          pyjags
          inference_library_version :
          1.3.5

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 5000
          • y_dim_0: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 ... 4996 4997 4998 4999
            array([   0,    1,    2, ..., 4997, 4998, 4999])
          • y_dim_0
            (y_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (chain, draw, y_dim_0)
            float64
            -4.413 -3.24 ... -3.794 -3.84
            array([[[-4.41295677, -3.2399018 , -4.0232753 , ..., -3.63912029,\n",
            -       "         -3.52078213, -3.82640716],\n",
            -       "        [-4.31509256, -3.22162344, -3.99068419, ..., -3.56748162,\n",
            -       "         -3.55034381, -3.82286355],\n",
            -       "        [-5.04891945, -3.70705532, -3.77625556, ..., -3.34864634,\n",
            -       "         -4.55113302, -4.28479863],\n",
            -       "        ...,\n",
            -       "        [-4.57549557, -3.23482517, -4.01823734, ..., -3.57741287,\n",
            -       "         -3.585355  , -3.82076215],\n",
            -       "        [-4.57247255, -3.23159539, -3.98052409, ..., -3.59250129,\n",
            -       "         -3.72757614, -3.82801715],\n",
            -       "        [-4.87983078, -3.3277593 , -3.79014798, ..., -3.32357386,\n",
            -       "         -3.94179764, -3.86291249]],\n",
            -       "\n",
            -       "       [[-3.88340544, -3.22314713, -4.2701937 , ..., -4.37453804,\n",
            -       "         -3.38603872, -3.83667629],\n",
            -       "        [-4.221597  , -3.23390992, -3.97852171, ..., -3.74635412,\n",
            -       "         -3.44994946, -3.8337397 ],\n",
            -       "        [-5.34200815, -3.50911079, -3.70869184, ..., -3.31735259,\n",
            -       "         -4.64941234, -4.07160487],\n",
            -       "        ...,\n",
            -       "        [-4.08276392, -3.37737117, -4.06582723, ..., -3.95438653,\n",
            -       "         -3.66981257, -3.8119491 ],\n",
            -       "        [-5.32402199, -3.48507739, -3.73106848, ..., -3.45648859,\n",
            -       "         -5.09537619, -4.1362768 ],\n",
            -       "        [-4.62087894, -3.22357815, -4.21957583, ..., -3.40873634,\n",
            -       "         -3.83677346, -4.04205096]],\n",
            -       "\n",
            -       "       [[-3.78352715, -3.40900932, -3.70158341, ..., -3.64521677,\n",
            -       "         -3.37344317, -3.87679339],\n",
            -       "        [-3.72078639, -3.22560172, -3.72425037, ..., -3.32683227,\n",
            -       "         -3.22502685, -3.81327925],\n",
            -       "        [-4.48565386, -3.2626736 , -3.79190448, ..., -3.38193609,\n",
            -       "         -3.45890796, -3.82233402],\n",
            -       "        ...,\n",
            -       "        [-5.31929045, -3.53858749, -3.7128791 , ..., -3.32697111,\n",
            -       "         -4.80227792, -4.04456905],\n",
            -       "        [-5.16587742, -3.34020609, -3.77092501, ..., -3.31702605,\n",
            -       "         -4.48076103, -3.95673557],\n",
            -       "        [-4.50969454, -3.44164719, -3.71327649, ..., -3.32285998,\n",
            -       "         -4.13955032, -4.26052812]],\n",
            -       "\n",
            -       "       [[-5.01082765, -3.22183215, -3.79043025, ..., -3.34410517,\n",
            -       "         -3.83240815, -3.86623926],\n",
            -       "        [-4.69585506, -3.23209846, -3.81836553, ..., -3.41064335,\n",
            -       "         -3.77885422, -3.88800986],\n",
            -       "        [-4.79397359, -3.34960285, -3.72735417, ..., -3.389163  ,\n",
            -       "         -4.03063314, -3.86514653],\n",
            -       "        ...,\n",
            -       "        [-4.87660795, -3.28317162, -3.79517349, ..., -3.39384957,\n",
            -       "         -4.3145215 , -3.88518398],\n",
            -       "        [-4.28402686, -3.30611707, -4.04866815, ..., -3.73655814,\n",
            -       "         -3.53212736, -3.8115928 ],\n",
            -       "        [-4.56507981, -3.22335652, -3.91577671, ..., -3.46070254,\n",
            -       "         -3.794065  , -3.84001127]]])
        • created_at :
          2020-06-19T06:23:52.839616
          arviz_version :
          0.8.3
          inference_library :
          pyjags
          inference_library_version :
          1.3.5

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 5000
          • theta_tilde_dim_0: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 ... 4996 4997 4998 4999
            array([   0,    1,    2, ..., 4997, 4998, 4999])
          • theta_tilde_dim_0
            (theta_tilde_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • theta_tilde
            (chain, draw, theta_tilde_dim_0)
            float64
            -1.889 1.346 ... -0.8655 0.5383
            array([[[-1.88942629,  1.34582443, -1.27439589, ...,  0.39141036,\n",
            -       "          1.06839711,  1.00208791],\n",
            -       "        [-1.92745639,  0.14500474,  0.10506899, ...,  0.51941011,\n",
            -       "         -0.16956966, -2.20828958],\n",
            -       "        [ 0.16596736, -0.94849957,  1.23799146, ..., -1.20251108,\n",
            -       "         -0.23516297,  0.19975542],\n",
            -       "        ...,\n",
            -       "        [ 0.28867032,  0.21855779, -0.0472229 , ...,  0.34249931,\n",
            -       "          0.22800237,  0.09277016],\n",
            -       "        [-0.90562386,  0.22289785,  0.17417408, ..., -0.50959195,\n",
            -       "         -1.13071736, -0.43731151],\n",
            -       "        [-0.26447627,  0.9748397 ,  1.14235152, ...,  0.72159398,\n",
            -       "          0.39438135,  1.10104895]],\n",
            -       "\n",
            -       "       [[ 0.85414368,  0.21015264, -0.01124105, ..., -3.06560738,\n",
            -       "          0.61477986,  1.71560174],\n",
            -       "        [-0.34456317, -0.94928476, -0.22545099, ...,  2.40872479,\n",
            -       "          0.23290478, -0.35000991],\n",
            -       "        [-0.61380659, -0.29968026, -1.71916073, ...,  0.43929196,\n",
            -       "          0.37558874,  0.75680886],\n",
            -       "        ...,\n",
            -       "        [ 1.11230697,  0.08753353,  1.20319348, ..., -1.16203839,\n",
            -       "          0.50188358,  1.24763116],\n",
            -       "        [-2.24153687,  0.62771154, -0.69104447, ...,  0.0050251 ,\n",
            -       "          0.03579746, -0.29728326],\n",
            -       "        [-1.62260487,  0.63136263, -1.0231426 , ...,  0.00473683,\n",
            -       "         -1.30076872,  1.19312088]],\n",
            -       "\n",
            -       "       [[-0.95586891,  2.07130758, -0.62581832, ..., -1.24888283,\n",
            -       "         -0.63670725,  0.80585607],\n",
            -       "        [ 0.98030091,  3.48510693, -0.09221556, ...,  0.2905206 ,\n",
            -       "         -1.42276586, -1.63783879],\n",
            -       "        [-0.52711995,  1.0616592 ,  0.08870877, ...,  0.0137179 ,\n",
            -       "          1.09690801, -0.35646888],\n",
            -       "        ...,\n",
            -       "        [-0.74162647, -0.17192853,  2.14474553, ..., -1.2676518 ,\n",
            -       "          0.40364072, -0.26263897],\n",
            -       "        [-0.54642829, -0.40111569, -1.66033768, ..., -0.15261003,\n",
            -       "          0.18717593, -2.04277684],\n",
            -       "        [ 0.38928439, -0.31714689, -0.13634358, ...,  1.44254261,\n",
            -       "          0.45682044, -1.71722348]],\n",
            -       "\n",
            -       "       [[-0.51944123, -1.0597853 ,  0.9618371 , ...,  1.47061286,\n",
            -       "         -0.13483646,  0.48622419],\n",
            -       "        [ 1.42526465, -1.01343223, -0.14500896, ..., -0.10968334,\n",
            -       "          0.37813614, -1.79126724],\n",
            -       "        [ 0.31486789, -0.77521119,  0.06163777, ...,  0.15416909,\n",
            -       "         -1.618313  , -0.33723388],\n",
            -       "        ...,\n",
            -       "        [-0.7315915 ,  1.33776777,  0.37092305, ...,  0.74510867,\n",
            -       "          1.03921363,  0.19720606],\n",
            -       "        [-0.71781538,  1.1953773 ,  0.54485766, ..., -1.24106341,\n",
            -       "         -0.64573595, -0.68705139],\n",
            -       "        [-0.4341049 ,  1.57701704, -0.88924713, ..., -0.28156494,\n",
            -       "         -0.86547147,  0.53826645]]])
          • mu
            (chain, draw)
            float64
            4.654 -1.541 3.409 ... -3.332 0.196
            array([[ 4.65431193, -1.54134706,  3.40852221, ...,  3.08275307,\n",
            -       "        -5.14290226,  0.92978784],\n",
            -       "       [-0.29611118,  3.08889133,  2.86584901, ..., -4.10944146,\n",
            -       "         9.75974653, -1.39819553],\n",
            -       "       [-0.58853395,  4.14783675,  4.62984626, ..., -2.42436949,\n",
            -       "        -3.31313771,  9.50384399],\n",
            -       "       [-3.68876703,  0.54715647,  7.39943174, ..., -2.92143299,\n",
            -       "        -3.33214817,  0.19597932]])
          • tau
            (chain, draw)
            float64
            12.77 88.9 31.67 ... 4.114 26.26
            array([[12.76642906, 88.89765381, 31.66746203, ..., 13.09897376,\n",
            -       "        88.31134139,  4.12752449],\n",
            -       "       [ 0.50596232, 12.51825709,  4.12346651, ...,  7.30589409,\n",
            -       "         1.35717493,  0.50805488],\n",
            -       "       [ 2.08673563,  4.73909692, 75.18967022, ...,  8.31522156,\n",
            -       "         1.3542986 , 11.60239688],\n",
            -       "       [ 1.91847522,  0.77704296,  0.64164736, ...,  1.23623608,\n",
            -       "         4.11407372, 26.26295554]])
        • created_at :
          2020-06-19T06:23:52.835882
          arviz_version :
          0.8.3
          inference_library :
          pyjags
          inference_library_version :
          1.3.5

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • theta_tilde_dim_0: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • theta_tilde_dim_0
            (theta_tilde_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • theta_tilde
            (chain, draw, theta_tilde_dim_0)
            float64
            0.6259 -0.05823 ... 0.933 -1.011
            array([[[ 0.62591075, -0.05822593, -1.34667486, ...,  0.5220049 ,\n",
            -       "          1.49657226, -0.09110078],\n",
            -       "        [-1.63058644,  0.75384376, -0.07248947, ..., -0.51070233,\n",
            -       "          2.01420918, -0.63685846],\n",
            -       "        [ 0.56332043,  0.15225759, -0.43446575, ...,  0.75181526,\n",
            -       "          0.91067242,  1.04358195],\n",
            -       "        ...,\n",
            -       "        [-1.29342749, -0.38839071,  1.27008443, ...,  0.04984877,\n",
            -       "          0.83977179, -1.00655611],\n",
            -       "        [-0.23436997, -0.0567252 , -1.29407051, ...,  0.59762695,\n",
            -       "          0.31896628, -0.60612625],\n",
            -       "        [ 0.44615354,  1.27849237, -0.48100964, ..., -0.43710145,\n",
            -       "         -0.53003482, -0.16956221]],\n",
            -       "\n",
            -       "       [[ 0.77292342,  0.41728015,  1.30116281, ...,  0.60598961,\n",
            -       "          1.75784329, -2.23638839],\n",
            -       "        [ 2.25214026,  1.91018121,  0.13392948, ..., -1.83242983,\n",
            -       "         -1.10470279,  0.31154014],\n",
            -       "        [-0.18460234,  0.53429385, -0.35811612, ...,  0.93326105,\n",
            -       "          2.23085295, -0.6855231 ],\n",
            -       "        ...,\n",
            -       "        [ 0.56559632,  0.25455658, -0.84359086, ...,  0.24238882,\n",
            -       "          1.43498743, -0.13700032],\n",
            -       "        [ 0.5926399 ,  1.41338219, -1.40345751, ...,  0.75477275,\n",
            -       "          1.52278466,  0.2743515 ],\n",
            -       "        [ 2.13964096,  0.46433539,  0.53753241, ..., -0.62288982,\n",
            -       "          2.39142079,  0.6179569 ]],\n",
            -       "\n",
            -       "       [[-0.62357813,  1.21312606,  0.02332749, ..., -1.85795028,\n",
            -       "          1.40440496,  0.13550857],\n",
            -       "        [ 0.40808923,  0.07567456,  1.17306305, ...,  1.25301819,\n",
            -       "         -0.3578069 , -2.49587944],\n",
            -       "        [ 0.44775523, -0.04736244, -1.11623165, ...,  0.67507359,\n",
            -       "          2.07246375,  1.78842195],\n",
            -       "        ...,\n",
            -       "        [ 2.2371135 ,  1.11187675,  0.27148003, ..., -0.17553131,\n",
            -       "          1.29880533,  0.19596854],\n",
            -       "        [ 2.2936293 ,  0.92676865,  0.87846553, ..., -0.17362181,\n",
            -       "          1.18790425,  0.82398055],\n",
            -       "        [ 0.1900121 ,  2.19559171, -1.5187373 , ..., -1.89672507,\n",
            -       "          1.26775356,  1.15303549]],\n",
            -       "\n",
            -       "       [[ 0.15815182,  1.26705501, -0.3804165 , ...,  2.3467277 ,\n",
            -       "         -1.48880315,  0.32744594],\n",
            -       "        [-0.82407985, -1.3273879 ,  1.04150429, ...,  0.00393478,\n",
            -       "         -0.29381189, -1.9999881 ],\n",
            -       "        [ 1.53612173, -0.79165433, -0.61818957, ..., -0.21186912,\n",
            -       "          1.41784152, -0.10586098],\n",
            -       "        ...,\n",
            -       "        [-0.49140065, -0.87372717, -0.85024702, ...,  1.46580137,\n",
            -       "         -1.09679543,  0.18858381],\n",
            -       "        [ 0.66825142, -0.285897  , -0.90993501, ...,  0.2777644 ,\n",
            -       "          0.08081879,  0.04777291],\n",
            -       "        [-0.09543308, -1.14055406, -0.18135868, ...,  0.92126407,\n",
            -       "          0.93304363, -1.01143416]]])
          • mu
            (chain, draw)
            float64
            0.1665 6.307 ... 0.3566 0.9405
            array([[ 0.16648025,  6.30650492,  5.58715254, ...,  3.40540871,\n",
            -       "         2.96770844,  3.48107398],\n",
            -       "       [ 7.9186115 ,  5.73733931,  3.63883791, ...,  1.27584629,\n",
            -       "         0.26084865,  7.28096009],\n",
            -       "       [ 8.02057312, -2.61108692,  4.11972209, ..., -0.75871149,\n",
            -       "         3.5817588 ,  2.08628888],\n",
            -       "       [ 3.23880708,  9.33523099,  3.94528447, ...,  4.84944117,\n",
            -       "         0.35656092,  0.9404811 ]])
          • tau
            (chain, draw)
            float64
            6.621 5.507 8.88 ... 5.691 11.58
            array([[ 6.62127708,  5.50691977,  8.88018874, ...,  4.32440909,\n",
            -       "         2.74299773,  1.72296131],\n",
            -       "       [ 1.2860264 ,  5.92674038,  5.87171746, ...,  6.90253812,\n",
            -       "         5.20568187,  9.63475622],\n",
            -       "       [ 0.48961787,  4.15905179,  5.70170925, ...,  6.27740286,\n",
            -       "         5.46124308,  8.38574835],\n",
            -       "       [ 0.11407355,  0.36389414,  2.92227942, ...,  5.86402037,\n",
            -       "         5.69135206, 11.58006309]])
        • created_at :
          2020-06-19T06:23:52.833729
          arviz_version :
          0.8.3
          inference_library :
          pyjags
          inference_library_version :
          1.3.5

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • y_dim_0: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • y_dim_0
            (y_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • y
            (chain, draw, y_dim_0)
            float64
            -4.874 -3.559 ... -3.417 -4.61
            array([[[-4.87405047, -3.55928752, -3.75610755, ..., -3.34526017,\n",
            -       "         -3.53549629, -4.04800178],\n",
            -       "        [-5.71772909, -3.25172905, -3.84648857, ..., -3.34253866,\n",
            -       "         -3.22333208, -3.93994528],\n",
            -       "        [-4.30059756, -3.22714981, -3.73520612, ..., -3.84106725,\n",
            -       "         -3.31509087, -3.82188337],\n",
            -       "        ...,\n",
            -       "        [-5.65212065, -3.41834852, -3.96800579, ..., -3.34522021,\n",
            -       "         -3.82246864, -4.06800461],\n",
            -       "        [-5.09190928, -3.35609457, -3.70294736, ..., -3.37059593,\n",
            -       "         -4.22367894, -3.98582382],\n",
            -       "        [-4.88048426, -3.24834599, -3.75392695, ..., -3.32917208,\n",
            -       "         -4.41228074, -3.92911746]],\n",
            -       "\n",
            -       "       [[-4.43660741, -3.22255987, -4.00120886, ..., -3.56170211,\n",
            -       "         -3.52734472, -3.88401093],\n",
            -       "        [-3.80359726, -3.6318046 , -3.86895295, ..., -3.47175565,\n",
            -       "         -4.99059421, -3.83940783],\n",
            -       "        [-5.06577285, -3.22901377, -3.73171482, ..., -3.58920164,\n",
            -       "         -3.22948967, -4.04607251],\n",
            -       "        ...,\n",
            -       "        [-4.78422679, -3.34488241, -3.69620193, ..., -3.33252961,\n",
            -       "         -3.45402413, -4.01947127],\n",
            -       "        [-4.97770541, -3.22225146, -3.72348599, ..., -3.35888263,\n",
            -       "         -3.7029022 , -3.97337818],\n",
            -       "        [-3.62701283, -3.29201318, -4.158344  , ..., -3.31715678,\n",
            -       "         -3.98064711, -3.81166336]],\n",
            -       "\n",
            -       "       [[-4.54136819, -3.22341193, -3.92923215, ..., -3.4711435 ,\n",
            -       "         -3.65321184, -3.83294022],\n",
            -       "        [-5.48478683, -3.751598  , -3.74572475, ..., -3.32741603,\n",
            -       "         -5.66340221, -4.77316679],\n",
            -       "        [-4.63777553, -3.30764961, -3.69264145, ..., -3.51751195,\n",
            -       "         -3.24281775, -3.81759345],\n",
            -       "        ...,\n",
            -       "        [-4.10819858, -3.23734807, -3.72193116, ..., -3.35064781,\n",
            -       "         -3.78391602, -4.01441398],\n",
            -       "        [-3.94126385, -3.22359131, -3.9444332 , ..., -3.32786085,\n",
            -       "         -3.53601215, -3.8330031 ],\n",
            -       "        [-4.94138394, -4.00251971, -3.80581287, ..., -4.22430408,\n",
            -       "         -3.36105552, -3.80940265]],\n",
            -       "\n",
            -       "       [[-4.98748556, -3.32809116, -3.7664943 , ..., -3.34279486,\n",
            -       "         -4.33620131, -3.92675687],\n",
            -       "        [-4.42622836, -3.22515487, -4.00725304, ..., -3.60402367,\n",
            -       "         -3.60623595, -3.82707173],\n",
            -       "        [-4.47769568, -3.42429034, -3.74310318, ..., -3.33919308,\n",
            -       "         -3.71270153, -3.91726968],\n",
            -       "        ...,\n",
            -       "        [-5.13292746, -3.56382834, -3.707543  , ..., -3.95681847,\n",
            -       "         -5.13883436, -3.8656967 ],\n",
            -       "        [-4.88999855, -3.65124185, -3.69801243, ..., -3.320465  ,\n",
            -       "         -4.69788199, -4.00886596],\n",
            -       "        [-5.38975973, -5.27532201, -3.69814217, ..., -3.78190055,\n",
            -       "         -3.41713716, -4.60956267]]])
        • created_at :
          2020-06-19T06:23:52.840708
          arviz_version :
          0.8.3
          inference_library :
          pyjags
          inference_library_version :
          1.3.5

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        xarray.Dataset
          • chain: 4
          • draw: 1000
          • theta_tilde_dim_0: 8
          • chain
            (chain)
            int64
            0 1 2 3
            array([0, 1, 2, 3])
          • draw
            (draw)
            int64
            0 1 2 3 4 5 ... 995 996 997 998 999
            array([  0,   1,   2, ..., 997, 998, 999])
          • theta_tilde_dim_0
            (theta_tilde_dim_0)
            int64
            0 1 2 3 4 5 6 7
            array([0, 1, 2, 3, 4, 5, 6, 7])
          • theta_tilde
            (chain, draw, theta_tilde_dim_0)
            float64
            -0.7112 -0.4008 ... -0.7134 -0.2611
            array([[[-0.71123136, -0.40076082,  1.86888641, ...,  0.8115354 ,\n",
            -       "         -0.24211776,  0.54841302],\n",
            -       "        [ 0.73392039,  0.47663744, -0.61609627, ..., -0.80964506,\n",
            -       "          0.49762657, -2.47327004],\n",
            -       "        [-0.08231233,  0.28062108,  2.20405144, ...,  0.154088  ,\n",
            -       "         -0.36351211,  0.36013468],\n",
            -       "        ...,\n",
            -       "        [ 0.79194157, -0.40861463, -0.85875295, ..., -0.82237095,\n",
            -       "          1.47173464, -1.20540583],\n",
            -       "        [-0.45090569, -1.01004541,  0.08397328, ...,  1.07454531,\n",
            -       "          1.13587261,  0.53209085],\n",
            -       "        [-1.05886621,  1.66164192, -1.4250031 , ..., -1.11740703,\n",
            -       "         -1.84886498,  0.71930243]],\n",
            -       "\n",
            -       "       [[ 1.4125556 , -2.34874433,  1.20299551, ..., -0.25531169,\n",
            -       "         -0.26411039,  1.13222391],\n",
            -       "        [ 2.2267223 ,  0.02884086,  1.13865955, ..., -0.28934517,\n",
            -       "          1.05906399,  0.55190591],\n",
            -       "        [-0.23439601, -0.36784748,  0.47789977, ...,  0.74236118,\n",
            -       "         -1.1212007 , -0.6610916 ],\n",
            -       "        ...,\n",
            -       "        [-0.77174629, -0.97774201, -0.73963299, ...,  0.20137311,\n",
            -       "         -0.56425354, -1.75796363],\n",
            -       "        [ 0.66127056, -0.20695707,  0.53286237, ...,  1.5300409 ,\n",
            -       "          0.01747712,  0.54043691],\n",
            -       "        [ 0.25492446,  0.42637825,  1.19142405, ...,  0.51370606,\n",
            -       "          0.1491775 ,  1.21679596]],\n",
            -       "\n",
            -       "       [[ 2.99620537, -0.58296821,  0.72585938, ..., -0.75381363,\n",
            -       "          0.27957383, -1.30275569],\n",
            -       "        [-0.4803946 ,  0.40327934, -0.76396762, ..., -0.40640857,\n",
            -       "         -0.75089157, -1.39522304],\n",
            -       "        [-0.72583985,  2.36262907,  0.96360172, ...,  0.61588395,\n",
            -       "          0.05045338, -0.43853064],\n",
            -       "        ...,\n",
            -       "        [-0.2673493 , -1.00842011, -0.56629967, ..., -0.89029002,\n",
            -       "          0.00340085,  0.18408985],\n",
            -       "        [ 0.07223788,  0.86688325, -0.0114382 , ..., -0.80392428,\n",
            -       "          0.25731739, -0.1457207 ],\n",
            -       "        [-1.97737722, -2.78400193,  1.61941847, ..., -0.87962511,\n",
            -       "          0.23703341,  1.24248917]],\n",
            -       "\n",
            -       "       [[-0.02165655,  0.82049726, -0.58873389, ..., -0.56971679,\n",
            -       "         -0.59921277, -0.33330181],\n",
            -       "        [-0.15985731,  0.32461587, -0.20852091, ...,  1.7119704 ,\n",
            -       "         -0.2676015 , -1.50186474],\n",
            -       "        [-1.77468599, -0.9329657 ,  0.12679348, ..., -1.27709638,\n",
            -       "         -0.078269  ,  0.90316797],\n",
            -       "        ...,\n",
            -       "        [-0.40739721,  1.38197559,  2.08072841, ...,  0.52669903,\n",
            -       "         -0.68106617, -2.93601848],\n",
            -       "        [-0.48058994, -0.00859444,  0.68029096, ...,  0.721311  ,\n",
            -       "         -0.89124688,  1.21101712],\n",
            -       "        [-1.6756115 ,  0.1954323 ,  0.5773097 , ..., -1.97671135,\n",
            -       "         -0.71340016, -0.26109113]]])
          • mu
            (chain, draw)
            float64
            -0.5426 -10.87 ... 2.281 -4.709
            array([[ -0.54256157, -10.87124355,   1.96438294, ...,  -8.11403829,\n",
            -       "          7.60765481,  -0.48159106],\n",
            -       "       [  0.03072765,  -1.82026456,   1.38368157, ...,   0.96176535,\n",
            -       "          3.89488577,   3.99766504],\n",
            -       "       [ -2.62546345,   2.2632889 ,   2.55843055, ...,   4.86710568,\n",
            -       "          2.21386016,  -4.73052159],\n",
            -       "       [  0.32067926,  -7.23833533,  -2.82193459, ...,  -5.77218015,\n",
            -       "          2.28055004,  -4.70868173]])
          • tau
            (chain, draw)
            float64
            16.53 3.872 9.523 ... 2.702 8.149
            array([[16.53391268,  3.87249575,  9.52339625, ...,  6.50219713,\n",
            -       "         1.35029408,  8.34708719],\n",
            -       "       [ 9.1205841 ,  9.21082813, 15.29874336, ..., 10.20594881,\n",
            -       "        26.05528672,  0.70675771],\n",
            -       "       [ 0.43585432, 20.06679265, 17.90884847, ...,  5.9273813 ,\n",
            -       "         2.68746482,  5.18154874],\n",
            -       "       [ 1.08752471,  3.25281493,  4.26600184, ..., 14.58456325,\n",
            -       "         2.70201427,  8.14868071]])
        • created_at :
          2020-06-19T06:23:52.837977
          arviz_version :
          0.8.3
          inference_library :
          pyjags
          inference_library_version :
          1.3.5

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> log_likelihood\n", - "\t> prior\n", - "\n", - "Warmup iterations saved (warmup_*)." - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pyjags_data = az.from_pyjags(\n", - " posterior=jags_posterior_samples,\n", - " prior=jags_prior_samples,\n", - " log_likelihood={\"y\": \"log_like\"},\n", - " save_warmup=True,\n", - " warmup_iterations=1000,\n", - ")\n", - "pyjags_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```{toctree}\n", - ":hidden:\n", - "\n", - "ConversionGuideEmcee\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "celltoolbar": "Raw Cell Format", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.8.6" - }, - "toc": { - "base_numbering": 1, - "nav_menu": {}, - "number_sections": true, - "sideBar": true, - "skip_h1_title": false, - "title_cell": "Table of Contents", - "title_sidebar": "Contents", - "toc_cell": false, - "toc_position": {}, - "toc_section_display": true, - "toc_window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/doc/source/getting_started/InferenceDataStructure.png b/doc/source/getting_started/InferenceDataStructure.png deleted file mode 100644 index f854a71891..0000000000 Binary files a/doc/source/getting_started/InferenceDataStructure.png and /dev/null differ diff --git a/doc/source/getting_started/Installation.rst b/doc/source/getting_started/Installation.rst deleted file mode 100644 index 9e4986369f..0000000000 --- a/doc/source/getting_started/Installation.rst +++ /dev/null @@ -1,122 +0,0 @@ -################## -Installation guide -################## - -This section provides detailed information about installing ArviZ. Most ArviZ -functionality is available with the basic requirements, but ArviZ also has optional -dependencies to further enhance the library. This guide will cover both basic and fully-fledged ArviZ installs and several installation methods. - - -.. tip:: - - If you are installing ArviZ for the first time, consider installing with - - .. code:: bash - - pip install "arviz[preview]" - - And using the library through the {mod}`arviz.preview` module. - While some features in ``arviz.`` are not available - in ``arviz.preview.``, most have already been included. - Additionally, ``arviz.preview.`` include many new ones that - are not available in ``arviz.`` and never will be. - - -****** -Stable -****** - -ArviZ can be installed either using pip or conda-forge. - -Using pip -========= - -.. code:: bash - - pip install arviz - -Use the below pip command to install ArviZ with all of its :ref:`Optional-dependencies`. - -.. code:: bash - - pip install "arviz[all]" - -It is also possible to use ``pip install "arviz[preview]"`` to access -:ref:`upcoming refactored features `. - -Using conda-forge -================= - -.. code:: bash - - conda install -c conda-forge arviz - -.. _dev-version: - -*********** -Development -*********** - -If you want to install the latest development version of ArviZ, use the following command: - -.. code:: bash - - pip install git+https://github.com/arviz-devs/arviz - -**Note**: It can take sometime to execute depending upon your internet connection. - -.. _arviz-dependencies: - -************ -Dependencies -************ - -Required dependencies -===================== - -The required dependencies for installing ArviZ are: - -.. literalinclude:: ../../../requirements.txt - -and - -.. code:: - - python>=3.10 - -ArviZ follows `NEP 29 `_ -and `SPEC 0 `_ to choose the minimum -supported versions. - -.. _Optional-dependencies: - -Optional dependencies -===================== - -The list of optional dependencies to further enhance ArviZ is given below. - -.. literalinclude:: ../../../requirements-optional.txt - - -- Numba - - Necessary to speed up the code computation. The installation details can be found - `here `_. Further details on enhanced functionality provided in ArviZ by Numba can be - :ref:`found here `. - -- Bokeh - - Necessary for creating advanced interactive visualisations. The Bokeh installation guide can be found `over here `_. - -- UltraJSON - - If available, ArviZ makes use of faster ujson when :func:`arviz.from_json` is - invoked. UltraJSON can be either installed via `pip `_ or `conda `_. - -- Dask - - Necessary to scale the packages and the surrounding ecosystem. The installation details can be found `at this link `_. - - - - diff --git a/doc/source/getting_started/Introduction.ipynb b/doc/source/getting_started/Introduction.ipynb deleted file mode 100644 index 9f0b78652f..0000000000 --- a/doc/source/getting_started/Introduction.ipynb +++ /dev/null @@ -1,3569 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "(quickstart)=" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# ArviZ Quickstart" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import arviz as az\n", - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "J = 8\n", - "y = np.array([28.0, 8.0, -3.0, 7.0, -1.0, 1.0, 18.0, 12.0])\n", - "sigma = np.array([15.0, 10.0, 16.0, 11.0, 9.0, 11.0, 10.0, 18.0])\n", - "schools = np.array(\n", - " [\n", - " \"Choate\",\n", - " \"Deerfield\",\n", - " \"Phillips Andover\",\n", - " \"Phillips Exeter\",\n", - " \"Hotchkiss\",\n", - " \"Lawrenceville\",\n", - " \"St. Paul's\",\n", - " \"Mt. Hermon\",\n", - " ]\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## ArviZ style sheets\n" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# ArviZ ships with style sheets!\n", - "az.style.use(\"arviz-darkgrid\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Feel free to check the examples of style sheets {ref}` here `." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Get started with plotting\n", - "\n", - "ArviZ is designed to be used with libraries like [PyStan](https://pystan.readthedocs.io) and [PyMC3](https://docs.pymc.io), but works fine with raw NumPy arrays." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "rng = np.random.default_rng()\n", - "az.plot_posterior(rng.normal(size=100_000));" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Plotting a dictionary of arrays, ArviZ will interpret each key as the name of a different random variable. Each row of an array is treated as an independent series of draws from the variable, called a _chain_. Below, we have 10 chains of 50 draws, each for four different distributions." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmMAAARXCAYAAAC882b8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABwOUlEQVR4nO3deXxU1f3/8fcd0UgCZAbFBeRr4gZYwkQNKC3VGEFFSQvu1RKxta1abcWApQqGgXzVnyQE3OrSuqCtrQtgwaY1VlBRxK2ZxLaIRUBBRYVMIiUGcM7vj/kmYUyALDNzZnk9Hw8f7dy5ufczc2+475x77jmOMcYIAAAAVrhsFwAAAJDKCGMAAAAWEcYAAAAsIowBAABYRBgDAACwiDAGAABgEWEMAADAIsIYAACARYQxAAAAiwhjAAAAFhHGACSdzz//XLfeeqvOPPNM5eTk6OSTT9aPf/xjvfLKK53azlNPPaVBgwZp0KBBuvnmm7tcz9q1a1VcXKxRo0YpJydHo0eP1v/7f/9PDQ0N7a7/9ddfa/78+TrttNM0dOhQFRYW6vnnn9/j9levXq3jjz9e/+///b8u1bdq1aqWz7k3GzdubFlv48aNYe9Nmzat5b3m/7xer0aNGqWLLrpIs2bN0sqVK7W3GfjuuusuDRo0SBMnTuzS5wASFWEMQFJ57733NH78eD366KP65JNPdOyxxyozM1MrVqzQlVdeqQceeKBD29m6davKysq6Xc/rr7+u8847T0uXLtXXX3+tY489Vl988YUeeughnXfeefriiy/a/MzcuXN177336ssvv1R2drY++OAD/eIXv9Df//73dvcxa9Ys9e3bVz//+c+7XW93HXTQQTrxxBN14oknatCgQerVq5f+9a9/6fe//70mTZqk8ePH67333rNdJhBXCGMAksauXbv0i1/8Ql988YVGjBihl156SQsXLtTzzz+vRx55RBkZGZo7d67efPPNfW7r1ltvVUNDg/Lz87tcz7Zt2zR58mR99dVXmjhxol5++WUtXLhQy5Yt04knnqiPPvqoTYvb1q1b9dhjj2nAgAF6/vnntWTJEj3yyCNyHEd33nlnm30sXrxYb7/9tqZOnapevXp1udZIOfXUU/XEE0/oiSee0JNPPqm//vWveuutt3TXXXfpuOOO0+rVq3XxxRfrX//6l+1SgbhBGAOQNJYvX67169frgAMO0O23366+ffu2vDdy5EhdddVVMsbo7rvv3ut2XnvtNS1ZskQXX3yxhg4d2uV6/vjHP2rr1q06+uij9etf/1r777+/JMnj8ai8vFw9evTQ8uXL9c9//rPlZ9asWaOmpiadd955OvjggyVJw4cP10knnaTVq1dr27ZtLetu27ZNZWVlOumkk/T973+/y3VG24EHHqgzzzxTTz31lEaOHKnGxkZdf/31+vrrr22XBsQFwhiApPHOO+9IknJycjRgwIA275911lmSpDfeeENbtmxpdxtNTU2aOXOmDjroIN1www3dqqeqqkqSNGHCBO23335h7/Xv318jR46UJP3tb39rWb5161ZJodt9u+vXr58k6b///W/Lsrvvvltbt27VjBkzulVnrBx44IGaM2eODjjgAG3YsEF//etfbZcExAXCGICk0dwh/tBDD233/eblwWBQtbW17a5z7733asOGDbrxxhvVp0+fLteya9eulhavE088sd11mpf7/f6WZYcffrgkaf369WHrrlu3Tj169JDb7ZYUeijg8ccf18UXX6whQ4Z0uc5Y69evn0aPHi0p1JIJgDAGIIn07t1bkrR58+Z23999+bp169q8v3btWv3ud79TXl6exo8f361aNm3apJ07d0qSBg4c2O46zcs3bNjQsmzw4ME66KCD9PTTT+u1117Ttm3b9Oijj+rf//638vLylJaWJkmaPXu2evXqpeuvv75bddpw0kknSdIeAzGQanrYLgAAIiUnJ0eS9O677+qTTz5paWVqtvvwEPX19WHvGWN0yy23yBijkpKSbtey+/YzMzPbXae55W33dXv27KkbbrhBN998s6644oqW5enp6Zo2bZokqbKyUitXrtTs2bNbtr1z507V1dXJ7XbrgAMO6HLd+xreIhIOO+wwSa23ZIFURxgDkDTOOOMMHXLIIfrss89UXFysefPm6ZBDDpEUuiV23333tazb1NQU9rNPP/203nrrLf3oRz/Scccd1+1aduzY0fL/mzvuf1NzaPpmLRdccIEOOeQQLVy4UFu3blVWVpYmTZqko446So2Njbrjjjs0dOhQXXDBBTLGaN68eVqwYIG2b9+u9PR0TZw4UZMnT5bjOJ2ue0+3VJs/07vvvtvpbX5Tenq6pPD+b0AqI4wBSBppaWmqqKjQT3/6U7399ts6/fTTlZ2drfr6en322Wfq37+/hgwZojfffLMlEEitY4oddthhuvbaayNSy+6tUzt37my5vbi75sDW3nunnnqqTj311DbL77vvPn3yySeaN2+eXC6X7r33Xt133306/fTTddZZZ+n555/X/fffr549e+rqq6/udN1PPPHEHt/buHGjzjjjjE5v85u2b98uSXExFAcQD+gzBiCp5OXladGiRTr//PN18MEHt3SEv+SSS/TMM8+0DKfQPGyEJM2ZM0eBQEC//vWvlZGREZE6dr81+c1bos2aHzjY023Mb/rwww/10EMPacKECfJ6vdq5c6cefvhhHXnkkbr33ns1YcIE3XPPPTryyCP18MMPa9euXd3/IFHw8ccfS1LY0CNAKqNlDEDSOfLII3Xrrbe2Wb5r1y6tXr1akvStb32rZXnzAKSzZ8/W7Nmzw36muRVn6dKlLU//vfrqq/usYcCAAdp///21c+dOffTRRy23S3f30UcftdTbEf/7v/+rtLQ0TZkyRZL0wQcfqKGhQePGjZPLFfrb2uVy6Tvf+Y7+8Ic/aN26dTr22GM7tO1YevvttyVJw4YNs1wJEB8IYwBSxooVK7R9+3YdcsghYWGsWXtTEzX76quv9NVXX3V4Xz169NDxxx8vv9+vd955p+UJwt01j4vm9Xr3ub1ly5Zp+fLluvnmm1vGIGsOit9szWt+vae5L2367LPP9OKLL0qSTjvtNMvVAPGB25QAUsKOHTtaphP6wQ9+EDYI67PPPqv33nuv3f+a+5BdcMEFLcs6asyYMZKkRYsWtRlt/uOPP9bKlSslSWeeeeY+a7/11lt13HHH6dJLL21Z3vy06Icffhi2fvNrj8fT4Vpj4auvvtKNN96oHTt2KCsrq2UQXiDVEcYAJJWXXnopbBBVSfrkk0/085//XP/85z91zDHH6Morr4zY/v7617+qoKBAP/jBD9q894Mf/EAej0dr167Vbbfd1jLuWF1dnYqLi7Vr1y6deuqp+5xy6cEHH9SHH36oGTNmqEeP1hsahx56qA4//HAtW7as5fbre++9p2XLlqlfv37KysqK2Ofsjq+++kpVVVW68MILtXLlSqWnp2v+/PltZiUAUhW3KQEklRUrVmjBggXKzMzUgAED1NTUpA8++EDGGB1zzDF66KGHujUO1zdt375dmzZtave9Xr16qaKiQj/72c/02GOP6bnn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uuyyy7Tffvvpkksu0dChQ/XCCy/oiiuuUFNTU8t6f/vb3zRx4kS98cYbOuOMM3T55ZcrPT1dd999t6644grt2LGjzbYDgYAuvvhi/fvf/9bYsWN18cUXq1evXi3v+/1+TZo0Sb1799Yll1yi/v3764knntD06dNVWVmp6667Tocffrguvvhi9e7dW7/97W/1wAMPhO1j7dq1uvPOO5WWlqYxY8aoqKhIQ4cO1dKlS3XhhRdq06ZN0fvyAABAxKXcbcrly5eroqJC55xzTsuyG2+8Uc8++6xeeOEFnXvuudq2bZumT58ul8ulP/7xjxo8eLAkyRijKVOmaOnSpfrtb3+ra665Jmzba9as0XnnnafS0lLtt99+LctXrVolSXrllVd0zz33aPTo0ZKknTt36vzzz9fSpUu1YsUKPfbYYxo2LDTI0XXXXaczzzxTjzzyiH7yk5+oR4/QoTr66KO1YsUKud3usH2//vrruuKKK/Sb3/xGpaWlkf3SAABA1KRcy9jw4cPDgpgknX/++ZKk2tpaSdILL7yghoYGnX/++S1BTJIcx9GUKVPUo0cPLVq0qM22999/f02dOjUsiO1uxIgRLUGsef2zzjpLxhidfvrpLUFMknr16qX8/HwFAgF9+umnLct79+7dJohJ0imnnKJjjjlGr732Wge+BQAAEC9SrmXs+OOPb7PssMMOkyQ1NDRIkv79739LCoWnbzr88MM1cOBArVu3Ttu2bQu7DXnEEUeob9++ndr3IYccIkkaMmRIm/f69esnSdq8ebOOOOKIluWrVq3So48+qpqaGtXV1WnXrl0t7+2///573D8AAIg/KRfGevfu3WZZc0tWMBiUJG3btk2SdPDBB7e7jX79+mndunX673//GxbG9rR+s93X/ea+23uv+dbk7mGrsrJSkydPVnp6ukaNGqUBAwaoZ8+echxHixYtos8YAAAJJuXCWEc0B6Mvvvii3febl2dkZIQtd5zoj0909913Ky0tTQsXLlRWVlbYe88991zU9w8AACIr5fqMdUTzLcM33nijzXubN2/WRx99pIEDB7bbmhVtH374oY4++ug2Qay5LgAAkFgIY+0YPXq0evfurYULF+r9999vWW6MUXl5uXbu3KkJEyZYqa1///7asGFDWKtdU1OTZs6cGXY7E0DkrVtvtOJVo3Xr7U9wDiB5cJuyHb16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iA3Pk0qmO3Lz5CKACCCMAcBeuN2OKsocxhkDEDVJ2YF/165duv/++zV69Gjl5ORozJgxuv/++/XRRx9p0KBBmjZtWsu6gwYN0sSJE9vdTkFBgQoKCsKWTZs2TYMGDdJHH32k3/3udzrrrLM0bNgwnXPOOXruueckSTt37tT8+fNVUFCgnJwcFRYW6pVXXtljvU1NTbrjjjt02mmntaz/9NNP73H9F154QZdffrmGDx+unJwcjRs3Tr/73e/09ddfd+ZrAtAJ2VmORn3HIYgBiLikbBm76aab9Oyzz+p//ud/dNlll2nHjh169NFH9Y9//CNi+7jttttUU1Oj008/XS6XS3/5y19UXFysPn366Pe//73ef/99nXbaaWpqatLSpUt19dVXq7KyUgMHDmyzrV/+8pd67733dPbZZ2vXrl2qrKzUzTffrC1btuhnP/tZ2Lpz587V/fffr8MOO0xnnnmmevXqpTfffFN33HGH/H6/7rzzzoh9RgAAEH1JF8ZWrlypZ599VkOHDtXvf/97HXjggZKkq6++WhMmTIjYftauXas///nP6tu3ryTpvPPO00UXXaQbbrhBxx57rJYsWaL09HRJ0qhRozR58mQ9+uijmj59epttffTRR1qyZIl69eolSbrqqqs0YcIE3XnnnTrnnHNaAtyrr76q+++/X6eeeqruvPNO9ezZU5JkjNHMmTP1xz/+UX/729901llnRexzAgCA6Eq625R//vOfJUnXXHNNSxCTpH79+qmoqChi+7nqqqtagpgkeb1eDRw4UA0NDZo8eXJLEJOks846S/vvv/8eh7C46qqrWoJYc61XXHGFdu3apSVLlrQsf/zxxyVJs2bNaglikuQ4jqZMmSLHcVpulQIAgMSQdC1jq1evliSdcMIJbd5rb1lXDRkypM2yfv366aOPPmrz3n777ae+fftq8+bN7W4rLy9vj8uaP48k+f1+paen77E/2YEHHqgPPvigw58BAADYl3RhbNu2bXK5XPJ4PG3eO+iggyK2n91bspr16NFjr+/t2rWr3W21V1fzsi+//LJlWX19vXbt2qW77757j3Vt375974UDAIC4knRhrFevXgoGg6qrqwu7jShJW7ZsabO+4zh7DElffvmlevfuHZU6d7dlyxYdfvjhbZZJCtt/c8hbtWpV1GsCAACxkXR9xgYPHixJ7T452d6yzMzMdm8fbty4UQ0NDZEvsB1vvfXWHpc1fx5JGjZsmAKBgNavXx+TugAAQPQlXRgrLCyUJN17771qampqWf75559rwYIFbdYfOnSoNm3aFNbatGPHDt1+++3RL/b/3Hfffdq2bVvL6y+++EIPP/ywevTo0fJ5JLWMh3bTTTeprq7tnGyff/651q5dG/2CgQT3n7W7tOJVo3Xr7c97CQBJd5vy29/+tgoLC7VkyRIVFhbqjDPO0I4dO1RZWalhw4Zp2bJlYdOgXH755VqxYoV+9rOf6dxzz1XPnj316quvqk+fPurXr19Mah44cKAKCwt15plntowztmXLFk2ePDlsXLJTTz1V11xzje69916deeaZ+u53v6v+/fsrEAhow4YNevvtt3X99dfr6KOPjkndwJ7UBeIz5NQ3GJWVS9X++pZluV6jKcVSZh8Gc43G1FMA9i3pwpgk3X777TrqqKP0zDPP6LHHHtNhhx2myy+/XCNHjtSyZcvCOtifeuqpqqio0G9+8xs9++yzcrvdOvvsszV58uSwVqlomjdvnubPn6/nnntOW7duVVZWliZPnqwLL7ywzbq//OUvNXz4cC1YsEArV67Ul19+KbfbrSOOOELXXnttzGrGvjU2xmcgiYXC8fH52V0uKSNDmjXTkTdH8tdKc8qNiiZJwWB81hxLVZW2K+i4tDST0r9jNqTKJPQ2OMaYlDmbn3rqKU2fPl0lJSW69NJLbZcTN9q75Yk983g8HfrORuUHY1ANOmvWTEcF+a0Xlb8vC58EHED7ViyPbM+mjv5bmujaG93hm5Kuz5gU6jv1zYy5efNm/eY3v9F+++2n008/3VJlAGzz5oS/zh1mpw4AaJaUtykfeOABvfTSSzrppJN00EEH6ZNPPtGyZcv03//+V9ddd12bYSSAaKiqTN0m/TFj47elyV8rFeS3vq6usVZK3Emkc9bt9igQSP5WFaSGpAxj3/3ud7V27Vq99NJLamho0AEHHKBBgwbp0ksvpU8VYiaV+1csWWy7gvbNKDGaO8/ImFCLWHWNVDHfKNcrzfal7vFqlkjnbHq6o6amxKkX2JuU6jOG9qXCPftISpV+DskoEDDylRq9udvQfsPzpJLpjtw8SZhQ+D1MfKlyDDvSZywpW8YAoD1ut6OKMkdbtvbWv//doAEDpOwsQhgAuwhjAFLOMUf30EF9CWEA4kNSPk0JAACQKAhjAAAAFhHGAAAALCKMAQAAWEQYAwAAsIgwBgAAYBFhDAAAwCLGGQMAS9atN9q0SQw+C6Q4whiApFMX2Pssb8YEFai3NxNcfYNRWblU7W9dlus1mlIsZfYhlHmYmgophjAGoEMaGxNnGtvC8fuq1e58eC6XlJEhzZrpyJsj+WulOeVGRZOkYDBxvudoqarc9zppaSZhzslEmoAddhDGAHTImLGJceFLBMGgNLXYUUF+6CJdkC8ZI5X4+I6ljp5rW6NeR6SsWE4Yw97RgR8ALPDmhL/OHWanDgD20TIGoEOqKhPnr/tEaMXz14ZaxJpV11grJe505Fxzuz0KBOzebgYihTAGoEMSqd/LksV7f9+d6VagPhCLUto1o8Ro7jwjY0ItYtU1UsV8o1yvNNuXON9ztHTkXEtPd9TUxHeF5EAYA5B09vU0nsfjkuPYu5CX+iRfqQnrIzY8TyqZ7sjNk4RAyiGMAUCMud2OKsocxhkDIIkwBgDWZGc5ys6yXQUA23iaEgAAwCLCGAAAgEWEMQAAAIsIYwAAABYRxgAAACwijAEAAFhEGAMAALCIMAYAAGARg74CQBQwuj6AjiKMAUgIdQGz75U6yJigAvWR297u6huMysqlan/rslyv0ZRiKbNPfISyfc3dCSC2CGNAgmtsjE6oiDeF4yP5OesiuK1wLpeUkSHNmunImyP5a6U55UZFk6RgMD6OVVWl7Qq6Ly3NxO2537MnYRedQxgDEtyYsfF5QUpVwaA0tdhRQX7oglyQLxkjlfji5zglxzmz1XYBe7RiOWEMnUMHfgCIMG9O+OvcYXbqAJAYaBkDElxVZWr8FZ5IrTn+2lCLWLPqGmultCsZzhm326NAIHq3m4FYIowBCS5V+qcsWRy5bbkz3QrUByK3wd3MKDGaO8/ImFCLWHWNVDHfKNcrzfbFx7FKhnMmPd1RU1Pifw5AIowBSBCRfALQ43HJcaJzIS/1Sb5SE9ZHbHieVDLdkZunGAG0gzAGABHkdjuqKHMYZwxAhxHGACAKsrMcZWfZrgJAIuBpSgAAAIsIYwAAABYRxgAAACwijAEAAFhEGAMAALCIMAYAAGARYQwAAMAixhkDgA5iIFcA0UAYA2BVXSD2E4AbE1SgvuP7rW8wKiuXqv2ty3K9RlOKpcw+8RXKIjltFIDYIIwBCaqxMfYhJhoKx9v4HHWdWtvlkjIypFkzHXlzJH+tNKfcqGiSFAzG13GoqrRdQWykpZmk+R1IJckwSX00EMaABDVmLBeiWAkGpanFjgryQxeSgnzJGIVNBh4vUue82Gq7AHTBiuWEsfbQgR8AOsCbE/46d5idOgAkH1rGgARVVZkcf2EmSkuOvzbUItasusZaKXuVLOfFvrjdHgUCnbvdDMQrwhiQoJKl78WSxbHfpzvTrUB9oMPrzygxmjvPyJhQi1h1jVQx3yjXK832xddxSJbzYl/S0x01NaXGZ0XyI4wBsMrG038ej0uO0/H9lvokX6kJ6yM2PE8qme7IzdOLALqJMAYA++B2O6oocxhnDEBUEMYAoIOysxxlZ9muAkCy4WlKAAAAiwhjAAAAFhHGAAAALCKMAQAAWEQYAwAAsIgwBgAAYBFhDAAAwCLGGQOQ8hjMFYBNhDEAMVUXsD8xuDFBBeqN6huMysqlan/re7leoynFUmYfQlkzG1NWAamEMAZY1NhoP5jEWuH4ePjMdZIkl0vKyJBmzXTkzZH8tdKccqOiSVIwGA91xoeqStsVtJWWZlp+f1JlcnQkL8IYYNGYsVzwbQoGpanFjgryQxfzgnzJGIVNCI54PU+3tvy/FcsJY0hsdOAHkNK8OeGvc4fZqQNA6qJlDLCoqjL1/qKPt1YWf22oRaxZdY21UuJWPJ6nbrdHgUCd7TKAiCCMARalYl+XJYttVyC5M90K1Ac0o8Ro7jwjY0ItYtU1UsV8o1yvNNuXesdmT+LxPE1Pd9TUFH91AV1BGAMQU/HwZJ7H45LjOCr1Sb5SE9ZHbHieVDLdkTsO6gSQGghjAFKW2+2oosxhnDEAVhHGAKS87CxH2Vm2qwCQqniaEgAAwCLCGAAAgEWEMQAAAIsIYwAAABYRxgAAACwijAEAAFhEGAMAALCIMAYAAGARYQwAAMAiwhgAAIBFhDEAAACLCGMAAAAWEcYAAAAsIowBAABYRBgDAACwiDAGAABgEWEMAADAIsIYAACARYQxAAAAiwhjAAAAFhHGAAAALCKMAQAAWEQYAwAAsIgwBgAAYBFhDAAAwCLCGAAAgEWEMQAAAIsIYwAAABYRxgAAACwijAEAAFhEGAMAALCIMAYAAGARYQwAAMAiwhgAAIBFhDEAAACLCGMAAAAWEcYAAAAsIowBAABYRBgDAACwiDAGAABgEWEMAADAIsIYAACARYQxAAAAiwhjAAAAFhHGAAAALCKMAQAAWEQYAwAAsIgwBgAAYBFhDAAAwCLCGAAAgEWEMQAAAIsIYwAAABYRxgAAACwijAEAAFhEGAMAALCIMAYAAGARYQwAAMAiwhgAAIBFhDEAAACLCGMAAAAWEcYAAAAsIowBAABYRBgDAACwiDAGAABgEWEMAADAIsIYAACARYQxAAAAiwhjAAAAFhHGAAAALCKMAQAAWEQYAwAAsIgwBgAAYBFhDAAAwCLCGAAAgEWEMQAAAIsIYwAAABYRxgAAACwijAEAAFhEGAMAALCIMAYAAGARYQwAAMAiwhgAAIBFhDEAAACLCGMAAAAWEcYAAAAsIowBAABYRBgDAACwiDAGAABgEWEMAADAIsIYAACARYQxAAAAiwhjAAAAFhHGAAAALCKMAQAAWNTDdgEAEGnr1htt2iQNGCBlZzm2ywGAvSKMAeiWuoCxXUKL+gajsnKp2t+6LNdrNKVYyuzTGsqMCSpQHz9174nHTZAEUgFhDCmjsTEyF9+0NBOxbSWDwvHx8124XFJGhjRrpiNvjuSvleaUGxVNkoLB3euss1Vip1RV2q4g/vTsSUBF8iGMIWWMGRup0LA1QttBpAWD0tRiRwX5oQt2Qb5kjFTii5/A2BmRO2eTx4rlhDEkHzrwA0gq3pzw17nD7NQBAB1FyxhSRlVlZP6idrs9CgQS4zZXLMRb642/NtQi1qy6xlop3RapcxZAfCOMIWVEqq9JerqjpiYuks2WLLZdQasZJUZz5xkZE2oRq66RKuYb5Xql2b7WY+bOdCtQH7BXaAfRPwpIDYQxAN0ST0/8lfokX6kJ6yM2PE8qme7IvVudHo9LjhM/dQNIbYQxAEnD7XZUUeYwzhiAhEIYA5B0srMcZWfZrgIAOoanKQEAACwijAEAAFhEGAMAALCIMAYAAGARYQwAAMAiwhgAAIBFhDEAAACLCGMAAAAWMegrgJSw+6j8Ho/tagCgFWEMQKfUBcy+V4oj9Q1GZeVStb91Wd5J9br+l0Fl9onfqZLiac5PANFFGENMNDYm1gV8b9LSTFJ9ns4qHJ9Yn93lkjIypFkzHXlzJH+tNKd8l4omScFg/H6WqkrbFXRPz56ESaCjCGOIiTFj4/ei13lbbReATggGpanFjgryQ+GgIF8yRirxxfc5mei/MyuWE8aAjqIDP4Ck580Jf507zE4dANAeWsYQE1WVyfNXstvtUSBQZ7sMaxKxxcZfG2oRa1ZdY62UDkum3xkAe0cYQ0wkU/+R9HRHTU3J83k6a8li2xV0zowSo7nzjIwJtYhV10gV841yvdJsX/wex2T6nQGwd4QxAJ2SaE/5lfokX6kJ6yM28pQeunna13In2GcBkJwIYwCSmtvtqKLMCRtn7MQTMlVXl7q3mgHEF8IYgJSQneUoO8t2FQDQFk9TAgAAWEQYAwAAsIgwBgAAYBFhDAAAwCLCGAAAgEWEMQAAAIsIYwAAABYxzhiAlLD7oK8ej+1qAKAVYQyAVXWB6E48Xt9gVFYuVftbl+WdVK/rfxlUZh/70yEl2vRSACKPMIaU1djYtRCQlma6/LNoq3B8dL9Ll0vKyJBmzXTkzZH8tdKc8l0qmiQFg/aPY1Wl7QriAxOjI5URxpCyxozt6oV4a0TrQHQFg9LUYkcF+aGLfUG+ZIzCJg63qevnYXJZsZwwhtRFB34ASc+bE/46d5idOgCgPbSMIWVVVXbtL3G326NAoC7C1aSuWLQM+WtDLWLNqmuivssO6+p5CCB5EMaQsrraRyU93VFTExfQSFmyOLrbn1FiNHeekTGhFrHqGqlivlGuV5rts38c6SsFgDAGwKpoP01Y6pN8pSasj9jIU3ro5mlfy82TjADiAGEMQFJzux1VlDlh44ydeEKm6uq41QwgPhDGAKSE7CxH2Vm2qwCAtniaEgAAwCLCGAAAgEWEMQAAAIsIYwAAABYRxgAAACwijAEAAFhEGAMAALCIMAYAAGARg74CSGq7j7yfncX0RwDiD2EMwD7VBcy+V4oz9Q1GZeVStb91Wa7XaEqxZExQgXo7nynac3ECSDyEMSDCGhsTL7jsS+H4xPtMLpeUkSHNmunImyP5a6U55UZFk6Rg0N68lFWV1nadcHr2JLgiNRDGgAgbMzbxgksyCgalqcWOCvJDF/SCfMkYqcRn9/hwfnTciuWEMaQGOvADSFrenPDXucPs1AEAe0PLGBBhVZXJ99d8orbm+GtDLWLNqmusldIiGc8PAN1DGAMiLBn7uSxZbLuCzptRYjR3npExoRax6hqpYr5Rrle6a55HgfqAlbqS8fwA0D2EMQD7lIhPAJb6JF+pCesjNjxPKpnuqG9flxwn8T4TgOREGAOQlNxuRxVlDuOMAYh7hDEASS07y1F2lu0qAGDPeJoSAADAIsIYAACARYQxAAAAiwhjAAAAFhHGAAAALCKMAQAAWEQYAwAAsIhxxgCgHQwWCyBWCGMAuqwukJgTiBsTVKC+/drrG4zKyqVqf+uyXK/RlGIps0/0Q1kiTj0FoHsIY0gqjY3RDwdpaSYm+0kEheMT9Xuo2+M7LpeUkSHNmunImyP5a6U55UZFk6RgMPqft6oy6rtICsnwe8ik8WhGGENSGTM2Fv84b43BPmBLMChNLXZUkB+6UBbkS8YobMLxaIrNOZwMEv/3cMVywhhC6MAPAN/gzQl/nTvMTh0AUgMtY0gqVZXR/0vT7fYoENjzba5UkqytOP7aUItYs+qa2O07FudwMuD3EMmEMNZBGzdu1BlnnKEJEybo9ttvt10O9iAWfTDS0x01NXHBlKQli21X0DXuTLcC9YF235tRYjR3npExoRax6hqpYr5Rrlea7Yv+cacfUcfwe4hkktBhLBUC0rRp07Ro0SL9/e9/1xFHHNHhnysoKJAkvfjii9EqDUjYJ/88Hpccp/3aS32Sr9SE9REbnieVTHfkTtDPCyC+JXQYA4BIc7sdVZQ5jDMGIGYIYwDQjuwsR9lZtqsAkAri9mnKv/3tb/rhD3+okSNHKicnR6eddpp+/OMf64UXXpAkLVy4UGeccYYkadGiRRo0aFDLf6tWrZIUusU3aNAgbdy4sc3277rrrrB1m3399dd64IEHNGbMGOXk5GjMmDG6//77ZcyeOypv2bJFt956q8aMGaOhQ4fq5JNP1nXXXac1a9a0WbegoEAFBQXavn27brvtNn33u9/V0KFDVVhYqL/+9a9t1l20aJEk6Ywzzmj5fBMnTtxjLRs3btSgQYO0adMmbdq0Kex7ueuuu/b4cwAAwI64bBn7wx/+IJ/Pp379+mnMmDFyu936/PPPVVNToxdeeEGjR4/WkCFDVFRUpAULFmjw4MEaPXp0y88PGDCgy/ueMWOGnnnmGR1xxBG67LLL1NTUpIcfflj/+Mc/2l3/ww8/1MSJE7V582Z95zvf0ejRo7VlyxY9//zzWrFihR555BF5vd6wn9m5c6d+9KMfqb6+XmeeeaYaGxv1l7/8Rddff71++9vfatSoUZKkoqIiLVq0SKtXr1ZRUZH69Omzz8/Xp08fXXvttXr00UclSZdffnnLeyNGjOjy9wIAAKIjLsPY008/rf33319//vOf1bdv37D36upCjzIPGTJEl19+uRYsWKAhQ4bouuuu6/Z+V61apWeeeUaDBw/WE088ofT0dEnSVVddpe9///vt/syNN96oL774Qr/73e/0ne98p2X51VdfrfPPP1/Tp0/XkiVLwn7ms88+U05OjhYsWKADDjhAklRYWKhJkybp4YcfbgljkyZN0urVq7V69WpdfvnlHerA36dPH1133XUtLWqR+F4AAED0xO1tyv333189erTNih6PJ2r7XLx4sSTp5z//eUsQk6RDDz1URUVFbdb/17/+pX/84x8aP358WBCTpOzsbF100UVas2ZNu7crf/3rX7cEMUkaOXKkBgwYoHfffTdCnwYAACSCuGwZO/vss1VeXq5x48bp3HPP1YgRI3TSSSe13KaLlvfee0+SlJeX1+a99pZVV1dLkr744ot2+2N98MEHLf973HHHtSzv06ePBg4c2Gb9Qw89tGWbAAAgNcRlGPvJT34ij8ejJ554Qg8//LAeeugh9ejRQ6eeeqpuuummdoNMJHz55ZdyuVzttr4ddNBBbZbV19dLkpYvX67ly5fvcbuNjY1hr3v37t3uej169FAwGOxExQAAINHFZRhzHEcXXnihLrzwQtXV1entt9/W0qVLVVlZqQ0bNmjJkiXab7/9OrQdKfSE5Dd9+eWXbZb17t1bwWBQdXV1bfqqbdmypc36vXr1khTq9P/DH/6wQ58NAABgd3HbZ6yZx+PR6NGjNW/ePJ1yyilau3atNmzYIEktgay9sCVJmZmZkqTNmze3ee/f//53m2WDBg2SJL311ltt3mtvWfNTknt60jISXK7QIepsi5nL5drj9wKkinXrjVa8arRufXLOoQkgOcRly9grr7yikSNHhnXg37lzZ8ttwQMPPFBSqO+V4zj69NNP293O0KFDJYXGIdt9WIe//vWveuONN9qsP378eC1cuFD33HOPRo0a1dKJf/PmzVqwYEGb9YcNGyav16vnnntOZ5xxhs4555yw94PBoN56661uDSnRHCg//fRT/c///E+nfu79999XU1OT0tLSurx/pJ66QOIHl/oGo7JyqdrfuizXazSlWMrs48iYoAL1sf2ciTp1FIDoi8swNnnyZB144IE66aST1L9/f+3atUuvvfaa/vOf/+icc85R//79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2+1uee+BBx5QeXm5Hn/8cf3oRz/ShRdeqFdeeUV/+9vf9OSTT+qiiy5SWVmZVq9erWuvvVYnnXRSm+2/9dZbuvrqq3X99de3LFu8eLF+9atfadasWXr00UdblpeUlGjLli2aNWuWLr744pblf/rTn3TLLbeopKREjzzySJt9fPrpp1q6dKl69eolSSoqKlJhYaEeeuihsDD21FNPaenSpbrgggvk8/nUo0foq9qxY4d+8Ytf6KGHHtK5556roUOHhm3/tdde0zPPPKOjjjpKkjR58mR9//vf13PPPacbb7xRhx56aMvTkc1hrDMd+J977jkNHDgwbNlnn32m888/X3PmzCGMAQCQYDp1m/KPf/yjdu3apZtvvjksiEnSlVdeqb59+2rp0qUty0pLS3X44Yfr1ltv1YIFC7RgwQKdcMIJuuaaa9rdfmZmpn7605+GLfv+97+v4447Tq+//nrL7cdPPvlEr7/+uo455piwACVJF110kY4++mitXLmy3duVN9xwQ0sQk6SjjjpKJ554otatW6dt27a1LH/88ceVnp6uW265pSWISdIBBxygyZMnSwoFo28qKipqCWKSdOCBB2rcuHEyxuif//xnu5+7M74ZxCTpkEMO0VlnnaX169dr06ZN3d4HAACInU61jPn9odltX3nlFa1cubLtxnr00Lp161pe9+nTR2VlZSoqKtL//u//qnfv3iorK9N+++3X7vaHDBmi9PT0sGWO4+jEE0/UmjVrtHr1ah1++OH617/+JUkaPny4HMdps35eXp7Wrl3bsv7uvvWtb7XZ76GHHipJ+vLLL9WrVy81NjZqzZo1OuSQQ/TAAw+0WX/Xrl2SQn3jvun4449vs+ywww6TJDU0NLT7uTvjo48+0v3336/XX39dmzdv1o4dO8Le/+yzzzRgwIBu7wcAAMRGp8JYc2f8++67r8M/M3ToUB122GHatGmTTjvtNB1xxBF7XPeggw5qd/nBBx8sSS0d/ptbsJqXf1O/fv3C1t/dN/upSWpp+fr6668lhUKTMUabN2/W3Xffvcd6t2/f3qHtN4fPYDC4x211xIYNG3ThhRdq27ZtOvnkk3X66aerV69ecrlceuONN/TGG2+0CWcAACC+dSqMNd/ee/vtt8Nu9e3N7bffrk2bNsntduu5557ThAkTNGrUqHbX3bJlS7vLv/jiC0mtQad5383L97R+R2v8poyMDEmhVrSFCxd2aRvR8Mgjj6i+vl5z5szR9773vbD3brnlFr3xxhuWKgMAAF3VqT5jw4aFZrRtvl25L3//+9/1xBNP6OSTT9bTTz+tXr16adq0adq6dWu76//73/9ut7XpnXfekSQNHjxYUuh2phTq8G9M+Hxxxhi9/fbbYet1Vq9evXT00Ufrgw8+iMitxfY0t5Y1t8Z1xIcffihJKigoCFseDAb1j3/8I3LFAQCAmOlUGLv00kvVo0cPzZ49u93O8Q0NDS39uT777LOWjv5z5szRwIEDNXPmTH3++ee66aab2t1+fX19mz5aixcv1po1a3TKKae09P/q37+/Tj75ZL3//vttxvx6+umn9f7774et3xUTJ05UY2Ojpk+f3m5A/Oijj1rGBOuKzMxMSdLmzZs7/DPNfcGaw2azBx98UGvWrOlyLQBiZ916oxWvGq1bH5mJxwEkvk7dpjzuuONUUlKimTNn6uyzz9Zpp52mgQMHatu2bdq4caPeeOMNTZgwQT6fT9OmTVNdXZ3uuuuulg7y48aN08svv6xnn31Wjz/+uH74wx+GbT8vL0+PPfaY/H6/cnJytH79elVVVal379665ZZbwtadOXOmLr30Us2YMUPLli3TMccco//85z968cUX1bdvX82cObNbX8wll1wiv9+vRYsW6Z133tG3v/1tHXLIIdqyZYs++OAD+f1+lZeX77UP3N4cddRROuSQQ/Tcc8/pwAMP1GGHHSbHcfSDH/yg3X5nzTUtXLhQ1113nc455xy53W5VV1frX//6l/Lz87V8+fJufGIAnVEX6FyYqm8wKiuXqne7sZDrNZpSLGX26f6USJGYOxOAHZ0e9PWiiy7S4MGD9cgjj+jNN9/Uiy++qF69eql///6aNGmSxo8fr4ceekivvvqqLrzwQp155plhP3/LLbfonXfe0R133KERI0bouOOOa3lv4MCBuuWWWzRnzhw9/vjjMsbo1FNP1ZQpU8IGfJVCYeaZZ57R3XffrVdeeUUvvfSSPB6PJkyYoGuvvbbbTxQ6jqPbb79dp556qp566iktX75c27dvV9++fXXkkUfqV7/6lUaOHNnl7e+33366++67VVZWpmeffVb//e9/JUnnnHPOHsPY8ccfr9/97neaN2+enn/+ee2333464YQT9MQTT+jFF18kjAEdtH27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mPxDY98bb7whSRo1alSb977zne+ErYPE0/y71vy/iG9r1qzR3XffrauvvlrHHnus7XLiBmEMiLCvv/5aixcvluM4+va3v227nJS3fv16SdKRRx7Z5r3MzEx5PB5t2LAhxlUhEj7++GO99tpr6tevn4477jjb5WAfdu3apWnTpunoo4/WT3/6U9vlxBX+lAAibP78+VqzZo3OP/98LhBxYNu2bZKk3r17t/t+r1699Omnn8ayJETAzp07deONN2rHjh2aMmUKrdAJ4L777tN7772nJ598sk33jlRHGEPKa+5z0lELFizQySef3O57f/rTn3T//ffr+OOP18033xyhCgHsLhgM6qabbtKbb76piy66SOPHj7ddEvZh9erVuu+++/SjH/1I3/rWt2yXE3cIY0h548aN03//+98Or3/wwQe3u/yZZ55RSUmJjjvuOD300EPKyMiIVInohl69ekmSvvzyy3bf37Zt2x5bzRB/jDGaPn26/vznP+t73/uefD6f7ZLQAb/61a80cOBAXXfddbZLiUuEMaS8SIwF9vTTT2vGjBk65phj9Oijj8rj8USgMkRC85AVGzZs0NChQ8Peq6+vV11dnU444QQLlaGzgsGgbr75Zi1cuFDjxo3T7bffLpeLrs+JYPXq1ZKknJycdt9vfgL9nnvu0ejRo2NWV7wgjAHd9PTTT2v69Ok6+uij9eijj6pv3762S8Juhg8frvvvv18rVqzQueeeG/beq6++KkkaMWKEjdLQCbsHsXPOOUd33HEH/cQSyAUXXNDu8rfeekvr169XQUGB+vbtqwEDBsS4svjAoK9ANzz11FOaMWOGjjrqKC1YsGCPtzBhz65du3T22Wdr8+bNevLJJzVkyBBJ4YO+Ll26VNnZ2ZYrxZ7sHsTOPvtslZeXM5RFkpg2bZoWLVqU8oO+cjYDXbRy5UrNmDFDxhjl5eXpiSeeaLPOkCFDUrLJPZ706NFDpaWluvLKK3XppZdq3Lhx6tWrV8t0SNdffz1BLM7dc889WrhwodLT05WVlaXf/OY3bdYZPXp0S9AGEg1hDOiiTz75RM0Ny3/605/aXWfChAmEsThwyimn6A9/+IPuvPNOVVZWtkwU/stf/lLf+973bJeHfdi0aZMkafv27brvvvvaXWfAgAGEMSQsblMCAABYxGMoAAAAFhHGAAAALCKMAQAAWEQYAwAAsIgwBgAAYBFhDAAAwCLCGAAAgEWEMQAAAIsIYwAAABYRxgAAACwijAEAAFhEGAMAALDo/wOG9icRkRBBegAAAABJRU5ErkJggg==", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "size = (10, 50)\n", - "az.plot_forest(\n", - " {\n", - " \"normal\": rng.normal(size=size),\n", - " \"gumbel\": rng.gumbel(size=size),\n", - " \"student t\": rng.standard_t(df=6, size=size),\n", - " \"exponential\": rng.exponential(size=size),\n", - " }\n", - ");" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## ArviZ rcParams\n", - "\n", - "You may have noticed that for both {func}`~arviz.plot_posterior` and {func}`~arviz.plot_forest`, the Highest Density Interval (HDI) is 94%, which you may find weird at first. This particular value is a friendly reminder of the arbitrary nature of choosing any single value without further justification, including common values like 95%, 50% and even our own default, 94%. ArviZ includes default values for a few parameters, you can access them with `az.rcParams`. To change the default confidence interval (CI) value (including HDI) to let's say 90% you can do:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "az.rcParams[\"stats.ci_prob\"] = 0.90" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## PyMC integration\n", - "ArviZ integrates with PyMC. In fact, the object returned by default by most PyMC sampling methods is the {class}`arviz.InferenceData` object.\n", - "\n", - "Therefore, we only need to define a model, sample from it and we can use the result with ArviZ straight away." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "import pymc as pm" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling: [mu, obs, tau, theta]\n", - "Auto-assigning NUTS sampler...\n", - "Initializing NUTS using jitter+adapt_diag...\n", - "Multiprocess sampling (4 chains in 4 jobs)\n", - "NUTS: [mu, tau, theta]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
    \n", - " \n", - " 100.00% [8000/8000 00:05<00:00 Sampling 4 chains, 84 divergences]\n", - "
    \n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Sampling 4 chains for 1_000 tune and 1_000 draw iterations (4_000 + 4_000 draws total) took 6 seconds.\n", - "The rhat statistic is larger than 1.01 for some parameters. This indicates problems during sampling. See https://arxiv.org/abs/1903.08008 for details\n", - "The effective sample size per chain is smaller than 100 for some parameters. A higher number is needed for reliable rhat and ess computation. See https://arxiv.org/abs/1903.08008 for details\n", - "There were 84 divergences after tuning. Increase `target_accept` or reparameterize.\n", - "Sampling: [obs]\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "
    \n", - " \n", - " 100.00% [4000/4000 00:00<00:00]\n", - "
    \n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "with pm.Model(coords={\"school\": schools}) as centered_eight:\n", - " mu = pm.Normal(\"mu\", mu=0, sigma=5)\n", - " tau = pm.HalfCauchy(\"tau\", beta=5)\n", - " theta = pm.Normal(\"theta\", mu=mu, sigma=tau, dims=\"school\")\n", - " pm.Normal(\"obs\", mu=theta, sigma=sigma, observed=y, dims=\"school\")\n", - "\n", - " # This pattern can be useful in PyMC\n", - " idata = pm.sample_prior_predictive()\n", - " idata.extend(pm.sample())\n", - " pm.sample_posterior_predictive(idata, extend_inferencedata=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Here we have combined the outputs of prior sampling, MCMC sampling to obtain the posterior samples and posterior predictive samples into a single `InferenceData`, the main ArviZ data structure.\n", - "\n", - "The more *groups* it has contains the more powerful analyses it can perform. You can check the `InferenceData` structure specification {ref}`here `.\n", - "\n", - ":::{tip}\n", - "By default, PyMC does not compute the pointwise log likelihood values, which are needed for model comparison with WAIC or PSIS-LOO-CV.\n", - "Use `idata_kwargs={\"log_likelihood\": True}` to have it computed right after sampling for you. Alternatively, you can also use\n", - "{func}`pymc.compute_log_likelihood` before calling {func}`~arviz.compare`, {func}`~arviz.loo`, {func}`~arviz.waic` or {func}`~arviz.loo_pit`\n", - ":::" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 4, draw: 1000, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 992 993 994 995 996 997 998 999\n",
        -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 10.02 7.399 6.104 1.803 ... 1.041 12.6 10.12\n",
        -       "    theta    (chain, draw, school) float64 8.304 4.128 12.45 ... 12.92 10.8\n",
        -       "    tau      (chain, draw) float64 3.041 3.737 3.529 1.581 ... 3.22 1.696 2.607\n",
        -       "Attributes:\n",
        -       "    created_at:                 2023-12-21T18:42:25.932752\n",
        -       "    arviz_version:              0.17.0.dev0\n",
        -       "    inference_library:          pymc\n",
        -       "    inference_library_version:  5.10.2\n",
        -       "    sampling_time:              5.5613462924957275\n",
        -       "    tuning_steps:               1000

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 4, draw: 1000, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 992 993 994 995 996 997 998 999\n",
        -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 -4.287 -7.086 3.44 ... 11.22 39.41\n",
        -       "Attributes:\n",
        -       "    created_at:                 2023-12-21T18:42:27.486051\n",
        -       "    arviz_version:              0.17.0.dev0\n",
        -       "    inference_library:          pymc\n",
        -       "    inference_library_version:  5.10.2

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:                (chain: 4, draw: 1000)\n",
        -       "Coordinates:\n",
        -       "  * chain                  (chain) int64 0 1 2 3\n",
        -       "  * draw                   (draw) int64 0 1 2 3 4 5 ... 994 995 996 997 998 999\n",
        -       "Data variables: (12/17)\n",
        -       "    energy                 (chain, draw) float64 57.32 60.94 ... 61.22 58.55\n",
        -       "    step_size              (chain, draw) float64 0.264 0.264 ... 0.2667 0.2667\n",
        -       "    index_in_trajectory    (chain, draw) int64 2 -4 -5 5 3 -4 ... 1 0 -8 2 -10 6\n",
        -       "    energy_error           (chain, draw) float64 0.1952 0.251 ... -0.1325 0.279\n",
        -       "    tree_depth             (chain, draw) int64 3 3 4 4 4 3 4 4 ... 2 4 3 4 3 5 3\n",
        -       "    process_time_diff      (chain, draw) float64 0.001172 0.001172 ... 0.001192\n",
        -       "    ...                     ...\n",
        -       "    diverging              (chain, draw) bool False False False ... False False\n",
        -       "    acceptance_rate        (chain, draw) float64 0.8216 0.7868 ... 0.9907 0.842\n",
        -       "    n_steps                (chain, draw) float64 7.0 7.0 15.0 ... 7.0 23.0 7.0\n",
        -       "    lp                     (chain, draw) float64 -55.39 -55.34 ... -55.68 -51.57\n",
        -       "    step_size_bar          (chain, draw) float64 0.2845 0.2845 ... 0.2817 0.2817\n",
        -       "    perf_counter_start     (chain, draw) float64 1.286e+04 ... 1.286e+04\n",
        -       "Attributes:\n",
        -       "    created_at:                 2023-12-21T18:42:25.944471\n",
        -       "    arviz_version:              0.17.0.dev0\n",
        -       "    inference_library:          pymc\n",
        -       "    inference_library_version:  5.10.2\n",
        -       "    sampling_time:              5.5613462924957275\n",
        -       "    tuning_steps:               1000

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    theta    (chain, draw, school) float64 52.13 -71.41 148.5 ... 1.115 6.39\n",
        -       "    tau      (chain, draw) float64 120.4 7.113 1.983 2.866 ... 8.423 6.926 12.31\n",
        -       "    mu       (chain, draw) float64 -2.798 1.822 -4.905 ... -1.888 -4.516 1.978\n",
        -       "Attributes:\n",
        -       "    created_at:                 2023-12-21T18:42:18.246297\n",
        -       "    arviz_version:              0.17.0.dev0\n",
        -       "    inference_library:          pymc\n",
        -       "    inference_library_version:  5.10.2

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 78.06 -75.96 125.8 ... 2.925 19.95\n",
        -       "Attributes:\n",
        -       "    created_at:                 2023-12-21T18:42:18.248182\n",
        -       "    arviz_version:              0.17.0.dev0\n",
        -       "    inference_library:          pymc\n",
        -       "    inference_library_version:  5.10.2

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
        -       "Attributes:\n",
        -       "    created_at:                 2023-12-21T18:42:18.248964\n",
        -       "    arviz_version:              0.17.0.dev0\n",
        -       "    inference_library:          pymc\n",
        -       "    inference_library_version:  5.10.2

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Below is a \"trace plot\", a common visualization to check MCMC output and assess convergence. Note that the labeling information we included in the PyMC model via the `coords` and `dims` arguments is kept and added to the plot (it is also available in the InferenceData HTML representation above):" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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D3edN998k61bt7Js2bK4eXIce4dDhw7x3HPPcf3113PzzTezadMmHnjgAex2O+eff74cx17ixhtvpKamhjPPPBOLxYJhGPzwhz/k7LPPBuR67M86Pdj1yCOP8Oijjza7zLJly5g+fXqr1qdpWpumi45py/G77rrrItMmT55MZmYmt99+Oz/5yU+kwt6NGl8bSim5XnqY8DdPYbNmzeLUU0/l1Vdf5frrr++mUonWSnSNiZ7nW9/6VuT3iRMnMm3aNJYsWcLHH3/Maaed1o0lSz657/cO9913Hzt37uTf//533Lz23Ffk3tN1jhw5woMPPsgTTzxBSkpKk8vJcezZlFJMmzaNH/3oRwBMmTKF3bt389xzz3H++edHlpPj2LO99dZbvP766/z+979n/PjxbNu2jYceeoiBAwdywQUXRJaT49j/dHqw66qrrop5wExk+PDhrVpXXl4eX3/9dcw0l8uF3++Pi9SK5OjI8Zs1axYABw8elGBXN8jJycFiscR9G1FeXh6XISl6lrS0NCZOnMj+/fu7uyiiGfn5+UDw28CBAwdGpss11jsMHDiQoUOH9qnrTO77vcf999/PihUr+Ne//sXgwYMj01tzX8nLy8Pv9+NyuWKyEMrLy5k9e3YXvYP+bcuWLZSXl3PhhRdGphmGwfr163n22Wd55513ADmOPV1+fj7jxo2LmTZ27FjefffdyHyQ49jT/eY3v+Gmm27irLPOAmDSpEkUFhaydOlSLrjgAjmO/Vin99mVm5vLuHHjmv3X3Dci0WbNmsWuXbsoKSmJTFu1ahV2u51p06Z11lvo1zpy/LZu3Qo0fFCIrmW325k6dSqrVq2Kmb569Wq5afdwPp+PPXv2yLXTww0fPpz8/PyYa8zn87F+/Xq5xnqByspKjhw5EvPg29vJfb/nU0px33338d577/HUU08xYsSImPmtua9MmzYNm80Ws0xJSQm7du2S49xFjjvuON544w1effXVyL9p06Zxzjnn8OqrrzJixAg5jr3AnDlzIv08he3fv59hw4YBcj32Fh6PJy5ry2KxRLKy5Dj2Xz2qz67CwkJcLheFhYUYhsG2bdsAGDlyJE6nk0WLFjF+/HjuuOMO7rjjDlwuFw8//DCXXnop6enp3Vz6/m3jxo18/fXXzJs3j/T0dL755hseeughlixZwtChQ7u7eP3W9ddfzx13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ckn3fffeey9XXHEFn/70p7nrrruYP38+n/jEJ1i/fv1IF22fFo/HaW1t5ZJLLhnw81/96ldcf/31XHLJJdx+++1UVVVx7rnn0tPTs5dLum976qmnOPvss7ntttu4/vrryeVyfPzjHycejxfHkXU9fOrq6vjKV77CHXfcwR133MHixYu54IILijc6sq6H34svvsitt95Ka2tr2XBZ13uWXBtHt+E693/nO9/h/vvv50c/+hE333wz8XicT33qU+RyuZFYrP3a7pzrZDuOrM7OTj74wQ/icrn41a9+xT333MPFF19MKBQqjiPbcfT71a9+xR/+8AcuueQS7r33Xr761a/y61//mt///vdl48h23A/ZYo+444477Pnz5/cb/tBDD9nTpk2zN27cWBx299132zNnzrS7u7v3ZhH3eaeffrp9ySWXlA077rjj7O9///sjVKKxZ+rUqfb9999f/NuyLPvQQw+1r7322uKwVCplz58/377llltGoohjxrZt2+ypU6faTz31lG3bsq73hoULF9q33XabrOs9oKenxz722GPt5cuX2x/+8Iftyy+/3LZt2a/3Brk27lt25dzf1dVlz5gxw77nnnuK42zcuNGeNm2a/cgjj+zdBdjP7c65TrbjyLvqqqvsD37wg4N+Lttx3/DJT37S/trXvlY27LOf/az9la98xbZt2Y77M6nZtZc9//zzTJkyhdra2uKwJUuWkE6ny6rMiu1Lp9O88sorLFmypGz4oYceynPPPTdCpRr71q1bx5YtW8rWu2maLFy4UNb7buru7gYgHA4Dsq73pFwuxz333EM8HmfevHmyrveASy+9lMMOO4xDDjmkbLis6z1Lro37nl0597/88stkMhkOPfTQ4ji1tbVMmTJFtvNetjvnOtmOI+/BBx9k5syZfO5zn+Pggw/mfe97H7fddlvxc9mO+4b58+fzxBNP8M477wDw+uuv85///IfDDjsMkO24PzNGugD7m61bt1JVVVU2LBwO43K52Lp16wiVat/T3t5OLpejsrKybHhVVRVbtmwZoVKNfYV1O9B6lyYyu862ba644grmz5/P1KlTAVnXe8Ibb7zBBz7wAVKpFD6fj5/97GdMnjyZZ599FpB1PVzuueceXn31VW6//fZ+n8l+vWfJtXHfsqvn/q1bt+JyuYoBstJx5F5y79ndc51sx5G3du1abrnlFs4991zOP/98XnzxRS6//HJM0+R973ufbMd9xCc+8Qm6u7s5/vjj0XWdXC7HF7/4RU466SRAjsf9mQS7huDqq6/mmmuu2e44t99+O7NmzRrS9JRSOzVcDK7vOrNtW9bjXjDQehe77tJLL+XNN9/k5ptv7veZrOvhM2HCBO666y66urq47777uOiii7jxxhuLn8u63n0bNmzgO9/5Dr/5zW9wu92Djifres+Sa+O+YbjP/XIc7T178lwn23HvsW2bmTNn8qUvfQmA6dOn89Zbb3HLLbfwvve9rziebMfR7d577+Uvf/kLP/jBD5g8eTKvvfYaV1xxBTU1NZx66qnF8WQ77n8k2DUEZ599NieccMJ2x2lqahrStKqqqnjhhRfKhnV2dpLJZPpFm8XgotEouq73i7Rv27atX805MXyqq6sB5+1HTU1Ncbis91132WWX8eCDD3LjjTdSV1dXHC7reviZpklLSwsAs2bN4qWXXuKGG27gE5/4BCDreji88sorbNu2jdNOO604LJfL8fTTT3PTTTfx97//HZB1vafItXHfsTvn/qqqKjKZDJ2dnWW1ELZt28a8efP20hLs34bjXCfbceRVV1czadKksmETJ07kH//4R/FzkO042n3ve9/jk5/8JCeeeCIAra2trF+/nmuvvZZTTz1VtuN+THJ2DUFFRQWTJk3a7r/tvdUpNXfuXFasWMHmzZuLw5YvX45pmsycOXNPLcKYY5omM2bMYPny5WXDH3vsMTkh7UFNTU1UV1eXrfd0Os3TTz8t630n2bbNpZdeyn333cfvfvc7mpubyz6Xdb3n2bZNOp2WdT2MFi9ezF//+lfuuuuu4r+ZM2dy8sknc9ddd9Hc3Czreg+Sa+PoNxzn/pkzZ+JyucrG2bx5MytWrJDtvJcMx7lOtuPIO/DAA4t5ngpWrVpFY2MjIMfjviKZTPartaXrerFWlmzH/ZfU7Bpm69evp7Ozk/Xr15PL5XjttdcAGDduHH6/nyVLljB58mQuvPBCLrzwQjo7O7nyyis588wzCQQCI1z6fcu5557LhRdeyMyZM5k3bx633norGzZs4AMf+MBIF22fFovFWLNmTfHvdevW8dprrxEOh2loaOAjH/kI1157LePHj6elpYVrr70Wj8dTbBcvhubb3/42d999Nz//+c/x+/3FfALBYBCPx4NSStb1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v/xlHn300RErVzKZ5MILL2Tx4sW0trZy9dVX8+STT9La2sqTTz6509M78sgjufjii3c43jnnnMM555yzK0UWQgghhBh2cq9WTu7VhBCljJEugBBidLv11lsBSCQSrFu3jr///e+cd955vPe97+XKK69E0/ZuzPyWW27h7rvv5oorrqClpYW6ujoCgQC33norkydP3qtlEUIIIYQYaXKvJoQQ/UmwSwixXXPnzi37+4wzzuC6667jqquu4oADDuC//uu/9ko50uk0pmny9ttvU1NTwymnnLLdcgohhBBC7A/kXk0IIfqTZoxCiJ123nnnMW3aNH73u98Vh7W1tXHJJZewZMkSZs6cyfHHH88f//jHft9du3YtX/7yl1m8eDGzZs3i1FNP5Z///GfZOIVq+W+88QbnnHMOc+bM4aqrrqK1tZU//vGPbNiwoVhlf926dYNWjb/vvvs488wzmTNnDgsWLODzn/88Gzdu3OHyPfroo5x88snF5fj73/++i2tKCCGEEGLvk3s1IcT+ToJdQohdcthhh7Fx40bWr19PT08PH/zgB1m+fDmf//zn+b//+z+WLVvGN7/5TW6++ebidzZs2MCZZ57JW2+9xTe+8Q1+/vOfM3XqVC644AIeeuihfvP47//+b4444gh++ctfcuKJJ3Lrrbdy2GGHUV1dza233sqtt95KTU3NgOW75ZZb+NznPse0adP46U9/yre//W1ef/11PvzhDxOLxQZdrjfffJNPf/rTRCIRfvKTn/CpT32K733ve6xcuXK315kQQgghxN4i92pCiP2ZNGMUQuyS+vp6ALZs2cKf/vQnNm7cyN13301zczMAhxxyCN3d3Vx99dWcddZZ6LrO1VdfjaZp/P73vycUCgGwdOlSNm7cyE9/+lMOP/zwsnl8/OMf56yzziobVlFRgWma260KH4vF+P73v8+ZZ57JpZdeWhw+e/Zsjj/+eO68885BE5j+8pe/JBQKcd111+F2uwGYOHEiZ5xxBhMnTtypdSSEEEIIMVLkXk0IsT+Tml1CiF1i2zYASikeffRR5s6dS319Pdlstvhv6dKltLW18c477wBOlfPDDjsMn89XNt6yZct49dVX+73FO/LII3epbM8//zw9PT2cdNJJZfOpr69nwoQJPPPMM9v97uGHH168eQLnxqupqWmXyiKEEEIIMRLkXk0IsT+T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61//Oo7jcM8990yZ5/rrr+eKK65g7dq1fPSjH+Xss8/m3e9+N7/+9a+nzHvPPffwzne+kzPPPJOrrrqKF154Ydr1rl27lquvvppzzz2Xc889l6uvvpq1a9fWH//nf/5nzjzzTHK5XMPztNZcfvnl/N3f/V19WiqV4oYbbuDSSy/ljDPO4N3vfjf/8R//0fC82vZdvXo1f/EXf8G5557LX//1X+/XNhJCCCHEkUeu1SbItZoQ4nCSYJcQR7n+/n7a2toapv385z/nhRde4H/8j//BDTfcwPr16/nCF77whrXh2Wef5c477+SLX/wi3/rWtygWi3zqU58inU4D0Nvby1/8xV+wdOlSvv3tb/Pd736Xq6++mlKp9JrLHhgYYPXq1bzvfe9jwYIFXHLJJTzwwAN4njdl3lwux5e//GU++MEPctttt7F06VL++3//73R3d9fneeKJJ/jSl77EKaecwq233sqHPvQhvvjFL5LNZhuWtXnzZv7kT/6EYrHITTfdxE033UQ+n+dP/uRP2Lx5MwB/+Id/iO/7PPDAAw3Pff755xkeHub9738/AIVCgY997GM8/fTT/NVf/RX/8i//wuWXX85XvvIV7rjjjimv4wtf+AKnnHIK3/3ud/nkJz/5mttICCGEEEcuuVabINdqQojDRboxCnGUCYIAiC4W7rzzTtatWzflQzaZTHLbbbdh2zYA6XSab37zmwwPD7Nw4cJD3qZUKsV//Md/1OtDnHvuubzjHe/gBz/4AX/zN3/Dhg0b8H2fr371q/XaExdffPF+LfsXv/gFxpj6xcj73/9+Hn/8cR555BHe9a53Ncybz+f5l3/5l3ra/GmnncYll1zCb37zG6699loAbrvtNk455RS+853voJQCoKOjg7/6q79qWNZ3v/tdmpqauP322+ttvvTSS7niiiv47ne/yz/+4z+yZMkSLrjgAn75y1/y4Q9/uP7cX/7ylyxZsoS3vvWtAPzwhz9kaGiIe++9l2XLlgHwtre9jXw+zy233MJHPvKR+r6C6MJsz/YIIYQQ4ugg12pyrSaEmHmS2SXEUeb000/n9NNP5+KLL+af/umf+NM//VOuu+66hnkuueSShg/kk046CYDBwcE3pE3nnXdeQyHUhQsXct555/HKK68AcOqppxKLxfjrv/5rHnroIVKp1H4v+5577mHFihWccsopALzj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QHNzM+FwmObmZizLYv369YDzbAQCgVFTD9dddx033XQT8+bN4/jjj+fhhx+mpaWFK6+88kAXbdiIx+Ps2rUr/72xsZH169dTW1vL5MmTufbaa1m8eDGHHXYYM2bMYPHixfj9/nz8gZHArbfeyhNPPMEvfvELAoFAPqZCdXU1fr8fTdNGRT385Cc/4cwzz2TixInE43Geeuop3nzzTX7961+PmjoAqKqqysctylFZWUldXV1++2ipi31hNPanhxJD0e9VV1dzySWXcOedd1JfX09tbS133nknc+bM6RUoXRgehqK/kvt44Pn4xz/OVVddxS9/+Us+8IEPsGrVKh555BFuu+02AHkeDxHOOeccfvnLXzJ58uS8G+MDDzzAJZdcAsh9HM1o6gA4ojY2NnLeeefx2GOPcdRRR+W3Nzc3c+utt/L666/nG983v/lNvF7v/i7isLBx40a+973vsXHjRhKJBOPGjeOMM87gxhtvLFptb6TXw9/+9je+9a1vld23cePG/N8jvR4Abr75Zv7+97/32v6HP/yBU045BRgd9QDwpz/9id/85je0t7czZ84cvvWtb3HSSScd6GING2+88QbXXnttr+0XXXQRP/jBD1BKcc899/Dwww8TDoeZP38+t9xyS6/B9aHM3Llzy26/44478q4ho6Ee/vM//5PXX3+d9vZ2qqurmTt3Ltdff31+RaDRUAd9cc0113DkkUfy//7f/wNGd10MhtHWnx5KDFW/ZxgGP/zhD3niiSdIpVKcdtpp/Nd//ReTJk3aL9ch9GZv+iu5jwee559/np/85Cfs2LGDqVOnct1113H55Zfn98t9PPiJxWL87Gc/Y8mSJXR1dTF+/HguuOACPve5z+XnS3IfRycHROwSBEEQBEEQBEEQBEEQhOFgn2J2CYIgCIIgCIIgCIIgCMLBhIhdgiAIgiAIgiAIgiAIwohBxC5BEARBEARBEARBEARhxCBilyAIgiAIgiAIgiAIgjBiELFLEARBEARBEARBEARBGDGI2CUIgiAIgiAIgiAIgiCMGETsEgRBEARBEARBEARBEEYMInYJgiAIgiAIgiAIgiAIIwYRuwRBEARBEARBEARBEIQRg4hdgiAIgiAIgiAIgiAIwohBxC5BEIacJUuW8Lvf/a5o29/+9jfmzp1LY2PjkJzjjTfe4O677x6SvARBEARBEEYbMl4TBGEkI2KXIAhDzpIlS/jDH/4wrOd48803ueeee4b1HIIgCIIgCCMVGa8JgjCSEbFLEARBEARBEARBEARBGDG4D3QBBEEYWdx88838/e9/B2Du3LkAnHzyyVx00UUAdHV18aMf/YiXXnqJmpoaLrroIr7whS/gcrnyeXR3d/PTn/6UpUuXEgqFmDZtGv/xH//BZZddBsDdd9+df0uYO8eUKVNYunQphmHwox/9iFdffZXm5maqq6s54YQTuPnmm5k0adJ+qwdBEARBEISDFRmvCYIw0hGxSxCEIeXGG2+ku7ubdevW5Qc4VVVVrFq1CoCbbrqJD3/4w1xxxRW89NJL3HfffUyZMiU/MIrFYlx11VWYpsmXvvQlpkyZwosvvsh3vvMdMpkMH/3oR7nssstobW3l0Ucf5eGHHwbA6/UCkE6nSSaTfO5zn2PcuHGEw2EeeughPvrRj/L000/j9/sPQK0IgiAIgiAcPMh4TRCEkY6IXYIgDCnTp09nzJgxeL1eFixYkN+eGzxddNFF3HDDDQC85z3vYdmyZTz99NP5wdPvf/97WltbeeKJJ5g2bVo+XTQa5e677+aKK65g4sSJTJw4EaDoHADV1dV873vfy3+3LIszzjiD0047jZdeeon3ve99w3XpgiAIgiAIhwQyXhMEYaQjMbsEQdivnHnmmUXfZ8+eTXNzc/77yy+/zIIFC5g0aRKmaeb/nXHGGXR3d7N9+/Y9nuOJJ57g0ksv5cQTT+Too49m/vz5JBIJduzYMdSXIwiCIAiCMOKQ8ZogCIc6YtklCMJ+paampui71+slnU7nv3d3d7Nz506OOeaYsscHg8F+81+yZAlf+9rX8rEl6uvr0TSNT3/60xiGse8XIAiCIAiCMMKR8ZogCIc6InYJgnBQUVdXx7hx47j55pvL7j/88MP7Pf7pp59m+vTp/OAHP8hvy2QyhMPhIS2nIAiCIAjCaEXGa4IgHOyI2CUIwpDj9Xr3+q3cGWecwZ/+9CemTJnCmDFj+j0HgGEY+Hy+/PZUKoXbXdy1PfHEE1iWtVflEQRBEARBGInIeE0QhJGMiF2CIAw5RxxxBA8//DB/+ctfmDt3LlVVVQM+9hOf+ARPPfUUV199NZ/4xCc47LDDiMfjbNu2jXfffZd7770XgJkzZwLw29/+ltNPPx2fz8fcuXM544wzWLJkCd///vc555xzWLt2Lf/7v//byxxfEARBEARhNCPjNUEQRjIidgmCMORceumlvPPOO/zgBz8gFotx8sknc9FFFw3o2Orqav785z9z7733snjxYtrb26muruaII47g/PPPz6c755xzuOKKK/jd737Hz372MyZPnszSpUu5/PLLaWlp4a9//SsPP/wwxx57LPfddx+f//znh+tyBUEQBEEQDjlkvCYIwkhGU0qpA10IQRAEQRAEQRAEQRAEQRgK9ANdAEEQBEEQBEEQBEEQBEEYKkTsEgRBEARBEARBEARBEEYMInYJgiAIgiAIgiAIgiAIIwYRuwRBEARBEARBEARBEIQRg4hdgjBCuPvuu5k7d27+34knnsill17K448/XpRu7ty53H333XvM79xzz+Xmm2/Of//b3/7G3LlzaWxsHFSa4aT0mgv/XXPNNcN2zjfeeGNY8hYEQRAEYeQiYzUZqwmCsP9wH+gCCIIwtDz88MMAhMNhHnnkEb7+9a9jGAaXXnrpoPK55557qKqqGtQxZ599Ng8//DDjx48f1HH7Su6aCxls2QfKPffcw+c//3lOOeWUYclfEARBEISRjYzVHGSsJgjCcCJilyCMMBYsWJD/+/TTT+eDH/wgv//97wc9gDr66KMHfe4xY8YwZsyYQR+3rxRe86GGbdvYto3bLd2xIAiCIIwGZKx2aCFjNUE4NBE3RkEYwbjdbo466ih27drVa99vf/tbzj77bE444QQ+9alP0dzcXLS/1Ox9IPRnPv/ggw9y7rnncuyxx3LllVeyZs2aomNffvllrrzyShYuXMjxxx/P+9//fu65555Bnb8c7e3tnHrqqXzta18r2v7rX/+ao48+mrfffju/7bnnnuPyyy9n/vz5nHjiiXzpS1+itbU1v3/u3LmA88YwZ4L/t7/9bcDHF9bHn/70J9773vcyb948Nm/evM/XKQiCIAjCoYeM1WSsJgjC8CBilyCMcJqamqiuri7a9re//Y0333yT//7v/+aWW25hzZo1fOMb3xi2Mrz22ms89NBD3HTTTfzoRz8iHo9z3XXXEQwGAdi9ezef/exnmTJlCnfddRe/+MUv+MQnPkEikRhQ/qZp9vpn2zYA48eP5/vf/z5PPPEEf//73wFYs2YNP/3pT/nsZz/LwoULAXjooYf44he/yJFHHsnPf/5zbr31VjZs2MDHPvYx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VXw9e7dV7/ep/o5X3F8BLMsq6UPbew0GuhcHmhsMxTvbtpTR3320I8cf6WxL+wz1mLo910bX9fzY0btflhuTtqX/Ft8HMLh3ge3po4OdT0LhHhxsfYYC4TiOs1OPIJFIJBKJRCKRSCQSiUQikewipBujRCKRSCQSiUQikUgkEolkj0GKXRKJRCKRSCQSiUQikUgkkj0GKXZJJBKJRCKRSCQSiUQikUj2GKTYJZFIJBKJRCKRSCQSiUQi2WOQYpdEIpFIJBKJRCKRSCQSiWSPYaeKXddccw2nnnoqc+bMYcGCBWW3mTJlSp+fm2++eWdWa9gYTHusW7eOs846i+bmZhYuXMiPfvQjUqnULq7p8HHIIYf06Q8/+9nPhrtau5Qbb7yRQw45hFmzZvGJT3yC559/frirNGxceeWVffrD4sWLh7tau4znnnuOs846iyVLljBlyhQeeuihkvWO43DllVeyZMkSZs+ezac//WnefffdYartrmFrbXLBBRf06TMnn3zyMNV253PttddywgknMHfuXBYtWsTZZ5/NBx98ULLN3tZPBtMme3o/kc+RkctQ3bOpVIof/vCHLFy4kObmZs466yw2bNiwK09FUsS1117LlClT+PGPf5xfJq/j7sHGjRv51re+xcKFC5kzZw7HHXccr7/+en69vI4jn0wmwxVXXMEhhxzC7NmzOfTQQ7nqqquwbTu/jbyOeyc7VexKp9McddRRnHbaaQNud8kll/Dkk0/mf44//vidWa1hY2vtYVkWX/7yl+np6eGmm27iiiuu4P777+eyyy7bxTUdXr7+9a+X9IevfOUrw12lXca9997LJZdcwle+8hXuuOMO5s+fzxe/+EXWrVs33FUbNiZNmlTSH+66667hrtIuo6enhylTpnDhhReWXf+73/2O66+/ngsvvJBbb72VqqoqzjzzTLq7u3dxTXcdW2sTgKVLl5b0meuuu24X1nDXsmzZMk4//XT+/ve/c/3112NZFp///Ofp6enJb7O39ZPBtAnsuf1EPkdGNkN1z/74xz/mwQcf5IorruCmm26ip6eHL3/5y1iWNRyntVfz6quvcssttzBlypSS5fI6jnw6Ojo47bTT0HWd3/3ud9xzzz1ccMEFhEKh/DbyOo58fve73/G3v/2NCy+8kHvvvZdvf/vb/OEPf+Avf/lLyTbyOu6FOLuAf/7zn878+fPLrps8ebLz4IMP7opqjBj6a49HH33UmTp1qrNhw4b8srvvvtuZOXOm09XVtSurOGwcfPDBzvXXXz/c1Rg2TjzxROfCCy8sWXbUUUc5P/vZz4apRsPLr3/9a+djH/vYcFdjRNB7rLRt21m8eLFz7bXX5pclk0ln/vz5zs033zwcVdzllHt+nH/++c5XvvKVYarR8NPS0uJMnjzZWbZsmeM4sp84Tt82cZw9u5/I58juxfbcs52dnc6MGTOce+65J7/Nhg0bnKlTpzqPP/74rj2BvZzu7m7niCOOcJ566innU5/6lPOjH/3IcRx5HXcXLr/8cue0007rd728jrsHX/rSl5zvfOc7Jcu++tWvOt/61rccx5HXcW9mRMTsuvjii1m4cCEnnHACN998c4nJ4d7Eyy+/zKRJk6itrc0vW7JkCalUqsScdk/n97//PQsXLuS4447jmmuu2WvcOFOpFG+88QZLliwpWb548WJeeumlYarV8LNy5UqWLFnCIYccwje+8Q1Wr1493FUaEaxZs4bNmzeX9BfDMNhnn3326v4CruXEokWLOPLII/m///s/WlpahrtKu4yuri4AwuEwIPsJ9G2THHtiP5HPkd2P7blnX3/9ddLpdIlbf21tLZMmTZLXeRdz8cUXc+CBB7L//vuXLJfXcffgkUceYebMmXz9619n0aJFfPzjH+fvf/97fr28jrsH8+fP55lnnuHDDz8E4K233uKFF17gwAMPBOR13JvRhrsC5557LosWLcLj8fDf//6Xyy67jLa2Ns4+++zhrtouZ8uWLVRVVZUsC4fD6LrOli1bhqlWu5bPfOYzTJ8+nVAoxGuvvcbPf/5z1qxZUxIDYU+lra0Ny7KorKwsWV5VVcXmzZuHqVbDy+zZs7nssstoamqipaUlH/fu7rvvJhqNDnf1hpVcnyjXX/Zmd6UDDjiAo446ivr6etasWcOvfvUrzjjjDG677TYMwxju6u1UHMfhkksuYf78+UyePBmQ/aRcm8Ce20/kc2T3Ynvv2S1btqDreh8Bt6qqaq95XxwJ3HPPPbz55pvceuutfdbJ67h7sHr1am6++WbOPPNMzjrrLF599VV+9KMfYRgGH//4x+V13E344he/SFdXFx/5yEdQVRXLsvjGN77BscceC8j7cW9mm8WuK6+8kquuumrAbW699VZmzZo1qPKKRa1p06YB8Jvf/Ga3EbuGuj2EENu0fHdgW9ros5/9bH7Z1KlTCYVCfP3rX+db3/rWXiNu9L7WjuPs1td/R8h9kcnR3NzM4Ycfzh133MGZZ545TLUaWZTrL3szRx99dP73yZMnM3PmTA455BAeffRRjjjiiGGs2c7n4osv5p133uGmm27qs25v7Sf9tcme3k/kc2T3YKjv2b3lvh4JrF+/nh//+Mf88Y9/xDTNfreT13Fk4zgOM2fO5H/+538AmD59Ou+99x4333wzH//4x/Pbyes4srn33nu58847+fnPf87EiRNZvnw5l1xyCTU1NSWxwOV13PvYZrHr9NNPL3lJLMeYMWO2u0Jz5syhu7u7rJXTSGQo26OqqopXXnmlZFlHRwfpdLqPEr07sSNt1NzcDMCqVav2eLErGo2iqmqfrwctLS27xb2wK/D5fEyePJkVK1YMd1WGnerqasD9ElVTU5NfLvtLKTU1NdTX1+/xfeaHP/whjzzyCH/961+pq6vLL9+b+0l/bVKOPaWfyOfI7sOO3LNVVVWk02k6OjpKrBBaWlqYO3fuLjqDvZs33niDlpYWPvGJT+SXWZbFc889x4033si///1vQF7HkU51dTUTJkwoWTZ+/Hjuv//+/HqQ13Gk89Of/pQvfelLHHPMMQBMmTKFdevWce2113L88cfL67gXs80xuyoqKpgwYcKAPwN94dgay5cvxzTNkiwYI5mhbI/m5mbeffddNm3alF/21FNPYRgGM2fO3FmnsNPZkTZ68803gcLDZk/GMAxmzJjBU089VbL86aefloNsllQqxfvvv79X9IetMWbMGKqrq0v6SyqV4rnnnpP9pYi2tjbWr19f8nKzJ+E4DhdffDEPPPAAN9xwAw0NDSXr98Z+srU2Kcee0k/kc2TkMxT37MyZM9F1vWSbTZs28e6778rrvIvYb7/9uOuuu7jjjjvyPzNnzuSjH/0od9xxBw0NDfI67gbMmzcvH+cpx4oVKxg9ejQg78fdhUQi0cdqS1XVvFWWvI57Lzs1Zte6devo6Ohg3bp1WJbF8uXLAWhsbMTv9/PII4+wZcsWmpub8Xg8PPvss1xxxRWcfPLJu3XMjP7YWnssWbKEiRMnct5553HeeefR0dHBZZddxsknn0wgEBjm2u98XnrpJV555RUWLlxIIBDgtdde45JLLuGQQw6hvr5+uKu3SzjzzDM577zzmDlzJnPnzuWWW25h/fr1nHrqqcNdtWHhsssu4+CDD2bUqFG0trZyzTXX0N3dXWKSvCcTi8VYtWpV/u81a9awfPlywuEw9fX1fOYzn+Haa6+lqamJsWPHcu211+LxePIxCvZEBmqTcDjMVVddxRFHHEF1dTVr167liiuuIBqNcthhhw1jrXceF110EXfffTdXX301fr8/H5ciGAzi8XgQQux1/WRrbRKLxfbofiKfIyObobhng8EgJ5xwApdddhnRaJRwOMxll13G5MmT+wRKl+wcAoFASRxAcK3PI5FIfrm8jiOfM844g9NOO43f/va3fOQjH+HVV1/l73//OxdffDGAvB93Ew4++GB++9vfUl9fn3djvP766znhhBMAeR33ZoSzEx1RL7jgAm6//fY+y//85z+zcOFCHn/8cX7xi1+wcuVKHMehoaGBE088kdNPPx1NG/bY+UPO1toDXEHsoosu4plnnsnfgOeff/4eKf715o033uCiiy7igw8+IJVKUV9fzzHHHMMXvvAFvF7vcFdvl3HjjTfyhz/8gU2bNjF58mS+853vsM8++wx3tYaFb3zjGzz33HO0t7cTjUZpbm7m3HPPZeLEicNdtV3Cs88+y2c+85k+y48//nguvfRSHMfhqquu4pZbbqGjo4M5c+Zw4YUX9nkB35MYqE1+8IMfcM455/Dmm2/S1dVFdXU1Cxcu5Nxzz2XUqFHDUNudz5QpU8ouv+SSS/LuNXtbP9lamyQSiT2+n8jnyMhlqO7ZZDLJT3/6U+6++24SiQSLFi3i+9///h7Th3dHPv3pTzN16lS++93vAvI67i785z//4Re/+AUrVqxgzJgxnHnmmZx88sn59fI6jny6u7v51a9+xUMPPURLSws1NTUcc8wxnHPOOfk5tLyOeyc7VeySSCQSiUQikUgkEolEIpFIdiXbHLNLIpFIJBKJRCKRSCQSiUQiGalIsUsikUgkEolEIpFIJBKJRLLHIMUuiUQikUgkEolEIpFIJBLJHoMUuyQSiUQikUgkEolEIpFIJHsMUuySSCQSiUQikUgkEolEIpHsMUixSyKRSCQSiUQikUgkEolEsscgxS6JRCKRSCQSiUQikUgkEskegxS7JBKJRCKRSCQSiUQikUgkewxS7JJIJBKJRCKRSCQSiUQikewxSLFLIpFIJBKJRCKRSCQSiUSyxyDFLolEMuQ89NBD/OlPfypZdttttzFlyhTWrFkzJMd49tlnufLKK4ekLIlEIpFIJJK9Dfm+JpFI9mSk2CWRSIachx56iD//+c879RjLli3jqquu2qnHkEgkEolEItlTke9rEolkT0aKXRKJRCKRSCQSiUQikUgkkj0GbbgrIJFI9iwuuOACbr/9dgCmTJkCwL777svxxx8PQEtLC5dffjmPP/44oVCI448/nq997Wuoqpovo7W1lV/+8pc88sgjtLe309DQwOc+9zlOOukkAK688sr8V8LcMUaPHs0jjzxCMpnk8ssv5+mnn2bdunUEg0HmzZvHBRdcwKhRo3ZZO0gkEolEIpGMVOT7mkQi2dORYpdEIhlSzj77bFpbW3nzzTfzLziBQIBXX30VgPPOO4/jjjuOU045hccff5xrrrmG0aNH51+Muru7Oe2008hkMpx77rmMHj2axx57jO9973uk02k++clPctJJJ7FhwwZuvfVWbrnlFgAMwwAglUoRj8c555xzqK6upqOjg5tvvplPfvKT3HfffXg8nmFoFYlEIpFIJJKRg3xfk0gkezpS7JJIJENKY2MjFRUVGIZBc3Nzfnnu5en444/nrLPOAmD//ffnqaee4r777su/PN1www1s2LCBu+++m4aGhvx2XV1dXHnllZxyyinU1dVRV1cHUHIMgGAwyI9//OP835ZlsXTpUhYtWsTjjz/OEUccsbNOXSKRSCQSiWS3QL6vSSSSPR0Zs0sikexSDjjggJK/J02axLp16/J/P/HEEzQ3NzNq1CgymUz+Z+nSpbS2tvLhhx9u9Rh33303J554IgsWLGD69OnMmTOHnp4eVqxYMdSnI5FIJBKJRLLHId/XJBLJ7o607JJIJLuUUChU8rdhGKRSqfzfra2trFy5khkzZpTdv62tbcDyH3roIb75zW/mY0tEo1GEEHzpS18imUzu+AlIJBKJRCKR7OHI9zWJRLK7I8UuiUQyoohEIlRXV3PBBReUXT9u3LgB97/vvvtobGzk0ksvzS9Lp9N0dHQMaT0lEolEIpFI9lbk+5pEIhnpSLFLIpEMOYZhbPdXuaVLl3LjjTcyevRoKioqBjwGQDKZxDTN/PJEIoGmlQ5td999N5ZlbVd9JBKJRCKRSPZE5PuaRCLZk5Fil0QiGXLGjx/PLbfcwj/+8Q+mTJlCIBAY9L6f/exnuffeezn99NP57Gc/S1NTE7FYjA8++ICXXnqJ3/zmNwBMmDABgD/+8Y8sXrwY0zSZMmUKS5cu5aGHHuInP/kJBx98MG+88QZ/+ctf+pjjSyQSiUQikezNyPc1iUSyJyPFLolEMuSceOKJvPjii1x66aV0d3ez7777cvzxxw9q32AwyN/+9jd+85vfcO2117Jp0yaCwSDjx4/nqKOOym938MEHc8opp/CnP/2JX/3qV/x/9v48SpLkrNNGH3P32DJyra2reqnqbvUqqReBpBaiQUgwYhPDAB+aw3AkhgMCoSvdI91hmblzD/MhvjmC4c4wutKH0GFASMMgwbBLSAJJ3WotvW/VXfuamZV7ZmTsEb6Z2f3D3D0icqnKqs7q7qq255zurIjwcDc3N/dw+/nvfd9rr72WBx54gHe+853Mz8/z13/91/zFX/wFd911F5/4xCd4//vff7l212KxWCwWi+WKw96vWSyWqxmhtdYvdSMsFovFYrFYLBaLxWKxWCyW7cB5qRtgsVgsFovFYrFYLBaLxWKxbBdW7LJYLBaLxWKxWCwWi8VisVw1WLHLYrFYLBaLxWKxWCwWi8Vy1WDFLovFYrFYLBaLxWKxWCwWy1WDFbssFssAH/vYx7j99ts3/Oyxxx7j9ttv57HHHtvy+hqNBh/72Mc4evToRbdlZmaG22+/nb/5m7+54LK33347H/vYx867zL//9/+et73tbRfdDovFYrFYLJaXC/ZezWKxWC6MFbssFstlpdFo8PGPf/ySbqC2m/e97318/OMff6mbYbFYLBaLxfKywd6rWSyWqxHvpW6AxWKxvFjs37//pW6CxWKxWCwWi2UT7L2axWLZLqyzy2KxXDJaa/70T/+UH/zBH+S1r30t999/Px/+8IdptVqAsbZ///d/PwD/4T/8B26//fZ11vq/+Iu/4Md//Me5++67eeMb38jP/dzPceTIkYHtxHHMf/2v/5U3v/nN3HfffXzoQx+iVqudt22tVot3v/vdvO1tb+Ps2bPAemt8HMf89//+3/mBH/gB7rrrLu677z5+5md+hieffDJb5vOf/zz/6l/9K173utfxnd/5nfzYj/0Yn/vc515Qv1ksFovFYrG8GNh7NYvF8krFOrssFsuGxHG87j2l1MDr3//93+eTn/wk7373u3nLW97CqVOn+OhHP8qxY8f4sz/7M/bs2cPHP/5x3v/+9/Mrv/IrfN/3fR8At9xyCwC/8zu/w5/+6Z/yzne+kw996EMopXjmmWdYXFzk1a9+dbadT3ziE7zpTW/id3/3d5menub3fu/38DyP3/u939uw7ZVKhV/8xV8kjmM++9nPcs0112y43B/90R/x6U9/mg9+8IPceeedNJtNDh06RL1eB+DJJ5/k137t13jXu97Fr//6r6OU4vTp0zQajYvuT4vFYrFYLJbtxN6r2Xs1i8WyOVbsslgsG/Ka17zmvJ/XajU+9alP8c53vpP/+B//IwD3338/ExMT/Pqv/zrf+MY3+L7v+z7uvPNOwNjS77333uz7U1NTfPrTn+YXf/EX+dVf/dXs/Y2Skt5000185CMfyV6fPXuWz33uc/yX//JfEEIMLHvu3Dl+4Rd+gZ07d/KHf/iHjI2NbboPzz77LN/93d/Nz/3cz2XvpU83AQ4ePMjo6Gi2f+k+WiwWi8VisbzU2Hs1e69msVg2x4YxWiyWDfmrv/qrdf/91m/9Vvb5wYMHCcOQH/uxHxv43o/+6I/ieR5PPPHEedf/8MMPo5Tine985wXb8r3f+70Dr2+55RaiKGJlZWXg/RMnTvAzP/Mz3HzzzXzqU586780TwF133cVDDz3E7//+7/PMM88QhuG6z+v1Ov/u3/07HnroIZrN5gXbarFYLBaLxfJiYO/V7L2axWLZHOvsslgsG3LXXXete6/T6WT/TvMw7Nq1a2AZz/MYHx/P7OWbkX5/M9t6P6OjowOv8/k8AEEQDLz/+OOPU6vV+Omf/mmKxeIF1/vLv/zL5PN5/u7v/o4//MM/pFwu88M//MP82q/9GuPj47zxjW/kox/9KJ/+9Kd53/veB8Cb3vQmfuM3foPbbrvtguu3WCwWi8ViuVzYezV7r2axWDbHOrssFsslMT4+DrDuiV0cx9RqtQs+qZuYmABgcXFx29r0sz/7s7zzne/kgx/8IA899NAFl8/lcvzSL/0SX/ziF3n44Yf5jd/4Db70pS/x27/929kyP/RDP8RnP/tZnnzyST72sY8xNzfHe97zHrTW29Zui8VisVgslu3G3qvZezWL5ZWMFbssFsslcc8995DP5/n85z8/8P6XvvQl4jjmjW98I7D5k703v/nNOI7DX/7lX25bm4QQfPjDH+YnfuIneP/737+lm6iUnTt38q//9b/mzW9+MydPnlz3ealU4m1vexs/8zM/w8LCwgWfhlosFovFYrG8lNh7NXuvZrG8krFhjBaL5ZIYHx/nF37hF/jEJz5BqVTie7/3e7MKP2984xv5nu/5HsBY58fHx/niF7/IrbdDxndXAAEAAElEQVTeSqFQ4KabbmL//v3823/7b/kf/+N/0Gw2eetb34oQgqeffpp7772Xt771rZfULiFElq/i/e9/Px//+Md5y1vesuGyv/Irv8Idd9zBa17zGkZHRzl8+DDf/OY3+Tf/5t8A8NGPfpRKpcJ9993Hnj17mJub49Of/jSvfe1rs6elFovFYrFYLC9H7L3a+CW1z2KxXB1YsctisVwyH/zgBxkfH+ezn/0sf/7nf874+Dg/+ZM/yYc+9CEcxxhHHcfhwx/+MP/tv/033v3udyOl5DOf+Qz33Xcfv/Ebv8H111/P5z73Of76r/+acrnMnXfeyQ/90A+9oHalN1FCiPPeRL3hDW/gy1/+Mn/+539Ot9tl3759vOc97+G9730vYJ6I/s//+T/5yEc+Qq1WY+fOndx///188IMffEHts1gsFovFYnkxsPdqFovllYrQNpjZYrFYLBaLxWKxWCwWi8VylWBzdlksFovFYrFYLBaLxWKxWK4arNhlsVgsFovFYrFYLBaLxWK5arBil8VisVgsFovFYrFYLBaL5arBil0Wi8VisVgsFovFYrFYLJarBit2WSwWi8VisVgsFovFYrFYrhq8S/1itVrdzna86IyNjVGv11/qZryssH0yiO2PQWx/DGL7Yz22Twax/THIldQfExMTL3UTtgWl1BXT55bNuZLOHcvG2GN4dWCP49WBPY5XB1u5V3vFOrsc5xW765ti+2QQ2x+D2P4YxPbHemyfDGL7YxDbHy8+ts+vDuxxvPKxx/DqwB7HqwN7HF852CNtsVgsFovFYrFYLBaLxWK5arBil8VisVgsFovFYrFYLBaL5arBil0Wi8VisVgsFovFYrFYLJarBit2WSyWqwKtNfUvTTHz6w8TV/yXujkWi8VisVgsVx1BoFFKv9TNsFgsVznKl3QPVdD60q83VuyyWCxXBY1/nGL6lx+i+rlTTP8/voGW6qVuksVisWyJT37yk/zUT/0Ur3vd6/iu7/ou3ve+93HmzJmBZbTWfOxjH+P+++/n7rvv5l3vehcnT558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8MEjXNL+8+1vfzvheLj11lv7u0hHzBtvvMH999/Prbfeyquvvsq8efP4+te/TllZWX8XrV9MmTIl4Vh47bXX+rtIR4zX62XatGncfffdSV9/4oknePLJJ7n77rt58cUXKSws5KabbsLtdh/hkh4ZnW0PgNNPPz3hePnTn/50BEt4ZK1atYrrrruOF154gSeffBLTNPnqV7+K1+uNzXO0HSP9Qa7ZA1tvnSc///nPeeedd3jkkUd45pln8Hq93HzzzZim2R8f66i2adMmnn/+eaZNm5YwXfbjwNfY2Mg111yDw+HgiSee4PXXX2fRokXk5OTE5pH9OPA98cQTPPfcc9x999288cYb/OAHP+Avf/kLTz/9dMI8sh+PQuoo9dJLL6l58+YlfW3q1KnqnXfeOcIl6n/tbZMPP/xQTZ8+XVVUVMSmLVmyRM2cOVM1NzcfySL2i7POOks9+eST/V2MfnPllVequ+++O2Haeeedp375y1/2U4n6z+9+9zv1hS98ob+LMSC0vk5alqVOO+00tXjx4ti0QCCg5s2bp5599tn+KOIRlex746677lK33nprP5Wo/9XW1qqpU6eqVatWKaXkGDlS5Jo9uHTnPGlqalIzZsxQr7/+emyeiooKNX36dPXRRx8d2Q9wlHO73eqcc85Ry5cvV1/+8pfVz372M6WU7MfB4uGHH1bXXHNNu6/LfhwcvvGNb6gf/vCHCdO++c1vqu9///tKKdmPR7OjLrMrVffeey/z58/niiuu4Nlnn01IgzzabNiwgSlTpjBixIjYtIULFxIMBhPSfIeyP//5z8yfP59LLrmExx9//KhpwhkMBtm6dSsLFy5MmH7aaaexfv36fipV/zpw4AALFy7k7LPP5jvf+Q6HDh3q7yINCKWlpVRXVyccK06nk5NOOumoPVYgnMWxYMECzj33XH784x9TW1vb30U6YpqbmwHIzc0F5Bg5EuSaPfh05zzZsmULoVAooRn9iBEjmDJliuznI+zee+/lzDPP5NRTT02YLvtxcHj//feZOXMm3/72t1mwYAGXXnopL7zwQux12Y+Dw7x581ixYgX79+8HYMeOHaxdu5YzzzwTkP14NLP3dwEGojvuuIMFCxbgcrn49NNPefDBB6mvr+e2227r76L1i5qaGgoLCxOm5ebm4nA4qKmp6adSHTlf+cpXOO6448jJyWHz5s386le/orS0NKFfhqGqvr4e0zQZNmxYwvTCwkKqq6v7qVT9Z9asWTz44INMmDCB2traWH93S5YsIT8/v7+L16+ix0OyY+VobT51xhlncN5551FcXExpaSm//e1vueGGG3j55ZdxOp39Xbw+pZTi/vvvZ968eUydOhWQY+RIkGv24NLd86SmpgaHwxELkMXPczTclw0Ur7/+Otu2bePFF19s85rsx8Hh0KFDPPvss9x0003ccsstbNq0iZ/97Gc4nU4uvfRS2Y+DxNe//nWam5s5//zzsdlsmKbJd77zHS666CJAzsej2ZAIdj366KM89thjHc7z4osvcvzxx6e0vPig1rHHHgvA73//+0EV7OrtbaJpWpemD3Rd2T433nhjbNr06dPJycnh29/+Nt///vePmgBH6/2slBq0+74nok+IoubMmcPnP/95Xn31VW666aZ+KtXAkuxYOVpdcMEFsd+nTp3KzJkzOfvss/nwww8555xz+rFkfe/ee+9l165dPPPMM21ek2Ok78k1e3Do7fNEzqUjp7y8nJ///Of89a9/JS0trd35ZD8ObEopZs6cyXe/+10AjjvuOPbs2cOzzz7LpZdeGptP9uPA9sYbb/Cf//yHX/3qV0yePJnt27dz//33M3z48IR+t2U/Hn2GRLDruuuuS6hUJDNmzJhuL3/27Nm43e6kGU4DVW9uk8LCQjZu3JgwrbGxkVAo1CZCPlj0ZPvMmTMHgIMHDw75YFd+fj42m63NE43a2tpBcy70pYyMDKZOnUpJSUl/F6XfFRUVAeEnY8OHD49Nl2OlxfDhwykuLh7yx8t9993H+++/zz/+8Q9GjhwZmy7HSN+Ta/bg0ZPzpLCwkFAoRGNjY0IWQm1tLXPnzj1Cn+DotnXrVmpra7n88stj00zTZPXq1fzzn//kv//9LyD7caArKipi0qRJCdMmTpzIW2+9FXsdZD8OdA899BDf+MY3uPDCCwGYNm0aZWVlLF68mMsuu0z241FsSPTZVVBQwKRJkzr819FTl85s376dtLS0hJE5Brre3CZz5sxh9+7dVFVVxaYtX74cp9PJzJkz++oj9KmebJ9t27YBLV+AQ5nT6WTGjBksX748Yfonn3wiF37C/ePs3bv3qDgWOjNmzBiKiooSjpVgMMjq1avlWImor6+nvLw84UZrKFFKce+99/L222/z1FNPMXbs2ITX5Rjpe3LNHvh64zyZOXMmDocjYZ6qqip2794t+/kIOeWUU3jttdd49dVXY/9mzpzJxRdfzKuvvsrYsWNlPw4CJ5xwQqyfp6iSkhJGjx4NyPk4WPj9/jZZWzabLZaVJfvx6DUkMru6oqysjMbGRsrKyjBNk+3btwMwbtw4MjMzef/996mpqWHOnDm4XC5WrlzJI488wlVXXTVk+1jpbJssXLiQyZMnc+edd3LnnXfS2NjIgw8+yFVXXUVWVlY/l75vrV+/no0bNzJ//nyysrLYvHkz999/P2effTbFxcX9Xbwj4qabbuLOO+9k5syZzJ07l+eff57y8nKuvvrq/i7aEffggw9y1llnMWrUKOrq6nj88cdxu90JKdJDmcfj4eDBg7G/S0tL2b59O7m5uRQXF/OVr3yFxYsXM2HCBMaPH8/ixYtxuVyxPhOGmo62R25uLo899hjnnHMORUVFHD58mEceeYT8/Hw+97nP9WOp+84999zDkiVL+MMf/kBmZmasj4zs7GxcLheaph11x0h/kGv2wNYb50l2djZXXHEFDz74IPn5+eTm5vLggw8yderUNh2li76RlZUV62ctKiMjg7y8vNh02Y8D3w033MA111zDH//4R84//3w2bdrECy+8wL333gsg5+MgcdZZZ/HHP/6R4uLiWDPGJ598kiuuuAKQ/Xg009RR1hB10aJFvPLKK22m//3vf2f+/Pl89NFH/PrXv+bAgQMopRg7dixXXnkl1113HXb70IwNdrZNIBwQu+eee1ixYkXswnDXXXcN2QBg1NatW7nnnnvYt28fwWCQ4uJiLrzwQr72ta+Rnp7e38U7Yv75z3/yl7/8haqqKqZOncoPf/hDTjrppP4u1hH3ne98h9WrV9PQ0EB+fj5z5szhjjvuYPLkyf1dtCNi5cqVfOUrX2kz/bLLLuOBBx5AKcVjjz3G888/T2NjI7Nnz+buu+9uUyEYKjraHv/3f//H7bffzrZt22hubqaoqIj58+dzxx13MGrUqH4obd+bNm1a0un3339/rKnP0XaM9Be5Zg9cvXWeBAIBHnroIZYsWYLf72fBggX89Kc/HbLXl8Hg+uuvZ/r06fzv//4vIPtxsPjggw/49a9/TUlJCWPGjOGmm27iqquuir0u+3Hgc7vd/Pa3v+Xdd9+ltraW4cOHc+GFF3L77bfH6qqyH49OR12wSwghhBBCCCGEEEIMXUOizy4hhBBCCCGEEEIIIUCCXUIIIYQQQgghhBBiCJFglxBCCCGEEEIIIYQYMiTYJYQQQgghhBBCCCGGDAl2CSGEEEIIIYQQQoghQ4JdQgghhBBCCCGEEGLIkGCXEEIIIYQQQgghhBgyJNglhBBCCCGEEEIIIYYMCXYJIYQQQgghhBBCiCFDgl1CCCGEEEIIIYQQYsiQYJcQote9++67/O1vf0uY9vLLLzNt2jRKS0t7ZR0rV67k0Ucf7ZVlCSGEEEIcbeR+TQgxlEmwSwjR6959913+/ve/9+k6Vq1axWOPPdan6xBCCCGEGKrkfk0IMZRJsEsIIYQQQgghhBBCDBn2/i6AEGJoWbRoEa+88goA06ZNA+Dkk0/msssuA6C2tpaHH36Yjz76iJycHC677DK+9a1vYbPZYsuoq6vjN7/5De+//z4NDQ2MHTuW//mf/+GLX/wiAI8++mjsKWF0HaNHj+b9998nEAjw8MMP88knn1BWVkZ2djYnnHACixYtYtSoUUdsOwghhBBCDFRyvyaEGOok2CWE6FW33XYbdXV1bNu2LXaDk5WVxaZNmwC48847ueSSS/jSl77ERx99xOOPP87o0aNjN0Zut5trrrkGwzC44447GD16NEuXLuUnP/kJoVCIa6+9li9+8YtUVFTw4osv8vzzzwPgdDoBCAaD+Hw+br/9doqKimhsbOTZZ5/l2muv5c0338TlcvXDVhFCCCGEGDjkfk0IMdRJsEsI0avGjRtHQUEBTqeTOXPmxKZHb54uu+wybrnlFgBOPfVUli9fzptvvhm7eXrqqaeoqKhgyZIljB07NjZfc3Mzjz76KF/60pcYOXIkI0eOBEhYB0B2djY///nPY3+bpsnpp5/OggUL+OijjzjnnHP66qMLIYQQQgwKcr8mhBjqpM8uIcQRdcYZZyT8PWXKFMrKymJ/f/zxx8yZM4dRo0ZhGEbs3+mnn05dXR379+/vdB1Llizhyiuv5MQTT+S4445j9uzZeL1eSkpKevvjCCGEEEIMOXK/JoQY7CSzSwhxROXk5CT87XQ6CQaDsb/r6uo4cOAAM2bMSPr++vr6Dpf/7rvv8r3vfS/Wt0R+fj6apvGNb3yDQCDQ8w8ghBBCCDHEyf2aEGKwk2CXEGJAycvLo6ioiEWLFiV9/Zhjjunw/W+++Sbjxo3jgQceiE0LhUI0Njb2ajmFEEIIIY5Wcr8mhBjoJNglhOh1Tqez20/lTj/9dP75z38yevRoCgoKOlwHQCAQIC0tLTbd7/djtyde2pYsWYJpmt0qjxBCCCHEUCT3a0KIoUyCXUKIXjdx4kSef/55/vWvfzFt2jSysrJSfu+NN97IG2+8wXXXXceNN97IhAkT8Hg87Nu3j/Xr1/P73/8egEmTJgHw17/+ldNOO420tDSmTZvG6aefzrvvvssvfvELzjrrLLZu3crTTz/dJh1fCCGEEOJoJvdrQoihTIJdQohed+WVV7Ju3ToeeOAB3G43J598MpdddllK783Ozua5557j97//PYsXL6aqqors7GwmTpzIeeedF5vvrLPO4ktf+hJ/+9vf+O1vf0txcTHvv/8+V111FeXl5bz00ks8//zzHH/88Tz++ON885vf7KuPK4QQQggx6Mj9mhBiKNOUUqq/CyGEEEIIIYQQQgghRG/Q+7sAQgghhBBCCCGEEEL0Fgl2CSGEEEIIIYQQQoghQ4JdQgghhBBCCCGEEGLIkGCXEEIIIYQQQgghhBgyJNglxBDz6KOPMm3atP4uxpBy/fXXc/3118f+XrlyJdOmTWPlypXtziOEEEIIkYzcq/U+uVcTQrRm7+8CCCHEQPfTn/60v4sghBBCCCHaIfdqQojWJNglhOgzoVAIu92Opmn9XZQemTx5cn8XQQghhBCi18m9mhBiqJJmjEIcZZYtW8bXvvY1TjvtNObMmcMXvvAF/vWvfyXMc/PNN/O1r30t9ncwGGT27NmceOKJmKYZm37DDTdw++23x/6eNm0av/3tb3nsscc488wzOf7442lubgbg7bff5qqrroot54477qCioiJhvWeffTaLFi3i1Vdf5dxzz2Xu3Llcc8017Ny5s83neOutt7j66quZM2cO8+bN4+qrr+aTTz6JvW4YBosXL+bcc89l5syZnH766Tz44IMEg0EAAoEA8+bN4+GHH26z7Oeee47p06dTVlYGdD/tva6ujrvvvpuFCxcyc+ZMzj///DbbWgghhBAintyryb2aEKLnJLNLiKPMoUOHOPXUU7n++utJS0tjy5Yt/OIXvyAYDHLdddcBcPLJJ/PYY49hGAZ2u51NmzZhmiahUIht27Zx/PHHEwwG2bBhA9/97ncTlv+vf/2LqVOncvfdd2NZFi6Xi2effZZ77rmHq666ittvvx23283vfvc7vvzlL/Pvf/+bzMzM2PtXrlxJSUkJ3//+91FK8dBDD3Hbbbfx1ltvYbeHL1lPP/00P/vZzzjvvPP46le/SlpaGps3b+bw4cOx5fzgBz/gww8/5Oabb2bWrFns3r2b3/3ud5SXl/Ob3/yGtLQ0zj33XJYsWcL3vvc9dL0l9v+f//yHk046ieLi4m5vZ7fbzTXXXINhGNxxxx2MHj2apUuX8pOf/IRQKMS1117b7WULIYQQYuiSezW5VxNC9JwEu4Q4ylxzzTWx35VSnHjiiYRCIZ577rnYDdT8+fN56KGH2Lx5M3PnzmXlypXMmjWLQCDAypUrOf7449m4cSN+v5/58+cnLN/pdLJ48WIcDgcAHo+HX/7yl1x11VXce++9sflmzZrF+eefz8svv5zwJM7r9fLnP/+ZrKys2LRvfetbbNq0iRNOOAG3282vf/1rLrjgAh555JHYPGeccUbs9zVr1vDGG2/w61//mgsvvBCAU089ldzcXO666y5uvfVWpk2bxiWXXMJLL73EqlWrOOWUUwA4fPgw69at47777uvRdn7qqaeoqKhgyZIljB07NlaG5uZmHn30Ub70pS9hs9l6tA4hhBBCDD1yryb3akKInpNmjEIcZSorK/nxj3/MZz7zGWbMmMGMGTP4zW9+Q0lJSWye4447juzs7NgINitXrmT+/PnMnz8/YVpeXl6b0YQWLlwYu3kC2LBhA263m4suugjDMGL/Ro0axTHHHMOaNWsS3n/CCSck3DxF+2AoLy8HYN26dXi9Xq666qp2P+PHH39MWloan/3sZxPWefrppwPE1nnyySdTXFzMa6+9Fnvvf/7zH5xOJ+edd15qG7SDMsyZM4dRo0a1KUNdXR379+/v0fKFEEIIMTTJvZrcqwkhek4yu4Q4iliWxa233kp1dTXf+ta3mDhxImlpabz77rv88Y9/jM2n6zonnngiK1eu5H/+53/YuHEjt956K8FgkGeffRbDMFi5ciUnn3xymw5NCwsLE/6ura0FaLcfhfz8/IS/c3NzE/52Op1AuN8GgIaGBgCGDx/e7uesra0lEAgwe/bspK/X19cDoGkaF198Mc888ww//elPcTqdvPbaa5x99tlkZ2e3u/xU1NXVceDAAWbMmNFhGYQQQgghouReLUzu1YQQPSXBLiGOIgcPHmTr1q089NBDXHLJJbHpH3zwQZt558+fz29+8xtWr16NZVnMnTsX0zQJBoOsWbOGDRs2cOedd7Z5X+sbqry8PAAeeughJk6c2Gb++D4gUhG94aqqqmLSpElJ58nLyyM9PZ2nn3466evxN1+XXHIJixcv5v3332f06NHs3buXH/zgB10qU3tlKCoqYtGiRUlfP+aYY3q8DiGEEEIMLXKvFib3akKInpJglxBHEb/fD5CQum4YBkuWLGkz7/z58/H7/TzxxBPMnj0bl8sFwMyZM/njH/9IMBhs0wdEMieccAKZmZkcOnQo4aatu+bOnUtGRgYvvPACCxYsSDrP6aefzhNPPIHP5+Pkk0/ucHmTJk1ixowZvPbaaxQXF1NQUBBLoe+J008/nX/+85+MHj2agoKCHi9PCCGEEEOf3Ku1JfdqQojukGCXEEPUf//73zbTRo0axejRo3nkkUfQdR273c7f//53lFJt5p0+fTq5ubl8+umnfPOb34xNnz9/PosXLyY/P58pU6Z0Wo6srCzuvPNO7rvvPqqrqznjjDPIysqisrKSlStXctppp3HBBRek/LmysrL43ve+x3333YdlWVx88cW4XC62bt3KsGHDuPLKK5k/fz4XXXQR3/zmN7nxxhuZNWsWEO7QdOnSpSxatIhx48bFlnnJJZfw8MMPk52dzYUXXhgbSagnbrzxRt544w2uu+46brzxRiZMmIDH42Hfvn2sX7+e3//+9z1ehxBCCCEGL7lXk3s1IUTfkWCXEEPUHXfc0WbaxRdfzO9//3vuvfde7rrrLnJzc7niiisoLi7mxz/+ccK80b4g3nvvvYQnbtEbqGR9QLTn6quvZtSoUfz5z3/mtddewzRNRowYwYknntim09RUfPnLX6agoIC//vWvfPe738XhcDBlypSEz/zwww/z9NNP89JLL/H444/jdDoZM2YMCxcubPP07qKLLuKhhx6irq6OL3zhC10uTzLZ2dk899xz/P73v2fx4sVUVVWRnZ3NxIkTe9yhqhBCCCEGP7lXk3s1IUTf0VSyxwRCCCGEEEIIIYQQQgxCen8XQAghhBBCCCGEEEKI3iLBLiGEEEIIIYQQQggxZEiwSwghhBBCCCGEEEIMGRLsEkIIIYQQQgghhBBDhgS7hBBCCCGEEEIIIcSQYe/uG+vr63uzHKKV3NxcGhsb+7sYIo7sk4FH9snAJPtl4JF90jX5+fn9XYReYVmW7PchQM7fwU/24dAg+3FokP04NKRyryaZXQOUrsuuGWhknww8sk8GJtkvA4/sk6OT7PehQfbj4Cf7cGiQ/Tg0yH48esieFkIIIYQQQgghhBBDhgS7hBBCCCGEEEIIIcSQIcEuIYQQQgghhBBCCDFkSLBLCCE64P6kgkPfXU5gr3RkKYQQQgwWJfU7cAfku1sIIY5WEuwSQoh2mA0BDnz9Axpe3MvBb36EslR/F0kIIYQQKdhXt501hz/s72IIIYToJxLsEkKIdtQ9vwerOUTRbTPxb63Hs7Kyv4skhBBCiE4oFX44ZSmrn0sihBCiv0iwSwgh2tH8wWFcMwsY/v9moWc5aHh1f38XSQghhBCdUEgmthBCHO0k2CWEEElYPgPvmiqyFo5Cd9nJPms07qWHY0+LhRBCCDEwyXe1EEIICXYJIUQSvk21qKBF1oKRAGQuGEmozEvwgLufSyaEEEKIjkmwSwghjnYS7BJCiCR8W+sAcM0sACDr1HDQy7Oiot/KJIQQQojOdbcZo2EoSkslUCaE6Bm/4WVZyRt4Q/KQvD9JsEsIIZLwb63DPjwdR1E6AM5jsrHlOvFtqu3nkgkhhBCiI91txrhnD2zfCTW1EvASQnRfjaecoBngcOO+/i7KUU2CXUIIkYRvWx2uGQWxvzVNI/34Yfg2S7BLCCGEGMi6m9kVDIV/mmYvFkYI0XWBZjRPTX+Xott0zQaAqeRi0p8k2CWEEK0oSxHY24Rram7C9PRZw/Bvr8cKyheXEKL3LF68mCuuuIK5c+eyYMECbrvtNvbtS3warJTi0UcfZeHChcyaNYvrr7+e3bt391OJhRjgpIN6IQY1+/6PsB1a2d/F6DabHg52WRLs6lcS7BJCiFZCZR6U3yRtYttglwpaBHY29E/BhBBD0qpVq7juuut44YUXePLJJzFNk69+9at4vd7YPE888QRPPvkkd999Ny+++CKFhYXcdNNNuN3SH4gQrXU3s0vTerkgQoieUVZ/l6BbYpldlgS7+pMEu4QQopXAviYA0iblJExPnzUMQJoyCiF61V/+8hcuv/xypkyZwvTp07n//vspKytj69atQDir6+9//zu33HIL55xzDlOnTuXBBx/E7/ezZMmSfi69EANPd4NdsfdLYpgQA4Ph7+8SdEtLM0ajn0tydJNglxBCtBLY0whA2qTEzC7H6ExsBWnSSb0Qok81NzcDkJsbvgaVlpZSXV3NwoULY/M4nU5OOukk1q9f3y9lFGIg624H9UKIASY0OINdUdYgzUwbKuz9XQAhhBhoggea0bMd2ArSEqZHO6n3SrBLCNFHlFLcf//9zJs3j6lTpwJQXV0NwLBhwxLmLSwspKysrMPl5efn901BxREl+7Fr0oIOMmszga5tu+zsEM1ui9xcO/n5tl4tk+zDoUH245FhZYbPXy3TiZbX+9u8r/ej4fCR2ZRJerpLjpl+JMEuIYRoJVjqxjk2Cy1J5x3pMwuoeWIbVtBEd/bujbAQQtx7773s2rWLZ555ps1rra9JqWSv1NfX91rZRM/UeCswLYMRWWO69L78/HzZj13kDbnxeDxA184Bt1vh8UBjI6S7eq8Dr8G+Dw1DoWlgsx3dnZoN9v04mNi9XlAKs64apbJ6ddlHYj82eBrC16CQLsdMH0kliCjNGIUQopVQqQfnmORfrOnHRzqp39VwZAslhBjy7rvvPt5//32eeuopRo4cGZteVFQEQE1N4jDstbW1FBYWHtEyDnZGQwDv+up+Wfem8k/ZWrm6X9Z9tOlxM0ZpBZngg6WwclV/l0IcVaLn8CA9F6P9Bkozxv4lwS4hhGgleNiNo71g18wCAHxb6o5kkYQQQ5hSinvvvZe3336bp556irFjxya8PmbMGIqKili+fHlsWjAYZPXq1cydO/dIF3dQ86yoJHjQjQpJBeRI8vsV5eVHrtba0w7qRVseb+fziKOX0RAgsL+pdxY2hPrcMy3poL4/STNGIYSIYzYGsZpCOMdkJn3dMTYLPccZHpHx6ilHuHRCiKHonnvuYcmSJfzhD38gMzMz1kdXdnY2LpcLTdP4yle+wuLFi5kwYQLjx49n8eLFuFwuLrroon4u/eCklOLobpB1ZK1dB14fjBihMFQQpy2t8zf1xBCqLIuhz7QMgmaAdEfye8/BwLO8AmVYOMdkoTl6mE+TECAanOdyNLvUUmY/l+ToJsEuIYSIEyx1A+GgVjKappE+s0Ayu4QQvebZZ58F4Prrr0+Yfv/993P55ZcD8PWvf51AIMA999xDY2Mjs2fP5q9//StZWb3bl8lRY3DWnwYtfyD8s8Fbx4bKj5g54mSGZ43us/X1NLNLYmXiSFpX9jHNgQbOnnRZfxel2zSnjjIsvOurcR6Tg6MovfsLs+ICRAPpZPTWoQU9qLyxnc4avQaZEuzqVxLsEkKIONFgl3N0+0/X0o8fRu3fdqAMC83e9unVocY9NPrrOG74ieiatBYXQnRs586dnc6jaRrf+ta3+Na3vnUESnQUGEgVqKNAdGyF5kAjAA3+mgEZ7EoyLs2A5/UqHA5wOAZh4QUAzYGG/i5CgmpPGSEzRHHO+JTfY8t1YnkNQuVeQuVe8i45pvsFSAgQDZxrtf3gpwAYKQS7BlK5j2ZSCxNCiDihQ5FgVzt9dgFkzB6GCpj4t7UdXWXFwbf56stn8P9e/wJ/XPnTPiunEEKIHrCkInKkHD6siPbRbEa2u9bHjUh73EH9ILL8U1gp4x6IXmJYITZXrGRH9bquvVHvxXN6CPRzdTRdg46U0sa9NPq71rJGgl1CCBEnWOpBz3ag5zrbnSfjpOEAeFZVJkx3B5t48KNvM2XYLL4w/UZe3vYEmytW9Gl5hRBiMDI9IYyGQL+t/6gaIMsMgq+hX1ZdVaXYtqMlthirAPZ5ClUPmzH2UimOFJ/vyKwnuv8OHlLU1HawlZTqt2NO9Ey3s8x68wFC3AVaG6RBIxkko3s2bFRs3hLedkopjFp/7LVdNZtYe3hpl5YnwS4hhIgTKnWHO9fs4EbcMSID5/hsPKurEqa/svUJmoMNfPe0X3HLyf9HnquQFzb/oa+LLIQQg07zu6W4l5b1XwGOoswu26FV2A8s73zGPmC06q7GOkJBxp5mVQzS+nWPBUqasILt9zFkRBJudu6C9RvaX45WX4L9wHI0b23vFlAMXH12zgzOk3EoX0M0dxV65dbEib4G9NLVPf7g1TVQEckl8G+vx72sHLMHD8Yk2CWEEHGCh9042hmJMV7mycPxrKqK3VCblsFrO55iwdhzmDRsBk67i0uOvYlPD71NtacfK3RCCDEIKaXYXbsZX8jTNys4ioJdmj/cT9ZASGezWjVjtLyhPllPT/vs2rYd/P6j5xgBMBoC+DbW4tvYfoAqlOLu0gLN4V+C3l4omTiSrG5eJ1Sra6oV6EHH7PEBk6PkNKyqUjQ0DI4PaytdjV5fkjitfD26uwpCvXfOm/XhIJcyuv/dJcEuIYSIEzzk6bC/rqiM+SMwa/0E9zUBsPrwB9T5qjh/2nWxec6aeCkAKw690ydlFUKIgaKxUVFermK/NzX17Ka9KVDPoYY97KxZ3xvFa2NwVCl6SXSglH7oB6d1jrSpWoJd/j2NNL1TitkUPOLl6ojddDOm/nVKd1T3d1E6ZfVi0FYFwxXK1hXL+Cy51pl67Yplxx9VZ9qQ0O3md62Oxab/Hux2GbQhcdx07TNs3Ayr1/ZRUXpTkmCWZamWj9uDJupKKTR3IHahUWZkoUkGA0uVBLuEECLCbAxiNQVxju082JV5cqTfrhXhXNv39rxEnquQk8ecHZtnTO4kxuZO5tODb/VNgYUQYoBYtQa2bIv8vlqx5vXmNk/6u8KKjMbVZ01B+jGzK1jmoXFJCcrsm0yr1k34lGYL/3Kk2hB2IHpMaJqGGemLxfImD8KtXacoK+/efupJM0anER58Js1f3u1l9KaDB9vvH6tXd2nkeNRsLZXVYJkH9/KK2PlippysE1nGUG7L1Q3BoGLdekUgkHy7tHfcBgI9f4CQsu7us1bXVJ9PcbisN8o8AI+hFLbRgOuzy1sHoZ537mff+0HC336/4r0PoLY2ejHS0Cu2YN/xepeXbVT5SNtShnN35EGD2fNtKMEuIYSICB4Oj8ToSCGzyzk+G+f4bJreOUTQ8LPi0DssnHABdt2RMN/8MZ9lQ/knhMyB9eRaCCG6q6L5IBXN7T+11+u8OPbV4N/Z0O11GFa4vVRH/Sf2SHvBLqX6JAMqvhLr31KHMlUsk6Y3rS9bxgf7Xk2cqIdv93dUr2d//fZeX2dXmPGVRL3jgEhdPWzd1r31DLiKZg/s3N1+/1hW0N9rzVNjWRS2luphcH8TwSoftupws0RLMrt65HAZ1NbBwUMt01IZ9bDkAGzYmNo6fD7Voya4vdWMcc/ecHPg7i0sfll9fwwFzQDbq9ZhpnqAp7CNBtpojPaDn2Lf92GvL9cbSfRqjDXBVOgNB7q1LOUPb38tEP7+j2WZmqrb21OCXUIIEREqDQe7nKM777NL0zRyzh+He1k5a3Z+gM/wcMaEi9vMN3PEfIKmn711W3q9vEIIkQrTVKxekzwzoN5XjTvY1KXlbatay7aq9ttbaJEMEdWDPluiDwh0rW9uVZUFNZ5yDjTsSpiuV27FvuutXs9Iia9Atq4Ubt/ReV8tvpAnpYcm9b4kTe/0cGZXWdM+9tftSKG0fSi2GbRYsEtZCm/ITVlT9ypIyfSsz65IoKavB4zsIrN1loNl4Nj7Hnm+cETQ8hsJTUKV6loFURmRrDt7ywe3ZTtBgRYIB4BTziTro2DX4cOKkgMDK4iQzL59infea1tOZ+R5qBGywAxX6OOP+/aOW9NMvb+0ZZ/Axz0Yj6L7zRi7v85kpWj5te/3d6O/lvLmA3hCKX4XphQQPHLHqeUzCJQ0dz5jXLn1ml1onpqerVip2O7RtNiQu91fXOwap+HdWNOS9atUt49LCXYJIURE8FC4I2RHCs0YAfIuOQYVtDjw3Gpy0gqYPXJBm3lmjDgJgC2Vq3uvoEII0QVNzdDQCLt2t31tfdkyVh16L+VleUPuzmfqQpCgdeCn1luJ3/ASMgORRfXNrappGmyqWMHe2pYRpfTqnS1PpHu5M/dos0wAK2TgCTajzHAAsvRw8n0Tb2P5ckoadnZv5dFmjAOgg3ozVjFq6UoMC1Ydei+lDJeUxVW4upwRMECzkjytu8oxQ1gWuELhkaGb3jpE8weHW+ZfVk7jf0pSX4GlwAigB1o6qFcqUsVUYKtqJrC3McXtGQlkmlavNdf1eBTbdsDuPSQNJHWm6b1SfFuSdL6vFLYDn6C5q9q+1g3bdyj27o8uOrGcNnv4p6tqHfbdbye8FggqjCQdceuVW0lv3I6lOu+jLf51w1B4N9YQLOvqIB8ty0gly2vzlnAAstcymcwQet3+pOXpVMjXrWBLtOxWypldXWvG6NtWhxFptt0XvBtr8G2swWxs/4GIUgqfL1Imy0Cv2Y3t0Mour0sZioZlAUL1FvGfMva1H7dt7Dvf7NL3TiyTyzAJxgXvlNX9TDkJdgkhRETwsBs9y4Et15nS/OkzCnDNKmD4G1mcNvY8bLq9zTz56UUUZ09ga9WqHpVt7eGPeH3nPwgYPW9vL4Q4Orz+ZoAdOxRm5OGove0lqsuaAw2pz5zKzamZGJTYWP4Jnxx4i/LmcNApPkjUm3yBtkE7vXZPyx+t1rtlq2L37h48sY674S+t20tJ/Q6CQR81kbp3TnbH7w+aAQyzmyMXRoJdWh8Eu7paATHjAx/RZoyWilWqo8vracX5YGPLvuzpyIzxAgHFjh2qyx3DWwdWYStZFvv7wAHFtu2dLyNhPa1nVxZKxfXJ1opRF0j4+/BhxZ697a9TGRZ61XZstXHZfypyGiuFY18NoR11lKSSgBeJZLpXNtC4pJ03+BogOlJoJwxDsWlzSrMmpZTCcocI7E2SuaNMNF89ell4MAzTMgga/sjvJrtrNhE0A23f147Slnhj2z7OFLiCFdi8la0mK3btho2b2+4fvb4El3tf8uW14omLazU1QbCkGe/qrgXxVEKguPNrRkVlOADZW5ldeuVWNE/Hg0N4POHMuebmuO0V9GDf+z5a3d4urzN6jUi5CWfcfEa9v8OArtZgEdjdiHd9Db4ttT0aWbBdofAyQ+XtBDaVoro63LS0qUlBIIUsMECF2garDbfCCoG/xAxfHGK7QLX6SXg7GamfO7HMrtangaVQ3TzAJNglhBARoVIPzjGZXeojpvFaxfDqQj6z7TPtzjNjxElsrVzd7Zv3/2z/G3e9dRWPLP8+P3r7ugHXD4AQYuA6dBiMXgx2hVKo9GUFSnAFK1JaXnxml99oSV3xhsI37UYX+s/SvLXoNe2nSCml2LsvXEGy4tpjJa3gtGqvVV5BuPlUN6+/ZsjAvtsEU+Ezwp/NNIxY5dTWyb4xldn95kWRPrt6O7MrVOGl8T8lHY6m2DomZLYKarX5nWiwq3tl8vkUVU3VNPhamuekUmFvmbfj13fuCp9TdXVtX9Oay2MBkzYaD6PFBXZ27Qn33+R2d7zC+D6P2jQhtAyUApvlR7M6b+K6bQfsL+lgBksRbrMYDnwp02rZIJEfphWuMHcufB9l1LdfLvuB5djjAoAdKa8Ad6t6fNKAYzB5ZT/ZIAiapzrciXar96w9vJRlB94E4FDjbg417o0F37uqdXDKtKDQszb2ACI2PfJ3bV2rz2SEt5+yQG/00fRReZt7QNMyY31NVcfFiIIpdBWrearbdFpuxS2/S/13tdPGtcsjhrZurp3kpKyKfM7KuDieFtmPmq8h5VUZDYHI9owGuzqIJiaUI/xZrYCJ+6NyvOvaNgeM7ic9MriE5QkHWwN7UwvwdoUVCJfH9Bj4ttRiBVt9DmXhiySW+f0kXIsItZ9x1vzhYRpf7+jYj2vGGL1IdPPiffiwYsUnkT67Wh9LXWySHU+CXUIIEREsdafUOX28t0e9yaGxh8n4WxDLn7xSNmP4SdT5qqhwd30Y5qZAPU+ufYB5oz/DN0/5ORsrPmHp/v90eTlCiKNXLNiVPAGkS6IZDh09FMjy7ycjlMJIdkYooYIU30RyRNYYAEwr9Wwm28EV6DW7sO36b9KgQzAIbnc48yLaXEVzV2Amyy6Jq/Qo0wClyPVtb7fZR1Ozwutt/2bcv7cR20EL22ETZbUMqx6Ixg47uI+3lBXpfyn1imdCJbWPmjGGKsLBSbO+/QBo61Vakdq/pSy0WAf1La8bVgjTMrs9yuCyT2D5isQ3W8pCayxFr+i878z4+lSyIzwaNzSS1Ilth9ehN5V1uPxoUzlXWvjvxg66CAqFFOVxMeM2h0hkO+nKYGTzRx2uNxWxjBMFja8foPn9w6DCp6gW2TBGqrHnWLdnSQ5sX31CllsqPJ7wth87pmVa60CS1lyOfd+HSZsjWu7IgBc2DSvSl6DWFL5Gad7EyGV8H4YN/nAQI83mSlquNv2otXk98W8VCgdyWh8/LfMlLk8LNMWmOnZXEaz2o0KJx/fasqV8XLIEgEOlkJ8Xnh5M4dJpO7Qqyb6ID3alnlnb3uWlq+dyt7vKiwbJbI6O54vO3hDAvbQsHLCPBGXNDoNdcR9ExUV/IWnzwWjgXjMTP1FXLsN69S70yq0dzqMsheUN7+xQmYfA3ib8W1tF45UZy1RVgBafbdXBZ7a8Bigw6iIBsdYj/VoWFbEkxWiwq3sX7z17QbMUdrMJu5F4YVSW9NklhBA9FjrkxtmFYJcv5OGTQ29S9dUgRpmXyl8lHyon2m/Xtqo1XS7T27ufpznYwC0n/5QvHHsTE/Km8cq2P3d5OUKIo1e0YtVZ9hBGEK3hUNKXgmYAT7CZoBm+6VVKtT9yVVxrBstvJm/iYRp4Dqxl2bJ/s71qHVsr1vLq0i00NSvmFi9kxoiTGJU9HkN1fWREzTJjQYfDh8PNXQxDxSrqmha+Sccy0JvKUaUrknyGuDJv+y/DPGuxW752M0dWroLln7ZfpmigSq87iF5fEpkI/kDs13aZkey2rtzsx1dSVaRJmd9nEgj2QWZwB7XTpJldlhHeHpFgVyjUUlFcVvIGnx58q8dFamhMzBazlW9MaYSwhFY5SYRwc8i/glCoe81rbaXh/jujQbNkgQDTVBw8FBcIjZat1bxa9LgwFHqk2Z3WXA5BD3v3KWpqOvgkSqE1HU7s26xV4MbyGi0vR4NdHQRQyqv8HK6IZAkpsPwtmZCGoQhGjj2tuRLT3dD+gpLweiErM2GgyDbbTvNHmmYF2kYQo5ldylQ0/Tfy4LGjvtksA9My8QTDAXgrSVbJ4TLF+x8S6wdpzVpFaWnifIZJOHMm6OGDDxWH9zUlrjKyUw0TdCtAtm9HYiZUXJaTZkSCwK2K4g40YimLmqY6giEYPjw8vaR+OwGjg36iIuvWzCC23W9D0IPlDRFcUUfaeyE0d0vzYu/6atzLO3mA0U4GV6oJOUqpcKZv6zckWUDSZy2xYFdqXZFY/pZzOLCiPjyto2BX/PddKgGdaLlbb5cuZCjptbvR60uoqlJ8uDR582kVsuKOJ9UyrdU6Y8Eu1ar8qfQ/Fhk5WAUD+Pa0fCcfOqRiwa5YB/WtD9AUg182G2Ba5Pj3kuNvlT6qupahG0+CXUIIAZhNQczGYMqd0wN8cvAt/IaPEy88n4KvTKPmiW1417XtZ2B83jQynTlsqex6v13v73uF6YVzOSb/WHRN5/NTrmJr1epeHbVKCDF06VrqzRht5RuwVWxKGtBZXfoBKw+9m9B3jZkkEGVZKqHvlqa3DuJelqSSZIXYW9XIgcO7afDXUN5YhjvUSHWlg/z0onB5dTtGCiMQdiTaf47b3ZLpkGbUYfmaiN6Um3HNOOrLLXYvN6ivbRkFyjAgPVSJhsm2rSHq61tu5ivdpawv6zhLxb7jdYgE37SAL1YVqK+18EViAx1lP0SDirFmHCFvu0HJqOYPD8eayzQaHvZ5Sjl4wOq0I/yOGEarylYqlaTWdS5/E7aKzeCtiQW7Wu/joBnodmZXVHWkVdGBg4ryDdu6tYyWylsLj1lNs1mON9S6t/g4KWyXaMUzWR9MVVXh5pI7Wo1H0GaxloFlgdoURO0xwAigNVdgK13Nvv0kZIW1ptfsxla2Ac3dMlOsgpzQWkuF90Vkv4c6iD2/sOINXlz1ZvSNWEEVOwBWrISlH4f7PDuwP8T2HXHN29rZXpal2LdfUVOr8PogMzM2sCiQZNtFs8mSLK91IC/xxTbtQ7FVbMY69Gmsgp0sCFJZCaX+law7uI5AQFHfANtb7TPTBPve97Dv+xDDhJA/fBFyO8ckrNs0IDuwn2z/PkLe8LGllIqN2KgsKPBsiAS7kn+WmsbwdTs7G9C9HGrazqHGDk74uLaUmhlCbyzFt7kOqza8Tr3aigXYgwfdGDWddLDeTrCrs3O5qkrhdqvwgAqvldBxuDlRQiZm5DqiUszsSnxztBljB4VNEiDq6FRvyexKrTgd2bUnfO61DoADiX2AaS0j3CbOZMWeSSiLVsd8CtfxyDoCuxsw4vpJ8zYaOPbVhDPc2tsYKQb3wsGuduaVzC4hhOiZ4OHwTYJzdGbK73l/38uMyBrDccNPZOQPT8AxOpPS73+S8LQIQNd0phXOYWfNhi6VqazpALtqNnLWpMti086eGP79oxJpyiiE6Jyuk5DRhFJozRXJb0DNICHD4EDljjY3/dHBMeIzBcxW/WmlB8tRoUBLa4ZoS4+G5AGroAqRQTanjP08xxWdAoCTAvA3QchLdloehmXQ6E8yglorVsCk7oMAobrEcqenh3+63RBNIMoMHEAv2xB7Um+oSIVSKQ4vC+Hda7BpvcHqNYr164IcjrRMs1terJDB/v0t225r5WrqfS0POcyGAIF9cZkl0f5wGiPZJIYWu2nfsSKu8tjBfXxlTZD9JSpW4bYdWhkOSnYwclio3o9vS7gpy5ra9ez3HqbdHqSNALRqypXMB0thbbIBEzto0hqtc9lNT7iCFQgH4JS/ITYao9G6AyO62e1LyEtecFf4/ZGP2tQMNQdS76A7of6b5GMpLXwQ7dpjUVEZCf5ZZmJTo1bnjtvdktXUWrJgVzSgU9/Qat2ty2IamEZkqtuCSCA6EAjhMcPRvp27FIeWlOHe0bIwpRRaYzRYGlcVNOMq8KrlJLbX7iC9Mjx/ys0YlRVuHRVZji/SxLeyEqorI02uolli7Qy80NgIe/fB+g3g80FaWuI+aRtEaZWpZQTDzZnNULuBGIgfuCGSrRpZsNFcjhUJ6LeX8dNklrFm5wE+aife3aapZWR5BpHso0gT5bLy8GsKhRECz+qq8EiakWusURVp/muphMBdKC5Q7PaE58nKBN0RXk6yfo7qfdU0eGtZuzp8XWmhwv21xV0nUu2zy7m1vN2AYmfBro2b4dOV8QMqtDnS27wn6RUn9tAitYaQCZsmlvXUUbAr9cwuy2dgbHOHV9Imltr97Nr4Mje+fiD8gD0uiyt2frTeF8pq+YzRv+Nf62y9kWCXanUBMEubsVU1Y6toiq27zUAoXcjsatNXV9wiwiPDdn3bSbBLCCGA0KFw+rtzXGqZXTWectaUfsjZEy9H13RsmQ7GPLSAwJ5GKn+9oc380wrnsK9uW5dG9Flf/jEA88d8LjatKLOYSQUzWXu45/1zCCGGPt3WUkFVCrTmMmyH12Lb9yHEZadotXvR/I3sWF5K6WvbqK0uj7xHURfXabJhhbBHRp6ND3bpVpBhnnXYDq9tP1Lha2gJMFkGQQKkqyyskEWOcxgjnMczhknYSz7GVr6JosxiNE2jNn7kMjOY9OY52km6/2CkQhK583ZEHvI3NIYrVdGXLFMBimBIcfBQiO07FH5/+AF1Xh6MGRbJEjBCWJhomkKP9B+WmZEsOBP+zM1Ly/BtbgnORTtNVs5w5Vbztdx6Z9Q2k1O2hRFNSxNu4ZVSmI3B2NP5DRt9uD1x/QNF25J1UImwIjWsYFxwMtp/UkVzYv+RtpJl2A920AYzTkN892Yp1DuUBZoKMbLpQ/K9m7FiTTL12D4yQ22DHd0JdtlK15Ll2Y3N9LZUsJWF3XTHRgfsbMHhl9uvLJsqclwoi81b4MBB0BrimqZG1gnhLKam3TvYsaGesvLEqEe0fMmCXe3t1tbTt28zObg/fqHhhe2sK+WA/2OClodgEA5u9uPZ1BLMNE3QosdFfHNXq1XgI/xB0UI+sgLhbPL2gl2G0bpyHQnKRAsd2e47d4Me2Ya1dYRH02vnvigQBM0dQK8PX6fs9sRmjJ+uDG9jAK9XtfSDFe0YvKEEvaksvG+S7ve2fcb5qhrR6luuUZYRRKvbh7bvg+QfvBPR/RvrrDwS7DJjwS6or4/PmFMYIYtQWfi6YTUH8O41MPZHgm6GmVDegNlyfvuDBroGDoeG3WaiDJJGbNeXLePTkg/xbqqmuSax42/NaWvZVGbqTcf05vazvpQiEnBMMVLaSTPGKvdhVla8QsiK61g/4EZvig6D2c45boaw7VsaGwG0rkbFmjurSGZXh312tWrGGD8SpOauwvTUsqd2C/W+ampWlxDc34xWZ6BX7QJP2w7s4737XicXvCRJkMqwCB5yY8UFu6LnsDIV5eUqPPJipLyxZoytMrs0f2PSfu6iy6qoUOzYGpk/ug8j9wDRfDFnoB6NxHM9bkFJP5LbrRL6vLNpCs0b913QKpNu126LLZFnCqEKb8od/UuwSwghCKdoAzjHdTL+e8R/tv8NhcVF06+PTcs6bRQFX55KzZ+24V2f2JxxWuEcDCvEvrrUm1NsKF9OYcYoRucckzB93ugz2FK1KpZpIYQQ7bHp8RUuKGnYTWWgFi3kxb5vact81TsAaGj0AgrDG66AHjoEm56vIvRpS4aDwxbuXduI6zzetNx4lTc8elj0HjW+Jm8GsR9Yjl6xCV/Iw87azZiYZNVk0Pj6AUyvyTDHZDJMX2x+m27HptkSgmr23e+Es7Jaad3ZudLDUa5o5Ty+SVcoBM1uCywLrxfqmwxKD0NpKeDQSHfB+OEmJ52occIsg0M5awkV76YgL67C2YrCpC60lyrP4cQXon3+OCLBrkBLZhcaFFt7ydTdseCHFTDxb6kLN0P8eA165VYsop26t7wvvNIOmnxEKgrulRU4Voe3RfSJ++aKxP4jtY769YloE8xIWED7LynAMMOVkjSjLja6ZvwT+lCSpqrdCXapSBadpoKx7ekKVaMA5cqJzNRx5T2hMpmkENEmlyqyT8LHV/JMlBUr4fDGPeRWf9ImuyXajV20/mxYodh2SNbFHbQkhISqfTT8ez+N1QGIzxiLLKw5GBk4IJKxaFmJQSrLTPiQcYWKnjxxH8k0wn9GgoXtBbs8rVs+KwUmLds7LpAWDRrX1kLJgZbmZ60Fg5C2pQznznCw225PbMYI4YxNCPeXt2NXtFobqfBH+24yAm2b0yYE9iyUpTB9Fo0fH8K5NrwdgyqEZYXQ/Y2djgRnN91Jjy0rGA2OAspCVyEUGpbmCGcFKoumSFdjmrJQgBl3fWn6sLolgE8ksyau7PH3gSHDwB4J7uv2UHiftBf3aQZ7ZSNqfyguMKwi53Kk+V0wxQ7qk/UjFbe9TBPse95JOihB8pEaO97Wle5wlqHfaojNqgWbY69ryqK0cR81nsTm85qvHgLN6NXhtqbbtlocOgSN/lpCkWOy49EYW/bvgQMWK1aBJzKaqlFdwvq3X2d/3S42lC9nZ+V66r3VYPrDI2n66tv9eOGMpdSYFhi1/oTs4YZak6oaAxx6y7ItxZZtsHJ19G8z8Wsj7rPYKjbH+hJMKFckm6u6Buqqo/27RZrUu3LDP23hpRY0bYp/Z+slha9NZpCmJsV7H4QHc/l0Jbz/IbGgoa20Hi3+uzX+/sFSHDocOa9ReFZWxjKXOyPBLiGEAIIHm7HlObHldN6xZXOggf/s+BsLx1/AiKyxCa+N/NE8HCPTKfvxqoSbqamFswHYVZO8E/vWlFJsLF/OnFGntRn17ITiMwiZAbZUtv1yEkKIeLreUp9tCtSwr2EX25v3hSdEOgvX/A0AbG3eG55ZWYSC4QCI2wO2Og9EbnaVZYQzu3yKYE1LZthu71tsMzaHK8WR++iN7za1jFAYaaqkuSs5VObF57Mo1IvIbcoJt/TwRF6PBtAi/a7omg0LC625HC2SPaM3J+kDLBrrilbYIxXdpJkzCiqrLPx+C8MAu9MgIz3cWbxmB49y424OV05UJBBUZzQwdrTC5QIzmFjjb25WKCwqgpuodpdFtlOkwhh5om+pcAE1n95SHzFBt8JlVyqchdWw9ECsIqMqDqPXl7Q0pYr7TmlcFcS/o52bfbOl+VGowovmiwbKIs2zWgUsQpZBs9F+H1Tl5YrVScZXiR5X/p0NNH9wuO0MQI23lD2+d2m0GlBoUB/5LHHfa2ZPmjEqKxxgNYKxke4cmh97qAkaDpIRKqPeqqOCaMQ39Q50PG7YscOCuIpqyAqvI5o5l+nfj+ZraFN4wwqxreEt3FYzRkvLuNjr0bpmtG63pvQDlh14I/aRkn7UyDbxbqlBKYXe6IdQy4ZqbowGpKPbttWCIsetFTcgQHy2TeyeRcX+C49ECnTWNGxL6wHjlBXOLIprDhmlq8RMvobaQGSWxJ0eDCau1W6LdfOWME80O6SxKT51hZZR+Qx/m4CMClnEp7p4dxo0fRLACHpiGUI+MxALICbL+InFnq0QI5uWkufb3mYe0+9JyOrSlIHS7Cj0yDFhYZqQkW5RWBjufd4ImhBoQi9bj+ZLbMJtmYnBLl+oJcoYNCzsNjjctJ9K7x4sE5rdJGUGQY9sp8RsoZamYlpAtW3OXtKM2dxy/Cil0AJtMzNj/c0pheauDP9M0hdksutz61hJsDyA2RSMjaLpsDmxFPitRnxGJMhlBBPev6tmI5sqVuDbUkvDv8Ppjz7Dy/s1q3jn8FLW7d0eeSigKG3cR7W3LHzebnPH1tOaFncMNNRH+1pT+HzhZqj1QQ9+H2hxR61mWeHTMOiO9YUZ2NeE5W6OnXtJt0EruuWPzeteVp6QPbxpvcm6A+uoCLRk7LZpUtq6GWMHTeBj4pcRjcDHDno99r3VZt5W57GmLGylq7HvfocDB8PXwvq42N+KVbB3n0J5W30PxF0nVNw1qaICarydjbbTQoJdQghBOLMr1ayu5zY9iifYxPVzv9fmNVuWg5E/modvcy1Nb7Z88RRlFpOfXpRyv12lTXup81Uxe9SpbV6bOeJkHLqTdWXSlFEI0TFNb6loe40msAyceksHvraKzeh1+zEsgwp/pKmFsggEoxXQyHKi/XGUrcNVvYu0FQbe5eGMC3/Iixbr90prya4yTdyR+k2oMlwp0SyTbTuhrk7hjGvKE72XjlWEIyvWNB2lLNSBtWx7b0vCKHvxwjf3WkugIC4Txd4qG0QphdtyY7obMQzQbRazZ0FxMeSNClDqr2RveTjTLRhqqS2GLAObDYxI0EApxeEyRclBCFqtKnKmCncY3liB6VOtAjrh1BnTit6IK5SC5Qf/y/aSlqhSqM6ieX0ISxnYLB9WKIgyLJTSCDZaeLbVk5RFXMfa4Z+HDxNrZhJslUizpmErq+o3J18WsGUbsf3YZlWWyf5DW/DVNaM1V4b7W4tzuGE7wzaaWE0m7Arg2GygNetYqNhxYibpsymhvuSrR/NUJ/yL9oVmO7gC+553sO95J3acp1s1ZPr3oprDx/Mum8GWxvD+1HwNLf2oJRG/3qZmaNyzG33/8nATXFqy0ByO8MpcddvaBl+VxYadlQSVmwor2hw4YYaWzC4r3CG/NxQOiriDTbFYRvGoNoslWOpm9/71VHsOY9vXhNrfclxVVRiEgippPM+yQIusVIXiM/nighlJgl2YZqQpqklG8BB68DC2NbuxlEnI8saCLfHHVFVV+PhWZks2oWYpdCuIbgXaBLu2bDZZ+pHi/Q9I6NssGIwbQda0wpldrWqulVUtwVub3qpCbkWzUQLJg10RvpCXUE0kEBw3kmNloDbWx5bVQe6NjolSCqfREnzOjSQSBt/dR9PqEEqB3WxGVyEszYHStFhn81bQzzDvRtIc4TCTGTLRa1tGo1NKUWlUYSgDFQolPEj1hpqx63bsup2gEcThgJ3VG3DmlYGCYCB5kNIMgBbLGI18jrp94POgUKgMDS0QF4C0DDANfBtrCJa2XAyUAr0pMTO0wVeDN5LRilLYq+KuLa2CLMmb8SYG2Dyb3DR/cJim/x7EX+rGoaehlKImuIXNde8CrbMD4zLf9kYeHBgW7mD496pqjbdXr4t86bRky+o1CnO/F//Wdh4ixJU9NrIosG9f+Hev8oS/b+MDhFYIzQrvA71mV0u5Xn8PW+napNsgWRbh8Lr3WhchvG08CivSDLguFBcYjezUPO/WcBcFHTRjbE98x/f2iib8uxpamrVGvl+jgWZlxAWmkzRD1by1kfKb8W+P2bcf3E2B8LyF4S/s5vpAS5+EcdnKNbVQWudoG/luhwS7hBCCaLCr8/669tVt48Utizlv6jUck39s0nlyL5pA2qQcqh7bFPuy0DStS53UbyhfDsDskae1ec1lz2DGiJMk2CWE6JBtw0HsNW6UgvTg4fBNsWXiVQZN+eNpbFSx5ml+K/7JeDizK2QGqfMnZuwoBZmmBUojYPhRpsXHe19DV+EKT/ipcXheDSt23+v5JH5ouGigI3yzGgzBxkjSq67Cox0GyoIEDzSjazqWUngaFda6AFU7TUxPkht1S4XvoFW4ArB+g4nHEx5JMTe3ZbasDEWFVU6z1YTVWEUwBHaHIitLY1iBRsAR6b/RsGMpi09K34+9N2iFsNnAjAzruLN8D3WReFPASgzyKEuBGaJxRYjGFUHMuBqNlW1imZH8iWYLc20QtbcO+8qWjvKjQg0WFia5vh3oBzfS+PoBmlcHKSuHkpLkFXDNJNbJdLTipYhkJiiFxwNvb1rKv/5bQjCo8Eb7/Ylbb623Eo/fy779ietwxg101uSrZXv1OtzBJqo8pdgOr8FeEu5rMhhUHCpVVJf4sYUsbHtBucMZcIS0SK0t0gQoSdu4aH3XEaqjdPuLaAdXYDu0Ku7fynBWoq8eK3sk5ogZGNnhEe5cKlxZjVYMLd0Ri5LYSldj3xvep03Nim3bE0eYjM8gAIXDbE7o4ypkhdCAefPCzYLaCb2yu8SNpixcWnrC54muRA814zAaME0SvsvdgYZYPXTaVHA645cK/oOVBJorCBj+hEwTCHdwHgyBMmMh1MTtGflz1zZ/S39DcbXnaBAlGMnitCzFnu2h2CimerCMOv8nVHnWU2/sY7fvLT49+DZKxfWXRaRvPGVFAtAtbagLvBsobny3TbBLJ1xuS4E/Lm4SDLaMIKuFzKTNGGurggTWvY4rWNES7CLch1dJSTgIhRGk9eh00Xszt+Hlk8pP2NV8kJAVxPDWoGs6x2SMxm14Y9sneh4ZzUEa/r0foy5+cAkr0tS4pfI9cXz4ONH8XkxPeE8Md6/AYbmxNDtEM7uUhT1Qh65HsnBRBCu9CctyG14azSZq9Zpwpl3cR/GGmslwhh/UVnj2URMKB3WzsjQyXWAaSQICpsKx00RTJhYWFXHZY1rVPrQCB1aBgoCKZTDqlVvRKyNBq7htWXoYAhUlNBgHKG8+wKGG3Rxu2k+NER4F0h5qZv/uAEFnYfgNrUYxTdYsVsU1mY6PyZiG4tO3A1SX1JNRu4F87yaINNnFDKJ0B0q3JbxJizSzs7xGLDsvfIxpaFb4eqQ1lbY0N7esWFZUWdOBxJHP45YbCkbOEbMlOBdSQdI2GKS9H3d8G0abBMtQyIsyFZo3HIxvHezqqEP/1q/V1LZkaqpoZFgpKNnEiMalZAVKwl0UxI3GaKkknci3otWXoAKJQUz/pnK00kj2YiRa5fQexm42gUF8tCtxYfHrimSMJ8SplCLHt5NhTWvJtB2G9PCLNQfrOVjaMk/89UxTCltu5y1xQIJdQgiBshTBQ82dZnYdbNjND9++llxXAV8/6SftzqfpGiPuOgH/1npqnmjpo2ta4RwONuxKSDtvz4by5QzPHM2o7HFJXz+h+Ez21G5OaZQyIcTRSXMHsO2uRispZ5hnA2mN28NP6HUbK6s+5eChcGYERJrsRDh0O8GQn61Vq9jbsBJTBWM3pxYWuqbjsqXjNzxYPhNb5RYyg+G7UqW0WGXIafx/9v47zNIsv+sEP+ec110fPiMifZav6q6qrjbVlkZIQi2E3IIEA4sZjASzzDIPLGZgBwaxCwta9oFlZmGZFVoNaBBIGAlJtISkNpK6q12ZLpOVPjMyIzL8jbjudcfsH+e990ZkVbca88eiit/zVGXmva857j33Pd/z/X5/B9gHzYkA5wxiYm0rjpmeS1fSvW8ZvTZi9PIuwkH3QHPnir9meV1z+MXyLVlv/Ru8IE8dN2/5l/n9rl9I1OQAaX39rIaUEcIx8cqJ4iOgQLXQUVZ5f6YjMi+LRSlIhxqtHbcOXiXSB7TS6xiOL+CLWz3SN/awhcNoR3enpN939AeO0fm0ArTcxHPJ3N5DVgDEy+tfYnc4NQw2Y3ZJJfMwQ39cnn0tcye4dduyuzfeDa/6wxwyk11mOIQ7W3tspZ9jcGP/yNrEVU1peeX+5/jVq5/jxs1xGQp6en1i+A+w3rs5+bt4YEnx8iuVlEmOvYic7/P80MtfdjSudwC6QOu3YXZVfx6WV7g+XON2ew59/sPo8x/Gzj+MKIbIXb+gdp2zuNkLFIvPYEVEgF+4ToaeSHi7Jc/GOqxveN8oANG9xcLmzyGOgH5OTEEJgNLkKAVSOo+tTiyppn1htKV03jBJ4dGZo2QHay3Lvc9yqv/rGOOZXUElubPOTpk2ElaXj7SJhWzjJWR2gDH5MYnfurnHnr6LteCMqIA4e+zc8YXTg/60zs6SXTtAH+QTKZItPBidppD2NYfV86mZPgulHVX95PilXwExzFn+qkaOmVnOM7vyMmWQH4KD0PSq/gjYrz/NMPY2EO9/tuT9762ue2QoHAW7KA0qeCuZIzJd0hSaxdoU7LKG116HjXVLnleVf3D9XTG7clsg7wvysuDq8A666BEIxXw0U13L13kj22Gzv0ax6d/fyvXhpE9VYTGpnviaSZvTXPtFZvU1XOFZhE57SWBerFUyxorZZUrCfM+DXUIgBBQv7UEQT8qqln1/OOVwxhwD7q6v9Un7DYwzWAuHZm2SQCQOoSgF99Y9qPvGZcfrX8zY+5Kh2HMIp9mw93i9f30y/zsNlF3E4RVEXk6YOMcAiyP3v3IVDtNbDM0uh9k+/cIPFoUfz3HFdntzx/e1KEY46yjvDyl3UrIbxzcJrLWkR5iXrpx2eFnJYg+2+5PiTPwGTYE3LDsOQYvEt0W5NfKZNo8W31iEKxBGI7JdisJx/ZZjv+uqMr/ImzsvTgt3BFwelodcG/0CL7xxZXI/jUF1xfGxpksPdlWDpZd3ubrzEvu6h6v66UELyKOA1uiapv/S9KHIdXHMK7PIQYoMqwRmLF+2BnROcO/AXz9ocVTGaMdeeg/Sq8aRdlFbryM2rxz7WB7coaiygo7HejK6Szu7gbNywhwrcsOrr03N/70XXHWv8q1y+aTconX3Cq6EkP5kqs7MJmv919jddWxtVr+X43Bu6tP5G8QJ2HUSJ3ES7/jQ2ykut1+X2XVz/w3+zM9/DzjHD3/iJ2nHs1/3mp1PnKPzHefZ+n+8zOgVv3vz2MKzWGe5vvfa1z3X+3V9jmdWPvwWv65xvGflozgcX9184etX7iRO4iTe0SEEiJtd3B2N0ynCap9JSUif9c96P6c7WynaOM7WlmmqBv1hl/3RDg9gON6jBc8wzUxGcXfwgGph+rJfKzdRY0De6QljqZHdBBwC4X2cjkSnUTDqTdlN8lB4M/lqt3+cLc896OK9fxesZm93XAovv9IG5vc+w3ubn+KxR0FXKwtVvSjPdKDdPlK/6rJFmVaZzqaVM85LqYTT3Lrlv2nmtwltH8xxadzeq2v0Lns222EPdtYNB4c+w9z2oZvs5rc/FiObgmLMjHOOrS34ypXb04v1BkT7AeJIooGqFdD7GeXOPehtUJYOsZ/i0gGjzHL/PrjDNcinGywh+eTei+vXGPy7TyK3A9LM8SuftmjtyPQI5xwHwx47xWWujv4d10e/yL38i5SVd4x1ltHRbJ5CHFuEp+PmsOAhEYuyGdpaRCmwrxSUX34JuXsFMwa7TI44XPMnjetoR2xuQhm3cMkMuZzBzpwDISh3r7CWbuKSGUYjx42bMIqWUaqSawb+d9qIEG0gTY8jHko5pM05OKj+vV1JHSs2UmgG1IsNrIWt4QY39y+jXYkQYKylEmNyUPb51O6X2K8W+sOBRbuc2Y6dAE7HsIIj/jZaO4zVLFf+n9bZybFSCh5+GD7yIUiKTfZu3Wc0GOEihzmSlbRQJTkZI9v1YJf1INFRsMscWXBHuksmEy4PbqNNQfZGl8FnNt6SjVFKEEeAyDGzQikm4K7RfswGG4fUy31a+1s4Zzk4sGQjx7XeDW4fXPEyJBEwik6zMfNtMHOWbv1plk5JosBMQNQXX/b+PbYwjAaOOPbPqdobes+uB1aukemTpWBdgOpXgL0zldf6mFnq3iKtGnt2GWcJrqlxBRnoEbGKaAX1cWdNzrm+99oRzd903lr4qsVeLhmjCcpmCAEtt4UrCzJT4+CzBes7a1wxl8kwUIGo5nAXgUZWDKQ79gbr+9uUWlKOpXJJdSMlcNbgRj3WDq6xM9xgfStl/XbHz+UGQqUmCUTaDT/PDQY+GcDejqP/6Q247gHVWBWkLsW6qSeZtQI5WIPIgS2x6dsA0eOMf1WbWqtpxMs8vvgenlh8L/WwOQG/ZSUv3OjNc2/doda/TP7aGsMvbjP6uRewn5oyZ8l7bG+/yBc2PkdZgYzp+hHAtsI7zDTvH67qH6GLyqdRHOtrGftyZG900fmUvSzwmzJjLyxcgH3TVmP3LVWmqui0qPaQ0o24e7A2YVhaDIoKpBzPX8ZQZGCqNtsfbYM1aKEnGQ0ftCwc30b0t8juGc/urcbC9d2XWD+cbjJoDUlY4iQYG9DPDxkUhx5srhiag75hY0OzU+XN2t3z7eYepEmO2yavdoHs8YdNxEd+q8cyxnGmZyTOOnTfsvsz93G5Y6/66S9yw8uvBwyHDlekBGZI/ebPkZTeBkFuj3B3NQwtBJUXmJDsmg20S1m/b7h50x2bz3B8wzLGb9zd6yRO4iRO4jdpFHcq2crXYHa9ufMi//0v/D5qYYMf/vafekt2xK8Vq/+X50lf3eP2H/xlLv2Lb+Ox888CcGX3Zd69/PzXPG/t4CoH2S7PrrxVwjiORxbeTRLU+erm5/nYhe/4hspzEidxEu+sMGhC/ALGHRifacoanAqwTLMCFjlsdjNGsaAhGhz0ZtDFPhAgiiOL3FsGoSXUBEoGWKvJrx6QNBOgAkGMAQu5ahPpwwkoJYzBlWCVo5ndIDUHIJar73JW9n+J7p3HqT+W0dUeEBCA6oOr2YkaarLeeECWJLe9H8r4/Vc4R174xYBZ07QvWmbOCvZivyCe60B7BYKgOmGcZa+6QT895Ev3PuUNhsft6SzzcyAHmttrcB8IRIh0BTwgY7zdvQLliPetziAPHRQGKpaPBQ4Poe0cSoEIxWS33gGDFUnZFNieQ0pB/Oo29d0EMw/UwDiHdiVgOfyVNba5ihBw2z5L89pd0pbG8agvSHpAOsakLNR2Ig5bDpRAlpKdYh+RSw4OYb5jSFNFqUZcv+EN++FN5mbh1JLPaDnOpvjK/c8dW1QKIXzFHgAjhPOgnNdReqZdaAXkA6g1wWpcfxvR2wZTINMDbNKZ9LOymkIrrBBs3Ic3LsP735sw89C38OrGZ9kPS9o243OvbHJvf52z9Q/SaOX0U0VUa9JLFnEy5NoNyRkL737XtGzx3musHq5xT3yC9XXFeefBkbHEJzT+3cAYeH3vFVxtDmsdQnggSUmLM9Atfd93yx5zUYcscxinaSdu4vV0dLgW5VGGVIlzjlgl1XEG60AaiysFIpSEoWNh+BUYwvZWgWtbtM2JqmtnqkIWheHy6DqDTKM6i8fYZl665A25Y93llsxp5rtE/Tt0eHJ60LjfeusQn0XpqbS23XGMStDFAFceIETFSnEZB6OX6dhDEp1hMVy/7kjWnG9L5xtRoLFCsbjg23SUggxCsPoYY/DmLYheWsf1m8RtBXuaYLNHEMy/BexqBH3SAcj7A0RPYM5bRFMjpX9ei5GjeD3FLB2XZLnCQACl08fGsbaG+XAGKSRPtC4xbM6z1t+c9M1EYizFkdO8jHEz+yJSBYTRI378hILhSNPLmyzWR2RyBLOQBnOoitllRh6Its1lnNimUEN2i3XW11cwcpaLT69glrbxsw0E2S75rfvcWEpxsUfpY9lBHFrCbUe0EAJ+jms2BTNn4OK8YOajAr2fM+gKzJaf806VBTd2fPUncmcjcIHFRRXjNNNQHm87HNzuvklpNNY9jsNiZmsEp2rordQbyOPr5T3KFEEUkQ+h2DFweAV4BJF2vWRQWwK7zs21T/nNFCvYKbosiwXyNQMV81ZrP4aNs0gnAes95coc8h5F2iKqHQe7CKYDZms9o9evJiIhEMZOGL+UIVJXssavhaEcYXaNk4a4So7tnMNgCETE+LcQQOeW4aHgoIT5+SPXKQSjm5boIfdA0kHN69sv8vjyU+SfegGdV4Bv38KsoxilFHb8W+Xlw3HsDbOslaz1roLVvMvFYBxuQ7Pf0dwrHeMt+sNDy66zzLQV0YO7WYAYSzqln5P0sh9nMhYMth1SQSiEr/NEJispXszptUDWgJ5P/lI0BIPYYkXI7l6OkDmROcA6qBWbZOEpZHe6UVRrK9qLsHVHMWEa45MyHPvFn2QO/Y3jBOw6iZM4iXd8FGt+Yn87ZteV3Zf585/8PczWFvjbn/gXb8m++PUimE+4+OPfyo3f/Umuf9fP0/nEOf7w+h9i9l/mXE1/GhFJ2t9+nsUffBKZTKfjsV/X1wO7AhnyrlPP+wXHSZzESZzE20Sq90iCGabyNONftEXEUVSi1GBdgbQhO7tA0SUfOqLUUbttPNhlCuTrJUFWR3xcoKTyC6T0EBtWDASEBy8c3Gz1ifdu8IitXLadody1yEXPKJNunGpNEJQ9CutIDjYxt0YQOay1KEBeLZGny4nviXN4utqDCr4xOCIcWTBPmB6QDh3WCvobfcJhyPxvcSwsFQz7eFRMCeSYn1N5v4zX+2LCvrHMRR32i0OMM4SRYHFOMxh50/Z2BXYJU8kvjryAm/OWN+vXqbnziFyDUNjH/EIoyx2n7TWiOEQkAjfwss4Js6wjic6Dfr1iLQCkAmqwPtpize6x4B7DaguBb5eN3ie5qCFbD1D1SnanLWnu2yfZjkh2IuK2w5wWOOlITTZhIbiKEZPqYQV0+Vha8qCglI7SFBQ6o5vu0AhqaKbsriNKmUmIKgukRRCGoDOLE+64rPVgAznYx9bn/Ac6J77+b6kV78VQeM8t5yZ+Tmt3YebdEaVUIAMGA8PlnSPpIhszlEEbbUCrxrgkPBjB0EtvpdO88abi/OnxkccHlzFMFtDOq2VxznrmEFOGyzgL2ygtMBRE4ZTZVRSO4dBxoHZ4ee1nWXaKSMSkRUExckRLSXV9i8kNyVfWGCQJ5fsC8rLky+UXWBVn0KMhjSWLTUsPIgJGVm2pfP+V1lZJGaZtbCqLtMAOkK4kUw3iviQ1hs74oCPVFmmX8GCfegY9e8iu2+GxcIFYCOLRLp3hLv3mIxWzK0On91ESpBa4MfdmooAzaJshhMahPNt0DEoHwXGwq2rg21cMYrYgmZn2m5Ie/D0acaDRDvZGN5FlwFfv70Gwxe1RgSnuwvVNGnsRVh/39xH3Yi5dqFGkmvEDYEpF1o8IEt8Xq8kitnGWjauvIrqKfLVknMEvu7IP843JeCko2Ld7tL78y7TnZxGLEIWGkbNoWWNTPkm3pimCLfL6KWqFB+5NVvlztZaxjVMsmpcZJQ6RGaxQaBFjx8ZtAorckualz+xXgV2J7CBe0LQ2IXw6wLoKPLDHsynq/SMPNX6TQVjf5Lk2EIKzEieB0IGzbO/dY7H/MsdQbOe4df+LGK0x7iLCglQxzQ8u0/vFu6h+4AEKQBiNUwGdDrhDx+A1jUsCmJsUEVFohu42ydhk3kKvHLDEPEeRp7Ghv0OjCDijVtmwQ1x/HbOf0V9boX3hkBfftOwuORYWxLEsgXdvFwwloKpn1TmEy/3vW8W0c9gqg/EDulc4Rs+UduAza1oLTk+8zQIRc5SoZQqHsGNfrmqGsJqiK0mtQR3kaDOVrB7quwx31ukfRiy84K8ULe3xhtmhwXdgCoOt5s4xZq6CEqHAuDFD0dF6PoJ/VUDmMNpydC4QWO6tO+6tK547aj1cPXsi8yC/M963Ty46ROQQmWeFAZxelqRbFrddgaTIymutAhu1o7xuGIwEZdFDbKSUosQtZ4gkxjlwThDc6yIPp2CXCCUqFJWvnd9YsE4jxwzNI2U9kTGexEmcxEl8g1Gs9UEJwtXGsc9v7l/mL/7Cf8VMMs/f+R3/+j8I6BpHdL7Fwz/7Hcx81wWGL2zyyPWHMIc5yeMzBPMJ23/nZa5+888w+PzUvPnlzV9nuXnuN7zf08sf4lb3Mr28+x9crpM4iZP4zR817nvwxvpdUDvxbxL+5XTM7CqgpAStKEvP0gnLkvBNQ9jzi55sa4ODjR3K0sGhQKWHmCUBe9cw2ZGXTqvBOFIxBMTE/HtruMHrl2/7rHApNBrQbHgZoxN+FzfSPZQofRGtg2KITLsE14cTGSNAX4/oj47Pe7s7jo11x16+QDFqwKsZ3V/zKe839AbXBmsUWUpaHqKUQBRjxzDPXBOVJG8ijxzfzznmQr+oHC8c43C6G+5fykHY/uSzScYqZTkQPbbLPTCWUOwgl/WEfTa3khKFApEIrLOYZUl5UTI65V/P8zHbYpzpMq2yVGnPmnBozBHDF0k2ATXcRJY0Rgkh0ZIwAKtAmtQzrY74GQm8of9g0EcdkfyNe1cIKMyIz9/9RQDOdR6ZtoO1xwHIiRvyGPBy1JKKuTaUvi0nMh7rmWHC109kPaxztPJbYEdYEU4WkzA1tZaVlOb+tj4GZSlljh0HU4+ZozHua+mmB/o17nGwy1qQB2vI+y97donwsi8l3WT92z10bGz4v39+45NoegSBo3AF28b/vt+8Bd2ih7WOXbuDlhmDdI8bt4BqwXtj/w32Xn4NKUDvp3z1y7/K69tf8PUs173sN3JYqyd9bCp9q1Neuuusl/v5xAaXaRRrWAvR5U3iQy8dymWd9FMNuv9u1/sKAS4dMtIp27n3WRqPgKHz4y2rJF9S4rOL2pJSQ+lSlBnLHv1YxlmcBqccWIs2I6QzWBEeY2dJ5cEuIQRiVJB84TYfvHDAolojGu6TRI7ZmepY91aboZVThtxl7AcbaJejR4bS5BgKjMvRhw5jS4zTx/473LzOxvYNslcs0sETrUusBqssyVOMKvzWm50b5G6AMJWEUDtu7r/B1d2vIt/cQThDrPcY2SFCC6IsQh4MEQIUHrzRp9qkoo61klF8BhEaNsrXuZdtYbMRVkY+66QQSCeIQ1dJaSV5DlZ4xmHP9RjaEXfuGjAljy++h7PxhwhEzGb1Ctlpq+n8MwYIKsDoaAZKP1AKsIqigCvXLPfvV8+wcp7Z5Rz9Wy/wxf3j1hujfIjcu47s3kK7HByooxl+RYBzmtTsoWyBE4EHLcaPmZoe6xyIvCS678eWMY50BKkucMX0oDx3rN311bFWI5zEiQRsiTEFtnQQ1Cj6fq7Z9MOcrU3L1r5kc8th9XGGmsg1wmn29qushnY6dxunj/k16m6GG05lkLX8Nue/sM7sVcO+fJnVM9VcQnzsHunAz69CVk/TaA+sZnsXNu+Dywzu/jr1bA1pc1Lb5e49uH+3PrnGdraPLT2AvH7P0B/6co397SQ57fIGjPandQuBpsRpgTNmAoyDZ64KZ3CoY8k5/Jhw2MMuZmgpM8P6OiyOXmBx8EUIj8sYx781vouOZEJ2DnffTNi5+vYQsZFjdi1udwRUUu1tTXDvANGQ0PIPtgiEn7vGv6tYrNMEun/MoD4zB+ymW3wjccLsOomTOIl3fOQ3e0Rnm4gjdOfC5PzQr/wxkqDGD3/7T7JQX/46V/j6EZ6qc+aHPwzAP//q/8T/8uW/w7/5/Vdoxh0GL2yy8Ze+wO0/+Mtc+F+/mdrzi7y88et89MLv+A2v++zKh3E4Xt38Ah85/4n/6PKdxEmcxG/OiIpNiJ/wL/ACb9BbmcUeBbvKEpwrkGUyOTewAchK4jIRY/ndZLepUINtzPvamPUSlzrivRBhBMVsBiOHbXqa0ziz1U62iyAlP7TIqw7VgCQRDHL8TRxIlyOVYhSuQrpGmF5Dpl3sYht2pvXazHaJuteYWTmFzQ0ikoxGlS+REoidklBZZJoico2qNry//E9/Dqz2BKxyPN97OcbEOHds8jteSThLUGW5MhUIcmbF8Obh+OyxJ1MKtFi75zhVgWFOOrRwFKVCOEvgBh4QELDzHmic8veSi5JssUHwkKRw4LzvOreL+8wVLbCe2eHScZnH2fbMMbBL2XwC8IwZRWPsTjhBQ0lstfHeGryJE2Hlg1PVuT/i1o9tMVR7LOxqtt7nF6VjcEII6JbrNCtmQRxU46Uc4cwWzjQBge5myJ0SOk2ER1txSKLYl2vQt3RG4BaaiOwAqyEUAaZaXIq8j4n8OdIcYkRCVo7Q6T4wdwTEEhjruLdR0Gh4ph2ACqayp3E86A0HHsSq1+Gs/TImmJl8/mCmsnEb7u9bBkCSPMDswtHvQ6dCMW2espBdRenT7Ll9um6fObtAQECiYpx1bNh1dsw6O5kGGSFdxd5xjv31a8yL9+KcI3zTYFarhZ/xNVlszbK7b1nTVwhdibEWRYBWObZQWOt9tbA5ymY402dzUBC4SwS7PdySpJQhghKJRB6uYecfQu68ya2Rz74aiYCa89YOqhpvqclBQLMJB84QywKtQ5xLEdohQzwohEFYixs53IKFwrJfXEaE1xmUmsbwgLKEgww62XVaewZnDkg31xmWq6x95QAR7tKpt7nfX8U1LZ0GvH5/h5ER3Kswi6eegLv9y9wyuwhhWY1WeSRYoD4zg5AfRx++zmpwjVbosDOPTwey1dw9vMHwlR7xqEYoFVJIakFEKqAcYxoyJL933IsvG47ItJ8rAjk13R8x8mAXEcp5BlVcoTVBOyHPFeHQoVJHOXvAvr7L9fQ2K9EShggl/XjGCMLAIpzFCsXmFgSnpwN5024wV55CmIJOvEAraNBqgp31mVLbLcl+aglVhMn3cP09xNK7jg1ksyIRgwJyCTrGbqbI25adRcPpjsVJhwoEWIPI/fg6Gmk24nDoaDQgs4cI55CyGr+jPYLtq+BqDNMXOFOcp4xmEAL2Wh9mYeszx2SGzoEscuR6hq07Dg6hvwdhTWNrU3RzOJyeUBSWUEicrOGMweocZQApSfsCi8EJePV1h7rrECjksMAtl1DZemFBjgrGwPZw4JCVPNkY0IfrqM1XMQteDj747H1k2mXuWc/6sljPTgbC0HInW4c6BMSMh88odaSZowH45nGIdB+pUwwzFIWl3Oiy9lO/zOBsj7NLD3Fgb3EYLSD1FFgb9AElKiqgYXfPkq9otK42B1yKlKDSLYgW8bJKD3iZXGGNRYijcsVq7hKSbMMQRIJoqcpiWaYc/tqIwcBxd85RHML8oj9Li+Ng1zFj/WOgmTv6B2JMHwQotR/bFhgaTwR7tIFYE7g+qLpFSCbsOIlFmgPmh3cY5qdJii20bLCTvU7j1i2e5eP8RnHC7DqJkziJd3zk1w+JH+4c++xfvPo/c693gz/3sb/3H8Xo+lrxxJJPOfTa9hcBaH5wmUv/8tuILrS480d+hasvfol+ccBzq7/lN7zWowvPkAQ1Xtk8kTKexEmcxFvD4sEtp7zszzlLU9V4pPOwzzLHlAFTUhK46R6osgEuGb/cHl+cuAMIWxLXqARqGwH19YRkMyK9XHmZKAEIstzy6mvOm3I7ONzyKcQFR/xlnZmQaYSSWBfgHDTfFSKEQA+usFdM0S6DJatSmPc+ucboKzuYwXhBJoj6BSurgrn+y8Qv32Piwzt9+4aK2SWFwJiA7I19v4ipFnZigho5WFeIvpwwu5QwLFULADFhX/nyBGbA1nYFnAWW7W3QIgAMTvh6C+krH1WGv1IJdFtCKI4qZVgvttnItifMLvJxZr9pWq393er+A0uY5ZPd9FpxF4ByjNQ4kHn12m+OLkzw7KtCEGz2GI2g2z3uhD9m00gJ/aof1C2DGkrqQQM52MaN9ibNO/j0XYJr/jhnLcI5Wi03ZfS4yrB5nIFQW5RQiGExGQcWR2j6RG84amtN9kZbvL73GWAKYgnhzbezomRpkQowgCTxktDJArmqxMiNKMeOyqbAGl+nhAFxem9SNuGOruKmisvRZMHtWX5KeobCGAqetGp6SCBB5VOmha68cbSbZtOTcgqWCjxYIEYgrITZ2pTJMJb8GcEptcCp1hxYS0O0MBg0BiliUB7PcNob1Bf2AIA9u0u/2COzPSQGh2feTC7+QH0B1rNtMlNWR8hjdVBSUKtrpPPJDko95PSSf6xkKTzQOtQ4Api1YA1puc/QDRi5Iak5JLWH5PaQkT5kMNxmuP4lSreJNfuk3S6pycnyEeloQCZG5HbEID0gPbxJbg+QySE2PKRf9plf1HToEDmJLQBdYAxIV0z9kI4+WOk+NZMwynIOigGqauDx+DUGbtxw9EYh6WtHkjAcWF76wqcm/5ZuQDO/Pf3eVM+z9UkMZjuW5VPQnIvos0WQORZe19hiUMlfYaQLnAyp8HREKajbIcuPSBCK0QiubVXzdNv32a7e8kBUxVlZXYGFTp0oEhXjz7LSOs+yCXF5H5FWWTssiEiin1Tod+ck7xYYERPdStgq71NsDz0jTzmkkuAKhH5AMu4sGxuawx6kIxiY+35uqcAuOdzh/pZD2YLAjnDrBpf6sV7aBuubAaOBgfTQy0F1gchKXMX2cYCwkOoSm1fzT3g8MYHDkOcSIWrYskDrDOsCrHXcu+UQa0PCfvVcWcdTD++xar9KkI3ovNageSsg6lqkyVE2nVw1zTzYZQ3o1Ov1RLpP926OHXah633TPIn1CKNWOHJdEPYChAgniaWMgWBUjYkplo2rnmzhLP3LB2zbTXazgDRYRNkRgU2RxRRkNdaPC0sxMeS/fNVMQHhnR8gAn7SizPxvvgQCgTAKM3IEh1NPSeEMwllu6Wu88pWbvPSFG3xu/xVeuPvveWHtF7g2uMON/d2pX+XE1vLYhHrMGk0467M+coRNLMbls9NkEVoj8L6EYmQx802k0LAc4p6rEc4DcpoXR2LBpeAcgRlQLzdo59cQ1rxlU+JrxQmz6yRO4iTe0eGMJb95SOu3rk4+2+jd4cdf+Xt806Xv5bnVj32dkx3iYA3Z38RFDezCI8fSRb9dPL74HElQ46WNX+ODZ78VgGA24eI/+RaufeLf0v+zlwl/X/j171tFIEOeWvoAX938/DdW2ZM4iZN4R4VuawLtUNLvEhtrkAikDLBOTphK1kHReYRgbyoNDPcEedNW3hpH5S8AApUoEAKXONyewNb8brf1plqYoGLTVOdq7VAhdHf9RYScehw5ayYvxlJJsF50IUIQNZBlzq7eYdbNIoRn89hRysHP3AKgXB+id44aDvmLNWNHZrsUDzgOi9BBKTywgcDdUmTZiOiILE0UGrCIwmJuKoK8Rrbn6I5yOr+jnHoOTczEMpTNic0u0egWxQw4af3ut5Ioa2i3BLKB964SjrDdAesBsLEPS6yagPeRLAyVBco429e4D6p2wzAaGtqAu1rSMAonPKtnrtFjYB1FWQErWjC2dhLVlrxwY7mIpvVqg7DWw6nO5H7CgAum/SSEz8KX9xyrt1dwzT0eynPuBHUPBFbXN6XxrAM73tG3xDUvg3N4DxuLwwWRl5HmjqgIiL4ocM0a+t0p2lhEWeBSR2A8g2wMXIy9agSCLANJSa3GhMEnlaNW8wboceQzYILgDf0qQa/De2ef4P6NX2SgR8yGdaybAh0OmJ1xRD1/PlReQX64Mzv8KsPoaYwzE2bXxNx7/DwhEPK4PFI77aWqTk9AMalAVMcofB3FoPp2JsG5/qSevj8EOhXs3m/weGuV9Z0hd+0eulkgs5hzM6fZ6G1iHbRqUNqc1JUIZDWuvXxp6DLs7cPxYMLat/e+SU1G6srJwv7YY+Q8qGM0CDucIH2ilFinveeUjKDpfQIX5QUeS2t0Z97Lwvxp8hy2S3jvXIfZwAOjT1ww9MOzNMp1aBYQNbFzjyBrCpsa2nUD2WUC8RhnHznHubMCpWNEs8/VGyVmqHGlQ+cFevManWLDK9ECKkAvgDJDHq4zq9oMUsvBgWN5ZZ7aJUX/Fd8Xxvq+v3U35JwboYTCOIPsHfFskoo4v3esvaQWFePHzw/CCsJIQFTDjgbT47Z7hKVAFJJhkaGGIUoDEah7EVJIZs4puOsHtE4Mh08NsUCyGVGIHIhQFUAqJVycfYIb+69jtcE6ixQSpRLfLXkfm1fm+lJAmUJ2QLAwQ16PCQdgZI2e0Dir2TMHKKHQMgcj4Mj4yDLLYKih6UHwYvgGdTooUbFPgwQp5IT1RM8S3c6wz0A6tDSNYm/fcU7eZDPf427RJR3epu7ckeQjgsJoXOHBOVmX2MlwdVg0Uih0uIDIc7LeAZGVFAW4A4swKe2BZe8pibOWJM7QTUh6+2gtiLoKhWYmfYMszEBPVdfgwXRtSzAQfNHy2t46p9Q+yx0YXi5x0fSZb+S3CRotRCZp3a/hzkqUDDBocBB1FaAJ5iRje0MXjeEuS1F4FqDIG+zXHsJln0I6zezBV4ClcZVBC2aHX2Er3wTaWDRF7tvcmBFSea8+OdjEtpa9PDHwQLV5LSXhLrwnxBWO+Cv3KM8M2Y/3OEdITQWoUGKiDoiQFEhFn9hZIn0w8caqfkr8PCseALtwuAoUH4NQ4lzAsK9xDT9/5LnfRBLOeCAzN9hGhHAaI2s4oVBuiEwEWviLh+kGVnbA+d+7cXh57JECfJ04AbtO4iRO4h0dxd0BLrfED89MPvuJr/59lJD8iQ/8j29/kjUEr/0U0Zf/MfJgbfKxCxL0Y99O8aE/hWuvvu2pkYp516kP8uLGZ499Hi7XOfv3PsrtP/DL/L7P/346Pzj/tuc/GE8vf4j/74t/i35+QCue+Q2PP4mTOIl3ThgMUbZHLL2ZkNmEXi5YWZKe2VWBGiERsh6g9qapyCUSta2xSpAt1+AKPr156BAIglACDvWMZtQeMcoDtCmxFQHLBp7ZdcTIg0rzBc6/MPsd8EqeUYWQAmcqIEr6/0wJWEFOTkKCsRZ7kGONwVhLngUYUy3GpWc+qbpgFpjlDq8fTZTonM/uVQgoBXbuLO629zIzmcMNKzZBKRCHObInEFJBAGYPXAzC6qm0b8zMMT3aaReoYXUPaIAyCCkphcbaIQsNSYYgiuD0EtMVVuUBJYTg3Yu/lf7aIXeyX2U4BI3DuWn2rXHv+Cho5ju4I+bbzvmcjzKwzB58lb7y56jh1BhcVJmthBUkqkGRZxgLrfQq/cazOGeJRItHoo9w1f7ydExU5T148xzNrXmEvFV9LimdZnRV4zTcXh/RN3vcPHiJ2DqUdHTLHrvmcHJfr1+K/OLVOYKv1BFuBGkdW6+xWZbIfsgoWgLhQQhrgX6KEQLdFThnyTKYSUqkFDyyV3JqZUAQGFpNnylwYR7W709ljPtFj6FOeeHmKwxG8K2N54+Rfpyr2ARHVr9aw6ioxgWGeraLs5dQwstx9Ng7awJ8ChBTIAtg5Ia8qd/gbAZW+UVsID3wuBw97Y3UADFyOCdhqYHb354+F6WgeaOGlILCCtZulSgv9CRfKkhPxZyKOuyudRE2py4ch1j27QEK7+NksQhhWbN3aGxVC2nAOvG2Up+NYou+hRp1aqKO4IikzwmELZDZLsmgCzhs3RJsS1wvRRyUGAJ0ZDgVL6Dud6C/Di07kfIC5IvPYO0V5OFd6jXQNQvZ2Ki8ar9AAgbSPtlrmifdJrPnzlflMLggRrgSTMnetmNwBZrSv5vZMYvx2Dzk2FyLCFlkUUJsEqIFOwU8HZWXnwJreLhxjkPd507luySFb88r+lUAOmKWWETs6QNvcD5mYlqHq89DGFM0QeYRZVAS3+8z24VE1rnl7tFxs0TSUDyvkHuBv/nFR3FfUaAhU01c1JjIEJV3OZ8wPIX04FukYrS2PqOhEBWobGE0ov/PP4fM91GNOqr+ph+vzZgyapAGKzipsFazNriDXtBoawmEAi0wxtHtOtotuH7dMWx6sOu9jWdYPtT0o3f7JBJVYVq0qdH3GX+dY35xyJ4AtAW8TBMqlqODMtv347Nq/9pBSLaUorVFRhIhPUO1p+9TsxdR0iBQqNYSDCDt7tFyix4M1x7sLmtj9qtFJSGNlmBewNahHwOqYo2Zx0DfNBOQOYq8jLEoR4hMwqH/vKiOzzctRjvsrEWhfAbGsg+hQImAkBpGKHDa/yZhKdsaGsAIXGixNW92JbCkqR/rKpWU/ikisH2cnm6cWwdSS5TeJck2ac+2sQPD7m6lyCwzpHKMGDHjIhAO7QyFKtm3B1jtQfPBTkJg+5jU0L1/C85LlqNFWknMXCtGL74HkfW5Ea6xK3dxWtMs71GvxYxSyPV0UiwKjhK+PSOwogBPNscigdYgjyQjkUYjnSa/pr0fV6eGtKXfdBESgUXFgt5zTXjBP4tW5OCCY0wuZUv2D74xsOtExngSJ3ES7+jIr/ntovgRL2M8zPb4pRs/xbc+/P3M10+99YS0S+0n/zDJL/2PuPoC2bf8NUbf92Ok3/U/oZ/6HoIrn6T+Y99J+NI/PU6bPxLPrX6MW93L7A7vH/s8/Mgsn3v/F3jm008wemX3Gyr/08sfwuF4beuL/wG1PomTOIl3Qoxsykb/02zJaq65KtAvRPQPQspSYqqd0kQkhJHAVNQZsaJQlVm4VZpm8bo/X4ANPGwQRH4hWCqNrlmUkrjIIWb8oTYQOOH9e5yzHAwcVguctTQanq0yBk+c0RPPD9t3MPCLICRkuSBPBZY6Gu2lhg5Edsitjc/x61de4v51j7AFAbi2hwDCua/9iuuqVPYiF9Bcqkz8rQdrjhwXfcEg+n5xK5Lxbr7ApsWERTSe5wsKbyotKlYAgLJIKclk5hNUiSNysSNsonHGKSUUgpBEdiYyycI6ysoYfDBwvP6GI019w4XFPTKX4nKLqwx9HVDOapy0pG5AWZlSq0wyxhbH8hRHgEjPEnWnmzPSeiaPFIrQxtQ3LcHVMSXM/9HIfeZi4UrSkaPIBMZZ9MADhirfJS1vE6VDpNEszFeA4NiXqJLypGXIxpale+g42Bc++YED3TzLS7mkK56kkHUi0cJeewRxxRC/tk75ymvc+vkXKe5lDIcwkFfBOGojONPfwQnH0pLg0UeYyMPGYJd1jsKWDIZgRcxavs7l7E229RRYAnuMxbTXtezuTW1p6vkWbrCFqJgFZsK88+wZDzYcX2Td1xuT4TKRMSqQ+IX72P9GpGAjQT/YY3C+MqeyjmBYgWEIUKBc4b2S8NnzRKNJHAkkgtZGzPyLEQJDTsaIYSW3NGB9RsTpMLQY4w3lR/q4PxXOM34KIQmEJDpiQi6QKJsSDe9iR57hpOd8con6G1twqLHC4UKJtA5ReeA5K5ESHnsUzp6GucUIl7Qm92MsM2XqaC4CCUYju/fQPc8KnQC/1oKKwflMhb1u9WxXfZKmcHjgcL2qf10Falk3oUo6axFKHF+8AxbpNzeloi4Txo/vfP2UBwmlN3QPCWiKFnEaHmN2OQtORYhA0L8QcPjuFkVHIlWJbkD6SMrg4ZT0PIjMEX9GY5sr6I9dQpx+hLPnFFHoQdRe7RFa8zUWohmE8xfXvRK1fjCR7wohMZXXk0QiXeVHaArEcAenDRRHEmkoiQsFVsU4EWCBQdkHhR/HyiH3ArLrIXd7XQ4PQdsR6fDLCASJSKjR8Kyu6WSOENBG4XAchPe5kd7EUSKMB0RCdQR4BHTeBwxpNfziocKVUOYaEUu0Lbl9+Cp9s8Hc6l2ENAgkSbOFFSGFsYx0wSgvcDC5vpJw7rRGSIcIBaLCUF3l6YcUuGD8m1ZtCqgx2DX00v9qrpTHWEQCpx0BIUty6uc7Hyz4jRYRkB84+gNfRxs5erJKKlLiN1lwiNiR5wWmZsEpTFpiHUS6BxW4PvmNKAW1hmF+1if6sK70JXYG07uPUOBExUzWGW8MbnBTXSc7AlCH92KE9YC9soo5u0pcMfIOv1Bw8LN3KTaGhDL0vlk2I6kJFqvforz6WTMGrt+oJKcThrOZ+iKON69C4f9ayaGtCJltauQwwxz4DSZXj5CuwIoQVzFihYBMBTgBARFOpOQ2Z2inVgbKFhRH015+nThhdp3ESZzEOzry6xXY9VAbgJ+78k8pTMb3PvnH3nKs6N6m9q9/ENHfIvvE30I/8Z3HeP3m4W+meP8fJ/7lHyL+1P8Vuf4V8m/7mxAmx67zoXO/nX/0pR/i83d/ke98/A9NPv/q5gv8zLf8LB9a+zDrf/HzPPyz34FQX39P4rHFZ4lVja9ufo4Pnfvt/9HtcBIncRK/+WI8O42Uf+F1TiNR3LkquVWTLFRgV2ADKL13EgCJQM7FsJciRY4ylf5COGzgZYphKMGWFLb02d+E8iDGeM1TzY0D22Wz+AqRhCwV2LrFCXukhA5n7OQ8IQTysMS1qCSLgAXrQqwz2IpNE3a3yPqKLLtAXN4BoTwAdbGOLRJU8+2lWTiHq1lqqkZiJJkMJuXAl+bYsSIFIQKUk160JgOGr4+oDz5NrXb/rb4hwvt+ScApi1DS+5e5qVSzuvjknmMZoxASa0CJkFl5n30JpZ0yu2xl7Ds20O5HW6QZzGfLNKpFlxMhxfkhfWHp7aYEzjMExn5CAggyn7UvVysEIsboI2ZaeABEoBBaM3d7H0UH/ajifPtJ+LW7tEfKX8hodvegbyWqZdnZcSwuQGj6NMwW5aCPSiWC9vEmsgLrYG9f4rRFKTC2RpYOSBTceR2GQcjZooVFo0RE+cUBdW0plxNutu9Q6xmGmy2MgIUFOzF5yfSItBxWdRUE44XthHUALx5eRknQBNxK7xEEkBqNc0toDQGWPbPLTe1T3C2IhePlR+DSfVSVJW/M7LKuSuVwZEy0W35xWFR9dm8D7KIHwqTyBZJCTSSa+YFFBxF30s8Tl84v1KybygSRzC3Crisq2ZBH1YRoEIQ5sx1JXSkCGR4bm85ZCtfnavkqqdPUmMeKCBxYrcHoiTn90RGqZRNh+gQy5qH5p7m885XquwilhzgFgfbgS3Bao+8reuk95h1oJ3GBYm/XQfXMWxkgBcSx4PHHpy0KvtnEmAUSRKBzMCUirCF3r+BWqqONYfTlbUSkkHczSELIx+CA4uI5x801M6lEbwC9/h6n588fGeXTKArH4WAKLEzW7AQTwzYlJWNEUggxoX8Jy+Q9MBgpchzSFTgXeDBNSKQSGKkRSYyYDYhHOdmM4tH5Fa4P7lEuKkwhUVsWghg7nyCkoFYTnDnteLXqRxkoTkULbNptD06+sEF412JuVvOIkGjtTdiFkETVhoW2mkAG9MoBOwvz2NoMMj3wDKQKvwxDLzX3RnYVCFVAOXLYw4iu26OV1+iKW0QcUFDJDh0k5Q6lqNQIVVmD6pkYuRENoXC39ghvZ4CYGPiPm9tlKQOTIceEoEBhB4q9UQ6rO4z6A8q8hlIxVvVAGIQIiMMALevsFl3W93dID0acEi1UYBEWZmehWVoQjnBOIiq809QsgREQVvO9ODIXK+czjJb9Cnz187YSRzK2AtZ4kFoiJ56GSkoODqFZVz4rpKuOji1Xuc5p94w/MPOZX8RZRR4oRp2M4K6EUYpRyjOH9ytwHoONHTIX1GolkZTI/l1aySl0OYewQ/97I6ux3ocgO2BUDDDtGotnHqdx8xB33zCMztK0G4yic9R6kL25hJv1jWJGDhqG4UsDIhH4a5WbrHQGbBSO7Yo1F1lf2YHdoVseMrQwsiMyUkTW5kD0yNhiYAb07IilvI6yEUNTYGTC4+UsIpv1885jftNE2Yw8mEe5rGJnSwrhqCERJsCFQ7Z1lz2T09wJkaVAmgLxDaJYJ8yukziJk3hHR379kGC5jmpFaFvy05d/lA+c+W2cm3nk2HFisE3tp/4IFEPS7/8x9JPf9YCBhQ/XXiX7nn9A/vG/QHD1F6j95B9CjPaOHXO28zBnOw/zuTufPPb5r97+WWQj4PT/8AGy17t0/8WN37D8kYp56tT7+fL6Z/4jan8SJ3ESv5ljPEU5eRTEkN4AGzhM/OKvs96k/Qos3JibnKgi/yZpncFUC1Un/OJACIGqmF2F9bvRqmKLqIXKnLfumV2jsdmKtCClzwxVlU8KgaRK8W7GCzaBO2J+WzrnZW9WeWYXjl5P4MpqXeUsRccjHVI6bwLfkYgjpvS2M0YSBoDj7PwpHmqc5V3BIxOYa2o0f6QBnUN2BUiB1LLyvAnQ2xlyY5/GcNvLLhptZK0xOc24ahUYjMEuqLs6j7bOHbv2RO4hoDF8k6B7B1cMicsdgtEmUVj5pIw9tHCEIRPD8FrNn97PDjHVZ0aEfrEqHXE8NRX3i3J/fG3XEt6POBM9hxQhQvsFQbPtSGK/wBJC0n7lq8wbDfkQnGOldYmV9CHUmEVW7dhLJAd9Lyk01epZIJClQDiBMPmkv0GQRudJww6X916COKXdFNRPnaXPMlujBcyhI+w75P4Qeb4gfXKR9NFZuo8qzKNzFG2JlYK8r4mDkFqiGCcbu7n/Br2v3Ce4bAguGzp3LA8NDSt7lvrdmOGLMfJ6RPNeTO1uQvt+THInRt4WbF02aO2Boft6k9KVlK5k3R73ZsJJGGzT7r/qwa4KENl3exS29AbQVVvPdATRA1aeMl3mtDxTSWG9LHjt2iEuH7K1BgPnJU7074HVxJ8uUFVyAYkgarcQziBdOQFnpWwiJCSJZ/BJoTjqLO4cZLYLWKzPkEAarpKrDk5rVNtf38bN6TmMGXEOJSTiyMadU9HkuiqXhIHkyYVLLL0/4v67RtzVN9nQN7EyoJwTyLEJvp2CA5MYf2CZjPVxVgm59Rqqd8snFKifQiUeOC7vjyg3R5S7mnzd4So/LStCQgGnVy31elUJVYFpzgORQomJ5ApgNLTc3YDh2IveQRYu4OwUBFeo6RxVmfornYETE081lXkfRFH511VEUEQgMJQoEbL6XEz5XIBdSpDDWZ/dVgboRyswti6wkZuUWYbTRCJOeFacsyCMRq296Ot886Aql8To6pkUkprw/ZVZj7TeTTcZ6NGkbY0UnFn12TXjjqBwhb94NXcWfcEwj3DV78VacY/CDT2zjIrp6KBe3COwlb/cGBw8CjFIi71z4GWdSDCVLJuxUbv34QLQdUtDJahMcmNznzvFfa7e38P17hMIGGY9cjtAIIhChZF17ufbCAO6knkGgUVYRxz6jQeBJVqRE48nG48BVe+x5qszZlv6DYWt3SG9Q7DWEdgDAjdlSDknQDvvf4mc/J616r7OO9tjFMazmEfNBUwcop1l7FnocFAXyPpdbEP4/u4PEDZHlIJMn6IIZjEYbOjrZUoNxv9WdVqDqiy5n2OVwwkoqJHnvjaXgodZWDoDrfFvQ4JLHXI8niZeflU3Ha4TtAJiGSKRjOw2m3qHa2aXNXuHu2KNXbfDrtuha9bZLnfYdzukjGjQpK3mmY06zKgObdFhIVikLTt0ZIO26GBUSKr7hGnPs7MTwDmUzbxnFwqL5m65T89uExEToNByQKZTVO6orcfE2xHKeMbeNxInYNdJnMRJvKMju3ZIUkkYX1z/LHujTb7rif/6+EHFkOTf/AlE3iP7XT+CXXnm619UCMr3/mGy7/mfkbvXqP3z/z2id3zH9GPnv4OvbHyWnaGXNqTlkE/f/Gm+6dL3MvedD9N4/hRbP/wSpl+83R2OxQfPfiu3upfZGtz9xit+EidxEr/pY5K0b+xMXi2spfWARC86A0BYRrzr1HtpimqhKyEIK9BCW7bwMsiKvIUAwlARACObebBrzJyZE9hnFTr2rJOxabeTgJBYO2VxSQGBGRLowcTcHCGPgV3ap69COEnqUvatNyrprym6hyBdSXYhwzjDjfIm18ovIWyJCKoFLuDiihkx2uXxaIHTjUVUIrCZQxw4bPcos+soU8tBCUIGSCux0jCwOdZrQXA2AhynzjaRpx6dnGW8Vg1hNUiFlYKzsx1iFXEsxtkOBciyi0oPqN39NIuDL7KcLHCutuLFIRMDdMeZR6bXEAKiANIinYAeToQgwXYMjbogjq1fkBkxkTEGdoDqKc8+qb5TgWchzXQ8CCdRSAyL6hRJEEMJURAibcbM6DVmR6+gi0qe6HlslfQpmXwmjKgAjAfHZZtctLAOdtwWAJ12gA0SknrAo01HfctSuAHlkiPqLGJnaxRtSdKoFqwBZMOS1fYFTncuTd2TAblnj/03Uzg6hSDoBdANMDsBQT+gNgpo64BmvwkHcO2VDe6Ut7jRf5ORG7Eol1iWKxjMZEGrUAgkFkuut9HGoitvLofjhbs3oRwdI/Epp8ijxcm/AyJW1GmU9E+IQNHZ/jXSm1dQuaOICkLTQ5aHkHb9NVI5bevajAdyJiMchGxW0smKwSfkcWaXdRXY6byvkloGAUYGWK2R+S4Ox+EgZJS6yaWFiJiR88yoDk5M5Y+iDH0SVQdBqji/dIbTtUWeaT7B2dYHWJDzzCRneaz9FO1THQ9qA8YG0yysk4tNWXdj6aKLO8ioApHybQgizMITiFqITHdovr9O5xPnmP1wiIim8kot6wjrmJ8T1JKqeapiexzGeZneESnnmKVln4oQy/7z3foHsHa6TFZCIkqHK/vE77eIwTZY658rgET4RAAioHSlB5ctgEQEAus0UoQEKsTNSQIVEThf7oXFACJB8ZyieK/COoOQguSJWRofXcFhqMlZ3jXzPFLBBXmRZzuPT6ScYjKfCg+IAGrvBvW0j1MBeQV22ZnzY0M/3xdCESqYnRFQ9xl5nZtujphMEIQBc8utSZ8JN2UZ2iPPdmgHEzDR1/qIVDaZhyMAy9F2N01TSQirezYMUgUko4jMpoxKQDhiEi7UnqQZNpDCUbiSUIXYoO7HTakn2VWRntkVBRWoJK1n+lbz7Rg8EtX3PlHEGDT2nmebm0P6fUGhIT+/y5bYPlpsXOkqqGsK3rbqjtlonzxXFXDqiCMo6wEmaKKdxgWW/ImU/LSmK/bZ0weIIKBsC8ruJqQQHQQUsoFrBOTkFZsadKFxYbvq67wqjJcOjzMOa1mflDEhgVoHwgqcFCGkDlVtgDihjm/uFH1kTSCl4mJ4iUfl47yr8zDPn//dXGz+Xp6J38MFeYkL8hKnw6e5FF/iQnCJ9y5eYlEtMReusBwvshQtMCfnqc98N8vPneH8h04x/54VyuV5Slui8hykQKkCZUcIHFrWAMFmvsvNYh2NZU7MIUVAGfgsvXH3SFmxbwXNv0acgF0ncRIn8Y4NZyz5tQPiR2YA+Mztn6EVzfC+0791epDVJD/3Z5E7V8l+59/FLj72DV/fXPom0t/9I4hRl9pP/H7k7rXJd7/z8T8IwL954x8DXj6Z6iHf/ujvQwjByl95H3o3Y/cfvfEb3ueDZ7188fNrv/gNl+0kTuIkfvNHcbEgXyzJmwU916Ok9KonU7E43Jj1IwijI4s/ASoMfGZFbUEIsuAUQjgKA4NK8tMYHdAtel5WWDm2X0lvVDvoolqFjcEu/5kz1cLmyILXOiZgl8/SOA09YXYJcjIGDHAIdFUH6TSinlOQA47U9hlGZycSB7/YmV5POuulkonApI7gy9WGQplVxx8JZ73cRCqUUYx0zvXFddYfXQcc7asJshDH5eaiMoV2DnSGFTFhTbDYriPDozWbMrsEnnWihJwsPp5qPsTFxor3PZocZ2jEW5PqCATttmD+/CLLZ6o+FYFfBMQO/VhG/FRBSIS1NQhCL2O0Q+/z5HwjiWqRmJqc6/2XwGWEZjhpjQutS7y39lG4fpeZ9LL3JJoRVDZMFWPL19sEnuEmkQgreDBhlkOibEBZeuh1vIhu1TqsPCSYuyBo9iKSA8fG7Bp2XlGT8xP2zNlzvi32BpD3Da16SKySCbOr+GBA8dGQ4qMhq9/57snfsw8F9J4a0ntqyO6j/s/R+0qKb1lAfGiF0fmU/axHen9Ib2Of5n6N2W6Hc/k8T+aXuBh+iGg/IN6PiPYD0vuaNzcuc3dzjXITov2AaD9g74Yh2g8I9gMWDueROwHGfYCgm0yO6Wzt4PYN4V5AvOcI9wrcvkHe89kpi7bwHkHj4eIcKlW4wCGejHDNJeaXYlZXIF2uPJpUi1rNt/u4TxbnLZ3KDgtrmQnOIJ3FIZETjzcvoXSDTXYO6gzTcJKFEqAdnGFGLhCIYLqiBpIbEa1rdcKNJsFQkrQnGRuYFU1mnpwlfuZJFmvnCAKDsLpiiQVvw+ya6AYnskEXt3APfQB76t2Yhz6KXXrKZwUsS8I5SaxvT9pG1hU2bIKEIpzHpr5uUlbXrIo9HPrnsp9yHLjDzwkiEBNGlcg1zkrKwlEWzpdROxhtEw6ugsg88G+rSide0uZQ3LV36GY9P9cJQW5HlG6EJKAZ+c3VmmoREKCkoN6s+mJWQiQmz3vy6AxBJ8I5SygatOJFhBLUXJP5qDNh5ajRFvS3kEIi+o7wRY3YXyckIJARqcm4n+34Oggm4KLBTnzIiCskHO8TqLVjcDbDdY53kXBmMkm6KUZFoncq8MtfcDwOdTSHcK2JjHWcxW+8cRLUAhAWWVVmft4RRIJm6QeurnDMiJBOepVzmfdDG5ESBiEuqHnAVTuKSOCUQQqD0I449CxNISyoqMqdCmVHU84JWPS+Yt5/0SFc6YEgZ7CjDKcTrIE1+yLdZg89/wh28XFMPANmyuwahxKSM7U7hKLhs5TikEJgE4kDog9Z9PMSW7fsnz3Na3LIpt1ABpKyLShGe7ib5xFb57EBjGojduwWLqyAwNKAauCkwtkCaTPq+R3/cxpKEA6HQqG4mJxFCokhZNg8758noaB0yEqS6YSa+BBGSxLVEBPPPCEVoTYopYjiOjpaJZChz7QpJEKESCcJpKTRkMQxk/EzfoaJa7gkBCWwYQLJGUoBvYMDDmWPYf4movdJ9uwug3CfYbTDINijFrZ5rPHdpM3nQbVwoUMYCIbjlpbH/viN4gTsOomTOIl3bOTXe9ihpvbMPKUp+PU7n+Qj57+dYGzC6hzRp/4Gwa3PkH/zX8Fc+Oh/8D3s6ntIf88/AaD2z/8AcuNlAJaap/ltl76Xf/X6P+LfX/9JfvyVv8sHzvw2nlh6zh/77nk6332BnX/0BuXW6GtdHoDV9nkuzDx2AnadxEmcxPGIHenpHC01u9bvTBeumGR+sxi/2FVtVCem04bFVb8z3MjuYQqNtLby3xIIBbpp6PcFqiYIdcbGfUeeQxz6ax6UPUqqDFNyunBDOCwSawwjleJWNSIcy4uYuH/7RZX3QnLOVWAXCI4uTqdpzkMk7fmS+IMF4n0jwFGqFu6CZ+CGK+IYeiakZz7JusAcVgCcEJNFmsNh25bymdFkNSdQtGQTbTQkEbtmn+v5LQSaeCdCyBBZOho3E0QpfLsGBmE09WCVi8m7vGSzMS2IOLJSFBK0s0ghcBYOak8ilSSJFU45hDOYpkXXDO3OOoGCVqWaFEIgD5rcsLvkwSJG1qbYwbzGzRgaUeSlq0l92hTCgQt8OzoPOg1NhrQF9WKDZnF/Uj4lA9wrQ9zl+x7DnJXYpdo4OZxncTgPdlkCesmjELqK3fJWub84AtdRd6x+aIaZ77qA/khI+UwAl2KKBvTnC1ZaFwhljShUPPkENKo09iMtkBrOnY4JZDQBu9yU5MPKEdnoUYAlTaHU3sDa1eep1y+QJYZQxTy6+wiPrD3KYxuPEq+FqHuWR9IOC/da1NcS2msNandi9BVB7XaCvlXC1YD6WkJ9LaFR/Xnp3kXUtYTgWkL9iqV5S0yO6Vzfw93WxLcSZm4VLL3+Iu62Rt2NMJGgbAoCGUxXac4hC4GJLSpRqCjEBZVEbTlHSfj4x1uEsagynDqEkCgMQeyBlEjEtMMVhHHeJL6ybRZhgNGQdRQHc0uTNnI4P/yFZy9aC4Q1bG0G2zkNQqIySbhZg9BRPzs20IfQ9BA1iU7alKKGsjk8FPkkCsa+ldk18exyng0JIANEokAFiGpuccZNElc4FUxYRKIWkjUuMpi5iGt0KPYCsjVDebUE7RjWLwKwtmbp9SyHQ3EM7HqbohC/cg9rBN0D6B74zx6qn+fxzkVkhcgLS8XsEuwvPkceX6wkolDokkJrbvdu8vrhpwDvxddOZgFoxUsIIUiCAFR4rAj2aNY5xSRhhItqlTl/1UcW2ukVotEGsr+BFJLgikF2HXQlo2uauqrTDSN2g+oeFcMWvJeXflRhlgRmVgA+McjmrmN9U5F2NMWzlvI9mvMPnSMiQqBRmaRxK8G4YAJ2xWYf0gNcNSmEhFhRQzfalefiWAovPTgTCGzc9nNLYCYZLIMIWg3JWbXM6XCFJGjiBMSyRhhCzXhZ4oJc8Vk9g5AiWkRGTzPQYD8Y0Dkz4ry7Te1OH221B7viBtnH6/SeGGITy+jhENGW1BuOdscb1NeLdaLhOric5M2A+r0WxoB0OVYpXJhAWEO3zmFMiBCe2TUG+2Xlz9ZU8yzJZZpFJX+WEpykVBpbSygW380oWqYMZgBBWT9NekrQfVjRfaTG3qMNDh6P6Yl9AEzFTN4bdv18KgKMyTnf3mB+Ad+eniaKEwGn5ApnY590pDMjOWi+m5k/+q3YumcFqwkTVU36TwgPQKKrzLdOItPCZ/pUoWcMMwU9wfsuHnVzcQhf1wrskkphneftGRGj2nPYBLb1JmvNu9wyN7hXvuL/dFfQS1cowyEziTfnK84vIUUdqxyBDogPBKZmp8/uW39a3jZODOpP4iRO4h0bo5d9Zo/6exZ4ceOzDIpDPn7xuybfhy/+GNEr/4ziAz+Afvr7/6PvYxceIf29P07tX/4xaj/1R8i+8+9hLn6MP/n8D/Hq1gv8rc/+t8zVlviTz//QsfOW/9x76P38Gtt/96uc/psf/Lr3+NC5b+MnX/sHDIoezaj9dY89iZM4iXdGTIghR14KZ+UcqZHUNy3uVE6fd5NzDtUMaT70GFZG0H+TIApguImwEisVTngZXDFfsrf8FEHnPkFvmkUuDKZoQukMiNB744wPkA5rBHfLO7QTgXpYIl+tyufAOVkxLCocxvn3boNFaEESdbBsM9OGbm9au9EzEqsKOLWPyC0jcxpjDbIWM/PRCK00fOlIm8jAM9dq4/xbR1vKA2xYiat7jY5wXvbVDGps5eCS2O+gV0wFYaBWm0f1S+xoGSsG6LggfyYlyCAKFqk7j0yp5Dizy+JZcwKHsRas5LAHg+QiJPeolz1s6BvDJTA4M0IlgsUF6LkGNumQBHVMJXvSqoFwGnkETXDCsTqfoG3hWSvVV07CynLAcKviTFVfKeM9JqUQE7YFgKwpAqnBwc7888zJ1yZJt3zPVTVyoFUDE1QyxgeYXUoJlFWTj6WCWjtCjNGoWKAea9Dt+02eVtRhD0giiZKCIKi8mUKYARpdi+saRHecAcwDgJ1kvgJ+qh5+m4WREDBTW0CpOigQ74oRRLigTlQvSXtQm4eZU4LDYoXOlUVmxAxr9jbhSp9h11GkJSIoKCvz9AxNQU64IFEdQ5GNKBptuuu7hMMhOGjLeYSKKJeGDNeHSLWAkC26ZsheS4EQtGXTMyTFVGLrjei9n56Vynt0iYRcDYhCL2NMTYZwjmY+omt1xebTyOr5Fc4inESgGK4ELB8qdA5BXXDwWEjtixXDcbII9qCaq4zYk+YqmR5VPQ4GRfrkiDhwUDEEI90DQKsmWvjrxc2+Zx1a9/U9u6ym+a6ANGhCBXKJ8dxiHWbhSVRxFVGMpovqWgAyIIuXSToB5aFCb2v0oSMLF2nOKlyV4FoXDhFU5vNfI8aZTa2WGDNNLjdTSuIwJsNPUs6B0P75KZozRNF55vQuPXuTYtewnR4wREDs38kKN2Kl+RjNhmTz4BxwjSgYJ8iYxhgY2ujdoRXO4/DZBwk82IX1XlLOQWCnm6HiSMO6nr9mLahxGB4B9o60vXYaVxdc+qb3cnDZcZ0NP9QkOBkgrCFpBMx2ZpgZNLh/LWDM1F3sLVKoGXCVvE/AFz6X82g2NfEvT7egIyGdUncneQ9DhW0uQtrnDCGRXGHX7iBEiVSSMBBY0WA5mmdLlrRoEYSAgw/W3ke/AquFhDQ8w+7OKZzqU8oMFISBgNe3Kc9l3JY3OVUuYxZWSBs5oRmA0/TsIedXHaOD6TMmJMT5TQYYlGxhdR8hDO4Iq9E6gdZe6C2PtPmY5SUkJLbL/tkcvYr3qkQwKgru7gru64C6tBiZsN94ltkEls1TrM28Pu1L6Tg4NSTUBSuLp+lv7KPLglBJXCixJqNdSxkWgPbjsdGC2u4j1MX65PlNaopv/WbBcOhwFagqKTFA/v7ThNld2PIm/EIKbDllfUlb+M/DEFs9E0pVeJiYErh8f3uArPX+mOGnq82uUGEy7wtmRcjHv/lR2oMd3vjiJkEIlb0cWtaxi7+FZ+a/iuxvchi8m50umOU2YfthLt0agbRs2HuUbU2U1RGUCPXAj8vXiBOw6yRO4iTesZG+vIfqRETnW3zmV3+GVjzLe1Y9e0td/UWiz/xtysd+B8VH/vR/8r1c+zSj3/Pj1P71D5D89H9D/on/G53Hv4N/9D2f4vWtL/LY4rN0knmcc+zvw/oGrG80id7/KPZ/u8K/lo9x2OwgpP+BbzRgdlYwNwvnzsF7lr6Vf2b/n3zp3q/wTZe+5z+5vCdxEifxmygqD5bT0VliG5MPLK09Q5gOYWhQSngZRNSowB0IgoBYNBF2gJXeR2tM0nG1OmbhMR4pC76C330OxrJBB7ry55HKJyQHQFis84blCLCLj+HiBtCvZC0hZ5fzainl/1+WU/+YhlpkkMSo4DXAcUqt0qk57i9qDkpvjszsGexhTBhqEAIZjmWTR8I5721UmbtLIY/hMQ5wwVju48sRr9ZJr48rH3hApTpepYpwu0aynjNQTawIMa17iCInANrxw6AOoASVSCiO3MlVTAcsxlnurimiMIAYpJTEscAkvgydICSZH7dHJRNVMVHUJsu7EPgFmyNgrvUkDi+B/9D80xwGBWEx8L5p47srx8qS5PqYlSD94pfAEZGQzNcRPd+PycUG6sI8duMmVoTYoOZ9wSZgVyWhrMAuwPuaHWV1VRnsZucEpx9WvPml6kzpiGUIcspuUUdYN3Ho3d2T2DvNCOUTHOhYEGuLfW1IJBPUrsPVvXT2+bPfQj1skuupHu+tbCJ4svk0T6x8hFvbmzysHmUu6GCtoNF0yEAgMpAJyEQQBIrFmmc+Sa0gcZA4tCmxOC7VHmbT3id1I98LdUWr2cAFMa3llGEhGVW+YkJJhBSIBFYvOk5ZxXBPUJbOZ+4EEm/ANUaCfZ9VdQjCgNpvm0UeDvlo+hwE26ggAQGL0Ryb+S7tPEU4gx0z/ZwHVXEOZ5VnCsUCGSr0sJL8+dIBcHDgyZa1pvIG6wU03r/IhRcjjDW8uvvZ6vgAkTikLSftWis30bKOEQla+ActsCMKocBYHkwybTOH2arkcU4TLYbIR04xeu3QHzCuv7YQ1CA5hSj2psyuRE1AIPnEAp1TS8iDlIPPxYzMGVq11I8dZzHGQfC1mV17zWehVrHLMusX6haMdqjhIUIpRFjzzWRFleVU4Bp+nDblAn1uUdz10khzMZj4B7bUCkpKzjQvsVv5MIXq7ekp2pa8ufMiSdDAOusTDgQ1VCJw25Y3LzvaR1g54BMWjcNV/kZJkDBJVcrxjQ9jDSg407mEbI/Ig3mc82wkIyJOL+eoGlxqX6Js7aEfcpSHJfXdgDk5z14voja+mBDM9r5MmU3vFck2h2eAa4ah6QKzeCTNM7LQDuck8/EMZTG2q/dZDUXV7U3ZIQzO4oTxTEwHgR7gaCOVf65t7ojzCD0jMHI0+b0DyBo522adu91tmHuoYgQ7jN7hqrlOu5xn4mWHfw6UuYuSIIM2pd7ACfyGD47h0LG7r6EUEylwIBTamYlvpZSAUJRLJXZRQE8yHAluDksGhFUWSF8fYyFQoOxxP0frNIXImV+dZVGdYiZqsW+uQl8iOhFmNwNbJahw8HDzPMwU7PdnEZtTsGsssRcCUNLLyNHYCwFWRYxGIApHLAUoN5ExendPizMSGYST5yV+f4T+fOHfB+wDmwiiwq3HSQoChXXSe3oGAQvzApk3iEVC4CaKYXR0mnatQR2FUDHMJ0RbUJRgZY3ZVp3+/RQE5IsFwY7iG/Sm9/3zjR96EidxEifxmytGr+xSe3aB0hb8+ton+S0XfqfXpG+8TPLv/jz29HPk3/Y3+IZdEH+jqM+Rft+Pkfz0nyL++T+HGGwjn/xD2I3fxk/9kuP1NyxvvAGD4fSUpnkXf13cYOFnX+azT30cW+0y9geQptPZXshnqX/fCj/yy/+KZOe7efZpqNW+QY7vSZzESfwXEz/+4z/Oj/zIj7Czs8MjjzzCX/pLf4n3ve99b3vseIYYG9yq8x24k08kX5QaWYCoiwkaIMaLbCU4+/DjXOv9KsIqFsNHGeKTYDihyHRAdyvk2eC9bNtNZprLZH1Ly+1U+8ZjUkq1a6wczgrvvyXHu+jVItZVbApRIISXPDjrwa7JsSKkEz7BTLvH7v4GCRGrC4JgccR6tbB7aOZR9le7PP2omSyQd4ruA43izeVVszLFTiTuCcHeFw4Y6hHphQFmyS+2RNYFBMFsQvPZAH4dbAPc4jPYZB+G+6g0QL6pCfpVXRAYYQgP+zw78wEucwoeDahntwlaDsbJeSeGP97g2OIoonNstL+FaePB3GlL0hW0k4DDmsBJ573UqoiDBHImb/Qz4QUWlp9mZ8eDXUkYczg2JJZisjgZhWd8X+BlWEJ4Rp6MBGfUWW+2LSsQUfldFmk1VkY46ceIGZP2joJdxt/AqMoPaIwRCun9foAQxfKy718pBZGMkFO0BSWnyxPh/CIwjgUlnvUSBDBakegVQfuxc9TDJhd6AVcOX/bXl/4cwfQ38O2YXa2w6ZkZMmBGzhIEcPEiyMSxezynzJRdBJw7rdirqmYrYDYgICRgNF6wI1k89R7mzQUWOxdRZo++9gs41ZsCLVIKTs0r9jSwO71frKzHCseZPX1j+HPCABmHyFCwdPph3Ny3Vt9DK2zQCj2TMJIhmQxIT+fUt0FVmduwEolCKIkKPHupjDrHCjAGLQMlqZ8JWHkyRoQSJQOUDJC1JUw/o9V+H892VqbAU9XOw/gsCEExhUOQ0jvaCwnZtQOKtQHNj64w+LVd2NQkZ5SXnIGXMYbVMzpBUJ2XMjbq4Hag8C9LIgwmeEUYCWQ9QY6mGRfD2tiS22K0AwXmVANR7+OujTO5+ncrJxRibGSVMpHqagNRXkJDUaQOW0k7ZcXsctHYdytBbilKV2IeLzBn55ixp2jU3kMoaxNQUQif8dHMPMxxEaOPe4c+G7dxZcXsUqAU0aqEuxq9byfzuxAw85GI/Lr3ubIzArcpIISkHUF/CkChBAQeFMtVSFCxY1QgcCIgb5xjGA1YOl0jLK9iVeTB5xBkRyH65SQJghXhNOFn1e9jABwglDUIMuyiYHhrD2tqJGM7+iDAuhxhPZu3lzxKOVwDB5EK0BVzzVpHFEPShiTxwKjd07iGRFaqOXHXoVyAnWug2WB3lE3KMDh9GwrLND2vQLqSOL0zmU+ccMSRIwiqOaOzw6wTpGXbWzmOwS7nuHkLSqeRpspIXMJDjXOkNpsMfim9RHCaDTnEGiis9RspeBZsEPjElEEASh+HZAo3IKQkqJ4fFQTMjNoMQ4E9t8hoNOCy0sznGUJLotos852SrpR+HE/Ghh9wSuGBdCEQtoRZhRMhgz70t+DiWUeeOyI8bcu56rfCQFwLJ2zHIBpPpB7sCgL8JhkDD2I6PbEukIHCuKCSHk/nT88C83/fa7yHLFxiNgIqwDys1/j4bxG8+prj8G7M7CKMrgbohsErZyvG5ze4NDsBu07iJE7iHRk202SXuyz9qXfz4sZnGRY9Pn7xuxDdOyQ//X/AtZZJv+vvT14K/rNF1OD+N/1D7L/6i5z/7N/m9Z/8Cn/txb/OyHR46CH4lm+GS5cEp1fhzGlYWqrR/YdPkfzwy3znn92j8d5pRqc8d+zuwe3bcO16wCfv/27uz/8D/txf3aHGAr/1447f8e2CZ57mmKzlJE7iJP7LjJ//+Z/nb/7Nv8lf/at/leeee46f+Imf4I//8T/Oz/3cz7G6uvqW48c75Sg4eHbAxTiC9ZyKeIUwBmk90+noYl7IykT4XAN3S+P6MQI1YQUIFLfuBLgDCETAqjoDjVkQd3EOyuoGg8cMS1c1rVnLLhbXF8hCQDA2XJ+CXeMMYUKADmYoaisU5T6rwVl6oosSDR57HILBKuHTEcm6AixxBfy0ggb1sMXc7AFRYshzxxd3v4xxBuWm87hwFqSXMc58KILZOm4AO3kX4wx2ufTGMZqKtQGylhC0AooPDHBzCg9Q+fbqvitn9fk6/Gx/3HgIoN+TbIygPxvRnmuSzCufpfFo7xwxPSldgRDRsUUZQDzjqNUE4dK48Z0HFqSgfFwRrIc8PP9ubudXgYxAxMRRQigDztaWEZWsbzwOFJ4CI5xCCcE4RaMQPoukGi9mHJw+C27kFxUiEGAKLBEoyUHzKWr2i/5aE7DLoY3ANmPcyCLzSsoYAyoCm+IXm4owEIQBrIhFmqpGegSYCo6AXe1GzDqwMKcY5HCY7RME3nMr7giSZgMpA79YHBwBbMeDibf8dRJjVs24L4WAKBQ4aalVGE1eJT2TFUOiXgdXD9h7wEpTCYU6sqxSUuFWnubdgLGa20AUCbRxx0C4cXnVA0SjemgZSIewFmcqOmB1WhgHMBpTKY9qiY5f46HGWe4+GrLWvYvYglpxHxGCI0IIhVACKR2HtcepzT2E3Pr3b2kjKQTnzgnqHeHle5O2q3PvudOsRvOEwRbgcEGMqGSLuqJOaioZpJD06he9jPEgJbvsQWhzkGNLz7exhauGo/TMzPio/E54ZpcFEXtfQZF7uaSIVIU8esDCBWM2oH/eGh3FiCmzSwRgLswi0u0JKBAEUBQcX5SPKrPuMwF6qHHGkeWO27cso8w/ikILz6oUgux954nyDLUlOSwHFM0BtfgcZxsf5o2d4+2aptBvPk84mwIHb2n3m/uXq2orHDkChRQwOPdBRi/eoDHa9vNmLGg8oRAKQhVhlipAoxrwcS2E/pELC3BxB7P4OHmtTWR8f8lQ0FBLaLtNHs4jEzBzT4EKEUgPyKCoyy6dVgNGFdjlptcFGDYeIu/u0xT7KFkHMvRZCbcsPX0PZzXzKuHWmmBt4Ggtz/g5X9YmGxtR0vEgnwODoxZBu1OBRAb0DQ2nNVJWstl1CzNNRLtF4YbsD4dIFMnTgt7ohvdEq9pj9XSA3vftnwVLaJeBhFZzOra1NtRVndI1fcWEw0rFuLLWFchSIBMPdgVS0YpmQVfJIt4CdkWeJYXEijHY5abPvAAlHsjUOx6XYyhUCVZY5F6YsHj2ce7fuoI2BTv1NrbWwC09in2sg/jyIQ7IKrzv6NyGlBWzrUSI4Fj/be1A2ofVpdJ7R7oKxDUOUckfD2pPMBtcnpRtDGza1jJw3dfPOg5ihVgcg13K7y9VlbWzF4D1yblpuAxCEoZUDyCTddeTT0B5pknx+WpOV8637fg38sSg/iRO4iRO4mtH+soeGEftmQU+c6uSMDYfpvYv/6j//nv/31Cb/c92P2sdX/ii4y//Fcv3/J6Q7/7f/u/8w7X/no+d+gy/9N3fza/8/V/iH/8vkv/Tn5H8775H8PwHBKdPC8JQsPBHnyBYqrH5N77i/WSqiGPB6VXBRz4s+IO/1/LX3Yf5C//g/8jfPvx5fmDuDX7tVy3/7X/n+K//mOPTn3FY675OCU/iJE7i/9/jR3/0R/ldv+t38X3f93089NBD/OW//JdZXl7mn/2zf/b2JziIiFiVZ3hYPQp4Ro6sNvpFUe3ACoE4IqcRXumBsQopDJLk+DaqUGx3j7+cJ7F/kXYOdLUAN20BHx/CM7dxSWU6L0JsNF/dZzonuSMABwK0qlOWkAQRjy/Nc+mSIggEQkgee65Bp+XPXZB15qIO5+srE0bQF+/+MsNAUc6cfZs28UwCV5vFnX0cGXmJpnkio3wifevxgJiZ9QyggMmiKX8UBpdSdBRBQ7C4+jDt6IK3sxfiiAk7XvbHg1iEw2FBSLaLPUpKYtnk9Cq0mtP7IMF8ZER0zv/7Wn6HofZIizB+5z4OEpQat59ECPjow7+Li/XT3sB+DGApwcWnVn2mRKRnylTQi082p6dZOR1EsUAFnoknAgmm5OyFiEsPS7J4mYPaE9Udx2CX4X6rTfGuVYw0yEJQiHmKJ5dxRyRWyvl7BDLkVDLnFzJH0CglpmNhaSHmIx+CpSV/zu3umwQBhIH3/xonlDnmzzX2zuGBMV39e/ypnnuiajJ17HOcpe7xFL8I4/iG0ViuVFTP0ewsxEHgMxY+cIwv23FWg3xg+aWQKAmX1MMTRmItdN6jy+TIkZcKj8FmGYQTDyFxxDjnLYDe3EWixinG/D3v1ZNQqg4ChQgkQoGRNYaFxFJybuHU9HxRZdqszwEQLDWJH+kAMJOsYGJBUl9EjDcFj/oaCf+ZNoqNzrew3vkEJmyCsTTKKfPGdHPGLe9KPMO0AoWji22Sx2eIL7VRzRDTL3HG4iZgl0dxRBQgBQhrfX8pPze1WpZHHobOfMDKExJqyssYAVuBC+5UhFhUk34+6s3kxoBmItjvQpE6DKCcnYIJ+sjcGUicCsieMJTv9icbjhvyj7G08fn15Osvxcfj2mfAg7I279mVaeUZdjEgXvHAZeubz6CfUhBX/R2AelAzOv5nWKPQKaH0/SRDQUed43z7A74qwbgdBVJKanXPuGzWBFHV3W6cUhEmD0+hZiZgRCgroHNWkj7jn41BlRMxEy2MdeTRKoczz/Hkk5K5OX+RKIgnPzdai6PDaiJ3dkOLVLCSPIQqHXamQSBiRnqICy22ucTSylO+aKZEVBd57tyzPL28AsKP+4Oyj53TmLMTfTlCC5bmn2L1dEij4YgiMDKcJE3ZLa8gjPC+luNQybSI0m8YTZ5HUUkC3TSxinN2Mhac49jccaT3J5+LABIV8dDsU6zOXuCxhWdIgpon1gmFDCNEc96DQQ52KnB1DNJ7j3wv3+3MCJaXvacW8xIxI0nb3itwe8PTcW1l4uhcAEIQhTBILh2TOztXEcLjNsP2E+TBHDv7IFYDxNmAIJQYF3gW1xigqs1yf/47jlTRX7DVAteoNvOr5BtKCZJ2c5LRt96Ij4Fd4hvUMp4wu07iJE7iHRn9z25AIAjf2+HXf/aT/Nazv53mv/mTiOyQ9Pt/DDd7/j/PffqOf/Mz8DP/1nF/078U/97vh2/77ZKLF/4A+c77if/9/0DnF/40+vo3k3/TX8K1jzM0ZD3k1J95hvW/+AL9X7pH+1uPL+DMYcGdH/w02ec20U84DswWj//ai/y/PrHLle/9GP/0JwT/57/qeOgS/IkfhA89f8LyOomT+C8tiqLg9ddf5wd+4AeOff6Rj3yEl1566W3PeabxbkZlTFhlUjKqDvWMqEwIXEgoJXE74syZGu3ZDkHH4LQlISZOFLrW4sPt99PjNKPdgFYrZBRoTi01MaMGcelXPQ8/pMhW20TXYwIVIiJBHMfUAv8nWKJYIVWIqD1FVD8gadSo1yPCsJLY1Rok8RCihFotJonrhGFCvaWZiQKYbyLCBFfWaTYtWewX+YvtBsttD54dtGdoVGbwIrbUF87gRveRUYQI/StvEkc0mhHBox9G1Gdp3f0MZZrAauRldwR+Z1kJVLUCnj17Dnn3TeJ+DI0GH3v4u/jk8McQuSSpNWk2m6x8xzdR/Mo+9tUDVLiGC2PiKKbRaNCZlTRcA+ecvwZArUaDOs1mm1JZwiDkE+9/lpWnPLBgb7ZB5MQ9f3x79hR7+z26bkAY1CGKCC40aJkODRo0ZIMwyEnimNnZDp2LH8V+dRdw1DuWMAtxtZjOww0uvHmJZvNRmrUGUZSgdEgQhKhAkNRjwjBExZJaI6AsDK12g2iug4kCkk6bzrkZNnSII/HHOoUqA4w0NBp1aDQYRRIlJTJqUFvpINZ3wYSgAjqNDr14h0CFJImg0aiRzM7R2PF9Nzszz0OXNtjasizNn0IIwaiIaOz77y9esJxuPcHZUzPMdvymVKb6NAb++/k5b06vrZ5cUxvHfhhxSi6yzxZDtcTcqRVmZ0OacxHEMUlN0GgEfpEfBzz7jCWKBFIKZuodenFMHAuSepNk9aPU+i9gLZxdaPBMfY7BlRFd7YGp2eYMs7NHNsxuVc+CcNRGNWIZV88GNJtNipFkpbbKYtKmZ3eZ7YQcDqPJGFTSEgSOOI6ZnZ3FmTncqIFo1hHVfYr2LHl86O/XXEDMnaUzc0C4ExOGiiQAGTRJgohaUqdWr1F7dgn35lle6/176rWY2Zk6+1v+WRm2z5EkNRoXH6Px0IcQUZ2ZOcvOxjXmWjXev/Q8AI2ZORrJIcRNROmIY0PcnCMIGtQbilrLP6vL5xrUZ0M6jZhs1uK0g3sl9UYDBjFKSlzN0WjUkeO2m/fPQ3i+JLvbx9UbNBbmqdkORECjQdSao1YbEpeK+bk2nXmHO2iga44watKYCWm8v8OtL7SQmylRFBE3ZohNjHsoQDhNsynQ2lELGxB7RlcrdigiVBJiQhgNYXYpJIkThFQEfuVNWAtpNPw4S2SLRrtBtOApgTKJmJnt0Gj4a87ORiSJYG6uYDB0zC+0OEjzt52/AepRgzjWNJImc3MdHn5Y8PmfrRP2FTQUcSOh1QoRQtBcmWEmnaOM75HECbVWjaBem46zuEOvMcQ1KqNyqZhvLDA7O4sdZiTJLkHdj8tOOyCqQPJOs0Osezz3TIc3X+gSZCFhGJLUGsRR5B/rOELECh3XcWFILEOayQxJsk+jEZCtWPaeLmndjOjVnuC2vE0QQJzUqIUt2m1DFIW4MKLZalHEJWFoMWHsfw8qeWt4qkN3b59YxczNzvCupefZaC9gOk0atRaNSBE8bhFhnYvv+xbufu6l6vcggUaDmdYih4d+8yGME982MdABtVkhngZmVh6jbjK6OxG9Wogt/fMSxIbAhgQuIKnVUENBEiuYW4F93491WUOPQqI4JI4ViU0QYUCgFEEcEQcxoQw5d67OxoZldVUR7baJRzH1mqDjnuZ+9gqhjWiIBrGMsXXh2aatFjMLc7hGn9qojqs2rDozfr5pLHUYdWNUHLPf+SBzCwve+9E4as2UIIyZmRUsnG+w1u2Q9BOoMH+TlJihQAY1wsj3YRzXmZ2d5RPf5ugPHIPLj2IaPeI4ISxDoggajQZxM4HckSQ14qwC7OfaHKw3SOKERtiazIfNVk4/+DaUGdGIG7znmYDVVYWzHwWTe0+8I2HPNInP5bzn0XcxtAUvxT2UDWjPvj0b7sE4AbtO4iRO4h0Z/U+t03j/Eq/0P8+o7PPbb76MHGak3/sPsUtP/idfv9d3/ORPOX7yp7wH1/vfB//NnxB89CMQhlOwyS49Qfpf/QThi/+E6HN/n/qPfoLymd9H8fwPHmOWzX7/w+z+fy5z/699icYHTqE6fpIv7g64/Yd/meJOn7N//2PceexX+buf+/P8vf7/yuDvrPHc02/wrf/4XXz6M/AjP+r4c3/B8eEPOv67Py1YXTkBvU7iJP5LiW63izGG+fn5Y58vLCyws7Pztuc0ZYtBkZHjX8K1ClC2pCg0WpcUpmBhriAIMvrDAXkxwqaGIsvZ3xds7Q5YRJOHMbkpCC4MWWlZhMwZpCELIqfT8ayX4SjDmJK0KCnNiFzlzBKTVzowbSTzdhVtT1GMtjBDS5ZpytKDXaYoyfIcrKLIc9J6Cf0MIyGlhstLKAwizRgNB/5YGTIcTk0Oh/Fw8u+N3bsMh0NUnqMKUJU5eJaOGKVgDw8hh0F/gB4N0HlBbnxZnXEIXRCVIS6s0dcp4WhEnueY4YjeYY9hKSl1Sdhq0R/0aXLIKM+QponThrIsOQzaDIdDhgPozyzg4ibpwTXk4T3saMSBLXlj/xa3ers4HZBmI7pdL+9S/QFiNCTPc+I4pjTTtozKECs1eTHCPF1j+PkheZFT6pIsz+j3D+l2BZz+KHL/JiWvUJYlpszJswxcTKQ79A965EVBpA3WlOhS4FCUZUkSSLJCU+YWRgOC7hZZnmMLg8v6DEcJtaKgLEuEgLqr09X7uGyEtENKWzDn5om4wCPzF+jHb5CNMpKgRTEqfVsqSwYMh5bs4GDSd8NkSL2WcvECHBwc+H7To2N9PVMLqNnOpL16g97k+/E5xprJZ8Y6ytKQqBqNmRKNJlB9ul1Bf+RIS5AyYzgUOJlNGFOjIsSc+QDD3QF5nnvpVFYwHA5pdCS1Ws6imiFNR7S1B1Dm5QLZkb4cR57nlNpRFiW5yCf9mQ5H5IUizyFjyMKpEa7Q5GVOVAa0gjqnWSQP55mby+h2u4j+EDUcYqMetlZJAk+9h1Hn3lS2NRxSp0Ns6zSyPsZBM1hlO8sp8oLClIxUyqAV0OtnGA1FXnCa06zZO+Q4yiKnPxhQDhUMc5xzDIdD0tRN2nbU0sRmiNOSbDQiz6Gfapwc0u3CuNtaczkxI3r7MTrPUO2IcnMEZYrMc6QTCAW9mffiHmi7QhWMDjyTy/QjTKAh3ULonCIYMhym5EPFKO1xMEgJqjLm5RA7DJHpiCxLsWmOrBcMMk09z3EUCBxF4SWrQ5MTjJ8zZQgp0aXDlSUmBoI2ZVGirQHtEFpQJOV0bOYFS2aZS7VZvnLwBmY0pN87nLTBwcHw/8fefYfHUV0NHP7dmdm+K2nVZcmSXOVesLExtimmd0zvJQmBEAgphBpI6C2E5AOSOBAgofcOSXAIJfRO6Ab3XtTL1pnvj9ld7UorW7JlS5bP+zw8RruzM3fqzpw991xcLsXIERYtLbCkpYWWtha6EgnZ50qbFSYSaaC5WREIRGipjVJfDw5N0dqaSDF87xEiXgfR+oVEwsOJWAbR1laqc0ajULRFW1gTWk+8pT2LKaDyqaurozkaJ2TFqC/MIxwKY1guWlrs7d1MK7GWFsLRKNFwFBXVMaJRWlvacIYjRE0nDa5J4NDxN7VhRSNEtSixiEmOqqCl5TtCbRYtTnBHY6yMfUdDQSv+qElbJE4wFqKlJUKVuwLlbKYtFCISDRONQizcRjQWJhRODBYywUXsqzjhtghNTfW01NnnUdwMM2FslFULQoTjMeL5URraokRyh2DWLsIydayWFpqNKM2t9vY2zUjqHAT7ugp2l9toOEZrpJVYNEosHqUtCo2NLbSF7O9OPRancrBJVDNpzRkOyoNy5KGa1xCJtmBGwsRiUUJxjba2EI5IhIipESZCJB4mpixisQiDKxTRCMRbQ4TDYaoqYViOyYoPNSLRKHFMwiqMsmKEwiZmWwg9ca2LhKOEI3b7m5ua0erqiE/OJxaFWDhMXdRPQ0MdDofCsizaIiE8sTjhSJjmNoPWtmacifUPeSqoLFzM6hVxQm0OIm4HjuYooUgsdR0zdFjvGUEDiyAUxhuNEjWgpaWFcMiiLQTr3COJhD+1t2NrIy1tETa0hAjnRlLzqa+3sENQORBrIR7H/r5KCZEuWjiUNZU6pRX1BBqW4jMGM7igmQ1W1+dNOunGKITY4URXtxL6rJbAnApe/ep+ci2dKW0x2o66C7Ni5y2ad2OjxZ13mRx9nMXdf4OpU+Gevypu+a3GnnuojEBXimYQnXo6rae/SGzMXBwf3Yfvr/vgePuP7QVYDY2K3+5KdFUri056iZb311L/zCK+PeR5YmvbqL5vb/IOG8Jew44k4Mzj8fGPkntoNWt//wnRbxvYa47i73crfvJjxSf/g1O/Z/Hsc1ZGt0ghRP+nOvRVsiyr02vt79n/enM9qW5ZOOxOTaDZhY9VotuXpnCNzLOnMaC1FXQzjK5D3OmhdepgrID9wOFxaVjKwOOB4qJk3SO7yHE8DjErgkLDFRiWaoumLBROFBpaLFl0Pr0boxNXqUbOLl6i06tgWqk9MFQgB6tgKCiNwN4V+Kfa3ahypjoI7JLZ1VxL2w6N4brkBgOgzF3IcF9lqkB9st+NpjQsy+xY7gjL6cVyuLH8JSgjrR+N0tCVTk7Qh2/kZIrKfan1R1PoyomuoFUPsN63c+o9s3QcVrAa3PY21uqWUBuupynWimnZBc51R/ttuZWs7WI4Ibcc3V+a2cDEbtTd9gNa6ejh9q5T7vZuU5qOpRlormQ3Ri1t1TWsqJXqRpLcdDkeD0WFUFjkSPU8UZqFphIPyLoD3Z1ZYGrQIBhSam+HdeYigpXfYmomGhpuPZ+AP48cdz6l7kLyDJ9dJL2D9G6fRtrIjElah9HzYmYs8/NZzoH01zQNwo58cv06Xo+ipNge7TK5OVbn7E5d/kz777SugVZeNXjyUImNallpXRSLa9BLR1DmKkQpWJ8zi7LAXJy+3Wkpnd2xMal/NDLXRVNa+wiFVpyi8P/QY+HUU1q5uwSXYRDJnUjergfak+WWY+ZVYRaMaF+E4bTrzaWtt9PhZmTe3uSMyEdpkKdVUKPZBe3tUSHtczoWS4xEp2skzw3TsGv+pG/a5DY1RrSfe8pIZFio9mmtxCABsbTd5CjzYTZFia1vQzk0fNOTXSYT2zZiYRYMwQqkdaVMbiN/+zGhdAWGGxVLBCqchl0DyLLSut+BIjmCgm53LcO0d6Bq78aYrBuYPGecToUzsToFRTrKqaiubm+HlahhhWbhatHR2zSstN1poeFQDvIcAQZ7SplUtmuH7Wf/63YrCgpUp/ptHUUT9do0pafqyOl6+3VT7zCao0N3Y+n2yIZ6QAEWhuZA14z2wUfSOBPd73SHRninSto8XsYHDmN65ZzUNFqqyLnTHmE1+cUSt1jvnYpROpSII4+wo7B90IpE3+gK7/hEN+X2ZZpWnIhfsW6CQbTIneoi7Dbc5BoB0FTaNSyjjBrK4bavS/aAuzgT+1hz67gcDpIV84v8FbgNL9OHzcVdMQ0r8eOxMtxErRgVFTpDqrNvc5/hS7UzeZ01dYNo1CRu2Qd0qTEMw2FnfSYvlFaitpWmTHRM4o5czOLRybXGxO42npy3lnFcJPs02tvbqfwAGOgEg1BUmtYl20het9JeS466qEGbozhtvsl/FZau2XW6wD4n0pbvKK8h2RPeikex8uwhh43CzLrF7ceyyvw7cViE/RWpaQ3dniAWs+t3dUXbRDTKNWgIMw+sxD9iPJ4pBzBzZjX5rgCW6t7ziwS7hBA7nKZX7GGWfCNW8Oayf7G75Sd67H2YZRM3e54NDRbz7jQ56jiLv90L06fB3+9SXH2FxvBh3cugsgIlhPe5gtZTnyVWPRvXm7fivWs/HB/dD/EI3p2KqPzLHoQXNbHwiH+w7JzXMQo9DHv2QPy72A9CHoePQ0adyn+XPI/2y0FoAScrf/0uAIahOOZoxb13K8aOgRt+a3HhJVbiVxYhRH8WDAbRdZ3169dnvL5hwwYKCwuzfygZ7JqwO+uL97NvtA1SN9wWVsZDiKs6h7zDhth1mgDNDNlFgjVXRs0ul9vAVEZ7vRbsYIXu0IibECNCXo7OoNFDMPOH2svS7Yd8hZ5aZDLY1eIajGW40VwK3a+huTQspdkjoKWNKqv7HDiK7JtvI6ChF+dkrK6eFkRojTTbN/hKEa8M4y1y4dKd7cGu1PooLMvEJPM6aBbWEBszCDOgMoshKbv7T8AVJC/PLgRtWYktqil05aDVPZR6d1Xqcxk382nzqo/Yoz0m69ZrhtZpOiu3ApU7CJVTlijuC9HxrZilsURXS4O8w4ZQOm4Y5a6d0ZUjs8aNAiOxDVXcfjhTGmitUayYieXQU9MBBHI9uD0K57Ci1CZSpolKZL2hO9F9Bukf0jSFK1GAuNZcweKG/2EZFoZy4HIr+8k32SjLTIwCmTGLjMCUrjo/GGkq85HFZbgz/s4WNMh4GERRMWYQg0dnKVGgErXkdE+W9+x56Gn7JhnsyvUWM3PksTg0A6UgYgRpco+gyT0My53TcUb2emida3ZpSksdI3lt/7NfQ2EZRuqTpWOq2GmK1n7cKg2zdJwd3GqfUfqiUs1vzakhkl+A8mqYrQrHYntI0DhR6sLLqY8uIRZLBKzTDlbTUBi6srsbpsk7bAjG0Lz2Fxyu1MLiedX2tSEhnlY/3yiwpzPb4qkBMQK7D8Izzg5EWAA57YPwZGwjb1pnJE1hpe1/5XJimvZxquvYmW2QKgmhDD2xfU0UVqJQeOfOTSNHwOSdNIYPg1E1EAhoDB+t4fMru/C9mQx22RvY4QCPG/IK00bGTg1PCCP9VeR7SjLKHXZ8sO/id4pOFFoqsOXdOR812CBWE6TNmRkEz3EHsfLiuEdoeIa0F1W3l6VQkYzJcSZq6SXbFY6Ay6VlnG9W7mAszYGWMxjSR/qLWUS1HMxEXSewR680lcsOECXqge059PD2oIsFMSsKSmE6E5Gk1DbQUhupPUhjkRH7Nlx2UlDc/u5yJkbOjGs6huZAWSZKKcYVT0MphcvwUOBt30a64SZmxTG0zoFCgCpvGVU+O2Dj0r2Y/gJizny7rqMJZmJcT/s6mxbpSWu/rkwUMZRuYP+oBMqyEuGuRM0u4hnnaTKYbw9cqFHunkqFowancuF2Q25+58CWlnahT15TNA02+KayPO/AxPZLWzlNJb63LdCdmUFEXW9fHwtMpfBMceLbKfM61ul47bQJ21/w+9tfHVnTdcipu+eA/UuBjhbwoFCpAWQ2RYJdQogdTv3Ti3AWm3z1v7NpURYzd78Ws3DEpj+YbV71Fn/+ix3kuu9+2HUG/P1uxZW/1hg6tLtX8ExW/hDCB99C6wmPYhaOxPWfq/HecxDGl8+SM2cQNf+dS+W83RnyyL6M+OfBuKozv4wOH/N9dGXw5Mq/UvLTCbS8uZrm11em3i8uVvzuJsXPzlO8/wF874cWn38hAS8h+jOn08nYsWN54403Ml5/8803mTx5ctbPpB5KdD1x4w3eHMXIkXa5assuQ2s/vFkZkSsADCuEGbdH3UoPHGi6PWx52FmY9hENI/EAG7dilBYZOB3tD0GaBpqyswvMxMhayeepqOa3554cZEnZIz3FYmB4M6+jVvpDmNOb8V57kfbENtNd9so4wD06eSNv2stNZdooLCueNcs1NkInOq3jQ7GGpnQKve3ZJz5nAKWB5TLQlINAhUEwP5Z6mMh4qEhrf8yMg7IL/ZqYGOnFpBPTlfrKAbsbX3IXWAGT2LBErbMs7e44+K7mT/zqH0pkvynQEp8zHQYa7cWUAz4vOd/bB2PCxNRTghU3UZEme1tqjlQwNDyq/SHSqTkI+GHwYHtebe4gTgyGDtGzBLtSK9ke7Eo7vpIDDRh6+1NuembX9MF7U+DNzP5RqvMjTcdsL5dLw0im7WQbqTHbU1ek2V5+cqNaYCa2XY47H6fuIj5oErHyaR2W3XlW9nqoTsEuIDUym6HFEtNp7UEkzQHegoxBJLJLnldpAQSlUIaTdYFdadJGE9Pb7xciRhhNh7rYosQy7WBXcl+YOhi6hhWN00l6QC3ZzniMePFYVubtl3ovPbMr/cBUiSxGPc+Fc3DaU3EXG06lZRMqTYEjLdjpdGCaYDkMkgkksVEHYSZrr2q6PcCjZdqFwjU7MzWdBbjcGg63A11vz8LXvHawWykwLTB1JxqKuObG5QKfV1Fe1h4kTQ922TPQOp2PPWXooNIC+Ua+A1WkEwvmEiUz6DssfywT80ZSWJ1jHy8qPRCnoVoyrxdehz/ZzBRnh1JImitAfOS+aO4csNpH+Y2vtVfMlxy0EDu4GTKKCAWGETbau9yPK5xNpWtXAEwzhpWM2ZI+OIqyd4Selk2oLPy+9rZYul1PUSUOrGRmV1zp9nXDsq9FKu27wKGlZwU6iWkGFAwheRAP9bVnI/kNXyqI5DRcDK+YSdhXRdSCVautVGaXwkhleybPBUexG0e+hoaJZsXbg64mhByFFBaZxDV3al+mHxfuxMijSoGu6xjKTaFuX/sNw/46sHyJjK3k90radSSZLasnv9uUYnBFh4Cebgd5LZPEyKntbyldT4TlSBSUVyinQnU4GLq6VipI3XCEjSBR3U9eXvsPaw5n5+Byp3l2k57rsq/tZvc+KMEuIcQOJfT2F7S8sZqymv/wQlEBQXchk4Yd1m91eQ4AAQAASURBVOP51NZa/HGe3V3xgYdg9ky47x7Fby7TGFK9hXc2CWbpOEJH3UXbkX/FcufifvECPPfOxbX+v+TuX4l/l9LULzzp8r3F7DviWF745gHCB7twDPaz+oaPMh6KNE1x5FzFvNvt4d9//BOLx5+UgJcQ/dnpp5/OY489xmOPPcZ3333Htddey6pVqzjuuOOyTp885VNdi9DQDDvL036uSGR2KZWRpZW8CdfNNmJx+xf69GBEYaGG3wcFO03HTGZPaDqGIzkKnoWuO+wARdqogsmb/PDEzGwiO4ii7O4ZloXSYG2iDFmnrt/pQY20QraWJ4iWl5m1E46F2kfayy1uz4LJSCxSiVGyOl//lFKdMors7aNRmTeS0cU7MbFsV2oKJ9mb0O0gOrEKbZROSVmMRE38jJv5jvOr9lfZo/m5LdzejBQwAMbkj2f/0ceS5y7Ecgba305040sP6ETGlBIeN6hD9ojC4UsOAacwTYUVT9sGht1tLTkbQ9PBFQDd0f4wZ1qo1g3g9NoP74nZmXle8vMTn9N1XE6Fy2vPq9VdQlvuFHQj2XUyva9XeqBJZfwL7aMxOrT2B6307eZL3w6pteze925quvQujunHYbKJugPLcGHlJh6EtWRGBhQ5g4woHM/QoF3f08opx/JnZiR1CnCktT/5kGqkZ2Yk3k52UdOVjpUY9k4lAjtqU1GT5Nt6xgHevr/GDCJZ9z06tBAMleje154VoqUFuyzdfljumNkFmce0ciT2kxntlLmUHuzS0rrpKkf6eZwWyOoioKcyTyIso717ldINYqOKCY8tSwUNIX172d3i2gNRdrBr5Ai7Cy7Y18pYzYGdUq9UaTlWQRWaZgfgjUH2tbCoxMBhKCo8pbhc7cGUNqNDZprSNprZlSU1hjHFUzL+HjkSZu/avmK5BW6KCiGqBbCKarD0tPPEsih0BjvNE0Bz6MSrMhvgddrBrvTt5srsuZba9rrmTEQOLGoLJmOGXCjLIuCH3XdTBIOJTD6lMJ05GauW5y7Eb5Sg0LFovwSotGuPlfgeUppKbafcPHA4FZavyO6ya7hRBqlglyMWxXLqWFr7yKxuzQlpo/umd4t26C4clTNQvvYfasrd7d3+kq1K0nUDTbMTyUJhC5MICsO+HumZ07uG5uAq09BiLYCFK9D+/RQ18mgrm4KlGegqOYKsvW1L/BVMGKtTPghczvRguKKqEvJyFfgLsHLt4Ffy4pJxPUjEo9OPtcoOgxGbHrtovhUHEtmoqTXQNKywfZ5bJpgkjlu9c5dyAHcixho2PalNEInCipWwLrAra3J2R9cVQ6th6JCss2hfdg8fmZxDc/AM1zGLo92aXgrUCyF2DJaF8fkT1F3xHrpzOOrcA3jjq/9w+JjvpX5F7o5lyy0efNjiH/+AWBz22RtOPUlRWdk7Aa5s4lW70lY5A33BP3G98X94njmHeMl4IjPPI161a9ZvilMmn8+/v3ucOz+5lnN/fhHLf/YGjS8uJffAzIfBESMUd86Da6+3uOUPFsuXW5xztsqa3i2E6FsHHnggdXV1/PGPf2Tt2rWMHDmSv/zlL5SXl2f/QFqwy75MKJQr8UBBslZV4tE2LRi+pnAfclb8G2WZmCaJrg8xTHcuWqgBh9Ngxi6Ja0RjchlaaphzsB/WdWWkum0ozUIpDUvXUjVHkik+ltKIxOzi1JY7l8rB8EVTDiFHIY6qURges70bU/qlKS2AEi8ejaYZVOQOpdhXztqWFRiak8WxEKqtFqt8Cqh3gIj9wJaqVaVh+osxm9ek5mUonQgwvnQXCr0damUlF60UZYH262mq9o/XB4n31icz1TJiWJkPmznOXNwuhc9toTS9PeSWuq7br+R5CikPjmBFLIy+/huCDh+lxVMIetofrs0c+8EjoxsjCt2ZyLirVvayHBYFiRhOshtjMsChklnOmo67WseMWjhLDVRTPa7RZaiKwozh532+9gcvlTjQlAaWQ6ESdZFI1LXR3SrRi7R9J5qFI4kPzgwQJLtWVeQOpbu6qlvXUXvQLEtmV/qO0h3Eh+6Z+tNIHLNer72swbnDM+fbMYixkeYkH2an542nLdE9NBls8PqSwS4NDIPItDw0xhBvjG/6qTB5vusK4gor0dUrlWFYFqA8tB63C5Y4dTuLRGuvG6XrkJZ2h2WAboIV6ZzZlXEaJjK7VDzaqYmxtI9qRto2Tw98aTqakYjfbiSgp3kNzFa7+y56WkRGcxAY4qBuWYdATSrzRrO771omYKbq4el62uKSJ56ZGdhTwydiotDUN7SF4Jv6QnQ0cOVi5hWhwlGUAxJjgBDXfSwPHsR4XkjMILM2Usftky1I2/GeVNcUzrSAIN58CqftimrNIydXYTYNR1/7RaL9mfvKyq+GdYAC//4VmMu+ynjfbXhT2yIpmcyT7y2itrV98BPdcBMbEcLa4CDWmIO+ocUOhBt2za/0eaQSITvESXUMLCuW8UOHlfoj+cOIhsOpKC62KKlWRBYqu1uwy49lOCksVrQujeJ3m7S1RrC8TnJz7KCWpek4tcy6dT5nezaj1+FnVNFkcMV5fcNDdps6dptO+6yhGyjsc8G0orTGa3FqPiyrPUjXHmTWQUFhoJmYBmuC9vW4fROYiW3gIEYIpcHoop0oDVTa2ztoz8hptAeYcnISgeeM7GD7tVTtP6VSp2367996h9WauY+TUCPQBGg6ZWXQsLB9lT1VOnxiYlmJbF7ICKSm83mhvqUGh8tJCV2ftkVFCq1eEc/yY1LSpmp2daSUwjVYh9ruTS/BLiHEwNdai/ulyzE/eYcNX/2YghOreTl3EVEzwj7Dj+3WLL78yuL+Byxefd2u03DggXD8MYry8m0UFFKK+Mj9aR2+N8ZXz+F863Y8T/yAePkUItPPSgS92r8xCrwlnDDxPO764DoO3+903CPzWHPzx+TsN7hTNlggoLjmKvjzX+wstbXrLC6/lFTxXiFE/3HiiSdy4okndmvalsAY1obdlKr2+3fNq6DFfrwwMUEDR3UAZ1V7toylOYlrLgyzjfJBsLRZRykTK1hNPBZCy3IDrNDSsjLsosiaSqsxpIOd3tX+kKBSN8AKb8CBWbUzZmkJ5UrxxZca6/3TmVQIqij9WtS5q1/6/48stGsv5nnsX+4X132FFRhkZ3BlZBEl/h+F5fQRDxRD4yoAnJqTDqVtNin9IXb3IYeiKY3abxMtznjYVRm3/cnaU0WuvIwumilpT4uGcrRHskwz9ZDUUW56z3ZlB6Eis9qw/AE0S1GQA3F34iHK0DMeuK3ymtRfmlPhH+vATBQxd9fkYBUEMBMBAa3DjyIjfVWYxaP4MPItjrQHTBTtTzSKVJdDBVi+fCxfZrDL6wwk6vxkzn9syVQCruxZK92WbVCWLJldHaNVDqfGyBH29382Dgd4PNDWZv+9sSSsQWWK8IgDcde9iDsRtHG5FKNqLFqboTlm1+wCjXhlDlqtm3hjyyb74yiXhlHoxl2TR8u7a+10FFTqAdgw7ONP1y0sh04wL/G6Q0E4ka2hrNTxEHcpVBj0nCzne9r66YkMNCyzUzAnvWaX6iLYBQpvjUGsyUKryety/TSfA7M1Zi8j/RqkFCOGWwwqA48n/WRLNMtKHm9m4pqTvA5A3F0AbGg/JxP/o/kdOCv8aG4DMy3YF9NzWBM8CM/6pxKziW68e6lSKC2zblbm21mCXYnMRrfDSyjaCtgZSRm8+RQke3GnzyPefuUy84dihQthXVPqOtDVsu0sVgvTaj/Gx5fMIG62Z8/ouhOcFvGyCLRpqHjczsRVdhsi6RfNDquVPO00DDuYooHdy13LCPAbQUU8bO8vt0ehVLKuZGKGhhtvrmLwoDiRT9djNkUZN81DziRojeuYRTU43B3qmKVdM5RSGMpB0F+M5fRhObxQPBrWv5e+YVL/q+k6Q3J34mPjA6JWCxYxAnoZxJrTzkeV3ECgwIjU4chxMWPofjSENvDlV+/b+4NkF2VH4gcnlbX7tdtIBsnSrsuFQ2F55iiFWvp11EoO+tL+vtEhyuPxaMQH5eFoWIHlL2FQQOEtg1Wr7MuzNW4P1LsvY4bidhBXAzoMFmJZEJ5Ugb5yOcUVXooPrsBrmPDwSix3FxfHLjgMiMY2PV02HQcs2RgJdgkhBjR90Wu4/nkpKtzI0rqfY1kaBWdO5aWPbmBEwQSG5o/u8rMrV1nM/zfM/7fFwkUQCMApJ8FRRyiCwT4KBGkGsTGHE6s5COPzJ3G+/Sc8T5yBmVdJdMJxxGoOwArYX/RHjv0hL3x9H79/50Ju+sldrDznLRqeX0LeoYmc4nATKtICmoHmyePsswxKSix+/38W5/3c4vprIC9PAl5CbK/i+SOJ1DfZXZUU1HvHUuD6FEJunA5FW8TEzNHwTMhPFYwGiEUBpVE+KHENaNHsmiBKA4c39TCWQcu8cR8aHIuutUfZUvEljdSzQTLsY6FRPkihAnmpoNWY0RAOZ3kYTM96yBLs6or9UNU5xcKu2WWmPQJDwPDRDBjZ1rOr+af/op4ISGmJh9yMZna4Sdc1g5n5k3BqDjLGhEx9KG3kNU1Prb/ZoUA7QM0IeyUyu35m/r+GQgs4kr1esNKCDpFdm9GcWR4irGQfmeR6KYYOsSguAusrlWqjoRl4PEHKPUOI+UbgdK61P6cp2jPpsmezpMvWdRSgxD846+v2mvU0syvts8njUXW13QClbfQHIF1XzNoV3n7Hoqk5SxJW4oVB7iIKA4pYiQZ1mZOk7zdNaZ0iZpvqxqiUwj+zLKP5iZrOifnb/+blwtQZOh82JjJJEsEurxesXD314Yhf4ZhcjqsmS3ZH+qHqSOtGt7FujOnt7zAYg7NYx1kMsfzOx3Xq8z4D1oEZimMFM9ukaYpA596tacvQwIqjLCvVyFjNAYTWKfjuhfbpEkEDPceJOxF4U7qyC+AX6ljK7uaZjF8ppVBZnvHjg6ejmuzgeU/vopLHocfwpYJdydpaXa5basF2xMnSdMyCYbCqMTFJ5y7ZHbtLkjiVkxlBuqanrmUAelrAzTJ0O2ATjaM89mcbGiE5RVeHqkJLxmDt2JCppbqx+ib5cHraiKxU7auVujAng10unEUa0bUm4Q0hlFMnd4gXw6EwLAfoLpyBsoxl6pqBzxkg112Q8TqagVlUA+7cjJed5U5C4fYV8Rp+TAOilh1sMpQbaEnb7MlglyO17yx/KR6Hj1CstT2+niimr6cdMNmuR04j89iOl4xBxfOA1ekbMvOz8eQPEGnrnSUI658zAuLVqZEj84P292x+Neh6AIp1tGYLlZu4omb5YSsZ1CosUASKEoG78gARPbfTtKkGZQvquSGa7VrZDdawvTGN7v0kJcEuIcTAFIvg/O/NOD/8O/GiUbQc9BfWH/gJuQeWsdS7mK/Wf8SPp1/d6WO1tRYvvwIvzbf4PJEVPmkinP8zxb77gNe7GVflrUF3EJtwDLGxh2N8Ox/HJw/heu1GXK/dSLxgGGbxGBzBas4v2Z/zv7uDZ4MXMqviANZd9S9Ka19Eb1mJCjelZmfpLsyiGo4bshvllx3LJdfnc9Y5FjffwLbLXhNC9Krx4wx0DXJz7aeYiBGksWR3CsvqKfY7afTHieZ1/sU/FLZ/VXa5SLtJzcwC6EijvRujGzd+Vx661pIR7LJQWC4HAWcuAa8H1FoKC6BwsD2Nntv+MFU+qIvrTtrTtJV+Z99FgCQ5WqKmNOJKS0viaQ92mR2CXaNzhhMsHpnKDuuObK1NdgdKf+DvGJRRykhl95hp62MW1oAZw/K3F2LXNQM0g3jhSOK+zALtQPbu9On7yozj0p0Yu5RQ/2lqpl0Giix3LirUAPFop3kNSwzA0pi2GAswDAdjCydTqFloia+Y9CCN5Q60d5lE9TwS0IXudmNsX9e047l9Jukz7LiAnrWni9jr6EDXXTNNfzFmrZ1Fp6lkZDhNTyqdt6dPpv7XYbR3BcwtNFI7r6rKIrwUvB6o2GMMCxtraQy3YjoVBVXOrNs2o4SWI3tXJ7DrXGX/TPcD1UmuoTlEljZjFHtAz1I0v1Mbk6ldYGmGXTQcKxX01nSt0ya2kt0Y0w8FXYOx9jpaykjLDrPQxw9D1QyFdzvMx1eIlagLtbFuWtnOvfYsHcXgvOH4HB1H9uw4k7QuoYlgl1kyDvS0fadlLmtqxR4ZGU/2gu1/jC6SZrREgGSIt5wFye7PbVFULiinxrAhsPyj1IplmzWWZQ/nqGlONC2KMhXmkHzc+U4c3kb7mMwo/N6eOZZcV2XoeOeMxF2YWZbDZbgxdEfW7M/pg/fOvlJpjY2ObiNQ4ECr8OIsGUzTyysS9cO0RLCrDYVdc8vOeuqwrk5n+/+nBaxS6574iUHDwaBEPC5bhlLyeGlyD8MMhLByKqAx83hXTj0V7LIAo8TOBstSxrez9IE/NEX5IIglAu1rg7NZk69T2PK+HR/uomZX6ipq/3qBc1wh1qLO05kFI0BpqZFR002eBHX17V3Ee8Lh8jOlap9uTSvBLiHEgKNqF+F+/hfo674kstMpRGb9gtr7FxJviFB4xhhu+d/l+Jw57DvC7sLY1GTx2n/tANeHH9k3ZyNHwNlnKfaaAyXF/TjYozuJ1RxIrOZAVN0ijEWvoS95C33Fhzi+fJZZwKEeJw/WvsmU6To8fggbvptIcM40rJxBWK4AxKNoDcvQV32K863b2ct5D4/+5Ey+f+dJ/OgcJ7+/mc0eWVII0XecTkVVVea5qylw1wTRvS4cEfvn66wPXGi43GCpZE2nTWVOqVQX6THGeBTJWij2vHM9OcSH5BIpLma3ijJcLkVb8Zd41i/CdCWyfhzduFNPfzhQOpZmoMxY18EuVOLxNpla1v5O8n3TyqyHpCstaxfB6cHxtA2alXU5yYf6vLQft0cMhw3vduxWmNlOrauAncONWZ6ZeZHaB05f9i6PWaUFmlwBcBVA6RgC+Q5CX9UxZlic8DpozhI7iFfPQl/4H1SHzK7M2Ss7Gya5mMSDakmxornUYz+EJd6Ll04Cp4FqaMnWPKqDowj2IMDY1XpudKpNBG5S69Npop4Vlukcl9p0+8yKnbFWvgbxEKCoyhnKKpVW36gHATdlaFhh+7hOHpuGA/yzyojXhzO2g8MVpapSMbxgHC6Pl6GjFJ8vMRkzGoJdZHenv5p8OLcMV/fr72xGsEsPOMk7pNr+w9z0ZxzlPsKLGjEK3LDeQCOOy2ESTdYRVAojMSBAst1GkQfN78A9Mi9jXr6gIloPFjpKxVODHOrVFYls+q5rEm18t9lvVgdHsbjOrqfld9kXkaq8kRk1+bqeRefMrg6F+7C7MbZPlzU7N/leVz3ENJ29iqYDsCCRmae1RtA89ii7Q4fCMrcDFY51Ov6Tp1TEb6LXgVPPQdc3QEzD1DTcw3NRaxOBlVSRubRrS9pGjNUckLV5huZgt+qDu1yvrlhKY7ivEl+uG4dTw9R1NLdhfx9p9gilaIq4FcKh7L6jKqNbaOK7xHClToxkkMgeAMV+zaQ9s6sgPy3g3wVTc6W+A9K7wgL4dy2l9gW7zmRsuIaz3M78S2ZvdhxRs7uihn3sKSvWZWZXNl0FSNEdmEWjsr7lcilKO/9m022dgrVdkGCXEGLgsCyMzx7H9Z9rsRwe2g7/M/Ghu2NG4qy/80u8U4tYXbWOV59+mqPG/Jh33vQz/98mb70N0ShUVMCpJ8M+e23dgvNbixUcQjQ4hOhOp9ovxKMQC/G9UB2fv3waF45/l2s/OZzlr0/G++tDM7otJam6Rbheu5mqb27m6SNf49QXbuGcnwb53U0wqmb72yZCCFvaD+OZL9BF/QulYegKS0vWBdnU+a/QNHskKU3ZI/bZozHanx/vG8UXhV5w6KlFW/4izGK725Jvl+7d9Vrp3RiT3frMGF0FEzSlYVpmqnh6e3PTg10moBjiLc8yMlc7v+HF3cXDZ24uFBbAqJr21wIBxd5zrIzAgqY0LKcXFWlNNCM92LXxbZw+n2yjR2b/kP3P8MAQAoPnJGoU2c8wvukluFatodmrQUtXM9AgnkhNyxqU6NDmtGiHf5advmCGEsEyXUdpWipo5zI8Geu0sbICm9JV18dO06FR7Mon5knbz2mrYCktEdzbvO+79i6R3f9MvGLn1OiCuZ4i2sINGEpnWHA0Q3PLaVlndwftSbxNORP7VLUHYnUdNI+B5sl8/IsmAiT2NrQHHSgqUsQ3kkmWeSopYkP3AM2R6KqYeWzm5thd3DJGSuzQjbHHOgZzsjAK3OQdNsT+o9bBqBExIstgSTytvmkBhCbOpCi/2Z6tUydnr4pO8yofZAeyP45qQBxl2uuZ7T6qo+6sXrJOE9gDNMwZNnfTH0otIC2zK5bof5e8rqRd99PPkWxB32RQpmOtp5S0a++M2ToffGlndmme9q6nkRFFuD5bCSqzGFNyksjIXFqbIviNAOgbMs8yLTlKYXr9KSuxelvx/lMpqrztXR8tjx1EUU4NpamMzCMt2QVRpWUFpmVRpmaZDHYlU16xL43VVVDsctCW+mj7h0YUjsepu7MHjDt0SdRznDiG+OATu3h+ksejmD3T6jpg2U2alajZ1THYlTy1PQ6gfR8b2RPA+gUJdgkhBoZwE675v8bx9YvEqnYlvP/1qaK36+/4gsiSJoqvmMIFL/0EPZ7Ho9eeTVuDRWEhHDHXDnDVjMx+A7Dd0h2gO/C7Atx84JNc+tJJ3DP1r3z/odNY9ujHVB6/U6ePWMEhhA67DeOr5/H+81Ie3OM4fvjWXznv5xXcdD1MGD+Ato8QO5BUb5bUj+btd9RGhyK0O00Cx/L2p6TB5RCNKdYBRb7O3RHs+dmZXcmgmGEkut2l1WpKFohP1SpPPEwbxR4cJd7OM826oPQhvxyY+UPQ137Z9cNvauQqDc1qTSuGnMhYUxqWZWd+OTUDl+7sbhgpg9OpmDwp2+Izr5kKsHzFqMhi+++Mdm8iey49S8syNzJlxyVClW9wKtCV8a7TgwZYehdrrTSwEg812Z7CErENR6FGeJW56X40CgzdQXWwJjUSXG/obs0usBifM4J44bjUfk71mlKJBrb/kbaAnn339WRyy98eeBtZMI5K5cGptddVS+lBN8ZUlqRqLxLfcddMLNuVT1a9STQxImS2Ytldzr9jU5y+LqetquqcIa+cPcuU22KagU4rGiYW7eecUoqKEUFg41kiyu3DFW/BihlA1A6iY6K6kcrmdNr/ja7p/F7y+rBl955pnw012P9qeoe3VEZ2brZ6hMnzoctASbLbnLcAd2775zV32gcMnXiuF001Znw0N1cxY7rF8tXT+OK7WtrMutQIg8lgbHuXuVQ1+7Ss0d6/95w+eG/7Opo2Amesaldw59mL99uBnkCgfdnJbZiXlyX4rKn2Zurt2yf9OhPwKwYVOPluQ/K19pkkR3iNxTpfi7MNguCuCRLfoGGWZr7ndvfCtkpu9i66Meo7lxEoab9CdRkgzSIvN3OU1q1Ngl1CiO2etu4r3M+eh2pcSXi3XxKdclrqWyiyvJk1v/+U2rGVXDz/YULD30b/8P/YZ7dc9p6jmDghexHHgcbvyuXG/R/hwbL/Y/lrK1h3w3r+VvhH9qk5hinle+Do8OtNbNRBmHlVeJ44g7/M/AHff+s+fv7LQq6/BqZOGfjbS4iBSk89A9nXSCOtqG5SQYFCb9GhFVAao0bZXQBDsf1w6tkLSCvs2iZJDkfiRj4ZbEp7YOnQ+6NnzzHpmV26gZU/lFhwSJfRBZUWvMiZmQPNDcRG7p+R2ZWaNvGamT+sBw3qIaUy1jcjq26TD87tHzR7HJLrYnqnG7NsAixd0MUitbQh9bpun3ekgacazGwZw4l6MI7BAWLr7JwGX3K0xt76OulmsEDLsg4Z2VhdpWaldW3MyC7sYl4dd+Wsqr1pasp8wosN2Q0VygwK6A4fgVQQMFUFPfFvl4vt3I5ksMtq330d21TgLWFw7jCWNXyXmL3W7WX05OE2W/CkOxlRm2L6S8C1kcLtaSzNADMOlomZraL8JsQH74LVuAEWJIL3ZuK61o2u17qu2H129vcy6tcBg3Kqsk+4Ue3HptZsd22zUpldyQMys0B9p9Ed02xs38aG7gGGC03TMf0utOYwmjst8LWRa7rfrzCjLgJGGaFIA5phtzx1aqUCK/G0eVh2oGcr/BDtcyZGNEgGCMEuVp9YlnenQrvmY8jO+qsboZODj939oNrszC7NqUj+7JD2dZflS679pfQfl7JlVWdd1SyBbq8vQKxmC1O4urA2sCslheu6/l516uh57fvd0YPrwc5Tt+0zxDYOqwshRO8yPnsCzwPHQSxC2zF/Jzr1e6lA13cLLV467WMiEbhl0P8IDb+ZCf7jeOaWo7jgFxo7TVY7RKAryWV4OG3KhYy5ZD+KagvhH038av4pHPPgBH7/5gWsalqSMb1ZOo62ufMwQhu4c7czGT64hQsusnjzrc3JexBC9KVU3Z7EvXHywcehdVWTI/mA3X4z7Ta8G+kuptDSMru0Dk89dm+O9iyvRCMSf/fkKT5LjauNfD69vdbQaVhjZmdkgaVGz3L6USji5VOxgpvzwNk9HWuHZWR2bWI49TxPe2ZWVd7Ibi5wE9s2btkBxK4eVpRKdBNlo8E4pSm0LjIKlK6Re3AV7lF5W+OZ1V5GT2t2ZfTDy5xTVokHVMvpJz5ktx63z+8MEDA6ZD+5Ali55RkvJYua2390+K7twVdvclRNK2riTcTO3J7O0xnpxapV5rG5MZ4s8+pK1mBXd+rzbYJZMbXLekCdG+FIBbuGD9MY09Mesw4PKti+r1JZUt0uUrZxSil2H3IoNYWTN+PTWQ6MZIH0tMtw+nV2Y9fcjXaBc/pSPzjEC/1Yho5R1P4DSPKzds9D1ekQrk5dWlUi0zAtbJ/sxpie02ilZraRRm2hjO+0zttI1xWDyyFnqEbVTq5URrLSIHd6WuBUU5iB4ozreMY2T9aFSwt2ZcumzJpAmyXY1ZuZsUnJ8yJq5GLlD+/0fleXoJ4Ev7c1CXYJIbZP0RCxJ3+G+1+XEq+YSuvJT2AOsm8Sli61uPRyk4u/v4CKbxby3q5f0DzzGvYadiQ3HfVbXK4d+9JXechkPBMKOPrdY7l2zv3sUrkPLy14lDOe3IN/f/dExrRm2QRCh/4fjroF3HHQ5QwfbnHxryxefkUCXkJsT+LtZZOA9mf9jlmdSVZXKSpdsAv2dn7doTup9JZlZM1oWpaAQ3f18OFyQukMBuVU2UE9hxs8eZ3abTfUgzVsDlZgCyrmdkOnYBfpmV0bD3Z5HX7mDJvLnGFzKc8Z0u0lboyW48RR7iM6vI0qb5YuqkpDmfHU/2/u8pSu2ceIs3Ph7N6wJd3AMuJfqfOhw/wMJ7GhexAfMhscXUd6tnR1LG8BZl7nwRF6KtlN0IqYDBsKU3eCnEDnxqVnaiqldXMfb7wAdsfn8mw9WzsGuyxvAfGSsd1a9mZJ1vYz43h8jq5He93YLNJWTFmJa1mXlbm7J/241TV9847jDhGl2NA9wJEZCMkWLOlKdwMXuaNzCE+txFHWHsT1dd2bFbBHNPd57fXWdLv2YLJHdjJjMhnsStbs2lrdGNulB747L0dTGnl5irJSRVGJ0T6dplCGas9SVApz0CQ7UzYtY8/rIfX/kOjenzbvTq1JBdnSXswyYmF36xRujOXOw0zrRj2ovXTZRoOeHTdT8pjppdhvr+rHcTghhMhO1S3G/exPsTZ8Q3jGOUSnnwWazvraGL/7+3u8tfRl9Ip/8z1jZ9rcQ3hv/1f4ybTrOWTUqQOrJtdmUkpR/POJLDntZYa9PpZpJ9/K96deynWvnM11r57Nwtov+MHUS1PbKl41k8jsX+B57UbmnTKBcx86ld9caREOwwH7yfYUYnuQCnYl79WT3Ri1Lrr0pLKmunv3amW90Z1dfRBG6HkaGizMDred2eqQbNJGupBlE3DlMaqoc33CVBsyHnS2wZ16h26M3an5s4ULtP/JNsIg9kOwb2oxe9SeiuXtXNMrfZt0awTITRXZ75jR00W7eqqrzC5DM4iZ6cWys9TDSf/D4YFIc/b12Ehdqk3r/nqauYPR6pemsrw257ZFuVMnOpqmCAazT+dKC3b15OHZvj/Ivk4jhsPXab1iu5OpEq/cpdvL3iyaYQdtzXivPJFrqQzWLZ1Xb9xDpdWcqp6VeZxuRhfY7hY3nzwprYdzwsQJsKYJzGV0eW47HPb3j6bAwmyfLBXsT59pokD91rx339Q1K23jtXeDVu2XxuQKpF/a02ZZXW0PgtV5Hl1ft2pGQkF+ehOzT1fkG7RFzzXx6pkZf6ef13qWr9quLtfJYFe3S0luQxLsEkJsV/Rv5+P+x8WgO9BPeYhowQTWNa/ipufu4MMNT0DOaoyxDvZo2Y/xX4/Fdd5g7jzlvxLk6iCwZzn+2WWsvuFDcvarpLC4lBv3f4Q/vnMZD//vNnzOHE6Y+JPU9NEpp6Gt/hT/2zfz+59N5oLbJ3Dt9RaxKBxysGxbIfq75ENJ6hfYTXVjTAW7uvfkoysdTVMUayW0Oss7va9pYGqZ9b6SgQ8r3oOARy8HpNK7kfTGL+WbXF6HhxurG6PKbdkCu3d9tvKHZn9dM9Ie4DY/syv1bofC5FaWYsy9yaG7OgS7Ui1p/7+0JluGO5WTsSW2KIbnySM26qAsM+3+LJxVfoibOKsDG5/O6JjZteXf55WVirhp8a1dCmyLR4brFenHQA8D5tkka3axhd0xk9cDawsOGMtXhOXOJT5ocqeAbMcu49D1ICNJ3d1fmqY6xQ2dTkVBPqxb1vXnfD5Q65Prnd6NMZnZ1U5Zlv0VtFUTuzY1qEZ69l1aZleH3xGUptozopMfRaFrivQSaUopiv3lrG1ekZHlla5ycPdWeHzp9G5NtzmyJS0WF8GixfbIwxnTJjeL1v8CXhLsEkJsNxwf3IPz1RvtrnUH34KvfAS3PH0RL3x3B6ZlkhPZh5Onz2W/CXuw4bwPaQ6uZvjZsyXQlYVSikHXTGfBPs+w6qr3qLx1N3TN4JxdrqUl0sQ9H17PqKLJ7DRodvIDhPe5Cn3NZ+T8+5dcf/kT/OpaHzf81iIShSPnyjYWoj9L1uxq78aYCHZ10Y0xeYPfrWwe7EDRnkMPZ/5iqO1imriWWRQ5mdllxfru7lhPG5WsJ6PRbS47oLbxbjP9SvrxkWX75O7qRsXT0hY2lSXRoRtjb+37rr7nO2UuZgkqZLyUCP5YRtcFvLdUerehbtmczC6lcA3L3eR0zrSncDvjpPsLmzI5YyC7DOmJW+kBEf/MUuLN0c4f2MrsQSe+BdKKt2+J4S74orUXMrt6ge4kXj0r+3sdeozvMfSwrrOJRsCiJVvWJThz2Z1rdgGMHAEtmkYt0LLGag+uOX2YBcOI60H47I1EDUAr0fht1I0xi/QfQdq3jdY5s0tTnQtEZdmWumYwtnhnqvJGZpx//U22oGdOjmKfvTq/rmmKoUMsigohbvavgFc/OEOFEGITLBPnK9fhevUGYiP3o+3ov1FvODlu3kE8v+g21LLDOaviDZ746V85YuohONZrNPxjKfknjEDzSEy/K67qHIrOmUDD04tp/PdywP4i/+nMG6nMG8m1r5xFfdv6tA/4CR1wE6pxFYHXr+KaKxW7zYZb/mDx8KNSw0uI/qxjza6kroNdPe3GuPGHJE0Dq8Nw96kubT3J7Opl6aNhZRupr/d13EZbeZlb+uC6iWCX5u5YmL6Hwa5oLwW7uliuQ+/+yHsZGV7ZunR2w4jh4PV0XbvIcnoxy6f0bKapGneb1aSNyqzZpVIbwW94KQtsfKCG/HxFYUEXNdrSXk6/5hiFHlzVOZvf4M3lcGN5En05eyObcoiL8F6dR7L1+6GosIvPZJH8uNXj0VV7KDUqrtbldbqyUrH77K0ffDcMRXmZhsNQVFZaTJ7Y/p5ZNAozZl9zdL8Ca1t0Y9z4NTj92qIrw85OTQtsGUFXcsJO7cx2XXLpbpRSBFx5W9Lqra6nGZnDhipychTBPEV+fv/5EUeCXUKI/i0Wxv3cz3F++HciU04nfNDNrG0Kc+rfjmNR0zsMWnYr95/ze44+oDL1BV77968ByD+5pi9bvl0oOmss7nH5LP/pf4ksbQLsEV4u2/MvNEca+esH12ZMbw6aRGTXc3F89SyeBc9y5a8Ve+0Jt95ucd8DEvASor/qOBpjzIwA4NK7KLbdzWCXWTwGM7cCy18K2NkBUyZnmV22e19jM7ox9jI9y8iMW5PqmKWw1bPJtrA7npEWLOpORswmM7uSx1Vi/r2W2ZV9Ozo6ZBOa+UOwDBdWWnaVlfF+NWbhSKzcis1qR16eYuauCqNjQelE0NDyFvV4n7tHB3ENzcExaEtqhmWnddGNd3pwPKOLu651t0ldBLv6UvugG5v/I2hxkUZpSfu2SgYzyuzLHzOmKyZN7Mk5l+zOt9lN6tb8t2piVBaOxGXD38Uhm8y4LC9z4O4wiqvmtg8YR35yxEu27nVyE9umY1d3/+xBeMYGU3XnvNNL8O9WlggWpz7U5fzSA8w9oec4cQ3ZdoHi/nLebikJdgkh+q+2ejyPfx99wb8I73Exkd0v4H+fw6l//jlNxpccnPsAd//qKIqK2r9UzLYYtQ98Q+4BlTi3wo3hQKO5dKr+vDsoWHz6y8Q2hAB7WPujxp3Fi988wJdrP8z4THTnHxCrmIbr31fgaF7GZZcq9tsX/vwXi3v+LgEvIfqjWIfMrkgsDGTW7MmQvMHfVBaE4cIsm5iarrIy+6+62eokt9fs6lnAIz54GrHq2T36TFf09MyujTxQxYbuQWxYlv4bPaQyqhiz9YNdqYeuzbw2axvP7OqxxFO9npcIQm3lzK5O2UmuAPHhe0OWborJ0RjNwhG9XxvOnUO8chfMkjE9/qzm1PGML+jRiHqboze78aY/6/ebUhJaqg/3Zs9i56kOxo9T7cGuxLzGjoE9d9+Sxm2le6duBF+2Bq9XMX4cDBmS/f0i3yBGFI5nSHB0p/ec1QFypzkwcjXi5VPAn59lDr2oB5ldmtLR/Q5cQ9uDTppTxwhm/x7Nduxv7vkQ2LMcz4TNyzjdHP3mvN1CEuwSQvRLqmEF3odPRFv9P0IH/57QxJP5270W597yGNGS55g75FKuPOsg9A6jedU/tYh4fYSC0zt/gYrsnJUBqu7Yk8jyFhad+BLRNa0AnDjxpxR6y7jt7Usw0zvgazrhA24A3YH7hV9iqBiXXKg46EC48y6LP9zWukXFVoUQvS+V2ZVIaogmMrvcXWR2Wcmh67MW9+6Z2JDdiFbvAWQ+V6RGY+xhkXLLVwTu3vmFO71A8EYf9p0+cGzeL/LplAKrQ80uM6+SWOWMLZ53NtaWpnSkdwPM9uAW71n9JUexF0eZF+9Eu69Xb2X1dfVglu8tZkLZxrfttvq6srwF2yCTb/Mlu/FaTi/xknFbNK/++ZicbNWWB1g7ZnYplSWbrzst2lYBhT447HICqsv1U0oxOHd4RmZt+nu6L3EsBkqJV2+da2PaEjf+rkoPdnXzR6DUjzv2/7iT36dim+u/V1whxA5LW/M5noeOQ7VuoO2ou1mVtw8//YXFHffW4dnlSkYX7szZc87s9DnLslh/15e4x+XjnVrUBy3ffvmml1D91z2JLGniu0NfoPXDdXgcPn4w9VK+Xv8xry56JmN6K1BKaJ+r0Fd/ivOt29B1xYXnKw4/DP5yRxt//LMlAS8h+qHkDwSR+CYyu1x+AFS0dcsX6gqAy8601dODXZuZ2dWbMrpxbbOaXR2CXaXjwbuVsxc2k5Ves6s7tY42lSXh0PBNK0HL6X4tre7oKrMr/b1NBRYGSCJDjyUDDslgb3zonljBjdfr2pT+uC1TAXzVC6Mxdgh2bfZ8kt0Yt3Jm19bOCtyatnrbexCATtV47OozXQ3Y0E/DvzsCCXYJIfoVfdHreB45BXQXrcc9wH8WTubU71t8/Q3s8v0biBt1/GzWDVm7m7S8uZrw1/UUfm/0gEm/3Zb8s8oY+sQBYGh8d8Q/WH39h+xRcRjD8sdx9wfXE41HMqaPj9iH6IRjcbx7B/rSd9A0xS9+qjjpRDcPPgx/uE0CXkL0F1Mmw+C0MkTJUaAcWvYC9ZYrkTkVi2R9v6eSg5ZlZnYl/ujDy0R6gfptNxpjuq39ILeF808PhmbZPpavCMuRnh3YveUlv6NTgxRssW4Eu7qaZgf/mjIS14BevW9KlsfqT7diueWYwaFY/h5UkO9C6jzupW221e6VVH/cEf1MD/ahlgz497Tum1JMq5jDLpX79OxzfWDSBBg1gEoeS7BLCNFvGJ89jvupH2EGq6k74gFuvLuaSy+zqKiAa275lk9b72XumB8wND97zYsNd3+FUegm95DqbdvwAcQzOsiIfx5C/nHDWffHz1h4yIv8MHABK5sW8/zX93aaPrz7hVj5Q3H940Joq0MpxUW/9HLCcfDY4/Db31mYXY1NLoTYZvLzFaNq2m/qdxq0GxNKd+n6Addw2cPAD8pSbX4zZH3m2oxuP70tvRtjlyNT9qLOAZetvQ22cP6b6LoZHzyN+NA90xbX/eX5di0lsMegzW1Zhu4EajZWk21H5jbsjKeMcgVbKHW+96tNrsCT2ytzSh5LW3pMbWlm2Cbnn8zs0vv+WjsQ6JvI7FKJQVeMfPvHpGTGnkLhd+Xidfi3fiO3UFGRYnDFwDle+tUlSAixg7IsHG/djvtfvyJetSufTfkb3/9ZIc88ByefCH+6VfHPlTfjNrycMPG8rLOILGmi8aVl5J84Es01QIYQ6SO630H59TOovncvzMYIzh+s4fR3fsADH/ye1mhz5sQOD6GDfotqq8X9r8vsYaKV4kdnKk49GZ5+Fq6/ySLeh6OtCSE68zh8FPrKNjqNWTQKPHm9srxkrbChaQWLkwEKzd+7Xdp6Iv1htasst97V4SFiW2Uhb81LcMY6dH99HEUeNG/v7PuNdmNMZpF18YDqTfRuy+udOMh2Z1zJzlQHR+F39t5Ib8m90b+CXb2nt7oxbvEAEt2dv2R29YpN1ezS3DqBPcrxJGsSSu+GPrflnZaFEGJLxKP2qH6fPU5k7JHc13A5f/qJQV4u/OF3ip0mKxbWfsEri57m5Ek/J9edva7Jhr9/Dboi/6SR23gFBq7A7uWMeOlQVl39PhMesvB8OZcnBv+Jk/b4ZcZ0ZtEoIrN/ieuVazH+9wjsfhZKKc74vsLhsLjzLot4zOLiC9msAq5CiO2friv2yTKYYWCPcpS7736g0FV6gfqtf32yh6ffhtfBXlhWvHwKqq22m8vb4sVtli3J7MrJUcycYeH17pjfTy7Dw9D83h3Up39mdvWe9vp+vdSNcSv3pd2ea3b1J5us2QXouZ1/NNnaGXyiaxLsEkL0nXAz7ud/jrH4dWonnMNF/zyLd99T7L4bXHi+IifH/nK458Mb8TtzOXJs56L0APHmKLUPLyD34GocJTLiSW/Sc5xU3LgrvhmlxM83WXf+etY9sYyiysEZ00Unn4S+5L+4Xrkea/Se4CgG4LRTFA4H/GmeRTRmcfmlEvASQrTL9mCwLaXX7NoWVJYC9f2dFSjFCpR2c+q+W58SfwWlgcpOr7cXqO/6AXVHDXRtNYnN6fP1bTO2luR1Y0u7MSZrJ+pq62S3WskyEn3QjXE7uLT1WE+7um/tIKbYNAl2CSH6hGpYgfupH6HVLeLdsqv5+S1zicfhgvMVhxzU/ivtF2s/4M2l/+D7Uy7F78rex2DD377CbIxS9IPstbzElgvOHUpjbhOxH77Lt8e9SP4/TkPPSfvSV4rwftfi+fvhxB75ERz7ABj2TdyJxyscBvzf7RaxmMUVl4PDMQDvgoQQ2x29OyMM9iI7syvjlW205K380KU06MWaT5tjbMnOWV9PdZeV7IptpjUxiGsg0Lft2FpS3Ri3MKIzOHc4Ds1JWZYgba9IBLu2ZWaXe3QQAEfF5kc64yVje14Efisamj8aj8OXqm/XXV6Hn1x3AcMLxm6llolNGaDJpUKI/kxb+RGeB46BpjX8fsNf+OG8uYwcCX+7W3HowSp182BZFnd9cC1BTxGHj/le1nmZrVHW3/EFgTnleCYUbMvV2OFUzZnIVxevxb3K4Jsz/4EVy3ywsbwFhPe/HtZ8gWv+ryGtVsExRyt+/lPFa6/DRZdahELya5cQYsej0NjeMru6wwxW2f+zjYOH3bPpzC7Ru/LteAeDNl4WcLsV9BRSGhi86Qk3QVMag3Kqt14X6mRm1za8zmhOHe/EwvbRdjeDFazGym0fPtgo8eCs6rvIaXVwFCX+nu9vTWlMKd+NXLc8n/QVueoLIbYp44un8TxyKg2RHI57+SEefm86P/+p4vc3KwaVZX4Zf7jydT5e9QYnTfwZHkf2X4jW//VL4rVhis+bsC2av8M7+IQzefqw54m9Uc/aP3za6f149Uy0vS/G8cXTON/8v4z3jjhccfGFivfeh5//0qK5WQJeQogdS8dnTqu/j8bYTWbRaGIj9t1oLZu+sqkC9aL35eUp9tlL4fP1n2CusyoAil4pdxH0FDGmeGovtGrr6stujL3Jv0sp3kmFfd0MsR3qP/mBQoiBLRbB+eoNOD95gI8bd+HcN37H1Jm5XPcjRWlJ5y/hZFZXqX8wB9aclHWWbYsaWPt//yP34Cq8k4u29hoIIM9TyPDTZvH2onfZ5VbwzSzFv0tmLRdtt58QXrsQ5zt/xvLkEd3p1NR7Bx2g8HnhN1dZ/ORnFjffBMG87fsmTAixfRtXMg2vc1tlDfTRaIxbm1Kg992omt2xpfWVxPZNz3WSd+iQTU84kCRGwlbbebBra4tV7Qo9rMcltg9y1RdCbHWqcSXq7yfh/OQB7lrwfa5cNI+rrs/jqt9oWQNdAC998zAL1nzKKZN/mbUgpBU3WXDev1EOjbLLs9fpEFvHkWN/yCtHvEV9USPLfvJfYnWhjPeVUoTn/IroyP1xvXI9jg/uyXh/j90VN16nWLoMfnyuxZq1kuElhOg7xf5y/M6cbbKsbTHiY1bWjnudtRK1xJQ89ogdjNUH3Ri3S54gOAfoaAo7OLnqCyG2qvoP/wt3HIm5bjGX/O9WzD1/wV/vdDB1SucvXjMcZ/3dX/LlXk9QvF+Im66+jqofOll1zQe0fV6LlbhZt6ImKy5+m/r/LKPsNzvjKJURGLclj8PHaTMv4o65fyWyvoUVF72d2jcpmkH4wJuI1hyA69UbcL7xfxkPW9N2VtzyW0VtHZx9rsWy5Tvug5gQYsehUKkHz2G+wf2y299AYyaCXZLZJXY4pmR2bS3xip2JD57e180QmyDdGIUQW0VdXZzv/vZndovfznfNI3it7Pf85NZq/P7sX7ihbxtYdu5rhD6vY+3wWv63+6ccPOpUjK9jbLjrS9bP+xzX8Fw84wto/WQ9kYWNVF0ynZxjhm/jNRMAew87iv9Oe4EXFv+Tg1/cn/rHFhI8eljmRJpB+IAbwRnA+c6fUA3LCe9zJTjcAIwfp7j193b9rrPPtfjdTTBiuNyQCSEGLrtulGKwp5Rq7yBiMkLgVpf8MabPsuqE6COpAVIlztvrLH9xXzdBdIMEu4QQvaquzuKph+uYsvQi9ih8nY/VYQTPupxjuygIalkWdQ8uYOVv3kPzGXz4y4Xc6/szP595M8NrdgcgXh+m4cWlNDy7mJb31+KqClB26RSqjplAXV3dtlw9kaCU4qczb+SM1bszeeFktF+/g296Mc7KDnVvNIPw3r/BzK3A+d9b0DYsIHTwLVjBasAObv3xVvjpLyzOPc/iphvsIJgQQgxEDs2ua2WR7F60lZ9CJcCT2taS2SV2OPFEF94tGBlRiO2ZBLuEEL1i/XqLBx6y+PrVz7hu4s8oKljPqilXUD3rcFY0LuKrJQuJxiM4dBdBTxEF3mICTQHW/eZjGl9cCrt4eejIp3mz5SVOnfxLDqw5MTVvPc9F/vEjyD9+RB+uoego6CniJ7Nu5P/W/YJL/3Ixy376X4Y+ul/nCZUiOu0MzOLRuF+8AO99RxKe/QtiE48DpTG4wg54/ewXFj873+I3l8GsmfKAJoQYeAzNCUoRs+L2C1s7GJUI8FgOz9ZdTj8WcOWhazpVeSP7uilCbFPuUUHMUByjwN3XTRGiTyirU6GV7pFsiq0rGAzKNu5nZJ+0i6xsoenfywl9XU9LbYxF38ZZvlJR7lvCpMIPUW4nLcOm81V4Kd82fkYLzbR6Wmn0NxFyh8hpymHkwuHs9L9JaJbGi3v/i/9MfxW/O5czdr4sI9C1MbJP+offv3kBKx79hFMeP5Hin01k1JV7dLlfVNMaXC9dhrH4deLlUwnteyVW0B4dqa7e4qJLLL74En5yjuLoIyXg1VvkXOmZYDDY103oNbLf+5c1zcv4fNXblNYtZ0LOSGLD5sAmAlFbev6qpjVY3vx+P1riQCbX4IFB9uPAIPtxYOjOvZpkdgkhui3eEGHVle9R98RCiFtE3E4a404cCqZ7anE0t1HXPIawZRD7ZD1l8QCD47Ozzsv0Q/2eYRYctpTSQRO5rOBEdq6Yg8cho6Fsb348/WrOrz2S9xd9xNRboGDSIIw9i7JOawVKCM2dh/HlM7heuQ7v3w8jOulkIrucRTAvwP/dAldda/GHWy1WrLA498cKXQqrCiEGCEOzRxdOZXZtg5pdVqBkqy9DCCGE6G8k2CWE6Jbwdw0sOuXfRFe1smDcaO6vH0Gd289phyzl+4Gf4az7hg27nME1La/y1rKXmD54b34y4zqKfRVYUZN4XZjYujbiTVGMAjeuoTkoQ2P3vl4xscUcupPL59zJuXUHUFJfgvrhPxny0H74pmQPeKEUsTGHEa+ehfONP+D48B4cXzxJeNdzYfzRXPlrnXl3WNz/ICxfYXH5ryAnIAEvIcT2z9DsW++oGbNfkDpSQgghxFYh37BCiE2KLGnim6Nfoml9jBtK9uVP0Z3Y68QAz9/4Mj/SjsEZWsuX+13GmSsf5b0Vr/CTGddz9d73UuIfjFIKzanjKPHiGVeAf0Yp7pF5KEMuPwNJgbeES/edx53H3EVjsInFJ79E89urN/oZy1tAeJ8raTvpCeJFNbj/fSWee+fiWPoGPzpT46ILFB98CD840+Lb7zarx70QQvQrycyueHKYNCkgL4QQQmwV8rQphNioT96J8M5BL9NcG+e2ir3Z7fuFPPpAjJ+O+R1F//kJZv5QXtj9TM7+4FJCsVZ+d+CTHDr6NBniewc0tmRnztj7N/z2hFtoyGtk8UnzWX/PV2yqNKRZVEPoyLtoO+x2VDyK54kzcD95Jofssojb/08Ri8KZZ1v8a74EvIQQ2zeH5kgUqJfMLiGEEGJrkm6MQohOLMvi7Xfh3ntNdv73W0xuaWTxD/fmjz8L4o+twP3C+eirPmHD+CP5o6eV59++kPElu3DZnn8h31vc180XfeiAkSfQZjVxneN6zn/5QqzL36XxH0sZdOU03CPzuv6gUsSHzaG1ehaOTx7E+dYf8f7tUCZNOoG7b/0Rl16Xy5VXW7z3nsVPf6Lw+SSYKoTY/hi6k4w6XRLsEkIIIbYKCXYJIVLicYtXXoP77rdY8C0cZn7N1JYlFF6wE5POKcP4+kVcL11OnbJ4fOJePL7mKRrDdRw7/hxOn3IhhiYjPQn43vQLWVW3jKvcv+GXu1zJ4HtrWbD/s+QdPpTCH4zGMya/6w/rTqI7nUp09KE437odx8cPMOiLZ/jjyWfz10nHc8+9Oh9/YvGrS2DiBAl4ie3f8uXL+eMf/8jbb7/N+vXrKS4u5tBDD+Wss87C6XSmplu5ciVXXnklb7/9Ni6Xi0MOOYQLLrggYxrR/2lKY1jBOEpC0o1RCCGE2Jok2CWEIBq1+Oe/4L4HLZYvh+pquPLodRTd/AE5B1TiO8nPe0+dxCcrX+cDn4NvrRasJY8xrWIOP5j6K4bmj+nrVRD9iFKKH02/kvrQBm5Sl3PBXbcw7vlR1D20gPrHvsM7pYjgscPJPaQa3ddFgNQTJDLnV0QnHofrlRvwvnYdZxc/xZ7XXMFFt43lnPMsjjnK4vunK7xeeVgU26+FCxdiWRZXXnklVVVVfPPNN1x22WW0tbVx4YUXAhCPxznzzDMJBoM88MAD1NfXc+GFF2JZFpdddlkfr4Hoqaq8kRhrvu3rZgghhBADmrI2VUylC3V1db3dFpEmGAzKNu5nBuI+aWuzePY5eOgRi7XrYPQoOPlExc7Dmvn2oGdoc4W4/0d38UXsOywFLmUwtnQGE8tmMrv6ICrzRvRp+wfiPhkIkvslGo9w2fxT+XDlq5w17QoOrTiF+scWUvvQAsJf16N5DXIPrSZ47Ai8OxVutM6b/u18XC9fjWpZR9v4k/nD/37MI8/4KCyA885V7L4bUiduI+Rc6ZlgMNiny7/zzjt58MEH+fe//w3Aq6++yllnncUrr7xCSUkJAM8//zwXXXQRb731Fn6/v8t5yX7vhywL4+sXAIiNOmiTk8v5u/2TfTgwyH4cGGQ/DgzduVeTzC4hdkANDRZPPg2PPmbR0AhTdoKLLwRX+TvM/+pxmo7Np6SxiNvPuI2y0AZ+4B3K+Gm/YMTwQ3Do0mVGdI9Dd/LrOXdy4+s/4Y/vXMZX6z7i+8dewojvHULLR2tZ+vf3Wf/0Auoe+pZ1xRv4cvoCjEMKOXK3syn0lmbMKz58b1oH74Lzv7fg+eTvXBj4F0decTm/um83fvVri2k7w9lnwfBhEvAS27+mpiZyc3NTf3/88ceMGDEiFegCmDVrFpFIhM8++4xddtmlL5opNpcE5oUQQoitToJdQuxAFi22ePRxu8tiOAyzZ8Jxx0dZoj/In7+8iyWffMMpT59A5ZIKwoc9zD35OThmXEZs3BHbvIhuKBTi8ssvB+DKK6/E7XZnnS4Wi/H0008DcNhhh2EYm76sJT8Tj8dTr8XjcT766CMmTJjABx98wHvvvUd+fj7//e9/ATjnnHO45JJLeP755zOWFYvFuPvuu7nyyitxOBy89tprvP766zzwwAN89tlnKKU45JBDuOGGG3C73YRCIX71q1/xzTffsHDhQnJzc3n++efJy8vr1MaHH36YP/3pTxQVFXHrrbdy3HHHAfDQQw9x3nnnAfC3v/0tldVRX1/PQQcdRGNjI+effz4nnnhil9sjFovx6KOP8thjjzFkyBCuvvrq1DaOxWI88cQTvP/++0ydOpUjjjiCUCjEqaee2mmZ2bZ/c3MzRx55ZGray/a8g4c+vZV7P7qZlxc+QYGnhLZYC60TmnGOcrDPkgPY6YNJ7PbsLsSfj/PK8Nsp2GcoM44+AteQnPaMLZefyF6XERt9CK6XLmfk+z/ivsMO5vHWS/jj33M5/QcW++5j8YPTFWVl8jAptk9Lly7lvvvu46KLLkq9tn79egoLCzOmy83NxeFwsH79+i7n9eCDDwJw9NFHd+vauKOJxWLcf//9PPDAAwwfPpybb765y++anszz0UcfBTa+3U2fDwCtwy/TXX2+L7MNY7EYDz30EO+88w5Tp05F13V0Xd9qx1XHbQCklj99+nSOOuoonnzySSKRCG+//Tbfffcdw4YNY+bMmanvyUcffTT1/sKFCznhhBM48sgjufjiizFNk2nTpuF0OlPrkL7MuXPn8vDDD3PfffdhWRbDhg0DYNGiRYwYMYKbb74ZgF/+8peYpsmUKVN47733+O677xgxYgQ33HADTz31FG+99RYAM2bM4KijjuIf//hHap0G6vmY7fjd2DmR/t4hhxzChRdeyIIFCzL2Z8dtFQqF+OUvfwnAddddx7PPPttpeR2PV7Dv895//32mT5+edb7dtbFzMbk+yfvL9POku9eGjenJPLKdR1u6/P6uJ9unt6+pm7NvOl6j0u/bO16THnvssdQ1sDvHb/I8SL8Obepzm3OMpp+PN910U8azRPq5APY5+O6773a7Pb1h4B3lQogM8bjFu+/Bo4/b/7pccMB+cNSRig28xO/eupgVrSsY6yjkmlcOwvvxJCr2+pTi7x1PdPzRxAxXX6+C2M5pSuOEieex17AjeX3xcyyt/xa34WF08RQmlc0k6CkCILy4keX3fcigJ8MEbtdZcPvTGGVefFOL8U4pwjulCM+YfMxBk2g76TEc796B8515HOt+i/2v/hV3vbsvjzwGL//H4vBDLU48XlFYKEEv0TduvfVWbrvtto1O89hjjzF+/PjU32vWrOEHP/gB+++/f+rhJKmrbrqb6r7b0tJCXV3dgHyw2VKxWIyWlhai0SjhcJi6urpeCXa1tLQAbHS7G4lpYh260mT7fF93uUm2KRQK0dLSkgp2ba3jquM2ADKWX1dXR0tLC5FIhHA4nPo3+V5y+uTr0Wg09V4oFMI0zdR+T65Dx2Um37csi3A4DJBxnAAZ8wqFQhnvJ19TSqXm253jYnuX7fjd2DnR8b3k/krfn9mCXaFQKPWZrpaXfryC/aCdfgxtzj7Y1LmYXHZ6sKs726G7ejKPrs6jLVl+f9fd7bM1rqmbs28ikUjq2tHxuMx2TerJ8Zt+HiSvQz09Zrob7Eo/H9ODXennArSfg91tz6ZIN0YhdlTREPVLVvLuq+v56v11GKH17BncwM+OraW6qBYjsoG/v/Qld6q1VJsav2/zU/npbix5dReCB+SS96cbiWoyHLroXSX+Co4ad1aX77uqcxj2qz0YeunuPP6v2/n06flMWrUToz60aHh2MQDKreOdWIhv11L8s47Gf+xeuF++nOC/f8Z5w/fhmDt/xR2PFPLEk/DUMxYH7G9x4nGK8nIJeolt68QTT+TAAw/c6DQVFRWp/1+zZg2nnHIKkyZN4qqrrsqYrrCwkE8++STjtYaGBqLRKAUFBb3XaCGEEEKIAUKCXUJs72JhtNWfoi9/H7XiE6KrFuIJL8evLCoAEjXkLd2JpefT0JbDVdZi3tTWsn/uJM4bfS7rH/Cw5F/LyT2oivJbZ6Mk0CX6kFKKo/Y7h/LRI7n2lR/hdQb4zYS/MGhJCa0frKPlvbWs/cOnrL3lEzS/A98uZ5JbvZSCD/5G+dJDueSAizj5+EN58BF47gV47nmL3WZZzD1csdNkKWQvto38/Hzy8/O7NW0y0DV27Fiuu+46tA7X4EmTJvHnP/+ZtWvXUlxcDMAbb7yB0+lk3Lhxvd52IYQQQojtnQS7hNjeRFrQV36MvuI99OXvo636FGVGMS2N75qHs6BhAmvMwyipqWTCjGKClUVYviJw+llQ+xlX/Pv7bGit46e73sSc+IEsufgd2j5aTsH3R1N26RSUIYEu0T/MqNyXWw95nsvmn8rP3zuaQ0edxlE/O5PhvqnEGyI0v7Wa5tdX0vz6KpbP11nO93DmtVHw0nzK9v8X55/0U047ZQSPPWHxzHPwymsWVZVw+GGw/74QCEjQS/S9NWvWcPLJJ1NWVsaFF15IbW1t6r2iIruL76xZsxg+fDgXXHABF1xwAQ0NDdxwww0cc8wxGx2JUQghhBBiRyXBLiH6u7Z69JUfoS9PBLfWfoGy4pgYLI6O4/Vlp/Lu2ql8G57EtNkB9jlUMXMC6Lr9IG8BlmXx4jcPcNtblzI4VM0lrnvwXGPy3avPoxe4qfzjbuQeXN2nqylENtXBUdx2yIv85b0reeqLv/L45/MYlj+WkYWTKCurouj0Mgp+XEqwdhiuDyyib9Syer6HVR+bFD//J8rOKOSHJ57Naafk8cpr8ORTFn+41WLeHbDH7hb772tne2maBL5E33jjjTdYsmQJS5YsYbfddst47+uvvwbsui/z5s3jiiuu4Pjjj8ftdnPwwQdz4YUX9kWThRBCCCH6PQl2CdGfRFrQahehrf0CfdUn6Cs/QqtbBEBcuVhqTeTdtWcy/9sp/K9uIsFiDzN3haNOU0yaCA5H5gN7rDbEkjc+5a1/PovxZYzfrL4UT5OLOMsJV/gouWAyBSfXoOc6+2JtheiWXHc+v5z9e06Z/Av+s/ApPlr5X95dNp8NbWs6TRvYLY8Re45l9svTsV6ayNoLW6l6+UcUnDiHfWefwL57+/n2O4unnrH498vwj39aFBfD3ntZzNldUVMj3RzFtnXEEUdwxBFHbHK6QYMGMW/evG3QIiGEEEKI7Z8Eu4TYmiwLIs2otnpUqCHxXz0qVA/Jv9vqUa3r7SBX06rUR1u1Ar6KTOL9NXN5ddFkPq8fh+FyMmE8TD1Scc4uJgWltTSG62gI1fL+qgasxSG0jyLon0VRn4RwrbZHoBmvhhGrVhQfMBzvxEK8OxXhHhOUh3qxXSnxD+a4Cedy3IRzAQjH2tjQupYNraupbVvD+tbVrGxczNL6Bdw3534cQ+H4p4+BJw/kP19/Qsu+s5k5+WBGTP8p5/+sgJ/82OLNt+DFf1o88ig88KBFaYmd8bXH7ooxoyXjSwghhBBCiO2RBLuE2EKqZT3ahu9Qtd+h1S5Ea1iOal2PatmAat2AMqOpac24RrTVR6zNA5qF8riJedy0OT0sD+/MZ2uH8eGyIXwdKmGNESJYsZT8ysX4Jj7ETjkbiBu11EVqeSK0gb+9Uo9pmlSsKmf8l+OY+OU4StaXANDgb2RR5WIaprdSMWMsu+9/NMH84r7aREJsFS7Dw6CcKgblVGV9vzncwDcnfsLyeZ9S9cA4ot+O4ukpb9Py70M5YMRwJk77IbMnTGbWBI3mepN337P4z0cunnhS46FHLPKDsPNUi2k7K3aeCvn5EvgSQgghhBBieyDBLiF6IhZO62L4MdqqT9CaV6fetpx+zLxKLF8RZtEoTG8hLSuDrH/LydqPwqjFCs3s/MBsKotmTwR/oJlJgdcY4q+n3t1AfbSehg0NmJpGRHORZxQwJDaE0tUlFC4MEnzXg2OtwtJB3zmA48wCHDPzyCl3s5N/EF6HFC4WOy6/K5edKneDa3Yj/L0GVtzyPns850S9tTsAn/Ed8F1q+jLgRJfG6SOD1FYV84lRxr/eLeafL9lflcOHWUyeBOPHK8aPhaIiCX4JIYQQQgjRH0mwSwwYyxu+4+1l83lvxX9Y17yCtlgrxb5BVAdHMa1iL3YaNBuPw9f9GVoWqmEZ+qpP0VZ/SmzdZ/hWfpbK1DJzK4lX7Ey0dDxm4QjM/KG0qEKWrVCseK+Rtie/Iefjr8irt4jpbSwpX8rCmYvYEKyl2RPCsFy44258US95rQHyWnPJbytgUNNghq0YjvE/hYp33Tzl1gnsPoic/SoJ7F2Bkefawi0oxMDlGpbL0Nv2In5NhMZ3VvLJx//hg+9eptlqZTQGu0UVAaAtVEnzukr8/1nPrtEvmekAfVSA1eVlvBWp4j9P5/LoYy5QitISi1GjYPgwxfBhMHwYlJRIzS8hhBBCCCH6mgS7xHarLdrC52vf491l/+ad5fNZ0WgXch8SHM2w/LE4DTdrm1fw6qJneP7re3EbHnYZvC+7DzmUaRVzcBme9plF2+wuiLULsdYvYMOaD1m77jPWxhqJKlCak0DOCJyDD0Z3z2KdPo3ldQWsXWCx9k1Ytw5Cy1sZuupTpoU/p6opjqlMFgz5ln/NWkL9mEpGV81k5rBTmTi8HLdz0wXhrbhJbF2IyIoWoitbiK1vQ3PpaH4H7po8XENzUQ5ta21eIQYkPddJcN9q9tj3dKZFj+ahT27l7s/+zN+A44tmc4LZxuDaf8L65TQtK6VhSTX1S4dQ+L8mDuEbDgE0ZxQjN4RpxWitgw0faiz2enjLkUebHsRbmIdeEide3Iozvx7dtxaHt5G41kRrtImWSBMt0SZC0Racupscd5DK3BHUFE1iYumuGUF5MxInuqKFyNImYutDGEUeArsN6rPtJ4QQQgghxPZAgl0DVG3rWl745j7cho8SfwVD88dQFqhCU1svOBJd3cq6u77A8iko0rGqDOKVOhFPlFCsjUislVCkkUi4iXCkkWi0FY/S8WlOfMqJT3fhU078mgM/Brpl0hptojnaSkO0jbXLG6lfFqJ1ZZzQ6jhtzVGcYQf5cSeH6QfgNQL4HEEcLjemGyynwnRZxN2Hs8K7lK9zPuazxtf5/L03eaA5hyH1JQxqyCWn2YOz2YvRlIMWdhM2YkSMEbR4y6nLq2NDXi11eXXU56yiIfA1Idd9aC2l+NcOZ9Da4YxYV8heq1yUrLeDZ4vLl/D8bgvwH1TB7lMP44iSnTdruytdw1HqxVHqhSlFvb27hNjheR1+vjf1Yg4adRJ3vn8t9yx8ksddQWYNO4DJM09jmKuIYDzOkHAItaqets8aiKwIE1kdI7xWEVlvYK7wUhZxUgaMddWybtAnfBNbwnfaCurDDZgrTDRTw9vmIac1QKAlh7y2HCraKvCG/BgxnageIaxW8rm2jM/0ZymKl1PUWoS/wYNaFwWrvc1GoZvRHx7TZ9tsW7Isiw1ta1hS9w1L67+hMVzL/iNPoMRf0ddNE0IIIYQQ/Vy/DXap1g24nzkXIq2gG6A5QDOwDCcYbizDnfjXBYYHDBeWI/Fv6j03ONyZ0zvcoDsAlfgPSO9yojJft7JNk86yn0JU+tOIlfx/q8PfHd9Pm6bDtJZqRjU2pD3kdGf+7f+u2vAJD31yK6F4W+pjbt1NdWAolYEqKv2VlHjLCDpzyXXm4dCdGCgcpolumah4hEi0lVisjVi0jVisjZZoI/WRBurD9dRHG6mPNlIXbaY+3kJdvBXPsgJOuP9kcloCGavb4G9kTdEa1hauY03hWtYUraXF00LMiBPXY5iaiR43MGI6jpiDQIufQHOAnKYARRuKKF1XQsm6EnyxApL5DhFnCDxtOI0oHj0OMQdmVCcWCRMPp+3DhALKmUA5cBAdhZ1hmgLNtPjDhPIVRrwAV8xDXp2DUYtNHOGN9CUEokaUpUNXsGSPRozd85iw854cWHoxutZvTy8hRJoS/2Au3eNPzB3zA5796h5eW/wcL37zQMY0Tt2NK+jBKDDQJ9rndlO4nnCsjaINhVSuGMzQlUMZsXIYs98Yxu7mxgPcuqsNwx1Cd0SxTC9xs4CQqRO2NJpdbazI/Y6GQY3Uj64n5A/TGgjR5gsT9oWJ3vp7TBXH1ExMzQRl4rYc+C03Plz4cZNjucnBRQ4uAjjwGAaGaeJU4EShrDhYJsoywYqjEUMRRVlRNCuKZkXQrBiKGG85j+dLbToRq5mo2UKERsLUEbHqiKg6Yno9RYPqCFn1aGi4HV48ho+AK4+AK0iOK0iO2/43+bfb8BC34liWSdSM0hSupyG0gbXNy1na8C3LGr5laf0CmiMNqW3mNjyMLp4qwS4hhBBCCLFJ/fZp3NJdmIUjUW11EI+CGYN4FBUNQVs9WiwEsRDEwqhoG8RC9k37ABEDelBdqpPpwH9w0YqL5Xqcb7U43+pxvgt9wye1X/IvzdrkPDZGsyAXjXwMgjip0ZzkDY6y7NIHcJtefE1BPLUFuNbl41+XS+7qMkZ+MRRa9B4tJ1oYJ14N1iwHjpFBimoGkTe0AD3PYccfLQuwMoKClgnxZpN4Q4x4Y4x4Y5RYY4x4E1gYGEVejAI3RomdNaX7HRttQ7whQmRFM+5mjboFa4m3xlCGQs9z4R6Ri2t4Hju5e7ZeQoj+Z0zxFMYUTyFmRlnW8C2L676mMVxndzuMNBKJh4ibMWJmDAuLHFeQXHc+xb5yhhWMZVBgCLqmY7ZGCS9qIrqmFUxAAz3XhZHnRA+60D1xtPAGVMs6aFpLpHY98YZ10LzGHt013EB9rJn/qQ18o5po1NoIqzhx7O84L2BYCgfgALAUzcqiXrNYqpk0KpN4r5YN+3X2ly0NFc1Di+bhCedTlFuEZVmEYq2sb13NorovaQzX0Rpt7tHSCr1lDM4dxl7DjqQ6WENV3kiq8kaS6y7ohXURQgghhBA7gn4b7MLlJ7z3b7o/vWWBGbWDX7EQREP2v4n/VDTxbywM8QiZWVHZMrCszIyptAyuztle2bK/OjxpdGfatGl8Pi8tra0d5tUxA62r+bX/rQNVKKqAOWmfaYuHWBeupyHaSEOsmYgVJW5ZRBXElEJpDhyGG8NwYxheDMONx5VH0FtCnq+MgLeox13zLMsitj5EZGEj8cYIVjiOGTEhbqFcGsqhoZw6RqEbR7EHvcCN5uw6iLSxcJ0eBH1wj5rX9bxynXhy8wkGg6hpeb0zUyFEv2VoDoYERzMkOHqzPq95HXjG5uMZm9/lNJbHh5VXaS+Pzl/GhcCeif96yrIsmiMNNIQ2UB/aQGOoHsPloLaujnAsQtSM2LnNCjSlIPGvUnZx/fTXAFyGB4/Dh9fhx2148TtzCbjy8DlzuvU9EEtkbjWG62gM1dEYriMSD6EpDU3pGJqDgCuPXHc++Z4SfM7AJucpxPYuVj070dNACCGEEFtD/w129ZRSoDtBd2K57BvlLctd6ltaMEisrm6rzd8JlCf+21aUUjiKPDiKPJueWAghxGZRSiW6EOZRkTsMgGAwSN1W/E7ZGENzEPQUEfRI7UEhUtw5fd0CIYQQYkCTodyEEEIIIYQQQgghxIAhwS4hhBBCCCGEEEIIMWBIsEsIIYQQQgghhBBCDBgS7BJCCCGEEEIIIYQQA4YEu4QQQgghhBBCCCHEgCHBLiGEEEIIIYQQQggxYEiwSwghhBBCCCGEEEIMGBLsEkIIIYQQQgghhBADhgS7hBBCCCGEEEIIIcSAIcEuIYQQQgghhBBCCDFgGJv7wWAw2JvtEFnINu5/ZJ9sO6FQCLfbDdjbPfn/HQWDQXw+X+r/DWPTl7VYLIbP5yMej6dei8fjuN1ufD4fLpcLXdcz5uV2u7MuKzkvAE3TUtM4nU6UUiilcLlcqXVIrpfD4UApha7rBINB8vLysrZR13UcDgfBYBBd11PLdjgcqf/3+/0AqflpmobP59vo9kjO3+FwpNYtuY2T7yW3RzAYJBQKZV1m+vonl9fc3Jx1WtG35Pq1Y9rUtWBHln4dTL9O98Y8ofvfSd35fF+evx2/E3RdT313bY3jquM2ADp9J6XvN6fTicvlSr2XnD75vsPhSL3ndrsxTTP1PZ3tuzx9/pZl4XK5ADKOEyBjXsnv9eT7ydeSbUn/dyCfj9mO342dEx3fS+6v9P3ZcVt1vD/sannpxytk3udtyT7Y2LnY8f4y/TzZ0mtD+vy7M4+uzqMtWX5/15Pt09vX1M3ZN8l78PRrVPJz2a5JPTl+088D6N69wOYco109r23sWau77ekNyrIsa6suQQghhBBCCCGEEEKIbUS6MQohhBBCCCGEEEKIAUOCXUIIIYQQQgghhBBiwJBglxBCCCGEEEIIIYQYMCTYJYQQQgghhBBCCCEGDAl2CSGEEEIIIYQQQogBQ4Jd/cjy5cu55JJLmDNnDhMmTGDvvffm//7v/4hEIhnTrVy5krPOOotJkyYxffp0rr766k7TiN7zpz/9ieOOO46JEycyderUrNPIPtn27r//fubMmcP48eM54ogjeP/99/u6STuM9957j7POOotZs2ZRU1PD/PnzM963LItbb72VWbNmMWHCBE4++WQWLFjQR63dMcybN48jjzySyZMnM2PGDM4++2wWLlyYMY3slx2HXB/7r946VyORCFdddRXTp09n0qRJnHXWWaxevXpbropIM2/ePGpqarjmmmtSr8l+3D6sWbOG888/n+nTpzNx4kQOO+wwPvvss9T7sh/7v1gsxi233JJ6ht5rr7247bbbME0zNY3sxx2TBLv6kYULF2JZFldeeSXPP/88F198MQ899BC33HJLapp4PM6ZZ55Ja2srDzzwALfccgv//Oc/ueGGG/qw5QNbNBpl//335/jjj8/6vuyTbe+FF17guuuu40c/+hFPPfUUU6ZM4YwzzmDlypV93bQdQmtrKzU1NVx++eVZ37/jjju4++67ufzyy3nssccoLCzk9NNPp7m5eRu3dMfx7rvvcuKJJ/LII49w9913E4/H+f73v09ra2tqGtkvOwa5PvZvvXWuXnPNNbz00kvccsstPPDAA7S2tnLmmWcSj8f7YrV2aJ9++ikPP/wwNTU1Ga/Lfuz/GhoaOP7443E4HNxxxx08//zzXHTRReTk5KSmkf3Y/91xxx089NBDXH755bzwwgv88pe/5K9//Sv33ntvxjSyH3dAlujX7rjjDmvOnDmpv1955RVr1KhR1urVq1OvPffcc9a4ceOspqamvmjiDuPxxx+3pkyZ0ul12Sfb3lFHHWVdfvnlGa/tv//+1m9/+9s+atGOa+TIkdZLL72U+ts0TWvmzJnWvHnzUq+Fw2FrypQp1oMPPtgXTdwhbdiwwRo5cqT17rvvWpYl+2VHItfH7cvmnKuNjY3W2LFjreeffz41zerVq61Ro0ZZr7322rZdgR1cc3Ozte+++1pvvPGGddJJJ1lXX321ZVmyH7cXN910k3X88cd3+b7sx+3DD3/4Q+viiy/OeO2cc86xzj//fMuyZD/uyCSzq59ramoiNzc39ffHH3/MiBEjKCkpSb02a9YsIpFIRsqt2HZkn2xbkUiEzz//nFmzZmW8PnPmTD766KM+apVIWr58OevWrcvYP06nk5133ln2zzbU1NQEkPr+kP2yY5Dr4/Znc87Vzz77jGg0ysyZM1PTlJSUMGLECNnP29iVV17J7rvvzq677prxuuzH7cPLL7/MuHHj+MlPfsKMGTM4/PDDeeSRR1Lvy37cPkyZMoW3336bRYsWAfDVV1/xwQcfsPvuuwOyH3dkRl83QHRt6dKl3HfffVx00UWp19avX09hYWHGdLm5uTgcDtavX7+tmyiQfbKt1dXVEY/HKSgoyHi9sLCQdevW9VGrRFJyH2TbP9KNatuwLIvrrruOKVOmMHLkSED2y45Cro/bl809V9evX4/D4cj4MTQ5jdx3bDvPP/88X3zxBY899lin92Q/bh+WLVvGgw8+yOmnn85ZZ53Fp59+ytVXX43T6eTwww+X/bidOOOMM2hqauKAAw5A13Xi8Tg/+9nPOPjggwE5H3dkEuzaBm699VZuu+22jU7z2GOPMX78+NTfa9as4Qc/+AH7778/Rx99dMa0Sqms8+jqddHZ5uyTjZF9su113LaWZcn27key7R+xbVx55ZV88803PPDAA53ek/2yY5Dr4/aht89VOZ+3nVWrVnHNNddw11134XK5upxO9mP/ZlkW48aN4+c//zkAY8aM4dtvv+XBBx/k8MMPT00n+7F/e+GFF3jmmWe4+eabGT58OF9++SXXXXcdxcXFzJ07NzWd7McdjwS7toETTzyRAw88cKPTVFRUpP5/zZo1nHLKKUyaNImrrroqY7rCwkI++eSTjNcaGhqIRqOdotWiaz3dJxsj+2TbCgaD6Lre6VeWDRs2dMqwE9teUVERYP9CVlxcnHpd9s+2cdVVV/Hyyy9z3333UVpamnpd9suOQa6P248tOVcLCwuJRqM0NDRkZCFs2LCByZMnb6M12LF9/vnnbNiwgSOOOCL1Wjwe57333uP+++/nH//4ByD7sb8rKipi2LBhGa8NHTqUf/7zn6n3QfZjf3fjjTfywx/+kIMOOgiAmpoaVq5cybx585g7d67sxx2Y1OzaBvLz8xk2bNhG/0v+KpQMdI0dO5brrrsOTcvcRZMmTWLBggWsXbs29dobb7yB0+lk3Lhx23S9tmc92SebIvtk23I6nYwdO5Y33ngj4/U333xTvoz6gYqKCoqKijL2TyQS4b333pP9sxVZiZF8//Wvf/G3v/2NwYMHZ7wv+2XHINfH/q83ztVx48bhcDgyplm7di0LFiyQ/byN7LLLLjz77LM89dRTqf/GjRvHIYccwlNPPcXgwYNlP24Hdtppp1Sdp6TFixdTXl4OyPm4vQiFQp2ytnRdT2VlyX7ccUlmVz+yZs0aTj75ZMrKyrjwwgupra1NvZeMSM+aNYvhw4dzwQUXcMEFF9DQ0MANN9zAMcccg9/v76umD2grV66koaGBlStXEo/H+fLLLwGorKzE5/PJPukDp59+OhdccAHjxo1j8uTJPPzww6xatYrjjjuur5u2Q2hpaWHp0qWpv5cvX86XX35Jbm4ugwYN4pRTTmHevHlUV1dTVVXFvHnzcLvdqdoJovddccUVPPfcc/zxj3/E5/Ol6lMEAgHcbjdKKdkvOwi5PvZvvXGuBgIBjjzySG644QaCwSC5ubnccMMNjBw5slOhdLF1+P3+VJ21JK/XS15eXup12Y/936mnnsrxxx/Pn//8Zw444AA+/fRTHnnkEa688koAOR+3E3vuuSd//vOfGTRoUKob4913382RRx4JyH7ckSlLOqL2G0888QQXX3xx1ve+/vrr1P+vXLmSK664grfffjt1kl544YU4nc5t1dQdykUXXcSTTz7Z6fW///3vTJ8+HZB90hfuv/9+/vrXv7J27VpGjhzJxRdfzM4779zXzdohvPPOO5xyyimdXp87dy7XX389lmVx22238fDDD9PQ0MDEiRO5/PLLOz0YiN5TU1OT9fXrrrsu1c1G9suOQ66P/VdvnavhcJgbb7yR5557jlAoxIwZM/j1r39NWVnZNlkP0dnJJ5/MqFGjuPTSSwHZj9uL//znP/zud79j8eLFVFRUcPrpp3PMMcek3pf92P81Nzfzhz/8gfnz57NhwwaKi4s56KCD+PGPf5x6FpP9uGOSYJcQQgghhBBCCCGEGDCkZpcQQgghhBBCCCGEGDAk2CWEEEIIIYQQQgghBgwJdgkhhBBCCCGEEEKIAUOCXUIIIYQQQgghhBBiwJBglxBCCCGEEEIIIYQYMCTYJYQQQgghhBBCCCEGDAl2CSGEEEIIIYQQQogBQ4JdQgghhBBCCCGEEGLAkGCXEEIIIYQQQgghhBgwJNglhBBCCCGEEEIIIQYMCXYJIXrd/PnzueeeezJee+KJJ6ipqWH58uW9sox33nmHW2+9tVfmJYQQQgixo5H7NSHEQCbBLiFEr5s/fz5///vft+oy3n33XW677batugwhhBBCiIFK7teEEAOZBLuEEEIIIYQQQgghxIBh9HUDhBADy0UXXcSTTz4JQE1NDQDTpk1j7ty5AGzYsIGbbrqJ1157jZycHObOncu5556LruupedTW1vL73/+el19+mfr6egYPHsz3vvc9jj76aABuvfXW1K+EyWWUl5fz8ssvEw6Huemmm3jzzTdZuXIlgUCAnXbaiYsuuoiysrJtth2EEEIIIforuV8TQgx0EuwSQvSqs88+m9raWr744ovUDY7f7+fTTz8F4IILLuCwww7j2GOP5bXXXuNPf/oT5eXlqRuj5uZmjj/+eGKxGOeddx7l5eW8+uqrXHbZZUSjUU444QSOPvpoVq9ezWOPPcbDDz8MgNPpBCASidDW1saPf/xjioqKaGho4MEHH+SEE07gxRdfxO1298FWEUIIIYToP+R+TQgx0EmwSwjRqyorK8nPz8fpdDJp0qTU68mbp7lz53LWWWcBsOuuu/LGG2/w4osvpm6e/va3v7F69Wqee+45Bg8enJquqamJW2+9lWOPPZbS0lJKS0sBMpYBEAgEuOaaa1J/x+NxZs+ezYwZM3jttdfYd999t9aqCyGEEEJsF+R+TQgx0EnNLiHENrXbbrtl/D1ixAhWrlyZ+vv1119n0qRJlJWVEYvFUv/Nnj2b2tpaFi1atMllPPfccxx11FFMnTqVMWPGMHHiRFpbW1m8eHFvr44QQgghxIAj92tCiO2dZHYJIbapnJycjL+dTieRSCT1d21tLUuWLGHs2LFZP19XV7fR+c+fP59f/OIXqdoSwWAQpRQ//OEPCYfDW74CQgghhBADnNyvCSG2dxLsEkL0K3l5eRQVFXHRRRdlfX/IkCEb/fyLL75IZWUl119/feq1aDRKQ0NDr7ZTCCGEEGJHJfdrQoj+ToJdQohe53Q6N/tXudmzZ3P//fdTXl5Ofn7+RpcBEA6HcblcqddDoRCGkXlpe+6554jH45vVHiGEEEKIgUju14QQA5kEu4QQvW7o0KE8/PDDPProo9TU1OD3+7v92dNOO40XXniBE088kdNOO43q6mpaWlpYuHAhH330EbfffjsAw4YNA+Cuu+5i5syZuFwuampqmD17NvPnz+faa69lzz335PPPP+fee+/tlI4vhBBCCLEjk/s1IcRAJsEuIUSvO+qoo/jwww+5/vrraW5uZtq0acydO7dbnw0EAjz00EPcfvvtzJs3j7Vr1xIIBBg6dCj7779/aro999yTY489lnvuuYc//OEPDBo0iJdffpljjjmGVatW8fjjj/Pwww8zfvx4/vSnP3HOOedsrdUVQgghhNjuyP2aEGIgU5ZlWX3dCCGEEEIIIYQQQggheoPW1w0QQgghhBBCCCGEEKK3SLBLCCGEEEIIIYQQQgwYEuwSQgghhBBCCCGEEAOGBLuEEEIIIYQQQgghxIAhwS4hRJf++c9/ctxxxzF9+nQmTZrEXnvtxXnnncenn36ammb+/Pncc889m72Md955h5qamtR/EyZM4MADD+S2224jFAr1wlp0dtFFFzFnzpzU38uXL6empoZ33nlnqyxPCCGEEGJrkHs1IYTIzujrBggh+qd77rmH6667jmOOOYazzjoLp9PJ4sWLmT9/Pp988gkTJkwA7Buod999l9NOO22Llnf55ZczduxY2tra+O9//8vtt9/O0qVLufHGG3thbYQQQgghBha5VxNCiK5JsEsIkdXdd9/N/vvvz1VXXZV6bdddd+WEE07ANM1eX97w4cOZNGkSADNmzKC2tpYnnniCSy65hLy8vF5fnhBCCCHE9kzu1YQQomvSjVEIkVVDQwOFhYVZ39M0+9Jx0UUX8eSTT7JixYpUavvJJ5/cK8sfN24cAEuXLmXJkiWcf/75zJkzhwkTJrDvvvty44030tbWlvGZOXPmcNFFF2W8lkx7f+KJJ3q0/Ndff53jjjuOKVOmMHnyZPbbbz9uu+22LVspIYQQQoheIvdqcq8mhOiaZHYJIbIaP348jz/+OIMHD2bOnDlUVlZ2mubss8+mtraWL774InVz4ff7e2X5y5cvByAQCLB27VrKysq45JJLyM3NZdmyZcybN48VK1bwhz/8YYuXVVFRwddff536e9myZfzoRz9iv/324+yzz8bhcLB48WKWLVu2xcsSQgghhOgNcq8m92pCiK5JsEsIkdVvfvMbzj33XK677jquu+46CgsLmTVrFsceeyw77bQTAJWVleTn5+N0OlNp7ZvLNE1isRihUIg333yThx56iNGjRzNkyBCGDBnCzjvvnJp28uTJVFZWctJJJ1FXV0cwGNyiZXf0+eefE41GueKKK1I3hDNmzOjVZQghhBBCbAm5V5N7NSFE1yTYJYTIatiwYTzzzDN88MEHvPnmm3z44Yc899xzPPPMM1x99dUceeSRvbq8jkVT99xzTy677DIAIpEId955J08//TSrVq0iHA6npluyZEmv30CN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kqBeEtQfTyRB/exjnO4J6pUxxhzVIwiCIAiCIAiCIAiCIAjCMULCGAVBEARBEARBEARBEIRTBhG7BEEQBEEQBEEQBEEQhFMGEbsEQRAEQRAEQRAEQRCEUwYRuwRBEARBEARBEARBEIRTBhG7BEEQBEEQBEEQBEEQhFMGEbtOcL785S/z7ne/m8svv5wXvehFTbcZGhriwx/+MFdccQUveclL+MxnPoPjOMe4pKcH3/nOd3j1q1/NpZdeylvf+laeeuqp412k04Inn3ySD3/4w1x//fWsW7eOe+65p2G9MYZbb72V66+/nssuu4z3ve997Ny58ziV9tTmtttu421vextXXnkl1157LR/5yEfYs2dPwzbSHseG7373u7zxjW/kqquu4qqrruJd73oXDzzwQLxe2uH0RX6rTlyOVB/qOA6f/vSneclLXsIVV1zBhz/8YUZGRo7lqQgJbrvtNtatW8dnP/vZeJm048nB6Ogof/Znf8ZLXvISLr/8ct785jfz/PPPx+ulHU98PM/jC1/4Aq9+9au57LLL+C//5b/wpS99Ca11vI204+mJiF0nOK7r8rrXvY73vOc9Tdf7vs8f/MEfUC6X+e53v8sXvvAFfvnLX/K5z33uGJf01OfnP/85t9xyC//jf/wPfvzjH3P11VfzwQ9+kKGhoeNdtFOecrnMunXruPnmm5uu/+pXv8o3vvENbr75Zu644w6WLl3KBz7wAYrF4jEu6anP+vXree9738v3v/99vvGNb+D7Pr//+79PuVyOt5H2ODasXLmSP/uzP+MHP/gBP/jBD3jpS1/KH/7hH8YPb9IOpyfyW3Vic6T60M9+9rP86le/4gtf+ALf/e53KZfL/MEf/AG+7x+P0zqtee6557j99ttZt25dw3JpxxOfXC7He97zHtLpNF/96lf52c9+xk033UR3d3e8jbTjic9Xv/pV/v3f/52bb76Zn//85/zv//2/+drXvsa//uu/Nmwj7XgaYoSTgh/84Afm6quvnrX8/vvvNxdddJEZGRmJl915553mkksuMYVC4VgW8ZTn7W9/u7n55psblr3uda8zn//8549TiU5PLrzwQvOrX/0q/qy1Ntddd5257bbb4mW1Ws1cffXV5nvf+97xKOJpxeTkpLnwwgvN+vXrjTHSHseba665xnz/+9+XdjiNkd+qk4tD6UPz+by5+OKLzc9+9rN4m5GREXPRRReZBx988NiewGlOsVg0r3nNa8wjjzxi/tt/+2/mM5/5jDFG2vFk4e///u/Ne97znjnXSzueHHzoQx8yf/7nf96w7KMf/aj5sz/7M2OMtOPpjDi7TnKeffZZLrjgAlasWBEvu/7663Ecp8GCKxwejuOwefNmrr/++obl1113HRs2bDhOpRIABgYGGB8fb2ibTCbDNddcI21zDCgUCgD09PQA0h7HC9/3+dnPfka5XObKK6+UdjhNkd+qk49D6UOff/55XNfluuuui7dZsWIFF1xwgbTzMeZTn/oUr3jFK3jZy17WsFza8eTg3nvv5ZJLLuGP/uiPuPbaa3nLW97C97///Xi9tOPJwdVXX83jjz9OX18fANu2bePpp5/mFa94BSDteDqTOt4FEA6PiYkJli5d2rCsp6eHdDrNxMTEcSrVqUc2m8X3fZYsWdKwfOnSpYyPjx+nUglAXP/N2kbCdo4uxhhuueUWrr76ai688EJA2uNYs337dt797ndTq9Vob2/nn/7pnzj//PN55plnAGmH0w35rTq5ONQ+dGJignQ6HQtkyW3k2e/Y8bOf/YwtW7Zwxx13zFon7XhysH//fr73ve/xgQ98gA9/+MM899xzfOYznyGTyfCWt7xF2vEk4YMf/CCFQoHf/M3fxLZtfN/nT/7kT3jDG94AyP14OiNi13Hg1ltv5Utf+tK829xxxx1ceumlC9qfUuqglguHzsw6NcZIPZ8gNGsb4ejyqU99ih07dvDd73531jppj2PDOeecw49//GPy+Tx33303n/jEJ/i3f/u3eL20w+mJ/FadHBzpPlTu72PH8PAwn/3sZ/n6179OS0vLnNtJO57YGGO45JJL+NM//VMAXvjCF7Jr1y6+973v8Za3vCXeTtrxxObnP/85P/3pT/l//+//cf7557N161ZuueUWli9fzo033hhvJ+14+iFi13Hgve99L7/1W7817zZr1qxZ0L6WLl3Kxo0bG5blcjlc152lXguHTm9vL7Ztz1L2JycnZznrhGPLsmXLgOCNzPLly+Pl0jZHl09/+tPce++9/Nu//RsrV66Ml0t7HFsymQxnnXUWAJdeeimbNm3i29/+Nh/84AcBaYfTDfmtOnk4nD506dKluK5LLpdrcCFMTk5y5ZVXHqMzOL3ZvHkzk5OTvPWtb42X+b7Pk08+yXe+8x1+8YtfANKOJzrLli3jvPPOa1h27rnn8stf/jJeD9KOJzp/93d/x4c+9CFe//rXA7Bu3TqGhoa47bbbuPHGG6UdT2MkZ9dxYPHixZx33nnz/jffW6IkV1xxBTt37mRsbCxe9sgjj5DJZLjkkkuO1imcdmQyGS6++GIeeeSRhuWPPvqodIDHmTVr1rBs2bKGtnEchyeffFLa5ihgjOFTn/oUd999N9/61rdYu3Ztw3ppj+OLMQbHcaQdTlPkt+rE50j0oZdccgnpdLphm7GxMXbu3CntfIx46Utfyn/+53/y4x//OP7vkksu4Y1vfCM//vGPWbt2rbTjScBVV10V53mK6O/vZ/Xq1YDcjycL1Wp1lmvLtu3YlSXtePoizq4TnKGhIXK5HENDQ/i+z9atWwE488wz6ejo4Prrr+f888/n4x//OB//+MfJ5XJ87nOf453vfCednZ3HufSnFh/4wAf4+Mc/ziWXXMKVV17J7bffzvDwMO9+97uPd9FOeUqlEvv27Ys/DwwMsHXrVnp6ejjjjDN4//vfz2233cbZZ5/NWWedxW233UZra2scqy8cOT75yU9y55138s///M90dHTEeRC6urpobW1FKSXtcYz4h3/4B2644QZWrlxJqVTi5z//OevXr+df/uVfpB1OY+S36sTmSPShXV1dvO1tb+Nzn/scvb299PT08LnPfY4LL7xwVqJ04ejQ2dkZ51mLaG9vZ9GiRfFyaccTn9/5nd/hPe95D1/5ylf4zd/8TZ577jm+//3v86lPfQpA7seThFe96lV85Stf4YwzzojDGL/xjW/wtre9DZB2PJ1RRgJRT2huuukmfvSjH81a/u1vf5uXvOQlQCCIffKTn+Txxx+Pb9pPfOITZDKZY13cU57vfOc7fO1rX2NsbIwLL7yQP//zP+eaa6453sU65XniiSd4//vfP2v5jTfeyN/+7d9ijOFLX/oSt99+O7lcjssvv5ybb7551oOocPisW7eu6fJbbrklDueQ9jg2/MVf/AWPP/44Y2NjdHV1sW7dOj74wQ/GMwlJO5y+yG/VicuR6kNrtRp/93d/x5133km1WuXaa6/lr//6r1m1atUxOQ9hNu973/u46KKL+D//5/8A0o4nC/fddx//8A//QH9/P2vWrOEDH/gA73znO+P10o4nPsVikX/8x3/knnvuYXJykuXLl/P617+eP/zDP4zHw9KOpycidgmCIAiCIAiCIAiCIAinDJKzSxAEQRAEQRAEQRAEQThlELFLEARBEARBEARBEARBOGUQsUsQBEEQBEEQBEEQBEE4ZRCxSxAEQRAEQRAEQRAEQThlELFLEARBEARBEARBEARBOGUQsUsQBEEQBEEQBEEQBEE4ZRCxSxAEQRAEQRAEQRAEQThlELFLEARBEARBEARBEARBOGUQsUsQBEEQBEEQBEEQBEE4ZRCxSxAEQRAEQRAEQRAEQThlELFLEIQjzj333MM3v/nNhmU//OEPWbduHQMDA0fkGE888QS33nrrEdmXIAiCIAjC6YY8rwmCcCojYpcgCEece+65h29/+9tH9Rjr16/nS1/60lE9hiAIgiAIwqmKPK8JgnAqI2KXIAiCIAiCIAiCIAiCcMqQOt4FEATh1OKmm27iRz/6EQDr1q0D4MUvfjE33ngjAJOTk/z93/89Dz74IN3d3dx444187GMfw7bteB9TU1N88Ytf5N5772V6epq1a9fye7/3e7zjHe8A4NZbb43fEkbHWL16Nffeey+1Wo2///u/59FHH2VoaIiuri6uuuoqbrrpJlatWnXM6kEQBEEQBOFERZ7XBEE41RGxSxCEI8pHPvIRpqam2LJlS/yA09nZyXPPPQfAxz/+cd785jfzrne9iwcffJAvf/nLrF69On4wKhaLvOc978HzPP74j/+Y1atX88ADD/BXf/VXuK7Lb//2b/OOd7yDkZER7rjjDm6//XYAMpkMAI7jUKlU+MM//EOWLVtGLpfje9/7Hr/927/NXXfdRWtr63GoFUEQBEEQhBMHeV4TBOFUR8QuQRCOKGeeeSaLFy8mk8lwxRVXxMujh6cbb7yRD3/4wwC87GUv45FHHuGuu+6KH56+9a1vMTIywp133snatWvj7QqFArfeeivvete7WLlyJStXrgRoOAZAV1cXn/3sZ+PPvu/z8pe/nGuvvZYHH3yQ17zmNUfr1AVBEARBEE4K5HlNEIRTHcnZJQjCMeWGG25o+HzBBRcwNDQUf37ooYe44oorWLVqFZ7nxf+9/OUvZ2pqir6+vgMe48477+Ttb387L3rRi3jhC1/I5ZdfTrlcpr+//0ifjiAIgiAIwimHPK8JgnCyI84uQRCOKd3d3Q2fM5kMjuPEn6empti7dy8XX3xx0+9ns9l593/PPffwv/7X/4pzS/T29qKU4kMf+hC1Wu3wT0AQBEEQBOEUR57XBEE42RGxSxCEE4pFixaxbNkybrrppqbrzznnnHm/f9ddd3HmmWfyt3/7t/Ey13XJ5XJHtJyCIAiCIAinK/K8JgjCiY6IXYIgHHEymcwhv5V7+ctfzne+8x1Wr17N4sWL5z0GQK1Wo6WlJV5erVZJpRq7tjvvvBPf9w+pPIIgCIIgCKci8rwmCMKpjIhdgiAccc4991xuv/12/uM//oN169bR2dm54O/+7u/+Lj//+c9573vfy+/+7u9y9tlnUyqV2LNnDxs2bOCf/umfADjvvPMA+PrXv851111HS0sL69at4+Uvfzn33HMPf/M3f8OrXvUqNm/ezL/+67/OsuMLgiAIgiCczsjzmiAIpzIidgmCcMR5+9vfzjPPPMPf/u3fUiwWefGLX8yNN964oO92dXXx7//+7/zTP/0Tt912G2NjY3R1dXHuuefyute9Lt7uVa96Fe9617v45je/yT/+4z9yxhlncO+99/LOd76T4eFhfvCDH3D77bdz6aWX8uUvf5mPfvSjR+t0BUEQBEEQTjrkeU0QhFMZZYwxx7sQgiAIgiAIgiAIgiAIgnAksI53AQRBEARBEARBEARBEAThSCFilyAIgiAIgiAIgiAIgnDKIGKXIAiCIAiCIAiCIAiCcMogYpcgCIIgCIIgCIIgCIJwyiBilyCcRtx6662sW7eOK664glKpNGv9j370I9atW8e6desYGBho+N4TTzxxyMe96aabePWrX9103Q9/+MNZxxMEQRAEQTgdkWc1QRCEI4OIXYJwGmJZFnffffes5T/+8Y/p6OiYtfxLX/oS69evPxZFEwRBEARBOO2RZzVBEITDQ8QuQTgNec1rXsOPf/zjhmXDw8OsX7+e1772tcenUEcA13UxxhzvYgiCIAiCIBwW8qwmCIJweIjYJQinIW9+85tZv349IyMj8bKf/vSnrFq1ihe96EUN265btw4I3hhGtvkf/vCHR72Mt99+O29605u49NJLeelLX8pf/uVfks/nZ5XtH//xH/nSl77EK17xCi699FIKhUJsxd+wYQPveMc7uOyyy3jta1/LAw88AMC//Mu/8KpXvYqrr76aj370o0xPTzfst1gs8qlPfYrrr7+eSy65hNe+9rV885vfbHg4e+KJJ1i3bh33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tuX5VFvniJHzMMMw2jxv7KrOnMd2dO7a1nLorK7Mo6Pzwf66DXZl+fT0MbU768Zms0WPHS23y7aOSV3ZfmP3A+jcuUB3ttGW+2Pk95b7AjTvg51tT0/QlFKqV99BCCGEEEIIIYQQQog+It0YhRBCCCGEEEIIIUS/IcEuIYQQQgghhBBCCNFvSLBLCCGEEEIIIYQQQvQbEuwSQgghhBBCCCGEEP2GBLuEEEIIIYQQQgghRL8hwa4+UFxczI033sjxxx/PrFmzOOGEE/j73/+O3++Pm66kpIQrr7ySOXPmMH/+fG6//fZW04ju+ec//8kFF1zA7NmzOeyww9qcRpZ/73r66ac5/vjjmTlzJosWLWL16tWJblK/tGrVKq688koWLlzIlClTeP/99+OeV0px3333sXDhQmbNmsXFF1/M9u3bE9Ta/mXJkiWcc845zJ07lwULFvCzn/2MXbt2xU0jy7/3PPPMM5xxxhkceuihHHrooXz3u9/lk08+iT4/kJa9HG+TV08dJ/x+P7fddhvz589nzpw5XHnllZSWlvblRxExlixZwpQpU7jjjjuij8l6TA1lZWVcc801zJ8/n9mzZ3PmmWfy9ddfR5+X9Zj8gsEg9957b/Ra+1vf+hb3338/pmlGp5H1ODBJsKsP7Nq1C6UUixcvZunSpdxwww0899xz3HvvvdFpDMPgiiuuoLGxkWeeeYZ7772Xd955h7vvvjuBLe8/AoEAJ598Mt/73vfafF6Wf+968803ufPOO/npT3/Kq6++yrx587j88sspKSlJdNP6ncbGRqZMmcItt9zS5vMPPvggjz76KLfccgsvvvgiBQUFXHrppTQ0NPRxS/uflStXctFFF/HCCy/w6KOPYhgGP/7xj2lsbIxOI8u/9wwdOpRrrrmGl156iZdeeokjjzySn//859GT2YGy7OV4m9x66jhxxx138N5773HvvffyzDPP0NjYyBVXXIFhGIn4WAPa+vXref7555kyZUrc47Iek19dXR3f+973sNlsPPjggyxdupTrr7+erKys6DSyHpPfgw8+yHPPPcctt9zCm2++yW9/+1sefvhhnnzyybhpZD0OQEokxIMPPqiOP/746N8ff/yxmjp1qiotLY0+9sYbb6gZM2Yot9udiCb2Sy+99JKaN29eq8dl+feuc889V91yyy1xj5188snqT3/6U4Ja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PBNrzCdzjccbR0/n/i90nkz9PNPP1KfSNqZp9p8dj+2X13omPZn+e+U4gCc2F3gqffSx43Hj/x87FmBzDD7R8jwTCKWUelbvEBMTExMTExMTExMTExMTExMT8xwRuzHGxMTExMTExMTExMTExMTExLxoiMWumJiYmJiYmJiYmJiYmJiYmJgXDbHYFRMTExMTExMTExMTExMTExPzoiEWu2JiYmJiYmJiYmJiYmJiYmJiXjTEYldMTExMTExMTExMTExMTExMzIuG513s+vM//3Ne85rXcPjwYd72trdx//33P99FelFw33338f73v5877riDffv28U//9E9b9iul+M3f/E3uuOMOjhw5wo/92I9x7ty556m03958/OMf5+1vfztHjx7ltttu49//+3/PxYsXtxwT1/czxyc/+Une/OY3c+ONN3LjjTfywz/8w3zlK1/p74/r+tnl4x//OPv27ePDH/5wf1tc588cv/mbv8m+ffu2fG6//fb+/riuY54I8dzqhcszNWfwPI9f/MVf5NZbb+WGG27g/e9/P8vLy8/lV4m5gqf62xi34/PPysoKP/uzP8utt97K9ddfz/d///fz6KOP9vfH7fjCJwgCfv3Xf53XvOY1HDlyhNe+9rX81m/9FlLK/jFxO35n8ryKXZ///Of5yEc+wr/7d/+Oz372s9x00028973vZXFx8fks1ouCTqfDvn37+OAHP3jN/b//+7/PJz7xCT74wQ/yV3/1V5RKJd7znvfQarWe45J++3Pvvffyrne9i8985jN84hOfIAxD/vW//td0Op3+MXF9P3OMjo7ysz/7s/z1X/81f/3Xf81LX/pSfuInfqL/gxXX9bPHsWPH+PSnP82+ffu2bI/r/Jllz5493Hnnnf3P3/3d3/X3xXUd862I51YvbJ6pOcOHP/xhvvjFL/Lrv/7rfPKTn6TT6fBv/+2/JQzD5+NrfUfzdH4b43Z8fqnX67zzne/ENE1+//d/n8997nP8l//yX8jlcv1j4nZ84fP7v//7/MVf/AUf/OAH+fznP89/+k//iT/8wz/kT//0T7ccE7fjdyDqeeQHfuAH1Ac/+MEt297whjeoX/3VX32eSvTiZO/eveqLX/xi/28ppbr99tvVxz/+8f4213XVTTfdpD71qU89H0V8UVEul9XevXvVvffeq5SK6/u54JZbblGf+cxn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", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "az.plot_trace(idata, compact=False);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## CmdStanPy integration\n", - "ArviZ also has first class support for [CmdStanPy](https://mc-stan.org/cmdstanpy/). After creating and sampling a CmdStanPy model:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/oriol/bin/miniforge3/envs/general/lib/python3.11/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", - " from .autonotebook import tqdm as notebook_tqdm\n" - ] - } - ], - "source": [ - "from cmdstanpy import CmdStanModel\n", - "model = CmdStanModel(stan_file=\"schools.stan\")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "19:42:30 - cmdstanpy - INFO - CmdStan start processing\n", - "chain 1 |\u001b[33m \u001b[0m| 00:00 Status\u001b[0m\n", - "chain 2 |\u001b[33m \u001b[0m| 00:00 Status\u001b[0m\u001b[A\n", - "\n", - "chain 3 |\u001b[33m \u001b[0m| 00:00 Status\u001b[0m\u001b[A\u001b[A\n", - "\n", - "\n", - "chain 4 |\u001b[33m \u001b[0m| 00:00 Status\u001b[0m\u001b[A\u001b[A\u001b[A\n", - "\n", - "chain 3 |\u001b[34m███████████████████████████████ \u001b[0m| 00:00 Iteration: 1600 / 2000 [ 80%] (Sampling)\u001b[0m\u001b[A\u001b[A\n", - "\n", - "\n", - "chain 1 |\u001b[34m███████████████████████████████████████████████████████████\u001b[0m| 00:00 Sampling completed\u001b[0m\u001b[A\u001b[A\u001b[A\n", - "\n", - "chain 2 |\u001b[34m███████████████████████████████████████████████████████████\u001b[0m| 00:00 Sampling completed\u001b[0m\u001b[A\n", - "chain 3 |\u001b[34m███████████████████████████████████████████████████████████\u001b[0m| 00:00 Sampling completed\u001b[0m\n", - "chain 4 |\u001b[34m███████████████████████████████████████████████████████████\u001b[0m| 00:00 Sampling completed\u001b[0m" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " " - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n", - "19:42:30 - cmdstanpy - INFO - CmdStan done processing.\n", - "19:42:30 - cmdstanpy - WARNING - Some chains may have failed to converge.\n", - "\tChain 1 had 27 divergent transitions (2.7%)\n", - "\tChain 2 had 9 divergent transitions (0.9%)\n", - "\tChain 3 had 4 divergent transitions (0.4%)\n", - "\tChain 4 had 20 divergent transitions (2.0%)\n", - "\tUse the \"diagnose()\" method on the CmdStanMCMC object to see further information.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n" - ] - } - ], - "source": [ - "fit = model.sample(data=\"schools.json\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The result can be used for plotting with ArviZ directly:" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAACb8AAAaDCAYAAADEz8FvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3yV5f3/8fedDWEkjLBHGAmQhCwIoAwHotZZtWq1Wv25WtuqrbZqh9p+bWv92jqq1mqto19H617UhYMpIXuRBMIKCARCQgIJZN2/P66cABIg89xnvJ6PRx/XxTnJfT7n5Nj7vq7rc38uy7ZtWwAAAAAAAAAAAAAAAAAAeJEApwMAAAAAAAAAAAAAAAAAAKCzSH4DAAAAAAAAAAAAAAAAAHgdkt8AAAAAAAAAAAAAAAAAAF6H5DcAAAAAAAAAAAAAAAAAgNch+Q0AAAAAAAAAAAAAAAAA4HVIfgMAAAAAAAAAAAAAAAAAeB2S3wAAAAAAAAAAAAAAAAAAXofkNwAAAAAAAAAAAAAAAACA1yH5DQAAAAAAAAAAAAAAAADgdUh+AwAAAAAAANqxevVqxcbG6qqrrnI6FAAAAABwK8ZDAABvEeR0AAAAAAAAAIBTnn/+edXW1ur73/++BgwY4Ggsq1evVnp6utLS0jRr1ixHYwEAAADg+xgPAQB8AZXfAAAAAAAA4LdefPFFPf7446qpqXE6FKWnp+vxxx9Xenq606EAAAAA8AOMhwAAvoDkNwAAAAAAAAAAAAAAAACA1yH5DQAAAAAAAAAAAAAAAADgdSzbtm2ngwAAAAAAAADc6c0339Tdd999zOdffPFFSdLVV1+ttLQ0vfDCC/rXv/6l1157TZs3b1b//v11yimn6I477tCgQYPaPUZ1dbWee+45LVmyRFu3bpVlWZo8ebIuueQSXXLJJQoIOHRfamxs7DFj+fa3v60HHnhAklReXq7//ve/WrZsmbZs2aLKykr169dPcXFxuuqqq3TKKad04dMAAAAA4E8YDwEAfEmQ0wEAAAAAAAAA7jZ48GClpKSooKBADQ0Nio+PV0hISNvz/fv3V21tbdu/f/7zn+v999/X+PHjNW7cOG3cuFFvvPGG8vLy9Oabbx7xu5K0bt06XXfdddq5c6eCg4M1btw4NTQ0KC8vT7m5uVq+fLkeffRRWZYlSUpJSdH27du1fft2jRgxQiNGjGg71vjx49v6Tz31lF5//XX17dtXUVFRio2N1c6dO7V8+XItX75ct99+u2688cZe+tQAAAAA+ALGQwAAX0LlNwAAAAAAAPit0047Tdu2bdOSJUs0evToI55bvXq1rr76agUHBysyMlJPPPGEpk+fLknauHGjrrnmGu3YsUP33Xefvvvd77b9Xl1dnS644AJt2bJFV111lW677Tb169dPkrR+/XrddtttWrdune655x5deeWVbb/317/+VY8//rh+/OMf6yc/+Um78X755ZeKiIjQ9OnT2xaKJCkjI0O33Xab9uzZow8//FBjx47tsc8IAAAAgG9iPAQA8AUBJ/4RAAAAAAAAwH81NjbqN7/5TdtCjyRFR0fr+uuvlyQtXbr0iJ9/4403tGXLFp1xxhn69a9/3bbQI0mTJk3SQw89JMuy9Nxzz3U6lgULFigxMfGIhR5JmjFjhm699VY1Nzdr8eLFnT4uAAAAALSH8RAAwNOx7SkAAAAAAABwHAMHDtSiRYuOejwhIUGStHXr1iMe//jjjyVJ3/nOd9o93pQpUzRq1CiVl5drx44dGj58eKfi2bNnj9577z3l5eWpsrJSBw8elCTt27dPklRcXNyp4wEAAADAsTAeAgB4OpLfAAAAAAAAgOMYM2ZMu48PHjxYkrR///4jHi8tLZUkPfroo3rqqafa/d2qqipJ0s6dOzu12LN8+XLddtttqq2tPebP7N27t8PHAwAAAIDjYTwEAPB0JL8BAAAAAAAAx9G3b992H//mVjsurooDhYWFJzz2gQMHOhxHTU2Nfvazn6m2tlYXXnihrrjiCkVHR6tfv34KCAjQypUrde2116qpqanDxwQAAACA42E8BADwdCS/AQAAAAAAAD2ob9++qqmp0ccff6xx48b12HGXLl2qvXv3Kjk5WQ888MBRi03bt2/vsdcCAAAAgK5gPAQAcLcApwMAAAAAAAAAfMnEiRMlSevWrevU7x2rcoLLtm3bJElJSUnt/mxxcXGnXg8AAAAAehrjIQCAu5H8BgAAAAAAAL8VFhYmSTp48GCPHXPRokWSpBdffFG2bXf490JDQyUde+sf1/O7d+8+6rmqqiq9/vrrnQ0VAAAAgB9jPAQA8AUkvwEAAAAAAMBvjRkzRpKUnp7eY8e87LLLNGbMGK1evVp33HGHKioqjnh+//79Wrx4sf74xz+2G0t2draampqOOu6MGTMkSR9++KFWrlzZ9nhFRYVuueUWNTc399h7AAAAAOD7GA8BAHxBkNMBAAAAAAAAAE45++yz9cUXX+i+++7Tyy+/rIiICEnSL3/5yy4fMzw8XH//+99144036v3339fixYsVHR2tfv36ae/evSovL1dzc7MSExOP+L25c+dq4MCByszM1CmnnKIxY8YoKChI8+bN04033qj4+HideeaZ+uijj3Tttddq3Lhx6tu3r9atW6fQ0FDdfvvt+sMf/tCdjwMAAACAH2E8BADwBSS/AQAAAAAAwG9deOGFqqmp0euvv67NmzertLRUklRTU9Ot406cOFHvvPOOXn75ZX366acqKytTeXm5hg4dqpkzZ2rBggVt2wG59OvXT88++6wee+wx5eXlKScnRy0tLRo1alTbzzz00ENtx/76668VERGhM888Uz/+8Y+1a9eubsUMAAAAwL8wHgIA+ALL7sxG2wAAAAAAAAAAAAAAAAAAeIAApwMAAAAAAAAAAAAAAAAAAKCzSH4DAAAAAAAAAAAAAAAAAHgdkt8AAAAAAAAAAAAAAAAAAF6H5DcAAAAAAAAAAAAAAAAAgNch+Q0AAAAAAAAAAAAAAAAA4HWCnA4AAOD7nn/+edXW1ur73/++BgwY4HQ4AAAAAAAAAAAAAADAB1i2bdtOBwEA8G2nnXaatm3bpiVLlmj06NFOhwMAAAAAAAAAAAAAAHwA254CAAAAAAAAAAAAAAAAALwOyW8AAAAAAAAAAAAAAAAAAK/DtqcAgF7z5ptv6u677z7m8y+++KJmzZqlFStWaMmSJcrIyNCOHTtUX1+vYcOG6eSTT9ZNN92kkSNHHvW7V111ldLT09uO8U133XWX3nrrLf3xj3/URRdd1KPvCwAAAAA66ssvv9Rzzz2noqIiNTQ0KDo6WhdddJGuvPJKBQRwXyoAAAAA31NeXq5Vq1YpLy9PeXl5Wr9+vZqbm3Xrrbfq5ptvdjo8AICPCXI6AACA7xo8eLBSUlJUUFCghoYGxcfHKyQkpO35/v37S5JuuOEGtbS0aNCgQRo5cqSam5u1detWvfrqq/rwww/10ksvadKkSU69DQAAAADokqefflp//vOfJUljxoxR3759VVxcrPvvv18rV67UE088QQIcAAAAAJ/z4osv6sUXX3Q6DACAnyD5DQDQaxYsWKAFCxbotNNO07Zt2/Too49q9OjRR/3cvffeq1NOOUXDhg1re+zAgQN6/vnn9fDDD+u3v/2t/vWvf7kzdAAAAADoluzsbP3lL39RQECA/vd//1fnnnuuJKm4uFjXXXedPvvsMz333HO67rrrHI4UAAAAAHpWZGSkTj31VCUkJCghIUGvv/66PvroI6fDAgD4KG4tBQA47rLLLjsi8U2SwsLC9IMf/ECpqalKT0/Xzp07HYoOAAAAADrvb3/7m2zb1ne+8522xDdJmjJliu666y5JpjJcY2OjUyECAAAAQK+4+eab9dRTT+lHP/qR5s+fr759+zodEgDAh1H5DQDgEfLz8/XRRx9p/fr12rdvn5qbmyVJmzdvlmSqI3wzQQ4AAAAAPNG+ffu0cuVKSdIll1xy1PNnnXWW7rvvPlVXV2v16tWaO3euu0MEAAAAAAAAfALJbwAAR9m2rd/97nd6+eWXj/tze/fudVNEAAAAANA9RUVFamxsVGhoqKZNm3bU88HBwUpISNCqVauUm5tL8hsAAAAAAADQRWx7CgBw1DvvvKOXX35Zffv21b333quPP/5Yubm5KikpUUlJic477zxJUlNTk8ORAgAAAEDHuCpYjxgxQkFB7d97OmbMmCN+FgAAAAAAAEDnUfkNAOCo9957T5J055136vLLLz/q+R07dhz3923bbvfxurq67gcHAAAAAF3gqlw9cODAY/7MgAEDJEk1NTVuiQkAAAAAAADwRVR+AwA4auvWrZKk5OTko55rbGxUWVlZu7/Xt29fSdKePXvafX7Lli09FCEAAAAAdM7Bgwclme1NjyUkJESSdODAAbfEBAAAAAAAAPgikt8AAL0uLCxM0qEFoPaeq6ysPOq5N99885jJba4tgvLz8496Lj8/X8XFxV2OFwAAAAC6IzQ0VJK5oedYGhoaJB0aEwEAAAAAAADoPJLfAAC9zpWolp6eftRzqampkqRHHnnkiES3pUuX6sEHH2xbNPqmefPmSZJee+015eXltT2+adMm3XXXXQoKYmdvAAAAAM5wbXfq2v60Pa7tTl3bnwIAAAAAAADoPDIDAAC97uyzz9YXX3yh++67Ty+//LIiIiIkSb/85S91/fXX64MPPlBubq5OPfVURUdHq6amRtu2bdOsWbMUFRWl995776hjzp8/XyeddJJWrlypyy67TOPG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vBYcHNzh3/nme2vPgAEDuhwTAAAAAAC9qTPzCs89v0QN9S/J0kZ9//uH5hW+mQBWV+dd8wrz51l64V+2vkqXDh60FRp67MWmt956S5J0+eWXKyCg+/d6uo53xRVXdPtYAAAAALzTipXmRpyTTzJjkZ5Y/3VynPa9731Pf/zjHz1i/bcj+ve3dPqpthZ/KL37nq34uPbHhKGhoRo7dqyKioq0e/duN0cJAPAEVH7rpD17zEVORyu/NTU16cc//rE+/PBDTZ48WXFxcVq/fr3uuusupaen65VXXtE999yjwMBAzZo1Sy0tLXrttdf0hz/8QYGBluKmmeN89dUeXXfddXrmmWdUU1OjtLQ0xcXFqbi4WHfeeadefPHFo17797//vT777DP169dPc+bMUVJSkioqKvTUU0/pZz/7mZqbm9uNefv27br22muVl5enxMRExcTEtL3O6tWru/S5ddXOnTvbJpxnz57d4d+bOXOmJOn5559XS0tL2+N79uzRG2+8ocDAQJ155pk9GywAAAAAAD2sI/MKr75yr6RAjRqddsS8wuEqKyu9bl4hZrI0dIh04ICUe4Kb9zMzMyWZ+YCysjI988wzeuCBB/TMM8+ooKCgw68pSfv371dxcbHCw8MVFxen/Px8Pfnkk3rggQf03HPPqaysrFPHAwAAAOB96upsZeeY/sknHflcd9Z/D+fucdoll1ziyPpvcXGx/vrXv7aN0bKysjr8u+efZxLelnwu1da2XxW8ublZ27dvlyQNHjy4+wEDALwOld866dC2px0rbZufn6+UlBT95z//aas05sqwf/DBB1VTU6MnnnhCSUlJkqRdu3bp6quv1scff6ybbrpJ0xNGKn2Nrf/8537t3rVR3/ve947YbmPbtm269dZb9fe//11z5szR5MmT2177zjvvVFpamvr06dP22P79+3XPPfdoxYoV+uijj/Stb33rqJgXL16s73znO7r11lvbXuff//63Hn74YT333HOaNWvWET9/4YUXaseOHR37AFu9+eabGjly5FGPZ2dn68UXX1RLS4t2796t3NxcNTc366abbmr7jDri5ptvVnFxsV577TWtXLlSsbGxqq+vV25urgYMGKAHH3xQ0dHRnYoZAAAAAAB368i8wqChf9XemiT9/OeWJkTvPmJeYdSoUZKk+++/Xxs3eu+8wi0/OfLfh88rVFZWqrq6WgMGDNB7772np5566ogb4Z599lmdddZZ+vWvf33U9qXt2bhxo1paWjRu3Dj95S9/0euvv37E808//bSuuOIK/eQnPznGEQAAAAB4uzUZUmOjNHqUNG7skc91d/3XqXHaVVddpZtuusnt678rVqzQihUr2v797LPPKjk5Wffff/8Jk9XipkkTos0uaR9/Il180dE/88knn6iqqkqRkZFKSEjoVMwAAN9A8lsndXTbU5fAwEDdfffdR2yx+a1vfUtPPPGEtm7dquuuu+6IpK6hQ4fqzDPP1Kuvvqrs7GwlxI+U3VKq3btWKSEhQT/60Y9kWYcS70aNGqVbbrlFv/jFL/Tuu+/q9ttvb3uuvVK44eHhuu2227RixQotXbq03YufUaNGHTFBLUkXX3yxnn32WRUUFKixsfGILUhPO+00VVdXd+wDadW3b992H9+yZYsWL17c9u+AgABdf/31uvLKKzt1/CFDhuhvf/ubfvOb3yg9PV3btm2TJFmWpVNOOYXENwAAAACAVzjRvMLFF/8/vfNBkkKCpaREKTT0yHmFUaNGqbS0VKtWeee8ws6dUla2FB4uzT9sJ57D5xVqa2slmQWfJ598UmeffbauvfZaRUZGas2aNXrwwQf14YcfaujQofrRj350nE/7yOOVlpaqqKhIV155pS6++GL17dtXX375pR5++GG99NJLGjVqlC66qJ2VFwAAAABeb02mqTI2e5aOGENJ3V//dWqcduedd2rfvn1tj/X2+u+QIUN0/fXXa/78+Ro1apQOHDigoqIiPf7448rOztbtt9+uZ599VoGBgcc8pmVZOv886ZHHbL37vq2Lvn3k32Pnzp165JFHJEk33HDDUdu+AgD8A8lvnXSo8lvHfn7EiBEaM2bMEY8FBARo+PDhqqqqatue83CjR4+WZO5cPv10SfYaSVJyyvyjLq4kKTExUZK0du3ao57bsmWLVq1apfLych04cOCIO5/Ly8vbjTklJeWoO6GDgoI0cuRIFRcXa+/evRoyZEjbc7fccku7x+mKCy64QPPnz1djY6O2b9+uxYsX67nnntOKFSv08MMPH3EReTzr1q3T7bffroCAAD344INKTk5WfX29Pv/8cz355JP66quv9PTTT7d91gAAAAAAeKITzSsEBaVJkhITpdBQM2dw+LyCJKWnp0uS5s/3vnmF/ftt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9NcSb5cGAAAAKJvcXKux41wf3jlnk/gGVJYO7aUaNaR9qdJvv3u7NADge0h+g886Y4Cbv3zDRunbsd4uDQAAAAAgGMya7TpuenSXQkLovEHliogwOi5v6tOfp3PhHwAAAPzLnLnS5i1SXJx0ch9vlwYIXKGhRn1OdMtTphI7AsC/kfwGnxUTY3TVFa6j4YPhVikpnMgBAAAAAJVrxkx375mOEqhsJ/Zy+9q0aZK1tH0AAADAf4z51tVfTz9NiooihgIq06knu2Psl1/diPUAgAIkv8GnnTlAatJY2rNX+uQzTuIAAAAAgMqzbp3VuvVSWJgb+Q2oCt27SVFR0pat0vIV3i4NAAAAUDpbtlrNmu2WzzmLxDegsrVrKzVuJGVkSD/97O3SAIBvCfN2AXCgxYsX66OPPtKiRYu0f/9+1alTRyeffLIuv/xyRUVFlfi5CRMm6Ouvv9bq1asVHh6uI488UldccYU6dOhwwHszMjL0+uuva8qUKcrIyFCXLl101113qV69ege8d9++fRo8eLA6d+6sJ554okz/y6ZNmzRo0CDVrVtXY8aMKfF9Q4cO1YQJE/TMM8+oT5+CcZGffvoJ/bN8giTp4+HSJx8ZxcTEKD4+Xs2bN9fRRx+t/v37q0aNGgf93ocfflhnnHFGmcoOAAAAAAguv8xw9926his2Nse7hVFwtw/8O473PO9hTOC0D0RFGfXobvXzNGnadKs2rek4BAAAgO8bN94qN1fqdIzUuHFw1WGJ1YIjVvM1xhid3k96+39WEyZanTEguI47ADgYRn7zMRMnTtR1112nX375RfXq1dOxxx6rzMxMDR8+XNdcc41SU1OL/dyrr76qoUOHauXKleratavatWun3377TTfccIN+/vnnA97/yiuvaNSoUapbt66OPvpozZgxQ3feeadycg5s3P/f//6n9PR03XLLLRX975ZafEIHmZD+qlP3dHXv3l21a9fW77//rjfffFPnnHOOPv74Y6YGAQAAAAAcll9nuLjypD4RXi4J7QMl6dChg/r376/TTw+s9gHP1Kc/MfUpAAAA/EB2ttX479zy2UE26huxWvECNVbzNaedKoWESIv+lDZsYH0CgAcjv/mQbdu26ZlnnlFOTk6R7PbMzEw9/vjjmjp1qt544w3dd999RT73+++/68svv1RiYqLeffddNWrUSJL0559/6sYbb9STTz6pTp06KSEhQZK0Y8cOjRs3Tscee6xefvllGWP04Ycf6p133tG0adN00kkn5X/3ypUrNWrUKF1//fWqXbt2Fa2JA1144Vn66NP+2pEsnXyq0cl9jNLT0zV27Fi99dZbeuutt5SamqobbrjBa2UEAAAAAPiv5GSrxX+55RN7h0va77Wy0D5QsrPOOuuA0QACoX3guGOliHBpwwZp1WqpeTNvlwgAAAAo2S+/Sjt3SdWTpF49vV2aqkOsVrJAjdV8Ta1aRl06W/02V5o42erqK4Mr+RQASsLIbz5k/PjxysjIULdu3YpUDiIiInT33XcrKipK48aN0549e4p87vPPP5ckXXHFFfmVJUlq3769Bg4cqH379mncuHH5z69cuVI5OTnq37+/jHEnxDPPPFOStGLFiiLf/eKLL6phw4a68MILK/afLaPataRLL3bLr7xqlZxsFRUVpcGDB+ull15SaGioPvroI/39999eLScAAAAAwD/NmCVZK7VqJdWrG+rVstA+UDaB0D4QE2PUtatb/nkaV+8DAADAt40Z6+qsZwyQwsODJ/mGWK1sAiFW80X9+7l94vtJUm4u8SMASCS/+ZTly5dLkjp16nTAa0lJSWratKmys7M1c+bM/OczMjL0+++/S1KRLH8Pz3O//vpr/nMpKSmSpPj4+PznPMt79+7Nf27SpElasGCB7rzzToWFeX+QwEsvNmreXNq9R3rp1YITeefOnXXqqadKkr766itvFQ8AAAAA4Mdm5E15esLx3u+4oX2gfPy9fcAz9emPPzH1KQAAAHzXunVW8+ZLxkhnneH9+KkqEauVj7/Har7mhJ5SXKy0dau08A9vlwYAfAPJbz5k/343pUrhikxhnqFuC2fEr127VpmZmUpKSip2KNvWrVtLclcIeNStW1eStH79+vzn1q1bV+S1tLQ0vfHGG+rTp4+6d+9e7v+pIoWHGz10v1FoiPTzNGnqTwUNwZ4K0/z5871VPAAAAACAn0pPt/rN9UWo5/HeLYtE+8Dh8Of2gV4nSBER0tp10vIVh34/AAAA4A3fjnP9c8f2kOrWDa7kN2K18vPnWM3XREYaefIox33HhVMAIJH85lOqVasmSdqyZUuxr3ue37x58wHP1apVq9jPREdHKz4+Xnv37lVqaqokqWXLlqpZs6a++OILrVy5Ujt37tSbb74p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njc6/jgpM1N66GGrkaPSK+S7AfinMiW/eRqSjCn+isqKaGiaP3++XnnlFRlj9NBDD6lWrVqH/MzOnTt1//33KyMjQxdccIGOO+64wy4H4Is8U57269evzJ/du3evbr75Zo0aNUp33HGHxo4dq8mTJ+v555/Xpk2bdPPNN2vatGn5709KMhr2SkEC3G13WG3aTGMyAAAAEMheeukl/fHHH2rQoIHuueeeMn22Vu3u+n3BlTIhrXTl5XE65eQaOuGEE/Thhx+qUaNGWrZsmaZMmVJJJQfgbUuXLtXIkSPVv39/de7cudL+TvXqRq+8aHTmGVJurvTm/1k985xVZiZtFgAAoGq9/oYbdShErygjvXxxVI8ePXT11VerVatWio2NVY0axFEAAkd5cj9KKzLS6KmhRv1Ok3JypceGpuqNt3KVk0NsCASjMk17GhsbK8lNYVCc9PT0Iu8rq7///lv33XefsrKydOedd+rEE0885Gf27dunO+64Q5s3b9bJJ5+sW2+9tVx/G/B1//zzj1auXKnY2NhyDQn76quvasGCBbrjjjs0ZMiQ/Od79eqlWrVq6aqrrtIrr7yi448/XmFh7qchIcHo1RelW263WrNWuu1Oq88+ylFERIX9WwAAAAAqydChQw94rnfv3urdu3ex73///fc1evRoVa9eXa+++qoSExNL/bdSU60eesQqI0Pq1lW6vNCFvDExMRo8eLBefPFFzZkzR6eddlqZ/xcAvi07O1vPPPOMYmNjdcstt1T63wsPN7r3Lql5M2nYG1YTJkrrN1g994yUEM80qAAAoPw8g20UVlwcNW681TdjpNzsD5SbXb446mCIowD4u/LkfpRVWJjRQ/dLDepL739o9eVXLjb874NSXByxIRBMypT8Vq9ePUnSli1bin3d87znfWWxYcMG3X777UpJSdHVV1+twYMHH/Iz6enpuvvuu7VixQp1795djz32mEJCyjSYHeA3vv/+e0lSnz59Spx6uCQ5OTn64Ycf8j//b23btlX9+vW1YcMGbdq0SY0aNcp/LSnJ6NWXpJtutdq4Sbr+5hQNe8UqNpYKAwAAAODLJkyYcMBz9erVKzb57euvv9a7776ruLg4vfrqqzriiCNK/XesdaMubdgg1a4tPfKQUUhI0XjB8307duwo438BwB9s27ZNK1asUI0aNfTggw8WeW3fvn2S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qzfeeCP/cXh4uO69915deeWV+c9xLHlfabaTxLGEwFDa3xxPTAr/QBsCSkI9I/gQvwUvYg+8/fbbWr58ub766iuFh4cf9L3sC6VTvXp13XvvvTrxxBNVv3597d27V3PmzNGLL76oF154QXFxcbrgggu8XcyAQJxSebp27aqTTjpJHTp0UFJSkjZs2KARI0bo008/1ZVXXqmxY8eqTp063i6m3yD28g76Yr2HOkPVow264hEnVy36K8svIJPf4D9uvvnmIo87duyod955RxdffLHmzZunadOm6cQTT/RO4QA/d8oppxR53LhxY914442qWbOm/vvf/+qtt946IDMcFSs3N1cPPvig5s6dq8GDB+ucc87xdpFQjENtJ44l72nYsKGWL1+unJwcbd68WRMmTNArr7yiBQsW6NVXXy12uGdUvdJuJ44lVKbu3btr9+7dpX7/xx9/rO7du1degQAAfof4LbgRewS3ZcuW6e2339aVV14Z8KM4VWW9uWXLlkWmj42OjtZZZ52lNm3aaNCgQRo2bJgGDx6skJCQcn2/PyBO8Q2Hsx3OPffcIq81b95cDz74oKKjo/X2229r+PDhuu+++yqyuECFoy8WwYQ26IpFnFy16K/8f/buO67O8v7/+PtmhyxiJtkhBLIHEDLI0Jhq46pardbW0Wq1tbamtd9qa2vr92dbv3Y446qtdjjqbKvGURM1QAZhZhISyA5ZJAQSwr5/f1wcYpohJMB17nNez8fDx3WFA4cPnEN7fe7rc1+fsxOQWfvnVZEePnz4lHcVwL6QkBBdeeWVysnJUW5uLgsuP+P72znVXWKfd+cO7Lv88st1//33Kzc313YoAc11Xf3sZz/Tv//9b1122WW6//77j3ucvyX/8Hmv0+nwt9RxQkNDNXDgQN16660KCQnRb3/7W7366qu67rrr+FvyI6d7nU6HvyW0hUsuuURHjhxp8ef36tXrjL5PS/8351R3PMI/cQ0Bp8I6I3iQv8GH3CM43X333Ro0aJC+973vtejzvfxe6Kh18+kkJCRowoQJys7O1tatWzVs2LA2/x7+gjzFP7TH63DVVVfp6aefVl5e3tmEFnTIvfwHe7Edw8trhkDDNejWI0/uWOxXnr2ALH7z9QzeunWrxo4de9xjhw4d0sGDBzVp0iQLkaGlevToIUk6evSo5Ujw33z9ubds2XLS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JEVFRVmOBAAAAADOXH5+viRp9OjRdgMBAAAAgHb061//WuXl5Xr88cdPOBUbAIC2QvEbAMATXNfV+++/L0lKSkqyHA0AAAAAtE5DQ4P27dunRYsW6fe//72io6N111132Q4LAAAAANrFsmXL9Pbbb+uyyy5Tamqq7XAAAAGM4jcAgCe8+uqrWrduncLDw3XjjTfaDgcAAAAAWuSFF17Qb37zm+M+NnfuXN15551KSEiwFBUAAAAAtJ+amhr94he/UNeuXXX33XfbDgcAEOBCbAcAAMDnWbt2rX71q19JkubPn6/BgwdbjggAAAAAWqZv375KSkrS+PHj1atXL0nSihUr9O6776qhocFydAAAAADQ9p588klt3bpVP/jBD5rzIAAA2gsnvwEA/Nr27dt12223qaamRpdccoluvvlm2yEBAAAAQIvNmzdP8+bNa/53QUGB7rvvPj399NMqLy/X/fffbzE6AAAAAGhbxcXF+tOf/qQxY8boq1/9qu1wAABBgJPfAAB+a9++ffrmN7+pffv26dxzz9WDDz4ox3FshwUAAAAAZ2zChAl69tlnFRERoVdffVU7d+60HRIAAAAAtJlf/vKXamho0C9/+UuFhFCOAABof47ruq7tIAAA+G/l5eW6/vrrVVRUpNTUVP3xj39UVFSU7bAAAAAAoE185StfUUFBgZ588kmdf/75tsMBAAAAgDaRkpKiqqoq9ejR44THKisrVVNTo+joaEVHR6tfv3564403LEQJAAgktD0FAPidI0eO6NZbb1VRUZHGjRunp556isI3AAAAAAGlvr5ektTQ0GA5EgAAAABoWw0NDdq/f/8pH6+qqlJVVZUiIyM7MCoAQKCi+A0A4Fdqa2t1++23q6CgQCNGjNBzzz2nLl262A4LAAAAANrMjh07tGHDBknSyJEjLUcDAAAAAG0nOzv7lI/dc889euutt3TnnXfq9ttv78CoAACBjCbbAAC/0dDQoB/84Adavny5Bg8erD//+c+KiYmxHRYAAAAAtMqaNWv02GOPafv27Sc8tmTJEn3rW99SfX29Zs+ercGDB1uIEAAAAAAAAAgMnPwGAPAb7733nj766CNJUkhIiO68886Tfl7v3r312GOPdWRoAAAAANBiR44c0YIFC7RgwQL17t1bffv2VV1dnUpLS1VRUSFJGjdunB588EHLkQIAAAAA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fJOkYcOGnVD4JkmDBg3SlVdeKUnKzs5u8fPl5+dLkq6/4RtynFB9tNi0hT3nnHP05S9/WZK0bt26sw8cQNDiOBcAgBW7du3S1KlTNWnSJP3hD3/QM888o8WLF+vQoUMaMmSIvvWtb2nmzJmSpEWLFunFF19USUmJOnXqpLlz5+q73/2uoqKijnvOqqoqvfzyy1q8eLF27Nih0NBQJSYm6vzzr5E0S52ipJjuxz4/MzNTH3/8sVavXq19+/apsbFRAwcO1Ny5c3XdddcpIiLiuOd/55139MADD+jmm2/WpZdeqieffFJZWVk6evSohg0bpptvvrk55rbmOI7One3q5VeK9cnHL+qSSy5pl7akkZGRGjx4sNatW6f9+/e3+fMDAADAv+3atUtXXnnlGa/Tz+l1u6RIJSVJERHmAv+p1unXXnutZs+efUIMXlqn/7dpU824dp1UXu4qJsZ7mxwAAAAAEGjONtdtzZ7Utddeq0WfmOc6f440YIDJC72c635WaGioJCk8PLzFX+P72SYnS506SaWl0rr10pjRxz6nW7dubRongODCyW8AAKvq6+t1xx136P3339eIESM0ZswYbdq0Sffcc4+ysrL08ssv67777lNoaKimTJmixsZGvfbaa/r1r3993POUlZXp5ptv1h//+EdVVFQoNTVVY8aMUWFhoX73u3vUWP9XxcaaIjKfX/3qV1q8eLG6dOmiadOmaeLEidq7d6+efvpp/fCHP1RDQ8NJYy4tLdU3vvENrVq1ShMmTFBCQoIKCwt19913a8WKFe32u5o101VD3YOSuujWW7/bLt+joaFBpaWmR2zPnj3b5XsAAADA/53pOv21V38jSZqSatbdp1un33333frrX/96wvf22jpdkgoLC/X444/rhef/T927PqeG+rzm9q8AAAAAAP/QEXtSd999txZ9ZHLdr33Vu3tSJ7Nnzx699dZbkqSpU6e2+OsmT54sSXr55Rc0Y3qjJOmjRa4OHDigN954Q6GhobrwwgvbPmAAQYOT3wAAVq1evVpJSUl69dVXm+/q8N3N8tBDD6miokILFixoPuVs3759uuGGG/Thhx/qtttu04ABAyRJDzzwgDZv3qyvf/3r+va3v93cDnTnzp26+ebvq7z8j+radbqkhObvfffddys1NVWdOnVq/tiRI0d03333KTMzUx988IEuuuii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rfp26jgpJoZxNwJXj+7u+FyxwuOOAAAAAAgY/i1PzzzdKCyMmBY4mlEj3PtkzlypoIAEOOB4hXvdAQBAYPvwYyk7W2rRXBo21OveSMuWLdOrr76qJUuWKDc3V02bNtVJJ52kq666StHR0Yf9u88++0zvvfee1q1bp4iICPXo0UO/+MUv1Lt374N+Nz8/X88884y++eYb5efna+DAgbr55pvVrFmzg343OztbF110kQYMGKD777+/Ws9l69atOu+885SamqoPP/zwsL9333336bPPPtOf//xnnXHGGQfd7meMUWxsrBISEtShQwf17dtXEyZMUEpKSrUe10vdukoLF0krV1qdMYEAGQAA1A979lhNn+HaZ58VmGMgxuGhPQ6vjh7d3PX6DVJWllVCQmAeswAAAADqxo8/Wi1aLPl80unjve5NzSAGJgaubV27SCkp0p49bl6MionA8SH5DQBwWPn5Vm+97VYbXHGZ96t1vvjiC91///0qLi5W165d1bRpU6Wnp2vixIlKS0vTCy+8oLi4uIP+7qmnntJbb72lqKgoDRkyRAUFBZo7d67mzp2rBx98UGPHjq30+08++aQ+/PBDdenSRcnJyUpLS9OWLVv0n//8R2FhYZV+95///Kfy8vL0+9//vjaf+hH17t1bLVu2lCTl5eVp9+7dmjdvntLS0vTPf/5T11xzja688koZE/iTUl27GklWK1d53RMAAIC68+nnUnGx1LOH1KF94I3ZGIcfWiiNw6sjOdmoWTOrbduk9FXSoIFe9wgAAACAlz740M0jjRopNWkS/PEPMfCh1dcYuLb4fEYjhlt9PMltfTpkMP/fgONB8hsA4LA++VTas1dq2lQ67VRv+7Jz50499NBDKi4urrQ6pKCgQPfee6++/fZbPfvss7r99tsr/d28efP01ltvqUGDBnrppZfUunVrSdLSpUv129/+Vg888ID69++vxMRESdLu3bs1adIkDRs2TH/7299kjNErr7yiF198UVOnTtWJJ55Y9thr167V+++/r9/85jdq0qRJHf2fONhZZ5110GqZvLw8ffzxx3r++ef1/PPP68CBA7ruuus86mHVdSvd9nTtWpd8GRXFYB8AAIS2khKrSaXbw5x9ZuCNfRiHH14ojcOrq0d3ads2afkKkt8AAACA+iwry+qLr1z7/HMDL6atLmLgw6vPMXBt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6y5ZazV+/HiFhYVVuv/iiy/WxRdfXFbtTZKaN2+ujh07SpIefvhhZWdnl92XlZWlhx9+WJLb/jQ8nBxlIFhMmzZNs2bNUtOmLhnuisuMHnvYp7ffzNfAvi9KdqGkFL37wRD96S9WmVnW6y4DABBwVq22+t0fXOJb2zbS888Y7dq5RHfeeack6YEHHtCQIUOq9FiHGotL0ttvv62cnJxKtxUVFelf//qXvv32W0VFRen000+vmScEoFbk5eXppptu0tq1a3XSSSfpzjvvPOrJ9tGjjF56wah9O2nPXumW260eerRE2dmMywEAAELVj+usbr7N6rY7XeJbk8ZugdVvf+OrcuJbTc4PSdL555+vuLg4ffLJJ5ozZ07Z7Tk5OXr00UdVXFysESNGqGnTpsfwjAGgdkVEGN17l5HPJ036VHr3fa97BDhkVQCod4qKrKZOk95612rlSndbRIR07tnSlZcbJScfHPC8//77+sc//qGOHTuqVatWstZq+/btSk9PV0lJifr166ff/va3B/3dhg0bSv/Nokq333HHHbrhhhs0d+5cXXDBBerRo4ckadmyZdq/f7+aNWum66+/voafOYDqePTRR7Vq1SpJ0r59+yS5ajCr/SUiJb388stl7VWrVunll19W48aN1blzZ8XFxWnv3r1avXq1MjMzFR8frxNPekBffRur6TOktT9aPf6I1LoVK2IAAJCkWbOt7rrHKjdP6txJeuIxo+Qko8suu0X5+flq3ry5pk6dqqlTpx70t3369NHZZ59d6bbDjcWffPJJPf/882rXrp1SU1NVUFCgNWvWaNeuXYqKitI999yjJk2a1N4TBXCQ6o69X3jhBS1btkxhYWEKCwvTgw8+eMjHveuuuyr93LqV0T//If3zX1bvvi99+pk0d67V9b+VTjyB1eoAAAChYukyqzf/azVjpmStmwO68ALp51cYxcVVb8xX0/NDycnJ+stf/qL/+7//0x//+Ef16NFDDRs21LJly7Rnzx41b95ct99++7E/eQA4hOrG3ZL00Ucf6eOPP5YkFRYWSpK2b9+uf710tRomStt3SM88e4vatO6qIYOJp+Etkt8A1BtZWVaTPpXe+8DKv9AmMkI67TTp51caNW1y+C/l3/zmN5o5c6bS09M1e/Zs5efnKzExUYMHD9a4ceM0fvx4+XxVL6bZs2dPvfbaa3r9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V/5DCc9x31/3f6/f5/5sbNy48YSvgffatm2bli5dqp49eyo6OloS99zfHDx4UK+88opcLpf27t2rhQsXavv27brpppvq7h/3vHHIceEJfF4CF3k1Wop/r3Ei5PQ4GWoCoOmo/+AP+LzCSdTA8HXkx/BW/vY7AK9vfnv11Ve1devWuj+fd955+tOf/lRv6+iysjJJZnvThrgfLy8vb8VI0Roef/xxrV69WhdddFHdf3AS9zwQcc99n/vedOrUqcHnIyIitGPHjrYMCW2ssf8du18H31FVVaW77rpLR48e1Z133ln3SzDuuX85ePCgnnrqqbo/h4aG6q677tIvfvGLuse4541DjgtP4PMSuMir0VL8e42GkNOjMagJgKaj/oM/4PMKJ1EDw9eRH8Mb+ePvAFq1+c19Pmxjvfrqqxo7dmy9x7788ktJ0u7du5Wenq5//vOfuvTSS/Wf//xHffr08WS48ABP3HO3t99+W88995xiYmL0+9//3kMRwtM8ec8BAL7H5XLpd7/7nTIzM3XppZfW250X/qV///5atWqVampqtH37ds2bN0+PPvqocnNz9dhjj9Vti+2PyHHRFOTHAABfQ06PxgrkmgCBg/oPvoT6EwAANJW//g6gVavRGTNm6NChQ41+fY8ePU74XM+ePTVjxgwNHDhQl1xyiR566CE99thjko51ep9oRYH78RN1J8JzPHXP33vvPf3xj39UdHS0XnzxRXXs2LHe89xz7+HJ/85/CPfc952sE7y8vPyEK3fgHxr73zGfA99h27buu+8+ffjhhzrvvPP0wAMP1Huee+6fgoOD1b9/f11//fUKCgrSP//5T73zzjuaNWuW395zclw0BfkxWht5NVrKX/+9RvOQ06M5ArEmQOCg/oMvof5EIKAGhq8jP4Y38effAbRq89sf/vAHj7/n6NGj1aVLF2VkZNQ9Fh4erp49e2rLli2qqak57rx591ng3nbmrD/yxD2fPXu2/vCHP2jYsGF65ZVX1K1bt+Newz33Hq3x33lDuOe+z31vNm7cqLi4uHrPlZaWav/+/UpKSnIgMrQV9znw7v9ev899jrz7dfBuLpdLv//97/X+++9rxowZeuihhxQUFFTvNdxz/zdp0iT985//VEZGhmbNmuW395wcF01BfozWRl6NlvLXf6/RdOT08IRAqQkQOKj/4EuoPxEIqIHh68iP4S38/XcAQSd/iXc5dOiQysrKjkus0tLSVFFRoZycnOO+ZvHixZKkMWPGtEmMaL7Zs2frvvvu0ymnnKJXXnlF3bt3P+FrueeBh3vu29z3xn2vvmvJkiWSzD2G/xo8eLB69eqlnJwcVVRU1HvuyJEjysrKUq9evbwyYUJ9302Qzz77bD388MPH5WYS9zwQ7Ny5U5Lq7j/3vGHkuGgtfF4CE3k1Wop/ryGR08NzqAmA+qj/4K/4vMIp1MDwdeTH8AaB8DsAr2x+27p1q7Zs2XLc41VVVfrb3/4ml8ulyZMn13vu0ksvlSQ99thjOnr0aN3jy5Yt0+LFizVmzBgNGTKkdQNHi7z77rv1isLIyMgffD33PPBwz33b+PHjNWDAAM2dO1clJSV1j5eXl+uZZ55RSEiILrjgAgcjRGuzLEuXXHKJKioq9PTTT9d77rnnnlNpaakuueQSWZblUIRojO8myGeddZb++c9/NpggS9xzf1FSUtLgsQIHDhzQo48+Kkl1uTn3/HjkuGhNfF4CE3k1Wop/r0FOj6aiJgAah/oP/ozPK5xCDQxfR34MpwXK7wAs27Ztp4P4vvnz5+vmm29WamqqBg0apG7dumnPnj1atmyZtm/friFDhui111477mz6++67T++++66GDRumKVOmaO/evZo3b57CwsL01ltvadiwYQ79jXAyy5Yt09VXXy3btnXZZZepZ8+ex71m1KhRmjZtWr3HuOe+LSsrS7Nnz5Yk7du3T998840GDhyolJQUSdIpp5yi66+/vt7XcM992/Lly3XttdcqNDRUM2bMUEREhD7//HNt2bJFt912m371q185HSKa4d1331V2drYkafXq1SoqKlJycnJd1/+0adPq/v+7oqJCs2bNUklJiSZOnKjY2FitXLlSCxcu1KhRo/TGG28oPDzcsb8LTu7JJ5/UU089pfDwcF155ZUKCQk57jXTpk3TqFGjJHHP/cFf//pXzZ49W2PHjlW/fv3UoUMHbdu2TV9//bUqKio0ffp0PfbYY3XbY3PPjyHHRVORH6OxyKvREPJyNBY5PZqKmgA4Oeo/+BrqT/gSamB4I2pw+IpA+R2AVza/bdu2Ta+88ooyMzO1detWlZWVKTw8XEOHDtW0adN0xRVXNPjDdLlcev311/X2229r48aNCg8P19ixY3X77bez2sDLvf/++7r33nt/8DUXXHCBHnrooXqPcc9928nue1pamv773//We4x77vvy8/P1xBNPKC8vT1VVVRo2bJiuuuoqnXfeeU6Hhma65557NGfOnBM+f9NNN+nmm2+u+3NZWZmeeuopffbZZ9qzZ4969Oih6dOn66abblKnTp3aImS0wMnutyT9/e9/14UXXlj3Z+65b8vKytJ7772nvLw87dq1S5WVlerSpYtiYmI0c+ZMnXPOOcet8uGeG+S4aCryYzQFeTW+j7wcjUVOj6aiJgBOjvoPvob6E76GGhjehhocviJQfgfglc1vAAAAAAAAAAAAAAAAAAD8kCCnAwAAAAAAAAAAAAAAAAAAoKlofgMAAAAAAAAAAAAAAAAA+Bya3wAAAAAAAAAAAAAAAAAAPofmNwAAAAAAAAAAAAAAAACAz6H5DQAAAAAAAAAAAAAAAADgc2h+AwAAAAAAAAAAAAAAAAD4HJrfAAAAAAAAAAAAAAAAAAA+h+Y3AAAAAAAAAAAAAAAAAIDPofkNAAAAAAAAAAAAAAAAAOBzaH4DAAAAAAAAAAAAAAAAAPgcmt8AAAAAAAAAAAAAAAAAAD6H5jcAAAAAAAAAAAAAAAAAgM+h+Q0AAAAAAAAAAAAAAAAA4HNofgMAAAAAAAAAAAAAAAAA+Bya3wAAHpeenq4RI0boZz/7mdOhAAAAAECzUdsAAAAACFTUQwAAXxHidAAAAN/08ssvq6ysTFdddZU6d+7saCzp6enKyMhQWlqaxo4d62gsAAAAAHwLtQ0AAACAQEU9BADwB+z8BgBolldffVVPPfWUDh486HQoysjI0FNPPaWMjAynQwEAAADgY6htAAAAAAQq6iEAgD+g+Q0AAAAAAAAAAAAAAAAA4HNofgMAAAAAAAAAAAAAAAAA+BzLtm3b6SAAAL7j/fff17333nvC51999VVJ0pVXXqm0tDS98sor+vVgbnYAAP73SURBVO9//6t3331XGzduVKdOnXTaaafpzjvvVPfu3Rt8jwMHDuill17SggULtGXLFlmWpeHDh+viiy/WxRdfrKCgY73bI0aMOGEsF1xwgR566CFJ0ubNm/XJJ59o0aJF2rRpk/bu3auIiAjFxsbqZz/7mU477bRm/DQAAAAA+CpqGwAAAACBinoIAOBPQpwOAADgWyIjI5WcnKzCwkIdPXpUcXFxateuXd3znTp1UllZWd2ff/vb32ru3LkaPHiwBg0apPXr1+u9995Tfn6+3n///XpfK0lr1qzRNddco507dyo0NFSDBg3S0aNHlZ+frxUrVmjx4sV6/PHHZVmWJCk5OVnbt2/X9u3b1bdvX/Xt27fuvQYPHlw3fvbZZzV79myFh4erV69eGjFihHbu3KnFixdr8eLFuuOOO3T99de30k8NAAAAgLehtgEAAAAQqKiHAAD+hJ3fAADNMnXqVG3dulULFixQ//796z2Xnp6uK6+8UqGhoerWrZuefvppjR49WpK0fv16/fznP9eOHTv0pz/9ST/5yU/qvq6iokLnn3++Nm3apJ/97Ge67bbbFBERIUn69ttvddttt2nNmjW6//77dcUVV9R93ZNPPqmnnnpKN910k26++eYG4/3mm2/UtWtXjR49uq6YkqSsrCzddttt2rdvnz799FMNHDjQYz8jAAAAAN6P2gYAAABAoKIeAgD4g6CTvwQAgOapqqrSH/7wh7piSJKGDBmia6+9VpK0cOHCeq9/7733tGnTJp1xxhm677776oohSRo2bJgeeeQRWZall156qcmxTJkyRQkJCfWKIUlKTU3VrbfeqpqaGs2bN6/J7wsAAADA/1HbAAAAAAhU1EMAAG/HsacAgFbTpUsXnXnmmcc9Hh8fL0nasmVLvcc///xzSdIll1zS4PuNHDlSUVFR2rx5s3bs2KE+ffo0KZ59+/bpo48+Un5+vvbu3asjR45IksrLyyVJK1eubNL7AQAAAAgM1DYAAAAAAhX1EADA29H8BgBoNQMGDGjw8cjISEnSoUOH6j2+evVqSdLjjz+uZ599tsGv3b9/vyRp586dTSqIFi9erNtuu01lZWUnfE1paWmj3w8AAABA4KC2AQAAABCoqIcAAN6O5jcAQKsJDw9v8PHvb0ft5l6VU1RUdNL3rqysbHQcBw8e1G9+8xuVlZVp5syZmjVrloYMGaKIiAgFBQVp6dKluvrqq1VdXd3o9wQAAAAQOKhtAAAAAAQq6iEAgLej+Q0A4DXCw8N18OBBff755xo0aJDH3nfhwoUqLS1VUlKSHnrooeMKsu3bt3vsewEAAAAAtQ0AAACAQEU9BABoa0FOBwAAgNvQoUMlSWvWrGnS151odZHb1q1bJUmJiYkNvnblypVN+n4AAAAA8EOobQAAAAAEKuohAEBbo/kNANAs7du3lyQdOXLEY+955plnSpJeffVV2bbd6K8LCwuTdOLtsd3P79mz57jn9u/fr9mzZzc1VAAAAAB+gtoGAAAAQKCiHgIA+AOa3wAAzTJgwABJUkZGhsfe87LLLtOAAQOUnp6uO++8U7t27ar3/KFDhzRv3jz9/e9/bzCW3NxcVVdXH/e+qampkqRPP/1US5curXt8165duuWWW1RTU+OxvwMAAAAA30JtAwAAACBQUQ8BAPxBiNMBAAB8049//GN9/fXX+tOf/qQ33nhDXbt2lST97ne/a/Z7duzYUc8995yuv/56zZ07V/PmzdOQIUMUERGh0tJSbd68WTU1NUpISKj3dZMmTVKXLl2UnZ2t0047TQMGDFBISIhOPfVUXX/99YqLi9P06dP12Wef6eqrr9agQYMUHh6uNWvWKCwsTHfccYf+9re/teTHAQAAAMBHUdsAAAAACFTUQwAAf0DzGwCgWWbOnKmDBw9q9uzZ2rhxo1avXi1JOnjwYIved+jQofrggw/0xhtvaP78+Vq7dq02b96snj17asyYMZoyZUrdltluERER+s9//qMnnnhC+fn5ysvLk8vlUlRUVN1rHnnkkbr33rZtm7p27arp06frpptu0u7du1sUMwAAAADfRW0DAAAAIFBRDwEA/IFlN+WgbQAAAAAAAAAAAAAAAAAAvECQ0wEAAAAAAAAAAAAAAAAAANBUNL8BAAAAAAAAAAAAAAAAAHwOzW8AAAAAAAAAAAAAAAAAAJ9D8xsAAAAAAAAAAAAAAAAAwOfQ/AYAAAAAAAAAAAAAAAAA8Dk0vwEAAAAAAAAAAAAAAAAAfA7NbwAAAAAAAAAAAAAAAAAAn0PzGwAAAAAAAAAAAAAAAADA54Q4HQAAAN91zz33aM6cOT/4mvz8fIWFhbVRRAAAAADQfDU1NXrvvff04Ycfas2aNaqoqFCPHj00atQoXXjhhZo2bZrTIQIAAACAR23ZskU/+tGPGvXa//73v0pLS2vliAAA/ozmNwCAVxo8eLC6d+/e4HOWZbVxNAAAAADQdKWlpbr++uuVl5cny7I0ePBgRUVFadeuXVqwYIFCQkJofgMAAADgd8LCwpScnHzC53fv3q3NmzcrLCxMo0aNasPIAAD+iOY3AIBX+uUvf6kLL7zQ6TAAAAAAoFlcLpd+9atfKS8vT2eeeaZ+//vfq0+fPnXP79ixQ5s3b3YwQgAAAABoHT179tSbb755wufvvPNObd68WVOnTlWnTp3aMDIAgD+i+Q0AAAAAAADwsLffflvZ2dkaO3asHn/8cQUFBdV7vk+fPvWa4QAAAAAgEBw6dEgLFiyQJJ1//vkORwMA8AdBJ38JAAAAAAAAgKZ49dVXJUm33nrrcY1vAAAAABCovvjiC1VUVKh79+469dRTnQ4HAOAH2PkNAOCVPvvsM82fP1/l5eWKjIxUcnKyZs6cyfbXAAAAALzehg0btG7dOnXt2lXJycmaP3++Pv30U+3evVvdu3fXhAkTdP7556tdu3ZOhwoAAAAAberDDz+UJJ1zzjkKCaFdAQDQcpZt27bTQQAA4HbPPfdozpw5DT7XpUsXPfLII5o8eXIbRwUAAAAAjffxxx/rN7/5jZKSktS/f3999NFHx73mlFNO0QsvvKCoqCgHIgQAAACAtrdr1y5NmTJFLpdL7777rkaPHu10SAAAP8CZCwAArzJgwAD95je/0QcffKDs7Gzl5OToxRdfVEJCgkpLS3XjjTeqoKDA6TABAAAA4IR2794tSSosLNRHH32kSy65RF9++aUKCgr08ssva8CAAVq3bp1uvvlmuVwuh6MFAAAAgLbx0UcfyeVyaciQITS+AQA8huY3AIBXufHGG/XLX/5SI0eOVEREhDp27KiJEyfqtdde0+jRo3X06FE98sgjTocJAAAAACdUUVEhSaqqqlJqaqoefPBBRUVFqV27dho/fryeeuopWZaloqIiff31184GCwAAAABtxH3k6fnnn+9wJAAAf0LzGwDAJ7Rr10633nqrJCkjI0OlpaUORwQAAAAADQsLC6sbX3nllcc9P3LkSI0dO1aStGjRojaLCwAAAACcsmrVKq1cuVKWZem8885zOhwAgB+h+Q0A4DMSExMlSS6XS5s3b3Y2GAAAAAA4gc6dO9eNTznllAZfM3ToUEnS1q1b2yQmAAAAAHDSBx98IEkaM2aMoqKiHI4GAOBPaH4DAPiM0NDQunFNTY2DkQAAAADAiQ0ZMqRu3K5duwZf436c2gYAAACAv3O5XPr4448liV3fAAAeR/MbAMBnrFmzpm7cp08fByMBAAAAgBOLiYmpO/r0RLtWux/v3bt3m8UFAAAAAE5IT0/Xjh07FBYWprPOOsvpcAAAfobmNwCAz3jppZckmWODmCACAAAA4K3Cw8M1ZcoUSdKcOXOOe3737t1avHixJGncuHFtGhsAAAAAtDX3kadTp05Vp06dHI4GAOBvaH4DAHiNJUuW6F//+tdxOyOUlZXpwQcf1Ny5cyVJN954oxPhAQAAAECj3XjjjQoODta8efPqNcAdPHhQ99xzjyorKzVgwAB2PQAAAADg1yorK/X5559Lks4//3yHowEA+CPLtm3b6SAAAJCk+fPn1zW29e7dW7169VJ1dbW+/fZbVVVVybIs3Xjjjbr55psdjhQAAAAATu7NN9/UAw88INu21a9fP3Xv3l1r167V4cOH1a1bN7300ksaNWqU02ECAAAAQKuZO3eu7rjjDnXv3l2LFi1SSEiI0yEBAPwM/7IAALxGbGysbrjhBuXl5WnTpk1as2aNbNtW7969lZqaqlmzZikhIcHpMAEAAACgUX7yk59o+PDheuGFF5SXl6dVq1apV69eOu200/TLX/5SvXv3djpEAAAAAGhV7iNPzznnHBrfAACtgp3fAAAAAAAAAAAAAAAAAAA+J8jpAAAAAAAAAAAAAAAAAAAAaCqa3wAAAAAAAAAAAAAAAAAAPofmNwAAAAAAAAAAAAAAAACAz6H5DQAAAAAAAAAAAAAAAADgc0La8pvt37+/zb5Xly5dVFpa2mbfD/ghfB7hTfg8wtvwmYQ34fPoP7p169aq79+WtY2v4b8j+BI+r/A1fGbha/jMwtd442e2tWub5qAeahlv/JzBO/DZQEP4XKAhfC5wInw20BBf/1w0piby253fgoL89q8GH8TnEd6EzyO8DZ9JeBM+j0DL8d8RfAmfV/gaPrPwNXxm4Wv4zKIt8DnDifDZQEP4XKAhfC5wInw20JBA+Fz4/98QAAAAAAAAAAAAAAAAAOB3aH4DAAAAAAAAAAAAAAAAAPgcmt8AAAAAAAAAAAAAAAAAAD6H5jcAAAAAAAAAAAAAAAAAgM+h+Q0AAAAAAAAAAAAAAAAA4HNofgMAAAAAAAAAAAAAAAAA+Bya3wAAAAAAAAAAAAAAAAAAPofmNwAAAAAAAAAAAAAAAACAz6H5DQAAAAAAAAAAAAAAAADgc2h+AwAAAAAAAAAAAAAAAAD4HJrfAAAAAAAAAAAAAAAAAAA+h+Y3AAAAAAAAAAAAAAAAAIDPofkNAAAAAAAAAAAAAAAAAOBzaH4DAAAAAAAAAAAAAAAAAPgcmt8AAAAAAAAAAAAAAAAAAD6H5jcAAAAAAAAAAAAAAAAAgM+h+Q0AAAAAAAAAAAAAAAAA4HNCnA4AAAB/U11ta/MWqbpK6t5dioy0nA4JAAAA8GoVFbZ27JSqq6X+UVJ4ODk0AAAAAKBhFRW2du6Sjh6VwsKkHpFSRAR1JAAEKprfAADwkOwcWx98ZGvZcunw4WOPDx5s64LzLZ03QwoNpfgCAAAAJGnDRlsffWxryVJpy5Zjj4eESMlJtn52haWkRPJnAAAAAAh0tm1rzbfSV9/YWrhQ2rjp+NecMsTWlMnSeTMs9exJLQkAgYTmNwAAWmjrVluPP2lr6fJjj3XoIIV3kPYfkDZskB593Nac/0n/+JsUFUXRBQAAgMC1Y6etZ5619dXXkm0fe7xTJyk4SDpQKmVkShmZtk4/zdZvbrPUrSs5NAAAAAAEGtu2tXCR9PKrpvntuyIipA7tpcOVUnm5tG69+d9rb9i64idmQVVYGLUkAAQCmt8AAGim6mpbr74mvfa6raNVZoeKGedI5/zYUvRwKTjY0sEyW1/Ml1551daGjdIvf23r0Uek4cMpuAAAABBYXC5b7/9PevZ5W5WV5rFTJ0rTz7SUlCh16WLJtm1t3iK9M9vWRx9JX30tFRTa+vfD0imnkEMDAAAAQKDYvMXWvx61lZVt/hwWJo0fK02ZYmnsGKlz52M14v79tjIypf99aKugUHr5VSk9w9ZDf5UiI6klAcDf0fwGAEAzbN5i689/tVVSYv6cmiLdfoulQYPqF1GdO1m66AJpymTp7nttrVot/fZeW88/I/XqRcEFAACAwLBjp62//8NWdo758+h46fZbLQ0fVj8ntixLAwdId95u6dxzbP35QVsbN0m/vsXWY49II0eSQwMAAACAP6upsfXaG2ZTgaNVUrt20uWXSpddYqlLl4Zrwm7dLE0/UzrzDOnrb6RH/m2rZKV0w022nnlCHIMKAH4uyOkAAADwJbZta+48W7+41jS+RURIf/yDpUcfOb7x7bt6RFp67F+WBg+W9uyRfn+/repq+4SvBwAAAPzF8nRbV/3CNL61by/95jZLTz1+fOPb942ItvT/nrIUF2uOsLnzHlubt5BDAwAAAIC/Ki+3dc/vbf3ff0zjW9oY6b8vWbr+2qATNr59l2VZOv00S88+Yymqn7R9u/Sb39o6WEYtCQD+jOY3AAAa6cABW/f90dZDD9s6XCklJkivvGjpjB9ZsqyTF12dOll65CFLERFSyUpp9vttEDQAAADgoI8/sXX3vbYOHZJiY6SXXrB04UxLQUGNW3XfubOlfz1sKTpaOnBAuuteWxUVTFoAAAAAgL/ZtMnW9b+ytWy52e3t9/eYejAqqum7tg3obzYkiIyU1m+Q/vRnWzU11JIA4K9ofgMA4CRs29bCRbauusbWNwulkBDpl9dZevzflno38ejSPn0s3XiD+ZoXXrS1YwfFFgAAAPzT3I/NUac1LunH06WnHrc0oH/TJy06djSLSHr2kDZvlh57khwaAAAAAPzJmjW2fnWTrU2bpV49pWeetPTjsxq38cCJ9O1r6ZF/WAoLkzIypZdeoZYEAH9F8xsAACdQU2Oa3m68xdbv/mBr715p0EDpuWcs/ewKS8HBzSu6Zpxjdo2rrJSef4FiCwAAAP5n7jxb/3jE5LoXXyT97h5LoaHNn7To3t3S/fdZCgqS5n0ifbOIPBoAAAAA/MG6dbZu+Y2t0oPSqJHSC89ZGjmi+fXjdw0fZunuO817vfqatHIVtSQA+COa3wAA+I4jR2wVFdt6+VVbl19hmt7yC8wW2z+7QvrP85ZGRLes6LIsSzffaN7j8/kUWwAAAPAvH39i6x//tGXbpvHt1ptatlrfLSnR0hU/MeN/P2arrIw8GgAAAAB82f79tu6611ZZmRQbIz36iKXu3T3T+OZ25hmWfjRVcrmkhx+xVV1NLQkA/ibE6QAAAGgtlZW2li6XMrNsrV4t7dkj2bY5tjQkVGofJoWFScHBUvkhqaxMOrBfqnEde4/OnaXzZkgXzrTUq4lHnP6QEdGWpp9h67MvpOf+z9ajj3i2mAMAAACcMO8TWw89XNv4dqHnGt/cfn6lpa8X2tq8WXruBVt33k4eDQAAAAC+6MgRW/feZ2vHTql/lPTw3y1FRLROjXfrTZYyMm2tXiN99LF0wfmt8m0AAA6h+Q0A4HfKymy9/qatOR9Ihw41/eu7dJYSEqSJEyxNmyqFhbVOsXXNLyzNX2ArM0sqLrEVM4qJOwAAAPiuxUtsPVS749tFF0i33uzZxjfJ5Oa//Y10y+22PvpIuvQiWwMHkkcDAAAAgC+xbVM/FhZJERGm8a1Ll9ar7bp3t3Tt1dKjT9h6+RVbZ50pdehALQkA/oLmNwCAX1mebutvD9nat9/8uW8fafJkaXS8pT69zS5v1dVSVZV09KhUWSlV10gRHaVOnaTu3aTISHl8kq4h/fpaOvMMW598Jr36mq2H/kqhBQAAAN9UVGzrj3+25XJJM86WbrvF841vbslJliZOsLVkqfTs/9n621/IowEAAADAl7z/P+mL+WbO5sEHrDZZ1HTeudLbs6Vt26R3ZktX/azVvyUAoI3Q/AYA8BuvvWHr2edtSdLAAdKvb7A0YbwUFOS9k2E/u8LSp5/bWrxEWr/B1pDB3hsrAAAA0JAtW2zdfa+tI0ek8eOkO3/Teo1vbjdcb2nZclsLF0n5BbZGx5NHAwAAAIAvWLvO1tPPmLmcG2+wlJrSNvVcaKjZ/e3Pf7X1zru2LrtEat+eWhIA/EGQ0wEAAOAJ/3nJVdf4duFM6aUXLE2aaHl145skDRxoadJEM35vju1sMAAAAEATlZfb+u29tg6USiOipQfutxQS0vo5+JDBls75sRn/v+ds2Ta5NAAAAAB4u5oaW3//h62jVdKEcdIlF7ft9596ujkxqPSg9Olnbfu9AQCth+Y3AIDP+2iurZdeMeNf32DpN7cFKSzMu5vevuviC02sn31mJg8BAAAAX+By2frL32xt3iz16iU9/HdL4eFtl4dfc7WlsDCpoFBavKTNvi0AAAAAoJnmfCCtXCVFdJTu/m3r7xr+fSEhli652HzPt2fbcrmYkwEAf0DzGwDAp+UX2HrkUVOc/OLnlmZd7jtNb27JSdKQwdLhSmnep05HAwAAADTOK/+VliyV2oVKf/uLpcjIts3Fe/SwdGntLgGvvs7ubwAAAADgzfbts/X8C6Zu++X1bV9Dus042zTfbd4spWc6EgIAwMNofgMA+KyyMlsPPGirpkb60enS1Vc5HVHzWJalC2aaIu/jeUzaAQAAwPstXWbrPy+ZvPXO31gaOcKZSYtLLrLULlQqKZHyCxwJAQAAAADQCP95yVZFhTQiWjr/XOfiCA+3dPaPzfjDD5mPAQB/QPMbAMBnPfq4rZ07pX79nNke25PO+JHUrp20dp20apXT0QAAAAAntn+/rb/9w0wQXDBTOvvHzuXh3btbmj7djN96m0kLAAAAAPBG69bZ+uhjM77lJktBQc7O55x/rvn+S5ZJO3dRSwKAr6P5DQDgk5Ytt/X5fCkoSPrjfZbCw3238U2SOnWyNPlUM/74UwotAAAAeCfbtvXIo7YOHJCGniLd/Gvn8/DLLzExLF4qbdpELg0AAAAA3ub/XrTlckmnTZYSRjtfRw4aZCkpUXK5pLkfU0cCgK+j+Q0A4HMOHzYTbpJ06cVSbIzzhZInnFO7Y8YX86WqKootAAAAeJ8vFkjfLJSCg6X77rXUrp3zufigQZYmTpBsW3r7XfJoAAAAAPAmq1bbWrTYbGZw3TXO15Bu584wsXz6uVnoBQDwXTS/AQB8ztvvSjt3Sn37SNdc7T2FUkslJ0mR3aXycik7x+loAAAAgPr27LH178fMhMDVV1kaPtx7cvGfXGZi+eQzcywrAAAAAMA7vPSKqdGmTTWLl7zF5ElShw7S9u1SQaHT0QAAWoLmNwCAT9m3z9brb5pC6YbrLXXo4D2FUksFB1s6tfbo06+/YcIOAAAA3uWxJ22Vl0sjR0g/neV0NPUljJZGjZSOHpU++MjpaAAAAAAAkrRuna3FSyTLkn5+pXfN57Rvb+m0yWb82efMyQCAL6P5DQDgU159zdbhw2Zi6/TTnI7G806fYoq/RYul6mqKLQAAAHiHrGxbX38jBQdJ99xlKSTEuyYtLMvSJReZmD740CaXBgAAAAAv8ObbpjabMlkaONC76khJmn6mienLr6WqKupIAPBVNL8BAHzGvn22PpxrxtdfaykoyPsKpZZKGC117SKVHpTyVjgdDQAAAGAWZTz2hJkEuOACadhQ78zDT5sidesm7d5jFpMAAAAAAJyza5etz+eb8RU/8c46MilRioyUysqkrGynowEANBfNbwAAn/H2u7aOHpViRkmpKU5H0zpCQiydOsmMv17IKiMAAAA4b/b70oaNUteu0jU/984JC0lq187SueeY8fv/I5cGAAAAACd98JGtmhopMUEaNdI7a8ng4GNHn371NXUkAPgqmt8AAD6hvNzWnA/M+MqfWbIs7yyUPOG02qNPFy6UamootgAAAOCcvXttvfiyyUlvuN5Sp07enYeff56l4CApN09at45cGgAAAACcUF1ta+7HZnzhBd5dR55+Wu2czGKOPgUAX0XzGwDAJ3z8iVRRIQ0eLE0c73Q0rSs5SYqIkPbtlwqLnI4GAAAAgey/b9iqqJBGjZTOPsvpaE6ud69jOymz+xsAAAAAOGPhYmnvPimyuzR5ktPR/LD4OBNnebmUleN0NACA5qD5DQDg9WpqbM1+z0xcXXqxf+/6JkmhoZZOnWjGX33DhB0AAACcsWevrQ8/MuNfXmcpKMg38nD3rgKffi6VlZFPAwAAAEBb+/AjU4udO0MKCfHuWjI42NKpp5rx4sXUkADgi2h+AwB4vcVLpe07pC6dpelnOB1N25hSe/TposWSbVNsAQAAoO29+bato0fNKviUZKejabykRGnIYKmyUvrkM6ejAQAAAIDAsnu3rezaHdTO+bF3N765TZxg4ly2nDkZAPBFNL8BALyee4XQjHOksDDfKJRaKjVZatdO2rlTWr/e6WgAAAAQaPbvt/W/D8z451f61u7LlmXpotrd3+Z8YMvlYuICAAAAANrKFwsk25YSRkt9+/pGLZmcKIWFSbt2S9+udToaAEBT0fwGAPBqO3baysg043PP8Y0iyRPat7fqdtdYutzZWAAAABB43nzH1pEj0qiRUtoYp6NpujPPkDp2lDZvlrKynY4GAAAAAALHZ1+YBUhnnuE7czphYcfmZJYxJwMAPofmNwCAV5v3iVkhlJwk9e/vO4WSJ4wba/6+y9PZqQIAAABtp7TU1pw5Zuxru765hYdbOvssM37/f+TTAAAAANAWvl1ra+1aKTRUOv00p6Npmgnj3UefUkMCgK+h+Q0A4LVqamx9/In7yFPfm3BrqQnjzLWgQDpYRrEFAACAtvHhXOlwpTR8mDRhvNPRNN8F55saYukys6M0AAAAAKB1fV6769uE8VLnTr41rzO+dk6msEg6cIAaEgB8Cc1vAACvlZUt7dwpdeokTTnV6WjaXt++lgYPlmpcUmam09EAAAAgEFRX2/rfh+aX/Jdc5Ju7vrkNHGgpOUlyuaSP5jJxAQAAAACtqabG1ufzzXi6Dx156ta7l6VhQ81pROkZTkcDAGgKmt8AAF7ro4/NBNX0M6SwMN8rlDzBvfvbUrbZBgAAQBtYuswsQOnSWfrRVKejabmZtbu/zf3YNPYBAAAAAFpHTq60Z4/Z0GDcWKejaZ7xtbufL11G/QgAvoTmNwCAV9p/wNbiJWYciEeeuo0ba/7u6elm1RQAAADQmt6bY3LOc2f4xwKUyZOkyO7S3n3SosVORwMAAAAA/mv+l6aenHqa1K6db9aTE8bVzslksoAKAHwJzW8AAK/05ZdSdbU0coQ0bKhvFkmeMDpeiugoHSiVSlY6HQ0AAAD82foNtrJzpKAgaeZ5/pGDh4RYmnGOGbuPcwUAAAAAeFZ1ta0ltRsaTD3dd+vJmFFmJ/TycqmwyOloAACNRfMbAMAruVcInTHNd4skTwgJsTRmjBkv4+hTAAAAtKL3/2fyzUkTpT59/CcPP3eGpaAgKTtH2rSJnBoAAAAAPC2/wCzi79xZShjtdDTNFxxsKTXVjLOyqR8BwFfQ/AYA8Do7d9kqKJQsy2yPHejG1x59mpnlcCAAAADwWxUVtj79zIwvusB/Gt8kqU9vS+PHmTG7vwEAAACA5y1cfGwxVUiIb9eUqckm/uwchwMBADQazW8AAK/z5VfmOjpe6tnTt4skT0hJMdeVq6SyMibrAAAA4HnfLJQOH5b695eSk5yOxvNmnm/qinmfSkeOkFMDAAAAgKfYtq2Fi8x48qm+P6fjnpMpLjELxQAA3o/mNwCA1/nqa1NMTD3d94skT+jdy9LAAZLLJeXmOR0NAAAA/NGnn5sc/KwzLVmW/+XhaalS3z5Sebm04EunowEAAAAA/7F2nbRrlxQWJo1JcTqaluvX11LfvlJNjbQi3+loAACNQfMbAMCr7N5tq7jEjKdMdjYWb5JaWzBmZbPKCAAAAJ61a5etnFwznn6Gs7G0luBgS+eda5r65nD0KQAAAAB4zPJ0c01JksLC/GMxVWqyuWblUD8CgC+g+Q0A4FUWLzXX2BipR6R/FEmekJpifhZZ2Q4HAgAAAL/z+XzJtqXEBKlvX//NwWecLYWESCUl0qrVTGAAAAAAgCcsTzf11dix/lNPpiSbv0s2czIA4BNofgMAeJVFi02RNPlU/ymSPCEpUQoKkjZtlnbuYqIOAAAAnmHbdt2Rp9PP8O8cvFs3q2536f+x+xsAAAAAtFh5ua2CQjMeN9bZWDwpOclcv10rHThA/QgA3o7mNwCA1ygrs5WdY8anTnI2Fm/TqZOlkSPMmJVGAAAA8JTVa6QNG6R2odLppzkcTBu44HzT4PfFfDNJAwAAAABovqxsqaZGGjBAiurnPwuqune3dMoQM87JczQUAEAj0PwGAPAay9JNkTR4sDRwgP8USZ6SmmKuWdlM0gEAAMAzPv3M5JaTJkkREf6fgyeMNvVGZaU07xOnowEAAAAA3+Y+8nRcmsOBtIKUZHPNZk4GALwezW8AAK+xcJEpINj1rWGpKWYyMivbHE8FAAAAtERNja0FX5qxvx956mZZli6+0Pxd333PVk0NeTUAAAAANIdt20rPMOPx4/yvpkypnZNxn1gEAPBeNL8BALzCkSO20tPNeMok/yuSPCEuVgoLk/btl9avdzoaAAAA+LrCIpNbRkRIaWOcjqbtnHWm1KWztH2HtGix09EAAAAAgG9au07avUdq397ssu1vkhKk4CBpy1Zp5y4WTgGAN6P5DQDgFbKypcOVUq+e0ogRTkfjndq1s+oKyKxsZ2MBAACA7/tmofnl/cQJUmho4CxAad/e0vnnmfHb7zKBAQAAAADNsbx2Q4PkRCkszP9qyo4dLUVHm/GKFc7GAgD4YTS/AQC8wuKlZtJp0kRzFBEaduzoUybpAAAA0Hy2beubRWY85dTAy78vvMBSSIhUUCgVl5BbAwAAAEBTLU83tdTYsf5bU7o3JFiRT90IAN6M5jcAgONs21Z6hhlPGO+/RZInjEkx19w8qbqaYgsAAADNs2q1tHOnOZ4mkI48desRaWnaj8yY3d8AAAAAoGkqK20VFpmxP9eUCaPNnNWKfIcDAQD8IJrfAACO27BR2rVLatdOSkp0OhrvNnSo1LWLOSK2qNjpaAAAAOCrvllkGr7GpZljQAPRZRebv/fXX0s7dtIABwAAAACNVVAoVVdLvXpK/aOcjqb1jI431w0bpf0HqBsBwFvR/AYAcJx717fEBCksLDAn3horKMhSSrIZc/QpAAAAmmtR7ZGnkycHbv49fLjJrWtc0vtzyK0BAAAAoLFy80wNlZQkWZb/1pVdulgaMtiM8wscDQUA8ANCnA4AAID0DPeuE/5bIDXkwQcf1Ny5cyVJL7zwguLi4hr1dSkplr6Yv1Dvzf5aX85frT179qi8vFydO3fWyJEjdfHFF2vixImtGToAAAB82IaNtjZslEJCpAnjnI7GWZdebCk7x9aHH0k/v9JWePiJaxKXy6UPP/xQ8+bN0/r163X06FFFRkYqLi5OP//5z3XKKac06XsfPXpU7777rr744gtt2rRJtm2rZ8+eSkhI0HXXXadevXq19K8HAAAAAK0iN89ckxL9b15n7ty5evDBB497/O7fmuu0adMafL4hLpdL+fn5WrRokXJzc7V9+3aVl5erV69eSktL089+9jP169fPk+EDQECi+Q0A4KjDh23lrTDjsWnOxtKWsrOzNXfuXFmWJdtu2i4TKcmSXfOJ9u39Rl06D1FsbKzCw8O1fft2LVu2TMuWLdMvfvELXX/99a0UPQAAAHzZwtpd31JTpIgI/5uoaIrx46QBA6TNm6W586RLL274dZWVlbrzzjuVlZWlzp07a/To0QoLC9O2bdu0YMECjR8/vknNb/v27dPNN9+stWvXKjIyUmPGjJEkbdmyRR999JHOOeccmt8AAAAAeKWKClvFJWacnORsLK1p+PDhGj58uLZvl/JWSF26SBPGS7GxsY1+j61bt+qGG26QJPXs2VPx8fGyLEvFxcWaM2eOPvvsM/373/9WYmJiK/0tACAw0PwGAHBUbp5UVSX17SMNHOh0NG3jyJEjeuihh3TKKaeoY8eOKiho2l7Z/fpKPXpfpX377tbtv+mqtDHHJiwLCwt1yy236KWXXtIZZ5yhIUOGeDp8AAAA+LhFi83ii8mnBnbjmyQFBVm67BLpkX/beuMtW+efK4WFHf9z+ctf/qKsrCyde+65uuOOO9S+ffu65/bs2aPq6upGf0+Xy6W77rpLa9eu1c9//nNde+21Cgk59iu6rVu3qmPHji37iwEAAABAKykolGpqpD69pX59/beunDx5sq677jrt2mXrwkttVRyR7rzT+sEdw7/PsiyNGzdOV111lZKSjnUKHj16VP/4xz/08ccf609/+pNmz55dry4EADRNkNMBAAACm/vI07FppggIBC+++KK2bNmiu+66q1nFjGVZGpc2QpbVRTm59XeNi4uL07Rp02TbtrKzsz0VMgAAAPzE3r22Slaa8cTxzsbiLc4+S+rVS9qzR/ro4+Ofz8rK0oIFCxQTE6N77723XuObJPXo0UN9+vRp9Pf7+OOPVVhYqNNPP1033HDDcTVBVFSUunbt2py/CgAAAAC0utw8My+RlOhsHG2lVy9LfftKLpdp/GuK/v3767HHHqvX+CZJ7dq101133aWIiAjt2LFD+fn5HowYAAIP7cMAgGbZtm2bLrzwQiUlJenf//63nnvuOX355ZcqLS3VoEGDdN111+nUU0+VJC1YsECvv/661q1bpw4dOmjatGm68cYb1b59e6VnmPcbm2apoqJCb775pr788ktt2bJFwcHBGjFihC6//HJNmTLluBiWLFmir776SgUFBdq9e7dcLpf69++vadOmadasWWrXrl2918+dO1cPPvigrrnmGp177rl65plnlJGRocOHD2vIkCG65ppr6mJuLWvXrtXrr7+uGTNmtGgb66RES598Zis37/jngoODJUmhoaHNfn8AAAD4p2Xpku3arpqjF+m++1qWy3+XL+fy7dpZuvIK6ZFHbf33dVvnnlN/97c5c+ZIki6//HIFBbV8Han7/WbNmtXi9wIAAACAk/HUfI5bTq5k2xUqK31LV1zxlc/VgM2ROFravl1akW9rbJpnNnIICwvTwIEDVVxcrD179njkPQEgUNH8BgBokerqat10003aunWrYmNjdfjwYeXl5emee+7Ro48+qrVr1+qpp55STEyMxo4dq7y8PL377rsqLS3V9dc/oC1bpeBgacjgfbrmmpu0fv169ezZU2lpaaqsrFRhYaHuvvtu/frXv9aVV15Z73v/9a9/VWVlpYYMGaJhw4bp0KFDKi4u1rPPPqusrCw9/vjjdY1g37V9+3ZdffXVCgsLU0JCgvbt26eCggLdfffdevTRRzV27NhW+Vm5XC79/e9/V0REhG666aYWvZd7RdXKlVJFhV23zfaaNWs0f/58hYSEaMyYMS2MGAAAAP5m6bJjOwe3JJf/85//XPc+e/fu1U03+XYuf87Z0quvS7t2SR/OlS656Nhz7h2Vx4wZo7Vr1+rLL7/U3r17FRkZqfHjxysuLq7R3+fQoUNauXKlwsPDFRsbq4KCAi1atEgHDx5U7969NXnyZA0dOrRZfwcAAAAA+CGeqAErKmytXLlPNUdv1tdf+24N2BgrV67Uk08+qUOHDunA/u6yXSlakZ908i9spJqaGm3fvl2SFBkZ6bH3BYBARPMbAKBFCgoKlJycrHfeeUedO3eWdGxFzsMPP6yDBw/q6aefrtvlbPfu3bryyiv1+eefa/Ap10vqp9Hx0r/+9aDWr1+vn/70p/WO/tm6datuvfVWPffccxo/fryGDx9e973vvvtupaWlqUOHDnWPHTp0SPfff7+WLFmizz77TGefffZxMc+bN0+XXHKJbr311rrv8/bbb+vRRx/VSy+9dFyxNHPmTO3YsaNJP5f3339f/fr1q/fY7NmzVVhYqPvvv19dunRp0vt9X9++lvr2sbV162Ldfc/X6ta1Wjt37lRBQYFCQkJ0zz33HPf9AQAAENiOHrWVmXXszy3J5X/5y18qKipKkvTgg/6Vy7/yyns6b0Y/hYVZ2rt3rw4cOKDOnTvro48+0rPPPiuXy1X32v/85z8666yzdN999x13fGlD1q9fX7fDwb///W/Nnj273vPPP/+8Zs2apZtvvrlJMQMAAADAyXiiBlyRL1Ud+atk+08N2NB8jmR2q1uyZMl3HnlRudlJ2r79QfXt2/JmtS+++EL79+9Xt27dFB8f3+L3A4BARvMbAKBFgoODde+999YVSpJ09tln6+mnn9aWLVt0zTXX1Dves2fPnpo+fbreeustLV6UK6mfBg9co3ffWab4+HjdeOONsqxjW0ZHRUXplltu0V133aUPP/xQd9xxR91zDW2d3bFjR912221asmSJFi5c2GCxFBUVVa9QkqSLLrpI//nPf1RYWKiqqqp6R4ZOnTpVBw4caNLPJTw8vN6fd+3apWeffVbJyckNxtQcSYnS1i1rlJkxr+6xsLAw3XbbbR77HgAAAPAfK/Klw4elbl2lPbtalsvn5uYqKipKq1ev1rJl/pHLu1zSwkXS/tIOem+ONOtyqaysTJKZlHnmmWf04x//WFdffbW6deumzMxMPfzww/r000/Vs2dP3XjjjSf9Hu73W7t2rVavXq0rrrhCF110kcLDw/XNN9/o0Ucf1euvv66oqChdeOGFjYobAAAAABrDEzXgggWrZLuWqXt3368B3b4/n9OjRw9de+21mjx5sqKiolRZWamioiLd+7unVVOdq1tvu0NvvvGfBneqa6ydO3fqsccekyRdd911xx37CgBoGprfAAAt0rdvXw0YMKDeY0FBQerTp4/279/f4NGb/fv3lyRt2LBXkmS7MiRJkydPrlcouSUkJEiSSkpKjntu06ZNWrZsmTZv3qzKysp6uzBs3ry5wZiTk5OP25UhJCRE/fr108qVK1VaWqoePXrUPXfLLbc0+D5N8c9//lNVVVW66667WvxebklJluZ9erXi4q/Wk49VacuWLXr//ff18MMPa/HixXrooYfqFX0AAAAIbO4jT5OSpC8+a1kuv3evyeUzMvwrl//kU1t/fcjWy6/amn6G6mKqqalRfHy8/vjHP9a9durUqQoLC9Mdd9yhd955Rz//+c/VsWPHH3z/777fmWeeWW+Ht/PPP19VVVV65JFH9PLLL9P8BgAAAMCjPFEDZudkSpKSU/yjBmzIuHHjNG7cuLo/d+zYUZMnT9bk05L11YJfaNPGlZo/f76mT5/erPc/fPiw7r77bh04cEBT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dPumTZsOua1q1aqH/Z3o6GiVL19eaWlp2rt3rySpadOmqlKlir744gutWLFCO3bs0Ouvvy5jjHr27ClJev/995Wenq6bb765RB5baWvatKkkacOGDcrNzfU4Gu/Vr+dWT8zNlf4InBoTAAB4YMeOAiW7i97VvZu3sfgL8vriC4a8vlsXKTZW2rZdWrjI62gAAAAA3zLhN9dcNGiAdxdfUdMVXyDWdG3bSOHh0tZt0oYNXkcDAMXnu2uHAkAAWbPGauxPbvzv64yMCb5VJTp16qRx48Zp/PjxuvrqqxUeHr7vvoULF2rNmjWS3JU+RYquQIqKijri342KilJ6eroyMzMVGxuryMhI3XDDDXrkkUd04YUX7vu5M844Q02bNtWaNWv01Vdf6Yorrth3dZEkZWVlKTIyslj/bzZv3qwepbhGeVExKrnlwOPj40vt3/IHxhj16mE15jtpeqJV3z7B93wCAAAlI2G6+7C6aROpSjw5xdEgry++YMjrIyKM+vax+uVXN7HXri3PKwAAAECSVq6yWrFSCguTTjjBuzio6YovEGu6qCij1q2s5v0p/TFXqlPH64gAoHhofgOAMvDmO1b5BVKf3lKH9sH54f+QIUP00UcfafPmzbrzzjt10003qXr16po/f76eeuophYaGKj8//6CCpmiJ5WMtck4++WTVrl1bv/32m3JyctSlSxf1799fkvT888+rRo0a+4qt8ePH6/XXX9fmzZtVrlw5nXXWWbr66qsVEnL0i6NGR0fv+/uHM3/+fK1fv/6YHsOBDlxqOhgbJw+nZw+jMd9ZJSa6/z78dwEAAMUxNSFHktTD93dX8Rnk9eT1/2TQAKNffrWaOEm66QarsLDAfawAAADA0Spa9a17N6lCee9yZGo6arq/6tTRaN6fVnPmWJ12auA8LgDBheY3AChl8/60mpYghYZI110dvEljdHS0/vOf/+iOO+5QYmKiEhMT991Xo0YNnX/++fr0009VoUKFfbfHxMRI2n9V0eFkZWXt+/sHatu2rdq2bXvQbRMnTlRSUpKef/55RUREKDk5WaNGjVL37t112223ac6cOfroo48UFxenc88996gfW8WKFTVq1Kgj3v/oo48eV0G1e/fufeMD//sEs44dpKgot53S8uVS4WrjAAAARy0/3+5b+a1H9+DN048VeT15/T/p0lmKi5NSU6VZ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/71SU1MP+3Pt2xm9/bpR7VrSps3Stf+2mjOXugAAAASWf5rrmTPXXYAlSbfcaBQaun/+qKCgQE899ZTKlSu3b+VxAMHNGKNbbzYaNFDKy7O67/7/KisrS507dy7xVbsB+D7WgwVQ6vLzrV55zWrMd+7788+VrrvGKCTk8I1va9eu1UcffSRrrXbu3KkFCxYoIyNDI0eO1JAhQ447nnnz5ik5OVnh4eHq0aPHcf89ACiur776SpI0ZEg/zVsorVnrtjp69UWpSpV/bg4GAKA07Nxp9cAoq9xcqV9f6eILpb179yo9PV2SDtrK+0DVqlXTkiVLtHnzZjVt2vRv/41KlSpJkjZv3nzY+4tu3717tzIyMhQTE1PMRwMA3nnttdcO+v6ll17SbbfdphEjRhzys/XqGb39hnTvA1YLFkq33mF1x63SqcOpCwAAgH86lrmejAyrp55xzf+nj5DatT04Bxo9erQWLlyoUaNGqWLFimX2GAD4rtdee007d+5Uxp69igxdrozsDZKprx497/E6NAAeoPkNQKnKzrZ67EmryVPc9zf92+ics//+g9udO3fq559/Pui2s846S9ddd52MOb4Pfffu3asnnnhCknTeeeepSpUqx/X3AKC4vv32W82aNUvly5fXddddopxco5tutVq3TrqhsAGualUmugAAZSsvz+rBh622bZfq15Puv8fIGKOMjIx9PxMZGXnY342KipK0f1W3v9OmTRtFRkZq586dmjFjxkFX/RcUFBxUD9D8BsDf9O3bV507d1aLFi1UqVIlbdy4UWPHjtXXX3+tJ598UhUrVtQJJ5xwyO9VqmT00vPSk09b/TZJeuY/VktSrG650SgigtoAAAD4l2OZ63n9TatNm6WaNaTrrz34vq1bt+qtt95Sp06dNGzYsFKPG4B/mDx5stavX7/v+woVGmlv1sN6852aysm1+tfFOuJCLAACD9ueAig16elWt9/lGt/Cw6VHRv1z45skdejQQYmJiUpISNC3336rm266Sf/3f/+nSy+9VBs3bix2PPn5+Ro1apTWrVunVq1a6eqrry723wKA4zFnzhy9+OKLMsbo/vvvV9WqVVW7ltFrLxnVqC6tXy/dcLPVlq1sdQQAKFuvvWn153wpJkZ66nGj2FiXv1v7z+9JR/MzRWJjY3XmmWdKkh599FFNmTJFe/fu1Zo1a3T//fdr7dq1CglxH1kc7wUwAFDWbr/9dp144omqUaOGoqKi1KhRI91888268847JUmvv/76EX83MtLooQeNrr7SyBjpx7HUBgAAwD8d7VxP0iyrH8a68b13G8XEHFwDPvfcc8rNzdVdd91VluED8HGjR49WYmKifvnlF7300kuqVStCBbmXqSD/Z73/odWoh60yM6mjgGDBym8ASsXWrVZ33G21cpUUG+smzn4a+5gSph38cyeccMJhr3aWpNDQUNWqVUsXXHCBatWqpXvuuUfPP/+8nn/++WLF9PTTTyshIUH169fXCy+8oPDw8GL9HQA4HsuWLdPdd9+t3Nxc3XbbbTrxxBP33VezptFrL0s33mq1YaPbAvWVF6Ua1Zn0BwCUvquuflQLF7px0zbSRx/tz9djY2P3/Vx2drbCwg79OCE7O1uSFB0dfVT/3nXXXaetW7dqwoQJuvvuu/fdHhoaqptuukkvv/yyJKl8+fLFfEQA4FtGjBiht99+W2vXrtXGjRtVq1atw/5cSIjRJRdJzZtJDz9mtXiJdOkVVvfcJZ3Ql9oAAAB469FHHz3ktuLO9WzfYfXE06455awzpE4dD851Jk6cqKlTp+ryyy9XgwYNSvyxAPB/lSpVUo8ePdSmTRtddNFF2r79OYWGdNbk36tr3XqrUQ9IjRtRRwGBjuY3ACVu+QqrO+92WyXFx0vPP2vUpLHR9df9fMjP1qxZ84gF0YFOOOEExcTEKDExUbm5ucfcuPbqq69q7Nixql69ul555RVVqlTpmH4fAErC+vXrdcsttyg9PV1XXnmlzjnnnEN+pkYNo1dfkm661WpjYQPcqy+62wEAKC1Js6wWzN+fr/8x2x2L8vXY2FiVK1dOe/bs0datW9WwYcND/sbWrVslSTVq1DiqfzM8PFyPP/64zj77bM2YMUOpqamqUqWKBg0aJMmtJFenTh1FREQc56MDAN8QEhKiOnXqKDU1Vdu3bz9i81uR7t2M3n9HeuhRqyVLpPsftDp9hNW/rzOKjqY+AAAA3vjrVqZS8eZ6MjNz9NAjYdqxQ2rUULrmqkPzm2nT3IoKSUlJmjt37kH3LVu2TJL07LPPKjY2VmeffbYGDBhQnIcEIACUK1dOvXv31pgxY3TBhbP0f+OGa8VK6cprrK64TDr/XCk0lDoKCFQ0vwEoUbP/sLp/lNXevVKD+tJ/njH7GjYSExOL/XeNMapQoYI2b96stLQ0xcfHH/Xvfvzxx/rss88UFxenV155RdWrVy92HABQXNu2bdNNN92kHTt26Nxzz9WVV155xJ+tUb2wAe6Wg1eAq1mTwgwAUPJWrrJ68GGrsKjpGnKS9MC95rBbjTZt2lRz585VcnLyIc1veXl5WrlypSIiIlSvXr1j+vfbt2+v9u3bH3Tb119/LUnq1KnTMT4aAPBtaWlpko5+lcxaNY3efFV6532rz7+Qvv9RSpptde9dUscO1AcAAKDsldRcz1NPp+nP+ZUVGys9/ujfN/cvLFqm/DCWLl0qSUfVfAcgsBUtflIudpc+es/o2eetEqZLb71jNXmK9O/rqKOAQBXidQAAAscv46xuv8s1vnVoL73xmimxlYo2bNigLVu2KDY29phWbfv+++/15ptvqnz58nr55ZdVv379EokHAI5FWlqabrnlFm3cuFHDhw/XLbfc8o+/U72a0asvGdWpI23aLN1wi9XGTbb0gwUABJWdO63uumd/Dn/3HYdvfJOkXr16SZImTZp0yH3Tpk1Tdna2unTposjIyOOKKTc3V2PGjJEknXbaacf1twDAl6xcuVJr165VVFTUMW3bFRZmdP01IXrxP0bVqmrfCtEvvlygjAxqBAAA4D+K5nrCw2P12+SKCg2RHn7QqF7dw9eho0aNUmJi4mG/OnbsKEl67733lJiYqPPOO68sHwoAHzRnzhxJUp06dRQfb/T0E0b33W0UGyslp7g66q57C7RsGXUUEGhofgNw3AoKrD74yOrxJ63y86WB/aUXnjOqUP7YGt8++eQTbdiw4ZDb16xZo1GjRslaq6FDhyo0NPSg+88991yde+65+7ZZKjJx4kQ9++yziomJ0QsvvKBmzZod+4MDgOOUlZWl2267TStWrNDAgQN17733HrGp4K+qVTN69UWjunWlLVukG2622rCBogwAUDKys63uud9q8xapTh3piUeNIiKO/B41YsQIxcbG6vfffz+oAW7nzp167bXXJEnnn3/+Ib93pHx98+bNSk1NPei2vXv36uGHH9aaNWt0yimnqHXr1sfzEAGgzCUmJio5OfmQ25ctW6b77rtP1lqNGDFC4eHhx/y3u3Yx+uQjoxGnuu/HfCf96wqrOXOpEQAAgO84mrmevIKhMiZUt99m1LOHq0OPVDsCQJHff/9d06dPl7UH10BZWVl68803NXfuXMXHx6tHjx6S3GqTw4YaffGJ0cjTpdAQafoM6bKrrG64uUBTplrl5VFPAYGAbU8BHJc9e6wef8pqWoL7/vxzpeuuMQoJOfYV38aMGaM333xTTZo0Ud26dWWt1ebNm5WcnKyCggJ17NhR119//SG/t2bNGkluq6UiO3fu1EMPPaSCggLVrFlT3333nb777rtDfveEE05gKWwAx+TZZ59VSkqKJGnXrl2SpMmTJ+9bXl+S3n///X3jt956SwsXLlRoaKhCQ0P1xBNPHPbvjho16rC3V626fwvUtevclUkvvaAjXg0JAMDRyM21un+U1eIlUoUK0nNPG1Ws+PfvLRUrVtT999+vBx54QPfdd586duyoSpUqadasWUpPT9c555yjrl27HvJ7h8vXJWn27Nl66qmn1LJlS1WvXl1ZWVn6888/tWfPHvXo0UN33XVXyT1gACimY83/FyxYoPfff181atRQnTp1VKlSJW3cuFEpKSnKz88/4mcbRys21uiu2436n2D19HNWmzZJN91qNeJUq2uvMqpQgToBAAB465/memQ6KCTsWt30b6MRw/fnLkeqHQEErmOtt1JSUvT++++ratWqatasmWJjY7Vz504tXbpUaWlpKleunJ544gnFxMQc9O9Urmx0+y1GZ59h9f5HVpMnS/P+lOb9aRUXJw3sbzVooFHrVjrqxQsA+Baa3wAU25o1Vvc+4JoxIsKlO25z3fPFde2112r69OlKTk5WYmKisrOzVaFCBXXr1k2DBw/W0KFDFRJydAtWZmVlKTc3V5K0YsUKrVix4rA/V7NmTZrfAByTVatWadGiRQfdlpqaesjKNUXS0tIkSfn5+Ro3btwR/+6Rmt8kqUp8YQPcrVZr1krX32D1zFNS61YUYQCAY5eXZ/XI41aJM6XISOmpx43q1jm695QBAwbozTff1IcffqhFixYpNzdXDRo00FlnnaXhw4cfUxwtWrTQgAEDtHDhQi1btkzh4eFq3Lixhg8fruHDh/NhIwCfcKz5f48ePbR161YtXrxYy5Yt0549exQbG6v27dtryJAhGj58+CEr2hdH1y5Gn3wovfGW1fc/Sj+OlaZMsbrmamn4MBXrokQAAICScLi5nvLlK6h8ha5K3ztYIaEn69abQ3XmSPIVINgda7114oknKiMjQ3/++acW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", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "az.plot_posterior(fit, var_names=[\"tau\", \"theta\"]);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To make the most out of ArviZ however, it is recommended to convert the results to InferenceData.\n", - "This will ensure all variables are assigned to the right groups and also gives you the option of labeling the data.\n", - "\n", - ":::{tip}\n", - "If ArviZ finds any variable names `log_lik` in the CmdStanPy output, it will interpret them as the pointwise log likelihood values,\n", - "in line with the Stan conventions used by the R libraries.\n", - ":::" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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VOxzVYIDAMBd7KlLfouKat3PcVV+KyiQbNv2+Lu2T2bBggX69NNP1a9fP8XGxqpDhw7avXu3cnNzlZWVpYyMDD344INNPl5RUZFuuukm7d27V9HR0Ro/frwOHTqkvLw8Pfvss1qwYIGee+45BQQwJQAAAAAA8Hy7d9vaWChZljQi1elozlyHDpZSU2xlLDPV33529anfc/jwYd11113KzMxUeHi4EhISFBwcrG3btmnOnDkaM2ZMs5LfSktLde2112rt2rWKiorSyJEjJUlbtmzRZ599pgsvvJDkNwCA22CmGwC83MJFJklrAluenpEjR47okUceUf/+/RUWFqb8/PxmH+OBBx5o9PH9+/fr22+/lSRNmzZN/oHSq69L335na+oU/m4AAPdSWmrazq2c/BY7WAoKkvbuk4qLpT59WvfznHTRRRfpJz/5iQYPHqyysrL6x4uLi/XLX/5SX3zxhaZMmaIxY8Y06XjPPfec9u7dq8svv1y/+c1v5O/vL8lMXN98883Kzc3Vl19+qenTp7fKzwMAAAAAQFvKyDTtkCFSx47eMad+1nhLGctszV9g62dXn/pn+t///V9lZmbqoosu0p133ql27drVP1dSUqLq6uomf3Ztba3uvvturV27Vtddd51uuOGGBjfQbd26VWFhYc37gQAAaEV+TgcAAGg9paW2ClaY/vixzsbi6f79739ry5Ytuvvuu1u8SsqcOXNUWVmpuLg49enTR+dMNgPZjGXSvn3NrzAHAEBr2lOX/NapU+t+TmCgpaFDTD+v+TnnHiUmJkZdunQ57vHevXvr0ksvlSRlZmY2+Xg5OTmSpJkzZ9YnvklSp06ddNlll0mSVq5ceQYRAwAAAADgPjKWmXn0tBEOB9KCxo83lexWrjKV7U4mMzNTc+bM0bBhw3Tfffc1SHyTpM6dO6t79+5N/uzPP/9cBQUFmjp1qm655Zbj1kSio6MVERHR5OMBANDaqPwGAF5s8RLJtk3llK5dLW3btk2XXnqpkpOT9cQTT+jFF1/Ud999p3379qlv37668cYbNWHCBEkmIeutt97Sxo0bFRISonPPPVe/+tWvjhs0VVRU6J133tF3332nLVu2yN/fX7Gxsfrxj3+siRMnHhfTokWL9P333ys/P1+7d+9WbW2tevXqpXPPPVdXX321goKCGrx+1qxZeuihh3T99dfroosu0vPPP6+MjAwdOnRIMTExuv766+tjbi0bNmzQW2+9penTpyspKanFj//VV19JMlXfJKlfX0sDB9hav0Gat0C6mKIsAAA3UVFh69Ah0486SfJbS11zJMRLuXlSXoGtyWcf8vprjsa4ktcCAwOb/J4f/myNCQ8PP+2YAAAAAABoTc2ZV/jmm2/17ddvqaa6UP95N0Tle71jLaNzlKW44bbyC6SFi6UfXXLi13788ceSpB//+Mfy8zvz2jeu482cOfOMjwUAQFug8hsAeLEFJ9jytLq6Wrfeequ+/PJLDRo0SMOHD9f69et17733KiMjQ++8844eeOAB+fv7a9SoUaqtrdX777+vv/3tbw2Os2fPHl1//fV6+eWXVV5errS0NA0fPlyrV6/WPffcozfeeOO4mP7617/qu+++U/v27TVmzBglJSVp165deuGFF/Tb3/5WNTU1jf4s27dv18yZM5WXl6fExEQNHjy4/nPS09Nb6Dd2vNraWj388MNq3769br311hY//o4dO5STk6OAgACdd9559Y+7qr/N+Y7KbwAA9+HakbNdOykk5NSvP9Nrjvg4cz7MySn1+muOxuzcubN+wnn06NFNft/IkSMlSa+99ppqa2vrHy8tLdWHH34of39/TZ06tWWDBQAAAACghTVlXuFPf3pQNTX+CghMk5+fd61ljB1j5kWWLD35OsHy5cslmfmADRs26OWXX9Yjjzyil19+WQUFBc36zIMHD2r16tUKDQ1VYmKi8vPz9fzzz+uRRx7Rq6++qg0bNjTreAAAtAUqvwGAlzpyxFamGe9o/LiGz+Xn5yslJUX/+c9/6qt+uO5KevTRR1VeXq7nnnuuvsrZ7t27de211+rrr7/WzTffrOjoaEnSQw89pMLCQv3sZz9rUPp669atuv322/Xiiy9qzJgxGjRoUP1n33PPPUpLS1PIMSvmBw8e1AMPPKBFixbpq6++0gUXXHDczzN79mxdccUVuv322+s/57333tM//vEPvfrqqxo1alSD18+YMUM7duxo1u/so48+Us+ePRs89sEHH6igoEAPPPCAOnbs2KzjNcVXX30l27Y1ZsyYBsc/d7L04stSVrZUssdW5yjrJEcBAKBtHLvlqWWd+tx0ptccccPNebl4819l13r3NYckZWdn64033lBtba1KSkqUm5urmpoa3Xzzzc2qPvvLX/5Sq1ev1vvvv6/FixcrNjZWhw4dUm5ursLDw/Xoo48qJiamWTEDAAAAANDWmjKvMP2iZ/X5l4k6a4L0m9v2eOVaxvzvpWPviTt2XmHPnj3au3evwsPD9dlnn+mFF15ocCPcK6+8omnTpukPf/jDcduXNqawsLC+yt1DDz2kt956q8HzL730kq6++mr9+te/PuWxAABoKyS/AYCXys6RjhyRunaRBvRv+Jy/v7/uu+++BttdXXDBBXruuee0ZcsWXX/99Q0WWLt06aKpU6fq3XffVXZ2tqKjo7V27VotWbJE8fHx+tWvftVgATw6Olq33Xab7r77bn366ae68847659rrHx4WFiY7rjjDi1atEjz589vdMAYHR3dYLAoSZdddpleeeUVFRQUqKqqqsF2YJMnT9bevXslScHBwTpy5Mgpf2ehoaEN/t11F1dKSkqjMbWEL7/8UpJ0/vnnN3i8Rw9Lw4fZWrFS+n6udMVlrfLxAAA0S2ld8tvJtjw91plec0yfHq0e3deoeNMS9e3n/tccTfXDaw6XoqIizZ49u/7f/fz8dMMNN+inP/1ps47fuXNn/fOf/9Qf//hHZWRkaOvWrZJMwuKkSZNIfAMAAAAAeISmzCvk5CdKktJGWB6/ltGY7+ZKRw5LI0dInTubx46dV9i/f78kk5j3/PPP6/zzz9fMmTMVGRmpZcuW6dFHH9WXX36pLl266Fe/+tUJP+eHx9uwYYPWrl2rn/70p7rssssUGhqqefPm6R//+IfeeustRUdH69JLLz3l8QAAaAskvwGAl0rPMGWwR406vjJLjx491Lt37waP+fn5qXv37iorK6vfKutYvXr1kmTuIpKkjIwMSdJZZ53VaOWXxEQz4Fy1atVxzxUVFWnJkiUqLi7W4cOHG9yFVFxc3OjPk5KSctxdSQEBAerZs6dWr16tffv2qbNr5Cfptttuq+9HRkaqzLVPWzP8/e9/V1VVle6+++5mv7cpVq9ercLCQnXo0EHjx48/7vnJZ1tasdLW/AW2rriMym8AAOcdW/mtKVrimiO8wzJJUlTUBLe/5jhTl1xyic466yxVVVVp+/btmj17tl599VUtWrRI//jHPxpM9p/MunXrdOedd8rPz0+PPvqokpOTdejQIX3//fd6/vnntXTpUr300kv1v2sAAAAAANzRqeYV4uNH6v/eNY+npZnWk9cyGhPUrlazZksDB0u33ep33POumGpqahQfH68HH3yw/rnJkycrODhYd955p/7zn//ouuuuU1hY2Ek/79jjTZ8+vUGFt0suuURVVVV67LHH9Nprr5H8BgBwGyS/AYCXWmrGcxqddvxgrkuXLo2+p127dpKkrl27nvC5yspKSdL27dslSc8995yee+65E8Zx7B1Ltm3r6aef1rvvvivbtht9fUVFRaOPNxaTpPqS4664Wsp3332nBQsW6Oc//7n69evXosd2cVV9mzx5soKCgo57fvw46ZnnpLw8qbzcVng4CXAAAGeVlprzd1OT31rimiOknbnmyFr+vEaPfv6En+Wp1xyNCQwMVJ8+fXTLLbeoY8eOeuqpp/TSSy/prrvuOuV7q6urdf/996ukpESvvvqqYmNjJUkdOnTQVVddpZqaGj399NN66aWX9Je//KW1fxQAAAAAAE7bqeYVdu3uopoaqVe01LOH1eA5b1nLGDPa0qzZtpakS7fdevzzx1aBmz59+nHPjxs3Tp06dVJpaalWrFihNFeW4Akce7zLLjt+S5rp06fr8ccf165du1RcXHxcciIAAE4g+Q0AvNDWbbaKiyV/fyk1pXU+w3X3T1JSknr27HnC10VERNT3v/32W73zzjvq2rWr7rjjDsXHxysyMlIBAQGqqqrShAkTTjiQbK6nn3662due3nbbbfXxLly4UJK5Kyw7O7vB69atWydJevTRRxUWFqYrrrhCkydPblZ8NTU1+vbbbyVJ06ZNa/Q10T0t9Y+xtbFQWrxUmjalWR8BAECLO7rtadslZEdGmGsOP/9ETTkvWn7H3+QsyT2uOZrq2GuOU5k2bZqeeuopLViwoEnJbwUFBSoqKlKvXr3qE9+Ode655+rpp59WVlZWs2IGAAAAAMDdFKww7cnWQTxpLaMx1dVSbbW0aYN0771SaGjDeYXOnTsrMDBQVVVV6t69e6PH6N69u0pLS5u0Q06PHj3q+439vtq1a6eIiAiVlZWprKyM5DcAgFsg+Q0AvFB6XdW3+DipffvWWZx23XF19tln66qrrmrSe+bOnStJuvvuu4/b5nPr1q0tGt93332nHTt2NOs9N9xww3EL0QUFBSd8/dq1ayVJEydObHZ8mZmZKikpUffu3ZWUlHTC140fJ20slBYusjVtCpXfAADOau62py0hJqbujmnrbF162VVKiD/1+dATrzlOJDw8XH5+fk1OsNu1a5cknXAbE9fj5eXlTToeAAAAAADuypX8lpJy4rkCb1rLqAurwbxCQECA+vfvrzVr1pxwrO963FV97mS6d++ujh07at++fdq3b586duzY4Pna2lodOHCgyccDAKAtkPwGAF5oabq542hUI1uetpS0tDS99NJLmj9/fpMHjPv375ckdevW7bjn5syZ06Lx/fe//63vR0ZGNumOpmM98MADeuCBBxp97he/+IWys7P1r3/9S3FxcacVn2vL02nTpsmyTvx3mjDe0hv/Zys9Q6qstBUURAIcAMA5pQ4kv7muOeza+covuEoJ8ad+j1PXHK0hJydHtbW1io6ObtLro6KiJElFRUU6ePDgcUlwK1eulNTwTm4AAAAAADzR5s2S5SelJJ34NZ60lnEib71j658v2ho9Snrs/x1fEn/ChAlas2aNsrKydN555zV4btu2bfVbvzZWIb4x48eP1+eff6709HT16dOnwXN5eXmqqqpScHCw+vXr16TjAQDQ2k6wYQwAwFMdOWIrq26XztGjWu9z4uLiNGLECC1fvlxPPvmkKioqGjxfW1ur9PR05eTk1D/mGiT997//bVASPCcnR2+99VbrBduGdu3apauuuuqkg+jDhw9r3rx5kk685alL7GCpc2fp0CFpefZJXwoAQKs7uu1p231mXFycevceIbs2Sx9/5J3XHC+//LL27Nlz3OOrVq3Sww8/LEm68MILGzx3omuOuLg4RUZG6tChQ3r88cdVWVlZ/9zu3bv15JNPSjJ3vAMAAAAA4OkG9JciI09807g3rGWMqVvryco2a0A/dNlllyksLEyzZs1Senp6/eMVFRV69NFHVVNTo3HjxjVI5jvZWsbPfvYz+fv765VXXtGaNWvqHy8tLdU//vEPSdJFF12kwMDAlvoRAQA4I1R+AwAvk5cvHT4sRUVJAwe07mf9+c9/1u233653331Xs2fP1uDBgxUREaHdu3erqKhIZWVluuOOO+q39bzyyiv1+eef68MPP1RWVpYGDhyo3bt3Kzc3V1dffbVbLkY3V3V1tTZv3nzS18ybN08VFRUaNmzYKe+M8vOzNH6srf9+Ki1caGvMKCq/AQCcUVtrq7SukGpbVn6TpDt+82fdeeft2lL8nmbM+MLrrjleeeUVvf766xo+fLi6dOmiqqoq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v//p8ccf18yZMzVz5szsxxISEtSrVy999dVXiouLy94fHR0tKefqqyNJSUnJfv/cGjdurMaNG+fZN3HiRM2aNUv9+/dXRESEVqxYoeeff15t2rTRo48+qnnz5umzzz5TfHy8evToke/frVSpUnr++eeP+nifPn1OKvDct29f9nbuvw+K1s03Go0d55ZHXrAwTdWr+bpEAIAjoY1RsDbGQw8YzZtvtWWLNGDg3uz9tDEAAAAAAPllrdXUqW77fD9Y8lSif6C4j0G45DdpwUJp6zarhIr+cV4CAPwbyW8AApa1Vj/+5K5i6drFKCSEBvCpUqdOHX333XeaOHGili9froyMDNWtW1cdOnTQkCFDJEk1a9bMfr53SvAdO3Yc8f2Sk5O1f/9+lSxZUjExMcf87JSUFA0cOFDnnXeezj3XTeP1zTffqESJEnrllVcUExOjCy64QCtXrtTXX39doMCzqK1atUqSdNpppyksjCr4VKlS2c2O88uv0uB3k/X6q74uEQDgaGhj5F9MjNGzz0gPPmI17vfVkmhjAAAAAAAKZu06adNmKTzcvyYYoH/gxATDGETFCkbNm1nNXyD9Pl668frjvgQAAJLfAASuOXOldeulEiWkTh19XZriJyoqSp06dVKnTp3y7J89e7YkqUWLFtn7qlWrpoiICO3Zs0fbt29XhQoV8rxm5cqVklxAezyff/659uzZo0ceeSR737p161SjRo08QWuDBg00f/58JSUlKT4+vuC/YBH4/fffJUktW7b0cUmKn5tuMBo9xmr6zDQtXGTUtAnJsgDgrwKpjXG8DvOi1ryZUfdrrb75yrUxGjducZxXAAAAAACQY+o0d9uyhRQd7V99pvQPFFywjEFceonR/AVWY8dZ3XBdYC7hCgA4tfK/CDkA+JkfsmZ963ipm/kCvjdv3jytXLlStWrVUtOmTbP3R0VFZQdbEydOPOx13n3eq6iOZuPGjfr66691ww03qEqVKnke805ZfrT7vjZ37lyNHz9exhhde+21vi5OsVOpktHlWX0kn35mfVsYAECB0cY4utYt5stmTpBk5Enr5uviAAAAAAACyJRprq/0PD9Z8vR46B84umAag7iwrRQZ6SbAWLrM16UBAAQCkt8ABKQtW6ymTXfbXbsERlAWTFatWqX09PQ8+1asWKEXXnhBxhg99thjh72mV69ekqQhQ4Zow4YN2fsXL16sESNGKCYmRldcccUxP/ett95S2bJldeONN+bZX6tWLa1duzb76q2kpCRNnTpVCQkJPr/iyuPxaNiwYXrssceUkZGh2267TbVr1/ZpmYqrm24wCguT5s6T5i8gAQ4A/BFtjPzztjGefvoxSRkyobdq0pTaWrKUOg4AAAAAcHw7d1ktX+62zzvHt2U5FP0D+ReMYxCxsUYXXei2R46inwMAcHwsewogIP30s5W1UquWUo3qJL+dam+99ZbWrVununXrqnTp0tqyZYuWLl0qY4yeeuqpI06pfeaZZ6pHjx76/vvvddNNN+nMM89UWlqaZs2aJWutXnzxRZUqVeqonzlt2jRNmzZNr732mqKiovI8dv3112vcuHG677771LJlS61atUrbtm3TU089Vei/+7GMHDlS8+bNk+QCzl27dmnFihVKSUlRRESE7r//fl1//fWntEzIkVDRqOs1Efp+qEefDLEa9DbfHQDgb2hjHFl+2hjrN/bSb2Ok/m9ZffS+FBZGPQcAAAAAODrvBAP160vlyvlXDEn/wJEVpzGIKzob/TbWasJE6cH7rGJj/escBQD4F5LfAASc5GSrX351292uobHrCx07dtSYMWO0evVq7d+/X/Hx8br44ot1ww036PTTTz/q6x555BHVrVtXw4cP16xZsxQWFqbWrVvrlltuUbNmzY76utTUVL311ls666yz1LZt28Mer1u3rl577TV98MEHmjZtmsqWLat7771XXbp0KYxfN98WLVqkRYsWyRijEiVKKC4uTi1btlTz5s3VqVMnlSlT5pSWB4e7644S+uFHjxYslBYusmrahO8QAPAntDGOLD9tjD17raZOs1r9t/TTz9K1XU9pEQEAAAAAAWaqd8nTc/yvj5T+gSMrTmMQjRtJNWpI69ZJ48ZL11zt4wIBAPyasdb6ZK7QPXv2FOr7xcfHF/p7IjBxLgS/H0dYvTnAqkpl6ZsvjUJDjxyYcS7Ai3MBXvHx8Xr62V36ZZR09lnSG6+yAnxxxfdC8RMfH+/rIvj8nOO8938ne4x+/sXqjf5W0dHSt18alS3rfwMYwYD/Jf/HMQoMHCf/xzEKDBwn/+erY1SUMRDnXPDiO6X4SEqyuuJqq9Q06YtPjWrVyokfOQ/g5etzYehwq4GDrOrUloZ8bGQM/Ry+4OvzAP6B8wBevjgX8hPbMOILIKBkZloNHeZydq/tdvTENwA4mht6GYWESDNmSqtW++QaAAAAisQVl0v160kHD0offUIdBwAAAAA4sukzpdQ06bTTpJo1fV0a4Mg6dpAiwqW/10grVvq6NAAAf0byG4CAMn2GtHGTFBsjdero69IACERVqhi1v8htf/k1iQEAgOAREmL00APu4pBffyPJGwAAAABwZH9OcvHihW3FbFrwW3FxRhdmrUL780j6OAAAR0fyG4CA8t1Q17i98kopOpqADMCJufE69/3x5yRpwwaCZgBA8GjU0Oji9pK10sBBVtZSzwEAAAAAchw8aDVjpttu15ZxFvi3K69w5+jvE6TERPo4AABHRvIbgICxcpXVgoVSaKjUrQsBGYATV6uW0fnnusSAr74hYAYABJfedxtFRkoLFrpEbwAAAAAAvGbOklJTpcqVpbp1fF0a4NiaNpFq15Y8HumXX31dGgCAvyL5DUDAGDrMJai0u1CqUIHkNwAn54br3ffI2N+lrVtJgAMABI+KFYyu6+m2333fyuOhngMAAAAAOCx5ikBijFH3bu48/eEnq/R0+jgAAIcj+Q1AQNixw2r8RLfd81qCMQAnr2EDo5YtpIwM6ZvvCJgBAMHlup5G5ctJW7ZKQ4f7ujQAAAAAAH+QkmI1Y4bbZslTBIqLL5JKl5a2b5emTPV1aQAA/ojkNwAB4ccRVhkZbnrjevUIyAAUjptvdN8no36Vdu8mAQ4AEDxKlDDqfber57740mrnLuo5AAAAACju/potJadIFStK9c7wdWmA/ImMNLrqCrc9dDj9GwCAw5H8BsDvJSdbjRjptnsw6xuAQtS8mdSgvpSaJv30M0EzACC4XHKx1LCBG9j48CPqOQAAAAAo7ljyFIGqy1VGoaHS4iXSipX0cQAA8iL5DYDf+2WUtH+/VKWydO45vi4NgGBijFHPHq6T56cRksdD0AwACB7GGD14v6vnRo+hcxgAAAAAijOPx2radLfNkqcINOXKGbVv57aH/UD/BgAgL5LfAPi1tDSr74a6RmyvnkahoQRkAArXBedJCRWlvfukMeN8XRoAAApXwwZGl17itt9+x8paOogBAAAAoDiaPVc6eFAqX86thgEEmmu7uTHCCROlnbvo3wAA5CD5DYBfGzde2r5DKltGuuxSX5cGQDAKCzPqnhU0Dx1mlZlJ0AwACC5332kUFeWWBpn4h69LAwAAAADwBe+Sp23bSiEhTDSAwFO/nlGjhlJ6uvTzSPrxAQA5SH4D4LcyMqy+/sY1Xnt0N4qMJBgDUDQu7yTFxEjrN0gz//J1aQAAKFwVKhhd38u1pd/9wLLMNwAAAAAUM2lpVlOnum2WPEUg887+NmKk6N8AAGQj+Q2A35oyVdrwrxQbK119pa9LAyCYxcQYXdnZbX8/jIAZABB8evWQKlSQtm2Tvv3e16UBAAAAAJxKc+dJB5LcKjuNGvq6NMCJa3u+69/Ys0caP9HXpQEA+AuS3wD4JWutvsqa9a1rFyk6miuRABStrtcYhYa4jqDVq0mAAwAEl6goo3vvdm3qr76x2rGDug4AAAAAigvvkqfnny+FhjLegsAVFmbUtYs7h4cOt7KW/g0AAMlvAPzUnLnSipVSZKTUrSuBGICil1DRqF07t/0ds78BAIJQ+4ukxo2klBRpwDt0EAMAAABAcZCebjWZJU8RRK7oLEVFSWvWSPPm+7o0AAB/QPIbAL/knfXtisul+NIEYwBOjZ7Xuu+b8RPEjDgAgKBjjNEjDxmFhkqTJku/jvZ1iQAAAAAARW3+AikxUSpdSmraxNelAU5eXEmjyzq67e+5kB0AIJLfAPihZcut5s6TQkOlnj1IfANw6tSrZ9SsqZSRIf3wE0EzACD4nF7X6K47XBt7wDtW69dT3wEAAABAMPsj15KnYWGMuSA4XJu1atT0GdKGf+nbAIDijuQ3AH7nsy9cI7XDxW4ZQgA4lXpkzf42YqR08CBBMwAg+PTqIbVs4ZY/famvVWoq9R0AAAAABKP0dKs/J7ntiy5kvAXBo9ppRuec7baH/0C/BgAUdyS/AfArK1ZaTZ8hhYRIN91IIAbg1Dv3HKlqFenAAem3Mb4uDQAAhS8kxOj//mNUKk5atVoa/B6dxAAAAAAQjGbPcUuexsdLzZv5ujRA4fJeyD56jJS4n74NACjOSH4D4Fe8s75d0l46rSrJbwBOvZAQo+5ZQfPQ4VYZGQTNAIDgU66c0bPPuPruh5+kcb9T3wEAAABAsBk/0cV6F13IkqcIPi2aS7Vru5ntfxnl69IAAHyJ5DcAfmPVaqup09ysbzcz6xsAH7rsUqlkSWnTZmn6DF+XBgCAonHO2Ua33OS2X/uf1d9rSIADAAAAgGDh8VhNnuK2L27PmAuCjzFG3btlXdj3o1V6Ov0aAFBckfwGwG8M+dw1SttfJFWrRiAGwHdKlDC66gq3/f0wAmYAQPC69WajM1tLHo/03PNWBw5Q7wEAAABAMJg+Q0pOlipWlBo28HVpgKJx8UVuWd/tO6RJk31dGgCAr5D8BsAvrFptNWWqZAyzvgHwD9dcbRQaKi1Y6L6jAAAIRqGhRi88Z5RQUdq4SXq9v5W11HsAAAAAEOgmTMyZcCAkhHEXBKfISKMuV7nzmwvZAaD4IvkNgF/44KOcIKxGdYIwAL5XoYJRuwvdNkEzACCYlSpl1OdFl/Q98Q9p1K++LhEAAAAA4GQkJVlNn+G2L76IMRcEty5XSeHh0rLl0pKl9OUDQHFE8hsAn5s33+qvWVJoqHTHrQRhAPxHj2vdd9KEidLOXQTNAIDg1aC+0V13uHpv4GCrLVuo9wAAAAAgUE2ZJqWmSdVOk+rW8XVpgKIVH290ycVumwvZAaB4IvkNgE9Za/X+h64hekVnqWpVkt8A+I/69YwaN5LS06WfRhA0AwCCW68eUpPGUnKy9OobVpmZ1H0AAAAAEIjGT3Dx3MXtjYxh3AXBr3s3d55PniLt3El/BgAUNyS/AfCpKVPdNMRRUdItNxGAAfA/3tnffh4peTwEzQCA4BUSYvSfp4wiI6W586QJf/i6RAAAAACAgtq712r2HLd98UW+LQtwqtSpbdS0iZSRIf38C/34AFDckPwGwGcyMqw+/Ng1QK/tJpUrS/IbAP9z/nlSpQRp7z5p7O++Lg0AAEWralWjG6937fIPPrQkfgMAAABAgPlzsksAOr2uVK0a4y4oPq652p3vI0dJ6en0ZwBAcULyGwCfGTNOWrdeKllSuq4HARgA/xQaatStq/uOGjrcylqCZgBAcOvZXSpfTtq6TRr2g69LAwAAAAAoCO+Sp+0vYtwFxcsF50tl4qVdu6RJU3xdGgDAqUTyGwCf8HisPhniArAbrzcqWZIgDID/6txJio6W1q2TZs32dWkAAChaUVFGd93p2udffm21Zy+J3wAAAAAQCLZus1qw0G23b+fbsgCnWni40ZVXuO2fRtCXAQDFCclvAHzixxHS9u1uRomuXXxdGgA4tpgYo8svc9vfDyNoBgAEv0svkU4/XUpKkj79jLoPAAAAAALB7+PdbbOmUkICkw6g+LnqCqPQEGnBQmnNP/RnAEBxQfIbgFNu716rz79wDc7bbzWKjCQAA+D/unU1MsbN/LZ2HUEzACC4hYQY3d/btdNHjpS2bKHuAwAAAAB/Zq3V2HEuduvYgXEXFE/lyxudf57bZvY3ACg+SH4DcMp98pnVgSSpTm3pso6+Lg0A5E+VyjlB87AfCJoBAMGvRXOj1q2kjEzp2++p+wAAAADAn61cJa1bL0VESBe29XVpAN+5potL/hw7TjpwgP4MACgOSH4DcEr9s9bq55Fu+8H7jUJDufoIQODoca37zhoz1s1iCQBAsLvxelf3jfpV2rWLug8AAAAA/JV31rfzzpViYxl7QfHVvJlUo4aUnCKNGefr0gAATgWS3wCcMtZaDXrXKjNTOv88N5MEAASSJo2lM06XUlOln3/xdWkAACh6zZtJDRtIqWnS0OEkvwEAAACAP0pPtxo/0W1fegljLyjejDHqcpX7P/hphJW19GcAQLAj+Q3AKTN9hjRrthQWJt13D8EXgMBjjMme/e3HEVZpaQTNAIDgZozRjTdkdRj/LCXup+4DAAAAAH8ze460Z49UurTU5kxflwbwvY4dpBIlpPUbpLnzfF0aAEBRI/kNwCmRkmI1YKAbKOveTapaleQ3AIGp3YVSuXLSrl3ShD98XRoAAIreOWdJtWtJBw9KP/7k69IAAAAAAA41JmvJ04svksLCGH8BYmKMOl7qtn8cwYV8ABDsSH4DcEp8+bXVlq1ShfLSLTcReAEIXOHhRtdc7b7Hhg5jynQAQPALCTG64XpX9w0bbpWSQt0HAAAAAP4icb/VlCluu2MHxl8AL+/Sp1OnSdu205cBAMGM5DcARW7DBqtvvnPbDz1gFB1N8AUgsF11hRQZKa1aLS1c5OvSAABQ9Nq1lSolSPsSpTFjfV0aAAAAAIDX7+Ol1DQ3Y/cZZ/i6NID/qFXTqHkzKTNT+nkkyW8AEMxIfgNQpKy16j/AKi1NOquNdMH5vi4RAJy8UqWMOnZw298PI2gGAAS/sDCj7te6i1i+G2aVkUH9BwAAAAD+4NffXHx2eScjY5h8AMitS9YqLr/8KqWl0ZcBAMGK5DcARWrCRGnuPCkiQnrkIQIvAMGje7ecKdM3bSJoBgAEv8svk2JjpY0bpWnTfV0aAAAAAMDq1VarVklhYVKHi31dGsD/XHCeVLastGePNGmyr0sDACgqJL8BKDIHDli9M9glhNx0g1GVyiS+AQge1asbndVGslYa9iPJbwCA4BcdbdTlKrf97ffUfQAAAADga95Z384/TypdmjEY4FBhYUZXdnbbP/1MXwYABCuS3wAUmQ8/ttq1W6paVbqup69LAwCFr0fW8m+/jnYJvwAABLuu1xiFhUmLl0hLllL3AQAAAICveDxWY3932507kfgGHM2VnY1CQ6SFi6Q1/9CXAQDBiOQ3AEVizlyrH0e47ccfMYqIIPACEHxatZRq1pCSk6VffvV1aQAAKHrlyhp1uMRtf8fsbwAAAADgM1OnSfv3SxUquH5KAEdWvrzR+ee5bWZ/A4DgRPIbgEJ34IBVv9dd4/Hqq6RWLUl8AxCcjDHq3s19xw3/0So9ncAZABD8enZ3dd+kKdKmTdR9AAAAAOALI0e5eKxTRyk0lHEY4Fi6XO3+R8aOk5KS6MsAgGBD8huAQvfOu1bbtkmVK0v33k3ABSC4dbhEKl1a2rZN+nOSr0sDAEDRq1XT6Kw2krXS98PoMAYAAACAU23dequ586SQEKnz5YzDAMfTorlUvZpbxWXMOF+XBgBQ2Eh+A1Copk23+nW0ZIz07NNG0dEEXQCCW2SkUbdr3HfdV99YWUsSAAAg+PXq4eq+X3+T9u2j7gMAAACAU2nESBeHnXu2lFCRcRjgeIwx2bO//fQz/fgAEGxIfgNQaPbts3r9f66x2ONaqWkTAi4AxcM1V0sloqS/10h/zfJ1aQAAKHotmkun15U8Humnn31dGgAAAAAoPpKTrcaMcdtXX8U4DJBfHTtIUVHSunXSgoW+Lg0AoDCR/AagUFhr1X+A1a7dUo3q0p23E3ABKD7i4oyuvNJtf/UNV4wBAIKfMUY9s2Z/++EnK4+H+g8AAAAAToXxE6QDSVKVylLrVr4uDRA4YmONOlzitn/4iX4MAAgmJL8BKBS//iZN/EMKDZGefcYoMpLkNwDFS49uRmFh7oqxJUsJnAEAwe+iC6UKFaQ9e6Rxv/u6NAAAAAAQ/Ky1+nGE63u8+iqjkBDGYoCCuCZr6dPJU6QtW+jHB4BgQfIbgJO2br3VgIGugXjH7Ub16xFsASh+KlQw6tjBbTP7GwCgOAgLM+rezbX9vxtqlZlJ/QcAAAAARWnpMmn131JEhNSpo69LAwSeOrWNWrWUMjOlocPpxwCAYEHyG4CT4vFYvdDHKiVFatVSur6Xr0sEAL5zXU8jY6Sp06R/1hI4AwCC3xWXSzEx0voN0oyZvi4NAAAAAAS3YT+4Psf27aRSpZiIADgRvXq4/51Ro6X9++nHB4BgQPIbgJMy6D2rNWuk+Hjp//7DFNsAirdq1Yzanu+2v/6WoBkAEPxiYoyuusJtfzeUug8AAAAAisrWbVZ//um2vbNwAyi4M1tLtWpKycnSyFG+Lg0AoDCQ/AbghE2abPXTCLf93DNGZcsSbAHADde578Lx46WtW0kCAAAEv27XGIWGSvMXSCtWUPcBAAAAQFEY/oNVRqbUsoVUty7jMcCJMsaoR3f3PzT8B6u0NPoyACDQkfwG4IRs2mzV73XXGLyul9TmTAItAJCkevWMWrWUMjKZAQcAUDxUqGB0cXu3/S11HwAAAAAUuqQkq19+dds9uzMeA5ysS9pLZctIO3ZKE/7wdWkAACeL5DcABXbwoNXT/7E6cEBq2EC663YCLQDIzTv72y+/Snv2kgQAAAh+3sGXP/+Utmyh7gMAAACAwvTraCkpSapeTWpzpq9LAwS+iAijrte4vowvvrRKT6cvAwACGclvAAokM9Pq5f9arV0nlS0rvdLHKCyM5DcAyK1lC6neGZLH46ZNBwAg2NWtY9S6lZv5dBh1HwAAAAAUmvR0q6HDXZzV/VqjkBDGZIDC0LWLVCpO2vCv9Pt4X5cGAHAySH4DUCBDPreaMlUKD3eJb+XKEWQBwKGMMdmzv/3wo7R/P0kAAIDg16tH1syno6RE6j4AAAAAKBR/TpK2bnNJOh07+Lo0QPCIiTG6Pqsf/9PPrNLS6MsAgEBF8huAfJs02WrI5277iUeNGjUk8Q0AjuaC86UaNaQDSdLwH31dGgAAil7rVlLtWlJyijTyF1+XBgAAAAACX2am1RdfuYScbl2NIiMZlwEK0zVXS2XipS1b3fLCAIDARPIbgHz5e41V3/9mTavdTep0GQEWABxLSIjRrTe578rvh1lmfwMABD1jjHpmzf427AeumAYAAACAkzVtuvTPWik6Wup6ja9LAwSfqCijm250fRmffWnl8dCXAQCBiOQ3AMe1fbvVE09ZJadILVtI995D4hsA5MeFbbNmfzvA7G8AgOLh4oukcuWkXbuk8RN8XRoAAAAACFzWWn3+pUvE6dpFiivJ2AxQFK7sLFWoIO3cKQ37wdelAQCcCJLfABzTgQNWjz9ltWOnS+B4+SWjsDACLADIj9BQZn8DABQv4eFG13Z1dd+331tZS90HAAAAACdi9hxpxUopMlLqfi3jMkBRiYgwuvM29z/2+RdW27bTlwEAgYbkNwBHlZpq9ezzVv+slcqWkf73quHKIgAoIGZ/AwAUN1d2lkqUcEvzzJrt69IAAAAAQGDyzvp21RVSfGnGZoCidGkHqXEjKTlFemcQyW8AEGhIfgNwROnpVi/0sZo7zw1cvfGaUUICwRUAFBSzvwEAipuSJY2u7Oy2v/2eeg8AAAAACmrOXKuFi6TwcKlXD8ZmgKIWEmL06MNGoSHSn5OlCX/QnwEAgYTkNwCHyciwevkVqylTpYhw6b8vG51el+AKAE4Us78BAIqba7u6DuM5c6XVq+kwBgAAAID8stbqg49zZn0rX57xGeBUqFvH6MYb3Pabb1nt3EV/BgAECpLfAOSRmWnV73WrCX9IYWFS3z5GrVsRWAHAyWD2NwBAcZOQYNSundv+bij1HgAAAADk1+Sp0vLlUoko6aYbGJ8BTqWbbzSqW0falyi92McqPZ0+DQAIBCS/AchmrdUbb1qNGSuFhkgvPW90ztkEVgBQGC5sK9Ws4WZ/++obAmYAQPDr2d3FEuMnStu2U/cBAAAAwPFkZFh9lDXr27XdpDJlGKMBTqXwcKOXnjeKjpYWLJTefZ/+DAAIBCS/AZDkAqrX+1v9MkoyRnruWaO2FxBUAUBhCQ01uucu9706bLi0dRtBMwAguNU7w6hFcykjQxr+A/UeAAAAABzP2HHSuvVSXJx0XU/GaABfqFbN6Jkn3f/f0OFuNRcAgH8j+Q2A0tKsXnw5J/HtmSeNLmlPUAUAhe2cs6VmTaXUNOnjTwmYAQDBr1cPF1f8/Iu0bx91HwAAAAAcjcdj9clnLm664Tqj2FjGaQBfaXdhzsXs7wy2GjqcPg0A8GckvwHFXHKy1VP/sfrjTyksTHrpBaNOlxFQAUBRMMbovt7uO3bsOGn1agJmAEBwa3OmVKe2dPCg9MXX1HsAAAAAcDTffi9t2yZVKC917eLr0gC4vpd0XU+3PXCQ1TvvZio9nb4NAPBHJL8BxVhiotUjj1vNmi1FRUmv9zO66EIS3wCgKNWvZ9T+IslaafD7VtYSLAMAgldIiFHvu12M8eNP0uYt1HsAAAAAcKht262+zLpg6N57jCIjGasBfM0Y16dxx23u//H7odJ9D1qtX0/fBgD4G5LfgGLq341W9z5gtWSpVLKkNKC/0ZmtCaYA4FS4+06jsDBpzlxp1mxflwYAgKJ1ZmupZQspLU0aMJDEbwAAAAA41LvvW3k8UpPGUvuLfF0aAF7GGN1yk9ErfYxiYqSly6Rb7rAaMDBTO3fSvwEA/oLkN6AYmj3H6s57rNatl8qXkwa/bdSoIYlvAHCqVK5kspcuePd9q4wMgmQAQPAyxuihB1zi9/QZ0oSJvi4RAAAAAPiPhYusJkyUjJEeftDIGMZrAH/T9gKjzz81OquNu7hv+I9S915Wb72dqX830r8PAL5G8htQjFhrNXSY1WNPWh04IDVsIH30gVGtWgRSAHCq3XyjUWystOYf6bcxvi4NAABFq1ZNo5tucHFH/wFWG/49dsdwerrVxD+tnnshU126Zapj50z1uC5T/30tU0uW0qkMAAAAIDikp1u99baLcTpfLp1el/EawF8lVDR641WjAf2NmjSWUtOkH36Set1g9egTmZo6jQvdAcBXwnxdAACnRmqq1f/etBqdlWDRqaP0+KNGEREEUgDgC3FxRjffKA1+z+r9D60uuECKK8l3MgAgeN14vfTXLLdEyJNPW739llSxQt66LyXFxSzfDbXavDnv6w8ckDZtlkb/ZtXmTKuHHzQ6rSp1JwAAAIDANfxH6e81UsmS0l23E98A/s4Yo1YtpZYtpLnzpKHDrGb8Jc2aLc2abZVQUbrqSpfMGl+a/2kAOFVIfgOKgZ07rZ57wWrJUikkRLq/t9G13cTU2QDgY9d2lX79TVq3TvroE6vHHuZ7GQAQvMLDjfr1le7sbbVxk3TL7Va33OQ6jJOTpekzrH4ZJe3d555fKk668krprDON4ktLm7dIE/+0GjvOJdHdfKvVnXdIPa6VQkKoQwEAAAAElq3brD751M0S1ftuo/h44hogUHiT4Fq1NNq02ernkVajRktbt0kffGQ15DOpXTura642alCfMVkAKGokvwFBbvoMq/++arV3nxQbK/V5wejM1jSwAMAfhIUZPfqQ9OAjViN+li6/zKreGXxHAwCCV5kyRgPfkl54yWrFSumdwYcvB1KpktSzu9Hll0lRUTn1YrVq0lltjG663urNt61mzXYzqM78S3r2aalCBepQAAAAAIHj7XesklOkxo2kzp18XRoAJ6pKZaN77zG6/VarCROlH0e4Po+x46Sx46yaNZXu6y3Vr0e/BQAUlRBfFwBA0UhLs3rn3Uw9+YxLfKtbR/rofRLfAMDftGhudMnFkrXSmwOsMjMPTwIAACCYVKls9N4go0ceMmrcyM3wVrasdGFbqc+LRt9+adS1i8mT+JZb1apG/V83evxRo8hIt8zIzbdbTfyTOhQAAABAYJg6zWrKVCk0VHriUcNs1kAQiIw06nSZ0ccfhOjD94w6XipFhEsLFkp33mP14suZ2rqNvgsAKArM/AYEoY0brV7oY7VylbvfravU+y6jyEiCJwDwR/fdYzRtutWy5dKIkdI1V/u6RAAAFK3wcKOuXaSuXU4sRjHG6OorpRbNpD6vuCuqn3/RatJFVg/eZ1S2LLEPAAAAAP+UuN/qjTddAkzP7lKtWsQvQLBpUN+oQX2jO2+3+ugTq7HjpPETpGnTrG6/Tep2jVsZBgBQOJj5DQgy4363uvVOl/gWFye9+orRww+EkPgGAH6sXDmju+5w39PvfWC1dStXfwEAkB/Vqhm9P9jophukkBBpwkSp5/VWg97N1M5d1KcAAAAA/M/bA6127ZJOO0267RbGboBgVrGC0XPPhOiTD93s98kp0qB3re68x2rVavotAKCwkPwGBImkJKuXX8lUn1eskpOlZk2lzz42Ou9cAicACATXXC0X/CZLr/e3spbAFwCA/AgLM7rrDrekSP16riP5u6HStT2t+r2eqSVLqVcBAAAA+IfJU6zG/u4u3nn2aVbsAYqL0+saDR5o9NTjRiVLSqv/dkuhfvaFVXo6fRYAcLJIfgOCwJKlVrfckRMw3XaL0dtvGlWoQNAEAIEiJMTomSeNIsKlWbOl38b4ukQAAASWemcYffie0Ruvuaup09KkX0dL99xndeOtVt8Ntdqzlw5lAAAAAL6xd2/Ocqe9ekiNGjKGAxQnISFGV3Q2+uYLo7YXSBkZ0sefWvV+wGrDBvorAOBkkPwGBLCMDHdFwH0PWG3ZIlVKkAYPNLrtFqPQUIImAAg01aoZ3X6b+/4eOMhq23YCXgAACsIYo7PbGL03KETvDTK67FIpMlJat84tK9Klm9VzL7jZ4AAAAADgVLHW6vX+Vnv2SDVqsNwpUJzFxxv1fcno//5jFBsjLV8u3Xqn1fAfrTIz6a8AgBNB8hsQoLZus3rwEauPP7XKyJQuuVga8rFR40YETAAQyHpcK9WvJx1Ikl5+xSojg2AXAIAT0biR0bPPhOjnH4wef9So3hlSerr05yQ3G9xjT2Zq3XrqWQAAAABFb+QoafIUKSxMeu4ZljsFijtjjC7tYPT5EKPWrSSPRxow0OqRx7koHgBOBMlvQACa8IfVLbdZLVwkRUdL//cfoxeeC1FsLMESAAS6sDCj558zKhElLVgoff2tr0sEAEBgi401uvpKo48/CNGQj40u7ySFhkp/zZJuvs3q8y9JNgcAAABQdNausxo4yMUcd91hVO8MxnIAOBUrGL35htGjDxtFRkpz57m+igkT6acAgIII83UBAOSfx2P19iCrkb+4+w0bSM8/Z1Sl8rEDpUWLFmnIkCFaunSp0tLSVLNmTXXt2lWXX375SZepb9++GjVqlCTp448/VqNGjQ57TkZGhn766SeNHj1a69atU2pqqsqVK6dWrVrppptuUrVq1U66HABwqmVkZOiPP/7QsmXLtHTpUq1cuVIpKSnq0qWLnnrqqWO+dv/+/fr44481adIk7dq1S2XLltUFF1ygO++8UyVLltRpVY0efVh65VWrTz61atlCatiATjHAX3g8Hn3wwQf69ddftXnzZpUqVUrnn3++HnroISUkJOT7ffbv36/p06dr2rRpWrVqlbZu3aqQkBDVqFFDl156qbp27aqwsLwhW3p6uubOnaspU6Zo8eLF2rJlizwejxISEnTuuefqxhtvVHx8fGH/ysAp16dPH40ePfq4zxsxYkS+/+88Ho+mTf1WSxeNl9I3KiMtU+m2gt5//yxNn36z+rxUThUrUN8CAAAAxcW6des0efJkzZo1S//++692796tkiVLqnHjxurVq5eaNWtWoPcbNWqU+vbte9THy5Zrr57dj/44AP9wMn3/uW3YsEE33nijPB6PzjrrLA0YMOCIzzPG6JqrpVYtpZf/a7V8ufRCH6vpM6weecgw+QkA5APJb0CA2LjR6v9etFr9t2SMdNMN0q03G4WFHbvB8+eff+rZZ59VZmammjVrptKlS2vOnDl6+eWXtXr1aj388MMnXKa5c+dq1KhRMsbI2iNfgWCt1dNPP60pU6aoRIkSatq0qaKjo7Vq1SqNGjVKEydO1ODBg1W/fv0TLgcA+MLBgwf13HPPFfh1+/bt0x133KF///1XVapU0QUXXKC1a9dq6NChmj59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IHcUvwGAF6pVq5bKly8vSUpNTdWpU6e0bNkyLVu2TBMmTFDv3r31+uuvKyQkxOZIr+6HH36QJH344Yfq3bt3ln2lS5dW7dq1KYYDAAAAXOTSXOPMmTPau3evpkyZounTp+ujjz7KceaB/AoNDVXt2rVVunTpAj9W9erVFRAQIH9//wI/VlE6ceKEFi9e7Px52rRpGjp0qI0RAQAAAJDIgYpCWFiYwsLCrrjfDnPmzNHUqVMVHh5O8RsAuBmK3wDACz322GMaMGBAlttOnDih3377TZ988olmzZqlHTt2aNKkSYWSTBWl3bt3S5K6du2abd/111+v66+/3tUhAQAAAF7r8lzj2LFj+r//+z8tW7ZMzz//vObNm6dSpUoV6DmeeeYZPfPMMwUNVZL0zTffFMrjFLUZM2YoPT1dZcqUUWJioqZNm6annnpKhmHYHRoAAADg1ciBCt9tt91my8xuAADP5WN3AAAA91C+fHndf//9mjx5skJDQ7V79269+eabdod1VSkpKZKkEiVK2BwJAAAAgMtVrFhR7777rgICApwzTiP/fv31V0nSsGHDVLZsWcXFxWn16tU2RwUAAADgcuRAAAC4HsVvAIAswsPD9dprr0myltJJSEjIst80Tc2YMUMPPvig2rZtq8aNG+u6667TyJEjdfTo0Vwf99SpU/rggw/Ut29fNW/eXC1atNAdd9yhSZMmKTMzM9vxI0aMUFRUlKZMmaIDBw5oxIgR6ty5sxo2bKixY8eqR48eioqKch4fFRXl/DdlyhRJ0pQpUxQVFaURI0YUSkxX8+eff+quu+5S8+bN1bZtWz322GPauHFjvh8HAAAAKE5CQ0NVq1YtSdLevXtzPGbXrl166qmn1LZtWzVt2lQDBgzQzJkzczz20lyhoBx5RVxcXJbbBw8erKioKMXExGjDhg169NFH1aZNGzVv3lx33XWX5syZk+Pjpaen65tvvtHAgQPVokULNW7cWJ06ddJdd92lMWPGKDExMd8x7t69Wxs3bpS/v7/69eun3r17S7Lytdxceo4OHz6s559/Xp06dVKTJk3Up08fff/997neNz09XZ9//rluuOEGNWnSRJ07d9ZLL72kY8eOXTXWBQsW6OGHH3bmij169NBrr72WLa88ffq0GjdurIYNG17xcZ988klFRUXp22+/zbZv8eLFevzxx9WhQwc1btxYXbp00fPPP6/9+/dnOzYuLk5RUVHOJacmTZqk2267TS1atMiSVwIAAACFgRyoYDlQfnz88ceKiopS3759lZqamm3/L7/8oqioKHXq1EknT57Msu/QoUMaOXKkevfuraZNm6pVq1YaPHiw/vjjjyzHOfKJqVOnSpKef/75LGNSY8eOzXJ8enq6fvjhB919991q1aqVmjRpohtuuEEffPCBkpKSssV46VhWcnKy3n//ffXu3VtNmjTR4MGDC3qKAMArUPwGAMimR48eqlSpktLT07VkyRLn7WlpaRo2bJj++c9/atmyZQoICFDdunV1/Phxfffdd7r11lu1Z8+ebI+3Y8cO9e/fXxMmTNDevXsVHh6uihUrasOGDXr55Zc1bNgwmaaZYyx79uzRgAEDNGPGDIWGhqpmzZoyDEONGzdWdHS087jo6GjnvwoVKlz1NRYkppx8/vnnGjJkiNauXavg4GCFh4drxYoVGjRoEDMyAAAAwOtdqW+9efNmDRw4UEuWLFF4eLhKlSqlzZs36+mnn3bOeGaXVatWadCgQVq5cqWqV6+u4OBgrV27Vv/4xz/01VdfZTv+n//8p958801t3LhRFStWVP369eXn56cNGzZo/Pjxio+Pz3cMjnPQpUsXlSlTRv369ZMk/f777zp//vwV73vw4EHddtttmjFjhipVqqRy5cpp586d+te//qVPPvkk2/EZGRkaMmSIRo8erT179qhq1aoqX768pkyZottvv12nTp3K9bnee+89PfbYY1qyZIlKlCihyMhInThxQj/88INuvvnmLBcGlS1bVp06dVJGRoZ+//33HB8vKSlJCxculK+vr2688cYs+9544w098sgjmj9/viSpXr16Onv2rKZMmaJbb71Va9asyTXOV199VS+//LKOHz+uOnXqqEyZMlc6hQAAAMA1IQe69hwoPx577DG1aNFCO3bs0OjRo7Psi4uLc65w9MYbbygkJMS5b8WKFerbt6++++47HTp0SDVr1lRwcLBWrFihoUOH6p133nEeGxgYmGXsqVatWlnGpMLCwpzHJiUl6YEHHtBrr72mdevWqUyZMqpVq5bi4uI0YcIE3XHHHTp+/HiOryUlJUX33nuvPvvsM/n6+ioiIkIBAQGFdq4AoDjzszsAAID78fHxUYsWLTRr1ixt3LhRt99+uyRpzJgx+uOPP9SwYUO9+eabatCggSSrQ/7OO+9o4sSJevbZZzV58mTnYyUnJ+uJJ57Q4cOHNXjwYA0bNkzBwcGSpJ07d2rYsGGaNWuWJk6cqHvuuSdbLF9++aW6du2qt956S+XKlZMkpaamKjAwUJKcV+n/8MMPeX59BY3pclu2bNEHH3wgwzD08ssva9CgQTIMQ2fPntVLL72kjz/+OM+xAQAAAMXN0aNHtW/fPklSzZo1s+1///33deedd+q5555TYGCgTNPUe++9p88//1yjR49W37595evr6+qwJVmzCPTu3VsjR45UUFCQTNPUf//7X40cOVKjR49W+/btVb9+fUnSpk2bNGvWLIWFhenLL79U3bp1nY+TlJSk33//3ZnT5JVpmvrtt98kyVn01rp1a4WFhSkhIUHz5893zgSXkwkTJqhHjx4aOXKks8hr4sSJev311/XJJ5/onnvuyVL89f3332v+/PkqW7asPv74Y7Vq1UqSNWj097//XT/99FOOzzN//nx99tln8vPz01tvvaX+/fs7X/eIESP0559/aujQoZo5c6ZKlCjhfD3z58/XjBkzcpzN4M8//1Rqaqo6dOig0NBQ5+0//vijvv32W1WrVk1vvvmm2rZtK8kq3Pvss8/04Ycf6umnn9bs2bOdeaPDoUOHNG3aNH388ce67rrrJFn5LAAAAFCYyIGuPQfKL19fX7377ru6+eab9d1336l79+7q0KGDMjMzNXz4cJ09e1Z33323unbt6rzP4cOH9eSTTyopKUn//Oc/9eCDDzqLzNasWaNhw4bpP//5j9q0aaPu3bsrNDRUP/zwg0aMGKGpU6fqscce04ABA3KM55VXXtHKlSvVvn17/fvf/1b16tUlWbNfv/TSS5o9e7Zef/11jRkzJtt9Z8+ererVq2vGjBnOc5nTbHYAgOyY+Q0AkKMqVapIkk6cOOHcfv311woODtYnn3ziLHyTpBIlSujll19WkyZNtGnTJq1atcq5b/Lkydq/f7+uv/56vfTSS84iM0mKiIjQ6NGjZRhGjlcMSVL58uX13nvvZUmQLh/AyK+CxnS5r776ShkZGerdu7fuueceGYYhSSpVqpTefvttZhIAAACA1zp+/Liee+45nT9/XmXLllWHDh2yHVO3bl29+OKLzn6+YRgaOnSoQkNDdeTIEW3fvt3VYTuVLVtWb731loKCgpyxDR48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JF1cpmbHjh35eizHkp/5vV9RKsyYypQp47ziaffu3Tkek9vtAAAAANxbbn35Xbt2SbJmFggODs623zAMNWjQQPfdd5++/fZb55KeP//8c56e98SJE1qyZIkka4aFihUr5vivRIkSkqRp06bl+7VdzlE8l5CQoHPnzuV4TE7no0aNGvLx8dH58+d14MCBHO+3c+fOLM9xqX79+km6ONvb9OnTZZqmevbs6Xx9DtealwIAAADIG7tyoILas2ePRo0aJR8fH33yySeqVq2ali5dqv/+979ZjitdurQqVaok6WKekldXW8bVka84lj8FALgOxW8AgCzi4+P1r3/9S5J08803q3LlypKkrl27yt/fX4sWLdLevXvz/Hi9evWSJH377be2TtV9qcKOybEE0Y8//pht3/nz5zV58uQCPwcAAAAA1/vll190/vz5bLf/8MMPkqxlO/OiWbNmkqQjR47k6fjp06crPT1d4eHhWrp0aa7/XnjhBUmFU/xWp04dhYWFKSUlRf/73/+y7d+6davWrl2b7fZSpUqpRYsWkqTvvvsu2/6UlBTngJfj4qpLtWzZUlWrVtX+/fu1YcMGZxFcnz59sh3bqlUrhYSEaNu2bYqJicnX6wMAAABwdXblQAWRnp6u5557TufOndODDz6obt266Z133pGPj49Gjx6draDPMUb0zTff5Ot5AgMDJeW+FGrPnj0lWfnZyZMn8/syAAAFQPEbAECSNbPAt99+q9tuu01Hjx5VRESEnn/+eef+ypUr6/7771daWpoefvjhbAMNpmlqw4YNevXVV7Nc7X/nnXeqevXqiomJ0bPPPpst0Tl79qxmzpypt956q2hf4CUKO6YHHnhAPj4++v333/XDDz84C+qSk5P1/PPP6/Tp04X+GgAAAAAUvVOnTumFF15QcnKyJCvv+f777zV79mz5+vrqwQcfdB47bdo0jR8/XnFxcVke4+TJk86isCstX3opx5Kn/fv3v+LsAjfeeKMCAgJ04MABrV69Ol+v7XI+Pj564IEHJEkffvih1qxZ49wXHx+v4cOH57ok0N/+9jdJ1oDYb7/95rw9KSlJzz33nE6cOKHw8PAcC9oMw9BNN90kSRo7dqy2bt2qkJCQHAfVAgMD9dRTT0mShg4dqj///DPbBU2xsbEaNWpUgc8HAAAA4I3syoEK4pNPPtGGDRsUGRmpYcOGSbIunHnooYeUkpKi//u//1N6errz+L/97W8qV66cpk6dqrfeekuJiYlZHu/UqVP65Zdf9PHHH2e5vXr16pKkVatW5TixQpMmTXTjjTfq1KlTeuihh7Rly5Ys+zMyMhQTE6NnnnkmxwJDAMC187M7AACA63366afOK+/Pnz+vkydPKj4+3rn/hhtu0Ouvv55t6uqnn35aR44c0bRp03TfffcpNDRUYWFhzuVtzp49K0m67777nPcpVaqUPv30Uz366KOaPn26Zs6cqdq1ays4OFinT5/WgQMHlJGR4bwKyBUKO6bGjRtr2LBhev/99/Xaa6/p448/VqVKlbRnzx6lpaXpiSee0EcffVTErwoAAABAYXviiSf0ySefaN68eapdu7aOHDnivHjmn//8pxo0aOA89sSJExozZozGjBmjypUrq1KlSkpNTXXmBZUrV9bQoUOv+py7du3Spk2bJFnFb1dSpkwZde3aVX/++ad+/fVXtWzZsgCvVho8eLCWLVumhQsX6u6771adOnUUGBioHTt2qFKlSrrzzjuzLRskSd27d9ejjz6qzz77TM8++6zee+89VahQQbt371ZycrLKli2rDz/8MNsypg79+vXTF198oUWLFkmyclI/v5z/bDlo0CAlJCTos88+05AhQ1SuXDlVr15dmZmZio+P16lTpyRJbdu2LdC5AAAAALyRHTnQ5SZPnqxly5blur9169b65z//KUnasGGDJkyYIH9/f40aNUoBAQHO44YOHaolS5Zo06ZN+vjjj50X0lSpUkUff/yx/vGPf+jrr7/W999/r9q1a6tkyZI6ceKE4uLiZJqm8yIdh+uvv14ffPCBZsyYoXXr1iksLEw+Pj669dZbNWDAAEnSG2+8ocTERC1dulS33nqrqlatqtDQUJ07d0779+93zhr35ptv5vu8AAByR/EbAHihvXv3OpcuDQoKUpkyZdShQwc1bdpU/fv3V926dXO8n5+fn0aNGqW+fftq0qRJWr9+vbZu3aoyZcqoVq1aatGihXr37q3atWtnuV/dunX166+/auLEiZozZ4527dqlAwcOKDQ0VK1bt1bXrl2d00y7SmHH9Nhjj6lWrVr68ssvtX37dqWmpqpVq1Z68sknnVdIAQAAAPAsrVq10sSJEzV27FitW7dO58+fV/PmzfXII4/o+uuvz3Js7969lZaW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hqpXr+7RPQaCV1Ki0dln79aH792nSRMP/+MKCwv15ptvKiYmRgkJCUpJSVFRUZGWLFmiL774Qj/99JNefPFFpaSkVF7wAAAEoD9bT7rpppu0fuN5+vxL9/6nDXFHnYaFHfq1T9aTAN9xLGspxoRISlKpPU6NG2/T0qULjnotBQD8GcVvgAdatmypG2+8UQMHDlR4ePje27/66is98cQTev75FxQR3U1SS118kXT8gMMr0OjXr5+uuuqqSooaAI5MWFiYTjnlFLVp00apqanKycnRk08+eciPiYmJ0V//+ledddZZqlev3t7bV61apZtuuknz5s3TW2+9peuuu+6IYqlV0+g/T0s33GS1YqV0821Wz4/QQTtqAgAA4He9e/dW79691bhx431u37x5s2666SbNmjVL3377rc4880yVlFiNnyC9/6HVkqXu/cLCpMEnSxecb9SsqdGzz76r1atXq3///nr44YcVEREhSdq1a5duvfVWzZs3Tx9//DH5LeCRSy4M17dfD9buPW3Uq1cbHddr6Z/mchEREXr11VfVtm3bfQphS0pK9Nprr+mdd97RU089pTfffLOywwcAIKD8+XrSiwoJ7y4T0lLXXm104fk6rGNOWU8CfMexrqV8+Ekdff6FtGmbNGLEaj388NGvpQCAvwrxOgAgGD3//PM6+eST90lUJGn48OHq3LmHSktLVFjwi3r1lK68jMIMAP4pOjpaDzzwgM4991y1a9du76LmoVxyySW67rrr9il8k6RmzZrp+uuvlySNHj36qOJp1NDouRFG8bWl3GXSLbdb5e2wR/W5AAAAgknjxo33K3yTpPj4eF188cWSpJkzZ+m7760uvMTqgYdc4Vt0lPSXc6XPPjK66x8hatbU5bdz586VJF188cX7zBFjY2N1wQUXSJIyMzMr+V4BOJiaNWP07LMPKDT8HM2Y2U7ZOX+ey4WFhSktLW2/o5VCQ0N11VVXKTIyUosWLdKePXsqK2wAAALSwdaThg49Q/F1usvaEsn+ogfuM7roAnNYhW8AfMuxrqVcf41RmxRpxw7pldea6OqrXcHb0a6lAIA/ovgN8CHFxVZrfmstSYqN2aQH7jUKDSVRAQBJe9vwb9q06ag/R9MmRs/+x6hmTSlniXTbP6x27aIADgAA4GiVlrqXlqbPCNPjT7lj5mvESVdcZvTFp0Y3XB+i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wIEDB3T69Gn29yLKHTTecMMNGjduXL4DkRL7eEkp6va+GPZx53HmzBklJyfn+47pz7uGuXPn6pVXXtEVV1yh6dOnq0qVKoU+l++84uE7d17EsZDo+7oS4h3YHD16VJLs3z/feX70b1Fa2F8qLvrWuFz8XkOiT4+SQTxQfpTr5LfNmzfLNM088zIzMzVu3DjFxcWpa9euqly5smMa54KGDBkiSfrPf/6j9PR0+/y1a9dq1apV6tChg0sPMVsajh8/roMHD+abf/ToUb399tuSrDLgKJ5OnTqpbt26WrhwoXbt2mWfn5KSoo8//lgeHh4aOHCgA1voWv766y8lJSXlm79hwwZ9/vnn8vLyUp8+fRzQsorBMAwNHjxYqamp+uijj/Ismzx5sk6fPq3BgwfLMAwHtdC1pKSkaPfu3fnmnz59Wi+//LIkqV+/fmXdLKeTO2i87rrr9O677xaaiMU+fvmKs73Zx51HXFycYmNj883PyMjQ//3f/yk7O1tXX311nmX0553fnDlz8pwYrFq16kWfz3de8fCdOy/iWEj0fV0F8U7Fs2vXrgKH1ktMTNSHH34oSfa+Od95XvRvUZrYXyou+ta4XPxegz49ioN4wDkY5oXZZaVow4YNmjt3riTp1KlTWrFiherVq6d27dpJkq644go9+OCD9uf36tVLktSmTRvVqFFDycnJWr9+vfbv36/atWvriy++oDLFRRR3e0vSK6+8ojlz5qhhw4bq3r27Tp48qcWLF8vb21tff/21GjZsWOafw5lFRUXprrvuUrt27XTFFVcoKChIcXFx+u2335SamqqBAwdqzJgx/HO7BOvWrdP9998vT09P9e/fX/7+/vr5558VGxurkSNH6pFHHnF0E13GxIkT9b///U+dOnVSaGiovLy8tGfPHq1evVpubm564403NHjwYEc30+nMmTNHGzdulCTt2bNHO3fuVNu2be2Z/r1791bv3r0lSampqbrjjju0a9cudenSRc2aNdPu3bu1cuVKNWnSRLNmzZKvr6/DPoszKOr2jo2N1TXXXKPmzZsrPDxcVatW1dGjR7Vy5UolJiaqS5cu+uSTT+Tl5eXIj1PuTZw4UZMmTZKvr6/uvPNOeXh45HtO79691aRJE0ns45erONubfdx5LF26VE888YTat2+v+vXrKzg4WCdOnNDatWsVHx+vBg0a6Isv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rF27Ns+y9PR0tWjRQi1atFB6erp9vu35krRkyRINGzZM7du3V0REhGJjY/O874cffqj+/furdevWatOmjYYMGaLZs2crOzs7XztfeOEFRUREaP78+Tp69KhefPFFde3aVS1atFC/fv305ZdfXnS7bNu2TaNGjVKPHj3UvHlzde7cWUOHDtXUqVOVnJyc7/lHjhzR22+/rb59+6ply5Zq3769RowYoZ9++inP87KystSlSxdFRERo+/bthb7/2LFjFRERoTFjxtjnTZw4scD471KZpqlFixbpnnvuUceOHdW8eXNdc801evvtt3X8+PESeQ8AAACgPDt06JAka3hRHx+fIr0mKipKERERio6OliTdeeedec7XzJ8/v9TaK0khISEKCwuTJB04cEBS8eO63J9jxIgRBS63nZcqiaFVU1NTNWnSJA0YMECtW7dWixYt1L17d40YMUJTpkxRRkbGZb8HAKB0MOwpAOCiZs2apTfffFOmaapq1aqKiIjQwYMH9d133+mnn37ShAkT1KNHD0mSt7e32rZtq5iYGJ08eVJhYWGqUqWKfV21atWyT58+fVoPP/ywNm3aJEkKDQ1VnTp1FB8fr59//lk7d+5U796987Vn586dmjhxogzDUFhYmOLj47Vz5049/fTTysjI0E033VSkzzV79my9/vrr8vPz0+TJk9WuXbt/fM0zzzyjJUuWSJLq1aunoKAgnThxQtu2bdPmzZt17bXXKjAwUJIVcN16661KSEiQj4+PGjRoIHd3d8XHx2vp0qWKjY1Vv379itRWAAAAoKKbM2eOxo8fr0qVKql69eoKDw/XqVOntH79eq1fv16bN2/WG2+8YX9+5cqV1ahRI+3Zs0d79uyxJ65J0vr16+3T0dHR6tSpk/3x1q1blZ6erg4dOsjLyytfO6ZMmaL3339f1apVU1hYmOLi4uzL9u7dq/vuu09Hjx6Vp6en6tevr/T0dG3btk1bt27VqlWrNH78eBmGkW+9hw8f1i233KKkpCQ1bNhQhmHor7/+0ptvvqmkpCQ98sgj+V4zdepUvf/++zJNU/7+/goPD1dycrJ27NihzZs3q2XLlurYsWOez/roo48qOTlZlSpVUv369ZWcnKzo6GhFR0fr3nvv1fPPPy9Jcnd31/XXX6+ZM2dq0aJFatGiRb73N03TfhFSacU2GRkZGjVqlD05r3r16qpZs6ZiYmI0c+ZM/fTTT5o5c6YaNGhQKu8PAAAAlAf+/v6SpJiYGCUlJdnPQ1xMQECA2rZtqz179iglJUXh4eH29UhS1apVS629NhdeiFTcuK4sZWZm6p577tGWLVvk5uam+vXry8/PT8eOHdOGDRsUHR2toUOHytPT0yHtAwBcHMlvAIBC7dq1S++8845M09Rzzz2ne++9V25ubkpPT9eYMWM0a9YsjRo1SosXL1b16tUVEhKir776Si+88IIWLFighx56SIMGDSpw3S+99JI2bdqkevXq6b333lOrVq3sy2JiYvTLL78U+LoPPvhAt912m0aPHi1vb2+Zpqn3339fU6dO1Xvvvaf+/fvL3d39op/r008/1bhx41SlShV9+umnatq06T9uix07dmjJkiWqVauWPv30U1155ZX2ZSkpKfrxxx9VuXJl+7zPP/9cCQkJGjhwoF599VX5+fnZl+3bt08bNmz4x/cEAAAAYImMjNT06dPVoUOHPP393bt365lnntHXX3+tfv36KTIy0r6sQ4cO2rNnj9avX58v+a1y5co6e/ZsnkQ4SfaqCB06dCiwHRMmTNBbb72lwYMHyzAMZWZmSrIqBDz66KM6evSoRowYoZEjR9pPLP31118aOXKklixZolmzZmnYsGH51vvJJ5+oV69eevvtt+0nsmbNmqU33nhD//3vfzVs2LA8J7iWLl2q9957T+7u7nruuec0fPhw+0mYs2fP6ocfflC1atXszz969KieeOIJpaSk6JlnntE999xjT+7btGmTRo4cqc8++0yRkZHq2bOnJKl///6aOXOmFi9erNGjR8vNLe8AEuvXr9fRo0dVv359tWzZssDtdbkmTJign376SU2bNtX//d//qUmTJpKkc+fO6d///rc9Jp03b16pvD8AAABQHnTp0kVubm5KTk7W3XffrYceekidO3dWQEBAoa9p2rSpvvrqK40YMULR0dF65ZVX8lwcU9qOHz+umJgYSVL9+vUlXVpcVxpmzpyZb96yZcu0ZcsWNW7cWJMnT1bNmjXty06dOqUffviBxDcAKMcY9hQAKogLhyC98GY7yZPbp59+qszMTF1zzTW6//777Sc7vLy89Nprr6lRo0ZKTk7WV199Vay2bNu2TUuXLpWXl5emTp2aJ/FNsgKh+++/v8DXXnnllXr55Zfl7e0tSTIMQ0899ZRCQkJ07Ngx/fnnnxd97/Hjx2vcuHGqWbOmvvjiiyIlvkmyB2l9+/bNk/gmWVddDR48OE9lO1sZ77vvvjtP4pvtM9x2221Fel8AAAAAUvv27XXVVVflu9ClcePGevXVVyVJP/zwQ77XSMoT65w6dUr79u1Thw4d1KpVK23dulVpaWn25bZkuMJOtgwdOlRDhgyxV2/z8PCQh4eH5s2bp4MHD+raa6/VK6+8kqeiQsOGDfXee+/JMAx9/vnnBa63cuXKGjt2bJ4EtzvuuEPNmjVTWlqaoqKi8jz/ww8/lCQ99thjuueee/KchPHx8dGQIUPyxC2ff/65EhMTddddd+mhhx7KU9Wubdu29uoK06ZNs89v3bq16tatq6NHjxZ48c7ChQsllV7Vt1OnTmnatGny9/fXf//7X3vimyRVqlRJr776qlq0aKEdO3ZwcREAAABcWoMGDfTUU09JskbHefLJJ9WhQwddd911evHFF7V48WKlp6c7uJXnnTx5UqNHj1Z6erqCgoLUuXNnSZcW15UV2zmgW265JU/imyRVqVJFd911V5GHnAUAlD0qvwFABXHhEKQXspW+zm316tWSpBEjRuR7vmEYGjFihF577TWtXr3aHngVxbJlyyRJ1157rcLCwor8OskKPC6sOODp6amIiAgdP35chw4dKjChzTRNvfPOO5oxY4bq1aunzz//XHXq1Cny+9qCnbVr1yoxMTFPlbeC2BLhlixZooiIiAKHNgIAAABQdCkpKVq8eLE2btyo48eP69y5czJN036SZ/fu3Xmeb0tgy50YtWHDBpmmqQ4dOuj06dOKjo7W1q1bFRkZqYyMDG3ZskWenp5q3bp1gW246aabCpz/888/S5IGDx5c4PLGjRsrNDRUhw4d0pEjR/KdTOnXr598fX3zva558+bauXOnDh06ZJ8XExOjv/76S56enrrrrrsKfL/itq9bt27y9PTU5s2blZmZKQ8PD3u7PvnkEy1cuDBPQmBmZqaWLFkiyaoQVxpWrFih9PR09erVK9/2kiQ3Nzf16NFD27dvV3R0tD3ZEQAAAHBFDz/8sFq3bq3PPvtMa9asUUZGhvbv36/9+/dr/vz5ql27tsaOHVum1d1sJk+erDlz5kiSkpOTdeDAAWVkZMjT01NvvfVWnouDihvXlRVbzLFixQoNHjyYRDcAcDIkvwFABXGxIUgl2Utf2yQlJenUqVOSlK/SmU3Dhg0lna9yVlR///23JOWr+FYU9erVK3B+1apVJVnDDRVk3Lhx2rlzpxo1aqTPPvtM1atXL9b7tmnTxl4ZokePHurcubM6dOigDh06qFmzZvmS24YNG6Zvv/1WH3/8sb777jt17dpV7du3V8eOHVWjRo1ivTcAAABQ0f3xxx966KGHdOzYsUKfc/r06TyPq1WrprCwMB04cED79u3TlVdeaY95IiMjlZiYKMmqDBcZGakdO3bo7NmzatOmTaEnOgqLjfbs2SPJqjT9ySefFPichIQESdYQpBcmcxUnztm3b58kKx7LfRKpMGfOnFFcXJwk2aspFCYtLU2JiYn2IVMHDBigTz75REuWLNGrr75qrzC3evVqJSYmqkmTJoVuk8tl26Zbt27V7bffXuBzTp48KcnapgAAAICru+qqq3TVVVfp3Llz2rFjh7Zu3aoVK1YoOjpahw8f1oMPPqj58+eXWh+9MAcOHLCfJ/L09FRISIjat2+ve++9N08F50uJ68pK7969FRoaqlWrVqlbt27q1q2b2rdvr8jISDVq1MghbQIAFB3JbwCAAuU+uWI74XIh2wmRM2fOFGvdtgpzuYf0KarCTkLZqsGZplngclvJ6tDQUAUHBxf7fd3c3DR16lRNmjRJ33//vZYtW2avYBcaGqrHH388T3JhkyZN9MUXX2jixIlat26dvvnmG33zzTcyDENdunTRSy+9VOYBKAAAAOCMsrKyNHLkSB07dkzdu3fXAw88oIYNGyowMFDu7u6KiYlRnz59lJmZme+1kZGROnDggNavX68rr7xS69evV2BgoCIiIpSeni5PT0/7UKe2+w4dOhTaloKqs0nnY5ydO3f+4+c5d+5cvnnFiXNs7xUQEPCP75X7+ZK0adOmYrWvYcOGaty4sXbv3q01a9aoe/fuks4PeVpaVd8kq2KEJMXHxys+Pv6iz809dC0AAADg6ipVqqT27durffv2uu+++7RhwwY98MADSk1N1eeff6633367TNszZsyYixZfkC4vrisLvr6+mjVrlsaPH68lS5Zo8eLFWrx4sSQrLho1apR69uzpkLYBAP4ZyW8AgALlPqlz8uTJAiulnThxQpLk5+dXrHXbnp+UlHQZLSyet956SxMnTtRvv/2mZ599Vh988IF9KJ+iCgoK0ssv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wTYca82aNfXxxx/rscce07Rp0/Tll1+qQYMG8vHx0alTpxQbGyvTNHXDDTcU+H7XXXed3nnnHXsC2tVXX60qVaqUyGe5mKefflrHjh3T999/rzvvvFMhISGqVauW0tPTdejQIZ05c0aSdOedd5Z6WwAAAABHMQxDf/75p1599VW9+uqrqlOnjqpUqaKkpCR7/1+yChpce+21eV57ww036Msvv9TUqVP1yy+/KCQkRIZh6IEHHtDVV18tyarGFhcXp+Tk5FL7DCEhIZcc140aNUr33nuvvv32Wy1fvlz16tVTbGysUlJS9OKLL+qtt9667PbFxcVpxowZGjNmjEJDQ1W1alWlpKQoJiZGWVlZCg8P1z333HPZ7wMAKB0kvwEALuqOO+5QRESEPvvsM23atEm7d+9WcHCwevTooYceekgNGzbM95p69erpk08+0eTJk/XHH3/o8OHDMk0zTxWFoKAgzZw5U7Nnz9bChQu1d+9enThxQiEhIerbt68GDhxYqp+rfv36mjZtmu68807NnDlTnp6eev755wt9ft++fZWRkaG1a9dq//792rNnj30I02uvvVbDhg1TYGCg/fkvvviili1bpo0bNyo+Pl4HDx5U9erV1bVrVw0bNkw9e/Ys1c8HAAAAOIvU1FSlpqYWujwrK0ujR49WzZo19fXXX+vQoUM6e/asOnXqpEceeURVq1a96PpzxyEFJbd16NBB27dvl5ubm9q1a3fJn+PKK6/Ud999p1mzZmnp0qXat2+fDh06pJCQEHXo0EHdu3e3Dz9aEh588EFFRkZq2rRp2rBhg/78808FBQXZK203a9Ysz/PbtWunxYsXa/r06frtt9908OBBZWdnq0aNGurWrZt69uxZaPuqVKmiLl26aMWKFZLOV4IrbR4eHnr33XfVv39/zZ49W1u3btWuXbsUGBiosLAwtWnTRn379lWDBg3KpD0AAACAI9jO06xcuVKbNm3S0aNHtWvXLnl4eCg0NFStW7fW4MGD1b59+3yvbd++vd5//31Nnz5df/31lw4cOCBJpX4OpiCXGtd17NhR//vf/zRx4kT98ccfOnDggFq1aqXHHntMNWrUKJHkt6FDhyooKEjr1q3TwYMHtWvXLgUFBalFixYaMGCAbr31VvvQrQCA8scwizLWGwAAAAAAAAAAAAAAAAAA5YiboxsAAAAAAAAA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fEcT+sjr2y8a8vrCAikh3tW9b631HQ0ARBea3wAAXr0+R9q/Xzp9kJQX+vXZCendu7ckaevWrUf99eDHt2zZ8r6PnXbaaUf9M926dVNKSor27dungwcPSpJGjhyp/v376/HHH9eaNWu0c+dOPfDAAzLGKC8vT5L017/+Vfv379dXv/rVDvm3dbaRI0dKkjZv3qympibP0YSPtFQpOVnauUtavsJ3NAAAAO936JDVXx92Tfqf+oRRjx7R1fxGjdB+1AjvZYxpO/2thNGnAADgFC0oapQk5WSrbbwmjo28vv2iIa9PTjbKCZygOGcuuToAdKXQPf8UABDxrLX611OuALj6KqPY2MgortPT0/Xaa69p1qxZuuWWWxQfH9/2a0uWLNH69esluSezgoJPjCUlJR3z701KStL+/ftVX1+v5ORkJSYm6ktf+pLuvvtu3XDDDW2/75prrtHIkSO1fv16Pfnkk/rMZz7T9jSYJB0+fFiJiYntupmxdetW5ebmnvSfO1HBmweSO769X79+nfb/iiTx8Ua52Vaz50pFxVbjx0XGewkAAESOx5+02r1bGjJYuuJy39F0PWqE9qNGeL+8XKOn/21VVubqajaqAQBAe80vck1IuTnkEyeCvL79oiWvnz7daEGxu1f/2U+TqwNAV6H5DQDgTVmFO/q5Wzfp8kt9R9NxLrzwQj388MPaunWrvvWtb+krX/mKBg4cqEWLFum+++5TbGysWlpa3lP0WOuaAE+2ELrooos0ePBgzZ49W42NjcrMzNT06dMlSb/85S81aNCgtuJ41qxZeuCBB7R161b16NFDH/7wh3XLLbcoJubED4Lt1q1b299/NIsWLdKmTZtO6t/wbsHPg8SThieroMBo9lyrBcXS5272HQ0AAMARO3ZYPf6kW3/+FqP4+OjL86gRqBE6UupkKSlJemeH9OabUuAQDQAAgJOydavVW2+1KjZGysrwHU14IK8nrz+ewnwpMVHatElauVIaM8Z3RAAQHWh+AwB489jjrti54nIpJSVyip1u3brpF7/4hb75zW+qrKxMZWVlbb82aNAgXX/99Xr00UfVs2fPto93795d0pGnwI7m8OHDbX//u02cOFETJ058z8fmzJmjiooK/fKXv1RCQoJWrFihO++8Uzk5OfrGN76hmpoaPfzww+rTp4+uu+66E/639erVS3feeecx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s7U1b95O9evXPOu2AQEBuctz587Vt99+q5CQEA0fPlytW7dWYGCgPDw8lJ6erl69ep01KK64Jk6cWOxpT4cNG5avvmfTuqXk5l5bWRnS4cPHi123rKwsjRkzRitWrFDjxo317rvv5gYXAgAAAAAAAAAAAABQkRD8BgAoUzt3ScbY2eP+9a/LdPPNNxfpfQsXLpQkjRgxQj179sy3LioqqkTrOH/+fB05cqRY77n33nuLFPzm52cpNCRBUQek1NRKxa7bO++8o3nz5ik8PFwTJkyQv79/sfcBAAAAAAAAAAAAAEB5QPAbAKBMbdkqWW6dJX2qRYsWFTn4LSEhQZIUGhpaYN28efNKsor66aefSnR/Z3KzFtrP7k2L9b6PPvpIM2fOVFhYmCZOnKhq1aqVQu0AAAAAAAAAAAAAAHANbo6uAACgYtmy1chya6XatTtp7dq1Gj9+vJKTk/Ntk5WVpZUrV2rDhg25ZeHh4ZLswLS805tu2LBB33zzTZnUvTi+//77Ap8rIyND//d//6cD++dL8lZyysB8648ePaqbb7650IDAqVOn6ssvv1RQUJAmTpyosLCw0qw+AAAAAAAAAAAAAABOj8xvAIAytWWr/fzYsJf16X8f13fffafZs2erSZMmCggI0LFjx7R//37FxcVp+PDhateunSTppptu0m+//abp06dr3bp1atSokY4dO6aNGzdq6NChThcAN27cOH344YeqX7++wsLClJaWpl27dunYsWPy8vJShhmjAwerKz7BqIq/JckOjouMjCywr507d2rSpEmSpJo1a2rKlCmF/syrr7469/cFAAAAAAAAAAAAAEB5R/AbAKDMJCZJx49L7m5Sl87V1LXL/2nmzJmaO3eutm3bpoyMDAUFBalJkybq1auX+vXrl/ve8PBwff755/rggw+0detWLV68WOHh4Ro5cqSuvfZapwt+u+eee7R582ZFRkZq7969kqTq1atryJAhuuWWWzTyhTo6eFDaskXq3u3c+0pISMjNdrd582Zt3ry50O06dOhA8BsAAAAAAAAAAAAAoMKwTN6548pQXFycI35suREYGMjvEIWibaAwztIu5s03GvOKUdMm0mf/rdgzb785Nku/zZZu/bf00AOO+104S9uAc6FdoDCu3i4CAwMdXQUAAAAAAAAAAACUsIodeQAAKFNbttrx1q1aOrgi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N2/WqWzt2rX5z//8z/zlL3/Jeeedl0984hObPe7WW2/Nz3/+8/Tv3z/f//73s//++ydJpk+fnve973357//+74wfPz79+vVLkjzxxBP57W9/m6OPPjr/8z//k6Io8qMf/Sjnn39+/va3v+WFL3xh6799zz335PLLL8973vOe7LHHHrvoK7GlV73qVVt0blu9enV+85vf5Nvf/na+/e1vZ8WKFXnve99bowrb1t57F9l77zKPPprcOT05elKtKwIAAAAAAACgs+hS6wIA2HHX31CNPD322NSkg9jvfve7rFmzJkceeeRmQa9u3brlox/9aHr06JHf/va3eeqppzZ73MUXX5wkefvb394afEuScePG5ZRTTsny5cvz29/+tvX6Pffck+bm5px44omtn+fJJ5+cJJk3b95m//ZXv/rVDB48OK9//evb9pNtAz169Mjpp5+er33ta2loaMhFF12Uu+66q9ZltZnxh1fr1KllbQsBAAAAAAAAoFMRfgOoM83NZa6/odofe0xtRkzOnTs3STJ+/PgtbmtqaspBBx2U9evX58Ybb2y9vmbNmtx6661JslnHthYt166//vrWa8uWLUuS9O3bt/Vay37p0qWt1/70pz9l6tSp+dd//dc0NrbfpqYTJkzIS17ykiTJL37xixpX03YmHF6dw9tur3EhAAAAAAAAAHQqwm8AdeaOO5NFTyZ9+yYTt8ye7RKrVq1Ksnko7elaxpY+vbvZ/Pnzs3bt2jQ1NW11LOmIESOSVN3eWuy1115JkgcffLD12gMPPLDZbStXrsx5552XF7zgBZk0qf3P3GwJv91+e8dJirV0fpt3V7J0me5vAAAAAAAAAOwawm8AdebPf6nCRSf8c9K1a206vw0YMCBJ8thjj2319pbrjz766BbXdt99960+pmfPnunbt2+WLl2aFStWJEmGDRuWQYMG5f/+7/9yzz33ZNGiRfnWt76Voihy9NFHJ0kuuOCCLFu2LP/yL//SJp/bzjZs2LAkycMPP5x169bVuJq2MWhQkQP2T8oyufPOWlcDAAAAAAAAQGfRfmfDAbCFdevKXHtdtX/xi2oTfEuqcadXXXVVrr766px11lnp2rVr620zZszI/Pnzk1Rd2Vq0dIvr0aPHNv/dHj16ZNmyZVm1alV69+6d7t275+yzz85//ud/5o1vfGPr/U499dQMGzYs8+fPzyWXXJJ3vvOdrZ3gkmT16tXp3r17imLHv0aPPfZYjjrqqB1+3PZqCQ4m1ejWgQMH7rSPtSsdfngy/4Hktqll/um42p1NAAAAAAAAADoP4TeAOnLzLcmyZcnAgclhh9aujpe97GW58MIL89hjj+VjH/tYPvjBD2bPPffMtGnT8oUvfCENDQ1pbm7eLHxWllXHuh0NpL385S/Pvvvum7/85S9Zu3ZtJk6cmBe84AVJkq997WvZa6+9WoNxV199db71rW/lscceS58+ffLa1742Z511Vrp02f5Gpz179mz997dm2rRpeeihh3boc3i6lq9DsuNfi/ZswuFFrvh1mQ40zRUAAAAAAACAdk74DaCOtIw8feEJSUND7YJTPXv2zFe/+tV89KMfzeTJkzN58uTW2/baa6+8/vWvz09/+tP069ev9XqvXr2SbOoAtzWrV69u/fefbty4cRk3btxm16655ppMmTIlX/va19KtW7fMmTMn55xzTiZNmpR//dd/ze23354LL7wwTU1NOeOMM7b7c+vfv3/OOeecbd7+uc997nmF35566qnW/dO/PvXu8MOq9d77ksWLyzQ1dZxgHwAAAAAAAADtk/AbQJ1YtarM9TdU+1qOPG0xdOjQ/PznP88111yT2bNnp7m5OcOGDctLX/rS/OhHP0qSHHTQQa33bxlL+vjjj2/131u1alWWLVuWvn37pnfv3s/4sVevXp1zzz03xx13XI499tgkycUXX5yePXvm85//fHr37p1//ud/zty5c/Ozn/1sh8JvO9u8efOSJPvtt18aGzvOr+EBA4ocfHCZe+5Jbr8jedG2m+cBAAAAAAAAQJvoOK+6A3RwN96UrF6d7LNPMnpUraup9OjRIyeeeGJOPPHEza7fcsstSZLx48e3Xtt///3TrVu3LF68OAsXLswee+yx2WPmzp2bpArVPZuLLrooixcvzoc//OHWa/fff38OPPDAzYJzo0ePztSpU7NixYpnDdTtKldffXWSZMKECTWupO1NODy5557kttvLvOgFtQ9oAgAAAAAAANCxdal1AQBsn6v+XI08fdELk6Jov8Gi22+/PXPnzs2QIUNy6KGHtl7v0aNHa+Drmmuu2eJxLddaOrlty0MPPZSf/exnedOb3pR99913s9taxqZu6/1au+222/LnP/85RVHktNNOq3U5bW7ihOpc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vvji9OrVqwafBW3tq1/9ar7//e9n//33zxFHHJGBAwdm/vz5+fOf/5yyLPO1r30tJ554Yuv9nY3OY/78+Xn1q1+dQw89NPvvv38GDBiQRYsW5a9//WsWLVqU008/Pf/1X//Ven9nAwAAAAAAgPZC+K1OzJkzJ3fddVde/vKXp2vXrq3Xn3jiiZx++ul5+OGHc+mll+aQQw5pvW3y5Ml561vfmokTJ+ZHP/pRunXrliS56aab8va3vz0TJ07MT3/6013+udC2pk+fnh49emTIkCGZPn16zjjjjGcMvzkXHd/69evzile8Io899lguueSSjB49OknVped1r3td7rvvvvz+97/X5a8Du/HGG3PAAQdk3333zfe+97187Wtf22b47dxzz823vvWtnHnmmfnYxz62xfX3v//9+eAHP7gry2cnueqqq7Lbbrtl4sSJm12/9dZb87a3vS29e/fO3//+99bfC85G59Hc3JyyLNPYuHlT6OXLl+eMM87I3Xffnd/97ncZNmxYEmcDAAAAAACA9qNLrQtg+4wcOTInn3zyZsG3JBk0aFDOOOOMJNX4y6e79NJLkyQf+tCHWl/ITpKjjz46xx13XG655Zbcd999O7lydrZx48Zl2LBhaWho2K77Oxcd3+TJk/PAAw/kpJNOag2+JUmfPn3yvve9L+vXr88vf/nLGlbIznbMMcdk3333fdb7lWWZSy+9NL169cr73//+zW5797vfnf79++eyyy6LnHzH8NKXvnSL4FuSTJw4MZMmTcqSJUsyd+7cJM5GZ9PQ0LBF8C2pfm8cd9xxSarucImzAQAAAAAAQPsi/NYBtLxY+Y/hp5tvvjm9evXK+PHjt3hMywuZ/xiYo+NzLjq+KVOmJNn0/Xy6Y489drP70Lndf//9WbhwYcaPH7/FiMLu3btn4sSJWbBgQWvohY6r5W+JltXZIEnWrFmTyZMnpyiK1pHozgYAAAAAAADtyZYtHqgrzc3NueKKK1IURY455pjW6ytXrszjjz+e4cOHb7UjWMu4w/vvv38XVUp74Fx0Di3fvwMOOGCL2/r375+mpiahBJJs6uS0rRG4LWdo/vz5xuR2YI888khuvPHG7L777hk+fHgSZ6OzWrp0aS666KJs2LAhixYtynXXXZdHH300Z599duv32dkAAAAAAACgPRF+q3P/+7//m3nz5uU1r3lN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", - "text/plain": [ - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "idata = az.from_cmdstanpy(\n", - " fit,\n", - " posterior_predictive=\"y_hat\",\n", - " dims={\"y_hat\": [\"school\"], \"theta\": [\"school\"]},\n", - " coords={\"school\": schools}\n", - ")\n", - "az.plot_posterior(idata, var_names=[\"tau\", \"theta\"]);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "```{seealso}\n", - "- {ref}`creating_InferenceData`\n", - "- {ref}`working_with_InferenceData`\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:base] *", - "language": "python", - "name": "conda-base-py" - }, - "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.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/doc/source/getting_started/WorkingWithInferenceData.ipynb b/doc/source/getting_started/WorkingWithInferenceData.ipynb deleted file mode 100644 index d9ad2c39f8..0000000000 --- a/doc/source/getting_started/WorkingWithInferenceData.ipynb +++ /dev/null @@ -1,36177 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "(working_with_InferenceData)=\n", - "\n", - "# Working with InferenceData\n", - "\n", - "Here we present a collection of common manipulations you can use while working with `InferenceData`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import arviz as az\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "xr.set_options(display_expand_data=False, display_expand_attrs=False);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`display_expand_data=False` makes the default view for {class}`xarray.DataArray` fold the data values to a single line. To explore the values, click on the {fas}`database` icon on the left of the view, right under the `xarray.DataArray` text. It has no effect on `Dataset` objects that already default to folded views.\n", - "\n", - "`display_expand_attrs=False` folds the attributes in both `DataArray` and `Dataset` objects to keep the views shorter. In this page we print DataArrays and Datasets several times and they always have the same attributes." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 165kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 16kB ...\n",
        -       "    theta    (chain, draw, school) float64 128kB ...\n",
        -       "    tau      (chain, draw) float64 16kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 246kB\n",
        -       "Dimensions:              (chain: 4, draw: 500)\n",
        -       "Coordinates:\n",
        -       "  * chain                (chain) int64 32B 0 1 2 3\n",
        -       "  * draw                 (draw) int64 4kB 0 1 2 3 4 5 ... 495 496 497 498 499\n",
        -       "Data variables: (12/16)\n",
        -       "    max_energy_error     (chain, draw) float64 16kB ...\n",
        -       "    energy_error         (chain, draw) float64 16kB ...\n",
        -       "    lp                   (chain, draw) float64 16kB ...\n",
        -       "    index_in_trajectory  (chain, draw) int64 16kB ...\n",
        -       "    acceptance_rate      (chain, draw) float64 16kB ...\n",
        -       "    diverging            (chain, draw) bool 2kB ...\n",
        -       "    ...                   ...\n",
        -       "    smallest_eigval      (chain, draw) float64 16kB ...\n",
        -       "    step_size_bar        (chain, draw) float64 16kB ...\n",
        -       "    step_size            (chain, draw) float64 16kB ...\n",
        -       "    energy               (chain, draw) float64 16kB ...\n",
        -       "    tree_depth           (chain, draw) int64 16kB ...\n",
        -       "    perf_counter_diff    (chain, draw) float64 16kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 45kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau      (chain, draw) float64 4kB ...\n",
        -       "    theta    (chain, draw, school) float64 32kB ...\n",
        -       "    mu       (chain, draw) float64 4kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 37kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 32kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    scores   (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata = az.load_arviz_data(\"centered_eight\")\n", - "idata" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Get the dataset corresponding to a single group" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 165kB\n",
    -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
    -       "Coordinates:\n",
    -       "  * chain    (chain) int64 32B 0 1 2 3\n",
    -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
    -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
    -       "Data variables:\n",
    -       "    mu       (chain, draw) float64 16kB ...\n",
    -       "    theta    (chain, draw, school) float64 128kB ...\n",
    -       "    tau      (chain, draw) float64 16kB ...\n",
    -       "Attributes: (6)
    " - ], - "text/plain": [ - " Size: 165kB\n", - "Dimensions: (chain: 4, draw: 500, school: 8)\n", - "Coordinates:\n", - " * chain (chain) int64 32B 0 1 2 3\n", - " * draw (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n", - " * school (school) \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 181kB\n",
    -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
    -       "Coordinates:\n",
    -       "  * chain    (chain) int64 32B 0 1 2 3\n",
    -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
    -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
    -       "Data variables:\n",
    -       "    mu       (chain, draw) float64 16kB ...\n",
    -       "    theta    (chain, draw, school) float64 128kB ...\n",
    -       "    tau      (chain, draw) float64 16kB 4.726 3.909 4.844 ... 2.741 2.932 4.461\n",
    -       "    log_tau  (chain, draw) float64 16kB 1.553 1.363 1.578 ... 1.008 1.076 1.495\n",
    -       "Attributes: (6)
    " - ], - "text/plain": [ - " Size: 181kB\n", - "Dimensions: (chain: 4, draw: 500, school: 8)\n", - "Coordinates:\n", - " * chain (chain) int64 32B 0 1 2 3\n", - " * draw (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n", - " * school (school) \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 225kB\n",
    -       "Dimensions:  (sample: 2000, school: 8)\n",
    -       "Coordinates:\n",
    -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
    -       "  * sample   (sample) object 16kB MultiIndex\n",
    -       "  * chain    (sample) int64 16kB 0 0 0 0 0 0 0 0 0 0 0 ... 3 3 3 3 3 3 3 3 3 3 3\n",
    -       "  * draw     (sample) int64 16kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
    -       "Data variables:\n",
    -       "    mu       (sample) float64 16kB 7.872 3.385 9.1 7.304 ... 1.767 3.486 3.404\n",
    -       "    theta    (school, sample) float64 128kB 12.32 11.29 5.709 ... 8.452 1.295\n",
    -       "    tau      (sample) float64 16kB 4.726 3.909 4.844 1.857 ... 2.741 2.932 4.461\n",
    -       "    log_tau  (sample) float64 16kB 1.553 1.363 1.578 ... 1.008 1.076 1.495\n",
    -       "Attributes: (6)
    " - ], - "text/plain": [ - " Size: 225kB\n", - "Dimensions: (sample: 2000, school: 8)\n", - "Coordinates:\n", - " * school (school) \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 12kB\n",
    -       "Dimensions:  (sample: 100, school: 8)\n",
    -       "Coordinates:\n",
    -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
    -       "  * sample   (sample) object 800B MultiIndex\n",
    -       "  * chain    (sample) int64 800B 1 2 0 1 2 1 3 3 2 2 1 ... 1 2 1 0 0 1 0 2 1 0 0\n",
    -       "  * draw     (sample) int64 800B 203 316 58 22 372 214 ... 460 136 37 476 368\n",
    -       "Data variables:\n",
    -       "    mu       (sample) float64 800B 6.36 4.445 6.403 ... -0.8143 5.246 1.743\n",
    -       "    theta    (school, sample) float64 6kB 10.71 0.5876 9.016 ... 5.24 -0.8556\n",
    -       "    tau      (sample) float64 800B 4.929 3.515 3.592 7.412 ... 1.755 3.332 9.721\n",
    -       "    log_tau  (sample) float64 800B 1.595 1.257 1.279 ... 0.5626 1.203 2.274\n",
    -       "Attributes: (6)
    " - ], - "text/plain": [ - " Size: 12kB\n", - "Dimensions: (sample: 100, school: 8)\n", - "Coordinates:\n", - " * school (school) \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.DataArray 'school' (school: 8)> Size: 512B\n",
    -       "'Choate' 'Deerfield' 'Phillips Andover' ... "St. Paul's" 'Mt. Hermon'\n",
    -       "Coordinates:\n",
    -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'
    " - ], - "text/plain": [ - " Size: 512B\n", - "'Choate' 'Deerfield' 'Phillips Andover' ... \"St. Paul's\" 'Mt. Hermon'\n", - "Coordinates:\n", - " * school (school) \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 93kB\n",
        -       "Dimensions:  (chain: 2, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 16B 0 2\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 8kB 7.872 3.385 9.1 ... 2.871 4.096 1.776\n",
        -       "    theta    (chain, draw, school) float64 64kB 12.32 9.905 ... 2.363 -2.968\n",
        -       "    tau      (chain, draw) float64 8kB 4.726 3.909 4.844 ... 4.09 2.72 1.917\n",
        -       "    log_tau  (chain, draw) float64 8kB 1.553 1.363 1.578 ... 1.408 1.001 0.6508\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 69kB\n",
        -       "Dimensions:  (chain: 2, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 16B 0 2\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 64kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 69kB\n",
        -       "Dimensions:  (chain: 2, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 16B 0 2\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 64kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 125kB\n",
        -       "Dimensions:              (chain: 2, draw: 500)\n",
        -       "Coordinates:\n",
        -       "  * chain                (chain) int64 16B 0 2\n",
        -       "  * draw                 (draw) int64 4kB 0 1 2 3 4 5 ... 495 496 497 498 499\n",
        -       "Data variables: (12/16)\n",
        -       "    max_energy_error     (chain, draw) float64 8kB ...\n",
        -       "    energy_error         (chain, draw) float64 8kB ...\n",
        -       "    lp                   (chain, draw) float64 8kB ...\n",
        -       "    index_in_trajectory  (chain, draw) int64 8kB ...\n",
        -       "    acceptance_rate      (chain, draw) float64 8kB ...\n",
        -       "    diverging            (chain, draw) bool 1kB ...\n",
        -       "    ...                   ...\n",
        -       "    smallest_eigval      (chain, draw) float64 8kB ...\n",
        -       "    step_size_bar        (chain, draw) float64 8kB ...\n",
        -       "    step_size            (chain, draw) float64 8kB ...\n",
        -       "    energy               (chain, draw) float64 8kB ...\n",
        -       "    tree_depth           (chain, draw) int64 8kB ...\n",
        -       "    perf_counter_diff    (chain, draw) float64 8kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 45kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau      (chain, draw) float64 4kB ...\n",
        -       "    theta    (chain, draw, school) float64 32kB ...\n",
        -       "    mu       (chain, draw) float64 4kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 37kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 32kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    scores   (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - " \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata.sel(chain=[0, 2])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Remove the first n draws (burn-in)\n", - "\n", - "Let's say we want to remove the first 100 samples, from all the chains and all `InferenceData` groups with draws." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 145kB\n",
        -       "Dimensions:  (chain: 4, draw: 400, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 3kB 100 101 102 103 104 105 ... 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 13kB 11.7 8.118 -5.88 ... 1.767 3.486 3.404\n",
        -       "    theta    (chain, draw, school) float64 102kB 14.23 9.72 ... 6.762 1.295\n",
        -       "    tau      (chain, draw) float64 13kB 4.289 2.765 2.457 ... 2.741 2.932 4.461\n",
        -       "    log_tau  (chain, draw) float64 13kB 1.456 1.017 0.8991 ... 1.008 1.076 1.495\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 106kB\n",
        -       "Dimensions:  (chain: 4, draw: 400, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 3kB 100 101 102 103 104 105 ... 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 102kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 106kB\n",
        -       "Dimensions:  (chain: 4, draw: 400, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 3kB 100 101 102 103 104 105 ... 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 102kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 197kB\n",
        -       "Dimensions:              (chain: 4, draw: 400)\n",
        -       "Coordinates:\n",
        -       "  * chain                (chain) int64 32B 0 1 2 3\n",
        -       "  * draw                 (draw) int64 3kB 100 101 102 103 ... 496 497 498 499\n",
        -       "Data variables: (12/16)\n",
        -       "    max_energy_error     (chain, draw) float64 13kB ...\n",
        -       "    energy_error         (chain, draw) float64 13kB ...\n",
        -       "    lp                   (chain, draw) float64 13kB ...\n",
        -       "    index_in_trajectory  (chain, draw) int64 13kB ...\n",
        -       "    acceptance_rate      (chain, draw) float64 13kB ...\n",
        -       "    diverging            (chain, draw) bool 2kB ...\n",
        -       "    ...                   ...\n",
        -       "    smallest_eigval      (chain, draw) float64 13kB ...\n",
        -       "    step_size_bar        (chain, draw) float64 13kB ...\n",
        -       "    step_size            (chain, draw) float64 13kB ...\n",
        -       "    energy               (chain, draw) float64 13kB ...\n",
        -       "    tree_depth           (chain, draw) int64 13kB ...\n",
        -       "    perf_counter_diff    (chain, draw) float64 13kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 36kB\n",
        -       "Dimensions:  (chain: 1, draw: 400, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 3kB 100 101 102 103 104 105 ... 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau      (chain, draw) float64 3kB ...\n",
        -       "    theta    (chain, draw, school) float64 26kB ...\n",
        -       "    mu       (chain, draw) float64 3kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 29kB\n",
        -       "Dimensions:  (chain: 1, draw: 400, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 3kB 100 101 102 103 104 105 ... 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 26kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    scores   (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata.sel(draw=slice(100, None))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If you check the `burnin` object you will see that the groups `posterior`, `posterior_predictive`, `prior` and `sample_stats` have 400 draws compared to `idata` that has 500. The group `observed_data` has not been affected because it does not have the `draw` dimension. Alternatively, you can specify which group or groups you want to change." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 145kB\n",
        -       "Dimensions:  (chain: 4, draw: 400, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 3kB 100 101 102 103 104 105 ... 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 13kB 11.7 8.118 -5.88 ... 1.767 3.486 3.404\n",
        -       "    theta    (chain, draw, school) float64 102kB 14.23 9.72 ... 6.762 1.295\n",
        -       "    tau      (chain, draw) float64 13kB 4.289 2.765 2.457 ... 2.741 2.932 4.461\n",
        -       "    log_tau  (chain, draw) float64 13kB 1.456 1.017 0.8991 ... 1.008 1.076 1.495\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 246kB\n",
        -       "Dimensions:              (chain: 4, draw: 500)\n",
        -       "Coordinates:\n",
        -       "  * chain                (chain) int64 32B 0 1 2 3\n",
        -       "  * draw                 (draw) int64 4kB 0 1 2 3 4 5 ... 495 496 497 498 499\n",
        -       "Data variables: (12/16)\n",
        -       "    max_energy_error     (chain, draw) float64 16kB ...\n",
        -       "    energy_error         (chain, draw) float64 16kB ...\n",
        -       "    lp                   (chain, draw) float64 16kB ...\n",
        -       "    index_in_trajectory  (chain, draw) int64 16kB ...\n",
        -       "    acceptance_rate      (chain, draw) float64 16kB ...\n",
        -       "    diverging            (chain, draw) bool 2kB ...\n",
        -       "    ...                   ...\n",
        -       "    smallest_eigval      (chain, draw) float64 16kB ...\n",
        -       "    step_size_bar        (chain, draw) float64 16kB ...\n",
        -       "    step_size            (chain, draw) float64 16kB ...\n",
        -       "    energy               (chain, draw) float64 16kB ...\n",
        -       "    tree_depth           (chain, draw) int64 16kB ...\n",
        -       "    perf_counter_diff    (chain, draw) float64 16kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 45kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau      (chain, draw) float64 4kB ...\n",
        -       "    theta    (chain, draw, school) float64 32kB ...\n",
        -       "    mu       (chain, draw) float64 4kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 37kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 32kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    scores   (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata.sel(draw=slice(100, None), groups=\"posterior\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Compute posterior mean values along `draw` and `chain` dimensions\n", - "\n", - "To compute the mean value of the posterior samples, do the following:\n" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 32B\n",
    -       "Dimensions:  ()\n",
    -       "Data variables:\n",
    -       "    mu       float64 8B 4.486\n",
    -       "    theta    float64 8B 4.912\n",
    -       "    tau      float64 8B 4.124\n",
    -       "    log_tau  float64 8B 1.173
    " - ], - "text/plain": [ - " Size: 32B\n", - "Dimensions: ()\n", - "Data variables:\n", - " mu float64 8B 4.486\n", - " theta float64 8B 4.912\n", - " tau float64 8B 4.124\n", - " log_tau float64 8B 1.173" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "post.mean()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This computes the mean along all dimensions. This is probably what you want for `mu` and `tau`, which have two dimensions (`chain` and `draw`), but maybe not what you expected for `theta`, which has one more dimension `school`. \n", - "\n", - "You can specify along which dimension you want to compute the mean (or other functions)." - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 600B\n",
    -       "Dimensions:  (school: 8)\n",
    -       "Coordinates:\n",
    -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
    -       "Data variables:\n",
    -       "    mu       float64 8B 4.486\n",
    -       "    theta    (school) float64 64B 6.46 5.028 3.938 4.872 3.667 3.975 6.581 4.772\n",
    -       "    tau      float64 8B 4.124\n",
    -       "    log_tau  float64 8B 1.173
    " - ], - "text/plain": [ - " Size: 600B\n", - "Dimensions: (school: 8)\n", - "Coordinates:\n", - " * school (school) \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset> Size: 1MB\n",
    -       "Dimensions:            (chain: 4, draw: 500, school: 8, school_bis: 8)\n",
    -       "Coordinates:\n",
    -       "  * chain              (chain) int64 32B 0 1 2 3\n",
    -       "  * draw               (draw) int64 4kB 0 1 2 3 4 5 ... 494 495 496 497 498 499\n",
    -       "  * school             (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
    -       "  * school_bis         (school_bis) <U16 512B 'Choate' ... 'Mt. Hermon'\n",
    -       "Data variables:\n",
    -       "    mu                 (chain, draw) float64 16kB 7.872 3.385 ... 3.486 3.404\n",
    -       "    theta              (chain, draw, school) float64 128kB 12.32 9.905 ... 1.295\n",
    -       "    tau                (chain, draw) float64 16kB 4.726 3.909 ... 2.932 4.461\n",
    -       "    log_tau            (chain, draw) float64 16kB 1.553 1.363 ... 1.076 1.495\n",
    -       "    mlogtau            (chain, draw) float64 16kB nan nan nan ... 1.496 1.511\n",
    -       "    theta_school_diff  (chain, draw, school, school_bis) float64 1MB 0.0 ... 0.0\n",
    -       "Attributes: (6)
    " - ], - "text/plain": [ - " Size: 1MB\n", - "Dimensions: (chain: 4, draw: 500, school: 8, school_bis: 8)\n", - "Coordinates:\n", - " * chain (chain) int64 32B 0 1 2 3\n", - " * draw (draw) int64 4kB 0 1 2 3 4 5 ... 494 495 496 497 498 499\n", - " * school (school) \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.DataArray 'theta_school_diff' (chain: 4, draw: 500)> Size: 16kB\n",
    -       "2.415 2.156 -0.04943 1.228 3.384 9.662 ... -1.656 -0.4021 1.524 -3.372 -6.305\n",
    -       "Coordinates:\n",
    -       "  * chain       (chain) int64 32B 0 1 2 3\n",
    -       "  * draw        (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
    -       "    school      <U16 64B 'Choate'\n",
    -       "    school_bis  <U16 64B 'Deerfield'
    " - ], - "text/plain": [ - " Size: 16kB\n", - "2.415 2.156 -0.04943 1.228 3.384 9.662 ... -1.656 -0.4021 1.524 -3.372 -6.305\n", - "Coordinates:\n", - " * chain (chain) int64 32B 0 1 2 3\n", - " * draw (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n", - " school \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.DataArray 'theta_school_diff' (chain: 4, draw: 500,\n",
    -       "                                       pairwise_school_diff: 3)> Size: 48kB\n",
    -       "2.415 -6.741 -1.84 2.156 -3.474 3.784 ... -2.619 6.923 -6.305 1.667 -6.641\n",
    -       "Coordinates:\n",
    -       "  * chain       (chain) int64 32B 0 1 2 3\n",
    -       "  * draw        (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
    -       "    school      (pairwise_school_diff) <U16 192B 'Choate' ... 'Mt. Hermon'\n",
    -       "    school_bis  (pairwise_school_diff) <U16 192B 'Deerfield' ... 'Lawrenceville'\n",
    -       "Dimensions without coordinates: pairwise_school_diff
    " - ], - "text/plain": [ - " Size: 48kB\n", - "2.415 -6.741 -1.84 2.156 -3.474 3.784 ... -2.619 6.923 -6.305 1.667 -6.641\n", - "Coordinates:\n", - " * chain (chain) int64 32B 0 1 2 3\n", - " * draw (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n", - " school (pairwise_school_diff) \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.DataArray 'theta_school_diff' (chain: 4, draw: 500, school: 3,\n",
    -       "                                       school_bis: 3)> Size: 144kB\n",
    -       "2.415 0.0 -4.581 -4.326 -6.741 -11.32 ... 1.667 -6.077 -5.203 1.102 -6.641\n",
    -       "Coordinates:\n",
    -       "  * chain       (chain) int64 32B 0 1 2 3\n",
    -       "  * draw        (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
    -       "  * school      (school) <U16 192B 'Choate' 'Hotchkiss' 'Mt. Hermon'\n",
    -       "  * school_bis  (school_bis) <U16 192B 'Deerfield' 'Choate' 'Lawrenceville'
    " - ], - "text/plain": [ - " Size: 144kB\n", - "2.415 0.0 -4.581 -4.326 -6.741 -11.32 ... 1.667 -6.077 -5.203 1.102 -6.641\n", - "Coordinates:\n", - " * chain (chain) int64 32B 0 1 2 3\n", - " * draw (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n", - " * school (school) \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 1MB\n",
        -       "Dimensions:            (chain: 4, draw: 500, school: 8, school_bis: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain              (chain) int64 32B 0 1 2 3\n",
        -       "  * draw               (draw) int64 4kB 0 1 2 3 4 5 ... 494 495 496 497 498 499\n",
        -       "  * school             (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "  * school_bis         (school_bis) <U16 512B 'Choate' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu                 (chain, draw) float64 16kB 7.872 3.385 ... 3.486 3.404\n",
        -       "    theta              (chain, draw, school) float64 128kB 12.32 9.905 ... 1.295\n",
        -       "    tau                (chain, draw) float64 16kB 4.726 3.909 ... 2.932 4.461\n",
        -       "    log_tau            (chain, draw) float64 16kB 1.553 1.363 ... 1.076 1.495\n",
        -       "    mlogtau            (chain, draw) float64 16kB nan nan nan ... 1.496 1.511\n",
        -       "    theta_school_diff  (chain, draw, school, school_bis) float64 1MB 0.0 ... 0.0\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 36kB\n",
        -       "Dimensions:     (chain: 4, draw: 500, new_school: 2)\n",
        -       "Coordinates:\n",
        -       "  * chain       (chain) int64 32B 0 1 2 3\n",
        -       "  * draw        (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * new_school  (new_school) <U13 104B 'Essex College' 'Moordale'\n",
        -       "Data variables:\n",
        -       "    obs         (chain, draw, new_school) float64 32kB 2.041 -2.556 ... -0.2822\n",
        -       "Attributes: (2)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 246kB\n",
        -       "Dimensions:              (chain: 4, draw: 500)\n",
        -       "Coordinates:\n",
        -       "  * chain                (chain) int64 32B 0 1 2 3\n",
        -       "  * draw                 (draw) int64 4kB 0 1 2 3 4 5 ... 495 496 497 498 499\n",
        -       "Data variables: (12/16)\n",
        -       "    max_energy_error     (chain, draw) float64 16kB ...\n",
        -       "    energy_error         (chain, draw) float64 16kB ...\n",
        -       "    lp                   (chain, draw) float64 16kB ...\n",
        -       "    index_in_trajectory  (chain, draw) int64 16kB ...\n",
        -       "    acceptance_rate      (chain, draw) float64 16kB ...\n",
        -       "    diverging            (chain, draw) bool 2kB ...\n",
        -       "    ...                   ...\n",
        -       "    smallest_eigval      (chain, draw) float64 16kB ...\n",
        -       "    step_size_bar        (chain, draw) float64 16kB ...\n",
        -       "    step_size            (chain, draw) float64 16kB ...\n",
        -       "    energy               (chain, draw) float64 16kB ...\n",
        -       "    tree_depth           (chain, draw) int64 16kB ...\n",
        -       "    perf_counter_diff    (chain, draw) float64 16kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 45kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau      (chain, draw) float64 4kB ...\n",
        -       "    theta    (chain, draw, school) float64 32kB ...\n",
        -       "    mu       (chain, draw) float64 4kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 37kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 32kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    scores   (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - " \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> predictions\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "rng = np.random.default_rng(3)\n", - "idata.add_groups(\n", - " {\"predictions\": {\"obs\": rng.normal(size=(4, 500, 2))}},\n", - " dims={\"obs\": [\"new_school\"]},\n", - " coords={\"new_school\": [\"Essex College\", \"Moordale\"]},\n", - ")\n", - "idata" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Add Transformations to Multiple Groups" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also add transformations to Multiple InferenceData Groups using {meth}`arviz.InferenceData.map`. It takes a function as an input and applies the function groupwise to the selected InferenceData groups and overwrites the group with the result of the function." - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 309kB\n",
        -       "Dimensions:            (draw: 500, school: 8, school_bis: 8)\n",
        -       "Coordinates:\n",
        -       "  * draw               (draw) int64 4kB 0 1 2 3 4 5 ... 494 495 496 497 498 499\n",
        -       "  * school             (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "  * school_bis         (school_bis) <U16 512B 'Choate' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu                 (draw) float64 4kB 5.974 5.096 7.177 ... 4.739 3.146\n",
        -       "    theta              (draw, school) float64 32kB 9.519 5.554 ... 5.595 3.773\n",
        -       "    tau                (draw) float64 4kB 4.068 3.156 3.603 ... 3.225 2.979\n",
        -       "    log_tau            (draw) float64 4kB 1.322 1.118 1.234 ... 1.035 0.9508\n",
        -       "    mlogtau            (draw) float64 4kB nan nan nan nan ... 1.002 1.01 1.021\n",
        -       "    theta_school_diff  (draw, school, school_bis) float64 256kB 0.0 ... 0.0

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 36kB\n",
        -       "Dimensions:     (chain: 4, draw: 500, new_school: 2)\n",
        -       "Coordinates:\n",
        -       "  * chain       (chain) int64 32B 0 1 2 3\n",
        -       "  * draw        (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * new_school  (new_school) <U13 104B 'Essex College' 'Moordale'\n",
        -       "Data variables:\n",
        -       "    obs         (chain, draw, new_school) float64 32kB 2.041 -2.556 ... -0.2822\n",
        -       "Attributes: (2)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 246kB\n",
        -       "Dimensions:              (chain: 4, draw: 500)\n",
        -       "Coordinates:\n",
        -       "  * chain                (chain) int64 32B 0 1 2 3\n",
        -       "  * draw                 (draw) int64 4kB 0 1 2 3 4 5 ... 495 496 497 498 499\n",
        -       "Data variables: (12/16)\n",
        -       "    max_energy_error     (chain, draw) float64 16kB ...\n",
        -       "    energy_error         (chain, draw) float64 16kB ...\n",
        -       "    lp                   (chain, draw) float64 16kB ...\n",
        -       "    index_in_trajectory  (chain, draw) int64 16kB ...\n",
        -       "    acceptance_rate      (chain, draw) float64 16kB ...\n",
        -       "    diverging            (chain, draw) bool 2kB ...\n",
        -       "    ...                   ...\n",
        -       "    smallest_eigval      (chain, draw) float64 16kB ...\n",
        -       "    step_size_bar        (chain, draw) float64 16kB ...\n",
        -       "    step_size            (chain, draw) float64 16kB ...\n",
        -       "    energy               (chain, draw) float64 16kB ...\n",
        -       "    tree_depth           (chain, draw) int64 16kB ...\n",
        -       "    perf_counter_diff    (chain, draw) float64 16kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 45kB\n",
        -       "Dimensions:  (draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau      (draw) float64 4kB 1.941 3.388 4.208 5.687 ... 0.8353 0.06893 2.145\n",
        -       "    theta    (draw, school) float64 32kB 4.866 4.59 -0.7404 ... -2.031 6.045\n",
        -       "    mu       (draw) float64 4kB 3.903 3.915 -1.751 2.595 ... -2.294 0.7908 2.869

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 37kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 32kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    scores   (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> predictions\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "selected_groups = [\"posterior\", \"prior\"]\n", - "\n", - "def calc_mean(dataset, *args, **kwargs):\n", - " result = dataset.mean(dim=\"chain\", *args, **kwargs)\n", - " return result\n", - "\n", - "means = idata.map(calc_mean, groups=selected_groups, inplace=False)\n", - "means" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also pass a lambda function in `map`." - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 1MB\n",
        -       "Dimensions:            (chain: 4, draw: 500, school: 8, school_bis: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain              (chain) int64 32B 0 1 2 3\n",
        -       "  * draw               (draw) int64 4kB 0 1 2 3 4 5 ... 494 495 496 497 498 499\n",
        -       "  * school             (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "  * school_bis         (school_bis) <U16 512B 'Choate' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu                 (chain, draw) float64 16kB 10.87 6.385 ... 6.486 6.404\n",
        -       "    theta              (chain, draw, school) float64 128kB 15.32 12.91 ... 4.295\n",
        -       "    tau                (chain, draw) float64 16kB 7.726 6.909 ... 5.932 7.461\n",
        -       "    log_tau            (chain, draw) float64 16kB 4.553 4.363 ... 4.076 4.495\n",
        -       "    mlogtau            (chain, draw) float64 16kB nan nan nan ... 4.496 4.511\n",
        -       "    theta_school_diff  (chain, draw, school, school_bis) float64 1MB 3.0 ... 3.0\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 36kB\n",
        -       "Dimensions:     (chain: 4, draw: 500, new_school: 2)\n",
        -       "Coordinates:\n",
        -       "  * chain       (chain) int64 32B 0 1 2 3\n",
        -       "  * draw        (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * new_school  (new_school) <U13 104B 'Essex College' 'Moordale'\n",
        -       "Data variables:\n",
        -       "    obs         (chain, draw, new_school) float64 32kB 2.041 -2.556 ... -0.2822\n",
        -       "Attributes: (2)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 246kB\n",
        -       "Dimensions:              (chain: 4, draw: 500)\n",
        -       "Coordinates:\n",
        -       "  * chain                (chain) int64 32B 0 1 2 3\n",
        -       "  * draw                 (draw) int64 4kB 0 1 2 3 4 5 ... 495 496 497 498 499\n",
        -       "Data variables: (12/16)\n",
        -       "    max_energy_error     (chain, draw) float64 16kB ...\n",
        -       "    energy_error         (chain, draw) float64 16kB ...\n",
        -       "    lp                   (chain, draw) float64 16kB ...\n",
        -       "    index_in_trajectory  (chain, draw) int64 16kB ...\n",
        -       "    acceptance_rate      (chain, draw) float64 16kB ...\n",
        -       "    diverging            (chain, draw) bool 2kB ...\n",
        -       "    ...                   ...\n",
        -       "    smallest_eigval      (chain, draw) float64 16kB ...\n",
        -       "    step_size_bar        (chain, draw) float64 16kB ...\n",
        -       "    step_size            (chain, draw) float64 16kB ...\n",
        -       "    energy               (chain, draw) float64 16kB ...\n",
        -       "    tree_depth           (chain, draw) int64 16kB ...\n",
        -       "    perf_counter_diff    (chain, draw) float64 16kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 45kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau      (chain, draw) float64 4kB 1.941 3.388 4.208 ... 0.06893 2.145\n",
        -       "    theta    (chain, draw, school) float64 32kB 4.866 4.59 ... -2.031 6.045\n",
        -       "    mu       (chain, draw) float64 4kB 3.903 3.915 -1.751 ... 0.7908 2.869\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 37kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 32kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    scores   (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> predictions\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "idata_shifted_obs = idata.map(lambda x: x + 3, groups=\"posterior\")\n", - "idata_shifted_obs" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can also add extra coordinates using `map`." - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 1MB\n",
        -       "Dimensions:            (chain: 4, draw: 500, school: 8, school_bis: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain              (chain) int64 32B 0 1 2 3\n",
        -       "  * draw               (draw) int64 4kB 0 1 2 3 4 5 ... 494 495 496 497 498 499\n",
        -       "  * school             (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "  * school_bis         (school_bis) <U16 512B 'Choate' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu                 (chain, draw) float64 16kB 7.872 3.385 ... 3.486 3.404\n",
        -       "    theta              (chain, draw, school) float64 128kB 12.32 9.905 ... 1.295\n",
        -       "    tau                (chain, draw) float64 16kB 4.726 3.909 ... 2.932 4.461\n",
        -       "    log_tau            (chain, draw) float64 16kB 1.553 1.363 ... 1.076 1.495\n",
        -       "    mlogtau            (chain, draw) float64 16kB nan nan nan ... 1.496 1.511\n",
        -       "    theta_school_diff  (chain, draw, school, school_bis) float64 1MB 0.0 ... 0.0\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8, Upper: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "    upper    (Upper) <U16 512B 'CHOATE' 'DEERFIELD' ... 'MT. HERMON'\n",
        -       "Dimensions without coordinates: Upper\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 36kB\n",
        -       "Dimensions:     (chain: 4, draw: 500, new_school: 2)\n",
        -       "Coordinates:\n",
        -       "  * chain       (chain) int64 32B 0 1 2 3\n",
        -       "  * draw        (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * new_school  (new_school) <U13 104B 'Essex College' 'Moordale'\n",
        -       "Data variables:\n",
        -       "    obs         (chain, draw, new_school) float64 32kB 2.041 -2.556 ... -0.2822\n",
        -       "Attributes: (2)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 133kB\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 32B 0 1 2 3\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 128kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 246kB\n",
        -       "Dimensions:              (chain: 4, draw: 500)\n",
        -       "Coordinates:\n",
        -       "  * chain                (chain) int64 32B 0 1 2 3\n",
        -       "  * draw                 (draw) int64 4kB 0 1 2 3 4 5 ... 495 496 497 498 499\n",
        -       "Data variables: (12/16)\n",
        -       "    max_energy_error     (chain, draw) float64 16kB ...\n",
        -       "    energy_error         (chain, draw) float64 16kB ...\n",
        -       "    lp                   (chain, draw) float64 16kB ...\n",
        -       "    index_in_trajectory  (chain, draw) int64 16kB ...\n",
        -       "    acceptance_rate      (chain, draw) float64 16kB ...\n",
        -       "    diverging            (chain, draw) bool 2kB ...\n",
        -       "    ...                   ...\n",
        -       "    smallest_eigval      (chain, draw) float64 16kB ...\n",
        -       "    step_size_bar        (chain, draw) float64 16kB ...\n",
        -       "    step_size            (chain, draw) float64 16kB ...\n",
        -       "    energy               (chain, draw) float64 16kB ...\n",
        -       "    tree_depth           (chain, draw) int64 16kB ...\n",
        -       "    perf_counter_diff    (chain, draw) float64 16kB ...\n",
        -       "Attributes: (6)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 45kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau      (chain, draw) float64 4kB 1.941 3.388 4.208 ... 0.06893 2.145\n",
        -       "    theta    (chain, draw, school) float64 32kB 4.866 4.59 ... -2.031 6.045\n",
        -       "    mu       (chain, draw) float64 4kB 3.903 3.915 -1.751 ... 0.7908 2.869\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 37kB\n",
        -       "Dimensions:  (chain: 1, draw: 500, school: 8, Upper: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 8B 0\n",
        -       "  * draw     (draw) int64 4kB 0 1 2 3 4 5 6 7 ... 493 494 495 496 497 498 499\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "    upper    (Upper) <U16 512B 'CHOATE' 'DEERFIELD' ... 'MT. HERMON'\n",
        -       "Dimensions without coordinates: Upper\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 32kB ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 1kB\n",
        -       "Dimensions:  (school: 8, Upper: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "    upper    (Upper) <U16 512B 'CHOATE' 'DEERFIELD' ... 'MT. HERMON'\n",
        -       "Dimensions without coordinates: Upper\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset> Size: 576B\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) <U16 512B 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    scores   (school) float64 64B ...\n",
        -       "Attributes: (4)

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> predictions\n", - "\t> log_likelihood\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> prior_predictive\n", - "\t> observed_data\n", - "\t> constant_data" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "_upper = np.array([\n", - " x.upper() for x in idata.observed_data.school.values\n", - "]).T \n", - "idata_with_upper = idata.map(\n", - " lambda ds, **kwargs: ds.assign_coords(**kwargs),\n", - " groups=\"observed_vars\",\n", - " upper=(\"Upper\", _upper),\n", - ")\n", - "idata_with_upper" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python [conda env:base] *", - "language": "python", - "name": "conda-base-py" - }, - "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.11.5" - }, - "varInspector": { - "cols": { - "lenName": 16, - "lenType": 16, - "lenVar": 40 - }, - "kernels_config": { - "python": { - "delete_cmd_postfix": "", - "delete_cmd_prefix": "del ", - "library": "var_list.py", - "varRefreshCmd": "print(var_dic_list())" - }, - "r": { - "delete_cmd_postfix": ") ", - "delete_cmd_prefix": "rm(", - "library": "var_list.r", - "varRefreshCmd": "cat(var_dic_list()) " - } - }, - "types_to_exclude": [ - "module", - "function", - "builtin_function_or_method", - "instance", - "_Feature" - ], - "window_display": false - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/doc/source/getting_started/XarrayforArviZ.ipynb b/doc/source/getting_started/XarrayforArviZ.ipynb deleted file mode 100644 index fd83451a2f..0000000000 --- a/doc/source/getting_started/XarrayforArviZ.ipynb +++ /dev/null @@ -1,3400 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "(xarray_for_arviz)=\n", - "# Introduction to xarray, InferenceData, and netCDF for ArviZ" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "While ArviZ supports plotting from familiar data types, such as dictionaries and NumPy arrays, there are a couple of data structures central to ArviZ that are useful to know when using the library. \n", - "\n", - "They are \n", - "\n", - "* {class}`xarray:xarray.Dataset`\n", - "* {class}`arviz.InferenceData`\n", - "* {ref}`netCDF ` \n", - "\n", - "\n", - "## Why more than one data structure?\n", - "[Bayesian inference](https://en.wikipedia.org/wiki/Bayesian_inference) generates numerous datasets that represent different aspects of the model. For example, in a single analysis, a Bayesian practitioner could end up with any of the following data.\n", - "\n", - "\n", - "\n", - "* Prior Distribution for N number of variables\n", - "* Posterior Distribution for N number of variables\n", - "* Prior Predictive Distribution\n", - "* Posterior Predictive Distribution\n", - "* Trace data for each of the above\n", - "* Sample statistics for each inference run\n", - "* Any other array like data source\n", - "\n", - "For more detail, see the `InferenceData` structure specification {ref}`here `.\n", - "\n", - "\n", - "## Why not Pandas Dataframes or NumPy Arrays?\n", - "Data from [probabilistic programming](https://en.wikipedia.org/wiki/Probabilistic_programming) is naturally high dimensional. To add to the complexity ArviZ must handle the data generated from multiple Bayesian modeling libraries, such as PyMC3 and PyStan. This application is handled by the *xarray* package quite well. The xarray package lets users manage high dimensional data with human readable dimensions and coordinates quite easily.\n", - "\n", - "![InferenceData Structure](InferenceDataStructure.png) \n", - "\n", - "Above is a visual representation of the data structures and their relationships. Although it seems more complex at a glance, the ArviZ devs believe that the usage of *xarray*, `InferenceData`, and *netCDF* will simplify the handling, referencing, and serialization of data generated during Bayesian analysis. \n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## An introduction to each\n", - "To help get familiar with each, ArviZ includes some toy datasets. You can check the different ways to start an `InferenceData` {ref}`here `. For illustration purposes, here we have shown only one example provided by the library. To start an `az.InferenceData`, sample can be loaded from disk." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - "
    \n", - "
    arviz.InferenceData
    \n", - "
    \n", - "
      \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
        -       "  * school   (school) object 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    mu       (chain, draw) float64 -3.477 -2.456 -2.826 ... 4.597 5.899 0.1614\n",
        -       "    theta    (chain, draw, school) float64 1.669 -8.537 -2.623 ... 10.59 4.523\n",
        -       "    tau      (chain, draw) float64 3.73 2.075 3.703 4.146 ... 8.346 7.711 5.407\n",
        -       "Attributes:\n",
        -       "    created_at:                 2019-06-21T17:36:34.398087\n",
        -       "    inference_library:          pymc3\n",
        -       "    inference_library_version:  3.7

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain    (chain) int64 0 1 2 3\n",
        -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
        -       "  * school   (school) object 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (chain, draw, school) float64 7.85 -19.03 -22.5 ... 4.698 -15.07\n",
        -       "Attributes:\n",
        -       "    created_at:                 2019-06-21T17:36:34.489022\n",
        -       "    inference_library:          pymc3\n",
        -       "    inference_library_version:  3.7

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:           (chain: 4, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain             (chain) int64 0 1 2 3\n",
        -       "  * draw              (draw) int64 0 1 2 3 4 5 6 ... 493 494 495 496 497 498 499\n",
        -       "  * school            (school) object 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tune              (chain, draw) bool True False False ... False False False\n",
        -       "    depth             (chain, draw) int64 5 3 3 4 5 5 4 4 5 ... 4 4 4 5 5 5 5 5\n",
        -       "    tree_size         (chain, draw) float64 31.0 7.0 7.0 15.0 ... 31.0 31.0 31.0\n",
        -       "    lp                (chain, draw) float64 -59.05 -56.19 ... -63.62 -58.35\n",
        -       "    energy_error      (chain, draw) float64 0.07387 -0.1841 ... -0.087 -0.003652\n",
        -       "    step_size_bar     (chain, draw) float64 0.2417 0.2417 ... 0.1502 0.1502\n",
        -       "    max_energy_error  (chain, draw) float64 0.131 -0.2067 ... -0.101 -0.1757\n",
        -       "    energy            (chain, draw) float64 60.76 62.76 64.4 ... 67.77 67.21\n",
        -       "    mean_tree_accept  (chain, draw) float64 0.9506 0.9906 ... 0.9875 0.9967\n",
        -       "    step_size         (chain, draw) float64 0.1275 0.1275 ... 0.1064 0.1064\n",
        -       "    diverging         (chain, draw) bool False False False ... False False False\n",
        -       "    log_likelihood    (chain, draw, school) float64 -5.168 -4.589 ... -3.896\n",
        -       "Attributes:\n",
        -       "    created_at:                 2019-06-21T17:36:34.485802\n",
        -       "    inference_library:          pymc3\n",
        -       "    inference_library_version:  3.7

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:    (chain: 1, draw: 500, school: 8)\n",
        -       "Coordinates:\n",
        -       "  * chain      (chain) int64 0\n",
        -       "  * draw       (draw) int64 0 1 2 3 4 5 6 7 ... 492 493 494 495 496 497 498 499\n",
        -       "  * school     (school) object 'Choate' 'Deerfield' ... 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    tau        (chain, draw) float64 6.561 1.016 68.91 ... 1.56 5.949 0.7631\n",
        -       "    tau_log__  (chain, draw) float64 1.881 0.01593 4.233 ... 1.783 -0.2704\n",
        -       "    mu         (chain, draw) float64 5.293 0.8137 0.7122 ... -1.658 -3.273\n",
        -       "    theta      (chain, draw, school) float64 2.357 7.371 7.251 ... -3.775 -3.555\n",
        -       "    obs        (chain, draw, school) float64 -3.54 6.769 19.68 ... -21.16 -6.071\n",
        -       "Attributes:\n",
        -       "    created_at:                 2019-06-21T17:36:34.490387\n",
        -       "    inference_library:          pymc3\n",
        -       "    inference_library_version:  3.7

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    • \n", - " \n", - " \n", - "
      \n", - "
      \n", - "
        \n", - "
        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
        <xarray.Dataset>\n",
        -       "Dimensions:  (school: 8)\n",
        -       "Coordinates:\n",
        -       "  * school   (school) object 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
        -       "Data variables:\n",
        -       "    obs      (school) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
        -       "Attributes:\n",
        -       "    created_at:                 2019-06-21T17:36:34.491909\n",
        -       "    inference_library:          pymc3\n",
        -       "    inference_library_version:  3.7

        \n", - "
      \n", - "
      \n", - "
    • \n", - " \n", - "
    \n", - "
    \n", - " " - ], - "text/plain": [ - "Inference data with groups:\n", - "\t> posterior\n", - "\t> posterior_predictive\n", - "\t> sample_stats\n", - "\t> prior\n", - "\t> observed_data" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Load the centered eight schools model\n", - "import arviz as az\n", - "\n", - "data = az.load_arviz_data(\"centered_eight\")\n", - "data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this case the `az.InferenceData` object contains both a posterior predictive distribution and the observed data, among other datasets. Each group in `InferenceData` is both an attribute on `InferenceData` and itself a `xarray.Dataset` object. " - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset>\n",
    -       "Dimensions:  (chain: 4, draw: 500, school: 8)\n",
    -       "Coordinates:\n",
    -       "  * chain    (chain) int64 0 1 2 3\n",
    -       "  * draw     (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n",
    -       "  * school   (school) object 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
    -       "Data variables:\n",
    -       "    mu       (chain, draw) float64 -3.477 -2.456 -2.826 ... 4.597 5.899 0.1614\n",
    -       "    theta    (chain, draw, school) float64 1.669 -8.537 -2.623 ... 10.59 4.523\n",
    -       "    tau      (chain, draw) float64 3.73 2.075 3.703 4.146 ... 8.346 7.711 5.407\n",
    -       "Attributes:\n",
    -       "    created_at:                 2019-06-21T17:36:34.398087\n",
    -       "    inference_library:          pymc3\n",
    -       "    inference_library_version:  3.7
    " - ], - "text/plain": [ - "\n", - "Dimensions: (chain: 4, draw: 500, school: 8)\n", - "Coordinates:\n", - " * chain (chain) int64 0 1 2 3\n", - " * draw (draw) int64 0 1 2 3 4 5 6 7 8 ... 492 493 494 495 496 497 498 499\n", - " * school (school) object 'Choate' 'Deerfield' ... \"St. Paul's\" 'Mt. Hermon'\n", - "Data variables:\n", - " mu (chain, draw) float64 -3.477 -2.456 -2.826 ... 4.597 5.899 0.1614\n", - " theta (chain, draw, school) float64 1.669 -8.537 -2.623 ... 10.59 4.523\n", - " tau (chain, draw) float64 3.73 2.075 3.703 4.146 ... 8.346 7.711 5.407\n", - "Attributes:\n", - " created_at: 2019-06-21T17:36:34.398087\n", - " inference_library: pymc3\n", - " inference_library_version: 3.7" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Get the posterior dataset\n", - "posterior = data.posterior\n", - "posterior" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In our eight schools model example, the posterior trace consists of 3 variables and approximately over 4 chains. In addition, it is a hierarchical model where values for the variable `theta` are associated with a particular school. \n", - "\n", - "According to the xarray's terminology: \n", - "* Data variables are the actual values generated from the MCMC draws\n", - "* Dimensions are the axes that refer to the data variables\n", - "* Coordinates are pointers to specific slices or points in the `xarray.Dataset`\n", - "\n", - "Observed data from the eight schools model can be accessed through the same method." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
    <xarray.Dataset>\n",
    -       "Dimensions:  (school: 8)\n",
    -       "Coordinates:\n",
    -       "  * school   (school) object 'Choate' 'Deerfield' ... "St. Paul's" 'Mt. Hermon'\n",
    -       "Data variables:\n",
    -       "    obs      (school) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n",
    -       "Attributes:\n",
    -       "    created_at:                 2019-06-21T17:36:34.491909\n",
    -       "    inference_library:          pymc3\n",
    -       "    inference_library_version:  3.7
    " - ], - "text/plain": [ - "\n", - "Dimensions: (school: 8)\n", - "Coordinates:\n", - " * school (school) object 'Choate' 'Deerfield' ... \"St. Paul's\" 'Mt. Hermon'\n", - "Data variables:\n", - " obs (school) float64 28.0 8.0 -3.0 7.0 -1.0 1.0 18.0 12.0\n", - "Attributes:\n", - " created_at: 2019-06-21T17:36:34.491909\n", - " inference_library: pymc3\n", - " inference_library_version: 3.7" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Get the observed xarray\n", - "observed_data = data.observed_data\n", - "observed_data" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It should be noted that the observed dataset contains only 8 data variables. Moreover, it doesn't have a chain and draw dimension or coordinates unlike posterior. This difference in sizes is the motivating reason behind `InferenceData`. Rather than force multiple different sized arrays into one array, or have users manage multiple objects corresponding to different datasets, it is easier to hold references to each `xarray.Dataset` in an `InferenceData` object." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "(netcdf)=\n", - "\n", - "## NetCDF\n", - "[NetCDF](https://www.unidata.ucar.edu/software/netcdf/) is a standard for referencing array oriented files. In other words, while `xarray.Dataset`s, and by extension `InferenceData`, are convenient for accessing arrays in Python memory, *netCDF* provides a convenient mechanism for persistence of model data on disk. In fact, the netCDF dataset was the inspiration for `InferenceData` as netCDF4 supports the concept of groups. `InferenceData` merely wraps `xarray.Dataset` with the same functionality.\n", - "\n", - "Most users will not have to concern themselves with the *netCDF* standard but for completeness it is good to make its usage transparent. It is also worth noting that the netCDF4 file standard is interoperable with HDF5 which may be familiar from other contexts.\n", - "\n", - "Earlier in this tutorial `InferenceData` was loaded from a *netCDF* file" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "data = az.load_arviz_data(\"centered_eight\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Similarly, the `InferenceData` objects can be persisted to disk in the netCDF format" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'eight_schools_model.nc'" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data.to_netcdf(\"eight_schools_model.nc\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Additional Reading\n", - "Additional documentation and tutorials exist for xarray and netCDF4. Check the following links:\n", - "\n", - "## `InferenceData`\n", - "* {ref}`working_with_InferenceData`: Tutorial covering the most common operations with `InferenceData` objects\n", - "* {ref}`creating_InferenceData`: Cookbook with examples of generating InferenceData objects from multiple sources, both external inference libraries like \n", - "* {ref}`data module API reference `\n", - "* {ref}`InferenceData API reference `: description of all available `InferenceData` methods, grouped by topic\n", - "\n", - "## xarray\n", - "* For getting to know xarray, check [xarray documentation](http://xarray.pydata.org/en/stable/why-xarray.html)\n", - "* Feel free to watch the Q/A session about xarray at [xarray lightning talk at SciPy 2015](https://www.youtube.com/watch?v=X0pAhJgySxk&t=949s)\n", - "\n", - "## NetCDF\n", - "* Get to know the introduction of netCDF at the official website of [NetCDF documentation](https://www.unidata.ucar.edu/software/netcdf/docs/.)\n", - "* Netcdf4-python library is a used to read/write netCDF files in both netCDF4 and netCDF3 format. Learn more about it by visitng its API documentation at [NetCDF4 API documentation](http://unidata.github.io/netcdf4-python/)\n", - "* xarray provides direct serialization and IO to netCDF format. Learn how to read/write netCDF files directly as xarray objects at {ref}`NetCDF usage in xarray `\n", - "* Check how to read/write netCDF4 files with HDF5 and vice versa at [NetCDF interoperability with HDF5](https://www.unidata.ucar.edu/software/netcdf/docs/interoperability_hdf5.html)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/doc/source/getting_started/index.md b/doc/source/getting_started/index.md deleted file mode 100644 index e3678b6f73..0000000000 --- a/doc/source/getting_started/index.md +++ /dev/null @@ -1,13 +0,0 @@ -(getting_started)= - -# Getting Started - -```{toctree} -:maxdepth: 2 - -Installation -Introduction -XarrayforArviZ -CreatingInferenceData -WorkingWithInferenceData -``` diff --git a/doc/source/getting_started/schools.json b/doc/source/getting_started/schools.json deleted file mode 100644 index ac1e998980..0000000000 --- a/doc/source/getting_started/schools.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "J": 8, - "y": [28, 8, -3, 7, -1, 1, 18, 12], - "sigma": [15, 10, 16, 11, 9, 11, 10, 18] -} diff --git a/doc/source/getting_started/schools.stan b/doc/source/getting_started/schools.stan deleted file mode 100644 index 87a91a92cf..0000000000 --- a/doc/source/getting_started/schools.stan +++ /dev/null @@ -1,26 +0,0 @@ -data { - int J; - array[J] real y; - array[J] real sigma; -} - -parameters { - real mu; - real tau; - array[J] real theta; -} - -model { - mu ~ normal(0, 5); - tau ~ cauchy(0, 5); - theta ~ normal(mu, tau); - y ~ normal(theta, sigma); -} -generated quantities { - array[J] real log_lik; - array[J] real y_hat; - for (j in 1:J) { - log_lik[j] = normal_lpdf(y[j] | theta[j], sigma[j]); - y_hat[j] = normal_rng(theta[j], sigma[j]); - } -} \ No newline at end of file diff --git a/doc/source/user_guide/Dask.ipynb b/doc/source/user_guide/Dask.ipynb deleted file mode 100644 index 26944638b9..0000000000 --- a/doc/source/user_guide/Dask.ipynb +++ /dev/null @@ -1,4476 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "(dask_for_arviz)=\n", - "# Dask for ArviZ\n", - "\n", - "## Dask overview" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Dask is a _big data processing_ library used for:\n", - "1. _Parallelizing_ the computation of the workflow consisting of NumPy, pandas, xarray and scikit-learn frameworks.\n", - "2. _Scaling_ the workflows up or down depending upon the hardware that is being used.\n", - "\n", - "Most notably, it provides the support for working with _larger-than-memory_ datasets. In this case, dask partitions the dataset into smaller chunks, then loads only a few chunks from the disk, and once the necessary processing is completed, it throws away the intermediate values. This way, the computations are performed without exceeding the memory limit.\n", - "\n", - "---\n", - "\n", - "Check out these links if you're unsure whether your workflow can benefit from using Dask or not:\n", - "- {doc}`dask:why`\n", - "- {doc}`dask:array-best-practices`\n", - "\n", - "Excerpt from \"Dask Array Best Practices\" doc.\n", - ">If your data fits comfortably in RAM and you are not performance bound, then using `NumPy` might be the right choice. Dask adds another layer of complexity which may get in the way.\n", - ">\n", - ">If you are just looking for speedups rather than scalability then you may want to consider a project like `Numba`.\n", - "\n", - "---\n", - "\n", - ":::{caution}\n", - "Dask is an optional dependency inside ArviZ, which is still being **actively developed**. Currently, few functions belonging to **diagnostics** and **stats** module can utilize Dask's capabilities. \n", - ":::" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import arviz as az\n", - "import numpy as np\n", - "import timeit\n", - "import dask\n", - "\n", - "from arviz.utils import conditional_jit, Dask" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "
    \n", - " \n", - " Loading BokehJS ...\n", - "
    " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "\n", - "(function(root) {\n", - " function now() {\n", - " return new Date();\n", - " }\n", - "\n", - " const force = true;\n", - "\n", - " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", - " root._bokeh_onload_callbacks = [];\n", - " root._bokeh_is_loading = undefined;\n", - " }\n", - "\n", - " const JS_MIME_TYPE = 'application/javascript';\n", - " const HTML_MIME_TYPE = 'text/html';\n", - " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", - " const CLASS_NAME = 'output_bokeh rendered_html';\n", - "\n", - " /**\n", - " * Render data to the DOM node\n", - " */\n", - " function render(props, node) {\n", - " const script = document.createElement(\"script\");\n", - " node.appendChild(script);\n", - " }\n", - "\n", - " /**\n", - " * Handle when an output is cleared or removed\n", - " */\n", - " function handleClearOutput(event, handle) {\n", - " const cell = handle.cell;\n", - "\n", - " const id = cell.output_area._bokeh_element_id;\n", - " const server_id = cell.output_area._bokeh_server_id;\n", - " // Clean up Bokeh references\n", - " if (id != null && id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - "\n", - " if (server_id !== undefined) {\n", - " // Clean up Bokeh references\n", - " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", - " cell.notebook.kernel.execute(cmd_clean, {\n", - " iopub: {\n", - " output: function(msg) {\n", - " const id = msg.content.text.trim();\n", - " if (id in Bokeh.index) {\n", - " Bokeh.index[id].model.document.clear();\n", - " delete Bokeh.index[id];\n", - " }\n", - " }\n", - " }\n", - " });\n", - " // Destroy server and session\n", - " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", - " cell.notebook.kernel.execute(cmd_destroy);\n", - " }\n", - " }\n", - "\n", - " /**\n", - " * Handle when a new output is added\n", - " */\n", - " function handleAddOutput(event, handle) {\n", - " const output_area = handle.output_area;\n", - " const output = handle.output;\n", - "\n", - " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", - " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", - " return\n", - " }\n", - "\n", - " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", - "\n", - " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", - " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", - " // store reference to embed id on output_area\n", - " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", - " }\n", - " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", - " const bk_div = document.createElement(\"div\");\n", - " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", - " const script_attrs = bk_div.children[0].attributes;\n", - " for (let i = 0; i < script_attrs.length; i++) {\n", - " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", - " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", - " }\n", - " // store reference to server id on output_area\n", - " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", - " }\n", - " }\n", - "\n", - " function register_renderer(events, OutputArea) {\n", - "\n", - " function append_mime(data, metadata, element) {\n", - " // create a DOM node to render to\n", - " const toinsert = this.create_output_subarea(\n", - " metadata,\n", - " CLASS_NAME,\n", - " EXEC_MIME_TYPE\n", - " );\n", - " this.keyboard_manager.register_events(toinsert);\n", - " // Render to node\n", - " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", - " render(props, toinsert[toinsert.length - 1]);\n", - " element.append(toinsert);\n", - " return toinsert\n", - " }\n", - "\n", - " /* Handle when an output is cleared or removed */\n", - " events.on('clear_output.CodeCell', handleClearOutput);\n", - " events.on('delete.Cell', handleClearOutput);\n", - "\n", - " /* Handle when a new output is added */\n", - " events.on('output_added.OutputArea', handleAddOutput);\n", - "\n", - " /**\n", - " * Register the mime type and append_mime function with output_area\n", - " */\n", - " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", - " /* Is output safe? */\n", - " safe: true,\n", - " /* Index of renderer in `output_area.display_order` */\n", - " index: 0\n", - " });\n", - " }\n", - "\n", - " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", - " if (root.Jupyter !== undefined) {\n", - " const events = require('base/js/events');\n", - " const OutputArea = require('notebook/js/outputarea').OutputArea;\n", - "\n", - " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", - " register_renderer(events, OutputArea);\n", - " }\n", - " }\n", - "\n", - " \n", - " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", - " root._bokeh_timeout = Date.now() + 5000;\n", - " root._bokeh_failed_load = false;\n", - " }\n", - "\n", - " const NB_LOAD_WARNING = {'data': {'text/html':\n", - " \"
    \\n\"+\n", - " \"

    \\n\"+\n", - " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", - " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", - " \"

    \\n\"+\n", - " \"
      \\n\"+\n", - " \"
    • re-rerun `output_notebook()` to attempt to load from CDN again, or
    • \\n\"+\n", - " \"
    • use INLINE resources instead, as so:
    • \\n\"+\n", - " \"
    \\n\"+\n", - " \"\\n\"+\n", - " \"from bokeh.resources import INLINE\\n\"+\n", - " \"output_notebook(resources=INLINE)\\n\"+\n", - " \"\\n\"+\n", - " \"
    \"}};\n", - "\n", - " function display_loaded() {\n", - " const el = document.getElementById(\"1002\");\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS is loading...\";\n", - " }\n", - " if (root.Bokeh !== undefined) {\n", - " if (el != null) {\n", - " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", - " }\n", - " } else if (Date.now() < root._bokeh_timeout) {\n", - " setTimeout(display_loaded, 100)\n", - " }\n", - " }\n", - "\n", - "\n", - " function run_callbacks() {\n", - " try {\n", - " root._bokeh_onload_callbacks.forEach(function(callback) {\n", - " if (callback != null)\n", - " callback();\n", - " });\n", - " } finally {\n", - " delete root._bokeh_onload_callbacks\n", - " }\n", - " console.debug(\"Bokeh: all callbacks have finished\");\n", - " }\n", - "\n", - " function load_libs(css_urls, js_urls, callback) {\n", - " if (css_urls == null) css_urls = [];\n", - " if (js_urls == null) js_urls = [];\n", - "\n", - " root._bokeh_onload_callbacks.push(callback);\n", - " if (root._bokeh_is_loading > 0) {\n", - " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", - " return null;\n", - " }\n", - " if (js_urls == null || js_urls.length === 0) {\n", - " run_callbacks();\n", - " return null;\n", - " }\n", - " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", - " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", - "\n", - " function on_load() {\n", - " root._bokeh_is_loading--;\n", - " if (root._bokeh_is_loading === 0) {\n", - " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", - " run_callbacks()\n", - " }\n", - " }\n", - "\n", - " function on_error(url) {\n", - " console.error(\"failed to load \" + url);\n", - " }\n", - "\n", - " for (let i = 0; i < css_urls.length; i++) {\n", - " const url = css_urls[i];\n", - " const element = document.createElement(\"link\");\n", - " element.onload = on_load;\n", - " element.onerror = on_error.bind(null, url);\n", - " element.rel = \"stylesheet\";\n", - " element.type = \"text/css\";\n", - " element.href = url;\n", - " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " for (let i = 0; i < js_urls.length; i++) {\n", - " const url = js_urls[i];\n", - " const element = document.createElement('script');\n", - " element.onload = on_load;\n", - " element.onerror = on_error.bind(null, url);\n", - " element.async = false;\n", - " element.src = url;\n", - " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", - " document.head.appendChild(element);\n", - " }\n", - " };\n", - "\n", - " function inject_raw_css(css) {\n", - " const element = document.createElement(\"style\");\n", - " element.appendChild(document.createTextNode(css));\n", - " document.body.appendChild(element);\n", - " }\n", - "\n", - " \n", - " const js_urls = [];\n", - " const css_urls = [];\n", - " \n", - "\n", - " const inline_js = [\n", - " function(Bokeh) {\n", - " /* BEGIN bokeh.min.js */\n", - " /*!\n", - " * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributors\n", - " * All rights reserved.\n", - " * \n", - " * Redistribution and use in source and binary forms, with or without modification,\n", - " * are permitted provided that the following conditions are met:\n", - " * \n", - " * Redistributions of source code must retain the above copyright notice,\n", - " * this list of conditions and the following disclaimer.\n", - " * \n", - " * Redistributions in binary form must reproduce the above copyright notice,\n", - " * this list of conditions and the following disclaimer in the documentation\n", - " * and/or other materials provided with the distribution.\n", - " * \n", - " * Neither the name of Anaconda nor the names of any contributors\n", - " * may be used to endorse or promote products derived from this software\n", - " * without specific prior written permission.\n", - " * \n", - " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", - " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", - " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", - " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", - " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", - " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", - " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", - " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", - " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", - " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", - " * THE POSSIBILITY OF SUCH DAMAGE.\n", - " */\n", - " (function(root, factory) {\n", - " const bokeh = factory();\n", - " bokeh.__bokeh__ = true;\n", - " if (typeof root.Bokeh === \"undefined\" || typeof root.Bokeh.__bokeh__ === \"undefined\") {\n", - " root.Bokeh = bokeh;\n", - " }\n", - " const Bokeh = root.Bokeh;\n", - " Bokeh[bokeh.version] = bokeh;\n", - " })(this, function() {\n", - " let define;\n", - " const parent_require = typeof require === \"function\" && require\n", - " return (function(modules, entry, aliases, externals) {\n", - " if (aliases === undefined) aliases = {};\n", - " if (externals === undefined) externals = {};\n", - "\n", - " const cache = {};\n", - "\n", - " const normalize = function(name) {\n", - " if (typeof name === \"number\")\n", - " return name;\n", - "\n", - " if (name === \"bokehjs\")\n", - " return entry;\n", - "\n", - " if (!externals[name]) {\n", - " const prefix = \"@bokehjs/\"\n", - " if (name.slice(0, prefix.length) === prefix)\n", - " name = name.slice(prefix.length)\n", - " }\n", - "\n", - " const alias = aliases[name]\n", - " if (alias != null)\n", - " return alias;\n", - "\n", - " const trailing = name.length > 0 && name[name.lenght-1] === \"/\";\n", - " const index = aliases[name + (trailing ? \"\" : \"/\") + \"index\"];\n", - " if (index != null)\n", - " return index;\n", - "\n", - " return name;\n", - " }\n", - "\n", - " const require = function(name) {\n", - " let mod = cache[name];\n", - " if (!mod) {\n", - " const id = normalize(name);\n", - "\n", - " mod = cache[id];\n", - " if (!mod) {\n", - " if (!modules[id]) {\n", - " if (externals[id] === false || (externals[id] == true && parent_require)) {\n", - " try {\n", - " mod = {exports: externals[id] ? parent_require(id) : {}};\n", - " cache[id] = cache[name] = mod;\n", - " return mod.exports;\n", - " } catch (e) {}\n", - " }\n", - "\n", - " const err = new Error(\"Cannot find module '\" + name + \"'\");\n", - " err.code = 'MODULE_NOT_FOUND';\n", - " throw err;\n", - " }\n", - "\n", - " mod = {exports: {}};\n", - " cache[id] = cache[name] = mod;\n", - "\n", - " function __esModule() {\n", - " Object.defineProperty(mod.exports, \"__esModule\", {value: true});\n", - " }\n", - "\n", - " function __esExport(name, value) {\n", - " Object.defineProperty(mod.exports, name, {\n", - " enumerable: true, get: function () { return value; }\n", - " });\n", - " }\n", - "\n", - " modules[id].call(mod.exports, require, mod, mod.exports, __esModule, __esExport);\n", - " } else {\n", - " cache[name] = mod;\n", - " }\n", - " }\n", - "\n", - " return mod.exports;\n", - " }\n", - " require.resolve = function(name) {\n", - " return \"\"\n", - " }\n", - "\n", - " const main = require(entry);\n", - " main.require = require;\n", - "\n", - " if (typeof Proxy !== \"undefined\") {\n", - " // allow Bokeh.loader[\"@bokehjs/module/name\"] syntax\n", - " main.loader = new Proxy({}, {\n", - " get: function(_obj, module) {\n", - " return require(module);\n", - " }\n", - " });\n", - " }\n", - "\n", - " main.register_plugin = function(plugin_modules, plugin_entry, plugin_aliases, plugin_externals) {\n", - " if (plugin_aliases === undefined) plugin_aliases = {};\n", - " if (plugin_externals === undefined) plugin_externals = {};\n", - "\n", - " for (let name in plugin_modules) {\n", - " modules[name] = plugin_modules[name];\n", - " }\n", - "\n", - " for (let name in plugin_aliases) {\n", - " aliases[name] = plugin_aliases[name];\n", - " }\n", - "\n", - " for (let name in plugin_externals) {\n", - " externals[name] = plugin_externals[name];\n", - " }\n", - "\n", - " const plugin = require(plugin_entry);\n", - "\n", - " for (let name in plugin) {\n", - " main[name] = plugin[name];\n", - " }\n", - "\n", - " return plugin;\n", - " }\n", - "\n", - " return main;\n", - " })\n", - " ([\n", - " function _(t,_,n,o,r){o();(0,t(1).__exportStar)(t(2),n)},\n", - " function _(t,e,r,n,o){n();var a=function(t,e){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},a(t,e)};r.__extends=function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function r(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)};function i(t){var e=\"function\"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&\"number\"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function c(t,e){var r=\"function\"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,a=r.call(t),i=[];try{for(;(void 0===e||e-- >0)&&!(n=a.next()).done;)i.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}function u(t){return this instanceof u?(this.v=t,this):new u(t)}r.__assign=function(){return r.__assign=Object.assign||function(t){for(var e,r=1,n=arguments.length;r=0;c--)(o=t[c])&&(i=(a<3?o(i):a>3?o(e,r,i):o(e,r))||i);return a>3&&i&&Object.defineProperty(e,r,i),i},r.__param=function(t,e){return function(r,n){e(r,n,t)}},r.__metadata=function(t,e){if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.metadata)return Reflect.metadata(t,e)},r.__awaiter=function(t,e,r,n){return new(r||(r=Promise))((function(o,a){function i(t){try{u(n.next(t))}catch(t){a(t)}}function c(t){try{u(n.throw(t))}catch(t){a(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(i,c)}u((n=n.apply(t,e||[])).next())}))},r.__generator=function(t,e){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},\"function\"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(a){return function(c){return function(a){if(r)throw new TypeError(\"Generator is already executing.\");for(;i;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]1||c(t,e)}))})}function c(t,e){try{(r=o[t](e)).value instanceof u?Promise.resolve(r.value.v).then(f,l):s(a[0][2],r)}catch(t){s(a[0][3],t)}var r}function f(t){c(\"next\",t)}function l(t){c(\"throw\",t)}function s(t,e){t(e),a.shift(),a.length&&c(a[0][0],a[0][1])}},r.__asyncDelegator=function(t){var e,r;return e={},n(\"next\"),n(\"throw\",(function(t){throw t})),n(\"return\"),e[Symbol.iterator]=function(){return this},e;function n(n,o){e[n]=t[n]?function(e){return(r=!r)?{value:u(t[n](e)),done:\"return\"===n}:o?o(e):e}:o}},r.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var e,r=t[Symbol.asyncIterator];return r?r.call(t):(t=i(t),e={},n(\"next\"),n(\"throw\"),n(\"return\"),e[Symbol.asyncIterator]=function(){return this},e);function n(r){e[r]=t[r]&&function(e){return new Promise((function(n,o){(function(t,e,r,n){Promise.resolve(n).then((function(e){t({value:e,done:r})}),e)})(n,o,(e=t[r](e)).done,e.value)}))}}},r.__makeTemplateObject=function(t,e){return Object.defineProperty?Object.defineProperty(t,\"raw\",{value:e}):t.raw=e,t};var f=Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e};r.__importStar=function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)\"default\"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&(0,r.__createBinding)(e,t,n);return f(e,t),e},r.__importDefault=function(t){return t&&t.__esModule?t:{default:t}},r.__classPrivateFieldGet=function(t,e,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof e?t!==e||!n:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(t):n?n.value:e.get(t)},r.__classPrivateFieldSet=function(t,e,r,n,o){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(t,r):o?o.value=r:e.set(t,r),r}},\n", - " function _(e,t,o,s,l){s();const n=e(1);l(\"version\",e(3).version),l(\"index\",e(4).index),o.embed=(0,n.__importStar)(e(4)),o.protocol=(0,n.__importStar)(e(406)),o._testing=(0,n.__importStar)(e(407));var r=e(19);l(\"logger\",r.logger),l(\"set_log_level\",r.set_log_level),l(\"settings\",e(28).settings),l(\"Models\",e(7).Models),l(\"documents\",e(5).documents),l(\"safely\",e(408).safely)},\n", - " function _(n,i,o,c,e){c(),o.version=\"2.4.1\"},\n", - " function _(e,o,t,n,s){n();const d=e(5),r=e(19),_=e(34),c=e(13),i=e(8),a=e(16),u=e(397),l=e(399),m=e(398);var f=e(397);s(\"add_document_standalone\",f.add_document_standalone),s(\"index\",f.index),s(\"add_document_from_session\",e(399).add_document_from_session);var g=e(404);async function w(e,o,t,n){(0,i.isString)(e)&&(e=JSON.parse((0,_.unescape)(e)));const s={};for(const[o,t]of(0,c.entries)(e))s[o]=d.Document.from_json(t);const a=[];for(const e of o){const o=(0,m._resolve_element)(e),d=(0,m._resolve_root_elements)(e);if(null!=e.docid)a.push(await(0,u.add_document_standalone)(s[e.docid],o,d,e.use_for_title));else{if(null==e.token)throw new Error(\"Error rendering Bokeh items: either 'docid' or 'token' was expected.\");{const s=(0,l._get_ws_url)(t,n);r.logger.debug(`embed: computed ws url: ${s}`);try{a.push(await(0,l.add_document_from_session)(s,e.token,o,d,e.use_for_title)),console.log(\"Bokeh items were rendered successfully\")}catch(e){console.log(\"Error rendering Bokeh items:\",e)}}}}return a}s(\"embed_items_notebook\",g.embed_items_notebook),s(\"kernels\",g.kernels),s(\"BOKEH_ROOT\",e(398).BOKEH_ROOT),t.embed_item=async function(e,o){const t={},n=(0,_.uuid4)();t[n]=e.doc,null==o&&(o=e.target_id);const s=document.getElementById(o);null!=s&&s.classList.add(m.BOKEH_ROOT);const d={roots:{[e.root_id]:o},root_ids:[e.root_id],docid:n};await(0,a.defer)();const[r]=await w(t,[d]);return r},t.embed_items=async function(e,o,t,n){return await(0,a.defer)(),w(e,o,t,n)}},\n", - " function _(t,_,o,r,n){r();const a=t(1);(0,a.__exportStar)(t(6),o),(0,a.__exportStar)(t(35),o)},\n", - " function _(e,t,s,o,n){o();const i=e(1),r=e(7),l=e(3),a=e(19),_=e(251),c=e(14),d=e(30),h=e(15),f=e(17),u=e(31),m=e(29),g=e(9),v=e(13),p=(0,i.__importStar)(e(77)),w=e(26),b=e(8),y=e(309),k=e(75),M=e(53),j=e(396),S=e(35);class z{constructor(e){this.document=e,this.session=null,this.subscribed_models=new Set}send_event(e){const t=new S.MessageSentEvent(this.document,\"bokeh_event\",e.to_json());this.document._trigger_on_change(t)}trigger(e){for(const t of this.subscribed_models)null!=e.origin&&e.origin!=t||t._process_event(e)}}s.EventManager=z,z.__name__=\"EventManager\",s.documents=[],s.DEFAULT_TITLE=\"Bokeh Application\";class E{constructor(e){var t;s.documents.push(this),this._init_timestamp=Date.now(),this._resolver=null!==(t=null==e?void 0:e.resolver)&&void 0!==t?t:new r.ModelResolver,this._title=s.DEFAULT_TITLE,this._roots=[],this._all_models=new Map,this._all_models_freeze_count=0,this._callbacks=new Map,this._message_callbacks=new Map,this.event_manager=new z(this),this.idle=new h.Signal0(this,\"idle\"),this._idle_roots=new WeakMap,this._interactive_timestamp=null,this._interactive_plot=null}get layoutables(){return this._roots.filter((e=>e instanceof y.LayoutDOM))}get is_idle(){for(const e of this.layoutables)if(!this._idle_roots.has(e))return!1;return!0}notify_idle(e){this._idle_roots.set(e,!0),this.is_idle&&(a.logger.info(`document idle at ${Date.now()-this._init_timestamp} ms`),this.event_manager.send_event(new _.DocumentReady),this.idle.emit())}clear(){this._push_all_models_freeze();try{for(;this._roots.length>0;)this.remove_root(this._roots[0])}finally{this._pop_all_models_freeze()}}interactive_start(e,t=null){null==this._interactive_plot&&(this._interactive_plot=e,this._interactive_plot.trigger_event(new _.LODStart)),this._interactive_finalize=t,this._interactive_timestamp=Date.now()}interactive_stop(){null!=this._interactive_plot&&(this._interactive_plot.trigger_event(new _.LODEnd),null!=this._interactive_finalize&&this._interactive_finalize()),this._interactive_plot=null,this._interactive_timestamp=null,this._interactive_finalize=null}interactive_duration(){return null==this._interactive_timestamp?-1:Date.now()-this._interactive_timestamp}destructively_move(e){if(e===this)throw new Error(\"Attempted to overwrite a document with itself\");e.clear();const t=(0,g.copy)(this._roots);this.clear();for(const e of t)if(null!=e.document)throw new Error(`Somehow we didn't detach ${e}`);if(0!=this._all_models.size)throw new Error(`this._all_models still had stuff in it: ${this._all_models}`);for(const s of t)e.add_root(s);e.set_title(this._title)}_push_all_models_freeze(){this._all_models_freeze_count+=1}_pop_all_models_freeze(){this._all_models_freeze_count-=1,0===this._all_models_freeze_count&&this._recompute_all_models()}_invalidate_all_models(){a.logger.debug(\"invalidating document models\"),0===this._all_models_freeze_count&&this._recompute_all_models()}_recompute_all_models(){let e=new Set;for(const t of this._roots)e=p.union(e,t.references());const t=new Set(this._all_models.values()),s=p.difference(t,e),o=p.difference(e,t),n=new Map;for(const t of e)n.set(t.id,t);for(const e of s)e.detach_document();for(const e of o)e.attach_document(this);this._all_models=n}roots(){return this._roots}add_root(e,t){if(a.logger.debug(`Adding root: ${e}`),!(0,g.includes)(this._roots,e)){this._push_all_models_freeze();try{this._roots.push(e)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new S.RootAddedEvent(this,e,t))}}remove_root(e,t){const s=this._roots.indexOf(e);if(!(s<0)){this._push_all_models_freeze();try{this._roots.splice(s,1)}finally{this._pop_all_models_freeze()}this._trigger_on_change(new S.RootRemovedEvent(this,e,t))}}title(){return this._title}set_title(e,t){e!==this._title&&(this._title=e,this._trigger_on_change(new S.TitleChangedEvent(this,e,t)))}get_model_by_id(e){var t;return null!==(t=this._all_models.get(e))&&void 0!==t?t:null}get_model_by_name(e){const t=[];for(const s of this._all_models.values())s instanceof M.Model&&s.name==e&&t.push(s);switch(t.length){case 0:return null;case 1:return t[0];default:throw new Error(`Multiple models are named '${e}'`)}}on_message(e,t){const s=this._message_callbacks.get(e);null==s?this._message_callbacks.set(e,new Set([t])):s.add(t)}remove_on_message(e,t){var s;null===(s=this._message_callbacks.get(e))||void 0===s||s.delete(t)}_trigger_on_message(e,t){const s=this._message_callbacks.get(e);if(null!=s)for(const e of s)e(t)}on_change(e,t=!1){this._callbacks.has(e)||this._callbacks.set(e,t)}remove_on_change(e){this._callbacks.delete(e)}_trigger_on_change(e){for(const[t,s]of this._callbacks)if(!s&&e instanceof S.DocumentEventBatch)for(const s of e.events)t(s);else t(e)}_notify_change(e,t,s,o,n){this._trigger_on_change(new S.ModelChangedEvent(this,e,t,s,o,null==n?void 0:n.setter_id,null==n?void 0:n.hint))}static _instantiate_object(e,t,s,o){const n=Object.assign(Object.assign({},s),{id:e,__deferred__:!0});return new(o.get(t))(n)}static _instantiate_references_json(e,t,s){var o;const n=new Map;for(const i of e){const e=i.id,r=i.type,l=null!==(o=i.attributes)&&void 0!==o?o:{};let a=t.get(e);null==a&&(a=E._instantiate_object(e,r,l,s),null!=i.subtype&&a.set_subtype(i.subtype)),n.set(a.id,a)}return n}static _resolve_refs(e,t,s,o){function n(e){var i;if((0,f.is_ref)(e)){const o=null!==(i=t.get(e.id))&&void 0!==i?i:s.get(e.id);if(null!=o)return o;throw new Error(`reference ${JSON.stringify(e)} isn't known (not in Document?)`)}if((0,u.is_NDArray_ref)(e)){const{buffer:t,dtype:s,shape:n}=(0,u.decode_NDArray)(e,o);return(0,m.ndarray)(t,{dtype:s,shape:n})}return(0,b.isArray)(e)?function(e){const t=[];for(const s of e)t.push(n(s));return t}(e):(0,b.isPlainObject)(e)?function(e){const t={};for(const[s,o]of(0,v.entries)(e))t[s]=n(o);return t}(e):e}return n(e)}static _initialize_references_json(e,t,s,o){const n=new Map;for(const{id:i,attributes:r}of e){const e=!t.has(i),l=e?s.get(i):t.get(i),a=E._resolve_refs(r,t,s,o);l.setv(a,{silent:!0}),n.set(i,{instance:l,is_new:e})}const i=[],r=new Set;function l(e){if(e instanceof c.HasProps){if(n.has(e.id)&&!r.has(e.id)){r.add(e.id);const{instance:t,is_new:s}=n.get(e.id),{attributes:o}=t;for(const e of(0,v.values)(o))l(e);s&&(t.finalize(),i.push(t))}}else if((0,b.isArray)(e))for(const t of e)l(t);else if((0,b.isPlainObject)(e))for(const t of(0,v.values)(e))l(t)}for(const e of n.values())l(e.instance);for(const e of i)e.connect_signals()}static _event_for_attribute_change(e,t,s,o,n){if(o.get_model_by_id(e.id).property(t).syncable){const i={kind:\"ModelChanged\",model:{id:e.id},attr:t,new:s};return c.HasProps._json_record_references(o,s,n,{recursive:!0}),i}return null}static _events_to_sync_objects(e,t,s,o){const n=Object.keys(e.attributes),i=Object.keys(t.attributes),r=(0,g.difference)(n,i),l=(0,g.difference)(i,n),_=(0,g.intersection)(n,i),c=[];for(const e of r)a.logger.warn(`Server sent key ${e} but we don't seem to have it in our JSON`);for(const n of l){const i=t.attributes[n];c.push(E._event_for_attribute_change(e,n,i,s,o))}for(const n of _){const i=e.attributes[n],r=t.attributes[n];null==i&&null==r||(null==i||null==r?c.push(E._event_for_attribute_change(e,n,r,s,o)):(0,w.is_equal)(i,r)||c.push(E._event_for_attribute_change(e,n,r,s,o)))}return c.filter((e=>null!=e))}static _compute_patch_since_json(e,t){const s=t.to_json(!1);function o(e){const t=new Map;for(const s of e.roots.references)t.set(s.id,s);return t}const n=o(e),i=new Map,r=[];for(const t of e.roots.root_ids)i.set(t,n.get(t)),r.push(t);const l=o(s),a=new Map,_=[];for(const e of s.roots.root_ids)a.set(e,l.get(e)),_.push(e);if(r.sort(),_.sort(),(0,g.difference)(r,_).length>0||(0,g.difference)(_,r).length>0)throw new Error(\"Not implemented: computing add/remove of document roots\");const c=new Set;let h=[];for(const e of t._all_models.keys())if(n.has(e)){const s=E._events_to_sync_objects(n.get(e),l.get(e),t,c);h=h.concat(s)}const f=new d.Serializer({include_defaults:!1});return f.to_serializable([...c]),{references:[...f.definitions],events:h}}to_json_string(e=!0){return JSON.stringify(this.to_json(e))}to_json(e=!0){const t=new d.Serializer({include_defaults:e}),s=t.to_serializable(this._roots);return{version:l.version,title:this._title,roots:{root_ids:s.map((e=>e.id)),references:[...t.definitions]}}}static from_json_string(e){const t=JSON.parse(e);return E.from_json(t)}static from_json(e){a.logger.debug(\"Creating Document from JSON\");const t=e.version,s=-1!==t.indexOf(\"+\")||-1!==t.indexOf(\"-\"),o=`Library versions: JS (${l.version}) / Python (${t})`;s||l.version.replace(/-(dev|rc)\\./,\"$1\")==t?a.logger.debug(o):(a.logger.warn(\"JS/Python version mismatch\"),a.logger.warn(o));const n=new r.ModelResolver;null!=e.defs&&(0,j.resolve_defs)(e.defs,n);const i=e.roots,_=i.root_ids,c=i.references,d=E._instantiate_references_json(c,new Map,n);E._initialize_references_json(c,new Map,d,new Map);const h=new E({resolver:n});for(const e of _){const t=d.get(e);null!=t&&h.add_root(t)}return h.set_title(e.title),h}replace_with_json(e){E.from_json(e).destructively_move(this)}create_json_patch_string(e){return JSON.stringify(this.create_json_patch(e))}create_json_patch(e){for(const t of e)if(t.document!=this)throw new Error(\"Cannot create a patch using events from a different document\");const t=new d.Serializer,s=t.to_serializable(e);for(const e of this._all_models.values())t.remove_def(e);return{events:s,references:[...t.definitions]}}apply_json_patch(e,t=new Map,s){const o=e.references,n=e.events,i=E._instantiate_references_json(o,this._all_models,this._resolver);t instanceof Map||(t=new Map(t));for(const e of n)switch(e.kind){case\"RootAdded\":case\"RootRemoved\":case\"ModelChanged\":{const t=e.model.id,s=this._all_models.get(t);if(null!=s)i.set(t,s);else if(!i.has(t))throw a.logger.warn(`Got an event for unknown model ${e.model}\"`),new Error(\"event model wasn't known\");break}}const r=new Map(this._all_models),l=new Map;for(const[e,t]of i)r.has(e)||l.set(e,t);E._initialize_references_json(o,r,l,t);for(const e of n)switch(e.kind){case\"MessageSent\":{const{msg_type:s,msg_data:o}=e;let n;if(void 0===o){if(1!=t.size)throw new Error(\"expected exactly one buffer\");{const[[,e]]=t;n=e}}else n=E._resolve_refs(o,r,l,t);this._trigger_on_message(s,n);break}case\"ModelChanged\":{const o=e.model.id,n=this._all_models.get(o);if(null==n)throw new Error(`Cannot apply patch to ${o} which is not in the document`);const i=e.attr,a=E._resolve_refs(e.new,r,l,t);n.setv({[i]:a},{setter_id:s});break}case\"ColumnDataChanged\":{const o=e.column_source.id,n=this._all_models.get(o);if(null==n)throw new Error(`Cannot stream to ${o} which is not in the document`);const i=E._resolve_refs(e.new,new Map,new Map,t);if(null!=e.cols)for(const e in n.data)e in i||(i[e]=n.data[e]);n.setv({data:i},{setter_id:s,check_eq:!1});break}case\"ColumnsStreamed\":{const t=e.column_source.id,o=this._all_models.get(t);if(null==o)throw new Error(`Cannot stream to ${t} which is not in the document`);if(!(o instanceof k.ColumnDataSource))throw new Error(\"Cannot stream to non-ColumnDataSource\");const n=e.data,i=e.rollover;o.stream(n,i,s);break}case\"ColumnsPatched\":{const t=e.column_source.id,o=this._all_models.get(t);if(null==o)throw new Error(`Cannot patch ${t} which is not in the document`);if(!(o instanceof k.ColumnDataSource))throw new Error(\"Cannot patch non-ColumnDataSource\");const n=e.patches;o.patch(n,s);break}case\"RootAdded\":{const t=e.model.id,o=i.get(t);this.add_root(o,s);break}case\"RootRemoved\":{const t=e.model.id,o=i.get(t);this.remove_root(o,s);break}case\"TitleChanged\":this.set_title(e.title,s);break;default:throw new Error(`Unknown patch event ${JSON.stringify(e)}`)}}}s.Document=E,E.__name__=\"Document\"},\n", - " function _(e,o,s,r,t){r();const l=e(1),i=e(8),d=e(13),n=e(14);s.overrides={};const a=new Map;s.Models=e=>{const o=s.Models.get(e);if(null!=o)return o;throw new Error(`Model '${e}' does not exist. This could be due to a widget or a custom model not being registered before first usage.`)},s.Models.get=e=>{var o;return null!==(o=s.overrides[e])&&void 0!==o?o:a.get(e)},s.Models.register=(e,o)=>{s.overrides[e]=o},s.Models.unregister=e=>{delete s.overrides[e]},s.Models.register_models=(e,o=!1,s)=>{var r;if(null!=e)for(const t of(0,i.isArray)(e)?e:(0,d.values)(e))if(r=t,(0,i.isObject)(r)&&r.prototype instanceof n.HasProps){const e=t.__qualified__;o||!a.has(e)?a.set(e,t):null!=s?s(e):console.warn(`Model '${e}' was already registered`)}},s.register_models=s.Models.register_models,s.Models.registered_names=()=>[...a.keys()];class _{constructor(){this._known_models=new Map}get(e,o){var r;const t=null!==(r=s.Models.get(e))&&void 0!==r?r:this._known_models.get(e);if(null!=t)return t;if(void 0!==o)return o;throw new Error(`Model '${e}' does not exist. This could be due to a widget or a custom model not being registered before first usage.`)}register(e){const o=e.__qualified__;null==this.get(o,null)?this._known_models.set(o,e):console.warn(`Model '${o}' was already registered with this resolver`)}}s.ModelResolver=_,_.__name__=\"ModelResolver\";const g=(0,l.__importStar)(e(38));(0,s.register_models)(g);const u=(0,l.__importStar)(e(392));(0,s.register_models)(u)},\n", - " function _(n,t,r,e,i){e();\n", - " // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", - " // Underscore may be freely distributed under the MIT license.\n", - " const o=n(9),u=Object.prototype.toString;function c(n){return!0===n||!1===n||\"[object Boolean]\"===u.call(n)}function f(n){return\"[object Number]\"===u.call(n)}function l(n){return\"[object String]\"===u.call(n)}function s(n){return\"symbol\"==typeof n}function a(n){const t=typeof n;return\"function\"===t||\"object\"===t&&!!n}function b(n){return a(n)&&void 0!==n[Symbol.iterator]}r.isBoolean=c,r.isNumber=f,r.isInteger=function(n){return f(n)&&Number.isInteger(n)},r.isString=l,r.isSymbol=s,r.isPrimitive=function(n){return null===n||c(n)||f(n)||l(n)||s(n)},r.isFunction=function(n){return\"[object Function]\"===u.call(n)},r.isArray=function(n){return Array.isArray(n)},r.isArrayOf=function(n,t){return(0,o.every)(n,t)},r.isArrayableOf=function(n,t){for(let r=0,e=n.length;r0,\"'step' must be a positive number\"),null==t&&(t=n,n=0);const{max:r,ceil:o,abs:i}=Math,c=n<=t?e:-e,f=r(o(i(t-n)/e),0),s=new Array(f);for(let t=0;t=0?t:n.length+t]},e.zip=function(...n){if(0==n.length)return[];const t=(0,c.min)(n.map((n=>n.length))),e=n.length,r=new Array(t);for(let o=0;on.length))),r=Array(e);for(let n=0;nn[t]))},e.argmax=function(n){return(0,c.max_by)(m(n.length),(t=>n[t]))},e.sort_by=function(n,t){const e=n.map(((n,e)=>({value:n,index:e,key:t(n)})));return e.sort(((n,t)=>{const e=n.key,r=t.key;if(e!==r){if(e>r||void 0===e)return 1;if(en.value))},e.uniq=function(n){const t=new Set;for(const e of n)t.add(e);return[...t]},e.uniq_by=function(n,t){const e=[],r=[];for(const o of n){const n=t(o);l(r,n)||(r.push(n),e.push(o))}return e},e.union=function(...n){const t=new Set;for(const e of n)for(const n of e)t.add(n);return[...t]},e.intersection=function(n,...t){const e=[];n:for(const r of n)if(!l(e,r)){for(const n of t)if(!l(n,r))continue n;e.push(r)}return e},e.difference=function(n,...t){const e=a(t);return n.filter((n=>!l(e,n)))},e.remove_at=function(n,t){const e=s(n);return e.splice(t,1),e},e.remove_by=function(n,t){for(let e=0;e2*u;)n-=2*u;return n}function c(n,r){return a(n-r)}function f(){return Math.random()}function i(n){switch(n){case\"deg\":return u/180;case\"rad\":return 1;case\"grad\":return u/200;case\"turn\":return 2*u}}t.angle_norm=a,t.angle_dist=c,t.angle_between=function(n,r,t,e=!1){const o=c(r,t);if(0==o)return!1;if(o==2*u)return!0;const f=a(n),i=c(r,f)<=o&&c(f,t)<=o;return e?!i:i},t.random=f,t.randomIn=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},t.atan2=function(n,r){return Math.atan2(r[1]-n[1],r[0]-n[0])},t.radians=function(n){return n*(u/180)},t.degrees=function(n){return n/(u/180)},t.resolve_angle=function(n,r){return-i(r)*n},t.to_radians_coeff=i,t.rnorm=function(n,r){let t,e;for(;t=f(),e=f(),e=(2*e-1)*Math.sqrt(1/Math.E*2),!(-4*t*t*Math.log(t)>=e*e););let o=e/t;return o=n+r*o,o},t.clamp=function(n,r,t){return nt?t:n},t.log=function(n,r=Math.E){return Math.log(n)/Math.log(r)}},\n", - " function _(r,n,e,o,s){o();class t extends Error{}e.AssertionError=t,t.__name__=\"AssertionError\",e.assert=function(r,n){if(!(!0===r||!1!==r&&r()))throw new t(null!=n?n:\"Assertion failed\")},e.unreachable=function(){throw new Error(\"unreachable code\")}},\n", - " function _(n,t,e,r,o){r();const i=n(10);function l(n,t,e,...r){const o=n.length;t<0&&(t+=o),t<0?t=0:t>o&&(t=o),null==e||e>o-t?e=o-t:e<0&&(e=0);const i=o-e+r.length,l=new n.constructor(i);let u=0;for(;u0?0:r-1;for(;o>=0&&ot[t.length-1])return t.length;let e=0,r=t.length-1;for(;r-e!=1;){const o=e+Math.floor((r-e)/2);n>=t[o]?e=o:r=o}return e}e.is_empty=function(n){return 0==n.length},e.copy=function(n){return Array.isArray(n)?n.slice():new n.constructor(n)},e.splice=l,e.head=u,e.insert=function(n,t,e){return l(n,e,0,t)},e.append=function(n,t){return l(n,n.length,0,t)},e.prepend=function(n,t){return l(n,0,0,t)},e.indexOf=function(n,t){for(let e=0,r=n.length;ee&&(e=t);return e},e.minmax=function(n){let t,e=1/0,r=-1/0;for(let o=0,i=n.length;or&&(r=t));return[e,r]},e.minmax2=function(n,t){let e,r,o=1/0,i=-1/0,l=1/0,u=-1/0;const c=Math.min(n.length,t.length);for(let f=0;fi&&(i=e),ru&&(u=r));return[o,i,l,u]},e.min_by=function(n,t){if(0==n.length)throw new Error(\"min_by() called with an empty array\");let e=n[0],r=t(e);for(let o=1,i=n.length;or&&(e=i,r=l)}return e},e.sum=function(n){let t=0;for(let e=0,r=n.length;et[r]=n+e),0),t},e.every=function(n,t){for(let e=0,r=n.length;e(n-t)/r))}},\n", - " function _(t,e,n,c,o){c();const s=t(9),{hasOwnProperty:r}=Object.prototype;function i(t){return Object.keys(t).length}function u(t){return 0==i(t)}n.keys=Object.keys,n.values=Object.values,n.entries=Object.entries,n.extend=Object.assign,n.clone=function(t){return Object.assign({},t)},n.merge=function(t,e){const n=Object.create(Object.prototype),c=(0,s.concat)([Object.keys(t),Object.keys(e)]);for(const o of c){const c=r.call(t,o)?t[o]:[],i=r.call(e,o)?e[o]:[];n[o]=(0,s.union)(c,i)}return n},n.size=i,n.is_empty=u,n.isEmpty=u,n.to_object=function(t){const e={};for(const[n,c]of t)e[n]=c;return e}},\n", - " function _(e,t,s,n,r){n();const i=e(1);var o;const c=e(15),a=e(17),_=(0,i.__importStar)(e(18)),h=(0,i.__importStar)(e(21)),u=e(34),l=e(13),f=e(8),p=e(26),d=e(30),g=e(35),y=e(26),v=e(36),m=e(37),b=(0,i.__importStar)(e(21));class w extends((0,c.Signalable)()){constructor(e={}){var t,s;super(),this._subtype=void 0,this.document=null,this.destroyed=new c.Signal0(this,\"destroyed\"),this.change=new c.Signal0(this,\"change\"),this.transformchange=new c.Signal0(this,\"transformchange\"),this.exprchange=new c.Signal0(this,\"exprchange\"),this.properties={},this._watchers=new WeakMap,this._pending=!1,this._changing=!1;const n=e instanceof Map?e.get.bind(e):t=>e[t];this.id=null!==(t=n(\"id\"))&&void 0!==t?t:(0,u.uniqueId)();for(const[e,{type:t,default_value:s,options:r}]of(0,l.entries)(this._props)){let i;t instanceof _.PropertyAlias?Object.defineProperty(this.properties,e,{get:()=>this.properties[t.attr],configurable:!1,enumerable:!1}):(i=t instanceof h.Kind?new _.PrimitiveProperty(this,e,t,s,n(e),r):new t(this,e,h.Any,s,n(e),r),this.properties[e]=i)}null!==(s=n(\"__deferred__\"))&&void 0!==s&&s||(this.finalize(),this.connect_signals())}get is_syncable(){return!0}set type(e){console.warn(\"prototype.type = 'ModelName' is deprecated, use static __name__ instead\"),this.constructor.__name__=e}get type(){return this.constructor.__qualified__}static get __qualified__(){const{__module__:e,__name__:t}=this;return null!=e?`${e}.${t}`:t}static get[Symbol.toStringTag](){return this.__name__}static _fix_default(e,t){if(void 0===e||(0,f.isFunction)(e))return e;if((0,f.isPrimitive)(e))return()=>e;{const t=new m.Cloner;return()=>t.clone(e)}}static define(e){for(const[t,s]of(0,l.entries)((0,f.isFunction)(e)?e(b):e)){if(null!=this.prototype._props[t])throw new Error(`attempted to redefine property '${this.prototype.type}.${t}'`);if(null!=this.prototype[t])throw new Error(`attempted to redefine attribute '${this.prototype.type}.${t}'`);Object.defineProperty(this.prototype,t,{get(){return this.properties[t].get_value()},set(e){return this.setv({[t]:e}),this},configurable:!1,enumerable:!0});const[e,n,r={}]=s,i={type:e,default_value:this._fix_default(n,t),options:r},o=Object.assign({},this.prototype._props);o[t]=i,this.prototype._props=o}}static internal(e){const t={};for(const[s,n]of(0,l.entries)((0,f.isFunction)(e)?e(b):e)){const[e,r,i={}]=n;t[s]=[e,r,Object.assign(Object.assign({},i),{internal:!0})]}this.define(t)}static mixins(e){function t(e,t){const s={};for(const[n,r]of(0,l.entries)(t))s[e+n]=r;return s}const s={},n=[];for(const r of(0,f.isArray)(e)?e:[e])if((0,f.isArray)(r)){const[e,i]=r;(0,l.extend)(s,t(e,i)),n.push([e,i])}else{const e=r;(0,l.extend)(s,e),n.push([\"\",e])}this.define(s),this.prototype._mixins=[...this.prototype._mixins,...n]}static override(e){for(const[t,s]of(0,l.entries)(e)){const e=this._fix_default(s,t),n=this.prototype._props[t];if(null==n)throw new Error(`attempted to override nonexistent '${this.prototype.type}.${t}'`);const r=Object.assign({},this.prototype._props);r[t]=Object.assign(Object.assign({},n),{default_value:e}),this.prototype._props=r}}toString(){return`${this.type}(${this.id})`}property(e){const t=this.properties[e];if(null!=t)return t;throw new Error(`unknown property ${this.type}.${e}`)}get attributes(){const e={};for(const t of this)e[t.attr]=t.get_value();return e}[m.clone](e){const t=new Map;for(const s of this)s.dirty&&t.set(s.attr,e.clone(s.get_value()));return new this.constructor(t)}[y.equals](e,t){for(const s of this){const n=e.property(s.attr);if(!t.eq(s.get_value(),n.get_value()))return!1}return!0}[v.pretty](e){const t=e.token,s=[];for(const n of this)if(n.dirty){const r=n.get_value();s.push(`${n.attr}${t(\":\")} ${e.to_string(r)}`)}return`${this.constructor.__qualified__}${t(\"(\")}${t(\"{\")}${s.join(`${t(\",\")} `)}${t(\"}\")}${t(\")\")}`}[d.serialize](e){const t=this.ref();e.add_ref(this,t);const s=this.struct();for(const t of this)t.syncable&&(e.include_defaults||t.dirty)&&(s.attributes[t.attr]=e.to_serializable(t.get_value()));return e.add_def(this,s),t}finalize(){for(const e of this){if(!(e instanceof _.VectorSpec||e instanceof _.ScalarSpec))continue;const t=e.get_value();if(null!=t){const{transform:e,expr:s}=t;null!=e&&this.connect(e.change,(()=>this.transformchange.emit())),null!=s&&this.connect(s.change,(()=>this.exprchange.emit()))}}this.initialize()}initialize(){}connect_signals(){}disconnect_signals(){c.Signal.disconnectReceiver(this)}destroy(){this.disconnect_signals(),this.destroyed.emit()}clone(){return(new m.Cloner).clone(this)}changed_for(e){const t=this._watchers.get(e);return this._watchers.set(e,!1),null==t||t}_setv(e,t){const s=t.check_eq,n=[],r=this._changing;this._changing=!0;for(const[t,r]of e)!1!==s&&(0,p.is_equal)(t.get_value(),r)||(t.set_value(r),n.push(t));n.length>0&&(this._watchers=new WeakMap,this._pending=!0);for(const e of n)e.change.emit();if(!r){if(!t.no_change)for(;this._pending;)this._pending=!1,this.change.emit();this._pending=!1,this._changing=!1}}setv(e,t={}){const s=(0,l.entries)(e);if(0==s.length)return;if(!0===t.silent){this._watchers=new WeakMap;for(const[e,t]of s)this.properties[e].set_value(t);return}const n=new Map,r=new Map;for(const[e,t]of s){const s=this.properties[e];n.set(s,t),r.set(s,s.get_value())}this._setv(n,t);const{document:i}=this;if(null!=i){const e=[];for(const[t,s]of r)e.push([t,s,t.get_value()]);for(const[,t,s]of e)if(this._needs_invalidate(t,s)){i._invalidate_all_models();break}this._push_changes(e,t)}}getv(e){return this.property(e).get_value()}ref(){return{id:this.id}}struct(){const e={type:this.type,id:this.id,attributes:{}};return null!=this._subtype&&(e.subtype=this._subtype),e}set_subtype(e){this._subtype=e}*[Symbol.iterator](){yield*(0,l.values)(this.properties)}*syncable_properties(){for(const e of this)e.syncable&&(yield e)}serializable_attributes(){const e={};for(const t of this.syncable_properties())e[t.attr]=t.get_value();return e}static _json_record_references(e,t,s,n){const{recursive:r}=n;if((0,a.is_ref)(t)){const n=e.get_model_by_id(t.id);null==n||s.has(n)||w._value_record_references(n,s,{recursive:r})}else if((0,f.isArray)(t))for(const n of t)w._json_record_references(e,n,s,{recursive:r});else if((0,f.isPlainObject)(t))for(const n of(0,l.values)(t))w._json_record_references(e,n,s,{recursive:r})}static _value_record_references(e,t,s){const{recursive:n}=s;if(e instanceof w){if(!t.has(e)&&(t.add(e),n))for(const s of e.syncable_properties()){const e=s.get_value();w._value_record_references(e,t,{recursive:n})}}else if((0,f.isArray)(e))for(const s of e)w._value_record_references(s,t,{recursive:n});else if((0,f.isPlainObject)(e))for(const s of(0,l.values)(e))w._value_record_references(s,t,{recursive:n})}references(){const e=new Set;return w._value_record_references(this,e,{recursive:!0}),e}_doc_attached(){}_doc_detached(){}attach_document(e){if(null!=this.document&&this.document!=e)throw new Error(\"models must be owned by only a single document\");this.document=e,this._doc_attached()}detach_document(){this._doc_detached(),this.document=null}_needs_invalidate(e,t){const s=new Set;w._value_record_references(t,s,{recursive:!1});const n=new Set;w._value_record_references(e,n,{recursive:!1});for(const e of s)if(!n.has(e))return!0;for(const e of n)if(!s.has(e))return!0;return!1}_push_changes(e,t={}){if(!this.is_syncable)return;const{document:s}=this;if(null==s)return;const{setter_id:n}=t,r=[];for(const[t,i,o]of e)t.syncable&&r.push(new g.ModelChangedEvent(s,this,t.attr,i,o,n));if(0!=r.length){let e;1==r.length?[e]=r:e=new g.DocumentEventBatch(s,r,n),s._trigger_on_change(e)}}on_change(e,t){for(const s of(0,f.isArray)(e)?e:[e])this.connect(s.change,t)}}s.HasProps=w,(o=w).prototype._props={},o.prototype._mixins=[]},\n", - " function _(n,t,e,l,s){l();const i=n(16),o=n(9);class c{constructor(n,t){this.sender=n,this.name=t}connect(n,t=null){u.has(this.sender)||u.set(this.sender,[]);const e=u.get(this.sender);if(null!=g(e,this,n,t))return!1;const l=null!=t?t:n;a.has(l)||a.set(l,[]);const s=a.get(l),i={signal:this,slot:n,context:t};return e.push(i),s.push(i),!0}disconnect(n,t=null){const e=u.get(this.sender);if(null==e||0===e.length)return!1;const l=g(e,this,n,t);if(null==l)return!1;const s=null!=t?t:n,i=a.get(s);return l.signal=null,d(e),d(i),!0}emit(n){var t;const e=null!==(t=u.get(this.sender))&&void 0!==t?t:[];for(const{signal:t,slot:l,context:s}of e)t===this&&l.call(s,n,this.sender)}}e.Signal=c,c.__name__=\"Signal\";class r extends c{emit(){super.emit(void 0)}}e.Signal0=r,r.__name__=\"Signal0\",function(n){function t(n,t){const e=u.get(n);if(null==e||0===e.length)return;const l=a.get(t);if(null!=l&&0!==l.length){for(const t of l){if(null==t.signal)return;t.signal.sender===n&&(t.signal=null)}d(e),d(l)}}function e(n){var t;const e=u.get(n);if(null!=e&&0!==e.length){for(const n of e){if(null==n.signal)return;const e=null!==(t=n.context)&&void 0!==t?t:n.slot;n.signal=null,d(a.get(e))}d(e)}}function l(n,t,e){const l=a.get(n);if(null!=l&&0!==l.length){for(const n of l){if(null==n.signal)return;if(null!=t&&n.slot!=t)continue;const l=n.signal.sender;null!=e&&e.has(l)||(n.signal=null,d(u.get(l)))}d(l)}}function s(n){const t=u.get(n);if(null!=t&&0!==t.length){for(const n of t)n.signal=null;d(t)}const e=a.get(n);if(null!=e&&0!==e.length){for(const n of e)n.signal=null;d(e)}}n.disconnect_between=t,n.disconnect_sender=e,n.disconnect_receiver=l,n.disconnect_all=s,n.disconnectBetween=t,n.disconnectSender=e,n.disconnectReceiver=l,n.disconnectAll=s}(c||(e.Signal=c={})),e.Signalable=function(){return class{connect(n,t){return n.connect(t,this)}disconnect(n,t){return n.disconnect(t,this)}}};const u=new WeakMap,a=new WeakMap;function g(n,t,e,l){return(0,o.find)(n,(n=>n.signal===t&&n.slot===e&&n.context===l))}const f=new Set;function d(n){0===f.size&&(async()=>{await(0,i.defer)(),function(){for(const n of f)(0,o.remove_by)(n,(n=>null==n.signal));f.clear()}()})(),f.add(n)}},\n", - " function _(e,n,t,s,o){s();const r=new MessageChannel,a=new Map;r.port1.onmessage=e=>{const n=e.data,t=a.get(n);if(null!=t)try{t()}finally{a.delete(n)}};let i=1;t.defer=function(){return new Promise((e=>{const n=i++;a.set(n,e),r.port2.postMessage(n)}))},t.wait=function(e){return new Promise((n=>setTimeout(n,e)))}},\n", - " function _(n,t,i,e,c){e();const r=n(8),s=n(13);i.is_ref=function(n){if((0,r.isPlainObject)(n)){const t=(0,s.keys)(n);return 1==t.length&&\"id\"==t[0]}return!1}},\n", - " function _(e,t,n,r,a){r(),n.YCoordinateSeqSeqSeqSpec=n.XCoordinateSeqSeqSeqSpec=n.YCoordinateSeqSpec=n.XCoordinateSeqSpec=n.YCoordinateSpec=n.XCoordinateSpec=n.CoordinateSeqSeqSeqSpec=n.CoordinateSeqSpec=n.CoordinateSpec=n.BaseCoordinateSpec=n.NumberUnitsSpec=n.UnitsSpec=n.DataSpec=n.VectorSpec=n.TextBaselineScalar=n.TextAlignScalar=n.FontStyleScalar=n.FontSizeScalar=n.FontScalar=n.LineDashScalar=n.LineCapScalar=n.LineJoinScalar=n.ArrayScalar=n.NullStringScalar=n.StringScalar=n.NumberScalar=n.ColorScalar=n.AnyScalar=n.ScalarSpec=n.VerticalAlign=n.UpdateMode=n.TooltipAttachment=n.TickLabelOrientation=n.TextureRepetition=n.TextBaseline=n.TextAlign=n.TapBehavior=n.StepMode=n.StartEnd=n.SpatialUnits=n.Sort=n.SizingMode=n.Side=n.RoundingFunction=n.ResetPolicy=n.RenderMode=n.RenderLevel=n.RadiusDimension=n.PointPolicy=n.Place=void 0,n.TextBaselineSpec=n.TextAlignSpec=n.FontStyleSpec=n.FontSizeSpec=n.FontSpec=n.LineDashSpec=n.LineCapSpec=n.LineJoinSpec=n.MarkerSpec=n.ArraySpec=n.NullStringSpec=n.StringSpec=n.AnySpec=n.NDArraySpec=n.ColorSpec=n.ScreenSizeSpec=n.NumberSpec=n.IntSpec=n.BooleanSpec=n.NullDistanceSpec=n.DistanceSpec=n.AngleSpec=void 0;const i=e(1),s=e(15),l=e(19),o=(0,i.__importStar)(e(20)),c=e(24),_=e(9),u=e(12),d=e(10),S=e(22),p=e(27),m=e(8),h=e(28),v=e(29),y=e(33);function x(e){try{return JSON.stringify(e)}catch(t){return e.toString()}}function g(e){return(0,m.isPlainObject)(e)&&(void 0===e.value?0:1)+(void 0===e.field?0:1)+(void 0===e.expr?0:1)==1}a(\"Uniform\",y.Uniform),a(\"UniformScalar\",y.UniformScalar),a(\"UniformVector\",y.UniformVector),n.isSpec=g;class f{constructor(e,t,n,r,a,i={}){var l;let o;if(this.obj=e,this.attr=t,this.kind=n,this.default_value=r,this._dirty=!1,this.change=new s.Signal0(this.obj,\"change\"),this.internal=null!==(l=i.internal)&&void 0!==l&&l,this.convert=i.convert,this.on_update=i.on_update,void 0!==a)o=a,this._dirty=!0;else{const t=this._default_override();if(void 0!==t)o=t;else{if(void 0===r)return void(this.spec={value:null});o=r(e)}}this._update(o)}get is_value(){return void 0!==this.spec.value}get syncable(){return!this.internal}get_value(){return this.spec.value}set_value(e){this._update(e),this._dirty=!0}_default_override(){}get dirty(){return this._dirty}_update(e){var t;if(this.validate(e),null!=this.convert){const t=this.convert(e);void 0!==t&&(e=t)}this.spec={value:e},null===(t=this.on_update)||void 0===t||t.call(this,e,this.obj)}toString(){return`Prop(${this.obj}.${this.attr}, spec: ${x(this.spec)})`}normalize(e){return e}validate(e){if(!this.valid(e))throw new Error(`${this.obj}.${this.attr} given invalid value: ${x(e)}`)}valid(e){return this.kind.valid(e)}_value(e=!0){if(!this.is_value)throw new Error(\"attempted to retrieve property value for property without value specification\");let t=this.normalize([this.spec.value])[0];return null!=this.spec.transform&&e&&(t=this.spec.transform.compute(t)),t}}n.Property=f,f.__name__=\"Property\";class A{constructor(e){this.attr=e}}n.PropertyAlias=A,A.__name__=\"PropertyAlias\",n.Alias=function(e){return new A(e)};class C extends f{}n.PrimitiveProperty=C,C.__name__=\"PrimitiveProperty\";class T extends f{}n.Any=T,T.__name__=\"Any\";class L extends f{valid(e){return(0,m.isArray)(e)||(0,m.isTypedArray)(e)}}n.Array=L,L.__name__=\"Array\";class w extends f{valid(e){return(0,m.isBoolean)(e)}}n.Boolean=w,w.__name__=\"Boolean\";class P extends f{valid(e){return(0,S.is_Color)(e)}}n.Color=P,P.__name__=\"Color\";class b extends f{}n.Instance=b,b.__name__=\"Instance\";class q extends f{valid(e){return(0,m.isNumber)(e)}}n.Number=q,q.__name__=\"Number\";class N extends q{valid(e){return(0,m.isNumber)(e)&&(0|e)==e}}n.Int=N,N.__name__=\"Int\";class z extends q{}n.Angle=z,z.__name__=\"Angle\";class B extends q{valid(e){return(0,m.isNumber)(e)&&0<=e&&e<=1}}n.Percent=B,B.__name__=\"Percent\";class F extends f{valid(e){return(0,m.isString)(e)}}n.String=F,F.__name__=\"String\";class D extends f{valid(e){return null===e||(0,m.isString)(e)}}n.NullString=D,D.__name__=\"NullString\";class U extends F{}n.FontSize=U,U.__name__=\"FontSize\";class M extends F{_default_override(){return h.settings.dev?\"Bokeh\":void 0}}n.Font=M,M.__name__=\"Font\";class R extends f{valid(e){return(0,m.isString)(e)&&(0,_.includes)(this.enum_values,e)}}function k(e){return class extends R{get enum_values(){return[...e]}}}n.EnumProperty=R,R.__name__=\"EnumProperty\",n.Enum=k;class O extends R{get enum_values(){return[...o.Direction]}normalize(e){const t=new Uint8Array(e.length);for(let n=0;n=0}}n.ScreenSizeSpec=fe,fe.__name__=\"ScreenSizeSpec\";class Ae extends ne{materialize(e){return(0,S.encode_rgba)((0,S.color2rgba)(e))}v_materialize(e){if(!(0,v.is_NDArray)(e)){const t=e.length,n=new c.RGBAArray(4*t);let r=0;for(const t of e){const[e,a,i,s]=(0,S.color2rgba)(t);n[r++]=e,n[r++]=a,n[r++]=i,n[r++]=s}return new c.ColorArray(n.buffer)}if(\"uint32\"==e.dtype&&1==e.dimension)return(0,p.to_big_endian)(e);if(\"uint8\"==e.dtype&&1==e.dimension){const[t]=e.shape,n=new c.RGBAArray(4*t);let r=0;for(const t of e)n[r++]=t,n[r++]=t,n[r++]=t,n[r++]=255;return new c.ColorArray(n.buffer)}if(\"uint8\"==e.dtype&&2==e.dimension){const[t,n]=e.shape;if(4==n)return new c.ColorArray(e.buffer);if(3==n){const r=new c.RGBAArray(4*t);for(let a=0,i=0;a0){let o=r[e];return null==o&&(r[e]=o=new v(e,l)),o}throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\")}get level(){return this.get_level()}get_level(){return this._log_level}set_level(e){if(e instanceof i)this._log_level=e;else{if(!(0,s.isString)(e)||null==v.log_levels[e])throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");this._log_level=v.log_levels[e]}const l=`[${this._name}]`;for(const[e,o]of(0,g.entries)(v.log_levels))o.level\",\"*\"),t.HTTPMethod=(0,a.Enum)(\"POST\",\"GET\"),t.HexTileOrientation=(0,a.Enum)(\"pointytop\",\"flattop\"),t.HoverMode=(0,a.Enum)(\"mouse\",\"hline\",\"vline\"),t.LatLon=(0,a.Enum)(\"lat\",\"lon\"),t.LegendClickPolicy=(0,a.Enum)(\"none\",\"hide\",\"mute\"),t.LegendLocation=t.Anchor,t.LineCap=(0,a.Enum)(\"butt\",\"round\",\"square\"),t.LineJoin=(0,a.Enum)(\"miter\",\"round\",\"bevel\"),t.LineDash=(0,a.Enum)(\"solid\",\"dashed\",\"dotted\",\"dotdash\",\"dashdot\"),t.LinePolicy=(0,a.Enum)(\"prev\",\"next\",\"nearest\",\"interp\",\"none\"),t.Location=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\"),t.Logo=(0,a.Enum)(\"normal\",\"grey\"),t.MarkerType=(0,a.Enum)(\"asterisk\",\"circle\",\"circle_cross\",\"circle_dot\",\"circle_x\",\"circle_y\",\"cross\",\"dash\",\"diamond\",\"diamond_cross\",\"diamond_dot\",\"dot\",\"hex\",\"hex_dot\",\"inverted_triangle\",\"plus\",\"square\",\"square_cross\",\"square_dot\",\"square_pin\",\"square_x\",\"star\",\"star_dot\",\"triangle\",\"triangle_dot\",\"triangle_pin\",\"x\",\"y\"),t.MutedPolicy=(0,a.Enum)(\"show\",\"ignore\"),t.Orientation=(0,a.Enum)(\"vertical\",\"horizontal\"),t.OutputBackend=(0,a.Enum)(\"canvas\",\"svg\",\"webgl\"),t.PaddingUnits=(0,a.Enum)(\"percent\",\"absolute\"),t.Place=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\",\"center\"),t.PointPolicy=(0,a.Enum)(\"snap_to_data\",\"follow_mouse\",\"none\"),t.RadiusDimension=(0,a.Enum)(\"x\",\"y\",\"max\",\"min\"),t.RenderLevel=(0,a.Enum)(\"image\",\"underlay\",\"glyph\",\"guide\",\"annotation\",\"overlay\"),t.RenderMode=(0,a.Enum)(\"canvas\",\"css\"),t.ResetPolicy=(0,a.Enum)(\"standard\",\"event_only\"),t.RoundingFunction=(0,a.Enum)(\"round\",\"nearest\",\"floor\",\"rounddown\",\"ceil\",\"roundup\"),t.SelectionMode=(0,a.Enum)(\"replace\",\"append\",\"intersect\",\"subtract\"),t.Side=(0,a.Enum)(\"above\",\"below\",\"left\",\"right\"),t.SizingMode=(0,a.Enum)(\"stretch_width\",\"stretch_height\",\"stretch_both\",\"scale_width\",\"scale_height\",\"scale_both\",\"fixed\"),t.Sort=(0,a.Enum)(\"ascending\",\"descending\"),t.SpatialUnits=(0,a.Enum)(\"screen\",\"data\"),t.StartEnd=(0,a.Enum)(\"start\",\"end\"),t.StepMode=(0,a.Enum)(\"after\",\"before\",\"center\"),t.TapBehavior=(0,a.Enum)(\"select\",\"inspect\"),t.TextAlign=(0,a.Enum)(\"left\",\"right\",\"center\"),t.TextBaseline=(0,a.Enum)(\"top\",\"middle\",\"bottom\",\"alphabetic\",\"hanging\",\"ideographic\"),t.TextureRepetition=(0,a.Enum)(\"repeat\",\"repeat_x\",\"repeat_y\",\"no_repeat\"),t.TickLabelOrientation=(0,a.Enum)(\"vertical\",\"horizontal\",\"parallel\",\"normal\"),t.TooltipAttachment=(0,a.Enum)(\"horizontal\",\"vertical\",\"left\",\"right\",\"above\",\"below\"),t.UpdateMode=(0,a.Enum)(\"replace\",\"append\"),t.VerticalAlign=(0,a.Enum)(\"top\",\"middle\",\"bottom\")},\n", - " function _(e,n,t,s,r){s();const i=(0,e(1).__importStar)(e(8)),a=e(22),l=e(13),_=window.Map,{hasOwnProperty:u}=Object.prototype;class d{}t.Kind=d,d.__name__=\"Kind\",function(e){class n extends d{valid(e){return!0}}n.__name__=\"Any\",e.Any=n;class t extends d{valid(e){return!0}}t.__name__=\"Unknown\",e.Unknown=t;class s extends d{valid(e){return i.isBoolean(e)}}s.__name__=\"Boolean\",e.Boolean=s;class r extends d{constructor(e){super(),this.obj_type=e}valid(e){return!0}}r.__name__=\"Ref\",e.Ref=r;class c extends d{valid(e){return!0}}c.__name__=\"AnyRef\",e.AnyRef=c;class o extends d{valid(e){return i.isNumber(e)}}o.__name__=\"Number\",e.Number=o;class p extends o{valid(e){return super.valid(e)&&i.isInteger(e)}}p.__name__=\"Int\",e.Int=p;class y extends o{valid(e){return super.valid(e)&&0<=e&&e<=1}}y.__name__=\"Percent\",e.Percent=y;class m extends d{constructor(e){super(),this.types=e,this.types=e}valid(e){return this.types.some((n=>n.valid(e)))}}m.__name__=\"Or\",e.Or=m;class v extends d{constructor(e){super(),this.types=e,this.types=e}valid(e){if(!i.isArray(e))return!1;for(let n=0;nthis.item_type.valid(e)))}}f.__name__=\"Array\",e.Array=f;class K extends d{valid(e){return null===e}}K.__name__=\"Null\",e.Null=K;class b extends d{constructor(e){super(),this.base_type=e}valid(e){return null===e||this.base_type.valid(e)}}b.__name__=\"Nullable\",e.Nullable=b;class A extends d{constructor(e){super(),this.base_type=e}valid(e){return void 0===e||this.base_type.valid(e)}}A.__name__=\"Opt\",e.Opt=A;class x extends d{valid(e){return i.isString(e)}}x.__name__=\"String\",e.String=x;class S extends d{constructor(e){super(),this.values=new Set(e)}valid(e){return this.values.has(e)}*[Symbol.iterator](){yield*this.values}}S.__name__=\"Enum\",e.Enum=S;class N extends d{constructor(e){super(),this.item_type=e}valid(e){if(!i.isPlainObject(e))return!1;for(const n in e)if(u.call(e,n)){const t=e[n];if(!this.item_type.valid(t))return!1}return!0}}N.__name__=\"Dict\",e.Dict=N;class O extends d{constructor(e,n){super(),this.key_type=e,this.item_type=n}valid(e){if(!(e instanceof _))return!1;for(const[n,t]of e.entries())if(!this.key_type.valid(n)||!this.item_type.valid(t))return!1;return!0}}O.__name__=\"Map\",e.Map=O;class g extends d{valid(e){return(0,a.is_Color)(e)}}g.__name__=\"Color\",e.Color=g;class P extends d{valid(e){return i.isFunction(e)}}P.__name__=\"Function\",e.Function=P}(t.Kinds||(t.Kinds={})),t.Any=new t.Kinds.Any,t.Unknown=new t.Kinds.Unknown,t.Boolean=new t.Kinds.Boolean,t.Number=new t.Kinds.Number,t.Int=new t.Kinds.Int,t.String=new t.Kinds.String,t.Null=new t.Kinds.Null;t.Nullable=e=>new t.Kinds.Nullable(e);t.Opt=e=>new t.Kinds.Opt(e);t.Or=(...e)=>new t.Kinds.Or(e);t.Tuple=(...e)=>new t.Kinds.Tuple(e);t.Struct=e=>new t.Kinds.Struct(e),t.Arrayable=new t.Kinds.Arrayable;t.Array=e=>new t.Kinds.Array(e);t.Dict=e=>new t.Kinds.Dict(e);t.Map=(e,n)=>new t.Kinds.Map(e,n);t.Enum=(...e)=>new t.Kinds.Enum(e);t.Ref=e=>new t.Kinds.Ref(e);t.AnyRef=()=>new t.Kinds.AnyRef;t.Function=()=>new t.Kinds.Function,t.Percent=new t.Kinds.Percent,t.Alpha=t.Percent,t.Color=new t.Kinds.Color,t.Auto=(0,t.Enum)(\"auto\"),t.FontSize=t.String,t.Font=t.String,t.Angle=t.Number},\n", - " function _(n,t,r,e,s){e();const u=n(23),c=n(10),l=n(8),{round:i}=Math;function o(n){return(0,c.clamp)(i(n),0,255)}function a(){return[0,0,0,0]}function f(n){return[n>>24&255,n>>16&255,n>>8&255,255&n]}function d(n,t){var r;let e,s,u,c;return null==n?[e,s,u,c]=[0,0,0,0]:(0,l.isInteger)(n)?[e,s,u,c]=f(n):(0,l.isString)(n)?[e,s,u,c]=null!==(r=_(n))&&void 0!==r?r:[0,0,0,0]:([e,s,u,c=1]=n,c=o(255*c)),255==c&&null!=t&&(c=o(255*t)),[e,s,u,c]}r.transparent=a,r.encode_rgba=function([n,t,r,e]){return n<<24|t<<16|r<<8|e},r.decode_rgba=f,r.compose_alpha=function(n,t){return 255==(255&n)?4294967040&n|o(255*t):n},r.color2rgba=d;const h={0:\"0\",1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",10:\"a\",11:\"b\",12:\"c\",13:\"d\",14:\"e\",15:\"f\"};function g(n){return h[n>>4]+h[15&n]}r.color2css=function(n,t){const[r,e,s,u]=d(n,t);return`rgba(${r}, ${e}, ${s}, ${u/255})`},r.color2hex=function(n,t){const[r,e,s,u]=d(n,t),c=`#${g(r)}${g(e)}${g(s)}`;return 255==u?c:`${c}${g(u)}`},r.color2hexrgb=function(n){const[t,r,e]=d(n);return`#${g(t)}${g(r)}${g(e)}`};const b=/^rgba?\\(\\s*([^\\s,]+?)\\s+([^\\s,]+?)\\s+([^\\s,]+?)(?:\\s*\\/\\s*([^\\s,]+?))?\\s*\\)$/,$=/^rgba?\\(\\s*([^\\s,]+?)\\s*,\\s*([^\\s,]+?)\\s*,\\s*([^\\s,]+?)(?:\\s*,\\s*([^\\s,]+?))?\\s*\\)$/,m=(()=>{const n=document.createElement(\"canvas\");n.width=1,n.height=1;const t=n.getContext(\"2d\"),r=t.createLinearGradient(0,0,1,1);return n=>{t.fillStyle=r,t.fillStyle=n;const e=t.fillStyle;return e!=r?e:null}})();function _(n){var t;if(!(n=n.trim().toLowerCase()))return null;if(\"transparent\"==n)return[0,0,0,0];if((0,u.is_named_color)(n))return f(u.named_colors[n]);if(\"#\"==n[0]){const t=Number(`0x${n.substr(1)}`);if(isNaN(t))return null;switch(n.length-1){case 3:{const n=t>>8&15,r=t>>4&15,e=t>>0&15;return[n<<4|n,r<<4|r,e<<4|e,255]}case 4:{const n=t>>12&15,r=t>>8&15,e=t>>4&15,s=t>>0&15;return[n<<4|n,r<<4|r,e<<4|e,s<<4|s]}case 6:return[t>>16&255,t>>8&255,t>>0&255,255];case 8:return[t>>24&255,t>>16&255,t>>8&255,t>>0&255]}}else if(n.startsWith(\"rgb\")){const r=null!==(t=n.match(b))&&void 0!==t?t:n.match($);if(null!=r){let[,n,t,e,s=\"1\"]=r;const u=n.endsWith(\"%\"),c=t.endsWith(\"%\"),l=e.endsWith(\"%\"),i=s.endsWith(\"%\");if(!(u&&c&&l)&&(u||c||l))return null;u&&(n=n.slice(0,-1)),c&&(t=t.slice(0,-1)),l&&(e=e.slice(0,-1)),i&&(s=s.slice(0,-1));let a=Number(n),f=Number(t),d=Number(e),h=Number(s);return isNaN(a+f+d+h)?null:(u&&(a=a/100*255),c&&(f=f/100*255),l&&(d=d/100*255),h=255*(i?h/100:h),a=o(a),f=o(f),d=o(d),h=o(h),[a,f,d,h])}}else{const t=m(n);if(null!=t)return _(t)}return null}r.css4_parse=_,r.is_Color=function(n){return!!(0,l.isInteger)(n)||(!(!(0,l.isString)(n)||null==_(n))||!(!(0,l.isArray)(n)||3!=n.length&&4!=n.length))},r.is_dark=function([n,t,r]){return 1-(.299*n+.587*t+.114*r)/255>=.6}},\n", - " function _(e,r,l,a,i){a();l.named_colors={aliceblue:4042850303,antiquewhite:4209760255,aqua:16777215,aquamarine:2147472639,azure:4043309055,beige:4126530815,bisque:4293182719,black:255,blanchedalmond:4293643775,blue:65535,blueviolet:2318131967,brown:2771004159,burlywood:3736635391,cadetblue:1604231423,chartreuse:2147418367,chocolate:3530104575,coral:4286533887,cornflowerblue:1687547391,cornsilk:4294499583,crimson:3692313855,cyan:16777215,darkblue:35839,darkcyan:9145343,darkgoldenrod:3095792639,darkgray:2846468607,darkgreen:6553855,darkgrey:2846468607,darkkhaki:3182914559,darkmagenta:2332068863,darkolivegreen:1433087999,darkorange:4287365375,darkorchid:2570243327,darkred:2332033279,darksalmon:3918953215,darkseagreen:2411499519,darkslateblue:1211993087,darkslategray:793726975,darkslategrey:793726975,darkturquoise:13554175,darkviolet:2483082239,deeppink:4279538687,deepskyblue:12582911,dimgray:1768516095,dimgrey:1768516095,dodgerblue:512819199,firebrick:2988581631,floralwhite:4294635775,forestgreen:579543807,fuchsia:4278255615,gainsboro:3705462015,ghostwhite:4177068031,gold:4292280575,goldenrod:3668254975,gray:2155905279,green:8388863,greenyellow:2919182335,grey:2155905279,honeydew:4043305215,hotpink:4285117695,indianred:3445382399,indigo:1258324735,ivory:4294963455,khaki:4041641215,lavender:3873897215,lavenderblush:4293981695,lawngreen:2096890111,lemonchiffon:4294626815,lightblue:2916673279,lightcoral:4034953471,lightcyan:3774873599,lightgoldenrodyellow:4210742015,lightgray:3553874943,lightgreen:2431553791,lightgrey:3553874943,lightpink:4290167295,lightsalmon:4288707327,lightseagreen:548580095,lightskyblue:2278488831,lightslategray:2005441023,lightslategrey:2005441023,lightsteelblue:2965692159,lightyellow:4294959359,lime:16711935,limegreen:852308735,linen:4210091775,magenta:4278255615,maroon:2147483903,mediumaquamarine:1724754687,mediumblue:52735,mediumorchid:3126187007,mediumpurple:2473647103,mediumseagreen:1018393087,mediumslateblue:2070474495,mediumspringgreen:16423679,mediumturquoise:1221709055,mediumvioletred:3340076543,midnightblue:421097727,mintcream:4127193855,mistyrose:4293190143,moccasin:4293178879,navajowhite:4292783615,navy:33023,oldlace:4260751103,olive:2155872511,olivedrab:1804477439,orange:4289003775,orangered:4282712319,orchid:3664828159,palegoldenrod:4008225535,palegreen:2566625535,paleturquoise:2951671551,palevioletred:3681588223,papayawhip:4293907967,peachpuff:4292524543,peru:3448061951,pink:4290825215,plum:3718307327,powderblue:2967529215,purple:2147516671,rebeccapurple:1714657791,red:4278190335,rosybrown:3163525119,royalblue:1097458175,saddlebrown:2336560127,salmon:4202722047,sandybrown:4104413439,seagreen:780883967,seashell:4294307583,sienna:2689740287,silver:3233857791,skyblue:2278484991,slateblue:1784335871,slategray:1887473919,slategrey:1887473919,snow:4294638335,springgreen:16744447,steelblue:1182971135,tan:3535047935,teal:8421631,thistle:3636451583,tomato:4284696575,turquoise:1088475391,violet:4001558271,wheat:4125012991,white:4294967295,whitesmoke:4126537215,yellow:4294902015,yellowgreen:2597139199},l.is_named_color=function(e){return e in l.named_colors}},\n", - " function _(r,t,n,a,o){a(),n.GeneratorFunction=Object.getPrototypeOf((function*(){})).constructor,n.ColorArray=Uint32Array,n.RGBAArray=Uint8ClampedArray,n.infer_type=function(r,t){return r instanceof Float64Array||r instanceof Array||t instanceof Float64Array||t instanceof Array?Float64Array:Float32Array},n.ScreenArray=Float32Array,n.to_screen=function(r){return r instanceof Float32Array?r:Float32Array.from(r)},o(\"Indices\",r(25).BitSet)},\n", - " function _(t,s,r,e,i){var n;e();const o=t(26),a=t(11);class _{constructor(t,s=0){this.size=t,this[n]=\"BitSet\",this._count=null,this._nwords=Math.ceil(t/32),0==s||1==s?(this._array=new Uint32Array(this._nwords),1==s&&this._array.fill(4294967295)):((0,a.assert)(s.length==this._nwords,\"Initializer size mismatch\"),this._array=s)}clone(){return new _(this.size,new Uint32Array(this._array))}[(n=Symbol.toStringTag,o.equals)](t,s){if(!s.eq(this.size,t.size))return!1;const{_nwords:r}=this,e=this.size%r,i=0==e?r:r-1;for(let s=0;s>>5,r=31&t;return!!(this._array[s]>>r&1)}set(t,s=!0){this._check_bounds(t),this._count=null;const r=t>>>5,e=31&t;s?this._array[r]|=1<>>t&1&&(e+=1)}return e}*ones(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1&&(yield e);else e+=32}}*zeros(){const{_array:t,_nwords:s,size:r}=this;for(let e=0,i=0;i>>t&1||(yield e);else e+=32}}_check_size(t){(0,a.assert)(this.size==t.size,\"Size mismatch\")}add(t){this._check_size(t);for(let s=0;s{if(a(t)&&a(e))return t[r.equals](e,this);switch(n){case\"[object Array]\":case\"[object Uint8Array]\":case\"[object Int8Array]\":case\"[object Uint16Array]\":case\"[object Int16Array]\":case\"[object Uint32Array]\":case\"[object Int32Array]\":case\"[object Float32Array]\":case\"[object Float64Array]\":return this.arrays(t,e);case\"[object Map]\":return this.maps(t,e);case\"[object Set]\":return this.sets(t,e);case\"[object Object]\":if(t.constructor==e.constructor&&(null==t.constructor||t.constructor===Object))return this.objects(t,e);case\"[object Function]\":if(t.constructor==e.constructor&&t.constructor===Function)return this.eq(`${t}`,`${e}`)}if(t instanceof Node)return this.nodes(t,e);throw Error(`can't compare objects of type ${n}`)})();return s.pop(),o.pop(),u}numbers(t,e){return Object.is(t,e)}arrays(t,e){const{length:r}=t;if(r!=e.length)return!1;for(let n=0;n{const n=navigator.userAgent;return n.includes(\"MSIE\")||n.includes(\"Trident\")||n.includes(\"Edge\")})(),e.is_mobile=\"undefined\"!=typeof window&&(\"ontouchstart\"in window||navigator.maxTouchPoints>0),e.is_little_endian=(()=>{const n=new ArrayBuffer(4),i=new Uint8Array(n);new Uint32Array(n)[1]=168496141;let e=!0;return 10==i[4]&&11==i[5]&&12==i[6]&&13==i[7]&&(e=!1),e})(),e.BYTE_ORDER=e.is_little_endian?\"little\":\"big\",e.to_big_endian=function(n){if(e.is_little_endian){const i=new Uint32Array(n.length),e=new DataView(i.buffer);let t=0;for(const i of n)e.setUint32(t,i),t+=4;return i}return n}},\n", - " function _(e,t,r,i,s){i();class _{constructor(){this._dev=!1,this._wireframe=!1}set dev(e){this._dev=e}get dev(){return this._dev}set wireframe(e){this._wireframe=e}get wireframe(){return this._wireframe}}r.Settings=_,_.__name__=\"Settings\",r.settings=new _},\n", - " function _(e,s,t,i,r){var a,n,l,h,u,o,p,c;i();const y=e(8),_=e(11),A=e(26),q=e(30),d=e(31),z=Symbol(\"__ndarray__\");class D extends Uint8Array{constructor(e,s){super(e),this[a]=!0,this.dtype=\"uint8\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>D.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>D.prototype[q.serialize].call(this,e))}[(a=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Uint8NDArray=D,D.__name__=\"Uint8NDArray\";class N extends Int8Array{constructor(e,s){super(e),this[n]=!0,this.dtype=\"int8\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>N.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>N.prototype[q.serialize].call(this,e))}[(n=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Int8NDArray=N,N.__name__=\"Int8NDArray\";class f extends Uint16Array{constructor(e,s){super(e),this[l]=!0,this.dtype=\"uint16\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>f.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>f.prototype[q.serialize].call(this,e))}[(l=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Uint16NDArray=f,f.__name__=\"Uint16NDArray\";class m extends Int16Array{constructor(e,s){super(e),this[h]=!0,this.dtype=\"int16\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>m.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>m.prototype[q.serialize].call(this,e))}[(h=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Int16NDArray=m,m.__name__=\"Int16NDArray\";class g extends Uint32Array{constructor(e,s){super(e),this[u]=!0,this.dtype=\"uint32\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>g.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>g.prototype[q.serialize].call(this,e))}[(u=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Uint32NDArray=g,g.__name__=\"Uint32NDArray\";class I extends Int32Array{constructor(e,s){super(e),this[o]=!0,this.dtype=\"int32\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>I.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>I.prototype[q.serialize].call(this,e))}[(o=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Int32NDArray=I,I.__name__=\"Int32NDArray\";class U extends Float32Array{constructor(e,s){super(e),this[p]=!0,this.dtype=\"float32\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>U.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>U.prototype[q.serialize].call(this,e))}[(p=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}t.Float32NDArray=U,U.__name__=\"Float32NDArray\";class w extends Float64Array{constructor(e,s){super(e),this[c]=!0,this.dtype=\"float64\",this.shape=null!=s?s:x(e)?e.shape:[this.length],this.dimension=this.shape.length,null==this[A.equals]&&(this[A.equals]=(e,s)=>w.prototype[A.equals].call(this,e,s)),null==this[q.serialize]&&(this[q.serialize]=e=>w.prototype[q.serialize].call(this,e))}[(c=z,A.equals)](e,s){return s.eq(this.shape,e.shape)&&s.arrays(this,e)}[q.serialize](e){return(0,d.encode_NDArray)(this)}}function x(e){return(0,y.isObject)(e)&&void 0!==e[z]}t.Float64NDArray=w,w.__name__=\"Float64NDArray\",t.is_NDArray=x,t.ndarray=function(e,s={}){let{dtype:t}=s;null==t&&(t=e instanceof ArrayBuffer||(0,y.isArray)(e)?\"float64\":(()=>{switch(!0){case e instanceof Uint8Array:return\"uint8\";case e instanceof Int8Array:return\"int8\";case e instanceof Uint16Array:return\"uint16\";case e instanceof Int16Array:return\"int16\";case e instanceof Uint32Array:return\"uint32\";case e instanceof Int32Array:return\"int32\";case e instanceof Float32Array:return\"float32\";case e instanceof Float64Array:return\"float64\";default:(0,_.unreachable)()}})());const{shape:i}=s;switch(t){case\"uint8\":return new D(e,i);case\"int8\":return new N(e,i);case\"uint16\":return new f(e,i);case\"int16\":return new m(e,i);case\"uint32\":return new g(e,i);case\"int32\":return new I(e,i);case\"float32\":return new U(e,i);case\"float64\":return new w(e,i)}}},\n", - " function _(e,r,t,i,s){i();const n=e(11),a=e(13),l=e(8);t.serialize=Symbol(\"serialize\");class o extends Error{}t.SerializationError=o,o.__name__=\"SerializationError\";class f{constructor(e){var r;this._references=new Map,this._definitions=new Map,this._refmap=new Map,this.include_defaults=null===(r=null==e?void 0:e.include_defaults)||void 0===r||r}get_ref(e){return this._references.get(e)}add_ref(e,r){(0,n.assert)(!this._references.has(e)),this._references.set(e,r)}add_def(e,r){const t=this.get_ref(e);(0,n.assert)(null!=t),this._definitions.set(e,r),this._refmap.set(t,r)}get objects(){return new Set(this._references.keys())}get references(){return new Set(this._references.values())}get definitions(){return new Set(this._definitions.values())}resolve_ref(e){return this._refmap.get(e)}remove_ref(e){return this._references.delete(e)}remove_def(e){return this._definitions.delete(e)}to_serializable(e){const r=this.get_ref(e);if(null!=r)return r;if(function(e){return(0,l.isObject)(e)&&void 0!==e[t.serialize]}(e))return e[t.serialize](this);if((0,l.isArray)(e)||(0,l.isTypedArray)(e)){const r=e.length,t=new Array(r);for(let i=0;i(0,s.buffer_to_base64)(_.buffer)};return Object.assign({__ndarray__:e},r)}}},\n", - " function _(t,n,e,r,o){r(),e.buffer_to_base64=function(t){const n=new Uint8Array(t),e=Array.from(n).map((t=>String.fromCharCode(t)));return btoa(e.join(\"\"))},e.base64_to_buffer=function(t){const n=atob(t),e=n.length,r=new Uint8Array(e);for(let t=0,o=e;t\"'`])/g,(t=>{switch(t){case\"&\":return\"&\";case\"<\":return\"<\";case\">\":return\">\";case'\"':return\""\";case\"'\":return\"'\";case\"`\":return\"`\";default:return t}}))},r.unescape=function(t){return t.replace(/&(amp|lt|gt|quot|#x27|#x60);/g,((t,e)=>{switch(e){case\"amp\":return\"&\";case\"lt\":return\"<\";case\"gt\":return\">\";case\"quot\":return'\"';case\"#x27\":return\"'\";case\"#x60\":return\"`\";default:return e}}))},r.use_strict=function(t){return`'use strict';\\n${t}`},r.to_fixed=function(t,e){return t.toFixed(e).replace(/(\\.[0-9]*?)0+$/,\"$1\").replace(/\\.$/,\"\")}},\n", - " function _(e,t,s,n,o){n();const i=e(30);class r{constructor(e){this.document=e}}s.DocumentEvent=r,r.__name__=\"DocumentEvent\";class a extends r{constructor(e,t,s){super(e),this.events=t,this.setter_id=s}}s.DocumentEventBatch=a,a.__name__=\"DocumentEventBatch\";class d extends r{}s.DocumentChangedEvent=d,d.__name__=\"DocumentChangedEvent\";class l extends d{constructor(e,t,s){super(e),this.msg_type=t,this.msg_data=s}[i.serialize](e){const t=this.msg_data,s=e.to_serializable(t);return{kind:\"MessageSent\",msg_type:this.msg_type,msg_data:s}}}s.MessageSentEvent=l,l.__name__=\"MessageSentEvent\";class _ extends d{constructor(e,t,s,n,o,i,r){super(e),this.model=t,this.attr=s,this.old=n,this.new_=o,this.setter_id=i,this.hint=r}[i.serialize](e){if(null!=this.hint)return e.to_serializable(this.hint);const t=this.new_,s=e.to_serializable(t);return this.model!=t&&e.remove_def(this.model),{kind:\"ModelChanged\",model:this.model.ref(),attr:this.attr,new:s}}}s.ModelChangedEvent=_,_.__name__=\"ModelChangedEvent\";class c extends d{constructor(e,t,s){super(e),this.column_source=t,this.patches=s}[i.serialize](e){return{kind:\"ColumnsPatched\",column_source:this.column_source,patches:this.patches}}}s.ColumnsPatchedEvent=c,c.__name__=\"ColumnsPatchedEvent\";class h extends d{constructor(e,t,s,n){super(e),this.column_source=t,this.data=s,this.rollover=n}[i.serialize](e){return{kind:\"ColumnsStreamed\",column_source:this.column_source,data:this.data,rollover:this.rollover}}}s.ColumnsStreamedEvent=h,h.__name__=\"ColumnsStreamedEvent\";class m extends d{constructor(e,t,s){super(e),this.title=t,this.setter_id=s}[i.serialize](e){return{kind:\"TitleChanged\",title:this.title}}}s.TitleChangedEvent=m,m.__name__=\"TitleChangedEvent\";class u extends d{constructor(e,t,s){super(e),this.model=t,this.setter_id=s}[i.serialize](e){return{kind:\"RootAdded\",model:e.to_serializable(this.model)}}}s.RootAddedEvent=u,u.__name__=\"RootAddedEvent\";class v extends d{constructor(e,t,s){super(e),this.model=t,this.setter_id=s}[i.serialize](e){return{kind:\"RootRemoved\",model:this.model.ref()}}}s.RootRemovedEvent=v,v.__name__=\"RootRemovedEvent\"},\n", - " function _(t,i,r,n,s){n();const e=t(8),o=t(13);r.pretty=Symbol(\"pretty\");class c{constructor(t){this.visited=new Set,this.precision=null==t?void 0:t.precision}to_string(t){if((0,e.isObject)(t)){if(this.visited.has(t))return\"\";this.visited.add(t)}return function(t){return(0,e.isObject)(t)&&void 0!==t[r.pretty]}(t)?t[r.pretty](this):(0,e.isBoolean)(t)?this.boolean(t):(0,e.isNumber)(t)?this.number(t):(0,e.isString)(t)?this.string(t):(0,e.isArray)(t)?this.array(t):(0,e.isIterable)(t)?this.iterable(t):(0,e.isPlainObject)(t)?this.object(t):(0,e.isSymbol)(t)?this.symbol(t):`${t}`}token(t){return t}boolean(t){return`${t}`}number(t){return null!=this.precision?t.toFixed(this.precision):`${t}`}string(t){return`\"${t.replace(/'/g,\"\\\\'\")}\"`}symbol(t){return t.toString()}array(t){const i=this.token,r=[];for(const i of t)r.push(this.to_string(i));return`${i(\"[\")}${r.join(`${i(\",\")} `)}${i(\"]\")}`}iterable(t){var i;const r=this.token,n=null!==(i=Object(t)[Symbol.toStringTag])&&void 0!==i?i:\"Object\",s=this.array(t);return`${n}${r(\"(\")}${s}${r(\")\")}`}object(t){const i=this.token,r=[];for(const[n,s]of(0,o.entries)(t))r.push(`${n}${i(\":\")} ${this.to_string(s)}`);return`${i(\"{\")}${r.join(`${i(\",\")} `)}${i(\"}\")}`}}r.Printer=c,c.__name__=\"Printer\",r.to_string=function(t,i){return new c(i).to_string(t)}},\n", - " function _(n,o,r,e,t){e();const l=n(13),i=n(8);function c(n){return(0,i.isObject)(n)&&void 0!==n[r.clone]}r.clone=Symbol(\"clone\"),r.is_Cloneable=c;class s extends Error{}r.CloningError=s,s.__name__=\"CloningError\";class a{constructor(){}clone(n){if(c(n))return n[r.clone](this);if((0,i.isArray)(n)){const o=n.length,r=new Array(o);for(let e=0;e{null!=this.layout&&(this.layout.visible=this.model.visible,this.plot_view.request_layout())}))}get needs_clip(){return null==this.layout}serializable_state(){const t=super.serializable_state();return null==this.layout?t:Object.assign(Object.assign({},t),{bbox:this.layout.bbox.box})}}i.AnnotationView=r,r.__name__=\"AnnotationView\";class a extends l.Renderer{constructor(t){super(t)}}i.Annotation=a,o=a,a.__name__=\"Annotation\",o.override({level:\"annotation\"})},\n", - " function _(e,i,t,n,s){n();const r=e(1);var o,a;const _=e(42),l=(0,r.__importStar)(e(45)),d=e(20),h=e(53),u=e(54);class c extends h.Model{constructor(e){super(e)}}t.RendererGroup=c,o=c,c.__name__=\"RendererGroup\",o.define((({Boolean:e})=>({visible:[e,!0]})));class p extends _.View{get coordinates(){const{_coordinates:e}=this;return null!=e?e:this._coordinates=this._initialize_coordinates()}initialize(){super.initialize(),this.visuals=new l.Visuals(this),this.needs_webgl_blit=!1}connect_signals(){super.connect_signals();const{x_range_name:e,y_range_name:i}=this.model.properties;this.on_change([e,i],(()=>this._initialize_coordinates()));const{group:t}=this.model;null!=t&&this.on_change(t.properties.visible,(()=>{this.model.visible=t.visible}))}_initialize_coordinates(){const{coordinates:e}=this.model,{frame:i}=this.plot_view;if(null!=e)return e.get_transform(i);{const{x_range_name:e,y_range_name:t}=this.model,n=i.x_scales.get(e),s=i.y_scales.get(t);return new u.CoordinateTransform(n,s)}}get plot_view(){return this.parent}get plot_model(){return this.parent.model}get layer(){const{overlays:e,primary:i}=this.canvas;return\"overlay\"==this.model.level?e:i}get canvas(){return this.plot_view.canvas_view}request_render(){this.request_paint()}request_paint(){this.plot_view.request_paint(this)}request_layout(){this.plot_view.request_layout()}notify_finished(){this.plot_view.notify_finished()}notify_finished_after_paint(){this.plot_view.notify_finished_after_paint()}get needs_clip(){return!1}get has_webgl(){return!1}render(){this.model.visible&&this._render(),this._has_finished=!0}renderer_view(e){}}t.RendererView=p,p.__name__=\"RendererView\";class g extends h.Model{constructor(e){super(e)}}t.Renderer=g,a=g,g.__name__=\"Renderer\",a.define((({Boolean:e,String:i,Ref:t,Nullable:n})=>({group:[n(t(c)),null],level:[d.RenderLevel,\"image\"],visible:[e,!0],x_range_name:[i,\"default\"],y_range_name:[i,\"default\"],coordinates:[n(t(u.CoordinateMapping)),null]})))},\n", - " function _(t,e,s,i,n){i();const o=t(1),h=t(15),r=t(43),l=t(8),_=(0,o.__importDefault)(t(44));class d{constructor(t){this.removed=new h.Signal0(this,\"removed\"),this._ready=Promise.resolve(void 0),this._slots=new WeakMap,this._idle_notified=!1;const{model:e,parent:s}=t;this.model=e,this.parent=s,this.root=null==s?this:s.root,this.removed.emit()}get ready(){return this._ready}connect(t,e){let s=this._slots.get(e);return null==s&&(s=(t,s)=>{const i=Promise.resolve(e.call(this,t,s));this._ready=this._ready.then((()=>i))},this._slots.set(e,s)),t.connect(s,this)}disconnect(t,e){return t.disconnect(e,this)}initialize(){this._has_finished=!1,this.is_root&&(this._stylesheet=r.stylesheet);for(const t of this.styles())this.stylesheet.append(t)}async lazy_initialize(){}remove(){this.disconnect_signals(),this.removed.emit()}toString(){return`${this.model.type}View(${this.model.id})`}serializable_state(){return{type:this.model.type}}get is_root(){return null==this.parent}has_finished(){return this._has_finished}get is_idle(){return this.has_finished()}connect_signals(){}disconnect_signals(){h.Signal.disconnect_receiver(this)}on_change(t,e){for(const s of(0,l.isArray)(t)?t:[t])this.connect(s.change,e)}cursor(t,e){return null}get stylesheet(){return this.is_root?this._stylesheet:this.root.stylesheet}styles(){return[_.default]}notify_finished(){this.is_root?!this._idle_notified&&this.has_finished()&&null!=this.model.document&&(this._idle_notified=!0,this.model.document.notify_idle(this.model)):this.root.notify_finished()}}s.View=d,d.__name__=\"View\"},\n", - " function _(t,e,n,i,o){i();const s=t(8),l=t(13),r=t=>(e={},...n)=>{const i=document.createElement(t);i.classList.add(\"bk\"),(0,s.isPlainObject)(e)||(n=[e,...n],e={});for(let[t,n]of(0,l.entries)(e))if(null!=n&&(!(0,s.isBoolean)(n)||n))if(\"class\"===t&&((0,s.isString)(n)&&(n=n.split(/\\s+/)),(0,s.isArray)(n)))for(const t of n)null!=t&&i.classList.add(t);else if(\"style\"===t&&(0,s.isPlainObject)(n))for(const[t,e]of(0,l.entries)(n))i.style[t]=e;else if(\"data\"===t&&(0,s.isPlainObject)(n))for(const[t,e]of(0,l.entries)(n))i.dataset[t]=e;else i.setAttribute(t,n);function o(t){if((0,s.isString)(t))i.appendChild(document.createTextNode(t));else if(t instanceof Node)i.appendChild(t);else if(t instanceof NodeList||t instanceof HTMLCollection)for(const e of t)i.appendChild(e);else if(null!=t&&!1!==t)throw new Error(`expected a DOM element, string, false or null, got ${JSON.stringify(t)}`)}for(const t of n)if((0,s.isArray)(t))for(const e of t)o(e);else o(t);return i};function a(t){const e=t.parentNode;null!=e&&e.removeChild(t)}function c(t,...e){const n=t.firstChild;for(const i of e)t.insertBefore(i,n)}function d(t,e){var n,i,o;const s=Element.prototype;return(null!==(o=null!==(i=null!==(n=s.matches)&&void 0!==n?n:s.webkitMatchesSelector)&&void 0!==i?i:s.mozMatchesSelector)&&void 0!==o?o:s.msMatchesSelector).call(t,e)}function h(t){return parseFloat(t)||0}function f(t){const e=getComputedStyle(t);return{border:{top:h(e.borderTopWidth),bottom:h(e.borderBottomWidth),left:h(e.borderLeftWidth),right:h(e.borderRightWidth)},margin:{top:h(e.marginTop),bottom:h(e.marginBottom),left:h(e.marginLeft),right:h(e.marginRight)},padding:{top:h(e.paddingTop),bottom:h(e.paddingBottom),left:h(e.paddingLeft),right:h(e.paddingRight)}}}function u(t){const e=t.getBoundingClientRect();return{width:Math.ceil(e.width),height:Math.ceil(e.height)}}n.createElement=function(t,e,...n){return r(t)(e,...n)},n.div=r(\"div\"),n.span=r(\"span\"),n.canvas=r(\"canvas\"),n.link=r(\"link\"),n.style=r(\"style\"),n.a=r(\"a\"),n.p=r(\"p\"),n.i=r(\"i\"),n.pre=r(\"pre\"),n.button=r(\"button\"),n.label=r(\"label\"),n.input=r(\"input\"),n.select=r(\"select\"),n.option=r(\"option\"),n.optgroup=r(\"optgroup\"),n.textarea=r(\"textarea\"),n.createSVGElement=function(t,e,...n){const i=document.createElementNS(\"http://www.w3.org/2000/svg\",t);for(const[t,n]of(0,l.entries)(null!=e?e:{}))null==n||(0,s.isBoolean)(n)&&!n||i.setAttribute(t,n);function o(t){if((0,s.isString)(t))i.appendChild(document.createTextNode(t));else if(t instanceof Node)i.appendChild(t);else if(t instanceof NodeList||t instanceof HTMLCollection)for(const e of t)i.appendChild(e);else if(null!=t&&!1!==t)throw new Error(`expected a DOM element, string, false or null, got ${JSON.stringify(t)}`)}for(const t of n)if((0,s.isArray)(t))for(const e of t)o(e);else o(t);return i},n.nbsp=function(){return document.createTextNode(\"\\xa0\")},n.append=function(t,...e){for(const n of e)t.appendChild(n)},n.remove=a,n.removeElement=a,n.replaceWith=function(t,e){const n=t.parentNode;null!=n&&n.replaceChild(e,t)},n.prepend=c,n.empty=function(t,e=!1){let n;for(;n=t.firstChild;)t.removeChild(n);if(e&&t instanceof Element)for(const e of t.attributes)t.removeAttributeNode(e)},n.display=function(t){t.style.display=\"\"},n.undisplay=function(t){t.style.display=\"none\"},n.show=function(t){t.style.visibility=\"\"},n.hide=function(t){t.style.visibility=\"hidden\"},n.offset=function(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset-document.documentElement.clientTop,left:e.left+window.pageXOffset-document.documentElement.clientLeft}},n.matches=d,n.parent=function(t,e){let n=t;for(;n=n.parentElement;)if(d(n,e))return n;return null},n.extents=f,n.size=u,n.scroll_size=function(t){return{width:Math.ceil(t.scrollWidth),height:Math.ceil(t.scrollHeight)}},n.outer_size=function(t){const{margin:{left:e,right:n,top:i,bottom:o}}=f(t),{width:s,height:l}=u(t);return{width:Math.ceil(s+e+n),height:Math.ceil(l+i+o)}},n.content_size=function(t){const{left:e,top:n}=t.getBoundingClientRect(),{padding:i}=f(t);let o=0,s=0;for(const l of t.children){const t=l.getBoundingClientRect();o=Math.max(o,Math.ceil(t.left-e-i.left+t.width)),s=Math.max(s,Math.ceil(t.top-n-i.top+t.height))}return{width:o,height:s}},n.position=function(t,e,n){const{style:i}=t;if(i.left=`${e.x}px`,i.top=`${e.y}px`,i.width=`${e.width}px`,i.height=`${e.height}px`,null==n)i.margin=\"\";else{const{top:t,right:e,bottom:o,left:s}=n;i.margin=`${t}px ${e}px ${o}px ${s}px`}},n.children=function(t){return Array.from(t.children)};class p{constructor(t){this.el=t,this.classList=t.classList}get values(){const t=[];for(let e=0;e{document.addEventListener(\"DOMContentLoaded\",(()=>t()),{once:!0})}))}},\n", - " function _(o,i,t,e,r){e(),t.root=\"bk-root\",t.default=\".bk-root{position:relative;width:auto;height:auto;box-sizing:border-box;font-family:Helvetica, Arial, sans-serif;font-size:13px;}.bk-root .bk,.bk-root .bk:before,.bk-root .bk:after{box-sizing:inherit;margin:0;border:0;padding:0;background-image:none;font-family:inherit;font-size:100%;line-height:1.42857143;}.bk-root pre.bk{font-family:Courier, monospace;}\"},\n", - " function _(e,t,r,a,c){a();const n=e(1),l=e(46);c(\"Line\",l.Line),c(\"LineScalar\",l.LineScalar),c(\"LineVector\",l.LineVector);const i=e(49);c(\"Fill\",i.Fill),c(\"FillScalar\",i.FillScalar),c(\"FillVector\",i.FillVector);const s=e(50);c(\"Text\",s.Text),c(\"TextScalar\",s.TextScalar),c(\"TextVector\",s.TextVector);const o=e(51);c(\"Hatch\",o.Hatch),c(\"HatchScalar\",o.HatchScalar),c(\"HatchVector\",o.HatchVector);const u=(0,n.__importStar)(e(48)),V=e(47);c(\"VisualProperties\",V.VisualProperties),c(\"VisualUniforms\",V.VisualUniforms);class h{constructor(e){this._visuals=[];for(const[t,r]of e.model._mixins){const a=(()=>{switch(r){case u.Line:return new l.Line(e,t);case u.LineScalar:return new l.LineScalar(e,t);case u.LineVector:return new l.LineVector(e,t);case u.Fill:return new i.Fill(e,t);case u.FillScalar:return new i.FillScalar(e,t);case u.FillVector:return new i.FillVector(e,t);case u.Text:return new s.Text(e,t);case u.TextScalar:return new s.TextScalar(e,t);case u.TextVector:return new s.TextVector(e,t);case u.Hatch:return new o.Hatch(e,t);case u.HatchScalar:return new o.HatchScalar(e,t);case u.HatchVector:return new o.HatchVector(e,t);default:throw new Error(\"unknown visual\")}})();a instanceof V.VisualProperties&&a.update(),this._visuals.push(a),Object.defineProperty(this,t+a.type,{get:()=>a,configurable:!1,enumerable:!0})}}*[Symbol.iterator](){yield*this._visuals}}r.Visuals=h,h.__name__=\"Visuals\"},\n", - " function _(e,t,i,l,s){l();const a=e(1),n=e(47),h=(0,a.__importStar)(e(48)),o=e(22),_=e(8);function r(e){if((0,_.isArray)(e))return e;switch(e){case\"solid\":return[];case\"dashed\":return[6];case\"dotted\":return[2,4];case\"dotdash\":return[2,4,6,4];case\"dashdot\":return[6,4,2,4];default:return e.split(\" \").map(Number).filter(_.isInteger)}}i.resolve_line_dash=r;class u extends n.VisualProperties{get doit(){const e=this.line_color.get_value(),t=this.line_alpha.get_value(),i=this.line_width.get_value();return!(null==e||0==t||0==i)}apply(e){const{doit:t}=this;return t&&(this.set_value(e),e.stroke()),t}values(){return{color:this.line_color.get_value(),alpha:this.line_alpha.get_value(),width:this.line_width.get_value(),join:this.line_join.get_value(),cap:this.line_cap.get_value(),dash:this.line_dash.get_value(),offset:this.line_dash_offset.get_value()}}set_value(e){const t=this.line_color.get_value(),i=this.line_alpha.get_value();e.strokeStyle=(0,o.color2css)(t,i),e.lineWidth=this.line_width.get_value(),e.lineJoin=this.line_join.get_value(),e.lineCap=this.line_cap.get_value(),e.lineDash=r(this.line_dash.get_value()),e.lineDashOffset=this.line_dash_offset.get_value()}}i.Line=u,u.__name__=\"Line\";class c extends n.VisualUniforms{get doit(){const e=this.line_color.value,t=this.line_alpha.value,i=this.line_width.value;return!(0==e||0==t||0==i)}apply(e){const{doit:t}=this;return t&&(this.set_value(e),e.stroke()),t}values(){return{color:this.line_color.value,alpha:this.line_alpha.value,width:this.line_width.value,join:this.line_join.value,cap:this.line_cap.value,dash:this.line_dash.value,offset:this.line_dash_offset.value}}set_value(e){const t=this.line_color.value,i=this.line_alpha.value;e.strokeStyle=(0,o.color2css)(t,i),e.lineWidth=this.line_width.value,e.lineJoin=this.line_join.value,e.lineCap=this.line_cap.value,e.lineDash=r(this.line_dash.value),e.lineDashOffset=this.line_dash_offset.value}}i.LineScalar=c,c.__name__=\"LineScalar\";class d extends n.VisualUniforms{get doit(){const{line_color:e}=this;if(e.is_Scalar()&&0==e.value)return!1;const{line_alpha:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{line_width:i}=this;return!i.is_Scalar()||0!=i.value}apply(e,t){const{doit:i}=this;return i&&(this.set_vectorize(e,t),e.stroke()),i}values(e){return{color:this.line_color.get(e),alpha:this.line_alpha.get(e),width:this.line_width.get(e),join:this.line_join.get(e),cap:this.line_cap.get(e),dash:this.line_dash.get(e),offset:this.line_dash_offset.get(e)}}set_vectorize(e,t){const i=this.line_color.get(t),l=this.line_alpha.get(t),s=this.line_width.get(t),a=this.line_join.get(t),n=this.line_cap.get(t),h=this.line_dash.get(t),_=this.line_dash_offset.get(t);e.strokeStyle=(0,o.color2css)(i,l),e.lineWidth=s,e.lineJoin=a,e.lineCap=n,e.lineDash=r(h),e.lineDashOffset=_}}i.LineVector=d,d.__name__=\"LineVector\",u.prototype.type=\"line\",u.prototype.attrs=Object.keys(h.Line),c.prototype.type=\"line\",c.prototype.attrs=Object.keys(h.LineScalar),d.prototype.type=\"line\",d.prototype.attrs=Object.keys(h.LineVector)},\n", - " function _(t,s,o,i,r){i();class e{constructor(t,s=\"\"){this.obj=t,this.prefix=s;const o=this;this._props=[];for(const i of this.attrs){const r=t.model.properties[s+i];r.change.connect((()=>this.update())),o[i]=r,this._props.push(r)}}*[Symbol.iterator](){yield*this._props}update(){}}o.VisualProperties=e,e.__name__=\"VisualProperties\";class p{constructor(t,s=\"\"){this.obj=t,this.prefix=s;for(const o of this.attrs)Object.defineProperty(this,o,{get:()=>t[s+o]})}*[Symbol.iterator](){for(const t of this.attrs)yield this.obj.model.properties[this.prefix+t]}update(){}}o.VisualUniforms=p,p.__name__=\"VisualUniforms\"},\n", - " function _(e,l,t,a,c){a();const r=e(1),o=(0,r.__importStar)(e(18)),n=e(20),i=(0,r.__importStar)(e(21)),_=e(13);t.Line={line_color:[i.Nullable(i.Color),\"black\"],line_alpha:[i.Alpha,1],line_width:[i.Number,1],line_join:[n.LineJoin,\"bevel\"],line_cap:[n.LineCap,\"butt\"],line_dash:[i.Or(n.LineDash,i.Array(i.Number)),[]],line_dash_offset:[i.Number,0]},t.Fill={fill_color:[i.Nullable(i.Color),\"gray\"],fill_alpha:[i.Alpha,1]},t.Hatch={hatch_color:[i.Nullable(i.Color),\"black\"],hatch_alpha:[i.Alpha,1],hatch_scale:[i.Number,12],hatch_pattern:[i.Nullable(i.Or(n.HatchPatternType,i.String)),null],hatch_weight:[i.Number,1],hatch_extra:[i.Dict(i.AnyRef()),{}]},t.Text={text_color:[i.Nullable(i.Color),\"#444444\"],text_alpha:[i.Alpha,1],text_font:[o.Font,\"helvetica\"],text_font_size:[i.FontSize,\"16px\"],text_font_style:[n.FontStyle,\"normal\"],text_align:[n.TextAlign,\"left\"],text_baseline:[n.TextBaseline,\"bottom\"],text_line_height:[i.Number,1.2]},t.LineScalar={line_color:[o.ColorScalar,\"black\"],line_alpha:[o.NumberScalar,1],line_width:[o.NumberScalar,1],line_join:[o.LineJoinScalar,\"bevel\"],line_cap:[o.LineCapScalar,\"butt\"],line_dash:[o.LineDashScalar,[]],line_dash_offset:[o.NumberScalar,0]},t.FillScalar={fill_color:[o.ColorScalar,\"gray\"],fill_alpha:[o.NumberScalar,1]},t.HatchScalar={hatch_color:[o.ColorScalar,\"black\"],hatch_alpha:[o.NumberScalar,1],hatch_scale:[o.NumberScalar,12],hatch_pattern:[o.NullStringScalar,null],hatch_weight:[o.NumberScalar,1],hatch_extra:[o.AnyScalar,{}]},t.TextScalar={text_color:[o.ColorScalar,\"#444444\"],text_alpha:[o.NumberScalar,1],text_font:[o.FontScalar,\"helvetica\"],text_font_size:[o.FontSizeScalar,\"16px\"],text_font_style:[o.FontStyleScalar,\"normal\"],text_align:[o.TextAlignScalar,\"left\"],text_baseline:[o.TextBaselineScalar,\"bottom\"],text_line_height:[o.NumberScalar,1.2]},t.LineVector={line_color:[o.ColorSpec,\"black\"],line_alpha:[o.NumberSpec,1],line_width:[o.NumberSpec,1],line_join:[o.LineJoinSpec,\"bevel\"],line_cap:[o.LineCapSpec,\"butt\"],line_dash:[o.LineDashSpec,[]],line_dash_offset:[o.NumberSpec,0]},t.FillVector={fill_color:[o.ColorSpec,\"gray\"],fill_alpha:[o.NumberSpec,1]},t.HatchVector={hatch_color:[o.ColorSpec,\"black\"],hatch_alpha:[o.NumberSpec,1],hatch_scale:[o.NumberSpec,12],hatch_pattern:[o.NullStringSpec,null],hatch_weight:[o.NumberSpec,1],hatch_extra:[o.AnyScalar,{}]},t.TextVector={text_color:[o.ColorSpec,\"#444444\"],text_alpha:[o.NumberSpec,1],text_font:[o.FontSpec,\"helvetica\"],text_font_size:[o.FontSizeSpec,\"16px\"],text_font_style:[o.FontStyleSpec,\"normal\"],text_align:[o.TextAlignSpec,\"left\"],text_baseline:[o.TextBaselineSpec,\"bottom\"],text_line_height:[o.NumberSpec,1.2]},t.attrs_of=function(e,l,t,a=!1){const c={};for(const r of(0,_.keys)(t)){const t=`${l}${r}`,o=e[t];c[a?t:r]=o}return c}},\n", - " function _(l,t,e,i,s){i();const a=l(1),o=l(47),r=(0,a.__importStar)(l(48)),_=l(22);class c extends o.VisualProperties{get doit(){const l=this.fill_color.get_value(),t=this.fill_alpha.get_value();return!(null==l||0==t)}apply(l,t){const{doit:e}=this;return e&&(this.set_value(l),l.fill(t)),e}values(){return{color:this.fill_color.get_value(),alpha:this.fill_alpha.get_value()}}set_value(l){const t=this.fill_color.get_value(),e=this.fill_alpha.get_value();l.fillStyle=(0,_.color2css)(t,e)}}e.Fill=c,c.__name__=\"Fill\";class h extends o.VisualUniforms{get doit(){const l=this.fill_color.value,t=this.fill_alpha.value;return!(0==l||0==t)}apply(l,t){const{doit:e}=this;return e&&(this.set_value(l),l.fill(t)),e}values(){return{color:this.fill_color.value,alpha:this.fill_alpha.value}}set_value(l){const t=this.fill_color.value,e=this.fill_alpha.value;l.fillStyle=(0,_.color2css)(t,e)}}e.FillScalar=h,h.__name__=\"FillScalar\";class u extends o.VisualUniforms{get doit(){const{fill_color:l}=this;if(l.is_Scalar()&&0==l.value)return!1;const{fill_alpha:t}=this;return!t.is_Scalar()||0!=t.value}apply(l,t,e){const{doit:i}=this;return i&&(this.set_vectorize(l,t),l.fill(e)),i}values(l){return{color:this.fill_color.get(l),alpha:this.fill_alpha.get(l)}}set_vectorize(l,t){const e=this.fill_color.get(t),i=this.fill_alpha.get(t);l.fillStyle=(0,_.color2css)(e,i)}}e.FillVector=u,u.__name__=\"FillVector\",c.prototype.type=\"fill\",c.prototype.attrs=Object.keys(r.Fill),h.prototype.type=\"fill\",h.prototype.attrs=Object.keys(r.FillScalar),u.prototype.type=\"fill\",u.prototype.attrs=Object.keys(r.FillVector)},\n", - " function _(t,e,l,s,_){s();const i=t(1),a=t(47),o=(0,i.__importStar)(t(48)),n=t(22);class h extends a.VisualProperties{get doit(){const t=this.text_color.get_value(),e=this.text_alpha.get_value();return!(null==t||0==e)}values(){return{color:this.text_color.get_value(),alpha:this.text_alpha.get_value(),font:this.text_font.get_value(),font_size:this.text_font_size.get_value(),font_style:this.text_font_style.get_value(),align:this.text_align.get_value(),baseline:this.text_baseline.get_value(),line_height:this.text_line_height.get_value()}}set_value(t){const e=this.text_color.get_value(),l=this.text_alpha.get_value();t.fillStyle=(0,n.color2css)(e,l),t.font=this.font_value(),t.textAlign=this.text_align.get_value(),t.textBaseline=this.text_baseline.get_value()}font_value(){return`${this.text_font_style.get_value()} ${this.text_font_size.get_value()} ${this.text_font.get_value()}`}}l.Text=h,h.__name__=\"Text\";class x extends a.VisualUniforms{get doit(){const t=this.text_color.value,e=this.text_alpha.value;return!(0==t||0==e)}values(){return{color:this.text_color.value,alpha:this.text_alpha.value,font:this.text_font.value,font_size:this.text_font_size.value,font_style:this.text_font_style.value,align:this.text_align.value,baseline:this.text_baseline.value,line_height:this.text_line_height.value}}set_value(t){const e=this.text_color.value,l=this.text_alpha.value,s=this.font_value(),_=this.text_align.value,i=this.text_baseline.value;t.fillStyle=(0,n.color2css)(e,l),t.font=s,t.textAlign=_,t.textBaseline=i}font_value(){return`${this.text_font_style.value} ${this.text_font_size.value} ${this.text_font.value}`}}l.TextScalar=x,x.__name__=\"TextScalar\";class u extends a.VisualUniforms{values(t){return{color:this.text_color.get(t),alpha:this.text_alpha.get(t),font:this.text_font.get(t),font_size:this.text_font_size.get(t),font_style:this.text_font_style.get(t),align:this.text_align.get(t),baseline:this.text_baseline.get(t),line_height:this.text_line_height.get(t)}}get doit(){const{text_color:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{text_alpha:e}=this;return!e.is_Scalar()||0!=e.value}set_vectorize(t,e){const l=this.text_color.get(e),s=this.text_alpha.get(e),_=this.font_value(e),i=this.text_align.get(e),a=this.text_baseline.get(e);t.fillStyle=(0,n.color2css)(l,s),t.font=_,t.textAlign=i,t.textBaseline=a}font_value(t){return`${this.text_font_style.get(t)} ${this.text_font_size.get(t)} ${this.text_font.get(t)}`}}l.TextVector=u,u.__name__=\"TextVector\",h.prototype.type=\"text\",h.prototype.attrs=Object.keys(o.Text),x.prototype.type=\"text\",x.prototype.attrs=Object.keys(o.TextScalar),u.prototype.type=\"text\",u.prototype.attrs=Object.keys(o.TextVector)},\n", - " function _(t,e,a,r,i){r();const h=t(1),s=t(47),n=t(52),c=(0,h.__importStar)(t(18)),_=(0,h.__importStar)(t(48));class l extends s.VisualProperties{constructor(){super(...arguments),this._update_iteration=0}update(){if(this._update_iteration++,this._hatch_image=null,!this.doit)return;const t=this.hatch_color.get_value(),e=this.hatch_alpha.get_value(),a=this.hatch_scale.get_value(),r=this.hatch_pattern.get_value(),i=this.hatch_weight.get_value(),h=t=>{this._hatch_image=t},s=this.hatch_extra.get_value()[r];if(null!=s){const r=s.get_pattern(t,e,a,i);if(r instanceof Promise){const{_update_iteration:t}=this;r.then((e=>{this._update_iteration==t&&(h(e),this.obj.request_render())}))}else h(r)}else{const s=this.obj.canvas.create_layer(),c=(0,n.get_pattern)(s,r,t,e,a,i);h(c)}}get doit(){const t=this.hatch_color.get_value(),e=this.hatch_alpha.get_value(),a=this.hatch_pattern.get_value();return!(null==t||0==e||\" \"==a||\"blank\"==a||null==a)}apply(t,e){const{doit:a}=this;return a&&(this.set_value(t),t.layer.undo_transform((()=>t.fill(e)))),a}set_value(t){const e=this.pattern(t);t.fillStyle=null!=e?e:\"transparent\"}pattern(t){const e=this._hatch_image;return null==e?null:t.createPattern(e,this.repetition())}repetition(){const t=this.hatch_pattern.get_value(),e=this.hatch_extra.get_value()[t];if(null==e)return\"repeat\";switch(e.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.Hatch=l,l.__name__=\"Hatch\";class o extends s.VisualUniforms{constructor(){super(...arguments),this._static_doit=!1,this._update_iteration=0}_compute_static_doit(){const t=this.hatch_color.value,e=this.hatch_alpha.value,a=this.hatch_pattern.value;return!(null==t||0==e||\" \"==a||\"blank\"==a||null==a)}update(){this._update_iteration++;const t=this.hatch_color.length;if(this._hatch_image=new c.UniformScalar(null,t),this._static_doit=this._compute_static_doit(),!this._static_doit)return;const e=this.hatch_color.value,a=this.hatch_alpha.value,r=this.hatch_scale.value,i=this.hatch_pattern.value,h=this.hatch_weight.value,s=e=>{this._hatch_image=new c.UniformScalar(e,t)},_=this.hatch_extra.value[i];if(null!=_){const t=_.get_pattern(e,a,r,h);if(t instanceof Promise){const{_update_iteration:e}=this;t.then((t=>{this._update_iteration==e&&(s(t),this.obj.request_render())}))}else s(t)}else{const t=this.obj.canvas.create_layer(),c=(0,n.get_pattern)(t,i,e,a,r,h);s(c)}}get doit(){return this._static_doit}apply(t,e){const{doit:a}=this;return a&&(this.set_value(t),t.layer.undo_transform((()=>t.fill(e)))),a}set_value(t){var e;t.fillStyle=null!==(e=this.pattern(t))&&void 0!==e?e:\"transparent\"}pattern(t){const e=this._hatch_image.value;return null==e?null:t.createPattern(e,this.repetition())}repetition(){const t=this.hatch_pattern.value,e=this.hatch_extra.value[t];if(null==e)return\"repeat\";switch(e.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.HatchScalar=o,o.__name__=\"HatchScalar\";class u extends s.VisualUniforms{constructor(){super(...arguments),this._static_doit=!1,this._update_iteration=0}_compute_static_doit(){const{hatch_color:t}=this;if(t.is_Scalar()&&0==t.value)return!1;const{hatch_alpha:e}=this;if(e.is_Scalar()&&0==e.value)return!1;const{hatch_pattern:a}=this;if(a.is_Scalar()){const t=a.value;if(\" \"==t||\"blank\"==t||null==t)return!1}return!0}update(){this._update_iteration++;const t=this.hatch_color.length;if(this._hatch_image=new c.UniformScalar(null,t),this._static_doit=this._compute_static_doit(),!this._static_doit)return;const e=(t,e,a,r,i,h)=>{const s=this.hatch_extra.value[t];if(null!=s){const t=s.get_pattern(e,a,r,i);if(t instanceof Promise){const{_update_iteration:e}=this;t.then((t=>{this._update_iteration==e&&(h(t),this.obj.request_render())}))}else h(t)}else{const s=this.obj.canvas.create_layer(),c=(0,n.get_pattern)(s,t,e,a,r,i);h(c)}};if(this.hatch_color.is_Scalar()&&this.hatch_alpha.is_Scalar()&&this.hatch_scale.is_Scalar()&&this.hatch_pattern.is_Scalar()&&this.hatch_weight.is_Scalar()){const a=this.hatch_color.value,r=this.hatch_alpha.value,i=this.hatch_scale.value;e(this.hatch_pattern.value,a,r,i,this.hatch_weight.value,(e=>{this._hatch_image=new c.UniformScalar(e,t)}))}else{const a=new Array(t);a.fill(null),this._hatch_image=new c.UniformVector(a);for(let r=0;r{a[r]=t}))}}}get doit(){return this._static_doit}apply(t,e,a){const{doit:r}=this;return r&&(this.set_vectorize(t,e),t.layer.undo_transform((()=>t.fill(a)))),r}set_vectorize(t,e){var a;t.fillStyle=null!==(a=this.pattern(t,e))&&void 0!==a?a:\"transparent\"}pattern(t,e){const a=this._hatch_image.get(e);return null==a?null:t.createPattern(a,this.repetition(e))}repetition(t){const e=this.hatch_pattern.get(t),a=this.hatch_extra.value[e];if(null==a)return\"repeat\";switch(a.repetition){case\"repeat\":return\"repeat\";case\"repeat_x\":return\"repeat-x\";case\"repeat_y\":return\"repeat-y\";case\"no_repeat\":return\"no-repeat\"}}}a.HatchVector=u,u.__name__=\"HatchVector\",l.prototype.type=\"hatch\",l.prototype.attrs=Object.keys(_.Hatch),o.prototype.type=\"hatch\",o.prototype.attrs=Object.keys(_.HatchScalar),u.prototype.type=\"hatch\",u.prototype.attrs=Object.keys(_.HatchVector)},\n", - " function _(e,o,a,s,r){s();const i=e(22);function l(e,o,a){e.moveTo(0,a+.5),e.lineTo(o,a+.5),e.stroke()}function n(e,o,a){e.moveTo(a+.5,0),e.lineTo(a+.5,o),e.stroke()}function t(e,o){e.moveTo(0,o),e.lineTo(o,0),e.stroke(),e.moveTo(0,0),e.lineTo(o,o),e.stroke()}a.hatch_aliases={\" \":\"blank\",\".\":\"dot\",o:\"ring\",\"-\":\"horizontal_line\",\"|\":\"vertical_line\",\"+\":\"cross\",'\"':\"horizontal_dash\",\":\":\"vertical_dash\",\"@\":\"spiral\",\"/\":\"right_diagonal_line\",\"\\\\\":\"left_diagonal_line\",x:\"diagonal_cross\",\",\":\"right_diagonal_dash\",\"`\":\"left_diagonal_dash\",v:\"horizontal_wave\",\">\":\"vertical_wave\",\"*\":\"criss_cross\"},a.get_pattern=function(e,o,s,r,c,k){return e.resize(c,c),e.prepare(),function(e,o,s,r,c,k){var _;const T=c,v=T/2,h=v/2,d=(0,i.color2css)(s,r);switch(e.strokeStyle=d,e.fillStyle=d,e.lineCap=\"square\",e.lineWidth=k,null!==(_=a.hatch_aliases[o])&&void 0!==_?_:o){case\"blank\":break;case\"dot\":e.arc(v,v,v/2,0,2*Math.PI,!0),e.fill();break;case\"ring\":e.arc(v,v,v/2,0,2*Math.PI,!0),e.stroke();break;case\"horizontal_line\":l(e,T,v);break;case\"vertical_line\":n(e,T,v);break;case\"cross\":l(e,T,v),n(e,T,v);break;case\"horizontal_dash\":l(e,v,v);break;case\"vertical_dash\":n(e,v,v);break;case\"spiral\":{const o=T/30;e.moveTo(v,v);for(let a=0;a<360;a++){const s=.1*a,r=v+o*s*Math.cos(s),i=v+o*s*Math.sin(s);e.lineTo(r,i)}e.stroke();break}case\"right_diagonal_line\":e.moveTo(.5-h,T),e.lineTo(h+.5,0),e.stroke(),e.moveTo(h+.5,T),e.lineTo(3*h+.5,0),e.stroke(),e.moveTo(3*h+.5,T),e.lineTo(5*h+.5,0),e.stroke(),e.stroke();break;case\"left_diagonal_line\":e.moveTo(h+.5,T),e.lineTo(.5-h,0),e.stroke(),e.moveTo(3*h+.5,T),e.lineTo(h+.5,0),e.stroke(),e.moveTo(5*h+.5,T),e.lineTo(3*h+.5,0),e.stroke(),e.stroke();break;case\"diagonal_cross\":t(e,T);break;case\"right_diagonal_dash\":e.moveTo(h+.5,3*h+.5),e.lineTo(3*h+.5,h+.5),e.stroke();break;case\"left_diagonal_dash\":e.moveTo(h+.5,h+.5),e.lineTo(3*h+.5,3*h+.5),e.stroke();break;case\"horizontal_wave\":e.moveTo(0,h),e.lineTo(v,3*h),e.lineTo(T,h),e.stroke();break;case\"vertical_wave\":e.moveTo(h,0),e.lineTo(3*h,v),e.lineTo(h,T),e.stroke();break;case\"criss_cross\":t(e,T),l(e,T,v),n(e,T,v)}}(e.ctx,o,s,r,c,k),e.canvas}},\n", - " function _(e,t,s,n,c){var a;n();const i=e(14),r=e(8),l=e(13),o=e(26),_=e(19);class h extends i.HasProps{constructor(e){super(e)}get is_syncable(){return this.syncable}[o.equals](e,t){return t.eq(this.id,e.id)&&super[o.equals](e,t)}initialize(){super.initialize(),this._js_callbacks=new Map}connect_signals(){super.connect_signals(),this._update_property_callbacks(),this.connect(this.properties.js_property_callbacks.change,(()=>this._update_property_callbacks())),this.connect(this.properties.js_event_callbacks.change,(()=>this._update_event_callbacks())),this.connect(this.properties.subscribed_events.change,(()=>this._update_event_callbacks()))}_process_event(e){var t;for(const s of null!==(t=this.js_event_callbacks[e.event_name])&&void 0!==t?t:[])s.execute(e);null!=this.document&&this.subscribed_events.some((t=>t==e.event_name))&&this.document.event_manager.send_event(e)}trigger_event(e){null!=this.document&&(e.origin=this,this.document.event_manager.trigger(e))}_update_event_callbacks(){null!=this.document?this.document.event_manager.subscribed_models.add(this):_.logger.warn(\"WARNING: Document not defined for updating event callbacks\")}_update_property_callbacks(){const e=e=>{const[t,s=null]=e.split(\":\");return null!=s?this.properties[s][t]:this[t]};for(const[t,s]of this._js_callbacks){const n=e(t);for(const e of s)this.disconnect(n,e)}this._js_callbacks.clear();for(const[t,s]of(0,l.entries)(this.js_property_callbacks)){const n=s.map((e=>()=>e.execute(this)));this._js_callbacks.set(t,n);const c=e(t);for(const e of n)this.connect(c,e)}}_doc_attached(){(0,l.isEmpty)(this.js_event_callbacks)&&0==this.subscribed_events.length||this._update_event_callbacks()}_doc_detached(){this.document.event_manager.subscribed_models.delete(this)}select(e){if((0,r.isString)(e))return[...this.references()].filter((t=>t instanceof h&&t.name===e));if(e.prototype instanceof i.HasProps)return[...this.references()].filter((t=>t instanceof e));throw new Error(\"invalid selector\")}select_one(e){const t=this.select(e);switch(t.length){case 0:return null;case 1:return t[0];default:throw new Error(\"found more than one object matching given selector\")}}}s.Model=h,a=h,h.__name__=\"Model\",a.define((({Any:e,Unknown:t,Boolean:s,String:n,Array:c,Dict:a,Nullable:i})=>({tags:[c(t),[]],name:[i(n),null],js_property_callbacks:[a(c(e)),{}],js_event_callbacks:[a(c(e)),{}],subscribed_events:[c(n),[]],syncable:[s,!0]})))},\n", - " function _(e,t,s,a,r){var c,n;a();const _=e(12),o=e(53),i=e(55),l=e(59),u=e(61),g=e(62),h=e(57),p=e(63),m=e(67);class x{constructor(e,t){this.x_scale=e,this.y_scale=t,this.x_source=this.x_scale.source_range,this.y_source=this.y_scale.source_range,this.ranges=[this.x_source,this.y_source],this.scales=[this.x_scale,this.y_scale]}map_to_screen(e,t){return[this.x_scale.v_compute(e),this.y_scale.v_compute(t)]}map_from_screen(e,t){return[this.x_scale.v_invert(e),this.y_scale.v_invert(t)]}}s.CoordinateTransform=x,x.__name__=\"CoordinateTransform\";class y extends o.Model{constructor(e){super(e)}get x_ranges(){return new Map([[\"default\",this.x_source]])}get y_ranges(){return new Map([[\"default\",this.y_source]])}_get_scale(e,t,s){if(e instanceof m.FactorRange!=t instanceof g.CategoricalScale)throw new Error(`Range ${e.type} is incompatible is Scale ${t.type}`);t instanceof u.LogScale&&e instanceof p.DataRange1d&&(e.scale_hint=\"log\");const a=t.clone();return a.setv({source_range:e,target_range:s}),a}get_transform(e){const{x_source:t,x_scale:s,x_target:a}=this,r=this._get_scale(t,s,a),{y_source:c,y_scale:n,y_target:_}=this,o=this._get_scale(c,n,_),i=new v({source_scale:r,source_range:r.source_range,target_scale:e.x_scale,target_range:e.x_target}),l=new v({source_scale:o,source_range:o.source_range,target_scale:e.y_scale,target_range:e.y_target});return new x(i,l)}}s.CoordinateMapping=y,c=y,y.__name__=\"CoordinateMapping\",c.define((({Ref:e})=>({x_source:[e(h.Range),()=>new p.DataRange1d],y_source:[e(h.Range),()=>new p.DataRange1d],x_scale:[e(i.Scale),()=>new l.LinearScale],y_scale:[e(i.Scale),()=>new l.LinearScale],x_target:[e(h.Range)],y_target:[e(h.Range)]})));class v extends i.Scale{constructor(e){super(e)}get s_compute(){const e=this.source_scale.s_compute,t=this.target_scale.s_compute;return s=>t(e(s))}get s_invert(){const e=this.source_scale.s_invert,t=this.target_scale.s_invert;return s=>e(t(s))}compute(e){return this.s_compute(e)}v_compute(e){const{s_compute:t}=this;return(0,_.map)(e,t)}invert(e){return this.s_invert(e)}v_invert(e){const{s_invert:t}=this;return(0,_.map)(e,t)}}s.CompositeScale=v,n=v,v.__name__=\"CompositeScale\",n.internal((({Ref:e})=>({source_scale:[e(i.Scale)],target_scale:[e(i.Scale)]})))},\n", - " function _(e,t,r,n,s){var _;n();const a=e(56),c=e(57),o=e(58),i=e(24);class u extends a.Transform{constructor(e){super(e)}compute(e){return this.s_compute(e)}v_compute(e){const t=new i.ScreenArray(e.length),{s_compute:r}=this;for(let n=0;n({source_range:[e(c.Range)],target_range:[e(o.Range1d)]})))},\n", - " function _(n,s,o,r,c){r();const e=n(53);class t extends e.Model{constructor(n){super(n)}}o.Transform=t,t.__name__=\"Transform\"},\n", - " function _(e,t,n,i,s){var r;i();const a=e(53);class l extends a.Model{constructor(e){super(e),this.have_updated_interactively=!1}get is_reversed(){return this.start>this.end}get is_valid(){return isFinite(this.min)&&isFinite(this.max)}get span(){return Math.abs(this.end-this.start)}}n.Range=l,r=l,l.__name__=\"Range\",r.define((({Number:e,Tuple:t,Or:n,Auto:i,Nullable:s})=>({bounds:[s(n(t(s(e),s(e)),i)),null],min_interval:[s(e),null],max_interval:[s(e),null]}))),r.internal((({Array:e,AnyRef:t})=>({plots:[e(t()),[]]})))},\n", - " function _(t,e,s,n,r){var a;n();const i=t(57);class _ extends i.Range{constructor(t){super(t)}_set_auto_bounds(){if(\"auto\"==this.bounds){const t=Math.min(this._reset_start,this._reset_end),e=Math.max(this._reset_start,this._reset_end);this.setv({bounds:[t,e]},{silent:!0})}}initialize(){super.initialize(),this._set_auto_bounds()}get min(){return Math.min(this.start,this.end)}get max(){return Math.max(this.start,this.end)}reset(){this._set_auto_bounds();const{_reset_start:t,_reset_end:e}=this;this.start!=t||this.end!=e?this.setv({start:t,end:e}):this.change.emit()}map(t){return new _({start:t(this.start),end:t(this.end)})}widen(t){let{start:e,end:s}=this;return this.is_reversed?(e+=t,s-=t):(e-=t,s+=t),new _({start:e,end:s})}}s.Range1d=_,a=_,_.__name__=\"Range1d\",a.define((({Number:t,Nullable:e})=>({start:[t,0],end:[t,1],reset_start:[e(t),null,{on_update(t,e){e._reset_start=null!=t?t:e.start}}],reset_end:[e(t),null,{on_update(t,e){e._reset_end=null!=t?t:e.end}}]})))},\n", - " function _(t,e,n,r,s){r();const a=t(60);class _ extends a.ContinuousScale{constructor(t){super(t)}get s_compute(){const[t,e]=this._linear_compute_state();return n=>t*n+e}get s_invert(){const[t,e]=this._linear_compute_state();return n=>(n-e)/t}_linear_compute_state(){const t=this.source_range.start,e=this.source_range.end,n=this.target_range.start,r=(this.target_range.end-n)/(e-t);return[r,-r*t+n]}}n.LinearScale=_,_.__name__=\"LinearScale\"},\n", - " function _(n,c,o,s,e){s();const t=n(55);class u extends t.Scale{constructor(n){super(n)}}o.ContinuousScale=u,u.__name__=\"ContinuousScale\"},\n", - " function _(t,e,a,o,s){o();const r=t(60);class n extends r.ContinuousScale{constructor(t){super(t)}get s_compute(){const[t,e,a,o]=this._compute_state();return s=>{if(0==a)return 0;{const r=(Math.log(s)-o)/a;return isFinite(r)?r*t+e:NaN}}}get s_invert(){const[t,e,a,o]=this._compute_state();return s=>{const r=(s-e)/t;return Math.exp(a*r+o)}}_get_safe_factor(t,e){let a=t<0?0:t,o=e<0?0:e;if(a==o)if(0==a)[a,o]=[1,10];else{const t=Math.log(a)/Math.log(10);a=10**Math.floor(t),o=Math.ceil(t)!=Math.floor(t)?10**Math.ceil(t):10**(Math.ceil(t)+1)}return[a,o]}_compute_state(){const t=this.source_range.start,e=this.source_range.end,a=this.target_range.start,o=this.target_range.end-a,[s,r]=this._get_safe_factor(t,e);let n,c;0==s?(n=Math.log(r),c=0):(n=Math.log(r)-Math.log(s),c=Math.log(s));return[o,a,n,c]}}a.LogScale=n,n.__name__=\"LogScale\"},\n", - " function _(t,e,c,a,s){a();const n=t(55),r=t(59),{_linear_compute_state:o}=r.LinearScale.prototype;class l extends n.Scale{constructor(t){super(t)}get s_compute(){const[t,e]=o.call(this),c=this.source_range;return a=>t*c.synthetic(a)+e}get s_invert(){const[t,e]=o.call(this);return c=>(c-e)/t}}c.CategoricalScale=l,l.__name__=\"CategoricalScale\"},\n", - " function _(t,i,n,a,e){a();const s=t(1);var l;const _=t(64),o=t(20),r=t(9),h=t(19),d=(0,s.__importStar)(t(65)),u=t(66);class g extends _.DataRange{constructor(t){super(t),this.have_updated_interactively=!1}initialize(){super.initialize(),this._initial_start=this.start,this._initial_end=this.end,this._initial_range_padding=this.range_padding,this._initial_range_padding_units=this.range_padding_units,this._initial_follow=this.follow,this._initial_follow_interval=this.follow_interval,this._initial_default_span=this.default_span,this._plot_bounds=new Map}get min(){return Math.min(this.start,this.end)}get max(){return Math.max(this.start,this.end)}computed_renderers(){const{renderers:t,names:i}=this,n=(0,r.concat)(this.plots.map((t=>t.data_renderers)));return(0,u.compute_renderers)(0==t.length?\"auto\":t,n,i)}_compute_plot_bounds(t,i){let n=d.empty();for(const a of t){const t=i.get(a);null==t||!a.visible&&this.only_visible||(n=d.union(n,t))}return n}adjust_bounds_for_aspect(t,i){const n=d.empty();let a=t.x1-t.x0;a<=0&&(a=1);let e=t.y1-t.y0;e<=0&&(e=1);const s=.5*(t.x1+t.x0),l=.5*(t.y1+t.y0);return al&&(\"start\"==this.follow?e=a+s*l:\"end\"==this.follow&&(a=e-s*l)),[a,e]}update(t,i,n,a){if(this.have_updated_interactively)return;const e=this.computed_renderers();let s=this._compute_plot_bounds(e,t);null!=a&&(s=this.adjust_bounds_for_aspect(s,a)),this._plot_bounds.set(n,s);const[l,_]=this._compute_min_max(this._plot_bounds.values(),i);let[o,r]=this._compute_range(l,_);null!=this._initial_start&&(\"log\"==this.scale_hint?this._initial_start>0&&(o=this._initial_start):o=this._initial_start),null!=this._initial_end&&(\"log\"==this.scale_hint?this._initial_end>0&&(r=this._initial_end):r=this._initial_end);let h=!1;\"auto\"==this.bounds&&(this.setv({bounds:[o,r]},{silent:!0}),h=!0);const[d,u]=[this.start,this.end];if(o!=d||r!=u){const t={};o!=d&&(t.start=o),r!=u&&(t.end=r),this.setv(t),h=!1}h&&this.change.emit()}reset(){this.have_updated_interactively=!1,this.setv({range_padding:this._initial_range_padding,range_padding_units:this._initial_range_padding_units,follow:this._initial_follow,follow_interval:this._initial_follow_interval,default_span:this._initial_default_span},{silent:!0}),this.change.emit()}}n.DataRange1d=g,l=g,g.__name__=\"DataRange1d\",l.define((({Boolean:t,Number:i,Nullable:n})=>({start:[i],end:[i],range_padding:[i,.1],range_padding_units:[o.PaddingUnits,\"percent\"],flipped:[t,!1],follow:[n(o.StartEnd),null],follow_interval:[n(i),null],default_span:[i,2],only_visible:[t,!1]}))),l.internal((({Enum:t})=>({scale_hint:[t(\"log\",\"auto\"),\"auto\"]})))},\n", - " function _(e,n,a,r,s){var t;r();const c=e(57);class _ extends c.Range{constructor(e){super(e)}}a.DataRange=_,t=_,_.__name__=\"DataRange\",t.define((({String:e,Array:n,AnyRef:a})=>({names:[n(e),[]],renderers:[n(a()),[]]})))},\n", - " function _(t,i,e,h,r){h();const s=t(24),n=t(26),{min:x,max:y}=Math;e.empty=function(){return{x0:1/0,y0:1/0,x1:-1/0,y1:-1/0}},e.positive_x=function(){return{x0:Number.MIN_VALUE,y0:-1/0,x1:1/0,y1:1/0}},e.positive_y=function(){return{x0:-1/0,y0:Number.MIN_VALUE,x1:1/0,y1:1/0}},e.union=function(t,i){return{x0:x(t.x0,i.x0),x1:y(t.x1,i.x1),y0:x(t.y0,i.y0),y1:y(t.y1,i.y1)}};class o{constructor(t){if(null==t)this.x0=0,this.y0=0,this.x1=0,this.y1=0;else if(\"x0\"in t){const{x0:i,y0:e,x1:h,y1:r}=t;if(!(i<=h&&e<=r))throw new Error(`invalid bbox {x0: ${i}, y0: ${e}, x1: ${h}, y1: ${r}}`);this.x0=i,this.y0=e,this.x1=h,this.y1=r}else if(\"x\"in t){const{x:i,y:e,width:h,height:r}=t;if(!(h>=0&&r>=0))throw new Error(`invalid bbox {x: ${i}, y: ${e}, width: ${h}, height: ${r}}`);this.x0=i,this.y0=e,this.x1=i+h,this.y1=e+r}else{let i,e,h,r;if(\"width\"in t)if(\"left\"in t)i=t.left,e=i+t.width;else if(\"right\"in t)e=t.right,i=e-t.width;else{const h=t.width/2;i=t.hcenter-h,e=t.hcenter+h}else i=t.left,e=t.right;if(\"height\"in t)if(\"top\"in t)h=t.top,r=h+t.height;else if(\"bottom\"in t)r=t.bottom,h=r-t.height;else{const i=t.height/2;h=t.vcenter-i,r=t.vcenter+i}else h=t.top,r=t.bottom;if(!(i<=e&&h<=r))throw new Error(`invalid bbox {left: ${i}, top: ${h}, right: ${e}, bottom: ${r}}`);this.x0=i,this.y0=h,this.x1=e,this.y1=r}}static from_rect({left:t,right:i,top:e,bottom:h}){return new o({x0:Math.min(t,i),y0:Math.min(e,h),x1:Math.max(t,i),y1:Math.max(e,h)})}equals(t){return this.x0==t.x0&&this.y0==t.y0&&this.x1==t.x1&&this.y1==t.y1}[n.equals](t,i){return i.eq(this.x0,t.x0)&&i.eq(this.y0,t.y0)&&i.eq(this.x1,t.x1)&&i.eq(this.y1,t.y1)}toString(){return`BBox({left: ${this.left}, top: ${this.top}, width: ${this.width}, height: ${this.height}})`}get left(){return this.x0}get top(){return this.y0}get right(){return this.x1}get bottom(){return this.y1}get p0(){return[this.x0,this.y0]}get p1(){return[this.x1,this.y1]}get x(){return this.x0}get y(){return this.y0}get width(){return this.x1-this.x0}get height(){return this.y1-this.y0}get size(){return{width:this.width,height:this.height}}get rect(){const{x0:t,y0:i,x1:e,y1:h}=this;return{p0:{x:t,y:i},p1:{x:e,y:i},p2:{x:e,y:h},p3:{x:t,y:h}}}get box(){const{x:t,y:i,width:e,height:h}=this;return{x:t,y:i,width:e,height:h}}get h_range(){return{start:this.x0,end:this.x1}}get v_range(){return{start:this.y0,end:this.y1}}get ranges(){return[this.h_range,this.v_range]}get aspect(){return this.width/this.height}get hcenter(){return(this.left+this.right)/2}get vcenter(){return(this.top+this.bottom)/2}get area(){return this.width*this.height}relative(){const{width:t,height:i}=this;return new o({x:0,y:0,width:t,height:i})}translate(t,i){const{x:e,y:h,width:r,height:s}=this;return new o({x:t+e,y:i+h,width:r,height:s})}relativize(t,i){return[t-this.x,i-this.y]}contains(t,i){return this.x0<=t&&t<=this.x1&&this.y0<=i&&i<=this.y1}clip(t,i){return tthis.x1&&(t=this.x1),ithis.y1&&(i=this.y1),[t,i]}grow_by(t){return new o({left:this.left-t,right:this.right+t,top:this.top-t,bottom:this.bottom+t})}shrink_by(t){return new o({left:this.left+t,right:this.right-t,top:this.top+t,bottom:this.bottom-t})}union(t){return new o({x0:x(this.x0,t.x0),y0:x(this.y0,t.y0),x1:y(this.x1,t.x1),y1:y(this.y1,t.y1)})}intersection(t){return this.intersects(t)?new o({x0:y(this.x0,t.x0),y0:y(this.y0,t.y0),x1:x(this.x1,t.x1),y1:x(this.y1,t.y1)}):null}intersects(t){return!(t.x1this.x1||t.y1this.y1)}get xview(){return{compute:t=>this.left+t,v_compute:t=>{const i=new s.ScreenArray(t.length),e=this.left;for(let h=0;hthis.bottom-t,v_compute:t=>{const i=new s.ScreenArray(t.length),e=this.bottom;for(let h=0;h0&&(r=r.filter((n=>(0,l.includes)(t,n.name)))),r}},\n", - " function _(t,n,e,i,s){var r;i();const a=t(57),o=t(20),g=t(21),p=t(24),c=t(9),l=t(8),u=t(11);function h(t,n,e=0){const i=new Map;for(let s=0;sa.get(t).value)));r.set(t,{value:l/s,mapping:a}),o+=s+n+p}return[r,(a.size-1)*n+g]}function _(t,n,e,i,s=0){var r;const a=new Map,o=new Map;for(const[n,e,i]of t){const t=null!==(r=o.get(n))&&void 0!==r?r:[];o.set(n,[...t,[e,i]])}let g=s,p=0;for(const[t,s]of o){const r=s.length,[o,l]=d(s,e,i,g);p+=l;const u=(0,c.sum)(s.map((([t])=>o.get(t).value)));a.set(t,{value:u/r,mapping:o}),g+=r+n+l}return[a,(o.size-1)*n+p]}e.Factor=(0,g.Or)(g.String,(0,g.Tuple)(g.String,g.String),(0,g.Tuple)(g.String,g.String,g.String)),e.FactorSeq=(0,g.Or)((0,g.Array)(g.String),(0,g.Array)((0,g.Tuple)(g.String,g.String)),(0,g.Array)((0,g.Tuple)(g.String,g.String,g.String))),e.map_one_level=h,e.map_two_levels=d,e.map_three_levels=_;class f extends a.Range{constructor(t){super(t)}get min(){return this.start}get max(){return this.end}initialize(){super.initialize(),this._init(!0)}connect_signals(){super.connect_signals(),this.connect(this.properties.factors.change,(()=>this.reset())),this.connect(this.properties.factor_padding.change,(()=>this.reset())),this.connect(this.properties.group_padding.change,(()=>this.reset())),this.connect(this.properties.subgroup_padding.change,(()=>this.reset())),this.connect(this.properties.range_padding.change,(()=>this.reset())),this.connect(this.properties.range_padding_units.change,(()=>this.reset()))}reset(){this._init(!1),this.change.emit()}_lookup(t){switch(t.length){case 1:{const[n]=t,e=this._mapping.get(n);return null!=e?e.value:NaN}case 2:{const[n,e]=t,i=this._mapping.get(n);if(null!=i){const t=i.mapping.get(e);if(null!=t)return t.value}return NaN}case 3:{const[n,e,i]=t,s=this._mapping.get(n);if(null!=s){const t=s.mapping.get(e);if(null!=t){const n=t.mapping.get(i);if(null!=n)return n.value}}return NaN}default:(0,u.unreachable)()}}synthetic(t){if((0,l.isNumber)(t))return t;if((0,l.isString)(t))return this._lookup([t]);let n=0;const e=t[t.length-1];return(0,l.isNumber)(e)&&(n=e,t=t.slice(0,-1)),this._lookup(t)+n}v_synthetic(t){const n=t.length,e=new p.ScreenArray(n);for(let i=0;i{if((0,c.every)(this.factors,l.isString)){const t=this.factors,[n,e]=h(t,this.factor_padding);return{levels:1,mapping:n,tops:null,mids:null,inside_padding:e}}if((0,c.every)(this.factors,(t=>(0,l.isArray)(t)&&2==t.length&&(0,l.isString)(t[0])&&(0,l.isString)(t[1])))){const t=this.factors,[n,e]=d(t,this.group_padding,this.factor_padding),i=[...n.keys()];return{levels:2,mapping:n,tops:i,mids:null,inside_padding:e}}if((0,c.every)(this.factors,(t=>(0,l.isArray)(t)&&3==t.length&&(0,l.isString)(t[0])&&(0,l.isString)(t[1])&&(0,l.isString)(t[2])))){const t=this.factors,[n,e]=_(t,this.group_padding,this.subgroup_padding,this.factor_padding),i=[...n.keys()],s=[];for(const[t,e]of n)for(const n of e.mapping.keys())s.push([t,n]);return{levels:3,mapping:n,tops:i,mids:s,inside_padding:e}}(0,u.unreachable)()})();this._mapping=e,this.tops=i,this.mids=s;let a=0,o=this.factors.length+r;if(\"percent\"==this.range_padding_units){const t=(o-a)*this.range_padding/2;a-=t,o+=t}else a-=this.range_padding,o+=this.range_padding;this.setv({start:a,end:o,levels:n},{silent:t}),\"auto\"==this.bounds&&this.setv({bounds:[a,o]},{silent:!0})}}e.FactorRange=f,r=f,f.__name__=\"FactorRange\",r.define((({Number:t})=>({factors:[e.FactorSeq,[]],factor_padding:[t,0],subgroup_padding:[t,.8],group_padding:[t,1.4],range_padding:[t,0],range_padding_units:[o.PaddingUnits,\"percent\"],start:[t],end:[t]}))),r.internal((({Number:t,String:n,Array:e,Tuple:i,Nullable:s})=>({levels:[t],mids:[s(e(i(n,n))),null],tops:[s(e(n)),null]})))},\n", - " function _(t,e,s,a,i){a();const n=t(1);var _;const r=t(69),o=t(112),l=t(48),d=t(20),h=t(24),c=t(113),u=(0,n.__importStar)(t(18)),v=t(10);class p extends r.DataAnnotationView{async lazy_initialize(){await super.lazy_initialize();const{start:t,end:e}=this.model;null!=t&&(this.start=await(0,c.build_view)(t,{parent:this})),null!=e&&(this.end=await(0,c.build_view)(e,{parent:this}))}set_data(t){var e,s;super.set_data(t),null===(e=this.start)||void 0===e||e.set_data(t),null===(s=this.end)||void 0===s||s.set_data(t)}remove(){var t,e;null===(t=this.start)||void 0===t||t.remove(),null===(e=this.end)||void 0===e||e.remove(),super.remove()}map_data(){const{frame:t}=this.plot_view;\"data\"==this.model.start_units?(this._sx_start=this.coordinates.x_scale.v_compute(this._x_start),this._sy_start=this.coordinates.y_scale.v_compute(this._y_start)):(this._sx_start=t.bbox.xview.v_compute(this._x_start),this._sy_start=t.bbox.yview.v_compute(this._y_start)),\"data\"==this.model.end_units?(this._sx_end=this.coordinates.x_scale.v_compute(this._x_end),this._sy_end=this.coordinates.y_scale.v_compute(this._y_end)):(this._sx_end=t.bbox.xview.v_compute(this._x_end),this._sy_end=t.bbox.yview.v_compute(this._y_end));const{_sx_start:e,_sy_start:s,_sx_end:a,_sy_end:i}=this,n=e.length,_=this._angles=new h.ScreenArray(n);for(let t=0;t({x_start:[u.XCoordinateSpec,{field:\"x_start\"}],y_start:[u.YCoordinateSpec,{field:\"y_start\"}],start_units:[d.SpatialUnits,\"data\"],start:[e(t(o.ArrowHead)),null],x_end:[u.XCoordinateSpec,{field:\"x_end\"}],y_end:[u.YCoordinateSpec,{field:\"y_end\"}],end_units:[d.SpatialUnits,\"data\"],end:[e(t(o.ArrowHead)),()=>new o.OpenHead]})))},\n", - " function _(t,e,n,s,a){s();const o=t(1);var i;const c=t(40),r=t(70),_=t(75),l=t(78),h=(0,o.__importStar)(t(18));class d extends c.AnnotationView{constructor(){super(...arguments),this._initial_set_data=!1}connect_signals(){super.connect_signals();const t=()=>{this.set_data(this.model.source),this._rerender()};this.connect(this.model.change,t),this.connect(this.model.source.streaming,t),this.connect(this.model.source.patching,t),this.connect(this.model.source.change,t)}_rerender(){this.request_render()}set_data(t){const e=this;for(const n of this.model)if(n instanceof h.VectorSpec||n instanceof h.ScalarSpec)if(n instanceof h.BaseCoordinateSpec){const s=n.array(t);e[`_${n.attr}`]=s}else{const s=n.uniform(t);e[`${n.attr}`]=s}this.plot_model.use_map&&(null!=e._x&&l.inplace.project_xy(e._x,e._y),null!=e._xs&&l.inplace.project_xsys(e._xs,e._ys));for(const t of this.visuals)t.update()}_render(){this._initial_set_data||(this.set_data(this.model.source),this._initial_set_data=!0),this.map_data(),this.paint(this.layer.ctx)}}n.DataAnnotationView=d,d.__name__=\"DataAnnotationView\";class u extends c.Annotation{constructor(t){super(t)}}n.DataAnnotation=u,i=u,u.__name__=\"DataAnnotation\",i.define((({Ref:t})=>({source:[t(r.ColumnarDataSource),()=>new _.ColumnDataSource]})))},\n", - " function _(t,e,n,s,a){var i;s();const r=t(71),l=t(15),c=t(19),o=t(73),h=t(8),u=t(9),g=t(13),d=t(72),_=t(74),m=t(29);class w extends r.DataSource{constructor(t){super(t),this.selection_manager=new o.SelectionManager(this)}get_array(t){let e=this.data[t];return null==e?this.data[t]=e=[]:(0,h.isArray)(e)||(this.data[t]=e=Array.from(e)),e}initialize(){super.initialize(),this._select=new l.Signal0(this,\"select\"),this.inspect=new l.Signal(this,\"inspect\"),this.streaming=new l.Signal0(this,\"streaming\"),this.patching=new l.Signal(this,\"patching\")}get_column(t){const e=this.data[t];return null!=e?e:null}columns(){return(0,g.keys)(this.data)}get_length(t=!0){const e=(0,u.uniq)((0,g.values)(this.data).map((t=>(0,m.is_NDArray)(t)?t.shape[0]:t.length)));switch(e.length){case 0:return null;case 1:return e[0];default:{const n=\"data source has columns of inconsistent lengths\";if(t)return c.logger.warn(n),e.sort()[0];throw new Error(n)}}}get length(){var t;return null!==(t=this.get_length())&&void 0!==t?t:0}clear(){const t={};for(const e of this.columns())t[e]=new this.data[e].constructor(0);this.data=t}}n.ColumnarDataSource=w,i=w,w.__name__=\"ColumnarDataSource\",i.define((({Ref:t})=>({selection_policy:[t(_.SelectionPolicy),()=>new _.UnionRenderers]}))),i.internal((({AnyRef:t})=>({inspected:[t(),()=>new d.Selection]})))},\n", - " function _(e,c,n,t,o){var a;t();const s=e(53),r=e(72);class l extends s.Model{constructor(e){super(e)}}n.DataSource=l,a=l,l.__name__=\"DataSource\",a.define((({Ref:e})=>({selected:[e(r.Selection),()=>new r.Selection]})))},\n", - " function _(i,e,s,t,n){var l;t();const c=i(53),d=i(9),h=i(13);class _ extends c.Model{constructor(i){super(i)}get_view(){return this.view}get selected_glyph(){return this.selected_glyphs.length>0?this.selected_glyphs[0]:null}add_to_selected_glyphs(i){this.selected_glyphs.push(i)}update(i,e=!0,s=\"replace\"){switch(s){case\"replace\":this.indices=i.indices,this.line_indices=i.line_indices,this.multiline_indices=i.multiline_indices,this.image_indices=i.image_indices,this.view=i.view,this.selected_glyphs=i.selected_glyphs;break;case\"append\":this.update_through_union(i);break;case\"intersect\":this.update_through_intersection(i);break;case\"subtract\":this.update_through_subtraction(i)}}clear(){this.indices=[],this.line_indices=[],this.multiline_indices={},this.image_indices=[],this.view=null,this.selected_glyphs=[]}map(i){return new _(Object.assign(Object.assign({},this.attributes),{indices:this.indices.map(i),multiline_indices:(0,h.to_object)((0,h.entries)(this.multiline_indices).map((([e,s])=>[i(Number(e)),s]))),image_indices:this.image_indices.map((e=>Object.assign(Object.assign({},e),{index:i(e.index)})))}))}is_empty(){return 0==this.indices.length&&0==this.line_indices.length&&0==this.image_indices.length}update_through_union(i){this.indices=(0,d.union)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}update_through_intersection(i){this.indices=(0,d.intersection)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}update_through_subtraction(i){this.indices=(0,d.difference)(this.indices,i.indices),this.selected_glyphs=(0,d.union)(i.selected_glyphs,this.selected_glyphs),this.line_indices=(0,d.union)(i.line_indices,this.line_indices),this.view=i.view,this.multiline_indices=(0,h.merge)(i.multiline_indices,this.multiline_indices)}}s.Selection=_,l=_,_.__name__=\"Selection\",l.define((({Int:i,Array:e,Dict:s})=>({indices:[e(i),[]],line_indices:[e(i),[]],multiline_indices:[s(e(i)),{}]}))),l.internal((({Int:i,Array:e,AnyRef:s,Struct:t,Nullable:n})=>({selected_glyphs:[e(s()),[]],view:[n(s()),null],image_indices:[e(t({index:i,dim1:i,dim2:i,flat_index:i})),[]]})))},\n", - " function _(e,t,o,s,c){s();const n=e(72);function i(e){return\"GlyphRenderer\"==e.model.type}function l(e){return\"GraphRenderer\"==e.model.type}class r{constructor(e){this.source=e,this.inspectors=new Map}select(e,t,o,s=\"replace\"){const c=[],n=[];for(const t of e)i(t)?c.push(t):l(t)&&n.push(t);let r=!1;for(const e of n){const c=e.model.selection_policy.hit_test(t,e);r=r||e.model.selection_policy.do_selection(c,e.model,o,s)}if(c.length>0){const e=this.source.selection_policy.hit_test(t,c);r=r||this.source.selection_policy.do_selection(e,this.source,o,s)}return r}inspect(e,t){let o=!1;if(i(e)){const s=e.hit_test(t);if(null!=s){o=!s.is_empty();const c=this.get_or_create_inspector(e.model);c.update(s,!0,\"replace\"),this.source.setv({inspected:c},{silent:!0}),this.source.inspect.emit([e.model,{geometry:t}])}}else if(l(e)){const s=e.model.inspection_policy.hit_test(t,e);o=o||e.model.inspection_policy.do_inspection(s,t,e,!1,\"replace\")}return o}clear(e){this.source.selected.clear(),null!=e&&this.get_or_create_inspector(e.model).clear()}get_or_create_inspector(e){let t=this.inspectors.get(e);return null==t&&(t=new n.Selection,this.inspectors.set(e,t)),t}}o.SelectionManager=r,r.__name__=\"SelectionManager\"},\n", - " function _(e,t,n,s,o){s();const r=e(53);class c extends r.Model{do_selection(e,t,n,s){return null!=e&&(t.selected.update(e,n,s),t._select.emit(),!t.selected.is_empty())}}n.SelectionPolicy=c,c.__name__=\"SelectionPolicy\";class l extends c{hit_test(e,t){const n=[];for(const s of t){const t=s.hit_test(e);null!=t&&n.push(t)}if(n.length>0){const e=n[0];for(const t of n)e.update_through_intersection(t);return e}return null}}n.IntersectRenderers=l,l.__name__=\"IntersectRenderers\";class _ extends c{hit_test(e,t){const n=[];for(const s of t){const t=s.hit_test(e);null!=t&&n.push(t)}if(n.length>0){const e=n[0];for(const t of n)e.update_through_union(t);return e}return null}}n.UnionRenderers=_,_.__name__=\"UnionRenderers\"},\n", - " function _(t,n,e,s,o){s();const r=t(1);var l;const c=t(70),i=t(8),a=t(13),u=(0,r.__importStar)(t(76)),h=t(77),d=t(35);function f(t,n,e){if((0,i.isArray)(t)){const s=t.concat(n);return null!=e&&s.length>e?s.slice(-e):s}if((0,i.isTypedArray)(t)){const s=t.length+n.length;if(null!=e&&s>e){const o=s-e,r=t.length;let l;t.length({data:[t(n),{}]})))},\n", - " function _(t,n,o,e,c){e(),o.concat=function(t,...n){let o=t.length;for(const t of n)o+=t.length;const e=new t.constructor(o);e.set(t,0);let c=t.length;for(const t of n)e.set(t,c),c+=t.length;return e}},\n", - " function _(n,o,t,e,f){function c(...n){const o=new Set;for(const t of n)for(const n of t)o.add(n);return o}e(),t.union=c,t.intersection=function(n,...o){const t=new Set;n:for(const e of n){for(const n of o)if(!n.has(e))continue n;t.add(e)}return t},t.difference=function(n,...o){const t=new Set(n);for(const n of c(...o))t.delete(n);return t}},\n", - " function _(n,t,e,o,r){o();const c=n(1),l=(0,c.__importDefault)(n(79)),i=(0,c.__importDefault)(n(80)),u=n(24),a=new i.default(\"GOOGLE\"),s=new i.default(\"WGS84\"),f=(0,l.default)(s,a);e.wgs84_mercator={compute:(n,t)=>isFinite(n)&&isFinite(t)?f.forward([n,t]):[NaN,NaN],invert:(n,t)=>isFinite(n)&&isFinite(t)?f.inverse([n,t]):[NaN,NaN]};const _={lon:[-20026376.39,20026376.39],lat:[-20048966.1,20048966.1]},p={lon:[-180,180],lat:[-85.06,85.06]},{min:g,max:h}=Math;function m(n,t){const o=g(n.length,t.length),r=(0,u.infer_type)(n,t),c=new r(o),l=new r(o);return e.inplace.project_xy(n,t,c,l),[c,l]}e.clip_mercator=function(n,t,e){const[o,r]=_[e];return[h(n,o),g(t,r)]},e.in_bounds=function(n,t){const[e,o]=p[t];return e2?void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name?\"number\"==typeof o.z?[o.x,o.y,o.z].concat(t.splice(3)):[o.x,o.y,t[2]].concat(t.splice(3)):[o.x,o.y].concat(t.splice(2)):[o.x,o.y]):(a=(0,c.default)(e,n,t,r),2===(i=Object.keys(t)).length||i.forEach((function(r){if(void 0!==e.name&&\"geocent\"===e.name||void 0!==n.name&&\"geocent\"===n.name){if(\"x\"===r||\"y\"===r||\"z\"===r)return}else if(\"x\"===r||\"y\"===r)return;a[r]=t[r]})),a)}function l(e){return e instanceof i.default?e:e.oProj?e.oProj:(0,i.default)(e)}t.default=function(e,n,t){e=l(e);var r,o=!1;return void 0===n?(n=e,e=u,o=!0):(void 0!==n.x||Array.isArray(n))&&(t=n,n=e,e=u,o=!0),n=l(n),t?f(e,n,t):(r={forward:function(t,r){return f(e,n,t,r)},inverse:function(t,r){return f(n,e,t,r)}},o&&(r.oProj=n),r)}},\n", - " function _(t,e,a,s,i){s();const l=t(1),u=(0,l.__importDefault)(t(81)),r=(0,l.__importDefault)(t(92)),d=(0,l.__importDefault)(t(93)),o=t(101),f=(0,l.__importDefault)(t(103)),p=(0,l.__importDefault)(t(104)),m=(0,l.__importDefault)(t(88)),n=t(105);function h(t,e){if(!(this instanceof h))return new h(t);e=e||function(t){if(t)throw t};var a=(0,u.default)(t);if(\"object\"==typeof a){var s=h.projections.get(a.projName);if(s){if(a.datumCode&&\"none\"!==a.datumCode){var i=(0,m.default)(f.default,a.datumCode);i&&(a.datum_params=a.datum_params||(i.towgs84?i.towgs84.split(\",\"):null),a.ellps=i.ellipse,a.datumName=i.datumName?i.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||\"enu\",a.ellps=a.ellps||\"wgs84\",a.lat1=a.lat1||a.lat0;var l=(0,o.sphere)(a.a,a.b,a.rf,a.ellps,a.sphere),d=(0,o.eccentricity)(l.a,l.b,l.rf,a.R_A),_=(0,n.getNadgrids)(a.nadgrids),c=a.datum||(0,p.default)(a.datumCode,a.datum_params,l.a,l.b,d.es,d.ep2,_);(0,r.default)(this,a),(0,r.default)(this,s),this.a=l.a,this.b=l.b,this.rf=l.rf,this.sphere=l.sphere,this.es=d.es,this.e=d.e,this.ep2=d.ep2,this.datum=c,this.init(),e(null,this)}else e(t)}else e(t)}h.projections=d.default,h.projections.start(),a.default=h},\n", - " function _(t,r,n,u,e){u();const f=t(1),i=(0,f.__importDefault)(t(82)),a=(0,f.__importDefault)(t(89)),o=(0,f.__importDefault)(t(84)),l=(0,f.__importDefault)(t(88));var C=[\"PROJECTEDCRS\",\"PROJCRS\",\"GEOGCS\",\"GEOCCS\",\"PROJCS\",\"LOCAL_CS\",\"GEODCRS\",\"GEODETICCRS\",\"GEODETICDATUM\",\"ENGCRS\",\"ENGINEERINGCRS\"];var d=[\"3857\",\"900913\",\"3785\",\"102113\"];n.default=function(t){if(!function(t){return\"string\"==typeof t}(t))return t;if(function(t){return t in i.default}(t))return i.default[t];if(function(t){return C.some((function(r){return t.indexOf(r)>-1}))}(t)){var r=(0,a.default)(t);if(function(t){var r=(0,l.default)(t,\"authority\");if(r){var n=(0,l.default)(r,\"epsg\");return n&&d.indexOf(n)>-1}}(r))return i.default[\"EPSG:3857\"];var n=function(t){var r=(0,l.default)(t,\"extension\");if(r)return(0,l.default)(r,\"proj4\")}(r);return n?(0,o.default)(n):r}return function(t){return\"+\"===t[0]}(t)?(0,o.default)(t):void 0}},\n", - " function _(t,r,i,e,n){e();const f=t(1),a=(0,f.__importDefault)(t(83)),l=(0,f.__importDefault)(t(84)),u=(0,f.__importDefault)(t(89));function o(t){var r=this;if(2===arguments.length){var i=arguments[1];\"string\"==typeof i?\"+\"===i.charAt(0)?o[t]=(0,l.default)(arguments[1]):o[t]=(0,u.default)(arguments[1]):o[t]=i}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?o.apply(r,t):o(t)}));if(\"string\"==typeof t){if(t in o)return o[t]}else\"EPSG\"in t?o[\"EPSG:\"+t.EPSG]=t:\"ESRI\"in t?o[\"ESRI:\"+t.ESRI]=t:\"IAU2000\"in t?o[\"IAU2000:\"+t.IAU2000]=t:console.log(t);return}}(0,a.default)(o),i.default=o},\n", - " function _(t,l,G,S,e){S(),G.default=function(t){t(\"EPSG:4326\",\"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\"),t(\"EPSG:4269\",\"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\"),t(\"EPSG:3857\",\"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\"),t.WGS84=t[\"EPSG:4326\"],t[\"EPSG:3785\"]=t[\"EPSG:3857\"],t.GOOGLE=t[\"EPSG:3857\"],t[\"EPSG:900913\"]=t[\"EPSG:3857\"],t[\"EPSG:102113\"]=t[\"EPSG:3857\"]}},\n", - " function _(t,n,o,a,u){a();const e=t(1),r=t(85),i=(0,e.__importDefault)(t(86)),f=(0,e.__importDefault)(t(87)),l=(0,e.__importDefault)(t(88));o.default=function(t){var n,o,a,u={},e=t.split(\"+\").map((function(t){return t.trim()})).filter((function(t){return t})).reduce((function(t,n){var o=n.split(\"=\");return o.push(!0),t[o[0].toLowerCase()]=o[1],t}),{}),c={proj:\"projName\",datum:\"datumCode\",rf:function(t){u.rf=parseFloat(t)},lat_0:function(t){u.lat0=t*r.D2R},lat_1:function(t){u.lat1=t*r.D2R},lat_2:function(t){u.lat2=t*r.D2R},lat_ts:function(t){u.lat_ts=t*r.D2R},lon_0:function(t){u.long0=t*r.D2R},lon_1:function(t){u.long1=t*r.D2R},lon_2:function(t){u.long2=t*r.D2R},alpha:function(t){u.alpha=parseFloat(t)*r.D2R},gamma:function(t){u.rectified_grid_angle=parseFloat(t)},lonc:function(t){u.longc=t*r.D2R},x_0:function(t){u.x0=parseFloat(t)},y_0:function(t){u.y0=parseFloat(t)},k_0:function(t){u.k0=parseFloat(t)},k:function(t){u.k0=parseFloat(t)},a:function(t){u.a=parseFloat(t)},b:function(t){u.b=parseFloat(t)},r_a:function(){u.R_A=!0},zone:function(t){u.zone=parseInt(t,10)},south:function(){u.utmSouth=!0},towgs84:function(t){u.datum_params=t.split(\",\").map((function(t){return parseFloat(t)}))},to_meter:function(t){u.to_meter=parseFloat(t)},units:function(t){u.units=t;var n=(0,l.default)(f.default,t);n&&(u.to_meter=n.to_meter)},from_greenwich:function(t){u.from_greenwich=t*r.D2R},pm:function(t){var n=(0,l.default)(i.default,t);u.from_greenwich=(n||parseFloat(t))*r.D2R},nadgrids:function(t){\"@null\"===t?u.datumCode=\"none\":u.nadgrids=t},axis:function(t){var n=\"ewnsud\";3===t.length&&-1!==n.indexOf(t.substr(0,1))&&-1!==n.indexOf(t.substr(1,1))&&-1!==n.indexOf(t.substr(2,1))&&(u.axis=t)},approx:function(){u.approx=!0}};for(n in e)o=e[n],n in c?\"function\"==typeof(a=c[n])?a(o):u[a]=o:u[n]=o;return\"string\"==typeof u.datumCode&&\"WGS84\"!==u.datumCode&&(u.datumCode=u.datumCode.toLowerCase()),u}},\n", - " function _(S,_,P,R,I){R(),P.PJD_3PARAM=1,P.PJD_7PARAM=2,P.PJD_GRIDSHIFT=3,P.PJD_WGS84=4,P.PJD_NODATUM=5,P.SRS_WGS84_SEMIMAJOR=6378137,P.SRS_WGS84_SEMIMINOR=6356752.314,P.SRS_WGS84_ESQUARED=.0066943799901413165,P.SEC_TO_RAD=484813681109536e-20,P.HALF_PI=Math.PI/2,P.SIXTH=.16666666666666666,P.RA4=.04722222222222222,P.RA6=.022156084656084655,P.EPSLN=1e-10,P.D2R=.017453292519943295,P.R2D=57.29577951308232,P.FORTPI=Math.PI/4,P.TWO_PI=2*Math.PI,P.SPI=3.14159265359},\n", - " function _(o,r,a,e,s){e();var n={};a.default=n,n.greenwich=0,n.lisbon=-9.131906111111,n.paris=2.337229166667,n.bogota=-74.080916666667,n.madrid=-3.687938888889,n.rome=12.452333333333,n.bern=7.439583333333,n.jakarta=106.807719444444,n.ferro=-17.666666666667,n.brussels=4.367975,n.stockholm=18.058277777778,n.athens=23.7163375,n.oslo=10.722916666667},\n", - " function _(t,e,f,o,u){o(),f.default={ft:{to_meter:.3048},\"us-ft\":{to_meter:1200/3937}}},\n", - " function _(e,r,t,a,n){a();var o=/[\\s_\\-\\/\\(\\)]/g;t.default=function(e,r){if(e[r])return e[r];for(var t,a=Object.keys(e),n=r.toLowerCase().replace(o,\"\"),f=-1;++f0?90:-90),e.lat_ts=e.lat1)}(n),n}},\n", - " function _(t,e,r,i,s){i(),r.default=function(t){return new d(t).output()};var h=/\\s/,o=/[A-Za-z]/,n=/[A-Za-z84]/,a=/[,\\]]/,u=/[\\d\\.E\\-\\+]/;function d(t){if(\"string\"!=typeof t)throw new Error(\"not a string\");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=1}d.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;h.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case 1:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},d.prototype.afterquote=function(t){if('\"'===t)return this.word+='\"',void(this.state=4);if(a.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error(\"havn't handled \\\"\"+t+'\" in afterquote yet, index '+this.place)},d.prototype.afterItem=function(t){return\",\"===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=1)):\"]\"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=1,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},d.prototype.number=function(t){if(!u.test(t)){if(a.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error(\"havn't handled \\\"\"+t+'\" in number yet, index '+this.place)}this.word+=t},d.prototype.quoted=function(t){'\"'!==t?this.word+=t:this.state=5},d.prototype.keyword=function(t){if(n.test(t))this.word+=t;else{if(\"[\"===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=1)}if(!a.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in keyword yet, index '+this.place);this.afterItem(t)}},d.prototype.neutral=function(t){if(o.test(t))return this.word=t,void(this.state=2);if('\"'===t)return this.word=\"\",void(this.state=4);if(u.test(t))return this.word=t,void(this.state=3);if(!a.test(t))throw new Error(\"havn't handled \\\"\"+t+'\" in neutral yet, index '+this.place);this.afterItem(t)},d.prototype.output=function(){for(;this.place90&&a*o.R2D<-90&&h*o.R2D>180&&h*o.R2D<-180)return null;if(Math.abs(Math.abs(a)-o.HALF_PI)<=o.EPSLN)return null;if(this.sphere)i=this.x0+this.a*this.k0*(0,n.default)(h-this.long0),s=this.y0+this.a*this.k0*Math.log(Math.tan(o.FORTPI+.5*a));else{var e=Math.sin(a),r=(0,l.default)(this.e,a,e);i=this.x0+this.a*this.k0*(0,n.default)(h-this.long0),s=this.y0-this.a*this.k0*Math.log(r)}return t.x=i,t.y=s,t}function M(t){var i,s,h=t.x-this.x0,a=t.y-this.y0;if(this.sphere)s=o.HALF_PI-2*Math.atan(Math.exp(-a/(this.a*this.k0)));else{var e=Math.exp(-a/(this.a*this.k0));if(-9999===(s=(0,u.default)(this.e,e)))return null}return i=(0,n.default)(this.long0+h/(this.a*this.k0)),t.x=i,t.y=s,t}s.init=f,s.forward=_,s.inverse=M,s.names=[\"Mercator\",\"Popular Visualisation Pseudo Mercator\",\"Mercator_1SP\",\"Mercator_Auxiliary_Sphere\",\"merc\"],s.default={init:f,forward:_,inverse:M,names:s.names}},\n", - " function _(t,n,r,u,a){u(),r.default=function(t,n,r){var u=t*n;return r/Math.sqrt(1-u*u)}},\n", - " function _(t,n,u,a,f){a();const e=t(1),o=t(85),_=(0,e.__importDefault)(t(97));u.default=function(t){return Math.abs(t)<=o.SPI?t:t-(0,_.default)(t)*o.TWO_PI}},\n", - " function _(n,t,u,f,c){f(),u.default=function(n){return n<0?-1:1}},\n", - " function _(t,n,a,o,u){o();const c=t(85);a.default=function(t,n,a){var o=t*a,u=.5*t;return o=Math.pow((1-o)/(1+o),u),Math.tan(.5*(c.HALF_PI-n))/o}},\n", - " function _(t,a,n,r,f){r();const h=t(85);n.default=function(t,a){for(var n,r,f=.5*t,o=h.HALF_PI-2*Math.atan(a),u=0;u<=15;u++)if(n=t*Math.sin(o),o+=r=h.HALF_PI-2*Math.atan(a*Math.pow((1-n)/(1+n),f))-o,Math.abs(r)<=1e-10)return o;return-9999}},\n", - " function _(n,i,e,t,r){function a(){}function f(n){return n}t(),e.init=a,e.forward=f,e.inverse=f,e.names=[\"longlat\",\"identity\"],e.default={init:a,forward:f,inverse:f,names:e.names}},\n", - " function _(t,r,e,a,n){a();const f=t(1),i=t(85),u=(0,f.__importStar)(t(102)),c=(0,f.__importDefault)(t(88));e.eccentricity=function(t,r,e,a){var n=t*t,f=r*r,u=(n-f)/n,c=0;return a?(n=(t*=1-u*(i.SIXTH+u*(i.RA4+u*i.RA6)))*t,u=0):c=Math.sqrt(u),{es:u,e:c,ep2:(n-f)/f}},e.sphere=function(t,r,e,a,n){if(!t){var f=(0,c.default)(u.default,a);f||(f=u.WGS84),t=f.a,r=f.b,e=f.rf}return e&&!r&&(r=(1-1/e)*t),(0===e||Math.abs(t-r)3&&(0===s.datum_params[3]&&0===s.datum_params[4]&&0===s.datum_params[5]&&0===s.datum_params[6]||(s.datum_type=d.PJD_7PARAM,s.datum_params[3]*=d.SEC_TO_RAD,s.datum_params[4]*=d.SEC_TO_RAD,s.datum_params[5]*=d.SEC_TO_RAD,s.datum_params[6]=s.datum_params[6]/1e6+1))),r&&(s.datum_type=d.PJD_GRIDSHIFT,s.grids=r),s.a=_,s.b=t,s.es=u,s.ep2=p,s}},\n", - " function _(t,e,n,r,i){r();var u={};function l(t){if(0===t.length)return null;var e=\"@\"===t[0];return e&&(t=t.slice(1)),\"null\"===t?{name:\"null\",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:u[t]||null,isNull:!1}}function o(t){return t/3600*Math.PI/180}function a(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function d(t){return t.map((function(t){return[o(t.longitudeShift),o(t.latitudeShift)]}))}function g(t,e,n){return{name:a(t,e+8,e+16).trim(),parent:a(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,n),upperLatitude:t.getFloat64(e+88,n),lowerLongitude:t.getFloat64(e+104,n),upperLongitude:t.getFloat64(e+120,n),latitudeInterval:t.getFloat64(e+136,n),longitudeInterval:t.getFloat64(e+152,n),gridNodeCount:t.getInt32(e+168,n)}}function s(t,e,n,r){for(var i=e+176,u=[],l=0;l1&&console.log(\"Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored\");var l=function(t,e,n){for(var r=176,i=[],u=0;ua.y||f>a.x||N1e-12&&Math.abs(n.y)>1e-12);if(d<0)return console.log(\"Inverse grid shift iterator failed to converge.\"),a;a.x=(0,u.default)(l.x+t.ll[0]),a.y=l.y+t.ll[1]}else isNaN(l.x)||(a.x=r.x+l.x,a.y=r.y+l.y);return a}function f(r,e){var t,a={x:r.x/e.del[0],y:r.y/e.del[1]},i=Math.floor(a.x),l=Math.floor(a.y),n=a.x-1*i,o=a.y-1*l,u={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return u;if(l<0||l>=e.lim[1])return u;t=l*e.lim[0]+i;var d=e.cvs[t][0],s=e.cvs[t][1];t++;var y=e.cvs[t][0],f=e.cvs[t][1];t+=e.lim[0];var x=e.cvs[t][0],m=e.cvs[t][1];t--;var N=e.cvs[t][0],c=e.cvs[t][1],_=n*o,g=n*(1-o),v=(1-n)*(1-o),S=(1-n)*o;return u.x=v*d+g*y+S*N+_*x,u.y=v*s+g*f+S*c+_*m,u}t.default=function(r,e,t){if((0,o.compareDatums)(r,e))return t;if(r.datum_type===n.PJD_NODATUM||e.datum_type===n.PJD_NODATUM)return t;var a=r.a,i=r.es;if(r.datum_type===n.PJD_GRIDSHIFT){if(0!==s(r,!1,t))return;a=n.SRS_WGS84_SEMIMAJOR,i=n.SRS_WGS84_ESQUARED}var l=e.a,u=e.b,y=e.es;if(e.datum_type===n.PJD_GRIDSHIFT&&(l=n.SRS_WGS84_SEMIMAJOR,u=n.SRS_WGS84_SEMIMINOR,y=n.SRS_WGS84_ESQUARED),i===y&&a===l&&!d(r.datum_type)&&!d(e.datum_type))return t;if(t=(0,o.geodeticToGeocentric)(t,i,a),d(r.datum_type)&&(t=(0,o.geocentricToWgs84)(t,r.datum_type,r.datum_params)),d(e.datum_type)&&(t=(0,o.geocentricFromWgs84)(t,e.datum_type,e.datum_params)),t=(0,o.geocentricToGeodetic)(t,y,l,u),e.datum_type===n.PJD_GRIDSHIFT&&0!==s(e,!0,t))return;return t},t.applyGridShift=s},\n", - " function _(a,t,r,m,s){m();const u=a(85);r.compareDatums=function(a,t){return a.datum_type===t.datum_type&&(!(a.a!==t.a||Math.abs(a.es-t.es)>5e-11)&&(a.datum_type===u.PJD_3PARAM?a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]:a.datum_type!==u.PJD_7PARAM||a.datum_params[0]===t.datum_params[0]&&a.datum_params[1]===t.datum_params[1]&&a.datum_params[2]===t.datum_params[2]&&a.datum_params[3]===t.datum_params[3]&&a.datum_params[4]===t.datum_params[4]&&a.datum_params[5]===t.datum_params[5]&&a.datum_params[6]===t.datum_params[6]))},r.geodeticToGeocentric=function(a,t,r){var m,s,_,e,n=a.x,d=a.y,i=a.z?a.z:0;if(d<-u.HALF_PI&&d>-1.001*u.HALF_PI)d=-u.HALF_PI;else if(d>u.HALF_PI&&d<1.001*u.HALF_PI)d=u.HALF_PI;else{if(d<-u.HALF_PI)return{x:-1/0,y:-1/0,z:a.z};if(d>u.HALF_PI)return{x:1/0,y:1/0,z:a.z}}return n>Math.PI&&(n-=2*Math.PI),s=Math.sin(d),e=Math.cos(d),_=s*s,{x:((m=r/Math.sqrt(1-t*_))+i)*e*Math.cos(n),y:(m+i)*e*Math.sin(n),z:(m*(1-t)+i)*s}},r.geocentricToGeodetic=function(a,t,r,m){var s,_,e,n,d,i,p,P,y,z,M,o,A,c,x,h=1e-12,f=a.x,I=a.y,F=a.z?a.z:0;if(s=Math.sqrt(f*f+I*I),_=Math.sqrt(f*f+I*I+F*F),s/r1e-24&&A<30);return{x:c,y:Math.atan(M/Math.abs(z)),z:x}},r.geocentricToWgs84=function(a,t,r){if(t===u.PJD_3PARAM)return{x:a.x+r[0],y:a.y+r[1],z:a.z+r[2]};if(t===u.PJD_7PARAM){var m=r[0],s=r[1],_=r[2],e=r[3],n=r[4],d=r[5],i=r[6];return{x:i*(a.x-d*a.y+n*a.z)+m,y:i*(d*a.x+a.y-e*a.z)+s,z:i*(-n*a.x+e*a.y+a.z)+_}}},r.geocentricFromWgs84=function(a,t,r){if(t===u.PJD_3PARAM)return{x:a.x-r[0],y:a.y-r[1],z:a.z-r[2]};if(t===u.PJD_7PARAM){var m=r[0],s=r[1],_=r[2],e=r[3],n=r[4],d=r[5],i=r[6],p=(a.x-m)/i,P=(a.y-s)/i,y=(a.z-_)/i;return{x:p+d*P-n*y,y:-d*p+P+e*y,z:n*p-e*P+y}}}},\n", - " function _(e,a,i,r,s){r(),i.default=function(e,a,i){var r,s,n,c=i.x,d=i.y,f=i.z||0,u={};for(n=0;n<3;n++)if(!a||2!==n||void 0!==i.z)switch(0===n?(r=c,s=-1!==\"ew\".indexOf(e.axis[n])?\"x\":\"y\"):1===n?(r=d,s=-1!==\"ns\".indexOf(e.axis[n])?\"y\":\"x\"):(r=f,s=\"z\"),e.axis[n]){case\"e\":u[s]=r;break;case\"w\":u[s]=-r;break;case\"n\":u[s]=r;break;case\"s\":u[s]=-r;break;case\"u\":void 0!==i[s]&&(u.z=r);break;case\"d\":void 0!==i[s]&&(u.z=-r);break;default:return null}return u}},\n", - " function _(n,t,e,u,f){u(),e.default=function(n){var t={x:n[0],y:n[1]};return n.length>2&&(t.z=n[2]),n.length>3&&(t.m=n[3]),t}},\n", - " function _(e,i,n,t,r){function o(e){if(\"function\"==typeof Number.isFinite){if(Number.isFinite(e))return;throw new TypeError(\"coordinates must be finite numbers\")}if(\"number\"!=typeof e||e!=e||!isFinite(e))throw new TypeError(\"coordinates must be finite numbers\")}t(),n.default=function(e){o(e.x),o(e.y)}},\n", - " function _(e,i,s,t,o){t();const n=e(1);var l,a,r,_,c;const d=e(53),v=e(42),u=(0,n.__importStar)(e(45)),h=e(48),m=(0,n.__importStar)(e(18));class T extends v.View{initialize(){super.initialize(),this.visuals=new u.Visuals(this)}request_render(){this.parent.request_render()}get canvas(){return this.parent.canvas}set_data(e){const i=this;for(const s of this.model){if(!(s instanceof m.VectorSpec||s instanceof m.ScalarSpec))continue;const t=s.uniform(e);i[`${s.attr}`]=t}}}s.ArrowHeadView=T,T.__name__=\"ArrowHeadView\";class p extends d.Model{constructor(e){super(e)}}s.ArrowHead=p,l=p,p.__name__=\"ArrowHead\",l.define((()=>({size:[m.NumberSpec,25]})));class V extends T{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(0,0),e.lineTo(.5*s,s)}render(e,i){if(this.visuals.line.doit){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),e.stroke()}}}s.OpenHeadView=V,V.__name__=\"OpenHeadView\";class f extends p{constructor(e){super(e)}}s.OpenHead=f,a=f,f.__name__=\"OpenHead\",a.prototype.default_view=V,a.mixins(h.LineVector);class w extends T{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(.5*s,s)}render(e,i){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,i),this._normal(e,i),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,i),this._normal(e,i),e.stroke())}_normal(e,i){const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),e.closePath()}}s.NormalHeadView=w,w.__name__=\"NormalHeadView\";class H extends p{constructor(e){super(e)}}s.NormalHead=H,r=H,H.__name__=\"NormalHead\",r.prototype.default_view=w,r.mixins([h.LineVector,h.FillVector]),r.override({fill_color:\"black\"});class z extends T{clip(e,i){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.moveTo(.5*s,s),e.lineTo(.5*s,-2),e.lineTo(-.5*s,-2),e.lineTo(-.5*s,s),e.lineTo(0,.5*s),e.lineTo(.5*s,s)}render(e,i){this.visuals.fill.doit&&(this.visuals.fill.set_vectorize(e,i),this._vee(e,i),e.fill()),this.visuals.line.doit&&(this.visuals.line.set_vectorize(e,i),this._vee(e,i),e.stroke())}_vee(e,i){const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,s),e.lineTo(0,0),e.lineTo(-.5*s,s),e.lineTo(0,.5*s),e.closePath()}}s.VeeHeadView=z,z.__name__=\"VeeHeadView\";class x extends p{constructor(e){super(e)}}s.VeeHead=x,_=x,x.__name__=\"VeeHead\",_.prototype.default_view=z,_.mixins([h.LineVector,h.FillVector]),_.override({fill_color:\"black\"});class g extends T{render(e,i){if(this.visuals.line.doit){this.visuals.line.set_vectorize(e,i);const s=this.size.get(i);e.beginPath(),e.moveTo(.5*s,0),e.lineTo(-.5*s,0),e.stroke()}}clip(e,i){}}s.TeeHeadView=g,g.__name__=\"TeeHeadView\";class b extends p{constructor(e){super(e)}}s.TeeHead=b,c=b,b.__name__=\"TeeHead\",c.prototype.default_view=g,c.mixins(h.LineVector)},\n", - " function _(n,e,t,i,o){i();const s=n(9);async function c(n,e,t){const i=new n(Object.assign(Object.assign({},t),{model:e}));return i.initialize(),await i.lazy_initialize(),i}t.build_view=async function(n,e={parent:null},t=(n=>n.default_view)){const i=await c(t(n),n,e);return i.connect_signals(),i},t.build_views=async function(n,e,t={parent:null},i=(n=>n.default_view)){const o=(0,s.difference)([...n.keys()],e);for(const e of o)n.get(e).remove(),n.delete(e);const a=[],f=e.filter((e=>!n.has(e)));for(const e of f){const o=await c(i(e),e,t);n.set(e,o),a.push(o)}for(const n of a)n.connect_signals();return a},t.remove_views=function(n){for(const[e,t]of n)t.remove(),n.delete(e)}},\n", - " function _(e,s,_,i,l){i();const t=e(1);var o;const r=e(115),p=(0,t.__importStar)(e(48));class h extends r.UpperLowerView{paint(e){e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,_=this._lower_sx.length;s<_;s++)e.lineTo(this._lower_sx[s],this._lower_sy[s]);for(let s=this._upper_sx.length-1;s>=0;s--)e.lineTo(this._upper_sx[s],this._upper_sy[s]);e.closePath(),this.visuals.fill.apply(e),e.beginPath(),e.moveTo(this._lower_sx[0],this._lower_sy[0]);for(let s=0,_=this._lower_sx.length;s<_;s++)e.lineTo(this._lower_sx[s],this._lower_sy[s]);this.visuals.line.apply(e),e.beginPath(),e.moveTo(this._upper_sx[0],this._upper_sy[0]);for(let s=0,_=this._upper_sx.length;s<_;s++)e.lineTo(this._upper_sx[s],this._upper_sy[s]);this.visuals.line.apply(e)}}_.BandView=h,h.__name__=\"BandView\";class n extends r.UpperLower{constructor(e){super(e)}}_.Band=n,o=n,n.__name__=\"Band\",o.prototype.default_view=h,o.mixins([p.Line,p.Fill]),o.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},\n", - " function _(e,t,i,s,o){s();const r=e(1);var n;const p=e(69),a=e(20),_=(0,r.__importStar)(e(18));class h extends p.DataAnnotationView{map_data(){const{frame:e}=this.plot_view,t=this.model.dimension,i=this.coordinates.x_scale,s=this.coordinates.y_scale,o=\"height\"==t?s:i,r=\"height\"==t?i:s,n=\"height\"==t?e.bbox.yview:e.bbox.xview,p=\"height\"==t?e.bbox.xview:e.bbox.yview;let a,_,h;a=\"data\"==this.model.properties.lower.units?o.v_compute(this._lower):n.v_compute(this._lower),_=\"data\"==this.model.properties.upper.units?o.v_compute(this._upper):n.v_compute(this._upper),h=\"data\"==this.model.properties.base.units?r.v_compute(this._base):p.v_compute(this._base);const[d,c]=\"height\"==t?[1,0]:[0,1],u=[a,h],l=[_,h];this._lower_sx=u[d],this._lower_sy=u[c],this._upper_sx=l[d],this._upper_sy=l[c]}}i.UpperLowerView=h,h.__name__=\"UpperLowerView\";class d extends _.CoordinateSpec{get dimension(){return\"width\"==this.obj.dimension?\"x\":\"y\"}get units(){var e;return null!==(e=this.spec.units)&&void 0!==e?e:\"data\"}}i.XOrYCoordinateSpec=d,d.__name__=\"XOrYCoordinateSpec\";class c extends p.DataAnnotation{constructor(e){super(e)}}i.UpperLower=c,n=c,c.__name__=\"UpperLower\",n.define((()=>({dimension:[a.Dimension,\"height\"],lower:[d,{field:\"lower\"}],upper:[d,{field:\"upper\"}],base:[d,{field:\"base\"}]})))},\n", - " function _(t,o,i,n,e){n();const s=t(1);var l;const r=t(40),a=(0,s.__importStar)(t(48)),c=t(20),h=t(65);i.EDGE_TOLERANCE=2.5;class b extends r.AnnotationView{constructor(){super(...arguments),this.bbox=new h.BBox}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{left:t,right:o,top:i,bottom:n}=this.model;if(null==t&&null==o&&null==i&&null==n)return;const{frame:e}=this.plot_view,s=this.coordinates.x_scale,l=this.coordinates.y_scale,r=(t,o,i,n,e)=>{let s;return s=null!=t?this.model.screen?t:\"data\"==o?i.compute(t):n.compute(t):e,s};this.bbox=h.BBox.from_rect({left:r(t,this.model.left_units,s,e.bbox.xview,e.bbox.left),right:r(o,this.model.right_units,s,e.bbox.xview,e.bbox.right),top:r(i,this.model.top_units,l,e.bbox.yview,e.bbox.top),bottom:r(n,this.model.bottom_units,l,e.bbox.yview,e.bbox.bottom)}),this._paint_box()}_paint_box(){const{ctx:t}=this.layer;t.save();const{left:o,top:i,width:n,height:e}=this.bbox;t.beginPath(),t.rect(o,i,n,e),this.visuals.fill.apply(t),this.visuals.hatch.apply(t),this.visuals.line.apply(t),t.restore()}interactive_bbox(){const t=this.model.line_width+i.EDGE_TOLERANCE;return this.bbox.grow_by(t)}interactive_hit(t,o){if(null==this.model.in_cursor)return!1;return this.interactive_bbox().contains(t,o)}cursor(t,o){const{left:i,right:n,bottom:e,top:s}=this.bbox;return Math.abs(t-i)<3||Math.abs(t-n)<3?this.model.ew_cursor:Math.abs(o-e)<3||Math.abs(o-s)<3?this.model.ns_cursor:this.bbox.contains(t,o)?this.model.in_cursor:null}}i.BoxAnnotationView=b,b.__name__=\"BoxAnnotationView\";class u extends r.Annotation{constructor(t){super(t)}update({left:t,right:o,top:i,bottom:n}){this.setv({left:t,right:o,top:i,bottom:n,screen:!0})}}i.BoxAnnotation=u,l=u,u.__name__=\"BoxAnnotation\",l.prototype.default_view=b,l.mixins([a.Line,a.Fill,a.Hatch]),l.define((({Number:t,Nullable:o})=>({top:[o(t),null],top_units:[c.SpatialUnits,\"data\"],bottom:[o(t),null],bottom_units:[c.SpatialUnits,\"data\"],left:[o(t),null],left_units:[c.SpatialUnits,\"data\"],right:[o(t),null],right_units:[c.SpatialUnits,\"data\"],render_mode:[c.RenderMode,\"canvas\"]}))),l.internal((({Boolean:t,String:o,Nullable:i})=>({screen:[t,!1],ew_cursor:[i(o),null],ns_cursor:[i(o),null],in_cursor:[i(o),null]}))),l.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},\n", - " function _(t,e,i,o,n){o();const a=t(1);var r;const s=t(40),l=t(118),_=t(126),c=t(127),h=t(130),u=t(168),p=t(131),m=t(192),g=t(132),d=t(173),f=t(172),w=t(196),b=t(204),v=t(206),x=t(133),y=t(20),k=(0,a.__importStar)(t(48)),z=t(9),j=t(207),C=t(208),L=t(211),B=t(123),S=t(11),M=t(113),T=t(65),A=t(8);class O extends s.AnnotationView{get orientation(){return this._orientation}initialize(){super.initialize();const{ticker:t,formatter:e,color_mapper:i}=this.model;this._ticker=\"auto\"!=t?t:(()=>{switch(!0){case i instanceof w.LogColorMapper:return new u.LogTicker;case i instanceof w.ScanningColorMapper:return new u.BinnedTicker({mapper:i});case i instanceof w.CategoricalColorMapper:return new u.CategoricalTicker;default:return new u.BasicTicker}})(),this._formatter=\"auto\"!=e?e:(()=>{switch(!0){case this._ticker instanceof u.LogTicker:return new m.LogTickFormatter;case i instanceof w.CategoricalColorMapper:return new m.CategoricalTickFormatter;default:return new m.BasicTickFormatter}})(),this._major_range=(()=>{if(i instanceof w.CategoricalColorMapper){const{factors:t}=i;return new v.FactorRange({factors:t})}if(i instanceof f.ContinuousColorMapper){const{min:t,max:e}=i.metrics;return new v.Range1d({start:t,end:e})}(0,S.unreachable)()})(),this._major_scale=(()=>{if(i instanceof w.LinearColorMapper)return new b.LinearScale;if(i instanceof w.LogColorMapper)return new b.LogScale;if(i instanceof w.ScanningColorMapper){const{binning:t}=i.metrics;return new b.LinearInterpolationScale({binning:t})}if(i instanceof w.CategoricalColorMapper)return new b.CategoricalScale;(0,S.unreachable)()})(),this._minor_range=new v.Range1d({start:0,end:1}),this._minor_scale=new b.LinearScale;const o=k.attrs_of(this.model,\"major_label_\",k.Text,!0),n=k.attrs_of(this.model,\"major_tick_\",k.Line,!0),a=k.attrs_of(this.model,\"minor_tick_\",k.Line,!0),r=k.attrs_of(this.model,\"title_\",k.Text),s=i instanceof w.CategoricalColorMapper?c.CategoricalAxis:i instanceof w.LogColorMapper?c.LogAxis:c.LinearAxis;this._axis=new s(Object.assign(Object.assign(Object.assign({ticker:this._ticker,formatter:this._formatter,major_tick_in:this.model.major_tick_in,major_tick_out:this.model.major_tick_out,minor_tick_in:this.model.minor_tick_in,minor_tick_out:this.model.minor_tick_out,major_label_standoff:this.model.label_standoff,major_label_overrides:this.model.major_label_overrides,major_label_policy:this.model.major_label_policy,axis_line_color:null},o),n),a));const{title:_}=this.model;_&&(this._title=new l.Title(Object.assign({text:_,standoff:this.model.title_standoff},r)))}async lazy_initialize(){await super.lazy_initialize();const t=this,e={get parent(){return t.parent},get root(){return t.root},get frame(){return t._frame},get canvas_view(){return t.parent.canvas_view},request_layout(){t.parent.request_layout()}};this._axis_view=await(0,M.build_view)(this._axis,{parent:e}),null!=this._title&&(this._title_view=await(0,M.build_view)(this._title,{parent:e}))}remove(){var t;null===(t=this._title_view)||void 0===t||t.remove(),this._axis_view.remove(),super.remove()}connect_signals(){super.connect_signals(),this.connect(this._ticker.change,(()=>this.request_render())),this.connect(this._formatter.change,(()=>this.request_render())),this.connect(this.model.color_mapper.metrics_change,(()=>{const t=this._major_range,e=this._major_scale,{color_mapper:i}=this.model;if(i instanceof f.ContinuousColorMapper&&t instanceof v.Range1d){const{min:e,max:o}=i.metrics;t.setv({start:e,end:o})}if(i instanceof w.ScanningColorMapper&&e instanceof b.LinearInterpolationScale){const{binning:t}=i.metrics;e.binning=t}this._set_canvas_image(),this.plot_view.request_layout()}))}_set_canvas_image(){const{orientation:t}=this,e=(()=>{const{palette:e}=this.model.color_mapper;return\"vertical\"==t?(0,z.reversed)(e):e})(),[i,o]=\"vertical\"==t?[1,e.length]:[e.length,1],n=this._image=document.createElement(\"canvas\");n.width=i,n.height=o;const a=n.getContext(\"2d\"),r=a.getImageData(0,0,i,o),s=new w.LinearColorMapper({palette:e}).rgba_mapper.v_compute((0,z.range)(0,e.length));r.data.set(s),a.putImageData(r,0,0)}update_layout(){const{location:t,width:e,height:i,padding:o,margin:n}=this.model,[a,r]=(()=>{if(!(0,A.isString)(t))return[\"end\",\"start\"];switch(t){case\"top_left\":return[\"start\",\"start\"];case\"top\":case\"top_center\":return[\"start\",\"center\"];case\"top_right\":return[\"start\",\"end\"];case\"bottom_left\":return[\"end\",\"start\"];case\"bottom\":case\"bottom_center\":return[\"end\",\"center\"];case\"bottom_right\":return[\"end\",\"end\"];case\"left\":case\"center_left\":return[\"center\",\"start\"];case\"center\":case\"center_center\":return[\"center\",\"center\"];case\"right\":case\"center_right\":return[\"center\",\"end\"]}})(),s=this._orientation=(()=>{const{orientation:t}=this.model;return\"auto\"==t?null!=this.panel?this.panel.is_horizontal?\"horizontal\":\"vertical\":\"start\"==r||\"end\"==r||\"center\"==r&&\"center\"==a?\"vertical\":\"horizontal\":t})(),l=new C.NodeLayout,c=new C.VStack,h=new C.VStack,u=new C.HStack,p=new C.HStack;l.absolute=!0,c.absolute=!0,h.absolute=!0,u.absolute=!0,p.absolute=!0;const[m,g,d,f]=(()=>\"horizontal\"==s?[this._major_scale,this._minor_scale,this._major_range,this._minor_range]:[this._minor_scale,this._major_scale,this._minor_range,this._major_range])();this._frame=new _.CartesianFrame(m,g,d,f),l.on_resize((t=>this._frame.set_geometry(t)));const w=new L.BorderLayout;this._inner_layout=w,w.absolute=!0,w.center_panel=l,w.top_panel=c,w.bottom_panel=h,w.left_panel=u,w.right_panel=p;const b={left:o,right:o,top:o,bottom:o},v=(()=>{if(null==this.panel){if((0,A.isString)(t))return{left:n,right:n,top:n,bottom:n};{const[e,i]=t;return{left:e,right:n,top:n,bottom:i}}}if(!(0,A.isString)(t)){const[e,i]=t;return w.fixup_geometry=(t,o)=>{const n=t,a=this.layout.bbox,{width:r,height:s}=t;if(t=new T.BBox({left:a.left+e,bottom:a.bottom-i,width:r,height:s}),null!=o){const e=t.left-n.left,i=t.top-n.top,{left:a,top:r,width:s,height:l}=o;o=new T.BBox({left:a+e,top:r+i,width:s,height:l})}return[t,o]},{left:e,right:0,top:0,bottom:i}}w.fixup_geometry=(t,e)=>{const i=t;if(\"horizontal\"==s){const{top:e,width:i,height:o}=t;if(\"end\"==r){const{right:n}=this.layout.bbox;t=new T.BBox({right:n,top:e,width:i,height:o})}else if(\"center\"==r){const{hcenter:n}=this.layout.bbox;t=new T.BBox({hcenter:Math.round(n),top:e,width:i,height:o})}}else{const{left:e,width:i,height:o}=t;if(\"end\"==a){const{bottom:n}=this.layout.bbox;t=new T.BBox({left:e,bottom:n,width:i,height:o})}else if(\"center\"==a){const{vcenter:n}=this.layout.bbox;t=new T.BBox({left:e,vcenter:Math.round(n),width:i,height:o})}}if(null!=e){const o=t.left-i.left,n=t.top-i.top,{left:a,top:r,width:s,height:l}=e;e=new T.BBox({left:a+o,top:r+n,width:s,height:l})}return[t,e]}})();let x,y,k,z;if(w.padding=b,null!=this.panel?(x=\"max\",y=void 0,k=void 0,z=void 0):\"auto\"==(\"horizontal\"==s?e:i)?(x=\"fixed\",y=25*this.model.color_mapper.palette.length,k={percent:.3},z={percent:.8}):(x=\"fit\",y=void 0),\"horizontal\"==s){const t=\"auto\"==e?void 0:e,o=\"auto\"==i?25:i;w.set_sizing({width_policy:x,height_policy:\"min\",width:y,min_width:k,max_width:z,halign:r,valign:a,margin:v}),w.center_panel.set_sizing({width_policy:\"auto\"==e?\"fit\":\"fixed\",height_policy:\"fixed\",width:t,height:o})}else{const t=\"auto\"==e?25:e,o=\"auto\"==i?void 0:i;w.set_sizing({width_policy:\"min\",height_policy:x,height:y,min_height:k,max_height:z,halign:r,valign:a,margin:v}),w.center_panel.set_sizing({width_policy:\"fixed\",height_policy:\"auto\"==i?\"fit\":\"fixed\",width:t,height:o})}c.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),h.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),u.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),p.set_sizing({width_policy:\"min\",height_policy:\"fit\"});const{_title_view:S}=this;null!=S&&(\"horizontal\"==s?(S.panel=new B.Panel(\"above\"),S.update_layout(),c.children.push(S.layout)):(S.panel=new B.Panel(\"left\"),S.update_layout(),u.children.push(S.layout)));const{panel:M}=this,O=null!=M&&s==M.orientation?M.side:\"horizontal\"==s?\"below\":\"right\",R=(()=>{switch(O){case\"above\":return c;case\"below\":return h;case\"left\":return u;case\"right\":return p}})(),{_axis_view:F}=this;if(F.panel=new B.Panel(O),F.update_layout(),R.children.push(F.layout),null!=this.panel){const t=new j.Grid([{layout:w,row:0,col:0}]);t.absolute=!0,\"horizontal\"==s?t.set_sizing({width_policy:\"max\",height_policy:\"min\"}):t.set_sizing({width_policy:\"min\",height_policy:\"max\"}),this.layout=t}else this.layout=this._inner_layout;const{visible:I}=this.model;this.layout.sizing.visible=I,this._set_canvas_image()}_render(){var t;const{ctx:e}=this.layer;e.save(),this._paint_bbox(e,this._inner_layout.bbox),this._paint_image(e,this._inner_layout.center_panel.bbox),null===(t=this._title_view)||void 0===t||t.render(),this._axis_view.render(),e.restore()}_paint_bbox(t,e){const{x:i,y:o}=e;let{width:n,height:a}=e;i+n>=this.parent.canvas_view.bbox.width&&(n-=1),o+a>=this.parent.canvas_view.bbox.height&&(a-=1),t.save(),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(t),t.fillRect(i,o,n,a)),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(t),t.strokeRect(i,o,n,a)),t.restore()}_paint_image(t,e){const{x:i,y:o,width:n,height:a}=e;t.save(),t.setImageSmoothingEnabled(!1),t.globalAlpha=this.model.scale_alpha,t.drawImage(this._image,i,o,n,a),this.visuals.bar_line.doit&&(this.visuals.bar_line.set_value(t),t.strokeRect(i,o,n,a)),t.restore()}serializable_state(){const t=super.serializable_state(),{children:e=[]}=t,i=(0,a.__rest)(t,[\"children\"]);return null!=this._title_view&&e.push(this._title_view.serializable_state()),e.push(this._axis_view.serializable_state()),Object.assign(Object.assign({},i),{children:e})}}i.ColorBarView=O,O.__name__=\"ColorBarView\";class R extends s.Annotation{constructor(t){super(t)}}i.ColorBar=R,r=R,R.__name__=\"ColorBar\",r.prototype.default_view=O,r.mixins([[\"major_label_\",k.Text],[\"title_\",k.Text],[\"major_tick_\",k.Line],[\"minor_tick_\",k.Line],[\"border_\",k.Line],[\"bar_\",k.Line],[\"background_\",k.Fill]]),r.define((({Alpha:t,Number:e,String:i,Tuple:o,Dict:n,Or:a,Ref:r,Auto:s,Nullable:l})=>({location:[a(y.Anchor,o(e,e)),\"top_right\"],orientation:[a(y.Orientation,s),\"auto\"],title:[l(i),null],title_standoff:[e,2],width:[a(e,s),\"auto\"],height:[a(e,s),\"auto\"],scale_alpha:[t,1],ticker:[a(r(h.Ticker),s),\"auto\"],formatter:[a(r(p.TickFormatter),s),\"auto\"],major_label_overrides:[n(a(i,r(x.BaseText))),{}],major_label_policy:[r(g.LabelingPolicy),()=>new g.NoOverlap],color_mapper:[r(d.ColorMapper)],label_standoff:[e,5],margin:[e,30],padding:[e,10],major_tick_in:[e,5],major_tick_out:[e,0],minor_tick_in:[e,0],minor_tick_out:[e,0]}))),r.override({background_fill_color:\"#ffffff\",background_fill_alpha:.95,bar_line_color:null,border_line_color:null,major_label_text_font_size:\"11px\",major_tick_line_color:\"#ffffff\",minor_tick_line_color:null,title_text_font_size:\"13px\",title_text_font_style:\"italic\"})},\n", - " function _(t,e,i,s,l){s();const o=t(1);var a;const n=t(119),r=t(20),c=t(120),h=(0,o.__importStar)(t(48));class _ extends n.TextAnnotationView{_get_location(){const t=this.model.offset,e=this.model.standoff/2;let i,s;const{bbox:l}=this.layout;switch(this.panel.side){case\"above\":case\"below\":switch(this.model.vertical_align){case\"top\":s=l.top+e;break;case\"middle\":s=l.vcenter;break;case\"bottom\":s=l.bottom-e}switch(this.model.align){case\"left\":i=l.left+t;break;case\"center\":i=l.hcenter;break;case\"right\":i=l.right-t}break;case\"left\":switch(this.model.vertical_align){case\"top\":i=l.left+e;break;case\"middle\":i=l.hcenter;break;case\"bottom\":i=l.right-e}switch(this.model.align){case\"left\":s=l.bottom-t;break;case\"center\":s=l.vcenter;break;case\"right\":s=l.top+t}break;case\"right\":switch(this.model.vertical_align){case\"top\":i=l.right-e;break;case\"middle\":i=l.hcenter;break;case\"bottom\":i=l.left+e}switch(this.model.align){case\"left\":s=l.top+t;break;case\"center\":s=l.vcenter;break;case\"right\":s=l.bottom-t}}return[i,s]}_render(){const{text:t}=this.model;if(null==t||0==t.length)return;this.model.text_baseline=this.model.vertical_align,this.model.text_align=this.model.align;const[e,i]=this._get_location(),s=this.panel.get_label_angle_heuristic(\"parallel\");(\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.layer.ctx,t,e,i,s)}_get_size(){const{text:t}=this.model,e=new c.TextBox({text:t});e.visuals=this.visuals.text.values();const{width:i,height:s}=e.size();return{width:i,height:0==s?0:2+s+this.model.standoff}}}i.TitleView=_,_.__name__=\"TitleView\";class d extends n.TextAnnotation{constructor(t){super(t)}}i.Title=d,a=d,d.__name__=\"Title\",a.prototype.default_view=_,a.mixins([h.Text,[\"border_\",h.Line],[\"background_\",h.Fill]]),a.define((({Number:t,String:e})=>({text:[e,\"\"],vertical_align:[r.VerticalAlign,\"bottom\"],align:[r.TextAlign,\"left\"],offset:[t,0],standoff:[t,10]}))),a.prototype._props.text_align.options.internal=!0,a.prototype._props.text_baseline.options.internal=!0,a.override({text_font_size:\"13px\",text_font_style:\"bold\",text_line_height:1,background_fill_color:null,border_line_color:null})},\n", - " function _(e,t,s,i,l){var n;i();const o=e(40),a=e(43),r=e(20),d=e(120),u=e(123),c=e(11);class h extends o.AnnotationView{update_layout(){const{panel:e}=this;this.layout=null!=e?new u.SideLayout(e,(()=>this.get_size()),!0):void 0}initialize(){super.initialize(),\"css\"==this.model.render_mode&&(this.el=(0,a.div)(),this.plot_view.canvas_view.add_overlay(this.el))}remove(){null!=this.el&&(0,a.remove)(this.el),super.remove()}connect_signals(){super.connect_signals(),\"css\"==this.model.render_mode?this.connect(this.model.change,(()=>this.render())):this.connect(this.model.change,(()=>this.request_render()))}render(){this.model.visible||\"css\"!=this.model.render_mode||(0,a.undisplay)(this.el),super.render()}_canvas_text(e,t,s,i,l){const n=new d.TextBox({text:t});n.angle=l,n.position={sx:s,sy:i},n.visuals=this.visuals.text.values();const{background_fill:o,border_line:a}=this.visuals;if(o.doit||a.doit){const{p0:t,p1:s,p2:i,p3:l}=n.rect();e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(s.x,s.y),e.lineTo(i.x,i.y),e.lineTo(l.x,l.y),e.closePath(),this.visuals.background_fill.apply(e),this.visuals.border_line.apply(e)}this.visuals.text.doit&&n.paint(e)}_css_text(e,t,s,i,l){const{el:n}=this;(0,c.assert)(null!=n),(0,a.undisplay)(n),n.textContent=t,this.visuals.text.set_value(e),n.style.position=\"absolute\",n.style.left=`${s}px`,n.style.top=`${i}px`,n.style.color=e.fillStyle,n.style.font=e.font,n.style.lineHeight=\"normal\",n.style.whiteSpace=\"pre\";const[o,r]=(()=>{switch(this.visuals.text.text_align.get_value()){case\"left\":return[\"left\",\"0%\"];case\"center\":return[\"center\",\"-50%\"];case\"right\":return[\"right\",\"-100%\"]}})(),[d,u]=(()=>{switch(this.visuals.text.text_baseline.get_value()){case\"top\":return[\"top\",\"0%\"];case\"middle\":return[\"center\",\"-50%\"];case\"bottom\":return[\"bottom\",\"-100%\"];default:return[\"center\",\"-50%\"]}})();let h=`translate(${r}, ${u})`;l&&(h+=`rotate(${l}rad)`),n.style.transformOrigin=`${o} ${d}`,n.style.transform=h,this.layout,this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),n.style.backgroundColor=e.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_value(e),n.style.borderStyle=e.lineDash.length<2?\"solid\":\"dashed\",n.style.borderWidth=`${e.lineWidth}px`,n.style.borderColor=e.strokeStyle),(0,a.display)(n)}}s.TextAnnotationView=h,h.__name__=\"TextAnnotationView\";class _ extends o.Annotation{constructor(e){super(e)}}s.TextAnnotation=_,n=_,_.__name__=\"TextAnnotation\",n.define((()=>({render_mode:[r.RenderMode,\"canvas\"]})))},\n", - " function _(t,e,s,i,n){i();const h=t(65),o=t(121),r=t(9),a=t(8),c=t(122),_=t(22);s.text_width=(()=>{const t=document.createElement(\"canvas\").getContext(\"2d\");let e=\"\";return(s,i)=>(i!=e&&(e=i,t.font=i),t.measureText(s).width)})();class l{constructor(){this._position={sx:0,sy:0},this.font_size_scale=1,this.align=\"left\",this._base_font_size=13,this._x_anchor=\"left\",this._y_anchor=\"center\"}set base_font_size(t){null!=t&&(this._base_font_size=t)}get base_font_size(){return this._base_font_size}set position(t){this._position=t}get position(){return this._position}infer_text_height(){return\"ascent_descent\"}bbox(){const{p0:t,p1:e,p2:s,p3:i}=this.rect(),n=Math.min(t.x,e.x,s.x,i.x),o=Math.min(t.y,e.y,s.y,i.y),r=Math.max(t.x,e.x,s.x,i.x),a=Math.max(t.y,e.y,s.y,i.y);return new h.BBox({left:n,right:r,top:o,bottom:a})}size(){const{width:t,height:e}=this._size(),{angle:s}=this;if(s){const i=Math.cos(Math.abs(s)),n=Math.sin(Math.abs(s));return{width:Math.abs(t*i+e*n),height:Math.abs(t*n+e*i)}}return{width:t,height:e}}rect(){const t=this._rect(),{angle:e}=this;if(e){const{sx:s,sy:i}=this.position,n=new c.AffineTransform;return n.translate(s,i),n.rotate(e),n.translate(-s,-i),n.apply_rect(t)}return t}paint_rect(t){const{p0:e,p1:s,p2:i,p3:n}=this.rect();t.save(),t.strokeStyle=\"red\",t.lineWidth=1,t.beginPath();const{round:h}=Math;t.moveTo(h(e.x),h(e.y)),t.lineTo(h(s.x),h(s.y)),t.lineTo(h(i.x),h(i.y)),t.lineTo(h(n.x),h(n.y)),t.closePath(),t.stroke(),t.restore()}paint_bbox(t){const{x:e,y:s,width:i,height:n}=this.bbox();t.save(),t.strokeStyle=\"blue\",t.lineWidth=1,t.beginPath();const{round:h}=Math;t.moveTo(h(e),h(s)),t.lineTo(h(e),h(s+n)),t.lineTo(h(e+i),h(s+n)),t.lineTo(h(e+i),h(s)),t.closePath(),t.stroke(),t.restore()}}s.GraphicsBox=l,l.__name__=\"GraphicsBox\";class x extends l{constructor({text:t}){super(),this.text=t}set visuals(t){const e=t.color,s=t.alpha,i=t.font_style;let n=t.font_size;const h=t.font,{font_size_scale:r,base_font_size:a}=this,c=(0,o.parse_css_font_size)(n);if(null!=c){let{value:t,unit:e}=c;t*=r,\"em\"==e&&a&&(t*=a,e=\"px\"),n=`${t}${e}`}const l=`${i} ${n} ${h}`;this.font=l,this.color=(0,_.color2css)(e,s),this.line_height=t.line_height;const x=t.align;this._x_anchor=x;const u=t.baseline;this._y_anchor=(()=>{switch(u){case\"top\":return\"top\";case\"middle\":return\"center\";case\"bottom\":return\"bottom\";default:return\"baseline\"}})()}infer_text_height(){if(this.text.includes(\"\\n\"))return\"ascent_descent\";{function t(t){for(const e of new Set(t))if(!(\"0\"<=e&&e<=\"9\"))switch(e){case\",\":case\".\":case\"+\":case\"-\":case\"\\u2212\":case\"e\":continue;default:return!1}return!0}return t(this.text)?\"cap\":\"ascent_descent\"}}_text_line(t){var e;const s=null!==(e=this.text_height_metric)&&void 0!==e?e:this.infer_text_height(),i=(()=>{switch(s){case\"x\":case\"x_descent\":return t.x_height;case\"cap\":case\"cap_descent\":return t.cap_height;case\"ascent\":case\"ascent_descent\":return t.ascent}})(),n=(()=>{switch(s){case\"x\":case\"cap\":case\"ascent\":return 0;case\"x_descent\":case\"cap_descent\":case\"ascent_descent\":return t.descent}})();return{height:i+n,ascent:i,descent:n}}get nlines(){return this.text.split(\"\\n\").length}_size(){var t,e;const{font:i}=this,n=(0,o.font_metrics)(i),h=(this.line_height-1)*n.height,a=\"\"==this.text,c=this.text.split(\"\\n\"),_=c.length,l=c.map((t=>(0,s.text_width)(t,i))),x=this._text_line(n).height*_,u=\"%\"==(null===(t=this.width)||void 0===t?void 0:t.unit)?this.width.value:1,p=\"%\"==(null===(e=this.height)||void 0===e?void 0:e.unit)?this.height.value:1;return{width:(0,r.max)(l)*u,height:a?0:(x+h*(_-1))*p,metrics:n}}_computed_position(t,e,s){const{width:i,height:n}=t,{sx:h,sy:o,x_anchor:r=this._x_anchor,y_anchor:c=this._y_anchor}=this.position;return{x:h-(()=>{if((0,a.isNumber)(r))return r*i;switch(r){case\"left\":return 0;case\"center\":return.5*i;case\"right\":return i}})(),y:o-(()=>{var t;if((0,a.isNumber)(c))return c*n;switch(c){case\"top\":return 0;case\"center\":return.5*n;case\"bottom\":return n;case\"baseline\":if(1!=s)return.5*n;switch(null!==(t=this.text_height_metric)&&void 0!==t?t:this.infer_text_height()){case\"x\":case\"x_descent\":return e.x_height;case\"cap\":case\"cap_descent\":return e.cap_height;case\"ascent\":case\"ascent_descent\":return e.ascent}}})()}}_rect(){const{width:t,height:e,metrics:s}=this._size(),i=this.text.split(\"\\n\").length,{x:n,y:o}=this._computed_position({width:t,height:e},s,i);return new h.BBox({x:n,y:o,width:t,height:e}).rect}paint(t){var e,i;const{font:n}=this,h=(0,o.font_metrics)(n),a=(this.line_height-1)*h.height,c=this.text.split(\"\\n\"),_=c.length,l=c.map((t=>(0,s.text_width)(t,n))),x=this._text_line(h),u=x.height*_,p=\"%\"==(null===(e=this.width)||void 0===e?void 0:e.unit)?this.width.value:1,f=\"%\"==(null===(i=this.height)||void 0===i?void 0:i.unit)?this.height.value:1,g=(0,r.max)(l)*p,d=(u+a*(_-1))*f;t.save(),t.fillStyle=this.color,t.font=this.font,t.textAlign=\"left\",t.textBaseline=\"alphabetic\";const{sx:b,sy:m}=this.position,{align:y}=this,{angle:w}=this;w&&(t.translate(b,m),t.rotate(w),t.translate(-b,-m));let{x:v,y:z}=this._computed_position({width:g,height:d},h,_);if(\"justify\"==y)for(let e=0;e<_;e++){let i=v;const h=c[e].split(\" \"),o=h.length,_=h.map((t=>(0,s.text_width)(t,n))),l=(g-(0,r.sum)(_))/(o-1);for(let e=0;e{switch(y){case\"left\":return 0;case\"center\":return.5*(g-l[e]);case\"right\":return g-l[e]}})();t.fillStyle=this.color,t.fillText(c[e],s,z+x.ascent),z+=x.height+a}t.restore()}}s.TextBox=x,x.__name__=\"TextBox\";class u extends l{constructor(t,e){super(),this.base=t,this.expo=e}get children(){return[this.base,this.expo]}set base_font_size(t){super.base_font_size=t,this.base.base_font_size=t,this.expo.base_font_size=t}set position(t){this._position=t;const e=this.base.size(),s=this.expo.size(),i=this._shift_scale()*e.height,n=Math.max(e.height,i+s.height);this.base.position={sx:0,x_anchor:\"left\",sy:n,y_anchor:\"bottom\"},this.expo.position={sx:e.width,x_anchor:\"left\",sy:i,y_anchor:\"bottom\"}}get position(){return this._position}set visuals(t){this.expo.font_size_scale=.7,this.base.visuals=t,this.expo.visuals=t}_shift_scale(){if(this.base instanceof x&&1==this.base.nlines){const{x_height:t,cap_height:e}=(0,o.font_metrics)(this.base.font);return t/e}return 2/3}infer_text_height(){return this.base.infer_text_height()}_rect(){const t=this.base.bbox(),e=this.expo.bbox(),s=t.union(e),{x:i,y:n}=this._computed_position();return s.translate(i,n).rect}_size(){const t=this.base.size(),e=this.expo.size();return{width:t.width+e.width,height:Math.max(t.height,this._shift_scale()*t.height+e.height)}}paint(t){t.save();const{angle:e}=this;if(e){const{sx:s,sy:i}=this.position;t.translate(s,i),t.rotate(e),t.translate(-s,-i)}const{x:s,y:i}=this._computed_position();t.translate(s,i),this.base.paint(t),this.expo.paint(t),t.restore()}paint_bbox(t){super.paint_bbox(t);const{x:e,y:s}=this._computed_position();t.save(),t.translate(e,s);for(const e of this.children)e.paint_bbox(t);t.restore()}_computed_position(){const{width:t,height:e}=this._size(),{sx:s,sy:i,x_anchor:n=this._x_anchor,y_anchor:h=this._y_anchor}=this.position;return{x:s-(()=>{if((0,a.isNumber)(n))return n*t;switch(n){case\"left\":return 0;case\"center\":return.5*t;case\"right\":return t}})(),y:i-(()=>{if((0,a.isNumber)(h))return h*e;switch(h){case\"top\":return 0;case\"center\":return.5*e;case\"bottom\":return e;case\"baseline\":return.5*e}})()}}}s.BaseExpo=u,u.__name__=\"BaseExpo\";class p{constructor(t){this.items=t}set base_font_size(t){for(const e of this.items)e.base_font_size=t}get length(){return this.items.length}set visuals(t){for(const e of this.items)e.visuals=t;const e={x:0,cap:1,ascent:2,x_descent:3,cap_descent:4,ascent_descent:5},s=(0,r.max_by)(this.items.map((t=>t.infer_text_height())),(t=>e[t]));for(const t of this.items)t.text_height_metric=s}set angle(t){for(const e of this.items)e.angle=t}max_size(){let t=0,e=0;for(const s of this.items){const i=s.size();t=Math.max(t,i.width),e=Math.max(e,i.height)}return{width:t,height:e}}}s.GraphicsBoxes=p,p.__name__=\"GraphicsBoxes\"},\n", - " function _(t,e,n,r,l){r();const a=t(11),c=(()=>{try{return\"undefined\"!=typeof OffscreenCanvas&&null!=new OffscreenCanvas(0,0).getContext(\"2d\")}catch(t){return!1}})()?(t,e)=>new OffscreenCanvas(t,e):(t,e)=>{const n=document.createElement(\"canvas\");return n.width=t,n.height=e,n},o=(()=>{const t=c(0,0).getContext(\"2d\");return e=>{t.font=e;const n=t.measureText(\"M\"),r=t.measureText(\"x\"),l=t.measureText(\"\\xc5\\u015ag|\"),c=l.fontBoundingBoxAscent,o=l.fontBoundingBoxDescent;if(null!=c&&null!=o)return{height:c+o,ascent:c,descent:o,cap_height:n.actualBoundingBoxAscent,x_height:r.actualBoundingBoxAscent};const s=l.actualBoundingBoxAscent,u=l.actualBoundingBoxDescent;if(null!=s&&null!=u)return{height:s+u,ascent:s,descent:u,cap_height:n.actualBoundingBoxAscent,x_height:r.actualBoundingBoxAscent};(0,a.unreachable)()}})(),s=(()=>{const t=c(0,0).getContext(\"2d\");return(e,n)=>{t.font=n;const r=t.measureText(e),l=r.actualBoundingBoxAscent,c=r.actualBoundingBoxDescent;if(null!=l&&null!=c)return{width:r.width,height:l+c,ascent:l,descent:c};(0,a.unreachable)()}})(),u=(()=>{const t=document.createElement(\"canvas\"),e=t.getContext(\"2d\");let n=-1,r=-1;return(l,a=1)=>{e.font=l;const{width:c}=e.measureText(\"M\"),o=c*a,s=Math.ceil(o),u=Math.ceil(2*o),i=Math.ceil(1.5*o);n{let e=0;for(let n=0;n<=i;n++)for(let r=0;r{let e=t.length-4;for(let n=u;n>=i;n--)for(let r=0;r{const t=document.createElement(\"canvas\"),e=t.getContext(\"2d\");let n=-1,r=-1;return(l,a,c=1)=>{e.font=a;const{width:o}=e.measureText(\"M\"),s=o*c,u=Math.ceil(s),i=Math.ceil(2*s),f=Math.ceil(1.5*s);(n{let e=0;for(let n=0;n<=f;n++)for(let r=0;r{let e=t.length-4;for(let n=i;n>=f;n--)for(let r=0;r{try{return o(\"normal 10px sans-serif\"),o}catch(t){return u}})(),h=(()=>{try{return s(\"A\",\"normal 10px sans-serif\"),s}catch(t){return i}})(),g=new Map;function d(t){let e=g.get(t);return null==e&&(e={font:f(t),glyphs:new Map},g.set(t,e)),e.font}n.font_metrics=d,n.glyph_metrics=function(t,e){let n=g.get(e);null==n&&(d(e),n=g.get(e));let r=n.glyphs.get(t);return null==r&&(r=h(t,e),n.glyphs.set(t,r)),r},n.parse_css_font_size=function(t){const e=t.match(/^\\s*(\\d+(\\.\\d+)?)(\\w+)\\s*$/);if(null!=e){const[,t,,n]=e,r=Number(t);if(isFinite(r))return{value:r,unit:n}}return null}},\n", - " function _(t,s,r,n,i){n();const{sin:e,cos:a}=Math;class h{constructor(t=1,s=0,r=0,n=1,i=0,e=0){this.a=t,this.b=s,this.c=r,this.d=n,this.e=i,this.f=e}toString(){const{a:t,b:s,c:r,d:n,e:i,f:e}=this;return`matrix(${t}, ${s}, ${r}, ${n}, ${i}, ${e})`}static from_DOMMatrix(t){const{a:s,b:r,c:n,d:i,e,f:a}=t;return new h(s,r,n,i,e,a)}to_DOMMatrix(){const{a:t,b:s,c:r,d:n,e:i,f:e}=this;return new DOMMatrix([t,s,r,n,i,e])}clone(){const{a:t,b:s,c:r,d:n,e:i,f:e}=this;return new h(t,s,r,n,i,e)}get is_identity(){const{a:t,b:s,c:r,d:n,e:i,f:e}=this;return 1==t&&0==s&&0==r&&1==n&&0==i&&0==e}apply_point(t){const[s,r]=this.apply(t.x,t.y);return{x:s,y:r}}apply_rect(t){return{p0:this.apply_point(t.p0),p1:this.apply_point(t.p1),p2:this.apply_point(t.p2),p3:this.apply_point(t.p3)}}apply(t,s){const{a:r,b:n,c:i,d:e,e:a,f:h}=this;return[r*t+i*s+a,n*t+e*s+h]}iv_apply(t,s){const{a:r,b:n,c:i,d:e,e:a,f:h}=this,c=t.length;for(let o=0;o{const h={max:4,fit:3,min:2,fixed:1};return h[i]>h[t]};if(\"fixed\"!=n&&\"fixed\"!=s)if(n==s){const n=t,s=_(t/e),r=_(h*e),g=h;Math.abs(i.width-n)+Math.abs(i.height-s)<=Math.abs(i.width-r)+Math.abs(i.height-g)?(t=n,h=s):(t=r,h=g)}else r(n,s)?h=_(t/e):t=_(h*e);else\"fixed\"==n?h=_(t/e):\"fixed\"==s&&(t=_(h*e))}return{width:t,height:h}}measure(i){if(!this.sizing.visible)return{width:0,height:0};const t=i=>\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:i,h=i=>\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:i,e=new s.Sizeable(i).shrink_by(this.sizing.margin).map(t,h),n=this._measure(e),r=this.clip_size(n,e),g=t(r.width),l=h(r.height),a=this.apply_aspect(e,{width:g,height:l});return Object.assign(Object.assign({},n),a)}compute(i={}){const t=this.measure({width:null!=i.width&&this.is_width_expanding()?i.width:1/0,height:null!=i.height&&this.is_height_expanding()?i.height:1/0}),{width:h,height:e}=t,n=new r.BBox({left:0,top:0,width:h,height:e});let s;if(null!=t.inner){const{left:i,top:n,right:g,bottom:l}=t.inner;s=new r.BBox({left:i,top:n,right:h-g,bottom:e-l})}this.set_geometry(n,s)}get xview(){return this.bbox.xview}get yview(){return this.bbox.yview}clip_size(i,t){function h(i,t,h,e){return null==h?h=0:(0,g.isNumber)(h)||(h=Math.round(h.percent*t)),null==e?e=1/0:(0,g.isNumber)(e)||(e=Math.round(e.percent*t)),a(h,l(i,e))}return{width:h(i.width,t.width,this.sizing.min_width,this.sizing.max_width),height:h(i.height,t.height,this.sizing.min_height,this.sizing.max_height)}}has_size_changed(){const{_dirty:i}=this;return this._dirty=!1,i}}h.Layoutable=o,o.__name__=\"Layoutable\";class d extends o{_measure(i){const{width_policy:t,height_policy:h}=this.sizing;return{width:(()=>{const{width:h}=this.sizing;if(i.width==1/0)return null!=h?h:0;switch(t){case\"fixed\":return null!=h?h:0;case\"min\":return null!=h?l(i.width,h):0;case\"fit\":return null!=h?l(i.width,h):i.width;case\"max\":return null!=h?a(i.width,h):i.width}})(),height:(()=>{const{height:t}=this.sizing;if(i.height==1/0)return null!=t?t:0;switch(h){case\"fixed\":return null!=t?t:0;case\"min\":return null!=t?l(i.height,t):0;case\"fit\":return null!=t?l(i.height,t):i.height;case\"max\":return null!=t?a(i.height,t):i.height}})()}}}h.LayoutItem=d,d.__name__=\"LayoutItem\";class u extends o{_measure(i){const t=this._content_size(),h=i.bounded_to(this.sizing.size).bounded_to(t);return{width:(()=>{switch(this.sizing.width_policy){case\"fixed\":return null!=this.sizing.width?this.sizing.width:t.width;case\"min\":return t.width;case\"fit\":return h.width;case\"max\":return Math.max(t.width,h.width)}})(),height:(()=>{switch(this.sizing.height_policy){case\"fixed\":return null!=this.sizing.height?this.sizing.height:t.height;case\"min\":return t.height;case\"fit\":return h.height;case\"max\":return Math.max(t.height,h.height)}})()}}}h.ContentLayoutable=u,u.__name__=\"ContentLayoutable\"},\n", - " function _(e,t,s,a,_){a();const r=e(62),n=e(61),g=e(58),i=e(63),c=e(67),h=e(65),l=e(13),o=e(11);class x{constructor(e,t,s,a,_={},r={},n={},g={}){this.in_x_scale=e,this.in_y_scale=t,this.x_range=s,this.y_range=a,this.extra_x_ranges=_,this.extra_y_ranges=r,this.extra_x_scales=n,this.extra_y_scales=g,this._bbox=new h.BBox,(0,o.assert)(null==e.source_range&&null==e.target_range),(0,o.assert)(null==t.source_range&&null==t.target_range),this._configure_scales()}get bbox(){return this._bbox}_get_ranges(e,t){return new Map((0,l.entries)(Object.assign(Object.assign({},t),{default:e})))}_get_scales(e,t,s,a){var _;const g=new Map((0,l.entries)(Object.assign(Object.assign({},t),{default:e}))),h=new Map;for(const[t,l]of s){if(l instanceof c.FactorRange!=e instanceof r.CategoricalScale)throw new Error(`Range ${l.type} is incompatible is Scale ${e.type}`);e instanceof n.LogScale&&l instanceof i.DataRange1d&&(l.scale_hint=\"log\");const s=(null!==(_=g.get(t))&&void 0!==_?_:e).clone();s.setv({source_range:l,target_range:a}),h.set(t,s)}return h}_configure_frame_ranges(){const{bbox:e}=this;this._x_target=new g.Range1d({start:e.left,end:e.right}),this._y_target=new g.Range1d({start:e.bottom,end:e.top})}_configure_scales(){this._configure_frame_ranges(),this._x_ranges=this._get_ranges(this.x_range,this.extra_x_ranges),this._y_ranges=this._get_ranges(this.y_range,this.extra_y_ranges),this._x_scales=this._get_scales(this.in_x_scale,this.extra_x_scales,this._x_ranges,this._x_target),this._y_scales=this._get_scales(this.in_y_scale,this.extra_y_scales,this._y_ranges,this._y_target)}_update_scales(){this._configure_frame_ranges();for(const[,e]of this._x_scales)e.target_range=this._x_target;for(const[,e]of this._y_scales)e.target_range=this._y_target}set_geometry(e){this._bbox=e,this._update_scales()}get x_target(){return this._x_target}get y_target(){return this._y_target}get x_ranges(){return this._x_ranges}get y_ranges(){return this._y_ranges}get x_scales(){return this._x_scales}get y_scales(){return this._y_scales}get x_scale(){return this._x_scales.get(\"default\")}get y_scale(){return this._y_scales.get(\"default\")}get xscales(){return(0,l.to_object)(this.x_scales)}get yscales(){return(0,l.to_object)(this.y_scales)}}s.CartesianFrame=x,x.__name__=\"CartesianFrame\"},\n", - " function _(i,s,x,A,o){A(),o(\"Axis\",i(128).Axis),o(\"CategoricalAxis\",i(140).CategoricalAxis),o(\"ContinuousAxis\",i(143).ContinuousAxis),o(\"DatetimeAxis\",i(144).DatetimeAxis),o(\"LinearAxis\",i(145).LinearAxis),o(\"LogAxis\",i(162).LogAxis),o(\"MercatorAxis\",i(165).MercatorAxis)},\n", - " function _(t,e,i,s,a){s();const o=t(1);var l;const n=t(129),_=t(130),r=t(131),h=t(132),c=(0,o.__importStar)(t(48)),b=t(20),u=t(24),m=t(123),d=t(9),x=t(13),f=t(8),g=t(120),p=t(67),v=t(133),w=t(113),j=t(11),k=t(8),y=t(134),{abs:z}=Math;class M extends n.GuideRendererView{constructor(){super(...arguments),this._axis_label_view=null,this._major_label_views=new Map}async lazy_initialize(){await super.lazy_initialize(),await this._init_axis_label(),await this._init_major_labels()}async _init_axis_label(){const{axis_label:t}=this.model;if(null!=t){const e=(0,k.isString)(t)?(0,y.parse_delimited_string)(t):t;this._axis_label_view=await(0,w.build_view)(e,{parent:this})}else this._axis_label_view=null}async _init_major_labels(){const{major_label_overrides:t}=this.model;for(const[e,i]of(0,x.entries)(t)){const t=(0,k.isString)(i)?(0,y.parse_delimited_string)(i):i;this._major_label_views.set(e,await(0,w.build_view)(t,{parent:this}))}}update_layout(){this.layout=new m.SideLayout(this.panel,(()=>this.get_size()),!0),this.layout.on_resize((()=>this._coordinates=void 0))}get_size(){const{visible:t,fixed_location:e}=this.model;if(t&&null==e&&this.is_renderable){const{extents:t}=this;return{width:0,height:Math.round(t.tick+t.tick_label+t.axis_label)}}return{width:0,height:0}}get is_renderable(){const[t,e]=this.ranges;return t.is_valid&&e.is_valid}_render(){var t;if(!this.is_renderable)return;const{tick_coords:e,extents:i}=this,s=this.layer.ctx;s.save(),this._draw_rule(s,i),this._draw_major_ticks(s,i,e),this._draw_minor_ticks(s,i,e),this._draw_major_labels(s,i,e),this._draw_axis_label(s,i,e),null===(t=this._paint)||void 0===t||t.call(this,s,i,e),s.restore()}connect_signals(){super.connect_signals();const{axis_label:t,major_label_overrides:e}=this.model.properties;this.on_change(t,(async()=>{var t;null===(t=this._axis_label_view)||void 0===t||t.remove(),await this._init_axis_label()})),this.on_change(e,(async()=>{for(const t of this._major_label_views.values())t.remove();await this._init_major_labels()})),this.connect(this.model.change,(()=>this.plot_view.request_layout()))}get needs_clip(){return null!=this.model.fixed_location}_draw_rule(t,e){if(!this.visuals.axis_line.doit)return;const[i,s]=this.rule_coords,[a,o]=this.coordinates.map_to_screen(i,s),[l,n]=this.normals,[_,r]=this.offsets;this.visuals.axis_line.set_value(t),t.beginPath();for(let e=0;e0?s+i+3:0}_draw_axis_label(t,e,i){if(null==this._axis_label_view||null!=this.model.fixed_location)return;const[s,a]=(()=>{const{bbox:t}=this.layout;switch(this.panel.side){case\"above\":return[t.hcenter,t.bottom];case\"below\":return[t.hcenter,t.top];case\"left\":return[t.right,t.vcenter];case\"right\":return[t.left,t.vcenter]}})(),[o,l]=this.normals,n=e.tick+e.tick_label+this.model.axis_label_standoff,{vertical_align:_,align:r}=this.panel.get_label_text_heuristics(\"parallel\"),h={sx:s+o*n,sy:a+l*n,x_anchor:r,y_anchor:_},c=this._axis_label_view.graphics();c.visuals=this.visuals.axis_label_text.values(),c.angle=this.panel.get_label_angle_heuristic(\"parallel\"),this.plot_view.base_font_size&&(c.base_font_size=this.plot_view.base_font_size),c.position=h,c.align=r,c.paint(t)}_draw_ticks(t,e,i,s,a){if(!a.doit)return;const[o,l]=e,[n,_]=this.coordinates.map_to_screen(o,l),[r,h]=this.normals,[c,b]=this.offsets,[u,m]=[r*(c-i),h*(b-i)],[d,x]=[r*(c+s),h*(b+s)];a.set_value(t),t.beginPath();for(let e=0;et.bbox())),M=(()=>{const[t]=this.ranges;return t.is_reversed?0==this.dimension?(t,e)=>z[t].left-z[e].right:(t,e)=>z[e].top-z[t].bottom:0==this.dimension?(t,e)=>z[e].left-z[t].right:(t,e)=>z[t].top-z[e].bottom})(),{major_label_policy:O}=this.model,T=O.filter(k,z,M),A=[...T.ones()];if(0!=A.length){const t=this.parent.canvas_view.bbox,e=e=>{const i=z[e];if(i.left<0){const t=-i.left,{position:s}=y[e];y[e].position=Object.assign(Object.assign({},s),{sx:s.sx+t})}else if(i.right>t.width){const s=i.right-t.width,{position:a}=y[e];y[e].position=Object.assign(Object.assign({},a),{sx:a.sx-s})}},i=e=>{const i=z[e];if(i.top<0){const t=-i.top,{position:s}=y[e];y[e].position=Object.assign(Object.assign({},s),{sy:s.sy+t})}else if(i.bottom>t.height){const s=i.bottom-t.height,{position:a}=y[e];y[e].position=Object.assign(Object.assign({},a),{sy:a.sy-s})}},s=A[0],a=A[A.length-1];0==this.dimension?(e(s),e(a)):(i(s),i(a))}for(const e of T){y[e].paint(t)}}_tick_extent(){return this.model.major_tick_out}_tick_label_extents(){const t=this.tick_coords.major,e=this.compute_labels(t[this.dimension]),i=this.model.major_label_orientation,s=this.model.major_label_standoff,a=this.visuals.major_label_text;return[this._oriented_labels_extent(e,i,s,a)]}get extents(){const t=this._tick_label_extents();return{tick:this._tick_extent(),tick_labels:t,tick_label:(0,d.sum)(t),axis_label:this._axis_label_extent()}}_oriented_labels_extent(t,e,i,s){if(0==t.length||!s.doit)return 0;const a=this.panel.get_label_angle_heuristic(e);t.visuals=s.values(),t.angle=a,t.base_font_size=this.plot_view.base_font_size;const o=t.max_size(),l=0==this.dimension?o.height:o.width;return l>0?i+l+3:0}get normals(){return this.panel.normals}get dimension(){return this.panel.dimension}compute_labels(t){const e=this.model.formatter.format_graphics(t,this),{_major_label_views:i}=this,s=new Set;for(let a=0;az(l-n)?(t=r(_(a,o),l),s=_(r(a,o),n)):(t=_(a,o),s=r(a,o)),[t,s]}}get rule_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,a]=this.computed_bounds,o=[new Array(2),new Array(2)];return o[t][0]=Math.max(s,i.min),o[t][1]=Math.min(a,i.max),o[t][0]>o[t][1]&&(o[t][0]=o[t][1]=NaN),o[e][0]=this.loc,o[e][1]=this.loc,o}get tick_coords(){const t=this.dimension,e=(t+1)%2,[i]=this.ranges,[s,a]=this.computed_bounds,o=this.model.ticker.get_ticks(s,a,i,this.loc),l=o.major,n=o.minor,_=[[],[]],r=[[],[]],[h,c]=[i.min,i.max];for(let i=0;ic||(_[t].push(l[i]),_[e].push(this.loc));for(let i=0;ic||(r[t].push(n[i]),r[e].push(this.loc));return{major:_,minor:r}}get loc(){const{fixed_location:t}=this.model;if(null!=t){if((0,f.isNumber)(t))return t;const[,e]=this.ranges;if(e instanceof p.FactorRange)return e.synthetic(t);(0,j.unreachable)()}const[,e]=this.ranges;switch(this.panel.side){case\"left\":case\"below\":return e.start;case\"right\":case\"above\":return e.end}}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox.box})}remove(){var t;null===(t=this._axis_label_view)||void 0===t||t.remove();for(const t of this._major_label_views.values())t.remove();super.remove()}has_finished(){if(!super.has_finished())return!1;if(null!=this._axis_label_view&&!this._axis_label_view.has_finished())return!1;for(const t of this._major_label_views.values())if(!t.has_finished())return!1;return!0}}i.AxisView=M,M.__name__=\"AxisView\";class O extends n.GuideRenderer{constructor(t){super(t)}}i.Axis=O,l=O,O.__name__=\"Axis\",l.prototype.default_view=M,l.mixins([[\"axis_\",c.Line],[\"major_tick_\",c.Line],[\"minor_tick_\",c.Line],[\"major_label_\",c.Text],[\"axis_label_\",c.Text]]),l.define((({Any:t,Int:e,Number:i,String:s,Ref:a,Dict:o,Tuple:l,Or:n,Nullable:c,Auto:u})=>({bounds:[n(l(i,i),u),\"auto\"],ticker:[a(_.Ticker)],formatter:[a(r.TickFormatter)],axis_label:[c(n(s,a(v.BaseText))),null],axis_label_standoff:[e,5],major_label_standoff:[e,5],major_label_orientation:[n(b.TickLabelOrientation,i),\"horizontal\"],major_label_overrides:[o(n(s,a(v.BaseText))),{}],major_label_policy:[a(h.LabelingPolicy),()=>new h.AllLabels],major_tick_in:[i,2],major_tick_out:[i,6],minor_tick_in:[i,0],minor_tick_out:[i,4],fixed_location:[c(n(i,t)),null]}))),l.override({axis_line_color:\"black\",major_tick_line_color:\"black\",minor_tick_line_color:\"black\",major_label_text_font_size:\"11px\",major_label_text_align:\"center\",major_label_text_baseline:\"alphabetic\",axis_label_text_font_size:\"13px\",axis_label_text_font_style:\"italic\"})},\n", - " function _(e,r,d,n,i){var s;n();const _=e(41);class u extends _.RendererView{}d.GuideRendererView=u,u.__name__=\"GuideRendererView\";class c extends _.Renderer{constructor(e){super(e)}}d.GuideRenderer=c,s=c,c.__name__=\"GuideRenderer\",s.override({level:\"guide\"})},\n", - " function _(c,e,n,s,o){s();const r=c(53);class t extends r.Model{constructor(c){super(c)}}n.Ticker=t,t.__name__=\"Ticker\"},\n", - " function _(t,o,r,e,c){e();const n=t(53),a=t(120);class m extends n.Model{constructor(t){super(t)}format_graphics(t,o){return this.doFormat(t,o).map((t=>new a.TextBox({text:t})))}compute(t,o){return this.doFormat([t],null!=o?o:{loc:0})[0]}v_compute(t,o){return this.doFormat(t,null!=o?o:{loc:0})}}r.TickFormatter=m,m.__name__=\"TickFormatter\"},\n", - " function _(e,n,s,t,i){var c,r;t();const l=e(53),o=e(13),a=e(34),u=e(8),d=e(24);class _ extends l.Model{constructor(e){super(e)}}s.LabelingPolicy=_,_.__name__=\"LabelingPolicy\";class f extends _{constructor(e){super(e)}filter(e,n,s){return e}}s.AllLabels=f,f.__name__=\"AllLabels\";class m extends _{constructor(e){super(e)}filter(e,n,s){const{min_distance:t}=this;let i=null;for(const n of e)null!=i&&s(i,n)({min_distance:[e,5]})));class b extends _{constructor(e){super(e)}get names(){return(0,o.keys)(this.args)}get values(){return(0,o.values)(this.args)}get func(){const e=(0,a.use_strict)(this.code);return new d.GeneratorFunction(\"indices\",\"bboxes\",\"distance\",...this.names,e)}filter(e,n,s){const t=Object.create(null),i=this.func.call(t,e,n,s,...this.values);let c=i.next();if(c.done&&void 0!==c.value){const{value:n}=c;return n instanceof d.Indices?n:void 0===n?e:(0,u.isIterable)(n)?d.Indices.from_indices(e.size,n):d.Indices.all_unset(e.size)}{const n=[];do{n.push(c.value),c=i.next()}while(!c.done);return d.Indices.from_indices(e.size,n)}}}s.CustomLabelingPolicy=b,r=b,b.__name__=\"CustomLabelingPolicy\",r.define((({Unknown:e,String:n,Dict:s})=>({args:[s(e),{}],code:[n,\"\"]})))},\n", - " function _(e,s,t,n,a){var _;n();const x=e(53),c=e(42);class i extends c.View{}t.BaseTextView=i,i.__name__=\"BaseTextView\";class o extends x.Model{constructor(e){super(e)}}t.BaseText=o,_=o,o.__name__=\"BaseText\",_.define((({String:e})=>({text:[e]})))},\n", - " function _(n,e,t,i,r){i();const s=n(135),l=n(139),d=[{start:\"$$\",end:\"$$\",inline:!1},{start:\"\\\\[\",end:\"\\\\]\",inline:!1},{start:\"\\\\(\",end:\"\\\\)\",inline:!0}];t.parse_delimited_string=function(n){for(const e of d){const t=n.indexOf(e.start),i=t+e.start.length;if(0==t){const t=n.indexOf(e.end,i),r=t;if(t==n.length-e.end.length)return new s.TeX({text:n.slice(i,r),inline:e.inline});break}}return new l.PlainText({text:n})}},\n", - " function _(t,e,s,i,n){var o,r,a;i();const h=t(8),_=t(136),l=t(22),c=t(120),d=t(121),u=t(122),g=t(65),p=t(133),x=t(137);class m extends p.BaseTextView{constructor(){super(...arguments),this._position={sx:0,sy:0},this.align=\"left\",this._x_anchor=\"left\",this._y_anchor=\"center\",this._base_font_size=13,this.font_size_scale=1,this.svg_image=null}graphics(){return this}infer_text_height(){return\"ascent_descent\"}set base_font_size(t){null!=t&&(this._base_font_size=t)}get base_font_size(){return this._base_font_size}get has_image_loaded(){return null!=this.svg_image}_rect(){const{width:t,height:e}=this._size(),{x:s,y:i}=this._computed_position();return new g.BBox({x:s,y:i,width:t,height:e}).rect}set position(t){this._position=t}get position(){return this._position}get text(){return this.model.text}get provider(){return x.default_provider}async lazy_initialize(){await super.lazy_initialize(),\"not_started\"==this.provider.status&&await this.provider.fetch(),\"not_started\"!=this.provider.status&&\"loading\"!=this.provider.status||this.provider.ready.connect((()=>this.load_image())),\"loaded\"==this.provider.status&&await this.load_image()}connect_signals(){super.connect_signals(),this.on_change(this.model.properties.text,(()=>this.load_image()))}set visuals(t){const e=t.color,s=t.alpha,i=t.font_style;let n=t.font_size;const o=t.font,{font_size_scale:r,_base_font_size:a}=this,h=(0,d.parse_css_font_size)(n);if(null!=h){let{value:t,unit:e}=h;t*=r,\"em\"==e&&a&&(t*=a,e=\"px\"),n=`${t}${e}`}const _=`${i} ${n} ${o}`;this.font=_,this.color=(0,l.color2css)(e,s)}_computed_position(){const{width:t,height:e}=this._size(),{sx:s,sy:i,x_anchor:n=this._x_anchor,y_anchor:o=this._y_anchor}=this.position;return{x:s-(()=>{if((0,h.isNumber)(n))return n*t;switch(n){case\"left\":return 0;case\"center\":return.5*t;case\"right\":return t}})(),y:i-(()=>{if((0,h.isNumber)(o))return o*e;switch(o){case\"top\":return 0;case\"center\":return.5*e;case\"bottom\":return e;case\"baseline\":return.5*e}})()}}size(){const{width:t,height:e}=this._size(),{angle:s}=this;if(s){const i=Math.cos(Math.abs(s)),n=Math.sin(Math.abs(s));return{width:Math.abs(t*i+e*n),height:Math.abs(t*n+e*i)}}return{width:t,height:e}}get_text_dimensions(){return{width:(0,c.text_width)(this.model.text,this.font),height:(0,d.font_metrics)(this.font).height}}get_image_dimensions(){var t,e,s,i;const n=parseFloat(null!==(e=null===(t=this.svg_element.getAttribute(\"height\"))||void 0===t?void 0:t.replace(/([A-z])/g,\"\"))&&void 0!==e?e:\"0\"),o=parseFloat(null!==(i=null===(s=this.svg_element.getAttribute(\"width\"))||void 0===s?void 0:s.replace(/([A-z])/g,\"\"))&&void 0!==i?i:\"0\");return{width:(0,d.font_metrics)(this.font).x_height*o,height:(0,d.font_metrics)(this.font).x_height*n}}_size(){return this.has_image_loaded?this.get_image_dimensions():this.get_text_dimensions()}bbox(){const{p0:t,p1:e,p2:s,p3:i}=this.rect(),n=Math.min(t.x,e.x,s.x,i.x),o=Math.min(t.y,e.y,s.y,i.y),r=Math.max(t.x,e.x,s.x,i.x),a=Math.max(t.y,e.y,s.y,i.y);return new g.BBox({left:n,right:r,top:o,bottom:a})}rect(){const t=this._rect(),{angle:e}=this;if(e){const{sx:s,sy:i}=this.position,n=new u.AffineTransform;return n.translate(s,i),n.rotate(e),n.translate(-s,-i),n.apply_rect(t)}return t}paint_rect(t){const{p0:e,p1:s,p2:i,p3:n}=this.rect();t.save(),t.strokeStyle=\"red\",t.lineWidth=1,t.beginPath();const{round:o}=Math;t.moveTo(o(e.x),o(e.y)),t.lineTo(o(s.x),o(s.y)),t.lineTo(o(i.x),o(i.y)),t.lineTo(o(n.x),o(n.y)),t.closePath(),t.stroke(),t.restore()}paint_bbox(t){const{x:e,y:s,width:i,height:n}=this.bbox();t.save(),t.strokeStyle=\"blue\",t.lineWidth=1,t.beginPath();const{round:o}=Math;t.moveTo(o(e),o(s)),t.lineTo(o(e),o(s+n)),t.lineTo(o(e+i),o(s+n)),t.lineTo(o(e+i),o(s)),t.closePath(),t.stroke(),t.restore()}async load_image(){if(null==this.provider.MathJax)return null;const t=this._process_text(this.model.text);if(null==t)return this._has_finished=!0,null;const e=t.children[0];this.svg_element=e,e.setAttribute(\"font\",this.font),e.setAttribute(\"stroke\",this.color);const s=e.outerHTML,i=new Blob([s],{type:\"image/svg+xml\"}),n=URL.createObjectURL(i);try{this.svg_image=await(0,_.load_image)(n)}finally{URL.revokeObjectURL(n)}return this.parent.request_layout(),this.svg_image}paint(t){t.save();const{sx:e,sy:s}=this.position;this.angle&&(t.translate(e,s),t.rotate(this.angle),t.translate(-e,-s));const{x:i,y:n}=this._computed_position();if(null!=this.svg_image){const{width:e,height:s}=this.get_image_dimensions();t.drawImage(this.svg_image,i,n,e,s)}else t.fillStyle=this.color,t.font=this.font,t.textAlign=\"left\",t.textBaseline=\"alphabetic\",t.fillText(this.model.text,i,n+(0,d.font_metrics)(this.font).ascent);t.restore(),this._has_finished||\"failed\"!=this.provider.status&&!this.has_image_loaded||(this._has_finished=!0,this.parent.notify_finished_after_paint())}}s.MathTextView=m,m.__name__=\"MathTextView\";class f extends p.BaseText{constructor(t){super(t)}}s.MathText=f,f.__name__=\"MathText\";class v extends m{_process_text(t){}}s.AsciiView=v,v.__name__=\"AsciiView\";class y extends f{constructor(t){super(t)}}s.Ascii=y,o=y,y.__name__=\"Ascii\",o.prototype.default_view=v;class w extends m{_process_text(t){var e;return null===(e=this.provider.MathJax)||void 0===e?void 0:e.mathml2svg(t.trim())}}s.MathMLView=w,w.__name__=\"MathMLView\";class b extends f{constructor(t){super(t)}}s.MathML=b,r=b,b.__name__=\"MathML\",r.prototype.default_view=w;class M extends m{_process_text(t){var e;return null===(e=this.provider.MathJax)||void 0===e?void 0:e.tex2svg(t,void 0,this.model.macros)}}s.TeXView=M,M.__name__=\"TeXView\";class T extends f{constructor(t){super(t)}}s.TeX=T,a=T,T.__name__=\"TeX\",a.prototype.default_view=M,a.define((({Boolean:t,Number:e,String:s,Dict:i,Tuple:n,Or:o})=>({macros:[i(o(s,n(s,e))),{}],inline:[t,!1]})))},\n", - " function _(i,e,t,s,o){s();const a=i(19);t.load_image=async function(i,e){return new n(i,e).promise};class n{constructor(i,e={}){this._image=new Image,this._finished=!1;const{attempts:t=1,timeout:s=1}=e;this.promise=new Promise(((o,n)=>{this._image.crossOrigin=\"anonymous\";let r=0;this._image.onerror=()=>{if(++r==t){const s=`unable to load ${i} image after ${t} attempts`;if(a.logger.warn(s),null==this._image.crossOrigin)return void(null!=e.failed&&e.failed());a.logger.warn(`attempting to load ${i} without a cross origin policy`),this._image.crossOrigin=null,r=0}setTimeout((()=>this._image.src=i),s)},this._image.onload=()=>{this._finished=!0,null!=e.loaded&&e.loaded(this._image),o(this._image)},this._image.src=i}))}get finished(){return this._finished}get image(){if(this._finished)return this._image;throw new Error(\"not loaded yet\")}}t.ImageLoader=n,n.__name__=\"ImageLoader\"},\n", - " function _(t,e,a,s,n){var r=this&&this.__createBinding||(Object.create?function(t,e,a,s){void 0===s&&(s=a),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[a]}})}:function(t,e,a,s){void 0===s&&(s=a),t[s]=e[a]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),d=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var a in t)\"default\"!==a&&Object.prototype.hasOwnProperty.call(t,a)&&r(e,t,a);return i(e,t),e};s();const o=t(15),u=t(138);class c{constructor(){this.ready=new o.Signal0(this,\"ready\"),this.status=\"not_started\"}}a.MathJaxProvider=c,c.__name__=\"MathJaxProvider\";class h extends c{get MathJax(){return null}async fetch(){this.status=\"failed\"}}a.NoProvider=h,h.__name__=\"NoProvider\";class l extends c{get MathJax(){return\"undefined\"!=typeof MathJax?MathJax:null}async fetch(){const t=document.createElement(\"script\");t.src=\"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js\",t.onload=()=>{this.status=\"loaded\",this.ready.emit()},t.onerror=()=>{this.status=\"failed\"},this.status=\"loading\",document.head.appendChild(t)}}a.CDNProvider=l,l.__name__=\"CDNProvider\";class _ extends c{get MathJax(){return this._mathjax}async fetch(){this.status=\"loading\";try{const e=await(0,u.load_module)(Promise.resolve().then((()=>d(t(515)))));this._mathjax=e,this.status=\"loaded\",this.ready.emit()}catch(t){this.status=\"failed\"}}}a.BundleProvider=_,_.__name__=\"BundleProvider\",a.default_provider=new _},\n", - " function _(n,r,o,t,c){t(),o.load_module=async function(n){try{return await n}catch(n){if((r=n)instanceof Error&&\"code\"in r&&\"MODULE_NOT_FOUND\"===n.code)return null;throw n}var r}},\n", - " function _(e,t,i,n,s){var a;n();const x=e(133),_=e(120);class l extends x.BaseTextView{initialize(){super.initialize(),this._has_finished=!0}graphics(){return new _.TextBox({text:this.model.text})}}i.PlainTextView=l,l.__name__=\"PlainTextView\";class r extends x.BaseText{constructor(e){super(e)}}i.PlainText=r,a=r,r.__name__=\"PlainText\",a.prototype.default_view=l},\n", - " function _(t,s,o,e,i){e();const r=t(1);var a;const l=t(128),_=t(141),n=t(142),p=(0,r.__importStar)(t(48)),c=t(20),h=t(120),m=t(8);class u extends l.AxisView{_paint(t,s,o){this._draw_group_separators(t,s,o)}_draw_group_separators(t,s,o){const[e]=this.ranges,[i,r]=this.computed_bounds;if(!e.tops||e.tops.length<2||!this.visuals.separator_line.doit)return;const a=this.dimension,l=(a+1)%2,_=[[],[]];let n=0;for(let t=0;ti&&pnew h.GraphicsBoxes(t.map((t=>(0,m.isString)(t)?new h.TextBox({text:t}):t))),_=t=>l(this.model.formatter.doFormat(t,this));if(1==t.levels){const t=_(i.major);a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text])}else if(2==t.levels){const t=_(i.major.map((t=>t[1])));a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([l(i.tops),r.tops,this.model.group_label_orientation,this.visuals.group_text])}else if(3==t.levels){const t=_(i.major.map((t=>t[2]))),s=i.mids.map((t=>t[1]));a.push([t,r.major,this.model.major_label_orientation,this.visuals.major_label_text]),a.push([l(s),r.mids,this.model.subgroup_label_orientation,this.visuals.subgroup_text]),a.push([l(i.tops),r.tops,this.model.group_label_orientation,this.visuals.group_text])}return a}get tick_coords(){const t=this.dimension,s=(t+1)%2,[o]=this.ranges,[e,i]=this.computed_bounds,r=this.model.ticker.get_ticks(e,i,o,this.loc),a={major:[[],[]],mids:[[],[]],tops:[[],[]],minor:[[],[]]};return a.major[t]=r.major,a.major[s]=r.major.map((()=>this.loc)),3==o.levels&&(a.mids[t]=r.mids,a.mids[s]=r.mids.map((()=>this.loc))),o.levels>1&&(a.tops[t]=r.tops,a.tops[s]=r.tops.map((()=>this.loc))),a}}o.CategoricalAxisView=u,u.__name__=\"CategoricalAxisView\";class d extends l.Axis{constructor(t){super(t)}}o.CategoricalAxis=d,a=d,d.__name__=\"CategoricalAxis\",a.prototype.default_view=u,a.mixins([[\"separator_\",p.Line],[\"group_\",p.Text],[\"subgroup_\",p.Text]]),a.define((({Number:t,Or:s})=>({group_label_orientation:[s(c.TickLabelOrientation,t),\"parallel\"],subgroup_label_orientation:[s(c.TickLabelOrientation,t),\"parallel\"]}))),a.override({ticker:()=>new _.CategoricalTicker,formatter:()=>new n.CategoricalTickFormatter,separator_line_color:\"lightgrey\",separator_line_width:2,group_text_font_style:\"bold\",group_text_font_size:\"11px\",group_text_color:\"grey\",subgroup_text_font_style:\"bold\",subgroup_text_font_size:\"11px\"})},\n", - " function _(t,c,o,s,e){s();const r=t(130);class i extends r.Ticker{constructor(t){super(t)}get_ticks(t,c,o,s){var e,r;return{major:this._collect(o.factors,o,t,c),minor:[],tops:this._collect(null!==(e=o.tops)&&void 0!==e?e:[],o,t,c),mids:this._collect(null!==(r=o.mids)&&void 0!==r?r:[],o,t,c)}}_collect(t,c,o,s){const e=[];for(const r of t){const t=c.synthetic(r);t>o&&tnew _.DatetimeTicker,formatter:()=>new m.DatetimeTickFormatter})},\n", - " function _(e,i,s,n,r){var t;n();const a=e(143),o=e(146),c=e(147);class _ extends a.ContinuousAxisView{}s.LinearAxisView=_,_.__name__=\"LinearAxisView\";class u extends a.ContinuousAxis{constructor(e){super(e)}}s.LinearAxis=u,t=u,u.__name__=\"LinearAxis\",t.prototype.default_view=_,t.override({ticker:()=>new c.BasicTicker,formatter:()=>new o.BasicTickFormatter})},\n", - " function _(i,t,e,n,o){var r;n();const s=i(131),c=i(34);function _(i){let t=\"\";for(const e of i)t+=\"-\"==e?\"\\u2212\":e;return t}e.unicode_replace=_;class a extends s.TickFormatter{constructor(i){super(i),this.last_precision=3}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}_need_sci(i){if(!this.use_scientific)return!1;const{scientific_limit_high:t}=this,{scientific_limit_low:e}=this,n=i.length<2?0:Math.abs(i[1]-i[0])/1e4;for(const o of i){const i=Math.abs(o);if(!(i<=n)&&(i>=t||i<=e))return!0}return!1}_format_with_precision(i,t,e){return t?i.map((i=>_(i.toExponential(e)))):i.map((i=>_((0,c.to_fixed)(i,e))))}_auto_precision(i,t){const e=new Array(i.length),n=this.last_precision<=15;i:for(let o=this.last_precision;n?o<=15:o>=1;n?o++:o--){if(t){e[0]=i[0].toExponential(o);for(let t=1;t({precision:[n(t,e),\"auto\"],use_scientific:[i,!0],power_limit_high:[t,5],power_limit_low:[t,-3]})))},\n", - " function _(c,e,s,i,n){i();const r=c(148);class t extends r.AdaptiveTicker{constructor(c){super(c)}}s.BasicTicker=t,t.__name__=\"BasicTicker\"},\n", - " function _(t,i,a,s,e){var n;s();const r=t(149),_=t(9),l=t(10);class h extends r.ContinuousTicker{constructor(t){super(t)}get_min_interval(){return this.min_interval}get_max_interval(){var t;return null!==(t=this.max_interval)&&void 0!==t?t:1/0}initialize(){super.initialize();const t=(0,_.nth)(this.mantissas,-1)/this.base,i=(0,_.nth)(this.mantissas,0)*this.base;this.extended_mantissas=[t,...this.mantissas,i],this.base_factor=0===this.get_min_interval()?1:this.get_min_interval()}get_interval(t,i,a){const s=i-t,e=this.get_ideal_interval(t,i,a),n=Math.floor((0,l.log)(e/this.base_factor,this.base)),r=this.base**n*this.base_factor,h=this.extended_mantissas,m=h.map((t=>Math.abs(a-s/(t*r)))),v=h[(0,_.argmin)(m)]*r;return(0,l.clamp)(v,this.get_min_interval(),this.get_max_interval())}}a.AdaptiveTicker=h,n=h,h.__name__=\"AdaptiveTicker\",n.define((({Number:t,Array:i,Nullable:a})=>({base:[t,10],mantissas:[i(t),[1,2,5]],min_interval:[t,0],max_interval:[a(t),null]})))},\n", - " function _(t,n,i,s,e){var o;s();const r=t(130),c=t(9);class _ extends r.Ticker{constructor(t){super(t)}get_ticks(t,n,i,s){return this.get_ticks_no_defaults(t,n,s,this.desired_num_ticks)}get_ticks_no_defaults(t,n,i,s){const e=this.get_interval(t,n,s),o=Math.floor(t/e),r=Math.ceil(n/e);let _;_=isFinite(o)&&isFinite(r)?(0,c.range)(o,r+1):[];const u=_.map((t=>t*e)).filter((i=>t<=i&&i<=n)),a=this.num_minor_ticks,f=[];if(a>0&&u.length>0){const i=e/a,s=(0,c.range)(0,a).map((t=>t*i));for(const i of s.slice(1)){const s=u[0]-i;t<=s&&s<=n&&f.push(s)}for(const i of u)for(const e of s){const s=i+e;t<=s&&s<=n&&f.push(s)}}return{major:u,minor:f}}get_ideal_interval(t,n,i){return(n-t)/i}}i.ContinuousTicker=_,o=_,_.__name__=\"ContinuousTicker\",o.define((({Int:t})=>({num_minor_ticks:[t,5],desired_num_ticks:[t,6]})))},\n", - " function _(s,t,e,n,i){n();var r;const o=(0,s(1).__importDefault)(s(151)),a=s(131),c=s(19),u=s(152),m=s(9),h=s(8);function d(s){return(0,o.default)(s,\"%Y %m %d %H %M %S\").split(/\\s+/).map((s=>parseInt(s,10)))}function l(s,t){if((0,h.isFunction)(t))return t(s);{const e=(0,u.sprintf)(\"$1%06d\",function(s){return Math.round(s/1e3%1*1e6)}(s));return-1==(t=t.replace(/((^|[^%])(%%)*)%f/,e)).indexOf(\"%\")?t:(0,o.default)(s,t)}}const f=[\"microseconds\",\"milliseconds\",\"seconds\",\"minsec\",\"minutes\",\"hourmin\",\"hours\",\"days\",\"months\",\"years\"];class _ extends a.TickFormatter{constructor(s){super(s),this.strip_leading_zeros=!0}initialize(){super.initialize(),this._update_width_formats()}_update_width_formats(){const s=+(0,o.default)(new Date),t=function(t){const e=t.map((t=>l(s,t).length)),n=(0,m.sort_by)((0,m.zip)(e,t),(([s])=>s));return(0,m.unzip)(n)};this._width_formats={microseconds:t(this.microseconds),milliseconds:t(this.milliseconds),seconds:t(this.seconds),minsec:t(this.minsec),minutes:t(this.minutes),hourmin:t(this.hourmin),hours:t(this.hours),days:t(this.days),months:t(this.months),years:t(this.years)}}_get_resolution_str(s,t){const e=1.1*s;switch(!1){case!(e<.001):return\"microseconds\";case!(e<1):return\"milliseconds\";case!(e<60):return t>=60?\"minsec\":\"seconds\";case!(e<3600):return t>=3600?\"hourmin\":\"minutes\";case!(e<86400):return\"hours\";case!(e<2678400):return\"days\";case!(e<31536e3):return\"months\";default:return\"years\"}}doFormat(s,t){if(0==s.length)return[];const e=Math.abs(s[s.length-1]-s[0])/1e3,n=e/(s.length-1),i=this._get_resolution_str(n,e),[,[r]]=this._width_formats[i],o=[],a=f.indexOf(i),u={};for(const s of f)u[s]=0;u.seconds=5,u.minsec=4,u.minutes=4,u.hourmin=3,u.hours=3;for(const t of s){let s,e;try{e=d(t),s=l(t,r)}catch(s){c.logger.warn(`unable to format tick for timestamp value ${t}`),c.logger.warn(` - ${s}`),o.push(\"ERR\");continue}let n=!1,m=a;for(;0==e[u[f[m]]];){let r;if(m+=1,m==f.length)break;if((\"minsec\"==i||\"hourmin\"==i)&&!n){if(\"minsec\"==i&&0==e[4]&&0!=e[5]||\"hourmin\"==i&&0==e[3]&&0!=e[4]){r=this._width_formats[f[a-1]][1][0],s=l(t,r);break}n=!0}r=this._width_formats[f[m]][1][0],s=l(t,r)}if(this.strip_leading_zeros){let t=s.replace(/^0+/g,\"\");t!=s&&isNaN(parseInt(t))&&(t=`0${t}`),o.push(t)}else o.push(s)}return o}}e.DatetimeTickFormatter=_,r=_,_.__name__=\"DatetimeTickFormatter\",r.define((({String:s,Array:t})=>({microseconds:[t(s),[\"%fus\"]],milliseconds:[t(s),[\"%3Nms\",\"%S.%3Ns\"]],seconds:[t(s),[\"%Ss\"]],minsec:[t(s),[\":%M:%S\"]],minutes:[t(s),[\":%M\",\"%Mm\"]],hourmin:[t(s),[\"%H:%M\"]],hours:[t(s),[\"%Hh\",\"%H:%M\"]],days:[t(s),[\"%m/%d\",\"%a%d\"]],months:[t(s),[\"%m/%Y\",\"%b %Y\"]],years:[t(s),[\"%Y\"]]})))},\n", - " function _(e,t,n,r,o){!function(e){\"object\"==typeof t&&t.exports?t.exports=e():\"function\"==typeof define?define(e):this.tz=e()}((function(){function e(e,t,n){var r,o=t.day[1];do{r=new Date(Date.UTC(n,t.month,Math.abs(o++)))}while(t.day[0]<7&&r.getUTCDay()!=t.day[0]);return(r={clock:t.clock,sort:r.getTime(),rule:t,save:6e4*t.save,offset:e.offset})[r.clock]=r.sort+6e4*t.time,r.posix?r.wallclock=r[r.clock]+(e.offset+t.saved):r.posix=r[r.clock]-(e.offset+t.saved),r}function t(t,n,r){var o,a,u,i,l,s,c,f=t[t.zone],h=[],T=new Date(r).getUTCFullYear(),g=1;for(o=1,a=f.length;o=T-g;--c)for(o=0,a=s.length;o=h[o][n]&&h[o][h[o].clock]>u[h[o].clock]&&(i=h[o])}return i&&((l=/^(.*)\\/(.*)$/.exec(u.format))?i.abbrev=l[i.save?2:1]:i.abbrev=u.format.replace(/%s/,i.rule.letter)),i||u}function n(e,n){return\"UTC\"==e.zone?n:(e.entry=t(e,\"posix\",n),n+e.entry.offset+e.entry.save)}function r(e,n){return\"UTC\"==e.zone?n:(e.entry=r=t(e,\"wallclock\",n),0<(o=n-r.wallclock)&&o9)t+=s*l[c-10];else{if(a=new Date(n(e,t)),c<7)for(;s;)a.setUTCDate(a.getUTCDate()+i),a.getUTCDay()==c&&(s-=i);else 7==c?a.setUTCFullYear(a.getUTCFullYear()+s):8==c?a.setUTCMonth(a.getUTCMonth()+s):a.setUTCDate(a.getUTCDate()+s);null==(t=r(e,a.getTime()))&&(t=r(e,a.getTime()+864e5*i)-864e5*i)}return t}var a={clock:function(){return+new Date},zone:\"UTC\",entry:{abbrev:\"UTC\",offset:0,save:0},UTC:1,z:function(e,t,n,r){var o,a,u=this.entry.offset+this.entry.save,i=Math.abs(u/1e3),l=[],s=3600;for(o=0;o<3;o++)l.push((\"0\"+Math.floor(i/s)).slice(-2)),i%=s,s/=60;return\"^\"!=n||u?(\"^\"==n&&(r=3),3==r?(a=(a=l.join(\":\")).replace(/:00$/,\"\"),\"^\"!=n&&(a=a.replace(/:00$/,\"\"))):r?(a=l.slice(0,r+1).join(\":\"),\"^\"==n&&(a=a.replace(/:00$/,\"\"))):a=l.slice(0,2).join(\"\"),a=(a=(u<0?\"-\":\"+\")+a).replace(/([-+])(0)/,{_:\" $1\",\"-\":\"$1\"}[n]||\"$1$2\")):\"Z\"},\"%\":function(e){return\"%\"},n:function(e){return\"\\n\"},t:function(e){return\"\\t\"},U:function(e){return s(e,0)},W:function(e){return s(e,1)},V:function(e){return c(e)[0]},G:function(e){return c(e)[1]},g:function(e){return c(e)[1]%100},j:function(e){return Math.floor((e.getTime()-Date.UTC(e.getUTCFullYear(),0))/864e5)+1},s:function(e){return Math.floor(e.getTime()/1e3)},C:function(e){return Math.floor(e.getUTCFullYear()/100)},N:function(e){return e.getTime()%1e3*1e6},m:function(e){return e.getUTCMonth()+1},Y:function(e){return e.getUTCFullYear()},y:function(e){return e.getUTCFullYear()%100},H:function(e){return e.getUTCHours()},M:function(e){return e.getUTCMinutes()},S:function(e){return e.getUTCSeconds()},e:function(e){return e.getUTCDate()},d:function(e){return e.getUTCDate()},u:function(e){return e.getUTCDay()||7},w:function(e){return e.getUTCDay()},l:function(e){return e.getUTCHours()%12||12},I:function(e){return e.getUTCHours()%12||12},k:function(e){return e.getUTCHours()},Z:function(e){return this.entry.abbrev},a:function(e){return this[this.locale].day.abbrev[e.getUTCDay()]},A:function(e){return this[this.locale].day.full[e.getUTCDay()]},h:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},b:function(e){return this[this.locale].month.abbrev[e.getUTCMonth()]},B:function(e){return this[this.locale].month.full[e.getUTCMonth()]},P:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)].toLowerCase()},p:function(e){return this[this.locale].meridiem[Math.floor(e.getUTCHours()/12)]},R:function(e,t){return this.convert([t,\"%H:%M\"])},T:function(e,t){return this.convert([t,\"%H:%M:%S\"])},D:function(e,t){return this.convert([t,\"%m/%d/%y\"])},F:function(e,t){return this.convert([t,\"%Y-%m-%d\"])},x:function(e,t){return this.convert([t,this[this.locale].date])},r:function(e,t){return this.convert([t,this[this.locale].time12||\"%I:%M:%S\"])},X:function(e,t){return this.convert([t,this[this.locale].time24])},c:function(e,t){return this.convert([t,this[this.locale].dateTime])},convert:function(e){if(!e.length)return\"1.0.23\";var t,a,u,l,s,c=Object.create(this),f=[];for(t=0;t=o?Math.floor((n-o)/7)+1:0}function c(e){var t,n,r;return n=e.getUTCFullYear(),t=new Date(Date.UTC(n,0)).getUTCDay(),(r=s(e,1)+(t>1&&t<=4?1:0))?53!=r||4==t||3==t&&29==new Date(n,1,29).getDate()?[r,e.getUTCFullYear()]:[1,e.getUTCFullYear()+1]:(n=e.getUTCFullYear()-1,[r=4==(t=new Date(Date.UTC(n,0)).getUTCDay())||3==t&&29==new Date(n,1,29).getDate()?53:52,e.getUTCFullYear()-1])}return u=u.toLowerCase().split(\"|\"),\"delmHMSUWVgCIky\".replace(/./g,(function(e){a[e].pad=2})),a.N.pad=9,a.j.pad=3,a.k.style=\"_\",a.l.style=\"_\",a.e.style=\"_\",function(){return a.convert(arguments)}}))},\n", - " function _(r,t,n,e,i){e();const u=r(1),a=(0,u.__importStar)(r(153)),f=r(154),o=(0,u.__importDefault)(r(151)),l=r(21),s=r(8);function c(r,...t){return(0,f.sprintf)(r,...t)}function m(r,t,n){if((0,s.isNumber)(r)){return c((()=>{switch(!1){case Math.floor(r)!=r:return\"%d\";case!(Math.abs(r)>.1&&Math.abs(r)<1e3):return\"%0.3f\";default:return\"%0.3e\"}})(),r)}return`${r}`}function _(r,t,e){if(null==t)return m;if(null!=e&&r in e){const t=e[r];if((0,s.isString)(t)){if(t in n.DEFAULT_FORMATTERS)return n.DEFAULT_FORMATTERS[t];throw new Error(`Unknown tooltip field formatter type '${t}'`)}return function(r,n,e){return t.format(r,n,e)}}return n.DEFAULT_FORMATTERS.numeral}function p(r,t,n){const e=t.get_column(r);if(null==e)return null;if((0,s.isNumber)(n))return e[n];const i=e[n.index];if((0,s.isTypedArray)(i)||(0,s.isArray)(i)){if((0,s.isArray)(i[0])){return i[n.dim2][n.dim1]}return i[n.flat_index]}return i}function d(r,t,n,e){if(\"$\"==r[0]){return function(r,t){if(r in t)return t[r];throw new Error(`Unknown special variable '$${r}'`)}(r.substring(1),e)}return p(r.substring(1).replace(/[{}]/g,\"\"),t,n)}n.FormatterType=(0,l.Enum)(\"numeral\",\"printf\",\"datetime\"),n.DEFAULT_FORMATTERS={numeral:(r,t,n)=>a.format(r,t),datetime:(r,t,n)=>(0,o.default)(r,t),printf:(r,t,n)=>c(t,r)},n.sprintf=c,n.basic_formatter=m,n.get_formatter=_,n._get_column_value=p,n.get_value=d,n.replace_placeholders=function(r,t,n,e,i={},u){let a,f;if((0,s.isString)(r)?(a=r,f=!1):(a=r.html,f=!0),a=a.replace(/@\\$name/g,(r=>`@{${i.name}}`)),a=a.replace(/((?:\\$\\w+)|(?:@\\w+)|(?:@{(?:[^{}]+)}))(?:{([^{}]+)})?/g,((r,a,o)=>{const l=d(a,t,n,i);if(null==l)return u?u(\"???\"):\"???\";if(\"safe\"==o)return f=!0,`${l}`;const s=`${_(a,o,e)(l,o,i)}`;return u?u(s):s})),f){return[...(new DOMParser).parseFromString(a,\"text/html\").body.childNodes]}return a}},\n", - " function _(e,n,t,r,i){\n", - " /*!\n", - " * numbro.js\n", - " * version : 1.6.2\n", - " * author : Företagsplatsen AB\n", - " * license : MIT\n", - " * http://www.foretagsplatsen.se\n", - " */\n", - " var a,o={},l=o,u=\"en-US\",c=null,s=\"0,0\";void 0!==n&&n.exports;function f(e){this._value=e}function d(e){var n,t=\"\";for(n=0;n-1?function(e,n){var t,r,i,a;return t=(a=e.toString()).split(\"e\")[0],i=a.split(\"e\")[1],a=t.split(\".\")[0]+(r=t.split(\".\")[1]||\"\")+d(i-r.length),n>0&&(a+=\".\"+d(n)),a}(e,n):(t(e*o)/o).toFixed(n),r&&(i=new RegExp(\"0{1,\"+r+\"}$\"),a=a.replace(i,\"\")),a}function p(e,n,t){var r;return r=n.indexOf(\"$\")>-1?function(e,n,t){var r,i,a=n,l=a.indexOf(\"$\"),c=a.indexOf(\"(\"),s=a.indexOf(\"+\"),f=a.indexOf(\"-\"),d=\"\",h=\"\";-1===a.indexOf(\"$\")?\"infix\"===o[u].currency.position?(h=o[u].currency.symbol,o[u].currency.spaceSeparated&&(h=\" \"+h+\" \")):o[u].currency.spaceSeparated&&(d=\" \"):a.indexOf(\" $\")>-1?(d=\" \",a=a.replace(\" $\",\"\")):a.indexOf(\"$ \")>-1?(d=\" \",a=a.replace(\"$ \",\"\")):a=a.replace(\"$\",\"\");if(i=m(e,a,t,h),-1===n.indexOf(\"$\"))switch(o[u].currency.position){case\"postfix\":i.indexOf(\")\")>-1?((i=i.split(\"\")).splice(-1,0,d+o[u].currency.symbol),i=i.join(\"\")):i=i+d+o[u].currency.symbol;break;case\"infix\":break;case\"prefix\":i.indexOf(\"(\")>-1||i.indexOf(\"-\")>-1?(i=i.split(\"\"),r=Math.max(c,f)+1,i.splice(r,0,o[u].currency.symbol+d),i=i.join(\"\")):i=o[u].currency.symbol+d+i;break;default:throw Error('Currency position should be among [\"prefix\", \"infix\", \"postfix\"]')}else l<=1?i.indexOf(\"(\")>-1||i.indexOf(\"+\")>-1||i.indexOf(\"-\")>-1?(r=1,(l-1?((i=i.split(\"\")).splice(-1,0,d+o[u].currency.symbol),i=i.join(\"\")):i=i+d+o[u].currency.symbol;return i}(e,n,t):n.indexOf(\"%\")>-1?function(e,n,t){var r,i=\"\";e*=100,n.indexOf(\" %\")>-1?(i=\" \",n=n.replace(\" %\",\"\")):n=n.replace(\"%\",\"\");(r=m(e,n,t)).indexOf(\")\")>-1?((r=r.split(\"\")).splice(-1,0,i+\"%\"),r=r.join(\"\")):r=r+i+\"%\";return r}(e,n,t):n.indexOf(\":\")>-1?function(e){var n=Math.floor(e/60/60),t=Math.floor((e-60*n*60)/60),r=Math.round(e-60*n*60-60*t);return n+\":\"+(t<10?\"0\"+t:t)+\":\"+(r<10?\"0\"+r:r)}(e):m(e,n,t),r}function m(e,n,t,r){var i,a,l,s,f,d,p,m,x,g,O,b,w,y,M,v,$,B=!1,E=!1,F=!1,k=\"\",U=!1,N=!1,S=!1,j=!1,D=!1,C=\"\",L=\"\",T=Math.abs(e),K=[\"B\",\"KiB\",\"MiB\",\"GiB\",\"TiB\",\"PiB\",\"EiB\",\"ZiB\",\"YiB\"],G=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\",\"PB\",\"EB\",\"ZB\",\"YB\"],I=\"\",P=!1,R=!1;if(0===e&&null!==c)return c;if(!isFinite(e))return\"\"+e;if(0===n.indexOf(\"{\")){var W=n.indexOf(\"}\");if(-1===W)throw Error('Format should also contain a \"}\"');b=n.slice(1,W),n=n.slice(W+1)}else b=\"\";if(n.indexOf(\"}\")===n.length-1){var Y=n.indexOf(\"{\");if(-1===Y)throw Error('Format should also contain a \"{\"');w=n.slice(Y+1,-1),n=n.slice(0,Y+1)}else w=\"\";if(v=null===($=-1===n.indexOf(\".\")?n.match(/([0-9]+).*/):n.match(/([0-9]+)\\..*/))?-1:$[1].length,-1!==n.indexOf(\"-\")&&(P=!0),n.indexOf(\"(\")>-1?(B=!0,n=n.slice(1,-1)):n.indexOf(\"+\")>-1&&(E=!0,n=n.replace(/\\+/g,\"\")),n.indexOf(\"a\")>-1){if(g=n.split(\".\")[0].match(/[0-9]+/g)||[\"0\"],g=parseInt(g[0],10),U=n.indexOf(\"aK\")>=0,N=n.indexOf(\"aM\")>=0,S=n.indexOf(\"aB\")>=0,j=n.indexOf(\"aT\")>=0,D=U||N||S||j,n.indexOf(\" a\")>-1?(k=\" \",n=n.replace(\" a\",\"\")):n=n.replace(\"a\",\"\"),p=0===(p=(f=Math.floor(Math.log(T)/Math.LN10)+1)%3)?3:p,g&&0!==T&&(d=Math.floor(Math.log(T)/Math.LN10)+1-g,m=3*~~((Math.min(g,f)-p)/3),T/=Math.pow(10,m),-1===n.indexOf(\".\")&&g>3))for(n+=\"[.]\",M=(M=0===d?0:3*~~(d/3)-d)<0?M+3:M,i=0;i=Math.pow(10,12)&&!D||j?(k+=o[u].abbreviations.trillion,e/=Math.pow(10,12)):T=Math.pow(10,9)&&!D||S?(k+=o[u].abbreviations.billion,e/=Math.pow(10,9)):T=Math.pow(10,6)&&!D||N?(k+=o[u].abbreviations.million,e/=Math.pow(10,6)):(T=Math.pow(10,3)&&!D||U)&&(k+=o[u].abbreviations.thousand,e/=Math.pow(10,3)))}if(n.indexOf(\"b\")>-1)for(n.indexOf(\" b\")>-1?(C=\" \",n=n.replace(\" b\",\"\")):n=n.replace(\"b\",\"\"),s=0;s<=K.length;s++)if(a=Math.pow(1024,s),l=Math.pow(1024,s+1),e>=a&&e0&&(e/=a);break}if(n.indexOf(\"d\")>-1)for(n.indexOf(\" d\")>-1?(C=\" \",n=n.replace(\" d\",\"\")):n=n.replace(\"d\",\"\"),s=0;s<=G.length;s++)if(a=Math.pow(1e3,s),l=Math.pow(1e3,s+1),e>=a&&e0&&(e/=a);break}if(n.indexOf(\"o\")>-1&&(n.indexOf(\" o\")>-1?(L=\" \",n=n.replace(\" o\",\"\")):n=n.replace(\"o\",\"\"),o[u].ordinal&&(L+=o[u].ordinal(e))),n.indexOf(\"[.]\")>-1&&(F=!0,n=n.replace(\"[.]\",\".\")),x=e.toString().split(\".\")[0],O=n.split(\".\")[1],y=n.indexOf(\",\"),O){if(x=(I=-1!==O.indexOf(\"*\")?h(e,e.toString().split(\".\")[1].length,t):O.indexOf(\"[\")>-1?h(e,(O=(O=O.replace(\"]\",\"\")).split(\"[\"))[0].length+O[1].length,t,O[1].length):h(e,O.length,t)).split(\".\")[0],I.split(\".\")[1].length)I=(r?k+r:o[u].delimiters.decimal)+I.split(\".\")[1];else I=\"\";F&&0===Number(I.slice(1))&&(I=\"\")}else x=h(e,null,t);return x.indexOf(\"-\")>-1&&(x=x.slice(1),R=!0),x.length-1&&(x=x.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g,\"$1\"+o[u].delimiters.thousands)),0===n.indexOf(\".\")&&(x=\"\"),b+(n.indexOf(\"(\")2)&&(o.length<2?!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u):1===o[0].length?!!o[0].match(/^\\d+$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/):!!o[0].match(/^\\d+.*\\d$/)&&!o[0].match(u)&&!!o[1].match(/^\\d+$/)))))},n.exports={format:function(e,n,t,r){return null!=t&&t!==a.culture()&&a.setCulture(t),p(Number(e),null!=n?n:s,null==r?Math.round:r)}}},\n", - " function _(e,n,t,r,i){!function(){\"use strict\";var e={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function n(e){return i(a(e),arguments)}function r(e,t){return n.apply(null,[e].concat(t||[]))}function i(t,r){var i,s,a,o,p,c,l,u,f,d=1,g=t.length,y=\"\";for(s=0;s=0),o.type){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,o.width?parseInt(o.width):0);break;case\"e\":i=o.precision?parseFloat(i).toExponential(o.precision):parseFloat(i).toExponential();break;case\"f\":i=o.precision?parseFloat(i).toFixed(o.precision):parseFloat(i);break;case\"g\":i=o.precision?String(Number(i.toPrecision(o.precision))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=o.precision?i.substring(0,o.precision):i;break;case\"t\":i=String(!!i),i=o.precision?i.substring(0,o.precision):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=o.precision?i.substring(0,o.precision):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=o.precision?i.substring(0,o.precision):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}e.json.test(o.type)?y+=i:(!e.number.test(o.type)||u&&!o.sign?f=\"\":(f=u?\"+\":\"-\",i=i.toString().replace(e.sign,\"\")),c=o.pad_char?\"0\"===o.pad_char?\"0\":o.pad_char.charAt(1):\" \",l=o.width-(f+i).length,p=o.width&&l>0?c.repeat(l):\"\",y+=o.align?f+i+p:\"0\"===c?f+p+i:p+f+i)}return y}var s=Object.create(null);function a(n){if(s[n])return s[n];for(var t,r=n,i=[],a=0;r;){if(null!==(t=e.text.exec(r)))i.push(t[0]);else if(null!==(t=e.modulo.exec(r)))i.push(\"%\");else{if(null===(t=e.placeholder.exec(r)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(t[2]){a|=1;var o=[],p=t[2],c=[];if(null===(c=e.key.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(o.push(c[1]);\"\"!==(p=p.substring(c[0].length));)if(null!==(c=e.key_access.exec(p)))o.push(c[1]);else{if(null===(c=e.index_access.exec(p)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");o.push(c[1])}t[2]=o}else a|=2;if(3===a)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");i.push({placeholder:t[0],param_no:t[1],keys:t[2],sign:t[3],pad_char:t[4],align:t[5],width:t[6],precision:t[7],type:t[8]})}r=r.substring(t[0].length)}return s[n]=i}void 0!==t&&(t.sprintf=n,t.vsprintf=r),\"undefined\"!=typeof window&&(window.sprintf=n,window.vsprintf=r,\"function\"==typeof define&&define.amd&&define((function(){return{sprintf:n,vsprintf:r}})))}()},\n", - " function _(e,n,i,a,s){var r;a();const t=e(9),c=e(148),m=e(156),_=e(157),k=e(160),o=e(161),T=e(159);class w extends m.CompositeTicker{constructor(e){super(e)}}i.DatetimeTicker=w,r=w,w.__name__=\"DatetimeTicker\",r.override({num_minor_ticks:0,tickers:()=>[new c.AdaptiveTicker({mantissas:[1,2,5],base:10,min_interval:0,max_interval:500*T.ONE_MILLI,num_minor_ticks:0}),new c.AdaptiveTicker({mantissas:[1,2,5,10,15,20,30],base:60,min_interval:T.ONE_SECOND,max_interval:30*T.ONE_MINUTE,num_minor_ticks:0}),new c.AdaptiveTicker({mantissas:[1,2,4,6,8,12],base:24,min_interval:T.ONE_HOUR,max_interval:12*T.ONE_HOUR,num_minor_ticks:0}),new _.DaysTicker({days:(0,t.range)(1,32)}),new _.DaysTicker({days:(0,t.range)(1,31,3)}),new _.DaysTicker({days:[1,8,15,22]}),new _.DaysTicker({days:[1,15]}),new k.MonthsTicker({months:(0,t.range)(0,12,1)}),new k.MonthsTicker({months:(0,t.range)(0,12,2)}),new k.MonthsTicker({months:(0,t.range)(0,12,4)}),new k.MonthsTicker({months:(0,t.range)(0,12,6)}),new o.YearsTicker({})]})},\n", - " function _(t,e,i,r,s){var n;r();const _=t(149),a=t(9);class l extends _.ContinuousTicker{constructor(t){super(t)}get min_intervals(){return this.tickers.map((t=>t.get_min_interval()))}get max_intervals(){return this.tickers.map((t=>t.get_max_interval()))}get_min_interval(){return this.min_intervals[0]}get_max_interval(){return this.max_intervals[0]}get_best_ticker(t,e,i){const r=e-t,s=this.get_ideal_interval(t,e,i),n=[(0,a.sorted_index)(this.min_intervals,s)-1,(0,a.sorted_index)(this.max_intervals,s)],_=[this.min_intervals[n[0]],this.max_intervals[n[1]]].map((t=>Math.abs(i-r/t)));let l;if((0,a.is_empty)(_.filter((t=>!isNaN(t)))))l=this.tickers[0];else{const t=n[(0,a.argmin)(_)];l=this.tickers[t]}return l}get_interval(t,e,i){return this.get_best_ticker(t,e,i).get_interval(t,e,i)}get_ticks_no_defaults(t,e,i,r){return this.get_best_ticker(t,e,r).get_ticks_no_defaults(t,e,i,r)}}i.CompositeTicker=l,n=l,l.__name__=\"CompositeTicker\",n.define((({Array:t,Ref:e})=>({tickers:[t(e(_.ContinuousTicker)),[]]})))},\n", - " function _(t,e,n,s,o){var a;s();const i=t(158),r=t(159),c=t(9);class _ extends i.SingleIntervalTicker{constructor(t){super(t)}initialize(){super.initialize();const t=this.days;t.length>1?this.interval=(t[1]-t[0])*r.ONE_DAY:this.interval=31*r.ONE_DAY}get_ticks_no_defaults(t,e,n,s){const o=function(t,e){const n=(0,r.last_month_no_later_than)(new Date(t)),s=(0,r.last_month_no_later_than)(new Date(e));s.setUTCMonth(s.getUTCMonth()+1);const o=[],a=n;for(;o.push((0,r.copy_date)(a)),a.setUTCMonth(a.getUTCMonth()+1),!(a>s););return o}(t,e),a=this.days,i=this.interval,_=(0,c.concat)(o.map((t=>((t,e)=>{const n=t.getUTCMonth(),s=[];for(const o of a){const a=(0,r.copy_date)(t);a.setUTCDate(o),new Date(a.getTime()+e/2).getUTCMonth()==n&&s.push(a)}return s})(t,i))));return{major:_.map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.DaysTicker=_,a=_,_.__name__=\"DaysTicker\",a.define((({Int:t,Array:e})=>({days:[e(t),[]]}))),a.override({num_minor_ticks:0})},\n", - " function _(e,n,t,r,i){var a;r();const l=e(149);class s extends l.ContinuousTicker{constructor(e){super(e)}get_interval(e,n,t){return this.interval}get_min_interval(){return this.interval}get_max_interval(){return this.interval}}t.SingleIntervalTicker=s,a=s,s.__name__=\"SingleIntervalTicker\",a.define((({Number:e})=>({interval:[e]})))},\n", - " function _(t,n,e,_,E){function N(t){return new Date(t.getTime())}function O(t){const n=N(t);return n.setUTCDate(1),n.setUTCHours(0),n.setUTCMinutes(0),n.setUTCSeconds(0),n.setUTCMilliseconds(0),n}_(),e.ONE_MILLI=1,e.ONE_SECOND=1e3,e.ONE_MINUTE=60*e.ONE_SECOND,e.ONE_HOUR=60*e.ONE_MINUTE,e.ONE_DAY=24*e.ONE_HOUR,e.ONE_MONTH=30*e.ONE_DAY,e.ONE_YEAR=365*e.ONE_DAY,e.copy_date=N,e.last_month_no_later_than=O,e.last_year_no_later_than=function(t){const n=O(t);return n.setUTCMonth(0),n}},\n", - " function _(t,e,n,a,r){var s;a();const i=t(158),o=t(159),l=t(9);class _ extends i.SingleIntervalTicker{constructor(t){super(t)}initialize(){super.initialize();const t=this.months;t.length>1?this.interval=(t[1]-t[0])*o.ONE_MONTH:this.interval=12*o.ONE_MONTH}get_ticks_no_defaults(t,e,n,a){const r=function(t,e){const n=(0,o.last_year_no_later_than)(new Date(t)),a=(0,o.last_year_no_later_than)(new Date(e));a.setUTCFullYear(a.getUTCFullYear()+1);const r=[],s=n;for(;r.push((0,o.copy_date)(s)),s.setUTCFullYear(s.getUTCFullYear()+1),!(s>a););return r}(t,e),s=this.months;return{major:(0,l.concat)(r.map((t=>s.map((e=>{const n=(0,o.copy_date)(t);return n.setUTCMonth(e),n}))))).map((t=>t.getTime())).filter((n=>t<=n&&n<=e)),minor:[]}}}n.MonthsTicker=_,s=_,_.__name__=\"MonthsTicker\",s.define((({Int:t,Array:e})=>({months:[e(t),[]]})))},\n", - " function _(e,t,a,i,r){i();const n=e(147),_=e(158),s=e(159);class c extends _.SingleIntervalTicker{constructor(e){super(e)}initialize(){super.initialize(),this.interval=s.ONE_YEAR,this.basic_ticker=new n.BasicTicker({num_minor_ticks:0})}get_ticks_no_defaults(e,t,a,i){const r=(0,s.last_year_no_later_than)(new Date(e)).getUTCFullYear(),n=(0,s.last_year_no_later_than)(new Date(t)).getUTCFullYear();return{major:this.basic_ticker.get_ticks_no_defaults(r,n,a,i).major.map((e=>Date.UTC(e,0,1))).filter((a=>e<=a&&a<=t)),minor:[]}}}a.YearsTicker=c,c.__name__=\"YearsTicker\"},\n", - " function _(e,o,i,s,t){var n;s();const r=e(143),_=e(163),c=e(164);class a extends r.ContinuousAxisView{}i.LogAxisView=a,a.__name__=\"LogAxisView\";class u extends r.ContinuousAxis{constructor(e){super(e)}}i.LogAxis=u,n=u,u.__name__=\"LogAxis\",n.prototype.default_view=a,n.override({ticker:()=>new c.LogTicker,formatter:()=>new _.LogTickFormatter})},\n", - " function _(e,t,n,o,r){var i;o();const a=e(131),s=e(146),c=e(164),l=e(120),{abs:u,log:x,round:_}=Math;class p extends a.TickFormatter{constructor(e){super(e)}initialize(){super.initialize(),this.basic_formatter=new s.BasicTickFormatter}format_graphics(e,t){var n,o;if(0==e.length)return[];const r=null!==(o=null===(n=this.ticker)||void 0===n?void 0:n.base)&&void 0!==o?o:10,i=this._exponents(e,r);return null==i?this.basic_formatter.format_graphics(e,t):i.map((e=>{if(u(e)u(e)({ticker:[n(t(c.LogTicker)),null],min_exponent:[e,0]})))},\n", - " function _(t,o,e,s,n){var r;s();const i=t(148),a=t(9);class c extends i.AdaptiveTicker{constructor(t){super(t)}get_ticks_no_defaults(t,o,e,s){const n=this.num_minor_ticks,r=[],i=this.base,c=Math.log(t)/Math.log(i),f=Math.log(o)/Math.log(i),l=f-c;let h;if(isFinite(l))if(l<2){const e=this.get_interval(t,o,s),i=Math.floor(t/e),c=Math.ceil(o/e);if(h=(0,a.range)(i,c+1).filter((t=>0!=t)).map((t=>t*e)).filter((e=>t<=e&&e<=o)),n>0&&h.length>0){const t=e/n,o=(0,a.range)(0,n).map((o=>o*t));for(const t of o.slice(1))r.push(h[0]-t);for(const t of h)for(const e of o)r.push(t+e)}}else{const t=Math.ceil(.999999*c),o=Math.floor(1.000001*f),e=Math.ceil((o-t)/9);if(h=(0,a.range)(t-1,o+1,e).map((t=>i**t)),n>0&&h.length>0){const t=i**e/n,o=(0,a.range)(1,n+1).map((o=>o*t));for(const t of o)r.push(h[0]/t);r.push(h[0]);for(const t of h)for(const e of o)r.push(t*e)}}else h=[];return{major:h.filter((e=>t<=e&&e<=o)),minor:r.filter((e=>t<=e&&e<=o))}}}e.LogTicker=c,r=c,c.__name__=\"LogTicker\",r.override({mantissas:[1,5]})},\n", - " function _(e,r,t,i,a){var o;i();const s=e(128),c=e(145),n=e(166),_=e(167);class x extends s.AxisView{}t.MercatorAxisView=x,x.__name__=\"MercatorAxisView\";class d extends c.LinearAxis{constructor(e){super(e)}}t.MercatorAxis=d,o=d,d.__name__=\"MercatorAxis\",o.prototype.default_view=x,o.override({ticker:()=>new _.MercatorTicker({dimension:\"lat\"}),formatter:()=>new n.MercatorTickFormatter({dimension:\"lat\"})})},\n", - " function _(r,t,e,o,n){var i;o();const c=r(146),s=r(20),a=r(78);class l extends c.BasicTickFormatter{constructor(r){super(r)}doFormat(r,t){if(null==this.dimension)throw new Error(\"MercatorTickFormatter.dimension not configured\");if(0==r.length)return[];const e=r.length,o=new Array(e);if(\"lon\"==this.dimension)for(let n=0;n({dimension:[r(s.LatLon),null]})))},\n", - " function _(t,o,n,s,r){var e;s();const i=t(147),c=t(20),_=t(78);class a extends i.BasicTicker{constructor(t){super(t)}get_ticks_no_defaults(t,o,n,s){if(null==this.dimension)throw new Error(`${this}.dimension wasn't configured`);return[t,o]=(0,_.clip_mercator)(t,o,this.dimension),\"lon\"==this.dimension?this._get_ticks_lon(t,o,n,s):this._get_ticks_lat(t,o,n,s)}_get_ticks_lon(t,o,n,s){const[r]=_.wgs84_mercator.invert(t,n),[e,i]=_.wgs84_mercator.invert(o,n),c=super.get_ticks_no_defaults(r,e,n,s),a=[];for(const t of c.major)if((0,_.in_bounds)(t,\"lon\")){const[o]=_.wgs84_mercator.compute(t,i);a.push(o)}const m=[];for(const t of c.minor)if((0,_.in_bounds)(t,\"lon\")){const[o]=_.wgs84_mercator.compute(t,i);m.push(o)}return{major:a,minor:m}}_get_ticks_lat(t,o,n,s){const[,r]=_.wgs84_mercator.invert(n,t),[e,i]=_.wgs84_mercator.invert(n,o),c=super.get_ticks_no_defaults(r,i,n,s),a=[];for(const t of c.major)if((0,_.in_bounds)(t,\"lat\")){const[,o]=_.wgs84_mercator.compute(e,t);a.push(o)}const m=[];for(const t of c.minor)if((0,_.in_bounds)(t,\"lat\")){const[,o]=_.wgs84_mercator.compute(e,t);m.push(o)}return{major:a,minor:m}}}n.MercatorTicker=a,e=a,a.__name__=\"MercatorTicker\",e.define((({Nullable:t})=>({dimension:[t(c.LatLon),null]})))},\n", - " function _(e,i,r,c,k){c(),k(\"AdaptiveTicker\",e(148).AdaptiveTicker),k(\"BasicTicker\",e(147).BasicTicker),k(\"CategoricalTicker\",e(141).CategoricalTicker),k(\"CompositeTicker\",e(156).CompositeTicker),k(\"ContinuousTicker\",e(149).ContinuousTicker),k(\"DatetimeTicker\",e(155).DatetimeTicker),k(\"DaysTicker\",e(157).DaysTicker),k(\"FixedTicker\",e(169).FixedTicker),k(\"LogTicker\",e(164).LogTicker),k(\"MercatorTicker\",e(167).MercatorTicker),k(\"MonthsTicker\",e(160).MonthsTicker),k(\"SingleIntervalTicker\",e(158).SingleIntervalTicker),k(\"Ticker\",e(130).Ticker),k(\"YearsTicker\",e(161).YearsTicker),k(\"BinnedTicker\",e(170).BinnedTicker)},\n", - " function _(r,t,e,i,n){var s;i();const _=r(149);class c extends _.ContinuousTicker{constructor(r){super(r)}get_ticks_no_defaults(r,t,e,i){return{major:this.ticks,minor:this.minor_ticks}}get_interval(r,t,e){return 0}get_min_interval(){return 0}get_max_interval(){return 0}}e.FixedTicker=c,s=c,c.__name__=\"FixedTicker\",s.define((({Number:r,Array:t})=>({ticks:[t(r),[]],minor_ticks:[t(r),[]]})))},\n", - " function _(e,n,t,r,i){var o;r();const a=e(130),s=e(171),c=e(12);class m extends a.Ticker{constructor(e){super(e)}get_ticks(e,n,t,r){const{binning:i}=this.mapper.metrics,o=Math.max(0,(0,c.left_edge_index)(e,i)),a=Math.min((0,c.left_edge_index)(n,i)+1,i.length-1),s=[];for(let e=o;e<=a;e++)s.push(i[e]);const{num_major_ticks:m}=this,_=[],h=\"auto\"==m?s.length:m,l=Math.max(1,Math.floor(s.length/h));for(let e=0;e({mapper:[n(s.ScanningColorMapper)],num_major_ticks:[t(e,r),8]})))},\n", - " function _(n,e,i,r,o){r();const t=n(172),a=n(12);class c extends t.ContinuousColorMapper{constructor(n){super(n)}cmap(n,e,i,r,o){if(no.binning[o.binning.length-1])return r;return e[(0,a.left_edge_index)(n,o.binning)]}}i.ScanningColorMapper=c,c.__name__=\"ScanningColorMapper\"},\n", - " function _(t,e,o,n,s){var l;n();const c=t(173),i=t(175),a=t(9),h=t(8);class r extends c.ColorMapper{constructor(t){super(t),this._scan_data=null}connect_signals(){super.connect_signals();const t=()=>{for(const[t]of this.domain)this.connect(t.view.change,(()=>this.update_data())),this.connect(t.data_source.selected.change,(()=>this.update_data()))};this.connect(this.properties.domain.change,(()=>t())),t()}update_data(){const{domain:t,palette:e}=this,o=[...this._collect(t)];this._scan_data=this.scan(o,e.length),this.metrics_change.emit(),this.change.emit()}get metrics(){return null==this._scan_data&&this.update_data(),this._scan_data}*_collect(t){for(const[e,o]of t)for(const t of(0,h.isArray)(o)?o:[o]){let o=e.data_source.get_column(t);o=e.view.indices.select(o);const n=e.view.masked,s=e.data_source.selected.indices;let l;if(null!=n&&s.length>0?l=(0,a.intersection)([...n],s):null!=n?l=[...n]:s.length>0&&(l=s),null!=l&&(o=(0,a.map)(l,(t=>o[t]))),o.length>0&&!(0,h.isNumber)(o[0]))for(const t of o)yield*t;else yield*o}}_v_compute(t,e,o,n){const{nan_color:s}=n;let{low_color:l,high_color:c}=n;null==l&&(l=o[0]),null==c&&(c=o[o.length-1]);const{domain:i}=this,h=(0,a.is_empty)(i)?t:[...this._collect(i)];this._scan_data=this.scan(h,o.length),this.metrics_change.emit();for(let n=0,i=t.length;n({high:[a(t),null],low:[a(t),null],high_color:[a(n),null],low_color:[a(n),null],domain:[c(l(o(i.GlyphRenderer),s(e,c(e)))),[]]})))},\n", - " function _(e,r,t,n,o){var a;n();const c=e(174),i=e(15),_=e(24),l=e(22),s=e(27);function p(e){return(0,l.encode_rgba)((0,l.color2rgba)(e))}function u(e){const r=new Uint32Array(e.length);for(let t=0,n=e.length;te))),r}get rgba_mapper(){const e=this,r=u(this.palette),t=this._colors(p);return{v_compute(n){const o=new _.ColorArray(n.length);return e._v_compute(n,o,r,t),new Uint8ClampedArray((0,s.to_big_endian)(o).buffer)}}}_colors(e){return{nan_color:e(this.nan_color)}}}t.ColorMapper=h,a=h,h.__name__=\"ColorMapper\",a.define((({Color:e,Array:r})=>({palette:[r(e)],nan_color:[e,\"gray\"]})))},\n", - " function _(r,e,n,s,o){s();const p=r(56);class t extends p.Transform{constructor(r){super(r)}compute(r){throw new Error(\"mapping single values is not supported\")}}n.Mapper=t,t.__name__=\"Mapper\"},\n", - " function _(e,t,i,s,l){var h;s();const n=e(176),o=e(177),a=e(186),c=e(187),_=e(189),r=e(179),d=e(70),p=e(190),g=e(24),u=e(12),y=e(13),m=e(113),v=e(67),f={fill:{},line:{}},w={fill:{fill_alpha:.3,fill_color:\"grey\"},line:{line_alpha:.3,line_color:\"grey\"}},b={fill:{fill_alpha:.2},line:{}},V={fill:{},line:{}},x={fill:{fill_alpha:.2},line:{}};class G extends n.DataRendererView{get glyph_view(){return this.glyph}async lazy_initialize(){var e;await super.lazy_initialize();const t=this.model.glyph;this.glyph=await this.build_glyph_view(t);const i=\"fill\"in this.glyph.visuals,s=\"line\"in this.glyph.visuals,l=Object.assign({},t.attributes);function h(e){const h=(0,y.clone)(l);return i&&(0,y.extend)(h,e.fill),s&&(0,y.extend)(h,e.line),new t.constructor(h)}function n(e,t){return t instanceof r.Glyph?t:h(\"auto\"==t?e:{fill:{},line:{}})}delete l.id;let{selection_glyph:o,nonselection_glyph:a,hover_glyph:c,muted_glyph:_}=this.model;o=n(f,o),this.selection_glyph=await this.build_glyph_view(o),a=n(b,a),this.nonselection_glyph=await this.build_glyph_view(a),c=n(V,c),this.hover_glyph=await this.build_glyph_view(c),_=n(x,_),this.muted_glyph=await this.build_glyph_view(_);const d=n(w,\"auto\");this.decimated_glyph=await this.build_glyph_view(d),this.selection_glyph.set_base(this.glyph),this.nonselection_glyph.set_base(this.glyph),null===(e=this.hover_glyph)||void 0===e||e.set_base(this.glyph),this.muted_glyph.set_base(this.glyph),this.decimated_glyph.set_base(this.glyph),this.set_data()}async build_glyph_view(e){return(0,m.build_view)(e,{parent:this})}remove(){var e;this.glyph.remove(),this.selection_glyph.remove(),this.nonselection_glyph.remove(),null===(e=this.hover_glyph)||void 0===e||e.remove(),this.muted_glyph.remove(),this.decimated_glyph.remove(),super.remove()}connect_signals(){super.connect_signals();const e=()=>this.request_render(),t=()=>this.update_data();this.connect(this.model.change,e),this.connect(this.glyph.model.change,t),this.connect(this.selection_glyph.model.change,t),this.connect(this.nonselection_glyph.model.change,t),null!=this.hover_glyph&&this.connect(this.hover_glyph.model.change,t),this.connect(this.muted_glyph.model.change,t),this.connect(this.decimated_glyph.model.change,t),this.connect(this.model.data_source.change,t),this.connect(this.model.data_source.streaming,t),this.connect(this.model.data_source.patching,(e=>this.update_data(e))),this.connect(this.model.data_source.selected.change,e),this.connect(this.model.data_source._select,e),null!=this.hover_glyph&&this.connect(this.model.data_source.inspect,e),this.connect(this.model.properties.view.change,t),this.connect(this.model.view.properties.indices.change,t),this.connect(this.model.view.properties.masked.change,(()=>this.set_visuals())),this.connect(this.model.properties.visible.change,(()=>this.plot_view.invalidate_dataranges=!0));const{x_ranges:i,y_ranges:s}=this.plot_view.frame;for(const[,e]of i)e instanceof v.FactorRange&&this.connect(e.change,t);for(const[,e]of s)e instanceof v.FactorRange&&this.connect(e.change,t);const{transformchange:l,exprchange:h}=this.model.glyph;this.connect(l,t),this.connect(h,t)}_update_masked_indices(){const e=this.glyph.mask_data();return this.model.view.masked=e,e}update_data(e){this.set_data(e),this.request_render()}set_data(e){const t=this.model.data_source;this.all_indices=this.model.view.indices;const{all_indices:i}=this;this.glyph.set_data(t,i,e),this.set_visuals(),this._update_masked_indices();const{lod_factor:s}=this.plot_model,l=this.all_indices.count;this.decimated=new g.Indices(l);for(let e=0;e!n||n.is_empty()?[]:n.selected_glyph?this.model.view.convert_indices_from_subset(i):n.indices.length>0?n.indices:Object.keys(n.multiline_indices).map((e=>parseInt(e))))()),d=(0,u.filter)(i,(e=>r.has(t[e]))),{lod_threshold:p}=this.plot_model;let g,y,m;if(null!=this.model.document&&this.model.document.interactive_duration()>0&&!e&&null!=p&&t.length>p?(i=[...this.decimated],g=this.decimated_glyph,y=this.decimated_glyph,m=this.selection_glyph):(g=this.model.muted&&null!=this.muted_glyph?this.muted_glyph:this.glyph,y=this.nonselection_glyph,m=this.selection_glyph),null!=this.hover_glyph&&d.length){const e=new Set(i);for(const t of d)e.delete(t);i=[...e]}if(h.length){const e={};for(const t of h)e[t]=!0;const l=new Array,n=new Array;if(this.glyph instanceof o.LineView)for(const i of t)null!=e[i]?l.push(i):n.push(i);else for(const s of i)null!=e[t[s]]?l.push(s):n.push(s);y.render(s,n),m.render(s,l),null!=this.hover_glyph&&(this.glyph instanceof o.LineView?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(d)):this.hover_glyph.render(s,d))}else if(this.glyph instanceof o.LineView)this.hover_glyph&&d.length?this.hover_glyph.render(s,this.model.view.convert_indices_from_subset(d)):g.render(s,t);else if(this.glyph instanceof a.PatchView||this.glyph instanceof c.HAreaView||this.glyph instanceof _.VAreaView)if(0==n.selected_glyphs.length||null==this.hover_glyph)g.render(s,t);else for(const e of n.selected_glyphs)e==this.glyph.model&&this.hover_glyph.render(s,t);else g.render(s,i),this.hover_glyph&&d.length&&this.hover_glyph.render(s,d);s.restore()}draw_legend(e,t,i,s,l,h,n,o){0!=this.glyph.data_size&&(null==o&&(o=this.model.get_reference_point(h,n)),this.glyph.draw_legend_for_index(e,{x0:t,x1:i,y0:s,y1:l},o))}hit_test(e){if(!this.model.visible)return null;const t=this.glyph.hit_test(e);return null==t?null:this.model.view.convert_selection_from_subset(t)}}i.GlyphRendererView=G,G.__name__=\"GlyphRendererView\";class R extends n.DataRenderer{constructor(e){super(e)}initialize(){super.initialize(),this.view.source!=this.data_source&&(this.view.source=this.data_source,this.view.compute_indices())}get_reference_point(e,t){if(null!=e){const i=this.data_source.get_column(e);if(null!=i)for(const[e,s]of Object.entries(this.view.indices_map))if(i[parseInt(e)]==t)return s}return 0}get_selection_manager(){return this.data_source.selection_manager}}i.GlyphRenderer=R,h=R,R.__name__=\"GlyphRenderer\",h.prototype.default_view=G,h.define((({Boolean:e,Auto:t,Or:i,Ref:s,Null:l,Nullable:h})=>({data_source:[s(d.ColumnarDataSource)],view:[s(p.CDSView),e=>new p.CDSView({source:e.data_source})],glyph:[s(r.Glyph)],hover_glyph:[h(s(r.Glyph)),null],nonselection_glyph:[i(s(r.Glyph),t,l),\"auto\"],selection_glyph:[i(s(r.Glyph),t,l),\"auto\"],muted_glyph:[i(s(r.Glyph),t,l),\"auto\"],muted:[e,!1]})))},\n", - " function _(e,r,t,a,n){var s;a();const c=e(41);class _ extends c.RendererView{get xscale(){return this.coordinates.x_scale}get yscale(){return this.coordinates.y_scale}}t.DataRendererView=_,_.__name__=\"DataRendererView\";class i extends c.Renderer{constructor(e){super(e)}get selection_manager(){return this.get_selection_manager()}}t.DataRenderer=i,s=i,i.__name__=\"DataRenderer\",s.override({level:\"glyph\"})},\n", - " function _(e,t,i,s,n){s();const l=e(1);var _;const r=e(178),o=e(184),a=(0,l.__importStar)(e(48)),h=(0,l.__importStar)(e(185)),c=e(72);class d extends r.XYGlyphView{async lazy_initialize(){await super.lazy_initialize();const{webgl:t}=this.renderer.plot_view.canvas_view;if(null==t?void 0:t.regl_wrapper.has_webgl){const{LineGL:i}=await Promise.resolve().then((()=>(0,l.__importStar)(e(421))));this.glglyph=new i(t.regl_wrapper,this)}}_render(e,t,i){const{sx:s,sy:n}=null!=i?i:this;let l=null;const _=e=>null!=l&&e-l!=1;let r=!0;e.beginPath();for(const i of t){const t=s[i],o=n[i];isFinite(t+o)?r||_(i)?(e.moveTo(t,o),r=!1):e.lineTo(t,o):r=!0,l=i}this.visuals.line.set_value(e),e.stroke()}_hit_point(e){const t=new c.Selection,i={x:e.sx,y:e.sy};let s=9999;const n=Math.max(2,this.line_width.value/2);for(let e=0,l=this.sx.length-1;e({x:[c.XCoordinateSpec,{field:\"x\"}],y:[c.YCoordinateSpec,{field:\"y\"}]})))},\n", - " function _(e,t,s,i,n){i();const r=e(1),a=(0,r.__importStar)(e(18)),o=(0,r.__importStar)(e(65)),_=(0,r.__importStar)(e(45)),l=e(42),c=e(53),h=e(19),d=e(24),u=e(8),f=e(180),p=e(12),g=e(26),y=e(181),x=e(67),v=e(72),{abs:b,ceil:m}=Math;class w extends l.View{constructor(){super(...arguments),this._index=null,this._data_size=null,this._nohit_warned=new Set}get renderer(){return this.parent}get has_webgl(){return null!=this.glglyph}get index(){const{_index:e}=this;if(null!=e)return e;throw new Error(`${this}.index_data() wasn't called`)}get data_size(){const{_data_size:e}=this;if(null!=e)return e;throw new Error(`${this}.set_data() wasn't called`)}initialize(){super.initialize(),this.visuals=new _.Visuals(this)}request_render(){this.parent.request_render()}get canvas(){return this.renderer.parent.canvas_view}render(e,t,s){var i;null!=this.glglyph&&(this.renderer.needs_webgl_blit=this.glglyph.render(e,t,null!==(i=this.base)&&void 0!==i?i:this),this.renderer.needs_webgl_blit)||this._render(e,t,null!=s?s:this.base)}has_finished(){return!0}notify_finished(){this.renderer.notify_finished()}_bounds(e){return e}bounds(){return this._bounds(this.index.bbox)}log_bounds(){const{x0:e,x1:t}=this.index.bounds(o.positive_x()),{y0:s,y1:i}=this.index.bounds(o.positive_y());return this._bounds({x0:e,y0:s,x1:t,y1:i})}get_anchor_point(e,t,[s,i]){switch(e){case\"center\":case\"center_center\":{const[e,n]=this.scenterxy(t,s,i);return{x:e,y:n}}default:return null}}scenterx(e,t,s){return this.scenterxy(e,t,s)[0]}scentery(e,t,s){return this.scenterxy(e,t,s)[1]}sdist(e,t,s,i=\"edge\",n=!1){const r=t.length,a=new d.ScreenArray(r),o=e.s_compute;if(\"center\"==i)for(let e=0;em(e))),a}draw_legend_for_index(e,t,s){}hit_test(e){switch(e.type){case\"point\":if(null!=this._hit_point)return this._hit_point(e);break;case\"span\":if(null!=this._hit_span)return this._hit_span(e);break;case\"rect\":if(null!=this._hit_rect)return this._hit_rect(e);break;case\"poly\":if(null!=this._hit_poly)return this._hit_poly(e)}return this._nohit_warned.has(e.type)||(h.logger.debug(`'${e.type}' selection not available for ${this.model.type}`),this._nohit_warned.add(e.type)),null}_hit_rect_against_index(e){const{sx0:t,sx1:s,sy0:i,sy1:n}=e,[r,a]=this.renderer.coordinates.x_scale.r_invert(t,s),[o,_]=this.renderer.coordinates.y_scale.r_invert(i,n),l=[...this.index.indices({x0:r,x1:a,y0:o,y1:_})];return new v.Selection({indices:l})}_project_data(){}*_iter_visuals(){for(const e of this.visuals)for(const t of e)(t instanceof a.VectorSpec||t instanceof a.ScalarSpec)&&(yield t)}set_base(e){e!=this&&e instanceof this.constructor&&(this.base=e)}_configure(e,t){Object.defineProperty(this,(0,u.isString)(e)?e:e.attr,Object.assign({configurable:!0,enumerable:!0},t))}set_visuals(e,t){var s;for(const s of this._iter_visuals()){const{base:i}=this;if(null!=i){const e=i.model.properties[s.attr];if(null!=e&&(0,g.is_equal)(s.get_value(),e.get_value())){this._configure(s,{get:()=>i[`${s.attr}`]});continue}}const n=s.uniform(e).select(t);this._configure(s,{value:n})}for(const e of this.visuals)e.update();this._set_visuals(),null===(s=this.glglyph)||void 0===s||s.set_visuals_changed()}_set_visuals(){}set_data(e,t,s){var i;const{x_source:n,y_source:r}=this.renderer.coordinates,o=new Set(this._iter_visuals());this._data_size=t.count;for(const s of this.model)if((s instanceof a.VectorSpec||s instanceof a.ScalarSpec)&&!o.has(s))if(s instanceof a.BaseCoordinateSpec){const i=s.array(e);let o=t.select(i);const _=\"x\"==s.dimension?n:r;if(_ instanceof x.FactorRange)if(s instanceof a.CoordinateSpec)o=_.v_synthetic(o);else if(s instanceof a.CoordinateSeqSpec)for(let e=0;e{const s=new Uint32Array(r);for(let a=0;a>1;t[s]>i?e=s:n=s+1}return t[n]}class r extends d.default{get boxes(){return this._boxes}search_indices(i,t,n,e){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let s=this._boxes.length-4;const d=[],x=new o.Indices(this.numItems);for(;void 0!==s;){const o=Math.min(s+4*this.nodeSize,h(s,this._levelBounds));for(let h=s;h>2],r=this._boxes[h+0],l=this._boxes[h+1],a=this._boxes[h+2],_=this._boxes[h+3];na||t>_||(s<4*this.numItems?x.set(o):d.push(o)))}s=d.pop()}return x}}r.__name__=\"_FlatBush\";class l{constructor(i){this.index=null,i>0&&(this.index=new r(i))}add_rect(i,t,n,e){var s;isFinite(i+t+n+e)?null===(s=this.index)||void 0===s||s.add(i,t,n,e):this.add_empty()}add_point(i,t){var n;isFinite(i+t)?null===(n=this.index)||void 0===n||n.add(i,t,i,t):this.add_empty()}add_empty(){var i;null===(i=this.index)||void 0===i||i.add(1/0,1/0,-1/0,-1/0)}finish(){var i;null===(i=this.index)||void 0===i||i.finish()}_normalize(i){let{x0:t,y0:n,x1:e,y1:s}=i;return t>e&&([t,e]=[e,t]),n>s&&([n,s]=[s,n]),{x0:t,y0:n,x1:e,y1:s}}get bbox(){if(null==this.index)return(0,x.empty)();{const{minX:i,minY:t,maxX:n,maxY:e}=this.index;return{x0:i,y0:t,x1:n,y1:e}}}indices(i){if(null==this.index)return new o.Indices(0);{const{x0:t,y0:n,x1:e,y1:s}=this._normalize(i);return this.index.search_indices(t,n,e,s)}}bounds(i){const t=(0,x.empty)();if(null==this.index)return t;const{boxes:n}=this.index;for(const e of this.indices(i)){const s=n[4*e+0],d=n[4*e+1],o=n[4*e+2],x=n[4*e+3];s>=i.x0&&st.x1&&(t.x1=o),d>=i.y0&&dt.y1&&(t.y1=x)}return t}}n.SpatialIndex=l,l.__name__=\"SpatialIndex\"},\n", - " function _(t,s,i,e,h){e();const n=(0,t(1).__importDefault)(t(183)),o=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class r{static from(t){if(!(t instanceof ArrayBuffer))throw new Error(\"Data must be an instance of ArrayBuffer.\");const[s,i]=new Uint8Array(t,0,2);if(251!==s)throw new Error(\"Data does not appear to be in a Flatbush format.\");if(i>>4!=3)throw new Error(`Got v${i>>4} data when expected v3.`);const[e]=new Uint16Array(t,2,1),[h]=new Uint32Array(t,4,1);return new r(h,e,o[15&i],t)}constructor(t,s=16,i=Float64Array,e){if(void 0===t)throw new Error(\"Missing required argument: numItems.\");if(isNaN(t)||t<=0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+s,2),65535);let h=t,r=h;this._levelBounds=[4*h];do{h=Math.ceil(h/this.nodeSize),r+=h,this._levelBounds.push(4*r)}while(1!==h);this.ArrayType=i||Float64Array,this.IndexArrayType=r<16384?Uint16Array:Uint32Array;const a=o.indexOf(this.ArrayType),_=4*r*this.ArrayType.BYTES_PER_ELEMENT;if(a<0)throw new Error(`Unexpected typed array class: ${i}.`);e&&e instanceof ArrayBuffer?(this.data=e,this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=4*r,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1]):(this.data=new ArrayBuffer(8+_+r*this.IndexArrayType.BYTES_PER_ELEMENT),this._boxes=new this.ArrayType(this.data,8,4*r),this._indices=new this.IndexArrayType(this.data,8+_,r),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(this.data,0,2).set([251,48+a]),new Uint16Array(this.data,2,1)[0]=s,new Uint32Array(this.data,4,1)[0]=t),this._queue=new n.default}add(t,s,i,e){const h=this._pos>>2;return this._indices[h]=h,this._boxes[this._pos++]=t,this._boxes[this._pos++]=s,this._boxes[this._pos++]=i,this._boxes[this._pos++]=e,tthis.maxX&&(this.maxX=i),e>this.maxY&&(this.maxY=e),h}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);if(this.numItems<=this.nodeSize)return this._boxes[this._pos++]=this.minX,this._boxes[this._pos++]=this.minY,this._boxes[this._pos++]=this.maxX,void(this._boxes[this._pos++]=this.maxY);const t=this.maxX-this.minX,s=this.maxY-this.minY,i=new Uint32Array(this.numItems);for(let e=0;e>2]=t,this._boxes[this._pos++]=e,this._boxes[this._pos++]=h,this._boxes[this._pos++]=n,this._boxes[this._pos++]=o}}}search(t,s,i,e,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const o=[],r=[];for(;void 0!==n;){const a=Math.min(n+4*this.nodeSize,_(n,this._levelBounds));for(let _=n;_>2];ithis._boxes[_+2]||s>this._boxes[_+3]||(n<4*this.numItems?(void 0===h||h(a))&&r.push(a):o.push(a)))}n=o.pop()}return r}neighbors(t,s,i=1/0,e=1/0,h){if(this._pos!==this._boxes.length)throw new Error(\"Data not yet indexed - call index.finish().\");let n=this._boxes.length-4;const o=this._queue,r=[],x=e*e;for(;void 0!==n;){const e=Math.min(n+4*this.nodeSize,_(n,this._levelBounds));for(let i=n;i>2],r=a(t,this._boxes[i],this._boxes[i+2]),_=a(s,this._boxes[i+1],this._boxes[i+3]),x=r*r+_*_;n<4*this.numItems?(void 0===h||h(e))&&o.push(-e-1,x):o.push(e,x)}for(;o.length&&o.peek()<0;){if(o.peekValue()>x)return o.clear(),r;if(r.push(-o.pop()-1),r.length===i)return o.clear(),r}n=o.pop()}return o.clear(),r}}function a(t,s,i){return t>1;s[h]>t?e=h:i=h+1}return s[i]}function x(t,s,i,e,h,n){if(Math.floor(e/n)>=Math.floor(h/n))return;const o=t[e+h>>1];let r=e-1,a=h+1;for(;;){do{r++}while(t[r]o);if(r>=a)break;d(t,s,i,r,a)}x(t,s,i,e,a,n),x(t,s,i,a+1,h,n)}function d(t,s,i,e,h){const n=t[e];t[e]=t[h],t[h]=n;const o=4*e,r=4*h,a=s[o],_=s[o+1],x=s[o+2],d=s[o+3];s[o]=s[r],s[o+1]=s[r+1],s[o+2]=s[r+2],s[o+3]=s[r+3],s[r]=a,s[r+1]=_,s[r+2]=x,s[r+3]=d;const m=i[e];i[e]=i[h],i[h]=m}function m(t,s){let i=t^s,e=65535^i,h=65535^(t|s),n=t&(65535^s),o=i|e>>1,r=i>>1^i,a=h>>1^e&n>>1^h,_=i&h>>1^n>>1^n;i=o,e=r,h=a,n=_,o=i&i>>2^e&e>>2,r=i&e>>2^e&(i^e)>>2,a^=i&h>>2^e&n>>2,_^=e&h>>2^(i^e)&n>>2,i=o,e=r,h=a,n=_,o=i&i>>4^e&e>>4,r=i&e>>4^e&(i^e)>>4,a^=i&h>>4^e&n>>4,_^=e&h>>4^(i^e)&n>>4,i=o,e=r,h=a,n=_,a^=i&h>>8^e&n>>8,_^=e&h>>8^(i^e)&n>>8,i=a^a>>1,e=_^_>>1;let x=t^s,d=e|65535^(x|i);return x=16711935&(x|x<<8),x=252645135&(x|x<<4),x=858993459&(x|x<<2),x=1431655765&(x|x<<1),d=16711935&(d|d<<8),d=252645135&(d|d<<4),d=858993459&(d|d<<2),d=1431655765&(d|d<<1),(d<<1|x)>>>0}i.default=r},\n", - " function _(s,t,i,h,e){h();i.default=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(s,t){let i=this.length++;for(this.ids[i]=s,this.values[i]=t;i>0;){const s=i-1>>1,h=this.values[s];if(t>=h)break;this.ids[i]=this.ids[s],this.values[i]=h,i=s}this.ids[i]=s,this.values[i]=t}pop(){if(0===this.length)return;const s=this.ids[0];if(this.length--,this.length>0){const s=this.ids[0]=this.ids[this.length],t=this.values[0]=this.values[this.length],i=this.length>>1;let h=0;for(;h=t)break;this.ids[h]=e,this.values[h]=l,h=s}this.ids[h]=s,this.values[h]=t}return s}peek(){if(0!==this.length)return this.ids[0]}peekValue(){if(0!==this.length)return this.values[0]}}},\n", - " function _(e,n,a,t,i){t();const l=(0,e(1).__importStar)(e(185));function r(e,n,{x0:a,x1:t,y0:i,y1:l},r){n.save(),n.beginPath(),n.moveTo(a,(i+l)/2),n.lineTo(t,(i+l)/2),e.line.apply(n,r),n.restore()}function c(e,n,{x0:a,x1:t,y0:i,y1:l},r){var c,o;const _=.1*Math.abs(t-a),s=.1*Math.abs(l-i),y=a+_,p=t-_,g=i+s,h=l-s;n.beginPath(),n.rect(y,g,p-y,h-g),e.fill.apply(n,r),null===(c=e.hatch)||void 0===c||c.apply(n,r),null===(o=e.line)||void 0===o||o.apply(n,r)}a.generic_line_scalar_legend=function(e,n,{x0:a,x1:t,y0:i,y1:l}){n.save(),n.beginPath(),n.moveTo(a,(i+l)/2),n.lineTo(t,(i+l)/2),e.line.apply(n),n.restore()},a.generic_line_vector_legend=r,a.generic_line_legend=r,a.generic_area_scalar_legend=function(e,n,{x0:a,x1:t,y0:i,y1:l}){var r,c;const o=.1*Math.abs(t-a),_=.1*Math.abs(l-i),s=a+o,y=t-o,p=i+_,g=l-_;n.beginPath(),n.rect(s,p,y-s,g-p),e.fill.apply(n),null===(r=e.hatch)||void 0===r||r.apply(n),null===(c=e.line)||void 0===c||c.apply(n)},a.generic_area_vector_legend=c,a.generic_area_legend=c,a.line_interpolation=function(e,n,a,t,i,r){const{sx:c,sy:o}=n;let _,s,y,p;\"point\"==n.type?([y,p]=e.yscale.r_invert(o-1,o+1),[_,s]=e.xscale.r_invert(c-1,c+1)):\"v\"==n.direction?([y,p]=e.yscale.r_invert(o,o),[_,s]=[Math.min(a-1,i-1),Math.max(a+1,i+1)]):([_,s]=e.xscale.r_invert(c,c),[y,p]=[Math.min(t-1,r-1),Math.max(t+1,r+1)]);const{x:g,y:h}=l.check_2_segments_intersect(_,y,s,p,a,t,i,r);return[g,h]}},\n", - " function _(t,n,e,i,r){function s(t,n){return(t.x-n.x)**2+(t.y-n.y)**2}function o(t,n,e){const i=s(n,e);if(0==i)return s(t,n);const r=((t.x-n.x)*(e.x-n.x)+(t.y-n.y)*(e.y-n.y))/i;if(r<0)return s(t,n);if(r>1)return s(t,e);return s(t,{x:n.x+r*(e.x-n.x),y:n.y+r*(e.y-n.y)})}i(),e.point_in_poly=function(t,n,e,i){let r=!1,s=e[e.length-1],o=i[i.length-1];for(let u=0;u0&&_<1&&h>0&&h<1,x:t+_*(e-t),y:n+_*(i-n)}}}},\n", - " function _(t,s,e,i,a){i();const l=t(1);var n;const _=t(178),o=t(184),c=(0,l.__importStar)(t(185)),h=(0,l.__importStar)(t(48)),r=t(72);class p extends _.XYGlyphView{_render(t,s,e){const{sx:i,sy:a}=null!=e?e:this;let l=!0;t.beginPath();for(const e of s){const s=i[e],n=a[e];isFinite(s+n)?l?(t.moveTo(s,n),l=!1):t.lineTo(s,n):(t.closePath(),l=!0)}t.closePath(),this.visuals.fill.apply(t),this.visuals.hatch.apply(t),this.visuals.line.apply(t)}draw_legend_for_index(t,s,e){(0,o.generic_area_scalar_legend)(this.visuals,t,s)}_hit_point(t){const s=new r.Selection;return c.point_in_poly(t.sx,t.sy,this.sx,this.sy)&&(s.add_to_selected_glyphs(this.model),s.view=this),s}}e.PatchView=p,p.__name__=\"PatchView\";class d extends _.XYGlyph{constructor(t){super(t)}}e.Patch=d,n=d,d.__name__=\"Patch\",n.prototype.default_view=p,n.mixins([h.LineScalar,h.FillScalar,h.HatchScalar])},\n", - " function _(e,t,s,i,r){i();const n=e(1);var a;const _=e(24),h=e(188),o=(0,n.__importStar)(e(185)),l=(0,n.__importStar)(e(18)),c=e(72);class d extends h.AreaView{_index_data(e){const{min:t,max:s}=Math,{data_size:i}=this;for(let r=0;r=0;t--)e.lineTo(r[t],n[t]);e.closePath(),this.visuals.fill.apply(e),this.visuals.hatch.apply(e)}_hit_point(e){const t=this.sy.length,s=new _.ScreenArray(2*t),i=new _.ScreenArray(2*t);for(let e=0,r=t;e({x1:[l.XCoordinateSpec,{field:\"x1\"}],x2:[l.XCoordinateSpec,{field:\"x2\"}],y:[l.YCoordinateSpec,{field:\"y\"}]})))},\n", - " function _(e,a,r,_,s){_();const n=e(1);var c;const i=e(179),l=e(184),t=(0,n.__importStar)(e(48));class o extends i.GlyphView{draw_legend_for_index(e,a,r){(0,l.generic_area_scalar_legend)(this.visuals,e,a)}}r.AreaView=o,o.__name__=\"AreaView\";class d extends i.Glyph{constructor(e){super(e)}}r.Area=d,c=d,d.__name__=\"Area\",c.mixins([t.FillScalar,t.HatchScalar])},\n", - " function _(e,t,s,i,r){i();const n=e(1);var a;const _=e(24),h=e(188),o=(0,n.__importStar)(e(185)),l=(0,n.__importStar)(e(18)),c=e(72);class y extends h.AreaView{_index_data(e){const{min:t,max:s}=Math,{data_size:i}=this;for(let r=0;r=0;t--)e.lineTo(i[t],n[t]);e.closePath(),this.visuals.fill.apply(e),this.visuals.hatch.apply(e)}scenterxy(e){return[this.sx[e],(this.sy1[e]+this.sy2[e])/2]}_hit_point(e){const t=this.sx.length,s=new _.ScreenArray(2*t),i=new _.ScreenArray(2*t);for(let e=0,r=t;e({x:[l.XCoordinateSpec,{field:\"x\"}],y1:[l.YCoordinateSpec,{field:\"y1\"}],y2:[l.YCoordinateSpec,{field:\"y2\"}]})))},\n", - " function _(e,i,s,t,n){var c;t();const o=e(53),r=e(24),u=e(191),_=e(70);class a extends o.Model{constructor(e){super(e)}initialize(){super.initialize(),this.compute_indices()}connect_signals(){super.connect_signals(),this.connect(this.properties.filters.change,(()=>this.compute_indices()));const e=()=>{const e=()=>this.compute_indices();null!=this.source&&(this.connect(this.source.change,e),this.source instanceof _.ColumnarDataSource&&(this.connect(this.source.streaming,e),this.connect(this.source.patching,e)))};let i=null!=this.source;i?e():this.connect(this.properties.source.change,(()=>{i||(e(),i=!0)}))}compute_indices(){var e;const{source:i}=this;if(null==i)return;const s=null!==(e=i.get_length())&&void 0!==e?e:1,t=r.Indices.all_set(s);for(const e of this.filters)t.intersect(e.compute_indices(i));this.indices=t,this._indices=[...t],this.indices_map_to_subset()}indices_map_to_subset(){this.indices_map={};for(let e=0;ethis._indices[e]))}convert_selection_to_subset(e){return e.map((e=>this.indices_map[e]))}convert_indices_from_subset(e){return e.map((e=>this._indices[e]))}}s.CDSView=a,c=a,a.__name__=\"CDSView\",c.define((({Array:e,Ref:i})=>({filters:[e(i(u.Filter)),[]],source:[i(_.ColumnarDataSource)]}))),c.internal((({Int:e,Dict:i,Ref:s,Nullable:t})=>({indices:[s(r.Indices)],indices_map:[i(e),{}],masked:[t(s(r.Indices)),null]})))},\n", - " function _(e,t,n,s,c){s();const o=e(53);class r extends o.Model{constructor(e){super(e)}}n.Filter=r,r.__name__=\"Filter\"},\n", - " function _(t,r,a,e,c){e(),c(\"BasicTickFormatter\",t(146).BasicTickFormatter),c(\"CategoricalTickFormatter\",t(142).CategoricalTickFormatter),c(\"DatetimeTickFormatter\",t(150).DatetimeTickFormatter),c(\"FuncTickFormatter\",t(193).FuncTickFormatter),c(\"LogTickFormatter\",t(163).LogTickFormatter),c(\"MercatorTickFormatter\",t(166).MercatorTickFormatter),c(\"NumeralTickFormatter\",t(194).NumeralTickFormatter),c(\"PrintfTickFormatter\",t(195).PrintfTickFormatter),c(\"TickFormatter\",t(131).TickFormatter)},\n", - " function _(t,e,n,s,r){var c;s();const i=t(131),a=t(13),u=t(34);class o extends i.TickFormatter{constructor(t){super(t)}get names(){return(0,a.keys)(this.args)}get values(){return(0,a.values)(this.args)}_make_func(){const t=(0,u.use_strict)(this.code);return new Function(\"tick\",\"index\",\"ticks\",...this.names,t)}doFormat(t,e){const n=this._make_func().bind({});return t.map(((t,e,s)=>`${n(t,e,s,...this.values)}`))}}n.FuncTickFormatter=o,c=o,o.__name__=\"FuncTickFormatter\",c.define((({Unknown:t,String:e,Dict:n})=>({args:[n(t),{}],code:[e,\"\"]})))},\n", - " function _(r,n,t,o,e){o();var a;const u=(0,r(1).__importStar)(r(153)),c=r(131),i=r(20);class s extends c.TickFormatter{constructor(r){super(r)}get _rounding_fn(){switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}}doFormat(r,n){const{format:t,language:o,_rounding_fn:e}=this;return r.map((r=>u.format(r,t,o,e)))}}t.NumeralTickFormatter=s,a=s,s.__name__=\"NumeralTickFormatter\",a.define((({String:r})=>({format:[r,\"0,0\"],language:[r,\"en\"],rounding:[i.RoundingFunction,\"round\"]})))},\n", - " function _(t,r,n,o,a){var e;o();const i=t(131),s=t(152);class c extends i.TickFormatter{constructor(t){super(t)}doFormat(t,r){return t.map((t=>(0,s.sprintf)(this.format,t)))}}n.PrintfTickFormatter=c,e=c,c.__name__=\"PrintfTickFormatter\",e.define((({String:t})=>({format:[t,\"%s\"]})))},\n", - " function _(r,o,a,p,e){p(),e(\"CategoricalColorMapper\",r(197).CategoricalColorMapper),e(\"CategoricalMarkerMapper\",r(199).CategoricalMarkerMapper),e(\"CategoricalPatternMapper\",r(200).CategoricalPatternMapper),e(\"ContinuousColorMapper\",r(172).ContinuousColorMapper),e(\"ColorMapper\",r(173).ColorMapper),e(\"LinearColorMapper\",r(201).LinearColorMapper),e(\"LogColorMapper\",r(202).LogColorMapper),e(\"ScanningColorMapper\",r(171).ScanningColorMapper),e(\"EqHistColorMapper\",r(203).EqHistColorMapper)},\n", - " function _(t,o,r,a,e){var c;a();const s=t(198),l=t(173),n=t(67);class _ extends l.ColorMapper{constructor(t){super(t)}_v_compute(t,o,r,{nan_color:a}){(0,s.cat_v_compute)(t,this.factors,r,o,this.start,this.end,a)}}r.CategoricalColorMapper=_,c=_,_.__name__=\"CategoricalColorMapper\",c.define((({Number:t,Nullable:o})=>({factors:[n.FactorSeq],start:[t,0],end:[o(t),null]})))},\n", - " function _(n,t,e,l,i){l();const c=n(12),u=n(8);function f(n,t){if(n.length!=t.length)return!1;for(let e=0,l=n.length;ef(n,h)))),s=_<0||_>=e.length?r:e[_],l[g]=s}}},\n", - " function _(e,r,a,t,s){var c;t();const l=e(198),n=e(67),u=e(174),o=e(20);class p extends u.Mapper{constructor(e){super(e)}v_compute(e){const r=new Array(e.length);return(0,l.cat_v_compute)(e,this.factors,this.markers,r,this.start,this.end,this.default_value),r}}a.CategoricalMarkerMapper=p,c=p,p.__name__=\"CategoricalMarkerMapper\",c.define((({Number:e,Array:r,Nullable:a})=>({factors:[n.FactorSeq],markers:[r(o.MarkerType)],start:[e,0],end:[a(e),null],default_value:[o.MarkerType,\"circle\"]})))},\n", - " function _(t,e,a,r,n){var s;r();const c=t(198),l=t(67),p=t(174),u=t(20);class o extends p.Mapper{constructor(t){super(t)}v_compute(t){const e=new Array(t.length);return(0,c.cat_v_compute)(t,this.factors,this.patterns,e,this.start,this.end,this.default_value),e}}a.CategoricalPatternMapper=o,s=o,o.__name__=\"CategoricalPatternMapper\",s.define((({Number:t,Array:e,Nullable:a})=>({factors:[l.FactorSeq],patterns:[e(u.HatchPatternType)],start:[t,0],end:[a(t),null],default_value:[u.HatchPatternType,\" \"]})))},\n", - " function _(n,r,o,t,a){t();const e=n(172),i=n(12);class s extends e.ContinuousColorMapper{constructor(n){super(n)}scan(n,r){const o=null!=this.low?this.low:(0,i.min)(n),t=null!=this.high?this.high:(0,i.max)(n);return{max:t,min:o,norm_factor:1/(t-o),normed_interval:1/r}}cmap(n,r,o,t,a){const e=r.length-1;if(n==a.max)return r[e];const i=(n-a.min)*a.norm_factor,s=Math.floor(i/a.normed_interval);return s<0?o:s>e?t:r[s]}}o.LinearColorMapper=s,s.__name__=\"LinearColorMapper\"},\n", - " function _(o,t,n,r,l){r();const a=o(172),s=o(12);class e extends a.ContinuousColorMapper{constructor(o){super(o)}scan(o,t){const n=null!=this.low?this.low:(0,s.min)(o),r=null!=this.high?this.high:(0,s.max)(o);return{max:r,min:n,scale:t/(Math.log(r)-Math.log(n))}}cmap(o,t,n,r,l){const a=t.length-1;if(o>l.max)return r;if(o==l.max)return t[a];if(oa&&(e=a),t[e]}}n.LogColorMapper=e,e.__name__=\"LogColorMapper\"},\n", - " function _(n,t,e,i,o){var s;i();const r=n(171),a=n(12),l=n(9),c=n(19);class h extends r.ScanningColorMapper{constructor(n){super(n)}scan(n,t){const e=null!=this.low?this.low:(0,a.min)(n),i=null!=this.high?this.high:(0,a.max)(n),o=this.bins,s=(0,l.linspace)(e,i,o+1),r=(0,a.bin_counts)(n,s),h=new Array(o);for(let n=0,t=s.length;nn/p));let m=t-1,f=[],M=0,_=2*t;for(;m!=t&&M<4&&0!=m;){const n=_/m;if(n>1e3)break;_=Math.round(Math.max(t*n,t));const e=(0,l.range)(0,_),i=(0,a.map)(u,(n=>n*(_-1)));f=(0,a.interpolate)(e,i,h);m=(0,l.uniq)(f).length-1,M++}if(0==m){f=[e,i];for(let n=0;n({bins:[n,65536]})))},\n", - " function _(a,e,l,c,n){c(),n(\"CategoricalScale\",a(62).CategoricalScale),n(\"ContinuousScale\",a(60).ContinuousScale),n(\"LinearScale\",a(59).LinearScale),n(\"LinearInterpolationScale\",a(205).LinearInterpolationScale),n(\"LogScale\",a(61).LogScale),n(\"Scale\",a(55).Scale)},\n", - " function _(e,r,n,t,a){var i;t();const s=e(55),o=e(59),c=e(12);class _ extends s.Scale{constructor(e){super(e)}connect_signals(){super.connect_signals();const{source_range:e,target_range:r}=this.properties;this.on_change([e,r],(()=>{this.linear_scale=new o.LinearScale({source_range:this.source_range,target_range:this.target_range})}))}get s_compute(){throw new Error(\"not implemented\")}get s_invert(){throw new Error(\"not implemented\")}compute(e){return e}v_compute(e){const{binning:r}=this,{start:n,end:t}=this.source_range,a=n,i=t,s=r.length,o=(t-n)/(s-1),_=new Float64Array(s);for(let e=0;e{if(ei)return i;const n=(0,c.left_edge_index)(e,r);if(-1==n)return a;if(n>=s-1)return i;const t=r[n],o=(e-t)/(r[n+1]-t),l=_[n];return l+o*(_[n+1]-l)}));return this.linear_scale.v_compute(l)}invert(e){return e}v_invert(e){return new Float64Array(e)}}n.LinearInterpolationScale=_,i=_,_.__name__=\"LinearInterpolationScale\",i.internal((({Arrayable:e,Ref:r})=>({binning:[e],linear_scale:[r(o.LinearScale),e=>new o.LinearScale({source_range:e.source_range,target_range:e.target_range})]})))},\n", - " function _(a,n,e,g,R){g(),R(\"DataRange\",a(64).DataRange),R(\"DataRange1d\",a(63).DataRange1d),R(\"FactorRange\",a(67).FactorRange),R(\"Range\",a(57).Range),R(\"Range1d\",a(58).Range1d)},\n", - " function _(a,o,i,t,e){t();var n=a(124);e(\"Sizeable\",n.Sizeable),e(\"SizingPolicy\",n.SizingPolicy);var c=a(125);e(\"Layoutable\",c.Layoutable),e(\"LayoutItem\",c.LayoutItem);var r=a(208);e(\"HStack\",r.HStack),e(\"VStack\",r.VStack);var l=a(209);e(\"Grid\",l.Grid),e(\"Row\",l.Row),e(\"Column\",l.Column);var S=a(210);e(\"ContentBox\",S.ContentBox),e(\"VariadicBox\",S.VariadicBox)},\n", - " function _(t,e,h,i,r){i();const n=t(125),o=t(65);class s extends n.Layoutable{constructor(){super(...arguments),this.children=[]}*[Symbol.iterator](){yield*this.children}}h.Stack=s,s.__name__=\"Stack\";class c extends s{_measure(t){let e=0,h=0;for(const t of this.children){const i=t.measure({width:0,height:0});e+=i.width,h=Math.max(h,i.height)}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);const h=this.absolute?t.top:0;let i=this.absolute?t.left:0;const{height:r}=t;for(const t of this.children){const{width:e}=t.measure({width:0,height:0});t.set_geometry(new o.BBox({left:i,width:e,top:h,height:r})),i+=e}}}h.HStack=c,c.__name__=\"HStack\";class a extends s{_measure(t){let e=0,h=0;for(const t of this.children){const i=t.measure({width:0,height:0});e=Math.max(e,i.width),h+=i.height}return{width:e,height:h}}_set_geometry(t,e){super._set_geometry(t,e);const h=this.absolute?t.left:0;let i=this.absolute?t.top:0;const{width:r}=t;for(const t of this.children){const{height:e}=t.measure({width:0,height:0});t.set_geometry(new o.BBox({top:i,height:e,left:h,width:r})),i+=e}}}h.VStack=a,a.__name__=\"VStack\";class l extends n.Layoutable{constructor(){super(...arguments),this.children=[]}*[Symbol.iterator](){yield*this.children}_measure(t){const{width_policy:e,height_policy:h}=this.sizing,{min:i,max:r}=Math;let n=0,o=0;for(const e of this.children){const{width:h,height:i}=e.measure(t);n=r(n,h),o=r(o,i)}return{width:(()=>{const{width:h}=this.sizing;if(t.width==1/0)return\"fixed\"==e&&null!=h?h:n;switch(e){case\"fixed\":return null!=h?h:n;case\"min\":return n;case\"fit\":return null!=h?i(t.width,h):t.width;case\"max\":return null!=h?r(t.width,h):t.width}})(),height:(()=>{const{height:e}=this.sizing;if(t.height==1/0)return\"fixed\"==h&&null!=e?e:o;switch(h){case\"fixed\":return null!=e?e:o;case\"min\":return o;case\"fit\":return null!=e?i(t.height,e):t.height;case\"max\":return null!=e?r(t.height,e):t.height}})()}}_set_geometry(t,e){super._set_geometry(t,e);const h=this.absolute?t:t.relative(),{left:i,right:r,top:n,bottom:s}=h,c=Math.round(h.vcenter),a=Math.round(h.hcenter);for(const e of this.children){const{margin:h,halign:l,valign:d}=e.sizing,{width:u,height:g,inner:_}=e.measure(t),w=(()=>{switch(`${d}_${l}`){case\"start_start\":return new o.BBox({left:i+h.left,top:n+h.top,width:u,height:g});case\"start_center\":return new o.BBox({hcenter:a,top:n+h.top,width:u,height:g});case\"start_end\":return new o.BBox({right:r-h.right,top:n+h.top,width:u,height:g});case\"center_start\":return new o.BBox({left:i+h.left,vcenter:c,width:u,height:g});case\"center_center\":return new o.BBox({hcenter:a,vcenter:c,width:u,height:g});case\"center_end\":return new o.BBox({right:r-h.right,vcenter:c,width:u,height:g});case\"end_start\":return new o.BBox({left:i+h.left,bottom:s-h.bottom,width:u,height:g});case\"end_center\":return new o.BBox({hcenter:a,bottom:s-h.bottom,width:u,height:g});case\"end_end\":return new o.BBox({right:r-h.right,bottom:s-h.bottom,width:u,height:g})}})(),m=null==_?w:new o.BBox({left:w.left+_.left,top:w.top+_.top,right:w.right-_.right,bottom:w.bottom-_.bottom});e.set_geometry(w,m)}}}h.NodeLayout=l,l.__name__=\"NodeLayout\"},\n", - " function _(t,i,s,e,o){e();const n=t(124),l=t(125),r=t(8),h=t(65),c=t(9),{max:a,round:g}=Math;class p{constructor(t){this.def=t,this._map=new Map}get(t){let i=this._map.get(t);return void 0===i&&(i=this.def(),this._map.set(t,i)),i}apply(t,i){const s=this.get(t);this._map.set(t,i(s))}}p.__name__=\"DefaultMap\";class f{constructor(){this._items=[],this._nrows=0,this._ncols=0}get nrows(){return this._nrows}get ncols(){return this._ncols}add(t,i){const{r1:s,c1:e}=t;this._nrows=a(this._nrows,s+1),this._ncols=a(this._ncols,e+1),this._items.push({span:t,data:i})}at(t,i){return this._items.filter((({span:s})=>s.r0<=t&&t<=s.r1&&s.c0<=i&&i<=s.c1)).map((({data:t})=>t))}row(t){return this._items.filter((({span:i})=>i.r0<=t&&t<=i.r1)).map((({data:t})=>t))}col(t){return this._items.filter((({span:i})=>i.c0<=t&&t<=i.c1)).map((({data:t})=>t))}foreach(t){for(const{span:i,data:s}of this._items)t(i,s)}map(t){const i=new f;for(const{span:s,data:e}of this._items)i.add(s,t(s,e));return i}}f.__name__=\"Container\";class _ extends l.Layoutable{constructor(t=[]){super(),this.items=t,this.rows=\"auto\",this.cols=\"auto\",this.spacing=0}*[Symbol.iterator](){for(const{layout:t}of this.items)yield t}is_width_expanding(){if(super.is_width_expanding())return!0;if(\"fixed\"==this.sizing.width_policy)return!1;const{cols:t}=this._state;return(0,c.some)(t,(t=>\"max\"==t.policy))}is_height_expanding(){if(super.is_height_expanding())return!0;if(\"fixed\"==this.sizing.height_policy)return!1;const{rows:t}=this._state;return(0,c.some)(t,(t=>\"max\"==t.policy))}_init(){var t,i,s,e;super._init();const o=new f;for(const{layout:t,row:i,col:s,row_span:e,col_span:n}of this.items)if(t.sizing.visible){const l=i,r=s,h=i+(null!=e?e:1)-1,c=s+(null!=n?n:1)-1;o.add({r0:l,c0:r,r1:h,c1:c},t)}const{nrows:n,ncols:l}=o,h=new Array(n);for(let s=0;s{var t;const i=(0,r.isPlainObject)(this.rows)?null!==(t=this.rows[s])&&void 0!==t?t:this.rows[\"*\"]:this.rows;return null==i?{policy:\"auto\"}:(0,r.isNumber)(i)?{policy:\"fixed\",height:i}:(0,r.isString)(i)?{policy:i}:i})(),n=null!==(t=e.align)&&void 0!==t?t:\"auto\";if(\"fixed\"==e.policy)h[s]={policy:\"fixed\",height:e.height,align:n};else if(\"min\"==e.policy)h[s]={policy:\"min\",align:n};else if(\"fit\"==e.policy||\"max\"==e.policy)h[s]={policy:e.policy,flex:null!==(i=e.flex)&&void 0!==i?i:1,align:n};else{if(\"auto\"!=e.policy)throw new Error(\"unrechable\");(0,c.some)(o.row(s),(t=>t.is_height_expanding()))?h[s]={policy:\"max\",flex:1,align:n}:h[s]={policy:\"min\",align:n}}}const a=new Array(l);for(let t=0;t{var i;const s=(0,r.isPlainObject)(this.cols)?null!==(i=this.cols[t])&&void 0!==i?i:this.cols[\"*\"]:this.cols;return null==s?{policy:\"auto\"}:(0,r.isNumber)(s)?{policy:\"fixed\",width:s}:(0,r.isString)(s)?{policy:s}:s})(),n=null!==(s=i.align)&&void 0!==s?s:\"auto\";if(\"fixed\"==i.policy)a[t]={policy:\"fixed\",width:i.width,align:n};else if(\"min\"==i.policy)a[t]={policy:\"min\",align:n};else if(\"fit\"==i.policy||\"max\"==i.policy)a[t]={policy:i.policy,flex:null!==(e=i.flex)&&void 0!==e?e:1,align:n};else{if(\"auto\"!=i.policy)throw new Error(\"unrechable\");(0,c.some)(o.col(t),(t=>t.is_width_expanding()))?a[t]={policy:\"max\",flex:1,align:n}:a[t]={policy:\"min\",align:n}}}const[g,p]=(0,r.isNumber)(this.spacing)?[this.spacing,this.spacing]:this.spacing;this._state={items:o,nrows:n,ncols:l,rows:h,cols:a,rspacing:g,cspacing:p}}_measure_totals(t,i){const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state;return{height:(0,c.sum)(t)+(s-1)*o,width:(0,c.sum)(i)+(e-1)*n}}_measure_cells(t){const{items:i,nrows:s,ncols:e,rows:o,cols:l,rspacing:r,cspacing:h}=this._state,c=new Array(s);for(let t=0;t{const{r0:e,c0:f,r1:d,c1:u}=i,w=(d-e)*r,m=(u-f)*h;let y=0;for(let i=e;i<=d;i++)y+=t(i,f).height;y+=w;let x=0;for(let i=f;i<=u;i++)x+=t(e,i).width;x+=m;const b=s.measure({width:x,height:y});_.add(i,{layout:s,size_hint:b});const z=new n.Sizeable(b).grow_by(s.sizing.margin);z.height-=w,z.width-=m;const v=[];for(let t=e;t<=d;t++){const i=o[t];\"fixed\"==i.policy?z.height-=i.height:v.push(t)}if(z.height>0){const t=g(z.height/v.length);for(const i of v)c[i]=a(c[i],t)}const j=[];for(let t=f;t<=u;t++){const i=l[t];\"fixed\"==i.policy?z.width-=i.width:j.push(t)}if(z.width>0){const t=g(z.width/j.length);for(const i of j)p[i]=a(p[i],t)}}));return{size:this._measure_totals(c,p),row_heights:c,col_widths:p,size_hints:_}}_measure_grid(t){const{nrows:i,ncols:s,rows:e,cols:o,rspacing:n,cspacing:l}=this._state,r=this._measure_cells(((t,i)=>{const s=e[t],n=o[i];return{width:\"fixed\"==n.policy?n.width:1/0,height:\"fixed\"==s.policy?s.height:1/0}}));let h;h=\"fixed\"==this.sizing.height_policy&&null!=this.sizing.height?this.sizing.height:t.height!=1/0&&this.is_height_expanding()?t.height:r.size.height;let c,p=0;for(let t=0;t0)for(let t=0;ti?i:e,t--}}}c=\"fixed\"==this.sizing.width_policy&&null!=this.sizing.width?this.sizing.width:t.width!=1/0&&this.is_width_expanding()?t.width:r.size.width;let f=0;for(let t=0;t0)for(let t=0;ts?s:o,t--}}}const{row_heights:_,col_widths:d,size_hints:u}=this._measure_cells(((t,i)=>({width:r.col_widths[i],height:r.row_heights[t]})));return{size:this._measure_totals(_,d),row_heights:_,col_widths:d,size_hints:u}}_measure(t){const{size:i}=this._measure_grid(t);return i}_set_geometry(t,i){super._set_geometry(t,i);const{nrows:s,ncols:e,rspacing:o,cspacing:n}=this._state,{row_heights:l,col_widths:r,size_hints:c}=this._measure_grid(t),f=this._state.rows.map(((t,i)=>Object.assign(Object.assign({},t),{top:0,height:l[i],get bottom(){return this.top+this.height}}))),_=this._state.cols.map(((t,i)=>Object.assign(Object.assign({},t),{left:0,width:r[i],get right(){return this.left+this.width}}))),d=c.map(((t,i)=>Object.assign(Object.assign({},i),{outer:new h.BBox,inner:new h.BBox})));for(let i=0,e=this.absolute?t.top:0;i{const{layout:r,size_hint:c}=l,{sizing:a}=r,{width:p,height:d}=c,u=function(t,i){let s=(i-t)*n;for(let e=t;e<=i;e++)s+=_[e].width;return s}(i,e),w=function(t,i){let s=(i-t)*o;for(let e=t;e<=i;e++)s+=f[e].height;return s}(t,s),m=i==e&&\"auto\"!=_[i].align?_[i].align:a.halign,y=t==s&&\"auto\"!=f[t].align?f[t].align:a.valign;let x=_[i].left;\"start\"==m?x+=a.margin.left:\"center\"==m?x+=g((u-p)/2):\"end\"==m&&(x+=u-a.margin.right-p);let b=f[t].top;\"start\"==y?b+=a.margin.top:\"center\"==y?b+=g((w-d)/2):\"end\"==y&&(b+=w-a.margin.bottom-d),l.outer=new h.BBox({left:x,top:b,width:p,height:d})}));const u=f.map((()=>({start:new p((()=>0)),end:new p((()=>0))}))),w=_.map((()=>({start:new p((()=>0)),end:new p((()=>0))})));d.foreach((({r0:t,c0:i,r1:s,c1:e},{size_hint:o,outer:n})=>{const{inner:l}=o;null!=l&&(u[t].start.apply(n.top,(t=>a(t,l.top))),u[s].end.apply(f[s].bottom-n.bottom,(t=>a(t,l.bottom))),w[i].start.apply(n.left,(t=>a(t,l.left))),w[e].end.apply(_[e].right-n.right,(t=>a(t,l.right))))})),d.foreach((({r0:t,c0:i,r1:s,c1:e},o)=>{const{size_hint:n,outer:l}=o,r=t=>{const i=this.absolute?l:l.relative(),s=i.left+t.left,e=i.top+t.top,o=i.right-t.right,n=i.bottom-t.bottom;return new h.BBox({left:s,top:e,right:o,bottom:n})};if(null!=n.inner){let h=r(n.inner);if(!1!==n.align){const o=u[t].start.get(l.top),n=u[s].end.get(f[s].bottom-l.bottom),c=w[i].start.get(l.left),a=w[e].end.get(_[e].right-l.right);try{h=r({top:o,bottom:n,left:c,right:a})}catch(t){}}o.inner=h}else o.inner=l})),d.foreach(((t,{layout:i,outer:s,inner:e})=>{i.set_geometry(s,e)}))}}s.Grid=_,_.__name__=\"Grid\";class d extends _{constructor(t){super(),this.items=t.map(((t,i)=>({layout:t,row:0,col:i}))),this.rows=\"fit\"}}s.Row=d,d.__name__=\"Row\";class u extends _{constructor(t){super(),this.items=t.map(((t,i)=>({layout:t,row:i,col:0}))),this.cols=\"fit\"}}s.Column=u,u.__name__=\"Column\"},\n", - " function _(e,t,s,n,i){n();const a=e(125),c=e(124),o=e(43);class r extends a.ContentLayoutable{constructor(e){super(),this.content_size=(0,o.unsized)(e,(()=>new c.Sizeable((0,o.size)(e))))}_content_size(){return this.content_size}}s.ContentBox=r,r.__name__=\"ContentBox\";class _ extends a.Layoutable{constructor(e){super(),this.el=e}_measure(e){const t=new c.Sizeable(e).bounded_to(this.sizing.size);return(0,o.sized)(this.el,t,(()=>{const e=new c.Sizeable((0,o.content_size)(this.el)),{border:t,padding:s}=(0,o.extents)(this.el);return e.grow_by(t).grow_by(s).map(Math.ceil)}))}}s.VariadicBox=_,_.__name__=\"VariadicBox\";class h extends _{constructor(e){super(e),this._cache=new Map}_measure(e){const{width:t,height:s}=e,n=`${t},${s}`;let i=this._cache.get(n);return null==i&&(i=super._measure(e),this._cache.set(n,i)),i}invalidate_cache(){this._cache.clear()}}s.CachedVariadicBox=h,h.__name__=\"CachedVariadicBox\"},\n", - " function _(t,e,i,h,o){h();const s=t(124),r=t(125),n=t(65);class g extends r.Layoutable{constructor(){super(...arguments),this.min_border={left:0,top:0,right:0,bottom:0},this.padding={left:0,top:0,right:0,bottom:0}}*[Symbol.iterator](){yield this.top_panel,yield this.bottom_panel,yield this.left_panel,yield this.right_panel,yield this.center_panel}_measure(t){t=new s.Sizeable({width:\"fixed\"==this.sizing.width_policy||t.width==1/0?this.sizing.width:t.width,height:\"fixed\"==this.sizing.height_policy||t.height==1/0?this.sizing.height:t.height});const e=this.left_panel.measure({width:0,height:t.height}),i=Math.max(e.width,this.min_border.left)+this.padding.left,h=this.right_panel.measure({width:0,height:t.height}),o=Math.max(h.width,this.min_border.right)+this.padding.right,r=this.top_panel.measure({width:t.width,height:0}),n=Math.max(r.height,this.min_border.top)+this.padding.top,g=this.bottom_panel.measure({width:t.width,height:0}),a=Math.max(g.height,this.min_border.bottom)+this.padding.bottom,d=new s.Sizeable(t).shrink_by({left:i,right:o,top:n,bottom:a}),l=this.center_panel.measure(d);return{width:i+l.width+o,height:n+l.height+a,inner:{left:i,right:o,top:n,bottom:a},align:(()=>{const{width_policy:t,height_policy:e}=this.center_panel.sizing;return\"fixed\"!=t&&\"fixed\"!=e})()}}_set_geometry(t,e){super._set_geometry(t,e),this.center_panel.set_geometry(e);const i=this.left_panel.measure({width:0,height:t.height}),h=this.right_panel.measure({width:0,height:t.height}),o=this.top_panel.measure({width:t.width,height:0}),s=this.bottom_panel.measure({width:t.width,height:0}),{left:r,top:g,right:a,bottom:d}=e;this.top_panel.set_geometry(new n.BBox({left:r,right:a,bottom:g,height:o.height})),this.bottom_panel.set_geometry(new n.BBox({left:r,right:a,top:d,height:s.height})),this.left_panel.set_geometry(new n.BBox({top:g,bottom:d,right:r,width:i.width})),this.right_panel.set_geometry(new n.BBox({top:g,bottom:d,left:a,width:h.width}))}}i.BorderLayout=g,g.__name__=\"BorderLayout\"},\n", - " function _(t,e,i,s,l){s();const n=t(1);var o;const a=t(119),_=t(10),d=t(20),h=t(120),r=t(123),u=(0,n.__importStar)(t(48));class c extends a.TextAnnotationView{update_layout(){const{panel:t}=this;this.layout=null!=t?new r.SideLayout(t,(()=>this.get_size()),!1):void 0}_get_size(){const{text:t}=this.model,e=new h.TextBox({text:t}),{angle:i,angle_units:s}=this.model;e.angle=(0,_.resolve_angle)(i,s),e.visuals=this.visuals.text.values();const{width:l,height:n}=e.size();return{width:l,height:n}}_render(){const{angle:t,angle_units:e}=this.model,i=(0,_.resolve_angle)(t,e),s=null!=this.layout?this.layout:this.plot_view.frame,l=this.coordinates.x_scale,n=this.coordinates.y_scale;let o=\"data\"==this.model.x_units?l.compute(this.model.x):s.bbox.xview.compute(this.model.x),a=\"data\"==this.model.y_units?n.compute(this.model.y):s.bbox.yview.compute(this.model.y);o+=this.model.x_offset,a-=this.model.y_offset;(\"canvas\"==this.model.render_mode?this._canvas_text.bind(this):this._css_text.bind(this))(this.layer.ctx,this.model.text,o,a,i)}}i.LabelView=c,c.__name__=\"LabelView\";class x extends a.TextAnnotation{constructor(t){super(t)}}i.Label=x,o=x,x.__name__=\"Label\",o.prototype.default_view=c,o.mixins([u.Text,[\"border_\",u.Line],[\"background_\",u.Fill]]),o.define((({Number:t,String:e,Angle:i})=>({x:[t],x_units:[d.SpatialUnits,\"data\"],y:[t],y_units:[d.SpatialUnits,\"data\"],text:[e,\"\"],angle:[i,0],angle_units:[d.AngleUnits,\"rad\"],x_offset:[t,0],y_offset:[t,0]}))),o.override({background_fill_color:null,border_line_color:null})},\n", - " function _(t,e,s,i,l){i();const o=t(1);var a;const r=t(69),n=(0,o.__importStar)(t(48)),d=t(20),_=t(43),c=t(120),h=(0,o.__importStar)(t(18)),u=t(11);class v extends r.DataAnnotationView{set_data(t){var e;if(super.set_data(t),null===(e=this.els)||void 0===e||e.forEach((t=>(0,_.remove)(t))),\"css\"==this.model.render_mode){const t=this.els=[...this.text].map((()=>(0,_.div)({style:{display:\"none\"}})));for(const e of t)this.plot_view.canvas_view.add_overlay(e)}else delete this.els}remove(){var t;null===(t=this.els)||void 0===t||t.forEach((t=>(0,_.remove)(t))),super.remove()}_rerender(){\"css\"==this.model.render_mode?this.render():this.request_render()}map_data(){const{x_scale:t,y_scale:e}=this.coordinates,s=null!=this.layout?this.layout:this.plot_view.frame;this.sx=\"data\"==this.model.x_units?t.v_compute(this._x):s.bbox.xview.v_compute(this._x),this.sy=\"data\"==this.model.y_units?e.v_compute(this._y):s.bbox.yview.v_compute(this._y)}paint(){const t=\"canvas\"==this.model.render_mode?this._v_canvas_text.bind(this):this._v_css_text.bind(this),{ctx:e}=this.layer;for(let s=0,i=this.text.length;s{switch(this.visuals.text.text_align.get(e)){case\"left\":return[\"left\",\"0%\"];case\"center\":return[\"center\",\"-50%\"];case\"right\":return[\"right\",\"-100%\"]}})(),[d,c]=(()=>{switch(this.visuals.text.text_baseline.get(e)){case\"top\":return[\"top\",\"0%\"];case\"middle\":return[\"center\",\"-50%\"];case\"bottom\":return[\"bottom\",\"-100%\"];default:return[\"center\",\"-50%\"]}})();let h=`translate(${n}, ${c})`;o&&(h+=`rotate(${o}rad)`),a.style.transformOrigin=`${r} ${d}`,a.style.transform=h,this.layout,this.visuals.background_fill.doit&&(this.visuals.background_fill.set_vectorize(t,e),a.style.backgroundColor=t.fillStyle),this.visuals.border_line.doit&&(this.visuals.border_line.set_vectorize(t,e),a.style.borderStyle=t.lineDash.length<2?\"solid\":\"dashed\",a.style.borderWidth=`${t.lineWidth}px`,a.style.borderColor=t.strokeStyle),(0,_.display)(a)}}s.LabelSetView=v,v.__name__=\"LabelSetView\";class x extends r.DataAnnotation{constructor(t){super(t)}}s.LabelSet=x,a=x,x.__name__=\"LabelSet\",a.prototype.default_view=v,a.mixins([n.TextVector,[\"border_\",n.LineVector],[\"background_\",n.FillVector]]),a.define((()=>({x:[h.XCoordinateSpec,{field:\"x\"}],y:[h.YCoordinateSpec,{field:\"y\"}],x_units:[d.SpatialUnits,\"data\"],y_units:[d.SpatialUnits,\"data\"],text:[h.StringSpec,{field:\"text\"}],angle:[h.AngleSpec,0],x_offset:[h.NumberSpec,{value:0}],y_offset:[h.NumberSpec,{value:0}],render_mode:[d.RenderMode,\"canvas\"]}))),a.override({background_fill_color:null,border_line_color:null})},\n", - " function _(t,e,i,l,s){l();const n=t(1);var o;const h=t(40),a=t(215),_=t(20),r=(0,n.__importStar)(t(48)),d=t(15),c=t(123),g=t(121),m=t(65),b=t(9),f=t(8),u=t(11);class x extends h.AnnotationView{update_layout(){const{panel:t}=this;this.layout=null!=t?new c.SideLayout(t,(()=>this.get_size())):void 0}cursor(t,e){return\"none\"==this.model.click_policy?null:\"pointer\"}get legend_padding(){return null!=this.model.border_line_color?this.model.padding:0}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render())),this.connect(this.model.item_change,(()=>this.request_render()))}compute_legend_bbox(){const t=this.model.get_legend_names(),{glyph_height:e,glyph_width:i}=this.model,{label_height:l,label_width:s}=this.model;this.max_label_height=(0,b.max)([(0,g.font_metrics)(this.visuals.label_text.font_value()).height,l,e]);const{ctx:n}=this.layer;n.save(),this.visuals.label_text.set_value(n),this.text_widths=new Map;for(const e of t)this.text_widths.set(e,(0,b.max)([n.measureText(e).width,s]));this.visuals.title_text.set_value(n),this.title_height=this.model.title?(0,g.font_metrics)(this.visuals.title_text.font_value()).height+this.model.title_standoff:0,this.title_width=this.model.title?n.measureText(this.model.title).width:0,n.restore();const o=Math.max((0,b.max)([...this.text_widths.values()]),0),h=this.model.margin,{legend_padding:a}=this,_=this.model.spacing,{label_standoff:r}=this.model;let d,c;if(\"vertical\"==this.model.orientation)d=t.length*this.max_label_height+Math.max(t.length-1,0)*_+2*a+this.title_height,c=(0,b.max)([o+i+r+2*a,this.title_width+2*a]);else{let e=2*a+Math.max(t.length-1,0)*_;for(const[,t]of this.text_widths)e+=(0,b.max)([t,s])+i+r;c=(0,b.max)([this.title_width+2*a,e]),d=this.max_label_height+this.title_height+2*a}const x=null!=this.layout?this.layout:this.plot_view.frame,[p,w]=x.bbox.ranges,{location:v}=this.model;let y,k;if((0,f.isString)(v))switch(v){case\"top_left\":y=p.start+h,k=w.start+h;break;case\"top\":case\"top_center\":y=(p.end+p.start)/2-c/2,k=w.start+h;break;case\"top_right\":y=p.end-h-c,k=w.start+h;break;case\"bottom_right\":y=p.end-h-c,k=w.end-h-d;break;case\"bottom\":case\"bottom_center\":y=(p.end+p.start)/2-c/2,k=w.end-h-d;break;case\"bottom_left\":y=p.start+h,k=w.end-h-d;break;case\"left\":case\"center_left\":y=p.start+h,k=(w.end+w.start)/2-d/2;break;case\"center\":case\"center_center\":y=(p.end+p.start)/2-c/2,k=(w.end+w.start)/2-d/2;break;case\"right\":case\"center_right\":y=p.end-h-c,k=(w.end+w.start)/2-d/2}else if((0,f.isArray)(v)&&2==v.length){const[t,e]=v;y=x.bbox.xview.compute(t),k=x.bbox.yview.compute(e)-d}else(0,u.unreachable)();return new m.BBox({left:y,top:k,width:c,height:d})}interactive_bbox(){return this.compute_legend_bbox()}interactive_hit(t,e){return this.interactive_bbox().contains(t,e)}on_hit(t,e){let i;const{glyph_width:l}=this.model,{legend_padding:s}=this,n=this.model.spacing,{label_standoff:o}=this.model;let h=i=s;const a=this.compute_legend_bbox(),_=\"vertical\"==this.model.orientation;for(const r of this.model.items){const d=r.get_labels_list_from_label_prop();for(const c of d){const d=a.x+h,g=a.y+i+this.title_height;let b,f;[b,f]=_?[a.width-2*s,this.max_label_height]:[this.text_widths.get(c)+l+o,this.max_label_height];if(new m.BBox({left:d,top:g,width:b,height:f}).contains(t,e)){switch(this.model.click_policy){case\"hide\":for(const t of r.renderers)t.visible=!t.visible;break;case\"mute\":for(const t of r.renderers)t.muted=!t.muted}return!0}_?i+=this.max_label_height+n:h+=this.text_widths.get(c)+l+o+n}}return!1}_render(){if(0==this.model.items.length)return;if(!(0,b.some)(this.model.items,(t=>t.visible)))return;for(const t of this.model.items)t.legend=this.model;const{ctx:t}=this.layer,e=this.compute_legend_bbox();t.save(),this._draw_legend_box(t,e),this._draw_legend_items(t,e),this._draw_title(t,e),t.restore()}_draw_legend_box(t,e){t.beginPath(),t.rect(e.x,e.y,e.width,e.height),this.visuals.background_fill.apply(t),this.visuals.border_line.apply(t)}_draw_legend_items(t,e){const{glyph_width:i,glyph_height:l}=this.model,{legend_padding:s}=this,n=this.model.spacing,{label_standoff:o}=this.model;let h=s,a=s;const _=\"vertical\"==this.model.orientation;for(const r of this.model.items){if(!r.visible)continue;const d=r.get_labels_list_from_label_prop(),c=r.get_field_from_label_prop();if(0==d.length)continue;const g=(()=>{switch(this.model.click_policy){case\"none\":return!0;case\"hide\":return(0,b.every)(r.renderers,(t=>t.visible));case\"mute\":return(0,b.every)(r.renderers,(t=>!t.muted))}})();for(const m of d){const d=e.x+h,b=e.y+a+this.title_height,f=d+i,u=b+l;_?a+=this.max_label_height+n:h+=this.text_widths.get(m)+i+o+n,this.visuals.label_text.set_value(t),t.fillText(m,f+o,b+this.max_label_height/2);for(const e of r.renderers){const i=this.plot_view.renderer_view(e);null==i||i.draw_legend(t,d,f,b,u,c,m,r.index)}if(!g){let l,n;[l,n]=_?[e.width-2*s,this.max_label_height]:[this.text_widths.get(m)+i+o,this.max_label_height],t.beginPath(),t.rect(d,b,l,n),this.visuals.inactive_fill.set_value(t),t.fill()}}}}_draw_title(t,e){const{title:i}=this.model;i&&this.visuals.title_text.doit&&(t.save(),t.translate(e.x0,e.y0+this.title_height),this.visuals.title_text.set_value(t),t.fillText(i,this.legend_padding,this.legend_padding-this.model.title_standoff),t.restore())}_get_size(){const{width:t,height:e}=this.compute_legend_bbox();return{width:t+2*this.model.margin,height:e+2*this.model.margin}}}i.LegendView=x,x.__name__=\"LegendView\";class p extends h.Annotation{constructor(t){super(t)}initialize(){super.initialize(),this.item_change=new d.Signal0(this,\"item_change\")}get_legend_names(){const t=[];for(const e of this.items){const i=e.get_labels_list_from_label_prop();t.push(...i)}return t}}i.Legend=p,o=p,p.__name__=\"Legend\",o.prototype.default_view=x,o.mixins([[\"label_\",r.Text],[\"title_\",r.Text],[\"inactive_\",r.Fill],[\"border_\",r.Line],[\"background_\",r.Fill]]),o.define((({Number:t,String:e,Array:i,Tuple:l,Or:s,Ref:n,Nullable:o})=>({orientation:[_.Orientation,\"vertical\"],location:[s(_.LegendLocation,l(t,t)),\"top_right\"],title:[o(e),null],title_standoff:[t,5],label_standoff:[t,5],glyph_height:[t,20],glyph_width:[t,20],label_height:[t,20],label_width:[t,20],margin:[t,10],padding:[t,10],spacing:[t,3],items:[i(n(a.LegendItem)),[]],click_policy:[_.LegendClickPolicy,\"none\"]}))),o.override({border_line_color:\"#e5e5e5\",border_line_alpha:.5,border_line_width:1,background_fill_color:\"#ffffff\",background_fill_alpha:.95,inactive_fill_color:\"white\",inactive_fill_alpha:.7,label_text_font_size:\"13px\",label_text_baseline:\"middle\",title_text_font_size:\"13px\",title_text_font_style:\"italic\"})},\n", - " function _(e,r,l,n,t){n();const i=e(1);var s;const o=e(53),a=e(175),_=e(70),u=e(216),d=(0,i.__importStar)(e(18)),c=e(19),f=e(9);class h extends o.Model{constructor(e){super(e)}_check_data_sources_on_renderers(){if(null!=this.get_field_from_label_prop()){if(this.renderers.length<1)return!1;const e=this.renderers[0].data_source;if(null!=e)for(const r of this.renderers)if(r.data_source!=e)return!1}return!0}_check_field_label_on_data_source(){const e=this.get_field_from_label_prop();if(null!=e){if(this.renderers.length<1)return!1;const r=this.renderers[0].data_source;if(null!=r&&!(0,f.includes)(r.columns(),e))return!1}return!0}initialize(){super.initialize(),this.legend=null,this.connect(this.change,(()=>{var e;return null===(e=this.legend)||void 0===e?void 0:e.item_change.emit()}));this._check_data_sources_on_renderers()||c.logger.error(\"Non matching data sources on legend item renderers\");this._check_field_label_on_data_source()||c.logger.error(`Bad column name on label: ${this.label}`)}get_field_from_label_prop(){const{label:e}=this;return(0,u.isField)(e)?e.field:null}get_labels_list_from_label_prop(){if(!this.visible)return[];if((0,u.isValue)(this.label)){const{value:e}=this.label;return null!=e?[e]:[]}const e=this.get_field_from_label_prop();if(null!=e){let r;if(!this.renderers[0]||null==this.renderers[0].data_source)return[\"No source found\"];if(r=this.renderers[0].data_source,r instanceof _.ColumnarDataSource){const l=r.get_column(e);return null!=l?(0,f.uniq)(Array.from(l)):[\"Invalid field\"]}}return[]}}l.LegendItem=h,s=h,h.__name__=\"LegendItem\",s.define((({Boolean:e,Int:r,Array:l,Ref:n,Nullable:t})=>({label:[d.NullStringSpec,null],renderers:[l(n(a.GlyphRenderer)),[]],index:[t(r),null],visible:[e,!0]})))},\n", - " function _(i,n,e,t,u){t();const c=i(8);e.isValue=function(i){return(0,c.isPlainObject)(i)&&\"value\"in i},e.isField=function(i){return(0,c.isPlainObject)(i)&&\"field\"in i},e.isExpr=function(i){return(0,c.isPlainObject)(i)&&\"expr\"in i}},\n", - " function _(t,n,e,s,i){s();const o=t(1);var a;const l=t(40),c=(0,o.__importStar)(t(48)),r=t(20);class _ extends l.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{xs:t,ys:n}=this.model;if(t.length!=n.length)return;const e=t.length;if(e<3)return;const{frame:s}=this.plot_view,{ctx:i}=this.layer,o=this.coordinates.x_scale,a=this.coordinates.y_scale,{screen:l}=this.model;function c(t,n,e,s){return l?t:\"data\"==n?e.v_compute(t):s.v_compute(t)}const r=c(t,this.model.xs_units,o,s.bbox.xview),_=c(n,this.model.ys_units,a,s.bbox.yview);i.beginPath();for(let t=0;t({xs:[n(t),[]],xs_units:[r.SpatialUnits,\"data\"],ys:[n(t),[]],ys_units:[r.SpatialUnits,\"data\"]}))),a.internal((({Boolean:t})=>({screen:[t,!1]}))),a.override({fill_color:\"#fff9ba\",fill_alpha:.4,line_color:\"#cccccc\",line_alpha:.3})},\n", - " function _(e,t,n,o,i){o();const s=e(1);var l;const r=e(40),c=(0,s.__importStar)(e(48));class a extends r.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_render(){const{gradient:e,y_intercept:t}=this.model;if(null==e||null==t)return;const{frame:n}=this.plot_view,o=this.coordinates.x_scale,i=this.coordinates.y_scale;let s,l,r,c;if(0==e)s=i.compute(t),l=s,r=n.bbox.left,c=r+n.bbox.width;else{s=n.bbox.top,l=s+n.bbox.height;const a=(i.invert(s)-t)/e,_=(i.invert(l)-t)/e;r=o.compute(a),c=o.compute(_)}const{ctx:a}=this.layer;a.save(),a.beginPath(),this.visuals.line.set_value(a),a.moveTo(r,s),a.lineTo(c,l),a.stroke(),a.restore()}}n.SlopeView=a,a.__name__=\"SlopeView\";class _ extends r.Annotation{constructor(e){super(e)}}n.Slope=_,l=_,_.__name__=\"Slope\",l.prototype.default_view=a,l.mixins(c.Line),l.define((({Number:e,Nullable:t})=>({gradient:[t(e),null],y_intercept:[t(e),null]}))),l.override({line_color:\"black\"})},\n", - " function _(e,t,i,o,n){o();const s=e(1);var l;const a=e(40),r=(0,s.__importStar)(e(48)),c=e(20);class d extends a.AnnotationView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.plot_view.request_paint(this)))}_render(){const{location:e}=this.model;if(null==e)return;const{frame:t}=this.plot_view,i=this.coordinates.x_scale,o=this.coordinates.y_scale,n=(t,i)=>\"data\"==this.model.location_units?t.compute(e):this.model.for_hover?e:i.compute(e);let s,l,a,r;\"width\"==this.model.dimension?(a=n(o,t.bbox.yview),l=t.bbox.left,r=t.bbox.width,s=this.model.line_width):(a=t.bbox.top,l=n(i,t.bbox.xview),r=this.model.line_width,s=t.bbox.height);const{ctx:c}=this.layer;c.save(),c.beginPath(),this.visuals.line.set_value(c),c.moveTo(l,a),\"width\"==this.model.dimension?c.lineTo(l+r,a):c.lineTo(l,a+s),c.stroke(),c.restore()}}i.SpanView=d,d.__name__=\"SpanView\";class _ extends a.Annotation{constructor(e){super(e)}}i.Span=_,l=_,_.__name__=\"Span\",l.prototype.default_view=d,l.mixins(r.Line),l.define((({Number:e,Nullable:t})=>({render_mode:[c.RenderMode,\"canvas\"],location:[t(e),null],location_units:[c.SpatialUnits,\"data\"],dimension:[c.Dimension,\"width\"]}))),l.internal((({Boolean:e})=>({for_hover:[e,!1]}))),l.override({line_color:\"black\"})},\n", - " function _(i,e,t,o,l){var s;o();const a=i(40),_=i(221),n=i(113),r=i(43),h=i(123),b=i(65);class v extends a.AnnotationView{constructor(){super(...arguments),this._invalidate_toolbar=!0,this._previous_bbox=new b.BBox}update_layout(){this.layout=new h.SideLayout(this.panel,(()=>this.get_size()),!0)}initialize(){super.initialize(),this.el=(0,r.div)(),this.plot_view.canvas_view.add_event(this.el)}async lazy_initialize(){await super.lazy_initialize(),this._toolbar_view=await(0,n.build_view)(this.model.toolbar,{parent:this}),this.plot_view.visibility_callbacks.push((i=>this._toolbar_view.set_visibility(i)))}remove(){this._toolbar_view.remove(),(0,r.remove)(this.el),super.remove()}render(){this.model.visible||(0,r.undisplay)(this.el),super.render()}_render(){const{bbox:i}=this.layout;this._previous_bbox.equals(i)||((0,r.position)(this.el,i),this._previous_bbox=i,this._invalidate_toolbar=!0),this._invalidate_toolbar&&(this.el.style.position=\"absolute\",this.el.style.overflow=\"hidden\",(0,r.empty)(this.el),this.el.appendChild(this._toolbar_view.el),this._toolbar_view.layout.bbox=i,this._toolbar_view.render(),this._invalidate_toolbar=!1),(0,r.display)(this.el)}_get_size(){const{tools:i,logo:e}=this.model.toolbar;return{width:30*i.length+(null!=e?25:0)+15,height:30}}}t.ToolbarPanelView=v,v.__name__=\"ToolbarPanelView\";class d extends a.Annotation{constructor(i){super(i)}}t.ToolbarPanel=d,s=d,d.__name__=\"ToolbarPanel\",s.prototype.default_view=v,s.define((({Ref:i})=>({toolbar:[i(_.Toolbar)]})))},\n", - " function _(t,e,s,i,o){var c;i();const n=t(8),a=t(9),l=t(13),r=t(222),_=t(223),u=t(232),p=t(233);function v(t){switch(t){case\"tap\":return\"active_tap\";case\"pan\":return\"active_drag\";case\"pinch\":case\"scroll\":return\"active_scroll\";case\"multi\":return\"active_multi\"}return null}function h(t){return\"tap\"==t||\"pan\"==t}s.Drag=r.Tool,s.Inspection=r.Tool,s.Scroll=r.Tool,s.Tap=r.Tool;class f extends p.ToolbarBase{constructor(t){super(t)}connect_signals(){super.connect_signals();const{tools:t,active_drag:e,active_inspect:s,active_scroll:i,active_tap:o,active_multi:c}=this.properties;this.on_change([t,e,s,i,o,c],(()=>this._init_tools()))}_init_tools(){if(super._init_tools(),\"auto\"==this.active_inspect);else if(this.active_inspect instanceof u.InspectTool){let t=!1;for(const e of this.inspectors)e!=this.active_inspect?e.active=!1:t=!0;t||(this.active_inspect=null)}else if((0,n.isArray)(this.active_inspect)){const t=(0,a.intersection)(this.active_inspect,this.inspectors);t.length!=this.active_inspect.length&&(this.active_inspect=t);for(const t of this.inspectors)(0,a.includes)(this.active_inspect,t)||(t.active=!1)}else if(null==this.active_inspect)for(const t of this.inspectors)t.active=!1;const t=t=>{t.active?this._active_change(t):t.active=!0};for(const t of(0,l.values)(this.gestures)){t.tools=(0,a.sort_by)(t.tools,(t=>t.default_order));for(const e of t.tools)this.connect(e.properties.active.change,(()=>this._active_change(e)))}for(const[e,s]of(0,l.entries)(this.gestures)){const i=v(e);if(i){const o=this[i];\"auto\"==o?0!=s.tools.length&&h(e)&&t(s.tools[0]):null!=o&&((0,a.includes)(this.tools,o)?t(o):this[i]=null)}}}}s.Toolbar=f,c=f,f.__name__=\"Toolbar\",c.prototype.default_view=p.ToolbarBaseView,c.define((({Or:t,Ref:e,Auto:i,Null:o})=>({active_drag:[t(e(s.Drag),i,o),\"auto\"],active_inspect:[t(e(s.Inspection),i,o),\"auto\"],active_scroll:[t(e(s.Scroll),i,o),\"auto\"],active_tap:[t(e(s.Tap),i,o),\"auto\"],active_multi:[t(e(_.GestureTool),i,o),\"auto\"]})))},\n", - " function _(t,e,n,o,s){var i;o();const a=t(42),r=t(9),l=t(53);class c extends a.View{get plot_view(){return this.parent}get plot_model(){return this.parent.model}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>{this.model.active?this.activate():this.deactivate()}))}activate(){}deactivate(){}}n.ToolView=c,c.__name__=\"ToolView\";class _ extends l.Model{constructor(t){super(t)}get synthetic_renderers(){return[]}_get_dim_limits([t,e],[n,o],s,i){const a=s.bbox.h_range;let l;\"width\"==i||\"both\"==i?(l=[(0,r.min)([t,n]),(0,r.max)([t,n])],l=[(0,r.max)([l[0],a.start]),(0,r.min)([l[1],a.end])]):l=[a.start,a.end];const c=s.bbox.v_range;let _;return\"height\"==i||\"both\"==i?(_=[(0,r.min)([e,o]),(0,r.max)([e,o])],_=[(0,r.max)([_[0],c.start]),(0,r.min)([_[1],c.end])]):_=[c.start,c.end],[l,_]}static register_alias(t,e){this.prototype._known_aliases.set(t,e)}static from_string(t){const e=this.prototype._known_aliases.get(t);if(null!=e)return e();{const e=[...this.prototype._known_aliases.keys()];throw new Error(`unexpected tool name '${t}', possible tools are ${e.join(\", \")}`)}}}n.Tool=_,i=_,_.__name__=\"Tool\",i.prototype._known_aliases=new Map,i.define((({String:t,Nullable:e})=>({description:[e(t),null]}))),i.internal((({Boolean:t})=>({active:[t,!1]})))},\n", - " function _(e,o,t,s,n){s();const u=e(224),_=e(231);class l extends u.ButtonToolView{}t.GestureToolView=l,l.__name__=\"GestureToolView\";class i extends u.ButtonTool{constructor(e){super(e),this.button_view=_.OnOffButtonView}}t.GestureTool=i,i.__name__=\"GestureTool\"},\n", - " function _(t,e,o,s,i){s();const n=t(1);var l;const r=(0,n.__importDefault)(t(225)),a=t(226),u=t(222),h=t(43),_=t(34),d=t(8),c=t(9),m=(0,n.__importStar)(t(227)),p=m,v=(0,n.__importDefault)(t(228)),f=(0,n.__importDefault)(t(229)),g=t(230);class b extends a.DOMView{initialize(){super.initialize();const t=this.model.menu;if(null!=t){const e=this.parent.model.toolbar_location,o=\"left\"==e||\"above\"==e,s=this.parent.model.horizontal?\"vertical\":\"horizontal\";this._menu=new g.ContextMenu(o?(0,c.reversed)(t):t,{orientation:s,prevent_hide:t=>t.target==this.el})}this._hammer=new r.default(this.el,{touchAction:\"auto\",inputClass:r.default.TouchMouseInput}),this.connect(this.model.change,(()=>this.render())),this._hammer.on(\"tap\",(t=>{var e;(null===(e=this._menu)||void 0===e?void 0:e.is_open)?this._menu.hide():t.target==this.el&&this._clicked()})),this._hammer.on(\"press\",(()=>this._pressed())),this.el.addEventListener(\"keydown\",(t=>{t.keyCode==h.Keys.Enter&&this._clicked()}))}remove(){var t;this._hammer.destroy(),null===(t=this._menu)||void 0===t||t.remove(),super.remove()}styles(){return[...super.styles(),m.default,v.default,f.default]}css_classes(){return super.css_classes().concat(p.toolbar_button)}render(){(0,h.empty)(this.el);const t=this.model.computed_icon;(0,d.isString)(t)&&((0,_.startsWith)(t,\"data:image\")?this.el.style.backgroundImage=`url(\"${t}\")`:this.el.classList.add(t)),this.el.title=this.model.tooltip,this.el.tabIndex=0,null!=this._menu&&this.root.el.appendChild(this._menu.el)}_pressed(){var t;const e=(()=>{switch(this.parent.model.toolbar_location){case\"right\":return{left_of:this.el};case\"left\":return{right_of:this.el};case\"above\":return{below:this.el};case\"below\":return{above:this.el}}})();null===(t=this._menu)||void 0===t||t.toggle(e)}}o.ButtonToolButtonView=b,b.__name__=\"ButtonToolButtonView\";class w extends u.ToolView{}o.ButtonToolView=w,w.__name__=\"ButtonToolView\";class y extends u.Tool{constructor(t){super(t)}_get_dim_tooltip(t){const{description:e,tool_name:o}=this;return null!=e?e:\"both\"==t?o:`${o} (${\"width\"==t?\"x\":\"y\"}-axis)`}get tooltip(){var t;return null!==(t=this.description)&&void 0!==t?t:this.tool_name}get computed_icon(){return this.icon}get menu(){return null}}o.ButtonTool=y,l=y,y.__name__=\"ButtonTool\",l.internal((({Boolean:t})=>({disabled:[t,!1]})))},\n", - " function _(t,e,i,n,r){\n", - " /*! Hammer.JS - v2.0.7 - 2016-04-22\n", - " * http://hammerjs.github.io/\n", - " *\n", - " * Copyright (c) 2016 Jorik Tangelder;\n", - " * Licensed under the MIT license */\n", - " !function(t,i,n,r){\"use strict\";var s,o=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],a=i.createElement(\"div\"),h=Math.round,u=Math.abs,c=Date.now;function l(t,e,i){return setTimeout(T(t,i),e)}function p(t,e,i){return!!Array.isArray(t)&&(f(t,i[e],i),!0)}function f(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(t.length!==r)for(n=0;n\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",s=t.console&&(t.console.warn||t.console.log);return s&&s.call(t.console,r,n),e.apply(this,arguments)}}s=\"function\"!=typeof Object.assign?function(t){if(t===r||null===t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),i=1;i-1}function S(t){return t.trim().split(/\\s+/g)}function b(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;ni[e]})):n.sort()),n}function x(t,e){for(var i,n,s=e[0].toUpperCase()+e.slice(1),a=0;a1&&!i.firstMultiple?i.firstMultiple=H(e):1===s&&(i.firstMultiple=!1);var o=i.firstInput,a=i.firstMultiple,h=a?a.center:o.center,l=e.center=L(n);e.timeStamp=c(),e.deltaTime=e.timeStamp-o.timeStamp,e.angle=G(h,l),e.distance=j(h,l),function(t,e){var i=e.center,n=t.offsetDelta||{},r=t.prevDelta||{},s=t.prevInput||{};1!==e.eventType&&4!==s.eventType||(r=t.prevDelta={x:s.deltaX||0,y:s.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y});e.deltaX=r.x+(i.x-n.x),e.deltaY=r.y+(i.y-n.y)}(i,e),e.offsetDirection=V(e.deltaX,e.deltaY);var p=U(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=p.x,e.overallVelocityY=p.y,e.overallVelocity=u(p.x)>u(p.y)?p.x:p.y,e.scale=a?(f=a.pointers,v=n,j(v[0],v[1],W)/j(f[0],f[1],W)):1,e.rotation=a?function(t,e){return G(e[1],e[0],W)+G(t[1],t[0],W)}(a.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,s,o,a=t.lastInterval||e,h=e.timeStamp-a.timeStamp;if(8!=e.eventType&&(h>25||a.velocity===r)){var c=e.deltaX-a.deltaX,l=e.deltaY-a.deltaY,p=U(h,c,l);n=p.x,s=p.y,i=u(p.x)>u(p.y)?p.x:p.y,o=V(c,l),t.lastInterval=e}else i=a.velocity,n=a.velocityX,s=a.velocityY,o=a.direction;e.velocity=i,e.velocityX=n,e.velocityY=s,e.direction=o}(i,e);var f,v;var d=t.element;_(e.srcEvent.target,d)&&(d=e.srcEvent.target);e.target=d}(t,i),t.emit(\"hammer.input\",i),t.recognize(i),t.session.prevInput=i}function H(t){for(var e=[],i=0;i=u(e)?t<0?2:4:e<0?8:16}function j(t,e,i){i||(i=F);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return Math.sqrt(n*n+r*r)}function G(t,e,i){i||(i=F);var n=e[i[0]]-t[i[0]],r=e[i[1]]-t[i[1]];return 180*Math.atan2(r,n)/Math.PI}q.prototype={handler:function(){},init:function(){this.evEl&&I(this.element,this.evEl,this.domHandler),this.evTarget&&I(this.target,this.evTarget,this.domHandler),this.evWin&&I(O(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&A(this.element,this.evEl,this.domHandler),this.evTarget&&A(this.target,this.evTarget,this.domHandler),this.evWin&&A(O(this.element),this.evWin,this.domHandler)}};var Z={mousedown:1,mousemove:2,mouseup:4},B=\"mousedown\",$=\"mousemove mouseup\";function J(){this.evEl=B,this.evWin=$,this.pressed=!1,q.apply(this,arguments)}g(J,q,{handler:function(t){var e=Z[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:X,srcEvent:t}))}});var K={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Q={2:N,3:\"pen\",4:X,5:\"kinect\"},tt=\"pointerdown\",et=\"pointermove pointerup pointercancel\";function it(){this.evEl=tt,this.evWin=et,q.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}t.MSPointerEvent&&!t.PointerEvent&&(tt=\"MSPointerDown\",et=\"MSPointerMove MSPointerUp MSPointerCancel\"),g(it,q,{handler:function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace(\"ms\",\"\"),r=K[n],s=Q[t.pointerType]||t.pointerType,o=s==N,a=b(e,t.pointerId,\"pointerId\");1&r&&(0===t.button||o)?a<0&&(e.push(t),a=e.length-1):12&r&&(i=!0),a<0||(e[a]=t,this.callback(this.manager,r,{pointers:e,changedPointers:[t],pointerType:s,srcEvent:t}),i&&e.splice(a,1))}});var nt={touchstart:1,touchmove:2,touchend:4,touchcancel:8},rt=\"touchstart\",st=\"touchstart touchmove touchend touchcancel\";function ot(){this.evTarget=rt,this.evWin=st,this.started=!1,q.apply(this,arguments)}function at(t,e){var i=P(t.touches),n=P(t.changedTouches);return 12&e&&(i=D(i.concat(n),\"identifier\",!0)),[i,n]}g(ot,q,{handler:function(t){var e=nt[t.type];if(1===e&&(this.started=!0),this.started){var i=at.call(this,t,e);12&e&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:N,srcEvent:t})}}});var ht={touchstart:1,touchmove:2,touchend:4,touchcancel:8},ut=\"touchstart touchmove touchend touchcancel\";function ct(){this.evTarget=ut,this.targetIds={},q.apply(this,arguments)}function lt(t,e){var i=P(t.touches),n=this.targetIds;if(3&e&&1===i.length)return n[i[0].identifier]=!0,[i,i];var r,s,o=P(t.changedTouches),a=[],h=this.target;if(s=i.filter((function(t){return _(t.target,h)})),1===e)for(r=0;r-1&&n.splice(t,1)}),2500)}}function dt(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n-1&&this.requireFail.splice(e,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(t){return!!this.simultaneous[t.id]},emit:function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i<8&&n(e.options.event+Dt(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+Dt(i))},tryEmit:function(t){if(this.canEmit())return this.emit(t);this.state=bt},canEmit:function(){for(var t=0;te.threshold&&r&e.direction},attrTest:function(t){return Ot.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},emit:function(t){this.pX=t.deltaX,this.pY=t.deltaY;var e=xt(t.direction);e&&(t.additionalEvent=this.options.event+e),this._super.emit.call(this,t)}}),g(Mt,Ot,{defaults:{event:\"pinch\",threshold:0,pointers:2},getTouchAction:function(){return[It]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.scale-1)>this.options.threshold||2&this.state)},emit:function(t){if(1!==t.scale){var e=t.scale<1?\"in\":\"out\";t.additionalEvent=this.options.event+e}this._super.emit.call(this,t)}}),g(zt,Pt,{defaults:{event:\"press\",pointers:1,time:251,threshold:9},getTouchAction:function(){return[yt]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distancee.time;if(this._input=t,!n||!i||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=l((function(){this.state=8,this.tryEmit()}),e.time,this);else if(4&t.eventType)return 8;return bt},reset:function(){clearTimeout(this._timer)},emit:function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=c(),this.manager.emit(this.options.event,this._input)))}}),g(Nt,Ot,{defaults:{event:\"rotate\",threshold:0,pointers:2},getTouchAction:function(){return[It]},attrTest:function(t){return this._super.attrTest.call(this,t)&&(Math.abs(t.rotation)>this.options.threshold||2&this.state)}}),g(Xt,Ot,{defaults:{event:\"swipe\",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Rt.prototype.getTouchAction.call(this)},attrTest:function(t){var e,i=this.options.direction;return 30&i?e=t.overallVelocity:6&i?e=t.overallVelocityX:i&Y&&(e=t.overallVelocityY),this._super.attrTest.call(this,t)&&i&t.offsetDirection&&t.distance>this.options.threshold&&t.maxPointers==this.options.pointers&&u(e)>this.options.velocity&&4&t.eventType},emit:function(t){var e=xt(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)}}),g(Yt,Pt,{defaults:{event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Et]},process:function(t){var e=this.options,i=t.pointers.length===e.pointers,n=t.distance .bk-divider{cursor:default;overflow:hidden;background-color:#e5e5e5;}.bk-root .bk-context-menu.bk-horizontal > .bk-divider{width:1px;margin:5px 0;}.bk-root .bk-context-menu.bk-vertical > .bk-divider{height:1px;margin:0 5px;}.bk-root .bk-context-menu > :not(.bk-divider){border:1px solid transparent;}.bk-root .bk-context-menu > :not(.bk-divider).bk-active{border-color:#26aae1;}.bk-root .bk-context-menu > :not(.bk-divider):hover{background-color:#f9f9f9;}.bk-root .bk-context-menu > :not(.bk-divider):focus,.bk-root .bk-context-menu > :not(.bk-divider):focus-visible{outline:1px dotted #26aae1;outline-offset:-1px;}.bk-root .bk-context-menu > :not(.bk-divider)::-moz-focus-inner{border:0;}.bk-root .bk-context-menu.bk-horizontal > :not(.bk-divider):first-child{border-top-left-radius:4px;border-bottom-left-radius:4px;}.bk-root .bk-context-menu.bk-horizontal > :not(.bk-divider):last-child{border-top-right-radius:4px;border-bottom-right-radius:4px;}.bk-root .bk-context-menu.bk-vertical > :not(.bk-divider):first-child{border-top-left-radius:4px;border-top-right-radius:4px;}.bk-root .bk-context-menu.bk-vertical > :not(.bk-divider):last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;}.bk-root .bk-menu{position:absolute;left:0;width:100%;z-index:100;cursor:pointer;font-size:12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);}.bk-root .bk-menu.bk-above{bottom:100%;}.bk-root .bk-menu.bk-below{top:100%;}.bk-root .bk-menu > .bk-divider{height:1px;margin:7.5px 0;overflow:hidden;background-color:#e5e5e5;}.bk-root .bk-menu > :not(.bk-divider){padding:6px 12px;}.bk-root .bk-menu > :not(.bk-divider):hover,.bk-root .bk-menu > :not(.bk-divider).bk-active{background-color:#e6e6e6;}.bk-root .bk-caret{display:inline-block;vertical-align:middle;width:0;height:0;margin:0 5px;}.bk-root .bk-caret.bk-down{border-top:4px solid;}.bk-root .bk-caret.bk-up{border-bottom:4px solid;}.bk-root .bk-caret.bk-down,.bk-root .bk-caret.bk-up{border-right:4px solid transparent;border-left:4px solid transparent;}.bk-root .bk-caret.bk-left{border-right:4px solid;}.bk-root .bk-caret.bk-right{border-left:4px solid;}.bk-root .bk-caret.bk-left,.bk-root .bk-caret.bk-right{border-top:4px solid transparent;border-bottom:4px solid transparent;}\"},\n", - " function _(t,e,i,n,o){n();const s=t(1),l=t(43),h=t(9),r=(0,s.__importStar)(t(229));class d{constructor(t,e={}){var i,n;this.items=t,this.el=(0,l.div)(),this._open=!1,this._item_click=t=>{var e;null===(e=t.handler)||void 0===e||e.call(t),this.hide()},this._on_mousedown=t=>{var e;const{target:i}=t;i instanceof Node&&this.el.contains(i)||(null===(e=this.prevent_hide)||void 0===e?void 0:e.call(this,t))||this.hide()},this._on_keydown=t=>{t.keyCode==l.Keys.Esc&&this.hide()},this._on_blur=()=>{this.hide()},this.orientation=null!==(i=e.orientation)&&void 0!==i?i:\"vertical\",this.reversed=null!==(n=e.reversed)&&void 0!==n&&n,this.prevent_hide=e.prevent_hide,(0,l.undisplay)(this.el)}get is_open(){return this._open}get can_open(){return 0!=this.items.length}remove(){(0,l.remove)(this.el),this._unlisten()}_listen(){document.addEventListener(\"mousedown\",this._on_mousedown),document.addEventListener(\"keydown\",this._on_keydown),window.addEventListener(\"blur\",this._on_blur)}_unlisten(){document.removeEventListener(\"mousedown\",this._on_mousedown),document.removeEventListener(\"keydown\",this._on_keydown),window.removeEventListener(\"blur\",this._on_blur)}_position(t){const e=this.el.parentElement;if(null!=e){const i=(()=>{if(\"left_of\"in t){const{left:e,top:i}=t.left_of.getBoundingClientRect();return{right:e,top:i}}if(\"right_of\"in t){const{top:e,right:i}=t.right_of.getBoundingClientRect();return{left:i,top:e}}if(\"below\"in t){const{left:e,bottom:i}=t.below.getBoundingClientRect();return{left:e,top:i}}if(\"above\"in t){const{left:e,top:i}=t.above.getBoundingClientRect();return{left:e,bottom:i}}return t})(),n=e.getBoundingClientRect();this.el.style.left=null!=i.left?i.left-n.left+\"px\":\"\",this.el.style.top=null!=i.top?i.top-n.top+\"px\":\"\",this.el.style.right=null!=i.right?n.right-i.right+\"px\":\"\",this.el.style.bottom=null!=i.bottom?n.bottom-i.bottom+\"px\":\"\"}}render(){var t;(0,l.empty)(this.el,!0),(0,l.classes)(this.el).add(\"bk-context-menu\",`bk-${this.orientation}`);const e=this.reversed?(0,h.reversed)(this.items):this.items;for(const i of e){let e;if(null==i)e=(0,l.div)({class:r.divider});else{if(null!=i.if&&!i.if())continue;if(null!=i.content)e=i.content;else{const n=null!=i.icon?(0,l.div)({class:[\"bk-menu-icon\",i.icon]}):null,o=[(null===(t=i.active)||void 0===t?void 0:t.call(i))?\"bk-active\":null,i.class];e=(0,l.div)({class:o,title:i.tooltip,tabIndex:0},n,i.label,i.content),e.addEventListener(\"click\",(()=>{this._item_click(i)})),e.addEventListener(\"keydown\",(t=>{t.keyCode==l.Keys.Enter&&this._item_click(i)}))}}this.el.appendChild(e)}}show(t){if(0!=this.items.length&&!this._open){if(this.render(),0==this.el.children.length)return;this._position(null!=t?t:{left:0,top:0}),(0,l.display)(this.el),this._listen(),this._open=!0}}hide(){this._open&&(this._open=!1,this._unlisten(),(0,l.undisplay)(this.el))}toggle(t){this._open?this.hide():this.show(t)}}i.ContextMenu=d,d.__name__=\"ContextMenu\"},\n", - " function _(t,e,i,n,o){n();const s=t(1),c=t(224),l=(0,s.__importStar)(t(227)),a=t(43);class _ extends c.ButtonToolButtonView{render(){super.render(),(0,a.classes)(this.el).toggle(l.active,this.model.active)}_clicked(){const{active:t}=this.model;this.model.active=!t}}i.OnOffButtonView=_,_.__name__=\"OnOffButtonView\"},\n", - " function _(e,o,t,n,s){var c;n();const l=e(224),_=e(231);class i extends l.ButtonToolView{}t.InspectToolView=i,i.__name__=\"InspectToolView\";class a extends l.ButtonTool{constructor(e){super(e),this.event_type=\"move\"}}t.InspectTool=a,c=a,a.__name__=\"InspectTool\",c.prototype.button_view=_.OnOffButtonView,c.define((({Boolean:e})=>({toggleable:[e,!0]}))),c.override({active:!0})},\n", - " function _(t,o,e,l,i){l();const s=t(1);var n,a;const r=t(19),c=t(43),h=t(113),_=t(226),u=t(20),v=t(9),d=t(234),p=t(13),b=t(8),g=t(235),f=t(65),m=t(53),w=t(222),y=t(223),T=t(238),z=t(239),x=t(232),B=t(230),C=(0,s.__importStar)(t(227)),k=C,L=(0,s.__importStar)(t(240)),M=L;class S extends m.Model{constructor(t){super(t)}get visible(){var t;return!this.autohide||null!==(t=this._visible)&&void 0!==t&&t}}e.ToolbarViewModel=S,n=S,S.__name__=\"ToolbarViewModel\",n.define((({Boolean:t})=>({autohide:[t,!1]}))),n.internal((({Boolean:t,Nullable:o})=>({_visible:[o(t),null]})));class $ extends _.DOMView{constructor(){super(...arguments),this.layout={bbox:new f.BBox}}initialize(){super.initialize(),this._tool_button_views=new Map,this._toolbar_view_model=new S({autohide:this.model.autohide});const{toolbar_location:t}=this.model,o=\"left\"==t||\"above\"==t,e=this.model.horizontal?\"vertical\":\"horizontal\";this._overflow_menu=new B.ContextMenu([],{orientation:e,reversed:o})}async lazy_initialize(){await super.lazy_initialize(),await this._build_tool_button_views()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.tools.change,(async()=>{await this._build_tool_button_views(),this.render()})),this.connect(this.model.properties.autohide.change,(()=>{this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change()})),this.connect(this._toolbar_view_model.properties._visible.change,(()=>this._on_visible_change()))}styles(){return[...super.styles(),C.default,L.default]}remove(){(0,h.remove_views)(this._tool_button_views),super.remove()}async _build_tool_button_views(){const t=null!=this.model._proxied_tools?this.model._proxied_tools:this.model.tools;await(0,h.build_views)(this._tool_button_views,t,{parent:this},(t=>t.button_view))}set_visibility(t){t!=this._toolbar_view_model._visible&&(this._toolbar_view_model._visible=t)}_on_visible_change(){const{visible:t}=this._toolbar_view_model;(0,c.classes)(this.el).toggle(k.toolbar_hidden,!t)}render(){(0,c.empty)(this.el),this.el.classList.add(k.toolbar),this.el.classList.add(k[this.model.toolbar_location]),this._toolbar_view_model.autohide=this.model.autohide,this._on_visible_change();const{horizontal:t}=this.model;let o=0;if(null!=this.model.logo){const e=\"grey\"===this.model.logo?M.grey:null,l=(0,c.a)({href:\"https://bokeh.org/\",target:\"_blank\",class:[M.logo,M.logo_small,e]});this.el.appendChild(l);const{width:i,height:s}=l.getBoundingClientRect();o+=t?i:s}for(const[,t]of this._tool_button_views)t.render();const e=[],l=t=>this._tool_button_views.get(t).el,{gestures:i}=this.model;for(const t of(0,p.values)(i))e.push(t.tools.map(l));e.push(this.model.actions.map(l)),e.push(this.model.inspectors.filter((t=>t.toggleable)).map(l));const s=e.filter((t=>0!=t.length)),n=()=>(0,c.div)({class:k.divider}),{bbox:a}=this.layout;let r=!1;this.root.el.appendChild(this._overflow_menu.el);const h=(0,c.div)({class:k.tool_overflow,tabIndex:0},t?\"\\u22ee\":\"\\u22ef\"),_=()=>{const t=(()=>{switch(this.model.toolbar_location){case\"right\":return{left_of:h};case\"left\":return{right_of:h};case\"above\":return{below:h};case\"below\":return{above:h}}})();this._overflow_menu.toggle(t)};h.addEventListener(\"click\",(()=>{_()})),h.addEventListener(\"keydown\",(t=>{t.keyCode==c.Keys.Enter&&_()}));for(const e of(0,d.join)(s,n))if(r)this._overflow_menu.items.push({content:e,class:t?k.right:k.above});else{this.el.appendChild(e);const{width:l,height:i}=e.getBoundingClientRect();if(o+=t?l:i,r=t?o>a.width-15:o>a.height-15,r){this.el.removeChild(e),this.el.appendChild(h);const{items:t}=this._overflow_menu;t.splice(0,t.length),t.push({content:e})}}}update_layout(){}update_position(){}after_layout(){this._has_finished=!0}export(t,o=!0){const e=\"png\"==t?\"canvas\":\"svg\",l=new g.CanvasLayer(e,o);return l.resize(0,0),l}}function V(){return{pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},pressup:{tools:[],active:null},rotate:{tools:[],active:null},move:{tools:[],active:null},multi:{tools:[],active:null}}}e.ToolbarBaseView=$,$.__name__=\"ToolbarBaseView\";class A extends m.Model{constructor(t){super(t)}initialize(){super.initialize(),this._init_tools()}_init_tools(){const t=function(t,o){if(t.length!=o.length)return!0;const e=new Set(o.map((t=>t.id)));return(0,v.some)(t,(t=>!e.has(t.id)))},o=this.tools.filter((t=>t instanceof x.InspectTool));t(this.inspectors,o)&&(this.inspectors=o);const e=this.tools.filter((t=>t instanceof z.HelpTool));t(this.help,e)&&(this.help=e);const l=this.tools.filter((t=>t instanceof T.ActionTool));t(this.actions,l)&&(this.actions=l);const i=(t,o)=>{t in this.gestures||r.logger.warn(`Toolbar: unknown event type '${t}' for tool: ${o}`)},s={pan:{tools:[],active:null},scroll:{tools:[],active:null},pinch:{tools:[],active:null},tap:{tools:[],active:null},doubletap:{tools:[],active:null},press:{tools:[],active:null},pressup:{tools:[],active:null},rotate:{tools:[],active:null},move:{tools:[],active:null},multi:{tools:[],active:null}};for(const t of this.tools)if(t instanceof y.GestureTool&&t.event_type)if((0,b.isString)(t.event_type))s[t.event_type].tools.push(t),i(t.event_type,t);else{s.multi.tools.push(t);for(const o of t.event_type)i(o,t)}for(const o of Object.keys(s)){const e=this.gestures[o];t(e.tools,s[o].tools)&&(e.tools=s[o].tools),e.active&&(0,v.every)(e.tools,(t=>t.id!=e.active.id))&&(e.active=null)}}get horizontal(){return\"above\"===this.toolbar_location||\"below\"===this.toolbar_location}get vertical(){return\"left\"===this.toolbar_location||\"right\"===this.toolbar_location}_active_change(t){const{event_type:o}=t;if(null==o)return;const e=(0,b.isString)(o)?[o]:o;for(const o of e)if(t.active){const e=this.gestures[o].active;null!=e&&t!=e&&(r.logger.debug(`Toolbar: deactivating tool: ${e} for event type '${o}'`),e.active=!1),this.gestures[o].active=t,r.logger.debug(`Toolbar: activating tool: ${t} for event type '${o}'`)}else this.gestures[o].active=null}}e.ToolbarBase=A,a=A,A.__name__=\"ToolbarBase\",a.prototype.default_view=$,a.define((({Boolean:t,Array:o,Ref:e,Nullable:l})=>({tools:[o(e(w.Tool)),[]],logo:[l(u.Logo),\"normal\"],autohide:[t,!1]}))),a.internal((({Array:t,Struct:o,Ref:e,Nullable:l})=>{const i=o({tools:t(e(y.GestureTool)),active:l(e(w.Tool))});return{gestures:[o({pan:i,scroll:i,pinch:i,tap:i,doubletap:i,press:i,pressup:i,rotate:i,move:i,multi:i}),V],actions:[t(e(T.ActionTool)),[]],inspectors:[t(e(x.InspectTool)),[]],help:[t(e(z.HelpTool)),[]],toolbar_location:[u.Location,\"right\"]}}))},\n", - " function _(n,o,e,t,f){t();const r=n(9);function*i(n,o){const e=n.length;if(o>e)return;const t=(0,r.range)(o);for(yield t.map((o=>n[o]));;){let f;for(const n of(0,r.reversed)((0,r.range)(o)))if(t[n]!=n+e-o){f=n;break}if(null==f)return;t[f]+=1;for(const n of(0,r.range)(f+1,o))t[n]=t[n-1]+1;yield t.map((o=>n[o]))}}e.enumerate=function*(n){let o=0;for(const e of n)yield[e,o++]},e.join=function*(n,o){let e=!0;for(const t of n)e?e=!1:null!=o&&(yield o()),yield*t},e.combinations=i,e.subsets=function*(n){for(const o of(0,r.range)(n.length+1))yield*i(n,o)}},\n", - " function _(t,e,s,i,n){i();const o=t(236),a=t(65),r=t(43);function h(t){!function(t){void 0===t.lineDash&&Object.defineProperty(t,\"lineDash\",{get:()=>t.getLineDash(),set:e=>t.setLineDash(e)})}(t),function(t){t.setImageSmoothingEnabled=e=>{t.imageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.oImageSmoothingEnabled=e,t.webkitImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e},t.getImageSmoothingEnabled=()=>{const e=t.imageSmoothingEnabled;return null==e||e}}(t),function(t){t.ellipse||(t.ellipse=function(e,s,i,n,o,a,r,h=!1){const l=.551784;t.translate(e,s),t.rotate(o);let c=i,g=n;h&&(c=-i,g=-n),t.moveTo(-c,0),t.bezierCurveTo(-c,g*l,-c*l,g,0,g),t.bezierCurveTo(c*l,g,c,g*l,c,0),t.bezierCurveTo(c,-g*l,c*l,-g,0,-g),t.bezierCurveTo(-c*l,-g,-c,-g*l,-c,0),t.rotate(-o),t.translate(-e,-s)})}(t)}const l={position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"};class c{constructor(t,e){switch(this.backend=t,this.hidpi=e,this.pixel_ratio=1,this.bbox=new a.BBox,t){case\"webgl\":case\"canvas\":{this._el=this._canvas=(0,r.canvas)({style:l});const t=this.canvas.getContext(\"2d\");if(null==t)throw new Error(\"unable to obtain 2D rendering context\");this._ctx=t,e&&(this.pixel_ratio=devicePixelRatio);break}case\"svg\":{const t=new o.SVGRenderingContext2D;this._ctx=t,this._canvas=t.get_svg(),this._el=(0,r.div)({style:l},this._canvas);break}}this._ctx.layer=this,h(this._ctx)}get canvas(){return this._canvas}get ctx(){return this._ctx}get el(){return this._el}resize(t,e){this.bbox=new a.BBox({left:0,top:0,width:t,height:e});const s=this._ctx instanceof o.SVGRenderingContext2D?this._ctx:this.canvas;s.width=t*this.pixel_ratio,s.height=e*this.pixel_ratio}undo_transform(t){const{ctx:e}=this;if(void 0===e.getTransform)t(e);else{const s=e.getTransform();e.setTransform(this._base_transform);try{t(e)}finally{e.setTransform(s)}}}prepare(){const{ctx:t,hidpi:e,pixel_ratio:s}=this;t.save(),e&&(t.scale(s,s),t.translate(.5,.5)),void 0!==t.getTransform&&(this._base_transform=t.getTransform()),this.clear()}clear(){const{x:t,y:e,width:s,height:i}=this.bbox;this.ctx.clearRect(t,e,s,i)}finish(){this.ctx.restore()}to_blob(){const{_canvas:t}=this;if(t instanceof HTMLCanvasElement)return null!=t.msToBlob?Promise.resolve(t.msToBlob()):new Promise(((e,s)=>{t.toBlob((t=>null!=t?e(t):s()),\"image/png\")}));{const t=this._ctx.get_serialized_svg(!0),e=new Blob([t],{type:\"image/svg+xml\"});return Promise.resolve(e)}}}s.CanvasLayer=c,c.__name__=\"CanvasLayer\"},\n", - " function _(t,e,i,s,r){s();const n=t(122),a=t(8),o=t(237),l=t(43);function h(t){var e;const i={left:\"start\",right:\"end\",center:\"middle\",start:\"start\",end:\"end\"};return null!==(e=i[t])&&void 0!==e?e:i.start}function _(t){var e;const i={alphabetic:\"alphabetic\",hanging:\"hanging\",top:\"text-before-edge\",bottom:\"text-after-edge\",middle:\"central\"};return null!==(e=i[t])&&void 0!==e?e:i.alphabetic}const c=function(t,e){const i=new Map,s=t.split(\",\");e=null!=e?e:10;for(let t=0;t=0?Math.acos(e):-Math.acos(e)}const v=b(f),A=b(g);this.lineTo(d+f[0]*r,m+f[1]*r),this.arc(d,m,r,v,A)}stroke(){\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"fill\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"stroke\"),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}fill(t,e){let i=null;if(t instanceof Path2D)i=t;else{if(\"evenodd\"!=t&&\"nonzero\"!=t&&null!=t||null!=e)throw new Error(\"invalid arguments\");e=t}if(null!=i)throw new Error(\"not implemented\");\"none\"!=this.__currentElement.getAttribute(\"fill\")&&this.__init_element(),\"path\"===this.__currentElement.nodeName&&this.__currentElement.setAttribute(\"paint-order\",\"stroke\"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement(\"fill\"),null!=e&&this.__currentElement.setAttribute(\"fill-rule\",e),null!=this._clip_path&&this.__currentElement.setAttribute(\"clip-path\",this._clip_path)}rect(t,e,i,s){isFinite(t+e+i+s)&&(this.moveTo(t,e),this.lineTo(t+i,e),this.lineTo(t+i,e+s),this.lineTo(t,e+s),this.lineTo(t,e))}fillRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.fill())}strokeRect(t,e,i,s){isFinite(t+e+i+s)&&(this.beginPath(),this.rect(t,e,i,s),this.stroke())}__clearCanvas(){(0,l.empty)(this.__defs),(0,l.empty)(this.__root),this.__root.appendChild(this.__defs),this.__currentElement=this.__root}clearRect(t,e,i,s){if(!isFinite(t+e+i+s))return;if(0===t&&0===e&&i===this.width&&s===this.height)return void this.__clearCanvas();const r=this.__createElement(\"rect\",{x:t,y:e,width:i,height:s,fill:\"#FFFFFF\"},!0);this._apply_transform(r),this.__root.appendChild(r)}createLinearGradient(t,e,i,s){if(!isFinite(t+e+i+s))throw new Error(\"The provided double value is non-finite\");const[r,n]=this._transform.apply(t,e),[a,o]=this._transform.apply(i,s),l=this.__createElement(\"linearGradient\",{id:this._random_string(),x1:`${r}px`,x2:`${a}px`,y1:`${n}px`,y2:`${o}px`,gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(l),new u(l,this)}createRadialGradient(t,e,i,s,r,n){if(!isFinite(t+e+i+s+r+n))throw new Error(\"The provided double value is non-finite\");const[a,o]=this._transform.apply(t,e),[l,h]=this._transform.apply(s,r),_=this.__createElement(\"radialGradient\",{id:this._random_string(),cx:`${l}px`,cy:`${h}px`,r:`${n}px`,r0:`${i}px`,fx:`${a}px`,fy:`${o}px`,gradientUnits:\"userSpaceOnUse\"},!1);return this.__defs.appendChild(_),new u(_,this)}__parseFont(){var t,e,i,s,r;const n=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i.exec(this.font);return{style:null!==(t=n[1])&&void 0!==t?t:\"normal\",size:null!==(e=n[4])&&void 0!==e?e:\"10px\",family:null!==(i=n[6])&&void 0!==i?i:\"sans-serif\",weight:null!==(s=n[3])&&void 0!==s?s:\"normal\",decoration:null!==(r=n[2])&&void 0!==r?r:\"normal\"}}__applyText(t,e,i,s){const r=this.__parseFont(),n=this.__createElement(\"text\",{\"font-family\":r.family,\"font-size\":r.size,\"font-style\":r.style,\"font-weight\":r.weight,\"text-decoration\":r.decoration,x:e,y:i,\"text-anchor\":h(this.textAlign),\"dominant-baseline\":_(this.textBaseline)},!0);n.appendChild(this.__document.createTextNode(t)),this._apply_transform(n),this.__currentElement=n,this.__applyStyleToCurrentElement(s);const a=(()=>{if(null!=this._clip_path){const t=this.__createElement(\"g\");return t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(n),t}return n})();this.__root.appendChild(a)}fillText(t,e,i){null!=t&&isFinite(e+i)&&this.__applyText(t,e,i,\"fill\")}strokeText(t,e,i){null!=t&&isFinite(e+i)&&this.__applyText(t,e,i,\"stroke\")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,e,i,s,r,n=!1){this.ellipse(t,e,i,i,0,s,r,n)}ellipse(t,e,i,s,r,n,a,o=!1){if(!isFinite(t+e+i+s+r+n+a))return;if(i<0||s<0)throw new DOMException(\"IndexSizeError, radius can't be negative\");(n%=2*Math.PI)===(a%=2*Math.PI)&&(a=(a+2*Math.PI-.001*(o?-1:1))%(2*Math.PI));const l=t+i*Math.cos(a),h=e+s*Math.sin(a),_=t+i*Math.cos(n),c=e+s*Math.sin(n),p=o?0:1;let u=0,d=a-n;d<0&&(d+=2*Math.PI),u=o?d>Math.PI?0:1:d>Math.PI?1:0,this.lineTo(_,c);const[m,f]=this._transform.apply(l,h),g=180*r/Math.PI;this.__addPathCommand(m,f,`A ${i} ${s} ${g} ${u} ${p} ${m} ${f}`)}clip(){const t=this.__createElement(\"clipPath\"),e=this._random_string();this.__applyCurrentDefaultPath(),t.setAttribute(\"id\",e),t.appendChild(this.__currentElement),this.__defs.appendChild(t),this._clip_path=`url(#${e})`}drawImage(t,...e){let i,s,r,n,a,o,l,h;if(2==e.length){if([i,s]=e,!isFinite(i+s))return;a=0,o=0,l=t.width,h=t.height,r=l,n=h}else if(4==e.length){if([i,s,r,n]=e,!isFinite(i+s+r+n))return;a=0,o=0,l=t.width,h=t.height}else{if(8!==e.length)throw new Error(`Inavlid number of arguments passed to drawImage: ${arguments.length}`);if([a,o,l,h,i,s,r,n]=e,!isFinite(a+o+l+h+i+s+r+n))return}const _=this.__root,c=this._transform.clone().translate(i,s);if(t instanceof m||t instanceof SVGSVGElement){const e=(t instanceof SVGSVGElement?t:t.get_svg()).cloneNode(!0);let i;c.is_identity&&1==this.globalAlpha&&null==this._clip_path?i=_:(i=this.__createElement(\"g\"),c.is_identity||this._apply_transform(i,c),1!=this.globalAlpha&&i.setAttribute(\"opacity\",`${this.globalAlpha}`),null!=this._clip_path&&i.setAttribute(\"clip-path\",this._clip_path),_.appendChild(i));for(const t of[...e.childNodes])if(t instanceof SVGDefsElement){for(const e of[...t.childNodes])if(e instanceof Element){const t=e.getAttribute(\"id\");this.__ids.add(t),this.__defs.appendChild(e.cloneNode(!0))}}else i.appendChild(t.cloneNode(!0))}else if(t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__createElement(\"image\");if(e.setAttribute(\"width\",`${r}`),e.setAttribute(\"height\",`${n}`),e.setAttribute(\"preserveAspectRatio\",\"none\"),1!=this.globalAlpha&&e.setAttribute(\"opacity\",`${this.globalAlpha}`),a||o||l!==t.width||h!==t.height){const e=this.__document.createElement(\"canvas\");e.width=r,e.height=n;e.getContext(\"2d\").drawImage(t,a,o,l,h,0,0,r,n),t=e}this._apply_transform(e,c);const i=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");if(e.setAttribute(\"href\",i),null!=this._clip_path){const t=this.__createElement(\"g\");t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(e),_.appendChild(t)}else _.appendChild(e)}else if(t instanceof HTMLCanvasElement){const e=this.__createElement(\"image\");e.setAttribute(\"width\",`${r}`),e.setAttribute(\"height\",`${n}`),e.setAttribute(\"preserveAspectRatio\",\"none\"),1!=this.globalAlpha&&e.setAttribute(\"opacity\",`${this.globalAlpha}`);const i=this.__document.createElement(\"canvas\");i.width=r,i.height=n;const s=i.getContext(\"2d\");if(s.imageSmoothingEnabled=!1,s.drawImage(t,a,o,l,h,0,0,r,n),t=i,this._apply_transform(e,c),e.setAttribute(\"href\",t.toDataURL()),null!=this._clip_path){const t=this.__createElement(\"g\");t.setAttribute(\"clip-path\",this._clip_path),t.appendChild(e),_.appendChild(t)}else _.appendChild(e)}}createPattern(t,e){const i=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"pattern\"),s=this._random_string();if(i.setAttribute(\"id\",s),i.setAttribute(\"width\",`${this._to_number(t.width)}`),i.setAttribute(\"height\",`${this._to_number(t.height)}`),i.setAttribute(\"patternUnits\",\"userSpaceOnUse\"),t instanceof HTMLCanvasElement||t instanceof HTMLImageElement||t instanceof SVGImageElement){const e=this.__document.createElementNS(\"http://www.w3.org/2000/svg\",\"image\"),s=t instanceof HTMLCanvasElement?t.toDataURL():t.getAttribute(\"src\");e.setAttribute(\"href\",s),i.appendChild(e),this.__defs.appendChild(i)}else if(t instanceof m){for(const e of[...t.__root.childNodes])e instanceof SVGDefsElement||i.appendChild(e.cloneNode(!0));this.__defs.appendChild(i)}else{if(!(t instanceof SVGSVGElement))throw new Error(\"unsupported\");for(const e of[...t.childNodes])e instanceof SVGDefsElement||i.appendChild(e.cloneNode(!0));this.__defs.appendChild(i)}return new d(i,this)}getLineDash(){const{lineDash:t}=this;return(0,a.isString)(t)?t.split(\",\").map((t=>parseInt(t))):null==t?[]:t}setLineDash(t){t&&t.length>0?this.lineDash=t.join(\",\"):this.lineDash=null}_to_number(t){return(0,a.isNumber)(t)?t:t.baseVal.value}getTransform(){return this._transform.to_DOMMatrix()}setTransform(...t){let e;e=(0,a.isNumber)(t[0])?new DOMMatrix(t):t[0]instanceof DOMMatrix?t[0]:new DOMMatrix(Object.values(!t[0])),this._transform=n.AffineTransform.from_DOMMatrix(e)}resetTransform(){this._transform=new n.AffineTransform}isPointInPath(...t){throw new Error(\"not implemented\")}isPointInStroke(...t){throw new Error(\"not implemented\")}createImageData(...t){throw new Error(\"not implemented\")}getImageData(t,e,i,s){throw new Error(\"not implemented\")}putImageData(...t){throw new Error(\"not implemented\")}drawFocusIfNeeded(...t){throw new Error(\"not implemented\")}scrollPathIntoView(...t){throw new Error(\"not implemented\")}}i.SVGRenderingContext2D=m,m.__name__=\"SVGRenderingContext2D\",m.__random=o.random},\n", - " function _(e,t,s,n,r){n();const o=2147483647;class i{constructor(e){this.seed=e%o,this.seed<=0&&(this.seed+=2147483646)}integer(){return this.seed=48271*this.seed%o,this.seed}float(){return(this.integer()-1)/2147483646}floats(e,t=0,s=1){const n=new Array(e);for(let r=0;rthis.doit(o)))}}n.ActionToolView=_,_.__name__=\"ActionToolView\";class d extends s.ButtonTool{constructor(o){super(o),this.button_view=l,this.do=new c.Signal(this,\"do\")}}n.ActionTool=d,d.__name__=\"ActionTool\"},\n", - " function _(o,e,t,l,i){var s;l();const n=o(238),r=o(228);class c extends n.ActionToolView{doit(){window.open(this.model.redirect)}}t.HelpToolView=c,c.__name__=\"HelpToolView\";class _ extends n.ActionTool{constructor(o){super(o),this.tool_name=\"Help\",this.icon=r.tool_icon_help}}t.HelpTool=_,s=_,_.__name__=\"HelpTool\",s.prototype.default_view=c,s.define((({String:o})=>({redirect:[o,\"https://docs.bokeh.org/en/latest/docs/user_guide/tools.html\"]}))),s.override({description:\"Click the question mark to learn more about Bokeh plot tools.\"}),s.register_alias(\"help\",(()=>new _))},\n", - " function _(o,l,g,A,r){A(),g.root=\"bk-root\",g.logo=\"bk-logo\",g.grey=\"bk-grey\",g.logo_small=\"bk-logo-small\",g.logo_notebook=\"bk-logo-notebook\",g.default=\".bk-root .bk-logo{margin:5px;position:relative;display:block;background-repeat:no-repeat;}.bk-root .bk-logo.bk-grey{filter:url(\\\"data:image/svg+xml;utf8,#grayscale\\\");filter:gray;-webkit-filter:grayscale(100%);}.bk-root .bk-logo-small{width:20px;height:20px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAAAOkSURBVDiNjZRtaJVlGMd/1/08zzln5zjP1LWcU9N0NkN8m2CYjpgQYQXqSs0I84OLIC0hkEKoPtiH3gmKoiJDU7QpLgoLjLIQCpEsNJ1vqUOdO7ppbuec5+V+rj4ctwzd8IIbbi6u+8f1539dt3A78eXC7QizUF7gyV1fD1Yqg4JWz84yffhm0qkFqBogB9rM8tZdtwVsPUhWhGcFJngGeWrPzHm5oaMmkfEg1usvLFyc8jLRqDOMru7AyC8saQr7GG7f5fvDeH7Ej8CM66nIF+8yngt6HWaKh7k49Soy9nXurCi1o3qUbS3zWfrYeQDTB/Qj6kX6Ybhw4B+bOYoLKCC9H3Nu/leUTZ1JdRWkkn2ldcCamzrcf47KKXdAJllSlxAOkRgyHsGC/zRday5Qld9DyoM4/q/rUoy/CXh3jzOu3bHUVZeU+DEn8FInkPBFlu3+nW3Nw0mk6vCDiWg8CeJaxEwuHS3+z5RgY+YBR6V1Z1nxSOfoaPa4LASWxxdNp+VWTk7+4vzaou8v8PN+xo+KY2xsw6une2frhw05CTYOmQvsEhjhWjn0bmXPjpE1+kplmmkP3suftwTubK9Vq22qKmrBhpY4jvd5afdRA3wGjFAgcnTK2s4hY0/GPNIb0nErGMCRxWOOX64Z8RAC4oCXdklmEvcL8o0BfkNK4lUg9HTl+oPlQxdNo3Mg4Nv175e/1LDGzZen30MEjRUtmXSfiTVu1kK8W4txyV6BMKlbgk3lMwYCiusNy9fVfvvwMxv8Ynl6vxoByANLTWplvuj/nF9m2+PDtt1eiHPBr1oIfhCChQMBw6Aw0UulqTKZdfVvfG7VcfIqLG9bcldL/+pdWTLxLUy8Qq38heUIjh4XlzZxzQm19lLFlr8vdQ97rjZVOLf8nclzckbcD4wxXMidpX30sFd37Fv/GtwwhzhxGVAprjbg0gCAEeIgwCZyTV2Z1REEW8O4py0wsjeloKoMr6iCY6dP92H6Vw/oTyICIthibxjm/DfN9lVz8IqtqKYLUXfoKVMVQVVJOElGjrnnUt9T9wbgp8AyYKaGlqingHZU/uG2NTZSVqwHQTWkx9hxjkpWDaCg6Ckj5qebgBVbT3V3NNXMSiWSDdGV3hrtzla7J+duwPOToIg42ChPQOQjspnSlp1V+Gjdged7+8UN5CRAV7a5EdFNwCjEaBR27b3W890TE7g24NAP/mMDXRWrGoFPQI9ls/MWO2dWFAar/xcOIImbbpA3zgAAAABJRU5ErkJggg==);}.bk-root .bk-logo-notebook{display:inline-block;vertical-align:middle;margin-right:5px;}\"},\n", - " function _(e,t,s,i,l){i();const o=e(1);var n;const a=e(40),h=e(20),r=e(43),c=(0,o.__importStar)(e(242)),d=c;class p extends a.AnnotationView{initialize(){super.initialize(),this.el=(0,r.div)({class:d.tooltip}),(0,r.undisplay)(this.el),this.plot_view.canvas_view.add_overlay(this.el)}remove(){(0,r.remove)(this.el),super.remove()}connect_signals(){super.connect_signals(),this.connect(this.model.properties.content.change,(()=>this.render())),this.connect(this.model.properties.position.change,(()=>this._reposition()))}styles(){return[...super.styles(),c.default]}render(){this.model.visible||(0,r.undisplay)(this.el),super.render()}_render(){const{content:e}=this.model;null!=e?((0,r.empty)(this.el),(0,r.classes)(this.el).toggle(\"bk-tooltip-custom\",this.model.custom),this.el.appendChild(e),this.model.show_arrow&&this.el.classList.add(d.tooltip_arrow)):(0,r.undisplay)(this.el)}_reposition(){const{position:e}=this.model;if(null==e)return void(0,r.undisplay)(this.el);const[t,s]=e,i=(()=>{const e=this.parent.layout.bbox.relative(),{attachment:i}=this.model;switch(i){case\"horizontal\":return t({attachment:[h.TooltipAttachment,\"horizontal\"],inner_only:[e,!0],show_arrow:[e,!0]}))),n.internal((({Boolean:e,Number:t,Tuple:s,Ref:i,Nullable:l})=>({position:[l(s(t,t)),null],content:[i(HTMLElement),()=>(0,r.div)()],custom:[e]}))),n.override({level:\"overlay\"})},\n", - " function _(o,t,r,e,l){e(),r.root=\"bk-root\",r.tooltip=\"bk-tooltip\",r.left=\"bk-left\",r.tooltip_arrow=\"bk-tooltip-arrow\",r.right=\"bk-right\",r.above=\"bk-above\",r.below=\"bk-below\",r.tooltip_row_label=\"bk-tooltip-row-label\",r.tooltip_row_value=\"bk-tooltip-row-value\",r.tooltip_color_block=\"bk-tooltip-color-block\",r.default='.bk-root{}.bk-root .bk-tooltip{font-weight:300;font-size:12px;position:absolute;padding:5px;border:1px solid #e5e5e5;color:#2f2f2f;background-color:white;pointer-events:none;opacity:0.95;z-index:100;}.bk-root .bk-tooltip > div:not(:first-child){margin-top:5px;border-top:#e5e5e5 1px dashed;}.bk-root .bk-tooltip.bk-left.bk-tooltip-arrow::before{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\" \";display:block;left:-10px;border-right-width:10px;border-right-color:#909599;}.bk-root .bk-tooltip.bk-left::before{left:-10px;border-right-width:10px;border-right-color:#909599;}.bk-root .bk-tooltip.bk-right.bk-tooltip-arrow::after{position:absolute;margin:-7px 0 0 0;top:50%;width:0;height:0;border-style:solid;border-width:7px 0 7px 0;border-color:transparent;content:\" \";display:block;right:-10px;border-left-width:10px;border-left-color:#909599;}.bk-root .bk-tooltip.bk-right::after{right:-10px;border-left-width:10px;border-left-color:#909599;}.bk-root .bk-tooltip.bk-above::before{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\" \";display:block;top:-10px;border-bottom-width:10px;border-bottom-color:#909599;}.bk-root .bk-tooltip.bk-below::after{position:absolute;margin:0 0 0 -7px;left:50%;width:0;height:0;border-style:solid;border-width:0 7px 0 7px;border-color:transparent;content:\" \";display:block;bottom:-10px;border-top-width:10px;border-top-color:#909599;}.bk-root .bk-tooltip-row-label{text-align:right;color:#26aae1;}.bk-root .bk-tooltip-row-value{color:default;}.bk-root .bk-tooltip-color-block{width:12px;height:12px;margin-left:5px;margin-right:5px;outline:#dddddd solid 1px;display:inline-block;}'},\n", - " function _(e,t,s,i,r){var a;i();const l=e(115),_=e(112),h=e(113),o=e(48);class n extends l.UpperLowerView{async lazy_initialize(){await super.lazy_initialize();const{lower_head:e,upper_head:t}=this.model;null!=e&&(this.lower_head=await(0,h.build_view)(e,{parent:this})),null!=t&&(this.upper_head=await(0,h.build_view)(t,{parent:this}))}set_data(e){var t,s;super.set_data(e),null===(t=this.lower_head)||void 0===t||t.set_data(e),null===(s=this.upper_head)||void 0===s||s.set_data(e)}paint(e){if(this.visuals.line.doit)for(let t=0,s=this._lower_sx.length;t({lower_head:[t(e(_.ArrowHead)),()=>new _.TeeHead({size:10})],upper_head:[t(e(_.ArrowHead)),()=>new _.TeeHead({size:10})]}))),a.override({level:\"underlay\"})},\n", - " function _(n,o,t,u,e){u(),e(\"CustomJS\",n(245).CustomJS),e(\"OpenURL\",n(247).OpenURL)},\n", - " function _(t,e,s,n,c){var a;n();const r=t(246),u=t(13),o=t(34);class i extends r.Callback{constructor(t){super(t)}get names(){return(0,u.keys)(this.args)}get values(){return(0,u.values)(this.args)}get func(){const t=(0,o.use_strict)(this.code);return new Function(...this.names,\"cb_obj\",\"cb_data\",t)}execute(t,e={}){return this.func.apply(t,this.values.concat(t,e))}}s.CustomJS=i,a=i,i.__name__=\"CustomJS\",a.define((({Unknown:t,String:e,Dict:s})=>({args:[s(t),{}],code:[e,\"\"]})))},\n", - " function _(c,a,l,n,s){n();const e=c(53);class o extends e.Model{constructor(c){super(c)}}l.Callback=o,o.__name__=\"Callback\"},\n", - " function _(e,t,n,o,i){var s;o();const c=e(246),r=e(152),a=e(8);class d extends c.Callback{constructor(e){super(e)}navigate(e){this.same_tab?window.location.href=e:window.open(e)}execute(e,{source:t}){const n=e=>{const n=(0,r.replace_placeholders)(this.url,t,e,void 0,void 0,encodeURI);if(!(0,a.isString)(n))throw new Error(\"HTML output is not supported in this context\");this.navigate(n)},{selected:o}=t;for(const e of o.indices)n(e);for(const e of o.line_indices)n(e)}}n.OpenURL=d,s=d,d.__name__=\"OpenURL\",s.define((({Boolean:e,String:t})=>({url:[t,\"http://\"],same_tab:[e,!1]})))},\n", - " function _(a,n,i,e,r){e(),r(\"Canvas\",a(249).Canvas),r(\"CartesianFrame\",a(126).CartesianFrame),r(\"CoordinateMapping\",a(54).CoordinateMapping)},\n", - " function _(e,t,i,s,a){var r,l=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)\"default\"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&l(t,e,i);return n(t,e),t};s();const h=e(14),c=e(226),u=e(19),_=e(43),d=e(20),p=e(13),b=e(250),v=e(65),g=e(138),w=e(235);const y=(()=>{let t;return async()=>void 0!==t?t:t=await async function(){const t=document.createElement(\"canvas\"),i=t.getContext(\"webgl\",{premultipliedAlpha:!0});if(null!=i){const s=await(0,g.load_module)(Promise.resolve().then((()=>o(e(410)))));if(null!=s){const e=s.get_regl(i);if(e.has_webgl)return{canvas:t,regl_wrapper:e};u.logger.trace(\"WebGL is supported, but not the required extensions\")}else u.logger.trace(\"WebGL is supported, but bokehjs(.min).js bundle is not available\")}else u.logger.trace(\"WebGL is not supported\");return null}()})(),m={position:\"absolute\",top:\"0\",left:\"0\",width:\"100%\",height:\"100%\"};class f extends c.DOMView{constructor(){super(...arguments),this.bbox=new v.BBox,this.webgl=null}initialize(){super.initialize(),this.underlays_el=(0,_.div)({style:m}),this.primary=this.create_layer(),this.overlays=this.create_layer(),this.overlays_el=(0,_.div)({style:m}),this.events_el=(0,_.div)({class:\"bk-canvas-events\",style:m});const e=[this.underlays_el,this.primary.el,this.overlays.el,this.overlays_el,this.events_el];(0,p.extend)(this.el.style,m),(0,_.append)(this.el,...e),this.ui_event_bus=new b.UIEventBus(this)}async lazy_initialize(){await super.lazy_initialize(),\"webgl\"==this.model.output_backend&&(this.webgl=await y())}remove(){this.ui_event_bus.destroy(),super.remove()}add_underlay(e){this.underlays_el.appendChild(e)}add_overlay(e){this.overlays_el.appendChild(e)}add_event(e){this.events_el.appendChild(e)}get pixel_ratio(){return this.primary.pixel_ratio}resize(e,t){this.bbox=new v.BBox({left:0,top:0,width:e,height:t}),this.primary.resize(e,t),this.overlays.resize(e,t)}prepare_webgl(e){const{webgl:t}=this;if(null!=t){const{width:i,height:s}=this.bbox;t.canvas.width=this.pixel_ratio*i,t.canvas.height=this.pixel_ratio*s;const[a,r,l,n]=e,{xview:o,yview:h}=this.bbox,c=o.compute(a),u=h.compute(r+n),_=this.pixel_ratio;t.regl_wrapper.set_scissor(_*c,_*u,_*l,_*n),this._clear_webgl()}}blit_webgl(e){const{webgl:t}=this;if(null!=t){if(u.logger.debug(\"Blitting WebGL canvas\"),e.restore(),e.drawImage(t.canvas,0,0),e.save(),this.model.hidpi){const t=this.pixel_ratio;e.scale(t,t),e.translate(.5,.5)}this._clear_webgl()}}_clear_webgl(){const{webgl:e}=this;if(null!=e){const{regl_wrapper:t,canvas:i}=e;t.clear(i.width,i.height)}}compose(){const e=this.create_layer(),{width:t,height:i}=this.bbox;return e.resize(t,i),e.ctx.drawImage(this.primary.canvas,0,0),e.ctx.drawImage(this.overlays.canvas,0,0),e}create_layer(){const{output_backend:e,hidpi:t}=this.model;return new w.CanvasLayer(e,t)}to_blob(){return this.compose().to_blob()}}i.CanvasView=f,f.__name__=\"CanvasView\";class x extends h.HasProps{constructor(e){super(e)}}i.Canvas=x,r=x,x.__name__=\"Canvas\",r.prototype.default_view=f,r.internal((({Boolean:e})=>({hidpi:[e,!0],output_backend:[d.OutputBackend,\"canvas\"]})))},\n", - " function _(t,e,s,n,i){n();const r=t(1),a=(0,r.__importDefault)(t(225)),_=t(15),h=t(19),o=t(43),l=(0,r.__importStar)(t(251)),c=t(252),p=t(9),u=t(8),v=t(27),d=t(230);class g{constructor(t){this.canvas_view=t,this.pan_start=new _.Signal(this,\"pan:start\"),this.pan=new _.Signal(this,\"pan\"),this.pan_end=new _.Signal(this,\"pan:end\"),this.pinch_start=new _.Signal(this,\"pinch:start\"),this.pinch=new _.Signal(this,\"pinch\"),this.pinch_end=new _.Signal(this,\"pinch:end\"),this.rotate_start=new _.Signal(this,\"rotate:start\"),this.rotate=new _.Signal(this,\"rotate\"),this.rotate_end=new _.Signal(this,\"rotate:end\"),this.tap=new _.Signal(this,\"tap\"),this.doubletap=new _.Signal(this,\"doubletap\"),this.press=new _.Signal(this,\"press\"),this.pressup=new _.Signal(this,\"pressup\"),this.move_enter=new _.Signal(this,\"move:enter\"),this.move=new _.Signal(this,\"move\"),this.move_exit=new _.Signal(this,\"move:exit\"),this.scroll=new _.Signal(this,\"scroll\"),this.keydown=new _.Signal(this,\"keydown\"),this.keyup=new _.Signal(this,\"keyup\"),this.hammer=new a.default(this.hit_area,{touchAction:\"auto\",inputClass:a.default.TouchMouseInput}),this._prev_move=null,this._curr_pan=null,this._curr_pinch=null,this._curr_rotate=null,this._configure_hammerjs(),this.hit_area.addEventListener(\"mousemove\",(t=>this._mouse_move(t))),this.hit_area.addEventListener(\"mouseenter\",(t=>this._mouse_enter(t))),this.hit_area.addEventListener(\"mouseleave\",(t=>this._mouse_exit(t))),this.hit_area.addEventListener(\"contextmenu\",(t=>this._context_menu(t))),this.hit_area.addEventListener(\"wheel\",(t=>this._mouse_wheel(t))),document.addEventListener(\"keydown\",this),document.addEventListener(\"keyup\",this),this.menu=new d.ContextMenu([],{prevent_hide:t=>2==t.button&&t.target==this.hit_area}),this.hit_area.appendChild(this.menu.el)}get hit_area(){return this.canvas_view.events_el}destroy(){this.menu.remove(),this.hammer.destroy(),document.removeEventListener(\"keydown\",this),document.removeEventListener(\"keyup\",this)}handleEvent(t){\"keydown\"==t.type?this._key_down(t):\"keyup\"==t.type&&this._key_up(t)}_configure_hammerjs(){this.hammer.get(\"doubletap\").recognizeWith(\"tap\"),this.hammer.get(\"tap\").requireFailure(\"doubletap\"),this.hammer.get(\"doubletap\").dropRequireFailure(\"tap\"),this.hammer.on(\"doubletap\",(t=>this._doubletap(t))),this.hammer.on(\"tap\",(t=>this._tap(t))),this.hammer.on(\"press\",(t=>this._press(t))),this.hammer.on(\"pressup\",(t=>this._pressup(t))),this.hammer.get(\"pan\").set({direction:a.default.DIRECTION_ALL}),this.hammer.on(\"panstart\",(t=>this._pan_start(t))),this.hammer.on(\"pan\",(t=>this._pan(t))),this.hammer.on(\"panend\",(t=>this._pan_end(t))),this.hammer.get(\"pinch\").set({enable:!0}),this.hammer.on(\"pinchstart\",(t=>this._pinch_start(t))),this.hammer.on(\"pinch\",(t=>this._pinch(t))),this.hammer.on(\"pinchend\",(t=>this._pinch_end(t))),this.hammer.get(\"rotate\").set({enable:!0}),this.hammer.on(\"rotatestart\",(t=>this._rotate_start(t))),this.hammer.on(\"rotate\",(t=>this._rotate(t))),this.hammer.on(\"rotateend\",(t=>this._rotate_end(t)))}register_tool(t){const e=t.model.event_type;null!=e&&((0,u.isString)(e)?this._register_tool(t,e):e.forEach(((e,s)=>this._register_tool(t,e,s<1))))}_register_tool(t,e,s=!0){const n=t,{id:i}=n.model,r=t=>e=>{e.id==i&&t(e.e)},a=t=>e=>{t(e.e)};switch(e){case\"pan\":null!=n._pan_start&&n.connect(this.pan_start,r(n._pan_start.bind(n))),null!=n._pan&&n.connect(this.pan,r(n._pan.bind(n))),null!=n._pan_end&&n.connect(this.pan_end,r(n._pan_end.bind(n)));break;case\"pinch\":null!=n._pinch_start&&n.connect(this.pinch_start,r(n._pinch_start.bind(n))),null!=n._pinch&&n.connect(this.pinch,r(n._pinch.bind(n))),null!=n._pinch_end&&n.connect(this.pinch_end,r(n._pinch_end.bind(n)));break;case\"rotate\":null!=n._rotate_start&&n.connect(this.rotate_start,r(n._rotate_start.bind(n))),null!=n._rotate&&n.connect(this.rotate,r(n._rotate.bind(n))),null!=n._rotate_end&&n.connect(this.rotate_end,r(n._rotate_end.bind(n)));break;case\"move\":null!=n._move_enter&&n.connect(this.move_enter,r(n._move_enter.bind(n))),null!=n._move&&n.connect(this.move,r(n._move.bind(n))),null!=n._move_exit&&n.connect(this.move_exit,r(n._move_exit.bind(n)));break;case\"tap\":null!=n._tap&&n.connect(this.tap,r(n._tap.bind(n))),null!=n._doubletap&&n.connect(this.doubletap,r(n._doubletap.bind(n)));break;case\"press\":null!=n._press&&n.connect(this.press,r(n._press.bind(n))),null!=n._pressup&&n.connect(this.pressup,r(n._pressup.bind(n)));break;case\"scroll\":null!=n._scroll&&n.connect(this.scroll,r(n._scroll.bind(n)));break;default:throw new Error(`unsupported event_type: ${e}`)}s&&(null!=n._keydown&&n.connect(this.keydown,a(n._keydown.bind(n))),null!=n._keyup&&n.connect(this.keyup,a(n._keyup.bind(n))),v.is_mobile&&null!=n._scroll&&\"pinch\"==e&&(h.logger.debug(\"Registering scroll on touch screen\"),n.connect(this.scroll,r(n._scroll.bind(n)))))}_hit_test_renderers(t,e,s){var n;const i=t.get_renderer_views();for(const t of(0,p.reversed)(i))if(null===(n=t.interactive_hit)||void 0===n?void 0:n.call(t,e,s))return t;return null}set_cursor(t=\"default\"){this.hit_area.style.cursor=t}_hit_test_frame(t,e,s){return t.frame.bbox.contains(e,s)}_hit_test_canvas(t,e,s){return t.layout.bbox.contains(e,s)}_hit_test_plot(t,e){for(const s of this.canvas_view.plot_views)if(s.layout.bbox.relative().contains(t,e))return s;return null}_trigger(t,e,s){var n;const{sx:i,sy:r}=e,a=this._hit_test_plot(i,r),_=t=>{const[s,n]=[i,r];return Object.assign(Object.assign({},e),{sx:s,sy:n})};if(\"panstart\"==e.type||\"pan\"==e.type||\"panend\"==e.type){let n;if(\"panstart\"==e.type&&null!=a?(this._curr_pan={plot_view:a},n=a):\"pan\"==e.type&&null!=this._curr_pan?n=this._curr_pan.plot_view:\"panend\"==e.type&&null!=this._curr_pan?(n=this._curr_pan.plot_view,this._curr_pan=null):n=null,null!=n){const e=_();this.__trigger(n,t,e,s)}}else if(\"pinchstart\"==e.type||\"pinch\"==e.type||\"pinchend\"==e.type){let n;if(\"pinchstart\"==e.type&&null!=a?(this._curr_pinch={plot_view:a},n=a):\"pinch\"==e.type&&null!=this._curr_pinch?n=this._curr_pinch.plot_view:\"pinchend\"==e.type&&null!=this._curr_pinch?(n=this._curr_pinch.plot_view,this._curr_pinch=null):n=null,null!=n){const e=_();this.__trigger(n,t,e,s)}}else if(\"rotatestart\"==e.type||\"rotate\"==e.type||\"rotateend\"==e.type){let n;if(\"rotatestart\"==e.type&&null!=a?(this._curr_rotate={plot_view:a},n=a):\"rotate\"==e.type&&null!=this._curr_rotate?n=this._curr_rotate.plot_view:\"rotateend\"==e.type&&null!=this._curr_rotate?(n=this._curr_rotate.plot_view,this._curr_rotate=null):n=null,null!=n){const e=_();this.__trigger(n,t,e,s)}}else if(\"mouseenter\"==e.type||\"mousemove\"==e.type||\"mouseleave\"==e.type){const h=null===(n=this._prev_move)||void 0===n?void 0:n.plot_view;if(null!=h&&(\"mouseleave\"==e.type||h!=a)){const{sx:t,sy:e}=_();this.__trigger(h,this.move_exit,{type:\"mouseleave\",sx:t,sy:e,shiftKey:!1,ctrlKey:!1},s)}if(null!=a&&(\"mouseenter\"==e.type||h!=a)){const{sx:t,sy:e}=_();this.__trigger(a,this.move_enter,{type:\"mouseenter\",sx:t,sy:e,shiftKey:!1,ctrlKey:!1},s)}if(null!=a&&\"mousemove\"==e.type){const e=_();this.__trigger(a,t,e,s)}this._prev_move={sx:i,sy:r,plot_view:a}}else if(null!=a){const e=_();this.__trigger(a,t,e,s)}}__trigger(t,e,s,n){var i,r;const a=t.model.toolbar.gestures,_=e.name.split(\":\")[0],h=this._hit_test_renderers(t,s.sx,s.sy),o=this._hit_test_canvas(t,s.sx,s.sy);switch(_){case\"move\":{const n=a[_].active;null!=n&&this.trigger(e,s,n.id);const r=t.model.toolbar.inspectors.filter((t=>t.active));let l=\"default\";null!=h?(l=null!==(i=h.cursor(s.sx,s.sy))&&void 0!==i?i:l,(0,p.is_empty)(r)||(e=this.move_exit)):this._hit_test_frame(t,s.sx,s.sy)&&((0,p.is_empty)(r)||(l=\"crosshair\")),this.set_cursor(l),t.set_toolbar_visibility(o),r.map((t=>this.trigger(e,s,t.id)));break}case\"tap\":{const{target:t}=n;if(null!=t&&t!=this.hit_area)return;null!=h&&null!=h.on_hit&&h.on_hit(s.sx,s.sy);const i=a[_].active;null!=i&&this.trigger(e,s,i.id);break}case\"doubletap\":{const t=null!==(r=a.doubletap.active)&&void 0!==r?r:a.tap.active;null!=t&&this.trigger(e,s,t.id);break}case\"scroll\":{const t=a[v.is_mobile?\"pinch\":\"scroll\"].active;null!=t&&(n.preventDefault(),n.stopPropagation(),this.trigger(e,s,t.id));break}case\"pan\":{const t=a[_].active;null!=t&&(n.preventDefault(),this.trigger(e,s,t.id));break}default:{const t=a[_].active;null!=t&&this.trigger(e,s,t.id)}}this._trigger_bokeh_event(t,s)}trigger(t,e,s=null){t.emit({id:s,e})}_trigger_bokeh_event(t,e){const s=(()=>{const{sx:s,sy:n}=e,i=t.frame.x_scale.invert(s),r=t.frame.y_scale.invert(n);switch(e.type){case\"wheel\":return new l.MouseWheel(s,n,i,r,e.delta);case\"mousemove\":return new l.MouseMove(s,n,i,r);case\"mouseenter\":return new l.MouseEnter(s,n,i,r);case\"mouseleave\":return new l.MouseLeave(s,n,i,r);case\"tap\":return new l.Tap(s,n,i,r);case\"doubletap\":return new l.DoubleTap(s,n,i,r);case\"press\":return new l.Press(s,n,i,r);case\"pressup\":return new l.PressUp(s,n,i,r);case\"pan\":return new l.Pan(s,n,i,r,e.deltaX,e.deltaY);case\"panstart\":return new l.PanStart(s,n,i,r);case\"panend\":return new l.PanEnd(s,n,i,r);case\"pinch\":return new l.Pinch(s,n,i,r,e.scale);case\"pinchstart\":return new l.PinchStart(s,n,i,r);case\"pinchend\":return new l.PinchEnd(s,n,i,r);case\"rotate\":return new l.Rotate(s,n,i,r,e.rotation);case\"rotatestart\":return new l.RotateStart(s,n,i,r);case\"rotateend\":return new l.RotateEnd(s,n,i,r);default:return}})();null!=s&&t.model.trigger_event(s)}_get_sxy(t){const{pageX:e,pageY:s}=function(t){return\"undefined\"!=typeof TouchEvent&&t instanceof TouchEvent}(t)?(0!=t.touches.length?t.touches:t.changedTouches)[0]:t,{left:n,top:i}=(0,o.offset)(this.hit_area);return{sx:e-n,sy:s-i}}_pan_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{deltaX:t.deltaX,deltaY:t.deltaY,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_pinch_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{scale:t.scale,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_rotate_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{rotation:t.rotation,shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_tap_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t.srcEvent)),{shiftKey:t.srcEvent.shiftKey,ctrlKey:t.srcEvent.ctrlKey})}_move_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{shiftKey:t.shiftKey,ctrlKey:t.ctrlKey})}_scroll_event(t){return Object.assign(Object.assign({type:t.type},this._get_sxy(t)),{delta:(0,c.getDeltaY)(t),shiftKey:t.shiftKey,ctrlKey:t.ctrlKey})}_key_event(t){return{type:t.type,keyCode:t.keyCode}}_pan_start(t){const e=this._pan_event(t);e.sx-=t.deltaX,e.sy-=t.deltaY,this._trigger(this.pan_start,e,t.srcEvent)}_pan(t){this._trigger(this.pan,this._pan_event(t),t.srcEvent)}_pan_end(t){this._trigger(this.pan_end,this._pan_event(t),t.srcEvent)}_pinch_start(t){this._trigger(this.pinch_start,this._pinch_event(t),t.srcEvent)}_pinch(t){this._trigger(this.pinch,this._pinch_event(t),t.srcEvent)}_pinch_end(t){this._trigger(this.pinch_end,this._pinch_event(t),t.srcEvent)}_rotate_start(t){this._trigger(this.rotate_start,this._rotate_event(t),t.srcEvent)}_rotate(t){this._trigger(this.rotate,this._rotate_event(t),t.srcEvent)}_rotate_end(t){this._trigger(this.rotate_end,this._rotate_event(t),t.srcEvent)}_tap(t){this._trigger(this.tap,this._tap_event(t),t.srcEvent)}_doubletap(t){this._trigger(this.doubletap,this._tap_event(t),t.srcEvent)}_press(t){this._trigger(this.press,this._tap_event(t),t.srcEvent)}_pressup(t){this._trigger(this.pressup,this._tap_event(t),t.srcEvent)}_mouse_enter(t){this._trigger(this.move_enter,this._move_event(t),t)}_mouse_move(t){this._trigger(this.move,this._move_event(t),t)}_mouse_exit(t){this._trigger(this.move_exit,this._move_event(t),t)}_mouse_wheel(t){this._trigger(this.scroll,this._scroll_event(t),t)}_context_menu(t){!this.menu.is_open&&this.menu.can_open&&t.preventDefault();const{sx:e,sy:s}=this._get_sxy(t);this.menu.toggle({left:e,top:s})}_key_down(t){this.trigger(this.keydown,this._key_event(t))}_key_up(t){this.trigger(this.keyup,this._key_event(t))}}s.UIEventBus=g,g.__name__=\"UIEventBus\"},\n", - " function _(e,t,s,n,_){n();var a=this&&this.__decorate||function(e,t,s,n){var _,a=arguments.length,o=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,s):n;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,s,n);else for(var r=e.length-1;r>=0;r--)(_=e[r])&&(o=(a<3?_(o):a>3?_(t,s,o):_(t,s))||o);return a>3&&o&&Object.defineProperty(t,s,o),o};function o(e){return function(t){t.prototype.event_name=e}}class r{to_json(){const{event_name:e}=this;return{event_name:e,event_values:this._to_json()}}}s.BokehEvent=r,r.__name__=\"BokehEvent\";class c extends r{constructor(){super(...arguments),this.origin=null}_to_json(){return{model:this.origin}}}s.ModelEvent=c,c.__name__=\"ModelEvent\";let l=class extends r{_to_json(){return{}}};s.DocumentReady=l,l.__name__=\"DocumentReady\",s.DocumentReady=l=a([o(\"document_ready\")],l);let i=class extends c{};s.ButtonClick=i,i.__name__=\"ButtonClick\",s.ButtonClick=i=a([o(\"button_click\")],i);let u=class extends c{constructor(e){super(),this.item=e}_to_json(){const{item:e}=this;return Object.assign(Object.assign({},super._to_json()),{item:e})}};s.MenuItemClick=u,u.__name__=\"MenuItemClick\",s.MenuItemClick=u=a([o(\"menu_item_click\")],u);class d extends c{}s.UIEvent=d,d.__name__=\"UIEvent\";let m=class extends d{};s.LODStart=m,m.__name__=\"LODStart\",s.LODStart=m=a([o(\"lodstart\")],m);let h=class extends d{};s.LODEnd=h,h.__name__=\"LODEnd\",s.LODEnd=h=a([o(\"lodend\")],h);let p=class extends d{constructor(e,t,s,n){super(),this.x0=e,this.x1=t,this.y0=s,this.y1=n}_to_json(){const{x0:e,x1:t,y0:s,y1:n}=this;return Object.assign(Object.assign({},super._to_json()),{x0:e,x1:t,y0:s,y1:n})}};s.RangesUpdate=p,p.__name__=\"RangesUpdate\",s.RangesUpdate=p=a([o(\"rangesupdate\")],p);let x=class extends d{constructor(e,t){super(),this.geometry=e,this.final=t}_to_json(){const{geometry:e,final:t}=this;return Object.assign(Object.assign({},super._to_json()),{geometry:e,final:t})}};s.SelectionGeometry=x,x.__name__=\"SelectionGeometry\",s.SelectionGeometry=x=a([o(\"selectiongeometry\")],x);let j=class extends d{};s.Reset=j,j.__name__=\"Reset\",s.Reset=j=a([o(\"reset\")],j);class y extends d{constructor(e,t,s,n){super(),this.sx=e,this.sy=t,this.x=s,this.y=n}_to_json(){const{sx:e,sy:t,x:s,y:n}=this;return Object.assign(Object.assign({},super._to_json()),{sx:e,sy:t,x:s,y:n})}}s.PointEvent=y,y.__name__=\"PointEvent\";let g=class extends y{constructor(e,t,s,n,_,a){super(e,t,s,n),this.delta_x=_,this.delta_y=a}_to_json(){const{delta_x:e,delta_y:t}=this;return Object.assign(Object.assign({},super._to_json()),{delta_x:e,delta_y:t})}};s.Pan=g,g.__name__=\"Pan\",s.Pan=g=a([o(\"pan\")],g);let P=class extends y{constructor(e,t,s,n,_){super(e,t,s,n),this.scale=_}_to_json(){const{scale:e}=this;return Object.assign(Object.assign({},super._to_json()),{scale:e})}};s.Pinch=P,P.__name__=\"Pinch\",s.Pinch=P=a([o(\"pinch\")],P);let O=class extends y{constructor(e,t,s,n,_){super(e,t,s,n),this.rotation=_}_to_json(){const{rotation:e}=this;return Object.assign(Object.assign({},super._to_json()),{rotation:e})}};s.Rotate=O,O.__name__=\"Rotate\",s.Rotate=O=a([o(\"rotate\")],O);let b=class extends y{constructor(e,t,s,n,_){super(e,t,s,n),this.delta=_}_to_json(){const{delta:e}=this;return Object.assign(Object.assign({},super._to_json()),{delta:e})}};s.MouseWheel=b,b.__name__=\"MouseWheel\",s.MouseWheel=b=a([o(\"wheel\")],b);let v=class extends y{};s.MouseMove=v,v.__name__=\"MouseMove\",s.MouseMove=v=a([o(\"mousemove\")],v);let E=class extends y{};s.MouseEnter=E,E.__name__=\"MouseEnter\",s.MouseEnter=E=a([o(\"mouseenter\")],E);let R=class extends y{};s.MouseLeave=R,R.__name__=\"MouseLeave\",s.MouseLeave=R=a([o(\"mouseleave\")],R);let M=class extends y{};s.Tap=M,M.__name__=\"Tap\",s.Tap=M=a([o(\"tap\")],M);let f=class extends y{};s.DoubleTap=f,f.__name__=\"DoubleTap\",s.DoubleTap=f=a([o(\"doubletap\")],f);let S=class extends y{};s.Press=S,S.__name__=\"Press\",s.Press=S=a([o(\"press\")],S);let D=class extends y{};s.PressUp=D,D.__name__=\"PressUp\",s.PressUp=D=a([o(\"pressup\")],D);let k=class extends y{};s.PanStart=k,k.__name__=\"PanStart\",s.PanStart=k=a([o(\"panstart\")],k);let L=class extends y{};s.PanEnd=L,L.__name__=\"PanEnd\",s.PanEnd=L=a([o(\"panend\")],L);let U=class extends y{};s.PinchStart=U,U.__name__=\"PinchStart\",s.PinchStart=U=a([o(\"pinchstart\")],U);let C=class extends y{};s.PinchEnd=C,C.__name__=\"PinchEnd\",s.PinchEnd=C=a([o(\"pinchend\")],C);let T=class extends y{};s.RotateStart=T,T.__name__=\"RotateStart\",s.RotateStart=T=a([o(\"rotatestart\")],T);let B=class extends y{};s.RotateEnd=B,B.__name__=\"RotateEnd\",s.RotateEnd=B=a([o(\"rotateend\")],B)},\n", - " function _(t,e,n,l,o){\n", - " /*!\n", - " * jQuery Mousewheel 3.1.13\n", - " *\n", - " * Copyright jQuery Foundation and other contributors\n", - " * Released under the MIT license\n", - " * http://jquery.org/license\n", - " */\n", - " function u(t){const e=getComputedStyle(t).fontSize;return null!=e?parseInt(e,10):null}l(),n.getDeltaY=function(t){let e=-t.deltaY;if(t.target instanceof HTMLElement)switch(t.deltaMode){case t.DOM_DELTA_LINE:e*=(n=t.target,null!==(a=null!==(o=u(null!==(l=n.offsetParent)&&void 0!==l?l:document.body))&&void 0!==o?o:u(n))&&void 0!==a?a:16);break;case t.DOM_DELTA_PAGE:e*=function(t){return t.clientHeight}(t.target)}var n,l,o,a;return e}},\n", - " function _(m,o,n,r,a){r(),a(\"Expression\",m(254).Expression),a(\"CustomJSExpr\",m(255).CustomJSExpr),a(\"Stack\",m(256).Stack),a(\"CumSum\",m(257).CumSum),a(\"ScalarExpression\",m(254).ScalarExpression),a(\"Minimum\",m(258).Minimum),a(\"Maximum\",m(259).Maximum);var s=m(260);a(\"XComponent\",s.XComponent),a(\"YComponent\",s.YComponent),a(\"PolarTransform\",m(261).PolarTransform)},\n", - " function _(e,t,s,i,r){i();const n=e(53);class _ extends n.Model{constructor(e){super(e)}initialize(){super.initialize(),this._result=new Map}v_compute(e){let t=this._result.get(e);return(void 0===t||e.changed_for(this))&&(t=this._v_compute(e),this._result.set(e,t)),t}}s.Expression=_,_.__name__=\"Expression\";class o extends n.Model{constructor(e){super(e)}initialize(){super.initialize(),this._result=new Map}compute(e){let t=this._result.get(e);return(void 0===t||e.changed_for(this))&&(t=this._compute(e),this._result.set(e,t)),t}}s.ScalarExpression=o,o.__name__=\"ScalarExpression\"},\n", - " function _(e,s,t,n,r){var a;n();const o=e(14),c=e(254),i=e(24),u=e(9),l=e(13),h=e(34),g=e(8);class p extends c.Expression{constructor(e){super(e)}connect_signals(){super.connect_signals();for(const e of(0,l.values)(this.args))e instanceof o.HasProps&&e.change.connect((()=>{this._result.clear(),this.change.emit()}))}get names(){return(0,l.keys)(this.args)}get values(){return(0,l.values)(this.args)}get func(){const e=(0,h.use_strict)(this.code);return new i.GeneratorFunction(...this.names,e)}_v_compute(e){const s=this.func.apply(e,this.values);let t=s.next();if(t.done&&void 0!==t.value){const{value:s}=t;return(0,g.isArray)(s)||(0,g.isTypedArray)(s)?s:(0,g.isIterable)(s)?[...s]:(0,u.repeat)(s,e.length)}{const e=[];do{e.push(t.value),t=s.next()}while(!t.done);return e}}}t.CustomJSExpr=p,a=p,p.__name__=\"CustomJSExpr\",a.define((({Unknown:e,String:s,Dict:t})=>({args:[t(e),{}],code:[s,\"\"]})))},\n", - " function _(t,n,e,o,r){var s;o();const a=t(254);class c extends a.Expression{constructor(t){super(t)}_v_compute(t){var n;const e=null!==(n=t.get_length())&&void 0!==n?n:0,o=new Float64Array(e);for(const n of this.fields){const r=t.data[n];if(null!=r){const t=Math.min(e,r.length);for(let n=0;n({fields:[n(t),[]]})))},\n", - " function _(e,n,t,o,r){var i;o();const l=e(254);class u extends l.Expression{constructor(e){super(e)}_v_compute(e){var n;const t=new Float64Array(null!==(n=e.get_length())&&void 0!==n?n:0),o=e.data[this.field],r=this.include_zero?1:0;t[0]=this.include_zero?0:o[0];for(let e=1;e({field:[n],include_zero:[e,!1]})))},\n", - " function _(i,n,l,t,e){var a;t();const u=i(254),r=i(9);class s extends u.ScalarExpression{constructor(i){super(i)}_compute(i){var n,l;const t=null!==(n=i.data[this.field])&&void 0!==n?n:[];return Math.min(null!==(l=this.initial)&&void 0!==l?l:1/0,(0,r.min)(t))}}l.Minimum=s,a=s,s.__name__=\"Minimum\",a.define((({Number:i,String:n,Nullable:l})=>({field:[n],initial:[l(i),null]})))},\n", - " function _(i,a,n,l,t){var e;l();const u=i(254),r=i(9);class s extends u.ScalarExpression{constructor(i){super(i)}_compute(i){var a,n;const l=null!==(a=i.data[this.field])&&void 0!==a?a:[];return Math.max(null!==(n=this.initial)&&void 0!==n?n:-1/0,(0,r.max)(l))}}n.Maximum=s,e=s,s.__name__=\"Maximum\",e.define((({Number:i,String:a,Nullable:n})=>({field:[a],initial:[n(i),null]})))},\n", - " function _(n,e,t,o,r){var s;o();const _=n(254);class m extends _.Expression{constructor(n){super(n)}get x(){return new c({transform:this})}get y(){return new u({transform:this})}}t.CoordinateTransform=m,m.__name__=\"CoordinateTransform\";class a extends _.Expression{constructor(n){super(n)}}t.XYComponent=a,s=a,a.__name__=\"XYComponent\",s.define((({Ref:n})=>({transform:[n(m)]})));class c extends a{constructor(n){super(n)}_v_compute(n){return this.transform.v_compute(n).x}}t.XComponent=c,c.__name__=\"XComponent\";class u extends a{constructor(n){super(n)}_v_compute(n){return this.transform.v_compute(n).y}}t.YComponent=u,u.__name__=\"YComponent\"},\n", - " function _(r,t,n,e,o){e();const i=r(1);var a;const s=r(260),c=r(20),l=(0,i.__importStar)(r(18));class d extends s.CoordinateTransform{constructor(r){super(r)}_v_compute(r){const t=this.properties.radius.uniform(r),n=this.properties.angle.uniform(r),e=\"anticlock\"==this.direction?-1:1,o=Math.min(t.length,n.length),i=new Float64Array(o),a=new Float64Array(o);for(let r=0;r({radius:[l.DistanceSpec,{field:\"radius\"}],angle:[l.AngleSpec,{field:\"angle\"}],direction:[c.Direction,\"anticlock\"]})))},\n", - " function _(e,t,l,r,i){r(),i(\"BooleanFilter\",e(263).BooleanFilter),i(\"CustomJSFilter\",e(264).CustomJSFilter),i(\"Filter\",e(191).Filter),i(\"GroupFilter\",e(265).GroupFilter),i(\"IndexFilter\",e(266).IndexFilter)},\n", - " function _(e,n,l,o,s){var t;o();const a=e(191),r=e(24);class c extends a.Filter{constructor(e){super(e)}compute_indices(e){const n=e.length,{booleans:l}=this;return null==l?r.Indices.all_set(n):r.Indices.from_booleans(n,l)}}l.BooleanFilter=c,t=c,c.__name__=\"BooleanFilter\",t.define((({Boolean:e,Array:n,Nullable:l})=>({booleans:[l(n(e)),null]})))},\n", - " function _(e,n,r,s,t){var i;s();const o=e(191),c=e(24),u=e(13),a=e(8),l=e(34);class f extends o.Filter{constructor(e){super(e)}get names(){return(0,u.keys)(this.args)}get values(){return(0,u.values)(this.args)}get func(){const e=(0,l.use_strict)(this.code);return new Function(...this.names,\"source\",e)}compute_indices(e){const n=e.length,r=this.func(...this.values,e);if(null==r)return c.Indices.all_set(n);if((0,a.isArrayOf)(r,a.isInteger))return c.Indices.from_indices(n,r);if((0,a.isArrayOf)(r,a.isBoolean))return c.Indices.from_booleans(n,r);throw new Error(`expect an array of integers or booleans, or null, got ${r}`)}}r.CustomJSFilter=f,i=f,f.__name__=\"CustomJSFilter\",i.define((({Unknown:e,String:n,Dict:r})=>({args:[r(e),{}],code:[n,\"\"]})))},\n", - " function _(n,e,t,o,r){var u;o();const s=n(191),c=n(24),i=n(19);class l extends s.Filter{constructor(n){super(n)}compute_indices(n){const e=n.get_column(this.column_name);if(null==e)return i.logger.warn(`${this}: groupby column '${this.column_name}' not found in the data source`),new c.Indices(n.length,1);{const t=new c.Indices(n.length);for(let n=0;n({column_name:[n],group:[n]})))},\n", - " function _(e,n,i,s,t){var l;s();const c=e(191),r=e(24);class d extends c.Filter{constructor(e){super(e)}compute_indices(e){const n=e.length,{indices:i}=this;return null==i?r.Indices.all_set(n):r.Indices.from_indices(n,i)}}i.IndexFilter=d,l=d,d.__name__=\"IndexFilter\",l.define((({Int:e,Array:n,Nullable:i})=>({indices:[i(n(e)),null]})))},\n", - " function _(e,a,l,i,t){i(),t(\"AnnularWedge\",e(268).AnnularWedge),t(\"Annulus\",e(269).Annulus),t(\"Arc\",e(270).Arc),t(\"Bezier\",e(271).Bezier),t(\"Circle\",e(272).Circle),t(\"Ellipse\",e(273).Ellipse),t(\"EllipseOval\",e(274).EllipseOval),t(\"Glyph\",e(179).Glyph),t(\"HArea\",e(187).HArea),t(\"HBar\",e(276).HBar),t(\"HexTile\",e(278).HexTile),t(\"Image\",e(279).Image),t(\"ImageRGBA\",e(281).ImageRGBA),t(\"ImageURL\",e(282).ImageURL),t(\"Line\",e(177).Line),t(\"MultiLine\",e(283).MultiLine),t(\"MultiPolygons\",e(284).MultiPolygons),t(\"Oval\",e(285).Oval),t(\"Patch\",e(186).Patch),t(\"Patches\",e(286).Patches),t(\"Quad\",e(287).Quad),t(\"Quadratic\",e(288).Quadratic),t(\"Ray\",e(289).Ray),t(\"Rect\",e(290).Rect),t(\"Scatter\",e(291).Scatter),t(\"Segment\",e(294).Segment),t(\"Spline\",e(295).Spline),t(\"Step\",e(297).Step),t(\"Text\",e(298).Text),t(\"VArea\",e(189).VArea),t(\"VBar\",e(299).VBar),t(\"Wedge\",e(300).Wedge)},\n", - " function _(e,t,s,i,r){i();const n=e(1);var a;const o=e(178),_=e(184),d=e(48),u=e(24),h=e(20),c=(0,n.__importStar)(e(18)),l=e(10),p=e(72);class x extends o.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this.inner_radius):this.sinner_radius=(0,u.to_screen)(this.inner_radius),\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this.outer_radius):this.souter_radius=(0,u.to_screen)(this.outer_radius)}_render(e,t,s){const{sx:i,sy:r,start_angle:n,end_angle:a,sinner_radius:o,souter_radius:_}=null!=s?s:this,d=\"anticlock\"==this.model.direction;for(const s of t){const t=i[s],u=r[s],h=o[s],c=_[s],l=n.get(s),p=a.get(s);if(!isFinite(t+u+h+c+l+p))continue;const x=p-l;e.translate(t,u),e.rotate(l),e.beginPath(),e.moveTo(c,0),e.arc(0,0,c,0,x,d),e.rotate(x),e.lineTo(h,0),e.arc(0,0,h,0,-x,!d),e.closePath(),e.rotate(-x-l),e.translate(-t,-u),this.visuals.fill.apply(e,s),this.visuals.hatch.apply(e,s),this.visuals.line.apply(e,s)}}_hit_point(e){const{sx:t,sy:s}=e,i=this.renderer.xscale.invert(t),r=this.renderer.yscale.invert(s);let n,a,o,_;if(\"data\"==this.model.properties.outer_radius.units)n=i-this.max_outer_radius,o=i+this.max_outer_radius,a=r-this.max_outer_radius,_=r+this.max_outer_radius;else{const e=t-this.max_outer_radius,i=t+this.max_outer_radius;[n,o]=this.renderer.xscale.r_invert(e,i);const r=s-this.max_outer_radius,d=s+this.max_outer_radius;[a,_]=this.renderer.yscale.r_invert(r,d)}const d=[];for(const e of this.index.indices({x0:n,x1:o,y0:a,y1:_})){const t=this.souter_radius[e]**2,s=this.sinner_radius[e]**2,[n,a]=this.renderer.xscale.r_compute(i,this._x[e]),[o,_]=this.renderer.yscale.r_compute(r,this._y[e]),u=(n-a)**2+(o-_)**2;u<=t&&u>=s&&d.push(e)}const u=\"anticlock\"==this.model.direction,h=[];for(const e of d){const i=Math.atan2(s-this.sy[e],t-this.sx[e]);(0,l.angle_between)(-i,-this.start_angle.get(e),-this.end_angle.get(e),u)&&h.push(e)}return new p.Selection({indices:h})}draw_legend_for_index(e,t,s){(0,_.generic_area_vector_legend)(this.visuals,e,t,s)}scenterxy(e){const t=(this.sinner_radius[e]+this.souter_radius[e])/2,s=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+t*Math.cos(s),this.sy[e]+t*Math.sin(s)]}}s.AnnularWedgeView=x,x.__name__=\"AnnularWedgeView\";class g extends o.XYGlyph{constructor(e){super(e)}}s.AnnularWedge=g,a=g,g.__name__=\"AnnularWedge\",a.prototype.default_view=x,a.mixins([d.LineVector,d.FillVector,d.HatchVector]),a.define((({})=>({direction:[h.Direction,\"anticlock\"],inner_radius:[c.DistanceSpec,{field:\"inner_radius\"}],outer_radius:[c.DistanceSpec,{field:\"outer_radius\"}],start_angle:[c.AngleSpec,{field:\"start_angle\"}],end_angle:[c.AngleSpec,{field:\"end_angle\"}]})))},\n", - " function _(s,e,i,r,t){r();const n=s(1);var a;const u=s(178),o=s(24),_=s(48),d=(0,n.__importStar)(s(18)),h=s(27),c=s(72);class l extends u.XYGlyphView{_map_data(){\"data\"==this.model.properties.inner_radius.units?this.sinner_radius=this.sdist(this.renderer.xscale,this._x,this.inner_radius):this.sinner_radius=(0,o.to_screen)(this.inner_radius),\"data\"==this.model.properties.outer_radius.units?this.souter_radius=this.sdist(this.renderer.xscale,this._x,this.outer_radius):this.souter_radius=(0,o.to_screen)(this.outer_radius)}_render(s,e,i){const{sx:r,sy:t,sinner_radius:n,souter_radius:a}=null!=i?i:this;for(const i of e){const e=r[i],u=t[i],o=n[i],_=a[i];if(isFinite(e+u+o+_)){if(s.beginPath(),h.is_ie)for(const i of[!1,!0])s.moveTo(e,u),s.arc(e,u,o,0,Math.PI,i),s.moveTo(e+_,u),s.arc(e,u,_,Math.PI,0,!i);else s.arc(e,u,o,0,2*Math.PI,!0),s.moveTo(e+_,u),s.arc(e,u,_,2*Math.PI,0,!1);this.visuals.fill.apply(s,i),this.visuals.hatch.apply(s,i),this.visuals.line.apply(s,i)}}}_hit_point(s){const{sx:e,sy:i}=s,r=this.renderer.xscale.invert(e),t=this.renderer.yscale.invert(i);let n,a,u,o;if(\"data\"==this.model.properties.outer_radius.units)n=r-this.max_outer_radius,u=r+this.max_outer_radius,a=t-this.max_outer_radius,o=t+this.max_outer_radius;else{const s=e-this.max_outer_radius,r=e+this.max_outer_radius;[n,u]=this.renderer.xscale.r_invert(s,r);const t=i-this.max_outer_radius,_=i+this.max_outer_radius;[a,o]=this.renderer.yscale.r_invert(t,_)}const _=[];for(const s of this.index.indices({x0:n,x1:u,y0:a,y1:o})){const e=this.souter_radius[s]**2,i=this.sinner_radius[s]**2,[n,a]=this.renderer.xscale.r_compute(r,this._x[s]),[u,o]=this.renderer.yscale.r_compute(t,this._y[s]),d=(n-a)**2+(u-o)**2;d<=e&&d>=i&&_.push(s)}return new c.Selection({indices:_})}draw_legend_for_index(s,{x0:e,y0:i,x1:r,y1:t},n){const a=n+1,u=new Array(a);u[n]=(e+r)/2;const o=new Array(a);o[n]=(i+t)/2;const _=.5*Math.min(Math.abs(r-e),Math.abs(t-i)),d=new Array(a);d[n]=.4*_;const h=new Array(a);h[n]=.8*_,this._render(s,[n],{sx:u,sy:o,sinner_radius:d,souter_radius:h})}}i.AnnulusView=l,l.__name__=\"AnnulusView\";class x extends u.XYGlyph{constructor(s){super(s)}}i.Annulus=x,a=x,x.__name__=\"Annulus\",a.prototype.default_view=l,a.mixins([_.LineVector,_.FillVector,_.HatchVector]),a.define((({})=>({inner_radius:[d.DistanceSpec,{field:\"inner_radius\"}],outer_radius:[d.DistanceSpec,{field:\"outer_radius\"}]})))},\n", - " function _(e,i,s,t,n){t();const r=e(1);var a;const c=e(178),d=e(184),l=e(48),_=e(24),o=e(20),u=(0,r.__importStar)(e(18));class h extends c.XYGlyphView{_map_data(){\"data\"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=(0,_.to_screen)(this.radius)}_render(e,i,s){if(this.visuals.line.doit){const{sx:t,sy:n,sradius:r,start_angle:a,end_angle:c}=null!=s?s:this,d=\"anticlock\"==this.model.direction;for(const s of i){const i=t[s],l=n[s],_=r[s],o=a.get(s),u=c.get(s);isFinite(i+l+_+o+u)&&(e.beginPath(),e.arc(i,l,_,o,u,d),this.visuals.line.set_vectorize(e,s),e.stroke())}}}draw_legend_for_index(e,i,s){(0,d.generic_line_vector_legend)(this.visuals,e,i,s)}}s.ArcView=h,h.__name__=\"ArcView\";class g extends c.XYGlyph{constructor(e){super(e)}}s.Arc=g,a=g,g.__name__=\"Arc\",a.prototype.default_view=h,a.mixins(l.LineVector),a.define((({})=>({direction:[o.Direction,\"anticlock\"],radius:[u.DistanceSpec,{field:\"radius\"}],start_angle:[u.AngleSpec,{field:\"start_angle\"}],end_angle:[u.AngleSpec,{field:\"end_angle\"}]})))},\n", - " function _(e,t,i,n,s){n();const o=e(1);var c;const r=e(48),a=e(179),_=e(184),d=e(78),l=(0,o.__importStar)(e(18));function x(e,t,i,n,s,o,c,r){const a=[],_=[[],[]];for(let _=0;_<=2;_++){let d,l,x;if(0===_?(l=6*e-12*i+6*s,d=-3*e+9*i-9*s+3*c,x=3*i-3*e):(l=6*t-12*n+6*o,d=-3*t+9*n-9*o+3*r,x=3*n-3*t),Math.abs(d)<1e-12){if(Math.abs(l)<1e-12)continue;const e=-x/l;0({x0:[l.XCoordinateSpec,{field:\"x0\"}],y0:[l.YCoordinateSpec,{field:\"y0\"}],x1:[l.XCoordinateSpec,{field:\"x1\"}],y1:[l.YCoordinateSpec,{field:\"y1\"}],cx0:[l.XCoordinateSpec,{field:\"cx0\"}],cy0:[l.YCoordinateSpec,{field:\"cy0\"}],cx1:[l.XCoordinateSpec,{field:\"cx1\"}],cy1:[l.YCoordinateSpec,{field:\"cy1\"}]}))),c.mixins(r.LineVector)},\n", - " function _(s,i,e,t,r){t();const a=s(1);var n;const h=s(178),d=s(48),l=s(24),c=s(20),_=(0,a.__importStar)(s(185)),u=(0,a.__importStar)(s(18)),o=s(9),x=s(12),m=s(72);class p extends h.XYGlyphView{async lazy_initialize(){await super.lazy_initialize();const{webgl:i}=this.renderer.plot_view.canvas_view;if(null==i?void 0:i.regl_wrapper.has_webgl){const{MarkerGL:e}=await Promise.resolve().then((()=>(0,a.__importStar)(s(426))));this.glglyph=new e(i.regl_wrapper,this,\"circle\")}}get use_radius(){return!(this.radius.is_Scalar()&&isNaN(this.radius.value))}_set_data(s){super._set_data(s);const i=(()=>{if(this.use_radius)return 2*this.max_radius;{const{size:s}=this;return s.is_Scalar()?s.value:(0,x.max)(s.array)}})();this._configure(\"max_size\",{value:i})}_map_data(){if(this.use_radius)if(\"data\"==this.model.properties.radius.units)switch(this.model.radius_dimension){case\"x\":this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius);break;case\"y\":this.sradius=this.sdist(this.renderer.yscale,this._y,this.radius);break;case\"max\":{const s=this.sdist(this.renderer.xscale,this._x,this.radius),i=this.sdist(this.renderer.yscale,this._y,this.radius);this.sradius=(0,x.map)(s,((s,e)=>Math.max(s,i[e])));break}case\"min\":{const s=this.sdist(this.renderer.xscale,this._x,this.radius),i=this.sdist(this.renderer.yscale,this._y,this.radius);this.sradius=(0,x.map)(s,((s,e)=>Math.min(s,i[e])));break}}else this.sradius=(0,l.to_screen)(this.radius);else{const s=l.ScreenArray.from(this.size);this.sradius=(0,x.map)(s,(s=>s/2))}}_mask_data(){const{frame:s}=this.renderer.plot_view,i=s.x_target,e=s.y_target;let t,r;return this.use_radius&&\"data\"==this.model.properties.radius.units?(t=i.map((s=>this.renderer.xscale.invert(s))).widen(this.max_radius),r=e.map((s=>this.renderer.yscale.invert(s))).widen(this.max_radius)):(t=i.widen(this.max_size).map((s=>this.renderer.xscale.invert(s))),r=e.widen(this.max_size).map((s=>this.renderer.yscale.invert(s)))),this.index.indices({x0:t.start,x1:t.end,y0:r.start,y1:r.end})}_render(s,i,e){const{sx:t,sy:r,sradius:a}=null!=e?e:this;for(const e of i){const i=t[e],n=r[e],h=a[e];isFinite(i+n+h)&&(s.beginPath(),s.arc(i,n,h,0,2*Math.PI,!1),this.visuals.fill.apply(s,e),this.visuals.hatch.apply(s,e),this.visuals.line.apply(s,e))}}_hit_point(s){const{sx:i,sy:e}=s,t=this.renderer.xscale.invert(i),r=this.renderer.yscale.invert(e),{hit_dilation:a}=this.model;let n,h,d,l;if(this.use_radius&&\"data\"==this.model.properties.radius.units)n=t-this.max_radius*a,h=t+this.max_radius*a,d=r-this.max_radius*a,l=r+this.max_radius*a;else{const s=i-this.max_size*a,t=i+this.max_size*a;[n,h]=this.renderer.xscale.r_invert(s,t);const r=e-this.max_size*a,c=e+this.max_size*a;[d,l]=this.renderer.yscale.r_invert(r,c)}const c=this.index.indices({x0:n,x1:h,y0:d,y1:l}),_=[];if(this.use_radius&&\"data\"==this.model.properties.radius.units)for(const s of c){const i=(this.sradius[s]*a)**2,[e,n]=this.renderer.xscale.r_compute(t,this._x[s]),[h,d]=this.renderer.yscale.r_compute(r,this._y[s]);(e-n)**2+(h-d)**2<=i&&_.push(s)}else for(const s of c){const t=(this.sradius[s]*a)**2;(this.sx[s]-i)**2+(this.sy[s]-e)**2<=t&&_.push(s)}return new m.Selection({indices:_})}_hit_span(s){const{sx:i,sy:e}=s,t=this.bounds();let r,a,n,h;if(\"h\"==s.direction){let s,e;if(n=t.y0,h=t.y1,this.use_radius&&\"data\"==this.model.properties.radius.units)s=i-this.max_radius,e=i+this.max_radius,[r,a]=this.renderer.xscale.r_invert(s,e);else{const t=this.max_size/2;s=i-t,e=i+t,[r,a]=this.renderer.xscale.r_invert(s,e)}}else{let s,i;if(r=t.x0,a=t.x1,this.use_radius&&\"data\"==this.model.properties.radius.units)s=e-this.max_radius,i=e+this.max_radius,[n,h]=this.renderer.yscale.r_invert(s,i);else{const t=this.max_size/2;s=e-t,i=e+t,[n,h]=this.renderer.yscale.r_invert(s,i)}}const d=[...this.index.indices({x0:r,x1:a,y0:n,y1:h})];return new m.Selection({indices:d})}_hit_rect(s){const{sx0:i,sx1:e,sy0:t,sy1:r}=s,[a,n]=this.renderer.xscale.r_invert(i,e),[h,d]=this.renderer.yscale.r_invert(t,r),l=[...this.index.indices({x0:a,x1:n,y0:h,y1:d})];return new m.Selection({indices:l})}_hit_poly(s){const{sx:i,sy:e}=s,t=(0,o.range)(0,this.sx.length),r=[];for(let s=0,a=t.length;s({angle:[u.AngleSpec,0],size:[u.ScreenSizeSpec,{value:4}],radius:[u.NullDistanceSpec,null],radius_dimension:[c.RadiusDimension,\"x\"],hit_dilation:[s,1]})))},\n", - " function _(e,l,s,i,_){var p;i();const t=e(274);class a extends t.EllipseOvalView{}s.EllipseView=a,a.__name__=\"EllipseView\";class n extends t.EllipseOval{constructor(e){super(e)}}s.Ellipse=n,p=n,n.__name__=\"Ellipse\",p.prototype.default_view=a},\n", - " function _(t,s,e,i,h){i();const n=t(1),r=t(275),a=(0,n.__importStar)(t(185)),l=t(24),_=t(72),o=(0,n.__importStar)(t(18));class d extends r.CenterRotatableView{_map_data(){\"data\"==this.model.properties.width.units?this.sw=this.sdist(this.renderer.xscale,this._x,this.width,\"center\"):this.sw=(0,l.to_screen)(this.width),\"data\"==this.model.properties.height.units?this.sh=this.sdist(this.renderer.yscale,this._y,this.height,\"center\"):this.sh=(0,l.to_screen)(this.height)}_render(t,s,e){const{sx:i,sy:h,sw:n,sh:r,angle:a}=null!=e?e:this;for(const e of s){const s=i[e],l=h[e],_=n[e],o=r[e],d=a.get(e);isFinite(s+l+_+o+d)&&(t.beginPath(),t.ellipse(s,l,_/2,o/2,d,0,2*Math.PI),this.visuals.fill.apply(t,e),this.visuals.hatch.apply(t,e),this.visuals.line.apply(t,e))}}_hit_point(t){let s,e,i,h,n,r,l,o,d;const{sx:c,sy:p}=t,w=this.renderer.xscale.invert(c),x=this.renderer.yscale.invert(p);\"data\"==this.model.properties.width.units?(s=w-this.max_width,e=w+this.max_width):(r=c-this.max_width,l=c+this.max_width,[s,e]=this.renderer.xscale.r_invert(r,l)),\"data\"==this.model.properties.height.units?(i=x-this.max_height,h=x+this.max_height):(o=p-this.max_height,d=p+this.max_height,[i,h]=this.renderer.yscale.r_invert(o,d));const m=this.index.indices({x0:s,x1:e,y0:i,y1:h}),y=[];for(const t of m)n=a.point_in_ellipse(c,p,this.angle.get(t),this.sh[t]/2,this.sw[t]/2,this.sx[t],this.sy[t]),n&&y.push(t);return new _.Selection({indices:y})}draw_legend_for_index(t,{x0:s,y0:e,x1:i,y1:h},n){const r=n+1,a=new Array(r);a[n]=(s+i)/2;const l=new Array(r);l[n]=(e+h)/2;const _=this.sw[n]/this.sh[n],d=.8*Math.min(Math.abs(i-s),Math.abs(h-e)),c=new Array(r),p=new Array(r);_>1?(c[n]=d,p[n]=d/_):(c[n]=d*_,p[n]=d);const w=new o.UniformScalar(0,r);this._render(t,[n],{sx:a,sy:l,sw:c,sh:p,angle:w})}}e.EllipseOvalView=d,d.__name__=\"EllipseOvalView\";class c extends r.CenterRotatable{constructor(t){super(t)}}e.EllipseOval=c,c.__name__=\"EllipseOval\"},\n", - " function _(e,t,i,a,n){a();const s=e(1);var r;const h=e(178),o=e(48),_=(0,s.__importStar)(e(18));class c extends h.XYGlyphView{get max_w2(){return\"data\"==this.model.properties.width.units?this.max_width/2:0}get max_h2(){return\"data\"==this.model.properties.height.units?this.max_height/2:0}_bounds({x0:e,x1:t,y0:i,y1:a}){const{max_w2:n,max_h2:s}=this;return{x0:e-n,x1:t+n,y0:i-s,y1:a+s}}}i.CenterRotatableView=c,c.__name__=\"CenterRotatableView\";class l extends h.XYGlyph{constructor(e){super(e)}}i.CenterRotatable=l,r=l,l.__name__=\"CenterRotatable\",r.mixins([o.LineVector,o.FillVector,o.HatchVector]),r.define((({})=>({angle:[_.AngleSpec,0],width:[_.DistanceSpec,{field:\"width\"}],height:[_.DistanceSpec,{field:\"height\"}]})))},\n", - " function _(t,e,s,i,h){i();const r=t(1);var a;const n=t(277),o=t(24),_=(0,r.__importStar)(t(18));class c extends n.BoxView{scenterxy(t){return[(this.sleft[t]+this.sright[t])/2,this.sy[t]]}_lrtb(t){const e=this._left[t],s=this._right[t],i=this._y[t],h=this.height.get(t)/2;return[Math.min(e,s),Math.max(e,s),i+h,i-h]}_map_data(){this.sy=this.renderer.yscale.v_compute(this._y),this.sh=this.sdist(this.renderer.yscale,this._y,this.height,\"center\"),this.sleft=this.renderer.xscale.v_compute(this._left),this.sright=this.renderer.xscale.v_compute(this._right);const t=this.sy.length;this.stop=new o.ScreenArray(t),this.sbottom=new o.ScreenArray(t);for(let e=0;e({left:[_.XCoordinateSpec,{value:0}],y:[_.YCoordinateSpec,{field:\"y\"}],height:[_.NumberSpec,{value:1}],right:[_.XCoordinateSpec,{field:\"right\"}]})))},\n", - " function _(t,e,s,r,i){var n;r();const a=t(48),h=t(179),o=t(184),c=t(72);class _ extends h.GlyphView{get_anchor_point(t,e,s){const r=Math.min(this.sleft[e],this.sright[e]),i=Math.max(this.sright[e],this.sleft[e]),n=Math.min(this.stop[e],this.sbottom[e]),a=Math.max(this.sbottom[e],this.stop[e]);switch(t){case\"top_left\":return{x:r,y:n};case\"top\":case\"top_center\":return{x:(r+i)/2,y:n};case\"top_right\":return{x:i,y:n};case\"bottom_left\":return{x:r,y:a};case\"bottom\":case\"bottom_center\":return{x:(r+i)/2,y:a};case\"bottom_right\":return{x:i,y:a};case\"left\":case\"center_left\":return{x:r,y:(n+a)/2};case\"center\":case\"center_center\":return{x:(r+i)/2,y:(n+a)/2};case\"right\":case\"center_right\":return{x:i,y:(n+a)/2}}}_index_data(t){const{min:e,max:s}=Math,{data_size:r}=this;for(let i=0;i({r:[l.NumberSpec,{field:\"r\"}],q:[l.NumberSpec,{field:\"q\"}],scale:[l.NumberSpec,1],size:[e,1],aspect_scale:[e,1],orientation:[_.HexTileOrientation,\"pointytop\"]}))),a.override({line_color:null})},\n", - " function _(e,a,t,_,r){var n;_();const s=e(280),o=e(173),i=e(201);class p extends s.ImageBaseView{connect_signals(){super.connect_signals(),this.connect(this.model.color_mapper.change,(()=>this._update_image()))}_update_image(){null!=this.image_data&&(this._set_data(null),this.renderer.request_render())}_flat_img_to_buf8(e){return this.model.color_mapper.rgba_mapper.v_compute(e)}}t.ImageView=p,p.__name__=\"ImageView\";class m extends s.ImageBase{constructor(e){super(e)}}t.Image=m,n=m,m.__name__=\"Image\",n.prototype.default_view=p,n.define((({Ref:e})=>({color_mapper:[e(o.ColorMapper),()=>new i.LinearColorMapper({palette:[\"#000000\",\"#252525\",\"#525252\",\"#737373\",\"#969696\",\"#bdbdbd\",\"#d9d9d9\",\"#f0f0f0\",\"#ffffff\"]})]})))},\n", - " function _(e,t,i,s,a){s();const h=e(1);var n;const r=e(178),_=e(24),d=(0,h.__importStar)(e(18)),l=e(72),g=e(9),o=e(29),c=e(11);class m extends r.XYGlyphView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.global_alpha.change,(()=>this.renderer.request_render()))}_render(e,t,i){const{image_data:s,sx:a,sy:h,sw:n,sh:r,global_alpha:_}=null!=i?i:this,d=e.getImageSmoothingEnabled();e.setImageSmoothingEnabled(!1);const l=_.is_Scalar();l&&(e.globalAlpha=_.value);for(const i of t){const t=s[i],_=a[i],d=h[i],g=n[i],o=r[i],c=this.global_alpha.get(i);if(null==t||!isFinite(_+d+g+o+c))continue;l||(e.globalAlpha=c);const m=d;e.translate(0,m),e.scale(1,-1),e.translate(0,-m),e.drawImage(t,0|_,0|d,g,o),e.translate(0,m),e.scale(1,-1),e.translate(0,-m)}e.setImageSmoothingEnabled(d)}_set_data(e){this._set_width_heigh_data();for(let t=0,i=this.image.length;t({image:[d.NDArraySpec,{field:\"image\"}],dw:[d.DistanceSpec,{field:\"dw\"}],dh:[d.DistanceSpec,{field:\"dh\"}],global_alpha:[d.NumberSpec,{value:1}],dilate:[e,!1]})))},\n", - " function _(e,a,t,r,_){var n;r();const s=e(280),m=e(8);class i extends s.ImageBaseView{_flat_img_to_buf8(e){let a;return a=(0,m.isArray)(e)?new Uint32Array(e):e,new Uint8ClampedArray(a.buffer)}}t.ImageRGBAView=i,i.__name__=\"ImageRGBAView\";class g extends s.ImageBase{constructor(e){super(e)}}t.ImageRGBA=g,n=g,g.__name__=\"ImageRGBA\",n.prototype.default_view=i},\n", - " function _(e,t,s,r,a){r();const i=e(1);var n;const o=e(178),c=e(24),_=e(20),h=(0,i.__importStar)(e(18)),l=e(12),d=e(136);class m extends o.XYGlyphView{constructor(){super(...arguments),this._images_rendered=!1,this._set_data_iteration=0}connect_signals(){super.connect_signals(),this.connect(this.model.properties.global_alpha.change,(()=>this.renderer.request_render()))}_index_data(e){const{data_size:t}=this;for(let s=0;s{this._set_data_iteration==r&&(this.image[a]=e,this.renderer.request_render())},attempts:t+1,timeout:s})}const a=\"data\"==this.model.properties.w.units,i=\"data\"==this.model.properties.h.units,n=this._x.length,o=new c.ScreenArray(a?2*n:n),_=new c.ScreenArray(i?2*n:n),{anchor:h}=this.model;function m(e,t){switch(h){case\"top_left\":case\"bottom_left\":case\"left\":case\"center_left\":return[e,e+t];case\"top\":case\"top_center\":case\"bottom\":case\"bottom_center\":case\"center\":case\"center_center\":return[e-t/2,e+t/2];case\"top_right\":case\"bottom_right\":case\"right\":case\"center_right\":return[e-t,e]}}function g(e,t){switch(h){case\"top_left\":case\"top\":case\"top_center\":case\"top_right\":return[e,e-t];case\"bottom_left\":case\"bottom\":case\"bottom_center\":case\"bottom_right\":return[e+t,e];case\"left\":case\"center_left\":case\"center\":case\"center_center\":case\"right\":case\"center_right\":return[e+t/2,e-t/2]}}if(a)for(let e=0;e({url:[h.StringSpec,{field:\"url\"}],anchor:[_.Anchor,\"top_left\"],global_alpha:[h.NumberSpec,{value:1}],angle:[h.AngleSpec,0],w:[h.NullDistanceSpec,null],h:[h.NullDistanceSpec,null],dilate:[e,!1],retry_attempts:[t,0],retry_timeout:[t,0]})))},\n", - " function _(e,t,s,i,n){i();const o=e(1);var r;const l=e(78),_=e(48),c=(0,o.__importStar)(e(185)),h=(0,o.__importStar)(e(18)),a=e(12),d=e(13),x=e(179),y=e(184),g=e(72);class p extends x.GlyphView{_project_data(){l.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let s=0;s0&&o.set(e,s)}return new g.Selection({indices:[...o.keys()],multiline_indices:(0,d.to_object)(o)})}get_interpolation_hit(e,t,s){const i=this._xs.get(e),n=this._ys.get(e),o=i[t],r=n[t],l=i[t+1],_=n[t+1];return(0,y.line_interpolation)(this.renderer,s,o,r,l,_)}draw_legend_for_index(e,t,s){(0,y.generic_line_vector_legend)(this.visuals,e,t,s)}scenterxy(){throw new Error(`${this}.scenterxy() is not implemented`)}}s.MultiLineView=p,p.__name__=\"MultiLineView\";class u extends x.Glyph{constructor(e){super(e)}}s.MultiLine=u,r=u,u.__name__=\"MultiLine\",r.prototype.default_view=p,r.define((({})=>({xs:[h.XCoordinateSeqSpec,{field:\"xs\"}],ys:[h.YCoordinateSeqSpec,{field:\"ys\"}]}))),r.mixins(_.LineVector)},\n", - " function _(t,e,s,n,i){n();const o=t(1);var r;const l=t(181),h=t(179),a=t(184),_=t(12),c=t(12),d=t(48),x=(0,o.__importStar)(t(185)),y=(0,o.__importStar)(t(18)),f=t(72),g=t(11);class p extends h.GlyphView{_project_data(){}_index_data(t){const{min:e,max:s}=Math,{data_size:n}=this;for(let i=0;i1&&c.length>1)for(let s=1,n=i.length;s1){let r=!1;for(let t=1;t({xs:[y.XCoordinateSeqSeqSeqSpec,{field:\"xs\"}],ys:[y.YCoordinateSeqSeqSeqSpec,{field:\"ys\"}]}))),r.mixins([d.LineVector,d.FillVector,d.HatchVector])},\n", - " function _(a,e,l,s,_){var t;s();const i=a(274),n=a(12);class p extends i.EllipseOvalView{_map_data(){super._map_data(),(0,n.mul)(this.sw,.75)}}l.OvalView=p,p.__name__=\"OvalView\";class v extends i.EllipseOval{constructor(a){super(a)}}l.Oval=v,t=v,v.__name__=\"Oval\",t.prototype.default_view=p},\n", - " function _(e,t,s,i,n){i();const r=e(1);var a;const o=e(179),c=e(184),_=e(12),h=e(48),l=(0,r.__importStar)(e(185)),d=(0,r.__importStar)(e(18)),y=e(72),p=e(11),x=e(78);class f extends o.GlyphView{_project_data(){x.inplace.project_xy(this._xs.array,this._ys.array)}_index_data(e){const{data_size:t}=this;for(let s=0;s({xs:[d.XCoordinateSeqSpec,{field:\"xs\"}],ys:[d.YCoordinateSeqSpec,{field:\"ys\"}]}))),a.mixins([h.LineVector,h.FillVector,h.HatchVector])},\n", - " function _(t,e,o,i,s){i();const r=t(1);var n;const _=t(277),d=(0,r.__importStar)(t(18));class a extends _.BoxView{scenterxy(t){return[this.sleft[t]/2+this.sright[t]/2,this.stop[t]/2+this.sbottom[t]/2]}_lrtb(t){return[this._left[t],this._right[t],this._top[t],this._bottom[t]]}}o.QuadView=a,a.__name__=\"QuadView\";class c extends _.Box{constructor(t){super(t)}}o.Quad=c,n=c,c.__name__=\"Quad\",n.prototype.default_view=a,n.define((({})=>({right:[d.XCoordinateSpec,{field:\"right\"}],bottom:[d.YCoordinateSpec,{field:\"bottom\"}],left:[d.XCoordinateSpec,{field:\"left\"}],top:[d.YCoordinateSpec,{field:\"top\"}]})))},\n", - " function _(e,t,i,n,s){n();const c=e(1);var o;const r=e(48),a=e(78),_=e(179),d=e(184),l=(0,c.__importStar)(e(18));function x(e,t,i){if(t==(e+i)/2)return[e,i];{const n=(e-t)/(e-2*t+i),s=e*(1-n)**2+2*t*(1-n)*n+i*n**2;return[Math.min(e,i,s),Math.max(e,i,s)]}}class y extends _.GlyphView{_project_data(){a.inplace.project_xy(this._x0,this._y0),a.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{_x0:t,_x1:i,_y0:n,_y1:s,_cx:c,_cy:o,data_size:r}=this;for(let a=0;a({x0:[l.XCoordinateSpec,{field:\"x0\"}],y0:[l.YCoordinateSpec,{field:\"y0\"}],x1:[l.XCoordinateSpec,{field:\"x1\"}],y1:[l.YCoordinateSpec,{field:\"y1\"}],cx:[l.XCoordinateSpec,{field:\"cx\"}],cy:[l.YCoordinateSpec,{field:\"cy\"}]}))),o.mixins(r.LineVector)},\n", - " function _(e,t,s,i,n){i();const l=e(1);var a;const r=e(178),o=e(184),h=e(48),_=e(24),c=(0,l.__importStar)(e(18));class g extends r.XYGlyphView{_map_data(){\"data\"==this.model.properties.length.units?this.slength=this.sdist(this.renderer.xscale,this._x,this.length):this.slength=(0,_.to_screen)(this.length);const{width:e,height:t}=this.renderer.plot_view.frame.bbox,s=2*(e+t),{slength:i}=this;for(let e=0,t=i.length;e({length:[c.DistanceSpec,0],angle:[c.AngleSpec,0]})))},\n", - " function _(t,e,s,i,r){var n,h=this&&this.__createBinding||(Object.create?function(t,e,s,i){void 0===i&&(i=s),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[s]}})}:function(t,e,s,i){void 0===i&&(i=s),t[i]=e[s]}),a=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,\"default\",{enumerable:!0,value:e})}:function(t,e){t.default=e}),l=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var s in t)\"default\"!==s&&Object.prototype.hasOwnProperty.call(t,s)&&h(e,t,s);return a(e,t),e};i();const o=t(275),c=t(184),_=t(24),d=t(12),f=t(72);class y extends o.CenterRotatableView{async lazy_initialize(){await super.lazy_initialize();const{webgl:e}=this.renderer.plot_view.canvas_view;if(null==e?void 0:e.regl_wrapper.has_webgl){const{RectGL:s}=await Promise.resolve().then((()=>l(t(425))));this.glglyph=new s(e.regl_wrapper,this)}}_map_data(){if(\"data\"==this.model.properties.width.units)[this.sw,this.sx0]=this._map_dist_corner_for_data_side_length(this._x,this.width,this.renderer.xscale);else{this.sw=(0,_.to_screen)(this.width);const t=this.sx.length;this.sx0=new _.ScreenArray(t);for(let e=0;e({dilate:[t,!1]})))},\n", - " function _(e,t,s,r,i){r();const a=e(1);var n;const l=e(292),_=e(293),c=(0,a.__importStar)(e(18));class o extends l.MarkerView{async lazy_initialize(){await super.lazy_initialize();const{webgl:t}=this.renderer.plot_view.canvas_view;if(null==t?void 0:t.regl_wrapper.has_webgl){const{MarkerGL:t}=await Promise.resolve().then((()=>(0,a.__importStar)(e(426))));this.glcls=t}}_init_webgl(){const{webgl:e}=this.renderer.plot_view.canvas_view;if(null!=e){const{regl_wrapper:t}=e;if(t.has_webgl){const e=new Set(null!=this.base?this.base.marker:this.marker);if(1==e.size){const[s]=[...e],r=this.glcls;if(null==r?void 0:r.is_supported(s)){const{glglyph:e}=this;if(null==e||e.marker_type!=s)return void(this.glglyph=new r(t,this,s))}}}}delete this.glglyph}_set_visuals(){this._init_webgl()}_render(e,t,s){const{sx:r,sy:i,size:a,angle:n,marker:l}=null!=s?s:this;for(const s of t){const t=r[s],c=i[s],o=a.get(s),g=n.get(s),h=l.get(s);if(!isFinite(t+c+o+g)||null==h)continue;const w=o/2;e.beginPath(),e.translate(t,c),g&&e.rotate(g),_.marker_funcs[h](e,s,w,this.visuals),g&&e.rotate(-g),e.translate(-t,-c)}}draw_legend_for_index(e,{x0:t,x1:s,y0:r,y1:i},a){const n=a+1,l=this.marker.get(a),_=Object.assign(Object.assign({},this._get_legend_args({x0:t,x1:s,y0:r,y1:i},a)),{marker:new c.UniformScalar(l,n)});this._render(e,[a],_)}}s.ScatterView=o,o.__name__=\"ScatterView\";class g extends l.Marker{constructor(e){super(e)}}s.Scatter=g,n=g,g.__name__=\"Scatter\",n.prototype.default_view=o,n.define((()=>({marker:[c.MarkerSpec,{value:\"circle\"}]})))},\n", - " function _(e,t,s,n,i){n();const r=e(1);var a;const c=e(178),o=e(48),_=(0,r.__importStar)(e(185)),h=(0,r.__importStar)(e(18)),l=e(9),x=e(72);class d extends c.XYGlyphView{_render(e,t,s){const{sx:n,sy:i,size:r,angle:a}=null!=s?s:this;for(const s of t){const t=n[s],c=i[s],o=r.get(s),_=a.get(s);if(!isFinite(t+c+o+_))continue;const h=o/2;e.beginPath(),e.translate(t,c),_&&e.rotate(_),this._render_one(e,s,h,this.visuals),_&&e.rotate(-_),e.translate(-t,-c)}}_mask_data(){const{x_target:e,y_target:t}=this.renderer.plot_view.frame,s=e.widen(this.max_size).map((e=>this.renderer.xscale.invert(e))),n=t.widen(this.max_size).map((e=>this.renderer.yscale.invert(e)));return this.index.indices({x0:s.start,x1:s.end,y0:n.start,y1:n.end})}_hit_point(e){const{sx:t,sy:s}=e,{max_size:n}=this,{hit_dilation:i}=this.model,r=t-n*i,a=t+n*i,[c,o]=this.renderer.xscale.r_invert(r,a),_=s-n*i,h=s+n*i,[l,d]=this.renderer.yscale.r_invert(_,h),y=this.index.indices({x0:c,x1:o,y0:l,y1:d}),g=[];for(const e of y){const n=this.size.get(e)/2*i;Math.abs(this.sx[e]-t)<=n&&Math.abs(this.sy[e]-s)<=n&&g.push(e)}return new x.Selection({indices:g})}_hit_span(e){const{sx:t,sy:s}=e,n=this.bounds(),i=this.max_size/2;let r,a,c,o;if(\"h\"==e.direction){c=n.y0,o=n.y1;const e=t-i,s=t+i;[r,a]=this.renderer.xscale.r_invert(e,s)}else{r=n.x0,a=n.x1;const e=s-i,t=s+i;[c,o]=this.renderer.yscale.r_invert(e,t)}const _=[...this.index.indices({x0:r,x1:a,y0:c,y1:o})];return new x.Selection({indices:_})}_hit_rect(e){const{sx0:t,sx1:s,sy0:n,sy1:i}=e,[r,a]=this.renderer.xscale.r_invert(t,s),[c,o]=this.renderer.yscale.r_invert(n,i),_=[...this.index.indices({x0:r,x1:a,y0:c,y1:o})];return new x.Selection({indices:_})}_hit_poly(e){const{sx:t,sy:s}=e,n=(0,l.range)(0,this.sx.length),i=[];for(let e=0,r=n.length;e({size:[h.ScreenSizeSpec,{value:4}],angle:[h.AngleSpec,0],hit_dilation:[e,1]})))},\n", - " function _(l,o,n,t,i){t();const e=Math.sqrt(3),a=Math.sqrt(5),c=(a+1)/4,p=Math.sqrt((5-a)/8),r=(a-1)/4,h=Math.sqrt((5+a)/8);function u(l,o){l.rotate(Math.PI/4),s(l,o),l.rotate(-Math.PI/4)}function f(l,o){const n=o*e,t=n/3;l.moveTo(-n/2,-t),l.lineTo(0,0),l.lineTo(n/2,-t),l.lineTo(0,0),l.lineTo(0,o)}function s(l,o){l.moveTo(0,o),l.lineTo(0,-o),l.moveTo(-o,0),l.lineTo(o,0)}function T(l,o){l.moveTo(0,o),l.lineTo(o/1.5,0),l.lineTo(0,-o),l.lineTo(-o/1.5,0),l.closePath()}function y(l,o){const n=o*e,t=n/3;l.moveTo(-o,t),l.lineTo(o,t),l.lineTo(0,t-n),l.closePath()}function v(l,o,n,t){l.arc(0,0,n,0,2*Math.PI,!1),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function d(l,o,n,t){T(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function _(l,o,n,t){!function(l,o){l.beginPath(),l.arc(0,0,o/4,0,2*Math.PI,!1),l.closePath()}(l,n),t.line.set_vectorize(l,o),l.fillStyle=l.strokeStyle,l.fill()}function P(l,o,n,t){!function(l,o){const n=o/2,t=e*n;l.moveTo(o,0),l.lineTo(n,-t),l.lineTo(-n,-t),l.lineTo(-o,0),l.lineTo(-n,t),l.lineTo(n,t),l.closePath()}(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function m(l,o,n,t){const i=2*n;l.rect(-n,-n,i,i),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function q(l,o,n,t){!function(l,o){const n=Math.sqrt(5-2*a)*o;l.moveTo(0,-o),l.lineTo(n*r,n*h-o),l.lineTo(n*(1+r),n*h-o),l.lineTo(n*(1+r-c),n*(h+p)-o),l.lineTo(n*(1+2*r-c),n*(2*h+p)-o),l.lineTo(0,2*n*h-o),l.lineTo(-n*(1+2*r-c),n*(2*h+p)-o),l.lineTo(-n*(1+r-c),n*(h+p)-o),l.lineTo(-n*(1+r),n*h-o),l.lineTo(-n*r,n*h-o),l.closePath()}(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}function M(l,o,n,t){y(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)}n.marker_funcs={asterisk:function(l,o,n,t){s(l,n),u(l,n),t.line.apply(l,o)},circle:v,circle_cross:function(l,o,n,t){l.arc(0,0,n,0,2*Math.PI,!1),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),s(l,n),l.stroke())},circle_dot:function(l,o,n,t){v(l,o,n,t),_(l,o,n,t)},circle_y:function(l,o,n,t){l.arc(0,0,n,0,2*Math.PI,!1),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),f(l,n),l.stroke())},circle_x:function(l,o,n,t){l.arc(0,0,n,0,2*Math.PI,!1),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),u(l,n),l.stroke())},cross:function(l,o,n,t){s(l,n),t.line.apply(l,o)},diamond:d,diamond_dot:function(l,o,n,t){d(l,o,n,t),_(l,o,n,t)},diamond_cross:function(l,o,n,t){T(l,n),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),l.moveTo(0,n),l.lineTo(0,-n),l.moveTo(-n/1.5,0),l.lineTo(n/1.5,0),l.stroke())},dot:_,hex:P,hex_dot:function(l,o,n,t){P(l,o,n,t),_(l,o,n,t)},inverted_triangle:function(l,o,n,t){l.rotate(Math.PI),y(l,n),l.rotate(-Math.PI),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)},plus:function(l,o,n,t){const i=3*n/8,e=[i,i,n,n,i,i,-i,-i,-n,-n,-i,-i],a=[n,i,i,-i,-i,-n,-n,-i,-i,i,i,n];l.beginPath();for(let o=0;o<12;o++)l.lineTo(e[o],a[o]);l.closePath(),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)},square:m,square_cross:function(l,o,n,t){const i=2*n;l.rect(-n,-n,i,i),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),s(l,n),l.stroke())},square_dot:function(l,o,n,t){m(l,o,n,t),_(l,o,n,t)},square_pin:function(l,o,n,t){const i=3*n/8;l.moveTo(-n,-n),l.quadraticCurveTo(0,-i,n,-n),l.quadraticCurveTo(i,0,n,n),l.quadraticCurveTo(0,i,-n,n),l.quadraticCurveTo(-i,0,-n,-n),l.closePath(),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)},square_x:function(l,o,n,t){const i=2*n;l.rect(-n,-n,i,i),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.doit&&(t.line.set_vectorize(l,o),l.moveTo(-n,n),l.lineTo(n,-n),l.moveTo(-n,-n),l.lineTo(n,n),l.stroke())},star:q,star_dot:function(l,o,n,t){q(l,o,n,t),_(l,o,n,t)},triangle:M,triangle_dot:function(l,o,n,t){M(l,o,n,t),_(l,o,n,t)},triangle_pin:function(l,o,n,t){const i=n*e,a=i/3,c=3*a/8;l.moveTo(-n,a),l.quadraticCurveTo(0,c,n,a),l.quadraticCurveTo(e*c/2,c/2,0,a-i),l.quadraticCurveTo(-e*c/2,c/2,-n,a),l.closePath(),t.fill.apply(l,o),t.hatch.apply(l,o),t.line.apply(l,o)},dash:function(l,o,n,t){!function(l,o){l.moveTo(-o,0),l.lineTo(o,0)}(l,n),t.line.apply(l,o)},x:function(l,o,n,t){u(l,n),t.line.apply(l,o)},y:function(l,o,n,t){f(l,n),t.line.apply(l,o)}}},\n", - " function _(e,t,s,i,n){i();const r=e(1);var o;const _=(0,r.__importStar)(e(185)),h=(0,r.__importStar)(e(18)),c=e(48),a=e(78),d=e(179),x=e(184),l=e(72);class y extends d.GlyphView{_project_data(){a.inplace.project_xy(this._x0,this._y0),a.inplace.project_xy(this._x1,this._y1)}_index_data(e){const{min:t,max:s}=Math,{_x0:i,_x1:n,_y0:r,_y1:o,data_size:_}=this;for(let h=0;h<_;h++){const _=i[h],c=n[h],a=r[h],d=o[h];e.add_rect(t(_,c),t(a,d),s(_,c),s(a,d))}}_render(e,t,s){if(this.visuals.line.doit){const{sx0:i,sy0:n,sx1:r,sy1:o}=null!=s?s:this;for(const s of t){const t=i[s],_=n[s],h=r[s],c=o[s];isFinite(t+_+h+c)&&(e.beginPath(),e.moveTo(t,_),e.lineTo(h,c),this.visuals.line.set_vectorize(e,s),e.stroke())}}}_hit_point(e){const{sx:t,sy:s}=e,i={x:t,y:s},[n,r]=this.renderer.xscale.r_invert(t-2,t+2),[o,h]=this.renderer.yscale.r_invert(s-2,s+2),c=this.index.indices({x0:n,y0:o,x1:r,y1:h}),a=[];for(const e of c){const t=Math.max(2,this.line_width.get(e)/2)**2,s={x:this.sx0[e],y:this.sy0[e]},n={x:this.sx1[e],y:this.sy1[e]};_.dist_to_segment_squared(i,s,n)({x0:[h.XCoordinateSpec,{field:\"x0\"}],y0:[h.YCoordinateSpec,{field:\"y0\"}],x1:[h.XCoordinateSpec,{field:\"x1\"}],y1:[h.YCoordinateSpec,{field:\"y1\"}]}))),o.mixins(c.LineVector)},\n", - " function _(t,e,s,i,n){i();const o=t(1);var _;const l=t(178),a=(0,o.__importStar)(t(48)),c=t(296);class r extends l.XYGlyphView{_set_data(){const{tension:t,closed:e}=this.model;[this._xt,this._yt]=(0,c.catmullrom_spline)(this._x,this._y,20,t,e)}_map_data(){const{x_scale:t,y_scale:e}=this.renderer.coordinates;this.sxt=t.v_compute(this._xt),this.syt=e.v_compute(this._yt)}_render(t,e,s){const{sxt:i,syt:n}=null!=s?s:this;let o=!0;t.beginPath();const _=i.length;for(let e=0;e<_;e++){const s=i[e],_=n[e];isFinite(s+_)?o?(t.moveTo(s,_),o=!1):t.lineTo(s,_):o=!0}this.visuals.line.set_value(t),t.stroke()}}s.SplineView=r,r.__name__=\"SplineView\";class h extends l.XYGlyph{constructor(t){super(t)}}s.Spline=h,_=h,h.__name__=\"Spline\",_.prototype.default_view=r,_.mixins(a.LineScalar),_.define((({Boolean:t,Number:e})=>({tension:[e,.5],closed:[t,!1]})))},\n", - " function _(n,t,e,o,s){o();const c=n(24),l=n(11);e.catmullrom_spline=function(n,t,e=10,o=.5,s=!1){(0,l.assert)(n.length==t.length);const r=n.length,f=s?r+1:r,w=(0,c.infer_type)(n,t),i=new w(f+2),u=new w(f+2);i.set(n,1),u.set(t,1),s?(i[0]=n[r-1],u[0]=t[r-1],i[f]=n[0],u[f]=t[0],i[f+1]=n[1],u[f+1]=t[1]):(i[0]=n[0],u[0]=t[0],i[f+1]=n[r-1],u[f+1]=t[r-1]);const g=new w(4*(e+1));for(let n=0,t=0;n<=e;n++){const o=n/e,s=o**2,c=o*s;g[t++]=2*c-3*s+1,g[t++]=-2*c+3*s,g[t++]=c-2*s+o,g[t++]=c-s}const h=new w((f-1)*(e+1)),_=new w((f-1)*(e+1));for(let n=1,t=0;n1&&(e.stroke(),o=!1)}o?(e.lineTo(t,r),e.lineTo(a,c)):(e.beginPath(),e.moveTo(s[n],i[n]),o=!0),l=n}e.lineTo(s[a-1],i[a-1]),e.stroke()}}draw_legend_for_index(e,t,n){(0,r.generic_line_scalar_legend)(this.visuals,e,t)}}n.StepView=f,f.__name__=\"StepView\";class u extends a.XYGlyph{constructor(e){super(e)}}n.Step=u,l=u,u.__name__=\"Step\",l.prototype.default_view=f,l.mixins(c.LineScalar),l.define((()=>({mode:[_.StepMode,\"before\"]})))},\n", - " function _(t,e,s,i,n){i();const o=t(1);var _;const h=t(178),l=t(48),r=(0,o.__importStar)(t(185)),a=(0,o.__importStar)(t(18)),c=t(121),x=t(11),u=t(72);class f extends h.XYGlyphView{_rotate_point(t,e,s,i,n){return[(t-s)*Math.cos(n)-(e-i)*Math.sin(n)+s,(t-s)*Math.sin(n)+(e-i)*Math.cos(n)+i]}_text_bounds(t,e,s,i){return[[t,t+s,t+s,t,t],[e,e,e-i,e-i,e]]}_render(t,e,s){const{sx:i,sy:n,x_offset:o,y_offset:_,angle:h,text:l}=null!=s?s:this;this._sys=[],this._sxs=[];for(const s of e){const e=this._sxs[s]=[],r=this._sys[s]=[],a=i[s],x=n[s],u=o.get(s),f=_.get(s),p=h.get(s),g=l.get(s);if(isFinite(a+x+u+f+p)&&null!=g&&this.visuals.text.doit){const i=`${g}`;t.save(),t.translate(a+u,x+f),t.rotate(p),this.visuals.text.set_vectorize(t,s);const n=this.visuals.text.font_value(s),{height:o}=(0,c.font_metrics)(n),_=this.text_line_height.get(s)*o;if(-1==i.indexOf(\"\\n\")){t.fillText(i,0,0);const s=a+u,n=x+f,o=t.measureText(i).width,[h,l]=this._text_bounds(s,n,o,_);e.push(h),r.push(l)}else{const n=i.split(\"\\n\"),o=_*n.length,h=this.text_baseline.get(s);let l;switch(h){case\"top\":l=0;break;case\"middle\":l=-o/2+_/2;break;case\"bottom\":l=-o+_;break;default:l=0,console.warn(`'${h}' baseline not supported with multi line text`)}for(const s of n){t.fillText(s,0,l);const i=a+u,n=l+x+f,o=t.measureText(s).width,[h,c]=this._text_bounds(i,n,o,_);e.push(h),r.push(c),l+=_}}t.restore()}}}_hit_point(t){const{sx:e,sy:s}=t,i=[];for(let t=0;t({text:[a.NullStringSpec,{field:\"text\"}],angle:[a.AngleSpec,0],x_offset:[a.NumberSpec,0],y_offset:[a.NumberSpec,0]})))},\n", - " function _(t,s,e,i,r){i();const h=t(1);var o;const a=t(277),n=t(24),_=(0,h.__importStar)(t(18));class c extends a.BoxView{scenterxy(t){return[this.sx[t],(this.stop[t]+this.sbottom[t])/2]}_lrtb(t){const s=this.width.get(t)/2,e=this._x[t],i=this._top[t],r=this._bottom[t];return[e-s,e+s,Math.max(i,r),Math.min(i,r)]}_map_data(){this.sx=this.renderer.xscale.v_compute(this._x),this.sw=this.sdist(this.renderer.xscale,this._x,this.width,\"center\"),this.stop=this.renderer.yscale.v_compute(this._top),this.sbottom=this.renderer.yscale.v_compute(this._bottom);const t=this.sx.length;this.sleft=new n.ScreenArray(t),this.sright=new n.ScreenArray(t);for(let s=0;s({x:[_.XCoordinateSpec,{field:\"x\"}],bottom:[_.YCoordinateSpec,{value:0}],width:[_.NumberSpec,{value:1}],top:[_.YCoordinateSpec,{field:\"top\"}]})))},\n", - " function _(e,s,t,i,n){i();const r=e(1);var a;const c=e(178),l=e(184),d=e(48),o=e(24),h=e(20),_=(0,r.__importStar)(e(18)),u=e(10),g=e(72);class p extends c.XYGlyphView{_map_data(){\"data\"==this.model.properties.radius.units?this.sradius=this.sdist(this.renderer.xscale,this._x,this.radius):this.sradius=(0,o.to_screen)(this.radius)}_render(e,s,t){const{sx:i,sy:n,sradius:r,start_angle:a,end_angle:c}=null!=t?t:this,l=\"anticlock\"==this.model.direction;for(const t of s){const s=i[t],d=n[t],o=r[t],h=a.get(t),_=c.get(t);isFinite(s+d+o+h+_)&&(e.beginPath(),e.arc(s,d,o,h,_,l),e.lineTo(s,d),e.closePath(),this.visuals.fill.apply(e,t),this.visuals.hatch.apply(e,t),this.visuals.line.apply(e,t))}}_hit_point(e){let s,t,i,n,r,a,c,l,d;const{sx:o,sy:h}=e,_=this.renderer.xscale.invert(o),p=this.renderer.yscale.invert(h),x=2*this.max_radius;\"data\"===this.model.properties.radius.units?(a=_-x,c=_+x,l=p-x,d=p+x):(t=o-x,i=o+x,[a,c]=this.renderer.xscale.r_invert(t,i),n=h-x,r=h+x,[l,d]=this.renderer.yscale.r_invert(n,r));const y=[];for(const e of this.index.indices({x0:a,x1:c,y0:l,y1:d})){const a=this.sradius[e]**2;[t,i]=this.renderer.xscale.r_compute(_,this._x[e]),[n,r]=this.renderer.yscale.r_compute(p,this._y[e]),s=(t-i)**2+(n-r)**2,s<=a&&y.push(e)}const f=\"anticlock\"==this.model.direction,m=[];for(const e of y){const s=Math.atan2(h-this.sy[e],o-this.sx[e]);(0,u.angle_between)(-s,-this.start_angle.get(e),-this.end_angle.get(e),f)&&m.push(e)}return new g.Selection({indices:m})}draw_legend_for_index(e,s,t){(0,l.generic_area_vector_legend)(this.visuals,e,s,t)}scenterxy(e){const s=this.sradius[e]/2,t=(this.start_angle.get(e)+this.end_angle.get(e))/2;return[this.sx[e]+s*Math.cos(t),this.sy[e]+s*Math.sin(t)]}}t.WedgeView=p,p.__name__=\"WedgeView\";class x extends c.XYGlyph{constructor(e){super(e)}}t.Wedge=x,a=x,x.__name__=\"Wedge\",a.prototype.default_view=p,a.mixins([d.LineVector,d.FillVector,d.HatchVector]),a.define((({})=>({direction:[h.Direction,\"anticlock\"],radius:[_.DistanceSpec,{field:\"radius\"}],start_angle:[_.AngleSpec,{field:\"start_angle\"}],end_angle:[_.AngleSpec,{field:\"end_angle\"}]})))},\n", - " function _(t,_,r,o,a){o();const e=t(1);(0,e.__exportStar)(t(302),r),(0,e.__exportStar)(t(303),r),(0,e.__exportStar)(t(304),r)},\n", - " function _(e,t,d,n,s){n();const o=e(53),r=e(12),_=e(9),i=e(72);class c extends o.Model{constructor(e){super(e)}_hit_test(e,t,d){if(!t.model.visible)return null;const n=d.glyph.hit_test(e);return null==n?null:d.model.view.convert_selection_from_subset(n)}}d.GraphHitTestPolicy=c,c.__name__=\"GraphHitTestPolicy\";class a extends c{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.edge_view)}do_selection(e,t,d,n){if(null==e)return!1;const s=t.edge_renderer.data_source.selected;return s.update(e,d,n),t.edge_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,d,n,s){if(null==e)return!1;const{edge_renderer:o}=d.model,r=o.get_selection_manager().get_or_create_inspector(d.edge_view.model);return r.update(e,n,s),d.edge_view.model.data_source.setv({inspected:r},{silent:!0}),d.edge_view.model.data_source.inspect.emit([d.edge_view.model,{geometry:t}]),!r.is_empty()}}d.EdgesOnly=a,a.__name__=\"EdgesOnly\";class l extends c{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.node_view)}do_selection(e,t,d,n){if(null==e)return!1;const s=t.node_renderer.data_source.selected;return s.update(e,d,n),t.node_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,d,n,s){if(null==e)return!1;const{node_renderer:o}=d.model,r=o.get_selection_manager().get_or_create_inspector(d.node_view.model);return r.update(e,n,s),d.node_view.model.data_source.setv({inspected:r},{silent:!0}),d.node_view.model.data_source.inspect.emit([d.node_view.model,{geometry:t}]),!r.is_empty()}}d.NodesOnly=l,l.__name__=\"NodesOnly\";class u extends c{constructor(e){super(e)}hit_test(e,t){return this._hit_test(e,t,t.node_view)}get_linked_edges(e,t,d){let n=[];\"selection\"==d?n=e.selected.indices.map((t=>e.data.index[t])):\"inspection\"==d&&(n=e.inspected.indices.map((t=>e.data.index[t])));const s=[];for(let e=0;e(0,r.indexOf)(e.data.index,t)));return new i.Selection({indices:o})}do_selection(e,t,d,n){if(null==e)return!1;const s=t.edge_renderer.data_source.selected;s.update(e,d,n);const o=t.node_renderer.data_source.selected,r=this.get_linked_nodes(t.node_renderer.data_source,t.edge_renderer.data_source,\"selection\");return o.update(r,d,n),t.edge_renderer.data_source._select.emit(),!s.is_empty()}do_inspection(e,t,d,n,s){if(null==e)return!1;const o=d.edge_view.model.data_source.selection_manager.get_or_create_inspector(d.edge_view.model);o.update(e,n,s),d.edge_view.model.data_source.setv({inspected:o},{silent:!0});const r=d.node_view.model.data_source.selection_manager.get_or_create_inspector(d.node_view.model),_=this.get_linked_nodes(d.node_view.model.data_source,d.edge_view.model.data_source,\"inspection\");return r.update(_,n,s),d.node_view.model.data_source.setv({inspected:r},{silent:!0}),d.edge_view.model.data_source.inspect.emit([d.edge_view.model,{geometry:t}]),!o.is_empty()}}d.EdgesAndLinkedNodes=m,m.__name__=\"EdgesAndLinkedNodes\"},\n", - " function _(e,o,t,r,n){var s;r();const a=e(53),d=e(260);class _ extends a.Model{constructor(e){super(e)}get node_coordinates(){return new u({layout:this})}get edge_coordinates(){return new i({layout:this})}}t.LayoutProvider=_,_.__name__=\"LayoutProvider\";class c extends d.CoordinateTransform{constructor(e){super(e)}}t.GraphCoordinates=c,s=c,c.__name__=\"GraphCoordinates\",s.define((({Ref:e})=>({layout:[e(_)]})));class u extends c{constructor(e){super(e)}_v_compute(e){const[o,t]=this.layout.get_node_coordinates(e);return{x:o,y:t}}}t.NodeCoordinates=u,u.__name__=\"NodeCoordinates\";class i extends c{constructor(e){super(e)}_v_compute(e){const[o,t]=this.layout.get_edge_coordinates(e);return{x:o,y:t}}}t.EdgeCoordinates=i,i.__name__=\"EdgeCoordinates\"},\n", - " function _(t,a,l,e,n){var o;e();const r=t(303);class u extends r.LayoutProvider{constructor(t){super(t)}get_node_coordinates(t){var a;const l=null!==(a=t.data.index)&&void 0!==a?a:[],e=l.length,n=new Float64Array(e),o=new Float64Array(e);for(let t=0;t({graph_layout:[l(a(t,t)),{}]})))},\n", - " function _(i,d,n,r,G){r(),G(\"Grid\",i(306).Grid)},\n", - " function _(i,e,n,s,t){s();const r=i(1);var o;const d=i(127),_=i(129),a=i(130),l=(0,r.__importStar)(i(48)),h=i(8);class c extends _.GuideRendererView{_render(){const i=this.layer.ctx;i.save(),this._draw_regions(i),this._draw_minor_grids(i),this._draw_grids(i),i.restore()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render()))}_draw_regions(i){if(!this.visuals.band_fill.doit&&!this.visuals.band_hatch.doit)return;const[e,n]=this.grid_coords(\"major\",!1);for(let s=0;sn[1]&&(t=n[1]);else{[s,t]=n;for(const i of this.plot_view.axis_views)i.dimension==this.model.dimension&&i.model.x_range_name==this.model.x_range_name&&i.model.y_range_name==this.model.y_range_name&&([s,t]=i.computed_bounds)}return[s,t]}grid_coords(i,e=!0){const n=this.model.dimension,s=(n+1)%2,[t,r]=this.ranges();let[o,d]=this.computed_bounds();[o,d]=[Math.min(o,d),Math.max(o,d)];const _=[[],[]],a=this.model.get_ticker();if(null==a)return _;const l=a.get_ticks(o,d,t,r.min)[i],h=t.min,c=t.max,u=r.min,m=r.max;e||(l[0]!=h&&l.splice(0,0,h),l[l.length-1]!=c&&l.push(c));for(let i=0;i({bounds:[r(t(i,i),e),\"auto\"],dimension:[n(0,1),0],axis:[o(s(d.Axis)),null],ticker:[o(s(a.Ticker)),null]}))),o.override({level:\"underlay\",band_fill_color:null,band_fill_alpha:0,grid_line_color:\"#e5e5e5\",minor_grid_line_color:null})},\n", - " function _(o,a,x,B,e){B(),e(\"Box\",o(308).Box),e(\"Column\",o(310).Column),e(\"GridBox\",o(311).GridBox),e(\"HTMLBox\",o(312).HTMLBox),e(\"LayoutDOM\",o(309).LayoutDOM),e(\"Panel\",o(313).Panel),e(\"Row\",o(314).Row),e(\"Spacer\",o(315).Spacer),e(\"Tabs\",o(316).Tabs),e(\"WidgetBox\",o(319).WidgetBox)},\n", - " function _(e,n,s,t,c){var i;t();const o=e(309);class r extends o.LayoutDOMView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.children.change,(()=>this.rebuild()))}get child_models(){return this.model.children}}s.BoxView=r,r.__name__=\"BoxView\";class a extends o.LayoutDOM{constructor(e){super(e)}}s.Box=a,i=a,a.__name__=\"Box\",i.define((({Number:e,Array:n,Ref:s})=>({children:[n(s(o.LayoutDOM)),[]],spacing:[e,0]})))},\n", - " function _(t,i,e,s,o){var l;s();const n=t(53),h=t(20),a=t(43),r=t(19),_=t(8),c=t(22),u=t(121),d=t(113),p=t(226),m=t(207),g=t(44),w=t(235);class f extends p.DOMView{constructor(){super(...arguments),this._offset_parent=null,this._viewport={}}get is_layout_root(){return this.is_root||!(this.parent instanceof f)}get base_font_size(){const t=getComputedStyle(this.el).fontSize,i=(0,u.parse_css_font_size)(t);if(null!=i){const{value:t,unit:e}=i;if(\"px\"==e)return t}return null}initialize(){super.initialize(),this.el.style.position=this.is_layout_root?\"relative\":\"absolute\",this._child_views=new Map}async lazy_initialize(){await super.lazy_initialize(),await this.build_child_views()}remove(){for(const t of this.child_views)t.remove();this._child_views.clear(),super.remove()}connect_signals(){super.connect_signals(),this.is_layout_root&&(this._on_resize=()=>this.resize_layout(),window.addEventListener(\"resize\",this._on_resize),this._parent_observer=setInterval((()=>{const t=this.el.offsetParent;this._offset_parent!=t&&(this._offset_parent=t,null!=t&&(this.compute_viewport(),this.invalidate_layout()))}),250));const t=this.model.properties;this.on_change([t.width,t.height,t.min_width,t.min_height,t.max_width,t.max_height,t.margin,t.width_policy,t.height_policy,t.sizing_mode,t.aspect_ratio,t.visible],(()=>this.invalidate_layout())),this.on_change([t.background,t.css_classes],(()=>this.invalidate_render()))}disconnect_signals(){null!=this._parent_observer&&clearTimeout(this._parent_observer),null!=this._on_resize&&window.removeEventListener(\"resize\",this._on_resize),super.disconnect_signals()}css_classes(){return super.css_classes().concat(this.model.css_classes)}get child_views(){return this.child_models.map((t=>this._child_views.get(t)))}async build_child_views(){await(0,d.build_views)(this._child_views,this.child_models,{parent:this})}render(){super.render(),(0,a.empty)(this.el);const{background:t}=this.model;this.el.style.backgroundColor=null!=t?(0,c.color2css)(t):\"\",(0,a.classes)(this.el).clear().add(...this.css_classes());for(const t of this.child_views)this.el.appendChild(t.el),t.render()}update_layout(){for(const t of this.child_views)t.update_layout();this._update_layout()}update_position(){this.el.style.display=this.model.visible?\"block\":\"none\";const t=this.is_layout_root?this.layout.sizing.margin:void 0;(0,a.position)(this.el,this.layout.bbox,t);for(const t of this.child_views)t.update_position()}after_layout(){for(const t of this.child_views)t.after_layout();this._has_finished=!0}compute_viewport(){this._viewport=this._viewport_size()}renderTo(t){t.appendChild(this.el),this._offset_parent=this.el.offsetParent,this.compute_viewport(),this.build(),this.notify_finished()}build(){if(!this.is_layout_root)throw new Error(`${this.toString()} is not a root layout`);return this.render(),this.update_layout(),this.compute_layout(),this}async rebuild(){await this.build_child_views(),this.invalidate_render()}compute_layout(){const t=Date.now();this.layout.compute(this._viewport),this.update_position(),this.after_layout(),r.logger.debug(`layout computed in ${Date.now()-t} ms`)}resize_layout(){this.root.compute_viewport(),this.root.compute_layout()}invalidate_layout(){this.root.update_layout(),this.root.compute_layout()}invalidate_render(){this.render(),this.invalidate_layout()}has_finished(){if(!super.has_finished())return!1;for(const t of this.child_views)if(!t.has_finished())return!1;return!0}_width_policy(){return null!=this.model.width?\"fixed\":\"fit\"}_height_policy(){return null!=this.model.height?\"fixed\":\"fit\"}box_sizing(){let{width_policy:t,height_policy:i,aspect_ratio:e}=this.model;\"auto\"==t&&(t=this._width_policy()),\"auto\"==i&&(i=this._height_policy());const{sizing_mode:s}=this.model;if(null!=s)if(\"fixed\"==s)t=i=\"fixed\";else if(\"stretch_both\"==s)t=i=\"max\";else if(\"stretch_width\"==s)t=\"max\";else if(\"stretch_height\"==s)i=\"max\";else switch(null==e&&(e=\"auto\"),s){case\"scale_width\":t=\"max\",i=\"min\";break;case\"scale_height\":t=\"min\",i=\"max\";break;case\"scale_both\":t=\"max\",i=\"max\"}const o={width_policy:t,height_policy:i},{min_width:l,min_height:n}=this.model;null!=l&&(o.min_width=l),null!=n&&(o.min_height=n);const{width:h,height:a}=this.model;null!=h&&(o.width=h),null!=a&&(o.height=a);const{max_width:r,max_height:c}=this.model;null!=r&&(o.max_width=r),null!=c&&(o.max_height=c),\"auto\"==e&&null!=h&&null!=a?o.aspect=h/a:(0,_.isNumber)(e)&&(o.aspect=e);const{margin:u}=this.model;if(null!=u)if((0,_.isNumber)(u))o.margin={top:u,right:u,bottom:u,left:u};else if(2==u.length){const[t,i]=u;o.margin={top:t,right:i,bottom:t,left:i}}else{const[t,i,e,s]=u;o.margin={top:t,right:i,bottom:e,left:s}}o.visible=this.model.visible;const{align:d}=this.model;return(0,_.isArray)(d)?[o.halign,o.valign]=d:o.halign=o.valign=d,o}_viewport_size(){return(0,a.undisplayed)(this.el,(()=>{let t=this.el;for(;t=t.parentElement;){if(t.classList.contains(g.root))continue;if(t==document.body){const{margin:{left:t,right:i,top:e,bottom:s}}=(0,a.extents)(document.body);return{width:Math.ceil(document.documentElement.clientWidth-t-i),height:Math.ceil(document.documentElement.clientHeight-e-s)}}const{padding:{left:i,right:e,top:s,bottom:o}}=(0,a.extents)(t),{width:l,height:n}=t.getBoundingClientRect(),h=Math.ceil(l-i-e),r=Math.ceil(n-s-o);if(h>0||r>0)return{width:h>0?h:void 0,height:r>0?r:void 0}}return{}}))}export(t,i=!0){const e=\"png\"==t?\"canvas\":\"svg\",s=new w.CanvasLayer(e,i),{width:o,height:l}=this.layout.bbox;s.resize(o,l);for(const e of this.child_views){const o=e.export(t,i),{x:l,y:n}=e.layout.bbox;s.ctx.drawImage(o.canvas,l,n)}return s}serializable_state(){return Object.assign(Object.assign({},super.serializable_state()),{bbox:this.layout.bbox.box,children:this.child_views.map((t=>t.serializable_state()))})}}e.LayoutDOMView=f,f.__name__=\"LayoutDOMView\";class y extends n.Model{constructor(t){super(t)}}e.LayoutDOM=y,l=y,y.__name__=\"LayoutDOM\",l.define((t=>{const{Boolean:i,Number:e,String:s,Auto:o,Color:l,Array:n,Tuple:a,Or:r,Null:_,Nullable:c}=t,u=a(e,e),d=a(e,e,e,e);return{width:[c(e),null],height:[c(e),null],min_width:[c(e),null],min_height:[c(e),null],max_width:[c(e),null],max_height:[c(e),null],margin:[c(r(e,u,d)),[0,0,0,0]],width_policy:[r(m.SizingPolicy,o),\"auto\"],height_policy:[r(m.SizingPolicy,o),\"auto\"],aspect_ratio:[r(e,o,_),null],sizing_mode:[c(h.SizingMode),null],visible:[i,!0],disabled:[i,!1],align:[r(h.Align,a(h.Align,h.Align)),\"start\"],background:[c(l),null],css_classes:[n(s),[]]}}))},\n", - " function _(o,s,t,i,e){var n;i();const a=o(308),l=o(209);class u extends a.BoxView{_update_layout(){const o=this.child_views.map((o=>o.layout));this.layout=new l.Column(o),this.layout.rows=this.model.rows,this.layout.spacing=[this.model.spacing,0],this.layout.set_sizing(this.box_sizing())}}t.ColumnView=u,u.__name__=\"ColumnView\";class _ extends a.Box{constructor(o){super(o)}}t.Column=_,n=_,_.__name__=\"Column\",n.prototype.default_view=u,n.define((({Any:o})=>({rows:[o,\"auto\"]})))},\n", - " function _(s,o,t,i,e){var n;i();const l=s(309),a=s(209);class r extends l.LayoutDOMView{connect_signals(){super.connect_signals();const{children:s,rows:o,cols:t,spacing:i}=this.model.properties;this.on_change([s,o,t,i],(()=>this.rebuild()))}get child_models(){return this.model.children.map((([s])=>s))}_update_layout(){this.layout=new a.Grid,this.layout.rows=this.model.rows,this.layout.cols=this.model.cols,this.layout.spacing=this.model.spacing;for(const[s,o,t,i,e]of this.model.children){const n=this._child_views.get(s);this.layout.items.push({layout:n.layout,row:o,col:t,row_span:i,col_span:e})}this.layout.set_sizing(this.box_sizing())}}t.GridBoxView=r,r.__name__=\"GridBoxView\";class c extends l.LayoutDOM{constructor(s){super(s)}}t.GridBox=c,n=c,c.__name__=\"GridBox\",n.prototype.default_view=r,n.define((({Any:s,Int:o,Number:t,Tuple:i,Array:e,Ref:n,Or:a,Opt:r})=>({children:[e(i(n(l.LayoutDOM),o,o,r(o),r(o))),[]],rows:[s,\"auto\"],cols:[s,\"auto\"],spacing:[a(t,i(t,t)),0]})))},\n", - " function _(t,e,o,s,n){s();const _=t(309),i=t(207);class a extends _.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new i.ContentBox(this.el),this.layout.set_sizing(this.box_sizing())}}o.HTMLBoxView=a,a.__name__=\"HTMLBoxView\";class u extends _.LayoutDOM{constructor(t){super(t)}}o.HTMLBox=u,u.__name__=\"HTMLBox\"},\n", - " function _(e,n,l,a,o){var t;a();const s=e(53),c=e(309);class d extends s.Model{constructor(e){super(e)}}l.Panel=d,t=d,d.__name__=\"Panel\",t.define((({Boolean:e,String:n,Ref:l})=>({title:[n,\"\"],child:[l(c.LayoutDOM)],closable:[e,!1],disabled:[e,!1]})))},\n", - " function _(o,s,t,i,e){var a;i();const n=o(308),l=o(209);class _ extends n.BoxView{_update_layout(){const o=this.child_views.map((o=>o.layout));this.layout=new l.Row(o),this.layout.cols=this.model.cols,this.layout.spacing=[0,this.model.spacing],this.layout.set_sizing(this.box_sizing())}}t.RowView=_,_.__name__=\"RowView\";class c extends n.Box{constructor(o){super(o)}}t.Row=c,a=c,c.__name__=\"Row\",a.prototype.default_view=_,a.define((({Any:o})=>({cols:[o,\"auto\"]})))},\n", - " function _(e,t,a,s,_){var o;s();const i=e(309),n=e(207);class u extends i.LayoutDOMView{get child_models(){return[]}_update_layout(){this.layout=new n.LayoutItem,this.layout.set_sizing(this.box_sizing())}}a.SpacerView=u,u.__name__=\"SpacerView\";class c extends i.LayoutDOM{constructor(e){super(e)}}a.Spacer=c,o=c,c.__name__=\"Spacer\",o.prototype.default_view=u},\n", - " function _(e,t,s,i,l){i();const h=e(1);var a;const o=e(207),d=e(43),r=e(9),c=e(10),n=e(20),_=e(309),p=e(313),b=(0,h.__importStar)(e(317)),m=b,u=(0,h.__importStar)(e(318)),g=u,v=(0,h.__importStar)(e(229)),w=v;class f extends _.LayoutDOMView{constructor(){super(...arguments),this._scroll_index=0}connect_signals(){super.connect_signals(),this.connect(this.model.properties.tabs.change,(()=>this.rebuild())),this.connect(this.model.properties.active.change,(()=>this.on_active_change()))}styles(){return[...super.styles(),u.default,v.default,b.default]}get child_models(){return this.model.tabs.map((e=>e.child))}_update_layout(){const e=this.model.tabs_location,t=\"above\"==e||\"below\"==e,{scroll_el:s,headers_el:i}=this;this.header=new class extends o.ContentBox{_measure(e){const l=(0,d.size)(s),h=(0,d.children)(i).slice(0,3).map((e=>(0,d.size)(e))),{width:a,height:o}=super._measure(e);if(t){const t=l.width+(0,r.sum)(h.map((e=>e.width)));return{width:e.width!=1/0?e.width:t,height:o}}{const t=l.height+(0,r.sum)(h.map((e=>e.height)));return{width:a,height:e.height!=1/0?e.height:t}}}}(this.header_el),t?this.header.set_sizing({width_policy:\"fit\",height_policy:\"fixed\"}):this.header.set_sizing({width_policy:\"fixed\",height_policy:\"fit\"});let l=1,h=1;switch(e){case\"above\":l-=1;break;case\"below\":l+=1;break;case\"left\":h-=1;break;case\"right\":h+=1}const a={layout:this.header,row:l,col:h},c=this.child_views.map((e=>({layout:e.layout,row:1,col:1})));this.layout=new o.Grid([a,...c]),this.layout.set_sizing(this.box_sizing())}update_position(){super.update_position(),this.header_el.style.position=\"absolute\",(0,d.position)(this.header_el,this.header.bbox);const e=this.model.tabs_location,t=\"above\"==e||\"below\"==e,s=(0,d.size)(this.scroll_el),i=(0,d.scroll_size)(this.headers_el);if(t){const{width:e}=this.header.bbox;i.width>e?(this.wrapper_el.style.maxWidth=e-s.width+\"px\",(0,d.display)(this.scroll_el),this.do_scroll(this.model.active)):(this.wrapper_el.style.maxWidth=\"\",(0,d.undisplay)(this.scroll_el))}else{const{height:e}=this.header.bbox;i.height>e?(this.wrapper_el.style.maxHeight=e-s.height+\"px\",(0,d.display)(this.scroll_el),this.do_scroll(this.model.active)):(this.wrapper_el.style.maxHeight=\"\",(0,d.undisplay)(this.scroll_el))}const{child_views:l}=this;for(const e of l)(0,d.hide)(e.el);const h=l[this.model.active];null!=h&&(0,d.show)(h.el)}render(){super.render();const{active:e}=this.model,t=this.model.tabs.map(((t,s)=>{const i=(0,d.div)({class:[m.tab,s==e?m.active:null]},t.title);if(i.addEventListener(\"click\",(e=>{this.model.disabled||e.target==e.currentTarget&&this.change_active(s)})),t.closable){const e=(0,d.div)({class:m.close});e.addEventListener(\"click\",(e=>{if(e.target==e.currentTarget){this.model.tabs=(0,r.remove_at)(this.model.tabs,s);const e=this.model.tabs.length;this.model.active>e-1&&(this.model.active=e-1)}})),i.appendChild(e)}return(this.model.disabled||t.disabled)&&i.classList.add(m.disabled),i}));this.headers_el=(0,d.div)({class:[m.headers]},t),this.wrapper_el=(0,d.div)({class:m.headers_wrapper},this.headers_el),this.left_el=(0,d.div)({class:[g.btn,g.btn_default],disabled:\"\"},(0,d.div)({class:[w.caret,m.left]})),this.right_el=(0,d.div)({class:[g.btn,g.btn_default]},(0,d.div)({class:[w.caret,m.right]})),this.left_el.addEventListener(\"click\",(()=>this.do_scroll(\"left\"))),this.right_el.addEventListener(\"click\",(()=>this.do_scroll(\"right\"))),this.scroll_el=(0,d.div)({class:g.btn_group},this.left_el,this.right_el);const s=this.model.tabs_location;this.header_el=(0,d.div)({class:[m.tabs_header,m[s]]},this.scroll_el,this.wrapper_el),this.el.appendChild(this.header_el)}do_scroll(e){const t=this.model.tabs.length;\"left\"==e?this._scroll_index-=1:\"right\"==e?this._scroll_index+=1:this._scroll_index=e,this._scroll_index=(0,c.clamp)(this._scroll_index,0,t-1),0==this._scroll_index?this.left_el.setAttribute(\"disabled\",\"\"):this.left_el.removeAttribute(\"disabled\"),this._scroll_index==t-1?this.right_el.setAttribute(\"disabled\",\"\"):this.right_el.removeAttribute(\"disabled\");const s=(0,d.children)(this.headers_el).slice(0,this._scroll_index).map((e=>e.getBoundingClientRect())),i=this.model.tabs_location;if(\"above\"==i||\"below\"==i){const e=-(0,r.sum)(s.map((e=>e.width)));this.headers_el.style.left=`${e}px`}else{const e=-(0,r.sum)(s.map((e=>e.height)));this.headers_el.style.top=`${e}px`}}change_active(e){e!=this.model.active&&(this.model.active=e)}on_active_change(){const e=this.model.active,t=(0,d.children)(this.headers_el);for(const e of t)e.classList.remove(m.active);t[e].classList.add(m.active);const{child_views:s}=this;for(const e of s)(0,d.hide)(e.el);(0,d.show)(s[e].el)}}s.TabsView=f,f.__name__=\"TabsView\";class x extends _.LayoutDOM{constructor(e){super(e)}}s.Tabs=x,a=x,x.__name__=\"Tabs\",a.prototype.default_view=f,a.define((({Int:e,Array:t,Ref:s})=>({tabs:[t(s(p.Panel)),[]],tabs_location:[n.Location,\"above\"],active:[e,0]})))},\n", - " function _(e,r,b,o,t){o(),b.root=\"bk-root\",b.tabs_header=\"bk-tabs-header\",b.btn_group=\"bk-btn-group\",b.btn=\"bk-btn\",b.headers_wrapper=\"bk-headers-wrapper\",b.above=\"bk-above\",b.right=\"bk-right\",b.below=\"bk-below\",b.left=\"bk-left\",b.headers=\"bk-headers\",b.tab=\"bk-tab\",b.active=\"bk-active\",b.close=\"bk-close\",b.disabled=\"bk-disabled\",b.default='.bk-root .bk-tabs-header{display:flex;flex-wrap:nowrap;align-items:center;overflow:hidden;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;}.bk-root .bk-tabs-header .bk-btn-group{height:auto;margin-right:5px;}.bk-root .bk-tabs-header .bk-btn-group > .bk-btn{flex-grow:0;height:auto;padding:4px 4px;}.bk-root .bk-tabs-header .bk-headers-wrapper{flex-grow:1;overflow:hidden;color:#666666;}.bk-root .bk-tabs-header.bk-above .bk-headers-wrapper{border-bottom:1px solid #e6e6e6;}.bk-root .bk-tabs-header.bk-right .bk-headers-wrapper{border-left:1px solid #e6e6e6;}.bk-root .bk-tabs-header.bk-below .bk-headers-wrapper{border-top:1px solid #e6e6e6;}.bk-root .bk-tabs-header.bk-left .bk-headers-wrapper{border-right:1px solid #e6e6e6;}.bk-root .bk-tabs-header.bk-above,.bk-root .bk-tabs-header.bk-below{flex-direction:row;}.bk-root .bk-tabs-header.bk-above .bk-headers,.bk-root .bk-tabs-header.bk-below .bk-headers{flex-direction:row;}.bk-root .bk-tabs-header.bk-left,.bk-root .bk-tabs-header.bk-right{flex-direction:column;}.bk-root .bk-tabs-header.bk-left .bk-headers,.bk-root .bk-tabs-header.bk-right .bk-headers{flex-direction:column;}.bk-root .bk-tabs-header .bk-headers{position:relative;display:flex;flex-wrap:nowrap;align-items:center;}.bk-root .bk-tabs-header .bk-tab{padding:4px 8px;border:solid transparent;white-space:nowrap;cursor:pointer;}.bk-root .bk-tabs-header .bk-tab:hover{background-color:#f2f2f2;}.bk-root .bk-tabs-header .bk-tab.bk-active{color:#4d4d4d;background-color:white;border-color:#e6e6e6;}.bk-root .bk-tabs-header .bk-tab .bk-close{margin-left:10px;}.bk-root .bk-tabs-header .bk-tab.bk-disabled{cursor:not-allowed;pointer-events:none;opacity:0.65;}.bk-root .bk-tabs-header.bk-above .bk-tab{border-width:3px 1px 0px 1px;border-radius:4px 4px 0 0;}.bk-root .bk-tabs-header.bk-right .bk-tab{border-width:1px 3px 1px 0px;border-radius:0 4px 4px 0;}.bk-root .bk-tabs-header.bk-below .bk-tab{border-width:0px 1px 3px 1px;border-radius:0 0 4px 4px;}.bk-root .bk-tabs-header.bk-left .bk-tab{border-width:1px 0px 1px 3px;border-radius:4px 0 0 4px;}.bk-root .bk-close{display:inline-block;width:10px;height:10px;vertical-align:middle;background-image:url(\\'data:image/svg+xml;utf8, \\');}.bk-root .bk-close:hover{background-image:url(\\'data:image/svg+xml;utf8, \\');}'},\n", - " function _(o,b,r,t,e){t(),r.root=\"bk-root\",r.btn=\"bk-btn\",r.active=\"bk-active\",r.btn_default=\"bk-btn-default\",r.btn_primary=\"bk-btn-primary\",r.btn_success=\"bk-btn-success\",r.btn_warning=\"bk-btn-warning\",r.btn_danger=\"bk-btn-danger\",r.btn_light=\"bk-btn-light\",r.btn_group=\"bk-btn-group\",r.vertical=\"bk-vertical\",r.horizontal=\"bk-horizontal\",r.dropdown_toggle=\"bk-dropdown-toggle\",r.default=\".bk-root .bk-btn{height:100%;display:inline-block;text-align:center;vertical-align:middle;white-space:nowrap;cursor:pointer;padding:6px 12px;font-size:12px;border:1px solid transparent;border-radius:4px;outline:0;user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;}.bk-root .bk-btn:hover,.bk-root .bk-btn:focus{text-decoration:none;}.bk-root .bk-btn:active,.bk-root .bk-btn.bk-active{background-image:none;box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);}.bk-root .bk-btn[disabled]{cursor:not-allowed;pointer-events:none;opacity:0.65;box-shadow:none;}.bk-root .bk-btn-default{color:#333;background-color:#fff;border-color:#ccc;}.bk-root .bk-btn-default:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-root .bk-btn-default.bk-active{background-color:#ebebeb;border-color:#adadad;}.bk-root .bk-btn-default[disabled],.bk-root .bk-btn-default[disabled]:hover,.bk-root .bk-btn-default[disabled]:focus,.bk-root .bk-btn-default[disabled]:active,.bk-root .bk-btn-default[disabled].bk-active{background-color:#e6e6e6;border-color:#ccc;}.bk-root .bk-btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd;}.bk-root .bk-btn-primary:hover{background-color:#3681c1;border-color:#2c699e;}.bk-root .bk-btn-primary.bk-active{background-color:#3276b1;border-color:#285e8e;}.bk-root .bk-btn-primary[disabled],.bk-root .bk-btn-primary[disabled]:hover,.bk-root .bk-btn-primary[disabled]:focus,.bk-root .bk-btn-primary[disabled]:active,.bk-root .bk-btn-primary[disabled].bk-active{background-color:#506f89;border-color:#357ebd;}.bk-root .bk-btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c;}.bk-root .bk-btn-success:hover{background-color:#4eb24e;border-color:#409240;}.bk-root .bk-btn-success.bk-active{background-color:#47a447;border-color:#398439;}.bk-root .bk-btn-success[disabled],.bk-root .bk-btn-success[disabled]:hover,.bk-root .bk-btn-success[disabled]:focus,.bk-root .bk-btn-success[disabled]:active,.bk-root .bk-btn-success[disabled].bk-active{background-color:#667b66;border-color:#4cae4c;}.bk-root .bk-btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236;}.bk-root .bk-btn-warning:hover{background-color:#eea43b;border-color:#e89014;}.bk-root .bk-btn-warning.bk-active{background-color:#ed9c28;border-color:#d58512;}.bk-root .bk-btn-warning[disabled],.bk-root .bk-btn-warning[disabled]:hover,.bk-root .bk-btn-warning[disabled]:focus,.bk-root .bk-btn-warning[disabled]:active,.bk-root .bk-btn-warning[disabled].bk-active{background-color:#c89143;border-color:#eea236;}.bk-root .bk-btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a;}.bk-root .bk-btn-danger:hover{background-color:#d5433e;border-color:#bd2d29;}.bk-root .bk-btn-danger.bk-active{background-color:#d2322d;border-color:#ac2925;}.bk-root .bk-btn-danger[disabled],.bk-root .bk-btn-danger[disabled]:hover,.bk-root .bk-btn-danger[disabled]:focus,.bk-root .bk-btn-danger[disabled]:active,.bk-root .bk-btn-danger[disabled].bk-active{background-color:#a55350;border-color:#d43f3a;}.bk-root .bk-btn-light{color:#333;background-color:#fff;border-color:#ccc;border-color:transparent;}.bk-root .bk-btn-light:hover{background-color:#f5f5f5;border-color:#b8b8b8;}.bk-root .bk-btn-light.bk-active{background-color:#ebebeb;border-color:#adadad;}.bk-root .bk-btn-light[disabled],.bk-root .bk-btn-light[disabled]:hover,.bk-root .bk-btn-light[disabled]:focus,.bk-root .bk-btn-light[disabled]:active,.bk-root .bk-btn-light[disabled].bk-active{background-color:#e6e6e6;border-color:#ccc;}.bk-root .bk-btn-group{height:100%;display:flex;flex-wrap:nowrap;align-items:center;}.bk-root .bk-btn-group:not(.bk-vertical),.bk-root .bk-btn-group.bk-horizontal{flex-direction:row;}.bk-root .bk-btn-group.bk-vertical{flex-direction:column;}.bk-root .bk-btn-group > .bk-btn{flex-grow:1;}.bk-root .bk-btn-group:not(.bk-vertical) > .bk-btn + .bk-btn{margin-left:-1px;}.bk-root .bk-btn-group.bk-vertical > .bk-btn + .bk-btn{margin-top:-1px;}.bk-root .bk-btn-group:not(.bk-vertical) > .bk-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;}.bk-root .bk-btn-group.bk-vertical > .bk-btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;}.bk-root .bk-btn-group:not(.bk-vertical) > .bk-btn:not(:first-child):last-child{border-bottom-left-radius:0;border-top-left-radius:0;}.bk-root .bk-btn-group.bk-vertical > .bk-btn:not(:first-child):last-child{border-top-left-radius:0;border-top-right-radius:0;}.bk-root .bk-btn-group > .bk-btn:not(:first-child):not(:last-child){border-radius:0;}.bk-root .bk-btn-group.bk-vertical > .bk-btn{width:100%;}.bk-root .bk-btn-group .bk-dropdown-toggle{flex:0 0 0;padding:6px 6px;}\"},\n", - " function _(e,t,o,n,_){var i;n();const s=e(310);class d extends s.ColumnView{}o.WidgetBoxView=d,d.__name__=\"WidgetBoxView\";class a extends s.Column{constructor(e){super(e)}}o.WidgetBox=a,i=a,a.__name__=\"WidgetBox\",i.prototype.default_view=d},\n", - " function _(t,a,i,e,M){e();var T=t(135);M(\"MathText\",T.MathText),M(\"Ascii\",T.Ascii),M(\"MathML\",T.MathML),M(\"TeX\",T.TeX),M(\"PlainText\",t(139).PlainText)},\n", - " function _(r,o,t,e,n){e(),n(\"CustomJSTransform\",r(322).CustomJSTransform),n(\"Dodge\",r(323).Dodge),n(\"Interpolator\",r(325).Interpolator),n(\"Jitter\",r(326).Jitter),n(\"LinearInterpolator\",r(327).LinearInterpolator),n(\"StepInterpolator\",r(328).StepInterpolator),n(\"Transform\",r(56).Transform)},\n", - " function _(r,t,s,n,e){var a;n();const u=r(56),o=r(13),m=r(34);class _ extends u.Transform{constructor(r){super(r)}get names(){return(0,o.keys)(this.args)}get values(){return(0,o.values)(this.args)}_make_transform(r,t){return new Function(...this.names,r,(0,m.use_strict)(t))}get scalar_transform(){return this._make_transform(\"x\",this.func)}get vector_transform(){return this._make_transform(\"xs\",this.v_func)}compute(r){return this.scalar_transform(...this.values,r)}v_compute(r){return this.vector_transform(...this.values,r)}}s.CustomJSTransform=_,a=_,_.__name__=\"CustomJSTransform\",a.define((({Unknown:r,String:t,Dict:s})=>({args:[s(r),{}],func:[t,\"\"],v_func:[t,\"\"]})))},\n", - " function _(e,n,r,o,s){var t;o();const u=e(324);class a extends u.RangeTransform{constructor(e){super(e)}_compute(e){return e+this.value}}r.Dodge=a,t=a,a.__name__=\"Dodge\",t.define((({Number:e})=>({value:[e,0]})))},\n", - " function _(e,n,t,r,a){var s;r();const c=e(56),o=e(57),i=e(67),u=e(24),h=e(8),l=e(11);class g extends c.Transform{constructor(e){super(e)}v_compute(e){let n;this.range instanceof i.FactorRange?n=this.range.v_synthetic(e):(0,h.isArrayableOf)(e,h.isNumber)?n=e:(0,l.unreachable)();const t=new((0,u.infer_type)(n))(n.length);for(let e=0;e({range:[n(e(o.Range)),null]})))},\n", - " function _(t,e,r,n,s){var o;n();const i=t(56),a=t(70),h=t(24),l=t(9),d=t(8);class c extends i.Transform{constructor(t){super(t),this._sorted_dirty=!0}connect_signals(){super.connect_signals(),this.connect(this.change,(()=>this._sorted_dirty=!0))}v_compute(t){const e=new((0,h.infer_type)(t))(t.length);for(let r=0;ro*(e[t]-e[r]))),this._x_sorted=new((0,h.infer_type)(e))(n),this._y_sorted=new((0,h.infer_type)(r))(n);for(let t=0;t({x:[o(r,s(e))],y:[o(r,s(e))],data:[i(n(a.ColumnarDataSource)),null],clip:[t,!0]})))},\n", - " function _(t,s,e,i,r){i();const n=t(1);var o;const a=t(324),u=t(67),h=t(20),c=t(8),m=t(12),f=(0,n.__importStar)(t(10)),_=t(11);class p extends a.RangeTransform{constructor(t){super(t)}v_compute(t){var s;let e;this.range instanceof u.FactorRange?e=this.range.v_synthetic(t):(0,c.isArrayableOf)(t,c.isNumber)?e=t:(0,_.unreachable)();const i=e.length;(null===(s=this.previous_offsets)||void 0===s?void 0:s.length)!=i&&(this.previous_offsets=new Array(i),this.previous_offsets=(0,m.map)(this.previous_offsets,(()=>this._compute())));const r=this.previous_offsets;return(0,m.map)(e,((t,s)=>r[s]+t))}_compute(){switch(this.distribution){case\"uniform\":return this.mean+(f.random()-.5)*this.width;case\"normal\":return f.rnorm(this.mean,this.width)}}}e.Jitter=p,o=p,p.__name__=\"Jitter\",o.define((({Number:t})=>({mean:[t,0],width:[t,1],distribution:[h.Distribution,\"uniform\"]})))},\n", - " function _(t,s,_,r,e){r();const i=t(9),o=t(325);class n extends o.Interpolator{constructor(t){super(t)}compute(t){if(this.sort(!1),this.clip){if(tthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}if(t==this._x_sorted[0])return this._y_sorted[0];const s=(0,i.find_last_index)(this._x_sorted,(s=>sthis._x_sorted[this._x_sorted.length-1])return NaN}else{if(tthis._x_sorted[this._x_sorted.length-1])return this._y_sorted[this._y_sorted.length-1]}let e;switch(this.mode){case\"after\":e=(0,d.find_last_index)(this._x_sorted,(e=>t>=e));break;case\"before\":e=(0,d.find_index)(this._x_sorted,(e=>t<=e));break;case\"center\":{const s=(0,d.map)(this._x_sorted,(e=>Math.abs(e-t))),r=(0,d.min)(s);e=(0,d.find_index)(s,(t=>r===t));break}default:throw new Error(`unknown mode: ${this.mode}`)}return-1!=e?this._y_sorted[e]:NaN}}s.StepInterpolator=h,_=h,h.__name__=\"StepInterpolator\",_.define((()=>({mode:[n.StepMode,\"after\"]})))},\n", - " function _(p,o,t,a,n){a(),n(\"MapOptions\",p(330).MapOptions),n(\"GMapOptions\",p(330).GMapOptions),n(\"GMapPlot\",p(330).GMapPlot),n(\"Plot\",p(331).Plot)},\n", - " function _(e,t,n,o,a){var s,p,_;o();const i=e(331),r=e(53),l=e(58),c=e(336);a(\"GMapPlotView\",c.GMapPlotView);class d extends r.Model{constructor(e){super(e)}}n.MapOptions=d,s=d,d.__name__=\"MapOptions\",s.define((({Int:e,Number:t})=>({lat:[t],lng:[t],zoom:[e,12]})));class u extends d{constructor(e){super(e)}}n.GMapOptions=u,p=u,u.__name__=\"GMapOptions\",p.define((({Boolean:e,Int:t,String:n})=>({map_type:[n,\"roadmap\"],scale_control:[e,!1],styles:[n],tilt:[t,45]})));class M extends i.Plot{constructor(e){super(e),this.use_map=!0}}n.GMapPlot=M,_=M,M.__name__=\"GMapPlot\",_.prototype.default_view=c.GMapPlotView,_.define((({String:e,Ref:t})=>({map_options:[t(u)],api_key:[e],api_version:[e,\"3.43\"]}))),_.override({x_range:()=>new l.Range1d,y_range:()=>new l.Range1d})},\n", - " function _(e,t,r,n,i){n();const o=e(1);var a;const s=(0,o.__importStar)(e(48)),l=(0,o.__importStar)(e(18)),_=e(15),c=e(20),h=e(9),d=e(13),u=e(8),g=e(309),p=e(128),f=e(306),b=e(40),w=e(118),y=e(59),m=e(221),x=e(57),v=e(55),A=e(75),S=e(41),R=e(176),D=e(175),L=e(63),P=e(332);i(\"PlotView\",P.PlotView);class k extends g.LayoutDOM{constructor(e){super(e),this.use_map=!1}_doc_attached(){super._doc_attached(),this._push_changes([[this.properties.inner_height,null,this.inner_height],[this.properties.inner_width,null,this.inner_width]])}initialize(){super.initialize(),this.reset=new _.Signal0(this,\"reset\");for(const e of(0,d.values)(this.extra_x_ranges).concat(this.x_range)){let t=e.plots;(0,u.isArray)(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}for(const e of(0,d.values)(this.extra_y_ranges).concat(this.y_range)){let t=e.plots;(0,u.isArray)(t)&&(t=t.concat(this),e.setv({plots:t},{silent:!0}))}}add_layout(e,t=\"center\"){const r=this.properties[t].get_value();this.setv({[t]:[...r,e]})}remove_layout(e){const t=t=>{(0,h.remove_by)(t,(t=>t==e))};t(this.left),t(this.right),t(this.above),t(this.below),t(this.center)}get data_renderers(){return this.renderers.filter((e=>e instanceof R.DataRenderer))}add_renderers(...e){this.renderers=this.renderers.concat(e)}add_glyph(e,t=new A.ColumnDataSource,r={}){const n=new D.GlyphRenderer(Object.assign(Object.assign({},r),{data_source:t,glyph:e}));return this.add_renderers(n),n}add_tools(...e){this.toolbar.tools=this.toolbar.tools.concat(e)}get panels(){return[...this.side_panels,...this.center]}get side_panels(){const{above:e,below:t,left:r,right:n}=this;return(0,h.concat)([e,t,r,n])}}r.Plot=k,a=k,k.__name__=\"Plot\",a.prototype.default_view=P.PlotView,a.mixins([[\"outline_\",s.Line],[\"background_\",s.Fill],[\"border_\",s.Fill]]),a.define((({Boolean:e,Number:t,String:r,Array:n,Dict:i,Or:o,Ref:a,Null:s,Nullable:_})=>({toolbar:[a(m.Toolbar),()=>new m.Toolbar],toolbar_location:[_(c.Location),\"right\"],toolbar_sticky:[e,!0],plot_width:[l.Alias(\"width\")],plot_height:[l.Alias(\"height\")],frame_width:[_(t),null],frame_height:[_(t),null],title:[o(a(w.Title),r,s),\"\",{convert:e=>(0,u.isString)(e)?new w.Title({text:e}):e}],title_location:[_(c.Location),\"above\"],above:[n(o(a(b.Annotation),a(p.Axis))),[]],below:[n(o(a(b.Annotation),a(p.Axis))),[]],left:[n(o(a(b.Annotation),a(p.Axis))),[]],right:[n(o(a(b.Annotation),a(p.Axis))),[]],center:[n(o(a(b.Annotation),a(f.Grid))),[]],renderers:[n(a(S.Renderer)),[]],x_range:[a(x.Range),()=>new L.DataRange1d],y_range:[a(x.Range),()=>new L.DataRange1d],x_scale:[a(v.Scale),()=>new y.LinearScale],y_scale:[a(v.Scale),()=>new y.LinearScale],extra_x_ranges:[i(a(x.Range)),{}],extra_y_ranges:[i(a(x.Range)),{}],extra_x_scales:[i(a(v.Scale)),{}],extra_y_scales:[i(a(v.Scale)),{}],lod_factor:[t,10],lod_interval:[t,300],lod_threshold:[_(t),2e3],lod_timeout:[t,500],hidpi:[e,!0],output_backend:[c.OutputBackend,\"canvas\"],min_border:[_(t),5],min_border_top:[_(t),null],min_border_left:[_(t),null],min_border_bottom:[_(t),null],min_border_right:[_(t),null],inner_width:[t,0],inner_height:[t,0],outer_width:[t,0],outer_height:[t,0],match_aspect:[e,!1],aspect_scale:[t,1],reset_policy:[c.ResetPolicy,\"standard\"]}))),a.override({width:600,height:600,outline_line_color:\"#e5e5e5\",border_fill_color:\"#ffffff\",background_fill_color:\"#ffffff\"})},\n", - " function _(e,t,i,s,a){s();const n=e(1),o=e(126),l=e(249),r=e(309),_=e(40),h=e(118),d=e(128),u=e(220),c=e(251),p=e(113),v=e(45),g=e(19),b=e(251),m=e(333),y=e(8),w=e(9),f=e(235),x=e(208),z=e(211),k=e(209),q=e(123),M=e(65),R=e(334),V=e(335),S=e(28);class O extends r.LayoutDOMView{constructor(){super(...arguments),this._outer_bbox=new M.BBox,this._inner_bbox=new M.BBox,this._needs_paint=!0,this._needs_layout=!1,this._invalidated_painters=new Set,this._invalidate_all=!0,this._needs_notify=!1}get canvas(){return this.canvas_view}get state(){return this._state_manager}set invalidate_dataranges(e){this._range_manager.invalidate_dataranges=e}renderer_view(e){const t=this.renderer_views.get(e);if(null==t)for(const[,t]of this.renderer_views){const i=t.renderer_view(e);if(null!=i)return i}return t}get is_paused(){return null!=this._is_paused&&0!==this._is_paused}get child_models(){return[]}pause(){null==this._is_paused?this._is_paused=1:this._is_paused+=1}unpause(e=!1){if(null==this._is_paused)throw new Error(\"wasn't paused\");this._is_paused-=1,0!=this._is_paused||e||this.request_paint(\"everything\")}notify_finished_after_paint(){this._needs_notify=!0}request_render(){this.request_paint(\"everything\")}request_paint(e){this.invalidate_painters(e),this.schedule_paint()}invalidate_painters(e){if(\"everything\"==e)this._invalidate_all=!0;else if((0,y.isArray)(e))for(const t of e)this._invalidated_painters.add(t);else this._invalidated_painters.add(e)}schedule_paint(){if(!this.is_paused){const e=this.throttled_paint();this._ready=this._ready.then((()=>e))}}request_layout(){this._needs_layout=!0,this.request_paint(\"everything\")}reset(){\"standard\"==this.model.reset_policy&&(this.state.clear(),this.reset_range(),this.reset_selection()),this.model.trigger_event(new c.Reset)}remove(){(0,p.remove_views)(this.renderer_views),(0,p.remove_views)(this.tool_views),this.canvas_view.remove(),super.remove()}render(){super.render(),this.el.appendChild(this.canvas_view.el),this.canvas_view.render()}initialize(){this.pause(),super.initialize(),this.lod_started=!1,this.visuals=new v.Visuals(this),this._initial_state={selection:new Map,dimensions:{width:0,height:0}},this.visibility_callbacks=[],this.renderer_views=new Map,this.tool_views=new Map,this.frame=new o.CartesianFrame(this.model.x_scale,this.model.y_scale,this.model.x_range,this.model.y_range,this.model.extra_x_ranges,this.model.extra_y_ranges,this.model.extra_x_scales,this.model.extra_y_scales),this._range_manager=new R.RangeManager(this),this._state_manager=new V.StateManager(this,this._initial_state),this.throttled_paint=(0,m.throttle)((()=>this.repaint()),1e3/60);const{title_location:e,title:t}=this.model;null!=e&&null!=t&&(this._title=t instanceof h.Title?t:new h.Title({text:t}));const{toolbar_location:i,toolbar:s}=this.model;null!=i&&null!=s&&(this._toolbar=new u.ToolbarPanel({toolbar:s}),s.toolbar_location=i)}async lazy_initialize(){await super.lazy_initialize();const{hidpi:e,output_backend:t}=this.model,i=new l.Canvas({hidpi:e,output_backend:t});this.canvas_view=await(0,p.build_view)(i,{parent:this}),this.canvas_view.plot_views=[this],await this.build_renderer_views(),await this.build_tool_views(),this._range_manager.update_dataranges(),this.unpause(!0),g.logger.debug(\"PlotView initialized\")}_width_policy(){return null==this.model.frame_width?super._width_policy():\"min\"}_height_policy(){return null==this.model.frame_height?super._height_policy():\"min\"}_update_layout(){var e,t,i,s,a;this.layout=new z.BorderLayout,this.layout.set_sizing(this.box_sizing());const n=(0,w.copy)(this.model.above),o=(0,w.copy)(this.model.below),l=(0,w.copy)(this.model.left),r=(0,w.copy)(this.model.right),d=e=>{switch(e){case\"above\":return n;case\"below\":return o;case\"left\":return l;case\"right\":return r}},{title_location:c,title:p}=this.model;null!=c&&null!=p&&d(c).push(this._title);const{toolbar_location:v,toolbar:g}=this.model;if(null!=v&&null!=g){const e=d(v);let t=!0;if(this.model.toolbar_sticky)for(let i=0;i{var i;const s=this.renderer_view(t);return s.panel=new q.Panel(e),null===(i=s.update_layout)||void 0===i||i.call(s),s.layout},m=(e,t)=>{const i=\"above\"==e||\"below\"==e,s=[];for(const a of t)if((0,y.isArray)(a)){const t=a.map((t=>{const s=b(e,t);if(t instanceof u.ToolbarPanel){const e=i?\"width_policy\":\"height_policy\";s.set_sizing(Object.assign(Object.assign({},s.sizing),{[e]:\"min\"}))}return s}));let n;i?(n=new k.Row(t),n.set_sizing({width_policy:\"max\",height_policy:\"min\"})):(n=new k.Column(t),n.set_sizing({width_policy:\"min\",height_policy:\"max\"})),n.absolute=!0,s.push(n)}else s.push(b(e,a));return s},f=null!==(e=this.model.min_border)&&void 0!==e?e:0;this.layout.min_border={left:null!==(t=this.model.min_border_left)&&void 0!==t?t:f,top:null!==(i=this.model.min_border_top)&&void 0!==i?i:f,right:null!==(s=this.model.min_border_right)&&void 0!==s?s:f,bottom:null!==(a=this.model.min_border_bottom)&&void 0!==a?a:f};const M=new x.NodeLayout,R=new x.VStack,V=new x.VStack,S=new x.HStack,O=new x.HStack;M.absolute=!0,R.absolute=!0,V.absolute=!0,S.absolute=!0,O.absolute=!0,M.children=this.model.center.filter((e=>e instanceof _.Annotation)).map((e=>{var t;const i=this.renderer_view(e);return null===(t=i.update_layout)||void 0===t||t.call(i),i.layout})).filter((e=>null!=e));const{frame_width:P,frame_height:j}=this.model;M.set_sizing(Object.assign(Object.assign({},null!=P?{width_policy:\"fixed\",width:P}:{width_policy:\"fit\"}),null!=j?{height_policy:\"fixed\",height:j}:{height_policy:\"fit\"})),M.on_resize((e=>this.frame.set_geometry(e))),R.children=(0,w.reversed)(m(\"above\",n)),V.children=m(\"below\",o),S.children=(0,w.reversed)(m(\"left\",l)),O.children=m(\"right\",r),R.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),V.set_sizing({width_policy:\"fit\",height_policy:\"min\"}),S.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),O.set_sizing({width_policy:\"min\",height_policy:\"fit\"}),this.layout.center_panel=M,this.layout.top_panel=R,this.layout.bottom_panel=V,this.layout.left_panel=S,this.layout.right_panel=O}get axis_views(){const e=[];for(const[,t]of this.renderer_views)t instanceof d.AxisView&&e.push(t);return e}set_toolbar_visibility(e){for(const t of this.visibility_callbacks)t(e)}update_range(e,t){this.pause(),this._range_manager.update(e,t),this.unpause()}reset_range(){this.update_range(null),this.trigger_ranges_update_event()}trigger_ranges_update_event(){const{x_range:e,y_range:t}=this.model;this.model.trigger_event(new b.RangesUpdate(e.start,e.end,t.start,t.end))}get_selection(){const e=new Map;for(const t of this.model.data_renderers){const{selected:i}=t.selection_manager.source;e.set(t,i)}return e}update_selection(e){for(const t of this.model.data_renderers){const i=t.selection_manager.source;if(null!=e){const s=e.get(t);null!=s&&i.selected.update(s,!0)}else i.selection_manager.clear()}}reset_selection(){this.update_selection(null)}_invalidate_layout(){(()=>{var e;for(const t of this.model.side_panels){const i=this.renderer_views.get(t);if(null===(e=i.layout)||void 0===e?void 0:e.has_size_changed())return this.invalidate_painters(i),!0}return!1})()&&this.root.compute_layout()}get_renderer_views(){return this.computed_renderers.map((e=>this.renderer_views.get(e)))}*_compute_renderers(){const{above:e,below:t,left:i,right:s,center:a,renderers:n}=this.model;yield*n,yield*e,yield*t,yield*i,yield*s,yield*a,null!=this._title&&(yield this._title),null!=this._toolbar&&(yield this._toolbar);for(const e of this.model.toolbar.tools)null!=e.overlay&&(yield e.overlay),yield*e.synthetic_renderers}async build_renderer_views(){this.computed_renderers=[...this._compute_renderers()],await(0,p.build_views)(this.renderer_views,this.computed_renderers,{parent:this})}async build_tool_views(){const e=this.model.toolbar.tools;(await(0,p.build_views)(this.tool_views,e,{parent:this})).map((e=>this.canvas_view.ui_event_bus.register_tool(e)))}connect_signals(){super.connect_signals();const{x_ranges:e,y_ranges:t}=this.frame;for(const[,t]of e)this.connect(t.change,(()=>{this._needs_layout=!0,this.request_paint(\"everything\")}));for(const[,e]of t)this.connect(e.change,(()=>{this._needs_layout=!0,this.request_paint(\"everything\")}));const{above:i,below:s,left:a,right:n,center:o,renderers:l}=this.model.properties;this.on_change([i,s,a,n,o,l],(async()=>await this.build_renderer_views())),this.connect(this.model.toolbar.properties.tools.change,(async()=>{await this.build_renderer_views(),await this.build_tool_views()})),this.connect(this.model.change,(()=>this.request_paint(\"everything\"))),this.connect(this.model.reset,(()=>this.reset()))}has_finished(){if(!super.has_finished())return!1;if(this.model.visible)for(const[,e]of this.renderer_views)if(!e.has_finished())return!1;return!0}after_layout(){var e;super.after_layout();for(const[,t]of this.renderer_views)t instanceof _.AnnotationView&&(null===(e=t.after_layout)||void 0===e||e.call(t));if(this._needs_layout=!1,this.model.setv({inner_width:Math.round(this.frame.bbox.width),inner_height:Math.round(this.frame.bbox.height),outer_width:Math.round(this.layout.bbox.width),outer_height:Math.round(this.layout.bbox.height)},{no_change:!0}),!1!==this.model.match_aspect&&(this.pause(),this._range_manager.update_dataranges(),this.unpause(!0)),!this._outer_bbox.equals(this.layout.bbox)){const{width:e,height:t}=this.layout.bbox;this.canvas_view.resize(e,t),this._outer_bbox=this.layout.bbox,this._invalidate_all=!0,this._needs_paint=!0}const{inner_bbox:t}=this.layout;this._inner_bbox.equals(t)||(this._inner_bbox=t,this._needs_paint=!0),this._needs_paint&&this.paint()}repaint(){this._needs_layout&&this._invalidate_layout(),this.paint()}paint(){this.is_paused||(this.model.visible&&(g.logger.trace(`${this.toString()}.paint()`),this._actual_paint()),this._needs_notify&&(this._needs_notify=!1,this.notify_finished()))}_actual_paint(){var e;const{document:t}=this.model;if(null!=t){const e=t.interactive_duration();e>=0&&e{t.interactive_duration()>this.model.lod_timeout&&t.interactive_stop(),this.request_paint(\"everything\")}),this.model.lod_timeout):t.interactive_stop()}this._range_manager.invalidate_dataranges&&(this._range_manager.update_dataranges(),this._invalidate_layout());let i=!1,s=!1;if(this._invalidate_all)i=!0,s=!0;else for(const e of this._invalidated_painters){const{level:t}=e.model;if(\"overlay\"!=t?i=!0:s=!0,i&&s)break}this._invalidated_painters.clear(),this._invalidate_all=!1;const a=[this.frame.bbox.left,this.frame.bbox.top,this.frame.bbox.width,this.frame.bbox.height],{primary:n,overlays:o}=this.canvas_view;i&&(n.prepare(),this.canvas_view.prepare_webgl(a),this._map_hook(n.ctx,a),this._paint_empty(n.ctx,a),this._paint_outline(n.ctx,a),this._paint_levels(n.ctx,\"image\",a,!0),this._paint_levels(n.ctx,\"underlay\",a,!0),this._paint_levels(n.ctx,\"glyph\",a,!0),this._paint_levels(n.ctx,\"guide\",a,!1),this._paint_levels(n.ctx,\"annotation\",a,!1),n.finish()),(s||S.settings.wireframe)&&(o.prepare(),this._paint_levels(o.ctx,\"overlay\",a,!1),S.settings.wireframe&&this._paint_layout(o.ctx,this.layout),o.finish()),null==this._initial_state.range&&(this._initial_state.range=null!==(e=this._range_manager.compute_initial())&&void 0!==e?e:void 0),this._needs_paint=!1}_paint_levels(e,t,i,s){for(const a of this.computed_renderers){if(a.level!=t)continue;const n=this.renderer_views.get(a);e.save(),(s||n.needs_clip)&&(e.beginPath(),e.rect(...i),e.clip()),n.render(),e.restore(),n.has_webgl&&n.needs_webgl_blit&&this.canvas_view.blit_webgl(e)}}_paint_layout(e,t){const{x:i,y:s,width:a,height:n}=t.bbox;e.strokeStyle=\"blue\",e.strokeRect(i,s,a,n);for(const a of t)e.save(),t.absolute||e.translate(i,s),this._paint_layout(e,a),e.restore()}_map_hook(e,t){}_paint_empty(e,t){const[i,s,a,n]=[0,0,this.layout.bbox.width,this.layout.bbox.height],[o,l,r,_]=t;this.visuals.border_fill.doit&&(this.visuals.border_fill.set_value(e),e.fillRect(i,s,a,n),e.clearRect(o,l,r,_)),this.visuals.background_fill.doit&&(this.visuals.background_fill.set_value(e),e.fillRect(o,l,r,_))}_paint_outline(e,t){if(this.visuals.outline_line.doit){e.save(),this.visuals.outline_line.set_value(e);let[i,s,a,n]=t;i+a==this.layout.bbox.width&&(a-=1),s+n==this.layout.bbox.height&&(n-=1),e.strokeRect(i,s,a,n),e.restore()}}to_blob(){return this.canvas_view.to_blob()}export(e,t=!0){const i=\"png\"==e?\"canvas\":\"svg\",s=new f.CanvasLayer(i,t),{width:a,height:n}=this.layout.bbox;s.resize(a,n);const{canvas:o}=this.canvas_view.compose();return s.ctx.drawImage(o,0,0),s}serializable_state(){const e=super.serializable_state(),{children:t}=e,i=(0,n.__rest)(e,[\"children\"]),s=this.get_renderer_views().map((e=>e.serializable_state())).filter((e=>null!=e.bbox));return Object.assign(Object.assign({},i),{children:[...null!=t?t:[],...s]})}}i.PlotView=O,O.__name__=\"PlotView\"},\n", - " function _(t,n,e,o,u){o(),e.throttle=function(t,n){let e=null,o=0,u=!1;return function(){return new Promise(((r,i)=>{const l=function(){o=Date.now(),e=null,u=!1;try{t(),r()}catch(t){i(t)}},a=Date.now(),c=n-(a-o);c<=0&&!u?(null!=e&&clearTimeout(e),u=!0,requestAnimationFrame(l)):e||u?r():e=setTimeout((()=>requestAnimationFrame(l)),c)}))}}},\n", - " function _(t,n,e,a,s){a();const o=t(63),r=t(19);class l{constructor(t){this.parent=t,this.invalidate_dataranges=!0}get frame(){return this.parent.frame}update(t,n){const{x_ranges:e,y_ranges:a}=this.frame;if(null==t){for(const[,t]of e)t.reset();for(const[,t]of a)t.reset();this.update_dataranges()}else{const s=[];for(const[n,a]of e)s.push([a,t.xrs.get(n)]);for(const[n,e]of a)s.push([e,t.yrs.get(n)]);(null==n?void 0:n.scrolling)&&this._update_ranges_together(s),this._update_ranges_individually(s,n)}}reset(){this.update(null)}_update_dataranges(t){const n=new Map,e=new Map;let a=!1;for(const[,n]of t.x_ranges)n instanceof o.DataRange1d&&\"log\"==n.scale_hint&&(a=!0);for(const[,n]of t.y_ranges)n instanceof o.DataRange1d&&\"log\"==n.scale_hint&&(a=!0);for(const t of this.parent.model.data_renderers){const s=this.parent.renderer_view(t);if(null==s)continue;const o=s.glyph_view.bounds();if(null!=o&&n.set(t,o),a){const n=s.glyph_view.log_bounds();null!=n&&e.set(t,n)}}let s=!1,l=!1;const i=t.x_target.span,d=t.y_target.span;let u;!1!==this.parent.model.match_aspect&&0!=i&&0!=d&&(u=1/this.parent.model.aspect_scale*(i/d));for(const[,a]of t.x_ranges){if(a instanceof o.DataRange1d){const t=\"log\"==a.scale_hint?e:n;a.update(t,0,this.parent.model,u),a.follow&&(s=!0)}null!=a.bounds&&(l=!0)}for(const[,a]of t.y_ranges){if(a instanceof o.DataRange1d){const t=\"log\"==a.scale_hint?e:n;a.update(t,1,this.parent.model,u),a.follow&&(s=!0)}null!=a.bounds&&(l=!0)}if(s&&l){r.logger.warn(\"Follow enabled so bounds are unset.\");for(const[,n]of t.x_ranges)n.bounds=null;for(const[,n]of t.y_ranges)n.bounds=null}}update_dataranges(){this._update_dataranges(this.frame);for(const t of this.parent.model.renderers){const{coordinates:n}=t;null!=n&&this._update_dataranges(n)}this.invalidate_dataranges=!1}compute_initial(){let t=!0;const{x_ranges:n,y_ranges:e}=this.frame,a=new Map,s=new Map;for(const[e,s]of n){const{start:n,end:o}=s;if(null==n||null==o||isNaN(n+o)){t=!1;break}a.set(e,{start:n,end:o})}if(t)for(const[n,a]of e){const{start:e,end:o}=a;if(null==e||null==o||isNaN(e+o)){t=!1;break}s.set(n,{start:e,end:o})}return t?{xrs:a,yrs:s}:(r.logger.warn(\"could not set initial ranges\"),null)}_update_ranges_together(t){let n=1;for(const[e,a]of t)n=Math.min(n,this._get_weight_to_constrain_interval(e,a));if(n<1)for(const[e,a]of t)a.start=n*a.start+(1-n)*e.start,a.end=n*a.end+(1-n)*e.end}_update_ranges_individually(t,n){const e=!!(null==n?void 0:n.panning),a=!!(null==n?void 0:n.scrolling);let s=!1;for(const[n,o]of t){if(!a){const t=this._get_weight_to_constrain_interval(n,o);t<1&&(o.start=t*o.start+(1-t)*n.start,o.end=t*o.end+(1-t)*n.end)}if(null!=n.bounds&&\"auto\"!=n.bounds){const[t,r]=n.bounds,l=Math.abs(o.end-o.start);n.is_reversed?(null!=t&&t>=o.end&&(s=!0,o.end=t,(e||a)&&(o.start=t+l)),null!=r&&r<=o.start&&(s=!0,o.start=r,(e||a)&&(o.end=r-l))):(null!=t&&t>=o.start&&(s=!0,o.start=t,(e||a)&&(o.end=t+l)),null!=r&&r<=o.end&&(s=!0,o.end=r,(e||a)&&(o.start=r-l)))}}if(!(a&&s&&(null==n?void 0:n.maintain_focus)))for(const[n,e]of t)n.have_updated_interactively=!0,n.start==e.start&&n.end==e.end||n.setv(e)}_get_weight_to_constrain_interval(t,n){const{min_interval:e}=t;let{max_interval:a}=t;if(null!=t.bounds&&\"auto\"!=t.bounds){const[n,e]=t.bounds;if(null!=n&&null!=e){const t=Math.abs(e-n);a=null!=a?Math.min(a,t):t}}let s=1;if(null!=e||null!=a){const o=Math.abs(t.end-t.start),r=Math.abs(n.end-n.start);null!=e&&e>0&&r0&&r>a&&(s=(a-o)/(r-o)),s=Math.max(0,Math.min(1,s))}return s}}e.RangeManager=l,l.__name__=\"RangeManager\"},\n", - " function _(t,i,s,e,n){e();const h=t(15);class a{constructor(t,i){this.parent=t,this.initial_state=i,this.changed=new h.Signal0(this.parent,\"state_changed\"),this.history=[],this.index=-1}_do_state_change(t){const i=null!=this.history[t]?this.history[t].state:this.initial_state;return null!=i.range&&this.parent.update_range(i.range),null!=i.selection&&this.parent.update_selection(i.selection),i}push(t,i){const{history:s,index:e}=this,n=null!=s[e]?s[e].state:{},h=Object.assign(Object.assign(Object.assign({},this.initial_state),n),i);this.history=this.history.slice(0,this.index+1),this.history.push({type:t,state:h}),this.index=this.history.length-1,this.changed.emit()}clear(){this.history=[],this.index=-1,this.changed.emit()}undo(){if(this.can_undo){this.index-=1;const t=this._do_state_change(this.index);return this.changed.emit(),t}return null}redo(){if(this.can_redo){this.index+=1;const t=this._do_state_change(this.index);return this.changed.emit(),t}return null}get can_undo(){return this.index>=0}get can_redo(){return this.indexm.emit();const s=encodeURIComponent,o=document.createElement(\"script\");o.type=\"text/javascript\",o.src=`https://maps.googleapis.com/maps/api/js?v=${s(e)}&key=${s(t)}&callback=_bokeh_gmaps_callback`,document.body.appendChild(o)}(t,e)}m.connect((()=>this.request_paint(\"everything\")))}this.unpause()}remove(){(0,p.remove)(this.map_el),super.remove()}update_range(t,e){var s,o;if(null==t)this.map.setCenter({lat:this.initial_lat,lng:this.initial_lng}),this.map.setOptions({zoom:this.initial_zoom}),super.update_range(null,e);else if(null!=t.sdx||null!=t.sdy)this.map.panBy(null!==(s=t.sdx)&&void 0!==s?s:0,null!==(o=t.sdy)&&void 0!==o?o:0),super.update_range(t,e);else if(null!=t.factor){if(10!==this.zoom_count)return void(this.zoom_count+=1);this.zoom_count=0,this.pause(),super.update_range(t,e);const s=t.factor<0?-1:1,o=this.map.getZoom();if(null!=o){const t=o+s;if(t>=2){this.map.setZoom(t);const[e,s]=this._get_projected_bounds();s-e<0&&this.map.setZoom(o)}}this.unpause()}this._set_bokeh_ranges()}_build_map(){const{maps:t}=google;this.map_types={satellite:t.MapTypeId.SATELLITE,terrain:t.MapTypeId.TERRAIN,roadmap:t.MapTypeId.ROADMAP,hybrid:t.MapTypeId.HYBRID};const e=this.model.map_options,s={center:new t.LatLng(e.lat,e.lng),zoom:e.zoom,disableDefaultUI:!0,mapTypeId:this.map_types[e.map_type],scaleControl:e.scale_control,tilt:e.tilt};null!=e.styles&&(s.styles=JSON.parse(e.styles)),this.map_el=(0,p.div)({style:{position:\"absolute\"}}),this.canvas_view.add_underlay(this.map_el),this.map=new t.Map(this.map_el,s),t.event.addListener(this.map,\"idle\",(()=>this._set_bokeh_ranges())),t.event.addListener(this.map,\"bounds_changed\",(()=>this._set_bokeh_ranges())),t.event.addListenerOnce(this.map,\"tilesloaded\",(()=>this._render_finished())),this.connect(this.model.properties.map_options.change,(()=>this._update_options())),this.connect(this.model.map_options.properties.styles.change,(()=>this._update_styles())),this.connect(this.model.map_options.properties.lat.change,(()=>this._update_center(\"lat\"))),this.connect(this.model.map_options.properties.lng.change,(()=>this._update_center(\"lng\"))),this.connect(this.model.map_options.properties.zoom.change,(()=>this._update_zoom())),this.connect(this.model.map_options.properties.map_type.change,(()=>this._update_map_type())),this.connect(this.model.map_options.properties.scale_control.change,(()=>this._update_scale_control())),this.connect(this.model.map_options.properties.tilt.change,(()=>this._update_tilt()))}_render_finished(){this._tiles_loaded=!0,this.notify_finished()}has_finished(){return super.has_finished()&&!0===this._tiles_loaded}_get_latlon_bounds(){const t=this.map.getBounds(),e=t.getNorthEast(),s=t.getSouthWest();return[s.lng(),e.lng(),s.lat(),e.lat()]}_get_projected_bounds(){const[t,e,s,o]=this._get_latlon_bounds(),[i,a]=l.wgs84_mercator.compute(t,s),[n,p]=l.wgs84_mercator.compute(e,o);return[i,n,a,p]}_set_bokeh_ranges(){const[t,e,s,o]=this._get_projected_bounds();this.frame.x_range.setv({start:t,end:e}),this.frame.y_range.setv({start:s,end:o})}_update_center(t){var e;const s=null===(e=this.map.getCenter())||void 0===e?void 0:e.toJSON();null!=s&&(s[t]=this.model.map_options[t],this.map.setCenter(s),this._set_bokeh_ranges())}_update_map_type(){this.map.setOptions({mapTypeId:this.map_types[this.model.map_options.map_type]})}_update_scale_control(){this.map.setOptions({scaleControl:this.model.map_options.scale_control})}_update_tilt(){this.map.setOptions({tilt:this.model.map_options.tilt})}_update_options(){this._update_styles(),this._update_center(\"lat\"),this._update_center(\"lng\"),this._update_zoom(),this._update_map_type()}_update_styles(){this.map.setOptions({styles:JSON.parse(this.model.map_options.styles)})}_update_zoom(){this.map.setOptions({zoom:this.model.map_options.zoom}),this._set_bokeh_ranges()}_map_hook(t,e){if(null==this.map&&\"undefined\"!=typeof google&&null!=google.maps&&this._build_map(),null!=this.map_el){const[t,s,o,i]=e;this.map_el.style.top=`${s}px`,this.map_el.style.left=`${t}px`,this.map_el.style.width=`${o}px`,this.map_el.style.height=`${i}px`}}_paint_empty(t,e){const s=this.layout.bbox.width,o=this.layout.bbox.height,[i,a,n,p]=e;t.clearRect(0,0,s,o),t.beginPath(),t.moveTo(0,0),t.lineTo(0,o),t.lineTo(s,o),t.lineTo(s,0),t.lineTo(0,0),t.moveTo(i,a),t.lineTo(i+n,a),t.lineTo(i+n,a+p),t.lineTo(i,a+p),t.lineTo(i,a),t.closePath(),null!=this.model.border_fill_color&&(t.fillStyle=(0,_.color2css)(this.model.border_fill_color),t.fill())}}s.GMapPlotView=d,d.__name__=\"GMapPlotView\"},\n", - " function _(t,_,n,o,r){o();(0,t(1).__exportStar)(t(132),n)},\n", - " function _(e,r,d,n,R){n(),R(\"GlyphRenderer\",e(175).GlyphRenderer),R(\"GraphRenderer\",e(339).GraphRenderer),R(\"GuideRenderer\",e(129).GuideRenderer);var G=e(41);R(\"Renderer\",G.Renderer),R(\"RendererGroup\",G.RendererGroup)},\n", - " function _(e,r,i,n,t){var d;n();const o=e(176),s=e(175),a=e(303),l=e(302),p=e(113),_=e(178),h=e(283),y=e(286);class c extends o.DataRendererView{get glyph_view(){return this.node_view.glyph}async lazy_initialize(){await super.lazy_initialize(),this.apply_coordinates();const{parent:e}=this,{edge_renderer:r,node_renderer:i}=this.model;this.edge_view=await(0,p.build_view)(r,{parent:e}),this.node_view=await(0,p.build_view)(i,{parent:e})}connect_signals(){super.connect_signals(),this.connect(this.model.layout_provider.change,(()=>{this.apply_coordinates(),this.edge_view.set_data(),this.node_view.set_data(),this.request_render()}))}apply_coordinates(){const{edge_renderer:e,node_renderer:r}=this.model;if(!(e.glyph instanceof h.MultiLine||e.glyph instanceof y.Patches))throw new Error(`${this}.edge_renderer.glyph must be a MultiLine glyph`);if(!(r.glyph instanceof _.XYGlyph))throw new Error(`${this}.node_renderer.glyph must be a XYGlyph glyph`);const i=this.model.layout_provider.edge_coordinates,n=this.model.layout_provider.node_coordinates;e.glyph.properties.xs.internal=!0,e.glyph.properties.ys.internal=!0,r.glyph.properties.x.internal=!0,r.glyph.properties.y.internal=!0,e.glyph.xs={expr:i.x},e.glyph.ys={expr:i.y},r.glyph.x={expr:n.x},r.glyph.y={expr:n.y},this.model.edge_renderer=e,this.model.node_renderer=r}remove(){this.edge_view.remove(),this.node_view.remove(),super.remove()}_render(){this.edge_view.render(),this.node_view.render()}renderer_view(e){if(e instanceof s.GlyphRenderer){if(e==this.edge_view.model)return this.edge_view;if(e==this.node_view.model)return this.node_view}return super.renderer_view(e)}}i.GraphRendererView=c,c.__name__=\"GraphRendererView\";class g extends o.DataRenderer{constructor(e){super(e)}get_selection_manager(){return this.node_renderer.data_source.selection_manager}}i.GraphRenderer=g,d=g,g.__name__=\"GraphRenderer\",d.prototype.default_view=c,d.define((({Ref:e})=>({layout_provider:[e(a.LayoutProvider)],node_renderer:[e(s.GlyphRenderer)],edge_renderer:[e(s.GlyphRenderer)],selection_policy:[e(l.GraphHitTestPolicy),()=>new l.NodesOnly],inspection_policy:[e(l.GraphHitTestPolicy),()=>new l.NodesOnly]})))},\n", - " function _(e,t,n,o,c){o();(0,e(1).__exportStar)(e(74),n),c(\"Selection\",e(72).Selection)},\n", - " function _(a,e,S,o,r){o(),r(\"ServerSentDataSource\",a(342).ServerSentDataSource),r(\"AjaxDataSource\",a(344).AjaxDataSource),r(\"ColumnDataSource\",a(75).ColumnDataSource),r(\"ColumnarDataSource\",a(70).ColumnarDataSource),r(\"CDSView\",a(190).CDSView),r(\"DataSource\",a(71).DataSource),r(\"GeoJSONDataSource\",a(345).GeoJSONDataSource),r(\"WebDataSource\",a(343).WebDataSource)},\n", - " function _(e,t,i,a,s){a();const n=e(343);class r extends n.WebDataSource{constructor(e){super(e),this.initialized=!1}setup(){if(!this.initialized){this.initialized=!0;new EventSource(this.data_url).onmessage=e=>{var t;this.load_data(JSON.parse(e.data),this.mode,null!==(t=this.max_size)&&void 0!==t?t:void 0)}}}}i.ServerSentDataSource=r,r.__name__=\"ServerSentDataSource\"},\n", - " function _(e,t,a,n,r){var s;n();const l=e(75),o=e(20);class c extends l.ColumnDataSource{constructor(e){super(e)}get_column(e){const t=this.data[e];return null!=t?t:[]}get_length(){var e;return null!==(e=super.get_length())&&void 0!==e?e:0}initialize(){super.initialize(),this.setup()}load_data(e,t,a){const{adapter:n}=this;let r;switch(r=null!=n?n.execute(this,{response:e}):e,t){case\"replace\":this.data=r;break;case\"append\":{const e=this.data;for(const t of this.columns()){const n=Array.from(e[t]),s=Array.from(r[t]),l=n.concat(s);r[t]=null!=a?l.slice(-a):l}this.data=r;break}}}}a.WebDataSource=c,s=c,c.__name__=\"WebDataSource\",s.define((({Any:e,Int:t,String:a,Nullable:n})=>({max_size:[n(t),null],mode:[o.UpdateMode,\"replace\"],adapter:[n(e),null],data_url:[a]})))},\n", - " function _(t,e,i,s,a){var n;s();const r=t(343),o=t(20),l=t(19),d=t(13);class h extends r.WebDataSource{constructor(t){super(t),this.interval=null,this.initialized=!1}destroy(){null!=this.interval&&clearInterval(this.interval),super.destroy()}setup(){if(!this.initialized&&(this.initialized=!0,this.get_data(this.mode),null!=this.polling_interval)){const t=()=>this.get_data(this.mode,this.max_size,this.if_modified);this.interval=setInterval(t,this.polling_interval)}}get_data(t,e=null,i=!1){const s=this.prepare_request();s.addEventListener(\"load\",(()=>this.do_load(s,t,null!=e?e:void 0))),s.addEventListener(\"error\",(()=>this.do_error(s))),s.send()}prepare_request(){const t=new XMLHttpRequest;t.open(this.method,this.data_url,!0),t.withCredentials=!1,t.setRequestHeader(\"Content-Type\",this.content_type);const e=this.http_headers;for(const[i,s]of(0,d.entries)(e))t.setRequestHeader(i,s);return t}do_load(t,e,i){if(200===t.status){const s=JSON.parse(t.responseText);this.load_data(s,e,i)}}do_error(t){l.logger.error(`Failed to fetch JSON from ${this.data_url} with code ${t.status}`)}}i.AjaxDataSource=h,n=h,h.__name__=\"AjaxDataSource\",n.define((({Boolean:t,Int:e,String:i,Dict:s,Nullable:a})=>({polling_interval:[a(e),null],content_type:[i,\"application/json\"],http_headers:[s(i),{}],method:[o.HTTPMethod,\"POST\"],if_modified:[t,!1]})))},\n", - " function _(e,t,o,r,n){var s;r();const a=e(70),i=e(19),l=e(9),c=e(13);function _(e){return null!=e?e:NaN}const{hasOwnProperty:g}=Object.prototype;class u extends a.ColumnarDataSource{constructor(e){super(e)}initialize(){super.initialize(),this._update_data()}connect_signals(){super.connect_signals(),this.connect(this.properties.geojson.change,(()=>this._update_data()))}_update_data(){this.data=this.geojson_to_column_data()}_get_new_list_array(e){return(0,l.range)(0,e).map((e=>[]))}_get_new_nan_array(e){return(0,l.range)(0,e).map((e=>NaN))}_add_properties(e,t,o,r){var n;const s=null!==(n=e.properties)&&void 0!==n?n:{};for(const[e,n]of(0,c.entries)(s))g.call(t,e)||(t[e]=this._get_new_nan_array(r)),t[e][o]=_(n)}_add_geometry(e,t,o){function r(e,t){return e.concat([[NaN,NaN,NaN]]).concat(t)}switch(e.type){case\"Point\":{const[r,n,s]=e.coordinates;t.x[o]=r,t.y[o]=n,t.z[o]=_(s);break}case\"LineString\":{const{coordinates:r}=e;for(let e=0;e1&&i.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\");const r=e.coordinates[0];for(let e=0;e1&&i.logger.warn(\"Bokeh does not support Polygons with holes in, only exterior ring used.\"),n.push(t[0]);const s=n.reduce(r);for(let e=0;e({geojson:[e]}))),s.internal((({Dict:e,Arrayable:t})=>({data:[e(t),{}]})))},\n", - " function _(e,r,T,o,S){o(),S(\"BBoxTileSource\",e(347).BBoxTileSource),S(\"MercatorTileSource\",e(348).MercatorTileSource),S(\"QUADKEYTileSource\",e(351).QUADKEYTileSource),S(\"TileRenderer\",e(352).TileRenderer),S(\"TileSource\",e(349).TileSource),S(\"TMSTileSource\",e(355).TMSTileSource),S(\"WMTSTileSource\",e(353).WMTSTileSource)},\n", - " function _(e,t,r,o,l){var i;o();const n=e(348);class s extends n.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const o=this.string_lookup_replace(this.url,this.extra_url_vars);let l,i,n,s;return this.use_latlon?[i,s,l,n]=this.get_tile_geographic_bounds(e,t,r):[i,s,l,n]=this.get_tile_meter_bounds(e,t,r),o.replace(\"{XMIN}\",i.toString()).replace(\"{YMIN}\",s.toString()).replace(\"{XMAX}\",l.toString()).replace(\"{YMAX}\",n.toString())}}r.BBoxTileSource=s,i=s,s.__name__=\"BBoxTileSource\",i.define((({Boolean:e})=>({use_latlon:[e,!1]})))},\n", - " function _(t,e,i,_,s){var r;_();const o=t(349),n=t(9),l=t(350);class u extends o.TileSource{constructor(t){super(t)}initialize(){super.initialize(),this._resolutions=(0,n.range)(this.min_zoom,this.max_zoom+1).map((t=>this.get_resolution(t)))}_computed_initial_resolution(){return null!=this.initial_resolution?this.initial_resolution:2*Math.PI*6378137/this.tile_size}is_valid_tile(t,e,i){return!(!this.wrap_around&&(t<0||t>=2**i))&&!(e<0||e>=2**i)}parent_by_tile_xyz(t,e,i){const _=this.tile_xyz_to_quadkey(t,e,i),s=_.substring(0,_.length-1);return this.quadkey_to_tile_xyz(s)}get_resolution(t){return this._computed_initial_resolution()/2**t}get_resolution_by_extent(t,e,i){return[(t[2]-t[0])/i,(t[3]-t[1])/e]}get_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s);let o=0;for(const t of this._resolutions){if(r>t){if(0==o)return 0;if(o>0)return o-1}o+=1}return o-1}get_closest_level_by_extent(t,e,i){const _=(t[2]-t[0])/i,s=(t[3]-t[1])/e,r=Math.max(_,s),o=this._resolutions.reduce((function(t,e){return Math.abs(e-r)e?(u=o-s,a*=t):(u*=e,a=n-r)}const h=(u-(o-s))/2,c=(a-(n-r))/2;return[s-h,r-c,o+h,n+c]}tms_to_wmts(t,e,i){return[t,2**i-1-e,i]}wmts_to_tms(t,e,i){return[t,2**i-1-e,i]}pixels_to_meters(t,e,i){const _=this.get_resolution(i);return[t*_-this.x_origin_offset,e*_-this.y_origin_offset]}meters_to_pixels(t,e,i){const _=this.get_resolution(i);return[(t+this.x_origin_offset)/_,(e+this.y_origin_offset)/_]}pixels_to_tile(t,e){let i=Math.ceil(t/this.tile_size);i=0===i?i:i-1;return[i,Math.max(Math.ceil(e/this.tile_size)-1,0)]}pixels_to_raster(t,e,i){return[t,(this.tile_size<=l;t--)for(let i=n;i<=u;i++)this.is_valid_tile(i,t,e)&&h.push([i,t,e,this.get_tile_meter_bounds(i,t,e)]);return this.sort_tiles_from_center(h,[n,l,u,a]),h}quadkey_to_tile_xyz(t){let e=0,i=0;const _=t.length;for(let s=_;s>0;s--){const r=1<0;s--){const i=1<0;)if(s=s.substring(0,s.length-1),[t,e,i]=this.quadkey_to_tile_xyz(s),[t,e,i]=this.denormalize_xyz(t,e,i,_),this.tiles.has(this.tile_xyz_to_key(t,e,i)))return[t,e,i];return[0,0,0]}normalize_xyz(t,e,i){if(this.wrap_around){const _=2**i;return[(t%_+_)%_,e,i]}return[t,e,i]}denormalize_xyz(t,e,i,_){return[t+_*2**i,e,i]}denormalize_meters(t,e,i,_){return[t+2*_*Math.PI*6378137,e]}calculate_world_x_by_tile_xyz(t,e,i){return Math.floor(t/2**i)}}i.MercatorTileSource=u,r=u,u.__name__=\"MercatorTileSource\",r.define((({Boolean:t})=>({snap_to_zoom:[t,!1],wrap_around:[t,!0]}))),r.override({x_origin_offset:20037508.34,y_origin_offset:20037508.34,initial_resolution:156543.03392804097})},\n", - " function _(e,t,r,i,n){var l;i();const a=e(53),s=e(13);class c extends a.Model{constructor(e){super(e)}initialize(){super.initialize(),this.tiles=new Map,this._normalize_case()}connect_signals(){super.connect_signals(),this.connect(this.change,(()=>this._clear_cache()))}string_lookup_replace(e,t){let r=e;for(const[e,i]of(0,s.entries)(t))r=r.replace(`{${e}}`,i);return r}_normalize_case(){const e=this.url.replace(\"{x}\",\"{X}\").replace(\"{y}\",\"{Y}\").replace(\"{z}\",\"{Z}\").replace(\"{q}\",\"{Q}\").replace(\"{xmin}\",\"{XMIN}\").replace(\"{ymin}\",\"{YMIN}\").replace(\"{xmax}\",\"{XMAX}\").replace(\"{ymax}\",\"{YMAX}\");this.url=e}_clear_cache(){this.tiles=new Map}tile_xyz_to_key(e,t,r){return`${e}:${t}:${r}`}key_to_tile_xyz(e){const[t,r,i]=e.split(\":\").map((e=>parseInt(e)));return[t,r,i]}sort_tiles_from_center(e,t){const[r,i,n,l]=t,a=(n-r)/2+r,s=(l-i)/2+i;e.sort((function(e,t){return Math.sqrt((a-e[0])**2+(s-e[1])**2)-Math.sqrt((a-t[0])**2+(s-t[1])**2)}))}get_image_url(e,t,r){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",t.toString()).replace(\"{Z}\",r.toString())}}r.TileSource=c,l=c,c.__name__=\"TileSource\",l.define((({Number:e,String:t,Dict:r,Nullable:i})=>({url:[t,\"\"],tile_size:[e,256],max_zoom:[e,30],min_zoom:[e,0],extra_url_vars:[r(t),{}],attribution:[t,\"\"],x_origin_offset:[e],y_origin_offset:[e],initial_resolution:[i(e),null]})))},\n", - " function _(t,e,r,n,o){n();const c=t(78);function _(t,e){return c.wgs84_mercator.compute(t,e)}function g(t,e){return c.wgs84_mercator.invert(t,e)}r.geographic_to_meters=_,r.meters_to_geographic=g,r.geographic_extent_to_meters=function(t){const[e,r,n,o]=t,[c,g]=_(e,r),[i,u]=_(n,o);return[c,g,i,u]},r.meters_extent_to_geographic=function(t){const[e,r,n,o]=t,[c,_]=g(e,r),[i,u]=g(n,o);return[c,_,i,u]}},\n", - " function _(e,t,r,s,_){s();const o=e(348);class c extends o.MercatorTileSource{constructor(e){super(e)}get_image_url(e,t,r){const s=this.string_lookup_replace(this.url,this.extra_url_vars),[_,o,c]=this.tms_to_wmts(e,t,r),i=this.tile_xyz_to_quadkey(_,o,c);return s.replace(\"{Q}\",i)}}r.QUADKEYTileSource=c,c.__name__=\"QUADKEYTileSource\"},\n", - " function _(t,e,i,s,_){s();const n=t(1);var a;const o=t(349),r=t(353),h=t(41),l=t(58),d=t(43),m=t(136),c=t(9),u=t(8),p=(0,n.__importStar)(t(354));class g extends h.RendererView{initialize(){this._tiles=[],super.initialize()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.request_render())),this.connect(this.model.tile_source.change,(()=>this.request_render()))}remove(){null!=this.attribution_el&&(0,d.removeElement)(this.attribution_el),super.remove()}styles(){return[...super.styles(),p.default]}get_extent(){return[this.x_range.start,this.y_range.start,this.x_range.end,this.y_range.end]}get map_plot(){return this.plot_model}get map_canvas(){return this.layer.ctx}get map_frame(){return this.plot_view.frame}get x_range(){return this.map_plot.x_range}get y_range(){return this.map_plot.y_range}_set_data(){this.extent=this.get_extent(),this._last_height=void 0,this._last_width=void 0}_update_attribution(){null!=this.attribution_el&&(0,d.removeElement)(this.attribution_el);const{attribution:t}=this.model.tile_source;if((0,u.isString)(t)&&t.length>0){const{layout:e,frame:i}=this.plot_view,s=e.bbox.width-i.bbox.right,_=e.bbox.height-i.bbox.bottom,n=i.bbox.width;this.attribution_el=(0,d.div)({class:p.tile_attribution,style:{position:\"absolute\",right:`${s}px`,bottom:`${_}px`,\"max-width\":n-4+\"px\",padding:\"2px\",\"background-color\":\"rgba(255,255,255,0.5)\",\"font-size\":\"9px\",\"line-height\":\"1.05\",\"white-space\":\"nowrap\",overflow:\"hidden\",\"text-overflow\":\"ellipsis\"}}),this.plot_view.canvas_view.add_event(this.attribution_el),this.attribution_el.innerHTML=t,this.attribution_el.title=this.attribution_el.textContent.replace(/\\s*\\n\\s*/g,\" \")}}_map_data(){this.initial_extent=this.get_extent();const t=this.model.tile_source.get_level_by_extent(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width),e=this.model.tile_source.snap_to_zoom_level(this.initial_extent,this.map_frame.bbox.height,this.map_frame.bbox.width,t);this.x_range.start=e[0],this.y_range.start=e[1],this.x_range.end=e[2],this.y_range.end=e[3],this.x_range instanceof l.Range1d&&(this.x_range.reset_start=e[0],this.x_range.reset_end=e[2]),this.y_range instanceof l.Range1d&&(this.y_range.reset_start=e[1],this.y_range.reset_end=e[3]),this._update_attribution()}_create_tile(t,e,i,s,_=!1){const n=this.model.tile_source.tile_xyz_to_quadkey(t,e,i),a=this.model.tile_source.tile_xyz_to_key(t,e,i);if(this.model.tile_source.tiles.has(a))return;const[o,r,h]=this.model.tile_source.normalize_xyz(t,e,i),l=this.model.tile_source.get_image_url(o,r,h),d={img:void 0,tile_coords:[t,e,i],normalized_coords:[o,r,h],quadkey:n,cache_key:a,bounds:s,loaded:!1,finished:!1,x_coord:s[0],y_coord:s[3]};this.model.tile_source.tiles.set(a,d),this._tiles.push(d),new m.ImageLoader(l,{loaded:t=>{Object.assign(d,{img:t,loaded:!0}),_?(d.finished=!0,this.notify_finished()):this.request_render()},failed(){d.finished=!0}})}_enforce_aspect_ratio(){if(this._last_height!==this.map_frame.bbox.height||this._last_width!==this.map_frame.bbox.width){const t=this.get_extent(),e=this.model.tile_source.get_level_by_extent(t,this.map_frame.bbox.height,this.map_frame.bbox.width),i=this.model.tile_source.snap_to_zoom_level(t,this.map_frame.bbox.height,this.map_frame.bbox.width,e);this.x_range.setv({start:i[0],end:i[2]}),this.y_range.setv({start:i[1],end:i[3]}),this.extent=i,this._last_height=this.map_frame.bbox.height,this._last_width=this.map_frame.bbox.width}}has_finished(){if(!super.has_finished())return!1;if(0==this._tiles.length)return!1;for(const t of this._tiles)if(!t.finished)return!1;return!0}_render(){null==this.map_initialized&&(this._set_data(),this._map_data(),this.map_initialized=!0),this._enforce_aspect_ratio(),this._update(),null!=this.prefetch_timer&&clearTimeout(this.prefetch_timer),this.prefetch_timer=setTimeout(this._prefetch_tiles.bind(this),500),this.has_finished()&&this.notify_finished()}_draw_tile(t){const e=this.model.tile_source.tiles.get(t);if(null!=e&&e.loaded){const[[t],[i]]=this.coordinates.map_to_screen([e.bounds[0]],[e.bounds[3]]),[[s],[_]]=this.coordinates.map_to_screen([e.bounds[2]],[e.bounds[1]]),n=s-t,a=_-i,o=t,r=i,h=this.map_canvas.getImageSmoothingEnabled();this.map_canvas.setImageSmoothingEnabled(this.model.smoothing),this.map_canvas.drawImage(e.img,o,r,n,a),this.map_canvas.setImageSmoothingEnabled(h),e.finished=!0}}_set_rect(){const t=this.plot_model.outline_line_width,e=this.map_frame.bbox.left+t/2,i=this.map_frame.bbox.top+t/2,s=this.map_frame.bbox.width-t,_=this.map_frame.bbox.height-t;this.map_canvas.rect(e,i,s,_),this.map_canvas.clip()}_render_tiles(t){this.map_canvas.save(),this._set_rect(),this.map_canvas.globalAlpha=this.model.alpha;for(const e of t)this._draw_tile(e);this.map_canvas.restore()}_prefetch_tiles(){const{tile_source:t}=this.model,e=this.get_extent(),i=this.map_frame.bbox.height,s=this.map_frame.bbox.width,_=this.model.tile_source.get_level_by_extent(e,i,s),n=this.model.tile_source.get_tiles_by_extent(e,_);for(let e=0,i=Math.min(10,n.length);ei&&(s=this.extent,o=i,r=!0),r&&(this.x_range.setv({start:s[0],end:s[2]}),this.y_range.setv({start:s[1],end:s[3]})),this.extent=s;const h=t.get_tiles_by_extent(s,o),l=[],d=[],m=[],u=[];for(const e of h){const[i,s,n]=e,a=t.tile_xyz_to_key(i,s,n),o=t.tiles.get(a);if(null!=o&&o.loaded)d.push(a);else if(this.model.render_parents){const[e,a,o]=t.get_closest_parent_by_tile_xyz(i,s,n),r=t.tile_xyz_to_key(e,a,o),h=t.tiles.get(r);if(null!=h&&h.loaded&&!(0,c.includes)(m,r)&&m.push(r),_){const e=t.children_by_tile_xyz(i,s,n);for(const[i,s,_]of e){const e=t.tile_xyz_to_key(i,s,_);t.tiles.has(e)&&u.push(e)}}}null==o&&l.push(e)}this._render_tiles(m),this._render_tiles(u),this._render_tiles(d),null!=this.render_timer&&clearTimeout(this.render_timer),this.render_timer=setTimeout((()=>this._fetch_tiles(l)),65)}}i.TileRendererView=g,g.__name__=\"TileRendererView\";class b extends h.Renderer{constructor(t){super(t)}}i.TileRenderer=b,a=b,b.__name__=\"TileRenderer\",a.prototype.default_view=g,a.define((({Boolean:t,Number:e,Ref:i})=>({alpha:[e,1],smoothing:[t,!0],tile_source:[i(o.TileSource),()=>new r.WMTSTileSource],render_parents:[t,!0]}))),a.override({level:\"image\"})},\n", - " function _(t,e,r,o,s){o();const c=t(348);class i extends c.MercatorTileSource{constructor(t){super(t)}get_image_url(t,e,r){const o=this.string_lookup_replace(this.url,this.extra_url_vars),[s,c,i]=this.tms_to_wmts(t,e,r);return o.replace(\"{X}\",s.toString()).replace(\"{Y}\",c.toString()).replace(\"{Z}\",i.toString())}}r.WMTSTileSource=i,i.__name__=\"WMTSTileSource\"},\n", - " function _(t,o,i,b,r){b(),i.root=\"bk-root\",i.tile_attribution=\"bk-tile-attribution\",i.default=\".bk-root .bk-tile-attribution a{color:black;}\"},\n", - " function _(e,r,t,c,o){c();const i=e(348);class l extends i.MercatorTileSource{constructor(e){super(e)}get_image_url(e,r,t){return this.string_lookup_replace(this.url,this.extra_url_vars).replace(\"{X}\",e.toString()).replace(\"{Y}\",r.toString()).replace(\"{Z}\",t.toString())}}t.TMSTileSource=l,l.__name__=\"TMSTileSource\"},\n", - " function _(e,t,u,a,r){a(),r(\"CanvasTexture\",e(357).CanvasTexture),r(\"ImageURLTexture\",e(359).ImageURLTexture),r(\"Texture\",e(358).Texture)},\n", - " function _(t,e,n,c,s){var r;c();const o=t(358),a=t(34);class u extends o.Texture{constructor(t){super(t)}get func(){const t=(0,a.use_strict)(this.code);return new Function(\"ctx\",\"color\",\"scale\",\"weight\",t)}get_pattern(t,e,n){const c=document.createElement(\"canvas\");c.width=e,c.height=e;const s=c.getContext(\"2d\");return this.func.call(this,s,t,e,n),c}}n.CanvasTexture=u,r=u,u.__name__=\"CanvasTexture\",r.define((({String:t})=>({code:[t]})))},\n", - " function _(e,t,n,r,o){var i;r();const s=e(53),u=e(20);class c extends s.Model{constructor(e){super(e)}}n.Texture=c,i=c,c.__name__=\"Texture\",i.define((()=>({repetition:[u.TextureRepetition,\"repeat\"]})))},\n", - " function _(e,t,i,r,n){var a;r();const s=e(358),o=e(136);class u extends s.Texture{constructor(e){super(e)}initialize(){super.initialize(),this._loader=new o.ImageLoader(this.url)}get_pattern(e,t,i){const{_loader:r}=this;return this._loader.finished?r.image:r.promise}}i.ImageURLTexture=u,a=u,u.__name__=\"ImageURLTexture\",a.define((({String:e})=>({url:[e]})))},\n", - " function _(o,l,T,e,t){e(),t(\"ActionTool\",o(238).ActionTool),t(\"CustomAction\",o(361).CustomAction),t(\"HelpTool\",o(239).HelpTool),t(\"RedoTool\",o(362).RedoTool),t(\"ResetTool\",o(363).ResetTool),t(\"SaveTool\",o(364).SaveTool),t(\"UndoTool\",o(365).UndoTool),t(\"ZoomInTool\",o(366).ZoomInTool),t(\"ZoomOutTool\",o(369).ZoomOutTool),t(\"ButtonTool\",o(224).ButtonTool),t(\"EditTool\",o(370).EditTool),t(\"BoxEditTool\",o(371).BoxEditTool),t(\"FreehandDrawTool\",o(372).FreehandDrawTool),t(\"PointDrawTool\",o(373).PointDrawTool),t(\"PolyDrawTool\",o(374).PolyDrawTool),t(\"PolyTool\",o(375).PolyTool),t(\"PolyEditTool\",o(376).PolyEditTool),t(\"BoxSelectTool\",o(377).BoxSelectTool),t(\"BoxZoomTool\",o(379).BoxZoomTool),t(\"GestureTool\",o(223).GestureTool),t(\"LassoSelectTool\",o(380).LassoSelectTool),t(\"LineEditTool\",o(382).LineEditTool),t(\"PanTool\",o(384).PanTool),t(\"PolySelectTool\",o(381).PolySelectTool),t(\"RangeTool\",o(385).RangeTool),t(\"SelectTool\",o(378).SelectTool),t(\"TapTool\",o(386).TapTool),t(\"WheelPanTool\",o(387).WheelPanTool),t(\"WheelZoomTool\",o(388).WheelZoomTool),t(\"CrosshairTool\",o(389).CrosshairTool),t(\"CustomJSHover\",o(390).CustomJSHover),t(\"HoverTool\",o(391).HoverTool),t(\"InspectTool\",o(232).InspectTool),t(\"Tool\",o(222).Tool),t(\"ToolProxy\",o(394).ToolProxy),t(\"Toolbar\",o(221).Toolbar),t(\"ToolbarBase\",o(233).ToolbarBase),t(\"ProxyToolbar\",o(395).ProxyToolbar),t(\"ToolbarBox\",o(395).ToolbarBox)},\n", - " function _(t,o,e,s,n){var c;s();const i=t(238);class u extends i.ActionToolButtonView{css_classes(){return super.css_classes().concat(\"bk-toolbar-button-custom-action\")}}e.CustomActionButtonView=u,u.__name__=\"CustomActionButtonView\";class l extends i.ActionToolView{doit(){var t;null===(t=this.model.callback)||void 0===t||t.execute(this.model)}}e.CustomActionView=l,l.__name__=\"CustomActionView\";class a extends i.ActionTool{constructor(t){super(t),this.tool_name=\"Custom Action\",this.button_view=u}}e.CustomAction=a,c=a,a.__name__=\"CustomAction\",c.prototype.default_view=l,c.define((({Any:t,String:o,Nullable:e})=>({callback:[e(t)],icon:[o]}))),c.override({description:\"Perform a Custom Action\"})},\n", - " function _(e,o,t,i,s){var n;i();const l=e(238),_=e(228);class d extends l.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_redo))}doit(){const e=this.plot_view.state.redo();null!=(null==e?void 0:e.range)&&this.plot_view.trigger_ranges_update_event()}}t.RedoToolView=d,d.__name__=\"RedoToolView\";class a extends l.ActionTool{constructor(e){super(e),this.tool_name=\"Redo\",this.icon=_.tool_icon_redo}}t.RedoTool=a,n=a,a.__name__=\"RedoTool\",n.prototype.default_view=d,n.override({disabled:!0}),n.register_alias(\"redo\",(()=>new a))},\n", - " function _(e,o,t,s,i){var _;s();const n=e(238),l=e(228);class c extends n.ActionToolView{doit(){this.plot_view.reset()}}t.ResetToolView=c,c.__name__=\"ResetToolView\";class r extends n.ActionTool{constructor(e){super(e),this.tool_name=\"Reset\",this.icon=l.tool_icon_reset}}t.ResetTool=r,_=r,r.__name__=\"ResetTool\",_.prototype.default_view=c,_.register_alias(\"reset\",(()=>new r))},\n", - " function _(e,o,t,a,i){var s;a();const c=e(238),n=e(228);class l extends c.ActionToolView{async copy(){const e=await this.plot_view.to_blob(),o=new ClipboardItem({[e.type]:Promise.resolve(e)});await navigator.clipboard.write([o])}async save(e){const o=await this.plot_view.to_blob(),t=document.createElement(\"a\");t.href=URL.createObjectURL(o),t.download=e,t.target=\"_blank\",t.dispatchEvent(new MouseEvent(\"click\"))}doit(e=\"save\"){switch(e){case\"save\":this.save(\"bokeh_plot\");break;case\"copy\":this.copy()}}}t.SaveToolView=l,l.__name__=\"SaveToolView\";class r extends c.ActionTool{constructor(e){super(e),this.tool_name=\"Save\",this.icon=n.tool_icon_save}get menu(){return[{icon:\"bk-tool-icon-copy-to-clipboard\",tooltip:\"Copy image to clipboard\",if:()=>\"undefined\"!=typeof ClipboardItem,handler:()=>{this.do.emit(\"copy\")}}]}}t.SaveTool=r,s=r,r.__name__=\"SaveTool\",s.prototype.default_view=l,s.register_alias(\"save\",(()=>new r))},\n", - " function _(o,e,t,n,i){var s;n();const l=o(238),_=o(228);class d extends l.ActionToolView{connect_signals(){super.connect_signals(),this.connect(this.plot_view.state.changed,(()=>this.model.disabled=!this.plot_view.state.can_undo))}doit(){const o=this.plot_view.state.undo();null!=(null==o?void 0:o.range)&&this.plot_view.trigger_ranges_update_event()}}t.UndoToolView=d,d.__name__=\"UndoToolView\";class a extends l.ActionTool{constructor(o){super(o),this.tool_name=\"Undo\",this.icon=_.tool_icon_undo}}t.UndoTool=a,s=a,a.__name__=\"UndoTool\",s.prototype.default_view=d,s.override({disabled:!0}),s.register_alias(\"undo\",(()=>new a))},\n", - " function _(o,n,e,i,s){var t;i();const _=o(367),m=o(228);class a extends _.ZoomBaseToolView{}e.ZoomInToolView=a,a.__name__=\"ZoomInToolView\";class l extends _.ZoomBaseTool{constructor(o){super(o),this.sign=1,this.tool_name=\"Zoom In\",this.icon=m.tool_icon_zoom_in}}e.ZoomInTool=l,t=l,l.__name__=\"ZoomInTool\",t.prototype.default_view=a,t.register_alias(\"zoom_in\",(()=>new l({dimensions:\"both\"}))),t.register_alias(\"xzoom_in\",(()=>new l({dimensions:\"width\"}))),t.register_alias(\"yzoom_in\",(()=>new l({dimensions:\"height\"})))},\n", - " function _(o,t,e,i,s){var n;i();const a=o(238),_=o(20),l=o(368);class m extends a.ActionToolView{doit(){var o;const t=this.plot_view.frame,e=this.model.dimensions,i=\"width\"==e||\"both\"==e,s=\"height\"==e||\"both\"==e,n=(0,l.scale_range)(t,this.model.sign*this.model.factor,i,s);this.plot_view.state.push(\"zoom_out\",{range:n}),this.plot_view.update_range(n,{scrolling:!0,maintain_focus:this.model.maintain_focus}),null===(o=this.model.document)||void 0===o||o.interactive_start(this.plot_model),this.plot_view.trigger_ranges_update_event()}}e.ZoomBaseToolView=m,m.__name__=\"ZoomBaseToolView\";class h extends a.ActionTool{constructor(o){super(o),this.maintain_focus=!0}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.ZoomBaseTool=h,n=h,h.__name__=\"ZoomBaseTool\",n.define((({Percent:o})=>({factor:[o,.1],dimensions:[_.Dimensions,\"both\"]})))},\n", - " function _(n,t,o,r,s){r();const c=n(10);function e(n,t,o){const[r,s]=[n.start,n.end],c=null!=o?o:(s+r)/2;return[r-(r-c)*t,s-(s-c)*t]}function a(n,[t,o]){const r=new Map;for(const[s,c]of n){const[n,e]=c.r_invert(t,o);r.set(s,{start:n,end:e})}return r}o.scale_highlow=e,o.get_info=a,o.scale_range=function(n,t,o=!0,r=!0,s){t=(0,c.clamp)(t,-.9,.9);const l=o?t:0,[u,i]=e(n.bbox.h_range,l,null!=s?s.x:void 0),_=a(n.x_scales,[u,i]),f=r?t:0,[g,x]=e(n.bbox.v_range,f,null!=s?s.y:void 0);return{xrs:_,yrs:a(n.y_scales,[g,x]),factor:t}}},\n", - " function _(o,e,t,i,s){var n;i();const _=o(367),a=o(228);class m extends _.ZoomBaseToolView{}t.ZoomOutToolView=m,m.__name__=\"ZoomOutToolView\";class l extends _.ZoomBaseTool{constructor(o){super(o),this.sign=-1,this.tool_name=\"Zoom Out\",this.icon=a.tool_icon_zoom_out}}t.ZoomOutTool=l,n=l,l.__name__=\"ZoomOutTool\",n.prototype.default_view=m,n.define((({Boolean:o})=>({maintain_focus:[o,!0]}))),n.register_alias(\"zoom_out\",(()=>new l({dimensions:\"both\"}))),n.register_alias(\"xzoom_out\",(()=>new l({dimensions:\"width\"}))),n.register_alias(\"yzoom_out\",(()=>new l({dimensions:\"height\"})))},\n", - " function _(e,t,s,o,n){var r;o();const i=e(9),c=e(8),a=e(11),_=e(175),l=e(223);class d extends l.GestureToolView{constructor(){super(...arguments),this._mouse_in_frame=!0}_select_mode(e){const{shiftKey:t,ctrlKey:s}=e;return t||s?t&&!s?\"append\":!t&&s?\"intersect\":t&&s?\"subtract\":void(0,a.unreachable)():\"replace\"}_move_enter(e){this._mouse_in_frame=!0}_move_exit(e){this._mouse_in_frame=!1}_map_drag(e,t,s){if(!this.plot_view.frame.bbox.contains(e,t))return null;const o=this.plot_view.renderer_view(s);if(null==o)return null;return[o.coordinates.x_scale.invert(e),o.coordinates.y_scale.invert(t)]}_delete_selected(e){const t=e.data_source,s=t.selected.indices;s.sort();for(const e of t.columns()){const o=t.get_array(e);for(let e=0;e({custom_icon:[n(t),null],empty_value:[e],renderers:[s(o(_.GlyphRenderer)),[]]})))},\n", - " function _(e,t,s,i,_){var o;i();const n=e(43),a=e(20),d=e(370),l=e(228);class r extends d.EditToolView{_tap(e){null==this._draw_basepoint&&null==this._basepoint&&this._select_event(e,this._select_mode(e),this.model.renderers)}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)if(e.keyCode===n.Keys.Backspace)this._delete_selected(t);else if(e.keyCode==n.Keys.Esc){t.data_source.selection_manager.clear()}}_set_extent([e,t],[s,i],_,o=!1){const n=this.model.renderers[0],a=this.plot_view.renderer_view(n);if(null==a)return;const d=n.glyph,l=n.data_source,[r,h]=a.coordinates.x_scale.r_invert(e,t),[p,u]=a.coordinates.y_scale.r_invert(s,i),[c,m]=[(r+h)/2,(p+u)/2],[f,b]=[h-r,u-p],[y,x]=[d.x.field,d.y.field],[w,v]=[d.width.field,d.height.field];if(_)this._pop_glyphs(l,this.model.num_objects),y&&l.get_array(y).push(c),x&&l.get_array(x).push(m),w&&l.get_array(w).push(f),v&&l.get_array(v).push(b),this._pad_empty_columns(l,[y,x,w,v]);else{const e=l.data[y].length-1;y&&(l.data[y][e]=c),x&&(l.data[x][e]=m),w&&(l.data[w][e]=f),v&&(l.data[v][e]=b)}this._emit_cds_changes(l,!0,!1,o)}_update_box(e,t=!1,s=!1){if(null==this._draw_basepoint)return;const i=[e.sx,e.sy],_=this.plot_view.frame,o=this.model.dimensions,n=this.model._get_dim_limits(this._draw_basepoint,i,_,o);if(null!=n){const[e,i]=n;this._set_extent(e,i,t,s)}}_doubletap(e){this.model.active&&(null!=this._draw_basepoint?(this._update_box(e,!1,!0),this._draw_basepoint=null):(this._draw_basepoint=[e.sx,e.sy],this._select_event(e,\"append\",this.model.renderers),this._update_box(e,!0,!1)))}_move(e){this._update_box(e,!1,!1)}_pan_start(e){if(e.shiftKey){if(null!=this._draw_basepoint)return;this._draw_basepoint=[e.sx,e.sy],this._update_box(e,!0,!1)}else{if(null!=this._basepoint)return;this._select_event(e,\"append\",this.model.renderers),this._basepoint=[e.sx,e.sy]}}_pan(e,t=!1,s=!1){if(e.shiftKey){if(null==this._draw_basepoint)return;this._update_box(e,t,s)}else{if(null==this._basepoint)return;this._drag_points(e,this.model.renderers)}}_pan_end(e){if(this._pan(e,!1,!0),e.shiftKey)this._draw_basepoint=null;else{this._basepoint=null;for(const e of this.model.renderers)this._emit_cds_changes(e.data_source,!1,!0,!0)}}}s.BoxEditToolView=r,r.__name__=\"BoxEditToolView\";class h extends d.EditTool{constructor(e){super(e),this.tool_name=\"Box Edit Tool\",this.icon=l.tool_icon_box_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=1}}s.BoxEditTool=h,o=h,h.__name__=\"BoxEditTool\",o.prototype.default_view=r,o.define((({Int:e})=>({dimensions:[a.Dimensions,\"both\"],num_objects:[e,0]})))},\n", - " function _(e,t,a,s,r){var _;s();const d=e(43),o=e(8),n=e(370),i=e(228);class l extends n.EditToolView{_draw(e,t,a=!1){if(!this.model.active)return;const s=this.model.renderers[0],r=this._map_drag(e.sx,e.sy,s);if(null==r)return;const[_,d]=r,n=s.data_source,i=s.glyph,[l,h]=[i.xs.field,i.ys.field];if(\"new\"==t)this._pop_glyphs(n,this.model.num_objects),l&&n.get_array(l).push([_]),h&&n.get_array(h).push([d]),this._pad_empty_columns(n,[l,h]);else if(\"add\"==t){if(l){const e=n.data[l].length-1;let t=n.get_array(l)[e];(0,o.isArray)(t)||(t=Array.from(t),n.data[l][e]=t),t.push(_)}if(h){const e=n.data[h].length-1;let t=n.get_array(h)[e];(0,o.isArray)(t)||(t=Array.from(t),n.data[h][e]=t),t.push(d)}}this._emit_cds_changes(n,!0,!0,a)}_pan_start(e){this._draw(e,\"new\")}_pan(e){this._draw(e,\"add\")}_pan_end(e){this._draw(e,\"add\",!0)}_tap(e){this._select_event(e,this._select_mode(e),this.model.renderers)}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)e.keyCode===d.Keys.Esc?t.data_source.selection_manager.clear():e.keyCode===d.Keys.Backspace&&this._delete_selected(t)}}a.FreehandDrawToolView=l,l.__name__=\"FreehandDrawToolView\";class h extends n.EditTool{constructor(e){super(e),this.tool_name=\"Freehand Draw Tool\",this.icon=i.tool_icon_freehand_draw,this.event_type=[\"pan\",\"tap\"],this.default_order=3}}a.FreehandDrawTool=h,_=h,h.__name__=\"FreehandDrawTool\",_.prototype.default_view=l,_.define((({Int:e})=>({num_objects:[e,0]}))),_.register_alias(\"freehand_draw\",(()=>new h))},\n", - " function _(e,t,s,o,a){var i;o();const n=e(43),_=e(370),r=e(228);class d extends _.EditToolView{_tap(e){if(this._select_event(e,this._select_mode(e),this.model.renderers).length||!this.model.add)return;const t=this.model.renderers[0],s=this._map_drag(e.sx,e.sy,t);if(null==s)return;const o=t.glyph,a=t.data_source,[i,n]=[o.x.field,o.y.field],[_,r]=s;this._pop_glyphs(a,this.model.num_objects),i&&a.get_array(i).push(_),n&&a.get_array(n).push(r),this._pad_empty_columns(a,[i,n]),a.change.emit(),a.data=a.data,a.properties.data.change.emit()}_keyup(e){if(this.model.active&&this._mouse_in_frame)for(const t of this.model.renderers)e.keyCode===n.Keys.Backspace?this._delete_selected(t):e.keyCode==n.Keys.Esc&&t.data_source.selection_manager.clear()}_pan_start(e){this.model.drag&&(this._select_event(e,\"append\",this.model.renderers),this._basepoint=[e.sx,e.sy])}_pan(e){this.model.drag&&null!=this._basepoint&&this._drag_points(e,this.model.renderers)}_pan_end(e){if(this.model.drag){this._pan(e);for(const e of this.model.renderers)this._emit_cds_changes(e.data_source,!1,!0,!0);this._basepoint=null}}}s.PointDrawToolView=d,d.__name__=\"PointDrawToolView\";class l extends _.EditTool{constructor(e){super(e),this.tool_name=\"Point Draw Tool\",this.icon=r.tool_icon_point_draw,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=2}}s.PointDrawTool=l,i=l,l.__name__=\"PointDrawTool\",i.prototype.default_view=d,i.define((({Boolean:e,Int:t})=>({add:[e,!0],drag:[e,!0],num_objects:[t,0]})))},\n", - " function _(e,t,s,i,a){var r;i();const o=e(43),n=e(8),d=e(375),_=e(228);class h extends d.PolyToolView{constructor(){super(...arguments),this._drawing=!1,this._initialized=!1}_tap(e){this._drawing?this._draw(e,\"add\",!0):this._select_event(e,this._select_mode(e),this.model.renderers)}_draw(e,t,s=!1){const i=this.model.renderers[0],a=this._map_drag(e.sx,e.sy,i);if(this._initialized||this.activate(),null==a)return;const[r,o]=this._snap_to_vertex(e,...a),d=i.data_source,_=i.glyph,[h,l]=[_.xs.field,_.ys.field];if(\"new\"==t)this._pop_glyphs(d,this.model.num_objects),h&&d.get_array(h).push([r,r]),l&&d.get_array(l).push([o,o]),this._pad_empty_columns(d,[h,l]);else if(\"edit\"==t){if(h){const e=d.data[h][d.data[h].length-1];e[e.length-1]=r}if(l){const e=d.data[l][d.data[l].length-1];e[e.length-1]=o}}else if(\"add\"==t){if(h){const e=d.data[h].length-1;let t=d.get_array(h)[e];const s=t[t.length-1];t[t.length-1]=r,(0,n.isArray)(t)||(t=Array.from(t),d.data[h][e]=t),t.push(s)}if(l){const e=d.data[l].length-1;let t=d.get_array(l)[e];const s=t[t.length-1];t[t.length-1]=o,(0,n.isArray)(t)||(t=Array.from(t),d.data[l][e]=t),t.push(s)}}this._emit_cds_changes(d,!0,!1,s)}_show_vertices(){if(!this.model.active)return;const e=[],t=[];for(let s=0;sthis._show_vertices()))}this._initialized=!0}}deactivate(){this._drawing&&(this._remove(),this._drawing=!1),this.model.vertex_renderer&&this._hide_vertices()}}s.PolyDrawToolView=h,h.__name__=\"PolyDrawToolView\";class l extends d.PolyTool{constructor(e){super(e),this.tool_name=\"Polygon Draw Tool\",this.icon=_.tool_icon_poly_draw,this.event_type=[\"pan\",\"tap\",\"move\"],this.default_order=3}}s.PolyDrawTool=l,r=l,l.__name__=\"PolyDrawTool\",r.prototype.default_view=h,r.define((({Boolean:e,Int:t})=>({drag:[e,!0],num_objects:[t,0]})))},\n", - " function _(e,r,t,s,o){var _;s();const d=e(8),i=e(370);class l extends i.EditToolView{_set_vertices(e,r){const t=this.model.vertex_renderer.glyph,s=this.model.vertex_renderer.data_source,[o,_]=[t.x.field,t.y.field];o&&((0,d.isArray)(e)?s.data[o]=e:t.x={value:e}),_&&((0,d.isArray)(r)?s.data[_]=r:t.y={value:r}),this._emit_cds_changes(s,!0,!0,!1)}_hide_vertices(){this._set_vertices([],[])}_snap_to_vertex(e,r,t){if(this.model.vertex_renderer){const s=this._select_event(e,\"replace\",[this.model.vertex_renderer]),o=this.model.vertex_renderer.data_source,_=this.model.vertex_renderer.glyph,[d,i]=[_.x.field,_.y.field];if(s.length){const e=o.selected.indices[0];d&&(r=o.data[d][e]),i&&(t=o.data[i][e]),o.selection_manager.clear()}}return[r,t]}}t.PolyToolView=l,l.__name__=\"PolyToolView\";class n extends i.EditTool{constructor(e){super(e)}}t.PolyTool=n,_=n,n.__name__=\"PolyTool\",_.define((({AnyRef:e})=>({vertex_renderer:[e()]})))},\n", - " function _(e,t,s,r,i){var _;r();const d=e(43),n=e(8),l=e(375),a=e(228);class c extends l.PolyToolView{constructor(){super(...arguments),this._drawing=!1,this._cur_index=null}_doubletap(e){if(!this.model.active)return;const t=this._map_drag(e.sx,e.sy,this.model.vertex_renderer);if(null==t)return;const[s,r]=t,i=this._select_event(e,\"replace\",[this.model.vertex_renderer]),_=this.model.vertex_renderer.data_source,d=this.model.vertex_renderer.glyph,[n,l]=[d.x.field,d.y.field];if(i.length&&null!=this._selected_renderer){const e=_.selected.indices[0];this._drawing?(this._drawing=!1,_.selection_manager.clear()):(_.selected.indices=[e+1],n&&_.get_array(n).splice(e+1,0,s),l&&_.get_array(l).splice(e+1,0,r),this._drawing=!0),_.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}else this._show_vertices(e)}_show_vertices(e){if(!this.model.active)return;const t=this.model.renderers[0],s=()=>this._update_vertices(t),r=null==t?void 0:t.data_source,i=this._select_event(e,\"replace\",this.model.renderers);if(!i.length)return this._set_vertices([],[]),this._selected_renderer=null,this._drawing=!1,this._cur_index=null,void(null!=r&&r.disconnect(r.properties.data.change,s));null!=r&&r.connect(r.properties.data.change,s),this._cur_index=i[0].data_source.selected.indices[0],this._update_vertices(i[0])}_update_vertices(e){const t=e.glyph,s=e.data_source,r=this._cur_index,[i,_]=[t.xs.field,t.ys.field];if(this._drawing)return;if(null==r&&(i||_))return;let d,l;i&&null!=r?(d=s.data[i][r],(0,n.isArray)(d)||(s.data[i][r]=d=Array.from(d))):d=t.xs.value,_&&null!=r?(l=s.data[_][r],(0,n.isArray)(l)||(s.data[_][r]=l=Array.from(l))):l=t.ys.value,this._selected_renderer=e,this._set_vertices(d,l)}_move(e){if(this._drawing&&null!=this._selected_renderer){const t=this.model.vertex_renderer,s=t.data_source,r=t.glyph,i=this._map_drag(e.sx,e.sy,t);if(null==i)return;let[_,d]=i;const n=s.selected.indices;[_,d]=this._snap_to_vertex(e,_,d),s.selected.indices=n;const[l,a]=[r.x.field,r.y.field],c=n[0];l&&(s.data[l][c]=_),a&&(s.data[a][c]=d),s.change.emit(),this._selected_renderer.data_source.change.emit()}}_tap(e){const t=this.model.vertex_renderer,s=this._map_drag(e.sx,e.sy,t);if(null==s)return;if(this._drawing&&this._selected_renderer){let[r,i]=s;const _=t.data_source,d=t.glyph,[n,l]=[d.x.field,d.y.field],a=_.selected.indices;[r,i]=this._snap_to_vertex(e,r,i);const c=a[0];if(_.selected.indices=[c+1],n){const e=_.get_array(n),t=e[c];e[c]=r,e.splice(c+1,0,t)}if(l){const e=_.get_array(l),t=e[c];e[c]=i,e.splice(c+1,0,t)}return _.change.emit(),void this._emit_cds_changes(this._selected_renderer.data_source,!0,!1,!0)}const r=this._select_mode(e);this._select_event(e,r,[t]),this._select_event(e,r,this.model.renderers)}_remove_vertex(){if(!this._drawing||!this._selected_renderer)return;const e=this.model.vertex_renderer,t=e.data_source,s=e.glyph,r=t.selected.indices[0],[i,_]=[s.x.field,s.y.field];i&&t.get_array(i).splice(r,1),_&&t.get_array(_).splice(r,1),t.change.emit(),this._emit_cds_changes(this._selected_renderer.data_source)}_pan_start(e){this._select_event(e,\"append\",[this.model.vertex_renderer]),this._basepoint=[e.sx,e.sy]}_pan(e){null!=this._basepoint&&(this._drag_points(e,[this.model.vertex_renderer]),this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&(this._drag_points(e,[this.model.vertex_renderer]),this._emit_cds_changes(this.model.vertex_renderer.data_source,!1,!0,!0),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}_keyup(e){if(!this.model.active||!this._mouse_in_frame)return;let t;t=this._selected_renderer?[this.model.vertex_renderer]:this.model.renderers;for(const s of t)e.keyCode===d.Keys.Backspace?(this._delete_selected(s),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source)):e.keyCode==d.Keys.Esc&&(this._drawing?(this._remove_vertex(),this._drawing=!1):this._selected_renderer&&this._hide_vertices(),s.data_source.selection_manager.clear())}deactivate(){this._selected_renderer&&(this._drawing&&(this._remove_vertex(),this._drawing=!1),this._hide_vertices())}}s.PolyEditToolView=c,c.__name__=\"PolyEditToolView\";class o extends l.PolyTool{constructor(e){super(e),this.tool_name=\"Poly Edit Tool\",this.icon=a.tool_icon_poly_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}}s.PolyEditTool=o,_=o,o.__name__=\"PolyEditTool\",_.prototype.default_view=c},\n", - " function _(e,t,o,s,i){var l;s();const n=e(378),_=e(116),c=e(20),r=e(228);class a extends n.SelectToolView{_compute_limits(e){const t=this.plot_view.frame,o=this.model.dimensions;let s=this._base_point;if(\"center\"==this.model.origin){const[t,o]=s,[i,l]=e;s=[t-(i-t),o-(l-o)]}return this.model._get_dim_limits(s,e,t,o)}_pan_start(e){const{sx:t,sy:o}=e;this._base_point=[t,o]}_pan(e){const{sx:t,sy:o}=e,s=[t,o],[i,l]=this._compute_limits(s);this.model.overlay.update({left:i[0],right:i[1],top:l[0],bottom:l[1]}),this.model.select_every_mousemove&&this._do_select(i,l,!1,this._select_mode(e))}_pan_end(e){const{sx:t,sy:o}=e,s=[t,o],[i,l]=this._compute_limits(s);this._do_select(i,l,!0,this._select_mode(e)),this.model.overlay.update({left:null,right:null,top:null,bottom:null}),this._base_point=null,this.plot_view.state.push(\"box_select\",{selection:this.plot_view.get_selection()})}_do_select([e,t],[o,s],i,l=\"replace\"){const n={type:\"rect\",sx0:e,sx1:t,sy0:o,sy1:s};this._select(n,i,l)}}o.BoxSelectToolView=a,a.__name__=\"BoxSelectToolView\";const h=()=>new _.BoxAnnotation({level:\"overlay\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class m extends n.SelectTool{constructor(e){super(e),this.tool_name=\"Box Select\",this.icon=r.tool_icon_box_select,this.event_type=\"pan\",this.default_order=30}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}o.BoxSelectTool=m,l=m,m.__name__=\"BoxSelectTool\",l.prototype.default_view=a,l.define((({Boolean:e,Ref:t})=>({dimensions:[c.Dimensions,\"both\"],select_every_mousemove:[e,!1],overlay:[t(_.BoxAnnotation),h],origin:[c.BoxOrigin,\"corner\"]}))),l.register_alias(\"box_select\",(()=>new m)),l.register_alias(\"xbox_select\",(()=>new m({dimensions:\"width\"}))),l.register_alias(\"ybox_select\",(()=>new m({dimensions:\"height\"})))},\n", - " function _(e,t,s,n,r){var o;n();const c=e(223),i=e(175),a=e(339),l=e(176),d=e(66),_=e(20),h=e(43),p=e(251),u=e(15),m=e(11);class v extends c.GestureToolView{connect_signals(){super.connect_signals(),this.model.clear.connect((()=>this._clear()))}get computed_renderers(){const{renderers:e,names:t}=this.model,s=this.plot_model.data_renderers;return(0,d.compute_renderers)(e,s,t)}_computed_renderers_by_data_source(){var e;const t=new Map;for(const s of this.computed_renderers){let n;if(s instanceof i.GlyphRenderer)n=s.data_source;else{if(!(s instanceof a.GraphRenderer))continue;n=s.node_renderer.data_source}const r=null!==(e=t.get(n))&&void 0!==e?e:[];t.set(n,[...r,s])}return t}_select_mode(e){const{shiftKey:t,ctrlKey:s}=e;return t||s?t&&!s?\"append\":!t&&s?\"intersect\":t&&s?\"subtract\":void(0,m.unreachable)():this.model.mode}_keyup(e){e.keyCode==h.Keys.Esc&&this._clear()}_clear(){for(const e of this.computed_renderers)e.get_selection_manager().clear();const e=this.computed_renderers.map((e=>this.plot_view.renderer_view(e)));this.plot_view.request_paint(e)}_select(e,t,s){const n=this._computed_renderers_by_data_source();for(const[,r]of n){const n=r[0].get_selection_manager(),o=[];for(const e of r){const t=this.plot_view.renderer_view(e);null!=t&&o.push(t)}n.select(o,e,t,s)}null!=this.model.callback&&this._emit_callback(e),this._emit_selection_event(e,t)}_emit_selection_event(e,t=!0){const{x_scale:s,y_scale:n}=this.plot_view.frame;let r;switch(e.type){case\"point\":{const{sx:t,sy:o}=e,c=s.invert(t),i=n.invert(o);r=Object.assign(Object.assign({},e),{x:c,y:i});break}case\"span\":{const{sx:t,sy:o}=e,c=s.invert(t),i=n.invert(o);r=Object.assign(Object.assign({},e),{x:c,y:i});break}case\"rect\":{const{sx0:t,sx1:o,sy0:c,sy1:i}=e,[a,l]=s.r_invert(t,o),[d,_]=n.r_invert(c,i);r=Object.assign(Object.assign({},e),{x0:a,y0:d,x1:l,y1:_});break}case\"poly\":{const{sx:t,sy:o}=e,c=s.v_invert(t),i=n.v_invert(o);r=Object.assign(Object.assign({},e),{x:c,y:i});break}}this.plot_model.trigger_event(new p.SelectionGeometry(r,t))}}s.SelectToolView=v,v.__name__=\"SelectToolView\";class b extends c.GestureTool{constructor(e){super(e)}initialize(){super.initialize(),this.clear=new u.Signal0(this,\"clear\")}get menu(){return[{icon:\"bk-tool-icon-replace-mode\",tooltip:\"Replace the current selection\",active:()=>\"replace\"==this.mode,handler:()=>{this.mode=\"replace\",this.active=!0}},{icon:\"bk-tool-icon-append-mode\",tooltip:\"Append to the current selection (Shift)\",active:()=>\"append\"==this.mode,handler:()=>{this.mode=\"append\",this.active=!0}},{icon:\"bk-tool-icon-intersect-mode\",tooltip:\"Intersect with the current selection (Ctrl)\",active:()=>\"intersect\"==this.mode,handler:()=>{this.mode=\"intersect\",this.active=!0}},{icon:\"bk-tool-icon-subtract-mode\",tooltip:\"Subtract from the current selection (Shift+Ctrl)\",active:()=>\"subtract\"==this.mode,handler:()=>{this.mode=\"subtract\",this.active=!0}},null,{icon:\"bk-tool-icon-clear-selection\",tooltip:\"Clear the current selection (Esc)\",handler:()=>{this.clear.emit()}}]}}s.SelectTool=b,o=b,b.__name__=\"SelectTool\",o.define((({String:e,Array:t,Ref:s,Or:n,Auto:r})=>({renderers:[n(t(s(l.DataRenderer)),r),\"auto\"],names:[t(e),[]],mode:[_.SelectionMode,\"replace\"]})))},\n", - " function _(t,o,e,s,i){var n;s();const _=t(223),a=t(116),l=t(20),r=t(228);class h extends _.GestureToolView{_match_aspect(t,o,e){const s=e.bbox.aspect,i=e.bbox.h_range.end,n=e.bbox.h_range.start,_=e.bbox.v_range.end,a=e.bbox.v_range.start;let l=Math.abs(t[0]-o[0]),r=Math.abs(t[1]-o[1]);const h=0==r?0:l/r,[c]=h>=s?[1,h/s]:[s/h,1];let m,p,d,b;return t[0]<=o[0]?(m=t[0],p=t[0]+l*c,p>i&&(p=i)):(p=t[0],m=t[0]-l*c,m_&&(d=_)):(d=t[1],b=t[1]-l/s,bnew a.BoxAnnotation({level:\"overlay\",top_units:\"screen\",left_units:\"screen\",bottom_units:\"screen\",right_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class m extends _.GestureTool{constructor(t){super(t),this.tool_name=\"Box Zoom\",this.icon=r.tool_icon_box_zoom,this.event_type=\"pan\",this.default_order=20}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}e.BoxZoomTool=m,n=m,m.__name__=\"BoxZoomTool\",n.prototype.default_view=h,n.define((({Boolean:t,Ref:o})=>({dimensions:[l.Dimensions,\"both\"],overlay:[o(a.BoxAnnotation),c],match_aspect:[t,!1],origin:[l.BoxOrigin,\"corner\"]}))),n.register_alias(\"box_zoom\",(()=>new m({dimensions:\"both\"}))),n.register_alias(\"xbox_zoom\",(()=>new m({dimensions:\"width\"}))),n.register_alias(\"ybox_zoom\",(()=>new m({dimensions:\"height\"})))},\n", - " function _(s,e,t,o,_){var l;o();const i=s(378),a=s(217),c=s(381),n=s(43),h=s(228);class r extends i.SelectToolView{constructor(){super(...arguments),this.sxs=[],this.sys=[]}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>this._active_change()))}_active_change(){this.model.active||this._clear_overlay()}_keyup(s){s.keyCode==n.Keys.Enter&&this._clear_overlay()}_pan_start(s){this.sxs=[],this.sys=[];const{sx:e,sy:t}=s;this._append_overlay(e,t)}_pan(s){const[e,t]=this.plot_view.frame.bbox.clip(s.sx,s.sy);this._append_overlay(e,t),this.model.select_every_mousemove&&this._do_select(this.sxs,this.sys,!1,this._select_mode(s))}_pan_end(s){const{sxs:e,sys:t}=this;this._clear_overlay(),this._do_select(e,t,!0,this._select_mode(s)),this.plot_view.state.push(\"lasso_select\",{selection:this.plot_view.get_selection()})}_append_overlay(s,e){const{sxs:t,sys:o}=this;t.push(s),o.push(e),this.model.overlay.update({xs:t,ys:o})}_clear_overlay(){this.sxs=[],this.sys=[],this.model.overlay.update({xs:this.sxs,ys:this.sys})}_do_select(s,e,t,o){const _={type:\"poly\",sx:s,sy:e};this._select(_,t,o)}}t.LassoSelectToolView=r,r.__name__=\"LassoSelectToolView\";class y extends i.SelectTool{constructor(s){super(s),this.tool_name=\"Lasso Select\",this.icon=h.tool_icon_lasso_select,this.event_type=\"pan\",this.default_order=12}}t.LassoSelectTool=y,l=y,y.__name__=\"LassoSelectTool\",l.prototype.default_view=r,l.define((({Boolean:s,Ref:e})=>({select_every_mousemove:[s,!0],overlay:[e(a.PolyAnnotation),c.DEFAULT_POLY_OVERLAY]}))),l.register_alias(\"lasso_select\",(()=>new y))},\n", - " function _(e,t,s,l,o){var i;l();const a=e(378),_=e(217),c=e(43),n=e(9),h=e(228);class y extends a.SelectToolView{initialize(){super.initialize(),this.data={sx:[],sy:[]}}connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>this._active_change()))}_active_change(){this.model.active||this._clear_data()}_keyup(e){e.keyCode==c.Keys.Enter&&this._clear_data()}_doubletap(e){this._do_select(this.data.sx,this.data.sy,!0,this._select_mode(e)),this.plot_view.state.push(\"poly_select\",{selection:this.plot_view.get_selection()}),this._clear_data()}_clear_data(){this.data={sx:[],sy:[]},this.model.overlay.update({xs:[],ys:[]})}_tap(e){const{sx:t,sy:s}=e;this.plot_view.frame.bbox.contains(t,s)&&(this.data.sx.push(t),this.data.sy.push(s),this.model.overlay.update({xs:(0,n.copy)(this.data.sx),ys:(0,n.copy)(this.data.sy)}))}_do_select(e,t,s,l){const o={type:\"poly\",sx:e,sy:t};this._select(o,s,l)}}s.PolySelectToolView=y,y.__name__=\"PolySelectToolView\";s.DEFAULT_POLY_OVERLAY=()=>new _.PolyAnnotation({level:\"overlay\",xs_units:\"screen\",ys_units:\"screen\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:2,line_dash:[4,4]});class d extends a.SelectTool{constructor(e){super(e),this.tool_name=\"Poly Select\",this.icon=h.tool_icon_polygon_select,this.event_type=\"tap\",this.default_order=11}}s.PolySelectTool=d,i=d,d.__name__=\"PolySelectTool\",i.prototype.default_view=y,i.define((({Ref:e})=>({overlay:[e(_.PolyAnnotation),s.DEFAULT_POLY_OVERLAY]}))),i.register_alias(\"poly_select\",(()=>new d))},\n", - " function _(e,t,s,i,r){var n;i();const _=e(20),d=e(383),o=e(228);class l extends d.LineToolView{constructor(){super(...arguments),this._drawing=!1}_doubletap(e){if(!this.model.active)return;const t=this.model.renderers;for(const s of t){1==this._select_event(e,\"replace\",[s]).length&&(this._selected_renderer=s)}this._show_intersections(),this._update_line_cds()}_show_intersections(){if(!this.model.active)return;if(null==this._selected_renderer)return;if(!this.model.renderers.length)return this._set_intersection([],[]),this._selected_renderer=null,void(this._drawing=!1);const e=this._selected_renderer.data_source,t=this._selected_renderer.glyph,[s,i]=[t.x.field,t.y.field],r=e.get_array(s),n=e.get_array(i);this._set_intersection(r,n)}_tap(e){const t=this.model.intersection_renderer;if(null==this._map_drag(e.sx,e.sy,t))return;if(this._drawing&&this._selected_renderer){const s=this._select_mode(e);if(0==this._select_event(e,s,[t]).length)return}const s=this._select_mode(e);this._select_event(e,s,[t]),this._select_event(e,s,this.model.renderers)}_update_line_cds(){if(null==this._selected_renderer)return;const e=this.model.intersection_renderer.glyph,t=this.model.intersection_renderer.data_source,[s,i]=[e.x.field,e.y.field];if(s&&i){const e=t.data[s],r=t.data[i];this._selected_renderer.data_source.data[s]=e,this._selected_renderer.data_source.data[i]=r}this._emit_cds_changes(this._selected_renderer.data_source,!0,!0,!1)}_pan_start(e){this._select_event(e,\"append\",[this.model.intersection_renderer]),this._basepoint=[e.sx,e.sy]}_pan(e){null!=this._basepoint&&(this._drag_points(e,[this.model.intersection_renderer],this.model.dimensions),this._selected_renderer&&this._selected_renderer.data_source.change.emit())}_pan_end(e){null!=this._basepoint&&(this._drag_points(e,[this.model.intersection_renderer]),this._emit_cds_changes(this.model.intersection_renderer.data_source,!1,!0,!0),this._selected_renderer&&this._emit_cds_changes(this._selected_renderer.data_source),this._basepoint=null)}activate(){this._drawing=!0}deactivate(){this._selected_renderer&&(this._drawing&&(this._drawing=!1),this._hide_intersections())}}s.LineEditToolView=l,l.__name__=\"LineEditToolView\";class h extends d.LineTool{constructor(e){super(e),this.tool_name=\"Line Edit Tool\",this.icon=o.tool_icon_line_edit,this.event_type=[\"tap\",\"pan\",\"move\"],this.default_order=4}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}s.LineEditTool=h,n=h,h.__name__=\"LineEditTool\",n.prototype.default_view=l,n.define((()=>({dimensions:[_.Dimensions,\"both\"]})))},\n", - " function _(e,i,n,t,s){var o;t();const r=e(8),_=e(370);class d extends _.EditToolView{_set_intersection(e,i){const n=this.model.intersection_renderer.glyph,t=this.model.intersection_renderer.data_source,[s,o]=[n.x.field,n.y.field];s&&((0,r.isArray)(e)?t.data[s]=e:n.x={value:e}),o&&((0,r.isArray)(i)?t.data[o]=i:n.y={value:i}),this._emit_cds_changes(t,!0,!0,!1)}_hide_intersections(){this._set_intersection([],[])}}n.LineToolView=d,d.__name__=\"LineToolView\";class a extends _.EditTool{constructor(e){super(e)}}n.LineTool=a,o=a,a.__name__=\"LineTool\",o.define((({AnyRef:e})=>({intersection_renderer:[e()]})))},\n", - " function _(t,s,n,e,i){e();const o=t(1);var a;const _=t(223),l=t(20),r=(0,o.__importStar)(t(228));function h(t,s,n){const e=new Map;for(const[i,o]of t){const[t,a]=o.r_invert(s,n);e.set(i,{start:t,end:a})}return e}n.update_ranges=h;class d extends _.GestureToolView{_pan_start(t){var s;this.last_dx=0,this.last_dy=0;const{sx:n,sy:e}=t,i=this.plot_view.frame.bbox;if(!i.contains(n,e)){const t=i.h_range,s=i.v_range;(nt.end)&&(this.v_axis_only=!0),(es.end)&&(this.h_axis_only=!0)}null===(s=this.model.document)||void 0===s||s.interactive_start(this.plot_model)}_pan(t){var s;this._update(t.deltaX,t.deltaY),null===(s=this.model.document)||void 0===s||s.interactive_start(this.plot_model)}_pan_end(t){this.h_axis_only=!1,this.v_axis_only=!1,null!=this.pan_info&&this.plot_view.state.push(\"pan\",{range:this.pan_info}),this.plot_view.trigger_ranges_update_event()}_update(t,s){const n=this.plot_view.frame,e=t-this.last_dx,i=s-this.last_dy,o=n.bbox.h_range,a=o.start-e,_=o.end-e,l=n.bbox.v_range,r=l.start-i,d=l.end-i,p=this.model.dimensions;let c,u,m,v,x,g;\"width\"!=p&&\"both\"!=p||this.v_axis_only?(c=o.start,u=o.end,m=0):(c=a,u=_,m=-e),\"height\"!=p&&\"both\"!=p||this.h_axis_only?(v=l.start,x=l.end,g=0):(v=r,x=d,g=-i),this.last_dx=t,this.last_dy=s;const{x_scales:w,y_scales:y}=n,f=h(w,c,u),b=h(y,v,x);this.pan_info={xrs:f,yrs:b,sdx:m,sdy:g},this.plot_view.update_range(this.pan_info,{panning:!0})}}n.PanToolView=d,d.__name__=\"PanToolView\";class p extends _.GestureTool{constructor(t){super(t),this.tool_name=\"Pan\",this.event_type=\"pan\",this.default_order=10}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}n.PanTool=p,a=p,p.__name__=\"PanTool\",a.prototype.default_view=d,a.define((()=>({dimensions:[l.Dimensions,\"both\",{on_update(t,s){switch(t){case\"both\":s.icon=r.tool_icon_pan;break;case\"width\":s.icon=r.tool_icon_xpan;break;case\"height\":s.icon=r.tool_icon_ypan}}}]}))),a.register_alias(\"pan\",(()=>new p({dimensions:\"both\"}))),a.register_alias(\"xpan\",(()=>new p({dimensions:\"width\"}))),a.register_alias(\"ypan\",(()=>new p({dimensions:\"height\"})))},\n", - " function _(e,t,i,s,n){var l;s();const a=e(116),r=e(58),o=e(19),_=e(223),h=e(228);function d(e){switch(e){case 1:return 2;case 2:return 1;case 4:return 5;case 5:return 4;default:return e}}function u(e,t,i,s){if(null==t)return!1;const n=i.compute(t);return Math.abs(e-n)n.right)&&(l=!1)}if(null!=n.bottom&&null!=n.top){const e=s.invert(t);(en.top)&&(l=!1)}return l}function g(e,t,i){let s=0;return e>=i.start&&e<=i.end&&(s+=1),t>=i.start&&t<=i.end&&(s+=1),s}function y(e,t,i,s){const n=t.compute(e),l=t.invert(n+i);return l>=s.start&&l<=s.end?l:e}function f(e,t,i){return e>t.start?(t.end=e,i):(t.end=t.start,t.start=e,d(i))}function v(e,t,i){return e=o&&(e.start=a,e.end=r)}i.flip_side=d,i.is_near=u,i.is_inside=c,i.sides_inside=g,i.compute_value=y,i.update_range_end_side=f,i.update_range_start_side=v,i.update_range=m;class p extends _.GestureToolView{initialize(){super.initialize(),this.side=0,this.model.update_overlay_from_ranges()}connect_signals(){super.connect_signals(),null!=this.model.x_range&&this.connect(this.model.x_range.change,(()=>this.model.update_overlay_from_ranges())),null!=this.model.y_range&&this.connect(this.model.y_range.change,(()=>this.model.update_overlay_from_ranges()))}_pan_start(e){this.last_dx=0,this.last_dy=0;const t=this.model.x_range,i=this.model.y_range,{frame:s}=this.plot_view,n=s.x_scale,l=s.y_scale,r=this.model.overlay,{left:o,right:_,top:h,bottom:d}=r,g=this.model.overlay.line_width+a.EDGE_TOLERANCE;null!=t&&this.model.x_interaction&&(u(e.sx,o,n,g)?this.side=1:u(e.sx,_,n,g)?this.side=2:c(e.sx,e.sy,n,l,r)&&(this.side=3)),null!=i&&this.model.y_interaction&&(0==this.side&&u(e.sy,d,l,g)&&(this.side=4),0==this.side&&u(e.sy,h,l,g)?this.side=5:c(e.sx,e.sy,n,l,this.model.overlay)&&(3==this.side?this.side=7:this.side=6))}_pan(e){const t=this.plot_view.frame,i=e.deltaX-this.last_dx,s=e.deltaY-this.last_dy,n=this.model.x_range,l=this.model.y_range,a=t.x_scale,r=t.y_scale;if(null!=n)if(3==this.side||7==this.side)m(n,a,i,t.x_range);else if(1==this.side){const e=y(n.start,a,i,t.x_range);this.side=v(e,n,this.side)}else if(2==this.side){const e=y(n.end,a,i,t.x_range);this.side=f(e,n,this.side)}if(null!=l)if(6==this.side||7==this.side)m(l,r,s,t.y_range);else if(4==this.side){const e=y(l.start,r,s,t.y_range);this.side=v(e,l,this.side)}else if(5==this.side){const e=y(l.end,r,s,t.y_range);this.side=f(e,l,this.side)}this.last_dx=e.deltaX,this.last_dy=e.deltaY}_pan_end(e){this.side=0,this.plot_view.trigger_ranges_update_event()}}i.RangeToolView=p,p.__name__=\"RangeToolView\";const x=()=>new a.BoxAnnotation({level:\"overlay\",fill_color:\"lightgrey\",fill_alpha:.5,line_color:\"black\",line_alpha:1,line_width:.5,line_dash:[2,2]});class w extends _.GestureTool{constructor(e){super(e),this.tool_name=\"Range Tool\",this.icon=h.tool_icon_range,this.event_type=\"pan\",this.default_order=1}initialize(){super.initialize(),this.overlay.in_cursor=\"grab\",this.overlay.ew_cursor=null!=this.x_range&&this.x_interaction?\"ew-resize\":null,this.overlay.ns_cursor=null!=this.y_range&&this.y_interaction?\"ns-resize\":null}update_overlay_from_ranges(){null==this.x_range&&null==this.y_range&&(this.overlay.left=null,this.overlay.right=null,this.overlay.bottom=null,this.overlay.top=null,o.logger.warn(\"RangeTool not configured with any Ranges.\")),null==this.x_range?(this.overlay.left=null,this.overlay.right=null):(this.overlay.left=this.x_range.start,this.overlay.right=this.x_range.end),null==this.y_range?(this.overlay.bottom=null,this.overlay.top=null):(this.overlay.bottom=this.y_range.start,this.overlay.top=this.y_range.end)}}i.RangeTool=w,l=w,w.__name__=\"RangeTool\",l.prototype.default_view=p,l.define((({Boolean:e,Ref:t,Nullable:i})=>({x_range:[i(t(r.Range1d)),null],x_interaction:[e,!0],y_range:[i(t(r.Range1d)),null],y_interaction:[e,!0],overlay:[t(a.BoxAnnotation),x]})))},\n", - " function _(e,t,s,o,i){var l;o();const a=e(378),n=e(20),c=e(228);class _ extends a.SelectToolView{_tap(e){\"tap\"==this.model.gesture&&this._handle_tap(e)}_doubletap(e){\"doubletap\"==this.model.gesture&&this._handle_tap(e)}_handle_tap(e){const{sx:t,sy:s}=e,o={type:\"point\",sx:t,sy:s};this._select(o,!0,this._select_mode(e))}_select(e,t,s){const{callback:o}=this.model;if(\"select\"==this.model.behavior){const i=this._computed_renderers_by_data_source();for(const[,l]of i){const i=l[0].get_selection_manager(),a=l.map((e=>this.plot_view.renderer_view(e))).filter((e=>null!=e));if(i.select(a,e,t,s)&&null!=o){const t=a[0].coordinates.x_scale.invert(e.sx),s=a[0].coordinates.y_scale.invert(e.sy),l={geometries:Object.assign(Object.assign({},e),{x:t,y:s}),source:i.source};o.execute(this.model,l)}}this._emit_selection_event(e),this.plot_view.state.push(\"tap\",{selection:this.plot_view.get_selection()})}else for(const t of this.computed_renderers){const s=this.plot_view.renderer_view(t);if(null==s)continue;const i=t.get_selection_manager();if(i.inspect(s,e)&&null!=o){const t=s.coordinates.x_scale.invert(e.sx),l=s.coordinates.y_scale.invert(e.sy),a={geometries:Object.assign(Object.assign({},e),{x:t,y:l}),source:i.source};o.execute(this.model,a)}}}}s.TapToolView=_,_.__name__=\"TapToolView\";class r extends a.SelectTool{constructor(e){super(e),this.tool_name=\"Tap\",this.icon=c.tool_icon_tap_select,this.event_type=\"tap\",this.default_order=10}}s.TapTool=r,l=r,r.__name__=\"TapTool\",l.prototype.default_view=_,l.define((({Any:e,Enum:t,Nullable:s})=>({behavior:[n.TapBehavior,\"select\"],gesture:[t(\"tap\",\"doubletap\"),\"tap\"],callback:[s(e)]}))),l.register_alias(\"click\",(()=>new r({behavior:\"inspect\"}))),l.register_alias(\"tap\",(()=>new r)),l.register_alias(\"doubletap\",(()=>new r({gesture:\"doubletap\"})))},\n", - " function _(e,t,s,n,i){var a;n();const o=e(223),l=e(20),_=e(228),r=e(384);class h extends o.GestureToolView{_scroll(e){let t=this.model.speed*e.delta;t>.9?t=.9:t<-.9&&(t=-.9),this._update_ranges(t)}_update_ranges(e){var t;const{frame:s}=this.plot_view,n=s.bbox.h_range,i=s.bbox.v_range,[a,o]=[n.start,n.end],[l,_]=[i.start,i.end];let h,d,p,c;switch(this.model.dimension){case\"height\":{const t=Math.abs(_-l);h=a,d=o,p=l-t*e,c=_-t*e;break}case\"width\":{const t=Math.abs(o-a);h=a-t*e,d=o-t*e,p=l,c=_;break}}const{x_scales:g,y_scales:u}=s,w={xrs:(0,r.update_ranges)(g,h,d),yrs:(0,r.update_ranges)(u,p,c),factor:e};this.plot_view.state.push(\"wheel_pan\",{range:w}),this.plot_view.update_range(w,{scrolling:!0}),null===(t=this.model.document)||void 0===t||t.interactive_start(this.plot_model,(()=>this.plot_view.trigger_ranges_update_event()))}}s.WheelPanToolView=h,h.__name__=\"WheelPanToolView\";class d extends o.GestureTool{constructor(e){super(e),this.tool_name=\"Wheel Pan\",this.icon=_.tool_icon_wheel_pan,this.event_type=\"scroll\",this.default_order=12}get tooltip(){return this._get_dim_tooltip(this.dimension)}}s.WheelPanTool=d,a=d,d.__name__=\"WheelPanTool\",a.prototype.default_view=h,a.define((()=>({dimension:[l.Dimension,\"width\"]}))),a.internal((({Number:e})=>({speed:[e,.001]}))),a.register_alias(\"xwheel_pan\",(()=>new d({dimension:\"width\"}))),a.register_alias(\"ywheel_pan\",(()=>new d({dimension:\"height\"})))},\n", - " function _(e,o,t,s,i){var n;s();const l=e(223),_=e(368),h=e(20),a=e(27),r=e(228);class m extends l.GestureToolView{_pinch(e){const{sx:o,sy:t,scale:s,ctrlKey:i,shiftKey:n}=e;let l;l=s>=1?20*(s-1):-20/s,this._scroll({type:\"wheel\",sx:o,sy:t,delta:l,ctrlKey:i,shiftKey:n})}_scroll(e){var o;const{frame:t}=this.plot_view,s=t.bbox.h_range,i=t.bbox.v_range,{sx:n,sy:l}=e,h=this.model.dimensions,a=(\"width\"==h||\"both\"==h)&&s.startthis.plot_view.trigger_ranges_update_event()))}}t.WheelZoomToolView=m,m.__name__=\"WheelZoomToolView\";class d extends l.GestureTool{constructor(e){super(e),this.tool_name=\"Wheel Zoom\",this.icon=r.tool_icon_wheel_zoom,this.event_type=a.is_mobile?\"pinch\":\"scroll\",this.default_order=10}get tooltip(){return this._get_dim_tooltip(this.dimensions)}}t.WheelZoomTool=d,n=d,d.__name__=\"WheelZoomTool\",n.prototype.default_view=m,n.define((({Boolean:e,Number:o})=>({dimensions:[h.Dimensions,\"both\"],maintain_focus:[e,!0],zoom_on_axis:[e,!0],speed:[o,1/600]}))),n.register_alias(\"wheel_zoom\",(()=>new d({dimensions:\"both\"}))),n.register_alias(\"xwheel_zoom\",(()=>new d({dimensions:\"width\"}))),n.register_alias(\"ywheel_zoom\",(()=>new d({dimensions:\"height\"})))},\n", - " function _(i,e,s,t,o){var n;t();const l=i(232),a=i(219),h=i(20),r=i(13),_=i(228);class c extends l.InspectToolView{_move(i){if(!this.model.active)return;const{sx:e,sy:s}=i;this.plot_view.frame.bbox.contains(e,s)?this._update_spans(e,s):this._update_spans(null,null)}_move_exit(i){this._update_spans(null,null)}_update_spans(i,e){const s=this.model.dimensions;\"width\"!=s&&\"both\"!=s||(this.model.spans.width.location=e),\"height\"!=s&&\"both\"!=s||(this.model.spans.height.location=i)}}s.CrosshairToolView=c,c.__name__=\"CrosshairToolView\";class p extends l.InspectTool{constructor(i){super(i),this.tool_name=\"Crosshair\",this.icon=_.tool_icon_crosshair}get tooltip(){return this._get_dim_tooltip(this.dimensions)}get synthetic_renderers(){return(0,r.values)(this.spans)}}s.CrosshairTool=p,n=p,p.__name__=\"CrosshairTool\",(()=>{function i(i,e){return new a.Span({for_hover:!0,dimension:e,location_units:\"screen\",level:\"overlay\",line_color:i.line_color,line_width:i.line_width,line_alpha:i.line_alpha})}n.prototype.default_view=c,n.define((({Alpha:i,Number:e,Color:s})=>({dimensions:[h.Dimensions,\"both\"],line_color:[s,\"black\"],line_width:[e,1],line_alpha:[i,1]}))),n.internal((({Struct:e,Ref:s})=>({spans:[e({width:s(a.Span),height:s(a.Span)}),e=>({width:i(e,\"width\"),height:i(e,\"height\")})]}))),n.register_alias(\"crosshair\",(()=>new p))})()},\n", - " function _(e,s,t,r,n){var o;r();const a=e(53),u=e(13),c=e(34);class i extends a.Model{constructor(e){super(e)}get values(){return(0,u.values)(this.args)}_make_code(e,s,t,r){return new Function(...(0,u.keys)(this.args),e,s,t,(0,c.use_strict)(r))}format(e,s,t){return this._make_code(\"value\",\"format\",\"special_vars\",this.code)(...this.values,e,s,t)}}t.CustomJSHover=i,o=i,i.__name__=\"CustomJSHover\",o.define((({Unknown:e,String:s,Dict:t})=>({args:[t(e),{}],code:[s,\"\"]})))},\n", - " function _(e,t,n,s,o){s();const i=e(1);var r;const l=e(232),a=e(390),c=e(241),_=e(175),d=e(339),p=e(176),h=e(177),u=e(283),m=(0,i.__importStar)(e(185)),y=e(152),f=e(43),v=e(22),x=e(13),w=e(234),g=e(8),b=e(113),k=e(20),C=e(228),S=e(15),T=e(66),$=(0,i.__importStar)(e(242)),R=e(392);function M(e,t,n,s,o,i){const r={x:o[e],y:i[e]},l={x:o[e+1],y:i[e+1]};let a,c;if(\"span\"==t.type)\"h\"==t.direction?(a=Math.abs(r.x-n),c=Math.abs(l.x-n)):(a=Math.abs(r.y-s),c=Math.abs(l.y-s));else{const e={x:n,y:s};a=m.dist_2_pts(r,e),c=m.dist_2_pts(l,e)}return adelete this._template_el)),this.on_change([e,t,n],(async()=>await this._update_ttmodels()))}async _update_ttmodels(){const{_ttmodels:e,computed_renderers:t}=this;e.clear();const{tooltips:n}=this.model;if(null!=n)for(const t of this.computed_renderers){const s=new c.Tooltip({custom:(0,g.isString)(n)||(0,g.isFunction)(n),attachment:this.model.attachment,show_arrow:this.model.show_arrow});t instanceof _.GlyphRenderer?e.set(t,s):t instanceof d.GraphRenderer&&(e.set(t.node_renderer,s),e.set(t.edge_renderer,s))}const s=await(0,b.build_views)(this._ttviews,[...e.values()],{parent:this.plot_view});for(const e of s)e.render();const o=[...function*(){for(const e of t)e instanceof _.GlyphRenderer?yield e:e instanceof d.GraphRenderer&&(yield e.node_renderer,yield e.edge_renderer)}()],i=this._slots.get(this._update);if(null!=i){const e=new Set(o.map((e=>e.data_source)));S.Signal.disconnect_receiver(this,i,e)}for(const e of o)this.connect(e.data_source.inspect,this._update)}get computed_renderers(){const{renderers:e,names:t}=this.model,n=this.plot_model.data_renderers;return(0,T.compute_renderers)(e,n,t)}get ttmodels(){return this._ttmodels}_clear(){this._inspect(1/0,1/0);for(const[,e]of this.ttmodels)e.clear()}_move(e){if(!this.model.active)return;const{sx:t,sy:n}=e;this.plot_view.frame.bbox.contains(t,n)?this._inspect(t,n):this._clear()}_move_exit(){this._clear()}_inspect(e,t){let n;if(\"mouse\"==this.model.mode)n={type:\"point\",sx:e,sy:t};else{n={type:\"span\",direction:\"vline\"==this.model.mode?\"h\":\"v\",sx:e,sy:t}}for(const e of this.computed_renderers){const t=e.get_selection_manager(),s=this.plot_view.renderer_view(e);null!=s&&t.inspect(s,n)}this._emit_callback(n)}_update([e,{geometry:t}]){var n,s;if(!this.model.active)return;if(\"point\"!=t.type&&\"span\"!=t.type)return;if(!(e instanceof _.GlyphRenderer))return;if(\"ignore\"==this.model.muted_policy&&e.muted)return;const o=this.ttmodels.get(e);if(null==o)return;const i=e.get_selection_manager(),r=i.inspectors.get(e),l=e.view.convert_selection_to_subset(r);if(r.is_empty())return void o.clear();const a=i.source,c=this.plot_view.renderer_view(e);if(null==c)return;const{sx:d,sy:p}=t,m=c.coordinates.x_scale,y=c.coordinates.y_scale,v=m.invert(d),w=y.invert(p),{glyph:g}=c,b=[];if(g instanceof h.LineView)for(const n of l.line_indices){let s,o,i=g._x[n+1],r=g._y[n+1],c=n;switch(this.model.line_policy){case\"interp\":[i,r]=g.get_interpolation_hit(n,t),s=m.compute(i),o=y.compute(r);break;case\"prev\":[[s,o],c]=G(g.sx,g.sy,n);break;case\"next\":[[s,o],c]=G(g.sx,g.sy,n+1);break;case\"nearest\":[[s,o],c]=M(n,t,d,p,g.sx,g.sy),i=g._x[c],r=g._y[c];break;default:[s,o]=[d,p]}const _={index:c,x:v,y:w,sx:d,sy:p,data_x:i,data_y:r,rx:s,ry:o,indices:l.line_indices,name:e.name};b.push([s,o,this._render_tooltips(a,c,_)])}for(const t of r.image_indices){const n={index:t.index,x:v,y:w,sx:d,sy:p,name:e.name},s=this._render_tooltips(a,t,n);b.push([d,p,s])}for(const o of l.indices)if(g instanceof u.MultiLineView&&!(0,x.isEmpty)(l.multiline_indices))for(const n of l.multiline_indices[o.toString()]){let s,i,r,c=g._xs.get(o)[n],h=g._ys.get(o)[n],u=n;switch(this.model.line_policy){case\"interp\":[c,h]=g.get_interpolation_hit(o,n,t),s=m.compute(c),i=y.compute(h);break;case\"prev\":[[s,i],u]=G(g.sxs.get(o),g.sys.get(o),n);break;case\"next\":[[s,i],u]=G(g.sxs.get(o),g.sys.get(o),n+1);break;case\"nearest\":[[s,i],u]=M(n,t,d,p,g.sxs.get(o),g.sys.get(o)),c=g._xs.get(o)[u],h=g._ys.get(o)[u];break;default:throw new Error(\"shouldn't have happened\")}r=e instanceof _.GlyphRenderer?e.view.convert_indices_from_subset([o])[0]:o;const f={index:r,x:v,y:w,sx:d,sy:p,data_x:c,data_y:h,segment_index:u,indices:l.multiline_indices,name:e.name};b.push([s,i,this._render_tooltips(a,r,f)])}else{const t=null===(n=g._x)||void 0===n?void 0:n[o],i=null===(s=g._y)||void 0===s?void 0:s[o];let r,c,h;if(\"snap_to_data\"==this.model.point_policy){let e=g.get_anchor_point(this.model.anchor,o,[d,p]);if(null==e&&(e=g.get_anchor_point(\"center\",o,[d,p]),null==e))continue;r=e.x,c=e.y}else[r,c]=[d,p];h=e instanceof _.GlyphRenderer?e.view.convert_indices_from_subset([o])[0]:o;const u={index:h,x:v,y:w,sx:d,sy:p,data_x:t,data_y:i,indices:l.indices,name:e.name};b.push([r,c,this._render_tooltips(a,h,u)])}if(0==b.length)o.clear();else{const{content:e}=o;(0,f.empty)(o.content);for(const[,,t]of b)null!=t&&e.appendChild(t);const[t,n]=b[b.length-1];o.setv({position:[t,n]},{check_eq:!1})}}_emit_callback(e){const{callback:t}=this.model;if(null!=t)for(const n of this.computed_renderers){if(!(n instanceof _.GlyphRenderer))continue;const s=this.plot_view.renderer_view(n);if(null==s)continue;const{x_scale:o,y_scale:i}=s.coordinates,r=o.invert(e.sx),l=i.invert(e.sy),a=n.data_source.inspected;t.execute(this.model,{geometry:Object.assign({x:r,y:l},e),renderer:n,index:a})}}_create_template(e){const t=(0,f.div)({style:{display:\"table\",borderSpacing:\"2px\"}});for(const[n]of e){const e=(0,f.div)({style:{display:\"table-row\"}});t.appendChild(e);const s=(0,f.div)({style:{display:\"table-cell\"},class:$.tooltip_row_label},0!=n.length?`${n}: `:\"\");e.appendChild(s);const o=(0,f.span)();o.dataset.value=\"\";const i=(0,f.span)({class:$.tooltip_color_block},\" \");i.dataset.swatch=\"\",(0,f.undisplay)(i);const r=(0,f.div)({style:{display:\"table-cell\"},class:$.tooltip_row_value},o,i);e.appendChild(r)}return t}_render_template(e,t,n,s,o){const i=e.cloneNode(!0),r=i.querySelectorAll(\"[data-value]\"),l=i.querySelectorAll(\"[data-swatch]\"),a=/\\$color(\\[.*\\])?:(\\w*)/,c=/\\$swatch:(\\w*)/;for(const[[,e],i]of(0,w.enumerate)(t)){const t=e.match(c),_=e.match(a);if(null!=t||null!=_){if(null!=t){const[,e]=t,o=n.get_column(e);if(null==o)r[i].textContent=`${e} unknown`;else{const e=(0,g.isNumber)(s)?o[s]:null;null!=e&&(l[i].style.backgroundColor=(0,v.color2css)(e),(0,f.display)(l[i]))}}if(null!=_){const[,e=\"\",t]=_,o=n.get_column(t);if(null==o){r[i].textContent=`${t} unknown`;continue}const a=e.indexOf(\"hex\")>=0,c=e.indexOf(\"swatch\")>=0,d=(0,g.isNumber)(s)?o[s]:null;if(null==d){r[i].textContent=\"(null)\";continue}r[i].textContent=a?(0,v.color2hex)(d):(0,v.color2css)(d),c&&(l[i].style.backgroundColor=(0,v.color2css)(d),(0,f.display)(l[i]))}}else{const t=(0,y.replace_placeholders)(e.replace(\"$~\",\"$data_\"),n,s,this.model.formatters,o);if((0,g.isString)(t))r[i].textContent=t;else for(const e of t)r[i].appendChild(e)}}return i}_render_tooltips(e,t,n){var s;const{tooltips:o}=this.model;if((0,g.isString)(o)){const s=(0,y.replace_placeholders)({html:o},e,t,this.model.formatters,n);return(0,f.div)(s)}if((0,g.isFunction)(o))return o(e,n);if(o instanceof R.Template)return this._template_view.update(e,t,n),this._template_view.el;if(null!=o){const i=null!==(s=this._template_el)&&void 0!==s?s:this._template_el=this._create_template(o);return this._render_template(i,o,e,t,n)}return null}}n.HoverToolView=z,z.__name__=\"HoverToolView\";class A extends l.InspectTool{constructor(e){super(e),this.tool_name=\"Hover\",this.icon=C.tool_icon_hover}}n.HoverTool=A,r=A,A.__name__=\"HoverTool\",r.prototype.default_view=z,r.define((({Any:e,Boolean:t,String:n,Array:s,Tuple:o,Dict:i,Or:r,Ref:l,Function:c,Auto:_,Nullable:d})=>({tooltips:[d(r(l(R.Template),n,s(o(n,n)),c())),[[\"index\",\"$index\"],[\"data (x, y)\",\"($x, $y)\"],[\"screen (x, y)\",\"($sx, $sy)\"]]],formatters:[i(r(l(a.CustomJSHover),y.FormatterType)),{}],renderers:[r(s(l(p.DataRenderer)),_),\"auto\"],names:[s(n),[]],mode:[k.HoverMode,\"mouse\"],muted_policy:[k.MutedPolicy,\"show\"],point_policy:[k.PointPolicy,\"snap_to_data\"],line_policy:[k.LinePolicy,\"nearest\"],show_arrow:[t,!0],anchor:[k.Anchor,\"center\"],attachment:[k.TooltipAttachment,\"horizontal\"],callback:[d(e)]}))),r.register_alias(\"hover\",(()=>new A))},\n", - " function _(e,t,s,n,a){n();const l=e(1);var i,_,o,r,c,d,p,u,m,w,f,h,x;const v=e(53),y=e(309),V=e(393);a(\"Styles\",V.Styles);const g=e(43),T=e(42),b=e(226),R=e(113),D=e(8),M=e(13),S=(0,l.__importStar)(e(242)),O=e(152);class C extends b.DOMView{}s.DOMNodeView=C,C.__name__=\"DOMNodeView\";class z extends v.Model{constructor(e){super(e)}}s.DOMNode=z,z.__name__=\"DOMNode\",z.__module__=\"bokeh.models.dom\";class P extends C{render(){super.render(),this.el.textContent=this.model.content}_createElement(){return document.createTextNode(\"\")}}s.TextView=P,P.__name__=\"TextView\";class A extends z{constructor(e){super(e)}}s.Text=A,i=A,A.__name__=\"Text\",i.prototype.default_view=P,i.define((({String:e})=>({content:[e,\"\"]})));class N extends C{}s.PlaceholderView=N,N.__name__=\"PlaceholderView\",N.tag_name=\"span\";class E extends z{constructor(e){super(e)}}s.Placeholder=E,_=E,E.__name__=\"Placeholder\",_.define((({})=>({})));class G extends N{update(e,t,s){this.el.textContent=t.toString()}}s.IndexView=G,G.__name__=\"IndexView\";class I extends E{constructor(e){super(e)}}s.Index=I,o=I,I.__name__=\"Index\",o.prototype.default_view=G,o.define((({})=>({})));class k extends N{update(e,t,s){const n=(0,O._get_column_value)(this.model.field,e,t),a=null==n?\"???\":`${n}`;this.el.textContent=a}}s.ValueRefView=k,k.__name__=\"ValueRefView\";class $ extends E{constructor(e){super(e)}}s.ValueRef=$,r=$,$.__name__=\"ValueRef\",r.prototype.default_view=k,r.define((({String:e})=>({field:[e]})));class B extends k{render(){super.render(),this.value_el=(0,g.span)(),this.swatch_el=(0,g.span)({class:S.tooltip_color_block},\" \"),this.el.appendChild(this.value_el),this.el.appendChild(this.swatch_el)}update(e,t,s){const n=(0,O._get_column_value)(this.model.field,e,t),a=null==n?\"???\":`${n}`;this.el.textContent=a}}s.ColorRefView=B,B.__name__=\"ColorRefView\";class L extends ${constructor(e){super(e)}}s.ColorRef=L,c=L,L.__name__=\"ColorRef\",c.prototype.default_view=B,c.define((({Boolean:e})=>({hex:[e,!0],swatch:[e,!0]})));class j extends C{constructor(){super(...arguments),this.child_views=new Map}async lazy_initialize(){await super.lazy_initialize();const e=this.model.children.filter((e=>e instanceof v.Model));await(0,R.build_views)(this.child_views,e,{parent:this})}render(){super.render();const{style:e}=this.model;if(null!=e)if(e instanceof V.Styles)for(const t of e){const e=t.get_value();if((0,D.isString)(e)){const s=t.attr.replace(/_/g,\"-\");this.el.style.hasOwnProperty(s)&&this.el.style.setProperty(s,e)}}else for(const[t,s]of(0,M.entries)(e)){const e=t.replace(/_/g,\"-\");this.el.style.hasOwnProperty(e)&&this.el.style.setProperty(e,s)}for(const e of this.model.children)if((0,D.isString)(e)){const t=document.createTextNode(e);this.el.appendChild(t)}else{this.child_views.get(e).renderTo(this.el)}}}s.DOMElementView=j,j.__name__=\"DOMElementView\";class q extends z{constructor(e){super(e)}}s.DOMElement=q,d=q,q.__name__=\"DOMElement\",d.define((({String:e,Array:t,Dict:s,Or:n,Nullable:a,Ref:l})=>({style:[a(n(l(V.Styles),s(e))),null],children:[t(n(e,l(z),l(y.LayoutDOM))),[]]})));class F extends T.View{}s.ActionView=F,F.__name__=\"ActionView\";class H extends v.Model{constructor(e){super(e)}}s.Action=H,p=H,H.__name__=\"Action\",H.__module__=\"bokeh.models.dom\",p.define((({})=>({})));class J extends j{constructor(){super(...arguments),this.action_views=new Map}async lazy_initialize(){await super.lazy_initialize(),await(0,R.build_views)(this.action_views,this.model.actions,{parent:this})}remove(){(0,R.remove_views)(this.action_views),super.remove()}update(e,t,s={}){!function n(a){for(const l of a.child_views.values())l instanceof N?l.update(e,t,s):l instanceof j&&n(l)}(this);for(const n of this.action_views.values())n.update(e,t,s)}}s.TemplateView=J,J.__name__=\"TemplateView\",J.tag_name=\"div\";class K extends q{}s.Template=K,u=K,K.__name__=\"Template\",u.prototype.default_view=J,u.define((({Array:e,Ref:t})=>({actions:[e(t(H)),[]]})));class Q extends j{}s.SpanView=Q,Q.__name__=\"SpanView\",Q.tag_name=\"span\";class U extends q{}s.Span=U,m=U,U.__name__=\"Span\",m.prototype.default_view=Q;class W extends j{}s.DivView=W,W.__name__=\"DivView\",W.tag_name=\"div\";class X extends q{}s.Div=X,w=X,X.__name__=\"Div\",w.prototype.default_view=W;class Y extends j{}s.TableView=Y,Y.__name__=\"TableView\",Y.tag_name=\"table\";class Z extends q{}s.Table=Z,f=Z,Z.__name__=\"Table\",f.prototype.default_view=Y;class ee extends j{}s.TableRowView=ee,ee.__name__=\"TableRowView\",ee.tag_name=\"tr\";class te extends q{}s.TableRow=te,h=te,te.__name__=\"TableRow\",h.prototype.default_view=ee;const se=e(41),ne=e(234);class ae extends F{update(e,t,s){for(const[e,s]of(0,ne.enumerate)(this.model.groups))e.visible=t==s}}s.ToggleGroupView=ae,ae.__name__=\"ToggleGroupView\";class le extends H{constructor(e){super(e)}}s.ToggleGroup=le,x=le,le.__name__=\"ToggleGroup\",x.prototype.default_view=ae,x.define((({Array:e,Ref:t})=>({groups:[e(t(se.RendererGroup)),[]]})))},\n", - " function _(l,n,u,_,e){var t;_();const o=l(53);class r extends o.Model{constructor(l){super(l)}}u.Styles=r,t=r,r.__name__=\"Styles\",r.__module__=\"bokeh.models.css\",t.define((({String:l,Nullable:n})=>({align_content:[n(l),null],align_items:[n(l),null],align_self:[n(l),null],alignment_baseline:[n(l),null],all:[n(l),null],animation:[n(l),null],animation_delay:[n(l),null],animation_direction:[n(l),null],animation_duration:[n(l),null],animation_fill_mode:[n(l),null],animation_iteration_count:[n(l),null],animation_name:[n(l),null],animation_play_state:[n(l),null],animation_timing_function:[n(l),null],backface_visibility:[n(l),null],background:[n(l),null],background_attachment:[n(l),null],background_clip:[n(l),null],background_color:[n(l),null],background_image:[n(l),null],background_origin:[n(l),null],background_position:[n(l),null],background_position_x:[n(l),null],background_position_y:[n(l),null],background_repeat:[n(l),null],background_size:[n(l),null],baseline_shift:[n(l),null],block_size:[n(l),null],border:[n(l),null],border_block_end:[n(l),null],border_block_end_color:[n(l),null],border_block_end_style:[n(l),null],border_block_end_width:[n(l),null],border_block_start:[n(l),null],border_block_start_color:[n(l),null],border_block_start_style:[n(l),null],border_block_start_width:[n(l),null],border_bottom:[n(l),null],border_bottom_color:[n(l),null],border_bottom_left_radius:[n(l),null],border_bottom_right_radius:[n(l),null],border_bottom_style:[n(l),null],border_bottom_width:[n(l),null],border_collapse:[n(l),null],border_color:[n(l),null],border_image:[n(l),null],border_image_outset:[n(l),null],border_image_repeat:[n(l),null],border_image_slice:[n(l),null],border_image_source:[n(l),null],border_image_width:[n(l),null],border_inline_end:[n(l),null],border_inline_end_color:[n(l),null],border_inline_end_style:[n(l),null],border_inline_end_width:[n(l),null],border_inline_start:[n(l),null],border_inline_start_color:[n(l),null],border_inline_start_style:[n(l),null],border_inline_start_width:[n(l),null],border_left:[n(l),null],border_left_color:[n(l),null],border_left_style:[n(l),null],border_left_width:[n(l),null],border_radius:[n(l),null],border_right:[n(l),null],border_right_color:[n(l),null],border_right_style:[n(l),null],border_right_width:[n(l),null],border_spacing:[n(l),null],border_style:[n(l),null],border_top:[n(l),null],border_top_color:[n(l),null],border_top_left_radius:[n(l),null],border_top_right_radius:[n(l),null],border_top_style:[n(l),null],border_top_width:[n(l),null],border_width:[n(l),null],bottom:[n(l),null],box_shadow:[n(l),null],box_sizing:[n(l),null],break_after:[n(l),null],break_before:[n(l),null],break_inside:[n(l),null],caption_side:[n(l),null],caret_color:[n(l),null],clear:[n(l),null],clip:[n(l),null],clip_path:[n(l),null],clip_rule:[n(l),null],color:[n(l),null],color_interpolation:[n(l),null],color_interpolation_filters:[n(l),null],column_count:[n(l),null],column_fill:[n(l),null],column_gap:[n(l),null],column_rule:[n(l),null],column_rule_color:[n(l),null],column_rule_style:[n(l),null],column_rule_width:[n(l),null],column_span:[n(l),null],column_width:[n(l),null],columns:[n(l),null],content:[n(l),null],counter_increment:[n(l),null],counter_reset:[n(l),null],css_float:[n(l),null],css_text:[n(l),null],cursor:[n(l),null],direction:[n(l),null],display:[n(l),null],dominant_baseline:[n(l),null],empty_cells:[n(l),null],fill:[n(l),null],fill_opacity:[n(l),null],fill_rule:[n(l),null],filter:[n(l),null],flex:[n(l),null],flex_basis:[n(l),null],flex_direction:[n(l),null],flex_flow:[n(l),null],flex_grow:[n(l),null],flex_shrink:[n(l),null],flex_wrap:[n(l),null],float:[n(l),null],flood_color:[n(l),null],flood_opacity:[n(l),null],font:[n(l),null],font_family:[n(l),null],font_feature_settings:[n(l),null],font_kerning:[n(l),null],font_size:[n(l),null],font_size_adjust:[n(l),null],font_stretch:[n(l),null],font_style:[n(l),null],font_synthesis:[n(l),null],font_variant:[n(l),null],font_variant_caps:[n(l),null],font_variant_east_asian:[n(l),null],font_variant_ligatures:[n(l),null],font_variant_numeric:[n(l),null],font_variant_position:[n(l),null],font_weight:[n(l),null],gap:[n(l),null],glyph_orientation_vertical:[n(l),null],grid:[n(l),null],grid_area:[n(l),null],grid_auto_columns:[n(l),null],grid_auto_flow:[n(l),null],grid_auto_rows:[n(l),null],grid_column:[n(l),null],grid_column_end:[n(l),null],grid_column_gap:[n(l),null],grid_column_start:[n(l),null],grid_gap:[n(l),null],grid_row:[n(l),null],grid_row_end:[n(l),null],grid_row_gap:[n(l),null],grid_row_start:[n(l),null],grid_template:[n(l),null],grid_template_areas:[n(l),null],grid_template_columns:[n(l),null],grid_template_rows:[n(l),null],height:[n(l),null],hyphens:[n(l),null],image_orientation:[n(l),null],image_rendering:[n(l),null],inline_size:[n(l),null],justify_content:[n(l),null],justify_items:[n(l),null],justify_self:[n(l),null],left:[n(l),null],letter_spacing:[n(l),null],lighting_color:[n(l),null],line_break:[n(l),null],line_height:[n(l),null],list_style:[n(l),null],list_style_image:[n(l),null],list_style_position:[n(l),null],list_style_type:[n(l),null],margin:[n(l),null],margin_block_end:[n(l),null],margin_block_start:[n(l),null],margin_bottom:[n(l),null],margin_inline_end:[n(l),null],margin_inline_start:[n(l),null],margin_left:[n(l),null],margin_right:[n(l),null],margin_top:[n(l),null],marker:[n(l),null],marker_end:[n(l),null],marker_mid:[n(l),null],marker_start:[n(l),null],mask:[n(l),null],mask_composite:[n(l),null],mask_image:[n(l),null],mask_position:[n(l),null],mask_repeat:[n(l),null],mask_size:[n(l),null],mask_type:[n(l),null],max_block_size:[n(l),null],max_height:[n(l),null],max_inline_size:[n(l),null],max_width:[n(l),null],min_block_size:[n(l),null],min_height:[n(l),null],min_inline_size:[n(l),null],min_width:[n(l),null],object_fit:[n(l),null],object_position:[n(l),null],opacity:[n(l),null],order:[n(l),null],orphans:[n(l),null],outline:[n(l),null],outline_color:[n(l),null],outline_offset:[n(l),null],outline_style:[n(l),null],outline_width:[n(l),null],overflow:[n(l),null],overflow_anchor:[n(l),null],overflow_wrap:[n(l),null],overflow_x:[n(l),null],overflow_y:[n(l),null],overscroll_behavior:[n(l),null],overscroll_behavior_block:[n(l),null],overscroll_behavior_inline:[n(l),null],overscroll_behavior_x:[n(l),null],overscroll_behavior_y:[n(l),null],padding:[n(l),null],padding_block_end:[n(l),null],padding_block_start:[n(l),null],padding_bottom:[n(l),null],padding_inline_end:[n(l),null],padding_inline_start:[n(l),null],padding_left:[n(l),null],padding_right:[n(l),null],padding_top:[n(l),null],page_break_after:[n(l),null],page_break_before:[n(l),null],page_break_inside:[n(l),null],paint_order:[n(l),null],perspective:[n(l),null],perspective_origin:[n(l),null],place_content:[n(l),null],place_items:[n(l),null],place_self:[n(l),null],pointer_events:[n(l),null],position:[n(l),null],quotes:[n(l),null],resize:[n(l),null],right:[n(l),null],rotate:[n(l),null],row_gap:[n(l),null],ruby_align:[n(l),null],ruby_position:[n(l),null],scale:[n(l),null],scroll_behavior:[n(l),null],shape_rendering:[n(l),null],stop_color:[n(l),null],stop_opacity:[n(l),null],stroke:[n(l),null],stroke_dasharray:[n(l),null],stroke_dashoffset:[n(l),null],stroke_linecap:[n(l),null],stroke_linejoin:[n(l),null],stroke_miterlimit:[n(l),null],stroke_opacity:[n(l),null],stroke_width:[n(l),null],tab_size:[n(l),null],table_layout:[n(l),null],text_align:[n(l),null],text_align_last:[n(l),null],text_anchor:[n(l),null],text_combine_upright:[n(l),null],text_decoration:[n(l),null],text_decoration_color:[n(l),null],text_decoration_line:[n(l),null],text_decoration_style:[n(l),null],text_emphasis:[n(l),null],text_emphasis_color:[n(l),null],text_emphasis_position:[n(l),null],text_emphasis_style:[n(l),null],text_indent:[n(l),null],text_justify:[n(l),null],text_orientation:[n(l),null],text_overflow:[n(l),null],text_rendering:[n(l),null],text_shadow:[n(l),null],text_transform:[n(l),null],text_underline_position:[n(l),null],top:[n(l),null],touch_action:[n(l),null],transform:[n(l),null],transform_box:[n(l),null],transform_origin:[n(l),null],transform_style:[n(l),null],transition:[n(l),null],transition_delay:[n(l),null],transition_duration:[n(l),null],transition_property:[n(l),null],transition_timing_function:[n(l),null],translate:[n(l),null],unicode_bidi:[n(l),null],user_select:[n(l),null],vertical_align:[n(l),null],visibility:[n(l),null],white_space:[n(l),null],widows:[n(l),null],width:[n(l),null],will_change:[n(l),null],word_break:[n(l),null],word_spacing:[n(l),null],word_wrap:[n(l),null],writing_mode:[n(l),null],z_index:[n(l),null]})))},\n", - " function _(t,o,e,n,s){var i;n();const l=t(15),c=t(53),r=t(224),a=t(232),u=t(234);class h extends c.Model{constructor(t){super(t)}get button_view(){return this.tools[0].button_view}get event_type(){return this.tools[0].event_type}get tooltip(){return this.tools[0].tooltip}get tool_name(){return this.tools[0].tool_name}get icon(){return this.tools[0].computed_icon}get computed_icon(){return this.icon}get toggleable(){const t=this.tools[0];return t instanceof a.InspectTool&&t.toggleable}initialize(){super.initialize(),this.do=new l.Signal0(this,\"do\")}connect_signals(){super.connect_signals(),this.connect(this.do,(()=>this.doit())),this.connect(this.properties.active.change,(()=>this.set_active()));for(const t of this.tools)this.connect(t.properties.active.change,(()=>{this.active=t.active}))}doit(){for(const t of this.tools)t.do.emit()}set_active(){for(const t of this.tools)t.active=this.active}get menu(){const{menu:t}=this.tools[0];if(null==t)return null;const o=[];for(const[e,n]of(0,u.enumerate)(t))if(null==e)o.push(null);else{const t=()=>{var t,o,e;for(const s of this.tools)null===(e=null===(o=null===(t=s.menu)||void 0===t?void 0:t[n])||void 0===o?void 0:o.handler)||void 0===e||e.call(o)};o.push(Object.assign(Object.assign({},e),{handler:t}))}return o}}e.ToolProxy=h,i=h,h.__name__=\"ToolProxy\",i.define((({Boolean:t,Array:o,Ref:e})=>({tools:[o(e(r.ButtonTool)),[]],active:[t,!1],disabled:[t,!1]})))},\n", - " function _(o,t,s,e,i){var n,r;e();const l=o(20),c=o(9),h=o(13),a=o(233),_=o(221),p=o(394),u=o(309),f=o(207);class y extends a.ToolbarBase{constructor(o){super(o)}initialize(){super.initialize(),this._merge_tools()}_merge_tools(){this._proxied_tools=[];const o={},t={},s={},e=[],i=[];for(const o of this.help)(0,c.includes)(i,o.redirect)||(e.push(o),i.push(o.redirect));this._proxied_tools.push(...e),this.help=e;for(const[o,t]of(0,h.entries)(this.gestures)){o in s||(s[o]={});for(const e of t.tools)e.type in s[o]||(s[o][e.type]=[]),s[o][e.type].push(e)}for(const t of this.inspectors)t.type in o||(o[t.type]=[]),o[t.type].push(t);for(const o of this.actions)o.type in t||(t[o.type]=[]),t[o.type].push(o);const n=(o,t=!1)=>{const s=new p.ToolProxy({tools:o,active:t});return this._proxied_tools.push(s),s};for(const o of(0,h.keys)(s)){const t=this.gestures[o];t.tools=[];for(const e of(0,h.keys)(s[o])){const i=s[o][e];if(i.length>0)if(\"multi\"==o)for(const o of i){const s=n([o]);t.tools.push(s),this.connect(s.properties.active.change,(()=>this._active_change(s)))}else{const o=n(i);t.tools.push(o),this.connect(o.properties.active.change,(()=>this._active_change(o)))}}}this.actions=[];for(const[o,s]of(0,h.entries)(t))if(\"CustomAction\"==o)for(const o of s)this.actions.push(n([o]));else s.length>0&&this.actions.push(n(s));this.inspectors=[];for(const t of(0,h.values)(o))t.length>0&&this.inspectors.push(n(t,!0));for(const[o,t]of(0,h.entries)(this.gestures))0!=t.tools.length&&(t.tools=(0,c.sort_by)(t.tools,(o=>o.default_order)),\"pinch\"!=o&&\"scroll\"!=o&&\"multi\"!=o&&(t.tools[0].active=!0))}}s.ProxyToolbar=y,n=y,y.__name__=\"ProxyToolbar\",n.define((({Array:o,Ref:t})=>({toolbars:[o(t(_.Toolbar)),[]]})));class d extends u.LayoutDOMView{initialize(){this.model.toolbar.toolbar_location=this.model.toolbar_location,super.initialize()}get child_models(){return[this.model.toolbar]}_update_layout(){this.layout=new f.ContentBox(this.child_views[0].el);const{toolbar:o}=this.model;o.horizontal?this.layout.set_sizing({width_policy:\"fit\",min_width:100,height_policy:\"fixed\"}):this.layout.set_sizing({width_policy:\"fixed\",height_policy:\"fit\",min_height:100})}after_layout(){super.after_layout();const o=this.child_views[0];o.layout.bbox=this.layout.bbox,o.render()}}s.ToolbarBoxView=d,d.__name__=\"ToolbarBoxView\";class b extends u.LayoutDOM{constructor(o){super(o)}}s.ToolbarBox=b,r=b,b.__name__=\"ToolbarBox\",r.prototype.default_view=d,r.define((({Ref:o})=>({toolbar:[o(a.ToolbarBase)],toolbar_location:[l.Location,\"right\"]})))},\n", - " function _(e,n,r,t,o){t();const s=e(1),u=e(53),c=(0,s.__importStar)(e(21)),a=e(8),l=e(13);r.resolve_defs=function(e,n){var r,t,o,s;function i(e){return null!=e.module?`${e.module}.${e.name}`:e.name}function f(e){if((0,a.isString)(e))switch(e){case\"Any\":return c.Any;case\"Unknown\":return c.Unknown;case\"Boolean\":return c.Boolean;case\"Number\":return c.Number;case\"Int\":return c.Int;case\"String\":return c.String;case\"Null\":return c.Null}else switch(e[0]){case\"Nullable\":{const[,n]=e;return c.Nullable(f(n))}case\"Or\":{const[,...n]=e;return c.Or(...n.map(f))}case\"Tuple\":{const[,n,...r]=e;return c.Tuple(f(n),...r.map(f))}case\"Array\":{const[,n]=e;return c.Array(f(n))}case\"Struct\":{const[,...n]=e,r=n.map((([e,n])=>[e,f(n)]));return c.Struct((0,l.to_object)(r))}case\"Dict\":{const[,n]=e;return c.Dict(f(n))}case\"Map\":{const[,n,r]=e;return c.Map(f(n),f(r))}case\"Enum\":{const[,...n]=e;return c.Enum(...n)}case\"Ref\":{const[,r]=e,t=n.get(i(r));if(null!=t)return c.Ref(t);throw new Error(`${i(r)} wasn't defined before referencing it`)}case\"AnyRef\":return c.AnyRef()}}for(const c of e){const e=(()=>{if(null==c.extends)return u.Model;{const e=n.get(i(c.extends));if(null!=e)return e;throw new Error(`base model ${i(c.extends)} of ${i(c)} is not defined`)}})(),a=((s=class extends e{}).__name__=c.name,s.__module__=c.module,s);for(const e of null!==(r=c.properties)&&void 0!==r?r:[]){const n=f(null!==(t=e.kind)&&void 0!==t?t:\"Unknown\");a.define({[e.name]:[n,e.default]})}for(const e of null!==(o=c.overrides)&&void 0!==o?o:[])a.override({[e.name]:e.default});n.register(a)}}},\n", - " function _(n,e,t,o,i){o();const d=n(5),c=n(226),s=n(113),a=n(43),l=n(398);t.index={},t.add_document_standalone=async function(n,e,o=[],i=!1){const u=new Map;async function f(i){let d;const f=n.roots().indexOf(i),r=o[f];null!=r?d=r:e.classList.contains(l.BOKEH_ROOT)?d=e:(d=(0,a.div)({class:l.BOKEH_ROOT}),e.appendChild(d));const w=await(0,s.build_view)(i,{parent:null});return w instanceof c.DOMView&&w.renderTo(d),u.set(i,w),t.index[i.id]=w,w}for(const e of n.roots())await f(e);return i&&(window.document.title=n.title()),n.on_change((n=>{n instanceof d.RootAddedEvent?f(n.model):n instanceof d.RootRemovedEvent?function(n){const e=u.get(n);null!=e&&(e.remove(),u.delete(n),delete t.index[n.id])}(n.model):i&&n instanceof d.TitleChangedEvent&&(window.document.title=n.title)})),[...u.values()]}},\n", - " function _(o,e,n,t,r){t();const l=o(43),d=o(44);function u(o){let e=document.getElementById(o);if(null==e)throw new Error(`Error rendering Bokeh model: could not find #${o} HTML tag`);if(!document.body.contains(e))throw new Error(`Error rendering Bokeh model: element #${o} must be under `);if(\"SCRIPT\"==e.tagName){const o=(0,l.div)({class:n.BOKEH_ROOT});(0,l.replaceWith)(e,o),e=o}return e}n.BOKEH_ROOT=d.root,n._resolve_element=function(o){const{elementid:e}=o;return null!=e?u(e):document.body},n._resolve_root_elements=function(o){const e=[];if(null!=o.root_ids&&null!=o.roots)for(const n of o.root_ids)e.push(u(o.roots[n]));return e}},\n", - " function _(n,o,t,s,e){s();const c=n(400),r=n(19),a=n(397);t._get_ws_url=function(n,o){let t,s=\"ws:\";return\"https:\"==window.location.protocol&&(s=\"wss:\"),null!=o?(t=document.createElement(\"a\"),t.href=o):t=window.location,null!=n?\"/\"==n&&(n=\"\"):n=t.pathname.replace(/\\/+$/,\"\"),`${s}//${t.host}${n}/ws`};const i={};t.add_document_from_session=async function(n,o,t,s=[],e=!1){const l=window.location.search.substr(1);let d;try{d=await function(n,o,t){const s=(0,c.parse_token)(o).session_id;n in i||(i[n]={});const e=i[n];return s in e||(e[s]=(0,c.pull_session)(n,o,t)),e[s]}(n,o,l)}catch(n){const t=(0,c.parse_token)(o).session_id;throw r.logger.error(`Failed to load Bokeh session ${t}: ${n}`),n}return(0,a.add_document_standalone)(d.document,t,s,e)}},\n", - " function _(e,s,n,t,o){t();const r=e(19),i=e(5),c=e(401),l=e(402),_=e(403);n.DEFAULT_SERVER_WEBSOCKET_URL=\"ws://localhost:5006/ws\",n.DEFAULT_TOKEN=\"eyJzZXNzaW9uX2lkIjogImRlZmF1bHQifQ\";let h=0;function a(e){let s=e.split(\".\")[0];const n=s.length%4;return 0!=n&&(s+=\"=\".repeat(4-n)),JSON.parse(atob(s.replace(/_/g,\"/\").replace(/-/g,\"+\")))}n.parse_token=a;class d{constructor(e=n.DEFAULT_SERVER_WEBSOCKET_URL,s=n.DEFAULT_TOKEN,t=null){this.url=e,this.token=s,this.args_string=t,this._number=h++,this.socket=null,this.session=null,this.closed_permanently=!1,this._current_handler=null,this._pending_replies=new Map,this._pending_messages=[],this._receiver=new l.Receiver,this.id=a(s).session_id.split(\".\")[0],r.logger.debug(`Creating websocket ${this._number} to '${this.url}' session '${this.id}'`)}async connect(){if(this.closed_permanently)throw new Error(\"Cannot connect() a closed ClientConnection\");if(null!=this.socket)throw new Error(\"Already connected\");this._current_handler=null,this._pending_replies.clear(),this._pending_messages=[];try{let e=`${this.url}`;return null!=this.args_string&&this.args_string.length>0&&(e+=`?${this.args_string}`),this.socket=new WebSocket(e,[\"bokeh\",this.token]),new Promise(((e,s)=>{this.socket.binaryType=\"arraybuffer\",this.socket.onopen=()=>this._on_open(e,s),this.socket.onmessage=e=>this._on_message(e),this.socket.onclose=e=>this._on_close(e,s),this.socket.onerror=()=>this._on_error(s)}))}catch(e){throw r.logger.error(`websocket creation failed to url: ${this.url}`),r.logger.error(` - ${e}`),e}}close(){this.closed_permanently||(r.logger.debug(`Permanently closing websocket connection ${this._number}`),this.closed_permanently=!0,null!=this.socket&&this.socket.close(1e3,`close method called on ClientConnection ${this._number}`),this.session._connection_closed())}_schedule_reconnect(e){setTimeout((()=>{this.closed_permanently||r.logger.info(`Websocket connection ${this._number} disconnected, will not attempt to reconnect`)}),e)}send(e){if(null==this.socket)throw new Error(`not connected so cannot send ${e}`);e.send(this.socket)}async send_with_reply(e){const s=await new Promise(((s,n)=>{this._pending_replies.set(e.msgid(),{resolve:s,reject:n}),this.send(e)}));if(\"ERROR\"===s.msgtype())throw new Error(`Error reply ${s.content.text}`);return s}async _pull_doc_json(){const e=c.Message.create(\"PULL-DOC-REQ\",{}),s=await this.send_with_reply(e);if(!(\"doc\"in s.content))throw new Error(\"No 'doc' field in PULL-DOC-REPLY\");return s.content.doc}async _repull_session_doc(e,s){var n;r.logger.debug(this.session?\"Repulling session\":\"Pulling session for first time\");try{const n=await this._pull_doc_json();if(null==this.session)if(this.closed_permanently)r.logger.debug(\"Got new document after connection was already closed\"),s(new Error(\"The connection has been closed\"));else{const s=i.Document.from_json(n),t=i.Document._compute_patch_since_json(n,s);if(t.events.length>0){r.logger.debug(`Sending ${t.events.length} changes from model construction back to server`);const e=c.Message.create(\"PATCH-DOC\",{},t);this.send(e)}this.session=new _.ClientSession(this,s,this.id);for(const e of this._pending_messages)this.session.handle(e);this._pending_messages=[],r.logger.debug(\"Created a new session from new pulled doc\"),e(this.session)}else this.session.document.replace_with_json(n),r.logger.debug(\"Updated existing session with new pulled doc\")}catch(e){null===(n=console.trace)||void 0===n||n.call(console,e),r.logger.error(`Failed to repull session ${e}`),s(e instanceof Error?e:`${e}`)}}_on_open(e,s){r.logger.info(`Websocket connection ${this._number} is now open`),this._current_handler=n=>{this._awaiting_ack_handler(n,e,s)}}_on_message(e){null==this._current_handler&&r.logger.error(\"Got a message with no current handler set\");try{this._receiver.consume(e.data)}catch(e){this._close_bad_protocol(`${e}`)}const s=this._receiver.message;if(null!=s){const e=s.problem();null!=e&&this._close_bad_protocol(e),this._current_handler(s)}}_on_close(e,s){r.logger.info(`Lost websocket ${this._number} connection, ${e.code} (${e.reason})`),this.socket=null,this._pending_replies.forEach((e=>e.reject(\"Disconnected\"))),this._pending_replies.clear(),this.closed_permanently||this._schedule_reconnect(2e3),s(new Error(`Lost websocket connection, ${e.code} (${e.reason})`))}_on_error(e){r.logger.debug(`Websocket error on socket ${this._number}`);const s=\"Could not open websocket\";r.logger.error(`Failed to connect to Bokeh server: ${s}`),e(new Error(s))}_close_bad_protocol(e){r.logger.error(`Closing connection: ${e}`),null!=this.socket&&this.socket.close(1002,e)}_awaiting_ack_handler(e,s,n){\"ACK\"===e.msgtype()?(this._current_handler=e=>this._steady_state_handler(e),this._repull_session_doc(s,n)):this._close_bad_protocol(\"First message was not an ACK\")}_steady_state_handler(e){const s=e.reqid(),n=this._pending_replies.get(s);n?(this._pending_replies.delete(s),n.resolve(e)):this.session?this.session.handle(e):\"PATCH-DOC\"!=e.msgtype()&&this._pending_messages.push(e)}}n.ClientConnection=d,d.__name__=\"ClientConnection\",n.pull_session=function(e,s,n){return new d(e,s,n).connect()}},\n", - " function _(e,s,t,r,n){r();const i=e(34);class a{constructor(e,s,t){this.header=e,this.metadata=s,this.content=t,this.buffers=new Map}static assemble(e,s,t){const r=JSON.parse(e),n=JSON.parse(s),i=JSON.parse(t);return new a(r,n,i)}assemble_buffer(e,s){const t=null!=this.header.num_buffers?this.header.num_buffers:0;if(t<=this.buffers.size)throw new Error(`too many buffers received, expecting ${t}`);const{id:r}=JSON.parse(e);this.buffers.set(r,s)}static create(e,s,t={}){const r=a.create_header(e);return new a(r,s,t)}static create_header(e){return{msgid:(0,i.uniqueId)(),msgtype:e}}complete(){return null!=this.header&&null!=this.metadata&&null!=this.content&&(null==this.header.num_buffers||this.buffers.size==this.header.num_buffers)}send(e){if((null!=this.header.num_buffers?this.header.num_buffers:0)>0)throw new Error(\"BokehJS only supports receiving buffers, not sending\");const s=JSON.stringify(this.header),t=JSON.stringify(this.metadata),r=JSON.stringify(this.content);e.send(s),e.send(t),e.send(r)}msgid(){return this.header.msgid}msgtype(){return this.header.msgtype}reqid(){return this.header.reqid}problem(){return\"msgid\"in this.header?\"msgtype\"in this.header?null:\"No msgtype in header\":\"No msgid in header\"}}t.Message=a,a.__name__=\"Message\"},\n", - " function _(e,t,s,_,r){_();const i=e(401),h=e(8);class a{constructor(){this.message=null,this._partial=null,this._fragments=[],this._buf_header=null,this._current_consumer=this._HEADER}consume(e){this._current_consumer(e)}_HEADER(e){this._assume_text(e),this.message=null,this._partial=null,this._fragments=[e],this._buf_header=null,this._current_consumer=this._METADATA}_METADATA(e){this._assume_text(e),this._fragments.push(e),this._current_consumer=this._CONTENT}_CONTENT(e){this._assume_text(e),this._fragments.push(e);const[t,s,_]=this._fragments.slice(0,3);this._partial=i.Message.assemble(t,s,_),this._check_complete()}_BUFFER_HEADER(e){this._assume_text(e),this._buf_header=e,this._current_consumer=this._BUFFER_PAYLOAD}_BUFFER_PAYLOAD(e){this._assume_binary(e),this._partial.assemble_buffer(this._buf_header,e),this._check_complete()}_assume_text(e){if(!(0,h.isString)(e))throw new Error(\"Expected text fragment but received binary fragment\")}_assume_binary(e){if(!(e instanceof ArrayBuffer))throw new Error(\"Expected binary fragment but received text fragment\")}_check_complete(){this._partial.complete()?(this.message=this._partial,this._current_consumer=this._HEADER):this._current_consumer=this._BUFFER_HEADER}}s.Receiver=a,a.__name__=\"Receiver\"},\n", - " function _(e,t,n,s,o){s();const c=e(5),i=e(401),_=e(19);class r{constructor(e,t,n){this._connection=e,this.document=t,this.id=n,this._document_listener=e=>{this._document_changed(e)},this.document.on_change(this._document_listener,!0)}handle(e){const t=e.msgtype();\"PATCH-DOC\"===t?this._handle_patch(e):\"OK\"===t?this._handle_ok(e):\"ERROR\"===t?this._handle_error(e):_.logger.debug(`Doing nothing with message ${e.msgtype()}`)}close(){this._connection.close()}_connection_closed(){this.document.remove_on_change(this._document_listener)}async request_server_info(){const e=i.Message.create(\"SERVER-INFO-REQ\",{});return(await this._connection.send_with_reply(e)).content}async force_roundtrip(){await this.request_server_info()}_document_changed(e){if(e.setter_id===this.id)return;const t=e instanceof c.DocumentEventBatch?e.events:[e],n=this.document.create_json_patch(t),s=i.Message.create(\"PATCH-DOC\",{},n);this._connection.send(s)}_handle_patch(e){this.document.apply_json_patch(e.content,e.buffers,this.id)}_handle_ok(e){_.logger.trace(`Unhandled OK reply to ${e.reqid()}`)}_handle_error(e){_.logger.error(`Unhandled ERROR reply to ${e.reqid()}: ${e.content.text}`)}}n.ClientSession=r,r.__name__=\"ClientSession\"},\n", - " function _(e,o,t,n,r){n();const s=e(1),l=e(5),i=e(402),a=e(19),c=e(43),g=e(13),f=e(397),u=e(398),m=(0,s.__importDefault)(e(44)),p=(0,s.__importDefault)(e(240)),d=(0,s.__importDefault)(e(405));function _(e,o){o.buffers.length>0?e.consume(o.buffers[0].buffer):e.consume(o.content.data);const t=e.message;null!=t&&this.apply_json_patch(t.content,t.buffers)}function b(e,o){if(\"undefined\"!=typeof Jupyter&&null!=Jupyter.notebook.kernel){a.logger.info(`Registering Jupyter comms for target ${e}`);const t=Jupyter.notebook.kernel.comm_manager;try{t.register_target(e,(t=>{a.logger.info(`Registering Jupyter comms for target ${e}`);const n=new i.Receiver;t.on_msg(_.bind(o,n))}))}catch(e){a.logger.warn(`Jupyter comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else if(o.roots()[0].id in t.kernels){a.logger.info(`Registering JupyterLab comms for target ${e}`);const n=t.kernels[o.roots()[0].id];try{n.registerCommTarget(e,(t=>{a.logger.info(`Registering JupyterLab comms for target ${e}`);const n=new i.Receiver;t.onMsg=_.bind(o,n)}))}catch(e){a.logger.warn(`Jupyter comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else if(\"undefined\"!=typeof google&&null!=google.colab.kernel){a.logger.info(`Registering Google Colab comms for target ${e}`);const t=google.colab.kernel.comms;try{t.registerTarget(e,(async t=>{var n,r,l;a.logger.info(`Registering Google Colab comms for target ${e}`);const c=new i.Receiver;try{for(var g,f=(0,s.__asyncValues)(t.messages);!(g=await f.next()).done;){const e=g.value,t={data:e.data},n=[];for(const o of null!==(l=e.buffers)&&void 0!==l?l:[])n.push(new DataView(o));const r={content:t,buffers:n};_.bind(o)(c,r)}}catch(e){n={error:e}}finally{try{g&&!g.done&&(r=f.return)&&await r.call(f)}finally{if(n)throw n.error}}}))}catch(e){a.logger.warn(`Google Colab comms failed to register. push_notebook() will not function. (exception reported: ${e})`)}}else console.warn(\"Jupyter notebooks comms not available. push_notebook() will not function. If running JupyterLab ensure the latest @bokeh/jupyter_bokeh extension is installed. In an exported notebook this warning is expected.\")}c.stylesheet.append(m.default),c.stylesheet.append(p.default),c.stylesheet.append(d.default),t.kernels={},t.embed_items_notebook=function(e,o){if(1!=(0,g.size)(e))throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");const t=l.Document.from_json((0,g.values)(e)[0]);for(const e of o){null!=e.notebook_comms_target&&b(e.notebook_comms_target,t);const o=(0,u._resolve_element)(e),n=(0,u._resolve_root_elements)(e);(0,f.add_document_standalone)(t,o,n)}}},\n", - " function _(t,o,r,e,d){e(),r.root=\"bk-root\",r.tooltip=\"bk-tooltip\",r.default=\".rendered_html .bk-root .bk-tooltip table,.rendered_html .bk-root .bk-tooltip tr,.rendered_html .bk-root .bk-tooltip th,.rendered_html .bk-root .bk-tooltip td{border:none;padding:1px;}\"},\n", - " function _(t,_,o,r,n){r();const a=t(1);(0,a.__exportStar)(t(401),o),(0,a.__exportStar)(t(402),o)},\n", - " function _(e,t,n,s,o){function l(){const e=document.getElementsByTagName(\"body\")[0],t=document.getElementsByClassName(\"bokeh-test-div\");1==t.length&&(e.removeChild(t[0]),delete t[0]);const n=document.createElement(\"div\");n.classList.add(\"bokeh-test-div\"),n.style.display=\"none\",e.insertBefore(n,e.firstChild)}s(),n.results={},n.init=function(){l()},n.record0=function(e,t){n.results[e]=t},n.record=function(e,t){n.results[e]=t,l()},n.count=function(e){null==n.results[e]&&(n.results[e]=0),n.results[e]+=1,l()}},\n", - " function _(e,t,o,n,l){n(),o.safely=function(e,t=!1){try{return e()}catch(e){if(function(e){const t=document.createElement(\"div\");t.style.backgroundColor=\"#f2dede\",t.style.border=\"1px solid #a94442\",t.style.borderRadius=\"4px\",t.style.display=\"inline-block\",t.style.fontFamily=\"sans-serif\",t.style.marginTop=\"5px\",t.style.minWidth=\"200px\",t.style.padding=\"5px 5px 5px 10px\",t.classList.add(\"bokeh-error-box-into-flames\");const o=document.createElement(\"span\");o.style.backgroundColor=\"#a94442\",o.style.borderRadius=\"0px 4px 0px 0px\",o.style.color=\"white\",o.style.cursor=\"pointer\",o.style.cssFloat=\"right\",o.style.fontSize=\"0.8em\",o.style.margin=\"-6px -6px 0px 0px\",o.style.padding=\"2px 5px 4px 5px\",o.title=\"close\",o.setAttribute(\"aria-label\",\"close\"),o.appendChild(document.createTextNode(\"x\")),o.addEventListener(\"click\",(()=>s.removeChild(t)));const n=document.createElement(\"h3\");n.style.color=\"#a94442\",n.style.margin=\"8px 0px 0px 0px\",n.style.padding=\"0px\",n.appendChild(document.createTextNode(\"Bokeh Error\"));const l=document.createElement(\"pre\");l.style.whiteSpace=\"unset\",l.style.overflowX=\"auto\",l.appendChild(document.createTextNode(e)),t.appendChild(o),t.appendChild(n),t.appendChild(l);const s=document.getElementsByTagName(\"body\")[0];s.insertBefore(t,s.firstChild)}(e instanceof Error&&e.stack?e.stack:`${e}`),t)return;throw e}}},\n", - " ], 0, {\"main\":0,\"tslib\":1,\"index\":2,\"version\":3,\"embed/index\":4,\"document/index\":5,\"document/document\":6,\"base\":7,\"core/util/types\":8,\"core/util/array\":9,\"core/util/math\":10,\"core/util/assert\":11,\"core/util/arrayable\":12,\"core/util/object\":13,\"core/has_props\":14,\"core/signaling\":15,\"core/util/defer\":16,\"core/util/refs\":17,\"core/properties\":18,\"core/logging\":19,\"core/enums\":20,\"core/kinds\":21,\"core/util/color\":22,\"core/util/svg_colors\":23,\"core/types\":24,\"core/util/bitset\":25,\"core/util/eq\":26,\"core/util/platform\":27,\"core/settings\":28,\"core/util/ndarray\":29,\"core/serializer\":30,\"core/util/serialization\":31,\"core/util/buffer\":32,\"core/uniforms\":33,\"core/util/string\":34,\"document/events\":35,\"core/util/pretty\":36,\"core/util/cloneable\":37,\"models/index\":38,\"models/annotations/index\":39,\"models/annotations/annotation\":40,\"models/renderers/renderer\":41,\"core/view\":42,\"core/dom\":43,\"styles/root.css\":44,\"core/visuals/index\":45,\"core/visuals/line\":46,\"core/visuals/visual\":47,\"core/property_mixins\":48,\"core/visuals/fill\":49,\"core/visuals/text\":50,\"core/visuals/hatch\":51,\"core/visuals/patterns\":52,\"model\":53,\"models/canvas/coordinates\":54,\"models/scales/scale\":55,\"models/transforms/transform\":56,\"models/ranges/range\":57,\"models/ranges/range1d\":58,\"models/scales/linear_scale\":59,\"models/scales/continuous_scale\":60,\"models/scales/log_scale\":61,\"models/scales/categorical_scale\":62,\"models/ranges/data_range1d\":63,\"models/ranges/data_range\":64,\"core/util/bbox\":65,\"models/util\":66,\"models/ranges/factor_range\":67,\"models/annotations/arrow\":68,\"models/annotations/data_annotation\":69,\"models/sources/columnar_data_source\":70,\"models/sources/data_source\":71,\"models/selections/selection\":72,\"core/selection_manager\":73,\"models/selections/interaction_policy\":74,\"models/sources/column_data_source\":75,\"core/util/typed_array\":76,\"core/util/set\":77,\"core/util/projections\":78,\"models/annotations/arrow_head\":112,\"core/build_views\":113,\"models/annotations/band\":114,\"models/annotations/upper_lower\":115,\"models/annotations/box_annotation\":116,\"models/annotations/color_bar\":117,\"models/annotations/title\":118,\"models/annotations/text_annotation\":119,\"core/graphics\":120,\"core/util/text\":121,\"core/util/affine\":122,\"core/layout/side_panel\":123,\"core/layout/types\":124,\"core/layout/layoutable\":125,\"models/canvas/cartesian_frame\":126,\"models/axes/index\":127,\"models/axes/axis\":128,\"models/renderers/guide_renderer\":129,\"models/tickers/ticker\":130,\"models/formatters/tick_formatter\":131,\"models/policies/labeling\":132,\"models/text/base_text\":133,\"models/text/utils\":134,\"models/text/math_text\":135,\"core/util/image\":136,\"models/text/providers\":137,\"core/util/modules\":138,\"models/text/plain_text\":139,\"models/axes/categorical_axis\":140,\"models/tickers/categorical_ticker\":141,\"models/formatters/categorical_tick_formatter\":142,\"models/axes/continuous_axis\":143,\"models/axes/datetime_axis\":144,\"models/axes/linear_axis\":145,\"models/formatters/basic_tick_formatter\":146,\"models/tickers/basic_ticker\":147,\"models/tickers/adaptive_ticker\":148,\"models/tickers/continuous_ticker\":149,\"models/formatters/datetime_tick_formatter\":150,\"core/util/templating\":152,\"models/tickers/datetime_ticker\":155,\"models/tickers/composite_ticker\":156,\"models/tickers/days_ticker\":157,\"models/tickers/single_interval_ticker\":158,\"models/tickers/util\":159,\"models/tickers/months_ticker\":160,\"models/tickers/years_ticker\":161,\"models/axes/log_axis\":162,\"models/formatters/log_tick_formatter\":163,\"models/tickers/log_ticker\":164,\"models/axes/mercator_axis\":165,\"models/formatters/mercator_tick_formatter\":166,\"models/tickers/mercator_ticker\":167,\"models/tickers/index\":168,\"models/tickers/fixed_ticker\":169,\"models/tickers/binned_ticker\":170,\"models/mappers/scanning_color_mapper\":171,\"models/mappers/continuous_color_mapper\":172,\"models/mappers/color_mapper\":173,\"models/mappers/mapper\":174,\"models/renderers/glyph_renderer\":175,\"models/renderers/data_renderer\":176,\"models/glyphs/line\":177,\"models/glyphs/xy_glyph\":178,\"models/glyphs/glyph\":179,\"core/util/ragged_array\":180,\"core/util/spatial\":181,\"models/glyphs/utils\":184,\"core/hittest\":185,\"models/glyphs/patch\":186,\"models/glyphs/harea\":187,\"models/glyphs/area\":188,\"models/glyphs/varea\":189,\"models/sources/cds_view\":190,\"models/filters/filter\":191,\"models/formatters/index\":192,\"models/formatters/func_tick_formatter\":193,\"models/formatters/numeral_tick_formatter\":194,\"models/formatters/printf_tick_formatter\":195,\"models/mappers/index\":196,\"models/mappers/categorical_color_mapper\":197,\"models/mappers/categorical_mapper\":198,\"models/mappers/categorical_marker_mapper\":199,\"models/mappers/categorical_pattern_mapper\":200,\"models/mappers/linear_color_mapper\":201,\"models/mappers/log_color_mapper\":202,\"models/mappers/eqhist_color_mapper\":203,\"models/scales/index\":204,\"models/scales/linear_interpolation_scale\":205,\"models/ranges/index\":206,\"core/layout/index\":207,\"core/layout/alignments\":208,\"core/layout/grid\":209,\"core/layout/html\":210,\"core/layout/border\":211,\"models/annotations/label\":212,\"models/annotations/label_set\":213,\"models/annotations/legend\":214,\"models/annotations/legend_item\":215,\"core/vectorization\":216,\"models/annotations/poly_annotation\":217,\"models/annotations/slope\":218,\"models/annotations/span\":219,\"models/annotations/toolbar_panel\":220,\"models/tools/toolbar\":221,\"models/tools/tool\":222,\"models/tools/gestures/gesture_tool\":223,\"models/tools/button_tool\":224,\"core/dom_view\":226,\"styles/toolbar.css\":227,\"styles/icons.css\":228,\"styles/menus.css\":229,\"core/util/menus\":230,\"models/tools/on_off_button\":231,\"models/tools/inspectors/inspect_tool\":232,\"models/tools/toolbar_base\":233,\"core/util/iterator\":234,\"core/util/canvas\":235,\"core/util/svg\":236,\"core/util/random\":237,\"models/tools/actions/action_tool\":238,\"models/tools/actions/help_tool\":239,\"styles/logo.css\":240,\"models/annotations/tooltip\":241,\"styles/tooltips.css\":242,\"models/annotations/whisker\":243,\"models/callbacks/index\":244,\"models/callbacks/customjs\":245,\"models/callbacks/callback\":246,\"models/callbacks/open_url\":247,\"models/canvas/index\":248,\"models/canvas/canvas\":249,\"core/ui_events\":250,\"core/bokeh_events\":251,\"core/util/wheel\":252,\"models/expressions/index\":253,\"models/expressions/expression\":254,\"models/expressions/customjs_expr\":255,\"models/expressions/stack\":256,\"models/expressions/cumsum\":257,\"models/expressions/minimum\":258,\"models/expressions/maximum\":259,\"models/expressions/coordinate_transform\":260,\"models/expressions/polar\":261,\"models/filters/index\":262,\"models/filters/boolean_filter\":263,\"models/filters/customjs_filter\":264,\"models/filters/group_filter\":265,\"models/filters/index_filter\":266,\"models/glyphs/index\":267,\"models/glyphs/annular_wedge\":268,\"models/glyphs/annulus\":269,\"models/glyphs/arc\":270,\"models/glyphs/bezier\":271,\"models/glyphs/circle\":272,\"models/glyphs/ellipse\":273,\"models/glyphs/ellipse_oval\":274,\"models/glyphs/center_rotatable\":275,\"models/glyphs/hbar\":276,\"models/glyphs/box\":277,\"models/glyphs/hex_tile\":278,\"models/glyphs/image\":279,\"models/glyphs/image_base\":280,\"models/glyphs/image_rgba\":281,\"models/glyphs/image_url\":282,\"models/glyphs/multi_line\":283,\"models/glyphs/multi_polygons\":284,\"models/glyphs/oval\":285,\"models/glyphs/patches\":286,\"models/glyphs/quad\":287,\"models/glyphs/quadratic\":288,\"models/glyphs/ray\":289,\"models/glyphs/rect\":290,\"models/glyphs/scatter\":291,\"models/glyphs/marker\":292,\"models/glyphs/defs\":293,\"models/glyphs/segment\":294,\"models/glyphs/spline\":295,\"core/util/interpolation\":296,\"models/glyphs/step\":297,\"models/glyphs/text\":298,\"models/glyphs/vbar\":299,\"models/glyphs/wedge\":300,\"models/graphs/index\":301,\"models/graphs/graph_hit_test_policy\":302,\"models/graphs/layout_provider\":303,\"models/graphs/static_layout_provider\":304,\"models/grids/index\":305,\"models/grids/grid\":306,\"models/layouts/index\":307,\"models/layouts/box\":308,\"models/layouts/layout_dom\":309,\"models/layouts/column\":310,\"models/layouts/grid_box\":311,\"models/layouts/html_box\":312,\"models/layouts/panel\":313,\"models/layouts/row\":314,\"models/layouts/spacer\":315,\"models/layouts/tabs\":316,\"styles/tabs.css\":317,\"styles/buttons.css\":318,\"models/layouts/widget_box\":319,\"models/text/index\":320,\"models/transforms/index\":321,\"models/transforms/customjs_transform\":322,\"models/transforms/dodge\":323,\"models/transforms/range_transform\":324,\"models/transforms/interpolator\":325,\"models/transforms/jitter\":326,\"models/transforms/linear_interpolator\":327,\"models/transforms/step_interpolator\":328,\"models/plots/index\":329,\"models/plots/gmap_plot\":330,\"models/plots/plot\":331,\"models/plots/plot_canvas\":332,\"core/util/throttle\":333,\"models/plots/range_manager\":334,\"models/plots/state_manager\":335,\"models/plots/gmap_plot_canvas\":336,\"models/policies/index\":337,\"models/renderers/index\":338,\"models/renderers/graph_renderer\":339,\"models/selections/index\":340,\"models/sources/index\":341,\"models/sources/server_sent_data_source\":342,\"models/sources/web_data_source\":343,\"models/sources/ajax_data_source\":344,\"models/sources/geojson_data_source\":345,\"models/tiles/index\":346,\"models/tiles/bbox_tile_source\":347,\"models/tiles/mercator_tile_source\":348,\"models/tiles/tile_source\":349,\"models/tiles/tile_utils\":350,\"models/tiles/quadkey_tile_source\":351,\"models/tiles/tile_renderer\":352,\"models/tiles/wmts_tile_source\":353,\"styles/tiles.css\":354,\"models/tiles/tms_tile_source\":355,\"models/textures/index\":356,\"models/textures/canvas_texture\":357,\"models/textures/texture\":358,\"models/textures/image_url_texture\":359,\"models/tools/index\":360,\"models/tools/actions/custom_action\":361,\"models/tools/actions/redo_tool\":362,\"models/tools/actions/reset_tool\":363,\"models/tools/actions/save_tool\":364,\"models/tools/actions/undo_tool\":365,\"models/tools/actions/zoom_in_tool\":366,\"models/tools/actions/zoom_base_tool\":367,\"core/util/zoom\":368,\"models/tools/actions/zoom_out_tool\":369,\"models/tools/edit/edit_tool\":370,\"models/tools/edit/box_edit_tool\":371,\"models/tools/edit/freehand_draw_tool\":372,\"models/tools/edit/point_draw_tool\":373,\"models/tools/edit/poly_draw_tool\":374,\"models/tools/edit/poly_tool\":375,\"models/tools/edit/poly_edit_tool\":376,\"models/tools/gestures/box_select_tool\":377,\"models/tools/gestures/select_tool\":378,\"models/tools/gestures/box_zoom_tool\":379,\"models/tools/gestures/lasso_select_tool\":380,\"models/tools/gestures/poly_select_tool\":381,\"models/tools/edit/line_edit_tool\":382,\"models/tools/edit/line_tool\":383,\"models/tools/gestures/pan_tool\":384,\"models/tools/gestures/range_tool\":385,\"models/tools/gestures/tap_tool\":386,\"models/tools/gestures/wheel_pan_tool\":387,\"models/tools/gestures/wheel_zoom_tool\":388,\"models/tools/inspectors/crosshair_tool\":389,\"models/tools/inspectors/customjs_hover\":390,\"models/tools/inspectors/hover_tool\":391,\"models/dom/index\":392,\"models/dom/styles\":393,\"models/tools/tool_proxy\":394,\"models/tools/toolbar_box\":395,\"document/defs\":396,\"embed/standalone\":397,\"embed/dom\":398,\"embed/server\":399,\"client/connection\":400,\"protocol/message\":401,\"protocol/receiver\":402,\"client/session\":403,\"embed/notebook\":404,\"styles/notebook.css\":405,\"protocol/index\":406,\"testing\":407,\"safely\":408}, {});});\n", - "\n", - " /* END bokeh.min.js */\n", - " },\n", - " \n", - " function(Bokeh) {\n", - " /* BEGIN bokeh-gl.min.js */\n", - " /*!\n", - " * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributors\n", - " * All rights reserved.\n", - " * \n", - " * Redistribution and use in source and binary forms, with or without modification,\n", - " * are permitted provided that the following conditions are met:\n", - " * \n", - " * Redistributions of source code must retain the above copyright notice,\n", - " * this list of conditions and the following disclaimer.\n", - " * \n", - " * Redistributions in binary form must reproduce the above copyright notice,\n", - " * this list of conditions and the following disclaimer in the documentation\n", - " * and/or other materials provided with the distribution.\n", - " * \n", - " * Neither the name of Anaconda nor the names of any contributors\n", - " * may be used to endorse or promote products derived from this software\n", - " * without specific prior written permission.\n", - " * \n", - " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", - " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", - " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", - " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", - " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", - " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", - " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", - " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", - " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", - " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", - " * THE POSSIBILITY OF SUCH DAMAGE.\n", - " */\n", - " (function(root, factory) {\n", - " factory(root[\"Bokeh\"], \"2.4.1\");\n", - " })(this, function(Bokeh, version) {\n", - " let define;\n", - " return (function(modules, entry, aliases, externals) {\n", - " const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n", - " if (bokeh != null) {\n", - " return bokeh.register_plugin(modules, entry, aliases);\n", - " } else {\n", - " throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n", - " }\n", - " })\n", - " ({\n", - " 409: function _(n,c,f,i,o){i(),n(410)},\n", - " 410: function _(t,_,r,e,o){e();const g=t(1);\n", - " /*\n", - " Copyright notice: many of the awesome techniques and GLSL code contained in\n", - " this module are based on work by Nicolas Rougier as part of the Glumpy and\n", - " Vispy projects. The algorithms are published in\n", - " http://jcgt.org/published/0003/04/01/ and http://jcgt.org/published/0002/02/08/\n", - " \n", - " Other locations where we work with GL, or prepare for GL-rendering:\n", - " - canvas.ts\n", - " - plot.ts\n", - " - glyph.ts\n", - " - glyph_renderer.ts\n", - " */o(\"get_regl\",t(411).get_regl),(0,g.__exportStar)(t(421),r),(0,g.__exportStar)(t(425),r),(0,g.__exportStar)(t(426),r)},\n", - " 411: function _(t,i,e,_,a){_();const r=t(1),o=(0,r.__importDefault)(t(412)),n=t(413),s=(0,r.__importDefault)(t(415)),l=(0,r.__importDefault)(t(416)),p=(0,r.__importDefault)(t(417)),c=(0,r.__importDefault)(t(418)),h=(0,r.__importDefault)(t(419)),u=(0,r.__importDefault)(t(420));let f;e.get_regl=function(t){return null==f&&(f=new g(t)),f};class g{constructor(t){try{this._regl=(0,o.default)({gl:t,extensions:[\"ANGLE_instanced_arrays\",\"EXT_blend_minmax\"]}),this._regl_available=!0,this._line_geometry=this._regl.buffer({usage:\"static\",type:\"float\",data:[[-2,0],[-1,-1],[1,-1],[2,0],[1,1],[-1,1]]}),this._line_triangles=this._regl.elements({usage:\"static\",primitive:\"triangles\",data:[[0,1,5],[1,2,5],[5,2,4],[2,3,4]]})}catch(t){this._regl_available=!1}}buffer(t){return this._regl.buffer(t)}clear(t,i){this._viewport={x:0,y:0,width:t,height:i},this._regl.clear({color:[0,0,0,0]})}get has_webgl(){return this._regl_available}get scissor(){return this._scissor}set_scissor(t,i,e,_){this._scissor={x:t,y:i,width:e,height:_}}get viewport(){return this._viewport}dashed_line(){return null==this._dashed_line&&(this._dashed_line=function(t,i,e){const _={vert:`#define DASHED\\n\\n${s.default}`,frag:`#define DASHED\\n\\n${l.default}`,attributes:{a_position:{buffer:i,divisor:0},a_point_prev:(t,i)=>i.points.to_attribute_config(),a_point_start:(t,i)=>i.points.to_attribute_config(2*Float32Array.BYTES_PER_ELEMENT),a_point_end:(t,i)=>i.points.to_attribute_config(4*Float32Array.BYTES_PER_ELEMENT),a_point_next:(t,i)=>i.points.to_attribute_config(6*Float32Array.BYTES_PER_ELEMENT),a_length_so_far:(t,i)=>i.length_so_far.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_line_color:t.prop(\"line_color\"),u_linewidth:t.prop(\"linewidth\"),u_miter_limit:t.prop(\"miter_limit\"),u_line_join:t.prop(\"line_join\"),u_line_cap:t.prop(\"line_cap\"),u_dash_tex:t.prop(\"dash_tex\"),u_dash_tex_info:t.prop(\"dash_tex_info\"),u_dash_scale:t.prop(\"dash_scale\"),u_dash_offset:t.prop(\"dash_offset\")},elements:e,instances:t.prop(\"nsegments\"),blend:{enable:!0,equation:\"max\",func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(_)}(this._regl,this._line_geometry,this._line_triangles)),this._dashed_line}get_dash(t){return null==this._dash_cache&&(this._dash_cache=new n.DashCache(this._regl)),this._dash_cache.get(t)}marker(t){null==this._marker_map&&(this._marker_map=new Map);let i=this._marker_map.get(t);return null==i&&(i=function(t,i){const e={vert:p.default,frag:`#define USE_${i.toUpperCase()}\\n\\n${c.default}`,attributes:{a_position:{buffer:t.buffer([[-.5,-.5],[-.5,.5],[.5,.5],[.5,-.5]]),divisor:0},a_center:(t,i)=>i.center.to_attribute_config(),a_size:(t,i)=>i.size.to_attribute_config(),a_angle:(t,i)=>i.angle.to_attribute_config(),a_linewidth:(t,i)=>i.linewidth.to_attribute_config(),a_line_color:(t,i)=>i.line_color.to_attribute_config(),a_fill_color:(t,i)=>i.fill_color.to_attribute_config(),a_show:(t,i)=>i.show.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\")},count:4,primitive:\"triangle fan\",instances:t.prop(\"nmarkers\"),blend:{enable:!0,func:{srcRGB:\"one\",srcAlpha:\"one\",dstRGB:\"one minus src alpha\",dstAlpha:\"one minus src alpha\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(e)}(this._regl,t),this._marker_map.set(t,i)),i}rect_no_hatch(){return null==this._rect_no_hatch&&(this._rect_no_hatch=function(t){const i={vert:h.default,frag:u.default,attributes:{a_position:{buffer:t.buffer([[-.5,-.5],[-.5,.5],[.5,.5],[.5,-.5]]),divisor:0},a_center:(t,i)=>i.center.to_attribute_config(),a_width:(t,i)=>i.width.to_attribute_config(),a_height:(t,i)=>i.height.to_attribute_config(),a_angle:(t,i)=>i.angle.to_attribute_config(),a_linewidth:(t,i)=>i.linewidth.to_attribute_config(),a_line_color:(t,i)=>i.line_color.to_attribute_config(),a_fill_color:(t,i)=>i.fill_color.to_attribute_config(),a_line_join:(t,i)=>i.line_join.to_attribute_config(),a_show:(t,i)=>i.show.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\")},count:4,primitive:\"triangle fan\",instances:t.prop(\"nmarkers\"),blend:{enable:!0,func:{srcRGB:\"one\",srcAlpha:\"one\",dstRGB:\"one minus src alpha\",dstAlpha:\"one minus src alpha\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(i)}(this._regl)),this._rect_no_hatch}rect_hatch(){return null==this._rect_hatch&&(this._rect_hatch=function(t){const i={vert:`#define HATCH\\n\\n${h.default}`,frag:`#define HATCH\\n\\n${u.default}`,attributes:{a_position:{buffer:t.buffer([[-.5,-.5],[-.5,.5],[.5,.5],[.5,-.5]]),divisor:0},a_center:(t,i)=>i.center.to_attribute_config(),a_width:(t,i)=>i.width.to_attribute_config(),a_height:(t,i)=>i.height.to_attribute_config(),a_angle:(t,i)=>i.angle.to_attribute_config(),a_linewidth:(t,i)=>i.linewidth.to_attribute_config(),a_line_color:(t,i)=>i.line_color.to_attribute_config(),a_fill_color:(t,i)=>i.fill_color.to_attribute_config(),a_line_join:(t,i)=>i.line_join.to_attribute_config(),a_show:(t,i)=>i.show.to_attribute_config(),a_hatch_pattern:(t,i)=>i.hatch_pattern.to_attribute_config(),a_hatch_scale:(t,i)=>i.hatch_scale.to_attribute_config(),a_hatch_weight:(t,i)=>i.hatch_weight.to_attribute_config(),a_hatch_color:(t,i)=>i.hatch_color.to_attribute_config()},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\")},count:4,primitive:\"triangle fan\",instances:t.prop(\"nmarkers\"),blend:{enable:!0,func:{srcRGB:\"one\",srcAlpha:\"one\",dstRGB:\"one minus src alpha\",dstAlpha:\"one minus src alpha\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(i)}(this._regl)),this._rect_hatch}solid_line(){return null==this._solid_line&&(this._solid_line=function(t,i,e){const _={vert:s.default,frag:l.default,attributes:{a_position:{buffer:i,divisor:0},a_point_prev:(t,i)=>i.points.to_attribute_config(),a_point_start:(t,i)=>i.points.to_attribute_config(2*Float32Array.BYTES_PER_ELEMENT),a_point_end:(t,i)=>i.points.to_attribute_config(4*Float32Array.BYTES_PER_ELEMENT),a_point_next:(t,i)=>i.points.to_attribute_config(6*Float32Array.BYTES_PER_ELEMENT)},uniforms:{u_canvas_size:t.prop(\"canvas_size\"),u_pixel_ratio:t.prop(\"pixel_ratio\"),u_antialias:t.prop(\"antialias\"),u_line_color:t.prop(\"line_color\"),u_linewidth:t.prop(\"linewidth\"),u_miter_limit:t.prop(\"miter_limit\"),u_line_join:t.prop(\"line_join\"),u_line_cap:t.prop(\"line_cap\")},elements:e,instances:t.prop(\"nsegments\"),blend:{enable:!0,equation:\"max\",func:{srcRGB:1,srcAlpha:1,dstRGB:1,dstAlpha:1}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"scissor\")},viewport:t.prop(\"viewport\")};return t(_)}(this._regl,this._line_geometry,this._line_triangles)),this._solid_line}}e.ReglWrapper=g,g.__name__=\"ReglWrapper\"},\n", - " 412: function _(e,t,r,n,a){var i,o;i=this,o=function(){\"use strict\";var e=function(e){return e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Uint32Array||e instanceof Int8Array||e instanceof Int16Array||e instanceof Int32Array||e instanceof Float32Array||e instanceof Float64Array||e instanceof Uint8ClampedArray},t=function(e,t){for(var r=Object.keys(t),n=0;n=0&&(0|e)===e||n(\"invalid parameter type, (\"+e+\")\"+i(t)+\". must be a nonnegative integer\")},oneOf:f,shaderError:function(e,t,n,i,o){if(!e.getShaderParameter(t,e.COMPILE_STATUS)){var f=e.getShaderInfoLog(t),u=i===e.FRAGMENT_SHADER?\"fragment\":\"vertex\";g(n,\"string\",u+\" shader source must be a string\",o);var c=h(n,o),l=function(e){var t=[];return e.split(\"\\n\").forEach((function(e){if(!(e.length<5)){var r=/^ERROR:\\s+(\\d+):(\\d+):\\s*(.*)$/.exec(e);r?t.push(new d(0|r[1],0|r[2],r[3].trim())):e.length>0&&t.push(new d(\"unknown\",0,e))}})),t}(f);!function(e,t){t.forEach((function(t){var r=e[t.file];if(r){var n=r.index[t.line];if(n)return n.errors.push(t),void(r.hasErrors=!0)}e.unknown.hasErrors=!0,e.unknown.lines[0].errors.push(t)}))}(c,l),Object.keys(c).forEach((function(e){var t=c[e];if(t.hasErrors){var n=[\"\"],a=[\"\"];i(\"file number \"+e+\": \"+t.name+\"\\n\",\"color:red;text-decoration:underline;font-weight:bold\"),t.lines.forEach((function(e){if(e.errors.length>0){i(s(e.number,4)+\"| \",\"background-color:yellow; font-weight:bold\"),i(e.line+r,\"color:red; background-color:yellow; font-weight:bold\");var t=0;e.errors.forEach((function(n){var a=n.message,o=/^\\s*'(.*)'\\s*:\\s*(.*)$/.exec(a);if(o){var f=o[1];a=o[2],\"assign\"===f&&(f=\"=\"),t=Math.max(e.line.indexOf(f,t),0)}else t=0;i(s(\"| \",6)),i(s(\"^^^\",t+3)+r,\"font-weight:bold\"),i(s(\"| \",6)),i(a+r,\"font-weight:bold\")})),i(s(\"| \",6)+r)}else i(s(e.number,4)+\"| \"),i(e.line+r,\"color:red\")})),\"undefined\"==typeof document||window.chrome?console.log(n.join(\"\")):(a[0]=n.join(\"%c\"),console.log.apply(console,a))}function i(e,t){n.push(e),a.push(t||\"\")}})),a.raise(\"Error compiling \"+u+\" shader, \"+c[0].name)}},linkError:function(e,t,n,i,o){if(!e.getProgramParameter(t,e.LINK_STATUS)){var f=e.getProgramInfoLog(t),u=h(n,o),s='Error linking program with vertex shader, \"'+h(i,o)[0].name+'\", and fragment shader \"'+u[0].name+'\"';\"undefined\"!=typeof document?console.log(\"%c\"+s+\"\\n%c\"+f,\"color:red;text-decoration:underline;font-weight:bold\",\"color:red\"):console.log(s+r+f),a.raise(s)}},callSite:p,saveCommandRef:b,saveDrawInfo:function(e,t,r,n){function a(e){return e?n.id(e):0}function i(e,t){Object.keys(t).forEach((function(t){e[n.id(t)]=!0}))}b(e),e._fragId=a(e.static.frag),e._vertId=a(e.static.vert);var o=e._uniformSet={};i(o,t.static),i(o,t.dynamic);var f=e._attributeSet={};i(f,r.static),i(f,r.dynamic),e._hasCount=\"count\"in e.static||\"count\"in e.dynamic||\"elements\"in e.static||\"elements\"in e.dynamic},framebufferFormat:function(e,t,r){e.texture?f(e.texture._texture.internalformat,t,\"unsupported texture format for attachment\"):f(e.renderbuffer._renderbuffer.format,r,\"unsupported renderbuffer format for attachment\")},guessCommand:m,texture2D:function(e,t,r){var n,i=t.width,o=t.height,f=t.channels;a(i>0&&i<=r.maxTextureSize&&o>0&&o<=r.maxTextureSize,\"invalid texture shape\"),e.wrapS===y&&e.wrapT===y||a(A(i)&&A(o),\"incompatible wrap mode for texture, both width and height must be power of 2\"),1===t.mipmask?1!==i&&1!==o&&a(9984!==e.minFilter&&9986!==e.minFilter&&9985!==e.minFilter&&9987!==e.minFilter,\"min filter requires mipmap\"):(a(A(i)&&A(o),\"texture must be a square power of 2 to support mipmapping\"),a(t.mipmask===(i<<1)-1,\"missing or incomplete mipmap data\")),5126===t.type&&(r.extensions.indexOf(\"oes_texture_float_linear\")<0&&a(9728===e.minFilter&&9728===e.magFilter,\"filter not supported, must enable oes_texture_float_linear\"),a(!e.genMipmaps,\"mipmap generation not supported with float textures\"));var u=t.images;for(n=0;n<16;++n)if(u[n]){var s=i>>n,c=o>>n;a(t.mipmask&1<0&&i<=n.maxTextureSize&&o>0&&o<=n.maxTextureSize,\"invalid texture shape\"),a(i===o,\"cube map must be square\"),a(t.wrapS===y&&t.wrapT===y,\"wrap mode not supported by cube map\");for(var u=0;u>l,p=o>>l;a(s.mipmask&1<1&&t===r&&('\"'===t||\"'\"===t))return['\"'+O(e.substr(1,e.length-2))+'\"'];var n=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e);if(n)return E(e.substr(0,n.index)).concat(E(n[1])).concat(E(e.substr(n.index+n[0].length)));var a=e.split(\".\");if(1===a.length)return['\"'+O(e)+'\"'];for(var i=[],o=0;o0,\"invalid pixel ratio\"))):_.raise(\"invalid arguments to regl\"),r&&(\"canvas\"===r.nodeName.toLowerCase()?a=r:n=r),!i){if(!a){_(\"undefined\"!=typeof document,\"must manually specify webgl context outside of DOM environments\");var h=function(e,r,n){var a,i=document.createElement(\"canvas\");function o(){var t=window.innerWidth,r=window.innerHeight;if(e!==document.body){var a=i.getBoundingClientRect();t=a.right-a.left,r=a.bottom-a.top}i.width=n*t,i.height=n*r}return t(i.style,{border:0,margin:0,padding:0,top:0,left:0,width:\"100%\",height:\"100%\"}),e.appendChild(i),e===document.body&&(i.style.position=\"absolute\",t(e.style,{margin:0,padding:0})),e!==document.body&&\"function\"==typeof ResizeObserver?(a=new ResizeObserver((function(){setTimeout(o)}))).observe(e):window.addEventListener(\"resize\",o,!1),o(),{canvas:i,onDestroy:function(){a?a.disconnect():window.removeEventListener(\"resize\",o),e.removeChild(i)}}}(n||document.body,0,l);if(!h)return null;a=h.canvas,p=h.onDestroy}void 0===u.premultipliedAlpha&&(u.premultipliedAlpha=!0),i=function(e,t){function r(r){try{return e.getContext(r,t)}catch(e){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,u)}return i?{gl:i,canvas:a,container:n,extensions:s,optionalExtensions:c,pixelRatio:l,profile:d,onDone:m,onDestroy:p}:(p(),m(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function V(e,t){for(var r=Array(e),n=0;n65535)<<4,t|=r=((e>>>=t)>255)<<3,t|=r=((e>>>=r)>15)<<2,(t|=r=((e>>>=r)>3)<<1)|(e>>>=r)>>1}function P(){var e=V(8,(function(){return[]}));function t(t){var r=function(e){for(var t=16;t<=1<<28;t*=16)if(e<=t)return t;return 0}(t),n=e[I(r)>>2];return n.length>0?n.pop():new ArrayBuffer(r)}function r(t){e[I(t.byteLength)>>2].push(t)}return{alloc:t,free:r,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(e){r(e.buffer)}}}var L=P();L.zero=P();var R=3553,M=6408,W=5126,U=36160;function G(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||e(t.data))}var H=function(e){return Object.keys(e).map((function(t){return e[t]}))},N={shape:function(e){for(var t=[],r=e;r.length;r=r[0])t.push(r.length);return t},flatten:function(e,t,r,n){var a=1;if(t.length)for(var i=0;i>>31<<15,i=(n<<1>>>24)-127,o=n>>13&1023;if(i<-24)t[r]=a;else if(i<-14){var f=-14-i;t[r]=a+(o+1024>>f)}else t[r]=i>15?a+31744:a+(i+15<<10)+o}return t}function me(t){return Array.isArray(t)||e(t)}var pe=function(e){return!(e&e-1||!e)},he=3553,be=34067,ve=34069,ge=6408,ye=6406,xe=6407,we=6409,Ae=6410,_e=32855,ke=6402,Se=34041,Oe=35904,Ee=35906,Te=36193,De=33776,je=33777,Ce=33778,ze=33779,Fe=5121,Be=5123,Ve=5125,Ie=5126,Pe=33071,Le=9728,Re=9984,Me=9987,We=4352,Ue=33984,Ge=[Re,9986,9985,Me],He=[0,we,Ae,xe,ge],Ne={};function qe(e){return\"[object \"+e+\"]\"}Ne[6409]=Ne[6406]=Ne[6402]=1,Ne[34041]=Ne[6410]=2,Ne[6407]=Ne[35904]=3,Ne[6408]=Ne[35906]=4;var Qe=qe(\"HTMLCanvasElement\"),Ye=qe(\"OffscreenCanvas\"),Xe=qe(\"CanvasRenderingContext2D\"),$e=qe(\"ImageBitmap\"),Ke=qe(\"HTMLImageElement\"),Je=qe(\"HTMLVideoElement\"),Ze=Object.keys(Y).concat([Qe,Ye,Xe,$e,Ke,Je]),et=[];et[5121]=1,et[5126]=4,et[36193]=2,et[5123]=2,et[5125]=4;var tt=[];function rt(e){return Array.isArray(e)&&(0===e.length||\"number\"==typeof e[0])}function nt(e){return!!Array.isArray(e)&&!(0===e.length||!me(e[0]))}function at(e){return Object.prototype.toString.call(e)}function it(e){return at(e)===Qe}function ot(e){return at(e)===Ye}function ft(e){if(!e)return!1;var t=at(e);return Ze.indexOf(t)>=0||rt(e)||nt(e)||G(e)}function ut(e){return 0|Y[Object.prototype.toString.call(e)]}function st(e,t){return L.allocType(e.type===Te?Ie:e.type,t)}function ct(e,t){e.type===Te?(e.data=de(t),L.freeType(t)):e.data=t}function lt(e,t,r,n,a,i){var o;if(o=void 0!==tt[e]?tt[e]:Ne[e]*et[t],i&&(o*=6),a){for(var f=0,u=r;u>=1;)f+=o*u*u,u/=2;return f}return o*r*n}function dt(r,n,a,i,o,f,u){var s={\"don't care\":We,\"dont care\":We,nice:4354,fast:4353},c={repeat:10497,clamp:Pe,mirror:33648},l={nearest:Le,linear:9729},d=t({mipmap:Me,\"nearest mipmap nearest\":Re,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":Me},l),m={none:0,browser:37444},p={uint8:Fe,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},h={alpha:ye,luminance:we,\"luminance alpha\":Ae,rgb:xe,rgba:ge,rgba4:32854,\"rgb5 a1\":_e,rgb565:36194},b={};n.ext_srgb&&(h.srgb=Oe,h.srgba=Ee),n.oes_texture_float&&(p.float32=p.float=Ie),n.oes_texture_half_float&&(p.float16=p[\"half float\"]=Te),n.webgl_depth_texture&&(t(h,{depth:ke,\"depth stencil\":Se}),t(p,{uint16:Be,uint32:Ve,\"depth stencil\":34042})),n.webgl_compressed_texture_s3tc&&t(b,{\"rgb s3tc dxt1\":De,\"rgba s3tc dxt1\":je,\"rgba s3tc dxt3\":Ce,\"rgba s3tc dxt5\":ze}),n.webgl_compressed_texture_atc&&t(b,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),n.webgl_compressed_texture_pvrtc&&t(b,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),n.webgl_compressed_texture_etc1&&(b[\"rgb etc1\"]=36196);var v=Array.prototype.slice.call(r.getParameter(34467));Object.keys(b).forEach((function(e){var t=b[e];v.indexOf(t)>=0&&(h[e]=t)}));var g=Object.keys(h);a.textureFormats=g;var y=[];Object.keys(h).forEach((function(e){var t=h[e];y[t]=e}));var x=[];Object.keys(p).forEach((function(e){var t=p[e];x[t]=e}));var w=[];Object.keys(l).forEach((function(e){w[l[e]]=e}));var A=[];Object.keys(d).forEach((function(e){var t=d[e];A[t]=e}));var k=[];Object.keys(c).forEach((function(e){k[c[e]]=e}));var S=g.reduce((function(e,t){var r=h[t];return r===we||r===ye||r===we||r===Ae||r===ke||r===Se||n.ext_srgb&&(r===Oe||r===Ee)?e[r]=r:r===_e||t.indexOf(\"rgba\")>=0?e[r]=ge:e[r]=xe,e}),{});function O(){this.internalformat=ge,this.format=ge,this.type=Fe,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=37444,this.width=0,this.height=0,this.channels=0}function E(e,t){e.internalformat=t.internalformat,e.format=t.format,e.type=t.type,e.compressed=t.compressed,e.premultiplyAlpha=t.premultiplyAlpha,e.flipY=t.flipY,e.unpackAlignment=t.unpackAlignment,e.colorSpace=t.colorSpace,e.width=t.width,e.height=t.height,e.channels=t.channels}function T(e,t){if(\"object\"==typeof t&&t){if(\"premultiplyAlpha\"in t&&(_.type(t.premultiplyAlpha,\"boolean\",\"invalid premultiplyAlpha\"),e.premultiplyAlpha=t.premultiplyAlpha),\"flipY\"in t&&(_.type(t.flipY,\"boolean\",\"invalid texture flip\"),e.flipY=t.flipY),\"alignment\"in t&&(_.oneOf(t.alignment,[1,2,4,8],\"invalid texture unpack alignment\"),e.unpackAlignment=t.alignment),\"colorSpace\"in t&&(_.parameter(t.colorSpace,m,\"invalid colorSpace\"),e.colorSpace=m[t.colorSpace]),\"type\"in t){var r=t.type;_(n.oes_texture_float||!(\"float\"===r||\"float32\"===r),\"you must enable the OES_texture_float extension in order to use floating point textures.\"),_(n.oes_texture_half_float||!(\"half float\"===r||\"float16\"===r),\"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures.\"),_(n.webgl_depth_texture||!(\"uint16\"===r||\"uint32\"===r||\"depth stencil\"===r),\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\"),_.parameter(r,p,\"invalid texture type\"),e.type=p[r]}var i=e.width,o=e.height,f=e.channels,u=!1;\"shape\"in t?(_(Array.isArray(t.shape)&&t.shape.length>=2,\"shape must be an array\"),i=t.shape[0],o=t.shape[1],3===t.shape.length&&(f=t.shape[2],_(f>0&&f<=4,\"invalid number of channels\"),u=!0),_(i>=0&&i<=a.maxTextureSize,\"invalid width\"),_(o>=0&&o<=a.maxTextureSize,\"invalid height\")):(\"radius\"in t&&(i=o=t.radius,_(i>=0&&i<=a.maxTextureSize,\"invalid radius\")),\"width\"in t&&(i=t.width,_(i>=0&&i<=a.maxTextureSize,\"invalid width\")),\"height\"in t&&(o=t.height,_(o>=0&&o<=a.maxTextureSize,\"invalid height\")),\"channels\"in t&&(f=t.channels,_(f>0&&f<=4,\"invalid number of channels\"),u=!0)),e.width=0|i,e.height=0|o,e.channels=0|f;var s=!1;if(\"format\"in t){var c=t.format;_(n.webgl_depth_texture||!(\"depth\"===c||\"depth stencil\"===c),\"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.\"),_.parameter(c,h,\"invalid texture format\");var l=e.internalformat=h[c];e.format=S[l],c in p&&(\"type\"in t||(e.type=p[c])),c in b&&(e.compressed=!0),s=!0}!u&&s?e.channels=Ne[e.format]:u&&!s?e.channels!==He[e.format]&&(e.format=e.internalformat=He[e.channels]):s&&u&&_(e.channels===Ne[e.format],\"number of channels inconsistent with specified format\")}}function D(e){r.pixelStorei(37440,e.flipY),r.pixelStorei(37441,e.premultiplyAlpha),r.pixelStorei(37443,e.colorSpace),r.pixelStorei(3317,e.unpackAlignment)}function j(){O.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function C(t,r){var n=null;if(ft(r)?n=r:r&&(_.type(r,\"object\",\"invalid pixel data type\"),T(t,r),\"x\"in r&&(t.xOffset=0|r.x),\"y\"in r&&(t.yOffset=0|r.y),ft(r.data)&&(n=r.data)),_(!t.compressed||n instanceof Uint8Array,\"compressed texture data must be stored in a uint8array\"),r.copy){_(!n,\"can not specify copy and data field for the same texture\");var i=o.viewportWidth,f=o.viewportHeight;t.width=t.width||i-t.xOffset,t.height=t.height||f-t.yOffset,t.needsCopy=!0,_(t.xOffset>=0&&t.xOffset=0&&t.yOffset0&&t.width<=i&&t.height>0&&t.height<=f,\"copy texture read out of bounds\")}else if(n){if(e(n))t.channels=t.channels||4,t.data=n,\"type\"in r||t.type!==Fe||(t.type=ut(n));else if(rt(n))t.channels=t.channels||4,function(e,t){var r=t.length;switch(e.type){case Fe:case Be:case Ve:case Ie:var n=L.allocType(e.type,r);n.set(t),e.data=n;break;case Te:e.data=de(t);break;default:_.raise(\"unsupported texture type, must specify a typed array\")}}(t,n),t.alignment=1,t.needsFree=!0;else if(G(n)){var u=n.data;Array.isArray(u)||t.type!==Fe||(t.type=ut(u));var s,c,l,d,m,p,h=n.shape,b=n.stride;3===h.length?(l=h[2],p=b[2]):(_(2===h.length,\"invalid ndarray pixel data, must be 2 or 3D\"),l=1,p=1),s=h[0],c=h[1],d=b[0],m=b[1],t.alignment=1,t.width=s,t.height=c,t.channels=l,t.format=t.internalformat=He[l],t.needsFree=!0,function(e,t,r,n,a,i){for(var o=e.width,f=e.height,u=e.channels,s=st(e,o*f*u),c=0,l=0;l=0,\"oes_texture_float extension not enabled\"):t.type===Te&&_(a.extensions.indexOf(\"oes_texture_half_float\")>=0,\"oes_texture_half_float extension not enabled\")}function z(e,t,n){var a=e.element,o=e.data,f=e.internalformat,u=e.format,s=e.type,c=e.width,l=e.height;D(e),a?r.texImage2D(t,n,u,u,s,a):e.compressed?r.compressedTexImage2D(t,n,f,c,l,0,o):e.needsCopy?(i(),r.copyTexImage2D(t,n,u,e.xOffset,e.yOffset,c,l,0)):r.texImage2D(t,n,u,c,l,0,u,s,o||null)}function F(e,t,n,a,o){var f=e.element,u=e.data,s=e.internalformat,c=e.format,l=e.type,d=e.width,m=e.height;D(e),f?r.texSubImage2D(t,o,n,a,c,l,f):e.compressed?r.compressedTexSubImage2D(t,o,n,a,s,d,m,u):e.needsCopy?(i(),r.copyTexSubImage2D(t,o,n,a,e.xOffset,e.yOffset,d,m)):r.texSubImage2D(t,o,n,a,d,m,c,l,u)}var B=[];function V(){return B.pop()||new j}function I(e){e.needsFree&&L.freeType(e.data),j.call(e),B.push(e)}function P(){O.call(this),this.genMipmaps=!1,this.mipmapHint=We,this.mipmask=0,this.images=Array(16)}function R(e,t,r){var n=e.images[0]=V();e.mipmask=1,n.width=e.width=t,n.height=e.height=r,n.channels=e.channels=4}function M(e,t){var r=null;if(ft(t))E(r=e.images[0]=V(),e),C(r,t),e.mipmask=1;else if(T(e,t),Array.isArray(t.mipmap))for(var n=t.mipmap,a=0;a>=a,r.height>>=a,C(r,n[a]),e.mipmask|=1<=0&&!(\"faces\"in t)&&(e.genMipmaps=!0)}if(\"mag\"in t){var n=t.mag;_.parameter(n,l),e.magFilter=l[n]}var i=e.wrapS,o=e.wrapT;if(\"wrap\"in t){var f=t.wrap;\"string\"==typeof f?(_.parameter(f,c),i=o=c[f]):Array.isArray(f)&&(_.parameter(f[0],c),_.parameter(f[1],c),i=c[f[0]],o=c[f[1]])}else{if(\"wrapS\"in t){var u=t.wrapS;_.parameter(u,c),i=c[u]}if(\"wrapT\"in t){var m=t.wrapT;_.parameter(m,c),o=c[m]}}if(e.wrapS=i,e.wrapT=o,\"anisotropic\"in t){var p=t.anisotropic;_(\"number\"==typeof p&&p>=1&&p<=a.maxAnisotropic,\"aniso samples must be between 1 and \"),e.anisotropic=t.anisotropic}if(\"mipmap\"in t){var h=!1;switch(typeof t.mipmap){case\"string\":_.parameter(t.mipmap,s,\"invalid mipmap hint\"),e.mipmapHint=s[t.mipmap],e.genMipmaps=!0,h=!0;break;case\"boolean\":h=e.genMipmaps=t.mipmap;break;case\"object\":_(Array.isArray(t.mipmap),\"invalid mipmap type\"),e.genMipmaps=!1,h=!0;break;default:_.raise(\"invalid mipmap type\")}h&&!(\"min\"in t)&&(e.minFilter=Re)}}function $(e,t){r.texParameteri(t,10241,e.minFilter),r.texParameteri(t,10240,e.magFilter),r.texParameteri(t,10242,e.wrapS),r.texParameteri(t,10243,e.wrapT),n.ext_texture_filter_anisotropic&&r.texParameteri(t,34046,e.anisotropic),e.genMipmaps&&(r.hint(33170,e.mipmapHint),r.generateMipmap(t))}var K=0,J={},Z=a.maxTextureUnits,ee=Array(Z).map((function(){return null}));function te(e){O.call(this),this.mipmask=0,this.internalformat=ge,this.id=K++,this.refCount=1,this.target=e,this.texture=r.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new Y,u.profile&&(this.stats={size:0})}function re(e){r.activeTexture(Ue),r.bindTexture(e.target,e.texture)}function ne(){var e=ee[0];e?r.bindTexture(e.target,e.texture):r.bindTexture(he,null)}function ae(e){var t=e.texture;_(t,\"must not double destroy texture\");var n=e.unit,a=e.target;n>=0&&(r.activeTexture(Ue+n),r.bindTexture(a,null),ee[n]=null),r.deleteTexture(t),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete J[e.id],f.textureCount--}return t(te.prototype,{bind:function(){var e=this;e.bindCount+=1;var t=e.unit;if(t<0){for(var n=0;n0)continue;a.unit=-1}ee[n]=e,t=n;break}t>=Z&&_.raise(\"insufficient number of texture units\"),u.profile&&f.maxTextureUnits>u)-o,s.height=s.height||(n.height>>u)-f,_(n.type===s.type&&n.format===s.format&&n.internalformat===s.internalformat,\"incompatible format for texture.subimage\"),_(o>=0&&f>=0&&o+s.width<=n.width&&f+s.height<=n.height,\"texture.subimage write out of bounds\"),_(n.mipmask&1<>f;++f){var s=a>>f,c=o>>f;if(!s||!c)break;r.texImage2D(he,f,n.format,s,c,0,n.format,n.type,null)}return ne(),u.profile&&(n.stats.size=lt(n.internalformat,n.type,a,o,!1,!1)),i},i._reglType=\"texture2d\",i._texture=n,u.profile&&(i.stats=n.stats),i.destroy=function(){n.decRef()},i},createCube:function(e,t,n,i,o,s){var c=new te(be);J[c.id]=c,f.cubeCount++;var l=new Array(6);function d(e,t,r,n,i,o){var f,s=c.texInfo;for(Y.call(s),f=0;f<6;++f)l[f]=q();if(\"number\"!=typeof e&&e)if(\"object\"==typeof e)if(t)M(l[0],e),M(l[1],t),M(l[2],r),M(l[3],n),M(l[4],i),M(l[5],o);else if(X(s,e),T(c,e),\"faces\"in e){var m=e.faces;for(_(Array.isArray(m)&&6===m.length,\"cube faces must be a length 6 array\"),f=0;f<6;++f)_(\"object\"==typeof m[f]&&!!m[f],\"invalid input for cube map face\"),E(l[f],c),M(l[f],m[f])}else for(f=0;f<6;++f)M(l[f],e);else _.raise(\"invalid arguments to cube map\");else{var p=0|e||1;for(f=0;f<6;++f)R(l[f],p,p)}for(E(c,l[0]),_.optional((function(){a.npotTextureCube||_(pe(c.width)&&pe(c.height),\"your browser does not support non power or two texture dimensions\")})),s.genMipmaps?c.mipmask=(l[0].width<<1)-1:c.mipmask=l[0].mipmask,_.textureCube(c,s,l,a),c.internalformat=l[0].internalformat,d.width=l[0].width,d.height=l[0].height,re(c),f=0;f<6;++f)W(l[f],ve+f);for($(s,be),ne(),u.profile&&(c.stats.size=lt(c.internalformat,c.type,d.width,d.height,s.genMipmaps,!0)),d.format=y[c.internalformat],d.type=x[c.type],d.mag=w[s.magFilter],d.min=A[s.minFilter],d.wrapS=k[s.wrapS],d.wrapT=k[s.wrapT],f=0;f<6;++f)Q(l[f]);return d}return d(e,t,n,i,o,s),d.subimage=function(e,t,r,n,a){_(!!t,\"must specify image data\"),_(\"number\"==typeof e&&e===(0|e)&&e>=0&&e<6,\"invalid face\");var i=0|r,o=0|n,f=0|a,u=V();return E(u,c),u.width=0,u.height=0,C(u,t),u.width=u.width||(c.width>>f)-i,u.height=u.height||(c.height>>f)-o,_(c.type===u.type&&c.format===u.format&&c.internalformat===u.internalformat,\"incompatible format for texture.subimage\"),_(i>=0&&o>=0&&i+u.width<=c.width&&o+u.height<=c.height,\"texture.subimage write out of bounds\"),_(c.mipmask&1<>a;++a)r.texImage2D(ve+n,a,c.format,t>>a,t>>a,0,c.format,c.type,null);return ne(),u.profile&&(c.stats.size=lt(c.internalformat,c.type,d.width,d.height,!1,!0)),d}},d._reglType=\"textureCube\",d._texture=c,u.profile&&(d.stats=c.stats),d.destroy=function(){c.decRef()},d},clear:function(){for(var e=0;e>t,e.height>>t,0,e.internalformat,e.type,null);else for(var n=0;n<6;++n)r.texImage2D(ve+n,t,e.internalformat,e.width>>t,e.height>>t,0,e.internalformat,e.type,null);$(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e=0&&c=0&&l0&&d+c<=a.framebufferWidth,\"invalid width for read pixels\"),_(m>0&&m+l<=a.framebufferHeight,\"invalid height for read pixels\"),n();var h=d*m*4;return p||(s===Dt?p=new Uint8Array(h):s===jt&&(p=p||new Float32Array(h))),_.isTypedArray(p,\"data buffer for regl.read() must be a typedarray\"),_(p.byteLength>=h,\"data buffer for regl.read() too small\"),t.pixelStorei(3333,4),t.readPixels(c,l,d,m,6408,s,p),p}return function(e){return e&&\"framebuffer\"in e?function(e){var t;return r.setFBO({framebuffer:e.framebuffer},(function(){t=u(e)})),t}(e):u(e)}}function zt(e){return Array.prototype.slice.call(e)}function Ft(e){return zt(e).join(\"\")}var Bt=\"xyzw\".split(\"\"),Vt=\"dither\",It=\"blend.enable\",Pt=\"blend.color\",Lt=\"blend.equation\",Rt=\"blend.func\",Mt=\"depth.enable\",Wt=\"depth.func\",Ut=\"depth.range\",Gt=\"depth.mask\",Ht=\"colorMask\",Nt=\"cull.enable\",qt=\"cull.face\",Qt=\"frontFace\",Yt=\"lineWidth\",Xt=\"polygonOffset.enable\",$t=\"polygonOffset.offset\",Kt=\"sample.alpha\",Jt=\"sample.enable\",Zt=\"sample.coverage\",er=\"stencil.enable\",tr=\"stencil.mask\",rr=\"stencil.func\",nr=\"stencil.opFront\",ar=\"stencil.opBack\",ir=\"scissor.enable\",or=\"scissor.box\",fr=\"viewport\",ur=\"profile\",sr=\"framebuffer\",cr=\"vert\",lr=\"frag\",dr=\"elements\",mr=\"primitive\",pr=\"count\",hr=\"offset\",br=\"instances\",vr=\"vao\",gr=\"Width\",yr=\"Height\",xr=sr+gr,wr=sr+yr,Ar=\"drawingBufferWidth\",_r=\"drawingBufferHeight\",kr=[Rt,Lt,rr,nr,ar,Zt,fr,or,$t],Sr=34962,Or=34963,Er=5126,Tr=35664,Dr=35665,jr=35666,Cr=5124,zr=35667,Fr=35668,Br=35669,Vr=35670,Ir=35671,Pr=35672,Lr=35673,Rr=35674,Mr=35675,Wr=35676,Ur=35678,Gr=35680,Hr=1028,Nr=1029,qr=2305,Qr=7680,Yr={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},Xr=[\"constant color, constant alpha\",\"one minus constant color, constant alpha\",\"constant color, one minus constant alpha\",\"one minus constant color, one minus constant alpha\",\"constant alpha, constant color\",\"constant alpha, one minus constant color\",\"one minus constant alpha, constant color\",\"one minus constant alpha, one minus constant color\"],$r={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},Jr={frag:35632,vert:35633},Zr={cw:2304,ccw:qr};function en(t){return Array.isArray(t)||e(t)||G(t)}function tn(e){return e.sort((function(e,t){return e===fr?-1:t===fr?1:e=1,n>=2,t)}if(4===r){var a=e.data;return new rn(a.thisDep,a.contextDep,a.propDep,t)}if(5===r)return new rn(!1,!1,!1,t);if(6===r){for(var i=!1,o=!1,f=!1,u=0;u=1&&(o=!0),c>=2&&(f=!0)}else 4===s.type&&(i=i||s.data.thisDep,o=o||s.data.contextDep,f=f||s.data.propDep)}return new rn(i,o,f,t)}return new rn(3===r,2===r,1===r,t)}var fn=new rn(!1,!1,!1,(function(){}));function un(e,r,n,a,i,o,f,u,s,c,l,d,m,p,h){var b=c.Record,v={add:32774,subtract:32778,\"reverse subtract\":32779};n.ext_blend_minmax&&(v.min=32775,v.max=32776);var g=n.angle_instanced_arrays,y=n.webgl_draw_buffers,x=n.oes_vertex_array_object,w={dirty:!0,profile:h.profile},A={},k=[],S={},O={};function E(e){return e.replace(\".\",\"_\")}function T(e,t,r){var n=E(e);k.push(e),A[n]=w[n]=!!r,S[n]=t}function j(e,t,r){var n=E(e);k.push(e),Array.isArray(r)?(w[n]=r.slice(),A[n]=r.slice()):w[n]=A[n]=r,O[n]=t}T(Vt,3024),T(It,3042),j(Pt,\"blendColor\",[0,0,0,0]),j(Lt,\"blendEquationSeparate\",[32774,32774]),j(Rt,\"blendFuncSeparate\",[1,0,1,0]),T(Mt,2929,!0),j(Wt,\"depthFunc\",513),j(Ut,\"depthRange\",[0,1]),j(Gt,\"depthMask\",!0),j(Ht,Ht,[!0,!0,!0,!0]),T(Nt,2884),j(qt,\"cullFace\",Nr),j(Qt,Qt,qr),j(Yt,Yt,1),T(Xt,32823),j($t,\"polygonOffset\",[0,0]),T(Kt,32926),T(Jt,32928),j(Zt,\"sampleCoverage\",[1,!1]),T(er,2960),j(tr,\"stencilMask\",-1),j(rr,\"stencilFunc\",[519,0,-1]),j(nr,\"stencilOpSeparate\",[Hr,Qr,Qr,Qr]),j(ar,\"stencilOpSeparate\",[Nr,Qr,Qr,Qr]),T(ir,3089),j(or,\"scissor\",[0,0,e.drawingBufferWidth,e.drawingBufferHeight]),j(fr,fr,[0,0,e.drawingBufferWidth,e.drawingBufferHeight]);var C={gl:e,context:m,strings:r,next:A,current:w,draw:d,elements:o,buffer:i,shader:l,attributes:c.state,vao:c,uniforms:s,framebuffer:u,extensions:n,timer:p,isBufferArgs:en},z={primTypes:ie,compareFuncs:$r,blendFuncs:Yr,blendEquations:v,stencilOps:Kr,glTypes:X,orientationType:Zr};_.optional((function(){C.isArrayLike=me})),y&&(z.backBuffer=[Nr],z.drawBuffer=V(a.maxDrawbuffers,(function(e){return 0===e?[0]:V(e,(function(e){return 36064+e}))})));var F=0;function B(){var e=function(){var e=0,r=[],n=[];function a(){var r=[],n=[];return t((function(){r.push.apply(r,zt(arguments))}),{def:function(){var t=\"v\"+e++;return n.push(t),arguments.length>0&&(r.push(t,\"=\"),r.push.apply(r,zt(arguments)),r.push(\";\")),t},toString:function(){return Ft([n.length>0?\"var \"+n.join(\",\")+\";\":\"\",Ft(r)])}})}function i(){var e=a(),r=a(),n=e.toString,i=r.toString;function o(t,n){r(t,n,\"=\",e.def(t,n),\";\")}return t((function(){e.apply(e,zt(arguments))}),{def:e.def,entry:e,exit:r,save:o,set:function(t,r,n){o(t,r),e(t,r,\"=\",n,\";\")},toString:function(){return n()+i()}})}var o=a(),f={};return{global:o,link:function(t){for(var a=0;a=0,'unknown parameter \"'+t+'\"',d.commandStr)}))}t(m),t(p)}));var h=function(e,t){var r=e.static;if(\"string\"==typeof r[lr]&&\"string\"==typeof r[cr]){if(Object.keys(t.dynamic).length>0)return null;var n=t.static,a=Object.keys(n);if(a.length>0&&\"number\"==typeof n[a[0]]){for(var i=[],o=0;o=0,\"invalid \"+e,r.commandStr)):u=!1,\"height\"in i?(f=0|i.height,_.command(f>=0,\"invalid \"+e,r.commandStr)):u=!1,new rn(!u&&t&&t.thisDep,!u&&t&&t.contextDep,!u&&t&&t.propDep,(function(e,t){var r=e.shared.context,n=o;\"width\"in i||(n=t.def(r,\".\",xr,\"-\",s));var a=f;return\"height\"in i||(a=t.def(r,\".\",wr,\"-\",c)),[s,c,n,a]}))}if(e in a){var l=a[e],d=on(l,(function(t,r){var n=t.invoke(r,l);_.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)}));var a=t.shared.context,i=r.def(n,\".x|0\"),o=r.def(n,\".y|0\"),f=r.def('\"width\" in ',n,\"?\",n,\".width|0:\",\"(\",a,\".\",xr,\"-\",i,\")\"),u=r.def('\"height\" in ',n,\"?\",n,\".height|0:\",\"(\",a,\".\",wr,\"-\",o,\")\");return _.optional((function(){t.assert(r,f+\">=0&&\"+u+\">=0\",\"invalid \"+e)})),[i,o,f,u]}));return t&&(d.thisDep=d.thisDep||t.thisDep,d.contextDep=d.contextDep||t.contextDep,d.propDep=d.propDep||t.propDep),d}return t?new rn(t.thisDep,t.contextDep,t.propDep,(function(e,t){var r=e.shared.context;return[0,0,t.def(r,\".\",xr),t.def(r,\".\",wr)]})):null}var o=i(fr);if(o){var f=o;o=new rn(o.thisDep,o.contextDep,o.propDep,(function(e,t){var r=f.append(e,t),n=e.shared.context;return t.set(n,\".viewportWidth\",r[2]),t.set(n,\".viewportHeight\",r[3]),r}))}return{viewport:o,scissor_box:i(or)}}(e,y,d),w=function(e,t){var r=e.static,n=e.dynamic,a={},i=!1,f=function(){if(vr in r){var e=r[vr];return null!==e&&null===c.getVAO(e)&&(e=c.createVAO(e)),i=!0,a.vao=e,an((function(t){var r=c.getVAO(e);return r?t.link(r):\"null\"}))}if(vr in n){i=!0;var t=n[vr];return on(t,(function(e,r){var n=e.invoke(r,t);return r.def(e.shared.vao+\".getVAO(\"+n+\")\")}))}return null}(),u=!1,s=function(){if(dr in r){var e=r[dr];if(a.elements=e,en(e)){var s=a.elements=o.create(e,!0);e=o.getElements(s),u=!0}else e&&(e=o.getElements(e),u=!0,_.command(e,\"invalid elements\",t.commandStr));var c=an((function(t,r){if(e){var n=t.link(e);return t.ELEMENTS=n,n}return t.ELEMENTS=null,null}));return c.value=e,c}if(dr in n){u=!0;var l=n[dr];return on(l,(function(e,t){var r=e.shared,n=r.isBufferArgs,a=r.elements,i=e.invoke(t,l),o=t.def(\"null\"),f=t.def(n,\"(\",i,\")\"),u=e.cond(f).then(o,\"=\",a,\".createStream(\",i,\");\").else(o,\"=\",a,\".getElements(\",i,\");\");return _.optional((function(){e.assert(u.else,\"!\"+i+\"||\"+o,\"invalid elements\")})),t.entry(u),t.exit(e.cond(f).then(a,\".destroyStream(\",o,\");\")),e.ELEMENTS=o,o}))}return i?new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.elements+\".getElements(\"+e.shared.vao+\".currentVAO.elements):null\")})):null}();function l(e,o){if(e in r){var s=0|r[e];return o?a.offset=s:a.instances=s,_.command(!o||s>=0,\"invalid \"+e,t.commandStr),an((function(e,t){return o&&(e.OFFSET=s),s}))}if(e in n){var c=n[e];return on(c,(function(t,r){var n=t.invoke(r,c);return o&&(t.OFFSET=n,_.optional((function(){t.assert(r,n+\">=0\",\"invalid \"+e)}))),n}))}if(o){if(u)return an((function(e,t){return e.OFFSET=0,0}));if(i)return new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.offset:0\")}))}else if(i)return new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.instances:-1\")}));return null}var d=l(hr,!0),m=function(){if(mr in r){var e=r[mr];return a.primitive=e,_.commandParameter(e,ie,\"invalid primitve\",t.commandStr),an((function(t,r){return ie[e]}))}if(mr in n){var o=n[mr];return on(o,(function(e,t){var r=e.constants.primTypes,n=e.invoke(t,o);return _.optional((function(){e.assert(t,n+\" in \"+r,\"invalid primitive, must be one of \"+Object.keys(ie))})),t.def(r,\"[\",n,\"]\")}))}return u?nn(s)?s.value?an((function(e,t){return t.def(e.ELEMENTS,\".primType\")})):an((function(){return 4})):new rn(s.thisDep,s.contextDep,s.propDep,(function(e,t){var r=e.ELEMENTS;return t.def(r,\"?\",r,\".primType:\",4)})):i?new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao+\".currentVAO?\"+e.shared.vao+\".currentVAO.primitive:4\")})):null}(),p=function(){if(pr in r){var e=0|r[pr];return a.count=e,_.command(\"number\"==typeof e&&e>=0,\"invalid vertex count\",t.commandStr),an((function(){return e}))}if(pr in n){var o=n[pr];return on(o,(function(e,t){var r=e.invoke(t,o);return _.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"&&'+r+\">=0&&\"+r+\"===(\"+r+\"|0)\",\"invalid vertex count\")})),r}))}if(u){if(nn(s)){if(s)return d?new rn(d.thisDep,d.contextDep,d.propDep,(function(e,t){var r=t.def(e.ELEMENTS,\".vertCount-\",e.OFFSET);return _.optional((function(){e.assert(t,r+\">=0\",\"invalid vertex offset/element buffer too small\")})),r})):an((function(e,t){return t.def(e.ELEMENTS,\".vertCount\")}));var c=an((function(){return-1}));return _.optional((function(){c.MISSING=!0})),c}var l=new rn(s.thisDep||d.thisDep,s.contextDep||d.contextDep,s.propDep||d.propDep,(function(e,t){var r=e.ELEMENTS;return e.OFFSET?t.def(r,\"?\",r,\".vertCount-\",e.OFFSET,\":-1\"):t.def(r,\"?\",r,\".vertCount:-1\")}));return _.optional((function(){l.DYNAMIC=!0})),l}if(i){var m=new rn(f.thisDep,f.contextDep,f.propDep,(function(e,t){return t.def(e.shared.vao,\".currentVAO?\",e.shared.vao,\".currentVAO.count:-1\")}));return m}return null}(),h=l(br,!1);return{elements:s,primitive:m,count:p,instances:h,offset:d,vao:f,vaoActive:i,elementsActive:u,static:a}}(e,d),A=function(e,t){var r=e.static,n=e.dynamic,i={};return k.forEach((function(e){var o=E(e);function f(t,a){if(e in r){var f=t(r[e]);i[o]=an((function(){return f}))}else if(e in n){var u=n[e];i[o]=on(u,(function(e,t){return a(e,t,e.invoke(t,u))}))}}switch(e){case Nt:case It:case Vt:case er:case Mt:case ir:case Xt:case Kt:case Jt:case Gt:return f((function(r){return _.commandType(r,\"boolean\",e,t.commandStr),r}),(function(t,r,n){return _.optional((function(){t.assert(r,\"typeof \"+n+'===\"boolean\"',\"invalid flag \"+e,t.commandStr)})),n}));case Wt:return f((function(r){return _.commandParameter(r,$r,\"invalid \"+e,t.commandStr),$r[r]}),(function(t,r,n){var a=t.constants.compareFuncs;return _.optional((function(){t.assert(r,n+\" in \"+a,\"invalid \"+e+\", must be one of \"+Object.keys($r))})),r.def(a,\"[\",n,\"]\")}));case Ut:return f((function(e){return _.command(me(e)&&2===e.length&&\"number\"==typeof e[0]&&\"number\"==typeof e[1]&&e[0]<=e[1],\"depth range is 2d array\",t.commandStr),e}),(function(e,t,r){return _.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===2&&typeof \"+r+'[0]===\"number\"&&typeof '+r+'[1]===\"number\"&&'+r+\"[0]<=\"+r+\"[1]\",\"depth range must be a 2d array\")})),[t.def(\"+\",r,\"[0]\"),t.def(\"+\",r,\"[1]\")]}));case Rt:return f((function(e){_.commandType(e,\"object\",\"blend.func\",t.commandStr);var r=\"srcRGB\"in e?e.srcRGB:e.src,n=\"srcAlpha\"in e?e.srcAlpha:e.src,a=\"dstRGB\"in e?e.dstRGB:e.dst,i=\"dstAlpha\"in e?e.dstAlpha:e.dst;return _.commandParameter(r,Yr,o+\".srcRGB\",t.commandStr),_.commandParameter(n,Yr,o+\".srcAlpha\",t.commandStr),_.commandParameter(a,Yr,o+\".dstRGB\",t.commandStr),_.commandParameter(i,Yr,o+\".dstAlpha\",t.commandStr),_.command(-1===Xr.indexOf(r+\", \"+a),\"unallowed blending combination (srcRGB, dstRGB) = (\"+r+\", \"+a+\")\",t.commandStr),[Yr[r],Yr[a],Yr[n],Yr[i]]}),(function(t,r,n){var a=t.constants.blendFuncs;function i(i,o){var f=r.def('\"',i,o,'\" in ',n,\"?\",n,\".\",i,o,\":\",n,\".\",i);return _.optional((function(){t.assert(r,f+\" in \"+a,\"invalid \"+e+\".\"+i+o+\", must be one of \"+Object.keys(Yr))})),f}_.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid blend func, must be an object\")}));var o=i(\"src\",\"RGB\"),f=i(\"dst\",\"RGB\");_.optional((function(){var e=t.constants.invalidBlendCombinations;t.assert(r,e+\".indexOf(\"+o+'+\", \"+'+f+\") === -1 \",\"unallowed blending combination for (srcRGB, dstRGB)\")}));var u=r.def(a,\"[\",o,\"]\"),s=r.def(a,\"[\",i(\"src\",\"Alpha\"),\"]\");return[u,r.def(a,\"[\",f,\"]\"),s,r.def(a,\"[\",i(\"dst\",\"Alpha\"),\"]\")]}));case Lt:return f((function(r){return\"string\"==typeof r?(_.commandParameter(r,v,\"invalid \"+e,t.commandStr),[v[r],v[r]]):\"object\"==typeof r?(_.commandParameter(r.rgb,v,e+\".rgb\",t.commandStr),_.commandParameter(r.alpha,v,e+\".alpha\",t.commandStr),[v[r.rgb],v[r.alpha]]):void _.commandRaise(\"invalid blend.equation\",t.commandStr)}),(function(t,r,n){var a=t.constants.blendEquations,i=r.def(),o=r.def(),f=t.cond(\"typeof \",n,'===\"string\"');return _.optional((function(){function r(e,r,n){t.assert(e,n+\" in \"+a,\"invalid \"+r+\", must be one of \"+Object.keys(v))}r(f.then,e,n),t.assert(f.else,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e),r(f.else,e+\".rgb\",n+\".rgb\"),r(f.else,e+\".alpha\",n+\".alpha\")})),f.then(i,\"=\",o,\"=\",a,\"[\",n,\"];\"),f.else(i,\"=\",a,\"[\",n,\".rgb];\",o,\"=\",a,\"[\",n,\".alpha];\"),r(f),[i,o]}));case Pt:return f((function(e){return _.command(me(e)&&4===e.length,\"blend.color must be a 4d array\",t.commandStr),V(4,(function(t){return+e[t]}))}),(function(e,t,r){return _.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===4\",\"blend.color must be a 4d array\")})),V(4,(function(e){return t.def(\"+\",r,\"[\",e,\"]\")}))}));case tr:return f((function(e){return _.commandType(e,\"number\",o,t.commandStr),0|e}),(function(e,t,r){return _.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"',\"invalid stencil.mask\")})),t.def(r,\"|0\")}));case rr:return f((function(r){_.commandType(r,\"object\",o,t.commandStr);var n=r.cmp||\"keep\",a=r.ref||0,i=\"mask\"in r?r.mask:-1;return _.commandParameter(n,$r,e+\".cmp\",t.commandStr),_.commandType(a,\"number\",e+\".ref\",t.commandStr),_.commandType(i,\"number\",e+\".mask\",t.commandStr),[$r[n],a,i]}),(function(e,t,r){var n=e.constants.compareFuncs;return _.optional((function(){function a(){e.assert(t,Array.prototype.join.call(arguments,\"\"),\"invalid stencil.func\")}a(r+\"&&typeof \",r,'===\"object\"'),a('!(\"cmp\" in ',r,\")||(\",r,\".cmp in \",n,\")\")})),[t.def('\"cmp\" in ',r,\"?\",n,\"[\",r,\".cmp]\",\":\",Qr),t.def(r,\".ref|0\"),t.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]}));case nr:case ar:return f((function(r){_.commandType(r,\"object\",o,t.commandStr);var n=r.fail||\"keep\",a=r.zfail||\"keep\",i=r.zpass||\"keep\";return _.commandParameter(n,Kr,e+\".fail\",t.commandStr),_.commandParameter(a,Kr,e+\".zfail\",t.commandStr),_.commandParameter(i,Kr,e+\".zpass\",t.commandStr),[e===ar?Nr:Hr,Kr[n],Kr[a],Kr[i]]}),(function(t,r,n){var a=t.constants.stencilOps;function i(i){return _.optional((function(){t.assert(r,'!(\"'+i+'\" in '+n+\")||(\"+n+\".\"+i+\" in \"+a+\")\",\"invalid \"+e+\".\"+i+\", must be one of \"+Object.keys(Kr))})),r.def('\"',i,'\" in ',n,\"?\",a,\"[\",n,\".\",i,\"]:\",Qr)}return _.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)})),[e===ar?Nr:Hr,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]}));case $t:return f((function(e){_.commandType(e,\"object\",o,t.commandStr);var r=0|e.factor,n=0|e.units;return _.commandType(r,\"number\",o+\".factor\",t.commandStr),_.commandType(n,\"number\",o+\".units\",t.commandStr),[r,n]}),(function(t,r,n){return _.optional((function(){t.assert(r,n+\"&&typeof \"+n+'===\"object\"',\"invalid \"+e)})),[r.def(n,\".factor|0\"),r.def(n,\".units|0\")]}));case qt:return f((function(e){var r=0;return\"front\"===e?r=Hr:\"back\"===e&&(r=Nr),_.command(!!r,o,t.commandStr),r}),(function(e,t,r){return _.optional((function(){e.assert(t,r+'===\"front\"||'+r+'===\"back\"',\"invalid cull.face\")})),t.def(r,'===\"front\"?',Hr,\":\",Nr)}));case Yt:return f((function(e){return _.command(\"number\"==typeof e&&e>=a.lineWidthDims[0]&&e<=a.lineWidthDims[1],\"invalid line width, must be a positive number between \"+a.lineWidthDims[0]+\" and \"+a.lineWidthDims[1],t.commandStr),e}),(function(e,t,r){return _.optional((function(){e.assert(t,\"typeof \"+r+'===\"number\"&&'+r+\">=\"+a.lineWidthDims[0]+\"&&\"+r+\"<=\"+a.lineWidthDims[1],\"invalid line width\")})),r}));case Qt:return f((function(e){return _.commandParameter(e,Zr,o,t.commandStr),Zr[e]}),(function(e,t,r){return _.optional((function(){e.assert(t,r+'===\"cw\"||'+r+'===\"ccw\"',\"invalid frontFace, must be one of cw,ccw\")})),t.def(r+'===\"cw\"?2304:'+qr)}));case Ht:return f((function(e){return _.command(me(e)&&4===e.length,\"color.mask must be length 4 array\",t.commandStr),e.map((function(e){return!!e}))}),(function(e,t,r){return _.optional((function(){e.assert(t,e.shared.isArrayLike+\"(\"+r+\")&&\"+r+\".length===4\",\"invalid color.mask\")})),V(4,(function(e){return\"!!\"+r+\"[\"+e+\"]\"}))}));case Zt:return f((function(e){_.command(\"object\"==typeof e&&e,o,t.commandStr);var r=\"value\"in e?e.value:1,n=!!e.invert;return _.command(\"number\"==typeof r&&r>=0&&r<=1,\"sample.coverage.value must be a number between 0 and 1\",t.commandStr),[r,n]}),(function(e,t,r){return _.optional((function(){e.assert(t,r+\"&&typeof \"+r+'===\"object\"',\"invalid sample.coverage\")})),[t.def('\"value\" in ',r,\"?+\",r,\".value:1\"),t.def(\"!!\",r,\".invert\")]}))}})),i}(e,d),S=function(e,t,n){var a=e.static,i=e.dynamic;function o(e){if(e in a){var t=r.id(a[e]);_.optional((function(){l.shader(Jr[e],t,_.guessCommand())}));var n=an((function(){return t}));return n.id=t,n}if(e in i){var o=i[e];return on(o,(function(t,r){var n=t.invoke(r,o),a=r.def(t.shared.strings,\".id(\",n,\")\");return _.optional((function(){r(t.shared.shader,\".shader(\",Jr[e],\",\",a,\",\",t.command,\");\")})),a}))}return null}var f,u=o(lr),s=o(cr),c=null;return nn(u)&&nn(s)?(c=l.program(s.id,u.id,null,n),f=an((function(e,t){return e.link(c)}))):f=new rn(u&&u.thisDep||s&&s.thisDep,u&&u.contextDep||s&&s.contextDep,u&&u.propDep||s&&s.propDep,(function(e,t){var r,n=e.shared.shader;r=u?u.append(e,t):t.def(n,\".\",lr);var a=n+\".program(\"+(s?s.append(e,t):t.def(n,\".\",cr))+\",\"+r;return _.optional((function(){a+=\",\"+e.command})),t.def(a+\")\")})),{frag:u,vert:s,progVar:f,program:c}}(e,0,h);function O(e){var t=x[e];t&&(A[e]=t)}O(fr),O(E(or));var T=Object.keys(A).length>0,D={framebuffer:y,draw:w,shader:S,state:A,dirty:T,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(D.profile=function(e){var t,r=e.static,n=e.dynamic;if(ur in r){var a=!!r[ur];(t=an((function(e,t){return a}))).enable=a}else if(ur in n){var i=n[ur];t=on(i,(function(e,t){return e.invoke(t,i)}))}return t}(e),D.uniforms=function(e,t){var r=e.static,n=e.dynamic,a={};return Object.keys(r).forEach((function(e){var n,i=r[e];if(\"number\"==typeof i||\"boolean\"==typeof i)n=an((function(){return i}));else if(\"function\"==typeof i){var o=i._reglType;\"texture2d\"===o||\"textureCube\"===o?n=an((function(e){return e.link(i)})):\"framebuffer\"===o||\"framebufferCube\"===o?(_.command(i.color.length>0,'missing color attachment for framebuffer sent to uniform \"'+e+'\"',t.commandStr),n=an((function(e){return e.link(i.color[0])}))):_.commandRaise('invalid data for uniform \"'+e+'\"',t.commandStr)}else me(i)?n=an((function(t){return t.global.def(\"[\",V(i.length,(function(r){return _.command(\"number\"==typeof i[r]||\"boolean\"==typeof i[r],\"invalid uniform \"+e,t.commandStr),i[r]})),\"]\")})):_.commandRaise('invalid or missing data for uniform \"'+e+'\"',t.commandStr);n.value=i,a[e]=n})),Object.keys(n).forEach((function(e){var t=n[e];a[e]=on(t,(function(e,r){return e.invoke(r,t)}))})),a}(f,d),D.drawVAO=D.scopeVAO=w.vao,!D.drawVAO&&S.program&&!h&&n.angle_instanced_arrays&&w.static.elements){var j=!0,C=S.program.attributes.map((function(e){var r=t.static[e];return j=j&&!!r,r}));if(j&&C.length>0){var z=c.getVAO(c.createVAO({attributes:C,elements:w.static.elements}));D.drawVAO=new rn(null,null,null,(function(e,t){return e.link(z)})),D.useVAO=!0}}return h?D.useVAO=!0:D.attributes=function(e,t){var n=e.static,a=e.dynamic,o={};return Object.keys(n).forEach((function(e){var a=n[e],f=r.id(e),u=new b;if(en(a))u.state=1,u.buffer=i.getBuffer(i.create(a,Sr,!1,!0)),u.type=0;else{var s=i.getBuffer(a);if(s)u.state=1,u.buffer=s,u.type=0;else if(_.command(\"object\"==typeof a&&a,\"invalid data for attribute \"+e,t.commandStr),\"constant\"in a){var c=a.constant;u.buffer=\"null\",u.state=2,\"number\"==typeof c?u.x=c:(_.command(me(c)&&c.length>0&&c.length<=4,\"invalid constant for attribute \"+e,t.commandStr),Bt.forEach((function(e,t){t=0,'invalid offset for attribute \"'+e+'\"',t.commandStr);var d=0|a.stride;_.command(d>=0&&d<256,'invalid stride for attribute \"'+e+'\", must be integer betweeen [0, 255]',t.commandStr);var m=0|a.size;_.command(!(\"size\"in a)||m>0&&m<=4,'invalid size for attribute \"'+e+'\", must be 1,2,3,4',t.commandStr);var p=!!a.normalized,h=0;\"type\"in a&&(_.commandParameter(a.type,X,\"invalid type for attribute \"+e,t.commandStr),h=X[a.type]);var v=0|a.divisor;_.optional((function(){\"divisor\"in a&&(_.command(0===v||g,'cannot specify divisor for attribute \"'+e+'\", instancing not supported',t.commandStr),_.command(v>=0,'invalid divisor for attribute \"'+e+'\"',t.commandStr));var r=t.commandStr,n=[\"buffer\",\"offset\",\"divisor\",\"normalized\",\"type\",\"size\",\"stride\"];Object.keys(a).forEach((function(t){_.command(n.indexOf(t)>=0,'unknown parameter \"'+t+'\" for attribute pointer \"'+e+'\" (valid parameters are '+n+\")\",r)}))})),u.buffer=s,u.state=1,u.size=m,u.normalized=p,u.type=h||s.dtype,u.offset=l,u.stride=d,u.divisor=v}}o[e]=an((function(e,t){var r=e.attribCache;if(f in r)return r[f];var n={isStream:!1};return Object.keys(u).forEach((function(e){n[e]=u[e]})),u.buffer&&(n.buffer=e.link(u.buffer),n.type=n.type||n.buffer+\".dtype\"),r[f]=n,n}))})),Object.keys(a).forEach((function(e){var t=a[e];o[e]=on(t,(function(r,n){var a=r.invoke(n,t),i=r.shared,o=r.constants,f=i.isBufferArgs,u=i.buffer;_.optional((function(){r.assert(n,a+\"&&(typeof \"+a+'===\"object\"||typeof '+a+'===\"function\")&&('+f+\"(\"+a+\")||\"+u+\".getBuffer(\"+a+\")||\"+u+\".getBuffer(\"+a+\".buffer)||\"+f+\"(\"+a+'.buffer)||(\"constant\" in '+a+\"&&(typeof \"+a+'.constant===\"number\"||'+i.isArrayLike+\"(\"+a+\".constant))))\",'invalid dynamic attribute \"'+e+'\"')}));var s={isStream:n.def(!1)},c=new b;c.state=1,Object.keys(c).forEach((function(e){s[e]=n.def(\"\"+c[e])}));var l=s.buffer,d=s.type;function m(e){n(s[e],\"=\",a,\".\",e,\"|0;\")}return n(\"if(\",f,\"(\",a,\")){\",s.isStream,\"=true;\",l,\"=\",u,\".createStream(\",Sr,\",\",a,\");\",d,\"=\",l,\".dtype;\",\"}else{\",l,\"=\",u,\".getBuffer(\",a,\");\",\"if(\",l,\"){\",d,\"=\",l,\".dtype;\",'}else if(\"constant\" in ',a,\"){\",s.state,\"=\",2,\";\",\"if(typeof \"+a+'.constant === \"number\"){',s[Bt[0]],\"=\",a,\".constant;\",Bt.slice(1).map((function(e){return s[e]})).join(\"=\"),\"=0;\",\"}else{\",Bt.map((function(e,t){return s[e]+\"=\"+a+\".constant.length>\"+t+\"?\"+a+\".constant[\"+t+\"]:0;\"})).join(\"\"),\"}}else{\",\"if(\",f,\"(\",a,\".buffer)){\",l,\"=\",u,\".createStream(\",Sr,\",\",a,\".buffer);\",\"}else{\",l,\"=\",u,\".getBuffer(\",a,\".buffer);\",\"}\",d,'=\"type\" in ',a,\"?\",o.glTypes,\"[\",a,\".type]:\",l,\".dtype;\",s.normalized,\"=!!\",a,\".normalized;\"),m(\"size\"),m(\"offset\"),m(\"stride\"),m(\"divisor\"),n(\"}}\"),n.exit(\"if(\",s.isStream,\"){\",u,\".destroyStream(\",l,\");\",\"}\"),s}))})),o}(t,d),D.context=function(e){var t=e.static,r=e.dynamic,n={};return Object.keys(t).forEach((function(e){var r=t[e];n[e]=an((function(e,t){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:e.link(r)}))})),Object.keys(r).forEach((function(e){var t=r[e];n[e]=on(t,(function(e,r){return e.invoke(r,t)}))})),n}(s),D}function P(e,t,r){var n=e.shared.context,a=e.scope();Object.keys(r).forEach((function(i){t.save(n,\".\"+i);var o=r[i].append(e,t);Array.isArray(o)?a(n,\".\",i,\"=[\",o.join(),\"];\"):a(n,\".\",i,\"=\",o,\";\")})),t(a)}function L(e,t,r,n){var a,i=e.shared,o=i.gl,f=i.framebuffer;y&&(a=t.def(i.extensions,\".webgl_draw_buffers\"));var u,s=e.constants,c=s.drawBuffer,l=s.backBuffer;u=r?r.append(e,t):t.def(f,\".next\"),n||t(\"if(\",u,\"!==\",f,\".cur){\"),t(\"if(\",u,\"){\",o,\".bindFramebuffer(\",36160,\",\",u,\".framebuffer);\"),y&&t(a,\".drawBuffersWEBGL(\",c,\"[\",u,\".colorAttachments.length]);\"),t(\"}else{\",o,\".bindFramebuffer(\",36160,\",null);\"),y&&t(a,\".drawBuffersWEBGL(\",l,\");\"),t(\"}\",f,\".cur=\",u,\";\"),n||t(\"}\")}function R(e,t,r){var n=e.shared,a=n.gl,i=e.current,o=e.next,f=n.current,u=n.next,s=e.cond(f,\".dirty\");k.forEach((function(t){var n,c,l=E(t);if(!(l in r.state))if(l in o){n=o[l],c=i[l];var d=V(w[l].length,(function(e){return s.def(n,\"[\",e,\"]\")}));s(e.cond(d.map((function(e,t){return e+\"!==\"+c+\"[\"+t+\"]\"})).join(\"||\")).then(a,\".\",O[l],\"(\",d,\");\",d.map((function(e,t){return c+\"[\"+t+\"]=\"+e})).join(\";\"),\";\"))}else{n=s.def(u,\".\",l);var m=e.cond(n,\"!==\",f,\".\",l);s(m),l in S?m(e.cond(n).then(a,\".enable(\",S[l],\");\").else(a,\".disable(\",S[l],\");\"),f,\".\",l,\"=\",n,\";\"):m(a,\".\",O[l],\"(\",n,\");\",f,\".\",l,\"=\",n,\";\")}})),0===Object.keys(r.state).length&&s(f,\".dirty=false;\"),t(s)}function M(e,t,r,n){var a=e.shared,i=e.current,o=a.current,f=a.gl;tn(Object.keys(r)).forEach((function(a){var u=r[a];if(!n||n(u)){var s=u.append(e,t);if(S[a]){var c=S[a];nn(u)?t(f,s?\".enable(\":\".disable(\",c,\");\"):t(e.cond(s).then(f,\".enable(\",c,\");\").else(f,\".disable(\",c,\");\")),t(o,\".\",a,\"=\",s,\";\")}else if(me(s)){var l=i[a];t(f,\".\",O[a],\"(\",s,\");\",s.map((function(e,t){return l+\"[\"+t+\"]=\"+e})).join(\";\"),\";\")}else t(f,\".\",O[a],\"(\",s,\");\",o,\".\",a,\"=\",s,\";\")}}))}function W(e,t){g&&(e.instancing=t.def(e.shared.extensions,\".angle_instanced_arrays\"))}function U(e,t,r,n,a){var i,o,f,u=e.shared,s=e.stats,c=u.current,l=u.timer,d=r.profile;function m(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function h(e){e(i=t.def(),\"=\",m(),\";\"),\"string\"==typeof a?e(s,\".count+=\",a,\";\"):e(s,\".count++;\"),p&&(n?e(o=t.def(),\"=\",l,\".getNumPendingQueries();\"):e(l,\".beginQuery(\",s,\");\"))}function b(e){e(s,\".cpuTime+=\",m(),\"-\",i,\";\"),p&&(n?e(l,\".pushScopeStats(\",o,\",\",l,\".getNumPendingQueries(),\",s,\");\"):e(l,\".endQuery();\"))}function v(e){var r=t.def(c,\".profile\");t(c,\".profile=\",e,\";\"),t.exit(c,\".profile=\",r,\";\")}if(d){if(nn(d))return void(d.enable?(h(t),b(t.exit),v(\"true\")):v(\"false\"));v(f=d.append(e,t))}else f=t.def(c,\".profile\");var g=e.block();h(g),t(\"if(\",f,\"){\",g,\"}\");var y=e.block();b(y),t.exit(\"if(\",f,\"){\",y,\"}\")}function G(e,t,r,n,a){var i=e.shared;n.forEach((function(n){var o,f=n.name,u=r.attributes[f];if(u){if(!a(u))return;o=u.append(e,t)}else{if(!a(fn))return;var s=e.scopeAttrib(f);_.optional((function(){e.assert(t,s+\".state\",\"missing attribute \"+f)})),o={},Object.keys(new b).forEach((function(e){o[e]=t.def(s,\".\",e)}))}!function(r,n,a){var o=i.gl,f=t.def(r,\".location\"),u=t.def(i.attributes,\"[\",f,\"]\"),s=a.state,c=a.buffer,l=[a.x,a.y,a.z,a.w],d=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function m(){t(\"if(!\",u,\".buffer){\",o,\".enableVertexAttribArray(\",f,\");}\");var r,i=a.type;if(r=a.size?t.def(a.size,\"||\",n):n,t(\"if(\",u,\".type!==\",i,\"||\",u,\".size!==\",r,\"||\",d.map((function(e){return u+\".\"+e+\"!==\"+a[e]})).join(\"||\"),\"){\",o,\".bindBuffer(\",Sr,\",\",c,\".buffer);\",o,\".vertexAttribPointer(\",[f,r,i,a.normalized,a.stride,a.offset],\");\",u,\".type=\",i,\";\",u,\".size=\",r,\";\",d.map((function(e){return u+\".\"+e+\"=\"+a[e]+\";\"})).join(\"\"),\"}\"),g){var s=a.divisor;t(\"if(\",u,\".divisor!==\",s,\"){\",e.instancing,\".vertexAttribDivisorANGLE(\",[f,s],\");\",u,\".divisor=\",s,\";}\")}}function p(){t(\"if(\",u,\".buffer){\",o,\".disableVertexAttribArray(\",f,\");\",u,\".buffer=null;\",\"}if(\",Bt.map((function(e,t){return u+\".\"+e+\"!==\"+l[t]})).join(\"||\"),\"){\",o,\".vertexAttrib4f(\",f,\",\",l,\");\",Bt.map((function(e,t){return u+\".\"+e+\"=\"+l[t]+\";\"})).join(\"\"),\"}\")}1===s?m():2===s?p():(t(\"if(\",s,\"===\",1,\"){\"),m(),t(\"}else{\"),p(),t(\"}\"))}(e.link(n),function(e){switch(e){case Tr:case zr:case Ir:return 2;case Dr:case Fr:case Pr:return 3;case jr:case Br:case Lr:return 4;default:return 1}}(n.info.type),o)}))}function H(e,t,n,a,i,o){for(var f,u=e.shared,s=u.gl,c={},l=0;l1){if(!b)continue;var v=m.replace(\"[0]\",\"\");if(c[v])continue;c[v]=1}var g,y=e.link(d)+\".location\";if(b){if(!i(b))continue;if(nn(b)){var x=b.value;if(_.command(null!=x,'missing uniform \"'+m+'\"',e.commandStr),p===Ur||p===Gr){_.command(\"function\"==typeof x&&(p===Ur&&(\"texture2d\"===x._reglType||\"framebuffer\"===x._reglType)||p===Gr&&(\"textureCube\"===x._reglType||\"framebufferCube\"===x._reglType)),\"invalid texture for uniform \"+m,e.commandStr);var w=e.link(x._texture||x.color[0]._texture);t(s,\".uniform1i(\",y,\",\",w+\".bind());\"),t.exit(w,\".unbind();\")}else if(p===Rr||p===Mr||p===Wr){_.optional((function(){_.command(me(x),\"invalid matrix for uniform \"+m,e.commandStr),_.command(p===Rr&&4===x.length||p===Mr&&9===x.length||p===Wr&&16===x.length,\"invalid length for matrix uniform \"+m,e.commandStr)}));var A=e.global.def(\"new Float32Array([\"+Array.prototype.slice.call(x)+\"])\"),k=2;p===Mr?k=3:p===Wr&&(k=4),t(s,\".uniformMatrix\",k,\"fv(\",y,\",false,\",A,\");\")}else{switch(p){case Er:1===h?_.commandType(x,\"number\",\"uniform \"+m,e.commandStr):_.command(me(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1f\";break;case Tr:_.command(me(x)&&x.length&&x.length%2==0&&x.length<=2*h,\"uniform \"+m,e.commandStr),f=\"2f\";break;case Dr:_.command(me(x)&&x.length&&x.length%3==0&&x.length<=3*h,\"uniform \"+m,e.commandStr),f=\"3f\";break;case jr:_.command(me(x)&&x.length&&x.length%4==0&&x.length<=4*h,\"uniform \"+m,e.commandStr),f=\"4f\";break;case Vr:1===h?_.commandType(x,\"boolean\",\"uniform \"+m,e.commandStr):_.command(me(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1i\";break;case Cr:1===h?_.commandType(x,\"number\",\"uniform \"+m,e.commandStr):_.command(me(x)&&x.length===h,\"uniform \"+m,e.commandStr),f=\"1i\";break;case Ir:case zr:_.command(me(x)&&x.length&&x.length%2==0&&x.length<=2*h,\"uniform \"+m,e.commandStr),f=\"2i\";break;case Pr:case Fr:_.command(me(x)&&x.length&&x.length%3==0&&x.length<=3*h,\"uniform \"+m,e.commandStr),f=\"3i\";break;case Lr:case Br:_.command(me(x)&&x.length&&x.length%4==0&&x.length<=4*h,\"uniform \"+m,e.commandStr),f=\"4i\"}h>1?(f+=\"v\",x=e.global.def(\"[\"+Array.prototype.slice.call(x)+\"]\")):x=me(x)?Array.prototype.slice.call(x):x,t(s,\".uniform\",f,\"(\",y,\",\",x,\");\")}continue}g=b.append(e,t)}else{if(!i(fn))continue;g=t.def(u.uniforms,\"[\",r.id(m),\"]\")}p===Ur?(_(!Array.isArray(g),\"must specify a scalar prop for textures\"),t(\"if(\",g,\"&&\",g,'._reglType===\"framebuffer\"){',g,\"=\",g,\".color[0];\",\"}\")):p===Gr&&(_(!Array.isArray(g),\"must specify a scalar prop for cube maps\"),t(\"if(\",g,\"&&\",g,'._reglType===\"framebufferCube\"){',g,\"=\",g,\".color[0];\",\"}\")),_.optional((function(){function r(r,n){e.assert(t,r,'bad data or missing for uniform \"'+m+'\". '+n)}function n(e,t){1===t&&_(!Array.isArray(g),\"must not specify an array type for uniform\"),r(\"Array.isArray(\"+g+\") && typeof \"+g+'[0]===\" '+e+'\" || typeof '+g+'===\"'+e+'\"',\"invalid type, expected \"+e)}function a(t,n,a){Array.isArray(g)?_(g.length&&g.length%t==0&&g.length<=t*a,\"must have length of \"+(1===a?\"\":\"n * \")+t):r(u.isArrayLike+\"(\"+g+\")&&\"+g+\".length && \"+g+\".length % \"+t+\" === 0 && \"+g+\".length<=\"+t*a,\"invalid vector, should have length of \"+(1===a?\"\":\"n * \")+t,e.commandStr)}function i(t){_(!Array.isArray(g),\"must not specify a value type\"),r(\"typeof \"+g+'===\"function\"&&'+g+'._reglType===\"texture'+(3553===t?\"2d\":\"Cube\")+'\"',\"invalid texture type\",e.commandStr)}switch(p){case Cr:n(\"number\",h);break;case zr:a(2,0,h);break;case Fr:a(3,0,h);break;case Br:a(4,0,h);break;case Er:n(\"number\",h);break;case Tr:a(2,0,h);break;case Dr:a(3,0,h);break;case jr:a(4,0,h);break;case Vr:n(\"boolean\",h);break;case Ir:a(2,0,h);break;case Pr:a(3,0,h);break;case Lr:case Rr:a(4,0,h);break;case Mr:a(9,0,h);break;case Wr:a(16,0,h);break;case Ur:i(3553);break;case Gr:i(34067)}}));var S=1;switch(p){case Ur:case Gr:var O=t.def(g,\"._texture\");t(s,\".uniform1i(\",y,\",\",O,\".bind());\"),t.exit(O,\".unbind();\");continue;case Cr:case Vr:f=\"1i\";break;case zr:case Ir:f=\"2i\",S=2;break;case Fr:case Pr:f=\"3i\",S=3;break;case Br:case Lr:f=\"4i\",S=4;break;case Er:f=\"1f\";break;case Tr:f=\"2f\",S=2;break;case Dr:f=\"3f\",S=3;break;case jr:f=\"4f\",S=4;break;case Rr:f=\"Matrix2fv\";break;case Mr:f=\"Matrix3fv\";break;case Wr:f=\"Matrix4fv\"}if(-1===f.indexOf(\"Matrix\")&&h>1&&(f+=\"v\",S=1),\"M\"===f.charAt(0)){t(s,\".uniform\",f,\"(\",y,\",\");var E=Math.pow(p-Rr+2,2),T=e.global.def(\"new Float32Array(\",E,\")\");Array.isArray(g)?t(\"false,(\",V(E,(function(e){return T+\"[\"+e+\"]=\"+g[e]})),\",\",T,\")\"):t(\"false,(Array.isArray(\",g,\")||\",g,\" instanceof Float32Array)?\",g,\":(\",V(E,(function(e){return T+\"[\"+e+\"]=\"+g+\"[\"+e+\"]\"})),\",\",T,\")\"),t(\");\")}else if(S>1){for(var D=[],j=[],C=0;C=0\",\"missing vertex count\")}))):(a=u.def(o,\".\",pr),_.optional((function(){e.assert(u,a+\">=0\",\"missing vertex count\")}))),a}();if(\"number\"==typeof p){if(0===p)return}else r(\"if(\",p,\"){\"),r.exit(\"}\");g&&(c=s(br),l=e.instancing);var h=u+\".type\",b=f.elements&&nn(f.elements)&&!f.vaoActive;function v(){function e(){r(l,\".drawElementsInstancedANGLE(\",[d,p,h,m+\"<<((\"+h+\"-5121)>>1)\",c],\");\")}function t(){r(l,\".drawArraysInstancedANGLE(\",[d,m,p,c],\");\")}u&&\"null\"!==u?b?e():(r(\"if(\",u,\"){\"),e(),r(\"}else{\"),t(),r(\"}\")):t()}function y(){function e(){r(i+\".drawElements(\"+[d,p,h,m+\"<<((\"+h+\"-5121)>>1)\"]+\");\")}function t(){r(i+\".drawArrays(\"+[d,m,p]+\");\")}u&&\"null\"!==u?b?e():(r(\"if(\",u,\"){\"),e(),r(\"}else{\"),t(),r(\"}\")):t()}g&&(\"number\"!=typeof c||c>=0)?\"string\"==typeof c?(r(\"if(\",c,\">0){\"),v(),r(\"}else if(\",c,\"<0){\"),y(),r(\"}\")):v():y()}function q(e,t,r,n,a){var i=B(),o=i.proc(\"body\",a);return _.optional((function(){i.commandStr=t.commandStr,i.command=i.link(t.commandStr)})),g&&(i.instancing=o.def(i.shared.extensions,\".angle_instanced_arrays\")),e(i,o,r,n),i.compile().body}function Q(e,t,r,n){W(e,t),r.useVAO?r.drawVAO?t(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,t),\");\"):t(e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"):(t(e.shared.vao,\".setVAO(null);\"),G(e,t,r,n.attributes,(function(){return!0}))),H(e,t,r,n.uniforms,(function(){return!0}),!1),N(e,t,t,r)}function Y(e,t,r,n){function a(){return!0}e.batchId=\"a1\",W(e,t),G(e,t,r,n.attributes,a),H(e,t,r,n.uniforms,a,!1),N(e,t,t,r)}function $(e,t,r,n){W(e,t);var a=r.contextDep,i=t.def(),o=t.def();e.shared.props=o,e.batchId=i;var f=e.scope(),u=e.scope();function s(e){return e.contextDep&&a||e.propDep}function c(e){return!s(e)}if(t(f.entry,\"for(\",i,\"=0;\",i,\"<\",\"a1\",\";++\",i,\"){\",o,\"=\",\"a0\",\"[\",i,\"];\",u,\"}\",f.exit),r.needsContext&&P(e,u,r.context),r.needsFramebuffer&&L(e,u,r.framebuffer),M(e,u,r.state,s),r.profile&&s(r.profile)&&U(e,u,r,!1,!0),n)r.useVAO?r.drawVAO?s(r.drawVAO)?u(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,u),\");\"):f(e.shared.vao,\".setVAO(\",r.drawVAO.append(e,f),\");\"):f(e.shared.vao,\".setVAO(\",e.shared.vao,\".targetVAO);\"):(f(e.shared.vao,\".setVAO(null);\"),G(e,f,r,n.attributes,c),G(e,u,r,n.attributes,s)),H(e,f,r,n.uniforms,c,!1),H(e,u,r,n.uniforms,s,!0),N(e,f,u,r);else{var l=e.global.def(\"{}\"),d=r.shader.progVar.append(e,u),m=u.def(d,\".id\"),p=u.def(l,\"[\",m,\"]\");u(e.shared.gl,\".useProgram(\",d,\".program);\",\"if(!\",p,\"){\",p,\"=\",l,\"[\",m,\"]=\",e.link((function(t){return q(Y,e,r,t,2)})),\"(\",d,\");}\",p,\".call(this,a0[\",i,\"],\",i,\");\")}}function K(e,t,r){var n=t.static[r];if(n&&function(e){if(\"object\"==typeof e&&!me(e)){for(var t=Object.keys(e),r=0;r0&&r(e.shared.current,\".dirty=true;\"),e.shared.vao&&r(e.shared.vao,\".setVAO(null);\")}(f,u),function(e,t){var n=e.proc(\"scope\",3);e.batchId=\"a2\";var a=e.shared,i=a.current;function o(r){var i=t.shader[r];i&&n.set(a.shader,\".\"+r,i.append(e,n))}P(e,n,t.context),t.framebuffer&&t.framebuffer.append(e,n),tn(Object.keys(t.state)).forEach((function(r){var i=t.state[r].append(e,n);me(i)?i.forEach((function(t,a){n.set(e.next[r],\"[\"+a+\"]\",t)})):n.set(a.next,\".\"+r,i)})),U(e,n,t,!0,!0),[dr,hr,pr,br,mr].forEach((function(r){var i=t.draw[r];i&&n.set(a.draw,\".\"+r,\"\"+i.append(e,n))})),Object.keys(t.uniforms).forEach((function(i){var o=t.uniforms[i].append(e,n);Array.isArray(o)&&(o=\"[\"+o.join()+\"]\"),n.set(a.uniforms,\"[\"+r.id(i)+\"]\",o)})),Object.keys(t.attributes).forEach((function(r){var a=t.attributes[r].append(e,n),i=e.scopeAttrib(r);Object.keys(new b).forEach((function(e){n.set(i,\".\"+e,a[e])}))})),t.scopeVAO&&n.set(a.vao,\".targetVAO\",t.scopeVAO.append(e,n)),o(cr),o(lr),Object.keys(t.state).length>0&&(n(i,\".dirty=true;\"),n.exit(i,\".dirty=true;\")),n(\"a1(\",e.shared.context,\",a0,\",e.batchId,\");\")}(f,u),function(e,t){var r=e.proc(\"batch\",2);e.batchId=\"0\",W(e,r);var n=!1,a=!0;Object.keys(t.context).forEach((function(e){n=n||t.context[e].propDep})),n||(P(e,r,t.context),a=!1);var i=t.framebuffer,o=!1;function f(e){return e.contextDep&&n||e.propDep}i?(i.propDep?n=o=!0:i.contextDep&&n&&(o=!0),o||L(e,r,i)):L(e,r,null),t.state.viewport&&t.state.viewport.propDep&&(n=!0),R(e,r,t),M(e,r,t.state,(function(e){return!f(e)})),t.profile&&f(t.profile)||U(e,r,t,!1,\"a1\"),t.contextDep=n,t.needsContext=a,t.needsFramebuffer=o;var u=t.shader.progVar;if(u.contextDep&&n||u.propDep)$(e,r,t,null);else{var s=u.append(e,r);if(r(e.shared.gl,\".useProgram(\",s,\".program);\"),t.shader.program)$(e,r,t,t.shader.program);else{r(e.shared.vao,\".setVAO(null);\");var c=e.global.def(\"{}\"),l=r.def(s,\".id\"),d=r.def(c,\"[\",l,\"]\");r(e.cond(d).then(d,\".call(this,a0,a1);\").else(d,\"=\",c,\"[\",l,\"]=\",e.link((function(r){return q($,e,t,r,2)})),\"(\",s,\");\",d,\".call(this,a0,a1);\"))}}Object.keys(t.state).length>0&&r(e.shared.current,\".dirty=true;\"),e.shared.vao&&r(e.shared.vao,\".setVAO(null);\")}(f,u),t(f.compile(),{destroy:function(){u.shader.program.destroy()}})}}}var sn=function(e,t){if(!t.ext_disjoint_timer_query)return null;var r=[];function n(e){r.push(e)}var a=[];function i(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var o=[];function f(e){o.push(e)}var u=[];function s(e,t,r){var n=o.pop()||new i;n.startQueryIndex=e,n.endQueryIndex=t,n.sum=0,n.stats=r,u.push(n)}var c=[],l=[];return{beginQuery:function(e){var n=r.pop()||t.ext_disjoint_timer_query.createQueryEXT();t.ext_disjoint_timer_query.beginQueryEXT(35007,n),a.push(n),s(a.length-1,a.length,e)},endQuery:function(){t.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:s,update:function(){var e,r,i=a.length;if(0!==i){l.length=Math.max(l.length,i+1),c.length=Math.max(c.length,i+1),c[0]=0,l[0]=0;var o=0;for(e=0,r=0;r0)if(Array.isArray(r[0])){f=J(r);for(var c=1,l=1;l0)if(\"number\"==typeof t[0]){var i=L.allocType(d.dtype,t.length);ne(i,t),p(i,a),L.freeType(i)}else if(Array.isArray(t[0])||e(t[0])){n=J(t);var o=K(t,n,d.dtype);p(o,a),L.freeType(o)}else _.raise(\"invalid buffer data\")}else if(G(t)){n=t.shape;var f=t.stride,u=0,s=0,c=0,l=0;1===n.length?(u=n[0],s=1,c=f[0],l=0):2===n.length?(u=n[0],s=n[1],c=f[0],l=f[1]):_.raise(\"invalid shape\");var h=Array.isArray(t.data)?d.dtype:re(t.data),b=L.allocType(h,u*s);ae(b,t.data,u,s,c,l,t.offset),p(b,a),L.freeType(b)}else _.raise(\"invalid data for buffer subdata\");return m},n.profile&&(m.stats=d.stats),m.destroy=function(){l(d)},m},createStream:function(e,t){var r=u.pop();return r||(r=new f(e)),r.bind(),c(r,t,35040,0,1,!1),r},destroyStream:function(e){u.push(e)},clear:function(){H(o).forEach(l),u.forEach(l)},getBuffer:function(e){return e&&e._buffer instanceof f?e._buffer:null},restore:function(){H(o).forEach((function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)}))},_initBuffer:c}}(a,l,n,(function(e){return A.destroyBuffer(e)})),w=function(t,r,n,a){var i={},o=0,f={uint8:oe,uint16:fe};function u(e){this.id=o++,i[this.id]=this,this.buffer=e,this.primType=4,this.vertCount=0,this.type=0}r.oes_element_index_uint&&(f.uint32=ue),u.prototype.bind=function(){this.buffer.bind()};var s=[];function c(a,i,o,f,u,s,c){var l;if(a.buffer.bind(),i){var d=c;c||e(i)&&(!G(i)||e(i.data))||(d=r.oes_element_index_uint?ue:fe),n._initBuffer(a.buffer,i,o,d,3)}else t.bufferData(se,s,o),a.buffer.dtype=l||oe,a.buffer.usage=o,a.buffer.dimension=3,a.buffer.byteLength=s;if(l=c,!c){switch(a.buffer.dtype){case oe:case 5120:l=oe;break;case fe:case 5122:l=fe;break;case ue:case 5124:l=ue;break;default:_.raise(\"unsupported type for element array\")}a.buffer.dtype=l}a.type=l,_(l!==ue||!!r.oes_element_index_uint,\"32 bit element buffers not supported, enable oes_element_index_uint first\");var m=u;m<0&&(m=a.buffer.byteLength,l===fe?m>>=1:l===ue&&(m>>=2)),a.vertCount=m;var p=f;if(f<0){p=4;var h=a.buffer.dimension;1===h&&(p=0),2===h&&(p=1),3===h&&(p=4)}a.primType=p}function l(e){a.elementsCount--,_(null!==e.buffer,\"must not double destroy elements\"),delete i[e.id],e.buffer.destroy(),e.buffer=null}return{create:function(t,r){var i=n.create(null,se,!0),o=new u(i._buffer);function s(t){if(t)if(\"number\"==typeof t)i(t),o.primType=4,o.vertCount=0|t,o.type=oe;else{var r=null,n=35044,a=-1,u=-1,l=0,d=0;Array.isArray(t)||e(t)||G(t)?r=t:(_.type(t,\"object\",\"invalid arguments for elements\"),\"data\"in t&&(r=t.data,_(Array.isArray(r)||e(r)||G(r),\"invalid data for element buffer\")),\"usage\"in t&&(_.parameter(t.usage,$,\"invalid element buffer usage\"),n=$[t.usage]),\"primitive\"in t&&(_.parameter(t.primitive,ie,\"invalid element buffer primitive\"),a=ie[t.primitive]),\"count\"in t&&(_(\"number\"==typeof t.count&&t.count>=0,\"invalid vertex count for elements\"),u=0|t.count),\"type\"in t&&(_.parameter(t.type,f,\"invalid buffer type\"),d=f[t.type]),\"length\"in t?l=0|t.length:(l=u,d===fe||5122===d?l*=2:d!==ue&&5124!==d||(l*=4))),c(o,r,n,a,u,l,d)}else i(),o.primType=4,o.vertCount=0,o.type=oe;return s}return a.elementsCount++,s(t),s._reglType=\"elements\",s._elements=o,s.subdata=function(e,t){return i.subdata(e,t),s},s.destroy=function(){l(o)},s},createStream:function(e){var t=s.pop();return t||(t=new u(n.create(null,se,!0,!1)._buffer)),c(t,e,35040,-1,-1,0,0),t},destroyStream:function(e){s.push(e)},getElements:function(e){return\"function\"==typeof e&&e._elements instanceof u?e._elements:null},clear:function(){H(i).forEach(l)}}}(a,d,x,l),A=function(t,r,n,a,i,o,f){for(var u=n.maxAttributes,s=new Array(u),c=0;c{for(var e=Object.keys(t),r=0;r=0,'invalid option for vao: \"'+e[r]+'\" valid options are '+Et)})),_(Array.isArray(a),\"attributes must be an array\")}_(a.length0,\"must specify at least one attribute\");var c={},l=n.attributes;l.length=a.length;for(var d=0;d=b.byteLength?m.subdata(b):(m.destroy(),n.buffers[d]=null)),n.buffers[d]||(m=n.buffers[d]=i.create(p,34962,!1,!0)),h.buffer=i.getBuffer(m),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1,c[d]=1):i.getBuffer(p)?(h.buffer=i.getBuffer(p),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1):i.getBuffer(p.buffer)?(h.buffer=i.getBuffer(p.buffer),h.size=0|(+p.size||h.buffer.dimension),h.normalized=!!p.normalized||!1,\"type\"in p?(_.parameter(p.type,X,\"invalid buffer type\"),h.type=X[p.type]):h.type=h.buffer.dtype,h.offset=0|(p.offset||0),h.stride=0|(p.stride||0),h.divisor=0|(p.divisor||0),h.state=1,_(h.size>=1&&h.size<=4,\"size must be between 1 and 4\"),_(h.offset>=0,\"invalid offset\"),_(h.stride>=0&&h.stride<=255,\"stride must be between 0 and 255\"),_(h.divisor>=0,\"divisor must be positive\"),_(!h.divisor||!!r.angle_instanced_arrays,\"ANGLE_instanced_arrays must be enabled to use divisor\")):\"x\"in p?(_(d>0,\"first attribute must not be a constant\"),h.x=+p.x||0,h.y=+p.y||0,h.z=+p.z||0,h.w=+p.w||0,h.state=2):_(!1,\"invalid attribute spec for location \"+d)}for(var v=0;v1)for(var v=0;v1&&(y=y.replace(\"[0]\",\"\")),u(b,new f(y,r.id(y),e.getUniformLocation(m,y),c))}var x=e.getProgramParameter(m,35721);a.profile&&(t.stats.attributesCount=x);var w=t.attributes;for(o=0;oe&&(e=t.stats.uniformsCount)})),e},n.getMaxAttributesCount=function(){var e=0;return l.forEach((function(t){t.stats.attributesCount>e&&(e=t.stats.attributesCount)})),e}),{clear:function(){var t=e.deleteShader.bind(e);H(i).forEach(t),i={},H(o).forEach(t),o={},l.forEach((function(t){e.deleteProgram(t.program)})),l.length=0,c={},n.shaderCount=0},program:function(r,a,f,u){_.command(r>=0,\"missing vertex shader\",f),_.command(a>=0,\"missing fragment shader\",f);var s=c[a];s||(s=c[a]={});var d=s[r];if(d&&(d.refCount++,!u))return d;var h=new m(a,r);return n.shaderCount++,p(h,f,u),d||(s[r]=h),l.push(h),t(h,{destroy:function(){if(h.refCount--,h.refCount<=0){e.deleteProgram(h.program);var t=l.indexOf(h);l.splice(t,1),n.shaderCount--}s[h.vertId].refCount<=0&&(e.deleteShader(o[h.vertId]),delete o[h.vertId],delete c[h.fragId][h.vertId]),Object.keys(c[h.fragId]).length||(e.deleteShader(i[h.fragId]),delete i[h.fragId],delete c[h.fragId])}})},restore:function(){i={},o={};for(var e=0;e=2,\"invalid renderbuffer shape\"),f=0|m[0],u=0|m[1]}else\"radius\"in d&&(f=u=0|d.radius),\"width\"in d&&(f=0|d.width),\"height\"in d&&(u=0|d.height);\"format\"in d&&(_.parameter(d.format,i,\"invalid renderbuffer format\"),s=i[d.format])}else\"number\"==typeof t?(f=0|t,u=\"number\"==typeof n?0|n:f):t?_.raise(\"invalid arguments to renderbuffer constructor\"):f=u=1;if(_(f>0&&u>0&&f<=r.maxRenderbufferSize&&u<=r.maxRenderbufferSize,\"invalid renderbuffer size\"),f!==c.width||u!==c.height||s!==c.format)return l.width=c.width=f,l.height=c.height=u,c.format=s,e.bindRenderbuffer(mt,c.renderbuffer),e.renderbufferStorage(mt,s,f,u),_(0===e.getError(),\"invalid render buffer format\"),a.profile&&(c.stats.size=bt(c.format,c.width,c.height)),l.format=o[c.format],l}return u[c.id]=c,n.renderbufferCount++,l(t,f),l.resize=function(t,n){var i=0|t,o=0|n||i;return i===c.width&&o===c.height||(_(i>0&&o>0&&i<=r.maxRenderbufferSize&&o<=r.maxRenderbufferSize,\"invalid renderbuffer size\"),l.width=c.width=i,l.height=c.height=o,e.bindRenderbuffer(mt,c.renderbuffer),e.renderbufferStorage(mt,c.format,i,o),_(0===e.getError(),\"invalid render buffer format\"),a.profile&&(c.stats.size=bt(c.format,c.width,c.height))),l},l._reglType=\"renderbuffer\",l._renderbuffer=c,a.profile&&(l.stats=c.stats),l.destroy=function(){c.decRef()},l},clear:function(){H(u).forEach(c)},restore:function(){H(u).forEach((function(t){t.renderbuffer=e.createRenderbuffer(),e.bindRenderbuffer(mt,t.renderbuffer),e.renderbufferStorage(mt,t.format,t.width,t.height)})),e.bindRenderbuffer(mt,null)}}}(a,d,y,l,n),E=function(e,r,n,a,i,o){var f={cur:null,next:null,dirty:!1,setFBO:null},u=[\"rgba\"],s=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];r.ext_srgb&&s.push(\"srgba\"),r.ext_color_buffer_half_float&&s.push(\"rgba16f\",\"rgb16f\"),r.webgl_color_buffer_float&&s.push(\"rgba32f\");var c=[\"uint8\"];function l(e,t,r){this.target=e,this.texture=t,this.renderbuffer=r;var n=0,a=0;t?(n=t.width,a=t.height):r&&(n=r.width,a=r.height),this.width=n,this.height=a}function d(e){e&&(e.texture&&e.texture._texture.decRef(),e.renderbuffer&&e.renderbuffer._renderbuffer.decRef())}function m(e,t,r){if(e)if(e.texture){var n=e.texture._texture,a=Math.max(1,n.width),i=Math.max(1,n.height);_(a===t&&i===r,\"inconsistent width/height for supplied texture\"),n.refCount+=1}else{var o=e.renderbuffer._renderbuffer;_(o.width===t&&o.height===r,\"inconsistent width/height for renderbuffer\"),o.refCount+=1}}function p(t,r){r&&(r.texture?e.framebufferTexture2D(vt,t,r.target,r.texture._texture.texture,0):e.framebufferRenderbuffer(vt,t,gt,r.renderbuffer._renderbuffer.renderbuffer))}function h(e){var t=yt,r=null,n=null,a=e;\"object\"==typeof e&&(a=e.data,\"target\"in e&&(t=0|e.target)),_.type(a,\"function\",\"invalid attachment data\");var i=a._reglType;return\"texture2d\"===i?(r=a,_(t===yt)):\"textureCube\"===i?(r=a,_(t>=xt&&t<34075,\"invalid cube map target\")):\"renderbuffer\"===i?(n=a,t=gt):_.raise(\"invalid regl object for attachment\"),new l(t,r,n)}function b(e,t,r,n,o){if(r){var f=a.create2D({width:e,height:t,format:n,type:o});return f._texture.refCount=0,new l(yt,f,null)}var u=i.create({width:e,height:t,format:n});return u._renderbuffer.refCount=0,new l(gt,null,u)}function v(e){return e&&(e.texture||e.renderbuffer)}function g(e,t,r){e&&(e.texture?e.texture.resize(t,r):e.renderbuffer&&e.renderbuffer.resize(t,r),e.width=t,e.height=r)}r.oes_texture_half_float&&c.push(\"half float\",\"float16\"),r.oes_texture_float&&c.push(\"float\",\"float32\");var y=0,x={};function w(){this.id=y++,x[this.id]=this,this.framebuffer=e.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function A(e){e.colorAttachments.forEach(d),d(e.depthAttachment),d(e.stencilAttachment),d(e.depthStencilAttachment)}function k(t){var r=t.framebuffer;_(r,\"must not double destroy framebuffer\"),e.deleteFramebuffer(r),t.framebuffer=null,o.framebufferCount--,delete x[t.id]}function S(t){var r;e.bindFramebuffer(vt,t.framebuffer);var a=t.colorAttachments;for(r=0;r=2,\"invalid shape for framebuffer\"),o=z[0],d=z[1]}else\"radius\"in C&&(o=d=C.radius),\"width\"in C&&(o=C.width),\"height\"in C&&(d=C.height);(\"color\"in C||\"colors\"in C)&&(y=C.color||C.colors,Array.isArray(y)&&_(1===y.length||r.webgl_draw_buffers,\"multiple render targets not supported\")),y||(\"colorCount\"in C&&(O=0|C.colorCount,_(O>0,\"invalid color buffer count\")),\"colorTexture\"in C&&(x=!!C.colorTexture,w=\"rgba4\"),\"colorType\"in C&&(k=C.colorType,x?(_(r.oes_texture_float||!(\"float\"===k||\"float32\"===k),\"you must enable OES_texture_float in order to use floating point framebuffer objects\"),_(r.oes_texture_half_float||!(\"half float\"===k||\"float16\"===k),\"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects\")):\"half float\"===k||\"float16\"===k?(_(r.ext_color_buffer_half_float,\"you must enable EXT_color_buffer_half_float to use 16-bit render buffers\"),w=\"rgba16f\"):\"float\"!==k&&\"float32\"!==k||(_(r.webgl_color_buffer_float,\"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers\"),w=\"rgba32f\"),_.oneOf(k,c,\"invalid color type\")),\"colorFormat\"in C&&(w=C.colorFormat,u.indexOf(w)>=0?x=!0:s.indexOf(w)>=0?x=!1:_.optional((function(){x?_.oneOf(C.colorFormat,u,\"invalid color format for texture\"):_.oneOf(C.colorFormat,s,\"invalid color format for renderbuffer\")})))),(\"depthTexture\"in C||\"depthStencilTexture\"in C)&&(j=!(!C.depthTexture&&!C.depthStencilTexture),_(!j||r.webgl_depth_texture,\"webgl_depth_texture extension not supported\")),\"depth\"in C&&(\"boolean\"==typeof C.depth?p=C.depth:(E=C.depth,g=!1)),\"stencil\"in C&&(\"boolean\"==typeof C.stencil?g=C.stencil:(T=C.stencil,p=!1)),\"depthStencil\"in C&&(\"boolean\"==typeof C.depthStencil?p=g=C.depthStencil:(D=C.depthStencil,p=!1,g=!1))}else o=d=1;var F=null,B=null,V=null,I=null;if(Array.isArray(y))F=y.map(h);else if(y)F=[h(y)];else for(F=new Array(O),a=0;a=0||F[a].renderbuffer&&kt.indexOf(F[a].renderbuffer._renderbuffer.format)>=0,\"framebuffer color attachment \"+a+\" is invalid\"),F[a]&&F[a].texture){var L=At[F[a].texture._texture.format]*_t[F[a].texture._texture.type];null===P?P=L:_(P===L,\"all color attachments much have the same number of bits per pixel.\")}return m(B,o,d),_(!B||B.texture&&6402===B.texture._texture.format||B.renderbuffer&&33189===B.renderbuffer._renderbuffer.format,\"invalid depth attachment for framebuffer object\"),m(V,o,d),_(!V||V.renderbuffer&&36168===V.renderbuffer._renderbuffer.format,\"invalid stencil attachment for framebuffer object\"),m(I,o,d),_(!I||I.texture&&34041===I.texture._texture.format||I.renderbuffer&&34041===I.renderbuffer._renderbuffer.format,\"invalid depth-stencil attachment for framebuffer object\"),A(i),i.width=o,i.height=d,i.colorAttachments=F,i.depthAttachment=B,i.stencilAttachment=V,i.depthStencilAttachment=I,l.color=F.map(v),l.depth=v(B),l.stencil=v(V),l.depthStencil=v(I),l.width=i.width,l.height=i.height,S(i),l}return o.framebufferCount++,l(e,a),t(l,{resize:function(e,t){_(f.next!==i,\"can not resize a framebuffer which is currently in use\");var r=Math.max(0|e,1),n=Math.max(0|t||r,1);if(r===i.width&&n===i.height)return l;for(var a=i.colorAttachments,o=0;o=2,\"invalid shape for framebuffer\"),_(g[0]===g[1],\"cube framebuffer must be square\"),d=g[0]}else\"radius\"in v&&(d=0|v.radius),\"width\"in v?(d=0|v.width,\"height\"in v&&_(v.height===d,\"must be square\")):\"height\"in v&&(d=0|v.height);(\"color\"in v||\"colors\"in v)&&(m=v.color||v.colors,Array.isArray(m)&&_(1===m.length||r.webgl_draw_buffers,\"multiple render targets not supported\")),m||(\"colorCount\"in v&&(b=0|v.colorCount,_(b>0,\"invalid color buffer count\")),\"colorType\"in v&&(_.oneOf(v.colorType,c,\"invalid color type\"),h=v.colorType),\"colorFormat\"in v&&(p=v.colorFormat,_.oneOf(v.colorFormat,u,\"invalid color format for texture\"))),\"depth\"in v&&(l.depth=v.depth),\"stencil\"in v&&(l.stencil=v.stencil),\"depthStencil\"in v&&(l.depthStencil=v.depthStencil)}else d=1;if(m)if(Array.isArray(m))for(s=[],n=0;n0&&(l.depth=i[0].depth,l.stencil=i[0].stencil,l.depthStencil=i[0].depthStencil),i[n]?i[n](l):i[n]=O(l)}return t(o,{width:d,height:d,color:s})}return o(e),t(o,{faces:i,resize:function(e){var t,r=0|e;if(_(r>0&&r<=n.maxCubeMapSize,\"invalid radius for cube fbo\"),r===o.width)return o;var a=o.color;for(t=0;t=0;--e){var t=I[e];t&&t(v,null,0)}a.flush(),m&&m.update()}function ce(){!Q&&I.length>0&&(Q=j.next(Y))}function le(){Q&&(j.cancel(Y),Q=null)}function de(e){e.preventDefault(),o=!0,le(),P.forEach((function(e){e()}))}function me(e){a.getError(),o=!1,f.restore(),k.restore(),x.restore(),S.restore(),O.restore(),E.restore(),A.restore(),m&&m.restore(),T.procs.refresh(),ce(),N.forEach((function(e){e()}))}function pe(e){function r(e,t){var r={},n={};return Object.keys(e).forEach((function(a){var i=e[a];if(D.isDynamic(i))n[a]=D.unbox(i,a);else{if(t&&Array.isArray(i))for(var o=0;o0)return l.call(this,function(e){for(;m.length=0,\"cannot cancel a frame twice\"),I[t]=function e(){var t=dn(I,e);I[t]=I[I.length-1],I.length-=1,I.length<=0&&le()}}}}function ge(){var e=F.viewport,t=F.scissor_box;e[0]=e[1]=t[0]=t[1]=0,v.viewportWidth=v.framebufferWidth=v.drawingBufferWidth=e[2]=t[2]=a.drawingBufferWidth,v.viewportHeight=v.framebufferHeight=v.drawingBufferHeight=e[3]=t[3]=a.drawingBufferHeight}function ye(){v.tick+=1,v.time=we(),ge(),T.procs.poll()}function xe(){S.refresh(),ge(),T.procs.refresh(),m&&m.update()}function we(){return(C()-p)/1e3}xe();var Ae=t(pe,{clear:function(e){if(_(\"object\"==typeof e&&e,\"regl.clear() takes an object as input\"),\"framebuffer\"in e)if(e.framebuffer&&\"framebufferCube\"===e.framebuffer_reglType)for(var r=0;r<6;++r)he(t({framebuffer:e.framebuffer.faces[r]},e),be);else he(e,be);else be(0,e)},prop:D.define.bind(null,1),context:D.define.bind(null,2),this:D.define.bind(null,3),draw:pe({}),buffer:function(e){return x.create(e,34962,!1,!1)},elements:function(e){return w.create(e,!1)},texture:S.create2D,cube:S.createCube,renderbuffer:O.create,framebuffer:E.create,framebufferCube:E.createCube,vao:A.createVAO,attributes:i,frame:ve,on:function(e,t){var r;switch(_.type(t,\"function\",\"listener callback must be a function\"),e){case\"frame\":return ve(t);case\"lost\":r=P;break;case\"restore\":r=N;break;case\"destroy\":r=q;break;default:_.raise(\"invalid event, must be one of frame,lost,restore,destroy\")}return r.push(t),{cancel:function(){for(var e=0;e=0},read:z,destroy:function(){I.length=0,le(),V&&(V.removeEventListener(cn,de),V.removeEventListener(ln,me)),k.clear(),E.clear(),O.clear(),A.clear(),S.clear(),w.clear(),x.clear(),m&&m.clear(),q.forEach((function(e){e()}))},_gl:a,_refresh:xe,poll:function(){ye(),m&&m.update()},now:we,stats:l});return n.onDone(null,Ae),Ae}},\"object\"==typeof r&&void 0!==t?t.exports=o():\"function\"==typeof define&&define.amd?define(o):i.createREGL=o()},\n", - " 413: function _(t,e,s,a,r){a();const n=t(414),_=t(12);class o{constructor(t){this._regl=t,this._map=new Map}_create_texture(t){const e=t.length;let s=0;const a=[];let r=0,_=0;for(let n=0;nc[f+1]&&f++;const a=t[f],n=c[f]+.5*a;let o=.5*a-Math.abs(s-n);f%2==1&&(o=-o),m[e]=Math.round(255*(o-r)/(_-r))}return[[s,u,r,_],this._regl.texture({shape:[l,1,1],data:m,wrapS:\"repeat\",format:\"alpha\",type:\"uint8\",mag:\"linear\",min:\"linear\"})]}_get_key(t){return t.join(\",\")}_get_or_create(t){const e=this._get_key(t);let s=this._map.get(e);if(null==s){const a=(0,n.gcd)(t);if(a>1){t=(0,_.map)(t,(t=>t/a)),s=this._get_or_create(t);const[r,n,o]=s;s=[r,n,a],this._map.set(e,s)}else{const[r,n]=this._create_texture(t);s=[r,n,a],this._map.set(e,s)}}return s}get(t){return t.length%2==1&&(t=t.slice(0,-1)),this._get_or_create(t)}}s.DashCache=o,o.__name__=\"DashCache\"},\n", - " 414: function _(n,t,e,r,o){function u(n,t){let e,r;n>t?(e=n,r=t):(e=t,r=n);let o=e%r;for(;0!=o;)e=r,r=o,o=e%r;return r}r(),e.gcd=function(n){let t=n[0];for(let e=1;e u_miter_limit);\\n miter_too_large_end = (miter_factor_end > u_miter_limit);\\n }\\n\\n float sign_at_start = -sign(a_position.x); // +ve at segment start, -ve end.\\n vec2 point = sign_at_start > 0.0 ? a_point_start : a_point_end;\\n vec2 adjacent_point =\\n sign_at_start > 0.0 ? (has_start_cap ? a_point_start : a_point_prev)\\n : (has_end_cap ? a_point_end : a_point_next);\\n\\n if ( (has_start_cap && sign_at_start > 0.0) ||\\n (has_end_cap && sign_at_start < 0.0) ) {\\n // Cap.\\n xy = point - segment_right*(halfwidth*a_position.y);\\n if (cap_type == butt_cap)\\n xy -= sign_at_start*0.5*u_antialias*segment_along;\\n else\\n xy -= sign_at_start*halfwidth*segment_along;\\n }\\n else { // Join.\\n // +ve if turning to right, -ve if to left.\\n float turn_sign = sign_at_start > 0.0 ? turn_right_start : turn_right_end;\\n\\n vec2 adjacent_right = sign_at_start*normalize(right_vector(point - adjacent_point));\\n vec2 point_right = normalize(segment_right + adjacent_right);\\n float miter_factor = sign_at_start > 0.0 ? miter_factor_start : miter_factor_end;\\n bool miter_too_large = sign_at_start > 0.0 ? miter_too_large_start : miter_too_large_end;\\n\\n if (abs(a_position.x) > 1.5) {\\n // Outer point, meets prev/next segment.\\n float factor; // multiplied by halfwidth...\\n\\n if (join_type == bevel_join || (join_type == miter_join && miter_too_large))\\n factor = 1.0 / miter_factor; // cos_theta.\\n else if (join_type == round_join &&\\n miter_factor > min_miter_factor_round_join_mesh)\\n factor = 1.0;\\n else // miter, or round (small angle only).\\n factor = miter_factor;\\n\\n xy = point - point_right*(halfwidth*turn_sign*factor);\\n v_coords.y = turn_sign*halfwidth*factor / miter_factor;\\n }\\n else if (turn_sign*a_position.y < 0.0) {\\n // Inner point, meets prev/next segment.\\n float len = halfwidth*miter_factor;\\n float segment_len = v_segment_length;\\n float adjacent_len = distance(point, adjacent_point);\\n\\n if (len <= min(segment_len, adjacent_len))\\n // Normal behaviour.\\n xy = point - point_right*(len*a_position.y);\\n else\\n // For short wide line segments the inner point using the above\\n // calculation can be outside of the line. Here clipping it.\\n xy = point + segment_right*(halfwidth*turn_sign);\\n }\\n else {\\n // Point along outside edge.\\n xy = point - segment_right*(halfwidth*a_position.y);\\n if (join_type == round_join &&\\n miter_factor > min_miter_factor_round_join_mesh) {\\n xy = line_intersection(xy, segment_along,\\n point - turn_sign*point_right*halfwidth,\\n right_vector(point_right));\\n }\\n }\\n }\\n\\n vec2 pos = xy + 0.5; // Bokeh's offset.\\n pos /= u_canvas_size / u_pixel_ratio; // in 0..1\\n gl_Position = vec4(2.0*pos.x - 1.0, 1.0 - 2.0*pos.y, 0.0, 1.0);\\n\\n v_coords.x = dot(xy - a_point_start, segment_along);\\n v_flags = float(int(has_start_cap) +\\n 2*int(has_end_cap) +\\n 4*int(miter_too_large_start) +\\n 8*int(miter_too_large_end));\\n v_cos_theta_turn_right_start = cos_theta_start*turn_right_start;\\n v_cos_theta_turn_right_end = cos_theta_end*turn_right_end;\\n\\n#ifdef DASHED\\n v_length_so_far = a_length_so_far;\\n#endif\\n}\\n\"},\n", - " 416: function _(n,t,a,i,e){i();a.default=\"\\nprecision mediump float;\\n\\nconst int butt_cap = 0;\\nconst int round_cap = 1;\\nconst int square_cap = 2;\\n\\nconst int miter_join = 0;\\nconst int round_join = 1;\\nconst int bevel_join = 2;\\n\\nuniform float u_linewidth;\\nuniform float u_antialias;\\nuniform float u_line_join;\\nuniform float u_line_cap;\\nuniform vec4 u_line_color;\\n#ifdef DASHED\\nuniform sampler2D u_dash_tex;\\nuniform vec4 u_dash_tex_info;\\nuniform float u_dash_scale;\\nuniform float u_dash_offset;\\n#endif\\n\\nvarying float v_segment_length;\\nvarying vec2 v_coords;\\nvarying float v_flags;\\nvarying float v_cos_theta_turn_right_start;\\nvarying float v_cos_theta_turn_right_end;\\n#ifdef DASHED\\nvarying float v_length_so_far;\\n#endif\\n\\nfloat cross_z(in vec2 v0, in vec2 v1)\\n{\\n return v0.x*v1.y - v0.y*v1.x;\\n}\\n\\nfloat point_line_side(in vec2 point, in vec2 start, in vec2 end)\\n{\\n // +ve if point to right of line.\\n // Alternatively could do dot product with right_vector.\\n return cross_z(point - start, end - start);\\n}\\n\\nfloat point_line_distance(in vec2 point, in vec2 start, in vec2 end)\\n{\\n return point_line_side(point, start, end) / distance(start, end);\\n}\\n\\nvec2 right_vector(in vec2 v)\\n{\\n return vec2(v.y, -v.x);\\n}\\n\\nfloat bevel_join_distance(in float sign_start, in float halfwidth)\\n{\\n float cos_theta_turn_right = sign_start > 0.0 ? v_cos_theta_turn_right_start\\n : v_cos_theta_turn_right_end;\\n float cos_theta = abs(cos_theta_turn_right);\\n float turn_right = sign(cos_theta_turn_right);\\n float distance_along = sign_start > 0.0 ? 0.0 : v_segment_length;\\n\\n // In v_coords reference frame (x is along segment, y across).\\n vec2 line_start = vec2(distance_along, halfwidth*turn_right);\\n float sin_alpha = cos_theta;\\n float cos_alpha = sqrt(1.0 - sin_alpha*sin_alpha);\\n vec2 line_along = vec2(-sign_start*turn_right*sin_alpha, -cos_alpha);\\n\\n return halfwidth + sign_start*point_line_distance(\\n v_coords, line_start, line_start+line_along);\\n}\\n\\nfloat cap(in int cap_type, in float x, in float y)\\n{\\n // x is distance along segment in direction away from end of segment,\\n // y is distance across segment.\\n if (cap_type == butt_cap)\\n return max(0.5*u_linewidth - x, abs(y));\\n else if (cap_type == square_cap)\\n return max(-x, abs(y));\\n else // cap_type == round_cap\\n return distance(vec2(min(x, 0.0), y), vec2(0.0, 0.0));\\n}\\n\\nfloat distance_to_alpha(in float dist)\\n{\\n return 1.0 - smoothstep(0.5*(u_linewidth - u_antialias),\\n 0.5*(u_linewidth + u_antialias), dist);\\n}\\n\\n#ifdef DASHED\\nfloat dash_distance(in float x)\\n{\\n // x is in direction of v_coords.x, i.e. along segment.\\n float tex_length = u_dash_tex_info.x;\\n float tex_offset = u_dash_tex_info.y;\\n float tex_dist_min = u_dash_tex_info.z;\\n float tex_dist_max = u_dash_tex_info.w;\\n\\n // Apply offset.\\n x += v_length_so_far - u_dash_scale*tex_offset + u_dash_offset;\\n\\n // Interpolate within texture to obtain distance to dash.\\n float dist = texture2D(u_dash_tex,\\n vec2(x / (tex_length*u_dash_scale), 0.0)).a;\\n\\n // Scale distance within min and max limits.\\n dist = tex_dist_min + dist*(tex_dist_max - tex_dist_min);\\n\\n return u_dash_scale*dist;\\n}\\n\\nmat2 rotation_matrix(in float sign_start)\\n{\\n // Rotation matrix for v_coords from this segment to prev or next segment.\\n float cos_theta_turn_right = sign_start > 0.0 ? v_cos_theta_turn_right_start\\n : v_cos_theta_turn_right_end;\\n float cos_theta = abs(cos_theta_turn_right);\\n float turn_right = sign(cos_theta_turn_right);\\n\\n float sin_theta = sqrt(1.0 - cos_theta*cos_theta)*sign_start*turn_right;\\n float cos_2theta = 2.0*cos_theta*cos_theta - 1.0;\\n float sin_2theta = 2.0*sin_theta*cos_theta;\\n return mat2(cos_2theta, -sin_2theta, sin_2theta, cos_2theta);\\n}\\n#endif\\n\\nvoid main()\\n{\\n int join_type = int(u_line_join + 0.5);\\n int cap_type = int(u_line_cap + 0.5);\\n float halfwidth = 0.5*(u_linewidth + u_antialias);\\n\\n // Extract flags.\\n int flags = int(v_flags + 0.5);\\n bool miter_too_large_end = (flags / 8 > 0);\\n flags -= 8*int(miter_too_large_end);\\n bool miter_too_large_start = (flags / 4 > 0);\\n flags -= 4*int(miter_too_large_start);\\n bool has_end_cap = (flags / 2 > 0);\\n flags -= 2*int(has_end_cap);\\n bool has_start_cap = flags > 0;\\n\\n float dist = v_coords.y; // For straight segment, and miter join.\\n\\n if (v_coords.x <= 0.5*u_antialias) {\\n // At start of segment, either cap or join.\\n if (has_start_cap)\\n dist = cap(cap_type, v_coords.x, v_coords.y);\\n else if (join_type == round_join)\\n dist = distance(v_coords, vec2(0.0, 0.0));\\n else if (join_type == bevel_join ||\\n (join_type == miter_join && miter_too_large_start))\\n dist = max(abs(dist), bevel_join_distance(1.0, halfwidth));\\n // else a miter join which uses the default dist calculation.\\n }\\n else if (v_coords.x >= v_segment_length - 0.5*u_antialias) {\\n // At end of segment, either cap or join.\\n if (has_end_cap)\\n dist = cap(cap_type, v_segment_length - v_coords.x, v_coords.y);\\n else if (join_type == round_join)\\n dist = distance(v_coords, vec2(v_segment_length, 0));\\n else if ((join_type == bevel_join ||\\n (join_type == miter_join && miter_too_large_end)))\\n dist = max(abs(dist), bevel_join_distance(-1.0, halfwidth));\\n // else a miter join which uses the default dist calculation.\\n }\\n\\n float alpha = distance_to_alpha(abs(dist));\\n\\n#ifdef DASHED\\n if (u_dash_tex_info.x >= 0.0) {\\n // Dashes in straight segments (outside of joins) are easily calculated.\\n dist = dash_distance(v_coords.x);\\n\\n if (!has_start_cap && cap_type == butt_cap) {\\n if (v_coords.x < 0.5*u_antialias) {\\n // Outer of start join rendered solid color or not at all\\n // depending on whether corner point is in dash or gap, with\\n // antialiased ends.\\n dist = (dash_distance(0.0) > 0.0 ? 0.5*u_antialias - v_coords.x\\n : -0.5*u_linewidth);\\n\\n // Also consider antialiased end of dash just outside corner.\\n float end_dist = dash_distance(0.5*u_antialias) + v_coords.x -\\n 0.5*u_antialias;\\n dist = max(dist, end_dist);\\n }\\n\\n vec2 prev_coords = rotation_matrix(1.0)*v_coords;\\n\\n if (abs(prev_coords.y) < halfwidth &&\\n prev_coords.x < 0.5*u_antialias) {\\n // Extend dashes across from previous segment, with antialiased\\n // end.\\n float new_dist = dash_distance(min(prev_coords.x,\\n -0.5*u_antialias));\\n\\n if (prev_coords.x > -0.5*u_antialias)\\n new_dist -= prev_coords.x + 0.5*u_antialias;\\n\\n new_dist = min(new_dist, 0.5*u_linewidth - abs(prev_coords.y));\\n dist = max(dist, new_dist);\\n }\\n }\\n\\n if (!has_end_cap && cap_type == butt_cap) {\\n if (v_coords.x > v_segment_length - 0.5*u_antialias) {\\n // Similar for end join.\\n dist = (dash_distance(v_segment_length) > 0.0\\n ? v_coords.x - v_segment_length + 0.5*u_antialias\\n : -0.5*u_linewidth);\\n\\n float end_dist =\\n dash_distance(v_segment_length - 0.5*u_antialias) -\\n v_coords.x + v_segment_length - 0.5*u_antialias;\\n dist = max(dist, end_dist);\\n }\\n\\n vec2 next_coords =\\n rotation_matrix(-1.0)*(v_coords - vec2(v_segment_length, 0.0));\\n\\n if (abs(next_coords.y) < halfwidth &&\\n next_coords.x > -0.5*u_antialias) {\\n // Extend dashes across from next segment, with antialiased end.\\n float new_dist = dash_distance(v_segment_length +\\n max(next_coords.x, 0.5*u_antialias));\\n\\n if (next_coords.x < 0.5*u_antialias)\\n new_dist += next_coords.x - 0.5*u_antialias;\\n\\n new_dist = min(new_dist, 0.5*u_linewidth - abs(next_coords.y));\\n dist = max(dist, new_dist);\\n }\\n }\\n\\n dist = cap(cap_type, dist, v_coords.y);\\n\\n float dash_alpha = distance_to_alpha(dist);\\n alpha = min(alpha, dash_alpha);\\n }\\n#endif\\n\\n alpha = u_line_color.a*alpha;\\n gl_FragColor = vec4(u_line_color.rgb*alpha, alpha); // Premultiplied alpha.\\n}\\n\"},\n", - " 417: function _(n,i,o,a,t){a();o.default=\"\\nprecision mediump float;\\n\\nattribute vec2 a_position;\\nattribute vec2 a_center;\\nattribute float a_size;\\nattribute float a_angle; // in radians\\nattribute float a_linewidth;\\nattribute vec4 a_line_color;\\nattribute vec4 a_fill_color;\\nattribute float a_show;\\n\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size;\\nuniform float u_antialias;\\n\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec4 v_line_color;\\nvarying vec4 v_fill_color;\\nvarying vec2 v_coords;\\n\\nvoid main()\\n{\\n v_size = a_size;\\n v_linewidth = a_linewidth;\\n v_line_color = a_line_color;\\n v_fill_color = a_fill_color;\\n\\n if (a_show < 0.5) {\\n // Do not show this marker.\\n gl_Position = vec4(-2.0, -2.0, 0.0, 1.0);\\n return;\\n }\\n\\n float enclosing_size = v_size + 2.0*v_linewidth + 3.0*u_antialias;\\n\\n // Coordinates in rotated frame with respect to center of marker, used in\\n // distance functions in fragment shader.\\n v_coords = a_position*enclosing_size;\\n\\n float c = cos(-a_angle);\\n float s = sin(-a_angle);\\n mat2 rotation = mat2(c, -s, s, c);\\n\\n vec2 pos = a_center + rotation*v_coords;\\n pos += 0.5; // make up for Bokeh's offset\\n pos /= u_canvas_size / u_pixel_ratio; // in 0..1\\n gl_Position = vec4(2.0*pos.x - 1.0, 1.0 - 2.0*pos.y, 0.0, 1.0);\\n}\\n\"},\n", - " 418: function _(n,a,e,t,s){t();e.default=\"\\nprecision mediump float;\\n\\nconst float SQRT_2 = 1.4142135623730951;\\nconst float SQRT_3 = sqrt(3.0);\\nconst float PI = 3.14159265358979323846264;\\n\\nconst float IN_ANGLE = 0.6283185307179586; // PI/5. = 36 degrees (star of 5 pikes)\\n//const float OUT_ANGLE = PI/2. - IN_ANGLE; // External angle for regular stars\\nconst float COS_A = 0.8090169943749475; // cos(IN_ANGLE)\\nconst float SIN_A = 0.5877852522924731; // sin(IN_ANGLE)\\nconst float COS_B = 0.5877852522924731; // cos(OUT_ANGLE)\\nconst float SIN_B = 0.8090169943749475; // sin(OUT_ANGLE)\\n\\nuniform float u_antialias;\\n\\nvarying vec4 v_line_color;\\nvarying vec4 v_fill_color;\\nvarying float v_linewidth;\\nvarying float v_size;\\nvarying vec2 v_coords;\\n\\n#ifdef USE_ASTERISK\\n// asterisk\\nfloat marker(vec2 P, float size)\\n{\\n // Masks\\n float diamond = max(abs(SQRT_2 / 2.0 * (P.x - P.y)), abs(SQRT_2 / 2.0 * (P.x + P.y))) - size / 2.0;\\n float square = max(abs(P.x), abs(P.y)) - size / 2.0;\\n // Shapes\\n float X = min(abs(P.x - P.y), abs(P.x + P.y));\\n float cross = min(abs(P.x), abs(P.y));\\n // Result is union of masked shapes\\n float result = min(max(X, diamond), max(cross, square));\\n return max(result - v_linewidth/2.0 + u_antialias/2.0, 0.0);\\n}\\n#endif\\n\\n#ifdef USE_CIRCLE\\n// circle\\nfloat marker(vec2 P, float size)\\n{\\n return length(P) - size/2.0;\\n}\\n#endif\\n\\n#ifdef USE_DOT\\nfloat marker(vec2 P, float size)\\n{\\n return max(length(P) - size/8.0 - v_linewidth/15.0 + u_antialias, 0.0);\\n}\\n#endif\\n\\n#ifdef USE_CIRCLE_DOT\\nfloat marker(vec2 P, float size)\\n{\\n float circle = length(P) - size/2.0;\\n float dot_ = min(size/8.0 + v_linewidth/15.0 - u_antialias - length(P), 0.0);\\n return max(circle, dot_);\\n}\\n#endif\\n\\n#ifdef USE_SQUARE\\n// square\\nfloat marker(vec2 P, float size)\\n{\\n return max(abs(P.x), abs(P.y)) - size/2.0;\\n}\\n#endif\\n\\n#ifdef USE_SQUARE_DOT\\nfloat marker(vec2 P, float size)\\n{\\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n float dot_ = min(size/8.0 + v_linewidth/15.0 - u_antialias - length(P), 0.0);\\n return max(square, dot_);\\n}\\n#endif\\n\\n#ifdef USE_DIAMOND\\n// diamond\\nfloat marker(vec2 P, float size)\\n{\\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n return r1 / SQRT_2;\\n}\\n#endif\\n\\n#ifdef USE_DIAMOND_DOT\\nfloat marker(vec2 P, float size)\\n{\\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n float diamond = r1 / SQRT_2;\\n float dot_ = min(size/8.0 + v_linewidth/15.0 - u_antialias - length(P), 0.0);\\n return max(diamond, dot_);\\n}\\n#endif\\n\\n#ifdef USE_HEX\\n// hex\\nfloat marker(vec2 P, float size)\\n{\\n vec2 q = abs(P);\\n return max(q.y * 0.57735 + q.x - 1.0 * size/2.0, q.y - 0.866 * size/2.0);\\n}\\n#endif\\n\\n#ifdef USE_HEX_DOT\\nfloat marker(vec2 P, float size)\\n{\\n vec2 q = abs(P);\\n float hex = max(q.y * 0.57735 + q.x - 1.0 * size/2.0, q.y - 0.866 * size/2.0);\\n float dot_ = min(size/8.0 + v_linewidth/15.0 - u_antialias - length(P), 0.0);\\n return max(hex, dot_);\\n}\\n#endif\\n\\n#ifdef USE_STAR\\n// star\\n// https://iquilezles.org/www/articles/distfunctions2d/distfunctions2d.htm\\nfloat marker(vec2 P, float size)\\n{\\n float bn = mod(atan(P.x, -P.y), 2.0*IN_ANGLE) - IN_ANGLE;\\n P = length(P)*vec2(cos(bn), abs(sin(bn)));\\n P -= size*vec2(COS_A, SIN_A)/2.;\\n P += vec2(COS_B, SIN_B)*clamp(-(P.x*COS_B + P.y*SIN_B), 0.0, size*SIN_A/SIN_B/2.);\\n return length(P)*sign(P.x);\\n}\\n#endif\\n\\n#ifdef USE_STAR_DOT\\nfloat marker(vec2 P, float size)\\n{\\n float dot_ = min(size/8.0 + v_linewidth/15.0 - u_antialias - length(P), 0.0);\\n float bn = mod(atan(P.x, -P.y), 2.0*IN_ANGLE) - IN_ANGLE;\\n P = length(P)*vec2(cos(bn), abs(sin(bn)));\\n P -= size*vec2(COS_A, SIN_A)/2.;\\n P += vec2(COS_B, SIN_B)*clamp(-(P.x*COS_B + P.y*SIN_B), 0.0, size*SIN_A/SIN_B/2.);\\n float star = length(P)*sign(P.x);\\n return max(star, dot_);\\n}\\n#endif\\n\\n#ifdef USE_TRIANGLE\\n// triangle\\nfloat marker(vec2 P, float size)\\n{\\n P.y -= size * 0.3;\\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / 1.6;\\n float r2 = P.y;\\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\\n}\\n#endif\\n\\n#ifdef USE_TRIANGLE_DOT\\nfloat marker(vec2 P, float size)\\n{\\n float dot_ = min(size/8.0 + v_linewidth/15.0 - u_antialias - length(P), 0.0);\\n P.y -= size * 0.3;\\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / 1.6;\\n float r2 = P.y;\\n float triangle = max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\\n return max(triangle, dot_);\\n}\\n#endif\\n\\n#ifdef USE_INVERTED_TRIANGLE\\n// inverted_triangle\\nfloat marker(vec2 P, float size)\\n{\\n P.y += size * 0.3;\\n float x = SQRT_2 / 2.0 * (P.x * 1.7 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.7 + P.y);\\n float r1 = max(abs(x), abs(y)) - size / 1.6;\\n float r2 = - P.y;\\n return max(r1 / SQRT_2, r2); // Intersect diamond with rectangle\\n}\\n#endif\\n\\n#ifdef USE_CROSS\\n// cross\\nfloat marker(vec2 P, float size)\\n{\\n float square = max(abs(P.x), abs(P.y)) - size / 2.0;\\n float cross = min(abs(P.x), abs(P.y));\\n cross = max(cross - v_linewidth/2.0 + u_antialias/2.0, 0.0);\\n return max(square, cross);\\n}\\n#endif\\n\\n#ifdef USE_DASH\\nfloat marker(vec2 P, float size)\\n{\\n float square = max(abs(P.x), abs(P.y)) - size / 2.0;\\n float cross = abs(P.y);\\n cross = max(cross - v_linewidth/2.0 + u_antialias/2.0, 0.0);\\n return max(square, cross);\\n}\\n#endif\\n\\n#ifdef USE_CIRCLE_CROSS\\n// circle_cross\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float circle = length(P) - size/2.0;\\n float c1 = max(circle, s1);\\n float c2 = max(circle, s2);\\n float c3 = max(circle, s3);\\n float c4 = max(circle, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n#endif\\n\\n#ifdef USE_SQUARE_CROSS\\n// square_cross\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n float c1 = max(square, s1);\\n float c2 = max(square, s2);\\n float c3 = max(square, s3);\\n float c4 = max(square, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n#endif\\n\\n#ifdef USE_DIAMOND_CROSS\\n// diamond_cross\\nfloat marker(vec2 P, float size)\\n{\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(P.x - qs), abs(P.y - qs)) - qs;\\n float s2 = max(abs(P.x + qs), abs(P.y - qs)) - qs;\\n float s3 = max(abs(P.x - qs), abs(P.y + qs)) - qs;\\n float s4 = max(abs(P.x + qs), abs(P.y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float x = SQRT_2 / 2.0 * (P.x * 1.5 - P.y);\\n float y = SQRT_2 / 2.0 * (P.x * 1.5 + P.y);\\n float diamond = max(abs(x), abs(y)) - size / (2.0 * SQRT_2);\\n diamond /= SQRT_2;\\n float c1 = max(diamond, s1);\\n float c2 = max(diamond, s2);\\n float c3 = max(diamond, s3);\\n float c4 = max(diamond, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n#endif\\n\\n#ifdef USE_X\\n// x\\nfloat marker(vec2 P, float size)\\n{\\n float circle = length(P) - size / 2.0;\\n float X = min(abs(P.x - P.y), abs(P.x + P.y));\\n X = max(X - v_linewidth/2.0, 0.0);\\n return max(circle, X);\\n}\\n#endif\\n\\n#ifdef USE_Y\\nfloat marker(vec2 P, float size)\\n{\\n float circle = length(P) - size / 2.0;\\n\\n float dx = 1.0 / SQRT_3;\\n float dy = SQRT_2 / SQRT_3;\\n\\n // Sideways distance from the three spokes.\\n float d0 = abs(P.x);\\n float d1 = abs(dot(P, vec2(dx, dy)));\\n float d2 = abs(dot(P, vec2(dx, -dy)));\\n\\n // Clip each spoke to semicircle.\\n d0 = max(d0, -P.y);\\n d1 = max(d1, dot(P, vec2(-dy, dx)));\\n d2 = max(d2, dot(P, vec2(dy, dx)));\\n\\n float Y = min(min(d0, d1), d2);\\n Y = max(Y - v_linewidth/2.0 + u_antialias/2.0, 0.0);\\n return max(circle, Y);\\n}\\n#endif\\n\\n#ifdef USE_CIRCLE_X\\n// circle_x\\nfloat marker(vec2 P, float size)\\n{\\n float x = P.x - P.y;\\n float y = P.x + P.y;\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float circle = length(P) - size/2.0;\\n float c1 = max(circle, s1);\\n float c2 = max(circle, s2);\\n float c3 = max(circle, s3);\\n float c4 = max(circle, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n#endif\\n\\n#ifdef USE_CIRCLE_Y\\nfloat marker(vec2 P, float size)\\n{\\n float circle = length(P) - size/2.0;\\n\\n float dx = 1.0 / SQRT_3;\\n float dy = SQRT_2 / SQRT_3;\\n\\n // Sideways distance from the three spokes.\\n float d0 = abs(P.x);\\n float d1 = abs(dot(P, vec2(dx, dy)));\\n float d2 = abs(dot(P, vec2(dx, -dy)));\\n\\n // Clip each spoke to semicircle.\\n d0 = max(d0, -P.y);\\n d1 = max(d1, dot(P, vec2(-dy, dx)));\\n d2 = max(d2, dot(P, vec2(dy, dx)));\\n\\n float Y = min(min(d0, d1), d2);\\n Y = min(v_linewidth/2.0 - u_antialias/2.0 - Y, 0.0);\\n\\n return max(circle, Y);\\n}\\n#endif\\n\\n#ifdef USE_SQUARE_X\\n// square_x\\nfloat marker(vec2 P, float size)\\n{\\n float x = P.x - P.y;\\n float y = P.x + P.y;\\n // Define quadrants\\n float qs = size / 2.0; // quadrant size\\n float s1 = max(abs(x - qs), abs(y - qs)) - qs;\\n float s2 = max(abs(x + qs), abs(y - qs)) - qs;\\n float s3 = max(abs(x - qs), abs(y + qs)) - qs;\\n float s4 = max(abs(x + qs), abs(y + qs)) - qs;\\n // Intersect main shape with quadrants (to form cross)\\n float square = max(abs(P.x), abs(P.y)) - size/2.0;\\n float c1 = max(square, s1);\\n float c2 = max(square, s2);\\n float c3 = max(square, s3);\\n float c4 = max(square, s4);\\n // Union\\n return min(min(min(c1, c2), c3), c4);\\n}\\n#endif\\n\\n#ifdef USE_PLUS\\nfloat marker(vec2 P, float size)\\n{\\n vec2 size2 = vec2(size*0.5, size*0.2);\\n P = abs(P);\\n P = (P.y > P.x) ? P.yx : P.xy;\\n vec2 q = P - size2;\\n float k = max(q.y, q.x);\\n vec2 w = (k > 0.0) ? q : vec2(size2.y - P.x, -k);\\n return sign(k)*length(max(w, 0.0));\\n}\\n#endif\\n\\n#ifdef USE_SQUARE_PIN\\nfloat marker(vec2 P, float size)\\n{\\n float actual_size = size*1.2;\\n float radius = 0.75*actual_size; // Radius of curvature of edges.\\n float offset = actual_size/2.0 + sqrt(radius*radius - actual_size*actual_size/4.0);\\n vec2 centerx = vec2(offset, 0.0);\\n vec2 centery = vec2(0.0, offset);\\n\\n float right = length(P - centerx);\\n float left = length(P + centerx);\\n float up = length(P - centery);\\n float down = length(P + centery);\\n float pin = radius - min(min(right, left), min(up, down));\\n\\n float circle = length(P) - actual_size*0.6;\\n return max(circle, pin);\\n}\\n#endif\\n\\n#ifdef USE_TRIANGLE_PIN\\nfloat marker(vec2 P, float size)\\n{\\n float actual_size = size*1.2;\\n float radius = 1.2*actual_size; // Radius of curvature of edges.\\n\\n float angle = 2.0*PI / 3.0;\\n float c = cos(angle);\\n float s = sin(angle);\\n mat2 rotation = mat2(c, -s, s, c);\\n\\n // Half the length of straight triangle edge.\\n float half_edge = actual_size*SQRT_3/4.0;\\n // Distance from center of triangle to middle of straight edge.\\n float centre_middle_edge = 0.25*actual_size;\\n float offset = centre_middle_edge + sqrt(radius*radius - half_edge*half_edge);\\n // Centre of curvature.\\n vec2 center = vec2(0.0, offset);\\n\\n float dist0 = length(P - center);\\n P = rotation*P;\\n float dist1 = length(P - center);\\n P = rotation*P;\\n float dist2 = length(P - center);\\n float pin = radius - min(min(dist0, dist1), dist2);\\n\\n float circle = length(P) - actual_size / 2.0;\\n return max(circle, pin);\\n}\\n#endif\\n\\nvec4 outline(float distance, float linewidth, float antialias, vec4 line_color,\\n vec4 fill_color)\\n{\\n vec4 frag_color;\\n float t = min(linewidth/2.0 - antialias, 0.0); // Line half-width.\\n float signed_distance = distance;\\n float border_distance = abs(signed_distance) - t;\\n float alpha = border_distance/antialias;\\n alpha = exp(-alpha*alpha);\\n\\n // If line alpha is zero, it probably means no outline. To avoid a dark\\n // outline shining through due to antialiasing, we set the line color to the\\n // fill color.\\n float select = float(bool(line_color.a));\\n line_color.rgb = select*line_color.rgb + (1.0 - select)*fill_color.rgb;\\n // Similarly, if we want a transparent fill.\\n select = float(bool(fill_color.a));\\n fill_color.rgb = select*fill_color.rgb + (1.0 - select)*line_color.rgb;\\n\\n if (border_distance < 0.0)\\n frag_color = line_color;\\n else if (signed_distance < 0.0)\\n frag_color = mix(fill_color, line_color, sqrt(alpha));\\n else {\\n if (abs(signed_distance) < linewidth/2.0 + antialias)\\n frag_color = vec4(line_color.rgb, line_color.a*alpha);\\n else\\n discard;\\n }\\n return frag_color;\\n}\\n\\nvoid main()\\n{\\n float distance = marker(v_coords, v_size);\\n gl_FragColor = outline(\\n distance, v_linewidth, u_antialias, v_line_color, v_fill_color);\\n gl_FragColor.rgb *= gl_FragColor.a; // Premultiplied alpha.\\n}\\n\"},\n", - " 419: function _(n,t,a,i,e){i();a.default=\"\\nprecision mediump float;\\n\\nattribute vec2 a_position;\\nattribute vec2 a_center;\\nattribute float a_width;\\nattribute float a_height;\\nattribute float a_angle; // In radians\\nattribute float a_linewidth;\\nattribute vec4 a_line_color;\\nattribute vec4 a_fill_color;\\nattribute float a_line_join;\\nattribute float a_show;\\n#ifdef HATCH\\nattribute float a_hatch_pattern;\\nattribute float a_hatch_scale;\\nattribute float a_hatch_weight;\\nattribute vec4 a_hatch_color;\\n#endif\\n\\nuniform float u_pixel_ratio;\\nuniform vec2 u_canvas_size;\\nuniform float u_antialias;\\n\\nvarying float v_linewidth;\\nvarying vec2 v_size; // 2D size for rects compared to 1D for markers.\\nvarying vec4 v_line_color;\\nvarying vec4 v_fill_color;\\nvarying float v_line_join;\\nvarying vec2 v_coords;\\n#ifdef HATCH\\nvarying float v_hatch_pattern;\\nvarying float v_hatch_scale;\\nvarying float v_hatch_weight;\\nvarying vec4 v_hatch_color;\\nvarying vec2 v_hatch_coords;\\n#endif\\n\\nvoid main()\\n{\\n if (a_show < 0.5) {\\n // Do not show this rect.\\n gl_Position = vec4(-2.0, -2.0, 0.0, 1.0);\\n return;\\n }\\n\\n v_size = vec2(a_width, a_height);\\n v_linewidth = a_linewidth;\\n v_line_color = a_line_color;\\n v_fill_color = a_fill_color;\\n v_line_join = a_line_join;\\n\\n if (v_linewidth < 1.0) {\\n // Linewidth less than 1 is implemented as 1 but with reduced alpha.\\n v_line_color.a *= v_linewidth;\\n v_linewidth = 1.0;\\n }\\n\\n#ifdef HATCH\\n v_hatch_pattern = a_hatch_pattern;\\n v_hatch_scale = a_hatch_scale;\\n v_hatch_weight = a_hatch_weight;\\n v_hatch_color = a_hatch_color;\\n#endif\\n\\n vec2 enclosing_size = v_size + v_linewidth + u_antialias;\\n\\n // Coordinates in rotated frame with respect to center of marker, used for\\n // distance functions in fragment shader.\\n v_coords = a_position*enclosing_size;\\n\\n float c = cos(-a_angle);\\n float s = sin(-a_angle);\\n mat2 rotation = mat2(c, -s, s, c);\\n\\n vec2 pos = a_center + rotation*v_coords;\\n#ifdef HATCH\\n // Coordinates for hatching in unrotated frame of reference.\\n v_hatch_coords = pos - 0.5;\\n#endif\\n pos += 0.5; // Make up for Bokeh's offset.\\n pos /= u_canvas_size / u_pixel_ratio; // 0 to 1.\\n gl_Position = vec4(2.0*pos.x - 1.0, 1.0 - 2.0*pos.y, 0.0, 1.0);\\n}\\n\"},\n", - " 420: function _(n,a,t,o,r){o();t.default=\"\\nprecision mediump float;\\n\\nconst float SQRT2 = sqrt(2.0);\\nconst float INVSQRT2 = 1.0/SQRT2;\\nconst float PI = 3.14159265358979323846;\\n\\nconst int miter_join = 0;\\nconst int round_join = 1;\\nconst int bevel_join = 2;\\n#ifdef HATCH\\nconst int hatch_dot = 1;\\nconst int hatch_ring = 2;\\nconst int hatch_horizontal_line = 3;\\nconst int hatch_vertical_line = 4;\\nconst int hatch_cross = 5;\\nconst int hatch_horizontal_dash = 6;\\nconst int hatch_vertical_dash = 7;\\nconst int hatch_spiral = 8;\\nconst int hatch_right_diagonal_line = 9;\\nconst int hatch_left_diagonal_line = 10;\\nconst int hatch_diagonal_cross = 11;\\nconst int hatch_right_diagonal_dash = 12;\\nconst int hatch_left_diagonal_dash = 13;\\nconst int hatch_horizontal_wave = 14;\\nconst int hatch_vertical_wave = 15;\\nconst int hatch_criss_cross = 16;\\n#endif\\n\\nuniform float u_antialias;\\n\\nvarying float v_linewidth;\\nvarying vec2 v_size;\\nvarying vec4 v_line_color;\\nvarying vec4 v_fill_color;\\nvarying float v_line_join;\\nvarying vec2 v_coords;\\n#ifdef HATCH\\nvarying float v_hatch_pattern;\\nvarying float v_hatch_scale;\\nvarying float v_hatch_weight;\\nvarying vec4 v_hatch_color;\\nvarying vec2 v_hatch_coords;\\n#endif\\n\\n// Distance is zero on edge of marker, +ve outside and -ve inside.\\nfloat marker_distance(vec2 p, int line_join)\\n{\\n vec2 dist2 = abs(p) - v_size/2.0;\\n float dist = max(dist2.x, dist2.y);\\n\\n if (dist2.x > 0.0 && dist2.y > 0.0) {\\n // Outside of corner needs correct join, default is miter.\\n if (line_join == round_join)\\n dist = length(dist2);\\n else if (line_join == bevel_join) {\\n vec2 normal = vec2(INVSQRT2, INVSQRT2);\\n dist = dot(dist2, normal) + 0.5*v_linewidth*(1.0 - INVSQRT2);\\n }\\n }\\n\\n return dist;\\n}\\n\\n// Convert distance from edge of marker to fraction in range 0 to 1, depending\\n// on antialiasing width.\\nfloat distance_to_fraction(float dist)\\n{\\n return 1.0 - smoothstep(-0.5*u_antialias, 0.5*u_antialias, dist);\\n}\\n\\n// Return fraction from 0 (no fill color) to 1 (full fill color).\\nfloat fill_fraction(float dist)\\n{\\n return distance_to_fraction(dist);\\n}\\n\\n// Return fraction in range 0 (no line color) to 1 (full line color).\\nfloat line_fraction(float dist)\\n{\\n return distance_to_fraction(abs(dist) - 0.5*v_linewidth);\\n}\\n\\n// Return fraction (in range 0 to 1) of a color, with premultiplied alpha.\\nvec4 fractional_color(vec4 color, float fraction)\\n{\\n color.a *= fraction;\\n color.rgb *= color.a;\\n return color;\\n}\\n\\n// Blend colors that have premultiplied alpha.\\nvec4 blend_colors(vec4 src, vec4 dest)\\n{\\n return (1.0 - src.a)*dest + src;\\n}\\n\\n#ifdef HATCH\\n// Wrap coordinate(s) by removing integer part to give distance from center of\\n// repeat, in the range -0.5 to +0.5.\\nfloat wrap(float x)\\n{\\n return fract(x) - 0.5;\\n}\\n\\nvec2 wrap(vec2 xy)\\n{\\n return fract(xy) - 0.5;\\n}\\n\\n// Return fraction from 0 (no hatch color) to 1 (full hatch color).\\nfloat hatch_fraction(vec2 coords, int hatch_pattern)\\n{\\n float scale = v_hatch_scale; // Hatch repeat distance.\\n\\n // Coordinates and linewidth/halfwidth are scaled to hatch repeat distance.\\n coords = coords / scale;\\n float halfwidth = 0.5*v_hatch_weight / scale; // Half the hatch linewidth.\\n\\n // Default is to return fraction of zero, i.e. no pattern.\\n float dist = u_antialias;\\n\\n if (hatch_pattern == hatch_dot) {\\n const float dot_radius = 0.25;\\n dist = length(wrap(coords)) - dot_radius;\\n }\\n else if (hatch_pattern == hatch_ring) {\\n const float ring_radius = 0.25;\\n dist = abs(length(wrap(coords)) - ring_radius) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_line) {\\n dist = abs(wrap(coords.y)) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_line) {\\n dist = abs(wrap(coords.x)) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_cross) {\\n dist = min(abs(wrap(coords.x)), abs(wrap(coords.y))) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_dash) {\\n // Dashes have square caps.\\n const float halflength = 0.25;\\n dist = max(abs(wrap(coords.y)),\\n abs(wrap(coords.x) + 0.25) - halflength) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_dash) {\\n const float halflength = 0.25;\\n dist = max(abs(wrap(coords.x)),\\n abs(wrap(coords.y) + 0.25) - halflength) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_spiral) {\\n vec2 wrap2 = wrap(coords);\\n float angle = wrap(atan(wrap2.y, wrap2.x) / (2.0*PI));\\n // Canvas spiral radius increases by scale*pi/15 each rotation.\\n const float dr = PI/15.0;\\n float radius = length(wrap2);\\n // At any angle, spiral lines are equally spaced dr apart.\\n // Find distance to nearest of these lines.\\n float frac = fract((radius - dr*angle) / dr); // 0 to 1.\\n dist = dr*(abs(frac - 0.5));\\n dist = min(dist, radius) - halfwidth; // Consider center point also.\\n }\\n else if (hatch_pattern == hatch_right_diagonal_line) {\\n dist = abs(wrap(2.0*coords.x + coords.y))/sqrt(5.0) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_left_diagonal_line) {\\n dist = abs(wrap(2.0*coords.x - coords.y))/sqrt(5.0) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_diagonal_cross) {\\n coords = vec2(coords.x + coords.y + 0.5, coords.x - coords.y + 0.5);\\n dist = min(abs(wrap(coords.x)), abs(wrap(coords.y))) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_right_diagonal_dash) {\\n float across = coords.x + coords.y + 0.5;\\n dist = abs(wrap(across)) / SQRT2; // Distance to nearest solid line.\\n\\n across = floor(across); // Offset for dash.\\n float along = wrap(0.5*(coords.x - coords.y + across));\\n const float halflength = 0.25;\\n along = abs(along) - halflength; // Distance along line.\\n\\n dist = max(dist, along) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_left_diagonal_dash) {\\n float across = coords.x - coords.y + 0.5;\\n dist = abs(wrap(across)) / SQRT2; // Distance to nearest solid line.\\n\\n across = floor(across); // Offset for dash.\\n float along = wrap(0.5*(coords.x + coords.y + across));\\n const float halflength = 0.25;\\n along = abs(along) - halflength; // Distance along line.\\n\\n dist = max(dist, along) - halfwidth;\\n }\\n else if (hatch_pattern == hatch_horizontal_wave) {\\n float wrapx = wrap(coords.x);\\n float wrapy = wrap(coords.y - 0.25 + abs(wrapx));\\n dist = abs(wrapy) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_vertical_wave) {\\n float wrapy = wrap(coords.y);\\n float wrapx = wrap(coords.x - 0.25 + abs(wrapy));\\n dist = abs(wrapx) / SQRT2 - halfwidth;\\n }\\n else if (hatch_pattern == hatch_criss_cross) {\\n float plus = min(abs(wrap(coords.x)), abs(wrap(coords.y)));\\n\\n coords = vec2(coords.x + coords.y + 0.5, coords.x - coords.y + 0.5);\\n float X = min(abs(wrap(coords.x)), abs(wrap(coords.y))) / SQRT2;\\n\\n dist = min(plus, X) - halfwidth;\\n }\\n\\n return distance_to_fraction(dist*scale);\\n}\\n#endif\\n\\nvoid main()\\n{\\n int line_join = int(v_line_join + 0.5);\\n#ifdef HATCH\\n int hatch_pattern = int(v_hatch_pattern + 0.5);\\n#endif\\n\\n float dist = marker_distance(v_coords, line_join);\\n\\n float fill_frac = fill_fraction(dist);\\n vec4 color = fractional_color(v_fill_color, fill_frac);\\n\\n#ifdef HATCH\\n if (hatch_pattern > 0 && fill_frac > 0.0) {\\n float hatch_frac = hatch_fraction(v_hatch_coords, hatch_pattern);\\n vec4 hatch_color = fractional_color(v_hatch_color, hatch_frac*fill_frac);\\n color = blend_colors(hatch_color, color);\\n }\\n#endif\\n\\n float line_frac = line_fraction(dist);\\n if (line_frac > 0.0) {\\n vec4 line_color = fractional_color(v_line_color, line_frac);\\n color = blend_colors(line_color, color);\\n }\\n\\n gl_FragColor = color;\\n}\\n\"},\n", - " 421: function _(s,i,t,e,_){e();const h=s(422),l=s(22),a=s(46),n=s(423),o=s(424),r=-1e4;class p extends h.BaseGLGlyph{constructor(s,i){super(s,i),this.glyph=i,this._antialias=1.5,this._miter_limit=5}draw(s,i,t){const e=i.glglyph;this.visuals_changed&&(this._set_visuals(),this.visuals_changed=!1),e.data_changed&&(e._set_data(),e.data_changed=!1);const _=this.glyph.visuals.line,h=n.cap_lookup[_.line_cap.value],l=n.join_lookup[_.line_join.value];if(this._is_dashed()){const s={scissor:this.regl_wrapper.scissor,viewport:this.regl_wrapper.viewport,canvas_size:[t.width,t.height],pixel_ratio:t.pixel_ratio,line_color:this._color,linewidth:this._linewidth,antialias:this._antialias,miter_limit:this._miter_limit,points:e._points,nsegments:e._nsegments,line_join:l,line_cap:h,length_so_far:e._length_so_far,dash_tex:this._dash_tex,dash_tex_info:this._dash_tex_info,dash_scale:this._dash_scale,dash_offset:this._dash_offset};this.regl_wrapper.dashed_line()(s)}else{const s={scissor:this.regl_wrapper.scissor,viewport:this.regl_wrapper.viewport,canvas_size:[t.width,t.height],pixel_ratio:t.pixel_ratio,line_color:this._color,linewidth:this._linewidth,antialias:this._antialias,miter_limit:this._miter_limit,points:e._points,nsegments:e._nsegments,line_join:l,line_cap:h};this.regl_wrapper.solid_line()(s)}}_is_dashed(){return this._line_dash.length>0}_set_data(){const s=this.glyph.sx.length;this._nsegments=s-1,null==this._is_closed&&(this._is_closed=this.glyph.sx[0]==this.glyph.sx[s-1]&&this.glyph.sy[0]==this.glyph.sy[s-1]&&isFinite(this.glyph.sx[0])&&isFinite(this.glyph.sy[0])),null==this._points&&(this._points=new o.Float32Buffer(this.regl_wrapper));const i=this._points.get_sized_array(2*(s+2));for(let t=1;t-9e3&&i[2*e+4]>-9e3&&(t+=Math.sqrt((i[2*e+4]-i[2*e+2])**2+(i[2*e+5]-i[2*e+3])**2));this._length_so_far.update()}}_set_visuals(){const s=this.glyph.visuals.line,i=(0,l.color2rgba)(s.line_color.value,s.line_alpha.value);this._color=i.map((s=>s/255)),this._linewidth=s.line_width.value,this._linewidth<1&&(this._color[3]*=this._linewidth,this._linewidth=1),this._line_dash=(0,a.resolve_line_dash)(s.line_dash.value),1==this._line_dash.length&&this._line_dash.push(this._line_dash[0]),this._is_dashed()&&([this._dash_tex_info,this._dash_tex,this._dash_scale]=this.regl_wrapper.get_dash(this._line_dash),this._dash_offset=s.line_dash_offset.value)}}t.LineGL=p,p.__name__=\"LineGL\"},\n", - " 422: function _(e,t,s,i,h){i();class a{constructor(e,t){this.glyph=t,this.nvertices=0,this.size_changed=!1,this.data_changed=!1,this.visuals_changed=!1,this.regl_wrapper=e}set_data_changed(){const{data_size:e}=this.glyph;e!=this.nvertices&&(this.nvertices=e,this.size_changed=!0),this.data_changed=!0}set_visuals_changed(){this.visuals_changed=!0}render(e,t,s){if(0==t.length)return!0;const{width:i,height:h}=this.glyph.renderer.plot_view.canvas_view.webgl.canvas,a={pixel_ratio:this.glyph.renderer.plot_view.canvas_view.pixel_ratio,width:i,height:h};return this.draw(t,s,a),!0}}s.BaseGLGlyph=a,a.__name__=\"BaseGLGlyph\"},\n", - " 423: function _(a,o,i,n,l){n();const t=a(52);i.cap_lookup={butt:0,round:1,square:2},i.join_lookup={miter:0,round:1,bevel:2};const _={blank:0,dot:1,ring:2,horizontal_line:3,vertical_line:4,cross:5,horizontal_dash:6,vertical_dash:7,spiral:8,right_diagonal_line:9,left_diagonal_line:10,diagonal_cross:11,right_diagonal_dash:12,left_diagonal_dash:13,horizontal_wave:14,vertical_wave:15,criss_cross:16};i.hatch_pattern_to_index=function(a){var o,i;return null!==(i=_[null!==(o=t.hatch_aliases[a])&&void 0!==o?o:a])&&void 0!==i?i:0}},\n", - " 424: function _(r,t,a,e,s){e();const i=r(423),_=r(22);class n{constructor(r){this.regl_wrapper=r,this.is_scalar=!0}get_sized_array(r){return null!=this.array&&this.array.length==r||(this.array=this.new_array(r)),this.array}is_normalized(){return!1}get length(){return null!=this.array?this.array.length:0}set_from_array(r){const t=r.length,a=this.get_sized_array(t);for(let e=0;ethis.render()))}remove(){null!=this.icon_view&&this.icon_view.remove(),super.remove()}styles(){return[...super.styles(),d.default]}_render_button(...t){return(0,c.button)({type:\"button\",disabled:this.model.disabled,class:[h.btn,h[`btn_${this.model.button_type}`]]},...t)}render(){super.render(),this.button_el=this._render_button(this.model.label),this.button_el.addEventListener(\"click\",(()=>this.click())),null!=this.icon_view&&(\"\"!=this.model.label?(0,c.prepend)(this.button_el,this.icon_view.el,(0,c.nbsp)()):(0,c.prepend)(this.button_el,this.icon_view.el),this.icon_view.render()),this.group_el=(0,c.div)({class:h.btn_group},this.button_el),this.el.appendChild(this.group_el)}click(){}}n.AbstractButtonView=b,b.__name__=\"AbstractButtonView\";class p extends _.Control{constructor(t){super(t)}}n.AbstractButton=p,o=p,p.__name__=\"AbstractButton\",o.define((({String:t,Ref:e,Nullable:n})=>({label:[t,\"Button\"],icon:[n(e(a.AbstractIcon)),null],button_type:[r.ButtonType,\"default\"]})))},\n", - " 439: function _(t,e,o,s,n){s();const i=t(508),l=t(43);class c extends i.WidgetView{connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.disabled,(()=>{for(const t of this.controls())(0,l.toggle_attribute)(t,\"disabled\",this.model.disabled)}))}}o.ControlView=c,c.__name__=\"ControlView\";class r extends i.Widget{constructor(t){super(t)}}o.Control=r,r.__name__=\"Control\"},\n", - " 508: function _(i,e,t,n,o){var r;n();const s=i(312);class _ extends s.HTMLBoxView{get orientation(){return\"horizontal\"}get default_size(){return this.model.default_size}_width_policy(){return\"horizontal\"==this.orientation?super._width_policy():\"fixed\"}_height_policy(){return\"horizontal\"==this.orientation?\"fixed\":super._height_policy()}box_sizing(){const i=super.box_sizing();return\"horizontal\"==this.orientation?null==i.width&&(i.width=this.default_size):null==i.height&&(i.height=this.default_size),i}}t.WidgetView=_,_.__name__=\"WidgetView\";class h extends s.HTMLBox{constructor(i){super(i)}}t.Widget=h,r=h,h.__name__=\"Widget\",r.define((({Number:i})=>({default_size:[i,300]}))),r.override({margin:[5,5,5,5]})},\n", - " 441: function _(c,t,s,n,e){n();const o=c(53),_=c(226);class a extends _.DOMView{}s.AbstractIconView=a,a.__name__=\"AbstractIconView\";class r extends o.Model{constructor(c){super(c)}}s.AbstractIcon=r,r.__name__=\"AbstractIcon\"},\n", - " 442: function _(e,t,n,s,i){s();const h=e(1);var o;const _=e(443),u=e(43),r=e(10),c=(0,h.__importStar)(e(229)),a=c;class l extends _.TextInputView{constructor(){super(...arguments),this._open=!1,this._last_value=\"\",this._hover_index=0}styles(){return[...super.styles(),c.default]}render(){super.render(),this.input_el.addEventListener(\"keydown\",(e=>this._keydown(e))),this.input_el.addEventListener(\"keyup\",(e=>this._keyup(e))),this.menu=(0,u.div)({class:[a.menu,a.below]}),this.menu.addEventListener(\"click\",(e=>this._menu_click(e))),this.menu.addEventListener(\"mouseover\",(e=>this._menu_hover(e))),this.el.appendChild(this.menu),(0,u.undisplay)(this.menu)}change_input(){this._open&&this.menu.children.length>0?(this.model.value=this.menu.children[this._hover_index].textContent,this.input_el.focus(),this._hide_menu()):this.model.restrict||super.change_input()}_update_completions(e){(0,u.empty)(this.menu);for(const t of e){const e=(0,u.div)(t);this.menu.appendChild(e)}e.length>0&&this.menu.children[0].classList.add(a.active)}_show_menu(){if(!this._open){this._open=!0,this._hover_index=0,this._last_value=this.model.value,(0,u.display)(this.menu);const e=t=>{const{target:n}=t;n instanceof HTMLElement&&!this.el.contains(n)&&(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,(0,u.undisplay)(this.menu))}_menu_click(e){e.target!=e.currentTarget&&e.target instanceof Element&&(this.model.value=e.target.textContent,this.input_el.focus(),this._hide_menu())}_menu_hover(e){if(e.target!=e.currentTarget&&e.target instanceof Element){let t=0;for(t=0;t0&&(this.menu.children[this._hover_index].classList.remove(a.active),this._hover_index=(0,r.clamp)(e,0,t-1),this.menu.children[this._hover_index].classList.add(a.active))}_keydown(e){}_keyup(e){switch(e.keyCode){case u.Keys.Enter:this.change_input();break;case u.Keys.Esc:this._hide_menu();break;case u.Keys.Up:this._bump_hover(this._hover_index-1);break;case u.Keys.Down:this._bump_hover(this._hover_index+1);break;default:{const e=this.input_el.value;if(e.lengthe:e=>e.toLowerCase();for(const n of this.model.completions)s(n).startsWith(s(e))&&t.push(n);this._update_completions(t),0==t.length?this._hide_menu():this._show_menu()}}}}n.AutocompleteInputView=l,l.__name__=\"AutocompleteInputView\";class d extends _.TextInput{constructor(e){super(e)}}n.AutocompleteInput=d,o=d,d.__name__=\"AutocompleteInput\",o.prototype.default_view=l,o.define((({Boolean:e,Int:t,String:n,Array:s})=>({completions:[s(n),[]],min_characters:[t,2],case_sensitive:[e,!0],restrict:[e,!0]})))},\n", - " 443: function _(t,e,n,p,_){p();const u=t(1);var i;const s=t(444),r=t(43),x=(0,u.__importStar)(t(446));class a extends s.TextLikeInputView{_render_input(){this.input_el=(0,r.input)({type:\"text\",class:x.input})}}n.TextInputView=a,a.__name__=\"TextInputView\";class c extends s.TextLikeInput{constructor(t){super(t)}}n.TextInput=c,i=c,c.__name__=\"TextInput\",i.prototype.default_view=a},\n", - " 444: function _(e,t,n,i,l){var s;i();const h=e(445);class a extends h.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,(()=>{var e;return this.input_el.name=null!==(e=this.model.name)&&void 0!==e?e:\"\"})),this.connect(this.model.properties.value.change,(()=>this.input_el.value=this.model.value)),this.connect(this.model.properties.value_input.change,(()=>this.input_el.value=this.model.value_input)),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled)),this.connect(this.model.properties.placeholder.change,(()=>this.input_el.placeholder=this.model.placeholder)),this.connect(this.model.properties.max_length.change,(()=>{const{max_length:e}=this.model;null!=e?this.input_el.maxLength=e:this.input_el.removeAttribute(\"maxLength\")}))}render(){var e;super.render(),this._render_input();const{input_el:t}=this;t.name=null!==(e=this.model.name)&&void 0!==e?e:\"\",t.value=this.model.value,t.disabled=this.model.disabled,t.placeholder=this.model.placeholder,null!=this.model.max_length&&(t.maxLength=this.model.max_length),t.addEventListener(\"change\",(()=>this.change_input())),t.addEventListener(\"input\",(()=>this.change_input_value())),this.group_el.appendChild(t)}change_input(){this.model.value=this.input_el.value,super.change_input()}change_input_value(){this.model.value_input=this.input_el.value,super.change_input()}}n.TextLikeInputView=a,a.__name__=\"TextLikeInputView\";class u extends h.InputWidget{constructor(e){super(e)}}n.TextLikeInput=u,s=u,u.__name__=\"TextLikeInput\",s.define((({Int:e,String:t,Nullable:n})=>({value:[t,\"\"],value_input:[t,\"\"],placeholder:[t,\"\"],max_length:[n(e),null]})))},\n", - " 445: function _(e,t,n,s,l){s();const i=e(1);var o;const r=e(439),_=e(43),p=(0,i.__importStar)(e(446)),a=p;class c extends r.ControlView{*controls(){yield this.input_el}connect_signals(){super.connect_signals(),this.connect(this.model.properties.title.change,(()=>{this.label_el.textContent=this.model.title}))}styles(){return[...super.styles(),p.default]}render(){super.render();const{title:e}=this.model;this.label_el=(0,_.label)({style:{display:0==e.length?\"none\":\"\"}},e),this.group_el=(0,_.div)({class:a.input_group},this.label_el),this.el.appendChild(this.group_el)}change_input(){}}n.InputWidgetView=c,c.__name__=\"InputWidgetView\";class d extends r.Control{constructor(e){super(e)}}n.InputWidget=d,o=d,d.__name__=\"InputWidget\",o.define((({String:e})=>({title:[e,\"\"]})))},\n", - " 446: function _(o,p,t,n,i){n(),t.root=\"bk-root\",t.input=\"bk-input\",t.input_group=\"bk-input-group\",t.inline=\"bk-inline\",t.spin_wrapper=\"bk-spin-wrapper\",t.spin_btn=\"bk-spin-btn\",t.spin_btn_up=\"bk-spin-btn-up\",t.spin_btn_down=\"bk-spin-btn-down\",t.default='.bk-root .bk-input{display:inline-block;width:100%;flex-grow:1;min-height:31px;padding:0 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;}.bk-root .bk-input:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);}.bk-root .bk-input::placeholder,.bk-root .bk-input:-ms-input-placeholder,.bk-root .bk-input::-moz-placeholder,.bk-root .bk-input::-webkit-input-placeholder{color:#999;opacity:1;}.bk-root .bk-input[disabled]{cursor:not-allowed;background-color:#eee;opacity:1;}.bk-root select:not([multiple]).bk-input,.bk-root select:not([size]).bk-input{height:auto;appearance:none;-webkit-appearance:none;background-image:url(\\'data:image/svg+xml;utf8,\\');background-position:right 0.5em center;background-size:8px 6px;background-repeat:no-repeat;}.bk-root select[multiple].bk-input,.bk-root select[size].bk-input,.bk-root textarea.bk-input{height:auto;}.bk-root .bk-input-group{width:100%;height:100%;display:inline-flex;flex-wrap:nowrap;align-items:start;flex-direction:column;white-space:nowrap;}.bk-root .bk-input-group.bk-inline{flex-direction:row;}.bk-root .bk-input-group.bk-inline > *:not(:first-child){margin-left:5px;}.bk-root .bk-input-group input[type=\"checkbox\"] + span,.bk-root .bk-input-group input[type=\"radio\"] + span{position:relative;top:-2px;margin-left:3px;}.bk-root .bk-input-group > .bk-spin-wrapper{display:inherit;width:inherit;height:inherit;position:relative;overflow:hidden;padding:0;vertical-align:middle;}.bk-root .bk-input-group > .bk-spin-wrapper input{padding-right:20px;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn{position:absolute;display:block;height:50%;min-height:0;min-width:0;width:30px;padding:0;margin:0;right:0;border:none;background:none;cursor:pointer;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn:before{content:\"\";display:inline-block;transform:translateY(-50%);border-left:5px solid transparent;border-right:5px solid transparent;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up{top:0;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:before{border-bottom:5px solid black;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-up:disabled:before{border-bottom-color:grey;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down{bottom:0;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:before{border-top:5px solid black;}.bk-root .bk-input-group > .bk-spin-wrapper > .bk-spin-btn.bk-spin-btn-down:disabled:before{border-top-color:grey;}'},\n", - " 447: function _(t,e,n,o,c){var s;o();const u=t(438),r=t(251);class i extends u.AbstractButtonView{click(){this.model.trigger_event(new r.ButtonClick),super.click()}}n.ButtonView=i,i.__name__=\"ButtonView\";class _ extends u.AbstractButton{constructor(t){super(t)}}n.Button=_,s=_,_.__name__=\"Button\",s.prototype.default_view=i,s.override({label:\"Button\"})},\n", - " 448: function _(t,e,o,c,a){c();const s=t(1);var n;const i=t(449),r=t(43),u=(0,s.__importStar)(t(318));class _ extends i.ButtonGroupView{get active(){return new Set(this.model.active)}change_active(t){const{active:e}=this;e.has(t)?e.delete(t):e.add(t),this.model.active=[...e].sort()}_update_active(){const{active:t}=this;this._buttons.forEach(((e,o)=>{(0,r.classes)(e).toggle(u.active,t.has(o))}))}}o.CheckboxButtonGroupView=_,_.__name__=\"CheckboxButtonGroupView\";class h extends i.ButtonGroup{constructor(t){super(t)}}o.CheckboxButtonGroup=h,n=h,h.__name__=\"CheckboxButtonGroup\",n.prototype.default_view=_,n.define((({Int:t,Array:e})=>({active:[e(t),[]]})))},\n", - " 449: function _(t,e,n,s,i){s();const o=t(1);var r;const a=t(450),l=t(20),d=t(43),u=(0,o.__importStar)(t(318)),_=u;class c extends a.OrientedControlView{get default_size(){return\"horizontal\"==this.orientation?this.model.default_size:void 0}*controls(){yield*this._buttons}connect_signals(){super.connect_signals();const t=this.model.properties;this.on_change(t.button_type,(()=>this.render())),this.on_change(t.labels,(()=>this.render())),this.on_change(t.active,(()=>this._update_active()))}styles(){return[...super.styles(),u.default]}render(){super.render(),this._buttons=this.model.labels.map(((t,e)=>{const n=(0,d.div)({class:[_.btn,_[`btn_${this.model.button_type}`]],disabled:this.model.disabled},t);return n.addEventListener(\"click\",(()=>this.change_active(e))),n})),this._update_active();const t=\"horizontal\"==this.model.orientation?_.horizontal:_.vertical,e=(0,d.div)({class:[_.btn_group,t]},this._buttons);this.el.appendChild(e)}}n.ButtonGroupView=c,c.__name__=\"ButtonGroupView\";class h extends a.OrientedControl{constructor(t){super(t)}}n.ButtonGroup=h,r=h,h.__name__=\"ButtonGroup\",r.define((({String:t,Array:e})=>({labels:[e(t),[]],button_type:[l.ButtonType,\"default\"]})))},\n", - " 450: function _(n,t,e,o,r){var i;o();const a=n(439),l=n(20);class s extends a.ControlView{get orientation(){return this.model.orientation}}e.OrientedControlView=s,s.__name__=\"OrientedControlView\";class _ extends a.Control{constructor(n){super(n)}}e.OrientedControl=_,i=_,_.__name__=\"OrientedControl\",i.define((()=>({orientation:[l.Orientation,\"horizontal\"]})))},\n", - " 451: function _(e,t,n,i,s){i();const o=e(1);var a;const c=e(452),l=e(43),d=e(9),p=(0,o.__importStar)(e(446));class r extends c.InputGroupView{render(){super.render();const e=(0,l.div)({class:[p.input_group,this.model.inline?p.inline:null]});this.el.appendChild(e);const{active:t,labels:n}=this.model;this._inputs=[];for(let i=0;ithis.change_active(i))),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),(0,d.includes)(t,i)&&(s.checked=!0);const o=(0,l.label)(s,(0,l.span)(n[i]));e.appendChild(o)}}change_active(e){const t=new Set(this.model.active);t.has(e)?t.delete(e):t.add(e),this.model.active=[...t].sort()}}n.CheckboxGroupView=r,r.__name__=\"CheckboxGroupView\";class h extends c.InputGroup{constructor(e){super(e)}}n.CheckboxGroup=h,a=h,h.__name__=\"CheckboxGroup\",a.prototype.default_view=r,a.define((({Boolean:e,Int:t,String:n,Array:i})=>({active:[i(t),[]],labels:[i(n),[]],inline:[e,!1]})))},\n", - " 452: function _(n,t,e,s,o){s();const r=n(1),u=n(439),c=(0,r.__importDefault)(n(446));class _ extends u.ControlView{*controls(){yield*this._inputs}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render()))}styles(){return[...super.styles(),c.default]}}e.InputGroupView=_,_.__name__=\"InputGroupView\";class i extends u.Control{constructor(n){super(n)}}e.InputGroup=i,i.__name__=\"InputGroup\"},\n", - " 453: function _(e,t,i,n,o){n();const s=e(1);var l;const r=e(445),c=e(43),a=e(22),d=(0,s.__importStar)(e(446));class h extends r.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.name.change,(()=>{var e;return this.input_el.name=null!==(e=this.model.name)&&void 0!==e?e:\"\"})),this.connect(this.model.properties.color.change,(()=>this.input_el.value=(0,a.color2hexrgb)(this.model.color))),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled))}render(){super.render(),this.input_el=(0,c.input)({type:\"color\",class:d.input,name:this.model.name,value:this.model.color,disabled:this.model.disabled}),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.group_el.appendChild(this.input_el)}change_input(){this.model.color=this.input_el.value,super.change_input()}}i.ColorPickerView=h,h.__name__=\"ColorPickerView\";class p extends r.InputWidget{constructor(e){super(e)}}i.ColorPicker=p,l=p,p.__name__=\"ColorPicker\",l.prototype.default_view=h,l.define((({Color:e})=>({color:[e,\"#000000\"]})))},\n", - " 454: function _(e,t,i,n,s){n();const a=e(1);var l;const o=(0,a.__importDefault)(e(455)),d=e(445),r=e(43),c=e(20),u=e(8),h=(0,a.__importStar)(e(446)),_=(0,a.__importDefault)(e(456));function p(e){const t=[];for(const i of e)if((0,u.isString)(i))t.push(i);else{const[e,n]=i;t.push({from:e,to:n})}return t}class m extends d.InputWidgetView{connect_signals(){super.connect_signals();const{value:e,min_date:t,max_date:i,disabled_dates:n,enabled_dates:s,position:a,inline:l}=this.model.properties;this.connect(e.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.setDate(this.model.value)})),this.connect(t.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"minDate\",this.model.min_date)})),this.connect(i.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"maxDate\",this.model.max_date)})),this.connect(n.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"disable\",this.model.disabled_dates)})),this.connect(s.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"enable\",this.model.enabled_dates)})),this.connect(a.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"position\",this.model.position)})),this.connect(l.change,(()=>{var e;return null===(e=this._picker)||void 0===e?void 0:e.set(\"inline\",this.model.inline)}))}remove(){var e;null===(e=this._picker)||void 0===e||e.destroy(),super.remove()}styles(){return[...super.styles(),_.default]}render(){var e,t;null==this._picker&&(super.render(),this.input_el=(0,r.input)({type:\"text\",class:h.input,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el),this._picker=(0,o.default)(this.input_el,{defaultDate:this.model.value,minDate:null!==(e=this.model.min_date)&&void 0!==e?e:void 0,maxDate:null!==(t=this.model.max_date)&&void 0!==t?t:void 0,inline:this.model.inline,position:this.model.position,disable:p(this.model.disabled_dates),enable:p(this.model.enabled_dates),onChange:(e,t,i)=>this._on_change(e,t,i)}))}_on_change(e,t,i){this.model.value=t,this.change_input()}}i.DatePickerView=m,m.__name__=\"DatePickerView\";class v extends d.InputWidget{constructor(e){super(e)}}i.DatePicker=v,l=v,v.__name__=\"DatePicker\",l.prototype.default_view=m,l.define((({Boolean:e,String:t,Array:i,Tuple:n,Or:s,Nullable:a})=>{const l=i(s(t,n(t,t)));return{value:[t],min_date:[a(t),null],max_date:[a(t),null],disabled_dates:[l,[]],enabled_dates:[l,[]],position:[c.CalendarPosition,\"auto\"],inline:[e,!1]}}))},\n", - " 455: function _(e,n,t,a,i){\n", - " /* flatpickr v4.6.6, @license MIT */var o,r;o=this,r=function(){\"use strict\";\n", - " /*! *****************************************************************************\n", - " Copyright (c) Microsoft Corporation.\n", - " \n", - " Permission to use, copy, modify, and/or distribute this software for any\n", - " purpose with or without fee is hereby granted.\n", - " \n", - " THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n", - " REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n", - " AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n", - " INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n", - " LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n", - " OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n", - " PERFORMANCE OF THIS SOFTWARE.\n", - " ***************************************************************************** */var e=function(){return e=Object.assign||function(e){for(var n,t=1,a=arguments.length;t\",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:\"auto\",positionElement:void 0,prevArrow:\"\",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1},i={weekdays:{shorthand:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],longhand:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]},months:{shorthand:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],longhand:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(e){var n=e%100;if(n>3&&n<21)return\"th\";switch(n%10){case 1:return\"st\";case 2:return\"nd\";case 3:return\"rd\";default:return\"th\"}},rangeSeparator:\" to \",weekAbbreviation:\"Wk\",scrollTitle:\"Scroll to increment\",toggleTitle:\"Click to toggle\",amPM:[\"AM\",\"PM\"],yearAriaLabel:\"Year\",monthAriaLabel:\"Month\",hourAriaLabel:\"Hour\",minuteAriaLabel:\"Minute\",time_24hr:!1},o=function(e,n){return void 0===n&&(n=2),(\"000\"+e).slice(-1*n)},r=function(e){return!0===e?1:0};function l(e,n,t){var a;return void 0===t&&(t=!1),function(){var i=this,o=arguments;null!==a&&clearTimeout(a),a=window.setTimeout((function(){a=null,t||e.apply(i,o)}),n),t&&!a&&e.apply(i,o)}}var c=function(e){return e instanceof Array?e:[e]};function d(e,n,t){if(!0===t)return e.classList.add(n);e.classList.remove(n)}function s(e,n,t){var a=window.document.createElement(e);return n=n||\"\",t=t||\"\",a.className=n,void 0!==t&&(a.textContent=t),a}function u(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e,n){return n(e)?e:e.parentNode?f(e.parentNode,n):void 0}function m(e,n){var t=s(\"div\",\"numInputWrapper\"),a=s(\"input\",\"numInput \"+e),i=s(\"span\",\"arrowUp\"),o=s(\"span\",\"arrowDown\");if(-1===navigator.userAgent.indexOf(\"MSIE 9.0\")?a.type=\"number\":(a.type=\"text\",a.pattern=\"\\\\d*\"),void 0!==n)for(var r in n)a.setAttribute(r,n[r]);return t.appendChild(a),t.appendChild(i),t.appendChild(o),t}function g(e){try{return\"function\"==typeof e.composedPath?e.composedPath()[0]:e.target}catch(n){return e.target}}var p=function(){},h=function(e,n,t){return t.months[n?\"shorthand\":\"longhand\"][e]},v={D:p,F:function(e,n,t){e.setMonth(t.months.longhand.indexOf(n))},G:function(e,n){e.setHours(parseFloat(n))},H:function(e,n){e.setHours(parseFloat(n))},J:function(e,n){e.setDate(parseFloat(n))},K:function(e,n,t){e.setHours(e.getHours()%12+12*r(new RegExp(t.amPM[1],\"i\").test(n)))},M:function(e,n,t){e.setMonth(t.months.shorthand.indexOf(n))},S:function(e,n){e.setSeconds(parseFloat(n))},U:function(e,n){return new Date(1e3*parseFloat(n))},W:function(e,n,t){var a=parseInt(n),i=new Date(e.getFullYear(),0,2+7*(a-1),0,0,0,0);return i.setDate(i.getDate()-i.getDay()+t.firstDayOfWeek),i},Y:function(e,n){e.setFullYear(parseFloat(n))},Z:function(e,n){return new Date(n)},d:function(e,n){e.setDate(parseFloat(n))},h:function(e,n){e.setHours(parseFloat(n))},i:function(e,n){e.setMinutes(parseFloat(n))},j:function(e,n){e.setDate(parseFloat(n))},l:p,m:function(e,n){e.setMonth(parseFloat(n)-1)},n:function(e,n){e.setMonth(parseFloat(n)-1)},s:function(e,n){e.setSeconds(parseFloat(n))},u:function(e,n){return new Date(parseFloat(n))},w:p,y:function(e,n){e.setFullYear(2e3+parseFloat(n))}},D={D:\"(\\\\w+)\",F:\"(\\\\w+)\",G:\"(\\\\d\\\\d|\\\\d)\",H:\"(\\\\d\\\\d|\\\\d)\",J:\"(\\\\d\\\\d|\\\\d)\\\\w+\",K:\"\",M:\"(\\\\w+)\",S:\"(\\\\d\\\\d|\\\\d)\",U:\"(.+)\",W:\"(\\\\d\\\\d|\\\\d)\",Y:\"(\\\\d{4})\",Z:\"(.+)\",d:\"(\\\\d\\\\d|\\\\d)\",h:\"(\\\\d\\\\d|\\\\d)\",i:\"(\\\\d\\\\d|\\\\d)\",j:\"(\\\\d\\\\d|\\\\d)\",l:\"(\\\\w+)\",m:\"(\\\\d\\\\d|\\\\d)\",n:\"(\\\\d\\\\d|\\\\d)\",s:\"(\\\\d\\\\d|\\\\d)\",u:\"(.+)\",w:\"(\\\\d\\\\d|\\\\d)\",y:\"(\\\\d{2})\"},w={Z:function(e){return e.toISOString()},D:function(e,n,t){return n.weekdays.shorthand[w.w(e,n,t)]},F:function(e,n,t){return h(w.n(e,n,t)-1,!1,n)},G:function(e,n,t){return o(w.h(e,n,t))},H:function(e){return o(e.getHours())},J:function(e,n){return void 0!==n.ordinal?e.getDate()+n.ordinal(e.getDate()):e.getDate()},K:function(e,n){return n.amPM[r(e.getHours()>11)]},M:function(e,n){return h(e.getMonth(),!0,n)},S:function(e){return o(e.getSeconds())},U:function(e){return e.getTime()/1e3},W:function(e,n,t){return t.getWeek(e)},Y:function(e){return o(e.getFullYear(),4)},d:function(e){return o(e.getDate())},h:function(e){return e.getHours()%12?e.getHours()%12:12},i:function(e){return o(e.getMinutes())},j:function(e){return e.getDate()},l:function(e,n){return n.weekdays.longhand[e.getDay()]},m:function(e){return o(e.getMonth()+1)},n:function(e){return e.getMonth()+1},s:function(e){return e.getSeconds()},u:function(e){return e.getTime()},w:function(e){return e.getDay()},y:function(e){return String(e.getFullYear()).substring(2)}},b=function(e){var n=e.config,t=void 0===n?a:n,o=e.l10n,r=void 0===o?i:o,l=e.isMobile,c=void 0!==l&&l;return function(e,n,a){var i=a||r;return void 0===t.formatDate||c?n.split(\"\").map((function(n,a,o){return w[n]&&\"\\\\\"!==o[a-1]?w[n](e,i,t):\"\\\\\"!==n?n:\"\"})).join(\"\"):t.formatDate(e,n,i)}},C=function(e){var n=e.config,t=void 0===n?a:n,o=e.l10n,r=void 0===o?i:o;return function(e,n,i,o){if(0===e||e){var l,c=o||r,d=e;if(e instanceof Date)l=new Date(e.getTime());else if(\"string\"!=typeof e&&void 0!==e.toFixed)l=new Date(e);else if(\"string\"==typeof e){var s=n||(t||a).dateFormat,u=String(e).trim();if(\"today\"===u)l=new Date,i=!0;else if(/Z$/.test(u)||/GMT$/.test(u))l=new Date(e);else if(t&&t.parseDate)l=t.parseDate(e,s);else{l=t&&t.noCalendar?new Date((new Date).setHours(0,0,0,0)):new Date((new Date).getFullYear(),0,1,0,0,0,0);for(var f=void 0,m=[],g=0,p=0,h=\"\";gl&&(u=a===w.hourElement?u-l-r(!w.amPM):i,m&&H(void 0,1,w.hourElement)),w.amPM&&f&&(1===c?u+d===23:Math.abs(u-d)>c)&&(w.amPM.textContent=w.l10n.amPM[r(w.amPM.textContent===w.l10n.amPM[0])]),a.value=o(u)}}(e);var c=w._input.value;I(),be(),w._input.value!==c&&w._debouncedChange()}function I(){if(void 0!==w.hourElement&&void 0!==w.minuteElement){var e,n,t=(parseInt(w.hourElement.value.slice(-2),10)||0)%24,a=(parseInt(w.minuteElement.value,10)||0)%60,i=void 0!==w.secondElement?(parseInt(w.secondElement.value,10)||0)%60:0;void 0!==w.amPM&&(e=t,n=w.amPM.textContent,t=e%12+12*r(n===w.l10n.amPM[1]));var o=void 0!==w.config.minTime||w.config.minDate&&w.minDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.minDate,!0);if(void 0!==w.config.maxTime||w.config.maxDate&&w.maxDateHasTime&&w.latestSelectedDateObj&&0===M(w.latestSelectedDateObj,w.config.maxDate,!0)){var l=void 0!==w.config.maxTime?w.config.maxTime:w.config.maxDate;(t=Math.min(t,l.getHours()))===l.getHours()&&(a=Math.min(a,l.getMinutes())),a===l.getMinutes()&&(i=Math.min(i,l.getSeconds()))}if(o){var c=void 0!==w.config.minTime?w.config.minTime:w.config.minDate;(t=Math.max(t,c.getHours()))===c.getHours()&&(a=Math.max(a,c.getMinutes())),a===c.getMinutes()&&(i=Math.max(i,c.getSeconds()))}O(t,a,i)}}function S(e){var n=e||w.latestSelectedDateObj;n&&O(n.getHours(),n.getMinutes(),n.getSeconds())}function _(){var e=w.config.defaultHour,n=w.config.defaultMinute,t=w.config.defaultSeconds;if(void 0!==w.config.minDate){var a=w.config.minDate.getHours(),i=w.config.minDate.getMinutes();(e=Math.max(e,a))===a&&(n=Math.max(i,n)),e===a&&n===i&&(t=w.config.minDate.getSeconds())}if(void 0!==w.config.maxDate){var o=w.config.maxDate.getHours(),r=w.config.maxDate.getMinutes();(e=Math.min(e,o))===o&&(n=Math.min(r,n)),e===o&&n===r&&(t=w.config.maxDate.getSeconds())}return{hours:e,minutes:n,seconds:t}}function O(e,n,t){void 0!==w.latestSelectedDateObj&&w.latestSelectedDateObj.setHours(e%24,n,t||0,0),w.hourElement&&w.minuteElement&&!w.isMobile&&(w.hourElement.value=o(w.config.time_24hr?e:(12+e)%12+12*r(e%12==0)),w.minuteElement.value=o(n),void 0!==w.amPM&&(w.amPM.textContent=w.l10n.amPM[r(e>=12)]),void 0!==w.secondElement&&(w.secondElement.value=o(t)))}function F(e){var n=g(e),t=parseInt(n.value)+(e.delta||0);(t/1e3>1||\"Enter\"===e.key&&!/[^\\d]/.test(t.toString()))&&Q(t)}function N(e,n,t,a){return n instanceof Array?n.forEach((function(n){return N(e,n,t,a)})):e instanceof Array?e.forEach((function(e){return N(e,n,t,a)})):(e.addEventListener(n,t,a),void w._handlers.push({element:e,event:n,handler:t,options:a}))}function A(){pe(\"onChange\")}function P(e,n){var t=void 0!==e?w.parseDate(e):w.latestSelectedDateObj||(w.config.minDate&&w.config.minDate>w.now?w.config.minDate:w.config.maxDate&&w.config.maxDate=0&&M(e,w.selectedDates[1])<=0}(n)&&!ve(n)&&o.classList.add(\"inRange\"),w.weekNumbers&&1===w.config.showMonths&&\"prevMonthDay\"!==e&&t%7==1&&w.weekNumbers.insertAdjacentHTML(\"beforeend\",\"\"+w.config.getWeek(n)+\"\"),pe(\"onDayCreate\",o),o}function L(e){e.focus(),\"range\"===w.config.mode&&ae(e)}function W(e){for(var n=e>0?0:w.config.showMonths-1,t=e>0?w.config.showMonths:-1,a=n;a!=t;a+=e)for(var i=w.daysContainer.children[a],o=e>0?0:i.children.length-1,r=e>0?i.children.length:-1,l=o;l!=r;l+=e){var c=i.children[l];if(-1===c.className.indexOf(\"hidden\")&&X(c.dateObj))return c}}function R(e,n){var t=ee(document.activeElement||document.body),a=void 0!==e?e:t?document.activeElement:void 0!==w.selectedDateElem&&ee(w.selectedDateElem)?w.selectedDateElem:void 0!==w.todayDateElem&&ee(w.todayDateElem)?w.todayDateElem:W(n>0?1:-1);void 0===a?w._input.focus():t?function(e,n){for(var t=-1===e.className.indexOf(\"Month\")?e.dateObj.getMonth():w.currentMonth,a=n>0?w.config.showMonths:-1,i=n>0?1:-1,o=t-w.currentMonth;o!=a;o+=i)for(var r=w.daysContainer.children[o],l=t-w.currentMonth===o?e.$i+n:n<0?r.children.length-1:0,c=r.children.length,d=l;d>=0&&d0?c:-1);d+=i){var s=r.children[d];if(-1===s.className.indexOf(\"hidden\")&&X(s.dateObj)&&Math.abs(e.$i-d)>=Math.abs(n))return L(s)}w.changeMonth(i),R(W(i),0)}(a,n):L(a)}function B(e,n){for(var t=(new Date(e,n,1).getDay()-w.l10n.firstDayOfWeek+7)%7,a=w.utils.getDaysInMonth((n-1+12)%12,e),i=w.utils.getDaysInMonth(n,e),o=window.document.createDocumentFragment(),r=w.config.showMonths>1,l=r?\"prevMonthDay hidden\":\"prevMonthDay\",c=r?\"nextMonthDay hidden\":\"nextMonthDay\",d=a+1-t,u=0;d<=a;d++,u++)o.appendChild(j(l,new Date(e,n-1,d),d,u));for(d=1;d<=i;d++,u++)o.appendChild(j(\"\",new Date(e,n,d),d,u));for(var f=i+1;f<=42-t&&(1===w.config.showMonths||u%7!=0);f++,u++)o.appendChild(j(c,new Date(e,n+1,f%i),f,u));var m=s(\"div\",\"dayContainer\");return m.appendChild(o),m}function J(){if(void 0!==w.daysContainer){u(w.daysContainer),w.weekNumbers&&u(w.weekNumbers);for(var e=document.createDocumentFragment(),n=0;n1||\"dropdown\"!==w.config.monthSelectorType)){var e=function(e){return!(void 0!==w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&ew.config.maxDate.getMonth())};w.monthsDropdownContainer.tabIndex=-1,w.monthsDropdownContainer.innerHTML=\"\";for(var n=0;n<12;n++)if(e(n)){var t=s(\"option\",\"flatpickr-monthDropdown-month\");t.value=new Date(w.currentYear,n).getMonth().toString(),t.textContent=h(n,w.config.shorthandCurrentMonth,w.l10n),t.tabIndex=-1,w.currentMonth===n&&(t.selected=!0),w.monthsDropdownContainer.appendChild(t)}}}function U(){var e,n=s(\"div\",\"flatpickr-month\"),t=window.document.createDocumentFragment();w.config.showMonths>1||\"static\"===w.config.monthSelectorType?e=s(\"span\",\"cur-month\"):(w.monthsDropdownContainer=s(\"select\",\"flatpickr-monthDropdown-months\"),w.monthsDropdownContainer.setAttribute(\"aria-label\",w.l10n.monthAriaLabel),N(w.monthsDropdownContainer,\"change\",(function(e){var n=g(e),t=parseInt(n.value,10);w.changeMonth(t-w.currentMonth),pe(\"onMonthChange\")})),K(),e=w.monthsDropdownContainer);var a=m(\"cur-year\",{tabindex:\"-1\"}),i=a.getElementsByTagName(\"input\")[0];i.setAttribute(\"aria-label\",w.l10n.yearAriaLabel),w.config.minDate&&i.setAttribute(\"min\",w.config.minDate.getFullYear().toString()),w.config.maxDate&&(i.setAttribute(\"max\",w.config.maxDate.getFullYear().toString()),i.disabled=!!w.config.minDate&&w.config.minDate.getFullYear()===w.config.maxDate.getFullYear());var o=s(\"div\",\"flatpickr-current-month\");return o.appendChild(e),o.appendChild(a),t.appendChild(o),n.appendChild(t),{container:n,yearElement:i,monthElement:e}}function q(){u(w.monthNav),w.monthNav.appendChild(w.prevMonthNav),w.config.showMonths&&(w.yearElements=[],w.monthElements=[]);for(var e=w.config.showMonths;e--;){var n=U();w.yearElements.push(n.yearElement),w.monthElements.push(n.monthElement),w.monthNav.appendChild(n.container)}w.monthNav.appendChild(w.nextMonthNav)}function $(){w.weekdayContainer?u(w.weekdayContainer):w.weekdayContainer=s(\"div\",\"flatpickr-weekdays\");for(var e=w.config.showMonths;e--;){var n=s(\"div\",\"flatpickr-weekdaycontainer\");w.weekdayContainer.appendChild(n)}return z(),w.weekdayContainer}function z(){if(w.weekdayContainer){var e=w.l10n.firstDayOfWeek,t=n(w.l10n.weekdays.shorthand);e>0&&e\\n \"+t.join(\"\")+\"\\n \\n \"}}function G(e,n){void 0===n&&(n=!0);var t=n?e:e-w.currentMonth;t<0&&!0===w._hidePrevMonthArrow||t>0&&!0===w._hideNextMonthArrow||(w.currentMonth+=t,(w.currentMonth<0||w.currentMonth>11)&&(w.currentYear+=w.currentMonth>11?1:-1,w.currentMonth=(w.currentMonth+12)%12,pe(\"onYearChange\"),K()),J(),pe(\"onMonthChange\"),De())}function V(e){return!(!w.config.appendTo||!w.config.appendTo.contains(e))||w.calendarContainer.contains(e)}function Z(e){if(w.isOpen&&!w.config.inline){var n=g(e),t=V(n),a=n===w.input||n===w.altInput||w.element.contains(n)||e.path&&e.path.indexOf&&(~e.path.indexOf(w.input)||~e.path.indexOf(w.altInput)),i=\"blur\"===e.type?a&&e.relatedTarget&&!V(e.relatedTarget):!a&&!t&&!V(e.relatedTarget),o=!w.config.ignoredFocusElements.some((function(e){return e.contains(n)}));i&&o&&(void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement&&\"\"!==w.input.value&&void 0!==w.input.value&&T(),w.close(),w.config&&\"range\"===w.config.mode&&1===w.selectedDates.length&&(w.clear(!1),w.redraw()))}}function Q(e){if(!(!e||w.config.minDate&&ew.config.maxDate.getFullYear())){var n=e,t=w.currentYear!==n;w.currentYear=n||w.currentYear,w.config.maxDate&&w.currentYear===w.config.maxDate.getFullYear()?w.currentMonth=Math.min(w.config.maxDate.getMonth(),w.currentMonth):w.config.minDate&&w.currentYear===w.config.minDate.getFullYear()&&(w.currentMonth=Math.max(w.config.minDate.getMonth(),w.currentMonth)),t&&(w.redraw(),pe(\"onYearChange\"),K())}}function X(e,n){void 0===n&&(n=!0);var t=w.parseDate(e,void 0,n);if(w.config.minDate&&t&&M(t,w.config.minDate,void 0!==n?n:!w.minDateHasTime)<0||w.config.maxDate&&t&&M(t,w.config.maxDate,void 0!==n?n:!w.maxDateHasTime)>0)return!1;if(0===w.config.enable.length&&0===w.config.disable.length)return!0;if(void 0===t)return!1;for(var a=w.config.enable.length>0,i=a?w.config.enable:w.config.disable,o=0,r=void 0;o=r.from.getTime()&&t.getTime()<=r.to.getTime())return a}return!a}function ee(e){return void 0!==w.daysContainer&&-1===e.className.indexOf(\"hidden\")&&-1===e.className.indexOf(\"flatpickr-disabled\")&&w.daysContainer.contains(e)}function ne(e){e.target!==w._input||e.relatedTarget&&V(e.relatedTarget)||w.setDate(w._input.value,!0,e.target===w.altInput?w.config.altFormat:w.config.dateFormat)}function te(e){var n=g(e),t=w.config.wrap?p.contains(n):n===w._input,a=w.config.allowInput,i=w.isOpen&&(!a||!t),o=w.config.inline&&t&&!a;if(13===e.keyCode&&t){if(a)return w.setDate(w._input.value,!0,n===w.altInput?w.config.altFormat:w.config.dateFormat),n.blur();w.open()}else if(V(n)||i||o){var r=!!w.timeContainer&&w.timeContainer.contains(n);switch(e.keyCode){case 13:r?(e.preventDefault(),T(),se()):ue(e);break;case 27:e.preventDefault(),se();break;case 8:case 46:t&&!w.config.allowInput&&(e.preventDefault(),w.clear());break;case 37:case 39:if(r||t)w.hourElement&&w.hourElement.focus();else if(e.preventDefault(),void 0!==w.daysContainer&&(!1===a||document.activeElement&&ee(document.activeElement))){var l=39===e.keyCode?1:-1;e.ctrlKey?(e.stopPropagation(),G(l),R(W(1),0)):R(void 0,l)}break;case 38:case 40:e.preventDefault();var c=40===e.keyCode?1:-1;w.daysContainer&&void 0!==n.$i||n===w.input||n===w.altInput?e.ctrlKey?(e.stopPropagation(),Q(w.currentYear-c),R(W(1),0)):r||R(void 0,7*c):n===w.currentYearElement?Q(w.currentYear-c):w.config.enableTime&&(!r&&w.hourElement&&w.hourElement.focus(),T(e),w._debouncedChange());break;case 9:if(r){var d=[w.hourElement,w.minuteElement,w.secondElement,w.amPM].concat(w.pluginElements).filter((function(e){return e})),s=d.indexOf(n);if(-1!==s){var u=d[s+(e.shiftKey?-1:1)];e.preventDefault(),(u||w._input).focus()}}else!w.config.noCalendar&&w.daysContainer&&w.daysContainer.contains(n)&&e.shiftKey&&(e.preventDefault(),w._input.focus())}}if(void 0!==w.amPM&&n===w.amPM)switch(e.key){case w.l10n.amPM[0].charAt(0):case w.l10n.amPM[0].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[0],I(),be();break;case w.l10n.amPM[1].charAt(0):case w.l10n.amPM[1].charAt(0).toLowerCase():w.amPM.textContent=w.l10n.amPM[1],I(),be()}(t||V(n))&&pe(\"onKeyDown\",e)}function ae(e){if(1===w.selectedDates.length&&(!e||e.classList.contains(\"flatpickr-day\")&&!e.classList.contains(\"flatpickr-disabled\"))){for(var n=e?e.dateObj.getTime():w.days.firstElementChild.dateObj.getTime(),t=w.parseDate(w.selectedDates[0],void 0,!0).getTime(),a=Math.min(n,w.selectedDates[0].getTime()),i=Math.max(n,w.selectedDates[0].getTime()),o=!1,r=0,l=0,c=a;ca&&cr)?r=c:c>t&&(!l||c0&&m0&&m>l;return g?(f.classList.add(\"notAllowed\"),[\"inRange\",\"startRange\",\"endRange\"].forEach((function(e){f.classList.remove(e)})),\"continue\"):o&&!g?\"continue\":([\"startRange\",\"inRange\",\"endRange\",\"notAllowed\"].forEach((function(e){f.classList.remove(e)})),void(void 0!==e&&(e.classList.add(n<=w.selectedDates[0].getTime()?\"startRange\":\"endRange\"),tn&&m===t&&f.classList.add(\"endRange\"),m>=r&&(0===l||m<=l)&&(d=t,u=n,(c=m)>Math.min(d,u)&&c0||t.getMinutes()>0||t.getSeconds()>0),w.selectedDates&&(w.selectedDates=w.selectedDates.filter((function(e){return X(e)})),w.selectedDates.length||\"min\"!==e||S(t),be()),w.daysContainer&&(de(),void 0!==t?w.currentYearElement[e]=t.getFullYear().toString():w.currentYearElement.removeAttribute(e),w.currentYearElement.disabled=!!a&&void 0!==t&&a.getFullYear()===t.getFullYear())}}function re(){return w.config.wrap?p.querySelector(\"[data-input]\"):p}function le(){\"object\"!=typeof w.config.locale&&void 0===k.l10ns[w.config.locale]&&w.config.errorHandler(new Error(\"flatpickr: invalid locale \"+w.config.locale)),w.l10n=e(e({},k.l10ns.default),\"object\"==typeof w.config.locale?w.config.locale:\"default\"!==w.config.locale?k.l10ns[w.config.locale]:void 0),D.K=\"(\"+w.l10n.amPM[0]+\"|\"+w.l10n.amPM[1]+\"|\"+w.l10n.amPM[0].toLowerCase()+\"|\"+w.l10n.amPM[1].toLowerCase()+\")\",void 0===e(e({},v),JSON.parse(JSON.stringify(p.dataset||{}))).time_24hr&&void 0===k.defaultConfig.time_24hr&&(w.config.time_24hr=w.l10n.time_24hr),w.formatDate=b(w),w.parseDate=C({config:w.config,l10n:w.l10n})}function ce(e){if(void 0!==w.calendarContainer){pe(\"onPreCalendarPosition\");var n=e||w._positionElement,t=Array.prototype.reduce.call(w.calendarContainer.children,(function(e,n){return e+n.offsetHeight}),0),a=w.calendarContainer.offsetWidth,i=w.config.position.split(\" \"),o=i[0],r=i.length>1?i[1]:null,l=n.getBoundingClientRect(),c=window.innerHeight-l.bottom,s=\"above\"===o||\"below\"!==o&&ct,u=window.pageYOffset+l.top+(s?-t-2:n.offsetHeight+2);if(d(w.calendarContainer,\"arrowTop\",!s),d(w.calendarContainer,\"arrowBottom\",s),!w.config.inline){var f=window.pageXOffset+l.left,m=!1,g=!1;\"center\"===r?(f-=(a-l.width)/2,m=!0):\"right\"===r&&(f-=a-l.width,g=!0),d(w.calendarContainer,\"arrowLeft\",!m&&!g),d(w.calendarContainer,\"arrowCenter\",m),d(w.calendarContainer,\"arrowRight\",g);var p=window.document.body.offsetWidth-(window.pageXOffset+l.right),h=f+a>window.document.body.offsetWidth,v=p+a>window.document.body.offsetWidth;if(d(w.calendarContainer,\"rightMost\",h),!w.config.static)if(w.calendarContainer.style.top=u+\"px\",h)if(v){var D=function(){for(var e=null,n=0;nw.currentMonth+w.config.showMonths-1)&&\"range\"!==w.config.mode;if(w.selectedDateElem=t,\"single\"===w.config.mode)w.selectedDates=[a];else if(\"multiple\"===w.config.mode){var o=ve(a);o?w.selectedDates.splice(parseInt(o),1):w.selectedDates.push(a)}else\"range\"===w.config.mode&&(2===w.selectedDates.length&&w.clear(!1,!1),w.latestSelectedDateObj=a,w.selectedDates.push(a),0!==M(a,w.selectedDates[0],!0)&&w.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()})));if(I(),i){var r=w.currentYear!==a.getFullYear();w.currentYear=a.getFullYear(),w.currentMonth=a.getMonth(),r&&(pe(\"onYearChange\"),K()),pe(\"onMonthChange\")}if(De(),J(),be(),i||\"range\"===w.config.mode||1!==w.config.showMonths?void 0!==w.selectedDateElem&&void 0===w.hourElement&&w.selectedDateElem&&w.selectedDateElem.focus():L(t),void 0!==w.hourElement&&void 0!==w.hourElement&&w.hourElement.focus(),w.config.closeOnSelect){var l=\"single\"===w.config.mode&&!w.config.enableTime,c=\"range\"===w.config.mode&&2===w.selectedDates.length&&!w.config.enableTime;(l||c)&&se()}A()}}w.parseDate=C({config:w.config,l10n:w.l10n}),w._handlers=[],w.pluginElements=[],w.loadedPlugins=[],w._bind=N,w._setHoursFromDate=S,w._positionCalendar=ce,w.changeMonth=G,w.changeYear=Q,w.clear=function(e,n){if(void 0===e&&(e=!0),void 0===n&&(n=!0),w.input.value=\"\",void 0!==w.altInput&&(w.altInput.value=\"\"),void 0!==w.mobileInput&&(w.mobileInput.value=\"\"),w.selectedDates=[],w.latestSelectedDateObj=void 0,!0===n&&(w.currentYear=w._initialDate.getFullYear(),w.currentMonth=w._initialDate.getMonth()),!0===w.config.enableTime){var t=_(),a=t.hours,i=t.minutes,o=t.seconds;O(a,i,o)}w.redraw(),e&&pe(\"onChange\")},w.close=function(){w.isOpen=!1,w.isMobile||(void 0!==w.calendarContainer&&w.calendarContainer.classList.remove(\"open\"),void 0!==w._input&&w._input.classList.remove(\"active\")),pe(\"onClose\")},w._createElement=s,w.destroy=function(){void 0!==w.config&&pe(\"onDestroy\");for(var e=w._handlers.length;e--;){var n=w._handlers[e];n.element.removeEventListener(n.event,n.handler,n.options)}if(w._handlers=[],w.mobileInput)w.mobileInput.parentNode&&w.mobileInput.parentNode.removeChild(w.mobileInput),w.mobileInput=void 0;else if(w.calendarContainer&&w.calendarContainer.parentNode)if(w.config.static&&w.calendarContainer.parentNode){var t=w.calendarContainer.parentNode;if(t.lastChild&&t.removeChild(t.lastChild),t.parentNode){for(;t.firstChild;)t.parentNode.insertBefore(t.firstChild,t);t.parentNode.removeChild(t)}}else w.calendarContainer.parentNode.removeChild(w.calendarContainer);w.altInput&&(w.input.type=\"text\",w.altInput.parentNode&&w.altInput.parentNode.removeChild(w.altInput),delete w.altInput),w.input&&(w.input.type=w.input._type,w.input.classList.remove(\"flatpickr-input\"),w.input.removeAttribute(\"readonly\")),[\"_showTimeInput\",\"latestSelectedDateObj\",\"_hideNextMonthArrow\",\"_hidePrevMonthArrow\",\"__hideNextMonthArrow\",\"__hidePrevMonthArrow\",\"isMobile\",\"isOpen\",\"selectedDateElem\",\"minDateHasTime\",\"maxDateHasTime\",\"days\",\"daysContainer\",\"_input\",\"_positionElement\",\"innerContainer\",\"rContainer\",\"monthNav\",\"todayDateElem\",\"calendarContainer\",\"weekdayContainer\",\"prevMonthNav\",\"nextMonthNav\",\"monthsDropdownContainer\",\"currentMonthElement\",\"currentYearElement\",\"navigationCurrentMonth\",\"selectedDateElem\",\"config\"].forEach((function(e){try{delete w[e]}catch(e){}}))},w.isEnabled=X,w.jumpToDate=P,w.open=function(e,n){if(void 0===n&&(n=w._positionElement),!0===w.isMobile){if(e){e.preventDefault();var t=g(e);t&&t.blur()}return void 0!==w.mobileInput&&(w.mobileInput.focus(),w.mobileInput.click()),void pe(\"onOpen\")}if(!w._input.disabled&&!w.config.inline){var a=w.isOpen;w.isOpen=!0,a||(w.calendarContainer.classList.add(\"open\"),w._input.classList.add(\"active\"),pe(\"onOpen\"),ce(n)),!0===w.config.enableTime&&!0===w.config.noCalendar&&(!1!==w.config.allowInput||void 0!==e&&w.timeContainer.contains(e.relatedTarget)||setTimeout((function(){return w.hourElement.select()}),50))}},w.redraw=de,w.set=function(e,n){if(null!==e&&\"object\"==typeof e)for(var a in Object.assign(w.config,e),e)void 0!==fe[a]&&fe[a].forEach((function(e){return e()}));else w.config[e]=n,void 0!==fe[e]?fe[e].forEach((function(e){return e()})):t.indexOf(e)>-1&&(w.config[e]=c(n));w.redraw(),be(!0)},w.setDate=function(e,n,t){if(void 0===n&&(n=!1),void 0===t&&(t=w.config.dateFormat),0!==e&&!e||e instanceof Array&&0===e.length)return w.clear(n);me(e,t),w.latestSelectedDateObj=w.selectedDates[w.selectedDates.length-1],w.redraw(),P(void 0,n),S(),0===w.selectedDates.length&&w.clear(!1),be(n),n&&pe(\"onChange\")},w.toggle=function(e){if(!0===w.isOpen)return w.close();w.open(e)};var fe={locale:[le,z],showMonths:[q,E,$],minDate:[P],maxDate:[P]};function me(e,n){var t=[];if(e instanceof Array)t=e.map((function(e){return w.parseDate(e,n)}));else if(e instanceof Date||\"number\"==typeof e)t=[w.parseDate(e,n)];else if(\"string\"==typeof e)switch(w.config.mode){case\"single\":case\"time\":t=[w.parseDate(e,n)];break;case\"multiple\":t=e.split(w.config.conjunction).map((function(e){return w.parseDate(e,n)}));break;case\"range\":t=e.split(w.l10n.rangeSeparator).map((function(e){return w.parseDate(e,n)}))}else w.config.errorHandler(new Error(\"Invalid date supplied: \"+JSON.stringify(e)));w.selectedDates=w.config.allowInvalidPreload?t:t.filter((function(e){return e instanceof Date&&X(e,!1)})),\"range\"===w.config.mode&&w.selectedDates.sort((function(e,n){return e.getTime()-n.getTime()}))}function ge(e){return e.slice().map((function(e){return\"string\"==typeof e||\"number\"==typeof e||e instanceof Date?w.parseDate(e,void 0,!0):e&&\"object\"==typeof e&&e.from&&e.to?{from:w.parseDate(e.from,void 0),to:w.parseDate(e.to,void 0)}:e})).filter((function(e){return e}))}function pe(e,n){if(void 0!==w.config){var t=w.config[e];if(void 0!==t&&t.length>0)for(var a=0;t[a]&&a1||\"static\"===w.config.monthSelectorType?w.monthElements[n].textContent=h(t.getMonth(),w.config.shorthandCurrentMonth,w.l10n)+\" \":w.monthsDropdownContainer.value=t.getMonth().toString(),e.value=t.getFullYear().toString()})),w._hidePrevMonthArrow=void 0!==w.config.minDate&&(w.currentYear===w.config.minDate.getFullYear()?w.currentMonth<=w.config.minDate.getMonth():w.currentYearw.config.maxDate.getMonth():w.currentYear>w.config.maxDate.getFullYear()))}function we(e){return w.selectedDates.map((function(n){return w.formatDate(n,e)})).filter((function(e,n,t){return\"range\"!==w.config.mode||w.config.enableTime||t.indexOf(e)===n})).join(\"range\"!==w.config.mode?w.config.conjunction:w.l10n.rangeSeparator)}function be(e){void 0===e&&(e=!0),void 0!==w.mobileInput&&w.mobileFormatStr&&(w.mobileInput.value=void 0!==w.latestSelectedDateObj?w.formatDate(w.latestSelectedDateObj,w.mobileFormatStr):\"\"),w.input.value=we(w.config.dateFormat),void 0!==w.altInput&&(w.altInput.value=we(w.config.altFormat)),!1!==e&&pe(\"onValueUpdate\")}function Ce(e){var n=g(e),t=w.prevMonthNav.contains(n),a=w.nextMonthNav.contains(n);t||a?G(t?-1:1):w.yearElements.indexOf(n)>=0?n.select():n.classList.contains(\"arrowUp\")?w.changeYear(w.currentYear+1):n.classList.contains(\"arrowDown\")&&w.changeYear(w.currentYear-1)}return function(){w.element=w.input=p,w.isOpen=!1,function(){var n=[\"wrap\",\"weekNumbers\",\"allowInput\",\"allowInvalidPreload\",\"clickOpens\",\"time_24hr\",\"enableTime\",\"noCalendar\",\"altInput\",\"shorthandCurrentMonth\",\"inline\",\"static\",\"enableSeconds\",\"disableMobile\"],i=e(e({},JSON.parse(JSON.stringify(p.dataset||{}))),v),o={};w.config.parseDate=i.parseDate,w.config.formatDate=i.formatDate,Object.defineProperty(w.config,\"enable\",{get:function(){return w.config._enable},set:function(e){w.config._enable=ge(e)}}),Object.defineProperty(w.config,\"disable\",{get:function(){return w.config._disable},set:function(e){w.config._disable=ge(e)}});var r=\"time\"===i.mode;if(!i.dateFormat&&(i.enableTime||r)){var l=k.defaultConfig.dateFormat||a.dateFormat;o.dateFormat=i.noCalendar||r?\"H:i\"+(i.enableSeconds?\":S\":\"\"):l+\" H:i\"+(i.enableSeconds?\":S\":\"\")}if(i.altInput&&(i.enableTime||r)&&!i.altFormat){var d=k.defaultConfig.altFormat||a.altFormat;o.altFormat=i.noCalendar||r?\"h:i\"+(i.enableSeconds?\":S K\":\" K\"):d+\" h:i\"+(i.enableSeconds?\":S\":\"\")+\" K\"}Object.defineProperty(w.config,\"minDate\",{get:function(){return w.config._minDate},set:oe(\"min\")}),Object.defineProperty(w.config,\"maxDate\",{get:function(){return w.config._maxDate},set:oe(\"max\")});var s=function(e){return function(n){w.config[\"min\"===e?\"_minTime\":\"_maxTime\"]=w.parseDate(n,\"H:i:S\")}};Object.defineProperty(w.config,\"minTime\",{get:function(){return w.config._minTime},set:s(\"min\")}),Object.defineProperty(w.config,\"maxTime\",{get:function(){return w.config._maxTime},set:s(\"max\")}),\"time\"===i.mode&&(w.config.noCalendar=!0,w.config.enableTime=!0),Object.assign(w.config,o,i);for(var u=0;u-1?w.config[m]=c(f[m]).map(x).concat(w.config[m]):void 0===i[m]&&(w.config[m]=f[m])}i.altInputClass||(w.config.altInputClass=re().className+\" \"+w.config.altInputClass),pe(\"onParseConfig\")}(),le(),w.input=re(),w.input?(w.input._type=w.input.type,w.input.type=\"text\",w.input.classList.add(\"flatpickr-input\"),w._input=w.input,w.config.altInput&&(w.altInput=s(w.input.nodeName,w.config.altInputClass),w._input=w.altInput,w.altInput.placeholder=w.input.placeholder,w.altInput.disabled=w.input.disabled,w.altInput.required=w.input.required,w.altInput.tabIndex=w.input.tabIndex,w.altInput.type=\"text\",w.input.setAttribute(\"type\",\"hidden\"),!w.config.static&&w.input.parentNode&&w.input.parentNode.insertBefore(w.altInput,w.input.nextSibling)),w.config.allowInput||w._input.setAttribute(\"readonly\",\"readonly\"),w._positionElement=w.config.positionElement||w._input):w.config.errorHandler(new Error(\"Invalid input element specified\")),function(){w.selectedDates=[],w.now=w.parseDate(w.config.now)||new Date;var e=w.config.defaultDate||(\"INPUT\"!==w.input.nodeName&&\"TEXTAREA\"!==w.input.nodeName||!w.input.placeholder||w.input.value!==w.input.placeholder?w.input.value:null);e&&me(e,w.config.dateFormat),w._initialDate=w.selectedDates.length>0?w.selectedDates[0]:w.config.minDate&&w.config.minDate.getTime()>w.now.getTime()?w.config.minDate:w.config.maxDate&&w.config.maxDate.getTime()0&&(w.latestSelectedDateObj=w.selectedDates[0]),void 0!==w.config.minTime&&(w.config.minTime=w.parseDate(w.config.minTime,\"H:i\")),void 0!==w.config.maxTime&&(w.config.maxTime=w.parseDate(w.config.maxTime,\"H:i\")),w.minDateHasTime=!!w.config.minDate&&(w.config.minDate.getHours()>0||w.config.minDate.getMinutes()>0||w.config.minDate.getSeconds()>0),w.maxDateHasTime=!!w.config.maxDate&&(w.config.maxDate.getHours()>0||w.config.maxDate.getMinutes()>0||w.config.maxDate.getSeconds()>0)}(),w.utils={getDaysInMonth:function(e,n){return void 0===e&&(e=w.currentMonth),void 0===n&&(n=w.currentYear),1===e&&(n%4==0&&n%100!=0||n%400==0)?29:w.l10n.daysInMonth[e]}},w.isMobile||function(){var e=window.document.createDocumentFragment();if(w.calendarContainer=s(\"div\",\"flatpickr-calendar\"),w.calendarContainer.tabIndex=-1,!w.config.noCalendar){if(e.appendChild((w.monthNav=s(\"div\",\"flatpickr-months\"),w.yearElements=[],w.monthElements=[],w.prevMonthNav=s(\"span\",\"flatpickr-prev-month\"),w.prevMonthNav.innerHTML=w.config.prevArrow,w.nextMonthNav=s(\"span\",\"flatpickr-next-month\"),w.nextMonthNav.innerHTML=w.config.nextArrow,q(),Object.defineProperty(w,\"_hidePrevMonthArrow\",{get:function(){return w.__hidePrevMonthArrow},set:function(e){w.__hidePrevMonthArrow!==e&&(d(w.prevMonthNav,\"flatpickr-disabled\",e),w.__hidePrevMonthArrow=e)}}),Object.defineProperty(w,\"_hideNextMonthArrow\",{get:function(){return w.__hideNextMonthArrow},set:function(e){w.__hideNextMonthArrow!==e&&(d(w.nextMonthNav,\"flatpickr-disabled\",e),w.__hideNextMonthArrow=e)}}),w.currentYearElement=w.yearElements[0],De(),w.monthNav)),w.innerContainer=s(\"div\",\"flatpickr-innerContainer\"),w.config.weekNumbers){var n=function(){w.calendarContainer.classList.add(\"hasWeeks\");var e=s(\"div\",\"flatpickr-weekwrapper\");e.appendChild(s(\"span\",\"flatpickr-weekday\",w.l10n.weekAbbreviation));var n=s(\"div\",\"flatpickr-weeks\");return e.appendChild(n),{weekWrapper:e,weekNumbers:n}}(),t=n.weekWrapper,a=n.weekNumbers;w.innerContainer.appendChild(t),w.weekNumbers=a,w.weekWrapper=t}w.rContainer=s(\"div\",\"flatpickr-rContainer\"),w.rContainer.appendChild($()),w.daysContainer||(w.daysContainer=s(\"div\",\"flatpickr-days\"),w.daysContainer.tabIndex=-1),J(),w.rContainer.appendChild(w.daysContainer),w.innerContainer.appendChild(w.rContainer),e.appendChild(w.innerContainer)}w.config.enableTime&&e.appendChild(function(){w.calendarContainer.classList.add(\"hasTime\"),w.config.noCalendar&&w.calendarContainer.classList.add(\"noCalendar\"),w.timeContainer=s(\"div\",\"flatpickr-time\"),w.timeContainer.tabIndex=-1;var e=s(\"span\",\"flatpickr-time-separator\",\":\"),n=m(\"flatpickr-hour\",{\"aria-label\":w.l10n.hourAriaLabel});w.hourElement=n.getElementsByTagName(\"input\")[0];var t=m(\"flatpickr-minute\",{\"aria-label\":w.l10n.minuteAriaLabel});if(w.minuteElement=t.getElementsByTagName(\"input\")[0],w.hourElement.tabIndex=w.minuteElement.tabIndex=-1,w.hourElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getHours():w.config.time_24hr?w.config.defaultHour:function(e){switch(e%24){case 0:case 12:return 12;default:return e%12}}(w.config.defaultHour)),w.minuteElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getMinutes():w.config.defaultMinute),w.hourElement.setAttribute(\"step\",w.config.hourIncrement.toString()),w.minuteElement.setAttribute(\"step\",w.config.minuteIncrement.toString()),w.hourElement.setAttribute(\"min\",w.config.time_24hr?\"0\":\"1\"),w.hourElement.setAttribute(\"max\",w.config.time_24hr?\"23\":\"12\"),w.minuteElement.setAttribute(\"min\",\"0\"),w.minuteElement.setAttribute(\"max\",\"59\"),w.timeContainer.appendChild(n),w.timeContainer.appendChild(e),w.timeContainer.appendChild(t),w.config.time_24hr&&w.timeContainer.classList.add(\"time24hr\"),w.config.enableSeconds){w.timeContainer.classList.add(\"hasSeconds\");var a=m(\"flatpickr-second\");w.secondElement=a.getElementsByTagName(\"input\")[0],w.secondElement.value=o(w.latestSelectedDateObj?w.latestSelectedDateObj.getSeconds():w.config.defaultSeconds),w.secondElement.setAttribute(\"step\",w.minuteElement.getAttribute(\"step\")),w.secondElement.setAttribute(\"min\",\"0\"),w.secondElement.setAttribute(\"max\",\"59\"),w.timeContainer.appendChild(s(\"span\",\"flatpickr-time-separator\",\":\")),w.timeContainer.appendChild(a)}return w.config.time_24hr||(w.amPM=s(\"span\",\"flatpickr-am-pm\",w.l10n.amPM[r((w.latestSelectedDateObj?w.hourElement.value:w.config.defaultHour)>11)]),w.amPM.title=w.l10n.toggleTitle,w.amPM.tabIndex=-1,w.timeContainer.appendChild(w.amPM)),w.timeContainer}()),d(w.calendarContainer,\"rangeMode\",\"range\"===w.config.mode),d(w.calendarContainer,\"animate\",!0===w.config.animate),d(w.calendarContainer,\"multiMonth\",w.config.showMonths>1),w.calendarContainer.appendChild(e);var i=void 0!==w.config.appendTo&&void 0!==w.config.appendTo.nodeType;if((w.config.inline||w.config.static)&&(w.calendarContainer.classList.add(w.config.inline?\"inline\":\"static\"),w.config.inline&&(!i&&w.element.parentNode?w.element.parentNode.insertBefore(w.calendarContainer,w._input.nextSibling):void 0!==w.config.appendTo&&w.config.appendTo.appendChild(w.calendarContainer)),w.config.static)){var l=s(\"div\",\"flatpickr-wrapper\");w.element.parentNode&&w.element.parentNode.insertBefore(l,w.element),l.appendChild(w.element),w.altInput&&l.appendChild(w.altInput),l.appendChild(w.calendarContainer)}w.config.static||w.config.inline||(void 0!==w.config.appendTo?w.config.appendTo:window.document.body).appendChild(w.calendarContainer)}(),function(){if(w.config.wrap&&[\"open\",\"close\",\"toggle\",\"clear\"].forEach((function(e){Array.prototype.forEach.call(w.element.querySelectorAll(\"[data-\"+e+\"]\"),(function(n){return N(n,\"click\",w[e])}))})),w.isMobile)!function(){var e=w.config.enableTime?w.config.noCalendar?\"time\":\"datetime-local\":\"date\";w.mobileInput=s(\"input\",w.input.className+\" flatpickr-mobile\"),w.mobileInput.tabIndex=1,w.mobileInput.type=e,w.mobileInput.disabled=w.input.disabled,w.mobileInput.required=w.input.required,w.mobileInput.placeholder=w.input.placeholder,w.mobileFormatStr=\"datetime-local\"===e?\"Y-m-d\\\\TH:i:S\":\"date\"===e?\"Y-m-d\":\"H:i:S\",w.selectedDates.length>0&&(w.mobileInput.defaultValue=w.mobileInput.value=w.formatDate(w.selectedDates[0],w.mobileFormatStr)),w.config.minDate&&(w.mobileInput.min=w.formatDate(w.config.minDate,\"Y-m-d\")),w.config.maxDate&&(w.mobileInput.max=w.formatDate(w.config.maxDate,\"Y-m-d\")),w.input.getAttribute(\"step\")&&(w.mobileInput.step=String(w.input.getAttribute(\"step\"))),w.input.type=\"hidden\",void 0!==w.altInput&&(w.altInput.type=\"hidden\");try{w.input.parentNode&&w.input.parentNode.insertBefore(w.mobileInput,w.input.nextSibling)}catch(e){}N(w.mobileInput,\"change\",(function(e){w.setDate(g(e).value,!1,w.mobileFormatStr),pe(\"onChange\"),pe(\"onClose\")}))}();else{var e=l(ie,50);if(w._debouncedChange=l(A,300),w.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&N(w.daysContainer,\"mouseover\",(function(e){\"range\"===w.config.mode&&ae(g(e))})),N(window.document.body,\"keydown\",te),w.config.inline||w.config.static||N(window,\"resize\",e),void 0!==window.ontouchstart?N(window.document,\"touchstart\",Z):N(window.document,\"click\",Z),N(window.document,\"focus\",Z,{capture:!0}),!0===w.config.clickOpens&&(N(w._input,\"focus\",w.open),N(w._input,\"click\",w.open)),void 0!==w.daysContainer&&(N(w.monthNav,\"click\",Ce),N(w.monthNav,[\"keyup\",\"increment\"],F),N(w.daysContainer,\"click\",ue)),void 0!==w.timeContainer&&void 0!==w.minuteElement&&void 0!==w.hourElement){var n=function(e){return g(e).select()};N(w.timeContainer,[\"increment\"],T),N(w.timeContainer,\"blur\",T,{capture:!0}),N(w.timeContainer,\"click\",Y),N([w.hourElement,w.minuteElement],[\"focus\",\"click\"],n),void 0!==w.secondElement&&N(w.secondElement,\"focus\",(function(){return w.secondElement&&w.secondElement.select()})),void 0!==w.amPM&&N(w.amPM,\"click\",(function(e){T(e),A()}))}w.config.allowInput&&N(w._input,\"blur\",ne)}}(),(w.selectedDates.length||w.config.noCalendar)&&(w.config.enableTime&&S(w.config.noCalendar?w.latestSelectedDateObj||w.config.minDate:void 0),be(!1)),E();var n=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);!w.isMobile&&n&&ce(),pe(\"onReady\")}(),w}function E(e,n){for(var t=Array.prototype.slice.call(e).filter((function(e){return e instanceof HTMLElement})),a=[],i=0;ithis.render()));const{start:s,end:l,value:o,step:r,title:n}=this.model.properties;this.on_change([s,l,o,r],(()=>{const{start:t,end:e,value:i,step:s}=this._calc_to();this._noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s},!0)}));const{bar_color:a}=this.model.properties;this.on_change(a,(()=>{this._set_bar_color()}));const{show_value:d}=this.model.properties;this.on_change([o,n,d],(()=>this._update_title()))}styles(){return[...super.styles(),p.default,u.default]}_update_title(){var t;(0,a.empty)(this.title_el);const e=null==this.model.title||0==this.model.title.length&&!this.model.show_value;if(this.title_el.style.display=e?\"none\":\"\",!e&&(0!=(null===(t=this.model.title)||void 0===t?void 0:t.length)&&(this.title_el.textContent=`${this.model.title}: `),this.model.show_value)){const{value:t}=this._calc_to(),e=t.map((t=>this.model.pretty(t))).join(\" .. \");this.title_el.appendChild((0,a.span)({class:m.slider_value},e))}}_set_bar_color(){if(!this.model.disabled){this.slider_el.querySelector(\".noUi-connect\").style.backgroundColor=(0,_.color2css)(this.model.bar_color)}}render(){super.render();const{start:t,end:e,value:i,step:s}=this._calc_to();let l;if(this.model.tooltips){const t={to:t=>this.model.pretty(t)};l=(0,d.repeat)(t,i.length)}else l=!1;if(null==this.slider_el){this.slider_el=(0,a.div)(),this._noUiSlider=n.default.create(this.slider_el,{range:{min:t,max:e},start:i,step:s,behaviour:this.model.behaviour,connect:this.model.connected,tooltips:l,orientation:this.model.orientation,direction:this.model.direction}),this._noUiSlider.on(\"slide\",((t,e,i)=>this._slide(i))),this._noUiSlider.on(\"change\",((t,e,i)=>this._change(i)));const o=(t,e)=>{if(!l)return;this.slider_el.querySelectorAll(\".noUi-handle\")[t].querySelector(\".noUi-tooltip\").style.display=e?\"block\":\"\"};this._noUiSlider.on(\"start\",((t,e)=>o(e,!0))),this._noUiSlider.on(\"end\",((t,e)=>o(e,!1)))}else this._noUiSlider.updateOptions({range:{min:t,max:e},start:i,step:s},!0);this._set_bar_color(),this.model.disabled?this.slider_el.setAttribute(\"disabled\",\"true\"):this.slider_el.removeAttribute(\"disabled\"),this.title_el=(0,a.div)({class:m.slider_title}),this._update_title(),this.group_el=(0,a.div)({class:v.input_group},this.title_el,this.slider_el),this.el.appendChild(this.group_el)}_slide(t){this.model.value=this._calc_from(t)}_change(t){const e=this._calc_from(t);this.model.setv({value:e,value_throttled:e})}}b.__name__=\"AbstractBaseSliderView\";class g extends b{_calc_to(){return{start:this.model.start,end:this.model.end,value:[this.model.value],step:this.model.step}}_calc_from([t]){return Number.isInteger(this.model.start)&&Number.isInteger(this.model.end)&&Number.isInteger(this.model.step)?Math.round(t):t}}i.AbstractSliderView=g,g.__name__=\"AbstractSliderView\";class f extends b{_calc_to(){return{start:this.model.start,end:this.model.end,value:this.model.value,step:this.model.step}}_calc_from(t){return t}}i.AbstractRangeSliderView=f,f.__name__=\"AbstractRangeSliderView\";class S extends h.OrientedControl{constructor(t){super(t),this.connected=!1}pretty(t){return this._formatter(t,this.format)}}i.AbstractSlider=S,r=S,S.__name__=\"AbstractSlider\",r.define((({Any:t,Boolean:e,Number:i,String:s,Color:l,Or:o,Enum:r,Ref:n,Nullable:a})=>({title:[a(s),\"\"],show_value:[e,!0],start:[t],end:[t],value:[t],value_throttled:[t],step:[i,1],format:[o(s,n(c.TickFormatter))],direction:[r(\"ltr\",\"rtl\"),\"ltr\"],tooltips:[e,!0],bar_color:[l,\"#e6e6e6\"]})))},\n", - " 459: function _(t,e,r,n,i){var o,s;o=this,s=function(t){\"use strict\";var e,r;function n(t){return\"object\"==typeof t&&\"function\"==typeof t.to}function i(t){t.parentElement.removeChild(t)}function o(t){return null!=t}function s(t){t.preventDefault()}function a(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function l(t,e,r){r>0&&(f(t,e),setTimeout((function(){d(t,e)}),r))}function u(t){return Math.max(Math.min(t,100),0)}function c(t){return Array.isArray(t)?t:[t]}function p(t){var e=(t=String(t)).split(\".\");return e.length>1?e[1].length:0}function f(t,e){t.classList&&!/\\s/.test(e)?t.classList.add(e):t.className+=\" \"+e}function d(t,e){t.classList&&!/\\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function h(t){var e=void 0!==window.pageXOffset,r=\"CSS1Compat\"===(t.compatMode||\"\");return{x:e?window.pageXOffset:r?t.documentElement.scrollLeft:t.body.scrollLeft,y:e?window.pageYOffset:r?t.documentElement.scrollTop:t.body.scrollTop}}function m(t,e){return 100/(e-t)}function g(t,e,r){return 100*e/(t[r+1]-t[r])}function v(t,e){for(var r=1;t>=e[r];)r+=1;return r}function b(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=v(r,t),i=t[n-1],o=t[n],s=e[n-1],a=e[n];return s+function(t,e){return g(t,t[0]<0?e+Math.abs(t[0]):e-t[0],0)}([i,o],r)/m(s,a)}function S(t,e,r,n){if(100===n)return n;var i=v(n,t),o=t[i-1],s=t[i];return r?n-o>(s-o)/2?s:o:e[i-1]?t[i-1]+function(t,e){return Math.round(t/e)*e}(n-t[i-1],e[i-1]):n}t.PipsMode=void 0,(e=t.PipsMode||(t.PipsMode={})).Range=\"range\",e.Steps=\"steps\",e.Positions=\"positions\",e.Count=\"count\",e.Values=\"values\",t.PipsType=void 0,(r=t.PipsType||(t.PipsType={}))[r.None=-1]=\"None\",r[r.NoValue=0]=\"NoValue\",r[r.LargeValue=1]=\"LargeValue\",r[r.SmallValue=2]=\"SmallValue\";var x=function(){function t(t,e,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.snap=e;var i=[];for(Object.keys(t).forEach((function(e){i.push([c(t[e]),e])})),i.sort((function(t,e){return t[0][0]-e[0][0]})),n=0;nthis.xPct[i+1];)i++;else t===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);r||t!==this.xPct[i+1]||i++,null===e&&(e=[]);var o=1,s=e[i],a=0,l=0,u=0,c=0;for(n=r?(t-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):(this.xPct[i+1]-t)/(this.xPct[i+1]-this.xPct[i]);s>0;)a=this.xPct[i+1+c]-this.xPct[i+c],e[i+c]*o+100-100*n>100?(l=a*n,o=(s-100*n)/e[i+c],n=1):(l=e[i+c]*a/100*o,o=0),r?(u-=l,this.xPct.length+c>=1&&c--):(u+=l,this.xPct.length-c>=1&&c++),s=e[i+c]*o;return t+u},t.prototype.toStepping=function(t){return t=b(this.xVal,this.xPct,t)},t.prototype.fromStepping=function(t){return function(t,e,r){if(r>=100)return t.slice(-1)[0];var n=v(r,e),i=t[n-1],o=t[n],s=e[n-1];return function(t,e){return e*(t[1]-t[0])/100+t[0]}([i,o],(r-s)*m(s,e[n]))}(this.xVal,this.xPct,t)},t.prototype.getStep=function(t){return t=S(this.xPct,this.xSteps,this.snap,t)},t.prototype.getDefaultStep=function(t,e,r){var n=v(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},t.prototype.getNearbySteps=function(t){var e=v(t,this.xPct);return{stepBefore:{startValue:this.xVal[e-2],step:this.xNumSteps[e-2],highestStep:this.xHighestCompleteStep[e-2]},thisStep:{startValue:this.xVal[e-1],step:this.xNumSteps[e-1],highestStep:this.xHighestCompleteStep[e-1]},stepAfter:{startValue:this.xVal[e],step:this.xNumSteps[e],highestStep:this.xHighestCompleteStep[e]}}},t.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(p);return Math.max.apply(null,t)},t.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},t.prototype.convert=function(t){return this.getStep(this.toStepping(t))},t.prototype.handleEntryPoint=function(t,e){var r;if(!a(r=\"min\"===t?0:\"max\"===t?100:parseFloat(t))||!a(e[0]))throw new Error(\"noUiSlider: 'range' value isn't numeric.\");this.xPct.push(r),this.xVal.push(e[0]);var n=Number(e[1]);r?this.xSteps.push(!isNaN(n)&&n):isNaN(n)||(this.xSteps[0]=n),this.xHighestCompleteStep.push(0)},t.prototype.handleStepPoint=function(t,e){if(e)if(this.xVal[t]!==this.xVal[t+1]){this.xSteps[t]=g([this.xVal[t],this.xVal[t+1]],e,0)/m(this.xPct[t],this.xPct[t+1]);var r=(this.xVal[t+1]-this.xVal[t])/this.xNumSteps[t],n=Math.ceil(Number(r.toFixed(3))-1),i=this.xVal[t]+this.xNumSteps[t]*n;this.xHighestCompleteStep[t]=i}else this.xSteps[t]=this.xHighestCompleteStep[t]=this.xVal[t]},t}(),y={to:function(t){return void 0===t?\"\":t.toFixed(2)},from:Number},w={target:\"target\",base:\"base\",origin:\"origin\",handle:\"handle\",handleLower:\"handle-lower\",handleUpper:\"handle-upper\",touchArea:\"touch-area\",horizontal:\"horizontal\",vertical:\"vertical\",background:\"background\",connect:\"connect\",connects:\"connects\",ltr:\"ltr\",rtl:\"rtl\",textDirectionLtr:\"txt-dir-ltr\",textDirectionRtl:\"txt-dir-rtl\",draggable:\"draggable\",drag:\"state-drag\",tap:\"state-tap\",active:\"active\",tooltip:\"tooltip\",pips:\"pips\",pipsHorizontal:\"pips-horizontal\",pipsVertical:\"pips-vertical\",marker:\"marker\",markerHorizontal:\"marker-horizontal\",markerVertical:\"marker-vertical\",markerNormal:\"marker-normal\",markerLarge:\"marker-large\",markerSub:\"marker-sub\",value:\"value\",valueHorizontal:\"value-horizontal\",valueVertical:\"value-vertical\",valueNormal:\"value-normal\",valueLarge:\"value-large\",valueSub:\"value-sub\"},E=\".__tooltips\",P=\".__aria\";function C(t,e){if(!a(e))throw new Error(\"noUiSlider: 'step' is not numeric.\");t.singleStep=e}function N(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardPageMultiplier' is not numeric.\");t.keyboardPageMultiplier=e}function V(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardMultiplier' is not numeric.\");t.keyboardMultiplier=e}function k(t,e){if(!a(e))throw new Error(\"noUiSlider: 'keyboardDefaultStep' is not numeric.\");t.keyboardDefaultStep=e}function M(t,e){if(\"object\"!=typeof e||Array.isArray(e))throw new Error(\"noUiSlider: 'range' is not an object.\");if(void 0===e.min||void 0===e.max)throw new Error(\"noUiSlider: Missing 'min' or 'max' in 'range'.\");t.spectrum=new x(e,t.snap||!1,t.singleStep)}function A(t,e){if(e=c(e),!Array.isArray(e)||!e.length)throw new Error(\"noUiSlider: 'start' option is incorrect.\");t.handles=e.length,t.start=e}function U(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'snap' option must be a boolean.\");t.snap=e}function D(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'animate' option must be a boolean.\");t.animate=e}function O(t,e){if(\"number\"!=typeof e)throw new Error(\"noUiSlider: 'animationDuration' option must be a number.\");t.animationDuration=e}function L(t,e){var r,n=[!1];if(\"lower\"===e?e=[!0,!1]:\"upper\"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r1)throw new Error(\"noUiSlider: 'padding' option must not exceed 100% of the range.\")}}function F(t,e){switch(e){case\"ltr\":t.dir=0;break;case\"rtl\":t.dir=1;break;default:throw new Error(\"noUiSlider: 'direction' option was not recognized.\")}}function R(t,e){if(\"string\"!=typeof e)throw new Error(\"noUiSlider: 'behaviour' must be a string containing options.\");var r=e.indexOf(\"tap\")>=0,n=e.indexOf(\"drag\")>=0,i=e.indexOf(\"fixed\")>=0,o=e.indexOf(\"snap\")>=0,s=e.indexOf(\"hover\")>=0,a=e.indexOf(\"unconstrained\")>=0,l=e.indexOf(\"drag-all\")>=0;if(i){if(2!==t.handles)throw new Error(\"noUiSlider: 'fixed' behaviour must be used with 2 handles\");j(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error(\"noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit\");t.events={tap:r||o,drag:n,dragAll:l,fixed:i,snap:o,hover:s,unconstrained:a}}function _(t,e){if(!1!==e)if(!0===e||n(e)){t.tooltips=[];for(var r=0;r= 2) required for mode 'count'.\");for(var r=e.values-1,n=100/r,i=[];r--;)i[r]=r*n;return i.push(100),q(i,e.stepped)}return e.mode===t.PipsMode.Positions?q(e.values,e.stepped):e.mode===t.PipsMode.Values?e.stepped?e.values.map((function(t){return C.fromStepping(C.getStep(C.toStepping(t)))})):e.values:[]}(e),i={},o=C.xVal[0],s=C.xVal[C.xVal.length-1],a=!1,l=!1,u=0;return r=n.slice().sort((function(t,e){return t-e})),(n=r.filter((function(t){return!this[t]&&(this[t]=!0)}),{}))[0]!==o&&(n.unshift(o),a=!0),n[n.length-1]!==s&&(n.push(s),l=!0),n.forEach((function(r,o){var s,c,p,f,d,h,m,g,v,b,S=r,x=n[o+1],y=e.mode===t.PipsMode.Steps;for(y&&(s=C.xNumSteps[o]),s||(s=x-S),void 0===x&&(x=S),s=Math.max(s,1e-7),c=S;c<=x;c=Number((c+s).toFixed(7))){for(g=(d=(f=C.toStepping(c))-u)/(e.density||1),b=d/(v=Math.round(g)),p=1;p<=v;p+=1)i[(h=u+p*b).toFixed(5)]=[C.fromStepping(h),0];m=n.indexOf(c)>-1?t.PipsType.LargeValue:y?t.PipsType.SmallValue:t.PipsType.NoValue,!o&&a&&c!==x&&(m=0),c===x&&l||(i[f.toFixed(5)]=[c,m]),u=f}})),i}function Y(e,n,i){var o,s,a=U.createElement(\"div\"),l=((o={})[t.PipsType.None]=\"\",o[t.PipsType.NoValue]=r.cssClasses.valueNormal,o[t.PipsType.LargeValue]=r.cssClasses.valueLarge,o[t.PipsType.SmallValue]=r.cssClasses.valueSub,o),u=((s={})[t.PipsType.None]=\"\",s[t.PipsType.NoValue]=r.cssClasses.markerNormal,s[t.PipsType.LargeValue]=r.cssClasses.markerLarge,s[t.PipsType.SmallValue]=r.cssClasses.markerSub,s),c=[r.cssClasses.valueHorizontal,r.cssClasses.valueVertical],p=[r.cssClasses.markerHorizontal,r.cssClasses.markerVertical];function d(t,e){var n=e===r.cssClasses.value,i=n?l:u;return e+\" \"+(n?c:p)[r.ort]+\" \"+i[t]}return f(a,r.cssClasses.pips),f(a,0===r.ort?r.cssClasses.pipsHorizontal:r.cssClasses.pipsVertical),Object.keys(e).forEach((function(o){!function(e,o,s){if((s=n?n(o,s):s)!==t.PipsType.None){var l=T(a,!1);l.className=d(s,r.cssClasses.marker),l.style[r.style]=e+\"%\",s>t.PipsType.NoValue&&((l=T(a,!1)).className=d(s,r.cssClasses.value),l.setAttribute(\"data-value\",String(o)),l.style[r.style]=e+\"%\",l.innerHTML=String(i.to(o)))}}(o,e[o][0],e[o][1])})),a}function I(){g&&(i(g),g=null)}function W(t){I();var e=X(t),r=t.filter,n=t.format||{to:function(t){return String(Math.round(t))}};return g=w.appendChild(Y(e,r,n))}function $(){var t=a.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][r.ort];return 0===r.ort?t.width||a[e]:t.height||a[e]}function J(t,e,n,i){var o=function(o){var s,a,l=function(t,e,r){var n=0===t.type.indexOf(\"touch\"),i=0===t.type.indexOf(\"mouse\"),o=0===t.type.indexOf(\"pointer\"),s=0,a=0;if(0===t.type.indexOf(\"MSPointer\")&&(o=!0),\"mousedown\"===t.type&&!t.buttons&&!t.touches)return!1;if(n){var l=function(e){var n=e.target;return n===r||r.contains(n)||t.composed&&t.composedPath().shift()===r};if(\"touchstart\"===t.type){var u=Array.prototype.filter.call(t.touches,l);if(u.length>1)return!1;s=u[0].pageX,a=u[0].pageY}else{var c=Array.prototype.find.call(t.changedTouches,l);if(!c)return!1;s=c.pageX,a=c.pageY}}return e=e||h(U),(i||o)&&(s=t.clientX+e.x,a=t.clientY+e.y),t.pageOffset=e,t.points=[s,a],t.cursor=i||o,t}(o,i.pageOffset,i.target||e);return!!l&&!(F()&&!i.doNotReject)&&(s=w,a=r.cssClasses.tap,!((s.classList?s.classList.contains(a):new RegExp(\"\\\\b\"+a+\"\\\\b\").test(s.className))&&!i.doNotReject)&&!(t===x.start&&void 0!==l.buttons&&l.buttons>1)&&(!i.hover||!l.buttons)&&(y||l.preventDefault(),l.calcPoint=l.points[r.ort],void n(l,i)))},s=[];return t.split(\" \").forEach((function(t){e.addEventListener(t,o,!!y&&{passive:!0}),s.push([t,o])})),s}function K(t){var e,n,i,o,s,l,c=100*(t-(e=a,n=r.ort,i=e.getBoundingClientRect(),o=e.ownerDocument,s=o.documentElement,l=h(o),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(l.x=0),n?i.top+l.y-s.clientTop:i.left+l.x-s.clientLeft))/$();return c=u(c),r.dir?100-c:c}function Q(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&tt(t,e)}function Z(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return tt(t,e);var n=(r.dir?-1:1)*(t.calcPoint-e.startCalcPoint);ut(n>0,100*n/e.baseSize,e.locations,e.handleNumbers,e.connect)}function tt(t,e){e.handle&&(d(e.handle,r.cssClasses.active),M-=1),e.listeners.forEach((function(t){D.removeEventListener(t[0],t[1])})),0===M&&(d(w,r.cssClasses.drag),pt(),t.cursor&&(O.style.cursor=\"\",O.removeEventListener(\"selectstart\",s))),e.handleNumbers.forEach((function(t){st(\"change\",t),st(\"set\",t),st(\"end\",t)}))}function et(t,e){if(!e.handleNumbers.some(R)){var n;1===e.handleNumbers.length&&(n=p[e.handleNumbers[0]].children[0],M+=1,f(n,r.cssClasses.active)),t.stopPropagation();var i=[],o=J(x.move,D,Z,{target:t.target,handle:n,connect:e.connect,listeners:i,startCalcPoint:t.calcPoint,baseSize:$(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:V.slice()}),a=J(x.end,D,tt,{target:t.target,handle:n,listeners:i,doNotReject:!0,handleNumbers:e.handleNumbers}),l=J(\"mouseout\",D,Q,{target:t.target,handle:n,listeners:i,doNotReject:!0,handleNumbers:e.handleNumbers});i.push.apply(i,o.concat(a,l)),t.cursor&&(O.style.cursor=getComputedStyle(t.target).cursor,p.length>1&&f(w,r.cssClasses.drag),O.addEventListener(\"selectstart\",s,!1)),e.handleNumbers.forEach((function(t){st(\"start\",t)}))}}function rt(t){t.stopPropagation();var e=K(t.calcPoint),n=function(t){var e=100,r=!1;return p.forEach((function(n,i){if(!R(i)){var o=V[i],s=Math.abs(o-t);(so||100===s&&100===e)&&(r=i,e=s)}})),r}(e);!1!==n&&(r.events.snap||l(w,r.cssClasses.tap,r.animationDuration),ft(n,e,!0,!0),pt(),st(\"slide\",n,!0),st(\"update\",n,!0),r.events.snap?et(t,{handleNumbers:[n]}):(st(\"change\",n,!0),st(\"set\",n,!0)))}function nt(t){var e=K(t.calcPoint),r=C.getStep(e),n=C.fromStepping(r);Object.keys(A).forEach((function(t){\"hover\"===t.split(\".\")[0]&&A[t].forEach((function(t){t.call(bt,n)}))}))}function it(t,e){A[t]=A[t]||[],A[t].push(e),\"update\"===t.split(\".\")[0]&&p.forEach((function(t,e){st(\"update\",e)}))}function ot(t){var e=t&&t.split(\".\")[0],r=e?t.substring(e.length):t;Object.keys(A).forEach((function(t){var n=t.split(\".\")[0],i=t.substring(n.length);e&&e!==n||r&&r!==i||function(t){return t===P||t===E}(i)&&r!==i||delete A[t]}))}function st(t,e,n){Object.keys(A).forEach((function(i){var o=i.split(\".\")[0];t===o&&A[i].forEach((function(t){t.call(bt,N.map(r.format.to),e,N.slice(),n||!1,V.slice(),bt)}))}))}function at(t,e,n,i,o,s){var a;return p.length>1&&!r.events.unconstrained&&(i&&e>0&&(a=C.getAbsoluteDistance(t[e-1],r.margin,!1),n=Math.max(n,a)),o&&e1&&r.limit&&(i&&e>0&&(a=C.getAbsoluteDistance(t[e-1],r.limit,!1),n=Math.min(n,a)),o&&e1?n.forEach((function(t,r){var n=at(o,t,o[t]+e,a[r],l[r],!1);!1===n?e=0:(e=n-o[t],o[t]=n)})):a=l=[!0];var u=!1;n.forEach((function(t,n){u=ft(t,r[t]+e,a[n],l[n])||u})),u&&(n.forEach((function(t){st(\"update\",t),st(\"slide\",t)})),null!=i&&st(\"drag\",s))}function ct(t,e){return r.dir?100-t-e:t}function pt(){k.forEach((function(t){var e=V[t]>50?-1:1,r=3+(p.length+e*t);p[t].style.zIndex=String(r)}))}function ft(t,e,n,i,o){return o||(e=at(V,t,e,n,i,!1)),!1!==e&&(function(t,e){V[t]=e,N[t]=C.fromStepping(e);var n=\"translate(\"+lt(10*(ct(e,0)-L)+\"%\",\"0\")+\")\";p[t].style[r.transformRule]=n,dt(t),dt(t+1)}(t,e),!0)}function dt(t){if(m[t]){var e=0,n=100;0!==t&&(e=V[t-1]),t!==m.length-1&&(n=V[t]);var i=n-e,o=\"translate(\"+lt(ct(e,i)+\"%\",\"0\")+\")\",s=\"scale(\"+lt(i/100,\"1\")+\")\";m[t].style[r.transformRule]=o+\" \"+s}}function ht(t,e){return null===t||!1===t||void 0===t?V[e]:(\"number\"==typeof t&&(t=String(t)),!1!==(t=r.format.from(t))&&(t=C.toStepping(t)),!1===t||isNaN(t)?V[e]:t)}function mt(t,e,n){var i=c(t),o=void 0===V[0];e=void 0===e||e,r.animate&&!o&&l(w,r.cssClasses.tap,r.animationDuration),k.forEach((function(t){ft(t,ht(i[t],t),!0,!1,n)}));var s=1===k.length?0:1;if(o&&C.hasNoSize()&&(n=!0,V[0]=0,k.length>1)){var a=100/(k.length-1);k.forEach((function(t){V[t]=t*a}))}for(;sn.stepAfter.startValue&&(o=n.stepAfter.startValue-i),s=i>n.thisStep.startValue?n.thisStep.step:!1!==n.stepBefore.step&&i-n.stepBefore.highestStep,100===e?o=null:0===e&&(s=null);var a=C.countStepDecimals();return null!==o&&!1!==o&&(o=Number(o.toFixed(a))),null!==s&&!1!==s&&(s=Number(s.toFixed(a))),[s,o]}f(b=w,r.cssClasses.target),0===r.dir?f(b,r.cssClasses.ltr):f(b,r.cssClasses.rtl),0===r.ort?f(b,r.cssClasses.horizontal):f(b,r.cssClasses.vertical),f(b,\"rtl\"===getComputedStyle(b).direction?r.cssClasses.textDirectionRtl:r.cssClasses.textDirectionLtr),a=T(b,r.cssClasses.base),function(t,e){var n=T(e,r.cssClasses.connects);p=[],(m=[]).push(z(n,t[0]));for(var i=0;i=0&&t .noUi-tooltip{-webkit-transform:translate(50%, 0);transform:translate(50%, 0);left:auto;bottom:10px;}.bk-root .noUi-vertical .noUi-origin > .noUi-tooltip{-webkit-transform:translate(0, -18px);transform:translate(0, -18px);top:auto;right:28px;}.bk-root .noUi-handle{cursor:grab;cursor:-webkit-grab;}.bk-root .noUi-handle.noUi-active{cursor:grabbing;cursor:-webkit-grabbing;}.bk-root .noUi-handle:after,.bk-root .noUi-handle:before{display:none;}.bk-root .noUi-tooltip{display:none;white-space:nowrap;}.bk-root .noUi-handle:hover .noUi-tooltip{display:block;}.bk-root .noUi-horizontal{width:100%;height:10px;}.bk-root .noUi-vertical{width:10px;height:100%;}.bk-root .noUi-horizontal .noUi-handle{width:14px;height:18px;right:-7px;top:-5px;}.bk-root .noUi-vertical .noUi-handle{width:18px;height:14px;right:-5px;top:-7px;}.bk-root .noUi-target.noUi-horizontal{margin:5px 0px;}.bk-root .noUi-target.noUi-vertical{margin:0px 5px;}'},\n", - " 462: function _(e,t,r,a,i){a();var s;const d=(0,e(1).__importDefault)(e(151)),o=e(458),_=e(8);class n extends o.AbstractSliderView{}r.DateSliderView=n,n.__name__=\"DateSliderView\";class c extends o.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}_formatter(e,t){return(0,_.isString)(t)?(0,d.default)(e,t):t.compute(e)}}r.DateSlider=c,s=c,c.__name__=\"DateSlider\",s.prototype.default_view=n,s.override({format:\"%d %b %Y\"})},\n", - " 463: function _(e,t,s,r,i){var _;r();const n=e(464);class a extends n.MarkupView{render(){super.render(),this.model.render_as_text?this.markup_el.textContent=this.model.text:this.markup_el.innerHTML=this.has_math_disabled()?this.model.text:this.process_tex()}}s.DivView=a,a.__name__=\"DivView\";class d extends n.Markup{constructor(e){super(e)}}s.Div=d,_=d,d.__name__=\"Div\",_.prototype.default_view=a,_.define((({Boolean:e})=>({render_as_text:[e,!1]})))},\n", - " 464: function _(t,e,s,i,r){i();const a=t(1);var n;const o=t(210),d=t(43),h=t(137),l=t(508),_=(0,a.__importStar)(t(465));class u extends l.WidgetView{get provider(){return h.default_provider}async lazy_initialize(){await super.lazy_initialize(),\"not_started\"==this.provider.status&&await this.provider.fetch(),\"not_started\"!=this.provider.status&&\"loading\"!=this.provider.status||this.provider.ready.connect((()=>{this.contains_tex_string()&&this.rerender()}))}after_layout(){super.after_layout(),\"loading\"===this.provider.status&&(this._has_finished=!1)}rerender(){this.layout.invalidate_cache(),this.render(),this.root.compute_layout()}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>{this.rerender()}))}styles(){return[...super.styles(),_.default]}_update_layout(){this.layout=new o.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render();const t=Object.assign(Object.assign({},this.model.style),{display:\"inline-block\"});this.markup_el=(0,d.div)({class:_.clearfix,style:t}),this.el.appendChild(this.markup_el),\"failed\"!=this.provider.status&&\"loaded\"!=this.provider.status||(this._has_finished=!0)}has_math_disabled(){return this.model.disable_math||!this.contains_tex_string()}process_tex(){if(!this.provider.MathJax)return this.model.text;const{text:t}=this.model,e=this.provider.MathJax.find_tex(t),s=[];let i=0;for(const r of e)s.push(t.slice(i,r.start.n)),s.push(this.provider.MathJax.tex2svg(r.math,{display:r.display}).outerHTML),i=r.end.n;return i0}}s.MarkupView=u,u.__name__=\"MarkupView\";class p extends l.Widget{constructor(t){super(t)}}s.Markup=p,n=p,p.__name__=\"Markup\",n.define((({Boolean:t,String:e,Dict:s})=>({text:[e,\"\"],style:[s(e),{}],disable_math:[t,!1]})))},\n", - " 465: function _(o,r,e,t,a){t(),e.root=\"bk-root\",e.clearfix=\"bk-clearfix\",e.default='.bk-root .bk-clearfix:before,.bk-root .bk-clearfix:after{content:\"\";display:table;}.bk-root .bk-clearfix:after{clear:both;}'},\n", - " 466: function _(e,t,i,n,s){n();const o=e(1);var l;const r=e(438),d=e(251),_=e(43),u=e(8),c=(0,o.__importStar)(e(318)),h=(0,o.__importStar)(e(229)),m=h;class p extends r.AbstractButtonView{constructor(){super(...arguments),this._open=!1}styles(){return[...super.styles(),h.default]}render(){super.render();const e=(0,_.div)({class:[m.caret,m.down]});if(this.model.is_split){const t=this._render_button(e);t.classList.add(c.dropdown_toggle),t.addEventListener(\"click\",(()=>this._toggle_menu())),this.group_el.appendChild(t)}else this.button_el.appendChild(e);const t=this.model.menu.map(((e,t)=>{if(null==e)return(0,_.div)({class:m.divider});{const i=(0,u.isString)(e)?e:e[0],n=(0,_.div)(i);return n.addEventListener(\"click\",(()=>this._item_click(t))),n}}));this.menu=(0,_.div)({class:[m.menu,m.below]},t),this.el.appendChild(this.menu),(0,_.undisplay)(this.menu)}_show_menu(){if(!this._open){this._open=!0,(0,_.display)(this.menu);const e=t=>{const{target:i}=t;i instanceof HTMLElement&&!this.el.contains(i)&&(document.removeEventListener(\"click\",e),this._hide_menu())};document.addEventListener(\"click\",e)}}_hide_menu(){this._open&&(this._open=!1,(0,_.undisplay)(this.menu))}_toggle_menu(){this._open?this._hide_menu():this._show_menu()}click(){this.model.is_split?(this._hide_menu(),this.model.trigger_event(new d.ButtonClick),super.click()):this._toggle_menu()}_item_click(e){this._hide_menu();const t=this.model.menu[e];if(null!=t){const i=(0,u.isString)(t)?t:t[1];(0,u.isString)(i)?this.model.trigger_event(new d.MenuItemClick(i)):i.execute(this.model,{index:e})}}}i.DropdownView=p,p.__name__=\"DropdownView\";class a extends r.AbstractButton{constructor(e){super(e)}get is_split(){return this.split}}i.Dropdown=a,l=a,a.__name__=\"Dropdown\",l.prototype.default_view=p,l.define((({Null:e,Boolean:t,String:i,Array:n,Tuple:s,Or:o})=>({split:[t,!1],menu:[n(o(i,s(i,o(i)),e)),[]]}))),l.override({label:\"Dropdown\"})},\n", - " 467: function _(e,l,i,t,s){var n;t();const a=e(43),o=e(508);class d extends o.WidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render()))}render(){const{multiple:e,accept:l,disabled:i,width:t}=this.model;null==this.dialog_el&&(this.dialog_el=(0,a.input)({type:\"file\",multiple:e}),this.dialog_el.onchange=()=>{const{files:e}=this.dialog_el;null!=e&&this.load_files(e)},this.el.appendChild(this.dialog_el)),null!=l&&\"\"!=l&&(this.dialog_el.accept=l),this.dialog_el.style.width=`${t}px`,this.dialog_el.disabled=i}async load_files(e){const l=[],i=[],t=[];for(const s of e){const e=await this._read_file(s),[,n=\"\",,a=\"\"]=e.split(/[:;,]/,4);l.push(a),i.push(s.name),t.push(n)}this.model.multiple?this.model.setv({value:l,filename:i,mime_type:t}):this.model.setv({value:l[0],filename:i[0],mime_type:t[0]})}_read_file(e){return new Promise(((l,i)=>{const t=new FileReader;t.onload=()=>{var s;const{result:n}=t;null!=n?l(n):i(null!==(s=t.error)&&void 0!==s?s:new Error(`unable to read '${e.name}'`))},t.readAsDataURL(e)}))}}i.FileInputView=d,d.__name__=\"FileInputView\";class r extends o.Widget{constructor(e){super(e)}}i.FileInput=r,n=r,r.__name__=\"FileInput\",n.prototype.default_view=d,n.define((({Boolean:e,String:l,Array:i,Or:t})=>({value:[t(l,i(l)),\"\"],mime_type:[t(l,i(l)),\"\"],filename:[t(l,i(l)),\"\"],accept:[l,\"\"],multiple:[e,!1]})))},\n", - " 468: function _(e,t,i,s,n){s();const l=e(1);var o;const r=e(43),c=e(8),h=e(445),p=(0,l.__importStar)(e(446));class d extends h.InputWidgetView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.value.change,(()=>this.render_selection())),this.connect(this.model.properties.options.change,(()=>this.render())),this.connect(this.model.properties.name.change,(()=>this.render())),this.connect(this.model.properties.title.change,(()=>this.render())),this.connect(this.model.properties.size.change,(()=>this.render())),this.connect(this.model.properties.disabled.change,(()=>this.render()))}render(){super.render();const e=this.model.options.map((e=>{let t,i;return(0,c.isString)(e)?t=i=e:[t,i]=e,(0,r.option)({value:t},i)}));this.input_el=(0,r.select)({multiple:!0,class:p.input,name:this.model.name,disabled:this.model.disabled},e),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.group_el.appendChild(this.input_el),this.render_selection()}render_selection(){const e=new Set(this.model.value);for(const t of this.el.querySelectorAll(\"option\"))t.selected=e.has(t.value);this.input_el.size=this.model.size}change_input(){const e=null!=this.el.querySelector(\"select:focus\"),t=[];for(const e of this.el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.input_el.focus()}}i.MultiSelectView=d,d.__name__=\"MultiSelectView\";class u extends h.InputWidget{constructor(e){super(e)}}i.MultiSelect=u,o=u,u.__name__=\"MultiSelect\",o.prototype.default_view=d,o.define((({Int:e,String:t,Array:i,Tuple:s,Or:n})=>({value:[i(t),[]],options:[i(n(t,s(t,t))),[]],size:[e,4]})))},\n", - " 469: function _(e,a,r,t,s){var n;t();const p=e(464),_=e(43);class i extends p.MarkupView{render(){super.render();const e=(0,_.p)({style:{margin:0}});this.has_math_disabled()?e.textContent=this.model.text:e.innerHTML=this.process_tex(),this.markup_el.appendChild(e)}}r.ParagraphView=i,i.__name__=\"ParagraphView\";class h extends p.Markup{constructor(e){super(e)}}r.Paragraph=h,n=h,h.__name__=\"Paragraph\",n.prototype.default_view=i},\n", - " 470: function _(e,s,t,n,r){var p;n();const u=e(443);class a extends u.TextInputView{render(){super.render(),this.input_el.type=\"password\"}}t.PasswordInputView=a,a.__name__=\"PasswordInputView\";class o extends u.TextInput{constructor(e){super(e)}}t.PasswordInput=o,p=o,o.__name__=\"PasswordInput\",p.prototype.default_view=a},\n", - " 471: function _(e,t,i,l,s){l();const o=e(1);var n;const h=(0,o.__importDefault)(e(472)),a=e(43),u=e(8),c=e(210),_=(0,o.__importStar)(e(446)),d=(0,o.__importDefault)(e(473)),r=e(445);class m extends r.InputWidgetView{constructor(){super(...arguments),this._last_height=null}connect_signals(){super.connect_signals(),this.connect(this.model.properties.disabled.change,(()=>this.set_disabled()));const{value:e,max_items:t,option_limit:i,search_option_limit:l,delete_button:s,placeholder:o,options:n,name:h,title:a}=this.model.properties;this.on_change([e,t,i,l,s,o,n,h,a],(()=>this.render()))}styles(){return[...super.styles(),d.default]}_update_layout(){this.layout=new c.CachedVariadicBox(this.el),this.layout.set_sizing(this.box_sizing())}render(){super.render(),this.input_el=(0,a.select)({multiple:!0,class:_.input,name:this.model.name,disabled:this.model.disabled}),this.group_el.appendChild(this.input_el);const e=new Set(this.model.value),t=this.model.options.map((t=>{let i,l;return(0,u.isString)(t)?i=l=t:[i,l]=t,{value:i,label:l,selected:e.has(i)}})),i=this.model.solid?\"solid\":\"light\",l=`choices__item ${i}`,s=`choices__button ${i}`,o={choices:t,duplicateItemsAllowed:!1,removeItemButton:this.model.delete_button,classNames:{item:l,button:s}};null!=this.model.placeholder&&(o.placeholderValue=this.model.placeholder),null!=this.model.max_items&&(o.maxItemCount=this.model.max_items),null!=this.model.option_limit&&(o.renderChoiceLimit=this.model.option_limit),null!=this.model.search_option_limit&&(o.searchResultLimit=this.model.search_option_limit),this.choice_el=new h.default(this.input_el,o);const n=()=>this.choice_el.containerOuter.element.getBoundingClientRect().height;null!=this._last_height&&this._last_height!=n()&&this.root.invalidate_layout(),this._last_height=n(),this.input_el.addEventListener(\"change\",(()=>this.change_input()))}set_disabled(){this.model.disabled?this.choice_el.disable():this.choice_el.enable()}change_input(){const e=null!=this.el.querySelector(\"select:focus\"),t=[];for(const e of this.el.querySelectorAll(\"option\"))e.selected&&t.push(e.value);this.model.value=t,super.change_input(),e&&this.input_el.focus()}}i.MultiChoiceView=m,m.__name__=\"MultiChoiceView\";class p extends r.InputWidget{constructor(e){super(e)}}i.MultiChoice=p,n=p,p.__name__=\"MultiChoice\",n.prototype.default_view=m,n.define((({Boolean:e,Int:t,String:i,Array:l,Tuple:s,Or:o,Nullable:n})=>({value:[l(i),[]],options:[l(o(i,s(i,i))),[]],max_items:[n(t),null],delete_button:[e,!0],placeholder:[n(i),null],option_limit:[n(t),null],search_option_limit:[n(t),null],solid:[e,!0]})))},\n", - " 472: function _(e,t,i,n,s){\n", - " /*! choices.js v9.0.1 | © 2019 Josh Johnson | https://github.com/jshjohnson/Choices#readme */\n", - " var r,o;r=window,o=function(){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"/public/assets/scripts/\",i(i.s=4)}([function(e,t,i){\"use strict\";var n=function(e){return function(e){return!!e&&\"object\"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return\"[object RegExp]\"===t||\"[object Date]\"===t||function(e){return e.$$typeof===s}(e)}(e)},s=\"function\"==typeof Symbol&&Symbol.for?Symbol.for(\"react.element\"):60103;function r(e,t){return!1!==t.clone&&t.isMergeableObject(e)?l((i=e,Array.isArray(i)?[]:{}),e,t):e;var i}function o(e,t,i){return e.concat(t).map((function(e){return r(e,i)}))}function a(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return e.propertyIsEnumerable(t)})):[]}(e))}function c(e,t,i){var n={};return i.isMergeableObject(e)&&a(e).forEach((function(t){n[t]=r(e[t],i)})),a(t).forEach((function(s){(function(e,t){try{return t in e&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}catch(e){return!1}})(e,s)||(i.isMergeableObject(t[s])&&e[s]?n[s]=function(e,t){if(!t.customMerge)return l;var i=t.customMerge(e);return\"function\"==typeof i?i:l}(s,i)(e[s],t[s],i):n[s]=r(t[s],i))})),n}function l(e,t,i){(i=i||{}).arrayMerge=i.arrayMerge||o,i.isMergeableObject=i.isMergeableObject||n,i.cloneUnlessOtherwiseSpecified=r;var s=Array.isArray(t);return s===Array.isArray(e)?s?i.arrayMerge(e,t,i):c(e,t,i):r(t,i)}l.all=function(e,t){if(!Array.isArray(e))throw new Error(\"first argument should be an array\");return e.reduce((function(e,i){return l(e,i,t)}),{})};var h=l;e.exports=h},function(e,t,i){\"use strict\";(function(e,n){var s,r=i(3);s=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==e?e:n;var o=Object(r.a)(s);t.a=o}).call(this,i(5),i(6)(e))},function(e,t,i){\n", - " /*!\n", - " * Fuse.js v3.4.5 - Lightweight fuzzy-search (http://fusejs.io)\n", - " *\n", - " * Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)\n", - " * All Rights Reserved. Apache Software License 2.0\n", - " *\n", - " * http://www.apache.org/licenses/LICENSE-2.0\n", - " */\n", - " e.exports=function(e){var t={};function i(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var s in e)i.d(n,s,function(t){return e[t]}.bind(null,s));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"\",i(i.s=1)}([function(e,t){e.exports=function(e){return Array.isArray?Array.isArray(e):\"[object Array]\"===Object.prototype.toString.call(e)}},function(e,t,i){function n(e){return(n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function s(e,t){for(var i=0;i1&&void 0!==arguments[1]?arguments[1]:{limit:!1};this._log('---------\\nSearch pattern: \"'.concat(e,'\"'));var i=this._prepareSearchers(e),n=i.tokenSearchers,s=i.fullSearcher,r=this._search(n,s),o=r.weights,a=r.results;return this._computeScore(o,a),this.options.shouldSort&&this._sort(a),t.limit&&\"number\"==typeof t.limit&&(a=a.slice(0,t.limit)),this._format(a)}},{key:\"_prepareSearchers\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=[];if(this.options.tokenize)for(var i=e.split(this.options.tokenSeparator),n=0,s=i.length;n0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0,i=this.list,n={},s=[];if(\"string\"==typeof i[0]){for(var r=0,o=i.length;r1)throw new Error(\"Key weight has to be > 0 and <= 1\");p=p.name}else a[p]={weight:1};this._analyze({key:p,value:this.options.getFn(h,p),record:h,index:c},{resultMap:n,results:s,tokenSearchers:e,fullSearcher:t})}return{weights:a,results:s}}},{key:\"_analyze\",value:function(e,t){var i=e.key,n=e.arrayIndex,s=void 0===n?-1:n,r=e.value,o=e.record,c=e.index,l=t.tokenSearchers,h=void 0===l?[]:l,u=t.fullSearcher,d=void 0===u?[]:u,p=t.resultMap,m=void 0===p?{}:p,f=t.results,v=void 0===f?[]:f;if(null!=r){var g=!1,_=-1,b=0;if(\"string\"==typeof r){this._log(\"\\nKey: \".concat(\"\"===i?\"-\":i));var y=d.search(r);if(this._log('Full text: \"'.concat(r,'\", score: ').concat(y.score)),this.options.tokenize){for(var E=r.split(this.options.tokenSeparator),I=[],S=0;S-1&&(P=(P+_)/2),this._log(\"Score average:\",P);var D=!this.options.tokenize||!this.options.matchAllTokens||b>=h.length;if(this._log(\"\\nCheck Matches: \".concat(D)),(g||y.isMatch)&&D){var M=m[c];M?M.output.push({key:i,arrayIndex:s,value:r,score:P,matchedIndices:y.matchedIndices}):(m[c]={item:o,output:[{key:i,arrayIndex:s,value:r,score:P,matchedIndices:y.matchedIndices}]},v.push(m[c]))}}else if(a(r))for(var N=0,F=r.length;N-1&&(o.arrayIndex=r.arrayIndex),t.matches.push(o)}}})),this.options.includeScore&&s.push((function(e,t){t.score=e.score}));for(var r=0,o=e.length;ri)return s(e,this.pattern,n);var o=this.options,a=o.location,c=o.distance,l=o.threshold,h=o.findAllMatches,u=o.minMatchCharLength;return r(e,this.pattern,this.patternAlphabet,{location:a,distance:c,threshold:l,findAllMatches:h,minMatchCharLength:u})}}])&&n(t.prototype,i),a&&n(t,a),e}();e.exports=a},function(e,t){var i=/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g;e.exports=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:/ +/g,s=new RegExp(t.replace(i,\"\\\\$&\").replace(n,\"|\")),r=e.match(s),o=!!r,a=[];if(o)for(var c=0,l=r.length;c=P;N-=1){var F=N-1,j=i[e.charAt(F)];if(j&&(E[F]=1),M[N]=(M[N+1]<<1|1)&j,0!==T&&(M[N]|=(O[N+1]|O[N])<<1|1|O[N+1]),M[N]&L&&(C=n(t,{errors:T,currentLocation:F,expectedLocation:v,distance:l}))<=_){if(_=C,(b=F)<=v)break;P=Math.max(1,2*v-b)}}if(n(t,{errors:T+1,currentLocation:v,expectedLocation:v,distance:l})>_)break;O=M}return{isMatch:b>=0,score:0===C?.001:C,matchedIndices:s(E,f)}}},function(e,t){e.exports=function(e,t){var i=t.errors,n=void 0===i?0:i,s=t.currentLocation,r=void 0===s?0:s,o=t.expectedLocation,a=void 0===o?0:o,c=t.distance,l=void 0===c?100:c,h=n/e.length,u=Math.abs(a-r);return l?h+u/l:u?1:h}},function(e,t){e.exports=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=[],n=-1,s=-1,r=0,o=e.length;r=t&&i.push([n,s]),n=-1)}return e[r-1]&&r-n>=t&&i.push([n,r-1]),i}},function(e,t){e.exports=function(e){for(var t={},i=e.length,n=0;n/g,\"&rt;\").replace(/-1?e.map((function(e){var i=e;return i.id===parseInt(t.choiceId,10)&&(i.selected=!0),i})):e;case\"REMOVE_ITEM\":return t.choiceId>-1?e.map((function(e){var i=e;return i.id===parseInt(t.choiceId,10)&&(i.selected=!1),i})):e;case\"FILTER_CHOICES\":return e.map((function(e){var i=e;return i.active=t.results.some((function(e){var t=e.item,n=e.score;return t.id===i.id&&(i.score=n,!0)})),i}));case\"ACTIVATE_CHOICES\":return e.map((function(e){var i=e;return i.active=t.active,i}));case\"CLEAR_CHOICES\":return v;default:return e}},general:_}),A=function(e,t){var i=e;if(\"CLEAR_ALL\"===t.type)i=void 0;else if(\"RESET_TO\"===t.type)return O(t.state);return C(i,t)};function L(e,t){for(var i=0;i\"'+I(e)+'\"'},maxItemText:function(e){return\"Only \"+e+\" values can be added\"},valueComparer:function(e,t){return e===t},fuseOptions:{includeScore:!0},callbackOnInit:null,callbackOnCreateTemplates:null,classNames:{containerOuter:\"choices\",containerInner:\"choices__inner\",input:\"choices__input\",inputCloned:\"choices__input--cloned\",list:\"choices__list\",listItems:\"choices__list--multiple\",listSingle:\"choices__list--single\",listDropdown:\"choices__list--dropdown\",item:\"choices__item\",itemSelectable:\"choices__item--selectable\",itemDisabled:\"choices__item--disabled\",itemChoice:\"choices__item--choice\",placeholder:\"choices__placeholder\",group:\"choices__group\",groupHeading:\"choices__heading\",button:\"choices__button\",activeState:\"is-active\",focusState:\"is-focused\",openState:\"is-open\",disabledState:\"is-disabled\",highlightedState:\"is-highlighted\",selectedState:\"is-selected\",flippedState:\"is-flipped\",loadingState:\"is-loading\",noResults:\"has-no-results\",noChoices:\"has-no-choices\"}},D=\"showDropdown\",M=\"hideDropdown\",N=\"change\",F=\"choice\",j=\"search\",K=\"addItem\",R=\"removeItem\",H=\"highlightItem\",B=\"highlightChoice\",V=\"ADD_CHOICE\",G=\"FILTER_CHOICES\",q=\"ACTIVATE_CHOICES\",U=\"CLEAR_CHOICES\",z=\"ADD_GROUP\",W=\"ADD_ITEM\",X=\"REMOVE_ITEM\",$=\"HIGHLIGHT_ITEM\",J=46,Y=8,Z=13,Q=65,ee=27,te=38,ie=40,ne=33,se=34,re=\"text\",oe=\"select-one\",ae=\"select-multiple\",ce=function(){function e(e){var t=e.element,i=e.type,n=e.classNames,s=e.position;this.element=t,this.classNames=n,this.type=i,this.position=s,this.isOpen=!1,this.isFlipped=!1,this.isFocussed=!1,this.isDisabled=!1,this.isLoading=!1,this._onFocus=this._onFocus.bind(this),this._onBlur=this._onBlur.bind(this)}var t=e.prototype;return t.addEventListeners=function(){this.element.addEventListener(\"focus\",this._onFocus),this.element.addEventListener(\"blur\",this._onBlur)},t.removeEventListeners=function(){this.element.removeEventListener(\"focus\",this._onFocus),this.element.removeEventListener(\"blur\",this._onBlur)},t.shouldFlip=function(e){if(\"number\"!=typeof e)return!1;var t=!1;return\"auto\"===this.position?t=!window.matchMedia(\"(min-height: \"+(e+1)+\"px)\").matches:\"top\"===this.position&&(t=!0),t},t.setActiveDescendant=function(e){this.element.setAttribute(\"aria-activedescendant\",e)},t.removeActiveDescendant=function(){this.element.removeAttribute(\"aria-activedescendant\")},t.open=function(e){this.element.classList.add(this.classNames.openState),this.element.setAttribute(\"aria-expanded\",\"true\"),this.isOpen=!0,this.shouldFlip(e)&&(this.element.classList.add(this.classNames.flippedState),this.isFlipped=!0)},t.close=function(){this.element.classList.remove(this.classNames.openState),this.element.setAttribute(\"aria-expanded\",\"false\"),this.removeActiveDescendant(),this.isOpen=!1,this.isFlipped&&(this.element.classList.remove(this.classNames.flippedState),this.isFlipped=!1)},t.focus=function(){this.isFocussed||this.element.focus()},t.addFocusState=function(){this.element.classList.add(this.classNames.focusState)},t.removeFocusState=function(){this.element.classList.remove(this.classNames.focusState)},t.enable=function(){this.element.classList.remove(this.classNames.disabledState),this.element.removeAttribute(\"aria-disabled\"),this.type===oe&&this.element.setAttribute(\"tabindex\",\"0\"),this.isDisabled=!1},t.disable=function(){this.element.classList.add(this.classNames.disabledState),this.element.setAttribute(\"aria-disabled\",\"true\"),this.type===oe&&this.element.setAttribute(\"tabindex\",\"-1\"),this.isDisabled=!0},t.wrap=function(e){!function(e,t){void 0===t&&(t=document.createElement(\"div\")),e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t),t.appendChild(e)}(e,this.element)},t.unwrap=function(e){this.element.parentNode.insertBefore(e,this.element),this.element.parentNode.removeChild(this.element)},t.addLoadingState=function(){this.element.classList.add(this.classNames.loadingState),this.element.setAttribute(\"aria-busy\",\"true\"),this.isLoading=!0},t.removeLoadingState=function(){this.element.classList.remove(this.classNames.loadingState),this.element.removeAttribute(\"aria-busy\"),this.isLoading=!1},t._onFocus=function(){this.isFocussed=!0},t._onBlur=function(){this.isFocussed=!1},e}();function le(e,t){for(var i=0;i0?this.element.scrollTop+o-s:e.offsetTop;requestAnimationFrame((function(){i._animateScroll(a,t)}))}},t._scrollDown=function(e,t,i){var n=(i-e)/t,s=n>1?n:1;this.element.scrollTop=e+s},t._scrollUp=function(e,t,i){var n=(e-i)/t,s=n>1?n:1;this.element.scrollTop=e-s},t._animateScroll=function(e,t){var i=this,n=this.element.scrollTop,s=!1;t>0?(this._scrollDown(n,4,e),ne&&(s=!0)),s&&requestAnimationFrame((function(){i._animateScroll(e,t)}))},e}();function de(e,t){for(var i=0;i0?\"treeitem\":\"option\"),Object.assign(g.dataset,{choice:\"\",id:l,value:h,selectText:i}),m?(g.classList.add(a),g.dataset.choiceDisabled=\"\",g.setAttribute(\"aria-disabled\",\"true\")):(g.classList.add(r),g.dataset.choiceSelectable=\"\"),g},input:function(e,t){var i=e.input,n=e.inputCloned,s=Object.assign(document.createElement(\"input\"),{type:\"text\",className:i+\" \"+n,autocomplete:\"off\",autocapitalize:\"off\",spellcheck:!1});return s.setAttribute(\"role\",\"textbox\"),s.setAttribute(\"aria-autocomplete\",\"list\"),s.setAttribute(\"aria-label\",t),s},dropdown:function(e){var t=e.list,i=e.listDropdown,n=document.createElement(\"div\");return n.classList.add(t,i),n.setAttribute(\"aria-expanded\",\"false\"),n},notice:function(e,t,i){var n=e.item,s=e.itemChoice,r=e.noResults,o=e.noChoices;void 0===i&&(i=\"\");var a=[n,s];return\"no-choices\"===i?a.push(o):\"no-results\"===i&&a.push(r),Object.assign(document.createElement(\"div\"),{innerHTML:t,className:a.join(\" \")})},option:function(e){var t=e.label,i=e.value,n=e.customProperties,s=e.active,r=e.disabled,o=new Option(t,i,!1,s);return n&&(o.dataset.customProperties=n),o.disabled=r,o}},be=function(e){return void 0===e&&(e=!0),{type:q,active:e}},ye=function(e,t){return{type:$,id:e,highlighted:t}},Ee=function(e){var t=e.value,i=e.id,n=e.active,s=e.disabled;return{type:z,value:t,id:i,active:n,disabled:s}},Ie=function(e){return{type:\"SET_IS_LOADING\",isLoading:e}};function Se(e,t){for(var i=0;i=0?this._store.getGroupById(s):null;return this._store.dispatch(ye(i,!0)),t&&this.passedElement.triggerEvent(H,{id:i,value:o,label:c,groupValue:l&&l.value?l.value:null}),this},r.unhighlightItem=function(e){if(!e)return this;var t=e.id,i=e.groupId,n=void 0===i?-1:i,s=e.value,r=void 0===s?\"\":s,o=e.label,a=void 0===o?\"\":o,c=n>=0?this._store.getGroupById(n):null;return this._store.dispatch(ye(t,!1)),this.passedElement.triggerEvent(H,{id:t,value:r,label:a,groupValue:c&&c.value?c.value:null}),this},r.highlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.highlightItem(t)})),this},r.unhighlightAll=function(){var e=this;return this._store.items.forEach((function(t){return e.unhighlightItem(t)})),this},r.removeActiveItemsByValue=function(e){var t=this;return this._store.activeItems.filter((function(t){return t.value===e})).forEach((function(e){return t._removeItem(e)})),this},r.removeActiveItems=function(e){var t=this;return this._store.activeItems.filter((function(t){return t.id!==e})).forEach((function(e){return t._removeItem(e)})),this},r.removeHighlightedItems=function(e){var t=this;return void 0===e&&(e=!1),this._store.highlightedActiveItems.forEach((function(i){t._removeItem(i),e&&t._triggerChange(i.value)})),this},r.showDropdown=function(e){var t=this;return this.dropdown.isActive||requestAnimationFrame((function(){t.dropdown.show(),t.containerOuter.open(t.dropdown.distanceFromTopWindow),!e&&t._canSearch&&t.input.focus(),t.passedElement.triggerEvent(D,{})})),this},r.hideDropdown=function(e){var t=this;return this.dropdown.isActive?(requestAnimationFrame((function(){t.dropdown.hide(),t.containerOuter.close(),!e&&t._canSearch&&(t.input.removeActiveDescendant(),t.input.blur()),t.passedElement.triggerEvent(M,{})})),this):this},r.getValue=function(e){void 0===e&&(e=!1);var t=this._store.activeItems.reduce((function(t,i){var n=e?i.value:i;return t.push(n),t}),[]);return this._isSelectOneElement?t[0]:t},r.setValue=function(e){var t=this;return this.initialised?(e.forEach((function(e){return t._setChoiceOrItem(e)})),this):this},r.setChoiceByValue=function(e){var t=this;return!this.initialised||this._isTextElement||(Array.isArray(e)?e:[e]).forEach((function(e){return t._findAndSelectChoiceByValue(e)})),this},r.setChoices=function(e,t,i,n){var s=this;if(void 0===e&&(e=[]),void 0===t&&(t=\"value\"),void 0===i&&(i=\"label\"),void 0===n&&(n=!1),!this.initialised)throw new ReferenceError(\"setChoices was called on a non-initialized instance of Choices\");if(!this._isSelectElement)throw new TypeError(\"setChoices can't be used with INPUT based Choices\");if(\"string\"!=typeof t||!t)throw new TypeError(\"value parameter must be a name of 'value' field in passed objects\");if(n&&this.clearChoices(),\"function\"==typeof e){var r=e(this);if(\"function\"==typeof Promise&&r instanceof Promise)return new Promise((function(e){return requestAnimationFrame(e)})).then((function(){return s._handleLoadingState(!0)})).then((function(){return r})).then((function(e){return s.setChoices(e,t,i,n)})).catch((function(e){s.config.silent||console.error(e)})).then((function(){return s._handleLoadingState(!1)})).then((function(){return s}));if(!Array.isArray(r))throw new TypeError(\".setChoices first argument function must return either array of choices or Promise, got: \"+typeof r);return this.setChoices(r,t,i,!1)}if(!Array.isArray(e))throw new TypeError(\".setChoices must be called either with array of choices with a function resulting into Promise of array of choices\");return this.containerOuter.removeLoadingState(),this._startLoading(),e.forEach((function(e){e.choices?s._addGroup({id:parseInt(e.id,10)||null,group:e,valueKey:t,labelKey:i}):s._addChoice({value:e[t],label:e[i],isSelected:e.selected,isDisabled:e.disabled,customProperties:e.customProperties,placeholder:e.placeholder})})),this._stopLoading(),this},r.clearChoices=function(){return this._store.dispatch({type:U}),this},r.clearStore=function(){return this._store.dispatch({type:\"CLEAR_ALL\"}),this},r.clearInput=function(){var e=!this._isSelectOneElement;return this.input.clear(e),!this._isTextElement&&this._canSearch&&(this._isSearching=!1,this._store.dispatch(be(!0))),this},r._render=function(){if(!this._store.isLoading()){this._currentState=this._store.state;var e=this._currentState.choices!==this._prevState.choices||this._currentState.groups!==this._prevState.groups||this._currentState.items!==this._prevState.items,t=this._isSelectElement,i=this._currentState.items!==this._prevState.items;e&&(t&&this._renderChoices(),i&&this._renderItems(),this._prevState=this._currentState)}},r._renderChoices=function(){var e=this,t=this._store,i=t.activeGroups,n=t.activeChoices,s=document.createDocumentFragment();if(this.choiceList.clear(),this.config.resetScrollPosition&&requestAnimationFrame((function(){return e.choiceList.scrollToTop()})),i.length>=1&&!this._isSearching){var r=n.filter((function(e){return!0===e.placeholder&&-1===e.groupId}));r.length>=1&&(s=this._createChoicesFragment(r,s)),s=this._createGroupsFragment(i,n,s)}else n.length>=1&&(s=this._createChoicesFragment(n,s));if(s.childNodes&&s.childNodes.length>0){var o=this._store.activeItems,a=this._canAddItem(o,this.input.value);a.response?(this.choiceList.append(s),this._highlightChoice()):this.choiceList.append(this._getTemplate(\"notice\",a.notice))}else{var c,l;this._isSearching?(l=\"function\"==typeof this.config.noResultsText?this.config.noResultsText():this.config.noResultsText,c=this._getTemplate(\"notice\",l,\"no-results\")):(l=\"function\"==typeof this.config.noChoicesText?this.config.noChoicesText():this.config.noChoicesText,c=this._getTemplate(\"notice\",l,\"no-choices\")),this.choiceList.append(c)}},r._renderItems=function(){var e=this._store.activeItems||[];this.itemList.clear();var t=this._createItemsFragment(e);t.childNodes&&this.itemList.append(t)},r._createGroupsFragment=function(e,t,i){var n=this;return void 0===i&&(i=document.createDocumentFragment()),this.config.shouldSort&&e.sort(this.config.sorter),e.forEach((function(e){var s=function(e){return t.filter((function(t){return n._isSelectOneElement?t.groupId===e.id:t.groupId===e.id&&(\"always\"===n.config.renderSelectedChoices||!t.selected)}))}(e);if(s.length>=1){var r=n._getTemplate(\"choiceGroup\",e);i.appendChild(r),n._createChoicesFragment(s,i,!0)}})),i},r._createChoicesFragment=function(e,t,i){var n=this;void 0===t&&(t=document.createDocumentFragment()),void 0===i&&(i=!1);var s=this.config,r=s.renderSelectedChoices,o=s.searchResultLimit,a=s.renderChoiceLimit,c=this._isSearching?w:this.config.sorter,l=function(e){if(\"auto\"!==r||n._isSelectOneElement||!e.selected){var i=n._getTemplate(\"choice\",e,n.config.itemSelectText);t.appendChild(i)}},h=e;\"auto\"!==r||this._isSelectOneElement||(h=e.filter((function(e){return!e.selected})));var u=h.reduce((function(e,t){return t.placeholder?e.placeholderChoices.push(t):e.normalChoices.push(t),e}),{placeholderChoices:[],normalChoices:[]}),d=u.placeholderChoices,p=u.normalChoices;(this.config.shouldSort||this._isSearching)&&p.sort(c);var m=h.length,f=this._isSelectOneElement?[].concat(d,p):p;this._isSearching?m=o:a&&a>0&&!i&&(m=a);for(var v=0;v=n){var o=s?this._searchChoices(e):0;this.passedElement.triggerEvent(j,{value:e,resultCount:o})}else r&&(this._isSearching=!1,this._store.dispatch(be(!0)))}},r._canAddItem=function(e,t){var i=!0,n=\"function\"==typeof this.config.addItemText?this.config.addItemText(t):this.config.addItemText;if(!this._isSelectOneElement){var s=function(e,t,i){return void 0===i&&(i=\"value\"),e.some((function(e){return\"string\"==typeof t?e[i]===t.trim():e[i]===t}))}(e,t);this.config.maxItemCount>0&&this.config.maxItemCount<=e.length&&(i=!1,n=\"function\"==typeof this.config.maxItemText?this.config.maxItemText(this.config.maxItemCount):this.config.maxItemText),!this.config.duplicateItemsAllowed&&s&&i&&(i=!1,n=\"function\"==typeof this.config.uniqueItemText?this.config.uniqueItemText(t):this.config.uniqueItemText),this._isTextElement&&this.config.addItems&&i&&\"function\"==typeof this.config.addItemFilter&&!this.config.addItemFilter(t)&&(i=!1,n=\"function\"==typeof this.config.customAddItemText?this.config.customAddItemText(t):this.config.customAddItemText)}return{response:i,notice:n}},r._searchChoices=function(e){var t=\"string\"==typeof e?e.trim():e,i=\"string\"==typeof this._currentValue?this._currentValue.trim():this._currentValue;if(t.length<1&&t===i+\" \")return 0;var n=this._store.searchableChoices,r=t,o=[].concat(this.config.searchFields),a=Object.assign(this.config.fuseOptions,{keys:o}),c=new s.a(n,a).search(r);return this._currentValue=t,this._highlightPosition=0,this._isSearching=!0,this._store.dispatch(function(e){return{type:G,results:e}}(c)),c.length},r._addEventListeners=function(){var e=document.documentElement;e.addEventListener(\"touchend\",this._onTouchEnd,!0),this.containerOuter.element.addEventListener(\"keydown\",this._onKeyDown,!0),this.containerOuter.element.addEventListener(\"mousedown\",this._onMouseDown,!0),e.addEventListener(\"click\",this._onClick,{passive:!0}),e.addEventListener(\"touchmove\",this._onTouchMove,{passive:!0}),this.dropdown.element.addEventListener(\"mouseover\",this._onMouseOver,{passive:!0}),this._isSelectOneElement&&(this.containerOuter.element.addEventListener(\"focus\",this._onFocus,{passive:!0}),this.containerOuter.element.addEventListener(\"blur\",this._onBlur,{passive:!0})),this.input.element.addEventListener(\"keyup\",this._onKeyUp,{passive:!0}),this.input.element.addEventListener(\"focus\",this._onFocus,{passive:!0}),this.input.element.addEventListener(\"blur\",this._onBlur,{passive:!0}),this.input.element.form&&this.input.element.form.addEventListener(\"reset\",this._onFormReset,{passive:!0}),this.input.addEventListeners()},r._removeEventListeners=function(){var e=document.documentElement;e.removeEventListener(\"touchend\",this._onTouchEnd,!0),this.containerOuter.element.removeEventListener(\"keydown\",this._onKeyDown,!0),this.containerOuter.element.removeEventListener(\"mousedown\",this._onMouseDown,!0),e.removeEventListener(\"click\",this._onClick),e.removeEventListener(\"touchmove\",this._onTouchMove),this.dropdown.element.removeEventListener(\"mouseover\",this._onMouseOver),this._isSelectOneElement&&(this.containerOuter.element.removeEventListener(\"focus\",this._onFocus),this.containerOuter.element.removeEventListener(\"blur\",this._onBlur)),this.input.element.removeEventListener(\"keyup\",this._onKeyUp),this.input.element.removeEventListener(\"focus\",this._onFocus),this.input.element.removeEventListener(\"blur\",this._onBlur),this.input.element.form&&this.input.element.form.removeEventListener(\"reset\",this._onFormReset),this.input.removeEventListeners()},r._onKeyDown=function(e){var t,i=e.target,n=e.keyCode,s=e.ctrlKey,r=e.metaKey,o=this._store.activeItems,a=this.input.isFocussed,c=this.dropdown.isActive,l=this.itemList.hasChildren(),h=String.fromCharCode(n),u=J,d=Y,p=Z,m=Q,f=ee,v=te,g=ie,_=ne,b=se,y=s||r;!this._isTextElement&&/[a-zA-Z0-9-_ ]/.test(h)&&this.showDropdown();var E=((t={})[m]=this._onAKey,t[p]=this._onEnterKey,t[f]=this._onEscapeKey,t[v]=this._onDirectionKey,t[_]=this._onDirectionKey,t[g]=this._onDirectionKey,t[b]=this._onDirectionKey,t[d]=this._onDeleteKey,t[u]=this._onDeleteKey,t);E[n]&&E[n]({event:e,target:i,keyCode:n,metaKey:r,activeItems:o,hasFocusedInput:a,hasActiveDropdown:c,hasItems:l,hasCtrlDownKeyPressed:y})},r._onKeyUp=function(e){var t=e.target,i=e.keyCode,n=this.input.value,s=this._store.activeItems,r=this._canAddItem(s,n),o=J,a=Y;if(this._isTextElement)if(r.notice&&n){var c=this._getTemplate(\"notice\",r.notice);this.dropdown.element.innerHTML=c.outerHTML,this.showDropdown(!0)}else this.hideDropdown(!0);else{var l=(i===o||i===a)&&!t.value,h=!this._isTextElement&&this._isSearching,u=this._canSearch&&r.response;l&&h?(this._isSearching=!1,this._store.dispatch(be(!0))):u&&this._handleSearch(this.input.value)}this._canSearch=this.config.searchEnabled},r._onAKey=function(e){var t=e.hasItems;e.hasCtrlDownKeyPressed&&t&&(this._canSearch=!1,this.config.removeItems&&!this.input.value&&this.input.element===document.activeElement&&this.highlightAll())},r._onEnterKey=function(e){var t=e.event,i=e.target,n=e.activeItems,s=e.hasActiveDropdown,r=Z,o=i.hasAttribute(\"data-button\");if(this._isTextElement&&i.value){var a=this.input.value;this._canAddItem(n,a).response&&(this.hideDropdown(!0),this._addItem({value:a}),this._triggerChange(a),this.clearInput())}if(o&&(this._handleButtonAction(n,i),t.preventDefault()),s){var c=this.dropdown.getChild(\".\"+this.config.classNames.highlightedState);c&&(n[0]&&(n[0].keyCode=r),this._handleChoiceAction(n,c)),t.preventDefault()}else this._isSelectOneElement&&(this.showDropdown(),t.preventDefault())},r._onEscapeKey=function(e){e.hasActiveDropdown&&(this.hideDropdown(!0),this.containerOuter.focus())},r._onDirectionKey=function(e){var t,i,n,s=e.event,r=e.hasActiveDropdown,o=e.keyCode,a=e.metaKey,c=ie,l=ne,h=se;if(r||this._isSelectOneElement){this.showDropdown(),this._canSearch=!1;var u,d=o===c||o===h?1:-1,p=\"[data-choice-selectable]\";if(a||o===h||o===l)u=d>0?this.dropdown.element.querySelector(\"[data-choice-selectable]:last-of-type\"):this.dropdown.element.querySelector(p);else{var m=this.dropdown.element.querySelector(\".\"+this.config.classNames.highlightedState);u=m?function(e,t,i){if(void 0===i&&(i=1),e instanceof Element&&\"string\"==typeof t){for(var n=(i>0?\"next\":\"previous\")+\"ElementSibling\",s=e[n];s;){if(s.matches(t))return s;s=s[n]}return s}}(m,p,d):this.dropdown.element.querySelector(p)}u&&(t=u,i=this.choiceList.element,void 0===(n=d)&&(n=1),t&&(n>0?i.scrollTop+i.offsetHeight>=t.offsetTop+t.offsetHeight:t.offsetTop>=i.scrollTop)||this.choiceList.scrollToChildElement(u,d),this._highlightChoice(u)),s.preventDefault()}},r._onDeleteKey=function(e){var t=e.event,i=e.target,n=e.hasFocusedInput,s=e.activeItems;!n||i.value||this._isSelectOneElement||(this._handleBackspace(s),t.preventDefault())},r._onTouchMove=function(){this._wasTap&&(this._wasTap=!1)},r._onTouchEnd=function(e){var t=(e||e.touches[0]).target;this._wasTap&&this.containerOuter.element.contains(t)&&((t===this.containerOuter.element||t===this.containerInner.element)&&(this._isTextElement?this.input.focus():this._isSelectMultipleElement&&this.showDropdown()),e.stopPropagation()),this._wasTap=!0},r._onMouseDown=function(e){var t=e.target;if(t instanceof HTMLElement){if(we&&this.choiceList.element.contains(t)){var i=this.choiceList.element.firstElementChild,n=\"ltr\"===this._direction?e.offsetX>=i.offsetWidth:e.offsetX0&&this.unhighlightAll(),this.containerOuter.removeFocusState(),this.hideDropdown(!0))},r._onFocus=function(e){var t,i=this,n=e.target;this.containerOuter.element.contains(n)&&((t={}).text=function(){n===i.input.element&&i.containerOuter.addFocusState()},t[\"select-one\"]=function(){i.containerOuter.addFocusState(),n===i.input.element&&i.showDropdown(!0)},t[\"select-multiple\"]=function(){n===i.input.element&&(i.showDropdown(!0),i.containerOuter.addFocusState())},t)[this.passedElement.element.type]()},r._onBlur=function(e){var t=this,i=e.target;if(this.containerOuter.element.contains(i)&&!this._isScrollingOnIe){var n,s=this._store.activeItems.some((function(e){return e.highlighted}));((n={}).text=function(){i===t.input.element&&(t.containerOuter.removeFocusState(),s&&t.unhighlightAll(),t.hideDropdown(!0))},n[\"select-one\"]=function(){t.containerOuter.removeFocusState(),(i===t.input.element||i===t.containerOuter.element&&!t._canSearch)&&t.hideDropdown(!0)},n[\"select-multiple\"]=function(){i===t.input.element&&(t.containerOuter.removeFocusState(),t.hideDropdown(!0),s&&t.unhighlightAll())},n)[this.passedElement.element.type]()}else this._isScrollingOnIe=!1,this.input.element.focus()},r._onFormReset=function(){this._store.dispatch({type:\"RESET_TO\",state:this._initialState})},r._highlightChoice=function(e){var t=this;void 0===e&&(e=null);var i=Array.from(this.dropdown.element.querySelectorAll(\"[data-choice-selectable]\"));if(i.length){var n=e;Array.from(this.dropdown.element.querySelectorAll(\".\"+this.config.classNames.highlightedState)).forEach((function(e){e.classList.remove(t.config.classNames.highlightedState),e.setAttribute(\"aria-selected\",\"false\")})),n?this._highlightPosition=i.indexOf(n):(n=i.length>this._highlightPosition?i[this._highlightPosition]:i[i.length-1])||(n=i[0]),n.classList.add(this.config.classNames.highlightedState),n.setAttribute(\"aria-selected\",\"true\"),this.passedElement.triggerEvent(B,{el:n}),this.dropdown.isActive&&(this.input.setActiveDescendant(n.id),this.containerOuter.setActiveDescendant(n.id))}},r._addItem=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,s=e.choiceId,r=void 0===s?-1:s,o=e.groupId,a=void 0===o?-1:o,c=e.customProperties,l=void 0===c?null:c,h=e.placeholder,u=void 0!==h&&h,d=e.keyCode,p=void 0===d?null:d,m=\"string\"==typeof t?t.trim():t,f=p,v=l,g=this._store.items,_=n||m,b=r||-1,y=a>=0?this._store.getGroupById(a):null,E=g?g.length+1:1;return this.config.prependValue&&(m=this.config.prependValue+m.toString()),this.config.appendValue&&(m+=this.config.appendValue.toString()),this._store.dispatch(function(e){var t=e.value,i=e.label,n=e.id,s=e.choiceId,r=e.groupId,o=e.customProperties,a=e.placeholder,c=e.keyCode;return{type:W,value:t,label:i,id:n,choiceId:s,groupId:r,customProperties:o,placeholder:a,keyCode:c}}({value:m,label:_,id:E,choiceId:b,groupId:a,customProperties:l,placeholder:u,keyCode:f})),this._isSelectOneElement&&this.removeActiveItems(E),this.passedElement.triggerEvent(K,{id:E,value:m,label:_,customProperties:v,groupValue:y&&y.value?y.value:void 0,keyCode:f}),this},r._removeItem=function(e){if(!e||!E(\"Object\",e))return this;var t=e.id,i=e.value,n=e.label,s=e.choiceId,r=e.groupId,o=r>=0?this._store.getGroupById(r):null;return this._store.dispatch(function(e,t){return{type:X,id:e,choiceId:t}}(t,s)),o&&o.value?this.passedElement.triggerEvent(R,{id:t,value:i,label:n,groupValue:o.value}):this.passedElement.triggerEvent(R,{id:t,value:i,label:n}),this},r._addChoice=function(e){var t=e.value,i=e.label,n=void 0===i?null:i,s=e.isSelected,r=void 0!==s&&s,o=e.isDisabled,a=void 0!==o&&o,c=e.groupId,l=void 0===c?-1:c,h=e.customProperties,u=void 0===h?null:h,d=e.placeholder,p=void 0!==d&&d,m=e.keyCode,f=void 0===m?null:m;if(null!=t){var v=this._store.choices,g=n||t,_=v?v.length+1:1,b=this._baseId+\"-\"+this._idNames.itemChoice+\"-\"+_;this._store.dispatch(function(e){var t=e.value,i=e.label,n=e.id,s=e.groupId,r=e.disabled,o=e.elementId,a=e.customProperties,c=e.placeholder,l=e.keyCode;return{type:V,value:t,label:i,id:n,groupId:s,disabled:r,elementId:o,customProperties:a,placeholder:c,keyCode:l}}({id:_,groupId:l,elementId:b,value:t,label:g,disabled:a,customProperties:u,placeholder:p,keyCode:f})),r&&this._addItem({value:t,label:g,choiceId:_,customProperties:u,placeholder:p,keyCode:f})}},r._addGroup=function(e){var t=this,i=e.group,n=e.id,s=e.valueKey,r=void 0===s?\"value\":s,o=e.labelKey,a=void 0===o?\"label\":o,c=E(\"Object\",i)?i.choices:Array.from(i.getElementsByTagName(\"OPTION\")),l=n||Math.floor((new Date).valueOf()*Math.random()),h=!!i.disabled&&i.disabled;c?(this._store.dispatch(Ee({value:i.label,id:l,active:!0,disabled:h})),c.forEach((function(e){var i=e.disabled||e.parentNode&&e.parentNode.disabled;t._addChoice({value:e[r],label:E(\"Object\",e)?e[a]:e.innerHTML,isSelected:e.selected,isDisabled:i,groupId:l,customProperties:e.customProperties,placeholder:e.placeholder})}))):this._store.dispatch(Ee({value:i.label,id:i.id,active:!1,disabled:i.disabled}))},r._getTemplate=function(e){var t;if(!e)return null;for(var i=this.config.classNames,n=arguments.length,s=new Array(n>1?n-1:0),r=1;r{var e;return this.input_el.name=null!==(e=this.model.name)&&void 0!==e?e:\"\"})),this.connect(this.model.properties.value.change,(()=>{this.input_el.value=this.format_value,this.old_value=this.input_el.value})),this.connect(this.model.properties.low.change,(()=>{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&(0,p.assert)(t<=l,\"Invalid bounds, low must be inferior to high\"),null!=e&&null!=t&&e{const{value:e,low:t,high:l}=this.model;null!=t&&null!=l&&(0,p.assert)(l>=t,\"Invalid bounds, high must be superior to low\"),null!=e&&null!=l&&e>l&&(this.model.value=l)})),this.connect(this.model.properties.high.change,(()=>this.input_el.placeholder=this.model.placeholder)),this.connect(this.model.properties.disabled.change,(()=>this.input_el.disabled=this.model.disabled)),this.connect(this.model.properties.placeholder.change,(()=>this.input_el.placeholder=this.model.placeholder))}get format_value(){return null!=this.model.value?this.model.pretty(this.model.value):\"\"}_set_input_filter(e){this.input_el.addEventListener(\"input\",(()=>{const{selectionStart:t,selectionEnd:l}=this.input_el;if(e(this.input_el.value))this.old_value=this.input_el.value;else{const e=this.old_value.length-this.input_el.value.length;this.input_el.value=this.old_value,t&&l&&this.input_el.setSelectionRange(t-1,l+e)}}))}render(){super.render(),this.input_el=(0,r.input)({type:\"text\",class:_.input,name:this.model.name,value:this.format_value,disabled:this.model.disabled,placeholder:this.model.placeholder}),this.old_value=this.format_value,this.set_input_filter(),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.input_el.addEventListener(\"focusout\",(()=>this.input_el.value=this.format_value)),this.group_el.appendChild(this.input_el)}set_input_filter(){\"int\"==this.model.mode?this._set_input_filter((e=>m.test(e))):\"float\"==this.model.mode&&this._set_input_filter((e=>c.test(e)))}bound_value(e){let t=e;const{low:l,high:i}=this.model;return t=null!=l?Math.max(l,t):t,t=null!=i?Math.min(i,t):t,t}get value(){let e=\"\"!=this.input_el.value?Number(this.input_el.value):null;return null!=e&&(e=this.bound_value(e)),e}change_input(){null==this.value?this.model.value=null:Number.isNaN(this.value)||(this.model.value=this.value)}}l.NumericInputView=v,v.__name__=\"NumericInputView\";class g extends o.InputWidget{constructor(e){super(e)}_formatter(e,t){return(0,d.isString)(t)?h.format(e,t):t.doFormat([e],{loc:0})[0]}pretty(e){return null!=this.format?this._formatter(e,this.format):`${e}`}}l.NumericInput=g,u=g,g.__name__=\"NumericInput\",u.prototype.default_view=v,u.define((({Number:e,String:t,Enum:l,Ref:i,Or:n,Nullable:s})=>({value:[s(e),null],placeholder:[t,\"\"],mode:[l(\"int\",\"float\"),\"int\"],format:[s(n(t,i(a.TickFormatter))),null],low:[s(e),null],high:[s(e),null]})))},\n", - " 475: function _(e,t,r,s,n){var a;s();const o=e(464),_=e(43);class p extends o.MarkupView{render(){super.render();const e=(0,_.pre)({style:{overflow:\"auto\"}},this.model.text);this.markup_el.appendChild(e)}}r.PreTextView=p,p.__name__=\"PreTextView\";class u extends o.Markup{constructor(e){super(e)}}r.PreText=u,a=u,u.__name__=\"PreText\",a.prototype.default_view=p},\n", - " 476: function _(t,o,e,a,i){a();const n=t(1);var u;const s=t(449),c=t(43),_=(0,n.__importStar)(t(318));class r extends s.ButtonGroupView{change_active(t){this.model.active!==t&&(this.model.active=t)}_update_active(){const{active:t}=this.model;this._buttons.forEach(((o,e)=>{(0,c.classes)(o).toggle(_.active,t===e)}))}}e.RadioButtonGroupView=r,r.__name__=\"RadioButtonGroupView\";class l extends s.ButtonGroup{constructor(t){super(t)}}e.RadioButtonGroup=l,u=l,l.__name__=\"RadioButtonGroup\",u.prototype.default_view=r,u.define((({Int:t,Nullable:o})=>({active:[o(t),null]})))},\n", - " 477: function _(e,n,i,t,a){t();const s=e(1);var l;const o=e(43),d=e(34),p=e(452),r=(0,s.__importStar)(e(446));class u extends p.InputGroupView{render(){super.render();const e=(0,o.div)({class:[r.input_group,this.model.inline?r.inline:null]});this.el.appendChild(e);const n=(0,d.uniqueId)(),{active:i,labels:t}=this.model;this._inputs=[];for(let a=0;athis.change_active(a))),this._inputs.push(s),this.model.disabled&&(s.disabled=!0),a==i&&(s.checked=!0);const l=(0,o.label)(s,(0,o.span)(t[a]));e.appendChild(l)}}change_active(e){this.model.active=e}}i.RadioGroupView=u,u.__name__=\"RadioGroupView\";class c extends p.InputGroup{constructor(e){super(e)}}i.RadioGroup=c,l=c,c.__name__=\"RadioGroup\",l.prototype.default_view=u,l.define((({Boolean:e,Int:n,String:i,Array:t,Nullable:a})=>({active:[a(n),null],labels:[t(i),[]],inline:[e,!1]})))},\n", - " 478: function _(e,r,t,a,i){a();var n;const o=(0,e(1).__importStar)(e(153)),s=e(458),_=e(8);class d extends s.AbstractRangeSliderView{}t.RangeSliderView=d,d.__name__=\"RangeSliderView\";class c extends s.AbstractSlider{constructor(e){super(e),this.behaviour=\"drag\",this.connected=[!1,!0,!1]}_formatter(e,r){return(0,_.isString)(r)?o.format(e,r):r.compute(e)}}t.RangeSlider=c,n=c,c.__name__=\"RangeSlider\",n.prototype.default_view=d,n.override({format:\"0[.]00\"})},\n", - " 479: function _(e,t,n,s,i){s();const l=e(1);var u;const a=e(43),o=e(8),p=e(13),_=e(445),r=(0,l.__importStar)(e(446));class c extends _.InputWidgetView{constructor(){super(...arguments),this._known_values=new Set}connect_signals(){super.connect_signals();const{value:e,options:t}=this.model.properties;this.on_change(e,(()=>{this._update_value()})),this.on_change(t,(()=>{(0,a.empty)(this.input_el),(0,a.append)(this.input_el,...this.options_el()),this._update_value()}))}options_el(){const{_known_values:e}=this;function t(t){return t.map((t=>{let n,s;return(0,o.isString)(t)?n=s=t:[n,s]=t,e.add(n),(0,a.option)({value:n},s)}))}e.clear();const{options:n}=this.model;return(0,o.isArray)(n)?t(n):(0,p.entries)(n).map((([e,n])=>(0,a.optgroup)({label:e},t(n))))}render(){super.render(),this.input_el=(0,a.select)({class:r.input,name:this.model.name,disabled:this.model.disabled},this.options_el()),this._update_value(),this.input_el.addEventListener(\"change\",(()=>this.change_input())),this.group_el.appendChild(this.input_el)}change_input(){const e=this.input_el.value;this.model.value=e,super.change_input()}_update_value(){const{value:e}=this.model;this._known_values.has(e)?this.input_el.value=e:this.input_el.removeAttribute(\"value\")}}n.SelectView=c,c.__name__=\"SelectView\";class h extends _.InputWidget{constructor(e){super(e)}}n.Select=h,u=h,h.__name__=\"Select\",u.prototype.default_view=c,u.define((({String:e,Array:t,Tuple:n,Dict:s,Or:i})=>{const l=t(i(e,n(e,e)));return{value:[e,\"\"],options:[i(l,s(l)),[]]}}))},\n", - " 480: function _(e,t,r,i,a){i();var o;const s=(0,e(1).__importStar)(e(153)),_=e(458),n=e(8);class c extends _.AbstractSliderView{}r.SliderView=c,c.__name__=\"SliderView\";class d extends _.AbstractSlider{constructor(e){super(e),this.behaviour=\"tap\",this.connected=[!0,!1]}_formatter(e,t){return(0,n.isString)(t)?s.format(e,t):t.compute(e)}}r.Slider=d,o=d,d.__name__=\"Slider\",o.prototype.default_view=c,o.override({format:\"0[.]00\"})},\n", - " 481: function _(e,t,i,n,s){var l;n();const o=e(474),r=e(43),{min:a,max:h,floor:_,abs:u}=Math;function d(e){return _(e)!==e?e.toFixed(16).replace(/0+$/,\"\").split(\".\")[1].length:0}class p extends o.NumericInputView{*buttons(){yield this.btn_up_el,yield this.btn_down_el}initialize(){super.initialize(),this._handles={interval:void 0,timeout:void 0},this._interval=200}connect_signals(){super.connect_signals();const e=this.model.properties;this.on_change(e.disabled,(()=>{for(const e of this.buttons())(0,r.toggle_attribute)(e,\"disabled\",this.model.disabled)}))}render(){super.render(),this.wrapper_el=(0,r.div)({class:\"bk-spin-wrapper\"}),this.group_el.replaceChild(this.wrapper_el,this.input_el),this.btn_up_el=(0,r.button)({class:\"bk-spin-btn bk-spin-btn-up\"}),this.btn_down_el=(0,r.button)({class:\"bk-spin-btn bk-spin-btn-down\"}),this.wrapper_el.appendChild(this.input_el),this.wrapper_el.appendChild(this.btn_up_el),this.wrapper_el.appendChild(this.btn_down_el);for(const e of this.buttons())(0,r.toggle_attribute)(e,\"disabled\",this.model.disabled),e.addEventListener(\"mousedown\",(e=>this._btn_mouse_down(e))),e.addEventListener(\"mouseup\",(()=>this._btn_mouse_up())),e.addEventListener(\"mouseleave\",(()=>this._btn_mouse_leave()));this.input_el.addEventListener(\"keydown\",(e=>this._input_key_down(e))),this.input_el.addEventListener(\"keyup\",(()=>this.model.value_throttled=this.model.value)),this.input_el.addEventListener(\"wheel\",(e=>this._input_mouse_wheel(e))),this.input_el.addEventListener(\"wheel\",function(e,t,i=!1){let n;return function(...s){const l=this,o=i&&void 0===n;void 0!==n&&clearTimeout(n),n=setTimeout((function(){n=void 0,i||e.apply(l,s)}),t),o&&e.apply(l,s)}}((()=>{this.model.value_throttled=this.model.value}),this.model.wheel_wait,!1))}get precision(){const{low:e,high:t,step:i}=this.model,n=d;return h(n(u(null!=e?e:0)),n(u(null!=t?t:0)),n(u(i)))}remove(){this._stop_incrementation(),super.remove()}_start_incrementation(e){clearInterval(this._handles.interval),this._counter=0;const{step:t}=this.model,i=e=>{if(this._counter+=1,this._counter%5==0){const t=Math.floor(this._counter/5);t<10?(clearInterval(this._handles.interval),this._handles.interval=setInterval((()=>i(e)),this._interval/(t+1))):t>=10&&t<=13&&(clearInterval(this._handles.interval),this._handles.interval=setInterval((()=>i(2*e)),this._interval/10))}this.increment(e)};this._handles.interval=setInterval((()=>i(e*t)),this._interval)}_stop_incrementation(){clearTimeout(this._handles.timeout),this._handles.timeout=void 0,clearInterval(this._handles.interval),this._handles.interval=void 0,this.model.value_throttled=this.model.value}_btn_mouse_down(e){e.preventDefault();const t=e.currentTarget===this.btn_up_el?1:-1;this.increment(t*this.model.step),this.input_el.focus(),this._handles.timeout=setTimeout((()=>this._start_incrementation(t)),this._interval)}_btn_mouse_up(){this._stop_incrementation()}_btn_mouse_leave(){this._stop_incrementation()}_input_mouse_wheel(e){if(document.activeElement===this.input_el){e.preventDefault();const t=e.deltaY>0?-1:1;this.increment(t*this.model.step)}}_input_key_down(e){switch(e.keyCode){case r.Keys.Up:return e.preventDefault(),this.increment(this.model.step);case r.Keys.Down:return e.preventDefault(),this.increment(-this.model.step);case r.Keys.PageUp:return e.preventDefault(),this.increment(this.model.page_step_multiplier*this.model.step);case r.Keys.PageDown:return e.preventDefault(),this.increment(-this.model.page_step_multiplier*this.model.step)}}adjust_to_precision(e){return this.bound_value(Number(e.toFixed(this.precision)))}increment(e){const{low:t,high:i}=this.model;null==this.model.value?e>0?this.model.value=null!=t?t:null!=i?a(0,i):0:e<0&&(this.model.value=null!=i?i:null!=t?h(t,0):0):this.model.value=this.adjust_to_precision(this.model.value+e)}change_input(){super.change_input(),this.model.value_throttled=this.model.value}}i.SpinnerView=p,p.__name__=\"SpinnerView\";class m extends o.NumericInput{constructor(e){super(e)}}i.Spinner=m,l=m,m.__name__=\"Spinner\",l.prototype.default_view=p,l.define((({Number:e,Nullable:t})=>({value_throttled:[t(e),null],step:[e,1],page_step_multiplier:[e,10],wheel_wait:[e,100]}))),l.override({mode:\"float\"})},\n", - " 482: function _(e,t,s,n,i){n();const o=e(1);var r;const c=e(444),l=e(43),p=(0,o.__importStar)(e(446));class _ extends c.TextLikeInputView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.rows.change,(()=>this.input_el.rows=this.model.rows)),this.connect(this.model.properties.cols.change,(()=>this.input_el.cols=this.model.cols))}_render_input(){this.input_el=(0,l.textarea)({class:p.input})}render(){super.render(),this.input_el.cols=this.model.cols,this.input_el.rows=this.model.rows}}s.TextAreaInputView=_,_.__name__=\"TextAreaInputView\";class a extends c.TextLikeInput{constructor(e){super(e)}}s.TextAreaInput=a,r=a,a.__name__=\"TextAreaInput\",r.prototype.default_view=_,r.define((({Int:e})=>({cols:[e,20],rows:[e,2]}))),r.override({max_length:500})},\n", - " 483: function _(e,t,s,c,i){c();const o=e(1);var a;const n=e(438),l=e(43),_=(0,o.__importStar)(e(318));class r extends n.AbstractButtonView{connect_signals(){super.connect_signals(),this.connect(this.model.properties.active.change,(()=>this._update_active()))}render(){super.render(),this._update_active()}click(){this.model.active=!this.model.active,super.click()}_update_active(){(0,l.classes)(this.button_el).toggle(_.active,this.model.active)}}s.ToggleView=r,r.__name__=\"ToggleView\";class g extends n.AbstractButton{constructor(e){super(e)}}s.Toggle=g,a=g,g.__name__=\"Toggle\",a.prototype.default_view=r,a.define((({Boolean:e})=>({active:[e,!1]}))),a.override({label:\"Toggle\"})},\n", - " }, 436, {\"models/widgets/main\":436,\"models/widgets/index\":437,\"models/widgets/abstract_button\":438,\"models/widgets/control\":439,\"models/widgets/widget\":508,\"models/widgets/abstract_icon\":441,\"models/widgets/autocomplete_input\":442,\"models/widgets/text_input\":443,\"models/widgets/text_like_input\":444,\"models/widgets/input_widget\":445,\"styles/widgets/inputs.css\":446,\"models/widgets/button\":447,\"models/widgets/checkbox_button_group\":448,\"models/widgets/button_group\":449,\"models/widgets/oriented_control\":450,\"models/widgets/checkbox_group\":451,\"models/widgets/input_group\":452,\"models/widgets/color_picker\":453,\"models/widgets/date_picker\":454,\"styles/widgets/flatpickr.css\":456,\"models/widgets/date_range_slider\":457,\"models/widgets/abstract_slider\":458,\"styles/widgets/sliders.css\":460,\"styles/widgets/nouislider.css\":461,\"models/widgets/date_slider\":462,\"models/widgets/div\":463,\"models/widgets/markup\":464,\"styles/clearfix.css\":465,\"models/widgets/dropdown\":466,\"models/widgets/file_input\":467,\"models/widgets/multiselect\":468,\"models/widgets/paragraph\":469,\"models/widgets/password_input\":470,\"models/widgets/multichoice\":471,\"styles/widgets/choices.css\":473,\"models/widgets/numeric_input\":474,\"models/widgets/pretext\":475,\"models/widgets/radio_button_group\":476,\"models/widgets/radio_group\":477,\"models/widgets/range_slider\":478,\"models/widgets/selectbox\":479,\"models/widgets/slider\":480,\"models/widgets/spinner\":481,\"models/widgets/textarea_input\":482,\"models/widgets/toggle\":483}, {});});\n", - "\n", - " /* END bokeh-widgets.min.js */\n", - " },\n", - " \n", - " function(Bokeh) {\n", - " /* BEGIN bokeh-tables.min.js */\n", - " /*!\n", - " * Copyright (c) 2012 - 2021, Anaconda, Inc., and Bokeh Contributors\n", - " * All rights reserved.\n", - " * \n", - " * Redistribution and use in source and binary forms, with or without modification,\n", - " * are permitted provided that the following conditions are met:\n", - " * \n", - " * Redistributions of source code must retain the above copyright notice,\n", - " * this list of conditions and the following disclaimer.\n", - " * \n", - " * Redistributions in binary form must reproduce the above copyright notice,\n", - " * this list of conditions and the following disclaimer in the documentation\n", - " * and/or other materials provided with the distribution.\n", - " * \n", - " * Neither the name of Anaconda nor the names of any contributors\n", - " * may be used to endorse or promote products derived from this software\n", - " * without specific prior written permission.\n", - " * \n", - " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n", - " * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n", - " * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n", - " * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE\n", - " * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n", - " * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n", - " * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n", - " * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n", - " * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n", - " * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\n", - " * THE POSSIBILITY OF SUCH DAMAGE.\n", - " */\n", - " (function(root, factory) {\n", - " factory(root[\"Bokeh\"], \"2.4.1\");\n", - " })(this, function(Bokeh, version) {\n", - " let define;\n", - " return (function(modules, entry, aliases, externals) {\n", - " const bokeh = typeof Bokeh !== \"undefined\" && (version != null ? Bokeh[version] : Bokeh);\n", - " if (bokeh != null) {\n", - " return bokeh.register_plugin(modules, entry, aliases);\n", - " } else {\n", - " throw new Error(\"Cannot find Bokeh \" + version + \". You have to load it prior to loading plugins.\");\n", - " }\n", - " })\n", - " ({\n", - " 484: function _(t,e,o,r,s){r();const _=(0,t(1).__importStar)(t(485));o.Tables=_;(0,t(7).register_models)(_)},\n", - " 485: function _(g,a,r,e,t){e();const o=g(1);(0,o.__exportStar)(g(486),r),(0,o.__exportStar)(g(489),r),t(\"DataTable\",g(492).DataTable),t(\"TableColumn\",g(510).TableColumn),t(\"TableWidget\",g(509).TableWidget);var n=g(512);t(\"AvgAggregator\",n.AvgAggregator),t(\"MinAggregator\",n.MinAggregator),t(\"MaxAggregator\",n.MaxAggregator),t(\"SumAggregator\",n.SumAggregator);var A=g(513);t(\"GroupingInfo\",A.GroupingInfo),t(\"DataCube\",A.DataCube)},\n", - " 486: function _(e,t,i,s,a){s();const r=e(1);var l,n,u,d,o,p,_,c,h;const E=e(43),V=e(226),m=e(53),f=e(487),v=(0,r.__importStar)(e(488));class w extends V.DOMView{constructor(e){const{model:t,parent:i}=e.column;super(Object.assign({model:t,parent:i},e)),this.args=e,this.initialize(),this.render()}get emptyValue(){return null}initialize(){super.initialize(),this.inputEl=this._createInput(),this.defaultValue=null}async lazy_initialize(){throw new Error(\"unsupported\")}css_classes(){return super.css_classes().concat(v.cell_editor)}render(){super.render(),this.args.container.append(this.el),this.el.appendChild(this.inputEl),this.renderEditor(),this.disableNavigation()}renderEditor(){}disableNavigation(){this.inputEl.addEventListener(\"keydown\",(e=>{switch(e.keyCode){case E.Keys.Left:case E.Keys.Right:case E.Keys.Up:case E.Keys.Down:case E.Keys.PageUp:case E.Keys.PageDown:e.stopImmediatePropagation()}}))}destroy(){this.remove()}focus(){this.inputEl.focus()}show(){}hide(){}position(){}getValue(){return this.inputEl.value}setValue(e){this.inputEl.value=e}serializeValue(){return this.getValue()}isValueChanged(){return!(\"\"==this.getValue()&&null==this.defaultValue)&&this.getValue()!==this.defaultValue}applyValue(e,t){const i=this.args.grid.getData(),s=i.index.indexOf(e[f.DTINDEX_NAME]);i.setField(s,this.args.column.field,t)}loadValue(e){const t=e[this.args.column.field];this.defaultValue=null!=t?t:this.emptyValue,this.setValue(this.defaultValue)}validateValue(e){if(this.args.column.validator){const t=this.args.column.validator(e);if(!t.valid)return t}return{valid:!0,msg:null}}validate(){return this.validateValue(this.getValue())}}i.CellEditorView=w,w.__name__=\"CellEditorView\";class g extends m.Model{}i.CellEditor=g,g.__name__=\"CellEditor\";class x extends w{get emptyValue(){return\"\"}_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}}i.StringEditorView=x,x.__name__=\"StringEditorView\";class y extends g{}i.StringEditor=y,l=y,y.__name__=\"StringEditor\",l.prototype.default_view=x,l.define((({String:e,Array:t})=>({completions:[t(e),[]]})));class I extends w{_createInput(){return(0,E.textarea)()}renderEditor(){this.inputEl.focus(),this.inputEl.select()}}i.TextEditorView=I,I.__name__=\"TextEditorView\";class b extends g{}i.TextEditor=b,n=b,b.__name__=\"TextEditor\",n.prototype.default_view=I;class N extends w{_createInput(){return(0,E.select)()}renderEditor(){for(const e of this.model.options)this.inputEl.appendChild((0,E.option)({value:e},e));this.focus()}}i.SelectEditorView=N,N.__name__=\"SelectEditorView\";class C extends g{}i.SelectEditor=C,u=C,C.__name__=\"SelectEditor\",u.prototype.default_view=N,u.define((({String:e,Array:t})=>({options:[t(e),[]]})));class D extends w{_createInput(){return(0,E.input)({type:\"text\"})}}i.PercentEditorView=D,D.__name__=\"PercentEditorView\";class S extends g{}i.PercentEditor=S,d=S,S.__name__=\"PercentEditor\",d.prototype.default_view=D;class k extends w{_createInput(){return(0,E.input)({type:\"checkbox\"})}renderEditor(){this.focus()}loadValue(e){this.defaultValue=!!e[this.args.column.field],this.inputEl.checked=this.defaultValue}serializeValue(){return this.inputEl.checked}}i.CheckboxEditorView=k,k.__name__=\"CheckboxEditorView\";class z extends g{}i.CheckboxEditor=z,o=z,z.__name__=\"CheckboxEditor\",o.prototype.default_view=k;class P extends w{_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){var e;return null!==(e=parseInt(this.getValue(),10))&&void 0!==e?e:0}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return isNaN(e)?{valid:!1,msg:\"Please enter a valid integer\"}:super.validateValue(e)}}i.IntEditorView=P,P.__name__=\"IntEditorView\";class T extends g{}i.IntEditor=T,p=T,T.__name__=\"IntEditor\",p.prototype.default_view=P,p.define((({Int:e})=>({step:[e,1]})));class K extends w{_createInput(){return(0,E.input)({type:\"text\"})}renderEditor(){this.inputEl.focus(),this.inputEl.select()}remove(){super.remove()}serializeValue(){var e;return null!==(e=parseFloat(this.getValue()))&&void 0!==e?e:0}loadValue(e){super.loadValue(e),this.inputEl.defaultValue=this.defaultValue,this.inputEl.select()}validateValue(e){return isNaN(e)?{valid:!1,msg:\"Please enter a valid number\"}:super.validateValue(e)}}i.NumberEditorView=K,K.__name__=\"NumberEditorView\";class A extends g{}i.NumberEditor=A,_=A,A.__name__=\"NumberEditor\",_.prototype.default_view=K,_.define((({Number:e})=>({step:[e,.01]})));class M extends w{_createInput(){return(0,E.input)({type:\"text\"})}}i.TimeEditorView=M,M.__name__=\"TimeEditorView\";class O extends g{}i.TimeEditor=O,c=O,O.__name__=\"TimeEditor\",c.prototype.default_view=M;class F extends w{_createInput(){return(0,E.input)({type:\"text\"})}get emptyValue(){return new Date}renderEditor(){this.inputEl.focus(),this.inputEl.select()}destroy(){super.destroy()}show(){super.show()}hide(){super.hide()}position(){return super.position()}getValue(){}setValue(e){}}i.DateEditorView=F,F.__name__=\"DateEditorView\";class L extends g{}i.DateEditor=L,h=L,L.__name__=\"DateEditor\",h.prototype.default_view=F},\n", - " 487: function _(_,n,i,t,d){t(),i.DTINDEX_NAME=\"__bkdt_internal_index__\"},\n", - " 488: function _(e,l,o,t,r){t(),o.root=\"bk-root\",o.data_table=\"bk-data-table\",o.cell_special_defaults=\"bk-cell-special-defaults\",o.cell_select=\"bk-cell-select\",o.cell_index=\"bk-cell-index\",o.header_index=\"bk-header-index\",o.cell_editor=\"bk-cell-editor\",o.cell_editor_completion=\"bk-cell-editor-completion\",o.default='.bk-root .bk-data-table{box-sizing:content-box;font-size:11px;}.bk-root .bk-data-table input[type=\"checkbox\"]{margin-left:4px;margin-right:4px;}.bk-root .bk-cell-special-defaults{border-right-color:silver;border-right-style:solid;background:#f5f5f5;}.bk-root .bk-cell-select{border-right-color:silver;border-right-style:solid;background:#f5f5f5;}.bk-root .slick-cell.bk-cell-index{border-right-color:silver;border-right-style:solid;background:#f5f5f5;text-align:right;background:#f0f0f0;color:#909090;}.bk-root .bk-header-index .slick-column-name{float:right;}.bk-root .slick-row.selected .bk-cell-index{background-color:transparent;}.bk-root .slick-row.odd{background:#f0f0f0;}.bk-root .slick-cell{padding-left:4px;padding-right:4px;border-right-color:transparent;border:0.25px solid transparent;}.bk-root .slick-cell .bk{line-height:inherit;}.bk-root .slick-cell.active{border-style:dashed;}.bk-root .slick-cell.selected{background-color:#F0F8FF;}.bk-root .slick-cell.editable{padding-left:0;padding-right:0;}.bk-root .bk-cell-editor{display:contents;}.bk-root .bk-cell-editor input,.bk-root .bk-cell-editor select{width:100%;height:100%;border:0;margin:0;padding:0;outline:0;background:transparent;vertical-align:baseline;}.bk-root .bk-cell-editor input{padding-left:4px;padding-right:4px;}.bk-root .bk-cell-editor-completion{font-size:11px;}'},\n", - " 489: function _(t,e,r,n,a){n();const o=t(1);var l,s,i,c,u,m;const _=(0,o.__importDefault)(t(151)),d=(0,o.__importStar)(t(153)),f=t(490),g=t(43),h=t(20),F=t(8),p=t(34),b=t(22),S=t(53);class x extends S.Model{constructor(t){super(t)}doFormat(t,e,r,n,a){return null==r?\"\":`${r}`.replace(/&/g,\"&\").replace(//g,\">\")}}r.CellFormatter=x,x.__name__=\"CellFormatter\";class M extends x{constructor(t){super(t)}doFormat(t,e,r,n,a){const{font_style:o,text_align:l,text_color:s}=this,i=(0,g.div)(null==r?\"\":`${r}`);switch(o){case\"bold\":i.style.fontWeight=\"bold\";break;case\"italic\":i.style.fontStyle=\"italic\"}return null!=l&&(i.style.textAlign=l),null!=s&&(i.style.color=(0,b.color2css)(s)),i.outerHTML}}r.StringFormatter=M,l=M,M.__name__=\"StringFormatter\",l.define((({Color:t,Nullable:e})=>({font_style:[h.FontStyle,\"normal\"],text_align:[h.TextAlign,\"left\"],text_color:[e(t),null]})));class N extends M{constructor(t){super(t)}get scientific_limit_low(){return 10**this.power_limit_low}get scientific_limit_high(){return 10**this.power_limit_high}doFormat(t,e,r,n,a){const o=Math.abs(r)<=this.scientific_limit_low||Math.abs(r)>=this.scientific_limit_high;let l=this.precision;return l<1&&(l=1),r=null!=r&&!isNaN(r)||null==this.nan_format?0==r?(0,p.to_fixed)(r,1):o?r.toExponential(l):(0,p.to_fixed)(r,l):this.nan_format,super.doFormat(t,e,r,n,a)}}r.ScientificFormatter=N,s=N,N.__name__=\"ScientificFormatter\",s.define((({Number:t,String:e,Nullable:r})=>({nan_format:[r(e),null],precision:[t,10],power_limit_high:[t,5],power_limit_low:[t,-3]})));class w extends M{constructor(t){super(t)}doFormat(t,e,r,n,a){const{format:o,language:l,nan_format:s}=this,i=(()=>{switch(this.rounding){case\"round\":case\"nearest\":return Math.round;case\"floor\":case\"rounddown\":return Math.floor;case\"ceil\":case\"roundup\":return Math.ceil}})();return r=null!=r&&!isNaN(r)||null==s?d.format(r,o,l,i):s,super.doFormat(t,e,r,n,a)}}r.NumberFormatter=w,i=w,w.__name__=\"NumberFormatter\",i.define((({String:t,Nullable:e})=>({format:[t,\"0,0\"],language:[t,\"en\"],rounding:[h.RoundingFunction,\"round\"],nan_format:[e(t),null]})));class C extends x{constructor(t){super(t)}doFormat(t,e,r,n,a){return r?(0,g.i)({class:this.icon}).outerHTML:\"\"}}r.BooleanFormatter=C,c=C,C.__name__=\"BooleanFormatter\",c.define((({String:t})=>({icon:[t,\"check\"]})));class y extends M{constructor(t){super(t)}getFormat(){switch(this.format){case\"ATOM\":case\"W3C\":case\"RFC-3339\":case\"ISO-8601\":return\"%Y-%m-%d\";case\"COOKIE\":return\"%a, %d %b %Y\";case\"RFC-850\":return\"%A, %d-%b-%y\";case\"RFC-1123\":case\"RFC-2822\":return\"%a, %e %b %Y\";case\"RSS\":case\"RFC-822\":case\"RFC-1036\":return\"%a, %e %b %y\";case\"TIMESTAMP\":return;default:return this.format}}doFormat(t,e,r,n,a){const{nan_format:o}=this;let l;return l=null!=(r=(0,F.isString)(r)?parseInt(r,10):r)&&!isNaN(r)&&-9223372036854776!==r||null==o?null==r?\"\":(0,_.default)(r,this.getFormat()):o,super.doFormat(t,e,l,n,a)}}r.DateFormatter=y,u=y,y.__name__=\"DateFormatter\",u.define((({String:t,Nullable:e})=>({format:[t,\"ISO-8601\"],nan_format:[e(t),null]})));class T extends x{constructor(t){super(t)}doFormat(t,e,r,n,a){const{template:o}=this;if(null==r)return\"\";return f._.template(o)(Object.assign(Object.assign({},a),{value:r}))}}r.HTMLTemplateFormatter=T,m=T,T.__name__=\"HTMLTemplateFormatter\",m.define((({String:t})=>({template:[t,\"<%= value %>\"]})))},\n", - " 490: function _(e,n,t,f,i){var o=e(491),d=o.template;function r(e,n,t){return d(e,n,t)}r._=o,n.exports=r,\"function\"==typeof define&&define.amd?define((function(){return r})):\"undefined\"==typeof window&&\"undefined\"==typeof navigator||(window.UnderscoreTemplate=r)},\n", - " 491: function _(r,e,n,t,a){\n", - " // (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n", - " // Underscore may be freely distributed under the MIT license.\n", - " var u={},c=Array.prototype,o=Object.prototype,l=c.slice,i=o.toString,f=o.hasOwnProperty,s=c.forEach,p=Object.keys,_=Array.isArray,h=function(){},v=h.each=h.forEach=function(r,e,n){if(null!=r)if(s&&r.forEach===s)r.forEach(e,n);else if(r.length===+r.length){for(var t=0,a=r.length;t\":\">\",'\"':\""\",\"'\":\"'\"}},y={escape:new RegExp(\"[\"+h.keys(g.escape).join(\"\")+\"]\",\"g\")};h.each([\"escape\"],(function(r){h[r]=function(e){return null==e?\"\":(\"\"+e).replace(y[r],(function(e){return g[r][e]}))}})),h.templateSettings={evaluate:/<%([\\s\\S]+?)%>/g,interpolate:/<%=([\\s\\S]+?)%>/g,escape:/<%-([\\s\\S]+?)%>/g};var j=/(.)^/,b={\"'\":\"'\",\"\\\\\":\"\\\\\",\"\\r\":\"r\",\"\\n\":\"n\",\"\\t\":\"t\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},w=/\\\\|'|\\r|\\n|\\t|\\u2028|\\u2029/g;h.template=function(r,e,n){var t;n=h.defaults({},n,h.templateSettings);var a=new RegExp([(n.escape||j).source,(n.interpolate||j).source,(n.evaluate||j).source].join(\"|\")+\"|$\",\"g\"),u=0,c=\"__p+='\";r.replace(a,(function(e,n,t,a,o){return c+=r.slice(u,o).replace(w,(function(r){return\"\\\\\"+b[r]})),n&&(c+=\"'+\\n((__t=(\"+n+\"))==null?'':_.escape(__t))+\\n'\"),t&&(c+=\"'+\\n((__t=(\"+t+\"))==null?'':__t)+\\n'\"),a&&(c+=\"';\\n\"+a+\"\\n__p+='\"),u=o+e.length,e})),c+=\"';\\n\",n.variable||(c=\"with(obj||{}){\\n\"+c+\"}\\n\"),c=\"var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\\n\"+c+\"return __p;\\n\";try{t=new Function(n.variable||\"obj\",\"_\",c)}catch(r){throw r.source=c,r}if(e)return t(e,h);var o=function(r){return t.call(this,r,h)};return o.source=\"function(\"+(n.variable||\"obj\")+\"){\\n\"+c+\"}\",o},e.exports=h},\n", - " 492: function _(e,t,i,s,o){s();const n=e(1);var l;const r=e(493),d=e(497),a=e(498),h=e(499),u=e(34),c=e(8),_=e(9),m=e(13),g=e(19),p=e(508),f=e(487),b=e(509),w=e(510),x=(0,n.__importStar)(e(488)),C=x,v=(0,n.__importDefault)(e(511));i.AutosizeModes={fit_columns:\"FCV\",fit_viewport:\"FVC\",force_fit:\"LFF\",none:\"NOA\"};let z=!1;class A{constructor(e,t){this.init(e,t)}init(e,t){if(f.DTINDEX_NAME in e.data)throw new Error(`special name ${f.DTINDEX_NAME} cannot be used as a data table column`);this.source=e,this.view=t,this.index=[...this.view.indices]}getLength(){return this.index.length}getItem(e){const t={};for(const i of(0,m.keys)(this.source.data))t[i]=this.source.data[i][this.index[e]];return t[f.DTINDEX_NAME]=this.index[e],t}getField(e,t){return t==f.DTINDEX_NAME?this.index[e]:this.source.data[t][this.index[e]]}setField(e,t,i){const s=this.index[e];this.source.patch({[t]:[[s,i]]})}getRecords(){return(0,_.range)(0,this.getLength()).map((e=>this.getItem(e)))}getItems(){return this.getRecords()}slice(e,t,i){return e=null!=e?e:0,t=null!=t?t:this.getLength(),i=null!=i?i:1,(0,_.range)(e,t,i).map((e=>this.getItem(e)))}sort(e){let t=e.map((e=>[e.sortCol.field,e.sortAsc?1:-1]));0==t.length&&(t=[[f.DTINDEX_NAME,1]]);const i=this.getRecords(),s=this.index.slice();this.index.sort(((e,o)=>{for(const[n,l]of t){const t=i[s.indexOf(e)][n],r=i[s.indexOf(o)][n];if(t!==r)return(0,c.isNumber)(t)&&(0,c.isNumber)(r)?l*(t-r||+isNaN(t)-+isNaN(r)):`${t}`>`${r}`?l:-l}return 0}))}}i.TableDataProvider=A,A.__name__=\"TableDataProvider\";class M extends p.WidgetView{constructor(){super(...arguments),this._in_selection_update=!1,this._width=null}connect_signals(){super.connect_signals(),this.connect(this.model.change,(()=>this.render())),this.connect(this.model.source.streaming,(()=>this.updateGrid())),this.connect(this.model.source.patching,(()=>this.updateGrid())),this.connect(this.model.source.change,(()=>this.updateGrid())),this.connect(this.model.source.properties.data.change,(()=>this.updateGrid())),this.connect(this.model.source.selected.change,(()=>this.updateSelection())),this.connect(this.model.source.selected.properties.indices.change,(()=>this.updateSelection()));for(const e of this.model.columns)this.connect(e.change,(()=>{this.invalidate_layout(),this.render()}))}remove(){var e;null===(e=this.grid)||void 0===e||e.destroy(),super.remove()}styles(){return[...super.styles(),v.default,x.default]}update_position(){super.update_position(),this.grid.resizeCanvas()}after_layout(){super.after_layout(),this.updateLayout(!0,!1)}box_sizing(){const e=super.box_sizing();return\"fit_viewport\"===this.model.autosize_mode&&null!=this._width&&(e.width=this._width),e}updateLayout(e,t){const s=this.autosize;s===i.AutosizeModes.fit_columns||s===i.AutosizeModes.force_fit?(e||this.grid.resizeCanvas(),this.grid.autosizeColumns()):e&&t&&s===i.AutosizeModes.fit_viewport&&this.invalidate_layout()}updateGrid(){if(this.model.view.compute_indices(),this.data.init(this.model.source,this.model.view),this.model.sortable){const e=this.grid.getColumns(),t=this.grid.getSortColumns().map((t=>({sortCol:{field:e[this.grid.getColumnIndex(t.columnId)].field},sortAsc:t.sortAsc})));this.data.sort(t)}this.grid.invalidate(),this.updateLayout(!0,!0)}updateSelection(){if(this._in_selection_update)return;const{selected:e}=this.model.source,t=e.indices.map((e=>this.data.index.indexOf(e))).sort();this._in_selection_update=!0,this.grid.setSelectedRows(t),this._in_selection_update=!1;const i=this.grid.getViewport(),s=this.model.get_scroll_index(i,t);null!=s&&this.grid.scrollRowToTop(s)}newIndexColumn(){return{id:(0,u.uniqueId)(),name:this.model.index_header,field:f.DTINDEX_NAME,width:this.model.index_width,behavior:\"select\",cannotTriggerInsert:!0,resizable:!1,selectable:!1,sortable:!0,cssClass:C.cell_index,headerCssClass:C.header_index}}css_classes(){return super.css_classes().concat(C.data_table)}get autosize(){let e;return e=!0===this.model.fit_columns?i.AutosizeModes.force_fit:!1===this.model.fit_columns?i.AutosizeModes.none:i.AutosizeModes[this.model.autosize_mode],e}render(){var e;const t=this.model.columns.filter((e=>e.visible)).map((e=>Object.assign(Object.assign({},e.toColumn()),{parent:this})));let s=null;if(\"checkbox\"==this.model.selectable&&(s=new d.CheckboxSelectColumn({cssClass:C.cell_select}),t.unshift(s.getColumnDefinition())),null!=this.model.index_position){const e=this.model.index_position,i=this.newIndexColumn();-1==e?t.push(i):e<-1?t.splice(e+1,0,i):t.splice(e,0,i)}let{reorderable:o}=this.model;!o||\"undefined\"!=typeof $&&null!=$.fn&&null!=$.fn.sortable||(z||(g.logger.warn(\"jquery-ui is required to enable DataTable.reorderable\"),z=!0),o=!1);let n=-1,l=!1;const{frozen_rows:u,frozen_columns:_}=this.model,m=null==_?-1:_-1;null!=u&&(l=u<0,n=Math.abs(u));const p={enableCellNavigation:!1!==this.model.selectable,enableColumnReorder:o,autosizeColsMode:this.autosize,multiColumnSort:this.model.sortable,editable:this.model.editable,autoEdit:this.model.auto_edit,autoHeight:!1,rowHeight:this.model.row_height,frozenColumn:m,frozenRow:n,frozenBottom:l},f=null!=this.grid;if(this.data=new A(this.model.source,this.model.view),this.grid=new h.Grid(this.el,this.data,t,p),this.autosize==i.AutosizeModes.fit_viewport){this.grid.autosizeColumns();let i=0;for(const s of t)i+=null!==(e=s.width)&&void 0!==e?e:0;this._width=Math.ceil(i)}if(this.grid.onSort.subscribe(((e,t)=>{if(!this.model.sortable)return;const i=t.sortCols;null!=i&&(this.data.sort(i),this.grid.invalidate(),this.updateSelection(),this.grid.render(),this.model.header_row||this._hide_header(),this.model.update_sort_columns(i))})),!1!==this.model.selectable){this.grid.setSelectionModel(new r.RowSelectionModel({selectActiveRow:null==s})),null!=s&&this.grid.registerPlugin(s);const e={dataItemColumnValueExtractor(e,t){let i=e[t.field];return(0,c.isString)(i)&&(i=i.replace(/\\n/g,\"\\\\n\")),i},includeHeaderWhenCopying:!1};this.grid.registerPlugin(new a.CellExternalCopyManager(e)),this.grid.onSelectedRowsChanged.subscribe(((e,t)=>{this._in_selection_update||(this.model.source.selected.indices=t.rows.map((e=>this.data.index[e])))})),this.updateSelection(),this.model.header_row||this._hide_header()}f&&this.updateLayout(f,!1)}_hide_header(){for(const e of this.el.querySelectorAll(\".slick-header-columns\"))e.style.height=\"0px\";this.grid.resizeCanvas()}}i.DataTableView=M,M.__name__=\"DataTableView\";class D extends b.TableWidget{constructor(e){super(e),this._sort_columns=[]}get sort_columns(){return this._sort_columns}update_sort_columns(e){this._sort_columns=e.map((({sortCol:e,sortAsc:t})=>({field:e.field,sortAsc:t})))}get_scroll_index(e,t){return this.scroll_to_selection&&0!=t.length?(0,_.some)(t,(t=>e.top<=t&&t<=e.bottom))?null:Math.max(0,Math.min(...t)-1):null}}i.DataTable=D,l=D,D.__name__=\"DataTable\",l.prototype.default_view=M,l.define((({Array:e,Boolean:t,Int:i,Ref:s,String:o,Enum:n,Or:l,Nullable:r})=>({autosize_mode:[n(\"fit_columns\",\"fit_viewport\",\"none\",\"force_fit\"),\"force_fit\"],auto_edit:[t,!1],columns:[e(s(w.TableColumn)),[]],fit_columns:[r(t),null],frozen_columns:[r(i),null],frozen_rows:[r(i),null],sortable:[t,!0],reorderable:[t,!0],editable:[t,!1],selectable:[l(t,n(\"checkbox\")),!0],index_position:[r(i),0],index_header:[o,\"#\"],index_width:[i,40],scroll_to_selection:[t,!0],header_row:[t,!0],row_height:[i,25]}))),l.override({width:600,height:400})},\n", - " 493: function _(e,t,n,o,r){var l=e(494),i=e(496);t.exports={RowSelectionModel:function(e){var t,n,o,r=[],c=this,u=new i.EventHandler,s={selectActiveRow:!0};function a(e){return function(){n||(n=!0,e.apply(this,arguments),n=!1)}}function f(e){for(var t=[],n=0;n=0&&r0&&t-1 in e)}w.fn=w.prototype={jquery:b,constructor:w,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(w.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(w.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|[\\\\x20\\\\t\\\\r\\\\n\\\\f])[\\\\x20\\\\t\\\\r\\\\n\\\\f]*\"),U=new RegExp(M+\"|>\"),X=new RegExp(F),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+F),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\([\\\\x20\\\\t\\\\r\\\\n\\\\f]*(even|odd|(([+-]|)(\\\\d*)n|)[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(?:([+-]|)[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(\\\\d+)|))[\\\\x20\\\\t\\\\r\\\\n\\\\f]*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^[\\\\x20\\\\t\\\\r\\\\n\\\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\([\\\\x20\\\\t\\\\r\\\\n\\\\f]*((?:-\\\\d)?\\\\d*)[\\\\x20\\\\t\\\\r\\\\n\\\\f]*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}[\\\\x20\\\\t\\\\r\\\\n\\\\f]?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()}),{dir:\"parentNode\",next:\"legend\"});try{H.apply(D=O.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}catch(e){H={apply:D.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],\"string\"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return H.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return H.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+\" \"]&&(!v||!v.test(e))&&(1!==w||\"object\"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute(\"id\"))?c=c.replace(re,ie):t.setAttribute(\"id\",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?\"#\"+c:\":scope\")+\" \"+xe(h[s]);y=h.join(\",\")}try{return H.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute(\"id\")}}}return u(e.replace($,\"$1\"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split(\"|\"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return\"input\"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function ge(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener(\"unload\",oe,!1):i.attachEvent&&i.attachEvent(\"onunload\",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement(\"div\")),void 0!==e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length})),n.attributes=ce((function(e){return e.className=\"i\",!e.getAttribute(\"className\")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment(\"\")),!e.getElementsByTagName(\"*\").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+b+\"-]\").length||v.push(\"~=\"),(t=d.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[[\\\\x20\\\\t\\\\r\\\\n\\\\f]*name[\\\\x20\\\\t\\\\r\\\\n\\\\f]*=[\\\\x20\\\\t\\\\r\\\\n\\\\f]*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+b+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")})),ce((function(e){e.innerHTML=\"\";var t=d.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name[\\\\x20\\\\t\\\\r\\\\n\\\\f]*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,\"*\"),m.call(e,\"[s!='']:x\"),y.push(\"!=\",F)})),v=v.length&&new RegExp(v.join(\"|\")),y=y.length&&new RegExp(y.join(\"|\")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+\" \"]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n=\"\",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},r=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+\" \"];return t||(t=new RegExp(\"(^|[\\\\x20\\\\t\\\\r\\\\n\\\\f])\"+e+\"(\"+M+\"|$)\"))&&E(e,(function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?\"!=\"===t:!t||(i+=\"\",\"=\"===t?i===n:\"!=\"===t?i!==n:\"^=\"===t?n&&0===i.indexOf(n):\"*=\"===t?n&&i.indexOf(n)>-1:\"$=\"===t?n&&i.slice(-n.length)===n:\"~=\"===t?(\" \"+i.replace(B,\" \")+\" \").indexOf(n)>-1:\"|=\"===t&&(i===n||i.slice(0,n.length+1)===n+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),s=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?\"nextSibling\":\"previousSibling\",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return i[b]?i(t):i.length>1?(n=[e,e,\"\",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace($,\"$1\"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||\"\")||se.error(\"unsupported lang: \"+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)}))}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[\" \"],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:\" \"===e[u-2].type?\"*\":\"\"})).replace($,\"$1\"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m=\"0\",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG(\"*\",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=q.call(u));b=Te(b)}H.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i)),s.selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p=\"function\"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&\"ID\"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=G.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return H.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split(\"\").sort(N).join(\"\")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement(\"fieldset\"))})),ce((function(e){return e.innerHTML=\"\",\"#\"===e.firstChild.getAttribute(\"href\")}))||fe(\"type|href|height|width\",(function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")}))||fe(\"value\",(function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute(\"disabled\")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(e);w.find=C,w.expr=C.selectors,w.expr[\":\"]=w.expr.pseudos,w.uniqueSort=w.unique=C.uniqueSort,w.text=C.getText,w.isXMLDoc=C.isXML,w.contains=C.contains,w.escapeSelector=C.escape;var E=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=w.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function j(e,t,n){return h(t)?w.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?w.grep(e,(function(e){return e===t!==n})):\"string\"!=typeof t?w.grep(e,(function(e){return s.call(t,e)>-1!==n})):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,(function(e){return 1===e.nodeType})))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(w(e).filter((function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,\"string\"==typeof e&&k.test(e)?w(e):e||[],!1).length}});var D,q=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(w.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),N.test(r[1])&&w.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,D=w(v);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,\"parentNode\")},parentsUntil:function(e,t,n){return E(e,\"parentNode\",n)},next:function(e){return O(e,\"nextSibling\")},prev:function(e){return O(e,\"previousSibling\")},nextAll:function(e){return E(e,\"nextSibling\")},prevAll:function(e){return E(e,\"previousSibling\")},nextUntil:function(e,t,n){return E(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return E(e,\"previousSibling\",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,\"template\")&&(e=e.content||e),w.merge([],e.childNodes))}},(function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(i=w.filter(r,i)),this.length>1&&(H[e]||w.uniqueSort(i),L.test(e)&&i.reverse()),this.pushStack(i)}}));var P=/[^\\x20\\t\\r\\n\\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return w.each(e.match(P)||[],(function(e,n){t[n]=!0})),t}(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n=\"\",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=\"\"),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},w.extend({Deferred:function(t){var n=[[\"notify\",\"progress\",w.Callbacks(\"memory\"),w.Callbacks(\"memory\"),2],[\"resolve\",\"done\",w.Callbacks(\"once memory\"),w.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",w.Callbacks(\"once memory\"),w.Callbacks(\"once memory\"),1,\"rejected\"]],r=\"pending\",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred((function(t){w.each(n,(function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+\"With\"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==M&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred((function(e){n[0][3].add(a(0,e,h(i)?i:R,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:R)),n[2][3].add(a(0,e,h(r)?r:M))})).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,(function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add((function(){r=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+\"With\"](this===o?void 0:this,arguments),this},o[t[0]+\"With\"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(I(e,a.done(s(n)).resolve,a.reject,!t),\"pending\"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)I(o[n],s(n),a.reject);return a.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&W.test(t.name)&&e.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout((function(){throw t}))};var F=w.Deferred();function B(){v.removeEventListener(\"DOMContentLoaded\",B),e.removeEventListener(\"load\",B),w.ready()}w.fn.ready=function(e){return F.then(e).catch((function(e){w.readyException(e)})),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(v,[w]))}}),w.ready.then=F.then,\"complete\"===v.readyState||\"loading\"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(w.ready):(v.addEventListener(\"DOMContentLoaded\",B),e.addEventListener(\"load\",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===x(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){Q.remove(this,e)}))}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,(function(){w.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Y.get(e,n)||Y.access(e,n,{empty:w.Callbacks(\"once memory\").add((function(){Y.remove(e,[t+\"queue\",n])}))})}}),w.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length\\x20\\t\\r\\n\\f]*)/i,ge=/^$|^module$|\\/(?:java|ecma)script/i;fe=v.createDocumentFragment().appendChild(v.createElement(\"div\")),(pe=v.createElement(\"input\")).setAttribute(\"type\",\"radio\"),pe.setAttribute(\"checked\",\"checked\"),pe.setAttribute(\"name\",\"t\"),fe.appendChild(pe),d.checkClone=fe.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.innerHTML=\"\",d.noCloneChecked=!!fe.cloneNode(!0).lastChild.defaultValue,fe.innerHTML=\"\",d.option=!!fe.lastChild;var ve={thead:[1,\"\",\"
    \"],col:[2,\"\",\"
    \"],tr:[2,\"\",\"
    \"],td:[3,\"\",\"
    \"],_default:[0,\"\",\"\"]};function ye(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?w.merge([e],n):n}function me(e,t){for(var n=0,r=e.length;n\",\"\"]);var xe=/<|&#?\\w+;/;function be(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d-1)i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),\"script\"),l&&me(a),n)for(c=0;o=a[c++];)ge.test(o.type||\"\")&&n.push(o);return f}var we=/^([^.]*)(?:\\.(.+)|)/;function Te(){return!0}function Ce(){return!1}function Ee(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==(\"focus\"===t)}function Se(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ce;else if(!i)return e;return 1===o&&(a=i,i=function(e){return w().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=w.guid++)),e.each((function(){w.event.add(this,t,i,r,n)}))}function ke(e,t,n){n?(Y.set(e,t,!1),w.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=Y.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(w.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),Y.set(this,t,a),r=n(this,t),this[t](),a!==(o=Y.get(this,t))||r?Y.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(Y.set(this,t,{value:w.event.trigger(w.extend(a[0],w.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,t)&&w.event.add(e,t,Te)}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(e);if(V(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(re,i),n.guid||(n.guid=w.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||\"\").match(P)||[\"\"]).length;l--;)d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){for(l=(t=(t||\"\").match(P)||[\"\"]).length;l--;)if(d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){for(f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&Y.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=w.event.fix(e),l=(Y.get(this,\"events\")||Object.create(null))[u.type]||[],c=w.event.special[u.type]||{};for(s[0]=u,t=1;t=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\\s*$/g;function De(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&w(e).children(\"tbody\")[0]||e}function qe(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function Le(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function He(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n1&&\"string\"==typeof v&&!d.checkClone&&Ne.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Pe(o,t,n,r)}));if(p&&(a=(i=be(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=w.map(ye(i,\"script\"),qe)).length;f0&&me(a,!u&&ye(e,\"script\")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,(function(e){return void 0===e?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Pe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||De(this,e).appendChild(e)}))},prepend:function(){return Pe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=De(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return w.clone(this,e,t)}))},html:function(e){return $(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Ae.test(e)&&!ve[(he.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!d.boxSizingReliable()||n)&&\"border-box\"===w.css(e,\"boxSizing\",!1,r),o=i,a=Be(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a=\"auto\"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&A(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===w.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===w.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(w.cssNumber[s]?\"\":\"px\")),d.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),\"normal\"===i&&t in Qe&&(i=Qe[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each([\"height\",\"width\"],(function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!Ve.test(w.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,t,r):We(e,Ye,(function(){return Ze(e,t,r)}))},set:function(e,n,r){var i,o=Ie(e),a=!d.scrollboxSize()&&\"absolute\"===o.position,s=(a||r)&&\"border-box\"===w.css(e,\"boxSizing\",!1,o),u=r?Ke(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ke(e,t,\"border\",!1,o)-.5)),u&&(i=te.exec(n))&&\"px\"!==(i[3]||\"px\")&&(e.style[t]=n,n=w.css(e,t)),Je(0,n,u)}}})),w.cssHooks.marginLeft=$e(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Be(e,\"marginLeft\"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+\"px\"})),w.each({margin:\"\",padding:\"\",border:\"Width\"},(function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)i[e+ne[r]+t]=o[r]||o[r-2]||o[0];return i}},\"margin\"!==e&&(w.cssHooks[e+t].set=Je)})),w.fn.extend({css:function(e,t){return $(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a1)}}),w.Tween=et,et.prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?\"\":\"px\")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}},et.prototype.init.prototype=et.prototype,et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||!w.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},et.propHooks.scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},w.fx=et.prototype.init,w.fx.step={};var tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){nt&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(ot):e.setTimeout(ot,w.fx.interval),w.fx.tick())}function at(){return e.setTimeout((function(){tt=void 0})),tt=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=ne[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners[\"*\"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){w.removeAttr(this,e)}))}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&\"radio\"===t&&A(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\\w+/g),(function(e,t){var n=ft[t]||w.find.attr;ft[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ft[a],ft[a]=i,i=null!=n(e,t,r)?a:null,ft[a]=o),i}}));var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(\" \")}function gt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function vt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(P)||[]}w.fn.extend({prop:function(e,t){return $(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[w.propFix[e]||e]}))}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,\"tabindex\");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),d.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],(function(){w.propFix[this.toLowerCase()]=this})),w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){w(this).addClass(e.call(this,t,gt(this)))}));if((t=vt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&\" \"+ht(i)+\" \"){for(a=0;o=t[a++];)r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=ht(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){w(this).removeClass(e.call(this,t,gt(this)))}));if(!arguments.length)return this.attr(\"class\",\"\");if((t=vt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&\" \"+ht(i)+\" \"){for(a=0;o=t[a++];)for(;r.indexOf(\" \"+o+\" \")>-1;)r=r.replace(\" \"+o+\" \",\" \");i!==(s=ht(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(e,t){var n=typeof e,r=\"string\"===n||Array.isArray(e);return\"boolean\"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each((function(n){w(this).toggleClass(e.call(this,n,gt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=w(this),a=vt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&\"boolean\"!==n||((t=gt(this))&&Y.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":Y.get(this,\"__className__\")||\"\"))}))},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+ht(gt(n))+\" \").indexOf(t)>-1)return!0;return!1}});var yt=/\\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i=\"\":\"number\"==typeof i?i+=\"\":Array.isArray(i)&&(i=w.map(i,(function(e){return null==e?\"\":e+\"\"}))),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,i,\"value\")||(this.value=i))}))):i?(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(i,\"value\"))?n:\"string\"==typeof(n=i.value)?n.replace(yt,\"\"):null==n?\"\":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,\"value\");return null!=t?t:ht(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each([\"radio\",\"checkbox\"],(function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},d.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})})),d.focusin=\"onfocusin\"in e;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,\"type\")?t.type:t,x=c.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!mt.test(m+w.event.triggered)&&(m.indexOf(\".\")>-1&&(x=m.split(\".\"),m=x.shift(),x.sort()),l=m.indexOf(\":\")<0&&\"on\"+m,(t=t[w.expando]?t:new w.Event(m,\"object\"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+x.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,mt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(Y.get(a,\"events\")||Object.create(null))[t.type]&&Y.get(a,\"handle\"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&V(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!V(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),w.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,xt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,xt),w.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each((function(){w.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),d.focusin||w.each({focus:\"focusin\",blur:\"focusout\"},(function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=Y.access(r,t);i||r.addEventListener(e,n,!0),Y.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=Y.access(r,t)-1;i?Y.access(r,t,i):(r.removeEventListener(e,n,!0),Y.remove(r,t))}}}));var bt=e.location,wt={guid:Date.now()},Tt=/\\?/;w.parseXML=function(t){var n,r;if(!t||\"string\"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,\"text/xml\")}catch(e){}return r=n&&n.getElementsByTagName(\"parsererror\")[0],n&&!r||w.error(\"Invalid XML: \"+(r?w.map(r.childNodes,(function(e){return e.textContent})).join(\"\\n\"):t)),n};var Ct=/\\[\\]$/,Et=/\\r?\\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(e,t,n,r){var i;if(Array.isArray(t))w.each(t,(function(t,i){n||Ct.test(e)?r(e,i):At(e+\"[\"+(\"object\"==typeof i&&null!=i?t:\"\")+\"]\",i,n,r)}));else if(n||\"object\"!==x(t))r(e,t);else for(i in t)At(e+\"[\"+i+\"]\",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,(function(){i(this.name,this.value)}));else for(n in e)At(n,e[n],t,i);return r.join(\"&\")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=w.prop(this,\"elements\");return e?w.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!w(this).is(\":disabled\")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!de.test(e))})).map((function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,(function(e){return{name:t.name,value:e.replace(Et,\"\\r\\n\")}})):{name:t.name,value:n.replace(Et,\"\\r\\n\")}})).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\\/\\//,Ot={},Pt={},Rt=\"*/\".concat(\"*\"),Mt=v.createElement(\"a\");function It(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,i=0,o=t.toLowerCase().match(P)||[];if(h(n))for(;r=o[i++];)\"+\"===r[0]?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Wt(e,t,n,r){var i={},o=e===Pt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],(function(e,s){var l=s(t,n,r);return\"string\"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i[\"*\"]&&a(\"*\")}function Ft(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}Mt.href=bt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Rt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,w.ajaxSettings),t):Ft(w.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(t,n){\"object\"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=w.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jquery)?w(h):w.event,y=w.Deferred(),m=w.Callbacks(\"once memory\"),x=d.statusCode||{},b={},T={},C=\"canceled\",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=qt.exec(o);)a[t[1].toLowerCase()+\" \"]=(a[t[1].toLowerCase()+\" \"]||[]).concat(t[2]);t=a[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||bt.href)+\"\").replace(Ht,bt.protocol+\"//\"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||\"*\").toLowerCase().match(P)||[\"\"],null==d.crossDomain){u=v.createElement(\"a\");try{u.href=d.url,u.href=u.href,d.crossDomain=Mt.protocol+\"//\"+Mt.host!=u.protocol+\"//\"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&\"string\"!=typeof d.data&&(d.data=w.param(d.data,d.traditional)),Wt(Ot,d,n,E),l)return E;for(f in(c=w.event&&d.global)&&0==w.active++&&w.event.trigger(\"ajaxStart\"),d.type=d.type.toUpperCase(),d.hasContent=!Lt.test(d.type),i=d.url.replace(jt,\"\"),d.hasContent?d.data&&d.processData&&0===(d.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(d.data=d.data.replace(Nt,\"+\")):(p=d.url.slice(i.length),d.data&&(d.processData||\"string\"==typeof d.data)&&(i+=(Tt.test(i)?\"&\":\"?\")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Dt,\"$1\"),p=(Tt.test(i)?\"&\":\"?\")+\"_=\"+wt.guid+++p),d.url=i+p),d.ifModified&&(w.lastModified[i]&&E.setRequestHeader(\"If-Modified-Since\",w.lastModified[i]),w.etag[i]&&E.setRequestHeader(\"If-None-Match\",w.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader(\"Content-Type\",d.contentType),E.setRequestHeader(\"Accept\",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(\"*\"!==d.dataTypes[0]?\", \"+Rt+\"; q=0.01\":\"\"):d.accepts[\"*\"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C=\"abort\",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Wt(Pt,d,n,E)){if(E.readyState=1,c&&g.trigger(\"ajaxSend\",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout((function(){E.abort(\"timeout\")}),d.timeout));try{l=!1,r.send(b,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,\"No Transport\");function S(t,n,a,u){var f,p,v,b,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||\"\",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(b=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;\"*\"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&w.inArray(\"script\",d.dataTypes)>-1&&w.inArray(\"json\",d.dataTypes)<0&&(d.converters[\"text script\"]=function(){}),b=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(d,b,E,f),f?(d.ifModified&&((T=E.getResponseHeader(\"Last-Modified\"))&&(w.lastModified[i]=T),(T=E.getResponseHeader(\"etag\"))&&(w.etag[i]=T)),204===t||\"HEAD\"===d.type?C=\"nocontent\":304===t?C=\"notmodified\":(C=b.state,p=b.data,f=!(v=b.error))):(v=C,!t&&C||(C=\"error\",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+\"\",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?\"ajaxSuccess\":\"ajaxError\",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger(\"ajaxComplete\",[E,d]),--w.active||w.event.trigger(\"ajaxStop\")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,\"json\")},getScript:function(e,t){return w.get(e,void 0,t,\"script\")}}),w.each([\"get\",\"post\"],(function(e,t){w[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}})),w.ajaxPrefilter((function(e){var t;for(t in e.headers)\"content-type\"===t.toLowerCase()&&(e.contentType=e.headers[t]||\"\")})),w._evalUrl=function(e,t,n){return w.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){w.globalEval(e,t,n)}})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return h(e)?this.each((function(t){w(this).wrapInner(e.call(this,t))})):this.each((function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=h(e);return this.each((function(n){w(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not(\"body\").each((function(){w(this).replaceWith(this.childNodes)})),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=w.ajaxSettings.xhr();d.cors=!!$t&&\"withCredentials\"in $t,d.ajax=$t=!!$t,w.ajaxTransport((function(t){var n,r;if(d.cors||$t&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i[\"X-Requested-With\"]||(i[\"X-Requested-With\"]=\"XMLHttpRequest\"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,\"abort\"===e?s.abort():\"error\"===e?\"number\"!=typeof s.status?o(0,\"error\"):o(s.status,s.statusText):o(Bt[s.status]||s.status,s.statusText,\"text\"!==(s.responseType||\"text\")||\"string\"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n(\"error\"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&r()}))},n=n(\"abort\");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),w.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),w.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter(\"script\",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")})),w.ajaxTransport(\"script\",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=w(\"