diff -pruN 8.1.1-4/.bumpversion.cfg 8.6.1-1/.bumpversion.cfg
--- 8.1.1-4/.bumpversion.cfg	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/.bumpversion.cfg	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,17 @@
+[bumpversion]
+current_version = 8.6.1
+commit = True
+tag = True
+tag_name = {new_version}
+
+[bumpversion:file:pyproject.toml]
+
+[bumpversion:file:README.md]
+
+[bumpversion:file:CITATION.cff]
+
+[bumpversion:file:docs/index.rst]
+
+[bumpversion:file:docs/conf.py]
+
+[bumpversion:file:deepdiff/__init__.py]
diff -pruN 8.1.1-4/.direnvrc.example 8.6.1-1/.direnvrc.example
--- 8.1.1-4/.direnvrc.example	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/.direnvrc.example	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,11 @@
+function load_venv () {
+    ACTUAL_VENV_PATH="$HOME/.venvs/$1"
+
+    if [ -d "$ACTUAL_VENV_PATH" ] && [ -f "$ACTUAL_VENV_PATH/bin/activate" ]; then
+      echo "direnv: Activating $ACTUAL_VENV_PATH..."
+      source "$ACTUAL_VENV_PATH/bin/activate"
+      export UV_PROJECT_ENVIRONMENT="$ACTUAL_VENV_PATH"
+    else
+      echo "direnv: Virtual environment at $ACTUAL_VENV_PATH not found or is incomplete."
+    fi
+}
diff -pruN 8.1.1-4/.envrc.example 8.6.1-1/.envrc.example
--- 8.1.1-4/.envrc.example	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/.envrc.example	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1 @@
+load_venv deep
diff -pruN 8.1.1-4/.github/workflows/main.yaml 8.6.1-1/.github/workflows/main.yaml
--- 8.1.1-4/.github/workflows/main.yaml	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/.github/workflows/main.yaml	2025-09-03 19:38:30.000000000 +0000
@@ -1,81 +1,58 @@
-name: Unit Tests
+name: CI
 
 on:
-  push:
-    branches: [ "master", "dev" ]
-  pull_request:
-    branches: [ "master", "dev" ]
+  push:    { branches: [master, dev] }
+  pull_request: { branches: [master, dev] }
 
 jobs:
   build:
-
     runs-on: ubuntu-latest
+    env:
+      DEFAULT_PYTHON: '3.12'
     strategy:
       matrix:
-        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
-        architecture: ["x64"]
+        python-version: ['3.9','3.10','3.11','3.12','3.13']
+        architecture: ['x64']
+
     steps:
-    - uses: actions/checkout@v2
-    - name: Setup Python ${{ matrix.python-version }} on ${{ matrix.architecture }}
-      uses: actions/setup-python@v2
-      with:
-        python-version: ${{ matrix.python-version }}
-        architecture: ${{ matrix.architecture }}
-    - name: Cache pip 3.8
-      if: matrix.python-version == 3.8
-      uses: actions/cache@v2
-      with:
-        # This path is specific to Ubuntu
-        path: ~/.cache/pip
-        # Look to see if there is a cache hit for the corresponding requirements file
-        key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}-${{ hashFiles('requirements-dev3.8.txt') }}
-        restore-keys: |
-          ${{ runner.os }}-pip-
-          ${{ runner.os }}-
-    - name: Cache pip
-      if: matrix.python-version != 3.8
-      uses: actions/cache@v2
-      with:
-        # This path is specific to Ubuntu
-        path: ~/.cache/pip
-        # Look to see if there is a cache hit for the corresponding requirements file
-        key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}-${{ hashFiles('requirements-dev.txt') }}
-        restore-keys: |
-          ${{ runner.os }}-pip-
-          ${{ runner.os }}-
-    - name: Upgrade setuptools
-      if: matrix.python-version => 3.12
-      run: |
-        # workaround for 3.13, SEE: https://github.com/pypa/setuptools/issues/3661#issuecomment-1813845177
-        pip install --upgrade setuptools
-    - name: Install dependencies
-      if: matrix.python-version > 3.9
-      run: pip install -r requirements-dev.txt
-    - name: Install dependencies
-      if: matrix.python-version <= 3.9
-      run: pip install -r requirements-dev3.8.txt
-    - name: Lint with flake8
-      if: matrix.python-version == 3.13
-      run: |
-        # stop the build if there are Python syntax errors or undefined names
-        flake8 deepdiff --count --select=E9,F63,F7,F82 --show-source --statistics
-        # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
-        flake8 deepdiff --count --exit-zero --max-complexity=26 --max-line-lengt=250 --statistics
-    - name: Test with pytest and get the coverage
-      if: matrix.python-version == 3.13
-      run: |
-        pytest --benchmark-disable --cov-report=xml --cov=deepdiff tests/ --runslow
-    - name: Test with pytest and no coverage report
-      if: matrix.python-version != 3.13
-      run: |
-        pytest --benchmark-disable
-    - name: Upload coverage to Codecov
-      uses: codecov/codecov-action@v4
-      if: matrix.python-version == 3.13
-      env:
-        CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
-      with:
-        file: ./coverage.xml
-        token: ${{ secrets.CODECOV_TOKEN }}
-        env_vars: OS,PYTHON
-        fail_ci_if_error: true
+      - uses: actions/checkout@v3
+
+      - name: Setup Python
+        uses: actions/setup-python@v4
+        with:
+          python-version: ${{ matrix.python-version }}
+          architecture: ${{ matrix.architecture }}
+          cache: pip
+          cache-dependency-path: pyproject.toml
+
+      - name: Install nox
+        run: pip install nox==2025.5.1
+
+      - name: Lint with flake8
+        if: ${{ matrix.python-version == '3.12' }}
+        run: |
+          nox -s flake8 -- deepdiff --count --select=E9,F63,F7,F82 --show-source --statistics
+          nox -s flake8 -- deepdiff --count --exit-zero --max-complexity=26 --max-line-length=250 --statistics
+
+      - name: Test with pytest (no coverage)
+        if: ${{ matrix.python-version != '3.12' }}
+        run: |
+          nox -s pytest-${{ matrix.python-version }} -- --benchmark-disable tests/
+
+      - name: Test with pytest (+ coverage)
+        if: ${{ matrix.python-version == '3.12' }}
+        run: |
+          nox -s pytest-${{ matrix.python-version }} -- \
+            --benchmark-disable \
+            --cov-report=xml \
+            --cov=deepdiff \
+            tests/ --runslow
+
+      - name: Upload coverage
+        if: ${{ matrix.python-version == '3.12' }}
+        uses: codecov/codecov-action@v4
+        with:
+          token: ${{ secrets.CODECOV_TOKEN }}
+          file: coverage.xml
+          env_vars: OS,PYTHON
+          fail_ci_if_error: true
diff -pruN 8.1.1-4/.gitignore 8.6.1-1/.gitignore
--- 8.1.1-4/.gitignore	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/.gitignore	2025-09-03 19:38:30.000000000 +0000
@@ -9,6 +9,7 @@ __pycache__/
 # Distribution / packaging
 .Python
 env/
+.venv
 build/
 develop-eggs/
 dist/
@@ -69,3 +70,8 @@ temp*
 
 # env file
 .env
+
+pyrightconfig.json
+
+# direnv file
+.envrc
diff -pruN 8.1.1-4/AUTHORS.md 8.6.1-1/AUTHORS.md
--- 8.1.1-4/AUTHORS.md	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/AUTHORS.md	2025-09-03 19:38:30.000000000 +0000
@@ -72,3 +72,7 @@ Authors in order of the timeline of thei
 - [Doron Behar](https://github.com/doronbehar) for fixing DeepHash for numpy booleans via #496 
 - [Aaron D. Marasco](https://github.com/AaronDMarasco) for adding print() options which allows a user-defined string (or callback function) to prefix every output when using the pretty() call.
 - [David Hotham](https://github.com/dimbleby) for relaxing orderly-set dependency via #486 
+- [dtorres-sf](https://github.com/dtorres-sf) for the fix for moving nested tables when using iterable_compare_func.
+- [Jim Cipar](https://github.com/jcipar) for the fix recursion depth limit when hashing numpy.datetime64
+- [Enji Cooper](https://github.com/ngie-eign) for converting legacy setuptools use to pyproject.toml
+- [Diogo Correia](https://github.com/diogotcorreia) for reporting security vulnerability in Delta and DeepDiff that could allow remote code execution.
diff -pruN 8.1.1-4/CHANGELOG.md 8.6.1-1/CHANGELOG.md
--- 8.1.1-4/CHANGELOG.md	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/CHANGELOG.md	2025-09-03 19:38:30.000000000 +0000
@@ -1,5 +1,58 @@
 # DeepDiff Change log
 
+- v8-6-1
+    - Patched security vulnerability in the Delta class which was vulnerable to class pollution via its constructor, and when combined with a gadget available in DeltaDiff itself, it could lead to Denial of Service and Remote Code Execution (via insecure Pickle deserialization).
+
+
+- v8-6-0
+    - Added Colored View thanks to @mauvilsa 
+    - Added support for applying deltas to NamedTuple thanks to @paulsc 
+    - Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
+    - Added python property serialization to json
+    - Added ip address serialization
+    - Switched to UV from pip
+    - Added Claude.md
+    - Added uuid hashing thanks to @akshat62
+    - Added `ignore_uuid_types` flag to DeepDiff to avoid type reports when comparing UUID and string.
+    - Added comprehensive type hints across the codebase (multiple commits for better type safety)
+    - Added support for memoryview serialization
+    - Added support for bytes serialization (non-UTF8 compatible)
+    - Fixed bug where group_by with numbers would leak type info into group path reports
+    - Fixed bug in `_get_clean_to_keys_mapping without` explicit significant digits
+    - Added support for python dict key serialization
+    - Enhanced support for IP address serialization with safe module imports
+    - Added development tooling improvements (pyright config, .envrc example)
+    - Updated documentation and development instructions
+
+- v8-5-0
+    - Updating deprecated pydantic calls
+    - Switching to pyproject.toml
+    - Fix for moving nested tables when using iterable_compare_func.  by 
+    - Fix recursion depth limit when hashing numpy.datetime64
+    - Moving from legacy setuptools use to pyproject.toml
+
+- v8-4-2
+    - fixes the type hints for the base
+    - fixes summarize so if json dumps fails, we can still get a repr of the results
+    - adds ipaddress support
+
+- v8-4-1
+    - Adding BaseOperatorPlus base class for custom operators
+    - default_timezone can be passed now to set your default timezone to something other than UTC.
+    - New summarization algorithm that produces valid json
+    - Better type hint support
+    - Breaking change in DeepHash where we raise Exception instead of logging if we can't hash a value.
+    - Added the log_stacktrace parameter to DeepDiff. When True, it will log the stacktrace along with the error.
+
+
+- v8-3-0
+    - Fixed some static typing issues
+    - Added the summarize module for better repr of nested values
+
+- v8-2-0
+    - Small optimizations so we don't load functions that are not needed
+    - Updated the minimum version of Orderly-set 
+    - Normalize all datetimes into UTC. Assume timezone naive datetimes are UTC. 
 
 - v8-1-0
     - Removing deprecated lines from setup.py
diff -pruN 8.1.1-4/CITATION.cff 8.6.1-1/CITATION.cff
--- 8.1.1-4/CITATION.cff	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/CITATION.cff	2025-09-03 19:38:30.000000000 +0000
@@ -5,6 +5,6 @@ authors:
   given-names: "Sep"
   orcid: "https://orcid.org/0009-0009-5828-4345"
 title: "DeepDiff"
-version: 8.1.1
+version: 8.6.1
 date-released: 2024
 url: "https://github.com/seperman/deepdiff"
diff -pruN 8.1.1-4/CLAUDE.md 8.6.1-1/CLAUDE.md
--- 8.1.1-4/CLAUDE.md	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/CLAUDE.md	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,108 @@
+# CLAUDE.md
+
+This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
+
+## Project Overview
+
+DeepDiff is a Python library for deep comparison, searching, and hashing of Python objects. It provides:
+- **DeepDiff**: Deep difference detection between objects
+- **DeepSearch**: Search for objects within other objects  
+- **DeepHash**: Content-based hashing for any object
+- **Delta**: Git-like diff objects that can be applied to other objects
+- **CLI**: Command-line interface via `deep` command
+
+## Development Commands
+
+### Setup
+```bash
+# Install with all development dependencies
+uv pip install -e ".[cli,coverage,dev,docs,static,test]"
+# OR using uv (recommended)
+uv sync --all-extras
+```
+
+**Virtual Environment**: Activate with `source ~/.venvs/deep/bin/activate` before running tests or Python commands
+
+
+### Testing
+```bash
+# Run tests with coverage
+source ~/.venvs/deep/bin/activate && pytest --cov=deepdiff --cov-report term-missing
+
+# Run tests including slow ones
+source ~/.venvs/deep/bin/activate && pytest --cov=deepdiff --runslow
+
+# Run single test file
+source ~/.venvs/deep/bin/activate && pytest tests/test_diff_text.py
+
+# Run tests across multiple Python versions. No need to use this unless getting ready for creating a new build
+source ~/.venvs/deep/bin/activate && nox -s pytest
+```
+
+### **Type Checking with Pyright:**
+Always use this pattern for type checking:
+```bash
+source ~/.venvs/deep/bin/activate && pyright {file_path}
+```
+
+Examples:
+- `source ~/.venvs/deep/bin/activate && pyright deepdiff/diff.py` - Type check specific file
+- `source ~/.venvs/deep/bin/activate && pyright deepdiff/` - Type check entire module
+- `source ~/.venvs/deep/bin/activate && pyright .` - Type check entire repo
+
+
+### Common Pitfalls to Avoid
+
+1. **Forgetting Virtual Environment**: ALWAYS activate venv before ANY Python command:
+   ```bash
+   source ~/.venvs/deep/bin/activate
+   ```
+2. **Running pytest without venv**: This will cause import errors. Always use:
+   ```bash
+   source ~/.venvs/deep/bin/activate && pytest
+   ```
+3. **Running module commands without venv**: Commands like `capi run`, `cettings shell`, etc. all require venv to be activated first
+
+
+### Slow quality checks only to run before creating a build
+```bash
+# Linting (max line length: 120)
+nox -s flake8
+
+# Type checking
+nox -s mypy
+
+# Run all quality checks
+nox
+```
+
+
+## Architecture
+
+### Core Structure
+- **deepdiff/diff.py**: Main DeepDiff implementation (most complex component)
+- **deepdiff/deephash.py**: DeepHash functionality
+- **deepdiff/base.py**: Shared base classes and functionality
+- **deepdiff/model.py**: Core data structures and result objects
+- **deepdiff/helper.py**: Utility functions and type definitions
+- **deepdiff/delta.py**: Delta objects for applying changes
+
+### Key Patterns
+- **Inheritance**: `Base` class provides common functionality with mixins
+- **Result Objects**: Different result formats (`ResultDict`, `TreeResult`, `TextResult`)
+- **Path Navigation**: Consistent path notation for nested object access
+- **Performance**: LRU caching and numpy array optimization
+
+### Testing
+- Located in `/tests/` directory
+- Organized by functionality (e.g., `test_diff_text.py`, `test_hash.py`)
+- Aims for ~100% test coverage
+- Uses pytest with comprehensive fixtures
+
+## Development Notes
+
+- **Python Support**: 3.9+ and PyPy3
+- **Main Branch**: `master` (PRs typically go to `dev` branch)
+- **Build System**: Modern `pyproject.toml` with `flit_core`
+- **Dependencies**: Core dependency is `orderly-set>=5.4.1,<6`
+- **CLI Tool**: Available as `deep` command after installation with `[cli]` extra
diff -pruN 8.1.1-4/MANIFEST.in 8.6.1-1/MANIFEST.in
--- 8.1.1-4/MANIFEST.in	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/MANIFEST.in	2025-09-03 19:38:30.000000000 +0000
@@ -7,6 +7,7 @@ include *.txt
 include *.sh
 include pytest.ini
 include *.py
+exclude uv.lock
 recursive-include docs/ *.rst
 recursive-include docs/ *.png
 recursive-include tests *.csv
diff -pruN 8.1.1-4/README.md 8.6.1-1/README.md
--- 8.1.1-4/README.md	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/README.md	2025-09-03 19:38:30.000000000 +0000
@@ -1,4 +1,4 @@
-# DeepDiff v 8.1.1
+# DeepDiff v 8.6.1
 
 ![Downloads](https://img.shields.io/pypi/dm/deepdiff.svg?style=flat)
 ![Python Versions](https://img.shields.io/pypi/pyversions/deepdiff.svg?style=flat)
@@ -15,80 +15,53 @@
 - [Extract](https://zepworks.com/deepdiff/current/extract.html): Extract an item from a nested Python object using its path.
 - [commandline](https://zepworks.com/deepdiff/current/commandline.html): Use DeepDiff from commandline.
 
-Tested on Python 3.8+ and PyPy3.
+Tested on Python 3.9+ and PyPy3.
 
-- **[Documentation](https://zepworks.com/deepdiff/8.1.1/)**
+- **[Documentation](https://zepworks.com/deepdiff/8.6.1/)**
 
 ## What is new?
 
 Please check the [ChangeLog](CHANGELOG.md) file for the detailed information.
 
-DeepDiff 8-1-0
+DeepDiff 8-6-1
+- Patched security vulnerability in the Delta class which was vulnerable to class pollution via its constructor, and when combined with a gadget available in DeltaDiff itself, it could lead to Denial of Service and Remote Code Execution (via insecure Pickle deserialization).
 
-- Removing deprecated lines from setup.py
-- Added `prefix` option to `pretty()`
-- Fixes hashing of numpy boolean values.
-- Fixes __slots__ comparison when the attribute doesn't exist.
-- Relaxing orderly-set reqs
-- Added Python 3.13 support
-- Only lower if clean_key is instance of str #504
-- Fixes issue where the key deep_distance is not returned when both compared items are equal #510
-- Fixes exclude_paths fails to work in certain cases
-- exclude_paths fails to work #509
-- Fixes to_json() method chokes on standard json.dumps() kwargs such as sort_keys
-- to_dict() method chokes on standard json.dumps() kwargs  #490
-- Fixes accessing the affected_root_keys property on the diff object returned by DeepDiff fails when one of the dicts is empty
-- Fixes accessing the affected_root_keys property on the diff object returned by DeepDiff fails when one of the dicts is empty #508
+DeepDiff 8-6-0
 
-DeepDiff 8-0-1
-
-- Bugfix. Numpy should be optional.
-
-DeepDiff 8-0-0
-
-With the introduction of `threshold_to_diff_deeper`, the values returned are different than in previous versions of DeepDiff. You can still get the older values by setting `threshold_to_diff_deeper=0`. However to signify that enough has changed in this release that the users need to update the parameters passed to DeepDiff, we will be doing a major version update.
-
-- `use_enum_value=True` makes it so when diffing enum, we use the enum's value. It makes it so comparing an enum to a string or any other value is not reported as a type change.
-- `threshold_to_diff_deeper=float` is a number between 0 and 1. When comparing dictionaries that have a small intersection of keys, we will report the dictionary as a `new_value` instead of reporting individual keys changed. If you set it to zero, you get the same results as DeepDiff 7.0.1 and earlier, which means this feature is disabled. The new default is 0.33 which means if less that one third of keys between dictionaries intersect, report it as a new object.
-- Deprecated `ordered-set` and switched to `orderly-set`. The `ordered-set` package was not being maintained anymore and starting Python 3.6, there were better options for sets that ordered. I forked one of the new implementations, modified it, and published it as `orderly-set`.
-- Added `use_log_scale:bool` and `log_scale_similarity_threshold:float`. They can be used to ignore small changes in numbers by comparing their differences in logarithmic space. This is different than ignoring the difference based on significant digits.
-- json serialization of reversed lists.
-- Fix for iterable moved items when `iterable_compare_func` is used.
-- Pandas and Polars support.
-
-DeepDiff 7-0-1
-
-- Fixes the translation between Difflib opcodes and Delta flat rows.
-
-DeepDiff 7-0-0
-
-- DeepDiff 7 comes with an improved delta object. [Delta to flat dictionaries](https://zepworks.com/deepdiff/current/serialization.html#delta-serialize-to-flat-dictionaries) have undergone a major change. We have also introduced [Delta serialize to flat rows](https://zepworks.com/deepdiff/current/serialization.html#delta-serialize-to-flat-rows).
-- Subtracting delta objects have dramatically improved at the cost of holding more metadata about the original objects.
-- When `verbose=2`, and the "path" of an item has changed in a report between t1 and t2, we include it as `new_path`.
-- `path(use_t2=True)` returns the correct path to t2 in any reported change in the [`tree view`](https://zepworks.com/deepdiff/current/view.html#tree-view)
-- Python 3.7 support is dropped and Python 3.12 is officially supported.
-
-
-DeepDiff 6-7-1
-
-- Support for subtracting delta objects when iterable_compare_func is used.
-- Better handling of force adding a delta to an object. 
-- Fix for [`Can't compare dicts with both single and double quotes in keys`](https://github.com/seperman/deepdiff/issues/430)
-- Updated docs for Inconsistent Behavior with math_epsilon and ignore_order = True
-
-DeepDiff 6-7-0
-
-- Delta can be subtracted from other objects now.
-- verify_symmetry is deprecated. Use bidirectional instead.
-- always_include_values flag in Delta can be enabled to include values in the delta for every change.
-- Fix for Delta.__add__ breaks with esoteric dict keys.
-- You can load a delta from the list of flat dictionaries.
-
-DeepDiff 6-6-1
-
-- Fix for [DeepDiff raises decimal exception when using significant digits](https://github.com/seperman/deepdiff/issues/426)
-- Introducing group_by_sort_key
-- Adding group_by 2D. For example `group_by=['last_name', 'zip_code']`
+- Added Colored View thanks to @mauvilsa 
+- Added support for applying deltas to NamedTuple thanks to @paulsc 
+- Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
+- Added python property serialization to json
+- Added ip address serialization
+- Switched to UV from pip
+- Added Claude.md
+- Added uuid hashing thanks to @akshat62
+- Added `ignore_uuid_types` flag to DeepDiff to avoid type reports when comparing UUID and string.
+- Added comprehensive type hints across the codebase (multiple commits for better type safety)
+- Added support for memoryview serialization
+- Added support for bytes serialization (non-UTF8 compatible)
+- Fixed bug where group_by with numbers would leak type info into group path reports
+- Fixed bug in `_get_clean_to_keys_mapping without` explicit significant digits
+- Added support for python dict key serialization
+- Enhanced support for IP address serialization with safe module imports
+- Added development tooling improvements (pyright config, .envrc example)
+- Updated documentation and development instructions
+
+
+DeepDiff 8-5-0
+
+- Updating deprecated pydantic calls
+- Switching to pyproject.toml
+- Fix for moving nested tables when using iterable_compare_func.  by 
+- Fix recursion depth limit when hashing numpy.datetime64
+- Moving from legacy setuptools use to pyproject.toml
+
+
+DeepDiff 8-4-2
+
+- fixes the type hints for the base
+- fixes summarize so if json dumps fails, we can still get a repr of the results
+- adds ipaddress support
 
 
 ## Installation
@@ -136,6 +109,17 @@ Please take a look at the [CHANGELOG](CH
 
 :mega: **Please fill out our [fast 5-question survey](https://forms.gle/E6qXexcgjoKnSzjB8)** so that we can learn how & why you use DeepDiff, and what improvements we should make. Thank you! :dancers:
 
+# Local dev
+
+1. Clone the repo
+2. Switch to the dev branch
+3. Create your own branch
+4. Install dependencies
+
+    - Method 1: Use [`uv`](https://github.com/astral-sh/uv) to install the dependencies:  `uv sync --all-extras`.
+    - Method 2: Use pip: `pip install -e ".[cli,coverage,dev,docs,static,test]"`
+5. Build `flit build`
+
 # Contribute
 
 1. Please make your PR against the dev branch
diff -pruN 8.1.1-4/conftest.py 8.6.1-1/conftest.py
--- 8.1.1-4/conftest.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/conftest.py	2025-09-03 19:38:30.000000000 +0000
@@ -46,6 +46,12 @@ def nested_a_result():
         return json.load(the_file)
 
 
+@pytest.fixture(scope='function')
+def compounds():
+    with open(os.path.join(FIXTURES_DIR, 'compounds.json')) as the_file:
+        return json.load(the_file)
+
+
 @pytest.fixture(scope='class')
 def nested_a_affected_paths():
     return {
diff -pruN 8.1.1-4/debian/changelog 8.6.1-1/debian/changelog
--- 8.1.1-4/debian/changelog	2025-05-14 17:23:39.000000000 +0000
+++ 8.6.1-1/debian/changelog	2025-12-22 17:20:48.000000000 +0000
@@ -1,3 +1,16 @@
+deepdiff (8.6.1-1) unstable; urgency=medium
+
+  * Team upload.
+  * New upstream release:
+    - Fixed test_delta.py with Python 3.14 (closes: #1123114).
+  * Skip uuid6 tests for now, since that dependency isn't in Debian.
+  * Don't install conftest.py in binary package.
+  * Switch to autopkgtest-pkg-pybuild.
+  * Drop "Rules-Requires-Root: no", default as of dpkg-dev 1.22.13.
+  * Standards-Version: 4.7.2.
+
+ -- Colin Watson <cjwatson@debian.org>  Mon, 22 Dec 2025 17:20:48 +0000
+
 deepdiff (8.1.1-4) unstable; urgency=medium
 
   * Team upload.
diff -pruN 8.1.1-4/debian/control 8.6.1-1/debian/control
--- 8.1.1-4/debian/control	2025-05-14 17:06:11.000000000 +0000
+++ 8.6.1-1/debian/control	2025-12-22 17:20:48.000000000 +0000
@@ -5,12 +5,14 @@ Maintainer: Debian Python Team <team+pyt
 Uploaders: Michael Banck <mbanck@debian.org>,
 Build-Depends: debhelper-compat (= 13),
                dh-sequence-python3,
+               flit,
+               pybuild-plugin-pyproject,
                python3-all,
                python3-clevercsv <!nocheck>,
                python3-click <!nocheck>,
                python3-jsonpickle,
                python3-numpy,
-               python3-orderly-set,
+               python3-orderly-set (>= 5.4.1),
                python3-orjson,
                python3-pydantic <!nocheck>,
                python3-pytest <!nocheck>,
@@ -18,11 +20,11 @@ Build-Depends: debhelper-compat (= 13),
                python3-setuptools,
                python3-tomli-w <!nocheck>,
                python3-yaml <!nocheck>,
-Standards-Version: 4.7.0
+Standards-Version: 4.7.2
 Vcs-Browser: https://salsa.debian.org/python-team/packages/deepdiff
 Vcs-Git: https://salsa.debian.org/python-team/packages/deepdiff.git
 Homepage: https://github.com/seperman/deepdiff
-Rules-Requires-Root: no
+Testsuite: autopkgtest-pkg-pybuild
 
 Package: python3-deepdiff
 Architecture: all
diff -pruN 8.1.1-4/debian/patches/import-uuid6-locally.patch 8.6.1-1/debian/patches/import-uuid6-locally.patch
--- 8.1.1-4/debian/patches/import-uuid6-locally.patch	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/debian/patches/import-uuid6-locally.patch	2025-12-22 17:20:48.000000000 +0000
@@ -0,0 +1,40 @@
+From: Colin Watson <cjwatson@debian.org>
+Date: Mon, 22 Dec 2025 17:06:57 +0000
+Subject: Only import uuid6 in relevant tests
+
+This can be reverted once uuid6 is packaged in Debian.
+
+Forwarded: not-needed
+Last-Update: 2025-11-22
+---
+ tests/test_hash.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_hash.py b/tests/test_hash.py
+index 902cb14..41d1413 100755
+--- a/tests/test_hash.py
++++ b/tests/test_hash.py
+@@ -2,7 +2,6 @@
+ import re
+ import pytest
+ import pytz
+-import uuid6
+ import logging
+ import datetime
+ import ipaddress
+@@ -211,6 +210,7 @@ class TestDeepHash:
+ 
+     def test_uuid6_hash_positive(self):
+         """Positive test case: Same UUID objects should produce the same hash."""
++        import uuid6
+         uuid_obj = uuid6.uuid7()
+         hash1 = DeepHash(uuid_obj)
+         hash2 = DeepHash(uuid_obj)
+@@ -223,6 +223,7 @@ class TestDeepHash:
+ 
+     def test_uuid6_deepdiff_negative(self):
+         """Negative test case: DeepDiff should detect differences between sets containing different UUID objects."""
++        import uuid6
+         dummy_id_1 = uuid6.uuid7()
+         dummy_id_2 = uuid6.uuid7()
+         set1 = {dummy_id_1}
diff -pruN 8.1.1-4/debian/patches/series 8.6.1-1/debian/patches/series
--- 8.1.1-4/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/debian/patches/series	2025-12-22 17:20:48.000000000 +0000
@@ -0,0 +1 @@
+import-uuid6-locally.patch
diff -pruN 8.1.1-4/debian/rules 8.6.1-1/debian/rules
--- 8.1.1-4/debian/rules	2025-01-27 13:16:38.000000000 +0000
+++ 8.6.1-1/debian/rules	2025-12-22 17:20:48.000000000 +0000
@@ -5,8 +5,12 @@
 # export DH_VERBOSE=1
 
 export PYBUILD_NAME=deepdiff
-export PYBUILD_BEFORE_TEST=cp -a conftest.py {build_dir}
-export PYBUILD_TEST_ARGS=-k 'not test_polars'
+# These tests need dependencies that aren't currently in Debian.
+export PYBUILD_TEST_ARGS=\
+	--deselect tests/test_hash.py::TestDeepHash::test_uuid6_hash_positive \
+	--deselect tests/test_hash.py::TestDeepHash::test_uuid6_deepdiff_negative \
+	--deselect tests/test_hash.py::TestDeepHashPrep::test_polars \
+	{dir}/tests
 
 %:
 	dh $@ --buildsystem=pybuild
diff -pruN 8.1.1-4/debian/tests/control 8.6.1-1/debian/tests/control
--- 8.1.1-4/debian/tests/control	2025-05-14 17:06:17.000000000 +0000
+++ 8.6.1-1/debian/tests/control	1970-01-01 00:00:00.000000000 +0000
@@ -1,15 +0,0 @@
-Tests: unittests
-Depends:
- python3-all,
- python3-clevercsv,
- python3-click,
- python3-jsonpickle,
- python3-numpy,
- python3-orderly-set,
- python3-orjson,
- python3-pydantic,
- python3-pytest,
- python3-pytest-benchmark,
- python3-tomli-w,
- python3-yaml,
- @,
diff -pruN 8.1.1-4/debian/tests/unittests 8.6.1-1/debian/tests/unittests
--- 8.1.1-4/debian/tests/unittests	2025-01-27 13:14:43.000000000 +0000
+++ 8.6.1-1/debian/tests/unittests	1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +0,0 @@
-#!/bin/sh
-set -efu
-
-pys="$(py3versions -s 2> /dev/null)"
-
-cp -a conftest.py tests "$AUTOPKGTEST_TMP"
-cd "$AUTOPKGTEST_TMP"
-
-for py in $pys; do
-	echo "=== $py ==="
-	$py -m pytest -k 'not test_polars' tests 2>&1
-done
diff -pruN 8.1.1-4/deepdiff/__init__.py 8.6.1-1/deepdiff/__init__.py
--- 8.1.1-4/deepdiff/__init__.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/__init__.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,14 +1,14 @@
 """This module offers the DeepDiff, DeepSearch, grep, Delta and DeepHash classes."""
 # flake8: noqa
-__version__ = '8.1.1'
+__version__ = '8.6.1'
 import logging
 
 if __name__ == '__main__':
     logging.basicConfig(format='%(asctime)s %(levelname)8s %(message)s')
 
 
-from .diff import DeepDiff
-from .search import DeepSearch, grep
-from .deephash import DeepHash
-from .delta import Delta
-from .path import extract, parse_path
+from .diff import DeepDiff as DeepDiff
+from .search import DeepSearch as DeepSearch, grep as grep
+from .deephash import DeepHash as DeepHash
+from .delta import Delta as Delta
+from .path import extract as extract, parse_path as parse_path
diff -pruN 8.1.1-4/deepdiff/base.py 8.6.1-1/deepdiff/base.py
--- 8.1.1-4/deepdiff/base.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/base.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,3 +1,5 @@
+import uuid
+from typing import List, Optional, Union, Tuple, Any, Type
 from deepdiff.helper import strings, numbers, SetOrdered
 
 
@@ -9,7 +11,7 @@ class Base:
     numbers = numbers
     strings = strings
 
-    def get_significant_digits(self, significant_digits, ignore_numeric_type_changes):
+    def get_significant_digits(self, significant_digits: Optional[int], ignore_numeric_type_changes: bool) -> Optional[int]:
         if significant_digits is not None and significant_digits < 0:
             raise ValueError(
                 "significant_digits must be None or a non-negative integer")
@@ -18,10 +20,12 @@ class Base:
                 significant_digits = DEFAULT_SIGNIFICANT_DIGITS_WHEN_IGNORE_NUMERIC_TYPES
         return significant_digits
 
-    def get_ignore_types_in_groups(self, ignore_type_in_groups,
-                                   ignore_string_type_changes,
-                                   ignore_numeric_type_changes,
-                                   ignore_type_subclasses):
+    def get_ignore_types_in_groups(self, 
+                                   ignore_type_in_groups: Optional[Union[List[Any], Tuple[Any, ...]]], 
+                                   ignore_string_type_changes: bool,
+                                   ignore_numeric_type_changes: bool,
+                                   ignore_type_subclasses: bool,
+                                   ignore_uuid_types: bool = False) -> List[Union[SetOrdered, Tuple[Type[Any], ...]]]:
         if ignore_type_in_groups:
             if isinstance(ignore_type_in_groups[0], type):
                 ignore_type_in_groups = [ignore_type_in_groups]
@@ -43,6 +47,12 @@ class Base:
         if ignore_numeric_type_changes and self.numbers not in ignore_type_in_groups:
             ignore_type_in_groups.append(SetOrdered(self.numbers))
 
+        if ignore_uuid_types:
+            # Create a group containing both UUID and str types
+            uuid_str_group = SetOrdered([uuid.UUID, str])
+            if uuid_str_group not in ignore_type_in_groups:
+                ignore_type_in_groups.append(uuid_str_group)
+
         if not ignore_type_subclasses:
             # is_instance method needs tuples. When we look for subclasses, we need them to be tuples
             ignore_type_in_groups = list(map(tuple, ignore_type_in_groups))
diff -pruN 8.1.1-4/deepdiff/colored_view.py 8.6.1-1/deepdiff/colored_view.py
--- 8.1.1-4/deepdiff/colored_view.py	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/deepdiff/colored_view.py	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,139 @@
+import json
+import os
+from ast import literal_eval
+from importlib.util import find_spec
+from typing import Any, Dict
+
+from deepdiff.model import TextResult, TreeResult
+
+
+if os.name == "nt" and find_spec("colorama"):
+    import colorama
+
+    colorama.init()
+
+
+# ANSI color codes
+RED = '\033[31m'
+GREEN = '\033[32m'
+RESET = '\033[0m'
+
+
+class ColoredView:
+    """A view that shows JSON with color-coded differences."""
+
+    def __init__(self, t2: Any, tree_result: TreeResult, compact: bool = False):
+        self.t2 = t2
+        self.tree = tree_result
+        self.compact = compact
+        self.diff_paths = self._collect_diff_paths()
+
+    def _collect_diff_paths(self) -> Dict[str, str]:
+        """Collect all paths that have differences and their types."""
+        text_result = TextResult(tree_results=self.tree, verbose_level=2)
+        diff_paths = {}
+        for diff_type, items in text_result.items():
+            if not items:
+                continue
+            try:
+                iter(items)
+            except TypeError:
+                continue
+            for path, item in items.items():
+                if diff_type in ("values_changed", "type_changes"):
+                    changed_path = item.get("new_path") or path
+                    diff_paths[changed_path] = ("changed", item["old_value"], item["new_value"])
+                elif diff_type in ("dictionary_item_added", "iterable_item_added", "set_item_added"):
+                    diff_paths[path] = ("added", None, item)
+                elif diff_type in ("dictionary_item_removed", "iterable_item_removed", "set_item_removed"):
+                    diff_paths[path] = ("removed", item, None)
+        return diff_paths
+
+    def _format_value(self, value: Any) -> str:
+        """Format a value for display."""
+        if isinstance(value, bool):
+            return 'true' if value else 'false'
+        elif isinstance(value, str):
+            return f'"{value}"'
+        elif isinstance(value, (dict, list, tuple)):
+            return json.dumps(value)
+        else:
+            return str(value)
+
+    def _get_path_removed(self, path: str) -> dict:
+        """Get all removed items for a given path."""
+        removed = {}
+        for key, value in self.diff_paths.items():
+            if value[0] == 'removed' and key.startswith(path + "["):
+                key_suffix = key[len(path):]
+                if key_suffix.count("[") == 1 and key_suffix.endswith("]"):
+                    removed[literal_eval(key_suffix[1:-1])] = value[1]
+        return removed
+
+    def _has_differences(self, path_prefix: str) -> bool:
+        """Check if a path prefix has any differences under it."""
+        return any(diff_path.startswith(path_prefix + "[") for diff_path in self.diff_paths)
+
+    def _colorize_json(self, obj: Any, path: str = 'root', indent: int = 0) -> str:
+        """Recursively colorize JSON based on differences, with pretty-printing."""
+        INDENT = '  '
+        current_indent = INDENT * indent
+        next_indent = INDENT * (indent + 1)
+
+        if path in self.diff_paths and path not in self._colorize_skip_paths:
+            diff_type, old, new = self.diff_paths[path]
+            if diff_type == 'changed':
+                return f"{RED}{self._format_value(old)}{RESET} -> {GREEN}{self._format_value(new)}{RESET}"
+            elif diff_type == 'added':
+                return f"{GREEN}{self._format_value(new)}{RESET}"
+            elif diff_type == 'removed':
+                return f"{RED}{self._format_value(old)}{RESET}"
+
+        if isinstance(obj, (dict, list)) and self.compact and not self._has_differences(path):
+            return '{...}' if isinstance(obj, dict) else '[...]'
+
+        if isinstance(obj, dict):
+            if not obj:
+                return '{}'
+            items = []
+            for key, value in obj.items():
+                new_path = f"{path}['{key}']" if isinstance(key, str) else f"{path}[{key}]"
+                if new_path in self.diff_paths and self.diff_paths[new_path][0] == 'added':
+                    # Colorize both key and value for added fields
+                    items.append(f'{next_indent}{GREEN}"{key}": {self._colorize_json(value, new_path, indent + 1)}{RESET}')
+                else:
+                    items.append(f'{next_indent}"{key}": {self._colorize_json(value, new_path, indent + 1)}')
+            for key, value in self._get_path_removed(path).items():
+                new_path = f"{path}['{key}']" if isinstance(key, str) else f"{path}[{key}]"
+                items.append(f'{next_indent}{RED}"{key}": {self._colorize_json(value, new_path, indent + 1)}{RESET}')
+            return '{\n' + ',\n'.join(items) + f'\n{current_indent}' + '}'
+
+        elif isinstance(obj, (list, tuple)):
+            if not obj:
+                return '[]'
+            removed_map = self._get_path_removed(path)
+            for index in removed_map:
+                self._colorize_skip_paths.add(f"{path}[{index}]")
+
+            items = []
+            remove_index = 0
+            for index, value in enumerate(obj):
+                while remove_index == next(iter(removed_map), None):
+                    items.append(f'{next_indent}{RED}{self._format_value(removed_map.pop(remove_index))}{RESET}')
+                    remove_index += 1
+                items.append(f'{next_indent}{self._colorize_json(value, f"{path}[{index}]", indent + 1)}')
+                remove_index += 1
+            for value in removed_map.values():
+                items.append(f'{next_indent}{RED}{self._format_value(value)}{RESET}')
+            return '[\n' + ',\n'.join(items) + f'\n{current_indent}' + ']'
+        else:
+            return self._format_value(obj)
+
+    def __str__(self) -> str:
+        """Return the colorized, pretty-printed JSON string."""
+        self._colorize_skip_paths = set()
+        return self._colorize_json(self.t2)
+
+    def __iter__(self):
+        """Make the view iterable by yielding the tree results."""
+        yield from self.tree.items()
diff -pruN 8.1.1-4/deepdiff/commands.py 8.6.1-1/deepdiff/commands.py
--- 8.1.1-4/deepdiff/commands.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/commands.py	2025-09-03 19:38:30.000000000 +0000
@@ -54,6 +54,7 @@ def cli():
 @click.option('--significant-digits', required=False, default=None, type=int, show_default=True)
 @click.option('--truncate-datetime', required=False, type=click.Choice(['second', 'minute', 'hour', 'day'], case_sensitive=True), show_default=True, default=None)
 @click.option('--verbose-level', required=False, default=1, type=click.IntRange(0, 2), show_default=True)
+@click.option('--view', required=False, type=click.Choice(['tree', 'colored', 'colored_compact'], case_sensitive=True), show_default=True, default='tree')
 @click.option('--debug', is_flag=True, show_default=False)
 def diff(
     *args, **kwargs
@@ -74,6 +75,8 @@ def diff(
     t2_path = kwargs.pop("t2")
     t1_extension = t1_path.split('.')[-1]
     t2_extension = t2_path.split('.')[-1]
+    if "view" in kwargs and kwargs["view"] is None:
+        kwargs.pop("view")
 
     for name, t_path, t_extension in [('t1', t1_path, t1_extension), ('t2', t2_path, t2_extension)]:
         try:
@@ -112,8 +115,8 @@ def diff(
         sys.stdout.buffer.write(delta.dumps())
     else:
         try:
-            if orjson:
-                print(diff.to_json(option=orjson.OPT_INDENT_2))
+            if kwargs["view"] in {'colored', 'colored_compact'}:
+                print(diff)
             else:
                 print(diff.to_json(indent=2))
         except Exception:
diff -pruN 8.1.1-4/deepdiff/deephash.py 8.6.1-1/deepdiff/deephash.py
--- 8.1.1-4/deepdiff/deephash.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/deephash.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,65 +1,84 @@
 #!/usr/bin/env python
-import inspect
 import logging
 import datetime
+import uuid
+from typing import Union, Optional, Any, List, TYPE_CHECKING, Dict, Tuple, Set, Callable, Iterator, Generator, TypeVar, Protocol
 from collections.abc import Iterable, MutableMapping
 from collections import defaultdict
 from hashlib import sha1, sha256
 from pathlib import Path
 from enum import Enum
+import re
 from deepdiff.helper import (strings, numbers, times, unprocessed, not_hashed, add_to_frozen_set,
-                             convert_item_or_items_into_set_else_none, get_doc,
+                             convert_item_or_items_into_set_else_none, get_doc, ipranges,
                              convert_item_or_items_into_compiled_regexes_else_none,
                              get_id, type_is_subclass_of_type_group, type_in_type_group,
-                             number_to_string, datetime_normalize, KEY_TO_VAL_STR, short_repr,
+                             number_to_string, datetime_normalize, KEY_TO_VAL_STR,
                              get_truncate_datetime, dict_, add_root_to_paths, PydanticBaseModel)
+
 from deepdiff.base import Base
 
+if TYPE_CHECKING:
+    from pytz.tzinfo import BaseTzInfo
+    import pandas as pd
+    import polars as pl
+    import numpy as np
+
+# Type aliases for better readability
+HashableType = Union[str, int, float, bytes, bool, tuple, frozenset, type(None)]
+HashResult = Union[str, Any]  # Can be string hash or unprocessed marker
+HashTuple = Tuple[HashResult, int]  # (hash_result, count)
+HashesDict = Dict[Any, Union[HashTuple, List[Any]]]  # Special case for UNPROCESSED_KEY
+PathType = Union[str, List[str], Set[str]]
+RegexType = Union[str, re.Pattern[str], List[Union[str, re.Pattern[str]]]]
+NumberToStringFunc = Callable[..., str]  # More flexible for different number_to_string implementations
+
+
 try:
     import pandas
 except ImportError:
-    pandas = False
+    pandas = False  # type: ignore
 
 try:
     import polars
 except ImportError:
-    polars = False
+    polars = False  # type: ignore
 try:
     import numpy as np
-    booleanTypes = (bool, np.bool_)
+    booleanTypes: Tuple[type, ...] = (bool, np.bool_)  # type: ignore
 except ImportError:
-    booleanTypes = bool
+    booleanTypes = (bool,)  # type: ignore
 
-logger = logging.getLogger(__name__)
+logger: logging.Logger = logging.getLogger(__name__)
 
-UNPROCESSED_KEY = object()
+UNPROCESSED_KEY: object = object()
 
-EMPTY_FROZENSET = frozenset()
+EMPTY_FROZENSET: frozenset = frozenset()
 
-INDEX_VS_ATTRIBUTE = ('[%s]', '.%s')
+INDEX_VS_ATTRIBUTE: Tuple[str, str] = ('[%s]', '.%s')
 
 
-HASH_LOOKUP_ERR_MSG = '{} is not one of the hashed items.'
+HASH_LOOKUP_ERR_MSG: str = '{} is not one of the hashed items.'
 
 
-def sha256hex(obj):
+def sha256hex(obj: Union[str, bytes]) -> str:
     """Use Sha256 as a cryptographic hash."""
     if isinstance(obj, str):
         obj = obj.encode('utf-8')
     return sha256(obj).hexdigest()
 
 
-def sha1hex(obj):
+def sha1hex(obj: Union[str, bytes]) -> str:
     """Use Sha1 as a cryptographic hash."""
     if isinstance(obj, str):
         obj = obj.encode('utf-8')
     return sha1(obj).hexdigest()
 
 
-default_hasher = sha256hex
+default_hasher: Callable[[Union[str, bytes]], str] = sha256hex
 
 
-def combine_hashes_lists(items, prefix):
+def combine_hashes_lists(items: List[List[str]], prefix: Union[str, bytes]) -> str:
     """
     Combines lists of hashes into one hash
     This can be optimized in future.
@@ -82,18 +101,20 @@ class BoolObj(Enum):
 
 
 def prepare_string_for_hashing(
-        obj,
-        ignore_string_type_changes=False,
-        ignore_string_case=False,
-        encodings=None,
-        ignore_encoding_errors=False,
-):
+        obj: Union[str, bytes, memoryview],
+        ignore_string_type_changes: bool = False,
+        ignore_string_case: bool = False,
+        encodings: Optional[List[str]] = None,
+        ignore_encoding_errors: bool = False,
+) -> str:
     """
     Clean type conversions
     """
     original_type = obj.__class__.__name__
     # https://docs.python.org/3/library/codecs.html#codecs.decode
     errors_mode = 'ignore' if ignore_encoding_errors else 'strict'
+    if isinstance(obj, memoryview):
+        obj = obj.tobytes()
     if isinstance(obj, bytes):
         err = None
         encodings = ['utf-8'] if encodings is None else encodings
@@ -105,8 +126,8 @@ def prepare_string_for_hashing(
                 break
             except UnicodeDecodeError as er:
                 err = er
-        if not encoded:
-            obj_decoded = obj.decode('utf-8', errors='ignore')
+        if not encoded and err is not None:
+            obj_decoded = obj.decode('utf-8', errors='ignore')  # type: ignore
             start = max(err.start - 20, 0)
             start_prefix = ''
             if start > 0:
@@ -127,7 +148,7 @@ def prepare_string_for_hashing(
         obj = KEY_TO_VAL_STR.format(original_type, obj)
     if ignore_string_case:
         obj = obj.lower()
-    return obj
+    return str(obj)
 
 
 doc = get_doc('deephash_doc.rst')
@@ -135,43 +156,73 @@ doc = get_doc('deephash_doc.rst')
 
 class DeepHash(Base):
     __doc__ = doc
+    
+    # Class attributes
+    hashes: Dict[Any, Any]
+    exclude_types_tuple: Tuple[type, ...]
+    ignore_repetition: bool
+    exclude_paths: Optional[Set[str]]
+    include_paths: Optional[Set[str]]
+    exclude_regex_paths: Optional[List[re.Pattern[str]]]
+    hasher: Callable[[Union[str, bytes]], str]
+    use_enum_value: bool
+    default_timezone: Union[datetime.timezone, "BaseTzInfo"]
+    significant_digits: Optional[int]
+    truncate_datetime: Optional[str]
+    number_format_notation: str
+    ignore_type_in_groups: Any
+    ignore_string_type_changes: bool
+    ignore_numeric_type_changes: bool
+    ignore_string_case: bool
+    exclude_obj_callback: Optional[Callable[[Any, str], bool]]
+    apply_hash: bool
+    type_check_func: Callable[[type, Any], bool]
+    number_to_string: Any
+    ignore_private_variables: bool
+    encodings: Optional[List[str]]
+    ignore_encoding_errors: bool
+    ignore_iterable_order: bool
+    custom_operators: Optional[List[Any]]
 
     def __init__(self,
-                 obj,
+                 obj: Any,
                  *,
-                 hashes=None,
-                 exclude_types=None,
-                 exclude_paths=None,
-                 include_paths=None,
-                 exclude_regex_paths=None,
-                 hasher=None,
-                 ignore_repetition=True,
-                 significant_digits=None,
-                 truncate_datetime=None,
-                 number_format_notation="f",
-                 apply_hash=True,
-                 ignore_type_in_groups=None,
-                 ignore_string_type_changes=False,
-                 ignore_numeric_type_changes=False,
-                 ignore_type_subclasses=False,
-                 ignore_string_case=False,
-                 use_enum_value=False,
-                 exclude_obj_callback=None,
-                 number_to_string_func=None,
-                 ignore_private_variables=True,
-                 parent="root",
-                 encodings=None,
-                 ignore_encoding_errors=False,
-                 ignore_iterable_order=True,
-                 **kwargs):
+                 apply_hash: bool = True,
+                 custom_operators: Optional[List[Any]] = None,
+                 default_timezone: Union[datetime.timezone, "BaseTzInfo"] = datetime.timezone.utc,
+                 encodings: Optional[List[str]] = None,
+                 exclude_obj_callback: Optional[Callable[[Any, str], bool]] = None,
+                 exclude_paths: Optional[PathType] = None,
+                 exclude_regex_paths: Optional[RegexType] = None,
+                 exclude_types: Optional[Union[List[type], Set[type], Tuple[type, ...]]] = None,
+                 hasher: Optional[Callable[[Union[str, bytes]], str]] = None,
+                 hashes: Optional[Union[Dict[Any, Any], "DeepHash"]] = None,
+                 ignore_encoding_errors: bool = False,
+                 ignore_iterable_order: bool = True,
+                 ignore_numeric_type_changes: bool = False,
+                 ignore_private_variables: bool = True,
+                 ignore_repetition: bool = True,
+                 ignore_string_case: bool = False,
+                 ignore_string_type_changes: bool = False,
+                 ignore_type_in_groups: Any = None,
+                 ignore_type_subclasses: bool = False,
+                 ignore_uuid_types: bool = False,
+                 include_paths: Optional[PathType] = None,
+                 number_format_notation: str = "f",
+                 number_to_string_func: Optional[NumberToStringFunc] = None,
+                 parent: str = "root",
+                 significant_digits: Optional[int] = None,
+                 truncate_datetime: Optional[str] = None,
+                 use_enum_value: bool = False,
+                 **kwargs) -> None:
         if kwargs:
             raise ValueError(
                 ("The following parameter(s) are not valid: %s\n"
                  "The valid parameters are obj, hashes, exclude_types, significant_digits, truncate_datetime,"
                  "exclude_paths, include_paths, exclude_regex_paths, hasher, ignore_repetition, "
                  "number_format_notation, apply_hash, ignore_type_in_groups, ignore_string_type_changes, "
-                 "ignore_numeric_type_changes, ignore_type_subclasses, ignore_string_case "
-                 "number_to_string_func, ignore_private_variables, parent, use_enum_value "
+                 "ignore_numeric_type_changes, ignore_type_subclasses, ignore_string_case, ignore_uuid_types, "
+                 "number_to_string_func, ignore_private_variables, parent, use_enum_value, default_timezone "
                  "encodings, ignore_encoding_errors") % ', '.join(kwargs.keys()))
         if isinstance(hashes, MutableMapping):
             self.hashes = hashes
@@ -186,9 +237,9 @@ class DeepHash(Base):
         self.include_paths = add_root_to_paths(convert_item_or_items_into_set_else_none(include_paths))
         self.exclude_regex_paths = convert_item_or_items_into_compiled_regexes_else_none(exclude_regex_paths)
         self.hasher = default_hasher if hasher is None else hasher
-        self.hashes[UNPROCESSED_KEY] = []
+        self.hashes[UNPROCESSED_KEY] = []  # type: ignore
         self.use_enum_value = use_enum_value
-
+        self.default_timezone = default_timezone
         self.significant_digits = self.get_significant_digits(significant_digits, ignore_numeric_type_changes)
         self.truncate_datetime = get_truncate_datetime(truncate_datetime)
         self.number_format_notation = number_format_notation
@@ -196,7 +247,9 @@ class DeepHash(Base):
             ignore_type_in_groups=ignore_type_in_groups,
             ignore_string_type_changes=ignore_string_type_changes,
             ignore_numeric_type_changes=ignore_numeric_type_changes,
-            ignore_type_subclasses=ignore_type_subclasses)
+            ignore_type_subclasses=ignore_type_subclasses,
+            ignore_uuid_types=ignore_uuid_types,
+        )
         self.ignore_string_type_changes = ignore_string_type_changes
         self.ignore_numeric_type_changes = ignore_numeric_type_changes
         self.ignore_string_case = ignore_string_case
@@ -212,6 +265,7 @@ class DeepHash(Base):
         self.encodings = encodings
         self.ignore_encoding_errors = ignore_encoding_errors
         self.ignore_iterable_order = ignore_iterable_order
+        self.custom_operators = custom_operators
 
         self._hash(obj, parent=parent, parents_ids=frozenset({get_id(obj)}))
 
@@ -220,14 +274,14 @@ class DeepHash(Base):
         else:
             del self.hashes[UNPROCESSED_KEY]
 
-    sha256hex = sha256hex
-    sha1hex = sha1hex
+    sha256hex: Callable[[Union[str, bytes]], str] = sha256hex
+    sha1hex: Callable[[Union[str, bytes]], str] = sha1hex
 
-    def __getitem__(self, obj, extract_index=0):
+    def __getitem__(self, obj: Any, extract_index: Optional[int] = 0) -> Any:
         return self._getitem(self.hashes, obj, extract_index=extract_index, use_enum_value=self.use_enum_value)
 
     @staticmethod
-    def _getitem(hashes, obj, extract_index=0, use_enum_value=False):
+    def _getitem(hashes: Dict[Any, Any], obj: Any, extract_index: Optional[int] = 0, use_enum_value: bool = False) -> Any:
         """
         extract_index is zero for hash and 1 for count and None to get them both.
         To keep it backward compatible, we only get the hash by default so it is set to zero by default.
@@ -241,7 +295,7 @@ class DeepHash(Base):
         elif use_enum_value and isinstance(obj, Enum):
             key = obj.value
 
-        result_n_count = (None, 0)
+        result_n_count: Tuple[Any, int] = (None, 0)  # type: ignore
 
         try:
             result_n_count = hashes[key]
@@ -257,7 +311,7 @@ class DeepHash(Base):
 
         return result_n_count if extract_index is None else result_n_count[extract_index]
 
-    def __contains__(self, obj):
+    def __contains__(self, obj: Any) -> bool:
         result = False
         try:
             result = obj in self.hashes
@@ -267,7 +321,7 @@ class DeepHash(Base):
             result = get_id(obj) in self.hashes
         return result
 
-    def get(self, key, default=None, extract_index=0):
+    def get(self, key: Any, default: Any = None, extract_index: Optional[int] = 0) -> Any:
         """
         Get method for the hashes dictionary.
         It can extract the hash for a given key that is already calculated when extract_index=0
@@ -276,7 +330,7 @@ class DeepHash(Base):
         return self.get_key(self.hashes, key, default=default, extract_index=extract_index)
 
     @staticmethod
-    def get_key(hashes, key, default=None, extract_index=0, use_enum_value=False):
+    def get_key(hashes: Dict[Any, Any], key: Any, default: Any = None, extract_index: Optional[int] = 0, use_enum_value: bool = False) -> Any:
         """
         get_key method for the hashes dictionary.
         It can extract the hash for a given key that is already calculated when extract_index=0
@@ -288,7 +342,7 @@ class DeepHash(Base):
             result = default
         return result
 
-    def _get_objects_to_hashes_dict(self, extract_index=0):
+    def _get_objects_to_hashes_dict(self, extract_index: Optional[int] = 0) -> Dict[Any, Any]:
         """
         A dictionary containing only the objects to hashes,
         or a dictionary of objects to the count of items that went to build them.
@@ -302,7 +356,7 @@ class DeepHash(Base):
                 result[key] = value[extract_index]
         return result
 
-    def __eq__(self, other):
+    def __eq__(self, other: Any) -> bool:
         if isinstance(other, DeepHash):
             return self.hashes == other.hashes
         else:
@@ -311,27 +365,29 @@ class DeepHash(Base):
 
     __req__ = __eq__
 
-    def __repr__(self):
+    def __repr__(self) -> str:
         """
         Hide the counts since it will be confusing to see them when they are hidden everywhere else.
         """
-        return short_repr(self._get_objects_to_hashes_dict(extract_index=0), max_length=500)
+        from deepdiff.summarize import summarize
+        return summarize(self._get_objects_to_hashes_dict(extract_index=0), max_length=500)
 
-    __str__ = __repr__
+    def __str__(self) -> str:
+        return str(self._get_objects_to_hashes_dict(extract_index=0))
 
-    def __bool__(self):
+    def __bool__(self) -> bool:
         return bool(self.hashes)
 
-    def keys(self):
+    def keys(self) -> Any:
         return self.hashes.keys()
 
-    def values(self):
+    def values(self) -> Generator[Any, None, None]:
         return (i[0] for i in self.hashes.values())  # Just grab the item and not its count
 
-    def items(self):
+    def items(self) -> Generator[Tuple[Any, Any], None, None]:
         return ((i, v[0]) for i, v in self.hashes.items())
 
-    def _prep_obj(self, obj, parent, parents_ids=EMPTY_FROZENSET, is_namedtuple=False, is_pydantic_object=False):
+    def _prep_obj(self, obj: Any, parent: str, parents_ids: frozenset = EMPTY_FROZENSET, is_namedtuple: bool = False, is_pydantic_object: bool = False) -> HashTuple:
         """prepping objects"""
         original_type = type(obj) if not isinstance(obj, type) else obj
 
@@ -346,6 +402,7 @@ class DeepHash(Base):
         if hasattr(obj, "__slots__"):
             obj_to_dict_strategies.append(lambda o: {i: getattr(o, i) for i in o.__slots__})
         else:
+            import inspect
             obj_to_dict_strategies.append(lambda o: dict(inspect.getmembers(o, lambda m: not inspect.isroutine(m))))
 
         for get_dict in obj_to_dict_strategies:
@@ -355,7 +412,7 @@ class DeepHash(Base):
             except AttributeError:
                 pass
         else:
-            self.hashes[UNPROCESSED_KEY].append(obj)
+            self.hashes[UNPROCESSED_KEY].append(obj)  # type: ignore
             return (unprocessed, 0)
         obj = d
 
@@ -364,7 +421,7 @@ class DeepHash(Base):
         result = "nt{}".format(result) if is_namedtuple else "obj{}".format(result)
         return result, counts
 
-    def _skip_this(self, obj, parent):
+    def _skip_this(self, obj: Any, parent: str) -> bool:
         skip = False
         if self.exclude_paths and parent in self.exclude_paths:
             skip = True
@@ -376,7 +433,7 @@ class DeepHash(Base):
                         skip = False
                         break
         elif self.exclude_regex_paths and any(
-                [exclude_regex_path.search(parent) for exclude_regex_path in self.exclude_regex_paths]):
+                [exclude_regex_path.search(parent) for exclude_regex_path in self.exclude_regex_paths]):  # type: ignore
             skip = True
         elif self.exclude_types_tuple and isinstance(obj, self.exclude_types_tuple):
             skip = True
@@ -384,7 +441,7 @@ class DeepHash(Base):
             skip = True
         return skip
 
-    def _prep_dict(self, obj, parent, parents_ids=EMPTY_FROZENSET, print_as_attribute=False, original_type=None):
+    def _prep_dict(self, obj: Union[Dict[Any, Any], MutableMapping], parent: str, parents_ids: frozenset = EMPTY_FROZENSET, print_as_attribute: bool = False, original_type: Optional[type] = None) -> HashTuple:
 
         result = []
         counts = 1
@@ -423,7 +480,7 @@ class DeepHash(Base):
             type_str = 'dict'
         return "{}:{{{}}}".format(type_str, result), counts
 
-    def _prep_iterable(self, obj, parent, parents_ids=EMPTY_FROZENSET):
+    def _prep_iterable(self, obj: Iterable[Any], parent: str, parents_ids: frozenset = EMPTY_FROZENSET) -> HashTuple:
 
         counts = 1
         result = defaultdict(int)
@@ -458,35 +515,40 @@ class DeepHash(Base):
 
         return result, counts
 
-    def _prep_bool(self, obj):
+    def _prep_bool(self, obj: bool) -> BoolObj:
         return BoolObj.TRUE if obj else BoolObj.FALSE
 
 
-    def _prep_path(self, obj):
+    def _prep_path(self, obj: Path) -> str:
         type_ = obj.__class__.__name__
         return KEY_TO_VAL_STR.format(type_, obj)
 
-    def _prep_number(self, obj):
+    def _prep_number(self, obj: Union[int, float, complex]) -> str:
         type_ = "number" if self.ignore_numeric_type_changes else obj.__class__.__name__
         if self.significant_digits is not None:
             obj = self.number_to_string(obj, significant_digits=self.significant_digits,
-                                        number_format_notation=self.number_format_notation)
+                                        number_format_notation=self.number_format_notation)  # type: ignore
         return KEY_TO_VAL_STR.format(type_, obj)
 
-    def _prep_datetime(self, obj):
+    def _prep_ipranges(self, obj) -> str:
+        type_ = 'iprange'
+        obj = str(obj)
+        return KEY_TO_VAL_STR.format(type_, obj)
+
+    def _prep_datetime(self, obj: datetime.datetime) -> str:
         type_ = 'datetime'
-        obj = datetime_normalize(self.truncate_datetime, obj)
+        obj = datetime_normalize(self.truncate_datetime, obj, default_timezone=self.default_timezone)
         return KEY_TO_VAL_STR.format(type_, obj)
 
-    def _prep_date(self, obj):
+    def _prep_date(self, obj: datetime.date) -> str:
         type_ = 'datetime'  # yes still datetime but it doesn't need normalization
         return KEY_TO_VAL_STR.format(type_, obj)
 
-    def _prep_tuple(self, obj, parent, parents_ids):
+    def _prep_tuple(self, obj: tuple, parent: str, parents_ids: frozenset) -> HashTuple:
         # Checking to see if it has _fields. Which probably means it is a named
         # tuple.
         try:
-            obj._asdict
+            obj._asdict  # type: ignore
         # It must be a normal tuple
         except AttributeError:
             result, counts = self._prep_iterable(obj=obj, parent=parent, parents_ids=parents_ids)
@@ -495,9 +557,16 @@ class DeepHash(Base):
             result, counts = self._prep_obj(obj, parent, parents_ids=parents_ids, is_namedtuple=True)
         return result, counts
 
-    def _hash(self, obj, parent, parents_ids=EMPTY_FROZENSET):
+    def _hash(self, obj: Any, parent: str, parents_ids: frozenset = EMPTY_FROZENSET) -> HashTuple:
         """The main hash method"""
         counts = 1
+        if self.custom_operators is not None:
+            for operator in self.custom_operators:
+                func = getattr(operator, 'normalize_value_for_hashing', None)
+                if func is None:
+                    raise NotImplementedError(f"{operator.__class__.__name__} needs to define a normalize_value_for_hashing method to be compatible with ignore_order=True or iterable_compare_func.".format(operator))
+                else:
+                    obj = func(parent, obj)
 
         if isinstance(obj, booleanTypes):
             obj = self._prep_bool(obj)
@@ -532,31 +601,38 @@ class DeepHash(Base):
             result = self._prep_path(obj)
 
         elif isinstance(obj, times):
-            result = self._prep_datetime(obj)
+            result = self._prep_datetime(obj)  # type: ignore
 
         elif isinstance(obj, datetime.date):
             result = self._prep_date(obj)
 
-        elif isinstance(obj, numbers):
+        elif isinstance(obj, numbers):  # type: ignore
             result = self._prep_number(obj)
 
+        elif isinstance(obj, ipranges):
+            result = self._prep_ipranges(obj)
+
+        elif isinstance(obj, uuid.UUID):
+            # Handle UUID objects (including uuid6.UUID) by using their integer value
+            result = str(obj.int)
+
         elif isinstance(obj, MutableMapping):
             result, counts = self._prep_dict(obj=obj, parent=parent, parents_ids=parents_ids)
 
         elif isinstance(obj, tuple):
             result, counts = self._prep_tuple(obj=obj, parent=parent, parents_ids=parents_ids)
 
-        elif (pandas and isinstance(obj, pandas.DataFrame)):
-            def gen():
-                yield ('dtype', obj.dtypes)
-                yield ('index', obj.index)
-                yield from obj.items()  # which contains (column name, series tuples)
+        elif (pandas and isinstance(obj, pandas.DataFrame)):  # type: ignore
+            def gen():  # type: ignore
+                yield ('dtype', obj.dtypes)  # type: ignore
+                yield ('index', obj.index)  # type: ignore
+                yield from obj.items()  # type: ignore  # which contains (column name, series tuples)
             result, counts = self._prep_iterable(obj=gen(), parent=parent, parents_ids=parents_ids)
-        elif (polars and isinstance(obj, polars.DataFrame)):
+        elif (polars and isinstance(obj, polars.DataFrame)):  # type: ignore
             def gen():
-                yield from obj.columns
-                yield from list(obj.schema.items())
-                yield from obj.rows()
+                yield from obj.columns  # type: ignore
+                yield from list(obj.schema.items())  # type: ignore
+                yield from obj.rows()  # type: ignore
             result, counts = self._prep_iterable(obj=gen(), parent=parent, parents_ids=parents_ids)
 
         elif isinstance(obj, Iterable):
@@ -570,7 +646,7 @@ class DeepHash(Base):
             result, counts = self._prep_obj(obj=obj, parent=parent, parents_ids=parents_ids)
 
         if result is not_hashed:  # pragma: no cover
-            self.hashes[UNPROCESSED_KEY].append(obj)
+            self.hashes[UNPROCESSED_KEY].append(obj)  # type: ignore
 
         elif result is unprocessed:
             pass
@@ -580,7 +656,7 @@ class DeepHash(Base):
                 result_cleaned = result
             else:
                 result_cleaned = prepare_string_for_hashing(
-                    result, ignore_string_type_changes=self.ignore_string_type_changes,
+                    str(result), ignore_string_type_changes=self.ignore_string_type_changes,
                     ignore_string_case=self.ignore_string_case)
             result = self.hasher(result_cleaned)
 
diff -pruN 8.1.1-4/deepdiff/delta.py 8.6.1-1/deepdiff/delta.py
--- 8.1.1-4/deepdiff/delta.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/delta.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,13 +1,13 @@
 import copy
 import logging
-from typing import List, Dict, IO, Callable, Set, Union, Optional
+from typing import List, Dict, IO, Callable, Set, Union, Optional, Any
 from functools import partial, cmp_to_key
 from collections.abc import Mapping
 from copy import deepcopy
 from deepdiff import DeepDiff
 from deepdiff.serialization import pickle_load, pickle_dump
 from deepdiff.helper import (
-    strings, short_repr, numbers,
+    strings, numbers,
     np_ndarray, np_array_factory, numpy_dtypes, get_doc,
     not_found, numpy_dtype_string_to_type, dict_,
     Opcode, FlatDeltaRow, UnkownValueCode, FlatDataAction,
@@ -17,10 +17,10 @@ from deepdiff.helper import (
 )
 from deepdiff.path import (
     _path_to_elements, _get_nested_obj, _get_nested_obj_and_force,
-    GET, GETATTR, parse_path, stringify_path,
+    GET, GETATTR, check_elem, parse_path, stringify_path,
 )
 from deepdiff.anyset import AnySet
-
+from deepdiff.summarize import summarize
 
 logger = logging.getLogger(__name__)
 
@@ -86,6 +86,7 @@ class Delta:
         always_include_values: bool=False,
         iterable_compare_func_was_used: Optional[bool]=None,
         force: bool=False,
+        fill: Any=not_found,
     ):
         # for pickle deserializer:
         if hasattr(deserializer, '__code__') and 'safe_to_import' in set(deserializer.__code__.co_varnames):
@@ -158,6 +159,7 @@ class Delta:
         self.serializer = serializer
         self.deserializer = deserializer
         self.force = force
+        self.fill = fill
         if force:
             self.get_nested_obj = _get_nested_obj_and_force
         else:
@@ -165,13 +167,13 @@ class Delta:
         self.reset()
 
     def __repr__(self):
-        return "<Delta: {}>".format(short_repr(self.diff, max_length=100))
+        return "<Delta: {}>".format(summarize(self.diff, max_length=100))
 
     def reset(self):
         self.post_process_paths_to_convert = dict_()
 
     def __add__(self, other):
-        if isinstance(other, numbers) and self._numpy_paths:
+        if isinstance(other, numbers) and self._numpy_paths:  # type: ignore
             raise DeltaNumpyOperatorOverrideError(DELTA_NUMPY_OPERATOR_OVERRIDE_MSG)
         if self.mutate:
             self.root = other
@@ -235,12 +237,17 @@ class Delta:
         forced_old_value=None,
         next_element=None,
     ):
+        try:
+            check_elem(elem)
+        except ValueError as error:
+            self._raise_or_log(UNABLE_TO_GET_ITEM_MSG.format(path_for_err_reporting, error))
+            return not_found
         # if forced_old_value is not None:
         try:
             if action == GET:
                 current_old_value = obj[elem]
             elif action == GETATTR:
-                current_old_value = getattr(obj, elem)
+                current_old_value = getattr(obj, elem)  # type: ignore
             else:
                 raise DeltaError(INVALID_ACTION_WHEN_CALLING_GET_ELEM.format(action))
         except (KeyError, IndexError, AttributeError, TypeError) as e:
@@ -261,7 +268,7 @@ class Delta:
                     else:
                         obj[elem] = _forced_old_value
                 elif action == GETATTR:
-                    setattr(obj, elem, _forced_old_value)
+                    setattr(obj, elem, _forced_old_value)  # type: ignore
                 return _forced_old_value
             current_old_value = not_found
             if isinstance(path_for_err_reporting, (list, tuple)):
@@ -286,10 +293,17 @@ class Delta:
                 except IndexError:
                     if elem == len(obj):
                         obj.append(value)
+                    elif self.fill is not not_found and elem > len(obj):
+                        while len(obj) < elem:
+                            if callable(self.fill):
+                                obj.append(self.fill(obj, value, path_for_err_reporting))
+                            else:
+                                obj.append(self.fill)
+                        obj.append(value)
                     else:
                         self._raise_or_log(ELEM_NOT_FOUND_TO_ADD_MSG.format(elem, path_for_err_reporting))
             elif action == GETATTR:
-                setattr(obj, elem, value)
+                setattr(obj, elem, value)  # type: ignore
             else:
                 raise DeltaError(INVALID_ACTION_WHEN_CALLING_SIMPLE_SET_ELEM.format(action))
         except (KeyError, IndexError, AttributeError, TypeError) as e:
@@ -321,11 +335,21 @@ class Delta:
         Set the element value on an object and if necessary convert the object to the proper mutable type
         """
         if isinstance(obj, tuple):
-            # convert this object back to a tuple later
-            obj = self._coerce_obj(
-                parent, obj, path, parent_to_obj_elem,
-                parent_to_obj_action, elements,
-                to_type=list, from_type=tuple)
+            # Check if it's a NamedTuple and use _replace() to generate a new copy with the change
+            if hasattr(obj, '_fields') and hasattr(obj, '_replace'):
+                if action == GETATTR:
+                    obj = obj._replace(**{elem: new_value})
+                    if parent:
+                        self._simple_set_elem_value(obj=parent, path_for_err_reporting=path,
+                                                    elem=parent_to_obj_elem, value=obj,
+                                                    action=parent_to_obj_action)
+                return
+            else:
+                # Regular tuple - convert this object back to a tuple later
+                obj = self._coerce_obj(
+                    parent, obj, path, parent_to_obj_elem,
+                    parent_to_obj_action, elements,
+                    to_type=list, from_type=tuple)
         if elem != 0 and self.force and isinstance(obj, list) and len(obj) == 0:
             # it must have been a dictionary    
             obj = {}
@@ -457,8 +481,8 @@ class Delta:
                 continue  # pragma: no cover. Due to cPython peephole optimizer, this line doesn't get covered. https://github.com/nedbat/coveragepy/issues/198
 
             # Insert is only true for iterables, make sure it is a valid index.
-            if(insert and elem < len(obj)):
-                obj.insert(elem, None)
+            if(insert and elem < len(obj)):  # type: ignore
+                obj.insert(elem, None)  # type: ignore
 
             self._set_new_value(parent, parent_to_obj_elem, parent_to_obj_action,
                                 obj, elements, path, elem, action, new_value)
@@ -482,7 +506,7 @@ class Delta:
     def _do_pre_process(self):
         if self._numpy_paths and ('iterable_item_added' in self.diff or 'iterable_item_removed' in self.diff):
             preprocess_paths = dict_()
-            for path, type_ in self._numpy_paths.items():
+            for path, type_ in self._numpy_paths.items():  # type: ignore
                 preprocess_paths[path] = {'old_type': np_ndarray, 'new_type': list}
                 try:
                     type_ = numpy_dtype_string_to_type(type_)
@@ -507,7 +531,7 @@ class Delta:
                 parent_to_obj_elem, parent_to_obj_action = elements[-2]
                 obj = self._get_elem_and_compare_to_old_value(
                     obj=parent, path_for_err_reporting=path, expected_old_value=None,
-                    elem=parent_to_obj_elem, action=parent_to_obj_action, next_element=next2_element)
+                    elem=parent_to_obj_elem, action=parent_to_obj_action, next_element=next2_element)  # type: ignore
             else:
                 # parent = self
                 # obj = self.root
@@ -516,7 +540,8 @@ class Delta:
                 parent = parent_to_obj_elem = parent_to_obj_action = None
                 obj = self
                 # obj = self.get_nested_obj(obj=self, elements=elements[:-1])
-            elem, action = elements[-1]
+            elem, action = elements[-1]  # type: ignore
+            check_elem(elem)
         except Exception as e:
             self._raise_or_log(UNABLE_TO_GET_ITEM_MSG.format(path, e))
             return None
@@ -550,7 +575,7 @@ class Delta:
                     else:
                         new_value = new_type(current_old_value)
                 except Exception as e:
-                    self._raise_or_log(TYPE_CHANGE_FAIL_MSG.format(obj[elem], value.get('new_type', 'unknown'), e))
+                    self._raise_or_log(TYPE_CHANGE_FAIL_MSG.format(obj[elem], value.get('new_type', 'unknown'), e))  # type: ignore
                     continue
             else:
                 new_value = value['new_value']
@@ -582,7 +607,7 @@ class Delta:
             current_old_value = not_found
             try:
                 if action == GET:
-                    current_old_value = obj[elem]
+                    current_old_value = obj[elem]  # type: ignore
                 elif action == GETATTR:
                     current_old_value = getattr(obj, elem)
                 look_for_expected_old_value = current_old_value != expected_old_value
@@ -644,15 +669,15 @@ class Delta:
                         transformed.extend(opcode.new_values)
                     elif opcode.tag == 'equal':
                         # Items are the same in both lists, so we add them to the result
-                        transformed.extend(obj[opcode.t1_from_index:opcode.t1_to_index])
+                        transformed.extend(obj[opcode.t1_from_index:opcode.t1_to_index])  # type: ignore
                 if is_obj_tuple:
-                    obj = tuple(obj)
+                    obj = tuple(obj)  # type: ignore
                     # Making sure that the object is re-instated inside the parent especially if it was immutable
                     # and we had to turn it into a mutable one. In such cases the object has a new id.
                     self._simple_set_elem_value(obj=parent, path_for_err_reporting=path, elem=parent_to_obj_elem,
                                                 value=obj, action=parent_to_obj_action)
                 else:
-                    obj[:] = transformed
+                    obj[:] = transformed  # type: ignore
 
 
 
@@ -700,7 +725,12 @@ class Delta:
             obj = self._get_elem_and_compare_to_old_value(
                 parent, path_for_err_reporting=path, expected_old_value=None, elem=elem, action=action, forced_old_value=set())
             new_value = getattr(obj, func)(value)
-            self._simple_set_elem_value(parent, path_for_err_reporting=path, elem=elem, value=new_value, action=action)
+            if hasattr(parent, '_fields') and hasattr(parent, '_replace'):
+                # Handle parent NamedTuple by creating a new instance with _replace(). Will not work with nested objects.
+                new_parent = parent._replace(**{elem: new_value})
+                self.root = new_parent
+            else:
+                self._simple_set_elem_value(parent, path_for_err_reporting=path, elem=elem, value=new_value, action=action)
 
     def _do_ignore_order_get_old(self, obj, remove_indexes_per_path, fixed_indexes_values, path_for_err_reporting):
         """
@@ -745,7 +775,7 @@ class Delta:
         fixed_indexes = self.diff.get('iterable_items_added_at_indexes', dict_())
         remove_indexes = self.diff.get('iterable_items_removed_at_indexes', dict_())
         paths = SetOrdered(fixed_indexes.keys()) | SetOrdered(remove_indexes.keys())
-        for path in paths:
+        for path in paths:  # type: ignore
             # In the case of ignore_order reports, we are pointing to the container object.
             # Thus we add a [0] to the elements so we can get the required objects and discard what we don't need.
             elem_and_details = self._get_elements_and_details("{}[0]".format(path))
@@ -1021,7 +1051,7 @@ class Delta:
                     result['_iterable_opcodes'][path_str] = []
                 result['_iterable_opcodes'][path_str].append(
                     Opcode(
-                        tag=FLAT_DATA_ACTION_TO_OPCODE_TAG[action],
+                        tag=FLAT_DATA_ACTION_TO_OPCODE_TAG[action],  # type: ignore
                         t1_from_index=flat_dict.get('t1_from_index'),
                         t1_to_index=flat_dict.get('t1_to_index'),
                         t2_from_index=flat_dict.get('t2_from_index'),
@@ -1091,7 +1121,7 @@ class Delta:
         """
         return [
             i._asdict() for i in self.to_flat_rows(include_action_in_path=False, report_type_changes=True)
-        ]
+        ]  # type: ignore
 
     def to_flat_rows(self, include_action_in_path=False, report_type_changes=True) -> List[FlatDeltaRow]:
         """
@@ -1141,13 +1171,13 @@ class Delta:
                     for index, value in index_to_value.items():
                         path2 = path.copy()
                         if include_action_in_path:
-                            path2.append((index, 'GET'))
+                            path2.append((index, 'GET'))  # type: ignore
                         else:
                             path2.append(index)
                         if report_type_changes:
-                            row = FlatDeltaRow(path=path2, value=value, action=new_action, type=type(value))
+                            row = FlatDeltaRow(path=path2, value=value, action=new_action, type=type(value))  # type: ignore
                         else:
-                            row = FlatDeltaRow(path=path2, value=value, action=new_action)
+                            row = FlatDeltaRow(path=path2, value=value, action=new_action)  # type: ignore
                         result.append(row)
             elif action in {'set_item_added', 'set_item_removed'}:
                 for path, values in info.items():
@@ -1167,15 +1197,15 @@ class Delta:
                         value = value[new_key]
                     elif isinstance(value, (list, tuple)) and len(value) == 1:
                         value = value[0]
-                        path.append(0)
+                        path.append(0)  # type: ignore
                         action = 'iterable_item_added'
                     elif isinstance(value, set) and len(value) == 1:
                         value = value.pop()
                         action = 'set_item_added'
                     if report_type_changes:
-                        row = FlatDeltaRow(path=path, value=value, action=action, type=type(value))
+                        row = FlatDeltaRow(path=path, value=value, action=action, type=type(value))  # type: ignore
                     else:
-                        row = FlatDeltaRow(path=path, value=value, action=action)
+                        row = FlatDeltaRow(path=path, value=value, action=action)  # type: ignore
                     result.append(row)
             elif action in {
                 'dictionary_item_removed', 'iterable_item_added',
diff -pruN 8.1.1-4/deepdiff/diff.py 8.6.1-1/deepdiff/diff.py
--- 8.1.1-4/deepdiff/diff.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/diff.py	2025-09-03 19:38:30.000000000 +0000
@@ -8,24 +8,28 @@
 import difflib
 import logging
 import types
+import datetime
+import uuid
 from enum import Enum
 from copy import deepcopy
 from math import isclose as is_close
-from typing import List, Dict, IO, Callable, Set, Union, Any, Pattern, Tuple, Optional
+from typing import List, Dict, Callable, Union, Any, Pattern, Tuple, Optional, Set, FrozenSet, TYPE_CHECKING, Protocol, Literal
 from collections.abc import Mapping, Iterable, Sequence
 from collections import defaultdict
 from inspect import getmembers
 from itertools import zip_longest
-from deepdiff.helper import (strings, bytes_type, numbers, uuids, datetimes, ListItemRemovedOrAdded, notpresent,
+from functools import lru_cache
+from deepdiff.helper import (strings, bytes_type, numbers, uuids, ListItemRemovedOrAdded, notpresent,
                              IndexedHash, unprocessed, add_to_frozen_set, basic_types,
                              convert_item_or_items_into_set_else_none, get_type,
                              convert_item_or_items_into_compiled_regexes_else_none,
                              type_is_subclass_of_type_group, type_in_type_group, get_doc,
                              number_to_string, datetime_normalize, KEY_TO_VAL_STR, booleans,
                              np_ndarray, np_floating, get_numpy_ndarray_rows, RepeatedTimer,
-                             TEXT_VIEW, TREE_VIEW, DELTA_VIEW, detailed__dict__, add_root_to_paths,
+                             TEXT_VIEW, TREE_VIEW, DELTA_VIEW, COLORED_VIEW, COLORED_COMPACT_VIEW,
+                             detailed__dict__, add_root_to_paths,
                              np, get_truncate_datetime, dict_, CannotCompare, ENUM_INCLUDE_KEYS,
-                             PydanticBaseModel, Opcode, SetOrdered)
+                             PydanticBaseModel, Opcode, SetOrdered, ipranges)
 from deepdiff.serialization import SerializationMixin
 from deepdiff.distance import DistanceMixin, logarithmic_similarity
 from deepdiff.model import (
@@ -38,6 +42,11 @@ from deepdiff.model import (
 from deepdiff.deephash import DeepHash, combine_hashes_lists
 from deepdiff.base import Base
 from deepdiff.lfucache import LFUCache, DummyLFU
+from deepdiff.colored_view import ColoredView
+
+if TYPE_CHECKING:
+    from pytz.tzinfo import BaseTzInfo
+
 
 logger = logging.getLogger(__name__)
 
@@ -58,7 +67,7 @@ doc = get_doc('diff_doc.rst')
 PROGRESS_MSG = "DeepDiff {} seconds in progress. Pass #{}, Diff #{}"
 
 
-def _report_progress(_stats, progress_logger, duration):
+def _report_progress(_stats: Dict[str, Any], progress_logger: Callable[[str], None], duration: float) -> None:
     """
     Report the progress every few seconds.
     """
@@ -74,7 +83,7 @@ DISTANCE_CACHE_ENABLED = 'DISTANCE CACHE
 PREVIOUS_DIFF_COUNT = 'PREVIOUS DIFF COUNT'
 PREVIOUS_DISTANCE_CACHE_HIT_COUNT = 'PREVIOUS DISTANCE CACHE HIT COUNT'
 CANT_FIND_NUMPY_MSG = 'Unable to import numpy. This must be a bug in DeepDiff since a numpy array is detected.'
-INVALID_VIEW_MSG = 'The only valid values for the view parameter are text and tree. But {} was passed.'
+INVALID_VIEW_MSG = "view parameter must be one of 'text', 'tree', 'delta', 'colored' or 'colored_compact'. But {} was passed."
 CUTOFF_RANGE_ERROR_MSG = 'cutoff_distance_for_pairs needs to be a positive float max 1.'
 VERBOSE_LEVEL_RANGE_MSG = 'verbose_level should be 0, 1, or 2.'
 PURGE_LEVEL_RANGE_MSG = 'cache_purge_level should be 0, 1, or 2.'
@@ -100,6 +109,7 @@ DEEPHASH_PARAM_KEYS = (
     'number_format_notation',
     'ignore_string_type_changes',
     'ignore_numeric_type_changes',
+    'ignore_uuid_types',
     'use_enum_value',
     'ignore_type_in_groups',
     'ignore_type_subclasses',
@@ -108,10 +118,23 @@ DEEPHASH_PARAM_KEYS = (
     'ignore_private_variables',
     'encodings',
     'ignore_encoding_errors',
+    'default_timezone',
+    'custom_operators',
 )
 
 
-class DeepDiff(ResultDict, SerializationMixin, DistanceMixin, Base):
+class DeepDiffProtocol(Protocol):
+    t1: Any
+    t2: Any
+    cutoff_distance_for_pairs: float
+    use_log_scale: bool
+    log_scale_similarity_threshold: float
+    view: str
+    math_epsilon: Optional[float]
+
+
+
+class DeepDiff(ResultDict, SerializationMixin, DistanceMixin, DeepDiffProtocol, Base):
     __doc__ = doc
 
     CACHE_AUTO_ADJUST_THRESHOLD = 0.25
@@ -119,24 +142,25 @@ class DeepDiff(ResultDict, Serialization
     def __init__(self,
                  t1: Any,
                  t2: Any,
-                 _original_type=None,
+                 _original_type: Optional[Any]=None,
                  cache_purge_level: int=1,
                  cache_size: int=0,
                  cache_tuning_sample_size: int=0,
                  custom_operators: Optional[List[Any]] =None,
                  cutoff_distance_for_pairs: float=CUTOFF_DISTANCE_FOR_PAIRS_DEFAULT,
                  cutoff_intersection_for_pairs: float=CUTOFF_INTERSECTION_FOR_PAIRS_DEFAULT,
+                 default_timezone:Union[datetime.timezone, "BaseTzInfo"]=datetime.timezone.utc,
                  encodings: Optional[List[str]]=None,
                  exclude_obj_callback: Optional[Callable]=None,
                  exclude_obj_callback_strict: Optional[Callable]=None,
-                 exclude_paths: Union[str, List[str]]=None,
+                 exclude_paths: Union[str, List[str], Set[str], FrozenSet[str], None]=None,
                  exclude_regex_paths: Union[str, List[str], Pattern[str], List[Pattern[str]], None]=None,
-                 exclude_types: Optional[List[Any]]=None,
+                 exclude_types: Optional[List[type]]=None,
                  get_deep_distance: bool=False,
                  group_by: Union[str, Tuple[str, str], None]=None,
                  group_by_sort_key: Union[str, Callable, None]=None,
                  hasher: Optional[Callable]=None,
-                 hashes: Optional[Dict]=None,
+                 hashes: Optional[Dict[Any, Any]]=None,
                  ignore_encoding_errors: bool=False,
                  ignore_nan_inequality: bool=False,
                  ignore_numeric_type_changes: bool=False,
@@ -145,31 +169,33 @@ class DeepDiff(ResultDict, Serialization
                  ignore_private_variables: bool=True,
                  ignore_string_case: bool=False,
                  ignore_string_type_changes: bool=False,
-                 ignore_type_in_groups: Optional[List[Tuple]]=None,
+                 ignore_type_in_groups: Optional[List[Tuple[Any, ...]]]=None,
                  ignore_type_subclasses: bool=False,
+                 ignore_uuid_types: bool=False,
                  include_obj_callback: Optional[Callable]=None,
                  include_obj_callback_strict: Optional[Callable]=None,
-                 include_paths: Union[str, List[str]]=None,
+                 include_paths: Union[str, List[str], None]=None,
                  iterable_compare_func: Optional[Callable]=None,
                  log_frequency_in_sec: int=0,
+                 log_scale_similarity_threshold: float=0.1,
+                 log_stacktrace: bool=False,
                  math_epsilon: Optional[float]=None,
                  max_diffs: Optional[int]=None,
                  max_passes: int=10000000,
-                 number_format_notation: str="f",
+                 number_format_notation: Literal["f", "e"]="f",
                  number_to_string_func: Optional[Callable]=None,
-                 progress_logger: Callable=logger.info,
+                 progress_logger: Callable[[str], None]=logger.info,
                  report_repetition: bool=False,
                  significant_digits: Optional[int]=None,
-                 use_log_scale: bool=False,
-                 log_scale_similarity_threshold: float=0.1,
                  threshold_to_diff_deeper: float = 0.33,
                  truncate_datetime: Optional[str]=None,
                  use_enum_value: bool=False,
+                 use_log_scale: bool=False,
                  verbose_level: int=1,
                  view: str=TEXT_VIEW,
                  zip_ordered_iterables: bool=False,
-                 _parameters=None,
-                 _shared_parameters=None,
+                 _parameters: Optional[Dict[str, Any]]=None,
+                 _shared_parameters: Optional[Dict[str, Any]]=None,
                  **kwargs):
         super().__init__()
         if kwargs:
@@ -177,12 +203,12 @@ class DeepDiff(ResultDict, Serialization
                 "The following parameter(s) are not valid: %s\n"
                 "The valid parameters are ignore_order, report_repetition, significant_digits, "
                 "number_format_notation, exclude_paths, include_paths, exclude_types, exclude_regex_paths, ignore_type_in_groups, "
-                "ignore_string_type_changes, ignore_numeric_type_changes, ignore_type_subclasses, truncate_datetime, "
+                "ignore_string_type_changes, ignore_numeric_type_changes, ignore_type_subclasses, ignore_uuid_types, truncate_datetime, "
                 "ignore_private_variables, ignore_nan_inequality, number_to_string_func, verbose_level, "
                 "view, hasher, hashes, max_passes, max_diffs, zip_ordered_iterables, "
                 "cutoff_distance_for_pairs, cutoff_intersection_for_pairs, log_frequency_in_sec, cache_size, "
-                "cache_tuning_sample_size, get_deep_distance, group_by, group_by_sort_key, cache_purge_level, "
-                "math_epsilon, iterable_compare_func, use_enum_value, _original_type, threshold_to_diff_deeper, "
+                "cache_tuning_sample_size, get_deep_distance, group_by, group_by_sort_key, cache_purge_level, log_stacktrace,"
+                "math_epsilon, iterable_compare_func, use_enum_value, _original_type, threshold_to_diff_deeper, default_timezone "
                 "ignore_order_func, custom_operators, encodings, ignore_encoding_errors, use_log_scale, log_scale_similarity_threshold "
                 "_parameters and _shared_parameters.") % ', '.join(kwargs.keys()))
 
@@ -200,16 +226,24 @@ class DeepDiff(ResultDict, Serialization
             self.ignore_numeric_type_changes = ignore_numeric_type_changes
             if strings == ignore_type_in_groups or strings in ignore_type_in_groups:
                 ignore_string_type_changes = True
+            # Handle ignore_uuid_types - check if uuid+str group is already in ignore_type_in_groups
+            uuid_str_group = (uuids[0], str)
+            if uuid_str_group == ignore_type_in_groups or uuid_str_group in ignore_type_in_groups:
+                ignore_uuid_types = True
+            self.ignore_uuid_types = ignore_uuid_types
             self.use_enum_value = use_enum_value
             self.log_scale_similarity_threshold = log_scale_similarity_threshold
             self.use_log_scale = use_log_scale
+            self.default_timezone = default_timezone
+            self.log_stacktrace = log_stacktrace
             self.threshold_to_diff_deeper = threshold_to_diff_deeper
             self.ignore_string_type_changes = ignore_string_type_changes
             self.ignore_type_in_groups = self.get_ignore_types_in_groups(
                 ignore_type_in_groups=ignore_type_in_groups,
                 ignore_string_type_changes=ignore_string_type_changes,
                 ignore_numeric_type_changes=ignore_numeric_type_changes,
-                ignore_type_subclasses=ignore_type_subclasses)
+                ignore_type_subclasses=ignore_type_subclasses,
+                ignore_uuid_types=ignore_uuid_types)
             self.report_repetition = report_repetition
             self.exclude_paths = add_root_to_paths(convert_item_or_items_into_set_else_none(exclude_paths))
             self.include_paths = add_root_to_paths(convert_item_or_items_into_set_else_none(include_paths))
@@ -270,6 +304,10 @@ class DeepDiff(ResultDict, Serialization
             self.cache_size = cache_size
             _parameters = self.__dict__.copy()
             _parameters['group_by'] = None  # overwriting since these parameters will be passed on to other passes.
+            if log_stacktrace:
+                self.log_err = logger.exception
+            else:
+                self.log_err = logger.error
 
         # Non-Root
         if _shared_parameters:
@@ -295,10 +333,12 @@ class DeepDiff(ResultDict, Serialization
             }
             self.hashes = dict_() if hashes is None else hashes
             self._numpy_paths = dict_()  # if _numpy_paths is None else _numpy_paths
+            self.group_by_keys = set()  # Track keys that originated from group_by operations
             self._shared_parameters = {
                 'hashes': self.hashes,
                 '_stats': self._stats,
                 '_distance_cache': self._distance_cache,
+                'group_by_keys': self.group_by_keys,
                 '_numpy_paths': self._numpy_paths,
                 _ENABLE_CACHE_EVERY_X_DIFF: self.cache_tuning_sample_size * 10,
             }
@@ -339,7 +379,11 @@ class DeepDiff(ResultDict, Serialization
 
             self.tree.remove_empty_keys()
             view_results = self._get_view_results(self.view)
-            self.update(view_results)
+            if isinstance(view_results, ColoredView):
+                self.update(view_results.tree)
+                self._colored_view = view_results
+            else:
+                self.update(view_results)
         finally:
             if self.is_root:
                 if cache_purge_level:
@@ -400,8 +444,8 @@ class DeepDiff(ResultDict, Serialization
             self.tree[report_type].add(level)
 
     @staticmethod
-    def _dict_from_slots(object):
-        def unmangle(attribute):
+    def _dict_from_slots(object: Any) -> Dict[str, Any]:
+        def unmangle(attribute: str) -> str:
             if attribute.startswith('__') and attribute != '__weakref__':
                 return '_{type}{attribute}'.format(
                     type=type(object).__name__,
@@ -426,7 +470,7 @@ class DeepDiff(ResultDict, Serialization
 
         return {i: getattr(object, key) for i in all_slots if hasattr(object, key := unmangle(i))}
 
-    def _diff_enum(self, level, parents_ids=frozenset(), local_tree=None):
+    def _diff_enum(self, level: Any, parents_ids: FrozenSet[int]=frozenset(), local_tree: Optional[Any]=None) -> None:
         t1 = detailed__dict__(level.t1, include_keys=ENUM_INCLUDE_KEYS)
         t2 = detailed__dict__(level.t2, include_keys=ENUM_INCLUDE_KEYS)
 
@@ -440,9 +484,11 @@ class DeepDiff(ResultDict, Serialization
             local_tree=local_tree,
         )
 
-    def _diff_obj(self, level, parents_ids=frozenset(), is_namedtuple=False, local_tree=None, is_pydantic_object=False):
+    def _diff_obj(self, level: Any, parents_ids: FrozenSet[int]=frozenset(), is_namedtuple: bool=False, local_tree: Optional[Any]=None, is_pydantic_object: bool=False) -> None:
         """Difference of 2 objects"""
         processing_error = False
+        t1: Optional[Dict[str, Any]] = None
+        t2: Optional[Dict[str, Any]] = None
         try:
             if is_namedtuple:
                 t1 = level.t1._asdict()
@@ -461,7 +507,7 @@ class DeepDiff(ResultDict, Serialization
                 t2 = {k: v for k, v in getmembers(level.t2) if not callable(v)}
         except AttributeError:
             processing_error = True
-        if processing_error is True:
+        if processing_error is True or t1 is None or t2 is None:
             self._report_result('unprocessed', level, local_tree=local_tree)
             return
 
@@ -475,7 +521,7 @@ class DeepDiff(ResultDict, Serialization
             local_tree=local_tree,
         )
 
-    def _skip_this(self, level):
+    def _skip_this(self, level: Any) -> bool:
         """
         Check whether this comparison should be skipped because one of the objects to compare meets exclusion criteria.
         :rtype: bool
@@ -516,7 +562,7 @@ class DeepDiff(ResultDict, Serialization
 
         return skip
 
-    def _skip_this_key(self, level, key):
+    def _skip_this_key(self, level: Any, key: Any) -> bool:
         # if include_paths is not set, than treet every path as included
         if self.include_paths is None:
             return False
@@ -542,7 +588,7 @@ class DeepDiff(ResultDict, Serialization
             up = up.up
         return True
 
-    def _get_clean_to_keys_mapping(self, keys, level):
+    def _get_clean_to_keys_mapping(self, keys: Any, level: Any) -> Dict[Any, Any]:
         """
         Get a dictionary of cleaned value of keys to the keys themselves.
         This is mainly used to transform the keys when the type changes of keys should be ignored.
@@ -553,13 +599,26 @@ class DeepDiff(ResultDict, Serialization
         for key in keys:
             if self.ignore_string_type_changes and isinstance(key, bytes):
                 clean_key = key.decode('utf-8')
+            elif self.ignore_string_type_changes and isinstance(key, memoryview):
+                clean_key = key.tobytes().decode('utf-8')
             elif self.use_enum_value and isinstance(key, Enum):
                 clean_key = key.value
             elif isinstance(key, numbers):
-                type_ = "number" if self.ignore_numeric_type_changes else key.__class__.__name__
-                clean_key = self.number_to_string(key, significant_digits=self.significant_digits,
-                                                  number_format_notation=self.number_format_notation)
-                clean_key = KEY_TO_VAL_STR.format(type_, clean_key)
+                # Skip type prefixing for keys that originated from group_by operations
+                if hasattr(self, 'group_by_keys') and key in self.group_by_keys:
+                    if self.significant_digits is None:
+                        clean_key = key
+                    else:
+                        clean_key = self.number_to_string(key, significant_digits=self.significant_digits,
+                                                          number_format_notation=self.number_format_notation)  # type: ignore  # type: ignore
+                else:
+                    type_ = "number" if self.ignore_numeric_type_changes else key.__class__.__name__
+                    if self.significant_digits is None:
+                        clean_key = key
+                    else:
+                        clean_key = self.number_to_string(key, significant_digits=self.significant_digits,
+                                                          number_format_notation=self.number_format_notation)  # type: ignore  # type: ignore
+                    clean_key = KEY_TO_VAL_STR.format(type_, clean_key)
             else:
                 clean_key = key
             if self.ignore_string_case and isinstance(clean_key, str):
@@ -574,14 +633,14 @@ class DeepDiff(ResultDict, Serialization
 
     def _diff_dict(
         self,
-        level,
-        parents_ids=frozenset([]),
-        print_as_attribute=False,
-        override=False,
-        override_t1=None,
-        override_t2=None,
-        local_tree=None,
-    ):
+        level: Any,
+        parents_ids: FrozenSet[int]=frozenset([]),
+        print_as_attribute: bool=False,
+        override: bool=False,
+        override_t1: Optional[Any]=None,
+        override_t2: Optional[Any]=None,
+        local_tree: Optional[Any]=None,
+    ) -> None:
         """Difference of 2 dictionaries"""
         if override:
             # for special stuff like custom objects and named tuples we receive preprocessed t1 and t2
@@ -679,7 +738,7 @@ class DeepDiff(ResultDict, Serialization
                 )
             self._diff(next_level, parents_ids_added, local_tree=local_tree)
 
-    def _diff_set(self, level, local_tree=None):
+    def _diff_set(self, level: Any, local_tree: Optional[Any]=None) -> None:
         """Difference of sets"""
         t1_hashtable = self._create_hashtable(level, 't1')
         t2_hashtable = self._create_hashtable(level, 't2')
@@ -710,7 +769,7 @@ class DeepDiff(ResultDict, Serialization
             self._report_result('set_item_removed', change_level, local_tree=local_tree)
 
     @staticmethod
-    def _iterables_subscriptable(t1, t2):
+    def _iterables_subscriptable(t1: Any, t2: Any) -> bool:
         try:
             if getattr(t1, '__getitem__') and getattr(t2, '__getitem__'):
                 return True
@@ -719,7 +778,7 @@ class DeepDiff(ResultDict, Serialization
         except AttributeError:
             return False
 
-    def _diff_iterable(self, level, parents_ids=frozenset(), _original_type=None, local_tree=None):
+    def _diff_iterable(self, level: Any, parents_ids: FrozenSet[int]=frozenset(), _original_type: Optional[type]=None, local_tree: Optional[Any]=None) -> None:
         """Difference of iterables"""
         if (self.ignore_order_func and self.ignore_order_func(level)) or self.ignore_order:
             self._diff_iterable_with_deephash(level, parents_ids, _original_type=_original_type, local_tree=local_tree)
@@ -730,7 +789,7 @@ class DeepDiff(ResultDict, Serialization
         self, level,
         t1_from_index=None, t1_to_index=None,
         t2_from_index=None, t2_to_index=None
-    ):
+    ) -> List[Tuple[Tuple[int, int], Tuple[Any, Any]]]:
         """
         Default compare if `iterable_compare_func` is not provided.
         This will compare in sequence order.
@@ -750,7 +809,7 @@ class DeepDiff(ResultDict, Serialization
         self, level,
         t1_from_index=None, t1_to_index=None,
         t2_from_index=None, t2_to_index=None
-    ):
+    ) -> List[Tuple[Tuple[int, int], Tuple[Any, Any]]]:
         """
         Given a level get matching pairs. This returns list of two tuples in the form:
         [
@@ -863,7 +922,7 @@ class DeepDiff(ResultDict, Serialization
                 local_tree=local_tree,
             )
 
-    def _all_values_basic_hashable(self, iterable):
+    def _all_values_basic_hashable(self, iterable: Iterable[Any]) -> bool:
         """
         Are all items basic hashable types?
         Or there are custom types too?
@@ -926,11 +985,10 @@ class DeepDiff(ResultDict, Serialization
                     self._report_result('iterable_item_moved', change_level, local_tree=local_tree)
 
                     if self.iterable_compare_func:
-                        # Intentionally setting j as the first child relationship param in cases of a moved item.
-                        # If the item was moved using an iterable_compare_func then we want to make sure that the index
-                        # is relative to t2.
-                        reference_param1 = j
-                        reference_param2 = i
+                        # Mark additional context denoting that we have moved an item.
+                        # This will allow for correctly setting paths relative to t2 when using an iterable_compare_func
+                        level.additional["moved"] = True
+
                     else:
                         continue
 
@@ -1020,13 +1078,23 @@ class DeepDiff(ResultDict, Serialization
         t1_str = level.t1
         t2_str = level.t2
 
-        if isinstance(level.t1, bytes_type):
+        if isinstance(level.t1, memoryview):
+            try:
+                t1_str = level.t1.tobytes().decode('ascii')
+            except UnicodeDecodeError:
+                do_diff = False
+        elif isinstance(level.t1, bytes_type):
             try:
                 t1_str = level.t1.decode('ascii')
             except UnicodeDecodeError:
                 do_diff = False
 
-        if isinstance(level.t2, bytes_type):
+        if isinstance(level.t2, memoryview):
+            try:
+                t2_str = level.t2.tobytes().decode('ascii')
+            except UnicodeDecodeError:
+                do_diff = False
+        elif isinstance(level.t2, bytes_type):
             try:
                 t2_str = level.t2.decode('ascii')
             except UnicodeDecodeError:
@@ -1082,19 +1150,22 @@ class DeepDiff(ResultDict, Serialization
                 # It only includes the ones needed when comparing iterables.
                 # The self.hashes dictionary gets shared between different runs of DeepHash
                 # So that any object that is already calculated to have a hash is not re-calculated.
-                deep_hash = DeepHash(item,
-                                     hashes=self.hashes,
-                                     parent=parent,
-                                     apply_hash=True,
-                                     **self.deephash_parameters,
-                                     )
+                deep_hash = DeepHash(
+                    item,
+                    hashes=self.hashes,
+                    parent=parent,
+                    apply_hash=True,
+                    **self.deephash_parameters,
+                 )
             except UnicodeDecodeError as err:
                 err.reason = f"Can not produce a hash for {level.path()}: {err.reason}"
                 raise
-            except Exception as e:  # pragma: no cover
-                logger.error("Can not produce a hash for %s."
-                             "Not counting this object.\n %s" %
-                             (level.path(), e))
+            except NotImplementedError:
+                raise
+            # except Exception as e:  # pragma: no cover
+            #     logger.error("Can not produce a hash for %s."
+            #                  "Not counting this object.\n %s" %
+            #                  (level.path(), e))
             else:
                 try:
                     item_hash = deep_hash[item]
@@ -1102,27 +1173,24 @@ class DeepDiff(ResultDict, Serialization
                     pass
                 else:
                     if item_hash is unprocessed:  # pragma: no cover
-                        logger.warning("Item %s was not processed while hashing "
+                        self.log_err("Item %s was not processed while hashing "
                                        "thus not counting this object." %
                                        level.path())
                     else:
                         self._add_hash(hashes=local_hashes, item_hash=item_hash, item=item, i=i)
 
         # Also we hash the iterables themselves too so that we can later create cache keys from those hashes.
-        try:
-            DeepHash(
-                obj,
-                hashes=self.hashes,
-                parent=level.path(),
-                apply_hash=True,
-                **self.deephash_parameters,
-            )
-        except Exception as e:  # pragma: no cover
-            logger.error("Can not produce a hash for iterable %s. %s" %
-                         (level.path(), e))
+        DeepHash(
+            obj,
+            hashes=self.hashes,
+            parent=level.path(),
+            apply_hash=True,
+            **self.deephash_parameters,
+        )
         return local_hashes
 
     @staticmethod
+    @lru_cache(maxsize=2028)
     def _get_distance_cache_key(added_hash, removed_hash):
         key1, key2 = (added_hash, removed_hash) if added_hash > removed_hash else (removed_hash, added_hash)
         if isinstance(key1, int):
@@ -1475,21 +1543,34 @@ class DeepDiff(ResultDict, Serialization
             # For Decimals, format seems to round 2.5 to 2 and 3.5 to 4 (to closest even number)
             t1_s = self.number_to_string(level.t1,
                                          significant_digits=self.significant_digits,
-                                         number_format_notation=self.number_format_notation)
+                                         number_format_notation=self.number_format_notation)  # type: ignore
             t2_s = self.number_to_string(level.t2,
                                          significant_digits=self.significant_digits,
-                                         number_format_notation=self.number_format_notation)
+                                         number_format_notation=self.number_format_notation)  # type: ignore
 
             t1_s = KEY_TO_VAL_STR.format(t1_type, t1_s)
             t2_s = KEY_TO_VAL_STR.format(t2_type, t2_s)
             if t1_s != t2_s:
                 self._report_result('values_changed', level, local_tree=local_tree)
 
-    def _diff_datetimes(self, level, local_tree=None):
+    def _diff_ipranges(self, level, local_tree=None):
+        """Diff IP ranges"""
+        if str(level.t1) != str(level.t2):
+            self._report_result('values_changed', level, local_tree=local_tree)
+
+    def _diff_datetime(self, level, local_tree=None):
+        """Diff DateTimes"""
+        level.t1 = datetime_normalize(self.truncate_datetime, level.t1, default_timezone=self.default_timezone)
+        level.t2 = datetime_normalize(self.truncate_datetime, level.t2, default_timezone=self.default_timezone)
+
+        if level.t1 != level.t2:
+            self._report_result('values_changed', level, local_tree=local_tree)
+
+    def _diff_time(self, level, local_tree=None):
         """Diff DateTimes"""
         if self.truncate_datetime:
-            level.t1 = datetime_normalize(self.truncate_datetime, level.t1)
-            level.t2 = datetime_normalize(self.truncate_datetime, level.t2)
+            level.t1 = datetime_normalize(self.truncate_datetime, level.t1, default_timezone=self.default_timezone)
+            level.t2 = datetime_normalize(self.truncate_datetime, level.t2, default_timezone=self.default_timezone)
 
         if level.t1 != level.t2:
             self._report_result('values_changed', level, local_tree=local_tree)
@@ -1666,13 +1747,41 @@ class DeepDiff(ResultDict, Serialization
             self._diff_booleans(level, local_tree=local_tree)
 
         elif isinstance(level.t1, strings):
-            self._diff_str(level, local_tree=local_tree)
+            # Special handling when comparing string with UUID and ignore_uuid_types is True
+            if self.ignore_uuid_types and isinstance(level.t2, uuids):
+                try:
+                    # Convert string to UUID for comparison
+                    t1_uuid = uuid.UUID(level.t1)
+                    if t1_uuid.int != level.t2.int:
+                        self._report_result('values_changed', level, local_tree=local_tree)
+                except (ValueError, AttributeError):
+                    # If string is not a valid UUID, report as changed
+                    self._report_result('values_changed', level, local_tree=local_tree)
+            else:
+                self._diff_str(level, local_tree=local_tree)
 
-        elif isinstance(level.t1, datetimes):
-            self._diff_datetimes(level, local_tree=local_tree)
+        elif isinstance(level.t1, datetime.datetime):
+            self._diff_datetime(level, local_tree=local_tree)
+
+        elif isinstance(level.t1, ipranges):
+            self._diff_ipranges(level, local_tree=local_tree)
+
+        elif isinstance(level.t1, (datetime.date, datetime.timedelta, datetime.time)):
+            self._diff_time(level, local_tree=local_tree)
 
         elif isinstance(level.t1, uuids):
-            self._diff_uuids(level, local_tree=local_tree)
+            # Special handling when comparing UUID with string and ignore_uuid_types is True
+            if self.ignore_uuid_types and isinstance(level.t2, str):
+                try:
+                    # Convert string to UUID for comparison
+                    t2_uuid = uuid.UUID(level.t2)
+                    if level.t1.int != t2_uuid.int:
+                        self._report_result('values_changed', level, local_tree=local_tree)
+                except (ValueError, AttributeError):
+                    # If string is not a valid UUID, report as changed
+                    self._report_result('values_changed', level, local_tree=local_tree)
+            else:
+                self._diff_uuids(level, local_tree=local_tree)
 
         elif isinstance(level.t1, numbers):
             self._diff_numbers(level, local_tree=local_tree, report_type_change=report_type_change)
@@ -1715,6 +1824,10 @@ class DeepDiff(ResultDict, Serialization
             result.remove_empty_keys()
         elif view == DELTA_VIEW:
             result = self._to_delta_dict(report_repetition_required=False)
+        elif view == COLORED_VIEW:
+            result = ColoredView(t2=self.t2, tree_result=self.tree, compact=False)
+        elif view == COLORED_COMPACT_VIEW:
+            result = ColoredView(t2=self.t2, tree_result=self.tree, compact=True)
         else:
             raise ValueError(INVALID_VIEW_MSG.format(view))
         return result
@@ -1745,8 +1858,14 @@ class DeepDiff(ResultDict, Serialization
             for row in item_copy:
                 if isinstance(row, Mapping):
                     key1 = self._get_key_for_group_by(row, group_by_level1, item_name)
+                    # Track keys created by group_by to avoid type prefixing later
+                    if hasattr(self, 'group_by_keys'):
+                        self.group_by_keys.add(key1)
                     if group_by_level2:
                         key2 = self._get_key_for_group_by(row, group_by_level2, item_name)
+                        # Track level 2 keys as well
+                        if hasattr(self, 'group_by_keys'):
+                            self.group_by_keys.add(key2)
                         if key1 not in result:
                             result[key1] = {}
                         if self.group_by_sort_key:
@@ -1855,6 +1974,11 @@ class DeepDiff(ResultDict, Serialization
                         result.add(root_key)
         return result
 
+    def __str__(self):
+        if hasattr(self, '_colored_view') and self.view in {COLORED_VIEW, COLORED_COMPACT_VIEW}:
+            return str(self._colored_view)
+        return super().__str__()
+
 
 if __name__ == "__main__":  # pragma: no cover
     import doctest
diff -pruN 8.1.1-4/deepdiff/distance.py 8.6.1-1/deepdiff/distance.py
--- 8.1.1-4/deepdiff/distance.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/distance.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,19 +1,45 @@
 import math
 import datetime
+from typing import TYPE_CHECKING, Callable, Protocol, Any, Union, Optional
 from deepdiff.deephash import DeepHash
 from deepdiff.helper import (
     DELTA_VIEW, numbers, strings, add_to_frozen_set, not_found, only_numbers, np, np_float64, time_to_seconds,
     cartesian_product_numpy, np_ndarray, np_array_factory, get_homogeneous_numpy_compatible_type_of_seq, dict_,
-    CannotCompare)
+    CannotCompare, NumberType)
 from collections.abc import Mapping, Iterable
 
+if TYPE_CHECKING:
+    from deepdiff.diff import DeepDiffProtocol
+
+    class DistanceProtocol(DeepDiffProtocol, Protocol):
+        hashes: dict
+        deephash_parameters: dict
+        iterable_compare_func: Optional[Callable]
+        math_epsilon: Optional[float]
+        cutoff_distance_for_pairs: float
+
+        def __get_item_rough_length(self, item, parent:str="root") -> float:
+            ...
+
+        def _to_delta_dict(
+            self,
+            directed: bool = True,
+            report_repetition_required: bool = True,
+            always_include_values: bool = False,
+        ) -> dict:
+            ...
+
+        def __calculate_item_deephash(self, item: Any) -> None:
+            ...
+
+
 
 DISTANCE_CALCS_NEEDS_CACHE = "Distance calculation can not happen once the cache is purged. Try with _cache='keep'"
 
 
 class DistanceMixin:
 
-    def _get_rough_distance(self):
+    def _get_rough_distance(self: "DistanceProtocol"):
         """
         Gives a numeric value for the distance of t1 and t2 based on how many operations are needed to convert
         one to the other.
@@ -48,7 +74,7 @@ class DistanceMixin:
 
         return diff_length / (t1_len + t2_len)
 
-    def __get_item_rough_length(self, item, parent='root'):
+    def __get_item_rough_length(self: "DistanceProtocol", item, parent='root'):
         """
         Get the rough length of an item.
         It is used as a part of calculating the rough distance between objects.
@@ -66,7 +92,7 @@ class DistanceMixin:
             length = DeepHash.get_key(self.hashes, key=item, default=None, extract_index=1)
         return length
 
-    def __calculate_item_deephash(self, item):
+    def __calculate_item_deephash(self: "DistanceProtocol", item: Any) -> None:
         DeepHash(
             item,
             hashes=self.hashes,
@@ -76,8 +102,7 @@ class DistanceMixin:
         )
 
     def _precalculate_distance_by_custom_compare_func(
-            self, hashes_added, hashes_removed, t1_hashtable, t2_hashtable, _original_type):
-
+            self: "DistanceProtocol", hashes_added, hashes_removed, t1_hashtable, t2_hashtable, _original_type):
         pre_calced_distances = dict_()
         for added_hash in hashes_added:
             for removed_hash in hashes_removed:
@@ -96,7 +121,7 @@ class DistanceMixin:
         return pre_calced_distances
 
     def _precalculate_numpy_arrays_distance(
-            self, hashes_added, hashes_removed, t1_hashtable, t2_hashtable, _original_type):
+            self: "DistanceProtocol", hashes_added, hashes_removed, t1_hashtable, t2_hashtable, _original_type):
 
         # We only want to deal with 1D arrays.
         if isinstance(t2_hashtable[next(iter(hashes_added))].item, (np_ndarray, list)):
@@ -200,7 +225,7 @@ def _get_numbers_distance(num1, num2, ma
         return 0
     if use_log_scale:
         distance = logarithmic_distance(num1, num2)
-        if distance < logarithmic_distance:
+        if distance < 0:
             return 0
         return distance
     if not isinstance(num1, float):
@@ -243,7 +268,7 @@ def numpy_apply_log_keep_sign(array, off
     return signed_log_values
 
 
-def logarithmic_similarity(a: numbers, b: numbers, threshold: float=0.1):
+def logarithmic_similarity(a: NumberType, b: NumberType, threshold: float=0.1) -> float:
     """
     A threshold of 0.1 translates to about 10.5% difference.
     A threshold of 0.5 translates to about 65% difference.
@@ -252,7 +277,7 @@ def logarithmic_similarity(a: numbers, b
     return logarithmic_distance(a, b) < threshold
 
 
-def logarithmic_distance(a: numbers, b: numbers):
+def logarithmic_distance(a: NumberType, b: NumberType) -> float:
     # Apply logarithm to the absolute values and consider the sign
     a = float(a)
     b = float(b)
diff -pruN 8.1.1-4/deepdiff/helper.py 8.6.1-1/deepdiff/helper.py
--- 8.1.1-4/deepdiff/helper.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/helper.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,7 +1,6 @@
 import sys
 import re
 import os
-import math
 import datetime
 import uuid
 import logging
@@ -9,16 +8,18 @@ import warnings
 import string
 import time
 import enum
-from typing import NamedTuple, Any, List, Optional
+import ipaddress
+from typing import NamedTuple, Any, List, Optional, Dict, Union, TYPE_CHECKING, Tuple, Iterable, Iterator, Set, FrozenSet, Callable, Pattern, Type, TypeVar, Generic, Literal, overload
+from collections.abc import Mapping, Sequence, Generator
 from ast import literal_eval
 from decimal import Decimal, localcontext, InvalidOperation as InvalidDecimalOperation
 from itertools import repeat
-# from orderly_set import OrderlySet as SetOrderedBase  # median: 0.806 s, some tests are failing
-# from orderly_set import SetOrdered as SetOrderedBase  # median 1.011 s, didn't work for tests
 from orderly_set import StableSetEq as SetOrderedBase  # median: 1.0867 s for cache test, 5.63s for all tests
-# from orderly_set import OrderedSet as SetOrderedBase  # median  1.1256 s for cache test, 5.63s for all tests
 from threading import Timer
 
+if TYPE_CHECKING:
+    from pytz.tzinfo import BaseTzInfo
+
 
 class np_type:
     pass
@@ -29,7 +30,7 @@ class pydantic_base_model_type:
 
 
 class SetOrdered(SetOrderedBase):
-    def __repr__(self):
+    def __repr__(self) -> str:
         return str(list(self))
 
 
@@ -58,6 +59,7 @@ except ImportError:  # pragma: no cover.
     np_complex128 = np_type  # pragma: no cover.
     np_cdouble = np_type  # pragma: no cover.
     np_complexfloating = np_type  # pragma: no cover.
+    np_datetime64 = np_type  # pragma: no cover.
 else:
     np_array_factory = np.array
     np_ndarray = np.ndarray
@@ -80,26 +82,28 @@ else:
     np_complex128 = np.complex128
     np_cdouble = np.cdouble  # np.complex_ is an alias for np.cdouble and is being removed by NumPy 2.0
     np_complexfloating = np.complexfloating
+    np_datetime64 = np.datetime64
 
-numpy_numbers = (
+numpy_numbers: Tuple[Type[Any], ...] = (
     np_int8, np_int16, np_int32, np_int64, np_uint8,
     np_uint16, np_uint32, np_uint64, np_intp, np_uintp,
     np_float32, np_float64, np_double, np_floating, np_complex64,
     np_complex128, np_cdouble,)
 
-numpy_complex_numbers = (
+numpy_complex_numbers: Tuple[Type[Any], ...] = (
     np_complexfloating, np_complex64, np_complex128, np_cdouble,
 )
 
-numpy_dtypes = set(numpy_numbers)
-numpy_dtypes.add(np_bool_)
+numpy_dtypes: Set[Type[Any]] = set(numpy_numbers)
+numpy_dtypes.add(np_bool_)  # type: ignore
+numpy_dtypes.add(np_datetime64)  # type: ignore
 
-numpy_dtype_str_to_type = {
+numpy_dtype_str_to_type: Dict[str, Type[Any]] = {
     item.__name__: item for item in numpy_dtypes
 }
 
 try:
-    from pydantic.main import BaseModel as PydanticBaseModel
+    from pydantic.main import BaseModel as PydanticBaseModel  # type: ignore
 except ImportError:
     PydanticBaseModel = pydantic_base_model_type
 
@@ -109,28 +113,28 @@ logger = logging.getLogger(__name__)
 py_major_version = sys.version_info.major
 py_minor_version = sys.version_info.minor
 
-py_current_version = Decimal("{}.{}".format(py_major_version, py_minor_version))
+py_current_version: Decimal = Decimal("{}.{}".format(py_major_version, py_minor_version))
 
 py2 = py_major_version == 2
 py3 = py_major_version == 3
 py4 = py_major_version == 4
 
 
-NUMERICS = frozenset(string.digits)
+NUMERICS: FrozenSet[str] = frozenset(string.digits)
 
 
 class EnumBase(str, enum.Enum):
-    def __repr__(self):
+    def __repr__(self) -> str:
         """
         We need to add a single quotes so we can easily copy the value when we do ipdb.
         """
         return f"'{self.name}'"
 
-    def __str__(self):
+    def __str__(self) -> str:
         return self.name
 
 
-def _int_or_zero(value):
+def _int_or_zero(value: str) -> int:
     """
     Tries to extract some number from a string.
 
@@ -148,19 +152,19 @@ def _int_or_zero(value):
         return 0
 
 
-def get_semvar_as_integer(version):
+def get_semvar_as_integer(version: str) -> int:
     """
     Converts:
 
     '1.23.5' to 1023005
     """
-    version = version.split('.')
-    if len(version) > 3:
-        version = version[:3]
-    elif len(version) < 3:
-        version.extend(['0'] * (3 - len(version)))
+    version_parts = version.split('.')
+    if len(version_parts) > 3:
+        version_parts = version_parts[:3]
+    elif len(version_parts) < 3:
+        version_parts.extend(['0'] * (3 - len(version_parts)))
 
-    return sum([10**(i * 3) * _int_or_zero(v) for i, v in enumerate(reversed(version))])
+    return sum([10**(i * 3) * _int_or_zero(v) for i, v in enumerate(reversed(version_parts))])
 
 
 # we used to use OrderedDictPlus when dictionaries in Python were not ordered.
@@ -179,21 +183,24 @@ pypy3 = py3 and hasattr(sys, "pypy_trans
 if np and get_semvar_as_integer(np.__version__) < 1019000:
     sys.exit('The minimum required Numpy version is 1.19.0. Please upgrade your Numpy package.')
 
-strings = (str, bytes)  # which are both basestring
+strings: Tuple[Type[str], Type[bytes], Type[memoryview]] = (str, bytes, memoryview)  # which are both basestring
 unicode_type = str
 bytes_type = bytes
-only_complex_number = (complex,) + numpy_complex_numbers
-only_numbers = (int, float, complex, Decimal) + numpy_numbers
-datetimes = (datetime.datetime, datetime.date, datetime.timedelta, datetime.time)
-uuids = (uuid.UUID, )
-times = (datetime.datetime, datetime.time)
-numbers = only_numbers + datetimes
-booleans = (bool, np_bool_)
+only_complex_number: Tuple[Type[Any], ...] = (complex,) + numpy_complex_numbers
+only_numbers: Tuple[Type[Any], ...] = (int, float, complex, Decimal) + numpy_numbers
+datetimes: Tuple[Type[Any], ...] = (datetime.datetime, datetime.date, datetime.timedelta, datetime.time, np_datetime64)
+ipranges: Tuple[Type[Any], ...] = (ipaddress.IPv4Interface, ipaddress.IPv6Interface, ipaddress.IPv4Network, ipaddress.IPv6Network, ipaddress.IPv4Address, ipaddress.IPv6Address)
+uuids: Tuple[Type[uuid.UUID]] = (uuid.UUID, )
+times: Tuple[Type[Any], ...] = (datetime.datetime, datetime.time, np_datetime64)
+numbers: Tuple[Type[Any], ...] = only_numbers + datetimes
+# Type alias for use in type annotations
+NumberType = Union[int, float, complex, Decimal, datetime.datetime, datetime.date, datetime.timedelta, datetime.time, Any]
+booleans: Tuple[Type[bool], Type[Any]] = (bool, np_bool_)
 
-basic_types = strings + numbers + uuids + booleans + (type(None), )
+basic_types: Tuple[Type[Any], ...] = strings + numbers + uuids + booleans + (type(None), )
 
 class IndexedHash(NamedTuple):
-    indexes: List
+    indexes: List[Any]
     item: Any
 
 current_dir = os.path.dirname(os.path.abspath(__file__))
@@ -205,11 +212,13 @@ KEY_TO_VAL_STR = "{}:{}"
 TREE_VIEW = 'tree'
 TEXT_VIEW = 'text'
 DELTA_VIEW = '_delta'
+COLORED_VIEW = 'colored'
+COLORED_COMPACT_VIEW = 'colored_compact'
 
-ENUM_INCLUDE_KEYS = ['__objclass__', 'name', 'value']
+ENUM_INCLUDE_KEYS: List[str] = ['__objclass__', 'name', 'value']
 
 
-def short_repr(item, max_length=15):
+def short_repr(item: Any, max_length: int = 15) -> str:
     """Short representation of item if it is too long"""
     item = repr(item)
     if len(item) > max_length:
@@ -223,7 +232,7 @@ class ListItemRemovedOrAdded:  # pragma:
 
 
 class OtherTypes:
-    def __repr__(self):
+    def __repr__(self) -> str:
         return "Error: {}".format(self.__class__.__name__)  # pragma: no cover
 
     __str__ = __repr__
@@ -248,7 +257,7 @@ class NotPresent:  # pragma: no cover
     We previously used None for this but this caused problem when users actually added and removed None. Srsly guys? :D
     """
 
-    def __repr__(self):
+    def __repr__(self) -> str:
         return 'not present'  # pragma: no cover
 
     __str__ = __repr__
@@ -303,22 +312,21 @@ class indexed_set(set):
     """
 
 
-def add_to_frozen_set(parents_ids, item_id):
+def add_to_frozen_set(parents_ids: FrozenSet[int], item_id: int) -> FrozenSet[int]:
     return parents_ids | {item_id}
 
 
-def convert_item_or_items_into_set_else_none(items):
+def convert_item_or_items_into_set_else_none(items: Union[str, Iterable[str], None]) -> Optional[Set[str]]:
     if items:
-        if isinstance(items, strings):
-            items = {items}
+        if isinstance(items, str):
+            return {items}
         else:
-            items = set(items)
+            return set(items)
     else:
-        items = None
-    return items
+        return None
 
 
-def add_root_to_paths(paths):
+def add_root_to_paths(paths: Optional[Iterable[str]]) -> Optional[SetOrdered]:
     """
     Sometimes the users want to just pass
     [key] instead of root[key] for example.
@@ -346,47 +354,48 @@ def add_root_to_paths(paths):
 RE_COMPILED_TYPE = type(re.compile(''))
 
 
-def convert_item_or_items_into_compiled_regexes_else_none(items):
+def convert_item_or_items_into_compiled_regexes_else_none(items: Union[str, Pattern[str], Iterable[Union[str, Pattern[str]]], None]) -> Optional[List[Pattern[str]]]:
     if items:
-        if isinstance(items, (strings, RE_COMPILED_TYPE)):
-            items = [items]
-        items = [i if isinstance(i, RE_COMPILED_TYPE) else re.compile(i) for i in items]
+        if isinstance(items, (str, RE_COMPILED_TYPE)):
+            items_list = [items]  # type: ignore
+        else:
+            items_list = list(items)  # type: ignore
+        return [i if isinstance(i, RE_COMPILED_TYPE) else re.compile(i) for i in items_list]
     else:
-        items = None
-    return items
+        return None
 
 
-def get_id(obj):
+def get_id(obj: Any) -> str:
     """
     Adding some characters to id so they are not just integers to reduce the risk of collision.
     """
     return "{}{}".format(ID_PREFIX, id(obj))
 
 
-def get_type(obj):
+def get_type(obj: Any) -> Type[Any]:
     """
     Get the type of object or if it is a class, return the class itself.
     """
     if isinstance(obj, np_ndarray):
-        return obj.dtype.type
+        return obj.dtype.type  # type: ignore
     return obj if type(obj) is type else type(obj)
 
 
-def numpy_dtype_string_to_type(dtype_str):
+def numpy_dtype_string_to_type(dtype_str: str) -> Type[Any]:
     return numpy_dtype_str_to_type[dtype_str]
 
 
-def type_in_type_group(item, type_group):
+def type_in_type_group(item: Any, type_group: Tuple[Type[Any], ...]) -> bool:
     return get_type(item) in type_group
 
 
-def type_is_subclass_of_type_group(item, type_group):
+def type_is_subclass_of_type_group(item: Any, type_group: Tuple[Type[Any], ...]) -> bool:
     return isinstance(item, type_group) \
         or (isinstance(item, type) and issubclass(item, type_group)) \
         or type_in_type_group(item, type_group)
 
 
-def get_doc(doc_filename):
+def get_doc(doc_filename: str) -> str:
     try:
         with open(os.path.join(current_dir, '../docs/', doc_filename), 'r') as doc_file:
             doc = doc_file.read()
@@ -395,13 +404,13 @@ def get_doc(doc_filename):
     return doc
 
 
-number_formatting = {
+number_formatting: Dict[str, str] = {
     "f": r'{:.%sf}',
     "e": r'{:.%se}',
 }
 
 
-def number_to_string(number, significant_digits, number_format_notation="f"):
+def number_to_string(number: Any, significant_digits: int, number_format_notation: Literal['f', 'e'] = 'f') -> Any:
     """
     Convert numbers to string considering significant digits.
     """
@@ -410,7 +419,7 @@ def number_to_string(number, significant
     except KeyError:
         raise ValueError("number_format_notation got invalid value of {}. The valid values are 'f' and 'e'".format(number_format_notation)) from None
 
-    if not isinstance(number, numbers):
+    if not isinstance(number, numbers):  # type: ignore
         return number
     elif isinstance(number, Decimal):
         with localcontext() as ctx:
@@ -424,32 +433,31 @@ def number_to_string(number, significant
                 # For example '999.99999999' will become '1000.000000' after quantize
                 ctx.prec += 1
                 number = number.quantize(Decimal('0.' + '0' * significant_digits))
-    elif isinstance(number, only_complex_number):
+    elif isinstance(number, only_complex_number):  # type: ignore
         # Case for complex numbers.
         number = number.__class__(
-            "{real}+{imag}j".format(
+            "{real}+{imag}j".format(  # type: ignore
                 real=number_to_string(
-                    number=number.real,
+                    number=number.real,  # type: ignore
                     significant_digits=significant_digits,
                     number_format_notation=number_format_notation
                 ),
                 imag=number_to_string(
-                    number=number.imag,
+                    number=number.imag,  # type: ignore
                     significant_digits=significant_digits,
                     number_format_notation=number_format_notation
                 )
-            )
+            )  # type: ignore
         )
     else:
-        # import pytest; pytest.set_trace()
-        number = round(number=number, ndigits=significant_digits)
+        number = round(number=number, ndigits=significant_digits)  # type: ignore
 
         if significant_digits == 0:
-            number = int(number)
+            number = int(number)  # type: ignore
 
     if number == 0.0:
         # Special case for 0: "-0.xx" should compare equal to "0.xx"
-        number = abs(number)
+        number = abs(number)  # type: ignore
 
     # Cast number to string
     result = (using % significant_digits).format(number)
@@ -471,7 +479,7 @@ class DeepDiffDeprecationWarning(Depreca
     pass
 
 
-def cartesian_product(a, b):
+def cartesian_product(a: Iterable[Tuple[Any, ...]], b: Iterable[Any]) -> Iterator[Tuple[Any, ...]]:
     """
     Get the Cartesian product of two iterables
 
@@ -486,7 +494,7 @@ def cartesian_product(a, b):
             yield i + (j,)
 
 
-def cartesian_product_of_shape(dimentions, result=None):
+def cartesian_product_of_shape(dimentions: Iterable[int], result: Optional[Tuple[Tuple[Any, ...], ...]] = None) -> Iterator[Tuple[Any, ...]]:
     """
     Cartesian product of a dimentions iterable.
     This is mainly used to traverse Numpy ndarrays.
@@ -496,18 +504,18 @@ def cartesian_product_of_shape(dimention
     if result is None:
         result = ((),)  # a tuple with an empty tuple
     for dimension in dimentions:
-        result = cartesian_product(result, range(dimension))
-    return result
+        result = tuple(cartesian_product(result, range(dimension)))
+    return iter(result)
 
 
-def get_numpy_ndarray_rows(obj, shape=None):
+def get_numpy_ndarray_rows(obj: Any, shape: Optional[Tuple[int, ...]] = None) -> Generator[Tuple[Tuple[int, ...], Any], None, None]:
     """
     Convert a multi dimensional numpy array to list of rows
     """
     if shape is None:
-        shape = obj.shape
+        shape = obj.shape  # type: ignore
 
-    dimentions = shape[:-1]
+    dimentions = shape[:-1] if shape else ()
     for path_tuple in cartesian_product_of_shape(dimentions):
         result = obj
         for index in path_tuple:
@@ -517,12 +525,12 @@ def get_numpy_ndarray_rows(obj, shape=No
 
 class _NotFound:
 
-    def __eq__(self, other):
+    def __eq__(self, other: Any) -> bool:
         return False
 
     __req__ = __eq__
 
-    def __repr__(self):
+    def __repr__(self) -> str:
         return 'not found'
 
     __str__ = __repr__
@@ -539,7 +547,7 @@ class RepeatedTimer:
     https://stackoverflow.com/a/38317060/1497443
     """
 
-    def __init__(self, interval, function, *args, **kwargs):
+    def __init__(self, interval: float, function: Callable[..., Any], *args: Any, **kwargs: Any) -> None:
         self._timer = None
         self.interval = interval
         self.function = function
@@ -549,52 +557,53 @@ class RepeatedTimer:
         self.is_running = False
         self.start()
 
-    def _get_duration_sec(self):
+    def _get_duration_sec(self) -> int:
         return int(time.time() - self.start_time)
 
-    def _run(self):
+    def _run(self) -> None:
         self.is_running = False
         self.start()
         self.function(*self.args, **self.kwargs)
 
-    def start(self):
+    def start(self) -> None:
         self.kwargs.update(duration=self._get_duration_sec())
         if not self.is_running:
             self._timer = Timer(self.interval, self._run)
             self._timer.start()
             self.is_running = True
 
-    def stop(self):
+    def stop(self) -> int:
         duration = self._get_duration_sec()
-        self._timer.cancel()
+        if self._timer is not None:
+            self._timer.cancel()
         self.is_running = False
         return duration
 
 
-def _eval_decimal(params):
+def _eval_decimal(params: str) -> Decimal:
     return Decimal(params)
 
 
-def _eval_datetime(params):
-    params = f'({params})'
-    params = literal_eval(params)
-    return datetime.datetime(*params)
+def _eval_datetime(params: str) -> datetime.datetime:
+    params_with_parens = f'({params})'
+    params_tuple = literal_eval(params_with_parens)
+    return datetime.datetime(*params_tuple)  # type: ignore
 
 
-def _eval_date(params):
-    params = f'({params})'
-    params = literal_eval(params)
-    return datetime.date(*params)
+def _eval_date(params: str) -> datetime.date:
+    params_with_parens = f'({params})'
+    params_tuple = literal_eval(params_with_parens)
+    return datetime.date(*params_tuple)  # type: ignore
 
 
-LITERAL_EVAL_PRE_PROCESS = [
+LITERAL_EVAL_PRE_PROCESS: List[Tuple[str, str, Callable[[str], Any]]] = [
     ('Decimal(', ')', _eval_decimal),
     ('datetime.datetime(', ')', _eval_datetime),
     ('datetime.date(', ')', _eval_date),
 ]
 
 
-def literal_eval_extended(item):
+def literal_eval_extended(item: str) -> Any:
     """
     An extended version of literal_eval
     """
@@ -609,11 +618,17 @@ def literal_eval_extended(item):
         raise
 
 
-def time_to_seconds(t):
+def time_to_seconds(t: datetime.time) -> int:
     return (t.hour * 60 + t.minute) * 60 + t.second
 
 
-def datetime_normalize(truncate_datetime, obj):
+def datetime_normalize(
+    truncate_datetime:Union[str, None],
+    obj:Union[datetime.datetime, datetime.time],
+    default_timezone: Union[
+        datetime.timezone, "BaseTzInfo"
+    ] = datetime.timezone.utc,
+) -> Any:
     if truncate_datetime:
         if truncate_datetime == 'second':
             obj = obj.replace(microsecond=0)
@@ -624,13 +639,30 @@ def datetime_normalize(truncate_datetime
         elif truncate_datetime == 'day':
             obj = obj.replace(hour=0, minute=0, second=0, microsecond=0)
     if isinstance(obj, datetime.datetime):
-        obj = obj.replace(tzinfo=datetime.timezone.utc)
+        if has_timezone(obj):
+            obj = obj.astimezone(default_timezone)
+        else:
+            obj = obj.replace(tzinfo=default_timezone)
     elif isinstance(obj, datetime.time):
-        obj = time_to_seconds(obj)
+        return time_to_seconds(obj)
     return obj
 
 
-def get_truncate_datetime(truncate_datetime):
+def has_timezone(dt: datetime.datetime) -> bool:
+    """
+    Function to check if a datetime object has a timezone
+
+    Checking dt.tzinfo.utcoffset(dt) ensures that the datetime object is truly timezone-aware
+    because some datetime objects may have a tzinfo attribute that is not None but still
+    doesn't provide a valid offset.
+
+    Certain tzinfo objects, such as pytz.timezone(None), can exist but do not provide meaningful UTC offset information.
+    If tzinfo is present but calling .utcoffset(dt) returns None, the datetime is not truly timezone-aware.
+    """
+    return dt.tzinfo is not None and dt.tzinfo.utcoffset(dt) is not None
+
+
+def get_truncate_datetime(truncate_datetime: Union[str, None]) -> Union[str, None]:
     """
     Validates truncate_datetime value
     """
@@ -639,38 +671,38 @@ def get_truncate_datetime(truncate_datet
     return truncate_datetime
 
 
-def cartesian_product_numpy(*arrays):
+def cartesian_product_numpy(*arrays: Any) -> Any:
     """
     Cartesian product of Numpy arrays by Paul Panzer
     https://stackoverflow.com/a/49445693/1497443
     """
     la = len(arrays)
-    dtype = np.result_type(*arrays)
-    arr = np.empty((la, *map(len, arrays)), dtype=dtype)
+    dtype = np.result_type(*arrays)  # type: ignore
+    arr = np.empty((la, *map(len, arrays)), dtype=dtype)  # type: ignore
     idx = slice(None), *repeat(None, la)
     for i, a in enumerate(arrays):
         arr[i, ...] = a[idx[:la - i]]
     return arr.reshape(la, -1).T
 
 
-def diff_numpy_array(A, B):
+def diff_numpy_array(A: Any, B: Any) -> Any:
     """
     Numpy Array A - B
     return items in A that are not in B
     By Divakar
     https://stackoverflow.com/a/52417967/1497443
     """
-    return A[~np.isin(A, B)]
+    return A[~np.isin(A, B)]  # type: ignore
 
 
-PYTHON_TYPE_TO_NUMPY_TYPE = {
+PYTHON_TYPE_TO_NUMPY_TYPE: Dict[Type[Any], Type[Any]] = {
     int: np_int64,
     float: np_float64,
     Decimal: np_float64
 }
 
 
-def get_homogeneous_numpy_compatible_type_of_seq(seq):
+def get_homogeneous_numpy_compatible_type_of_seq(seq: Sequence[Any]) -> Union[Type[Any], Literal[False]]:
     """
     Return with the numpy dtype if the array can be converted to a non-object numpy array.
     Originally written by mgilson https://stackoverflow.com/a/13252348/1497443
@@ -679,13 +711,16 @@ def get_homogeneous_numpy_compatible_typ
     iseq = iter(seq)
     first_type = type(next(iseq))
     if first_type in {int, float, Decimal}:
-        type_ = first_type if all((type(x) is first_type) for x in iseq) else False
-        return PYTHON_TYPE_TO_NUMPY_TYPE.get(type_, False)
+        type_match = first_type if all((type(x) is first_type) for x in iseq) else False
+        if type_match:
+            return PYTHON_TYPE_TO_NUMPY_TYPE.get(type_match, False)
+        else:
+            return False
     else:
         return False
 
 
-def detailed__dict__(obj, ignore_private_variables=True, ignore_keys=frozenset(), include_keys=None):
+def detailed__dict__(obj: Any, ignore_private_variables: bool = True, ignore_keys: FrozenSet[str] = frozenset(), include_keys: Optional[List[str]] = None) -> Dict[str, Any]:
     """
     Get the detailed dictionary of an object.
 
@@ -709,19 +744,23 @@ def detailed__dict__(obj, ignore_private
                 ignore_private_variables and key.startswith('__') and not key.startswith(private_var_prefix)
             ):
                 del result[key]
+        if isinstance(obj, PydanticBaseModel):
+            getter = lambda x, y: getattr(type(x), y)
+        else:
+            getter = getattr
         for key in dir(obj):
             if key not in result and key not in ignore_keys and (
                     not ignore_private_variables or (
                         ignore_private_variables and not key.startswith('__') and not key.startswith(private_var_prefix)
                     )
             ):
-                value = getattr(obj, key)
+                value = getter(obj, key)
                 if not callable(value):
                     result[key] = value
     return result
 
 
-def named_tuple_repr(self):
+def named_tuple_repr(self: NamedTuple) -> str:
     fields = []
     for field, value in self._asdict().items():
         # Only include fields that do not have their default value
@@ -738,7 +777,7 @@ class OpcodeTag(EnumBase):
     insert = 'insert'
     delete = 'delete'
     equal = 'equal'
-    replace = 'replace'
+    replace = 'replace'  # type: ignore
     # swapped = 'swapped'  # in the future we should support reporting of items swapped with each other
 
 
@@ -772,6 +811,7 @@ class FlatDataAction(EnumBase):
     attribute_added = 'attribute_added'
     unordered_iterable_item_added = 'unordered_iterable_item_added'
     unordered_iterable_item_removed = 'unordered_iterable_item_removed'
+    initiated = "initiated"
 
 
 OPCODE_TAG_TO_FLAT_DATA_ACTION = {
@@ -784,7 +824,7 @@ OPCODE_TAG_TO_FLAT_DATA_ACTION = {
 FLAT_DATA_ACTION_TO_OPCODE_TAG = {v: i for i, v in OPCODE_TAG_TO_FLAT_DATA_ACTION.items()}
 
 
-UnkownValueCode = 'unknown___'
+UnkownValueCode: str = 'unknown___'
 
 
 class FlatDeltaRow(NamedTuple):
@@ -801,3 +841,12 @@ class FlatDeltaRow(NamedTuple):
     t2_to_index: Optional[int] = None
 
     __repr__ = __str__ = named_tuple_repr
+
+
+JSON = Union[Dict[str, str], List[str], List[int], Dict[str, "JSON"], List["JSON"], str, int, float, bool, None]
+
+
+class SummaryNodeType(EnumBase):
+    dict = 'dict'
+    list = 'list'
+    leaf = 'leaf'
diff -pruN 8.1.1-4/deepdiff/lfucache.py 8.6.1-1/deepdiff/lfucache.py
--- 8.1.1-4/deepdiff/lfucache.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/lfucache.py	2025-09-03 19:38:30.000000000 +0000
@@ -23,17 +23,17 @@ class CacheNode:
         self.nxt = nxt  # next CacheNode
 
     def free_myself(self):
-        if self.freq_node.cache_head == self.freq_node.cache_tail:
-            self.freq_node.cache_head = self.freq_node.cache_tail = None
-        elif self.freq_node.cache_head == self:
-            self.nxt.pre = None
-            self.freq_node.cache_head = self.nxt
-        elif self.freq_node.cache_tail == self:
-            self.pre.nxt = None
-            self.freq_node.cache_tail = self.pre
+        if self.freq_node.cache_head == self.freq_node.cache_tail:  # type: ignore
+            self.freq_node.cache_head = self.freq_node.cache_tail = None  # type: ignore
+        elif self.freq_node.cache_head == self:  # type: ignore
+            self.nxt.pre = None  # type: ignore
+            self.freq_node.cache_head = self.nxt  # type: ignore
+        elif self.freq_node.cache_tail == self:  # type: ignore
+            self.pre.nxt = None  # type: ignore
+            self.freq_node.cache_tail = self.pre  # type: ignore
         else:
-            self.pre.nxt = self.nxt
-            self.nxt.pre = self.pre
+            self.pre.nxt = self.nxt  # type: ignore
+            self.nxt.pre = self.pre  # type: ignore
 
         self.pre = None
         self.nxt = None
@@ -77,8 +77,8 @@ class FreqNode:
             return cache_head
         else:
             cache_head = self.cache_head
-            self.cache_head.nxt.pre = None
-            self.cache_head = self.cache_head.nxt
+            self.cache_head.nxt.pre = None  # type: ignore
+            self.cache_head = self.cache_head.nxt  # type: ignore
             return cache_head
 
     def append_cache_to_tail(self, cache_node):
@@ -89,7 +89,7 @@ class FreqNode:
         else:
             cache_node.pre = self.cache_tail
             cache_node.nxt = None
-            self.cache_tail.nxt = cache_node
+            self.cache_tail.nxt = cache_node  # type: ignore
             self.cache_tail = cache_node
 
     def insert_after_me(self, freq_node):
@@ -172,12 +172,12 @@ class LFUCache:
 
     def dump_cache(self):
         head_freq_node = self.freq_link_head
-        self.cache.pop(head_freq_node.cache_head.key)
-        head_freq_node.pop_head_cache()
+        self.cache.pop(head_freq_node.cache_head.key)  # type: ignore
+        head_freq_node.pop_head_cache()  # type: ignore
 
-        if head_freq_node.count_caches() == 0:
-            self.freq_link_head = head_freq_node.nxt
-            head_freq_node.remove()
+        if head_freq_node.count_caches() == 0:  # type: ignore
+            self.freq_link_head = head_freq_node.nxt  # type: ignore
+            head_freq_node.remove()  # type: ignore
 
     def create_cache_node(self, key, report_type, value):
         cache_node = CacheNode(
diff -pruN 8.1.1-4/deepdiff/model.py 8.6.1-1/deepdiff/model.py
--- 8.1.1-4/deepdiff/model.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/model.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,17 +1,21 @@
 import logging
 from collections.abc import Mapping
 from copy import copy
+from typing import Any, Dict, List, Optional, Set, Union, Literal, Type, TYPE_CHECKING
 from deepdiff.helper import (
-    RemapDict, strings, short_repr, notpresent, get_type, numpy_numbers, np, literal_eval_extended,
+    RemapDict, strings, notpresent, get_type, numpy_numbers, np, literal_eval_extended,
     dict_, SetOrdered)
 from deepdiff.path import stringify_element
 
+if TYPE_CHECKING:
+    from deepdiff.diff import DeepDiff
+
 logger = logging.getLogger(__name__)
 
-FORCE_DEFAULT = 'fake'
-UP_DOWN = {'up': 'down', 'down': 'up'}
+FORCE_DEFAULT: Literal['fake'] = 'fake'
+UP_DOWN: Dict[str, str] = {'up': 'down', 'down': 'up'}
 
-REPORT_KEYS = {
+REPORT_KEYS: Set[str] = {
     "type_changes",
     "dictionary_item_added",
     "dictionary_item_removed",
@@ -27,7 +31,7 @@ REPORT_KEYS = {
     "repetition_change",
 }
 
-CUSTOM_FIELD = "__internal:custom:extra_info"
+CUSTOM_FIELD: str = "__internal:custom:extra_info"
 
 
 class DoesNotExist(Exception):
@@ -36,7 +40,7 @@ class DoesNotExist(Exception):
 
 class ResultDict(RemapDict):
 
-    def remove_empty_keys(self):
+    def remove_empty_keys(self) -> None:
         """
         Remove empty keys from this object. Should always be called after the result is final.
         :return:
@@ -48,11 +52,11 @@ class ResultDict(RemapDict):
 
 
 class TreeResult(ResultDict):
-    def __init__(self):
+    def __init__(self) -> None:
         for key in REPORT_KEYS:
             self[key] = SetOrdered()
 
-    def mutual_add_removes_to_become_value_changes(self):
+    def mutual_add_removes_to_become_value_changes(self) -> None:
         """
         There might be the same paths reported in the results as removed and added.
         In such cases they should be reported as value_changes.
@@ -62,32 +66,38 @@ class TreeResult(ResultDict):
 
         This function should only be run on the Tree Result.
         """
-        if self.get('iterable_item_added') and self.get('iterable_item_removed'):
-            added_paths = {i.path(): i for i in self['iterable_item_added']}
-            removed_paths = {i.path(): i for i in self['iterable_item_removed']}
+        iterable_item_added = self.get('iterable_item_added')
+        iterable_item_removed = self.get('iterable_item_removed')
+        if iterable_item_added is not None and iterable_item_removed is not None:
+            added_paths = {i.path(): i for i in iterable_item_added}
+            removed_paths = {i.path(): i for i in iterable_item_removed}
             mutual_paths = set(added_paths) & set(removed_paths)
 
-            if mutual_paths and 'values_changed' not in self:
+            if mutual_paths and 'values_changed' not in self or self['values_changed'] is None:
                 self['values_changed'] = SetOrdered()
             for path in mutual_paths:
                 level_before = removed_paths[path]
-                self['iterable_item_removed'].remove(level_before)
+                iterable_item_removed.remove(level_before)
                 level_after = added_paths[path]
-                self['iterable_item_added'].remove(level_after)
+                iterable_item_added.remove(level_after)
                 level_before.t2 = level_after.t2
-                self['values_changed'].add(level_before)
+                self['values_changed'].add(level_before)  # type: ignore
                 level_before.report_type = 'values_changed'
-        if 'iterable_item_removed' in self and not self['iterable_item_removed']:
+        if 'iterable_item_removed' in self and not iterable_item_removed:
             del self['iterable_item_removed']
-        if 'iterable_item_added' in self and not self['iterable_item_added']:
+        if 'iterable_item_added' in self and not iterable_item_added:
             del self['iterable_item_added']
 
-    def __getitem__(self, item):
+    def __getitem__(self, item: str) -> SetOrdered:
         if item not in self:
             self[item] = SetOrdered()
-        return self.get(item)
+        result = self.get(item)
+        if result is None:
+            result = SetOrdered()
+            self[item] = result
+        return result
 
-    def __len__(self):
+    def __len__(self) -> int:
         length = 0
         for value in self.values():
             if isinstance(value, SetOrdered):
@@ -98,9 +108,9 @@ class TreeResult(ResultDict):
 
 
 class TextResult(ResultDict):
-    ADD_QUOTES_TO_STRINGS = True
+    ADD_QUOTES_TO_STRINGS: bool = True
 
-    def __init__(self, tree_results=None, verbose_level=1):
+    def __init__(self, tree_results: Optional['TreeResult'] = None, verbose_level: int = 1) -> None:
         self.verbose_level = verbose_level
         # TODO: centralize keys
         self.update({
@@ -122,10 +132,10 @@ class TextResult(ResultDict):
         if tree_results:
             self._from_tree_results(tree_results)
 
-    def __set_or_dict(self):
+    def __set_or_dict(self) -> Union[Dict[str, Any], SetOrdered]:
         return {} if self.verbose_level >= 2 else SetOrdered()
 
-    def _from_tree_results(self, tree):
+    def _from_tree_results(self, tree: 'TreeResult') -> None:
         """
         Populate this object by parsing an existing reference-style result dictionary.
         :param tree: A TreeResult
@@ -147,7 +157,7 @@ class TextResult(ResultDict):
         self._from_tree_deep_distance(tree)
         self._from_tree_custom_results(tree)
 
-    def _from_tree_default(self, tree, report_type, ignore_if_in_iterable_opcodes=False):
+    def _from_tree_default(self, tree: 'TreeResult', report_type: str, ignore_if_in_iterable_opcodes: bool = False) -> None:
         if report_type in tree:
                 
             for change in tree[report_type]:  # report each change
@@ -219,10 +229,11 @@ class TextResult(ResultDict):
 
     def _from_tree_iterable_item_moved(self, tree):
         if 'iterable_item_moved' in tree and self.verbose_level > 1:
+
             for change in tree['iterable_item_moved']:
-                the_changed = {'new_path': change.path(use_t2=True), 'value': change.t2}
+                the_changed = {'new_path': change.path(use_t2=True, reporting_move=True), 'value': change.t2}
                 self['iterable_item_moved'][change.path(
-                    force=FORCE_DEFAULT)] = the_changed
+                    force=FORCE_DEFAULT, use_t2=False, reporting_move=True)] = the_changed
 
     def _from_tree_unprocessed(self, tree):
         if 'unprocessed' in tree:
@@ -242,7 +253,7 @@ class TextResult(ResultDict):
                     item = "'%s'" % item
                 if is_dict:
                     if path not in set_item_info:
-                        set_item_info[path] = set()
+                        set_item_info[path] = set()  # type: ignore
                     set_item_info[path].add(item)
                 else:
                     set_item_info.add("{}[{}]".format(path, str(item)))
@@ -288,9 +299,9 @@ class TextResult(ResultDict):
 
 
 class DeltaResult(TextResult):
-    ADD_QUOTES_TO_STRINGS = False
+    ADD_QUOTES_TO_STRINGS: bool = False
 
-    def __init__(self, tree_results=None, ignore_order=None, always_include_values=False, _iterable_opcodes=None):
+    def __init__(self, tree_results: Optional['TreeResult'] = None, ignore_order: Optional[bool] = None, always_include_values: bool = False, _iterable_opcodes: Optional[Dict[str, Any]] = None) -> None:
         self.ignore_order = ignore_order
         self.always_include_values = always_include_values
 
@@ -426,11 +437,11 @@ class DeltaResult(TextResult):
         if 'iterable_item_moved' in tree:
             for change in tree['iterable_item_moved']:
                 if (
-                    change.up.path(force=FORCE_DEFAULT) not in self["_iterable_opcodes"]
+                    change.up.path(force=FORCE_DEFAULT, reporting_move=True) not in self["_iterable_opcodes"]
                 ):
-                    the_changed = {'new_path': change.path(use_t2=True), 'value': change.t2}
+                    the_changed = {'new_path': change.path(use_t2=True, reporting_move=True), 'value': change.t2}
                     self['iterable_item_moved'][change.path(
-                        force=FORCE_DEFAULT)] = the_changed
+                        force=FORCE_DEFAULT, reporting_move=True)] = the_changed
 
 
 class DiffLevel:
@@ -514,15 +525,15 @@ class DiffLevel:
     """
 
     def __init__(self,
-                 t1,
-                 t2,
-                 down=None,
-                 up=None,
-                 report_type=None,
-                 child_rel1=None,
-                 child_rel2=None,
-                 additional=None,
-                 verbose_level=1):
+                 t1: Any,
+                 t2: Any,
+                 down: Optional['DiffLevel'] = None,
+                 up: Optional['DiffLevel'] = None,
+                 report_type: Optional[str] = None,
+                 child_rel1: Optional['ChildRelationship'] = None,
+                 child_rel2: Optional['ChildRelationship'] = None,
+                 additional: Optional[Dict[str, Any]] = None,
+                 verbose_level: int = 1) -> None:
         """
         :param child_rel1: Either:
                             - An existing ChildRelationship object describing the "down" relationship for t1; or
@@ -578,20 +589,22 @@ class DiffLevel:
 
         self.verbose_level = verbose_level
 
-    def __repr__(self):
+    def __repr__(self) -> str:
         if self.verbose_level:
+            from deepdiff.summarize import summarize
+
             if self.additional:
-                additional_repr = short_repr(self.additional, max_length=35)
+                additional_repr = summarize(self.additional, max_length=35)
                 result = "<{} {}>".format(self.path(), additional_repr)
             else:
-                t1_repr = short_repr(self.t1)
-                t2_repr = short_repr(self.t2)
+                t1_repr = summarize(self.t1, max_length=35)
+                t2_repr = summarize(self.t2, max_length=35)
                 result = "<{} t1:{}, t2:{}>".format(self.path(), t1_repr, t2_repr)
         else:
             result = "<{}>".format(self.path())
         return result
 
-    def __setattr__(self, key, value):
+    def __setattr__(self, key: str, value: Any) -> None:
         # Setting up or down, will set the opposite link in this linked list.
         if key in UP_DOWN and value is not None:
             self.__dict__[key] = value
@@ -600,15 +613,15 @@ class DiffLevel:
         else:
             self.__dict__[key] = value
 
-    def __iter__(self):
+    def __iter__(self) -> Any:
         yield self.t1
         yield self.t2
 
     @property
-    def repetition(self):
+    def repetition(self) -> Dict[str, Any]:
         return self.additional['repetition']
 
-    def auto_generate_child_rel(self, klass, param, param2=None):
+    def auto_generate_child_rel(self, klass: Type['ChildRelationship'], param: Any, param2: Optional[Any] = None) -> None:
         """
         Auto-populate self.child_rel1 and self.child_rel2.
         This requires self.down to be another valid DiffLevel object.
@@ -617,15 +630,15 @@ class DiffLevel:
         :param param: A ChildRelationship subclass-dependent parameter describing how to get from parent to child,
                       e.g. the key in a dict
         """
-        if self.down.t1 is not notpresent:
+        if self.down.t1 is not notpresent:  # type: ignore
             self.t1_child_rel = ChildRelationship.create(
-                klass=klass, parent=self.t1, child=self.down.t1, param=param)
-        if self.down.t2 is not notpresent:
+                klass=klass, parent=self.t1, child=self.down.t1, param=param)  # type: ignore
+        if self.down.t2 is not notpresent:  # type: ignore
             self.t2_child_rel = ChildRelationship.create(
-                klass=klass, parent=self.t2, child=self.down.t2, param=param if param2 is None else param2)
+                klass=klass, parent=self.t2, child=self.down.t2, param=param if param2 is None else param2)  # type: ignore
 
     @property
-    def all_up(self):
+    def all_up(self) -> 'DiffLevel':
         """
         Get the root object of this comparison.
         (This is a convenient wrapper for following the up attribute as often as you can.)
@@ -637,7 +650,7 @@ class DiffLevel:
         return level
 
     @property
-    def all_down(self):
+    def all_down(self) -> 'DiffLevel':
         """
         Get the leaf object of this comparison.
         (This is a convenient wrapper for following the down attribute as often as you can.)
@@ -649,10 +662,10 @@ class DiffLevel:
         return level
 
     @staticmethod
-    def _format_result(root, result):
+    def _format_result(root: str, result: Optional[str]) -> Optional[str]:
         return None if result is None else "{}{}".format(root, result)
 
-    def get_root_key(self, use_t2=False):
+    def get_root_key(self, use_t2: bool = False) -> Any:
         """
         Get the path's root key value for this change
 
@@ -669,7 +682,7 @@ class DiffLevel:
             return next_rel.param
         return notpresent
 
-    def path(self, root="root", force=None, get_parent_too=False, use_t2=False, output_format='str'):
+    def path(self, root: str = "root", force: Optional[str] = None, get_parent_too: bool = False, use_t2: bool = False, output_format: Literal['str', 'list'] = 'str', reporting_move: bool = False) -> Any:
         """
         A python syntax string describing how to descend to this level, assuming the top level object is called root.
         Returns None if the path is not representable as a string.
@@ -695,6 +708,9 @@ class DiffLevel:
         :param output_format: The format of the output. The options are 'str' which is the default and produces a
                               string representation of the path or 'list' to produce a list of keys and attributes
                               that produce the path.
+
+        :param reporting_move: This should be set to true if and only if we are reporting on iterable_item_moved.
+                               All other cases should leave this set to False.
         """
         # TODO: We could optimize this by building on top of self.up's path if it is cached there
         cache_key = "{}{}{}{}".format(force, get_parent_too, use_t2, output_format)
@@ -716,7 +732,16 @@ class DiffLevel:
         # traverse all levels of this relationship
         while level and level is not self:
             # get this level's relationship object
-            if use_t2:
+            if level.additional.get("moved") and not reporting_move:
+                # To ensure we can properly replay items such as values_changed in items that may have moved, we
+                # need to make sure that all paths are reported relative to t2 if a level has reported a move.
+                # If we are reporting a move, the path is already correct and does not need to be swapped.
+                # Additional context of "moved" is only ever set if using iterable_compare_func and a move has taken place.
+                level_use_t2 = not use_t2
+            else:
+                level_use_t2 = use_t2
+
+            if level_use_t2:
                 next_rel = level.t2_child_rel or level.t1_child_rel
             else:
                 next_rel = level.t1_child_rel or level.t2_child_rel  # next relationship object to get a formatted param from
@@ -737,29 +762,29 @@ class DiffLevel:
                     result = None
                     break
             elif output_format == 'list':
-                result.append(next_rel.param)
+                result.append(next_rel.param)  # type: ignore
 
             # Prepare processing next level
             level = level.down
 
         if output_format == 'str':
             if get_parent_too:
-                self._path[cache_key] = (parent, param, result)
-                output = (self._format_result(root, parent), param, self._format_result(root, result))
+                self._path[cache_key] = (parent, param, result)  # type: ignore
+                output = (self._format_result(root, parent), param, self._format_result(root, result))  # type: ignore
             else:
                 self._path[cache_key] = result
-                output = self._format_result(root, result)
+                output = self._format_result(root, result) if isinstance(result, (str, type(None))) else None
         else:
             output = result
         return output
 
     def create_deeper(self,
-                      new_t1,
-                      new_t2,
-                      child_relationship_class,
-                      child_relationship_param=None,
-                      child_relationship_param2=None,
-                      report_type=None):
+                      new_t1: Any,
+                      new_t2: Any,
+                      child_relationship_class: Type['ChildRelationship'],
+                      child_relationship_param: Optional[Any] = None,
+                      child_relationship_param2: Optional[Any] = None,
+                      report_type: Optional[str] = None) -> 'DiffLevel':
         """
         Start a new comparison level and correctly link it to this one.
         :rtype: DiffLevel
@@ -774,12 +799,12 @@ class DiffLevel:
         return result
 
     def branch_deeper(self,
-                      new_t1,
-                      new_t2,
-                      child_relationship_class,
-                      child_relationship_param=None,
-                      child_relationship_param2=None,
-                      report_type=None):
+                      new_t1: Any,
+                      new_t2: Any,
+                      child_relationship_class: Type['ChildRelationship'],
+                      child_relationship_param: Optional[Any] = None,
+                      child_relationship_param2: Optional[Any] = None,
+                      report_type: Optional[str] = None) -> 'DiffLevel':
         """
         Branch this comparison: Do not touch this comparison line, but create a new one with exactly the same content,
         just one level deeper.
@@ -790,7 +815,7 @@ class DiffLevel:
         return branch.create_deeper(new_t1, new_t2, child_relationship_class,
                                     child_relationship_param, child_relationship_param2, report_type)
 
-    def copy(self):
+    def copy(self) -> 'DiffLevel':
         """
         Get a deep copy of this comparision line.
         :return: The leaf ("downmost") object of the copy.
@@ -833,20 +858,20 @@ class ChildRelationship:
 
     # Format to a be used for representing param.
     # E.g. for a dict, this turns a formatted param param "42" into "[42]".
-    param_repr_format = None
+    param_repr_format: Optional[str] = None
 
     # This is a hook allowing subclasses to manipulate param strings.
     # :param string: Input string
     # :return: Manipulated string, as appropriate in this context.
-    quote_str = None
+    quote_str: Optional[str] = None
 
     @staticmethod
-    def create(klass, parent, child, param=None):
+    def create(klass: Type['ChildRelationship'], parent: Any, child: Any, param: Optional[Any] = None) -> 'ChildRelationship':
         if not issubclass(klass, ChildRelationship):
             raise TypeError
         return klass(parent, child, param)
 
-    def __init__(self, parent, child, param=None):
+    def __init__(self, parent: Any, child: Any, param: Optional[Any] = None) -> None:
         # The parent object of this relationship, e.g. a dict
         self.parent = parent
 
@@ -856,14 +881,16 @@ class ChildRelationship:
         # A subclass-dependent parameter describing how to get from parent to child, e.g. the key in a dict
         self.param = param
 
-    def __repr__(self):
+    def __repr__(self) -> str:
+        from deepdiff.summarize import summarize
+
         name = "<{} parent:{}, child:{}, param:{}>"
-        parent = short_repr(self.parent)
-        child = short_repr(self.child)
-        param = short_repr(self.param)
+        parent = summarize(self.parent, max_length=35)
+        child = summarize(self.child, max_length=35)
+        param = summarize(self.param, max_length=15)
         return name.format(self.__class__.__name__, parent, child, param)
 
-    def get_param_repr(self, force=None):
+    def get_param_repr(self, force: Optional[str] = None) -> Optional[str]:
         """
         Returns a formatted param python parsable string describing this relationship,
         or None if the relationship is not representable as a string.
@@ -880,7 +907,7 @@ class ChildRelationship:
         """
         return self.stringify_param(force)
 
-    def stringify_param(self, force=None):
+    def stringify_param(self, force: Optional[str] = None) -> Optional[str]:
         """
         Convert param to a string. Return None if there is no string representation.
         This is called by get_param_repr()
@@ -903,7 +930,7 @@ class ChildRelationship:
         elif isinstance(param, tuple):  # Currently only for numpy ndarrays
             result = ']['.join(map(repr, param))
         elif hasattr(param, '__dataclass_fields__'):
-            attrs_to_values = [f"{key}={value}" for key, value in [(i, getattr(param, i)) for i in param.__dataclass_fields__]]
+            attrs_to_values = [f"{key}={value}" for key, value in [(i, getattr(param, i)) for i in param.__dataclass_fields__]]  # type: ignore
             result = f"{param.__class__.__name__}({','.join(attrs_to_values)})"
         else:
             candidate = repr(param)
@@ -927,13 +954,13 @@ class ChildRelationship:
 
 
 class DictRelationship(ChildRelationship):
-    param_repr_format = "[{}]"
-    quote_str = "'{}'"
+    param_repr_format: Optional[str] = "[{}]"
+    quote_str: Optional[str] = "'{}'"
 
 
 class NumpyArrayRelationship(ChildRelationship):
-    param_repr_format = "[{}]"
-    quote_str = None
+    param_repr_format: Optional[str] = "[{}]"
+    quote_str: Optional[str] = None
 
 
 class SubscriptableIterableRelationship(DictRelationship):
@@ -951,9 +978,9 @@ class SetRelationship(InaccessibleRelati
 
 class NonSubscriptableIterableRelationship(InaccessibleRelationship):
 
-    param_repr_format = "[{}]"
+    param_repr_format: Optional[str] = "[{}]"
 
-    def get_param_repr(self, force=None):
+    def get_param_repr(self, force: Optional[str] = None) -> Optional[str]:
         if force == 'yes':
             result = "(unrepresentable)"
         elif force == 'fake' and self.param:
@@ -965,4 +992,4 @@ class NonSubscriptableIterableRelationsh
 
 
 class AttributeRelationship(ChildRelationship):
-    param_repr_format = ".{}"
+    param_repr_format: Optional[str] = ".{}"
diff -pruN 8.1.1-4/deepdiff/operator.py 8.6.1-1/deepdiff/operator.py
--- 8.1.1-4/deepdiff/operator.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/operator.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,10 +1,43 @@
 import re
+from typing import Any, Optional, List, TYPE_CHECKING
+from abc import ABCMeta, abstractmethod
 from deepdiff.helper import convert_item_or_items_into_compiled_regexes_else_none
 
+if TYPE_CHECKING:
+    from deepdiff import DeepDiff
+
+
+class BaseOperatorPlus(metaclass=ABCMeta):
+
+    @abstractmethod
+    def match(self, level) -> bool:
+        """
+        Given a level which includes t1 and t2 in the tree view, is this operator a good match to compare t1 and t2?
+        If yes, we will run the give_up_diffing to compare t1 and t2 for this level.
+        """
+        pass
+
+    @abstractmethod
+    def give_up_diffing(self, level, diff_instance: "DeepDiff") -> bool:
+        """
+        Given a level which includes t1 and t2 in the tree view, and the "distance" between l1 and l2.
+        do we consider t1 and t2 to be equal or not. The distance is a number between zero to one and is calculated by DeepDiff to measure how similar objects are.
+        """
+
+    @abstractmethod
+    def normalize_value_for_hashing(self, parent: Any, obj: Any) -> Any:
+        """
+        You can use this function to normalize values for ignore_order=True
+
+        For example, you may want to turn all the words to be lowercase. Then you return obj.lower()
+        """
+        pass
+
+
 
 class BaseOperator:
 
-    def __init__(self, regex_paths=None, types=None):
+    def __init__(self, regex_paths:Optional[List[str]]=None, types:Optional[List[type]]=None):
         if regex_paths:
             self.regex_paths = convert_item_or_items_into_compiled_regexes_else_none(regex_paths)
         else:
diff -pruN 8.1.1-4/deepdiff/path.py 8.6.1-1/deepdiff/path.py
--- 8.1.1-4/deepdiff/path.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/path.py	2025-09-03 19:38:30.000000000 +0000
@@ -117,6 +117,7 @@ def _path_to_elements(path, root_element
 
 def _get_nested_obj(obj, elements, next_element=None):
     for (elem, action) in elements:
+        check_elem(elem)
         if action == GET:
             obj = obj[elem]
         elif action == GETATTR:
@@ -134,11 +135,17 @@ def _guess_type(elements, elem, index, n
     return {}
 
 
+def check_elem(elem):
+    if isinstance(elem, str) and elem.startswith("__") and elem.endswith("__"):
+        raise ValueError("traversing dunder attributes is not allowed")
+
+
 def _get_nested_obj_and_force(obj, elements, next_element=None):
     prev_elem = None
     prev_action = None
     prev_obj = obj
     for index, (elem, action) in enumerate(elements):
+        check_elem(elem)
         _prev_obj = obj
         if action == GET:
             try:
diff -pruN 8.1.1-4/deepdiff/search.py 8.6.1-1/deepdiff/search.py
--- 8.1.1-4/deepdiff/search.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/search.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,20 +1,22 @@
 #!/usr/bin/env python
 import re
 from collections.abc import MutableMapping, Iterable
+from typing import Any, Dict, FrozenSet, List, Pattern, Set, Union, Tuple
 from deepdiff.helper import SetOrdered
 import logging
 
 from deepdiff.helper import (
-    strings, numbers, add_to_frozen_set, get_doc, dict_, RE_COMPILED_TYPE
+    strings, numbers, add_to_frozen_set, get_doc, dict_, RE_COMPILED_TYPE, ipranges
 )
 
+
 logger = logging.getLogger(__name__)
 
 
 doc = get_doc('search_doc.rst')
 
 
-class DeepSearch(dict):
+class DeepSearch(Dict[str, Union[Dict[str, Any], SetOrdered, List[str]]]):
     r"""
     **DeepSearch**
 
@@ -80,20 +82,20 @@ class DeepSearch(dict):
 
     """
 
-    warning_num = 0
+    warning_num: int = 0
 
     def __init__(self,
-                 obj,
-                 item,
-                 exclude_paths=SetOrdered(),
-                 exclude_regex_paths=SetOrdered(),
-                 exclude_types=SetOrdered(),
-                 verbose_level=1,
-                 case_sensitive=False,
-                 match_string=False,
-                 use_regexp=False,
-                 strict_checking=True,
-                 **kwargs):
+                 obj: Any,
+                 item: Any,
+                 exclude_paths: Union[SetOrdered, Set[str], List[str]] = SetOrdered(),
+                 exclude_regex_paths: Union[SetOrdered, Set[Union[str, Pattern[str]]], List[Union[str, Pattern[str]]]] = SetOrdered(),
+                 exclude_types: Union[SetOrdered, Set[type], List[type]] = SetOrdered(),
+                 verbose_level: int = 1,
+                 case_sensitive: bool = False,
+                 match_string: bool = False,
+                 use_regexp: bool = False,
+                 strict_checking: bool = True,
+                 **kwargs: Any) -> None:
         if kwargs:
             raise ValueError((
                 "The following parameter(s) are not valid: %s\n"
@@ -101,31 +103,35 @@ class DeepSearch(dict):
                 "case_sensitive, match_string and verbose_level."
             ) % ', '.join(kwargs.keys()))
 
-        self.obj = obj
-        self.case_sensitive = case_sensitive if isinstance(item, strings) else True
-        item = item if self.case_sensitive else item.lower()
-        self.exclude_paths = SetOrdered(exclude_paths)
-        self.exclude_regex_paths = [re.compile(exclude_regex_path) for exclude_regex_path in exclude_regex_paths]
-        self.exclude_types = SetOrdered(exclude_types)
-        self.exclude_types_tuple = tuple(
+        self.obj: Any = obj
+        self.case_sensitive: bool = case_sensitive if isinstance(item, strings) else True
+        item = item if self.case_sensitive else (item.lower() if isinstance(item, str) else item)
+        self.exclude_paths: SetOrdered = SetOrdered(exclude_paths)
+        self.exclude_regex_paths: List[Pattern[str]] = [re.compile(exclude_regex_path) for exclude_regex_path in exclude_regex_paths]
+        self.exclude_types: SetOrdered = SetOrdered(exclude_types)
+        self.exclude_types_tuple: tuple[type, ...] = tuple(
             exclude_types)  # we need tuple for checking isinstance
-        self.verbose_level = verbose_level
+        self.verbose_level: int = verbose_level
         self.update(
             matched_paths=self.__set_or_dict(),
             matched_values=self.__set_or_dict(),
             unprocessed=[])
-        self.use_regexp = use_regexp
-        if not strict_checking and isinstance(item, numbers):
+        # Type narrowing for mypy/pyright
+        self.matched_paths: Union[Dict[str, Any], SetOrdered]
+        self.matched_values: Union[Dict[str, Any], SetOrdered]
+        self.unprocessed: List[str]
+        self.use_regexp: bool = use_regexp
+        if not strict_checking and (isinstance(item, numbers) or isinstance(item, ipranges)):
             item = str(item)
         if self.use_regexp:
             try:
                 item = re.compile(item)
             except TypeError as e:
                 raise TypeError(f"The passed item of {item} is not usable for regex: {e}") from None
-        self.strict_checking = strict_checking
+        self.strict_checking: bool = strict_checking
 
         # Cases where user wants to match exact string item
-        self.match_string = match_string
+        self.match_string: bool = match_string
 
         self.__search(obj, item, parents_ids=frozenset({id(obj)}))
 
@@ -134,21 +140,25 @@ class DeepSearch(dict):
         for k in empty_keys:
             del self[k]
 
-    def __set_or_dict(self):
+    def __set_or_dict(self) -> Union[Dict[str, Any], SetOrdered]:
         return dict_() if self.verbose_level >= 2 else SetOrdered()
 
-    def __report(self, report_key, key, value):
+    def __report(self, report_key: str, key: str, value: Any) -> None:
         if self.verbose_level >= 2:
-            self[report_key][key] = value
+            report_dict = self[report_key]
+            if isinstance(report_dict, dict):
+                report_dict[key] = value
         else:
-            self[report_key].add(key)
+            report_set = self[report_key]
+            if isinstance(report_set, SetOrdered):
+                report_set.add(key)
 
     def __search_obj(self,
-                     obj,
-                     item,
-                     parent,
-                     parents_ids=frozenset(),
-                     is_namedtuple=False):
+                     obj: Any,
+                     item: Any,
+                     parent: str,
+                     parents_ids: FrozenSet[int] = frozenset(),
+                     is_namedtuple: bool = False) -> None:
         """Search objects"""
         found = False
         if obj == item:
@@ -170,14 +180,16 @@ class DeepSearch(dict):
                 obj = {i: getattr(obj, i) for i in obj.__slots__}
             except AttributeError:
                 if not found:
-                    self['unprocessed'].append("%s" % parent)
+                    unprocessed = self.get('unprocessed', [])
+                    if isinstance(unprocessed, list):
+                        unprocessed.append("%s" % parent)
 
                 return
 
         self.__search_dict(
             obj, item, parent, parents_ids, print_as_attribute=True)
 
-    def __skip_this(self, item, parent):
+    def __skip_this(self, item: Any, parent: str) -> bool:
         skip = False
         if parent in self.exclude_paths:
             skip = True
@@ -191,11 +203,11 @@ class DeepSearch(dict):
         return skip
 
     def __search_dict(self,
-                      obj,
-                      item,
-                      parent,
-                      parents_ids=frozenset(),
-                      print_as_attribute=False):
+                      obj: Union[Dict[Any, Any], MutableMapping[Any, Any]],
+                      item: Any,
+                      parent: str,
+                      parents_ids: FrozenSet[int] = frozenset(),
+                      print_as_attribute: bool = False) -> None:
         """Search dictionaries"""
         if print_as_attribute:
             parent_text = "%s.%s"
@@ -238,10 +250,10 @@ class DeepSearch(dict):
                 parents_ids=parents_ids_added)
 
     def __search_iterable(self,
-                          obj,
-                          item,
-                          parent="root",
-                          parents_ids=frozenset()):
+                          obj: Iterable[Any],
+                          item: Any,
+                          parent: str = "root",
+                          parents_ids: FrozenSet[int] = frozenset()) -> None:
         """Search iterables except dictionaries, sets and strings."""
         for i, thing in enumerate(obj):
             new_parent = "{}[{}]".format(parent, i)
@@ -251,7 +263,7 @@ class DeepSearch(dict):
             if self.case_sensitive or not isinstance(thing, strings):
                 thing_cased = thing
             else:
-                thing_cased = thing.lower()
+                thing_cased = thing.lower() if isinstance(thing, str) else thing
 
             if not self.use_regexp and thing_cased == item:
                 self.__report(
@@ -264,19 +276,19 @@ class DeepSearch(dict):
                 self.__search(thing, item, "%s[%s]" %
                               (parent, i), parents_ids_added)
 
-    def __search_str(self, obj, item, parent):
+    def __search_str(self, obj: Union[str, bytes, memoryview], item: Union[str, bytes, memoryview, Pattern[str]], parent: str) -> None:
         """Compare strings"""
-        obj_text = obj if self.case_sensitive else obj.lower()
+        obj_text = obj if self.case_sensitive else (obj.lower() if isinstance(obj, str) else obj)
 
         is_matched = False
-        if self.use_regexp:
-            is_matched = item.search(obj_text)
-        elif (self.match_string and item == obj_text) or (not self.match_string and item in obj_text):
+        if self.use_regexp and isinstance(item, type(re.compile(''))):
+            is_matched = bool(item.search(str(obj_text)))
+        elif (self.match_string and str(item) == str(obj_text)) or (not self.match_string and str(item) in str(obj_text)):
             is_matched = True
         if is_matched:
             self.__report(report_key='matched_values', key=parent, value=obj)
 
-    def __search_numbers(self, obj, item, parent):
+    def __search_numbers(self, obj: Any, item: Any, parent: str) -> None:
         if (
             item == obj or (
                 not self.strict_checking and (
@@ -288,11 +300,11 @@ class DeepSearch(dict):
         ):
             self.__report(report_key='matched_values', key=parent, value=obj)
 
-    def __search_tuple(self, obj, item, parent, parents_ids):
+    def __search_tuple(self, obj: Tuple[Any, ...], item: Any, parent: str, parents_ids: FrozenSet[int]) -> None:
         # Checking to see if it has _fields. Which probably means it is a named
         # tuple.
         try:
-            obj._asdict
+            getattr(obj, '_asdict')
         # It must be a normal tuple
         except AttributeError:
             self.__search_iterable(obj, item, parent, parents_ids)
@@ -301,7 +313,7 @@ class DeepSearch(dict):
             self.__search_obj(
                 obj, item, parent, parents_ids, is_namedtuple=True)
 
-    def __search(self, obj, item, parent="root", parents_ids=frozenset()):
+    def __search(self, obj: Any, item: Any, parent: str = "root", parents_ids: FrozenSet[int] = frozenset()) -> None:
         """The main search method"""
         if self.__skip_this(item, parent):
             return
@@ -312,6 +324,9 @@ class DeepSearch(dict):
         elif isinstance(obj, strings) and isinstance(item, numbers):
             return
 
+        elif isinstance(obj, ipranges):
+            self.__search_str(str(obj), item, parent)
+
         elif isinstance(obj, numbers):
             self.__search_numbers(obj, item, parent)
 
@@ -341,12 +356,12 @@ class grep:
     __doc__ = doc
 
     def __init__(self,
-                 item,
-                 **kwargs):
-        self.item = item
-        self.kwargs = kwargs
+                 item: Any,
+                 **kwargs: Any) -> None:
+        self.item: Any = item
+        self.kwargs: Dict[str, Any] = kwargs
 
-    def __ror__(self, other):
+    def __ror__(self, other: Any) -> "DeepSearch":
         return DeepSearch(obj=other, item=self.item, **self.kwargs)
 
 
diff -pruN 8.1.1-4/deepdiff/serialization.py 8.6.1-1/deepdiff/serialization.py
--- 8.1.1-4/deepdiff/serialization.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/deepdiff/serialization.py	2025-09-03 19:38:30.000000000 +0000
@@ -11,40 +11,15 @@ import datetime  # NOQA
 import decimal  # NOQA
 import orderly_set  # NOQA
 import collections  # NOQA
-try:
-    import yaml
-except ImportError:  # pragma: no cover.
-    yaml = None  # pragma: no cover.
-try:
-    if sys.version_info >= (3, 11):
-        import tomllib as tomli
-    else:
-        import tomli
-except ImportError:  # pragma: no cover.
-    tomli = None  # pragma: no cover.
-try:
-    import tomli_w
-except ImportError:  # pragma: no cover.
-    tomli_w = None  # pragma: no cover.
-try:
-    import clevercsv
-    csv = None
-except ImportError:  # pragma: no cover.
-    import csv
-    clevercsv = None  # pragma: no cover.
-try:
-    import orjson
-except ImportError:  # pragma: no cover.
-    orjson = None
-try:
-    from pydantic import BaseModel as PydanticBaseModel
-except ImportError:  # pragma: no cover.
-    PydanticBaseModel = None
-
+import ipaddress
+import base64
 from copy import deepcopy, copy
 from functools import partial
-from collections.abc import Mapping
-from typing import Callable, Optional, Union
+from collections.abc import Mapping, KeysView
+from typing import (
+    Callable, Optional, Union,
+    overload, Literal, Any,
+)
 from deepdiff.helper import (
     strings,
     get_type,
@@ -56,16 +31,19 @@ from deepdiff.helper import (
     np_ndarray,
     Opcode,
     SetOrdered,
+    pydantic_base_model_type,
+    PydanticBaseModel,
+    NotPresent,
+    ipranges,
 )
 from deepdiff.model import DeltaResult
 
-logger = logging.getLogger(__name__)
-
 try:
-    import jsonpickle
-except ImportError:  # pragma: no cover. Json pickle is getting deprecated.
-    jsonpickle = None  # pragma: no cover. Json pickle is getting deprecated.
+    import orjson
+except ImportError:  # pragma: no cover.
+    orjson = None
 
+logger = logging.getLogger(__name__)
 
 class UnsupportedFormatErr(TypeError):
     pass
@@ -81,7 +59,7 @@ FORBIDDEN_MODULE_MSG = "Module '{}' is f
 DELTA_IGNORE_ORDER_NEEDS_REPETITION_REPORT = 'report_repetition must be set to True when ignore_order is True to create the delta object.'
 DELTA_ERROR_WHEN_GROUP_BY = 'Delta can not be made when group_by is used since the structure of data is modified from the original form.'
 
-SAFE_TO_IMPORT = {
+SAFE_TO_IMPORT = frozenset({
     'builtins.range',
     'builtins.complex',
     'builtins.set',
@@ -110,7 +88,14 @@ SAFE_TO_IMPORT = {
     'collections.OrderedDict',
     're.Pattern',
     'deepdiff.helper.Opcode',
-}
+    'ipaddress.IPv4Interface',
+    'ipaddress.IPv6Interface',
+    'ipaddress.IPv4Network',
+    'ipaddress.IPv6Network',
+    'ipaddress.IPv4Address',
+    'ipaddress.IPv6Address',
+    'collections.abc.KeysView',
+})
 
 
 TYPE_STR_TO_TYPE = {
@@ -137,7 +122,11 @@ TYPE_STR_TO_TYPE = {
     'SetOrdered': SetOrdered,
     'namedtuple': collections.namedtuple,
     'OrderedDict': collections.OrderedDict,
-    'Pattern': re.Pattern,    
+    'Pattern': re.Pattern,
+    'iprange': str,
+    'IPv4Address': ipaddress.IPv4Address,
+    'IPv6Address': ipaddress.IPv6Address,
+    'KeysView': list,
 }
 
 
@@ -162,10 +151,11 @@ class SerializationMixin:
         :ref:`to_json_pickle_label`
         Get the json pickle of the diff object. Unless you need all the attributes and functionality of DeepDiff, running to_json() is the safer option that json pickle.
         """
-        if jsonpickle:
-            copied = self.copy()
+        try:
+            import jsonpickle
+            copied = self.copy()  # type: ignore
             return jsonpickle.encode(copied)
-        else:
+        except ImportError:  # pragma: no cover. Json pickle is getting deprecated.
             logger.error('jsonpickle library needs to be installed in order to run to_json_pickle')  # pragma: no cover. Json pickle is getting deprecated.
 
     @classmethod
@@ -175,9 +165,10 @@ class SerializationMixin:
         Load DeepDiff object with all the bells and whistles from the json pickle dump.
         Note that json pickle dump comes from to_json_pickle
         """
-        if jsonpickle:
+        try:
+            import jsonpickle
             return jsonpickle.decode(value)
-        else:
+        except ImportError:  # pragma: no cover. Json pickle is getting deprecated.
             logger.error('jsonpickle library needs to be installed in order to run from_json_pickle')  # pragma: no cover. Json pickle is getting deprecated.
 
     def to_json(self, default_mapping: Optional[dict]=None, force_use_builtin_json=False, **kwargs):
@@ -225,7 +216,7 @@ class SerializationMixin:
             **kwargs,
         )
 
-    def to_dict(self, view_override=None):
+    def to_dict(self, view_override: Optional[str]=None) -> dict:
         """
         convert the result to a python dictionary. You can override the view type by passing view_override.
 
@@ -236,10 +227,15 @@ class SerializationMixin:
             The options are the text or tree.
         """
 
-        view = view_override if view_override else self.view
-        return dict(self._get_view_results(view))
+        view = view_override if view_override else self.view  # type: ignore
+        return dict(self._get_view_results(view))  # type: ignore
 
-    def _to_delta_dict(self, directed=True, report_repetition_required=True, always_include_values=False):
+    def _to_delta_dict(
+        self,
+        directed: bool = True,
+        report_repetition_required: bool = True,
+        always_include_values: bool = False,
+    ) -> dict:
         """
         Dump to a dictionary suitable for delta usage.
         Unlike to_dict, this is not dependent on the original view that the user chose to create the diff.
@@ -262,12 +258,12 @@ class SerializationMixin:
         was set to be True in the diff object.
 
         """
-        if self.group_by is not None:
+        if self.group_by is not None:  # type: ignore
             raise ValueError(DELTA_ERROR_WHEN_GROUP_BY)
 
         if directed and not always_include_values:
-            _iterable_opcodes = {}
-            for path, op_codes in self._iterable_opcodes.items():
+            _iterable_opcodes = {}  # type: ignore
+            for path, op_codes in self._iterable_opcodes.items():  # type: ignore
                 _iterable_opcodes[path] = []
                 for op_code in op_codes:
                     new_op_code = Opcode(
@@ -280,29 +276,29 @@ class SerializationMixin:
                     )
                     _iterable_opcodes[path].append(new_op_code)
         else:
-            _iterable_opcodes = self._iterable_opcodes
+            _iterable_opcodes = self._iterable_opcodes  # type: ignore
 
         result = DeltaResult(
-            tree_results=self.tree,
-            ignore_order=self.ignore_order,
+            tree_results=self.tree,  # type: ignore
+            ignore_order=self.ignore_order,  # type: ignore
             always_include_values=always_include_values,
             _iterable_opcodes=_iterable_opcodes,
         )
         result.remove_empty_keys()
-        if report_repetition_required and self.ignore_order and not self.report_repetition:
+        if report_repetition_required and self.ignore_order and not self.report_repetition:  # type: ignore
             raise ValueError(DELTA_IGNORE_ORDER_NEEDS_REPETITION_REPORT)
         if directed:
             for report_key, report_value in result.items():
                 if isinstance(report_value, Mapping):
                     for path, value in report_value.items():
                         if isinstance(value, Mapping) and 'old_value' in value:
-                            del value['old_value']
-        if self._numpy_paths:
+                            del value['old_value']  # type: ignore
+        if self._numpy_paths:  # type: ignore
             # Note that keys that start with '_' are considered internal to DeepDiff
             # and will be omitted when counting distance. (Look inside the distance module.)
-            result['_numpy_paths'] = self._numpy_paths
+            result['_numpy_paths'] = self._numpy_paths  # type: ignore
 
-        if self.iterable_compare_func:
+        if self.iterable_compare_func:  # type: ignore
             result['_iterable_compare_func_was_used'] = True
 
         return deepcopy(dict(result))
@@ -325,9 +321,9 @@ class SerializationMixin:
         result = []
         if prefix is None:
             prefix = ''
-        keys = sorted(self.tree.keys())  # sorting keys to guarantee constant order across python versions.
+        keys = sorted(self.tree.keys())  # type: ignore # sorting keys to guarantee constant order across python versions.
         for key in keys:
-            for item_key in self.tree[key]:
+            for item_key in self.tree[key]:  # type: ignore
                 result += [pretty_print_diff(item_key)]
 
         if callable(prefix):
@@ -363,8 +359,8 @@ class _RestrictedUnpickler(pickle.Unpick
         # Forbid everything else.
         raise ForbiddenModule(FORBIDDEN_MODULE_MSG.format(module_dot_class)) from None
 
-    def persistent_load(self, persistent_id):
-        if persistent_id == "<<NoneType>>":
+    def persistent_load(self, pid):
+        if pid == "<<NoneType>>":
             return type(None)
 
 
@@ -483,19 +479,27 @@ def load_path_content(path, file_type=No
     """
     Loads and deserializes the content of the path.
     """
+
     if file_type is None:
         file_type = path.split('.')[-1]
     if file_type == 'json':
         with open(path, 'r') as the_file:
             content = json_loads(the_file.read())
     elif file_type in {'yaml', 'yml'}:
-        if yaml is None:  # pragma: no cover.
-            raise ImportError('Pyyaml needs to be installed.')  # pragma: no cover.
+        try:
+            import yaml
+        except ImportError:  # pragma: no cover.
+            raise ImportError('Pyyaml needs to be installed.') from None  # pragma: no cover.
         with open(path, 'r') as the_file:
             content = yaml.safe_load(the_file)
     elif file_type == 'toml':
-        if tomli is None:  # pragma: no cover.
-            raise ImportError('On python<=3.10 tomli needs to be installed.')  # pragma: no cover.
+        try:
+            if sys.version_info >= (3, 11):
+                import tomllib as tomli
+            else:
+                import tomli
+        except ImportError:  # pragma: no cover.
+            raise ImportError('On python<=3.10 tomli needs to be installed.') from None  # pragma: no cover.
         with open(path, 'rb') as the_file:
             content = tomli.load(the_file)
     elif file_type == 'pickle':
@@ -503,11 +507,14 @@ def load_path_content(path, file_type=No
             content = the_file.read()
             content = pickle_load(content)
     elif file_type in {'csv', 'tsv'}:
-        if clevercsv:  # pragma: no cover.
+        try:
+            import clevercsv  # type: ignore
             content = clevercsv.read_dicts(path)
-        else:
+        except ImportError:  # pragma: no cover.
+            import csv
             with open(path, 'r') as the_file:
                 content = list(csv.DictReader(the_file))
+
         logger.info(f"NOTE: CSV content was empty in {path}")
 
         # Everything in csv is string but we try to automatically convert any numbers we find
@@ -552,24 +559,30 @@ def _save_content(content, path, file_ty
     if file_type == 'json':
         with open(path, 'w') as the_file:
             content = json_dumps(content)
-            the_file.write(content)
+            the_file.write(content)  # type: ignore
     elif file_type in {'yaml', 'yml'}:
-        if yaml is None:  # pragma: no cover.
-            raise ImportError('Pyyaml needs to be installed.')  # pragma: no cover.
+        try:
+            import yaml
+        except ImportError:  # pragma: no cover.
+            raise ImportError('Pyyaml needs to be installed.') from None  # pragma: no cover.
         with open(path, 'w') as the_file:
             content = yaml.safe_dump(content, stream=the_file)
     elif file_type == 'toml':
-        if tomli_w is None:  # pragma: no cover.
-            raise ImportError('Tomli-w needs to be installed.')  # pragma: no cover.
+        try:
+            import tomli_w
+        except ImportError:  # pragma: no cover.
+            raise ImportError('Tomli-w needs to be installed.') from None  # pragma: no cover.
         with open(path, 'wb') as the_file:
             content = tomli_w.dump(content, the_file)
     elif file_type == 'pickle':
         with open(path, 'wb') as the_file:
             content = pickle_dump(content, file_obj=the_file)
     elif file_type in {'csv', 'tsv'}:
-        if clevercsv:  # pragma: no cover.
+        try:
+            import clevercsv  # type: ignore
             dict_writer = clevercsv.DictWriter
-        else:
+        except ImportError:  # pragma: no cover.
+            import csv
             dict_writer = csv.DictWriter
         with open(path, 'w', newline='') as csvfile:
             fieldnames = list(content[0].keys())
@@ -595,13 +608,25 @@ def _serialize_tuple(value):
     return value
 
 
+def _serialize_bytes(value):
+    """
+    Serialize bytes to JSON-compatible format.
+    First tries UTF-8 decoding for backward compatibility.
+    Falls back to base64 encoding for binary data.
+    """
+    try:
+        return value.decode('utf-8')
+    except UnicodeDecodeError:
+        return base64.b64encode(value).decode('ascii')
+
+
 JSON_CONVERTOR = {
     decimal.Decimal: _serialize_decimal,
     SetOrdered: list,
     orderly_set.StableSetEq: list,
     set: list,
     type: lambda x: x.__name__,
-    bytes: lambda x: x.decode('utf-8'),
+    bytes: _serialize_bytes,
     datetime.datetime: lambda x: x.isoformat(),
     uuid.UUID: lambda x: str(x),
     np_float32: float,
@@ -611,10 +636,14 @@ JSON_CONVERTOR = {
     np_ndarray: lambda x: x.tolist(),
     tuple: _serialize_tuple,
     Mapping: dict,
+    NotPresent: str,
+    ipranges: str,
+    memoryview: lambda x: x.tobytes(),
+    KeysView: list,
 }
 
-if PydanticBaseModel:
-    JSON_CONVERTOR[PydanticBaseModel] = lambda x: x.dict()
+if PydanticBaseModel is not pydantic_base_model_type:
+    JSON_CONVERTOR[PydanticBaseModel] = lambda x: x.model_dump()
 
 
 def json_convertor_default(default_mapping=None):
@@ -631,7 +660,33 @@ def json_convertor_default(default_mappi
         # This is to handle reverse() which creates a generator of type list_reverseiterator
         if obj.__class__.__name__ == 'list_reverseiterator':
             return list(copy(obj))
-        raise TypeError('We do not know how to convert {} of type {} for json serialization. Please pass the default_mapping parameter with proper mapping of the object to a basic python type.'.format(obj, type(obj)))
+        # 3) gather @property values by scanning __class__.__dict__ and bases
+        props = {}
+        for cls in obj.__class__.__mro__:
+            for name, descriptor in cls.__dict__.items():
+                if isinstance(descriptor, property) and not name.startswith('_'):
+                    try:
+                        props[name] = getattr(obj, name)
+                    except Exception:
+                        # skip properties that error out
+                        pass
+        if props:
+            return props
+
+        # 4) fallback: public __dict__ entries
+        if hasattr(obj, '__dict__'):
+            return {
+                k: v
+                for k, v in vars(obj).items()
+                if not k.startswith('_')
+            }
+
+        # 5) give up
+        raise TypeError(
+            f"Don't know how to JSON-serialize {obj!r} "
+            f"(type {type(obj).__name__}); "
+            "consider adding it to default_mapping."
+        )
 
     return _convertor
 
@@ -641,7 +696,7 @@ class JSONDecoder(json.JSONDecoder):
     def __init__(self, *args, **kwargs):
         json.JSONDecoder.__init__(self, object_hook=self.object_hook, *args, **kwargs)
 
-    def object_hook(self, obj):
+    def object_hook(self, obj):  # type: ignore
         if 'old_type' in obj and 'new_type' in obj:
             for type_key in ('old_type', 'new_type'):
                 type_str = obj[type_key]
@@ -650,7 +705,44 @@ class JSONDecoder(json.JSONDecoder):
         return obj
 
 
-def json_dumps(item, default_mapping=None, force_use_builtin_json: bool=False, **kwargs):
+
+@overload
+def json_dumps(
+    item: Any,
+    **kwargs,
+) -> str:
+    ...
+
+
+@overload
+def json_dumps(
+    item: Any,
+    default_mapping:Optional[dict],
+    force_use_builtin_json: bool,
+    return_bytes:Literal[True],
+    **kwargs,
+) -> bytes:
+    ...
+
+
+@overload
+def json_dumps(
+    item: Any,
+    default_mapping:Optional[dict],
+    force_use_builtin_json: bool,
+    return_bytes:Literal[False],
+    **kwargs,
+) -> str:
+    ...
+
+
+def json_dumps(
+    item: Any,
+    default_mapping:Optional[dict]=None,
+    force_use_builtin_json: bool = False,
+    return_bytes: bool = False,
+    **kwargs,
+) -> Union[str, bytes]:
     """
     Dump json with extra details that are not normally json serializable
 
@@ -663,22 +755,29 @@ def json_dumps(item, default_mapping=Non
     """
     if orjson and not force_use_builtin_json:
         indent = kwargs.pop('indent', None)
+        kwargs['option'] = orjson.OPT_NON_STR_KEYS | orjson.OPT_SERIALIZE_NUMPY
         if indent:
-            kwargs['option'] = orjson.OPT_INDENT_2
+            kwargs['option'] |= orjson.OPT_INDENT_2
         if 'sort_keys' in kwargs:
             raise TypeError(
                 "orjson does not accept the sort_keys parameter. "
                 "If you need to pass sort_keys, set force_use_builtin_json=True "
                 "to use Python's built-in json library instead of orjson.")
-        return orjson.dumps(
+        result = orjson.dumps(
             item,
             default=json_convertor_default(default_mapping=default_mapping),
-            **kwargs).decode(encoding='utf-8')
+            **kwargs)
+        if return_bytes:
+            return result
+        return result.decode(encoding='utf-8')
     else:
-        return json.dumps(
+        result = json.dumps(
             item,
             default=json_convertor_default(default_mapping=default_mapping),
             **kwargs)
+        if return_bytes:
+            return result.encode(encoding='utf-8')
+        return result
 
 
 json_loads = partial(json.loads, cls=JSONDecoder)
diff -pruN 8.1.1-4/deepdiff/summarize.py 8.6.1-1/deepdiff/summarize.py
--- 8.1.1-4/deepdiff/summarize.py	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/deepdiff/summarize.py	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,144 @@
+from typing import Tuple
+from deepdiff.helper import JSON, SummaryNodeType
+from deepdiff.serialization import json_dumps
+
+
+def _truncate(s: str, max_len: int) -> str:
+    """
+    Truncate string s to max_len characters.
+    If possible, keep the first (max_len-5) characters, then '...' then the last 2 characters.
+    """
+    if len(s) <= max_len:
+        return s
+    if max_len <= 5:
+        return s[:max_len]
+    return s[:max_len - 5] + "..." + s[-2:]
+# Re-defining the functions due to environment reset
+
+
+# Function to calculate node weights recursively
+def calculate_weights(node):
+    if isinstance(node, dict):
+        weight = 0
+        children_weights = {}
+        for k, v in node.items():
+            try:
+                edge_weight = len(k)
+            except TypeError:
+                edge_weight = 1
+            child_weight, child_structure = calculate_weights(v)
+            total_weight = edge_weight + child_weight
+            weight += total_weight
+            children_weights[k] = (edge_weight, child_weight, child_structure)
+        return weight, (SummaryNodeType.dict, children_weights)
+
+    elif isinstance(node, list):
+        weight = 0
+        children_weights = []
+        for v in node:
+            edge_weight = 0  # Index weights are zero
+            child_weight, child_structure = calculate_weights(v)
+            total_weight = edge_weight + child_weight
+            weight += total_weight
+            children_weights.append((edge_weight, child_weight, child_structure))
+        return weight, (SummaryNodeType.list, children_weights)
+
+    else:
+        if isinstance(node, str):
+            node_weight = len(node)
+        elif isinstance(node, int):
+            node_weight = len(str(node))
+        elif isinstance(node, float):
+            node_weight = len(str(round(node, 2)))
+        elif node is None:
+            node_weight = 1
+        else:
+            node_weight = 0
+        return node_weight, (SummaryNodeType.leaf, node)
+
+# Include previously defined functions for shrinking with threshold
+# (Implementing directly the balanced summarization algorithm as above)
+
+# Balanced algorithm (simplified version):
+def shrink_tree_balanced(node_structure, max_weight: int, balance_threshold: float) -> Tuple[JSON, float]:
+    node_type, node_info = node_structure
+
+    if node_type is SummaryNodeType.leaf:
+        leaf_value = node_info
+        leaf_weight, _ = calculate_weights(leaf_value)
+        if leaf_weight <= max_weight:
+            return leaf_value, leaf_weight
+        else:
+            if isinstance(leaf_value, str):
+                truncated_value = _truncate(leaf_value, max_weight)
+                return truncated_value, len(truncated_value)
+            elif isinstance(leaf_value, (int, float)):
+                leaf_str = str(leaf_value)
+                truncated_str = leaf_str[:max_weight]
+                try:
+                    return int(truncated_str), len(truncated_str)
+                except Exception:
+                    try:
+                        return float(truncated_str), len(truncated_str)
+                    except Exception:
+                        return truncated_str, len(truncated_str)
+            elif leaf_value is None:
+                return None, 1 if max_weight >= 1 else 0
+
+    elif node_type is SummaryNodeType.dict:
+        shrunk_dict = {}
+        total_weight = 0
+        sorted_children = sorted(node_info.items(), key=lambda x: x[1][0] + x[1][1], reverse=True)
+
+        for k, (edge_w, _, child_struct) in sorted_children:
+            allowed_branch_weight = min(max_weight * balance_threshold, max_weight - total_weight)
+            if allowed_branch_weight <= edge_w:
+                continue
+
+            remaining_weight = int(allowed_branch_weight - edge_w)
+            shrunk_child, shrunk_weight = shrink_tree_balanced(child_struct, remaining_weight, balance_threshold)
+            if shrunk_child is not None:
+                shrunk_dict[k[:edge_w]] = shrunk_child
+                total_weight += edge_w + shrunk_weight
+
+            if total_weight >= max_weight:
+                break
+        if not shrunk_dict:
+            return None, 0
+
+        return shrunk_dict, total_weight
+
+    elif node_type is SummaryNodeType.list:
+        shrunk_list = []
+        total_weight = 0
+        sorted_children = sorted(node_info, key=lambda x: x[0] + x[1], reverse=True)
+        for edge_w, _, child_struct in sorted_children:
+            allowed_branch_weight = int(min(max_weight * balance_threshold, max_weight - total_weight))
+            shrunk_child, shrunk_weight = shrink_tree_balanced(child_struct, allowed_branch_weight, balance_threshold)
+            if shrunk_child is not None:
+                shrunk_list.append(shrunk_child)
+                total_weight += shrunk_weight
+            if total_weight >= max_weight - 1:
+                shrunk_list.append("...")
+                break
+        if not shrunk_list:
+            return None, 0
+        return shrunk_list, total_weight
+    return None, 0
+
+
+def greedy_tree_summarization_balanced(json_data: JSON, max_weight: int, balance_threshold=0.6) -> JSON:
+    total_weight, tree_structure = calculate_weights(json_data)
+    if total_weight <= max_weight:
+        return json_data
+    shrunk_tree, _ = shrink_tree_balanced(tree_structure, max_weight, balance_threshold)
+    return shrunk_tree
+
+
+def summarize(data: JSON, max_length:int=200, balance_threshold:float=0.6) -> str:
+    try:
+        return json_dumps(
+            greedy_tree_summarization_balanced(data, max_length, balance_threshold)
+        )
+    except Exception:
+        return str(data)
diff -pruN 8.1.1-4/docs/authors.rst 8.6.1-1/docs/authors.rst
--- 8.1.1-4/docs/authors.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/authors.rst	2025-09-03 19:38:30.000000000 +0000
@@ -111,6 +111,14 @@ and polars support.
   function) to prefix every output when using the pretty() call.
 - `David Hotham <https://github.com/dimbleby>`__ for relaxing
   orderly-set dependency via #486
+- `dtorres-sf <https://github.com/dtorres-sf>`__ for the fix for moving
+  nested tables when using iterable_compare_func.
+- `Jim Cipar <https://github.com/jcipar>`__ for the fix recursion depth
+  limit when hashing numpy.datetime64
+- `Enji Cooper <https://github.com/ngie-eign>`__ for converting legacy
+  setuptools use to pyproject.toml
+- `Diogo Correia <https://github.com/diogotcorreia>`__ for reporting security vulnerability in Delta and DeepDiff that could allow remote code execution.
+
 
 .. _Sep Dehpour (Seperman): http://www.zepworks.com
 .. _Victor Hahn Castell: http://hahncastell.de
diff -pruN 8.1.1-4/docs/basics.rst 8.6.1-1/docs/basics.rst
--- 8.1.1-4/docs/basics.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/basics.rst	2025-09-03 19:38:30.000000000 +0000
@@ -148,6 +148,19 @@ Object attribute added:
      'values_changed': {'root.b': {'new_value': 2, 'old_value': 1}}}
 
 
+Datetime
+    DeepDiff converts all datetimes into UTC. If a datetime is timezone naive, we assume it is in UTC too.
+    That is different than what Python does. Python assumes your timezone naive datetime is in your local timezone.
+    >>> from deepdiff import DeepDiff
+    >>> from datetime import datetime, timezone
+    >>> d1 = datetime(2020, 8, 31, 13, 14, 1)
+    >>> d2 = datetime(2020, 8, 31, 13, 14, 1, tzinfo=timezone.utc)
+    >>> d1 == d2
+    False
+    >>> DeepDiff(d1, d2)
+    {}
+
+
 .. note::
     All the examples above use the default :ref:`text_view_label`.
     If you want traversing functionality in the results, use the :ref:`tree_view_label`.
@@ -283,4 +296,28 @@ Example of using group_by_sort_key
                                                        'old_value': 'Blue'}}}
 
 
+.. _default_timezone_label:
+
+Default Time Zone
+-----------------
+
+default_timezone defines the default timezone. If a datetime is timezone naive, which means it doesn't have a timezone, we assume the datetime is in this timezone. Also any datetime that has a timezone will be converted to this timezone so the datetimes can be compared properly all in the same timezone. Note that Python's default behavior assumes the default timezone is your local timezone. DeepDiff's default is UTC, not your local time zone.
+
+
+Note that if we change the default_timezone, the output timezone changes accordingly
+    >>> from deepdiff import DeepDiff
+    >>> import pytz
+    >>> from datetime import date, datetime, time, timezone
+    >>> dt_utc = datetime(2025, 2, 3, 12, 0, 0, tzinfo=pytz.utc)  # UTC timezone
+    >>> dt_utc2 = datetime(2025, 2, 3, 11, 0, 0, tzinfo=pytz.utc)  # UTC timezone
+    >>> dt_ny = dt_utc.astimezone(pytz.timezone('America/New_York'))
+    >>> dt_ny2 = dt_utc2.astimezone(pytz.timezone('America/New_York'))
+    >>> diff = DeepDiff(dt_ny, dt_ny2)
+    >>> diff
+    {'values_changed': {'root': {'new_value': datetime.datetime(2025, 2, 3, 11, 0, tzinfo=datetime.timezone.utc), 'old_value': datetime.datetime(2025, 2, 3, 12, 0, tzinfo=datetime.timezone.utc)}}}
+    >>> diff2 = DeepDiff(dt_ny, dt_ny2, default_timezone=pytz.timezone('America/New_York'))
+    >>> diff2
+    {'values_changed': {'root': {'new_value': datetime.datetime(2025, 2, 3, 6, 0, tzinfo=<DstTzInfo 'America/New_York' EST-1 day, 19:00:00 STD>), 'old_value': datetime.datetime(2025, 2, 3, 7, 0, tzinfo=<DstTzInfo 'America/New_York' EST-1 day, 19:00:00 STD>)}}}
+
+
 Back to :doc:`/index`
diff -pruN 8.1.1-4/docs/changelog.rst 8.6.1-1/docs/changelog.rst
--- 8.1.1-4/docs/changelog.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/changelog.rst	2025-09-03 19:38:30.000000000 +0000
@@ -5,6 +5,64 @@ Changelog
 
 DeepDiff Changelog
 
+- v8-6-1
+   - Patched security vulnerability in the Delta class which was vulnerable to class pollution via its constructor, and when combined with a gadget available in DeltaDiff itself, it could lead to Denial of Service and Remote Code Execution (via insecure Pickle deserialization).
+
+- v8-6-0
+   - Added Colored View thanks to @mauvilsa
+   - Added support for applying deltas to NamedTuple thanks to @paulsc
+   - Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
+   - Added python property serialization to json
+   - Added ip address serialization
+   - Switched to UV from pip
+   - Added Claude.md
+   - Added uuid hashing thanks to @akshat62
+   - Added ``ignore_uuid_types`` flag to DeepDiff to avoid type reports
+     when comparing UUID and string.
+   - Added comprehensive type hints across the codebase (multiple commits
+     for better type safety)
+   - Added support for memoryview serialization
+   - Added support for bytes serialization (non-UTF8 compatible)
+   - Fixed bug where group_by with numbers would leak type info into group
+     path reports
+   - Fixed bug in ``_get_clean_to_keys_mapping without`` explicit
+     significant digits
+   - Added support for python dict key serialization
+   - Enhanced support for IP address serialization with safe module imports
+   - Added development tooling improvements (pyright config, .envrc
+     example)
+   - Updated documentation and development instructions
+
+- v8-5-0
+    - Updating deprecated pydantic calls
+    - Switching to pyproject.toml
+    - Fix for moving nested tables when using iterable_compare_func.  by 
+    - Fix recursion depth limit when hashing numpy.datetime64
+    - Moving from legacy setuptools use to pyproject.toml
+
+- v8-4-2
+    - fixes the type hints for the base
+    - fixes summarize so if json dumps fails, we can still get a repr of the results
+    - adds ipaddress support
+
+- v8-4-1
+    - Adding BaseOperatorPlus base class for custom operators
+    - default_timezone can be passed now to set your default timezone to something other than UTC.
+    - New summarization algorithm that produces valid json
+    - Better type hint support
+    - Breaking change in DeepHash where we raise Exception instead of logging if we can't hash a value.
+   - Added the log_stacktrace parameter to DeepDiff. When True, it will log the stacktrace along with the error.
+
+- v8-3-0
+    - Fixed some static typing issues
+    - Added the summarize module for better repr of nested values
+
+
+- v8-2-0
+    - Small optimizations so we don't load functions that are not needed
+    - Updated the minimum version of Orderly-set 
+    - Normalize all datetimes into UTC. Assume timezone naive datetimes are UTC. 
+
 
 - v8-1-0
 
diff -pruN 8.1.1-4/docs/colored_view.rst 8.6.1-1/docs/colored_view.rst
--- 8.1.1-4/docs/colored_view.rst	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/docs/colored_view.rst	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,101 @@
+.. _colored_view_label:
+
+Colored View
+============
+
+The `ColoredView` feature in `deepdiff` provides a human-readable, color-coded JSON output of the
+differences between two objects. This feature is particularly useful for visualizing changes in a
+clear and intuitive manner.
+
+- **Color-Coded Differences:**
+
+  - **Added Elements:** Shown in green.
+  - **Removed Elements:** Shown in red.
+  - **Changed Elements:** The old value is shown in red, and the new value is shown in green.
+
+Usage
+-----
+
+To use the `ColoredView`, simply pass the `COLORED_VIEW` option to the `DeepDiff` function:
+
+.. code-block:: python
+
+    from deepdiff import DeepDiff
+    from deepdiff.helper import COLORED_VIEW
+
+    t1 = {"name": "John", "age": 30, "scores": [1, 2, 3], "address": {"city": "New York", "zip": "10001"}}
+    t2 = {"name": "John", "age": 31, "scores": [1, 2, 4], "address": {"city": "Boston", "zip": "10001"}, "new": "value"}
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    print(diff)
+
+Or from command line:
+
+.. code-block:: bash
+
+    deep diff --view colored t1.json t2.json
+
+The output will look something like this:
+
+.. raw:: html
+
+    <pre style="background-color: #f8f8f8; padding: 1em; border-radius: 4px;">
+    {
+      "name": "John",
+      "age": <span style="color: #ff0000">30</span> -> <span style="color: #00aa00">31</span>,
+      "scores": [
+        1,
+        2,
+        <span style="color: #ff0000">3</span> -> <span style="color: #00aa00">4</span>
+      ],
+      "address": {
+        "city": <span style="color: #ff0000">"New York"</span> -> <span style="color: #00aa00">"Boston"</span>,
+        "zip": "10001"
+      },
+      <span style="color: #00aa00">"new": "value"</span>
+    }
+    </pre>
+
+Colored Compact View
+--------------------
+
+For a more concise output, especially with deeply nested objects where many parts are unchanged,
+the `ColoredView` with the compact option can be used. This view is similar but collapses
+unchanged nested dictionaries to `{...}` and unchanged lists/tuples to `[...]`. To use the compact
+option do:
+
+.. code-block:: python
+
+    from deepdiff import DeepDiff
+    from deepdiff.helper import COLORED_COMPACT_VIEW
+
+    t1 = {"name": "John", "age": 30, "scores": [1, 2, 3], "address": {"city": "New York", "zip": "10001"}}
+    t2 = {"name": "John", "age": 31, "scores": [1, 2, 4], "address": {"city": "New York", "zip": "10001"}, "new": "value"}
+
+    diff = DeepDiff(t1, t2, view=COLORED_COMPACT_VIEW)
+    print(diff)
+
+Or from command line:
+
+.. code-block:: bash
+
+    deep diff --view colored_compact t1.json t2.json
+
+
+The output will look something like this:
+
+.. raw:: html
+
+    <pre style="background-color: #f8f8f8; padding: 1em; border-radius: 4px;">
+    {
+      "name": "John",
+      "age": <span style="color: #ff0000">30</span> -> <span style="color: #00aa00">31</span>,
+      "scores": [
+        1,
+        2,
+        <span style="color: #ff0000">3</span> -> <span style="color: #00aa00">4</span>
+      ],
+      "address": {...},
+      <span style="color: #00aa00">"new": "value"</span>
+    }
+    </pre>
diff -pruN 8.1.1-4/docs/commandline.rst 8.6.1-1/docs/commandline.rst
--- 8.1.1-4/docs/commandline.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/commandline.rst	2025-09-03 19:38:30.000000000 +0000
@@ -72,6 +72,9 @@ to get the options:
       --significant-digits INTEGER
       --truncate-datetime [second|minute|hour|day]
       --verbose-level INTEGER RANGE   [default: 1]
+      --view [-|colored|colored_compact]
+                                      [default: -]
+                                      Format for displaying differences.
       --help                          Show this message and exit.
 
 
@@ -109,6 +112,12 @@ The path is perhaps more readable now: `
 .. Note::
     The parameters in the deep diff commandline are a subset of those in :ref:`deepdiff_module_label` 's Python API.
 
+To output in a specific format, for example the colored compact view (see :doc:`colored_view` for output details):
+
+.. code-block:: bash
+
+    $ deep diff t1.json t2.json --view colored_compact
+
 
 .. _deep_grep_command:
 
diff -pruN 8.1.1-4/docs/conf.py 8.6.1-1/docs/conf.py
--- 8.1.1-4/docs/conf.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/conf.py	2025-09-03 19:38:30.000000000 +0000
@@ -14,6 +14,7 @@
 
 import sys
 import os
+import datetime
 from dotenv import load_dotenv
 
 # If extensions (or modules to document with autodoc) are in another directory,
@@ -52,8 +53,10 @@ source_suffix = '.rst'
 master_doc = 'index'
 
 # General information about the project.
+
+year = datetime.datetime.now().year
 project = 'DeepDiff'
-copyright = '2015-2024, Sep Dehpour'
+copyright = '2015-{}, Sep Dehpour'.format(year)
 author = 'Sep Dehpour'
 
 # The version info for the project you're documenting, acts as replacement for
@@ -61,9 +64,9 @@ author = 'Sep Dehpour'
 # built documents.
 #
 # The short X.Y version.
-version = '8.1.1'
+version = '8.6.1'
 # The full version, including alpha/beta/rc tags.
-release = '8.1.1'
+release = '8.6.1'
 
 load_dotenv(override=True)
 DOC_VERSION = os.environ.get('DOC_VERSION', version)
diff -pruN 8.1.1-4/docs/custom.rst 8.6.1-1/docs/custom.rst
--- 8.1.1-4/docs/custom.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/custom.rst	2025-09-03 19:38:30.000000000 +0000
@@ -178,46 +178,148 @@ Define A Custom Operator
 ------------------------
 
 
-To define an custom operator, you just need to inherit a *BaseOperator* and
+To define an custom operator, you just need to inherit *BaseOperator* or *BaseOperatorPlus*.
 
-    * implement a give_up_diffing method
-        * give_up_diffing(level: DiffLevel, diff_instance: DeepDiff) -> boolean
+    - *BaseOperatorPlus* is our new base operator that can be subclassed and provides the structure to build any custom operator.
+    - *BaseOperator* is our older base class for creating custom operators. It was designed mainly for simple string based regex comparison.
 
-          If it returns True, then we will give up diffing the two objects.
-          You may or may not use the diff_instance.custom_report_result within this function
-          to report any diff. If you decide not to report anything, and this
-          function returns True, then the objects are basically skipped in the results.
 
-    * pass regex_paths and types that will be used to decide if the objects are matched to the init method.
-      once the objects are matched, then the give_up_diffing will be run to compare them.
+Base Operator Plus
+..................
 
-In fact you don't even have to subclass the base operator.
+*BaseOperatorPlus* is our new base operator that can be subclassed and provides the structure to build any custom operator.
 
-This is all that is expected from the operator, a match function that takes the level and a give_up_diffing function that takes the level and diff_instance.
+.. code-block:: python
+
+    class BaseOperatorPlus(metaclass=ABCMeta):
+
+        @abstractmethod
+        def match(self, level) -> bool:
+            """
+            Given a level which includes t1 and t2 in the tree view, is this operator a good match to compare t1 and t2?
+            If yes, we will run the give_up_diffing to compare t1 and t2 for this level.
+            """
+            pass
+
+        @abstractmethod
+        def give_up_diffing(self, level, diff_instance: "DeepDiff") -> bool:
+            """
+            Given a level which includes t1 and t2 in the tree view, and the "distance" between l1 and l2.
+            do we consider t1 and t2 to be equal or not. The distance is a number between zero to one and is calculated by DeepDiff to measure how similar objects are.
+            """
+
+        @abstractmethod
+        def normalize_value_for_hashing(self, parent: Any, obj: Any) -> Any:
+            """
+            You can use this function to normalize values for ignore_order=True
+
+            For example, you may want to turn all the words to be lowercase. Then you return obj.lower()
+            """
+            pass
+
+
+**Example 1: We don't care about the exact GUID values. As long as pairs of strings match GUID regex, we want them to be considered as equals**
+
+    >>> import re
+    ... from typing import Any
+    ... from deepdiff import DeepDiff
+    ... from deepdiff.operator import BaseOperatorPlus
+    ...
+    ...
+    ... d1 = {
+    ...     "Name": "SUB_OBJECT_FILES",
+    ...     "Values": {
+    ...         "Value": [
+    ...             "{f254498b-b752-4f35-bef5-6f1844b61eb7}",
+    ...             "{7fb2a550-1849-45c0-b273-9aa5e4eb9f2b}",
+    ...             "{a9cbecc0-21dc-49ce-8b2c-d36352dae139}"
+    ...         ]
+    ...     }
+    ... }
+    ...
+    ... d2 = {
+    ...     "Name": "SUB_OBJECT_FILES",
+    ...     "Values": {
+    ...         "Value": [
+    ...             "{e5d18917-1a2c-4abe-b601-8ec002629953}",
+    ...             "{ea71ba1f-1339-4fae-bc28-a9ce9b8a8c67}",
+    ...             "{66bb6192-9cd2-4074-8be1-f2ac52877c70}",
+    ...         ]
+    ...     }
+    ... }
+    ...
+    ...
+    ... class RemoveGUIDsOperator(BaseOperatorPlus):
+    ...     _pattern = r"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}"
+    ...     _substitute = "guid"
+    ...
+    ...     def match(self, level) -> bool:
+    ...         return isinstance(level.t1, str) and isinstance(level.t2, str)
+    ...
+    ...     @classmethod
+    ...     def _remove_pattern(cls, t: str):
+    ...         return re.sub(cls._pattern, cls._substitute, t)
+    ...
+    ...     def give_up_diffing(self, level, diff_instance):
+    ...         t1 = self._remove_pattern(level.t1)
+    ...         t2 = self._remove_pattern(level.t2)
+    ...         return t1 == t2
+    ...
+    ...     def normalize_value_for_hashing(self, parent: Any, obj: Any) -> Any:
+    ...         """
+    ...         Used for ignore_order=True
+    ...         """
+    ...         if isinstance(obj, str):
+    ...             return self._remove_pattern(obj)
+    ...         return obj
+    ...
+    ...
+    ... operator = RemoveGUIDsOperator()
+    ...
+    >>> diff1 = DeepDiff(d1, d2, custom_operators=[operator], log_stacktrace=True)
+    ... diff1
+    {}
+    >>> diff2 = DeepDiff(d1, d2, ignore_order=True, custom_operators=[operator], log_stacktrace=True)
+    ... diff2
+    {}
+
+
+
+Base Operator
+.............
+
+*BaseOperator* is our older base class for creating custom operators. It was designed mainly for simple string based regex comparison.
 
 
 .. code-block:: python
 
-    def _use_custom_operator(self, level):
-        """
-        For each level we check all custom operators.
-        If any one of them was a match for the level, we run the diff of the operator.
-        If the operator returned True, the operator must have decided these objects should not
-        be compared anymore. It might have already reported their results.
-        In that case the report will appear in the final results of this diff.
-        Otherwise basically the 2 objects in the level are being omitted from the results.
-        """
-
-        for operator in self.custom_operators:
-            if operator.match(level):
-                prevent_default = operator.give_up_diffing(level=level, diff_instance=self)
-                if prevent_default:
-                    return True
+    class BaseOperator:
+
+        def __init__(self, regex_paths:Optional[List[str]]=None, types:Optional[List[type]]=None):
+            if regex_paths:
+                self.regex_paths = convert_item_or_items_into_compiled_regexes_else_none(regex_paths)
+            else:
+                self.regex_paths = None
+            self.types = types
+
+        def match(self, level) -> bool:
+            if self.regex_paths:
+                for pattern in self.regex_paths:
+                    matched = re.search(pattern, level.path()) is not None
+                    if matched:
+                        return True
+            if self.types:
+                for type_ in self.types:
+                    if isinstance(level.t1, type_) and isinstance(level.t2, type_):
+                        return True
+            return False
+
+        def give_up_diffing(self, level, diff_instance) -> bool:
+            raise NotImplementedError('Please implement the diff function.')
 
-        return False
 
 
-**Example 1: An operator that mapping L2:distance as diff criteria and reports the distance**
+**Example 2: An operator that mapping L2:distance as diff criteria and reports the distance**
 
     >>> import math
     >>>
@@ -263,7 +365,7 @@ This is all that is expected from the op
     {'distance_too_far': {"root['coordinates'][0]": {'l2_distance': 1.4142135623730951}, "root['coordinates'][1]": {'l2_distance': 113.13708498984761}}}
 
 
-**Example 2: If the objects are subclasses of a certain type, only compare them if their list attributes are not equal sets**
+**Example 3: If the objects are subclasses of a certain type, only compare them if their list attributes are not equal sets**
 
     >>> class CustomClass:
     ...     def __init__(self, d: dict, l: list):
@@ -294,7 +396,7 @@ This is all that is expected from the op
     {'dictionary_item_added': [root.dict['a'], root.dict['b']], 'dictionary_item_removed': [root.dict['c'], root.dict['d']], 'values_changed': {"root.dict['list'][3]": {'new_value': 4, 'old_value': 2}}}
     >>>
 
-**Example 3: Only diff certain paths**
+**Example 4: Only diff certain paths**
 
     >>> from deepdiff import DeepDiff
     >>> class MyOperator:
@@ -314,7 +416,7 @@ This is all that is expected from the op
     ... ])
     {'values_changed': {"root['a'][1]": {'new_value': 22, 'old_value': 11}}}
 
-**Example 4: Give up further diffing once the first diff is found**
+**Example 5: Give up further diffing once the first diff is found**
 
 Sometimes all you care about is that there is a difference between 2 objects and not all the details of what exactly is different.
 In that case you may want to stop diffing as soon as the first diff is found.
diff -pruN 8.1.1-4/docs/delta.rst 8.6.1-1/docs/delta.rst
--- 8.1.1-4/docs/delta.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/delta.rst	2025-09-03 19:38:30.000000000 +0000
@@ -68,6 +68,10 @@ force : Boolean, default=False
 always_include_values : Boolean, default=False
     :ref:`always_include_values_label` is used to make sure the delta objects includes the values that were changed. Sometime Delta tries to be efficient not include the values when it can get away with it. By setting this parameter to True, you ensure that the Delta object will include the values.
 
+fill : Any, default=No Fill
+    :ref:`delta_fill` This is only relevant if `force` is set. This parameter only applies when force is set and trying to fill an existing array. If the index of the array being applied is larger than the length of the array this value will be used to fill empty spaces of the array to extend it in order to add the new value. If this parameter is not set, the items will get dropped and the array not extended. If this parameter is set with a callable function, it will get called each time a fill item is needed. It will be provided with three arguments: first argument is the array being filled, second argument is the value that is being added to the array, the third argument is the path that is being added.
+    Example function: `def fill(obj, value, path): return "Camry" if "car" in path else None`
+
 
 **Returns**
 
diff -pruN 8.1.1-4/docs/diff_doc.rst 8.6.1-1/docs/diff_doc.rst
--- 8.1.1-4/docs/diff_doc.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/diff_doc.rst	2025-09-03 19:38:30.000000000 +0000
@@ -39,6 +39,9 @@ cache_tuning_sample_size : int >= 0, def
 custom_operators : BaseOperator subclasses, default = None
     :ref:`custom_operators_label` if you are considering whether they are fruits or not. In that case, you can pass a *custom_operators* for the job.
 
+default_timezone : datetime.timezone subclasses or pytz datetimes, default = datetime.timezone.utc
+    :ref:`default_timezone_label` defines the default timezone. If a datetime is timezone naive, which means it doesn't have a timezone, we assume the datetime is in this timezone. Also any datetime that has a timezone will be converted to this timezone so the datetimes can be compared properly all in the same timezone. Note that Python's default behavior assumes the default timezone is your local timezone. DeepDiff's default is UTC, not your local time zone.
+
 encodings: List, default = None
     :ref:`encodings_label` Character encodings to iterate through when we convert bytes into strings. You may want to pass an explicit list of encodings in your objects if you start getting UnicodeDecodeError from DeepHash. Also check out :ref:`ignore_encoding_errors_label` if you can get away with ignoring these errors and don't want to bother with an explicit list of encodings but it will come at the price of slightly less accuracy of the final results. Example: encodings=["utf-8", "latin-1"]
 
@@ -118,6 +121,10 @@ ignore_type_subclasses: Boolean, default
     ignore_type_subclasses was incorrectly doing the reverse of its job up until DeepDiff 6.7.1
     Please make sure to flip it in your use cases, when upgrading from older versions to 7.0.0 or above.
 
+ignore_uuid_types: Boolean, default = False
+    :ref:`ignore_uuid_types_label`
+    Whether to ignore UUID vs string type differences when comparing. When set to True, comparing a UUID object with its string representation will not report as a type change.
+
 ignore_string_case: Boolean, default = False
     :ref:`ignore_string_case_label`
     Whether to be case-sensitive or not when comparing strings. By settings ignore_string_case=False, strings will be compared case-insensitively.
@@ -154,6 +161,9 @@ log_frequency_in_sec: Integer, default =
 log_scale_similarity_threshold: float, default = 0.1
     :ref:`use_log_scale_label` along with :ref:`log_scale_similarity_threshold_label` can be used to ignore small changes in numbers by comparing their differences in logarithmic space. This is different than ignoring the difference based on significant digits.
 
+log_stacktrace: Boolean, default = False
+    If True, we log the stacktrace when logging errors. Otherwise we only log the error message.
+
 max_passes: Integer, default = 10000000
     :ref:`max_passes_label` defined the maximum number of passes to run on objects to pin point what exactly is different. This is only used when ignore_order=True. A new pass is started each time 2 iterables are compared in a way that every single item that is different from the first one is compared to every single item that is different in the second iterable.
 
diff -pruN 8.1.1-4/docs/faq.rst 8.6.1-1/docs/faq.rst
--- 8.1.1-4/docs/faq.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/faq.rst	2025-09-03 19:38:30.000000000 +0000
@@ -148,6 +148,30 @@ Or use the tree view so you can use path
     [4, 'b']
 
 
+Q: Why my datetimes are reported in UTC?
+----------------------------------------
+
+**Answer**
+
+DeepDiff converts all datetimes into UTC. If a datetime is timezone naive, we assume it is in UTC too.
+That is different than what Python does. Python assumes your timezone naive datetime is in your local timezone. However, you can override it to any other time zone such as your :ref:`default_timezone_label`.
+
+    >>> from deepdiff import DeepDiff
+    >>> from datetime import datetime, timezone
+    >>> d1 = datetime(2020, 8, 31, 13, 14, 1)
+    >>> d2 = datetime(2020, 8, 31, 13, 14, 1, tzinfo=timezone.utc)
+    >>> d1 == d2
+    False
+    >>> DeepDiff(d1, d2)
+    {}
+
+    >>> d3 = d2.astimezone(pytz.timezone('America/New_York'))
+    >>> DeepDiff(d1, d3)
+    {}
+    >>> d1 == d3
+    False
+
+
 ---------
 
 .. admonition:: A message from `Sep <https://github.com/seperman>`__, the creator of DeepDiff
diff -pruN 8.1.1-4/docs/ignore_types_or_values.rst 8.6.1-1/docs/ignore_types_or_values.rst
--- 8.1.1-4/docs/ignore_types_or_values.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/ignore_types_or_values.rst	2025-09-03 19:38:30.000000000 +0000
@@ -243,6 +243,47 @@ ignore_type_subclasses: Boolean, default
     {'values_changed': {'root.x': {'new_value': 3, 'old_value': 1}}, 'attribute_removed': [root.y]}
 
 
+.. _ignore_uuid_types_label:
+
+Ignore UUID Types
+------------------
+
+ignore_uuid_types: Boolean, default = False
+    Whether to ignore UUID vs string type differences when comparing. When set to True, comparing a UUID object with its string representation will not report as a type change.
+
+Without ignore_uuid_types:
+    >>> import uuid
+    >>> from deepdiff import DeepDiff
+    >>> test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+    >>> uuid_str = '12345678-1234-5678-1234-567812345678'
+    >>> DeepDiff(test_uuid, uuid_str)
+    {'type_changes': {'root': {'old_type': <class 'uuid.UUID'>, 'new_type': <class 'str'>, 'old_value': UUID('12345678-1234-5678-1234-567812345678'), 'new_value': '12345678-1234-5678-1234-567812345678'}}}
+
+With ignore_uuid_types=True:
+    >>> DeepDiff(test_uuid, uuid_str, ignore_uuid_types=True)
+    {}
+
+This works in both directions:
+    >>> DeepDiff(uuid_str, test_uuid, ignore_uuid_types=True)
+    {}
+
+The parameter works with nested structures like dictionaries and lists:
+    >>> dict1 = {'id': test_uuid, 'name': 'test'}
+    >>> dict2 = {'id': uuid_str, 'name': 'test'}
+    >>> DeepDiff(dict1, dict2, ignore_uuid_types=True)
+    {}
+
+Note that if the UUID and string represent different values, it will still report as a value change:
+    >>> different_uuid = uuid.UUID('87654321-4321-8765-4321-876543218765')
+    >>> DeepDiff(different_uuid, uuid_str, ignore_uuid_types=True)
+    {'values_changed': {'root': {'old_value': UUID('87654321-4321-8765-4321-876543218765'), 'new_value': '12345678-1234-5678-1234-567812345678'}}}
+
+This parameter can be combined with other ignore flags:
+    >>> data1 = {'id': test_uuid, 'name': 'TEST', 'count': 42}
+    >>> data2 = {'id': uuid_str, 'name': 'test', 'count': 42.0}
+    >>> DeepDiff(data1, data2, ignore_uuid_types=True, ignore_string_case=True, ignore_numeric_type_changes=True)
+    {}
+
 
 .. _ignore_string_case_label:
 
diff -pruN 8.1.1-4/docs/index.rst 8.6.1-1/docs/index.rst
--- 8.1.1-4/docs/index.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/index.rst	2025-09-03 19:38:30.000000000 +0000
@@ -4,7 +4,7 @@
    contain the root `toctree` directive.
 
 
-DeepDiff 8.1.1 documentation!
+DeepDiff 8.6.1 documentation!
 =============================
 
 *******
@@ -31,102 +31,56 @@ The DeepDiff library includes the follow
 What Is New
 ***********
 
-DeepDiff 8-1-0
+DeepDiff 8-6-1
 --------------
 
-    - Removing deprecated lines from setup.py
-    - Added ``prefix`` option to ``pretty()``
-    - Fixes hashing of numpy boolean values.
-    - Fixes **slots** comparison when the attribute doesn’t exist.
-    - Relaxing orderly-set reqs
-    - Added Python 3.13 support
-    - Only lower if clean_key is instance of str
-    - Fixes issue where the key deep_distance is not returned when both
-      compared items are equal
-    - Fixes exclude_paths fails to work in certain cases
-    - exclude_paths fails to work
-    - Fixes to_json() method chokes on standard json.dumps() kwargs such as
-      sort_keys
-    - to_dict() method chokes on standard json.dumps() kwargs
-    - Fixes accessing the affected_root_keys property on the diff object
-      returned by DeepDiff fails when one of the dicts is empty
-    - Fixes accessing the affected_root_keys property on the
-      diff object returned by DeepDiff fails when one of the dicts is empty
-     
+    - Patched security vulnerability in the Delta class which was vulnerable to class pollution via its constructor, and when combined with a gadget available in DeltaDiff itself, it could lead to Denial of Service and Remote Code Execution (via insecure Pickle deserialization).
 
 
-DeepDiff 8-0-1
+DeepDiff 8-6-0
 --------------
 
-    - Bugfix. Numpy should be optional.
+   - Added Colored View thanks to @mauvilsa
+   - Added support for applying deltas to NamedTuple thanks to @paulsc
+   - Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
+   - Added python property serialization to json
+   - Added ip address serialization
+   - Switched to UV from pip
+   - Added Claude.md
+   - Added uuid hashing thanks to @akshat62
+   - Added ``ignore_uuid_types`` flag to DeepDiff to avoid type reports
+     when comparing UUID and string.
+   - Added comprehensive type hints across the codebase (multiple commits
+     for better type safety)
+   - Added support for memoryview serialization
+   - Added support for bytes serialization (non-UTF8 compatible)
+   - Fixed bug where group_by with numbers would leak type info into group
+     path reports
+   - Fixed bug in ``_get_clean_to_keys_mapping without`` explicit
+     significant digits
+   - Added support for python dict key serialization
+   - Enhanced support for IP address serialization with safe module imports
+   - Added development tooling improvements (pyright config, .envrc
+     example)
+   - Updated documentation and development instructions
 
-DeepDiff 8-0-0
---------------
-
-    - With the introduction of `threshold_to_diff_deeper`, the values returned are different than in previous versions of DeepDiff. You can still get the older values by setting `threshold_to_diff_deeper=0`. However to signify that enough has changed in this release that the users need to update the parameters passed to DeepDiff, we will be doing a major version update.
-    - `use_enum_value=True` makes it so when diffing enum, we use the enum's value. It makes it so comparing an enum to a string or any other value is not reported as a type change.
-    - `threshold_to_diff_deeper=float` is a number between 0 and 1. When comparing dictionaries that have a small intersection of keys, we will report the dictionary as a `new_value` instead of reporting individual keys changed. If you set it to zero, you get the same results as DeepDiff 7.0.1 and earlier, which means this feature is disabled. The new default is 0.33 which means if less that one third of keys between dictionaries intersect, report it as a new object.
-    - Deprecated `ordered-set` and switched to `orderly-set`. The `ordered-set` package was not being maintained anymore and starting Python 3.6, there were better options for sets that ordered. I forked one of the new implementations, modified it, and published it as `orderly-set`.
-    - Added `use_log_scale:bool` and `log_scale_similarity_threshold:float`. They can be used to ignore small changes in numbers by comparing their differences in logarithmic space. This is different than ignoring the difference based on significant digits.
-    - json serialization of reversed lists.
-    - Fix for iterable moved items when `iterable_compare_func` is used.
-    - Pandas and Polars support 
-
-
-DeepDiff 7-0-0
---------------
-
-    -  DeepDiff 7 comes with an improved delta object. `Delta to flat
-       dictionaries <https://zepworks.com/deepdiff/current/serialization.html#delta-serialize-to-flat-dictionaries>`__
-       have undergone a major change. We have also introduced `Delta
-       serialize to flat
-       rows <https://zepworks.com/deepdiff/current/serialization.html#delta-serialize-to-flat-rows>`__.
-    -  Subtracting delta objects have dramatically improved at the cost of
-       holding more metadata about the original objects.
-    -  When ``verbose=2``, and the “path” of an item has changed in a report
-       between t1 and t2, we include it as ``new_path``.
-    -  ``path(use_t2=True)`` returns the correct path to t2 in any reported
-       change in the `tree view <https://zepworks.com/deepdiff/current/view.html#tree-view>`__
-    -  Python 3.7 support is dropped and Python 3.12 is officially
-       supported.
 
-
-DeepDiff 6-7-1
---------------
-
-   -  Support for subtracting delta objects when iterable_compare_func
-      is used.
-   -  Better handling of force adding a delta to an object.
-   -  Fix for
-      `Can't compare dicts with both single and double quotes in keys <https://github.com/seperman/deepdiff/issues/430>`__
-   -  Updated docs for Inconsistent Behavior with math_epsilon and
-      ignore_order = True
-
-DeepDiff 6-7-0
+DeepDiff 8-5-0
 --------------
 
-    -  Delta can be subtracted from other objects now.
-    -  verify_symmetry is deprecated. Use bidirectional instead.
-    -  :ref:`always_include_values_label` flag in Delta can be enabled to include
-       values in the delta for every change.
-    -  Fix for Delta.\__add\_\_ breaks with esoteric dict keys.
-    -  :ref:`delta_from_flat_dicts_label` can be used to load a delta from the list of flat dictionaries.
+    - Updating deprecated pydantic calls
+    - Switching to pyproject.toml
+    - Fix for moving nested tables when using iterable_compare_func.  by 
+    - Fix recursion depth limit when hashing numpy.datetime64
+    - Moving from legacy setuptools use to pyproject.toml
 
 
-DeepDiff 6-6-1
+DeepDiff 8-4-2
 --------------
 
-    -  Fix for `DeepDiff raises decimal exception when using significant
-       digits <https://github.com/seperman/deepdiff/issues/426>`__
-    -  Introducing group_by_sort_key
-    -  Adding group_by 2D. For example
-       ``group_by=['last_name', 'zip_code']``
-
-DeepDiff 6-6-0
---------------
-    
-    - :ref:`delta_to_flat_dicts_label` can be used to serialize delta objects into a flat list of dictionaries.
-    - `NumPy 2.0 compatibility <https://github.com/seperman/deepdiff/pull/422>`__ by `William Jamieson <https://github.com/WilliamJamieson>`__
+    - fixes the type hints for the base
+    - fixes summarize so if json dumps fails, we can still get a repr of the results
+    - adds ipaddress support
 
 
 *********
@@ -212,6 +166,7 @@ References
    deephash
    delta
    extract
+   colored_view
    commandline
    changelog
    authors
diff -pruN 8.1.1-4/docs/view.rst 8.6.1-1/docs/view.rst
--- 8.1.1-4/docs/view.rst	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/docs/view.rst	2025-09-03 19:38:30.000000000 +0000
@@ -9,6 +9,7 @@ You have the options of text view and tr
 The main difference is that the tree view has the capabilities to traverse the objects to see what objects were compared to what other objects.
 
 While the view options decide the format of the output that is mostly machine readable, regardless of the view you choose, you can get a more human readable output by using the pretty() method.
+DeepDiff also offers other specialized views such as the :doc:`colored_view` (which includes a compact variant) and :doc:`delta` view for specific use cases.
 
 .. _text_view_label:
 
diff -pruN 8.1.1-4/mypy.ini 8.6.1-1/mypy.ini
--- 8.1.1-4/mypy.ini	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/mypy.ini	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,2 @@
+[mypy]
+warn_unused_ignores = False
diff -pruN 8.1.1-4/noxfile.py 8.6.1-1/noxfile.py
--- 8.1.1-4/noxfile.py	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/noxfile.py	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,49 @@
+"""nox configuration file."""
+
+# ruff: noqa: ANN001, D401
+
+import nox
+
+
+@nox.session
+def flake8(session) -> None:
+    """Run flake8."""
+    posargs = session.posargs if session.posargs else ["deepdiff"]
+    session.install(".[cli,dev,static]")
+    session.run(
+        "python",
+        "-m",
+        "flake8",
+        *posargs,
+    )
+
+
+@nox.session
+def mypy(session) -> None:
+    """Run mypy."""
+    posargs = session.posargs if session.posargs else ["deepdiff"]
+    session.install(".[cli,dev,static]")
+    session.run(
+        "python",
+        "-m",
+        "mypy",
+        "--install-types",
+        "--non-interactive",
+        *posargs,
+    )
+
+
+@nox.session(python=["3.9", "3.10", "3.11", "3.12", "3.13"])
+def pytest(session) -> None:
+    """Test with pytest."""
+    posargs = session.posargs if session.posargs else ["-vv", "tests"]
+    session.install(".[cli,dev,static,test]")
+    session.run(
+        "python",
+        "-m",
+        "pytest",
+        "--cov=deepdiff",
+        "--cov-report",
+        "term-missing",
+        *posargs,
+    )
diff -pruN 8.1.1-4/pyproject.toml 8.6.1-1/pyproject.toml
--- 8.1.1-4/pyproject.toml	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/pyproject.toml	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,102 @@
+[build-system]
+requires = ["flit_core >=3.11,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "deepdiff"
+version = "8.6.1"
+dependencies = [
+  "orderly-set>=5.4.1,<6",
+]
+requires-python = ">=3.9"
+authors = [
+  { name = "Seperman", email = "sep@zepworks.com" }
+]
+maintainers = [
+  { name = "Seperman", email = "sep@zepworks.com" }
+]
+description = "Deep Difference and Search of any Python object/data. Recreate objects by adding adding deltas to each other."
+readme = "README.md"
+license = {file = "LICENSE"}
+keywords = []
+classifiers = [
+  "Intended Audience :: Developers",
+  "Operating System :: OS Independent",
+  "Topic :: Software Development",
+  "Programming Language :: Python :: 3.9",
+  "Programming Language :: Python :: 3.10",
+  "Programming Language :: Python :: 3.11",
+  "Programming Language :: Python :: 3.12",
+  "Programming Language :: Python :: 3.13",
+  "Programming Language :: Python :: Implementation :: PyPy",
+  "Development Status :: 5 - Production/Stable",
+  "License :: OSI Approved :: MIT License"
+]
+
+# `dependency-groups` would make this a lot cleaner, in theory.
+[project.optional-dependencies]
+coverage = [
+  "coverage~=7.6.0"
+]
+cli = [
+  "click~=8.1.0",
+  "pyyaml~=6.0.0"
+]
+dev = [
+  "bump2version~=1.0.0",
+  "jsonpickle~=4.0.0",
+  "ipdb~=0.13.0",
+  "numpy~=2.2.0; python_version >= '3.10'",
+  "numpy~=2.0; python_version < '3.10'",
+  "python-dateutil~=2.9.0",
+  "orjson~=3.10.0",
+  "tomli~=2.2.0",
+  "tomli-w~=1.2.0",
+  "pandas~=2.2.0",
+  "polars~=1.21.0",
+  "nox==2025.5.1",
+  "uuid6==2025.0.1",
+]
+docs = [
+  # We use the html style that is not supported in Sphinx 7 anymore.
+  "Sphinx~=6.2.0",
+  "sphinx-sitemap~=2.6.0",
+  "sphinxemoji~=0.3.0"
+]
+static = [
+  "flake8~=7.1.0",
+  "flake8-pyproject~=1.2.3",
+  "pydantic~=2.10.0",
+]
+test = [
+  "pytest~=8.3.0",
+  "pytest-benchmark~=5.1.0",
+  "pytest-cov~=6.0.0",
+  "python-dotenv~=1.0.0",
+]
+optimize = [
+  "orjson",
+]
+
+[project.scripts]
+deep = "deepdiff.commands:cli"
+
+[project.urls]
+Homepage = "https://zepworks.com/deepdiff/"
+Documentation = "https://zepworks.com/deepdiff/"
+Repository = "https://github.com/seperman/deepdiff"
+Issues = "https://github.com/seperman/deepdiff/issues"
+
+[tool.coverage.run]
+branch = true
+source = ["."]
+
+[tool.flake8]
+max-line-length = 120
+builtins = "json"
+statistics = true
+ignore = "E202"
+exclude = "./data,./src,.svn,CVS,.bzr,.hg,.git,__pycache__"
+
+[tool.pytest.ini_options]
+addopts = "--pdbcls=IPython.terminal.debugger:Pdb"
diff -pruN 8.1.1-4/pyrightconfig.json.example 8.6.1-1/pyrightconfig.json.example
--- 8.1.1-4/pyrightconfig.json.example	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/pyrightconfig.json.example	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,4 @@
+{
+    "venvPath": "/home/[your user name]/.venvs/",
+    "venv": "deep",
+}
diff -pruN 8.1.1-4/pytest.ini 8.6.1-1/pytest.ini
--- 8.1.1-4/pytest.ini	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/pytest.ini	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-[pytest]
-addopts = --pdbcls=IPython.terminal.debugger:Pdb
diff -pruN 8.1.1-4/requirements-cli.txt 8.6.1-1/requirements-cli.txt
--- 8.1.1-4/requirements-cli.txt	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/requirements-cli.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1,2 +0,0 @@
-click==8.1.7
-pyyaml==6.0.2
diff -pruN 8.1.1-4/requirements-dev.txt 8.6.1-1/requirements-dev.txt
--- 8.1.1-4/requirements-dev.txt	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/requirements-dev.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1,24 +0,0 @@
--r requirements.txt
--r requirements-cli.txt
-bump2version==1.0.1
-jsonpickle==4.0.0
-coverage==7.6.9
-ipdb==0.13.13
-numpy==2.1.3
-pytest==8.3.4
-pytest-cov==6.0.0
-python-dotenv==1.0.1
-Sphinx==6.2.1 # We use the html style that is not supported in Sphinx 7 anymore.
-sphinx-sitemap==2.6.0
-sphinxemoji==0.3.1
-flake8==7.1.1
-python-dateutil==2.9.0.post0
-orjson==3.10.12
-wheel==0.45.1
-tomli==2.2.1
-tomli-w==1.1.0
-pydantic==2.10.3
-pytest-benchmark==5.1.0
-pandas==2.2.3
-polars==1.16.0
-setuptools==75.6.0
diff -pruN 8.1.1-4/requirements-dev3.8.txt 8.6.1-1/requirements-dev3.8.txt
--- 8.1.1-4/requirements-dev3.8.txt	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/requirements-dev3.8.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1,24 +0,0 @@
--r requirements.txt
--r requirements-cli.txt
-bump2version==1.0.1
-jsonpickle==3.2.1
-coverage==7.5.3
-ipdb==0.13.13
-numpy>=1.24.4,<2.0.0
-pytest==8.2.2
-pytest-cov==5.0.0
-python-dotenv==1.0.1
-watchdog>=4.0.1
-Sphinx==6.2.1  # We use the html style that is not supported in Sphinx 7 anymore.
-sphinx-sitemap==2.6.0
-sphinxemoji==0.2.0
-flake8==7.1.0
-python-dateutil==2.9.0.post0
-orjson==3.10.12
-wheel==0.43.0
-tomli==2.0.1
-tomli-w==1.0.0
-pydantic==2.7.4
-pytest-benchmark==4.0.0
-pandas==2.0.3
-polars==1.0.0
diff -pruN 8.1.1-4/requirements-optimize.txt 8.6.1-1/requirements-optimize.txt
--- 8.1.1-4/requirements-optimize.txt	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/requirements-optimize.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-orjson
diff -pruN 8.1.1-4/requirements.txt 8.6.1-1/requirements.txt
--- 8.1.1-4/requirements.txt	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/requirements.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-orderly-set>=5.2.3,<6
diff -pruN 8.1.1-4/run_tests.sh 8.6.1-1/run_tests.sh
--- 8.1.1-4/run_tests.sh	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/run_tests.sh	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-pytest --cov=deepdiff --cov-report term-missing
diff -pruN 8.1.1-4/setup.cfg 8.6.1-1/setup.cfg
--- 8.1.1-4/setup.cfg	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/setup.cfg	1970-01-01 00:00:00.000000000 +0000
@@ -1,24 +0,0 @@
-[bumpversion]
-current_version = 8.1.1
-commit = True
-tag = True
-tag_name = {new_version}
-
-[flake8]
-max-line-length = 120
-builtins = json
-statistics = true
-ignore = E202
-exclude = ./data,./src,.svn,CVS,.bzr,.hg,.git,__pycache__
-
-[bumpversion:file:setup.py]
-
-[bumpversion:file:README.md]
-
-[bumpversion:file:CITATION.cff]
-
-[bumpversion:file:docs/index.rst]
-
-[bumpversion:file:docs/conf.py]
-
-[bumpversion:file:deepdiff/__init__.py]
diff -pruN 8.1.1-4/setup.py 8.6.1-1/setup.py
--- 8.1.1-4/setup.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/setup.py	1970-01-01 00:00:00.000000000 +0000
@@ -1,69 +0,0 @@
-import os
-import sys
-from setuptools import setup
-
-if sys.version_info.major == 2:  # pragma: no cover
-    sys.exit('Python 2 is not supported anymore. The last version of DeepDiff that supported Py2 was 3.3.0')
-
-# if you are not using vagrant, just delete os.link directly,
-# The hard link only saves a little disk space, so you should not care
-if os.environ.get('USER', '') == 'vagrant':
-    del os.link
-
-version = '8.1.1'
-
-
-def get_reqs(filename):
-    with open(filename, "r") as reqs_file:
-        reqs = reqs_file.readlines()
-    return reqs
-
-
-reqs = get_reqs("requirements.txt")
-cli_reqs = get_reqs("requirements-cli.txt")
-optimize_reqs = get_reqs("requirements-optimize.txt")
-
-with open('README.md') as file:
-    long_description = file.read()
-
-
-setup(name='deepdiff',
-      version=version,
-      description='Deep Difference and Search of any Python object/data. Recreate objects by adding adding deltas to each other.',
-      url='https://github.com/seperman/deepdiff',
-      download_url='https://github.com/seperman/deepdiff/tarball/master',
-      author='Seperman',
-      author_email='sep@zepworks.com',
-      license='MIT',
-      packages=['deepdiff'],
-      package_data={"deepdiff": ["py.typed"]},
-      zip_safe=True,
-      include_package_data=True,
-      long_description=long_description,
-      long_description_content_type='text/markdown',
-      install_requires=reqs,
-      python_requires='>=3.8',
-      extras_require={
-          "cli": cli_reqs,
-          "optimize": optimize_reqs,
-      },
-      classifiers=[
-          "Intended Audience :: Developers",
-          "Operating System :: OS Independent",
-          "Topic :: Software Development",
-          "Programming Language :: Python :: 3.8",
-          "Programming Language :: Python :: 3.9",
-          "Programming Language :: Python :: 3.10",
-          "Programming Language :: Python :: 3.11",
-          "Programming Language :: Python :: 3.12",
-          "Programming Language :: Python :: 3.13",
-          "Programming Language :: Python :: Implementation :: PyPy",
-          "Development Status :: 5 - Production/Stable",
-          "License :: OSI Approved :: MIT License"
-      ],
-      entry_points={
-          'console_scripts': [
-              'deep=deepdiff.commands:cli',
-          ],
-      },
-      )
diff -pruN 8.1.1-4/tests/fixtures/compounds.json 8.6.1-1/tests/fixtures/compounds.json
--- 8.1.1-4/tests/fixtures/compounds.json	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/tests/fixtures/compounds.json	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,14784 @@
+{
+    "RecordType": "CID",
+    "RecordNumber": 2719,
+    "RecordTitle": "Chloroquine",
+    "Section":
+    [
+        {
+            "TOCHeading": "Structures",
+            "Description": "Structure depictions and information for 2D, 3D, and crystal related",
+            "Section":
+            [
+                {
+                    "TOCHeading": "2D Structure",
+                    "Description": "A two-dimensional representation of the compound",
+                    "DisplayControls":
+                    {
+                        "MoveToTop": true
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Value":
+                            {
+                                "Boolean":
+                                [
+                                    true
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "3D Conformer",
+                    "Description": "A three-dimensional representation of the compound. The 3D structure is not experimentally determined, but computed by PubChem. More detailed information on this conformer model is described in the PubChem3D thematic series published in the Journal of Cheminformatics.",
+                    "DisplayControls":
+                    {
+                        "MoveToTop": true
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Description": "Chloroquine",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    2719
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Chemical Safety",
+            "Description": "Launch the Laboratory Chemical Safety Summary datasheet, and link to the safety and hazard section",
+            "DisplayControls":
+            {
+                "HideThisSection": true,
+                "MoveToTop": true
+            },
+            "Information":
+            [
+                {
+                    "ReferenceNumber": 69,
+                    "Name": "Chemical Safety",
+                    "Value":
+                    {
+                        "StringWithMarkup":
+                        [
+                            {
+                                "String": "          ",
+                                "Markup":
+                                [
+                                    {
+                                        "Start": 0,
+                                        "Length": 1,
+                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/images/ghs/GHS07.svg",
+                                        "Type": "Icon",
+                                        "Extra": "Irritant"
+                                    }
+                                ]
+                            }
+                        ]
+                    }
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Names and Identifiers",
+            "Description": "Record identifiers, synonyms, chemical names, descriptors, etc.",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Record Description",
+                    "Description": "Summary Information",
+                    "DisplayControls":
+                    {
+                        "HideThisSection": true,
+                        "MoveToTop": true
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 3,
+                            "Name": "Record Description",
+                            "Description": "Ontology Summary",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is an aminoquinoline that is quinoline which is substituted at position 4 by a [5-(diethylamino)pentan-2-yl]amino group at at position 7 by chlorine. It is used for the treatment of malaria, hepatic amoebiasis, lupus erythematosus, light-sensitive skin eruptions, and rheumatoid arthritis. It has a role as an antimalarial, an antirheumatic drug, a dermatologic drug, an autophagy inhibitor and an anticoronaviral agent. It is an aminoquinoline, a secondary amino compound, a tertiary amino compound and an organochlorine compound. It is a conjugate base of a chloroquine(2+).",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 18,
+                                                "Length": 14,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/aminoquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-11379"
+                                            },
+                                            {
+                                                "Start": 41,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-7047"
+                                            },
+                                            {
+                                                "Start": 152,
+                                                "Length": 8,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/element/Chlorine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "Element-Chlorine"
+                                            },
+                                            {
+                                                "Start": 442,
+                                                "Length": 14,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/aminoquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-11379"
+                                            },
+                                            {
+                                                "Start": 470,
+                                                "Length": 5,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/amino",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-136037442"
+                                            },
+                                            {
+                                                "Start": 497,
+                                                "Length": 5,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/amino",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-136037442"
+                                            },
+                                            {
+                                                "Start": 572,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is an aminoquinolone derivative first developed in the 1940s for the treatment of malaria. It was the drug of choice to treat malaria until the development of newer antimalarials such as [pyrimethamine], [artemisinin], and [mefloquine]. Chloroquine and its derivative [hydroxychloroquine] have since been repurposed for the treatment of a number of other conditions including HIV, systemic lupus erythematosus, and rheumatoid arthritis.  **The FDA emergency use authorization for [hydroxychloroquine] and chloroquine in the treatment of COVID-19 was revoked on 15 June 2020.**  Chloroquine was granted FDA Approval on 31 October 1949.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 18,
+                                                "Length": 14,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/aminoquinolone",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-170348"
+                                            },
+                                            {
+                                                "Start": 200,
+                                                "Length": 13,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/pyrimethamine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-4993"
+                                            },
+                                            {
+                                                "Start": 217,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/artemisinin",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2240"
+                                            },
+                                            {
+                                                "Start": 236,
+                                                "Length": 10,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/mefloquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-4046"
+                                            },
+                                            {
+                                                "Start": 249,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 281,
+                                                "Length": 18,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/hydroxychloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-3652"
+                                            },
+                                            {
+                                                "Start": 493,
+                                                "Length": 18,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/hydroxychloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-3652"
+                                            },
+                                            {
+                                                "Start": 517,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 590,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 22,
+                            "Description": "LiverTox Summary",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is an aminoquinoline used for the prevention and therapy of malaria. It is also effective in extraintestinal amebiasis and as an antiinflammatory agent for therapy of rheumatoid arthritis and lupus erythematosus. Chloroquine is not associated with serum enzyme elevations and is an extremely rare cause of clinically apparent acute liver injury.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 18,
+                                                "Length": 14,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/aminoquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-11379"
+                                            },
+                                            {
+                                                "Start": 225,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 23,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is a natural product found in Cinchona calisaya with data available.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 42,
+                                                "Length": 17,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/taxonomy/153742#section=Natural-Products"
+                                            },
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 68,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "The prototypical antimalarial agent with a mechanism that is not well understood. It has also been used to treat rheumatoid arthritis, systemic lupus erythematosus, and in the systemic therapy of amebic liver abscesses."
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Computed Descriptors",
+                    "Description": "Descriptors generated from chemical structure input",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "IUPAC Name",
+                            "Description": "Chemical name computed from chemical structure that uses International Union of Pure and Applied Chemistry (IUPAC) nomenclature standards.",
+                            "URL": "http://old.iupac.org/publications/books/seriestitles/nomenclature.html",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by Lexichem TK 2.7.0 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "4-N-(7-chloroquinolin-4-yl)-1-N,1-N-diethylpentane-1,4-diamine",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 2,
+                                                        "Length": 1,
+                                                        "Type": "Italics"
+                                                    },
+                                                    {
+                                                        "Start": 30,
+                                                        "Length": 1,
+                                                        "Type": "Italics"
+                                                    },
+                                                    {
+                                                        "Start": 34,
+                                                        "Length": 1,
+                                                        "Type": "Italics"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "InChI",
+                            "Description": "International Chemical Identifier (InChI) computed from chemical structure using the International Union of Pure and Applied Chemistry (IUPAC) standard.",
+                            "URL": "http://www.iupac.org/home/publications/e-resources/inchi.html",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by InChI 1.0.6 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "InChI=1S/C18H26ClN3/c1-4-22(5-2)12-6-7-14(3)21-17-10-11-20-18-13-15(19)8-9-16(17)18/h8-11,13-14H,4-7,12H2,1-3H3,(H,20,21)"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "InChI Key",
+                            "Description": "International Chemical Identifier hash (InChIKey) computed from chemical structure using the International Union of Pure and Applied Chemistry (IUPAC) standard.",
+                            "URL": "http://www.iupac.org/home/publications/e-resources/inchi.html",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by InChI 1.0.6 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WHTVZRBIWZFKQO-UHFFFAOYSA-N"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Canonical SMILES",
+                            "Description": "Simplified Molecular-Input Line-Entry System (SMILES) computed from chemical structure devoid of isotopic and stereochemical information.",
+                            "URL": "http://www.daylight.com/dayhtml/doc/theory/theory.smiles.html",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by OEChem 2.3.0 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CCN(CC)CCCC(C)NC1=C2C=CC(=CC2=NC=C1)Cl"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Molecular Formula",
+                    "Description": "A chemical formula is a way of expressing information about the proportions of atoms that constitute a particular chemical compound, using a single line of chemical element symbols and numbers. PubChem uses the Hill system whereby the number of carbon atoms in a molecule is indicated first, the number of hydrogen atoms second, and then the number of all other chemical elements in alphabetical order. When the formula contains no carbon, all the elements, including hydrogen, are listed alphabetically. Sources other than PubChem may include a variant of the formula that is more structural or natural to chemists, for example \"H2SO4\" for sulfuric acid, rather than the Hill version \"H2O4S.\"",
+                    "DisplayControls":
+                    {
+                        "MoveToTop": true
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Reference":
+                            [
+                                "Computed by PubChem 2.1 (PubChem release 2021.05.07)"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "C18H26ClN3"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Other Identifiers",
+                    "Description": "Important identifiers assigned to this chemical substance by authoritative organizations",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "CAS",
+                            "Description": "A proprietary registry number assigned by the Chemical Abstracts Service (CAS) division of the American Chemical Society (ACS) often used to help describe chemical ingredients.",
+                            "URL": "http://en.wikipedia.org/wiki/CAS_Registry_Number",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 1,
+                                    "URL": "https://commonchemistry.cas.org/detail?cas_rn=54-05-7",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "54-05-7"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 4,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "54-05-7"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 10,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "54-05-7"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 11,
+                                    "Name": "CAS",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "54-05-7"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 12,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "54-05-7"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 15,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "54-05-7"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "54-05-7"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 19,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "54-05-7"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Deprecated CAS",
+                            "Description": "The CAS registry number(s) in this section refer(s) to old, deprecated, previously assigned, deleted, etc. CAS number(s) which are no longer used, but users can still see in references, sometimes.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 4,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "56598-66-4"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "European Community (EC) Number",
+                            "Description": "A seven-digit regulatory identifier currently assigned by the European Chemicals Agency (ECHA) known as a European Community (EC) number.  It is sometimes referred to as an EINECS, ELINCS, or NLP number, which are subsets of an EC number.",
+                            "URL": "http://en.wikipedia.org/wiki/European_Community_number",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 15,
+                                    "URL": "https://echa.europa.eu/substance-information/-/substanceinfo/100.000.175",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "200-191-2"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "NSC Number",
+                            "Description": "The NSC number is a numeric identifier for substances submitted to the National Cancer Institute (NCI) for testing and evaluation. It is a registration number for the Developmental Therapeutics Program (DTP) repository. NSC stands for National Service Center.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 11,
+                                    "Name": "NSC Number",
+                                    "URL": "https://dtp.cancer.gov/dtpstandard/servlet/dwindex?searchtype=NSC&outputformat=html&searchlist=187208",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "187208"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "DSSTox Substance ID",
+                            "Description": "Substance identifier at the Distributed Structure-Searchable Toxicity (DSSTox) Database.",
+                            "URL": "https://www.epa.gov/chemical-research/distributed-structure-searchable-toxicity-dsstox-database/",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 12,
+                                    "URL": "https://comptox.epa.gov/dashboard/DTXSID2040446",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "DTXSID2040446"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Wikipedia",
+                            "Description": "Links to Wikipedia for this record.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 66,
+                                    "URL": "https://en.wikipedia.org/wiki/Chloroquine",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Chloroquine"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Wikidata",
+                            "Description": "Wikidata entity identifier for the given compound.",
+                            "URL": "https://www.wikidata.org/w/index.php?title=Special:WhatLinksHere/Property:P662",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 65,
+                                    "URL": "https://www.wikidata.org/wiki/Q422438",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Q422438"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Synonyms",
+                    "Description": "Alternative names for this PubChem Compound record.  A compound can have many different names.  For example, acetone (CH3C(=O)CH3) is also known as propanone, propan-2-one, or dimethyl ketone.  The brand name of a product is commonly used to indicate the primary chemical ingredient(s) in the product (e.g., Tylenol, a common pain killer, is often used for acetaminophen, its active ingredient).  Another example of common synonyms is record identifiers used in different data collections, such as Chemical Abstract Service (CAS) registry numbers, FDA UNII (Unique Ingredient Identifiers), and many others.  All these various names and identifiers that designate this compound are organized under the Synonyms section.",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "MeSH Entry Terms",
+                            "Description": "Medical Subject Heading (MeSH) names or identifiers matching this PubChem Compound record.  The matching between the MeSH and compound records is performed by name matching (i.e., identical common names).",
+                            "DisplayControls":
+                            {
+                                "ListType": "Columns"
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 68,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Aralen"
+                                            },
+                                            {
+                                                "String": "Arechine"
+                                            },
+                                            {
+                                                "String": "Arequin"
+                                            },
+                                            {
+                                                "String": "Chingamin"
+                                            },
+                                            {
+                                                "String": "Chlorochin"
+                                            },
+                                            {
+                                                "String": "Chloroquine"
+                                            },
+                                            {
+                                                "String": "Chloroquine Sulfate"
+                                            },
+                                            {
+                                                "String": "Chloroquine Sulphate"
+                                            },
+                                            {
+                                                "String": "Khingamin"
+                                            },
+                                            {
+                                                "String": "Nivaquine"
+                                            },
+                                            {
+                                                "String": "Sulfate, Chloroquine"
+                                            },
+                                            {
+                                                "String": "Sulphate, Chloroquine"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Depositor-Supplied Synonyms",
+                            "Description": "Chemical names provided by individual data contributors. Synonyms of Substances corresponding to a PubChem Compound record are combined. Some contributed names may be considered erroneous and filtered out. The link on each synonym shows which depositors provided that particular synonym for this structure.",
+                            "DisplayControls":
+                            {
+                                "ListType": "Columns",
+                                "MoveToTop": true
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "chloroquine"
+                                            },
+                                            {
+                                                "String": "54-05-7"
+                                            },
+                                            {
+                                                "String": "Aralen"
+                                            },
+                                            {
+                                                "String": "Chlorochin"
+                                            },
+                                            {
+                                                "String": "Chloraquine"
+                                            },
+                                            {
+                                                "String": "Artrichin"
+                                            },
+                                            {
+                                                "String": "Chloroquinium"
+                                            },
+                                            {
+                                                "String": "Chloroquina"
+                                            },
+                                            {
+                                                "String": "Reumachlor"
+                                            },
+                                            {
+                                                "String": "Capquin"
+                                            },
+                                            {
+                                                "String": "Chemochin"
+                                            },
+                                            {
+                                                "String": "Chlorquin"
+                                            },
+                                            {
+                                                "String": "Clorochina"
+                                            },
+                                            {
+                                                "String": "Malaquin"
+                                            },
+                                            {
+                                                "String": "Arthrochin"
+                                            },
+                                            {
+                                                "String": "Bemasulph"
+                                            },
+                                            {
+                                                "String": "Benaquin"
+                                            },
+                                            {
+                                                "String": "Bipiquin"
+                                            },
+                                            {
+                                                "String": "Chingamin"
+                                            },
+                                            {
+                                                "String": "Cidanchin"
+                                            },
+                                            {
+                                                "String": "Cocartrit"
+                                            },
+                                            {
+                                                "String": "Dichinalex"
+                                            },
+                                            {
+                                                "String": "Gontochin"
+                                            },
+                                            {
+                                                "String": "Heliopar"
+                                            },
+                                            {
+                                                "String": "Iroquine"
+                                            },
+                                            {
+                                                "String": "Klorokin"
+                                            },
+                                            {
+                                                "String": "Lapaquin"
+                                            },
+                                            {
+                                                "String": "Mesylith"
+                                            },
+                                            {
+                                                "String": "Pfizerquine"
+                                            },
+                                            {
+                                                "String": "Quinachlor"
+                                            },
+                                            {
+                                                "String": "Quinercyl"
+                                            },
+                                            {
+                                                "String": "Quinilon"
+                                            },
+                                            {
+                                                "String": "Quinoscan"
+                                            },
+                                            {
+                                                "String": "Sanoquin"
+                                            },
+                                            {
+                                                "String": "Silbesan"
+                                            },
+                                            {
+                                                "String": "Solprina"
+                                            },
+                                            {
+                                                "String": "Sopaquin"
+                                            },
+                                            {
+                                                "String": "Tresochin"
+                                            },
+                                            {
+                                                "String": "Amokin"
+                                            },
+                                            {
+                                                "String": "Bemaco"
+                                            },
+                                            {
+                                                "String": "Elestol"
+                                            },
+                                            {
+                                                "String": "Imagon"
+                                            },
+                                            {
+                                                "String": "Malaren"
+                                            },
+                                            {
+                                                "String": "Malarex"
+                                            },
+                                            {
+                                                "String": "Neochin"
+                                            },
+                                            {
+                                                "String": "Roquine"
+                                            },
+                                            {
+                                                "String": "Siragan"
+                                            },
+                                            {
+                                                "String": "Trochin"
+                                            },
+                                            {
+                                                "String": "Nivaquine B"
+                                            },
+                                            {
+                                                "String": "Bemaphate"
+                                            },
+                                            {
+                                                "String": "Resoquine"
+                                            },
+                                            {
+                                                "String": "Nivaquine"
+                                            },
+                                            {
+                                                "String": "Chlorochine"
+                                            },
+                                            {
+                                                "String": "Chloroquinum"
+                                            },
+                                            {
+                                                "String": "Cloroquina"
+                                            },
+                                            {
+                                                "String": "Quingamine"
+                                            },
+                                            {
+                                                "String": "Avloclor"
+                                            },
+                                            {
+                                                "String": "Ronaquine"
+                                            },
+                                            {
+                                                "String": "Khingamin"
+                                            },
+                                            {
+                                                "String": "N4-(7-chloroquinolin-4-yl)-N1,N1-diethylpentane-1,4-diamine"
+                                            },
+                                            {
+                                                "String": "Avlochlor"
+                                            },
+                                            {
+                                                "String": "Nivachine"
+                                            },
+                                            {
+                                                "String": "Quinagamin"
+                                            },
+                                            {
+                                                "String": "Quinagamine"
+                                            },
+                                            {
+                                                "String": "Resochen"
+                                            },
+                                            {
+                                                "String": "Resoquina"
+                                            },
+                                            {
+                                                "String": "Reumaquin"
+                                            },
+                                            {
+                                                "String": "Resochin"
+                                            },
+                                            {
+                                                "String": "Delagil"
+                                            },
+                                            {
+                                                "String": "Tanakan"
+                                            },
+                                            {
+                                                "String": "WIN 244"
+                                            },
+                                            {
+                                                "String": "RP 3377"
+                                            },
+                                            {
+                                                "String": "1,4-Pentanediamine, N4-(7-chloro-4-quinolinyl)-N1,N1-diethyl-"
+                                            },
+                                            {
+                                                "String": "W 7618"
+                                            },
+                                            {
+                                                "String": "Chloroin"
+                                            },
+                                            {
+                                                "String": "Miniquine"
+                                            },
+                                            {
+                                                "String": "Rivoquine"
+                                            },
+                                            {
+                                                "String": "Tanakene"
+                                            },
+                                            {
+                                                "String": "Arolen"
+                                            },
+                                            {
+                                                "String": "7-Chloro-4-((4-(diethylamino)-1-methylbutyl)amino)quinoline"
+                                            },
+                                            {
+                                                "String": "CHEBI:3638"
+                                            },
+                                            {
+                                                "String": "N4-(7-Chloro-4-quinolinyl)-N1,N1-diethyl-1,4-pentanediamine"
+                                            },
+                                            {
+                                                "String": "{4-[(7-chloroquinolin-4-yl)amino]pentyl}diethylamine"
+                                            },
+                                            {
+                                                "String": "Gontochin phosphate"
+                                            },
+                                            {
+                                                "String": "CHEMBL76"
+                                            },
+                                            {
+                                                "String": "SN 6718"
+                                            },
+                                            {
+                                                "String": "Ipsen 225"
+                                            },
+                                            {
+                                                "String": "Chlorochinum"
+                                            },
+                                            {
+                                                "String": "4-N-(7-chloroquinolin-4-yl)-1-N,1-N-diethylpentane-1,4-diamine"
+                                            },
+                                            {
+                                                "String": "N(sup 4)-(7-Chloro-4-quinolinyl)-N(sup 1),N(sup 1)-diethyl-1,4-pentanediamine"
+                                            },
+                                            {
+                                                "String": "MFCD00024009"
+                                            },
+                                            {
+                                                "String": "NSC187208"
+                                            },
+                                            {
+                                                "String": "NSC-187208"
+                                            },
+                                            {
+                                                "String": "SN 7618"
+                                            },
+                                            {
+                                                "String": "Chloroquine (VAN)"
+                                            },
+                                            {
+                                                "String": "Clorochina [DCIT]"
+                                            },
+                                            {
+                                                "String": "7-Chloro-4-[[4-(diethylamino)-1-methylbutyl]amino]quinoline"
+                                            },
+                                            {
+                                                "String": "Quinoline, 7-chloro-4-((4-(diethylamino)-1-methylbutyl)amino)-"
+                                            },
+                                            {
+                                                "String": "3377 RP"
+                                            },
+                                            {
+                                                "String": "CQ"
+                                            },
+                                            {
+                                                "String": "SN-7618"
+                                            },
+                                            {
+                                                "String": "1,4-Pentanediamine, N(sup 4)-(7-chloro-4-quinolinyl)-N(sup 1),N(sup 1)-diethyl-"
+                                            },
+                                            {
+                                                "String": "ST 21 (pharmaceutical)"
+                                            },
+                                            {
+                                                "String": "Chloroquinum [INN-Latin]"
+                                            },
+                                            {
+                                                "String": "Cloroquina [INN-Spanish]"
+                                            },
+                                            {
+                                                "String": "3377 RP opalate"
+                                            },
+                                            {
+                                                "String": "Chloroquin"
+                                            },
+                                            {
+                                                "String": "Quinoline, 7-chloro-4-[[4-(diethylamino)-1-methylbutyl]amino]-"
+                                            },
+                                            {
+                                                "String": "N(4)-(7-chloro-4-quinolinyl)-N(1),N(1)-diethyl-1,4-pentanediamine"
+                                            },
+                                            {
+                                                "String": "ST 21"
+                                            },
+                                            {
+                                                "String": "(+-)-Chloroquine"
+                                            },
+                                            {
+                                                "String": "NSC14050"
+                                            },
+                                            {
+                                                "String": "CCRIS 3439"
+                                            },
+                                            {
+                                                "String": "HSDB 3029"
+                                            },
+                                            {
+                                                "String": "Chloroquine (USP/INN)"
+                                            },
+                                            {
+                                                "String": "EINECS 200-191-2"
+                                            },
+                                            {
+                                                "String": "Malaquin (*Diphosphate*)"
+                                            },
+                                            {
+                                                "String": "NSC 187208"
+                                            },
+                                            {
+                                                "String": "BRN 0482809"
+                                            },
+                                            {
+                                                "String": "Cloroquine"
+                                            },
+                                            {
+                                                "String": "Chloroquine [USP:INN:BAN]"
+                                            },
+                                            {
+                                                "String": "Chloroquine, 17"
+                                            },
+                                            {
+                                                "String": "Chloroquine-[d4]"
+                                            },
+                                            {
+                                                "String": "4,7-Dichloroquine"
+                                            },
+                                            {
+                                                "String": "Arechin (Salt/Mix)"
+                                            },
+                                            {
+                                                "String": "Delagil (Salt/Mix)"
+                                            },
+                                            {
+                                                "String": "Tanakan (Salt/Mix)"
+                                            },
+                                            {
+                                                "String": "1246815-14-4"
+                                            },
+                                            {
+                                                "String": "RP-3377"
+                                            },
+                                            {
+                                                "String": "Bemaphate (Salt/Mix)"
+                                            },
+                                            {
+                                                "String": "Resoquine (Salt/Mix)"
+                                            },
+                                            {
+                                                "String": "Spectrum_000132"
+                                            },
+                                            {
+                                                "String": "Chloroquine + Proveblue"
+                                            },
+                                            {
+                                                "String": "Prestwick0_000548"
+                                            },
+                                            {
+                                                "String": "Prestwick1_000548"
+                                            },
+                                            {
+                                                "String": "Prestwick2_000548"
+                                            },
+                                            {
+                                                "String": "Prestwick3_000548"
+                                            },
+                                            {
+                                                "String": "Spectrum2_000127"
+                                            },
+                                            {
+                                                "String": "Spectrum3_000341"
+                                            },
+                                            {
+                                                "String": "Spectrum4_000279"
+                                            },
+                                            {
+                                                "String": "Spectrum5_000707"
+                                            },
+                                            {
+                                                "String": "(.+/-.)-Chloroquine"
+                                            },
+                                            {
+                                                "String": "1,4-Pentanediamine, N(4)-(7-chloro-4-quinolinyl)-N(1),N(1)-diethyl-"
+                                            },
+                                            {
+                                                "String": "Epitope ID:131785"
+                                            },
+                                            {
+                                                "String": "MolMap_000009"
+                                            },
+                                            {
+                                                "String": "SCHEMBL8933"
+                                            },
+                                            {
+                                                "String": "Lopac0_000296"
+                                            },
+                                            {
+                                                "String": "BSPBio_000595"
+                                            },
+                                            {
+                                                "String": "BSPBio_002001"
+                                            },
+                                            {
+                                                "String": "KBioGR_000778"
+                                            },
+                                            {
+                                                "String": "KBioSS_000592"
+                                            },
+                                            {
+                                                "String": "DivK1c_000404"
+                                            },
+                                            {
+                                                "String": "CU-01000012392-2"
+                                            },
+                                            {
+                                                "String": "SPBio_000174"
+                                            },
+                                            {
+                                                "String": "SPBio_002516"
+                                            },
+                                            {
+                                                "String": "GNF-Pf-4216"
+                                            },
+                                            {
+                                                "String": "BPBio1_000655"
+                                            },
+                                            {
+                                                "String": "GTPL5535"
+                                            },
+                                            {
+                                                "String": "DTXSID2040446"
+                                            },
+                                            {
+                                                "String": "BDBM22985"
+                                            },
+                                            {
+                                                "String": "KBio1_000404"
+                                            },
+                                            {
+                                                "String": "KBio2_000592"
+                                            },
+                                            {
+                                                "String": "KBio2_003160"
+                                            },
+                                            {
+                                                "String": "KBio2_005728"
+                                            },
+                                            {
+                                                "String": "KBio3_001221"
+                                            },
+                                            {
+                                                "String": "NINDS_000404"
+                                            },
+                                            {
+                                                "String": "HMS2090O03"
+                                            },
+                                            {
+                                                "String": "ALBB-025694"
+                                            },
+                                            {
+                                                "String": "HY-17589A"
+                                            },
+                                            {
+                                                "String": "s6999"
+                                            },
+                                            {
+                                                "String": "AKOS015935106"
+                                            },
+                                            {
+                                                "String": "CCG-204391"
+                                            },
+                                            {
+                                                "String": "CS-W004760"
+                                            },
+                                            {
+                                                "String": "DB00608"
+                                            },
+                                            {
+                                                "String": "KH-0005"
+                                            },
+                                            {
+                                                "String": "MCULE-3610827164"
+                                            },
+                                            {
+                                                "String": "SB73098"
+                                            },
+                                            {
+                                                "String": "SDCCGSBI-0050284.P005"
+                                            },
+                                            {
+                                                "String": "IDI1_000404"
+                                            },
+                                            {
+                                                "String": "SMP2_000034"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-02"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-03"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-04"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-05"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-06"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-07"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-08"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-09"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-10"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-13"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-17"
+                                            },
+                                            {
+                                                "String": "NCGC00015256-28"
+                                            },
+                                            {
+                                                "String": "NCGC00162120-01"
+                                            },
+                                            {
+                                                "String": "NCI60_000894"
+                                            },
+                                            {
+                                                "String": "SY086904"
+                                            },
+                                            {
+                                                "String": "WLN: T66 BNJ EMY1&3N2&2 IG"
+                                            },
+                                            {
+                                                "String": "SBI-0050284.P004"
+                                            },
+                                            {
+                                                "String": "AB00053436"
+                                            },
+                                            {
+                                                "String": "CS-0021871"
+                                            },
+                                            {
+                                                "String": "FT-0623612"
+                                            },
+                                            {
+                                                "String": "C07625"
+                                            },
+                                            {
+                                                "String": "D02366"
+                                            },
+                                            {
+                                                "String": "MLS-0466768.0001"
+                                            },
+                                            {
+                                                "String": "AB00053436-05"
+                                            },
+                                            {
+                                                "String": "AB00053436_06"
+                                            },
+                                            {
+                                                "String": "AB00053436_07"
+                                            },
+                                            {
+                                                "String": "1, N4-(7-chloro-4-quinolinyl)-N1,N1-diethyl-"
+                                            },
+                                            {
+                                                "String": "Q422438"
+                                            },
+                                            {
+                                                "String": "BRD-A91699651-065-01-1"
+                                            },
+                                            {
+                                                "String": "BRD-A91699651-316-06-7"
+                                            },
+                                            {
+                                                "String": "n(sup4)-(7-chloro-4-quinolinyl)-n(sup1),4-pentanediamine"
+                                            },
+                                            {
+                                                "String": "N'-(7-chloroquinolin-4-yl)-N,N-diethylpentane-1,4-diamine"
+                                            },
+                                            {
+                                                "String": "N4-(7-chloro-4-quinolyl)-N1,N1-diethyl-pentane-1,4-diamine"
+                                            },
+                                            {
+                                                "String": "Quinoline, 7-chloro-4-(4-diethylamino-1-methyl-butylamino)-"
+                                            },
+                                            {
+                                                "String": "N(4)-(7-chloroquinolin-4-yl)-N(1),N(1)-diethylpentane-1,4-diamine"
+                                            },
+                                            {
+                                                "String": "1,4-pentanediamine, N~4~-(7-chloro-4-quinolinyl)-N~1~,N~1~-diethyl-, phosphate (1:2)"
+                                            },
+                                            {
+                                                "String": "N(sup4)-(7-chloro-4-quinolinyl)-N(sup1),N(sup1)-diethyl-1,4-pentanediamine"
+                                            },
+                                            {
+                                                "String": "117399-83-4"
+                                            },
+                                            {
+                                                "String": "Chloroquine; Chloroquine Sulphate; 4-N-(7-chloroquinolin-4-yl)-1-N,1-N-diethylpentane-1,4-diamine"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Removed Synonyms",
+                            "Description": "Potentially erroneous chemical names and identifiers provided by PubChem Substance records for the same chemical structure that were removed by name/structure consistency filtering.",
+                            "DisplayControls":
+                            {
+                                "HideThisSection": true
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Arechin"
+                                            },
+                                            {
+                                                "String": "Arechine"
+                                            },
+                                            {
+                                                "String": "Arequin"
+                                            },
+                                            {
+                                                "String": "Chloroquine phosphate"
+                                            },
+                                            {
+                                                "String": "Chloroquine sulfate"
+                                            },
+                                            {
+                                                "String": "Plaquenil"
+                                            },
+                                            {
+                                                "String": "Aralen HCl"
+                                            },
+                                            {
+                                                "String": "Chloroquine sulphate"
+                                            },
+                                            {
+                                                "String": "chloroquin-"
+                                            },
+                                            {
+                                                "String": "Chloroquine diphosphate"
+                                            },
+                                            {
+                                                "String": "Chloroquine HCl"
+                                            },
+                                            {
+                                                "String": "(+)-Chloroquine"
+                                            },
+                                            {
+                                                "String": "(-)-Chloroquine"
+                                            },
+                                            {
+                                                "String": "Chloroquine, D-"
+                                            },
+                                            {
+                                                "String": "( -)-Chloroquine"
+                                            },
+                                            {
+                                                "String": "( )-Chloroquine"
+                                            },
+                                            {
+                                                "String": "Dawaquin (TN)"
+                                            },
+                                            {
+                                                "String": "Resochin (TN)"
+                                            },
+                                            {
+                                                "String": "Sulfate, Chloroquine"
+                                            },
+                                            {
+                                                "String": "Chloroquine hydrochloride"
+                                            },
+                                            {
+                                                "String": "Sulphate, Chloroquine"
+                                            },
+                                            {
+                                                "String": "(R)-(-)-Chloroquine"
+                                            },
+                                            {
+                                                "String": "Chloroquine FNA (TN)"
+                                            },
+                                            {
+                                                "String": "Chloroquine [USAN:INN:BAN]"
+                                            },
+                                            {
+                                                "String": "UNII-886U3H6UFF"
+                                            },
+                                            {
+                                                "String": "C18H26ClN3"
+                                            },
+                                            {
+                                                "String": "D09EGZ"
+                                            },
+                                            {
+                                                "String": "AC1L1EB8"
+                                            },
+                                            {
+                                                "String": "AC1Q2ZA7"
+                                            },
+                                            {
+                                                "String": "AC1Q2ZA8"
+                                            },
+                                            {
+                                                "String": "Chloroquine Bis-Phosphoric Acid"
+                                            },
+                                            {
+                                                "String": "Chloroquine [USAN:BAN:INN]"
+                                            },
+                                            {
+                                                "String": "WHTVZRBIWZFKQO-UHFFFAOYSA-N"
+                                            },
+                                            {
+                                                "String": "886U3H6UFF"
+                                            },
+                                            {
+                                                "String": "HYDROXYCHLOROQUINE SULFATE"
+                                            },
+                                            {
+                                                "String": "CTK1H1520"
+                                            },
+                                            {
+                                                "String": "C18-H26-Cl-N3"
+                                            },
+                                            {
+                                                "String": "CID2719"
+                                            },
+                                            {
+                                                "String": "Ro 01-6014/N2"
+                                            },
+                                            {
+                                                "String": "SBB072644"
+                                            },
+                                            {
+                                                "String": "ACN-029973"
+                                            },
+                                            {
+                                                "String": "KS-00000F97"
+                                            },
+                                            {
+                                                "String": "AK116457"
+                                            },
+                                            {
+                                                "String": "BC208405"
+                                            },
+                                            {
+                                                "String": "SC-48578"
+                                            },
+                                            {
+                                                "String": "N(C(C)CCCN(CC)CC)c1ccnc2cc(Cl)ccc12"
+                                            },
+                                            {
+                                                "String": "LS-141726"
+                                            },
+                                            {
+                                                "String": "ST2401962"
+                                            },
+                                            {
+                                                "String": "4CH-019706"
+                                            },
+                                            {
+                                                "String": "NS00001540"
+                                            },
+                                            {
+                                                "String": "ST45028748"
+                                            },
+                                            {
+                                                "String": "D002738"
+                                            },
+                                            {
+                                                "String": "{4-[(7-chloro(4-quinolyl))amino]pentyl}diethylamine"
+                                            },
+                                            {
+                                                "String": "7-chloro-4-(4-diethylamino-1-methylbutylamino)quinoline"
+                                            },
+                                            {
+                                                "String": "1,4-Pentanediamine, N4-(7-chloro-4-quinolinyl)-N1,N1-diethyl-, (+)-"
+                                            },
+                                            {
+                                                "String": "58175-86-3"
+                                            },
+                                            {
+                                                "String": "(+)-N4-(7-Chloro-4-quinolinyl)-N1,N1-diethyl-1,4-pentanediamine"
+                                            },
+                                            {
+                                                "String": "(+-)-N4-(7-Chloro-4-quinolinyl)-N1,N1-diethyl-1,4-pentanediamine"
+                                            },
+                                            {
+                                                "String": "(4R)-4-N-(7-chloroquinolin-4-yl)-1-N,1-N-diethylpentane-1,4-diamine"
+                                            },
+                                            {
+                                                "String": "1,4-Pentanediamine, N(4)-(7-chloro-4-quinolinyl)-N(1)-,N(1)-diethyl-"
+                                            },
+                                            {
+                                                "String": "1,4-Pentanediamine, N4-(7-chloro-4-quinolinyl)-N1,N1-diethyl-, (+-)-"
+                                            },
+                                            {
+                                                "String": "58175-87-4"
+                                            },
+                                            {
+                                                "String": "N~4~-(7-Chloro-4-quinolinyl)-N~1~,N~1~-diethyl-1,4-pentanediamine"
+                                            },
+                                            {
+                                                "String": "N~4~-(7-chloroquinolin-4-yl)-N~1~,N~1~-diethylpentane-1,4-diamine"
+                                            },
+                                            {
+                                                "String": "N4-(7-CHLORO-QUINOLIN-4-YL)-N1,N1-DIETHYL-PENTANE-1,4-DIAMINE"
+                                            },
+                                            {
+                                                "String": "50-63-5"
+                                            },
+                                            {
+                                                "String": "56598-66-4"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Create Date",
+                    "Description": "Date the compound record was initially added to PubChem",
+                    "DisplayControls":
+                    {
+                        "HideThisSection": true,
+                        "MoveToTop": true
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Value":
+                            {
+                                "DateISO8601":
+                                [
+                                    "2005-03-25"
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Modify Date",
+                    "Description": "Date this record was last updated in PubChem",
+                    "DisplayControls":
+                    {
+                        "HideThisSection": true,
+                        "MoveToTop": true
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Value":
+                            {
+                                "DateISO8601":
+                                [
+                                    "2022-05-14"
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Chemical and Physical Properties",
+            "Description": "Chemical and physical properties such as melting point, molecular weight, etc.",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Computed Properties",
+                    "Description": "Properties computed automatically from the given chemical structure",
+                    "DisplayControls":
+                    {
+                        "CreateTable":
+                        {
+                            "FromInformationIn": "Subsections",
+                            "NumberOfColumns": 3,
+                            "ColumnHeadings":
+                            [
+                                "Property Name",
+                                "Property Value",
+                                "Reference"
+                            ],
+                            "ColumnContents":
+                            [
+                                "Name",
+                                "Value",
+                                "Reference"
+                            ]
+                        }
+                    },
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Molecular Weight",
+                            "Description": "Molecular weight or molecular mass refers to the mass of a molecule. It is calculated as the sum of the mass of each constituent atom multiplied by the number of atoms of that element in the molecular formula.",
+                            "DisplayControls":
+                            {
+                                "MoveToTop": true
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem 2.1 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "319.9"
+                                            }
+                                        ],
+                                        "Unit": "g/mol"
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "XLogP3",
+                            "Description": "Computed Octanol/Water Partition Coefficient",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by XLogP3 3.0 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            4.6
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Hydrogen Bond Donor Count",
+                            "Description": "The number of hydrogen bond donors in the structure.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by Cactvs 3.4.8.18 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            1
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Hydrogen Bond Acceptor Count",
+                            "Description": "The number of hydrogen bond acceptors in the structure.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by Cactvs 3.4.8.18 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            3
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Rotatable Bond Count",
+                            "Description": "A rotatable bond is defined as any single-order non-ring bond, where atoms on either side of the bond are in turn bound to nonterminal heavy (i.e., non-hydrogen) atoms. That is, where rotation around the bond axis changes the overall shape of the molecule, and generates conformers which can be distinguished by standard fast spectroscopic methods.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by Cactvs 3.4.8.18 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            8
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Exact Mass",
+                            "Description": "The exact mass of an isotopic species is obtained by summing the masses of the individual isotopes of the molecule.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem 2.1 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "319.1815255"
+                                            }
+                                        ],
+                                        "Unit": "g/mol"
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Monoisotopic Mass",
+                            "Description": "The monoisotopic mass is the sum of the masses of the atoms in a molecule using the unbound, ground-state, rest mass of the principal (most abundant) isotope for each element instead of the isotopic average mass.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem 2.1 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "319.1815255"
+                                            }
+                                        ],
+                                        "Unit": "g/mol"
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Topological Polar Surface Area",
+                            "Description": "The topological polar surface area (TPSA) of a molecule is defined as the surface sum over all polar atoms in a molecule.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by Cactvs 3.4.8.18 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            28.2
+                                        ],
+                                        "Unit": "Å²"
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Heavy Atom Count",
+                            "Description": "A heavy atom is defined as any atom except hydrogen in a chemical structure.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            22
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Formal Charge",
+                            "Description": "Formal charge is the difference between the number of valence electrons of each atom and the number of electrons the atom is associated with. Formal charge assumes any shared electrons are equally shared between the two bonded atoms.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            0
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Complexity",
+                            "Description": "The complexity rating of a compound is a rough estimate of how complicated a structure is, seen from both the point of view of the elements contained and the displayed structural features including symmetry. This complexity rating is computed using the Bertz/Hendrickson/Ihlenfeldt formula.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by Cactvs 3.4.8.18 (PubChem release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            309
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Isotope Atom Count",
+                            "Description": "Isotope Atom Count is the number of isotopes that are not most abundant for the corresponding chemical elements.  Isotopes are variants of a chemical element which differ in neutron number.  For example, among three isotopes of carbon (i.e., C-12, C-13, and C-14), the isotope atom count considers the C-13 and C-14 atoms, because C-12 is the most abundant isotope of carbon.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            0
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Defined Atom Stereocenter Count",
+                            "Description": "An atom stereocenter, also known as a chiral center, is an atom that is attached to four different types of atoms (or groups of atoms) in the tetrahedral arrangement. It can have either (R)- or (S)- configurations.  Some compounds, such as racemic mixtures, have an undefined atom stereocenter, whose (R/S)-configuration is not specifically defined.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            0
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Undefined Atom Stereocenter Count",
+                            "Description": "An atom stereocenter, also known as a chiral center, is an atom that is attached to four different types of atoms (or groups of atoms) in the tetrahedral arrangement. It can have either (R)- or (S)- configurations.  Some compounds, such as racemic mixtures, have an undefined atom stereocenter, whose (R/S)-configuration is not specifically defined.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            1
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Defined Bond Stereocenter Count",
+                            "Description": "A bond stereocenter is a non-rotatable bond around which two atoms can have different arrangement (as in cis- and trans-forms of butene around its double bond).  Some compounds have an undefined bond stereocenter, whose stereochemistry is not specifically defined.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            0
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Undefined Bond Stereocenter Count",
+                            "Description": "A bond stereocenter is a non-rotatable bond around which two atoms can have different arrangement (as in cis- and trans-forms of butene around its double bond).  Some compounds have an undefined bond stereocenter, whose stereochemistry is not specifically defined.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            0
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Covalently-Bonded Unit Count",
+                            "Description": "The number of separate chemical structures not connected by covalent bonds.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            1
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Compound Is Canonicalized",
+                            "Description": "Whether the compound has successfully passed PubChem's valence bond canonicalization procedure. Some large, complex, or highly symmetric structures may fail this process.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Reference":
+                                    [
+                                        "Computed by PubChem (release 2021.05.07)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Yes"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Experimental Properties",
+                    "Description": "Properties determined experimentally (See also Safety and Hazard Properties section for more information if available)",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Physical Description",
+                            "Description": "Physical description refers to the appearance or features of a given chemical compound including color, odor, state, taste and more in general",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 19,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Solid"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Color/Form",
+                            "Description": "Physical description - color",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Osol, A. and J.E. Hoover, et al. (eds.). Remington's Pharmaceutical Sciences. 15th ed. Easton, Pennsylvania: Mack Publishing Co., 1975., p. 1155"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WHITE TO SLIGHTLY YELLOW, CRYSTALLINE POWDER"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Lewis, R.J. Sr.; Hawley's Condensed Chemical Dictionary 14th Edition. John Wiley & Sons, Inc. New York, NY 2001., p. 259"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Colorless crystals"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Odor",
+                            "Description": "Physical description - odor",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Osol, A. and J.E. Hoover, et al. (eds.). Remington's Pharmaceutical Sciences. 15th ed. Easton, Pennsylvania: Mack Publishing Co., 1975., p. 1155"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ODORLESS"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Taste",
+                            "Description": "Physical description - taste",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Lewis, R.J. Sr.; Hawley's Condensed Chemical Dictionary 14th Edition. John Wiley & Sons, Inc. New York, NY 2001., p. 259"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Bitter taste"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Melting Point",
+                            "Description": "This section provides the melting point and/or freezing point. The melting point is the temperature at which a substance changes state from solid to liquid at atmospheric pressure. When considered as the temperature of the reverse change, from liquid to solid, it is referred to as the freezing point.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 10,
+                                    "Reference":
+                                    [
+                                        "ChemSpider"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "87-89.5"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "87 °C"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 19,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "289°C"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Solubility",
+                            "Description": "The solubility of a substance is the amount of that substance that will dissolve in a given amount of solvent. The default solvent is water, if not indicated.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Bitter colorless crystals, dimorphic. Freely soluble in water, less sol in neutral or alkaline pH. Stable to heat in soln pH4 to 6.5. Practically in soluble in alcohol, benzene and chloroform /Diphosphate/",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 56,
+                                                        "Length": 5,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/water",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-962"
+                                                    },
+                                                    {
+                                                        "Start": 169,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/benzene",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-241"
+                                                    },
+                                                    {
+                                                        "Start": 181,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroform",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6212"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Osol, A. and J.E. Hoover, et al. (eds.). Remington's Pharmaceutical Sciences. 15th ed. Easton, Pennsylvania: Mack Publishing Co., 1975., p. 1155"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WHITE CRYSTALLINE POWDER; ODORLESS; BITTER TASTE; FREELY SOL IN WATER;PRACTICALLY INSOL IN ALCOHOL, CHLOROFORM, ETHER; AQ SOLN HAS PH OF ABOUT 4.5; PKA1= 7; PKA2= 9.2 /PHOSPHATE/",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 64,
+                                                        "Length": 5,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/WATER",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-962"
+                                                    },
+                                                    {
+                                                        "Start": 100,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROFORM",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6212"
+                                                    },
+                                                    {
+                                                        "Start": 168,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/PHOSPHATE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-1061"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Osol, A. and J.E. Hoover, et al. (eds.). Remington's Pharmaceutical Sciences. 15th ed. Easton, Pennsylvania: Mack Publishing Co., 1975., p. 1155"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "VERY SLIGHTLY SOL IN WATER; SOL IN DIL ACIDS, CHLOROFORM, ETHER",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 21,
+                                                        "Length": 5,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/WATER",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-962"
+                                                    },
+                                                    {
+                                                        "Start": 46,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROFORM",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6212"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Lewis, R.J. Sr.; Hawley's Condensed Chemical Dictionary 14th Edition. John Wiley & Sons, Inc. New York, NY 2001., p. 259"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Insoluble in alcohol, benzene, chloroform, ether.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 22,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/benzene",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-241"
+                                                    },
+                                                    {
+                                                        "Start": 31,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroform",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6212"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "US EPA; Estimation Program Interface (EPI) Suite. Ver.3.12. Nov 30, 2004. Available from, as of Dec 23, 2005: https://www.epa.gov/oppt/exposure/pubs/episuitedl.htm"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "In water, 0.14 mg/L at 25 °C (est)",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 3,
+                                                        "Length": 5,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/water",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-962"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 19,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "1.75e-02 g/L"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Vapor Pressure",
+                            "Description": "Vapor pressure is the pressure of a vapor in thermodynamic equilibrium with its condensed phases in a closed system.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "US EPA; Estimation Program Interface (EPI) Suite. Ver.3.12. Nov 30, 2004. Available from, as of Dec 23, 2005: https://www.epa.gov/oppt/exposure/pubs/episuitedl.htm"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "5.0X10-9 mm Hg at 25 °C (est)"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "LogP",
+                            "Description": "Log P is the partition coefficient expressed in logarithmic form.  The partition coefficient is the ratio of concentrations of a compound in a mixture of two immiscible solvents at equilibrium.  This ratio is therefore used to compare the solubilities of the solute in these two solvents.  Because octanol and water are the most commonly used pair of solvents for measuring partition coefficients, the Log P values listed in this section refer to \"octanol/water partition coefficients\", unless indicated otherwise.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 10,
+                                    "Reference":
+                                    [
+                                        "HANSCH,C ET AL. (1995)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            4.63
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 12,
+                                    "Reference":
+                                    [
+                                        "HANSCH,C ET AL. (1995)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "4.63 (LogP)"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Hansch, C., Leo, A., D. Hoekman. Exploring QSAR - Hydrophobic, Electronic, and Steric Constants. Washington, DC: American Chemical Society., 1995., p. 159"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "log Kow = 4.63"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 19,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "4.3"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Henrys Law Constant",
+                            "Description": "At a constant temperature, the amount of a given gas that dissolves in a given type and volume of liquid is directly proportional to the partial pressure of that gas in equilibrium with that liquid",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "US EPA; Estimation Program Interface (EPI) Suite. Ver.3.12. Nov 30, 2004. Available from, as of Dec 23, 2005: https://www.epa.gov/oppt/exposure/pubs/episuitedl.htm"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Henry's Law constant = 1.1X10-12 atm cu-m/mole at 25 °C (est)"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Stability/Shelf Life",
+                            "Description": "Tendency of a material to resist change or decomposition due to internal reaction, or due to the action of air, heat, light, pressure, etc. (See also Stability and Reactivity section under Safety and Hazards)",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Stable to heat in solutions of pH 4.0 to 6.5 /Chloroquine Diphosphate/",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 46,
+                                                        "Length": 23,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20Diphosphate",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-64927"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Sunshine, I. (ed.). CRC Handbook of Analytical Toxicology. Cleveland: The Chemical Rubber Co., 1969., p. 28"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "SENSITIVE TO LIGHT. /PHOSPHATE/",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 21,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/PHOSPHATE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-1061"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Sunshine, I. (ed.). CRC Handbook of Analytical Toxicology. Cleveland: The Chemical Rubber Co., 1969., p. 28"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "SENSITIVE TO LIGHT. /SULFATE/",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 21,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/SULFATE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-1117"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Dissociation Constants",
+                            "Description": "A specific type of equilibrium constant that measures the propensity of a larger object to separate (dissociate) reversibly into smaller components, as when a complex falls apart into its component molecules, or when a salt splits up into its component ions. This includes pKa (the negative logarithm of the acid dissociation constant) and pKb (the negative logarithm of the base dissociation constant).",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 10,
+                                    "Name": "pKa",
+                                    "Reference":
+                                    [
+                                        "SANGSTER (1994)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "10.1"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Sangster J; LOGKOW Database. A databank of evaluated octanol-water partition coefficients (Log P). Available from, as of May 2, 2006: https://logkow.cisti.nrc.ca/logkow/search.html"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "pKa = 10.1"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Collision Cross Section",
+                            "Description": "Molecular collision cross section (CCS) values measured following ion mobility separation (IMS).",
+                            "URL": "https://doi.org/10.1002/mas.21585",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 2,
+                                    "Reference":
+                                    [
+                                        "https://www.sciencedirect.com/science/article/pii/S0021967318301894"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "176.8 Å² [M+H]+ [CCS Type: TW, Method: Major Mix IMS/Tof Calibration Kit (Waters)]",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 14,
+                                                        "Length": 1,
+                                                        "Type": "Superscript"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Kovats Retention Index",
+                            "Description": "Kovats (gas phase) retention index.",
+                            "URL": "http://en.wikipedia.org/wiki/Kovats_retention_index",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                },
+                                "ListType": "CommaSeparated"
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 53,
+                                    "Name": "Standard non-polar",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            2600,
+                                            2610,
+                                            2630,
+                                            2637,
+                                            2660,
+                                            2578.2,
+                                            2590,
+                                            2660,
+                                            2642.7
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 53,
+                                    "Name": "Semi-standard non-polar",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            2626.3,
+                                            2604,
+                                            2624.8
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Other Experimental Properties",
+                            "Description": "Additional property information.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Osol, A. and J.E. Hoover, et al. (eds.). Remington's Pharmaceutical Sciences. 15th ed. Easton, Pennsylvania: Mack Publishing Co., 1975., p. 1155"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "USUALLY IS IN A PARTLY HYDRATED FORM"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Osol, A. and J.E. Hoover, et al. (eds.). Remington's Pharmaceutical Sciences. 15th ed. Easton, Pennsylvania: Mack Publishing Co., 1975., p. 1155"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "COLORLESS LIQUID; PH BETWEEN 5.5 & 6.5 /CHLOROQUINE HYDROCHLORIDE INJECTION/",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 40,
+                                                        "Length": 25,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE%20HYDROCHLORIDE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-83820"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Goodman, L.S., and A. Gilman. (eds.) The Pharmacological Basis of Therapeutics. 5th ed. New York: Macmillan Publishing Co., Inc., 1975., p. 1050"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WHITE POWDER /CHLOROQUINE DIPHOSPHATE/",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 14,
+                                                        "Length": 23,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE%20DIPHOSPHATE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-64927"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Lewis, R.J. Sax's Dangerous Properties of Industrial  Materials. 10th ed. Volumes 1-3 New York, NY: John Wiley &  Sons Inc., 1999., p. 899"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Upon decomosition emits NOx"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "US EPA; Estimation Program Interface (EPI) Suite. Ver.3.12. Nov 30, 2004. Available from, as of Dec 23, 2005: https://www.epa.gov/oppt/exposure/pubs/episuitedl.htm"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Hydroxyl radical reaction rate constant = 1.5X10-10 cu cm/molec-sec at 25 °C (est)"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Spectral Information",
+            "Description": "Spectral data for chemical compounds",
+            "Section":
+            [
+                {
+                    "TOCHeading": "1D NMR Spectra",
+                    "Description": "1D NMR Spectra data or Linking.",
+                    "DisplayControls":
+                    {
+                        "CreateTable":
+                        {
+                            "FromInformationIn": "ThisSection",
+                            "NumberOfColumns": 2,
+                            "ColumnContents":
+                            [
+                                "Name",
+                                "Value"
+                            ]
+                        },
+                        "ShowAtMost": 2
+                    },
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "13C NMR Spectra",
+                            "Description": "Carbon-13 NMR (13C NMR or CMR) is the application of nuclear magnetic resonance (NMR) spectroscopy to carbon isotope 13.",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                },
+                                "ShowAtMost": 2
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 58,
+                                    "Name": "Copyright",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Copyright © 2016-2021 W. Robien, Inst. of Org. Chem., Univ. of Vienna. All Rights Reserved."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 58,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://spectrabase.com/spectrum/10sStszu4T5",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/5068776_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 59,
+                                    "Name": "Instrument Name",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Bruker AM-400"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 59,
+                                    "Name": "Copyright",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Copyright © 2002-2021 Wiley-VCH Verlag GmbH & Co. KGaA. All Rights Reserved."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 59,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://spectrabase.com/spectrum/E4IWgm7hoj9",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/10722562_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Mass Spectrometry",
+                    "Description": "Mass spectrometry (MS or mass spec) is a technique to determine molecular structure through ionization and fragmentation of the parent compound into smaller components.",
+                    "DisplayControls":
+                    {
+                        "CreateTable":
+                        {
+                            "FromInformationIn": "ThisSection",
+                            "NumberOfColumns": 2,
+                            "ColumnContents":
+                            [
+                                "Name",
+                                "Value"
+                            ]
+                        },
+                        "ShowAtMost": 2
+                    },
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "GC-MS",
+                            "Description": "Data from GC-MS experiments.",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                },
+                                "ListType": "Columns",
+                                "ShowAtMost": 2
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 20,
+                                    "Name": "Spectra ID",
+                                    "URL": "https://hmdb.ca/spectra/c_ms/27431",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "27431"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 20,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CI-B"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 20,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "positive"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 20,
+                                    "Name": "SPLASH",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=splash.splash%3D%3D%22splash10-00di-0009000000-d54119d64cfc341cee7d%22",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-00di-0009000000-d54119d64cfc341cee7d"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 20,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "320.0 99.99"
+                                            },
+                                            {
+                                                "String": "322.0 34"
+                                            },
+                                            {
+                                                "String": "321.0 21"
+                                            },
+                                            {
+                                                "String": "323.0 7"
+                                            },
+                                            {
+                                                "String": "319.0 5"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 20,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320.0:99.99,322.0:34,321.0:21,323.0:7,319.0:5",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320.0:99.99,322.0:34,321.0:21,323.0:7,319.0:5"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 20,
+                                    "Name": "Notes",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "instrument=Unknown"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "MoNA ID",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/display/JP003161",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "JP003161"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "MS Category",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Experimental"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "MS Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "GC-MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS1"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Unknown"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CI-B"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "positive"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "320 99.99"
+                                            },
+                                            {
+                                                "String": "322 34"
+                                            },
+                                            {
+                                                "String": "321 21"
+                                            },
+                                            {
+                                                "String": "323 7"
+                                            },
+                                            {
+                                                "String": "319 5"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "SPLASH",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=splash.splash%3D%3D%22splash10-00di-0009000000-d54119d64cfc341cee7d%22",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-00di-0009000000-d54119d64cfc341cee7d"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320:99.99,322:34,321:21,323:7,319:5",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320:99.99,322:34,321:21,323:7,319:5"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 31,
+                                    "Name": "Submitter",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "University of Tokyo Team, Faculty of Engineering, University of Tokyo"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "MoNA ID",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/display/HMDB0014746_c_ms_100159",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "HMDB0014746_c_ms_100159"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "MS Category",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Experimental"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "MS Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "GC-MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Unknown"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CI-B"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "positive"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "320.0 99.99"
+                                            },
+                                            {
+                                                "String": "322.0 34"
+                                            },
+                                            {
+                                                "String": "321.0 21"
+                                            },
+                                            {
+                                                "String": "323.0 7"
+                                            },
+                                            {
+                                                "String": "319.0 5"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "SPLASH",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=splash.splash%3D%3D%22splash10-00di-0009000000-d54119d64cfc341cee7d%22",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-00di-0009000000-d54119d64cfc341cee7d"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320.0:99.99,322.0:34,321.0:21,323.0:7,319.0:5",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320.0:99.99,322.0:34,321.0:21,323.0:7,319.0:5"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 36,
+                                    "Name": "Submitter",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "David Wishart, University of Alberta"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 43,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            42361
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 43,
+                                    "Name": "Library",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Main library"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 43,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            145
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 43,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            86
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 43,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            30
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 43,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            58
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 43,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/61394_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 44,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            250714
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 44,
+                                    "Name": "Library",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Replicate library"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 44,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            183
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 44,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            86
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 44,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            58
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 44,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            30
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 44,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/260140_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 45,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            378097
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 45,
+                                    "Name": "Library",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Replicate library"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 45,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            157
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 45,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            86
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 45,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            58
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 45,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            42
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 45,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/260147_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 46,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            15077
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 46,
+                                    "Name": "Library",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Replicate library"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 46,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            59
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 46,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            86
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 46,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            58
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 46,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            73
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 46,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/260153_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 47,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            312956
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 47,
+                                    "Name": "Library",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Replicate library"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 47,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            133
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 47,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            86
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 47,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            58
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 47,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            87
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 47,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/260155_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 48,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            379514
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 48,
+                                    "Name": "Library",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Replicate library"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 48,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            142
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 48,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            86
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 48,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            58
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 48,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            87
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 48,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/260156_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 49,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            246903
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 49,
+                                    "Name": "Library",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Replicate library"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 49,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            184
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 49,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            86
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 49,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            319
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 49,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            58
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 49,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/260300_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 56,
+                                    "Name": "Source of Spectrum",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Mass Spectrometry Committee of the Toxicology Section of the American Academy of Forensic Sciences"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 56,
+                                    "Name": "Copyright",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Copyright © 2012-2021 John Wiley & Sons, Inc. Portions provided by AAFS, Toxicology Section. All Rights Reserved."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 56,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://spectrabase.com/spectrum/30UDEp4qVU",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/5068772_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 57,
+                                    "Name": "Source of Spectrum",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Mass Spectrometry Committee of the Toxicology Section of the American Academy of Forensic Sciences"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 57,
+                                    "Name": "Copyright",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Copyright © 2012-2021 John Wiley & Sons, Inc. Portions provided by AAFS, Toxicology Section. All Rights Reserved."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 57,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://spectrabase.com/spectrum/BrpTswYWahi",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/5068773_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "MS-MS",
+                            "Description": "Data from MS-MS experiments.",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                },
+                                "ListType": "Columns",
+                                "ShowAtMost": 2
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            1181214
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "IT/ion trap"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "Collision Energy",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            0
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "Spectrum Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS2"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "Precursor Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "[M+H]+"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "Precursor m/z",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            320.1888
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            6
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            247.1
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            142.2
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            164
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 50,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/282935_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            1181230
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "IT/ion trap"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "Collision Energy",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            0
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "Spectrum Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS2"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "Precursor Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "[M+2H]2+"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "Precursor m/z",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            160.598
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            34
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            146.5
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            147
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            132.5
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 51,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/282936_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "NIST Number",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            1006454
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "IT/ion trap"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "Collision Energy",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            0
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "Spectrum Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS2"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "Precursor Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "[M+H]+"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "Precursor m/z",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            320.1888
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "Total Peaks",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            5
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "m/z Top Peak",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            247
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "m/z 2nd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            142
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "m/z 3rd Highest",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            164
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 52,
+                                    "Name": "Thumbnail",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/rest/pug_view/data/key/285619_1"
+                                        ],
+                                        "MimeType": "image/png"
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "LC-MS",
+                            "Description": "Linking to LC-MS spectrum.",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                },
+                                "ShowAtMost": 2
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Accession ID",
+                                    "URL": "https://massbank.eu/MassBank/RecordDisplay?id=WA000965",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000965"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Authors",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "POSITIVE"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Column Name",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "2.1 mm id - 3. 5{mu}m XTerra C18MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "179 999"
+                                            },
+                                            {
+                                                "String": "191 494"
+                                            },
+                                            {
+                                                "String": "181 341"
+                                            },
+                                            {
+                                                "String": "247 306"
+                                            },
+                                            {
+                                                "String": "205 215"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "SPLASH",
+                                    "URL": "https://massbank.eu/MassBank/Result.jsp?splash=splash10-002f-0920000000-90f3db87cbeed5fd67c6",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-002f-0920000000-90f3db87cbeed5fd67c6"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=179:999,191:494,181:341,247:306,205:215",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=179:999,191:494,181:341,247:306,205:215"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 25,
+                                    "Name": "License",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CC BY-NC"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Accession ID",
+                                    "URL": "https://massbank.eu/MassBank/RecordDisplay?id=WA000966",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000966"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Authors",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "POSITIVE"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Column Name",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "2.1 mm id - 3. 5{mu}m XTerra C18MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "247 999"
+                                            },
+                                            {
+                                                "String": "179 686"
+                                            },
+                                            {
+                                                "String": "142 443"
+                                            },
+                                            {
+                                                "String": "191 380"
+                                            },
+                                            {
+                                                "String": "249 345"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "SPLASH",
+                                    "URL": "https://massbank.eu/MassBank/Result.jsp?splash=splash10-002e-0950000000-849a8e9960219d54f689",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-002e-0950000000-849a8e9960219d54f689"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:999,179:686,142:443,191:380,249:345",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:999,179:686,142:443,191:380,249:345"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 26,
+                                    "Name": "License",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CC BY-NC"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Accession ID",
+                                    "URL": "https://massbank.eu/MassBank/RecordDisplay?id=WA000967",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000967"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Authors",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "POSITIVE"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Column Name",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "2.1 mm id - 3. 5{mu}m XTerra C18MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "247 999"
+                                            },
+                                            {
+                                                "String": "142 470"
+                                            },
+                                            {
+                                                "String": "249 364"
+                                            },
+                                            {
+                                                "String": "179 172"
+                                            },
+                                            {
+                                                "String": "191 78"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "SPLASH",
+                                    "URL": "https://massbank.eu/MassBank/Result.jsp?splash=splash10-0002-0690000000-f317eb87cceee189094a",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-0002-0690000000-f317eb87cceee189094a"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:999,142:470,249:364,179:172,191:78",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:999,142:470,249:364,179:172,191:78"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 27,
+                                    "Name": "License",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CC BY-NC"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Accession ID",
+                                    "URL": "https://massbank.eu/MassBank/RecordDisplay?id=WA000968",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000968"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Authors",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "POSITIVE"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Column Name",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "2.1 mm id - 3. 5{mu}m XTerra C18MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "247 999"
+                                            },
+                                            {
+                                                "String": "320 529"
+                                            },
+                                            {
+                                                "String": "142 357"
+                                            },
+                                            {
+                                                "String": "249 349"
+                                            },
+                                            {
+                                                "String": "322 192"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "SPLASH",
+                                    "URL": "https://massbank.eu/MassBank/Result.jsp?splash=splash10-0002-0394000000-811a6863cd54caddde50",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-0002-0394000000-811a6863cd54caddde50"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:999,320:529,142:357,249:349,322:192",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:999,320:529,142:357,249:349,322:192"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 28,
+                                    "Name": "License",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CC BY-NC"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Accession ID",
+                                    "URL": "https://massbank.eu/MassBank/RecordDisplay?id=WA000969",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000969"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Authors",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "POSITIVE"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Column Name",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "2.1 mm id - 3. 5{mu}m XTerra C18MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "320 999"
+                                            },
+                                            {
+                                                "String": "322 360"
+                                            },
+                                            {
+                                                "String": "161 231"
+                                            },
+                                            {
+                                                "String": "321 153"
+                                            },
+                                            {
+                                                "String": "247 102"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "SPLASH",
+                                    "URL": "https://massbank.eu/MassBank/Result.jsp?splash=splash10-00di-0209000000-52baee7b914fe967f2ac",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-00di-0209000000-52baee7b914fe967f2ac"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320:999,322:360,161:231,321:153,247:102",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320:999,322:360,161:231,321:153,247:102"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 29,
+                                    "Name": "License",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CC BY-NC"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Accession ID",
+                                    "URL": "https://massbank.eu/MassBank/RecordDisplay?id=WA000970",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000970"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Authors",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "POSITIVE"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Column Name",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "2.1 mm id - 3. 5{mu}m XTerra C18MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "320 999"
+                                            },
+                                            {
+                                                "String": "322 364"
+                                            },
+                                            {
+                                                "String": "161 341"
+                                            },
+                                            {
+                                                "String": "321 137"
+                                            },
+                                            {
+                                                "String": "181 102"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "SPLASH",
+                                    "URL": "https://massbank.eu/MassBank/Result.jsp?splash=splash10-00di-0309000000-1a057c0ea492b42f9148",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-00di-0309000000-1a057c0ea492b42f9148"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320:999,322:364,161:341,321:137,181:102",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320:999,322:364,161:341,321:137,181:102"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 30,
+                                    "Name": "License",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CC BY-NC"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "MoNA ID",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/display/WA000965",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000965"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "MS Category",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Experimental"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "MS Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS1"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "positive"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "179 100"
+                                            },
+                                            {
+                                                "String": "191 49.45"
+                                            },
+                                            {
+                                                "String": "181 34.13"
+                                            },
+                                            {
+                                                "String": "247 30.63"
+                                            },
+                                            {
+                                                "String": "205 21.52"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "SPLASH",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=splash.splash%3D%3D%22splash10-002f-0920000000-90f3db87cbeed5fd67c6%22",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-002f-0920000000-90f3db87cbeed5fd67c6"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=179:100,191:49.45,181:34.13,247:30.63,205:21.52",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=179:100,191:49.45,181:34.13,247:30.63,205:21.52"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 32,
+                                    "Name": "Submitter",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters, Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "MoNA ID",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/display/WA000966",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000966"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "MS Category",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Experimental"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "MS Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS1"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "positive"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "247 100"
+                                            },
+                                            {
+                                                "String": "179 68.67"
+                                            },
+                                            {
+                                                "String": "142 44.34"
+                                            },
+                                            {
+                                                "String": "191 38.04"
+                                            },
+                                            {
+                                                "String": "249 34.53"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "SPLASH",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=splash.splash%3D%3D%22splash10-002e-0950000000-849a8e9960219d54f689%22",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-002e-0950000000-849a8e9960219d54f689"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:100,179:68.67,142:44.34,191:38.04,249:34.53",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:100,179:68.67,142:44.34,191:38.04,249:34.53"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 33,
+                                    "Name": "Submitter",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters, Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "MoNA ID",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/display/WA000967",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000967"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "MS Category",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Experimental"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "MS Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS1"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "positive"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "247 100"
+                                            },
+                                            {
+                                                "String": "142 47.05"
+                                            },
+                                            {
+                                                "String": "249 36.44"
+                                            },
+                                            {
+                                                "String": "179 17.22"
+                                            },
+                                            {
+                                                "String": "248 7.81"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "SPLASH",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=splash.splash%3D%3D%22splash10-0002-0690000000-f317eb87cceee189094a%22",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-0002-0690000000-f317eb87cceee189094a"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:100,142:47.05,249:36.44,179:17.22,248:7.81",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:100,142:47.05,249:36.44,179:17.22,248:7.81"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 34,
+                                    "Name": "Submitter",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters, Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "MoNA ID",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/display/WA000968",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "WA000968"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "MS Category",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Experimental"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "MS Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS1"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ZQ, Waters"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-ESI-Q"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "Ionization",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "ESI"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "positive"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "Retention Time",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "9.800 min"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "247 100"
+                                            },
+                                            {
+                                                "String": "320 52.95"
+                                            },
+                                            {
+                                                "String": "142 35.74"
+                                            },
+                                            {
+                                                "String": "249 34.93"
+                                            },
+                                            {
+                                                "String": "322 19.22"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "SPLASH",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=splash.splash%3D%3D%22splash10-0002-0394000000-811a6863cd54caddde50%22",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-0002-0394000000-811a6863cd54caddde50"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:100,320:52.95,142:35.74,249:34.93,322:19.22",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=247:100,320:52.95,142:35.74,249:34.93,322:19.22"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 35,
+                                    "Name": "Submitter",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Nihon Waters, Nihon Waters K.K."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "MoNA ID",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/display/CCMSLIB00005723985",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CCMSLIB00005723985"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "MS Category",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Experimental"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "MS Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LC-MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS2"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "Precursor Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "[M+H]+"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "Precursor m/z",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "320.189"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "qTof"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "positive"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "320.187012 100"
+                                            },
+                                            {
+                                                "String": "322.187134 29.96"
+                                            },
+                                            {
+                                                "String": "321.189575 20.29"
+                                            },
+                                            {
+                                                "String": "98.091202 4.35"
+                                            },
+                                            {
+                                                "String": "247.107574 4.21"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "SPLASH",
+                                    "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=splash.splash%3D%3D%22splash10-00di-0009000000-76adc55bafbe5f5ba846%22",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-00di-0009000000-76adc55bafbe5f5ba846"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320.187012:100,322.187134:29.96,321.189575:20.29,98.091202:4.35,247.107574:4.21",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320.187012:100,322.187134:29.96,321.189575:20.29,98.091202:4.35,247.107574:4.21"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 37,
+                                    "Name": "Submitter",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "GNPS Team, University of California, San Diego"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Other MS",
+                            "Description": "This section provides additional MS linking information.",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                },
+                                "ShowAtMost": 2
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "Accession ID",
+                                    "URL": "https://massbank.eu/MassBank/RecordDisplay?id=JP003161",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "JP003161"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "Authors",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "YOSHIZUMI H, FAC. OF PHARMACY, MEIJO UNIV."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "Instrument",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Unknown"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "Instrument Type",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CI-B"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "MS Level",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "MS"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "Ionization Mode",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "POSITIVE"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "Top 5 Peaks",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "320 999"
+                                            },
+                                            {
+                                                "String": "322 340"
+                                            },
+                                            {
+                                                "String": "321 210"
+                                            },
+                                            {
+                                                "String": "323 70"
+                                            },
+                                            {
+                                                "String": "319 50"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "SPLASH",
+                                    "URL": "https://massbank.eu/MassBank/Result.jsp?splash=splash10-00di-0009000000-d54119d64cfc341cee7d",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "splash10-00di-0009000000-d54119d64cfc341cee7d"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "Thumbnail",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320:999,322:340,321:210,323:70,319:50",
+                                    "Value":
+                                    {
+                                        "ExternalDataURL":
+                                        [
+                                            "https://pubchem.ncbi.nlm.nih.gov/image/ms.cgi?peaks=320:999,322:340,321:210,323:70,319:50"
+                                        ],
+                                        "MimeType": "image/svg"
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 24,
+                                    "Name": "License",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CC BY-NC-SA"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Other Spectra",
+                    "Description": "Other spectra include fluorescence, emission, etc.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Pfleger, K., H. Maurer and A. Weber. Mass Spectral and GC Data of Drugs, Poisons and their Metabolites. Parts I and II. Mass Spectra Indexes. Weinheim, Federal Republic of Germany. 1985., p. 561"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Intense mass spectral peaks: 58 m/z, 86 m/z, 245 m/z, 290 m/z, 319 m/z"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Related Records",
+            "Description": "Related compounds/substances information based on the similar structure, annotations, etc.",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Related Compounds with Annotation",
+                    "Description": "The subset of compounds that are related to the one currently displayed AND that have biomedical annotations.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Value":
+                            {
+                                "Boolean":
+                                [
+                                    true
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Related Compounds",
+                    "Description": "Compound records closely associated to this record.",
+                    "DisplayControls":
+                    {
+                        "CreateTable":
+                        {
+                            "FromInformationIn": "ThisSection",
+                            "NumberOfColumns": 2,
+                            "ColumnContents":
+                            [
+                                "Name",
+                                "Value"
+                            ]
+                        },
+                        "ShowAtMost": 1
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Same Connectivity Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_sameconnectivity_pulldown&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    10
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Same Stereo Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_samestereochem_pulldown&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    8
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Same Isotope Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_sameisotopic_pulldown&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    3
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Same Parent, Connectivity Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_parent_connectivity_pulldown&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    72
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Same Parent, Stereo Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_parent_stereo_pulldown&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    56
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Same Parent, Isotope Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_parent_isotopes_pulldown&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    60
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Same Parent, Exact Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_parent_pulldown&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    44
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Mixtures, Components, and Neutralized Forms Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_mixture&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    168
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Similar Compounds Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    2251
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Similar Conformers Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/pccompound?cmd=Link&LinkName=pccompound_pccompound_3d&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    218
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Substances",
+                    "Description": "Substance records linked to this compound.",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Related Substances",
+                            "Description": "Substances identical or nearly identical to this record.",
+                            "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/substances",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                },
+                                "ShowAtMost": 1
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Name": "All Count",
+                                    "URL": "https://www.ncbi.nlm.nih.gov/pcsubstance/?term=2719[CompoundID]",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            836
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Name": "Same Count",
+                                    "URL": "https://www.ncbi.nlm.nih.gov/pcsubstance/?term=2719[StandardizedCID]",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            200
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Name": "Mixture Count",
+                                    "URL": "https://www.ncbi.nlm.nih.gov/pcsubstance/?term=2719[ComponentCID]",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            636
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Substances by Category",
+                            "Description": "Substance category according to the depositors. Substance Categorization Classification - The subheaders in this section of a PubChem Compound record reflect the various categories of depositors that have submitted corresponding PubChem Substance records. This allows you to quickly find the corresponding PubChem Substance records that are likely to contain a given type of information, such as Chemical Reactions.",
+                            "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/substances",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Chemical Vendors"
+                                            },
+                                            {
+                                                "String": "Curation Efforts"
+                                            },
+                                            {
+                                                "String": "Governmental Organizations"
+                                            },
+                                            {
+                                                "String": "Journal Publishers"
+                                            },
+                                            {
+                                                "String": "Legacy Depositors"
+                                            },
+                                            {
+                                                "String": "NIH Initiatives"
+                                            },
+                                            {
+                                                "String": "Research and Development"
+                                            },
+                                            {
+                                                "String": "Subscription Services"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Entrez Crosslinks",
+                    "Description": "Cross-references to associated records in other Entrez databases such as PubMed, Gene, Protein, etc.",
+                    "DisplayControls":
+                    {
+                        "CreateTable":
+                        {
+                            "FromInformationIn": "ThisSection",
+                            "NumberOfColumns": 2,
+                            "ColumnContents":
+                            [
+                                "Name",
+                                "Value"
+                            ]
+                        },
+                        "ShowAtMost": 1
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "PubMed Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?LinkName=pccompound_pubmed&db=pccompound&cmd=Link&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    580
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Taxonomy Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?LinkName=pccompound_taxonomy&db=pccompound&cmd=Link&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    10
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "OMIM Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?LinkName=pccompound_omim&db=pccompound&cmd=Link&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    51
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Gene Count",
+                            "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?LinkName=pccompound_gene&db=pccompound&cmd=Link&from_uid=2719",
+                            "Value":
+                            {
+                                "Number":
+                                [
+                                    336
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Associated Chemicals",
+                    "Description": "Associated Chemicals",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine phosphate; 50-63-5",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            },
+                                            {
+                                                "Start": 23,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/50-63-5",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Hydroxychloroquine sulfate; 747-36-4",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 26,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Hydroxychloroquine%20sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-12947"
+                                            },
+                                            {
+                                                "Start": 28,
+                                                "Length": 8,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/747-36-4",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-12947"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine hydrochloride; 3545-67-3",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 25,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20hydrochloride",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-83820"
+                                            },
+                                            {
+                                                "Start": 27,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/3545-67-3",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-83820"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "NCBI LinkOut",
+                    "Description": "LinkOut is a service that allows one to link directly from NCBI databases to a wide range of information and services beyond NCBI systems.",
+                    "URL": "https://www.ncbi.nlm.nih.gov/projects/linkout",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 92,
+                            "Value":
+                            {
+                                "Boolean":
+                                [
+                                    true
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Chemical Vendors",
+            "Description": "A list of chemical vendors that sell this compound.  Each vendor may have multiple products containing the same chemical, but different in various aspects, such as amount and purity.  For each product, the external identifier used to locate the product on the vendor's website is provided under the Purcharsable Chemical column, and clicking this identifier directs you to the vendor's website.  The information on the product provided by the vendor to PubChem can be accessed at the Summary page of the corresponding PubChem Substance ID (SID).  Note that the order of chemical vendors on the list is randomized, and that PubChem do not endorse any of the vendors.",
+            "Information":
+            [
+                {
+                    "ReferenceNumber": 69,
+                    "Value":
+                    {
+                        "Boolean":
+                        [
+                            true
+                        ]
+                    }
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Drug and Medication Information",
+            "Description": "Drug and medication information from multiple sources.",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Drug Indication",
+                    "Description": "Drug Indication information from various sources.",
+                    "DisplayControls":
+                    {
+                        "ShowAtMost": 3
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is indicated to treat infections of _P. vivax_, _P. malariae_, _P. ovale_, and susceptible strains of _P. falciparum_. It is also used to treat extraintestinal amebiasis.  Chloroquine is also used off label for the treatment of rheumatic diseases, as well as treatment and prophylaxis of Zika virus. Chloroquine is currently undergoing clinical trials for the treatment of COVID-19.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 184,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 312,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 10,
+                            "URL": "http://s3-us-west-2.amazonaws.com/drugbank/fda_labels/DB00608.pdf?1265922797",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "FDA Label"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "LiverTox Summary",
+                    "Description": "This section provides an overview of drug induced liver injury, diagnostic criteria, assessment of causality and severity, descriptions of different clinical patterns (phenotypes), information on management and treatment, and standardized nomenclature.  The role of liver biopsy and major histological patterns of drug induced liver disease are also given.",
+                    "URL": "https://livertox.nlm.nih.gov/aboutus.html",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 22,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is an aminoquinoline used for the prevention and therapy of malaria. It is also effective in extraintestinal amebiasis and as an antiinflammatory agent for therapy of rheumatoid arthritis and lupus erythematosus. Chloroquine is not associated with serum enzyme elevations and is an extremely rare cause of clinically apparent acute liver injury.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 18,
+                                                "Length": 14,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/aminoquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-11379"
+                                            },
+                                            {
+                                                "Start": 225,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Drug Classes",
+                    "Description": "Drug classes information from various sources.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 22,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Antimalarial Agents"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "WHO Essential Medicines",
+                    "Description": "The WHO Essential Medicines present a list of minimum medicine needs for a basic health-care system, listing the most efficacious, safe and cost–effective medicines for priority conditions.",
+                    "URL": "https://www.who.int/groups/expert-committee-on-selection-and-use-of-essential-medicines/essential-medicines-lists",
+                    "DisplayControls":
+                    {
+                        "CreateTable":
+                        {
+                            "FromInformationIn": "ThisSection",
+                            "NumberOfColumns": 4,
+                            "ColumnsFromNamedLists":
+                            {
+                                "Name":
+                                [
+                                    "Drug",
+                                    "Drug Classes",
+                                    "Formulation",
+                                    "Indication"
+                                ],
+                                "UseNamesAsColumnHeadings": true
+                            }
+                        },
+                        "ShowAtMost": 3
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 64,
+                            "Name": "Drug",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://list.essentialmeds.org/medicines/275"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Chloroquine",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://list.essentialmeds.org/medicines/275"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Chloroquine",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://list.essentialmeds.org/medicines/275"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 64,
+                            "Name": "Drug Classes",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Antimalarial medicines -> For chemoprevention"
+                                    },
+                                    {
+                                        "String": "Antimalarial medicines -> For curative treatment"
+                                    },
+                                    {
+                                        "String": "Disease-modifying anti-rheumatic drugs (DMARDs)"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 64,
+                            "Name": "Formulation",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "(1) Oral - Liquid: 50 mg per 5 mL syrup (as phosphate or sulfate); (2) Oral - Solid: 150 mg tablet (as phosphate or sulfate)",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 44,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            },
+                                            {
+                                                "Start": 57,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1117"
+                                            },
+                                            {
+                                                "Start": 103,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            },
+                                            {
+                                                "Start": 116,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1117"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "(1) Parenteral - General injections - IV: 40 mg per  mL in 5 mL ampoule (as hydrochloride, phosphate or sulfate); (2) Oral - Liquid: 50 mg per 5 mL syrup (as phosphate or sulfate); (3) Oral - Solid: 150 mg tablet (as phosphate or sulfate); 100 mg tablet (as phosphate or sulfate)",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 91,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            },
+                                            {
+                                                "Start": 104,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1117"
+                                            },
+                                            {
+                                                "Start": 158,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            },
+                                            {
+                                                "Start": 171,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1117"
+                                            },
+                                            {
+                                                "Start": 217,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            },
+                                            {
+                                                "Start": 230,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1117"
+                                            },
+                                            {
+                                                "Start": 258,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            },
+                                            {
+                                                "Start": 271,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1117"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Oral - Solid: 100 mg tablet (as phosphate or sulfate); 150 mg tablet (as phosphate or sulfate)",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 32,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            },
+                                            {
+                                                "Start": 45,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1117"
+                                            },
+                                            {
+                                                "Start": 73,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            },
+                                            {
+                                                "Start": 86,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1117"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 64,
+                            "Name": "Indication",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "(1) Malaria due to Plasmodium falciparum [co-prescribed with P01BA01]; (2) Malaria due to Plasmodium ovale [co-prescribed with P01BA01]; (3) Malaria due to Plasmodium vivax [co-prescribed with P01BA01]; (4) Malaria due to Plasmodium malariae [co-prescribed with P01BA01]"
+                                    },
+                                    {
+                                        "String": "(1) Malaria due to Plasmodium falciparum [co-prescribed with P01BA01]; (2) Malaria due to Plasmodium vivax [co-prescribed with P01BA01]"
+                                    },
+                                    {
+                                        "String": "Rheumatoid arthritis [co-prescribed with P01BA01]"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "FDA Orange Book",
+                    "Description": "The Orange Book identifies drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act.",
+                    "URL": "https://www.fda.gov/drugs/drug-approvals-and-databases/approved-drug-products-therapeutic-equivalence-evaluations-orange-book",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 17,
+                            "Value":
+                            {
+                                "ExternalTableName": "fdaorangebook",
+                                "ExternalTableNumRows": 1
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "FDA National Drug Code Directory",
+                    "Description": "The National Drug Code (NDC) is a unique product identifier in three-segment number used in the United States for human drugs (the Drug Listing Act of 1972).",
+                    "URL": "https://www.fda.gov/drugs/drug-approvals-and-databases/national-drug-code-directory",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 38,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "CHLOROQUINE is an active ingredient in the product 'VISUAL DETOX'.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Clinical Trials",
+                    "Description": "Clinical trials are research studies performed in people that are aimed at evaluating a medical, surgical, or behavioral intervention. They are the primary way that researchers find out if a new treatment, like a new drug or diet or medical device (for example, a pacemaker) is safe and effective in people.",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "ClinicalTrials.gov",
+                            "Description": "The brief clinical trials summary from the ClinicalTrials.gov at the U.S. National Library of Medicine.",
+                            "URL": "https://clinicaltrials.gov/",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 6,
+                                    "Name": "ClinicalTrials.gov",
+                                    "Value":
+                                    {
+                                        "ExternalTableName": "clinicaltrials",
+                                        "ExternalTableNumRows": 94
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "EU Clinical Trials Register",
+                            "Description": "The clinical trials summary from the EU Clinical Trials Register.",
+                            "URL": "https://www.clinicaltrialsregister.eu/",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 13,
+                                    "Name": "EU Clinical Trials Register",
+                                    "Value":
+                                    {
+                                        "ExternalTableName": "clinicaltrials_eu",
+                                        "ExternalTableNumRows": 7
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "EMA Drug Information",
+                    "Description": "Drug and medicines information from the European Medicines Agency (EMA)",
+                    "URL": "https://www.ema.europa.eu/en/medicines",
+                    "DisplayControls":
+                    {
+                        "CreateTable":
+                        {
+                            "FromInformationIn": "ThisSection",
+                            "NumberOfColumns": 2,
+                            "ColumnContents":
+                            [
+                                "Name",
+                                "Value"
+                            ]
+                        },
+                        "ShowAtMost": 2
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 16,
+                            "Name": "Disease/Condition",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Treatment of glioma"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 16,
+                            "Name": "Active Substance",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 16,
+                            "Name": "Status of Orphan Designation",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Positive"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 16,
+                            "Name": "Decision Date",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "2014-11-19"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Therapeutic Uses",
+                    "Description": "Therapeutic Uses information from HSDB",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "National Library of Medicine, SIS; ChemIDplus Record for Chloroquine. (54-05-7). Available from, as of April 17,  2006: https://chem.sis.nlm.nih.gov/chemidplus/chemidlite.jsp"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Mesh Heading: Amebicides, antimalarials, antirheumatic Agents"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Antimalarial; antiamebic; antirheumatic. Lupus erythematosus suppressant."
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 837"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is indicated in the suppressive treatment and the treatment of acute attacks of malaria caused by plasmodium vivax, Plasmodium malariae, Plasmodium ovale, chlrorquine-susceptible strains of P. falciparum. /Included in the US product label/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 837"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is indicated for the treatment of amebic liver abscess, usually in combination with and effective intestinal amebicide. However, it is not considered a primary drug. /Included in the US product label/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "For more Therapeutic Uses (Complete) data for CHLOROQUINE (13 total), please visit the HSDB record page.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 87,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Therapeutic-Uses-(Complete)"
+                                            },
+                                            {
+                                                "Start": 46,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Drug Warnings",
+                    "Description": "Drug Warning information from HSDB",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 858"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is contraindicated in patients who are hypersensitive to 4-aminoquinoline derivatives.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 69,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/4-aminoquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-68476"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 858"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Ophthalmologic examinations, including slit lamp, funduscopic, and visual field tests, should be performed prior to initiation of chloroquine therapy and periodically during therapy whenever long term use of the drug is contemplated. Chloroquine should be discontinued immediately and the patient observed for possible progression if there is any indication of abnormalities in visual acuity or visual field, abnormalities in the retinal macular area such as pigmentary changes or loss of foveal reflex, or if any other visual symptoms such as light flashes and streaks occur which are not fully explainable by difficulties of accommodation or corneal opacities.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 130,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 234,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 430,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/retinal",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-638015"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 858"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Because chloroquine may concentrate in the liver, the drug should be used with caution in patients with hepatic disease or alcoholism and in patients receiving other hepatotoxic drugs.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 8,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 858"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Complete blood cell counts should be performed periodically in patients receiving prolonged therapy with chloroquine. Chloroquine should be discontinued if there is evidence of adverse hematologic effects that are severe and not attributable to the disease being treated. The manufacturer states that chloroquine should be administered with caution to patients with glucose-6-phosphate dehydrogenase deficiency.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 105,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 118,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 301,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 366,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/glucose-6-phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-5958"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "For more Drug Warnings (Complete) data for CHLOROQUINE (21 total), please visit the HSDB record page.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 84,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Drug-Warnings-(Complete)"
+                                            },
+                                            {
+                                                "Start": 43,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Reported Fatal Dose",
+                    "Description": "Minimum/Potential Fatal Human Dose information from HSDB",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Olson, K.R. (Ed.); Poisoning & Drug Overdose. 4th ed. Lange    Medical Books/McGraw-Hill. New York, N.Y. 2004., p. 166"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "... The lethal dose of chloroquine for an adult is estimated at 30 to 50 mg/kg.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 23,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Hardman, J.G., L.E. Limbird, P.B., A.G. Gilman. Goodman and Gilman's The Pharmacological Basis of Therapeutics. 10th ed. New York, NY: McGraw-Hill, 2001., p. 1079"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine doses of more than 5 g given parenterally usually are fatal.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "WHO; Poisons Information Monographs (PIMs) 030: Amodiaquine. Available from, as of July 24, 2006: https://www.inchem.org/pages/pims.html"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "... Fatal dose ... of chloroquine phosphate (2 to 3 g, adult) ... /Chloroquine phosphate/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 22,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine%20phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            },
+                                            {
+                                                "Start": 67,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Drug Tolerance",
+                    "Description": "Drug Tolerance information from HSDB",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "WHO; WHO Guidelines for the Treatment of Malaria (2006). Available from, as of July 31, 2006: https://www.who.int/malaria/docs/TreatmentGuidelines2006.pdf"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Although there are a few areas where chloroquine is still effective, parenteral chloroquine is no longer recommended for the treatment of severe malaria because of widespread resistance.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 37,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 80,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "WHO; WHO Guidelines for the Treatment of Malaria (2006). Available from, as of July 31, 2006: https://www.who.int/malaria/docs/TreatmentGuidelines2006.pdf"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Resistance to antimalarials has been documented for P. falciparum, P. vivax and, recently, P. malariae. In P. falciparum, resistance has been observed to almost all currently used antimalarials (amodiaquine, chloroquine, mefloquine, quinine and sulfadoxine - pyrimethamine) except for artemisinin and its derivatives. The geographical distributions and rates of spread have varied considerably. P. vivax has developed resistance rapidly to sulfadoxine -pyrimethamine in many areas. Chloroquine resistance is confined largely to Indonesia, East Timor, Papua New Guinea and other parts of Oceania. There are also documented reports from Peru. P. vivax remains sensitive to chloroquine in South-East Asia, the Indian subcontinent, the Korean peninsula, the Middle East, north-east Africa, and most of South and Central America.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 195,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/amodiaquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2165"
+                                            },
+                                            {
+                                                "Start": 208,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 221,
+                                                "Length": 10,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/mefloquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-4046"
+                                            },
+                                            {
+                                                "Start": 233,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-3034034"
+                                            },
+                                            {
+                                                "Start": 245,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfadoxine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-17134"
+                                            },
+                                            {
+                                                "Start": 259,
+                                                "Length": 13,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/pyrimethamine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-4993"
+                                            },
+                                            {
+                                                "Start": 285,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/artemisinin",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2240"
+                                            },
+                                            {
+                                                "Start": 440,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfadoxine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-17134"
+                                            },
+                                            {
+                                                "Start": 453,
+                                                "Length": 13,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/pyrimethamine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-4993"
+                                            },
+                                            {
+                                                "Start": 482,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 671,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Pharmacology and Biochemistry",
+            "Description": "Pharmacology and biochemistry information related to this record",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Pharmacology",
+                    "Description": "Pharmacology information related to this record",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine inhibits the action of heme polymerase, which causes the buildup of toxic heme in _Plasmodium_ species. It has a long duration of action as the half life is 20-60 days. Patients should be counselled regarding the risk of retinopathy with long term usage or high dosage, muscle weakness, and toxicity in children.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "MeSH Pharmacological Classification",
+                    "Description": "Pharmacological action classes that provided by MeSH",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 88,
+                            "Name": "Amebicides",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Agents which are destructive to amebae, especially the parasitic species causing AMEBIASIS in man and animal. (See all compounds classified as Amebicides.)",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 115,
+                                                "Length": 38,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?Db=pccompound&DbFrom=mesh&Cmd=Link&LinkName=mesh_pccompound&IdsFromResult=68000563"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 89,
+                            "Name": "Antirheumatic Agents",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Drugs that are used to treat RHEUMATOID ARTHRITIS. (See all compounds classified as Antirheumatic Agents.)",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 56,
+                                                "Length": 48,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?Db=pccompound&DbFrom=mesh&Cmd=Link&LinkName=mesh_pccompound&IdsFromResult=68018501"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 90,
+                            "Name": "Antimalarials",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Agents used in the treatment of malaria. They are usually classified on the basis of their action against plasmodia at different stages in their life cycle in the human. (From AMA, Drug Evaluations Annual, 1992, p1585) (See all compounds classified as Antimalarials.)",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 224,
+                                                "Length": 41,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?Db=pccompound&DbFrom=mesh&Cmd=Link&LinkName=mesh_pccompound&IdsFromResult=68000962"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "ATC Code",
+                    "Description": "The Anatomical Therapeutic Chemical (ATC) Classification System is used for the classification of drugs. This pharmaceutical coding system divides drugs into different groups according to the organ or system on which they act and/or their therapeutic and chemical characteristics. Each bottom-level ATC code stands for a pharmaceutically used substance, or a combination of substances, in a single indication (or use). This means that one drug can have more than one code: acetylsalicylic acid (aspirin), for example, has A01AD05 as a drug for local oral treatment, B01AC06 as a platelet inhibitor, and N02BA01 as an analgesic and antipyretic. On the other hand, several different brands share the same code if they have the same active substance and indications.",
+                    "URL": "http://www.whocc.no/atc/",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 63,
+                            "Name": "ATC Code",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "P - Antiparasitic products, insecticides and repellents",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 1,
+                                                "URL": "https://www.whocc.no/atc_ddd_index/?code=P"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "P01 - Antiprotozoals",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 3,
+                                                "URL": "https://www.whocc.no/atc_ddd_index/?code=P01"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "P01B - Antimalarials",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 4,
+                                                "URL": "https://www.whocc.no/atc_ddd_index/?code=P01B"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "P01BA - Aminoquinolines",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 5,
+                                                "URL": "https://www.whocc.no/atc_ddd_index/?code=P01BA"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "P01BA01 - Chloroquine",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 7,
+                                                "URL": "https://www.whocc.no/atc_ddd_index/?code=P01BA01"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Absorption, Distribution and Excretion",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Name": "Absorption",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine oral solution has a bioavailability of 52-102% and oral tablets have a bioavailability of 67-114%. Intravenous chloroquine reaches a C<sub>max</sub> of 650-1300µg/L and oral chloroquine reaches a C<sub>max</sub> of 65-128µg/L with a T<sub>max</sub> of 0.5h.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 123,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 186,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 10,
+                            "Name": "Route of Elimination",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is predominantly eliminated in the urine. 50% of a dose is recovered in the urine as unchanged chloroquine, with 10% of the dose recovered in the urine as desethylchloroquine.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 107,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 167,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-95478"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 10,
+                            "Name": "Volume of Distribution",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "The volume of distribution of chloroquine is 200-800L/kg.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 30,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 10,
+                            "Name": "Clearance",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine has a total plasma clearance of 0.35-1L/h/kg.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 859"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is rapidly and almost completely absorbed from the GI tract following oral administration, and peak plasma concn of the drug are generally attained within 1-2 hr. Considerable interindividual variations in serum concn of chloroquine have been reported. Oral administration of 310 mg of chloroquine daily reportedly results in peak plasma concn of about 0.125 ug/mL. If 500 mg of chloroquine is administered once weekly, peak plasma concn of the drug reportedly range from 0.15-0.25 ug/mL and trough plasma concn reportedly range from 0.02-0.04 ug/mL. Results of one study indicate that chloroquine may exhibit nonlinear dose dependent pharmacokinetics. In this study, administration of a single 500 mg oral dose of chloroquine resulted in a peak serum concentration of 0.12 ug/mL, and administration of a single 1 g oral dose of the drug resulted in a peak serum concentration of 0.34 ug/mL.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 233,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 298,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 391,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 598,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 727,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 859"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Results of one cross-over study in healthy adults indicate that the bioavailability of chloroquine is greater when the drug is administered with food than when the drug is administered in the fasting state. In this study, the rate of absorption of chloroquine was unaffected by the presence of food in the GI tract however, peak plasma concn of chloroquine and areas under the plasma concentration-time curves were higher when 600 mg of the drug was administered with food than when the same dose was administered without food.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 87,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 248,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 345,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 859"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is widely distributed into body tissues. The drug has an apparent volume of distribution of 116-285 L/kg in healthy adults. Animal studies indicate that concn of chloroquine in liver, spleen, kidney, and lung are at least 200-700 times higher than those in plasma, and concentration of the drug in brain and spinal cord are at least 10-30 times higher than those in plasma. Chloroquine binds to melanin containing cells in the eyes and skin; skin concn of the drug are considerably higher than plasma concentration. Animal studies indicate that the drug is concentrated in the iris and choroid and, to a lesser extent, in the cornea, retina, and sclera and is found in these tissues in higher concentration than in other tissues.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 174,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 386,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 407,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/melanin",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-6325610"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 859"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is also concentrated in erythrocytes and binds to platelets and granulocytes. Serum concentrations of chloroquine are higher than those in plasma, presumably because the drug is released from platelets during coagulation, and plasma concentrations are 10 to 15% lower than whole blood concentration of the drug.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 114,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "For more Absorption, Distribution and Excretion (Complete) data for CHLOROQUINE (16 total), please visit the HSDB record page.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 109,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Absorption-Distribution-and-Excretion-(Complete)"
+                                            },
+                                            {
+                                                "Start": 68,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Metabolism/Metabolites",
+                    "Description": "Metabolism/Metabolites information related to the record",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is N-dealkylated primarily by CYP2C8 and CYP3A4 to N-desethylchloroquine. It is N-dealkylated to a lesser extent by CYP3A5, CYP2D6, and to an ever lesser extent by CYP1A1. N-desethylchloroquine can be further N-dealkylated to N-bidesethylchloroquine, which is further N-dealkylated to 7-chloro-4-aminoquinoline.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 65,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-95478"
+                                            },
+                                            {
+                                                "Start": 186,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-95478"
+                                            },
+                                            {
+                                                "Start": 297,
+                                                "Length": 25,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/7-chloro-4-aminoquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-94711"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 860"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine is partially metabolized; the major metabolite is desethylchloroquine. Desethylchloroquine also has antiplasmodial activity, but is slightly less active than chloroquine. Bisdesethylchloroquine, which is a carboxylic acid derivative, and several other unidentified metabolites are also formed in small amounts.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 62,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-95478"
+                                            },
+                                            {
+                                                "Start": 83,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Desethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-95478"
+                                            },
+                                            {
+                                                "Start": 170,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 183,
+                                                "Length": 22,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Bisdesethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-122672"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 837"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Hepatic (partially), to active de-ethylated metabolites. Principal metabolite is desethylchloroquine",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 81,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-95478"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Biological Half-Life",
+                    "Description": "Biological Half-Life information related to the record",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "The half life of chloroquine is 20-60 days.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 17,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 860"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "The plasma half-life of chloroquine in healthy individuals is generally reported to be 72-120 hr. In one study, serum concentrations of chloroquine appeared to decline in a biphasic manner and the serum half-life of the terminal phase increased with higher dosage of the drug. In this study, the terminal half-life of chloroquine was 3.1 hr after a single 250 mg oral dose, 42.9 hr after a single 500 mg oral dose, and 312 hr after a single 1 g oral dose of the drug.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 24,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 136,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 318,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 837"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Terminal elimination half-life is 1 to 2 months."
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Haddad, L.M. (Ed). Clinical Management of Poisoning and Drug Overdose 3rd Edition. Saunders, Philadelphia, PA. 1998., p. 711"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "... extremely slow elimination, with a terminal elimination half-life of 200 to 300 hours)"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Mechanism of Action",
+                    "Description": "Mechanism of Action  information related to the record",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine inhibits the action of heme polymerase in malarial trophozoites, preventing the conversion of heme to hemazoin. _Plasmodium_ species continue to accumulate toxic heme, killing the parasite.  Chloroquine passively diffuses through cell membranes and into endosomes, lysosomes, and Golgi vesicles; where it becomes protonated, trapping the chloroquine in the organelle and raising the surrounding pH. The raised pH in endosomes, prevent virus particles from utilizing their activity for fusion and entry into the cell.  Chloroquine does not affect the level of ACE2 expression on cell surfaces, but inhibits terminal glycosylation of ACE2, the receptor that SARS-CoV and SARS-CoV-2 target for cell entry. ACE2 that is not in the glycosylated state may less efficiently interact with the SARS-CoV-2 spike protein, further inhibiting viral entry.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 203,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 350,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 530,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 859"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "The exact mechanism of antimalarial activity of chloroquine has not been determined. The 4-aminoquinoline derivatives appear to bind to nucleoproteins and interfere with protein synthesis in susceptible organisms; the drugs intercalate readily into double-stranded DNA and inhibit both DNA and RNA polymerase. In addition, studies using chloroquine indicate that the drug apparently concentrates in parasite digestive vacuoles, increases the pH of the vacuoles, and interferes with the parasite's ability to metabolize and utilize erythrocyte hemoglobin. Plasmodial forms that do not have digestive vacuoles and do not utilize hemoglobin, such as exoerythrocytic forms, are not affected by chloroquine.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 48,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 89,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/4-aminoquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-68476"
+                                            },
+                                            {
+                                                "Start": 337,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 690,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 859"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "The 4-aminoquinoline derivatives, including chloroquine, also have anti-inflammatory activity; however, the mechanism(s) of action of the drugs in the treatment of rheumatoid arthritis and lupus erythematosus has not been determined. Chloroquine reportedly antagonizes histamine in vitro, has antiserotonin effects, and inhibits prostaglandin effects in mammalian cells presumably by inhibiting conversion of arachidonic acid to prostaglandin F2. In vitro studies indicate that chloroquine also inhibits chemotaxis of polymorphonuclear leukocytes, macrophages, and eosinophils.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 4,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/4-aminoquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-68476"
+                                            },
+                                            {
+                                                "Start": 44,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 234,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 269,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/histamine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-774"
+                                            },
+                                            {
+                                                "Start": 409,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/arachidonic%20acid",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-444899"
+                                            },
+                                            {
+                                                "Start": 429,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/prostaglandin%20F2",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-71312086"
+                                            },
+                                            {
+                                                "Start": 478,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 837"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Antiprotozoal-Malaria: /Mechanism of action/ may be based on ability of chloroquine to bind and alter the properties of DNA. Chloroquine also is taken up into the acidic food vacuoles of the parasite in the erythrocyte. It increases the pH of the acid vesicles, interfering with vesicle functions and possibly inhibiting phospholipid metabolism. In suppressive treatment, chloroquine inhibits the erythrocytic stage of development of plasmodia. In acute attacks of malaria, chloroquine interrupts erythrocytic schizogony of the parasite. its ability to concentrate in parasitized erythrocytes may account for its selective toxicity against the erythrocytic stages of plasmodial infection.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 72,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 125,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 372,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 474,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 837"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Antirheumatic-Chloroquine is though to act as a mild immunosuppressant, inhibiting the production of rheumatoid factor and acute phase reactants. It also accumulates in white blood cells, stabilizing lysosomal membranes and inhibiting the activity of many enzymes, including collagenase and the proteases that cause cartilage breakdown.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 14,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Human Metabolite Information",
+                    "Description": "Chemical metabolite information from the Human Metabolome Database (HMDB).",
+                    "URL": "http://www.hmdb.ca/",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Cellular Locations",
+                            "Description": "The metabolome in Cellular Locations",
+                            "DisplayControls":
+                            {
+                                "ListType": "Columns"
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 19,
+                                    "Name": "Cellular Locations",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Cytoplasm"
+                                            },
+                                            {
+                                                "String": "Extracellular"
+                                            },
+                                            {
+                                                "String": "Membrane"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Use and Manufacturing",
+            "Description": "The use and manufacture of the chemical and related information",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Uses",
+                    "Description": "This section presents the major uses of the chemical in the United States today. In addition, past uses of the chemical are summarized.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "MEDICATION"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Antimalarial, antiamebic, antitheuratic, Lupus erthematus supressant"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "National Library of Medicine, SIS; ChemIDplus Record for Chloroquine. (54-05-7). Available from, as of April 17,  2006: https://chem.sis.nlm.nih.gov/chemidplus/chemidlite.jsp"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Mesh Heading: Amebicides, antimalarials, antirheumatic Agents"
+                                    }
+                                ]
+                            }
+                        }
+                    ],
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Use Classification",
+                            "Description": "This section contains use classification/category information from various sources",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 16,
+                                    "Name": "Use Classification",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Human drugs -> Rare disease (orphan)"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 17,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Human Drugs -> FDA Approved Drug Products with Therapeutic Equivalence Evaluations (Orange Book) -> Active Ingredients"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 54,
+                                    "Reference":
+                                    [
+                                        "S72 | NTUPHTW | Pharmaceutically Active Substances from National Taiwan University | DOI:10.5281/zenodo.3955664"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Pharmaceuticals"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Methods of Manufacturing",
+                    "Description": "Methods of Manufacturing from HSDB and other sources.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "H. Andersag et al., US 2233970 (1941 to Winthrop)"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Condensation of 4,7-dichloroquinoline with 1-diethylamino-4-aminopentane: German patent 683692 (1939);",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 16,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/4%2C7-dichloroquinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-6866"
+                                            },
+                                            {
+                                                "Start": 43,
+                                                "Length": 29,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/1-diethylamino-4-aminopentane",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-78953"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Formulations/Preparations",
+                    "Description": "Formulations/Preparations from HSDB and other sources",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Gilman, A.G., T.W. Rall, A.S. Nies and P. Taylor (eds.). Goodman and Gilman's The Pharmacological Basis of Therapeutics. 8th ed. New York, NY. Pergamon Press, 1990., p. 982"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine phosphate, USP ... is available as tablets containing either 250 or 500 mg of diphosphate. Approximately 60% of diphosphate represents base. /Chloroquine phosphate/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            },
+                                            {
+                                                "Start": 154,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Arechin; Avloclor; Imagon; Malaquin; Resochin; Tresochin. /Chloroquine diphosphate/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Arechin",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            },
+                                            {
+                                                "Start": 9,
+                                                "Length": 8,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Avloclor",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 19,
+                                                "Length": 6,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Imagon",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 37,
+                                                "Length": 8,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Resochin",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-83818"
+                                            },
+                                            {
+                                                "Start": 47,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Tresochin",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 59,
+                                                "Length": 23,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20diphosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "O'Neil, M.J. (ed.). The Merck Index - An Encyclopedia of  Chemicals, Drugs, and Biologicals. 13th Edition, Whitehouse  Station, NJ:  Merck and Co., Inc., 2001., p. 373"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Nivaquine. /Chloroquine Sulfate/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 12,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20Sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-91441"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Hussar, D.A. (ed.). Modell's Drugs in Current Use and New Drugs. 38th ed. New York, NY: Springer Publishing Co., 1992., p. 37"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Tablets (as the phosphate), 500 mg. Vials (as the dihydrochloride), 50 mg/ml.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 16,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 860"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Chloroquine Phosphate: Oral tablets 300 mg or 150 mg (of chloroquine).",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20Phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            },
+                                            {
+                                                "Start": 57,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "U.S. Production",
+                    "Description": "U.S. Production",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "SRI"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "(1977) PROBABLY MORE THAN 4.5X10+5 G /PHOSPHATE/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 38,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/PHOSPHATE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "SRI"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "(1979) PROBABLY MORE THAN 4.5X10+5 G /PHOSPHATE/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 38,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/PHOSPHATE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "U.S. Imports",
+                    "Description": "Information regarding U.S. Imports",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "SRI"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "(1977) 6X10+5 G-PRINCPL CUSTMS DISTS /PHOSPHATE/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 38,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/PHOSPHATE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "SRI"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "(1979) 3X10+5 G-PRINCPL CUSTMS DISTS /PHOSPHATE/",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 38,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/PHOSPHATE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "General Manufacturing Information",
+                    "Description": "General Manufacturing Information",
+                    "DisplayControls":
+                    {
+                        "ListType": "Columns"
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Lewis, R.J. Sr.; Hawley's Condensed Chemical Dictionary 14th Edition. John Wiley & Sons, Inc. New York, NY 2001., p. 259"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Usually dispensed as the phosphate.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 25,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-1061"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Identification",
+            "Description": "This section contains laboratory methods how to identify the chemical and more.",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Analytic Laboratory Methods",
+                    "Description": "Analytic Laboratory Methods for the sample analysis",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Sunshine, I. (ed.). CRC Handbook of Analytical Toxicology. Cleveland: The Chemical Rubber Co., 1969., p. 28"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "GENERAL SAMPLE, FLUOROMETRY (EXCITATION= 350, EMISSION= 405)."
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "U.S. Pharmacopeia. The United States Pharmacopeia, USP 29/The National Formulary, NF 24; Rockville, MD: U.S. Pharmacopeial Convention, Inc., p480 (2006)"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Analyte: chloroquine; matrix: chemical identification; procedure: infrared absorption spectrophotometry with comparison to standards",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 9,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "U.S. Pharmacopeia. The United States Pharmacopeia, USP 29/The National Formulary, NF 24; Rockville, MD: U.S. Pharmacopeial Convention, Inc., p480 (2006)"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Analyte: chloroquine; matrix: chemical identification; procedure: ultraviolet absorption spectrophotometry with comparison to standards",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 9,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "U.S. Pharmacopeia. The United States Pharmacopeia, USP 29/The National Formulary, NF 24; Rockville, MD: U.S. Pharmacopeial Convention, Inc., p480 (2006)"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Analyte: chloroquine; matrix: chemical purity; procedure: dissolution in glacial acetic acid; addition of crystal violet indicator; titration with perchloric acid",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 9,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 81,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/acetic%20acid",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-176"
+                                            },
+                                            {
+                                                "Start": 106,
+                                                "Length": 14,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/crystal%20violet",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-11057"
+                                            },
+                                            {
+                                                "Start": 147,
+                                                "Length": 15,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/perchloric%20acid",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-24247"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "For more Analytic Laboratory Methods (Complete) data for CHLOROQUINE (20 total), please visit the HSDB record page.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 98,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Analytic-Laboratory-Methods-(Complete)"
+                                            },
+                                            {
+                                                "Start": 57,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Clinical Laboratory Methods",
+                    "Description": "Clinical Laboratory Methods for the sample analysis",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Sunshine, Irving (ed.) Methodology for Analytical Toxicology. Cleveland: CRC Press, Inc., 1975., p. 83"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Determination of chloroquine in blood, plasma, red cells, or urine specimen using spectrophotometer with UV absorption spectrum at 0.0 to 0.1 absorbance range. Recovery is about 90 + or - 2%.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 17,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Chaulet JF et al; J Chromatogr Biomed Appl 613 (2): 303-10 (1993)"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "A high-performance liquid chromatography method with fluorescence detection is described for the simultaneous measurement of quinine, chloroquine and mono- and bidesethylchloroquine in human plasma, erythrocytes and urine ... The limit of detection was ca 5 ng/mL of chloroquine and ca 23 ng/mL for quinine ...",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 125,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-3034034"
+                                            },
+                                            {
+                                                "Start": 134,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 267,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 299,
+                                                "Length": 7,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-3034034"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "PMID:2313570",
+                                "Escande C et al; J Pharm Sci 79 (1): 23-7 (1990)"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Two new methods for the simultaneous detn of chloroquine and its two main metabolites (monodesethylchloroquine and bisdesethylchloroquine) in biol samples, RIA and ELISA, are described ... Sensitivity limits are, respectively, 0.70 nM (3 pg of chloroquine sulfate measured in 10 uLof plasma sample) for RIA, and 10 nM (22 pg of chloroquine sulfate measured in 5 uL of plasma sample) for ELISA. The interassay coefficients of variation are, respectively, <10 and <16% for RIA and ELISA in the range 14 to 410 nM (6 to 180 ng/mL) ...",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 45,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 87,
+                                                "Length": 23,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/monodesethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-38989112"
+                                            },
+                                            {
+                                                "Start": 115,
+                                                "Length": 22,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/bisdesethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-122672"
+                                            },
+                                            {
+                                                "Start": 244,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine%20sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-91441"
+                                            },
+                                            {
+                                                "Start": 328,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine%20sulfate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-91441"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Reference":
+                            [
+                                "Tracqui A et al; J Forensic Sci 40: 254-262 (1995). As cited in: Lunn G, Schmuff N; HPLC Methods for Pharmaceutical Analysis.  New York, NY: John Wiley & Sons, 1997., p.459"
+                            ],
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Analyte: chloroquine; matrix: blood (whole, plasma); procedure: high-performance liquid chromatography with ultraviolet detection at 229 nm; limit of detection: <120 ng/mL",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 9,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 18,
+                            "Description": "PEER REVIEWED",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "For more Clinical Laboratory Methods (Complete) data for CHLOROQUINE (17 total), please visit the HSDB record page.",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 98,
+                                                "Length": 16,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Clinical-Laboratory-Methods-(Complete)"
+                                            },
+                                            {
+                                                "Start": 57,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Safety and Hazards",
+            "Description": "Safety and hazards information, properties, management techniques, reactivities and incompatibilities, first aid treatments, and more. For toxicity and related information, please visit Toxicity section.",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Hazards Identification",
+                    "Description": "Hazards Identification includes all hazards regarding the chemical; required label elements",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "GHS Classification",
+                            "Description": "GHS (Globally Harmonized System of Classification and Labelling of Chemicals) is a United Nations system to identify hazardous chemicals and to inform users about these hazards. GHS has been adopted by many countries around the world and is now also used as the basis for international and national transport regulations for dangerous goods. The GHS hazard statements, class categories, pictograms, signal words, and the precautionary statements can be found on the PubChem GHS page.",
+                            "URL": "https://pubchem.ncbi.nlm.nih.gov/ghs/",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                },
+                                "ShowAtMost": 1
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 14,
+                                    "Name": "Pictogram(s)",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "          ",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 0,
+                                                        "Length": 1,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/images/ghs/GHS07.svg",
+                                                        "Type": "Icon",
+                                                        "Extra": "Irritant"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 14,
+                                    "Name": "Signal",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Warning",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 0,
+                                                        "Length": 7,
+                                                        "Type": "Color",
+                                                        "Extra": "GHSWarning"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 14,
+                                    "Name": "GHS Hazard Statements",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "H302 (100%): Harmful if swallowed [Warning Acute toxicity, oral]",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 35,
+                                                        "Length": 7,
+                                                        "Type": "Color",
+                                                        "Extra": "GHSWarning"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 14,
+                                    "Name": "Precautionary Statement Codes",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "P264, P270, P301+P317, P330, and P501"
+                                            },
+                                            {
+                                                "String": "(The corresponding statement to each P-code can be found at the GHS Classification page.)",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 64,
+                                                        "Length": 18,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/ghs/#_prec"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 14,
+                                    "Name": "ECHA C&L Notifications Summary",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Aggregated GHS information provided by 40 companies from 2 notifications to the ECHA C&L Inventory.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 0,
+                                                        "Length": 103,
+                                                        "Type": "Italics"
+                                                    }
+                                                ]
+                                            },
+                                            {
+                                                "String": "Information may vary between notifications depending on impurities, additives, and other factors. The percentage value in parenthesis indicates the notified classification ratio from companies that provide hazard codes. Only hazard codes with percentage values above 10% are shown.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 0,
+                                                        "Length": 281,
+                                                        "Type": "Italics"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Hazard Classes and Categories",
+                            "Description": "The Hazard Classes and Categories are aligned with GHS (Globally Harmonized System of Classification and Labelling of Chemicals) hazard statement codes. More info can be found at the PubChem GHS summary page. The percentage data in the parenthesis from ECHA indicates that the hazard classes and categories information are consolidated from multiple companies, see the detailed explanation from the above GHS classification section.",
+                            "URL": "https://pubchem.ncbi.nlm.nih.gov/ghs/",
+                            "DisplayControls":
+                            {
+                                "ShowAtMost": 2
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 14,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Acute Tox. 4 (100%)"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Skin, Eye, and Respiratory Irritations",
+                            "Description": "Symptoms of Skin, Eye, and Respiratory Irritations cause by chemical hazards",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "PMID:2253570",
+                                        "Obikili AG; East Afr Med J 67 (9): 614-21 (1990)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Eleven cases of macular degeneration occurring between the ages of 22 yr and 40 yr are presented. All the patients gave positive history of chloroquine intake and outdoor activity. In 4 of the 11 cases, pterygium was an associated ocular finding. The female to male ratio was 3 to 1. The macular lesions were bilateral and symmetrical in all the cases. It is postulated that the effect of chronic chloroquine ingestion exacerbated by chronic light toxicity might be responsible for this type of macular degeneration presenting in adults.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 140,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 397,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Accidental Release Measures",
+                    "Description": "Accidental release measures lists emergency procedures; protective equipment; proper methods of containment and cleanup.",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Disposal Methods",
+                            "Description": "Disposal Methods for this chemical",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "SRP: At the time of review, criteria for land treatment or burial (sanitary landfill) disposal practices are subject to significant revision. Prior to implementing land disposal of waste residue (including waste sludge), consult with environmental regulatory agencies for guidance on acceptable disposal practices."
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Regulatory Information",
+                    "Description": "Related Regulatory Information",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "FDA Requirements",
+                            "Description": "FDA Requirements for the chemical's safety and hard information",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "DHHS/FDA; Electronic Orange Book-Approved Drug Products with Therapeutic Equivalence  Evaluations. Available from, as of July 26, 2006: https://www.fda.gov/cder/ob/"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "The Approved Drug Products with Therapeutic Equivalence  Evaluations List identifies currently marketed prescription drug products, incl chloroquine phosphate, approved on the basis of safety and  effectiveness by FDA under sections 505 of the Federal Food, Drug, and Cosmetic Act. /Chloroquine phosphate/",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 137,
+                                                        "Length": 21,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine%20phosphate",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-64927"
+                                                    },
+                                                    {
+                                                        "Start": 283,
+                                                        "Length": 21,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20phosphate",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-64927"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Other Safety Information",
+                    "Description": "Other Safety Information includes the date of preparation or last revision",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Special Reports",
+                            "Description": "Special Reports for the given chemical",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Fitch CD; Ferriprotoporphyrin IX: role in chloroquine susceptibility and resistance in malaria.; Prog Clin Biol Res 313: 45-52 (1989). A review of all available evidence supports the hypothesis that ferriprotoporphyrin is the receptor for chloroquine and mediator of its antimalarial activity.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 10,
+                                                        "Length": 22,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Ferriprotoporphyrin%20IX",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "multiple-CIDs"
+                                                    },
+                                                    {
+                                                        "Start": 42,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 199,
+                                                        "Length": 19,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/ferriprotoporphyrin",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-455658"
+                                                    },
+                                                    {
+                                                        "Start": 239,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Ochsendorf FR, Runne U; Chloroquine and hydroxychloroquine: side effect profile of important therapeutic drugs; Hautarzt 42 (3): 140-6 (1991). Precise knowledge of the undesirable effects of chloroquine and hydroxychloroquine allows better exploitation of their therapeutic effects.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 24,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 40,
+                                                        "Length": 18,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/hydroxychloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3652"
+                                                    },
+                                                    {
+                                                        "Start": 191,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 207,
+                                                        "Length": 18,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/hydroxychloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3652"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Toxicity",
+            "Description": "Toxicity information related to this record, includes routes of exposure; related symptoms, acute and chronic effects; numerical measures of toxicity.",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Toxicological Information",
+                    "Description": "Toxicological Information",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Toxicity Summary",
+                            "Description": "Toxicity Summary",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 10,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Patients experiencing an overdose may present with headache, drowsiness, visual disturbances, nausea, vomiting, cardiovascular collapse, shock, convulsions, respiratory arrest, cardiac arrest, and hypokalemia. Overdose should be managed with symptomatic and supportive treatment which may include prompt emesis, gastric lavage, and activated charcoal.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 342,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/charcoal",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5462310"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "International Programme on Chemical Safety; Poisons Information Monograph: Chloroquine  (PIM 123) (1994) Available from, as of October 24, 2005: https://www.inchem.org/pages/pims.html"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "IDENTIFICATION: Chloroquine is a white or slightly yellow, odorless crystalline powder with a bitter taste.  Very slightly soluble in water, soluble in chloroform, ether and dilute acids. Chloroquine diphosphate is a white, bitter, crystalline powder. Chloroquine sulfate is a white, odorless, bitter, crystalline powder.  Hydroxychloride chloroquine is a colorless liquid. Uses: Indications: Malaria: Chloroquine is the drug of choice for the prophylaxis and treatment of malaria caused by Plasmodium vivax. P. ovale, P. malariae and sensitive P. falciparum. Amebiasis: Chloroquine is used for the treatment of extraintestinal amebiasis (usually in combination with amebicides). Treatment of discoid lupus erythematosis and rheumatoid arthritis (acute and chronic).  Chloroquine may be used for the treatment of these conditions. Other less common indications are: amebic liver abscess, porphyria cutanea tarda, solar urticaria, chronic cutaneous vasculitis. HUMAN EXPOSURE: Main risks and target organs: The main toxic effects of chloroquine are related to its quinidine-like (membrane stabilizing) actions on the heart.  Other acute effects are respiratory depression and severe gastro-intestinal irritation. Summary of clinical effects: Toxic manifestations appear rapidly within one to three hours after ingestion and include: Cardiac disturbances: circulatory arrest, shock, conduction disturbances, ventricular arrhythmias. Neurological symptoms: drowsiness, coma and sometimes convulsions.  Visual disturbances not uncommon. Respiratory symptoms: apnea. Gastrointestinal symptoms: severe gastrointestinal irritation; nausea, vomiting, cramps, diarrhea. Children are specially sensitive to toxic effects. Dizziness, nausea, vomiting, diarrhea, headache, drowsiness, blurred vision, diplopia, blindness, convulsions, coma, hypotension, cardiogenic shock, cardiac arrest and impaired respiration are the characteristic  features of chloroquine poisoning. Electrocardiography (ECG) may show decrease of T wave, widening of QRS, ventricular tachycardia and fibrillation. Hypokalemia is associated with severe poisoning. Contraindications: Hepatic and renal function impairment, blood disorders, gastrointestinal illnesses, glucose-6-phosphate dehydrogenase (G-6-PD) deficiency, severe neurological disorders, retinal or visual field changes. Chloroquine should not be used in association with gold salts or phenylbutazone. Routes of entry:  Oral: Oral absorption is the most frequent cause of intoxication. Parenteral: Intoxication after parenteral administration is rare.  A fatal outcome reported was after 250 mg IV chloroquine in a 42-year-old man. Absorption by route of exposure: Readily and almost completely absorbed from the gastrointestinal tract.  Bioavailability is 89% for tablets.  Peak plasma concentration is reached 1.5 to 3 hours after ingestion. Distribution by route of exposure: Protein binding: 5O to 65%. Chloroquine accumulates in high concentrations in kidney, liver, lung and spleen, and is strongly bound in melanin-containing cells (eye and skin).  Red cell concentration is five to ten times the plasma concentration.  Very low concentrations  are found in the intestinal wall.  Crosses the placenta. Biological half-life by route of exposure: Plasma terminal half-life is mean 278 hours or 70 to 120 hours.  Shorter plasma elimination half-lives have been reported in children: 75 to 136 hours. Metabolism: Chloroquine undergoes metabolism by hepatic mechanisms.  The main active metabolite is desethylchloroquine.  Plasma half-life of desethylchloroquine is similar to chloroquine. Elimination by route of exposure: Chloroquine is eliminated very slowly.  About 55% is excreted in urine and 19% in feces within 77 days following therapy with 310 mg for 14 days.  Kidney: in urine about 70% is unchanged chloroquine and 23% is desethylchloroquine. It is excreted in breast milk. Toxicodynamics: The cardiotoxicity of chloroquine is related to it quinidine-like (membrane/stabilizing) effects.  Chloroquine has a negative inotropic action, inhibits spontaneous diastolic depolarization, slows conduction, lengthens the effective refractory period and raises the electrical threshold.  This results in depression of contractility, impairment of conductivity, decrease of excitability, but with possible abnormal stimulus re-entry mechanism. Hypokalemia: Acute hypokalemia may occur in acute poisoning.  It is probably related to intracellular transport of potassium by a direct effect on cellular membrane permeability. Neurological symptoms:  Neurological symptoms in acute overdose may be related to a direct toxic effect on CNS or to cerebral ischemia due to circulatory failure or respiratory insufficiency. The mechanism of the anti-inflammatory effect is not known. Toxicity: Human data: Chloroquine has a low margin of safety; the therapeutic, toxic and lethal doses are very close. Fatalities have been reported in children after chloroquine overdoses. Interactions: Chloroquine toxicity may be increased by all drugs with  quinidine-like effects.  Combination with hepatotoxic or dermatitis-causing medication should be avoided, as well as with heparin (risk of hemorrhage) and penicillamine. Eye: Keratopathy and retinopathy may occur when large doses of chloroquine are used for long periods.  Changes occurring in the cornea are usually completely reversible on discontinuing treatment; changes in the retina, pigmentary degeneration of the retina, loss of vision, scotomas, optic nerve atrophy, field defects and blindness are irreversible.  Retinopathy is considered to occur when the total cumulative dose ingested exceeds 100 g.  Blurring of vision, diplopia may occur with short-term chloroquine therapy and are reversible. ANIMAL/PLANT STUDIES: The following progression of ECG changes was observed in dogs with experimental overdosage: severe tachycardia preceded by loss of voltage and widening of QRS, followed by sinus bradycardia, ventricular tachycardia, ventricular fibrillation and finally asystole.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 16,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 134,
+                                                        "Length": 5,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/water",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-962"
+                                                    },
+                                                    {
+                                                        "Start": 152,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroform",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6212"
+                                                    },
+                                                    {
+                                                        "Start": 188,
+                                                        "Length": 23,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20diphosphate",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-64927"
+                                                    },
+                                                    {
+                                                        "Start": 252,
+                                                        "Length": 19,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20sulfate",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-91441"
+                                                    },
+                                                    {
+                                                        "Start": 323,
+                                                        "Length": 15,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Hydroxychloride",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-24341"
+                                                    },
+                                                    {
+                                                        "Start": 339,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 402,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 571,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 768,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 1032,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 1063,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinidine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-441074"
+                                                    },
+                                                    {
+                                                        "Start": 1937,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 2226,
+                                                        "Length": 19,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/glucose-6-phosphate",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5958"
+                                                    },
+                                                    {
+                                                        "Start": 2312,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/retinal",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-638015"
+                                                    },
+                                                    {
+                                                        "Start": 2345,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 2396,
+                                                        "Length": 4,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/element/Gold",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "Element-Gold"
+                                                    },
+                                                    {
+                                                        "Start": 2410,
+                                                        "Length": 14,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/phenylbutazone",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4781"
+                                                    },
+                                                    {
+                                                        "Start": 2622,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 2931,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 3038,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/melanin",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6325610"
+                                                    },
+                                                    {
+                                                        "Start": 3440,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 3527,
+                                                        "Length": 19,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-95478"
+                                                    },
+                                                    {
+                                                        "Start": 3569,
+                                                        "Length": 19,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-95478"
+                                                    },
+                                                    {
+                                                        "Start": 3603,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 3650,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 3837,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 3860,
+                                                        "Length": 19,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-95478"
+                                                    },
+                                                    {
+                                                        "Start": 3950,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 3979,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinidine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-441074"
+                                                    },
+                                                    {
+                                                        "Start": 4027,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 4487,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/element/Potassium",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "Element-Potassium"
+                                                    },
+                                                    {
+                                                        "Start": 4825,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 4969,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 5006,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 5063,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinidine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-441074"
+                                                    },
+                                                    {
+                                                        "Start": 5185,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/heparin",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-772"
+                                                    },
+                                                    {
+                                                        "Start": 5218,
+                                                        "Length": 13,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/penicillamine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5852"
+                                                    },
+                                                    {
+                                                        "Start": 5296,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 5732,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Hepatotoxicity",
+                            "Description": "This section provides a short description about the hepatotoxicity that associated with the agent, the rate of serum enzyme elevations during use, and the frequency and character of the clinically apparent liver injury associated with the medication.",
+                            "URL": "https://www.ncbi.nlm.nih.gov/books/NBK547852/",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 22,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Despite use for more than 50 years, chloroquine has rarely been linked to serum aminotransferase elevations or to clinically apparent acute liver injury. In patients with acute porphyria and porphyria cutanea tarda, chloroquine can trigger an acute attack with fever and serum aminotransferase elevations, sometimes resulting in jaundice. Hydroxychloroquine does not cause this reaction and appears to have partial beneficial effects in porphyria. In clinical trials of chloroquine for COVID-19 prevention and treatment, there were no reports of hepatotoxicity, and rates of serum enzyme elevations during chloroquine treatment were low and similar to those in patients receiving placebo or standard of care.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 36,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 216,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 339,
+                                                        "Length": 18,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Hydroxychloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3652"
+                                                    },
+                                                    {
+                                                        "Start": 470,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 606,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            },
+                                            {
+                                                "String": "Likelihood score: D (possible rare cause of clinically apparent liver injury)."
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Drug Induced Liver Injury",
+                            "Description": "Severity grade was defined by the description of drug-induced liver injury severity in the drug labeling, ranging from 1 to 8 with 1 (steatosis) as lowest and 8 (fatal hepatotoxicity) as highest grade. More detail could be found in Chen et al. Drug Discovery Today 2016 (PMID:21624500 DOI:10.1016/j.drudis.2011.05.007).",
+                            "URL": "https://www.fda.gov/science-research/liver-toxicity-knowledge-base-ltkb/drug-induced-liver-injury-rank-dilirank-dataset",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                }
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 9,
+                                    "Name": "Compound",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "chloroquine"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 9,
+                                    "Name": "DILI Annotation",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Less-DILI-Concern"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 9,
+                                    "Name": "Severity Grade",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "3"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 9,
+                                    "Name": "Label Section",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Adverse reactions"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 9,
+                                    "Name": "References",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "M Chen, V Vijay, Q Shi, Z Liu, H Fang, W Tong. FDA-Approved Drug Labeling for the Study of Drug-Induced Liver Injury, Drug Discovery Today, 16(15-16):697-703, 2011. PMID:21624500 DOI:10.1016/j.drudis.2011.05.007",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 165,
+                                                        "Length": 13,
+                                                        "URL": "https://pubmed.ncbi.nlm.nih.gov/21624500/"
+                                                    },
+                                                    {
+                                                        "Start": 179,
+                                                        "Length": 32,
+                                                        "URL": "https://doi.org/10.1016/j.drudis.2011.05.007"
+                                                    }
+                                                ]
+                                            },
+                                            {
+                                                "String": "M Chen, A Suzuki, S Thakkar, K Yu, C Hu, W Tong. DILIrank: the largest reference drug list ranked by the risk for developing drug-induced liver injury in humans. Drug Discov Today 2016, 21(4): 648-653. PMID:26948801 DOI:10.1016/j.drudis.2016.02.015",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 202,
+                                                        "Length": 13,
+                                                        "URL": "https://pubmed.ncbi.nlm.nih.gov/26948801/"
+                                                    },
+                                                    {
+                                                        "Start": 216,
+                                                        "Length": 32,
+                                                        "URL": "https://doi.org/10.1016/j.drudis.2016.02.015"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Evidence for Carcinogenicity",
+                            "Description": "Evidence for substance or agent that can cause cancer",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "IARC. Monographs on the Evaluation of the Carcinogenic Risk  of Chemicals to Humans. Geneva: World Health Organization,  International Agency for Research on Cancer, 1972-PRESENT.  (Multivolume work). Available at: https://monographs.iarc.fr/ENG/Classification/index.php, p. S7 60 (1987)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "No data are available in humans. Inadequate evidence of carcinogenicity in animals. OVERALL EVALUATION: Group 3: The agent is not classifiable as to its carcinogenicity to humans."
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Carcinogen Classification",
+                            "Description": "This section provide the International Agency for Research on Cancer (IARC) Carcinogenic Classification and related monograph links.",
+                            "URL": "https://monographs.iarc.who.int/agents-classified-by-the-iarc/",
+                            "DisplayControls":
+                            {
+                                "CreateTable":
+                                {
+                                    "FromInformationIn": "ThisSection",
+                                    "NumberOfColumns": 2,
+                                    "ColumnContents":
+                                    [
+                                        "Name",
+                                        "Value"
+                                    ]
+                                }
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 21,
+                                    "Name": "IARC Carcinogenic Agent",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Chloroquine"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 21,
+                                    "Name": "IARC Carcinogenic Classes",
+                                    "Reference":
+                                    [
+                                        "https://monographs.iarc.who.int/agents-classified-by-the-iarc/"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Group 3: Not classifiable as to its carcinogenicity to humans"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 21,
+                                    "Name": "IARC Monographs",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Volume 13: (1977) Some Miscellaneous Pharmaceutical Substances",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 0,
+                                                        "Length": 9,
+                                                        "URL": "http://publications.iarc.fr/31"
+                                                    }
+                                                ]
+                                            },
+                                            {
+                                                "String": "Volume Sup 7: Overall Evaluations of Carcinogenicity: An Updating of IARC Monographs Volumes 1 to 42, 1987; 440 pages; ISBN 92-832-1411-0 (out of print)",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 0,
+                                                        "Length": 12,
+                                                        "URL": "http://publications.iarc.fr/139"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Acute Effects",
+                            "Description": "The results from acute animal tests and/or acute human studies are presented in this section. Acute animal studies consist of LD50 and LC50 tests, which present the median lethal dose (or concentration) to the animals. Acute human studies usually consist of case reports from accidental poisonings or industrial accidents. These case reports often help to define the levels at which acute toxic effects are seen in humans.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 5,
+                                    "Value":
+                                    {
+                                        "ExternalTableName": "chemidplus",
+                                        "ExternalTableNumRows": 19
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Interactions",
+                            "Description": "Interactions",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 838"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Concurrent use of penicillamine /with chloroquine/ may increase penicillamine plasma concentrations, increasing the potential for serious hematologic and/or renal adverse reactions as well as the possibility of severe skin reactions.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 18,
+                                                        "Length": 13,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/penicillamine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5852"
+                                                    },
+                                                    {
+                                                        "Start": 38,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 64,
+                                                        "Length": 13,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/penicillamine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5852"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 838"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Concurrent use /of mefloquine and chloroquine may increase the risk of seizures.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 19,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/mefloquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4046"
+                                                    },
+                                                    {
+                                                        "Start": 34,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 838"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Concurrent use of other hepatotoxic medications with chloroquine may increase the potential for hepatotoxicity and should be avoided.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 53,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Thomson.Micromedex. Drug Information for the  Health Care  Professional. 25th ed. Volume 1.  Plus Updates. Content  Reviewed by the United States Pharmacopeial Convention, Inc.  Greenwood Village, CO. 2005., p. 838"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Concurrent use may cause a sudden increase in cyclosporine plasma concentrations; close monitoring of serum cyclosporine level is recommended following concurrent use of chloroquine; chloroquine should be discontinued if necessary.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 46,
+                                                        "Length": 12,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/cyclosporine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5280754"
+                                                    },
+                                                    {
+                                                        "Start": 108,
+                                                        "Length": 12,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/cyclosporine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5280754"
+                                                    },
+                                                    {
+                                                        "Start": 170,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 183,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "For more Interactions (Complete) data for CHLOROQUINE (16 total), please visit the HSDB record page.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 83,
+                                                        "Length": 16,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Interactions-(Complete)"
+                                                    },
+                                                    {
+                                                        "Start": 42,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Antidote and Emergency Treatment",
+                            "Description": "Antidote and Emergency Treatment",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 859"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Treatment of overdosage of 4-aminoquinoline derivatives must be prompt, since acute toxicity with the drugs can progress rapidly, possibly leading to cardiovascular collapse and respiratory and cardiac arrest. ECG should be monitored. Because of the importance of supporting respiration, early endotracheal intubation and mechanical ventilation may be necessary. Early gastric lavage may provide some benefit in reducing absorption of the drugs, but generally should be preceded by measures to correct severe cardiovascular disturbances, if present, and by respiratory support that includes endotracheal intubation with cuff inflated and in place to prevent aspiration (since seizures may occur). IV diazepam may control seizures and other manifestations of cerebral stimulation and, possibly, may prevent or minimize other toxic effects (eg, cardiotoxicity, including ECG abnormalities and conduction disturbances) of 4-aminoquinoline derivatives. However, additional study and experience are necessary to further establish the effects of diazepam on noncerebral manifestations of toxicity with these drugs. If seizures are caused by anoxia, anoxia should be corrected with oxygen and respiratory support. Equipment and facilities for cardioversion and for insertion of a transvenous pacemaker should be readily available. Administration of IV fluids and placement of the patient in Trendelenburg's position may be useful in managing hypotension, but more aggressive therapy, including administration of vasopressors (eg, epinephrine, isoproterenol, dopamine), may be necessary, particularly if shock appears to be impending. Administration of activated charcoal by stomach tube, after lavage and within 30 min after ingestion of 4-aminoquinoline derivatives, may inhibit further intestinal absorption of the drugs; the dose of activated charcoal should be at least 5 times the estimated dose of chloroquine... ingested. Peritoneal dialysis, hemodialysis, and hemoperfusion do not appear to be useful in the management of overdosage with 4-aminoquinoline derivatives. Patients who survive the acute phase of overdosage and are asymptomatic should be closely observed for at least 48-96 hr after ingestion",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 27,
+                                                        "Length": 16,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/4-aminoquinoline",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-68476"
+                                                    },
+                                                    {
+                                                        "Start": 700,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 919,
+                                                        "Length": 16,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/4-aminoquinoline",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-68476"
+                                                    },
+                                                    {
+                                                        "Start": 1040,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 1175,
+                                                        "Length": 6,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/element/Oxygen",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "Element-Oxygen"
+                                                    },
+                                                    {
+                                                        "Start": 1523,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/epinephrine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5816"
+                                                    },
+                                                    {
+                                                        "Start": 1536,
+                                                        "Length": 13,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/isoproterenol",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3779"
+                                                    },
+                                                    {
+                                                        "Start": 1551,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/dopamine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-681"
+                                                    },
+                                                    {
+                                                        "Start": 1655,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/charcoal",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5462310"
+                                                    },
+                                                    {
+                                                        "Start": 1731,
+                                                        "Length": 16,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/4-aminoquinoline",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-68476"
+                                                    },
+                                                    {
+                                                        "Start": 1839,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/charcoal",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5462310"
+                                                    },
+                                                    {
+                                                        "Start": 1897,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 2039,
+                                                        "Length": 16,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/4-aminoquinoline",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-68476"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "PMID:1503290",
+                                        "Demaziere J et al; Ann Fr Anesth Reanim 11 (2): 164-7 (1992)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "A retrospective study was carried out, over a twelve year period, of all cases of acute chloroquine poisoning where more than 2 g of chloroquine had been taken. It included 386 patients; of these, 60 who had taken drugs other than chloroquine, and 17 who had ingested less than 1 g of the drug, were excluded. The remaining 309 patients were allocated to two groups: a control group, consisting of the patients admitted between January 1973 and April 1980 (n = 146), and a diazepam group, made up of those admitted from May 1980 to December 1989 (n = 163). The patients in the latter group had had the same symptomatic treatment as those in the control group, and had been routinely given a 0.5 mg/kg bolus of diazepam on admission followed by 0.1 mg/kg/day for every 100 mg of chloroquine supposed to have been ingested. Both groups were divided into three subgroups, those patients with cardiorespiratory arrest, and those with, and those without, symptoms on admission. No statistically significant difference was found between either the control and diazepam groups or between subgroups, concerning the distribution of age, sex, amount of chloroquine supposed to have been ingested, delay in hospital admission and death rate. However, there was a higher death rate in the asymptomatic subgroup not treated with diazepam than in the diazepam group. Therefore, the routine use of diazepam for the treatment of acute chloroquine poisoning does not seem to be justified in symptomatic cases and in those with inaugural cardiac arrest.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 88,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 133,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 231,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 473,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 710,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 778,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 1054,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 1143,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 1316,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 1337,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 1383,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 1419,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "PMID:1503289",
+                                        "Kempf J, Saissy JM; Ann Fr Anesth Reanim 11 (2): 160-3 (1992)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "The effects of diazepam and the incidence of hypoxemia on the course of acute chloroquine poisoning were studied prospectively in 21 patients. Patients excluded were those who had ingested more than one drug or who had major symptoms on admission (systolic blood pressure less than 80 mmHg; QRS greater than 0.12 s; cardiac dysrhythmias, respiratory disturbances). Arterial blood gases were measured on admission (T0) and 15 min after 0.5 mg/kg of diazepam had been given (T1). Gastric lavage was carried out as soon as the results of the blood gases had been obtained, and after treatment of hypoxemia (PaO2 < 90 mmHg). An infusion of diazepam (1 mg/kg/day) was then given. Arterial blood gases were measured after 1 (T2), 6 (T3), 12 (T4) and 24 hr (T5). Hypoxemia was present on admission in four patients who had a PaO2 = 75 + or - 10 mmHg (Pa(sys) = 130 + or - 19 mmHg; blood chloroquine concn = 8.2 + or - 5.2 umol/L; kaliemia /serum potassium/ = 3.1 + or - 0.3 mmol/L; PaCO2 = 35 + or - 1 mmHg). In two patients, hypoxemia decreased after the initial dose of diazepam (T1); however, oxygen was still required by the other two at that time. Oxygen was no longer needed by any patient at T2, as all the blood gas values had returned to normal.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 15,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    },
+                                                    {
+                                                        "Start": 78,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 448,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/diazepam",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3016"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Olson, K.R. (Ed.); Poisoning & Drug Overdose. 4th ed. Lange    Medical Books/McGraw-Hill. New York, N.Y. 2004., p. 166"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Emergency and supportive measures: Maintain an open airway and assist ventilation if necessary. Treat seizures, coma, hypotension, and methemoglobinemia if they occur. Treat massive hemolysis with blood transfusions if needed, and prevent hemoglobin deposition in the kidney tubules by alkaline diuresis ... continuously monitor the ECG for at least 6 to 8 hr."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "For more Antidote and Emergency Treatment (Complete) data for CHLOROQUINE (8 total), please visit the HSDB record page.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 102,
+                                                        "Length": 16,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Antidote-and-Emergency-Treatment-(Complete)"
+                                                    },
+                                                    {
+                                                        "Start": 62,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Human Toxicity Excerpts",
+                            "Description": "Human Toxicity Excerpts",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "PMID:2051527",
+                                        "elZaki K et al; J Trop Med Hyg 94 (3): 206-9 (1991)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "/HUMAN EXPOSURE STUDIES/ This prospective study contains clinical and experimental parts. In the clinical study, 125 patients given im chloroquine for malaria were followed for 2 months in order to detect local injection site complications. Adequate local antiseptic conditions were ensured before giving the injection. Twenty three patients (18.4%) had minimal local reaction in the form of redness, induration and/or a lump. No pyogenic abscess was noted in contrast to a previous report.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 135,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Olson, K.R. (Ed.); Poisoning & Drug Overdose. 4th ed. Lange    Medical Books/McGraw-Hill. New York, N.Y. 2004., p. 166"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "/HUMAN EXPOSURE STUDIES/ Cardiotoxicity may be seen with serum levels of 1 mg/L (1000 ng/mL); serum levels reported in fetal cases have ranged from 1 to 210 mg/L (average, 60 mg/L)."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "PMID:3306266",
+                                        "Jaeger A et al; Med Toxicol Adverse Drug Exp 2 (4): 242-73 (1987)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "/SIGNS AND SYMPTOMS/ The toxicities of antimalarial drugs vary because of the differences in the chemical structures of these compounds. Quinine, the oldest antimalarial, has been used for 300 yr. Of the 200 to 300 compounds synthesized since the first synthetic antimalarial, primaquine in 1926, 15 to 20 are currently used for malaria treatment, most of which are quinoline derivatives. Quinoline derivatives, particularly quinine and chloroquine, are highly toxic in overdose. The toxic effects are related to their quinidine-like actions on the heart and include circulatory arrest, cardiogenic shock, conduction disturbances and ventricular arrhythmias. Additional clinical features are obnubilation, coma, convulsions, respiratory depression. Blindness is a frequent complication in quinine overdose. Hypokalaemia is consistently present, although apparently self-correcting, in severe chloroquine poisoning and is a good index of severity. Recent toxicokinetic studies of quinine and chloroquine showed good correlations between dose ingested, serum concn and clinical features, and confirmed the inefficacy of hemodialysis, hemoperfusion and peritoneal dialysis for enhancing drug removal. The other quinoline derivatives appear to be less toxic. Amodiaquine may induce side effects such as gastrointestinal symptoms, agranulocytosis and hepatitis. The main feature of primaquine overdose is methemoglobinemia. No cases of mefloquine and piperaquine overdose have been reported. Overdose with quinacrine, an acridine derivative, may result in nausea, vomiting, confusion, convulsion and acute psychosis. The dehydrofolate reductase inhibitors used in malaria treatment are sulfadoxine, dapsone, proguanil (chloroguanide), trimethoprim and pyrimethamine. Most of these drugs are given in combination. Proguanil is one of the safest antimalarials. Convulsion, coma and blindness have been reported in pyrimethamine overdose. Sulfadoxine can induce Lyell and Stevens-Johnson syndromes. The main feature of dapsone poisoning is severe methemoglobinemia which is related to dapsone and to its metabolites. Recent toxicokinetic studies confirmed the efficacy of oral activated charcoal, hemodialysis and hemoperfusion in enhancing removal of dapsone and its metabolites. No overdose has been reported with artemesinine, a new antimalarial tested in the People's Republic of China. The general management of antimalarial overdose include gastric lavage and symptomatic treatment.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 137,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Quinine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3034034"
+                                                    },
+                                                    {
+                                                        "Start": 277,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/primaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4908"
+                                                    },
+                                                    {
+                                                        "Start": 366,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinoline",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-7047"
+                                                    },
+                                                    {
+                                                        "Start": 389,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Quinoline",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-7047"
+                                                    },
+                                                    {
+                                                        "Start": 425,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3034034"
+                                                    },
+                                                    {
+                                                        "Start": 437,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 519,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinidine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-441074"
+                                                    },
+                                                    {
+                                                        "Start": 789,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3034034"
+                                                    },
+                                                    {
+                                                        "Start": 892,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 979,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-3034034"
+                                                    },
+                                                    {
+                                                        "Start": 991,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 1208,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinoline",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-7047"
+                                                    },
+                                                    {
+                                                        "Start": 1255,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Amodiaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2165"
+                                                    },
+                                                    {
+                                                        "Start": 1377,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/primaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4908"
+                                                    },
+                                                    {
+                                                        "Start": 1431,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/mefloquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4046"
+                                                    },
+                                                    {
+                                                        "Start": 1446,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/piperaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-122262"
+                                                    },
+                                                    {
+                                                        "Start": 1501,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/quinacrine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-237"
+                                                    },
+                                                    {
+                                                        "Start": 1516,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/acridine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-9215"
+                                                    },
+                                                    {
+                                                        "Start": 1681,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/sulfadoxine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-17134"
+                                                    },
+                                                    {
+                                                        "Start": 1694,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/dapsone",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2955"
+                                                    },
+                                                    {
+                                                        "Start": 1703,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/proguanil",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6178111"
+                                                    },
+                                                    {
+                                                        "Start": 1714,
+                                                        "Length": 13,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroguanide",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6178111"
+                                                    },
+                                                    {
+                                                        "Start": 1730,
+                                                        "Length": 12,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/trimethoprim",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5578"
+                                                    },
+                                                    {
+                                                        "Start": 1747,
+                                                        "Length": 13,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/pyrimethamine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4993"
+                                                    },
+                                                    {
+                                                        "Start": 1808,
+                                                        "Length": 9,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Proguanil",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-6178111"
+                                                    },
+                                                    {
+                                                        "Start": 1907,
+                                                        "Length": 13,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/pyrimethamine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4993"
+                                                    },
+                                                    {
+                                                        "Start": 1931,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Sulfadoxine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-17134"
+                                                    },
+                                                    {
+                                                        "Start": 2011,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/dapsone",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2955"
+                                                    },
+                                                    {
+                                                        "Start": 2077,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/dapsone",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2955"
+                                                    },
+                                                    {
+                                                        "Start": 2179,
+                                                        "Length": 8,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/charcoal",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-5462310"
+                                                    },
+                                                    {
+                                                        "Start": 2244,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/dapsone",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2955"
+                                                    },
+                                                    {
+                                                        "Start": 2308,
+                                                        "Length": 12,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/artemisinine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-9838675"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Haddad, L.M., Clinical Management of Poisoning and Drug Overdose. 2nd ed. Philadelphia, PA: W.B. Saunders Co., 1990., p. 381"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "/SIGNS AND SYMPTOMS/ In the treatment of collagen vascular diseases ... retinopathy has become recognized as a significant potential problem. ... The earliest ophthalmoscopic sign of ... retinopathy is loss of the foveal reflex. This is followed by pigmentary changes in the macula, typically progressing to a pigmented ring surrounding the fovea (\"bull's eye lesion\") and sometimes accompanied by pigment flecks in the midperiphery. ... The most common complaint is difficulty in reading, which with further questioning can be usually related to paracentral scotomas. Light flashes and streaks and other entopic phenomena may also be present."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "For more Human Toxicity Excerpts (Complete) data for CHLOROQUINE (27 total), please visit the HSDB record page.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 94,
+                                                        "Length": 16,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Human-Toxicity-Excerpts-(Complete)"
+                                                    },
+                                                    {
+                                                        "Start": 53,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Non-Human Toxicity Excerpts",
+                            "Description": "Non-Human Toxicity Excerpts",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "PMID:8411306",
+                                        "Musabayane CT et al; J Trop Med Hyg 96 (5): 305-10 (1993)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "/LABORATORY ANIMALS: Acute Exposure/ The effect of a 2 hr iv chloroquine infusion (0.015, 0.030 and 1.25 ug/min) on renal fluid and electrolyte handling was investigated in the saline infused, Inactin anaesthetized rat. Blood pressure and glomerular filtration rate were not affected by chloroquine administration, remaining around 128 mmHg and 2.4 mL/min, respectively throughout the 5 hr post-equilibration period. Chloroquine produced an increase in Na+ and Cl- excretion without affecting the urine flow. By 1 hr after the start of treatment (0.03 ug chloroquine/min) the Na+ excretion rate had increased to 14.5 + or - 2.1 umol/min (n = 6), and was significantly (P < 0.01) greater than in control animals (8.6 + or - 1.0 umol/min) at the corresponding time. Parallel but lesser increases in Cl- excretion rates were also observed. The plasma aldosterone and corticosterone levels following either 10, 30 or 120 min infusion of chloroquine at 0.03 ug/min did not differ statistically from each other or from control values. It is concluded that acute chloroquine administration induces an increase in Na+ excretion. The mechanism of this natriuresis cannot be established from the present study, but is likely to involve altered tubular handling of Na+.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 61,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 193,
+                                                        "Length": 7,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Inactin",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-15086288"
+                                                    },
+                                                    {
+                                                        "Start": 287,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 417,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 555,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "IARC. Monographs on the Evaluation of the Carcinogenic Risk  of Chemicals to Humans. Geneva: World Health Organization,  International Agency for Research on Cancer, 1972-PRESENT.  (Multivolume work). Available at: https://monographs.iarc.fr/ENG/Classification/index.php, p. V13 51 (1976)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "/LABORATORY ANIMALS: Chronic Exposure or Carcinogenicity/ Groups of 10 male and 10 female 21-day-old Osborne-Mendel rats were given 0 (control), 100, 200, 400, 800 or 1000 mg/kg of diet chloroquine for up to 2 years. Inhibition of growth was severe at the 800 and 1000 mg/kg levels but temporary at 400 mg/kg. The toxicity of chloroquine became progressively more severe with increasing dosage, and 100% mortality was observed at the two highest dose levels at 35 and 25 weeks, respectively. No tumours were reported in 86 treated rats or in 15 control rats examined microscopically",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 186,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 326,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "IARC. Monographs on the Evaluation of the Carcinogenic Risk  of Chemicals to Humans. Geneva: World Health Organization,  International Agency for Research on Cancer, 1972-PRESENT.  (Multivolume work). Available at: https://monographs.iarc.fr/ENG/Classification/index.php, p. V13 51 (1976)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "/LABORATORY ANIMALS: Chronic Exposure or Carcinogenicity/ In two year ... study in rats fed diets containing from 100-1000 mg ... /kg of diet/ ... myocardial and voluntary muscle damage, centrilobular necrosis of liver and testicular atrophy were ... observed."
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "PMID:1437656",
+                                        "el-Mofty MM et al; Nutr Cancer 18 (2): 191-8 (1992)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "/LABORATORY ANIMALS: Chronic Exposure or Carcinogenicity/ Feeding Egyptian toads (Bufo regularis) with chloroquine and primaquine separately induced tumor formation in 14% and 19% of the animals, respectively. When chloroquine and primaquine were given in combination, the tumor incidence increased to 23.5%. Chloroquine feeding resulted in tumors located in the liver (lymphosarcomas) and primaquine in tumors in the kidney (histiocytic sarcomas). Toads fed chloroquine plus primaquine developed tumors in the liver, kidney, lung, and urinary bladder, and all the tumors were diagnosed as histiocytic sarcomas. It is speculated that one or more metabolites of chloroquine and primaquine (eg, quinone) may be responsible for tumor induction in the toads.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 103,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 119,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/primaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4908"
+                                                    },
+                                                    {
+                                                        "Start": 215,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 231,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/primaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4908"
+                                                    },
+                                                    {
+                                                        "Start": 309,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 390,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/primaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4908"
+                                                    },
+                                                    {
+                                                        "Start": 459,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 476,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/primaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4908"
+                                                    },
+                                                    {
+                                                        "Start": 661,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 677,
+                                                        "Length": 10,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/primaquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-4908"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "For more Non-Human Toxicity Excerpts (Complete) data for CHLOROQUINE (11 total), please visit the HSDB record page.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 98,
+                                                        "Length": 16,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029#section=Non-Human-Toxicity-Excerpts-(Complete)"
+                                                    },
+                                                    {
+                                                        "Start": 57,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Human Toxicity Values",
+                            "Description": "Human Toxicity Values",
+                            "DisplayControls":
+                            {
+                                "ShowAtMost": 5
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 859"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "... Reports of suicides have indicated that the margin of safety in adults is also small. Without prompt effective therapy, acute ingestion of 5 g or more of chloroquine in adults has usually been fatal, although death has occurred with smaller doses. Fatalities have been reported following the accidental ingestion of relatively small doses of chloroquine (e.g., 750 mg or 1 g of chloroquine phosphate in a 3-year-old child).",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 158,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 346,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 382,
+                                                        "Length": 21,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine%20phosphate",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-64927"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Non-Human Toxicity Values",
+                            "Description": "Non-Human Toxicity Values",
+                            "DisplayControls":
+                            {
+                                "ShowAtMost": 5
+                            },
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Verschueren, K. Handbook of Environmental Data on Organic Chemicals. Volumes 1-2. 4th ed. John Wiley & Sons. New York, NY. 2001, p. 551"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LD50 Rat oral 330 mg/kg"
+                                            }
+                                        ]
+                                    }
+                                },
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Verschueren, K. Handbook of Environmental Data on Organic Chemicals. Volumes 1-2. 4th ed. John Wiley & Sons. New York, NY. 2001, p. 551"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "LD50 Mouse oral 311 mg/kg"
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Protein Binding",
+                            "Description": "Protein Binding",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 10,
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "Chloroquine is 46-74% bound to plasma proteins. (-)-chloroquine binds more strongly to alpha-1-acid glycoprotein and (+)-chloroquine binds more strongly to serum albumin.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 0,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 48,
+                                                        "Length": 15,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/%28-%29-chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-444810"
+                                                    },
+                                                    {
+                                                        "Start": 117,
+                                                        "Length": 15,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/%28%2B%29-chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-639540"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Ecological Information",
+                    "Description": "This section provides eco-related toxicity information.",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "Environmental Water Concentrations",
+                            "Description": "Environmental Water Concentrations",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "(1) Heberer T; Tox Lett 131: 5-17 (2002) (2) Koplin DW et al; Environ Sci Toxicol 36: 1202-211 (2002)"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "While data specific to chloroquine were not available(SRC, 2005), the literature suggests that some pharmaceutically active compounds originating from human and veterinary therapy are not eliminated completely in municipal sewage treatment plants and are therefore discharged into receiving waters(1). Wastewater treatment processes often were not designed to remove them from the effluent(2). Another concern is that selected organic waste compounds may be degrading to new and more persistent compounds that may be released instead of or in addition to the parent compound(2). Studies have indicated that several polar pharmaceutically active compounds can leach through subsoils(1).",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 23,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Milk Concentrations",
+                            "Description": "Milk Concentrations",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "McEvoy, G.K. (ed.). American Hospital Formulary Service.   AHFS Drug Information. American Society of Health-System   Pharmacists, Bethesda, MD. 2006., p. 860"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "EXPERIMENTAL: Small amounts of chloroquine and its major metabolite, desethylchloroquine, are distributed into milk. Following oral administration of a single 300 or 600 mg dose of chloroquine, peak concentration of the drug in milk range from 1.7-7.5 ug/mL and generally are greater than concurrent plasma concentrations.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 31,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    },
+                                                    {
+                                                        "Start": 69,
+                                                        "Length": 19,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-95478"
+                                                    },
+                                                    {
+                                                        "Start": 181,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "Probable Routes of Human Exposure",
+                            "Description": "Probable Routes of Human Exposure",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 18,
+                                    "Description": "PEER REVIEWED",
+                                    "Reference":
+                                    [
+                                        "Grant, W.M. Toxicology of the Eye. 3rd ed. Springfield, IL: Charles C. Thomas Publisher, 1986., p. 216"
+                                    ],
+                                    "Value":
+                                    {
+                                        "StringWithMarkup":
+                                        [
+                                            {
+                                                "String": "CORNEAL DEPOSITS HAVE ... BEEN DESCRIBED AS INDUSTRIAL COMPLICATION IN WORKERS MFR CHLOROQUINE ... . APPARENTLY DEPOSITS ARE SAME AS THOSE PRODUCED BY ORAL ADMIN. ... INDUSTRIALLY MATERIAL MAY HAVE REACHED CORNEA DIRECTLY IN FORM OF DUST, BUT THIS HAS NOT BEEN ESTABLISHED.",
+                                                "Markup":
+                                                [
+                                                    {
+                                                        "Start": 83,
+                                                        "Length": 11,
+                                                        "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/CHLOROQUINE",
+                                                        "Type": "PubChem Internal Link",
+                                                        "Extra": "CID-2719"
+                                                    }
+                                                ]
+                                            }
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Associated Disorders and Diseases",
+            "Description": "Disease information available for this compound",
+            "DisplayControls":
+            {
+                "CreateTable":
+                {
+                    "FromInformationIn": "Subsections",
+                    "NumberOfColumns": 2,
+                    "ColumnHeadings":
+                    [
+                        "Disease",
+                        "References"
+                    ],
+                    "ColumnContents":
+                    [
+                        "Name",
+                        "Value"
+                    ]
+                }
+            },
+            "Information":
+            [
+                {
+                    "ReferenceNumber": 7,
+                    "Value":
+                    {
+                        "ExternalTableName": "ctd_chemical_disease"
+                    }
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Literature",
+            "Description": "Literature citation references mainly refers to regular publications such as journal articles, etc.",
+            "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/literature",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Coronavirus Studies",
+                    "Description": "Literature references aggregated from multiple sources including PubMed and ClinicalTrials.gov. For additional clinical studies, see clinical trials section.",
+                    "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/covid-19",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 55,
+                            "Value":
+                            {
+                                "ExternalTableName": "literature_coronavirus",
+                                "ExternalTableNumRows": 1152
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "NLM Curated PubMed Citations",
+                    "Description": "The \"NLM Curated PubMed Citations\" section links to all PubMed records that are tagged with the same MeSH term that has been associated with a particular compound.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?LinkName=pccompound_pubmed_mesh&db=pccompound&cmd=Link&from_uid=2719",
+                            "Value":
+                            {
+                                "Boolean":
+                                [
+                                    true
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Springer Nature References",
+                    "Description": "Literature references related to scientific contents from Springer Nature journals and books. These references have been ranked automatically by an algorithm which calculates the relevance for each substance in a Springer Nature document. It is based on: 1. the TF-IDF, adapted to chemical structures, 2. location information in the text (e.g. title, abstract, keywords), and 3. the document size.  Springer Nature aims to provide only high qualitative and relevant content but references of lower relevance aren't withheld as they might contain also very useful information",
+                    "URL": "https://group.springernature.com/gp/group/aboutus",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 60,
+                            "Name": "Springer Nature References",
+                            "Value":
+                            {
+                                "ExternalTableName": "springernature"
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 61,
+                            "Name": "Springer Nature References",
+                            "Value":
+                            {
+                                "ExternalTableName": "springernature"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Thieme References",
+                    "Description": "Literature references related to scientific contents from Thieme Chemistry journals and books. The Thieme Chemistry content within this section is provided under a CC-BY-NC-ND 4.0 license (https://creativecommons.org/licenses/by-nc-nd/4.0/), unless otherwise stated.",
+                    "URL": "https://www.thieme.de/en/thieme-chemistry/home-51399.htm",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 62,
+                            "Name": "Thieme References",
+                            "Value":
+                            {
+                                "ExternalTableName": "ThiemeChemistry"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Wiley References",
+                    "Description": "Literature references related to scientific contents from Wiley journals and books.",
+                    "URL": "https://onlinelibrary.wiley.com/",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 67,
+                            "Value":
+                            {
+                                "ExternalTableName": "wiley"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Depositor Provided PubMed Citations",
+                    "Description": "This section displays a concatenated list of all PubMed records that have been cited by the depositors of all PubChem Substance records that contain the same chemical structure as the compound.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Depositor Provided PubMed Citations",
+                            "URL": "https://www.ncbi.nlm.nih.gov/sites/entrez?LinkName=pccompound_pubmed&db=pccompound&cmd=Link&from_uid=2719",
+                            "Value":
+                            {
+                                "ExternalTableName": "collection=pubmed&pmidsrcs=xref",
+                                "ExternalTableNumRows": 580
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Synthesis References",
+                    "Description": "References that are related to the preparation and synthesis reaction.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Andersag, H., Breitner, S.and Jung, H.; U S . Patent 2,233,970; March 4,1941; assigned to Winthrop Chemical Company, Inc."
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "General References",
+                    "Description": "General References",
+                    "DisplayControls":
+                    {
+                        "ListType": "Numbered"
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Li C, Zhu X, Ji X, Quanquin N, Deng YQ, Tian M, Aliyari R, Zuo X, Yuan L, Afridi SK, Li XF, Jung JU, Nielsen-Saines K, Qin FX, Qin CF, Xu Z, Cheng G: Chloroquine, a FDA-approved Drug, Prevents Zika Virus Infection and its Associated Congenital Microcephaly in Mice. EBioMedicine. 2017 Oct;24:189-194. doi: 10.1016/j.ebiom.2017.09.034. Epub 2017 Sep 28. [PMID:29033372]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 354,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/29033372"
+                                            },
+                                            {
+                                                "Start": 150,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Shiryaev SA, Mesci P, Pinto A, Fernandes I, Sheets N, Shresta S, Farhy C, Huang CT, Strongin AY, Muotri AR, Terskikh AV: Repurposing of the anti-malaria drug chloroquine for Zika Virus treatment and prophylaxis. Sci Rep. 2017 Nov 17;7(1):15771. doi: 10.1038/s41598-017-15467-6. [PMID:29150641]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 279,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/29150641"
+                                            },
+                                            {
+                                                "Start": 158,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Gao J, Tian Z, Yang X: Breakthrough: Chloroquine phosphate has shown apparent efficacy in treatment of COVID-19 associated pneumonia in clinical studies. Biosci Trends. 2020 Feb 19. doi: 10.5582/bst.2020.01047. [PMID:32074550]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 212,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/32074550"
+                                            },
+                                            {
+                                                "Start": 37,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Authors unspecified: Chloroquine . [PMID:31643549]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 36,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/31643549"
+                                            },
+                                            {
+                                                "Start": 21,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Kim KA, Park JY, Lee JS, Lim S: Cytochrome P450 2C8 and CYP3A4/5 are involved in chloroquine metabolism in human liver microsomes. Arch Pharm Res. 2003 Aug;26(8):631-7. [PMID:12967198]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 170,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/12967198"
+                                            },
+                                            {
+                                                "Start": 81,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Kaewkhao K, Chotivanich K, Winterberg M, Day NP, Tarning J, Blessborn D: High sensitivity methods to quantify chloroquine and its metabolite in human blood samples using LC-MS/MS. Bioanalysis. 2019 Mar;11(5):333-347. doi: 10.4155/bio-2018-0202. Epub 2019 Mar 15. [PMID:30873854]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 264,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/30873854"
+                                            },
+                                            {
+                                                "Start": 110,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Projean D, Baune B, Farinotti R, Flinois JP, Beaune P, Taburet AM, Ducharme J: In vitro metabolism of chloroquine: identification of CYP2C8, CYP3A4, and CYP2D6 as the main isoforms catalyzing N-desethylchloroquine formation. Drug Metab Dispos. 2003 Jun;31(6):748-54. [PMID:12756207]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 268,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/12756207"
+                                            },
+                                            {
+                                                "Start": 102,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 194,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-95478"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Ofori-Adjei D, Ericsson O, Lindstrom B, Sjoqvist F: Protein binding of chloroquine enantiomers and desethylchloroquine. Br J Clin Pharmacol. 1986 Sep;22(3):356-8. doi: 10.1111/j.1365-2125.1986.tb02900.x. [PMID:3768249]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 205,
+                                                "Length": 12,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/3768249"
+                                            },
+                                            {
+                                                "Start": 71,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 99,
+                                                "Length": 19,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/desethylchloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-95478"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Walker O, Birkett DJ, Alvan G, Gustafsson LL, Sjoqvist F: Characterization of chloroquine plasma protein binding in man. Br J Clin Pharmacol. 1983 Mar;15(3):375-7. doi: 10.1111/j.1365-2125.1983.tb01513.x. [PMID:6849768]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 206,
+                                                "Length": 12,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/6849768"
+                                            },
+                                            {
+                                                "Start": 78,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Ducharme J, Farinotti R: Clinical pharmacokinetics and metabolism of chloroquine. Focus on recent advancements. Clin Pharmacokinet. 1996 Oct;31(4):257-74. doi: 10.2165/00003088-199631040-00003. [PMID:8896943]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 195,
+                                                "Length": 12,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/8896943"
+                                            },
+                                            {
+                                                "Start": 69,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Coronado LM, Nadovich CT, Spadafora C: Malarial hemozoin: from target to tool. Biochim Biophys Acta. 2014 Jun;1840(6):2032-41. doi: 10.1016/j.bbagen.2014.02.009. Epub 2014 Feb 17. [PMID:24556123]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 181,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/24556123"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Colson P, Rolain JM, Raoult D: Chloroquine for the 2019 novel coronavirus SARS-CoV-2. Int J Antimicrob Agents. 2020 Feb 15:105923. doi: 10.1016/j.ijantimicag.2020.105923. [PMID:32070753]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 172,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/32070753"
+                                            },
+                                            {
+                                                "Start": 31,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Wang M, Cao R, Zhang L, Yang X, Liu J, Xu M, Shi Z, Hu Z, Zhong W, Xiao G: Remdesivir and chloroquine effectively inhibit the recently emerged novel coronavirus (2019-nCoV) in vitro. Cell Res. 2020 Mar;30(3):269-271. doi: 10.1038/s41422-020-0282-0. Epub 2020 Feb 4. [PMID:32020029]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 267,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/32020029"
+                                            },
+                                            {
+                                                "Start": 75,
+                                                "Length": 10,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Remdesivir",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-121304016"
+                                            },
+                                            {
+                                                "Start": 90,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Vincent MJ, Bergeron E, Benjannet S, Erickson BR, Rollin PE, Ksiazek TG, Seidah NG, Nichol ST: Chloroquine is a potent inhibitor of SARS coronavirus infection and spread. Virol J. 2005 Aug 22;2:69. doi: 10.1186/1743-422X-2-69. [PMID:16115318]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 228,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/16115318"
+                                            },
+                                            {
+                                                "Start": 95,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Chou AC, Fitch CD: Heme polymerase: modulation by chloroquine treatment of a rodent malaria. Life Sci. 1992;51(26):2073-8. doi: 10.1016/0024-3205(92)90158-l. [PMID:1474861]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 159,
+                                                "Length": 12,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/1474861"
+                                            },
+                                            {
+                                                "Start": 50,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Slater AF, Cerami A: Inhibition by chloroquine of a novel haem polymerase enzyme activity in malaria trophozoites. Nature. 1992 Jan 9;355(6356):167-9. doi: 10.1038/355167a0. [PMID:1729651]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 175,
+                                                "Length": 12,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/1729651"
+                                            },
+                                            {
+                                                "Start": 35,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Vandekerckhove S, D'hooghe M: Quinoline-based antimalarial hybrid compounds. Bioorg Med Chem. 2015 Aug 15;23(16):5098-119. doi: 10.1016/j.bmc.2014.12.018. Epub 2014 Dec 19. [PMID:25593097]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 174,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/25593097"
+                                            },
+                                            {
+                                                "Start": 30,
+                                                "Length": 9,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Quinoline",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-7047"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "Plantone D, Koudriavtseva T: Current and Future Use of Chloroquine and Hydroxychloroquine in Infectious, Immune, Neoplastic, and Neurological Diseases: A Mini-Review. Clin Drug Investig. 2018 Aug;38(8):653-671. doi: 10.1007/s40261-018-0656-y. [PMID:29737455]",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 244,
+                                                "Length": 13,
+                                                "URL": "https://www.ncbi.nlm.nih.gov/pubmed/29737455"
+                                            },
+                                            {
+                                                "Start": 55,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 71,
+                                                "Length": 18,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Hydroxychloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-3652"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "FDA Approved Drug Products: Chloroquine Phosphate Oral Tablets",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 62,
+                                                "URL": "https://www.accessdata.fda.gov/drugsatfda_docs/label/2009/083082s050lbl.pdf"
+                                            },
+                                            {
+                                                "Start": 28,
+                                                "Length": 21,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine%20Phosphate",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-64927"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "FDA Approved Drug Products: Aralen Chloroquine Oral Tablets (Discontinued)",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 74,
+                                                "URL": "https://www.accessdata.fda.gov/scripts/cder/daf/index.cfm?event=overview.process&ApplNo=006002"
+                                            },
+                                            {
+                                                "Start": 28,
+                                                "Length": 6,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Aralen",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            },
+                                            {
+                                                "Start": 35,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    },
+                                    {
+                                        "String": "FDA: Emergency use Authorization for Hydroxychloroquine and Chloroquine Revoked",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 79,
+                                                "URL": "https://www.fda.gov/news-events/press-announcements/coronavirus-covid-19-update-fda-revokes-emergency-use-authorization-chloroquine-and"
+                                            },
+                                            {
+                                                "Start": 37,
+                                                "Length": 18,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Hydroxychloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-3652"
+                                            },
+                                            {
+                                                "Start": 60,
+                                                "Length": 11,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/compound/Chloroquine",
+                                                "Type": "PubChem Internal Link",
+                                                "Extra": "CID-2719"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 39,
+                            "URL": "http://dx.doi.org/10.1038/nchembio.87",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Kato et al. Gene expression signatures and small molecule compounds link a protein kinase to Plasmodium falciparum motility Nature Chemical Biology, doi: 10.1038/nchembio.87, published online 27 April 2008. http://www.nature.com/naturechemicalbiology"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 40,
+                            "URL": "http://dx.doi.org/10.1038/nchembio.215",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Yuan et al. Genetic mapping targets of differential chemical phenotypes in Plasmodium falciparum. Nature Chemical Biology, doi: 10.1038/nchembio.215, published online 06 September 2009 http://www.nature.com/naturechemicalbiology"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 41,
+                            "URL": "http://dx.doi.org/10.1038/nchembio.368",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Sek Tong Ong et al. Endoplasmic Reticulum Ca2+ Increases Enhance Mutant Glucocerebrosidase Proteostasis. Nature Chemical Biology, doi: 10.1038/nchembio.368, published online 9 May 2010 http://www.nature.com/naturechemicalbiology"
+                                    }
+                                ]
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 42,
+                            "URL": "https://www.nature.com/articles/s41589-019-0336-0/compounds/16",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Buter et al. Mycobacterium tuberculosis releases an antacid that remodels phagosomes. Nature Chemical Biology, doi: 10.1038/s41589-019-0336-0, published online 19 August 2019"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Chemical Co-Occurrences in Literature",
+                    "Description": "Chemical co-occurrences in literature highlight chemicals mentioned together in scientific articles. This may suggest an important relationship exists between the two. Please note that this content is not human curated. It is generated by text-mining algorithms that can be fooled such that a co-occurrence may be happenstance or a casual mention. The lists are ordered by relevancy as indicated by count of publications and other statistics, with the most relevant mentions appearing at the top.",
+                    "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/knowledge-panels",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Co-Occurrence Panel",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "ChemicalNeighbor"
+                                    },
+                                    {
+                                        "String": "Chemical"
+                                    },
+                                    {
+                                        "String": "ChemicalName_1"
+                                    },
+                                    {
+                                        "String": "ChemicalName_2"
+                                    },
+                                    {
+                                        "String": "SUMMARY_URL.cid"
+                                    },
+                                    {
+                                        "String": "CID"
+                                    },
+                                    {
+                                        "String": "CID"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Chemical-Gene Co-Occurrences in Literature",
+                    "Description": "Chemical-gene co-occurrences in the literature highlight chemical-'gene' pairs mentioned together in scientific articles. Note that a co-occurring 'gene' entity is organism non-specific and could refer to a gene, protein, or enzyme. This may suggest an important relationship exists between the two. Please note that this content is not human curated. It is generated by text-mining algorithms that can be fooled such that a co-occurrence may be happenstance or a casual mention. The lists are ordered by relevancy as indicated by count of publications and other statistics, with the most relevant mentions appearing at the top.",
+                    "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/knowledge-panels",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Co-Occurrence Panel",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "ChemicalGeneSymbolNeighbor"
+                                    },
+                                    {
+                                        "String": "Gene/Protein/Enzyme"
+                                    },
+                                    {
+                                        "String": "ChemicalName"
+                                    },
+                                    {
+                                        "String": "GeneSymbolName"
+                                    },
+                                    {
+                                        "String": "SUMMARY_URL.genesymbol"
+                                    },
+                                    {
+                                        "String": "CID"
+                                    },
+                                    {
+                                        "String": "GeneSymbol"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Chemical-Disease Co-Occurrences in Literature",
+                    "Description": "Chemical-disease co-occurrences in literature highlight chemical-disease pairs mentioned together in scientific articles. This may suggest an important relationship exists between the two. Please note that this content is not human curated. It is generated by text-mining algorithms that can be fooled such that a co-occurrence may be happenstance or a casual mention. The lists are ordered by relevancy as indicated by count of publications and other statistics, with the most relevant mentions appearing at the top.",
+                    "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/knowledge-panels",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Co-Occurrence Panel",
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "ChemicalDiseaseNeighbor"
+                                    },
+                                    {
+                                        "String": "Disease"
+                                    },
+                                    {
+                                        "String": "ChemicalName"
+                                    },
+                                    {
+                                        "String": "DiseaseName"
+                                    },
+                                    {
+                                        "String": "https://meshb.nlm.nih.gov/record/ui?ui="
+                                    },
+                                    {
+                                        "String": "CID"
+                                    },
+                                    {
+                                        "String": "MeSH"
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Patents",
+            "Description": "A PubChem summary page displays Patent information when available for the given molecule.",
+            "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/patents",
+            "DisplayControls":
+            {
+                "ListType": "Columns"
+            },
+            "Section":
+            [
+                {
+                    "TOCHeading": "Depositor-Supplied Patent Identifiers",
+                    "Description": "Patent identifiers and more information provided by depositors in form of a widget.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Value":
+                            {
+                                "ExternalTableName": "patent"
+                            }
+                        },
+                        {
+                            "ReferenceNumber": 69,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Link to all deposited patent identifiers",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 40,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/2719/xrefs/PatentID/TXT"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "WIPO PATENTSCOPE",
+                    "Description": "Use the provided link to show patents associated with this chemical structure in WIPO's PATENTSCOPE system.",
+                    "URL": "https://patentscope.wipo.int/",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 91,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Patents are available for this chemical structure:"
+                                    },
+                                    {
+                                        "String": "https://patentscope.wipo.int/search/en/result.jsf?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+                                        "Markup":
+                                        [
+                                            {
+                                                "Start": 0,
+                                                "Length": 86,
+                                                "URL": "https://patentscope.wipo.int/search/en/result.jsf?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Biomolecular Interactions and Pathways",
+            "Description": "A PubChem summary page displays biomolecular interactions and pathways information when available for the given record.",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Drug-Gene Interactions",
+                    "Description": "Drug-gene interactions provided by the Drug Gene Interaction Database (DGIdb)",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 8,
+                            "Value":
+                            {
+                                "ExternalTableName": "collection=dgidb&view=concise_cid"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Chemical-Gene Interactions",
+                    "Description": "Interactions between chemical and this gene",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "CTD Chemical-Gene Interactions",
+                            "Description": "Chemical-gene interactions provided by the Comparative Toxicogenomics Database (CTD)",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 7,
+                                    "Value":
+                                    {
+                                        "ExternalTableName": "ctdchemicalgene"
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "DrugBank Interactions",
+                    "Description": "Drug interactions with macromolecules such as targets, enzymes, transporters, and carriers",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "ExternalTableName": "collection=drugbank&view=concise_cid"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Drug-Drug Interactions",
+                    "Description": "A drug-drug interaction is a change in the action or side effects of a drug caused by concomitant administration with another drug.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "ExternalTableName": "drugbankddi"
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Drug-Food Interactions",
+                    "Description": "A drug-food interaction occurs when your food and medicine interfere with one another",
+                    "DisplayControls":
+                    {
+                        "ListType": "Bulleted"
+                    },
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 10,
+                            "Value":
+                            {
+                                "StringWithMarkup":
+                                [
+                                    {
+                                        "String": "Take with food. Food reduces irritation and increases bioavailability."
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Pathways",
+                    "Description": "Pathways that include the compound as a component.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Value":
+                            {
+                                "ExternalTableName": "collection=pathway&core=1"
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Biological Test Results",
+            "Description": "A PubChem substance or compound summary page displays biological test results from the PubChem BioAssay database, if/as available, for the chemical structure currently displayed. (Note that you can embed biological test results displays within your own web pages, for a PubChem Compound or Substance of interest, by using the BioActivity Widget.)",
+            "URL": "https://pubchemdocs.ncbi.nlm.nih.gov/bioassays",
+            "Section":
+            [
+                {
+                    "TOCHeading": "BioAssay Results",
+                    "Description": "BioActivity information showed in tabular widget.",
+                    "Information":
+                    [
+                        {
+                            "ReferenceNumber": 69,
+                            "Value":
+                            {
+                                "ExternalTableName": "bioactivity"
+                            }
+                        }
+                    ]
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Taxonomy",
+            "Description": "The organism(s) where the compound originated or is associated",
+            "Information":
+            [
+                {
+                    "ReferenceNumber": 23,
+                    "Reference":
+                    [
+                        "The LOTUS Initiative for Open Natural Products Research: frozen dataset union wikidata (with metadata) | DOI:10.5281/zenodo.5794106"
+                    ],
+                    "Value":
+                    {
+                        "ExternalTableName": "collection=lotus&view=concise_cid"
+                    }
+                }
+            ]
+        },
+        {
+            "TOCHeading": "Classification",
+            "Description": "Classification systems from MeSH, ChEBI, Kegg, etc.",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/classification",
+            "Section":
+            [
+                {
+                    "TOCHeading": "Ontologies",
+                    "Description": "Ontologies",
+                    "Section":
+                    [
+                        {
+                            "TOCHeading": "MeSH Tree",
+                            "Description": "MeSH tree",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 70,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=1",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            1
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "NCI Thesaurus Tree",
+                            "Description": "NCI Thesaurus (NCIt) hierarchy",
+                            "URL": "https://ncithesaurus.nci.nih.gov",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 86,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=112",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            112
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "ChEBI Ontology",
+                            "Description": "ChEBI Ontology tree",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 71,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=2",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            2
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "KEGG: ATC",
+                            "Description": "KEGG : ATC tree",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 72,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=16",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            16
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "KEGG : Antiinfectives",
+                            "Description": "KEGG : Antiinfectives tree",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 73,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=20",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            20
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "WHO ATC Classification System",
+                            "Description": "The Anatomical Therapeutic Chemical (ATC) Classification System is used for the classification of drugs. This pharmaceutical coding system divides drugs into different groups according to the organ or system on which they act and/or their therapeutic and chemical characteristics. Each bottom-level ATC code stands for a pharmaceutically used substance, or a combination of substances, in a single indication (or use). This means that one drug can have more than one code: acetylsalicylic acid (aspirin), for example, has A01AD05 as a drug for local oral treatment, B01AC06 as a platelet inhibitor, and N02BA01 as an analgesic and antipyretic. On the other hand, several different brands share the same code if they have the same active substance and indications.",
+                            "URL": "http://www.whocc.no/atc/",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 75,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=79",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            79
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "ChemIDplus",
+                            "Description": "ChemIDplus tree",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 77,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=84",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            84
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "IUPHAR/BPS Guide to PHARMACOLOGY Target Classification",
+                            "Description": "Protein classification from IUPHAR/BPS Guide to PHARMACOLOGY",
+                            "URL": "http://guidetopharmacology.org/targets.jsp",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 79,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=92",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            92
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "ChEMBL Target Tree",
+                            "Description": "Protein target tree from ChEMBL",
+                            "URL": "https://www.ebi.ac.uk/chembl/target/browser",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 78,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=87",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            87
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "UN GHS Classification",
+                            "Description": "The United Nations' Globally Harmonized System of Classification and Labelling of Chemicals (GHS) provides a harmonized basis for globally uniform physical, environmental, and health and safety information on hazardous chemical substances and mixtures.",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 76,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=83",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            83
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "NORMAN Suspect List Exchange Classification",
+                            "Description": "NORMAN Suspect List Exchange Classification",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 80,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=101",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            101
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "CCSBase Classification",
+                            "Description": "CCSBase Classification",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 81,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=104",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            104
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "EPA DSSTox Classification",
+                            "Description": "EPA DSSTox Classification",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 82,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=105",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            105
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "International Agency for Research on Cancer (IARC) Classification",
+                            "Description": "International Agency for Research on Cancer (IARC) Classification",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 84,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=107",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            107
+                                        ]
+                                    }
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "LOTUS Tree",
+                            "Description": "Biological and chemical tree provided by the the naturaL prOducTs occUrrence databaSe (LOTUS)",
+                            "URL": "https://lotus.naturalproducts.net/",
+                            "Information":
+                            [
+                                {
+                                    "ReferenceNumber": 87,
+                                    "Name": "HID",
+                                    "URL": "https://pubchem.ncbi.nlm.nih.gov/classification/#hid=115",
+                                    "Value":
+                                    {
+                                        "Number":
+                                        [
+                                            115
+                                        ]
+                                    }
+                                }
+                            ]
+                        }
+                    ]
+                }
+            ]
+        }
+    ],
+    "Reference":
+    [
+        {
+            "ReferenceNumber": 1,
+            "SourceName": "CAS Common Chemistry",
+            "SourceID": "54-05-7",
+            "Name": "Chloroquine",
+            "Description": "CAS Common Chemistry is an open community resource for accessing chemical information. Nearly 500,000 chemical substances from CAS REGISTRY cover areas of community interest, including common and frequently regulated chemicals, and those relevant to high school and undergraduate chemistry classes. This chemical information, curated by our expert scientists, is provided in alignment with our mission as a division of the American Chemical Society.",
+            "URL": "https://commonchemistry.cas.org/detail?cas_rn=54-05-7",
+            "LicenseNote": "The data from CAS Common Chemistry is provided under a CC-BY-NC 4.0 license, unless otherwise stated.",
+            "LicenseURL": "https://creativecommons.org/licenses/by-nc/4.0/",
+            "ANID": 13015812
+        },
+        {
+            "ReferenceNumber": 4,
+            "SourceName": "ChemIDplus",
+            "SourceID": "0000054057",
+            "Name": "Chloroquine [USP:INN:BAN]",
+            "Description": "ChemIDplus is a free, web search system that provides access to the structure and nomenclature authority files used for the identification of chemical substances cited in National Library of Medicine (NLM) databases, including the TOXNET system.",
+            "URL": "https://chem.nlm.nih.gov/chemidplus/sid/0000054057",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html",
+            "IsToxnet": true,
+            "ANID": 762003
+        },
+        {
+            "ReferenceNumber": 10,
+            "SourceName": "DrugBank",
+            "SourceID": "DB00608",
+            "Name": "Chloroquine",
+            "Description": "The DrugBank database is a unique bioinformatics and cheminformatics resource that combines detailed drug (i.e. chemical, pharmacological and pharmaceutical) data with comprehensive drug target (i.e. sequence, structure, and pathway) information.",
+            "URL": "https://www.drugbank.ca/drugs/DB00608",
+            "LicenseNote": "Creative Common's Attribution-NonCommercial 4.0 International License (http://creativecommons.org/licenses/by-nc/4.0/legalcode)",
+            "LicenseURL": "https://www.drugbank.ca/legal/terms_of_use",
+            "ANID": 3604382
+        },
+        {
+            "ReferenceNumber": 11,
+            "SourceName": "DTP/NCI",
+            "SourceID": "NSC 187208",
+            "Name": "chloroquine",
+            "Description": "The NCI Development Therapeutics Program (DTP) provides services and resources to the academic and private-sector research communities worldwide to facilitate the discovery and development of new cancer therapeutic agents.",
+            "URL": "https://dtp.cancer.gov/dtpstandard/servlet/dwindex?searchtype=NSC&outputformat=html&searchlist=187208",
+            "LicenseNote": "Unless otherwise indicated, all text within NCI products is free of copyright and may be reused without our permission. Credit the National Cancer Institute as the source.",
+            "LicenseURL": "https://www.cancer.gov/policies/copyright-reuse",
+            "ANID": 6746909
+        },
+        {
+            "ReferenceNumber": 12,
+            "SourceName": "EPA DSSTox",
+            "SourceID": "DTXSID2040446",
+            "Name": "Chloroquine",
+            "Description": "DSSTox provides a high quality public chemistry resource for supporting improved predictive toxicology.",
+            "URL": "https://comptox.epa.gov/dashboard/DTXSID2040446",
+            "LicenseURL": "https://www.epa.gov/privacy/privacy-act-laws-policies-and-resources",
+            "ANID": 1157411
+        },
+        {
+            "ReferenceNumber": 15,
+            "SourceName": "European Chemicals Agency (ECHA)",
+            "SourceID": "200-191-2",
+            "Name": "Chloroquine",
+            "Description": "The European Chemicals Agency (ECHA) is an agency of the European Union which is the driving force among regulatory authorities in implementing the EU's groundbreaking chemicals legislation for the benefit of human health and the environment as well as for innovation and competitiveness.",
+            "URL": "https://echa.europa.eu/substance-information/-/substanceinfo/100.000.175",
+            "LicenseNote": "Use of the information, documents and data from the ECHA website is subject to the terms and conditions of this Legal Notice, and subject to other binding limitations provided for under applicable law, the information, documents and data made available on the ECHA website may be reproduced, distributed and/or used, totally or in part, for non-commercial purposes provided that ECHA is acknowledged as the source: \"Source: European Chemicals Agency, http://echa.europa.eu/\". Such acknowledgement must be included in each copy of the material. ECHA permits and encourages organisations and individuals to create links to the ECHA website under the following cumulative conditions: Links can only be made to webpages that provide a link to the Legal Notice page.",
+            "LicenseURL": "https://echa.europa.eu/web/guest/legal-notice",
+            "ANID": 2018228
+        },
+        {
+            "ReferenceNumber": 18,
+            "SourceName": "Hazardous Substances Data Bank (HSDB)",
+            "SourceID": "3029",
+            "Name": "CHLOROQUINE",
+            "Description": "The Hazardous Substances Data Bank (HSDB) is a toxicology database that focuses on the toxicology of potentially hazardous chemicals. It provides information on human exposure, industrial hygiene, emergency handling procedures, environmental fate, regulatory requirements, nanomaterials, and related areas. The information in HSDB has been assessed by a Scientific Review Panel.",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/source/hsdb/3029",
+            "IsToxnet": true,
+            "ANID": 2211
+        },
+        {
+            "ReferenceNumber": 19,
+            "SourceName": "Human Metabolome Database (HMDB)",
+            "SourceID": "HMDB0014746",
+            "Name": "Chloroquine",
+            "Description": "The Human Metabolome Database (HMDB) is a freely available electronic database containing detailed information about small molecule metabolites found in the human body.",
+            "URL": "http://www.hmdb.ca/metabolites/HMDB0014746",
+            "LicenseNote": "\tHMDB is offered to the public as a freely available resource. Use and re-distribution of the data, in whole or in part, for commercial purposes requires explicit permission of the authors and explicit acknowledgment of the source material (HMDB) and the original publication (see the HMDB citing page). We ask that users who download significant portions of the database cite the HMDB paper in any resulting publications.",
+            "LicenseURL": "http://www.hmdb.ca/citing",
+            "ANID": 2151222
+        },
+        {
+            "ReferenceNumber": 2,
+            "SourceName": "CCSbase",
+            "SourceID": "CCSBASE_59309EAE4E",
+            "Name": "Chloroquine",
+            "Description": "CCSbase curates experimental collision cross section values measured on various ion mobility platforms as a resource for the research community. CCSbase also builds prediction models for comprehensive prediction of collision cross sections for a given molecule.",
+            "ANID": 9265152
+        },
+        {
+            "ReferenceNumber": 3,
+            "SourceName": "ChEBI",
+            "SourceID": "CHEBI:OBO:2719",
+            "Name": "Chloroquine",
+            "Description": "Chemical Entities of Biological Interest (ChEBI) is a database and ontology of molecular entities focused on 'small' chemical compounds, that is part of the Open Biomedical Ontologies effort. The term \"molecular entity\" refers to any constitutionally or isotopically distinct atom, molecule, ion, ion pair, radical, radical ion, complex, conformer, etc., identifiable as a separately distinguishable entity.",
+            "URL": "http://www.ebi.ac.uk/chebi/searchId.do?chebiId=CHEBI:3638",
+            "ANID": 2454331
+        },
+        {
+            "ReferenceNumber": 22,
+            "SourceName": "LiverTox",
+            "SourceID": "Chloroquine",
+            "Name": "Chloroquine",
+            "Description": "LIVERTOX provides up-to-date, accurate, and easily accessed information on the diagnosis, cause, frequency, patterns, and management of liver injury attributable to prescription and nonprescription medications, herbals and dietary supplements.",
+            "URL": "https://www.ncbi.nlm.nih.gov/books/n/livertox/Chloroquine/",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html",
+            "IsToxnet": true,
+            "ANID": 2261790
+        },
+        {
+            "ReferenceNumber": 23,
+            "SourceName": "LOTUS - the natural products occurrence database",
+            "SourceID": "Compound::2719",
+            "Description": "LOTUS is one of the biggest and best annotated resources for natural products occurrences available free of charge and without any restriction.",
+            "LicenseNote": "The code for LOTUS is released under the GNU General Public License v3.0.",
+            "LicenseURL": "https://lotus.nprod.net/",
+            "ANID": 14925523
+        },
+        {
+            "ReferenceNumber": 5,
+            "SourceName": "ChemIDplus",
+            "SourceID": "r_2719",
+            "Description": "The toxicity data was from the legacy RTECS data set in ChemIDplus.",
+            "URL": "https://chem.nlm.nih.gov/chemidplus/sid/0000054057",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html",
+            "IsToxnet": true,
+            "ANID": 3671823
+        },
+        {
+            "ReferenceNumber": 6,
+            "SourceName": "ClinicalTrials.gov",
+            "SourceID": "cid2719",
+            "Description": "ClinicalTrials.gov is an NIH registry and results database of publicly and privately supported clinical studies of human participants conducted around the world.",
+            "URL": "https://clinicaltrials.gov/",
+            "LicenseNote": "The ClinicalTrials.gov data carry an international copyright outside the United States and its Territories or Possessions. Some ClinicalTrials.gov data may be subject to the copyright of third parties; you should consult these entities for any additional terms of use.",
+            "LicenseURL": "https://clinicaltrials.gov/ct2/about-site/terms-conditions#Use",
+            "ANID": 5187499
+        },
+        {
+            "ReferenceNumber": 7,
+            "SourceName": "Comparative Toxicogenomics Database (CTD)",
+            "SourceID": "D002738::Compound",
+            "Description": "CTD is a robust, publicly available database that aims to advance understanding about how environmental exposures affect human health.",
+            "URL": "http://ctdbase.org/detail.go?type=chem&acc=D002738",
+            "LicenseNote": "It is to be used only for research and educational purposes. Any reproduction or use for commercial purpose is prohibited without the prior express written permission of NC State University.",
+            "LicenseURL": "http://ctdbase.org/about/legal.jsp",
+            "ANID": 9023530
+        },
+        {
+            "ReferenceNumber": 8,
+            "SourceName": "Drug Gene Interaction database (DGIdb)",
+            "SourceID": "CHLOROQUINE",
+            "Description": "The Drug Gene Interaction Database (DGIdb, www.dgidb.org) is a web resource that consolidates disparate data sources describing drug - gene interactions and gene druggability.",
+            "URL": "https://www.dgidb.org/drugs/CHLOROQUINE",
+            "LicenseNote": "The data used in DGIdb is all open access and where possible made available as raw data dumps in the downloads section.",
+            "LicenseURL": "http://www.dgidb.org/downloads",
+            "ANID": 8268029
+        },
+        {
+            "ReferenceNumber": 9,
+            "SourceName": "Drug Induced Liver Injury Rank (DILIrank) Dataset",
+            "SourceID": "LT01207",
+            "Name": "chloroquine",
+            "Description": "Drug-Induced Liver Injury Rank (DILIrank) Dataset is a list of drugs ranked by their risk for developing DILI in humans.",
+            "URL": "https://www.fda.gov/science-research/liver-toxicity-knowledge-base-ltkb/drug-induced-liver-injury-rank-dilirank-dataset",
+            "LicenseNote": "Unless otherwise noted, the contents of the FDA website (www.fda.gov), both text and graphics, are not copyrighted. They are in the public domain and may be republished, reprinted and otherwise used freely by anyone without the need to obtain permission from FDA. Credit to the U.S. Food and Drug Administration as the source is appreciated but not required.",
+            "LicenseURL": "https://www.fda.gov/about-fda/about-website/website-policies#linking",
+            "ANID": 12652756
+        },
+        {
+            "ReferenceNumber": 39,
+            "SourceName": "Nature Chemical Biology",
+            "SourceID": "nchembio.87-comp17",
+            "Description": "Nature Chemical Biology is an international monthly journal that provides a high-visibility forum for the publication of top-tier original research and commentary for the chemical biology community. Chemical biology combines the scientific ideas and approaches of chemistry, biology and allied disciplines to understand and manipulate biological systems with molecular precision.",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/substance/49681217",
+            "ANID": 8533874
+        },
+        {
+            "ReferenceNumber": 40,
+            "SourceName": "Nature Chemical Biology",
+            "SourceID": "nchembio.215-comp4",
+            "Description": "Nature Chemical Biology is an international monthly journal that provides a high-visibility forum for the publication of top-tier original research and commentary for the chemical biology community. Chemical biology combines the scientific ideas and approaches of chemistry, biology and allied disciplines to understand and manipulate biological systems with molecular precision.",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/substance/85154871",
+            "ANID": 8535872
+        },
+        {
+            "ReferenceNumber": 41,
+            "SourceName": "Nature Chemical Biology",
+            "SourceID": "nchembio.368-comp8",
+            "Description": "Nature Chemical Biology is an international monthly journal that provides a high-visibility forum for the publication of top-tier original research and commentary for the chemical biology community. Chemical biology combines the scientific ideas and approaches of chemistry, biology and allied disciplines to understand and manipulate biological systems with molecular precision.",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/substance/92310316",
+            "ANID": 8536578
+        },
+        {
+            "ReferenceNumber": 42,
+            "SourceName": "Nature Chemical Biology",
+            "SourceID": "nchembio.A181208768B-comp16",
+            "Description": "Nature Chemical Biology is an international monthly journal that provides a high-visibility forum for the publication of top-tier original research and commentary for the chemical biology community. Chemical biology combines the scientific ideas and approaches of chemistry, biology and allied disciplines to understand and manipulate biological systems with molecular precision.",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/substance/384405292",
+            "ANID": 8543859
+        },
+        {
+            "ReferenceNumber": 13,
+            "SourceName": "EU Clinical Trials Register",
+            "SourceID": "cid2719",
+            "Description": "The EU Clinical Trials Register contains information on interventional clinical trials on medicines conducted in the European Union (EU), or the European Economic Area (EEA) which started after 1 May 2004.",
+            "URL": "https://www.clinicaltrialsregister.eu/",
+            "ANID": 6479070
+        },
+        {
+            "ReferenceNumber": 14,
+            "SourceName": "European Chemicals Agency (ECHA)",
+            "SourceID": "37273",
+            "Name": "Chloroquine",
+            "Description": "The information provided here is aggregated from the \"Notified classification and labelling\" from ECHA's C&L Inventory. Read more: https://echa.europa.eu/information-on-chemicals/cl-inventory-database",
+            "URL": "https://echa.europa.eu/information-on-chemicals/cl-inventory-database/-/discli/details/37273",
+            "LicenseNote": "Use of the information, documents and data from the ECHA website is subject to the terms and conditions of this Legal Notice, and subject to other binding limitations provided for under applicable law, the information, documents and data made available on the ECHA website may be reproduced, distributed and/or used, totally or in part, for non-commercial purposes provided that ECHA is acknowledged as the source: \"Source: European Chemicals Agency, http://echa.europa.eu/\". Such acknowledgement must be included in each copy of the material. ECHA permits and encourages organisations and individuals to create links to the ECHA website under the following cumulative conditions: Links can only be made to webpages that provide a link to the Legal Notice page.",
+            "LicenseURL": "https://echa.europa.eu/web/guest/legal-notice",
+            "ANID": 1861959
+        },
+        {
+            "ReferenceNumber": 16,
+            "SourceName": "European Medicines Agency (EMA)",
+            "SourceID": "EU/3/14/1377_1",
+            "Name": "Chloroquine (EU/3/14/1377)",
+            "Description": "The European Medicines Agency (EMA) presents information on regulatory topics of the medicinal product lifecycle in EU countries.",
+            "URL": "https://www.ema.europa.eu/en/medicines/human/orphan-designations/eu3141377",
+            "LicenseNote": "Information on the European Medicines Agency's (EMA)  website is subject to a disclaimer and copyright and limited reproduction notices.",
+            "LicenseURL": "https://www.ema.europa.eu/en/about-us/legal-notice",
+            "ANID": 8856841
+        },
+        {
+            "ReferenceNumber": 17,
+            "SourceName": "FDA Orange Book",
+            "SourceID": "org_2719",
+            "Description": "The publication, Approved Drug Products with Therapeutic Equivalence Evaluations (the List, commonly known as the Orange Book), identifies drug products approved on the basis of safety and effectiveness by the Food and Drug Administration (FDA) under the Federal Food, Drug, and Cosmetic Act (the Act).",
+            "URL": "https://www.fda.gov/drugs/drug-approvals-and-databases/approved-drug-products-therapeutic-equivalence-evaluations-orange-book",
+            "LicenseNote": "Unless otherwise noted, the contents of the FDA website (www.fda.gov), both text and graphics, are not copyrighted. They are in the public domain and may be republished, reprinted and otherwise used freely by anyone without the need to obtain permission from FDA. Credit to the U.S. Food and Drug Administration as the source is appreciated but not required.",
+            "LicenseURL": "https://www.fda.gov/about-fda/about-website/website-policies#linking",
+            "ANID": 398493
+        },
+        {
+            "ReferenceNumber": 54,
+            "SourceName": "NORMAN Suspect List Exchange",
+            "SourceID": "nrm_2719",
+            "Name": "Chloroquine",
+            "Description": "The NORMAN network enhances the exchange of information on emerging environmental substances, and encourages the validation and harmonisation of common measurement methods and monitoring tools so that the requirements of risk assessors and risk managers can be better met. It specifically seeks both to promote and to benefit from the synergies between research teams from different countries in the field of emerging substances.",
+            "LicenseNote": "Data: CC-BY 4.0; Code (hosted by ECI, LCSB): Artistic-2.0",
+            "LicenseURL": "https://creativecommons.org/licenses/by/4.0/",
+            "ANID": 9150586
+        },
+        {
+            "ReferenceNumber": 20,
+            "SourceName": "Human Metabolome Database (HMDB)",
+            "SourceID": "HMDB0014746_cms_27431",
+            "Name": "HMDB0014746_cms_27431",
+            "Description": "The Human Metabolome Database (HMDB) is a freely available electronic database containing detailed information about small molecule metabolites found in the human body.",
+            "URL": "https://hmdb.ca/metabolites/HMDB0014746#spectra",
+            "LicenseNote": "\tHMDB is offered to the public as a freely available resource. Use and re-distribution of the data, in whole or in part, for commercial purposes requires explicit permission of the authors and explicit acknowledgment of the source material (HMDB) and the original publication (see the HMDB citing page). We ask that users who download significant portions of the database cite the HMDB paper in any resulting publications.",
+            "LicenseURL": "http://www.hmdb.ca/citing",
+            "ANID": 15325547
+        },
+        {
+            "ReferenceNumber": 31,
+            "SourceName": "MassBank of North America (MoNA)",
+            "SourceID": "JP003161",
+            "Name": "CHLOROQUINE",
+            "Description": "MassBank of North America (MoNA) is a metadata-centric, auto-curating repository designed for efficient storage and querying of mass spectral records. There are total 14 MS data records(14 experimental records) for this compound, click the link above to see all spectral information at MoNA website.",
+            "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=compound.metaData%3Dq%3D%27name%3D%3D%22InChIKey%22%20and%20value%3D%3D%22WHTVZRBIWZFKQO-UHFFFAOYSA-N%22%27",
+            "LicenseNote": "The content of the MoNA database is licensed under CC BY 4.0.",
+            "LicenseURL": "https://mona.fiehnlab.ucdavis.edu/documentation/license",
+            "ANID": 3419050
+        },
+        {
+            "ReferenceNumber": 36,
+            "SourceName": "MassBank of North America (MoNA)",
+            "SourceID": "HMDB0014746_c_ms_100159",
+            "Name": "Chloroquine",
+            "Description": "MassBank of North America (MoNA) is a metadata-centric, auto-curating repository designed for efficient storage and querying of mass spectral records. There are total 14 MS data records(14 experimental records) for this compound, click the link above to see all spectral information at MoNA website.",
+            "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=compound.metaData%3Dq%3D%27name%3D%3D%22InChIKey%22%20and%20value%3D%3D%22WHTVZRBIWZFKQO-UHFFFAOYSA-N%22%27",
+            "LicenseNote": "The content of the MoNA database is licensed under CC BY 4.0.",
+            "LicenseURL": "https://mona.fiehnlab.ucdavis.edu/documentation/license",
+            "ANID": 8428111
+        },
+        {
+            "ReferenceNumber": 43,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "GC-MS #1 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 61394
+        },
+        {
+            "ReferenceNumber": 44,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "GC-MS #2 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 260140
+        },
+        {
+            "ReferenceNumber": 45,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "GC-MS #3 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 260147
+        },
+        {
+            "ReferenceNumber": 46,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "GC-MS #4 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 260153
+        },
+        {
+            "ReferenceNumber": 47,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "GC-MS #5 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 260155
+        },
+        {
+            "ReferenceNumber": 48,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "GC-MS #6 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 260156
+        },
+        {
+            "ReferenceNumber": 49,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "GC-MS #7 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 260300
+        },
+        {
+            "ReferenceNumber": 56,
+            "SourceName": "SpectraBase",
+            "SourceID": "30UDEp4qVU",
+            "Name": "Chloroquine",
+            "Description": "Wiley Science Solutions (https://sciencesolutions.wiley.com) is a leading publisher of spectral databases and KnowItAll spectroscopy software. SpectraBase provides fast text access to hundreds of thousands of NMR, IR, Raman, UV-Vis, and mass spectra.",
+            "URL": "https://spectrabase.com/spectrum/30UDEp4qVU",
+            "ANID": 5068772
+        },
+        {
+            "ReferenceNumber": 57,
+            "SourceName": "SpectraBase",
+            "SourceID": "BrpTswYWahi",
+            "Name": "Chloroquine",
+            "Description": "Wiley Science Solutions (https://sciencesolutions.wiley.com) is a leading publisher of spectral databases and KnowItAll spectroscopy software. SpectraBase provides fast text access to hundreds of thousands of NMR, IR, Raman, UV-Vis, and mass spectra.",
+            "URL": "https://spectrabase.com/spectrum/BrpTswYWahi",
+            "ANID": 5068773
+        },
+        {
+            "ReferenceNumber": 21,
+            "SourceName": "International Agency for Research on Cancer (IARC)",
+            "SourceID": "iarc_660",
+            "Name": "Chloroquine",
+            "Description": "The International Agency for Research on Cancer (IARC) is the specialized cancer agency of the World Health Organization. The objective of the IARC is to promote international collaboration in cancer research.",
+            "URL": "https://monographs.iarc.who.int/list-of-classifications",
+            "LicenseNote": "Materials made available by IARC/WHO enjoy copyright protection under the Berne Convention for the Protection of Literature and Artistic Works, under other international conventions, and under national laws on copyright and neighbouring rights. IARC exercises copyright over its Materials to make sure that they are used in accordance with the Agency's principles. All rights are reserved.",
+            "LicenseURL": "https://publications.iarc.fr/Terms-Of-Use",
+            "ANID": 13098049
+        },
+        {
+            "ReferenceNumber": 24,
+            "SourceName": "MassBank Europe",
+            "SourceID": "WHTVZRBIWZFKQO-UHFFFAOYSA-N_1",
+            "Name": "CHLOROQUINE",
+            "Description": "MassBank Europe (MassBank.EU) was created in 2011 as an open access database of mass spectra of emerging substances to support identification of unknown substances within the NORMAN Network (https://www.norman-network.com/). MassBank.EU is the partner project of MassBank.JP, hosted at the Helmholtz Centre for Environmental Research (UFZ) Leipzig and jointly maintained by UFZ, LCSB (University of Luxembourg) and IPB Halle.",
+            "URL": "https://massbank.eu/MassBank/Result.jsp?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "LicenseURL": "https://github.com/MassBank/MassBank-web/blob/master/LICENSE",
+            "ANID": 13641668
+        },
+        {
+            "ReferenceNumber": 25,
+            "SourceName": "MassBank Europe",
+            "SourceID": "WHTVZRBIWZFKQO-UHFFFAOYSA-N_2",
+            "Name": "Chloroquine",
+            "Description": "MassBank Europe (MassBank.EU) was created in 2011 as an open access database of mass spectra of emerging substances to support identification of unknown substances within the NORMAN Network (https://www.norman-network.com/). MassBank.EU is the partner project of MassBank.JP, hosted at the Helmholtz Centre for Environmental Research (UFZ) Leipzig and jointly maintained by UFZ, LCSB (University of Luxembourg) and IPB Halle.",
+            "URL": "https://massbank.eu/MassBank/Result.jsp?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "LicenseURL": "https://github.com/MassBank/MassBank-web/blob/master/LICENSE",
+            "ANID": 13698577
+        },
+        {
+            "ReferenceNumber": 26,
+            "SourceName": "MassBank Europe",
+            "SourceID": "WHTVZRBIWZFKQO-UHFFFAOYSA-N_3",
+            "Name": "Chloroquine",
+            "Description": "MassBank Europe (MassBank.EU) was created in 2011 as an open access database of mass spectra of emerging substances to support identification of unknown substances within the NORMAN Network (https://www.norman-network.com/). MassBank.EU is the partner project of MassBank.JP, hosted at the Helmholtz Centre for Environmental Research (UFZ) Leipzig and jointly maintained by UFZ, LCSB (University of Luxembourg) and IPB Halle.",
+            "URL": "https://massbank.eu/MassBank/Result.jsp?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "LicenseURL": "https://github.com/MassBank/MassBank-web/blob/master/LICENSE",
+            "ANID": 13698578
+        },
+        {
+            "ReferenceNumber": 27,
+            "SourceName": "MassBank Europe",
+            "SourceID": "WHTVZRBIWZFKQO-UHFFFAOYSA-N_4",
+            "Name": "Chloroquine",
+            "Description": "MassBank Europe (MassBank.EU) was created in 2011 as an open access database of mass spectra of emerging substances to support identification of unknown substances within the NORMAN Network (https://www.norman-network.com/). MassBank.EU is the partner project of MassBank.JP, hosted at the Helmholtz Centre for Environmental Research (UFZ) Leipzig and jointly maintained by UFZ, LCSB (University of Luxembourg) and IPB Halle.",
+            "URL": "https://massbank.eu/MassBank/Result.jsp?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "LicenseURL": "https://github.com/MassBank/MassBank-web/blob/master/LICENSE",
+            "ANID": 13698579
+        },
+        {
+            "ReferenceNumber": 28,
+            "SourceName": "MassBank Europe",
+            "SourceID": "WHTVZRBIWZFKQO-UHFFFAOYSA-N_5",
+            "Name": "Chloroquine",
+            "Description": "MassBank Europe (MassBank.EU) was created in 2011 as an open access database of mass spectra of emerging substances to support identification of unknown substances within the NORMAN Network (https://www.norman-network.com/). MassBank.EU is the partner project of MassBank.JP, hosted at the Helmholtz Centre for Environmental Research (UFZ) Leipzig and jointly maintained by UFZ, LCSB (University of Luxembourg) and IPB Halle.",
+            "URL": "https://massbank.eu/MassBank/Result.jsp?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "LicenseURL": "https://github.com/MassBank/MassBank-web/blob/master/LICENSE",
+            "ANID": 13698580
+        },
+        {
+            "ReferenceNumber": 29,
+            "SourceName": "MassBank Europe",
+            "SourceID": "WHTVZRBIWZFKQO-UHFFFAOYSA-N_6",
+            "Name": "Chloroquine",
+            "Description": "MassBank Europe (MassBank.EU) was created in 2011 as an open access database of mass spectra of emerging substances to support identification of unknown substances within the NORMAN Network (https://www.norman-network.com/). MassBank.EU is the partner project of MassBank.JP, hosted at the Helmholtz Centre for Environmental Research (UFZ) Leipzig and jointly maintained by UFZ, LCSB (University of Luxembourg) and IPB Halle.",
+            "URL": "https://massbank.eu/MassBank/Result.jsp?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "LicenseURL": "https://github.com/MassBank/MassBank-web/blob/master/LICENSE",
+            "ANID": 13698581
+        },
+        {
+            "ReferenceNumber": 30,
+            "SourceName": "MassBank Europe",
+            "SourceID": "WHTVZRBIWZFKQO-UHFFFAOYSA-N_7",
+            "Name": "Chloroquine",
+            "Description": "MassBank Europe (MassBank.EU) was created in 2011 as an open access database of mass spectra of emerging substances to support identification of unknown substances within the NORMAN Network (https://www.norman-network.com/). MassBank.EU is the partner project of MassBank.JP, hosted at the Helmholtz Centre for Environmental Research (UFZ) Leipzig and jointly maintained by UFZ, LCSB (University of Luxembourg) and IPB Halle.",
+            "URL": "https://massbank.eu/MassBank/Result.jsp?inchikey=WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "LicenseURL": "https://github.com/MassBank/MassBank-web/blob/master/LICENSE",
+            "ANID": 13698582
+        },
+        {
+            "ReferenceNumber": 32,
+            "SourceName": "MassBank of North America (MoNA)",
+            "SourceID": "WA000965",
+            "Name": "Chloroquine",
+            "Description": "MassBank of North America (MoNA) is a metadata-centric, auto-curating repository designed for efficient storage and querying of mass spectral records. There are total 14 MS data records(14 experimental records) for this compound, click the link above to see all spectral information at MoNA website.",
+            "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=compound.metaData%3Dq%3D%27name%3D%3D%22InChIKey%22%20and%20value%3D%3D%22WHTVZRBIWZFKQO-UHFFFAOYSA-N%22%27",
+            "LicenseNote": "The content of the MoNA database is licensed under CC BY 4.0.",
+            "LicenseURL": "https://mona.fiehnlab.ucdavis.edu/documentation/license",
+            "ANID": 7674579
+        },
+        {
+            "ReferenceNumber": 33,
+            "SourceName": "MassBank of North America (MoNA)",
+            "SourceID": "WA000966",
+            "Name": "Chloroquine",
+            "Description": "MassBank of North America (MoNA) is a metadata-centric, auto-curating repository designed for efficient storage and querying of mass spectral records. There are total 14 MS data records(14 experimental records) for this compound, click the link above to see all spectral information at MoNA website.",
+            "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=compound.metaData%3Dq%3D%27name%3D%3D%22InChIKey%22%20and%20value%3D%3D%22WHTVZRBIWZFKQO-UHFFFAOYSA-N%22%27",
+            "LicenseNote": "The content of the MoNA database is licensed under CC BY 4.0.",
+            "LicenseURL": "https://mona.fiehnlab.ucdavis.edu/documentation/license",
+            "ANID": 7674580
+        },
+        {
+            "ReferenceNumber": 34,
+            "SourceName": "MassBank of North America (MoNA)",
+            "SourceID": "WA000967",
+            "Name": "Chloroquine",
+            "Description": "MassBank of North America (MoNA) is a metadata-centric, auto-curating repository designed for efficient storage and querying of mass spectral records. There are total 14 MS data records(14 experimental records) for this compound, click the link above to see all spectral information at MoNA website.",
+            "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=compound.metaData%3Dq%3D%27name%3D%3D%22InChIKey%22%20and%20value%3D%3D%22WHTVZRBIWZFKQO-UHFFFAOYSA-N%22%27",
+            "LicenseNote": "The content of the MoNA database is licensed under CC BY 4.0.",
+            "LicenseURL": "https://mona.fiehnlab.ucdavis.edu/documentation/license",
+            "ANID": 7674581
+        },
+        {
+            "ReferenceNumber": 35,
+            "SourceName": "MassBank of North America (MoNA)",
+            "SourceID": "WA000968",
+            "Name": "Chloroquine",
+            "Description": "MassBank of North America (MoNA) is a metadata-centric, auto-curating repository designed for efficient storage and querying of mass spectral records. There are total 14 MS data records(14 experimental records) for this compound, click the link above to see all spectral information at MoNA website.",
+            "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=compound.metaData%3Dq%3D%27name%3D%3D%22InChIKey%22%20and%20value%3D%3D%22WHTVZRBIWZFKQO-UHFFFAOYSA-N%22%27",
+            "LicenseNote": "The content of the MoNA database is licensed under CC BY 4.0.",
+            "LicenseURL": "https://mona.fiehnlab.ucdavis.edu/documentation/license",
+            "ANID": 8284615
+        },
+        {
+            "ReferenceNumber": 37,
+            "SourceName": "MassBank of North America (MoNA)",
+            "SourceID": "CCMSLIB00005723985",
+            "Name": "Chloroquine",
+            "Description": "MassBank of North America (MoNA) is a metadata-centric, auto-curating repository designed for efficient storage and querying of mass spectral records. There are total 14 MS data records(14 experimental records) for this compound, click the link above to see all spectral information at MoNA website.",
+            "URL": "https://mona.fiehnlab.ucdavis.edu/spectra/browse?query=compound.metaData%3Dq%3D%27name%3D%3D%22InChIKey%22%20and%20value%3D%3D%22WHTVZRBIWZFKQO-UHFFFAOYSA-N%22%27",
+            "LicenseNote": "The content of the MoNA database is licensed under CC BY 4.0.",
+            "LicenseURL": "https://mona.fiehnlab.ucdavis.edu/documentation/license",
+            "ANID": 9288247
+        },
+        {
+            "ReferenceNumber": 38,
+            "SourceName": "National Drug Code (NDC) Directory",
+            "SourceID": "s_CHLOROQUINE",
+            "Name": "CHLOROQUINE",
+            "Description": "The National Drug Code (NDC) is a unique, three-segment number that serves as FDA's identifier for drugs. The NDC Directory contains information on active and certified finished and unfinished drugs submitted to FDA.",
+            "URL": "https://www.fda.gov/drugs/drug-approvals-and-databases/national-drug-code-directory",
+            "LicenseNote": "Unless otherwise noted, the contents of the FDA website (www.fda.gov), both text and graphics, are not copyrighted. They are in the public domain and may be republished, reprinted and otherwise used freely by anyone without the need to obtain permission from FDA. Credit to the U.S. Food and Drug Administration as the source is appreciated but not required.",
+            "LicenseURL": "https://www.fda.gov/about-fda/about-website/website-policies#linking",
+            "ANID": 15993378
+        },
+        {
+            "ReferenceNumber": 50,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "MS-MS #1 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 282935
+        },
+        {
+            "ReferenceNumber": 51,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "MS-MS #2 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 282936
+        },
+        {
+            "ReferenceNumber": 52,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "MS-MS #3 for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 285619
+        },
+        {
+            "ReferenceNumber": 53,
+            "SourceName": "NIST Mass Spectrometry Data Center",
+            "SourceID": "RI for WHTVZRBIWZFKQO-UHFFFAOYSA-N",
+            "Name": "Chloroquine",
+            "Description": "The NIST Mass Spectrometry Data Center, a Group in the Biomolecular Measurement Division (BMD), develops evaluated mass spectral libraries and provides related software tools. These products are intended to assist compound identification by providing reference mass spectra for GC/MS (by electron ionization) and LC-MS/MS (by tandem mass spectrometry) as well as gas phase retention indices for GC.",
+            "URL": "http://www.nist.gov/srd/nist1a.cfm",
+            "LicenseURL": "https://www.nist.gov/srd/public-law",
+            "ANID": 302505
+        },
+        {
+            "ReferenceNumber": 55,
+            "SourceName": "PubChem",
+            "SourceID": "covid19_l_3964",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov",
+            "ANID": 9352331
+        },
+        {
+            "ReferenceNumber": 58,
+            "SourceName": "SpectraBase",
+            "SourceID": "10sStszu4T5",
+            "Name": "CHLOROQUINE",
+            "Description": "Wiley Science Solutions (https://sciencesolutions.wiley.com) is a leading publisher of spectral databases and KnowItAll spectroscopy software. SpectraBase provides fast text access to hundreds of thousands of NMR, IR, Raman, UV-Vis, and mass spectra.",
+            "URL": "https://spectrabase.com/spectrum/10sStszu4T5",
+            "ANID": 5068776
+        },
+        {
+            "ReferenceNumber": 59,
+            "SourceName": "SpectraBase",
+            "SourceID": "E4IWgm7hoj9",
+            "Name": "",
+            "Description": "Wiley Science Solutions (https://sciencesolutions.wiley.com) is a leading publisher of spectral databases and KnowItAll spectroscopy software. SpectraBase provides fast text access to hundreds of thousands of NMR, IR, Raman, UV-Vis, and mass spectra.",
+            "URL": "https://spectrabase.com/spectrum/E4IWgm7hoj9",
+            "ANID": 10722562
+        },
+        {
+            "ReferenceNumber": 60,
+            "SourceName": "Springer Nature",
+            "SourceID": "22051007-172322592",
+            "Description": "Literature references related to scientific contents from Springer Nature journals and books. https://link.springer.com/",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/substance/341140522",
+            "ANID": 3847585
+        },
+        {
+            "ReferenceNumber": 61,
+            "SourceName": "Springer Nature",
+            "SourceID": "22051007-172323581",
+            "Description": "Literature references related to scientific contents from Springer Nature journals and books. https://link.springer.com/",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/substance/341825136",
+            "ANID": 4446852
+        },
+        {
+            "ReferenceNumber": 62,
+            "SourceName": "Thieme Chemistry",
+            "SourceID": "22051007-172322592",
+            "Description": "Literature references related to scientific contents from Thieme journals and books. Read more: http://www.thieme-chemistry.com",
+            "LicenseNote": "The Thieme Chemistry contribution within PubChem is provided under a CC-BY-NC-ND 4.0 license, unless otherwise stated.",
+            "LicenseURL": "https://creativecommons.org/licenses/by-nc-nd/4.0/",
+            "ANID": 5545898
+        },
+        {
+            "ReferenceNumber": 63,
+            "SourceName": "WHO Anatomical Therapeutic Chemical (ATC) Classification",
+            "SourceID": "1462",
+            "Description": "The WHO Anatomical Therapeutic Chemical (ATC) Classification System is a classification of active ingredients of drugs according to the organ or system on which they act and their therapeutic, pharmacological and chemical properties.",
+            "URL": "https://www.whocc.no/atc/",
+            "LicenseNote": "Use of all or parts of the material requires reference to the WHO Collaborating Centre for Drug Statistics Methodology. Copying and distribution for commercial purposes is not allowed. Changing or manipulating the material is not allowed.",
+            "LicenseURL": "https://www.whocc.no/copyright_disclaimer/",
+            "ANID": 753723
+        },
+        {
+            "ReferenceNumber": 64,
+            "SourceName": "WHO Model Lists of Essential Medicines",
+            "SourceID": "275",
+            "Name": "Chloroquine",
+            "Description": "The WHO Model Lists of Essential Medicines contains the medications considered to be most effective and safe to meet the most important needs in a health system. It has been updated every two years since 1977.",
+            "URL": "https://list.essentialmeds.org/medicines/275",
+            "LicenseNote": "WHO supports open access to the published output of its activities as a fundamental part of its mission and a public benefit to be encouraged wherever possible. WHO's open access applies to WHO  CC BY-NC-SA 3.0 IGO.",
+            "LicenseURL": "https://www.who.int/about/who-we-are/publishing-policies/copyright",
+            "ANID": 13127783
+        },
+        {
+            "ReferenceNumber": 65,
+            "SourceName": "Wikidata",
+            "SourceID": "Q422438",
+            "Name": "Chloroquine",
+            "Description": "Link to the compound information in Wikidata.",
+            "URL": "https://www.wikidata.org/wiki/Q422438",
+            "LicenseNote": "CCZero",
+            "LicenseURL": "https://creativecommons.org/publicdomain/zero/1.0/",
+            "ANID": 16295616
+        },
+        {
+            "ReferenceNumber": 66,
+            "SourceName": "Wikipedia",
+            "SourceID": "wpQ422438",
+            "Name": "Chloroquine",
+            "Description": "Link to the compound information in Wikipedia.",
+            "URL": "https://en.wikipedia.org/wiki/Chloroquine",
+            "ANID": 16295617
+        },
+        {
+            "ReferenceNumber": 67,
+            "SourceName": "Wiley",
+            "SourceID": "142564",
+            "Description": "Literature references related to scientific contents from Wiley. Read more: https://onlinelibrary.wiley.com/",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/substance/?source=wiley&sourceid=142564",
+            "ANID": 8318242
+        },
+        {
+            "ReferenceNumber": 68,
+            "SourceName": "Medical Subject Headings (MeSH)",
+            "SourceID": "68002738",
+            "Name": "Chloroquine",
+            "Description": "MeSH (Medical Subject Headings) is the U.S. National Library of Medicine's controlled vocabulary thesaurus used for indexing articles for PubMed.",
+            "URL": "https://www.ncbi.nlm.nih.gov/mesh/68002738",
+            "LicenseNote": "Works produced by the U.S. government are not subject to copyright protection in the United States. Any such works found on National Library of Medicine (NLM) Web sites may be freely used or reproduced without permission in the U.S.",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html"
+        },
+        {
+            "ReferenceNumber": 69,
+            "SourceName": "PubChem",
+            "SourceID": "PubChem",
+            "Description": "Data deposited in or computed by PubChem",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov"
+        },
+        {
+            "ReferenceNumber": 70,
+            "SourceName": "Medical Subject Headings (MeSH)",
+            "SourceID": "DescTree",
+            "Name": "MeSH Tree",
+            "Description": "MeSH (Medical Subject Headings) is the NLM controlled vocabulary thesaurus used for indexing articles for PubMed.",
+            "URL": "http://www.nlm.nih.gov/mesh/meshhome.html",
+            "LicenseNote": "Works produced by the U.S. government are not subject to copyright protection in the United States. Any such works found on National Library of Medicine (NLM) Web sites may be freely used or reproduced without permission in the U.S.",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html"
+        },
+        {
+            "ReferenceNumber": 71,
+            "SourceName": "ChEBI",
+            "SourceID": "OBO",
+            "Name": "ChEBI Ontology",
+            "Description": "The ChEBI Ontology is a structured classification of the entities contained within ChEBI.",
+            "URL": "http://www.ebi.ac.uk/chebi/userManualForward.do#ChEBI%20Ontology"
+        },
+        {
+            "ReferenceNumber": 72,
+            "SourceName": "KEGG",
+            "SourceID": "br08303",
+            "Name": "Anatomical Therapeutic Chemical (ATC) classification",
+            "Description": "KEGG is an encyclopedia of genes and genomes. Assigning functional meanings to genes and genomes both at the molecular and higher levels is the primary objective of the KEGG database project.",
+            "URL": "http://www.genome.jp/kegg-bin/get_htext?br08303.keg",
+            "LicenseNote": "Academic users may freely use the KEGG website. Non-academic use of KEGG generally requires a commercial license",
+            "LicenseURL": "https://www.kegg.jp/kegg/legal.html"
+        },
+        {
+            "ReferenceNumber": 73,
+            "SourceName": "KEGG",
+            "SourceID": "br08307",
+            "Name": "Antiinfectives",
+            "Description": "KEGG is an encyclopedia of genes and genomes. Assigning functional meanings to genes and genomes both at the molecular and higher levels is the primary objective of the KEGG database project.",
+            "URL": "http://www.genome.jp/kegg-bin/get_htext?br08307.keg",
+            "LicenseNote": "Academic users may freely use the KEGG website. Non-academic use of KEGG generally requires a commercial license",
+            "LicenseURL": "https://www.kegg.jp/kegg/legal.html"
+        },
+        {
+            "ReferenceNumber": 75,
+            "SourceName": "WHO Anatomical Therapeutic Chemical (ATC) Classification",
+            "SourceID": "ATCTree",
+            "Name": "ATC Code",
+            "Description": "In the World Health Organization (WHO) Anatomical Therapeutic Chemical (ATC) classification system, the active substances are divided into different groups according to the organ or system on which they act and their therapeutic, pharmacological and chemical properties.",
+            "URL": "https://www.whocc.no/atc_ddd_index/",
+            "LicenseNote": "Use of all or parts of the material requires reference to the WHO Collaborating Centre for Drug Statistics Methodology. Copying and distribution for commercial purposes is not allowed. Changing or manipulating the material is not allowed.",
+            "LicenseURL": "https://www.whocc.no/copyright_disclaimer/"
+        },
+        {
+            "ReferenceNumber": 76,
+            "SourceName": "UN Globally Harmonized System of Classification and Labelling of Chemicals (GHS)",
+            "SourceID": "UN_GHS_tree",
+            "Name": "GHS Classification Tree",
+            "Description": "The United Nations' Globally Harmonized System of Classification and Labeling of Chemicals (GHS) provides a harmonized basis for globally uniform physical, environmental, and health and safety information on hazardous chemical substances and mixtures. It sets up criteria for the classification of chemicals for physical-chemical, health, and environmental hazards of chemical substances and mixtures and sets up standardized hazard information to facilitate global trade of chemicals.  Please note that obsolete codes are added in this classification for completeness purposes, as they are still in use. Any obsolete codes are annotated as such.",
+            "URL": "http://www.unece.org/trans/danger/publi/ghs/ghs_welcome_e.html"
+        },
+        {
+            "ReferenceNumber": 77,
+            "SourceName": "ChemIDplus",
+            "SourceID": "ChemIDplus_tree",
+            "Name": "ChemIDplus Chemical Information Classification",
+            "Description": "ChemIDplus is a TOXNET (TOXicology Data NETwork) databases that contain chemicals and drugs related information. It is managed by the Toxicology and Environmental Health Information Program (TEHIP) in the Division of Specialized Information Services (SIS) of the National Library of Medicine (NLM).",
+            "URL": "https://chem.nlm.nih.gov/chemidplus/",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html",
+            "IsToxnet": true
+        },
+        {
+            "ReferenceNumber": 78,
+            "SourceName": "ChEMBL",
+            "SourceID": "Target Tree",
+            "Name": "ChEMBL Protein Target Tree",
+            "Description": "The ChEMBL Protein Target Tree is a structured classification of the protein target entities contained with the ChEMBL resource release version 30.",
+            "URL": "https://www.ebi.ac.uk/chembl/g/#browse/targets",
+            "LicenseNote": "Access to the web interface of ChEMBL is made under the EBI's Terms of Use (http://www.ebi.ac.uk/Information/termsofuse.html). The ChEMBL data is made available on a Creative Commons Attribution-Share Alike 3.0 Unported License (http://creativecommons.org/licenses/by-sa/3.0/).",
+            "LicenseURL": "http://www.ebi.ac.uk/Information/termsofuse.html"
+        },
+        {
+            "ReferenceNumber": 79,
+            "SourceName": "IUPHAR/BPS Guide to PHARMACOLOGY",
+            "SourceID": "Target Classification",
+            "Name": "Guide to Pharmacology Target Classification",
+            "Description": "An expert-driven guide to pharmacological targets and the substances that act on them",
+            "URL": "https://www.guidetopharmacology.org/targets.jsp",
+            "LicenseNote": "The Guide to PHARMACOLOGY database is licensed under the Open Data Commons Open Database License (ODbL) https://opendatacommons.org/licenses/odbl/. Its contents are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (http://creativecommons.org/licenses/by-sa/4.0/)",
+            "LicenseURL": "https://www.guidetopharmacology.org/about.jsp#license"
+        },
+        {
+            "ReferenceNumber": 80,
+            "SourceName": "NORMAN Suspect List Exchange",
+            "SourceID": "norman_sle_tree",
+            "Name": "NORMAN Suspect List Exchange Classification",
+            "Description": "The NORMAN Suspect List Exchange (NORMAN-SLE) is a central access point for NORMAN members (and others) to find suspect lists relevant for their environmental monitoring questions.<br>Update: 05/03/22 09:15:02",
+            "URL": "https://www.norman-network.com/nds/SLE/",
+            "LicenseNote": "Data: CC-BY 4.0; Code (hosted by ECI, LCSB): Artistic-2.0",
+            "LicenseURL": "https://creativecommons.org/licenses/by/4.0/"
+        },
+        {
+            "ReferenceNumber": 81,
+            "SourceName": "CCSbase",
+            "SourceID": "ccsbase_tree",
+            "Name": "CCSbase Classification",
+            "Description": "CCSbase is an integrated platform consisting of a comprehensive database of Collision Cross Section (CCS) measurements taken from a variety of sources and a high-quality and high-throughput CCS prediction model trained with this database using machine learning.",
+            "URL": "https://ccsbase.net/"
+        },
+        {
+            "ReferenceNumber": 82,
+            "SourceName": "EPA DSSTox",
+            "SourceID": "dsstoxlist_tree",
+            "Name": "CompTox Chemicals Dashboard Chemical Lists",
+            "Description": "This classification lists the chemical categories from the EPA CompTox Chemicals Dashboard.<br>Update: 04/28/22 12:53:01",
+            "URL": "https://comptox.epa.gov/dashboard/chemical-lists/",
+            "LicenseURL": "https://www.epa.gov/privacy/privacy-act-laws-policies-and-resources"
+        },
+        {
+            "ReferenceNumber": 84,
+            "SourceName": "International Agency for Research on Cancer (IARC)",
+            "SourceID": "iarc_tree",
+            "Name": "IARC Classification",
+            "Description": "The International Agency for Research on Cancer (IARC) is the specialized cancer agency of the World Health Organization. The objective of the IARC is to promote international collaboration in cancer research.",
+            "URL": "https://www.iarc.fr/",
+            "LicenseNote": "Materials made available by IARC/WHO enjoy copyright protection under the Berne Convention for the Protection of Literature and Artistic Works, under other international conventions, and under national laws on copyright and neighbouring rights. IARC exercises copyright over its Materials to make sure that they are used in accordance with the Agency's principles. All rights are reserved.",
+            "LicenseURL": "https://publications.iarc.fr/Terms-Of-Use"
+        },
+        {
+            "ReferenceNumber": 86,
+            "SourceName": "NCI Thesaurus (NCIt)",
+            "SourceID": "NCIt",
+            "Name": "NCI Thesaurus Tree",
+            "Description": "The NCI Thesaurus (NCIt) provides reference terminology for many NCI and other systems. It covers vocabulary for clinical care, translational and basic research, and public information and administrative activities.",
+            "URL": "https://ncit.nci.nih.gov",
+            "LicenseNote": "Unless otherwise indicated, all text within NCI products is free of copyright and may be reused without our permission. Credit the National Cancer Institute as the source.",
+            "LicenseURL": "https://www.cancer.gov/policies/copyright-reuse"
+        },
+        {
+            "ReferenceNumber": 87,
+            "SourceName": "LOTUS - the natural products occurrence database",
+            "SourceID": "biochem",
+            "Name": "LOTUS Tree",
+            "Description": "Biological and chemical tree provided by the LOTUS (naturaL products occurrence database)",
+            "URL": "https://lotus.naturalproducts.net/",
+            "LicenseNote": "The code for LOTUS is released under the GNU General Public License v3.0.",
+            "LicenseURL": "https://lotus.nprod.net/"
+        },
+        {
+            "ReferenceNumber": 88,
+            "SourceName": "Medical Subject Headings (MeSH)",
+            "SourceID": "68000563",
+            "Name": "Amebicides",
+            "Description": "MeSH (Medical Subject Headings) is the U.S. National Library of Medicine's controlled vocabulary thesaurus used for indexing articles for PubMed.",
+            "URL": "https://www.ncbi.nlm.nih.gov/mesh/68000563",
+            "LicenseNote": "Works produced by the U.S. government are not subject to copyright protection in the United States. Any such works found on National Library of Medicine (NLM) Web sites may be freely used or reproduced without permission in the U.S.",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html"
+        },
+        {
+            "ReferenceNumber": 89,
+            "SourceName": "Medical Subject Headings (MeSH)",
+            "SourceID": "68018501",
+            "Name": "Antirheumatic Agents",
+            "Description": "MeSH (Medical Subject Headings) is the U.S. National Library of Medicine's controlled vocabulary thesaurus used for indexing articles for PubMed.",
+            "URL": "https://www.ncbi.nlm.nih.gov/mesh/68018501",
+            "LicenseNote": "Works produced by the U.S. government are not subject to copyright protection in the United States. Any such works found on National Library of Medicine (NLM) Web sites may be freely used or reproduced without permission in the U.S.",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html"
+        },
+        {
+            "ReferenceNumber": 90,
+            "SourceName": "Medical Subject Headings (MeSH)",
+            "SourceID": "68000962",
+            "Name": "Antimalarials",
+            "Description": "MeSH (Medical Subject Headings) is the U.S. National Library of Medicine's controlled vocabulary thesaurus used for indexing articles for PubMed.",
+            "URL": "https://www.ncbi.nlm.nih.gov/mesh/68000962",
+            "LicenseNote": "Works produced by the U.S. government are not subject to copyright protection in the United States. Any such works found on National Library of Medicine (NLM) Web sites may be freely used or reproduced without permission in the U.S.",
+            "LicenseURL": "https://www.nlm.nih.gov/copyright.html"
+        },
+        {
+            "ReferenceNumber": 91,
+            "SourceName": "PATENTSCOPE (WIPO)",
+            "Name": "SID 403383553",
+            "Description": "The PATENTSCOPE database from WIPO includes patent and chemical structure search (with a free account) that gives access to millions of patent documents. The World Intellectual Property Organisation (WIPO) is a specialized United Nations (UN) agency headquartered in Geneva (Switzerland). Our mission is to lead the development of a balanced and effective international Intellectual Property (IP) system that enables innovation and creativity for the benefit of all. We help governments, businesses and society realize the benefits of Intellectual Property and are notably a world reference source for IP information.",
+            "URL": "https://pubchem.ncbi.nlm.nih.gov/substance/403383553"
+        },
+        {
+            "ReferenceNumber": 92,
+            "SourceName": "NCBI",
+            "SourceID": "LinkOut",
+            "Description": "LinkOut is a service that allows one to link directly from NCBI databases to a wide range of information and services beyond NCBI systems.",
+            "URL": "https://www.ncbi.nlm.nih.gov/projects/linkout"
+        }
+    ]
+}
diff -pruN 8.1.1-4/tests/test_cache.py 8.6.1-1/tests/test_cache.py
--- 8.1.1-4/tests/test_cache.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_cache.py	2025-09-03 19:38:30.000000000 +0000
@@ -37,25 +37,16 @@ class TestCache:
                         cache_size=500, cache_tuning_sample_size=500,
                         cutoff_intersection_for_pairs=1)
 
-        # stats = diff.get_stats()
-        # # Somehow just in python 3.5 the cache stats are different. Weird.
-        # if py_current_version == Decimal('3.5'):
-        #     expected_stats = {
-        #         'PASSES COUNT': 3981,
-        #         'DIFF COUNT': 19586,
-        #         'DISTANCE CACHE HIT COUNT': 11925,
-        #         'MAX PASS LIMIT REACHED': False,
-        #         'MAX DIFF LIMIT REACHED': False
-        #     }
-        # else:
-        #     expected_stats = {
-        #         'PASSES COUNT': 3960,
-        #         'DIFF COUNT': 19469,
-        #         'DISTANCE CACHE HIT COUNT': 11847,
-        #         'MAX PASS LIMIT REACHED': False,
-        #         'MAX DIFF LIMIT REACHED': False
-        #     }
-        # assert expected_stats == stats
+        stats = diff.get_stats()
+        # Somehow just in python 3.5 the cache stats are different. Weird.
+        expected_stats = {
+            'PASSES COUNT': 3960,
+            'DIFF COUNT': 19469,
+            'DISTANCE CACHE HIT COUNT': 11847,
+            'MAX PASS LIMIT REACHED': False,
+            'MAX DIFF LIMIT REACHED': False
+        }
+        assert not DeepDiff(expected_stats, stats, use_log_scale=True)
         assert nested_a_result == diff
         diff_of_diff = DeepDiff(nested_a_result, diff.to_dict(), ignore_order=False)
         assert not diff_of_diff
diff -pruN 8.1.1-4/tests/test_colored_view.py 8.6.1-1/tests/test_colored_view.py
--- 8.1.1-4/tests/test_colored_view.py	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/tests/test_colored_view.py	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,427 @@
+from deepdiff import DeepDiff
+from deepdiff.helper import COLORED_VIEW, COLORED_COMPACT_VIEW
+from deepdiff.colored_view import RED, GREEN, RESET
+
+
+def test_colored_view_basic():
+    t1 = {
+        "name": "John",
+        "age": 30,
+        "gender": "male",
+        "scores": [1, 2, 3],
+        "address": {
+            "city": "New York",
+            "zip": "10001",
+        },
+    }
+
+    t2 = {
+        "name": "John",
+        "age": 31,  # Changed
+        "scores": [1, 2, 4],  # Changed
+        "address": {
+            "city": "Boston",  # Changed
+            "zip": "10001",
+        },
+        "team": "abc",  # Added
+    }
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    result = str(diff)
+
+    expected = f'''{{
+  "name": "John",
+  "age": {RED}30{RESET} -> {GREEN}31{RESET},
+  "scores": [
+    1,
+    2,
+    {RED}3{RESET} -> {GREEN}4{RESET}
+  ],
+  "address": {{
+    "city": {RED}"New York"{RESET} -> {GREEN}"Boston"{RESET},
+    "zip": "10001"
+  }},
+  {GREEN}"team": {GREEN}"abc"{RESET}{RESET},
+  {RED}"gender": {RED}"male"{RESET}{RESET}
+}}'''
+    assert result == expected
+
+
+def test_colored_view_nested_changes():
+    t1 = {
+        "level1": {
+            "level2": {
+                "level3": {
+                    "level4": True
+                }
+            }
+        }
+    }
+
+    t2 = {
+        "level1": {
+            "level2": {
+                "level3": {
+                    "level4": False
+                }
+            }
+        }
+    }
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    result = str(diff)
+
+    expected = f'''{{
+  "level1": {{
+    "level2": {{
+      "level3": {{
+        "level4": {RED}true{RESET} -> {GREEN}false{RESET}
+      }}
+    }}
+  }}
+}}'''
+    assert result == expected
+
+
+def test_colored_view_list_changes():
+    t1 = [1, 2, 3, 4]
+    t2 = [1, 5, 3, 6]
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    result = str(diff)
+
+    expected = f'''[
+  1,
+  {RED}2{RESET} -> {GREEN}5{RESET},
+  3,
+  {RED}4{RESET} -> {GREEN}6{RESET}
+]'''
+    assert result == expected
+
+
+def test_colored_view_list_deletions():
+    t1 = [1, 2, 3, 4, 5, 6]
+    t2 = [2, 4]
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    result = str(diff)
+
+    expected = f'''[
+  {RED}1{RESET},
+  2,
+  {RED}3{RESET},
+  4,
+  {RED}5{RESET},
+  {RED}6{RESET}
+]'''
+    assert result == expected
+
+
+def test_colored_view_list_additions():
+    t1 = [2, 4]
+    t2 = [1, 2, 3, 4, 5]
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    result = str(diff)
+
+    expected = f'''[
+  {GREEN}1{RESET},
+  2,
+  {GREEN}3{RESET},
+  4,
+  {GREEN}5{RESET}
+]'''
+    assert result == expected
+
+
+def test_colored_view_list_changes_deletions():
+    t1 = [1, 5, 7, 3, 6]
+    t2 = [1, 2, 3, 4]
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    result = str(diff)
+
+    expected = f'''[
+  1,
+  {RED}5{RESET} -> {GREEN}2{RESET},
+  {RED}7{RESET},
+  3,
+  {RED}6{RESET} -> {GREEN}4{RESET}
+]'''
+    assert result == expected
+
+
+def test_colored_view_list_changes_additions():
+    t1 = [1, 2, 3, 4]
+    t2 = [1, 5, 7, 3, 6]
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    result = str(diff)
+
+    expected = f'''[
+  1,
+  {RED}2{RESET} -> {GREEN}5{RESET},
+  {GREEN}7{RESET},
+  3,
+  {RED}4{RESET} -> {GREEN}6{RESET}
+]'''
+    assert result == expected
+
+
+def test_colored_view_list_no_changes_with_ignore_order():
+    t1 = [1, 2, 3]
+    t2 = [3, 2, 1]
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW, ignore_order=True)
+    result = str(diff)
+
+    expected = '''[
+  3,
+  2,
+  1
+]'''
+    assert result == expected
+
+
+def test_colored_view_list_with_ignore_order():
+    t1 = {
+        "hobbies": [
+            "reading",
+            "hiking"
+        ]
+    }
+
+    t2 = {
+        "hobbies": [
+            "hiking",
+            "painting",
+            "coding"
+        ]
+    }
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW, ignore_order=True)
+    result = str(diff)
+
+    expected = f'''{{
+  "hobbies": [
+    {RED}"reading"{RESET},
+    "hiking",
+    {GREEN}"painting"{RESET},
+    {GREEN}"coding"{RESET}
+  ]
+}}'''
+    assert result == expected
+
+
+def test_colored_view_no_changes():
+    t1 = {"a": 1, "b": 2}
+    t2 = {"a": 1, "b": 2}
+
+    diff = DeepDiff(t1, t2, view=COLORED_VIEW)
+    result = str(diff)
+
+    expected = '''{
+  "a": 1,
+  "b": 2
+}'''
+    assert result == expected
+
+
+def test_compact_view_basic():
+    t1 = {
+        "name": "John",
+        "age": 30,
+        "gender": "male",
+        "scores": [1, 2, 3],
+        "address": {
+            "city": "New York",
+            "zip": "10001",
+            "details": {
+                "type": "apartment",
+                "floor": 5
+            }
+        },
+        "hobbies": ["reading", {"sport": "tennis", "level": "advanced"}]
+    }
+
+    t2 = {
+        "name": "John",
+        "age": 31,  # Changed
+        "scores": [1, 2, 4],  # Changed
+        "address": {
+            "city": "Boston",  # Changed
+            "zip": "10001",
+            "details": {
+                "type": "apartment",
+                "floor": 5
+            }
+        },
+        "team": "abc",  # Added
+        "hobbies": ["reading", {"sport": "tennis", "level": "advanced"}]
+    }
+
+    diff = DeepDiff(t1, t2, view=COLORED_COMPACT_VIEW)
+    result = str(diff)
+
+    expected = f'''{{
+  "name": "John",
+  "age": {RED}30{RESET} -> {GREEN}31{RESET},
+  "scores": [
+    1,
+    2,
+    {RED}3{RESET} -> {GREEN}4{RESET}
+  ],
+  "address": {{
+    "city": {RED}"New York"{RESET} -> {GREEN}"Boston"{RESET},
+    "zip": "10001",
+    "details": {{...}}
+  }},
+  {GREEN}"team": {GREEN}"abc"{RESET}{RESET},
+  "hobbies": [...],
+  {RED}"gender": {RED}"male"{RESET}{RESET}
+}}'''
+    assert result == expected
+
+
+def test_compact_view_nested_changes():
+    t1 = {
+        "level1": {
+            "unchanged1": {
+                "deep1": True,
+                "deep2": [1, 2, 3]
+            },
+            "level2": {
+                "a": 1,
+                "b": "test",
+                "c": [1, 2, 3],
+                "d": {"x": 1, "y": 2}
+            },
+            "unchanged2": [1, 2, {"a": 1}]
+        }
+    }
+
+    t2 = {
+        "level1": {
+            "unchanged1": {
+                "deep1": True,
+                "deep2": [1, 2, 3]
+            },
+            "level2": {
+                "a": 2,  # Changed
+                "b": "test",
+                "c": [1, 2, 4],  # Changed
+                "d": {"x": 1, "y": 3}  # Changed
+            },
+            "unchanged2": [1, 2, {"a": 1}]
+        }
+    }
+
+    diff = DeepDiff(t1, t2, view=COLORED_COMPACT_VIEW)
+    result = str(diff)
+
+    expected = f'''{{
+  "level1": {{
+    "unchanged1": {{...}},
+    "level2": {{
+      "a": {RED}1{RESET} -> {GREEN}2{RESET},
+      "b": "test",
+      "c": [
+        1,
+        2,
+        {RED}3{RESET} -> {GREEN}4{RESET}
+      ],
+      "d": {{
+        "x": 1,
+        "y": {RED}2{RESET} -> {GREEN}3{RESET}
+      }}
+    }},
+    "unchanged2": [...]
+  }}
+}}'''
+    assert result == expected
+
+
+def test_compact_view_no_changes():
+    # Test with dict
+    t1 = {"a": 1, "b": [1, 2], "c": {"x": True}}
+    t2 = {"a": 1, "b": [1, 2], "c": {"x": True}}
+    diff = DeepDiff(t1, t2, view=COLORED_COMPACT_VIEW)
+    assert str(diff) == "{...}"
+
+    # Test with list
+    t1 = [1, {"a": 1}, [1, 2]]
+    t2 = [1, {"a": 1}, [1, 2]]
+    diff = DeepDiff(t1, t2, view=COLORED_COMPACT_VIEW)
+    assert str(diff) == "[...]"
+
+
+def test_compact_view_list_changes():
+    t1 = [1, {"a": 1, "b": {"x": 1, "y": 2}}, [1, 2, {"z": 3}]]
+    t2 = [1, {"a": 2, "b": {"x": 1, "y": 2}}, [1, 2, {"z": 3}]]
+
+    diff = DeepDiff(t1, t2, view=COLORED_COMPACT_VIEW)
+    result = str(diff)
+
+    expected = f'''[
+  1,
+  {{
+    "a": {RED}1{RESET} -> {GREEN}2{RESET},
+    "b": {{...}}
+  }},
+  [...]
+]'''
+    assert result == expected
+
+
+def test_compact_view_primitive_siblings():
+    t1 = {
+        "changed": 1,
+        "str_sibling": "hello",
+        "int_sibling": 42,
+        "bool_sibling": True,
+        "nested_sibling": {"a": 1, "b": 2}
+    }
+
+    t2 = {
+        "changed": 2,
+        "str_sibling": "hello",
+        "int_sibling": 42,
+        "bool_sibling": True,
+        "nested_sibling": {"a": 1, "b": 2}
+    }
+
+    diff = DeepDiff(t1, t2, view=COLORED_COMPACT_VIEW)
+    result = str(diff)
+
+    expected = f'''{{
+  "changed": {RED}1{RESET} -> {GREEN}2{RESET},
+  "str_sibling": "hello",
+  "int_sibling": 42,
+  "bool_sibling": true,
+  "nested_sibling": {{...}}
+}}'''
+    assert result == expected
+
+
+def test_colored_view_bool_evaluation():
+    # Test COLORED_VIEW
+    # Scenario 1: No differences
+    t1_no_diff = {"a": 1, "b": 2}
+    t2_no_diff = {"a": 1, "b": 2}
+    diff_no_diff_colored = DeepDiff(t1_no_diff, t2_no_diff, view=COLORED_VIEW)
+    assert not bool(diff_no_diff_colored), "bool(diff) should be False when no diffs (colored view)"
+
+    # Scenario 2: With differences
+    t1_with_diff = {"a": 1, "b": 2}
+    t2_with_diff = {"a": 1, "b": 3}
+    diff_with_diff_colored = DeepDiff(t1_with_diff, t2_with_diff, view=COLORED_VIEW)
+    assert bool(diff_with_diff_colored), "bool(diff) should be True when diffs exist (colored view)"
+
+    # Test COLORED_COMPACT_VIEW
+    # Scenario 1: No differences
+    diff_no_diff_compact = DeepDiff(t1_no_diff, t2_no_diff, view=COLORED_COMPACT_VIEW)
+    assert not bool(diff_no_diff_compact), "bool(diff) should be False when no diffs (compact view)"
+
+    # Scenario 2: With differences
+    diff_with_diff_compact = DeepDiff(t1_with_diff, t2_with_diff, view=COLORED_COMPACT_VIEW)
+    assert bool(diff_with_diff_compact), "bool(diff) should be True when diffs exist (compact view)"
diff -pruN 8.1.1-4/tests/test_delta.py 8.6.1-1/tests/test_delta.py
--- 8.1.1-4/tests/test_delta.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_delta.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,5 +1,6 @@
 import copy
-
+import datetime
+from typing import NamedTuple
 import pytest
 import os
 import io
@@ -170,8 +171,9 @@ class TestBasicsOfDelta:
         diff = DeepDiff(t1, t2)
         delta = Delta(diff)
         options = {
-            "<Delta: {'iterable_item_added': {'root[2]': 3, 'root[3]': 5}}>",
-            "<Delta: {'iterable_item_added': {'root[3]': 5, 'root[2]': 3}}>"}
+            '<Delta: {"iterable_item_added":{"root[2]":3,"root[3]":5}}>',
+            '<Delta: {"iterable_item_added":{"root[3]":5,"root[2]":3}}>',
+        }
         assert repr(delta) in options
 
     def test_get_elem_and_compare_to_old_value(self):
@@ -194,7 +196,8 @@ class TestBasicsOfDelta:
             delta._simple_set_elem_value(
                 obj={}, elem={1}, value=None, action=GET, path_for_err_reporting='mypath')
         assert str(excinfo.value) in {"Failed to set mypath due to unhashable type: 'set'",
-                                      "Failed to set mypath due to 'set' objects are unhashable"}
+                                      "Failed to set mypath due to 'set' objects are unhashable",
+                                      "Failed to set mypath due to cannot use 'set' as a dict key (unhashable type: 'set')"}
 
     def test_simple_delete_elem(self):
         delta = Delta({}, raise_errors=True)
@@ -623,7 +626,26 @@ class TestBasicsOfDelta:
         assert flat_rows_list == preserved_flat_dict_list
         assert flat_rows_list == flat_rows_list_again
 
+    def test_namedtuple_add_delta(self):
+        class Point(NamedTuple):
+           x: int
+           y: int
+
+        p1 = Point(1, 1)
+        p2 = Point(1, 2)
+        diff = DeepDiff(p1, p2)
+        delta = Delta(diff)
+        assert p2 == p1 + delta
 
+    def test_namedtuple_frozenset_add_delta(self):
+        class Article(NamedTuple):
+            tags: frozenset
+        a1 = Article(frozenset(["a" ]))
+        a2 = Article(frozenset(["a", "b"]))
+        diff = DeepDiff(a1, a2)
+        delta = Delta(diff)
+        assert a2 == a1 + delta
+ 
 picklalbe_obj_without_item = PicklableClass(11)
 del picklalbe_obj_without_item.item
 
@@ -1486,6 +1508,7 @@ class TestDeltaOther:
             'include_obj_callback_strict': None,
             'exclude_obj_callback': None,
             'exclude_obj_callback_strict': None,
+            'ignore_uuid_types': False,
             'ignore_private_variables': True,
             'ignore_nan_inequality': False,
             'hasher': None,
@@ -1505,6 +1528,7 @@ class TestDeltaOther:
             'encodings': None,
             'ignore_encoding_errors': False,
             'iterable_compare_func': None,
+            'default_timezone': datetime.timezone.utc,
         }
 
         expected = {'iterable_items_added_at_indexes': {'root': {1: 1, 2: 1, 3: 1}}, 'iterable_items_removed_at_indexes': {'root': {1: 2, 2: 2}}}
@@ -1808,6 +1832,21 @@ class TestDeltaOther:
         delta_again = Delta(flat_rows_list=flat_expected)
         assert delta.diff == delta_again.diff
 
+    def test_delta_array_of_bytes(self):
+        t1 = []
+        t2 = [b"hello"]
+        diff = DeepDiff(t1, t2)
+        expected_diff = {'iterable_item_added': {'root[0]': b'hello'}}
+        assert expected_diff == diff
+        delta = Delta(diff)
+        flat_result = delta.to_flat_rows()
+        flat_expected = [FlatDeltaRow(path=[0], action=FlatDataAction.iterable_item_added, value=b'hello', type=bytes)]
+        assert flat_expected == flat_result
+
+        delta_again = Delta(flat_rows_list=flat_expected)
+        assert delta.diff == delta_again.diff
+        assert t1 + delta_again == t2
+
     def test_delta_with_json_serializer(self):
         t1 = {"a": 1}
         t2 = {"a": 2}
@@ -1878,14 +1917,59 @@ class TestDeltaCompareFunc:
         assert compare_func_t2 == recreated_t2
 
     def test_compare_func_with_duplicates_removed(self):
-        t1 = [{'id': 1, 'val': 1}, {'id': 2, 'val': 2}, {'id': 1, 'val': 3}, {'id': 3, 'val': 3}]
-        t2 = [{'id': 3, 'val': 3}, {'id': 2, 'val': 2}, {'id': 1, 'val': 3}]
+        t1 = [
+            {
+                'id': 1,
+                'val': 1,
+                "nested": [
+                    {"id": 1, "val": 1},
+                    {"id": 2, "val": 2},
+                ]
+            },
+            {
+                'id': 2,
+                'val': 2
+            },
+            {
+                'id': 1,
+                'val': 3
+            },
+            {
+                'id': 3,
+                'val': 3
+            }
+        ]
+        t2 = [
+            {
+                'id': 3,
+                'val': 3
+            },
+            {
+                'id': 2,
+                'val': 2
+            },
+            {
+                'id': 1,
+                'val': 3,
+                "nested":[
+                    {
+                        "id": 2,
+                        "val": 3
+                    },
+                ]
+            }
+        ]
         ddiff = DeepDiff(t1, t2, iterable_compare_func=self.compare_func, verbose_level=2)
         expected = {
             "iterable_item_removed": {
                 "root[2]": {
                     "id": 1,
                     "val": 3
+                },
+
+                "root[2]['nested'][0]": {
+                    "id": 1,
+                    "val": 1
                 }
             },
             "iterable_item_moved": {
@@ -1893,6 +1977,14 @@ class TestDeltaCompareFunc:
                     "new_path": "root[2]",
                     "value": {
                         "id": 1,
+                        "val": 3,
+                        "nested": [{"id": 2, "val": 3}, ]
+                    },
+                },
+                "root[0]['nested'][1]": {
+                    "new_path": "root[2]['nested'][0]",
+                    "value": {
+                        "id": 2,
                         "val": 3
                     }
                 },
@@ -1905,6 +1997,11 @@ class TestDeltaCompareFunc:
                 }
             },
             'values_changed': {
+                "root[2]['nested'][0]['val']": {
+                    'new_path': "root[0]['nested'][1]['val']",
+                    'new_value': 3,
+                    'old_value': 2
+                },
                 "root[2]['val']": {
                     'new_value': 3,
                     'old_value': 1,
@@ -1912,6 +2009,7 @@ class TestDeltaCompareFunc:
                 }
             },
         }
+
         assert expected == ddiff
         delta = Delta(ddiff)
         recreated_t2 = t1 + delta
@@ -1920,10 +2018,14 @@ class TestDeltaCompareFunc:
         flat_result = delta.to_flat_rows()
         flat_expected = [
             {'path': [2, 'val'], 'value': 3, 'action': 'values_changed', 'type': int, 'new_path': [0, 'val']},
+            {'path': [2, 'nested', 0, 'val'], 'value': 3, 'action': 'values_changed', 'type': int, 'new_path': [0, 'nested', 1, 'val']},
+            {'path': [2, 'nested', 0], 'value': {'id': 1, 'val': 1}, 'action': 'iterable_item_removed', 'type': dict},
             {'path': [2], 'value': {'id': 1, 'val': 3}, 'action': 'iterable_item_removed', 'type': dict},
-            {'path': [0], 'value': {'id': 1, 'val': 3}, 'action': 'iterable_item_removed', 'type': dict},
+            {'path': [0], 'value': {'id': 1, 'val': 3, 'nested': [{'id': 2, 'val': 3}]}, 'action': 'iterable_item_removed', 'type': dict},
+            {'path': [0, 'nested', 1], 'value': {'id': 2, 'val': 3}, 'action': 'iterable_item_removed', 'type': dict},
             {'path': [3], 'value': {'id': 3, 'val': 3}, 'action': 'iterable_item_removed', 'type': dict},
-            {'path': [0], 'action': 'iterable_item_moved', 'value': {'id': 1, 'val': 3}, 'new_path': [2], 'type': dict},
+            {'path': [0], 'action': 'iterable_item_moved', 'value': {'id': 1, 'val': 3, 'nested': [{'id': 2, 'val': 3}]}, 'new_path': [2], 'type': dict},
+            {'path': [0, 'nested', 1], 'value': {'id': 2, 'val': 3}, 'action': 'iterable_item_moved', 'type': dict, 'new_path': [2, 'nested', 0]},
             {'path': [3], 'action': 'iterable_item_moved', 'value': {'id': 3, 'val': 3}, 'new_path': [0], 'type': dict},
         ]
         flat_expected = [FlatDeltaRow(**i) for i in flat_expected]
@@ -1940,11 +2042,20 @@ class TestDeltaCompareFunc:
                 },
                 'root[0]': {
                     'id': 1,
-                    'val': 3
+                    'val': 3,
+                    'nested': [{'id': 2, 'val': 3}]
                 },
                 'root[3]': {
                     'id': 3,
                     'val': 3
+                },
+                "root[2]['nested'][0]": {
+                    "id": 1,
+                    "val": 1
+                },
+                "root[0]['nested'][1]": {
+                    "id": 2,
+                    "val": 3
                 }
             },
             'iterable_item_moved': {
@@ -1952,6 +2063,14 @@ class TestDeltaCompareFunc:
                     'new_path': 'root[2]',
                     'value': {
                         'id': 1,
+                        'val': 3,
+                        'nested': [{'id': 2, 'val': 3}]
+                    }
+                },
+                "root[0]['nested'][1]": {
+                    'new_path': "root[2]['nested'][0]",
+                    'value': {
+                        'id': 2,
                         'val': 3
                     }
                 },
@@ -1966,8 +2085,12 @@ class TestDeltaCompareFunc:
             'values_changed': {
                 "root[2]['val']": {
                     'new_value': 3,
-                    'new_path': "root[0]['val']"
-                }
+                    'new_path': "root[0]['val']",
+                },
+                "root[2]['nested'][0]['val']": {
+                    'new_path': "root[0]['nested'][1]['val']",
+                    'new_value': 3,
+                },
             }
         }
         assert expected_delta_dict == delta_again.diff
@@ -2102,6 +2225,168 @@ class TestDeltaCompareFunc:
         recreated_t2 = t1 + delta
         assert t2 == recreated_t2
 
+    def test_compare_func_deep_nested_changes(self):
+
+        t1 = {
+            "Locations": [
+                {
+                    "id": "c4fa7b12-f365-42a9-9544-3efc11963558",
+                    "Items": [
+                        {
+                            "id": "2399528f-2556-4e2c-bf9b-c8ea17bc323f"
+                        },
+                        {
+                            "id": "2399528f-2556-4e2c-bf9b-c8ea17bc323f1",
+                        },
+                        {
+                            "id": "2399528f-2556-4e2c-bf9b-c8ea17bc323f2"
+                        },
+                        {
+                            "id": "2399528f-2556-4e2c-bf9b-c8ea17bc323f3"
+                        }
+                    ]
+                },
+                {
+                    "id": "d9095676-bc41-4cbf-9fd2-7148bb26bcc4",
+                    "Items": [
+                        {
+                            "id": "26b78305-df71-40c0-8e98-dcd40b7f716d"
+                        },
+                        {
+                            "id": "3235125d-0110-4d0e-847a-24912cf73feb"
+                        },
+                        {
+                            "id": "7699552a-add9-4338-aeb9-662bec14c175"
+                        },
+                        {
+                            "id": "015e74f0-2c2a-45c0-a172-21758d14bf3a"
+                        }
+                    ]
+                },
+                {
+                    "id": "41b38757-8984-47fd-890d-8c4ed18c3c47",
+                    "Items": [
+                        {
+                            "id": "494e839e-37b1-4cac-b1dc-a44f3e6e7ada"
+                        },
+                        {
+                            "id": "60547ca6-3ef0-4b67-8826-2c7b76e67011"
+                        },
+                        {
+                            "id": "cee762a0-fbd8-48bb-ba92-be32cf3cf250"
+                        },
+                        {
+                            "id": "7a0da2b7-c1e6-45b4-8810-fec7b4b6186d"
+                        }
+                    ]
+                },
+                {
+                    "id": "c0be071a-5457-497d-9a78-ff7cb561d4d3",
+                    "Items": [
+                        {
+                            "id": "e54dcdff-ec99-4941-92eb-c12bb3cbeb91"
+                        }
+                    ]
+                },
+                {
+                    "id": "dfe4b37b-8df3-4dc6-8686-0588937fbe10",
+                    "Items": [
+                        {
+                            "id": "27a574ae-08db-47f9-a9dc-18df59287f4d"
+                        },
+                        {
+                            "id": "23edf031-8c4e-43d6-b5bf-4d5ee9008a36",
+                            "Containers": [
+                                {"id": "1", "val": 1},
+                                {"id": "2", "val": 2},
+                                {"id": "3", "val": 3},
+                            ]
+                        },
+                        {
+                            "id": "e1e54643-23ee-496d-b7d2-de67c4bb7d68"
+                        },
+                        {
+                            "id": "2f910da3-8cd0-4cf5-81c9-23668fc9477f"
+                        },
+                        {
+                            "id": "5e36d258-2a82-49ee-b4fc-db0a8c28b404"
+                        },
+                        {
+                            "id": "4bf2ce8d-05ed-4718-a529-8c9e4704e38f"
+                        },
+                    ]
+                },
+            ]
+        }
+
+        t2 = {
+            "Locations": [
+                {
+                    "id": "41b38757-8984-47fd-890d-8c4ed18c3c47",
+                    "Items": [
+                        {
+                            "id": "60547ca6-3ef0-4b67-8826-2c7b76e67011"
+                        },
+                        {
+                            "id": "cee762a0-fbd8-48bb-ba92-be32cf3cf250"
+                        },
+                        {
+                            "id": "7a0da2b7-c1e6-45b4-8810-fec7b4b6186d"
+                        }
+                    ]
+                },
+                {
+                    "id": "c0be071a-5457-497d-9a78-ff7cb561d4d3",
+                    "Items": [
+                        {
+                            "id": "e54dcdff-ec99-4941-92eb-c12bb3cbeb91"
+                        }
+                    ]
+                },
+                {
+                    "id": "dfe4b37b-8df3-4dc6-8686-0588937fbe10",
+                    "Items": [
+                        {
+                            "id": "27a574ae-08db-47f9-a9dc-18df59287f4d"
+                        },
+                        {
+                            "id": "27a574ae-08db-47f9-a9dc-88df59287f4d"
+                        },
+                        {
+                            "id": "23edf031-8c4e-43d6-b5bf-4d5ee9008a36",
+                            "Containers": [
+                                {"id": "1", "val": 1},
+                                {"id": "3", "val": 3},
+                                {"id": "2", "val": 2},
+                            ]
+                        },
+                        {
+                            "id": "e1e54643-23ee-496d-b7d2-de67c4bb7d68"
+                        },
+                        {
+                            "id": "2f910da3-8cd0-4cf5-81c9-23668fc9477f"
+                        },
+                        {
+                            "id": "5e36d258-2a82-49ee-b4fc-db0a8c28b404"
+                        },
+                        {
+                            "id": "4bf2ce8d-05ed-4718-a529-8c9e4704e38f"
+                        },
+                    ]
+                },
+            ]
+        }
+
+        ddiff = DeepDiff(t1, t2, iterable_compare_func=self.compare_func, verbose_level=2)
+
+        delta2 = Delta(ddiff)
+        expected_move_1 = {'new_path': "root['Locations'][2]['Items'][2]['Containers'][2]", 'value': {'id': '2', 'val': 2}}
+        expected_move_2 = {'new_path': "root['Locations'][2]['Items'][2]['Containers'][1]", 'value': {'id': '3', 'val': 3}}
+        assert ddiff["iterable_item_moved"]["root['Locations'][4]['Items'][1]['Containers'][1]"] == expected_move_1
+        assert ddiff["iterable_item_moved"]["root['Locations'][4]['Items'][1]['Containers'][2]"] == expected_move_2
+        recreated_t2 = t1 + delta2
+        assert t2 == recreated_t2
+
     def test_delta_force1(self):
         t1 = {
             'x': {
@@ -2129,6 +2414,48 @@ class TestDeltaCompareFunc:
         expected = {'x': {'y': {3: 4}}, 'q': {'t': 0.5}}
         assert expected == result
 
+    def test_delta_force_fill(self):
+        t1 = {
+            'x': {
+                'y': [{"b": "c"}, {"b": "c"}, {"b": "c"}, {"b": "c"}]
+            },
+            'q': {
+                'r': 'abc',
+            }
+        }
+
+        t2 = {
+            'x': {
+                'y': [{"b": "c"}, {"b": "c"}, {"b": "c"}, {"b": "c"}, {"b": "c"}, {"b": "c"}, {"b": "c"}]
+            },
+            'q': {
+                'r': 'abc',
+                't': 0.5,
+            }
+        }
+
+        diff = DeepDiff(t1, t2)
+
+        delta = Delta(diff=diff, force=True)
+        result = {"x": {"y": [1,]}} + delta
+        expected = {'x': {'y': [1]}, 'q': {'t': 0.5}}
+        assert expected == result
+
+
+        delta = Delta(diff=diff, force=True, fill=None)
+        result = {"x": {"y": [1,]}} + delta
+        expected = {'x': {'y': [1, None, None, None, {"b": "c"}, {"b": "c"}, {"b": "c"}]}, 'q': {'t': 0.5}}
+        assert expected == result
+
+
+        def fill_func(obj, value, path):
+            return value.copy()
+
+        delta = Delta(diff=diff, force=True, fill=fill_func)
+        result = {"x": {"y": [1,]}} + delta
+        expected = {'x': {'y': [1, {"b": "c"}, {"b": "c"}, {"b": "c"}, {"b": "c"}, {"b": "c"}, {"b": "c"}]}, 'q': {'t': 0.5}}
+        assert expected == result
+
     def test_flatten_dict_with_one_key_added(self):
         t1 = {"field1": {"joe": "Joe"}}
         t2 = {"field1": {"joe": "Joe Nobody"}, "field2": {"jimmy": "Jimmy"}}
diff -pruN 8.1.1-4/tests/test_diff_datetime.py 8.6.1-1/tests/test_diff_datetime.py
--- 8.1.1-4/tests/test_diff_datetime.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_diff_datetime.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,4 +1,5 @@
-from datetime import date, datetime, time
+import pytz
+from datetime import date, datetime, time, timezone
 from deepdiff import DeepDiff
 
 
@@ -19,8 +20,8 @@ class TestDiffDatetime:
         expected = {
             "values_changed": {
                 "root['a']": {
-                    "new_value": datetime(2023, 7, 5, 11, 11, 12),
-                    "old_value": datetime(2023, 7, 5, 10, 11, 12),
+                    "new_value": datetime(2023, 7, 5, 11, 11, 12, tzinfo=timezone.utc),
+                    "old_value": datetime(2023, 7, 5, 10, 11, 12, tzinfo=timezone.utc),
                 }
             }
         }
@@ -73,3 +74,52 @@ class TestDiffDatetime:
             }
         }
         assert res == expected
+
+    def test_diffs_datetimes_different_timezones(self):
+        dt_utc = datetime(2025, 2, 3, 12, 0, 0, tzinfo=pytz.utc)  # UTC timezone
+        # Convert it to another timezone (e.g., New York)
+        dt_ny = dt_utc.astimezone(pytz.timezone('America/New_York'))
+        assert dt_utc == dt_ny
+        diff = DeepDiff(dt_utc, dt_ny)
+        assert not diff
+
+        t1 = [dt_utc, dt_ny]
+        t2 = [dt_ny, dt_utc]
+        assert not DeepDiff(t1, t2)
+        assert not DeepDiff(t1, t2, ignore_order=True)
+
+        t2 = [dt_ny, dt_utc, dt_ny]
+        assert not DeepDiff(t1, t2, ignore_order=True)
+
+    def test_diffs_datetimes_in_different_timezones(self):
+        dt_utc = datetime(2025, 2, 3, 12, 0, 0, tzinfo=pytz.utc)  # UTC timezone
+        dt_utc2 = datetime(2025, 2, 3, 11, 0, 0, tzinfo=pytz.utc)  # UTC timezone
+        dt_ny = dt_utc.astimezone(pytz.timezone('America/New_York'))
+        dt_ny2 = dt_utc2.astimezone(pytz.timezone('America/New_York'))
+        diff = DeepDiff(dt_ny, dt_ny2)
+        assert {
+            "values_changed": {
+                "root": {
+                    "new_value": dt_utc2,
+                    "old_value": dt_utc,
+                }
+            }
+        } == diff
+        diff2 = DeepDiff(dt_ny, dt_ny2, default_timezone=pytz.timezone('America/New_York'))
+        assert {
+            "values_changed": {
+                "root": {
+                    "new_value": dt_ny2,
+                    "old_value": dt_ny,
+                }
+            }
+        } == diff2
+
+    def test_datetime_within_array_with_timezone_diff(self):
+        d1 = [datetime(2020, 8, 31, 13, 14, 1)]
+        d2 = [datetime(2020, 8, 31, 13, 14, 1, tzinfo=timezone.utc)]
+
+        assert d1 != d2, "Python doesn't think these are the same datetimes"
+        assert not DeepDiff(d1, d2)
+        assert not DeepDiff(d1, d2, ignore_order=True)
+        assert not DeepDiff(d1, d2, truncate_datetime='second')
diff -pruN 8.1.1-4/tests/test_diff_math.py 8.6.1-1/tests/test_diff_math.py
--- 8.1.1-4/tests/test_diff_math.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_diff_math.py	2025-09-03 19:38:30.000000000 +0000
@@ -110,3 +110,17 @@ class TestDiffMath:
         }
         assert res == expected
         # assert "math_epsilon will be ignored." in caplog.text
+
+    def test_ignore_numeric_type_changes_with_numeric_keys_and_no_significant_digits(self):
+        """Test that ignore_numeric_type_changes works with numeric keys when significant_digits is None.
+        
+        This test covers the bug fix in _get_clean_to_keys_mapping where significant_digits=None
+        caused a crash when number_to_string was called without the required parameter.
+        """
+        # Test case with numeric keys and ignore_numeric_type_changes=True, significant_digits=None
+        d1 = {1: "value1", 2.5: "value2"}  
+        d2 = {1.0: "value1", 2.5: "value2"}  # int vs float keys
+        
+        # This should not crash and should treat 1 and 1.0 as the same key
+        result = DeepDiff(d1, d2, ignore_numeric_type_changes=True, significant_digits=None)
+        assert result == {}
diff -pruN 8.1.1-4/tests/test_diff_numpy.py 8.6.1-1/tests/test_diff_numpy.py
--- 8.1.1-4/tests/test_diff_numpy.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_diff_numpy.py	2025-09-03 19:38:30.000000000 +0000
@@ -143,6 +143,25 @@ NUMPY_CASES = {
             }
         },
     },
+    'numpy_datetime_equal': {
+        't1': np.datetime64('2023-07-05T10:11:12'),
+        't2': np.datetime64('2023-07-05T10:11:12'),
+        'deepdiff_kwargs': {},
+        'expected_result': {},
+    },
+    'numpy_datetime_unequal': {
+        't1': np.datetime64('2023-07-05T10:11:12'),
+        't2': np.datetime64('2024-07-05T10:11:12'),
+        'deepdiff_kwargs': {},
+        'expected_result': {
+            'values_changed': {
+                'root': {
+                    'new_value': np.datetime64('2024-07-05T10:11:12'),
+                    'old_value': np.datetime64('2023-07-05T10:11:12'),
+                }
+            },
+        },
+    },
 }
 
 
diff -pruN 8.1.1-4/tests/test_diff_other.py 8.6.1-1/tests/test_diff_other.py
--- 8.1.1-4/tests/test_diff_other.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_diff_other.py	2025-09-03 19:38:30.000000000 +0000
@@ -12,6 +12,7 @@ from deepdiff.diff import (
     PURGE_LEVEL_RANGE_MSG)
 from concurrent.futures.process import ProcessPoolExecutor
 from concurrent.futures import as_completed
+from ipaddress import IPv4Address
 
 # Only the prep part of DeepHash. We don't need to test the actual hash function.
 DeepHashPrep = partial(DeepHash, apply_hash=False)
@@ -200,3 +201,9 @@ class TestDiffOther:
             for future in as_completed(futures, timeout=10):
                 assert not future._exception
                 assert expected_result == future._result
+
+    def test_ip_address_diff(self):
+        ip1 = IPv4Address("128.0.0.1")
+        ip2 = IPv4Address("128.0.0.2")
+        diff = DeepDiff(ip1, ip2)
+        assert {'values_changed': {'root': {'new_value': IPv4Address('128.0.0.2'), 'old_value': IPv4Address('128.0.0.1')}}} == diff
diff -pruN 8.1.1-4/tests/test_diff_text.py 8.6.1-1/tests/test_diff_text.py
--- 8.1.1-4/tests/test_diff_text.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_diff_text.py	2025-09-03 19:38:30.000000000 +0000
@@ -9,9 +9,8 @@ from dataclasses import dataclass
 from typing import List
 from decimal import Decimal
 from deepdiff import DeepDiff
-from deepdiff.helper import pypy3, PydanticBaseModel
+from deepdiff.helper import pypy3, PydanticBaseModel, np_float64
 from tests import CustomClass
-from deepdiff.helper import np_float64
 
 
 logging.disable(logging.CRITICAL)
@@ -1446,7 +1445,8 @@ class TestDeepDiffText:
         t1 = [1, 2, 3, 'a', now]
         t2 = [1, 2, 3, 'a', 'now']
         ddiff = DeepDiff(t1, t2, ignore_type_in_groups=[(str, bytes, datetime.datetime)])
-        result = {'values_changed': {'root[4]': {'new_value': 'now', 'old_value': now}}}
+        now_utc = now.replace(tzinfo=datetime.timezone.utc)
+        result = {'values_changed': {'root[4]': {'new_value': 'now', 'old_value': now_utc}}}
         assert result == ddiff
 
     def test_ignore_type_in_groups_float_vs_decimal(self):
@@ -2146,20 +2146,20 @@ class TestDeepDiffText:
         assert d == {
             "values_changed": {
                 "root[0]": {
-                    "new_value": datetime.datetime(2011, 12, 31, 0, 0),
-                    "old_value": datetime.datetime(2014, 12, 31, 0, 0),
+                    "new_value": datetime.datetime(2011, 12, 31, 0, 0, tzinfo=datetime.timezone.utc),
+                    "old_value": datetime.datetime(2014, 12, 31, 0, 0, tzinfo=datetime.timezone.utc),
                 },
                 "root[1]": {
-                    "new_value": datetime.datetime(2012, 1, 31, 0, 0),
-                    "old_value": datetime.datetime(2015, 1, 31, 0, 0),
+                    "new_value": datetime.datetime(2012, 1, 31, 0, 0, tzinfo=datetime.timezone.utc),
+                    "old_value": datetime.datetime(2015, 1, 31, 0, 0, tzinfo=datetime.timezone.utc),
                 },
                 "root[2]": {
-                    "new_value": datetime.datetime(2012, 3, 31, 0, 0),
-                    "old_value": datetime.datetime(2015, 3, 31, 0, 0),
+                    "new_value": datetime.datetime(2012, 3, 31, 0, 0, tzinfo=datetime.timezone.utc),
+                    "old_value": datetime.datetime(2015, 3, 31, 0, 0, tzinfo=datetime.timezone.utc),
                 },
                 "root[3]": {
-                    "new_value": datetime.datetime(2012, 5, 31, 0, 0),
-                    "old_value": datetime.datetime(2015, 5, 31, 0, 0),
+                    "new_value": datetime.datetime(2012, 5, 31, 0, 0, tzinfo=datetime.timezone.utc),
+                    "old_value": datetime.datetime(2015, 5, 31, 0, 0, tzinfo=datetime.timezone.utc),
                 },
             },
             "iterable_item_removed": {"root[4]": datetime.datetime(2015, 7, 31, 0, 0)},
@@ -2251,3 +2251,24 @@ class TestDeepDiffText:
 
         diff2 = DeepDiff({}, {1:1, 2:2})
         assert [] == diff2.affected_root_keys
+
+    def test_range1(self):
+        range1 = range(0, 10)
+        range2 = range(0, 8)
+        diff = DeepDiff(range1, range2)
+        assert {'iterable_item_removed': {'root[8]': 8, 'root[9]': 9}} == diff
+
+
+    def test_group_by_that_has_integers(self):
+        """Test that group_by with integer keys doesn't add type prefixes like 'int:33'"""
+        t1 = [{'row_num_in_file': 33, 'value': 'old'}]
+        t2 = [{'row_num_in_file': 33, 'value': 'new'}]
+        
+        diff = DeepDiff(t1, t2, group_by='row_num_in_file', ignore_string_type_changes=True)
+        
+        # Verify that the diff key contains the integer 33 without type prefix
+        changes = diff.get('values_changed', {})
+        assert len(changes) == 1
+        key = list(changes.keys())[0]
+        assert "int:" not in key
+        assert "[33]" in key or "['33']" in key
diff -pruN 8.1.1-4/tests/test_hash.py 8.6.1-1/tests/test_hash.py
--- 8.1.1-4/tests/test_hash.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_hash.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,13 +1,17 @@
 #!/usr/bin/env python
 import re
 import pytest
-from pathlib import Path
+import pytz
+import uuid6
 import logging
 import datetime
+import ipaddress
+from typing import Union
+from pathlib import Path
 from collections import namedtuple
 from functools import partial
 from enum import Enum
-from deepdiff import DeepHash
+from deepdiff import DeepDiff, DeepHash
 from deepdiff.deephash import (
     prepare_string_for_hashing, unprocessed,
     UNPROCESSED_KEY, BoolObj, HASH_LOOKUP_ERR_MSG, combine_hashes_lists)
@@ -55,7 +59,7 @@ class TestDeepHash:
     def test_deephash_repr(self):
         obj = "a"
         result = DeepHash(obj)
-        assert "{'a': '980410da9522db17c3ab8743541f192a5ab27772a6154dbc7795ee909e653a5c'}" == repr(result)
+        assert '{"a":"980410da9522db17c3ab8743541f192a5ab27772a6154dbc7795ee909e653a5c"}' == repr(result)
 
     def test_deephash_values(self):
         obj = "a"
@@ -193,6 +197,41 @@ class TestDeepHash:
         a_hash = DeepHash(a)[a]
         assert not( a_hash is unprocessed)
 
+    def test_numpy_datetime64(self):
+        now_dt = datetime.datetime.now()
+        now = np.datetime64(now_dt)
+        later = np.datetime64(now_dt + datetime.timedelta(seconds=10))
+        a = b = now
+        a_hash = DeepHash(a)
+        b_hash = DeepHash(b)
+        assert a_hash[a] == b_hash[b]
+
+        later_hash = DeepHash(later)
+        assert a_hash[a] != later_hash[later]
+
+    def test_uuid6_hash_positive(self):
+        """Positive test case: Same UUID objects should produce the same hash."""
+        uuid_obj = uuid6.uuid7()
+        hash1 = DeepHash(uuid_obj)
+        hash2 = DeepHash(uuid_obj)
+        assert hash1[uuid_obj] == hash2[uuid_obj]
+
+        import uuid
+        regular_uuid = uuid.uuid4()
+        hash_regular = DeepHash(regular_uuid)
+        assert hash_regular[regular_uuid] is not unprocessed
+
+    def test_uuid6_deepdiff_negative(self):
+        """Negative test case: DeepDiff should detect differences between sets containing different UUID objects."""
+        dummy_id_1 = uuid6.uuid7()
+        dummy_id_2 = uuid6.uuid7()
+        set1 = {dummy_id_1}
+        set2 = {dummy_id_1, dummy_id_2}
+        diff = DeepDiff(set1, set2)
+        assert diff != {}
+        assert 'set_item_added' in diff
+        assert str(dummy_id_2) in str(diff)
+
 class TestDeepHashPrep:
     """DeepHashPrep Tests covering object serialization."""
 
@@ -896,6 +935,16 @@ class TestDeepHashSHA:
         result = DeepHash(obj, ignore_string_type_changes=True, hasher=DeepHash.sha1hex)
         assert expected_result == result
 
+    def test_datetime_hash(self):
+        dt_utc = datetime.datetime(2025, 2, 3, 12, 0, 0, tzinfo=pytz.utc)  # UTC timezone
+        # Convert it to another timezone (e.g., New York)
+        dt_ny = dt_utc.astimezone(pytz.timezone('America/New_York'))
+        assert dt_utc == dt_ny
+
+        result_utc = DeepHash(dt_utc, ignore_string_type_changes=True, hasher=DeepHash.sha1hex)
+        result_ny = DeepHash(dt_ny, ignore_string_type_changes=True, hasher=DeepHash.sha1hex)
+        assert result_utc[dt_utc] == result_ny[dt_ny]
+
     def test_dict1(self):
         string1 = "a"
         key1 = "key1"
@@ -988,10 +1037,39 @@ class TestOtherHashFuncs:
         (7, b"First have a cup of potatos. Then \xc3\x28 cup of flour", None, False, UnicodeDecodeError, EXPECTED_MESSAGE3),
     ])
     def test_hash_encodings(self, test_num, item, encodings, ignore_encoding_errors, expected_result, expected_message):
-        if UnicodeDecodeError == expected_result:
+        if UnicodeDecodeError == expected_result:  # NOQA
             with pytest.raises(expected_result) as exc_info:
                 DeepHash(item, encodings=encodings, ignore_encoding_errors=ignore_encoding_errors)
             assert expected_message == str(exc_info.value), f"test_encodings test #{test_num} failed."
         else:
             result = DeepHash(item, encodings=encodings, ignore_encoding_errors=ignore_encoding_errors)
             assert expected_result == result, f"test_encodings test #{test_num} failed."
+
+    def test_ip_addresses(self):
+
+        class ClassWithIp:
+            """Class containing single data member to demonstrate deepdiff infinite iterate over IPv6Interface"""
+
+            def __init__(self, addr: str):
+                self.field: Union[
+                    ipaddress.IPv4Network,
+                    ipaddress.IPv6Network,
+                    ipaddress.IPv4Interface,
+                    ipaddress.IPv6Interface,
+                ] = ipaddress.IPv6Network(addr)
+
+
+        obj1 = ClassWithIp("2002:db8::/30")
+        obj1_hash = DeepHashPrep(obj1)
+        repr(obj1_hash)  # shouldn't raise error
+        assert r"objClassWithIp:{str:field:iprange:2002:db8::/30}" == obj1_hash[obj1]
+        obj2 = ClassWithIp("2001:db8::/32")
+        diff = DeepDiff(obj1, obj2)
+        assert {
+            "values_changed": {
+                "root.field": {
+                    "new_value": ipaddress.IPv6Network("2001:db8::/32"),
+                    "old_value": ipaddress.IPv6Network("2002:db8::/30"),
+                }
+            }
+        } == diff
diff -pruN 8.1.1-4/tests/test_ignore_order.py 8.6.1-1/tests/test_ignore_order.py
--- 8.1.1-4/tests/test_ignore_order.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_ignore_order.py	2025-09-03 19:38:30.000000000 +0000
@@ -634,11 +634,12 @@ class TestIgnoreOrder:
     @mock.patch('deepdiff.diff.logger')
     @mock.patch('deepdiff.diff.DeepHash')
     def test_diff_when_hash_fails(self, mock_DeepHash, mock_logger):
-        mock_DeepHash.side_effect = Exception('Boom!')
+        mock_DeepHash.side_effect = ValueError('Boom!')
         t1 = {"blah": {4}, 2: 1337}
         t2 = {"blah": {4}, 2: 1337}
-        DeepDiff(t1, t2, ignore_order=True)
-        assert mock_logger.error.called
+        with pytest.raises(ValueError) as exp:
+            DeepDiff(t1, t2, ignore_order=True)
+        assert 'Boom!' == str(exp.value)
 
     def test_bool_vs_number(self):
         t1 = {
diff -pruN 8.1.1-4/tests/test_ignore_uuid_types.py 8.6.1-1/tests/test_ignore_uuid_types.py
--- 8.1.1-4/tests/test_ignore_uuid_types.py	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/tests/test_ignore_uuid_types.py	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,150 @@
+#!/usr/bin/env python
+import uuid
+import unittest
+from deepdiff import DeepDiff
+
+
+class TestIgnoreUuidTypes(unittest.TestCase):
+    """Test ignore_uuid_types functionality"""
+
+    def test_uuid_vs_string_without_ignore(self):
+        """Test that UUID vs string reports type change by default"""
+        test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        uuid_str = '12345678-1234-5678-1234-567812345678'
+        
+        result = DeepDiff(test_uuid, uuid_str)
+        
+        assert 'type_changes' in result
+        assert result['type_changes']['root']['old_type'] == uuid.UUID
+        assert result['type_changes']['root']['new_type'] == str
+        assert result['type_changes']['root']['old_value'] == test_uuid
+        assert result['type_changes']['root']['new_value'] == uuid_str
+
+    def test_uuid_vs_string_with_ignore(self):
+        """Test that UUID vs string is ignored when ignore_uuid_types=True"""
+        test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        uuid_str = '12345678-1234-5678-1234-567812345678'
+        
+        result = DeepDiff(test_uuid, uuid_str, ignore_uuid_types=True)
+        
+        assert result == {}
+
+    def test_string_vs_uuid_with_ignore(self):
+        """Test that string vs UUID is ignored when ignore_uuid_types=True (reverse order)"""
+        test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        uuid_str = '12345678-1234-5678-1234-567812345678'
+        
+        result = DeepDiff(uuid_str, test_uuid, ignore_uuid_types=True)
+        
+        assert result == {}
+
+    def test_different_uuid_values_with_ignore(self):
+        """Test that different UUID values are still reported"""
+        uuid1 = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        uuid2 = uuid.UUID('87654321-4321-8765-4321-876543218765')
+        
+        result = DeepDiff(uuid1, uuid2, ignore_uuid_types=True)
+        
+        assert 'values_changed' in result
+        assert result['values_changed']['root']['old_value'] == uuid1
+        assert result['values_changed']['root']['new_value'] == uuid2
+
+    def test_uuid_vs_different_string_with_ignore(self):
+        """Test that UUID vs different UUID string reports value change"""
+        test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        different_str = '87654321-4321-8765-4321-876543218765'
+        
+        result = DeepDiff(test_uuid, different_str, ignore_uuid_types=True)
+        
+        assert 'values_changed' in result
+        assert result['values_changed']['root']['old_value'] == test_uuid
+        assert result['values_changed']['root']['new_value'] == different_str
+
+    def test_uuid_vs_invalid_string_with_ignore(self):
+        """Test that UUID vs invalid UUID string reports value change"""
+        test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        invalid_str = 'not-a-uuid'
+        
+        result = DeepDiff(test_uuid, invalid_str, ignore_uuid_types=True)
+        
+        assert 'values_changed' in result
+        assert result['values_changed']['root']['old_value'] == test_uuid
+        assert result['values_changed']['root']['new_value'] == invalid_str
+
+    def test_uuid_in_dict_with_ignore(self):
+        """Test that UUID vs string in dictionaries works correctly"""
+        test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        uuid_str = '12345678-1234-5678-1234-567812345678'
+        
+        dict1 = {'id': test_uuid, 'name': 'test', 'count': 42}
+        dict2 = {'id': uuid_str, 'name': 'test', 'count': 42}
+        
+        result = DeepDiff(dict1, dict2, ignore_uuid_types=True)
+        
+        assert result == {}
+
+    def test_uuid_in_list_with_ignore(self):
+        """Test that UUID vs string in lists works correctly"""
+        test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        uuid_str = '12345678-1234-5678-1234-567812345678'
+        
+        list1 = [test_uuid, 'test', 42]
+        list2 = [uuid_str, 'test', 42]
+        
+        result = DeepDiff(list1, list2, ignore_uuid_types=True)
+        
+        assert result == {}
+
+    def test_mixed_uuid_comparisons_with_ignore(self):
+        """Test mixed UUID/string comparisons in nested structures"""
+        uuid1 = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        uuid2 = uuid.UUID('87654321-4321-8765-4321-876543218765')
+        
+        data1 = {
+            'uuid_obj': uuid1,
+            'uuid_str': '12345678-1234-5678-1234-567812345678',
+            'nested': {
+                'id': uuid2,
+                'items': [uuid1, 'test']
+            }
+        }
+        
+        data2 = {
+            'uuid_obj': '12345678-1234-5678-1234-567812345678',  # string version
+            'uuid_str': uuid1,  # UUID object version
+            'nested': {
+                'id': '87654321-4321-8765-4321-876543218765',  # string version
+                'items': ['12345678-1234-5678-1234-567812345678', 'test']  # string version
+            }
+        }
+        
+        result = DeepDiff(data1, data2, ignore_uuid_types=True)
+        
+        assert result == {}
+
+    def test_uuid_with_other_ignore_flags(self):
+        """Test that ignore_uuid_types works with other ignore flags"""
+        test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
+        
+        data1 = {
+            'id': test_uuid,
+            'name': 'TEST',
+            'count': 42
+        }
+        
+        data2 = {
+            'id': '12345678-1234-5678-1234-567812345678',
+            'name': 'test',  # different case
+            'count': 42.0  # different numeric type
+        }
+        
+        result = DeepDiff(data1, data2, 
+                         ignore_uuid_types=True,
+                         ignore_string_case=True,
+                         ignore_numeric_type_changes=True)
+        
+        assert result == {}
+
+
+if __name__ == '__main__':
+    unittest.main()
\ No newline at end of file
diff -pruN 8.1.1-4/tests/test_memoryview.py 8.6.1-1/tests/test_memoryview.py
--- 8.1.1-4/tests/test_memoryview.py	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/tests/test_memoryview.py	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,154 @@
+#!/usr/bin/env python
+import pytest
+from deepdiff import DeepDiff
+
+
+class TestMemoryView:
+    """Test memoryview support in DeepDiff"""
+
+    def test_memoryview_basic_comparison(self):
+        """Test basic memoryview comparison without ignore_string_type_changes"""
+        t1 = memoryview(b"hello")
+        t2 = memoryview(b"world")
+        
+        diff = DeepDiff(t1, t2)
+        assert 'values_changed' in diff
+        assert diff['values_changed']['root']['old_value'] == t1
+        assert diff['values_changed']['root']['new_value'] == t2
+    
+    def test_memoryview_with_bytes_type_change(self):
+        """Test memoryview vs bytes comparison shows type change"""
+        t1 = memoryview(b"hello")
+        t2 = b"hello"
+        
+        diff = DeepDiff(t1, t2)
+        assert 'type_changes' in diff
+        assert diff['type_changes']['root']['old_type'] == memoryview
+        assert diff['type_changes']['root']['new_type'] == bytes
+        assert diff['type_changes']['root']['old_value'] == t1
+        assert diff['type_changes']['root']['new_value'] == t2
+    
+    def test_memoryview_with_str_type_change(self):
+        """Test memoryview vs str comparison shows type change"""
+        t1 = memoryview(b"hello")
+        t2 = "hello"
+        
+        diff = DeepDiff(t1, t2)
+        assert 'type_changes' in diff
+        assert diff['type_changes']['root']['old_type'] == memoryview
+        assert diff['type_changes']['root']['new_type'] == str
+        assert diff['type_changes']['root']['old_value'] == t1
+        assert diff['type_changes']['root']['new_value'] == t2
+    
+    def test_memoryview_ignore_string_type_changes_with_bytes(self):
+        """Test memoryview vs bytes with ignore_string_type_changes=True"""
+        t1 = memoryview(b"hello")
+        t2 = b"hello"
+        
+        diff = DeepDiff(t1, t2, ignore_string_type_changes=True)
+        assert diff == {}
+    
+    def test_memoryview_ignore_string_type_changes_with_str(self):
+        """Test memoryview vs str with ignore_string_type_changes=True"""
+        t1 = memoryview(b"hello")
+        t2 = "hello"
+        
+        diff = DeepDiff(t1, t2, ignore_string_type_changes=True)
+        assert diff == {}
+    
+    def test_memoryview_different_content_with_ignore_string_type_changes(self):
+        """Test memoryview with different content still shows value change"""
+        t1 = memoryview(b"hello")
+        t2 = "world"
+        
+        diff = DeepDiff(t1, t2, ignore_string_type_changes=True)
+        assert 'values_changed' in diff
+        # The values in the diff are the original objects, not converted strings
+        assert diff['values_changed']['root']['old_value'] == t1
+        assert diff['values_changed']['root']['new_value'] == t2
+    
+    def test_memoryview_in_dict_keys(self):
+        """Test memoryview as dictionary keys"""
+        t1 = {memoryview(b"key1"): "value1", memoryview(b"key2"): "value2"}
+        t2 = {b"key1": "value1", "key2": "value2"}
+        
+        # Without ignore_string_type_changes, should show differences
+        diff = DeepDiff(t1, t2)
+        assert 'dictionary_item_removed' in diff or 'dictionary_item_added' in diff
+        
+        # With ignore_string_type_changes, should be equal
+        diff = DeepDiff(t1, t2, ignore_string_type_changes=True)
+        assert diff == {}
+    
+    def test_memoryview_in_list(self):
+        """Test memoryview in lists"""
+        t1 = [memoryview(b"hello"), memoryview(b"world")]
+        t2 = ["hello", b"world"]
+        
+        diff = DeepDiff(t1, t2, ignore_string_type_changes=True)
+        assert diff == {}
+    
+    def test_memoryview_in_nested_structure(self):
+        """Test memoryview in nested structures"""
+        t1 = {
+            "data": {
+                "items": [memoryview(b"item1"), memoryview(b"item2")],
+                "metadata": {memoryview(b"key"): "value"}
+            }
+        }
+        t2 = {
+            "data": {
+                "items": ["item1", b"item2"],
+                "metadata": {"key": "value"}
+            }
+        }
+        
+        diff = DeepDiff(t1, t2, ignore_string_type_changes=True)
+        assert diff == {}
+    
+    def test_memoryview_with_non_ascii_bytes(self):
+        """Test memoryview with non-ASCII bytes"""
+        t1 = memoryview(b"\x80\x81\x82")
+        t2 = b"\x80\x81\x82"
+        
+        diff = DeepDiff(t1, t2, ignore_string_type_changes=True)
+        assert diff == {}
+    
+    def test_memoryview_text_diff(self):
+        """Test that text diff works with memoryview"""
+        t1 = {"data": memoryview(b"hello\nworld")}
+        t2 = {"data": memoryview(b"hello\nearth")}
+        
+        diff = DeepDiff(t1, t2)
+        assert 'values_changed' in diff
+        assert "root['data']" in diff['values_changed']
+        # Should contain diff output
+        assert 'diff' in diff['values_changed']["root['data']"]
+    
+    def test_memoryview_with_ignore_type_in_groups(self):
+        """Test memoryview with ignore_type_in_groups parameter"""
+        from deepdiff.helper import strings
+        
+        t1 = memoryview(b"hello")
+        t2 = "hello"
+        
+        # Using ignore_type_in_groups with strings tuple
+        diff = DeepDiff(t1, t2, ignore_type_in_groups=[strings])
+        assert diff == {}
+    
+    def test_memoryview_hash(self):
+        """Test that DeepHash works with memoryview"""
+        from deepdiff import DeepHash
+        
+        # Test basic hashing
+        obj1 = memoryview(b"hello")
+        hash1 = DeepHash(obj1)
+        assert hash1[obj1]
+        
+        # Test with ignore_string_type_changes
+        obj2 = "hello"
+        hash2 = DeepHash(obj2, ignore_string_type_changes=True)
+        hash1_ignore = DeepHash(obj1, ignore_string_type_changes=True)
+        
+        # When ignoring string type changes, memoryview and str of same content should hash the same
+        assert hash1_ignore[obj1] == hash2[obj2]
\ No newline at end of file
diff -pruN 8.1.1-4/tests/test_model.py 8.6.1-1/tests/test_model.py
--- 8.1.1-4/tests/test_model.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_model.py	2025-09-03 19:38:30.000000000 +0000
@@ -81,7 +81,7 @@ class TestAttributeRelationship:
 class TestDiffLevel:
     def setup_class(cls):
         # Test data
-        cls.custom1 = CustomClass(a='very long text here', b=37)
+        cls.custom1 = CustomClass(a='very long text here, much longer than you can ever imagine. The longest text here.', b=37)
         cls.custom2 = CustomClass(a=313, b=37)
         cls.t1 = {42: 'answer', 'vegan': 'for life', 1337: cls.custom1}
         cls.t2 = {
@@ -257,7 +257,7 @@ class TestDiffLevel:
             item_repr = repr(self.lowest)
         finally:
             self.lowest.verbose_level = level
-        assert item_repr == "<root[1337].a t1:'very long t...', t2:313>"
+        assert item_repr == '<root[1337].a t1:"very long text here, much long...e.", t2:313>'
 
     def test_repr_very_long(self):
         level = self.lowest.verbose_level
@@ -266,7 +266,7 @@ class TestDiffLevel:
             item_repr = repr(self.lowest)
         finally:
             self.lowest.verbose_level = level
-        assert item_repr == "<root[1337].a t1:'very long t...', t2:313>"
+        assert item_repr == '<root[1337].a t1:"very long text here, much long...e.", t2:313>'
 
     def test_repetition_attribute_and_repr(self):
         t1 = [1, 1]
@@ -275,7 +275,7 @@ class TestDiffLevel:
         node = DiffLevel(t1, t2)
         node.additional['repetition'] = some_repetition
         assert node.repetition == some_repetition
-        assert repr(node) == "<root {'repetition': 'some repetition'}>"
+        assert repr(node) == '<root {"repetition":"some repetition"}>'
 
 
 class TestChildRelationship:
@@ -286,14 +286,14 @@ class TestChildRelationship:
     def test_rel_repr_short(self):
         rel = WorkingChildRelationship(parent="that parent", child="this child", param="some param")
         rel_repr = repr(rel)
-        expected = "<WorkingChildRelationship parent:'that parent', child:'this child', param:'some param'>"
+        expected = '<WorkingChildRelationship parent:"that parent", child:"this child", param:"some param">'
         assert rel_repr == expected
 
     def test_rel_repr_long(self):
         rel = WorkingChildRelationship(
-            parent="that parent who has a long path",
+            parent="that parent who has a long path, still going on. Yes, a very long path indeed.",
             child="this child",
             param="some param")
         rel_repr = repr(rel)
-        expected = "<WorkingChildRelationship parent:'that parent...', child:'this child', param:'some param'>"
+        expected = '<WorkingChildRelationship parent:"that parent who has a long pat...d.", child:"this child", param:"some param">'
         assert rel_repr == expected
diff -pruN 8.1.1-4/tests/test_operators.py 8.6.1-1/tests/test_operators.py
--- 8.1.1-4/tests/test_operators.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_operators.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,8 +1,10 @@
+import re
 import math
-
-from typing import List
+import pytest
+from copy import deepcopy
+from typing import List, Any
 from deepdiff import DeepDiff
-from deepdiff.operator import BaseOperator, PrefixOrSuffixOperator
+from deepdiff.operator import BaseOperator, PrefixOrSuffixOperator, BaseOperatorPlus
 
 
 class TestOperators:
@@ -31,7 +33,7 @@ class TestOperators:
                     (c1["x"] - c2["x"]) ** 2 + (c1["y"] - c2["y"]) ** 2
                 )
 
-            def give_up_diffing(self, level, diff_instance):
+            def give_up_diffing(self, level, diff_instance) -> bool:
                 l2_distance = self._l2_distance(level.t1, level.t2)
                 if l2_distance > self.distance_threshold:
                     diff_instance.custom_report_result('distance_too_far', level, {
@@ -77,7 +79,7 @@ class TestOperators:
                     (c1["x"] - c2["x"]) ** 2 + (c1["y"] - c2["y"]) ** 2
                 )
 
-            def give_up_diffing(self, level, diff_instance):
+            def give_up_diffing(self, level, diff_instance) -> bool:
                 l2_distance = self._l2_distance(level.t1, level.t2)
                 if l2_distance > self.distance_threshold:
                     diff_instance.custom_report_result('distance_too_far', level, {
@@ -122,7 +124,7 @@ class TestOperators:
             def __init__(self, regex_paths):
                 super().__init__(regex_paths)
 
-            def give_up_diffing(self, level, diff_instance):
+            def give_up_diffing(self, level, diff_instance) -> bool:
                 if level.t1 == level.t2:
                     diff_instance.custom_report_result('unexpected:still', level, {
                         "old": level.t1,
@@ -154,9 +156,10 @@ class TestOperators:
 
         class ListMatchOperator(BaseOperator):
 
-            def give_up_diffing(self, level, diff_instance):
+            def give_up_diffing(self, level, diff_instance) -> bool:
                 if set(level.t1.dict['list']) == set(level.t2.dict['list']):
                     return True
+                return False
 
         ddiff = DeepDiff(custom1, custom2, custom_operators=[
             ListMatchOperator(types=[CustomClass])
@@ -234,12 +237,12 @@ class TestOperators:
         expected = {'values_changed': {"root['key1'][2]": {'new_value': 'jill', 'old_value': 'jack'}}}
         assert expected == ddiff
 
-        ddiff2 = DeepDiff(t1, t2, ignore_order=True, custom_operators=[
-            PrefixOrSuffixOperator()
-        ])
-
-        expected2 = {'values_changed': {"root['key1'][2]": {'new_value': 'jill', 'old_value': 'jack'}}}
-        assert expected2 == ddiff2
+        with pytest.raises(NotImplementedError) as exp:
+            DeepDiff(t1, t2, ignore_order=True, custom_operators=[
+                PrefixOrSuffixOperator()
+            ])
+        expected2 = 'PrefixOrSuffixOperator needs to define a normalize_value_for_hashing method to be compatible with ignore_order=True or iterable_compare_func.'
+        assert expected2 == str(exp.value)
 
     def test_custom_operator3_small_numbers(self):
         x = [2.0000000000000027, 2.500000000000005, 2.000000000000002, 3.000000000000001]
@@ -252,7 +255,7 @@ class TestOperators:
                 'root[3]': {'new_value': 3.0000000000000027, 'old_value': 3.000000000000001}}}
         assert expected == result
 
-        class CustomCompare(BaseOperator):
+        class CustomCompare(BaseOperatorPlus):
             def __init__(self, tolerance, types):
                 self.tolerance = tolerance
                 self.types = types
@@ -260,6 +263,7 @@ class TestOperators:
             def match(self, level) -> bool:
                 if type(level.t1) in self.types:
                     return True
+                return False
 
             def give_up_diffing(self, level, diff_instance) -> bool:
                 relative = abs(abs(level.t1 - level.t2) / level.t1)
@@ -268,6 +272,10 @@ class TestOperators:
                     diff_instance.custom_report_result('diff', level, custom_report)
                 return True
 
+            def normalize_value_for_hashing(self, parent: Any, obj: Any) -> Any:
+                return obj
+
+
         def compare_func(x, y, level):
             return True
 
@@ -277,3 +285,144 @@ class TestOperators:
 
         result3 = DeepDiff(x, y, custom_operators=operators, zip_ordered_iterables=True)
         assert {} == result3, "We should get the same result as result2 when zip_ordered_iterables is True."
+
+    def test_custom_operator_and_ignore_order1_using_base_operator_plus(self):
+
+        d1 = {
+            "Name": "SUB_OBJECT_FILES",
+            "Values": {
+                "Value": [
+                    "{f254498b-b752-4f35-bef5-6f1844b61eb7}",
+                    "{7fb2a550-1849-45c0-b273-9aa5e4eb9f2b}",
+                    "{3a614c62-4252-48eb-b279-1450ee8af182}",
+                    "{208f22c4-c256-4311-9a45-e6c37d343458}",
+                    "{1fcf5d37-ef19-43a7-a1ad-d17c7c1713c6}",
+                ]
+            }
+        }
+
+        d2 = {
+            "Name": "SUB_OBJECT_FILES",
+            "Values": {
+                "Value": [
+                    "{e5d18917-1a2c-4abe-b601-8ec002629953}",
+                    "{ea71ba1f-1339-4fae-bc28-a9ce9b8a8c67}",
+                    "{66bb6192-9cd2-4074-8be1-f2ac52877c70}",
+                    "{0c88b900-3755-4d10-93ef-b6a96dbcba90}",
+                    "{e39fdfc5-be6c-4f97-9345-9a8286381fe7}"
+                ]
+            }
+        }
+
+
+        class RemoveGUIDsOperator(BaseOperatorPlus):
+            _pattern = r"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}"
+            _substitute = "guid"
+
+            def match(self, level) -> bool:
+                return isinstance(level.t1, str) and isinstance(level.t2, str)
+
+            @classmethod
+            def _remove_pattern(cls, t: str):
+                return re.sub(cls._pattern, cls._substitute, t)
+
+            def give_up_diffing(self, level, diff_instance):
+                t1 = self._remove_pattern(level.t1)
+                t2 = self._remove_pattern(level.t2)
+                return t1 == t2
+
+            def normalize_value_for_hashing(self, parent: Any, obj: Any) -> Any:
+                """
+                Used for ignore_order=True
+                """
+                if isinstance(obj, str):
+                    return self._remove_pattern(obj)
+                return obj
+
+
+        operator = RemoveGUIDsOperator()
+
+        diff1 = DeepDiff(d1, d2, custom_operators=[operator], log_stacktrace=True)
+        assert not diff1
+
+
+        diff2 = DeepDiff(d1, d2, ignore_order=True, custom_operators=[operator], log_stacktrace=True)
+        assert not diff2
+
+
+    def test_custom_operator_and_ignore_order2(self):
+        d1 = {
+            "Entity": {
+                "Property": {
+                    "Name": "SUB_OBJECT_FILES",
+                    "Values": {
+                        "Value": [
+                            "{f254498b-b752-4f35-bef5-6f1844b61eb7}",
+                            "{7fb2a550-1849-45c0-b273-9aa5e4eb9f2b}",
+                            "{3a614c62-4252-48eb-b279-1450ee8af182}",
+                            "{208f22c4-c256-4311-9a45-e6c37d343458}",
+                            "{1fcf5d37-ef19-43a7-a1ad-d17c7c1713c6}",
+                            "{a9cbecc0-21dc-49ce-8b2c-d36352dae139}"
+                        ]
+                    }
+                }
+            }
+        }
+
+        d2 = {
+            "Entity": {
+                "Property": {
+                    "Name": "SUB_OBJECT_FILES",
+                    "Values": {
+                        "Value": [
+                            "{e5d18917-1a2c-4abe-b601-8ec002629953}",
+                            "{ea71ba1f-1339-4fae-bc28-a9ce9b8a8c67}",
+                            "{d7778018-a7b5-4246-8caa-f590138d99e5}",
+                            "{66bb6192-9cd2-4074-8be1-f2ac52877c70}",
+                            "{0c88b900-3755-4d10-93ef-b6a96dbcba90}",
+                            "{e39fdfc5-be6c-4f97-9345-9a8286381fe7}"
+                        ]
+                    }
+                }
+            }
+        }
+
+        class RemovePatternOperator(BaseOperator):
+            _pattern: str = ""
+            _substitute: str = ""
+
+            @classmethod
+            def _remove_pattern(cls, t: str):
+                return re.sub(cls._pattern, cls._substitute, t)
+
+            def give_up_diffing(self, level, diff_instance):
+                if isinstance(level.t1, str) and isinstance(level.t2, str):
+                    t1 = self._remove_pattern(level.t1)
+                    t2 = self._remove_pattern(level.t2)
+                    return t1 == t2
+                return False
+
+        class RemoveGUIDsOperator(RemovePatternOperator):
+            _pattern = r"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}"
+            _substitute = "guid"
+
+        diff1 = DeepDiff(deepcopy(d1), deepcopy(d2), ignore_order=False, custom_operators=[RemoveGUIDsOperator(types=[str])])
+        assert not diff1
+
+        with pytest.raises(NotImplementedError) as exp:
+            DeepDiff(deepcopy(d1), deepcopy(d2), ignore_order=True, custom_operators=[RemoveGUIDsOperator(types=[str])])
+        expected2 = 'RemoveGUIDsOperator needs to define a normalize_value_for_hashing method to be compatible with ignore_order=True or iterable_compare_func.'
+        assert expected2 == str(exp.value)
+
+
+        # --------- Let's implement the normalize_value_for_hashing to make it work with ignore_order=True ---------
+
+        class RemoveGUIDsOperatorIgnoreOrderReady(RemoveGUIDsOperator):
+            def normalize_value_for_hashing(self, parent: Any, obj: Any) -> Any:
+                if isinstance(obj, str):
+                    return self._remove_pattern(obj)
+                return obj
+
+        diff3 = DeepDiff(deepcopy(d1), deepcopy(d2), ignore_order=True, custom_operators=[RemoveGUIDsOperatorIgnoreOrderReady(types=[str])])
+        assert not diff3, "We shouldn't have a diff because we have normalized the string values to be all the same vlues."
+
diff -pruN 8.1.1-4/tests/test_search.py 8.6.1-1/tests/test_search.py
--- 8.1.1-4/tests/test_search.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_search.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,8 +1,10 @@
 #!/usr/bin/env python
 import pytest
+import ipaddress
+import logging
+from typing import Union
 from deepdiff import DeepSearch, grep
 from datetime import datetime
-import logging
 logging.disable(logging.CRITICAL)
 
 item = "somewhere"
@@ -20,6 +22,19 @@ class CustomClass:
         return self.__str__()
 
 
+class ClassWithIp:
+    """Class containing single data member to demonstrate deepdiff infinite iterate over IPv6Interface"""
+
+    def __init__(self, addr: str):
+        self.field: Union[
+            ipaddress.IPv4Network,
+            ipaddress.IPv6Network,
+            ipaddress.IPv4Interface,
+            ipaddress.IPv6Interface,
+        ] = ipaddress.IPv6Network(addr)
+
+
+
 class TestDeepSearch:
     """DeepSearch Tests."""
 
@@ -501,3 +516,7 @@ class TestGrep:
         item = "some.*"
         result = {"matched_values": {"root[3]"}}
         assert obj | grep(item, verbose_level=1, use_regexp=True) == result
+
+    def test_search_ip_addresses(self):
+        obj1 = [ClassWithIp("2002:db8::/30"),  ClassWithIp("2002:db8::/32")]
+        assert obj1 | grep("2002:db8::/32") == {'matched_values': ['root[1].field']}
diff -pruN 8.1.1-4/tests/test_security.py 8.6.1-1/tests/test_security.py
--- 8.1.1-4/tests/test_security.py	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/tests/test_security.py	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,133 @@
+import os
+import pickle
+import pytest
+from deepdiff import Delta
+from deepdiff.helper import Opcode
+from deepdiff.serialization import ForbiddenModule
+
+
+class TestDeltaClassPollution:
+
+    def test_builtins_int(self):
+
+        pollute_int = pickle.dumps(
+            {
+                "values_changed": {"root['tmp']": {"new_value": Opcode("", 0, 0, 0, 0)}},
+                "dictionary_item_added": {
+                    (
+                        ("root", "GETATTR"),
+                        ("tmp", "GET"),
+                        ("__repr__", "GETATTR"),
+                        ("__globals__", "GETATTR"),
+                        ("__builtins__", "GET"),
+                        ("int", "GET"),
+                    ): "no longer a class"
+                },
+            }
+        )
+
+        assert isinstance(pollute_int, bytes)
+
+        # ------------[ Exploit ]------------
+        # This could be some example, vulnerable, application.
+        # The inputs above could be sent via HTTP, for example.
+
+
+        # Existing dictionary; it is assumed that it contains
+        # at least one entry, otherwise a different Delta needs to be
+        # applied first, adding an entry to the dictionary.
+        mydict = {"tmp": "foobar"}
+
+        # Before pollution
+        assert 42 == int("41") + 1
+
+        # Apply Delta to mydict
+        result = mydict + Delta(pollute_int)
+
+        assert 1337 == int("1337")
+
+    def test_remote_code_execution(self):
+        if os.path.exists('/tmp/pwned'):
+            os.remove('/tmp/pwned')
+
+        pollute_safe_to_import = pickle.dumps(
+            {
+                "values_changed": {"root['tmp']": {"new_value": Opcode("", 0, 0, 0, 0)}},
+                "set_item_added": {
+                    (
+                        ("root", "GETATTR"),
+                        ("tmp", "GET"),
+                        ("__repr__", "GETATTR"),
+                        ("__globals__", "GETATTR"),
+                        ("sys", "GET"),
+                        ("modules", "GETATTR"),
+                        ("deepdiff.serialization", "GET"),
+                        ("SAFE_TO_IMPORT", "GETATTR"),
+                    ): set(["posix.system"])
+                },
+            }
+        )
+
+        # From https://davidhamann.de/2020/04/05/exploiting-python-pickle/
+        class RCE:
+            def __reduce__(self):
+                cmd = "id > /tmp/pwned"
+                return os.system, (cmd,)
+
+        # Wrap object with dictionary so that Delta does not crash
+        rce_pickle = pickle.dumps({"_": RCE()})
+
+        assert isinstance(pollute_safe_to_import, bytes)
+        assert isinstance(rce_pickle, bytes)
+
+        # ------------[ Exploit ]------------
+        # This could be some example, vulnerable, application.
+        # The inputs above could be sent via HTTP, for example.
+
+        # Existing dictionary; it is assumed that it contains
+        # at least one entry, otherwise a different Delta needs to be
+        # applied first, adding an entry to the dictionary.
+        mydict = {"tmp": "foobar"}
+
+        # Apply Delta to mydict
+        with pytest.raises(ValueError) as exc_info:
+            mydict + Delta(pollute_safe_to_import)
+        assert "traversing dunder attributes is not allowed" == str(exc_info.value)
+
+        with pytest.raises(ForbiddenModule) as exc_info:
+            Delta(rce_pickle)  # no need to apply this Delta
+        assert "Module 'posix.system' is forbidden. You need to explicitly pass it by passing a safe_to_import parameter" == str(exc_info.value)
+
+        assert not os.path.exists('/tmp/pwned'), "We should not have created this file"
+
+    def test_delta_should_not_access_globals(self):
+
+        pollute_global = pickle.dumps(
+            {
+                "dictionary_item_added": {
+                    (
+                        ("root", "GETATTR"),
+                        ("myfunc", "GETATTR"),
+                        ("__globals__", "GETATTR"),
+                        ("PWNED", "GET"),
+                    ): 1337
+                }
+            }
+        )
+
+
+        # demo application
+        class Foo:
+            def __init__(self):
+                pass
+
+            def myfunc(self):
+                pass
+
+
+        PWNED = False
+        delta = Delta(pollute_global)
+        assert PWNED is False
+        b = Foo() + delta
+
+        assert PWNED is False
diff -pruN 8.1.1-4/tests/test_serialization.py 8.6.1-1/tests/test_serialization.py
--- 8.1.1-4/tests/test_serialization.py	2024-12-16 23:53:34.000000000 +0000
+++ 8.6.1-1/tests/test_serialization.py	2025-09-03 19:38:30.000000000 +0000
@@ -1,14 +1,18 @@
 #!/usr/bin/env python
+from ipaddress import IPv4Address
 import os
 import json
 import sys
 import pytest
 import datetime
 import numpy as np
-from typing import NamedTuple, Optional
+import hashlib
+import base64
+from typing import NamedTuple, Optional, Union, List, Dict
 from pickle import UnpicklingError
 from decimal import Decimal
 from collections import Counter
+from pydantic import BaseModel, IPvAnyAddress
 from deepdiff import DeepDiff
 from deepdiff.helper import pypy3, py_current_version, np_ndarray, Opcode, SetOrdered
 from deepdiff.serialization import (
@@ -25,6 +29,11 @@ t1 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello"
 t2 = {1: 1, 2: 2, 3: 3, 4: {"a": "hello", "b": "world\n\n\nEnd"}}
 
 
+class SampleSchema(BaseModel):
+    works: bool = False
+    ips: List[IPvAnyAddress]
+
+
 class SomeStats(NamedTuple):
     counter: Optional[Counter]
     context_aware_counter: Optional[Counter] = None
@@ -84,8 +93,7 @@ class TestSerialization:
         t1 = A()
         t2 = B()
         ddiff = DeepDiff(t1, t2)
-        with pytest.raises(TypeError):
-            ddiff.to_json()
+        assert r'{"type_changes":{"root":{"old_type":"A","new_type":"B","old_value":{},"new_value":{}}}}' == ddiff.to_json()
 
     def test_serialize_custom_objects_with_default_mapping(self):
         class A:
@@ -115,6 +123,16 @@ class TestSerialization:
         ddiff = DeepDiff(t1, t2, verbose_level=verbose_level)
         assert expected == ddiff.to_dict()
 
+    def test_serialize_pydantic_model(self):
+        obj = SampleSchema(
+            works=True,
+            ips=["128.0.0.1"]
+        )
+        serialized = json_dumps(obj)
+        obj_again = json_loads(serialized)
+        assert {'works': True, 'ips': ['128.0.0.1']} == obj_again
+        assert {'works': True, 'ips': [IPv4Address('128.0.0.1')]} == obj.model_dump()
+
 
 @pytest.mark.skipif(pypy3, reason='clevercsv is not supported in pypy3')
 class TestLoadContet:
@@ -189,6 +207,18 @@ class TestPickling:
         assert expected_msg == str(excinfo.value)
 
 
+    def test_seriaize_property(self):
+
+        class Sample:
+            @property
+            def something(self):
+                return 10
+
+        sample = Sample()
+        serialized = json_dumps(sample)
+        assert '{"something":10}' == serialized
+
+
 class TestDeepDiffPretty:
     """Tests for pretty() method of DeepDiff"""
 
@@ -381,6 +411,10 @@ class TestDeepDiffPretty:
         result = ddiff.pretty(prefix=prefix_callback)
         assert result == expected
 
+    def sig_to_bytes(inp: Dict[str, Union[str, bytes]]):
+        inp['signature'] = inp['signature'].encode('utf-8')
+        return inp
+
     @pytest.mark.parametrize('test_num, value, func_to_convert_back', [
         (1, {'10': None}, None),
         (2, {"type_changes": {"root": {"old_type": None, "new_type": list, "new_value": ["你好", 2, 3, 5]}}}, None),
@@ -390,12 +424,11 @@ class TestDeepDiffPretty:
         (6, datetime.datetime(2023, 10, 11), datetime.datetime.fromisoformat),
         (7, datetime.datetime.utcnow(), datetime.datetime.fromisoformat),
         (8, field_stats1, lambda x: SomeStats(**x)),
-        (9, np.array([[ 101, 3533, 1998, 4532, 2024, 3415, 1012,  102]]), np.array)
+        (9, np.array([[ 101, 3533, 1998, 4532, 2024, 3415, 1012,  102]]), np.array),
+        (10, memoryview(b"hello"), lambda x: memoryview(x.encode('utf-8'))),
+        (11, {'file_type': 'xlsx', 'signature': b'52bd9907785'}, sig_to_bytes)
     ])
     def test_json_dumps_and_loads(self, test_num, value, func_to_convert_back):
-        if test_num == 8 and py_current_version < 3.8:
-            print(f"Skipping test_json_dumps_and_loads #{test_num} on Python {py_current_version}")
-            return
         serialized = json_dumps(value)
         back = json_loads(serialized)
         if func_to_convert_back:
@@ -420,3 +453,117 @@ class TestDeepDiffPretty:
         assert '[3,2,1]' == serialized
         assert '[3,2,1]' == serialized2, "We should have copied the original list. If this returns empty, it means we exhausted the original list."
 
+    def test_dict_keys(self):
+        dic = {"foo": "bar", "apple": "too sweet"}
+        serialized = json_dumps(dic.keys())
+        assert '["foo","apple"]' == serialized
+
+    def test_non_utf8_bytes_serialization(self):
+        """Test that non-UTF-8 bytes are properly base64 encoded"""
+        # Create binary data that cannot be decoded as UTF-8
+        binary_data = b'\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f'
+        
+        # Verify it's not UTF-8 decodable
+        with pytest.raises(UnicodeDecodeError):
+            binary_data.decode('utf-8')
+        
+        # Test serialization
+        test_data = {"binary": binary_data}
+        serialized = json_dumps(test_data)
+        
+        # Should contain base64 encoded data
+        expected_b64 = base64.b64encode(binary_data).decode('ascii')
+        assert expected_b64 in serialized
+        
+        # Should be deserializable
+        deserialized = json_loads(serialized)
+        assert deserialized == {"binary": expected_b64}
+
+    def test_hash_bytes_serialization(self):
+        """Test serialization of hash-like binary data (blake3, sha256, etc.)"""
+        # Generate various hash-like byte sequences
+        test_cases = [
+            hashlib.md5(b"test").digest(),
+            hashlib.sha1(b"test").digest(),
+            hashlib.sha256(b"test").digest(),
+            hashlib.sha512(b"test").digest()[:16],  # Truncated
+            b'\xff\xfe\xfd\xfc' * 8,  # Artificial binary pattern
+        ]
+        
+        for i, hash_bytes in enumerate(test_cases):
+            test_data = {"hash": hash_bytes}
+            
+            # Should not raise UnicodeDecodeError
+            serialized = json_dumps(test_data)
+            assert serialized  # Should produce valid JSON
+            
+            # Should contain base64 if not UTF-8 decodable, or string if UTF-8 decodable
+            try:
+                utf8_decoded = hash_bytes.decode('utf-8')
+                # If UTF-8 decodable, should be in JSON as string
+                assert utf8_decoded in serialized
+            except UnicodeDecodeError:
+                # If not UTF-8 decodable, should be base64 encoded
+                expected_b64 = base64.b64encode(hash_bytes).decode('ascii')
+                assert expected_b64 in serialized
+
+    def test_mixed_utf8_and_binary_bytes(self):
+        """Test data structure with both UTF-8 decodable and binary bytes"""
+        test_data = {
+            "utf8_text": b"hello world",  # UTF-8 decodable
+            "binary_hash": hashlib.sha256(b"secret").digest(),  # Binary
+            "empty_bytes": b"",  # Edge case
+            "utf8_unicode": "café".encode('utf-8'),  # UTF-8 with unicode
+            "non_utf8_byte": b"\xff\xfe\xfd",  # Non-UTF-8 bytes
+        }
+        
+        # Should serialize without errors
+        serialized = json_dumps(test_data)
+        deserialized = json_loads(serialized)
+        
+        # UTF-8 decodable bytes should remain as strings
+        assert "hello world" in serialized
+        assert deserialized["utf8_text"] == "hello world"
+        
+        # Unicode UTF-8 should work
+        assert deserialized["utf8_unicode"] == "café"
+        
+        # Binary data should be base64 encoded
+        expected_hash_b64 = base64.b64encode(test_data["binary_hash"]).decode('ascii')
+        assert expected_hash_b64 in serialized
+        assert deserialized["binary_hash"] == expected_hash_b64
+        
+        # Empty bytes should be empty string
+        assert deserialized["empty_bytes"] == ""
+        
+        # Non-UTF-8 bytes should be base64 encoded
+        expected_non_utf8_b64 = base64.b64encode(test_data["non_utf8_byte"]).decode('ascii')
+        assert expected_non_utf8_b64 in serialized
+        assert deserialized["non_utf8_byte"] == expected_non_utf8_b64
+
+    def test_bytes_in_deepdiff_serialization(self):
+        """Test that bytes work correctly in DeepDiff JSON serialization"""
+        t1 = {
+            "text": b"hello",
+            "hash": hashlib.sha256(b"data1").digest(),
+        }
+        t2 = {
+            "text": b"world", 
+            "hash": hashlib.sha256(b"data2").digest(),
+        }
+        
+        diff = DeepDiff(t1, t2)
+        
+        # Should serialize without errors
+        json_output = diff.to_json()
+        assert json_output
+        
+        # Should contain both UTF-8 decoded strings and base64 encoded hashes
+        assert "hello" in json_output
+        assert "world" in json_output
+        
+        # Hash values should be base64 encoded
+        expected_hash1 = base64.b64encode(t1["hash"]).decode('ascii') 
+        expected_hash2 = base64.b64encode(t2["hash"]).decode('ascii')
+        assert expected_hash1 in json_output
+        assert expected_hash2 in json_output
diff -pruN 8.1.1-4/tests/test_summarize.py 8.6.1-1/tests/test_summarize.py
--- 8.1.1-4/tests/test_summarize.py	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/tests/test_summarize.py	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,146 @@
+from copy import deepcopy
+from deepdiff.summarize import summarize, _truncate
+
+
+class TestSummarize:
+
+    def test_empty_dict(self):
+        summary = summarize({}, max_length=50)
+        assert summary == "{}", "Empty dict should be summarized as {}"
+
+    def test_empty_list(self):
+        summary = summarize([], max_length=50)
+        assert summary == "[]", "Empty list should be summarized as []"
+
+    def test_primitive_int_truncation(self):
+        summary = summarize(1234567890123, max_length=10)
+        # The summary should be the string representation, truncated to max_length
+        assert isinstance(summary, str)
+        assert len(summary) <= 10
+
+    def test_primitive_string_no_truncation(self):
+        summary = summarize("short", max_length=50)
+        assert '"short"' == summary, "Short strings should not be truncated, but we are adding double quotes to it."
+
+    def test_small_dict_summary(self):
+        data = {"a": "alpha", "b": "beta"}
+        summary = summarize(data, max_length=50)
+        # Should be JSON-like, start with { and end with } and not exceed the max length.
+        assert summary.startswith("{") and summary.endswith("}")
+        assert len(summary) <= 50
+
+    def test_long_value_truncation_in_dict(self):
+        data = {
+            "key1": "a" * 100,
+            "key2": "b" * 50,
+            "key3": "c" * 150
+        }
+        summary = summarize(data, max_length=100)
+        # The summary should be under 100 characters and include ellipsis to indicate truncation.
+        assert len(summary) == 113, "Yes we are going slightly above"
+        assert "..." in summary
+
+    def test_nested_structure_summary1(self):
+        data = {
+            "RecordType": "CID",
+            "RecordNumber": 2719,
+            "RecordTitle": "Chloroquine",
+            "Section": [
+                {
+                    "TOCHeading": "Structures",
+                    "Description": "Structure depictions and information for 2D, 3D, and crystal related",
+                    "Section": [
+                        {
+                            "TOCHeading": "2D Structure",
+                            "Description": "A two-dimensional representation of the compound",
+                            "DisplayControls": {"MoveToTop": True},
+                            "Information": [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Value": {"Boolean": [True]}
+                                }
+                            ]
+                        },
+                        {
+                            "TOCHeading": "3D Conformer",
+                            "Description": ("A three-dimensional representation of the compound. "
+                                            "The 3D structure is not experimentally determined, but computed by PubChem. "
+                                            "More detailed information on this conformer model is described in the PubChem3D thematic series published in the Journal of Cheminformatics."),
+                            "DisplayControls": {"MoveToTop": True},
+                            "Information": [
+                                {
+                                    "ReferenceNumber": 69,
+                                    "Description": "Chloroquine",
+                                    "Value": {"Number": [2719]}
+                                }
+                            ]
+                        }
+                    ]
+                },
+                {
+                    "TOCHeading": "Chemical Safety",
+                    "Description": "Launch the Laboratory Chemical Safety Summary datasheet, and link to the safety and hazard section",
+                    "DisplayControls": {"HideThisSection": True, "MoveToTop": True},
+                    "Information": [
+                        {
+                            "ReferenceNumber": 69,
+                            "Name": "Chemical Safety",
+                            "Value": {
+                                "StringWithMarkup": [
+                                    {
+                                        "String": "          ",
+                                        "Markup": [
+                                            {
+                                                "Start": 0,
+                                                "Length": 1,
+                                                "URL": "https://pubchem.ncbi.nlm.nih.gov/images/ghs/GHS07.svg",
+                                                "Type": "Icon",
+                                                "Extra": "Irritant"
+                                            }
+                                        ]
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                }
+            ]
+        }
+        data_copy = deepcopy(data)
+        summary = summarize(data_copy, max_length=200)
+        assert len(summary) == 240, "Yes slightly above"
+        # Check that some expected keys are in the summary
+        assert '"RecordType"' in summary
+        assert '"RecordNumber"' in summary
+        assert '"RecordTitle"' in summary
+        expected = '{"Section":[{"Section":[{"Description":""},{"Description":""}],"Description":"Structure depictions a...ed"},{"Information":[{"Name":"C"}],"Description":"Launch the ...on"}],"RecordTitle":"Chloroquine","RecordNumber":2719,"RecordType":"CID"}'
+        assert expected == summary
+        assert data_copy == data, "We should not have modified the original data"
+
+    def test_nested_structure_summary2(self, compounds):
+        summary = summarize(compounds, max_length=200)
+        assert len(summary) == 319, "Ok yeah max_length is more like a guide"
+        data_copy = deepcopy(compounds)
+        expected = '{"Section":[{"Section":[{"Description":""},{"Description":""}],"Description":"Toxicity information r...y."},{"Section":[{"Section":["..."]},{"Section":["..."]}],"Description":"Spectral ...ds"},"..."],"Reference":[{"LicenseNote":"Use of th...e.","Description":"T...s."},{"LicenseNote":"U...e.","Description":"T"},"..."]}'
+        assert expected == summary
+        assert data_copy == compounds, "We should not have modified the original data"
+
+    def test_list_summary(self):
+        data = [1, 2, 3, 4]
+        summary = summarize(data, max_length=50)
+        # The summary should start with '[' and end with ']'
+        assert summary.startswith("[") and summary.endswith("]")
+        # When more than one element exists, expect a trailing ellipsis or indication of more elements
+        assert "..." not in summary
+
+        data2 = list(range(1, 200))
+        summary2 = summarize(data2, max_length=14)
+        assert "..." in summary2
+        expected = '[100,101,102,103,10,"..."]'
+        assert expected == summary2
+
+    def test_direct_truncate_function(self):
+        s = "abcdefghijklmnopqrstuvwxyz"
+        truncated = _truncate(s, 20)
+        assert len(truncated) == 20
+        assert "..." in truncated
diff -pruN 8.1.1-4/uv.lock 8.6.1-1/uv.lock
--- 8.1.1-4/uv.lock	1970-01-01 00:00:00.000000000 +0000
+++ 8.6.1-1/uv.lock	2025-09-03 19:38:30.000000000 +0000
@@ -0,0 +1,1635 @@
+version = 1
+revision = 3
+requires-python = ">=3.9"
+resolution-markers = [
+    "python_full_version >= '3.12'",
+    "python_full_version == '3.11.*'",
+    "python_full_version == '3.10.*'",
+    "python_full_version < '3.10'",
+]
+
+[[package]]
+name = "alabaster"
+version = "0.7.16"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/c9/3e/13dd8e5ed9094e734ac430b5d0eb4f2bb001708a8b7856cbf8e084e001ba/alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65", size = 23776, upload-time = "2024-01-10T00:56:10.189Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511, upload-time = "2024-01-10T00:56:08.388Z" },
+]
+
+[[package]]
+name = "annotated-types"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" },
+]
+
+[[package]]
+name = "argcomplete"
+version = "3.6.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/16/0f/861e168fc813c56a78b35f3c30d91c6757d1fd185af1110f1aec784b35d0/argcomplete-3.6.2.tar.gz", hash = "sha256:d0519b1bc867f5f4f4713c41ad0aba73a4a5f007449716b16f385f2166dc6adf", size = 73403, upload-time = "2025-04-03T04:57:03.52Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/31/da/e42d7a9d8dd33fa775f467e4028a47936da2f01e4b0e561f9ba0d74cb0ca/argcomplete-3.6.2-py3-none-any.whl", hash = "sha256:65b3133a29ad53fb42c48cf5114752c7ab66c1c38544fdf6460f450c09b42591", size = 43708, upload-time = "2025-04-03T04:57:01.591Z" },
+]
+
+[[package]]
+name = "asttokens"
+version = "3.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" },
+]
+
+[[package]]
+name = "attrs"
+version = "25.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" },
+]
+
+[[package]]
+name = "babel"
+version = "2.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" },
+]
+
+[[package]]
+name = "bump2version"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/29/2a/688aca6eeebfe8941235be53f4da780c6edee05dbbea5d7abaa3aab6fad2/bump2version-1.0.1.tar.gz", hash = "sha256:762cb2bfad61f4ec8e2bdf452c7c267416f8c70dd9ecb1653fd0bbb01fa936e6", size = 36236, upload-time = "2020-10-07T18:38:40.119Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/1d/e3/fa60c47d7c344533142eb3af0b73234ef8ea3fb2da742ab976b947e717df/bump2version-1.0.1-py2.py3-none-any.whl", hash = "sha256:37f927ea17cde7ae2d7baf832f8e80ce3777624554a653006c9144f8017fe410", size = 22030, upload-time = "2020-10-07T18:38:38.148Z" },
+]
+
+[[package]]
+name = "certifi"
+version = "2025.4.26"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" },
+]
+
+[[package]]
+name = "charset-normalizer"
+version = "3.4.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", size = 201818, upload-time = "2025-05-02T08:31:46.725Z" },
+    { url = "https://files.pythonhosted.org/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", size = 144649, upload-time = "2025-05-02T08:31:48.889Z" },
+    { url = "https://files.pythonhosted.org/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", size = 155045, upload-time = "2025-05-02T08:31:50.757Z" },
+    { url = "https://files.pythonhosted.org/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", size = 147356, upload-time = "2025-05-02T08:31:52.634Z" },
+    { url = "https://files.pythonhosted.org/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", size = 149471, upload-time = "2025-05-02T08:31:56.207Z" },
+    { url = "https://files.pythonhosted.org/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", size = 151317, upload-time = "2025-05-02T08:31:57.613Z" },
+    { url = "https://files.pythonhosted.org/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", size = 146368, upload-time = "2025-05-02T08:31:59.468Z" },
+    { url = "https://files.pythonhosted.org/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", size = 154491, upload-time = "2025-05-02T08:32:01.219Z" },
+    { url = "https://files.pythonhosted.org/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", size = 157695, upload-time = "2025-05-02T08:32:03.045Z" },
+    { url = "https://files.pythonhosted.org/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", size = 154849, upload-time = "2025-05-02T08:32:04.651Z" },
+    { url = "https://files.pythonhosted.org/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", size = 150091, upload-time = "2025-05-02T08:32:06.719Z" },
+    { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445, upload-time = "2025-05-02T08:32:08.66Z" },
+    { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782, upload-time = "2025-05-02T08:32:10.46Z" },
+    { url = "https://files.pythonhosted.org/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", size = 198794, upload-time = "2025-05-02T08:32:11.945Z" },
+    { url = "https://files.pythonhosted.org/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", size = 142846, upload-time = "2025-05-02T08:32:13.946Z" },
+    { url = "https://files.pythonhosted.org/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", size = 153350, upload-time = "2025-05-02T08:32:15.873Z" },
+    { url = "https://files.pythonhosted.org/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", size = 145657, upload-time = "2025-05-02T08:32:17.283Z" },
+    { url = "https://files.pythonhosted.org/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f", size = 147260, upload-time = "2025-05-02T08:32:18.807Z" },
+    { url = "https://files.pythonhosted.org/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", size = 149164, upload-time = "2025-05-02T08:32:20.333Z" },
+    { url = "https://files.pythonhosted.org/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", size = 144571, upload-time = "2025-05-02T08:32:21.86Z" },
+    { url = "https://files.pythonhosted.org/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", size = 151952, upload-time = "2025-05-02T08:32:23.434Z" },
+    { url = "https://files.pythonhosted.org/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", size = 155959, upload-time = "2025-05-02T08:32:24.993Z" },
+    { url = "https://files.pythonhosted.org/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", size = 153030, upload-time = "2025-05-02T08:32:26.435Z" },
+    { url = "https://files.pythonhosted.org/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", size = 148015, upload-time = "2025-05-02T08:32:28.376Z" },
+    { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106, upload-time = "2025-05-02T08:32:30.281Z" },
+    { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402, upload-time = "2025-05-02T08:32:32.191Z" },
+    { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" },
+    { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" },
+    { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" },
+    { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" },
+    { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" },
+    { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" },
+    { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" },
+    { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" },
+    { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" },
+    { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" },
+    { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" },
+    { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" },
+    { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" },
+    { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" },
+    { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" },
+    { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" },
+    { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" },
+    { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" },
+    { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" },
+    { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" },
+    { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" },
+    { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" },
+    { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" },
+    { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" },
+    { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" },
+    { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" },
+    { url = "https://files.pythonhosted.org/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671, upload-time = "2025-05-02T08:34:12.696Z" },
+    { url = "https://files.pythonhosted.org/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744, upload-time = "2025-05-02T08:34:14.665Z" },
+    { url = "https://files.pythonhosted.org/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993, upload-time = "2025-05-02T08:34:17.134Z" },
+    { url = "https://files.pythonhosted.org/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", size = 147382, upload-time = "2025-05-02T08:34:19.081Z" },
+    { url = "https://files.pythonhosted.org/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", size = 149536, upload-time = "2025-05-02T08:34:21.073Z" },
+    { url = "https://files.pythonhosted.org/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", size = 151349, upload-time = "2025-05-02T08:34:23.193Z" },
+    { url = "https://files.pythonhosted.org/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", size = 146365, upload-time = "2025-05-02T08:34:25.187Z" },
+    { url = "https://files.pythonhosted.org/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", size = 154499, upload-time = "2025-05-02T08:34:27.359Z" },
+    { url = "https://files.pythonhosted.org/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", size = 157735, upload-time = "2025-05-02T08:34:29.798Z" },
+    { url = "https://files.pythonhosted.org/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", size = 154786, upload-time = "2025-05-02T08:34:31.858Z" },
+    { url = "https://files.pythonhosted.org/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", size = 150203, upload-time = "2025-05-02T08:34:33.88Z" },
+    { url = "https://files.pythonhosted.org/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", size = 98436, upload-time = "2025-05-02T08:34:35.907Z" },
+    { url = "https://files.pythonhosted.org/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", size = 105772, upload-time = "2025-05-02T08:34:37.935Z" },
+    { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" },
+]
+
+[[package]]
+name = "click"
+version = "8.1.8"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "colorama", marker = "sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" },
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
+]
+
+[[package]]
+name = "colorlog"
+version = "6.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "colorama", marker = "sys_platform == 'win32'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/d3/7a/359f4d5df2353f26172b3cc39ea32daa39af8de522205f512f458923e677/colorlog-6.9.0.tar.gz", hash = "sha256:bfba54a1b93b94f54e1f4fe48395725a3d92fd2a4af702f6bd70946bdc0c6ac2", size = 16624, upload-time = "2024-10-29T18:34:51.011Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/e3/51/9b208e85196941db2f0654ad0357ca6388ab3ed67efdbfc799f35d1f83aa/colorlog-6.9.0-py3-none-any.whl", hash = "sha256:5906e71acd67cb07a71e779c47c4bcb45fb8c2993eebe9e5adcd6a6f1b283eff", size = 11424, upload-time = "2024-10-29T18:34:49.815Z" },
+]
+
+[[package]]
+name = "coverage"
+version = "7.6.12"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0c/d6/2b53ab3ee99f2262e6f0b8369a43f6d66658eab45510331c0b3d5c8c4272/coverage-7.6.12.tar.gz", hash = "sha256:48cfc4641d95d34766ad41d9573cc0f22a48aa88d22657a1fe01dca0dbae4de2", size = 805941, upload-time = "2025-02-11T14:47:03.797Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/ba/67/81dc41ec8f548c365d04a29f1afd492d3176b372c33e47fa2a45a01dc13a/coverage-7.6.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:704c8c8c6ce6569286ae9622e534b4f5b9759b6f2cd643f1c1a61f666d534fe8", size = 208345, upload-time = "2025-02-11T14:44:51.83Z" },
+    { url = "https://files.pythonhosted.org/packages/33/43/17f71676016c8829bde69e24c852fef6bd9ed39f774a245d9ec98f689fa0/coverage-7.6.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ad7525bf0241e5502168ae9c643a2f6c219fa0a283001cee4cf23a9b7da75879", size = 208775, upload-time = "2025-02-11T14:44:54.852Z" },
+    { url = "https://files.pythonhosted.org/packages/86/25/c6ff0775f8960e8c0840845b723eed978d22a3cd9babd2b996e4a7c502c6/coverage-7.6.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06097c7abfa611c91edb9e6920264e5be1d6ceb374efb4986f38b09eed4cb2fe", size = 237925, upload-time = "2025-02-11T14:44:56.675Z" },
+    { url = "https://files.pythonhosted.org/packages/b0/3d/5f5bd37046243cb9d15fff2c69e498c2f4fe4f9b42a96018d4579ed3506f/coverage-7.6.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:220fa6c0ad7d9caef57f2c8771918324563ef0d8272c94974717c3909664e674", size = 235835, upload-time = "2025-02-11T14:44:59.007Z" },
+    { url = "https://files.pythonhosted.org/packages/b5/f1/9e6b75531fe33490b910d251b0bf709142e73a40e4e38a3899e6986fe088/coverage-7.6.12-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3688b99604a24492bcfe1c106278c45586eb819bf66a654d8a9a1433022fb2eb", size = 236966, upload-time = "2025-02-11T14:45:02.744Z" },
+    { url = "https://files.pythonhosted.org/packages/4f/bc/aef5a98f9133851bd1aacf130e754063719345d2fb776a117d5a8d516971/coverage-7.6.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d1a987778b9c71da2fc8948e6f2656da6ef68f59298b7e9786849634c35d2c3c", size = 236080, upload-time = "2025-02-11T14:45:05.416Z" },
+    { url = "https://files.pythonhosted.org/packages/eb/d0/56b4ab77f9b12aea4d4c11dc11cdcaa7c29130b837eb610639cf3400c9c3/coverage-7.6.12-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cec6b9ce3bd2b7853d4a4563801292bfee40b030c05a3d29555fd2a8ee9bd68c", size = 234393, upload-time = "2025-02-11T14:45:08.627Z" },
+    { url = "https://files.pythonhosted.org/packages/0d/77/28ef95c5d23fe3dd191a0b7d89c82fea2c2d904aef9315daf7c890e96557/coverage-7.6.12-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ace9048de91293e467b44bce0f0381345078389814ff6e18dbac8fdbf896360e", size = 235536, upload-time = "2025-02-11T14:45:10.313Z" },
+    { url = "https://files.pythonhosted.org/packages/29/62/18791d3632ee3ff3f95bc8599115707d05229c72db9539f208bb878a3d88/coverage-7.6.12-cp310-cp310-win32.whl", hash = "sha256:ea31689f05043d520113e0552f039603c4dd71fa4c287b64cb3606140c66f425", size = 211063, upload-time = "2025-02-11T14:45:12.278Z" },
+    { url = "https://files.pythonhosted.org/packages/fc/57/b3878006cedfd573c963e5c751b8587154eb10a61cc0f47a84f85c88a355/coverage-7.6.12-cp310-cp310-win_amd64.whl", hash = "sha256:676f92141e3c5492d2a1596d52287d0d963df21bf5e55c8b03075a60e1ddf8aa", size = 211955, upload-time = "2025-02-11T14:45:14.579Z" },
+    { url = "https://files.pythonhosted.org/packages/64/2d/da78abbfff98468c91fd63a73cccdfa0e99051676ded8dd36123e3a2d4d5/coverage-7.6.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e18aafdfb3e9ec0d261c942d35bd7c28d031c5855dadb491d2723ba54f4c3015", size = 208464, upload-time = "2025-02-11T14:45:18.314Z" },
+    { url = "https://files.pythonhosted.org/packages/31/f2/c269f46c470bdabe83a69e860c80a82e5e76840e9f4bbd7f38f8cebbee2f/coverage-7.6.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66fe626fd7aa5982cdebad23e49e78ef7dbb3e3c2a5960a2b53632f1f703ea45", size = 208893, upload-time = "2025-02-11T14:45:19.881Z" },
+    { url = "https://files.pythonhosted.org/packages/47/63/5682bf14d2ce20819998a49c0deadb81e608a59eed64d6bc2191bc8046b9/coverage-7.6.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ef01d70198431719af0b1f5dcbefc557d44a190e749004042927b2a3fed0702", size = 241545, upload-time = "2025-02-11T14:45:22.215Z" },
+    { url = "https://files.pythonhosted.org/packages/6a/b6/6b6631f1172d437e11067e1c2edfdb7238b65dff965a12bce3b6d1bf2be2/coverage-7.6.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e92ae5a289a4bc4c0aae710c0948d3c7892e20fd3588224ebe242039573bf0", size = 239230, upload-time = "2025-02-11T14:45:24.864Z" },
+    { url = "https://files.pythonhosted.org/packages/c7/01/9cd06cbb1be53e837e16f1b4309f6357e2dfcbdab0dd7cd3b1a50589e4e1/coverage-7.6.12-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e695df2c58ce526eeab11a2e915448d3eb76f75dffe338ea613c1201b33bab2f", size = 241013, upload-time = "2025-02-11T14:45:27.203Z" },
+    { url = "https://files.pythonhosted.org/packages/4b/26/56afefc03c30871326e3d99709a70d327ac1f33da383cba108c79bd71563/coverage-7.6.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d74c08e9aaef995f8c4ef6d202dbd219c318450fe2a76da624f2ebb9c8ec5d9f", size = 239750, upload-time = "2025-02-11T14:45:29.577Z" },
+    { url = "https://files.pythonhosted.org/packages/dd/ea/88a1ff951ed288f56aa561558ebe380107cf9132facd0b50bced63ba7238/coverage-7.6.12-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e995b3b76ccedc27fe4f477b349b7d64597e53a43fc2961db9d3fbace085d69d", size = 238462, upload-time = "2025-02-11T14:45:31.096Z" },
+    { url = "https://files.pythonhosted.org/packages/6e/d4/1d9404566f553728889409eff82151d515fbb46dc92cbd13b5337fa0de8c/coverage-7.6.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b1f097878d74fe51e1ddd1be62d8e3682748875b461232cf4b52ddc6e6db0bba", size = 239307, upload-time = "2025-02-11T14:45:32.713Z" },
+    { url = "https://files.pythonhosted.org/packages/12/c1/e453d3b794cde1e232ee8ac1d194fde8e2ba329c18bbf1b93f6f5eef606b/coverage-7.6.12-cp311-cp311-win32.whl", hash = "sha256:1f7ffa05da41754e20512202c866d0ebfc440bba3b0ed15133070e20bf5aeb5f", size = 211117, upload-time = "2025-02-11T14:45:34.228Z" },
+    { url = "https://files.pythonhosted.org/packages/d5/db/829185120c1686fa297294f8fcd23e0422f71070bf85ef1cc1a72ecb2930/coverage-7.6.12-cp311-cp311-win_amd64.whl", hash = "sha256:e216c5c45f89ef8971373fd1c5d8d1164b81f7f5f06bbf23c37e7908d19e8558", size = 212019, upload-time = "2025-02-11T14:45:35.724Z" },
+    { url = "https://files.pythonhosted.org/packages/e2/7f/4af2ed1d06ce6bee7eafc03b2ef748b14132b0bdae04388e451e4b2c529b/coverage-7.6.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b172f8e030e8ef247b3104902cc671e20df80163b60a203653150d2fc204d1ad", size = 208645, upload-time = "2025-02-11T14:45:37.95Z" },
+    { url = "https://files.pythonhosted.org/packages/dc/60/d19df912989117caa95123524d26fc973f56dc14aecdec5ccd7d0084e131/coverage-7.6.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:641dfe0ab73deb7069fb972d4d9725bf11c239c309ce694dd50b1473c0f641c3", size = 208898, upload-time = "2025-02-11T14:45:40.27Z" },
+    { url = "https://files.pythonhosted.org/packages/bd/10/fecabcf438ba676f706bf90186ccf6ff9f6158cc494286965c76e58742fa/coverage-7.6.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e549f54ac5f301e8e04c569dfdb907f7be71b06b88b5063ce9d6953d2d58574", size = 242987, upload-time = "2025-02-11T14:45:43.982Z" },
+    { url = "https://files.pythonhosted.org/packages/4c/53/4e208440389e8ea936f5f2b0762dcd4cb03281a7722def8e2bf9dc9c3d68/coverage-7.6.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:959244a17184515f8c52dcb65fb662808767c0bd233c1d8a166e7cf74c9ea985", size = 239881, upload-time = "2025-02-11T14:45:45.537Z" },
+    { url = "https://files.pythonhosted.org/packages/c4/47/2ba744af8d2f0caa1f17e7746147e34dfc5f811fb65fc153153722d58835/coverage-7.6.12-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bda1c5f347550c359f841d6614fb8ca42ae5cb0b74d39f8a1e204815ebe25750", size = 242142, upload-time = "2025-02-11T14:45:47.069Z" },
+    { url = "https://files.pythonhosted.org/packages/e9/90/df726af8ee74d92ee7e3bf113bf101ea4315d71508952bd21abc3fae471e/coverage-7.6.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1ceeb90c3eda1f2d8c4c578c14167dbd8c674ecd7d38e45647543f19839dd6ea", size = 241437, upload-time = "2025-02-11T14:45:48.602Z" },
+    { url = "https://files.pythonhosted.org/packages/f6/af/995263fd04ae5f9cf12521150295bf03b6ba940d0aea97953bb4a6db3e2b/coverage-7.6.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f16f44025c06792e0fb09571ae454bcc7a3ec75eeb3c36b025eccf501b1a4c3", size = 239724, upload-time = "2025-02-11T14:45:51.333Z" },
+    { url = "https://files.pythonhosted.org/packages/1c/8e/5bb04f0318805e190984c6ce106b4c3968a9562a400180e549855d8211bd/coverage-7.6.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b076e625396e787448d27a411aefff867db2bffac8ed04e8f7056b07024eed5a", size = 241329, upload-time = "2025-02-11T14:45:53.19Z" },
+    { url = "https://files.pythonhosted.org/packages/9e/9d/fa04d9e6c3f6459f4e0b231925277cfc33d72dfab7fa19c312c03e59da99/coverage-7.6.12-cp312-cp312-win32.whl", hash = "sha256:00b2086892cf06c7c2d74983c9595dc511acca00665480b3ddff749ec4fb2a95", size = 211289, upload-time = "2025-02-11T14:45:54.74Z" },
+    { url = "https://files.pythonhosted.org/packages/53/40/53c7ffe3c0c3fff4d708bc99e65f3d78c129110d6629736faf2dbd60ad57/coverage-7.6.12-cp312-cp312-win_amd64.whl", hash = "sha256:7ae6eabf519bc7871ce117fb18bf14e0e343eeb96c377667e3e5dd12095e0288", size = 212079, upload-time = "2025-02-11T14:45:57.22Z" },
+    { url = "https://files.pythonhosted.org/packages/76/89/1adf3e634753c0de3dad2f02aac1e73dba58bc5a3a914ac94a25b2ef418f/coverage-7.6.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:488c27b3db0ebee97a830e6b5a3ea930c4a6e2c07f27a5e67e1b3532e76b9ef1", size = 208673, upload-time = "2025-02-11T14:45:59.618Z" },
+    { url = "https://files.pythonhosted.org/packages/ce/64/92a4e239d64d798535c5b45baac6b891c205a8a2e7c9cc8590ad386693dc/coverage-7.6.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5d1095bbee1851269f79fd8e0c9b5544e4c00c0c24965e66d8cba2eb5bb535fd", size = 208945, upload-time = "2025-02-11T14:46:01.869Z" },
+    { url = "https://files.pythonhosted.org/packages/b4/d0/4596a3ef3bca20a94539c9b1e10fd250225d1dec57ea78b0867a1cf9742e/coverage-7.6.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0533adc29adf6a69c1baa88c3d7dbcaadcffa21afbed3ca7a225a440e4744bf9", size = 242484, upload-time = "2025-02-11T14:46:03.527Z" },
+    { url = "https://files.pythonhosted.org/packages/1c/ef/6fd0d344695af6718a38d0861408af48a709327335486a7ad7e85936dc6e/coverage-7.6.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53c56358d470fa507a2b6e67a68fd002364d23c83741dbc4c2e0680d80ca227e", size = 239525, upload-time = "2025-02-11T14:46:05.973Z" },
+    { url = "https://files.pythonhosted.org/packages/0c/4b/373be2be7dd42f2bcd6964059fd8fa307d265a29d2b9bcf1d044bcc156ed/coverage-7.6.12-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64cbb1a3027c79ca6310bf101014614f6e6e18c226474606cf725238cf5bc2d4", size = 241545, upload-time = "2025-02-11T14:46:07.79Z" },
+    { url = "https://files.pythonhosted.org/packages/a6/7d/0e83cc2673a7790650851ee92f72a343827ecaaea07960587c8f442b5cd3/coverage-7.6.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:79cac3390bfa9836bb795be377395f28410811c9066bc4eefd8015258a7578c6", size = 241179, upload-time = "2025-02-11T14:46:11.853Z" },
+    { url = "https://files.pythonhosted.org/packages/ff/8c/566ea92ce2bb7627b0900124e24a99f9244b6c8c92d09ff9f7633eb7c3c8/coverage-7.6.12-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9b148068e881faa26d878ff63e79650e208e95cf1c22bd3f77c3ca7b1d9821a3", size = 239288, upload-time = "2025-02-11T14:46:13.411Z" },
+    { url = "https://files.pythonhosted.org/packages/7d/e4/869a138e50b622f796782d642c15fb5f25a5870c6d0059a663667a201638/coverage-7.6.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8bec2ac5da793c2685ce5319ca9bcf4eee683b8a1679051f8e6ec04c4f2fd7dc", size = 241032, upload-time = "2025-02-11T14:46:15.005Z" },
+    { url = "https://files.pythonhosted.org/packages/ae/28/a52ff5d62a9f9e9fe9c4f17759b98632edd3a3489fce70154c7d66054dd3/coverage-7.6.12-cp313-cp313-win32.whl", hash = "sha256:200e10beb6ddd7c3ded322a4186313d5ca9e63e33d8fab4faa67ef46d3460af3", size = 211315, upload-time = "2025-02-11T14:46:16.638Z" },
+    { url = "https://files.pythonhosted.org/packages/bc/17/ab849b7429a639f9722fa5628364c28d675c7ff37ebc3268fe9840dda13c/coverage-7.6.12-cp313-cp313-win_amd64.whl", hash = "sha256:2b996819ced9f7dbb812c701485d58f261bef08f9b85304d41219b1496b591ef", size = 212099, upload-time = "2025-02-11T14:46:18.268Z" },
+    { url = "https://files.pythonhosted.org/packages/d2/1c/b9965bf23e171d98505eb5eb4fb4d05c44efd256f2e0f19ad1ba8c3f54b0/coverage-7.6.12-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:299cf973a7abff87a30609879c10df0b3bfc33d021e1adabc29138a48888841e", size = 209511, upload-time = "2025-02-11T14:46:20.768Z" },
+    { url = "https://files.pythonhosted.org/packages/57/b3/119c201d3b692d5e17784fee876a9a78e1b3051327de2709392962877ca8/coverage-7.6.12-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4b467a8c56974bf06e543e69ad803c6865249d7a5ccf6980457ed2bc50312703", size = 209729, upload-time = "2025-02-11T14:46:22.258Z" },
+    { url = "https://files.pythonhosted.org/packages/52/4e/a7feb5a56b266304bc59f872ea07b728e14d5a64f1ad3a2cc01a3259c965/coverage-7.6.12-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2458f275944db8129f95d91aee32c828a408481ecde3b30af31d552c2ce284a0", size = 253988, upload-time = "2025-02-11T14:46:23.999Z" },
+    { url = "https://files.pythonhosted.org/packages/65/19/069fec4d6908d0dae98126aa7ad08ce5130a6decc8509da7740d36e8e8d2/coverage-7.6.12-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a9d8be07fb0832636a0f72b80d2a652fe665e80e720301fb22b191c3434d924", size = 249697, upload-time = "2025-02-11T14:46:25.617Z" },
+    { url = "https://files.pythonhosted.org/packages/1c/da/5b19f09ba39df7c55f77820736bf17bbe2416bbf5216a3100ac019e15839/coverage-7.6.12-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14d47376a4f445e9743f6c83291e60adb1b127607a3618e3185bbc8091f0467b", size = 252033, upload-time = "2025-02-11T14:46:28.069Z" },
+    { url = "https://files.pythonhosted.org/packages/1e/89/4c2750df7f80a7872267f7c5fe497c69d45f688f7b3afe1297e52e33f791/coverage-7.6.12-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:b95574d06aa9d2bd6e5cc35a5bbe35696342c96760b69dc4287dbd5abd4ad51d", size = 251535, upload-time = "2025-02-11T14:46:29.818Z" },
+    { url = "https://files.pythonhosted.org/packages/78/3b/6d3ae3c1cc05f1b0460c51e6f6dcf567598cbd7c6121e5ad06643974703c/coverage-7.6.12-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:ecea0c38c9079570163d663c0433a9af4094a60aafdca491c6a3d248c7432827", size = 249192, upload-time = "2025-02-11T14:46:31.563Z" },
+    { url = "https://files.pythonhosted.org/packages/6e/8e/c14a79f535ce41af7d436bbad0d3d90c43d9e38ec409b4770c894031422e/coverage-7.6.12-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2251fabcfee0a55a8578a9d29cecfee5f2de02f11530e7d5c5a05859aa85aee9", size = 250627, upload-time = "2025-02-11T14:46:33.145Z" },
+    { url = "https://files.pythonhosted.org/packages/cb/79/b7cee656cfb17a7f2c1b9c3cee03dd5d8000ca299ad4038ba64b61a9b044/coverage-7.6.12-cp313-cp313t-win32.whl", hash = "sha256:eb5507795caabd9b2ae3f1adc95f67b1104971c22c624bb354232d65c4fc90b3", size = 212033, upload-time = "2025-02-11T14:46:35.79Z" },
+    { url = "https://files.pythonhosted.org/packages/b6/c3/f7aaa3813f1fa9a4228175a7bd368199659d392897e184435a3b66408dd3/coverage-7.6.12-cp313-cp313t-win_amd64.whl", hash = "sha256:f60a297c3987c6c02ffb29effc70eadcbb412fe76947d394a1091a3615948e2f", size = 213240, upload-time = "2025-02-11T14:46:38.119Z" },
+    { url = "https://files.pythonhosted.org/packages/6c/eb/cf062b1c3dbdcafd64a2a154beea2e4aa8e9886c34e41f53fa04925c8b35/coverage-7.6.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e7575ab65ca8399c8c4f9a7d61bbd2d204c8b8e447aab9d355682205c9dd948d", size = 208343, upload-time = "2025-02-11T14:46:39.744Z" },
+    { url = "https://files.pythonhosted.org/packages/95/42/4ebad0ab065228e29869a060644712ab1b0821d8c29bfefa20c2118c9e19/coverage-7.6.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8161d9fbc7e9fe2326de89cd0abb9f3599bccc1287db0aba285cb68d204ce929", size = 208769, upload-time = "2025-02-11T14:46:41.548Z" },
+    { url = "https://files.pythonhosted.org/packages/44/9f/421e84f7f9455eca85ff85546f26cbc144034bb2587e08bfc214dd6e9c8f/coverage-7.6.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a1e465f398c713f1b212400b4e79a09829cd42aebd360362cd89c5bdc44eb87", size = 237553, upload-time = "2025-02-11T14:46:44.96Z" },
+    { url = "https://files.pythonhosted.org/packages/c9/c4/a2c4f274bcb711ed5db2ccc1b851ca1c45f35ed6077aec9d6c61845d80e3/coverage-7.6.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f25d8b92a4e31ff1bd873654ec367ae811b3a943583e05432ea29264782dc32c", size = 235473, upload-time = "2025-02-11T14:46:47.023Z" },
+    { url = "https://files.pythonhosted.org/packages/e0/10/a3d317e38e5627b06debe861d6c511b1611dd9dc0e2a47afbe6257ffd341/coverage-7.6.12-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a936309a65cc5ca80fa9f20a442ff9e2d06927ec9a4f54bcba9c14c066323f2", size = 236575, upload-time = "2025-02-11T14:46:48.697Z" },
+    { url = "https://files.pythonhosted.org/packages/4d/49/51cd991b56257d2e07e3d5cb053411e9de5b0f4e98047167ec05e4e19b55/coverage-7.6.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aa6f302a3a0b5f240ee201297fff0bbfe2fa0d415a94aeb257d8b461032389bd", size = 235690, upload-time = "2025-02-11T14:46:51.262Z" },
+    { url = "https://files.pythonhosted.org/packages/f7/87/631e5883fe0a80683a1f20dadbd0f99b79e17a9d8ea9aff3a9b4cfe50b93/coverage-7.6.12-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f973643ef532d4f9be71dd88cf7588936685fdb576d93a79fe9f65bc337d9d73", size = 234040, upload-time = "2025-02-11T14:46:52.962Z" },
+    { url = "https://files.pythonhosted.org/packages/7c/34/edd03f6933f766ec97dddd178a7295855f8207bb708dbac03777107ace5b/coverage-7.6.12-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:78f5243bb6b1060aed6213d5107744c19f9571ec76d54c99cc15938eb69e0e86", size = 235048, upload-time = "2025-02-11T14:46:54.65Z" },
+    { url = "https://files.pythonhosted.org/packages/ee/1e/d45045b7d3012fe518c617a57b9f9396cdaebe6455f1b404858b32c38cdd/coverage-7.6.12-cp39-cp39-win32.whl", hash = "sha256:69e62c5034291c845fc4df7f8155e8544178b6c774f97a99e2734b05eb5bed31", size = 211085, upload-time = "2025-02-11T14:46:56.233Z" },
+    { url = "https://files.pythonhosted.org/packages/df/ea/086cb06af14a84fe773b86aa140892006a906c5ec947e609ceb6a93f6257/coverage-7.6.12-cp39-cp39-win_amd64.whl", hash = "sha256:b01a840ecc25dce235ae4c1b6a0daefb2a203dba0e6e980637ee9c2f6ee0df57", size = 211965, upload-time = "2025-02-11T14:46:57.84Z" },
+    { url = "https://files.pythonhosted.org/packages/7a/7f/05818c62c7afe75df11e0233bd670948d68b36cdbf2a339a095bc02624a8/coverage-7.6.12-pp39.pp310-none-any.whl", hash = "sha256:7e39e845c4d764208e7b8f6a21c541ade741e2c41afabdfa1caa28687a3c98cf", size = 200558, upload-time = "2025-02-11T14:47:00.292Z" },
+    { url = "https://files.pythonhosted.org/packages/fb/b2/f655700e1024dec98b10ebaafd0cedbc25e40e4abe62a3c8e2ceef4f8f0a/coverage-7.6.12-py3-none-any.whl", hash = "sha256:eb8668cfbc279a536c633137deeb9435d2962caec279c3f8cf8b91fff6ff8953", size = 200552, upload-time = "2025-02-11T14:47:01.999Z" },
+]
+
+[package.optional-dependencies]
+toml = [
+    { name = "tomli", marker = "python_full_version <= '3.11'" },
+]
+
+[[package]]
+name = "decorator"
+version = "5.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" },
+]
+
+[[package]]
+name = "deepdiff"
+version = "8.6.1"
+source = { editable = "." }
+dependencies = [
+    { name = "orderly-set" },
+]
+
+[package.optional-dependencies]
+cli = [
+    { name = "click" },
+    { name = "pyyaml" },
+]
+coverage = [
+    { name = "coverage" },
+]
+dev = [
+    { name = "bump2version" },
+    { name = "ipdb" },
+    { name = "jsonpickle" },
+    { name = "nox" },
+    { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+    { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+    { name = "orjson" },
+    { name = "pandas" },
+    { name = "polars" },
+    { name = "python-dateutil" },
+    { name = "tomli" },
+    { name = "tomli-w" },
+    { name = "uuid6" },
+]
+docs = [
+    { name = "sphinx" },
+    { name = "sphinx-sitemap" },
+    { name = "sphinxemoji" },
+]
+optimize = [
+    { name = "orjson" },
+]
+static = [
+    { name = "flake8" },
+    { name = "flake8-pyproject" },
+    { name = "pydantic" },
+]
+test = [
+    { name = "pytest" },
+    { name = "pytest-benchmark" },
+    { name = "pytest-cov" },
+    { name = "python-dotenv" },
+]
+
+[package.metadata]
+requires-dist = [
+    { name = "bump2version", marker = "extra == 'dev'", specifier = "~=1.0.0" },
+    { name = "click", marker = "extra == 'cli'", specifier = "~=8.1.0" },
+    { name = "coverage", marker = "extra == 'coverage'", specifier = "~=7.6.0" },
+    { name = "flake8", marker = "extra == 'static'", specifier = "~=7.1.0" },
+    { name = "flake8-pyproject", marker = "extra == 'static'", specifier = "~=1.2.3" },
+    { name = "ipdb", marker = "extra == 'dev'", specifier = "~=0.13.0" },
+    { name = "jsonpickle", marker = "extra == 'dev'", specifier = "~=4.0.0" },
+    { name = "nox", marker = "extra == 'dev'", specifier = "==2025.5.1" },
+    { name = "numpy", marker = "python_full_version >= '3.10' and extra == 'dev'", specifier = "~=2.2.0" },
+    { name = "numpy", marker = "python_full_version < '3.10' and extra == 'dev'", specifier = "~=2.0" },
+    { name = "orderly-set", specifier = ">=5.4.1,<6" },
+    { name = "orjson", marker = "extra == 'dev'", specifier = "~=3.10.0" },
+    { name = "orjson", marker = "extra == 'optimize'" },
+    { name = "pandas", marker = "extra == 'dev'", specifier = "~=2.2.0" },
+    { name = "polars", marker = "extra == 'dev'", specifier = "~=1.21.0" },
+    { name = "pydantic", marker = "extra == 'static'", specifier = "~=2.10.0" },
+    { name = "pytest", marker = "extra == 'test'", specifier = "~=8.3.0" },
+    { name = "pytest-benchmark", marker = "extra == 'test'", specifier = "~=5.1.0" },
+    { name = "pytest-cov", marker = "extra == 'test'", specifier = "~=6.0.0" },
+    { name = "python-dateutil", marker = "extra == 'dev'", specifier = "~=2.9.0" },
+    { name = "python-dotenv", marker = "extra == 'test'", specifier = "~=1.0.0" },
+    { name = "pyyaml", marker = "extra == 'cli'", specifier = "~=6.0.0" },
+    { name = "sphinx", marker = "extra == 'docs'", specifier = "~=6.2.0" },
+    { name = "sphinx-sitemap", marker = "extra == 'docs'", specifier = "~=2.6.0" },
+    { name = "sphinxemoji", marker = "extra == 'docs'", specifier = "~=0.3.0" },
+    { name = "tomli", marker = "extra == 'dev'", specifier = "~=2.2.0" },
+    { name = "tomli-w", marker = "extra == 'dev'", specifier = "~=1.2.0" },
+    { name = "uuid6", marker = "extra == 'dev'", specifier = "==2025.0.1" },
+]
+provides-extras = ["coverage", "cli", "dev", "docs", "static", "test", "optimize"]
+
+[[package]]
+name = "dependency-groups"
+version = "1.3.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "packaging" },
+    { name = "tomli", marker = "python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/62/55/f054de99871e7beb81935dea8a10b90cd5ce42122b1c3081d5282fdb3621/dependency_groups-1.3.1.tar.gz", hash = "sha256:78078301090517fd938c19f64a53ce98c32834dfe0dee6b88004a569a6adfefd", size = 10093, upload-time = "2025-05-02T00:34:29.452Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/99/c7/d1ec24fb280caa5a79b6b950db565dab30210a66259d17d5bb2b3a9f878d/dependency_groups-1.3.1-py3-none-any.whl", hash = "sha256:51aeaa0dfad72430fcfb7bcdbefbd75f3792e5919563077f30bc0d73f4493030", size = 8664, upload-time = "2025-05-02T00:34:27.085Z" },
+]
+
+[[package]]
+name = "distlib"
+version = "0.3.9"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload-time = "2024-10-09T18:35:47.551Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" },
+]
+
+[[package]]
+name = "docutils"
+version = "0.19"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/330ea8d383eb2ce973df34d1239b3b21e91cd8c865d21ff82902d952f91f/docutils-0.19.tar.gz", hash = "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6", size = 2056383, upload-time = "2022-07-05T20:17:31.045Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/93/69/e391bd51bc08ed9141ecd899a0ddb61ab6465309f1eb470905c0c8868081/docutils-0.19-py3-none-any.whl", hash = "sha256:5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc", size = 570472, upload-time = "2022-07-05T20:17:26.388Z" },
+]
+
+[[package]]
+name = "exceptiongroup"
+version = "1.3.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "typing-extensions", marker = "python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" },
+]
+
+[[package]]
+name = "executing"
+version = "2.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693, upload-time = "2025-01-22T15:41:29.403Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702, upload-time = "2025-01-22T15:41:25.929Z" },
+]
+
+[[package]]
+name = "filelock"
+version = "3.18.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload-time = "2025-03-14T07:11:40.47Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload-time = "2025-03-14T07:11:39.145Z" },
+]
+
+[[package]]
+name = "flake8"
+version = "7.1.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "mccabe" },
+    { name = "pycodestyle" },
+    { name = "pyflakes" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/58/16/3f2a0bb700ad65ac9663262905a025917c020a3f92f014d2ba8964b4602c/flake8-7.1.2.tar.gz", hash = "sha256:c586ffd0b41540951ae41af572e6790dbd49fc12b3aa2541685d253d9bd504bd", size = 48119, upload-time = "2025-02-16T18:45:44.296Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/35/f8/08d37b2cd89da306e3520bd27f8a85692122b42b56c0c2c3784ff09c022f/flake8-7.1.2-py2.py3-none-any.whl", hash = "sha256:1cbc62e65536f65e6d754dfe6f1bada7f5cf392d6f5db3c2b85892466c3e7c1a", size = 57745, upload-time = "2025-02-16T18:45:42.351Z" },
+]
+
+[[package]]
+name = "flake8-pyproject"
+version = "1.2.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "flake8" },
+    { name = "tomli", marker = "python_full_version < '3.11'" },
+]
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/5f/1d/635e86f9f3a96b7ea9e9f19b5efe17a987e765c39ca496e4a893bb999112/flake8_pyproject-1.2.3-py3-none-any.whl", hash = "sha256:6249fe53545205af5e76837644dc80b4c10037e73a0e5db87ff562d75fb5bd4a", size = 4756, upload-time = "2023-03-21T20:51:38.911Z" },
+]
+
+[[package]]
+name = "idna"
+version = "3.10"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" },
+]
+
+[[package]]
+name = "imagesize"
+version = "1.4.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a7/84/62473fb57d61e31fef6e36d64a179c8781605429fd927b5dd608c997be31/imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a", size = 1280026, upload-time = "2022-07-01T12:21:05.687Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769, upload-time = "2022-07-01T12:21:02.467Z" },
+]
+
+[[package]]
+name = "importlib-metadata"
+version = "8.7.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "zipp", marker = "python_full_version < '3.10'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" },
+]
+
+[[package]]
+name = "iniconfig"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" },
+]
+
+[[package]]
+name = "ipdb"
+version = "0.13.13"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "decorator" },
+    { name = "ipython", version = "8.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+    { name = "ipython", version = "8.36.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" },
+    { name = "ipython", version = "9.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+    { name = "tomli", marker = "python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/3d/1b/7e07e7b752017f7693a0f4d41c13e5ca29ce8cbcfdcc1fd6c4ad8c0a27a0/ipdb-0.13.13.tar.gz", hash = "sha256:e3ac6018ef05126d442af680aad863006ec19d02290561ac88b8b1c0b0cfc726", size = 17042, upload-time = "2023-03-09T15:40:57.487Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/0c/4c/b075da0092003d9a55cf2ecc1cae9384a1ca4f650d51b00fc59875fe76f6/ipdb-0.13.13-py3-none-any.whl", hash = "sha256:45529994741c4ab6d2388bfa5d7b725c2cf7fe9deffabdb8a6113aa5ed449ed4", size = 12130, upload-time = "2023-03-09T15:40:55.021Z" },
+]
+
+[[package]]
+name = "ipython"
+version = "8.18.1"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+    "python_full_version < '3.10'",
+]
+dependencies = [
+    { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" },
+    { name = "decorator", marker = "python_full_version < '3.10'" },
+    { name = "exceptiongroup", marker = "python_full_version < '3.10'" },
+    { name = "jedi", marker = "python_full_version < '3.10'" },
+    { name = "matplotlib-inline", marker = "python_full_version < '3.10'" },
+    { name = "pexpect", marker = "python_full_version < '3.10' and sys_platform != 'win32'" },
+    { name = "prompt-toolkit", marker = "python_full_version < '3.10'" },
+    { name = "pygments", marker = "python_full_version < '3.10'" },
+    { name = "stack-data", marker = "python_full_version < '3.10'" },
+    { name = "traitlets", marker = "python_full_version < '3.10'" },
+    { name = "typing-extensions", marker = "python_full_version < '3.10'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b1/b9/3ba6c45a6df813c09a48bac313c22ff83efa26cbb55011218d925a46e2ad/ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27", size = 5486330, upload-time = "2023-11-27T09:58:34.596Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/47/6b/d9fdcdef2eb6a23f391251fde8781c38d42acd82abe84d054cb74f7863b0/ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397", size = 808161, upload-time = "2023-11-27T09:58:30.538Z" },
+]
+
+[[package]]
+name = "ipython"
+version = "8.36.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+    "python_full_version == '3.10.*'",
+]
+dependencies = [
+    { name = "colorama", marker = "python_full_version == '3.10.*' and sys_platform == 'win32'" },
+    { name = "decorator", marker = "python_full_version == '3.10.*'" },
+    { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" },
+    { name = "jedi", marker = "python_full_version == '3.10.*'" },
+    { name = "matplotlib-inline", marker = "python_full_version == '3.10.*'" },
+    { name = "pexpect", marker = "python_full_version == '3.10.*' and sys_platform != 'emscripten' and sys_platform != 'win32'" },
+    { name = "prompt-toolkit", marker = "python_full_version == '3.10.*'" },
+    { name = "pygments", marker = "python_full_version == '3.10.*'" },
+    { name = "stack-data", marker = "python_full_version == '3.10.*'" },
+    { name = "traitlets", marker = "python_full_version == '3.10.*'" },
+    { name = "typing-extensions", marker = "python_full_version == '3.10.*'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a2/9f/d9a73710df947b7804bd9d93509463fb3a89e0ddc99c9fcc67279cddbeb6/ipython-8.36.0.tar.gz", hash = "sha256:24658e9fe5c5c819455043235ba59cfffded4a35936eefceceab6b192f7092ff", size = 5604997, upload-time = "2025-04-25T18:03:38.031Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/d6/d7/c1c9f371790b3a181e343c4815a361e5a0cc7d90ef6642d64ba5d05de289/ipython-8.36.0-py3-none-any.whl", hash = "sha256:12b913914d010dcffa2711505ec8be4bf0180742d97f1e5175e51f22086428c1", size = 831074, upload-time = "2025-04-25T18:03:34.951Z" },
+]
+
+[[package]]
+name = "ipython"
+version = "9.2.0"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+    "python_full_version >= '3.12'",
+    "python_full_version == '3.11.*'",
+]
+dependencies = [
+    { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" },
+    { name = "decorator", marker = "python_full_version >= '3.11'" },
+    { name = "ipython-pygments-lexers", marker = "python_full_version >= '3.11'" },
+    { name = "jedi", marker = "python_full_version >= '3.11'" },
+    { name = "matplotlib-inline", marker = "python_full_version >= '3.11'" },
+    { name = "pexpect", marker = "python_full_version >= '3.11' and sys_platform != 'emscripten' and sys_platform != 'win32'" },
+    { name = "prompt-toolkit", marker = "python_full_version >= '3.11'" },
+    { name = "pygments", marker = "python_full_version >= '3.11'" },
+    { name = "stack-data", marker = "python_full_version >= '3.11'" },
+    { name = "traitlets", marker = "python_full_version >= '3.11'" },
+    { name = "typing-extensions", marker = "python_full_version == '3.11.*'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9d/02/63a84444a7409b3c0acd1de9ffe524660e0e5d82ee473e78b45e5bfb64a4/ipython-9.2.0.tar.gz", hash = "sha256:62a9373dbc12f28f9feaf4700d052195bf89806279fc8ca11f3f54017d04751b", size = 4424394, upload-time = "2025-04-25T17:55:40.498Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/78/ce/5e897ee51b7d26ab4e47e5105e7368d40ce6cfae2367acdf3165396d50be/ipython-9.2.0-py3-none-any.whl", hash = "sha256:fef5e33c4a1ae0759e0bba5917c9db4eb8c53fee917b6a526bd973e1ca5159f6", size = 604277, upload-time = "2025-04-25T17:55:37.625Z" },
+]
+
+[[package]]
+name = "ipython-pygments-lexers"
+version = "1.1.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "pygments", marker = "python_full_version >= '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" },
+]
+
+[[package]]
+name = "jedi"
+version = "0.19.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "parso" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" },
+]
+
+[[package]]
+name = "jinja2"
+version = "3.1.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "markupsafe" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" },
+]
+
+[[package]]
+name = "jsonpickle"
+version = "4.0.5"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/d6/33/4bda317ab294722fcdfff8f63aab74af9fda3675a4652d984a101aa7587e/jsonpickle-4.0.5.tar.gz", hash = "sha256:f299818b39367c361b3f26bdba827d4249ab5d383cd93144d0f94b5417aacb35", size = 315661, upload-time = "2025-03-29T19:22:56.92Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/dc/1b/0e79cf115e0f54f1e8f56effb6ffd2ef8f92e9c324d692ede660067f1bfe/jsonpickle-4.0.5-py3-none-any.whl", hash = "sha256:b4ac7d0a75ddcdfd93445737f1d36ff28768690d43e54bf5d0ddb1d915e580df", size = 46382, upload-time = "2025-03-29T19:22:54.252Z" },
+]
+
+[[package]]
+name = "markupsafe"
+version = "3.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" },
+    { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" },
+    { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" },
+    { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" },
+    { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" },
+    { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" },
+    { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" },
+    { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" },
+    { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" },
+    { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" },
+    { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" },
+    { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" },
+    { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" },
+    { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" },
+    { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" },
+    { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" },
+    { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" },
+    { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" },
+    { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" },
+    { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" },
+    { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" },
+    { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" },
+    { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" },
+    { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" },
+    { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" },
+    { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" },
+    { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" },
+    { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" },
+    { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" },
+    { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" },
+    { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" },
+    { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" },
+    { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" },
+    { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" },
+    { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" },
+    { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" },
+    { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" },
+    { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" },
+    { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" },
+    { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" },
+    { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" },
+    { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" },
+    { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" },
+    { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" },
+    { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" },
+    { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" },
+    { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" },
+    { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" },
+    { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" },
+    { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" },
+    { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload-time = "2024-10-18T15:21:43.721Z" },
+    { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload-time = "2024-10-18T15:21:44.666Z" },
+    { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload-time = "2024-10-18T15:21:45.452Z" },
+    { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload-time = "2024-10-18T15:21:46.295Z" },
+    { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload-time = "2024-10-18T15:21:47.134Z" },
+    { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload-time = "2024-10-18T15:21:48.334Z" },
+    { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload-time = "2024-10-18T15:21:49.587Z" },
+    { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload-time = "2024-10-18T15:21:50.441Z" },
+    { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload-time = "2024-10-18T15:21:51.385Z" },
+    { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" },
+]
+
+[[package]]
+name = "matplotlib-inline"
+version = "0.1.7"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "traitlets" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" },
+]
+
+[[package]]
+name = "mccabe"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", size = 9658, upload-time = "2022-01-24T01:14:51.113Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", size = 7350, upload-time = "2022-01-24T01:14:49.62Z" },
+]
+
+[[package]]
+name = "nox"
+version = "2025.5.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "argcomplete" },
+    { name = "attrs" },
+    { name = "colorlog" },
+    { name = "dependency-groups" },
+    { name = "packaging" },
+    { name = "tomli", marker = "python_full_version < '3.11'" },
+    { name = "virtualenv" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b4/80/47712208c410defec169992e57c179f0f4d92f5dd17ba8daca50a8077e23/nox-2025.5.1.tar.gz", hash = "sha256:2a571dfa7a58acc726521ac3cd8184455ebcdcbf26401c7b737b5bc6701427b2", size = 4023334, upload-time = "2025-05-01T16:35:48.056Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/a6/be/7b423b02b09eb856beffe76fe8c4121c99852db74dd12a422dcb72d1134e/nox-2025.5.1-py3-none-any.whl", hash = "sha256:56abd55cf37ff523c254fcec4d152ed51e5fe80e2ab8317221d8b828ac970a31", size = 71753, upload-time = "2025-05-01T16:35:46.037Z" },
+]
+
+[[package]]
+name = "numpy"
+version = "2.0.2"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+    "python_full_version < '3.10'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload-time = "2024-08-26T20:04:14.625Z" },
+    { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload-time = "2024-08-26T20:04:36.784Z" },
+    { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload-time = "2024-08-26T20:04:46.491Z" },
+    { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload-time = "2024-08-26T20:04:58.173Z" },
+    { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload-time = "2024-08-26T20:05:19.098Z" },
+    { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload-time = "2024-08-26T20:05:47.479Z" },
+    { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload-time = "2024-08-26T20:06:17.137Z" },
+    { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload-time = "2024-08-26T20:06:39.16Z" },
+    { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload-time = "2024-08-26T20:06:50.361Z" },
+    { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload-time = "2024-08-26T20:07:13.881Z" },
+    { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload-time = "2024-08-26T20:07:45.345Z" },
+    { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload-time = "2024-08-26T20:08:06.666Z" },
+    { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload-time = "2024-08-26T20:08:15.83Z" },
+    { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload-time = "2024-08-26T20:08:27.185Z" },
+    { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload-time = "2024-08-26T20:08:48.058Z" },
+    { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload-time = "2024-08-26T20:09:16.536Z" },
+    { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload-time = "2024-08-26T20:09:46.263Z" },
+    { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload-time = "2024-08-26T20:10:08.483Z" },
+    { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload-time = "2024-08-26T20:10:19.732Z" },
+    { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload-time = "2024-08-26T20:10:43.413Z" },
+    { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload-time = "2024-08-26T20:11:13.916Z" },
+    { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload-time = "2024-08-26T20:11:34.779Z" },
+    { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload-time = "2024-08-26T20:11:43.902Z" },
+    { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload-time = "2024-08-26T20:11:55.09Z" },
+    { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload-time = "2024-08-26T20:12:14.95Z" },
+    { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload-time = "2024-08-26T20:12:44.049Z" },
+    { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload-time = "2024-08-26T20:13:13.634Z" },
+    { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload-time = "2024-08-26T20:13:34.851Z" },
+    { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload-time = "2024-08-26T20:13:45.653Z" },
+    { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload-time = "2024-08-26T20:14:08.786Z" },
+    { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload-time = "2024-08-26T20:14:40.108Z" },
+    { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload-time = "2024-08-26T20:15:00.985Z" },
+    { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload-time = "2024-08-26T20:15:10.876Z" },
+    { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload-time = "2024-08-26T20:15:22.055Z" },
+    { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload-time = "2024-08-26T20:15:42.452Z" },
+    { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload-time = "2024-08-26T20:16:11.048Z" },
+    { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload-time = "2024-08-26T20:16:40.171Z" },
+    { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload-time = "2024-08-26T20:17:02.604Z" },
+    { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload-time = "2024-08-26T20:17:13.553Z" },
+    { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload-time = "2024-08-26T20:17:36.72Z" },
+    { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload-time = "2024-08-26T20:18:07.732Z" },
+    { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload-time = "2024-08-26T20:18:19.125Z" },
+    { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload-time = "2024-08-26T20:18:47.237Z" },
+    { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload-time = "2024-08-26T20:19:11.19Z" },
+]
+
+[[package]]
+name = "numpy"
+version = "2.2.6"
+source = { registry = "https://pypi.org/simple" }
+resolution-markers = [
+    "python_full_version >= '3.12'",
+    "python_full_version == '3.11.*'",
+    "python_full_version == '3.10.*'",
+]
+sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" },
+    { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" },
+    { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" },
+    { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" },
+    { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" },
+    { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" },
+    { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" },
+    { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" },
+    { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" },
+    { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" },
+    { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" },
+    { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" },
+    { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" },
+    { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" },
+    { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" },
+    { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" },
+    { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" },
+    { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" },
+    { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" },
+    { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" },
+    { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" },
+    { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" },
+    { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" },
+    { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" },
+    { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" },
+    { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" },
+    { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" },
+    { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" },
+    { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" },
+    { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" },
+    { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" },
+    { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" },
+    { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" },
+    { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" },
+    { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" },
+    { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" },
+    { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" },
+    { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" },
+    { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" },
+    { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" },
+    { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" },
+    { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" },
+    { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" },
+    { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" },
+    { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" },
+    { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" },
+    { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" },
+    { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" },
+    { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" },
+    { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" },
+    { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" },
+    { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" },
+    { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" },
+    { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" },
+]
+
+[[package]]
+name = "orderly-set"
+version = "5.4.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/03/4a/38030da31c13dcd5a531490006e63a0954083fb115113be9393179738e25/orderly_set-5.4.1.tar.gz", hash = "sha256:a1fb5a4fdc5e234e9e8d8e5c1bbdbc4540f4dfe50d12bf17c8bc5dbf1c9c878d", size = 20943, upload-time = "2025-05-06T22:34:13.512Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/12/bc/e0dfb4db9210d92b44e49d6e61ba5caefbd411958357fa9d7ff489eeb835/orderly_set-5.4.1-py3-none-any.whl", hash = "sha256:b5e21d21680bd9ef456885db800c5cb4f76a03879880c0175e1b077fb166fd83", size = 12339, upload-time = "2025-05-06T22:34:12.564Z" },
+]
+
+[[package]]
+name = "orjson"
+version = "3.10.18"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", size = 5422810, upload-time = "2025-04-29T23:30:08.423Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/27/16/2ceb9fb7bc2b11b1e4a3ea27794256e93dee2309ebe297fd131a778cd150/orjson-3.10.18-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a45e5d68066b408e4bc383b6e4ef05e717c65219a9e1390abc6155a520cac402", size = 248927, upload-time = "2025-04-29T23:28:08.643Z" },
+    { url = "https://files.pythonhosted.org/packages/3d/e1/d3c0a2bba5b9906badd121da449295062b289236c39c3a7801f92c4682b0/orjson-3.10.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be3b9b143e8b9db05368b13b04c84d37544ec85bb97237b3a923f076265ec89c", size = 136995, upload-time = "2025-04-29T23:28:11.503Z" },
+    { url = "https://files.pythonhosted.org/packages/d7/51/698dd65e94f153ee5ecb2586c89702c9e9d12f165a63e74eb9ea1299f4e1/orjson-3.10.18-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9b0aa09745e2c9b3bf779b096fa71d1cc2d801a604ef6dd79c8b1bfef52b2f92", size = 132893, upload-time = "2025-04-29T23:28:12.751Z" },
+    { url = "https://files.pythonhosted.org/packages/b3/e5/155ce5a2c43a85e790fcf8b985400138ce5369f24ee6770378ee6b691036/orjson-3.10.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53a245c104d2792e65c8d225158f2b8262749ffe64bc7755b00024757d957a13", size = 137017, upload-time = "2025-04-29T23:28:14.498Z" },
+    { url = "https://files.pythonhosted.org/packages/46/bb/6141ec3beac3125c0b07375aee01b5124989907d61c72c7636136e4bd03e/orjson-3.10.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9495ab2611b7f8a0a8a505bcb0f0cbdb5469caafe17b0e404c3c746f9900469", size = 138290, upload-time = "2025-04-29T23:28:16.211Z" },
+    { url = "https://files.pythonhosted.org/packages/77/36/6961eca0b66b7809d33c4ca58c6bd4c23a1b914fb23aba2fa2883f791434/orjson-3.10.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:73be1cbcebadeabdbc468f82b087df435843c809cd079a565fb16f0f3b23238f", size = 142828, upload-time = "2025-04-29T23:28:18.065Z" },
+    { url = "https://files.pythonhosted.org/packages/8b/2f/0c646d5fd689d3be94f4d83fa9435a6c4322c9b8533edbb3cd4bc8c5f69a/orjson-3.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8936ee2679e38903df158037a2f1c108129dee218975122e37847fb1d4ac68", size = 132806, upload-time = "2025-04-29T23:28:19.782Z" },
+    { url = "https://files.pythonhosted.org/packages/ea/af/65907b40c74ef4c3674ef2bcfa311c695eb934710459841b3c2da212215c/orjson-3.10.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7115fcbc8525c74e4c2b608129bef740198e9a120ae46184dac7683191042056", size = 135005, upload-time = "2025-04-29T23:28:21.367Z" },
+    { url = "https://files.pythonhosted.org/packages/c7/d1/68bd20ac6a32cd1f1b10d23e7cc58ee1e730e80624e3031d77067d7150fc/orjson-3.10.18-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:771474ad34c66bc4d1c01f645f150048030694ea5b2709b87d3bda273ffe505d", size = 413418, upload-time = "2025-04-29T23:28:23.097Z" },
+    { url = "https://files.pythonhosted.org/packages/31/31/c701ec0bcc3e80e5cb6e319c628ef7b768aaa24b0f3b4c599df2eaacfa24/orjson-3.10.18-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7c14047dbbea52886dd87169f21939af5d55143dad22d10db6a7514f058156a8", size = 153288, upload-time = "2025-04-29T23:28:25.02Z" },
+    { url = "https://files.pythonhosted.org/packages/d9/31/5e1aa99a10893a43cfc58009f9da840990cc8a9ebb75aa452210ba18587e/orjson-3.10.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:641481b73baec8db14fdf58f8967e52dc8bda1f2aba3aa5f5c1b07ed6df50b7f", size = 137181, upload-time = "2025-04-29T23:28:26.318Z" },
+    { url = "https://files.pythonhosted.org/packages/bf/8c/daba0ac1b8690011d9242a0f37235f7d17df6d0ad941021048523b76674e/orjson-3.10.18-cp310-cp310-win32.whl", hash = "sha256:607eb3ae0909d47280c1fc657c4284c34b785bae371d007595633f4b1a2bbe06", size = 142694, upload-time = "2025-04-29T23:28:28.092Z" },
+    { url = "https://files.pythonhosted.org/packages/16/62/8b687724143286b63e1d0fab3ad4214d54566d80b0ba9d67c26aaf28a2f8/orjson-3.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:8770432524ce0eca50b7efc2a9a5f486ee0113a5fbb4231526d414e6254eba92", size = 134600, upload-time = "2025-04-29T23:28:29.422Z" },
+    { url = "https://files.pythonhosted.org/packages/97/c7/c54a948ce9a4278794f669a353551ce7db4ffb656c69a6e1f2264d563e50/orjson-3.10.18-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e0a183ac3b8e40471e8d843105da6fbe7c070faab023be3b08188ee3f85719b8", size = 248929, upload-time = "2025-04-29T23:28:30.716Z" },
+    { url = "https://files.pythonhosted.org/packages/9e/60/a9c674ef1dd8ab22b5b10f9300e7e70444d4e3cda4b8258d6c2488c32143/orjson-3.10.18-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:5ef7c164d9174362f85238d0cd4afdeeb89d9e523e4651add6a5d458d6f7d42d", size = 133364, upload-time = "2025-04-29T23:28:32.392Z" },
+    { url = "https://files.pythonhosted.org/packages/c1/4e/f7d1bdd983082216e414e6d7ef897b0c2957f99c545826c06f371d52337e/orjson-3.10.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd14c5d99cdc7bf93f22b12ec3b294931518aa019e2a147e8aa2f31fd3240f7", size = 136995, upload-time = "2025-04-29T23:28:34.024Z" },
+    { url = "https://files.pythonhosted.org/packages/17/89/46b9181ba0ea251c9243b0c8ce29ff7c9796fa943806a9c8b02592fce8ea/orjson-3.10.18-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b672502323b6cd133c4af6b79e3bea36bad2d16bca6c1f645903fce83909a7a", size = 132894, upload-time = "2025-04-29T23:28:35.318Z" },
+    { url = "https://files.pythonhosted.org/packages/ca/dd/7bce6fcc5b8c21aef59ba3c67f2166f0a1a9b0317dcca4a9d5bd7934ecfd/orjson-3.10.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51f8c63be6e070ec894c629186b1c0fe798662b8687f3d9fdfa5e401c6bd7679", size = 137016, upload-time = "2025-04-29T23:28:36.674Z" },
+    { url = "https://files.pythonhosted.org/packages/1c/4a/b8aea1c83af805dcd31c1f03c95aabb3e19a016b2a4645dd822c5686e94d/orjson-3.10.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f9478ade5313d724e0495d167083c6f3be0dd2f1c9c8a38db9a9e912cdaf947", size = 138290, upload-time = "2025-04-29T23:28:38.3Z" },
+    { url = "https://files.pythonhosted.org/packages/36/d6/7eb05c85d987b688707f45dcf83c91abc2251e0dd9fb4f7be96514f838b1/orjson-3.10.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:187aefa562300a9d382b4b4eb9694806e5848b0cedf52037bb5c228c61bb66d4", size = 142829, upload-time = "2025-04-29T23:28:39.657Z" },
+    { url = "https://files.pythonhosted.org/packages/d2/78/ddd3ee7873f2b5f90f016bc04062713d567435c53ecc8783aab3a4d34915/orjson-3.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da552683bc9da222379c7a01779bddd0ad39dd699dd6300abaf43eadee38334", size = 132805, upload-time = "2025-04-29T23:28:40.969Z" },
+    { url = "https://files.pythonhosted.org/packages/8c/09/c8e047f73d2c5d21ead9c180203e111cddeffc0848d5f0f974e346e21c8e/orjson-3.10.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e450885f7b47a0231979d9c49b567ed1c4e9f69240804621be87c40bc9d3cf17", size = 135008, upload-time = "2025-04-29T23:28:42.284Z" },
+    { url = "https://files.pythonhosted.org/packages/0c/4b/dccbf5055ef8fb6eda542ab271955fc1f9bf0b941a058490293f8811122b/orjson-3.10.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5e3c9cc2ba324187cd06287ca24f65528f16dfc80add48dc99fa6c836bb3137e", size = 413419, upload-time = "2025-04-29T23:28:43.673Z" },
+    { url = "https://files.pythonhosted.org/packages/8a/f3/1eac0c5e2d6d6790bd2025ebfbefcbd37f0d097103d76f9b3f9302af5a17/orjson-3.10.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:50ce016233ac4bfd843ac5471e232b865271d7d9d44cf9d33773bcd883ce442b", size = 153292, upload-time = "2025-04-29T23:28:45.573Z" },
+    { url = "https://files.pythonhosted.org/packages/1f/b4/ef0abf64c8f1fabf98791819ab502c2c8c1dc48b786646533a93637d8999/orjson-3.10.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b3ceff74a8f7ffde0b2785ca749fc4e80e4315c0fd887561144059fb1c138aa7", size = 137182, upload-time = "2025-04-29T23:28:47.229Z" },
+    { url = "https://files.pythonhosted.org/packages/a9/a3/6ea878e7b4a0dc5c888d0370d7752dcb23f402747d10e2257478d69b5e63/orjson-3.10.18-cp311-cp311-win32.whl", hash = "sha256:fdba703c722bd868c04702cac4cb8c6b8ff137af2623bc0ddb3b3e6a2c8996c1", size = 142695, upload-time = "2025-04-29T23:28:48.564Z" },
+    { url = "https://files.pythonhosted.org/packages/79/2a/4048700a3233d562f0e90d5572a849baa18ae4e5ce4c3ba6247e4ece57b0/orjson-3.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:c28082933c71ff4bc6ccc82a454a2bffcef6e1d7379756ca567c772e4fb3278a", size = 134603, upload-time = "2025-04-29T23:28:50.442Z" },
+    { url = "https://files.pythonhosted.org/packages/03/45/10d934535a4993d27e1c84f1810e79ccf8b1b7418cef12151a22fe9bb1e1/orjson-3.10.18-cp311-cp311-win_arm64.whl", hash = "sha256:a6c7c391beaedd3fa63206e5c2b7b554196f14debf1ec9deb54b5d279b1b46f5", size = 131400, upload-time = "2025-04-29T23:28:51.838Z" },
+    { url = "https://files.pythonhosted.org/packages/21/1a/67236da0916c1a192d5f4ccbe10ec495367a726996ceb7614eaa687112f2/orjson-3.10.18-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:50c15557afb7f6d63bc6d6348e0337a880a04eaa9cd7c9d569bcb4e760a24753", size = 249184, upload-time = "2025-04-29T23:28:53.612Z" },
+    { url = "https://files.pythonhosted.org/packages/b3/bc/c7f1db3b1d094dc0c6c83ed16b161a16c214aaa77f311118a93f647b32dc/orjson-3.10.18-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:356b076f1662c9813d5fa56db7d63ccceef4c271b1fb3dd522aca291375fcf17", size = 133279, upload-time = "2025-04-29T23:28:55.055Z" },
+    { url = "https://files.pythonhosted.org/packages/af/84/664657cd14cc11f0d81e80e64766c7ba5c9b7fc1ec304117878cc1b4659c/orjson-3.10.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:559eb40a70a7494cd5beab2d73657262a74a2c59aff2068fdba8f0424ec5b39d", size = 136799, upload-time = "2025-04-29T23:28:56.828Z" },
+    { url = "https://files.pythonhosted.org/packages/9a/bb/f50039c5bb05a7ab024ed43ba25d0319e8722a0ac3babb0807e543349978/orjson-3.10.18-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f3c29eb9a81e2fbc6fd7ddcfba3e101ba92eaff455b8d602bf7511088bbc0eae", size = 132791, upload-time = "2025-04-29T23:28:58.751Z" },
+    { url = "https://files.pythonhosted.org/packages/93/8c/ee74709fc072c3ee219784173ddfe46f699598a1723d9d49cbc78d66df65/orjson-3.10.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6612787e5b0756a171c7d81ba245ef63a3533a637c335aa7fcb8e665f4a0966f", size = 137059, upload-time = "2025-04-29T23:29:00.129Z" },
+    { url = "https://files.pythonhosted.org/packages/6a/37/e6d3109ee004296c80426b5a62b47bcadd96a3deab7443e56507823588c5/orjson-3.10.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ac6bd7be0dcab5b702c9d43d25e70eb456dfd2e119d512447468f6405b4a69c", size = 138359, upload-time = "2025-04-29T23:29:01.704Z" },
+    { url = "https://files.pythonhosted.org/packages/4f/5d/387dafae0e4691857c62bd02839a3bf3fa648eebd26185adfac58d09f207/orjson-3.10.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f72f100cee8dde70100406d5c1abba515a7df926d4ed81e20a9730c062fe9ad", size = 142853, upload-time = "2025-04-29T23:29:03.576Z" },
+    { url = "https://files.pythonhosted.org/packages/27/6f/875e8e282105350b9a5341c0222a13419758545ae32ad6e0fcf5f64d76aa/orjson-3.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca85398d6d093dd41dc0983cbf54ab8e6afd1c547b6b8a311643917fbf4e0c", size = 133131, upload-time = "2025-04-29T23:29:05.753Z" },
+    { url = "https://files.pythonhosted.org/packages/48/b2/73a1f0b4790dcb1e5a45f058f4f5dcadc8a85d90137b50d6bbc6afd0ae50/orjson-3.10.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22748de2a07fcc8781a70edb887abf801bb6142e6236123ff93d12d92db3d406", size = 134834, upload-time = "2025-04-29T23:29:07.35Z" },
+    { url = "https://files.pythonhosted.org/packages/56/f5/7ed133a5525add9c14dbdf17d011dd82206ca6840811d32ac52a35935d19/orjson-3.10.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3a83c9954a4107b9acd10291b7f12a6b29e35e8d43a414799906ea10e75438e6", size = 413368, upload-time = "2025-04-29T23:29:09.301Z" },
+    { url = "https://files.pythonhosted.org/packages/11/7c/439654221ed9c3324bbac7bdf94cf06a971206b7b62327f11a52544e4982/orjson-3.10.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:303565c67a6c7b1f194c94632a4a39918e067bd6176a48bec697393865ce4f06", size = 153359, upload-time = "2025-04-29T23:29:10.813Z" },
+    { url = "https://files.pythonhosted.org/packages/48/e7/d58074fa0cc9dd29a8fa2a6c8d5deebdfd82c6cfef72b0e4277c4017563a/orjson-3.10.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:86314fdb5053a2f5a5d881f03fca0219bfdf832912aa88d18676a5175c6916b5", size = 137466, upload-time = "2025-04-29T23:29:12.26Z" },
+    { url = "https://files.pythonhosted.org/packages/57/4d/fe17581cf81fb70dfcef44e966aa4003360e4194d15a3f38cbffe873333a/orjson-3.10.18-cp312-cp312-win32.whl", hash = "sha256:187ec33bbec58c76dbd4066340067d9ece6e10067bb0cc074a21ae3300caa84e", size = 142683, upload-time = "2025-04-29T23:29:13.865Z" },
+    { url = "https://files.pythonhosted.org/packages/e6/22/469f62d25ab5f0f3aee256ea732e72dc3aab6d73bac777bd6277955bceef/orjson-3.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:f9f94cf6d3f9cd720d641f8399e390e7411487e493962213390d1ae45c7814fc", size = 134754, upload-time = "2025-04-29T23:29:15.338Z" },
+    { url = "https://files.pythonhosted.org/packages/10/b0/1040c447fac5b91bc1e9c004b69ee50abb0c1ffd0d24406e1350c58a7fcb/orjson-3.10.18-cp312-cp312-win_arm64.whl", hash = "sha256:3d600be83fe4514944500fa8c2a0a77099025ec6482e8087d7659e891f23058a", size = 131218, upload-time = "2025-04-29T23:29:17.324Z" },
+    { url = "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", size = 249087, upload-time = "2025-04-29T23:29:19.083Z" },
+    { url = "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", size = 133273, upload-time = "2025-04-29T23:29:20.602Z" },
+    { url = "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", size = 136779, upload-time = "2025-04-29T23:29:22.062Z" },
+    { url = "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", size = 132811, upload-time = "2025-04-29T23:29:23.602Z" },
+    { url = "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", size = 137018, upload-time = "2025-04-29T23:29:25.094Z" },
+    { url = "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", size = 138368, upload-time = "2025-04-29T23:29:26.609Z" },
+    { url = "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", size = 142840, upload-time = "2025-04-29T23:29:28.153Z" },
+    { url = "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", size = 133135, upload-time = "2025-04-29T23:29:29.726Z" },
+    { url = "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", size = 134810, upload-time = "2025-04-29T23:29:31.269Z" },
+    { url = "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", size = 413491, upload-time = "2025-04-29T23:29:33.315Z" },
+    { url = "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", size = 153277, upload-time = "2025-04-29T23:29:34.946Z" },
+    { url = "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", size = 137367, upload-time = "2025-04-29T23:29:36.52Z" },
+    { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687, upload-time = "2025-04-29T23:29:38.292Z" },
+    { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794, upload-time = "2025-04-29T23:29:40.349Z" },
+    { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186, upload-time = "2025-04-29T23:29:41.922Z" },
+    { url = "https://files.pythonhosted.org/packages/df/db/69488acaa2316788b7e171f024912c6fe8193aa2e24e9cfc7bc41c3669ba/orjson-3.10.18-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c95fae14225edfd699454e84f61c3dd938df6629a00c6ce15e704f57b58433bb", size = 249301, upload-time = "2025-04-29T23:29:44.719Z" },
+    { url = "https://files.pythonhosted.org/packages/23/21/d816c44ec5d1482c654e1d23517d935bb2716e1453ff9380e861dc6efdd3/orjson-3.10.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5232d85f177f98e0cefabb48b5e7f60cff6f3f0365f9c60631fecd73849b2a82", size = 136786, upload-time = "2025-04-29T23:29:46.517Z" },
+    { url = "https://files.pythonhosted.org/packages/a5/9f/f68d8a9985b717e39ba7bf95b57ba173fcd86aeca843229ec60d38f1faa7/orjson-3.10.18-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2783e121cafedf0d85c148c248a20470018b4ffd34494a68e125e7d5857655d1", size = 132711, upload-time = "2025-04-29T23:29:48.605Z" },
+    { url = "https://files.pythonhosted.org/packages/b5/63/447f5955439bf7b99bdd67c38a3f689d140d998ac58e3b7d57340520343c/orjson-3.10.18-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e54ee3722caf3db09c91f442441e78f916046aa58d16b93af8a91500b7bbf273", size = 136841, upload-time = "2025-04-29T23:29:50.31Z" },
+    { url = "https://files.pythonhosted.org/packages/68/9e/4855972f2be74097242e4681ab6766d36638a079e09d66f3d6a5d1188ce7/orjson-3.10.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2daf7e5379b61380808c24f6fc182b7719301739e4271c3ec88f2984a2d61f89", size = 138082, upload-time = "2025-04-29T23:29:51.992Z" },
+    { url = "https://files.pythonhosted.org/packages/08/0f/e68431e53a39698d2355faf1f018c60a3019b4b54b4ea6be9dc6b8208a3d/orjson-3.10.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f39b371af3add20b25338f4b29a8d6e79a8c7ed0e9dd49e008228a065d07781", size = 142618, upload-time = "2025-04-29T23:29:53.642Z" },
+    { url = "https://files.pythonhosted.org/packages/32/da/bdcfff239ddba1b6ef465efe49d7e43cc8c30041522feba9fd4241d47c32/orjson-3.10.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b819ed34c01d88c6bec290e6842966f8e9ff84b7694632e88341363440d4cc0", size = 132627, upload-time = "2025-04-29T23:29:55.318Z" },
+    { url = "https://files.pythonhosted.org/packages/0c/28/bc634da09bbe972328f615b0961f1e7d91acb3cc68bddbca9e8dd64e8e24/orjson-3.10.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2f6c57debaef0b1aa13092822cbd3698a1fb0209a9ea013a969f4efa36bdea57", size = 134832, upload-time = "2025-04-29T23:29:56.985Z" },
+    { url = "https://files.pythonhosted.org/packages/1d/d2/e8ac0c2d0ec782ed8925b4eb33f040cee1f1fbd1d8b268aeb84b94153e49/orjson-3.10.18-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:755b6d61ffdb1ffa1e768330190132e21343757c9aa2308c67257cc81a1a6f5a", size = 413161, upload-time = "2025-04-29T23:29:59.148Z" },
+    { url = "https://files.pythonhosted.org/packages/28/f0/397e98c352a27594566e865999dc6b88d6f37d5bbb87b23c982af24114c4/orjson-3.10.18-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ce8d0a875a85b4c8579eab5ac535fb4b2a50937267482be402627ca7e7570ee3", size = 153012, upload-time = "2025-04-29T23:30:01.066Z" },
+    { url = "https://files.pythonhosted.org/packages/93/bf/2c7334caeb48bdaa4cae0bde17ea417297ee136598653b1da7ae1f98c785/orjson-3.10.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57b5d0673cbd26781bebc2bf86f99dd19bd5a9cb55f71cc4f66419f6b50f3d77", size = 136999, upload-time = "2025-04-29T23:30:02.93Z" },
+    { url = "https://files.pythonhosted.org/packages/35/72/4827b1c0c31621c2aa1e661a899cdd2cfac0565c6cd7131890daa4ef7535/orjson-3.10.18-cp39-cp39-win32.whl", hash = "sha256:951775d8b49d1d16ca8818b1f20c4965cae9157e7b562a2ae34d3967b8f21c8e", size = 142560, upload-time = "2025-04-29T23:30:04.805Z" },
+    { url = "https://files.pythonhosted.org/packages/72/91/ef8e76868e7eed478887c82f60607a8abf58dadd24e95817229a4b2e2639/orjson-3.10.18-cp39-cp39-win_amd64.whl", hash = "sha256:fdd9d68f83f0bc4406610b1ac68bdcded8c5ee58605cc69e643a06f4d075f429", size = 134455, upload-time = "2025-04-29T23:30:06.588Z" },
+]
+
+[[package]]
+name = "packaging"
+version = "25.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
+]
+
+[[package]]
+name = "pandas"
+version = "2.2.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
+    { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" },
+    { name = "python-dateutil" },
+    { name = "pytz" },
+    { name = "tzdata" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/9c/d6/9f8431bacc2e19dca897724cd097b1bb224a6ad5433784a44b587c7c13af/pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667", size = 4399213, upload-time = "2024-09-20T13:10:04.827Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/aa/70/c853aec59839bceed032d52010ff5f1b8d87dc3114b762e4ba2727661a3b/pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5", size = 12580827, upload-time = "2024-09-20T13:08:42.347Z" },
+    { url = "https://files.pythonhosted.org/packages/99/f2/c4527768739ffa4469b2b4fff05aa3768a478aed89a2f271a79a40eee984/pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348", size = 11303897, upload-time = "2024-09-20T13:08:45.807Z" },
+    { url = "https://files.pythonhosted.org/packages/ed/12/86c1747ea27989d7a4064f806ce2bae2c6d575b950be087837bdfcabacc9/pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed", size = 66480908, upload-time = "2024-09-20T18:37:13.513Z" },
+    { url = "https://files.pythonhosted.org/packages/44/50/7db2cd5e6373ae796f0ddad3675268c8d59fb6076e66f0c339d61cea886b/pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57", size = 13064210, upload-time = "2024-09-20T13:08:48.325Z" },
+    { url = "https://files.pythonhosted.org/packages/61/61/a89015a6d5536cb0d6c3ba02cebed51a95538cf83472975275e28ebf7d0c/pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42", size = 16754292, upload-time = "2024-09-20T19:01:54.443Z" },
+    { url = "https://files.pythonhosted.org/packages/ce/0d/4cc7b69ce37fac07645a94e1d4b0880b15999494372c1523508511b09e40/pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f", size = 14416379, upload-time = "2024-09-20T13:08:50.882Z" },
+    { url = "https://files.pythonhosted.org/packages/31/9e/6ebb433de864a6cd45716af52a4d7a8c3c9aaf3a98368e61db9e69e69a9c/pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645", size = 11598471, upload-time = "2024-09-20T13:08:53.332Z" },
+    { url = "https://files.pythonhosted.org/packages/a8/44/d9502bf0ed197ba9bf1103c9867d5904ddcaf869e52329787fc54ed70cc8/pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039", size = 12602222, upload-time = "2024-09-20T13:08:56.254Z" },
+    { url = "https://files.pythonhosted.org/packages/52/11/9eac327a38834f162b8250aab32a6781339c69afe7574368fffe46387edf/pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd", size = 11321274, upload-time = "2024-09-20T13:08:58.645Z" },
+    { url = "https://files.pythonhosted.org/packages/45/fb/c4beeb084718598ba19aa9f5abbc8aed8b42f90930da861fcb1acdb54c3a/pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698", size = 15579836, upload-time = "2024-09-20T19:01:57.571Z" },
+    { url = "https://files.pythonhosted.org/packages/cd/5f/4dba1d39bb9c38d574a9a22548c540177f78ea47b32f99c0ff2ec499fac5/pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc", size = 13058505, upload-time = "2024-09-20T13:09:01.501Z" },
+    { url = "https://files.pythonhosted.org/packages/b9/57/708135b90391995361636634df1f1130d03ba456e95bcf576fada459115a/pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3", size = 16744420, upload-time = "2024-09-20T19:02:00.678Z" },
+    { url = "https://files.pythonhosted.org/packages/86/4a/03ed6b7ee323cf30404265c284cee9c65c56a212e0a08d9ee06984ba2240/pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32", size = 14440457, upload-time = "2024-09-20T13:09:04.105Z" },
+    { url = "https://files.pythonhosted.org/packages/ed/8c/87ddf1fcb55d11f9f847e3c69bb1c6f8e46e2f40ab1a2d2abadb2401b007/pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5", size = 11617166, upload-time = "2024-09-20T13:09:06.917Z" },
+    { url = "https://files.pythonhosted.org/packages/17/a3/fb2734118db0af37ea7433f57f722c0a56687e14b14690edff0cdb4b7e58/pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9", size = 12529893, upload-time = "2024-09-20T13:09:09.655Z" },
+    { url = "https://files.pythonhosted.org/packages/e1/0c/ad295fd74bfac85358fd579e271cded3ac969de81f62dd0142c426b9da91/pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4", size = 11363475, upload-time = "2024-09-20T13:09:14.718Z" },
+    { url = "https://files.pythonhosted.org/packages/c6/2a/4bba3f03f7d07207481fed47f5b35f556c7441acddc368ec43d6643c5777/pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3", size = 15188645, upload-time = "2024-09-20T19:02:03.88Z" },
+    { url = "https://files.pythonhosted.org/packages/38/f8/d8fddee9ed0d0c0f4a2132c1dfcf0e3e53265055da8df952a53e7eaf178c/pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319", size = 12739445, upload-time = "2024-09-20T13:09:17.621Z" },
+    { url = "https://files.pythonhosted.org/packages/20/e8/45a05d9c39d2cea61ab175dbe6a2de1d05b679e8de2011da4ee190d7e748/pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8", size = 16359235, upload-time = "2024-09-20T19:02:07.094Z" },
+    { url = "https://files.pythonhosted.org/packages/1d/99/617d07a6a5e429ff90c90da64d428516605a1ec7d7bea494235e1c3882de/pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a", size = 14056756, upload-time = "2024-09-20T13:09:20.474Z" },
+    { url = "https://files.pythonhosted.org/packages/29/d4/1244ab8edf173a10fd601f7e13b9566c1b525c4f365d6bee918e68381889/pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13", size = 11504248, upload-time = "2024-09-20T13:09:23.137Z" },
+    { url = "https://files.pythonhosted.org/packages/64/22/3b8f4e0ed70644e85cfdcd57454686b9057c6c38d2f74fe4b8bc2527214a/pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015", size = 12477643, upload-time = "2024-09-20T13:09:25.522Z" },
+    { url = "https://files.pythonhosted.org/packages/e4/93/b3f5d1838500e22c8d793625da672f3eec046b1a99257666c94446969282/pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28", size = 11281573, upload-time = "2024-09-20T13:09:28.012Z" },
+    { url = "https://files.pythonhosted.org/packages/f5/94/6c79b07f0e5aab1dcfa35a75f4817f5c4f677931d4234afcd75f0e6a66ca/pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0", size = 15196085, upload-time = "2024-09-20T19:02:10.451Z" },
+    { url = "https://files.pythonhosted.org/packages/e8/31/aa8da88ca0eadbabd0a639788a6da13bb2ff6edbbb9f29aa786450a30a91/pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24", size = 12711809, upload-time = "2024-09-20T13:09:30.814Z" },
+    { url = "https://files.pythonhosted.org/packages/ee/7c/c6dbdb0cb2a4344cacfb8de1c5808ca885b2e4dcfde8008266608f9372af/pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659", size = 16356316, upload-time = "2024-09-20T19:02:13.825Z" },
+    { url = "https://files.pythonhosted.org/packages/57/b7/8b757e7d92023b832869fa8881a992696a0bfe2e26f72c9ae9f255988d42/pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb", size = 14022055, upload-time = "2024-09-20T13:09:33.462Z" },
+    { url = "https://files.pythonhosted.org/packages/3b/bc/4b18e2b8c002572c5a441a64826252ce5da2aa738855747247a971988043/pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d", size = 11481175, upload-time = "2024-09-20T13:09:35.871Z" },
+    { url = "https://files.pythonhosted.org/packages/76/a3/a5d88146815e972d40d19247b2c162e88213ef51c7c25993942c39dbf41d/pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468", size = 12615650, upload-time = "2024-09-20T13:09:38.685Z" },
+    { url = "https://files.pythonhosted.org/packages/9c/8c/f0fd18f6140ddafc0c24122c8a964e48294acc579d47def376fef12bcb4a/pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18", size = 11290177, upload-time = "2024-09-20T13:09:41.141Z" },
+    { url = "https://files.pythonhosted.org/packages/ed/f9/e995754eab9c0f14c6777401f7eece0943840b7a9fc932221c19d1abee9f/pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2", size = 14651526, upload-time = "2024-09-20T19:02:16.905Z" },
+    { url = "https://files.pythonhosted.org/packages/25/b0/98d6ae2e1abac4f35230aa756005e8654649d305df9a28b16b9ae4353bff/pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4", size = 11871013, upload-time = "2024-09-20T13:09:44.39Z" },
+    { url = "https://files.pythonhosted.org/packages/cc/57/0f72a10f9db6a4628744c8e8f0df4e6e21de01212c7c981d31e50ffc8328/pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d", size = 15711620, upload-time = "2024-09-20T19:02:20.639Z" },
+    { url = "https://files.pythonhosted.org/packages/ab/5f/b38085618b950b79d2d9164a711c52b10aefc0ae6833b96f626b7021b2ed/pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a", size = 13098436, upload-time = "2024-09-20T13:09:48.112Z" },
+    { url = "https://files.pythonhosted.org/packages/ca/8c/8848a4c9b8fdf5a534fe2077af948bf53cd713d77ffbcd7bd15710348fd7/pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39", size = 12595535, upload-time = "2024-09-20T13:09:51.339Z" },
+    { url = "https://files.pythonhosted.org/packages/9c/b9/5cead4f63b6d31bdefeb21a679bc5a7f4aaf262ca7e07e2bc1c341b68470/pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30", size = 11319822, upload-time = "2024-09-20T13:09:54.31Z" },
+    { url = "https://files.pythonhosted.org/packages/31/af/89e35619fb573366fa68dc26dad6ad2c08c17b8004aad6d98f1a31ce4bb3/pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c", size = 15625439, upload-time = "2024-09-20T19:02:23.689Z" },
+    { url = "https://files.pythonhosted.org/packages/3d/dd/bed19c2974296661493d7acc4407b1d2db4e2a482197df100f8f965b6225/pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c", size = 13068928, upload-time = "2024-09-20T13:09:56.746Z" },
+    { url = "https://files.pythonhosted.org/packages/31/a3/18508e10a31ea108d746c848b5a05c0711e0278fa0d6f1c52a8ec52b80a5/pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea", size = 16783266, upload-time = "2024-09-20T19:02:26.247Z" },
+    { url = "https://files.pythonhosted.org/packages/c4/a5/3429bd13d82bebc78f4d78c3945efedef63a7cd0c15c17b2eeb838d1121f/pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761", size = 14450871, upload-time = "2024-09-20T13:09:59.779Z" },
+    { url = "https://files.pythonhosted.org/packages/2f/49/5c30646e96c684570925b772eac4eb0a8cb0ca590fa978f56c5d3ae73ea1/pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e", size = 11618011, upload-time = "2024-09-20T13:10:02.351Z" },
+]
+
+[[package]]
+name = "parso"
+version = "0.8.4"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609, upload-time = "2024-04-05T09:43:55.897Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload-time = "2024-04-05T09:43:53.299Z" },
+]
+
+[[package]]
+name = "pexpect"
+version = "4.9.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "ptyprocess" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" },
+]
+
+[[package]]
+name = "platformdirs"
+version = "4.3.8"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" },
+]
+
+[[package]]
+name = "pluggy"
+version = "1.6.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" },
+]
+
+[[package]]
+name = "polars"
+version = "1.21.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/98/49/3733f0a34fd2504264579bad2c66021e175ab548b21767340721e10a1dcf/polars-1.21.0.tar.gz", hash = "sha256:7692d0fe0fb4faac18ef9423de55789e289f4d3f26d42519bd23ef8afb672d62", size = 4323012, upload-time = "2025-01-24T17:56:43.723Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/d4/c3/976f0251e96c957143905530b236f1e278b28a8eb5850eab94595bf5d220/polars-1.21.0-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:063f8807f633f8fd15458a43971d930f6ee568b8e95936d7736c9054fc4f6f52", size = 31015281, upload-time = "2025-01-24T17:55:05.645Z" },
+    { url = "https://files.pythonhosted.org/packages/94/33/c55c19dde172e34dd7a5074a1dcac6472074236131698269db236550283e/polars-1.21.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:519863e0990e3323e7a32fc66bac3ad9da51938a1ffce6c09a92e0b1adb026a5", size = 28033973, upload-time = "2025-01-24T17:55:11.734Z" },
+    { url = "https://files.pythonhosted.org/packages/da/72/b108cd7e063f03f5b029edbd73ca514291dd3e3d88617965d09df64d71ba/polars-1.21.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbecddca35c57efde99070517db5d2c63d4c6d0e3c992123ba3be93e86e7bfac", size = 31641844, upload-time = "2025-01-24T17:55:17.384Z" },
+    { url = "https://files.pythonhosted.org/packages/ac/0a/1df51a9e09fb9974a511eb098e13afed916e8643556799799884f22c7869/polars-1.21.0-cp39-abi3-manylinux_2_24_aarch64.whl", hash = "sha256:d9ce8e6f0d8140e67b0f7c276d22bb5f3345ce7412558643c8b5c270db254b64", size = 29005158, upload-time = "2025-01-24T17:55:23.123Z" },
+    { url = "https://files.pythonhosted.org/packages/90/4b/f75f0eb9527c943440c6ed90be7e97146a00699fee69f9d5aff577f15659/polars-1.21.0-cp39-abi3-win_amd64.whl", hash = "sha256:c4517abb008af890e4ca8fb6bb0372868381017af0ecadf9d062e2f91f50b276", size = 31729901, upload-time = "2025-01-24T17:55:28.192Z" },
+    { url = "https://files.pythonhosted.org/packages/e6/a0/d48548f4c9e139b02eacfc074bfd02d98d9bb5f9bf9c03ec5649a481d8ff/polars-1.21.0-cp39-abi3-win_arm64.whl", hash = "sha256:6bb0ba805defb05b76fdca392e48d84d1f16403de5be25d4dd8cdc7fccfd4251", size = 28179572, upload-time = "2025-01-24T17:55:33.648Z" },
+]
+
+[[package]]
+name = "prompt-toolkit"
+version = "3.0.51"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "wcwidth" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940, upload-time = "2025-04-15T09:18:47.731Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810, upload-time = "2025-04-15T09:18:44.753Z" },
+]
+
+[[package]]
+name = "ptyprocess"
+version = "0.7.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" },
+]
+
+[[package]]
+name = "pure-eval"
+version = "0.2.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" },
+]
+
+[[package]]
+name = "py-cpuinfo"
+version = "9.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/37/a8/d832f7293ebb21690860d2e01d8115e5ff6f2ae8bbdc953f0eb0fa4bd2c7/py-cpuinfo-9.0.0.tar.gz", hash = "sha256:3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690", size = 104716, upload-time = "2022-10-25T20:38:06.303Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/e0/a9/023730ba63db1e494a271cb018dcd361bd2c917ba7004c3e49d5daf795a2/py_cpuinfo-9.0.0-py3-none-any.whl", hash = "sha256:859625bc251f64e21f077d099d4162689c762b5d6a4c3c97553d56241c9674d5", size = 22335, upload-time = "2022-10-25T20:38:27.636Z" },
+]
+
+[[package]]
+name = "pycodestyle"
+version = "2.12.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/aa/210b2c9aedd8c1cbeea31a50e42050ad56187754b34eb214c46709445801/pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521", size = 39232, upload-time = "2024-08-04T20:26:54.576Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/3a/d8/a211b3f85e99a0daa2ddec96c949cac6824bd305b040571b82a03dd62636/pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3", size = 31284, upload-time = "2024-08-04T20:26:53.173Z" },
+]
+
+[[package]]
+name = "pydantic"
+version = "2.10.6"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "annotated-types" },
+    { name = "pydantic-core" },
+    { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681, upload-time = "2025-01-24T01:42:12.693Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696, upload-time = "2025-01-24T01:42:10.371Z" },
+]
+
+[[package]]
+name = "pydantic-core"
+version = "2.27.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443, upload-time = "2024-12-18T11:31:54.917Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa", size = 1895938, upload-time = "2024-12-18T11:27:14.406Z" },
+    { url = "https://files.pythonhosted.org/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c", size = 1815684, upload-time = "2024-12-18T11:27:16.489Z" },
+    { url = "https://files.pythonhosted.org/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a", size = 1829169, upload-time = "2024-12-18T11:27:22.16Z" },
+    { url = "https://files.pythonhosted.org/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5", size = 1867227, upload-time = "2024-12-18T11:27:25.097Z" },
+    { url = "https://files.pythonhosted.org/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c", size = 2037695, upload-time = "2024-12-18T11:27:28.656Z" },
+    { url = "https://files.pythonhosted.org/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7", size = 2741662, upload-time = "2024-12-18T11:27:30.798Z" },
+    { url = "https://files.pythonhosted.org/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a", size = 1993370, upload-time = "2024-12-18T11:27:33.692Z" },
+    { url = "https://files.pythonhosted.org/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236", size = 1996813, upload-time = "2024-12-18T11:27:37.111Z" },
+    { url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287, upload-time = "2024-12-18T11:27:40.566Z" },
+    { url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414, upload-time = "2024-12-18T11:27:43.757Z" },
+    { url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301, upload-time = "2024-12-18T11:27:47.36Z" },
+    { url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685, upload-time = "2024-12-18T11:27:50.508Z" },
+    { url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876, upload-time = "2024-12-18T11:27:53.54Z" },
+    { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421, upload-time = "2024-12-18T11:27:55.409Z" },
+    { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998, upload-time = "2024-12-18T11:27:57.252Z" },
+    { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167, upload-time = "2024-12-18T11:27:59.146Z" },
+    { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071, upload-time = "2024-12-18T11:28:02.625Z" },
+    { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244, upload-time = "2024-12-18T11:28:04.442Z" },
+    { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470, upload-time = "2024-12-18T11:28:07.679Z" },
+    { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291, upload-time = "2024-12-18T11:28:10.297Z" },
+    { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613, upload-time = "2024-12-18T11:28:13.362Z" },
+    { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355, upload-time = "2024-12-18T11:28:16.587Z" },
+    { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661, upload-time = "2024-12-18T11:28:18.407Z" },
+    { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261, upload-time = "2024-12-18T11:28:21.471Z" },
+    { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361, upload-time = "2024-12-18T11:28:23.53Z" },
+    { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484, upload-time = "2024-12-18T11:28:25.391Z" },
+    { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102, upload-time = "2024-12-18T11:28:28.593Z" },
+    { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127, upload-time = "2024-12-18T11:28:30.346Z" },
+    { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340, upload-time = "2024-12-18T11:28:32.521Z" },
+    { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900, upload-time = "2024-12-18T11:28:34.507Z" },
+    { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177, upload-time = "2024-12-18T11:28:36.488Z" },
+    { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046, upload-time = "2024-12-18T11:28:39.409Z" },
+    { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386, upload-time = "2024-12-18T11:28:41.221Z" },
+    { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060, upload-time = "2024-12-18T11:28:44.709Z" },
+    { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870, upload-time = "2024-12-18T11:28:46.839Z" },
+    { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822, upload-time = "2024-12-18T11:28:48.896Z" },
+    { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364, upload-time = "2024-12-18T11:28:50.755Z" },
+    { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303, upload-time = "2024-12-18T11:28:54.122Z" },
+    { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064, upload-time = "2024-12-18T11:28:56.074Z" },
+    { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046, upload-time = "2024-12-18T11:28:58.107Z" },
+    { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092, upload-time = "2024-12-18T11:29:01.335Z" },
+    { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709, upload-time = "2024-12-18T11:29:03.193Z" },
+    { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273, upload-time = "2024-12-18T11:29:05.306Z" },
+    { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027, upload-time = "2024-12-18T11:29:07.294Z" },
+    { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888, upload-time = "2024-12-18T11:29:09.249Z" },
+    { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738, upload-time = "2024-12-18T11:29:11.23Z" },
+    { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138, upload-time = "2024-12-18T11:29:16.396Z" },
+    { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025, upload-time = "2024-12-18T11:29:20.25Z" },
+    { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633, upload-time = "2024-12-18T11:29:23.877Z" },
+    { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404, upload-time = "2024-12-18T11:29:25.872Z" },
+    { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130, upload-time = "2024-12-18T11:29:29.252Z" },
+    { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946, upload-time = "2024-12-18T11:29:31.338Z" },
+    { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387, upload-time = "2024-12-18T11:29:33.481Z" },
+    { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453, upload-time = "2024-12-18T11:29:35.533Z" },
+    { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186, upload-time = "2024-12-18T11:29:37.649Z" },
+    { url = "https://files.pythonhosted.org/packages/27/97/3aef1ddb65c5ccd6eda9050036c956ff6ecbfe66cb7eb40f280f121a5bb0/pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993", size = 1896475, upload-time = "2024-12-18T11:30:18.316Z" },
+    { url = "https://files.pythonhosted.org/packages/ad/d3/5668da70e373c9904ed2f372cb52c0b996426f302e0dee2e65634c92007d/pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308", size = 1772279, upload-time = "2024-12-18T11:30:20.547Z" },
+    { url = "https://files.pythonhosted.org/packages/8a/9e/e44b8cb0edf04a2f0a1f6425a65ee089c1d6f9c4c2dcab0209127b6fdfc2/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4", size = 1829112, upload-time = "2024-12-18T11:30:23.255Z" },
+    { url = "https://files.pythonhosted.org/packages/1c/90/1160d7ac700102effe11616e8119e268770f2a2aa5afb935f3ee6832987d/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf", size = 1866780, upload-time = "2024-12-18T11:30:25.742Z" },
+    { url = "https://files.pythonhosted.org/packages/ee/33/13983426df09a36d22c15980008f8d9c77674fc319351813b5a2739b70f3/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76", size = 2037943, upload-time = "2024-12-18T11:30:28.036Z" },
+    { url = "https://files.pythonhosted.org/packages/01/d7/ced164e376f6747e9158c89988c293cd524ab8d215ae4e185e9929655d5c/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118", size = 2740492, upload-time = "2024-12-18T11:30:30.412Z" },
+    { url = "https://files.pythonhosted.org/packages/8b/1f/3dc6e769d5b7461040778816aab2b00422427bcaa4b56cc89e9c653b2605/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630", size = 1995714, upload-time = "2024-12-18T11:30:34.358Z" },
+    { url = "https://files.pythonhosted.org/packages/07/d7/a0bd09bc39283530b3f7c27033a814ef254ba3bd0b5cfd040b7abf1fe5da/pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54", size = 1997163, upload-time = "2024-12-18T11:30:37.979Z" },
+    { url = "https://files.pythonhosted.org/packages/2d/bb/2db4ad1762e1c5699d9b857eeb41959191980de6feb054e70f93085e1bcd/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f", size = 2005217, upload-time = "2024-12-18T11:30:40.367Z" },
+    { url = "https://files.pythonhosted.org/packages/53/5f/23a5a3e7b8403f8dd8fc8a6f8b49f6b55c7d715b77dcf1f8ae919eeb5628/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362", size = 2127899, upload-time = "2024-12-18T11:30:42.737Z" },
+    { url = "https://files.pythonhosted.org/packages/c2/ae/aa38bb8dd3d89c2f1d8362dd890ee8f3b967330821d03bbe08fa01ce3766/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96", size = 2155726, upload-time = "2024-12-18T11:30:45.279Z" },
+    { url = "https://files.pythonhosted.org/packages/98/61/4f784608cc9e98f70839187117ce840480f768fed5d386f924074bf6213c/pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e", size = 1817219, upload-time = "2024-12-18T11:30:47.718Z" },
+    { url = "https://files.pythonhosted.org/packages/57/82/bb16a68e4a1a858bb3768c2c8f1ff8d8978014e16598f001ea29a25bf1d1/pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67", size = 1985382, upload-time = "2024-12-18T11:30:51.871Z" },
+    { url = "https://files.pythonhosted.org/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e", size = 1891159, upload-time = "2024-12-18T11:30:54.382Z" },
+    { url = "https://files.pythonhosted.org/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8", size = 1768331, upload-time = "2024-12-18T11:30:58.178Z" },
+    { url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467, upload-time = "2024-12-18T11:31:00.6Z" },
+    { url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797, upload-time = "2024-12-18T11:31:07.243Z" },
+    { url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839, upload-time = "2024-12-18T11:31:09.775Z" },
+    { url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861, upload-time = "2024-12-18T11:31:13.469Z" },
+    { url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582, upload-time = "2024-12-18T11:31:17.423Z" },
+    { url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985, upload-time = "2024-12-18T11:31:19.901Z" },
+    { url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715, upload-time = "2024-12-18T11:31:22.821Z" },
+    { url = "https://files.pythonhosted.org/packages/29/0e/dcaea00c9dbd0348b723cae82b0e0c122e0fa2b43fa933e1622fd237a3ee/pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656", size = 1891733, upload-time = "2024-12-18T11:31:26.876Z" },
+    { url = "https://files.pythonhosted.org/packages/86/d3/e797bba8860ce650272bda6383a9d8cad1d1c9a75a640c9d0e848076f85e/pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278", size = 1768375, upload-time = "2024-12-18T11:31:29.276Z" },
+    { url = "https://files.pythonhosted.org/packages/41/f7/f847b15fb14978ca2b30262548f5fc4872b2724e90f116393eb69008299d/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb", size = 1822307, upload-time = "2024-12-18T11:31:33.123Z" },
+    { url = "https://files.pythonhosted.org/packages/9c/63/ed80ec8255b587b2f108e514dc03eed1546cd00f0af281e699797f373f38/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd", size = 1979971, upload-time = "2024-12-18T11:31:35.755Z" },
+    { url = "https://files.pythonhosted.org/packages/a9/6d/6d18308a45454a0de0e975d70171cadaf454bc7a0bf86b9c7688e313f0bb/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc", size = 1987616, upload-time = "2024-12-18T11:31:38.534Z" },
+    { url = "https://files.pythonhosted.org/packages/82/8a/05f8780f2c1081b800a7ca54c1971e291c2d07d1a50fb23c7e4aef4ed403/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b", size = 1998943, upload-time = "2024-12-18T11:31:41.853Z" },
+    { url = "https://files.pythonhosted.org/packages/5e/3e/fe5b6613d9e4c0038434396b46c5303f5ade871166900b357ada4766c5b7/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b", size = 2116654, upload-time = "2024-12-18T11:31:44.756Z" },
+    { url = "https://files.pythonhosted.org/packages/db/ad/28869f58938fad8cc84739c4e592989730bfb69b7c90a8fff138dff18e1e/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2", size = 2152292, upload-time = "2024-12-18T11:31:48.613Z" },
+    { url = "https://files.pythonhosted.org/packages/a1/0c/c5c5cd3689c32ed1fe8c5d234b079c12c281c051759770c05b8bed6412b5/pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35", size = 2004961, upload-time = "2024-12-18T11:31:52.446Z" },
+]
+
+[[package]]
+name = "pyflakes"
+version = "3.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/57/f9/669d8c9c86613c9d568757c7f5824bd3197d7b1c6c27553bc5618a27cce2/pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f", size = 63788, upload-time = "2024-01-05T00:28:47.703Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/d4/d7/f1b7db88d8e4417c5d47adad627a93547f44bdc9028372dbd2313f34a855/pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a", size = 62725, upload-time = "2024-01-05T00:28:45.903Z" },
+]
+
+[[package]]
+name = "pygments"
+version = "2.19.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" },
+]
+
+[[package]]
+name = "pytest"
+version = "8.3.5"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "colorama", marker = "sys_platform == 'win32'" },
+    { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
+    { name = "iniconfig" },
+    { name = "packaging" },
+    { name = "pluggy" },
+    { name = "tomli", marker = "python_full_version < '3.11'" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" },
+]
+
+[[package]]
+name = "pytest-benchmark"
+version = "5.1.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "py-cpuinfo" },
+    { name = "pytest" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/39/d0/a8bd08d641b393db3be3819b03e2d9bb8760ca8479080a26a5f6e540e99c/pytest-benchmark-5.1.0.tar.gz", hash = "sha256:9ea661cdc292e8231f7cd4c10b0319e56a2118e2c09d9f50e1b3d150d2aca105", size = 337810, upload-time = "2024-10-30T11:51:48.521Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/9e/d6/b41653199ea09d5969d4e385df9bbfd9a100f28ca7e824ce7c0a016e3053/pytest_benchmark-5.1.0-py3-none-any.whl", hash = "sha256:922de2dfa3033c227c96da942d1878191afa135a29485fb942e85dff1c592c89", size = 44259, upload-time = "2024-10-30T11:51:45.94Z" },
+]
+
+[[package]]
+name = "pytest-cov"
+version = "6.0.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "coverage", extra = ["toml"] },
+    { name = "pytest" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/be/45/9b538de8cef30e17c7b45ef42f538a94889ed6a16f2387a6c89e73220651/pytest-cov-6.0.0.tar.gz", hash = "sha256:fde0b595ca248bb8e2d76f020b465f3b107c9632e6a1d1705f17834c89dcadc0", size = 66945, upload-time = "2024-10-29T20:13:35.363Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/36/3b/48e79f2cd6a61dbbd4807b4ed46cb564b4fd50a76166b1c4ea5c1d9e2371/pytest_cov-6.0.0-py3-none-any.whl", hash = "sha256:eee6f1b9e61008bd34975a4d5bab25801eb31898b032dd55addc93e96fcaaa35", size = 22949, upload-time = "2024-10-29T20:13:33.215Z" },
+]
+
+[[package]]
+name = "python-dateutil"
+version = "2.9.0.post0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "six" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" },
+]
+
+[[package]]
+name = "python-dotenv"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115, upload-time = "2024-01-23T06:33:00.505Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863, upload-time = "2024-01-23T06:32:58.246Z" },
+]
+
+[[package]]
+name = "pytz"
+version = "2025.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" },
+]
+
+[[package]]
+name = "pyyaml"
+version = "6.0.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" },
+    { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" },
+    { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" },
+    { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" },
+    { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" },
+    { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" },
+    { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" },
+    { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" },
+    { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" },
+    { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" },
+    { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" },
+    { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" },
+    { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" },
+    { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" },
+    { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" },
+    { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" },
+    { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" },
+    { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" },
+    { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" },
+    { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" },
+    { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" },
+    { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" },
+    { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" },
+    { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" },
+    { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" },
+    { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" },
+    { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" },
+    { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" },
+    { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" },
+    { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" },
+    { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" },
+    { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" },
+    { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" },
+    { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" },
+    { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" },
+    { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" },
+    { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777, upload-time = "2024-08-06T20:33:25.896Z" },
+    { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318, upload-time = "2024-08-06T20:33:27.212Z" },
+    { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891, upload-time = "2024-08-06T20:33:28.974Z" },
+    { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614, upload-time = "2024-08-06T20:33:34.157Z" },
+    { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360, upload-time = "2024-08-06T20:33:35.84Z" },
+    { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006, upload-time = "2024-08-06T20:33:37.501Z" },
+    { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577, upload-time = "2024-08-06T20:33:39.389Z" },
+    { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593, upload-time = "2024-08-06T20:33:46.63Z" },
+    { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload-time = "2024-08-06T20:33:49.073Z" },
+]
+
+[[package]]
+name = "requests"
+version = "2.32.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "certifi" },
+    { name = "charset-normalizer" },
+    { name = "idna" },
+    { name = "urllib3" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" },
+]
+
+[[package]]
+name = "six"
+version = "1.17.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
+]
+
+[[package]]
+name = "snowballstemmer"
+version = "3.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/75/a7/9810d872919697c9d01295633f5d574fb416d47e535f258272ca1f01f447/snowballstemmer-3.0.1.tar.gz", hash = "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895", size = 105575, upload-time = "2025-05-09T16:34:51.843Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274, upload-time = "2025-05-09T16:34:50.371Z" },
+]
+
+[[package]]
+name = "sphinx"
+version = "6.2.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "alabaster" },
+    { name = "babel" },
+    { name = "colorama", marker = "sys_platform == 'win32'" },
+    { name = "docutils" },
+    { name = "imagesize" },
+    { name = "importlib-metadata", marker = "python_full_version < '3.10'" },
+    { name = "jinja2" },
+    { name = "packaging" },
+    { name = "pygments" },
+    { name = "requests" },
+    { name = "snowballstemmer" },
+    { name = "sphinxcontrib-applehelp" },
+    { name = "sphinxcontrib-devhelp" },
+    { name = "sphinxcontrib-htmlhelp" },
+    { name = "sphinxcontrib-jsmath" },
+    { name = "sphinxcontrib-qthelp" },
+    { name = "sphinxcontrib-serializinghtml" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/0f/6d/392defcc95ca48daf62aecb89550143e97a4651275e62a3d7755efe35a3a/Sphinx-6.2.1.tar.gz", hash = "sha256:6d56a34697bb749ffa0152feafc4b19836c755d90a7c59b72bc7dfd371b9cc6b", size = 6681092, upload-time = "2023-04-25T11:01:40.914Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/5f/d8/45ba6097c39ba44d9f0e1462fb232e13ca4ddb5aea93a385dcfa964687da/sphinx-6.2.1-py3-none-any.whl", hash = "sha256:97787ff1fa3256a3eef9eda523a63dbf299f7b47e053cfcf684a1c2a8380c912", size = 3024615, upload-time = "2023-04-25T11:01:08.562Z" },
+]
+
+[[package]]
+name = "sphinx-sitemap"
+version = "2.6.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/42/ed/96cc112b671e06df01c8306c25ce3331ccfece0d30235e32eb039afc8094/sphinx_sitemap-2.6.0.tar.gz", hash = "sha256:5e0c66b9f2e371ede80c659866a9eaad337d46ab02802f9c7e5f7bc5893c28d2", size = 6042, upload-time = "2024-04-29T00:18:13.399Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/94/d4/dffb4da380be24fd390d284634735d6fba560980014050e52569c04d215b/sphinx_sitemap-2.6.0-py3-none-any.whl", hash = "sha256:7478e417d141f99c9af27ccd635f44c03a471a08b20e778a0f9daef7ace1d30b", size = 5632, upload-time = "2024-04-29T00:18:12.147Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-applehelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", size = 20053, upload-time = "2024-07-29T01:09:00.465Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5", size = 119300, upload-time = "2024-07-29T01:08:58.99Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-devhelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", size = 12967, upload-time = "2024-07-29T01:09:23.417Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2", size = 82530, upload-time = "2024-07-29T01:09:21.945Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-htmlhelp"
+version = "2.1.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9", size = 22617, upload-time = "2024-07-29T01:09:37.889Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", size = 98705, upload-time = "2024-07-29T01:09:36.407Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-jsmath"
+version = "1.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8", size = 5787, upload-time = "2019-01-21T16:10:16.347Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", size = 5071, upload-time = "2019-01-21T16:10:14.333Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-qthelp"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", size = 17165, upload-time = "2024-07-29T01:09:56.435Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb", size = 88743, upload-time = "2024-07-29T01:09:54.885Z" },
+]
+
+[[package]]
+name = "sphinxcontrib-serializinghtml"
+version = "2.0.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d", size = 16080, upload-time = "2024-07-29T01:10:09.332Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072, upload-time = "2024-07-29T01:10:08.203Z" },
+]
+
+[[package]]
+name = "sphinxemoji"
+version = "0.3.1"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "sphinx" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/47/36/12a061ef2a2c2001c1b083d456db680f59074aef39f9cdd83a7937a4d626/sphinxemoji-0.3.1.tar.gz", hash = "sha256:23ecff1f1e765393e49083b45386b7da81ced97c9a18a1dfd191460a97da3b11", size = 46377, upload-time = "2024-01-18T18:07:44.53Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/95/9f/c872bbf4a2588b700a972d48c6e39087e4d33b3e76c563b4902e5abfbf13/sphinxemoji-0.3.1-py3-none-any.whl", hash = "sha256:dae483695f8d1e90a28a6e9bbccc08d256202afcc1d0fbd33b51b3b4352d439e", size = 46074, upload-time = "2024-01-18T18:07:42.496Z" },
+]
+
+[[package]]
+name = "stack-data"
+version = "0.6.3"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "asttokens" },
+    { name = "executing" },
+    { name = "pure-eval" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" },
+]
+
+[[package]]
+name = "tomli"
+version = "2.2.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" },
+    { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" },
+    { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" },
+    { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" },
+    { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" },
+    { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" },
+    { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" },
+    { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" },
+    { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" },
+    { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" },
+    { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" },
+    { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" },
+    { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" },
+    { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" },
+    { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" },
+    { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" },
+    { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" },
+    { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" },
+    { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" },
+    { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" },
+    { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" },
+    { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" },
+    { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" },
+    { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" },
+    { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" },
+    { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" },
+    { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" },
+    { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" },
+    { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" },
+    { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" },
+    { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" },
+]
+
+[[package]]
+name = "tomli-w"
+version = "1.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/19/75/241269d1da26b624c0d5e110e8149093c759b7a286138f4efd61a60e75fe/tomli_w-1.2.0.tar.gz", hash = "sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021", size = 7184, upload-time = "2025-01-15T12:07:24.262Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/c7/18/c86eb8e0202e32dd3df50d43d7ff9854f8e0603945ff398974c1d91ac1ef/tomli_w-1.2.0-py3-none-any.whl", hash = "sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90", size = 6675, upload-time = "2025-01-15T12:07:22.074Z" },
+]
+
+[[package]]
+name = "traitlets"
+version = "5.14.3"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" },
+]
+
+[[package]]
+name = "typing-extensions"
+version = "4.13.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" },
+]
+
+[[package]]
+name = "tzdata"
+version = "2025.2"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" },
+]
+
+[[package]]
+name = "urllib3"
+version = "2.4.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" },
+]
+
+[[package]]
+name = "uuid6"
+version = "2025.0.1"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/ca/b7/4c0f736ca824b3a25b15e8213d1bcfc15f8ac2ae48d1b445b310892dc4da/uuid6-2025.0.1.tar.gz", hash = "sha256:cd0af94fa428675a44e32c5319ec5a3485225ba2179eefcf4c3f205ae30a81bd", size = 13932, upload-time = "2025-07-04T18:30:35.186Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/3d/b2/93faaab7962e2aa8d6e174afb6f76be2ca0ce89fde14d3af835acebcaa59/uuid6-2025.0.1-py3-none-any.whl", hash = "sha256:80530ce4d02a93cdf82e7122ca0da3ebbbc269790ec1cb902481fa3e9cc9ff99", size = 6979, upload-time = "2025-07-04T18:30:34.001Z" },
+]
+
+[[package]]
+name = "virtualenv"
+version = "20.31.2"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+    { name = "distlib" },
+    { name = "filelock" },
+    { name = "platformdirs" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" },
+]
+
+[[package]]
+name = "wcwidth"
+version = "0.2.13"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" },
+]
+
+[[package]]
+name = "zipp"
+version = "3.22.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/12/b6/7b3d16792fdf94f146bed92be90b4eb4563569eca91513c8609aebf0c167/zipp-3.22.0.tar.gz", hash = "sha256:dd2f28c3ce4bc67507bfd3781d21b7bb2be31103b51a4553ad7d90b84e57ace5", size = 25257, upload-time = "2025-05-26T14:46:32.217Z" }
+wheels = [
+    { url = "https://files.pythonhosted.org/packages/ad/da/f64669af4cae46f17b90798a827519ce3737d31dbafad65d391e49643dc4/zipp-3.22.0-py3-none-any.whl", hash = "sha256:fe208f65f2aca48b81f9e6fd8cf7b8b32c26375266b009b413d45306b6148343", size = 9796, upload-time = "2025-05-26T14:46:30.775Z" },
+]
