diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 12215c1f..947bfb8d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -8,7 +8,7 @@ on:
jobs:
build:
- uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@v1
+ uses: OpenAstronomy/github-actions-workflows/.github/workflows/publish_pure_python.yml@924441154cf3053034c6513d5e06c69d262fb9a6 # v1.13.0
with:
upload_to_pypi: ${{ (github.event_name == 'release') && (github.event.action == 'released') }}
secrets:
diff --git a/.github/workflows/ci_workflows.yml b/.github/workflows/ci_workflows.yml
index ae073270..4a0aed1b 100644
--- a/.github/workflows/ci_workflows.yml
+++ b/.github/workflows/ci_workflows.yml
@@ -4,7 +4,7 @@ on: [push, pull_request]
jobs:
retrieve_cache:
- uses: spacetelescope/webbpsf/.github/workflows/retrieve_cache.yml@develop
+ uses: spacetelescope/webbpsf/.github/workflows/retrieve_cache.yml@beda656c80a0254e6f80649d9c9c49235634522f # v1.4.0
with:
minimal: true
tests:
@@ -49,12 +49,12 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v4
+ uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python }}
- uses: actions/setup-python@v5
+ uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: ${{ matrix.python }}
@@ -62,7 +62,7 @@ jobs:
run: pip install tox tox-conda>=0.2
- name: Get WebbPSF Data
- uses: actions/cache/restore@v4
+ uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ${{ needs.retrieve_cache.outputs.cache_path }}
key: ${{ needs.retrieve_cache.outputs.cache_key }}
@@ -90,6 +90,6 @@ jobs:
- name: Upload coverage to codecov
if: ${{ contains(matrix.toxenv,'-cov') }}
- uses: codecov/codecov-action@v2
+ uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
with:
file: ./coverage.xml
diff --git a/.github/workflows/download_data.yml b/.github/workflows/download_data.yml
index 5392f15d..9802d8ce 100644
--- a/.github/workflows/download_data.yml
+++ b/.github/workflows/download_data.yml
@@ -18,7 +18,7 @@
# - cron: "0 0 * * 0"
# jobs:
# download_webbpsf:
-# uses: spacetelescope/webbpsf/.github/workflows/download_data.yml@develop
+# uses: spacetelescope/webbpsf/.github/workflows/download_data.yml@beda656c80a0254e6f80649d9c9c49235634522f # v1.4.0
# with:
# minimal: true
@@ -27,8 +27,13 @@ name: download and cache data
on:
workflow_call:
inputs:
+ url:
+ description: URL to gzip file
+ type: string
+ required: false
+ default: https://stsci.box.com/shared/static/0dt9z6b927iqgtify2a4cvls9hvapi6k.gz
minimal:
- description: minimal dataset
+ description: dataset is minimal (as opposed to full)
type: boolean
required: false
default: true
@@ -41,17 +46,25 @@ on:
value: ${{ jobs.download.outputs.cache_key }}
workflow_dispatch:
inputs:
+ url:
+ description: URL to gzip file
+ type: string
+ required: false
+ default: https://stsci.box.com/shared/static/0dt9z6b927iqgtify2a4cvls9hvapi6k.gz
minimal:
- description: minimal dataset
+ description: dataset is minimal (as opposed to full)
type: boolean
required: false
default: true
schedule:
- cron: "0 0 * * 0"
release:
+ push:
+ branches:
+ - develop
env:
- DATA_URL: https://stsci.box.com/shared/static/qxpiaxsjwo15ml6m4pkhtk36c9jgj70k.gz
+ FULL_DATA_URL: https://stsci.box.com/shared/static/qxpiaxsjwo15ml6m4pkhtk36c9jgj70k.gz
MINIMAL_DATA_URL: https://stsci.box.com/shared/static/0dt9z6b927iqgtify2a4cvls9hvapi6k.gz
jobs:
@@ -59,7 +72,7 @@ jobs:
name: download and cache WebbPSF data
runs-on: ubuntu-latest
steps:
- - run: wget ${{ (github.event_name == 'schedule' || github.event_name == 'release') && env.MINIMAL_DATA_URL || inputs.minimal && env.MINIMAL_DATA_URL || env.DATA_URL }} -O ${{ runner.temp }}/webbpsf-data.tar.gz
+ - run: wget ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'workflow_call') && inputs.url || env.MINIMAL_DATA_URL }} -O ${{ runner.temp }}/webbpsf-data.tar.gz
- run: mkdir ${{ runner.temp }}/data/
- run: tar -xzvf ${{ runner.temp }}/webbpsf-data.tar.gz -C ${{ runner.temp }}/data/
- id: cache_path
@@ -68,7 +81,7 @@ jobs:
run: echo "version=$(cat ${{ steps.cache_path.outputs.cache_path }}/webbpsf-data/version.txt)" >> $GITHUB_OUTPUT
- id: cache_key
run: echo "cache_key=webbpsf-data-${{ (github.event_name == 'schedule' || github.event_name == 'release') && 'mini' || inputs.minimal && 'mini' || 'full' }}-${{ steps.version.outputs.version }}" >> $GITHUB_OUTPUT
- - uses: actions/cache/save@v4
+ - uses: actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: ${{ runner.temp }}/data/
key: ${{ steps.cache_key.outputs.cache_key }}
diff --git a/.github/workflows/retrieve_cache.yml b/.github/workflows/retrieve_cache.yml
index aab0fc77..1dc0efee 100644
--- a/.github/workflows/retrieve_cache.yml
+++ b/.github/workflows/retrieve_cache.yml
@@ -13,7 +13,7 @@
# ...
# jobs:
# webbpsf_data_cache_key:
-# uses: spacetelescope/webbpsf/.github/workflows/retrieve_cache.yml@develop
+# uses: spacetelescope/webbpsf/.github/workflows/retrieve_cache.yml@beda656c80a0254e6f80649d9c9c49235634522f # v1.4.0
# with:
# minimal: true
# tests:
@@ -21,7 +21,7 @@
# steps:
# ...
# - name: retrieve WebbPSF data cache
-# uses: actions/cache/restore@v4
+# uses: actions/cache/restore@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
# with:
# path: ${{ runner.temp }}/webbpsf-data
# key: ${{ needs.webbpsf_data_cache_key.outputs.cache_key }}
diff --git a/CITATION.cff b/CITATION.cff
index 52d12674..4aa58f20 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -56,4 +56,4 @@ abstract: >-
including its Wide Field Instrument and a preliminary
version of the Coronagraph Instrument.
license: BSD-3-Clause
-version: 1.4.0
+version: 1.5.0
diff --git a/README.rst b/README.rst
index 41881436..fb08f447 100644
--- a/README.rst
+++ b/README.rst
@@ -21,6 +21,14 @@ WebbPSF: Simulated Point Spread Functions for the James Webb and Nancy Grace Rom
.. image:: https://img.shields.io/badge/ascl-1504.007-blue.svg?colorB=262255
:target: http://ascl.net/1504.007
+
+**ADVISORY: WebbPSF IS BEING MIGRATED TO A NEW REPOSITORY: STPSF (Space Telescope PSF)**
+
+ **To reflect its broader support for Roman as well as James Webb, WebbPSF is being migrated to a new repository: STPSF (Space Telescope PSF).**
+ **This transition is being done in such a way as to maintain back-compatibility for existing code, and existing installations will continue to run as-is.**
+ **This transitional period is ongoing now. Please do not submit pull requests to this webbpsf repo at this time.**
+ **The STPSF github repository will soon be available for use instead.**
+
WebbPSF produces simulated PSFs for the James Webb Space Telescope, NASA's
flagship infrared space telescope. WebbPSF can simulate images for any of the
four science instruments plus the fine guidance sensor, including both direct
@@ -29,8 +37,12 @@ imaging, coronagraphic, and spectroscopic modes.
WebbPSF also supports simulating PSFs for the upcoming Nancy Grace Roman Space Telescope (formerly WFIRST),
including its Wide Field Instrument and a preliminary version of the Coronagraph Instrument.
-Developed by Marshall Perrin, Joseph Long, Shannon Osborne, Robel Geda, Bradley Sappington, Marcio Meléndez,
-Charles-Phillipe Lajoie, Jarron Leisenring, Neil Zimmerman, Keira Brooks,
+.. note::
+
+ The current Roman WFI optical model was provided by Goddard Space Flight Center circa 2021 (the Cycle 9 reference data); a new optical model is currently being implemented in WebbPSF.
+
+Developed by Marshall Perrin, Joseph Long, Shannon Osborne, Robel Geda, Bradley Sappington, Marcio Meléndez,
+Charles-Philippe Lajoie, Jarron Leisenring, Neil Zimmerman, Keira Brooks,
Justin Otor, Trey Kulp, Lauren Chambers, Alden Jurling, and collaborators, 2010-2024.
Documentation can be found online at https://webbpsf.readthedocs.io
diff --git a/docs/index.rst b/docs/index.rst
index 8795cea0..1f3086bd 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -61,6 +61,7 @@ Contents
jwst_measured_opds.ipynb
jwst_detector_effects.ipynb
jwst_matching_psfs_to_data.ipynb
+ jwst_ifu_datacubes.ipynb
jwst_large_psf.ipynb
jwst_optical_budgets.ipynb
jwst_psf_subtraction.ipynb
diff --git a/docs/jwst_ifu_datacubes.ipynb b/docs/jwst_ifu_datacubes.ipynb
new file mode 100644
index 00000000..cfb01d95
--- /dev/null
+++ b/docs/jwst_ifu_datacubes.ipynb
@@ -0,0 +1,616 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "74185321-c269-45be-96c5-6e39e8d317ee",
+ "metadata": {},
+ "source": [
+ "# Simulating IFU mode and Datacubes"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "54d3884f-b190-43b3-9dff-f169c4833678",
+ "metadata": {},
+ "source": [
+ "This page describes how to simulate IFU mode data and spectral datacubes for JWST's NIRSpec IFU and MIRI MRS.\n",
+ "\n",
+ "
\n",
+ "IFU support is a relatively recent addition, and efforts are still in progress to refine and improve the fidelity of IFU mode simulations. \n",
+ "
\n",
+ "\n",
+ "\n",
+ "## Selecting IFU mode simulations\n",
+ "\n",
+ "These instruments have a `mode` attribute, which can be set to either 'IFU' or 'imaging'. Selecting IFU mode has the following effects:\n",
+ "\n",
+ " - The normal `filter` attribute for selecting spectral bandpass is superceded by a `band` attribute for selected IFU bands, the specific details of which differ for NIRSpec and MIRI. A `get_IFU_wavelengths()` function is added, which allows looking up the wavelength range for each band. \n",
+ " - The PSF simulation gets an added step for adding \"IFU broadening\" effects, which are empirical models for slightly broadening/blurring the simulated PSF to better match the observed PSF FWHMs. Physically this is a simplified model for optical blurring effects due to imperfect wavefront quality in the IFU image slicer optics, for example.\n",
+ " - For NIRSpec IFU simulations only, the PSF output is rotated by an additional 90 degrees to match the orientation of JWST pipeline output dataproducts created with the \"orient='IFUalign'\" option in the Cube Build step."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4eac3034-b525-4576-b3c8-ddfd02d7a7b7",
+ "metadata": {},
+ "source": [
+ "Note there are *three options* for computing PSFs in IFU mode. \n",
+ "\n",
+ "1. If you only need one wavelength, use regular `calc_psf()` with the `monochromatic` keyword to specify a wavelength.\n",
+ "2. If you want a datacube at all wavelengths, use `calc_datacube()` with a list or array of wavelengths. This is the recommended path for many typical use cases. \n",
+ "3. If you want a datacube at all wavelengths, you can also use `calc_datacube_fast()` which achieves a much-faster calculation runtime by making a simplifying assumption in the optical calculation, and currently by not including the detector effects or distortion modeling steps.\n",
+ " \n",
+ " * Specifically, it assumes that the wavefront optical path difference in the IFU exit pupil is independent of wavelength. This assumption is reasonably true for both MIRI and NIRSpec IFU modes within the current level of fidelity."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ef5ecc18-2412-4ca3-bb1f-7f1c8ee8f9e6",
+ "metadata": {
+ "editable": true,
+ "slideshow": {
+ "slide_type": ""
+ },
+ "tags": []
+ },
+ "source": [
+ "## Datacube Coordinate Frames for IFU PSFs: SkyAlign vs IFUAlign\n",
+ "\n",
+ "
\n",
+ "WebbPSF is intended to simulate IFU PSFs in IFUAlign orientation only.\n",
+ "
\n",
+ "\n",
+ "For IFU observations, the JWST pipeline ``cube_build`` step (see [pipeline docs](https://jwst-pipeline.readthedocs.io/en/latest/jwst/cube_build/main.html)) can produce output datacubes in two different reference frames or orientations: \n",
+ "\n",
+ " - ``coord_system='skyalign'``. In these cubes, north is up and east is left. This is the default orientation.\n",
+ " - ``coord_system='ifualign'``. These cubes are build on the local IFU slicer plane's native coordinate system. The X and Y coordinates corresponds to the along-slice and across-slice directions, respectively (which are often labeled as the $\\alpha$ and $\\beta$ axes for MIRI MRS; see [JDox](https://jwst-docs.stsci.edu/jwst-mid-infrared-instrument/miri-instrumentation/miri-mrs-field-and-coordinates#MIRIMRSFieldandCoordinates-CoordinatesMRScoordinateframes).)\n",
+ "\n",
+ "PSF simulations are always produced in the ifualign orientation only. For PSF modeling work, we recommend reducing your science data using the ifualign frame. This allows PSF models and orientations to be consistent between multiple datasets, independent of position angles on the sky. \n",
+ "\n",
+ "If your science data has been reduced in skyalign frame, you can rotate the PSF based on the aperture position angle to match your data. However this will introduce numerical interpolation noise, particularly for spatially undersampled IFU data. That can be avoided by working in IFUalign frame, as we recommend here. \n",
+ "\n",
+ "\n",
+ "**Pixelscales:** By default, IFU PSFs are made using the same default pixel scales as the pipeline defaults (0.1 arcsec/pixel for NIRSpec, and variously 0.13 - 0.35 arcsec/pixel for MIRI depending on which MRS channel). If you have reduced your science data using a different pixelscale in the JWST pipeline, e.g. 0.123 arcsec/pix, simply set e.g. `miri.pixelscale = 0.123` to the same value for creating the PSF model. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "7ce1366f-dcc8-47b7-9e73-f0ebbee3f1ba",
+ "metadata": {
+ "editable": true,
+ "nbsphinx": "hidden",
+ "slideshow": {
+ "slide_type": ""
+ },
+ "tags": []
+ },
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "**WARNING**: LOCAL JWST PRD VERSION PRDOPSSOC-065 DOESN'T MATCH THE CURRENT ONLINE VERSION PRDOPSSOC-067\n",
+ "Please consider updating pysiaf, e.g. pip install --upgrade pysiaf or conda update pysiaf\n"
+ ]
+ }
+ ],
+ "source": [
+ "%matplotlib inline\n",
+ "import webbpsf\n",
+ "import astropy.units as u"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e25e70a8-7a8b-456f-9719-e52951207bac",
+ "metadata": {},
+ "source": [
+ "## NIRSpec IFU example\n",
+ "\n",
+ "For NIRSpec, the `band` attribute is derived from the `prism` and `disperser` elements. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "b3ec32d8-5ede-46fb-8f51-da8c06039fbe",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Band is PRISM/CLEAR\n"
+ ]
+ }
+ ],
+ "source": [
+ "nrs = webbpsf.NIRSpec()\n",
+ "nrs.mode = 'IFU'\n",
+ "\n",
+ "nrs.disperser = 'PRISM'\n",
+ "nrs.filter = 'CLEAR'\n",
+ "print(\"Band is\", nrs.band)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d950963b-b4df-42ff-8729-04ad44e17889",
+ "metadata": {},
+ "source": [
+ "The wavelength sampling can be obtained using the `get_IFU_wavelengths()` function. By default this returns the same wavelength sampling as the pipeline uses. But if desired you can also specify some other number of wavelengths `nlambda`, for instance to reduce simulation runtimes when the full spectral resolution is not needed. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "e68eb5e3-229f-4bcf-a8a0-5133788ba767",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "PRISM/CLEAR default wavelength sampling uses 940 wavelengths\n"
+ ]
+ },
+ {
+ "data": {
+ "text/latex": [
+ "$[0.6,~0.605,~0.61,~\\dots,~5.285,~5.29,~5.295] \\; \\mathrm{\\mu m}$"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "allwaves = nrs.get_IFU_wavelengths()\n",
+ "print(f\"{nrs.band} default wavelength sampling uses {len(allwaves)} wavelengths\")\n",
+ "allwaves"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "7417534b-6550-4830-9f23-a590aad7357f",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# let's get a subset for a faster PSF sim runtime\n",
+ "waves = nrs.get_IFU_wavelengths(nlambda=50)\n",
+ "\n",
+ "# convert waves from microns to meters\n",
+ "# (this is a work around for a current issue with the poppy library upstream)\n",
+ "waves = waves.to_value(u.meter)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7f5180f4-2890-47db-aea7-b89c6d176130",
+ "metadata": {},
+ "source": [
+ "Compute a datacube:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "212dcbf1-4fef-43a3-8675-a7dbad84ace1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "cube = nrs.calc_datacube(waves)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "8662db59-3a15-4a6d-b3de-341a4189a05a",
+ "metadata": {},
+ "source": [
+ "The output FITS file has the same extensions as a regular PSF calculation, but each extension contains a 3D datacube rather than a 2D image: "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "58429d9f-621b-4bcd-96c1-917abf609318",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Filename: (No file associated with this HDUList)\n",
+ "No. Name Ver Type Cards Dimensions Format\n",
+ " 0 OVERSAMP 1 PrimaryHDU 1288 (192, 192, 50) float64 \n",
+ " 1 DET_SAMP 1 ImageHDU 1290 (48, 48, 50) float64 \n",
+ " 2 OVERDIST 1 ImageHDU 1343 (192, 192, 50) float64 \n",
+ " 3 DET_DIST 1 ImageHDU 1344 (48, 48, 50) float64 \n"
+ ]
+ }
+ ],
+ "source": [
+ "cube.info()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "dd3b4280-6ec4-4f62-b6ea-8108780dfe20",
+ "metadata": {},
+ "source": [
+ "The `calc_datacube_fast` routine does a simplified calculation, much faster: "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "228264f6-0f16-489d-99a7-4dadbea39bc7",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "quickcube = nrs.calc_datacube_fast(waves)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7b12112c-d610-4579-8072-f644c01d4a83",
+ "metadata": {},
+ "source": [
+ "Note that in this case, the output FITS file only contains the first oversampled extension:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "de797cb5-3b4f-4a4a-8152-59e68f7bc78f",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Filename: (No file associated with this HDUList)\n",
+ "No. Name Ver Type Cards Dimensions Format\n",
+ " 0 OVERSAMP 1 PrimaryHDU 159 (192, 192, 50) float64 \n"
+ ]
+ }
+ ],
+ "source": [
+ "quickcube.info()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "e550c2b5-20fa-493d-ae39-317f7c5a4cdf",
+ "metadata": {},
+ "source": [
+ "The display_psf function works with datacubes, but you have to specify which slice of the cube to display. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "2ffd3c45-4d4c-4a0f-9a41-6d28e7618eac",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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17SxY8dqrVu31urWrat5e3trLVq00GbMmGFIplTV6JWq7r+529q1a1dlJMjNLl26pE2YMEGLiIjQPDw8tNatW2vr1q2r9H0AtKFDh1a63pUrV2qurq5acnJyhbKkpCRNp9Np+fn5ym2viursX3mEzI1RJ3PnztXatm2r+fv7a66urlpoaKg2cOBA7b///W+FdTVq1KjKETU7d+7UevTooUVERGje3t5a8+bNtWeffVbLyckR98lUZNioUaO0OnXqVHoMyj8/NM3860yKSPvuu++0e++9V6tTp47m7e2tdejQQfviiy+qtO2OkiyPbg06TfvrASkROYWtW7figQcewOHDh9GqVaua3hwiIgOGzBI5mV27dmHo0KFscBCRw2FPBxEREdkFezqIiIjILtjoICIissC7776L6OhoeHl5IT4+Ht99953J92ZmZmLYsGFo0aIFXFxcMGnSJPttqANgo4OIiMhMGzZswKRJk/Dyyy/j0KFD6NKlC3r37o309PRK319YWIjQ0FC8/PLLaNOmjZ23tuY57JgOvV5vyGrp4+PDWHMiolpG0zRcuXIFQFlm1PLEibZah7VU539O+/btcccdd2DZsmWG11q2bIkBAwZg7ty5ymW7deuGtm3bYvHixZZsbq3isMnBcnJyKqTwJiKi2uns2bMICwuzer1Xrlwxyi5rDRkZGUap8j09PQ1z1NyoqKgIqampePHFF41e79GjB77//nurbpOz4OMVIiKiG0RGRsLf39/wY6rHIicnB6WlpRW+IIeHhyMrK8sem1rrOGxPR3naYgDoAsDVxPtMJ9sGYoR1SP0o6nlYgYuKMtOTWZcxtT/lzJsztMwFoVw1gbU0m4U0E430faNIUaY6l1WhykohTRoufTz8JpSr9kudxBooEMp/V5RJ3xqkdUud0rmKMukaviSUFyvKpP2SngmrPth8FGUAoLdw3ZcVZdK9KX0mqc5nxVmejEmfZ9J1qDpupmasKQawpHx5H+nIW+7s2bMVJvOrqoKCAkPjobKeDpWbH8VomsYhASY4bKPjxhPmCvkDrjLSTSZNzyUtryqXDqy0P9K6VSxZt6XbJZWrPrAt7XZTfSxIjSn1R4pl+yVdZ6oGC6A+n9Ixk64FW14rUrmqkWlpo8OS7Zb+VUjrVm27tF+WHFPpXErXsCXXSlWmOrTHP+E63p6o4y3dzSbo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",
+ "text/plain": [
+ "