From 0cea8ebe179100bf21dabad6f0a141dc219782a9 Mon Sep 17 00:00:00 2001 From: bruno-f-cruz Date: Wed, 12 Jun 2024 17:03:34 +0000 Subject: [PATCH] deploy: e68cf5ec2f4419d5a1741a810aa7e7b48a54ed64 --- .buildinfo | 4 + .doctrees/api.base.doctree | Bin 0 -> 2817 bytes .doctrees/api.base/rig.doctree | Bin 0 -> 16329 bytes .doctrees/api.base/session.doctree | Bin 0 -> 54982 bytes .doctrees/api.base/task_logic.doctree | Bin 0 -> 17021 bytes .doctrees/api.calibration.doctree | Bin 0 -> 24147 bytes .../api.calibration/aind_manipulator.doctree | Bin 0 -> 188575 bytes .doctrees/api.calibration/load_cells.doctree | Bin 0 -> 118772 bytes .../api.calibration/olfactometer.doctree | Bin 0 -> 167619 bytes .doctrees/api.calibration/water_valve.doctree | Bin 0 -> 136169 bytes .doctrees/api.doctree | Bin 0 -> 2771 bytes .doctrees/environment.pickle | Bin 0 -> 1731869 bytes .doctrees/index.doctree | Bin 0 -> 900563 bytes .doctrees/json-schemas.doctree | Bin 0 -> 3273 bytes .../aind_behavior_session.doctree | Bin 0 -> 26967 bytes .../aind_behavior_subject_database.doctree | Bin 0 -> 12120 bytes ...aind_manipulator_calibration_logic.doctree | Bin 0 -> 17942 bytes .../aind_manipulator_calibration_rig.doctree | Bin 0 -> 89829 bytes .../load_cells_calibration_logic.doctree | Bin 0 -> 25444 bytes .../load_cells_calibration_rig.doctree | Bin 0 -> 62023 bytes .../olfactometer_calibration_logic.doctree | Bin 0 -> 43643 bytes .../olfactometer_calibration_rig.doctree | Bin 0 -> 84256 bytes .../water_valve_calibration_logic.doctree | Bin 0 -> 25702 bytes .../water_valve_calibration_rig.doctree | Bin 0 -> 9250 bytes .nojekyll | 0 _images/AindBehaviorSessionModel.svg | 71 ++ _sources/api.base.rst.txt | 9 + _sources/api.base/rig.rst.txt | 7 + _sources/api.base/session.rst.txt | 10 + _sources/api.base/task_logic.rst.txt | 7 + _sources/api.calibration.rst.txt | 123 ++ .../api.calibration/aind_manipulator.rst.txt | 13 + _sources/api.calibration/load_cells.rst.txt | 13 + _sources/api.calibration/olfactometer.rst.txt | 13 + _sources/api.calibration/water_valve.rst.txt | 13 + _sources/api.rst.txt | 9 + _sources/index.rst.txt | 25 + _sources/json-schemas.rst.txt | 16 + .../aind_behavior_session.rst.txt | 10 + .../aind_behavior_subject_database.rst.txt | 10 + ...aind_manipulator_calibration_logic.rst.txt | 10 + .../aind_manipulator_calibration_rig.rst.txt | 10 + .../load_cells_calibration_logic.rst.txt | 10 + .../load_cells_calibration_rig.rst.txt | 10 + .../olfactometer_calibration_logic.rst.txt | 10 + .../olfactometer_calibration_rig.rst.txt | 10 + .../water_valve_calibration_logic.rst.txt | 10 + .../water_valve_calibration_rig.rst.txt | 10 + _static/AindBehaviorSessionModel.svg | 71 ++ _static/autodoc_pydantic.css | 11 + _static/basic.css | 925 ++++++++++++++ _static/check-solid.svg | 4 + _static/clipboard.min.js | 7 + _static/copy-button.svg | 5 + _static/copybutton.css | 94 ++ _static/copybutton.js | 248 ++++ _static/copybutton_funcs.js | 73 ++ _static/dark-logo.svg | 129 ++ _static/debug.css | 69 ++ _static/doctools.js | 156 +++ _static/documentation_options.js | 13 + _static/favicon.ico | Bin 0 -> 259838 bytes _static/file.png | Bin 0 -> 286 bytes _static/language_data.js | 199 +++ _static/light-logo.svg | 128 ++ _static/minus.png | Bin 0 -> 90 bytes _static/plus.png | Bin 0 -> 90 bytes _static/pygments.css | 258 ++++ _static/scripts/furo-extensions.js | 0 _static/scripts/furo.js | 3 + _static/scripts/furo.js.LICENSE.txt | 7 + _static/scripts/furo.js.map | 1 + _static/searchtools.js | 574 +++++++++ _static/skeleton.css | 296 +++++ _static/sphinx_highlight.js | 154 +++ _static/styles/furo-extensions.css | 2 + _static/styles/furo-extensions.css.map | 1 + _static/styles/furo.css | 2 + _static/styles/furo.css.map | 1 + api.base.html | 365 ++++++ api.base/rig.html | 409 +++++++ api.base/session.html | 496 ++++++++ api.base/task_logic.html | 410 +++++++ api.calibration.html | 697 +++++++++++ api.calibration/aind_manipulator.html | 892 ++++++++++++++ api.calibration/load_cells.html | 723 +++++++++++ api.calibration/olfactometer.html | 869 +++++++++++++ api.calibration/water_valve.html | 819 +++++++++++++ api.html | 366 ++++++ genindex.html | 858 +++++++++++++ index.html | 576 +++++++++ json-schemas.html | 441 +++++++ json-schemas/aind_behavior_session.html | 556 +++++++++ .../aind_behavior_subject_database.html | 444 +++++++ .../aind_manipulator_calibration_logic.html | 492 ++++++++ .../aind_manipulator_calibration_rig.html | 1087 +++++++++++++++++ .../load_cells_calibration_logic.html | 543 ++++++++ json-schemas/load_cells_calibration_rig.html | 853 +++++++++++++ .../olfactometer_calibration_logic.html | 698 +++++++++++ .../olfactometer_calibration_rig.html | 1038 ++++++++++++++++ .../water_valve_calibration_logic.html | 549 +++++++++ json-schemas/water_valve_calibration_rig.html | 420 +++++++ objects.inv | Bin 0 -> 1978 bytes py-modindex.html | 364 ++++++ search.html | 336 +++++ searchindex.js | 1 + 106 files changed, 19166 insertions(+) create mode 100644 .buildinfo create mode 100644 .doctrees/api.base.doctree create mode 100644 .doctrees/api.base/rig.doctree create mode 100644 .doctrees/api.base/session.doctree create mode 100644 .doctrees/api.base/task_logic.doctree create mode 100644 .doctrees/api.calibration.doctree create mode 100644 .doctrees/api.calibration/aind_manipulator.doctree create mode 100644 .doctrees/api.calibration/load_cells.doctree create mode 100644 .doctrees/api.calibration/olfactometer.doctree create mode 100644 .doctrees/api.calibration/water_valve.doctree create mode 100644 .doctrees/api.doctree create mode 100644 .doctrees/environment.pickle create mode 100644 .doctrees/index.doctree create mode 100644 .doctrees/json-schemas.doctree create mode 100644 .doctrees/json-schemas/aind_behavior_session.doctree create mode 100644 .doctrees/json-schemas/aind_behavior_subject_database.doctree create mode 100644 .doctrees/json-schemas/aind_manipulator_calibration_logic.doctree create mode 100644 .doctrees/json-schemas/aind_manipulator_calibration_rig.doctree create mode 100644 .doctrees/json-schemas/load_cells_calibration_logic.doctree create mode 100644 .doctrees/json-schemas/load_cells_calibration_rig.doctree create mode 100644 .doctrees/json-schemas/olfactometer_calibration_logic.doctree create mode 100644 .doctrees/json-schemas/olfactometer_calibration_rig.doctree create mode 100644 .doctrees/json-schemas/water_valve_calibration_logic.doctree create mode 100644 .doctrees/json-schemas/water_valve_calibration_rig.doctree create mode 100644 .nojekyll create mode 100644 _images/AindBehaviorSessionModel.svg create mode 100644 _sources/api.base.rst.txt create mode 100644 _sources/api.base/rig.rst.txt create mode 100644 _sources/api.base/session.rst.txt create mode 100644 _sources/api.base/task_logic.rst.txt create mode 100644 _sources/api.calibration.rst.txt create mode 100644 _sources/api.calibration/aind_manipulator.rst.txt create mode 100644 _sources/api.calibration/load_cells.rst.txt create mode 100644 _sources/api.calibration/olfactometer.rst.txt create mode 100644 _sources/api.calibration/water_valve.rst.txt create mode 100644 _sources/api.rst.txt create mode 100644 _sources/index.rst.txt create mode 100644 _sources/json-schemas.rst.txt create mode 100644 _sources/json-schemas/aind_behavior_session.rst.txt create mode 100644 _sources/json-schemas/aind_behavior_subject_database.rst.txt create mode 100644 _sources/json-schemas/aind_manipulator_calibration_logic.rst.txt create mode 100644 _sources/json-schemas/aind_manipulator_calibration_rig.rst.txt create mode 100644 _sources/json-schemas/load_cells_calibration_logic.rst.txt create mode 100644 _sources/json-schemas/load_cells_calibration_rig.rst.txt create mode 100644 _sources/json-schemas/olfactometer_calibration_logic.rst.txt create mode 100644 _sources/json-schemas/olfactometer_calibration_rig.rst.txt create mode 100644 _sources/json-schemas/water_valve_calibration_logic.rst.txt create mode 100644 _sources/json-schemas/water_valve_calibration_rig.rst.txt create mode 100644 _static/AindBehaviorSessionModel.svg create mode 100644 _static/autodoc_pydantic.css create mode 100644 _static/basic.css create mode 100644 _static/check-solid.svg create mode 100644 _static/clipboard.min.js create mode 100644 _static/copy-button.svg create mode 100644 _static/copybutton.css create mode 100644 _static/copybutton.js create mode 100644 _static/copybutton_funcs.js create mode 100644 _static/dark-logo.svg create mode 100644 _static/debug.css create mode 100644 _static/doctools.js create mode 100644 _static/documentation_options.js create mode 100644 _static/favicon.ico create mode 100644 _static/file.png create mode 100644 _static/language_data.js create mode 100644 _static/light-logo.svg create mode 100644 _static/minus.png create mode 100644 _static/plus.png create mode 100644 _static/pygments.css create mode 100644 _static/scripts/furo-extensions.js create mode 100644 _static/scripts/furo.js create mode 100644 _static/scripts/furo.js.LICENSE.txt create mode 100644 _static/scripts/furo.js.map create mode 100644 _static/searchtools.js create mode 100644 _static/skeleton.css create mode 100644 _static/sphinx_highlight.js create mode 100644 _static/styles/furo-extensions.css create mode 100644 _static/styles/furo-extensions.css.map create mode 100644 _static/styles/furo.css create mode 100644 _static/styles/furo.css.map create mode 100644 api.base.html create mode 100644 api.base/rig.html create mode 100644 api.base/session.html create mode 100644 api.base/task_logic.html create mode 100644 api.calibration.html create mode 100644 api.calibration/aind_manipulator.html create mode 100644 api.calibration/load_cells.html create mode 100644 api.calibration/olfactometer.html create mode 100644 api.calibration/water_valve.html create mode 100644 api.html create mode 100644 genindex.html create mode 100644 index.html create mode 100644 json-schemas.html create mode 100644 json-schemas/aind_behavior_session.html create mode 100644 json-schemas/aind_behavior_subject_database.html create mode 100644 json-schemas/aind_manipulator_calibration_logic.html create mode 100644 json-schemas/aind_manipulator_calibration_rig.html create mode 100644 json-schemas/load_cells_calibration_logic.html create mode 100644 json-schemas/load_cells_calibration_rig.html create mode 100644 json-schemas/olfactometer_calibration_logic.html create mode 100644 json-schemas/olfactometer_calibration_rig.html create mode 100644 json-schemas/water_valve_calibration_logic.html create mode 100644 json-schemas/water_valve_calibration_rig.html create mode 100644 objects.inv create mode 100644 py-modindex.html create mode 100644 search.html create mode 100644 searchindex.js diff --git a/.buildinfo b/.buildinfo new file mode 100644 index 00000000..e5a19d9d --- /dev/null +++ b/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: ffbcb2f1419685c2cae3d11f3e36c580 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/.doctrees/api.base.doctree b/.doctrees/api.base.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e3a346745629b22e2142f6f0e56a33625f295a07 GIT binary patch literal 2817 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 literal 0 HcmV?d00001 diff --git a/.doctrees/api.base/task_logic.doctree b/.doctrees/api.base/task_logic.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a94bd28b4dfd8301af25387d8a0326b056a94972 GIT binary patch literal 17021 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 GoARKomt?yw~e5>+b*edw0F6dR1LroudPv50#qg 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 literal 0 HcmV?d00001 diff --git a/.doctrees/api.calibration/load_cells.doctree b/.doctrees/api.calibration/load_cells.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d566083a64bca373f16242d5a678eea6e7c9c58c GIT binary patch literal 118772 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 literal 0 HcmV?d00001 diff --git a/.doctrees/api.calibration/olfactometer.doctree b/.doctrees/api.calibration/olfactometer.doctree new file mode 100644 index 0000000000000000000000000000000000000000..30956f78ad5da5cb499a68902e2e37f22ffbe232 GIT binary patch literal 167619 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 literal 0 HcmV?d00001 diff --git a/.doctrees/api.doctree b/.doctrees/api.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d097e704f7e789e81e745963179076cb3f80dae8 GIT binary patch literal 2771 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%0D0C1#NPJ-q8e(B?PtTIY@F%zuALWr+y{2EsUg;1& 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 xQ|$@DEgtx$&lE!OUcU1|DO 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 z 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 literal 0 HcmV?d00001 diff --git a/.doctrees/index.doctree b/.doctrees/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f3a125303c1e93dc0dd3b566ac3b298375dca3eb GIT binary patch literal 900563 zcmeFa378yLbv7)?(u`)bFP0@QxGZeXNS1nJ*gleT>QYa4 zyBA4gEdMwdqcIiim}cMi1PBm5!pE8bAqi_R#1OvcPeKw1$(I!fAtB4p|DL zw5IGzv;C^}rU%=n+N0i3J%6H6ZPg2Q+na|R1*cRl*6m9B2p%q{{LNCikr5RP7OGQ5 zd1sOL|L!VPikX{jCx5(Dt!EC}_2Z?2-LPa^`DUqFv8M8krd_utN@aVCRjAwfrd_ng zr-ykTx8B<-6^=EU`Fhhr<~yC1wX0UQwm-wV^2!}oKWoQTS6SP)ZNEA*{DNxBD x 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 SuHdc9WJGFC4^sK2Ly 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 E0TVw{SO5S3 literal 0 HcmV?d00001 diff --git a/.doctrees/json-schemas.doctree b/.doctrees/json-schemas.doctree new file mode 100644 index 0000000000000000000000000000000000000000..fd26d1558d60c7a16d24e36a20404809e31a1549 GIT binary patch literal 3273 zcma)8U2j`87~a+y<@LTG~sjgPy@a?WvLFFy9c_G#0L zNpLYlCEv~PbNFpMKIh~lskVtqM~z>4T3$MccKf;S}&vy+ywYo3~3;q%`5-wzFmswAZ$=0@f@3GbDr-ZYNhNuOl?Vs5qdf(W48LC*?IfZ8z_@VETCRD!V+jWFv zzb%DgVO&h8?@{NBm=q3~#Z0zDYGc$piKNy-h~F(mv+7qTE%Mc3LX){+)2LJU9Y<$z zEAV}OllS>8zQvFHFC(rqHZp}$%#2R8nUB5_DjhyzoSq16hCeZLA`)ibBt`;u^c)p9 zwq*(I&{*X5-jl6jf=YA}o#nbv=~~6AV)9D}Nhi**^=j68?;}-y8@2op-yM8+@!iLF z)A!e%p$;ge5oPxG#{PJHb3~B|$*2-}A*s`bBvgutp|QEdh*|hEjQ#zMBU(;r;!qOD zUax+4LtSc`l7vZVUu*m04dqiBjh;|>!Zx&}o{6N4<=+3&Uq=35L%U3NQn!uRV)7hQ zOj7FTgj!ab-{{lZtFwyfgSUBM)<&SjI&Mbu#yYMHZx;Rym0YSb-xn&8Marf^R^8@b z@<;p|{w@EGKjz=_G5?W2WxkWqMapu=!;@`*gytoZ0jZhPlW^|aT%;+0fA05cgN>l0 zifqCROT&{(zE|QLb1l!H+XH{B2Cd)^_^14cKg5`C156_Tm9LMi->)b8_|(umXC~0~ zDURolS0IdbfOXcG@V!{`3Qss$W8i|cMntsLgRQL!&}B@3-ex@O&KsKH5B+s#sItID z1VnE1%%Gtq&9t0$R91zkb;`OF(cfi1ND324j5L(hUrH+K@*T^Z6KV!NK5PhfYP50; zWZ>JsQdyvn4MVqe;qtzsB4jaGUCc1Ej%GO)yOl!%FLNw=^|CM$t36bm zMAD19aNLS5I}85mRBNZSV{4mFF8jU6^XNHQOtr}ZBm)aB$q6_sULO`FZ&nf}St%i> z!f~>sUU;kz)LcCFeZz8X9FgpVp?p_-k5kz!TmFzO1ghq!E9_FK8}}hjwpvnF{mJcMc{2epoP<9CGuAUW@|4kvYa&Y zhpLtWfzdOH%4l%El$6sSd%qIpmKCWci!9F50bAtSGO~WM91#%fiLj!Y&wY{#OD8fW zQb)P7#04jpG0K%ce!)9{bDqN*behE$F&-2GaCheBWjib zK$AF@p*;@m=s<7IS|aEf^1y;~v@RW3`2)AJ&Si}?5}nZ70gTnms0HN^}pS>bBr30$Zb^h6ei zH{M$%6yuw19xyYwLsH=P3?XpF9Gu)ppfx9WAPPzFPK_*EhJ9GSG%>7lT5;OB-(u<{ zzWscs;u3%tqll-B05}|R)XW&T3E3SYD2$fF>lOTst1)u7zq%oykIjOY>R$Z4jbaw5brkPvSqvV`vM~}i{0v_k=tq-h_`hy G8U6=5U>j@z literal 0 HcmV?d00001 diff --git a/.doctrees/json-schemas/aind_behavior_session.doctree b/.doctrees/json-schemas/aind_behavior_session.doctree new file mode 100644 index 0000000000000000000000000000000000000000..6cacaadea6dba334ed5a70d78617f906d5fc9fd7 GIT binary patch literal 26967 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 aoYiaEfsUMNV_ulmF&Xl_fwetoto=W3kJiQj literal 0 HcmV?d00001 diff --git a/.doctrees/json-schemas/aind_behavior_subject_database.doctree b/.doctrees/json-schemas/aind_behavior_subject_database.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7f36763c16d849e1b67684f687663f99fc7d661d GIT binary patch literal 12120 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 literal 0 HcmV?d00001 diff --git a/.doctrees/json-schemas/aind_manipulator_calibration_rig.doctree b/.doctrees/json-schemas/aind_manipulator_calibration_rig.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7caa95722de838fd5709b4fcb79c4e204e2e2d6b GIT binary patch literal 89829 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 literal 0 HcmV?d00001 diff --git a/.doctrees/json-schemas/olfactometer_calibration_logic.doctree b/.doctrees/json-schemas/olfactometer_calibration_logic.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7cc56f608e95696cede82bb08f68e5624e5fc340 GIT binary patch literal 43643 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 literal 0 HcmV?d00001 diff --git a/.doctrees/json-schemas/olfactometer_calibration_rig.doctree b/.doctrees/json-schemas/olfactometer_calibration_rig.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2d4bf8b06d0466b2048b8e002b0603f07774c8ae GIT binary patch literal 84256 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 literal 0 HcmV?d00001 diff --git a/.doctrees/json-schemas/water_valve_calibration_logic.doctree b/.doctrees/json-schemas/water_valve_calibration_logic.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e2aaa14f1a405f375799350e59c6ba98b7486b94 GIT binary patch literal 25702 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 literal 0 HcmV?d00001 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/_images/AindBehaviorSessionModel.svg b/_images/AindBehaviorSessionModel.svg new file mode 100644 index 00000000..bb68e7f8 --- /dev/null +++ b/_images/AindBehaviorSessionModel.svg @@ -0,0 +1,71 @@ + + + + + + +Entity Relationship Diagram created by erdantic + +Created by erdantic v1.0.3 <https://github.com/drivendataorg/erdantic> + + +aind_behavior_services.session.AindBehaviorSessionModel + + +AindBehaviorSessionModel + +version + +Literal['0.2.0'] + +experiment + +str + +experimenter + +List[str] + +date + +datetime + +root_path + +str + +remote_path + +Optional[str] + +subject + +str + +experiment_version + +str + +notes + +Optional[str] + +commit_hash + +Optional[str] + +allow_dirty_repo + +bool + +skip_hardware_validation + +bool + + + + + diff --git a/_sources/api.base.rst.txt b/_sources/api.base.rst.txt new file mode 100644 index 00000000..0c3bdfc8 --- /dev/null +++ b/_sources/api.base.rst.txt @@ -0,0 +1,9 @@ +Base +------------- + +.. toctree:: + :maxdepth: 2 + + api.base/session + api.base/rig + api.base/task_logic diff --git a/_sources/api.base/rig.rst.txt b/_sources/api.base/rig.rst.txt new file mode 100644 index 00000000..62bc369b --- /dev/null +++ b/_sources/api.base/rig.rst.txt @@ -0,0 +1,7 @@ +AindBehaviorRigModel +------------------------- + +.. autopydantic_model:: aind_behavior_services.AindBehaviorRigModel + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/api.base/session.rst.txt b/_sources/api.base/session.rst.txt new file mode 100644 index 00000000..2335b6a3 --- /dev/null +++ b/_sources/api.base/session.rst.txt @@ -0,0 +1,10 @@ +AindBehaviorSessionModel +-------------------------- + +.. image:: ../_static/AindBehaviorSessionModel.svg + :target: ../_static/AindBehaviorSessionModel.svg + +.. autopydantic_model:: aind_behavior_services.session.AindBehaviorSessionModel + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/api.base/task_logic.rst.txt b/_sources/api.base/task_logic.rst.txt new file mode 100644 index 00000000..d75b0820 --- /dev/null +++ b/_sources/api.base/task_logic.rst.txt @@ -0,0 +1,7 @@ +AindBehaviorTaskLogicModel +-------------------------------- + +.. autopydantic_model:: aind_behavior_services.AindBehaviorTaskLogicModel + :members: + :undoc-members: + :show-inheritance: diff --git a/_sources/api.calibration.rst.txt b/_sources/api.calibration.rst.txt new file mode 100644 index 00000000..66910c45 --- /dev/null +++ b/_sources/api.calibration.rst.txt @@ -0,0 +1,123 @@ +Calibration +------------- + +Calibration Module +#################### + +The calibration module of this library is used to generate the metadata necessary configure and run calibration workflows for different assets/devices. + +The metadata follows the general logic of the library by implementing the three core classes: + - :py:class:`~aind_behavior_services.session.AindBehaviorSessionModel` + - :py:class:`~aind_behavior_services.rig.AindBehaviorRigModel` + - :py:class:`~aind_behavior_services.task_logic.AindBehaviorTaskLogicModel` + +A fourth class :py:class:`~aind_behavior_services.calibration.Calibration`, +specific to the Calibration module, is also implemented to keep track of the calibration metrics. +This class was written to be aligned to the Calibration class in `aind-data-schemas +`_. +An application example will be provided below. + +While we use the base :py:class:`~aind_behavior_services.session.AindBehaviorSessionModel` class to keep track of the session metadata, +both :py:class:`~aind_behavior_services.rig.AindBehaviorRigModel` and :py:class:`~aind_behavior_services.task_logic.AindBehaviorTaskLogicModel` are +expected to be sub-classed to specify the necessary dependencies of the calibration workflow. + +Sub-classing :py:class:`~aind_behavior_services.calibration.Calibration` +########################################################################## + +Sub-classing :py:class:`~aind_behavior_services.calibration.Calibration` boils down to providing a subtype of the `input` and `output` fields. +These fields are expected to be of a sub-type of `~pydantic.BaseModel` and define the structure of the calibration outcome. +Conceptually, `input` is the pre-process data that resulted from the calibration workflow (i.e. the weight of delivered water), +whereas `output` is used to represent a post-processed version of the calibration outcome (e.g. a linear model that relates valve-opening times to water volume). + +An example of a sub-class of `Calibration` is provided below: + +.. code-block:: python + + from pydantic import BaseModel, Field + from typing import List, Literal + from aind_behavior_services.calibration import Calibration + + + class BarContainer(BaseModel): + baz: string = Field(..., description="Baz value") + bar: float = Field(..., description="Bar value") + + + class DeviceCalibrationInput(BaseModel): + measured_foo: List[int] = Field(..., description="Measurements of Foo") + bar_container: List[BarContainer] = Field(..., description="Bar container") + + + class DeviceCalibrationOutput(BaseModel): + param_a = float = Field(default=1, description="Parameter A") + param_b = float = Field(default=0, description="Parameter B") + + + class DeviceCalibration(Calibration): + device_name: Literal["MyDevice"] = "MyDevice" + description: Literal["Stores the calibration of a device"] = "Stores the calibration of a device" + input: DeviceCalibrationInput = Field(..., title="Input of the calibration") + output: DeviceCalibrationOutput = Field(..., title="Output of the calibration") + +Sub-classing :py:class:`~aind_behavior_services.rig.AindBehaviorRigModel` +########################################################################## + +We adopt the following pattern to sub-class the :py:class:`~aind_behavior_services.rig.AindBehaviorRigModel` class: + +.. code-block:: python + + from aind_behavior_services.rig import AindBehaviorRigModel, Device + + RIG_VERSION = "1.0.0" # Use SemVer + + class FooDevice(Device): + calibration: DeviceCalibration = Field(..., title="Calibration of the device foo") + + + class CalibrationRig(AindBehaviorRigModel): + version: Literal[RIG_VERSION] = RIG_VERSION + device_foo: FooDevice = Field(..., title="Device Foo") + device_bar: Device = Field(..., title="Device Bar") + + +For an example see :py:class:`aind_behavior_services.calibration.olfactometer.CalibrationRig`. + + + +Sub-classing :py:class:`~aind_behavior_services.task_logic.AindBehaviorTaskLogicModel` +################################################################################ + +The same way a :py:class:`~aind_behavior_services.task_logic.AindBehaviorTaskLogicModel` is used to define +the settings to run a behavior task, it is also used to define the settings to run a calibration workflow. +It will thus fallow an identical sub-classing pattern: + + +.. code-block:: python + + from aind_behavior_services.task_logic import AindBehaviorTaskLogicModel, TaskParameters + + TASK_LOGIC_VERSION = "0.1.0" + + class CalibrationParameters(TaskParameters): + n_iterations: int = Field(default=10, description="Number of iterations to run the calibration") + channels_to_calibrate: List[Literal[1,2,3]] = Field(default=[1], description="List of channels to calibrate") + + class CalibrationLogic(AindBehaviorTaskLogicModel): + name: Literal["CalibrationLogic"] = "CalibrationLogic + version: Literal[TASK_LOGIC_VERSION] = TASK_LOGIC_VERSION + task_parameters: CalibrationParameters = Field(default=CalibrationParameters(), title="Task parameters", validate_default=True) + + +For an example see :py:class:`aind_behavior_services.calibration.olfactometer.CalibrationLogic`. + + + +.. toctree:: + :maxdepth: 4 + + api.calibration/aind_manipulator + api.calibration/load_cells + api.calibration/olfactometer + api.calibration/water_valve + + diff --git a/_sources/api.calibration/aind_manipulator.rst.txt b/_sources/api.calibration/aind_manipulator.rst.txt new file mode 100644 index 00000000..0e7b6282 --- /dev/null +++ b/_sources/api.calibration/aind_manipulator.rst.txt @@ -0,0 +1,13 @@ +aind_manipulator +----------------- + +.. automodule:: aind_behavior_services.calibration.aind_manipulator + :members: + :undoc-members: + :show-inheritance: + +Example +########## + +.. literalinclude:: ../../examples/aind_manipulator.py + :language: python diff --git a/_sources/api.calibration/load_cells.rst.txt b/_sources/api.calibration/load_cells.rst.txt new file mode 100644 index 00000000..1f61c27e --- /dev/null +++ b/_sources/api.calibration/load_cells.rst.txt @@ -0,0 +1,13 @@ +load_cells +------------- + +.. automodule:: aind_behavior_services.calibration.load_cells + :members: + :undoc-members: + :show-inheritance: + +Example +######## + +.. literalinclude:: ../../examples/load_cells.py + :language: python diff --git a/_sources/api.calibration/olfactometer.rst.txt b/_sources/api.calibration/olfactometer.rst.txt new file mode 100644 index 00000000..1113e614 --- /dev/null +++ b/_sources/api.calibration/olfactometer.rst.txt @@ -0,0 +1,13 @@ +olfactometer +------------- + +.. automodule:: aind_behavior_services.calibration.olfactometer + :members: + :undoc-members: + :show-inheritance: + +Example +######## + +.. literalinclude:: ../../examples/olfactometer.py + :language: python diff --git a/_sources/api.calibration/water_valve.rst.txt b/_sources/api.calibration/water_valve.rst.txt new file mode 100644 index 00000000..f6e32919 --- /dev/null +++ b/_sources/api.calibration/water_valve.rst.txt @@ -0,0 +1,13 @@ +water_valve +------------- + +.. automodule:: aind_behavior_services.calibration.water_valve + :members: + :undoc-members: + :show-inheritance: + +Example +######## + +.. literalinclude:: ../../examples/water_valve.py + :language: python diff --git a/_sources/api.rst.txt b/_sources/api.rst.txt new file mode 100644 index 00000000..953190c1 --- /dev/null +++ b/_sources/api.rst.txt @@ -0,0 +1,9 @@ +API +------------- + +.. toctree:: + :maxdepth: 2 + + api.base + api.calibration + diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt new file mode 100644 index 00000000..cc33d3e1 --- /dev/null +++ b/_sources/index.rst.txt @@ -0,0 +1,25 @@ +.. Aind.Behavior.Services documentation master file, created by + sphinx-quickstart on Thu Apr 25 11:48:33 2024. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to AIND Behavior Services's documentation! +================================================== + +.. include:: ../README.md + :parser: myst_parser.sphinx_ + +.. toctree:: + :maxdepth: 4 + :caption: Contents: + + self + api + json-schemas + GitHub Source Code + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/_sources/json-schemas.rst.txt b/_sources/json-schemas.rst.txt new file mode 100644 index 00000000..e1dee732 --- /dev/null +++ b/_sources/json-schemas.rst.txt @@ -0,0 +1,16 @@ + +JsonSchema +------------- +.. toctree:: + :maxdepth: 4 + + json-schemas/aind_manipulator_calibration_rig + json-schemas/olfactometer_calibration_rig + json-schemas/load_cells_calibration_rig + json-schemas/water_valve_calibration_logic + json-schemas/water_valve_calibration_rig + json-schemas/aind_behavior_subject_database + json-schemas/aind_manipulator_calibration_logic + json-schemas/aind_behavior_session + json-schemas/olfactometer_calibration_logic + json-schemas/load_cells_calibration_logic diff --git a/_sources/json-schemas/aind_behavior_session.rst.txt b/_sources/json-schemas/aind_behavior_session.rst.txt new file mode 100644 index 00000000..c4393c39 --- /dev/null +++ b/_sources/json-schemas/aind_behavior_session.rst.txt @@ -0,0 +1,10 @@ + +aind_behavior_session +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/aind_behavior_session.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/aind_behavior_subject_database.rst.txt b/_sources/json-schemas/aind_behavior_subject_database.rst.txt new file mode 100644 index 00000000..a7bec6ce --- /dev/null +++ b/_sources/json-schemas/aind_behavior_subject_database.rst.txt @@ -0,0 +1,10 @@ + +aind_behavior_subject_database +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/aind_behavior_subject_database.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/aind_manipulator_calibration_logic.rst.txt b/_sources/json-schemas/aind_manipulator_calibration_logic.rst.txt new file mode 100644 index 00000000..7beef990 --- /dev/null +++ b/_sources/json-schemas/aind_manipulator_calibration_logic.rst.txt @@ -0,0 +1,10 @@ + +aind_manipulator_calibration_logic +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/aind_manipulator_calibration_logic.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/aind_manipulator_calibration_rig.rst.txt b/_sources/json-schemas/aind_manipulator_calibration_rig.rst.txt new file mode 100644 index 00000000..58ea5a21 --- /dev/null +++ b/_sources/json-schemas/aind_manipulator_calibration_rig.rst.txt @@ -0,0 +1,10 @@ + +aind_manipulator_calibration_rig +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/aind_manipulator_calibration_rig.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/load_cells_calibration_logic.rst.txt b/_sources/json-schemas/load_cells_calibration_logic.rst.txt new file mode 100644 index 00000000..0b1bac23 --- /dev/null +++ b/_sources/json-schemas/load_cells_calibration_logic.rst.txt @@ -0,0 +1,10 @@ + +load_cells_calibration_logic +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/load_cells_calibration_logic.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/load_cells_calibration_rig.rst.txt b/_sources/json-schemas/load_cells_calibration_rig.rst.txt new file mode 100644 index 00000000..5ca69a04 --- /dev/null +++ b/_sources/json-schemas/load_cells_calibration_rig.rst.txt @@ -0,0 +1,10 @@ + +load_cells_calibration_rig +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/load_cells_calibration_rig.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/olfactometer_calibration_logic.rst.txt b/_sources/json-schemas/olfactometer_calibration_logic.rst.txt new file mode 100644 index 00000000..c4f7a462 --- /dev/null +++ b/_sources/json-schemas/olfactometer_calibration_logic.rst.txt @@ -0,0 +1,10 @@ + +olfactometer_calibration_logic +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/olfactometer_calibration_logic.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/olfactometer_calibration_rig.rst.txt b/_sources/json-schemas/olfactometer_calibration_rig.rst.txt new file mode 100644 index 00000000..31fbf212 --- /dev/null +++ b/_sources/json-schemas/olfactometer_calibration_rig.rst.txt @@ -0,0 +1,10 @@ + +olfactometer_calibration_rig +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/olfactometer_calibration_rig.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/water_valve_calibration_logic.rst.txt b/_sources/json-schemas/water_valve_calibration_logic.rst.txt new file mode 100644 index 00000000..6f6f2467 --- /dev/null +++ b/_sources/json-schemas/water_valve_calibration_logic.rst.txt @@ -0,0 +1,10 @@ + +water_valve_calibration_logic +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/water_valve_calibration_logic.json + :lift_definitions: + :auto_reference: + diff --git a/_sources/json-schemas/water_valve_calibration_rig.rst.txt b/_sources/json-schemas/water_valve_calibration_rig.rst.txt new file mode 100644 index 00000000..17470a59 --- /dev/null +++ b/_sources/json-schemas/water_valve_calibration_rig.rst.txt @@ -0,0 +1,10 @@ + +water_valve_calibration_rig +---------------------------------------------------- + +`Download Schema `_ + +.. jsonschema:: https://raw.githubusercontent.com/AllenNeuralDynamics/Aind.Behavior.Services/main/src/DataSchemas/schemas/water_valve_calibration_rig.json + :lift_definitions: + :auto_reference: + diff --git a/_static/AindBehaviorSessionModel.svg b/_static/AindBehaviorSessionModel.svg new file mode 100644 index 00000000..bb68e7f8 --- /dev/null +++ b/_static/AindBehaviorSessionModel.svg @@ -0,0 +1,71 @@ + + + + + + +Entity Relationship Diagram created by erdantic + +Created by erdantic v1.0.3 <https://github.com/drivendataorg/erdantic> + + +aind_behavior_services.session.AindBehaviorSessionModel + + +AindBehaviorSessionModel + +version + +Literal['0.2.0'] + +experiment + +str + +experimenter + +List[str] + +date + +datetime + +root_path + +str + +remote_path + +Optional[str] + +subject + +str + +experiment_version + +str + +notes + +Optional[str] + +commit_hash + +Optional[str] + +allow_dirty_repo + +bool + +skip_hardware_validation + +bool + + + + + diff --git a/_static/autodoc_pydantic.css b/_static/autodoc_pydantic.css new file mode 100644 index 00000000..994a3e54 --- /dev/null +++ b/_static/autodoc_pydantic.css @@ -0,0 +1,11 @@ +.autodoc_pydantic_validator_arrow { + padding-left: 8px; + } + +.autodoc_pydantic_collapsable_json { + cursor: pointer; + } + +.autodoc_pydantic_collapsable_erd { + cursor: pointer; + } \ No newline at end of file diff --git a/_static/basic.css b/_static/basic.css new file mode 100644 index 00000000..30fee9d0 --- /dev/null +++ b/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/_static/check-solid.svg b/_static/check-solid.svg new file mode 100644 index 00000000..92fad4b5 --- /dev/null +++ b/_static/check-solid.svg @@ -0,0 +1,4 @@ + + + + diff --git a/_static/clipboard.min.js b/_static/clipboard.min.js new file mode 100644 index 00000000..54b3c463 --- /dev/null +++ b/_static/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return o}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),c=n.n(e);function a(t){try{return document.execCommand(t)}catch(t){return}}var f=function(t){t=c()(t);return a("cut"),t};var l=function(t){var e,n,o,r=1 + + + + diff --git a/_static/copybutton.css b/_static/copybutton.css new file mode 100644 index 00000000..f1916ec7 --- /dev/null +++ b/_static/copybutton.css @@ -0,0 +1,94 @@ +/* Copy buttons */ +button.copybtn { + position: absolute; + display: flex; + top: .3em; + right: .3em; + width: 1.7em; + height: 1.7em; + opacity: 0; + transition: opacity 0.3s, border .3s, background-color .3s; + user-select: none; + padding: 0; + border: none; + outline: none; + border-radius: 0.4em; + /* The colors that GitHub uses */ + border: #1b1f2426 1px solid; + background-color: #f6f8fa; + color: #57606a; +} + +button.copybtn.success { + border-color: #22863a; + color: #22863a; +} + +button.copybtn svg { + stroke: currentColor; + width: 1.5em; + height: 1.5em; + padding: 0.1em; +} + +div.highlight { + position: relative; +} + +/* Show the copybutton */ +.highlight:hover button.copybtn, button.copybtn.success { + opacity: 1; +} + +.highlight button.copybtn:hover { + background-color: rgb(235, 235, 235); +} + +.highlight button.copybtn:active { + background-color: rgb(187, 187, 187); +} + +/** + * A minimal CSS-only tooltip copied from: + * https://codepen.io/mildrenben/pen/rVBrpK + * + * To use, write HTML like the following: + * + *

Short

+ */ + .o-tooltip--left { + position: relative; + } + + .o-tooltip--left:after { + opacity: 0; + visibility: hidden; + position: absolute; + content: attr(data-tooltip); + padding: .2em; + font-size: .8em; + left: -.2em; + background: grey; + color: white; + white-space: nowrap; + z-index: 2; + border-radius: 2px; + transform: translateX(-102%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); +} + +.o-tooltip--left:hover:after { + display: block; + opacity: 1; + visibility: visible; + transform: translateX(-100%) translateY(0); + transition: opacity 0.2s cubic-bezier(0.64, 0.09, 0.08, 1), transform 0.2s cubic-bezier(0.64, 0.09, 0.08, 1); + transition-delay: .5s; +} + +/* By default the copy button shouldn't show up when printing a page */ +@media print { + button.copybtn { + display: none; + } +} diff --git a/_static/copybutton.js b/_static/copybutton.js new file mode 100644 index 00000000..2ea7ff3e --- /dev/null +++ b/_static/copybutton.js @@ -0,0 +1,248 @@ +// Localization support +const messages = { + 'en': { + 'copy': 'Copy', + 'copy_to_clipboard': 'Copy to clipboard', + 'copy_success': 'Copied!', + 'copy_failure': 'Failed to copy', + }, + 'es' : { + 'copy': 'Copiar', + 'copy_to_clipboard': 'Copiar al portapapeles', + 'copy_success': '¡Copiado!', + 'copy_failure': 'Error al copiar', + }, + 'de' : { + 'copy': 'Kopieren', + 'copy_to_clipboard': 'In die Zwischenablage kopieren', + 'copy_success': 'Kopiert!', + 'copy_failure': 'Fehler beim Kopieren', + }, + 'fr' : { + 'copy': 'Copier', + 'copy_to_clipboard': 'Copier dans le presse-papier', + 'copy_success': 'Copié !', + 'copy_failure': 'Échec de la copie', + }, + 'ru': { + 'copy': 'Скопировать', + 'copy_to_clipboard': 'Скопировать в буфер', + 'copy_success': 'Скопировано!', + 'copy_failure': 'Не удалось скопировать', + }, + 'zh-CN': { + 'copy': '复制', + 'copy_to_clipboard': '复制到剪贴板', + 'copy_success': '复制成功!', + 'copy_failure': '复制失败', + }, + 'it' : { + 'copy': 'Copiare', + 'copy_to_clipboard': 'Copiato negli appunti', + 'copy_success': 'Copiato!', + 'copy_failure': 'Errore durante la copia', + } +} + +let locale = 'en' +if( document.documentElement.lang !== undefined + && messages[document.documentElement.lang] !== undefined ) { + locale = document.documentElement.lang +} + +let doc_url_root = DOCUMENTATION_OPTIONS.URL_ROOT; +if (doc_url_root == '#') { + doc_url_root = ''; +} + +/** + * SVG files for our copy buttons + */ +let iconCheck = ` + ${messages[locale]['copy_success']} + + +` + +// If the user specified their own SVG use that, otherwise use the default +let iconCopy = ``; +if (!iconCopy) { + iconCopy = ` + ${messages[locale]['copy_to_clipboard']} + + + +` +} + +/** + * Set up copy/paste for code blocks + */ + +const runWhenDOMLoaded = cb => { + if (document.readyState != 'loading') { + cb() + } else if (document.addEventListener) { + document.addEventListener('DOMContentLoaded', cb) + } else { + document.attachEvent('onreadystatechange', function() { + if (document.readyState == 'complete') cb() + }) + } +} + +const codeCellId = index => `codecell${index}` + +// Clears selected text since ClipboardJS will select the text when copying +const clearSelection = () => { + if (window.getSelection) { + window.getSelection().removeAllRanges() + } else if (document.selection) { + document.selection.empty() + } +} + +// Changes tooltip text for a moment, then changes it back +// We want the timeout of our `success` class to be a bit shorter than the +// tooltip and icon change, so that we can hide the icon before changing back. +var timeoutIcon = 2000; +var timeoutSuccessClass = 1500; + +const temporarilyChangeTooltip = (el, oldText, newText) => { + el.setAttribute('data-tooltip', newText) + el.classList.add('success') + // Remove success a little bit sooner than we change the tooltip + // So that we can use CSS to hide the copybutton first + setTimeout(() => el.classList.remove('success'), timeoutSuccessClass) + setTimeout(() => el.setAttribute('data-tooltip', oldText), timeoutIcon) +} + +// Changes the copy button icon for two seconds, then changes it back +const temporarilyChangeIcon = (el) => { + el.innerHTML = iconCheck; + setTimeout(() => {el.innerHTML = iconCopy}, timeoutIcon) +} + +const addCopyButtonToCodeCells = () => { + // If ClipboardJS hasn't loaded, wait a bit and try again. This + // happens because we load ClipboardJS asynchronously. + if (window.ClipboardJS === undefined) { + setTimeout(addCopyButtonToCodeCells, 250) + return + } + + // Add copybuttons to all of our code cells + const COPYBUTTON_SELECTOR = 'div.highlight pre'; + const codeCells = document.querySelectorAll(COPYBUTTON_SELECTOR) + codeCells.forEach((codeCell, index) => { + const id = codeCellId(index) + codeCell.setAttribute('id', id) + + const clipboardButton = id => + `` + codeCell.insertAdjacentHTML('afterend', clipboardButton(id)) + }) + +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} + + +var copyTargetText = (trigger) => { + var target = document.querySelector(trigger.attributes['data-clipboard-target'].value); + + // get filtered text + let exclude = '.linenos'; + + let text = filterText(target, exclude); + return formatCopyText(text, '', false, true, true, true, '', '') +} + + // Initialize with a callback so we can modify the text before copy + const clipboard = new ClipboardJS('.copybtn', {text: copyTargetText}) + + // Update UI with error/success messages + clipboard.on('success', event => { + clearSelection() + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_success']) + temporarilyChangeIcon(event.trigger) + }) + + clipboard.on('error', event => { + temporarilyChangeTooltip(event.trigger, messages[locale]['copy'], messages[locale]['copy_failure']) + }) +} + +runWhenDOMLoaded(addCopyButtonToCodeCells) \ No newline at end of file diff --git a/_static/copybutton_funcs.js b/_static/copybutton_funcs.js new file mode 100644 index 00000000..dbe1aaad --- /dev/null +++ b/_static/copybutton_funcs.js @@ -0,0 +1,73 @@ +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string +} + +/** + * Removes excluded text from a Node. + * + * @param {Node} target Node to filter. + * @param {string} exclude CSS selector of nodes to exclude. + * @returns {DOMString} Text from `target` with text removed. + */ +export function filterText(target, exclude) { + const clone = target.cloneNode(true); // clone as to not modify the live DOM + if (exclude) { + // remove excluded nodes + clone.querySelectorAll(exclude).forEach(node => node.remove()); + } + return clone.innerText; +} + +// Callback when a copy button is clicked. Will be passed the node that was clicked +// should then grab the text and replace pieces of text that shouldn't be used in output +export function formatCopyText(textContent, copybuttonPromptText, isRegexp = false, onlyCopyPromptLines = true, removePrompts = true, copyEmptyLines = true, lineContinuationChar = "", hereDocDelim = "") { + var regexp; + var match; + + // Do we check for line continuation characters and "HERE-documents"? + var useLineCont = !!lineContinuationChar + var useHereDoc = !!hereDocDelim + + // create regexp to capture prompt and remaining line + if (isRegexp) { + regexp = new RegExp('^(' + copybuttonPromptText + ')(.*)') + } else { + regexp = new RegExp('^(' + escapeRegExp(copybuttonPromptText) + ')(.*)') + } + + const outputLines = []; + var promptFound = false; + var gotLineCont = false; + var gotHereDoc = false; + const lineGotPrompt = []; + for (const line of textContent.split('\n')) { + match = line.match(regexp) + if (match || gotLineCont || gotHereDoc) { + promptFound = regexp.test(line) + lineGotPrompt.push(promptFound) + if (removePrompts && promptFound) { + outputLines.push(match[2]) + } else { + outputLines.push(line) + } + gotLineCont = line.endsWith(lineContinuationChar) & useLineCont + if (line.includes(hereDocDelim) & useHereDoc) + gotHereDoc = !gotHereDoc + } else if (!onlyCopyPromptLines) { + outputLines.push(line) + } else if (copyEmptyLines && line.trim() === '') { + outputLines.push(line) + } + } + + // If no lines with the prompt were found then just use original lines + if (lineGotPrompt.some(v => v === true)) { + textContent = outputLines.join('\n'); + } + + // Remove a trailing newline to avoid auto-running when pasting + if (textContent.endsWith("\n")) { + textContent = textContent.slice(0, -1) + } + return textContent +} diff --git a/_static/dark-logo.svg b/_static/dark-logo.svg new file mode 100644 index 00000000..dcc68fb1 --- /dev/null +++ b/_static/dark-logo.svg @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/debug.css b/_static/debug.css new file mode 100644 index 00000000..74d4aec3 --- /dev/null +++ b/_static/debug.css @@ -0,0 +1,69 @@ +/* + This CSS file should be overridden by the theme authors. It's + meant for debugging and developing the skeleton that this theme provides. +*/ +body { + font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, + "Apple Color Emoji", "Segoe UI Emoji"; + background: lavender; +} +.sb-announcement { + background: rgb(131, 131, 131); +} +.sb-announcement__inner { + background: black; + color: white; +} +.sb-header { + background: lightskyblue; +} +.sb-header__inner { + background: royalblue; + color: white; +} +.sb-header-secondary { + background: lightcyan; +} +.sb-header-secondary__inner { + background: cornflowerblue; + color: white; +} +.sb-sidebar-primary { + background: lightgreen; +} +.sb-main { + background: blanchedalmond; +} +.sb-main__inner { + background: antiquewhite; +} +.sb-header-article { + background: lightsteelblue; +} +.sb-article-container { + background: snow; +} +.sb-article-main { + background: white; +} +.sb-footer-article { + background: lightpink; +} +.sb-sidebar-secondary { + background: lightgoldenrodyellow; +} +.sb-footer-content { + background: plum; +} +.sb-footer-content__inner { + background: palevioletred; +} +.sb-footer { + background: pink; +} +.sb-footer__inner { + background: salmon; +} +.sb-article { + background: white; +} diff --git a/_static/doctools.js b/_static/doctools.js new file mode 100644 index 00000000..d06a71d7 --- /dev/null +++ b/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/_static/documentation_options.js b/_static/documentation_options.js new file mode 100644 index 00000000..0f6a6898 --- /dev/null +++ b/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '0.7.7', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/_static/favicon.ico b/_static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..4cec150488e1d2c857ce6e4c1f73b0f048a6bc42 GIT binary patch literal 259838 zcmeI52b^6+`TlPpbVEY#B+^Mj3F#0?C>9_T6|jL6D13GVxKd+g&ZTpOYJrVu~1_A?tfxtjuATSUZ2n+-U z0t118z(8OiFc26B3k;6(5qZ~)i`>;N_e z>vc9yTLZUGdb&8*zFhT@Fe&n_yf2eoDV(*4hFk{jnMx!adYa04)@#37Tmx< zU?7))u0_)_-3w;s=uKyf(WCXzC+YejK=1GCzzXmLcm)hqw}(<66uRf%q~mX(8{7cC z2Hp+EgAKdY9&mMl+6NuTs^8%V3^XzW(gFW&^!kBI+j{CQ;ApT2=v^yae+?AUzgj%6 zcE{7;E^rw*0qlwXzeRNbeuq#OG_npfn(TU~ceG^t@lF@iXP*tu0>1%I0kykpQLl%Z zCbd(Z0k?q#;83u2=c4KA&&2A3&@N~+ok+X99nI4+_g%1SRK~lojZx+|18URD4yShW z%V4OwRgd?n&u}03CO8&s*U@5Z8-}M2XZuKd*$DEbmjS)oyKEoc>;5RpxoqhRf$VhB zfqK;4Qm0vMod>{G;BcTZ2G1Gpv`kO)r1Tb)AX#b{=xUxEE4S!>>lBTX?Fvo@OF^T( z=Zmc?R3~Or{P z+6#UNckcxo1H*4eD=zJ-a0CXb%|NHh;-$7+y7DPo-Uq?2L3r1frry)o$8vBQ*sjaj z2D<1M2;m3}RGI}ZA#Gl^lJ$fIn!_^k}DcIBPtzz=N0gHVQ83rf^2Cl!aJ*+f$FJ4}PKb?F$L_U8A zj09#aLD$0RK_?o70j-EIt_Kc$8PI;|TF0gFA5&IRstOG!md{W2k*hN~ zU~#Yu)>|FWwK!)VKCRWg0%-gI}P=w1C5&A&erVr zX2?I)?Rzpp*5U$}b0v?`gi*K>1uuxY~#6C%ypm z&8tVjy+CV(mIIZUrQi=hdj#A8RsikyEjx2B_&azB{09{C>~L-6`RXK(CIRLQhy4a? zS^L|XbN1-jo;N&`0Nw?rf!%=S3~vFn@5CrDy!Oz6)_b0QLb}fpvRYa_kB5XC?eOa|;t;QM;ti`EKnaY{#B7 zA8mJ_I!5ynzX|RFYHOtJn_$J{PqnXAy*wF2c~^T{(6}jz<;&Lie+dRtUY_N;rQkfE zckwu|4v6wN=`RPveD^BfcR+0#7MXfS?FZEfM}q}m8BiPHe_$|jhHFa0QxAOa1;{Vz z`CtzyhdLA;r}D!=@6I2B{>r;_Ui|`nk7p9t0Qmcj+r~b!`o=^xkJU|?OnXaCeyb}JB{meY>V0Z<8ckq-?5N)3h3|9e3Xtv8u-588pyH@I10#y zpt>OR6Y`gXd}U)O=VaR*3rxGMzdQ?JT&r()=)U;TMgRKuOFnAjis=&fs7}#)btX6t zoCCfCRQKNlo&*{n_!m&y`wft+f4siwyxz&W?iHZ>{sR64t_O$EpB$+^q2gD$Bj#0w$1O;me;xuy_1gs=YpHSgWyF_YCD_if==*7FcGZt$h_?{9Rqy3hU?5; z6~=XXuJz3ELwyMCTOPj#zuFle1hRW*Z``2wrQtwzeiP+zOkY=YfR^J;OF2mpm%h+^h5QO>Xl=`Ccw*K zzA2_Qef+TDx%E`XMN{=10@*q?iwTr(1ZUtKRS?==s z63_S{Q2$>#XwvD%{3C|$W>4C7V~fm|rOxKb((z4!`XQ%+Z-N!zZlLz(`@r_tC}o>4 z@p>Dfk68PgCHe&yYNji`N7Zu!$5|6k$oK)~Md(=y9jXL{;`TVe*pG1v%v8OY|Q ze!AVm4c8y~4kWg5qYozBzHi@)zmj&bS9#vgz&n9Wr_!oWvp^g6OdWSF*pIk#IMH(s20sBxYrgoyxxw+$ z1AjXK!?__m{3|&Fj$g{STc7Fp_HAeXjR$j`)^6Hyn$vOHK{?y@aXnGLa2a?vSPz&o zA=mFaZ*;U}Ms%KZs}H#|_!#&xcoHa{c)SDoC7myZ}iW&c22L_if4c}@ERzW{%G#gZQvt7?Ix3sHu@m)>qzz&I6oe!-yz#p zxzd%^c>e)shk?wh0p@d+RWTYMa&a8PDEudbm7vmPOFDcQ{dl$E>Dyb|gV8OuMVxJz z_2YUk>;)ErM?fXhslG%f_#}wx0ev4=^PRG3jW|``;b@?KZ6(v0hG&Vhw}PmSZ2)zw zn27QB6?0~!Q~QIPK&9un=$$WJ-Wo)8k6}zrk;O=;EECcha|x872RL;C4{yav;6A9;p8wrAgTn z|BYYoR@nh%53F<=i+SG5r0-i`FK@TNPanqab!FRH(VQvS1vEAh#s~(Nr>ZY^5uZXh zhQ@&QU24nj>!tNFUj)^7=RePLzXUb_nOi<{n90{}_8W9#4vgiS{>VXu-wM>{E=Cut zdF|t*_5T4oZlSgS(4qEBThtaX<6B?jx))oI@~$MgFs zP>p=Qf#+_g^knDGPGg?8we53$6wrKwXF)a6SFUGj9@0%)`vHfBCzq0Z3J5~=E8=&fk zYV=1cr4x@J-|_SVMoM-g|NO~Wdxt$ITc^f0D?R>NDGo~U9F6-<7JsTw!;zl>!;dXf zvazWztvT(b;J=tS^h}M}tq)9@kAF+djqe>mSQjWJ-g>=OWB&_*sSA79J3)ID#K&X^ zTNj)SUIq0kXSvh;ZMZSEz_!It?X`UAt+jLF(jGM-wfB}gdM4Y_N>J%CptgqE z9FeV01)1L-qw!x2s?jE?G#AA_Pj*4g#VpWfGV2{bO}OU36dQM%uh%%qaUj#>_OCFN zXM_F|4`3_sXHe;U{~piO_?6N3gzl@Kb|nb9UpQaXo^4`IfU}qOnJ1+7fov+F-;~SY zGB`2iu48dyj|akobZ;DZ0#s7}m-4*rKtA1HkMm1FX!8%8CwiZq%U%L`$4powsq>2h zmpNry_2IFg;pYPw4(#_W|AxO(`hP#q+RHsVqx}QDA6Ii-nt<#Al}b;&KSy=I*Fk?a zly3z-bIQ}r@S%AwnMR%yDEWbO@i|ZlJ&^6{2*4P&*0%D!Pn(9!3cJqjQ-p0|8lJH8^L-kNbi%p~I&C}YOXUP5^mFw6Vf{C2J7Ze+BTCcy3ITWV8Y;gVGk20b9 zu-y6leV$?3T)2kvSlQg0a}QP^4ds@x+VQI%|B!84X}yH@LsT0p`mTxQz&#syHf3FX zUegcNw`UviKz_X^-UiA&PV^_9v8#KY)qVGl;@lP>v`tG_|7w2p+r@Pk-#PI8EB$U? zV)Fa*_+>Mwc3o8q&!4AnS+*~-`>-}z9iTD+W`lC}xiwaOjQaX3=kH;^f#LTQYBA&2 zvh~+OSx8eF)Xv`nWcvZm&pC~+TnEx5?@(n~2@jitO#C~wjZzOtZg2qjHyA311KoEy zahrK6?8BWg>-oI?+qoF!ZhH)rzO;s`O|>P+R|kyad^bp|?1Pm{V}b8A9JxK$8b$Xd zr;*$4;ax5r{3FkJt9y>2*86eCg9pH1^D10dJXcq+my^~9M`PU`%zHDx?RvO>1pcR9 zFFT-LPt}0>UoQKf>edrf*18w%k;yxlw+;PkBQgX`zdoeI$YV~yy^vwSvPvwtAzZ2 zh3EYNdEIA@@MfG}*5LV|Ip&`<{J3)J^&>5=#@H^$X-*2c$*ibL5a*V11zVv{9HlzZV$9&DcI zI`#3)+-uDVO5}^yV)cMx;!E4LrVr50oQX6YR{xF7=j-IJ8SC)!@mqSS@lVaqDOG-6 z(A{F+_j-=z`06>l`(=l|p@h#VReBpKo=*7RM)@J=xb5N@zHZjK_(rzL{E+sM8K*YH zq~xE=Yqk6D1Rv9Hf4HzwxOah4=z-q-ySsSJW4s@CF3?<{p*% zY6BW)d=#i{QO>yxLrHtB-Ls&xWwPm;X>Op#z2HpP0Q?lxT6!y$9+e+6R_*np-rcq( z=KDCx+sWXc;7kzhe`fr4ZqCo~mxAY(yopm74 zd;z_?HU^`Z+pahT)oq&swPE)JZwH?MnpgNcpz)p8K`G=*LmXOTH5-_`Q9gOUJKw0b zK+TCZ?c=n}1?XmvGncog;HvCOC)oQaI}YU9=U2M$;goOL{8i6Hb4`rjmNUKk2byD~ za(6TMG}s%cUEe6*^ ze*_A}-Ah<2m;u%US-p0)gDAp5dW>z`tuyxV-Lqtt;@t`y4ZaUlUlmGI+Rv*FJPBl0 zcW-Q1mES>i?_WULImjp9UC6zm|NinIi(AcJ=JIn3+1*{kGKS zKGMaNEKgcrsJ=&%Z_P_t0Cr#T?Sp;U%dBXbl<6t)dMw#M6YT}nQ&YfV@DxaQKDiVu8Zo1!TYCVZoTg9nV$KR zVlh#^-8=*zPsakYU;ZBaz63l6;^}Mz|Celg*Y*cvw!n#S@k9gip?9FhK{Q^KQ+Dd@ zhrSahIl!sFm*p4m7n%bg`=`IISa%-xn&*ipap!*Th#QahF@ArH_EkOemuW}71-AlUYJGR&PdO+oAd+TJqf3Jz}TQsS90s_dMZF0)GSb zDARD#EIn8s`c0P@H4Q03%cV9G?j{!{wFA>cI-m+t|7n|HC7jo-RVf6pDB8Ok4`kjFZT}X#7o_>k zIl|NqR+}Ns??JVlJ|UTV7$eaU8w)sr^NnN^Re8V6z60u1|Cx8YqSd^IuRxZ3`uj!Y z^&MB+wN9O8KR(m$T~Ofqd~xWU`t@rlE`P`mq%-QLoA-zh^KKq}Uzc-l1#bgKgA>6? z;21C)>E`;GXYtJKfb4&T(wsd1GS{k)qWespFIR{CZTdE{qn-l% zIBGJEH2hwMe6klA+11~YAE;e$FGz!ogO%Yo$g6jl;iBIDDcvspzs1cb^Dj6b*#Khg z-FI>R)dKhAi$^v%o|Ua9?QipZ(^rpkcld-2d4KcHw|YDhcQ5cI@N3WuUIwp&)edjq zz5<>AzXNB3sbFp3<1vruV9roXj*UsjHAToF*;au4qjm8v?>Q$fW!F$W_c`!ykdKRc zKc_y9^55_%Qe_9^`=XM6QA%YllxM2%a@w`=a$M_vn}?=vTd3ZCf@?HZ9-FUY@_BR4 ztpbI3iJw<_F@66oY<~S6N9;Z(($ym;tUm(Xoer)6PXn*(gLR+dp6`MEsY}+t&CCTy zPTbJ$Eo{oKkwtxv?+sEGFV|CCe_ZE6yFL!T5lgOv`U&R)wU_-pX>zgmPobW3`?Y1| z-XD3>-2X}D;WNmqd13t(>zWNyy1{rL`+HJ0{Z{$?Ffe^y31a=`zQNY@k8#g9-Phl7 z1bX@Qu^V~)-voVa0z=XJWc~0w@ic?20PPC32dr(t$YMEA+jSYp$3dZUD(7m~j0A?4 zh#&iV6z9JS3f*7N=X;UMycg8|kI5~WZ%e7n`SMF`ytjk?igwM0DcwNt=Kk99dN-Of z9?NIlH`uyf<-yqY3lX9B^5GMscKUeq^k$IM9x>n<9vGOgQE@U@|bADY%^Yjt^-Xu@5(;q!{W3Q9a&u%bWT`zS1 z{lq<6`ahTF9zJ0s%C9fCrXJAyyjUBy>VQwNZ|Vqfq&BhER9HKM;rE@Ke;&j+NrV3; zWQuHGvH2m>IRB3n%3CPU&PLW~Eqk(j*Xr-i?3({G29Z~%O2(d6+kcPQd{y@iq%ZSy z@5%ywf9axw-uva$eP1X1ndith$a6O|*`xG1jKTdKD3sTQ&a1p1ZR40?#>TZ?-u$-p z!g)i8v(U3@<-GcgnhQeN&v`F2S|8wYz1uV&w4RRk?3(`OL6lADL^O9dD%*Ci=#>N9 z{}GiDzuqs-k@U~${-(I)X!CoWPr7&TylvdGO_F58Ryx5^puhf5A^m%V`=+=!Oq|}2 zyCrA`h3>7_^J*_;x|i7XldJFouGrXXq$#&qIX&JU$t>F;^f4%7IsnZKdDjg6}w#Ci3Ls-3<{Jbx*2YW`!g zc-QoAr5CIPehCJ{)Bm|SZbq)yysz!J|DFPIXdcYIpbr-@d!NSmN@3?Ow!V0Q=N>Hm z7j(qR?@6S2pngpu&dzC{KV^jG2WY%AHpfzBhDbk(YvjyIhsrJ8P4akAwJ9bJ#^R5T|<$Hf&Kcy`}-8v=HvzYyju$wAg zupapNFyig+nbiur!hb8+@W;AMC+jIGld}-ND&sp!=6X6@9%=64eV~wR$@72XTH6M2 z^167G=kEo{K3^~Aw%0ZB07)pavC_d<%~ER+ug+qj018vUpI0_wXz zT4Www%|2KoHJ9J)%jfpq<((-z(6m{JAfxaF)~Zu1A!^e64v{1#{>0;e0&e%@6$JO`acf$F;K1dzJKoDNy9{? z$seRyGK~Yhz{^sstG3XgfHsBOH#0kC(lm^Ci%mzluh(3_6OEk6s>Au!hq@7z`}x(5 zU+;+hBy&9-N-vP@_OGB=4u8cxqX2RA*%MZ_^VeLQkKw9~kwcAi4XEF(b$nhAtL6TO zG#mz^G%CG7bAh@*vE0P3mko@zQdTeI2Qz`{(fGCX?7vv^sIzlmej*u#vr;5uq5RR9 z?i|TmPlwVA^uB%?6q2pb`PaFJ`QMr|%Y0Yn(Z|LE)epGJ#i_Q1+88<1NY}u7L3|Bw zwe(-l{fN@!52Y7qZtL$sAr1y}Uh=Ds&2(K7-#ctbd#DWNdDXfGo~ErYId!aD64?OW z&AI=AYNe|Z&y}s`ATPTwL$&TIyZTtz4>6mZl$ZGDSTXVEvm~s1O)PgG;(pbsq z5Bb5KK=!d(NMpIuptkNifET?kT%{LG1Vhz-@u@Mg^+2``$lA}I1laGQ?M!-i_)5zYRqBEI*J9@E%Yu-K&Lo>skMY+Wz;vYaHto zVDw*eXw5n>jS1L#;5~$CU2Rk@|D|aEi>HTx+Cvcs@&ok? z{sKIg_3TDAz|O@v`y#G`d^e{=#zOg{_W!{k%HMkMD7`>sa47b_I2Y>U%AS>6AFTM- z04f7HlsNt0ANQ3S(0|$g4p*A|q4a`M*#E?n>_a)_!^J-uw++O(tY`mulB@fo{S1w! z{pKgtc<2S zd@)5b=Hv4f0=6+fRK>K~E{avj#z)L)P4v6$$b69}d=HDqHFCD}sdqTvA{NQNt zIw%$Y)r?1WB-xXaGNyeDP&VA1;&Mj>)UZeC1!}LW?_SDsqx$gZ?0g_Q?wzE<=-h_??~PBr6s5jk?k zdigCG$AVr^&9s&C*_z|NE$~@e7p~F^)FvJ79G86DK1IBTX>OpNlbsiurN-&M+5nmd ztiAdxT?c6H@u48L_SdGDG@k&}pUEfNP|iJ0Tw_5*fc!vvqiF1WC~?->JsJx>1SDnL zjB{z81F#DDHi^p}5m3V(y`Q^Vri~!o-v;F0>9+!;g^$PZ*UlKrTZ&#G2jvhm5*my}WKM3$#S z#(dnW{j4$*$z2bg*nZ8eWy~AZ0f%M#0=XQSegF0ToiKV!@CQ(-Hb4i@8VAhxK$Ks0 zErZd?!%6eMO3aD+#=C&1XvhzyfHbWGGIPPakXFWN>*C%D^65?*&ixeG){?CCbj0+( z+~c!)_Z{82AhN6H(4=qiNDsjza4#r#9q=g6Fnj(S$#;TvDDNCL#JvTSx?HM1lw%`u z&zpvumiNCnJ415$!^tS!_&F#wr?nE_RsI_?UhaBvUH%-8tNEMdw^1lf;8ai!dwehP%BJYW_VvwvoO=b7llw}> zJufLEZ9k0%e?LVsCi!fV%!R&h6J>Y}dX#P;8+0YcXI0L>2G$3r{A>R}9p+m++3$bt zgMKaprEUkP%|9#K=jik8kIAH~7bNqy6u<8y-h5-@@8G=FkCfsWwGhVwWQj_;zNv8g zV$<%sHbpWfdH!fz=1BND@F?9tYXF}CNx91LTkqCy0L?oxb%0zQ+7tAMiKBcwK;Pr{6e8+Vkkb>vZA0hRsxK_z+r9nYHta_WG&d+2*WwlBbYdQJ58 z0B|E1NuG}uZ}w}-OtPYsWLyel6k6UT_PD* ze0`>o^T~6zGwou|U6wLAJ+JE5?j@P)@ld+KdO-T5YK!+bK=!M)VGK--EN;e z^wqZmR3EIv@0s9Sa0mDscnu``2U^Fcz5G^ygc@9lQ&i2u^c28TU}2eLP3U<`+lz zD^jgZGqBH6zFh~(t@|n~#x9=tPG&jhUik7^Y4=L)Z`8KX?g3ypw_K}VQ0cT(;(2;+ z>iucTY`y){yga2HsC-s}uR_oG1J9q;wa|_cDqV4VDmtC7E{Js7hG*-ExyF`g?R(0T z*jT4&XYi~k;P(}h`9C~Ia|)v3AwPHvDD~XyLi|?h{N>XB+s}KOk+pk%G^a}af=Z>K zlFzxagFSDQpY?hu?Lg&I<+PIAC7<;-p8sXADKMP&#MjIYf#6R16P?!nWa1-U?YVIp z(7dGN^UL*HbANUNkp%LCaiABJ>$%m4_hQL*$N962toNQDt)*7Kpc?5Z_cK2$dG*bh zdOehWFdjS&%FWk6@vAL<2Y5e_t}1N?J?Qd^))@oR+}(=JIlG3}->-M=kw7;7*TF#P zC}p_h83jz*yO%`o#7d33mQt31;%f17O4v@?0_yW{u3G)efzmsi@P8xMJLB>WSU79& z0;L~}0UcmCe3bHDjjP-SWFObOc{9Hf*Xwh_jruY1^CP+bt>7czx8PM!$}|o(E~68& zZ|dlvZ%jIb&sQlugH88PuDd|8`9uA#_7?Mv`ER9A)+do^r?|Xc?s{^SM;$F@y?ZU@ zk=g@~gC7Cui{6>457bA{nu~QE(Y(c#?+Uo<+7!;=^g$T@JDb5PiY6@&5yp- zGMl`6C52_On&sqb#xh2DosjD=7gv3pYNo9m&pui5`NPSo@v&tolU41~lO&(kw$}S0 zIlxw+((?ezQ3h)zPT7YJbKIIDqP0dHEoP6QG|q>SUG+VZ*B?&yjc~g_t>jB7((xSf z>?8ToaHtLgY3-AiBEN?c$8ySt%DyQgv3-TN0Ti28)w9wbE6t=l%nk za^8vjmb^QHr$D)$Ta9=x?O9~Und@2aecJzsEH1C6xLyX^! zW2SX2ylk)1bziJ}nVQ16G?gj!bKWO86vG0ykB!+bvSP2 zN*A6D*{G~ZwwGBTm z9@`gZbzi^1?%;8dR{5`Id}9sCs-v?tDo z{R-YT1ZK^l(F6S5T6f$$b$-e@Jx_A?EZNJbL`TbX_H!_Hr7Kb-xB6~-OV0Qj=d{!T zlFMN%?wz1gdXt9dJPlv79Dk-rct7qWkTx55GS5CDdA0sZhm&3HWbJ*FytZC{{~B3x z`Zz||l>A%TG{@(gT$R~-Q1?L2iMTjuDdVH|4q9{_&WBuHCw*y&Ou(Sp(z!AX^rP6a5P$FL(t*< zxJLl(bCg!uCD&iUt{^J;^1E{iOM~o^V}j(8j->gBtqD>dz6)r~BMo_24jD9;Z#R%n z_chmVc>{3QiHsUMj?_Yaa4=BYpd7qcI!@LwPNOZC-gkeLd3e~D)44T(*}@kz2xs4?zq6+LJUYz2OIH6snG*RmuJb`a9yf;mD<3r< z!0r)f_Ha26`R`9jewLyR(44m8%oF$?^)Zw z-FMCKaB)iH{}Xa-Eg3r)*KDN2ejh8^Uq|!TR-`0Phoe*K&wr|O@g%dh*S85(J{&aG zuQD^7XVlBRTFY>xzgvLc6a~2so8bN&B=1Y>Z}owU{ln{o<3Z~m9!UWY&mx1~d*pB9wEcZv zdRJ}R*qD}VJ?8`ILR!mpKDo5+`{VGSzP-_R@#FoRUl;!+Am6=dJ$D!KM*Ew#Utsre z=bY98zmftjZa{{$fmelwb?;mdeYZ+$Th@e=V}aJXrL}Cw<$4S`-`m+bKGJuq`?hby z{OOT|e-)&0ZEu{1r2kT6j_Sg$#Zh1Jbj~NQt+(GAyExp)hkYj;mI0sN&Q;s*J0MMK zyprWq@3@(6eN3GkBtq-x0+4hmjL^+;W$vA(H z3>!+mwk6qb8Z}xy(C)s=6VGSuu^-!KU$!2V1C51OGJnebEUkmO3Ty|A4MhDQU(U@r zTh>2~ztQ?a;{NYo5Aom+`N3vj6)1Q9lrw&f`F$8WwY$Rk%)x&v>bIF#QX>V=ZcYmzBPlk(Az+1$L|E`t~*SC9hepTz< za&_(1K(^C*$m@6-HD-SW*ai6VEHUv%wk@6C0GtQZMu^|vNd618ZoHdstm){m?+J19 z**fRs4buNHz})_vuxcmV5zAAlRd?!ceV+<49?1MAFmEbR+*7ZVt z_n!gH=aVhZe!t4S^CeeIwyg=j7O0%mx?JT-pX$9sff*O_`Oj~0cLONbb1M;V8|hac z#*}GOxEuJNnG0;WkZ!20`v6dXU*la-J>V&dpX+KdV`b_iHUaesYt25ccIr=o?7XVu z`jN-H|EF=yQc#IerP<_mb8+Jftk28!cRAg=q%i*kkOz5Nil1nduT>ajNV zL)M}6$7Iko9|dXN!>1U&zuDP3ZG`%Po-4RfJ|6}C1B!{Omabh&+Q$IX-ZR35e@3sx z378IK_w{)ueK-?r39O#Gxq_ZHo!4HNQ8;Tw@V^zj52%084K$zrP2l4#wX6E-L2x}d z4veKeKLR&Om!I3+zJPixJKs^^>hGw|dJU91UG*5B>TTtn;m+%So6X}TbHj zYTUVgUT@>Bwe`~nZZSI3oXBJ8Z6`PxYz$1fXlE^q#t8lK(8W8&#|+Iit1dEgigeFZ zcmGAWzXg8=nr|naE2du1wbFIfQFntMgR{ZAz_vhjk9oFn-FTkTsBxa0F#8_R*q-W* zdeqZ$rCII!vEs@f@&ommdqBCKTkd#&NZQu}W(}j4Ex48e!;8)5o$yOPllh_d!X4lw zusJaL^hZ!Bf;;$8z3oXqyPRU^B~rM7eire@7T99;`?xK#U-X^BVXn(<=WA?pF8CR!*K%BL-BaIQeSFhLQYjJtu8v>C z`EozMT=6UIra#!obN%vbefDguUo0ERErZDK$GGMSp!fJjppRZ>WAESh$oYF@o;zzV z_LZGZKScX&Ok;d@YUWS8%kN&8eV_Lii^^&{_ebflb=lVZR=eRhAn1MnI;=j`79gTo zexSDhN>DESEN8rbB;DhHDHoAo!IPJP*m&RpaHc-`VDd(K)eh87KM-uj{?Ix0H_m15 zYTh@qYLVSXBJabCJgK>hZOmVew-MYpzUr?zU?KPuDAbl2jBJf`&4niao!unXhtv3} zY&G@9h0?6LKeMuVMv00RFBIhQ_Zvu_1W6H%-H-?zQQp$24ZahwVm6Bk@s(Mui6l@7id1gSAoWsRL*t) zn*im{$ez|2zP$Bu+b-RabJJwom+esZ>fLI0j<*e;E8}{JvEArMCEs;0d61!XJRf@va4zfMy__ zz7WW6Bm2L`18xMr1L}wB-j~7uK&jHz$nnUgdmO<2>*oAqzZ-oD=ijU|p8rdFKiR1{ z3&^9f>2MUsfS=PtyJ-!$lrA>1exzM?jq4k`U*a1-8*u*CI?Q{uHQjvg>>QQiG$33J zhrTVY@qWFh)2;`ND&Lot*X@zrFUt1=Isa0f<@Gp$@2D4)pHd2ShrvYQaoDm-2MZ*UOln=9kPhb5^u| zg)zTyl!pP$$&bwqdN;g34?-PKpB!A&?bgJow2+S;TjH;mb-uDiop$5J2N?TB(Eal0 zeLPmL|89QJXW>8C1M5%!pCI4%0Fm9VBfD%)Hxf_~LD2U>e^ zD&U>zzjxx+d)oDr_trrkt{{zOzLMn7w`#&sJqB!9GHtN!@T*=9bwKTMp!HK5`8-pp z(Yn|UyHCp3>LBm#CXHskLOc67ck*4Da8#E8?X~C26R!3STn0iNPq$Jh(lfs;eE1@pLmTm@P|co83|4WvQ0SdAZVd8F^y% zOYLGmwVs9Udwz?i>0GVv@9}5SI16|?MPn#d9Z9LRBOTgX-_`?Ke--M0+IgR@qS#j!L)9s7Sid{@EGa&0BsYq4+;LdFY7^o{0t~>W6=2E55fO{FAKpP z9v5oUe=6I~pTeHLGu&9evBwZL^}jX5_wA%*I*7_e{*n{UriB6R8?dU`%{^j_Ek!)YF#rR1F4!-s@5y(y z``!aIM=jI=L+9W(@V5ns>3;NH)%m40!msKezRhF5HKz1-yS0b|6q^v7G6t0QG3<(8 z^8{+CeOfQ|k><%w@LZ~xct7r1;380MS+uXfZ@~=B<-?8YsgxD#AWjhsXz!V>#nD^= z*{9S;?FH2?ul4f$zrfYOfOWj=>64w?m+69A&VL;I8&p%C=Xib-*aVpINV(w%42XfQ zt8&&5tISRUKLVjG(7)bl-Oh2E&ui9Sp;PTI-Isx$i=(jt|E}1DGITkp%P*}2HpqUJU(mJ8El@1>jDEw1}IDMvb`a{PX^U&*H&7ulF$1F@{5Oj zy07`wUj>z}BOm0MX8?^eM){?2-f#p4hRZ+??MU~%5nr~pa^>xQ+@yY_`S-QRJI3pn zc=i6}i_LeMW$S+hREmQqc-94AC%10x?rYBhsGK;t{;xTK)D&PdqG(} z&|bEbL)8Okfu$<4(-dwWv_3iIV@9bP3#@44kRz_Ks2Cdap z{kn74qJ0e4U8;LXLpTBh)nF2undO+{WqreZq-$6Nbv|Mp(9PNBi$j&cW=YWSm zInto<)|8C!W`Iadtfd6lfXRC1*B8u(3Mih`6B83 z98mg=JQ7y&`QNy+f$Z+3e75ElXdRaN_HP4G-P5i)h9De)fm&yvZHa8*SzU2^-D^(F zTyPbTy-;Pnl)6)@xYUn7zPrWF>%(v8mTO_`9S7kr)q7v#_K$<_f)9Xg+OyvRH+u(m zvY&G}0t5BP0Oi@(rR6%vZnYhdz5JU%V~Dk4E6_T=gZvsEZ%^l(PrF>%`W^$rsc%&G z$(E=7k>*qEOkZB#0W#0gT)i+~uO3T#NOOM-`0^cdRTs!+coH}$R;4xraT<7_1Y$##QPJbmRgr$W6mG?Z5 zoqaEG61Wny1KAH{10Rac4dx!TJ*1PH1Ln`DeQ)Q_=(oY5DVo=(xjoN=!NjRCLtQJo z{kOrV!E~^3=K^cL$M5Fl^UPq!PfM{5atwh1qYE*6fqt*LXqI$ObM5p_)_eC{@Kc~U z2C5VO0|uju{avHII!^`Bo?RN#zqg5f@15?`2UrjPS>RtFUtIs?ymb9Oa1&Srjt7$g zHjgQ5;70Lz{}5;jw*&?nf`N`iU0`&^jF>cUy z@pK=3a03H@fg%{_XjQvBtEX|@QeDCK&eT311!POu9qbEKKO6`2e*ZE!A1nsyS2Tfb zL8PPc}M_bg|)h+#FigH+*cIfTq6TIRx|#&LKeJk6xWCL_7x(Uq5@}(ZmVh&RK-bj)%wVnb$HS zniQTx!@R5jFJ#u$t+R8oVRkmWH#0}!`)8KPaYrnC*$8uP@5~q0P zM?a$Q9NMGcYzgdJ`prdSef)WoAIpH=Y@BgllmW})XS4n&yeWGw?u#-Yelq6w;RVEt z>ZqZH`wS{{|3KkhLkitLV7SY`g7*&;KHFws!TX0BK6ZfkW8rbdjk3@cfP(3B;TJ?V zBs{V3If)?i(-n}l^M&bLEW9b-H7-1+)45mK@HYv!^;2%Bf5#|1_h@oIZ4ILEK9`s) zvf=#9tz2W_Z*cQSy{}xXS;rPog;N`5GACw3tj~p$_;ppcn>spvO+37B?EW43hJ+uH zFWeUJ*9af8&g!Ok%+7Dhk6ue-Mz79S$++;Q%$RNC6saONM-;yI-u_gMn+=~6KOeCj zJ%4snJUsHd@HvS$Ulcx17bxLhi%!WCm4+z%t2yD(4;MZzb7piZ#}nP32yb#%x$rTW z({pZ%-g43XhFpJF_Sz`C*Pipl%yF0GhWoRbjQ1tOz2JqyU9^#tyx%8$oVy}7+@H;4 zyszl+IX2>g_q*^h_A=X%5qG^hF;4%?Q80X5f8leYD3bTD)2sXD3^{zw#Qj?;Iu6gz zh+gwEliAz4$?%M16!|XP*989lsC*R)_YoEf_YoEfA8FH7@cF)Ajf&06%t_yeX@9cT+D=xgr z-xj&K_ZJLz?UQBEecm(9dR%y~KOMQ_tj~qN5S{lP7e3aM-<$$$ugDFL7m%Fr+4lZC z8E7wa;eB82b8^F*?9c4~Io3PR#=m-5HpKeoSjUC;O`p5o-QG96$zI^YeeK|G^SwM< zd{?h7biWTTB!4#C<+qRD6=PTYXn5J`Yg{7S6+bo1niORI$>WYFyvfvi*=DMf$7TO& znojF*%ijJzTh+umxXUt`H!`D}qHyOK>-Z7>>%>cmt8Jt3-sGM3_iTTE-vVeZm{%y= zRWDKaYx(2%xA(~)M|Z(+8=cRd)vNPoV3a+1TE>bYqJQAc?pWqrxM!dh|!amps}&^apqa`;^BD+hzI8(ATEAB0&>L9LqLxBc?if6KVe!^`e)~)uW#>XUT%0F0ds@< zs6eiGTx>YY{!1jkj{u3}_Yq)r;`vDd<|V^(E8#xLOC+#Q@)8N`le|O%`y?;7nddDp z@kGWekwoU(%bK$6<$1jA2f9n<#Uu9qECYF@*G16-@s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/_static/language_data.js b/_static/language_data.js new file mode 100644 index 00000000..250f5665 --- /dev/null +++ b/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, is available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/_static/light-logo.svg b/_static/light-logo.svg new file mode 100644 index 00000000..b20cb67d --- /dev/null +++ b/_static/light-logo.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_static/minus.png b/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/_static/plus.png b/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/_static/pygments.css b/_static/pygments.css new file mode 100644 index 00000000..02b4b128 --- /dev/null +++ b/_static/pygments.css @@ -0,0 +1,258 @@ +.highlight pre { line-height: 125%; } +.highlight td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +.highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f8f8f8; } +.highlight .c { color: #8f5902; font-style: italic } /* Comment */ +.highlight .err { color: #a40000; border: 1px solid #ef2929 } /* Error */ +.highlight .g { color: #000000 } /* Generic */ +.highlight .k { color: #204a87; font-weight: bold } /* Keyword */ +.highlight .l { color: #000000 } /* Literal */ +.highlight .n { color: #000000 } /* Name */ +.highlight .o { color: #ce5c00; font-weight: bold } /* Operator */ +.highlight .x { color: #000000 } /* Other */ +.highlight .p { color: #000000; font-weight: bold } /* Punctuation */ +.highlight .ch { color: #8f5902; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #8f5902; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #8f5902; font-style: italic } /* Comment.Preproc */ +.highlight .cpf { color: #8f5902; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #8f5902; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #8f5902; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #a40000 } /* Generic.Deleted */ +.highlight .ge { color: #000000; font-style: italic } /* Generic.Emph */ +.highlight .ges { color: #000000; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #ef2929 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #000000; font-style: italic } /* Generic.Output */ +.highlight .gp { color: #8f5902 } /* Generic.Prompt */ +.highlight .gs { color: #000000; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #a40000; font-weight: bold } /* Generic.Traceback */ +.highlight .kc { color: #204a87; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #204a87; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #204a87; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #204a87; font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { color: #204a87; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #204a87; font-weight: bold } /* Keyword.Type */ +.highlight .ld { color: #000000 } /* Literal.Date */ +.highlight .m { color: #0000cf; font-weight: bold } /* Literal.Number */ +.highlight .s { color: #4e9a06 } /* Literal.String */ +.highlight .na { color: #c4a000 } /* Name.Attribute */ +.highlight .nb { color: #204a87 } /* Name.Builtin */ +.highlight .nc { color: #000000 } /* Name.Class */ +.highlight .no { color: #000000 } /* Name.Constant */ +.highlight .nd { color: #5c35cc; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #ce5c00 } /* Name.Entity */ +.highlight .ne { color: #cc0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #000000 } /* Name.Function */ +.highlight .nl { color: #f57900 } /* Name.Label */ +.highlight .nn { color: #000000 } /* Name.Namespace */ +.highlight .nx { color: #000000 } /* Name.Other */ +.highlight .py { color: #000000 } /* Name.Property */ +.highlight .nt { color: #204a87; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #000000 } /* Name.Variable */ +.highlight .ow { color: #204a87; font-weight: bold } /* Operator.Word */ +.highlight .pm { color: #000000; font-weight: bold } /* Punctuation.Marker */ +.highlight .w { color: #f8f8f8 } /* Text.Whitespace */ +.highlight .mb { color: #0000cf; font-weight: bold } /* Literal.Number.Bin */ +.highlight .mf { color: #0000cf; font-weight: bold } /* Literal.Number.Float */ +.highlight .mh { color: #0000cf; font-weight: bold } /* Literal.Number.Hex */ +.highlight .mi { color: #0000cf; font-weight: bold } /* Literal.Number.Integer */ +.highlight .mo { color: #0000cf; font-weight: bold } /* Literal.Number.Oct */ +.highlight .sa { color: #4e9a06 } /* Literal.String.Affix */ +.highlight .sb { color: #4e9a06 } /* Literal.String.Backtick */ +.highlight .sc { color: #4e9a06 } /* Literal.String.Char */ +.highlight .dl { color: #4e9a06 } /* Literal.String.Delimiter */ +.highlight .sd { color: #8f5902; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4e9a06 } /* Literal.String.Double */ +.highlight .se { color: #4e9a06 } /* Literal.String.Escape */ +.highlight .sh { color: #4e9a06 } /* Literal.String.Heredoc */ +.highlight .si { color: #4e9a06 } /* Literal.String.Interpol */ +.highlight .sx { color: #4e9a06 } /* Literal.String.Other */ +.highlight .sr { color: #4e9a06 } /* Literal.String.Regex */ +.highlight .s1 { color: #4e9a06 } /* Literal.String.Single */ +.highlight .ss { color: #4e9a06 } /* Literal.String.Symbol */ +.highlight .bp { color: #3465a4 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #000000 } /* Name.Function.Magic */ +.highlight .vc { color: #000000 } /* Name.Variable.Class */ +.highlight .vg { color: #000000 } /* Name.Variable.Global */ +.highlight .vi { color: #000000 } /* Name.Variable.Instance */ +.highlight .vm { color: #000000 } /* Name.Variable.Magic */ +.highlight .il { color: #0000cf; font-weight: bold } /* Literal.Number.Integer.Long */ +@media not print { +body[data-theme="dark"] .highlight pre { line-height: 125%; } +body[data-theme="dark"] .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body[data-theme="dark"] .highlight .hll { background-color: #404040 } +body[data-theme="dark"] .highlight { background: #202020; color: #d0d0d0 } +body[data-theme="dark"] .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body[data-theme="dark"] .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body[data-theme="dark"] .highlight .esc { color: #d0d0d0 } /* Escape */ +body[data-theme="dark"] .highlight .g { color: #d0d0d0 } /* Generic */ +body[data-theme="dark"] .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body[data-theme="dark"] .highlight .l { color: #d0d0d0 } /* Literal */ +body[data-theme="dark"] .highlight .n { color: #d0d0d0 } /* Name */ +body[data-theme="dark"] .highlight .o { color: #d0d0d0 } /* Operator */ +body[data-theme="dark"] .highlight .x { color: #d0d0d0 } /* Other */ +body[data-theme="dark"] .highlight .p { color: #d0d0d0 } /* Punctuation */ +body[data-theme="dark"] .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body[data-theme="dark"] .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body[data-theme="dark"] .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body[data-theme="dark"] .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body[data-theme="dark"] .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body[data-theme="dark"] .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body[data-theme="dark"] .highlight .gd { color: #ff3a3a } /* Generic.Deleted */ +body[data-theme="dark"] .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body[data-theme="dark"] .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body[data-theme="dark"] .highlight .gr { color: #ff3a3a } /* Generic.Error */ +body[data-theme="dark"] .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body[data-theme="dark"] .highlight .gi { color: #589819 } /* Generic.Inserted */ +body[data-theme="dark"] .highlight .go { color: #cccccc } /* Generic.Output */ +body[data-theme="dark"] .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body[data-theme="dark"] .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body[data-theme="dark"] .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body[data-theme="dark"] .highlight .gt { color: #ff3a3a } /* Generic.Traceback */ +body[data-theme="dark"] .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body[data-theme="dark"] .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body[data-theme="dark"] .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body[data-theme="dark"] .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body[data-theme="dark"] .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body[data-theme="dark"] .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body[data-theme="dark"] .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body[data-theme="dark"] .highlight .m { color: #51b2fd } /* Literal.Number */ +body[data-theme="dark"] .highlight .s { color: #ed9d13 } /* Literal.String */ +body[data-theme="dark"] .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body[data-theme="dark"] .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body[data-theme="dark"] .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body[data-theme="dark"] .highlight .no { color: #40ffff } /* Name.Constant */ +body[data-theme="dark"] .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body[data-theme="dark"] .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body[data-theme="dark"] .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body[data-theme="dark"] .highlight .nf { color: #71adff } /* Name.Function */ +body[data-theme="dark"] .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body[data-theme="dark"] .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body[data-theme="dark"] .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body[data-theme="dark"] .highlight .py { color: #d0d0d0 } /* Name.Property */ +body[data-theme="dark"] .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body[data-theme="dark"] .highlight .nv { color: #40ffff } /* Name.Variable */ +body[data-theme="dark"] .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body[data-theme="dark"] .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body[data-theme="dark"] .highlight .w { color: #666666 } /* Text.Whitespace */ +body[data-theme="dark"] .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body[data-theme="dark"] .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body[data-theme="dark"] .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body[data-theme="dark"] .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body[data-theme="dark"] .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body[data-theme="dark"] .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body[data-theme="dark"] .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body[data-theme="dark"] .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body[data-theme="dark"] .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body[data-theme="dark"] .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body[data-theme="dark"] .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body[data-theme="dark"] .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body[data-theme="dark"] .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body[data-theme="dark"] .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body[data-theme="dark"] .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body[data-theme="dark"] .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body[data-theme="dark"] .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body[data-theme="dark"] .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body[data-theme="dark"] .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body[data-theme="dark"] .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body[data-theme="dark"] .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body[data-theme="dark"] .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body[data-theme="dark"] .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body[data-theme="dark"] .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body[data-theme="dark"] .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +@media (prefers-color-scheme: dark) { +body:not([data-theme="light"]) .highlight pre { line-height: 125%; } +body:not([data-theme="light"]) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +body:not([data-theme="light"]) .highlight .hll { background-color: #404040 } +body:not([data-theme="light"]) .highlight { background: #202020; color: #d0d0d0 } +body:not([data-theme="light"]) .highlight .c { color: #ababab; font-style: italic } /* Comment */ +body:not([data-theme="light"]) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +body:not([data-theme="light"]) .highlight .esc { color: #d0d0d0 } /* Escape */ +body:not([data-theme="light"]) .highlight .g { color: #d0d0d0 } /* Generic */ +body:not([data-theme="light"]) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */ +body:not([data-theme="light"]) .highlight .l { color: #d0d0d0 } /* Literal */ +body:not([data-theme="light"]) .highlight .n { color: #d0d0d0 } /* Name */ +body:not([data-theme="light"]) .highlight .o { color: #d0d0d0 } /* Operator */ +body:not([data-theme="light"]) .highlight .x { color: #d0d0d0 } /* Other */ +body:not([data-theme="light"]) .highlight .p { color: #d0d0d0 } /* Punctuation */ +body:not([data-theme="light"]) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */ +body:not([data-theme="light"]) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */ +body:not([data-theme="light"]) .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */ +body:not([data-theme="light"]) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */ +body:not([data-theme="light"]) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */ +body:not([data-theme="light"]) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */ +body:not([data-theme="light"]) .highlight .gd { color: #ff3a3a } /* Generic.Deleted */ +body:not([data-theme="light"]) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */ +body:not([data-theme="light"]) .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +body:not([data-theme="light"]) .highlight .gr { color: #ff3a3a } /* Generic.Error */ +body:not([data-theme="light"]) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */ +body:not([data-theme="light"]) .highlight .gi { color: #589819 } /* Generic.Inserted */ +body:not([data-theme="light"]) .highlight .go { color: #cccccc } /* Generic.Output */ +body:not([data-theme="light"]) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */ +body:not([data-theme="light"]) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */ +body:not([data-theme="light"]) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */ +body:not([data-theme="light"]) .highlight .gt { color: #ff3a3a } /* Generic.Traceback */ +body:not([data-theme="light"]) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */ +body:not([data-theme="light"]) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */ +body:not([data-theme="light"]) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */ +body:not([data-theme="light"]) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */ +body:not([data-theme="light"]) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */ +body:not([data-theme="light"]) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */ +body:not([data-theme="light"]) .highlight .ld { color: #d0d0d0 } /* Literal.Date */ +body:not([data-theme="light"]) .highlight .m { color: #51b2fd } /* Literal.Number */ +body:not([data-theme="light"]) .highlight .s { color: #ed9d13 } /* Literal.String */ +body:not([data-theme="light"]) .highlight .na { color: #bbbbbb } /* Name.Attribute */ +body:not([data-theme="light"]) .highlight .nb { color: #2fbccd } /* Name.Builtin */ +body:not([data-theme="light"]) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */ +body:not([data-theme="light"]) .highlight .no { color: #40ffff } /* Name.Constant */ +body:not([data-theme="light"]) .highlight .nd { color: #ffa500 } /* Name.Decorator */ +body:not([data-theme="light"]) .highlight .ni { color: #d0d0d0 } /* Name.Entity */ +body:not([data-theme="light"]) .highlight .ne { color: #bbbbbb } /* Name.Exception */ +body:not([data-theme="light"]) .highlight .nf { color: #71adff } /* Name.Function */ +body:not([data-theme="light"]) .highlight .nl { color: #d0d0d0 } /* Name.Label */ +body:not([data-theme="light"]) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */ +body:not([data-theme="light"]) .highlight .nx { color: #d0d0d0 } /* Name.Other */ +body:not([data-theme="light"]) .highlight .py { color: #d0d0d0 } /* Name.Property */ +body:not([data-theme="light"]) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */ +body:not([data-theme="light"]) .highlight .nv { color: #40ffff } /* Name.Variable */ +body:not([data-theme="light"]) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */ +body:not([data-theme="light"]) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */ +body:not([data-theme="light"]) .highlight .w { color: #666666 } /* Text.Whitespace */ +body:not([data-theme="light"]) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */ +body:not([data-theme="light"]) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */ +body:not([data-theme="light"]) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */ +body:not([data-theme="light"]) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */ +body:not([data-theme="light"]) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */ +body:not([data-theme="light"]) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */ +body:not([data-theme="light"]) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */ +body:not([data-theme="light"]) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */ +body:not([data-theme="light"]) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */ +body:not([data-theme="light"]) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */ +body:not([data-theme="light"]) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */ +body:not([data-theme="light"]) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */ +body:not([data-theme="light"]) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */ +body:not([data-theme="light"]) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */ +body:not([data-theme="light"]) .highlight .sx { color: #ffa500 } /* Literal.String.Other */ +body:not([data-theme="light"]) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */ +body:not([data-theme="light"]) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */ +body:not([data-theme="light"]) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */ +body:not([data-theme="light"]) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */ +body:not([data-theme="light"]) .highlight .fm { color: #71adff } /* Name.Function.Magic */ +body:not([data-theme="light"]) .highlight .vc { color: #40ffff } /* Name.Variable.Class */ +body:not([data-theme="light"]) .highlight .vg { color: #40ffff } /* Name.Variable.Global */ +body:not([data-theme="light"]) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */ +body:not([data-theme="light"]) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */ +body:not([data-theme="light"]) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */ +} +} \ No newline at end of file diff --git a/_static/scripts/furo-extensions.js b/_static/scripts/furo-extensions.js new file mode 100644 index 00000000..e69de29b diff --git a/_static/scripts/furo.js b/_static/scripts/furo.js new file mode 100644 index 00000000..0267c7e1 --- /dev/null +++ b/_static/scripts/furo.js @@ -0,0 +1,3 @@ +/*! For license information please see furo.js.LICENSE.txt */ +(()=>{var t={856:function(t,e,n){var o,r;r=void 0!==n.g?n.g:"undefined"!=typeof window?window:this,o=function(){return function(t){"use strict";var e={navClass:"active",contentClass:"active",nested:!1,nestedClass:"active",offset:0,reflow:!1,events:!0},n=function(t,e,n){if(n.settings.events){var o=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:n});e.dispatchEvent(o)}},o=function(t){var e=0;if(t.offsetParent)for(;t;)e+=t.offsetTop,t=t.offsetParent;return e>=0?e:0},r=function(t){t&&t.sort((function(t,e){return o(t.content)=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},l=function(t,e){var n=t[t.length-1];if(function(t,e){return!(!s()||!c(t.content,e,!0))}(n,e))return n;for(var o=t.length-1;o>=0;o--)if(c(t[o].content,e))return t[o]},a=function(t,e){if(e.nested&&t.parentNode){var n=t.parentNode.closest("li");n&&(n.classList.remove(e.nestedClass),a(n,e))}},i=function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.remove(e.navClass),t.content.classList.remove(e.contentClass),a(o,e),n("gumshoeDeactivate",o,{link:t.nav,content:t.content,settings:e}))}},u=function(t,e){if(e.nested){var n=t.parentNode.closest("li");n&&(n.classList.add(e.nestedClass),u(n,e))}};return function(o,c){var s,a,d,f,m,v={setup:function(){s=document.querySelectorAll(o),a=[],Array.prototype.forEach.call(s,(function(t){var e=document.getElementById(decodeURIComponent(t.hash.substr(1)));e&&a.push({nav:t,content:e})})),r(a)},detect:function(){var t=l(a,m);t?d&&t.content===d.content||(i(d,m),function(t,e){if(t){var o=t.nav.closest("li");o&&(o.classList.add(e.navClass),t.content.classList.add(e.contentClass),u(o,e),n("gumshoeActivate",o,{link:t.nav,content:t.content,settings:e}))}}(t,m),d=t):d&&(i(d,m),d=null)}},h=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame(v.detect)},g=function(e){f&&t.cancelAnimationFrame(f),f=t.requestAnimationFrame((function(){r(a),v.detect()}))};return v.destroy=function(){d&&i(d,m),t.removeEventListener("scroll",h,!1),m.reflow&&t.removeEventListener("resize",g,!1),a=null,s=null,d=null,f=null,m=null},m=function(){var t={};return Array.prototype.forEach.call(arguments,(function(e){for(var n in e){if(!e.hasOwnProperty(n))return;t[n]=e[n]}})),t}(e,c||{}),v.setup(),v.detect(),t.addEventListener("scroll",h,!1),m.reflow&&t.addEventListener("resize",g,!1),v}}(r)}.apply(e,[]),void 0===o||(t.exports=o)}},e={};function n(o){var r=e[o];if(void 0!==r)return r.exports;var c=e[o]={exports:{}};return t[o].call(c.exports,c,c.exports,n),c.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{"use strict";var t=n(856),e=n.n(t),o=null,r=null,c=window.pageYOffset||document.documentElement.scrollTop;const s=64;function l(){const t=localStorage.getItem("theme")||"auto";var e;"light"!==(e=window.matchMedia("(prefers-color-scheme: dark)").matches?"auto"===t?"light":"light"==t?"dark":"auto":"auto"===t?"dark":"dark"==t?"light":"auto")&&"dark"!==e&&"auto"!==e&&(console.error(`Got invalid theme mode: ${e}. Resetting to auto.`),e="auto"),document.body.dataset.theme=e,localStorage.setItem("theme",e),console.log(`Changed to ${e} mode.`)}function a(){!function(){const t=document.getElementsByClassName("theme-toggle");Array.from(t).forEach((t=>{t.addEventListener("click",l)}))}(),function(){let t=0,e=!1;window.addEventListener("scroll",(function(n){t=window.scrollY,e||(window.requestAnimationFrame((function(){var n;n=t,0==Math.floor(r.getBoundingClientRect().top)?r.classList.add("scrolled"):r.classList.remove("scrolled"),function(t){tc&&document.documentElement.classList.remove("show-back-to-top"),c=t}(n),function(t){null!==o&&(0==t?o.scrollTo(0,0):Math.ceil(t)>=Math.floor(document.documentElement.scrollHeight-window.innerHeight)?o.scrollTo(0,o.scrollHeight):document.querySelector(".scroll-current"))}(n),e=!1})),e=!0)})),window.scroll()}(),null!==o&&new(e())(".toc-tree a",{reflow:!0,recursive:!0,navClass:"scroll-current",offset:()=>{let t=parseFloat(getComputedStyle(document.documentElement).fontSize);return r.getBoundingClientRect().height+2.5*t+1}})}document.addEventListener("DOMContentLoaded",(function(){document.body.parentNode.classList.remove("no-js"),r=document.querySelector("header"),o=document.querySelector(".toc-scroll"),a()}))})()})(); +//# sourceMappingURL=furo.js.map \ No newline at end of file diff --git a/_static/scripts/furo.js.LICENSE.txt b/_static/scripts/furo.js.LICENSE.txt new file mode 100644 index 00000000..1632189c --- /dev/null +++ b/_static/scripts/furo.js.LICENSE.txt @@ -0,0 +1,7 @@ +/*! + * gumshoejs v5.1.2 (patched by @pradyunsg) + * A simple, framework-agnostic scrollspy script. + * (c) 2019 Chris Ferdinandi + * MIT License + * http://github.com/cferdinandi/gumshoe + */ diff --git a/_static/scripts/furo.js.map b/_static/scripts/furo.js.map new file mode 100644 index 00000000..c3b37aaa --- /dev/null +++ b/_static/scripts/furo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts/furo.js","mappings":"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","sources":["webpack:///./src/furo/assets/scripts/gumshoe-patched.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///./src/furo/assets/scripts/furo.js"],"sourcesContent":["/*!\n * gumshoejs v5.1.2 (patched by @pradyunsg)\n * A simple, framework-agnostic scrollspy script.\n * (c) 2019 Chris Ferdinandi\n * MIT License\n * http://github.com/cferdinandi/gumshoe\n */\n\n(function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof exports === \"object\") {\n module.exports = factory(root);\n } else {\n root.Gumshoe = factory(root);\n }\n})(\n typeof global !== \"undefined\"\n ? global\n : typeof window !== \"undefined\"\n ? window\n : this,\n function (window) {\n \"use strict\";\n\n //\n // Defaults\n //\n\n var defaults = {\n // Active classes\n navClass: \"active\",\n contentClass: \"active\",\n\n // Nested navigation\n nested: false,\n nestedClass: \"active\",\n\n // Offset & reflow\n offset: 0,\n reflow: false,\n\n // Event support\n events: true,\n };\n\n //\n // Methods\n //\n\n /**\n * Merge two or more objects together.\n * @param {Object} objects The objects to merge together\n * @returns {Object} Merged values of defaults and options\n */\n var extend = function () {\n var merged = {};\n Array.prototype.forEach.call(arguments, function (obj) {\n for (var key in obj) {\n if (!obj.hasOwnProperty(key)) return;\n merged[key] = obj[key];\n }\n });\n return merged;\n };\n\n /**\n * Emit a custom event\n * @param {String} type The event type\n * @param {Node} elem The element to attach the event to\n * @param {Object} detail Any details to pass along with the event\n */\n var emitEvent = function (type, elem, detail) {\n // Make sure events are enabled\n if (!detail.settings.events) return;\n\n // Create a new event\n var event = new CustomEvent(type, {\n bubbles: true,\n cancelable: true,\n detail: detail,\n });\n\n // Dispatch the event\n elem.dispatchEvent(event);\n };\n\n /**\n * Get an element's distance from the top of the Document.\n * @param {Node} elem The element\n * @return {Number} Distance from the top in pixels\n */\n var getOffsetTop = function (elem) {\n var location = 0;\n if (elem.offsetParent) {\n while (elem) {\n location += elem.offsetTop;\n elem = elem.offsetParent;\n }\n }\n return location >= 0 ? location : 0;\n };\n\n /**\n * Sort content from first to last in the DOM\n * @param {Array} contents The content areas\n */\n var sortContents = function (contents) {\n if (contents) {\n contents.sort(function (item1, item2) {\n var offset1 = getOffsetTop(item1.content);\n var offset2 = getOffsetTop(item2.content);\n if (offset1 < offset2) return -1;\n return 1;\n });\n }\n };\n\n /**\n * Get the offset to use for calculating position\n * @param {Object} settings The settings for this instantiation\n * @return {Float} The number of pixels to offset the calculations\n */\n var getOffset = function (settings) {\n // if the offset is a function run it\n if (typeof settings.offset === \"function\") {\n return parseFloat(settings.offset());\n }\n\n // Otherwise, return it as-is\n return parseFloat(settings.offset);\n };\n\n /**\n * Get the document element's height\n * @private\n * @returns {Number}\n */\n var getDocumentHeight = function () {\n return Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.offsetHeight,\n document.body.clientHeight,\n document.documentElement.clientHeight,\n );\n };\n\n /**\n * Determine if an element is in view\n * @param {Node} elem The element\n * @param {Object} settings The settings for this instantiation\n * @param {Boolean} bottom If true, check if element is above bottom of viewport instead\n * @return {Boolean} Returns true if element is in the viewport\n */\n var isInView = function (elem, settings, bottom) {\n var bounds = elem.getBoundingClientRect();\n var offset = getOffset(settings);\n if (bottom) {\n return (\n parseInt(bounds.bottom, 10) <\n (window.innerHeight || document.documentElement.clientHeight)\n );\n }\n return parseInt(bounds.top, 10) <= offset;\n };\n\n /**\n * Check if at the bottom of the viewport\n * @return {Boolean} If true, page is at the bottom of the viewport\n */\n var isAtBottom = function () {\n if (\n Math.ceil(window.innerHeight + window.pageYOffset) >=\n getDocumentHeight()\n )\n return true;\n return false;\n };\n\n /**\n * Check if the last item should be used (even if not at the top of the page)\n * @param {Object} item The last item\n * @param {Object} settings The settings for this instantiation\n * @return {Boolean} If true, use the last item\n */\n var useLastItem = function (item, settings) {\n if (isAtBottom() && isInView(item.content, settings, true)) return true;\n return false;\n };\n\n /**\n * Get the active content\n * @param {Array} contents The content areas\n * @param {Object} settings The settings for this instantiation\n * @return {Object} The content area and matching navigation link\n */\n var getActive = function (contents, settings) {\n var last = contents[contents.length - 1];\n if (useLastItem(last, settings)) return last;\n for (var i = contents.length - 1; i >= 0; i--) {\n if (isInView(contents[i].content, settings)) return contents[i];\n }\n };\n\n /**\n * Deactivate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var deactivateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested || !nav.parentNode) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Remove the active class\n li.classList.remove(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n deactivateNested(li, settings);\n };\n\n /**\n * Deactivate a nav and content area\n * @param {Object} items The nav item and content to deactivate\n * @param {Object} settings The settings for this instantiation\n */\n var deactivate = function (items, settings) {\n // Make sure there are items to deactivate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Remove the active class from the nav and content\n li.classList.remove(settings.navClass);\n items.content.classList.remove(settings.contentClass);\n\n // Deactivate any parent navs in a nested navigation\n deactivateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeDeactivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Activate parent navs in a nested navigation\n * @param {Node} nav The starting navigation element\n * @param {Object} settings The settings for this instantiation\n */\n var activateNested = function (nav, settings) {\n // If nesting isn't activated, bail\n if (!settings.nested) return;\n\n // Get the parent navigation\n var li = nav.parentNode.closest(\"li\");\n if (!li) return;\n\n // Add the active class\n li.classList.add(settings.nestedClass);\n\n // Apply recursively to any parent navigation elements\n activateNested(li, settings);\n };\n\n /**\n * Activate a nav and content area\n * @param {Object} items The nav item and content to activate\n * @param {Object} settings The settings for this instantiation\n */\n var activate = function (items, settings) {\n // Make sure there are items to activate\n if (!items) return;\n\n // Get the parent list item\n var li = items.nav.closest(\"li\");\n if (!li) return;\n\n // Add the active class to the nav and content\n li.classList.add(settings.navClass);\n items.content.classList.add(settings.contentClass);\n\n // Activate any parent navs in a nested navigation\n activateNested(li, settings);\n\n // Emit a custom event\n emitEvent(\"gumshoeActivate\", li, {\n link: items.nav,\n content: items.content,\n settings: settings,\n });\n };\n\n /**\n * Create the Constructor object\n * @param {String} selector The selector to use for navigation items\n * @param {Object} options User options and settings\n */\n var Constructor = function (selector, options) {\n //\n // Variables\n //\n\n var publicAPIs = {};\n var navItems, contents, current, timeout, settings;\n\n //\n // Methods\n //\n\n /**\n * Set variables from DOM elements\n */\n publicAPIs.setup = function () {\n // Get all nav items\n navItems = document.querySelectorAll(selector);\n\n // Create contents array\n contents = [];\n\n // Loop through each item, get it's matching content, and push to the array\n Array.prototype.forEach.call(navItems, function (item) {\n // Get the content for the nav item\n var content = document.getElementById(\n decodeURIComponent(item.hash.substr(1)),\n );\n if (!content) return;\n\n // Push to the contents array\n contents.push({\n nav: item,\n content: content,\n });\n });\n\n // Sort contents by the order they appear in the DOM\n sortContents(contents);\n };\n\n /**\n * Detect which content is currently active\n */\n publicAPIs.detect = function () {\n // Get the active content\n var active = getActive(contents, settings);\n\n // if there's no active content, deactivate and bail\n if (!active) {\n if (current) {\n deactivate(current, settings);\n current = null;\n }\n return;\n }\n\n // If the active content is the one currently active, do nothing\n if (current && active.content === current.content) return;\n\n // Deactivate the current content and activate the new content\n deactivate(current, settings);\n activate(active, settings);\n\n // Update the currently active content\n current = active;\n };\n\n /**\n * Detect the active content on scroll\n * Debounced for performance\n */\n var scrollHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(publicAPIs.detect);\n };\n\n /**\n * Update content sorting on resize\n * Debounced for performance\n */\n var resizeHandler = function (event) {\n // If there's a timer, cancel it\n if (timeout) {\n window.cancelAnimationFrame(timeout);\n }\n\n // Setup debounce callback\n timeout = window.requestAnimationFrame(function () {\n sortContents(contents);\n publicAPIs.detect();\n });\n };\n\n /**\n * Destroy the current instantiation\n */\n publicAPIs.destroy = function () {\n // Undo DOM changes\n if (current) {\n deactivate(current, settings);\n }\n\n // Remove event listeners\n window.removeEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.removeEventListener(\"resize\", resizeHandler, false);\n }\n\n // Reset variables\n contents = null;\n navItems = null;\n current = null;\n timeout = null;\n settings = null;\n };\n\n /**\n * Initialize the current instantiation\n */\n var init = function () {\n // Merge user options into defaults\n settings = extend(defaults, options || {});\n\n // Setup variables based on the current DOM\n publicAPIs.setup();\n\n // Find the currently active content\n publicAPIs.detect();\n\n // Setup event listeners\n window.addEventListener(\"scroll\", scrollHandler, false);\n if (settings.reflow) {\n window.addEventListener(\"resize\", resizeHandler, false);\n }\n };\n\n //\n // Initialize and return the public APIs\n //\n\n init();\n return publicAPIs;\n };\n\n //\n // Return the Constructor\n //\n\n return Constructor;\n },\n);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import Gumshoe from \"./gumshoe-patched.js\";\n\n////////////////////////////////////////////////////////////////////////////////\n// Scroll Handling\n////////////////////////////////////////////////////////////////////////////////\nvar tocScroll = null;\nvar header = null;\nvar lastScrollTop = window.pageYOffset || document.documentElement.scrollTop;\nconst GO_TO_TOP_OFFSET = 64;\n\nfunction scrollHandlerForHeader() {\n if (Math.floor(header.getBoundingClientRect().top) == 0) {\n header.classList.add(\"scrolled\");\n } else {\n header.classList.remove(\"scrolled\");\n }\n}\n\nfunction scrollHandlerForBackToTop(positionY) {\n if (positionY < GO_TO_TOP_OFFSET) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n } else {\n if (positionY < lastScrollTop) {\n document.documentElement.classList.add(\"show-back-to-top\");\n } else if (positionY > lastScrollTop) {\n document.documentElement.classList.remove(\"show-back-to-top\");\n }\n }\n lastScrollTop = positionY;\n}\n\nfunction scrollHandlerForTOC(positionY) {\n if (tocScroll === null) {\n return;\n }\n\n // top of page.\n if (positionY == 0) {\n tocScroll.scrollTo(0, 0);\n } else if (\n // bottom of page.\n Math.ceil(positionY) >=\n Math.floor(document.documentElement.scrollHeight - window.innerHeight)\n ) {\n tocScroll.scrollTo(0, tocScroll.scrollHeight);\n } else {\n // somewhere in the middle.\n const current = document.querySelector(\".scroll-current\");\n if (current == null) {\n return;\n }\n\n // https://github.com/pypa/pip/issues/9159 This breaks scroll behaviours.\n // // scroll the currently \"active\" heading in toc, into view.\n // const rect = current.getBoundingClientRect();\n // if (0 > rect.top) {\n // current.scrollIntoView(true); // the argument is \"alignTop\"\n // } else if (rect.bottom > window.innerHeight) {\n // current.scrollIntoView(false);\n // }\n }\n}\n\nfunction scrollHandler(positionY) {\n scrollHandlerForHeader();\n scrollHandlerForBackToTop(positionY);\n scrollHandlerForTOC(positionY);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Theme Toggle\n////////////////////////////////////////////////////////////////////////////////\nfunction setTheme(mode) {\n if (mode !== \"light\" && mode !== \"dark\" && mode !== \"auto\") {\n console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`);\n mode = \"auto\";\n }\n\n document.body.dataset.theme = mode;\n localStorage.setItem(\"theme\", mode);\n console.log(`Changed to ${mode} mode.`);\n}\n\nfunction cycleThemeOnce() {\n const currentTheme = localStorage.getItem(\"theme\") || \"auto\";\n const prefersDark = window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n\n if (prefersDark) {\n // Auto (dark) -> Light -> Dark\n if (currentTheme === \"auto\") {\n setTheme(\"light\");\n } else if (currentTheme == \"light\") {\n setTheme(\"dark\");\n } else {\n setTheme(\"auto\");\n }\n } else {\n // Auto (light) -> Dark -> Light\n if (currentTheme === \"auto\") {\n setTheme(\"dark\");\n } else if (currentTheme == \"dark\") {\n setTheme(\"light\");\n } else {\n setTheme(\"auto\");\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Setup\n////////////////////////////////////////////////////////////////////////////////\nfunction setupScrollHandler() {\n // Taken from https://developer.mozilla.org/en-US/docs/Web/API/Document/scroll_event\n let last_known_scroll_position = 0;\n let ticking = false;\n\n window.addEventListener(\"scroll\", function (e) {\n last_known_scroll_position = window.scrollY;\n\n if (!ticking) {\n window.requestAnimationFrame(function () {\n scrollHandler(last_known_scroll_position);\n ticking = false;\n });\n\n ticking = true;\n }\n });\n window.scroll();\n}\n\nfunction setupScrollSpy() {\n if (tocScroll === null) {\n return;\n }\n\n // Scrollspy -- highlight table on contents, based on scroll\n new Gumshoe(\".toc-tree a\", {\n reflow: true,\n recursive: true,\n navClass: \"scroll-current\",\n offset: () => {\n let rem = parseFloat(getComputedStyle(document.documentElement).fontSize);\n return header.getBoundingClientRect().height + 2.5 * rem + 1;\n },\n });\n}\n\nfunction setupTheme() {\n // Attach event handlers for toggling themes\n const buttons = document.getElementsByClassName(\"theme-toggle\");\n Array.from(buttons).forEach((btn) => {\n btn.addEventListener(\"click\", cycleThemeOnce);\n });\n}\n\nfunction setup() {\n setupTheme();\n setupScrollHandler();\n setupScrollSpy();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Main entrypoint\n////////////////////////////////////////////////////////////////////////////////\nfunction main() {\n document.body.parentNode.classList.remove(\"no-js\");\n\n header = document.querySelector(\"header\");\n tocScroll = document.querySelector(\".toc-scroll\");\n\n setup();\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", main);\n"],"names":["root","g","window","this","defaults","navClass","contentClass","nested","nestedClass","offset","reflow","events","emitEvent","type","elem","detail","settings","event","CustomEvent","bubbles","cancelable","dispatchEvent","getOffsetTop","location","offsetParent","offsetTop","sortContents","contents","sort","item1","item2","content","isInView","bottom","bounds","getBoundingClientRect","parseFloat","getOffset","parseInt","innerHeight","document","documentElement","clientHeight","top","isAtBottom","Math","ceil","pageYOffset","max","body","scrollHeight","offsetHeight","getActive","last","length","item","useLastItem","i","deactivateNested","nav","parentNode","li","closest","classList","remove","deactivate","items","link","activateNested","add","selector","options","navItems","current","timeout","publicAPIs","querySelectorAll","Array","prototype","forEach","call","getElementById","decodeURIComponent","hash","substr","push","active","activate","scrollHandler","cancelAnimationFrame","requestAnimationFrame","detect","resizeHandler","destroy","removeEventListener","merged","arguments","obj","key","hasOwnProperty","extend","setup","addEventListener","factory","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","n","getter","__esModule","d","a","definition","o","Object","defineProperty","enumerable","get","globalThis","Function","e","prop","tocScroll","header","lastScrollTop","scrollTop","GO_TO_TOP_OFFSET","cycleThemeOnce","currentTheme","localStorage","getItem","mode","matchMedia","matches","console","error","dataset","theme","setItem","log","buttons","getElementsByClassName","from","btn","setupTheme","last_known_scroll_position","ticking","scrollY","positionY","floor","scrollHandlerForBackToTop","scrollTo","querySelector","scrollHandlerForTOC","scroll","setupScrollHandler","recursive","rem","getComputedStyle","fontSize","height"],"sourceRoot":""} \ No newline at end of file diff --git a/_static/searchtools.js b/_static/searchtools.js new file mode 100644 index 00000000..7918c3fa --- /dev/null +++ b/_static/searchtools.js @@ -0,0 +1,574 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/_static/skeleton.css b/_static/skeleton.css new file mode 100644 index 00000000..467c878c --- /dev/null +++ b/_static/skeleton.css @@ -0,0 +1,296 @@ +/* Some sane resets. */ +html { + height: 100%; +} + +body { + margin: 0; + min-height: 100%; +} + +/* All the flexbox magic! */ +body, +.sb-announcement, +.sb-content, +.sb-main, +.sb-container, +.sb-container__inner, +.sb-article-container, +.sb-footer-content, +.sb-header, +.sb-header-secondary, +.sb-footer { + display: flex; +} + +/* These order things vertically */ +body, +.sb-main, +.sb-article-container { + flex-direction: column; +} + +/* Put elements in the center */ +.sb-header, +.sb-header-secondary, +.sb-container, +.sb-content, +.sb-footer, +.sb-footer-content { + justify-content: center; +} +/* Put elements at the ends */ +.sb-article-container { + justify-content: space-between; +} + +/* These elements grow. */ +.sb-main, +.sb-content, +.sb-container, +article { + flex-grow: 1; +} + +/* Because padding making this wider is not fun */ +article { + box-sizing: border-box; +} + +/* The announcements element should never be wider than the page. */ +.sb-announcement { + max-width: 100%; +} + +.sb-sidebar-primary, +.sb-sidebar-secondary { + flex-shrink: 0; + width: 17rem; +} + +.sb-announcement__inner { + justify-content: center; + + box-sizing: border-box; + height: 3rem; + + overflow-x: auto; + white-space: nowrap; +} + +/* Sidebars, with checkbox-based toggle */ +.sb-sidebar-primary, +.sb-sidebar-secondary { + position: fixed; + height: 100%; + top: 0; +} + +.sb-sidebar-primary { + left: -17rem; + transition: left 250ms ease-in-out; +} +.sb-sidebar-secondary { + right: -17rem; + transition: right 250ms ease-in-out; +} + +.sb-sidebar-toggle { + display: none; +} +.sb-sidebar-overlay { + position: fixed; + top: 0; + width: 0; + height: 0; + + transition: width 0ms ease 250ms, height 0ms ease 250ms, opacity 250ms ease; + + opacity: 0; + background-color: rgba(0, 0, 0, 0.54); +} + +#sb-sidebar-toggle--primary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--primary"], +#sb-sidebar-toggle--secondary:checked + ~ .sb-sidebar-overlay[for="sb-sidebar-toggle--secondary"] { + width: 100%; + height: 100%; + opacity: 1; + transition: width 0ms ease, height 0ms ease, opacity 250ms ease; +} + +#sb-sidebar-toggle--primary:checked ~ .sb-container .sb-sidebar-primary { + left: 0; +} +#sb-sidebar-toggle--secondary:checked ~ .sb-container .sb-sidebar-secondary { + right: 0; +} + +/* Full-width mode */ +.drop-secondary-sidebar-for-full-width-content + .hide-when-secondary-sidebar-shown { + display: none !important; +} +.drop-secondary-sidebar-for-full-width-content .sb-sidebar-secondary { + display: none !important; +} + +/* Mobile views */ +.sb-page-width { + width: 100%; +} + +.sb-article-container, +.sb-footer-content__inner, +.drop-secondary-sidebar-for-full-width-content .sb-article, +.drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 100vw; +} + +.sb-article, +.match-content-width { + padding: 0 1rem; + box-sizing: border-box; +} + +@media (min-width: 32rem) { + .sb-article, + .match-content-width { + padding: 0 2rem; + } +} + +/* Tablet views */ +@media (min-width: 42rem) { + .sb-article-container { + width: auto; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 42rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 46rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 46rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 50rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 50rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Tablet views */ +@media (min-width: 59rem) { + .sb-sidebar-secondary { + position: static; + } + .hide-when-secondary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} +@media (min-width: 63rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } + .sb-article, + .match-content-width { + width: 46rem; + } +} +@media (min-width: 67rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-article, + .match-content-width { + width: 50rem; + } +} + +/* Desktop views */ +@media (min-width: 76rem) { + .sb-sidebar-primary { + position: static; + } + .hide-when-primary-sidebar-shown { + display: none !important; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 59rem; + } + .sb-article, + .match-content-width { + width: 42rem; + } +} + +/* Full desktop views */ +@media (min-width: 80rem) { + .sb-article, + .match-content-width { + width: 46rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 63rem; + } +} + +@media (min-width: 84rem) { + .sb-article, + .match-content-width { + width: 50rem; + } + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } +} + +@media (min-width: 88rem) { + .sb-footer-content__inner, + .drop-secondary-sidebar-for-full-width-content .sb-article, + .drop-secondary-sidebar-for-full-width-content .match-content-width { + width: 67rem; + } + .sb-page-width { + width: 88rem; + } +} diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js new file mode 100644 index 00000000..8a96c69a --- /dev/null +++ b/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/_static/styles/furo-extensions.css b/_static/styles/furo-extensions.css new file mode 100644 index 00000000..bc447f22 --- /dev/null +++ b/_static/styles/furo-extensions.css @@ -0,0 +1,2 @@ +#furo-sidebar-ad-placement{padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)}#furo-sidebar-ad-placement .ethical-sidebar{background:var(--color-background-secondary);border:none;box-shadow:none}#furo-sidebar-ad-placement .ethical-sidebar:hover{background:var(--color-background-hover)}#furo-sidebar-ad-placement .ethical-sidebar a{color:var(--color-foreground-primary)}#furo-sidebar-ad-placement .ethical-callout a{color:var(--color-foreground-secondary)!important}#furo-readthedocs-versions{background:transparent;display:block;position:static;width:100%}#furo-readthedocs-versions .rst-versions{background:#1a1c1e}#furo-readthedocs-versions .rst-current-version{background:var(--color-sidebar-item-background);cursor:unset}#furo-readthedocs-versions .rst-current-version:hover{background:var(--color-sidebar-item-background)}#furo-readthedocs-versions .rst-current-version .fa-book{color:var(--color-foreground-primary)}#furo-readthedocs-versions>.rst-other-versions{padding:0}#furo-readthedocs-versions>.rst-other-versions small{opacity:1}#furo-readthedocs-versions .injected .rst-versions{position:unset}#furo-readthedocs-versions:focus-within,#furo-readthedocs-versions:hover{box-shadow:0 0 0 1px var(--color-sidebar-background-border)}#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:hover .rst-current-version{background:#1a1c1e;font-size:inherit;height:auto;line-height:inherit;padding:12px;text-align:right}#furo-readthedocs-versions:focus-within .rst-current-version .fa-book,#furo-readthedocs-versions:hover .rst-current-version .fa-book{color:#fff;float:left}#furo-readthedocs-versions:focus-within .fa-caret-down,#furo-readthedocs-versions:hover .fa-caret-down{display:none}#furo-readthedocs-versions:focus-within .injected,#furo-readthedocs-versions:focus-within .rst-current-version,#furo-readthedocs-versions:focus-within .rst-other-versions,#furo-readthedocs-versions:hover .injected,#furo-readthedocs-versions:hover .rst-current-version,#furo-readthedocs-versions:hover .rst-other-versions{display:block}#furo-readthedocs-versions:focus-within>.rst-current-version,#furo-readthedocs-versions:hover>.rst-current-version{display:none}.highlight:hover button.copybtn{color:var(--color-code-foreground)}.highlight button.copybtn{align-items:center;background-color:var(--color-code-background);border:none;color:var(--color-background-item);cursor:pointer;height:1.25em;opacity:1;right:.5rem;top:.625rem;transition:color .3s,opacity .3s;width:1.25em}.highlight button.copybtn:hover{background-color:var(--color-code-background);color:var(--color-brand-content)}.highlight button.copybtn:after{background-color:transparent;color:var(--color-code-foreground);display:none}.highlight button.copybtn.success{color:#22863a;transition:color 0ms}.highlight button.copybtn.success:after{display:block}.highlight button.copybtn svg{padding:0}body{--sd-color-primary:var(--color-brand-primary);--sd-color-primary-highlight:var(--color-brand-content);--sd-color-primary-text:var(--color-background-primary);--sd-color-shadow:rgba(0,0,0,.05);--sd-color-card-border:var(--color-card-border);--sd-color-card-border-hover:var(--color-brand-content);--sd-color-card-background:var(--color-card-background);--sd-color-card-text:var(--color-foreground-primary);--sd-color-card-header:var(--color-card-marginals-background);--sd-color-card-footer:var(--color-card-marginals-background);--sd-color-tabs-label-active:var(--color-brand-content);--sd-color-tabs-label-hover:var(--color-foreground-muted);--sd-color-tabs-label-inactive:var(--color-foreground-muted);--sd-color-tabs-underline-active:var(--color-brand-content);--sd-color-tabs-underline-hover:var(--color-foreground-border);--sd-color-tabs-underline-inactive:var(--color-background-border);--sd-color-tabs-overline:var(--color-background-border);--sd-color-tabs-underline:var(--color-background-border)}.sd-tab-content{box-shadow:0 -2px var(--sd-color-tabs-overline),0 1px var(--sd-color-tabs-underline)}.sd-card{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)}.sd-shadow-sm{box-shadow:0 .1rem .25rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-md{box-shadow:0 .3rem .75rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-shadow-lg{box-shadow:0 .6rem 1.5rem var(--sd-color-shadow),0 0 .0625rem rgba(0,0,0,.1)!important}.sd-card-hover:hover{transform:none}.sd-cards-carousel{gap:.25rem;padding:.25rem}body{--tabs--label-text:var(--color-foreground-muted);--tabs--label-text--hover:var(--color-foreground-muted);--tabs--label-text--active:var(--color-brand-content);--tabs--label-text--active--hover:var(--color-brand-content);--tabs--label-background:transparent;--tabs--label-background--hover:transparent;--tabs--label-background--active:transparent;--tabs--label-background--active--hover:transparent;--tabs--padding-x:0.25em;--tabs--margin-x:1em;--tabs--border:var(--color-background-border);--tabs--label-border:transparent;--tabs--label-border--hover:var(--color-foreground-muted);--tabs--label-border--active:var(--color-brand-content);--tabs--label-border--active--hover:var(--color-brand-content)}[role=main] .container{max-width:none;padding-left:0;padding-right:0}.shadow.docutils{border:none;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)!important}.sphinx-bs .card{background-color:var(--color-background-secondary);color:var(--color-foreground)} +/*# sourceMappingURL=furo-extensions.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo-extensions.css.map b/_static/styles/furo-extensions.css.map new file mode 100644 index 00000000..9ba5637f --- /dev/null +++ b/_static/styles/furo-extensions.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo-extensions.css","mappings":"AAGA,2BACE,oFACA,4CAKE,6CAHA,YACA,eAEA,CACA,kDACE,yCAEF,8CACE,sCAEJ,8CACE,kDAEJ,2BAGE,uBACA,cAHA,gBACA,UAEA,CAGA,yCACE,mBAEF,gDAEE,gDADA,YACA,CACA,sDACE,gDACF,yDACE,sCAEJ,+CACE,UACA,qDACE,UAGF,mDACE,eAEJ,yEAEE,4DAEA,mHASE,mBAPA,kBAEA,YADA,oBAGA,aADA,gBAIA,CAEA,qIAEE,WADA,UACA,CAEJ,uGACE,aAEF,iUAGE,cAEF,mHACE,aC1EJ,gCACE,mCAEF,0BAKE,mBAUA,8CACA,YAFA,mCAKA,eAZA,cALA,UASA,YADA,YAYA,iCAdA,YAcA,CAEA,gCAEE,8CADA,gCACA,CAEF,gCAGE,6BADA,mCADA,YAEA,CAEF,kCAEE,cADA,oBACA,CACA,wCACE,cAEJ,8BACE,UC5CN,KAEE,6CAA8C,CAC9C,uDAAwD,CACxD,uDAAwD,CAGxD,iCAAsC,CAGtC,+CAAgD,CAChD,uDAAwD,CACxD,uDAAwD,CACxD,oDAAqD,CACrD,6DAA8D,CAC9D,6DAA8D,CAG9D,uDAAwD,CACxD,yDAA0D,CAC1D,4DAA6D,CAC7D,2DAA4D,CAC5D,8DAA+D,CAC/D,iEAAkE,CAClE,uDAAwD,CACxD,wDAAyD,CAG3D,gBACE,qFAGF,SACE,6EAEF,cACE,uFAEF,cACE,uFAEF,cACE,uFAGF,qBACE,eAEF,mBACE,WACA,eChDF,KACE,gDAAiD,CACjD,uDAAwD,CACxD,qDAAsD,CACtD,4DAA6D,CAC7D,oCAAqC,CACrC,2CAA4C,CAC5C,4CAA6C,CAC7C,mDAAoD,CACpD,wBAAyB,CACzB,oBAAqB,CACrB,6CAA8C,CAC9C,gCAAiC,CACjC,yDAA0D,CAC1D,uDAAwD,CACxD,8DAA+D,CCbjE,uBACE,eACA,eACA,gBAGF,iBACE,YACA,+EAGF,iBACE,mDACA","sources":["webpack:///./src/furo/assets/styles/extensions/_readthedocs.sass","webpack:///./src/furo/assets/styles/extensions/_copybutton.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-design.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-inline-tabs.sass","webpack:///./src/furo/assets/styles/extensions/_sphinx-panels.sass"],"sourcesContent":["// This file contains the styles used for tweaking how ReadTheDoc's embedded\n// contents would show up inside the theme.\n\n#furo-sidebar-ad-placement\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n .ethical-sidebar\n // Remove the border and box-shadow.\n border: none\n box-shadow: none\n // Manage the background colors.\n background: var(--color-background-secondary)\n &:hover\n background: var(--color-background-hover)\n // Ensure the text is legible.\n a\n color: var(--color-foreground-primary)\n\n .ethical-callout a\n color: var(--color-foreground-secondary) !important\n\n#furo-readthedocs-versions\n position: static\n width: 100%\n background: transparent\n display: block\n\n // Make the background color fit with the theme's aesthetic.\n .rst-versions\n background: rgb(26, 28, 30)\n\n .rst-current-version\n cursor: unset\n background: var(--color-sidebar-item-background)\n &:hover\n background: var(--color-sidebar-item-background)\n .fa-book\n color: var(--color-foreground-primary)\n\n > .rst-other-versions\n padding: 0\n small\n opacity: 1\n\n .injected\n .rst-versions\n position: unset\n\n &:hover,\n &:focus-within\n box-shadow: 0 0 0 1px var(--color-sidebar-background-border)\n\n .rst-current-version\n // Undo the tweaks done in RTD's CSS\n font-size: inherit\n line-height: inherit\n height: auto\n text-align: right\n padding: 12px\n\n // Match the rest of the body\n background: #1a1c1e\n\n .fa-book\n float: left\n color: white\n\n .fa-caret-down\n display: none\n\n .rst-current-version,\n .rst-other-versions,\n .injected\n display: block\n\n > .rst-current-version\n display: none\n",".highlight\n &:hover button.copybtn\n color: var(--color-code-foreground)\n\n button.copybtn\n // Make it visible\n opacity: 1\n\n // Align things correctly\n align-items: center\n\n height: 1.25em\n width: 1.25em\n\n top: 0.625rem // $code-spacing-vertical\n right: 0.5rem\n\n // Make it look better\n color: var(--color-background-item)\n background-color: var(--color-code-background)\n border: none\n\n // Change to cursor to make it obvious that you can click on it\n cursor: pointer\n\n // Transition smoothly, for aesthetics\n transition: color 300ms, opacity 300ms\n\n &:hover\n color: var(--color-brand-content)\n background-color: var(--color-code-background)\n\n &::after\n display: none\n color: var(--color-code-foreground)\n background-color: transparent\n\n &.success\n transition: color 0ms\n color: #22863a\n &::after\n display: block\n\n svg\n padding: 0\n","body\n // Colors\n --sd-color-primary: var(--color-brand-primary)\n --sd-color-primary-highlight: var(--color-brand-content)\n --sd-color-primary-text: var(--color-background-primary)\n\n // Shadows\n --sd-color-shadow: rgba(0, 0, 0, 0.05)\n\n // Cards\n --sd-color-card-border: var(--color-card-border)\n --sd-color-card-border-hover: var(--color-brand-content)\n --sd-color-card-background: var(--color-card-background)\n --sd-color-card-text: var(--color-foreground-primary)\n --sd-color-card-header: var(--color-card-marginals-background)\n --sd-color-card-footer: var(--color-card-marginals-background)\n\n // Tabs\n --sd-color-tabs-label-active: var(--color-brand-content)\n --sd-color-tabs-label-hover: var(--color-foreground-muted)\n --sd-color-tabs-label-inactive: var(--color-foreground-muted)\n --sd-color-tabs-underline-active: var(--color-brand-content)\n --sd-color-tabs-underline-hover: var(--color-foreground-border)\n --sd-color-tabs-underline-inactive: var(--color-background-border)\n --sd-color-tabs-overline: var(--color-background-border)\n --sd-color-tabs-underline: var(--color-background-border)\n\n// Tabs\n.sd-tab-content\n box-shadow: 0 -2px var(--sd-color-tabs-overline), 0 1px var(--sd-color-tabs-underline)\n\n// Shadows\n.sd-card // Have a shadow by default\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n.sd-shadow-sm\n box-shadow: 0 0.1rem 0.25rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-md\n box-shadow: 0 0.3rem 0.75rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n.sd-shadow-lg\n box-shadow: 0 0.6rem 1.5rem var(--sd-color-shadow), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Cards\n.sd-card-hover:hover // Don't change scale on hover\n transform: none\n\n.sd-cards-carousel // Have a bit of gap in the carousel by default\n gap: 0.25rem\n padding: 0.25rem\n","// This file contains styles to tweak sphinx-inline-tabs to work well with Furo.\n\nbody\n --tabs--label-text: var(--color-foreground-muted)\n --tabs--label-text--hover: var(--color-foreground-muted)\n --tabs--label-text--active: var(--color-brand-content)\n --tabs--label-text--active--hover: var(--color-brand-content)\n --tabs--label-background: transparent\n --tabs--label-background--hover: transparent\n --tabs--label-background--active: transparent\n --tabs--label-background--active--hover: transparent\n --tabs--padding-x: 0.25em\n --tabs--margin-x: 1em\n --tabs--border: var(--color-background-border)\n --tabs--label-border: transparent\n --tabs--label-border--hover: var(--color-foreground-muted)\n --tabs--label-border--active: var(--color-brand-content)\n --tabs--label-border--active--hover: var(--color-brand-content)\n","// This file contains styles to tweak sphinx-panels to work well with Furo.\n\n// sphinx-panels includes Bootstrap 4, which uses .container which can conflict\n// with docutils' `.. container::` directive.\n[role=\"main\"] .container\n max-width: initial\n padding-left: initial\n padding-right: initial\n\n// Make the panels look nicer!\n.shadow.docutils\n border: none\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1) !important\n\n// Make panel colors respond to dark mode\n.sphinx-bs .card\n background-color: var(--color-background-secondary)\n color: var(--color-foreground)\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/_static/styles/furo.css b/_static/styles/furo.css new file mode 100644 index 00000000..e3d4e57b --- /dev/null +++ b/_static/styles/furo.css @@ -0,0 +1,2 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}@media print{.content-icon-container,.headerlink,.mobile-header,.related-pages{display:none!important}.highlight{border:.1pt solid var(--color-foreground-border)}a,blockquote,dl,ol,pre,table,ul{page-break-inside:avoid}caption,figure,h1,h2,h3,h4,h5,h6,img{page-break-after:avoid;page-break-inside:avoid}dl,ol,ul{page-break-before:avoid}}.visually-hidden{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;background:var(--color-background-primary);border:0!important;color:var(--color-foreground-primary);white-space:nowrap!important}:-moz-focusring{outline:auto}body{--font-stack:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;--font-stack--monospace:"SFMono-Regular",Menlo,Consolas,Monaco,Liberation Mono,Lucida Console,monospace;--font-stack--headings:var(--font-stack);--font-size--normal:100%;--font-size--small:87.5%;--font-size--small--2:81.25%;--font-size--small--3:75%;--font-size--small--4:62.5%;--sidebar-caption-font-size:var(--font-size--small--2);--sidebar-item-font-size:var(--font-size--small);--sidebar-search-input-font-size:var(--font-size--small);--toc-font-size:var(--font-size--small--3);--toc-font-size--mobile:var(--font-size--normal);--toc-title-font-size:var(--font-size--small--4);--admonition-font-size:0.8125rem;--admonition-title-font-size:0.8125rem;--code-font-size:var(--font-size--small--2);--api-font-size:var(--font-size--small);--header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*4);--header-padding:0.5rem;--sidebar-tree-space-above:1.5rem;--sidebar-caption-space-above:1rem;--sidebar-item-line-height:1rem;--sidebar-item-spacing-vertical:0.5rem;--sidebar-item-spacing-horizontal:1rem;--sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical)*2);--sidebar-expander-width:var(--sidebar-item-height);--sidebar-search-space-above:0.5rem;--sidebar-search-input-spacing-vertical:0.5rem;--sidebar-search-input-spacing-horizontal:0.5rem;--sidebar-search-input-height:1rem;--sidebar-search-icon-size:var(--sidebar-search-input-height);--toc-title-padding:0.25rem 0;--toc-spacing-vertical:1.5rem;--toc-spacing-horizontal:1.5rem;--toc-item-spacing-vertical:0.4rem;--toc-item-spacing-horizontal:1rem;--icon-search:url('data:image/svg+xml;charset=utf-8,');--icon-pencil:url('data:image/svg+xml;charset=utf-8,');--icon-abstract:url('data:image/svg+xml;charset=utf-8,');--icon-info:url('data:image/svg+xml;charset=utf-8,');--icon-flame:url('data:image/svg+xml;charset=utf-8,');--icon-question:url('data:image/svg+xml;charset=utf-8,');--icon-warning:url('data:image/svg+xml;charset=utf-8,');--icon-failure:url('data:image/svg+xml;charset=utf-8,');--icon-spark:url('data:image/svg+xml;charset=utf-8,');--color-admonition-title--caution:#ff9100;--color-admonition-title-background--caution:rgba(255,145,0,.2);--color-admonition-title--warning:#ff9100;--color-admonition-title-background--warning:rgba(255,145,0,.2);--color-admonition-title--danger:#ff5252;--color-admonition-title-background--danger:rgba(255,82,82,.2);--color-admonition-title--attention:#ff5252;--color-admonition-title-background--attention:rgba(255,82,82,.2);--color-admonition-title--error:#ff5252;--color-admonition-title-background--error:rgba(255,82,82,.2);--color-admonition-title--hint:#00c852;--color-admonition-title-background--hint:rgba(0,200,82,.2);--color-admonition-title--tip:#00c852;--color-admonition-title-background--tip:rgba(0,200,82,.2);--color-admonition-title--important:#00bfa5;--color-admonition-title-background--important:rgba(0,191,165,.2);--color-admonition-title--note:#00b0ff;--color-admonition-title-background--note:rgba(0,176,255,.2);--color-admonition-title--seealso:#448aff;--color-admonition-title-background--seealso:rgba(68,138,255,.2);--color-admonition-title--admonition-todo:grey;--color-admonition-title-background--admonition-todo:hsla(0,0%,50%,.2);--color-admonition-title:#651fff;--color-admonition-title-background:rgba(101,31,255,.2);--icon-admonition-default:var(--icon-abstract);--color-topic-title:#14b8a6;--color-topic-title-background:rgba(20,184,166,.2);--icon-topic-default:var(--icon-pencil);--color-problematic:#b30000;--color-foreground-primary:#000;--color-foreground-secondary:#5a5c63;--color-foreground-muted:#6b6f76;--color-foreground-border:#878787;--color-background-primary:#fff;--color-background-secondary:#f8f9fb;--color-background-hover:#efeff4;--color-background-hover--transparent:#efeff400;--color-background-border:#eeebee;--color-background-item:#ccc;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#0a4bff;--color-brand-content:#2757dd;--color-brand-visited:#872ee0;--color-api-background:var(--color-background-hover--transparent);--color-api-background-hover:var(--color-background-hover);--color-api-overall:var(--color-foreground-secondary);--color-api-name:var(--color-problematic);--color-api-pre-name:var(--color-problematic);--color-api-paren:var(--color-foreground-secondary);--color-api-keyword:var(--color-foreground-primary);--color-api-added:#21632c;--color-api-added-border:#38a84d;--color-api-changed:#046172;--color-api-changed-border:#06a1bc;--color-api-deprecated:#605706;--color-api-deprecated-border:#f0d90f;--color-api-removed:#b30000;--color-api-removed-border:#ff5c5c;--color-highlight-on-target:#ffc;--color-inline-code-background:var(--color-background-secondary);--color-highlighted-background:#def;--color-highlighted-text:var(--color-foreground-primary);--color-guilabel-background:#ddeeff80;--color-guilabel-border:#bedaf580;--color-guilabel-text:var(--color-foreground-primary);--color-admonition-background:transparent;--color-table-header-background:var(--color-background-secondary);--color-table-border:var(--color-background-border);--color-card-border:var(--color-background-secondary);--color-card-background:transparent;--color-card-marginals-background:var(--color-background-secondary);--color-header-background:var(--color-background-primary);--color-header-border:var(--color-background-border);--color-header-text:var(--color-foreground-primary);--color-sidebar-background:var(--color-background-secondary);--color-sidebar-background-border:var(--color-background-border);--color-sidebar-brand-text:var(--color-foreground-primary);--color-sidebar-caption-text:var(--color-foreground-muted);--color-sidebar-link-text:var(--color-foreground-secondary);--color-sidebar-link-text--top-level:var(--color-brand-primary);--color-sidebar-item-background:var(--color-sidebar-background);--color-sidebar-item-background--current:var( --color-sidebar-item-background );--color-sidebar-item-background--hover:linear-gradient(90deg,var(--color-background-hover--transparent) 0%,var(--color-background-hover) var(--sidebar-item-spacing-horizontal),var(--color-background-hover) 100%);--color-sidebar-item-expander-background:transparent;--color-sidebar-item-expander-background--hover:var( --color-background-hover );--color-sidebar-search-text:var(--color-foreground-primary);--color-sidebar-search-background:var(--color-background-secondary);--color-sidebar-search-background--focus:var(--color-background-primary);--color-sidebar-search-border:var(--color-background-border);--color-sidebar-search-icon:var(--color-foreground-muted);--color-toc-background:var(--color-background-primary);--color-toc-title-text:var(--color-foreground-muted);--color-toc-item-text:var(--color-foreground-secondary);--color-toc-item-text--hover:var(--color-foreground-primary);--color-toc-item-text--active:var(--color-brand-primary);--color-content-foreground:var(--color-foreground-primary);--color-content-background:transparent;--color-link:var(--color-brand-content);--color-link-underline:var(--color-background-border);--color-link--hover:var(--color-brand-content);--color-link-underline--hover:var(--color-foreground-border);--color-link--visited:var(--color-brand-visited);--color-link-underline--visited:var(--color-background-border);--color-link--visited--hover:var(--color-brand-visited);--color-link-underline--visited--hover:var(--color-foreground-border)}.only-light{display:block!important}html body .only-dark{display:none!important}@media not print{body[data-theme=dark]{--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body[data-theme=dark] .only-light{display:none!important}body[data-theme=dark] .only-dark{display:block!important}@media(prefers-color-scheme:dark){body:not([data-theme=light]){--color-problematic:#ee5151;--color-foreground-primary:#cfd0d0;--color-foreground-secondary:#9ca0a5;--color-foreground-muted:#81868d;--color-foreground-border:#666;--color-background-primary:#131416;--color-background-secondary:#1a1c1e;--color-background-hover:#1e2124;--color-background-hover--transparent:#1e212400;--color-background-border:#303335;--color-background-item:#444;--color-announcement-background:#000000dd;--color-announcement-text:#eeebee;--color-brand-primary:#3d94ff;--color-brand-content:#5ca5ff;--color-brand-visited:#b27aeb;--color-highlighted-background:#083563;--color-guilabel-background:#08356380;--color-guilabel-border:#13395f80;--color-api-keyword:var(--color-foreground-secondary);--color-highlight-on-target:#330;--color-api-added:#3db854;--color-api-added-border:#267334;--color-api-changed:#09b0ce;--color-api-changed-border:#056d80;--color-api-deprecated:#b1a10b;--color-api-deprecated-border:#6e6407;--color-api-removed:#ff7575;--color-api-removed-border:#b03b3b;--color-admonition-background:#18181a;--color-card-border:var(--color-background-secondary);--color-card-background:#18181a;--color-card-marginals-background:var(--color-background-hover)}html body:not([data-theme=light]) .only-light{display:none!important}body:not([data-theme=light]) .only-dark{display:block!important}}}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:block}@media(prefers-color-scheme:dark){body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-dark{display:block}body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto-light{display:none}}body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark,body[data-theme=light] .theme-toggle svg.theme-icon-when-light{display:block}body{font-family:var(--font-stack)}code,kbd,pre,samp{font-family:var(--font-stack--monospace)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}article{line-height:1.5}h1,h2,h3,h4,h5,h6{border-radius:.5rem;font-family:var(--font-stack--headings);font-weight:700;line-height:1.25;margin:.5rem -.5rem;padding-left:.5rem;padding-right:.5rem}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p{margin-top:0}h1{font-size:2.5em;margin-bottom:1rem}h1,h2{margin-top:1.75rem}h2{font-size:2em}h3{font-size:1.5em}h4{font-size:1.25em}h5{font-size:1.125em}h6{font-size:1em}small{font-size:80%;opacity:75%}p{margin-bottom:.75rem;margin-top:.5rem}hr.docutils{background-color:var(--color-background-border);border:0;height:1px;margin:2rem 0;padding:0}.centered{text-align:center}a{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}a:visited{color:var(--color-link--visited);text-decoration-color:var(--color-link-underline--visited)}a:visited:hover{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}a:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link{color:inherit}a.muted-link:hover{color:var(--color-link--hover);text-decoration-color:var(--color-link-underline--hover)}a.muted-link:hover:visited{color:var(--color-link--visited--hover);text-decoration-color:var(--color-link-underline--visited--hover)}html{overflow-x:hidden;overflow-y:scroll;scroll-behavior:smooth}.sidebar-scroll,.toc-scroll,article[role=main] *{scrollbar-color:var(--color-foreground-border) transparent;scrollbar-width:thin}.sidebar-scroll::-webkit-scrollbar,.toc-scroll::-webkit-scrollbar,article[role=main] ::-webkit-scrollbar{height:.25rem;width:.25rem}.sidebar-scroll::-webkit-scrollbar-thumb,.toc-scroll::-webkit-scrollbar-thumb,article[role=main] ::-webkit-scrollbar-thumb{background-color:var(--color-foreground-border);border-radius:.125rem}body,html{height:100%}.skip-to-content,body,html{background:var(--color-background-primary);color:var(--color-foreground-primary)}.skip-to-content{border-radius:1rem;left:.25rem;padding:1rem;position:fixed;top:.25rem;transform:translateY(-200%);transition:transform .3s ease-in-out;z-index:40}.skip-to-content:focus-within{transform:translateY(0)}article{background:var(--color-content-background);color:var(--color-content-foreground);overflow-wrap:break-word}.page{display:flex;min-height:100%}.mobile-header{background-color:var(--color-header-background);border-bottom:1px solid var(--color-header-border);color:var(--color-header-text);display:none;height:var(--header-height);width:100%;z-index:10}.mobile-header.scrolled{border-bottom:none;box-shadow:0 0 .2rem rgba(0,0,0,.1),0 .2rem .4rem rgba(0,0,0,.2)}.mobile-header .header-center a{color:var(--color-header-text);text-decoration:none}.main{display:flex;flex:1}.sidebar-drawer{background:var(--color-sidebar-background);border-right:1px solid var(--color-sidebar-background-border);box-sizing:border-box;display:flex;justify-content:flex-end;min-width:15em;width:calc(50% - 26em)}.sidebar-container,.toc-drawer{box-sizing:border-box;width:15em}.toc-drawer{background:var(--color-toc-background);padding-right:1rem}.sidebar-sticky,.toc-sticky{display:flex;flex-direction:column;height:min(100%,100vh);height:100vh;position:sticky;top:0}.sidebar-scroll,.toc-scroll{flex-grow:1;flex-shrink:1;overflow:auto;scroll-behavior:smooth}.content{display:flex;flex-direction:column;justify-content:space-between;padding:0 3em;width:46em}.icon{display:inline-block;height:1rem;width:1rem}.icon svg{height:100%;width:100%}.announcement{align-items:center;background-color:var(--color-announcement-background);color:var(--color-announcement-text);display:flex;height:var(--header-height);overflow-x:auto}.announcement+.page{min-height:calc(100% - var(--header-height))}.announcement-content{box-sizing:border-box;min-width:100%;padding:.5rem;text-align:center;white-space:nowrap}.announcement-content a{color:var(--color-announcement-text);text-decoration-color:var(--color-announcement-text)}.announcement-content a:hover{color:var(--color-announcement-text);text-decoration-color:var(--color-link--hover)}.no-js .theme-toggle-container{display:none}.theme-toggle-container{vertical-align:middle}.theme-toggle{background:transparent;border:none;cursor:pointer;padding:0}.theme-toggle svg{color:var(--color-foreground-primary);display:none;height:1.25rem;vertical-align:middle;width:1.25rem}.theme-toggle-header{float:left;padding:1rem .5rem}.nav-overlay-icon,.toc-overlay-icon{cursor:pointer;display:none}.nav-overlay-icon .icon,.toc-overlay-icon .icon{color:var(--color-foreground-secondary);height:1.25rem;width:1.25rem}.nav-overlay-icon,.toc-header-icon{align-items:center;justify-content:center}.toc-content-icon{height:1.5rem;width:1.5rem}.content-icon-container{display:flex;float:right;gap:.5rem;margin-bottom:1rem;margin-left:1rem;margin-top:1.5rem}.content-icon-container .edit-this-page svg,.content-icon-container .view-this-page svg{color:inherit;height:1.25rem;width:1.25rem}.sidebar-toggle{display:none;position:absolute}.sidebar-toggle[name=__toc]{left:20px}.sidebar-toggle:checked{left:40px}.overlay{background-color:rgba(0,0,0,.54);height:0;opacity:0;position:fixed;top:0;transition:width 0ms,height 0ms,opacity .25s ease-out;width:0}.sidebar-overlay{z-index:20}.toc-overlay{z-index:40}.sidebar-drawer{transition:left .25s ease-in-out;z-index:30}.toc-drawer{transition:right .25s ease-in-out;z-index:50}#__navigation:checked~.sidebar-overlay{height:100%;opacity:1;width:100%}#__navigation:checked~.page .sidebar-drawer{left:0;top:0}#__toc:checked~.toc-overlay{height:100%;opacity:1;width:100%}#__toc:checked~.page .toc-drawer{right:0;top:0}.back-to-top{background:var(--color-background-primary);border-radius:1rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 1px 0 hsla(220,9%,46%,.502);display:none;font-size:.8125rem;left:0;margin-left:50%;padding:.5rem .75rem .5rem .5rem;position:fixed;text-decoration:none;top:1rem;transform:translateX(-50%);z-index:10}.back-to-top svg{height:1rem;width:1rem;fill:currentColor;display:inline-block}.back-to-top span{margin-left:.25rem}.show-back-to-top .back-to-top{align-items:center;display:flex}@media(min-width:97em){html{font-size:110%}}@media(max-width:82em){.toc-content-icon{display:flex}.toc-drawer{border-left:1px solid var(--color-background-muted);height:100vh;position:fixed;right:-15em;top:0}.toc-tree{border-left:none;font-size:var(--toc-font-size--mobile)}.sidebar-drawer{width:calc(50% - 18.5em)}}@media(max-width:67em){.nav-overlay-icon{display:flex}.sidebar-drawer{height:100vh;left:-15em;position:fixed;top:0;width:15em}.toc-header-icon{display:flex}.theme-toggle-content,.toc-content-icon{display:none}.theme-toggle-header{display:block}.mobile-header{align-items:center;display:flex;justify-content:space-between;position:sticky;top:0}.mobile-header .header-left,.mobile-header .header-right{display:flex;height:var(--header-height);padding:0 var(--header-padding)}.mobile-header .header-left label,.mobile-header .header-right label{height:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.nav-overlay-icon .icon,.theme-toggle svg{height:1.25rem;width:1.25rem}:target{scroll-margin-top:calc(var(--header-height) + 2.5rem)}.back-to-top{top:calc(var(--header-height) + .5rem)}.page{flex-direction:column;justify-content:center}.content{margin-left:auto;margin-right:auto}}@media(max-width:52em){.content{overflow-x:auto;width:100%}}@media(max-width:46em){.content{padding:0 1em}article aside.sidebar{float:none;margin:1rem 0;width:100%}}.admonition,.topic{background:var(--color-admonition-background);border-radius:.2rem;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);font-size:var(--admonition-font-size);margin:1rem auto;overflow:hidden;padding:0 .5rem .5rem;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:0}.admonition>:last-child,.topic>:last-child{margin-bottom:0}.admonition p.admonition-title,p.topic-title{font-size:var(--admonition-title-font-size);font-weight:500;line-height:1.3;margin:0 -.5rem .5rem;padding:.4rem .5rem .4rem 2rem;position:relative}.admonition p.admonition-title:before,p.topic-title:before{content:"";height:1rem;left:.5rem;position:absolute;width:1rem}p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title:before{background-color:var(--color-admonition-title);-webkit-mask-image:var(--icon-admonition-default);mask-image:var(--icon-admonition-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title:before{background-color:var(--color-topic-title);-webkit-mask-image:var(--icon-topic-default);mask-image:var(--icon-topic-default);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.admonition{border-left:.2rem solid var(--color-admonition-title)}.admonition.caution{border-left-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.caution>.admonition-title:before{background-color:var(--color-admonition-title--caution);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.warning{border-left-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.warning>.admonition-title:before{background-color:var(--color-admonition-title--warning);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.danger{border-left-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.danger>.admonition-title:before{background-color:var(--color-admonition-title--danger);-webkit-mask-image:var(--icon-spark);mask-image:var(--icon-spark)}.admonition.attention{border-left-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.attention>.admonition-title:before{background-color:var(--color-admonition-title--attention);-webkit-mask-image:var(--icon-warning);mask-image:var(--icon-warning)}.admonition.error{border-left-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.error>.admonition-title:before{background-color:var(--color-admonition-title--error);-webkit-mask-image:var(--icon-failure);mask-image:var(--icon-failure)}.admonition.hint{border-left-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.hint>.admonition-title:before{background-color:var(--color-admonition-title--hint);-webkit-mask-image:var(--icon-question);mask-image:var(--icon-question)}.admonition.tip{border-left-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.tip>.admonition-title:before{background-color:var(--color-admonition-title--tip);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.important{border-left-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.important>.admonition-title:before{background-color:var(--color-admonition-title--important);-webkit-mask-image:var(--icon-flame);mask-image:var(--icon-flame)}.admonition.note{border-left-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.note>.admonition-title:before{background-color:var(--color-admonition-title--note);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition.seealso{border-left-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.seealso>.admonition-title:before{background-color:var(--color-admonition-title--seealso);-webkit-mask-image:var(--icon-info);mask-image:var(--icon-info)}.admonition.admonition-todo{border-left-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}.admonition.admonition-todo>.admonition-title:before{background-color:var(--color-admonition-title--admonition-todo);-webkit-mask-image:var(--icon-pencil);mask-image:var(--icon-pencil)}.admonition-todo>.admonition-title{text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd{margin-left:2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:first-child{margin-top:.125rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list,dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd>:last-child{margin-bottom:.75rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list>dt{font-size:var(--font-size--small);text-transform:uppercase}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty{margin-bottom:.5rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul{margin-left:-1.2rem}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p:nth-child(2){margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd>ul>li>p+p:last-child:empty{margin-bottom:0;margin-top:0}dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt{color:var(--color-api-overall)}.sig:not(.sig-inline){background:var(--color-api-background);border-radius:.25rem;font-family:var(--font-stack--monospace);font-size:var(--api-font-size);font-weight:700;margin-left:-.25rem;margin-right:-.25rem;padding:.25rem .5rem .25rem 3em;text-indent:-2.5em;transition:background .1s ease-out}.sig:not(.sig-inline):hover{background:var(--color-api-background-hover)}.sig:not(.sig-inline) a.reference .viewcode-link{font-weight:400;width:4.25rem}em.property{font-style:normal}em.property:first-child{color:var(--color-api-keyword)}.sig-name{color:var(--color-api-name)}.sig-prename{color:var(--color-api-pre-name);font-weight:400}.sig-paren{color:var(--color-api-paren)}.sig-param{font-style:normal}div.deprecated,div.versionadded,div.versionchanged,div.versionremoved{border-left:.1875rem solid;border-radius:.125rem;padding-left:.75rem}div.deprecated p,div.versionadded p,div.versionchanged p,div.versionremoved p{margin-bottom:.125rem;margin-top:.125rem}div.versionadded{border-color:var(--color-api-added-border)}div.versionadded .versionmodified{color:var(--color-api-added)}div.versionchanged{border-color:var(--color-api-changed-border)}div.versionchanged .versionmodified{color:var(--color-api-changed)}div.deprecated{border-color:var(--color-api-deprecated-border)}div.deprecated .versionmodified{color:var(--color-api-deprecated)}div.versionremoved{border-color:var(--color-api-removed-border)}div.versionremoved .versionmodified{color:var(--color-api-removed)}.viewcode-back,.viewcode-link{float:right;text-align:right}.line-block{margin-bottom:.75rem;margin-top:.5rem}.line-block .line-block{margin-bottom:0;margin-top:0;padding-left:1rem}.code-block-caption,article p.caption,table>caption{font-size:var(--font-size--small);text-align:center}.toctree-wrapper.compound .caption,.toctree-wrapper.compound :not(.caption)>.caption-text{font-size:var(--font-size--small);margin-bottom:0;text-align:initial;text-transform:uppercase}.toctree-wrapper.compound>ul{margin-bottom:0;margin-top:0}.sig-inline,code.literal{background:var(--color-inline-code-background);border-radius:.2em;font-size:var(--font-size--small--2);padding:.1em .2em}pre.literal-block .sig-inline,pre.literal-block code.literal{font-size:inherit;padding:0}p .sig-inline,p code.literal{border:1px solid var(--color-background-border)}.sig-inline{font-family:var(--font-stack--monospace)}div[class*=" highlight-"],div[class^=highlight-]{display:flex;margin:1em 0}div[class*=" highlight-"] .table-wrapper,div[class^=highlight-] .table-wrapper,pre{margin:0;padding:0}pre{overflow:auto}article[role=main] .highlight pre{line-height:1.5}.highlight pre,pre.literal-block{font-size:var(--code-font-size);padding:.625rem .875rem}pre.literal-block{background-color:var(--color-code-background);border-radius:.2rem;color:var(--color-code-foreground);margin-bottom:1rem;margin-top:1rem}.highlight{border-radius:.2rem;width:100%}.highlight .gp,.highlight span.linenos{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.highlight .hll{display:block;margin-left:-.875rem;margin-right:-.875rem;padding-left:.875rem;padding-right:.875rem}.code-block-caption{background-color:var(--color-code-background);border-bottom:1px solid;border-radius:.25rem;border-bottom-left-radius:0;border-bottom-right-radius:0;border-color:var(--color-background-border);color:var(--color-code-foreground);display:flex;font-weight:300;padding:.625rem .875rem}.code-block-caption+div[class]{margin-top:0}.code-block-caption+div[class] pre{border-top-left-radius:0;border-top-right-radius:0}.highlighttable{display:block;width:100%}.highlighttable tbody{display:block}.highlighttable tr{display:flex}.highlighttable td.linenos{background-color:var(--color-code-background);border-bottom-left-radius:.2rem;border-top-left-radius:.2rem;color:var(--color-code-foreground);padding:.625rem 0 .625rem .875rem}.highlighttable .linenodiv{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;font-size:var(--code-font-size);padding-right:.875rem}.highlighttable td.code{display:block;flex:1;overflow:hidden;padding:0}.highlighttable td.code .highlight{border-bottom-left-radius:0;border-top-left-radius:0}.highlight span.linenos{box-shadow:-.0625rem 0 var(--color-foreground-border) inset;display:inline-block;margin-right:.875rem;padding-left:0;padding-right:.875rem}.footnote-reference{font-size:var(--font-size--small--4);vertical-align:super}dl.footnote.brackets{color:var(--color-foreground-secondary);display:grid;font-size:var(--font-size--small);grid-template-columns:max-content auto}dl.footnote.brackets dt{margin:0}dl.footnote.brackets dt>.fn-backref{margin-left:.25rem}dl.footnote.brackets dt:after{content:":"}dl.footnote.brackets dt .brackets:before{content:"["}dl.footnote.brackets dt .brackets:after{content:"]"}dl.footnote.brackets dd{margin:0;padding:0 1rem}aside.footnote{color:var(--color-foreground-secondary);font-size:var(--font-size--small)}aside.footnote>span,div.citation>span{float:left;font-weight:500;padding-right:.25rem}aside.footnote>:not(span),div.citation>p{margin-left:2rem}img{box-sizing:border-box;height:auto;max-width:100%}article .figure,article figure{border-radius:.2rem;margin:0}article .figure :last-child,article figure :last-child{margin-bottom:0}article .align-left{clear:left;float:left;margin:0 1rem 1rem}article .align-right{clear:right;float:right;margin:0 1rem 1rem}article .align-center,article .align-default{display:block;margin-left:auto;margin-right:auto;text-align:center}article table.align-default{display:table;text-align:initial}.domainindex-jumpbox,.genindex-jumpbox{border-bottom:1px solid var(--color-background-border);border-top:1px solid var(--color-background-border);padding:.25rem}.domainindex-section h2,.genindex-section h2{margin-bottom:.5rem;margin-top:.75rem}.domainindex-section ul,.genindex-section ul{margin-bottom:0;margin-top:0}ol,ul{margin-bottom:1rem;margin-top:1rem;padding-left:1.2rem}ol li>p:first-child,ul li>p:first-child{margin-bottom:.25rem;margin-top:.25rem}ol li>p:last-child,ul li>p:last-child{margin-top:.25rem}ol li>ol,ol li>ul,ul li>ol,ul li>ul{margin-bottom:.5rem;margin-top:.5rem}ol.arabic{list-style:decimal}ol.loweralpha{list-style:lower-alpha}ol.upperalpha{list-style:upper-alpha}ol.lowerroman{list-style:lower-roman}ol.upperroman{list-style:upper-roman}.simple li>ol,.simple li>ul,.toctree-wrapper li>ol,.toctree-wrapper li>ul{margin-bottom:0;margin-top:0}.field-list dt,.option-list dt,dl.footnote dt,dl.glossary dt,dl.simple dt,dl:not([class]) dt{font-weight:500;margin-top:.25rem}.field-list dt+dt,.option-list dt+dt,dl.footnote dt+dt,dl.glossary dt+dt,dl.simple dt+dt,dl:not([class]) dt+dt{margin-top:0}.field-list dt .classifier:before,.option-list dt .classifier:before,dl.footnote dt .classifier:before,dl.glossary dt .classifier:before,dl.simple dt .classifier:before,dl:not([class]) dt .classifier:before{content:":";margin-left:.2rem;margin-right:.2rem}.field-list dd ul,.field-list dd>p:first-child,.option-list dd ul,.option-list dd>p:first-child,dl.footnote dd ul,dl.footnote dd>p:first-child,dl.glossary dd ul,dl.glossary dd>p:first-child,dl.simple dd ul,dl.simple dd>p:first-child,dl:not([class]) dd ul,dl:not([class]) dd>p:first-child{margin-top:.125rem}.field-list dd ul,.option-list dd ul,dl.footnote dd ul,dl.glossary dd ul,dl.simple dd ul,dl:not([class]) dd ul{margin-bottom:.125rem}.math-wrapper{overflow-x:auto;width:100%}div.math{position:relative;text-align:center}div.math .headerlink,div.math:focus .headerlink{display:none}div.math:hover .headerlink{display:inline-block}div.math span.eqno{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:1}abbr[title]{cursor:help}.problematic{color:var(--color-problematic)}kbd:not(.compound){background-color:var(--color-background-secondary);border:1px solid var(--color-foreground-border);border-radius:.2rem;box-shadow:0 .0625rem 0 rgba(0,0,0,.2),inset 0 0 0 .125rem var(--color-background-primary);color:var(--color-foreground-primary);display:inline-block;font-size:var(--font-size--small--3);margin:0 .2rem;padding:0 .2rem;vertical-align:text-bottom}blockquote{background:var(--color-background-secondary);border-left:4px solid var(--color-background-border);margin-left:0;margin-right:0;padding:.5rem 1rem}blockquote .attribution{font-weight:600;text-align:right}blockquote.highlights,blockquote.pull-quote{font-size:1.25em}blockquote.epigraph,blockquote.pull-quote{border-left-width:0;border-radius:.5rem}blockquote.highlights{background:transparent;border-left-width:0}p .reference img{vertical-align:middle}p.rubric{font-size:1.125em;font-weight:700;line-height:1.25}dd p.rubric{font-size:var(--font-size--small);font-weight:inherit;line-height:inherit;text-transform:uppercase}article .sidebar{background-color:var(--color-background-secondary);border:1px solid var(--color-background-border);border-radius:.2rem;clear:right;float:right;margin-left:1rem;margin-right:0;width:30%}article .sidebar>*{padding-left:1rem;padding-right:1rem}article .sidebar>ol,article .sidebar>ul{padding-left:2.2rem}article .sidebar .sidebar-title{border-bottom:1px solid var(--color-background-border);font-weight:500;margin:0;padding:.5rem 1rem}.table-wrapper{margin-bottom:.5rem;margin-top:1rem;overflow-x:auto;padding:.2rem .2rem .75rem;width:100%}table.docutils{border-collapse:collapse;border-radius:.2rem;border-spacing:0;box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}table.docutils th{background:var(--color-table-header-background)}table.docutils td,table.docutils th{border-bottom:1px solid var(--color-table-border);border-left:1px solid var(--color-table-border);border-right:1px solid var(--color-table-border);padding:0 .25rem}table.docutils td p,table.docutils th p{margin:.25rem}table.docutils td:first-child,table.docutils th:first-child{border-left:none}table.docutils td:last-child,table.docutils th:last-child{border-right:none}table.docutils td.text-left,table.docutils th.text-left{text-align:left}table.docutils td.text-right,table.docutils th.text-right{text-align:right}table.docutils td.text-center,table.docutils th.text-center{text-align:center}:target{scroll-margin-top:2.5rem}@media(max-width:67em){:target{scroll-margin-top:calc(2.5rem + var(--header-height))}section>span:target{scroll-margin-top:calc(2.8rem + var(--header-height))}}.headerlink{font-weight:100;-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-block-caption>.headerlink,dl dt>.headerlink,figcaption p>.headerlink,h1>.headerlink,h2>.headerlink,h3>.headerlink,h4>.headerlink,h5>.headerlink,h6>.headerlink,p.caption>.headerlink,table>caption>.headerlink{margin-left:.5rem;visibility:hidden}.code-block-caption:hover>.headerlink,dl dt:hover>.headerlink,figcaption p:hover>.headerlink,h1:hover>.headerlink,h2:hover>.headerlink,h3:hover>.headerlink,h4:hover>.headerlink,h5:hover>.headerlink,h6:hover>.headerlink,p.caption:hover>.headerlink,table>caption:hover>.headerlink{visibility:visible}.code-block-caption>.toc-backref,dl dt>.toc-backref,figcaption p>.toc-backref,h1>.toc-backref,h2>.toc-backref,h3>.toc-backref,h4>.toc-backref,h5>.toc-backref,h6>.toc-backref,p.caption>.toc-backref,table>caption>.toc-backref{color:inherit;text-decoration-line:none}figure:hover>figcaption>p>.headerlink,table:hover>caption>.headerlink{visibility:visible}:target>h1:first-of-type,:target>h2:first-of-type,:target>h3:first-of-type,:target>h4:first-of-type,:target>h5:first-of-type,:target>h6:first-of-type,span:target~h1:first-of-type,span:target~h2:first-of-type,span:target~h3:first-of-type,span:target~h4:first-of-type,span:target~h5:first-of-type,span:target~h6:first-of-type{background-color:var(--color-highlight-on-target)}:target>h1:first-of-type code.literal,:target>h2:first-of-type code.literal,:target>h3:first-of-type code.literal,:target>h4:first-of-type code.literal,:target>h5:first-of-type code.literal,:target>h6:first-of-type code.literal,span:target~h1:first-of-type code.literal,span:target~h2:first-of-type code.literal,span:target~h3:first-of-type code.literal,span:target~h4:first-of-type code.literal,span:target~h5:first-of-type code.literal,span:target~h6:first-of-type code.literal{background-color:transparent}.literal-block-wrapper:target .code-block-caption,.this-will-duplicate-information-and-it-is-still-useful-here li :target,figure:target,table:target>caption{background-color:var(--color-highlight-on-target)}dt:target{background-color:var(--color-highlight-on-target)!important}.footnote-reference:target,.footnote>dt:target+dd{background-color:var(--color-highlight-on-target)}.guilabel{background-color:var(--color-guilabel-background);border:1px solid var(--color-guilabel-border);border-radius:.5em;color:var(--color-guilabel-text);font-size:.9em;padding:0 .3em}footer{display:flex;flex-direction:column;font-size:var(--font-size--small);margin-top:2rem}.bottom-of-page{align-items:center;border-top:1px solid var(--color-background-border);color:var(--color-foreground-secondary);display:flex;justify-content:space-between;line-height:1.5;margin-top:1rem;padding-bottom:1rem;padding-top:1rem}@media(max-width:46em){.bottom-of-page{flex-direction:column-reverse;gap:.25rem;text-align:center}}.bottom-of-page .left-details{font-size:var(--font-size--small)}.bottom-of-page .right-details{display:flex;flex-direction:column;gap:.25rem;text-align:right}.bottom-of-page .icons{display:flex;font-size:1rem;gap:.25rem;justify-content:flex-end}.bottom-of-page .icons a{text-decoration:none}.bottom-of-page .icons img,.bottom-of-page .icons svg{font-size:1.125rem;height:1em;width:1em}.related-pages a{align-items:center;display:flex;text-decoration:none}.related-pages a:hover .page-info .title{color:var(--color-link);text-decoration:underline;text-decoration-color:var(--color-link-underline)}.related-pages a svg.furo-related-icon,.related-pages a svg.furo-related-icon>use{color:var(--color-foreground-border);flex-shrink:0;height:.75rem;margin:0 .5rem;width:.75rem}.related-pages a.next-page{clear:right;float:right;max-width:50%;text-align:right}.related-pages a.prev-page{clear:left;float:left;max-width:50%}.related-pages a.prev-page svg{transform:rotate(180deg)}.page-info{display:flex;flex-direction:column;overflow-wrap:anywhere}.next-page .page-info{align-items:flex-end}.page-info .context{align-items:center;color:var(--color-foreground-muted);display:flex;font-size:var(--font-size--small);padding-bottom:.1rem;text-decoration:none}ul.search{list-style:none;padding-left:0}ul.search li{border-bottom:1px solid var(--color-background-border);padding:1rem 0}[role=main] .highlighted{background-color:var(--color-highlighted-background);color:var(--color-highlighted-text)}.sidebar-brand{display:flex;flex-direction:column;flex-shrink:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none}.sidebar-brand-text{color:var(--color-sidebar-brand-text);font-size:1.5rem;overflow-wrap:break-word}.sidebar-brand-text,.sidebar-logo-container{margin:var(--sidebar-item-spacing-vertical) 0}.sidebar-logo{display:block;margin:0 auto;max-width:100%}.sidebar-search-container{align-items:center;background:var(--color-sidebar-search-background);display:flex;margin-top:var(--sidebar-search-space-above);position:relative}.sidebar-search-container:focus-within,.sidebar-search-container:hover{background:var(--color-sidebar-search-background--focus)}.sidebar-search-container:before{background-color:var(--color-sidebar-search-icon);content:"";height:var(--sidebar-search-icon-size);left:var(--sidebar-item-spacing-horizontal);-webkit-mask-image:var(--icon-search);mask-image:var(--icon-search);position:absolute;width:var(--sidebar-search-icon-size)}.sidebar-search{background:transparent;border:none;border-bottom:1px solid var(--color-sidebar-search-border);border-top:1px solid var(--color-sidebar-search-border);box-sizing:border-box;color:var(--color-sidebar-search-foreground);padding:var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));width:100%;z-index:10}.sidebar-search:focus{outline:none}.sidebar-search::-moz-placeholder{font-size:var(--sidebar-search-input-font-size)}.sidebar-search::placeholder{font-size:var(--sidebar-search-input-font-size)}#searchbox .highlight-link{margin:0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;text-align:center}#searchbox .highlight-link a{color:var(--color-sidebar-search-icon);font-size:var(--font-size--small--2)}.sidebar-tree{font-size:var(--sidebar-item-font-size);margin-bottom:var(--sidebar-item-spacing-vertical);margin-top:var(--sidebar-tree-space-above)}.sidebar-tree ul{display:flex;flex-direction:column;list-style:none;margin-bottom:0;margin-top:0;padding:0}.sidebar-tree li{margin:0;position:relative}.sidebar-tree li>ul{margin-left:var(--sidebar-item-spacing-horizontal)}.sidebar-tree .icon,.sidebar-tree .reference{color:var(--color-sidebar-link-text)}.sidebar-tree .reference{box-sizing:border-box;display:inline-block;height:100%;line-height:var(--sidebar-item-line-height);overflow-wrap:anywhere;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-decoration:none;width:100%}.sidebar-tree .reference:hover{background:var(--color-sidebar-item-background--hover);color:var(--color-sidebar-link-text)}.sidebar-tree .reference.external:after{color:var(--color-sidebar-link-text);content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23607D8B' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath stroke='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");margin:0 .25rem;vertical-align:middle}.sidebar-tree .current-page>.reference{font-weight:700}.sidebar-tree label{align-items:center;cursor:pointer;display:flex;height:var(--sidebar-item-height);justify-content:center;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--sidebar-expander-width)}.sidebar-tree .caption,.sidebar-tree :not(.caption)>.caption-text{color:var(--color-sidebar-caption-text);font-size:var(--sidebar-caption-font-size);font-weight:700;margin:var(--sidebar-caption-space-above) 0 0 0;padding:var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);text-transform:uppercase}.sidebar-tree li.has-children>.reference{padding-right:var(--sidebar-expander-width)}.sidebar-tree .toctree-l1>.reference,.sidebar-tree .toctree-l1>label .icon{color:var(--color-sidebar-link-text--top-level)}.sidebar-tree label{background:var(--color-sidebar-item-expander-background)}.sidebar-tree label:hover{background:var(--color-sidebar-item-expander-background--hover)}.sidebar-tree .current>.reference{background:var(--color-sidebar-item-background--current)}.sidebar-tree .current>.reference:hover{background:var(--color-sidebar-item-background--hover)}.toctree-checkbox{display:none;position:absolute}.toctree-checkbox~ul{display:none}.toctree-checkbox~label .icon svg{transform:rotate(90deg)}.toctree-checkbox:checked~ul{display:block}.toctree-checkbox:checked~label .icon svg{transform:rotate(-90deg)}.toc-title-container{padding:var(--toc-title-padding);padding-top:var(--toc-spacing-vertical)}.toc-title{color:var(--color-toc-title-text);font-size:var(--toc-title-font-size);padding-left:var(--toc-spacing-horizontal);text-transform:uppercase}.no-toc{display:none}.toc-tree-container{padding-bottom:var(--toc-spacing-vertical)}.toc-tree{border-left:1px solid var(--color-background-border);font-size:var(--toc-font-size);line-height:1.3;padding-left:calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))}.toc-tree>ul>li:first-child{padding-top:0}.toc-tree>ul>li:first-child>ul{padding-left:0}.toc-tree>ul>li:first-child>a{display:none}.toc-tree ul{list-style-type:none;margin-bottom:0;margin-top:0;padding-left:var(--toc-item-spacing-horizontal)}.toc-tree li{padding-top:var(--toc-item-spacing-vertical)}.toc-tree li.scroll-current>.reference{color:var(--color-toc-item-text--active);font-weight:700}.toc-tree a.reference{color:var(--color-toc-item-text);overflow-wrap:anywhere;text-decoration:none}.toc-scroll{max-height:100vh;overflow-y:scroll}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here){background:rgba(255,0,0,.25);color:var(--color-problematic)}.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before{content:"ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling. Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch."}.text-align\:left>p{text-align:left}.text-align\:center>p{text-align:center}.text-align\:right>p{text-align:right} +/*# sourceMappingURL=furo.css.map*/ \ No newline at end of file diff --git a/_static/styles/furo.css.map b/_static/styles/furo.css.map new file mode 100644 index 00000000..6e02d0b1 --- /dev/null +++ b/_static/styles/furo.css.map @@ -0,0 +1 @@ +{"version":3,"file":"styles/furo.css","mappings":"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AEE,CAJJ,gBAEE,CAJE,iBAMA,yFAQA,aACA,eEpbJ,cACE,iBACA,YAEA,CAFA,iBAEA,+DAGA,mBAKA,gCAGA,CARA,SAIA,SACA,CALA,0EAIA,CAJA,OAQA,0CACE,UAGF,iDAGF,CAHE,UAGF,8CAEE,CAFF,UAEE,CACA,uCAEA,WACA,WAFA,UAEA,6CAIA,yCACA,WAGA,WAJA,UAIA,gDACE,aASF,0CACE,CAFF,mBAEE,wEACA,CATA,YACA,CAKF,kBACA,CALE,MAGJ,CAII,eACA,CAJF,iCALE,cACA,CAHA,oBACA,CAKJ,SAKI,2BADA,UACA,6BAEJ,WACE,0DACA,kBACE,gCACA,mBADA,YACA,oEACA,2CAMF,mDAII,CAJJ,aADF,cACE,kBAII,kEACA,iBACE,mEACA,6BACE,wBADF,cACE,mCACA,qDANN,kCACE,6BAEE,mBADF,0CACE,CAFF,eACA,MACE,0DACA,wCACE,sGACA,WANN,yBACE,uCACA,CAFF,UAEE,2CACE,0FACA,cACE,kEACA,mEANN,yBACE,4DACA,sBACE,+EAEE,iEACA,qEANN,sCACE,CAGE,iBAHF,gBAGE,qBACE,CAJJ,uBACA,gDACE,wDACA,6DAHF,2CACA,CADA,gBACA,eACE,CAGE,sBANN,8BACE,CAII,iBAFF,4DACA,WACE,YADF,uCACE,6EACA,2BANN,8CACE,kDACA,0CACE,8BACA,yFACE,sBACA,sFALJ,mEACA,sBACE,kEACA,6EACE,uCACA,kEALJ,qGAEE,kEACA,6EACE,uCACA,kEALJ,8CACA,uDACE,sEACA,2EACE,sCACA,iEALJ,mGACA,qCACE,oDACA,0DACE,6GACA,gDAGR,yDCrEA,sEACE,CACA,6GACE,gEACF,iGAIF,wFACE,qDAGA,mGAEE,2CAEF,4FACE,gCACF,wGACE,8DAEE,6FAIA,iJAKN,6GACE,gDAKF,yDACA,qCAGA,6BACA,kBACA,qDAKA,oCAEA,+DAGA,2CAGE,oDAIA,oEAEE,qBAGJ,wDAEE,uCAEF,kEAGA,8CAEA,uDAIF,gEAIE,6BACA,gEAIA,+CACE,0EAIF,sDAEE,+DAGF,sCACA,8BACE,oC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","sources":["webpack:///./node_modules/normalize.css/normalize.css","webpack:///./src/furo/assets/styles/base/_print.sass","webpack:///./src/furo/assets/styles/base/_screen-readers.sass","webpack:///./src/furo/assets/styles/base/_theme.sass","webpack:///./src/furo/assets/styles/variables/_fonts.scss","webpack:///./src/furo/assets/styles/variables/_spacing.scss","webpack:///./src/furo/assets/styles/variables/_icons.scss","webpack:///./src/furo/assets/styles/variables/_admonitions.scss","webpack:///./src/furo/assets/styles/variables/_colors.scss","webpack:///./src/furo/assets/styles/base/_typography.sass","webpack:///./src/furo/assets/styles/_scaffold.sass","webpack:///./src/furo/assets/styles/variables/_layout.scss","webpack:///./src/furo/assets/styles/content/_admonitions.sass","webpack:///./src/furo/assets/styles/content/_api.sass","webpack:///./src/furo/assets/styles/content/_blocks.sass","webpack:///./src/furo/assets/styles/content/_captions.sass","webpack:///./src/furo/assets/styles/content/_code.sass","webpack:///./src/furo/assets/styles/content/_footnotes.sass","webpack:///./src/furo/assets/styles/content/_images.sass","webpack:///./src/furo/assets/styles/content/_indexes.sass","webpack:///./src/furo/assets/styles/content/_lists.sass","webpack:///./src/furo/assets/styles/content/_math.sass","webpack:///./src/furo/assets/styles/content/_misc.sass","webpack:///./src/furo/assets/styles/content/_rubrics.sass","webpack:///./src/furo/assets/styles/content/_sidebar.sass","webpack:///./src/furo/assets/styles/content/_tables.sass","webpack:///./src/furo/assets/styles/content/_target.sass","webpack:///./src/furo/assets/styles/content/_gui-labels.sass","webpack:///./src/furo/assets/styles/components/_footer.sass","webpack:///./src/furo/assets/styles/components/_sidebar.sass","webpack:///./src/furo/assets/styles/components/_table_of_contents.sass","webpack:///./src/furo/assets/styles/_shame.sass"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n","// This file contains styles for managing print media.\n\n////////////////////////////////////////////////////////////////////////////////\n// Hide elements not relevant to print media.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Hide icon container.\n .content-icon-container\n display: none !important\n\n // Hide showing header links if hovering over when printing.\n .headerlink\n display: none !important\n\n // Hide mobile header.\n .mobile-header\n display: none !important\n\n // Hide navigation links.\n .related-pages\n display: none !important\n\n////////////////////////////////////////////////////////////////////////////////\n// Tweaks related to decolorization.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n // Apply a border around code which no longer have a color background.\n .highlight\n border: 0.1pt solid var(--color-foreground-border)\n\n////////////////////////////////////////////////////////////////////////////////\n// Avoid page break in some relevant cases.\n////////////////////////////////////////////////////////////////////////////////\n@media print\n ul, ol, dl, a, table, pre, blockquote\n page-break-inside: avoid\n\n h1, h2, h3, h4, h5, h6, img, figure, caption\n page-break-inside: avoid\n page-break-after: avoid\n\n ul, ol, dl\n page-break-before: avoid\n",".visually-hidden\n position: absolute !important\n width: 1px !important\n height: 1px !important\n padding: 0 !important\n margin: -1px !important\n overflow: hidden !important\n clip: rect(0,0,0,0) !important\n white-space: nowrap !important\n border: 0 !important\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\n:-moz-focusring\n outline: auto\n","// This file serves as the \"skeleton\" of the theming logic.\n//\n// This contains the bulk of the logic for handling dark mode, color scheme\n// toggling and the handling of color-scheme-specific hiding of elements.\n\nbody\n @include fonts\n @include spacing\n @include icons\n @include admonitions\n @include default-admonition(#651fff, \"abstract\")\n @include default-topic(#14B8A6, \"pencil\")\n\n @include colors\n\n.only-light\n display: block !important\nhtml body .only-dark\n display: none !important\n\n// Ignore dark-mode hints if print media.\n@media not print\n // Enable dark-mode, if requested.\n body[data-theme=\"dark\"]\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n // Enable dark mode, unless explicitly told to avoid.\n @media (prefers-color-scheme: dark)\n body:not([data-theme=\"light\"])\n @include colors-dark\n\n html & .only-light\n display: none !important\n .only-dark\n display: block !important\n\n//\n// Theme toggle presentation\n//\nbody[data-theme=\"auto\"]\n .theme-toggle svg.theme-icon-when-auto-light\n display: block\n\n @media (prefers-color-scheme: dark)\n .theme-toggle svg.theme-icon-when-auto-dark\n display: block\n .theme-toggle svg.theme-icon-when-auto-light\n display: none\n\nbody[data-theme=\"dark\"]\n .theme-toggle svg.theme-icon-when-dark\n display: block\n\nbody[data-theme=\"light\"]\n .theme-toggle svg.theme-icon-when-light\n display: block\n","// Fonts used by this theme.\n//\n// There are basically two things here -- using the system font stack and\n// defining sizes for various elements in %ages. We could have also used `em`\n// but %age is easier to reason about for me.\n\n@mixin fonts {\n // These are adapted from https://systemfontstack.com/\n --font-stack: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji;\n --font-stack--monospace: \"SFMono-Regular\", Menlo, Consolas, Monaco,\n Liberation Mono, Lucida Console, monospace;\n --font-stack--headings: var(--font-stack);\n\n --font-size--normal: 100%;\n --font-size--small: 87.5%;\n --font-size--small--2: 81.25%;\n --font-size--small--3: 75%;\n --font-size--small--4: 62.5%;\n\n // Sidebar\n --sidebar-caption-font-size: var(--font-size--small--2);\n --sidebar-item-font-size: var(--font-size--small);\n --sidebar-search-input-font-size: var(--font-size--small);\n\n // Table of Contents\n --toc-font-size: var(--font-size--small--3);\n --toc-font-size--mobile: var(--font-size--normal);\n --toc-title-font-size: var(--font-size--small--4);\n\n // Admonitions\n //\n // These aren't defined in terms of %ages, since nesting these is permitted.\n --admonition-font-size: 0.8125rem;\n --admonition-title-font-size: 0.8125rem;\n\n // Code\n --code-font-size: var(--font-size--small--2);\n\n // API\n --api-font-size: var(--font-size--small);\n}\n","// Spacing for various elements on the page\n//\n// If the user wants to tweak things in a certain way, they are permitted to.\n// They also have to deal with the consequences though!\n\n@mixin spacing {\n // Header!\n --header-height: calc(\n var(--sidebar-item-line-height) + 4 * #{var(--sidebar-item-spacing-vertical)}\n );\n --header-padding: 0.5rem;\n\n // Sidebar\n --sidebar-tree-space-above: 1.5rem;\n --sidebar-caption-space-above: 1rem;\n\n --sidebar-item-line-height: 1rem;\n --sidebar-item-spacing-vertical: 0.5rem;\n --sidebar-item-spacing-horizontal: 1rem;\n --sidebar-item-height: calc(\n var(--sidebar-item-line-height) + 2 *#{var(--sidebar-item-spacing-vertical)}\n );\n\n --sidebar-expander-width: var(--sidebar-item-height); // be square\n\n --sidebar-search-space-above: 0.5rem;\n --sidebar-search-input-spacing-vertical: 0.5rem;\n --sidebar-search-input-spacing-horizontal: 0.5rem;\n --sidebar-search-input-height: 1rem;\n --sidebar-search-icon-size: var(--sidebar-search-input-height);\n\n // Table of Contents\n --toc-title-padding: 0.25rem 0;\n --toc-spacing-vertical: 1.5rem;\n --toc-spacing-horizontal: 1.5rem;\n --toc-item-spacing-vertical: 0.4rem;\n --toc-item-spacing-horizontal: 1rem;\n}\n","// Expose theme icons as CSS variables.\n\n$icons: (\n // Adapted from tabler-icons\n // url: https://tablericons.com/\n \"search\":\n url('data:image/svg+xml;charset=utf-8,'),\n // Factored out from mkdocs-material on 24-Aug-2020.\n // url: https://squidfunk.github.io/mkdocs-material/reference/admonitions/\n \"pencil\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"abstract\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"info\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"flame\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"question\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"warning\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"failure\":\n url('data:image/svg+xml;charset=utf-8,'),\n \"spark\":\n url('data:image/svg+xml;charset=utf-8,')\n);\n\n@mixin icons {\n @each $name, $glyph in $icons {\n --icon-#{$name}: #{$glyph};\n }\n}\n","// Admonitions\n\n// Structure of these is:\n// admonition-class: color \"icon-name\";\n//\n// The colors are translated into CSS variables below. The icons are\n// used directly in the main declarations to set the `mask-image` in\n// the title.\n\n// prettier-ignore\n$admonitions: (\n // Each of these has an reST directives for it.\n \"caution\": #ff9100 \"spark\",\n \"warning\": #ff9100 \"warning\",\n \"danger\": #ff5252 \"spark\",\n \"attention\": #ff5252 \"warning\",\n \"error\": #ff5252 \"failure\",\n \"hint\": #00c852 \"question\",\n \"tip\": #00c852 \"info\",\n \"important\": #00bfa5 \"flame\",\n \"note\": #00b0ff \"pencil\",\n \"seealso\": #448aff \"info\",\n \"admonition-todo\": #808080 \"pencil\"\n);\n\n@mixin default-admonition($color, $icon-name) {\n --color-admonition-title: #{$color};\n --color-admonition-title-background: #{rgba($color, 0.2)};\n\n --icon-admonition-default: var(--icon-#{$icon-name});\n}\n\n@mixin default-topic($color, $icon-name) {\n --color-topic-title: #{$color};\n --color-topic-title-background: #{rgba($color, 0.2)};\n\n --icon-topic-default: var(--icon-#{$icon-name});\n}\n\n@mixin admonitions {\n @each $name, $values in $admonitions {\n --color-admonition-title--#{$name}: #{nth($values, 1)};\n --color-admonition-title-background--#{$name}: #{rgba(\n nth($values, 1),\n 0.2\n )};\n }\n}\n","// Colors used throughout this theme.\n//\n// The aim is to give the user more control. Thus, instead of hard-coding colors\n// in various parts of the stylesheet, the approach taken is to define all\n// colors as CSS variables and reusing them in all the places.\n//\n// `colors-dark` depends on `colors` being included at a lower specificity.\n\n@mixin colors {\n --color-problematic: #b30000;\n\n // Base Colors\n --color-foreground-primary: black; // for main text and headings\n --color-foreground-secondary: #5a5c63; // for secondary text\n --color-foreground-muted: #6b6f76; // for muted text\n --color-foreground-border: #878787; // for content borders\n\n --color-background-primary: white; // for content\n --color-background-secondary: #f8f9fb; // for navigation + ToC\n --color-background-hover: #efeff4ff; // for navigation-item hover\n --color-background-hover--transparent: #efeff400;\n --color-background-border: #eeebee; // for UI borders\n --color-background-item: #ccc; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #0a4bff;\n --color-brand-content: #2757dd;\n --color-brand-visited: #872ee0;\n\n // API documentation\n --color-api-background: var(--color-background-hover--transparent);\n --color-api-background-hover: var(--color-background-hover);\n --color-api-overall: var(--color-foreground-secondary);\n --color-api-name: var(--color-problematic);\n --color-api-pre-name: var(--color-problematic);\n --color-api-paren: var(--color-foreground-secondary);\n --color-api-keyword: var(--color-foreground-primary);\n\n --color-api-added: #21632c;\n --color-api-added-border: #38a84d;\n --color-api-changed: #046172;\n --color-api-changed-border: #06a1bc;\n --color-api-deprecated: #605706;\n --color-api-deprecated-border: #f0d90f;\n --color-api-removed: #b30000;\n --color-api-removed-border: #ff5c5c;\n\n --color-highlight-on-target: #ffffcc;\n\n // Inline code background\n --color-inline-code-background: var(--color-background-secondary);\n\n // Highlighted text (search)\n --color-highlighted-background: #ddeeff;\n --color-highlighted-text: var(--color-foreground-primary);\n\n // GUI Labels\n --color-guilabel-background: #ddeeff80;\n --color-guilabel-border: #bedaf580;\n --color-guilabel-text: var(--color-foreground-primary);\n\n // Admonitions!\n --color-admonition-background: transparent;\n\n //////////////////////////////////////////////////////////////////////////////\n // Everything below this should be one of:\n // - var(...)\n // - *-gradient(...)\n // - special literal values (eg: transparent, none)\n //////////////////////////////////////////////////////////////////////////////\n\n // Tables\n --color-table-header-background: var(--color-background-secondary);\n --color-table-border: var(--color-background-border);\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: transparent;\n --color-card-marginals-background: var(--color-background-secondary);\n\n // Header\n --color-header-background: var(--color-background-primary);\n --color-header-border: var(--color-background-border);\n --color-header-text: var(--color-foreground-primary);\n\n // Sidebar (left)\n --color-sidebar-background: var(--color-background-secondary);\n --color-sidebar-background-border: var(--color-background-border);\n\n --color-sidebar-brand-text: var(--color-foreground-primary);\n --color-sidebar-caption-text: var(--color-foreground-muted);\n --color-sidebar-link-text: var(--color-foreground-secondary);\n --color-sidebar-link-text--top-level: var(--color-brand-primary);\n\n --color-sidebar-item-background: var(--color-sidebar-background);\n --color-sidebar-item-background--current: var(\n --color-sidebar-item-background\n );\n --color-sidebar-item-background--hover: linear-gradient(\n 90deg,\n var(--color-background-hover--transparent) 0%,\n var(--color-background-hover) var(--sidebar-item-spacing-horizontal),\n var(--color-background-hover) 100%\n );\n\n --color-sidebar-item-expander-background: transparent;\n --color-sidebar-item-expander-background--hover: var(\n --color-background-hover\n );\n\n --color-sidebar-search-text: var(--color-foreground-primary);\n --color-sidebar-search-background: var(--color-background-secondary);\n --color-sidebar-search-background--focus: var(--color-background-primary);\n --color-sidebar-search-border: var(--color-background-border);\n --color-sidebar-search-icon: var(--color-foreground-muted);\n\n // Table of Contents (right)\n --color-toc-background: var(--color-background-primary);\n --color-toc-title-text: var(--color-foreground-muted);\n --color-toc-item-text: var(--color-foreground-secondary);\n --color-toc-item-text--hover: var(--color-foreground-primary);\n --color-toc-item-text--active: var(--color-brand-primary);\n\n // Actual page contents\n --color-content-foreground: var(--color-foreground-primary);\n --color-content-background: transparent;\n\n // Links\n --color-link: var(--color-brand-content);\n --color-link-underline: var(--color-background-border);\n --color-link--hover: var(--color-brand-content);\n --color-link-underline--hover: var(--color-foreground-border);\n\n --color-link--visited: var(--color-brand-visited);\n --color-link-underline--visited: var(--color-background-border);\n --color-link--visited--hover: var(--color-brand-visited);\n --color-link-underline--visited--hover: var(--color-foreground-border);\n}\n\n@mixin colors-dark {\n --color-problematic: #ee5151;\n\n // Base Colors\n --color-foreground-primary: #cfd0d0; // for main text and headings\n --color-foreground-secondary: #9ca0a5; // for secondary text\n --color-foreground-muted: #81868d; // for muted text\n --color-foreground-border: #666666; // for content borders\n\n --color-background-primary: #131416; // for content\n --color-background-secondary: #1a1c1e; // for navigation + ToC\n --color-background-hover: #1e2124ff; // for navigation-item hover\n --color-background-hover--transparent: #1e212400;\n --color-background-border: #303335; // for UI borders\n --color-background-item: #444; // for \"background\" items (eg: copybutton)\n\n // Announcements\n --color-announcement-background: #000000dd;\n --color-announcement-text: #eeebee;\n\n // Brand colors\n --color-brand-primary: #3d94ff;\n --color-brand-content: #5ca5ff;\n --color-brand-visited: #b27aeb;\n\n // Highlighted text (search)\n --color-highlighted-background: #083563;\n\n // GUI Labels\n --color-guilabel-background: #08356380;\n --color-guilabel-border: #13395f80;\n\n // API documentation\n --color-api-keyword: var(--color-foreground-secondary);\n --color-highlight-on-target: #333300;\n\n --color-api-added: #3db854;\n --color-api-added-border: #267334;\n --color-api-changed: #09b0ce;\n --color-api-changed-border: #056d80;\n --color-api-deprecated: #b1a10b;\n --color-api-deprecated-border: #6e6407;\n --color-api-removed: #ff7575;\n --color-api-removed-border: #b03b3b;\n\n // Admonitions\n --color-admonition-background: #18181a;\n\n // Cards\n --color-card-border: var(--color-background-secondary);\n --color-card-background: #18181a;\n --color-card-marginals-background: var(--color-background-hover);\n}\n","// This file contains the styling for making the content throughout the page,\n// including fonts, paragraphs, headings and spacing among these elements.\n\nbody\n font-family: var(--font-stack)\npre,\ncode,\nkbd,\nsamp\n font-family: var(--font-stack--monospace)\n\n// Make fonts look slightly nicer.\nbody\n -webkit-font-smoothing: antialiased\n -moz-osx-font-smoothing: grayscale\n\n// Line height from Bootstrap 4.1\narticle\n line-height: 1.5\n\n//\n// Headings\n//\nh1,\nh2,\nh3,\nh4,\nh5,\nh6\n line-height: 1.25\n font-family: var(--font-stack--headings)\n font-weight: bold\n\n border-radius: 0.5rem\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n margin-left: -0.5rem\n margin-right: -0.5rem\n padding-left: 0.5rem\n padding-right: 0.5rem\n\n + p\n margin-top: 0\n\nh1\n font-size: 2.5em\n margin-top: 1.75rem\n margin-bottom: 1rem\nh2\n font-size: 2em\n margin-top: 1.75rem\nh3\n font-size: 1.5em\nh4\n font-size: 1.25em\nh5\n font-size: 1.125em\nh6\n font-size: 1em\n\nsmall\n opacity: 75%\n font-size: 80%\n\n// Paragraph\np\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n\n// Horizontal rules\nhr.docutils\n height: 1px\n padding: 0\n margin: 2rem 0\n background-color: var(--color-background-border)\n border: 0\n\n.centered\n text-align: center\n\n// Links\na\n text-decoration: underline\n\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n &:visited\n color: var(--color-link--visited)\n text-decoration-color: var(--color-link-underline--visited)\n &:hover\n color: var(--color-link--visited--hover)\n text-decoration-color: var(--color-link-underline--visited--hover)\n\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &.muted-link\n color: inherit\n &:hover\n color: var(--color-link--hover)\n text-decoration-color: var(--color-link-underline--hover)\n &:visited\n color: var(--color-link--visited--hover)\n text-decoration-color: var(--color-link-underline--visited--hover)\n","// This file contains the styles for the overall layouting of the documentation\n// skeleton, including the responsive changes as well as sidebar toggles.\n//\n// This is implemented as a mobile-last design, which isn't ideal, but it is\n// reasonably good-enough and I got pretty tired by the time I'd finished this\n// to move the rules around to fix this. Shouldn't take more than 3-4 hours,\n// if you know what you're doing tho.\n\n// HACK: Not all browsers account for the scrollbar width in media queries.\n// This results in horizontal scrollbars in the breakpoint where we go\n// from displaying everything to hiding the ToC. We accomodate for this by\n// adding a bit of padding to the TOC drawer, disabling the horizontal\n// scrollbar and allowing the scrollbars to cover the padding.\n// https://www.456bereastreet.com/archive/201301/media_query_width_and_vertical_scrollbars/\n\n// HACK: Always having the scrollbar visible, prevents certain browsers from\n// causing the content to stutter horizontally between taller-than-viewport and\n// not-taller-than-viewport pages.\n\n$icon-size: 1.25rem\n\nhtml\n overflow-x: hidden\n overflow-y: scroll\n scroll-behavior: smooth\n\n.sidebar-scroll, .toc-scroll, article[role=main] *\n // Override Firefox scrollbar style\n scrollbar-width: thin\n scrollbar-color: var(--color-foreground-border) transparent\n\n // Override Chrome scrollbar styles\n &::-webkit-scrollbar\n width: 0.25rem\n height: 0.25rem\n &::-webkit-scrollbar-thumb\n background-color: var(--color-foreground-border)\n border-radius: 0.125rem\n\n//\n// Overalls\n//\nhtml,\nbody\n height: 100%\n color: var(--color-foreground-primary)\n background: var(--color-background-primary)\n\n.skip-to-content\n position: fixed\n padding: 1rem\n border-radius: 1rem\n left: 0.25rem\n top: 0.25rem\n z-index: 40\n background: var(--color-background-primary)\n color: var(--color-foreground-primary)\n\n transform: translateY(-200%)\n transition: transform 300ms ease-in-out\n\n &:focus-within\n transform: translateY(0%)\n\narticle\n color: var(--color-content-foreground)\n background: var(--color-content-background)\n overflow-wrap: break-word\n\n.page\n display: flex\n // fill the viewport for pages with little content.\n min-height: 100%\n\n.mobile-header\n width: 100%\n height: var(--header-height)\n background-color: var(--color-header-background)\n color: var(--color-header-text)\n border-bottom: 1px solid var(--color-header-border)\n\n // Looks like sub-script/super-script have this, and we need this to\n // be \"on top\" of those.\n z-index: 10\n\n // We don't show the header on large screens.\n display: none\n\n // Add shadow when scrolled\n &.scrolled\n border-bottom: none\n box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.1), 0 0.2rem 0.4rem rgba(0, 0, 0, 0.2)\n\n .header-center\n a\n color: var(--color-header-text)\n text-decoration: none\n\n.main\n display: flex\n flex: 1\n\n// Sidebar (left) also covers the entire left portion of screen.\n.sidebar-drawer\n box-sizing: border-box\n\n border-right: 1px solid var(--color-sidebar-background-border)\n background: var(--color-sidebar-background)\n\n display: flex\n justify-content: flex-end\n // These next two lines took me two days to figure out.\n width: calc((100% - #{$full-width}) / 2 + #{$sidebar-width})\n min-width: $sidebar-width\n\n// Scroll-along sidebars\n.sidebar-container,\n.toc-drawer\n box-sizing: border-box\n width: $sidebar-width\n\n.toc-drawer\n background: var(--color-toc-background)\n // See HACK described on top of this document\n padding-right: 1rem\n\n.sidebar-sticky,\n.toc-sticky\n position: sticky\n top: 0\n height: min(100%, 100vh)\n height: 100vh\n\n display: flex\n flex-direction: column\n\n.sidebar-scroll,\n.toc-scroll\n flex-grow: 1\n flex-shrink: 1\n\n overflow: auto\n scroll-behavior: smooth\n\n// Central items.\n.content\n padding: 0 $content-padding\n width: $content-width\n\n display: flex\n flex-direction: column\n justify-content: space-between\n\n.icon\n display: inline-block\n height: 1rem\n width: 1rem\n svg\n width: 100%\n height: 100%\n\n//\n// Accommodate announcement banner\n//\n.announcement\n background-color: var(--color-announcement-background)\n color: var(--color-announcement-text)\n\n height: var(--header-height)\n display: flex\n align-items: center\n overflow-x: auto\n & + .page\n min-height: calc(100% - var(--header-height))\n\n.announcement-content\n box-sizing: border-box\n padding: 0.5rem\n min-width: 100%\n white-space: nowrap\n text-align: center\n\n a\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-announcement-text)\n\n &:hover\n color: var(--color-announcement-text)\n text-decoration-color: var(--color-link--hover)\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for theme\n////////////////////////////////////////////////////////////////////////////////\n.no-js .theme-toggle-container // don't show theme toggle if there's no JS\n display: none\n\n.theme-toggle-container\n vertical-align: middle\n\n.theme-toggle\n cursor: pointer\n border: none\n padding: 0\n background: transparent\n\n.theme-toggle svg\n vertical-align: middle\n height: $icon-size\n width: $icon-size\n color: var(--color-foreground-primary)\n display: none\n\n.theme-toggle-header\n float: left\n padding: 1rem 0.5rem\n\n////////////////////////////////////////////////////////////////////////////////\n// Toggles for elements\n////////////////////////////////////////////////////////////////////////////////\n.toc-overlay-icon, .nav-overlay-icon\n display: none\n cursor: pointer\n\n .icon\n color: var(--color-foreground-secondary)\n height: $icon-size\n width: $icon-size\n\n.toc-header-icon, .nav-overlay-icon\n // for when we set display: flex\n justify-content: center\n align-items: center\n\n.toc-content-icon\n height: 1.5rem\n width: 1.5rem\n\n.content-icon-container\n float: right\n display: flex\n margin-top: 1.5rem\n margin-left: 1rem\n margin-bottom: 1rem\n gap: 0.5rem\n\n .edit-this-page, .view-this-page\n svg\n color: inherit\n height: $icon-size\n width: $icon-size\n\n.sidebar-toggle\n position: absolute\n display: none\n// \n.sidebar-toggle[name=\"__toc\"]\n left: 20px\n.sidebar-toggle:checked\n left: 40px\n// \n\n.overlay\n position: fixed\n top: 0\n width: 0\n height: 0\n\n transition: width 0ms, height 0ms, opacity 250ms ease-out\n\n opacity: 0\n background-color: rgba(0, 0, 0, 0.54)\n.sidebar-overlay\n z-index: 20\n.toc-overlay\n z-index: 40\n\n// Keep things on top and smooth.\n.sidebar-drawer\n z-index: 30\n transition: left 250ms ease-in-out\n.toc-drawer\n z-index: 50\n transition: right 250ms ease-in-out\n\n// Show the Sidebar\n#__navigation:checked\n & ~ .sidebar-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .sidebar-drawer\n top: 0\n left: 0\n // Show the toc sidebar\n#__toc:checked\n & ~ .toc-overlay\n width: 100%\n height: 100%\n opacity: 1\n & ~ .page\n .toc-drawer\n top: 0\n right: 0\n\n////////////////////////////////////////////////////////////////////////////////\n// Back to top\n////////////////////////////////////////////////////////////////////////////////\n.back-to-top\n text-decoration: none\n\n display: none\n position: fixed\n left: 0\n top: 1rem\n padding: 0.5rem\n padding-right: 0.75rem\n border-radius: 1rem\n font-size: 0.8125rem\n\n background: var(--color-background-primary)\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), #6b728080 0px 0px 1px 0px\n\n z-index: 10\n\n margin-left: 50%\n transform: translateX(-50%)\n svg\n height: 1rem\n width: 1rem\n fill: currentColor\n display: inline-block\n\n span\n margin-left: 0.25rem\n\n .show-back-to-top &\n display: flex\n align-items: center\n\n////////////////////////////////////////////////////////////////////////////////\n// Responsive layouting\n////////////////////////////////////////////////////////////////////////////////\n// Make things a bit bigger on bigger screens.\n@media (min-width: $full-width + $sidebar-width)\n html\n font-size: 110%\n\n@media (max-width: $full-width)\n // Collapse \"toc\" into the icon.\n .toc-content-icon\n display: flex\n .toc-drawer\n position: fixed\n height: 100vh\n top: 0\n right: -$sidebar-width\n border-left: 1px solid var(--color-background-muted)\n .toc-tree\n border-left: none\n font-size: var(--toc-font-size--mobile)\n\n // Accomodate for a changed content width.\n .sidebar-drawer\n width: calc((100% - #{$full-width - $sidebar-width}) / 2 + #{$sidebar-width})\n\n@media (max-width: $full-width - $sidebar-width)\n // Collapse \"navigation\".\n .nav-overlay-icon\n display: flex\n .sidebar-drawer\n position: fixed\n height: 100vh\n width: $sidebar-width\n\n top: 0\n left: -$sidebar-width\n\n // Swap which icon is visible.\n .toc-header-icon\n display: flex\n .toc-content-icon, .theme-toggle-content\n display: none\n .theme-toggle-header\n display: block\n\n // Show the header.\n .mobile-header\n position: sticky\n top: 0\n display: flex\n justify-content: space-between\n align-items: center\n\n .header-left,\n .header-right\n display: flex\n height: var(--header-height)\n padding: 0 var(--header-padding)\n label\n height: 100%\n width: 100%\n user-select: none\n\n .nav-overlay-icon .icon,\n .theme-toggle svg\n height: $icon-size\n width: $icon-size\n\n // Add a scroll margin for the content\n :target\n scroll-margin-top: calc(var(--header-height) + 2.5rem)\n\n // Show back-to-top below the header\n .back-to-top\n top: calc(var(--header-height) + 0.5rem)\n\n // Center the page, and accommodate for the header.\n .page\n flex-direction: column\n justify-content: center\n .content\n margin-left: auto\n margin-right: auto\n\n@media (max-width: $content-width + 2* $content-padding)\n // Content should respect window limits.\n .content\n width: 100%\n overflow-x: auto\n\n@media (max-width: $content-width)\n .content\n padding: 0 $content-padding--small\n // Don't float sidebars to the right.\n article aside.sidebar\n float: none\n width: 100%\n margin: 1rem 0\n","// Overall Layout Variables\n//\n// Because CSS variables can't be used in media queries. The fact that this\n// makes the layout non-user-configurable is a good thing.\n$content-padding: 3em;\n$content-padding--small: 1em;\n$content-width: 46em;\n$sidebar-width: 15em;\n$full-width: $content-width + 2 * ($content-padding + $sidebar-width);\n","//\n// The design here is strongly inspired by mkdocs-material.\n.admonition, .topic\n margin: 1rem auto\n padding: 0 0.5rem 0.5rem 0.5rem\n\n background: var(--color-admonition-background)\n\n border-radius: 0.2rem\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n font-size: var(--admonition-font-size)\n\n overflow: hidden\n page-break-inside: avoid\n\n // First element should have no margin, since the title has it.\n > :nth-child(2)\n margin-top: 0\n\n // Last item should have no margin, since we'll control that w/ padding\n > :last-child\n margin-bottom: 0\n\n.admonition p.admonition-title,\np.topic-title\n position: relative\n margin: 0 -0.5rem 0.5rem\n padding-left: 2rem\n padding-right: .5rem\n padding-top: .4rem\n padding-bottom: .4rem\n\n font-weight: 500\n font-size: var(--admonition-title-font-size)\n line-height: 1.3\n\n // Our fancy icon\n &::before\n content: \"\"\n position: absolute\n left: 0.5rem\n width: 1rem\n height: 1rem\n\n// Default styles\np.admonition-title\n background-color: var(--color-admonition-title-background)\n &::before\n background-color: var(--color-admonition-title)\n mask-image: var(--icon-admonition-default)\n mask-repeat: no-repeat\n\np.topic-title\n background-color: var(--color-topic-title-background)\n &::before\n background-color: var(--color-topic-title)\n mask-image: var(--icon-topic-default)\n mask-repeat: no-repeat\n\n//\n// Variants\n//\n.admonition\n border-left: 0.2rem solid var(--color-admonition-title)\n\n @each $type, $value in $admonitions\n &.#{$type}\n border-left-color: var(--color-admonition-title--#{$type})\n > .admonition-title\n background-color: var(--color-admonition-title-background--#{$type})\n &::before\n background-color: var(--color-admonition-title--#{$type})\n mask-image: var(--icon-#{nth($value, 2)})\n\n.admonition-todo > .admonition-title\n text-transform: uppercase\n","// This file stylizes the API documentation (stuff generated by autodoc). It's\n// deeply nested due to how autodoc structures the HTML without enough classes\n// to select the relevant items.\n\n// API docs!\ndl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)\n // Tweak the spacing of all the things!\n dd\n margin-left: 2rem\n > :first-child\n margin-top: 0.125rem\n > :last-child\n margin-bottom: 0.75rem\n\n // This is used for the arguments\n .field-list\n margin-bottom: 0.75rem\n\n // \"Headings\" (like \"Parameters\" and \"Return\")\n > dt\n text-transform: uppercase\n font-size: var(--font-size--small)\n\n dd:empty\n margin-bottom: 0.5rem\n dd > ul\n margin-left: -1.2rem\n > li\n > p:nth-child(2)\n margin-top: 0\n // When the last-empty-paragraph follows a paragraph, it doesn't need\n // to augument the existing spacing.\n > p + p:last-child:empty\n margin-top: 0\n margin-bottom: 0\n\n // Colorize the elements\n > dt\n color: var(--color-api-overall)\n\n.sig:not(.sig-inline)\n font-weight: bold\n\n font-size: var(--api-font-size)\n font-family: var(--font-stack--monospace)\n\n margin-left: -0.25rem\n margin-right: -0.25rem\n padding-top: 0.25rem\n padding-bottom: 0.25rem\n padding-right: 0.5rem\n\n // These are intentionally em, to properly match the font size.\n padding-left: 3em\n text-indent: -2.5em\n\n border-radius: 0.25rem\n\n background: var(--color-api-background)\n transition: background 100ms ease-out\n\n &:hover\n background: var(--color-api-background-hover)\n\n // adjust the size of the [source] link on the right.\n a.reference\n .viewcode-link\n font-weight: normal\n width: 4.25rem\n\nem.property\n font-style: normal\n &:first-child\n color: var(--color-api-keyword)\n.sig-name\n color: var(--color-api-name)\n.sig-prename\n font-weight: normal\n color: var(--color-api-pre-name)\n.sig-paren\n color: var(--color-api-paren)\n.sig-param\n font-style: normal\n\ndiv.versionadded,\ndiv.versionchanged,\ndiv.deprecated,\ndiv.versionremoved\n border-left: 0.1875rem solid\n border-radius: 0.125rem\n\n padding-left: 0.75rem\n\n p\n margin-top: 0.125rem\n margin-bottom: 0.125rem\n\ndiv.versionadded\n border-color: var(--color-api-added-border)\n .versionmodified\n color: var(--color-api-added)\n\ndiv.versionchanged\n border-color: var(--color-api-changed-border)\n .versionmodified\n color: var(--color-api-changed)\n\ndiv.deprecated\n border-color: var(--color-api-deprecated-border)\n .versionmodified\n color: var(--color-api-deprecated)\n\ndiv.versionremoved\n border-color: var(--color-api-removed-border)\n .versionmodified\n color: var(--color-api-removed)\n\n// Align the [docs] and [source] to the right.\n.viewcode-link, .viewcode-back\n float: right\n text-align: right\n",".line-block\n margin-top: 0.5rem\n margin-bottom: 0.75rem\n .line-block\n margin-top: 0rem\n margin-bottom: 0rem\n padding-left: 1rem\n","// Captions\narticle p.caption,\ntable > caption,\n.code-block-caption\n font-size: var(--font-size--small)\n text-align: center\n\n// Caption above a TOCTree\n.toctree-wrapper.compound\n .caption, :not(.caption) > .caption-text\n font-size: var(--font-size--small)\n text-transform: uppercase\n\n text-align: initial\n margin-bottom: 0\n\n > ul\n margin-top: 0\n margin-bottom: 0\n","// Inline code\ncode.literal, .sig-inline\n background: var(--color-inline-code-background)\n border-radius: 0.2em\n // Make the font smaller, and use padding to recover.\n font-size: var(--font-size--small--2)\n padding: 0.1em 0.2em\n\n pre.literal-block &\n font-size: inherit\n padding: 0\n\n p &\n border: 1px solid var(--color-background-border)\n\n.sig-inline\n font-family: var(--font-stack--monospace)\n\n// Code and Literal Blocks\n$code-spacing-vertical: 0.625rem\n$code-spacing-horizontal: 0.875rem\n\n// Wraps every literal block + line numbers.\ndiv[class*=\" highlight-\"],\ndiv[class^=\"highlight-\"]\n margin: 1em 0\n display: flex\n\n .table-wrapper\n margin: 0\n padding: 0\n\npre\n margin: 0\n padding: 0\n overflow: auto\n\n // Needed to have more specificity than pygments' \"pre\" selector. :(\n article[role=\"main\"] .highlight &\n line-height: 1.5\n\n &.literal-block,\n .highlight &\n font-size: var(--code-font-size)\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n // Make it look like all the other blocks.\n &.literal-block\n margin-top: 1rem\n margin-bottom: 1rem\n\n border-radius: 0.2rem\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n\n// All code is always contained in this.\n.highlight\n width: 100%\n border-radius: 0.2rem\n\n // Make line numbers and prompts un-selectable.\n .gp, span.linenos\n user-select: none\n pointer-events: none\n\n // Expand the line-highlighting.\n .hll\n display: block\n margin-left: -$code-spacing-horizontal\n margin-right: -$code-spacing-horizontal\n padding-left: $code-spacing-horizontal\n padding-right: $code-spacing-horizontal\n\n/* Make code block captions be nicely integrated */\n.code-block-caption\n display: flex\n padding: $code-spacing-vertical $code-spacing-horizontal\n\n border-radius: 0.25rem\n border-bottom-left-radius: 0\n border-bottom-right-radius: 0\n font-weight: 300\n border-bottom: 1px solid\n\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n border-color: var(--color-background-border)\n\n + div[class]\n margin-top: 0\n pre\n border-top-left-radius: 0\n border-top-right-radius: 0\n\n// When `html_codeblock_linenos_style` is table.\n.highlighttable\n width: 100%\n display: block\n tbody\n display: block\n\n tr\n display: flex\n\n // Line numbers\n td.linenos\n background-color: var(--color-code-background)\n color: var(--color-code-foreground)\n padding: $code-spacing-vertical $code-spacing-horizontal\n padding-right: 0\n border-top-left-radius: 0.2rem\n border-bottom-left-radius: 0.2rem\n\n .linenodiv\n padding-right: $code-spacing-horizontal\n font-size: var(--code-font-size)\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n\n // Actual code\n td.code\n padding: 0\n display: block\n flex: 1\n overflow: hidden\n\n .highlight\n border-top-left-radius: 0\n border-bottom-left-radius: 0\n\n// When `html_codeblock_linenos_style` is inline.\n.highlight\n span.linenos\n display: inline-block\n padding-left: 0\n padding-right: $code-spacing-horizontal\n margin-right: $code-spacing-horizontal\n box-shadow: -0.0625rem 0 var(--color-foreground-border) inset\n","// Inline Footnote Reference\n.footnote-reference\n font-size: var(--font-size--small--4)\n vertical-align: super\n\n// Definition list, listing the content of each note.\n// docutils <= 0.17\ndl.footnote.brackets\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\n display: grid\n grid-template-columns: max-content auto\n dt\n margin: 0\n > .fn-backref\n margin-left: 0.25rem\n\n &:after\n content: \":\"\n\n .brackets\n &:before\n content: \"[\"\n &:after\n content: \"]\"\n\n dd\n margin: 0\n padding: 0 1rem\n\n// docutils >= 0.18\naside.footnote\n font-size: var(--font-size--small)\n color: var(--color-foreground-secondary)\n\naside.footnote > span,\ndiv.citation > span\n float: left\n font-weight: 500\n padding-right: 0.25rem\n\naside.footnote > *:not(span),\ndiv.citation > p\n margin-left: 2rem\n","//\n// Figures\n//\nimg\n box-sizing: border-box\n max-width: 100%\n height: auto\n\narticle\n figure, .figure\n border-radius: 0.2rem\n\n margin: 0\n :last-child\n margin-bottom: 0\n\n .align-left\n float: left\n clear: left\n margin: 0 1rem 1rem\n\n .align-right\n float: right\n clear: right\n margin: 0 1rem 1rem\n\n .align-default,\n .align-center\n display: block\n text-align: center\n margin-left: auto\n margin-right: auto\n\n // WELL, table needs to be stylised like a table.\n table.align-default\n display: table\n text-align: initial\n",".genindex-jumpbox, .domainindex-jumpbox\n border-top: 1px solid var(--color-background-border)\n border-bottom: 1px solid var(--color-background-border)\n padding: 0.25rem\n\n.genindex-section, .domainindex-section\n h2\n margin-top: 0.75rem\n margin-bottom: 0.5rem\n ul\n margin-top: 0\n margin-bottom: 0\n","ul,\nol\n padding-left: 1.2rem\n\n // Space lists out like paragraphs\n margin-top: 1rem\n margin-bottom: 1rem\n // reduce margins within li.\n li\n > p:first-child\n margin-top: 0.25rem\n margin-bottom: 0.25rem\n\n > p:last-child\n margin-top: 0.25rem\n\n > ul,\n > ol\n margin-top: 0.5rem\n margin-bottom: 0.5rem\n\nol\n &.arabic\n list-style: decimal\n &.loweralpha\n list-style: lower-alpha\n &.upperalpha\n list-style: upper-alpha\n &.lowerroman\n list-style: lower-roman\n &.upperroman\n list-style: upper-roman\n\n// Don't space lists out when they're \"simple\" or in a `.. toctree::`\n.simple,\n.toctree-wrapper\n li\n > ul,\n > ol\n margin-top: 0\n margin-bottom: 0\n\n// Definition Lists\n.field-list,\n.option-list,\ndl:not([class]),\ndl.simple,\ndl.footnote,\ndl.glossary\n dt\n font-weight: 500\n margin-top: 0.25rem\n + dt\n margin-top: 0\n\n .classifier::before\n content: \":\"\n margin-left: 0.2rem\n margin-right: 0.2rem\n\n dd\n > p:first-child,\n ul\n margin-top: 0.125rem\n\n ul\n margin-bottom: 0.125rem\n",".math-wrapper\n width: 100%\n overflow-x: auto\n\ndiv.math\n position: relative\n text-align: center\n\n .headerlink,\n &:focus .headerlink\n display: none\n\n &:hover .headerlink\n display: inline-block\n\n span.eqno\n position: absolute\n right: 0.5rem\n top: 50%\n transform: translate(0, -50%)\n z-index: 1\n","// Abbreviations\nabbr[title]\n cursor: help\n\n// \"Problematic\" content, as identified by Sphinx\n.problematic\n color: var(--color-problematic)\n\n// Keyboard / Mouse \"instructions\"\nkbd:not(.compound)\n margin: 0 0.2rem\n padding: 0 0.2rem\n border-radius: 0.2rem\n border: 1px solid var(--color-foreground-border)\n color: var(--color-foreground-primary)\n vertical-align: text-bottom\n\n font-size: var(--font-size--small--3)\n display: inline-block\n\n box-shadow: 0 0.0625rem 0 rgba(0, 0, 0, 0.2), inset 0 0 0 0.125rem var(--color-background-primary)\n\n background-color: var(--color-background-secondary)\n\n// Blockquote\nblockquote\n border-left: 4px solid var(--color-background-border)\n background: var(--color-background-secondary)\n\n margin-left: 0\n margin-right: 0\n padding: 0.5rem 1rem\n\n .attribution\n font-weight: 600\n text-align: right\n\n &.pull-quote,\n &.highlights\n font-size: 1.25em\n\n &.epigraph,\n &.pull-quote\n border-left-width: 0\n border-radius: 0.5rem\n\n &.highlights\n border-left-width: 0\n background: transparent\n\n// Center align embedded-in-text images\np .reference img\n vertical-align: middle\n","p.rubric\n line-height: 1.25\n font-weight: bold\n font-size: 1.125em\n\n // For Numpy-style documentation that's got rubrics within it.\n // https://github.com/pradyunsg/furo/discussions/505\n dd &\n line-height: inherit\n font-weight: inherit\n\n font-size: var(--font-size--small)\n text-transform: uppercase\n","article .sidebar\n float: right\n clear: right\n width: 30%\n\n margin-left: 1rem\n margin-right: 0\n\n border-radius: 0.2rem\n background-color: var(--color-background-secondary)\n border: var(--color-background-border) 1px solid\n\n > *\n padding-left: 1rem\n padding-right: 1rem\n\n > ul, > ol // lists need additional padding, because bullets.\n padding-left: 2.2rem\n\n .sidebar-title\n margin: 0\n padding: 0.5rem 1rem\n border-bottom: var(--color-background-border) 1px solid\n\n font-weight: 500\n\n// TODO: subtitle\n// TODO: dedicated variables?\n",".table-wrapper\n width: 100%\n overflow-x: auto\n margin-top: 1rem\n margin-bottom: 0.5rem\n padding: 0.2rem 0.2rem 0.75rem\n\ntable.docutils\n border-radius: 0.2rem\n border-spacing: 0\n border-collapse: collapse\n\n box-shadow: 0 0.2rem 0.5rem rgba(0, 0, 0, 0.05), 0 0 0.0625rem rgba(0, 0, 0, 0.1)\n\n th\n background: var(--color-table-header-background)\n\n td,\n th\n // Space things out properly\n padding: 0 0.25rem\n\n // Get the borders looking just-right.\n border-left: 1px solid var(--color-table-border)\n border-right: 1px solid var(--color-table-border)\n border-bottom: 1px solid var(--color-table-border)\n\n p\n margin: 0.25rem\n\n &:first-child\n border-left: none\n &:last-child\n border-right: none\n\n // MyST-parser tables set these classes for control of column alignment\n &.text-left\n text-align: left\n &.text-right\n text-align: right\n &.text-center\n text-align: center\n",":target\n scroll-margin-top: 2.5rem\n\n@media (max-width: $full-width - $sidebar-width)\n :target\n scroll-margin-top: calc(2.5rem + var(--header-height))\n\n // When a heading is selected\n section > span:target\n scroll-margin-top: calc(2.8rem + var(--header-height))\n\n// Permalinks\n.headerlink\n font-weight: 100\n user-select: none\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\ndl dt,\np.caption,\nfigcaption p,\ntable > caption,\n.code-block-caption\n > .headerlink\n margin-left: 0.5rem\n visibility: hidden\n &:hover > .headerlink\n visibility: visible\n\n // Don't change to link-like, if someone adds the contents directive.\n > .toc-backref\n color: inherit\n text-decoration-line: none\n\n// Figure and table captions are special.\nfigure:hover > figcaption > p > .headerlink,\ntable:hover > caption > .headerlink\n visibility: visible\n\n:target >, // Regular section[id] style anchors\nspan:target ~ // Non-regular span[id] style \"extra\" anchors\n h1,\n h2,\n h3,\n h4,\n h5,\n h6\n &:nth-of-type(1)\n background-color: var(--color-highlight-on-target)\n // .headerlink\n // visibility: visible\n code.literal\n background-color: transparent\n\ntable:target > caption,\nfigure:target\n background-color: var(--color-highlight-on-target)\n\n// Inline page contents\n.this-will-duplicate-information-and-it-is-still-useful-here li :target\n background-color: var(--color-highlight-on-target)\n\n// Code block permalinks\n.literal-block-wrapper:target .code-block-caption\n background-color: var(--color-highlight-on-target)\n\n// When a definition list item is selected\n//\n// There isn't really an alternative to !important here, due to the\n// high-specificity of API documentation's selector.\ndt:target\n background-color: var(--color-highlight-on-target) !important\n\n// When a footnote reference is selected\n.footnote > dt:target + dd,\n.footnote-reference:target\n background-color: var(--color-highlight-on-target)\n",".guilabel\n background-color: var(--color-guilabel-background)\n border: 1px solid var(--color-guilabel-border)\n color: var(--color-guilabel-text)\n\n padding: 0 0.3em\n border-radius: 0.5em\n font-size: 0.9em\n","// This file contains the styles used for stylizing the footer that's shown\n// below the content.\n\nfooter\n font-size: var(--font-size--small)\n display: flex\n flex-direction: column\n\n margin-top: 2rem\n\n// Bottom of page information\n.bottom-of-page\n display: flex\n align-items: center\n justify-content: space-between\n\n margin-top: 1rem\n padding-top: 1rem\n padding-bottom: 1rem\n\n color: var(--color-foreground-secondary)\n border-top: 1px solid var(--color-background-border)\n\n line-height: 1.5\n\n @media (max-width: $content-width)\n text-align: center\n flex-direction: column-reverse\n gap: 0.25rem\n\n .left-details\n font-size: var(--font-size--small)\n\n .right-details\n display: flex\n flex-direction: column\n gap: 0.25rem\n text-align: right\n\n .icons\n display: flex\n justify-content: flex-end\n gap: 0.25rem\n font-size: 1rem\n\n a\n text-decoration: none\n\n svg,\n img\n font-size: 1.125rem\n height: 1em\n width: 1em\n\n// Next/Prev page information\n.related-pages\n a\n display: flex\n align-items: center\n\n text-decoration: none\n &:hover .page-info .title\n text-decoration: underline\n color: var(--color-link)\n text-decoration-color: var(--color-link-underline)\n\n svg.furo-related-icon,\n svg.furo-related-icon > use\n flex-shrink: 0\n\n color: var(--color-foreground-border)\n\n width: 0.75rem\n height: 0.75rem\n margin: 0 0.5rem\n\n &.next-page\n max-width: 50%\n\n float: right\n clear: right\n text-align: right\n\n &.prev-page\n max-width: 50%\n\n float: left\n clear: left\n\n svg\n transform: rotate(180deg)\n\n.page-info\n display: flex\n flex-direction: column\n overflow-wrap: anywhere\n\n .next-page &\n align-items: flex-end\n\n .context\n display: flex\n align-items: center\n\n padding-bottom: 0.1rem\n\n color: var(--color-foreground-muted)\n font-size: var(--font-size--small)\n text-decoration: none\n","// This file contains the styles for the contents of the left sidebar, which\n// contains the navigation tree, logo, search etc.\n\n////////////////////////////////////////////////////////////////////////////////\n// Brand on top of the scrollable tree.\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-brand\n display: flex\n flex-direction: column\n flex-shrink: 0\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n text-decoration: none\n\n.sidebar-brand-text\n color: var(--color-sidebar-brand-text)\n overflow-wrap: break-word\n margin: var(--sidebar-item-spacing-vertical) 0\n font-size: 1.5rem\n\n.sidebar-logo-container\n margin: var(--sidebar-item-spacing-vertical) 0\n\n.sidebar-logo\n margin: 0 auto\n display: block\n max-width: 100%\n\n////////////////////////////////////////////////////////////////////////////////\n// Search\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-search-container\n display: flex\n align-items: center\n margin-top: var(--sidebar-search-space-above)\n\n position: relative\n\n background: var(--color-sidebar-search-background)\n &:hover,\n &:focus-within\n background: var(--color-sidebar-search-background--focus)\n\n &::before\n content: \"\"\n position: absolute\n left: var(--sidebar-item-spacing-horizontal)\n width: var(--sidebar-search-icon-size)\n height: var(--sidebar-search-icon-size)\n\n background-color: var(--color-sidebar-search-icon)\n mask-image: var(--icon-search)\n\n.sidebar-search\n box-sizing: border-box\n\n border: none\n border-top: 1px solid var(--color-sidebar-search-border)\n border-bottom: 1px solid var(--color-sidebar-search-border)\n\n padding-top: var(--sidebar-search-input-spacing-vertical)\n padding-bottom: var(--sidebar-search-input-spacing-vertical)\n padding-right: var(--sidebar-search-input-spacing-horizontal)\n padding-left: calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size))\n\n width: 100%\n\n color: var(--color-sidebar-search-foreground)\n background: transparent\n z-index: 10\n\n &:focus\n outline: none\n\n &::placeholder\n font-size: var(--sidebar-search-input-font-size)\n\n//\n// Hide Search Matches link\n//\n#searchbox .highlight-link\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0\n margin: 0\n text-align: center\n\n a\n color: var(--color-sidebar-search-icon)\n font-size: var(--font-size--small--2)\n\n////////////////////////////////////////////////////////////////////////////////\n// Structure/Skeleton of the navigation tree (left)\n////////////////////////////////////////////////////////////////////////////////\n.sidebar-tree\n font-size: var(--sidebar-item-font-size)\n margin-top: var(--sidebar-tree-space-above)\n margin-bottom: var(--sidebar-item-spacing-vertical)\n\n ul\n padding: 0\n margin-top: 0\n margin-bottom: 0\n\n display: flex\n flex-direction: column\n\n list-style: none\n\n li\n position: relative\n margin: 0\n\n > ul\n margin-left: var(--sidebar-item-spacing-horizontal)\n\n .icon\n color: var(--color-sidebar-link-text)\n\n .reference\n box-sizing: border-box\n color: var(--color-sidebar-link-text)\n\n // Fill the parent.\n display: inline-block\n line-height: var(--sidebar-item-line-height)\n text-decoration: none\n\n // Don't allow long words to cause wrapping.\n overflow-wrap: anywhere\n\n height: 100%\n width: 100%\n\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n &:hover\n color: var(--color-sidebar-link-text)\n background: var(--color-sidebar-item-background--hover)\n\n // Add a nice little \"external-link\" arrow here.\n &.external::after\n content: url('data:image/svg+xml,')\n margin: 0 0.25rem\n vertical-align: middle\n color: var(--color-sidebar-link-text)\n\n // Make the current page reference bold.\n .current-page > .reference\n font-weight: bold\n\n label\n position: absolute\n top: 0\n right: 0\n height: var(--sidebar-item-height)\n width: var(--sidebar-expander-width)\n\n cursor: pointer\n user-select: none\n\n display: flex\n justify-content: center\n align-items: center\n\n .caption, :not(.caption) > .caption-text\n font-size: var(--sidebar-caption-font-size)\n color: var(--color-sidebar-caption-text)\n\n font-weight: bold\n text-transform: uppercase\n\n margin: var(--sidebar-caption-space-above) 0 0 0\n padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)\n\n // If it has children, add a bit more padding to wrap the content to avoid\n // overlapping with the