pax_global_header00006660000000000000000000000064144736243350014525gustar00rootroot0000000000000052 comment=fd6e9b98ef0705454ba4f3a2a7efe2b1de0bd4e7 sphinx-notfound-page-1.0.0/000077500000000000000000000000001447362433500156005ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/.circleci/000077500000000000000000000000001447362433500174335ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/.circleci/config.yml000066400000000000000000000022471447362433500214300ustar00rootroot00000000000000version: 2.1 commands: run-tox: description: "Run tox" parameters: version: type: string sphinx-version: type: string default: "5,6,7,latest" steps: - checkout # NOTE: use Tox 3.x until I understand the syntax for generative environments: # https://tox.wiki/en/stable/user_guide.html#generative-environment-list - run: pip install --user "tox<4" - run: tox -e "<>-sphinx{<>}" jobs: py38: docker: - image: 'cimg/python:3.8' steps: - run-tox: version: py38 py39: docker: - image: 'cimg/python:3.9' steps: - run-tox: version: py39 py310: docker: - image: 'cimg/python:3.10' steps: - run-tox: version: py310 py311: docker: - image: 'cimg/python:3.11' steps: - run-tox: version: py311 docs: docker: - image: 'cimg/python:3.11' steps: - checkout - run: pip install --user tox - run: tox -e docs workflows: version: 2 tests: jobs: - docs - py311 - py310 - py39 - py38 sphinx-notfound-page-1.0.0/.eslintrc000077700000000000000000000000001447362433500224552common/eslintrcustar00rootroot00000000000000sphinx-notfound-page-1.0.0/.flake8000077700000000000000000000000001447362433500213332common/flake8ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/.github/000077500000000000000000000000001447362433500171405ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/.github/CODEOWNERS000066400000000000000000000000731447362433500205330ustar00rootroot00000000000000* @readthedocs/backend /docs/ @readthedocs/advocacy sphinx-notfound-page-1.0.0/.github/dependabot.yml000066400000000000000000000010761447362433500217740ustar00rootroot00000000000000# To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. # Please see the documentation for all configuration options: # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates version: 2 updates: - package-ecosystem: "pip" directory: "/" schedule: interval: "weekly" assignees: - "humitos" open-pull-requests-limit: 0 pull-request-branch-name: separator: "-" rebase-strategy: "auto" sphinx-notfound-page-1.0.0/.github/pip-tools.yaml000066400000000000000000000026331447362433500217560ustar00rootroot00000000000000# Action to run pip-compile weekly and create a Pull Request with the changes. # Althought GitHub says that pip-compile is supported by dependabot, we couldn't make it work together. # That's why this action exists. # If we ever find the proper configuration for dependabot+pip-compile, # we can delete this action. name: Update dependencies with pip-tools on: schedule: # Run weekly on Mondays at 00:00 UTC - cron: "0 0 * * 1" jobs: update-dependencies: name: Update dependencies runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v3 with: python-version: "3.10" - name: Install test dependencies run: python -m pip install -U pip-tools - name: Run pip-compile run: pip-compile --upgrade --extra=doc --output-file=docs/requirements.txt pyproject.toml - name: Create Pull Request uses: peter-evans/create-pull-request@v4 with: add-paths: | docs/requirements.txt title: | Dependencies: all packages updated via pip-tools body: | Dependencies: all packages updated via pip-tools commit-message: | Dependencies: all packages updated via pip-tools delete-branch: true branch: dependencies/pip-tools branch-suffix: short-commit-hash team-reviewers: readthedocs/backend sphinx-notfound-page-1.0.0/.gitignore000066400000000000000000000024411447362433500175710ustar00rootroot00000000000000# Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ *.egg-info/ .installed.cfg *.egg MANIFEST # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover .hypothesis/ .pytest_cache/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py db.sqlite3 # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # pyenv .python-version # celery beat schedule file celerybeat-schedule # SageMath parsed files *.sage.py # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ /tests/examples/default/_build /tests/examples/404rst/_build package-lock.json node_modules # vscode .vscode/sphinx-notfound-page-1.0.0/.gitmodules000066400000000000000000000001211447362433500177470ustar00rootroot00000000000000[submodule "common"] path = common url = https://github.com/readthedocs/common sphinx-notfound-page-1.0.0/.isort.cfg000077700000000000000000000000001447362433500226032common/isort.cfgustar00rootroot00000000000000sphinx-notfound-page-1.0.0/.pep8000077700000000000000000000000001447362433500205372common/pep8ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/.pre-commit-config.yaml000077700000000000000000000000001447362433500275472common/pre-commit-config.yamlustar00rootroot00000000000000sphinx-notfound-page-1.0.0/.readthedocs.yml000066400000000000000000000003271447362433500206700ustar00rootroot00000000000000version: 2 build: os: "ubuntu-22.04" tools: python: "3.10" python: install: - method: pip path: . - requirements: docs/requirements.txt sphinx: configuration: docs/conf.py formats: all sphinx-notfound-page-1.0.0/CHANGELOG.rst000066400000000000000000000255451447362433500176340ustar00rootroot00000000000000Changelog ========= Version 1.0.0 ------------- :Date: August 30, 2023 Version 1.0.0rc0 ---------------- :Date: August 24, 2023 * Add support for Sphinx 7.x * Drop support for older versions of Sphinx. Currently, only Sphinx>=5 is tested and supported. * Drop support for Python 2.7 * Drop support for docutils < 0.17 * Remove deprecated configs (``notfound_no_urls_prefix``, ``notfound_default_language``, ``notfound_default_version``) Version 0.8.3 ------------- :Date: July 13, 2022 Making the release properly and uploading it to PyPI. Version 0.8.2 ------------- :Date: July 13, 2022 Mistake while releasing with bumpver. Version 0.8.1 ------------- :Date: July 13, 2022 * Handle special case on Read the Docs URLs (https://github.com/readthedocs/sphinx-notfound-page/pull/200) Version 0.8 ----------- :Date: October 11, 2021 * Update all Python dependencies via pyup bot * Update test suite to run tests on Python 3.10, test on Sphinx 4 and pin docutils * Fix issue with HTML logo/favicon on Sphinx 4.2.x Version 0.7.1 ------------- :Date: May 20, 2021 Version 0.7 ----------- :Date: May 20, 2021 Version 0.6 ----------- :Date: January 04, 2021 * `@pyup-bot `__: Update sphinx to 3.4.1 (`#122 `__) * `@pyup-bot `__: Update sphinx to 3.4.0 (`#121 `__) * `@pyup-bot `__: Update sphinx to 3.3.1 (`#119 `__) * `@pyup-bot `__: Update sphinx to 3.3.0 (`#118 `__) * `@pyup-bot `__: Update sphinxemoji to 0.1.8 (`#116 `__) * `@pyup-bot `__: Update sphinxemoji to 0.1.7 (`#115 `__) * `@pyup-bot `__: Update sphinx-autoapi to 1.5.1 (`#113 `__) * `@rscohn2 `__: fix parallel read error and add test (`#112 `__) * `@sbraz `__: Include tests and docs in source distributions (`#110 `__) * `@pyup-bot `__: Update sphinx-prompt to 1.3.0 (`#109 `__) * `@pyup-bot `__: Update sphinx-tabs to 1.3.0 (`#108 `__) * `@pyup-bot `__: Update sphinx-autoapi to 1.5.0 (`#107 `__) * `@pyup-bot `__: Update sphinx-tabs to 1.2.1 (`#105 `__) * `@pyup-bot `__: Update sphinx-tabs to 1.2.0 (`#104 `__) * `@pyup-bot `__: Update sphinx to 3.2.1 (`#103 `__) * `@humitos `__: Update Sphinx==3.1.2 (`#99 `__) * `@pyup-bot `__: Update sphinx-rtd-theme to 0.5.0 (`#98 `__) Version 0.5 ----------- :Date: July 23, 2020 * `@humitos `__: Update Sphinx==3.1.2 (`#99 `__) * `@pyup-bot `__: Update sphinx-rtd-theme to 0.5.0 (`#98 `__) * `@jdillard `__: Add warning about local web server for #95 (`#97 `__) * `@pyup-bot `__: Update sphinx-autoapi to 1.4.0 (`#96 `__) * `@pyup-bot `__: Update sphinxemoji to 0.1.6 (`#93 `__) * `@huonw `__: Remind about `:orphan:` in 404.rst, to silence build warnings (`#91 `__) * `@humitos `__: Implement `notfound_urls_prefix` to replace 3 deprecated configs (`#90 `__) * `@humitos `__: :nosearch: metadata on 404 page (`#89 `__) * `@humitos `__: Add more test environments (`#88 `__) * `@pyup-bot `__: Update sphinx-autoapi to 1.3.0 (`#86 `__) * `@pyup-bot `__: Update sphinxemoji to 0.1.5 (`#85 `__) * `@pyup-bot `__: Update sphinxemoji to 0.1.4 (`#83 `__) * `@Daltz333 `__: Fix sphinx3 deprecation (`#82 `__) * `@pyup-bot `__: Update sphinx-autoapi to 1.2.1 (`#78 `__) * `@agnieszkawierzbowska `__: Update how-it-works.rst (`#77 `__) * `@agnieszkawierzbowska `__: Update configuration.rst (`#75 `__) * `@pyup-bot `__: Update sphinx-tabs to 1.1.13 (`#74 `__) * `@humitos `__: Extend options for setup.py (`#73 `__) * `@humitos `__: Test on sphinx 2.2.0 (`#72 `__) * `@humitos `__: Use pytest.mark.environ to set environment variables (`#71 `__) * `@pyup-bot `__: Update sphinx-tabs to 1.1.12 (`#70 `__) * `@dojutsu-user `__: Change `rtfd` to `readthedocs` everywhere (`#69 `__) * `@pyup-bot `__: Update sphinx-autoapi to 1.1.0 (`#67 `__) * `@humitos `__: Automatic add :orphan: to avoid Sphinx WARNING (`#66 `__) * `@acozine `__: Improves configuration page of documentation (`#45 `__) Version 0.4 ----------- :Date: June 11, 2019 * `@humitos `__: Copy image into output dir when using .. image:: directive (`#46 `__) * `@humitos `__: Allow using image directive with non-local images (`#40 `__) * `@humitos `__: Pin Sphinx below 2.0 because it does not render properly (`#53 `__) * `@pyup-bot `__: Update sphinxemoji to 0.1.1 (`#51 `__) * `@humitos `__: Run tox docs with -W (`#49 `__) * `@humitos `__: Use :orphan: to remove Sphinx warning (`#47 `__) * `@humitos `__: Copy image into output dir when using .. image:: directive (`#46 `__) * `@acozine `__: Improves configuration page of documentation (`#45 `__) * `@humitos `__: Specify extension metadata (`#44 `__) * `@stsewd `__: Don't list sphinx as a requirement (`#43 `__) * `@humitos `__: Run tests on Sphinx 2.1.0 (`#37 `__) * `@humitos `__: Add useful resources in the index docs page (`#34 `__) * `@humitos `__: Generate proper Toctree URLs when _version and _language are set (`#31 `__) * `@humitos `__: Setup travis-ci (`#30 `__) * `@humitos `__: Resolve internal Sphinx javascript resources URLs (`#29 `__) * `@humitos `__: Generate valid links for toctree when using DirectoryHTMLBuilder (`#28 `__) * `@humitos `__: Docs for "How it works" (`#23 `__) * `@humitos `__: More tox test envs (`#22 `__) * `@humitos `__: Allow ..image:: directive on 404.rst (`#21 `__) * `@humitos `__: Tests for toctree links (`#19 `__) Version 0.3 ----------- :Date: May 25, 2019 * Better documentation * `#13 `_ Added ``notfound_no_urls_prefix`` configuration Version 0.2.1 ------------- :Date: March 29, 2019 * Fix release version issue Version 0.2 ----------- :Date: March 29, 2019 * `#6 `_ Sidebar links broken Version 0.1 ----------- :Date: February 4, 2019 Initial release. sphinx-notfound-page-1.0.0/LICENSE000066400000000000000000000020601447362433500166030ustar00rootroot00000000000000MIT License Copyright (c) 2019 Manuel Kaufmann Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. sphinx-notfound-page-1.0.0/README.rst000066400000000000000000000025221447362433500172700ustar00rootroot00000000000000|Build| |PyPI version| |Docs badge| |License| sphinx-notfound-page ==================== Create a custom 404 page with absolute URLs hardcoded. Installation ------------ .. code-block:: bash pip install sphinx-notfound-page Configuration ------------- Add this extension in your ``conf.py`` file as: .. code-block:: python extensions = [ # ... other extensions here 'notfound.extension', ] Documentation ------------- Check out the full documentation at https://sphinx-notfound-page.readthedocs.io/ Thanks ------ **Strongly** based on @ericholscher's solution from https://github.com/readthedocs/readthedocs.org/issues/353 .. |Build| image:: https://circleci.com/gh/readthedocs/sphinx-notfound-page.svg?style=svg :target: https://circleci.com/gh/readthedocs/sphinx-notfound-page :alt: Build status .. |PyPI version| image:: https://img.shields.io/pypi/v/sphinx-notfound-page.svg :target: https://pypi.org/project/sphinx-notfound-page :alt: Current PyPI version .. |Docs badge| image:: https://readthedocs.org/projects/sphinx-notfound-page/badge/?version=latest :target: https://sphinx-notfound-page.readthedocs.io/en/latest/?badge=latest :alt: Documentation status .. |License| image:: https://img.shields.io/github/license/readthedocs/sphinx-notfound-page.svg :target: LICENSE :alt: Repository license sphinx-notfound-page-1.0.0/common/000077500000000000000000000000001447362433500170705ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/conftest.py000066400000000000000000000000531447362433500177750ustar00rootroot00000000000000pytest_plugins = 'sphinx.testing.fixtures' sphinx-notfound-page-1.0.0/docs/000077500000000000000000000000001447362433500165305ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/docs/404-using-this-extension.png000066400000000000000000001030431447362433500236500ustar00rootroot00000000000000PNG  IHDRUBzTXtRaw profile type exifxڍ[ D / \|oO)ETEy'S՛uħ%hw~3F*29~KBnHB9s.T}_֛[ s^ׂI ΍o)]Rߑp*EJ_P}(hT1>@pJs߅~;=6?M7,%>W?nH{pv~'Ԩˢ_b J}JÀtBS' fdS噝s͑koZ=Jv"yKeflBy^߼ysKIjxĿ:ιl%= FKn]~3"$I|ʕH%ƴ j<^Gɩ (.w}cGr2PdPiV 7RDEKϽ<ʨZyÏ'-6wnO x]V][JE J >^_x3WѰfs3nCj2v@JaiDX_i햛OtY @eMb[ AӮc&k+'ھz Q5̻I[Ȁb-Z8)-.Mqg gXdJ"߾vJ:m`V oCM2cP~w[( *8;΅h)!N6 rZJōC`5Q ݁,5 u>\+iA0bL bdlrGJأxnRj^e~%XNMŘoqT=`i:6%nhGN(v6zhcפV 6Ͽxr| sBITO IDATxg\W್,,. ]%#v!hybbFE50KH (*]6y3φfgΜgśSfX]V]%ů!tP_@ǂ :dб C*t,PcA  2TX@ǂ :dб Czٸbm=w;"xipߎOmntWB}xVQ,bvV>kSZJ"!Dỵu<7g|YX%[?+Ü7^Ki_ {"M!2Ǹ[9S!wC\frVBȡu!T$v6.%Q]58ZEȽ fkxJs rj΅!ϼ^3J$LyM.A5Gb&^=-G-u| ,=ӻ\M(;*-+ CmQ;s٬sz6X@O~;jJʭR|e{%Rs=S *xq9Z 9j8|zZY()Jv!>/8,]=~\"tBkNnVzm M.EȝE>E1|WG@ Cm\*@]Kz ŒȔΎ͢VQXUr/NRu<*;~Q\y:6n&~~"OhBEBK%_*,Naz ơªWr3ْ* ay[oJuSXBȉR5RUNɀY(*.BXFZfbRS3%%rEVB衮4cY:P_Ȍҟoyk@qJBn/xcǸ[feUbj8OQRkA~>.O|; 4÷==jHӟu{WP{{5renRE8@7 Ze~BS zE޻B]J;K,K?J2jc{_yßIK^~\p,6vJ/ɽ *k>X*WJE]{"3 MJbn='c# c e}u*Zރܢ YTO߁58{ *k?+|yGq1kp @^d6̗8p5:>b/(XD#7Tz$2G>^^~ROq٬U~](^H0Ѹg=}bA׮]'M;Im(!!A*ѣKLL޽{_v0fX`>@{A/?4Zߓqr+ u~VP|;zm~%KPW7n޽{E\|Y 4ܹ3==}VVV807za⪉"Ӌ%z!>=ǹZZZZ7n?vXeg7޽{kjmmЀK<^:yGm VujTW֚6UTT业vvvӷo߀>OٹsGBHDDĞ={LLL 2i$^~~i֭[wȑ'O~'OJ}ݼyf}ͫ?y򤱱z]VV6cƌꌌӧO>|z![nҥ )S|||͛t`[nw@ U(-/@]{D\O.?8^Qnƪu4E&W6]Oaa%ڵk޽ےC+Lccc-[& 7mڴtҰe9r)OOO͛7BܹjժI&b߿…NNN}y"## !eee#GBpȐ!ٙ{QF 8P 8::Κ5ԩSTC/X`H$?~ELL !$<<@@S>ogglruuzjaaighfm0$^wP.C~ra5Qj&KQQ_4RTTT丹5Xf >--ҥK UUU<b-Zlٲp8wwsBSL5j zX,V֣T*\n[Z@ 0X>̥P[n˖-'NLLL,++0aBeuV/ZO>3f =ܹsQF͙3N%:u~ Y"1͟ Ƥ5e3$ S%]RIߕJeӻ0^"\>vذ%KԙVߴt.;|pss¨(fDZcdž>z &|7yyyO?Ν;8p=|||\\\6lѣ3g΄Ι3Mcbbž333 sUUUEEE֯_?]]۷ر:B*4@We*T n5h4cc㠠 Bʕ+[A"""f͚e``ЩS> 88ڵ5k8::* Xe˖;vYgϞ7nܽ{'455f͚#X{ZJ$Xۛ:k֬M6-Yۻ&&aف7o0aKJJ oذa˖-ӧO7773gNiii u孧ɓ'oܸsNfΝ;~v zuꚖv۷o_zuҤI%>{=z4##f;88L2ݽqo3]>aFBպt^^^^^^DP 9 mogͼH!CmvYR6XQ+W%Uh8:uԠ)U!D?82B^,ab$ tuu;S&u1qrJ_FT ,BMubYյ 2f9DbocUy9@f^ѽ*ׅ+**tK .Zk4lEQZz==lB3^\Yh*jWɄڼ*BEQG92ECKfD\Ykiecȏ,m~/v ʕ2+}m[^ôS8UW^ca]턐"|^K2TBH\Y".34hgյ 6Y#T40U8W-T64GJ]n1L*ii8zZ<3]f:6h"Y,]-.ê+UJZ\NnyD~|hghC}J$VQILW'eV;xBU\-6ULrkdquDV@jaL7rdJUN4DgX]V]m.\ee ⇷GA@^WMdʕHO YB-t4P_) O.j(:4@ǂ :dб C*t,PcA  2TX@ǂ :dб C*t,Pc>|7s>˫K0,Fd( L/*wD/QN~A{oP 3\-zcfc`hKaXm!@;(,,<ɫxWjx>fwt/Y{oelkYR8G,f&2k`\,yfNfeY|v_\rR*j(Pm ;&3df&kip9l6&h=7!*J2w2T0hzO)%or?+ Ɛ?^7|r/Ζ:Z<.f.<:.]R(}f^^ŋ322 ƍgccSYYu_xq^^^O~@ ׯ_~!III'OW?zNN+**\\\r92??ܹsyyyBp!D*֩<;;UUUcƌ122z o!5ܬe1yoZ\X*!jjj111rҒdee:tO>6lXfffbbbΝƏb_)BCCkkkGr) O?gϞrɓ'~~~999]ta-˷n:`)SGDDt]OOo֭ޓ&MDvrr;rH~M0BOO57uTjdy-zTKu8*[C/Yݻ۶mQQQݻw733cX>>>?&͍ḹU)3fL.]x<^BBy<ܹ3]v5?_IJJr^^^l6F B={ݻwozenݢ%IlvFFFuu \Ix{.H]\.r2[<)AwÆ yyyV BD" OKKS(E1tuu !l6[OOp\BNri &\xq]v3fV PrNfz%U<=BPEdqegGgREg|>뛘 6Lخ]?cLz:BJUYYI'-SSSSrcYY~Ϝ9~{Zx\:**Y\)2(/ Mh_d$H/R(M{SSSKJJOJeccӳg\BHQQQ||BxΗ.]͞}aaaZZ!$..,J(ɉhGrmmm---> TҋDFLP[^gK{xx9rz֬Y<رc%%% r ڵk=u~Uƍ;}u봴ZҢ;vأGr޽{;88B444̙sܹ/3ʪ~Eeee]|YR9::ѣ4(B8T( cuYu#g7ierxۉN-W(r+'E-1~Šk^| ˉ*GӍoP+WYr~LU*q6WP.+HO %7ZR/ X\[Q+O̯T* 2.TYxb~Ex4f;L>-I*/BL4^J46s@*!xt%529Ӓ<BͯRjd%ҝ, Gwhoe*Rinw""RŴ!!UN=-;DDލJm22K$ yA/$˫K62Ed( L/yRi]Ryzm@T JRIt- C*t,PcyRжRRRN:_TTfCCNZgehhh5dPסCVMMMP<` C{JY!1$ ZV,cǎDc9tJOޒ]~g4RRR\ޱ *իW،K,^x۶mFFF&Çr9 522^ꫯ:uĤ MMMB2TxAP. 6k?^.--۽{wUU!088xYfժU'O rss6mcݫϜ9s޽\TI̘1ΎÇW rʻw絛9p!3f >66ҥK=*--xfff={755e̟??))hkkw^BR:tQ {ΝoV}̙3Eٍ;ǧ~G}TuΝ 6tMǏW\Y^^^Ο?wAP'F.;wnѢE~b֭Νc$$$^zΜ9'NT/2n322o^x\s_w o2Ĩg'|>_T7nܸf2ݻO?5"00pݍٲD̚frC&m޼9$$Yt%iqqq|͛9!$99(̬ !VVVNNN%%%###Y==ӧOB|pN16=ugϞdbb蘞wi|CBB}ɶxڵLzʸqFc' BhC瑘ȴ>l:c2HD2[z5н䖖tacٺѻvsD\yf1cF][[wB***?`Æ 6lɓ'52lڴi!?+++%%yf&]sww7oaBB/RZZJIHH8Ν; !Çg6zM͛G ڑ#G? 66U]]}WW<|01bD׮]̙S(,k̙ݺu[dIMοkRR5555 ?~n\\ܶm+T*˜ǎH$_|aggY4 3y W\Ylz{{m߿|yyyу*55^xqAA,VZlaa1r[nݺu?|>><<aKoȑ3f̰3gK W^hhhpB|mٳɓlll-Z -))u֋EXZZ6l̦4z(҅ zzz'((E" hCqFc]~)ܫW^z/,3n' 0t'[YYӃbquuᚠёB PАN,,,ZrV(Jć,X#Flٲ=x69h0D1sm͐ԩS``\rRyRf*iyWc2[la2:***Z֡,3#2'lY[[gX"ijEE3ekkk,765xe|M/*π),,\|941hG6mä^a0.ƴ*PyC ?æ72in&Mdjjbv}޽:y<\>g773cRۄzmu?n_F >t͵*PmBp@FQJ]ƍ133cƉzyy?E#nsssfYIUrrr,ن|>`)HJJJQѲefz(J_FT?>f@[!ḧLB<$fz:U[nΫ 3ݙK.ok},B_~ЇP9\qbw|TT)TꡪacgNC;q 2Th𓓓[FDD0RzbV6lؐcǎ21-Z[^^^ZZ믿N:b:880頻*++#""~Gȿ/ɓ'srr^/=x+Wl<`2g&u)M6;`~GCCӓvXXxb//xz5K+s?S*==ۑLdjjN1g`>x-~!#G۷`BWZDs6}ޛ2eT*=qDXXXaa!ʪO>FDM>vV1aÆP2̛HLL<}tLL;?#gggzƍ{m͚5^^^ǖ\XBٳ;#znjckk{w&''ӛtuu{xx$''4^z6mPWxxԟW*#G4_|>NO\n߾}yyyĉ?unnn _?HUYӧOO>>T,8q833LzJ9}4,[[ 6ԟGO{w֯_B&MT'H7֑ʤЄfW_}5hРwxK.UOO !ƍڵk¾ꡊ̊2)!*LzJr͛7 !yYfffLnMH$qqq>@0S ڌ>U% =<<&Nql+z}ҥ4Rikk;vX MNu۽{3gDDDd2]]][[[aÆ"jΞ={]]]ggA 8~fkke˖?zH":88(Jr-[6lذK.=~嚚̬Ny?8q͛C{i)_/=?s̓'O2<N:ż~K.mxC/?t8ꯘW&%Ç{6lX N: r>>>!zP=&%%%%%5uʔ)8$hwP==~,k„ SN}@GR3h555aaaoNNNtmԨQ B >4scyqÆ6c!cGLII)R{I ٳ-,-wn6|Ŋ#lmІ*V,_m`|s7 =ĤMddd,_qTЬ6P)JKMMINWLyB Ͷ}\RYmLfjfF:l={kRB˴3ml?>b??--Ǐ )8>28pBuÇM]]]ϜiaaQZRrn677_nΊ+ !;mN622ڴy3Ţ7m۲ݻC5J(fefݳ'-52} +;~w 'o"zM>]Ϗj hR&ee]vwUBS !<ŋoݺ5w?HQԎmF?hЦ.X߅ Y,V/[w#G{xBl;uZl٭7#Gf~W~~>v)'2)!xάY?e{w6̘-˨;F4.velllE,Ce"kO $$|QQW._J153 }YQQ!U*G;z4=-ѣfu ٻ ??gϜ]\!}eXkW=8)R8QQbGh#6lX|\/;I@k^~MMǎϞ=۴qL&#( zeYY!P,֭FnN@ 2mIr\WW7?/O(JY+Y[߽sY2bH6iP(LMMUں***&A*V\ITJ6ǧw> ʔd>s)S 7odx?SFz:<7.sk IBKIN~E&Ouǎhduuuiii.]#Cʲg>dgT>ޞ锷OIIdJ[Gaa#}r{ͬ%K<'$ =!gO3vlOOS^{|zv؄?.\p2tiO!Æ]p"kҞzuww700hsgώw055߿ݕ˗ !NNN<Q{?wxy󎶶F٩*m)gΟEEEW\ۗ"YL*hjj駟~IkiB}sֶ(iiiA?m̩ӧ7fX'O7έ[tՠ/xl=0+3swńK/.ZTT^|[;VVV}9EQϞuF /6v8#c;鏝V\י_6!tP/AiiivޥkW---KKˉ&ݼq){Y zp&&&%ao_8U+zJ{ :dб C*t,PcA  2TX@ǂ :dб C*t,Pá(C+2TXry@@X,n@-O?%(JF >2eʔ;vQP̞=o}0k,Y2rH7+##~#ƍ٭͛/x~iԩ/X-!!!**4wZ{RuO>dĈ&LؼyڠWVUUԶZu.Q[vѣڪ]*v~褽)#H[ADrtpX,Vve@УGfK^=r'Oܹs炂3gӦM{ [嗨Uj? f̘OоWo>.;oB[o޼޽{BO9((f?^*2^~=(((((099?oWGDDٳ'++dȐ!&MRT7nC]vmnnn```@@@KTC֭[wȑ'O~'Onv+:dnnNݽ{wjjv?@\O>d",\\\} rN*..vppPϼfkoBR}n޼YUUecc3{>}У0+**bcctGcWoQ*6l`n~… ڍHuF\Z6###$$$&&7 fˣGP1ZҥK͛7/YΝ;S """88>;z9sR֮]2vXE٩̤>rJ]]&(j>>>۷o7nܙ3gΝ;G׿vo۶m̘1{w! 00pСgϞݷoE^,X@_/\|'N̘1~3\w\.rMwM&`Dҷo}߿РA555eŏ=Zb?DzSdd'U*բE lrw}weee[.[짟~Xv-!d{%]644tٲeMpΝ5kּv3gs [v-޷o͛;uR毿*ZzzzG9uꔧ͛555=s挙ٸqBCC4##+VO|uZ^^b //cǎx#Gwk׮Z믿Ι3g۶m]vҘ;w5k֎;W^MDN IDAT_:]a 4`M6d~;wZjҤI'O\r͛7:/_Bȟy˗[XXԿD 8o߾ܮ/ӧOpp5kRRR.\T*+v ڵ˒H/7v?3&&&000((HT~r?t+%(jҥ|͞={ r[n>}Νe^H뿹 ^X-[& 7mڴtҰn6qk9::M ZmذaӧOD^^^>>>u dggx<''']]]y={ŋY/J !ZZZ+ \.֭;wKqΟ?v̘1}x"!D$>}zܸqvvvcƌD>$<}TR5ݛYXX3g̟?UGGkСu?455{daaaƍSwv]OOCgggD"P8x]9?{lfff7oڴiƌuD"]]ɓ'^vx~{&LHNNnpD5>|W^ӧOrss7n\׿Hddddnn>vXCCeFQ*++9r$ C H$-9H$ ttttqq?~|bbD"Q/P\\\[[쬫koo?~'Oj*MMqܸq7of*(jڵ_|񅾾>}Ѿݻ~'555O<u~Jr!!!th}w=jԨ GGYf:u?޽{w||m>7Vu"h111]7}tWWo&==?Y]ӗR(ˍourrruu]hQqq1lNkfkg4xVX.Ǝk׮AW^-,,455%kkLg7/wAg]:3mpwԇ ڞў={"##oݺw,_\ŋ z̙:uڰaJOOWBmll333 ny_DHEq\7oDDč7kjjJJJK1cƮ]vJ5kg<==9Ç||| ʼb {q⋑#GWr8@RSiiŋcccb1RT*z&LuVhhxX,֢E-[ㄞ^z'O:ujǎI?>'' PT k>:$YndY6w K $$M$&{ل$dsiɅ\z!۸W^e[V,NV%Cd3g4>͙Rw*++ ۊ2|ɥKRJ=~ cyj#͠ʼnN-{ja؝^Fh4sx @`p]]v_*RO ~&&&111111AAA{뭷Ⱦ'mmmoƞ={9Nhhhrre˨C$Ƀ֬Y??p}هX\\LA8qŋK/dcǎ{mx{{卟PlvxxJJJ^~eBH||[oeoor95!z ,xF5q5jhhpuu}h1~yΝH$R;2뱷'8::RIn۶m}Qqq~m[[UVBdTQ&_SΝ;'[ZZ=ZPP@M 3f̰ź X ӿ/^|M(Jvommmbx޽c uݻ700@-p^[4gS>}ݻ p`O<1y>ڵk~aLk׮H$'O}[[[A +..BȂ RSSryAAɓ' ٳgtkʕ+|󍙙ԩS~G:O>9r_33{pC8pދ lڴ飏>z'\iϟJ;|pUU'|Brزe݉'>3.k/&&f޽ͣ29su;uj77G~\.7>>~ӦMJf2{9x ܌s=gX{zRϝ;ӓdnܸq666NNNk֬M`>Srss7ldBڵk?B1cƌ_]P(|7;vqoo;vP] uvv~'h|{{͛7wV;;;v-[oRF'RT*ݹsR>jxnHHȮ]Ν;wa>@] >>>>eLOnnn/ !,j .Pt?Ç9s<((h˖-{ٸq#fΜgϞ#Gp8QMd5&&>ꫯ[ ӧo۶gȱDEEꜜN?Z(Zv`ˏ`|_}{'JB;C ǿJis׿**::W_5zʨ su6lBBƒ"hɒ%TU(;z1CC{W_ 1;︹ /Pj:D={655СCg:TUUe#D-Hy%jJ}MMM{5?M^_ʣ6c7|M>k=p )SdǏ|Y1 7ݻ]]]g϶{.\>|JurTpf͚eiiI;qĨ^~凞HPUWW 9::&$$D"vVH/ hnn_v-X &7iҤϯX%%%GDDdcǎm۶W0`06H pBWWWRܜҲyǨQN::{l\~'O ,k% \~}TrJkkŋ^zgym6{GGlj 'Oܺu+ulGGɓ'#""/^`0 .\`aa1y !$T0"99yL&.==****(((111--mţJJJ\f.iK$.kW8((gޒquu}윝 !###wܑZ… d2ǨX|'N3j///g0+W"""JKKljj ԩSөMfffTCQ֯_{!--MHHx֦7RźYYYEܬjgϞM?5kVfffss3**fb8i$TZSSj|~__Z5 ,k…:u[ZZP(gϞEH$xꩧl6; 11 . JP*5k~鴴EӧOر:݃rrr$FMHH'/VUU찰Ç+LkkW^yb1 RTbF#̙䔔ܼ}v!iiieee/rrrX,޹s'!͛gp8GqrrZt)u`NNNVVUxxxtt4 RQQb|||ϟoff6+VPպoMwzz.55&**J5##cdd$..nTB󫬬 x>>> RnܸoeeE=z * ?~|fff}}}@H$zxxfggGFF2"BDg@KH0ZWWu499yƌaaa{{I&Q;8::?0i$kk뱊=qR\bMUUՙ3g/_NjϟOLL5kVmmmrr2ˍ%Ԣ"V;uԡ!V{P8sLPݭ;QYY۷7n(N>P(!iii3gάHII^^^}FFF222BCC̴Zw}giie <*oS(GFF򨑾.^hee}r]IMM˛7okWW׵k$ɂ LNN>}֭[{{{/^hii0b4Bhkk~z@@cOźٙ:?ӧO3aI)--|WӧO/---,,yyy+!!!Q[Riff9s <OT^r%**-BK{{{ZÄJ)--|2!$00p HYYYjŋsε5,0;;t֭[G}j"""Ǽ677xիWS? B.{e˖Y[[WUURL&t钋Kll,ͽ|O?M5A!h&&&VVVpnICCCcjff* u=aI555www''lHյvZnc%KPX\\$l\.pB@peJBu+B[nJ~ULprss Ʀh4+$Pqe‚Fyzznڴ///﫯zl6v377~NMMuqq2eai**--m̙T榦]t9ۭD.O6MXB1]f͚/8pB'dgg+WRC_|q}á 7n(tgggTZ]]r%ݽjhh4>qhZ]ƊzjnnDC ,..>}F^|zaʕvڊ+!L&f⋆ܺuۻiΜ9߿gџcH9FpD"H$ rrr⨭JRRƋJeqq2ݹofVקP+**Bd2tɻ%C2 F?~q<~D>{K\\ 5MӓJ_add~ƌԤ{wɓ'Q)+**t%p܆ݧGj !$T0]P={6666..NPUVV^xqFC̙3͛_~exx8U(555bx~~~....]***ZdL+++ 6PϛQh&Xg}fjjb,--CBB Gsp%HBHqq;w֮];SNq㆛P(pܹsy<^wwwvvYL)fϞmXHJJʔ)SچF-eeey]+++@ٙV[nxyy geeiZА?y人yQϏ&iaaAWSSںyyy'TD2<މ_!Čcbf=C5C`P8ggKB EEEEJJJ9sG1 )f?vBe0L&SWQw\.&#Uw[OV+qDL/Foyƪ;-f/o˘f0AU}vGw媡z+Ru FRyT98\ԝqT\՞j(wz}!qϓ&Mjmm?2̱:zzz\]]2AAAAAA?fe CfDUx c…ۇ=81 ٹY3Y B ~]V&ԁvٯQ-*!QsrNUF=5} j>(..n+Wtvvnݺr'''aBԔimm+޸q楗^feeرښ|ї^z;v`0cVVVvΝ@pB{~ &C94 EM]fSaRBHSAW'?ahQZt6|OΩJi܆oG>t̠Ţ垄a;n!|+qzz(H߿n:ooᄒ7o666{xx̞=$'';wBRQQb|||ϟoffFuVSSBJ655jVoggi;ʡ IɵzK{Ԧ5C -.ͅ9g*d9T/fY9X.mn. ?x sz13K<Ď˵?5Qkߣ-~۵]=m7|")5Tj5szލ\ (T-STTT__jժ'|R՞={vddTSS1mڴ8Bȉ'jkkWX /9sVXXT*ZZZG8~xGG7mf%-[رC$?~\&B***Ο?m۶ٳg׏-++[rO?bN8V###%]hrssM6N_(.^xpp$6mT^^Ҳj*H񢢢 !Z:*//eTUWWwtt,]ݝxժUZٙR__~_v 󫪪1cX,D2L&M0w/YXXBrTw$/Mը5]W8o'?ݩ45g\حap3KSthX&?!D9nq[\|Eky9:iii~~~!!!e=} {{B>hJJJD" Cwzss+SBB:Ւ uSAIњ ;LYf2a3R!nr?6 a#}`ёdRufffBaaa͔)SMT*KJJ g践X,j&Bȷ~{FTjVoxbQ"22ٳNNNSL4~,N,cv evK޼ۍmm6PB? q*BHw˔a;:yƮq0ṰԪI;kG yg+N iz ůHn>=0Q|P_d}!q,ir8|[[?nnT*vvvNNNCCCI> SQk,1YZ4aRr;tbccʊ߿3覯`,YɓL&S$%&&622RXXXUU;22|<Ըީ<y9^Y 3KӕOZVO{9pڴij&&&h7Z,!dR\G=h4XG:Crcbb{vغ0b HW-$0X A7vf4 (Gd%VelQd1}c `Qkp͗i.jOW(tbn@sR6ޏ8qz^'Mp;::|}} !cu>^?noà~^( 6ܳg0;hFwOsJpmF{}v>###aM>p8|W=---Zn*Kgkkkj+/,,,((61kcggRB7U&P0L.mx_/))ruu51(; IU˵]՟p#ŰbdWS1 'V[}w9jE HH>9Ųϰ =1ŠG/] q*)))|>@D}}}j:''G,?4SWWޮc`0|}}<<< c%qJ˰\}IeUii).R:`)j:djz ?_Š*i'oory? #33sddʕ+###7oliiQ---CCCɓ߿{={8uT_坝&&&c#gۘM"76v杭IZ/lu;;yso/l-7vڛgﹻ;''!))0???K.555I$좢ٳgvaaaZXXܼysppP*޼yS7O(^pV"TWWGlneU8lp's+Ӭe}JDxL2z7ּuBRsmƪѝkjj 3o|Cm _ݘUT7!sV`J [ՐYxvSS7pPqWMc^WJ6^g?ن`tuu߿`" t`\ggW_}E111raaaJLLLJJ:|Yhh3x'?7zCV*x'^Q&ߍ,TsJ54l`ngWB\:LuVIJ'J [\}WCwxK.sNzz:ϟ? ! … RΝ;w_R H֭[<22200p7o[N秤q8ɓ'--l׏GJo|;)I>0 y9UY|ČcQ&17rTX54ls}$ѣGU*ƖM6={ZmjʕL```rrɓuSmܸ~8pMHH캍7]tIPQc0bcc ERR𰟟ߒ%KJGj^PlS6뉗Av~xŵgk5Zu"9+d/Kμzmch:!#M1-hr_-7P}-%7:zٺL1b:F`tgc3Usz)8ܳUkL,0ԐQ/MͿPSpƂks萕4埯a2}xy*!Dr^!0ǘ q+33Zr֭6~Q|t/w ®\P(bqaaK{{{=wBUݻw-&zj#5222 w~0zABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABzABz1+ojppM                          Jډ Ji+IENDB`sphinx-notfound-page-1.0.0/docs/404-without-this-extension.png000066400000000000000000001122401447362433500242250ustar00rootroot00000000000000PNG  IHDR ;]zTXtRaw profile type exifxڥk8k @r9|FfAuqw[eW$>DfBϿ/^Z=jx^zySou$?|%Ƿ$26P|iLu| u[M|c@YߍϬ='b JhtFQ# p;Џ|;/Gߣ/sp6uqvy/(8X/g .#6alosd }IW2oy8˒w!kk[KrrùYS"y;a+r'#AO=oya72 +X~Kl+*YEȋk7lb梹Kϝ77lZxVϖSfd+Ҿo+Hf;Z$"jX,cd1 O?kI`k0*͆-25G'O-EZ۫\2رXey(i=g^KZd\o/u>+GrgY\re{Xr{k'OWYXU,^?b!e:=cq3ҩNVkvʫ4]2u:r6L*S6U7},(ɪ%Ngmch2SǜK~jmXw:ݙ ZN7Q$HZB%ޤ Oe!io}g¼ICUHP:ИZ,"V4>y6?s}AUvGmSVJ1LjKke.;kn wJ8JjѲ=Sv6+Zjg @XC2?+r]zF0ok F=HXĞܕ]ey:Wml Wԝ'굦ƝmfU譮az_cw ,ހlޢѣ7j5g[eu5W8Z Rj`iZD0zvh۔d0@ا=ɖ( kLs߰AwZ%x B΂q!0&Ll`u賱1VA(|e:I6CB4P`* 2j7d=0>Py6srdkRHE!E oZR( HP^퍖@fͦm.{Cm8 4=yl6@ |D[~fH'O )wix]&bGZ/ *j3mxnsSpwM[Q9THgTCCmaNTM !l冞;66SCP5x*);|SAPhQ %: n>iR 1s C7NyVlzE4!ڳђ50IGt0|Tq׽>߆6la[PG8cA8yŹ`A2ojEg"f+m}(#¼;"Ňx-44H T@y!(7SKA҉bd9+;P7:)Eg5Jd.93 FtkTM<ֈ c EpPaΐ=0^ EiӠZRy0t3Wyd$7(ʇy})|2P Q!/( &3v+~@aHD) 䘄M"Ǧ"|h+6љ8cRm.qTǂ"R4Lh^Rز 3vJ:@!42FpϢ83vI[Be Q@|_нG4!$b FQI-{BN }0mK;AG3AԻ(I(QF%ih?Idp<5F_Ң:,A;Aݸe3,B}GK`򠗦)?K}5J$F]rtx.Ro{=^ ~4.a&$ -VZK0Jk!X!\@L4㍢`qd]l&R7+%F:ڴE.78sKGzu݌ '[5}0 ]Iw=<.(G>E?ˆ9oN@8zj[NN~CV==99Sӎb3-Xi1&B]t*lMOKC]ѣju-HAuG+ F RNv '5ȩhv@؛ƃ${<’҅'TYZC P͝sJr8O_C5Š-Vr<:KQ ٴ0S5@- Xȵh鴓)Us,FAm=&DPI-Up+:xv 1ݭh+L_E`$PV<]y}\ "IG5*ShF@PoCr_4bE:=:X+<a`%"AX@\u{/6"=W^'sBITO IDATxy\aUPpCŅ5ArK-MS5ʹuiZfivqwH TpC#P3<3s0"ŕ@XDO@@„|&;0!  LwaB@ii:Ii,߷ojF0꯾*)u3)$Deǻu;&'^|Q0h4r<b1iF*Pqf㦾}23&w玧DhGoED/[뒒˗W5G S}sst*ݙ}eX_geAPTrwm4wO.ئO/^ڵW/َV",K׮yܺ噘(IL4\`#_U!7e4r;f~i-[,#FMwG~yecϞݺ呐  U4 U?3p,+,i\v->q1cF#mKΞ+ss|)'Ӫ||Z7k&cѣn"[geJ%#Ӕ)JG>>~?iJ%(4HBS҈1&NTa@pIE"oׯ$%y(`-+5kVzF?`^JCݶm%D. VH1U&pc feوeҚ"mw2^Z* exvUh@S'ʕS+W?HQ 3xl ghܥKlB\UݺI7=z=< Ãͭy^1 G-`fj9"RTkaz/F2k|ɿdFsa!zD|wwg8r}2"xH^=L# @L*7(JIyKTm[ɪUի-T28Su11b":st@b l5[luˬG wb!%"J BSI[q GD^^L.+WXh8˃]5Jm%7ƏW?mbH~`%9Y,b8sSq17fIIҖ-ţG޽mlϰLK8`:8'=s6`i5h x "۶CC5DÇ-ǭXQk`B`MFپzz'M2V͛Q!QaÆ*rܚfT(D~~AXn-5״m۵bFоo ccu߯צ0TZ1/ɱ輼11:a3TZiqOwMT`A^Y3x&< h!p'7:u00 ]1ôazWÝ;ѣ[um|fKZQb>P"|a*ԩݺIiakaB@„|&!Ct/h,**zҽxb<8L<{NDwx9 ???a233 ZNo֭[={tqqiԨO?DDW\S0?$K3 3`6\6l]ߟa6muϟߨQ#//͛7'NT*͛7 W(}!İ$FCDڵcN:MIIСw}3''}J2<<|ӦMxrSNQӦMwؑ7p@XܡC}]~=55U.߸q۷o+ݻ_||wܑ/$===.._^`H$ںu+˲3f̐H$gΜ7͛7O& 8ԩS򊛛fڵ{q^_b_wAAA`_~RRhZӧOW*ϟΟ?w~٫W&&&nQI_~Ov\=rmذ_uTll,PY,"JNN裏L&qyqq1c'V>=N,Yߟ\\\I,w!"BOIg׸L6;?<##g#G$Ç)_lYXXD"0al8.-- 7h {􈈈f͚5k,--l6߾};..FoԨߓT___mڵYJq?QO1lذ<ǻrax ;8Sl6G1Oc6mZƍvgB~?0  LΞ;sVcʼn4 }x9; ^cht+V|x"l6;waB@|߳gU9{쿩?ϨGxnz\ޠA^{EUwFbŊh^ڵrTe~XGw*JrewܙeZccc;w0FYnݍ7,Kz ҥK,KvvQ/\}wJҸΝ;͞;wnӦM:.:::99|]/ڵk;6˲;rd֭[hh(_yNT*hV^}-wn'j׫W/88xѢE=zhѢHDw3gΌ7e?AAAM4!ۇL9s8qm۶|'O׏?ܹsN)**IKUGHD"ш#ڷoaÆnӦ[XXXvv6yzz6nX$z{;QQQ͚5#"a9흘(J%_G&!!!bXӕLvvlС0ޑMa&222((ѣ|?[j!J ;wN$% (|U$uرM66mZh[ojlٲ}v"bYQFÇ/\q\AAApph4|9L&ݻwOR2iZu<<<4 q:[]]]_y商 Vx=7)>}>}:'''00˫]vu6mt^{MR-\aMy{{_|R4,OhYph4 4`˫L;bK. kzzԩSO8qBl'Oԯ_vڕqj{.Twj4XafӦMFh4U3fyǎǎ;p}S۶m>|]N:uƍ"رO8a6j5ϋ/zq <Ӫzn8~zeܠA"afݺuFPDGGwڵ[nk֬BBBu믿6lذEeڬ]#6o>>j? g?;QEO a LwaB|MTF$'v+VWj_I9l <0 LwaB@„|&;0!  LwaB@„|&;0!  LwaB@5bw-nNߠS'ZA * uSi-ZQh ft <~% wR]:zV3:eO!ɓ@t?秉_"u,6L{P˗ϟ͚Uqnj)LVbS.^35t$x,L[RY\ڸڴ5k=php?4ܩSVp4#rvYpBS._^2kV1LFFƍeN7u*h4r'FnG&4I/3f3LI2M4Ĭ,kDX,,:F%rbn.mqkDX\7ѱcmljޔ ݾZݼĈbcGPj/7W+q[6zkRr[DDil:d]]Nd.^֭ſfy5Yn.{mGz=6hW9H,S`sAA #?zSk?w`2+8lƏ/RTË-+KUY J'}y<>Ĵe%=ݵ~}]ڵ,]PӞVŪUT)DT($DP'PuOhQWc/%޼[$=j̴m z]#{4cVM.'|}E&;w>~<w40!  LwaB@„|&;0!  LwaB@„|&;0!  LwaB@„|&;0!  LwaB@„|&;0!  LwaB@„|&;0!  LwaB@„|&;0!  LwaB@„|&;0!  LwaB@„|&;0!  LwaB=-8"Bg>~lJ~~BCřn-̴Lܝ;ɣW/oY8]̶nKJ._nTaon.;`@nWxvT2>#;ӷ묽`ಲ:H<`h*dKϞRڕliFݰd$>6ŋĉJys]NS(}:W))__C{$Dv2fpPzt/0""t KY3ݖ-G*iS]U> gBAQldjcZ0;wQt\=<ӧJm6""U~ūW%۱ʲTTĽe5[<% lD믪#FsgLׯ{>ee#.#/?>xlٳ[<$113;۽*3gee~%"ζ?0.04fh䲳m|ٳ}enn:edZBL IDATc6Sf8zM$u,Rdb2E)S!֯;mBdE~\Xc[!&Tĉ!LPU_?HD-$Y!e̲efy@YJכB)s۶aab":~0)d.>vV,lYZ38XIJt`._fKCCE_|Ϯ> u$Ym# D/|Xdb6sh00Ps+JBB4־} SHT02YOOI ۼy#*$*lP[E[Ҍ O=h͵|}muvY>(Wmryaln5J 43f99:&Fg=xT~jP #n.I,(=kpτ?|-5Dt&[f<Q;ZkU3f6lPUojs3#2zql`IK3Ṫ*SR8Ze:[79;< 0l LwaB@„|&;0!  LwaB@„|&;0!  LwaB@„|&;0!  Lwa|8n˖-˗/q j.9ݻw=qa'WZ3 _,]: Ƞtq#m޼gϞΝ;o߾a ,YժU͛75I2c2N*:tX,ӧOjj[J{׮]]]C!%%y+WԮ]իsss; (;Rz6o#G޽{ǎ͛{yJ"| @„|&;0!  LwaB@„|!wm׮] :uVkࠃ ϡ1߷o0Orrr|||f,X,\0==}׮]k׮=zhnzz)Sj@W].]Ο?~z"Zn]jjR6lؓC-_fͪp֭[### EVj\.^́i4޿D"qwwӧqƳg~]r.;;{ƌN*( "b?\ *OiװafQVVVNCCCծ^ڣGOO9sԫWOۣ֭[bʕ ߿Ȑ!**((h̙uvٶm[???__?:xĉ+W̝;WR=qǏŝ?~qqq:urTAAADD0;w櫽 "ӓ_}w]\\<==srrڷoT*7md?byw|}}U*СC/c),fdd|wV_~N쫝;wV(r.]JJJVk֭ڴiӬY,ZΝSNIiӦ,k.a.\X'O$&Mdddܼy'ܹzqD駟lnݺL&~X,4iN'::gϞUM'&&+þ:|"޽ٳg^VSL˖-[hQF͛~ 05,Ջ:ty}|l/|Yf˓'Od6{_~SHHȑ#7|SRF~5&&yzu"z7U$HOίV_=t^_}|wT||c;1WXAD;hj@@@n_~e;g2226n/tSVqG8qDh*y&M/fLD&h嬬Rɯ?aGr۷ǏGDDb~yDtر*ޔDwRV߼y3&&^-663]~~~?~M6Ve˖:hѢw*ʋ/n~{rss/\0~x~^kРZ\\T*m6=a/D0 qF L&_oI~` "{5ex\wյ_MIItVZٳLavvvBBĉ,Y"g͚ui֟~)..UV O>ϧ ]});Fd2 PM9^TͪT*"t]~@jn|^z7o yMVv233KJJz߼yqŋ?䓓'O:t(-->{e˖gϞ5ZE111ΝZ*]WR)?7[PP`|̙*6[V'NK?^}@`jt~dǎ333srrfϞ|bh4hCDi&Z~z>z=ҥK7n5k֬Y-ZdIKK+))1bDNNέ[ ɧ}Ԟgq Ü9s83L3fhԨQRRAG#޽{{:tp1//o޼yj~3Æ ۲e˯_tR1/59?mƇ8EGG/^L)S}N"Hq? ݿhIҽ{{8p}r-99ƍe]x;|X,NMMWۮ];?????Ww߸qcÆ k׮=zhf:E_~eM6k„ k֬!#G9+8}gǙ{yyTÇ\˖- M Jך}>-[ׯ_tҮ]K>ԴgUjժT>܉N:!!!OKO=**j_=zhff믿d{Dj|޽{iiiYYYrbN4"犠5>vwaB@AEraԷn|ɢE%uh'۱2^]dkD0Ν!4`-è}|4ɆdCWWMJJKOw2EXb2QQW79>6z=7keK]h60P6ZUҫ~\\4 L`[׋jQ׮]W7n,v uz /qyx;uK,1衯…&›7m}BbnU^IK/^qgrӦ -b)&*\Xg`QaNx]bzx߉H*%OOƱGi``Žesӧ>V3|h֭S5h ""_ѦCi{-""//B||ʝÉDP)EK WRi-rJ è%^3Κe""JvlƠ &"Bf|Ja[ )R4AAڙ3MY֭CxR>ֺжm-è?DDWZQ''?0l%ߛ*n W>]!hsDb}T}T̞r{v>s*?p?~0<+{fܴr۞+G,ZLDvp##~}`Uwln!}?j*Ե 7jF <{A}ndx!|8w=z:thDDÇ+1[:Ͽu?Ŀܹt0YPhHy&kG3]c׭3DDݺI;wΞ]z ~l$>^ҽvmьJo'?#"??gf{5bD[ХlCesMn\eÆV|8{vh$7:nԩҺIw(ByuY毄8a8TslF;^V۷+oYŋK4хu~ZN,qɓ(,LT2!s0D LwaB]PF>|qaW BWӧD"LHH~R1cjx3g>gXl\.Jwnݺe2z/k6m޽;vxR6mٳg]]]V~9gBCCս{޹sg[nMMM:ujodZԩK.Q|||&Mw=~c6m<~pYܪd|յ^zUOO>Ã>ڵkm۶uuu_IJK^}+W8 r{X,L#g<.6lHD,>|/ꫯڵk ˃x~mttL&]vtttRRJ{.__=jժ%BBBG߶m}K.h׮K:uJJJ+۷/))ϏV۷'M?cXX?LD|[lq]0 3rH~u„ |5DDEEEӦMtqqqqqi޼ٳ- _cǎ~.Yիg/\VԩS֭P(ZluVJ@?EΩDM%6l8n#Ξ=ۦM"q_D6lطo Z/7'Oޱc?"m(;;nܸȑ#j+WDD4nܸ}D$ɶmqܭ[vޭP(gݻww,ݻ'L7>vXf+..&:ulܸ_~#.]X,V CJJ _bŊG:q;wnDD}|?qӧ9#*t<*+yT*w5 }'|oϵf͚;w&~b9V`w?_+Qpp0_bQF6/R99 ϛ7^_顽ڷ~˗̞=19˟WVe2=?x|yZo ";wnZ(00p֭7nhٲ%٧vܾ}_h4_Xf3z|"o ?:u"pc?cv%"_rʙ3g{۷~W~Qv.G?;"iӦ3GD//~[n;v=z4_h{ヲMzxxN>>io/6\nݺU"Ⱦ\?g@~:xyy3իWff&Z*%%嫯YƏ_\\~#nݺ׿^xEՖ?܉'R)ѣGB~ 0999|ƍ6ǍwD$Hi*$Snݺ̱fsjj*__6L|yIIIǎ(((hӦM[ڵ}fh 4(>>>""oϟ5ʾ9sz̚5ڵk\e3d09,?s~†L&TrJϞ=U*UZ&O7ÇgY6==>đݛ_=˹?3w^#GRRR6}}}{]ͫWvUPDEEedd8n|rD!C[M&ӿHBP("##g̘Q\\Bfff֭ E@@@ZZ}~.fyuԑdM4Yvsu qF Jqݼy&NغuիWCeɒ%cƌ!"Fÿ#N:ٟJR~'((7y3 /_>===!!YfFĉSN?'8%+ qK.y IDAToϝ;Ǐ7 |' LwaB@„|&;0!  LwaB@„|&;0!  LwaB@„|&;0! H$*?~v6l!@ $ucil67nxɏwssc&33 OOW,߇.4iҢE DѢEF1 `={ >Vh4jtkرeܹsgȐ!ի_Qz}]l6[͝\oHOO2ecle٢&eff&$$7jԨ{ΝtYf-^IU, M&ӧMFD>>>qqqݻ|}}ަMV0̣ɓ;v(SاO":<˲o?XaQU;`> "//_9qܹΝ;/X7())ԩSϜ9S ]:g2W^SSSE* Tl~q9޽;33>puuuss{֬YmPPPdɒ~=᠊ Ǝq\5}\z5˲Æ #"\>v:<9oe˖_{~_H$kҤk||S~LJa%K%/bÆ >}XXXppcmۈ(.._m۶-mٲ^aҤI&MbY6=0̄ u*nݺ]zq߸q㨨3f8_{xx$''O>s7j+**je]Na}e˖SNSSSqww_t)7o޼iӦ54hNY,'o߾UV[>ydsG k߾]hĉJy999 gm߾=::ۻnݺ!N:&$$/͚5۲eѣGU*UӦM˗/>>>>>>Çb;*jС˸3gT*@ڵk?>_!///555111,,,))I\p!88auE"Qrr͛7nҩSK.ُr=zxzzΙ3'&&^zZֱ'RbC Y`}7 ì[nĉj9rd![n%&&^/, .g7sLZj 2M 4nŋQQQ WTXdۻgϞe ?B1`̙3,[O8AD| q&}ӦM=z_^(&,,`ƍD/OJJrssWl"hСڷoϲ++?˲M4=z+W7nvD|r֯_OD[lwS{Μ9 _r͛9[`H$ںu+˲3f̐H$gΜ)sׯD1c/_&p{u=Æ 8.??̜9366fq׳gÇ?-Zt:ew͗ϛ7O& 8ԩS򊛛f;uT*6m˲vbf…|.]X֭[k_-**jРA.]Fc~~~```MSL˖-[hQF͛O?9G͛ǯv8NX8=h s]A9ԡC6m4k-"s~fٱ'ND;v?͛DԢEo<:< .t* CQD`H+A Ă EE "}ҷc͆&Ɩksg;̹pъX*J,[FJKK+++sqqP(nx־"3.++#;kIII… zꐐa7>f4B--- w-JmooG3g=z!lll={vuu5-ڵ 5[rJ={PYYÆ spp@fQQ5krԨQ(w9s^x!ZZZvݺuJL0mmmQ݆jիW>ґ}A_|!hTXYYӲw^) z+5ڰaH}}=PEEeDK'';Zai&~zk{UGGGؾs ݲe(˅9tuu{! 'd2Cx\.`ܸqDFxlWۻ:::zzz^X 7779s椥*3@>6D" g3---ss9sl۶fϟ?ggϞݻw׷Q=Bq++^H=חDi3330Ġc@ "..NtuuQT2d B^|s)S#gKlllpplLL ##\\\ rtt$:̚5cƌyȑ# <6B8;;\Rh233NLŋ 8N_PbuttA~~~cccUUںW e֬Y{o?>}t4"++d2Qd|d;;; hz啗`HCC ךi33VLED??cccad25>v온 Z5 ]DDIDw-D",\p߾}{fժU= pl 萕 ޵kFbf͚5|eC8;;!=l0cDDp8^y<^JJJii)BQWW6mڕ+W7n@{[ŋgϞ<|$0k֬:GG#Fvy%$$pEEElKKKnn.yJJ$<|c鮮y---$ ٱc4A3#--MN711Ypa?Qij >d27n%%%yyy'OKӧ={tR;APz=@U5Yvm^^f?B0 Fhh-[6nܸi& b ̜7o"'3LNHH022zjSS B ;wf>,!!:4Fx{{'''1r#M䤬g+WvkkkqΝYffΜ͛DDDDx{{߸qcԩGGGᝦԩScccWXC!E;^d2wcǎ]n]DD޽{>}ڗL&)""RXXH&0wADN ""~e˖>|x֭{KT_\paȑ,KBBb׮](H L<Ç=/ATWWŭ\rc>/ PȍjddN7bZZZy]V]]bГ0jiii$iʔ)k֬ijj"z-_\TTW#]$''7a+SWWիǏ"@LL$==]X~7QQщ'>|~C+gϞ!bÓqc=DXXEDD̙X,$l_/,,,rssۻiյd<@&FXPQQA눬4Al6e{zzvuuoM?ڵ+''Ç~~~YСCݴ~@w C@ XdI@@@``ƢE E}jkky{l@ Sn :Wcf1bkgg7~={}600pѢEOҭ@ i+oAAAzzݻMLL,--:::?~MqqO?d2 !啕{ݻwo```ll,CU۷oyf@@@EEūW֭[븎999]]]h?HR'NxAš#jkkl}DEE P%ѣG=L&sBoߞ0aBX_WWgaaauuuXX766^zY[B MM|Ϙ1bٲeuuu D𥇇Gbb3gN8\ս^)**:t(;;ȑ#T*i !xKO|DҨŋ#_\Kd477ۂ[[ZZٳ?'W0Gzɨ|رhy!T^^ŋAAAb|ƍX,:yd_õN4 8eeePy]]СC/_&ÇG&9w\OɶSL9qℊĉ_z>}jmmMR={6{lIIɰ0aCCC7{*rI}}}111%%kv#޽(9u 33(inn={6FщFIeccoaaR^^skתdCCXr+** Gq?Jt̙3M6+**n޼B+++YYY+++TSQQ*%%%..nmm}}$^ZVVF}wo())n244055;wnᦦ~~~'99YOO-W> BQn݂$bd2]ﵴW^fQ:ٳg/NDGK`0PIHHlذ񺺺dcc#qVVhB!9rp*39%"HMM Ɍvuu7o|1;weeeK.d߉xY  ?{.Z)Q YtҜ9scR555b_A|蝃zt$0p зÇO0A]]3(Afdd~z`0Hm>?̝;ZXX8ˁpH$>'Nm6:9|2233Ź\?q^._vڊ >`` ?`0ؾc0w ``0l1 fp; N}`0  38`'ؾc0w ``0l1 fp; N}`0  38`0OK]QQQAAዩ`0O| 38w ``0l1 fp; N}`0  38`'ؾc0w ``0l1 fp; N}`0  38`'ؾc0w ``0l1 fp; N}?~ZEEE?m I$҄ b,eeׯӆ_L+ d@b,dL>=&&.{555QQQ;v?@ggg[[留?WTT$H3f̰vGx6#`0iok@~'''gg玎^،=º:]]]yyy@XhkkWׯGC?~}v "H7nP9}y`0B޳/((IJJ 8qӣ׬Yk;vdgg_|YCC ''kooO">>~D6 !Ўrrr˗CO8 䊾<-~駯/=}۶m6l\rݻwwǏD~(]\\0tP6eʔ*ㆆ'O& o߾=zhFѐxxxHII19_|[[r5lTԄv %##q^jhh̘1m߾]RR˗LJ`̙3'''Y%IIRڵk>D-y<L{.M8qͩ$ i (,,D]~:~7o/X 88ڪ'&&JJJ:;88X[[OJJJߣ'OdmAJJ D ֊O:s9; _ RRRĜpL%%%RRR=/'((رcߧEEE}]xQQ}šwwE}رcƏ?/''GYY˝D?P^^/""RPP!\~O?4`kg뵵!'N`0=DEEX[!i+ ;;e !7oܹse_~ طoD":tU=\WW###!p8HanllQmѢE&&&ģˋFJϜ9d>t'NtYYa_zHJJBU.\ ¾?hΝ;m?Ҭssʕrrrv"pJa.L||Jx[//nFFF¥Kjjj"~z__ߑ#GJKK;999? ƅ"rx^˳H$1R(~@`nn222/^:88}@KKKnn柤HJJ"C6}tv%@ZZTO$)%%e…ܳgO d‰ zZ?. 22rݲ^^^W^%%ׯTUUUTT(**]reÆ Geff>z(<< $_ IDATs\jժ@yyyb2gϞmffFP֯_O<`0 xŋGiggGMOOxϟ={v.fff4hw))6}ss3E}VFӧP;w2 kkk{{{;;ÇS!""rȑVp#&iiiOjjj%HJJ:;;GGG ϻ%`ϙ3gӦM= dÇ?gVVVVVV޹sWjkkN}v PCCחD":99!`ǎT*UJJ+%%ETTN33f477b***(׋#=}ӦM;wD+YYY;;iӦZZZkkkwBP?~|]ٳg}7-i!Z!K.xb_~HII6lX^^^zzѣGndr_IA߻ٷqwwq*mooEjjjn߾ث̆PUUyif~$)""z޽꺺:{O'LhѢ+W bn( DRWWg…aÆ᜜\ЛJII yMIII(++C7ݾ}{ڴi|TWW7|pӧO&&&v3fttt ٳg͛'LQPP0uTII7oI$Bqq1QreeecN!!!lpp={@ cXDG___2ى˖-555= ҳ ֬Y222UUUr*VPPPUU*qp,,,VZ%,ɓ'={@) #)..\O<uƒ(;r"""TUUsss[ZZZZZ-[MVYYt>)-++>_777߰aC˟cxltO??̙3@ccG)++<},Ydҥ,͚5U`0)o!XXXhkk;99EGGߥnڵZZZ ENNnAKKK̙dccBڼyG )1B0ydh< 9211QTݻ!O>~ٳ'??x?@]]ݼ<aaaV&&&F^^ʕ+ݔܷo&cƌAUUU"--N\\NϜ9YIoooG t !!1{l>qF---bN< !LNNFGKK~&[BB t:, UaWWז-[455i4irr2jloo/**jdd ! 붱VTT8991aÆEEEWVVVVQQټy3 %Zx1AӧO~dnذb0mHm!ecٲe˾}\n?m݉w,^8::RTTyŊ>DQ 3Hد/ѣGϟ?_pᇊr ŲFg,k`0z]w#]` ƇJ611IOO>;{ҥK?J] #&_ rcnn~̙1cUSNmiiްa?U]]=ydIII <==WXɴ`0.;`>. `>ؾc0w ``0l1 fp; N}`0  38`'ؾc0w ``0l1 fp; N}`0  38`'ؾc0w ``0l1 fpy***:;;mmm>GOOvƍt:D"~q X/U50/%j̏=Nz8՗|oPW_[/ VbH$ a0$ŋݪ._B"vQJf_neUqڱ\Uw΋2?k{֭+VuttI&m۶mȐ!%$$߿sĉO;A[[[GGG{533[`W\ܟnq*ڌoSӓMc4 C|oՀp:x<.:|>/5ЯWQt+7n\UU \fرc{V1-҈oUn3$ Fvr[l yY>F2#TREq'?r`_q:yVtD{ k7k j¾r e߼yC]\\ @@7o,**Jd_~=rȁӧO[nݻ^9eu 4\x !t6M;n(kfG}k81_S]ּ,q.̀>_~Va޼y*˗ .r;w~Lax\ᇷϹEU#wH5DžXӻ9Za-w^e0rޠ웼ea\q){TbbbRRRDV]]b]~}'<\@x;q;@N^b1|ǫc}-禹Ħ'X@?载DD>jO**&BSrg#;}\xSΐΪY|z[[NÇH &qƉȠu$%%I$RQQQO94H*22RJJD"FEEd211!HjjjW\!H-dgg[[[8pF-[Y]]@R ̞E&Oc!˾ K>ݶ"+m~5OxwK#Ynyڱ|ԩSTzpp0EYaaٳQUrr¼y*++$IZZ:44e 11uQTVV:;;2DQQ EX˗+))N8Qxu"""%$$lvFDDdݺu ۻXMMD"mݺp ?~Cd[X`5v'֎=~ĿL'8=;B~du#G݇UDDn0<,/cW̎y9rUq{/al;TqtҙlYyhƚVq{jۈնAkJU-A^vF}bߒض]sѿB3 ::ZDD$$$500ppp DH QںAϝ;BوePL&@\… =3FJKK+++sqqP(_9hInZeݪRtar)vICuKLf@Z\E-3?|{BHIn 3sOQ,5>j/1!j\/OE 3 Bx|^/.\B~/^!RRRŒ @YYYs5sLee =1biZZغu+VC {xx@+** qƞBw^4fMxjƚk]W_v : -Plfq+j9"nzY^<,|um恆?__`t) U K]U~k2Ǐ͊ tI~ ɓ'sΥ|>?++KLLlϞ=|>m¸8 ^^^=G1j(EE{XbСWWWUUׯ_wuuMpatBN}UK% H"j\a˚ޮW8.ܗKτ3 kj =Ptsv-.2,lM_h5.m4;z7ys]v/Q%'Gᬼ?{L6MLL,''e̙sU@(**WTTo fccem4N,x\6"t]"_U)YI&C6{Hšҷ/ w9\ }#y\~Af%*J 7%Q$ҬU#6N̗Q-IL[-Ģbu[ᙯx-LXZZ^pAMM׹޿GZZ444{{{x{{ر% H&ijj^W4lg(̊ΐ|V3j˚Ec(FF~kS'&#nfb7TV6kHVS\1?FrOeEg&ѨfI5&Mb27o:uQpMMMwܙ!""rii 6Pԟ9//.峳Ϟyyy\kijjC|e444(իKKKN TWWwpp7o^󬬬b &9sy|>_QQqܹhK._grjV;wj4PҐV{}1dƸyƲʴ LՆ}neifc5i=in}x#bs5)1Xosx=@RrT@Sm T6.>cI\g[Q8XX_bID;XNr7֋EC&2.3 niiSSSSXX0c ) --mccMMMUUU6mNKK$$$L> f Mn1/֎=RVHHk*t6 !~j OLJڿĩUG=Wy9vC%z7ZZZsٶmu[VV`2|>  ԫ Gw?u))6ݤH@ZTnM W use% wY4uarwqb2 醹9633CD666}}}@VVEEElsqqCJ%%%:::=G|9QG 6++ BbPI@Gϟ?755%9}]TZVVXlYMMM||<} )yVbCW< sgMVLET8hkld)uY*_B7ڲľ8<h W!=AMTTR( '5٢b"H8yS]=~toeuL{a躺6lXtibb)S>NGGǭ[644M>b :ʕ+vvvjtIIC+x_]oYR舉J'1vxwKJ_[H$RJJʦMu~b%%%;3LKK7n,^4//oսJxbTTϗ|䉆Um?硣C"S tq篘B"TH@gg+:e9<{}%%J"AKK*P(ᄛ[hhh||ܹsϟ?p^/ !--MHKKC<== !F½zץCEDD8;;ocǎL~wz{JBD֫'L|g*v",!.F8Q"|~;B{S_z~n-.>v$JV EUtQD{j/iÏ<9{$!_FZZZ/_"N"箫득'8::n޼޽{W^ݶmڵk۷oojjT4ִ6vTueoхY}A[>=WJgHj*ᄆ׀nOn3`0BCClٲqM6YXX[s…#GX, ]vyxxl}ƍSJ4}Ϗ Ff(d|nت#wvvr8٩GEE͝;7:::99'2{ٳgǏ߳c_rikĸ/g{jމƶCg_TbE8K(YU*ioCXudн(Z@ΐP~V.G$*]ɔ$tIf̺p_I_iG]?e0( |vL_yXXX(++߻wիWu֬Yš'Ob֔F!OzDʩ&OkB4׵{cUGUj/oÝ|ohhXf @UU522RGGӧ@]v<|ϯ deeed|#J4V!zG3⛼޴΢ºaee sfoAY4o޼kjj* Ax|JQ(b~ǹQnn.1zV{B/-##NS(߹sX~lSW6*>*kjJj8K(! !s2%zwDu=91hQ_?J+['c\^P Pe-@T m xnr9|q*yJk{7/kw.+r'OTPP tG=|yyypppcccGGlhhա,•455 "H&M:s anj#''w'''onn&@b1([+{/ZEN'tarv'ezU[qQ95w K#蠩G5w5m҅V\~npI:EYSfbOVOOOQQСCEEEGR^zVXX())a#Fulvkkk!19qqq{ݻw{S[[f'**ڗ]AMUG/mM?'rbRQNUKCGvJqwm;A߳-;}YUn{~z\\\ii-[ˉ^oUVB;;;wء=c [[[۪U݅; (Fu{_^EE bcckkk333L:zxx466nذ4%%͛tp |}}}PPPiiiTTTLLŋxyٳg„ =%|׹t䜝Nb\\\6222k׮褧QT}ǎ WMMܹsB+++YYY+++>oPZZZQ2 zzzB,--!qqqZZZ˖-G $$$6lm8Nߑ~Nox6T" w^Zyw<Ua]KB݅@+8rGQ6jQvժQ0\U6O?$/saNsV 3`eؓ;_j|ą@in2440557nbX,ɓ=իW={!Dڪn݂={V2|Νn:477Ϟ=FDGG:tdɒV4naxx_z[04Zy5X7 3`(Prb6M;Q!L> 3`Sے6-.4q֙hXilCox$?!!A\\\UU5((UIHHCK!wAэf*))&V___FFM"wVTTL>]RR=wލV$33Bյa2A 捸8H<?ҞP8osf O^m palx 6i%bA_iX/$ZksR# 2+!<.dO|ƅiv4n p9@ϫZ7To>qa0Lks'0b.̀U~(G#w6?6hЪQ$x__ |~ߒ+;\/mʶ8izhwWQ2mwW, iŲ:+/?p;n#i111W\uz?+?{^z`sN[[[C2K~]>Ⱦ~mE JJJ\n/A ƥK̙Cè~]>7?B:thҥob:xEOcN֦}V*p&&& +WD4edd^vI+&9g?A_lEFF߶v?nZ%cYwLvG gܵ6Ӽ} 233Ź\??c޾}`0mm۶m_ ك 2}`0 c0w ``0l1 fp; NƆ>IENDB`sphinx-notfound-page-1.0.0/docs/404.rst000066400000000000000000000003301447362433500175650ustar00rootroot00000000000000:orphan: ============= Oh, oh -- 404 ============= We could not find this page!. .. image:: loudly-crying-face.png :align: center Please, try using the links from the sidebar to find what you are looking for. sphinx-notfound-page-1.0.0/docs/Makefile000066400000000000000000000011041447362433500201640ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)sphinx-notfound-page-1.0.0/docs/_static/000077500000000000000000000000001447362433500201565ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/docs/_static/who-is-using-it/000077500000000000000000000000001447362433500231215ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/docs/_static/who-is-using-it/docs.carpentries.org.png000066400000000000000000002051101447362433500276620ustar00rootroot00000000000000PNG  IHDRX zTXtRaw profile type exifxڝk$ /Hb9<#/YU Qa'#ǔCT#Gi΃qjr#\# :SDz;>lϩ'j$46X j[ 4($\]Mݸ&qp幊r=aQ|[Zy#]ķ\wWb~u|C9c-_&ӟ#Eq ХvռsfMIgࡾStm{n)œ2C{I=4:zZ9%Yιv.|iۿlIeYxGTӒ,PZAĚp8Hu7ar/w"RjgėiIAW !yI !۫" 4٧Zʗ zRgcPZp#!+zn#OIwA\ʉr|e3a2ubd 9 ,CV:d)U’|@a462dܔ{o=쾧f9̠w, Rnobϵ2d@"o]CHWh[X:)= >fiHqB+OyDɏ]鹼E3C>צHro_2RbBX#hQ)?䦸Szahؽ-SH!cD G:MNt D ZGU*mepf'_'Z8wlg!%tMl-5q"i軚2|悥W*>D~bQ #QACDf5D{{ b}B?{66-JjGo ~B|XJC ZT7{Y0n`#&wc'e0bHho ח3:&{uGK@>2Ez|a#:U͈FYz5@BNq=*94}+MW~HוSG7u'c8`esm"u٣ojVBPRp'܆Jsgw}RC8OraS0[(ٙ9{` $ҭPd6v, qY"Eh)^W荼'o(D dBMݟz8ǵ Ba*4^b q Rt|+93>ȧ t4 }1(SsBITO IDATxyxǵ諺{{h_.!! Ub/y8q7ۉ{/uqpb'xc!@$!$І.mFьfG0^ PSխ:;;;Ded2dY޲`0! A,oq`0 sc `0_ 4`0 R``0̗&(( pQ\dYVm>? ]!$oͨKŢBt,_(z %`0 ߐk4ȲL4EQ,˲,IF#I(Bh0DQ27ZT,چ|>UoTaD'`0 sMIFK:]^^~]wvYwi0|>_xx8MөhTj4LE;vnO2b^$4$j\II mmm111HB^_]]?m4I4 '(JEYu:]YY:u$I Ed@#h>>11(jkk۵k޽{!㸘_W/^@֭h4 thFaY6>>?ann.&IBA@)KA ES' &)++kʕSLyGn݊G~}ф3 <@׳,˲l (J@Q@$a+U9a̘1KѨK0 YEVd2M81$$b0u%(Pn޼yEeY?UUU믻\Vo A`ɓWyaY/^̲{WYYYTT*A <4Ͳn!=ztBBªUz{{Fdjkk:k֬so۲eҥK>SOY9s|9sL0w43( eU  /XqdD,˪E8a!q(*PN(4 h8Gc6 rt! L&!h`6{ A8eu: (Tum,X1A 'IS<07/Xup 51⨚4IͰfER&uPK@)DQDE41ɓcƌzh4(9Ij`9"ˁ3BZU|%R3CrN$IYVF5J$4$/_H ) |Upp ;C1(ڣmbD#sX0c IP% *jnJuFTEc|p` &lшDU~RDC5礮.(BӚ>o 5l+sG2JOn:`n)Ҡ~9 ~8BR:'lڿ_(.|ɿ,+$ImmYfgZZZb"nw\ !33'`0[kw7_s5O;=> +C (ofss3ʈ-# s@Ps&O.}3GL,"AӼ2c0 4`=dY6&a􎮁&VK. 999z>))I]`0`mLy1Y(2 |y`077xM4`>a4Z-E3O@s) skǠY>6>Qj. e? Ȓ`Ea`0[^i àLjJGI rD @QA@qA+N@$Q0$^a `ninlA$պvZOnFEQk4e`0 @Q W%\߀`0[XE|;w[Z($ 뮻eYя~tҥ/fgg_>::zҥ / |h3re`0B($IysçFcVHz=xY^^~СE5iY^m`0oFW@l@5@Yz.+44i+ s!a>DZ,-7`0fPhX`0 r3+ .|Ij`A-ߋ_i| s >1`P$IW`0 k `1A$V0`s%Xi| ~G`0 sb#ɏ`07>Oi&![dE$`0lAQuIӤd``0| + CQ98+Bb{w@aE;!Relr`0ug +@!;aQNlEc5BW|ya1f/ Ҡ(`?vɹ,765!*EQbAhQOT@u'sPRȐ. SlF /*܀`0ȿ( Q9X߿,/6%&T Ho>}R( P" -&óERd`0ӅeEdY+nLHGraeYnjj988T>"IQ)DݥIw`* ~Qrq$шt:G-ppp.K @@QN$}< SSSv%Ir\0phh_dr"k`0cM=CADA58˲@777… l6*k׮aI%I:{,EQӦM(Ht)gZO>!loo3fLTT^*Jޑ!ÅX^q7a0 BKz~^w޽ ===,8Df͚h̙9s=h4~흝N5kVFFFQ+®DQ8Ij`#+ Q-ZF ; hZ>oرuuuNS N]]]NSQEQD^ aۻL&P[[0}}}ק7$|e3ru$IEQ:6ECeQCQt s B>hKRn i5h$Eutt\)SDDDtuuiڨ(Y,˶fBQj(flL$;::rssZ[[4Mfee BM5<>‰E0 0̵@I$IEgOh4EAos $Iޔ."ot`gg'RPDtgs@EQ"˯y?xψz y~ѢE^W@V뜜EQ<+**귿-Rxy晦&dzgϞ_~Y՞8qLM>l6ݰaj?8!,**:z`@ dze˖_|1>>~olA?I|饗z-$mFQTSSSnnnttڵk׮] E122OSvv6;{hܽ{wss޷o_BB±cǼ^byǍp8?`0|>4Moܸq`` &&&== _*/I`طo͛;::H}=gF4__fڳgO]]n={-[ ?/~Q^^jܹs{9a9vE)RRRSSS?,_I|ǿ===E{vMNgFF~۷ (b2~͘1驧jjjX,6j sk6X0/2̋5NeInd$YEyE`>~ժU(>6d2555Y&77k}}?aÆUVkg?]hѴi?5j֭~/|q -^۸qի}٧~zʔ)ӧO*//_b}݇," BDDĪU{;w.[ @Q?~744\rӦM_jʕ+nj3qDQwq=,[_.))ygիWs̙;w$I //j;g}gf„ j}} k׮}oݺu֬Y'Oήz饗nK/{<_>}mPX[n0g+ BY~^V㦿c @w1 ZDqv,iӦtݻw(/ZmbbbMM /0~zGԩSv?zY|ӧO[IDd hllt\˖-KMMɺ Ü={60 yfq@ , w( y "##G}СS;e١!@dd/xԩN`0Y'O{)]RR!,,,a=q2{F<88 êUN>vZ׫j9| Ν8n̙ v;AΝFSSSEQ4EƴaQ/^l4.]}vd 1c;SYYQYYo>;jԨ;v eҥKVuӦM{oD kpUF/웸PBu{<e <Ah~W6nx>f=cWuNA EQ3 EQ\z|lA0H/Q# ~?I===G1 (( Tò,Oe'.멧pB~~`@]͜9ĉUUUIIIcǎI IDATyy$dYf ,, eJEr'IG׫Q+PA0 $I0FA;sssΝ;xf̘"Blld$1 \ oơBq+x'AhCʲ̲,<fYQM6͘1G{GϜ9 BS+ (shh(<<|```׮]o&cYb,ڊf ,GEEoԩV`0˝.\ KLLaiiltUUUZii<|nnnLL>둿%K ղ,MKKM@桡!0lUUUbbŋ5ͩSƎ{=<ۧ(ʒ%Ki̙}ٳg̙#IҸq󋊊~gee=3SN=zի'O\RRBd}}}yyb_CasB䡟rp~N{Lh,< Zbڴi6-|{U"tDj%Wv |H׋hCgf`>Fr "^_ \G2ȭ>ddF rY"qرF; ȄR,4 H]>)STUUϟ??>>^$鯎vji::V m1EAp;vHMM6mZp$BѨ 2M#: r.utF18Őx$򰠣$Iw$vpе(Q"Pz=r'ԟ8(1 7$EBH^Dp@uS ueKuuA=k׮ݾo߾ f(T/ADhh(qׯ7+W|8\joA~H޷o_llO>iX`ObAFtj3;sT1>"Ppu!mu[o| V2!߿2`2=md2+CO|4}X;%ЗFʼn`=qy0k 0#,_x RZ핦o4c0-V0)—m}5g`]߽UQ1 f+ `0̗- B (B ;3 IBEVYV $InIKH@(2>9' @,E,\&M"@'$!IR~<@$`0 JA@@P@cZNjLZ$}a J@jz&%gZ 4?󹇁(dZIR(h @W$YgdY{> j~?jiY}C>FdX# Zm`0 u<RR",'Iރ̜ۧZ68}ik3-)1< Oצf޹x7bA>>%9bq]*[ o-. RCcg J|FwsVaj(9uؑꬼX-c{y¼(@(=s &`1̟7v* CB'#CR#yA" pgyF `*Wi !%9gnkw}9ry`VU%լ2rqz*yiR",lQ rbJrlkwLJsbc7A;&O*/iیr>W~Ϛ='bֽʃ 7p~٤]4FT) Nܹx<ь+-5Aq'K=C>$`0_ZJÁe'>zw$7wԔ7]ggjmw;Y>5ȱ.gw%Iqw.pXfn}nHm"9cdݱt />QP?[\.(ޢu}mI/ 8 AY3y+а$@e%,T|Rc1  | >:=HPzQKX z܌ 9`LFd{4>鉧LJ9g{\'CWAGC._,-xN0B$kBNԟh飷{<~ H0Y5v R$i2iARY$A4  m4,!Z I`+`0_* k<@B,f]k{wN=S ʛz;I'Kc5VQZ@x9ِ$ ϻPIk7>gުjŬ:%Iݽ.aƅwz"|>^ /=P[56{$ȔQWtBᴌQC@bb8HIR261`0 {BƤ۶LjR?_}c'ݿ{&~6S}>5OJ9-#O?xq+{hvGe^ydj$I( syyw- /~yk w#)߼3~R? @?F+(~dx8@Qy;;u?ԫji۾No_#YT= |`*EQke !Pg nFhj$I@@3^Quuctu8ZQ( zfu(n4tmVG$I2E|RBbCC~k1f6ήJCQěFo o [[o\ V4|AH@=itOʲ\a!P@Q{\he^t>Pg{\e~:,)Ѽ 54EQFC Y RJK,$)BeYX70i @ HB7 Z[MEa_XW2bA?3xdYh4hcז=MEؿy_j9ZK-Žc6_RдO3 EP:(^4 qCBXL@B$O4m0ARɲJPw,̀8EQJ^m#ITaյouQϗ$ 7՗#[ubQu'zi"F}$9BmZ<{SmW^(I*Ѣ! ZqM# 4X{$Q{?QPW:P G%CU9$Qi(^u]vj4vv;˲h f^.QH<$3@EQXGjny^N UU8ujHWiň{wSUEENG~ a*0qA}|UHJue|eH}-!JVbDo@ BYYY9f$IDojж(h@@?J&GttjUB2I4\qQ蝋Q}Sm۶,F.WE P-\e$y?~xrr֭[nwRR2 n/AǏF' nQ[1XuS>duUQ&VTTa6 h hԨQIIIY8AjCTPi'O,//w\.\`f7+.Ip $I#$$^\\$I>}&==;,9ɓٯ* 11q=RE>#[˕=yyy(A!]pɓ(?>11… 'NhiiIIIW6vÆ 뛼7BQJ1xK X;Y}G~??n8RRRr|~ayw:tΞ=$C,[XXb8k֬I&~$nÇm6[aa!q{Eqܸq[lX,+VeԩSiii, PQQx.\ߒ%KZZZ$I=zcƎk4It8j ,驩qݳg68pp̚5bڵK zȜ{nw}ϟ=ztkkcRSSV .]j0Μ9[o\ŋ ;zh{{y4MuuMJJT;(//{}>ݻ###ӧO/--mkk3gd*++z`0vmH̛7~ &PNϏ8x+,,4Li^wĉgϞtK,!Id2%$$>}://=]]]===)))wt .lmmu:111QQQ>}z```pppΜ9&MmhhNMM*))q8H3#v=zod2?EG7 VBsC͞={``Pݻw{޹scǎy<EQ.\YTTd㐽zU.1"IRkkǭV+˲z̙3ǎk׮mkkl;v8qDIIIFFIk֬QokfƍN399ڵ6ѣǏ7>o͚5FjϞ=;vziii DFF;nOLyyyCOV.+99ɓtzálذ!<<|Ϟ=.]|>ô={CoN$ ,,,>>>##C$AloG9r(֬Yc#"":::N>]VV*۶mCߣ| 999[l|oiي>sNz\YY !5}{#""fejѨONQ(Fl61eʔ9sYֺԸ\ǃh4vdQACl]]!//YD;i6/^6mZFFFbbbwww__l=ztjj*2X,Ԙ Ѐ:jܸqaaaӦM4i(l6CCBBq\AAҥK,Xuϙ3p8qeeeǻ\.:j(r$I'OʲlF1-- }##""=V5**jhhݣѣG'''_|oƌz^š!gϞ.|Ǐ1c`ʚ8qbEE˗iiiA,KjE`HkCw„ EEECCCA ^i'ONLLlnnt+WD]hZdXAlƍۺu:u**󅄄@-h<ϟ;wh4j3f455jOgcǎU}bccZp >}zFFFBBBww7`cǎ(Jz4K.y睓&Me####777'' pvUJO<A<#<@HHz,l{߿`0Lv[ZZAG~̜9ٳ4MBp8Vkll, 222666::z֭===eX IDATE8qbhhW_}`0|>EPEE{wo4t:]MMMwwNKK(>&y!Y>p9s̙3+) fKNN>u;c2T:˅QAa(B;ϟ?,I9+**:m}>|7---uuueee(FDDDDDAT0Tet233eY EnI&y˲N:v,4MtuuO nIyc!;wMJJjnnnkkWnAØ1cE b/\pYj4z`0 ŕްl$]p5y0̥Kn7ꐤ$d\!"22WQ^~eduE<]W07!8BI à8e68;wbAom4d`(--IIIZ6)))++ 9}'Nt:GP2H4-©ShfYvٲe&$$$''8qbѢEʕ+eYX,Ѩ- à>v-ZGdBBEQ111Fd2EGGKd2`BBBdd$r$3&!!i Z[[,Y0LAANNNnN bfee&&&L&$N?~رcih4H'뮻 ]&;Ύ˗,tBDzzzfffbbbEEVMNN B h޹srWYYlE(?33322244422(ԙ)))QQQYYY>ZUUEĸq Z6333""d2wvv$|y$ll$Itvv&%%GEEQeXrssx6-$$ɓfjll0aByyypEEE޽{ҥ)))֭2e MȨV]`l@x∈I._ 2k4QF!iǝ={d2egglRYGpܹyu\~ֽz#H{Hz-VX%vĎc;%q=RK\%Q% hD% ,oa@-PܙwΜ9s… n;˕UUU_Euuu555mmmUUU>3 SYY-f&''~Ųluu5EQ555dwcII@o bypN'ùS)80}LUչT"?9#;~IxU(E'xY4;/ r}7aYf_Q`~3Rd'tG*Oq+U wyg7l3/ۖT*ŬV%K 93g|~|ss5p#8 84MýXQFzd0}L_pJM7$Νn:y 8n7v0+iϘk߳0LH߹ts "MpgE|3Ys`x=h(3Gy `ڗ bƽf;³r9?!]pu@ ]v<Ÿ>csfg^1Sϕ_ A՛AӴ1x m{@<k|iOvƕ٣ȸ]F g?q[hHoMbCxx__rEHrf/ӤىUU]UUW槡%_?o32Α>/QK]9ಏl_]e^i</NSkvvlw٧<3p:g +%1xWo Ӹ9FeZd&A\!#/ķ!sG4q\i6 k\3 5$m!@v c'LMS~XydHV,дk FJ2vB!BU"(4v};s@ıu]e9i;1v/@ #9#fyFJBjp\FfyFeB 40o "I5x@.-&OlB: ep$L,RR\pMH!3 dbs iJˊȳQM( inДYTۇ⋏>(64:H$~#L wW  {۞zKwdSgG ij+UM?8붌ŎV%ua} C[ƳYHzڊ Eϵ#w(_!>x|IV;˗sJܶ@QSXoOض,C:6XRd]Rul,Sc|7a8~)>} H$hѢe˖@ m\QɌ)smWHيlv E"1#%S?8L k+d_8#xDB8"7\UU͛dɒ5k d2mڴiʕx<$\@ 9?eoQw߶ dCYWQem nX@HvX^~M ݕ5+V^LVR2gwx/v{Z-pŗ/|/7l\W( hișQTsKzL<6V,)޻#m^I"zˠ:8khhEX\.jkkÁ8@» x5NK|jƋ41&YBc+hx`8Xyƿ(xmKW-/y Ǐ -ڽfˮZe fz[ji F١hY=w-a*OD屏ow?qfſfE=nڴe1?N%ãqg5}_h>8N|;@ < BizSm.-?=dkX<7^) m$Blw_px8VQ8>||0H9h6͜o0"˚ݓm F6ge%ggFnK]Pf*+Ah NB˥oy`qd%B FHAimȏoV@ o1W=)Ϛvc뒡K ZGh׮b!G̯%-2kQ^2Z?A rb@ 5A@ @ \Dh pM\Д )S4S~4 \)Mip4 3QgG-@ o-$4di&4u6)1pvsNT@Ne8̹ 49#@6ll,4 -po_ 00~]gؾ!Y1<%gVlۼH4") PUUM1w:Wl( Jܽw,x/O?~{o{T޳.ܾwhR{DzҪ6%Yǚ3<HfY%I_20|?=8<)+(>~o_=鰛ԭt}__,,r}}ϲ (ڭj<7gM,vA `.hE_nC\N>볼<}qEmþ;ؾ|c}`a[V}KߪBH4B:Ϟ>em 4MɲtXK],c7'?uc'z~7/j1g!ňRT谘_n7{:{nXwxo9߃ GR6ߟ۷k~E$@ qtZj~=Xw_>r zc(B 0!aTUb<ϛfMӌhKa^l~.\weYR4`OEZ͘,4Β_DnFW-svqA)ѵiziخ 4Mq=sR5v#8_73qt]uFW@a2Y&8_c̺uO$MC񶶡 MHr#H&+b'O_Hij,ζTrsm>{p$=6'G"D6Lk&E鑑pKPɾTxT7))xիkط$JX g[:G'' pgϜ9qYB8 x2t\31% IDAT0L6mmm|\r=Έ$&5^CG a p22@QQ*S%r[[А4͓Νd24Mra2Lkkk x< 4=::.baaVjFіP(TPP;7@ 2:::44 EQd2. q`)hc0lkk:(#_{yHRfa%IӉcya|m… ~pp0H$I, J]pиKC7k4*4H$X55.4MjZh?{f^/^UB\prh5ǁEi2mt#Ni<P"X,j1ZN$:_n Nfhp |"eYEQn͆F5;鞞`0hy2g#iAkB0yzg&&o<{1 V?qP&0}cxrL6+'4]xeg&'~D^iB, r0to_d23YLƏ:9:5|W#czR7󽝣'w Q; dMHx"2'^ho8FoЀIt2{UXX yD",˲,(itZEQ (4MKN3LII(DBD:;;+++5M8) ba'N0 cX::: >\WW788fv/׷|r8 驭w BgϞ=lO&%%%'Nha֚fp8KSuAz{{ihhbn&"L&&GFF>\]]-B"(++f$ * 9#J wMǩ*IR6! :u 7$b1I&(fg<_9d2566Օ?eYAxE1 gL&g0\_a&Hhf2TUu=LrCXu\h4qVr9YM&@GGGii)'&&Ap8H!|XQEQn֖NB>>66`a:v8haX,K/1ﯨ0l ˖-n/\tfYGtqqqqqC<O& }Y}(pQ߿xbe񸪪K,FCCClڴ뺮ixiinv,K~aEEEuu5 sp*BHt_YYYuuuCCC:Xn]:NRxZ5L>/gٲ2cki]w=::&Ll6{---6mڹs'EQ===vۦMZZZDaa]$Hl}>cccoٲeUUU .ĂW:e9***o߾p8rv'\L&~ONN=2t:OP(ҲsNhmmEq۶mx1`9ohi Jnq߾}D"t,KC1&ipp7(I$IŸq 2Mfsqqc֯__^^n,늢,Xv;vnҥ&FUB)"I(2azzzB ˷o~^x{vKg 7o^yy,%J?~<Xւx4 oF<( +Q<α@( uT|Q%Iƒ0!nÀa\,w:F篩pV ֚HU$yΛ7o遁 \.V㳭eX,V^^ngaxҥGq8Wnkk+--㍨ss'eY٬(*<d2QD"/^֭Ú*vܙL&'''Xh4ZZZz,|֎L&zv;B@@UVH$aΜ93::N+++UUr8?W&O<gyB811 ,<<D ~mmm:㵵mmm4Mc[QDBjųW6ŃLNNfY9>>nݺ@ Jx\.p8BUUUEUUUuttd2X,`0L<4L(VVV66I&xXﯯyt͖F.\x``0,xspdddÆ x׶̙3###Nۢߏ;hhl64p8NgGGGqqq4zŝ7K B˲nzCȻx@a:~(,C_=@G.C\ؘK$͆@xb< /TUUUWWc#UUׯ_/˲Q&0Gnڴ6ĊDif4, ޡH&n/Ltrix"n4 ֠i ,4w^LJ4McA6d!p8x!b&Yf %bUU9öxQhH8"!;_l6kEfFq 8H>wrBwLR :4(J2OVQKxl6ɲT*eh\pCfx LkGpA3+ٌ5,n8<U6Zmd2.FBjwF]׿_zz]FPQl\9c"c^]6'٥]W- `NM\.ˇ{?{^U'{ !Ȟ"=g~ү  C &Nבa~='MO셟SC'uly?fpp3=ܙc/;J\,1 .3cs[My l<_Iwq_BOi뷕K 7s&iN;/ۿؖW<ԩ)ϿԶlie&+wگ|/ N%:RTf3x-J`(ɲn|=~NU()0{گ~vN 4Mrrq3NT(NK JKruԅTZ,-v9;?pgT 5޵ȑ#---oXY}ŋس(سP*d2X 6L$J8Fؙih"rd2EֆeÑ)p)/.-r9\p8Ѓ@ nxܞБj GgOZYm{W|ncX w^zG LXH'_z}ޓUU @< f}G Oէ .-|+O.l(;k9g V+ wtWo}]wx~?=XFUթpЯC&\|jdd$q;% bX,xmvYA2jrWC4Ma)Z[[$v`FخB]u]]]]eee~jj… !{IeRTYYY:noo۷oojjھ}{&X`Dcǎ۷o?x 7e˖a%ێeGpΑN8QRRL&wޮiZii8aիW@ K#$)juv[à EE,%1 @#lVG]ccd*m뢾oo"0ꏄiQt ,o-,+.r|燯BQMGVϟ7 *h`0M>UX䏏p,P¸mGln-x2rE$ o >}{zgϞ(رӷ~{4MӉDbӦM ]q,}%I`޼y֭knnx<>o|tvv&%K466LEm޼9 \{x뫨{EkV^^*vb q$p8n۶… k.> IDATXܹs->T*^̮]<ϑ#G(x< x- F ,Yܹs5o__ ?@FኚkbzƐ̼ho $lM>`|Дl'9;p7txPZO&Z4 s>`|41BbM,mMVha9!'69LVͯΚlxtd Dݛ֕\F~eeesss0,**}# l֧G+E4B `J#BMӲ,Xc kD7͚f ! A%'4;<֣(dpOY$ڀ?Fxa :U%t{0t:!#pBP\k&+QޛӱN'vl܀C`D>p:N$Bap`O_\mbZtxr=cX>lϮeSDâʧ&8'غ}nbj׎n^|O>|ˡCܽOYj%-mCd-޵! Ap?h)N$@ -4>}:IVuM),kf3<{hiehvw#u5%&7ZgO9JJ]}VhAUU!)*`P?>7n=x108fŮ"DVNBy\몪V2I)>=蓐7 q˞wBJkHϗO|yoA k }PPPtkj&(eyǼ}w'9Y2זLbDtnڸpy]nTZXLM'[Ek4 w/|ӷ JJ\P.˪jN&2ufv$&J`WK 8y[À) _^  pk;#4'WĵC3!040}ْ> bK̻Mw/pu2ib9NqF!OF3 @3 `WB ̜BthSmѢBs=IMLwOXX0 BHӔQyvJ}NH4vem,أ%nQH*czj01aLiD@(B hPn^4 e2.EiiiQUMG*%8W:Ə[C tsmNCMQ4m R t@3R`+P4Lr4C%i)1 Pt b|Ӹ&B[@ w@xqy3Έm7fU%I DlP8VUzʫ cѫ%YMw`7iٱ@o2o]s! ˱#H4'Rsp(S#Dc˲_D1Z怤JO[^!?!HkC_{eU,yS$Iǭ>!372[ _۴(c,ir8=Oue ɣo!)))oٲeŊr3-u]WURبzAAAvvv]]][[ۜ9s,[, hjj,+77RQQ[\\}֭xq7ʲёRUU%BFFFFFƆ @7TVV׏3&%%eڵKH2?ͣ%*&jAeNGn+Lfh=Zɛ` :Z*d%l¨c'CPIJR ۚ=I Mfh榎,oZQb6o9*1)ϯw1:_1YUvUbIIk>B^!(S5IEY=OOKGDJH*G%QQ%O_K0T,IJ$0AZ@c$'է4K?czyyyyyC&,xRiZ^^^IIIvv64''' 566Bۛ333{{{E)((())ɱ,kƌcƌu\^vɄXS{`HW5_>ث(K&7nnBzFzRɆeْ+~2|h ea[P(FEs?UZZ:hРÇ:ͮLHH1cFqqqMM\!0!cxYٌBRoV{|s?U3cVˑp$)Sn*6ooihW}0 cԩǎ ۷oߔ)S.]ZUU {{{sssm۞;wnvva{$ISN8p ;;{~߽o 8qbiiiuuufff]]]}}<*5Gf !ӲTIRF';rSƮ"{ŦÝue%,DD XJ?mhDʸ %xzc1|Ic4 ct|[sbwM#ckkzr;{7gt輪ի\q$ðݻ\@$I$"Oihz7_zdCmGEQ@nٲ6558q"55jwtlYmC}}}}}}@1(+ >Db/M<5  aPO$+OhMǝ`;v1nܸ`I&ڵk͚5C z BMaÆYUVVD<ĉ\RRrĉr)bYYَ;JJJ$IJMM!11-,;%ȹR+7X[چH%JmT0%cǷH*a$x䃯> MB0c {ʞk=Q!{š &5Gw=SF.O({'C{d{ﮆSg?8?1p(Hgߏ~z:naz4 z^;q`$qg6pozw{v;@pBH(I*M U$0EQ. ۶#Imۦi 4{<{>Y s(4MUx<.;}nݺ"I۷d!w$0vlj,#2ƈmc}:&ȶF&$B1# ,|͛UU5M*!$ZʶmA(m˲8N8z ` l4 N/aNq+k۶}ze1S$=l8MR)ccLb88Rj-#cDĎEF=w,IFY:G2"`a;PD"EUHD8NMMͰaDQtjkjՁ; }>qI6)?~|cZ441vk SBE!" z:yс>N&R0j<1DSFcQAJr "bJBMR3^4|jh@ae#2@ c (u/-sw$SJ߰ P͡OZ$DK l?V4\0i;E@ DQH$ȝrf ʘ"[[ ~Meo?;0d ^//JkƘcQtxzo780PNg| Etxƹ{wλ5|S<!1FŢYT QD,K񻪕 wٽp!KܽŤ"|";0 w:Wр0c!-/B@g$%{m]^wi>dv A8gPZqȱƕWNe vޱfS ewR}-w-z`WpaC&zڶ[n{oݡ#%cӲ܎@7@btVs0]+Qu?dq܇^ 3ʶ`UuˠTE~kUM:X^{̙5b)Q#r&- ցS *Oݼa_ZXPzˍf̝5#G>xeӦ 1~V_@[d߾2779IrƎ{]{j Aqw}`р1VLڰsOZV¿v̝=23~ZU_daɺsgSzaاO?nZNK[oeusooTQĝ셓 yF|G/N?]^w݋-iKJ> _DPcc&=f8.sihrSs7Bʢ DINhiN%<#U<yťե3QclqsƊʊ@@o\lY}4vLڂԜD^;|-sz>`H$ xd߸lQi13qq+X4PʀG.+ ϗutV5O7(cPF7tUS{# -*kB̐%᱿wv19ɻncŷܜ#D(~[%Eg(RqbI$玌ǭd__3iyF[;zTN`o4;79%ɷ{ˋ/78㸏\2"lZyi,K)}1w߱t~IZy3# H_|W^6i"?3^ync|~(+N$'"L|WlɅKbQ#<3{ƈg7ջ.5caYU-]3xysGWmF?O(S.9sxy40ndf'ɲC02fR?N5tQ(ضQy IDATI$PL 4- Ӷm Yi2HMA CeIlqz8H$'y{)i)~M)A˦oOq)Oçy4 Wi1dI`G ި" LBqjhba-qC:D@c(@[p=( @Wƌ`Pe BHq]x)R&Iĭ  i#Yv0ٔ !8 sLy"^+pqC 'q8EE 0X4*}]6? =~80λz!n*V#AۢRn@@6!Cg~n;1rc޹v8)Jc1b cq(q;*pn:=9rsqrLD0,Fc9G]R%rhD Ed~$AQcPLdq/ h*˪- _-'` Wv/DZضz]7 f  DQcL `aMxd:6`,5 _u$YcCS7<2QN{Sp(W$ qܧ !+nxP^NG$Mq;vffZeM˱'YV4t/`T8$c I.bʖm`kge7Mknhi*?N^?#+{.%WȲ8fN֮=;?eؒc(c ]~Tkk/&x9D6l:2dpGDIK?nPKK/r(E遆>OuVkBbWEi~`՚ ]aY)ѹqFQyq}Z+ۉ[ţfM}⏷ J7#de&}O SJm4ap8b9p|Qqf$'{'O+:kp#G]|bMm끽}EG$ּu`Ϟa_:G _pH!,߹xVf%ƣ4&MyW q; ˼檩KٶcE0Kdј=ukmK ڲt>eeUP |JT849 Ì ˢk7?ы}8"h;@J6m9VWSjZav$j PVF˜/}f0 $UZ0o+6<;#3/`U돿wMcSOSKOUMKggȝ,1lZW_1Ɔeʮ}tΨ-۫:m} ]A.)ɏ p@oai}>~}ڊ?K mݰ,nX.wԬE&>,k*E;B ]!ݰJOUWSq?1ѳu12pqb :B OVVw_/-{/wfg&bISV^5??e60e >5MEE",* Ԅ`(fY, 9Iz ]6V}*DI tȯ߷|!M[{z*HݺJɤ C+Mj @ȖC%_4(iW9=ſd( }/Hdt.5cw, l/]d|Mm[ѰLٯfe%3gE#9>j!$BEECᐌ%E ŎV6{Sc|I^r јc+R0Wzl uwG:RS|6~ܺף8CmKeƺK F>| swͷz' UźĀ~0,tw֯޵X cD)q}XS0yoah!/.HLn/I v!=nʳlzw|dƣѿ^?򝋮lP8 Q$]m~r_??٫*bU5-_?J^1+b1C~K/teh >]{kAoof$X1zdB]]/꿾lִI# 6o,kR8z??U 4턀}Sܰ^~mOWw8ЎyrU1qtް8 8g46A$ne9CE8%df{ ,6ulGEƘ$Y$Fs )=^%=-/$I%!nX3 d_SseښG!PHhu؍(Qd1nX!@P` JJjdN{G0!y6 :\}͕SvU{ۡ葹wٴCm=2c1%Æd<|Rt8OI(7{w~ xeG$,7kO=w/士"R Y\bLqq::dYʩOc˛/oMʰm98\V(_e!׈, u7^;?{- kLq޾AYCq 7ʻ÷2/FcMߺ~@USXV^1/Uw&qqgI^Ƕҡ?ؽ{sKѹVqbQiZ@c,)'L0dڤ!1 oK‘xeuuWO}mPLU%sqq"ƾY?V*AL70m6q^s8`α!Ͽ8Uq}(h88Ch'NO4`O6ȓ3 Kj;S!0@nPY88n[v뮽mW_۷o<"iw}?nUz^ꣿHC,f;wsGU% TUzkK{G~um_cXMJïoJGWMTxמ3&wZJZOxڟEC̖ɧֺC R,(YZeWIlGS?e76xy^Q.i뱴4=o؟x著Zz5pqYj cmzsM#Ү~G7"yᥝ޵_[&{^-'xOo/9He+otrv@$j$_^NC|=ኣS' S)=̌'d%vvQv`0,53"ɂIiwuXlquL7h1k7V닭^{pceSJÑ8±D@Y}!2xA#~Ue75uʦmm}Hc{XGS|߽K%Ip8hUqqYW5!hLqyZzTU*. KDAG{- uJiSsOo}cad߆MGJ'ʷM2iH[S7/=-JKt_Y_'89ɧǭmQiqrlPJz`lI~Wvs/xҤC?_6k훏ΝQ4ɫɊ,f'˲XږGrìA 5qq ai!C+[ d I)j9}xwOgz<ÎU5ЉݡSEaMT7(eɎPcKҼܔԊvQbgЬP_'zm@"K#JklnkvCŁ'gL1vaQlj [X][ QA}haL8tT0vjkMFy|"$qw+!d6nH"b"UC7!n(^cG`XWBѸHDFbU41& +~R0Q`W$1eW31p L,Ͳl{I8"XE0 Qh)5$8^,2ƌH\(|Qlq܅w͗R@)U#ٝj2)kJU_e (1իRJe"YR=2cPxR|I1JUM@R@KMaUrG9#Dr@)cm,= $`Fk2Z@s qqun7FV 1j3atGv]qmϼ;{^ݻ333b :Yqǝqq܇‹8>^4pq|l>,_V50v1 b>#PqEclD3ߎF4wJ$ y-Fƈ{164mʘ, iڔR$6q>>hlӲȶERJ  UU,6LK(PFz8e3Q^qhWw4mv$0lI,Fɢ@0B"G陉$*m;mA~8GcW;1ky׭ڇ\8$o㍷;W\:Wv%$+׷mkkY~1 3r+WLJhG /y䈜S ][Wۺ?y)5 {=z0ӇOO +;2lDݸw.醙sfT9P33F]^kti'q]x>#K=Y}ka,NHJK 747d(sE<񧗻{Cd1ځS1OZ~zr޻?ʲ 4ap_06s5I76L16aY3yϓHKYwdzQ48 4 5bTnrlG:mc vkk>9J Ң#U-_3\`lIJ >0ں];yYIQ[dusfhiݵv؂O,Y4v:G?9n|ak[ob`y豅I޲m7^;cpaQEBxf^zӴU5y'+HhZ˰k90F@^E?oPE(#HB(+;Ɉ>bݸz̄WLa2/s'N8o<'Qk`Hmɞqq%8wW[jr4fЩ۫:{;Bumxsko/Pk{CB[{_csiT̤cU흡`WgSysۇۃ5,8حރ'{"G+w?1~\ARowyS9ÊrR*N9qqgu"P )Mp(0&*7%Uc&(9[ IDATl{vȎȚ1ң *!,v# H,v [aш@NX@>8>S4iH ,"b wW5` Zw;BQ$Ip;>2n0DQ$ S Ԁ{(uqqc>,g}׌cx쁖3<qqşsq8 q}(/Bg?Dλ{}<8㸳#iZտ5Fnn)enu`e9!J6 +7m65M qwq9O@L<(q(cL"*H%BH$('7ssaiDRUiP~!)~=f$$h 6_qq\r1ñsª79#oqv8STG^ILjw G~xCB@Sdɧ7˗5"#~Ñ "y_e;Uq}2Oeտo\wsGU^u{]쿶iPT/zucxZnm:W,1?}1}ag6!+MTD^1pq✏'ضY\ɉcNj) >(KBFzBܰ0#ǡ( +xX#Q#"߻ku}znK^pwPgDrqEEus輫wt$?/u}^Eh̰,ufaZed%X8e28tUo7^Hʝp'-qq܏'hbgڇ& zzێ^M[DJFY4Od߯ f&֝h,ף(()l%b1# q]4 tu[[#G)ۺ:';iĈ-+_~e7prwtAk SS3y0ۢvVG"H|TQaY^S6gfQgWˈ$ $Dp 8.DcxdF `!(QPm DD TG7!Ud6,0,E!B$'4hl8;O4@5E(Jpw#CUOR6u$QQT_pòhO8㸋ٻ y?+uf46EO6qq,8 q}(h88C9Ϝ!QR0F#wV#!@)cain;݁~M>{wnB`N2ЁNp:= f= tgwwaΜqqY*Biӈ@MEʊ&6 $TàO%QDDI-6,ţXoh( K:5%F!Xi-xU+(c bQɧƂ1J@4mjZ*Q]Y㖨JDaSJ1v20oT)vG~ն) Wo8O,Bi ~品];W]R1۱%K'[ ƞew^Ne[2|AnSKM8rTGjV97meՍ%%zo=*i2c:d%?tj[ g^lxś'- {w4Y}L۽( 6(l ǼtɒGG. u`,'+Pi˱_ٮw}qJgۑI\oq}}! \XӺGꎷrkoqô2&T<*wo}MH_WC+[x&?pߥJm=:8tHGw{"j}窜Nd%[W66jzde%O2'?lc;햹wq5u]z#_yDJc˖OMzÇfL0dE ɓ wlƮ^19!Ο;jʍjt 4Yųמrqg94 dYNkkoeMs__ EOwXpa>~#-?{ʤ¾`+<7_@^>uqc qUqj-^P_9tHH<5!Ѝ₤D7wݛl|k.jƁCJF.(ٰ׬;vZ;8MR$G>p(P !0 c]{j ͘prk[0-5`v4f۸%-z0gh~4fP,}٭G8<)a){ot$ߝϿԴ5{j;c1CS%E[zXijI&Oo+ɟ=/*x=߻Dbg܄ј!#bMIc>ɣɭ}X`ڣߧʮ c|%ֵdkWݴn9"o\lYn1F^"TA `r wɵWM /dܣME78>Y4P*75H$=n>Nյ馽b6y ô^}G7 EG?P*񱷿t|IƌhfPdt(eR0lA*43|LAoO$;?Db$`eKWmxS]յmJ_zmObǶDG}U{_k~6L: "l`CQ/W/6zū"J @HϙSv_c $>+c^g9k_vdk 9Xٰ,3S_(?X9MSNj=_|ӿΎ .!x:b_?xڋ.tfo7gL'w{O|kf ؟g#n[~׷]|*Æ_DU%ҿ dD7~ ~|w0PAi/`GȁH!D "+J8rhx|;Co?-08-. BA4@(X I}!1,d}! )%s"H0B$ƸdjJL6 N` ~iI!1yS"o,~M~=Ko>բL ('90s 爆L"C\BQMPb*Iգ՝$B]Uٳ]=B2djۓ5ٳ]Im1uҡ~dv$޽UxËްwC>OkۏbS˞ݸ_tI'[V_2}==7ki i`:THdmQتeS^rtkzz3}neDž"捪Tk1p䈢5+z)KZ)/*Zbjaa+f}7x]Xr䬘nq߁ڲBP!N?\9oLO6g?\ώp..]]tkϜ58_(3{KsV߽Lڮ8\_9iЕ˦L?ުҒ;N2~ܠW7,.̺tuy$=奓kVNΎpu۳e#GqǴ*x;' {NJ ^ݲoШdm]e]-+.ˇ#6rl!B &Rʆ*!PBK, %_?ֻ沙G7⧏G K]m1?Ϟ1'^oH]y'V$S&!{cV9r',RVII!Ks{\6؉_?!uWy}שC:l^4a=;[2?Ez7]?PmK[";n,_6_-K.އqG+!DYY?}ګf"V-\SיLKNEnB䜼Qƌ*y70o% AbQc{XCC!Y#O]bfJOZoeCFӻ;:wܾ'$R<35e %…,Kv_1ij&Tjjۋ 6>繍[o2h4䩖{>_=pH1Ǖʝت궋).+NeY}kǿo8Tk*%P*>.-)ٱœ _ްs,KL5e)"-_2Ѳܜec4]s-꥟ǟ _tx^K70DsAIz|ɢ ؔ`$Q‚-/23?b9՗ ΊE0\HS4¨i9 xp}Gg6C¾7Fm{;LVUR ,}1mP+T=i}iÿ}hG6*_+x=cEUUk2mqO6|+ˊ_ZJH:m?V=;b-t5M$CQdYfU:cͶL/Xs.8#F(q=2Fc[}Tۗ_4F̗xMa%Ź7X{rI$&+mH<_S.D4DmǫPI$˞}ϗdIm{v..uCQ$lm MUd17[,9|R&mS -H)$L/' wt&[RQY q#q;Ji,ɘNpt(Ԉ]^MSE3,1r !JȞSJLggRj?40]g13ɹu"I5A) vp]_?~KT]\TUI nSs;8<06鏢oϹ"3"mf0l0?1t`5Si`sFYb&4: D,K}oȁQa8 %-C-GnN0 BA4@(gց-8zCrӳS逾 䍟gy{F)}= sDB΃A"82Jqϲ!I Ts(m7qU<B8 :p,qف>B.#G>b۞m\8/!xɾ/Srϲ]Wmip9BHJbQ4Bc,X(IJ=].4]).ʎDƦ.u# tٰDLgHDmOp2Զ -m[34P O֞PI{> ?إ銮+Ex`sJ,)JdSfVv4[Æ A1=;SdITbzZ1M5 !isAʆ&ͮ^=ˌ(,KcI6(nWZ[yߺuPi{?ˊ ^[>eؕܿ:/?wɪ[eyy#5|ڶeK&vm޻&՞cF[y7nZdS ߱}_ai /jjLdO-AG,[eԥq㇮uX>d,;v˂\v USz'wf2-|[*ߝ/cn^d%31Mwlvkj;fȘ%1ݟ%S/'$3=B~&c:Rp5W>+]=)}nY΍7/&Bu/?G3{Dӟ#W_63+'jE"jIqv(Ig#ܽrI1J(%,}5LS$iMils{OnEu?ՕUw/}^3gġ;Wr|7 Obg5W_?QRh锍/lkK̽xJOoզg6jvvdA_O%z*(_5Æ$ƞt겙La~s_jTJq]S/th]fmrW.?eE &c,+np{Sud6<U&)m~vܱwJQB|ߏM&*HQ4rLz߿~*^ٴjjۿ+M&>J)URqHЂ?u-'ZӺ .OL V\H \UW*Z_=gCZcǛKJrD<^euGh2evF#ڋ4e1NO7}ׯ|5&v:c'+[aQJrTpkȠ^zsǏq/*̶C嶷D÷/I$2_loldO"3m갪M/]<]]}cUSuM,]U?O)6w&}Yetueꊃ[Zzr"?cmz>z6>('?o=#o颉G^͍Θ68{qko\d O*.ʒ$<ѣ EٔҬ,Ch,Ӈ6Ξ52//kb7hm B+ѨFi c~Aty?K/<цE3++(2!")%O<_rͥ3? ^>\\G,1B !I3=}jk[3W]۱cw%dcCM0tߡZ2eVWˋ7TkCfqkYïG?|LOzua%Ey 3;޾r謸V]'Uv$0=kO)JDH M"K3`]u}omɪ"!1g+ˁ~1(-\,?|tƙ3khw2([.)?)JϿ|2/3C]?Ή:]@)q]4k𼒒X4,ѕ鼺J1q\QsKrѲW.J9U5ݣ+6jDx%JN@Jgsf 9R^3"},&I˗%DTo;\͞?{(a?]U5q|ѷuiyHM;ϯ%T˽"+s_BQFUE2 Ǵ,/2'1]חehvOQ$ƨ"3+z_e)ݞߺ,K.|g>{Rti AL1e) iH2SUY*RGgF~}yc8BpS.OgJAEaB@:+?.to?m-J nP  B9G4_;:G4x@pBp.8\8poB"H}8a3UضsFsֳ'(Eut1BD%E%!sJ(esIbB`RQ.PB82F5M<_ATʒ$&!TU=3Fe3Ƃ#}SJ;2p[]W| .;A1})$Q?AB0J !FipeD$rOdiKU._$ƔweM;_Zv+W[*ݵu֯>lћ_=mOUR&؊ Sdr=2%M<5=ATUie:w=? )+慯n?a'M4C-7/(,:S !ȸ+ݴZk[TZfԚڎ9vOڵ=YS V"{+T Y$Rjw{3>N"3J)|ϟ6uxvvU2Ғ&K,۽yMHw韍1fEK&/[290xW1$Ɯ9zಡ|dI>ŗϝ5jx\/VPWռjޤՋ?YٲvSS /|ԃG nu+Dt 捫oјËr*[Ʈu73vrf5m갱c:_ljMKMX|Ҕ ]hQ'+[1|ǚtMΕ&=|A.^p=j.pe‚.sg˺ӃJr^{kFDzz2i_|Z ~e'[=q␫mkhyM2$v?+˛[:d#zTSJsjۙDtX,iTɵܺ{:scGԯjLzULz`,1"Jv>x뢜c %٫VLaqcJW,ŵMɔ(u370C.͎\roWuX3}q >E;TWΚ5}$e[O8aH9 M8޸ㅥ9޴#/sgw&ۛzncecS]'BrhBRY(97:UrGV>ZoZnkk╍{j;jj::;Nv:{OjaEU˧ykE*cD Oy۰!sf}}ݝ>v)4k۷nؕ7S 8n}l#640˧:\ZF8~S-/>RՉg{{hDkkKl}մܬH,uu/*}޻Ń& 7mobZGM)cmYbfg'6uXCG/@y1BOVM믙?x% 'D͍$-ێX6ESe"t Ce#T6,eg*ox|C͉F=K-CɉfgY%1`ysHL͉^zڭ7-رT{{r- ]7ẊM޸֛7vJjis;4fLɊ˖N6NӔA9MM]=L"_{͋NшƹX|jwO:;:-ݧN,Z0aC yyxLREkHp^=}jk[3WS۱s)Ai9m/:l+ȏ?뚮J{{}{zzjk:qkxNtάQ>-4lXAcSW]Cgu]5JYWN{RI66ww&]{&7*+ێT4Tv>i{yc?t{Pin&<.37i鯯h8ap4w0F+5=֘khJd:;S .5QScY='i[7NU;|qWL^Uڑ|Ãee[_=^[1m^]kZMg3 Nj D8G튴u+{7<'ep!<{iG6T1el!h& B A`A;B8R6u B7s $^\~n *8…}}nE)x}.xzwN# `%9Ξ$ZTjCcz+Bbшi9lǓ$H$fYnpy+$QI׾#b[$2L1q=Y|~g1fߺߔtfqomǍ)瓗r.2HD+gYVW"dRB3ݩt{(Y9LW_>sɢ ;Yb%T;mn}eΔ>t5MlLٙ|:6ҔR/̚=#oٙ,tHQſ}tK2pΧQVG&VUM{]}Ǥ CnP,XU-IXӀ5 pm%q<2 D,ò]b1ZR$UCq&(JLpAP4s;VD/o9z`bhf$ 7:uM 9q<TU}S4u91m-'jmx$=S.;> BU` s]SB8T *s."1ҷ_ N\Ȓ,鷏n104{u]1R,0tMXL7`0b:BU%!,K4>7cd`;8?αS鿾yugC1ZZBʕm C -r.FW7Oo>n9O/8G4 !tM!$]!a=rhCEaa٢RjۮV0{3Ӥ gL~%1(L8d≮pίZ;w d;~pBvQ< ٢.]<7mJ+Rf 3m*-.ʶmWܜq$Yi:eC rsz6aulJM2w&-Gz%4VMS5g̛3OiUQwZΎL0dO}g7ӑe61'쫞sјܖ~`Qk{ovvdb{9i`r.F}oOF!"1hڿZR/|r }_[]qqQ]#= D"hܵE?m{O]ܙ#^|p2m1JǓeveYھx]3-S{3$ 3F\۶?z1QS)ٍ\?vlhAwO+U[aJsKͮ?qE,WSW9igʊbxO;/[z8LbcQUkQ3ɹN`:GLsi sDDUcI]S E!B`cp^,SJ`uX9S x*  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(^aIDAT  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DhP  BA4@(  DIENDB`sphinx-notfound-page-1.0.0/docs/_static/who-is-using-it/docs.jina.ai.png000066400000000000000000001756651447362433500261130ustar00rootroot00000000000000PNG  IHDRX zTXtRaw profile type exifxڝm(D{@ r@,UuED(ۅ1#3-^ںPM:(Kv[LWiί, /w`ݹ]Iw2d|eX~L%̼Z?w~]IEl8uVAؗ3CÓzz%sN ǽ&Yε4[ysK)|JC%O*|#(_ByMu6{aYZy]whu>y/SW6 YNH%Ovh=j+VN&Z^FuYV^orU?/E܇yB%os+8RW`<^-Ikl="fwںݨGexxʲKN+ʎ*{uW]0jW"?.Nn [ڏ%|Z$.NRՃ휥qyP)|P,seQִy(4Wj/xs]sc ݲ֤L옩ԄW}X:rE4j]I؁q?K]в-m0r< T1kC&ɦ4TlgGsLf5L(m~hEubz-مmm->(09jJK)E՝S*Di Q|2R{vW1I`̵%P.B`J=+(QmĪ@7,s>u I U#@h$d" S?eWpw[M)87Ki\' tn0"DX86Xvե`ŗ )w?L+.znkEWFtOӬ},g)*,%vө_[~EA0"d?D({~PlěeщCh*i0[R (7D 6顺:@;~2r靼 6ʏbdvlq0P>oPDzLUW1E3:'ćM(¶h^(| ټ9$`B"B4Ej 0@ *8B" 49wv奌j2z뮿hw 4I${ ooB! ,JvXzZ}jrhdAcӌG75&M~^c[ BC5hOUtmv}Ռ4c$ B !]Q! v\B> 4N$I."t<$)9fufS=?kLV3o0Y &Kɓll_8ABӕi zؼWь ǪXU1de)!iU+XB U0 $<!EQXc@K:ҀgtF󒔋 7Y(!d `(@GL~]2$ݦLhc hzh__ZN(ݙ5QŲ?!ǖ{ D$,Eċ/ !y!cohY"/2@ҀXTPBP&"B 1osѓ3quJKYؐ{eW^3&4`oBװOΝ]c{(,YA Q eee'Oξ|ѣ2{)JȨT, YHHfZ{gCB; Q=,* MQ>A M{~JNgϼ}0> y4!!?4;I@ رcӦMS(<ϻ$$$L6n )l"EQ+9Hߌu[ DHѢXr\̽y`#J" ƈFC*5 <=[}I}=ܿΤXvSc{HCxI4G4* \VVVUUT*\2p@I_$t?vU=R#AO5* @Jʢ.CX1Z/ w$/[[AXol459;88$5>uy@  /1(JRN%#EQHDütpJ&`@E TQPhiP#Hc$Z*( @ B4fQ#2קOzɤP(<== 9BP &ArtNpdOQ41Pl %UJ!8HE2:9$fNhiAĴ!/Oaա{e}ݡثss$fԨQ;w)+++**9rFDi )'0(}ٯdIDH4#QIsvZiR0֔SHOspvF"J$[v!Inw|Oݮ«MZP@ < |||&Mh 5 EO%m"%RLDm&79hp2fJYJV~O up7i^)J  r@Q*mݿLOnj'iXVEӿào`kk;tAБF#"f Դ׮f%`Q^ zrO"/ٯC(D4h2hP* @BSar<Ѵ%T,+HRuK fI0CHiI a s) !%MS UެhЖ.JeS7GP5uӎկ?nڄo4ls}^K 4EI !B@fQā)4IAMlFIEIQp F_8!,a|;v !u@ Ψ4`VxFMވRDH0zk=<:9f?\iUN2Ci0E4[%/6f̘{v{G mU'N-x":myd2Y,ŕd/wKç|r_____ߓ'O_v@ ~_w#^t6449rdŊ׿&4(R%w>"IJ(J;.2 :BwhArkKIÒ_?r䈽Çl[5}8 `S%AIvvx`F#n$B( , @!SL AL#GdggC/^syzzFJe=4M[,&r,XU(G48{ѣGT*YB%\lyaa„fijŊǏ///W*/ԩSހ*++^{5\l K/DtbbS ?s֮][YYϾ۲!\~ƍKKK-Zq܃!̓" `رc-޿lnmm5W^y!oB֭:'N>5m4lH?~<Σ ֮SNa!m<^( '''%I$'Pu|a6oތz*V egΜٮ^ݼy$IEjCEqڵ R҂onnƆp\λヒ/իW>;{@ <_B8NRa~MM !,m_~ell;#[!D-[bbbh \vm6X4W_>}0k֬ .Y_E[|: tEs~ 3g4 4Mϝ;766bFy敕i4Z zzz~LL&^oiiѷa24ܹs )1bĞ={V\BQԚ5k~'vʲ<!twwgYeYVV_|[jԩSȺut:0'O/(׮]5@ tNģ+_{=z(I 0 /[o?~͛fs]]ߛ6m–-[<-[6͛7Sս{0p˗۷o鷊 !b>}<==̙k׮Yf=XWmJΝ;/·~)_m4?0##cĉqqqǝ8q"006 ̟??+ƈ#vڕz """8'//{ 6L4(yo[e䃒$lSNݶm>XTTR^^a~ϝ;?n4vÃ|<`O/W6{ҥKo˗m6uzuuu999$EEE=9s $ 0^ 8i322mC1655͚5+,,L #GħfϜ9`&22W^ 555rR3 c)/ptttssE?af3pp&L;vM_FJEInzVk }nZ13N Qq/\HJN:s M_VXT*A >ZX~yk׮ay?mڴݻ+ʋ/VVVⳒ$y{{Q,EQbm@DD=΃P(7= &;nbxWU$|ՀB(nذGb ~̲^bccsGip4h^uV٬T*i޳gOAAEQvvvyɬq͝;O>Vy~~~III L:^ꫯ,chW/i?~}}e˰- wwjD<^ EbwJ;6ݘ`pp'|ɩSڝĉnݺ m6'Oqx5Mo@ ,ZHJȲ*=z 6l^R >J;::>۶m۷on݆RMf6+**X7nܺuon00vvv'Nt:Aƌzjڰg=vڵaFھ### O>^#GZ,{k֬7n"22#G/A$ EXXuc;t;;;?c}ѻヒVݻyggiӦ[w_ׅ=!ҏ]1bذaxO?X[[+Bhh3g4Nz!o62,V EQ*]Q ݺu3L*$,,ٳg6""w@ ߆Ӏbd2.]|ڙh DfA<=)fq,XCbZp d@ {#bZoIȆ-5u^^΀RpL~ժ*hlUU.665yzz(MMK3M9y \HN6[, ]ohhQl`H aƥna|lPaAA1r /v S[(/+ 8v8jFggZ|႓SyYV`6]\22yA$r@ ߝ{W(XxMfؤ!Zɿ q:H|>~Ȑ!|VT7n |g^o>axg;٩S.]jggg26o2{lQᇪYf,[[n={4Ǐ/,,y~Μ9vvv{6lؓO>yƍWWװ~رp@ ܔ>MU`AחBJ5{̍7feeue….]vޝxb[[[@t ))111+W=y z}XXomX ,?|},Y痚m۶Cwڅcr$''Y&88ܹsEmذO?}gOhrss=zlٲ%))? jllę‚222ܲ6oill|E333͛7a[[ .DGGڵkSO;::cLLL j999SL2eJZZ˲SL2dȪU"##; @T&%%MܣGg}6((h8]xx1c,Kuu -3@޽{ϟ?0c ZP(233&M0LIIӧ)*//7͵ŸR$Q(P$F7߼fyڵ/^z'kjjN:%b~~>EQJ~ZYYdAO/^@ q+R!@A}~ٳFcddWXm۶#Gmܸq}ٶm۶mq3󳲲L&ZX,ǏxCc7CZ[>}qT*˲JJxW N;s挋 DŨ8^o0yOLL:t(^sk3fx{{;wfa̘1^YY٠A&NtnݺtUV-]@ A%<ѕ~g yӃ_rq#6Ʀ&OOϘyڪT*@eeJrttF *gā߸1 1XG/%5H  J@ ( @  4@+h"ulSt7%!Jã KNh;Q_w6X7vnvuD % FyKF^Vqc! DQ#?Z'i(u>AI*жZ2l4MqZ|" ުʺ xiuI_(x6MuNZS-wMatG&7Un6Ή ,(K._%0Ej0`Qq#:]AF(PւXPS hXpq;vAzdDQ$nxss3.ֶǏLn <v6g _oy41 i D,N#9#CuOn~m!d2N !k]@4M))).\FQѣG7l؀B⪫U-z-|[q(!\r񜜜ok=>a =ںI}{$w`QQŋbccozϟ?f|;p#4w_i}ۍ @-^"4~5@ E%%H"b|((5k K w \xT BIY&_ IJJZvɓ_{w}fÆ (9rٙP<ׯ7LAAAW\Y~}~~~޽/_~Jj_{ׯ_ͽr势?W>sL``FٱcǮ]$IҥK\\\.]8$i߾}qqq&)888;;{۶m%%%4MǏo۶kaaaׯ_E!!!7lpҥǗ}Z[n&iiii={4~mbbb޽O8QRRbccm۶>|8$$DTݻ7!!_ӊ+vѧO>}]699922eY`8rȕ+WhrqqYf͕+Wt:>>>s5C ,ǎ۾}Njoocǎeddfff8p#I6mj ܷoO?#;3dȐHW_}{n| ### ÷~k݅҃:t.<<~Æ vvv:vXIIbYbE^^^TT~o߾jժgyÏ~ޖ/_?vXBǷŋ;vW*Jƾ}vIQC#""X<==Ϝ98ϟϟ?߯_Gᇄ@ w#fԌu`hjt:!IJ  ,f^oX,={ŋGGGc[_}e??~[ӽ/_޶mVBBBz啖wӧOXf…*f6,X`ggj*IVZekk?VWW/<<u;wgڼysݗ.]ZRRaÆ[[ :tܹs6lhii ]xqVV_|]v8p ,,ߖ$)<<\QQQnnniii!!!۷o/,,/dɒ]v8qѣ666ǭ^:==}Ϟ=>>> ,(//O"##/_G)00O>Z?X~ٳg*՝cǎ?~ӦMQQQ+WLMM]lYpppjj^sNNNJJʠA>ӪKj4;wx񢿿RRҁ/_~AT;R-[v…u @7Q#hj5sNӣ6}-))M٣ۄOiM,ԩ$Q>5fm~ZU[v7-}8!]اwdCChtvv۷ױgxL?ǃG@Æ ۵k֭[Gm6ϟ?0 ˲NNNX0={w>ɓM&lkmm5 3f?~|||`P*yzzz{{=:$$_~111ƍõg?c'OQQQG_ׯ2dHll MSN}g"""Ə_[[+?~ĉ555gϞEi4F6mZϞ=EQ$=˲/^|ȑ#ϝ;ҥK___\xRRҤIz)S|ǏHLL7F5v؊ .544L4iy)))3g jZfYC=z„ <$I!!!!N׫W3f}(;w:t(.]>|UF!"޺}={$Jp?ܣ!IJٳ)4CϞ550^  8_GX#**jɒ%wpp 9s`Qb{Jžݿ?0 BثW/F3x`$)۷.^֬Ys1cƸ*s禧;88Ұ :thpp~X\\R(NsLZ=bAgZ(83fĬZ +^|ŋ/Κ5+<<2 @BCC p ]]]GCTVTT,X %%eʔ)JKK+--8p`CCòe˴ZmPPPttʕ+w܉+VV/\WW7i$yYRB1ch4YYY*""d{{{˲zO>5jTju޽======NwmذIV ?|r 4EFq,s(&H<{^GUԁJN:ګ/S(V?.a{9rXoO'"{t-}"%IeWT54 'P,J MMV(9GF'_$!TTt_ߞiY7nTzF7h*<< Gpz+ X/9=,NY|y~.{uaw~EkxBuv͖t@+@  J@ ( @ 6 IDATUh mk[@9xA7{*8nCmS㾔}c/b!BꏲV@{iUDx>馝< `<yfZDEfA4BQ 4*5 5@CxU@˚ ,*paM8rN]p qHC8!_h]/( !DA!4 aB"!@$MQɁGz<~΀w3~YkWuxVJba(J0(X T[h% fIb m1%EtBaXRxXFq$Dr AECE|R%:m} gYBVhpQ*p8J ,GX;v/ț\H֏SKKJyAABr{&?vӺv G('{R0MMNOSrcmahmZBNWTk leޢ[44(Ok9xǯlVk-\^ Ʌ{a[!8 X-vܩLX*X_h ! !CQ-N !!!)))6l$)((h͚5UUUr«n8PT$!Saᄠՙ--=\\MىQPSaZVؔPF 󏕖ru-hj/-myV\Ti0pq1ss۟(+q!!ezVAupX$iի1ׯq$I8)_ 2)8HI x I2BEKɲ2 s^[[zޞ$]w.,qQv\ڵ;)W--eYMLtue4Ǐo޼YӅ%&&|.<Ȉ?=3O=__NDE@k7VV~\2gAƋ<ϙ)D@c.J)Jɍ_;v gv؍^OS{cXUU޷rnM!lٲ[>W_}曕R5557n0ڢ@0JC`0i6+e߯ rݺjZw2 W"b9vzppma]?=8xEIϧbe7Ng &7nٲܹsD"㎏|#%%%{o}c^hG}#ɓ'[nCPOOρLIӔҖo:~x$F_y5kvm/??6lصkܛMyW_}p}}e]Nvy_mll,//߶mۖ-[v5u]RRad$b!M7meeʮ)+^[,/W R?W\+Wm*) gFG&GJP_UV/>c즚ovaqrt^VveYٶRo?;=>%K&'C9uZg J9B$Uʛ98R)o8;:,%Ęe:(Wʸe}bժuj_:}՗Ee- p-[b |ݻwtMyyyޛiԩSJSNɉ8~u݁p8,Bq0rss׮]}o9 @8w]>(wVӧ#H<d2===߬iL&77p۷o_n߿e˖M6yWL2R8ڽ{w駟޲eK< h- uuu۶m馛t][v '9sFqb!DccX2 J)D^^p&ihhH$/.B3^=A\)KU,p ί[TY -Y?ĵx⶚%Kq)\)"KeyyoAJMO~Lf͚57p3<Olܸ1 y*++?>T//~널+Wן:u*9=P$Yz7822}-Ns=wof鑑o%]Ç7bGϦsOIPGJ>i^y)_㭭ccUi~uzd#uuɓq̍55E~?0Br}_?~,@M !+GB)/^VXKbG2Y)ԍ55ޙvR~3!}>\uqn|3gյm6PJq>km}7iW\s]|׮]wqmw_CCwuݍ7.[RK_Ҿ}~MJJJcax31~jkk͛~ӟrrss)@RjRҒRMZޟۦy+\0/˱XlΝsOOO׿ӧO_$|...4[lRSSF?OK9rdϞ=W5㵦fRh2J[s%>W8 u~]&ӑrNy̔\}y44MGP4Im}E㜧ioV]WWWEE{zz~s=yfxIW,.0 Ѥ5N(L$ @@D$ j<8#YPRxeN.Rh´2[ flQJL$ _@Ax(J:Rjt=( 9gBH8ɔX;N+PR g|<ߐBZBpJ!cиF%`"k 1vPP 銐OO֨eV!q0HZ@&] :烩% M%T*U\\H$d29n=*!$beYa8#|D4h4z'!77۶MLѨw侾>BHQQRjr1'HnFWWW,"tvvVTTR)oikx:Cy !ϞiN]r)d2`YVoooUUc=vĉO}S999BD"8NAA7aO788l6M3_S-pYƞ,-Cr'Ћ?^q6y3y' ])dL pBJ++!c̑o:!3: @*@L!8%ՁB)1[J>$(! l*!eN(BIJΘ#LOK-!@(!JopB5Jm)qeKoOvѻfOx%7"/>}wΝM@]rYt &F.8\p熋*4ŧL]pB}Ƌm{[ m^қΛ&04f@(ը~/-2J-dނ@h؎BiЀBi,m!Biن1RNC 13#oަ;>)B!.BkZ@&4PJ)%rbb[UrlqxqlL( k݉aӔ%&ȯi!*B#]m,_J(P2ˢQJpa 24$~q]e%dowCCŋ{5E ZVhK"q7W{[K"]rd[iY?04 *8\-J#eI0b06~΃(sjt$Մ#)q]\-|qn8#%% >w%%3չ#!][z嶠'ؔ?!͙ah@\W^^mH/k ~g0V?< U?=w.8cc"yæ 1q)^VU48c|Y$ouA ݫoYHs\r2O XU}uYA-]JL!ù^kK޼BY.J#8B1]4l!ty;KWRNGhu \JiKI(!gj2N`oGc-e_ \J9ضs΃mXBhȶ˥WwQJ)JWVB q'(Wbzgz{RRJR3ܑR)(%KFW ΋Br56#D-ʏBr5w c>$ BsR! @h@!l!Br Bz!O R)>JGBYi]Tg*4$ @(J@RzewR0wPʫB!4 |ɥ0(ڱMccTE(WʑuA?]W&R(g@T]h!fR~]{=5J~pf4% ϜmO&?|93~:;\]]ÓguORH]^޲H䱦-Z8BYh'$~Oyxсt:n>3c@_O7|d}xCC_;~tQ(ԓL 0?lGѱі#{ ][B9g p1ܺxٱ#C]o#+JK O:U3n[9't$(FU^_YQǍ,ABhvahGRdAӬ hkə9:IV?K#y[x"t'mE _Q\l;/O BVy}~c]aQw.>$d[kg2+F,krsoYhKKk"~ے%~T p$ Ɠlݒ C6B!4eR*e0F8J((] G0B(`;B(R(^{^V#B^RB)B ((!B)6y#!@wwF-)Dax& !fl[cB ^'8^u؊ IDATFy@)D!flC%ՅĀBfe$B!4͖ЀBYCB!CB!CB!CB!CB!CB!CB!CB!CB!%J)@ RRJJTn{Ro"'^zw?AB!.yhPQ vRB}`T8R8>m~C3z‹ 5#Bhƈi93xRJ㬹#6W}饃oX{+73#GT+W,?q1nr 僜A 8rd87'S][/?rd{GetuTe5V-B^7ⷎX?`P׌BF3Eq]?9,L9p:xdë^PwW^}ӎ.%~hR VBw_Vg_]ׂ3*rs}e%?1:dYvNN(O,]Z(꥔!c,p΂ϧ _y5Womo ށs%+[Zcƽ!z7e!ccTLRRWlX|cO<.i`Θ'G~D"iYt]dz{t.xkwn8__x@Kk1 !л} H${ĩ/\zyEy_jxxdŊڀa?"J-YfGN\nunNP3{}d5 &^mBhjNh#\]Ǯ,뽩m+6, s(uݢӣ\ˇMccû[GLsGyyF?]{R+8!DHkk,]յQ;B YPQvfl?=ԝN+Լ4vLßY{Wt-@ :[/>368`Uk*Mg&J4C9g:ǧq!Eh tݸrk]Ami&GنhE_TI PBRi׵$L28@i7CvŽ64m#CvM+鏋Bha*_}XҲv,Zttppgym-^m,_T/N9RA݊S}nlۯV/eGǨe(/pm2?byr|ix=յUj lXBhˮ56`&vu=nYc('Sh0d$sc@&]roE%f!/#78!,mklRBJ \)5JR[r)Rǘj:Rz /Lץ! dJE[bh@!4ehzNXBrY-ɛn7B!4ZBM BM BM BMKV!RzkehBA6Ah~t]odnU"Bs CW7Ӕre,FbW|'8!banz{S:]B!4kpNR10:z.ڥ[[4uq&S$dUBjkLTB"9 :Nh ?Μukr?8p ?kjz`.ք!微wf_WbF)Bhbҳc=n i ɶ/\֚G-! H~յ,/(YFO{{8ts{{|BY)ǹ*Vzƍ:%%HY RSVhK˖ >]qM!Mݻi튅 k@*eK> uRRGJ ;7HC%B-@!Uyo 5y]l!,mEə6%Ė(! Ov  !!ByGB!4-B!4-B!4-B!4-NZ#qQF!擬BT`p J(K2%+ Sw!BhyhJ9omiT, -! m!S J32WI8RRBR BjsXw2זF" |msJόRB:{JiK86 1]2KI.#?N!ץd\בX !f8 >޾%Sϑǎg2XpȞΔ㖇?[qNj/U~ֺ$>:8h 'u}?[4B63im|EE.=;80 _7;K=RW %2?clk0^|3LBhvah`Ma/;ڕRް!;=2t{[(4|I攮)(UK~xuu["yz{RP(0Eȑw@!3@V,/>k4lN3B L&92N/*r\\ڲShKSkb+H[6[56BY.N)@q!!M 뺣]6 cR)cR)[ܰR(He\ !HF䌄U.Poܙt.]MHBY.ۑxcNjn_ӖC 2 B% cBYGB!4-B!4-B!4-iPJ !S{TIBh*4(|Fqg!B)x e"BhyhPJ}U˗R$mgE~~a0BNF-TBR0SBo].9cݩ>ScN >06|:c6i>{ 9grXB3iJqNZR*t򥮞cOΊ<gφ} EўT+R-JN!微Ws_WbFZ !ܒq)0R)S`H*)t|PYNhOWWK"qUi闷lmM]hgt4H||+BQ3 预 e2w%w%duAU\]|ϑ2yܶm)/˟;{7m iڎGv4MlW,!Bs C%tWrŽ5@*y]e)W[VX)J40wa֍r]vw[!ܒUKB@g=0+MR-)өpuRcæ! sP .!fl[cK ΥRRr3K!J)JzbE[bh@!4e[b mxxQ^YoƟ-%cyBs%hV'ގgKBh‘pBM BM BM BMKVA)5YYT [* BC14c@J)?:cByc歱5FFd$l뱦f/=x^k3t 2M5w!2РcȾn3 іfu)R g:ci~Mb6B!4Wd5!iæyjh|xΔc9oӧ|@!D*)aJBh"4(6Owݕv#8Jm((]jC9g:ǧaB!4gd\gGy]߽iSa$]ql @N nҴiڽ6awlBsHV'tƄRc J-(ΩS,Dr5C[Kb~#إ w[(B%خR)1nX{iK@2tE99^LS o!fB!!ęh(\]@*q !f.O(5"$!Ė&@JB`bx3RBh.*4LE oF!\#! ! ! !KR Г#+lB)ٮP~MSJB|w~]WŖQ(" BhNjAU?<}l^;|G'#VSN1W (!R)k e{Bkd5upZB-Yc􅮮Ξ=28g^UWTʑ-08wtPis>jmijRΝ~Mb6B!4Wduy(7nCn +"yCҴ!|ɄmǘR5V Kc?h<+4 @"!DHkk,@ -6!<t2Rv">_{my^C;vL:[ZYSVIw^R>yAi/R +fR:g{pw"i QJ6o?;MrtݕG[q( R)P fvŽ64m#CvM!2.B)z]׎u_[o ?ӧR5VzYA=B*sr3 @]8 !_uu(/w'Nޅ].BfY1֙}A9IKrr!㶝id*sr(!=%Dq 7┆4m ЀBhv*4(|J RRRKJ1B4JM!R>!B)c @H@M\@*洄!,UhMSwxsЀBh˶"$y7{"Bh6/! ! ! !KG(˷?8.@!fV)%3\)J Ru!>[{2KƅA>yXvRd}B!fB)dƖ<mcq|Եtz{Yi²^jY^XR2BRޟP)7^?tpV |ο0EKjhR4uQoBnu?V.Wn}cow75m4O 9v.>BK~lϞ['۸)GW\VTd /%:7]6o:GBb@X\(UgD!4e5q][(0 [zs9M{@'Z]T-[ :R3g:}>Gia״oxOS"38gTO{{8ts{{|7!мUhP~Θsq;gGy]߳qSOw%dma?Gg74WK J p:?OS`MB!Mw& B-%_s]{m_VX:cB)Wʸe9J4zʪ Eo8qUi7OTV煯,-RWʍ%O /. /DtH/7ܵnrL !vTJqzSɽ]]Wz{9!)/C*t(ao2SSʱp()JI8J)s!eO*U;&BzC'MDž xaKB[c+Rsp#%%x)!SJXo9>x3ż"~ŖBr3 &b+7UeVN-4y[łkЀBhjNx0q'o{EB"BhZ04 BhZ04 BhZ04 BhZ04 BhZ04 BhZ04 BhZ04 BhZ04 BhZ04 BhZ04 BhZ JFJҵ܋HxIMe?#UUe޾ի Jh᪕?|k$ē:vʪтH,V:tXEElŊچ3MCC#Rʕk5ֿWTFG|}{ ?)++ݳg_yy#OD ֮Y_OD£#߿AA~~dÆ~ѓG<s%OiL&z>!d9!J.'?p/ .YTQ+JJ+WR)x}k׮OA3-^{X^T7O5:Cg6,S=T2E#y?۰nUb<kjRx[۾ `۶ѝ5 _Ss`xh$-]tIXQ,Lw~#%'OGcx*5H^ucgQG" IDATgD?o}G/="y榶S ,,Ri@! JiL&v^\\JzRp80:<2?TP)**,=lBo~g$hJdos^YYV-D†߈ŊWTjV;:(++Fh`^^,V+5- tG ֔JJJ6_[(!ã}5ՋPKk箝W% BBt!Яk'9BR-L80-'OtP3jٮR|{ǕΈiRSr &Lֲ]9FΧ>Ƀ5s~cr kgp\=BhjɥRJJEBJW'ɛ[M +WA{ ]]p{D5{"oPBGy/;Ƀx!ο){Rn~ЀBh*4KCBYO! ! ! !\z~45!u]~Mco\SjpSzA f:Lb0f+B!njA*EMvm^(gtzܶst4̸.%D*EkZʶRR/=R̫ĠR2@u @q2 2'G(qo"@ B7meR~6Ij ߿o\׸Bf2ܳqi9r܀ ) t'S{:2 AtΔTRu4B]ROe~=/AS;گ(w~ 9`iB CTJgt1֛L.T39mVݷ87|zddwK+rrΌ _ˤon~=?ildb'ZZf땷-]S)!Je+04 Bi@tOB.*@9xC~wɒginK /^{`ۧNӳzQ/vwPʽ_5ᰣ{B!@I1B{8 *wU|fU0gJK˺ɐ]QR^V\ٗ_6]>g§"bOeA7FWGikToB!c# ol5k΍ !(7l@+Me#bwuքs&tqm23uy'Z[~p6ȵ e;%DJx[VWDinf+^Ve$'` B39 !U4X]Pp`_(W6VTJJ@P5\GJkk@q\[UPPHLW*U Σ@q0lq8l JyK``Q0D ]ĂA?J%$T($ӀBh˪˥TS4%D0B4,Ug;u'm! Pǹq'b kr\iv\so-+PJ(#;oN!,mkl\##DL)R23\](uxPA)5v;&v*Brن6goNR04 .Awl@!Мn|ĀB8BiЀBi͆51M7s!\mhPooTǘNTK?bwq!Nzצ*BhVOch okZ{"c$\wRJ*坽n*Rd5zq!>J !Rv&DDz` q@ iJ^@ y|dgy']VJRi[Rv 6`! d $,wn& p' C6Kmݻ־K%j?yE-sN.8z>lTaA`hTpIE!z[WhPZeR6( ҿ=~l,y[e|_# %␇}80 /B,({fp'.K\Y_Ϟ:m'&&ɥv Y YƷϞs];RWU, ;_ t=aPj<$4դ!4!Nltdk2dl8c{vxhx4 ׏/ F9=:>ǟ2Gg+L.>NtهGvUUG= eƶm,O_J)Bh !LɩɉBֶmWϞLR(}drm-|?⊭7zolhܞL~ܹpKnKT/kPjm>ΔJ!K:p.wlvrva>yBb! ZOϾTꯏԼ>42rMCEÜTx@_Y[ё|T:@?82rkK+̌mP.J5Dϝؒfg֭sҖx\5Rsx|fa${hx93okn1SQV!x=5KI) >W.QB~xaٙ_zIM:tlz^:&'S!綖֣͑Po1R1de)vWVKyhjꛛMg3HL1n0vKՌ o0 WZvԄe5E"Mh0 lƶ'gkjbٕ7Gd*>;3{]CþT) sJ;?ߟYʪP. (!wLMjo hC$DcMh²8e74|]7b1 dK<3Yy|nvOUUm(柎zogWxgk[M(,Xx!&.!L$2r¶ N{v^0 —BkXod!BJu z  aq.b _JB^s'ɹ+e``,%dLiJNA/Y6J)q@*8 e_ uYʍcKBܺZckOӋ Z+3YV^bZYrO!˯w)!A!r}+O/iЌRNOS֔#V~\PсB~u04 Vhk!&0sP|$BwFBMGB!*B!*Q 6/!i(9_.J/|%dEF͘͘^ 6ċ0XfpZB! ]=1^(}Ҷ$^*\*+tb(!(h(RjR(\(mńRA+``DPb!JkF)<h8  F\ZG C, v#aB bAiO\W(tslfvsۻ%Z̙\~k"2P#bTSglƋ?|≽թp9qbPܚL<4<|]Uu=Bh[GhlTgrFF?[bb|-Vhs4ށgg{ɸɩjj_8ZkD:{~#c<<6Vj9/(F ͥBINӓ 5 9VW֝KU*a[ϥMNvfgB~㕖R:wq !6uL$ x{Ks7DLC][;[m֒&RtucOGG?lƆwm`ΔfJ 1MFH e1775}["][~o^e-sSݧ/o{l|B^޺pl$خ]g~_*uwO@.3'x˷3DSSmS иJqC||O⇶v=8<@zPҹs+nniȓS)!VibsOf 4GpTgE|4.]URr jN١B~󞘘psv%?Lh.7}&NR{w$+KRҪAW:Σ-ɫz*}}݉_?vBù'x0}թׇ%)wB]8Ȣ~g(deÿ V!1+ŁbR-dk==J]U744̕޹]]_zKS/eS4ή+rCc@6[6e{"‘ijk+ޙ e)}ؼ2 Rs_)SF/wlywN}TJ9ξTu[4 EFTVSKBf]'|Ŭ͔[ͻդ>s e,D ir7{ނ[.KEϛ/?Y,ֆBhҲ])+'].k rY r2gT-MMKؖ7zwT&]wXkup|xbP.wONHxܴBH&#!KZ㉠=h>~a/=oƶD)u8xbujFpڕA)1 s1ιapBm,JiP. hEǚ_t۶-B` ð,X,9y`0eYS( KR$)ErBF4 !b(䘦Y,g,/,2Feٶ#!FYchPJ9''+KcGt9{Pڹӟr(|g< cl'O}wGwۭ7>̵^>?5 ̙PKv}D(d+>_~Ѿ0~Wn'@~湊X޺cc!!Z4Zyann|υ}Cǟ;y^f1 Pгs =dRך[[&TWU6ẮRR\yL&sgm|moַ}쉣ãؿ{'R뮻<+ }3=={v,>&Bh?Զ-JiL&Yfsx(d=z|jzw plo8پ/K !R;x{2?)BhqVZsE IDAT'~b6wϽ^gGuU2ؖT,cliB!6кFR#;WxW__SYBO:`MMMne2Q.CCX<4;=WW_{;ߒHT$14%pȳuM&?~R޼ny뵙łobB&cGOݻ;erbsW\P,ب/!Bvקt t:Fkǧgf-.?c{Wv0۷zwƧjj 4缩1F(J+o֦tUU"5h4"t^) mm. www\u~T]]M<qV_W ш!DI,?y!z k;R1J8#4PO)L ep /֖Ƀ|I J Ji06 Q+lBB8#eO&R )__^BNŢ!6Z+RrTw(PPJ-WnX~e\i`[)M?_n̰T"u{CBMn]m !69?!BhU04 BhU04 BhU04 BhUUIk-xAkd^i/Lџ!o5 $ωB =4hsˆ 1 ]{/Yq'^`A8Z!jix\imRF b q Z+=)zO˧]Yk(唺RrA!ޜdt:}tzC݌R6E&  !͘WSs\:6{bb:>~*N8R(P6l`6kP68=41Gճ30`0O=55e|`qQhmP ;0J{*L"BzRf2?SڿGO'S316 BϳƑ`>lVNϧ# ,Ut7<4/.޵zuuOc<xw{Goz/nTkB5ha0 ffӑΜ jBwut|55&-ޞK*L=qgG{Ys;++/<5=6O\/nBk`|ǟ0}?wTYʤeK!nRS'kB!X %!TUGq2ԡɬVV9{:tW֝]XٙG[b&&y1D9ϛwx]?],R 7$m4k'ώ>.u4_7?<: &G zޢ癔5&,{Pn["+/ 764ͱcGBXגˢmXI]迪 |FPZ5Ee!̚#{h'eBgƳy49vBB*ytb|f- q6G&&߻-/`sRlxdKڜ|ߠT*U @ܲeN7#qG[o>KK&cB8U Ru@*}&i[SGӥx&=TSbe \]YÇFsk&0(d8W*Mٲ9v_l힞/9k2 an {?#c--;T{MNձgoki5(5jNh0Br*zo=5 !JjX%5ԓSZ5D"OLc&c3b*1ZQ c13BIiYʘaaàXP.JLʶ5P*Ph0 ,|,βH$yXYʈaeWʄe -=oTj&lXBh[WhXIkBҚ&tt͍M|))K KŸJj͂,SjmQ*RF)`a/.ԚS)K1sqZsJ9e)_1 !6iJ\Pry*O/XqW?y+?CBMn]eF[j7^Wx%$;+B /B7 G!Ъ`h@!Ъ`h@!ЪơA?)B!6  L++&QBll`zQm&5 q"B/'jHE!"AlB!R렃vpf&ߗ-$XbZ:@*E !JҚ( Q+>%8rP RB #yE!*LS(|rRBQBB*l?~:JX5u!-/ed|+OQB>ԽSyX\],)gfЪcAJ֚0(h|Oq=q 'H(''ÑswvtX^p_af E 'ؽ> RBozOZY?6>!YtG~44e}GFÑ 2 ߞyv&ojnܹeGw::5=U,+|awux>'O<djccw?91YoV; 3N]Zzb|*bQ1F?:UGnI$jC NSU}p|GCOOOשּׁ0J3ٓ|!X4J^@QRǀBhsZ{h! %G&Lz2#33W;8YQq!]#oko-y~]8|k{i_kcՎ%JM?55uohhK<޳0M{*s~uOU=UUOLN+{/-x0B`BfyO.f2#1w隺vvJ.fmgWee]8vvv1̲&5PC("+stuouu}.͢-as#&g8! 14HA'g2u|-Ij?c\^J=|t}}`v1(233'&ޮ._;8p]Cwzȑ>77S9tu3,ڙ7͂. 7z+*\)gKbq T?9;x|r7ﺞ@@HYS(G.Nt46B!X @ROMON @ڢH&i0MvS4qJӥ2%\Ĵ:pfaPX价ttDcNﮬ-|bp(}kk+#-FDW֝OKԄBujW֖SՎJ-c)'T8R*2+++b5UpX*+|x!q \_XIir. :U{T Bő%7[^=a2FQIi2 a>NCqhT3,]-\fJHpYc !6u04 BUЀBUЀBUЀBUЀBUЀBUЀBUЀBUЀBUЀBUЀBUЀBUYohbWɗxԱzy;eNBW_(!Dk-`(R!0F BHƨRB( !)RJJR*8<@!kh]AJ]ϳL3ZC4R \+ (J&Bɶ-)0BeeX,G)Цi%R7Rd&!d!Z5cGOonnhocfoj4!۲nʻ{nޗex72:n:7{K}}M"B!ZWh` !ҖmiZ["a'8|pȶ!oBv$޳k#{woS8gِcզks<46K!05 Burkoo1-+އRsgЖ-nٕJ]0QZa'+!&N: nrc幍A@"BE!Ъ`h@!Ъ`h@!Ъ`h@!Ъ`h@!Ъl@hK#e>BE!zC:dJee!\)]Wi-Ji !Bui,?88̴%VnR!:vY*4 B/FBhZ{hPZ;&&~g voߗϟme_?@Iu<;3s|nvTPV ;޸ewK͹^ BOPBB_ub6ӥ]_outp_֌Fm =o43(5)gEq5cR|%Jxxll89g{Ʀfmӈ!>@!~Rk?yX*0ON~p755|&4qr<{fzi;8 m ̍Je=3v_꺹%r BLpnқxR|B) PBh]b0UZۜg8ݲ,e0y-X(_jI *8vD!ɭ74Pc#ܖ|44T+*/B@`eT*APZޓ"brJBpJ4?z IDATzvЀBh[Wh(pZUI?dr //1`h@!m@EHPfr?ʍ;2. B {bY!B8BUЀBUЀBUyB^&wC!&މAgj &K_O)+Ld赶&9B_ir /zB\$Dc$6AFFZ JI ahJ_,ܔuQ4>g5u Be56{lFookq+!ӸϞٗJrKIF xئl~}ɁAAP6 F@( e)CBQ|q+vooOyxֆD!6FH~q~>gO);6ュw^ _<{;+wxB|sՎ3siNI⢐r(;25Y8e!"Y74O4Gd=lr6=?X9YPZc(Bhík"P˾t|kkm{A F'Pjuʢ3'N`әӟ?{&i2cݱ!9pbn'5N3ϝhxnn-{pdOΧ Ig45ԧJ8̀BmuB'%1{|r}•2_!9Rnخ]olW]xt'&uG{{k,zM}Cg2ܓJi?Z]0ry0R3ӀBmuMOG'sgY/;hFmBWVrby[K{/=>7{KSsq|nhh0M^t} }58RmЗB<|IU-MM LS5B,Z49x  yt\y.o`!$ ERbId[vlǮ&S'v,Nk[Nڴv4i㶎(jʒ,%; @63{oxpR4I ̝7p7߽iۦJ)GJ Mg{sWky-./pcւ;nBh(!L&-?13VJeW4HYX׭@JQBRAV[rt]Q!:wSApJ)!BJΘ#%ՊB*J-UbЀBhي@!?RB,b@!ֿ Ȫ_B_<̄#B`ЀBAB!is6_cf]rLᮮtInf~M.Լ*wB-^SrZ˗Jy4kX2B{՟`~AI-ZoWYǹZcPJ)]v@!*74DJ%ZaRJy42Ͷs{a81;3JclS0"ɘ%S(͊ZJ)1BLl)RFHܶߚnFۘK&4##')u !Z4H O|W?ӗcv @gav[]=Jȑ(l™RزWFu_^09p,J)Tr&28(X^N9F#L*,FTF-ӑLƣi4SJ1F"oZƇ&uS Q#B?W7iJ錍b}\2B&M: :it͏7ﯮN{/&Jj75YGJkg.g^zz$߲{~x۶u/.,rJ?ռOOzo)/s|v7Ts?8}p,/o,ni0=P]}F!%c8?!*vA`@d<CAr͖zq CH%;R*w 27b&}OEcUʊhSH&D}}Kld9J)diAzy㦓s\ɩdbgeEBl2h/}d#3gg?ٲ9P!yn$. @g>ehhL[6cpJѠa{< Z̤309/7M['2d,alǣR,f3H63J%Rxpm1pd]N%9^r,x[RJ m\"Zn6h 8o&M=θ%9RR2J5J !J)GJPQpB!RpJ3% +!`̑R(UX9*Hi0rK./vXy!BM .`jܭd9Bʫ.Y,?^=*5wnvB-IR"Pr*7aF!P[#pB!tWL8B!  !.4 BܞA@!4PBTb2r7^Qd68!5AT-tAq,)=h`rn'$%e&`r) ŘBgn6hp.zt-8Mㄬ7 g.E'ggCǎN&_;{3uFsRP ,/ ;R2Jcr"M${ g B: R)s7{ϧS[J CThη[H&?ܹ/;..-KPg{/ul[Tz<e#XG({"L1Y\K=^Q\!B?g7iJ'_>v4Ν霭@O%VVH[_gǎNk}>:33OoNNeOwim+fY([\nHg-k*-A Bw_l}nipckc_t[\3ߘ'@8!:c$G?29Ti^X|lӦhoVq*= ôH:ί֭^-U{t@!~Qn< Yf=URp1/\H9MnJ}ч ONz}l;Ӵl5Xг}~kcﳕ }70fvp, Omis|!%n|K. L$>o*-ߏ=4wiH,7@L*ƎO7|D2mo^8ֵ} gkΨʶƨƹ5n'!:w[cM&Y0BCHQQZ8ftJ) cٔR]cchHB)*xPMr-90- ƀxu 8kh-B)pN9RbB7ip"R&lem% 1Cæ3@m()qBT7V3ٶvfBƷJy =߳#YAnKIx8<}(GJw%^%m8wH!:wA[;bdi!.,,쯫MUGf"RJK,!)'R'[aЀBh!deCNiFkt* n!:wS! ; A)J8׮DV\vB7]F@{!{ 3!.4 B`ЀBAB!  !.4 BKBgJ _+B.T+B: !]0PJ]O"p(zAB!t(7%BYBW+ C L%$(n!]H)ݻERR!Ba֡(AB!t*J0! R@ !F% ) B;ҵ#w܍s!PJ*(ݲ!BN: hrmgRRJ F8!2B(FVHa܀AB!t)[V $BJGӄfg_;3?&!L>_K 򩆆]mB827ס(tPJL־}2bgI)F!t-E=. &c?zcbd` B@)P i>a& Wd!Bף? -Wӆ?!@9! @]ԂG),`[Cm S1(a!(P7XӴCSSq"5M H4ByI9/ L}w(AE1Lv_(͐xu~X&uݑJTJ#8e>'Sq4'6hB72L#E.c`kax1b&VE 8`۠i՟-¶C^؎UXGpx!еuRJ7bJ!gfU!Dp@C DֈO|d,gp&B;OahGCӾ=5 cu@ QQUΧ>G}瓟lRCWmI%=5NC! 'O`ЀB`ldy]]DVOVJMM!L;NK`۫pMk7F !Rgc1ya@r3A)iGGR)Tͱ1J)Aa /b pD.b B;E+e=?|,xLMόMl޼)Ό|];w;םH&wÇq?t3窪<O@8L$sX|hxfyyy[{[49ann#|sjj‡-/ {{/BRذ!vuJʂO Ju]oP\<|OOό555֖ή~3s aرmtl󍎎JݽeY[WBw"_^o/pPl!KvU|GF)3 Ad94q !ah2Bꢺꉻ !$OGg{GGOxC553'Nti]=G;;JKc?qJJgt](/?{2SS:ךݽ,I~9c,H=I)_X489y{I:xɉIgnV?,--P :u>s.T~a{7጗W SJcح-J%k@2> O:S[S}B_,+5]mn~nJI: cdgWO:>c'N:cؑ#5_=ƱJJJ"K F=819dzz1rM(n-HVWSB57ȓJmJTxPʑrsUu|g  :&4_ؾܩ1&@]} B_jjҞ=RG)B#Oh/mܨv@AI Biqw$޳z1in޴e) yP`UCIDATp8@)],m jڶ꺮iZ00T2URR2;774rx]]M~!mSg"K˥%%R˲8c7ozLg<Oқlz=Twy$׸mnHz(LNNVO?ŋ}^ǽN; J^ʲ,,[4Fa--gjj7oi~- +_ݲF>/B&lY6;Y %/J)۲o*FLֱ9ٽ{ny;ts&4&'ZgD(T8,=vrl>sovv456+d:}{JQB:_W|eͅ9t"!% 0nY%v_\Zzԯi*`I#ӯ84YϟIA=(>QJ\HIpêuoX'n`iiEN>Ѓ`w>u,M!;-GcBHJI&q'B@43t4MǬeYlII8>s'!8N~Π#%1Fq,}iJBƘpR4#@iDRbf:mιt˨JP1R*SUUC۵m;d2E))))!+D"Kix<8NYYжhqݓB!IJT* ɔiܮ[GS?ݽTj.>49`O=e0f^Tn㟎|2ʲ@)0 fۿ'\|~p𹁁=%Dwv׿+2M7hp{睑LD_h<~ؑ.zŖX=O~rrrcY_yz>/b{RR!Ƙ{GJ7kr~᳟mw>SSIn²{ur0pwRJ!*+ @Y0R*ܿ>pWLh?(,p 1@r 4R>}-_cz[笢"ѽmʊJV.I4pW-Ӷl) 1G*//+jVYQQxa3躦kC(OFٳyĉ;qR_|3jm[U0_{;++$W863Na @hPR~ɫq2r4ܝr*.aaw{Grᤁz W< \YaͪM$n͉|% XkygƘ\MQ-%k&W: jF$ d伾t)q;|7O޶aL @H-[쳑T䋯PKK۪zggS)],)Ԁ.QM;55 %%Dvt%År_ݼ띝T2*)R@૏=F(]=޸*Ls9u+иJKufqTƈAݩʽr?%1K/,TTW^QzEq|ZA^?\=+ԝWk?B$+?\[p燆w1B4W!HgI T OON&IYo%D*U~u߾/ZBJ+N`E9^c/lkkc}˿Z)ݎ{sgDF7>g~gbB:[S-mkW w'!ŋ--[8gs󞝝)r7ԹRʹj;/\koJ RʁK[[wOT4MR ">rlÆ۷8y:>cgvwgMM &龥%FH߯|MTFCJS`45Mdjo?RNoo}IIPG{ݰ-48cǏgf qwUVڹUW9>3#sb:߱#8˟p":q 'Bڶc..FΜ=WYYѱB4Wz7JKK.l495B<أgxR_YY__t__0ضgtd4cY=H&/y}޽t%9<߾~Æt&L&{z.<)]_~{_x<k۶*eѭ[tuB'Ox}߻fi7Opfnn`y--/ז쮨(ZSdq0HvKc0J}k2B//G:oS i'OmNkhxL>[[[322u6KR[Zz{[UÇ| S3S3455vv@,?y̶SO//Ǫ*'ݙҡ?J[4_)%4?ҲiY?3O?߫ƾ{!/zcS#rvWU37B:yBn.lߚLvBj=]/#\Yd 8+*{g^y%p][%Q w]Qmsr5pv|҅Fh4uf۶im-w399Z֖@`nnuCxI?J@u2VUUA(t:Z{Vvc{W0O>kY84 )%(%s249gRÇ-tug89z*X2z<]=S3yT*+ݷgJL@hs> W߷"$!D1忮@NE>Z'tr_U Gu\I/O$I4|^_<m; KV#]hD\;i aRJ yit55eYwvBf76J2R#ps; ĭ axB44gF |·\B֊K[9B[XfRW{-;+*lh &rn_Q܀Azq˃W噳?k}e\sּe!Da9Q8RL8c N1Ƙ#DFE/H- ^ uiX !n0WR)!%cp΍,7R~P0MlK1 ϗt WfDJ܍ d`r] B;*.U" F틾CA!=`ЀBݑHnW|b`"L$ꓬsZ0h@!T`70Ӑ_ _±9X+-AB!twES2 g_^HV-5WaЀBVV )*CŚ ?"s!IENDB`sphinx-notfound-page-1.0.0/docs/_static/who-is-using-it/docs.pyvista.org.png000066400000000000000000000601471447362433500270530ustar00rootroot00000000000000PNG  IHDRX rzTXtRaw profile type exifxڝUQ8)A%/5 -\w Rz.90k˗=~2>?lT4>x۹+%'TEݮ<Sb3%)$;hr~,NұwU䶟ݐd)m g+9/٫Xůdg(wzfkf~GL3wY]3v/^}WԨ mӳ2E%\}M9 AH1%j6kiS-kVyΐ+ (C- X b;˪4J~!A$qg'a:@mm oVVW[[ 5} WWM4Y61#۲&شuW8f!$R @ *9*w/"N4ȎH-@"gd(O`ywv_ub-qMkq|R&/ vD%V/ܒUy+2JDw+9|RDuвU  8Yb Q+tVOSΝ-{|DzQk.hڲc1+Z1~!hƺG8#! U44aUx&bM zpv4oߐ2!Kt.Dvln{vL-1A*L9^w##N7Qh;Oq n-_×fsBITO IDATxyxŁ6ftK$->1>1a l @6Kld%lv96 !p$$'mY,ɇk4{aEll{TלvUw5e#] r+p.1F9ӋN RzA1< w`GƈD$v#Pfd1|T>ұu0tb(2OB\u^mro1(a61fFI޶A|MeD5IGy J)+c^Kn};Z^D_=ޱ+ՋjZ57}z2J) |g7/ I܃_abOfC{{OȟHgnzDo 9+BuÅ(mniF)D7[,iW懄yׯ_V5R)Y ð1}/;;{G+JI_&O|yQ<1b1ML&byG˲|ȑ~k׮,˲cyv,++Ku0NgAAO?}]wI4^9Y5jJ; [>%JSt?v'-[qڛ[[76֛]R%*&5ϽOIdJl('IR4D"~ y~$V{tL) ,\.'O|TOٝtj/̘qyB2Tp~[ZI kZ"$l6duL8C^7$sH1U} ޲d2w N$6tf>x<.˲#g҅oVO-s  8==km!f8mm=djnA?_xeE KѣGbXMMŋUU=}+hGGǘJJJ^CR!tյ'IZZZbŊe˖'D"s9M6ɲ/~QQ̡z{p8fO<}{(܇I($+c,Ku{ff$馛n_`^jn26mZMMMzs靛K)/}Keeevz竫{zz-[vx㍏|#cǎ=#ӧOݻ}ov7kt''d ~P^^iZnn7$I'N>[}6תjHRxy8}fA3 ZC* 浪>e0Ts4ٜJnO~Vэ%K?{)o(cd2aÆYg}Ulڴiƌ[%~CCd2LH$ٹuUV{L]mo߾tO8;36/cYa$;ScԩcpB,+:uPP7ϼJzUլ#֧KݛԌ=1}K*>3[?uò޾ ozq":mv5k>pRPUdYC㎏KΛߎ'NڵnoiiF;w\r߾}v BO??qgϞ]RRu`0z͛g6;o\͛79rcaa$I|^zMX[[[VVV__'NTUUYgM(9sfCCñc̙STT+l2rǏsSСCD>??p477vUUMx+躾tR:sng$ټy+n:k֬cǎUWWO>.nۻf͚Ç~Wh&ImۊΝٹg׻x;C&uuueeePhk֬~zj#E õ7|3!;NwwwVV͛}>ܹs{I&9͛7իWwww۷,??ǎ%%%g޻w!dʕ$drժUoٲ%;;{ѢEcSXlwy;mhhhƌ;wlmmpG|l+Wﯫљߙ@4)M/w7nnZMwɹ%;#4y"G|Dnn]w_СCٝ7?{okk8ȸy}կy_Wl4M{^/]yzذaCnn'? d2ꫯn߾}׮].KurΚ5A /PVVV\\o2¹([_uQBdJuyo9D{{i[5IE7wqCG\S^Oj2y<2כST2TuL߻wo^^jݺukii)o 7nٙC} bzf'?IAAA2loo4iO?~O=ԢE]뫪\.׋/p8_~Skx}xuȑ#w}o~x<nkk[paz̕bX)SL/~QYYyp8<}􂂂^x! :{v777ϟ?;w͛mۮꪣG޽; &I׻wކI& o|Gwuױc6mڴdɒ1;/'ؐ݊O|n{@"K2R_ek/ 3ܞ\wcuoXRu$~+K;w|x~b1߱,FV*J-lhdqKH~K fɔ"?ܗ\r>~ĉrݞ(noll 'NHRD"k644TYYgϞ(m v(۹sɓh4hT円r ٳ>gϞ= RZZѱ}7jfZ-Zm6^TAApAg-YiƍEEE|W_FfvرcӦMXlʔ)V+>sDeQ~T*?ӷr3<믷 &P(Hbp8aÆ^z79999996MUU~GGGGSSk6 6\~3gμ馛lՕWUUURROF|X,p8Mv=۞|1U2($I#$w}"E uz"W\Jl0HbPJ=^|,ִꐍƭtZ4RSf}-;vvխ. ͞>k ^L9sttt88@eeeVVVvv6: ^z)?%L&].״iZZZ~?ﯪuݭUUU50fsyyѣG5M벳pKKΝk2<8mڴ2UU m6ی3:;;gΜhѢSN3g~%:tr̟?wvړɓ===}}}6^ypbEQ9yaV"UVVeggϙ3GQE؛?4;ydJ[,{<TU寕={v:JJJݛ={lEQ M&7o^kkk"Xf͔)Sۧ x ;:::;;ᰪSLYreGGGMMpNNNaaavvvnnn[[[AAԩSsss?Ӈ/JΌPU>%y0Tw} F#DtO{ig{0</nmmmii;PJWZރ\u]vew>}e˦Nr[ooXdYkkk[ZZxu=%ɫ;=M`FiiiEEŜ9sNۛ>l2jjj&oYAy!)>dE4]Q?8!|e!?ֿʧԯ_o.SQxMް…C!K>r|7}~o>~[yo~>~/oSx/1t?vMuתP:#O%_h2Y<v[Tl̙,sLOjP ,c;^2w4OC5}|2+~I 7((1(QJdJ#;90V^ E2s4h9F͎=ZWWlٲ̻;F:O0Ǐooo_|ۮҲuIE4s5׌9y c?sf*5lW.i84E -6UYV2(vtԈ6qDxfgg'1m?p{p%$<"1_;s \J a{ǝœt \έ bœ.Hh@/FδmAs4 @BAh!g\)===~bF*Yut:(d0 5SI!I$IDfis("Mg8{ 4B@BAh!  4H$}!pQa)(U`i&I@a麞@ڻ dRӴsUx$AÅ IchW>@s0h͛ y9!J麎ArO$---X[TT4ޚ뺮*1FvW0sIf("]H&c|H%[A\40Ǝ; IDATF):ujYYYWWWww7hӆN:qI] !tS=vH$ۛ!dpp0 \#B< s%Il}}}yyyι=00icl``@UUכH$'`0hffS%vww[,CI$<.M)aK:?; EQkZ#H0t8Nspp0Jeee@;4GU$|)Ji0bf9p8l6v{<O$lT*EQjZd2j24--UU5 #ADzzzv{4VU5Fcc zq.{lnjj*))I$N4H10LH$:;;5M4Rj6E&IBa|>YEqnw \@ dCUUɔ%r$FNSvhAAD"{<Dv;/<3e(#0}5H4qy}AEs(mmmx=%Ȑ$0Al%|`0H)㹹`0 j6eYs\(J2u:t1tE(}QJw$u"KCєH*cV87fܒ$555͜9gR:iҤavVN0V|@ p8, oȳM&7;;yL)laln~LhNNN*#![V =f#GiF$)Jf> n{o8Vf\͵yEnt,WT D?u}~f%>߮^n|䉭WUܵ|oA+/tTZZzyI6fX^9y;Z4ϗz^/p8Y+~WFyQB),}5%7w:y^1F x/?d-L 39W>dJ %\b7W7o=,1g0B=r#3Kḅ*WCIٝy8%҈W1O/d*oN;1˜s32r̩(#\8z _Ӏ9.!JAHS2(]OlRBxn[32$18SQEn,&eyQlז,2fF$]dqs-x{h=xwX8zf''~i!Ƅpi v#D6[it$Kh;S$<˹/KOE)% DU~I9>|m_msJ7vm 2W37RSVM)Z:Tys޺3B$Jc)}SCa+e9xo E)%?utUy%R2Op[S؃;*]k* %Jc)mɾ̢xNjOշ]R]3&SNt%E3o[]s>M{K&B-m=]XϽ/Qj'|>2]Z~Im`<1]Xճ쪉R}?^9ҍPc H7<0ڃWZ=V#3K !Tw_:mՔO)]GC1Bȶ=WqXul_ZZ'tFyXB)fk]=}Eeሃ%Je.fȄ^?}}:&yc,1tS'*ƙ6:9J!IPeik8Ejvj$Q`[Zz }r~uӊD0D sJ˗Mk t69B9HE1( ? h|%ցz-IsFO'/$k:# LT*r2Qڭ94d H$S?~oY)!2JiR7|lgf9W)$Q1J))Q3 ͐%:ȧ?Ȁ1LsٍIc1s0I2B B3I`,%$%&(J?STfl!dJPJ(#O!,=F&59tϞD;)/{/5ͲL) ?{e3Z(XT`D)=L<U3؍5stᑤFuɲє6KBRO8nSj:[[2bwZ]5bL,]6X (rt œ!3A o`D 9?l7)T[3 BC{7t`}F7¼"_B3?zZT"I]-]͊L(5DSD6SB,QU͊|2(dM;I-}蘕[賚珞WcKkWw(fp.@m!!dna|7Vzg[[դDR!dV~uS@4Qw|xͤ<0؜_n1M{`[LoRjՌQB;{k'?W D?Ⲙ>5ᶘ6leys#N0m_qO>PMeY!͜t6hlaԒNTזúL9>ZݡxGD޻dzmӔ.\_7MʙOַfE.t~p?hi}\Q봾RS{5A~ƣnO/*rrj V]rE*%i6xwL`0'>񉧞z*L2nK)1tjJ;xLm Z_$~묲珞f)Y9Y q"ە0L2#`^BI9djǀ"IJ~7!v7dyE>Y)K4j^TǃvU9sycqM7[W]춘&70SO=#L2eɒ%? ۷oO$/RSS/|_Wbʔ)`ȑ#o7mFpEEf9ιs.Z(~;=o\.E^t竪{vؑT__O) '5vMC*y]nl,p"2Jƺy^U}#=Cє6GzDJ7=zJe'{# m8,}6 4i7Lzˬٮlu0jK;Uz7_?絪!~(}zeӟt^^!$[ٳgY,-[xH$Bx<1՚J~ Bդ;mEƓ.)ֶk;T0*K&Y"-jRctB$U͊' ]6Eq?"$L2}?&g9!v Ec6lU \6AO\V5LJW\_1( ?d2Y,6<<,r$y7lذnݺ{feesssׯ_*s޼yx455vJ\rIii_f]0ҵs@?:qI89೙OBF1)!D(RbeE[Zf(uo[[S5 Db`o>YvBE /+=>0聖bbӓO ,{޶ɔyeoofs81iDl6R>g},77fBzzz, ,d>haaW_,˄`XdYB:;;srr;hªvU&5i)ijmf>LȒa6aO$I9Y6n01,bIE%bIFXOю* \6ķHԡ*mƾMU>p,ўpg6"1xgUh!\Ƿ/v۶m/e9==x}׮z4bCoW\)v(B(!}A"O:ҧhyf)B(%kr=6bHϖK[ۺc؟紾Y+My d2Wȼ73gx`2xNc?M'w\bcb3`~O9fxLpLPEc#W1Tc'zJߥ7#=\ p_3R^Ӯi' BAOAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@SK'IDATBAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh!  4B@BAh! {Uy0~9gn~3@ &HEEAq ::gZy߶3utB}\(܄\JC%$n@{?Sw">/PݳgO69ߜhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJhJ ˲m,}ۀo0t]4^|D`0heYtR`0Moet]7M M4P@  @qSŕrĿzķqy_s@7_N܍4MS/×A|iڗ_8qaUp-_Je቟9R7p8<440񑑑\!eY"=&/B.g-ˊFH$%%% !Sil6M!ߛzޜ@JJJ|3bf6 t_CCCa$'' !Hvv" o!.4cXzz0o|||||xxX!SM B r14GFFGbbb,Ϟ$?G'WF#Hzzzbb\#/_<8K^ercnp 1~<668o޼3f]={5M{nj^履~zwٽ{C=$?x}gYV(z#grѨa6m4mٲek3f̈>Xh?"? 6ٳٳ=ܹsH__ߦM}/Q*,ۯx ޽[yĉsέY^{.\ƍ{zz<OGGGAAAkk4.\8|p ܰaCGGG0D"gΜq:===/ҝwr~Џ~#G >ccc'Nxu]뮻kkkϜ9`iӦɽc{{O?<ϩSx½{fddTTT,[lڵ999SLYbźuΝ+Chppp֬Y+Vkii9{iGٽ{@HСCo.\*Sѣe9r/BY__vo)Se˖ӧOiZsssUUʕ+'OzѣvJKK Bv[ss뽽;vHMMMJJ:|pmmٓ| O8[wǓxrrrRRR u'Ξ=/_~}͜9KӴGVTT\p8#TTTO*--=w܎;:t…wvv677wvvڵ+ EQolh4uV6<<\VVnݺ3fdeeY !t]=k׮@ {cǎoKOO_ёo߾5kִܹsٻvjhhx7nuZZZ6mڔxgGgJJ8~s\B!ݿ\`ҥK;S,Y$==?aqqi}}}˗/pMMMMMut?|{{{WZThv=3:tJӴcǎH䥗^ZhQmmPbbb|D{{{ӟ !<OCCs.kS4ϟ??//fQYYt:o/--]~}AAAvvvee{zzjjjLLNN~|>fw8a'%%l6/?uiv}ʔ)EEESNݼyM v\hꪭ{L2u>@~heeeeMp˺h,DӴ˗/ڵixxo7MsΜ9@`Æ 祗^JNN6 a˖-Pwݻwn>}`oooQQ ###eM:uƍæit]xi/^|.]4::8pRaYȈڎ9s!jkkq/b,KKK/..޼y֭[ovuu:t]w :::hBBp8,7%'' !0˲"HMM͌3RSS-˪?zΝ###gΜYpaOO'|266vm۶`sss[[/_WWP\\i7oի̙3eʔhjjpBEEG}rx !!0 544 N8;iҤ?vww_k \٨P(\TTd.l:C=$w`MMM>`KKa>]RR`3mڴEmo˲l6[yyarD|>v#Gx̙3^7 |7;NQXXirss .t:s)--G&Gaaavtt<#a8lMnSUUxbyc…ǎ UWi|y /t:'.gϞ'OFѹsΟ?__)QX,~޼y/WE>+'Ǐ?_$Mg&&fOA^$)ldrI9Is8Gi ,ˊbrox`fć)\=(W+)>CBD|6EVؼ?nYV|6e| -⯊%Wlo*̼'.1!gp5^17]%|#-ᚾ[W|M8,*P_L5eiŮ6LZ1b[Y,_e# gy@o/yXBhtCGëW ' ʻ7ŗxr惫U?uD{zMvݖd7n4C4YHK0,KhH(HP(rϟxyrdtt󩩩r_}|֬YW"wG{'|7Z[[zꩮp8vkjjlD.]700` nO׿<5k"+++))W^iiih(++nnF4]tMz{{}>E~3Ѱ6]uOv#'W5wEML+SBlfmft9a$U9f[[[#ȏ۷WTT,[W_uonn6Mĉ ---w_CCã>z~<9'^off!ܣ].ӹs222 ð/_NOOCCCLPHQ-b/_vrU}}}999# шG&''9r瞳p̴2|?v:l [̴,aYZԴ6=fZԄFL3Ѱ]񭍎Aݞ,m>66].W !4\kP޽{||.~FyAaYb,=\S-c .n57H×}4oFo憉χN3$#awbiY:rnط>׃Rv|IENDB`sphinx-notfound-page-1.0.0/docs/_static/who-is-using-it/docs.readthedocs.io.png000066400000000000000000002531371447362433500274640ustar00rootroot00000000000000PNG  IHDRX zTXtRaw profile type exifxڝi8sn\"s(ۯr,S"%3UCkU#GE^;j?G9?G>[ռsV;g?OQa9`Z'~~Nmێ3xRsQFH 64sOIs9+6c-齭={o,VOq;IﳝkL!&!v<*LB>!> x4j ,4*dݠ׺uw98Oep($΄J5Zml=Cڲk QR-Uo 0pq!N,=T߁:" %/ &GV+ %Djh~Prcq|UT(^hK; ].EL8\t#Jyt ^uPXώF pl!M/N#I N.QXB, @1Z8-E^}s!6鿥sBITO IDATxw|\ՙm5QŲ%w\e1 Hɦ,&ِ7 lͲI6 H5cW].Ցm80Q\0w=9ޑk.x`N{Fs^ x\UUgt'p8W84p8\ip83"p8gDpp8ΈJp8p8#B$ sOw"plF4@P2, J)CJ@9p8*aDJ 47," 43BY@A!$ *aA6p8sJeV0ؓ`q/큓`\5(Fc<6w5D(c|֠huMbOXxzù\@i0Ӌ?ZP:Q՜\> ƍiKjRRT3#U*8tl& w|<(),|!ciґazZߪi#"Cnp8ʈ&6?5na~jLr; !!T+*Q8ZW臬#R3 M A*5 xOkWPA}aQjVB40 N)EA !RJ)*!B|/)–MBcA !dO~pp0BvfKHcl80݅ aUUe"?<ùҀ droLJ@,4Q6PTc10y @X55RYiV!3)M3C"!h?j9;(īmhh4;x`aa$_.]k_ZNN΄ [AzpXbׯeĉhݺuNW^ַbŊ#Gۗpp8c3_RjQ^GS~qOc[c\vw7Q;tv@@03|󰦓fb_?wƗ1!'&Q=nАjƙ581]7aҨf Du(#1#ގj&pܘ] aʾuj@TH7)H*Z~PR!*MwQaG ?oÆF$߬+yxI5[1uиN:MNLBêB`LW g?ɀY49SlۛUZlN,sɌ ax<Iۏ?\ $>|xݺu3fX`Azzz( B8Ά;3##vWUU3!!t}-[ԩSi8qok =A)u\ƍ7n\ccc~~رcO~aj!n0jԨꖖo}ҤINBr8'gDBM›O\SD )ߛ]j< E53^!MQnn fP5(?&O/U0j y[SoX3LslKr2lخ3QKf(aհH8>1,ZBq]mkr]1T(*ET T@BR E@n$3d z? l 1 X_JI^s4&(I1 Kf{`VV/ye R7&>[3<9ePa Mmաn w[]_鶣]Q^59q^ \_y.܊Uy˿36X<q/4fw+M\jrvBGJwK) 5PJEQe 0ƙ4MZƎ]6z[n(..luiiiӧOojjxGgggii)36X|BHjjjVV޽{f̘z}>_4;vl^^^JJJ~~>8++kʔ)ers.\8n]7"FB"9{'M" _c@)`B53攧=9O7ՇUͼڼe{8춊[u\sKm/{eo*kJm1,˰=8,<]eg&"1_P{C1. nxQu8er]|~_T? 7#)@0 5 E`OF Y.9'Eue»x*}o-9)ʝ v~wߍ&ϩKj-wMLrCA@)ͫȫ`J4YcMM l ]]]w222ƍp8^vUt=z4;6 cҤIod}XIX;w.kv(K,IfE);Op~>~r!BhMsImQD3CV'ªqe*׿5bw^ܷdSWas4tomKcwA< ljKF1͜^[: zlRr@¨s0迹{)ViTChAUƯn|j{˒Z?(i"QOoo}_Wjf& $$UT}LnomuG{{™o b$cV,o=w|*A @I!^ .˨:@IIdee}+_MOOW0 UHdFX4&5&x` 0ʒ@)4 AB p3|r>. p=vYHV  Bq'|@3j3 <6"&8m>~G"*[kI)0X$ @`|P8!XC&-ne㾶.$͆8 ΫL8@\=Sn#m"atlS.,P :H) Si&mdA|( þR)OkKQ|†#N?k0|/AOcb Ð$)//bFp9/L'&90iTar8]'NDH5.T@BUS-SNܒ {MBY}ѝM'z#S SPFF2w#H}ث'MV m1`\/H@]PT#ij􆵚lfEi xTnG26 `6 *a4!h G4Bj0@@lO@)V`B!K|tKӶSY2Ϥ"\}]!苽3u{19l/"&a$".@tB:RjV66n1낀  3<FR 4Rm8t_vnOYv W{5 p>!˒"pP4f;S,KX@ʖnm.JR29%WuN,J n_0>2#տ`UW7TsgQuV v =\(kKnif ED' w?&y7DU噶xmb7+M][ζ "pbs!E r%Poj橾[GnzڊQ)kvBq{02<;jO)r繕߭?=8M@@P~uT3NDp8eD)Il7bA`WS_T=Q#LDQ 7d;P1w[QQ64"OGy6GwۤT˫:w vN/̯?tZuYO ۊb^eՙ1}W5Y{/ . \i*:Z8Rxl^ũ7QJF7,!$pD-\CӤC:=)pq)PTN]3p8W#P(RV=T㽫uY%lafD5-1{9ùj !гwcB,$zAp8*#B3s볰D0g?p8Os%=s8d(cp>YBjj\op8J,K$q W8@)0Fr:l=ΕW8g@aUs1pΆ+ ùhklp8p8gDpp8ΈJp8p8#+ pFyS.Y>#O߿BMBSIùB8!0L !Q͸c"j ù8 궊VX*e#%R`1ZODuC6p8sأ͔fz䥦;,"^}Qzo(vͿdnߎ1G)))q\{ۿX,---x|֭EEEp8|Сq9۷Gfff^pem I/~eiZA$I*vx0 JjeUUuEQFNܨ뺦i`HIMܑ($}3gPJ_{>I͛q8UJ0^洙л^ziʔ)'Nʪ8qbjjCǏ2eʁƏ/aʲX,۷o/..VUEzI$Iz l< Bhe9:hEB>~B(eY&a@VVu]ww+L B<{g->aHz_ur5k_??iI4McuGE$Izw+%%%GQ({?[sQJB!kb&q~'NX_~ӦM… 566͟?0 PB ib-~EJ)Ƙ2q[nk IDATeffs=w}%K :Y!QشA$`~Q1kO2xΜ96Mp8$NE4S-hF֭N4InJEqppncׯ__RR"˲ Go~~ƍQ:::֬Yt:ׯ__XXn0 _5`xLNE4O;'x"''6o7vگ|+?xiSLao ܹNsݺu/))9rdϞ= Lg7رc999̮0LTWWתU è[|yggbۚl6mشiSffܹscy'O^s5!]׹p>?$pQщX["B(ERRR̙cITXX Xqq1pܹ@pagΜ,ƍ HYBɲ(Jjje+-C'b#BPOJi$ayZxzzz4M{ǖ.]vu]u;A?adfflW_}7 [S/˺:]ށX,ffuuuCC /|'`(/~7Z,xr /(ʢE:;;|IUU7nhSLӼ]G}/ B_E9n.7p8W|4 0TURjXEv6 p8\vyJJ Ƙ ɁN0ƉMnZ1\c8x/rDniP( X^7;;[Una˖-[l)))y׺>p8|ɥK:Nt:y׻v_BEDdD"-;w~`eV\y7X⡇~r{9*k6}t`@%I:qO[o~󛌌nnm„ N3̛7??m6nᇟx≴wy'999?{Yy,\񾥁R 5*2g.5"g?pPpY$`''R `E/ʲ|رExFF}Ixoh!bXooo9s&N޹s,ˇ B˗/'H<00"],(+x≒St:oԅ hll|B#'/bKKӧY`̙3^o}}٢~?0 C$ C ##~ĉ VUU[ZZp>? iЭ+7fW:mЙ^:yY9@! Fbv=ЭBůI)5 ###c!3yl4߾555EEE!ba\.a8]V<6\ùw}˫Ɔx<΂ٺnLӌ DbObk?)Y0KŮJԢH0 U(!\ m2E].i]qJYp8 F0e`B*;cW~ɠG;['n@cl60o?JWZUXXSOo*xdYnmme]יw#774͜{ a0[e ( Wcǎ#G({677=;D9Dj2W 0M!zl2LTZZӧEQ !EQp0QEQB̉!X,,07_΍ sbv ahˠnKHOb:7\:(pXDQ13(Ë1H$}vJiGGǞ={jjjPju:]]]M\vٳKJJ6l_RӴzQW\-\{p8W78}=g t$C :.ݿ*1 eQͬ+M\j>Z2'\h8xN`;v<ӦMknn~wƏ_SSTi: ΎYFn",u` ̯.a;Jr׉D֒,01D40a[B(M H\c!9M% ep۳!)wY,Yo|ES2!Qr؋x*=0$1"(q<NخrGBkOjBT9=\ŹҀ@ >‹߰lx5s"y῀s:q>t#|Ӿp>WP]9p>2A/DΨ%MrOp8.8A}}b忁](6­[>@*@-z%X\]p8< D#p8 '>/p8^p8ΈJp8p8#+ pFW8ገ) љLJ Z(!R ߓR D h) r@ ~8\9\Xif$Vw$)Б "M5hj1 ,f$DEbq ,PӠF Pb@p8ί4P 讻)ǣꥴXsCʔ[lNlೕN"zɶzvMb!zjl"DbQiĐ)DWJ/0 QI~+ЁuTxۖrq\RJ(&-ǐbsv:j;S&h+3Ĥt&.6$2v1իv#٪u5* Sku@k>HԸkҍZvk; h+v@@)! 2J^m}t ;F C~+l4#DB`WXЁu/ou 2B34mT}'#;"'-բzO+l%jD`^2!; @)5M4M$a& =!I1(kdj;H4MևB)vl,!L 1@IbJ!d2xfو2v8q#g2\WiJ(;mQA)A5S5>w՟f.%oD08 "2̾5q12-HJS5 P|վ YUL%j5\zt]g{K I$I!A$$IEI`X BQ1ƉAlA0Ƣ( ߿?<<L>~iB֭[EQd͛7ɤ%b$kgg'c|رfQ?B%IbBぁ۷4 v>Gp8yc(a(H5jؑ QS~w7>Z)-tjRlq@>AIA b). <o9;# y)LO)4-ۄŋᆆx<^XXVk]]bټyĉV+kٺukIIIJJʁjjj6l Iٳ+֭[f̘QPP|p8pBѣGNZ__V\ii=== cǎz{}~EdY~wzo}]wݩSz{{ׇB!ԗh4+~]w[o麾pxoaFEEţ>kZ7l`׿Μ9yժUuuuBEQ-[6sLJ)8k~a˥jCCCCCbܳgĉB7nܳgԩSVo (..^|yJJʆ fΜb P<OMM}322l6[zWϟ|ӧB;vM79NvV\YZZodffJo>UU{iӦ޽{ڴi'rss'Mvډ'vvv655y<v`0 ϟ˗/?yɓ_~X,x֯_o7o|u׽+Ǐg}]] !<09BhigZ Tw,C  }J` أ')%MHTPC \d+@o==UZB6A,@<`) HTȉ۠ !5K o,׿@ ?)E v;{SXb޼y'OvݫWnii;w$IR]333/_>o޼x<^__?vW_}2--MQ0A8rȌ3Ǝ 8v/KQ7o )))o 455BjkknjgϞ ݞ))).+'''''B:k,Bȋ/xYf5*//Oup:>eʔM6p8 ^ojjj4X,iӦ?~ƍH`tb?~B?~|NN obYb,jR(YlCMB(}3TR{*R(mPbnG$[{*m<C)E>}^hjjz<5k֬_>--n~0 (eee۷oĉ|QYYK/-\p``6774tTTTl۶˖-۵k!dmmmMMM&B!EQl6ۻᄏs@ `倫fG۷}TU@ BP$ BwnjjjllLf wbX]tiKK$IhT#GbCݻ0rE"uP(x,MOOߴiSOOp8 '/L =a?ɧҟs!>] iX,SL?~|yyѣG߮(f1cƬ^bB\.Wzzzuun/...,,lhh(,,t\ihvĉYf>}oUԩSUUUeee#//oرKKK5jTff!77rɲ(JoooYYBhAs:yyy0{쾾@ 0v|z}>+ BEEEEEEeee@c:|a ,5j;ӊu]/={-[xIIIkkkFFn#8g{N7rρ>o}KUU I`xՎ$0|;ttt1' ,uɍ$O#!*ax<.!l+qi$KYYYfJ~,'O[.###/X$J</*BUUJgOa\lC%* `Ya,!t})Ba6rc3YNRzB4-q3AbMF32  )%0ةc!pv4͛n iZB;arJKK^ @%D]ꯓp.\iO6[)-[b-  H^Uɗ$П=Pa8kL6 *æ0e"g1sj$m$6n3p8u$2>? fdƉϊp.56 ÿo0dFNn䄃y$S&}—s8 \]p8W=RXDP$IQ &<~t]'0w[BPU5#1uXaط9yU8Vg"X8\rN{3gB:tA4Mc̈́pxԨQi655A{{zmVkCCfCkcXMmmmm;vHĨ]Y~Mؾav@0dXYZLS;oށc0F$QZp8oXi%;o_|MYYYҜ\8]Mt:5EE,ƛn**..((=t2;jbabAس{wUuM7DB^ {^=dgg˲ 0t}ӦOe) .Yt:SSSUUp8$I"iS=p8\SS:dp>"tO`-X/| lin}vmoTVUnGIII)**=zt^~m߿m˖ tvtڹ#mmz{ə;o]_{WPPpAK ]f̰X+|{=XVQq!QWW0޴a+% _޶mŒ1aČoJq3p8 1EQq~p:++|@0K/uttL:䙧>|0ݘU|kj]O:ϧϹT'08X]]-""X,N0ӦE"쳦a|;t]GZV͆B)I 6MQ0>/(Hp84hbٽkDbB/v[YYIqzzzڽ IDATWh,.n0f0;ow8KnkzܹyYgz;m6ۿGH䕗_7t6> :ur]wA!ΛyE_mmh,F;=-YKl9ùREQT5=3s骪ƢQOZZ(L!FX4J0 CX,&rgQ 5Uc=OOO!DԾ>EQGwWWbaWJJ$l`0 v1}}}VRj,x<%%DXU{p.|J$qPgG  !z $o0xuvJAy}>(?;FPmf2X,6C4-˲ ),! '/cp8+BqbN.$5&IlC ԍ}dCrgаRNl\ qb}0 QLωp8=٬XX)WksτO+Xs0lȏأdG#Mc+jÑ 3]!p8aps`0 ViǓ&C:F̩U`D kdS 툖ha'6:[PK&Ř+]Q%$D U$h*Fr%.dBX%aaH1žvlY};M>1sُpFtÇ_|ş'K.]f$I(JĖvQY rjX7n߾'R__O)}GYt%&b;84= fs @ A(*KVmoW~uݪǫ?[wˮh{m9,Q 9`0g{:?>=ER>}wN7c 7J[o (~& EUcNqut`8 fȶpuNw umw333R OΝW)O>34hwo{&R(yUfzUweoAݷݩût9>\[[+IҟV&++O?}n޼9:::77gۍFckk+EQFqll;F(a"HgggggNs:ׯ_遲 `?ܜF8777;CCC$ kkkozaapWW3ͯu:7oތyyyE;<s##$> `4#1؃!q,˪@H$AD1 d@o$IŒH$K$QԲO(fqW{fYVv4O?S& ]Q1 ?p}cv $;}~zOt?ꫯ$'IZ]]kBvv6)))>ollt\.Ex[[[^^NjWWW #HQQQaajMOOOMM-))0h4bp8\. 4M|ܹ>sĉՇ~v,Y+++766|IFQTvv6(655egg_p'?ɡCz{{|7==vhhe٧~iY)i:`ZTTTYYٹ&333- a齽eee ,geeLǃheee^^^[[˲===pc9N-KUU>?xjjj{{hx>r3g:[VV_XT4x~woz(H_mlJw nhpP($'# < deg嗳,V뙳gz{'OVeaa+WvWUotGEq\(Ch$RT\xS~K>d$ihhhDQoVCC/_~*1Lw$t =v~jUUӧ#oKy⓫=?yyy3͝ZEQ$bvvʕ+N3g@dR!!*{pGg 4N~T{dY>s kO /92:(ܱzBdjq{׾5ͦhiiZzӐUA'T=q|u"}>_____iYm0F`i(%QeAQe`ɧظIjb,ADi @"0$ 﫫/ I,z77nM={~c8n4hFdYF g}aQu!I45xA0c7AIyQV+xbUI^Q%8[䡡@%ހ(u\<<xTh hРAGJcxKs8t:,:.--- rgMI% AY ቧzwX__Ңzb,[VQ%YV+ǥG"a@ TE^Wy'hРA _hw 4hРAGG>F/ϧ&A 4 nU$!;9a uv!HHjn4hРAp( q)))iq` i&z5r[Rkt\:NMA /AHR8$9@ $d;+0&dȰX,"YIup\*4hРA×`,?|+=8$F"h:`/+/B%UUU`!"B4 C lG{{FF 3ӧN}}kͱC *t Bhs:;cرmvLÑ#c>T__Yyy[GxsnݪݷEQ6/*) G"LpNnhlukmeetdxŰǎq}H!I4}'&&x1h21@j8_[Wq\uMڹET3Y1MlРA ؅/nU.Xfq799hP08ߏbF󳳥,Gᎎ܌MezjiI~K?ZjjjaQMQuڵg}vkkIF"]]YY78bX_za{[<CRGhJL evoﯯO$`0g?J$X,HXVј}WOQ55$]ty qMM EI=Nޗ{$ 2&44}ͯ_2 0 N333‘,I&)/??#3`0fI Fd2{*++{ C$x<=BaWW'ԑN3AUUWpe(쯯EfgWJs8_>6aXÑweltpbյ5ǧ''~( B.keyyqqhv\#^WVQt(\___YY0liq10caax,qWd9 ,/ONLzQ6EAX~ A.|55S=~" @+Xu$qv- ^'I2$ &II$ɲc!xG[0%IhZFG{ $Q4M˲qNi:+a^x|!A 475hРA BVZ 4hq*: ܥQgYD"@>?y4hРA9B* DQA,t(]/jUUyxH 8rRcA$Qi:H@NiƊŵil6˲P ; ܸC(cN|Ў$ 4h5 qCAe8.+ya"0 ÄaYA`fkk+77eE9uL"DAÄB<_\R3g{.GaQEQQ#0 ۖ$/O;/h2$Ib$Jv<GQ8Ax4)<χaAdYp{$ C 0 U<Fa>A 4|AӡZMڵL Otp[[ڲWqp:###uRuM_zii^xϜIMMqz(:s,tuTVUE#[Z\[[s8htWEEOO~Tmhpg{NOQ++C׾^M&әsx+eeeYMlnF"8A@;Xj};ݒ<ȒDž$`-oOZ>Jdb5[wWOse@Z ܝ»y|;wvԫw_I>++ANj;֞@Q4Hp8v;^7///;'jᒲ5#3suufw53>6\g,5{ ՙfEqwvt8o}kvff+~A墒G{F?poUvjr=6p`eISoXm]jo`uqlLp {uHB=;QTo!*DmrRzӏr;TrenE];5b>In_K (P} ՞opoGHA8Y[Y4LlP\ q[a-YGFFr 7oliiyܜ*a$d˥.8kkk333;F E"rC#P h+$I8xGc"͝<ϫ4k+)r__˲*;ޥ䗓 5Uaβ,t422 t3VOO͛7#DFt:x #u4hrnNQ$z^7Lm$#gnSSuNqeSRSڵ+55J@Y,Fce <Mض!|***Μ;lVv*ǃb1 @j8pO>>??O_,S pZ A>nl666EFp;N úz}CCn0ƍ+++KKKpxmm-ddd\~]7nlll8.M]]]>%33snn. \-eX$I텅aii nl.ap8fffaX8ڪ E(:<<$ISSS$It˗/aW^^TxOKK8n`` --eޭ@ x@;qA͖ښwMdggtwwa„fSPUk׮ɢp8p8@!0ʡC\.W`UADQyu\Z4l333۫"힝eYv``h4dee]|Y׏(p8ۗ(:??!IfdX,&b XlbbA~UN' Yֹ٩)>==ٹ :H$2??I嚟yl6gggoll|>l4srr&&&JKKnX]]]~~~WWWAA333;:: 0g``ncw?o hS5ܜ3DQtuuU/,,TVVv98_rJM"b4Vggf(Z^^U$EQݤ^_RZ;;:$IeugGnuEi( E1'baaAM׮"$իWatN*B :^ho(OӅB1]__(M׷ݺ j>(j``:~d E>P68DQ,++CauR,l6A8(jzzeهzgppP弼wN$N_ZZ~EE,˩ ܸqxDQDQ4%%k׮ֲ,r yxxhhH{n;33SXFEx<o /Ele^Ol|$I2 SUUEQ0^G7YYYo~ǍF#(*++Qeǁ.`0¼<A*++_p88obt^`0!2;;jkkGGGY}OAǎ{DO$(&=pCuiVEtv=I8|>`&m0 j9lej64nlKz8(φ5ԹFjdUܶX,,] XԵ5^lZ1 l*++i:M`qx{#G`fXX q\}}(`OUҲg &''1 [^^G:F`01D`0ᯂ 8cǎ~ivgffp( kym $EѴœd=7 fvqTX% }ƇzHS~ =mll<}}}կBo#ς8T%) & 8!틚 ȹs&&&{ . ۮ$7XYY(*--8//h4ߺuѣ% ҲwۥՀ9J9Œg2FGGA;  C0Ddbb"##f8p@钖t:Cq)));za9z^'fkip^;0?`2~ů 3L,OG$uXo?P&n:أ'3m0,fɑeYeźwBP]] (srr0 8~x$(..Bx魭-399 GQQ*J{{{,(.]Z[[ey~~z$AmFsssq۷oqDQ8P588gϞ $bfE|`` QD"6mssKk׮10p8N`fӡP<aE{{{BٜA|>HeggOMM8<煅ة3 fE}aa|JJJiiLYYmZCJrss777'''vGGG]߿nZSSSp866(J"UUU`yD"MP, ?VVV1s}}}߾}>==]PP@$ _PP +++n0qv}rrr~~~sstcccppΎ  FGGNgAAAaaafff(:p@OO؟C'՟(< d~z>9ox-"3Ch/^3 ~ }ݭ(Jii7<A0Nc\Aq aF,WDQ4`0d2mll2Tc5`U6hP0E$d7[uo0 N`8.d0؅æ? YVl6b1P/--%B@  q@J-F#0 p I6  aZaԸPpx<*]`F!1 x AßOBh@;LV$IRw|vvnl6Ap9٬$1 K$cccx)Ѫ*ٰ\L \]'O!dxn'GDޑ=ygv&?D,) }ŇTSԱm#y&wc, >4ᾁ&JkT|!(LQ"`iJJJT~vYVoKӢ mQz_ڑ8(y~z2iC$ERڐDt{br5ć>%MsQe~r;|'~xjQms;wtchUr%U ;𑄆OT;gNdc_?U( `7X/4hp'[hjAS +{?$Ol2 vd {8sn Q`܏k.sܮSK-] иcSyө28 !_vTFM0 h0 AQ9pibp 8Nfr#Uy^OQnckk UU%Fe)XS^4mZh4L&:a,KH$9]P0l@ﴷ1 4hР{ ,? _~=##c~~5-- Eh4l'WPEaY6x֛o$)I8, EI_EjH6_.oeeettt( HeYEiܼQhEIBQ`0PPXx…x`8~it:766F#EQ(ޙh$ӛ]p8~qtt4{Ƽ޺Κ"}rЀ7gGؐEGǟ)#Mc=>Z"Ȓi"ħw7yMՠǝY(u_].;~AfɄcO:>;;{cǏb@]A4m2FNjB;AF#EFl) B(VUU4"HAAA>$ˁ-7??áj  fggo|WWW&'w޽6(JӴ^9tp___JJ2Lgϝ+++#EQ~_2z}vv3>񼁦<_T\\\\L4akkkǎ=~Ħ/I%%sd(`0ƙie+w83t۸=H$ES'3G-"7A:B=t PhK >:cҟpU p >pt (&0X Q~B;'0IH}Nq( 'PDAp#tw[!")LNh _dܭA@`qaLӍ2c>ӓ䵫Wgs(zwiiwҲ0L QwޱvwC,F^~hlzuxhv-.,8\H$0?NgaQ`aaaFfb$z(n)vlt-,,\r%$vue,.,}Ꚛ~=EA,/.,$ Iggffff,(ɜ\/_V%aYQDAz<67DYMQמU(Rd0L&Sp333,B( xӌQ% AH$I%qu6!ڍ8 3~ARM3hVӬ( `M: J488 F*ܹ6Q!`.yԖ$wZpaǚeY&zA0$OhbKiii,677?#j-"|yye܌ٍ#Gyt\y {_m( }%6H $%R6J,˲wb;Lt23ӝ3N&ĉl'-KpqAXHbԾe ZSzC{}P(ij^GGGM,--˼-aeQไ)%#3t4J(_cק  є;h(pMǍoGp o*ɱlz]v%Ϊ>_[[3̛ogggm#H2|' !/^L&+P|z85#B+P2jlVlb]c!YQC(K/5@lT(i^wzz1vɲҞBHii)B(mڴرc^7N۶{)299YTT zzzxǂw}%lnPwwDSS@sss^^Çw$HD|Ue] uMb}A ttt%-hhnYV}}P(k.F&H'J(N)iFEEO<:ԢԾyoi Ӳ,۲E!Ȃm1Q}.g, a3zͯMB#S*@lU7] +M*JTm|,uzb[oo  LMM)cիP}$I ,|_aaaww0yvB7^?^[p L'~pFDtwCHBH$`Y$"@0F.Yx-pL$BȲeˎ=t:GGG~C5IpffXQǏ`(are2)Kp  2 U  ?NK"1;o-:yɓ'W^?:ڵkO>}jYYYF-['EjkkMٳ`ܹslI:::N<$˲EB۴Hîk㑱$С _~XHE0LRDO~j1Q"##(v4xpx4Aqݳ_;e%n-\W %N0Zqy2OǏ^ykpz :xv\uI O -leBXd#$|o2L:߉ oM.c(x'gu;wkAa| 1VFҰzXONYe!i"S6eHL6JaьEuY@ Es4u]Ӵt:ͷjwy^ݻGXo"c۴%;$mR"bQc3IZ[`DR%)!LxwvZ~|i999FNJeYضx$I|av7lO*<c///yA$D$阡D8mԙ1gҪK$"JB|6-HD{16ML!2&K\ae⦙%Epx5۶@,NΥ!c)A"[OH^-JapK6B~i@) >clǧ%րlu~a>0)g.jSʘ@0_"30B!1e cDfٔx0yAxmNp8MY|c6p c͢F!L01&Bڔ?ssM /Jg5|]&y.|B(dg.wmڵkuuuلR~ybض bmS@s "ۑQG#W̯1ffr 1l3A~ OUeQ a%&/ >a),@0IJO?[d 0 ~Aٛ\xj OG|8cNJ h 6!?Ec+U1Oעg|.a)^ Uۏs?0^A%?Z!|T8 RpO h=d= Lfb|3`/1Fc0Bf?&"?Qʗo^{w0FDl#SՉ0a4e"0o V4fcv&"ENc#AuR`F*9[s$֯ŬLcY+Vtff"`ti{RP!;"S4HjQ"Ε;cĠw7@ԎK TiU}gR]X`ӞŒYߜItZaL LJ-]kn#Lcb@)\L v:6j-v"U4kkt19^ל &.dB׈DFH;LC}v2j猩fcg_.8sb|NǘƢČ$͹t$v|ΘʌXIAn_jCJw 0ˆQ,MOWߏT{CJAժVJqRTK*e:(c,XD,)Hˁʢ̙ Q;6G_?%oa# {bXVtJ-i,3gMݫwG/ĒBd1y\'Yqy%KG|aQN{DٸM 3AUu F!ױS&2"g~ݎ.bN9=跓gzK8GYt}ge-s'^N\?lNDR#%_K^P E9#^F&~UL&J$_ĆU>=wr$#Bt1 AcIMI:fYCLi,)Dq03(%NS1,H2DRo80!W%G34Xwl0t76b a":r!aX0BQQt:cQ,)aD)\݌*/%+Aq' coRs~0v3̠!؂+:<;pO h=ܓE1!80W9}ZJ$IL&ٶS,Db6YVTuffFe4}1m__1f(0-||`YV?///L~{x<@ (˲Lq:>i UBgNhiy~2lniٹk(<ΐ$4t!d2<.Q&"L{֭/M:;;)۶o_b@Ow$SUUE)={̅AHRXlbb¶vwNɜuRW|>_gggի|a>n!cqESO?Nvu9Ǐeee>TUɃohYFaaӦ}uuƂJ^;sL}CǏwwwnƘ $)gs\drEcc L T>'NǏ ;V\:h۶mY|o#!$ΡCF:vcݷwoee(á:߬`,H8L&c`ѣ:/׿n|E4 ơP?855bUT$)ƘieQJE4sAq{к=OAAt"i^x4ַzmۚ<~*))Yzg-KEILӔ$rE"4_n (l?@2F"^B<3Md24sss#cL˲ p:NkzjJu91>"eY!8wGR[r3j,I8_q!DH$KEMLL1϶mJ$ID"ʲ [ "ACv] [J!DB/\M`QoxD'EQ׼%&`Bxݧ_7oRŨ~)1а pOOBһ0[#)&!ȓ5mdY<{4T*RUc18&DUU4=q ÄqUUoD?fZ<( ,V{n IDATlظRٳccc|Etb H)ݱseYgϜiec?ƘRK9 0X,(% !,K> !Iғ_(La07nLvY\\o}k|b"R\r!%v5Z533(a~ߟp8dYF1ƚ˲777Himݻo_ɱ,RPTd6BHEC۶Ng՝.]|ZlYex<8N44LT,s{c/K+yO4,UYW"ArI1σ୧xL`1/MJM݂il~?i14뼦Sp:<Rll+ Ob p0 Ƙ(sy[.+*f>sw=iO>dYEE2zO}.xw׭_~sssyo}ے$Eh4N1ƫW3x<# ÈD"pdD,32h8It]}i.{i&H$«@c1^'RFө~PWݝ\bI[׮=wlCl߾}jr'/((@=/(ni.]y4]?s{ض}ъ5 |G^ܸvmUK`ww7y2́J]|>;{eT={&''/^* |ְJմ==Dbffӿܿwo&L&?شykٓ1˝{s݁?~Æޞʪ*A=p ~kMk Ξ*++[aCaa؞hjn.//޶}{]!r%pAP('׮F"d2)ÇO555,19ud2MMNcўT*U^QqСw&&KR4N$gϜ9t,_p)uYPUYX2wg xܹGzj::{7~zs[lnn~GW4 # ]%Ir{<;N۶A"SSX\4p8=3<1oLrкT2i5pؔ^pp@, ./BܥKdYb dRg$I+W^x񢪪10B`$Bex߲m{zj*J:00044433SZZ:44/?LsX,Lڔ655?vl||٪J&mذ~ÆT2 ;,EZcsDBuJL iaaȲibdx lUUS(t!iZ"x~D"!?=9p:4#$+mۆa(Bm[QD"A)uwE0 Bo-}AklK˕>:v8x%MB|y#=Tw8BR8_O󧧧 pԶUMu%) (Cs:6RV,{ n 1_M%=? 0FGFDIEWd\ dO>ɟ'>pYQx |6A =M7{5,Ń`Yoda:@'೵H/g\` a2ƲJ-冲Cp8iNMN mu/0BMxL^:q `i,4PJ ϟ?|1M L!TYUv?xQh4*IDR*mۄMlJeI?iq"W_5-wv8LgB,u4M t'˶((qL,|1h r\nٺʕBIMΟ?npcOuj)?/+{0!mUT|Զm۞ڸi(eWx`h$2=5 {^E=ծ7GG=d˚5B4︭,:uu:ښWe2ֶu+!{-@zeSm۶QQ^~ .KέBbx2RT2O$_U]]ZZņAm7 =nM)/LbѨ''Ge;=z66'''sssssa$5ϝ x"1Ɔaiit*EAEJiBd2ɳ't'-"c]UU,+LbNg&D1{i6cQ0$ɲ,ʘ,˙LFL:-J(Ka}~@klKo: ,b"\n7o_3<4십뼃vwfn7ihAO Q;c$+dcˊrӶ7[_/5} bߩ-ϰ^Z^fXB{A  'es wxˑ *.*O~~ٟ 7E-{cjZ&„0UvchKm[4۶-YVQL&srrַ ÈD"iږaX,njkM$h4H d,!J)?Wm ;wjhhŠ~`8o~SE˶cX<C1bh<,+JaSɤeYD"Sx,N!T*XeYV<FDlj ͙yUW^͏7JbX,vw,#MI&y~'NܿgO" ط/JܶeKiI Bh݆aX9 #华][UU5߯m߾fp``llt666ӏ~t׭_߸~㏗WT  w߾x<0::ںvm۫Vnlju}ڵ144j궶iñqӦb~xxd$߷xnΟ;^7?GͫVimohm\HXzwnXŘiϟ/,((((()- |`--ڦ=p L߿xhlƍ[n)-+[x޽ں;w mF >/tnٶm횦 ֙v@`s[[pdG Bk׭[F=+V46 ݷgO, wD"  E"@ pt&39>~ʕ--ccc::0|bnvҥMM>jWtm}}ooeRǎ.-/wݝtP(&&&L c/_ƚh$2;3zv`($rڵ!۶srrFFF&''\%46vCűP4H4:7;+%`OHkl.HNd2LFeA(S)Ӳt]ɖd"!i/6 Pu4M4 !,ߥ_6Xw8cDaaeaBdYLSaJY鴢(9;˲,r~ dJJKW46ƢQ5 ömϧiilÚkP NXqXy^0͛]]iZjXdOc`===}e˖Ek׮:x?˿]gvEee&bWx`~؉mQ|嗷mr~iٳ HLOONLD˗ojk,G]Sd9tvv k>HGCCC?DK7ncPʕxv͹\W^~yG{isC8055D`}CCiYj\rzjܹsWb/\hYm^{e͚JJ3g><{VmY<{BQ)x}}}YY_+))aEcc&Yr%/X^^p8([m{7~۶oKhm˖<~!QλG9?lޱsɈа|9NOA43[~ܹ76ٻS?GaMB(J_w8z+o۾>8:Z[WL?ϟ̙g\W^).)IRW\W_={tuڗwmۺUQ'vcceYDWԶ#ejkj:q&UUu˖-?{=r!i c #dfss;'S)j۶mrwt8$AmMt&H$<$O[B114 ^4MI8!ڶ WvuUTV!w]6ٶt:Ap躪|2#d۶eY>Y D<~ N:uORzͦivww3FGFi" cؿ!t0===<<,¿q87$QLR+W~{߻~z4;zp|8E!JR$=?77hYҥKÏ=x}}cǿo{ޞWmfYE#YУ=68003=R:3=rn((Jhtݑp8_o~#__v- iEE\~QDH$( 3yKmY(ڶg,D"z LO˲LR$؛D,t]SH$$I)H.+ PwϚ,NiSS|sӢ(zH$iɆOJi D"i\ EQ2gFG1ds8</tomYTEAOMI|>':b $dr@H)O\ryLS?P)%&X R[|3`M eYvCŸ h F,j 2P{ IDATO  OGB hA}l[g7&ϿʟqLvw >Ά>  cd_50{tE|{˻ ȫU;pO h=dL(at]vc̢)l{Uv]ÑH$fwGj6#q^NK$T*eV, ޞ># p8SF-[_\56`Fbtn/,M˲|SiJ)?v3#Aٕt0;;;cT,>`۶k׭p|:^zu4A@5ܹGb1(۶yj^zٲ1Jggg=d (Nkjrfl ,Ӕ WgQ_5(aPJ TUJecrn7ImYaõ(nRݷ7z&5{=99TAQADQٰ7,+4\YQQ5Md2bLHKKn^~~>&dt]/,*x< 醆ycGKRTvʃݰ0v\ (RPXh&; K擴Ʈ6MW^پ}{yyyGGG ?zz``ccuuuHٳHd 3NmܴrIޑ#%ngtxx ÇWTTWWۖUZV&C?p:'&&;}/ *[eSjvaaCeYFwXz5-k;wzٲ ۶ ;33L$=c''7/e6n,**,S O;ϯ^_֖J+* ~II(ׯ_w8e]]|2fi"OPTX/𙆊ܾPYEE ohMkhhp9Lٶ=<< .ב#G6nTUUH$dIr8nD"//orr=#\D"JSS磔;w"<99?[ǎ;wtv,Zbų?i ˗;0:N}5DBQ=-[BWf+/ PU]nÆBM6ntڵܱcǨm744\r%cG޾cDž竪m.-+{++`Ee墌}xa !$L۰a dB,s xk좢ښ^EQ(_G}!޹לN!Rёo}1YQL.$Iw(-+Uu8dtls&6fɒ4>>//O?+WTUeyl~dYyABBi`GGFjVXq UUmۖ$TG}Ӳ7^~H4wފJA5Uu:$B Ӕ$ID<F1::<`034/ [c?oء`KJ~sn~ʕUWxXz{ťM)4 nٲeYM3M38:P__[[k 4]33׮_磾imSe SSW._|Ŋ۶i>:222/PP03=L$FGG+V65Ji231> IR<veٲ,L4MFn7?4͜?| AdY͸Y$g(ct:?H&X,''Gw8&Bid0vkյk0 gyoZ,oL]D,,4UUzٮ̽.ޯlɛWǘ+f;\D۲,Qyg+(ɓ6yꅵ3h>bϓ -ɲq&yԩl3lh 6_%YY;;A>5o)GYQulk,xv_43ٷ_!$idQ. /uKgm~:2`Bu[cc+;p;F{1>;N4WO*E՝G{A=uζ1[>ԯT!K`= xܲmިi-~t[`Y "ahABt#IӢ$i{eL&UU]waRھkWaQQɓћ"1F) xCc߅.p8Z֬p|_Uw'$mm}>/N|lkUU!^+Rt~?iL ^//enjjL$@t^wW\Q5"bQq14MϧieY 8NQEI+Һv*r3)Y|!'7wp``dxx+W"Μ:~ÆP0[o=uwuUUWts oF0dyss۫kjrss״655Y}ctdW[B~mon{ !PhzjjS[(|0777Ze%Ir≄@6qwl+?BEYzu"srr:::=ڶuk&~F nc.?xnܸAyk_#8Mj~NSֵkƼ>xp`4́;WuڵkMͧO…ZqYiK/XU]F_x9QW\e55!IC\zһ`cvAaG_xMMmwE1͍=u~mۡP~mQXXx{( 8 .](Io2W:? ]p^X|mr}>BH"D" P0B(1LNs O=EmÙLf׮]jjNutou׏yߞ=?w.HȯPYUSO1Jx㍚iAۿt:Ϟ93yt֭ṹSpXU?.<أ=(ٻ8^A$2@$`Z\7V,Wu\Wr}\u]zOu-_:זek%Z L$ ӹg9$I\,jt8y/..*bqƩW^(4).:)n]cѨaNsu%ZV i|a  -뺦ya$eee8DP&q6- YYYpXUլl1e(MUEyfaQioo)6: Mpq4Q GEQ2t]Gюt:L4L ,ˢA,/a˲p0S%˲(4M~p$5BtHEqPUH&u C1 {(Cg3 [tʴ9xu54_\#x~h쵫'm0fkk|`6 ؐ S~Ӈ6LZgРi(*ȐIUUѤEZH!БhhA뚪,h'jmH|k=i0M _9rfE"UUxZT6_.//$ ðd2H$PX6O$I4-Lb1M ÈDW^}UuY HUTU-..޻7???Hb1EQ4Mb,ë`=6 0 jںvvz~k_KR[kk W=77wqqqQUUIZZ[I_UU %S?q"77wiiikm-4MCm::zzz[]]}є(8s0$IniU6: MӨq'_zIUUeFG+*+K&'&FG&'Gwz83 $(lZRZ:|noݺ5HXm;nwmwʕ} ˲| ]_Z\D56dAiaA;ONL8sDzXlyy9bx<^TRr嫗/ʪkmmlhlC׮_8. q`0 seٞ[nCp8<99TRZp̙K.xjlLO $Eaf#I^+++ui p l;wڳ0LٻΝ;wsrsAY8|TYE4M[-T*_Xhmk$Ia/{C$ɡVT)|h9 h!DbyyYӴE?H0;;;t0E1a]{oətn..,,..bF b1‚n4[tpX^B MM>/^4:œohl5MC %I8NUUMPΤKEӲ,s'R& Iaݻv$H|>/N_vm}4Obqqqnn.LZm6Tpelrbg?i$...q *Y-b4 DGo{7#pQQ(2تz>|}}}axztT~~~2 C$546^4YR7EY\\u= ^__~KKK8.b$!HZRR2|a!LX,$`NͷV46Z1hii."<!RŢ뺦i,˦R)49'IRE"I ˢ5\ A(JQt:MӴ ,K0 0iQp=@JUUULx^4a DQD?՛4MR)eQZ,ˊpGQ,rdvve?yEQT[ 0n>]֬ӀtaCXѣ۷WUU-wUQYYUUEQTsK˶]z>x霛b3Ӌ'_~yaa!JTYsiRAX\\XŢ۷n޺uʕ+P0d2)IR8.))Qdy%ۋxsss"G"S.^lhh5 'SeAӧ IDATa)W}%Lp8޾knDKJ &'' ÈD"HDQ;w74,ojj]ZZjkkO;RٹT*L$~GGG4sr9;v622r]Hlnnr$/8n Cw/ L,,0L";x#bJ8 %ZL$AV@'N6ŝPEET[4MӉ~CMP% P#TI 0T4Mjba\ _d>\Pq$I<F o30lK UUE>2}-x( QyLbizf_/"1WUf6wYdA8i:rA(d0 ۦiR88$NDCAPj磑A&nm8뺦iEYVt:j's$It]9' 8.s|i0 AmCWl4Ox*U655:Dzi9z,aN,777wtuG;n߾Fܾ}";wV5??_ih~E|RGgo8xh4ZeK[{驩8N斖ׯB!ݛ;{rUVU9Wǎy<a(F"$윜@ `w8?z,<,˗/]8(^y?zXZ?x}<"?}Matkk,VUU]v i TC:ھf޻p䭛7;o,P(p8|nuzxx> yx׮]۳o_0p^vv x|yi0ͼ\oAj%i$jjVVVTMz@C7_ߵkzz^kp8|ĉ7nDQEf$YVVrJKJfGQQ+,,u떦YYYYYY6mzjr񂠩u8v[P`'v{VvxuMpnFaQPPꖭ[-ˢW_F5U} {[1M$Iܹ@% ,Kdn/_qeWg_L(*.^^^~'?zCD< gu]/((8\ooR8"$-/-MOM⒒'7]D"_|pŕ`yݮ*ʽ{z_'Iŋ>1 cXvhp+I/.)I>ߜ'IҕKnߺ2G 6ۻoٲrs  0 k蘛޶vө,? X/T60nGSU h(AVVVZmklhE.n;rN8Q\\<91vklZ < b!Irqq`O϶{yy)x|px♙lɉ(665E#cǏiaXl  2i0NX4Z[W748R8ھcffppp:%Ibs###HC왛^Kkk[{А$I $3`hlTTTLNN^x1HNOMeIn߼YXTdáZ" eIbP͛i|H$DH,O⭛7m6{8A驩T* C`k[މ101\Z\W MR)Sx$BX4͛E MӢh<Eq|eees>J -(X n\u= ߹SW_N?x}Ϸo`Y|6=U O։4MEH,EQE!i])4aQѲCe3*t:(,3 |:6 #V'0L2D(,4-R $,KӴ,ѥcP9 A E3M5M4 /$ }R)j$i0t]GNy83@46ͷN46EQN{Paݚ\>TCX,a0,aa<}VZ_`۱؃ZIv#SaUP|x łr&tDh L؃ot#taF$I4kR3/W<024tGhFAvri Ou akiu=/?҅ ب3g.] pC1 # Z$AsxI5MC(xg63=]UUh4M0 _b =x00.\p{<3Vo> 'c hkFGu]E&?d&|p8LQT" I0?i f_zg V @|˖px 3p880q}0L(qeD"vՕ(Ms^:d2OY-gn߱#N~-e! xڬrIt* ~GU2׮,ىJLp?<ϣ×oA燢7r.*vE nx:?hmdydG`C` YЀ8Iį=^w#>3:ID ͳ!g:'*FcJ6lى>Ȕ̞T*iEQq7 #JmMDQqk48.˲?B0 UUq$Ƿɲ:*)aJD{9aDQlhhزu+*تa(bvmiK4_Zss3UUsr=3ߨ}hFQX}Q4UUEz< `ϔa lPeX$IZ,ۭi(nr)iZvn.˲zAAn deqA{GD"Q\Rҵ};aG Byy00 i(TjR^7o߱#;;ѣ[kkGGFl6[}C{wvBQSi6]eArrsP&??008C)(""++eY0B͖-}>00<1>^T\|NΟ(WWW;T*u-At]w8Y?z㍶ORuMwP8|…۳wĉcVYY9stIIJMLLze-و]]I)ch>aiYah>??̙/Z,C Xyba0MY4QSK/N2 奥)YQ&LP$*M$I*  icW_;+`' URRvMӚiihla˖-$eW8AتA0 a~= X,g i2 3󕗗8x9-SSS8\ Ѭ@]b,999ׯ_.-++s'+kllK4DQt8$e,-.$ ò ^j<{Ƕ윜i˵GQeYMVVV?\VV&ROرsƦy(3Gq޳~ddr e YYYSSS999ޭ $Ivvu I_aFDZ;:Ң<leMT%''0H8lFvv6ZiXca&Eөdr1,t]Ζ$)HXV4:E44n 'O7;vo]_#b2hv' M(zh#A,<ϻ\H$"d9.B$EQ8Ah>5bѨ8. 8 5Mchrb1*EQh1nG+;>G(* o~f((3nA`]"aMcU}8q7 Iԣe$I` 4MR[;6::80:Q2*IQ}كzIPOQƃNbuS.zAͷKєQmA|N@__M,>ԯ?̍U|i)83 fBd= p H|0bs^oxfl/ս{ &hr/ik\W:Gnt1kV^i!JXР* pzhXzs~4z(@AHUKD6: $Mڋhgf}zOx적 I7qС|v=LlMz.(*:˦iFQO XȲL&NiQT%JDږeðd2L&1 S%j,S xz0 z|cXuMiSSSs,k摣G=˲(~zkmm~~xwG}}}0 B]]w;;;FG{uŋŭ۶Wdsp``rr!O^O8.rm] 048o~4kl))+ۺu x|yyE&bgWWvv(mim5Mѣwwb'NܼC=====X,|T$D"$In/k[kЀj;έ--PHD"Ȳ$IaQXXx7dEA3Rg:]. Μ>áOh,vёD"1?;;99y¢wy7Ou&Beq{<(ꩡiA(aeeu۶Nf&fE749ztyi0奥윜'N$ɆY$ӢFGGFvvwWV&ۍGՈ'؃*SQQ199yD"QSS3;;;=5Ǘ%I}faQaߏF",74X4f}x- [+-E0$EQEQiZuQ2IAbk><<|ڵTeYIdYfyY%IbeT*e&󚦩64Ux(Hr `٠xkӉ @<?4mfCnXΞ9aXNn.:00Xy0 8T kzف6A@~_I.6п'؃ 4z;s0x|,( t4`C Fci>ǠOX=FUяwٓ^a0ϣ:]UUnb<>O> D24-N8.a(T2lmk(JUUQѨilYй[nھ= %D"z<EQeMx$IEEEomniʺw矯owtp#Irﯪrʊazz [v^G"@  ʲF]N;wfQMϸ'-=G,;==ѡjKkkcSS]ccd2rv|lѣ %,?xп9995557o #/7ʪYohppddykm矯9r( %' GccF3L{׮bt:-R:=3==48}Xaaombn_14Md,S) |y90 8e;siݻׯsLu*B/,d'nۖ_P`0 SeyqEEXֆR+*+M޽{aau? IDATQWUÒɤ\y" ð /YL(~_5]h$ںvw۶mFn7/ czp~=IJKK߿Ҳr5Q^BQTEe;ED"DҢ/Eq3!㫃.Q|6ib4=yl;lFPmaO>Ys>qࣧoxR]86 4`C֟uYϲFctGBO~#:Opw{<,F02KQF6ʪFk#QD5d04M LȤc3fV8ai7Ly]uT8N$i*.qq$cX*R}faI^܁4\|YUg4yl!kjM򶵵  wt8N0 ssrDQ|Nj=Ϣxss NrQQYTQYv*4M.jJŎα={^~4ͬ,^YYY]S׹}J  b0#Gf}mmm^Ƶk(~ {['"Ʌ˗.a648xU4WUWWWW403OV֭[Ξ=+0w_N3ceKҢ8:2"Kk׆X6/b1Af}T2yĉ奥(ZV͖L&Ϟ931>ar ˲ VM7n\tt:-6["_X4O$3hFrrrVfyvO{.(b zzҢ(X,DZ,kZAy^L pXXVjeY4FOV뺮|ԥKv޽{Ϟ(,˲,09Ҳm,4M[,Zx, UEY^^6 /;'HQS|Gc{KKd0F"a'ɕ@$x,=OnNٳgӒ Ѩ(KKP(j]oUVUŢ@@d2999D"At, 4˲`pzzL&iNs|@Ȓt?(jfzznvSӴ@ 966680r>ͷ^44a$A &0$}8O(#`I %E4RLU8.Jq nIQ(t0>;h@wvw199y-TtiT0ήT*e&M@jRQ>A֘Ӏ㸢(y}dY0LUU rrro'H|rir].,˦i{L&~#|,֙Ӡz8 @@Žm{eIblkky ð7oVWW{ߧiZتzގܼ<}Ʀ&a|{$9<oyi &4πBiMs'b*E$EQ$qܵ+WvO~bf24MRx<0 g: 2Ԧi)QsgϚq*@$:m|_ ki8nZUՙS`<34lOۍJ;PE4NjJQfs8*xl6(E,k۟?vf PO4驩SjYyyN*5:2ҵ};Eӡ`K8rOg$}k_?ݻtiYIN?{9;gNyk O:]RPP KĄ(x<64Ma8+A`(+Wrrsb6>>n?wfNkhh0i }>_]^?JGGEQSS?я־ӟ& <Dc|k=iu=/? ~ÁeE ++}o of,iMUiVEUUbBuCeEC x^Xbf}}lc48(JSS+e˖ιX,&K瞻|bqII}C0رS OyAh|[nzϝ9SW__eKEe3gGϟ;/TEEEsK!]I͇in[7H8lXt5pq ò#zҠd91 v1_;sK&E1 ÓiZ4ɴLfK$PamEo~ h*Zi:8β(8Q/)B( A,kf`y I${_/,(Y/Nsgf8ze43ੲNl&M4K~Paŝ~f}5eQd7aYfMfa(|RnC|̶ ʏh0bwp]y(oz:9$@Da;)RD*vdڹq2)w'{_27snvb;v$ٲHXE`ށzlbb7C>k6jBO[53h#B^8!BAB!A!y߯9wܚC 477ig^|K6n|d4%IZ؞¢"˲L .ki]'?P(_P@),H˲xs<_RR3q*!Cn'L,p\Ξ{gٳ'446奒?+@yy{.رrдvmV\ifՒ%=ne8K$W.]Recc.kltjɒ;w:]}4)+V66 !>40\.WWW_}kgN:I/;o?!R|f R*IMt$r㧯Bm۶mgZx<(=kWrr6mtiBHeee^^޲e1+V\tؙ;44411!>1&84 (EA b(^77/o߾}7dKt:m,˹hyg 䘦K&zsg:΢g󁜜x,T(ˤӹyy4d"aB4MϷ[WRZo~3?/Oq\~~~4u= 2 ð-˴xk>>4Ӂ{]55"H(B]2Jx1ogw {s&<(h7oxweKOWL( RђȀ>*jU\]h L1,`@m`MI7gGh#_iۧU;޺ 6)B!k@ƺԩ3qߪ2}vPCF/&ν)l%Z6rՑK΃'[I3='Pec4zLZ&]<3=2ԴK!M@ q2(B!"-MMwLF l $ޗkc2 Gf[qpF'0Fm fv&NDS;54$NcZ NerܶJHnNtq]D<z0~~QAxE!@eØ:$0C Dt,_)e h\Omf[@8 <y+=OG$Ov(=TS&#4!zx#h`i  B!$T$xc~&IR0d"YrϿitig"wUU5Ld4vH h> ǥ;v T򜜜+W6GѩI ϗ$1u6}ȑ+/ s<%Gu}- ;Lv]Kjj;=3sȑ[qQFFFZZZfffjjkEA\ZWwm۷{߁_ߴys"ܺuSnݚJ}챳gδbT '<_]]uݱXl݃,w8Ѿe˙S֭[w9_]]7o^g՚5'N( 8Smu׫ !;lNuMU4Mvn2ߟǝ۶U-+/?~S4UT%25uʕ'NTUWWTVRJmJSd(reN)-N8q!˲BP:9CCP78sի)oFgg늢N-뛚pKLfjr0sgvvvJT$2>>w^W7فHrzz2::ZS[;80pctt4TUFn)Mg2S)UU#H4MbN\d qo8p%|wޙl[N$3 [v;z͚'+8nvvdե^Lsss[[[0dh&F}R`vᆆ=FRTn^a>|[m[^_?Yg֋]]<ڵkƍ566B ~'pdssssknJiMu#{yQUaUUUp8'+* B!.'PUvg%իV-]ZS[+˲ d4={655zϞ> ø%1B!!s y> ,+,*:}TWg)**|R$Q}}}ΟuuuCC%o3q1L$]vf<WUuffFE%I&uuu}}==MMMSSSǎYbaϝ/]FX,* 0vp8tұT*ͤӺMG"dRSա\Jt_ږ3OIXtvVQ]AHCCCWBzzzrrr,u>\nZvjj AX~}OOKD}Nލ!?t qVL0$Ir\0J9mY3PeEQ(.˶m4]nQuB$Ix].zBu4J@dxxΊ Q[Â՘<ϛ)˲iΧԶmMMӔ$)HhS]ՙd$IJdYi,Kiu8Qmv(ydArNdxApSȲSUyAFKKsѨBu cLEI!nH^ ?$JwPJ}>SREq.a9c:@)\9y >l PJ=OֶmgߠN999yNci 9t68a_ÛR: Cq.V!Ї½޴K㭻@.<ضJ%{-c,{|9xwT]̭ao=pS%1\@!Qc!Z B!(4 BhQ056B!J}'1+\ L!GÒ{aZꅩQ$n^7&oJu4lae՛(:% N 9Bfg/,}*!>|jl`)L*ʤp#i$t:~ *L:'ev:Ei'?sm<wJ&I۶?O1RJ9p*NjUU7/㪢+L)`ekt:SJML%MBAcGB֮-((H'N4][^^~ggY۶%IڱseYǎ-((غm[OO,I}6]VtcFGQTT$EK%'e?F-\vj't$ǛkNutٻ7Hq@ee(mOMM=3EEv f 'a~~~nnٳ(xBܹIY_N>E״]wqUl-[8ϯ +VD"33mBÇ9[J(իAXf+WJJK !UUUSiwwmn6Mly}}<'?*,*j[iRumn0ᅓ,̬߰ajj* ⭷֮-,,XҒ״v zK/NOO} {!SczmB/ccG~ŋ呩O`ww~iTjpp0\wvv&ى u]D"~OڥKϜ>ёL&m;/?/Iqa$SS'O^|iFѓ'N[zȈagϜ9v!vņΜ>ƁnvO?~1\Xh[D!Sc{<-+/?- CCC@ 77w|da'>A0<(rTq*4[ZZrAr>@ 2>>Ȟ=99SӑHKKn8!G̃Odl\J]]̌ʲtҟ^W^/++mhl4G$A&' 4/vuy<˗/GgggMӌD"D":;;33z"[ZWgcRTprrrvvvvvVu, &#ؿ_Ӵx,6?7jj[o1>А'B>5eY~ɧηmSxTUeٙTa/|sO۶ Sfr)9K%-%I2 ygcIlX,bm[4I4RJ$Y6MӶ,׫*`'U$I-Bva67ts|q\vǤlf Sة=!<O"n$v:0 XxI1N΅,GXXvpYm/|:%cBÒX0 Ҍx, –)e)Moz[Q]m!yX2m"l B!n w$!B܇#h@!B!(WjE;@G+nm]n3B}|<,%$9ɦ2ll,ط,7^;{6,v9[otd߸B 퉉;w֯XNSɤia`YV:d2?%NU@&qr^;{F% ]iTJUU]U<w~d2d2 v-WUy0O>.,Ld0 x<΃b1EQC1t&f9ɾ pmNBF:5 ;Lv]Kjj߯i(ݗ/MNLԯXA9۲,UtM:;z{7nڔ(ʡ.//oni=66cNskΟmxS{PWgP8Ŏ>\WWs׮%KF9u}ʕUUU%657?wnb||]]u;wdÇٔٻ״3NXʕ"i$B.:5ٳSSSn^쬨۱sg4]+v?Hyy9yyyEE6ӧNmݺ5J}Ο;[nܸ1L>NlmksݝaYVyyl[[[,{|߾O777kc˗.UTV>gϜٵ{Іʕ+;&rKKK(J!6?z˖- 9@iiiskk"z<֬8qBdnډ!CeBt&sׇssssT*5)0v=80x4UfWTLOOWGGFjjk9yBCCre LӼrG9"5klJA \@ 0:<|c```edc(^YU5>>ccxϵk.^_~w2=5UVV66:zQMNvtt_ KJJRh,{swygrrm:Q>V!v{< b>o˶m˗/O$Ӕ裏=vH$D"X,;>6.,ܷo_yUU__Qaa{{5kΝ;J$ ØQ5-|>pkxA''77Hx}-۶-]R*diIɦeFGEQUujj΅Bʪ*I è[, ].'Ѷ' <D|^p0 B*>5(J&L&z{{eIs@ҲaM"HsK'G[Z[y=}T<oiim{||\SP8xH$s(.khhhb|:["";(IԶKnʚ}SIpr[/|l>JpaeYsss,gk[){ޏ-0h@!t=,okoʔ Rfg}ߚ5{X:ۆ>M57T%{alBopƘ(! t B}`ЀBEGdiʦwzɃU2B!@mN!2MEU qnyxҲ{v;ii:)4We,rP.BB_48(o жmLDce `AvA8.*.sE3aйRJxAfmZEKJϜ>TtAr2AmYyt: λ? z}>'| PXTd&G/S Bi<)%%,cgB!tkx²ssx.+{}d22>|?`^^*0-kߓOFggMJ&;w,g?jZ0|?ݺ}{AA߮_|;vPƺ:;n[]:;3SlYիk^˗vwg;0B!,EBa˗? --o<~GvO~p8 ҩk?{W>_II<^oEee:޲eTuec3M?wr};/(ۿuu(nڼd斖?44tȡCEE;}!-hz˲ǹ6mnR˲DIJӂ(:uMDsgQ:59y.Ic̙(<4N' ct0f[trbȑ#e6q,{}>~ײ4B!>4 O<9QQ^^UO=T^~Ɏ^|gTRs׮V7<8!BY.,˖e*ȲlvNNN*my4EQtX6666_0 'd&>wnn1_{mrrR7 t<\`ptddy0 ,N&.[E۶}~t$U!{lcssD'5hFq^ضm;gqsINDQt\:yrrr0 Q4M8R|(9tg2D"!$IsssAtMTJ{B!> &dXpB:$LNN:HrqY , pSh'8$IΚ¤P""B>XTjWA[s@/PJo9I#6 !B,|1Io ))B!rBE!BAB!B-  !Z B!(4 BhQ0h@!Тנ6"SM=rӻtB!-bGHg{GB60J88l n`"$q0 QF-#c @e0pX8W1\B88-n|J /!@_2 &F!ޣ{ "cl89Q27GMpeE6-‹DmRC^rY'H7Uf+X(Aƈex[KcK3u"HR!lө,ODpler.// /J!ZY& !{rض]6~ug[%ҧ@~=Vrv}67</&k ^yk큵{Cǩ(gĂrϒ&cnp[߶21"YÁ=Dl%86~vϾw'^1Λ3rU n+z+$4z;?/٩_H*We'(U Bw9 ZmcB BXd忌a!Om+!wfuTXe+ !P E5|QJ s7~r7#?LI!vb;_I\xSWOd\?^ܾ聿ƯzkZԼ(:r IDAT ^yIgQDVR/T`?9O2`1 BB[ѮuR-]b`2ɨe&g{WlJRyD@f-.q~?RVjUTcOjcט1kc#愙`,s,\`( +Drs~&i`7ۘf+37YY&a>Ƕ %XߤZz迄~)YBh4jb^^" 9Se8f%xoPU>`6u։9YKDpk\Z_ ]eˉ IDČ2p‹xWn6)άI=2u㵱1X /s 9SLNSsRjf[̶R5ɹ-B!rodA7!\vΜo༛o-y '&ק2p}_ܗ[0pKcCg!=ԍÈ!zkſ"yZ=!BB!(4 BhQ0h@!Тüc8Bnz4ͶB#AÇmۚ۶ !P BND!Тfs_ac7_xՌBA!Ķm˲"Bn&cL廿ݝOo<ԝN), $I"|Bgkv1B!9hmeYssN B88n||yQRy޹qR49rs?R)˲^/qA~?ttdK?[/O~sn۲,B(wS;*'{+UUUdr׮]կVVV644{WSScøpH<85"@!56!GłA(_Ղ ݠZrāG2L44a|pB|A~~˲'zuè ===#S׬#7l8v1==sαhtƍaՂBa*; (CC p  =Y2ݐ4 i@ ~X C҄R/j,ѽXk6< 0)̙i3͖}{__k.|!>OB,*r偁^o~3ĕ+W,I&[l z{zzzںSW-Yrڵy؛oY^^z꾾<PVZZQQq7x#Hs 6B629`I8IG2&0k@{Sn B]AMglǸs5pzMS nw~mtyq:(ƖMN(SB=nмB!tUo_IENDB`sphinx-notfound-page-1.0.0/docs/_static/who-is-using-it/www.attrs.org.png000066400000000000000000001540551447362433500264070ustar00rootroot00000000000000PNG  IHDRX szTXtRaw profile type exifxڝ[ D / \ށêqx (IE$ y!MS,7QZiPσ_M!6xa.g]o2~j& ,3QI-}kE7%fO# *A#0A5Z72X%]E;6Ĭy5fш;sycLcNjf7^9G'@$F+cۀܻ/Hz ^(5-8i>Nv~eQ2^&F'2/'ukQVm EN*4Jgސ NQG8W8v+߈x`,בgYvJ2}KSW'rZ5.b=?-kg'PUgH ]j|fp[<^QuΩG/̓)ݝ4{+NVj5-;uE!B:A&LcdgiV- h!g.iB5 {d (w7JWPٹO{ݲa(ձ?\,AM[ijLܶ:kMr$Hw-'p]ZuFr= XL7,_70i: K4汅[\،{"f AD@Ƒ +4yP x{茧!÷A{_]&z`|A.E!kBagjY/#@,ɣCYU! B C@eތp$DoUG/I F.:BJA C`=ȅB!҂!eQ2e#(df[/g22$i",Uv\ Yl~@VTtHuaK!,1F-EkB}SgQfͤ1u2r8;r%;Af)/RIF.;܍biZrV(Vd+wYUH']R;75/@hk*,N BMz^t-OSvvmKZNW_]BB{킂!jRx@K R v$_ T!CFi0J.vX_YJW*vľzN 6 PKfF`fAX"x4#*!֠nTVVGNm=WD _ bhm7M PwC<67BhXߢ5&aa`04ݩmy<{<Yy82vqdYvyooq~mSE]a{ E[TUeꫯڵkVVOcgV:!޸kVθf͊OHHHMM;vɡUs7ߖAp 5@zՐ|;̛7/%%%**g|GKn Xm۶EGGGGGI"Hvӧ<޿@9D{4 q<~^X,,k^2m6EL& ސ}l&N:QpV+** >CE*pl :`gY^(  =wW44iԩSƍkii{=pί.Y_Ѧ'm5XH0EY  ?6Z|iEQDQĒx< py_T!x~y6n܈O%I馛|Y &6v}FB 7h ܬwޭ:~xXUUΝ{l'OTUua-ie;WdY`QTUꪫ|^mѯ/f]Bk׮m㛘=BH? %EE.BY}WUUea M88DSH!I!a u<,u: e'Xַz믿~'pŋ#hO׭[GtBB¢EUVQŲ~{׮]o=33lsq8/,2 sGyd… G*}O?) !C@|Aa```HHt CBB^^OLLħ*HSO=u_,[,66鯾jѢE:bZY^,{_ez}vvѣy{k'W.--e{EQu/YdĈ'N fBǤաB/\Q ܪAƛ!%%E$&&tu-B[#\n5\Y#RRSm.]"Kڵk[ZZjjj-Z/BiiSz왜+hrد_?8p@"ٳ75k[nA\8u O5>Cg73{UUU[nxw~UWa_Kl?@$,O^^vh ĉ%I:wE$iĉј(ʩSF#EQ555eff&qE}qp2F=zbbbv;B?2b6!ܲe BwmN3##O4'ZYYu;qOH.KԔTQ}eY(..QdTE#?)~bBbFF(w ,4Mϙ3'>>>)))55{EQUiӦŅ9r>zUn憆<E檪ګWUUUt644Ç5aEӍ;VQYCBB"##YW:vM03f Z( F6ᣊ\.UU'O*, p8BVUe_jgdƚy>ҥBܹSӧO>z!0b3 EQ<#>8@ \jAUU"Iq M\Ny#d65uo uYRUUq`0~>}\wu-A&LO?޽{Ϟ=nZ[[k-Z-ZV"kyS%pۛiQoj7dž'"##@\ Jv޳IAgwvsqq`D)b4WX1Ao7_nWSN}V?ȑ#/^웬ͫ 2!GBuȥ, ?M#G\pabbNg`a$I:y$6@˝N6T@@7oދ/("Mӭ"(,,8Q ,sqq1n;9E- ,..֞ BXPP`&<p[+ ùm\.WxxĉQ {MXRR3gfddiEEE<|0\|9>8 p׮]l6[|(cƌ!mw>%!!!:z֭[GMӴn_z5>M0`QZ?.nsUWFW_=XܳgEQ шO8q"66\X70`(ʒ%K d4N5k.d!OVB4>h /<7CC6mڸ~:pLŘa{#eBwT$)aa11G6:*xI].׈#/a9YtR2[`{beƥϟ/I˲80}_|QQoG)((x(»s@ppI-[cǎ|po<ym N0n8lܥKOէ?TLLԩSWXQSSs 7}t%IlAUW_}_~8pP=JJm6q}U훖6lذ(^?sLAX7nŋW^r4妛nvYcccǎ{;&ѣ9@~3GlBǏvAtiiisYx1F^z\[o5::܇tF:t(;M&Ӵi ^O!88xС^bx+Vѣرcb†~ualfÓ(J޽{]__vCBBGGG:tԨQRBg-{Ѡۻw8G4M766N<壏"RUA$InҖA^7<<ܿjO:k!C%IBI\94rQ)(ʡC &)--TI?з#6lpqh? !rUFv8 Ü9oVoi/n7BHkgp@?<@ \ : B@[o/*$lcƌmllljjb8Դ>}zKL4v9˕u>-p@{eg?|0qomVTTOn۶ qo{E?T=Ǵ:Hj6伳~4v+xH W[C{;Cۑ@ ڋN4ضАy䑇/1@߯ !y<^s8>Si 8d{JA㼩 bgϞӧ _o{7hu+^׈uUK7?'|J(=w9sfzI]N'ŶjN(zA_Ho;9޿_-OO/64\p|!X9=uuu8oy5q܄aYQsy^0 op3z?\p[ρ91B]NWtt,H%t~بķh@d;iE.KWcm!vͰ<ĉ&l7nM-J213.ZL1Fg\ :&F$K8~W >+H8JG@ͼbȲ<CCCn/1a•J'SN[˥>Z 8299:M*qf4BE)D dJ!Dc$&&p֖!PSS+@u ðN Ѩ'j@ J%#d@Q^Y^^q$(4Em۶`Xk[9c@RJBȠ+*+++OyG3 ܳϴz38QkOK>Zl0.bDi ΗIUUc'|f(խG[fޒڽ{ʕ^z8!_4tN@4 ( ZyfƜG?b6[dYr]F()(@ ||Vd5:.6^$vSSUiysG,x^vGg)Iu9N%" !*E:֕ks)ʞ1ʦ) BQ~Lu\ - 6r綡iyʔ7n_6gb͝I;w/w_4%@>hWpt<_ 9^bW:N \t>tDVwAQ xtI]Ś@ YV:_zq+tZNn je_ɡqho :B(-4UQiEUUYYşVw/h v#r8V`Z+"vytGMZ|q:d2i|"˲Ng?UUEQg^kVY[L+x괛jS[v\k}}'M+}%ք1p9S\ ]+"AQ-sZveY1}WM .r?MQ,+_[͆M?^6nXJqȑ#G:]We¿/Ү]nZLΝ;_{5YEkdY^f ^xId 84nk׮|K/iX+W/_0BmpbI)IO&&F>(..ѣn_hѱczuM6m޼>"";TW^|Afff߾}kkk7nܨ5뮻<ϐ!C7oZFq _~͛޽{ڵk322nZUUqƸETWWoݺ444tɒ%ݻw8p8VQQQMMM~Ç/DDD 233q86mڰaN޳g7|S^^n4V+>zٳ嗕+W ;v߿BB/L] IUU--k U^o(Ԝ쳬gy&??ƍ۷=z7޾}{VV?̟w w)))yע_y啠 b[UUպ{Kfdd?)))?lnllÇ[Gٺu+GYdI|| rrr/77?ڵ ʖ,YN|$ N'VRe޳o_&,v{i!oSS,ɪx<UQ`M7M RG63娪 3Q%СC'L0n89sL2[n?ȑ#Ǐ0Fl6ϝ;wĉ \{%%%$ gQ+++nwuu(&LۼyxǏoii=z>pSUU%BMM 0777,,lƌ+VHMM7oO?})F43eʔq͞=}3g4 ,,,,"""88h4ʲ}BXXX0sӧf ӦMkll|+**Mmݺu^ϲNqqq_'DEEn޽;88BʬYf3vDžٳg̙˖-[d vYma( tvʕ+N555yAAAUU#""ºt钔M#K.裏VdS1{K.[h4 0,O2fܹ L:uر=+r-G}tƍ &85ey„ ?yDQ;vlmmܹs õ^zVw؁en!Pjq :ԣGE˲5Eg0vcr( 쬮YAEQ6n,))8a蘫 ǀi @U|Ա "m~!G7wqA-B`VK~W_h~.$y͝p}_viwЭ[=Թ.4ɲ,]Æ mv@\QJOIMB |_:O_}{nqT^"BBW~s4>iY:oyg"#u[Օ둾_s@ t@٣9:BihG[eg9Pt|3MNMryqݬlt.3I mL]@ +DWUUet6ȝbF B;r%X z_;ng} @ Zq%( ,\lI/@ t.:ҠN-Xt}C}qFA@d|A4vԺ =[IRp^8rOI31Y%nJyhjn),,.+-ŵn7`ЇFDD$&&+-- k-**GƟ~z<OhXةS!cbbYVO(l4wv,+Ia/(RUP'4,<{ɓuuu6r1 cXL&ӀoX8W)(-*.>}fSUIJlPpPPPPRbR=ug1*(@ t(GiʲҿoݺtbMETEE$a,KZz޽+xW^d⧪H%KL81iv缻^|yc2?/`2paB 455M:WHv7Ȋ bhԩS t`~ @P2$I:'ӊSNCEZ \`2}iSzi-ŋfEQ~~~x ?@:@Ӹ:(23OWC bN5( ƩS)*ya%4Ma} | pif0 -J2׭^*<<8\RQE.b׮̽]VT犊 b:[52 ɓ%__?y1cnmt:ƫ/˲@p8g\#oUTTF oeYiO8\Ql҃,k1[@Pccoflf>cưaCpm<^;~MFl Dt644Y!Al2|~ evso0uz$^tz<y~@ .ҀCm-g֣G蘐^ee۶m  Qp{y-9B0tnn$I!!}&ӦϐiAʫ,UQQu@=^STbg$I7~@a>vh~~q4o8ʲ, ݾ};z<ɓ̚5+<"d2aӂ(5'N(,(()),@\n8%,&|(g4MEE&%wee9E UQ0Cmч}d2[Zأ{GYAP1cv}ӷ?|駞<(Jk.d2c4,ڣɲ(^䔗q'˲hzc%Yg+c4p z) 1i M,:]UUY(()H=vJ˲555eW>leIe81HE$P(-4 JxZZlCP %%%8ClN BBp8f3L^7:&&kWIFf1 byccbCBCT/""kN 4@ I;( CK_^p8pgalWv]uuu ˰ ++^ONN>pEQ `r].bq\A!6T)XXXhd98(())YV~0;'[??ۻWox BYA,peKxgY,q=zۯߵ^ʜ@ Ui@H8O?Eh4L&Q%Iz82EQ,z' IGi/ DQiZzx;-v8s:AnKJbiGfDӌ(999:֭]8BFcSSә$4@51n'?aFb L @ tL.Ҡ`bA($$$::&4,b4579z Bddh\\HӴ()8%% P(*,PD155e(-Y?QR²,&)55\8KOwCQ(,t:Ng4=ނM,@ ˪40 ۷o8t{JRH{_~IPPnڵl$Y+0LKKˉ%8d2%'%4M XTT(,&&&_W pY,Y(3 &&&<Ѓ}UTTTVTx,ĉGiiiif M3 @\>AUU+,,>\X 8CILL 3 H%444"dEPP(ǡN.." EQBA9Q: Hn^˃EB!$)::@Q~@h/.ҀآB'bzzNz "( deŠ$I!!!]e U'#Λ Ty}CCC-,+EgirsqRaRRS/@]E>,ĒbIr.G$@ t.:xI$'PJDq%x\uU?'8]U{2 Xi5p&xUhIbcz -BȲ,M 1 UYYSYUFczz:h&c) p-M-C6``ʪN8q$IGm>@ ˧!fnU8Pطo` ~!dN v ,IgDImic L_3MA%455x6/7pt:QCC/ԁeK780%%5009ʧ-e6 WH钒 I QБ|EEQt{ǝ?D@<^oeEE~~^YY$0PEϬ8  C˲lX>DGGcƦ&{KK]]ݱG|3zY6M[l)-= hnj=2iMy IDAT ,np8RSSf,_С!s6m 3Qѡ!V+@sz=@#Gu-0`\ތ(! ۶m%IQU2hjjڹY{MQ4'N $ɶfðE4t:~]~e](8yTd 4M)Д(^0㸠 Nv;%˲zi8Ns'h="q@\>!D3Rs40<4m24<$a"2255O>W_=8&&F˻qS*mzؑA(GfFC.) eWQEرyUUU^fotAT> RDsz!>.V<n{Ϟ233d "n0 q٫RYB%AtD ) etۚkj;@n4@E@.XtWVUUUUh1&944l6CHjXJ0G֔JSNo0aaI!7-\H,De}@ FOgVA*k|@ .'dJ M@ B J@ 6A@ m( @ Q@ 4@hDi &@ M@ B J@ 6A@ m,XE*3]j ˔UQY!%2o_4@bX2\Z R[ @ M#HArBA /usBD- LBp^_dYBvB&q9ϳ!Xm F544**_hWE$I{@ % -<Ͳ\zZrXX(Jڽ{7EQ 80<, 2DZSBeC2b(,*ihz@YA2 siϱs0dpAc: _UBeғn{eϜuҭ[ģ!"##Y_$Y!@ \:.Pd^ (9Q>S>_EeEE||;@YYÝYY<`0efTVT455 ^!(8,1p> 4M3,DQL^BFfqvᅲDQ7DDF&e%If9N0UU{yutԔd$2Q@\Z!DA|¢J,4M566|esEXAAzAA,;v,۶777˲,J! @ KzDZ%F!<,ر^=3Eŋ=EEO.&W'N655&oii9rpDdDppn)..NHH)]y :"pJ!0 CCw]y&=ιFw#HH`-TYrXg׻l$U햫fwZۻzfWlJH1 A"9@ tN= Pܲx_Py;]mm͌,Fg?*OPE  DTa5GDDDcks?7˵Ncu[Y)Di9vT4aD"p*h04XE:jїyuLj#祫_NKG/sNAqG/Ȏr{Gjp FPżi DDD!L<@p VgU4`I9&pֻ? 4 ?'E) 2Y-S_M=f4u@DD41 !Dg@:1-N߬I4iSxj>H#ʺZ]:њr7 32{ o 5`&JC^;OC>9x֬Y`[sNK3p ҞZb,jն[2V+QVыPA pߝ>׾^KZT`T=pW d*Vو3Wf$=.Adb!DMĻ*g Pd.1 KgRư'M +D8V!H\B$,pf`h "IT: DywGFCm(ʴ@DD4+ C C Cą$""<4w}?aäe ""T 9D ,";VUKTYX UBS"""E "|`/2l>2)x.I" 7ȤI2)Sp}JiDDD4Y X)Rn}ҁ>SSu`+f,-`Ip]6mA/?m^!-IDD4  T1;#[c/\GOȢ)=2EUn=&O,TR[1}ޠϋ)U:C59v "" X:OԶrsj&W:V5@u^|DX]C}r^%(MJ24M®CqCkl\b8A(RŊY{98,:I!;{̖#2^ۻՏ r91='%iD(l*1#|fFնau5b^I frVbpN5 Eimc5C3YXV1EH3n`V#c""+xklQB69H,ӫt,ACBFZ H$>D">Ї&156M2)(Eʡ8.̐,22s -U`h "ITyFcpT 3 F~tFnK$$u" ""L DDD DDDt_`h ""q#,`$n} P~'""A@n+0CW?@u.Vc`-tdkB/j~ ;}#54>9 @)o{̿B-) gN?E)ycNM3}^ K>Q\D;"@G: jY$<@/SOm7ez=(JjM9'j~.#stqV3U2x@^ZC x\İa9~YPl<$[ʡsr:N;c2 nIQZ6b,?l3R75|L77  L{k uL={MDvK*JtLֈ)~E"EDkz7ʋB$]1DiZDIjY*<ۏeIyrN1Y OzgP;qMۻRUƠY oC9tKy~L:af-NAD3IDDDwW7)U(/SpMFF8{UMI}rT3v.ˠ+f8&M5X2C ^x\쐛=RBK^\7{e"siY-uR(J#r8Gyz9e"+O-Vc|-sPWm"Xl="Uଢ଼QXEi{f{&QwOD!CD? mzT_͇enCys.@e`o ""_knIKSztxv:q[>|͆ۋChMPhK8,+ah "I45y@DDDYn"""""""""Aq#MQΝ/r5ha"@ƝN;+,!r>z0BUDLR1(=X "")`*U8y o6nHe .\Gu",kퟚS40Dr;^\b0++fr>)Qeh%);^VJlUv͝* B(P#rz]W~e[AMy},nՕst)rjB_&b!dQ aiiןlg3X#q\իn*[|XN=zVqCj+r]9Gnʞ&7M6{NɏMAs^".8MDDD4@'3Kr"T!uE#J(/%[$i& TuI&R=qE/Уu(+b 3 aCB67{Z'>R]2EևU7\NȾfT'C!}(h.òh^'@ ;F- ~)ӤDX1 ev^T"(Nh <\\lsjXEU)fLdYj T@ RA"k!@sEd8@q m#^_Ҹv|GCGC"r v$"ITتБVU"qeB%~I{5҇]҃&-5ZQ0ҹVKy(D`%""qah ""qah ""qah ""qА ADDD px?1M"""xr $=[IՔ#珔f2P) P wX p%Y8"w ""(lhPur c|kjB c"1ur><7.H9)/i::&>$Q zK<MUqLnt~%މ7v ⓶K:=vQ^^m/ސKkv4VKtq-Nx<2[WwK =#:J DDD,2)S]/xk&-u#ƠwƠSkp5R AA}0>F|~xU%tHD}R7{1:o?kp}!,#MDD~%y~ C/< ժԖO^F٨kiEY^zT;aD_gŗ ]:` ""*>pa?gJtWoɲaj2)x.1c0!Ǡ?-/TcFsG֗-Nj|XηL ^(Mc8W_|k_/Ե֢3Ƴv~3:WMy-GY*QUb\) ?{֖U;MKR*:Db-=uc$PsM(r݄<&5vҍwI!$0{ڸeu7/%EHyw\'#"pu F.13 IDAT*"?'&QCp[62 ձ6F`|R" fh "ITNDpG@GNGf i`4FRpb ""\OADDtϺBݳh\h\h\ DƵa%m0*>D*,*" B/c""" V|wI$ՏQL L zL $zp𬤼a"qL""ISNAA& Po6xiMyx})Nc<5`*t --™69xNU$o2I [tN!+8MLێUs 9wI`V~k]߄!t~hDȕހ7wLRˋu);-G+E( Ăf*lqd]%) jɌ)X5_D(J$.ga=#8]/KDDD?Wg>.V5p 6?:=pFNa~n:$!{QY,a j*r좙R% DDDA0)(-0:o/^+jsUsu|=zQ"U ^Qy%pZ^ ""IR x GC$FZ @Gʃ0w#$=t\.U" ?DD4 C~x  Œc@-)hYC@DDW EdEubCM/Չ(GMDDDqh&C۫2޽_e_*"""q|$]xkR<.! ""6'Ds ZEC%9$xXGsHhD!` Gq _s8vd1qa(CR TH:oow]i5g6YJe3-Yb9Fnۏʉ+/j6AG:A7r&\GfGa EDD+켿U$9%5e8xNW/K6Fij}Cxtg~9:pVokn?`+l>$mhU̷7\.~L\ێ߼cv_ag pї?07o'3`a$ $vǘmxn:)[JkMҀ wLE !yB^zp1]װUnOwvYجJ͢V?2_X`MDDDU ta)\h$4c|VùxhXhIZ:{EI4Tiy<YJkV[U"e3(%ŕEw7IWtQD6 ""p׬yܦ<~x ̞Z `0QZYyr$]!AK14 `-7hI @Ra0[(ѫd~s,]R4?կ}pWA ZidXJd⎗$kf0 "XHqM[nӨ)+ƪy:RtiYyj&41T [㸬O,ԡ,uKAw%"6\7!oBDDvTE*(B1p] !"\|(:pd}ypX kAG\'^hJZ>1].hR5v~ՂP HcGz,k1BDvNH#c#: DD4 ^i3w{؂|ȱۢqk~h2pD\ ""tƅƅƅe"\njx00=&"4xx+Dś$(͐Pe)""IVР |jE"돤(l4k Y^`k6(l|,xa2)tH,|xB"UR8zA]RSkfsH_ODDDw(Le @-#krSD{OKM{K_z.l:P]L 9Kڻd]H':N\'ADD41 x"ƶDf /=e@2sV)+BZ#jtCʊp,Jmw^3AdO^fk&FC`Q~Y͡ u_s~עТJۻX%?fis~8xym5/kz4pFh"<4:00$Hzay}cyj^h5)A#Bw?<Io4G/He)Rp ^o}g{]}⌴"""B+`h 0uXWNG]~ f0I4a#kmGQy:{x=sPWQ tjUjL H$L&9IaD"@up]PiI\!mS b&"IT@h;_hA$.à E\ϋxDI=j ‚~{CM*:މFHq*";T1pҡd@-x ""Hz{J$_n2)$A&#H`.s&L $]dRH'g¾3tGu;t~bRIdRH{R.fF&~kz&qo ""48$|"xs;Vl9,Y? dt0.?lrVQͷ7 Dͫ[%50c#;N?Jm[Mk7Skp]5sa>8(1e߈gDDDi$X5흈,>8$NEnX/UmR E2E{ODBMH97ߕhm@n2^XZQFa4}{wF>ƞoG6|y|C_Wɿ&.~<:WWV_nZ)Y!jiADD4iY?cg3KӫmbfV25 Ap[^Yc|C]Rр}@.[W(rx !1CzCn!ԊR<ΜSmXP4kG*u88w xeS,""q*xhHZZ V7vcr]e+QVKghʃ*wɕ7M_XupCH>n&G4ȁsGu4D Hz߬C*EiTQ^ytjaVΝ2=--y4`j TEˊ`)\5q{(r݄ܛߏhr1pa"CDvl|^~am|0׽RT9<@Cx.>REurIDDୱkK%H1,H |H9cq9GvU@agYg14$*xhCM"{h\h\h\h\ ^F:oh_-$vG\uCDDD?k"fs:c)n)Hx/Wёz <$ TJH|{y%$t0JNc`G&I۶c {[1Itb85CDQ\BdC!_F(/Fe %fW)E6@0X 2&UyAWАprXEK3VF >8!Cdf.׺w_^vl $=_#5eX0B&Qljߒ]\p:+Y:S/֣:N;{_ΟѨ*;TFHy>l!~DD+` H%,evpp[kη˜juXH^?x.f5vdQ`j n0싏2^O\׶Ri, q_l=*9M(0Ót!YЬ/ɛ;MQ o4{NI{)xl;f4Th|X)( "ITY_gcz=&?bj9rA"p -u8yE><")Jo֛$RR >i{fA~܁WIEtm7ێJ* 1~LNRU]'0ojųCYyr-#R]!rSj[˲ԖSPdAvLx|} G'DD+t}񢄮>=̜-׾;?0&nBX'kߠ܁\ evL (I{J>%g٧C+nVTӑI*Dkc>H?6`!qqKzN5qN=Un^O/նN9uEӘRE)=Uw@/z ""z c##Yآs0ƠRk+P_0UEqSR%i[iZVzԔ!墩hO DDD~ DDD4h\Р,IDD1)xh[hLW2BҍkQ"p Dt)xh#``Y D6[BUD6>?­ γw}5#dPEcpd6e-AA!)(@DDD *I|p@.ސ""%;M@ N@1q0H\2# ~Y ?@&[=&?cs>7}C5D"(B&y}oѦj=&5fDDDc ^at*<%i$'}ow+k.9|AzUVv }i:'{ F!rS^X {N^=Hyhz\/_|L$,εo1w4 ""?,^KS ٰ_N\vKR.F; qKg;͚ZW EQb Nɺv>TP "6a'w6:оiRUtc J Dk~o̢{"#tyIRSv 4`J""|<+׻ptXԪM5{Z\k{\4jQAY1Ta Y5W_zTۏT jt @3PUzT a2=qY2I}tW Z4S'lsF\uK#qdxl֔^AI9įiX> ""Q N!/ 8)o䤁UX@b 0#x.TJgr>/E[!ۦ]AtM356M†`a3 *4[UȎ2#l|N^'Djtl&Q4 |s[ȑq#ge.-{nz?Xh\h\h\h\&(4h=WT%: 2k "" =O%i|\,i&Pkko2]xefZle39@DDT@,#YdR L_\99pV,gsy.Q IDATO]'W2)t;LRK甙٠9ЎMnzFuJeZ+m7Ổ|4M{za R'Y듋48&^Yg찏yy~Q):X7D 噥;0gkk*AR Lo,lѾ!PUl9"h$Dq =0 }sdZms=3ʢ4 Zɹk(zVsAa[nPؙA){ʿӤs4ĊYlU .zLo@YV-B3I&x.jZ\/?cOG"PYR_gsn)-7ܰ0  Hdli ,I6_4BOv6`q*۲lfFs?=Q I [~>̝;G#Ϋs}/8>[ckʉH&6QbYDaIJeJ A AT؜Zc޷mKRN)AJF-DWNL#'48zPFA &#+AE_px]kضwp@Vl~9Pa UԫIah#(4J@ /]zÉ}j qU!dMʺ1"sŖ#ș )B/)Rjr^"_X,e2eۥ(5=ٹ #'4J8Kk-)=(6:C4'7 !Иi.8c#QӡD)⪪Qƶ߷*QsV$(BCN>imDJ-D@s}i|JxﳔҌmLaTsނIՈ F'\PV622c,7BPRJHƶBtb뤓ɚ=?EH,V BtU/w>E8_mf9טT_aT'ۼesA)5Y[iyAPBXJDvDUnu?]VdB 4ʹaʌ9史$JN Xr \H$BfxBjs14ɅAHYM`;CG?c,'IE\nֱ~QqAA$K\M!Q]DR'fAI t]%Yz"BK)D". Bgph !TUX<M$dY]U٬4 [QBI{!̤D,>0!t%T&SQ\d(t:WWW  EIexMsN8S$~TȲ|G{Bi p 8ˍА2SJ%5U]eB2Y'DeӲ,1儆x2isqi9D0ƲU^TTMUUAYnιxM Td Jl˲TVR4ʲ%d ôlE;Qٶ-9PSE)+ɸ\.EQpBR,,4 rɒ 1-0B"Nk%DbLTMQdI$k(n]ݔTʴ\\{l;)LdmUEf$Ib\bTb,ɔ$IQ"˲,Bhp鐊|P(T\\\QQޞJ MGuUYb,k,[ͅ$ėm1VQQQ\\N&pl`BSXVV ;Rt=NBKKB((jg3 4p.lI HVTӲ)em[6ڲlG@Ek F=4PBoN"i~$Ɋ&+OJsxs[S+Wr *]q.]e顇+ͺ{]rmsU_0sƄc/}oq?W~3OK)*.ohe9M;^w7l|A˲ÇcEEǎu>ˇ !}}}XlʔK$$QJ- B"?,k  m۷Y4h4G~o}k׮_Z[n{UW]={}sÿ>>z͛6ݳgҥ>ʜ=ww^}UsBEٳ{K//Zl-z_Yf'>իW/]l[oM:uժ-ZC-XۦF:;wu]s͜ŋ%-[6eu{ee2tرiZv&1cM7PRR֛o]3믿1iǎf]xuڶ}߰ f\q3g^TPuF)mEq&|h&k BTEL51,FH)%E%Fsx%+gۤ3#aѓ;7-OZQUŹPYid2$1\zrKWǹٜH﷚cH-,٬˭|-4BNM!De!m&I1B\Ɂ)BȽѶmɩQb !(Sكޡ= NBQ*cgw!ȲD){ߞ\i\<ز,hK?1F233giڹuɯډ8iŸ}_B azR].,K gw !4*:x<ȲC(I H&~?`@)uVr5cEEN:a'bA8ΗhRY#ȲymD2I9%&~8 9Wdi5}.]sj3 *'*']j۶KWovA]S*FMS\ۥ),I믿iۥ9dKW-T^,1D"ӟt^xyyt9]$I<֛o9r#]םvHBۭtF(˲KWt pf'!k\jҥl&?]vٶw/X! =3o[,ծxl6[[[OxpWww,۴isii+˗WTŋee~_>~x"PO$[vܹ7ܱCuAw 7c۷ob|e/[3m>eTYQ+++oSB,˚:mg457oذ0 jhld%ov]}}2>}esg៴bX&#BpX;wjZYQx)~!9Lz'fϾXggIIiMuMSslL[[/mX' FLf„O=SO> :x].…/K[@?̼x,~W/^$B?~+gLkNƨD2H[6Klm; !zzzKJJ[!&O޴iceEe$ lΟ;4'(RYVe'cYVرeo5̩.--+(,,U3jڴii3q-Z4eʔS* IDATqc1c&M֦(Jccceeeii&LBUU a3 !EK"}  02wgm{\)wv=i1w6?YI)m']-$O$EC>U Ll xM%>% gWmk*{g'bx`-ʲt2j2h{̘{,puM|ײ,~< lTy{ѵ٧KWzzz_}vK;].]OM:NdAndjl/Ic̩d9Ojǝ.N rXd / ɲ,+>uB۲?욵 O*+_^wECC//Z`Auͨwֿ}}M<ǟ|"L775x>{=]]gLÿ|'Lʲs_בhy?[__kYe\.^5vӦMh_~Z[[7mڲp¢;w= 0o3+Vc_~O P9 Zںgs{܋|-{f!䥗^[{ٮ[nmӿi55>;O\+V:}={vٻ(c&Ls5t\]^w۶w/=z].םw|z%:tQYo6a6c(~K);<vue]wݵ"X^Qz饗\3(..ev6-..٬ninfҽ{Ν;K_`a=_طogn-3fqF˴.pHCB7睉'vvX꒥K-5jԒŋ,]9/**8ri._<|ɓ&jo;v͚5/OdžaD! fh4:{%/SH$]ZRԯ~맞jjnBo뮽VիV-^>믍_?we >j0 %P(X_TTnblؗ^zǞ:>n|'lhh=zSzg?3O?'Lhڵ[O\ piedf͚ځYg>JlެiYYYƏz׭]O~/]]]SLfJȎ;n㎒EQgΜҋ/]uUǏ߻w}K\ޞO~SY>wݜ MS oz뮿c$Smn◾\QQz'OriӦUTT^0kVEeŌMxΝ;NV[[[UU5nlXv5W_SSSmF.soصkW:4uԵkw~ݻw~I5նl F@)u !x_ !˖rȑ/} Vz$z82zKA8ٷۀ1,Bʔ\ݤaBfYKdgBٕe оH 3YәsC ۴ B%is"O @O )wr!N,KIs2eYf-C{,"(poWW7zns==@EE Gw>ҙь;wꓟPeٿ/mErٲe7n-^_:(ܶ}={ᇽeK?4My<~ z@)\qoaҤɔ|Mկڲe3$??yGBK,i?xW^SO-\0xGࠑ?oڽkW^Y!1(JfԨ̼wW 0kF6~|GϦM{rEQ#$I2-رc//׾yںz[\\v)?~_WꪫNz𑞞UV}x̙s5c{]nws뭷ҋpօ7t3TR_Wx 7{=7tw튊d*'brwnYf92#T.X[oYliqqQuMu8| np8|=|=tvvvRK̾C]=nssLȷ;ǎ{뭷.Ys۶mO>DqIIcE?ɒ7ts(H\9?63B tΜ9txWϝVW[F '?SRZz1mm7/h4ZZZ_&L(P5m)ƍd3sSw/y3Ϸl[UQTiBiӦd̹skF2Ms'o?~?qۭŝȿ2z`1iSpJr N3Im]$/Y2:eYdOÉ>GYso4?h} eQX4Md߰NONQiFy;m=9a!1YyAh 4@^ /8B\GةTɽv5Z(vSǞǍ*0= .]5Ls!WaY\Q˲yi{tj]JX'0JM"Ȳl6Q&ȉى,˒DY{sg3Tm²,!ҩZ%\)PUEH2F}|䆭Rs1cFȬ7$1VTrX8qz`@Qt*SX9΅ӝt|3 ӲS'jj} 0u<6+lfC>%˲˥Js\UX,^SSNgweE$IUUmcZ |@ ͚F |奌ICG5SBEQ|~ߑ#nk̘V˲C-nG4oW%P$oWӴPxExEEBD"I(;v4y$2X'+JYii(e${XPJm+e ω*g&TeBĈ͉iZ,ItNMiQJUUv&I cRι$1TD6'a(Bq7-.ˌbZQ$YðEΝ\Aa6gqΝgdrA }bly;v쮯u\mbܲ,UU!` OhMBܗ0F m6Erj̡kKB);#mۅmݞ& !l@)pYQ"wq&]J/wN!WcR9qʗ3DO$=mOғӽ89BAp@Bt'"88omƝ6?F_?A轿0al̅٬կx#RJcΤ۶UU#3g0 c&M| ^' <^ZRec?קnVZZؐmwmMٶ}!hd250VUu{g̘~HAA@x1mŗ]r`S;vM:i]+vi5LSӴhd`1::wnԱc]^o&ml{;1W4Hnݺ`hҤ ^ g1@(ܶEX,~x KKK_]fUUEOOo&Lap$"KR# hqUUbx/DUS}`{qq?૬(߽gEuueKKS(>_kks_(dS%\J =53hg* kG9@6oqt݌T*m[cx]Gv*o~MUxsI~TsK(߰asC}]"klk?|D7NÑ#G;m`Ùt&Nko!Dõho?7664]` Ǝ)++#umcFB*ƌiUUUQO4<:N5U#lܴ+.&T*qV5'{9X,giSL<Ƥq|kUyYYEeqc+++"ey<`0JuMKgt:ؖKqm;m4D*H$TU}.;{=?d^;H:mtaa02Ym#$YFu?1QFo̼gؿW o*W 3 "9+k%#WXD@!#]G##!` 9T]X zsN6U[9%W[=ڮM êp,/!G\.W(gAh'd25=3:O{חzxǧv BW\#\e/T-_U]t7$Y5P+_V ┱GTp42^,aF^ 鞮.bH&S7g9cCCh[9=ձaSp}|0XZ`Ye}Pr ǂ/YxHqᡁDN>F\`ՍkdXU'eIJiccvUX nI+9Bֹ |#|G~P(x汏O%DZoLMH0sgqUA\n1\H&Xcþ}Hx~|w"'/jdg ].L飽eB22yА/x޼m`\b=OMT\3L !tLG{eYo%M߶d ]O}qm cMUTU50ZҜCmTGD&;qB, @&n&+ Qv 98DWA;m[B.:== (sr2 &Ν\^^tl"18TTJi80UM56|8̘=r"esNk==P ̘-N]F{s- _^/K;n˕d*%ԝRua!kd\LLd|nGk덩陙١&L&ӝY\JӋd2qg1B0HˊfsTzrFOOkggi\|5]xidd.57"5a_)ZnIxb&_)+_bC"m-swlDQTů(ᜇA7YQO,m&(bo_|̊S>#D3O.^]ЖL$, 0Bi=8 V$,tr,,4vGU|!/ P\5/d)ZB c̶X# }>_f0XX^x"\>:A}p9QJΞ>#` S,m;8p=r.bMQn% ` Khl|S7K<<p~+8Sy&lftۆl!k G"O=tbn??ih7MkKj3(:ÑQ?~ơD*L aRͫѺIH<{媳;Gc$|%I,JRlP(EWȘPΠ1uc,_ZLӹh6+nGzh(PLsW4!0 ST(ڶM),RQKK3g' 9z䰮}{ r@$Ibafqiils%DQq!'n>{nBQ'=.rTv' pf]IOC~,P9H"*x4La"Q<<<<\6%1&ŋ'&&K*_z8UlBp"5bXjm)LVzb`3"bold&[su%KkR=mfGd0)ڔ:h5e]WTJnj˲cwİ.Qښjl'X'!E" IZ=% `V]47,e)%jE>z`$6t U= fmp8d={vQL4U s۲XCeYmm5~BY f[J#qTUSV-yxxx|s^~%]u]wwvvvSMs4 @mI?x9bAxQfo>e[m3,D,GZJ /:f) f_}&|jJ֌( Z0epU'( YE*WŠB)Zi$=<<.b4Bl ~"a-- tuuˀSB؂Dn#튭OwymptD;ޚ?-1['$KK4~$PոWUsWrVI)1 sBS#˴SO?eΖf8'k 8Y>"j30AdVLTK W,#ڔIX aqb<<<<<<)tu`( 1a!w"掄;1l\@ԁuxFǗ& kEa<6ǕoBwrU/Sh eIENDB`sphinx-notfound-page-1.0.0/docs/_static/who-is-using-it/www.nengo.ai.png000066400000000000000000001641521447362433500261610ustar00rootroot00000000000000PNG  IHDRX >zTXtRaw profile type exifxڝm D> yGuxfص*Z%2Y?)%=UZ⨣q.z:u'[#>vo2~_g-Pׁ̞ 5m*ws\3- gʹnDR)K.YlIqs.gr\߱|+J}^%S#߁'?/7 Y7V| |>wySǕ<Vw[?%ϕz坳9}zm}yֻe'~.itm|;sN' }[ٟxϞ~J6"yKͽc-3:9&{PӘaya[ŲfʩvQ: nb.iΓh5h+G6IԕlW/SH}|!}Y5-۟2Z"HJ>f1!Mg1Jqvsխɪf:y$Z|gL1qf^$e F2c X.'ֳP.h2qλ2ey; dX2@?D]E͑gJX [iPDD E-E!Z7fmk(F&lk EϤ$,/;b9Ԧ&~ZYXm4){>EBܔKӮ Ee k_fS3۫Ȅ>pP}6mmטCV]=ͦ`EP䏦7-654E@N֬rCW=i3 Pp:CdC6bx*PkAm=dGaۗBKQ0 Hjvpꆜm~) `4}<,8PA3\~N7y ZвvKud+6&P(O ǃ=96J];NG ^Kp_izhJdL.N@c ҠT#z'z b:1 zU&.f9e."!+viurM.}C(H(O\j/%Qږap G'']>*?_> h_'ONב{ǭW5kqQwX;Y+?B;ϑ9WնoW: NsBITO IDATxwxTU89陙 iޤAAYeׂUV]w.Zֶ.)Ai! 3-8d&~;{J8B!t,NB!tIm̡&Ӈ' pdpH4 B" 職V U"R7 d"5]8tԧks93BBB 5 A's.+D Bc BݓhQ2M w-`$IK,y7nw9~x駟H!Pwg;!gZקL9jW]vQJc\pCjjj?|9cLu]c41&fh:>x+n/m3 #|IM",?<|oB/B~I:#^^(D5zVs.?nFCJaƛ]m}mkf0uT0(Qz^!ZE/#6 9Kܜ^a׫Å%"HBם-9EQDC:<]_)?B壪h?/ ms9b+/bOS}-%I:Ucx=?;hq3u R* 9%T I չq&X BduHuq $3b\\$9?m[q =VS{[ᅰ73W"kZ7Ia|駚M4I7xcժU6-##>{ ^{C 0@|eee-͛gZ333W\o\RLйsw655mڴ)33nݺUӴ͛7˲l`Ϟ=;w͛7oٲ%%%={ =6o޼uVy||;vp:vH)!vHKK۹ssXnݮ]:\PPܼ{T_zummmRR3jkk׬YܜJimmokjjRSSOSر/**4-99y֭7n$D\(((\⌌@ vC%''+sN'iӦ[n߾]/I>7<+?z} z…---}K6o޼pBכ{뭷eY~7LYpalllBB—_~iӦTVV˟|ʕ+ bٞ{9Ϋ:hРC͝;w˖-}<77wWVVh2`޽ׯKJJ222].bٲe덏ٺukϞ=}>͛322:wޔ}k׮Ժu֕eee^(!!o޼gϞEEE"$̉&3/4W erq= S)6lH!ġ8%bL1D%6fL25Yd %Tgx8әNӯ9Po\c$LQn9pdA"MYe+Bu$UZeD%i2"[F$(#0$qp߸!G8` _VǺ-k?`$IK^zX,,q˗/?3fXld;w}'&O{nY};O>+u]@@Ӵ{"T<SH<lRVVgϞ>466 >L)-((8x 0Ɩ/__֊=߿ƍ;UV%˖-۱ci _goٹsgqq1ܹvrSS|PPPܼn:x3;ًzLl49c3z4)@c#Q<5vf9(Wg_yy̟3K'36oB;sL*Ss]Nxя?yޟz{[$Kh_£z~yyOZ#ܱO߈n[z4ѽ'$ o)yn;o']a2%Jkkk.\駟@NNΓO>zo.7_y@ssqn_~yٲe_ӦM İ:DА]VVfXk.yNN8͛7|>III999EEE]tѰadY޹s_>}l߾](9ONN߿:v=99yl6lZOamݺRr`111ӦM[bEkk+8뮻nϞ=_~%\"~VVV&&&B[jZyQ1`wu2۷ou]ONNnnn~8"1RbL&Q]MlEQQfs$BSO{?gРA/¢E,Y_O>:t/DM(!$%%B4M8p`UU՝w&)>>;!!:_W^^^0LOO7o^QQќ9sI}7?5k~۷>ꪫ<7|t^z9rƍ'N۷oQQ+ҫW/1ZZZzٳg'$$dؼw$I@  pW~g۶m߿(K.zYYYqqq|III|SfCXX\\\vvvzz:dee%%%\sHҔ)S{ӧC'mvVuTʨ i_r\9 !o}Eki 4xd,.)k˖JDZupuk~k-3Rq,YF_x74>mMy5"[{{/k}# d[R=u~l魏lxd{ȺbsY滥̮mu~"[0U/|^S_.zEt}MʪιpSeMj̦> Ο?[oկ~777ؘ/BdU__n1].%\Դt1cO4] 4p@bHtѣGee8pΝ;-(oo_iZZZz߿_, ^~'N

CG% ""iZJJJ߾}W^RZWWG.TQWWwE 8v@ `6EWFF8BpPeX(k.ҝ;}~p8~#n F0 jΜ9W^ill᣸ajkkcDj6mڲe ~;*'16k֬ŋ۷Oĝ"3gNAA9sV)h];n@`Ȑ!edd wyUUUÆ X,K ah<9sĒ8H ȸ{P @Tf9JJ t|x5L|ϠufY5T~hRFЧtQjLu/̸0՞7ْbKYYMq A T"RZhp {MM%h6v8X~ VXz 6i$ݮ*缨(555++RiEw{ݻ뢢3LǏ/--O`0M&SMMXqܸq">}444,Y$|׻xK'lWy +EVUUUPPPpС[n?۷+sID[n%>> t]WUuڴi^xj%}Yee%p5MGo:t's}ٳg??ફںu}/N6M,.lƍ,Μ9sƌzX, &UUVkyyy}}d*)):uj~;QP!r}}i%Kho>uR-[vڽ{\ .׿jXF;pѣ'MaÆvԨQhBBBRR[oo|0hР?hԩS'L(b cEkll$Iފ+DyRPZZZ\\i |>_x ܾ)klllll)9k\!Jwlobհ+ŞbpC"/PD&LeȢx+QI5I&qfW닊tUc@45IXKhȁ+T }ю9Sf b$ W")վwߕT魔,Q) vű?b=P+'?/W_=bĈŋ2dժUIIIcǎ?XjUIIɕW^(JccC=4hРI&͟?ҤIIII-[,\JNNSQvSn"e֯_?Q.rBBBLL$I=zE'Ov8tB mt}}}BBBlll||nhhp8]vd 5;̌ٳ2L%(YYYRޣG􄄄tŒS__ݫWD՚[WWקONj{^ zd2bcc:4dȐ^zft:5MWnĈ/JP5$I<55tʲiKNNw:$OGTl6M7͘1s>rȽ{Θ1㦛ngdd1oK!&LzN'p3FWϞ=(l cǎX,G1bDzz1cE6lذI&z&LCJdZ vUU=tP߾}{xjXNj 7.11q̘1qRڧOϗ0~xEQ'LЧOP%66G(==j*,+==]Q솆K$nqǧPJ322Dp`322Bg$IRZZZ|蒶;L*_u-!MCm F&OiUKY6I=~GukBSΫVmkre:{[o6Ym^ZjUX|Č~Obd-L>7]l$F'>rpGCºg\zoOnm)T<[yD}F&|xqq^8s+o9rdFFFmm`{lɒ%ӦM2n|;P/l#+ne~}Ofu=w1WÄ Y_v}H\w\~/Y" @_4Kfi1K&: ѣqf́MЙ3]5L2U836F Lā%jf #4`&ᗉbVOd* UDPlLPCsIDj 6rbKtRUU%~"(ҷwdcpNjF7cǎ=p뮻߻wT+n>|8c BACEEŪU|>_uu_{P=EIIɊ+N:uL%!Bg:qiWLBWz# IDAT7|+~BG#zEQ>^ogǟ|,Ia@)u]f?y74h֭{w%I~VXXH)z BL]- Mw uk;~93+<pg͚տ=dff?111v }`۽G}4|Gyl6gɓ'8`믿>Ht\4MoT 1zҷڑoMgo8H6msu]45%7m9.+//0 QBzӧ7/Q\\\SSO_… ccc96n@!N\R*6ْܥ}*o˹_ h555uD 9rcLUU9$I,>|bbbB(d2QJM&SZZ*rЀAB!tD53\2X%ZNV_XWȰcbb/^N@ Z(MJEUUybbb0M(D LXxSq5B!ԩc7$(&ܕ)7>3%oD-=~DǍrׯ_l2ѷVkEтSJeYeR{y^0zꕒod"(wX̀B] TtŊ67\s }&JӸ.gϞ\sҥKJKK_y啩SYscǎ`0(x]9۷o;͛O,ˏ?UnM6y<իW_{硇M3B!.I9~p8zիW/ߞa:=|sDfϞ-6ٳgUW]ڷo >}޽{{ڵbe˖䤤꫺?)))\rɲe˲}]~طogdd?~Æ Dㅽ'BBW^^( hS;el0D7;wVUUl~n(//3EFFn0˃`BBBBB!l޽eر555#F7oލ7ި,ˁ@`۶m'11qȐ!@!t1aj?>chn?iҤ7xcʔ)'> !Wt'ںPI#> -xdb(bMJ髯jۯzQQ^^'%%M0Al"z^) 3B!Όc bR}vYa? Zpsss^;NEnwDF!΢S\=qbDAQQѲe-KLN@!tΉ:i҈N B8"J $Iˆ!:w+APJ1J@!YI#B(*4 B(*4 B(*4 B(*4 B(*4 B(*4 B(*4 B(*Q ct'T;< !:446{AUpިluŜ ꎎ4hӒLj1U9t730g#Hޟ8QJ_YwN=c 1E SJYfC9>N'9':O|ԁcWOhAùubz0>ZY>Bk6 2݀3ΈզHQDcEsS' "l qSXǕ -?xp.[=1&qc٢R^ 8/%B?U"o(//[ZZdY:f%hpc`ڗ^Ce aRrc2M9'+dw}Y0Y@%")i5ǀz9ʸA|ײF) 1~~N0hh_~Cr>+r]q1(8@EvvJ10Vag,y?RsBIjvmD[*/ M<_dUlfΘl|Qk\mQ~_{F)68tq ֝J1&IB #hAS0A ܇zժ-#a-8soVJňuƘ0 ֹj5=_i+%npv?qCH@;ۈDmOW9gm8@$bu[l`G>v72e:c쇄qO)9@0W+GR{n# us\9ojĺ]3TfZ[9'U  kmll~"zZČ I8FA % b6#>$$I"p\],|x۶m>/Tz/Inٳ]mŢqx[]]駟!bӧSJ+++7lPWWiZZZ~(^j@y x*X9H$%ZcDژ_X7uP\i (R貘M+  Ոtg"tOq c,;gvfmۚ=;2 )RY\1N Kao1M6ES}:?nsJUqLi G !~0 ];I @l?pcc,˒$ZÇϚ5<@ssdկ~dڽ{? ŏ֌ >{욚`09WU5--mҤI1Iı_x/1 0I,KRRu]ww0 Y.szLL̘1c.]ꫯz<UUu]wƍKII9ނRQ[]&z40Y]ޗly 9jW0t90PD#P${B&#;>/փɦ/Q,2bq"?\ܜÖ$y[ZTM>4+KJ4[ f]q3PH眫n 6aiҭ ʣz#t{4kp8EMEپ}?={n.IRDi _Z.&&pPJ[[[CE}С7[nu:fjFv1VWWOo۶mVIaz饗}C)5 l6`@`Ғ7( {M$霅 ɁB(#H7>Q8io#}8wrHA Wg茲 CՉ vu!u8죆Qdmٽgo<#ھcCtR.x6SJz1I6h>7J%34͑U~:~D,ﬕ!6Z_|Td̢yAD_*{3g}&˲ 5ȶ9=ضmC O29e9))/|g~g!Q?S)r=DD@ UΙKrǹ3ϊciϥ9D"Lg3p'XS#=Gx9ؿ}ہ_j1O0F%^1&UUEX,v/YdƌYYY]$[!v%Zv{h~dW@ j&b-giTn:bUqY^c3;;#BB1GAJ%v nl*~G,0hR ҮP1c@'\PJ~޽M/^ʲ8Bv.-!}.ϑ-@GԌI [BІ1tMS4scn;,8tP=. n{ѢE~I0?A=38 2~1\Drr /t:׼ N*6uÃx&OpW8>v~V &FꪞwQ|dNA Q]9*G~D:vt:&*&BvrP%~744F|$IRCCCaaСCx\PJ=ԩSsss5M -:,]|>UW]Dl"J DАt:C򔔔={l6f  v^ r\c6vV( WjLz1w}Qrd B8}ȣ254&aЀ9F@)tpbsxi:D`2#pL3жJd∢j"N;xی+Y“ZIII'ǁa j_m+g(fػȈ=)?4HYյXF~q0͊| C脉 %I F([?"?M-kV!0w[A;XdSs]3=\92b1x>$ @Iy~, XW8ԹR:Do%Djz%*Bґ/͑ E#mNԴb`J-Rڠd1[tm=-ER%̫$Ijll|n!E]輀5h!"JmyCyɮpzPω":4BNK3h*_}k#Shz$蠴'pDq񉍍8\4%j|U*)T4nrbU#b ǰ -3K2ͧA]YZ7ǘ&e5&‰zT=g\m%l{E7AB;{Èp"mhno2"d]슸Rj 0[MܻgE)!D #f 5GWT_PjԋPs.hCYgXQ .[JR$ϡ+BS&c  Cœ*gmm8>j> aHkSs+6< P}h:'% Tьc9tC4 [gsO+l8nChyeZ1GXDh(vT(%@HI21xG'3)|B.t~GCe* u74 OsOE:$IjjjjF3w[,ӝ0UUc4q譡snT&Z@7LPLLY  U !M ?$@[aJJTmioRD"T!圃 !jL: Bǧ'm 30$Iu]d6w駟N4)4ʂi|Ayyds\qqOȳrMί]G{WԵj~MTRpV3JIV(b1ˊj!X=F3\b.΁l7[$Q"8f E 0l:dz?Y]MTRD& .ް!ƘֿQ#VA1\UUMa8]UU MbyM(ӧgyAQ)5Mu==='7n\ : ujO 1snp tƌ[pzޯQVnSY" tn ~P8p3 0h@uL1բؿ)`0;;t/wyyy"H 233E9"n/9nܸO>d˖-խ4Kd322F=mڴANOOWE+iiii,=u{9PJIvhLBpĘϿw-[*=Ao0<;'oM̏Ӟ`;8Sh8I$Js܉O݆~tNPUUUhrιlV%bi`PSJm61w 5M 5GZSxYC-41C-!L&1>%8=xC !pn% GT@( pC0!?lpnn0XKtLge9(cL`ƹ6ĉG ?EY׍c~r{GQ"ZϦ"MC$$||̾'|~hN0vSώ^ >li8\pVz}N5(02PwOql!Џ M^d!~J0h@!PT0h@!PT0h@!PT0h@!PT0h@!PT0h@!PT0h@!PT0h@!PT0h@!PT0h@!PT0h@!U h IDATPT䳝tqd`B= 3?B!t 4t{3  p %I"J0h0Or%BPНans $9!?TUR:eʔ  !A?y1"tZ I޽{x BOMMAVR  bIiӦ{'DRz}뮻N,LHH$Uz Ojkk-(38犢ֆus.a-:\qOD2z?uIIEQEvΏv"w78p80hp8B(80 0!sJ,˔R3r6 mι()=P I10D"ta@"S>c\\.EQ=wQ#a_;QQ^% Ð$A~%`Q}ify͏<zɓ'IOyι$KsN X,&s0E$Y-f3QJ9睄GvfI4= BdYMG!" EY-VIďhַX,$w$I6D>7 sn$*RB!km>Etx;9"'@t$IV5ZEaD:I$'0%J`0pfd:rفhVιjN8Mq=f"n#ACwaO\^[ٳghM0$p""I/’%K"I))W\qŭJ)y(]jջSZZ 5dȐ_~{nnq)ewRrnx<~'k\.ȑ#cL}{a v"MMM{]w)F{oٺ~;c̙u͖{7?}(!ذ~=\|%~ CWd`Μ)7v1t7<툆a(d'ju\׿uPdyu(ʢEFg"4߮YS__ VDO‚v_{_X,=… oxzj_j,;x衇@4BHcSӎիVw~~YZUUc-ZTYYf3p-ofll,s.KRюzkMMng!DP+ =%%rKEEELL U=onn9zܼ+VY J<6l0p8}ks{<ݻ3eYNFGI_kjʒd7ca|͢YYewrV6~eYVUUӴ>--v{^ |x#==tr<Yvv+.\hNlphYӀ~PH?pر#fD,^.ќ`lذqDuk׮wuW^^%dE 6mQX(ӛ7o.//w:PhW\y,}u _ O|yw"~x  9 7rqUu|w@]] 7 -%.E^z})) tf}0ۯ6lw(!nwIIɶmۆ p,~%%%E"`0eN;MP($ѷo_qTjeW^yWk.tߎ1` נƘ|nFIII.]!ݺuq烆c_5}لRY֭]eͽ38!ksTVV:uk^5}.EsBX?ŋ~7ٳGѣGM@uu9JieeeFF0y1w>ph ~yF٫Wr+RذaMcii5J̜9soB!55`++)1qwE7 UQƞ{ʕ+Ng$z<鴺z(ԩ{キ|rYkjj(bF4hobz [B!7nȐ!*ej 0Bhq#u饗.\1&fe-(vc5b*>2Ƣ!I,aaF)0cz$9ZZqWai>BHllĠ<^2!Ѹa 8hg+>-[ݲyK(|>_~樭l4a(,.觌5\h|]#U1f$LiP>c]ne BhFc"\B8].!1Jcɜ3;DDsB#n˗?ӗ_~1crrrRRR-[#7lܸ^|  >iҤGy$??xƍ~vq\r~=cdr%(B<@ԏG +?_~9;;*҆ N' Df^6k9\HVhKE11ߌFZb}_pt21=:B7;(nPiiӧ֭[0]qZ,#4b{16D*^/k&hsM9$á ͛n7#D)؛-4XsΝ;E/?>{駇(JEEŸq-[l9SvѷoߡC: fgg3֭[שSW^5jᰕ vnvWCB 2)_~e]ׅ!tzH$9gYڐƕqĴ\nZ/BA?^ŠdYi4M#43(,aӷOZZZUUU(yf/ \L)\Cq0|q [jО|N@,4g 6mZqq'8΋/SN[׮][XX(nꪫ*++څ &%%uq˖-]vĉ***~&Ot:mݺwtB^asX1V 㶚!BHNNNrr~(iB233ine,)ӷec?l^ZVv`~IdY۷ Hklh, eY&w-^6N84'4?{lQ3k֬;w.&N(.ſSO=U+ŏ.L:tѫW/k/6l8Aauɚ@8N'k"!fh$ˇ,M.b)\%I2Ya9!UjVSS04QhC̹h$$R:fII XᇪcǺkÑCCZ$"ws,E "$$czN?$YfڶKhY9`\((3c,ϼQ|"5$no'b[I@lܸ~9Zn}O,%J@UUC؁ukΘ1C,aݻWQιCUq|u::g5kTUU9H4v/]OIɑpxn틨r)3be0p![t)rrs %&IUUŲմ=zؿiH;TE"w!Ɓ" oc I|{ }lٺp0[->;@*ւjB/5|fѪ< -~,ǖFy>u׆bԩ_?9Re3:kLEQ[43ftܹs۶mnƺa0wY45%.\jUcPztҴmkUUeԸCdp.߽{]RRoW^)PpYY555+Wx<׿"ˆaFSNO=.*G.] >*Ě{{ذas޽k֬x<4k׮MIIog͜y)|~}iIuvL6ҩBHUoƚoIvr?s-R6ldYX>a fDQ1&v>|{/33s/Y_}>ߔ)SRS[JPEEk׬i"].W4$|6)NɓtJ?yUU=Ӫ]_^p5M B=zB5t ȈD"ouy Ck*hvkC$?ӧĵ>V6{hr9ҋ&O֭T$aútm۶~[p*9k}vUYQ OJӴjT/|! eO¾efM4紊vo:N2AC!R#πFigmfP:\qf3峄qTg\uծLDXXh=렄on/שZUU%΅СE'q,3$j\P*&L$ϥS`ޮL0~xϷ`ÇoݺUGy']x1֭4mܸqC INN&/w~`AA駟nܹs%Izǖ/_ɓ7lذaÆ#G>쳌9s|. .B6N2 yFFƣ= `С#sI#(z֬^@!aTC^Xxu׍>眦$6,3AhX7ZI}>_yy͛7x1c>@ xz衂G}tС[lz뭷7|3hРNDZSJ-[F)}w&L/O>O?$tÆ YYY@ ZTT43f#ֆsUQ?,#$,Ns޼y#T55-paQ=R"%IVU$9geec-18qa,%A8o-1kMJJ:Ӿ=zt=+++//履~S!{5jGݭ[>HD]ڵk;w;vΆիWuuuuuu׮]N 6mڔ+N=z~Z\\ vB6N.Ďf\7nDu M ӽ[]ݺv-((xsA~wk׮N4<ۏXA e3FZnV QqЄj3q6l7ԨZZRB)eq~T a`pRS]S]] m B8=u'2!뚦ʑ8,xGף /|nBJKK%qĠs_\hYhg1e =zƍB nU6ViF(,˲(1!WQZ4a/#(NUYr廋fdd 1N;8T6Yp%oh4;''?/ OJ%׻B,:aqWGn ~Z>>[xaկH\Բ1peee]VӴ.]|>BHeeeff&DQ*?s_~yvvvYYYjj$IA?o޼#Gիfcvj8gLgENn}Lׯ^ΕNuP/tFUUfr31%,!II3.4 casR9;xVD@#p+4/aԂݓB0r:aH *? B<$%7^S%-g1c2Q1gb-HMMŒE"@!L-Y@(1;:<6BS8pШAtZ<DEEEٳgr)}YNN?\QQ1FO=ԁ&N~ӦMC-^`_Ν;w+:uRUuŊSO=?jԨ7|saÆUV&LGUmR1EQ.Qƙ#~a ˹1{]wp\䭄1U5JH5)"6snD"3O7i>荸gA!9`䓼{޼yW]uU>}>I&_н{3عs'clȐ!C`ɒ@8xp†Ei׮/׭;xu=FE~ueM!.Zoލ68NaQ}/eM:UUUѬCQ߿v͚ xK~deYadҝ;w:)Sx_$m޺uƍ< &OL ׸ZwE#G0P0:,re,}bŦMBݺv3nܒ>O?qν^o>}@c/v5TVQE;~QIhѢ۷kwfЖrιp裏~' ݳ'HKHg xD3 â]8hrb ιѨu}{FUTT7n֭֭۷o_JJs=WXXH)-..Yb0۷oܹ; Խ{Eeee1֭[שSW^5j4_68,|xbK뮻ΰL?^zEi֗e9;;8J$[p4a%\2gܘ-BAȟH4?xEqbuXGK>ޝyAviwqn0Etܯo_ݢ6k@@)bqWG- }Yxq~./W^9997o6mgϞ~Tۭ̙3mVQQQXXr.RE9sf]]wow1++K.lĉyyy~C'Ov:pa[', \Uo;B4uv??^xQ,~g z0Uu:ſ7zsQh)"˯] ***~stݩY&zb6زysMM:;E 'ѳ縱cM".[Ѓz^D!xdYv\;!yV^ /N?pC ^sܹ,{H$B dEq\s'?/oСc,q\8$ clх4,/4OKK|B @-3.K/{j1xeY$cvEb]ujio% 2($$0 0\.׺ujkj튢\.3O?5k̨apEN@Bp|w7~;3ȓ$Y5)AY mT ٳg: 222,J 4h [ni1cƈf?.rCЫW/k6bnǛ -?o8VUVi6dPŕsYQEyǏ' B… UCeay祧ׯ_[sK!*G˝?oo|]eb@RBI;@!RDu6h EQwGK;v)c ,eYUU0F<3''[xXYmm-1k<c\|߸qݻ$Ir:^8cH ~J$K.^d5 3G޽{W\ :YdPsOa0 KYK@kJ3DŒo $I3$š 7:Vp4#,_:|hw@% 'tvFS"Dm &L#B8Ԭg ;N#@j/XpmmC}9|qrr%K>|Yg ǣ','bMJ’˲wʹBlΝ,RiMntJX:Ľ&, (6UȤ$ ۳FTաJ2 B[9c[*?$> @@H@!JtC6ȐeYXr8x7>$C1W -^XxW$lW#T|'.rA(e|`UQQQ(;v%K*F"ꬬ,T_w8SNb~4=ϧ^}բ|޽f `9q{K6(<% YTYRd 7ɵq!~~%zU<٧x<BHRr]Uդzܞ+W9jTJJ*m۶mt:jk$(kp8!;ni5bmذaRPJ]NgnnO;wzޢUfΜjׯBN󗿍!ƘIɄ+"?/۷wݺ.GFTE&5>£`III.t\K>o=Sb1겜+Ij`r}tI}>T_ nXj?JǒhŽ+5--%%Qּ|%օ?$bj?Zv8p agʕV6EMAZZ::_i3ӉDmM\hYh/}5k|ݺu+--'O|E _~UUꫯĉNk֩SѣGmܸꫯ&8UVy<O>/9O'M,Xz'xvs9]t9%'=PJ "KX%4''x#U0aٚ 6l$)qm.A^d!C 8vӦ~ܾ}Daq~&- .<_,X0+AvM 3&+y矿죏\.,֬|X^/[[g&β"2dҥ~w\ 鬩:Tc H<@ I}h-7_3kȈg}NDuk~{Rjkjn7p;cItٴqcRRҗ]}H$r =NyW9wltK!IC)9Fyf? 2FpuV@~_]sM$2$@A Bܚ Z 4o޼^z)99g$SN/BiiO> ^7oay>O?>ߟCykjjwy{Tq9ю! 'O޼yիO;4W\q7{}>i8))i!\smnN31){̛1Sfvp91CeB),gee.rZ IDATZ*hQ=?7禛קtUU?|]yeԠN+##$%% c333wQJ322 222bjmGPu]ci`!\أξfLOi47HH"{$Ɍ1 BiRrҳ>7o޼EE RZZG̚5躁b@%H!5~}^7ouuŏs$^1IԻwn?=cPzzĽ[X3UFz$Cfؑ@jjjrr!Kۛ?Duc+}]$ƒ N ́|>K1ׂΜ9Ga7$` d"U0w(D6Mͭ"3wy_\\<}ݻw+p YYY^{ksΫz|ӧWVV~gꫯm6a„_0n H8ZD3eE] As*Æac-tAY|xh4jp:],Iuu"1H$B)@N3^BQ=:8NEf%:DI'ݳ'׿]'FBw=4*j( * iz<$BHupN S Ҋs*ԆB(1Q5P5uA!| AK9 j ˲p:?$]:2UUwh̯8'ƨ E[PО~Fȣ?AdBt$I.u J۩~r}sؿRBߡC8 !.UO;'99v3zLnnN4}O ?+^)dzG珶5'1BC;GR#05(G`$%ޢ0g{B<)*RJu]h$H$`M_fj/D WVT _</!D$CK`MMMEy9_ bҒ:BHii kPVVZ]]v7|/8r#jjjvU^~޽zEt!$ҁ~u֭[}~?F1VZRrܹyy>O'ɦ`JrJҘ1IDK+<]ol05(!z(k yB!ι$IIINt:Ng PUԩokVwAV}[o%ZBȲ,Z%RryT-HJȨ(/׿^^Czͭ[vAH .+99YFo߮ع(QÈFHF #jb=ˣ#W3@HaEpHM=$IZ8_eN3--/P@ 9.;}{Rպu3g͒$)xN/)39I?s{<۶n #R7\.i9s=S'mњۙߊBMrNc9b.q&hWW-4c4RHB8iʞutRZZs\=zt)ac0jdYDƒ >̑е)ˆ {7GuU,# #dFvNέu9uztQ/ﯭ!t8$ȲE":qݺmv^ NgʀSpӉّm`\́F a0¦va(BrΣ q'etU1&E?3se{aeBG[lXP_z''E'ϓ|ILLGc,F R$@R,TADQn߽sf{ J[y.˽̙Ss>)iaφv@"PSLW]dheB8d.cN̢BXߔ@Mq3}A!WNE !dcp\cF8@|TFDB2`:3d]gg9,K43!1Ecܥ8a9Ӝ ̞/ kHTs-]z-Rh?/yWv#Sz >+Ygd!)O5WX(;f\ᄒ#֘?_D 8c1F! ۥK6HrZ?NlZ<ڇ\=Ȱֽ+OV <SUU F ܆1f@sF9crFY6Nr}@)iVtlF)d"@9HLjd׊ )CdQpGew3GQ1EU=` CԏPF@~AAqq1ޭ~|+dfB32xHN3x2u 90Î BsN).CF#$ǎY !apΉ<2-8߻( \ƚqUUݽgyж0رC4u?k1Nus(޽{ ēwYmL۫Vr/⊿<^5D )qF9LHb J8h>HNCqx+:I9@Bv!a90FYe5=yi.~ߢk_ymW~k|wիW*Sɔpڬس{w Xt]y{ժD"aFg.pP(aTTTzu8/o޼u,Ji"cV<;Ո1ɼǏq TJeKx J&uM2Q(uoxMTe1Pc B7c,ZW0Q33?%B@v3\{ s^xu]MWjesY0r"R*ډӤ7՚1Fp&$ GHNY}C6>sc)K^q㎓rK](23 J656655Fq@cH/;۶h:MӱX, {.dLi p]#JrEp핕{injN$B% z,}#OMMMMMMWD;vO3ttIF)ŗ\vq;whiiikk hSCCSCC,Z"ɹ2\xX,1|UW.?G5Jg_ʐa0BkjQck!y?яj5F"yQQux~TE Q@~oWC`s>q.>iGr8+ ;}TY ChgBݕOwN8"o7&YΆ\FAy7:K=wVߒ8"9Z` 3;[IŦ/fE\"nS$FaO;#C~tNe;C 6B )H{VJK$ǃFN߿0:2s5J*Sq{˪O1Y"9MBD"95.4G@v]7k>@H"G~IC Ts"> :줎]늜߇9UwUc2isŻ㯮zD"HAr&EGC2(Gǜ8Qމ]WF>'R(%{=ɺ7DBC&ূq: qxT ;gdɱ]?dq$/Whez޳_~Y_rTG*x$Drf!)PCsG|C]׏xwѓ3=S.5< Sڏ4$I_@ Dy3H$ n:ܑ5&}m9;7ū'e䆮 ;Kw HDЇW9d~)?"?l9>gEr9q ?O!gSQ2 .r B @n pV89D}djs~Ebu6B$c[D"uȨ&x6ROwp8'E~<}>G=v|ZN g0!{;PVmbr!qEr L8Ca8犢pcGT{4F !dܽߩ!0, ѡc!Dce27昗`|c p 9cݷ5w aK8 PJS&bqBp: !qYOG#8p PFBcz6[ 18<7A( @8"Lg'|)&vkGtˊ*XL.`egt=}44 O@QvB˲[O !0ƀs9DŽؖDrHE`۲ZDlV%SjsÝߢs1&SʢH(Fs~qV9@KGQ۶1!F\ hT M׺_I*2 ` `ۮyzc ! 9 UW%ъ|U\ό1۶=KӹH$"jNRq M.;.9z>Yh<1Ƥc (gyYBB/n00uzScԕގcc)%K;/v1`q=SUiG,5@:[@LO<(wD z<غ08iFp\{~ч7xc,,]?b4!T뙪P֐ IDAT2~|CSŋxmIeY㭕yz*m* u ~|]w _ˑ`Ī;뮿k#T2@ܣDu=k1X4f&4Jn:p(S f(  L9#6 aBK/S$c̴,KU@祗ؾs&y۷رCygǍ;skj&v{y+/1k c`MM0B47Ϙ:%6(y$~cs]up/~1 V Rt<ںwwV ̚>}gIF6y+s FX[{}䆛oTcs[~ y{ ޲~rm۞HG7H/̚;Ƣ"f? _u͸HzT4) ږs?ARzq9a]QLU4uSS UUU!8tЭO˲ j쒒˶ Hu֗_k-xuk;w}GׯW y}k-\:񩧄8pe˖X\%aO86lT SX$K̷bvQ#%iW?xmK,;0͙=%k>?ڳk=yy/h SiYmoټw륥q*5}Z: -Ο74~U0# 5Gƌ9g*CᢢbӴ^#ϝs{0`01eZa4M{GwlۖRt鯼8 ԌqLy晭[6?8۴xyK!s]g} mk\u'sUU-(,/W%L`YvQqq DaL<kfNVhkygڤIEsoc{t4>8W 6U!q9!`Ç'Uyn~˶W_jlj,++Oy󦆆t= u]4@CE%i`-]z>b;xw ø3g 8 -]1cV+*.PHH9g@u/D3vo@)?^zu{{v Z[UVoٲNp ~UK/~EiįP(Q/-)).) е .wdE?㎝۷!v˲+D"bKJ?<8kTnք%qw!FuvnmB4@p(@Ks(_:0`Ĩ5sƨG0 H&baED19 Ͽo~k!C_|X10cL(@[hpn-7^|eHuI*yfp8cc1jTU@atmwiխ)1 ;vvwqW_5K.\]]UUys-(,ڷ9n*B}\k۷n6˃z0@ƛ##A:G$9vD,[!+!ӎS?pWK8@IIxm[@QQђ%\1eY@(njl|/]v-g"uuu'OZt)ضڵ/{U)S䞻bƅ_}믟?o^~^#HwʸmYEo.F㴶tDZEJJJ[fÆο|PPXヌȚw!ʡs{k>MtMUU0?w^3z+-RTsSs%(nڰѣGissskKsscNtػ{3QMQ'S)q.yq5MPB@z`uu5\QAgٵ{ϲKo8-(((/sϏɥR]1MkW 28纪]E޹eWTV475_t%? |7j ;t]gذo(wjjkx(WQYq 7y_yeQQ\+ho>biumZTTT[W  :Բ#Gp^啔\t%G 3BcřUw^8/<(^1B ޳{iYC5t; .,*.˜TgepM]]^~CA=|YeҲ~!Æ[5`Ɔι BpYYyGGǰ#!4YVmP(= 2J@`ȳL۪-)+(Js!WXX4vܵi#5u1f`yy9(X[ ioo_tiMm_j^ac< 9cR;-VԖoݶ}5c{ 7Ϝ93|L2B{2hzYYmێ:Կ@ n&j+yg`(4lH(ڊ PQq&tD"55v PS[GbYvMm]aQGՀ55X|{7ԣ8JmCrC#LӬ<8TP0q;j9hIiyiyBcaZfMM]#G"aBpՀ~UUEť劢Ba#FE᝶5'Ҏ˱#NAcK[8Џy(mm: 9w ^ܓ+VqtMxys_ʴ![Lqņx}o|ӶmR.uJ zc෥ir=CU(@:KS@* np0ueUE(鸦:{G έaxU!CUD'  ]=UEҎk*~⯨KDIUǓsӶ0hsnYL;N: v@!@0H$=SU5hK]Av,7L1L&1B]\UՀiD)GX $]/Lj<Εl MRmbqƘrɤePX< ޶eKIiPJ H$B`D#Qb@ )k'Re0B)cesDBS5Гd28e0 qN:6McL$(=3n+& .aB,v]7N+l x\Qes^hM2s΃@"TUc1Bv "`X O-4p44B[Z C6FO$tA~)%c Rh8)w.F<7tf2q6&pN8 sK QQ-TK!kĀj.sFi'xo~nqH ]#]zxQ궪KǺihB0!Bhn{!$M)eFs(/TL 17"w!pƒc,kT ax~d#H0DV@`$rŀC.Fk~ѓMsCqx6܅@!XX{}fR$:]j.09=_L9d?H>Nh[Uyk[7l`BziOHֱx2MuST^8캮{zg2v>4 }LR0*} %]Ȍ9 3`28\I;Pg^̢d#9,'i:BhҒ";W%d*UTXZ$5}Ӗ yv1tq+tA%tf%p8MggS@ ɼPQ΅ A;,d2qfiz8D+z&UyOk ?/J746 L8vҒX<<86T+?Sd~AM:D"9L|cF*tTU]QHv4378Bc=ۖ;('0=[r/#ιi`ѣqbmmŅlY([^F$t KD"1aC3Llw+ٽKX,rs oʀ&o6!t=0 ix?jR)M|'CEm{) )Bz R'<r{8fca1bmxnIX8/ŅKn0n6!L& !0]hkm Bط~vri7MK]* #@0Xpw?(ig Ba0TUW^Dӊwh4hۊB(ceeXe%B*dræ{|F&ک(?'M#hv_"πiYpS1fL] :B(hpYt] :F8S gۀ[fzE=<3's(r]x6M϶+Z rG?ڲy*YmnmʭOK!Vsݰ/}۶B UU !yHKF0.-͞!yQ@׍?8f_>hP.wi08wwn^Cu<ܓN0ƺa凋Ç\΃i(yy!Qg(* Á@q뺨!d[7ߘ1uis+(兄FA~8? 3PO}!?q߼p_9BHӴ‚p0L+ ,*).,+ iZTXPX - ‚|MU d.'*cqxu5Mg28/eVVU`!pΜ޺u**BHdԩΟAC yO>{Bs]!?huuuSN)W `gٲukm]۷o_xIM]?g,)) 3θFȂE[Zvٽe۶ֶ5kD9{99K7ko>oޫX&O~7(ϣ ;ȶm'N޺TWm{ᄑsYt遃 nQ~ً֬^[uW[Q^og⭕ 1BoZ5qA+ڽ{K/XS ]fܹ˖/O$9 /ljlɝw^+*(@TB4EQ0ya3fQU= M;vl2M۲yJS͛:3O?{ g:wJ)pN0\?'Okezܗ_=*6m:uN? UqƨJaӧ??mڜ~{*+W=;»~"NӦby(P ˗G#?>PxU+'>J;{Qؾ}*1ƨ5?NHgL'߹c#yX#8o**,zzv`**˖.׬Yx?O2,GwiQ₂|UU98cPukޙ>yREY'/ mϷZalMSZtՊ嶦nܸw%eRЋK 8cԷ/[rKS;Z׿;uҤwW2 Qe^K8i…3O Z<9}j:t'-_Z0!1444sZ=D 蔏hs2>P(Wզ&hmn.//OK_co|kmkk@8/?!䤝y#v( pܫа~ݺˮBèMQD"۶}ۗ<5Gc_w6i$ ~Gn8p8 =䧦i% 1!!s}@0x7$|fBGyd)%%PPXtzh59TTT{Wh5M,_ <3u,X0Q@T˲~?ڢ (((زy-["R6xȐ5k躞tґ#}{.\ /W{GGI%k׮;|1d'p8/x~ڴ2p\#ܜJJK?\/K Uu}l޺16W3 %g*3F5K_eem^zs 5d`Cc$-Z?dB1B7x? 2t۶m=ۿ, c1c.u٦a1sz(l̘a#F~(eeeee媪#Etma.cupCݻ_i⒒ÆY9lĈ"b~LJ$c\~9X5dP(o; >h`P(4xH^^Ï>7ak4MԚk#+B2th4,+-" &ceeG8nccÝ?)*.) )Z_?U"[lA_y756 :̲lJMm]Ee 7|Yi_(Cpuͨoll2te٪ 6" U CFu5k{m_𹋁s+.up~~UI02leDQRPXᣏ7mxM7]y5QPkZM][/sq21"e 9RUՖ|1r>tO"΁svO,m_w 9qюx"VrF✿8gW^YZT0."|.m#1?SiԵ+@DE!H駞.´eO84Y[G ܌/(Tr=1ֲ#MdL yO.]8{@?C9eTt(N{8/S+e\(=)ǥ+ah<đl8q(vEm csn+$c,x<h1t x,v@U#K,ph,E\KS`Y" Ky3M`Bi*vbфޮj"h49 dqhIo {óG$*QRPg}@-pb't.ɧP2qFbjD\kmmUUHZWI'&#"7g_m c u?LGqPN./%?w=f@9Ķ~&.6N]*!`3F&1fPz"2FgAD!P&203QF9!L0[eT&O18L(JheW1DCe938P1B9F|a-kaCo޽~_Hӻ쭯r@9y$N<88 B2b{#Wnҥ|B=KX.vߋ?{ǪSw朋Q(F8yxyqDGe4_ˤ13dn~[~~CcBtHu^r٧ Biuێ)gv2o?ufyW tkoz厎Ecna, BD7$O@_'3u]Ez#EQ≆0Θ164ֵY)ebw%'cF9GGso.-+-_3tNRDƦFT=>$*r"p q{yQ2Y8NRr8q7o'HeeŀJ۲6mZ\XO$66x7lܵ{Wr++C!1wCR 6,)D+21QF'9|a'D"gL>tp0@iq  5bc,*,ڗnAJBR;,t'h{$&rHN%0yk^l<xO{et/sƹQR1.EAr4BD -].%8bDj9m!pTn)XPNH$\E4xyu \yJhDrJ)#ESs2zH;9*9)?:i5^®#I #1mN=PcĹ:yHA" #Qq !2nWHS?ícq290 *FIWByۯTE" ©V{ :L`IN"]@αLЇҤWؑBD#\̖ ~PJ1H3&RĉUb !!DrZpBDr.A%i \faOuw:Rh I^$D /=wUhtkolګʆ={v>=Wf{B|,c/XiO8Bhk/zcPm+r={yނ~'rVrzÁ#@n:yV\J>NG cܼaӖ7]M&^qv؉Zʊ~52NJ$DŽymLŘ[jo9?dfS$+nBjشo.8A>՝H !ln\??}sr`Ғi軈3Rdpz^8ֶk#|ƼpcBbul۶_/T]92DA-6W7#llX/)c')4qd:Iב^؂á};666PЍE/nln.*.Kkk=[n}Ey٩Drm'o|@ܾ6\ 5:B|$Zh4 <댤;Tډ'%BХ]{TM(/D ^{3Ǎ\F GTߟ|TkƉuMPB })4f 4#f%>ZtdDC*ߥp})2fd|ֳ?4"XDJ$;Y _b9L4З]o%#_cG)1H01{R8qHA"d IqYh\BgVL A }$^{!f8B`*iס22G }$e^<7!)  NSt<'u8=;BCEFiH$gB1+D#ġ4xG9ΊؑBD"H4>d‚cC D"9@BtBM:n΄uHA"H$g&AUtȤnǀ.YCHyH$3P]QM:8gJ>RhH$ə:9Z )$DGȄ>1T+$I$tᓑBD'o!DSStEI^qHe.o?o7| l.E oK)ղo~\ov2]~<ϥǩvz{~ J4K)sۦ3ݭp^<ϥv5 m;}V.YU 4u}׻~}V4\3`1Mn7p>/>rp,5}Sq{Nz@R4\_x+\Rnh_6p BoaOr躶_o窪Nh $oؗ:H+ p˾~NcJK/J75͑whkvPm98-9ǹ`H[/nVa-/M@8.U)Wc6/Oݗ#zIhc4M,~ .nUK]ZH, y&9SZ[\Xzoz~}zr=c?4{9/y|u_엉˦r:DȅۿYi?> ][髋Rd\I 1c GX](},J<__O/w`ݹ_]I~_(?%k{^og]f^n} t+yy,;gFԨ¾ϟq^Ի?\%wB:~Μ~w+癕si<y^H[*/llɟeNfPe?s Qk쒛l&F0'D+? u>;#+po~M,1Pm;ǂv)7ιZZ&аxy^f>c},/{y彗:b&FD ׊|C˻6:bF?dgl b+[ ؞ .ވwDL-o]vuLRnrQxjEּޑm1xD=[1܆垊?XćLhqM^#$N=ܝ,xq E,[4Z˨3e$7iYL:]]U*@N+vm0+ݣXvjsvqf?1sуzԏΑc mg:MFUNդu4ς8uGlg/m+)+;ش9f@u`.4yMD[H_^Bۙ(5j#`3,#B#* h7gjl2IxY&g\mwE]<5Tr _FFp1{R6qKKuhd2LODJQ}4%C B>e9W,+<+\>lLdi4T&*Hv@"x{#JM(P\Ij{:|a,%}8MPq{Ǒ:hQ qs4ET FBjkb+؋bur uPwͦhLiڊ6BͫdF=,ncC;ňD0i&M.1=-:uZw|ѷOC IN'k1[XW8.Q4<%joh<@QT H(={zvm$I&q0 A@p:m6[~~aXaEӣnԼY|q\ro<d2}9s ^_ !D$iٝΧO!})tZ0F$I F1Æ zw?ooo?RmV0 @Qfsߺ4 0SADDDDDisx @OAXݶ g#7vT6*+ W+ 4IŊy++ID)D """"" _o"@By@-0|sΠe Attk8ΠrK2]+,(zưy:{EPe0_/[3eX y艶ZK$XUX9ٹ¯GEClu+=J"U CA "A HB@@@"   =UCT """35uB(e0$gϧAJKj+Rb^/g I%Bݵ7de| F>B<(*a$oz*^5u`djsDaQZmXgϙR*N;ьcF/\4==ST")lwy_f :^|Y"cSmBGBBBDDD֍ """Ԫ&bSgΓ$_(IsB2jq/M7fa-$I梢'h3h8xI9"I,//_t#xq'S!eIO 0P*"l6[bBc'7np8ߵqӷ7~+! #BSL4)DPgիWLL MdK˲U}"""""ԦQ Ny)_.0~ MQaa!K2.\P(8G2 e4$xٚ)zy=nEC%!LD!$y{xuxm{DD'-5Dg/HjR4ڍCF?m?l1MAQQeC&4eZsK8a7˗/%̟u BәY<գ?2Bst.""O1v %Z\.ɖ.[ݰa 'M PR~:gFVRSO/]Df~ R6B Pf:ӄQ9+e<#Kŵjg?pK).##""OEn8sDQaD*+fm؈7o*ի ׿ր7V._Ff+a嚍RFz{?hB u ^YSiY?Zm6R)lAHJEnBV/OeeSdYSG|fgyT !KBC##=W%j )#!ؘz/((7YׯYF9ed^\/o5tbkKđ{XC@xZeڡk˵ý iyyݛy/44P/2۴nYIswoj-rm{ήZONye)d9N4<uL&d #3jXm4~, +˖nݪcJŜO?1S7]x6LwߺxtZVeywԢhy `9V_Y<˲!{TV^!WI`ZfK,]cf3$srR-ftb D jZ6*)ngYf"mn7[,q$AX,oA.YVbkY fT h2*{njZNW6h4l6ՊGzdXVphlv;qKjI 8$I4MO""򬨡Rt!ڴ eY\.~_F._}wY ^Osfku~nu 4-Rmr}q_WzvhWk\#s߽5!Z5$N~Ǫ󠻻" $I"I!/M%*pc_8lZ!MoR;ynι# ۻiӄGpiW[8dYPb|#)l0g~iNe-;VY_NF U*ʀ!<{w?T\R0tN4P.N^|uaQD b2_'"Z̹ >y>8(`/&@RW^g^-9sw5k_zar9ly0a+7=DAaB!w:٩&}/^vם;5E𑧧(((B\iBJ['Q4C-==r!p8ut:FBd={TTTBCCϜ9#Ad TTTٳeXu/^T*өL8NZ/.KX6mDGGcA7ox㣙4Ij":rĩޙ6u".jw%$%""ϐUk6: XPP(aW-IHh|O~nZssn>rl U*%~a(d2X7ݿ)DPgƍ3gT={L>}sڵ?`Yz={6Οh69S((ZK.t4M,gϞZT:lv8Q֭[۷8qBT:NPTaѢE!55>PfYRAYl a6m[nh4SLiժպu벲d2bYvmll֭[Ϟ=P(GWTFqQQQՆ:Bğg=B-[4۵sKxi<%d'H4<5T)ryVvr$IqdL&{Ů&lѼoƵk6 By֦u+oe2iTǎvjƝAShZ4=rDB p#p#EQvmB$ny7jP}tG X8BɲIDGyzzhE.^JJ: 訦ǎ""EԪRƌ ban̪4teG۰~<ܵk~cr`@KWOA~7l@G}0 x={ŋ=<<͛VnݪVG˗/\200pȐ!!!!}ٴi84iRӦMwRꫯرC:DGG*J"|  @믩u`Je6m7oO?9Ν;XX,Xڵk/V0 .;vj5jT^p7|!sӧO+u $Ւ4Mx11Oxz>}ee鳅EX9׌ QUH$X1 2麍xzW++ w|8C!DT9Q24 k/,*Zmx& BR) NT*%_ Zsx rKgP( 'j`QUB$I)<"pקTRBAAխ;SS7@nj :q,Zbݽ{Ƭs/?y}ٲef(Rɜ{'$ɯ2)K|!KSsWTT֭[Z jj5@"pDzl~ _jB!i\!~fyonZqqqӧOW(Ol__~ݻwsN5o|YQQѧOAVk``ĉ q4M$t:)?DajcuΝ;:BH3L*ml˿sMo۱(o/o/on)EB/]&$onٜ A@ l6 4J69u!ނA{bQp aj- q$$U0 펚QA͵" &]査(sBx T*JnjڮM?'$[ 5瓙? IDAT|8;**j b.x (v;++חEKC]_?''`2RiEEEVVV@@@~~l{<GBaƸow [xY`Kһ6}U!ԢyiS'M^wΝ: BB!!JB#{fի7w\>!]YYvv.˲aa8VB@PXXTXX@Ů/v74ML/(|%K?mۑ٢YSwmgB8vⴀPQQ1C_|Sz1eeJBw|hc~!q۷ocsJJJKKK}||t&bժUOi; prizH$ ':Bjv l1wq\&++/އ[7 t'`E7j0OOدϫj;R֞,^0V,ʪxLB_Y8~oye.skX v LZs#etr$EBg(r/aZ ܽ/nb> ehF $l~?l `Yh fN\#,ucYŽ!"""ϊZ cGEH8{T04P ,ECMHHT*eYٳyyy͛7OLLLMMeYv w>˲_|šCN:%ZFnNWB\]C"#a~uoks+5NP5\\]֞{2j_s JBK@"""ϊ) Fll;vEC{P,6h &&FT 7\(tqqqA\~֭[x.i~ݎq: l߾}׮]5VOzw=﷯m۶k׮5ҹsJ4ʫ<=#sԉ8¥ڎ{ =Ukߞ~~xfb"""Ϝ&h"j cF;qR_(Dxʓ;O.KegCc?E8}O!BpI<^VW0K[!p=g{>RD <>=koi rSG2?nݱcoUUܶUkjm)ХKg!Z%5?i7Br}=YV3L3?4=#ӽ$B(NީgbsrŴ+/ ' 0|v.\hɤi@a^a2 spT*(2vC&7>`xzo6;1If4Mte2LPnrϾVe9$dfZP,kXIT*XfLf'8< M&3q'8,(0PQW*E FZ4!Ki;rlɤ1QVl6$^^Z􌈈l__A@ܶcgTz/t@`P(V VAʚ%&8ty>~+w܉Y B&>nϟ?_јLƍoݺ}" ݻwo޼͛V5j4a„ 6zzz}ߊ)a~~@m6Ͼh٢d0#d k[koB ܼ->p8Rƌ_йaLbȈ8t Mԯqdؘ蓧Ntefg-5}>X8[ja2?3?)[o2ms8yooZ?.]Jp:4kZCt%ڵ٣rr[Sb|[w_PU/x1jzmZ r%;xWJJjxw\VN?m{ng]|핞-7-:]*ӅE&{Wf~ӷ2h2 ~MJ!,,*jl1{g7~QRZڻK6muzvj?Ԥq\NNnvhBlڗ_XHhH\ؠ@'~pF3ybʿ/}K'\~1L&n6y_>DrѲ* w]hgmަu_.2y|FbKg+*.ewӽAM+mZ7o W۷m$NR1Zh¯~>㩧Nw̹sÇ _/rMVh2DF_ Z]Ee7e N+e+$lvM~|-."`20a(\.NO1BȲl5yɔo߾ٳg~rW }'cǎ={,PT*ñwoذX :cƌ4eJM%%%[vFN`͛^z ___ooo/]4~ u>xw,^5eY0~K/sעYࠠ6Iv٫Rї㹣OvI ;oLhҸuM4v8 M5+CCCT*UqSF8yJPLtt=?q2(00QW_VJJb˶e2yeM[lFR.juV5=#38(pu:{;yXQΝ: {F_㎟HҹbehQljʏ"]{o_206 {.{qLԤq\|Ν׋h4 FbْZZlܳC6Μ9S&ؾ鄐͚&n٨afSwR۷3һgnn޾wF3h`m\tt5ۮ&ue@:Loܽ[~1Qq\#Śt144!$J  5jԪ oAܧR5._/tO=LP( /݁xTJ[P(3.((R(!".^ݳGwéˑ:kSR\rȱPDx323314;~Jl9w⠷xոNVT* Si08N K$ z{r29nWsxn.a$ 9 9BQ(˪D$>L&s1 ڷKj/bs_\FQU.kׯ;Y>GayMo4 PUTqfiPL&m06n(k/].../8}\tT|;+[7 A/,t8Rڍ6al,ERME[j$[Y6u ;O :v"5#:IQjJ.W;wYY9 Gٻ?Q]{F5Hzwfhppy>N^EEBq\#LJ%¢[Yپ>V-+;AA1QF9+;ȱQlYYMlpN~qIIVo"!Pկ!0lZ s䅇XV:mYY9z7(D"lj}9gΜgݪJ~ҥC -{d2EQcƌ={v޽۫W/|eTB}()m4:Lޭ^jzQklٖ-۲6&_9dfrr2 ,If8I|@ƶdnz_k~\Ti$I>?8[n[n7z'wAhݸq֭[w /]RHvڅ&)jnn~Z-9s=Os=-G0tKaAd䧧[<٘/u:2Octll /7g$@ٴl ^hׯ+)JRR*~X4[>$n|X__l4!( {w܅*+[>26=jrs1Vxp?{!ǓvG^nEQ+K]<fY6-͐iyɑe'k  k5ܵkʪ.^j4nZ*).TV~^Q&vqV+Je"ԪO5==Z}°[|$I\c`՗jа7LjNO$rs<POhٹւUkF~o|6_җjkk<ׯ'aMӇwZ7C2PCh4$c?9??_N/>d;!/I2?(*.__'P~ӟ+P_)˲o~[,r ӟ$.Xusy#o֝o[l$Ͼ'IJ6o8_3mo_|OMLL|<,"} ^X 1ijF?LʓTDccc!y Ŗ-[H0 ˲QsN2b& 644鍍&1^߱c^{زe^S`P,"yۂDp~vK$˲x2Gu.%M"EZKӴeaiczLrJiɩr%)?v 36r&>t}םwy˧ҞW:hJi?N3z ̴/ae~yۙkQ$؝R^K꧷m WZ _Sj) I=EӯQJi3Mӷo2N1qS hX0:N~!DfB!yMNHTT5?F^,)qHD)">ad2   7f&8="O@l%B\|$,o[V@а`4ȓ(SOپ})Qū֙zg0իHC<ɹmM)jժg}$%q\gU%sy7 *WՔbrǫY-]i49`4T#ȕ+WHV qr ?D6 4>iHH.#Fկ~eo649ӛIqsZ `AH2{۶m'\,{'" 0Ån2 A0?I\';|_k1 "Ad۷h4Jh4Tg}>:::e  ;vٳK_Rb$zjd7?ٳg `qN3BBTSKɵH}k_WBZ jjjb4QTr&j ߮P(RF"H# d\0Dd={444jcoZV.\H$9 fyilRI>u&IA,.4~jѣG}]HViZh'z bl"CcSWϋAÂ8NE`!D3ɼW"O d`J$BZZ@CbFӱ,+r Y8p@ |d2)ܢ(Z,BHדd$ER8N~v I`iVr\1N$DMc("!B&?u.Uk^M4$%A_|89hi://O.͕gaBPWWY -ǚp\!򰀦i<9˲dIk\( zٌR(S+H$EEQL&(. ^<4̿H'JQBhkk_J0Yu!Ȼ  RJo1fYL `YK'## >^ZZ裏#(w#<0 Z78|fK&!F#˲P(;;&B$'׾,33D <3b $ QՂ ( Ϸjժ{w\BhrHG}r G4&I.ݺu6l `,o # 1|+_z=JIDR!4R5 EQy˗ F 6<3H$1 CV8sppPVk4kjo|0~`F_x cVzfO~F&שr\O>d4M$ J%˲===jZPj}>j}I`1yCfTWW_xp*_F(p?׿u2)a O~,O~򓮮.eJ%0q\2a͚5O?tqq  ?lӟJbYVRzAH&D5kG?*,,C޽a{(f$ A˟}|r8iyt:mۦj^"ynwIIƍM&BhJO/#mV^w#Gtuux1}4 Mu4 3ZV5S/ANxUhG^^b&0xGq$ ñXlbb$V Knw ುY֭[WUU  fgg+:N 7oFޫP(Z[[\yfR[[{ݻwᆆd2n:өP(nl^xᅶ6zw<44IJf Em۶eٞA~eI6md4ѣGA> ^:##CV{SN)JrN>}ܹX,v=zTEӹvڴl00KdeYz̺:Bjz}IIgdd$[,ӧOh4-//X,P.((hoox"P >OZZZj5B(###xp8L"F900XVV׷׏B}Y,1XkhhuP(xr$p8RdB!a(8JT*o `@pSMy)|tW.gr?NӴ(v]#[`ᆘޯ_3R{fb0Z寕bXj h93> sE4ދS%/@$S&|դXꍻ\(V4@z(JM$ɠP,SˇdC$(M*JR! :DT*!לZoOyd[I˽,qQjPWWWGGqr%!(PeecjkkZ1W_MRiy\8qĔ!b~ :3gBPffSZZZA8wf B.\nii9s ~YTVUUd uuu… d:sfxb0l暚V1~WKKK׭['SFFF-Zq8X?%YH溺:ɤR$I:x`"$i||<?rz^F뛛kkkj5,z00K6m```޽$M$~aFFƁ lj'0}}} 466 'O:d2c].nhh(,Ν;W\\oSev;04M 9VVV>|ȑ#fy||ҥK@rݻ8R900pRk`ttt||ʕ+'!NѣGΞ=[TTwX,,4 222VZUTT411t:nwQQQ~~^r%sss].WqqbE՚L&rgۣѨnj*h4[VVV:|ju:(& ɔ[+Vp\renn,((X|y4M$Zvdd$t 6 ܺukOOhX, 7o{f<ݝlٲF˵|򾾾4F$˲eeet:1W\Iv\<#v` +J`WZ ZmFFFGGGYY^Ed2i4N%yufaRm۶`llv/_UUTTG"d2y]wX,rʴ4b^3LVn+`0XRRbX۷lb6aN,孡y׮]yő?h4~sNm3)L Ε(I"3ޝܲ| r97U3:qD"zlْijr:2Wb(Jrƫi!IIDnOjSɹ" O,0Ұ`x @&74r*Kt :N! ̤2!xՈA)my\-LZt@0'SJT;GRN<5 Dуb*B4M"<4!tҥ3 q,4 8H ccc(Fx4OLL$ M$!^___?::*+8CAIBy5㭷"6[[['&&H@ LbD"q\$!-bPH$Gq88p$Iy7EP(110n;-- ?ڵjVUU577ܹh4Q׬YvB}}}htΝzܹD ۷oI"BӴf+***//G޽s`w8z~׮]^e5kp8<88XZZrʜZ=66Fh4<Onnmۚ$w%"KK3 s!,EQ,Z,W|rPwwwuuuNN$IG4m$IxeH$1y>ɟw,˦ӂ pg0$I"0iZ$)--MR)IV-//Gx!E(RTǎK&$/u4%#(R*Ij<ϓ,49{cx^NlE@PTWWAݮP(DQlnny>( 2?44cQƍ) Bccck׮JOO7L:yppfl@ uV򠁬144D0}8VUP($ɶB~cFb1rju$QFd&ہ@@T j,HFE1h) xZ6LDZ6jZbI&Ǒd,@ VEQTTpLiZg d#* 1˲ [p@0'”*8gR3ˆ,50aN!5^]_sNOپ*iҵI=㔍kVI=kHÜ.<"@.0Rכ <RA !/ EfD"F#獖W~.U%q!,+68ɵcNHSВC2Lr2jFjHR,0x<1Kשׂ{wx___ww7q^ww7EQdAd2?$ǒO 1M$H͏DF jkkkooWRkH~7*++SkK\ސwOI=俤yh2ujQ+++1$/f\a}mذ… %%%W\$9^oWWu:Xٳ^n9sOќ8q"++E:K. `61CCC>STTԴf͚K.T*^t…4Ĥppt"Ν;322[[[˗`ggg媬miiJ<)yq`ZCdկ~T*;::J=H,gX*..ؿ?}<ϟ9sFEZHtGGJBB$EѴ>  DQtҦMxGS(h>vX__ߥKn(M!$¾}l6["8vn뭷zc<޽{-˗}>DGGN;p޿Vef```ddlƆcL.'>8@0{St\'Ox<.ԩSc`` \RFVz<A  Än !ѱyD"ABX^FhW^TH$ IƁXZZ|r~("f Xnܸ\bGQTqq1{v{,EEE.kd$==aݮT*m6[aa+xW**J o!ںuVa`j$,24EXl糲nv{FFB(((@z"H$I$Jrdd!1>s`ZG% .X,p8FB}}};A|mmmeddnٳ$_5M.\7}}}&,H$|>_0 B@`dddhh(bqxokkkkk ñXιX,q\WWIYUUϝ;A,20aHjzl6n966vju25# _~pp0##d2v^aSRT,ơrUpy'٘0Zq(cccjmtvv6lSXXL hq"d"H<EMLL߿_׳,;11H$Bh4GQD2$GbP(D(F"B!MLLfB<}Ic~?XI^HFGQP2$>Xd`",.|llӉDbʕH&۷**H_`0 ===Xl˖-yWs``ܳgyrǎ,˞={6HlذahhH*ƍM&ɓ'U*d{WV\988/~Qa7n(<#Gx~~Vmnn$iӦM$4˲tFCzɓ$Xb믿^ZZ:88կ~dhkkaӦMFqE4ɯMKK{I_k.xrssmV__t:Nc4 VdǏ';~n_bEYYYggg}}zU*ӧM&Skkk4vz!TSSc0vY]]z}ݗӃipTUUɋa(_bnn'vܙ{%ǓX"??jF"ǣjwFGG/\`4zNt:-+++//7 mmmn`0,o# s(2 $1 jIe.eVVU*Ummj(,@vhڱ1JEr?K ,[LwUTS'E&D,{|y`6Ai,LT*9bJR$,KRJ0 Vӑ-&߷oR!Kw_ 2Bɚ\]]ՕkkkCPEE%Iluuuiii'N(**̬"W?~c\PPP(l>vdR(W\ټy~(/SYWW1mmmfrzݝo߾իWE"|P^^NӴdjllrVu:UUU.\/))9y5kȲ---E]t2//D6$X9|pYYY___<hmm%ol6V{Z*uo:0Wt2R*@ @]; BVz> QBdN B BTF"^ŢѨbAzJT*'gBf9LFQF1N&d!LG!rkEQ74MҪ`01tHDP hd2IFGG EQ|`0jChhh4@0'/Lkt3)'%AdcJ+WOZHy$_pc~nPZZիhA?caI*++EQhjj˖-+((8uybxx!h( wqq.\`Yvݺu>ҥK999J^h4jB###YYY4MTuXHÜpDzӧ3229xN>ۗj!j'B4M;vԩS(4=>>Nv>|y~^ q 2qix>@R`0;;;???455Lʴ#Gړ'OzIfl^/ - Y" 0 qF)((x<% JTXX'6,z%%%dnh4j0$"BHR\"F^(,ˮ_d2iZ^o2t:d2&;;dggB 6\p!f9f MMM>O|H$q#Dkkk{{#|>vʕs777wttL@  HV(Rg, p8 fee4vIo0SMMMǍutttwwjI֬YS]]L&B~}nAFz0Nsxxh4q\vvBPTWnllVT.K!RyaA6oޜ300֮]+B,x<< '&&j㌌X,vmuww^|Yۭh&&&V\xt s%N$,II"dr=r6FZgQ(P(??́3%I%0C0,u#iHf 0#4,L>] ''Aj$ "E FJ$1EQ4M41=^ I9]@ IDAT]<7#h4ĖX h1${( <c=qYjzx! BLj.jR?HMPMp;|K_joo'? h=ҳNLL|{)))IKKOb1 P(JV*?xQQBi|j|X,&IEQ,4=dHTEj #$RI-C=HR?ِwғJ׿uDQieYx`:fp #]o[Jc:_vmKK˩S6mڴf͚gq%%% yyy!ϟ?ڰaCvv ojj:u^?ȐNzNn(*L:t󕔔_!L&Ϝ9z ŝwi2z{{߿uVIΜ9swcǎE"˗^:i7|3Fta)00{E<;GccZb'Oh4O=o04 Bxd2E) Vۻuֲ2!33sժU KJJs7|d͂ 8N {R$.{^{ !t= _|ÇWWWS/==̂0ǩjLET&UHÜzN722B^F@%H$xdCA>s9BP$ 尃(wo~裏 Oix='O$',+IVd,KRFEWp-00K(ꮻ:ti>0Lk֬A_rFBA:or18~Ą $>P*֭w?V)$Iя~s]wUTTX" >|XŎK.ɒj::u*"8ycvڎQ4M,#Jq˲ ~nímŊϟ8ɓr\d.d<8|aaSΟ?=ƍGFFzsb1?㸻`0ɱ P588xMᡇ2 {쩪+--4LNkkUU*Z~ׇxQ(h4<|ggU׿E"+V,o߾P(TVV&rFz~>3EEEy{9\ɫU Rȳ2S\+y@&&_ׁ@_e˦wdCS)NS L#I=~yA> 7J%B -,>O?mUa#Jb%G`0T<ϛBo߻*_J[[U -@;Q"ɝ`ܢ ,ƥܩo`0$Ih4CCCpfTՂ ge9h'BbàLH%q n2֒nْ$q㜜D"NA\MIv]2)88<bftJIOc1I6jxxXP,Qx 1N&F5 !DE22D4-I"BYY:C2XAN0#4`F h@3Af 0#4`F`y(ºDQ49$b11kEQVl6Xni4̉O$fyvKHˌvY-~d2oL4̒$IxIܬ5Aа`04[vi2d SB|,7-/EzF_VL > fjBB0VPH(1,%^6enjA914st9}^IzVc!.cCy]S* i*D AаS)O$~m EiA9|BŨBQ!ϥpQ>ȣ ^Ӕ{))U!p^$QԌ҈FH LMVBL`b1!0A1J \.;DLJ z9NH"bҩsEhoGt6!$V]8JILc G&d[MD:~-{E_tUIDiuٖcY-ϚE3NlO2zJNg&l.wHdFt_o`/ ©+CܙYd~g Kޢ-us">T?~ \KDhnhPx;a!YCUF i,#BMR YBNhTR{ݳp<0 OwozWM_\b6yŶ|ϾO.oTchӪ<M #Hf0pZbHoNB>il%% 2%|s)`ՁƢ K%Թ oݵr#IPI  JNJ] _؃icop؂!D xƲ0/ aLN M̵tTTNUC z'4LSXn `EC*1b"*o-DnDEUdi,ᦇBxt2{iيƈb&t|>)I!n@Ll'4Xa(?{4B.fFqL G5B0c7. 'EЈ!="6{r hd/$pJM+of")5\1) cg!/ EU v"{yi o_g q9nL2Q5W4JT3*Q9 aX2&I͈jx:9M#*A($dM6FX&2Ah<:ni?agR!USg.RsLD% ˰a1C!cΖ 3# B`$|ApáYaX5^gʟM[4Bʬas,f?ߒG\ V(jipV)Tٝ;gw?pS0S AM@yU^3\MimD 8sZI(420|$s E(X#(!'(iV3)%9, r[hl " T,1!AD.&ePD%U4ěr !hBdX޸T}BsHє'*E RR,n߀1 ?cfѲ'C KL?h _j̙hRI ffbf Aobc EU4s&oc|tD&F4#+#CބV<EE%-k5f MM=MΠwV6@|] h'1phlL%*3rf!tjz 3BP<'8˰12K*ɾp/JQsӉ)5bcFdUM֗ KA9n#klki=aexke~5 fpdAVqH2iE,zxրD. ~"ɨJ[22(UԌF4sv^TV`&!'xG)³@ "4q gbMџkK)cLb*+ Em c,k2AcXТYps 7sfgRߝ]ILB!9!5! 28MEir;rl ckdi5N -V\Y(D1q|hʼn0Ƃ ߏ#,Y|-zǼX(aѷYD\[s ֻNu5 1q&!SMF:` ׻!!FC 놮<ޭx`-$|Ap=A &[.pE hfE. yǍ1G~;˝oV_^^M}իW,?;7~?i`&Nܹ{|׶mvر@ 1z'NXf͊+ZZZ.\ze˖>|8l۶e}7p;vh1D"oFaaa}}/(BiiS֬Y|'OnܸDB{ܻٳ6m*((C nvO?}p' 1>qze˖9rdjjjzzjVTT=z… hnhhh4NOO>|Vezĉ–h4[ IDAT].͛onn<}]&''v3gv;!㥥ǏZ>/''Enqܛo)А(uuudrzz?fa[ZZ<x:۷477RjYY,,,]YYY__zc=c6VlݺUUբ"c p K46leYeAeHd24$l6+NF(F1=<3 CEQ:($Y,aEEb0B$1 c6Sh8.J,*0FQeQf3Ѡ; 0ƩT !dXTUMUU-,˚ɤdE0(BA;0%=t'pa O"c:O hԳ;;9[eߍФ٩}g4aAe7~/?k&ætUcv-'ПջR=\$;aA{췲COdw_D$< p g`ѹ ˲D zJT*dgZ04o#_\QKznJ% !$-~>6,~4[ >SDBgW^yeYt:"#cLEl9B2b-fӗ---ccc(:NAO1VetN"dgyf{:eiJJy*ٳpfMA~ssshIz=-4>uϜ9344N:U\\,IҞ={fffjkk<(IR^^ɓ'^o:ڷoB(777HX, L{&b}ID'# OP(ź"MHU߿pjj3LofOOO:.//?}t{{{SSӪUN<988xAȲl:~WFc,G~ё~g~~ 77xHt hfͶyKd0A`Y6 T*lٲuđ`PUU٬*Py> }!gvk֬[fM0T-[z{{CBLU՚۷յlٲrjj`0{g֭ l۶b1}u|` hl߾qÆ oV*bYӉD"777OLLեR3ghjժӧORp8|ԩT*ND&I&ƾg}?'''˲Nɓ'=]G *lr}AzT*FF`hjjjmm]|y^^^aa!]!1<<911u֙q:sSNE" œ5n a.aL&(ʶmn7]PZZ*bEEE}}4mŊ彽eeev횟{Ngqqqiihuuuyyynn5)X-**߲e !fy<>>>^UUU^^NKl Q 6TVV_RRbZ~{gggqq; V\q+֭[gZ;;;7o\WWDz͛vڵk-KOOOcccmm(nIi'wZpdJӚqg0EQhBHUUEQh(#t:WI*>RebB$MȲ(&eYORQ{b&IlMEESD+yd2taRL&#˲`y*Bth$/ɝAѠAOH3-X_|8.&k>AFsQOɾ%zv\)7~-/4-?(I/6]>b%xqI;lP^A[1dn=VH!pE hW\pE h C~|F4 :|[i)W+2 cQQ0 cMz}3|@ @aY%I8kIhNht1=d%=edv#ijjށ&mwO'nFvn*A{X,(ϟ;wD"Lk4(0$I,&'OMOO x^BHJXFgZC577[VIBP{{,˱XlȄl^0&(ʹsfs"hoog&siZ$8}zzl6J===FW<4eX,F+z' =p4F=00r TnLh4p8TUu8`qdd$hVXXg6x4 <#l!777''gbb`0@ ٙL&f` $I8qĚ5k,^BɳgNMMd`0XSSs…aFGGG,b`e||Bبp+/!~ ?}4B(www/_\.۲eKNN$IXuuuF":aZ=f[n]4EqbbbÆ uuu`(NB!~IP(/..^bht:n_c!~tժU% ɤjyyyeee*r:6mPhbbB$t:eY-))9ׇAõq\wwڵk7nh0l6hQQQ&QU72}farr?Ȳ<==]PPFf3UUUmmm(~f뭬ܶml6L===AcЕ:-Dl6hzv8+3DQ-,, %%%HMHTRR hAi%zز,F^yAhT*E#H$H{wIRif8UUAPU]\,th4ҕ@$a4b$IB> Ut#}\<gfb1jM&eYZۚ68EQɤEQE: Jc%za! "!Dd2 nWzUUz4@џB/WUWu_IG!?Ko6.d7|  p =>]rvWJ{ej~Iv7O"ЫuS^~ڗ Lv{.1e&\ he,k [!DP()\C4 hnh4JCQ;;;~&E,0 JKKiʦH$b V\ \=Knnt+f(4-??b͛7[VnfW8NGQUUKKK%I:~n4aͣ 77p,,H@nk[i|մD鄄Kn!E#,@+p鉫b4c :t:mۯw+\wU!>/NCid*(( nj4\@ A @+A "4@+AܹZzK;$мO,;\&WÆ> BWki@sUDQ tKD_$!fgg}ٗ_~YUUlX,'`01Ύ_ !akx'.~ GW%n0~O~矏㚦iF;~:1rXկ~*}]RA011|'liiOOP!*Bh%ٯ`i0޽{i@')@Js KD{ܒOӪ~_eaP(im4o"$Ilo;vp#|+_.TJNX,0L&y~_ϋl޼^N1x'2 G y^(>4pW( ,B3<1VUj>!Ji} _hll(&1 k׮=uBhll׿uAAA Xv?,?ϲȺu}E{O~7o~O8OgxxGy衇Bϟo~SPP077ի7o޼g/yٲez`dD`_o~ַ_xqO=?].Mc|ٵk"/['Wsύ:u_◿D"v?}߬B'D"`oo_d!_'d2՟g~l/}K[lD"&)\ q޻ !0LccsBFoNp8@TVV~K_D"sss;v 'OVVV*SOI/|B7"(ZM6 n`0qP0@z^І 8?C7n-גi<ŌA4M(8EqUeڵgofB[qf}_o~Ud qBhK6lrF<| e h6h_p8fffh?33X,P(,ǓdAAJ`0NgMMM~~>sssY V~/"BeY1]qI'8L&Bd2qDWW'?IQO>z饗~wÆ EEE~X,544tyI A~g};FGG_w .=z4  tttuuuɲ1@MLLLNNf}hh({*H>׻ 7+(7|l.))Yb@"xVX?O544-_'SJ3 344׮]KKKf3}p ƿ˿X,yyy### <xbbv TWWF|…+V`v L%h_wDfff֭[{nA˃4KGS8wuu=S/h\j/^<~=wmv=\GA222s}#1zRgAO˨~]C-˽0 =зcz, x:88x…X,}rMMM{zz֭[o߽pBSS0w?vl?9Qsrr>#<ߟJo=zvڵnꫂ _NNN~3_FNN q\MM(xW_l.1H8q"< n]QQӓL&TUݶm[*E8t˲w>zbY H,K>c%W^yEh4z_=''"V__ݺu{}衇>OK6?̩Sn[oET^^jժX,k׮|n#^}~饗VXjUUr:EEE۶m{id#I]]]ND{{l'4MѧKN:(|뭷>-_ĉEEEssseee999_W{{{>Oɲb|8HַZZZt_eѣ6lxi*B^&l6Bhjn,>?7p8Aqq1D_@$Nq %%%<+-qU4预e ,ٟYssÇ- Mq޽{N'Ƙ㸼qFјws566qHmm믿ڴim$I6m]]]X,Lܹ8d4'''lRPP2??ud2999H$h׻\Y__w}77 \^`0(JAA=d2t0`jjb\.P*J$6 !$Id㹹pX4z ˲4 zRBIl6o%d2I?"Q\^r޽$=#(&D"!B,s:Nw&d2 ::Dx`f)vaT*%IhTUatD h*[+iImAWf_B{y `i hZ3,>F2&ega>>r> ]*Bq8Vnįo6pKGz>k(,B4@\pE hn`b4\-Q/nI_wм\p%ʹdUUiy-`)mpOG/0ƴenn.+2iwa^'^2Jcd2ɲ w$>]psKD{T*LY~`8vmGUճgϯ_D%Izhhh8Nh;6}>chh{y'3Ϟ=w E"ɴm6zl===gΜbXb4;uv|H@퉥ʲ'jkkeYڴiS:.((x뭷h055URR<00PRRt>H1e &&&\.W(:uf;{n:wpԩ᜜X, m6bX, EEEǎEX,F_{_ ]~- /[m۶mWx<6mʕk֬AUWW#G^x0//^婩^xA4ZɚeǏ\7x#??nnnϞ=vgNgqq^cH$x˗/?zh__i~x<><,x|``M/A` AаtvQQ]wu'*++/) VTT^: ,kfs^^ޮ]igΜ;#(ɲ[SSef^O2;EQOWUUnYnzIٴT<@ P[[jժ˗ԬXBQagff Ceee]]]NNi[ou)X*4,/-$IP(4;;+I]{xnndll7''Gqzb|ht֭+..蠅%` EJX p^xǏH$r9M&Smmmkk+BjVWW8p@$vǃ`,K$@@|zzv{^e].W$ B!e}ч~f(C4,ƘD"}L)JKKiEi166H$vY[[D}$Ix<^677ry<333r4M44///77tcf3!$ڵ+<_XX(bMMի׬YcXnj00 333 4ˣWUVVf2EQjjj|>ڵkKJJh,p8 ]0.V>T`%l*@_ʠiZ&F:OXi2}iM@Oܠﴤ尳+d_ߐ^޽2;].o_NO>bop j2| H٫#CKuL˲&OP "{⪤@ Fbv߿UUdYO>8|p__BHӴX,B(ɄB!UUutt} nr_f4,8pСnmmM~N+B!QNgGG]H$DQ cQ3 ]%@4ЃD"1N&]]]!s=_c?g?|$EQQSB_ɭ#=WB.]C|!3(B( UVV>cennnddUQQA3D )UUUDgpey`0^zݽSSSb|k_+,,DP_ ՁBA8aYG>~dRQ)jEsXl `E!/vݎ18e={lٲ%VTTd2\0 0<' UU !cݟԧtnn.˲VՀ`^ƍ%Iڿ عs:thlllxx֛"a:N\?i{{$i~~~xxxxxXQ aTXXȲ,qәLf}.//?|pCC(sp+-W+HȲl4M&$IPv3  8!LZVB$ItcfKeY6LFvDKN((iv]DS|7طoo _rȑp[[}eYz-˲ d2===D" /ttt ]]]{;v czpA :b~݆8|yyyKKKAAfggO:Nn#G{zzjjjwt:t:Ƃ`II;qD0,..!d,K$4U㙟?vX,x]QQ155dǛoL& emeY޼yl>x2L]]]Ǖ777_pa||СCD.+\?   KG~m޼f,|ii)BѴz|8d2Q~f޼yM˗/9-KaaѣGq֦\!$BNLL_{QaV\SJDk׮o~^ffXzz… w)IR~~jjjJKKt3g]]]fbdee9αʒ\>66cI֖7mڴe˖577#{ ?C=n|Y[[GJlƵ%ry<4iZ̝;p{?!NWUUehV*E dgg! l'd B2L&T* q8`X|-\. !P(AB͛7zшj4=1e\h5o`*App[r>㱱Yfeff1 CD[[I tuu!:;;@qqVݶmn?طoVT* Bhn:t(//o̙%%%_~ŋ ?}i4Jyh4ԄI$-:;;AꫯNpggg4zph4>}f577GQә+**Kӛz{{e2P,@ lF~VpADN|("`0B!t:Mӂ 8΄LDBbxƧ`0SBLx)DH˥P(t:q`P2 iZPD"F pNJJD"wppp ,{&2X,;~*4L(iii[ly'illt:-r8iiiGE1 tvvgee!z}ss>"bxxٳEEEǎb >hO SخD3gN^^Z.**gΜaO>E`0ٳ' \^_l޼_AVk4q7n4 ~(* 8p`xxرc999!0 hh4jZJ%^_R\\\TTYZZ:폏5~%ϟ YŹsrrM OL-& @ 022²lFFEQx|h4,P$D". g^ ãHf^DQT? !IhkkkvvizzzJ%q2,???gddrק6L$I(Jł.̦n1Xr ks&EQEQ)pI$qta$މS9hBr5&&nT !!")Aäb1ABZk])#zbb_eO2&ghO<pቻĶW M;meOO«.㹢/zwxxܹs=eYDzl,x<@.~sNlх.} 4_AᖖFR0_%XE"`0# F3~Ad_ٳxG"p8~zD$I ~8+"0n;@(Te ya@ l4X<,zO?O?ݴiS K:(,{iM$qH$ B! 30#8)VmmmG'P_GݻwpeY|5G}4::JFp80L8 7 i~tgϞ=w$I999 v]P\'NK}7veKJJ`0:|Jwޙ3gڵy^_SS_n=yyy$ŧ(ʧ~СCǭ\رc' -[m۶̞=.++Xn]ww YYY۶m8y<К5kV+`X*++ywnjΟ?ǎ###J===ɓeee### ,^xÆ jZ.?30hd===h~Μ9W....)))// ,(.^x||GgΜ)++;w\GGGrrf@NNdjjjHMMl555x-[ڵK$J%"˲$I?~\RyQT* LhAP*%%%EEEi r\.lw+**^/AFiF<>_S$\NB I2SW_}K$IEd2|򮮮e˖8qHdX(GI6?A~~ IIIP84L9?~qq;:yf C}}}___ww7󥥥:㸝;wd RItOOOggg4%I$Ɂ>$ϟ?OQnGވLp.-[vÇk4>ԩSvSorywwwOOOsssAAܰagϞ%I!RB(vttApԩ%K9rرcPujrR 3Ȳ,qF1 b1q.^ǭ;MAIII x*"˲!qT*AF ieU*U$h2 ـ{5]<A& !['ID"<^<ϛL&nwrrr,D"& @QVŷ{q \ϓeYat:I@d2y<$z} SoFF'EܝUHDӴJ0)0)8%.Q<ҽ 2Qw(n<iT!J2^겇Sz}nnn[[[kkkzz:A555W:eZe nK.'rF^/,,ڴi$Iǎ۽{7^P__m6SUYY_={SSSlrٮ.p8jjjRRR=O[[[FFƖ-[ߏIIm;|>·&NSFGGsrrJJJ~wwwZZZyyyMM Ύ.䔴ZӧOt\  App0::Az_\\\PPҢ ϟ?@p0)pX4FH$_TgD⌋L,XuW9]H/qٷpvk88H9pᮅ;-W:ZvK]` 0>>38aaxo> .+~čC]zp8x,K<2r]Ξ={Сx7pcFkkk'GSva]>zEǖ-[.{Aܹ h~~ ;;;Ѩ$H$ 0 I`0n<dv9#"x^ t:݉'7A$m۶m۶w}wݭ`OFĉ. 7Pa|L(8_rrX%Irutt B__OSQy$|>盚>sBq~e'~F~?c&B^'~i+̚5Kݻwb1P]]o?3.ԩSA̜9n777)ʇz677eppPK>|XҜNo7qC=4>>k׮k׶ٳeٳgVWXqs=??zaꆆٳgoݺa䤤Ne臘N^D֖??ӧ{< Ǐ\~pp fL#dff8:<Fٜi2FFYre^^^WWWmm9s-Ztȑ􄄄kvvvdsέYZ8Xĉ6l4Mk4eY$h3gd2ݻ7++kӦM G.777L&Z}OpIYf̘FGGEQ.\xZmBBZ l6[eeY^/M8ߢ㩬\lju:;wnϟ?HDQA$SM_####UTT .=$I2_ Hx((+ے$(6\47/JKKϜ9K*ʗ_~9??!$o~E%(>Ibkv邂+444S{zz>xt2IH5,Hx5 z-|t; iNU'Nӟd0^|Ŷ6Iv/~s9s{᪪b|)+?i:)) yX,VXXXUUM$IZhÇYjl~e2R\tirrn?~8A-JMMmhh_|ٳgΝ[VVF{޽f̙0JaRjby9Z-"bڴiΞ=T* juAAl?_!C?$Iljo|#==tG?i:??7o(*77wOjs~ӟj__1fJ}III ,z{5LK.}gI,++izѢE*`xuڴiׯ߿{o (>eYI"Jb_AHJJ“p7gF'GGG|F (A4M[,_.b1<+&Iy>,Ν;777!DV+Z*$)  )) ha ,YRYYO dee&yIII/+'-䴶nM!BDEp ^ p0Oy矏 "M8P( ?[<p0ٳgxxx---` d2'Wd`B&!(x<ϟw^ɓ'GGGCu8P(pbKw +`L&׻{Z9sLɄ V5??Æ G=vX(8nΝn?\."HqqL&۾}{0ZǏHOOx<6mwsmhhعsJNNojj*..lST:yapVeFTj4VT* _ 墋1x^u:]|g0dY611!$h4 zLD"l&IRk0pC(8&^?Az>B!Bd2V{k9w&+f=ҥ }LtѻS  Zqˋ\/}J7:pM`  &4@kA  &4L4- xW/%IA$o6{4L 0>/p8y:? pK\p7xwo~14!G$~v▒$;v(⢗R,n߾8\RZ 'Cܛ hN8 p?OnVE\ &/( !DDww7MwN}\jhB}m^y啞(aժh&IR&/T*Z-Igdd FRBEşzGV4u `hkk;wnMMfs:_|^F6mx<۷oB6m߾}mmmկjufffSSS]]V5 88yd}}}4MIIёKDGGǁx](q\ii)Ar\ { 0===]]]vJOOeY6 曧NjVo׮]@f'Ovwwgff#8){1 )@ @;o޼'N%$$_>++رc3fHHH5kɓ'O:UZZ:22"eَymܸ1 t?0++Ǐb^aa B nW;;;yJKK%I,**Z 7H 6(䱱rP__qFVj}>Tn5nrÿbŊ۽b xz{{#xRRRAAANN^tfݻ!$IZE1O,**ɥf͒d qܹΑF$Z.BJJJIII__(K.E ŢV-=== 8%Klڴeĩj4L ZIIIn?w\VVMJ_^lY(i!0BAp/_JJ M򴴴ٳg---===^W777#RRRv944qFfyh4;wܹs^`09s&!!!//>p8chh;wV9xf͚;|g L>}===xüyb!Iyppٳ(Ο?ӦMD"'Oܽ{3233{ ia(O*GP|5Fh(s%Ir\III~yr(y^E"|͉'t:-K$iZR,DrF (rZ=>>P(z=Br&Sד$r9B( @^|Eo*˝NL&3L!a0J| z~ =pgD" kͧ$I^aR.JxYx Nt#i7~RQܾ=j<č4qoB'O,E$ʺst'xc.;uQ}Pw K.oNO칉b~ZZfۻw/AHttHaOQT4ݽ{9s}QQ>ae0Ip$xxAhgnv3 3e 40v 4778}tPUUU__ݻ5Mbbbiisvvv>#fy||;##cÆ ({6-\СC(Ν;W?x޼y/2q[n!'''##cAXtyo~jzw ip»裏DT ccc:Nh4J}MSO>|doQIDAT2ǏONNl+WlmmG ٬P(fϞ /߿?11qΜ96l1c$I=j:sh|gnZ^^cǎ!✒$Ap᫯ڲe{V( 7۱X`0  E8tF(\!<0Hqոuzz\.$ixxpOy$Ix!ߎGo(4xϙx.p+Aput!O??~8/~~~( O;ot:~?IxvB|?%/Ocij_xZ[[.] o>o޼;wrnVoGQTmmiӶoߎ BGqݧNˋD"GȀ n%z~em6NcqMMͮ]>=z p86l޼P(cǎ;v4T*#ln"/~wЅ$4]RRrapgaG__}}}CCC@L&\iٔJZY-[688XUUo>AZ~hnJhJe|By;~8˲)))(* FS\\K/͚5K&eggKnOV$I:N<WvǙLVn*p .|嗗.]*ξ-[̙3vWTT455w}X̙3EEE2ĉN3'''NL>=8p \zqz-55W n pᒕB$IPy^OQTxW4!׫je22 è7O?B!a2ph2򆉇_**^ N?8)))mX& o$$$ t:][[Mz3?[~ˠ+pE"ɧfeY\h;%Ih4AMs=Ɍ8/t:A l9ঋb_Fq~+R(Wq$IR4^L9 |>o FcSsNl#snuB'Ox>_0cy3~D p;#"11Q.X=* 7̥!c{ H$ %%%!QZ3Zj\H$V|f!QXXx>xΐpXV+:|s!9cF$\@P[y+8hLn($I6778}tPUUU__ݻ5MBBBEEśo9k,ݞro}ᇒ$iP(+l߾==c?~ٳngeey<^ziӦMfÅǎ3 ֭{7eee8FYYYEZ-"qcC~B$D 674BH;"B"$$!D$ Htb"~ 7}G}#FzllL ۷oڴiO=ԑ#Gz`Xxqyy饗Ξ=1?|ww5kFcOOٳY5Liii (|;ccch2gee/\&M*j֬Y1$p8SOX2J͟?zL41/(&H1<*2(!Ga1JӠ|#bPC< qᑌBUIbNv\.s- = 7n;v ~3[֦&p( BHPOz^. p'B6 !G%X2rApq F'< k׮={0۷'%%T\ݮP($QD7xM3"V@2uyA DU: I:5JQuy4JѠN/ b JӢvъ b0O/\bE0dXl!4U~>RVV}{ 77ܹs8ABxg/**y~X! 8jǎ&X4T*;;; h Cr RHN"QB2 ZܨЌ|, JR$Tz?L G;pAܬ(2L$9E]c4D([TT$DBE+fMLi$t 7E) PL@4 HBHA" !BTA 9))ĉDr %$#D hɋ5@O#IJ8o6m`%S&][ZB!QBr yd8VD )ӠuoAM7$eG%.}y[|8$d -i+/J;.}r]| U:s@QQQaaa|g跿mI***z3f̰/╦r.d@퉛O)xWO8afsqqs=W[[{ټvڶ6aV/ ¹sjjjSXXSO>|X[VOOccc}}}6= 7NQ__?$tXݵkF)//`0))wttT$588Ҳvځn\.vBheeeكcllLű`08<+]V.c<q |h40 nvYXX':).+>v$|>B(tO>?~@ 7u8jhtN '&ETl$m۶`0#HqFOz744466zj\yo}[㸽{>$,Kzzzwwwbb"˲֭iwL&SAdh4_"HdX,##CR;hM$,DQEDK=SM 7// ҃=VU$MqÊ,=mw.}q23y4Iͣ"|>_$Nf$˝j _Eç}4'ITfۊ`cXVNpr0MSuJ)cl0z=Al6MIuBx{wwg6iZztu]uG UUa0R)X|D4cEQC\~i{{{\nL.h2j[,8ee&OLU'<o'4|F1|6:jIv2_Q[;?  7,DwMYWf_mIENDB`sphinx-notfound-page-1.0.0/docs/conf.py000066400000000000000000000125531447362433500200350ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Configuration file for the Sphinx documentation builder. # # This file does only contain a selection of the most common options. For a # full list see the documentation: # http://www.sphinx-doc.org/en/master/config # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- project = 'sphinx-notfound-page' copyright = '2019, Manuel Kaufmann' author = 'Manuel Kaufmann' # The short X.Y version # The full version, including alpha/beta/rc tags import notfound version = release = notfound.__version__ # -- General configuration --------------------------------------------------- needs_sphinx = '5.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ 'notfound.extension', 'autoapi.extension', 'sphinx_tabs.tabs', 'sphinxemoji.sphinxemoji', ] autoapi_dirs = ['../notfound'] autoapi_add_toctree_entry = False # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = '.rst' # The master toctree document. master_doc = 'index' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = 'en' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = 'sphinx_rtd_theme' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # # html_theme_options = {} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". # html_static_path = ['_static'] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # # The default sidebars (for documents that don't match any pattern) are # defined by theme itself. Builtin themes are using these templates by # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', # 'searchbox.html']``. # # html_sidebars = {} # -- Options for HTMLHelp output --------------------------------------------- # Output file base name for HTML help builder. htmlhelp_basename = 'sphinx-notfound-pagedoc' # -- Options for LaTeX output ------------------------------------------------ latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). # # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. # # 'preamble': '', # Latex figure (float) alignment # # 'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ (master_doc, 'sphinx-notfound-page.tex', 'sphinx-notfound-page Documentation', 'Manuel Kaufmann', 'manual'), ] # -- Options for manual page output ------------------------------------------ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ (master_doc, 'sphinx-notfound-page', 'sphinx-notfound-page Documentation', [author], 1) ] # -- Options for Texinfo output ---------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'sphinx-notfound-page', 'sphinx-notfound-page Documentation', author, 'sphinx-notfound-page', 'One line description of project.', 'Miscellaneous'), ] # -- Options for Epub output ------------------------------------------------- # Bibliographic Dublin Core info. epub_title = project # The unique identifier of the text. This can be a ISBN number # or the project homepage. # # epub_identifier = '' # A unique identification for the text. # # epub_uid = '' # A list of files that should not be packed into the epub file. epub_exclude_files = ['search.html'] # -- Setup for 'confval' used in docs/configuration.rst ---------------------- def setup(app): app.add_object_type('confval', 'confval', 'pair: %s; configuration value') sphinx-notfound-page-1.0.0/docs/configuration.rst000066400000000000000000000036251447362433500221370ustar00rootroot00000000000000Configuration ============= The default settings generate the most commonly-used URL pattern on `Read the Docs `_: if you have a resource at ``_static/js/logic.js`` and you generate a 404 page with the default settings, the URL for that resource will be ``/en/latest/_static/js/logic.js``. For other use cases, you can customize these configuration options in your ``conf.py`` file: .. confval:: notfound_template Template used to render the ``404.html`` generated by this extension. Default: ``'page.html'`` Type: string .. confval:: notfound_context Context passed to the template defined by ``notfound_template``. Default: .. code-block:: python { 'title': 'Page not found', 'body': '

Page not found

\n\nThanks for trying.', } Type: dict .. note:: If you prefer, you can create a file called ``404.rst`` and use reStructuredText to create the context of your ``404.html`` page. Add the ``:orphan:`` `metadata `__ to the top of ``404.rst``, to silence the spurious ``document isn't included in any toctree`` warning. .. confval:: notfound_pagename Page name generated by the extension. Default: ``'404'`` Type: string .. confval:: notfound_urls_prefix Prefix added to all the URLs generated in the 404 page. Default: ``'///'`` where ```` is ``READTHEDOCS_LANGUAGE`` environment variable and ```` is ``READTHEDOCS_VERSION`` environment variable. In case these variables are not defined, it defaults to ``/en/latest/``. Type: string .. warning:: Make sure this config starts and ends with a ``/``. Otherwise, you may have unexpected behaviours. .. tip:: The prefix can be completely removed by setting it to ``None``. sphinx-notfound-page-1.0.0/docs/faq.rst000066400000000000000000000041271447362433500200350ustar00rootroot00000000000000Frequently Asked Questions ========================== Does this extension work with Read the Docs? -------------------------------------------- Yes. Read the Docs should detect the ``404.html`` page generated by the extension automatically, and serve it when a user hits a not found page. If you are using a Single Version project, you may want to set :confval:`notfound_urls_prefix` to ``None``. Does this extension work with GitHub pages? ------------------------------------------- Yes. You may want to set :confval:`notfound_urls_prefix` to ``None``, and then add ``permalink: /404.html`` in the `YAML front matter`_. If you are using the github provided domain, make sure to set the :confval:`notfound_urls_prefix` to your repository's name in between two forward slashes. For example if your repository is named ``MyRepo``, then ``notfound_urls_prefix = "/MyRepo/"``. .. _YAML front matter: http://jekyllrb.com/docs/frontmatter/ Does this extension work with `Jupyter Book`_? ---------------------------------------------- .. _Jupyter Book: https://jupyterbook.org/ Yes. You need to enable ``sphinx-notfound-page`` in your Jupyter Book ``_config.yml`` as a `custom extension`_. It would look like similar to the following: .. code-block:: yaml sphinx: extra_extensions: - notfound.extension .. _custom extension: https://jupyterbook.org/en/stable/advanced/sphinx.html#custom-sphinx-extensions Why is my local web server not showing a 404.html? -------------------------------------------------- Simple web servers, such as ``http.server``, don't have a default handler for 404 codes, so it doesn't know to point to the generated ``404.html``. To see an example of adding a custom request handler for 404 codes, see: https://stackoverflow.com/questions/22467908/python-simplehttpserver-404-page The answer I'm looking for is not here -------------------------------------- |:cry:| Please, `open an issue in our issue tracker`_, and let us know what's the problem you are having. .. _open an issue in our issue tracker: https://github.com/readthedocs/sphinx-notfound-page/issues/new sphinx-notfound-page-1.0.0/docs/get-involved.rst000066400000000000000000000007571447362433500216760ustar00rootroot00000000000000Get Involved ============ We appreciate a lot your interest on getting involved in this small project! Your help will benefit a lot of people around the world. Please, if you want to collaborate with us, you can check out `the list of issues we have on GitHub`_ and comment there if you need further guidance or just send a Pull Request |:heart:|. .. _the list of issues we have on GitHub: https://github.com/readthedocs/sphinx-notfound-page/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc sphinx-notfound-page-1.0.0/docs/how-it-works.rst000066400000000000000000000037321447362433500216410ustar00rootroot00000000000000How It Works ============ The extension subscribes to some events emitted by the Sphinx application. When these events are triggered, our functions are called and they manipulate the doctree and context passed to the template. Events subscribed ----------------- There are 3 main events that this extension subscribes: * ``doctree-resolved`` * ``html-collect-pages`` * ``html-page-context`` Each one has an specific goal persuading the same objective: make all resources URLs absolutes. doctree-resolved ~~~~~~~~~~~~~~~~ After Sphinx has parsed our source files, this event is triggered. Here, we check if the page being rendered is ``notfound_pagename`` and in that case, we replace all the URLs for ``.. image::``, ``.. figure::`` and other directives to point the right path. html-collect-pages ~~~~~~~~~~~~~~~~~~ After all HTML pages are collected and this event is emitted, we check for the existence of a ``404`` page already. If there is one, we do not need to do anything here. If the user has not defined this page, we render the template ``notfound_template`` with the context ``notfound_context``. html-page-context ~~~~~~~~~~~~~~~~~ Immediately before the template is rendered with the context, this event is emitted. At this point, we override: * ``pathto`` [#pathto]_ function with our custom one that will generate the proper URLs. * ``toctree`` [#toctree]_ key with the same content of the regular toctree but with all the URLs fixed to find the resources from the 404 page. * ``js_tag`` [#js_tag]_ and ``css_tag`` [#css_tag]_ functions with the exact same code but using our own ``pathto``. .. [#pathto] https://www.sphinx-doc.org/page/development/templating.html#pathto .. [#toctree] https://www.sphinx-doc.org/page/development/templating.html#toctree .. [#js_tag] https://github.com/sphinx-doc/sphinx/blob/v7.2.2/sphinx/builders/html/__init__.py#L1057C1-L1068C1 .. [#css_tag] https://github.com/sphinx-doc/sphinx/blob/v7.2.2/sphinx/builders/html/__init__.py#L1069C1-L1095C1 sphinx-notfound-page-1.0.0/docs/index.rst000066400000000000000000000051471447362433500204000ustar00rootroot00000000000000Generate 404 Not Found Pages Automatically for Sphinx Docs ========================================================== ``sphinx-notfound-page`` is a Sphinx_ extension to create custom 404 pages and help you to generate proper resource links (js, css, images, etc) to render the page properly. This extension was originally developed to be used on `Read the Docs`_ but it can be used in other hosting services as well. Online documentation: https://sphinx-notfound-page.readthedocs.io/ Source code repository (and issue tracker): https://github.com/readthedocs/sphinx-notfound-page/ Badges: |Build| |PyPI version| |Docs badge| |License| Why do I need this extension? ----------------------------- Sphinx does not create a 404 page by default. Although, you can create it by adding a simple ``404.rst`` file to your docs but... If you are reading this documentation, you may already experienced the problem that all your images do no load, all your styles are broken and all the javascript events does not work, when accessing the 404 page of your documentation. So, if you want to have a nice custom 404 page, you will probably want to use this extension to avoid this headache and let the extension handle these URLs properly for you. .. tabs:: .. tab:: 404 page *using* this extension .. figure:: 404-using-this-extension.png :align: center Example of 404 page *using* ``sphinx-notfound-page``. .. tab:: 404 page *without* this extension .. figure:: 404-without-this-extension.png :align: center Example of 404 page *without using* ``sphinx-notfound-page``. .. toctree:: :maxdepth: 1 :caption: Contents installation configuration how-it-works get-involved who-is-using-it faq .. toctree:: :maxdepth: 1 :caption: API Reference autoapi/notfound/index .. _Sphinx: https://www.sphinx-doc.org/ .. _Read the Docs: https://readthedocs.org .. |Build| image:: https://circleci.com/gh/readthedocs/sphinx-notfound-page.svg?style=svg :target: https://circleci.com/gh/readthedocs/sphinx-notfound-page :alt: Build status .. |PyPI version| image:: https://img.shields.io/pypi/v/sphinx-notfound-page.svg :target: https://pypi.org/project/sphinx-notfound-page :alt: Current PyPI version .. |Docs badge| image:: https://readthedocs.org/projects/sphinx-notfound-page/badge/?version=latest :target: https://sphinx-notfound-page.readthedocs.io/en/latest/?badge=latest :alt: Documentation status .. |License| image:: https://img.shields.io/github/license/readthedocs/sphinx-notfound-page.svg :target: LICENSE :alt: Repository license sphinx-notfound-page-1.0.0/docs/installation.rst000066400000000000000000000026521447362433500217700ustar00rootroot00000000000000Installation ============ Install the package .. tabs:: .. tab:: from PyPI .. code:: console $ pip install sphinx-notfound-page .. tab:: from GitHub .. code:: console $ pip install "sphinx-notfound-page @ git+https://github.com/readthedocs/sphinx-notfound-page" Once we have the package installed, we have to configure it on our Sphinx documentation. To do this, add this extension to your Sphinx's extensions in the ``conf.py`` file. .. code-block:: python # conf.py extensions = [ # ... other extensions here 'notfound.extension', ] After installing the package and adding the extension in the ``conf.py`` file, you can build your documentation again and you will see a new file called ``404.html`` in your documentation's build output. .. warning:: If you open the ``404.html`` file on the browser, you will see that all of the images and css does not display properly. This is because all the URLs are absolute and since the file is being rendered from ``file://`` in the browser, it does not know where to find those resources. Do not worry too much about this, this is the expected behavior and those resources will appear once the docs are deployed. If you can't see the 404.html file using a local simple web server, it is most likely because they often don't support requests for 404 codes. Refer to the :doc:`faq` for more information. sphinx-notfound-page-1.0.0/docs/loudly-crying-face.png000066400000000000000000000317211447362433500227370ustar00rootroot00000000000000PNG  IHDRg-gAMA a cHRMz&u0`:pQ<tIME $FbKGD2IDATx]xeW)]*I{"鈴BR!tD "A))@Hgyݖݽpw>(~;߻73C>>>>>O}0^`3J12^eftatc ` xљърQcgseYv SrnH>$_!j=!x:U! ψg3Z] 'Či!h̄ 65h;L댒ӯlU3s8Gv d3!B66D2@vcpʳ!KbeZh5/Y *O#ZִLI/NxN%clǨ 2IhC-j)w4-ZL?L).v$NFAߨB++жə c0Fcح di!$yBJL$tN;-q=4, m^?ǵNWލs)~Hۼ`0Fc xM dAVZH\E8+جbAlO A˞2w4QzD#}Vʴ{\)0H,زl3YLx6<!4ۅ uDbAW"_^R b9~H *9$s{T ] RxNAvHXB(+P!!2Fd X$ ?7fߌ <=%Jȩ]I<@_6;Q\xf<{ʪAv&L"%ݼ:Nh1XQO%sN<5"!B% C&0n&GpK31Rp R˲k~xC|;VvW嬥 @dY&ўo(#+W݈W'QjԥA[=W%0?+=AC&jYBI:]BBdCVmҲaK@äCLlE ^|$l #JJBTjP 1DזwXKAgzN4,LQ-elao'\^6jĆH~' yh ,j7SDd2ɟa6)4LKum3L?o[+s6?O7ьfj[L˘dE&|,2QL\1/ J^dӓH/ōZol ;#4OO朴y}`ڙRi3M&٘_LsPO㞗*ZXX$+(rUA&+diL߈0I3ъ&Y1*Ӗ̴s%{*h溵iA7/KC:_@W`h /-$f 2bJcX6b$_ (Pwa+@ՃMT&=µ]~%zfvے 47gr| 3m.b *GmwDP )y. m']0gzò;gbM8;*y#>(6v[F~HGSj ؔ3{X cM²k2{N>=l/VȖA!k.ЦЧJFv=F=67<߼B^=>xz崵 !ad@JG.;#"ѯo B놚(8µrf3&lȊ 7S*ts-8 iذFXMd@QdҼ#X[]o%ƶ5uzB-O3dÀ2NRj3ol)B2txK|\l`(O:0(` 4XpYA%)r;Cja359o*LUh4k7NVi=$"UՏ굎dӰ|.ڙEhӂHzAIjl 'Xyp"` "S[[u ١4jwm p*hhO0SAO%rԪ12*E&N#P.;)|[~ӗsҷY ZP" \l!,dѼ3x 5+OQɂ@xKA#f\Si\1&x AJz}-Uټ!&yDŽ uHBIbPLRL۶t6we{ [AdPSXpӫ=㘀Ie=z-j;T%!4`03x{ Gg .Y7L {Raeqd:5ݮRٜ W%! 7:jXu-wnaq\GG u< #qd L $ HBܳM3]{c4_&&A6Z ظWEݯSxu Q$!=\ܚ[W*0@l9fAe37M&*_cz)|@!)N ش-YcVk OTyLO½Boޖ -hM:RMl疦*MVd0<1G1DY9eE?,^,$*qōtJ!j ?M% }W*hJI>CuP j5SWz,/٢g%9EM3 GDMjD+-VPbV6圀Mz&vƾِ^/8u@AI2N*pχ=IY^ZPjCkQX$=\.ۂ{f]gOzwJ\m93f-e&{ Mj% r?`f9G締RCFIiwFn۫rӗ@Afy-N{Lj%m Sأ݌ m;;G:)GF+Cs4H  -Tua8sTpi+_/K{? \Q̣p􁲀i3vĶ?i9,Vj#6~ԧt˃JQ./{-N.#VC%ض 5`[{9a7AzJڨL+ DYI@hh[glŶ%U=e]!# l;-QrІbWyT!%,.M<-Z mH خtzql`:pleVFAC/{ Lno ض:A' wFmi@vF o>tV{m$&ɢ  mmjS[@4je9hy-< A~gaC[Z|b[-yV` CVF#G -(Sst1 hb2;FCJÁ9q$˶`hOykκ"8}x7HA[y H;hBLFX9BpZ2O\ߊ˥Z0z>Swm>Ϳ|`o[N}DYZ|oq :YkezQs=M{A3 \QHF0&k"][f$ #?CP^~=O~ Mc@Ԕu&[az'A8|h wpM\:jS+uD@;}zۢ<?̧Y+X2YBtwYF#GlZ==tg ?c˟i`3ukd`'sKb̖kڸe{o5$K˪RjeKtta J^9MXZB*0E~\Jb&]ACں"8*N4}4SozyC3Mj:-' %VB{Ǣ4t&.gVF;BtdakUٸ pՔ|yQ\Amp/7֖6UkޟH) N37,M+MYܶ0cX+~*{P :Q'~nOp$nbQRM9/en`dc%}>$o4ӵe`õPZkx}Jh܋ǝi]]@Pm) 1c0F1KQ> ʨyAu.1np|ٙhrTO]pEF}]㔸%A@nDfux԰Z0y6%ob^?|@]?ފ/N~~~/ 1iln1& ccNOG2\+cuФF=Ӯy}(GΐozX\Gκb9ЭHlUPkWx&--lleC@^z ,Hywֽ.I۫ S J6l5ӅsoPOjfY@c:PH6<{Zh}PB1b5L%oAu#2#|6{$29Ub!Êe( ":>uϞ^w48h-uoh9Щ=f4 }…rk>lѫ6uC #wd4k }nv|&,SlӻPo@`Ef'Y 3 !:1gS}h37|c K-Y5B@+/؉ڝT*2dCnNG+/FiOBge]x7D?GFΤ/elksnRdL@&DL6`. l7WgO@ ItMWЦyVth9+EߘԴlsh,[Ѕ F 4b. usz^j"ЌRjK@LMjK_Zw} 5giGXɣ"=B> floDfJ?^ҏ҄ctJ4 ]$KWݲg2 h8cO@d xO8.٣?tl{'a s{wGqBRA}1@BX_%)v4`#SA"MB df:!&? l._u!S\}]U:ea sz8b*z c*d̕į^X p(g!i (&~WgZ(03) : `i}Nk+f=t,! CĂc{dce,(NRȻ"O p1{E 7>БtRZƽ7[t0I{$lY0'qHI{X7SLqT)P}6zC JCd{~nu< k@]`Th_Fp0i?R2tXz,% (5?8Y.lB.+J8 Xud2Jr~rz}9zgn|WdU[ XJo!JM_lxt9JUFb#`ӦY+7gx2NGRƟeAgJŃM` ĺ2-雄&=; 3"^,< OEi8yDo෸kIJj'`3 6< By~N[LR cx)Nmӱǔz42Ζ32tzz== , -deeتF G[9 !tq_4DU ~kZ&mՠN# ;LK)MHJo{,vHf>jwKZwcѵd;7B1'k3{G^{31I&4c{ѣÑShАdc]_&` g/LoOBx!XBT;!zigQhŘh2}7vfz)}HgEnFF}e:O{^άE*@R-/Ngmomg.䣋t*ǎF3ŕ#Z~xuj2ڤx^cf(H'ɨꙿW]OW!쳄;JRFt03B"c4gHu@HQd;] ;}8xkH(IHFQA =`\!ً"):5KǗ%lHrY(Ihveq6F,@$`)@V5I(=k$jwoxc1$*E @DdcVD 1y$ɗqPmJ"|A]b\֍)b9\&2B6y)I{hA,3A&xQWiIe$(w'M>XX0FD/lecY9,!e!?h@b?[$tnqHk< ؃/7Cj{EpcH=_|ӓ&*-WOM0Lc撊MNG~t aokx,#&D|`r]Z$$KFjqT~e{#R誫 pPpm/6N@#Y'vJˌV'[<b07eu-E۷r;ܚW[4V# R%ϨuiO'RJ$ߨ7W%a'3+lB6[ T\yGh_lA#Z]6> l<ي6$|\̒It e.{լƎp0M1Y:>&-=Gh駱psCʖb >lVGDeŋeOl҅~xq\OcZvq+{xWf!(L̞>/QdE`kGsxhK'ֽ̄X<9F/Q~n ^X X32el=|aO]yb϶Sخ.u!]jD ;@&+)b.1P4#6_JKM3H%[b=- a|X([7Җxrqȝm.:DZ2(=t1,4Q^V(F~M)FT+FgCx$@ ߩϨ̈``?"-$febS0^1s@Dxc{,f$nVzpmdGM.⦨){bv703^ȱs"\0F41ts#ALD Z,8ib@$\q}v8'D{Iq {n/IFHG3H'm@FU,(4E1Pj^'8i椷F6O1 1Qhh%EU [S}}|}|}GX%tEXtdate:create2018-08-07T10:26:11+00:00¿%tEXtdate:modify2018-08-07T10:26:11+00:00YtEXtSoftwareAdobe ImageReadyqe<IENDB`sphinx-notfound-page-1.0.0/docs/requirements.txt000066400000000000000000000036541447362433500220240ustar00rootroot00000000000000# # This file is autogenerated by pip-compile with python 3.10 # To update, run: # # pip-compile --extra=doc --output-file=docs/requirements.txt pyproject.toml # alabaster==0.7.13 # via sphinx anyascii==0.3.2 # via sphinx-autoapi astroid==2.15.6 # via sphinx-autoapi babel==2.12.1 # via sphinx certifi==2023.7.22 # via requests charset-normalizer==3.2.0 # via requests docutils==0.18.1 # via # sphinx # sphinx-rtd-theme # sphinx-tabs idna==3.4 # via requests imagesize==1.4.1 # via sphinx jinja2==3.1.2 # via # sphinx # sphinx-autoapi lazy-object-proxy==1.9.0 # via astroid markupsafe==2.1.3 # via jinja2 packaging==23.1 # via sphinx pygments==2.16.1 # via # sphinx # sphinx-tabs pyyaml==6.0.1 # via sphinx-autoapi requests==2.31.0 # via sphinx snowballstemmer==2.2.0 # via sphinx sphinx==7.2.3 # via # sphinx-autoapi # sphinx-notfound-page (pyproject.toml) # sphinx-rtd-theme # sphinx-tabs # sphinxcontrib-applehelp # sphinxcontrib-devhelp # sphinxcontrib-htmlhelp # sphinxcontrib-jquery # sphinxcontrib-qthelp # sphinxcontrib-serializinghtml # sphinxemoji sphinx-autoapi==2.1.1 # via sphinx-notfound-page (pyproject.toml) sphinx-rtd-theme==1.3.0 # via sphinx-notfound-page (pyproject.toml) sphinx-tabs==3.4.1 # via sphinx-notfound-page (pyproject.toml) sphinxcontrib-applehelp==1.0.7 # via sphinx sphinxcontrib-devhelp==1.0.5 # via sphinx sphinxcontrib-htmlhelp==2.0.4 # via sphinx sphinxcontrib-jquery==4.1 # via sphinx-rtd-theme sphinxcontrib-jsmath==1.0.1 # via sphinx sphinxcontrib-qthelp==1.0.6 # via sphinx sphinxcontrib-serializinghtml==1.1.9 # via sphinx sphinxemoji==0.2.0 # via sphinx-notfound-page (pyproject.toml) typing-extensions==4.7.1 # via astroid urllib3==2.0.4 # via requests wrapt==1.15.0 # via astroid sphinx-notfound-page-1.0.0/docs/who-is-using-it.rst000066400000000000000000000052331447362433500222300ustar00rootroot00000000000000Who Is Using It? ================ These are some projects using this extension that you can take a look at to understand how they are configured and what's the behavior. .. Scrensshot images are 700x600 Read the Docs ------------- |:books:| Repository https://github.com/readthedocs/readthedocs.org |:earth_asia:| Example 404 Not Found page https://docs.readthedocs.io/en/stable/not/found.html |:gear:| Configuration file (``conf.py``) https://github.com/readthedocs/readthedocs.org/blob/master/docs/conf.py |:art:| Screenshot .. image:: _static/who-is-using-it/docs.readthedocs.io.png PyVista ------- |:books:| Repository https://github.com/pyvista/pyvista |:earth_asia:| Example 404 Not Found page https://docs.pyvista.org/not/found/page.html |:gear:| Configuration file (``conf.py``) https://github.com/pyvista/pyvista/blob/master/doc/conf.py |:art:| Screenshot .. image:: _static/who-is-using-it/docs.pyvista.org.png Write the Docs -------------- |:books:| Repository https://github.com/writethedocs/www |:earth_asia:| Example 404 Not Found page https://www.writethedocs.org/404/ |:gear:| Configuration file (``conf.py``) https://github.com/writethedocs/www/blob/master/docs/conf.py |:art:| Screenshot .. image:: _static/who-is-using-it/www.writethedocs.org.png The Carpentries --------------- |:books:| Repository https://github.com/carpentries/handbook |:earth_asia:| Example 404 Not Found page https://docs.carpentries.org/404/ |:gear:| Configuration file (``conf.py``) https://github.com/carpentries/handbook/blob/master/conf.py |:art:| Screenshot .. image:: _static/who-is-using-it/docs.carpentries.org.png attrs ----- |:books:| Repository https://github.com/python-attrs/attrs |:earth_asia:| Example 404 Not Found page https://www.attrs.org/en/latest/404 |:gear:| Configuration file (``conf.py``) https://github.com/python-attrs/attrs/blob/main/docs/conf.py |:art:| Screenshot .. image:: _static/who-is-using-it/www.attrs.org.png Jina ---- |:books:| Repository https://github.com/jina-ai/docs |:earth_asia:| Example 404 Not Found page https://docs.jina.ai/404 |:gear:| Configuration file (``conf.py``) https://github.com/jina-ai/docs/blob/master/conf.py |:art:| Screenshot .. image:: _static/who-is-using-it/docs.jina.ai.png Nengo ----- |:books:| Repository https://github.com/nengo/nengo-sphinx-theme |:earth_asia:| Example 404 Not Found page https://www.nengo.ai/nengo-sphinx-theme/v1.2.2/404 |:gear:| Configuration file (``conf.py``) https://github.com/nengo/nengo-sphinx-theme/blob/master/docs/conf.py |:art:| Screenshot .. image:: _static/who-is-using-it/www.nengo.ai.png sphinx-notfound-page-1.0.0/notfound/000077500000000000000000000000001447362433500174345ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/notfound/__init__.py000066400000000000000000000000261447362433500215430ustar00rootroot00000000000000__version__ = "1.0.0" sphinx-notfound-page-1.0.0/notfound/extension.py000066400000000000000000000274561447362433500220400ustar00rootroot00000000000000import html import docutils.nodes import os import warnings import sphinx from sphinx.environment.collectors import EnvironmentCollector from sphinx.errors import ExtensionError from . import __version__ from .utils import replace_uris class BaseURIError(ExtensionError): """Exception for malformed base URI.""" pass # https://www.sphinx-doc.org/en/stable/extdev/appapi.html#event-html-collect-pages def html_collect_pages(app): """ Create a ``404.html`` page. Uses ``notfound_template`` as a template to be rendered with ``notfound_context`` for its context. The resulting file generated is ``notfound_pagename``.html. If the user already defined a page with pagename title ``notfound_pagename``, we don't generate this page. :param app: Sphinx Application :type app: sphinx.application.Sphinx """ if app.config.notfound_pagename in app.env.titles: # There is already a ``404.rst`` file rendered. # Skip generating our default one. return [] return [( app.config.notfound_pagename, app.config.notfound_context, app.config.notfound_template, )] # https://www.sphinx-doc.org/en/stable/extdev/appapi.html#event-html-page-context def finalize_media(app, pagename, templatename, context, doctree): """ Point media files at our media server. Generate absolute URLs for resources (js, images, css, etc) to point to the right URL. For example, if a URL in the page is ``_static/js/custom.js`` it will be replaced by ``/_static/js/custom.js``. Also, all the links from the sidebar (toctree) are replaced with their absolute version. For example, ``../section/pagename.html`` will be replaced by ``/section/pagename.html``. It handles a special case for Read the Docs and URLs starting with ``/_/``. These URLs have a special meaning under Read the Docs and don't have to be changed. (e.g. ``/_/static/javascript/readthedocs-doc-embed.js``) :param app: Sphinx Application :type app: sphinx.application.Sphinx :param pagename: name of the page being rendered :type pagename: str :param templatename: template used to render the page :type templatename: str :param context: context used to render the page :type context: dict :param doctree: doctree of the page being rendered :type doctree: docutils.nodes.document """ default_baseuri = app.config.notfound_urls_prefix or '/' # https://github.com/sphinx-doc/sphinx/blob/v7.2.3/sphinx/builders/html/__init__.py#L1024-L1036 def pathto(otheruri: str, resource: bool = False, baseuri: str = default_baseuri): """ Hack pathto to display absolute URL's. Instead of calling ``relative_url`` function, we call ``app.builder.get_target_uri`` to get the absolute URL. .. note:: If ``otheruri`` is a external ``resource`` it does not modify it. If ``otheruri`` is a static file on Read the Docs it does not modify it. """ READTHEDOCS = os.environ.get('READTHEDOCS', False) == 'True' if resource and '://' in otheruri: # allow non-local resources given by scheme return otheruri if READTHEDOCS and otheruri.startswith('/_/'): # special case on Read the Docs return otheruri if not resource: otheruri = app.builder.get_target_uri(otheruri) if not baseuri.startswith('/'): raise BaseURIError('"baseuri" must be absolute') if otheruri and not otheruri.startswith('/'): otheruri = f'/{otheruri}' if otheruri: if baseuri.endswith('/'): baseuri = baseuri[:-1] otheruri = baseuri + otheruri uri = otheruri or '#' return uri # https://github.com/sphinx-doc/sphinx/blob/v7.2.3/sphinx/builders/html/__init__.py#L1048 def toctree(*args, **kwargs): collapse = kwargs.pop('collapse', False) includehidden = kwargs.pop('includehidden', False) if sphinx.version_info >= (7, 2): from sphinx.environment.adapters.toctree import global_toctree_for_doc toc = global_toctree_for_doc( app.env, app.config.notfound_pagename, app.builder, collapse=collapse, includehidden=includehidden, **kwargs, ) else: from sphinx.environment.adapters.toctree import TocTree toc = TocTree(app.env).get_toctree_for( app.config.notfound_pagename, app.builder, collapse=collapse, includehidden=includehidden, **kwargs, ) # If no TOC is found, just return ``None`` instead of failing here if not toc: return None replace_uris(app, toc, docutils.nodes.reference, 'refuri') return app.builder.render_partial(toc)['fragment'] # Apply our custom manipulation to 404.html page only if pagename == app.config.notfound_pagename: # Override the ``pathto`` helper function from the context to use a custom one # https://www.sphinx-doc.org/en/master/templating.html#pathto context['pathto'] = pathto # Override the ``toctree`` helper function from context to use a custom # one and generate valid links on not found page. # https://www.sphinx-doc.org/en/master/templating.html#toctree # NOTE: not used on ``singlehtml`` builder for RTD Sphinx theme context['toctree'] = toctree # Sphinx 7.2 uses `css_tag` and `js_tag` functions in the HTML template from the context. # We have to overwrite them here to use our own `pathto` function. # The code is borrowed exactly from Sphinx 7.2.2, there is no changes. if sphinx.version_info >= (7, 2): from sphinx.builders.html._assets import _CascadingStyleSheet, _file_checksum, _JavaScript outdir = app.outdir # https://github.com/sphinx-doc/sphinx/blob/v7.2.2/sphinx/builders/html/__init__.py#L1057C1-L1094C31 def css_tag(css: _CascadingStyleSheet) -> str: attrs = [] for key, value in css.attributes.items(): if value is not None: attrs.append(f'{key}="{html.escape(value, quote=True)}"') uri = pathto(os.fspath(css.filename), resource=True) if checksum := _file_checksum(outdir, css.filename): uri += f'?v={checksum}' return f'' # NOTE: commented because it fails on Python 3.9 # # def js_tag(js: _JavaScript | str) -> str: def js_tag(js: _JavaScript) -> str: if not isinstance(js, _JavaScript): # str value (old styled) return f'' attrs = [] body = js.attributes.get('body', '') for key, value in js.attributes.items(): if key == 'body': continue if value is not None: attrs.append(f'{key}="{html.escape(value, quote=True)}"') if not js.filename: if attrs: return f'' return f'' uri = pathto(os.fspath(js.filename), resource=True) if checksum := _file_checksum(outdir, js.filename): uri += f'?v={checksum}' if attrs: return f'' return f'' context['css_tag'] = css_tag context['js_tag'] = js_tag # https://www.sphinx-doc.org/en/stable/extdev/appapi.html#event-doctree-resolved def doctree_resolved(app, doctree, docname): """ Generate and override URLs for ``.. image::`` Sphinx directive. When ``.. image::`` is used in the ``404.rst`` file, this function will override the URLs to point to the right place. :param app: Sphinx Application :type app: sphinx.application.Sphinx :param doctree: doctree representing the document :type doctree: docutils.nodes.document :param docname: name of the document :type docname: str """ if docname == app.config.notfound_pagename: # Replace image ``uri`` to its absolute version replace_uris(app, doctree, docutils.nodes.image, 'uri') class OrphanMetadataCollector(EnvironmentCollector): """ Force the 404 page to be ``orphan``. This way we remove the WARNING that Sphinx raises saying the page is not included in any toctree. This collector has the same effect than ``:orphan:`` at the top of the page. """ def clear_doc(self, app, env, docname): return None def process_doc(self, app, doctree): metadata = app.env.metadata[app.config.notfound_pagename] metadata.update({'orphan': True, 'nosearch': True}) def merge_other(self, app, env, docnames, other): """Merge in specified data regarding docnames from a different `BuildEnvironment` object which coming from a subprocess in parallel builds.""" # TODO: find an example about why this is strictly required for parallel read # https://github.com/readthedocs/sphinx-notfound-page/pull/112/files#r498219556 env.metadata.update(other.metadata) def validate_configs(app, *args, **kwargs): """ Validate configs. Shows a warning if one of the configs is not valid. """ default, rebuild, types = app.config.values.get('notfound_urls_prefix') if app.config.notfound_urls_prefix != default: if app.config.notfound_urls_prefix and not all([ app.config.notfound_urls_prefix.startswith('/'), app.config.notfound_urls_prefix.endswith('/'), ]): message = 'notfound_urls_prefix should start and end with "/" (slash)' warnings.warn(message, UserWarning, stacklevel=2) def setup(app): default_context = { 'title': 'Page not found', 'body': "

Page not found

\n\nUnfortunately we couldn't find the content you were looking for.", } # https://github.com/sphinx-doc/sphinx/blob/master/sphinx/themes/basic/page.html app.add_config_value('notfound_template', 'page.html', 'html') app.add_config_value('notfound_context', default_context, 'html') app.add_config_value('notfound_pagename', '404', 'html') # TODO: get these values from Project's settings default_language = os.environ.get('READTHEDOCS_LANGUAGE', 'en') default_version = os.environ.get('READTHEDOCS_VERSION', 'latest') # This config should replace the previous three app.add_config_value( 'notfound_urls_prefix', '/{default_language}/{default_version}/'.format( default_language=default_language, default_version=default_version, ), 'html', ) app.connect('config-inited', validate_configs) app.connect('html-collect-pages', html_collect_pages) # Use ``priority=400`` argument here because we want to execute our function # *before* Sphinx's ``setup_resource_paths`` where the ``logo_url`` and # ``favicon_url`` are resolved. # See https://github.com/readthedocs/sphinx-notfound-page/issues/180#issuecomment-959506037 app.connect('html-page-context', finalize_media, priority=400) app.connect('doctree-resolved', doctree_resolved) app.add_env_collector(OrphanMetadataCollector) return { 'version': __version__, 'parallel_read_safe': True, 'parallel_write_safe': True, } sphinx-notfound-page-1.0.0/notfound/utils.py000066400000000000000000000057241447362433500211560ustar00rootroot00000000000000import docutils import re from sphinx.builders.dirhtml import DirectoryHTMLBuilder def replace_uris(app, doctree, nodetype, nodeattr): """ Replace ``nodetype`` URIs from ``doctree`` to the proper one. If ``nodetype`` is an image (``docutils.nodes.image``), the URL is prefixed with ``Builder.imagedir`` and the original image path is added to ``Builder.images`` so it's copied using Sphinx's internals before finalizing the building. :param app: Sphinx Application :type app: sphinx.application.Sphinx :param doctree: doctree representing the document :type doctree: docutils.nodes.document :param nodetype: type of node to replace URIs :type nodetype: docutils.nodes.Node :param nodeattr: node attribute to be replaced :type nodeattr: str """ # https://github.com/sphinx-doc/sphinx/blob/2adeb68af1763be46359d5e808dae59d708661b1/sphinx/environment/adapters/toctree.py#L260-L266 for node in doctree.findall(nodetype): uri = olduri = node.attributes.get(nodeattr) # somepage.html (or ../sompage.html) if isinstance(app.builder, DirectoryHTMLBuilder): # When the builder is ``DirectoryHTMLBuilder``, refuri will be # ``../somepage.html``. In that case, we want to remove the # initial ``../`` to make valid links if uri.startswith('../'): uri = uri.replace('../', '') if re.match('^https?://', uri): # allow non-local URLs for resources continue imagedir = '' if nodetype is docutils.nodes.image: # Prefix the URL with ``Builder.imagedir`` to use the internal's # Sphinx image handling if the node is an image imagedir = '{imagedir}/'.format( imagedir=app.builder.imagedir, ) # The image is copied into ``app.builder.imagedir`` without keeping # the directory structure, so we need only the filename for the # correct link uri = olduri.split('/')[-1] uri = '{prefix}{imagedir}{filename}'.format( prefix=app.config.notfound_urls_prefix or '/', imagedir=imagedir, filename=uri, ) node.replace_attr(nodeattr, uri) # Force adding the image to the builder so it's copied at ``Builder.copy_image_files`` # https://github.com/sphinx-doc/sphinx/blob/5ce5c2c3156c53c1f1b758c38150e48080138b15/sphinx/builders/html.py#L721 # We need to do this at this point because ``Builder.post_process_images`` # does not add it automatically as the path does not match. # https://github.com/sphinx-doc/sphinx/blob/5ce5c2c3156c53c1f1b758c38150e48080138b15/sphinx/builders/__init__.py#L189 if nodetype is docutils.nodes.image: if all([ not olduri.startswith('data:'), '://' not in olduri, ]): app.builder.images[olduri] = olduri.split('/')[-1] sphinx-notfound-page-1.0.0/prospector.yml000077700000000000000000000000001447362433500247312common/prospector.ymlustar00rootroot00000000000000sphinx-notfound-page-1.0.0/pyproject.toml000066400000000000000000000037331447362433500205220ustar00rootroot00000000000000[build-system] requires = ["flit_core >=3.2,<4"] build-backend = "flit_core.buildapi" [project] name = "sphinx-notfound-page" authors = [ {name = "Manuel Kaufmann", email = "humitos@gmail.com"} ] description = "Sphinx extension to build a 404 page with absolute URLs" keywords=[ "notfound", "404", "page", "sphinx", "documentation", ] dependencies = [ "sphinx>=5", ] version = "1.0.0" readme = "README.rst" requires-python = ">=3.8" license = {file = "LICENSE"} classifiers = [ "Development Status :: 5 - Production/Stable", "Framework :: Sphinx", "Framework :: Sphinx :: Extension", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "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", "Topic :: Documentation :: Sphinx", "Topic :: Software Development :: Documentation", ] [project.optional-dependencies] test = [ "tox", ] doc = [ "sphinx-tabs", "sphinx-rtd-theme", "sphinxemoji", "sphinx-autoapi", ] [project.urls] Documentation = "https://sphinx-notfound-page.readthedocs.io/" Source = "https://github.com/readthedocs/sphinx-notfound-page" Tracker = "https://github.com/readthedocs/sphinx-notfound-page/issues" [tool.flit.module] name = "notfound" [tool.flit.sdist] exclude = [ "common", "tests", ".circleci", ".github", ".gitignore", ".readthedocs.yml", "pytest.ini", "conftest.py", "tox.ini", ] [tool.bumpver] current_version = "1.0.0" version_pattern = "MAJOR.MINOR.PATCH[PYTAGNUM]" commit_message = "Release {new_version}" commit = true tag = true push = true [tool.bumpver.file_patterns] "pyproject.toml" = [ 'version = "{version}"', ] "notfound/__init__.py" = [ '__version__ = "{version}"', ]sphinx-notfound-page-1.0.0/pytest.ini000066400000000000000000000004631447362433500176340ustar00rootroot00000000000000[pytest] markers = sphinx environ filterwarnings = ignore:'U' mode is deprecated:DeprecationWarning: ignore:sphinx.builders.html.DirectoryHTMLBuilder is now deprecated.*:DeprecationWarning: ignore:sphinx.builders.html.DirectoryHTMLBuilder is now deprecated.*:PendingDeprecationWarning: sphinx-notfound-page-1.0.0/tasks.py000077700000000000000000000000001447362433500222612common/tasks.pyustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/000077500000000000000000000000001447362433500167425ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/conftest.py000066400000000000000000000021021447362433500211340ustar00rootroot00000000000000import pytest @pytest.fixture(scope='function') def environ(request, monkeypatch): """ Fixture to define environment variables before Sphinx App is created. The test case needs to be marked as ``@pytest.mark.environ(VARIABLE='value')`` with all the environment variables wanted to define. Also, the test has to use this fixture before the ``app`` once to have effect. This idea is borrowed from, https://github.com/sphinx-doc/sphinx/blob/3f6565df6323534e69d797003d8cb20e99c2c255/sphinx/testing/fixtures.py#L30 """ if hasattr(request.node, 'iter_markers'): # pytest-3.6.0 or newer markers = request.node.iter_markers('environ') else: markers = request.node.get_marker('environ') pargs = {} kwargs = {} if markers is not None: # to avoid stacking positional args for info in reversed(list(markers)): for i, a in enumerate(info.args): pargs[i] = a kwargs.update(info.kwargs) for name, value in kwargs.items(): monkeypatch.setenv(name, value) sphinx-notfound-page-1.0.0/tests/examples/000077500000000000000000000000001447362433500205605ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/examples/404rst/000077500000000000000000000000001447362433500216205ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/examples/404rst/404.rst000066400000000000000000000017251447362433500226660ustar00rootroot00000000000000========================== Oh, oh - Page not found ========================== This is a custom 404.rst file. This file should be rendered instead of the default one. Variables Sphinx substitution should be allowed here. Example, version: |version|. Including an image using ``.. image::`` directive, should also make the extension to fix the URIs. .. image:: test.png :alt: An image .. image:: images/loudly-crying-face.png :alt: Image from folder Also, using ``.. figure::`` should work as well. .. figure:: test.png Description. Including an image using an absolute URL should not be modified by the extension: .. image:: https://read-the-docs-guidelines.readthedocs-hosted.com/_images/logo-dark.png :alt: Read the Docs Logo .. image:: https.png :alt: PATH looking as an URL Including a file pointing to the static files served by Read the Docs should not be modified: `readthedocs-doc-embed.js `_ sphinx-notfound-page-1.0.0/tests/examples/404rst/conf.py000066400000000000000000000001301447362433500231110ustar00rootroot00000000000000# conf.py to run tests master_doc = 'index' extensions = [ 'notfound.extension', ] sphinx-notfound-page-1.0.0/tests/examples/404rst/https.png000066400000000000000000000001241447362433500234650ustar00rootroot00000000000000This is just a file to be found by Sphinx when using ".. figure::" and do not fail. sphinx-notfound-page-1.0.0/tests/examples/404rst/images/000077500000000000000000000000001447362433500230655ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/examples/404rst/images/loudly-crying-face.png000066400000000000000000000317211447362433500272740ustar00rootroot00000000000000PNG  IHDRg-gAMA a cHRMz&u0`:pQ<tIME $FbKGD2IDATx]xeW)]*I{"鈴BR!tD "A))@Hgyݖݽpw>(~;߻73C>>>>>O}0^`3J12^eftatc ` xљърQcgseYv SrnH>$_!j=!x:U! ψg3Z] 'Či!h̄ 65h;L댒ӯlU3s8Gv d3!B66D2@vcpʳ!KbeZh5/Y *O#ZִLI/NxN%clǨ 2IhC-j)w4-ZL?L).v$NFAߨB++жə c0Fcح di!$yBJL$tN;-q=4, m^?ǵNWލs)~Hۼ`0Fc xM dAVZH\E8+جbAlO A˞2w4QzD#}Vʴ{\)0H,زl3YLx6<!4ۅ uDbAW"_^R b9~H *9$s{T ] RxNAvHXB(+P!!2Fd X$ ?7fߌ <=%Jȩ]I<@_6;Q\xf<{ʪAv&L"%ݼ:Nh1XQO%sN<5"!B% C&0n&GpK31Rp R˲k~xC|;VvW嬥 @dY&ўo(#+W݈W'QjԥA[=W%0?+=AC&jYBI:]BBdCVmҲaK@äCLlE ^|$l #JJBTjP 1DזwXKAgzN4,LQ-elao'\^6jĆH~' yh ,j7SDd2ɟa6)4LKum3L?o[+s6?O7ьfj[L˘dE&|,2QL\1/ J^dӓH/ōZol ;#4OO朴y}`ڙRi3M&٘_LsPO㞗*ZXX$+(rUA&+diL߈0I3ъ&Y1*Ӗ̴s%{*h溵iA7/KC:_@W`h /-$f 2bJcX6b$_ (Pwa+@ՃMT&=µ]~%zfvے 47gr| 3m.b *GmwDP )y. m']0gzò;gbM8;*y#>(6v[F~HGSj ؔ3{X cM²k2{N>=l/VȖA!k.ЦЧJFv=F=67<߼B^=>xz崵 !ad@JG.;#"ѯo B놚(8µrf3&lȊ 7S*ts-8 iذFXMd@QdҼ#X[]o%ƶ5uzB-O3dÀ2NRj3ol)B2txK|\l`(O:0(` 4XpYA%)r;Cja359o*LUh4k7NVi=$"UՏ굎dӰ|.ڙEhӂHzAIjl 'Xyp"` "S[[u ١4jwm p*hhO0SAO%rԪ12*E&N#P.;)|[~ӗsҷY ZP" \l!,dѼ3x 5+OQɂ@xKA#f\Si\1&x AJz}-Uټ!&yDŽ uHBIbPLRL۶t6we{ [AdPSXpӫ=㘀Ie=z-j;T%!4`03x{ Gg .Y7L {Raeqd:5ݮRٜ W%! 7:jXu-wnaq\GG u< #qd L $ HBܳM3]{c4_&&A6Z ظWEݯSxu Q$!=\ܚ[W*0@l9fAe37M&*_cz)|@!)N ش-YcVk OTyLO½Boޖ -hM:RMl疦*MVd0<1G1DY9eE?,^,$*qōtJ!j ?M% }W*hJI>CuP j5SWz,/٢g%9EM3 GDMjD+-VPbV6圀Mz&vƾِ^/8u@AI2N*pχ=IY^ZPjCkQX$=\.ۂ{f]gOzwJ\m93f-e&{ Mj% r?`f9G締RCFIiwFn۫rӗ@Afy-N{Lj%m Sأ݌ m;;G:)GF+Cs4H  -Tua8sTpi+_/K{? \Q̣p􁲀i3vĶ?i9,Vj#6~ԧt˃JQ./{-N.#VC%ض 5`[{9a7AzJڨL+ DYI@hh[glŶ%U=e]!# l;-QrІbWyT!%,.M<-Z mH خtzql`:pleVFAC/{ Lno ض:A' wFmi@vF o>tV{m$&ɢ  mmjS[@4je9hy-< A~gaC[Z|b[-yV` CVF#G -(Sst1 hb2;FCJÁ9q$˶`hOykκ"8}x7HA[y H;hBLFX9BpZ2O\ߊ˥Z0z>Swm>Ϳ|`o[N}DYZ|oq :YkezQs=M{A3 \QHF0&k"][f$ #?CP^~=O~ Mc@Ԕu&[az'A8|h wpM\:jS+uD@;}zۢ<?̧Y+X2YBtwYF#GlZ==tg ?c˟i`3ukd`'sKb̖kڸe{o5$K˪RjeKtta J^9MXZB*0E~\Jb&]ACں"8*N4}4SozyC3Mj:-' %VB{Ǣ4t&.gVF;BtdakUٸ pՔ|yQ\Amp/7֖6UkޟH) N37,M+MYܶ0cX+~*{P :Q'~nOp$nbQRM9/en`dc%}>$o4ӵe`õPZkx}Jh܋ǝi]]@Pm) 1c0F1KQ> ʨyAu.1np|ٙhrTO]pEF}]㔸%A@nDfux԰Z0y6%ob^?|@]?ފ/N~~~/ 1iln1& ccNOG2\+cuФF=Ӯy}(GΐozX\Gκb9ЭHlUPkWx&--lleC@^z ,Hywֽ.I۫ S J6l5ӅsoPOjfY@c:PH6<{Zh}PB1b5L%oAu#2#|6{$29Ub!Êe( ":>uϞ^w48h-uoh9Щ=f4 }…rk>lѫ6uC #wd4k }nv|&,SlӻPo@`Ef'Y 3 !:1gS}h37|c K-Y5B@+/؉ڝT*2dCnNG+/FiOBge]x7D?GFΤ/elksnRdL@&DL6`. l7WgO@ ItMWЦyVth9+EߘԴlsh,[Ѕ F 4b. usz^j"ЌRjK@LMjK_Zw} 5giGXɣ"=B> floDfJ?^ҏ҄ctJ4 ]$KWݲg2 h8cO@d xO8.٣?tl{'a s{wGqBRA}1@BX_%)v4`#SA"MB df:!&? l._u!S\}]U:ea sz8b*z c*d̕į^X p(g!i (&~WgZ(03) : `i}Nk+f=t,! CĂc{dce,(NRȻ"O p1{E 7>БtRZƽ7[t0I{$lY0'qHI{X7SLqT)P}6zC JCd{~nu< k@]`Th_Fp0i?R2tXz,% (5?8Y.lB.+J8 Xud2Jr~rz}9zgn|WdU[ XJo!JM_lxt9JUFb#`ӦY+7gx2NGRƟeAgJŃM` ĺ2-雄&=; 3"^,< OEi8yDo෸kIJj'`3 6< By~N[LR cx)Nmӱǔz42Ζ32tzz== , -deeتF G[9 !tq_4DU ~kZ&mՠN# ;LK)MHJo{,vHf>jwKZwcѵd;7B1'k3{G^{31I&4c{ѣÑShАdc]_&` g/LoOBx!XBT;!zigQhŘh2}7vfz)}HgEnFF}e:O{^άE*@R-/Ngmomg.䣋t*ǎF3ŕ#Z~xuj2ڤx^cf(H'ɨꙿW]OW!쳄;JRFt03B"c4gHu@HQd;] ;}8xkH(IHFQA =`\!ً"):5KǗ%lHrY(Ihveq6F,@$`)@V5I(=k$jwoxc1$*E @DdcVD 1y$ɗqPmJ"|A]b\֍)b9\&2B6y)I{hA,3A&xQWiIe$(w'M>XX0FD/lecY9,!e!?h@b?[$tnqHk< ؃/7Cj{EpcH=_|ӓ&*-WOM0Lc撊MNG~t aokx,#&D|`r]Z$$KFjqT~e{#R誫 pPpm/6N@#Y'vJˌV'[<b07eu-E۷r;ܚW[4V# R%ϨuiO'RJ$ߨ7W%a'3+lB6[ T\yGh_lA#Z]6> l<ي6$|\̒It e.{լƎp0M1Y:>&-=Gh駱psCʖb >lVGDeŋeOl҅~xq\OcZvq+{xWf!(L̞>/QdE`kGsxhK'ֽ̄X<9F/Q~n ^X X32el=|aO]yb϶Sخ.u!]jD ;@&+)b.1P4#6_JKM3H%[b=- a|X([7Җxrqȝm.:DZ2(=t1,4Q^V(F~M)FT+FgCx$@ ߩϨ̈``?"-$febS0^1s@Dxc{,f$nVzpmdGM.⦨){bv703^ȱs"\0F41ts#ALD Z,8ib@$\q}v8'D{Iq {n/IFHG3H'm@FU,(4E1Pj^'8i椷F6O1 1Qhh%EU [S}}|}|}GX%tEXtdate:create2018-08-07T10:26:11+00:00¿%tEXtdate:modify2018-08-07T10:26:11+00:00YtEXtSoftwareAdobe ImageReadyqe<IENDB`sphinx-notfound-page-1.0.0/tests/examples/404rst/index.rst000066400000000000000000000000521447362433500234560ustar00rootroot00000000000000404 rst ======= This is an example page. sphinx-notfound-page-1.0.0/tests/examples/404rst/test.png000066400000000000000000000001241447362433500233020ustar00rootroot00000000000000This is just a file to be found by Sphinx when using ".. figure::" and do not fail. sphinx-notfound-page-1.0.0/tests/examples/default/000077500000000000000000000000001447362433500222045ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/examples/default/_templates/000077500000000000000000000000001447362433500243415ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/examples/default/_templates/template.html000066400000000000000000000004311447362433500270400ustar00rootroot00000000000000{# https://github.com/sphinx-doc/sphinx/blob/master/sphinx/themes/basic/page.html #} {%- extends "layout.html" %} {% block body %} {{ body }}

This is rendered using a custom template

... which has a custom context as well: {{ special_setting }}

{% endblock %} sphinx-notfound-page-1.0.0/tests/examples/default/chapter-i.rst000066400000000000000000000001111447362433500246030ustar00rootroot00000000000000Chapter I ========= This is another chapter in a different source file. sphinx-notfound-page-1.0.0/tests/examples/default/chapter.rst000066400000000000000000000000711447362433500243620ustar00rootroot00000000000000Chapter ======= This a chapter included in the toctree. sphinx-notfound-page-1.0.0/tests/examples/default/conf.py000066400000000000000000000002741447362433500235060ustar00rootroot00000000000000# conf.py to run tests master_doc = 'index' extensions = [ 'notfound.extension', ] html_favicon = 'images/favicon.png' html_logo = 'images/logo.svg' templates_path = ['_templates'] sphinx-notfound-page-1.0.0/tests/examples/default/images/000077500000000000000000000000001447362433500234515ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/examples/default/images/favicon.png000066400000000000000000000002511447362433500256020ustar00rootroot00000000000000PNG  IHDR pIDATHct `%`r ǣn׆Ɯi17%+NA`n\A7h z"+0 dJg F)A%ɔ8It[8% TEIENDB`sphinx-notfound-page-1.0.0/tests/examples/default/images/logo.svg000066400000000000000000000370611447362433500251410ustar00rootroot00000000000000 image/svg+xml sphinx-notfound-page-1.0.0/tests/examples/default/index.rst000066400000000000000000000001231447362433500240410ustar00rootroot00000000000000Example page ============ This is an example page. .. toctree:: :glob: * sphinx-notfound-page-1.0.0/tests/examples/extension/000077500000000000000000000000001447362433500225745ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/examples/extension/conf.py000066400000000000000000000003561447362433500240770ustar00rootroot00000000000000# conf.py to run tests master_doc = 'index' extensions = [ 'notfound.extension', ] templates_path = ['_templates'] def setup(app): app.add_css_file('css_added_by_extension.css') app.add_js_file('js_added_by_extension.js') sphinx-notfound-page-1.0.0/tests/examples/extension/index.rst000066400000000000000000000001231447362433500244310ustar00rootroot00000000000000Example page ============ This is an example page. .. toctree:: :glob: * sphinx-notfound-page-1.0.0/tests/examples/parallel-build/000077500000000000000000000000001447362433500234515ustar00rootroot00000000000000sphinx-notfound-page-1.0.0/tests/examples/parallel-build/conf.py000066400000000000000000000001401447362433500247430ustar00rootroot00000000000000""" Sample ``conf.py``. """ master_doc = 'index' extensions = [ 'notfound.extension', ] sphinx-notfound-page-1.0.0/tests/examples/parallel-build/five.rst000066400000000000000000000000271447362433500251330ustar00rootroot00000000000000======= Five ======= sphinx-notfound-page-1.0.0/tests/examples/parallel-build/four.rst000066400000000000000000000000271447362433500251550ustar00rootroot00000000000000======= Four ======= sphinx-notfound-page-1.0.0/tests/examples/parallel-build/index.rst000066400000000000000000000004561447362433500253170ustar00rootroot00000000000000Samples for substitution directives =================================== .. This is a test of parallel document builds. You need at least 5 documents. See: https://github.com/adamtheturtle/sphinx-substitution-extensions/pull/173 .. toctree:: :hidden: one two three four five sphinx-notfound-page-1.0.0/tests/examples/parallel-build/one.rst000066400000000000000000000000221447362433500247560ustar00rootroot00000000000000===== One ===== sphinx-notfound-page-1.0.0/tests/examples/parallel-build/three.rst000066400000000000000000000000301447362433500253030ustar00rootroot00000000000000======= Three ======= sphinx-notfound-page-1.0.0/tests/examples/parallel-build/two.rst000066400000000000000000000000221447362433500250060ustar00rootroot00000000000000===== Two ===== sphinx-notfound-page-1.0.0/tests/test_urls.py000066400000000000000000000341151447362433500213440ustar00rootroot00000000000000import os import pytest import sphinx import shutil import subprocess import warnings from utils import _get_css_html_link_tag, _get_js_html_link_tag srcdir = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'examples', 'default', ) rstsrcdir = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'examples', '404rst', ) extensiondir = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'examples', 'extension', ) @pytest.fixture(autouse=True, scope='function') def remove_sphinx_build_output(): """Remove _build/ folder, if exist.""" for path in (srcdir, rstsrcdir, extensiondir): build_path = os.path.join(path, '_build') if os.path.exists(build_path): shutil.rmtree(build_path) @pytest.mark.sphinx(srcdir=srcdir) def test_parallel_build(): # TODO: migrate to `app.build(..., parallel=2)` after merging # https://github.com/sphinx-doc/sphinx/pull/8257 subprocess.check_call('sphinx-build -j 2 -W -b html tests/examples/parallel-build build', shell=True) @pytest.mark.sphinx(srcdir=srcdir) def test_404_page_created(app, status, warning): app.build() path = app.outdir / '404.html' assert path.exists() @pytest.mark.sphinx(srcdir=srcdir) def test_default_settings(app, status, warning): app.build() path = app.outdir / '404.html' assert path.exists() content = open(path).read() if sphinx.version_info < (6, 0): cssclass = "shortcut " else: cssclass = "" chunks = [ '

Page not found

', "Unfortunately we couldn't find the content you were looking for.", 'Page not found — Python documentation', # favicon and logo f'', '', # sidebar URLs '

Python

', '