diff --git a/_static/style.min.css b/_static/style.min.css
index 127e95c..41166cf 100644
--- a/_static/style.min.css
+++ b/_static/style.min.css
@@ -1,3 +1,3 @@
-:root{--subtle-box-shadow: 0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);--subtle-box-shadow-button: 0 .2rem .5rem rgba(0,0,0,.1),0 0 .0625rem rgba(0,0,0,.15);--subtle-box-shadow-hover: 0 .3rem .6rem rgba(0,0,0,.2),0 0 .085rem rgba(0,0,0,.2);color-scheme:light dark}html{scroll-behavior:smooth}body{--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, ');--icon-adi: url('data:image/svg+xml;charset=utf-8, ');--icon-video: url('data:image/svg+xml;charset=utf-8, ');--icon-ez: url('data:image/svg+xml;charset=utf-8, ');--icon-external: url('data:image/svg+xml;charset=utf-8, ');--icon-git: url('data:image/svg+xml;charset=utf-8, ');--color-admonition-title--caution: #ff9100;--color-admonition-title-background--caution: rgba(255, 145, 0, 0.2);--color-admonition-title--warning: #ff9100;--color-admonition-title-background--warning: rgba(255, 145, 0, 0.2);--color-admonition-title--danger: #ff5252;--color-admonition-title-background--danger: rgba(255, 82, 82, 0.2);--color-admonition-title--attention: #ff5252;--color-admonition-title-background--attention: rgba(255, 82, 82, 0.2);--color-admonition-title--error: #ff5252;--color-admonition-title-background--error: rgba(255, 82, 82, 0.2);--color-admonition-title--hint: #00c852;--color-admonition-title-background--hint: rgba(0, 200, 82, 0.2);--color-admonition-title--tip: #00c852;--color-admonition-title-background--tip: rgba(0, 200, 82, 0.2);--color-admonition-title--important: #00bfa5;--color-admonition-title-background--important: rgba(0, 191, 165, 0.2);--color-admonition-title--note: #00b0ff;--color-admonition-title-background--note: rgba(0, 176, 255, 0.2);--color-admonition-title--video: #00b0ff;--color-admonition-title-background--video: rgba(0, 176, 255, 0.2);--color-admonition-title--seealso: #448aff;--color-admonition-title-background--seealso: rgba(68, 138, 255, 0.2);--color-admonition-title--admonition-todo: #808080;--color-admonition-title-background--admonition-todo: rgba(128, 128, 128, 0.2);--color-admonition-title: #651fff;--color-admonition-title-background: rgba(101, 31, 255, 0.2);--icon-admonition-default: var(--icon-abstract);--color-topic-title: #14B8A6;--color-topic-title-background: rgba(20, 184, 166, 0.2);--icon-topic-default: var(--icon-pencil);--color-link-title--adi: #0067b9;--color-link-title-background--adi: rgba(0, 103, 185, 0.2);--color-link-title--ez: #2eb251;--color-link-title-background--ez: rgba(46, 178, 81, 0.2);--color-link-title--git: #f05133;--color-link-title-background--git: rgba(240, 81, 51, 0.2);--color-link-title--other: #666666;--color-link-title-background--other: rgba(102, 102, 102, 0.2);--color-link-title: #14B8A6;--color-link-title-background: rgba(20, 184, 166, 0.2);--icon-link-default: var(--icon-adi)}body{--is-dark-theme: 0;--is-light-theme: 1;--display-dark: none;--display-light: inline-block;--bg-color1: #f9f9f9;--bg-color2: #f4f4f4;--bg-color3: #f0f0f0;--bg-color1-faded1: #f9f9f999;--bg-color1-faded2: #f9f9f9aa;--text-color1: #212836;--text-color2: #555;--text-color3: #888;--accent-color: #0067b9;--accent-color-code: #cc6d34;--bg-banner: #00305b;--text-color-banner: #fff}body.dark{--is-dark-theme: 1;--is-light-theme: 0;--display-dark: inline-block;--display-light: none;--bg-color1: #1a1a1a;--bg-color2: #111;--bg-color3: #202020;--bg-color1-faded1: #1a1a1aaa;--bg-color1-faded2: #1a1a1acc;--text-color1: #e5e5e5;--text-color2: #ccc;--text-color3: #aaa;--accent-color: #0076d6;--accent-color-code: #ff8d34;--bg-banner: #0088ff;--text-color-banner: #000}@media(prefers-color-scheme: dark){body:not(.light){--is-dark-theme: 1;--is-light-theme: 0;--display-dark: inline-block;--display-light: none;--bg-color1: #1a1a1a;--bg-color2: #111;--bg-color3: #202020;--bg-color1-faded1: #1a1a1a99;--bg-color1-faded2: #1a1a1aaa;--text-color1: #e5e5e5;--text-color2: #ccc;--text-color3: #aaa;--accent-color: #0076d6;--accent-color-code: #ff8d34;--bg-banner: #0088ff;--text-color-banner: #000}}body{margin:0;overflow-x:hidden}@media screen{body{background-color:var(--bg-color1);color:var(--text-color1)}}*{box-sizing:border-box}.body{width:100%;padding:0 1em;overflow-x:auto}@media(min-width: 105em){.bodywrapper>div{max-width:60rem}}@media(max-width: 105em){.bodywrapper>div{margin:0 auto}}@media(min-width: 65em){#vertical-border{position:fixed;height:100vh;border-left:1px solid rgba(125,125,125,.8);top:0;z-index:10}}@media(min-width: 65em)and (max-width: 80em){#vertical-border{left:17rem}.bodywrapper{margin-left:18rem}}@media(min-width: 80em){#vertical-border{left:calc(40vw - 15rem)}.bodywrapper{margin-left:calc(40vw - 14rem)}}@media(min-width: 65em){button#show-sidebar{display:none}.body{min-height:calc(100vh - 7rem)}}@media(max-width: 65em){.body{min-height:calc(100vh - 11.25rem)}}.body p,.body div.line{line-height:1.5em;margin:.25em 0 .75em 0}.body p{margin:.25em 0 .5em 0}.body div.line{margin:.25em 0}@media screen{.body p,.body div.line{text-align:justify}}.body ol p,.body ul p{margin:.25em 0}svg{display:block;margin:0 auto}.body table{margin:0 auto;line-height:1.5em}@media(min-width: 65em){#hdl-component-diagram svg{float:right;margin:-3em 0 0 1em;max-width:45%}}@media(max-width: 65em){svg{max-width:100%}}@media print{#hdl-component-diagram svg{float:right;margin:-3em 0 0 1em;max-width:45%}}@media print{svg{max-width:100%}}@font-face{font-family:"Barlow";src:url("fonts/barlow/Barlow-Medium.woff2") format("woff2");font-weight:500;font-style:normal}@font-face{font-family:"Barlow";src:url("fonts/barlow/Barlow-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal}@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Regular.woff2") format("woff2");font-weight:normal;font-style:normal}@font-face{font-family:"Inter";src:url("fonts/inter/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal}body{font-family:Inter,Arial,sans-serif}.body :is(h1,h2,h3,h4,h5,h6){font-family:Barlow,Arial,sans-serif;font-weight:500;margin:0;padding:1em 0 .25em 0}.body h1{font-size:1.6em}.body h2{font-size:1.5em}.body h3{font-size:1.4em}.body h4{font-size:1.3em}.body h5{font-size:1.25em}.body h6{font-size:1.2em}.sphinxsidebar .caption-text{font-family:Barlow,Arial,sans-serif;font-weight:600;font-size:1.1em}.bold{font-weight:600}input,textarea,select,button,summary{background:none;outline:none;border:none;font-size:1em}a,input,textarea,select,button,summary,label{-webkit-tap-highlight-color:rgba(0,0,0,0)}video{max-width:100%}@media screen{section,#top-anchor,aside,a,.literal-block-wrapper{scroll-margin-top:3.5rem}span{scroll-margin-top:2.5rem}}code.literal{border:1px solid rgba(125,125,125,.15);background:rgba(125,125,125,.05);border-radius:.5rem;padding:0em .2em .1em .2em}@media screen{code.literal,.highlight pre{font-size:1.1em}}@media print{code.literal{font-size:.9em}}a{overflow-wrap:anywhere}.highlight{padding:.75em;margin-bottom:.5em;border-radius:.5rem;overflow-x:auto}.highlight .hll{box-sizing:content-box;width:100%;display:block;margin:0 -0.75rem;padding:0 .75rem}.math-wrapper,.table-wrapper{width:100%;overflow-x:auto}img{display:block;margin:0 auto;max-width:100%}@media print{img{break-inside:avoid}}@media(min-width: 65em){.body img,.body figure{display:block;margin:0 auto;max-width:100%;padding:.5em}.body img.align-left,.body figure.align-left{float:left;clear:left;margin-right:.5em;max-width:45%}.body img.align-right,.body figure.align-right{float:right;clear:right;margin-left:.5em;max-width:45%}}@media print{.body img,.body figure{display:block;margin:0 auto;max-width:100%;padding:.5em}.body img.align-left,.body figure.align-left{float:left;clear:left;margin-right:.5em;max-width:45%}.body img.align-right,.body figure.align-right{float:right;clear:right;margin-left:.5em;max-width:45%}}.clear-both{clear:both}.clear-left{clear:both}.clear-right{clear:both}@media print{.break-after{break-after:always}.break-before,h2{break-before:always}}@media(prefers-color-scheme: dark){body:not(.light) .body img{background:#fff;border-radius:.5rem}}body.dark .body img{background:#fff;border-radius:.5rem}.toctree-wrapper li{margin:.5em 0}table.regmap td.description{font-size:.8em}@media screen{table.regmap td:not(.description) code.literal{font-size:1em}}pre{margin:0}#hdl-parameters table p,#hdl-interfaces table p{white-space:break-spaces}aside.footnote p{margin:.5em 0 0 0}aside.footnote .label{padding:.15em .3em 0 0;white-space:nowrap;float:left}iframe{border:none}@media screen{.iframe-video p,.embed-video p{text-align:center}}.iframe-video iframe{box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden;display:block;margin:0 auto;width:59rem;height:33.1875rem}@media(max-width: 80em){.iframe-video{width:100%;overflow:hidden}}@media(min-width: 65em)and (max-width: 80em){.iframe-video iframe{width:calc(100vw - 20rem);height:calc(56.25vw - 11.25rem)}}@media(max-width: 65em){.iframe-video iframe{width:calc(100vw - 2rem);height:calc(56.25vw - 1.125rem)}}@media(min-width: 80em){.iframe-video.align-left{float:left;clear:left;margin-right:1em}.iframe-video.align-right{float:right;clear:right;margin-left:1em}.iframe-video.align-left iframe,.iframe-video.align-right iframe{width:24rem;height:13.49rem}}.esd-warning{border-radius:.5em;align-items:center;padding:.25rem .5em !important;font-size:.9em;text-align:justify}.esd-warning .icon{width:7rem;height:7rem;margin-right:.5rem;flex-shrink:0;background:url(esd-warning.svg);print-color-adjust:exact;-webkit-print-color-adjust:exact;background-size:contain}@media(min-width: 40em){.esd-warning{display:flex}}@media(max-width: 40em){.esd-warning .icon{margin:0 auto}}@media screen{.esd-warning{color:#000 !important;background:#ff0}}@media print{.esd-warning{break-inside:avoid;border:1px solid #ff0}}.image-reference{text-align:center}.image-reference:not(:has(.align-left,.align-right)){display:inline-block;width:100%}img{page-break-inside:avoid}.only-dark,.only-light,#badges img{background:none !important}#badges img{display:inline-block !important}.only-light{display:var(--display-light) !important}.only-dark{display:var(--display-dark) !important}figcaption p{text-align:center !important}.red{color:red}.green{color:green}hr{border-top:1px dashed var(--text-color2);border-bottom:None}@media(min-width: 65em){.body .flex{display:flex;flex-wrap:wrap}.body .grid{display:grid;grid-template-rows:auto}}@media print{.body .flex{display:flex;flex-wrap:wrap}.body .grid{display:grid;grid-template-rows:auto}}.banner{line-height:2em;background-color:var(--bg-banner);color:var(--text-color-banner);text-align:center;z-index:11;position:relative}.banner a{padding-left:.25em;font-weight:600;border-bottom:1px solid rgba(125,125,125,.25)}.banner a:hover{border-color:var(--text-color-banner)}.banner.on{display:block}@media screen{header{position:sticky}}header{z-index:7;width:100%;top:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}header label,header button{cursor:pointer}header #right span{display:flex;align-items:center}header #right span.reverse{flex-direction:row-reverse}header .icon:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.5rem .25rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}header #search:before{background-position:left -6rem top}header #theme:before{background-position:left -1.5rem bottom}header #left{margin:0 .25rem;display:flex;align-items:center}header #right{margin-right:.25rem}header #show-sidebar:before{background-position:left 0rem top;transition:.25s ease background-position}header #show-localtoc:before{background-position:left -3rem top;transition:.25s ease background-position}@media screen{header{border-bottom:1px solid rgba(125,125,125,.8)}}@media(min-width: 65em)and (max-width: 80em){.repotoc-tree.overlay root{padding-left:18em}}@media(min-width: 80em){.repotoc-tree.overlay root{padding-left:calc(40vw - 14em)}}.repotoc-tree.overlay{position:sticky;top:3.5rem;pointer-events:none;height:0;opacity:0;z-index:6;width:0;transition:opacity .25s ease;overflow-y:visible}.repotoc-tree.overlay root{background:var(--bg-color1);overflow-y:auto;padding-top:1em;height:calc(100vh - 3.5em);width:100vw;display:flex;flex-direction:column}.repotoc-tree.overlay a{cursor:pointer;display:block;width:fit-content;padding:0 .5em 0 .5em;transition:padding .4s ease;margin:0 .5em}.repotoc-tree.overlay a:hover{color:var(--accent-color);border-color:var(--accent-color)}.repotoc-tree.overlay a.current{color:var(--accent-color)}#input-show-toc:checked~header #show-sidebar:before{background-position:left 0rem bottom}#input-show-localtoc:checked~header #show-localtoc:before{background-position:left -3rem bottom}.dark header #theme:before{background-position:left -1.5rem top}@media(prefers-color-scheme: dark){header #theme:before{background-position:left -1.5rem top}.light header #theme:before{background-position:left -1.5rem bottom}}@media(min-width: 105em){header #show-localtoc{display:none}}@media screen and (max-width: 65em){header{border-bottom:1px solid rgba(125,125,125,.8)}}@media(max-width: 65em){header{display:flex;width:100%}}@media screen and (max-width: 65em){header{background:var(--bg-color1-faded1)}}header{height:3.5rem}header #right{display:flex;justify-content:space-between}header #logo-org{display:inline-block;width:5.375rem;height:1.5rem;margin:.75rem 0;background:url("./logo-org.svg") no-repeat center top;flex-shrink:0}header .vertical-divider{padding:0 .25rem 0 .75rem;border-right:1px solid rgba(125,125,125,.8);height:1.75rem}header #logo{padding-left:.25rem;height:3.5rem;overflow:hidden;display:flex;align-items:center;line-height:1rem}header #logo div{transition:margin .25s ease,opacity .25s ease}body.dark #logo-org{background-position:center bottom}@media(prefers-color-scheme: dark){body:not(.light) #logo-org{background-position:center bottom}}@media(max-width: 65em){header{backdrop-filter:blur(1em)}header #right{width:100%}}@media(min-width: 65em){header{background:var(--bg-color1)}header #left{display:none}header #right{text-align:right}}@media(min-width: 65em)and (max-width: 80em){header #right{margin-left:19rem}}@media(min-width: 80em){header #right{margin-left:calc(40vw - 13rem)}}@media(min-width: 105em){header #right{max-width:60rem}}@media(max-width: 65em){.repotoc-tree.overlay{display:none}}header #show-repotoc{display:flex;margin:0 .25em;align-items:center;border-radius:2em;padding:.5em .75em;border:1px solid rgba(125,125,125,0);user-select:none}header #show-repotoc:hover{border:1px solid rgba(125,125,125,.8)}header #show-repotoc:after{border:1px solid var(--text-color1);border-width:0 1px 1px 0;display:block;content:"";transition:transform ease .125s,margin ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);margin-top:1px;margin-left:.5em}@media print{header #show-repotoc{display:none}header #logo{margin-left:.5em}}@media(max-width: 65em){header #show-repotoc{display:none}header #logo{margin-left:.5em}}#input-show-repotoc:checked~header #show-repotoc:after{transform:rotate(45deg);margin-top:-5px;margin-left:calc(.5em + 2px);margin-right:-2px}@media(min-width: 65em){#input-show-repotoc:checked~header #logo div{margin-top:6em;opacity:0}}#input-show-repotoc:checked~div.repotoc-tree{pointer-events:initial;opacity:1}#input-show-repotoc:checked~div.repotoc-tree a{padding:.75em .5em}body:has(>#input-show-repotoc:checked){overflow-y:hidden}.sphinxsidebar{width:0}.sphinxsidebarwrapper{box-sizing:content-box;overflow-y:auto;height:calc(100vh - 3.5rem)}@media(max-width: 65em){.sphinxsidebar .repotoc-tree{display:contents}}@media(min-width: 65em){.sphinxsidebar .repotoc-tree{display:none}}@media(max-width: 65em){.sphinxsidebar{transition:.125s ease opacity,.25s ease margin;pointer-events:none;margin-left:-5rem;opacity:0}.sphinxsidebarwrapper{backdrop-filter:blur(1em);background:var(--bg-color1-faded2);box-shadow:.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15);width:18rem}#input-show-toc:checked~.sphinxsidebar{pointer-events:initial;margin-left:0;opacity:1}.sphinxsidebar .toctree{margin:1em auto 0}.sphinxsidebar #logo img,.sphinxsidebar #no-logo{display:none !important}}.sphinxsidebar #logo,.sphinxsidebar #no-logo{display:block;max-width:13rem}.sphinxsidebar #no-logo{font-size:1.5em;margin-bottom:.5rem}@media(min-width: 40em)and (max-width: 65em){.sphinxsidebar{width:18em;left:-19em}#input-show-toc:checked~.sphinxsidebar{box-shadow:.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15)}}#input-show-toc:checked~#cancel-area-show-toc,#input-show-localtoc:checked~#cancel-area-show-localtoc{z-index:3}#input-show-localtoc:checked~.localtoc,#input-show-toc:checked~.sphinxsidebar{z-index:5}@media(max-width: 40em){.sphinxsidebar{width:100vw;left:-100vw}}.sphinxsidebar ul{list-style-type:none;padding:0 0 0 .5em}.sphinxsidebar .caption-text{color:var(--text-color2)}.toctree-collapse{display:none}@media(min-width: 65em){button#show-sidebar{display:none}.sphinxsidebarwrapper{height:calc(100vh - 5rem);width:15rem}}@media(min-width: 65em)and (max-width: 80em){.sphinxsidebarwrapper{padding:1.5rem 1rem 0em 1rem}}@media(min-width: 80em){.sphinxsidebarwrapper{padding:1.5rem 1rem 0em calc(40vw - 31rem)}}@media(max-width: 65em){.toc-tree,.repotoc-tree{padding:1em}}.toc-tree,.sphinxsidebar .repotoc-tree{margin-bottom:10em}.toc-tree p.caption,.sphinxsidebar .repotoc-tree p.caption{margin:1em 0 .5em 0}.toc-tree>ul,.sphinxsidebar .repotoc-tree>ul{padding:0;margin:0}.toc-tree label,.sphinxsidebar .repotoc-tree label{cursor:pointer;display:block;padding:.6em .5em;height:1.75em;width:1.75em}.toc-tree .toctree-collapse~ul,.sphinxsidebar .repotoc-tree .toctree-collapse~ul{display:none}.toc-tree .toctree-collapse:checked~ul,.sphinxsidebar .repotoc-tree .toctree-collapse:checked~ul{display:block}.toc-tree .collapse,.sphinxsidebar .repotoc-tree .collapse{display:flex}.toc-tree a,.sphinxsidebar .repotoc-tree a{display:inline-block;line-height:1.75em;width:100%;padding:0 .5em 0 .75em;margin-left:-0.75em;border-radius:1rem;font-size:.9em;border:1px solid rgba(0,0,0,0)}.toc-tree a:hover,.sphinxsidebar .repotoc-tree a:hover{color:var(--accent-color)}.toc-tree a.current,.sphinxsidebar .repotoc-tree a.current{border-color:var(--accent-color);color:var(--accent-color)}.toc-tree label:hover .icon,.sphinxsidebar .repotoc-tree label:hover .icon{border-color:var(--accent-color) !important}.toc-tree label:hover,.toc-tree a:hover,.sphinxsidebar .repotoc-tree label:hover,.sphinxsidebar .repotoc-tree a:hover{background-color:var(--bg-color2)}.toc-tree .collapse label .icon,.sphinxsidebar .repotoc-tree .collapse label .icon{border:1px solid var(--text-color1);border-width:0 2px 2px 0;display:block;transition:transform ease .125s,margin ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);margin-top:0px;margin-left:-1px}.toc-tree .toctree-collapse:checked~.collapse .icon,.sphinxsidebar .repotoc-tree .toctree-collapse:checked~.collapse .icon{transform:rotate(45deg);margin-top:-2px;margin-left:1px}.toc-tree label,.sphinxsidebar .repotoc-tree label{border-radius:1rem}@media screen{.localtoc{right:auto;left:100vw;height:0;width:0}.tocwrapper{background:var(--bg-color1);height:calc(100vh - 4.5rem);overflow-y:auto}.tocwrapper nav{border-left:1px solid rgba(125,125,125,.5);max-width:20rem;margin-bottom:10em;color:var(--text-color2)}.tocwrapper nav>ul>li:first-child>a{display:none}.sphinxsidebar,.localtoc{z-index:2;position:sticky;top:3.5rem;height:0}}.localtoc .caption-text{font-weight:bold;color:var(--text-color2)}@media screen{.tocwrapper ul{padding:0 0 0 .5em}}@media print{.tocwrapper nav{padding-top:1em;margin-left:-1em}.tocwrapper ul{padding:0 0 0 1em}}@media screen{a:not(.current){letter-spacing:.005em}a.current{color:var(--accent-color);font-weight:bold;letter-spacing:-0.008em}}.tocwrapper{box-sizing:content-box;padding-top:1rem;font-size:.9em}.tocwrapper .caption-text{padding-left:1em}.tocwrapper ul{list-style-type:none}.tocwrapper a{display:inline-block;padding:.25em 0}.tocwrapper .localtoc-header{color:var(--text-color3)}.tocwrapper>div{display:flex;align-items:center}.tocwrapper #scroll-up{cursor:pointer;filter:invert(var(--is-dark-theme));margin-left:.25rem;opacity:.75}.tocwrapper #scroll-up:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.25rem;background:url("./icons.svg")}.tocwrapper #scroll-up:before{background-position:left -4.5rem top}@media screen{.localtoc-header{padding-left:1rem}.localtoc-header:before{content:"On this page"}}@media print{.localtoc-header{font-size:1.5em}.localtoc-header:before{content:"Table of contents"}}@media screen and (min-width: 105em){.tocwrapper{width:calc(60vw - 60rem + 13rem)}.localtoc{left:calc(40vw + 60rem - 13rem)}}@media(min-width: 65em){.sphinxsidebar #show-repotoc,.sphinxsidebar #show-toc{display:none}}.sphinxsidebar #show-repotoc,.sphinxsidebar #show-toc{cursor:pointer;user-select:none;align-items:center;background:var(--bg-color2)}.sphinxsidebar #show-repotoc{padding:1.5rem .5rem .5rem .5em}.sphinxsidebar #show-toc{padding:1.5rem .5rem .5rem 1em}.sphinxsidebar #show-repotoc:before,.sphinxsidebar #show-toc:after{content:"";display:block;width:1.5rem;height:1.5rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}.sphinxsidebar #show-repotoc:before{background-position:left -7.5rem bottom}.sphinxsidebar #show-toc:after{background-position:left -7.5rem top}@media(max-width: 65em){#input-switch-toc:checked~.repotoc-tree{display:block}#input-switch-toc:checked~.toc-tree{display:none}#show-toc{display:none}#show-repotoc,#input-switch-toc:checked~#show-toc{display:flex;justify-content:start}#input-switch-toc:checked~#show-repotoc{display:none}}.sphinxsidebar .repotoc-tree{display:none}@media screen and (max-width: 105em){.localtoc{transition:.125s ease opacity;pointer-events:none;opacity:0;direction:rtl}.localtoc .tocwrapper{direction:ltr;transition:.25s ease width;box-shadow:-0.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15);overflow-x:hidden;width:15rem}.localtoc .tocwrapper>div,.localtoc .tocwrapper>nav{width:20rem}#input-show-localtoc:checked~.localtoc{pointer-events:initial;opacity:1}#input-show-localtoc:checked~.localtoc .tocwrapper{width:20rem}}@media(max-width: 105em){#input-show-localtoc:checked~#cancel-area-show-localtoc{position:fixed;background:rgba(0,0,0,.05);top:0;left:0;right:0;bottom:0}}@media(max-width: 65em){#input-show-toc:checked~#cancel-area-show-toc{position:fixed;background:rgba(0,0,0,.05);top:0;left:0;right:0;bottom:0}}#input-show-toc,#input-show-localtoc,#input-show-repotoc,#input-switch-toc{display:none}.collapsible_input{display:none}.collapsible_content{overflow:auto;overflow:hidden;transition:ease opacity .25s}@media not print{.collapsible_content{height:0;opacity:0}.collapsible{border:1px solid rgba(125,125,125,.8);margin-bottom:.5em}.collapsible label{padding:.75em 1em .75em .75em}.collapsible label .icon{display:block}.collapsible table.docutils{border:none;width:100%}.collapsible_content{border-top:1px solid rgba(125,125,125,.8)}}@media print{.collapsible label{padding:.5em 0 .5em 0}.collapsible label .icon{display:none}}.collapsible_input:checked~label .icon{transform:rotate(45deg);margin-top:-0.5em}.collapsible_input:checked~.collapsible_content{height:100%;opacity:1}.collapsible{border-radius:.5rem}.collapsible label{width:100%;user-select:none;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.collapsible label .icon{border:1px solid var(--text-color1);border-width:0 2px 2px 0;transition:transform ease .125s,margin-top ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);z-index:-1;margin-left:.5em}.collapsible label p{margin:0;white-space:pre-wrap}.collapsible label,.collapsible div{transition:box-shadow ease .25s}.collapsible label:hover~div,.collapsible label:hover{box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}.collapsible label div>p:first-child{font-weight:600}.collapsible .container>p{margin-left:.5em;margin-right:.5em}.admonition,.topic{margin:0 auto .5em auto;padding:0 0 .5em 0;background:var(--color-admonition-background);border-radius:.5rem;overflow:hidden;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:.75em}.admonition p.admonition-title,p.topic-title{print-color-adjust:exact;-webkit-print-color-adjust:exact;margin:0;position:relative;margin-top:0;padding-left:2em;padding-top:.4em;padding-bottom:.4em;font-weight:500;line-height:1.3}.admonition p.admonition-title::before,p.topic-title::before{content:"";position:absolute;left:.5em;top:.5em;width:1em;height:1em}@media screen{p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title::before{background-color:var(--color-admonition-title);mask-image:var(--icon-admonition-default);mask-repeat:no-repeat}}@media print{p.admonition-title::before{opacity:.8}p.admonition-title::before{background-image:var(--icon-admonition-default)}}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title::before{background-color:var(--color-topic-title);mask-image:var(--icon-topic-default);mask-repeat:no-repeat}.admonition p,div.line{margin:0;padding:0 .5em}@media screen{.admonition.caution{border-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.warning{border-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.danger{border-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.attention{border-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.error{border-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.hint{border-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.tip{border-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.important{border-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.note{border-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.video{border-color:var(--color-admonition-title--video)}.admonition.video>.admonition-title{background-color:var(--color-admonition-title-background--video)}.admonition.seealso{border-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.admonition-todo{border-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}}@media print{.admonition-title{border-bottom:1px solid var(--color-admonition-title-background)}.admonition{break-inside:avoid}.admonition.caution>.admonition-title{border-color:var(--color-admonition-title-background--caution)}.admonition.warning>.admonition-title{border-color:var(--color-admonition-title-background--warning)}.admonition.danger>.admonition-title{border-color:var(--color-admonition-title-background--danger)}.admonition.attention>.admonition-title{border-color:var(--color-admonition-title-background--attention)}.admonition.error>.admonition-title{border-color:var(--color-admonition-title-background--error)}.admonition.hint>.admonition-title{border-color:var(--color-admonition-title-background--hint)}.admonition.tip>.admonition-title{border-color:var(--color-admonition-title-background--tip)}.admonition.important>.admonition-title{border-color:var(--color-admonition-title-background--important)}.admonition.note>.admonition-title{border-color:var(--color-admonition-title-background--note)}.admonition.video>.admonition-title{border-color:var(--color-admonition-title-background--video)}.admonition.seealso>.admonition-title{border-color:var(--color-admonition-title-background--seealso)}.admonition.admonition-todo>.admonition-title{border-color:var(--color-admonition-title-background--admonition-todo)}}.admonition{border:1px solid var(--color-admonition-title)}.admonition.caution{border-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{border-color:var(--color-admonition-title--caution)}.admonition.warning{border-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{border-color:var(--color-admonition-title--warning)}.admonition.danger{border-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{border-color:var(--color-admonition-title--danger)}.admonition.attention{border-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{border-color:var(--color-admonition-title--attention)}.admonition.error{border-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{border-color:var(--color-admonition-title--error)}.admonition.hint{border-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{border-color:var(--color-admonition-title--hint)}.admonition.tip{border-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{border-color:var(--color-admonition-title--tip)}.admonition.important{border-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{border-color:var(--color-admonition-title--important)}.admonition.note{border-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{border-color:var(--color-admonition-title--note)}.admonition.video{border-color:var(--color-admonition-title--video)}.admonition.video>.admonition-title{border-color:var(--color-admonition-title--video)}.admonition.seealso{border-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{border-color:var(--color-admonition-title--seealso)}.admonition.admonition-todo{border-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{border-color:var(--color-admonition-title--admonition-todo)}@media print{.admonition.caution>.admonition-title::before{background-image:var(--icon-spark)}.admonition.warning>.admonition-title::before{background-image:var(--icon-warning)}.admonition.danger>.admonition-title::before{background-image:var(--icon-spark)}.admonition.attention>.admonition-title::before{background-image:var(--icon-warning)}.admonition.error>.admonition-title::before{background-image:var(--icon-failure)}.admonition.hint>.admonition-title::before{background-image:var(--icon-question)}.admonition.tip>.admonition-title::before{background-image:var(--icon-info)}.admonition.important>.admonition-title::before{background-image:var(--icon-flame)}.admonition.note>.admonition-title::before{background-image:var(--icon-pencil)}.admonition.video>.admonition-title::before{background-image:var(--icon-video)}.admonition.seealso>.admonition-title::before{background-image:var(--icon-info)}.admonition.admonition-todo>.admonition-title::before{background-image:var(--icon-pencil)}}@media screen{.admonition.caution>.admonition-title::before{background-color:var(--color-admonition-title--caution);mask-image:var(--icon-spark)}.admonition.warning>.admonition-title::before{background-color:var(--color-admonition-title--warning);mask-image:var(--icon-warning)}.admonition.danger>.admonition-title::before{background-color:var(--color-admonition-title--danger);mask-image:var(--icon-spark)}.admonition.attention>.admonition-title::before{background-color:var(--color-admonition-title--attention);mask-image:var(--icon-warning)}.admonition.error>.admonition-title::before{background-color:var(--color-admonition-title--error);mask-image:var(--icon-failure)}.admonition.hint>.admonition-title::before{background-color:var(--color-admonition-title--hint);mask-image:var(--icon-question)}.admonition.tip>.admonition-title::before{background-color:var(--color-admonition-title--tip);mask-image:var(--icon-info)}.admonition.important>.admonition-title::before{background-color:var(--color-admonition-title--important);mask-image:var(--icon-flame)}.admonition.note>.admonition-title::before{background-color:var(--color-admonition-title--note);mask-image:var(--icon-pencil)}.admonition.video>.admonition-title::before{background-color:var(--color-admonition-title--video);mask-image:var(--icon-video)}.admonition.seealso>.admonition-title::before{background-color:var(--color-admonition-title--seealso);mask-image:var(--icon-info)}.admonition.admonition-todo>.admonition-title::before{background-color:var(--color-admonition-title--admonition-todo);mask-image:var(--icon-pencil)}}.admonition-todo>.admonition-title{text-transform:uppercase}a{text-decoration:none;color:inherit}.body p a,.body a.reference.internal:not(.image-reference),.body aside a,.body .line-block a{color:var(--accent-color);border-bottom:1px solid rgba(125,125,125,.25)}.body p a:hover,.body a.reference.internal:hover,.body aside a:hover,.body .line-block a:hover{border-color:var(--text-color2)}a.icon{margin:0;position:relative;margin-top:0;padding-left:1.5em;padding-top:.5em}a.icon::before{print-color-adjust:exact;-webkit-print-color-adjust:exact;content:"";position:absolute;left:0em;top:.25em;width:1.5em;height:1.5em}@media screen{a.icon::before{background-color:var(--color-link-title);mask-image:var(--icon-link-default);mask-repeat:no-repeat}}@media print{a.icon::before{background-image:var(--icon-link-default)}}@media screen{a.icon.adi::before{background-color:var(--color-link-title--adi);mask-image:var(--icon-adi)}a.icon.ez::before{background-color:var(--color-link-title--ez);mask-image:var(--icon-ez)}a.icon.git::before{background-color:var(--color-link-title--git);mask-image:var(--icon-git)}a.icon.other::before{background-color:var(--color-link-title--other);mask-image:var(--icon-external)}}@media print{a.icon.adi::before{background-image:var(--icon-adi)}a.icon.ez::before{background-image:var(--icon-ez)}a.icon.git::before{background-image:var(--icon-git)}a.icon.other::before{background-image:var(--icon-external)}}.headerlink{color:var(--accent-color);transition:opacity ease .125s;margin-left:.25em;user-select:none;opacity:0}.headerlink:after{content:"#"}:is(h1,h2,h3,h4,h5,h6):hover .headerlink,.literal-block-wrapper:hover .headerlink,.sig-object:hover .headerlink,figure:hover .headerlink,table:hover .headerlink{opacity:1}.search-area,.search-area-bg{top:0}.search-area{position:sticky}.search-area form{display:none}.search-area-bg{position:fixed;display:none}.search-area-bg.on{display:block}.search-area-bg{z-index:9;background:rgba(0,0,0,.35);left:0;right:0;bottom:0}.search-area{width:0;height:0;z-index:10;overflow:visible}.search-area.on form{display:flex}.search-area form{width:100vw;background:var(--bg-color1);padding:.5rem;height:3.5rem}.search-area form input{color:var(--text-color1);width:100%;padding-left:.5em}.search-area form button{cursor:pointer}.search-area form button:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.25rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}.search-area form button:before{background-position:left -6rem top}@media(min-width: 65em){.search-area form{margin-left:calc(40vw - 15rem);width:calc(60vw + 15rem)}}@media(min-width: 105em){.search-area form{max-width:62rem}}footer{border-top:1px solid rgba(125,125,125,.8);padding:1em}@media screen{footer{background:var(--bg-color1)}}@media(min-width: 65em)and (max-width: 80em){footer{margin-left:18rem}}@media(min-width: 80em){footer{margin-left:calc(40vw - 14em)}}@media(min-width: 105em){footer{max-width:60rem}}.related{padding:1.5em .5em 1em .5em;display:flex;justify-content:space-between}.related a:hover{color:var(--accent-color)}.related a{display:flex;align-items:center;max-width:50%}.related .prev{margin:0 auto 0 .5em}.related .next{margin:0 .5em 0 auto}.related .prev:before,.related .next:after{content:"";border:1px solid var(--text-color2);border-width:0 2px 2px 0;display:block;transition:transform ease .125s,margin-top ease .125s;width:.6em;height:.6em;z-index:-1}.related .prev:before{transform:rotate(135deg);margin-right:.5em}.related .next:after{transform:rotate(-45deg);margin-left:.5em}.sig-object{font-family:monospace;font-size:1rem}.sig-prename,.sig-name{color:var(--accent-color-code)}.sig-name,em.property{font-weight:600}em.sig-param,em.property{font-style:normal}.sig-object{transition:ease background-color .25s;background-color:rgba(125,125,125,0);padding:.25em .5rem;border-radius:1rem}.sig-object:hover{background-color:rgba(125,125,125,.1)}.code-block-caption{text-align:center;padding-bottom:.25em}.code-shell{background-color:var(--bg-color3);border-radius:.5rem;padding:.75em;margin-bottom:.5em;user-select:text;overflow-x:scroll}.code-shell .highlight{padding:0;white-space:collapse;margin:0;background:none !important;overflow:visible}.code-shell .float-left{float:left;clear:left;display:inline-block;margin-right:.25em;color:var(--accent-color)}.code-shell pre{margin:0}.code-shell .no-select{opacity:.8;user-select:none}@media not print{.only-print{display:none !important}}@media print{body{font-size:.8rem}.only-screen{display:none !important}header #left,header .reverse{display:none !important}body .highlight{background:none;border:1px solid var(--text-color3)}.code-shell{background:none;border:1px solid var(--text-color3)}.code-shell .highlight{border:none}.highlight pre{font-size:.8em}.body{padding:0}.sphinxsidebar,.repotoc-tree.overlay,.banner,.search-area,.reverse,#scroll-up{display:none}#right>span{width:100%}h1{break-before:always}.tocwrapper ul li a{width:100%}}.caption-number{color:var(--text-color2)}.caption-number:after{content:":";margin-left:-0.3em;margin-right:.2em}@media screen{table.docutils{box-shadow:var(--subtle-box-shadow)}}table.docutils{margin-top:.25em;margin-bottom:.5em;border-spacing:0;overflow:hidden;border-radius:.5rem;border:1px solid rgba(125,125,125,.25);border-bottom:none}table.docutils th{border-bottom:1px solid rgba(125,125,125,.5)}table.docutils td{border-bottom:1px solid rgba(125,125,125,.25)}table.docutils p{margin:0;text-align:left}table.docutils th,table.docutils td{padding:.5em}table.docutils tr:last-child{border-bottom:none}table.docutils thead:not(:first-child) th{font-weight:normal}table.docutils.grid{border-left:none}table.docutils.grid td,table.docutils.grid th{border-left:1px solid rgba(125,125,125,.25)}@media screen{table.docutils thead{background-color:var(--bg-color2)}}
+:root{--subtle-box-shadow: 0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);--subtle-box-shadow-button: 0 .2rem .5rem rgba(0,0,0,.1),0 0 .0625rem rgba(0,0,0,.15);--subtle-box-shadow-hover: 0 .3rem .6rem rgba(0,0,0,.2),0 0 .085rem rgba(0,0,0,.2);color-scheme:light dark}html{scroll-behavior:smooth}body{--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, ');--icon-adi: url('data:image/svg+xml;charset=utf-8, ');--icon-video: url('data:image/svg+xml;charset=utf-8, ');--icon-ez: url('data:image/svg+xml;charset=utf-8, ');--icon-external: url('data:image/svg+xml;charset=utf-8, ');--icon-git: url('data:image/svg+xml;charset=utf-8, ');--color-admonition-title--caution: #ff9100;--color-admonition-title-background--caution: rgba(255, 145, 0, 0.2);--color-admonition-title--warning: #ff9100;--color-admonition-title-background--warning: rgba(255, 145, 0, 0.2);--color-admonition-title--danger: #ff5252;--color-admonition-title-background--danger: rgba(255, 82, 82, 0.2);--color-admonition-title--attention: #ff5252;--color-admonition-title-background--attention: rgba(255, 82, 82, 0.2);--color-admonition-title--error: #ff5252;--color-admonition-title-background--error: rgba(255, 82, 82, 0.2);--color-admonition-title--hint: #00c852;--color-admonition-title-background--hint: rgba(0, 200, 82, 0.2);--color-admonition-title--tip: #00c852;--color-admonition-title-background--tip: rgba(0, 200, 82, 0.2);--color-admonition-title--important: #00bfa5;--color-admonition-title-background--important: rgba(0, 191, 165, 0.2);--color-admonition-title--note: #00b0ff;--color-admonition-title-background--note: rgba(0, 176, 255, 0.2);--color-admonition-title--video: #00b0ff;--color-admonition-title-background--video: rgba(0, 176, 255, 0.2);--color-admonition-title--seealso: #448aff;--color-admonition-title-background--seealso: rgba(68, 138, 255, 0.2);--color-admonition-title--admonition-todo: #808080;--color-admonition-title-background--admonition-todo: rgba(128, 128, 128, 0.2);--color-admonition-title: #651fff;--color-admonition-title-background: rgba(101, 31, 255, 0.2);--icon-admonition-default: var(--icon-abstract);--color-topic-title: #14B8A6;--color-topic-title-background: rgba(20, 184, 166, 0.2);--icon-topic-default: var(--icon-pencil);--color-link-title--adi: #0067b9;--color-link-title-background--adi: rgba(0, 103, 185, 0.2);--color-link-title--ez: #2eb251;--color-link-title-background--ez: rgba(46, 178, 81, 0.2);--color-link-title--git: #f05133;--color-link-title-background--git: rgba(240, 81, 51, 0.2);--color-link-title--other: #666666;--color-link-title-background--other: rgba(102, 102, 102, 0.2);--color-link-title: #14B8A6;--color-link-title-background: rgba(20, 184, 166, 0.2);--icon-link-default: var(--icon-adi)}body{--is-dark-theme: 0;--is-light-theme: 1;--display-dark: none;--display-light: inline-block;--bg-color1: #f9f9f9;--bg-color2: #f4f4f4;--bg-color3: #f0f0f0;--bg-color1-faded1: #f9f9f999;--bg-color1-faded2: #f9f9f9aa;--text-color1: #212836;--text-color2: #555;--text-color3: #888;--accent-color: #0067b9;--accent-color-code: #cc6d34;--bg-banner: #00305b;--text-color-banner: #fff}body.dark{--is-dark-theme: 1;--is-light-theme: 0;--display-dark: inline-block;--display-light: none;--bg-color1: #1a1a1a;--bg-color2: #111;--bg-color3: #202020;--bg-color1-faded1: #1a1a1aaa;--bg-color1-faded2: #1a1a1acc;--text-color1: #e5e5e5;--text-color2: #ccc;--text-color3: #aaa;--accent-color: #0076d6;--accent-color-code: #ff8d34;--bg-banner: #0088ff;--text-color-banner: #000}@media(prefers-color-scheme: dark){body:not(.light){--is-dark-theme: 1;--is-light-theme: 0;--display-dark: inline-block;--display-light: none;--bg-color1: #1a1a1a;--bg-color2: #111;--bg-color3: #202020;--bg-color1-faded1: #1a1a1a99;--bg-color1-faded2: #1a1a1aaa;--text-color1: #e5e5e5;--text-color2: #ccc;--text-color3: #aaa;--accent-color: #0076d6;--accent-color-code: #ff8d34;--bg-banner: #0088ff;--text-color-banner: #000}}body{margin:0;overflow-x:hidden}@media screen{body{background-color:var(--bg-color1);color:var(--text-color1)}}*{box-sizing:border-box}.body{width:100%;padding:0 1em;overflow-x:auto}@media(min-width: 105em){.bodywrapper>div{max-width:60rem}}@media(max-width: 105em){.bodywrapper>div{margin:0 auto}}@media(min-width: 65em){#vertical-border{position:fixed;height:100vh;border-left:1px solid rgba(125,125,125,.8);top:0;z-index:10}}@media(min-width: 65em)and (max-width: 80em){#vertical-border{left:17rem}.bodywrapper{margin-left:18rem}}@media(min-width: 80em){#vertical-border{left:calc(40vw - 15rem)}.bodywrapper{margin-left:calc(40vw - 14rem)}}@media(min-width: 65em){button#show-sidebar{display:none}.body{min-height:calc(100vh - 7rem)}}@media(max-width: 65em){.body{min-height:calc(100vh - 11.25rem)}}.body p,.body div.line{line-height:1.5em;margin:.25em 0 .75em 0}.body p{margin:.25em 0 .5em 0}.body div.line{margin:.25em 0}@media screen{.body p,.body div.line{text-align:justify}}.body ol p,.body ul p{margin:.25em 0}svg{display:block;margin:0 auto}.body table{margin:0 auto;line-height:1.5em}@media(min-width: 65em){#hdl-component-diagram svg{float:right;margin:-3em 0 0 1em;max-width:45%}}@media(max-width: 65em){svg{max-width:100%}}@media print{#hdl-component-diagram svg{float:right;margin:-3em 0 0 1em;max-width:45%}}@media print{svg{max-width:100%}}@font-face{font-family:"Barlow";src:url("fonts/barlow/Barlow-Medium.woff2") format("woff2");font-weight:500;font-style:normal}@font-face{font-family:"Barlow";src:url("fonts/barlow/Barlow-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal}@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Regular.woff2") format("woff2");font-weight:normal;font-style:normal}@font-face{font-family:"Inter";src:url("fonts/inter/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal}body{font-family:Inter,Arial,sans-serif}.body :is(h1,h2,h3,h4,h5,h6){font-family:Barlow,Arial,sans-serif;font-weight:500;margin:0;padding:1em 0 .25em 0}.body h1{font-size:1.6em}.body h2{font-size:1.5em}.body h3{font-size:1.4em}.body h4{font-size:1.3em}.body h5{font-size:1.25em}.body h6{font-size:1.2em}.sphinxsidebar .caption-text{font-family:Barlow,Arial,sans-serif;font-weight:600;font-size:1.1em}.bold{font-weight:600}input,textarea,select,button,summary{background:none;outline:none;border:none;font-size:1em}a,input,textarea,select,button,summary,label{-webkit-tap-highlight-color:rgba(0,0,0,0)}video{max-width:100%}@media screen{section,#top-anchor,aside,a,.literal-block-wrapper{scroll-margin-top:3.5rem}span{scroll-margin-top:2.5rem}}code.literal{border:1px solid rgba(125,125,125,.15);background:rgba(125,125,125,.05);border-radius:.5rem;padding:0em .2em .1em .2em}@media screen{code.literal,.highlight pre{font-size:1.1em}}@media print{code.literal{font-size:.9em}}a{overflow-wrap:anywhere}.highlight{padding:.75em;margin-bottom:.5em;border-radius:.5rem;overflow-x:auto}.highlight .hll{box-sizing:content-box;width:100%;display:block;margin:0 -0.75rem;padding:0 .75rem}.math-wrapper,.table-wrapper{width:100%;overflow-x:auto}img{display:block;margin:0 auto;max-width:100%}@media print{img{break-inside:avoid}}@media(min-width: 65em){.body img,.body figure{display:block;margin:0 auto;max-width:100%;padding:.5em}.body img.align-left,.body figure.align-left{float:left;clear:left;margin-right:.5em;max-width:45%}.body img.align-right,.body figure.align-right{float:right;clear:right;margin-left:.5em;max-width:45%}}@media print{.body img,.body figure{display:block;margin:0 auto;max-width:100%;padding:.5em}.body img.align-left,.body figure.align-left{float:left;clear:left;margin-right:.5em;max-width:45%}.body img.align-right,.body figure.align-right{float:right;clear:right;margin-left:.5em;max-width:45%}}.clear-both{clear:both}.clear-left{clear:both}.clear-right{clear:both}@media print{.break-after{break-after:always}.break-before{break-before:always}}@media(prefers-color-scheme: dark){body:not(.light) .body img{background:#fff;border-radius:.5rem}}body.dark .body img{background:#fff;border-radius:.5rem}.toctree-wrapper li{margin:.5em 0}table.regmap td.description{font-size:.8em}@media screen{table.regmap td:not(.description) code.literal{font-size:1em}}pre{margin:0}#hdl-parameters table p,#hdl-interfaces table p{white-space:break-spaces}aside.footnote p{margin:.5em 0 0 0}aside.footnote .label{padding:.15em .3em 0 0;white-space:nowrap;float:left}iframe{border:none}@media screen{.iframe-video p,.embed-video p{text-align:center}}.iframe-video iframe{box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden;display:block;margin:0 auto;width:59rem;height:33.1875rem}@media(max-width: 80em){.iframe-video{width:100%;overflow:hidden}}@media(min-width: 65em)and (max-width: 80em){.iframe-video iframe{width:calc(100vw - 20rem);height:calc(56.25vw - 11.25rem)}}@media(max-width: 65em){.iframe-video iframe{width:calc(100vw - 2rem);height:calc(56.25vw - 1.125rem)}}@media(min-width: 80em){.iframe-video.align-left{float:left;clear:left;margin-right:1em}.iframe-video.align-right{float:right;clear:right;margin-left:1em}.iframe-video.align-left iframe,.iframe-video.align-right iframe{width:24rem;height:13.49rem}}.esd-warning{border-radius:.5em;align-items:center;padding:.25rem .5em !important;font-size:.9em;text-align:justify}.esd-warning .icon{width:7rem;height:7rem;margin-right:.5rem;flex-shrink:0;background:url(esd-warning.svg);print-color-adjust:exact;-webkit-print-color-adjust:exact;background-size:contain}@media(min-width: 40em){.esd-warning{display:flex}}@media(max-width: 40em){.esd-warning .icon{margin:0 auto}}@media screen{.esd-warning{color:#000 !important;background:#ff0}}@media print{.esd-warning{break-inside:avoid;border:1px solid #ff0}}.image-reference{text-align:center}.image-reference:not(:has(.align-left,.align-right)){display:inline-block;width:100%}img{page-break-inside:avoid}.only-dark,.only-light,#badges img{background:none !important}#badges img{display:inline-block !important}.only-light{display:var(--display-light) !important}.only-dark{display:var(--display-dark) !important}figcaption p{text-align:center !important}.red{color:red}.green{color:green}hr{border-top:1px dashed var(--text-color2);border-bottom:None}@media(min-width: 65em){.body .flex{display:flex;flex-wrap:wrap}.body .grid{display:grid;grid-template-rows:auto}}@media print{.body .flex{display:flex;flex-wrap:wrap}.body .grid{display:grid;grid-template-rows:auto}}.banner{line-height:2em;background-color:var(--bg-banner);color:var(--text-color-banner);text-align:center;z-index:11;position:relative}.banner a{padding-left:.25em;font-weight:600;border-bottom:1px solid rgba(125,125,125,.25)}.banner a:hover{border-color:var(--text-color-banner)}.banner.on{display:block}@media screen{header{position:sticky}}header{z-index:7;width:100%;top:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}header label,header button{cursor:pointer}header #right span{display:flex;align-items:center}header #right span.reverse{flex-direction:row-reverse}header .icon:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.5rem .25rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}header #search:before{background-position:left -6rem top}header #theme:before{background-position:left -1.5rem bottom}header #left{margin:0 .25rem;display:flex;align-items:center}header #right{margin-right:.25rem}header #show-sidebar:before{background-position:left 0rem top;transition:.25s ease background-position}header #show-localtoc:before{background-position:left -3rem top;transition:.25s ease background-position}@media screen{header{border-bottom:1px solid rgba(125,125,125,.8)}}@media(min-width: 65em)and (max-width: 80em){.repotoc-tree.overlay root{padding-left:18em}}@media(min-width: 80em){.repotoc-tree.overlay root{padding-left:calc(40vw - 14em)}}.repotoc-tree.overlay{position:sticky;top:3.5rem;pointer-events:none;height:0;opacity:0;z-index:6;width:0;transition:opacity .25s ease;overflow-y:visible}.repotoc-tree.overlay root{background:var(--bg-color1);overflow-y:auto;padding-top:1em;height:calc(100vh - 3.5em);width:100vw;display:flex;flex-direction:column}.repotoc-tree.overlay a{cursor:pointer;display:block;width:fit-content;padding:0 .5em 0 .5em;transition:padding .4s ease;margin:0 .5em}.repotoc-tree.overlay a:hover{color:var(--accent-color);border-color:var(--accent-color)}.repotoc-tree.overlay a.current{color:var(--accent-color)}#input-show-toc:checked~header #show-sidebar:before{background-position:left 0rem bottom}#input-show-localtoc:checked~header #show-localtoc:before{background-position:left -3rem bottom}.dark header #theme:before{background-position:left -1.5rem top}@media(prefers-color-scheme: dark){header #theme:before{background-position:left -1.5rem top}.light header #theme:before{background-position:left -1.5rem bottom}}@media(min-width: 105em){header #show-localtoc{display:none}}@media screen and (max-width: 65em){header{border-bottom:1px solid rgba(125,125,125,.8)}}@media(max-width: 65em){header{display:flex;width:100%}}@media screen and (max-width: 65em){header{background:var(--bg-color1-faded1)}}header{height:3.5rem}header #right{display:flex;justify-content:space-between}header #logo-org{display:inline-block;width:5.375rem;height:1.5rem;margin:.75rem 0;background:url("./logo-org.svg") no-repeat center top;flex-shrink:0}header .vertical-divider{padding:0 .25rem 0 .75rem;border-right:1px solid rgba(125,125,125,.8);height:1.75rem}header #logo{padding-left:.25rem;height:3.5rem;overflow:hidden;display:flex;align-items:center;line-height:1rem}header #logo div{transition:margin .25s ease,opacity .25s ease}body.dark #logo-org{background-position:center bottom}@media(prefers-color-scheme: dark){body:not(.light) #logo-org{background-position:center bottom}}@media(max-width: 65em){header{backdrop-filter:blur(1em)}header #right{width:100%}}@media(min-width: 65em){header{background:var(--bg-color1)}header #left{display:none}header #right{text-align:right}}@media(min-width: 65em)and (max-width: 80em){header #right{margin-left:19rem}}@media(min-width: 80em){header #right{margin-left:calc(40vw - 13rem)}}@media(min-width: 105em){header #right{max-width:60rem}}@media(max-width: 65em){.repotoc-tree.overlay{display:none}}header #show-repotoc{display:flex;margin:0 .25em;align-items:center;border-radius:2em;padding:.5em .75em;border:1px solid rgba(125,125,125,0);user-select:none}header #show-repotoc:hover{border:1px solid rgba(125,125,125,.8)}header #show-repotoc:after{border:1px solid var(--text-color1);border-width:0 1px 1px 0;display:block;content:"";transition:transform ease .125s,margin ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);margin-top:1px;margin-left:.5em}@media print{header #show-repotoc{display:none}header #logo{margin-left:.5em}}@media(max-width: 65em){header #show-repotoc{display:none}header #logo{margin-left:.5em}}#input-show-repotoc:checked~header #show-repotoc:after{transform:rotate(45deg);margin-top:-5px;margin-left:calc(.5em + 2px);margin-right:-2px}@media(min-width: 65em){#input-show-repotoc:checked~header #logo div{margin-top:6em;opacity:0}}#input-show-repotoc:checked~div.repotoc-tree{pointer-events:initial;opacity:1}#input-show-repotoc:checked~div.repotoc-tree a{padding:.75em .5em}body:has(>#input-show-repotoc:checked){overflow-y:hidden}.sphinxsidebar{width:0}.sphinxsidebarwrapper{box-sizing:content-box;overflow-y:auto;height:calc(100vh - 3.5rem)}@media(max-width: 65em){.sphinxsidebar .repotoc-tree{display:contents}}@media(min-width: 65em){.sphinxsidebar .repotoc-tree{display:none}}@media(max-width: 65em){.sphinxsidebar{transition:.125s ease opacity,.25s ease margin;pointer-events:none;margin-left:-5rem;opacity:0}.sphinxsidebarwrapper{backdrop-filter:blur(1em);background:var(--bg-color1-faded2);box-shadow:.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15);width:18rem}#input-show-toc:checked~.sphinxsidebar{pointer-events:initial;margin-left:0;opacity:1}.sphinxsidebar .toctree{margin:1em auto 0}.sphinxsidebar #logo img,.sphinxsidebar #no-logo{display:none !important}}.sphinxsidebar #logo,.sphinxsidebar #no-logo{display:block;max-width:13rem}.sphinxsidebar #no-logo{font-size:1.5em;margin-bottom:.5rem}@media(min-width: 40em)and (max-width: 65em){.sphinxsidebar{width:18em;left:-19em}#input-show-toc:checked~.sphinxsidebar{box-shadow:.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15)}}#input-show-toc:checked~#cancel-area-show-toc,#input-show-localtoc:checked~#cancel-area-show-localtoc{z-index:3}#input-show-localtoc:checked~.localtoc,#input-show-toc:checked~.sphinxsidebar{z-index:5}@media(max-width: 40em){.sphinxsidebar{width:100vw;left:-100vw}}.sphinxsidebar ul{list-style-type:none;padding:0 0 0 .5em}.sphinxsidebar .caption-text{color:var(--text-color2)}.toctree-collapse{display:none}@media(min-width: 65em){button#show-sidebar{display:none}.sphinxsidebarwrapper{height:calc(100vh - 5rem);width:15rem}}@media(min-width: 65em)and (max-width: 80em){.sphinxsidebarwrapper{padding:1.5rem 1rem 0em 1rem}}@media(min-width: 80em){.sphinxsidebarwrapper{padding:1.5rem 1rem 0em calc(40vw - 31rem)}}@media(max-width: 65em){.toc-tree,.repotoc-tree{padding:1em}}.toc-tree,.sphinxsidebar .repotoc-tree{margin-bottom:10em}.toc-tree p.caption,.sphinxsidebar .repotoc-tree p.caption{margin:1em 0 .5em 0}.toc-tree>ul,.sphinxsidebar .repotoc-tree>ul{padding:0;margin:0}.toc-tree label,.sphinxsidebar .repotoc-tree label{cursor:pointer;display:block;padding:.6em .5em;height:1.75em;width:1.75em}.toc-tree .toctree-collapse~ul,.sphinxsidebar .repotoc-tree .toctree-collapse~ul{display:none}.toc-tree .toctree-collapse:checked~ul,.sphinxsidebar .repotoc-tree .toctree-collapse:checked~ul{display:block}.toc-tree .collapse,.sphinxsidebar .repotoc-tree .collapse{display:flex}.toc-tree a,.sphinxsidebar .repotoc-tree a{display:inline-block;line-height:1.75em;width:100%;padding:0 .5em 0 .75em;margin-left:-0.75em;border-radius:1rem;font-size:.9em;border:1px solid rgba(0,0,0,0)}.toc-tree a:hover,.sphinxsidebar .repotoc-tree a:hover{color:var(--accent-color)}.toc-tree a.current,.sphinxsidebar .repotoc-tree a.current{border-color:var(--accent-color);color:var(--accent-color)}.toc-tree label:hover .icon,.sphinxsidebar .repotoc-tree label:hover .icon{border-color:var(--accent-color) !important}.toc-tree label:hover,.toc-tree a:hover,.sphinxsidebar .repotoc-tree label:hover,.sphinxsidebar .repotoc-tree a:hover{background-color:var(--bg-color2)}.toc-tree .collapse label .icon,.sphinxsidebar .repotoc-tree .collapse label .icon{border:1px solid var(--text-color1);border-width:0 2px 2px 0;display:block;transition:transform ease .125s,margin ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);margin-top:0px;margin-left:-1px}.toc-tree .toctree-collapse:checked~.collapse .icon,.sphinxsidebar .repotoc-tree .toctree-collapse:checked~.collapse .icon{transform:rotate(45deg);margin-top:-2px;margin-left:1px}.toc-tree label,.sphinxsidebar .repotoc-tree label{border-radius:1rem}@media screen{.localtoc{right:auto;left:100vw;height:0;width:0}.tocwrapper{background:var(--bg-color1);height:calc(100vh - 4.5rem);overflow-y:auto}.tocwrapper nav{border-left:1px solid rgba(125,125,125,.5);max-width:20rem;margin-bottom:10em;color:var(--text-color2)}.tocwrapper nav>ul>li:first-child>a{display:none}.sphinxsidebar,.localtoc{z-index:2;position:sticky;top:3.5rem;height:0}}.localtoc .caption-text{font-weight:bold;color:var(--text-color2)}@media screen{.tocwrapper ul{padding:0 0 0 .5em}}@media print{.tocwrapper nav{padding-top:1em;margin-left:-1em}.tocwrapper ul{padding:0 0 0 1em}}@media screen{a:not(.current){letter-spacing:.005em}a.current{color:var(--accent-color);font-weight:bold;letter-spacing:-0.008em}}.tocwrapper{box-sizing:content-box;padding-top:1rem;font-size:.9em}.tocwrapper .caption-text{padding-left:1em}.tocwrapper ul{list-style-type:none}.tocwrapper a{display:inline-block;padding:.25em 0}.tocwrapper .localtoc-header{color:var(--text-color3)}.tocwrapper>div{display:flex;align-items:center}.tocwrapper #scroll-up{cursor:pointer;filter:invert(var(--is-dark-theme));margin-left:.25rem;opacity:.75}.tocwrapper #scroll-up:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.25rem;background:url("./icons.svg")}.tocwrapper #scroll-up:before{background-position:left -4.5rem top}@media screen{.localtoc-header{padding-left:1rem}.localtoc-header:before{content:"On this page"}}@media print{.localtoc-header{font-size:1.5em}.localtoc-header:before{content:"Table of contents"}}@media screen and (min-width: 105em){.tocwrapper{width:calc(60vw - 60rem + 13rem)}.localtoc{left:calc(40vw + 60rem - 13rem)}}@media(min-width: 65em){.sphinxsidebar #show-repotoc,.sphinxsidebar #show-toc{display:none}}.sphinxsidebar #show-repotoc,.sphinxsidebar #show-toc{cursor:pointer;user-select:none;align-items:center;background:var(--bg-color2)}.sphinxsidebar #show-repotoc{padding:1.5rem .5rem .5rem .5em}.sphinxsidebar #show-toc{padding:1.5rem .5rem .5rem 1em}.sphinxsidebar #show-repotoc:before,.sphinxsidebar #show-toc:after{content:"";display:block;width:1.5rem;height:1.5rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}.sphinxsidebar #show-repotoc:before{background-position:left -7.5rem bottom}.sphinxsidebar #show-toc:after{background-position:left -7.5rem top}@media(max-width: 65em){#input-switch-toc:checked~.repotoc-tree{display:block}#input-switch-toc:checked~.toc-tree{display:none}#show-toc{display:none}#show-repotoc,#input-switch-toc:checked~#show-toc{display:flex;justify-content:start}#input-switch-toc:checked~#show-repotoc{display:none}}.sphinxsidebar .repotoc-tree{display:none}@media screen and (max-width: 105em){.localtoc{transition:.125s ease opacity;pointer-events:none;opacity:0;direction:rtl}.localtoc .tocwrapper{direction:ltr;transition:.25s ease width;box-shadow:-0.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15);overflow-x:hidden;width:15rem}.localtoc .tocwrapper>div,.localtoc .tocwrapper>nav{width:20rem}#input-show-localtoc:checked~.localtoc{pointer-events:initial;opacity:1}#input-show-localtoc:checked~.localtoc .tocwrapper{width:20rem}}@media(max-width: 105em){#input-show-localtoc:checked~#cancel-area-show-localtoc{position:fixed;background:rgba(0,0,0,.05);top:0;left:0;right:0;bottom:0}}@media(max-width: 65em){#input-show-toc:checked~#cancel-area-show-toc{position:fixed;background:rgba(0,0,0,.05);top:0;left:0;right:0;bottom:0}}#input-show-toc,#input-show-localtoc,#input-show-repotoc,#input-switch-toc{display:none}.collapsible_input{display:none}.collapsible_content{overflow:auto;overflow:hidden;transition:ease opacity .25s}@media not print{.collapsible_content{height:0;opacity:0}.collapsible{border:1px solid rgba(125,125,125,.8);margin-bottom:.5em}.collapsible label{padding:.75em 1em .75em .75em}.collapsible label .icon{display:block}.collapsible table.docutils{border:none;width:100%}.collapsible_content{border-top:1px solid rgba(125,125,125,.8)}}@media print{.collapsible label{padding:.5em 0 .5em 0}.collapsible label .icon{display:none}}.collapsible_input:checked~label .icon{transform:rotate(45deg);margin-top:-0.5em}.collapsible_input:checked~.collapsible_content{height:100%;opacity:1}.collapsible{border-radius:.5rem}.collapsible label{width:100%;user-select:none;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.collapsible label .icon{border:1px solid var(--text-color1);border-width:0 2px 2px 0;transition:transform ease .125s,margin-top ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);z-index:-1;margin-left:.5em}.collapsible label p{margin:0;white-space:pre-wrap}.collapsible label,.collapsible div{transition:box-shadow ease .25s}.collapsible label:hover~div,.collapsible label:hover{box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}.collapsible label div>p:first-child{font-weight:600}.collapsible .container>p{margin-left:.5em;margin-right:.5em}.admonition,.topic{margin:0 auto .5em auto;padding:0 0 .5em 0;background:var(--color-admonition-background);border-radius:.5rem;overflow:hidden;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:.75em}.admonition p.admonition-title,p.topic-title{print-color-adjust:exact;-webkit-print-color-adjust:exact;margin:0;position:relative;margin-top:0;padding-left:2em;padding-top:.4em;padding-bottom:.4em;font-weight:500;line-height:1.3}.admonition p.admonition-title::before,p.topic-title::before{content:"";position:absolute;left:.5em;top:.5em;width:1em;height:1em}@media screen{p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title::before{background-color:var(--color-admonition-title);mask-image:var(--icon-admonition-default);mask-repeat:no-repeat}}@media print{p.admonition-title::before{opacity:.8}p.admonition-title::before{background-image:var(--icon-admonition-default)}}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title::before{background-color:var(--color-topic-title);mask-image:var(--icon-topic-default);mask-repeat:no-repeat}.admonition p,div.line{margin:0;padding:0 .5em}@media screen{.admonition.caution{border-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.warning{border-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.danger{border-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.attention{border-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.error{border-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.hint{border-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.tip{border-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.important{border-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.note{border-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.video{border-color:var(--color-admonition-title--video)}.admonition.video>.admonition-title{background-color:var(--color-admonition-title-background--video)}.admonition.seealso{border-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.admonition-todo{border-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}}@media print{.admonition-title{border-bottom:1px solid var(--color-admonition-title-background)}.admonition{break-inside:avoid}.admonition.caution>.admonition-title{border-color:var(--color-admonition-title-background--caution)}.admonition.warning>.admonition-title{border-color:var(--color-admonition-title-background--warning)}.admonition.danger>.admonition-title{border-color:var(--color-admonition-title-background--danger)}.admonition.attention>.admonition-title{border-color:var(--color-admonition-title-background--attention)}.admonition.error>.admonition-title{border-color:var(--color-admonition-title-background--error)}.admonition.hint>.admonition-title{border-color:var(--color-admonition-title-background--hint)}.admonition.tip>.admonition-title{border-color:var(--color-admonition-title-background--tip)}.admonition.important>.admonition-title{border-color:var(--color-admonition-title-background--important)}.admonition.note>.admonition-title{border-color:var(--color-admonition-title-background--note)}.admonition.video>.admonition-title{border-color:var(--color-admonition-title-background--video)}.admonition.seealso>.admonition-title{border-color:var(--color-admonition-title-background--seealso)}.admonition.admonition-todo>.admonition-title{border-color:var(--color-admonition-title-background--admonition-todo)}}.admonition{border:1px solid var(--color-admonition-title)}.admonition.caution{border-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{border-color:var(--color-admonition-title--caution)}.admonition.warning{border-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{border-color:var(--color-admonition-title--warning)}.admonition.danger{border-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{border-color:var(--color-admonition-title--danger)}.admonition.attention{border-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{border-color:var(--color-admonition-title--attention)}.admonition.error{border-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{border-color:var(--color-admonition-title--error)}.admonition.hint{border-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{border-color:var(--color-admonition-title--hint)}.admonition.tip{border-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{border-color:var(--color-admonition-title--tip)}.admonition.important{border-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{border-color:var(--color-admonition-title--important)}.admonition.note{border-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{border-color:var(--color-admonition-title--note)}.admonition.video{border-color:var(--color-admonition-title--video)}.admonition.video>.admonition-title{border-color:var(--color-admonition-title--video)}.admonition.seealso{border-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{border-color:var(--color-admonition-title--seealso)}.admonition.admonition-todo{border-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{border-color:var(--color-admonition-title--admonition-todo)}@media print{.admonition.caution>.admonition-title::before{background-image:var(--icon-spark)}.admonition.warning>.admonition-title::before{background-image:var(--icon-warning)}.admonition.danger>.admonition-title::before{background-image:var(--icon-spark)}.admonition.attention>.admonition-title::before{background-image:var(--icon-warning)}.admonition.error>.admonition-title::before{background-image:var(--icon-failure)}.admonition.hint>.admonition-title::before{background-image:var(--icon-question)}.admonition.tip>.admonition-title::before{background-image:var(--icon-info)}.admonition.important>.admonition-title::before{background-image:var(--icon-flame)}.admonition.note>.admonition-title::before{background-image:var(--icon-pencil)}.admonition.video>.admonition-title::before{background-image:var(--icon-video)}.admonition.seealso>.admonition-title::before{background-image:var(--icon-info)}.admonition.admonition-todo>.admonition-title::before{background-image:var(--icon-pencil)}}@media screen{.admonition.caution>.admonition-title::before{background-color:var(--color-admonition-title--caution);mask-image:var(--icon-spark)}.admonition.warning>.admonition-title::before{background-color:var(--color-admonition-title--warning);mask-image:var(--icon-warning)}.admonition.danger>.admonition-title::before{background-color:var(--color-admonition-title--danger);mask-image:var(--icon-spark)}.admonition.attention>.admonition-title::before{background-color:var(--color-admonition-title--attention);mask-image:var(--icon-warning)}.admonition.error>.admonition-title::before{background-color:var(--color-admonition-title--error);mask-image:var(--icon-failure)}.admonition.hint>.admonition-title::before{background-color:var(--color-admonition-title--hint);mask-image:var(--icon-question)}.admonition.tip>.admonition-title::before{background-color:var(--color-admonition-title--tip);mask-image:var(--icon-info)}.admonition.important>.admonition-title::before{background-color:var(--color-admonition-title--important);mask-image:var(--icon-flame)}.admonition.note>.admonition-title::before{background-color:var(--color-admonition-title--note);mask-image:var(--icon-pencil)}.admonition.video>.admonition-title::before{background-color:var(--color-admonition-title--video);mask-image:var(--icon-video)}.admonition.seealso>.admonition-title::before{background-color:var(--color-admonition-title--seealso);mask-image:var(--icon-info)}.admonition.admonition-todo>.admonition-title::before{background-color:var(--color-admonition-title--admonition-todo);mask-image:var(--icon-pencil)}}.admonition-todo>.admonition-title{text-transform:uppercase}a{text-decoration:none;color:inherit}.body p a,.body a.reference.internal:not(.image-reference),.body aside a,.body .line-block a{color:var(--accent-color);border-bottom:1px solid rgba(125,125,125,.25)}.body p a:hover,.body a.reference.internal:hover,.body aside a:hover,.body .line-block a:hover{border-color:var(--text-color2)}a.icon{margin:0;position:relative;margin-top:0;padding-left:1.5em;padding-top:.5em}a.icon::before{print-color-adjust:exact;-webkit-print-color-adjust:exact;content:"";position:absolute;left:0em;top:.25em;width:1.5em;height:1.5em}@media screen{a.icon::before{background-color:var(--color-link-title);mask-image:var(--icon-link-default);mask-repeat:no-repeat}}@media print{a.icon::before{background-image:var(--icon-link-default)}}@media screen{a.icon.adi::before{background-color:var(--color-link-title--adi);mask-image:var(--icon-adi)}a.icon.ez::before{background-color:var(--color-link-title--ez);mask-image:var(--icon-ez)}a.icon.git::before{background-color:var(--color-link-title--git);mask-image:var(--icon-git)}a.icon.other::before{background-color:var(--color-link-title--other);mask-image:var(--icon-external)}}@media print{a.icon.adi::before{background-image:var(--icon-adi)}a.icon.ez::before{background-image:var(--icon-ez)}a.icon.git::before{background-image:var(--icon-git)}a.icon.other::before{background-image:var(--icon-external)}}.headerlink{color:var(--accent-color);transition:opacity ease .125s;margin-left:.25em;user-select:none;opacity:0}.headerlink:after{content:"#"}:is(h1,h2,h3,h4,h5,h6):hover .headerlink,.literal-block-wrapper:hover .headerlink,.sig-object:hover .headerlink,figure:hover .headerlink,table:hover .headerlink{opacity:1}.search-area,.search-area-bg{top:0}.search-area{position:sticky}.search-area form{display:none}.search-area-bg{position:fixed;display:none}.search-area-bg.on{display:block}.search-area-bg{z-index:9;background:rgba(0,0,0,.35);left:0;right:0;bottom:0}.search-area{width:0;height:0;z-index:10;overflow:visible}.search-area.on form{display:flex}.search-area form{width:100vw;background:var(--bg-color1);padding:.5rem;height:3.5rem}.search-area form input{color:var(--text-color1);width:100%;padding-left:.5em}.search-area form button{cursor:pointer}.search-area form button:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.25rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}.search-area form button:before{background-position:left -6rem top}@media(min-width: 65em){.search-area form{margin-left:calc(40vw - 15rem);width:calc(60vw + 15rem)}}@media(min-width: 105em){.search-area form{max-width:62rem}}footer{border-top:1px solid rgba(125,125,125,.8);padding:1em}@media screen{footer{background:var(--bg-color1)}}@media(min-width: 65em)and (max-width: 80em){footer{margin-left:18rem}}@media(min-width: 80em){footer{margin-left:calc(40vw - 14em)}}@media(min-width: 105em){footer{max-width:60rem}}.related{padding:1.5em .5em 1em .5em;display:flex;justify-content:space-between}.related a:hover{color:var(--accent-color)}.related a{display:flex;align-items:center;max-width:50%}.related .prev{margin:0 auto 0 .5em}.related .next{margin:0 .5em 0 auto}.related .prev:before,.related .next:after{content:"";border:1px solid var(--text-color2);border-width:0 2px 2px 0;display:block;transition:transform ease .125s,margin-top ease .125s;width:.6em;height:.6em;z-index:-1}.related .prev:before{transform:rotate(135deg);margin-right:.5em}.related .next:after{transform:rotate(-45deg);margin-left:.5em}.sig-object{font-family:monospace;font-size:1rem}.sig-prename,.sig-name{color:var(--accent-color-code)}.sig-name,em.property{font-weight:600}em.sig-param,em.property{font-style:normal}.sig-object{transition:ease background-color .25s;background-color:rgba(125,125,125,0);padding:.25em .5rem;border-radius:1rem}.sig-object:hover{background-color:rgba(125,125,125,.1)}.code-block-caption{text-align:center;padding-bottom:.25em}.code-shell{background-color:var(--bg-color3);border-radius:.5rem;padding:.75em;margin-bottom:.5em;user-select:text;overflow-x:scroll}.code-shell .highlight{padding:0;white-space:collapse;margin:0;background:none !important;overflow:visible}.code-shell .float-left{float:left;clear:left;display:inline-block;margin-right:.25em;color:var(--accent-color)}.code-shell pre{margin:0}.code-shell .no-select{opacity:.8;user-select:none}@media not print{.only-print{display:none !important}}@media print{body{font-size:.8rem}.only-screen{display:none !important}header #left,header .reverse{display:none !important}body .highlight{background:none;border:1px solid var(--text-color3)}.code-shell{background:none;border:1px solid var(--text-color3)}.code-shell .highlight{border:none}.highlight pre{font-size:.8em}.body{padding:0}.sphinxsidebar,.repotoc-tree.overlay,.banner,.search-area,.reverse,#scroll-up{display:none}#right>span{width:100%}h1{break-before:always}.tocwrapper ul li a{width:100%}}.caption-number{color:var(--text-color2)}.caption-number:after{content:":";margin-left:-0.3em;margin-right:.2em}@media screen{table.docutils{box-shadow:var(--subtle-box-shadow)}}table.docutils{margin-top:.25em;margin-bottom:.5em;border-spacing:0;overflow:hidden;border-radius:.5rem;border:1px solid rgba(125,125,125,.25);border-bottom:none}table.docutils th{border-bottom:1px solid rgba(125,125,125,.5)}table.docutils td{border-bottom:1px solid rgba(125,125,125,.25)}table.docutils p{margin:0;text-align:left}table.docutils th,table.docutils td{padding:.5em}table.docutils tr:last-child{border-bottom:none}table.docutils.grid{border-left:none}table.docutils.grid td,table.docutils.grid th{border-left:1px solid rgba(125,125,125,.25)}table.docutils.bold-header thead,table.docutils.bold-first-column tbody tr td:first-child{font-weight:bold}@media screen{table.docutils thead{background-color:var(--bg-color2)}}
/*# sourceMappingURL=style.min.css.map */
\ No newline at end of file
diff --git a/_static/style.min.css.map b/_static/style.min.css.map
index 7b314ad..6b7f72f 100644
--- a/_static/style.min.css.map
+++ b/_static/style.min.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/style.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_icons.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_admonition.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_links.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/variable.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/font.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/element.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/header.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/sidebar.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/collapsible.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/admonition.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/links.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/search.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/footer.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/related.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/code.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/print.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/caption.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/table.scss"],"names":[],"mappings":"AAKA,MACI,+EACA,sFACA,mFACA,wBAGJ,KACI,uBAGJ,KC2BI,41NCTI,2CACA,qEADA,2CACA,qEADA,0CACA,oEADA,6CACA,uEADA,yCACA,mEADA,wCACA,iEADA,uCACA,gEADA,6CACA,uEADA,wCACA,kEADA,yCACA,mEADA,2CACA,sEADA,mDACA,+EAhBJ,kCACA,6DAEA,gDAIA,6BACA,wDAEA,yCCZI,iCACA,2DADA,gCACA,0DADA,iCACA,2DADA,mCACA,+DATJ,4BACA,uDAEA,qCHaJ,KACI,mBACA,oBACA,qBACA,8BACA,qBACA,qBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,0BAGJ,UACI,mBACA,oBACA,6BACA,sBACA,qBACA,kBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,0BAGJ,mCACI,iBACI,mBACA,oBACA,6BACA,sBACA,qBACA,kBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,2BAIR,KACI,SACA,kBAGJ,cACI,KACI,kCACA,0BAIR,EACI,sBAGJ,MACI,WACA,cACA,gBAGJ,yBACE,iBACI,iBAIN,yBACI,iBACI,eAIR,wBACI,iBACI,eACA,aACA,YIvGO,+BJwGP,MACA,YAIR,6CACI,iBACI,WAGJ,aACI,mBAIR,wBACI,iBACI,wBAGJ,aACI,gCAIR,wBACI,oBACE,aAGF,MACI,+BAIR,wBACI,MACI,mCAKJ,uBACI,kBACA,uBAGJ,QACI,sBAGJ,eACI,eAIR,cAEQ,uBACI,oBAKZ,sBACI,eAGJ,IACI,cACA,cAGJ,YACI,cACA,kBAGJ,wBACI,2BACI,YACA,oBACA,eAIR,wBACI,IACI,gBAIR,aACI,2BACI,YACA,oBACA,eAIR,aACI,IACI,gBKjOR,WACI,qBACA,4DACA,gBACA,kBAGJ,WACI,qBACA,8DACA,gBACA,kBAGJ,WACI,oBACA,2DACA,mBACA,kBAGJ,WACI,oBACA,4DACA,gBACA,kBAGJ,KACI,mCAGJ,6BACI,oCACA,gBACA,S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BACA,UACA,SACA,UACA,WAKR,cACI,mBACI,0DACA,2BACI,+CACA,0CACA,uBAIZ,aAEQ,2BACI,WAIJ,2BACI,iDAKZ,cACI,qDACA,sBACI,0CACA,qCACA,sBAIR,uBACI,SACA,eAIJ,cAGY,oBACI,oDACA,sCACI,mEAHR,oBACI,oDACA,sCACI,mEAHR,mBACI,mDACA,qCACI,kEAHR,sBACI,sDACA,wCACI,qEAHR,kBACI,kDACA,oCACI,iEAHR,iBACI,iDACA,mCACI,gEAHR,gBACI,gDACA,kCACI,+DAHR,sBACI,sDACA,wCACI,qEAHR,iBACI,iDACA,mCACI,gEAHR,kBACI,kDACA,oCACI,iEAHR,oBACI,oDACA,sCACI,mEAHR,4BACI,4DACA,8CACI,4EAOpB,aACI,kBACI,iEAGJ,YACI,mBAIQ,sCACI,+DADJ,sCACI,+DADJ,qCACI,8DADJ,wCACI,iEADJ,oCACI,6DADJ,mCACI,4DADJ,kCACI,2DADJ,wCACI,iEADJ,mCACI,4DADJ,oCACI,6DADJ,sCACI,+DADJ,8CACI,wEAOpB,YACI,+CAGI,oBACI,oDACA,sCACI,oDAHR,oBACI,oDACA,sCACI,oDAHR,mBACI,mDACA,qCACI,mDAHR,sBACI,sDACA,wCACI,sDAHR,kBACI,kDACA,oCACI,kDAHR,iBACI,iDACA,mCACI,iDAHR,gBACI,gDACA,kCACI,gDAHR,sBACI,sDACA,wCACI,sDAHR,iBACI,iDACA,mCACI,iDAHR,kBACI,kDACA,oCACI,kDAHR,oBACI,oDACA,sCACI,oDAHR,4BACI,4DACA,8CACI,4DAMhB,aAKoB,8CACI,mCADJ,8CACI,qCADJ,6CACI,mCADJ,gDACI,qCADJ,4CACI,qCADJ,2CACI,sCADJ,0CACI,kCADJ,gDACI,mCADJ,2CACI,oCADJ,4CACI,mCADJ,8CACI,kCADJ,sDACI,qCAQxB,cAKoB,8CACI,wDACA,6BAFJ,8CACI,wDACA,+BAFJ,6CACI,uDACA,6BAFJ,gDACI,0DACA,+BAFJ,4CACI,sDACA,+BAFJ,2CACI,qDACA,gCAFJ,0CACI,oDACA,4BAFJ,gDACI,0DACA,6BAFJ,2CACI,qDACA,8BAFJ,4CACI,sDACA,6BAFJ,8CACI,wDACA,4BAFJ,sDACI,gEACA,+BAQxB,mCACI,yBC9JJ,EACI,qBACA,cAIA,6FACI,0BACA,8CAGJ,+FACI,gCAIR,OACI,SACA,kBACA,aACA,mBACA,iBAGA,eACI,yBACA,iCACA,WACA,kBACA,SACA,UACA,YACA,aAKR,cAEQ,eACI,yCACA,oCACA,uBAKZ,aAEQ,eACI,2CAMZ,cAIgB,mBACI,8CACA,2BAFJ,kBACI,6CACA,0BAFJ,mBACI,8CACA,2BAFJ,qBACI,gDACA,iCAOpB,aAIgB,mBACI,iCADJ,kBACI,gCADJ,mBACI,iCADJ,qBACI,uCAQpB,YACI,0BACA,8BACA,kBACA,iBACA,UAEA,kBACI,YAIR,iKAKI,UCpGJ,6BACI,MAGJ,aACI,gBAEJ,kBACI,aAGJ,gBACI,eACA,aAGJ,mBACI,cAGJ,gBACI,UACA,2BACA,OACA,QACA,SAGJ,aACI,QACA,SACA,WACA,iBAGJ,qBACI,aAGJ,kBACI,YACA,4BACA,cACA,cAGA,wBACI,yBACA,WACA,kBAGJ,yBACI,eAGJ,gCACI,WACA,cACA,aACA,cACA,cACA,8BACA,oCAGJ,gCACI,mCAIR,wBACI,kBACI,+BACA,0BAIR,yBACI,kBACI,iBChFR,OACI,WTgBW,+BSfX,YAGJ,cACI,OACI,6BAIR,6CACI,OACI,mBAIR,wBACI,OACI,+BAIR,yBACI,OACI,iBC3BR,SACI,4BACA,aACA,8BAEA,iBACI,0BAGJ,WACI,aACA,mBACA,cAGJ,eACI,qBAGJ,eACI,qBAGJ,2CACI,WACA,oCACA,yBACA,cACA,sDACA,WACA,YACA,WAGJ,sBACI,yBACA,kBAGJ,qBACI,yBACA,iBCvCR,YACI,sBACA,eAGJ,uBACI,+BAGJ,sBACI,gBAGJ,yBACI,kBAGJ,YACI,sCACA,qCACA,oBACA,mBAGJ,kBACI,sCAGJ,oBACI,kBACA,qBAIJ,YACI,kCACA,cXZY,MWaZ,cACA,mBACA,iBACA,kBAEA,uBACI,UACA,qBACA,SACA,2BACA,iBAGJ,wBACI,WACA,WACA,qBACA,mBACA,0BAGJ,gBACI,SAGJ,uBACI,WACA,iBClER,iBACI,YACI,yBAIR,aACI,KACI,gBAGJ,aACI,wBAGJ,6BACI,wBAGJ,gBACI,gBACA,oCAGJ,YACI,gBACA,oCAEA,uBACI,YAKJ,eACI,eAIR,MACI,UAGJ,8EAII,aAGJ,YACI,WAGJ,GACI,oBAGJ,oBACI,YC3DR,gBACI,yBAGJ,sBACI,YACA,mBACA,kBCLJ,cACI,eACI,qCAIR,eACI,iBACA,mBACA,iBACA,gBACA,cdaY,McZZ,OdOQ,gCcNR,mBAEA,kBACI,cdEI,+BcCR,kBACI,cdDI,gCcIR,iBACI,SACA,gBAGJ,oCACI,aAGJ,6BACI,mBAGJ,0CACI,mBAGJ,oBACI,iBACA,8CACI,YdxBA,gCc6BZ,cAEQ,qBACI","file":"style.min.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/style.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_icons.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_admonition.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_links.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/variable.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/font.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/element.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/header.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/sidebar.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/collapsible.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/admonition.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/links.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/search.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/footer.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/related.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/code.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/print.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/caption.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/table.scss"],"names":[],"mappings":"AAKA,MACI,+EACA,sFACA,mFACA,wBAGJ,KACI,uBAGJ,KC2BI,41NCTI,2CACA,qEADA,2CACA,qEADA,0CACA,oEADA,6CACA,uEADA,yCACA,mEADA,wCACA,iEADA,uCACA,gEADA,6CACA,uEADA,wCACA,kEADA,yCACA,mEADA,2CACA,sEADA,mDACA,+EAhBJ,kCACA,6DAEA,gDAIA,6BACA,wDAEA,yCCZI,iCACA,2DADA,gCACA,0DADA,iCACA,2DADA,mCACA,+DATJ,4BACA,uDAEA,qCHaJ,KACI,mBACA,oBACA,qBACA,8BACA,qBACA,qBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,0BAGJ,UACI,mBACA,oBACA,6BACA,sBACA,qBACA,kBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,0BAGJ,mCACI,iBACI,mBACA,oBACA,6BACA,sBACA,qBACA,kBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,2BAIR,KACI,SACA,kBAGJ,cACI,KACI,kCACA,0BAIR,EACI,sBAGJ,MACI,WACA,cACA,gBAGJ,yBACE,iBACI,iBAIN,yBACI,iBACI,eAIR,wBACI,iBACI,eACA,aACA,YIvGO,+BJwGP,MACA,YAIR,6CACI,iBACI,WAGJ,aACI,mBAIR,wBACI,iBACI,wBAGJ,aACI,gCAIR,wBACI,oBACE,aAGF,MACI,+BAIR,wBACI,MACI,mCAKJ,uBACI,kBACA,uBAGJ,QACI,sBAGJ,eACI,eAIR,cAEQ,uBACI,oBAKZ,sBACI,eAGJ,IACI,cACA,cAGJ,YACI,cACA,kBAGJ,wBACI,2BACI,YACA,oBACA,eAIR,wBACI,IACI,gBAIR,aACI,2BACI,YACA,oBACA,eAIR,aACI,IACI,gBKjOR,WACI,qBACA,4DACA,gBACA,kBAGJ,WACI,qBACA,8DACA,gBACA,kBAGJ,WACI,oBACA,2DACA,mBACA,kBAGJ,WACI,oBACA,4DACA,gBACA,kBAGJ,KACI,mCAGJ,6BACI,oCACA,gBACA,S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ACA,UACA,SACA,UACA,WAKR,cACI,mBACI,0DACA,2BACI,+CACA,0CACA,uBAIZ,aAEQ,2BACI,WAIJ,2BACI,iDAKZ,cACI,qDACA,sBACI,0CACA,qCACA,sBAIR,uBACI,SACA,eAIJ,cAGY,oBACI,oDACA,sCACI,mEAHR,oBACI,oDACA,sCACI,mEAHR,mBACI,mDACA,qCACI,kEAHR,sBACI,sDACA,wCACI,qEAHR,kBACI,kDACA,oCACI,iEAHR,iBACI,iDACA,mCACI,gEAHR,gBACI,gDACA,kCACI,+DAHR,sBACI,sDACA,wCACI,qEAHR,iBACI,iDACA,mCACI,gEAHR,kBACI,kDACA,oCACI,iEAHR,oBACI,oDACA,sCACI,mEAHR,4BACI,4DACA,8CACI,4EAOpB,aACI,kBACI,iEAGJ,YACI,mBAIQ,sCACI,+DADJ,sCACI,+DADJ,qCACI,8DADJ,wCACI,iEADJ,oCACI,6DADJ,mCACI,4DADJ,kCACI,2DADJ,wCACI,iEADJ,mCACI,4DADJ,oCACI,6DADJ,sCACI,+DADJ,8CACI,wEAOpB,YACI,+CAGI,oBACI,oDACA,sCACI,oDAHR,oBACI,oDACA,sCACI,oDAHR,mBACI,mDACA,qCACI,mDAHR,sBACI,sDACA,wCACI,sDAHR,kBACI,kDACA,oCACI,kDAHR,iBACI,iDACA,mCACI,iDAHR,gBACI,gDACA,kCACI,gDAHR,sBACI,sDACA,wCACI,sDAHR,iBACI,iDACA,mCACI,iDAHR,kBACI,kDACA,oCACI,kDAHR,oBACI,oDACA,sCACI,oDAHR,4BACI,4DACA,8CACI,4DAMhB,aAKoB,8CACI,mCADJ,8CACI,qCADJ,6CACI,mCADJ,gDACI,qCADJ,4CACI,qCADJ,2CACI,sCADJ,0CACI,kCADJ,gDACI,mCADJ,2CACI,oCADJ,4CACI,mCADJ,8CACI,kCADJ,sDACI,qCAQxB,cAKoB,8CACI,wDACA,6BAFJ,8CACI,wDACA,+BAFJ,6CACI,uDACA,6BAFJ,gDACI,0DACA,+BAFJ,4CACI,sDACA,+BAFJ,2CACI,qDACA,gCAFJ,0CACI,oDACA,4BAFJ,gDACI,0DACA,6BAFJ,2CACI,qDACA,8BAFJ,4CACI,sDACA,6BAFJ,8CACI,wDACA,4BAFJ,sDACI,gEACA,+BAQxB,mCACI,yBC9JJ,EACI,qBACA,cAIA,6FACI,0BACA,8CAGJ,+FACI,gCAIR,OACI,SACA,kBACA,aACA,mBACA,iBAGA,eACI,yBACA,iCACA,WACA,kBACA,SACA,UACA,YACA,aAKR,cAEQ,eACI,yCACA,oCACA,uBAKZ,aAEQ,eACI,2CAMZ,cAIgB,mBACI,8CACA,2BAFJ,kBACI,6CACA,0BAFJ,mBACI,8CACA,2BAFJ,qBACI,gDACA,iCAOpB,aAIgB,mBACI,iCADJ,kBACI,gCADJ,mBACI,iCADJ,qBACI,uCAQpB,YACI,0BACA,8BACA,kBACA,iBACA,UAEA,kBACI,YAIR,iKAKI,UCpGJ,6BACI,MAGJ,aACI,gBAEJ,kBACI,aAGJ,gBACI,eACA,aAGJ,mBACI,cAGJ,gBACI,UACA,2BACA,OACA,QACA,SAGJ,aACI,QACA,SACA,WACA,iBAGJ,qBACI,aAGJ,kBACI,YACA,4BACA,cACA,cAGA,wBACI,yBACA,WACA,kBAGJ,yBACI,eAGJ,gCACI,WACA,cACA,aACA,cACA,cACA,8BACA,oCAGJ,gCACI,mCAIR,wBACI,kBACI,+BACA,0BAIR,yBACI,kBACI,iBChFR,OACI,WTgBW,+BSfX,YAGJ,cACI,OACI,6BAIR,6CACI,OACI,mBAIR,wBACI,OACI,+BAIR,yBACI,OACI,iBC3BR,SACI,4BACA,aACA,8BAEA,iBACI,0BAGJ,WACI,aACA,mBACA,cAGJ,eACI,qBAGJ,eACI,qBAGJ,2CACI,WACA,oCACA,yBACA,cACA,sDACA,WACA,YACA,WAGJ,sBACI,yBACA,kBAGJ,qBACI,yBACA,iBCvCR,YACI,sBACA,eAGJ,uBACI,+BAGJ,sBACI,gBAGJ,yBACI,kBAGJ,YACI,sCACA,qCACA,oBACA,mBAGJ,kBACI,sCAGJ,oBACI,kBACA,qBAIJ,YACI,kCACA,cXZY,MWaZ,cACA,mBACA,iBACA,kBAEA,uBACI,UACA,qBACA,SACA,2BACA,iBAGJ,wBACI,WACA,WACA,qBACA,mBACA,0BAGJ,gBACI,SAGJ,uBACI,WACA,iBClER,iBACI,YACI,yBAIR,aACI,KACI,gBAGJ,aACI,wBAGJ,6BACI,wBAGJ,gBACI,gBACA,oCAGJ,YACI,gBACA,oCAEA,uBACI,YAKJ,eACI,eAIR,MACI,UAGJ,8EAII,aAGJ,YACI,WAGJ,GACI,oBAGJ,oBACI,YC3DR,gBACI,yBAGJ,sBACI,YACA,mBACA,kBCLJ,cACI,eACI,qCAIR,eACI,iBACA,mBACA,iBACA,gBACA,cdaY,McZZ,OdOQ,gCcNR,mBAEA,kBACI,cdEI,+BcCR,kBACI,cdDI,gCcIR,iBACI,SACA,gBAGJ,oCACI,aAGJ,6BACI,mBAGJ,oBACI,iBACA,8CACI,YdpBA,gCcwBR,0FAEI,iBAIR,cAEQ,qBACI","file":"style.min.css"}
\ No newline at end of file
diff --git a/ci.html b/ci.html
index 2d1eafd..6f47b51 100644
--- a/ci.html
+++ b/ci.html
@@ -7,7 +7,7 @@
Continuous integration — Doctools documentation
-
+
diff --git a/cli.html b/cli.html
index 14543fc..9e55f8e 100644
--- a/cli.html
+++ b/cli.html
@@ -7,7 +7,7 @@
Command line interface — Doctools documentation
-
+
diff --git a/docs_guidelines.html b/docs_guidelines.html
index a1ada6b..eceafc2 100644
--- a/docs_guidelines.html
+++ b/docs_guidelines.html
@@ -7,7 +7,7 @@
Documentation guidelines — Doctools documentation
-
+
@@ -552,6 +552,11 @@ Text width
if strictly necessary, since they are hard to update.
+ To tune styling, the following classes are available:
+
Lists
diff --git a/fundamentals.html b/fundamentals.html
index 04078e7..f9fcac9 100644
--- a/fundamentals.html
+++ b/fundamentals.html
@@ -7,7 +7,7 @@
Fundamentals — Doctools documentation
-
+
diff --git a/genindex.html b/genindex.html
index f2c34e5..1f195b7 100644
--- a/genindex.html
+++ b/genindex.html
@@ -6,7 +6,7 @@
Index — Doctools documentation
-
+
diff --git a/index.html b/index.html
index 16d3ebf..d232244 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
Analog Devices Doctools — Doctools documentation
-
+
diff --git a/install.html b/install.html
index f3921f0..fb2ca35 100644
--- a/install.html
+++ b/install.html
@@ -7,7 +7,7 @@
Installing — Doctools documentation
-
+
diff --git a/search.html b/search.html
index e17420f..89f5038 100644
--- a/search.html
+++ b/search.html
@@ -6,7 +6,7 @@
Search — Doctools documentation
-
+
diff --git a/searchindex.js b/searchindex.js
index ef63b21..b6baf3f 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"ADI role": [[2, "adi-role"]], "Aggregate": [[1, "aggregate"]], "Analog Devices Doctools": [[4, null]], "Clear content directive": [[2, "clear-content-directive"]], "Code": [[2, "code"]], "Collapsible directive": [[2, "collapsible-directive"]], "Color role": [[2, "color-role"]], "Command line interface": [[1, null]], "Common sections": [[2, "common-sections"]], "Container directives": [[2, "container-directives"]], "Continuous integration": [[0, null]], "Custom Doc": [[1, "custom-doc"]], "Custom directives and roles": [[2, "custom-directives-and-roles"]], "Development install": [[5, "development-install"]], "Doctools package pipeline": [[0, "doctools-package-pipeline"]], "Documentation build and deployment": [[0, "documentation-build-and-deployment"]], "Documentation guidelines": [[2, null]], "Documentation hierarchical structure": [[3, "documentation-hierarchical-structure"]], "Dokuwiki role": [[2, "dokuwiki-role"]], "DownGit role": [[2, "downgit-role"]], "Dynamic elements": [[2, "dynamic-elements"]], "ESD warning directive": [[2, "esd-warning-directive"]], "EngineerZone role": [[2, "engineerzone-role"]], "Exporting to PDF": [[2, "exporting-to-pdf"]], "External references": [[2, "external-references"]], "Fetch third-party resources": [[5, "fetch-third-party-resources"]], "Flex directive": [[2, "flex-directive"]], "Fundamentals": [[3, null]], "Git Large File Storage": [[2, "git-large-file-storage"]], "Git role": [[2, "git-role"]], "Global options for directives": [[2, "global-options-for-directives"]], "Grid directive": [[2, "grid-directive"]], "HDL Render": [[1, "hdl-render"]], "HDL build status directive": [[2, "hdl-build-status-directive"]], "HDL common sections": [[2, "hdl-common-sections"]], "HDL component diagram directive": [[2, "hdl-component-diagram-directive"]], "HDL interface directive": [[2, "hdl-interface-directive"]], "HDL parameters directive": [[2, "hdl-parameters-directive"]], "HDL regmap directive": [[2, "hdl-regmap-directive"]], "How can I rebuild the whole documentation within Serve?": [[1, "how-can-i-rebuild-the-whole-documentation-within-serve"]], "Images": [[2, "images"]], "Importing from DokuWiki to Sphinx": [[2, "importing-from-dokuwiki-to-sphinx"]], "In organization reference": [[2, "in-organization-reference"]], "Indentation": [[2, "indentation"]], "Inner working": [[2, "inner-working"]], "Insight": [[2, null]], "Install the repository": [[5, "install-the-repository"]], "Install the web compiler": [[5, "install-the-web-compiler"]], "Installing": [[5, null]], "Link roles": [[2, "link-roles"]], "Lists": [[2, "lists"]], "Local": [[0, "local"]], "Local references": [[2, "local-references"]], "Numbered references": [[2, "numbered-references"]], "Outside organization Sphinx reference": [[2, "outside-organization-sphinx-reference"]], "Release install": [[5, "release-install"]], "Removing": [[5, "removing"]], "Rolling release": [[0, "rolling-release"]], "Serve": [[1, "serve"]], "Shell directive": [[2, "shell-directive"]], "Shortcuts": [[6, "shortcuts"]], "Sphinx theme": [[6, null]], "Supplier role": [[2, "supplier-role"]], "Table of contents": [[2, "table-of-contents"]], "Tables": [[2, "tables"]], "Text width": [[2, "text-width"]], "Third-party directives and roles": [[2, "third-party-directives-and-roles"]], "Using a Python virtual environment": [[5, "using-a-python-virtual-environment"]], "Vendor role": [[2, "vendor-role"]], "Versioned": [[0, "versioned"]], "Versioning": [[2, "versioning"]], "Video directive": [[2, "video-directive"]], "Why is the Python source code of this repo not watched?": [[1, "why-is-the-python-source-code-of-this-repo-not-watched"]], "Why is the output missing styling (CSS stylesheet)?": [[1, "why-is-the-output-missing-styling-css-stylesheet"]], "Why was Author Mode renamed to Serve?": [[1, "why-was-author-mode-renamed-to-serve"]]}, "docnames": ["ci", "cli", "docs_guidelines", "fundamentals", "index", "install", "theme"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["ci.rst", "cli.rst", "docs_guidelines.rst", "fundamentals.rst", "index.rst", "install.rst", "theme.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 1, 2, 5, 6], "0": [0, 2, 5], "04": 5, "07": 2, "1": [0, 2, 5], "10": 2, "11": 2, "1234": [0, 2], "13": 2, "14": 2, "150px": 2, "16": 2, "2": [0, 2], "20": 5, "2015": 2, "2021": 2, "2024": 2, "20h1": 5, "21": 2, "22": [2, 5], "23": [2, 5], "25": 2, "28": 2, "29": 2, "3": [0, 2, 5], "30": 2, "4": 2, "4000v": 2, "4096": 2, "4194304": 2, "571": 2, "6": 2, "60640": 2, "683780": 2, "7": 2, "7000": 2, "766": 2, "7948206080": 2, "7m54": 2, "8": [2, 5], "80": 2, "9": 2, "94": 2, "A": [0, 2, 6], "And": [2, 4], "As": 2, "At": [2, 5], "By": [0, 2, 3], "For": [0, 1, 2, 5], "If": [0, 1, 2, 3, 5], "In": [0, 1, 3], "It": [1, 2, 6], "On": 3, "Or": [0, 2], "That": [0, 2], "The": [0, 1, 2, 3, 6], "Then": 0, "There": [2, 5], "These": [0, 2], "To": [0, 1, 2, 5], "With": [0, 2], "_": 2, "__init__": 0, "_build": [0, 2], "_context": 2, "_p": 2, "_phy": 2, "_sourc": 0, "about": [2, 3, 4, 5], "abov": 2, "absent": 2, "absolut": 2, "accept": 1, "access": [1, 2], "accident": 2, "accordingli": 2, "accumul": 2, "across": 2, "action": 0, "activ": 5, "actual": 2, "ad": [1, 2], "ad2234_sdz": 2, "ad2234_sdz_schemat": 2, "ad7175": 2, "ad7616": 2, "ad7616_sdz": 2, "ad9081": 2, "adc": 2, "adc_data_i": 2, "adc_data_i0": 2, "adc_data_q": 2, "adc_data_q0": 2, "add": [0, 2], "addit": [0, 1], "address": 2, "adi": [0, 5, 6], "adi_doctool": [0, 1, 2, 3], "adi_link": 2, "adi_regmap_": 2, "adoc": [0, 1, 2], "adoc_doc_vers": 2, "adoc_filter_toctre": 2, "adoc_interref_uri": 2, "adoc_media_print": 2, "adoc_target_depth": [0, 2], "adrv9009": 2, "adsb_exampl": 2, "advantag": 2, "affect": 1, "after": [2, 5], "aggreg": 3, "airplan": 2, "al": 2, "align": 2, "all": [0, 1, 2], "allow": [0, 1, 2, 5], "alongsid": 2, "alreadi": [0, 1, 2], "also": [1, 2, 5], "alt": 6, "altera": 2, "altern": [1, 2], "although": 2, "alwai": [2, 5], "am": 2, "amd": 2, "an": [0, 1, 2], "analog": 2, "analogdevicesinc": [0, 2], "analysi": 0, "anchor": 6, "ani": [0, 2], "anoth": [1, 2], "antenna": 2, "anyth": 2, "api": 1, "app": 2, "appear": 5, "append": [1, 2], "appli": 5, "applic": 2, "approach": [0, 2], "apt": 2, "ar": [0, 1, 2, 3], "arrai": 0, "arrow": 2, "arrowleft": 6, "arrowright": 6, "artifact": [0, 2], "asset": 0, "associ": 3, "attent": 2, "attribut": 3, "author": [0, 2, 5], "auto": [1, 2], "autom": 2, "automat": 1, "aux_print": 2, "auxiliari": 2, "avail": [1, 2, 6], "avoid": 2, "awar": 0, "axi_dmac": [1, 2], "b": 2, "banner": 2, "bar": 2, "base": [2, 6], "bash": [1, 2], "basic": [0, 2], "batch": [1, 6], "becaus": 2, "been": 2, "befor": [2, 5], "begin": 2, "behav": 2, "being": 1, "below": [1, 2, 5], "better": 2, "between": [0, 2], "beyond": [1, 2], "bin": 5, "bind": 3, "block": 2, "board": [2, 3], "bodi": 2, "book": 2, "both": [0, 1, 2], "branch": [0, 1, 2], "break": 2, "brief": 2, "briefli": 1, "browser": 2, "bu": 2, "bug": 5, "build": [1, 5], "build_status_fil": 2, "build_zynq_kernel_imag": 2, "builder": [1, 2], "built": [0, 1, 2, 5], "bundl": 1, "buse": 2, "byte": 2, "c": 2, "cabl": 2, "calibr": 2, "calibrate_frm_en": 2, "call": [0, 1, 2, 6], "can": [0, 2, 5], "cannot": 2, "caption": [1, 2], "care": [2, 5], "case": [0, 2], "cat": 2, "categori": 1, "cd": [1, 2, 5], "center": 2, "central": 3, "chang": [0, 1, 2, 5], "charact": 2, "charg": 2, "check": [0, 2], "checkout": [0, 1, 2], "child": 2, "choos": 5, "ci": [2, 5], "circuit": 2, "circuitri": 2, "clausen": 2, "clean": [0, 1], "cleardoublepag": 2, "cli": [1, 2], "client": 2, "clone": [1, 2], "coat": 2, "code": [0, 5], "column": 2, "com": [0, 2], "combin": 2, "command": [2, 4], "comment": 2, "commit": 0, "committ": 0, "common": 6, "commun": 2, "compact": 2, "compil": [0, 1, 2], "complet": 0, "complic": 2, "compon": 1, "concept": [2, 3], "concis": 1, "conf": 2, "config": [0, 1, 2], "configur": [1, 3], "confirm": 5, "conform": 2, "confus": 2, "connect": 2, "consecut": 2, "consid": [1, 2, 5], "contain": [0, 1, 3], "content": [0, 1, 3], "content_root": 2, "context": 2, "continu": [1, 2, 4], "control": 2, "control_interfac": 2, "convert": [1, 2], "copi": 2, "corner": 0, "correct": 2, "cosmic": 6, "could": 2, "counter": 2, "cover": 2, "creat": [0, 1, 2, 5], "css": 2, "csv": 2, "ctrl": 6, "current": [1, 2, 3, 6], "customiz": 3, "cut": 0, "cygpath": 2, "d": [0, 2], "damag": 2, "dan": 2, "dangl": 2, "data": 2, "data_sheet": 2, "data_tx_": 2, "data_tx_12": 2, "data_tx_12_p": 2, "data_tx_23": 2, "data_tx_23_p": 2, "data_width": 2, "dd": 2, "de": 2, "deactiv": 5, "dedic": 0, "deepli": 6, "def": 2, "default": [1, 2], "defin": [0, 2], "degrad": 2, "depend": [0, 1, 5], "deploi": 0, "deprec": 2, "depth": [0, 2, 3], "describ": [1, 2, 5], "descript": [1, 2], "design": [0, 1, 2, 6], "desir": [1, 2], "destin": [0, 2], "detail": [2, 6], "detect": 2, "dev": [0, 1, 2, 5], "develop": [0, 1], "devic": [2, 6], "device0": 2, "device2": 2, "device3": 2, "device4": 2, "device5": 2, "device6": 2, "devroom": 2, "diagram": 1, "dictat": 2, "did": 1, "differ": 2, "digikei": 2, "dipos": 2, "direct": 4, "directli": [1, 2], "directori": [0, 1, 2], "discard": 0, "discharg": 2, "discourag": 2, "displai": [2, 3], "dispos": 2, "distinct": 2, "distro": 5, "divid": 2, "dmac": 2, "do": [1, 2, 5], "doc": [0, 2, 3, 5], "docs_guidelin": 2, "doctool": [1, 2, 3, 5], "doctyp": 0, "document": [4, 5], "doe": [0, 2, 6], "doesn": 2, "don": [1, 2], "done": 2, "dot": 2, "download": [0, 2], "driver": 2, "dropdown": [0, 2], "drwxr": 2, "ds190": 2, "durat": 1, "dure": [0, 1, 2], "e": [0, 2, 3, 5, 6], "each": [0, 1, 2, 3], "eas": 1, "easi": 2, "easier": 2, "easili": 2, "ebz": 2, "echo": 2, "edit": [1, 2, 5], "editor": 2, "effect": 1, "either": [2, 5], "electrostat": 2, "els": [0, 2], "email": 0, "emb": 2, "embed": 2, "emphas": 2, "empti": [0, 1, 2], "en": 2, "enabl": [1, 2, 5], "end": 2, "endtitl": 2, "energi": 2, "ensur": [1, 2, 5], "entri": [0, 1, 2, 3], "enumer": 2, "enviro": 2, "environ": [1, 2], "envvar": 2, "equip": 2, "equiv": 0, "equival": 2, "error": [0, 2], "etc": 2, "eval": [2, 3], "evalu": 3, "even": [0, 1, 2, 6], "event": 0, "everi": [1, 2], "evinc": 1, "exact": 2, "exampl": [0, 1, 2, 6], "except": 2, "exist": [0, 2, 3, 6], "exit": [0, 5], "expand": [2, 3], "explain": 2, "explicit": 2, "explicitli": 2, "export_metadata": 2, "export_raw": 2, "expos": 1, "ext": [1, 2], "extend": 5, "extens": [1, 2, 4], "extern": 0, "extra": 1, "extract": 2, "ez": 2, "f": 2, "f1": 0, "fail": [0, 5], "fairli": 2, "fals": 2, "faster": 2, "fau": 2, "favorit": 2, "fdx": 0, "featur": [1, 2, 3, 6], "fetch": [0, 1, 2], "field": 2, "figur": 2, "file": [0, 1], "filenam": 2, "fill": 2, "filter": [1, 2], "filter_toctre": 2, "final": [0, 2, 5], "find": 2, "firefox": 1, "first": [0, 1, 2], "flag": [0, 2], "float": 2, "fmca": 2, "fold": 2, "folder": [0, 1, 2], "follow": [0, 2], "font": 5, "forc": 2, "forese": 2, "fork": 2, "form": 2, "format": 2, "former": 2, "forward": 2, "fosdem": 2, "found": [1, 2], "fpga": 2, "framework": 2, "freedom": 2, "from": [1, 3, 5], "ftp": 2, "full": [1, 2], "function": 2, "fundament": 4, "further": 2, "fuzz": 0, "g": [0, 2, 3, 5, 6], "gb": 2, "gener": [0, 1, 2, 3], "get": 2, "gh": 0, "git": 0, "gitattribut": 2, "github": [0, 2], "github_sha": 0, "global": 0, "gnome": 1, "go": 0, "goe": 6, "good": 2, "grab": 0, "green": 2, "group": 2, "guarante": 5, "gui": 2, "guid": [1, 2], "guidelin": 4, "gz": 0, "h": 2, "ha": [0, 1, 2], "handl": 0, "hard": [0, 2], "harmon": 6, "have": [0, 1, 2], "haven": 2, "hdl_2023_r2": 2, "head": 0, "head_commit": 0, "header": [2, 3], "hello": 2, "hello_world": 2, "hellowindow": 2, "help": [1, 2], "here": [1, 2], "hidden": 2, "hide": 2, "hide_collapsible_cont": 2, "hierarch": 2, "hierarchi": 1, "high": 2, "higher": 2, "home": 2, "host": 2, "hot": 0, "how": [0, 2, 5], "howev": [1, 2], "html": [0, 1, 2, 3, 5, 6], "http": [0, 2], "hugo": 1, "human": [1, 2], "hyphen": 2, "i": [0, 2, 3, 5, 6], "id": 2, "idea": 2, "ident": 2, "identifi": 3, "ignor": 2, "iio": [0, 2, 3], "iio_reg": 2, "iiosdr": 2, "img": 2, "implement": [0, 2], "import": 1, "importantfil": 2, "inc": [2, 4], "includ": [1, 2], "increment": 0, "inde": 2, "independ": 1, "index": [0, 1, 2, 3], "industri": 2, "infer": 2, "info": 2, "inform": [2, 4], "inherit": [2, 3], "init": 2, "inkscap": 2, "input": [0, 1], "insensit": 2, "insert": 2, "insid": 2, "instal": [0, 1, 2, 4], "instanc": [1, 2], "instanti": 1, "instead": [1, 2, 5], "instruct": [2, 5], "integr": [1, 2, 4], "intel": 2, "intend": 2, "intent": 2, "interest": 2, "interfac": 4, "intern": 2, "interref_loc": 2, "interref_repo": [0, 2], "interref_uri": 2, "intersphinx": 2, "intersphinx_map": 2, "intro": 1, "intuit": 2, "inv": 2, "io": [0, 2], "ip": [1, 2], "ip_path": 2, "ish": 0, "item": 2, "its": [2, 3], "itself": [1, 2], "j": 5, "javascript": [0, 2], "job": 0, "jpg": 2, "jq": 0, "json": [0, 2], "just": [1, 5], "keep": [0, 2], "kei": 6, "keyword": 2, "kind": 2, "known": 5, "kuiper": 2, "l": [0, 2], "lab": 2, "label": 2, "land": 3, "languag": 6, "lar": 2, "last": [2, 5], "lastwritetim": 2, "latest": [0, 1, 2, 5], "latex": 2, "launch": [0, 1], "least": 0, "left": [2, 3], "legaci": 2, "legibl": 2, "less": 2, "lessimportantfil": 2, "let": 2, "letter": 2, "level": [1, 2, 3, 5], "lf": 2, "libiio": [1, 2, 3], "librari": [1, 2], "licens": 0, "like": [1, 2], "line": [2, 4], "lineno": 2, "linux": 2, "list": [1, 3], "live": [0, 1], "ll": 2, "load": 2, "local": [1, 5], "localtoc": 3, "locat": 2, "log": [0, 2], "long": 2, "look": [1, 2], "loss": 2, "lower": 2, "lt": 5, "lut": [1, 2, 3], "m": [0, 2, 5], "macro": 2, "made": 1, "mai": [1, 2], "main": [0, 1, 2], "maintain": 2, "make": [0, 1, 2, 5], "makefil": 1, "manag": [0, 2, 3, 5], "manner": 2, "map": 2, "mark": 2, "markdown": 2, "markup": 1, "master": 2, "match": [1, 2], "mathwork": 2, "matter": 2, "maxdepth": 2, "mb": 2, "md": [2, 3], "mean": [0, 2], "meant": [1, 2], "media_print": 2, "merg": 0, "meta": 0, "metadata": 2, "method": 0, "microcontrol": 2, "middl": 0, "min": 0, "mind": 2, "minim": 1, "minimum": 0, "miss": 2, "mitig": 0, "mkdoc": 1, "mmcblk0": 2, "mode": [0, 2, 5], "modul": 5, "mono": 3, "monolith": [1, 2], "more": [2, 3, 4], "more_inform": 2, "mouser": 2, "move": 2, "mp4": 2, "much": 0, "multipl": [2, 3, 4, 6], "must": [0, 2, 3], "mw": 2, "my": [1, 2], "my_cod": 2, "my_doc": 1, "mydata": 2, "mysignal_phy_4": 2, "name": [0, 1, 2], "nativ": 3, "navig": 2, "necessari": [1, 2], "nechita": 2, "need": [0, 1, 2], "nest": 2, "new": [0, 2], "newer": 5, "next": [2, 5, 6], "nodesourc": 5, "nojekyl": 0, "non": 0, "none": 2, "note": [1, 2], "notic": 2, "npm": [1, 5], "null": 0, "num_of_sdi": 2, "numfig": 2, "numfig_format": 2, "numfig_per_doc": 2, "numref": 2, "o": 2, "object": 2, "obnoxi": 2, "obtain": [0, 2, 5], "occur": 2, "offlin": 0, "offset": 2, "old": [2, 5], "onc": 2, "one": [0, 2, 3], "onli": [0, 1, 2, 3], "onlin": 2, "open": [0, 1], "optim": 2, "option": [1, 5], "orchestr": 0, "order": 2, "org": 2, "organ": [0, 3, 4], "origin": [0, 2], "orphan": 0, "other": [0, 1, 2, 3], "our": 2, "out": 2, "outfil": 2, "output": [0, 2, 3], "over": 2, "overview": 2, "overwrit": [1, 2], "own": [1, 2, 3], "p_vntewue24": 2, "packag": [2, 4, 5], "page": [0, 1, 2, 3, 6], "pai": 2, "pandoc": 2, "paragraph": 5, "parallel": [0, 2], "parent": 2, "pars": 2, "parti": 0, "password": 2, "patch": [0, 1, 2], "path": [0, 1, 2], "path_absolut": 2, "path_relative_to_hom": 2, "pattern": 2, "pdf": 1, "pdfbuild": 2, "pend": 2, "percentil": 2, "perform": 2, "perman": 2, "peter": 2, "philosophi": 0, "physic": 2, "piec": 3, "pip": [0, 2, 5], "pipelin": 2, "place": 2, "plain": 0, "pleas": [0, 2], "plugin": 5, "pmod": 2, "point": [0, 1], "pointer": [0, 2], "pool": 1, "port": 2, "possibl": [1, 2, 3], "powershel": 2, "pr": [0, 2], "pre": [0, 1, 5], "precaut": 2, "preced": 2, "prefer": 2, "prefix": 2, "present": [1, 2], "preserv": [2, 6], "pretti": 2, "previou": [2, 5, 6], "print": 2, "prior": [0, 2], "probabl": 1, "procedur": 2, "product": 2, "program": [2, 3], "programm": 2, "project": [1, 2], "project_0": 6, "project_1": 6, "prompt": [1, 5], "propag": 2, "proper": [1, 2], "properli": [0, 1, 2], "protect": 2, "provid": [0, 1, 2, 4, 5], "ps1": 2, "pull_request": 0, "pulsar": 2, "pupors": 2, "purpos": 2, "push": 0, "px": 2, "py": [0, 1, 2, 3], "pyadi": [0, 2, 3], "pytest": 0, "python": [0, 2, 3], "python3": [2, 5], "qualifi": 2, "quick": 1, "quiet": 0, "r": [0, 2, 5], "raw": [0, 2], "re": 2, "reach": 1, "react": 2, "read": [2, 4, 5], "readabl": [1, 2], "readili": 2, "readthedoc": 0, "real": 2, "recent": 2, "recommend": [0, 2, 5], "record": 2, "red": 2, "redirect": 0, "reduc": 2, "ref": [0, 2], "ref_nam": 2, "refer": [0, 3], "referenc": 2, "refresh": 0, "regist": 2, "regmap_nam": 2, "reinstal": 5, "rel": 2, "relas": 0, "relat": 2, "releas": [1, 2], "reles": 0, "reload": [0, 1], "remain": 2, "remot": 0, "remov": 2, "renam": [0, 2, 5], "render": 2, "repetit": 2, "replac": 2, "repo": [0, 2, 3, 5], "repositori": [1, 2, 3, 4], "repotoc": [2, 3], "request": 2, "requir": [0, 1, 2, 5], "rerun": 1, "reset": [0, 2], "resolv": [1, 2], "resourc": 2, "respect": 2, "rest": 2, "result": [1, 2], "return": 1, "review": 6, "right": [2, 3, 6], "rm": 0, "role": [3, 4], "rollup": 5, "root": [0, 2, 5], "rs2pdf": 2, "rst": [1, 2, 3], "rst2pdf": 2, "rule": [2, 4], "run": [0, 1, 2, 5], "rw": 2, "rx_phy": 2, "rx_phy2": 2, "rx_phy4": 2, "same": [2, 3], "sane": 2, "sass": [0, 5], "save": [1, 2, 5], "scenario": 2, "screen": 2, "script": [1, 2, 5], "scss": 5, "sdi": 2, "sdk": 1, "sdo": 2, "sdz": 2, "search": [2, 6], "secondari": 2, "section": [1, 5, 6], "see": [0, 1, 2], "select": 2, "selector": 0, "selenium": 1, "sens": 2, "sensit": 2, "separ": [0, 2], "sequenc": 1, "serv": [0, 2, 5], "server": [0, 1, 2], "servic": 2, "set": [0, 1, 2], "setup": [0, 2], "sh": [2, 5], "shall": [0, 2], "sheet": 5, "shift": 6, "ship": 5, "short": 2, "shorter": 2, "should": [0, 2], "show": [0, 2], "side": 2, "signal": 2, "similar": [1, 2], "simpl": 2, "simpler": 2, "sinc": [1, 2], "singl": [0, 1, 2], "size": 2, "slurp": 0, "so": [0, 1, 2], "soc": 2, "softwar": [1, 2], "software_defined_radio": 2, "sole": [0, 1, 2], "some": [1, 2], "some_pag": 2, "some_repositori": 2, "someth": 0, "somewher": 2, "sourc": [2, 5], "space": 2, "special": 0, "specif": [0, 1, 2], "speed": 2, "sphinx": [0, 1, 3, 4], "sphinxopt": 0, "spi": 2, "spi_engin": 2, "spi_engine_interconnect": 2, "split": 3, "squash": 2, "stabl": 0, "stage": [0, 2], "standard": [2, 3], "start": 1, "static": 2, "status": 2, "step": [0, 1, 2], "still": [0, 2], "store": [0, 2, 3], "straight": 2, "strategi": 1, "strictli": 2, "string": [0, 2], "structur": 2, "style": [2, 5], "stylesheet": 2, "subdirectori": 2, "subject": 2, "subset": 2, "subtitl": 1, "success": 0, "sudo": 2, "suffic": 0, "suffix": [0, 2], "sugar": 2, "suggest": 0, "summari": 1, "super": 2, "support": [1, 2, 6], "suppos": 2, "sure": [1, 2], "svg": [1, 2], "sw": 2, "switch": 0, "sy": 2, "symbol": [0, 1, 2, 5], "syntax": 2, "synthax": 2, "system": [0, 2], "t": [1, 2], "tab": 1, "tabl": 3, "tabular": 2, "tag": 0, "take": 0, "tar": 0, "target": [0, 2], "templat": 1, "term": 2, "terser": 5, "test": [0, 1, 2, 5], "than": [0, 2, 3, 5], "thei": [1, 2, 3], "them": [0, 1, 2], "theme": [1, 4], "therefor": 2, "thi": [0, 2, 3, 4, 5, 6], "thing": 2, "third": 0, "those": 1, "though": 2, "three": 3, "through": [1, 5], "thrown": 2, "time": 2, "timestamp": 1, "titl": [2, 3], "tmp": 1, "toc": 3, "toctre": [1, 2, 3], "togeth": [1, 3], "token": 2, "too": 5, "tool": [1, 2, 4, 5], "top": [1, 2, 3], "topic": [2, 3], "total": 2, "touch": [0, 1, 2], "track": [1, 2], "trigger": [1, 6], "true": [0, 2], "truth": 2, "tweak": 2, "twice": 1, "two": [0, 1, 2], "txt": [0, 2, 5], "type": 2, "u": 2, "ubuntu": [0, 5], "undelin": 2, "underscor": 2, "understand": 1, "undescor": 2, "uninstal": 5, "unit": 2, "univers": [2, 3], "unord": 2, "unorded": 2, "unset": [0, 2], "until": 1, "unwant": 1, "up": [1, 2], "updat": [0, 1, 2, 5], "upgrad": [0, 5], "upload": 0, "url": [0, 2], "us": [0, 1, 2, 3, 6], "usag": 2, "user": [0, 1, 2, 5], "user_guid": 2, "v": 2, "v1": [0, 2], "v2": [0, 2], "v4": 0, "v5": 0, "valid": 2, "validate_link": 2, "valu": [0, 2], "variabl": [0, 2], "variou": 2, "vendor": 1, "venv": 5, "verbos": 2, "veri": 2, "verilog": 2, "view": 2, "viewer": 1, "vivado": [1, 2], "volum": 2, "w": 0, "wa": [0, 2, 5], "wai": 2, "want": [1, 2], "warn": 0, "watch": [0, 2, 5], "weasyprint": [1, 2], "web": [1, 2], "webpack": 1, "webpag": [1, 2, 3, 5], "websit": 2, "were": 3, "wget": 2, "when": [0, 2], "where": [1, 2], "which": [2, 5], "while": 2, "whole": 2, "why": [0, 2, 5], "wide": 2, "wiki": 2, "wikifil": 2, "window": 2, "without": [0, 1, 2, 5], "won": [1, 2], "word": 2, "work": [0, 1, 5], "workflow": 0, "world": 2, "worri": 2, "worth": 1, "would": [1, 2], "wrap": [1, 2], "write": 2, "written": 2, "www": 2, "x": [0, 2], "xact": [1, 2], "xilinx": 2, "xml": 2, "xr": 2, "yaml": 1, "yml": 0, "you": [1, 2, 5], "your": [1, 2, 5], "youtub": 2, "zsh": 2, "zynq": 2}, "titles": ["Continuous integration", "Command line interface", "Documentation guidelines", "Fundamentals", "Analog Devices Doctools", "Installing", "Sphinx theme"], "titleterms": {"In": 2, "adi": 2, "aggreg": 1, "analog": 4, "author": 1, "build": [0, 2], "can": 1, "clear": 2, "code": [1, 2], "collaps": 2, "color": 2, "command": 1, "common": 2, "compil": 5, "compon": 2, "contain": 2, "content": 2, "continu": 0, "css": 1, "custom": [1, 2], "deploy": 0, "develop": 5, "devic": 4, "diagram": 2, "direct": 2, "doc": 1, "doctool": [0, 4], "document": [0, 1, 2, 3], "dokuwiki": 2, "downgit": 2, "dynam": 2, "element": 2, "engineerzon": 2, "environ": 5, "esd": 2, "export": 2, "extern": 2, "fetch": 5, "file": 2, "flex": 2, "from": 2, "fundament": 3, "git": 2, "global": 2, "grid": 2, "guidelin": 2, "hdl": [1, 2], "hierarch": 3, "how": 1, "i": 1, "imag": 2, "import": 2, "indent": 2, "inner": 2, "insight": 2, "instal": 5, "integr": 0, "interfac": [1, 2], "larg": 2, "line": 1, "link": 2, "list": 2, "local": [0, 2], "miss": 1, "mode": 1, "number": 2, "option": 2, "organ": 2, "output": 1, "outsid": 2, "packag": 0, "paramet": 2, "parti": [2, 5], "pdf": 2, "pipelin": 0, "python": [1, 5], "rebuild": 1, "refer": 2, "regmap": 2, "releas": [0, 5], "remov": 5, "renam": 1, "render": 1, "repo": 1, "repositori": 5, "resourc": 5, "role": 2, "roll": 0, "section": 2, "serv": 1, "shell": 2, "shortcut": 6, "sourc": 1, "sphinx": [2, 6], "statu": 2, "storag": 2, "structur": 3, "style": 1, "stylesheet": 1, "supplier": 2, "tabl": 2, "text": 2, "theme": 6, "thi": 1, "third": [2, 5], "us": 5, "vendor": 2, "version": [0, 2], "video": 2, "virtual": 5, "wa": 1, "warn": 2, "watch": 1, "web": 5, "whole": 1, "why": 1, "width": 2, "within": 1, "work": 2}})
\ No newline at end of file
+Search.setIndex({"alltitles": {"ADI role": [[2, "adi-role"]], "Aggregate": [[1, "aggregate"]], "Analog Devices Doctools": [[4, null]], "Clear content directive": [[2, "clear-content-directive"]], "Code": [[2, "code"]], "Collapsible directive": [[2, "collapsible-directive"]], "Color role": [[2, "color-role"]], "Command line interface": [[1, null]], "Common sections": [[2, "common-sections"]], "Container directives": [[2, "container-directives"]], "Continuous integration": [[0, null]], "Custom Doc": [[1, "custom-doc"]], "Custom directives and roles": [[2, "custom-directives-and-roles"]], "Development install": [[5, "development-install"]], "Doctools package pipeline": [[0, "doctools-package-pipeline"]], "Documentation build and deployment": [[0, "documentation-build-and-deployment"]], "Documentation guidelines": [[2, null]], "Documentation hierarchical structure": [[3, "documentation-hierarchical-structure"]], "Dokuwiki role": [[2, "dokuwiki-role"]], "DownGit role": [[2, "downgit-role"]], "Dynamic elements": [[2, "dynamic-elements"]], "ESD warning directive": [[2, "esd-warning-directive"]], "EngineerZone role": [[2, "engineerzone-role"]], "Exporting to PDF": [[2, "exporting-to-pdf"]], "External references": [[2, "external-references"]], "Fetch third-party resources": [[5, "fetch-third-party-resources"]], "Flex directive": [[2, "flex-directive"]], "Fundamentals": [[3, null]], "Git Large File Storage": [[2, "git-large-file-storage"]], "Git role": [[2, "git-role"]], "Global options for directives": [[2, "global-options-for-directives"]], "Grid directive": [[2, "grid-directive"]], "HDL Render": [[1, "hdl-render"]], "HDL build status directive": [[2, "hdl-build-status-directive"]], "HDL common sections": [[2, "hdl-common-sections"]], "HDL component diagram directive": [[2, "hdl-component-diagram-directive"]], "HDL interface directive": [[2, "hdl-interface-directive"]], "HDL parameters directive": [[2, "hdl-parameters-directive"]], "HDL regmap directive": [[2, "hdl-regmap-directive"]], "How can I rebuild the whole documentation within Serve?": [[1, "how-can-i-rebuild-the-whole-documentation-within-serve"]], "Images": [[2, "images"]], "Importing from DokuWiki to Sphinx": [[2, "importing-from-dokuwiki-to-sphinx"]], "In organization reference": [[2, "in-organization-reference"]], "Indentation": [[2, "indentation"]], "Inner working": [[2, "inner-working"]], "Insight": [[2, null]], "Install the repository": [[5, "install-the-repository"]], "Install the web compiler": [[5, "install-the-web-compiler"]], "Installing": [[5, null]], "Link roles": [[2, "link-roles"]], "Lists": [[2, "lists"]], "Local": [[0, "local"]], "Local references": [[2, "local-references"]], "Numbered references": [[2, "numbered-references"]], "Outside organization Sphinx reference": [[2, "outside-organization-sphinx-reference"]], "Release install": [[5, "release-install"]], "Removing": [[5, "removing"]], "Rolling release": [[0, "rolling-release"]], "Serve": [[1, "serve"]], "Shell directive": [[2, "shell-directive"]], "Shortcuts": [[6, "shortcuts"]], "Sphinx theme": [[6, null]], "Supplier role": [[2, "supplier-role"]], "Table of contents": [[2, "table-of-contents"]], "Tables": [[2, "tables"]], "Text width": [[2, "text-width"]], "Third-party directives and roles": [[2, "third-party-directives-and-roles"]], "Using a Python virtual environment": [[5, "using-a-python-virtual-environment"]], "Vendor role": [[2, "vendor-role"]], "Versioned": [[0, "versioned"]], "Versioning": [[2, "versioning"]], "Video directive": [[2, "video-directive"]], "Why is the Python source code of this repo not watched?": [[1, "why-is-the-python-source-code-of-this-repo-not-watched"]], "Why is the output missing styling (CSS stylesheet)?": [[1, "why-is-the-output-missing-styling-css-stylesheet"]], "Why was Author Mode renamed to Serve?": [[1, "why-was-author-mode-renamed-to-serve"]]}, "docnames": ["ci", "cli", "docs_guidelines", "fundamentals", "index", "install", "theme"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["ci.rst", "cli.rst", "docs_guidelines.rst", "fundamentals.rst", "index.rst", "install.rst", "theme.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 1, 2, 5, 6], "0": [0, 2, 5], "04": 5, "07": 2, "1": [0, 2, 5], "10": 2, "11": 2, "1234": [0, 2], "13": 2, "14": 2, "150px": 2, "16": 2, "2": [0, 2], "20": 5, "2015": 2, "2021": 2, "2024": 2, "20h1": 5, "21": 2, "22": [2, 5], "23": [2, 5], "25": 2, "28": 2, "29": 2, "3": [0, 2, 5], "30": 2, "4": 2, "4000v": 2, "4096": 2, "4194304": 2, "571": 2, "6": 2, "60640": 2, "683780": 2, "7": 2, "7000": 2, "766": 2, "7948206080": 2, "7m54": 2, "8": [2, 5], "80": 2, "9": 2, "94": 2, "A": [0, 2, 6], "And": [2, 4], "As": 2, "At": [2, 5], "By": [0, 2, 3], "For": [0, 1, 2, 5], "If": [0, 1, 2, 3, 5], "In": [0, 1, 3], "It": [1, 2, 6], "On": 3, "Or": [0, 2], "That": [0, 2], "The": [0, 1, 2, 3, 6], "Then": 0, "There": [2, 5], "These": [0, 2], "To": [0, 1, 2, 5], "With": [0, 2], "_": 2, "__init__": 0, "_build": [0, 2], "_context": 2, "_p": 2, "_phy": 2, "_sourc": 0, "about": [2, 3, 4, 5], "abov": 2, "absent": 2, "absolut": 2, "accept": 1, "access": [1, 2], "accident": 2, "accordingli": 2, "accumul": 2, "across": 2, "action": 0, "activ": 5, "actual": 2, "ad": [1, 2], "ad2234_sdz": 2, "ad2234_sdz_schemat": 2, "ad7175": 2, "ad7616": 2, "ad7616_sdz": 2, "ad9081": 2, "adc": 2, "adc_data_i": 2, "adc_data_i0": 2, "adc_data_q": 2, "adc_data_q0": 2, "add": [0, 2], "addit": [0, 1], "address": 2, "adi": [0, 5, 6], "adi_doctool": [0, 1, 2, 3], "adi_link": 2, "adi_regmap_": 2, "adoc": [0, 1, 2], "adoc_doc_vers": 2, "adoc_filter_toctre": 2, "adoc_interref_uri": 2, "adoc_media_print": 2, "adoc_target_depth": [0, 2], "adrv9009": 2, "adsb_exampl": 2, "advantag": 2, "affect": 1, "after": [2, 5], "aggreg": 3, "airplan": 2, "al": 2, "align": 2, "all": [0, 1, 2], "allow": [0, 1, 2, 5], "alongsid": 2, "alreadi": [0, 1, 2], "also": [1, 2, 5], "alt": 6, "altera": 2, "altern": [1, 2], "although": 2, "alwai": [2, 5], "am": 2, "amd": 2, "an": [0, 1, 2], "analog": 2, "analogdevicesinc": [0, 2], "analysi": 0, "anchor": 6, "ani": [0, 2], "anoth": [1, 2], "antenna": 2, "anyth": 2, "api": 1, "app": 2, "appear": 5, "append": [1, 2], "appli": 5, "applic": 2, "approach": [0, 2], "apt": 2, "ar": [0, 1, 2, 3], "arrai": 0, "arrow": 2, "arrowleft": 6, "arrowright": 6, "artifact": [0, 2], "asset": 0, "associ": 3, "attent": 2, "attribut": 3, "author": [0, 2, 5], "auto": [1, 2], "autom": 2, "automat": 1, "aux_print": 2, "auxiliari": 2, "avail": [1, 2, 6], "avoid": 2, "awar": 0, "axi_dmac": [1, 2], "b": 2, "banner": 2, "bar": 2, "base": [2, 6], "bash": [1, 2], "basic": [0, 2], "batch": [1, 6], "becaus": 2, "been": 2, "befor": [2, 5], "begin": 2, "behav": 2, "being": 1, "below": [1, 2, 5], "better": 2, "between": [0, 2], "beyond": [1, 2], "bin": 5, "bind": 3, "block": 2, "board": [2, 3], "bodi": 2, "bold": 2, "book": 2, "both": [0, 1, 2], "branch": [0, 1, 2], "break": 2, "brief": 2, "briefli": 1, "browser": 2, "bu": 2, "bug": 5, "build": [1, 5], "build_status_fil": 2, "build_zynq_kernel_imag": 2, "builder": [1, 2], "built": [0, 1, 2, 5], "bundl": 1, "buse": 2, "byte": 2, "c": 2, "cabl": 2, "calibr": 2, "calibrate_frm_en": 2, "call": [0, 1, 2, 6], "can": [0, 2, 5], "cannot": 2, "caption": [1, 2], "care": [2, 5], "case": [0, 2], "cat": 2, "categori": 1, "cd": [1, 2, 5], "center": 2, "central": 3, "chang": [0, 1, 2, 5], "charact": 2, "charg": 2, "check": [0, 2], "checkout": [0, 1, 2], "child": 2, "choos": 5, "ci": [2, 5], "circuit": 2, "circuitri": 2, "class": 2, "clausen": 2, "clean": [0, 1], "cleardoublepag": 2, "cli": [1, 2], "client": 2, "clone": [1, 2], "coat": 2, "code": [0, 5], "column": 2, "com": [0, 2], "combin": 2, "command": [2, 4], "comment": 2, "commit": 0, "committ": 0, "common": 6, "commun": 2, "compact": 2, "compil": [0, 1, 2], "complet": 0, "complic": 2, "compon": 1, "concept": [2, 3], "concis": 1, "conf": 2, "config": [0, 1, 2], "configur": [1, 3], "confirm": 5, "conform": 2, "confus": 2, "connect": 2, "consecut": 2, "consid": [1, 2, 5], "contain": [0, 1, 3], "content": [0, 1, 3], "content_root": 2, "context": 2, "continu": [1, 2, 4], "control": 2, "control_interfac": 2, "convert": [1, 2], "copi": 2, "corner": 0, "correct": 2, "cosmic": 6, "could": 2, "counter": 2, "cover": 2, "creat": [0, 1, 2, 5], "css": 2, "csv": 2, "ctrl": 6, "current": [1, 2, 3, 6], "customiz": 3, "cut": 0, "cygpath": 2, "d": [0, 2], "damag": 2, "dan": 2, "dangl": 2, "data": 2, "data_sheet": 2, "data_tx_": 2, "data_tx_12": 2, "data_tx_12_p": 2, "data_tx_23": 2, "data_tx_23_p": 2, "data_width": 2, "dd": 2, "de": 2, "deactiv": 5, "dedic": 0, "deepli": 6, "def": 2, "default": [1, 2], "defin": [0, 2], "degrad": 2, "depend": [0, 1, 5], "deploi": 0, "deprec": 2, "depth": [0, 2, 3], "describ": [1, 2, 5], "descript": [1, 2], "design": [0, 1, 2, 6], "desir": [1, 2], "destin": [0, 2], "detail": [2, 6], "detect": 2, "dev": [0, 1, 2, 5], "develop": [0, 1], "devic": [2, 6], "device0": 2, "device2": 2, "device3": 2, "device4": 2, "device5": 2, "device6": 2, "devroom": 2, "diagram": 1, "dictat": 2, "did": 1, "differ": 2, "digikei": 2, "dipos": 2, "direct": 4, "directli": [1, 2], "directori": [0, 1, 2], "discard": 0, "discharg": 2, "discourag": 2, "displai": [2, 3], "dispos": 2, "distinct": 2, "distro": 5, "divid": 2, "dmac": 2, "do": [1, 2, 5], "doc": [0, 2, 3, 5], "docs_guidelin": 2, "doctool": [1, 2, 3, 5], "doctyp": 0, "document": [4, 5], "doe": [0, 2, 6], "doesn": 2, "don": [1, 2], "done": 2, "dot": 2, "download": [0, 2], "driver": 2, "dropdown": [0, 2], "drwxr": 2, "ds190": 2, "durat": 1, "dure": [0, 1, 2], "e": [0, 2, 3, 5, 6], "each": [0, 1, 2, 3], "eas": 1, "easi": 2, "easier": 2, "easili": 2, "ebz": 2, "echo": 2, "edit": [1, 2, 5], "editor": 2, "effect": 1, "either": [2, 5], "electrostat": 2, "els": [0, 2], "email": 0, "emb": 2, "embed": 2, "emphas": 2, "empti": [0, 1, 2], "en": 2, "enabl": [1, 2, 5], "end": 2, "endtitl": 2, "energi": 2, "ensur": [1, 2, 5], "entri": [0, 1, 2, 3], "enumer": 2, "enviro": 2, "environ": [1, 2], "envvar": 2, "equip": 2, "equiv": 0, "equival": 2, "error": [0, 2], "etc": 2, "eval": [2, 3], "evalu": 3, "even": [0, 1, 2, 6], "event": 0, "everi": [1, 2], "evinc": 1, "exact": 2, "exampl": [0, 1, 2, 6], "except": 2, "exist": [0, 2, 3, 6], "exit": [0, 5], "expand": [2, 3], "explain": 2, "explicit": 2, "explicitli": 2, "export_metadata": 2, "export_raw": 2, "expos": 1, "ext": [1, 2], "extend": 5, "extens": [1, 2, 4], "extern": 0, "extra": 1, "extract": 2, "ez": 2, "f": 2, "f1": 0, "fail": [0, 5], "fairli": 2, "fals": 2, "faster": 2, "fau": 2, "favorit": 2, "fdx": 0, "featur": [1, 2, 3, 6], "fetch": [0, 1, 2], "field": 2, "figur": 2, "file": [0, 1], "filenam": 2, "fill": 2, "filter": [1, 2], "filter_toctre": 2, "final": [0, 2, 5], "find": 2, "firefox": 1, "first": [0, 1, 2], "flag": [0, 2], "float": 2, "fmca": 2, "fold": 2, "folder": [0, 1, 2], "follow": [0, 2], "font": 5, "forc": 2, "forese": 2, "fork": 2, "form": 2, "format": 2, "former": 2, "forward": 2, "fosdem": 2, "found": [1, 2], "fpga": 2, "framework": 2, "freedom": 2, "from": [1, 3, 5], "ftp": 2, "full": [1, 2], "function": 2, "fundament": 4, "further": 2, "fuzz": 0, "g": [0, 2, 3, 5, 6], "gb": 2, "gener": [0, 1, 2, 3], "get": 2, "gh": 0, "git": 0, "gitattribut": 2, "github": [0, 2], "github_sha": 0, "global": 0, "gnome": 1, "go": 0, "goe": 6, "good": 2, "grab": 0, "green": 2, "group": 2, "guarante": 5, "gui": 2, "guid": [1, 2], "guidelin": 4, "gz": 0, "h": 2, "ha": [0, 1, 2], "handl": 0, "hard": [0, 2], "harmon": 6, "have": [0, 1, 2], "haven": 2, "hdl_2023_r2": 2, "head": 0, "head_commit": 0, "header": [2, 3], "hello": 2, "hello_world": 2, "hellowindow": 2, "help": [1, 2], "here": [1, 2], "hidden": 2, "hide": 2, "hide_collapsible_cont": 2, "hierarch": 2, "hierarchi": 1, "high": 2, "higher": 2, "home": 2, "host": 2, "hot": 0, "how": [0, 2, 5], "howev": [1, 2], "html": [0, 1, 2, 3, 5, 6], "http": [0, 2], "hugo": 1, "human": [1, 2], "hyphen": 2, "i": [0, 2, 3, 5, 6], "id": 2, "idea": 2, "ident": 2, "identifi": 3, "ignor": 2, "iio": [0, 2, 3], "iio_reg": 2, "iiosdr": 2, "img": 2, "implement": [0, 2], "import": 1, "importantfil": 2, "inc": [2, 4], "includ": [1, 2], "increment": 0, "inde": 2, "independ": 1, "index": [0, 1, 2, 3], "industri": 2, "infer": 2, "info": 2, "inform": [2, 4], "inherit": [2, 3], "init": 2, "inkscap": 2, "input": [0, 1], "insensit": 2, "insert": 2, "insid": 2, "instal": [0, 1, 2, 4], "instanc": [1, 2], "instanti": 1, "instead": [1, 2, 5], "instruct": [2, 5], "integr": [1, 2, 4], "intel": 2, "intend": 2, "intent": 2, "interest": 2, "interfac": 4, "intern": 2, "interref_loc": 2, "interref_repo": [0, 2], "interref_uri": 2, "intersphinx": 2, "intersphinx_map": 2, "intro": 1, "intuit": 2, "inv": 2, "io": [0, 2], "ip": [1, 2], "ip_path": 2, "ish": 0, "item": 2, "its": [2, 3], "itself": [1, 2], "j": 5, "javascript": [0, 2], "job": 0, "jpg": 2, "jq": 0, "json": [0, 2], "just": [1, 5], "keep": [0, 2], "kei": 6, "keyword": 2, "kind": 2, "known": 5, "kuiper": 2, "l": [0, 2], "lab": 2, "label": 2, "land": 3, "languag": 6, "lar": 2, "last": [2, 5], "lastwritetim": 2, "latest": [0, 1, 2, 5], "latex": 2, "launch": [0, 1], "least": 0, "left": [2, 3], "legaci": 2, "legibl": 2, "less": 2, "lessimportantfil": 2, "let": 2, "letter": 2, "level": [1, 2, 3, 5], "lf": 2, "libiio": [1, 2, 3], "librari": [1, 2], "licens": 0, "like": [1, 2], "line": [2, 4], "lineno": 2, "linux": 2, "list": [1, 3], "live": [0, 1], "ll": 2, "load": 2, "local": [1, 5], "localtoc": 3, "locat": 2, "log": [0, 2], "long": 2, "look": [1, 2], "loss": 2, "lower": 2, "lt": 5, "lut": [1, 2, 3], "m": [0, 2, 5], "macro": 2, "made": 1, "mai": [1, 2], "main": [0, 1, 2], "maintain": 2, "make": [0, 1, 2, 5], "makefil": 1, "manag": [0, 2, 3, 5], "manner": 2, "map": 2, "mark": 2, "markdown": 2, "markup": 1, "master": 2, "match": [1, 2], "mathwork": 2, "matter": 2, "maxdepth": 2, "mb": 2, "md": [2, 3], "mean": [0, 2], "meant": [1, 2], "media_print": 2, "merg": 0, "meta": 0, "metadata": 2, "method": 0, "microcontrol": 2, "middl": 0, "min": 0, "mind": 2, "minim": 1, "minimum": 0, "miss": 2, "mitig": 0, "mkdoc": 1, "mmcblk0": 2, "mode": [0, 2, 5], "modul": 5, "mono": 3, "monolith": [1, 2], "more": [2, 3, 4], "more_inform": 2, "mouser": 2, "move": 2, "mp4": 2, "much": 0, "multipl": [2, 3, 4, 6], "must": [0, 2, 3], "mw": 2, "my": [1, 2], "my_cod": 2, "my_doc": 1, "mydata": 2, "mysignal_phy_4": 2, "name": [0, 1, 2], "nativ": 3, "navig": 2, "necessari": [1, 2], "nechita": 2, "need": [0, 1, 2], "nest": 2, "new": [0, 2], "newer": 5, "next": [2, 5, 6], "nodesourc": 5, "nojekyl": 0, "non": 0, "none": 2, "note": [1, 2], "notic": 2, "npm": [1, 5], "null": 0, "num_of_sdi": 2, "numfig": 2, "numfig_format": 2, "numfig_per_doc": 2, "numref": 2, "o": 2, "object": 2, "obnoxi": 2, "obtain": [0, 2, 5], "occur": 2, "offlin": 0, "offset": 2, "old": [2, 5, 6], "onc": 2, "one": [0, 2, 3], "onli": [0, 1, 2, 3], "onlin": 2, "open": [0, 1], "optim": 2, "option": [1, 5], "orchestr": 0, "order": 2, "org": 2, "organ": [0, 3, 4], "origin": [0, 2], "orphan": 0, "other": [0, 1, 2, 3], "our": 2, "out": 2, "outfil": 2, "output": [0, 2, 3], "over": 2, "overview": 2, "overwrit": [1, 2], "own": [1, 2, 3], "p_vntewue24": 2, "packag": [2, 4, 5], "page": [0, 1, 2, 3, 6], "pai": 2, "pandoc": 2, "paragraph": 5, "parallel": [0, 2], "parent": 2, "pars": 2, "parti": 0, "password": 2, "patch": [0, 1, 2], "path": [0, 1, 2], "path_absolut": 2, "path_relative_to_hom": 2, "pattern": 2, "pdf": 1, "pdfbuild": 2, "pend": 2, "percentil": 2, "perform": 2, "perman": 2, "peter": 2, "philosophi": 0, "physic": 2, "piec": 3, "pip": [0, 2, 5], "pipelin": 2, "place": 2, "plain": 0, "pleas": [0, 2], "plugin": 5, "pmod": 2, "point": [0, 1], "pointer": [0, 2], "pool": 1, "port": 2, "possibl": [1, 2, 3], "powershel": 2, "pr": [0, 2], "pre": [0, 1, 5], "precaut": 2, "preced": 2, "prefer": 2, "prefix": 2, "present": [1, 2], "preserv": [2, 6], "pretti": 2, "previou": [2, 5, 6], "print": 2, "prior": [0, 2], "probabl": 1, "procedur": 2, "product": 2, "program": [2, 3], "programm": 2, "project": [1, 2], "project_0": 6, "project_1": 6, "prompt": [1, 5], "propag": 2, "proper": [1, 2], "properli": [0, 1, 2], "protect": 2, "provid": [0, 1, 2, 4, 5], "ps1": 2, "pull_request": 0, "pulsar": 2, "pupors": 2, "purpos": 2, "push": 0, "px": 2, "py": [0, 1, 2, 3], "pyadi": [0, 2, 3], "pytest": 0, "python": [0, 2, 3], "python3": [2, 5], "qualifi": 2, "quick": 1, "quiet": 0, "r": [0, 2, 5], "raw": [0, 2], "re": 2, "reach": 1, "react": 2, "read": [2, 4, 5], "readabl": [1, 2], "readili": 2, "readthedoc": 0, "real": 2, "recent": 2, "recommend": [0, 2, 5], "record": 2, "red": 2, "redirect": 0, "reduc": 2, "ref": [0, 2], "ref_nam": 2, "refer": [0, 3], "referenc": 2, "refresh": 0, "regist": 2, "regmap_nam": 2, "reinstal": 5, "rel": 2, "relas": 0, "relat": 2, "releas": [1, 2], "reles": 0, "reload": [0, 1], "remain": 2, "remot": 0, "remov": 2, "renam": [0, 2, 5], "render": 2, "repetit": 2, "replac": 2, "repo": [0, 2, 3, 5], "repositori": [1, 2, 3, 4], "repotoc": [2, 3], "request": 2, "requir": [0, 1, 2, 5], "rerun": 1, "reset": [0, 2], "resolv": [1, 2], "resourc": 2, "respect": 2, "rest": 2, "result": [1, 2], "return": 1, "review": 6, "right": [2, 3, 6], "rm": 0, "role": [3, 4], "rollup": 5, "root": [0, 2, 5], "rs2pdf": 2, "rst": [1, 2, 3], "rst2pdf": 2, "rule": [2, 4], "run": [0, 1, 2, 5], "rw": 2, "rx_phy": 2, "rx_phy2": 2, "rx_phy4": 2, "same": [2, 3], "sane": 2, "sass": [0, 5], "save": [1, 2, 5], "scenario": 2, "screen": 2, "script": [1, 2, 5], "scss": 5, "sdi": 2, "sdk": 1, "sdo": 2, "sdz": 2, "search": [2, 6], "secondari": 2, "section": [1, 5, 6], "see": [0, 1, 2], "select": 2, "selector": 0, "selenium": 1, "sens": 2, "sensit": 2, "separ": [0, 2], "sequenc": 1, "serv": [0, 2, 5], "server": [0, 1, 2], "servic": 2, "set": [0, 1, 2], "setup": [0, 2], "sh": [2, 5], "shall": [0, 2], "sheet": 5, "shift": 6, "ship": 5, "short": 2, "shorter": 2, "should": [0, 2], "show": [0, 2], "side": 2, "signal": 2, "similar": [1, 2], "simpl": 2, "simpler": 2, "sinc": [1, 2], "singl": [0, 1, 2], "size": 2, "slurp": 0, "so": [0, 1, 2], "soc": 2, "softwar": [1, 2], "software_defined_radio": 2, "sole": [0, 1, 2], "some": [1, 2], "some_pag": 2, "some_repositori": 2, "someth": 0, "somewher": 2, "sourc": [2, 5], "space": 2, "special": 0, "specif": [0, 1, 2], "speed": 2, "sphinx": [0, 1, 3, 4], "sphinxopt": 0, "spi": 2, "spi_engin": 2, "spi_engine_interconnect": 2, "split": 3, "squash": 2, "stabl": 0, "stage": [0, 2], "standard": [2, 3], "start": 1, "static": 2, "status": 2, "step": [0, 1, 2], "still": [0, 2], "store": [0, 2, 3], "straight": 2, "strategi": 1, "strictli": 2, "string": [0, 2], "structur": 2, "style": [2, 5], "stylesheet": 2, "subdirectori": 2, "subject": 2, "subset": 2, "subtitl": 1, "success": 0, "sudo": 2, "suffic": 0, "suffix": [0, 2], "sugar": 2, "suggest": 0, "summari": 1, "super": 2, "support": [1, 2, 6], "suppos": 2, "sure": [1, 2], "svg": [1, 2], "sw": 2, "switch": 0, "sy": 2, "symbol": [0, 1, 2, 5], "syntax": 2, "synthax": 2, "system": [0, 2], "t": [1, 2], "tab": 1, "tabl": 3, "tabular": 2, "tag": 0, "take": 0, "tar": 0, "target": [0, 2], "templat": 1, "term": 2, "terser": 5, "test": [0, 1, 2, 5], "than": [0, 2, 3, 5], "thei": [1, 2, 3], "them": [0, 1, 2], "theme": [1, 4], "therefor": 2, "thi": [0, 2, 3, 4, 5, 6], "thing": 2, "third": 0, "those": 1, "though": 2, "three": 3, "through": [1, 5], "thrown": 2, "time": 2, "timestamp": 1, "titl": [2, 3], "tmp": 1, "toc": 3, "toctre": [1, 2, 3], "togeth": [1, 3], "token": 2, "too": 5, "tool": [1, 2, 4, 5], "top": [1, 2, 3], "topic": [2, 3], "total": 2, "touch": [0, 1, 2], "track": [1, 2], "trigger": [1, 6], "true": [0, 2], "truth": 2, "tune": 2, "tweak": 2, "twice": 1, "two": [0, 1, 2], "txt": [0, 2, 5], "type": 2, "u": 2, "ubuntu": [0, 5], "undelin": 2, "underscor": 2, "understand": 1, "undescor": 2, "uninstal": 5, "unit": 2, "univers": [2, 3], "unord": 2, "unorded": 2, "unset": [0, 2], "until": 1, "unwant": 1, "up": [1, 2], "updat": [0, 1, 2, 5], "upgrad": [0, 5], "upload": 0, "url": [0, 2], "us": [0, 1, 2, 3, 6], "usag": 2, "user": [0, 1, 2, 5], "user_guid": 2, "v": 2, "v1": [0, 2], "v2": [0, 2], "v4": 0, "v5": 0, "valid": 2, "validate_link": 2, "valu": [0, 2], "variabl": [0, 2], "variou": 2, "vendor": 1, "venv": 5, "verbos": 2, "veri": 2, "verilog": 2, "view": 2, "viewer": 1, "vivado": [1, 2], "volum": 2, "w": 0, "wa": [0, 2, 5], "wai": 2, "want": [1, 2], "warn": 0, "watch": [0, 2, 5], "weasyprint": [1, 2], "web": [1, 2], "webpack": 1, "webpag": [1, 2, 3, 5], "websit": 2, "were": 3, "wget": 2, "when": [0, 2], "where": [1, 2], "which": [2, 5], "while": 2, "whole": 2, "why": [0, 2, 5], "wide": 2, "wiki": 2, "wikifil": 2, "window": 2, "without": [0, 1, 2, 5], "won": [1, 2], "word": 2, "work": [0, 1, 5], "workflow": 0, "world": 2, "worri": 2, "worth": 1, "would": [1, 2], "wrap": [1, 2], "write": 2, "written": 2, "www": 2, "x": [0, 2], "xact": [1, 2], "xilinx": 2, "xml": 2, "xr": 2, "yaml": 1, "yml": 0, "you": [1, 2, 5], "your": [1, 2, 5], "youtub": 2, "zsh": 2, "zynq": 2}, "titles": ["Continuous integration", "Command line interface", "Documentation guidelines", "Fundamentals", "Analog Devices Doctools", "Installing", "Sphinx theme"], "titleterms": {"In": 2, "adi": 2, "aggreg": 1, "analog": 4, "author": 1, "build": [0, 2], "can": 1, "clear": 2, "code": [1, 2], "collaps": 2, "color": 2, "command": 1, "common": 2, "compil": 5, "compon": 2, "contain": 2, "content": 2, "continu": 0, "css": 1, "custom": [1, 2], "deploy": 0, "develop": 5, "devic": 4, "diagram": 2, "direct": 2, "doc": 1, "doctool": [0, 4], "document": [0, 1, 2, 3], "dokuwiki": 2, "downgit": 2, "dynam": 2, "element": 2, "engineerzon": 2, "environ": 5, "esd": 2, "export": 2, "extern": 2, "fetch": 5, "file": 2, "flex": 2, "from": 2, "fundament": 3, "git": 2, "global": 2, "grid": 2, "guidelin": 2, "hdl": [1, 2], "hierarch": 3, "how": 1, "i": 1, "imag": 2, "import": 2, "indent": 2, "inner": 2, "insight": 2, "instal": 5, "integr": 0, "interfac": [1, 2], "larg": 2, "line": 1, "link": 2, "list": 2, "local": [0, 2], "miss": 1, "mode": 1, "number": 2, "option": 2, "organ": 2, "output": 1, "outsid": 2, "packag": 0, "paramet": 2, "parti": [2, 5], "pdf": 2, "pipelin": 0, "python": [1, 5], "rebuild": 1, "refer": 2, "regmap": 2, "releas": [0, 5], "remov": 5, "renam": 1, "render": 1, "repo": 1, "repositori": 5, "resourc": 5, "role": 2, "roll": 0, "section": 2, "serv": 1, "shell": 2, "shortcut": 6, "sourc": 1, "sphinx": [2, 6], "statu": 2, "storag": 2, "structur": 3, "style": 1, "stylesheet": 1, "supplier": 2, "tabl": 2, "text": 2, "theme": 6, "thi": 1, "third": [2, 5], "us": 5, "vendor": 2, "version": [0, 2], "video": 2, "virtual": 5, "wa": 1, "warn": 2, "watch": 1, "web": 5, "whole": 1, "why": 1, "width": 2, "within": 1, "work": 2}})
\ No newline at end of file
diff --git a/tags.json b/tags.json
index cda3f69..34a8c53 100644
--- a/tags.json
+++ b/tags.json
@@ -9,6 +9,7 @@
"v0.3.48",
"v0.3.42",
"v0.3.39",
+ "v0.3.52",
"v0.3.43",
"v0.3.44",
"v0.3.38",
diff --git a/theme.html b/theme.html
index 5ea5357..ce5d478 100644
--- a/theme.html
+++ b/theme.html
@@ -7,7 +7,7 @@
Sphinx theme — Doctools documentation
-
+
@@ -158,7 +158,7 @@
Sphinx theme
-A Sphinx themed called cosmic is available.
+
A Sphinx themed called harmonic (old cosmic ) is available.
It is deeply based on ADI’s harmonic design language.
Shortcuts
diff --git a/v0.3.52/_static/app.umd.js b/v0.3.52/_static/app.umd.js
new file mode 100644
index 0000000..94e22c2
--- /dev/null
+++ b/v0.3.52/_static/app.umd.js
@@ -0,0 +1,2 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).App=t()}(this,(function(){"use strict";class e{constructor(e,t){if(this.$,"string"==typeof e){if(this.$=document.createElement(e),"object"==typeof t)for(const e in t)e in this.$?this.$[e]=t[e]:this.$.dataset[e]=t[e]}else this.$=e}cloneNode(t){return new e(this.$.cloneNode(t))}set innerText(e){this.$.innerText=e}get innerText(){return this.$.innerText}get height(){return this.$.offsetHeight}get width(){return this.$.offsetWidth}get id(){return this.$.id}set id(e){this.$.id=e}get value(){return this.$.value}set value(e){this.$.value=e}get src(){return this.$.src}set src(e){this.$.src=e}focus(){this.$.focus()}get classList(){return this.$.classList}get style(){return this.$.style}onchange(e,t,n){return this.$.onchange=r=>{void 0===n?t.apply(e,[r]):n.constructor==Array&&(n.push(r),t.apply(e,n))},this}onclick(e,t,n){return this.$.onclick=r=>{void 0===n?t.apply(e,[r]):n.constructor==Array&&(n.push(r),t.apply(e,n))},this}onup(e,t,n){return this.$.addEventListener("mouseup",(r=>{void 0===n?t.apply(e,[r]):n.constructor==Array&&(n.push(r),t.apply(e,n))})),this}ondown(e,t,n){return this.$.addEventListener("mousedown",(r=>{void 0===n?t.apply(e,[r]):n.constructor==Array&&(n.push(r),t.apply(e,n))})),this}onmove(e,t,n){return this.$.addEventListener("mousemove",(r=>{void 0===n?t.apply(e,[r]):n.constructor==Array&&(n.push(r),t.apply(e,n))})),this}onevent(e,t,n,r){return this.$.addEventListener(e,(e=>{void 0===r?n.apply(t,[e]):r.constructor==Array&&(r.push(e),n.apply(t,r))})),this}append(e){return e.constructor!=Array&&(e=[e]),e.forEach((e=>{/HTML(.*)Element/.test(e.constructor.name)?this.$.appendChild(e):"object"==typeof e&&/HTML(.*)Element/.test(e.$.constructor.name)&&this.$.appendChild(e.$)})),this}delete(){this.$.remove()}removeChilds(){let e=this.$.lastElementChild;for(;e;)this.$.removeChild(e),e=this.$.lastElementChild;return this}static get(t,n){return void 0===(n=n instanceof e?n.$:n)?document.querySelector(t):n.querySelector(t)}static getAll(t,n){return"object"==typeof(n=n instanceof e?n.$:n)?n.querySelectorAll(t):get(n).querySelectorAll(t)}static switchState(t,n){let r=null!=n?n:"on";(t=t instanceof e?t.$:t).classList.contains(r)?t.classList.remove(r):t.classList.add(r)}static UID(){return(+new Date).toString(36)+Math.random().toString(36).substr(2)}static prototypeDetails(t){let n=new e("summary",{innerText:t.innerText}),r=new e("details",{id:t.id,name:t.id}).append(n);return null!=t.onevent&&t.onevent.forEach((e=>{e.args.push(r.$),n.onevent(e.event,e.self,e.fun,e.args)})),r}static prototypeInputFile(t){return new e("label",{htmlFor:`${t.id}_input`,id:t.id,className:t.className,innerText:t.innerText}).append(new e("input",{id:`${t.id}_input`,type:"file"}))}static prototypeCheckSwitch(t){let n=new e("input",{id:t.id,name:t.id,className:"checkswitch",type:"checkbox",value:!1});return[n,new e("div",{className:t.className}).append([new e("div").append([new e("label",{className:"checkswitch",htmlFor:t.id,innerText:t.innerText}).append([n,new e("span")])])])]}static prototypeDownload(e,t){let n,r=/.*\.(py|xml|csv|json|svg|png)$/;if(!r.test(e))return;let o=e.match(r)[1];switch(e=e.replaceAll("/","-").replaceAll(" ","_").toLowerCase(),o){case"xml":n="data:x-application/xml;charset=utf-8,"+encodeURIComponent(t);break;case"py":n="data:text/python;charset=utf-8,"+encodeURIComponent(t);break;case"json":n="data:text/json;charset=utf-8,"+encodeURIComponent(t);break;case"csv":n="data:text/csv;charset=utf-8,"+encodeURIComponent(t);break;case"svg":n="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(t);break;case"png":n=t}let s=document.createElement("a");s.setAttribute("href",n),s.setAttribute("download",e),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s)}static setSelected(e,t){for(var n=0;n nav > ul > li")),this.initScrollSpy(),null===this.currentTheme&&(this.currentTheme=this.getOSTheme()),n.body.classList.add("js-on"),this.currentTheme!==this.getOSTheme()&&n.body.classList.add(this.currentTheme),n.searchButton=new e("button",{id:"search",className:"icon",title:"Search (/)"}).onclick(this,(()=>{e.switchState(n.searchArea),e.switchState(n.searchAreaBg),n.searchInput.focus(),n.searchInput.$.select()})),n.changeTheme=new e("button",{className:"dark"===this.currentTheme?"icon on":"icon",id:"theme",title:"Switch theme"}).onclick(this,(()=>{n.body.classList.remove(this.currentTheme),this.currentTheme="dark"===this.currentTheme?"light":"dark",this.getOSTheme()==this.currentTheme?localStorage.removeItem("theme"):(localStorage.setItem("theme",this.currentTheme),n.body.classList.add(this.currentTheme))})),n.searchAreaBg=new e("div",{className:"search-area-bg"}).onclick(this,(()=>{e.switchState(n.searchArea),e.switchState(n.searchAreaBg)})),n.searchArea=new e(e.get(".search-area")),n.searchForm=new e(e.get("form",n.searchArea)),n.searchInput=new e(e.get("input",n.searchForm)),n.searchForm.$.action=e.get('link[rel="search"]').href,n.body.append([n.searchAreaBg]),n.rightHeader=new e(e.get("header #right span.reverse")).append([n.changeTheme,n.searchButton]),n.relatedNext=e.get(".related .next"),n.relatedPrev=e.get(".related .prev")}initScrollSpy(){null!==this.$.localtoc.$&&this.prepareLocaltocMap()}prepareLocaltocMap(){let t="",n=this.scrollSpy.localtoc,r=0;e.getAll(".reference.internal",this.$.localtoc).forEach((e=>{t=`${r}_${e.textContent}`,n.set(t,[e,void 0]),r+=1}));let o=[];for(let t=0;t<7;t++)o.push(...e.getAll(`section > h${t}`,this.$.content));o=o.sort(((e,t)=>e.getBoundingClientRect().y-t.getBoundingClientRect().y)),r=0,o.forEach((e=>{t=e.textContent,t=`${r}_${t}`,n.has(t)&&(n.set(t,[n.get(t)[0],e]),r+=1)})),n.forEach(((e,t,n)=>{void 0===e[1]&&n.delete(t)}))}handleResize(){this.portrait=window.innerHeight>window.innerWidth}handleScroll(){if(null!==this.$.localtoc.$){let e,t,n,r,o=Number.MAX_SAFE_INTEGER,s=Number.MIN_SAFE_INTEGER,a=this.scrollSpy.localtoc;if(a.forEach(((n,a,i)=>{r=n[1].getBoundingClientRect().y,r<=0?r>s&&(s=r,e=a):r1?`#${location.href.split("#")[1]}`:"";"ArrowLeft"==e.code&&this.$.relatedPrev?location.href=this.$.relatedPrev.href+t:"ArrowRight"==e.code&&this.$.relatedNext&&(location.href=this.$.relatedNext.href+t)}keyUp(e){switch(e.key){case"ArrowLeft":case"ArrowRight":this.related(e);break;case"/":this.search(e)}"Escape"===e.code&&this.search(e)}init(){onresize=()=>{this.handleResize()},onscroll=()=>{this.handleScroll()},document.addEventListener("keyup",(e=>{this.keyUp(e)}),!1),this.dynamic()}dynamic(){if(this.offline)return void console.log("navigation: dynamic features are not available in offline mode");let t=this.$;t.repotocTreeOverlay=new e(e.get(".repotoc-tree.overlay root")),t.repotocTreeSidebar=new e(e.get(".sphinxsidebar .repotoc-tree root")),t.banner=new e(e.get(".banner"));let n=e=>{"repotoc"in e&&this.dynamicRepoToc(e.repotoc),"banner"in e&&this.dynamicBanner(e.banner)},r=localStorage.getItem("metadata");null!==r&&(r=JSON.parse(r));let o=new Date(0);if(o.setHours(3),null===r||r.timestamp+o.valueOf(){if(!0===e.ok)return e.json()})).then((e=>{e&&(n(e),e.timestamp=Date.now(),localStorage.setItem("metadata",JSON.stringify(e)))})).catch((e=>{}))}else n(r)}dynamicRepoToc(t){let n=this.$,r="index.html",o=[],s=[];for(const[n,o]of Object.entries(t)){if(!("name"in o))continue;let t=n==this.repo[0]?this.contentRoot:`${this.globalRoot}${n}/`;if("topic"in o)for(const[a,i]of Object.entries(o.topic)){if("string"!=typeof i)continue;let o=new e("a",{href:`${t}${a}/${r}`,className:this.repo.join("/")===`${n}/${a}`?"current":""});o.innerText=i,s.push(o)}else s.push(new e("a",{href:`${t}${r}`,className:this.repo[0]===n?"current":"",innerText:o.name}))}s.forEach((e=>{o.push(e.cloneNode(!0))})),n.repotocTreeOverlay.$&&(n.repotocTreeOverlay.removeChilds(),n.repotocTreeOverlay.append(o)),n.repotocTreeSidebar.$&&(n.repotocTreeSidebar.removeChilds(),n.repotocTreeSidebar.append(s))}dynamicBanner(t){let n=this.$;"msg"in t&&n.banner.append(new e("span",{innerText:t.msg})),"a_href"in t&&"a_text"in t&&n.banner.append(new e("a",{href:t.a_href,innerText:t.a_text,target:"_blank"}))}setState(e,t){e.forEach((e=>{t?e.classList.add("on"):e.classList.remove("on")}))}getOSTheme(){return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}};function n(){window.app={},app.navigation=t,app.navigation.init()}return n(),n}));
+//# sourceMappingURL=app.umd.js.map
diff --git a/v0.3.52/_static/app.umd.js.map b/v0.3.52/_static/app.umd.js.map
new file mode 100644
index 0000000..f16e5a9
--- /dev/null
+++ b/v0.3.52/_static/app.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"app.umd.js","sources":["../scripts/dom.js","../scripts/navigation.js","../scripts/app.js"],"sourcesContent":["\"use strict\";\nexport {DOM, Animate}\n\n/** Make DOM element*/\nclass DOM {\n constructor (dom, tags){\n this.$\n if (typeof dom != 'string'){\n this.$ = dom\n return\n }\n this.$ = document.createElement(dom);\n if (typeof tags == 'object') for (const tag in tags) {\n if (tag in this.$)\n this.$[tag] = tags[tag]\n else\n this.$.dataset[tag] = tags[tag]\n }\n }\n /**\n * Clone node\n * @param {bool} deep - If true, then the node and its whole subtree,\n * including text that may be in child Text nodes, is also copied.\n */\n cloneNode (deep){\n let node = new DOM(this.$.cloneNode(deep))\n return node\n }\n /**\n * Set DOM innerText.\n * @param {string} str - Text to apply.\n */\n set innerText(str){\n this.$.innerText = str\n }\n /**\n * Get DOM innerText.\n */\n get innerText(){\n return this.$.innerText\n }\n /** Get DOM offset height */\n get height (){\n return this.$.offsetHeight\n }\n /** Get DOM offset width */\n get width (){\n return this.$.offsetWidth\n }\n /** Get DOM id */\n get id (){\n return this.$.id\n }\n /** Set DOM id */\n set id (str){\n this.$.id= str\n }\n /** Get DOM value */\n get value (){\n return this.$.value\n }\n /** Set DOM value */\n set value (str){\n this.$.value = str\n }\n /** Get DOM src */\n get src (){\n return this.$.src\n }\n /** Set DOM src */\n set src (str){\n this.$.src = str\n }\n /**\n * Focus on DOM.\n */\n focus (){\n this.$.focus()\n }\n /** Get DOM classList object. */\n get classList(){\n return this.$.classList\n }\n /** Get DOM style object. */\n get style(){\n return this.$.style\n }\n /**\n * Append a ``onchange`` event.\n * @param {function} ev - Function to be executed on click.\n */\n onchange (self, ev, args){\n this.$.onchange = (e) => {\n if (typeof args == 'undefined')\n ev.apply(self, [e])\n else if (args.constructor == Array) {\n args.push(e)\n ev.apply(self, args)\n }\n }\n return this\n }\n /**\n * Append a ``onclick`` event.\n * @param {function} ev - Function to be executed on click.\n */\n onclick (self, ev, args){\n this.$.onclick = (e) => {\n if (typeof args == 'undefined')\n ev.apply(self, [e])\n else if (args.constructor == Array) {\n args.push(e)\n ev.apply(self, args)\n }\n }\n return this\n }\n /**\n * Append a ``mouseup`` and ``touchup`` event.\n * @param {function} ev - Function to be executed on up.\n */\n onup (self, ev, args){\n this.$.addEventListener('mouseup', (e) => {\n if (typeof args == 'undefined')\n ev.apply(self, [e])\n else if (args.constructor == Array) {\n args.push(e)\n ev.apply(self, args)\n }\n })\n return this\n }\n /**\n * Append a ``mousedown`` and ``touchdown`` event.\n * @param {function} ev - Function to be executed on down.\n */\n ondown (self, ev, args){\n this.$.addEventListener('mousedown', (e) => {\n if (typeof args == 'undefined')\n ev.apply(self, [e])\n else if (args.constructor == Array) {\n args.push(e)\n ev.apply(self, args)\n }\n })\n return this\n }\n /**\n * Append a ``mousemove`` and ``touchmove`` event.\n * @param {function} ev - Function to be executed on move.\n */\n onmove (self, ev, args){\n this.$.addEventListener('mousemove', (e) => {\n if (typeof args == 'undefined')\n ev.apply(self, [e])\n else if (args.constructor == Array) {\n args.push(e)\n ev.apply(self, args)\n }\n })\n return this\n }\n /**\n * Append a event listener.\n * @param {string} event - Event listener name.\n * @param {function} fun - Function to be executed on move.\n * @param {function} args - Arguments to be applied to the function.\n */\n onevent (event, self, fun, args){\n this.$.addEventListener(event, (e) => {\n if (typeof args == 'undefined')\n fun.apply(self, [e])\n else if (args.constructor == Array) {\n args.push(e)\n fun.apply(self, args)\n }\n })\n return this\n }\n /**\n * Appends others :js:func:`DOM`.\n * @param {Object[]} DOMS - Array of :js:func:`DOM` or/and direct DOM Nodes.\n */\n append (DOMS){\n if (DOMS.constructor != Array)\n DOMS = [DOMS]\n\n DOMS.forEach ((item) => {\n if (/HTML(.*)Element/.test(item.constructor.name))\n this.$.appendChild(item)\n else if (typeof item == 'object' &&\n /HTML(.*)Element/.test(item.$.constructor.name))\n this.$.appendChild(item.$)\n })\n\n return this\n }\n /**\n * Delete object.\n */\n delete (){\n this.$.remove()\n delete this\n }\n /**\n * Remove childs from :js:func:`DOM` object.\n */\n removeChilds (){\n let child = this.$.lastElementChild\n while (child) {\n this.$.removeChild(child)\n child = this.$.lastElementChild\n }\n return this\n }\n /**\n * Get DOM Node element.\n * @param {string} a - Target object query selector.\n * @param {Object} b - Optional parent DOM.\n */\n static get (a, b){\n b = b instanceof DOM ? b.$ : b\n return (typeof b == 'undefined') ? document.querySelector (a) : b.querySelector(a)\n }\n /**\n * Get all DOM Node elements.\n * @param {string} a - Target object query selector.\n * @param {Object} b - Parent DOM.\n */\n static getAll(a, b){\n b = b instanceof DOM ? b.$ : b\n return (typeof b == 'object') ? b.querySelectorAll(a) : get(b).querySelectorAll(a)\n }\n /**\n * Include or remove a class to a DOM.\n * @param {Object} b - Target DOM.\n * @param {string} _class - Optional class, defaults to `on`.\n */\n static switchState (b, _class){\n b = b instanceof DOM ? b.$ : b\n let cn = _class != undefined ? _class : `on`\n if (b.classList.contains(cn))\n b.classList.remove(cn)\n else\n b.classList.add(cn)\n }\n /**\n * Generate a unique identifier.\n */\n static UID (){\n return (+new Date).toString(36) + Math.random().toString(36).substr(2)\n }\n /**\n * Prototype a DOM composed by details, sumamary and a h2 title with optional\n * onclick event.\n * @param {Object} str - id, title and onclick function of the DOM element.\n * @param {string} str.id - Id of the DOM element.\n * @param {string} str.title - Title of the DOM element.\n * @param {Object} str.onclick - Onclick function of the DOM element.\n */\n static prototypeDetails (str){\n let summary = new DOM('summary', {innerText:str.innerText})\n let details = new DOM('details', {id:str.id, name:str.id})\n .append(summary)\n\n if (str.onevent != undefined) {\n str.onevent.forEach(event => {\n event.args.push(details.$)\n summary.onevent(\n event.event,\n event.self,\n event.fun,\n event.args\n )\n })\n }\n return details\n }\n /**\n * Prototype a DOM composed by input(file type) and label.\n * @param {Object} str - id, className and innerText of the DOM element.\n * @param {string} str.id - Id of the DOM element.\n * @param {string} str.className - ClassName of the DOM element.\n * @param {string} str.innerText - Inner text of the DOM element.\n */\n static prototypeInputFile (str){\n return new DOM('label', {\n htmlFor:`${str.id}_input`,\n id:str.id,\n className:str.className,\n innerText:str.innerText\n }).append(\n new DOM('input', {id:`${str.id}_input`, type:'file'})\n )\n }\n /**\n * Prototype a DOM composed by input(checkbox) and label styled as as switch.\n * @param {Object} str - id, className and innerText of the DOM element.\n * @param {string} str.id - Id of the DOM element.\n * @param {string} str.className - ClassName of the DOM element.\n * @param {string} str.innerText - Inner text of the DOM element.\n * @returns Array with input and container.\n */\n static prototypeCheckSwitch (str){\n let input = new DOM('input', {\n id:str.id,\n name:str.id,\n className:'checkswitch',\n type:'checkbox',\n value:false\n })\n\n let container = new DOM('div', {className:str.className})\n .append([\n new DOM('div')\n .append([\n new DOM('label', {\n className:'checkswitch',\n htmlFor:str.id,\n innerText:str.innerText\n }).append([\n input,\n new DOM('span')\n ])\n ])\n ])\n\n return [input, container]\n }\n /**\n * Prototype a DOM that allows data to be downloded on its creation.\n * @param {string} filename - name of the file.\n * @param {string} file - file content.\n */\n static prototypeDownload (filename, file){\n let data,\n reg = /.*\\.(py|xml|csv|json|svg|png)$/\n if (!reg.test(filename))\n return\n\n let format = filename.match(reg)[1]\n filename = filename\n .replaceAll('/','-')\n .replaceAll(' ','_')\n .toLowerCase()\n\n switch (format) {\n case 'xml':\n data = \"data:x-application/xml;charset=utf-8,\" + encodeURIComponent(file);\n break\n case 'py':\n data = \"data:text/python;charset=utf-8,\" + encodeURIComponent(file);\n break\n case 'json':\n data = \"data:text/json;charset=utf-8,\" + encodeURIComponent(file);\n break\n case 'csv':\n data = \"data:text/csv;charset=utf-8,\" + encodeURIComponent(file);\n break\n case 'svg':\n data = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(file);\n break\n case 'png':\n data = file; // Expect already in blob\n break\n }\n let element = document.createElement('a')\n element.setAttribute('href', data)\n element.setAttribute('download', filename)\n element.style.display = 'none'\n\n document.body.appendChild(element)\n element.click ()\n document.body.removeChild(element)\n }\n /**\n * Set a option of a select list by its innerText.\n * @param {Object} dom - Node of the select list.\n * @param {string} value - Inner text of the target option.\n */\n static setSelected (dom, value){\n for (var i = 0; i < dom.$.options.length; i++){\n if (dom.$.options[i].text == value){\n dom.$.options[i].selected = true\n return\n }\n }\n }\n /**\n * Updates parameter of children of a DOM.\n * Lazy because doesn't care is successful or not.\n * Useful for generic lists, like in searches.\n * @param {Object} dom - Container of the list.\n * @param {string} uid - Item to search for.\n * @param {Object} props - Properties to update, where the key is also the DOM id.\n * @param {string} param - Parameter to update.\n */\n static lazyUpdate (dom, uid, props, param){\n param = param == undefined ? 'innerText' : param\n let element = DOM.get(`[data-uid='${uid}']`, dom)\n for (const key in props){\n DOM.get(`#${key}`, element)[param] = props[key]\n }\n }\n}\n","\"use strict\";\n\nimport {DOM} from './dom.js'\nimport {Toolbox} from './toolbox.js'\n\n/* Handle navigation, theming, search, shortcuts */\nclass Navigation {\n constructor () {\n this.portrait = false\n this.offline = 'file:' == window.location.protocol\n this.currentTheme = localStorage.getItem('theme')\n this.contentRoot = this.getContentRoot()\n this.globalRoot = this.getGlobalRoot()\n this.scrollSpy = {\n localtoc: new Map(),\n currentLocaltoc: undefined\n }\n\n let metaRepo = document.querySelector('meta[name=\"repo\"]')\n this.repo = metaRepo ? metaRepo.content.split('/') : ['']\n\n let $ = this.$ = {}\n $.body = new DOM(DOM.get('body'))\n $.content = new DOM(DOM.get('.body section'))\n $.localtoc = new DOM(DOM.get('.tocwrapper > nav > ul > li'))\n this.initScrollSpy()\n\n if (this.currentTheme === null)\n this.currentTheme = this.getOSTheme()\n $.body.classList.add('js-on')\n if (this.currentTheme !== this.getOSTheme())\n $.body.classList.add(this.currentTheme)\n\n\t $.searchButton = new DOM('button', {\n id:'search',\n className:'icon',\n title:'Search (/)'\n }).onclick(this, () => {\n DOM.switchState($.searchArea)\n DOM.switchState($.searchAreaBg)\n $.searchInput.focus()\n $.searchInput.$.select()\n })\n\t $.changeTheme = new DOM('button', {\n className: this.currentTheme === 'dark' ? 'icon on' : 'icon',\n id:'theme',\n title:'Switch theme'\n }).onclick(this, () => {\n $.body.classList.remove(this.currentTheme)\n this.currentTheme = this.currentTheme === 'dark' ? 'light' : 'dark'\n if (this.getOSTheme() == this.currentTheme)\n localStorage.removeItem('theme')\n else {\n localStorage.setItem('theme', this.currentTheme)\n $.body.classList.add(this.currentTheme)\n }\n })\n\n $.searchAreaBg = new DOM('div', {\n className:'search-area-bg'\n }).onclick(this, () => {\n DOM.switchState($.searchArea)\n DOM.switchState($.searchAreaBg)\n })\n $.searchArea = new DOM(DOM.get('.search-area'))\n $.searchForm = new DOM(DOM.get('form', $.searchArea))\n $.searchInput = new DOM(DOM.get('input', $.searchForm))\n $.searchForm.$['action'] = DOM.get('link[rel=\"search\"]').href\n $.body.append([$.searchAreaBg])\n\n $.rightHeader = new DOM(DOM.get('header #right span.reverse')).append([$.changeTheme, $.searchButton])\n\n $.relatedNext = DOM.get('.related .next')\n $.relatedPrev = DOM.get('.related .prev')\n }\n /*\n * Initates scroll spy elements.\n */\n initScrollSpy () {\n if (this.$.localtoc.$ !== null) {\n this.prepareLocaltocMap()\n }\n }\n /*\n * Prepare map for localtoc elements to be used by the scroll spy.\n */\n prepareLocaltocMap (){\n let key = \"\"\n let lt = this.scrollSpy.localtoc\n let i = 0\n DOM.getAll('.reference.internal', this.$.localtoc).forEach((elem) => {\n key = `${i}_${elem.textContent}`\n lt.set(key, [elem, undefined])\n i += 1\n })\n\n let entries = []\n for (let i = 0; i < 7; i++) {\n entries.push(...DOM.getAll(`section > h${i}`, this.$.content))\n }\n // Sort entries in distance to the top\n entries = entries.sort((a, b) => a.getBoundingClientRect().y - b.getBoundingClientRect().y)\n i = 0\n entries.forEach((elem) => {\n key = elem.textContent\n key = `${i}_${key}`\n if (lt.has(key)) {\n lt.set(key, [lt.get(key)[0], elem])\n i += 1\n }\n })\n // Remove not found entries\n lt.forEach((value, key, map) => {\n if (value[1] === undefined)\n map.delete(key)\n })\n }\n /* Update GUI based on resize event */\n handleResize () {\n this.portrait = window.innerHeight > window.innerWidth ? true : false\n }\n /* Update GUI based on scroll event */\n handleScroll () {\n if (this.$.localtoc.$ !== null) {\n // Highlight localtoc entry\n let key_neg, key_pos, key, dist\n let dist_pos = Number.MAX_SAFE_INTEGER\n let dist_neg = Number.MIN_SAFE_INTEGER\n let lt = this.scrollSpy.localtoc\n lt.forEach((value, key_, map) => {\n dist = value[1].getBoundingClientRect().y\n if (dist <= 0) {\n if (dist > dist_neg) {\n dist_neg = dist\n key_neg = key_\n }\n } else {\n if (dist < dist_pos) {\n dist_pos = dist\n key_pos = key_\n }\n }\n })\n if (dist_pos < 5*16)\n key = key_pos\n else\n key = key_neg\n\n if (key !== undefined) {\n let clt_key = this.scrollSpy.currentLocaltoc\n if (key !== clt_key) {\n lt.get(key)[0].classList.add(\"current\")\n if (clt_key !== undefined) {\n lt.get(clt_key)[0].classList.remove(\"current\")\n }\n this.scrollSpy.currentLocaltoc = key\n }\n }\n }\n }\n /*\n * Get relative path to the root\n * Dual fallback to support multiple Sphinx versions.\n */\n getContentRoot () {\n let content_root\n let dom = new DOM(DOM.get('script#documentation_options'))\n if (dom.$ !== null)\n content_root = dom.$.dataset['url_root'];\n if (content_root == undefined)\n content_root = DOM.get('html').dataset['content_root']\n if (content_root == undefined) {\n dom = new DOM(DOM.get('.repotoc-tree .current'))\n if (dom.$ !== null)\n content_root = dom.$.getAttribute('href').replace('index.html', '')\n }\n if (content_root == undefined) {\n console.warn(\"Failed to get content root.\")\n content_root = ''\n }\n return content_root\n }\n /*\n * Get relative path to the global root\n */\n getGlobalRoot () {\n return document.querySelector('meta[name=\"global_root\"]').content\n }\n /* Search shortcut */\n search (e) {\n if (e.key === '/' && !this.$.searchArea.classList.contains('on')) {\n DOM.switchState(this.$.searchArea)\n DOM.switchState(this.$.searchAreaBg)\n this.$.searchInput.focus()\n this.$.searchInput.$.select()\n } else if (e.code === 'Escape') {\n if (this.$.searchArea.classList.contains('on')) {\n DOM.switchState(this.$.searchArea)\n DOM.switchState(this.$.searchAreaBg)\n }\n }\n }\n /* Related shortcut */\n related (e) {\n if (!e.altKey || !e.shiftKey)\n return\n\n /* Try to anchor to same section */\n let anchor = (e.ctrlKey && location.href.split('#').length > 1) ?\n `#${location.href.split('#')[1]}` : \"\"\n\n if (e.code == 'ArrowLeft' && this.$.relatedPrev)\n location.href = this.$.relatedPrev.href + anchor\n else if (e.code == 'ArrowRight' && this.$.relatedNext)\n location.href = this.$.relatedNext.href + anchor\n }\n\n keyUp (e) {\n switch (e.key) {\n case 'ArrowLeft':\n case 'ArrowRight':\n this.related(e)\n break\n case '/':\n this.search(e)\n }\n\n if (e.code === 'Escape')\n this.search(e)\n }\n /**\n * Init navigation.\n */\n init () {\n onresize = () => {this.handleResize()}\n onscroll = () => {this.handleScroll()}\n document.addEventListener('keyup', (e) => {this.keyUp(e)}, false);\n this.dynamic()\n }\n /**\n * Updates elements in a reactive manner,\n * fetching from the main doctools/metadata.js,\n * that contain the most up-to-date metadata\n */\n dynamic () {\n if (this.offline) {\n console.log(\"navigation: dynamic features are not available in offline mode\")\n return\n }\n\n /* Get dynamic elements */\n let $ = this.$\n $.repotocTreeOverlay = new DOM(DOM.get('.repotoc-tree.overlay root'))\n $.repotocTreeSidebar = new DOM(DOM.get('.sphinxsidebar .repotoc-tree root'))\n $.banner = new DOM(DOM.get('.banner'))\n\n let resolveJSON = (j) => {\n if ('repotoc' in j)\n this.dynamicRepoToc(j['repotoc'])\n if ('banner' in j)\n this.dynamicBanner(j['banner'])\n }\n\n /* Fetch metadata */\n let json = localStorage.getItem('metadata')\n if (json !== null)\n json = JSON.parse(json)\n\n let unix_day = new Date(0)\n unix_day.setHours(3)\n if (json === null || json['timestamp'] + unix_day.valueOf() < Date.now()) {\n let metadata = `${this.globalRoot}doctools/metadata.json`\n\n fetch(metadata, {\n method: 'Get',\n headers: {\n 'Content-Type': 'application/json'\n }\n }).then((response) => {\n if (response.ok !== true) {\n return\n }\n\n return response.json()\n }).then((obj) => {\n if (!obj)\n return\n\n resolveJSON(obj)\n obj['timestamp'] = Date.now()\n localStorage.setItem('metadata', JSON.stringify(obj))\n }).catch((e) => {\n return\n })\n } else {\n resolveJSON(json)\n }\n }\n\n dynamicRepoToc (obj) {\n let $ = this.$\n\n let home = \"index.html\"\n let linksOverlay = [],\n linksSidebar = []\n for (const [key, value] of Object.entries(obj)) {\n if (!('name' in value))\n continue\n\n let base = key == this.repo[0] ?\n this.contentRoot :\n `${this.globalRoot}${key}/`\n if ('topic' in value) {\n for (const [key_, value_] of Object.entries(value['topic'])) {\n if (typeof(value_) !== \"string\")\n continue\n\n let a = new DOM('a', {\n 'href': `${base}${key_}/${home}`,\n 'className': this.repo.join('/') === `${key}/${key_}` ? 'current' : ''\n })\n a.innerText = value_\n\n linksSidebar.push(a)\n }\n } else {\n linksSidebar.push(new DOM('a', {\n 'href': `${base}${home}`,\n 'className': this.repo[0] === key ? 'current' : '',\n 'innerText': value['name']\n }))\n }\n }\n\n linksSidebar.forEach((elem) => {\n linksOverlay.push(elem.cloneNode(true))\n })\n\n if ($.repotocTreeOverlay.$)\n $.repotocTreeOverlay.removeChilds(),\n $.repotocTreeOverlay.append(linksOverlay)\n if ($.repotocTreeSidebar.$)\n $.repotocTreeSidebar.removeChilds(),\n $.repotocTreeSidebar.append(linksSidebar)\n }\n\n dynamicBanner (obj) {\n let $ = this.$\n\n if ('msg' in obj)\n $.banner.append(new DOM('span', {\n 'innerText': obj['msg']\n }))\n\n if ('a_href' in obj && 'a_text' in obj)\n $.banner.append(new DOM('a', {\n 'href': obj['a_href'],\n 'innerText': obj['a_text'],\n 'target': '_blank'\n }))\n }\n /**\n * Set items state.\n * @param state - True for open, false for closed.\n */\n setState (items, state) {\n items.forEach((elem) => {\n if (state) {\n elem.classList.add('on')\n } else {\n elem.classList.remove('on')\n }\n })\n }\n /**\n * Get OS Theme\n */\n getOSTheme () {\n return window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? 'dark' : 'light'\n }\n}\n\nexport let navigation = new Navigation()\n","import '../style/bundle.scss'\nimport { navigation } from './navigation.js'\n\nexport default function App (){\n window.app = {}\n\n app.navigation = navigation\n\n app.navigation.init()\n}\n\nApp()\n"],"names":["DOM","constructor","dom","tags","this","$","document","createElement","tag","dataset","cloneNode","deep","innerText","str","height","offsetHeight","width","offsetWidth","id","value","src","focus","classList","style","onchange","self","ev","args","e","apply","Array","push","onclick","onup","addEventListener","ondown","onmove","onevent","event","fun","append","DOMS","forEach","item","test","name","appendChild","remove","removeChilds","child","lastElementChild","removeChild","get","a","b","querySelector","getAll","querySelectorAll","switchState","_class","cn","undefined","contains","add","UID","Date","toString","Math","random","substr","prototypeDetails","summary","details","prototypeInputFile","htmlFor","className","type","prototypeCheckSwitch","input","prototypeDownload","filename","file","data","reg","format","match","replaceAll","toLowerCase","encodeURIComponent","element","setAttribute","display","body","click","setSelected","i","options","length","text","selected","lazyUpdate","uid","props","param","key","navigation","portrait","offline","window","location","protocol","currentTheme","localStorage","getItem","contentRoot","getContentRoot","globalRoot","getGlobalRoot","scrollSpy","localtoc","Map","currentLocaltoc","metaRepo","repo","content","split","initScrollSpy","getOSTheme","searchButton","title","searchArea","searchAreaBg","searchInput","select","changeTheme","removeItem","setItem","searchForm","href","rightHeader","relatedNext","relatedPrev","prepareLocaltocMap","lt","elem","textContent","set","entries","sort","getBoundingClientRect","y","has","map","delete","handleResize","innerHeight","innerWidth","handleScroll","key_neg","key_pos","dist","dist_pos","Number","MAX_SAFE_INTEGER","dist_neg","MIN_SAFE_INTEGER","key_","clt_key","content_root","getAttribute","replace","console","warn","search","code","related","altKey","shiftKey","anchor","ctrlKey","keyUp","init","onresize","onscroll","dynamic","log","repotocTreeOverlay","repotocTreeSidebar","banner","resolveJSON","j","dynamicRepoToc","dynamicBanner","json","JSON","parse","unix_day","setHours","valueOf","now","metadata","fetch","method","headers","then","response","ok","obj","stringify","catch","home","linksOverlay","linksSidebar","Object","base","value_","join","target","setState","items","state","matchMedia","matches","App","app"],"mappings":"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"}
\ No newline at end of file
diff --git a/v0.3.52/_static/basic.css b/v0.3.52/_static/basic.css
new file mode 100644
index 0000000..7ebbd6d
--- /dev/null
+++ b/v0.3.52/_static/basic.css
@@ -0,0 +1,914 @@
+/*
+ * Sphinx stylesheet -- basic theme.
+ */
+
+/* -- 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-top: 10px;
+}
+
+ul.search li {
+ padding: 5px 0;
+}
+
+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/v0.3.52/_static/doctools.js b/v0.3.52/_static/doctools.js
new file mode 100644
index 0000000..0398ebb
--- /dev/null
+++ b/v0.3.52/_static/doctools.js
@@ -0,0 +1,149 @@
+/*
+ * Base JavaScript utilities for all Sphinx HTML documentation.
+ */
+"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/v0.3.52/_static/documentation_options.js b/v0.3.52/_static/documentation_options.js
new file mode 100644
index 0000000..7e4c114
--- /dev/null
+++ b/v0.3.52/_static/documentation_options.js
@@ -0,0 +1,13 @@
+const DOCUMENTATION_OPTIONS = {
+ VERSION: '',
+ 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/v0.3.52/_static/esd-warning.svg b/v0.3.52/_static/esd-warning.svg
new file mode 100644
index 0000000..23db4a6
--- /dev/null
+++ b/v0.3.52/_static/esd-warning.svg
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+ ATTENTION
+ OBSERVE PRECAUTIONS FOR HANDLING
+ ELECTROSTATIC SENSITIVE DEVICES
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v0.3.52/_static/file.png b/v0.3.52/_static/file.png
new file mode 100644
index 0000000..a858a41
Binary files /dev/null and b/v0.3.52/_static/file.png differ
diff --git a/v0.3.52/_static/fonts/barlow/Barlow-Medium.woff2 b/v0.3.52/_static/fonts/barlow/Barlow-Medium.woff2
new file mode 100644
index 0000000..73a4513
Binary files /dev/null and b/v0.3.52/_static/fonts/barlow/Barlow-Medium.woff2 differ
diff --git a/v0.3.52/_static/fonts/barlow/Barlow-SemiBold.woff2 b/v0.3.52/_static/fonts/barlow/Barlow-SemiBold.woff2
new file mode 100644
index 0000000..45cdf94
Binary files /dev/null and b/v0.3.52/_static/fonts/barlow/Barlow-SemiBold.woff2 differ
diff --git a/v0.3.52/_static/fonts/barlow/OFL.txt b/v0.3.52/_static/fonts/barlow/OFL.txt
new file mode 100644
index 0000000..2f22ba6
--- /dev/null
+++ b/v0.3.52/_static/fonts/barlow/OFL.txt
@@ -0,0 +1,93 @@
+Copyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/v0.3.52/_static/fonts/inter/Inter-Regular.woff2 b/v0.3.52/_static/fonts/inter/Inter-Regular.woff2
new file mode 100644
index 0000000..b8699af
Binary files /dev/null and b/v0.3.52/_static/fonts/inter/Inter-Regular.woff2 differ
diff --git a/v0.3.52/_static/fonts/inter/Inter-SemiBold.woff2 b/v0.3.52/_static/fonts/inter/Inter-SemiBold.woff2
new file mode 100644
index 0000000..95c48b1
Binary files /dev/null and b/v0.3.52/_static/fonts/inter/Inter-SemiBold.woff2 differ
diff --git a/v0.3.52/_static/fonts/inter/LICENSE.txt b/v0.3.52/_static/fonts/inter/LICENSE.txt
new file mode 100644
index 0000000..9b2ca37
--- /dev/null
+++ b/v0.3.52/_static/fonts/inter/LICENSE.txt
@@ -0,0 +1,92 @@
+Copyright (c) 2016 The Inter Project Authors (https://github.com/rsms/inter)
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION AND CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/v0.3.52/_static/icon.svg b/v0.3.52/_static/icon.svg
new file mode 100644
index 0000000..864cfe1
--- /dev/null
+++ b/v0.3.52/_static/icon.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/v0.3.52/_static/icons.svg b/v0.3.52/_static/icons.svg
new file mode 100644
index 0000000..d00fcdc
--- /dev/null
+++ b/v0.3.52/_static/icons.svg
@@ -0,0 +1,122 @@
+
+
+
+image/svg+xml
diff --git a/v0.3.52/_static/language_data.js b/v0.3.52/_static/language_data.js
new file mode 100644
index 0000000..c7fe6c6
--- /dev/null
+++ b/v0.3.52/_static/language_data.js
@@ -0,0 +1,192 @@
+/*
+ * This script contains the language-specific data used by searchtools.js,
+ * namely the list of stopwords, stemmer, scorer and splitter.
+ */
+
+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, if 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/v0.3.52/_static/logo-org.svg b/v0.3.52/_static/logo-org.svg
new file mode 100644
index 0000000..b2b532b
--- /dev/null
+++ b/v0.3.52/_static/logo-org.svg
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/v0.3.52/_static/minus.png b/v0.3.52/_static/minus.png
new file mode 100644
index 0000000..d96755f
Binary files /dev/null and b/v0.3.52/_static/minus.png differ
diff --git a/v0.3.52/_static/plus.png b/v0.3.52/_static/plus.png
new file mode 100644
index 0000000..7107cec
Binary files /dev/null and b/v0.3.52/_static/plus.png differ
diff --git a/v0.3.52/_static/pygments.css b/v0.3.52/_static/pygments.css
new file mode 100644
index 0000000..ee92c2c
--- /dev/null
+++ b/v0.3.52/_static/pygments.css
@@ -0,0 +1,324 @@
+@media (prefers-color-scheme: light) {
+body:not(.dark) .highlight pre { line-height: 125%; }
+body:not(.dark) .highlight td.linenos .normal { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body:not(.dark) .highlight span.linenos { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body:not(.dark) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body:not(.dark) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body:not(.dark) .highlight .hll { background-color: #ffffcc }
+body:not(.dark) .highlight { background: #f0f0f0; }
+body:not(.dark) .highlight .c { color: #60a0b0; font-style: italic } /* Comment */
+body:not(.dark) .highlight .err { border: 1px solid #FF0000 } /* Error */
+body:not(.dark) .highlight .k { color: #007020; font-weight: bold } /* Keyword */
+body:not(.dark) .highlight .o { color: #666666 } /* Operator */
+body:not(.dark) .highlight .ch { color: #60a0b0; font-style: italic } /* Comment.Hashbang */
+body:not(.dark) .highlight .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
+body:not(.dark) .highlight .cp { color: #007020 } /* Comment.Preproc */
+body:not(.dark) .highlight .cpf { color: #60a0b0; font-style: italic } /* Comment.PreprocFile */
+body:not(.dark) .highlight .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
+body:not(.dark) .highlight .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
+body:not(.dark) .highlight .gd { color: #A00000 } /* Generic.Deleted */
+body:not(.dark) .highlight .ge { font-style: italic } /* Generic.Emph */
+body:not(.dark) .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+body:not(.dark) .highlight .gr { color: #FF0000 } /* Generic.Error */
+body:not(.dark) .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+body:not(.dark) .highlight .gi { color: #00A000 } /* Generic.Inserted */
+body:not(.dark) .highlight .go { color: #888888 } /* Generic.Output */
+body:not(.dark) .highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+body:not(.dark) .highlight .gs { font-weight: bold } /* Generic.Strong */
+body:not(.dark) .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+body:not(.dark) .highlight .gt { color: #0044DD } /* Generic.Traceback */
+body:not(.dark) .highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+body:not(.dark) .highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+body:not(.dark) .highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+body:not(.dark) .highlight .kp { color: #007020 } /* Keyword.Pseudo */
+body:not(.dark) .highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+body:not(.dark) .highlight .kt { color: #902000 } /* Keyword.Type */
+body:not(.dark) .highlight .m { color: #40a070 } /* Literal.Number */
+body:not(.dark) .highlight .s { color: #4070a0 } /* Literal.String */
+body:not(.dark) .highlight .na { color: #4070a0 } /* Name.Attribute */
+body:not(.dark) .highlight .nb { color: #007020 } /* Name.Builtin */
+body:not(.dark) .highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+body:not(.dark) .highlight .no { color: #60add5 } /* Name.Constant */
+body:not(.dark) .highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+body:not(.dark) .highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+body:not(.dark) .highlight .ne { color: #007020 } /* Name.Exception */
+body:not(.dark) .highlight .nf { color: #06287e } /* Name.Function */
+body:not(.dark) .highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
+body:not(.dark) .highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+body:not(.dark) .highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
+body:not(.dark) .highlight .nv { color: #bb60d5 } /* Name.Variable */
+body:not(.dark) .highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
+body:not(.dark) .highlight .w { color: #bbbbbb } /* Text.Whitespace */
+body:not(.dark) .highlight .mb { color: #40a070 } /* Literal.Number.Bin */
+body:not(.dark) .highlight .mf { color: #40a070 } /* Literal.Number.Float */
+body:not(.dark) .highlight .mh { color: #40a070 } /* Literal.Number.Hex */
+body:not(.dark) .highlight .mi { color: #40a070 } /* Literal.Number.Integer */
+body:not(.dark) .highlight .mo { color: #40a070 } /* Literal.Number.Oct */
+body:not(.dark) .highlight .sa { color: #4070a0 } /* Literal.String.Affix */
+body:not(.dark) .highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
+body:not(.dark) .highlight .sc { color: #4070a0 } /* Literal.String.Char */
+body:not(.dark) .highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
+body:not(.dark) .highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+body:not(.dark) .highlight .s2 { color: #4070a0 } /* Literal.String.Double */
+body:not(.dark) .highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+body:not(.dark) .highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
+body:not(.dark) .highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+body:not(.dark) .highlight .sx { color: #c65d09 } /* Literal.String.Other */
+body:not(.dark) .highlight .sr { color: #235388 } /* Literal.String.Regex */
+body:not(.dark) .highlight .s1 { color: #4070a0 } /* Literal.String.Single */
+body:not(.dark) .highlight .ss { color: #517918 } /* Literal.String.Symbol */
+body:not(.dark) .highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+body:not(.dark) .highlight .fm { color: #06287e } /* Name.Function.Magic */
+body:not(.dark) .highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
+body:not(.dark) .highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
+body:not(.dark) .highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
+body:not(.dark) .highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
+body:not(.dark) .highlight .il { color: #40a070 } /* Literal.Number.Integer.Long */
+body.dark .highlight pre { line-height: 125%; }
+body.dark .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body.dark .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body.dark .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body.dark .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body.dark .highlight .hll { background-color: #404040 }
+body.dark .highlight { background: #202020; color: #d0d0d0 }
+body.dark .highlight .c { color: #ababab; font-style: italic } /* Comment */
+body.dark .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+body.dark .highlight .esc { color: #d0d0d0 } /* Escape */
+body.dark .highlight .g { color: #d0d0d0 } /* Generic */
+body.dark .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
+body.dark .highlight .l { color: #d0d0d0 } /* Literal */
+body.dark .highlight .n { color: #d0d0d0 } /* Name */
+body.dark .highlight .o { color: #d0d0d0 } /* Operator */
+body.dark .highlight .x { color: #d0d0d0 } /* Other */
+body.dark .highlight .p { color: #d0d0d0 } /* Punctuation */
+body.dark .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
+body.dark .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
+body.dark .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */
+body.dark .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
+body.dark .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
+body.dark .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
+body.dark .highlight .gd { color: #ff3a3a } /* Generic.Deleted */
+body.dark .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
+body.dark .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+body.dark .highlight .gr { color: #ff3a3a } /* Generic.Error */
+body.dark .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
+body.dark .highlight .gi { color: #589819 } /* Generic.Inserted */
+body.dark .highlight .go { color: #cccccc } /* Generic.Output */
+body.dark .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
+body.dark .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
+body.dark .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
+body.dark .highlight .gt { color: #ff3a3a } /* Generic.Traceback */
+body.dark .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
+body.dark .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
+body.dark .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
+body.dark .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
+body.dark .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
+body.dark .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
+body.dark .highlight .ld { color: #d0d0d0 } /* Literal.Date */
+body.dark .highlight .m { color: #51b2fd } /* Literal.Number */
+body.dark .highlight .s { color: #ed9d13 } /* Literal.String */
+body.dark .highlight .na { color: #bbbbbb } /* Name.Attribute */
+body.dark .highlight .nb { color: #2fbccd } /* Name.Builtin */
+body.dark .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
+body.dark .highlight .no { color: #40ffff } /* Name.Constant */
+body.dark .highlight .nd { color: #ffa500 } /* Name.Decorator */
+body.dark .highlight .ni { color: #d0d0d0 } /* Name.Entity */
+body.dark .highlight .ne { color: #bbbbbb } /* Name.Exception */
+body.dark .highlight .nf { color: #71adff } /* Name.Function */
+body.dark .highlight .nl { color: #d0d0d0 } /* Name.Label */
+body.dark .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
+body.dark .highlight .nx { color: #d0d0d0 } /* Name.Other */
+body.dark .highlight .py { color: #d0d0d0 } /* Name.Property */
+body.dark .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
+body.dark .highlight .nv { color: #40ffff } /* Name.Variable */
+body.dark .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
+body.dark .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
+body.dark .highlight .w { color: #666666 } /* Text.Whitespace */
+body.dark .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
+body.dark .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
+body.dark .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
+body.dark .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
+body.dark .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
+body.dark .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
+body.dark .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
+body.dark .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
+body.dark .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
+body.dark .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
+body.dark .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
+body.dark .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
+body.dark .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
+body.dark .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
+body.dark .highlight .sx { color: #ffa500 } /* Literal.String.Other */
+body.dark .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
+body.dark .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
+body.dark .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
+body.dark .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
+body.dark .highlight .fm { color: #71adff } /* Name.Function.Magic */
+body.dark .highlight .vc { color: #40ffff } /* Name.Variable.Class */
+body.dark .highlight .vg { color: #40ffff } /* Name.Variable.Global */
+body.dark .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
+body.dark .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
+body.dark .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */
+}
+@media (prefers-color-scheme: dark) {
+body.light .highlight pre { line-height: 125%; }
+body.light .highlight td.linenos .normal { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body.light .highlight span.linenos { color: #666666; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body.light .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body.light .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body.light .highlight .hll { background-color: #ffffcc }
+body.light .highlight { background: #f0f0f0; }
+body.light .highlight .c { color: #60a0b0; font-style: italic } /* Comment */
+body.light .highlight .err { border: 1px solid #FF0000 } /* Error */
+body.light .highlight .k { color: #007020; font-weight: bold } /* Keyword */
+body.light .highlight .o { color: #666666 } /* Operator */
+body.light .highlight .ch { color: #60a0b0; font-style: italic } /* Comment.Hashbang */
+body.light .highlight .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
+body.light .highlight .cp { color: #007020 } /* Comment.Preproc */
+body.light .highlight .cpf { color: #60a0b0; font-style: italic } /* Comment.PreprocFile */
+body.light .highlight .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
+body.light .highlight .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
+body.light .highlight .gd { color: #A00000 } /* Generic.Deleted */
+body.light .highlight .ge { font-style: italic } /* Generic.Emph */
+body.light .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+body.light .highlight .gr { color: #FF0000 } /* Generic.Error */
+body.light .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+body.light .highlight .gi { color: #00A000 } /* Generic.Inserted */
+body.light .highlight .go { color: #888888 } /* Generic.Output */
+body.light .highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+body.light .highlight .gs { font-weight: bold } /* Generic.Strong */
+body.light .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+body.light .highlight .gt { color: #0044DD } /* Generic.Traceback */
+body.light .highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+body.light .highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+body.light .highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+body.light .highlight .kp { color: #007020 } /* Keyword.Pseudo */
+body.light .highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+body.light .highlight .kt { color: #902000 } /* Keyword.Type */
+body.light .highlight .m { color: #40a070 } /* Literal.Number */
+body.light .highlight .s { color: #4070a0 } /* Literal.String */
+body.light .highlight .na { color: #4070a0 } /* Name.Attribute */
+body.light .highlight .nb { color: #007020 } /* Name.Builtin */
+body.light .highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+body.light .highlight .no { color: #60add5 } /* Name.Constant */
+body.light .highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+body.light .highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+body.light .highlight .ne { color: #007020 } /* Name.Exception */
+body.light .highlight .nf { color: #06287e } /* Name.Function */
+body.light .highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
+body.light .highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+body.light .highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
+body.light .highlight .nv { color: #bb60d5 } /* Name.Variable */
+body.light .highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
+body.light .highlight .w { color: #bbbbbb } /* Text.Whitespace */
+body.light .highlight .mb { color: #40a070 } /* Literal.Number.Bin */
+body.light .highlight .mf { color: #40a070 } /* Literal.Number.Float */
+body.light .highlight .mh { color: #40a070 } /* Literal.Number.Hex */
+body.light .highlight .mi { color: #40a070 } /* Literal.Number.Integer */
+body.light .highlight .mo { color: #40a070 } /* Literal.Number.Oct */
+body.light .highlight .sa { color: #4070a0 } /* Literal.String.Affix */
+body.light .highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
+body.light .highlight .sc { color: #4070a0 } /* Literal.String.Char */
+body.light .highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
+body.light .highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+body.light .highlight .s2 { color: #4070a0 } /* Literal.String.Double */
+body.light .highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+body.light .highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
+body.light .highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+body.light .highlight .sx { color: #c65d09 } /* Literal.String.Other */
+body.light .highlight .sr { color: #235388 } /* Literal.String.Regex */
+body.light .highlight .s1 { color: #4070a0 } /* Literal.String.Single */
+body.light .highlight .ss { color: #517918 } /* Literal.String.Symbol */
+body.light .highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
+body.light .highlight .fm { color: #06287e } /* Name.Function.Magic */
+body.light .highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
+body.light .highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
+body.light .highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
+body.light .highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
+body.light .highlight .il { color: #40a070 } /* Literal.Number.Integer.Long */
+body:not(.light) .highlight pre { line-height: 125%; }
+body:not(.light) .highlight td.linenos .normal { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body:not(.light) .highlight span.linenos { color: #aaaaaa; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+body:not(.light) .highlight td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body:not(.light) .highlight span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+body:not(.light) .highlight .hll { background-color: #404040 }
+body:not(.light) .highlight { background: #202020; color: #d0d0d0 }
+body:not(.light) .highlight .c { color: #ababab; font-style: italic } /* Comment */
+body:not(.light) .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+body:not(.light) .highlight .esc { color: #d0d0d0 } /* Escape */
+body:not(.light) .highlight .g { color: #d0d0d0 } /* Generic */
+body:not(.light) .highlight .k { color: #6ebf26; font-weight: bold } /* Keyword */
+body:not(.light) .highlight .l { color: #d0d0d0 } /* Literal */
+body:not(.light) .highlight .n { color: #d0d0d0 } /* Name */
+body:not(.light) .highlight .o { color: #d0d0d0 } /* Operator */
+body:not(.light) .highlight .x { color: #d0d0d0 } /* Other */
+body:not(.light) .highlight .p { color: #d0d0d0 } /* Punctuation */
+body:not(.light) .highlight .ch { color: #ababab; font-style: italic } /* Comment.Hashbang */
+body:not(.light) .highlight .cm { color: #ababab; font-style: italic } /* Comment.Multiline */
+body:not(.light) .highlight .cp { color: #ff3a3a; font-weight: bold } /* Comment.Preproc */
+body:not(.light) .highlight .cpf { color: #ababab; font-style: italic } /* Comment.PreprocFile */
+body:not(.light) .highlight .c1 { color: #ababab; font-style: italic } /* Comment.Single */
+body:not(.light) .highlight .cs { color: #e50808; font-weight: bold; background-color: #520000 } /* Comment.Special */
+body:not(.light) .highlight .gd { color: #ff3a3a } /* Generic.Deleted */
+body:not(.light) .highlight .ge { color: #d0d0d0; font-style: italic } /* Generic.Emph */
+body:not(.light) .highlight .ges { color: #d0d0d0; font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+body:not(.light) .highlight .gr { color: #ff3a3a } /* Generic.Error */
+body:not(.light) .highlight .gh { color: #ffffff; font-weight: bold } /* Generic.Heading */
+body:not(.light) .highlight .gi { color: #589819 } /* Generic.Inserted */
+body:not(.light) .highlight .go { color: #cccccc } /* Generic.Output */
+body:not(.light) .highlight .gp { color: #aaaaaa } /* Generic.Prompt */
+body:not(.light) .highlight .gs { color: #d0d0d0; font-weight: bold } /* Generic.Strong */
+body:not(.light) .highlight .gu { color: #ffffff; text-decoration: underline } /* Generic.Subheading */
+body:not(.light) .highlight .gt { color: #ff3a3a } /* Generic.Traceback */
+body:not(.light) .highlight .kc { color: #6ebf26; font-weight: bold } /* Keyword.Constant */
+body:not(.light) .highlight .kd { color: #6ebf26; font-weight: bold } /* Keyword.Declaration */
+body:not(.light) .highlight .kn { color: #6ebf26; font-weight: bold } /* Keyword.Namespace */
+body:not(.light) .highlight .kp { color: #6ebf26 } /* Keyword.Pseudo */
+body:not(.light) .highlight .kr { color: #6ebf26; font-weight: bold } /* Keyword.Reserved */
+body:not(.light) .highlight .kt { color: #6ebf26; font-weight: bold } /* Keyword.Type */
+body:not(.light) .highlight .ld { color: #d0d0d0 } /* Literal.Date */
+body:not(.light) .highlight .m { color: #51b2fd } /* Literal.Number */
+body:not(.light) .highlight .s { color: #ed9d13 } /* Literal.String */
+body:not(.light) .highlight .na { color: #bbbbbb } /* Name.Attribute */
+body:not(.light) .highlight .nb { color: #2fbccd } /* Name.Builtin */
+body:not(.light) .highlight .nc { color: #71adff; text-decoration: underline } /* Name.Class */
+body:not(.light) .highlight .no { color: #40ffff } /* Name.Constant */
+body:not(.light) .highlight .nd { color: #ffa500 } /* Name.Decorator */
+body:not(.light) .highlight .ni { color: #d0d0d0 } /* Name.Entity */
+body:not(.light) .highlight .ne { color: #bbbbbb } /* Name.Exception */
+body:not(.light) .highlight .nf { color: #71adff } /* Name.Function */
+body:not(.light) .highlight .nl { color: #d0d0d0 } /* Name.Label */
+body:not(.light) .highlight .nn { color: #71adff; text-decoration: underline } /* Name.Namespace */
+body:not(.light) .highlight .nx { color: #d0d0d0 } /* Name.Other */
+body:not(.light) .highlight .py { color: #d0d0d0 } /* Name.Property */
+body:not(.light) .highlight .nt { color: #6ebf26; font-weight: bold } /* Name.Tag */
+body:not(.light) .highlight .nv { color: #40ffff } /* Name.Variable */
+body:not(.light) .highlight .ow { color: #6ebf26; font-weight: bold } /* Operator.Word */
+body:not(.light) .highlight .pm { color: #d0d0d0 } /* Punctuation.Marker */
+body:not(.light) .highlight .w { color: #666666 } /* Text.Whitespace */
+body:not(.light) .highlight .mb { color: #51b2fd } /* Literal.Number.Bin */
+body:not(.light) .highlight .mf { color: #51b2fd } /* Literal.Number.Float */
+body:not(.light) .highlight .mh { color: #51b2fd } /* Literal.Number.Hex */
+body:not(.light) .highlight .mi { color: #51b2fd } /* Literal.Number.Integer */
+body:not(.light) .highlight .mo { color: #51b2fd } /* Literal.Number.Oct */
+body:not(.light) .highlight .sa { color: #ed9d13 } /* Literal.String.Affix */
+body:not(.light) .highlight .sb { color: #ed9d13 } /* Literal.String.Backtick */
+body:not(.light) .highlight .sc { color: #ed9d13 } /* Literal.String.Char */
+body:not(.light) .highlight .dl { color: #ed9d13 } /* Literal.String.Delimiter */
+body:not(.light) .highlight .sd { color: #ed9d13 } /* Literal.String.Doc */
+body:not(.light) .highlight .s2 { color: #ed9d13 } /* Literal.String.Double */
+body:not(.light) .highlight .se { color: #ed9d13 } /* Literal.String.Escape */
+body:not(.light) .highlight .sh { color: #ed9d13 } /* Literal.String.Heredoc */
+body:not(.light) .highlight .si { color: #ed9d13 } /* Literal.String.Interpol */
+body:not(.light) .highlight .sx { color: #ffa500 } /* Literal.String.Other */
+body:not(.light) .highlight .sr { color: #ed9d13 } /* Literal.String.Regex */
+body:not(.light) .highlight .s1 { color: #ed9d13 } /* Literal.String.Single */
+body:not(.light) .highlight .ss { color: #ed9d13 } /* Literal.String.Symbol */
+body:not(.light) .highlight .bp { color: #2fbccd } /* Name.Builtin.Pseudo */
+body:not(.light) .highlight .fm { color: #71adff } /* Name.Function.Magic */
+body:not(.light) .highlight .vc { color: #40ffff } /* Name.Variable.Class */
+body:not(.light) .highlight .vg { color: #40ffff } /* Name.Variable.Global */
+body:not(.light) .highlight .vi { color: #40ffff } /* Name.Variable.Instance */
+body:not(.light) .highlight .vm { color: #40ffff } /* Name.Variable.Magic */
+body:not(.light) .highlight .il { color: #51b2fd } /* Literal.Number.Integer.Long */
+}
\ No newline at end of file
diff --git a/v0.3.52/_static/searchtools.js b/v0.3.52/_static/searchtools.js
new file mode 100644
index 0000000..2c774d1
--- /dev/null
+++ b/v0.3.52/_static/searchtools.js
@@ -0,0 +1,632 @@
+/*
+ * Sphinx JavaScript utilities for the full-text search.
+ */
+"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, kind] = 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,
+ };
+}
+
+// Global search result kind enum, used by themes to style search results.
+class SearchResultKind {
+ static get index() { return "index"; }
+ static get object() { return "object"; }
+ static get text() { return "text"; }
+ static get title() { return "title"; }
+}
+
+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, kind] = item;
+
+ let listItem = document.createElement("li");
+ // Add a class representing the item's type:
+ // can be used by a theme's CSS selector for styling
+ // See SearchResultKind for the class names.
+ listItem.classList.add(`kind-${kind}`);
+ 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, anchor)
+ );
+ // 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 = Documentation.ngettext(
+ "Search finished, found one page matching the search query.",
+ "Search finished, found ${resultCount} pages matching the search query.",
+ resultCount,
+ ).replace('${resultCount}', resultCount);
+};
+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);
+};
+// Helper function used by query() to order search results.
+// Each input is an array of [docname, title, anchor, descr, score, filename, kind].
+// Order the results by score (in opposite order of appearance, since the
+// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
+const _orderResultsByScoreThenName = (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;
+};
+
+/**
+ * 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, anchor) => {
+ const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
+ for (const removalQuery of [".headerlink", "script", "style"]) {
+ htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
+ }
+ if (anchor) {
+ const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
+ if (anchorContent) return anchorContent.textContent;
+
+ console.warn(
+ `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
+ );
+ }
+
+ // if anchor not specified or not found, fall back to main content
+ const docContent = htmlElement.querySelector('[role="main"]');
+ if (docContent) return docContent.textContent;
+
+ console.warn(
+ "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. 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.setAttribute("role", "list");
+ 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);
+ },
+
+ _parseQuery: (query) => {
+ // 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]);
+
+ return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
+ },
+
+ /**
+ * execute search (requires search index to be loaded)
+ */
+ _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
+ 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;
+
+ // Collect multiple result groups to be sorted separately and then ordered.
+ // Each is an array of [docname, title, anchor, descr, score, filename, kind].
+ const normalResults = [];
+ const nonMainIndexResults = [];
+
+ _removeChildren(document.getElementById("search-progress"));
+
+ const queryLower = query.toLowerCase().trim();
+ for (const [title, foundTitles] of Object.entries(allTitles)) {
+ if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
+ for (const [file, id] of foundTitles) {
+ const score = Math.round(Scorer.title * queryLower.length / title.length);
+ const boost = titles[file] === title ? 1 : 0; // add a boost for document titles
+ normalResults.push([
+ docNames[file],
+ titles[file] !== title ? `${titles[file]} > ${title}` : title,
+ id !== null ? "#" + id : "",
+ null,
+ score + boost,
+ filenames[file],
+ SearchResultKind.title,
+ ]);
+ }
+ }
+ }
+
+ // 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, isMain] of foundEntries) {
+ const score = Math.round(100 * queryLower.length / entry.length);
+ const result = [
+ docNames[file],
+ titles[file],
+ id ? "#" + id : "",
+ null,
+ score,
+ filenames[file],
+ SearchResultKind.index,
+ ];
+ if (isMain) {
+ normalResults.push(result);
+ } else {
+ nonMainIndexResults.push(result);
+ }
+ }
+ }
+ }
+
+ // lookup as object
+ objectTerms.forEach((term) =>
+ normalResults.push(...Search.performObjectSearch(term, objectTerms))
+ );
+
+ // lookup as search terms in fulltext
+ normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+
+ // let the scorer override scores with a custom scoring function
+ if (Scorer.score) {
+ normalResults.forEach((item) => (item[4] = Scorer.score(item)));
+ nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
+ }
+
+ // Sort each group of results by score and then alphabetically by name.
+ normalResults.sort(_orderResultsByScoreThenName);
+ nonMainIndexResults.sort(_orderResultsByScoreThenName);
+
+ // Combine the result groups in (reverse) order.
+ // Non-main index entries are typically arbitrary cross-references,
+ // so display them after other results.
+ let results = [...nonMainIndexResults, ...normalResults];
+
+ // 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;
+ }, []);
+
+ return results.reverse();
+ },
+
+ query: (query) => {
+ const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
+ const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
+
+ // 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]],
+ SearchResultKind.object,
+ ]);
+ };
+ 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);
+ if (!terms.hasOwnProperty(word)) {
+ Object.keys(terms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: terms[term], score: Scorer.partialTerm });
+ });
+ }
+ if (!titleTerms.hasOwnProperty(word)) {
+ Object.keys(titleTerms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: titleTerms[term], 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.set(file, [word]);
+ else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(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],
+ SearchResultKind.text,
+ ]);
+ }
+ 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, anchor) => {
+ const text = Search.htmlToText(htmlText, anchor);
+ 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/v0.3.52/_static/sphinx_highlight.js b/v0.3.52/_static/sphinx_highlight.js
new file mode 100644
index 0000000..8a96c69
--- /dev/null
+++ b/v0.3.52/_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(
+ '' +
+ '' +
+ _("Hide Search Matches") +
+ "
"
+ )
+ );
+ },
+
+ /**
+ * 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/v0.3.52/_static/style.min.css b/v0.3.52/_static/style.min.css
new file mode 100644
index 0000000..41166cf
--- /dev/null
+++ b/v0.3.52/_static/style.min.css
@@ -0,0 +1,3 @@
+:root{--subtle-box-shadow: 0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);--subtle-box-shadow-button: 0 .2rem .5rem rgba(0,0,0,.1),0 0 .0625rem rgba(0,0,0,.15);--subtle-box-shadow-hover: 0 .3rem .6rem rgba(0,0,0,.2),0 0 .085rem rgba(0,0,0,.2);color-scheme:light dark}html{scroll-behavior:smooth}body{--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, ');--icon-adi: url('data:image/svg+xml;charset=utf-8, ');--icon-video: url('data:image/svg+xml;charset=utf-8, ');--icon-ez: url('data:image/svg+xml;charset=utf-8, ');--icon-external: url('data:image/svg+xml;charset=utf-8, ');--icon-git: url('data:image/svg+xml;charset=utf-8, ');--color-admonition-title--caution: #ff9100;--color-admonition-title-background--caution: rgba(255, 145, 0, 0.2);--color-admonition-title--warning: #ff9100;--color-admonition-title-background--warning: rgba(255, 145, 0, 0.2);--color-admonition-title--danger: #ff5252;--color-admonition-title-background--danger: rgba(255, 82, 82, 0.2);--color-admonition-title--attention: #ff5252;--color-admonition-title-background--attention: rgba(255, 82, 82, 0.2);--color-admonition-title--error: #ff5252;--color-admonition-title-background--error: rgba(255, 82, 82, 0.2);--color-admonition-title--hint: #00c852;--color-admonition-title-background--hint: rgba(0, 200, 82, 0.2);--color-admonition-title--tip: #00c852;--color-admonition-title-background--tip: rgba(0, 200, 82, 0.2);--color-admonition-title--important: #00bfa5;--color-admonition-title-background--important: rgba(0, 191, 165, 0.2);--color-admonition-title--note: #00b0ff;--color-admonition-title-background--note: rgba(0, 176, 255, 0.2);--color-admonition-title--video: #00b0ff;--color-admonition-title-background--video: rgba(0, 176, 255, 0.2);--color-admonition-title--seealso: #448aff;--color-admonition-title-background--seealso: rgba(68, 138, 255, 0.2);--color-admonition-title--admonition-todo: #808080;--color-admonition-title-background--admonition-todo: rgba(128, 128, 128, 0.2);--color-admonition-title: #651fff;--color-admonition-title-background: rgba(101, 31, 255, 0.2);--icon-admonition-default: var(--icon-abstract);--color-topic-title: #14B8A6;--color-topic-title-background: rgba(20, 184, 166, 0.2);--icon-topic-default: var(--icon-pencil);--color-link-title--adi: #0067b9;--color-link-title-background--adi: rgba(0, 103, 185, 0.2);--color-link-title--ez: #2eb251;--color-link-title-background--ez: rgba(46, 178, 81, 0.2);--color-link-title--git: #f05133;--color-link-title-background--git: rgba(240, 81, 51, 0.2);--color-link-title--other: #666666;--color-link-title-background--other: rgba(102, 102, 102, 0.2);--color-link-title: #14B8A6;--color-link-title-background: rgba(20, 184, 166, 0.2);--icon-link-default: var(--icon-adi)}body{--is-dark-theme: 0;--is-light-theme: 1;--display-dark: none;--display-light: inline-block;--bg-color1: #f9f9f9;--bg-color2: #f4f4f4;--bg-color3: #f0f0f0;--bg-color1-faded1: #f9f9f999;--bg-color1-faded2: #f9f9f9aa;--text-color1: #212836;--text-color2: #555;--text-color3: #888;--accent-color: #0067b9;--accent-color-code: #cc6d34;--bg-banner: #00305b;--text-color-banner: #fff}body.dark{--is-dark-theme: 1;--is-light-theme: 0;--display-dark: inline-block;--display-light: none;--bg-color1: #1a1a1a;--bg-color2: #111;--bg-color3: #202020;--bg-color1-faded1: #1a1a1aaa;--bg-color1-faded2: #1a1a1acc;--text-color1: #e5e5e5;--text-color2: #ccc;--text-color3: #aaa;--accent-color: #0076d6;--accent-color-code: #ff8d34;--bg-banner: #0088ff;--text-color-banner: #000}@media(prefers-color-scheme: dark){body:not(.light){--is-dark-theme: 1;--is-light-theme: 0;--display-dark: inline-block;--display-light: none;--bg-color1: #1a1a1a;--bg-color2: #111;--bg-color3: #202020;--bg-color1-faded1: #1a1a1a99;--bg-color1-faded2: #1a1a1aaa;--text-color1: #e5e5e5;--text-color2: #ccc;--text-color3: #aaa;--accent-color: #0076d6;--accent-color-code: #ff8d34;--bg-banner: #0088ff;--text-color-banner: #000}}body{margin:0;overflow-x:hidden}@media screen{body{background-color:var(--bg-color1);color:var(--text-color1)}}*{box-sizing:border-box}.body{width:100%;padding:0 1em;overflow-x:auto}@media(min-width: 105em){.bodywrapper>div{max-width:60rem}}@media(max-width: 105em){.bodywrapper>div{margin:0 auto}}@media(min-width: 65em){#vertical-border{position:fixed;height:100vh;border-left:1px solid rgba(125,125,125,.8);top:0;z-index:10}}@media(min-width: 65em)and (max-width: 80em){#vertical-border{left:17rem}.bodywrapper{margin-left:18rem}}@media(min-width: 80em){#vertical-border{left:calc(40vw - 15rem)}.bodywrapper{margin-left:calc(40vw - 14rem)}}@media(min-width: 65em){button#show-sidebar{display:none}.body{min-height:calc(100vh - 7rem)}}@media(max-width: 65em){.body{min-height:calc(100vh - 11.25rem)}}.body p,.body div.line{line-height:1.5em;margin:.25em 0 .75em 0}.body p{margin:.25em 0 .5em 0}.body div.line{margin:.25em 0}@media screen{.body p,.body div.line{text-align:justify}}.body ol p,.body ul p{margin:.25em 0}svg{display:block;margin:0 auto}.body table{margin:0 auto;line-height:1.5em}@media(min-width: 65em){#hdl-component-diagram svg{float:right;margin:-3em 0 0 1em;max-width:45%}}@media(max-width: 65em){svg{max-width:100%}}@media print{#hdl-component-diagram svg{float:right;margin:-3em 0 0 1em;max-width:45%}}@media print{svg{max-width:100%}}@font-face{font-family:"Barlow";src:url("fonts/barlow/Barlow-Medium.woff2") format("woff2");font-weight:500;font-style:normal}@font-face{font-family:"Barlow";src:url("fonts/barlow/Barlow-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal}@font-face{font-family:"Inter";src:url("fonts/inter/Inter-Regular.woff2") format("woff2");font-weight:normal;font-style:normal}@font-face{font-family:"Inter";src:url("fonts/inter/Inter-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal}body{font-family:Inter,Arial,sans-serif}.body :is(h1,h2,h3,h4,h5,h6){font-family:Barlow,Arial,sans-serif;font-weight:500;margin:0;padding:1em 0 .25em 0}.body h1{font-size:1.6em}.body h2{font-size:1.5em}.body h3{font-size:1.4em}.body h4{font-size:1.3em}.body h5{font-size:1.25em}.body h6{font-size:1.2em}.sphinxsidebar .caption-text{font-family:Barlow,Arial,sans-serif;font-weight:600;font-size:1.1em}.bold{font-weight:600}input,textarea,select,button,summary{background:none;outline:none;border:none;font-size:1em}a,input,textarea,select,button,summary,label{-webkit-tap-highlight-color:rgba(0,0,0,0)}video{max-width:100%}@media screen{section,#top-anchor,aside,a,.literal-block-wrapper{scroll-margin-top:3.5rem}span{scroll-margin-top:2.5rem}}code.literal{border:1px solid rgba(125,125,125,.15);background:rgba(125,125,125,.05);border-radius:.5rem;padding:0em .2em .1em .2em}@media screen{code.literal,.highlight pre{font-size:1.1em}}@media print{code.literal{font-size:.9em}}a{overflow-wrap:anywhere}.highlight{padding:.75em;margin-bottom:.5em;border-radius:.5rem;overflow-x:auto}.highlight .hll{box-sizing:content-box;width:100%;display:block;margin:0 -0.75rem;padding:0 .75rem}.math-wrapper,.table-wrapper{width:100%;overflow-x:auto}img{display:block;margin:0 auto;max-width:100%}@media print{img{break-inside:avoid}}@media(min-width: 65em){.body img,.body figure{display:block;margin:0 auto;max-width:100%;padding:.5em}.body img.align-left,.body figure.align-left{float:left;clear:left;margin-right:.5em;max-width:45%}.body img.align-right,.body figure.align-right{float:right;clear:right;margin-left:.5em;max-width:45%}}@media print{.body img,.body figure{display:block;margin:0 auto;max-width:100%;padding:.5em}.body img.align-left,.body figure.align-left{float:left;clear:left;margin-right:.5em;max-width:45%}.body img.align-right,.body figure.align-right{float:right;clear:right;margin-left:.5em;max-width:45%}}.clear-both{clear:both}.clear-left{clear:both}.clear-right{clear:both}@media print{.break-after{break-after:always}.break-before{break-before:always}}@media(prefers-color-scheme: dark){body:not(.light) .body img{background:#fff;border-radius:.5rem}}body.dark .body img{background:#fff;border-radius:.5rem}.toctree-wrapper li{margin:.5em 0}table.regmap td.description{font-size:.8em}@media screen{table.regmap td:not(.description) code.literal{font-size:1em}}pre{margin:0}#hdl-parameters table p,#hdl-interfaces table p{white-space:break-spaces}aside.footnote p{margin:.5em 0 0 0}aside.footnote .label{padding:.15em .3em 0 0;white-space:nowrap;float:left}iframe{border:none}@media screen{.iframe-video p,.embed-video p{text-align:center}}.iframe-video iframe{box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1);border-radius:.5rem;overflow:hidden;display:block;margin:0 auto;width:59rem;height:33.1875rem}@media(max-width: 80em){.iframe-video{width:100%;overflow:hidden}}@media(min-width: 65em)and (max-width: 80em){.iframe-video iframe{width:calc(100vw - 20rem);height:calc(56.25vw - 11.25rem)}}@media(max-width: 65em){.iframe-video iframe{width:calc(100vw - 2rem);height:calc(56.25vw - 1.125rem)}}@media(min-width: 80em){.iframe-video.align-left{float:left;clear:left;margin-right:1em}.iframe-video.align-right{float:right;clear:right;margin-left:1em}.iframe-video.align-left iframe,.iframe-video.align-right iframe{width:24rem;height:13.49rem}}.esd-warning{border-radius:.5em;align-items:center;padding:.25rem .5em !important;font-size:.9em;text-align:justify}.esd-warning .icon{width:7rem;height:7rem;margin-right:.5rem;flex-shrink:0;background:url(esd-warning.svg);print-color-adjust:exact;-webkit-print-color-adjust:exact;background-size:contain}@media(min-width: 40em){.esd-warning{display:flex}}@media(max-width: 40em){.esd-warning .icon{margin:0 auto}}@media screen{.esd-warning{color:#000 !important;background:#ff0}}@media print{.esd-warning{break-inside:avoid;border:1px solid #ff0}}.image-reference{text-align:center}.image-reference:not(:has(.align-left,.align-right)){display:inline-block;width:100%}img{page-break-inside:avoid}.only-dark,.only-light,#badges img{background:none !important}#badges img{display:inline-block !important}.only-light{display:var(--display-light) !important}.only-dark{display:var(--display-dark) !important}figcaption p{text-align:center !important}.red{color:red}.green{color:green}hr{border-top:1px dashed var(--text-color2);border-bottom:None}@media(min-width: 65em){.body .flex{display:flex;flex-wrap:wrap}.body .grid{display:grid;grid-template-rows:auto}}@media print{.body .flex{display:flex;flex-wrap:wrap}.body .grid{display:grid;grid-template-rows:auto}}.banner{line-height:2em;background-color:var(--bg-banner);color:var(--text-color-banner);text-align:center;z-index:11;position:relative}.banner a{padding-left:.25em;font-weight:600;border-bottom:1px solid rgba(125,125,125,.25)}.banner a:hover{border-color:var(--text-color-banner)}.banner.on{display:block}@media screen{header{position:sticky}}header{z-index:7;width:100%;top:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}header label,header button{cursor:pointer}header #right span{display:flex;align-items:center}header #right span.reverse{flex-direction:row-reverse}header .icon:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.5rem .25rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}header #search:before{background-position:left -6rem top}header #theme:before{background-position:left -1.5rem bottom}header #left{margin:0 .25rem;display:flex;align-items:center}header #right{margin-right:.25rem}header #show-sidebar:before{background-position:left 0rem top;transition:.25s ease background-position}header #show-localtoc:before{background-position:left -3rem top;transition:.25s ease background-position}@media screen{header{border-bottom:1px solid rgba(125,125,125,.8)}}@media(min-width: 65em)and (max-width: 80em){.repotoc-tree.overlay root{padding-left:18em}}@media(min-width: 80em){.repotoc-tree.overlay root{padding-left:calc(40vw - 14em)}}.repotoc-tree.overlay{position:sticky;top:3.5rem;pointer-events:none;height:0;opacity:0;z-index:6;width:0;transition:opacity .25s ease;overflow-y:visible}.repotoc-tree.overlay root{background:var(--bg-color1);overflow-y:auto;padding-top:1em;height:calc(100vh - 3.5em);width:100vw;display:flex;flex-direction:column}.repotoc-tree.overlay a{cursor:pointer;display:block;width:fit-content;padding:0 .5em 0 .5em;transition:padding .4s ease;margin:0 .5em}.repotoc-tree.overlay a:hover{color:var(--accent-color);border-color:var(--accent-color)}.repotoc-tree.overlay a.current{color:var(--accent-color)}#input-show-toc:checked~header #show-sidebar:before{background-position:left 0rem bottom}#input-show-localtoc:checked~header #show-localtoc:before{background-position:left -3rem bottom}.dark header #theme:before{background-position:left -1.5rem top}@media(prefers-color-scheme: dark){header #theme:before{background-position:left -1.5rem top}.light header #theme:before{background-position:left -1.5rem bottom}}@media(min-width: 105em){header #show-localtoc{display:none}}@media screen and (max-width: 65em){header{border-bottom:1px solid rgba(125,125,125,.8)}}@media(max-width: 65em){header{display:flex;width:100%}}@media screen and (max-width: 65em){header{background:var(--bg-color1-faded1)}}header{height:3.5rem}header #right{display:flex;justify-content:space-between}header #logo-org{display:inline-block;width:5.375rem;height:1.5rem;margin:.75rem 0;background:url("./logo-org.svg") no-repeat center top;flex-shrink:0}header .vertical-divider{padding:0 .25rem 0 .75rem;border-right:1px solid rgba(125,125,125,.8);height:1.75rem}header #logo{padding-left:.25rem;height:3.5rem;overflow:hidden;display:flex;align-items:center;line-height:1rem}header #logo div{transition:margin .25s ease,opacity .25s ease}body.dark #logo-org{background-position:center bottom}@media(prefers-color-scheme: dark){body:not(.light) #logo-org{background-position:center bottom}}@media(max-width: 65em){header{backdrop-filter:blur(1em)}header #right{width:100%}}@media(min-width: 65em){header{background:var(--bg-color1)}header #left{display:none}header #right{text-align:right}}@media(min-width: 65em)and (max-width: 80em){header #right{margin-left:19rem}}@media(min-width: 80em){header #right{margin-left:calc(40vw - 13rem)}}@media(min-width: 105em){header #right{max-width:60rem}}@media(max-width: 65em){.repotoc-tree.overlay{display:none}}header #show-repotoc{display:flex;margin:0 .25em;align-items:center;border-radius:2em;padding:.5em .75em;border:1px solid rgba(125,125,125,0);user-select:none}header #show-repotoc:hover{border:1px solid rgba(125,125,125,.8)}header #show-repotoc:after{border:1px solid var(--text-color1);border-width:0 1px 1px 0;display:block;content:"";transition:transform ease .125s,margin ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);margin-top:1px;margin-left:.5em}@media print{header #show-repotoc{display:none}header #logo{margin-left:.5em}}@media(max-width: 65em){header #show-repotoc{display:none}header #logo{margin-left:.5em}}#input-show-repotoc:checked~header #show-repotoc:after{transform:rotate(45deg);margin-top:-5px;margin-left:calc(.5em + 2px);margin-right:-2px}@media(min-width: 65em){#input-show-repotoc:checked~header #logo div{margin-top:6em;opacity:0}}#input-show-repotoc:checked~div.repotoc-tree{pointer-events:initial;opacity:1}#input-show-repotoc:checked~div.repotoc-tree a{padding:.75em .5em}body:has(>#input-show-repotoc:checked){overflow-y:hidden}.sphinxsidebar{width:0}.sphinxsidebarwrapper{box-sizing:content-box;overflow-y:auto;height:calc(100vh - 3.5rem)}@media(max-width: 65em){.sphinxsidebar .repotoc-tree{display:contents}}@media(min-width: 65em){.sphinxsidebar .repotoc-tree{display:none}}@media(max-width: 65em){.sphinxsidebar{transition:.125s ease opacity,.25s ease margin;pointer-events:none;margin-left:-5rem;opacity:0}.sphinxsidebarwrapper{backdrop-filter:blur(1em);background:var(--bg-color1-faded2);box-shadow:.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15);width:18rem}#input-show-toc:checked~.sphinxsidebar{pointer-events:initial;margin-left:0;opacity:1}.sphinxsidebar .toctree{margin:1em auto 0}.sphinxsidebar #logo img,.sphinxsidebar #no-logo{display:none !important}}.sphinxsidebar #logo,.sphinxsidebar #no-logo{display:block;max-width:13rem}.sphinxsidebar #no-logo{font-size:1.5em;margin-bottom:.5rem}@media(min-width: 40em)and (max-width: 65em){.sphinxsidebar{width:18em;left:-19em}#input-show-toc:checked~.sphinxsidebar{box-shadow:.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15)}}#input-show-toc:checked~#cancel-area-show-toc,#input-show-localtoc:checked~#cancel-area-show-localtoc{z-index:3}#input-show-localtoc:checked~.localtoc,#input-show-toc:checked~.sphinxsidebar{z-index:5}@media(max-width: 40em){.sphinxsidebar{width:100vw;left:-100vw}}.sphinxsidebar ul{list-style-type:none;padding:0 0 0 .5em}.sphinxsidebar .caption-text{color:var(--text-color2)}.toctree-collapse{display:none}@media(min-width: 65em){button#show-sidebar{display:none}.sphinxsidebarwrapper{height:calc(100vh - 5rem);width:15rem}}@media(min-width: 65em)and (max-width: 80em){.sphinxsidebarwrapper{padding:1.5rem 1rem 0em 1rem}}@media(min-width: 80em){.sphinxsidebarwrapper{padding:1.5rem 1rem 0em calc(40vw - 31rem)}}@media(max-width: 65em){.toc-tree,.repotoc-tree{padding:1em}}.toc-tree,.sphinxsidebar .repotoc-tree{margin-bottom:10em}.toc-tree p.caption,.sphinxsidebar .repotoc-tree p.caption{margin:1em 0 .5em 0}.toc-tree>ul,.sphinxsidebar .repotoc-tree>ul{padding:0;margin:0}.toc-tree label,.sphinxsidebar .repotoc-tree label{cursor:pointer;display:block;padding:.6em .5em;height:1.75em;width:1.75em}.toc-tree .toctree-collapse~ul,.sphinxsidebar .repotoc-tree .toctree-collapse~ul{display:none}.toc-tree .toctree-collapse:checked~ul,.sphinxsidebar .repotoc-tree .toctree-collapse:checked~ul{display:block}.toc-tree .collapse,.sphinxsidebar .repotoc-tree .collapse{display:flex}.toc-tree a,.sphinxsidebar .repotoc-tree a{display:inline-block;line-height:1.75em;width:100%;padding:0 .5em 0 .75em;margin-left:-0.75em;border-radius:1rem;font-size:.9em;border:1px solid rgba(0,0,0,0)}.toc-tree a:hover,.sphinxsidebar .repotoc-tree a:hover{color:var(--accent-color)}.toc-tree a.current,.sphinxsidebar .repotoc-tree a.current{border-color:var(--accent-color);color:var(--accent-color)}.toc-tree label:hover .icon,.sphinxsidebar .repotoc-tree label:hover .icon{border-color:var(--accent-color) !important}.toc-tree label:hover,.toc-tree a:hover,.sphinxsidebar .repotoc-tree label:hover,.sphinxsidebar .repotoc-tree a:hover{background-color:var(--bg-color2)}.toc-tree .collapse label .icon,.sphinxsidebar .repotoc-tree .collapse label .icon{border:1px solid var(--text-color1);border-width:0 2px 2px 0;display:block;transition:transform ease .125s,margin ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);margin-top:0px;margin-left:-1px}.toc-tree .toctree-collapse:checked~.collapse .icon,.sphinxsidebar .repotoc-tree .toctree-collapse:checked~.collapse .icon{transform:rotate(45deg);margin-top:-2px;margin-left:1px}.toc-tree label,.sphinxsidebar .repotoc-tree label{border-radius:1rem}@media screen{.localtoc{right:auto;left:100vw;height:0;width:0}.tocwrapper{background:var(--bg-color1);height:calc(100vh - 4.5rem);overflow-y:auto}.tocwrapper nav{border-left:1px solid rgba(125,125,125,.5);max-width:20rem;margin-bottom:10em;color:var(--text-color2)}.tocwrapper nav>ul>li:first-child>a{display:none}.sphinxsidebar,.localtoc{z-index:2;position:sticky;top:3.5rem;height:0}}.localtoc .caption-text{font-weight:bold;color:var(--text-color2)}@media screen{.tocwrapper ul{padding:0 0 0 .5em}}@media print{.tocwrapper nav{padding-top:1em;margin-left:-1em}.tocwrapper ul{padding:0 0 0 1em}}@media screen{a:not(.current){letter-spacing:.005em}a.current{color:var(--accent-color);font-weight:bold;letter-spacing:-0.008em}}.tocwrapper{box-sizing:content-box;padding-top:1rem;font-size:.9em}.tocwrapper .caption-text{padding-left:1em}.tocwrapper ul{list-style-type:none}.tocwrapper a{display:inline-block;padding:.25em 0}.tocwrapper .localtoc-header{color:var(--text-color3)}.tocwrapper>div{display:flex;align-items:center}.tocwrapper #scroll-up{cursor:pointer;filter:invert(var(--is-dark-theme));margin-left:.25rem;opacity:.75}.tocwrapper #scroll-up:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.25rem;background:url("./icons.svg")}.tocwrapper #scroll-up:before{background-position:left -4.5rem top}@media screen{.localtoc-header{padding-left:1rem}.localtoc-header:before{content:"On this page"}}@media print{.localtoc-header{font-size:1.5em}.localtoc-header:before{content:"Table of contents"}}@media screen and (min-width: 105em){.tocwrapper{width:calc(60vw - 60rem + 13rem)}.localtoc{left:calc(40vw + 60rem - 13rem)}}@media(min-width: 65em){.sphinxsidebar #show-repotoc,.sphinxsidebar #show-toc{display:none}}.sphinxsidebar #show-repotoc,.sphinxsidebar #show-toc{cursor:pointer;user-select:none;align-items:center;background:var(--bg-color2)}.sphinxsidebar #show-repotoc{padding:1.5rem .5rem .5rem .5em}.sphinxsidebar #show-toc{padding:1.5rem .5rem .5rem 1em}.sphinxsidebar #show-repotoc:before,.sphinxsidebar #show-toc:after{content:"";display:block;width:1.5rem;height:1.5rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}.sphinxsidebar #show-repotoc:before{background-position:left -7.5rem bottom}.sphinxsidebar #show-toc:after{background-position:left -7.5rem top}@media(max-width: 65em){#input-switch-toc:checked~.repotoc-tree{display:block}#input-switch-toc:checked~.toc-tree{display:none}#show-toc{display:none}#show-repotoc,#input-switch-toc:checked~#show-toc{display:flex;justify-content:start}#input-switch-toc:checked~#show-repotoc{display:none}}.sphinxsidebar .repotoc-tree{display:none}@media screen and (max-width: 105em){.localtoc{transition:.125s ease opacity;pointer-events:none;opacity:0;direction:rtl}.localtoc .tocwrapper{direction:ltr;transition:.25s ease width;box-shadow:-0.3rem 0 .3rem rgba(0,0,0,.1),0 0 .075rem rgba(0,0,0,.15);overflow-x:hidden;width:15rem}.localtoc .tocwrapper>div,.localtoc .tocwrapper>nav{width:20rem}#input-show-localtoc:checked~.localtoc{pointer-events:initial;opacity:1}#input-show-localtoc:checked~.localtoc .tocwrapper{width:20rem}}@media(max-width: 105em){#input-show-localtoc:checked~#cancel-area-show-localtoc{position:fixed;background:rgba(0,0,0,.05);top:0;left:0;right:0;bottom:0}}@media(max-width: 65em){#input-show-toc:checked~#cancel-area-show-toc{position:fixed;background:rgba(0,0,0,.05);top:0;left:0;right:0;bottom:0}}#input-show-toc,#input-show-localtoc,#input-show-repotoc,#input-switch-toc{display:none}.collapsible_input{display:none}.collapsible_content{overflow:auto;overflow:hidden;transition:ease opacity .25s}@media not print{.collapsible_content{height:0;opacity:0}.collapsible{border:1px solid rgba(125,125,125,.8);margin-bottom:.5em}.collapsible label{padding:.75em 1em .75em .75em}.collapsible label .icon{display:block}.collapsible table.docutils{border:none;width:100%}.collapsible_content{border-top:1px solid rgba(125,125,125,.8)}}@media print{.collapsible label{padding:.5em 0 .5em 0}.collapsible label .icon{display:none}}.collapsible_input:checked~label .icon{transform:rotate(45deg);margin-top:-0.5em}.collapsible_input:checked~.collapsible_content{height:100%;opacity:1}.collapsible{border-radius:.5rem}.collapsible label{width:100%;user-select:none;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.collapsible label .icon{border:1px solid var(--text-color1);border-width:0 2px 2px 0;transition:transform ease .125s,margin-top ease .125s;width:.6em;height:.6em;transform:rotate(-45deg);z-index:-1;margin-left:.5em}.collapsible label p{margin:0;white-space:pre-wrap}.collapsible label,.collapsible div{transition:box-shadow ease .25s}.collapsible label:hover~div,.collapsible label:hover{box-shadow:0 .2rem .5rem rgba(0,0,0,.05),0 0 .0625rem rgba(0,0,0,.1)}.collapsible label div>p:first-child{font-weight:600}.collapsible .container>p{margin-left:.5em;margin-right:.5em}.admonition,.topic{margin:0 auto .5em auto;padding:0 0 .5em 0;background:var(--color-admonition-background);border-radius:.5rem;overflow:hidden;page-break-inside:avoid}.admonition>:nth-child(2),.topic>:nth-child(2){margin-top:.75em}.admonition p.admonition-title,p.topic-title{print-color-adjust:exact;-webkit-print-color-adjust:exact;margin:0;position:relative;margin-top:0;padding-left:2em;padding-top:.4em;padding-bottom:.4em;font-weight:500;line-height:1.3}.admonition p.admonition-title::before,p.topic-title::before{content:"";position:absolute;left:.5em;top:.5em;width:1em;height:1em}@media screen{p.admonition-title{background-color:var(--color-admonition-title-background)}p.admonition-title::before{background-color:var(--color-admonition-title);mask-image:var(--icon-admonition-default);mask-repeat:no-repeat}}@media print{p.admonition-title::before{opacity:.8}p.admonition-title::before{background-image:var(--icon-admonition-default)}}p.topic-title{background-color:var(--color-topic-title-background)}p.topic-title::before{background-color:var(--color-topic-title);mask-image:var(--icon-topic-default);mask-repeat:no-repeat}.admonition p,div.line{margin:0;padding:0 .5em}@media screen{.admonition.caution{border-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{background-color:var(--color-admonition-title-background--caution)}.admonition.warning{border-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{background-color:var(--color-admonition-title-background--warning)}.admonition.danger{border-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{background-color:var(--color-admonition-title-background--danger)}.admonition.attention{border-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{background-color:var(--color-admonition-title-background--attention)}.admonition.error{border-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{background-color:var(--color-admonition-title-background--error)}.admonition.hint{border-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{background-color:var(--color-admonition-title-background--hint)}.admonition.tip{border-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{background-color:var(--color-admonition-title-background--tip)}.admonition.important{border-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{background-color:var(--color-admonition-title-background--important)}.admonition.note{border-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{background-color:var(--color-admonition-title-background--note)}.admonition.video{border-color:var(--color-admonition-title--video)}.admonition.video>.admonition-title{background-color:var(--color-admonition-title-background--video)}.admonition.seealso{border-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{background-color:var(--color-admonition-title-background--seealso)}.admonition.admonition-todo{border-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{background-color:var(--color-admonition-title-background--admonition-todo)}}@media print{.admonition-title{border-bottom:1px solid var(--color-admonition-title-background)}.admonition{break-inside:avoid}.admonition.caution>.admonition-title{border-color:var(--color-admonition-title-background--caution)}.admonition.warning>.admonition-title{border-color:var(--color-admonition-title-background--warning)}.admonition.danger>.admonition-title{border-color:var(--color-admonition-title-background--danger)}.admonition.attention>.admonition-title{border-color:var(--color-admonition-title-background--attention)}.admonition.error>.admonition-title{border-color:var(--color-admonition-title-background--error)}.admonition.hint>.admonition-title{border-color:var(--color-admonition-title-background--hint)}.admonition.tip>.admonition-title{border-color:var(--color-admonition-title-background--tip)}.admonition.important>.admonition-title{border-color:var(--color-admonition-title-background--important)}.admonition.note>.admonition-title{border-color:var(--color-admonition-title-background--note)}.admonition.video>.admonition-title{border-color:var(--color-admonition-title-background--video)}.admonition.seealso>.admonition-title{border-color:var(--color-admonition-title-background--seealso)}.admonition.admonition-todo>.admonition-title{border-color:var(--color-admonition-title-background--admonition-todo)}}.admonition{border:1px solid var(--color-admonition-title)}.admonition.caution{border-color:var(--color-admonition-title--caution)}.admonition.caution>.admonition-title{border-color:var(--color-admonition-title--caution)}.admonition.warning{border-color:var(--color-admonition-title--warning)}.admonition.warning>.admonition-title{border-color:var(--color-admonition-title--warning)}.admonition.danger{border-color:var(--color-admonition-title--danger)}.admonition.danger>.admonition-title{border-color:var(--color-admonition-title--danger)}.admonition.attention{border-color:var(--color-admonition-title--attention)}.admonition.attention>.admonition-title{border-color:var(--color-admonition-title--attention)}.admonition.error{border-color:var(--color-admonition-title--error)}.admonition.error>.admonition-title{border-color:var(--color-admonition-title--error)}.admonition.hint{border-color:var(--color-admonition-title--hint)}.admonition.hint>.admonition-title{border-color:var(--color-admonition-title--hint)}.admonition.tip{border-color:var(--color-admonition-title--tip)}.admonition.tip>.admonition-title{border-color:var(--color-admonition-title--tip)}.admonition.important{border-color:var(--color-admonition-title--important)}.admonition.important>.admonition-title{border-color:var(--color-admonition-title--important)}.admonition.note{border-color:var(--color-admonition-title--note)}.admonition.note>.admonition-title{border-color:var(--color-admonition-title--note)}.admonition.video{border-color:var(--color-admonition-title--video)}.admonition.video>.admonition-title{border-color:var(--color-admonition-title--video)}.admonition.seealso{border-color:var(--color-admonition-title--seealso)}.admonition.seealso>.admonition-title{border-color:var(--color-admonition-title--seealso)}.admonition.admonition-todo{border-color:var(--color-admonition-title--admonition-todo)}.admonition.admonition-todo>.admonition-title{border-color:var(--color-admonition-title--admonition-todo)}@media print{.admonition.caution>.admonition-title::before{background-image:var(--icon-spark)}.admonition.warning>.admonition-title::before{background-image:var(--icon-warning)}.admonition.danger>.admonition-title::before{background-image:var(--icon-spark)}.admonition.attention>.admonition-title::before{background-image:var(--icon-warning)}.admonition.error>.admonition-title::before{background-image:var(--icon-failure)}.admonition.hint>.admonition-title::before{background-image:var(--icon-question)}.admonition.tip>.admonition-title::before{background-image:var(--icon-info)}.admonition.important>.admonition-title::before{background-image:var(--icon-flame)}.admonition.note>.admonition-title::before{background-image:var(--icon-pencil)}.admonition.video>.admonition-title::before{background-image:var(--icon-video)}.admonition.seealso>.admonition-title::before{background-image:var(--icon-info)}.admonition.admonition-todo>.admonition-title::before{background-image:var(--icon-pencil)}}@media screen{.admonition.caution>.admonition-title::before{background-color:var(--color-admonition-title--caution);mask-image:var(--icon-spark)}.admonition.warning>.admonition-title::before{background-color:var(--color-admonition-title--warning);mask-image:var(--icon-warning)}.admonition.danger>.admonition-title::before{background-color:var(--color-admonition-title--danger);mask-image:var(--icon-spark)}.admonition.attention>.admonition-title::before{background-color:var(--color-admonition-title--attention);mask-image:var(--icon-warning)}.admonition.error>.admonition-title::before{background-color:var(--color-admonition-title--error);mask-image:var(--icon-failure)}.admonition.hint>.admonition-title::before{background-color:var(--color-admonition-title--hint);mask-image:var(--icon-question)}.admonition.tip>.admonition-title::before{background-color:var(--color-admonition-title--tip);mask-image:var(--icon-info)}.admonition.important>.admonition-title::before{background-color:var(--color-admonition-title--important);mask-image:var(--icon-flame)}.admonition.note>.admonition-title::before{background-color:var(--color-admonition-title--note);mask-image:var(--icon-pencil)}.admonition.video>.admonition-title::before{background-color:var(--color-admonition-title--video);mask-image:var(--icon-video)}.admonition.seealso>.admonition-title::before{background-color:var(--color-admonition-title--seealso);mask-image:var(--icon-info)}.admonition.admonition-todo>.admonition-title::before{background-color:var(--color-admonition-title--admonition-todo);mask-image:var(--icon-pencil)}}.admonition-todo>.admonition-title{text-transform:uppercase}a{text-decoration:none;color:inherit}.body p a,.body a.reference.internal:not(.image-reference),.body aside a,.body .line-block a{color:var(--accent-color);border-bottom:1px solid rgba(125,125,125,.25)}.body p a:hover,.body a.reference.internal:hover,.body aside a:hover,.body .line-block a:hover{border-color:var(--text-color2)}a.icon{margin:0;position:relative;margin-top:0;padding-left:1.5em;padding-top:.5em}a.icon::before{print-color-adjust:exact;-webkit-print-color-adjust:exact;content:"";position:absolute;left:0em;top:.25em;width:1.5em;height:1.5em}@media screen{a.icon::before{background-color:var(--color-link-title);mask-image:var(--icon-link-default);mask-repeat:no-repeat}}@media print{a.icon::before{background-image:var(--icon-link-default)}}@media screen{a.icon.adi::before{background-color:var(--color-link-title--adi);mask-image:var(--icon-adi)}a.icon.ez::before{background-color:var(--color-link-title--ez);mask-image:var(--icon-ez)}a.icon.git::before{background-color:var(--color-link-title--git);mask-image:var(--icon-git)}a.icon.other::before{background-color:var(--color-link-title--other);mask-image:var(--icon-external)}}@media print{a.icon.adi::before{background-image:var(--icon-adi)}a.icon.ez::before{background-image:var(--icon-ez)}a.icon.git::before{background-image:var(--icon-git)}a.icon.other::before{background-image:var(--icon-external)}}.headerlink{color:var(--accent-color);transition:opacity ease .125s;margin-left:.25em;user-select:none;opacity:0}.headerlink:after{content:"#"}:is(h1,h2,h3,h4,h5,h6):hover .headerlink,.literal-block-wrapper:hover .headerlink,.sig-object:hover .headerlink,figure:hover .headerlink,table:hover .headerlink{opacity:1}.search-area,.search-area-bg{top:0}.search-area{position:sticky}.search-area form{display:none}.search-area-bg{position:fixed;display:none}.search-area-bg.on{display:block}.search-area-bg{z-index:9;background:rgba(0,0,0,.35);left:0;right:0;bottom:0}.search-area{width:0;height:0;z-index:10;overflow:visible}.search-area.on form{display:flex}.search-area form{width:100vw;background:var(--bg-color1);padding:.5rem;height:3.5rem}.search-area form input{color:var(--text-color1);width:100%;padding-left:.5em}.search-area form button{cursor:pointer}.search-area form button:before{content:"";display:block;width:1.5rem;height:1.5rem;margin:.25rem;background:url("./icons.svg");filter:invert(var(--is-dark-theme))}.search-area form button:before{background-position:left -6rem top}@media(min-width: 65em){.search-area form{margin-left:calc(40vw - 15rem);width:calc(60vw + 15rem)}}@media(min-width: 105em){.search-area form{max-width:62rem}}footer{border-top:1px solid rgba(125,125,125,.8);padding:1em}@media screen{footer{background:var(--bg-color1)}}@media(min-width: 65em)and (max-width: 80em){footer{margin-left:18rem}}@media(min-width: 80em){footer{margin-left:calc(40vw - 14em)}}@media(min-width: 105em){footer{max-width:60rem}}.related{padding:1.5em .5em 1em .5em;display:flex;justify-content:space-between}.related a:hover{color:var(--accent-color)}.related a{display:flex;align-items:center;max-width:50%}.related .prev{margin:0 auto 0 .5em}.related .next{margin:0 .5em 0 auto}.related .prev:before,.related .next:after{content:"";border:1px solid var(--text-color2);border-width:0 2px 2px 0;display:block;transition:transform ease .125s,margin-top ease .125s;width:.6em;height:.6em;z-index:-1}.related .prev:before{transform:rotate(135deg);margin-right:.5em}.related .next:after{transform:rotate(-45deg);margin-left:.5em}.sig-object{font-family:monospace;font-size:1rem}.sig-prename,.sig-name{color:var(--accent-color-code)}.sig-name,em.property{font-weight:600}em.sig-param,em.property{font-style:normal}.sig-object{transition:ease background-color .25s;background-color:rgba(125,125,125,0);padding:.25em .5rem;border-radius:1rem}.sig-object:hover{background-color:rgba(125,125,125,.1)}.code-block-caption{text-align:center;padding-bottom:.25em}.code-shell{background-color:var(--bg-color3);border-radius:.5rem;padding:.75em;margin-bottom:.5em;user-select:text;overflow-x:scroll}.code-shell .highlight{padding:0;white-space:collapse;margin:0;background:none !important;overflow:visible}.code-shell .float-left{float:left;clear:left;display:inline-block;margin-right:.25em;color:var(--accent-color)}.code-shell pre{margin:0}.code-shell .no-select{opacity:.8;user-select:none}@media not print{.only-print{display:none !important}}@media print{body{font-size:.8rem}.only-screen{display:none !important}header #left,header .reverse{display:none !important}body .highlight{background:none;border:1px solid var(--text-color3)}.code-shell{background:none;border:1px solid var(--text-color3)}.code-shell .highlight{border:none}.highlight pre{font-size:.8em}.body{padding:0}.sphinxsidebar,.repotoc-tree.overlay,.banner,.search-area,.reverse,#scroll-up{display:none}#right>span{width:100%}h1{break-before:always}.tocwrapper ul li a{width:100%}}.caption-number{color:var(--text-color2)}.caption-number:after{content:":";margin-left:-0.3em;margin-right:.2em}@media screen{table.docutils{box-shadow:var(--subtle-box-shadow)}}table.docutils{margin-top:.25em;margin-bottom:.5em;border-spacing:0;overflow:hidden;border-radius:.5rem;border:1px solid rgba(125,125,125,.25);border-bottom:none}table.docutils th{border-bottom:1px solid rgba(125,125,125,.5)}table.docutils td{border-bottom:1px solid rgba(125,125,125,.25)}table.docutils p{margin:0;text-align:left}table.docutils th,table.docutils td{padding:.5em}table.docutils tr:last-child{border-bottom:none}table.docutils.grid{border-left:none}table.docutils.grid td,table.docutils.grid th{border-left:1px solid rgba(125,125,125,.25)}table.docutils.bold-header thead,table.docutils.bold-first-column tbody tr td:first-child{font-weight:bold}@media screen{table.docutils thead{background-color:var(--bg-color2)}}
+
+/*# sourceMappingURL=style.min.css.map */
\ No newline at end of file
diff --git a/v0.3.52/_static/style.min.css.map b/v0.3.52/_static/style.min.css.map
new file mode 100644
index 0000000..6b7f72f
--- /dev/null
+++ b/v0.3.52/_static/style.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sourceRoot":"","sources":["file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/style.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_icons.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_admonition.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/mixin_links.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/variable.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/font.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/element.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/header.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/sidebar.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/collapsible.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/admonition.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/links.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/search.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/footer.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/related.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/code.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/print.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/caption.scss","file:///home/runner/work/doctools/doctools/adi_doctools/theme/cosmic/style/table.scss"],"names":[],"mappings":"AAKA,MACI,+EACA,sFACA,mFACA,wBAGJ,KACI,uBAGJ,KC2BI,41NCTI,2CACA,qEADA,2CACA,qEADA,0CACA,oEADA,6CACA,uEADA,yCACA,mEADA,wCACA,iEADA,uCACA,gEADA,6CACA,uEADA,wCACA,kEADA,yCACA,mEADA,2CACA,sEADA,mDACA,+EAhBJ,kCACA,6DAEA,gDAIA,6BACA,wDAEA,yCCZI,iCACA,2DADA,gCACA,0DADA,iCACA,2DADA,mCACA,+DATJ,4BACA,uDAEA,qCHaJ,KACI,mBACA,oBACA,qBACA,8BACA,qBACA,qBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,0BAGJ,UACI,mBACA,oBACA,6BACA,sBACA,qBACA,kBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,0BAGJ,mCACI,iBACI,mBACA,oBACA,6BACA,sBACA,qBACA,kBACA,qBACA,8BACA,8BACA,uBACA,oBACA,oBACA,wBACA,6BACA,qBACA,2BAIR,KACI,SACA,kBAGJ,cACI,KACI,kCACA,0BAIR,EACI,sBAGJ,MACI,WACA,cACA,gBAGJ,yBACE,iBACI,iBAIN,yBACI,iBACI,eAIR,wBACI,iBACI,eACA,aACA,YIvGO,+BJwGP,MACA,YAIR,6CACI,iBACI,WAGJ,aACI,mBAIR,wBACI,iBACI,wBAGJ,aACI,gCAIR,wBACI,oBACE,aAGF,MACI,+BAIR,wBACI,MACI,mCAKJ,uBACI,kBACA,uBAGJ,QACI,sBAGJ,eACI,eAIR,cAEQ,uBACI,oBAKZ,sBACI,eAGJ,IACI,cACA,cAGJ,YACI,cACA,kBAGJ,wBACI,2BACI,YACA,oBACA,eAIR,wBACI,IACI,gBAIR,aACI,2BACI,YACA,oBACA,eAIR,aACI,IACI,gBKjOR,WACI,qBACA,4DACA,gBACA,kBAGJ,WACI,qBACA,8DACA,gBACA,kBAGJ,WACI,oBACA,2DACA,mBACA,kBAGJ,WACI,oBACA,4DACA,gBACA,kBAGJ,KACI,mCAGJ,6BACI,oCACA,gBACA,S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ACA,UACA,SACA,UACA,WAKR,cACI,mBACI,0DACA,2BACI,+CACA,0CACA,uBAIZ,aAEQ,2BACI,WAIJ,2BACI,iDAKZ,cACI,qDACA,sBACI,0CACA,qCACA,sBAIR,uBACI,SACA,eAIJ,cAGY,oBACI,oDACA,sCACI,mEAHR,oBACI,oDACA,sCACI,mEAHR,mBACI,mDACA,qCACI,kEAHR,sBACI,sDACA,wCACI,qEAHR,kBACI,kDACA,oCACI,iEAHR,iBACI,iDACA,mCACI,gEAHR,gBACI,gDACA,kCACI,+DAHR,sBACI,sDACA,wCACI,qEAHR,iBACI,iDACA,mCACI,gEAHR,kBACI,kDACA,oCACI,iEAHR,oBACI,oDACA,sCACI,mEAHR,4BACI,4DACA,8CACI,4EAOpB,aACI,kBACI,iEAGJ,YACI,mBAIQ,sCACI,+DADJ,sCACI,+DADJ,qCACI,8DADJ,wCACI,iEADJ,oCACI,6DADJ,mCACI,4DADJ,kCACI,2DADJ,wCACI,iEADJ,mCACI,4DADJ,oCACI,6DADJ,sCACI,+DADJ,8CACI,wEAOpB,YACI,+CAGI,oBACI,oDACA,sCACI,oDAHR,oBACI,oDACA,sCACI,oDAHR,mBACI,mDACA,qCACI,mDAHR,sBACI,sDACA,wCACI,sDAHR,kBACI,kDACA,oCACI,kDAHR,iBACI,iDACA,mCACI,iDAHR,gBACI,gDACA,kCACI,gDAHR,sBACI,sDACA,wCACI,sDAHR,iBACI,iDACA,mCACI,iDAHR,kBACI,kDACA,oCACI,kDAHR,oBACI,oDACA,sCACI,oDAHR,4BACI,4DACA,8CACI,4DAMhB,aAKoB,8CACI,mCADJ,8CACI,qCADJ,6CACI,mCADJ,gDACI,qCADJ,4CACI,qCADJ,2CACI,sCADJ,0CACI,kCADJ,gDACI,mCADJ,2CACI,oCADJ,4CACI,mCADJ,8CACI,kCADJ,sDACI,qCAQxB,cAKoB,8CACI,wDACA,6BAFJ,8CACI,wDACA,+BAFJ,6CACI,uDACA,6BAFJ,gDACI,0DACA,+BAFJ,4CACI,sDACA,+BAFJ,2CACI,qDACA,gCAFJ,0CACI,oDACA,4BAFJ,gDACI,0DACA,6BAFJ,2CACI,qDACA,8BAFJ,4CACI,sDACA,6BAFJ,8CACI,wDACA,4BAFJ,sDACI,gEACA,+BAQxB,mCACI,yBC9JJ,EACI,qBACA,cAIA,6FACI,0BACA,8CAGJ,+FACI,gCAIR,OACI,SACA,kBACA,aACA,mBACA,iBAGA,eACI,yBACA,iCACA,WACA,kBACA,SACA,UACA,YACA,aAKR,cAEQ,eACI,yCACA,oCACA,uBAKZ,aAEQ,eACI,2CAMZ,cAIgB,mBACI,8CACA,2BAFJ,kBACI,6CACA,0BAFJ,mBACI,8CACA,2BAFJ,qBACI,gDACA,iCAOpB,aAIgB,mBACI,iCADJ,kBACI,gCADJ,mBACI,iCADJ,qBACI,uCAQpB,YACI,0BACA,8BACA,kBACA,iBACA,UAEA,kBACI,YAIR,iKAKI,UCpGJ,6BACI,MAGJ,aACI,gBAEJ,kBACI,aAGJ,gBACI,eACA,aAGJ,mBACI,cAGJ,gBACI,UACA,2BACA,OACA,QACA,SAGJ,aACI,QACA,SACA,WACA,iBAGJ,qBACI,aAGJ,kBACI,YACA,4BACA,cACA,cAGA,wBACI,yBACA,WACA,kBAGJ,yBACI,eAGJ,gCACI,WACA,cACA,aACA,cACA,cACA,8BACA,oCAGJ,gCACI,mCAIR,wBACI,kBACI,+BACA,0BAIR,yBACI,kBACI,iBChFR,OACI,WTgBW,+BSfX,YAGJ,cACI,OACI,6BAIR,6CACI,OACI,mBAIR,wBACI,OACI,+BAIR,yBACI,OACI,iBC3BR,SACI,4BACA,aACA,8BAEA,iBACI,0BAGJ,WACI,aACA,mBACA,cAGJ,eACI,qBAGJ,eACI,qBAGJ,2CACI,WACA,oCACA,yBACA,cACA,sDACA,WACA,YACA,WAGJ,sBACI,yBACA,kBAGJ,qBACI,yBACA,iBCvCR,YACI,sBACA,eAGJ,uBACI,+BAGJ,sBACI,gBAGJ,yBACI,kBAGJ,YACI,sCACA,qCACA,oBACA,mBAGJ,kBACI,sCAGJ,oBACI,kBACA,qBAIJ,YACI,kCACA,cXZY,MWaZ,cACA,mBACA,iBACA,kBAEA,uBACI,UACA,qBACA,SACA,2BACA,iBAGJ,wBACI,WACA,WACA,qBACA,mBACA,0BAGJ,gBACI,SAGJ,uBACI,WACA,iBClER,iBACI,YACI,yBAIR,aACI,KACI,gBAGJ,aACI,wBAGJ,6BACI,wBAGJ,gBACI,gBACA,oCAGJ,YACI,gBACA,oCAEA,uBACI,YAKJ,eACI,eAIR,MACI,UAGJ,8EAII,aAGJ,YACI,WAGJ,GACI,oBAGJ,oBACI,YC3DR,gBACI,yBAGJ,sBACI,YACA,mBACA,kBCLJ,cACI,eACI,qCAIR,eACI,iBACA,mBACA,iBACA,gBACA,cdaY,McZZ,OdOQ,gCcNR,mBAEA,kBACI,cdEI,+BcCR,kBACI,cdDI,gCcIR,iBACI,SACA,gBAGJ,oCACI,aAGJ,6BACI,mBAGJ,oBACI,iBACA,8CACI,YdpBA,gCcwBR,0FAEI,iBAIR,cAEQ,qBACI","file":"style.min.css"}
\ No newline at end of file
diff --git a/v0.3.52/ci.html b/v0.3.52/ci.html
new file mode 100644
index 0000000..47d2ded
--- /dev/null
+++ b/v0.3.52/ci.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+ Continuous integration — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Continuous integration
+
+
+Documentation build and deployment
+Doctools is developed to work offline, in a local server, as a rolling release
+(e.g. on GitHub Page)s and versioned in a dedicated server (with orchestration).
+
+Local
+For offline and local server, a make html
suffice to generate the
+documentation.
+To serve the build in a local server, Python built-in server can be used:
+
+
python -m http.server -d /path/to/docs/_build/html
+
+
+
Or with hot reload using Why was Author Mode renamed to Serve? :
+
+
adoc author-mode -d /path/to/docs
+
+
+
+
+Rolling release
+For a rolling release, a workflow file is used.
+With GitHub Actions, the following workflow file is recommended:
+on :
+ push :
+ branches :
+ - main
+ pull_request :
+
+jobs :
+ build-doc :
+ runs-on : ubuntu-latest
+
+ steps :
+ - uses : actions/checkout@v4
+ - uses : actions/setup-python@v5
+ with :
+ python-version : "3.x"
+
+ - name : Install pip packages
+ working-directory : docs
+ run : |
+ pip install pip --upgrade
+ pip install -r requirements.txt
+
+ - name : Build doc
+ working-directory : docs
+ run : |
+ make html SPHINXOPTS='-W --keep-going'
+
+ - name : Store the generated doc
+ uses : actions/upload-artifact@v4
+ with :
+ name : html
+ path : docs/_build/html
+
+ deploy-doc :
+ runs-on : ubuntu-latest
+ needs : build-doc
+ if : github.ref == 'refs/heads/main'
+
+ steps :
+ - run : |
+ git config --global user.name "${{ github.event.head_commit.committer.name }}"
+ git config --global user.email "${{ github.event.head_commit.committer.email }}"
+
+ - uses : actions/checkout@v4
+ - name : Create gh-pages branch
+ run : >
+ git ls-remote --exit-code --heads origin refs/heads/gh-pages ||
+ (
+ git reset --hard ;
+ git clean -fdx ;
+ git checkout --orphan gh-pages ;
+ git reset --hard;
+ git commit -m "empty" --allow-empty ;
+ git push origin gh-pages:gh-pages
+ )
+
+ - uses : actions/checkout@v4
+ with :
+ ref : 'gh-pages'
+
+ - name : Empty gh-pages
+ run : |
+ git rm -r . --quiet || true
+
+ - uses : actions/download-artifact@v4
+ with :
+ name : html
+
+ - name : Patch doc build
+ run : |
+ rm -r _sources
+ touch .nojekyll
+
+ - name : Commit gh-pages
+ run : |
+ git add . >> /dev/null
+ git commit -m "deploy: ${GITHUB_SHA}" --allow-empty
+
+ - name : Push to gh-pages
+ run : |
+ git push origin gh-pages:gh-pages
+
+
+With the Sphinx -W
flag, Sphinx exits with an error if any warning is logged,
+and --keep-going
continues the build even if a warning is logged, to provide
+a complete log for analysis.
+The deploy-doc
job only runs when push/merged to main.
+
+
Attention
+
GITHUB_SHA
on pull_request
is the pre-commit and not the head commit,
+please be aware of GitHub events values if implementing something else.
+
+The requirements.txt file should contain:
+sphinx
+https : // github . com / analogdevicesinc / doctools / releases / download / latest / adi - doctools . tar . gz
+
+
+
+
+Versioned
+The live versioned version requires additional orchestration than the
+Rolling release .
+Store each version in separated folders in the root path, e.g.
+v1.1
, v2.2
, main
, dev
and generate a tags.json
+containing a plain array with each version on the root path,
+e.g. ["v1.1", "v2.2", "main", "dev"]
+(a empty string means there is a built doc on the root).
+This tags.json
is used solely by the opened live page to show a dropdown to
+switch between versions.
+
+For In organization reference , the doc shall target a specific version by suffixing
+the target the version on the interref_repos
variable, e.g.
+interref_repos = ['pyadi-iio/dev', 'other-repo/v1.1']
.
+A basic tags.json
can be obtained with:
+
+
ls -d */ | cut -f1 -d'/' | jq --raw-input . | jq --slurp . > tags.json
+
+
+
That means, take all directories in the root path and store as JSON.
+If the root does not contain any built doc, add a redirect HTML file pointing
+to the main/stable version:
+ <!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="refresh" content="0; url=main/index.html" />
+ </head>
+</html>
+
+
+If the root does contain a built doc, add an empty string ""
to
+tags.json
.
+This entry will be named latest
in the version selector dropdown.
+Finally, set the depth of the destination path during doc generation
+with ADOC_TARGET_DEPTH
, for example, if the target directory is:
+
+./ : 0
or unset
+./v2.2 : 1
+./prs/1234 : 2
+
+e.g. ADOC_TARGET_DEPTH=2 make html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file
diff --git a/v0.3.52/cli.html b/v0.3.52/cli.html
new file mode 100644
index 0000000..35bd01c
--- /dev/null
+++ b/v0.3.52/cli.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+ Command line interface — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Command line interface
+The Doctools bundles a command line interface called adoc
meant to ease both
+continuous integration and local builds of the documentation.
+Below, it is briefly described each command, and it is worth noting that every
+command supports the --help
option for quick look up.
+
+Serve
+Watches the docs and source code to rebuild it on edit.
+Similar to mkdocs serve
, webpack serve
, npm run start
, hugo server
,
+and so on.
+Two HTML live update strategies are available:
+
+To launch a watched instance, do:
+Where /path/to/docs
is the path to the folder contain the Sphinx’s Makefile
.
+To also watch changes made to theme itself, use the --dev
option, just make
+sure to have Doctools as Development install .
+For PDF output, do:
+
+
adoc serve --builder pdf
+
+
+
Make sure to use an PDF viewer that watches the file timestamp
+and automatically reloads, such as Gnome PDF (Evince).
+All options can be listed with:
+
+How can I rebuild the whole documentation within Serve?
+Run make clean
in another tab, it will trigger a full rebuild.
+Do not do make clean html
since it will generate a build without the
+proper Serve environment and live reload won’t work properly.
+
+
+Why is the output missing styling (CSS stylesheet)?
+You probably did a Development install without Install the web compiler
+and you are building directly (make html
) instead of using Serve.
+If you don’t want to install npm
, use Serve and accept the prompt to
+fetch the pre-built web-scripts from the latest release.
+
+
+Why is the Python source code of this repo not watched?
+Since a Python scripts change would affect rebuilding the whole documentation,
+those files are not watched by design even with the --dev
option.
+Extensions at the doc itself are, however.
+Alternatively, touch the source doc of the open page to rebuild only it
+with the edited Python code.
+
+
+Why was Author Mode renamed to Serve?
+Solely to match other tools like mkdocs serve
, webpack serve
,
+npm run start
, hugo server
,
+
+
+
+Custom Doc
+Generates custom documents with filtered content from all documentations of the
+watched repositories (see adi_doctools/lut.py ).
+For PDF output, WeasyPrint is used (ensure to install it).
+To quick start, run the tool twice in an empty directly.
+ Configuration file doc.yaml not found, created template at:
+/tmp/my_doc/doc.yaml
+Update it with the desired sources and rerun the tool.
+
+
+
+
adoc custom-doc --builder pdf
+
+
+
The doc.yaml file is a concise human readable markup file to set the desired
+content and some other options.
+Running the tool in a directory without the doc.yaml will instantiate a template
+and return.
+If the necessary repositories are not found, the tool will clone for you.
+In general, you can first clone and checkout your current work and then run the tool,
+to build the doc with your own changes.
+Some documentations depend on auto generated sections and extra features, use
+the --extra
option to enable those; it considers that the environment has all
+the tools needed, for example, vivado
is accessible for the HDL documentation.
+See adi_doctools/cli/custom-doc.py to understand how the extra steps are
+included, but in summary, they are just a sequence of bash commands wrapped on python.
+For all options, do:
+Here is a minimal doc.yaml :
+project : Custom user guide
+description : Subtitle of the user guide
+
+include :
+ - documentation/software/libiio/cli.rst
+
+custom :
+ - custom-pages/index.rst
+
+entry-point :
+ - caption : My custom index
+ files :
+ - custom-pages/index.rst
+
+config :
+ documentation :
+ branch : "my-branch"
+
+extensions :
+ - sphinx.ext.duration
+
+
+The include
option contains the list of files to include in the custom
+document, with the first level of the path the repository name.
+During generation, the tool will resolve the hierarchy of the included docs,
+adding pages until the repository top-level page is reached.
+This may result in unwanted content being added and empty “category” sections.
+To resolve that, it is possible to create custom top-level toctrees with the
+entry-point
option.
+In summary, this:
+entry-point :
+ - caption : HDL design
+ files :
+ - some/custom/intro.rst
+ - hdl/some/project.rst
+
+
+Resolves at index.rst into:
+.. toctree ::
+ :caption: HDL design
+
+ some/custom/intro
+ hdl/some/project
+
+
+Additional configuration can be added to the config
option:
+
+branch
: Clone the repository from a specific branch, overwrite “main”.
+If the repository is already present, this option has no effect.
+extra
: Do steps that require extra software, for example, some vendor SDK.
+
+The option extensions
allow to append extra Sphinx extensions, beyond the
+automatically imported from the sourced documentations.
+
+
+Aggregate
+
+
Tip
+
This feature is useful to batch build/test all tracked documentations.
+
+Generates all documentations of the watched repositories
+(see adi_doctools/lut.py ).
+Two generation strategies are available:
+
+monolithic: patches all docs together into a single monolithic output (default).
+symbolic: generate each doc independently, just save them together (--symbolic
).
+
+For the monolithic output, do:
+Some documentations depend on auto generated sections and extra features, use
+the --extra
option to enable those; it considers that the environment has all
+the tools needed, for example, vivado
is accessible for the HDL documentation.
+See adi_doctools/cli/aggregate.py to understand how the extra steps are
+included, but in summary, they are just a sequence of bash commands wrapped on python.
+For all options, do:
+
+
+HDL Render
+Exposes the HDL component diagram generator as a CLI.
+It converts IP-XACT files into SVGs.
+To generate and open the diagram, provide the path containing the IP-XACT and use
+the --open
option:
+
+
adoc hdl-render --input PATH --open
+
+
+
For example:
+
+
adoc hdl-render --input hdl/library/axi_dmac --open
+
+
+
For all options, do:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file
diff --git a/v0.3.52/docs_guidelines.html b/v0.3.52/docs_guidelines.html
new file mode 100644
index 0000000..56fda4b
--- /dev/null
+++ b/v0.3.52/docs_guidelines.html
@@ -0,0 +1,1319 @@
+
+
+
+
+
+
+
+ Documentation guidelines — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Documentation guidelines
+A brief set-of-rules for the documentation.
+
+
Note
+
The old wiki uses dokuwiki . When
+importing text from there, consider the automated options that are provided
+in this page to convert it to reST.
+
+
+Importing from DokuWiki to Sphinx
+Use the following command to import a DokuWiki page (old wiki.analog.com ):
+ pandoc imported.txt -f dokuwiki -t rst --columns= 80 -s -o imported.rst --list-tables
+
+
+The list-tables
parameter requires pandoc-types >= 1.23, included in any
+recent pandoc release ;
+if it is not an option, you shall remove it and export in the grid table
+format (see Tables for more information).
+After converting, update it to better conform with the guidelines below, and
+make sure to use our directives and roles, for example, the Git role .
+To speed thing up, combine with wget:
+wikifile = resources/eval/user-guides/adrv9009/adrv9009
+outfile = output.rst
+
+wget -O - https://wiki.analog.com/$wikifile ?do= export_raw --no-verbose | \
+ pandoc -f dokuwiki -t rst --columns= 80 -s -o $outfile --list-tables
+
+
+Also, consider recording macros in your favorite text editor to automate
+repetitive steps.
+There is also the
+DokuWiki to Sphinx (bash.sh)
+to further help importing.
+
+
+Indentation
+Directives are indented with 3 space, which is Sphinx’s default.
+At code directives, the code keeps its original indentation (e.g. 2 spaces for
+Verilog code), but is offset by 3 spaces at the beginning of every line, to
+instruct Sphinx the beginning and end of the code directive.
+
+
+Table of contents
+The relation between pages are created with the toctree
directive,
+which allows to generate the table of contents and navigation bars.
+Each page may have only one toctree, since they are the equivalent of the
+volumes of a book, and it does not make sense to have multiple “volumes” at
+the repository level.
+The only exception is the ADI System Level Documentation repository , which indeed contains various
+types of documentation (eval-boards, university program, Linux drivers, etc.).
+The toctree
directive has the following format:
+.. toctree ::
+ :maxdepth: <depth>
+
+ Custom title <path/to/page>
+
+
+For pages with shorter titles, such as libraries, the label is inherited from
+the page itself, for example:
+.. toctree ::
+
+ library/axi_dmac/index
+ library/spi_engine/index
+
+
+And for pages with long titles, such as projects, overwrite the full title with
+a custom title, e.g:
+.. toctree ::
+
+ AD7616-SDZ <projects/ad7616_sdz/index>
+
+
+This way, only “AD7616-SDZ” will be displayed in the page navigation bar instead
+of “AD7616-SDZ HDL project”.
+Also, it is recommended to wrap the toctree in a “Contents” section:
+Contents
+========
+
+.. toctree ::
+
+ some_page
+
+
+For extensive documentation with different topics, it makes sense to filter
+the toctree based on the current topic/toctree title.
+This is possible by setting the environment variable ADOC_FILTER_TOCTREE
to
+1
.
+Alternatively, setting filter_toctree
on conf.py
has higher precedence
+than ADOC_FILTER_TOCTREE
.
+And is supposed to be used alongside the topic
field at lut.py
to
+preserve high level links for each topic.
+Enable this environment variable only on the release build, since writing pages
+with it enabled may be obnoxious and confusing prior the final structure/location
+of them.
+
+
+Versioning
+To avoid having the version set in multiple places or having to tweak conf.py
+to obtain it from somewhere else, continuous integration can set the environment
+variable ADOC_DOC_VERSION
to set the version value.
+Still, the version
value on conf.py
has higher precedence, and
+ADOC_DOC_VERSION
will be ignored if the variable is already set.
+The CI, in general, should set ADOC_DOC_VERSION
as the current checkout branch
+in the pipeline (e.g. main
, v1.0.0
).
+
+
Tip
+
If creating a branch or PR output, consider using GitHub short reference
+${{ github.ref_name }}
.
+
+If both environment variable and version
on conf.py
are unset, it defaults
+to an empty string.
+Also, set ADOC_TARGET_DEPTH
to match the final destination depth, for example,
+if the target directory is:
+
+./ : 0
or unset
+./v2.2 : 1
+./prs/1234 : 2
+./staging/user/branch : 3
+
+
+
+Exporting to PDF
+The whole documentation can be exported to a PDF document for a more compact
+format using either rs2pdf or WeasyPrint.
+This is done by setting the environment variable called
+ADOC_MEDIA_PRINT
(the value does not matter) and building the documentation.
+For rst2pdf, use:
+ sphinx-build -b pdf . _build/pdfbuild
+
+
+
In the output folder, you’ll find a PDF document named after the repository
+(e.g. Doctools.pdf). This document includes an auto-generated cover, followed by
+the remaining pages. Note that an HTML build of the documentation is not
+required for the PDF build.
+
+
Warning
+
The enviroment variable ADOC_MEDIA_PRINT
should be unset when building
+the HTML pages of documentation. If not set, some components of the pages
+may not render properly.
+
+Alternatively, WeasyPrint can be used with Why was Author Mode renamed to Serve? with this command:
+ ~/some_repository/docs$
+
+
+
adoc author-mode --directory . --builder pdf
+
+
+
The advantage of WeasyPrint is that the design styles (CSS stylesheet) is
+respected.
+
+Inner working
+Internally, ADOC_MEDIA_PRINT
variable is set to app.config.media_print
+and should be used in scenarios where it is explicitly needed to compile the
+content in a different manner than for the hosted html.
+For example, to render content during build that would instead be rendered with
+third-party JavaScript libraries in the user browser.
+Still, another approach is to patch the generated html, like is done at
+adi_doctools/cli/aux_print.py for Why was Author Mode renamed to Serve? and
+Custom Doc with pdf builders.
+
+
+
+Local references
+References to labels have the format :ref:`context topic`
, e.g.
+:ref:`role git`
renders as Git role .
+Labels are created for any content with the syntax
+(dot-dot underscore<label>two-dots):
+
+
+
Hint
+
Add labels to any content that may be linked, locally or
+externally .
+
+References to docs have the format :doc:`path/to/doc`
, e.g.
+:doc:`docs_guidelines`
for docs_guidelines.rst .
+
+
Attention
+
Do not break reference roles between lines!
+Even though Sphinx allows breaking line inside the reference role,
+it makes pattern matching hard.
+
+Prefer hyphen separation -
over undeline _
for the “title” section,
+and always lower case,
+for example
+my_code control-interface
instead of MY_CODE Control_Interface
.
+
+Numbered references
+References can be numbered by using
+numref ,
+for example, “see Figure 1 ”.
+To use this feature, enable on the conf.py :
+
+To customize the format, set numfig_format
:
+numfig_format = { 'figure' : 'Figure %s ' ,
+ 'table' : 'Table %s ' ,
+ 'code-block' : 'Listing %s ' ,
+ 'section' : 'Section %s ' }
+
+
+
+
Tip
+
By default enumeration is global, so if the toctree is not
+numbered to divide the pages in numbered sections (e.g. Figure 3.4.4 ),
+the numbering will “propagate” across page which may be counter-intuitive.
+
To have the numbering reset at every page, add numfig_per_doc = True
to
+conf.py .
+
+
+
+
+External references
+External references to other Sphinx documentation are created using the built-in
+sphinx.ext.intersphinx
extension.
+To setup in-organization references read the section below ,
+and for third-party docs, the section that follows .
+
+
For either, to create a reference to a label , use:
+
:external+inv:ref:`label`
, where inv
is a mapped source,
+for example, :external+hdl:ref:`spi_engine control-interface`
.
+
+
+
To create a reference to a doc , use:
+
:external+inv:doc:`label`
, where inv
is a mapped source,
+for example, :external+hdl:doc:`library/spi_engine/index`
.
+
+As the other roles, it is possible to customize the text, e.g.
+:external+hdl:ref:`Custom text <spi_engine control-interface>`
.
+
+
Tip
+
Pay attention to the log output, since
+a warnings is thrown for each reference not found.
+
+External references work with any kind of references, such as
+ref , doc , envvar , token , term , numref and keyword .
+
+
For references to labels it is possible to use the short form:
+
:ref-inv:`label`
(equivalent to :external+inv:ref:`label`
),
+but is discouraged.
+
+
+
Note
+
Sphinx 8 allows the syntax :ref:`<inv>:label`
,
+which allows local references to have higher precedence than external
+refs, useful for generating custom docs like user guides.
+However, since some users may require Sphinx 7, use the former syntax,
+and let adoc patch it when necessary.
+
+To show all links of an InterSphinx mapping file, use the built-in tool:
+ python3 -m sphinx.ext.intersphinx https://analogdevicesinc.github.io/hdl/objects.inv
+
+
+
+In organization reference
+To create references to Sphinx docs inside the organization add the repositories
+of interest to the conf.py file with the following format:
+interref_repos = [ external ... ]
+
+
+For example:
+interref_repos = [ 'hdl' , 'no-OS' , 'pyadi-iio/main' ]
+
+
+Notice that in the example main
suffixes pyadi-iio
, this means that will
+look for the build at path main
of this repo instead of at root.
+This can be used to target a specific version, if the target repository stores
+multiple, for example, v1.1
, more about that Versioned .
+
+It is possible to customize the target URL with the interref_uri
config or
+ADOC_INTERREF_URI
environment variables.
+The default value is https://analogdevicesinc.github.io/ and can be set to a
+local path like ../../ .
+Beyond the main target dictated by interref_uri ,
+by setting the config interref_local
as true, a secondary target is inferred
+foreseeing a local copy of the target external documentation alongside the
+current repository:
+ /data/work
+├─my-repo-0/doc/sources
+│
+├─my-repo-1/docs
+│
+└─my-repo-2/doc
+
+
+The correct relative paths are resolved looking into the lut.py
.
+
+
+Outside organization Sphinx reference
+To create references to third-party Sphinx documentations, add the mappings to
+to the conf.py file with the following format:
+intersphinx_mapping = {
+ '<name>' : ( '<path/to/external>' , None )
+}
+
+
+For example:
+intersphinx_mapping = {
+ 'sphinx' : ( 'https://www.sphinx-doc.org/en/master' , None )
+}
+
+
+
+
+
+Text width
+Each line must be less than 80 columns wide.
+You can use the fold
command to break the lines of the imported text
+while respecting word-breaks:
+ cat imported.txt | fold -sw 80 > imported.rst
+
+
+The header divider “---
” shall be either 80 characters wide or end at the
+title character, that means, this is also valid:
+
+
+
+Tables
+Prefer
+list-tables
+and imported
+csv-tables
+(using the file option), because they are faster to create, easier to maintain
+and the 80 column-width rule can be respected with list-tables.
+Only use
+grid tables
+if strictly necessary, since they are hard to update.
+To tune styling, the following classes are available:
+
+
+
+Lists
+Unordered lists use *
or -
and ordered lists #.
.
+Child items must be aligned with the first letter of the parent item, that means,
+2 spaces for unordered list and 3 spaces for ordered lists, for example:
+#. Parent ordered item.
+
+ * Child unordeded item.
+
+ #. Child ordered item.
+ #. Child ordered item.
+
+
+Renders as:
+
+Parent numbered item.
+
+Child unordered item.
+
+Child ordered item.
+Child ordered item.
+
+
+
+
+
+
+
+Code
+Prefer
+code-blocks
+to
+code
+directives, because code-blocks have more options, such as showing line numbers
+and emphasizing lines.
+For example,
+.. code-block :: python
+ :linenos:
+ :emphasize-lines: 2
+
+ def hello_world():
+ string = "Hello world"
+ print(string)
+
+
+Renders as
+1 def hello_world ():
+2 string = "Hello world"
+3 print ( string )
+
+
+
+
+Images
+Prefer the SVG format for images, and save it as Optimized SVG in
+inkscape to use less space.
+Store them in a hierarchically, do not use images
subdirectories.
+The idea is to have simpler relative paths, for example, e.g.:
+.. image :: ad2234_sdz_schematic.svg
+
+
+Instead of over complicated paths like:
+.. image :: ../../project/images/ad2234_sdz/ad2234_sdz_schematic.svg
+
+
+In general, this avoids dangling artifacts and keeps the documentation simple.
+
+
+Git Large File Storage
+Where applicable, Git Large File Storage (LFS) is used to replace large files
+with text pointers inside Git, reducing cloning time.
+To setup, install from your package manager and init:
+ apt install git-lfs
+git lfs install
+
+
+The files that will use Git LFS are tracked at .gitattributes
, to add new
+files use a pattern at the repo root, for example:
+
+Or edit .gitattributes
directly.
+
+
+Third-party directives and roles
+Third-party tools are used to expand Sphinx functionality, if you haven’t already,
+do:
+ pip install -r requirements.txt
+
+
+
+
+Custom directives and roles
+To expand Sphinx functionality beyond existing tools, custom directives and roles
+have been written, which are located in the docs/extensions folder.
+Extensions are straight forward to create, if some functionality is missing,
+consider requesting or creating one.
+
+
Note
+
Link-like roles use the :role:`text <link>`
synthax, like external
+links, but without the undescore in the end.
+
+
+Color role
+To print text in red or green, use :red:`text`
and :green:`text`
.
+
+
+Link roles
+The link roles are a group of roles defined by adi_links.py
.
+The validate_links
global option is used to validate each link during build.
+These links are not managed, that means, only links from changed files are checked.
+You can run a build with it set to False, then touch the desired files to check
+the links of only these files.
+
+Git role
+The Git role allows to create links to the Git repository with a shorter syntax.
+The role syntax is :git-repo:`text <type+branch:path>`
, for example:
+
+
+
Important
+
The repository name is case sensitive.
+
+When the branch field is not present, it will be filled with the current branch.
+It is recommended to not provide this field when it is a link to its own repository,
+because it is useful to auto-fill it for documentation releases
+(e.g. hdl_2023_r2
).
+A scenario where it is recommended to provide the branch is when linking others
+repositories.
+They type field is also optional and the values are:
+
+gui : To view rendered on the Git server web GUI [default].
+raw : To download/view as raw.
+{} : Any other Git server web GUI link, e.g. :git-hdl:`releases+`
.
+The last character must be +
, since filenames/path may contain this character
+also.
+
+The text field is optional and will be filled with the full path.
+Finally, you can do :git-repo:`/`
for a link to the root of the
+repository with pretty naming, for example, :git-hdl:`/`
is rendered
+as ADI HDL repository .
+
+
+
+ADI role
+The adi role creates links for a webpage to the Analog Devices Inc. website.
+The role syntax is :adi:`text <webpage>`
, for example,
+:adi:`AD7175-2 <ad7175-2>`
.
+Since links are case insensitive, you can also reduce it to
+:adi:`AD7175-2`
, when webpage is the same as text and will render
+as AD7175-2 .
+
+
+Dokuwiki role
+The dokuwiki role creates links to the Analog Devices Inc. wiki website.
+The role syntax is :dokuwiki:`text <path>`
, for example,
+:dokuwiki:`pulsar-adc-pmods <resources/eval/user-guides/circuits-from-the-lab/pulsar-adc-pmods>`
+gets rendered as
+pulsar-adc-pmods .
+For intentional deprecated links, add the deprecated
qualifier, e.g.:
+:dokuwiki+deprecated:`ADS-B Airplane Tracking Example <resources/tools-software/linux-software/libiio/clients/adsb_example>`
+gets rendered as
+ADS-B Airplane Tracking Example .
+The sole intend of this qualifier is to distinct pending import pages from won’t
+import pages.
+
+
+EngineerZone role
+The ez role creates links to the Analog Devices Inc. EngineerZone support website.
+The role syntax is :ez:`community`
, for example, :ez:`fpga`
+gets rendered as EngineerZone .
+For Linux Software Drivers, it is :ez:`linux-software-drivers`
.
+For Microcontroller no-OS Drivers it is :ez:`microcontroller-no-os-drivers`
.
+
+
+Vendor role
+The vendor role creates links to the vendor’s website.
+The role syntax is :vendor:`text <path>`
, for example,
+:xilinx:`Zynq-7000 SoC Overview <support/documentation/data_sheets/ds190-Zynq-7000-Overview.pdf>`
+gets rendered
+Zynq-7000 SoC Overview .
+The text parameter is optional, if absent, the file name will be used as the text,
+for example,
+:intel:`content/www/us/en/docs/programmable/683780/22-4/general-purpose-i-o-overview.html`
+gets rendered
+general-purpose-i-o-overview.html
+(not very readable).
+Supported vendors are: xilinx
(AMD Xilinx), intel
(Intel Altera) and
+mw
(MathWorks).
+
+
+Supplier role
+The supplier role creates links to a vendor’s website search.
+The role syntax is :vendor:`text <path>`
, for example,
+:digikey:`AD9081-FMCA-EBZ`
+gets rendered
+AD9081-FMCA-EBZ .
+The text parameter is optional.
+Supported vendors are: digikey
(Digikey), mouser
(Mouser) and
+arrow
(Arrow).
+
+
+
+Container directives
+To allow disposing content in a tabular manner but still respecting the multiple
+screen sizes and both HTML and PDF output, two container directives are available,
+flex
and grid
.
+
+Flex directive
+The grid directive implements a subset of
+CSS Flex .
+And is used to dipose elements without worrying about number of columns and sizes,
+while still obtaining a fairly good result.
+
+
+
+Grid directive
+The grid directive implements a subset of
+CSS Grids .
+And is used to dipose elements with exact number of columns and width control.
+.. grid ::
+ :widths: 25 25% 150px
+
+
+The widths
options allow units (px
, %
, etc) and without an explicit
+unit it is inferred percentile.
+This option is required, since it is not possible to infer the number of
+columns in a sane manner.
+
+
+
+Clear content directive
+A simple directive to
+clear
+the content, forcing any following content to be moved below any preceding
+content.
+It is useful when working with images
+aligned/float
+left/right and wants to ensure the next section does not also gets “squashed”.
+.. clear-content ::
+ :side: [both,left,right]
+ :break:
+
+
+It can clear content to it’s left
, right
or both
sides.
+By default, it clear both
sides.
+With the break
option, it will break the page when generating a PDF
+(behaves similar to LaTeX cleardoublepage ).
+
+
+Shell directive
+The shell directive allows to embed shell code in a standard way.
+.. shell :: [bash,sh,zsh,ps1]
+ :user: <user>
+ :group: <group>
+ :caption: <caption>
+ :show-user:
+ :no-path:
+
+ /path_absolute
+ ~path_relative_to_home
+ $command
+ output
+
+
+That means, each line is prefixed by character to:
+
+$
: bash commands.
+
(one space): command output.
+#
: bash comments
+/
: set absolute working directory (cygpath-formatted for ps1).
+~
: set relative to “home” working directory (cygpath-formatted for ps1).
+
+Anything that does not match the previous characters will default to output print,
+but please be careful, since you may accidentally mark a working directory or
+command, if not identing the output by one space.
+The bash type defaults to bash
, user to user
, group to analog
+and the working directory as “doesn’t matter” (hidden), so, for
+example:
+.. shell ::
+ :caption: iio_reg help
+
+ $iio_reg -h
+ Usage:
+
+ iio_reg <device> <register> [<value> ]
+
+
+Renders as:
+
+
iio_reg help
+
Usage:
+
+iio_reg <device> <register> [<value>]
+
+
+
+
+
Insight
+
To make it super easy for the user to copy only the command,
+the current directory and output cannot be selected.
+
+To show the user and user group, add the :show-user:
flag.
+For Windows, set bash type as ps1
(PowerShell), for example:
+.. shell :: ps1
+ :user: Analog
+
+ /e/MyData
+ $cd ~/Documents
+ $ls
+ Mode LastWriteTime Name
+ ---- ------------- ----
+ d---- 6/14/2024 10:30 AM ImportantFiles
+ d---- 6/14/2024 10:30 AM LessImportantFiles
+ $cd ..\Other\Folder
+ $echo HelloWindows
+ HelloWindows
+
+
+Renders as:
+C : \Users \Analog \Documents >
+
+
+
+
Mode LastWriteTime Name
+---- ------------- ----
+d---- 6/14/2024 10:30 AM ImportantFiles
+d---- 6/14/2024 10:30 AM LessImportantFiles
+
+
+
C : \Users \Analog \Documents >
+
+
+
+
C : \Users \Analog \Other \Folder >
+
+
+
+
To make things more interesting, basic $cd
commands change the working
+directory accordingly, for example:
+.. shell ::
+
+ $cd /sys/bus/iio/devices/
+ $ls
+ iio:device0 iio:device3 iio:device2 iio:device3 iio:device4 iio:device5 iio:device6
+ $cd iio:device3
+ $ls -al
+ total 0
+ drwxr-xr-x 3 root root 0 May 16 14:21 .
+ -rw-rw-rw- 1 root root 4096 May 16 14:22 calibrate
+ -rw-rw-rw- 1 root root 4096 May 16 14:22 calibrate_frm_en
+
+
+Renders as:
+
+
cd /sys/bus/iio/devices/
+
+
+
iio:device0 iio:device3 iio:device2 iio:device3 iio:device4 iio:device5 iio:device6
+
+
+
/sys/bus/iio/devices/iio:device3$
+
+
+
+
total 0
+drwxr-xr-x 3 root root 0 May 16 14:21 .
+-rw-rw-rw- 1 root root 4096 May 16 14:22 calibrate
+-rw-rw-rw- 1 root root 4096 May 16 14:22 calibrate_frm_en
+
+
+
Finally, be mindful of the command legibility, break long commands and sugar coat
+with indent:
+.. shell ::
+
+ # Write the file to the storage devices
+ $time sudo dd \
+ $ if=2021-07-28-ADI-Kuiper-full.img \
+ $ of=/dev/mmcblk0 \
+ $ bs=4194304
+ [sudo] password for user:
+ 0+60640 records in 0+60640 records out 7948206080 bytes (7.9 GB) copied, 571.766 s, 13.9 MB/s
+ real 7m54.11s user 0.29s sys 8.94s
+
+
+Renders to:
+
+
# Write the file to the storage device
+
+
+
+
time sudo dd \
+ if = 2021 -07-28-ADI-Kuiper-full.img \
+ of = /dev/mmcblk0 \
+ bs = 4194304
+
+
+
[sudo] password for user:
+0+60640 records in 0+60640 records out 7948206080 bytes (7.9 GB) copied, 571.766 s, 13.9 MB/s
+real 7m54.11s user 0.29s sys 8.94s
+
+
+
+
+HDL build status directive
+The HDL build status directive gets information from a markdown formatted status
+table (output.md ) and generates a table with the build statuses.
+The directive syntax is:
+.. hdl-build-status ::
+ :file: <build_status_file>
+
+
+The :path:
option is optional, in the sense that if it’s not provided, no table
+is generated.
+If provided, but the build status file does not exist, an error is
+thrown.
+
+
Note
+
The :path:
option is meant to be “filled” during a CI procedure.
+
+
+
+HDL parameters directive
+The HDL parameters directive gets information parsed from IP-XACT (component.xml )
+library and generates a table with the IP parameters.
+
+
Note
+
The IP-XACT files are generated by Vivado during the library build and not by
+the documentation tooling.
+
+The directive syntax is:
+.. hdl-parameters ::
+ :path: <ip_path>
+
+ * - <parameter>
+ - <description>
+
+
+For example:
+.. hdl-parameters ::
+ :path: library/spi_engine/spi_engine_interconnect
+
+ * - DATA_WIDTH
+ - Data width of the parallel SDI/SDO data interfaces.
+ * - NUM_OF_SDI
+ - Number of SDI lines on the physical SPI interface.
+
+
+Descriptions in the directive have higher precedence than in the component.xml
+file.
+The :path:
option is optional, and should not be included if the
+documentation file path matches the component.xml hierarchically.
+
+
+HDL interface directive
+The HDL interfaces directive gets information parsed from component.xml library
+and generates tables with the IP interfaces, both buses and ports.
+
+
Note
+
The component.xml files are generated by Vivado during the library build
+and not by the documentation tooling.
+
+The directive syntax is:
+.. hdl-interfaces ::
+ :path: <ip_path>
+
+ * - <port/bus>
+ - <description>
+
+
+For example:
+.. hdl-interfaces ::
+ :path: library/spi_engine/spi_engine_interconnect
+
+
+Descriptions in the directive have higher precedence than in the component.xml
+file.
+You can provide description to a port or a bus, but not for a bus port.
+Ports/buses that are consecutive are squashed into a single instance
+to avoid repetition, for example:
+{ data_tx_12_p , data_tx_23_p } -> data_tx_ * _p
+{ data_tx_12 , data_tx_23 } -> data_tx_ *
+{ adc_data_i0 , adc_data_i0 } -> adc_data_i *
+{ adc_data_q0 , adc_data_q0 } -> adc_data_q *
+{ rx_phy2 , rx_phy4 } -> rx_phy *
+
+
+To provide a description to the squashed signals/buses, write, for example,
+data_tx_*
once instead of the original name of all.
+
+
Warning
+
Do not create new IP with signals named as _phy*
, it was added for
+legacy puporses, instead suffix with _*
, e.g. mysignal_phy_4
.
+
+The :path:
option is optional, and should not be included if the
+documentation file path matches the component.xml hierarchically.
+
+
+HDL component diagram directive
+The HDL component diagram directive gets information parsed from component.xml
+library and generates a component diagram for the IP with buses and ports
+information.
+
+
Note
+
The component.xml files are generated by Vivado during the library build
+and not by the documentation tooling.
+
+The directive syntax is:
+.. hdl-component-diagram ::
+ :path: <ip_path>
+
+
+For example:
+.. hdl-component-diagram ::
+ :path: library/spi_engine/spi_engine_interconnect
+
+
+The :path:
option is optional, and should not be included if the
+documentation file path matches the component.xml hierarchically.
+
+
Note
+
This directive replaces the deprecated symbolator
directive.
+
+
+
+HDL regmap directive
+The HDL regmap directive gets information from docs/regmap/adi_regmap_*.txt files
+and generates tables with the register maps.
+The directive syntax is:
+.. hdl-regmap ::
+ :name: <regmap_name>
+ :no-type-info:
+
+
+For example:
+.. hdl-regmap ::
+ :name: DMAC
+
+
+
+
Note
+
The register map name is the title-tool, the value above ENDTITLE
in the
+source file.
+
+This directive does not support content for descriptions, since the source file
+already have proper descriptions.
+The :name:
option is required , because the title tool does not match
+the IP name and one single docs/regmap/adi_regmap_*.txt file can have more than
+one register map.
+The :no-type-info:
option is optional, and should not be included if it is
+in the main IP documentation page. It appends an auxiliary table explaining the
+register access types.
+
+
+Collapsible directive
+The collapsible directive creates a collapsible/dropdown/”HTML details”.
+The directive syntax is:
+.. collapsible :: <label>
+
+ <content>
+
+
+For example:
+.. collapsible :: Python code example.
+
+ .. code :: python
+
+ print("Hello World!")
+
+
+Renders as:
+
+
Python code example.
+
+
+
Notice how you can use any Sphinx syntax, even nest other directives.
+
+
+Video directive
+The video directive creates a embedded video.
+Currently, direct MP4 and youtube embed links are supported, but could be easily
+expanded to support third-party services.
+The directive syntax is:
+.. video :: <url>
+ :align: [left,center,right]
+
+ <caption>
+
+
+Always add a caption to the video, since a PDF output won’t contain the embed
+video, but a link to it.
+For example:
+.. video :: http://ftp.fau.de/fosdem/2015/devroom-software_defined_radio/iiosdr.mp4
+
+ **Linux Industrial IO framework** - Lars-Peter Clausen, Analog Devices Inc
+
+
+Renders as:
+Linux Industrial IO framework - Lars-Peter Clausen, Analog Devices Inc
+And:
+.. video :: https://www.youtube.com/watch?v=p_VntEwUe24
+
+ **LibIIO - A Library for Interfacing with Linux IIO Devices** - Dan Nechita, Analog Devices Inc
+
+
+Renders as:
+LibIIO - A Library for Interfacing with Linux IIO Devices - Dan Nechita, Analog Devices Inc
+
+
+ESD warning directive
+The ESD warning directive creates a ESD warning, for example:
+
+Renders as:
+
+
All the products described on this page include ESD (electrostatic discharge) sensitive devices. Electrostatic charges as high as 4000V readily accumulate on the human body or test equipment and can discharge without detection.
+Although the boards feature ESD protection circuitry, permanent damage may occur on devices subjected to high-energy electrostatic discharges. Therefore, proper ESD precautions are recommended to avoid performance degradation or loss of functionality. This includes removing static charge on external equipment, cables, or antennas before connecting to the device.
+
+
+
+Global options for directives
+Set hide_collapsible_content
to True
to hide the collapsibles by default.
+Set monolithic
to True
prefix paths with <repo> .
+This is meant for the Custom Doc custom documents only.
+
+
+Common sections
+
+HDL common sections
+The More information and Support sections that are present in
+the HDL project documentation, are actually separate pages inserted as links.
+They’re located at hdl/projects/common/more_information.rst and /support.rst ,
+and cannot be referenced here because they don’t have an ID at the beginning
+of the page, so not to have warnings when the documentation is rendered that
+they’re not included in any toctree.
+They are inserted like this:
+.. include :: ../ common / more_information . rst
+
+.. include :: ../ common / support . rst
+
+
+And will be rendered as sections of the page.
+
+
+
+
+Dynamic elements
+Dynamic elements refer to sections of the generated webpage that updates when
+loaded online from a source of truth, in general, doctools/*.json
files;
+it uses a concept similar to “react components”.
+These *.json
files are generated when export_metadata
is true in the
+conf.py
.
+From the JavaScript side, it fetches from
+{content_root}[../versioned]/../doctools/[versioned]/metadata.json
.
+
+
Note
+
path version
is present and set if latest
exists at
+{content_root}/../doctools
and the stored version can be extracted.
+
+The dynamic elements are:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file
diff --git a/v0.3.52/fundamentals.html b/v0.3.52/fundamentals.html
new file mode 100644
index 0000000..f2e61c6
--- /dev/null
+++ b/v0.3.52/fundamentals.html
@@ -0,0 +1,224 @@
+
+
+
+
+
+
+
+ Fundamentals — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Fundamentals
+
+Documentation hierarchical structure
+Doctools is the central piece to aggregate multiple documentations together,
+expanding the documentation standard hierarchical, mono-repo configuration.
+The content is organized in three levels:
+
+repotoc: Listing of repositories in the same organization that contain
+documentations.
+In general, a repository contains only one topic (toctree), e.g. the pyadi-iio
+doc is only about the libiio python bindings.
+If a repo stores more than one toctree/topic, the topic
attribute is used to
+split each toctree on its own repotoc entry, as if they were stored in multiple
+repositories.
+The topic
entry must contain one landing page associated with the toctree title,
+e.g. topic: {'eval': 'Evaluation Boards', 'university': 'University Program'}
,
+then the index.rst must a toctree titled Evaluation Boards
and the page
+eval/index.rst
must exist.
+In the html output, is displayed on the top header.
+toc: Table of contents of a repository documentation; the displayed depth
+is customizable, but in general a doc page (.rst
, .md
) generates one toc
+entry.
+In the html output, is displayed on the left of the webpage.
+localtoc: Contents on the current doc page/toc entry.
+In the html output, is displayed on the right of the webpage, identified by the
+“On this page” header.
+
+
+
Note
+
The repotoc
is managed by the adi_doctools/lut.py and is
+not a native Sphinx feature.
+toc
and localtoc
are concepts inherited from Sphinx.
+
+By the concept of repotoc
, it is possible to each doc to reference other
+repository doc using the In organization reference role.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file
diff --git a/v0.3.52/genindex.html b/v0.3.52/genindex.html
new file mode 100644
index 0000000..776c6ea
--- /dev/null
+++ b/v0.3.52/genindex.html
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+ Index — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file
diff --git a/v0.3.52/index.html b/v0.3.52/index.html
new file mode 100644
index 0000000..653aa50
--- /dev/null
+++ b/v0.3.52/index.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+ Analog Devices Doctools — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file
diff --git a/v0.3.52/install.html b/v0.3.52/install.html
new file mode 100644
index 0000000..cfddf8b
--- /dev/null
+++ b/v0.3.52/install.html
@@ -0,0 +1,323 @@
+
+
+
+
+
+
+
+ Installing — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Installing
+Below is described how to do a release install and a development install of Doctools.
+Guarantee to work with Python newer than 3.8 and distros released on or after 20H1
+(e.g. Ubuntu 20.04 LTS).
+
+Release install
+Ensure pip is newer than 23.0 :
+
+
pip install pip --upgrade
+
+
+
Install the documentation tools, which will fetch this repository release:
+
+
( cd docs ; pip install -r requirements.txt)
+
+
+
Test it building this documentation:
+
+
+Using a Python virtual environment
+Installing packages at user level through pip is not always recommended, instead,
+consider using a Python virtual environment (python3-venv
on ubuntu 22.04).
+To create and activate the environment, do before the previous instructions:
+
+
source ./venv/bin/activate
+
+
+
Use deactivate
to exit the virtual environment.
+For next builds, just activate the virtual environment:
+
+
source ./venv/bin/activate
+
+
+
+
+
+Development install
+Development install allows to edit the source code and apply the changes without
+reinstalling.
+Also extends Author Mode to watch changes on the webpage source code
+(use –dev /-r option to enable this).
+
+Install the web compiler
+If you care about the web scripts (js modules ) and style sheets (sass ),
+install npm
and the npm
packages below, if not, read this section’s
+last paragraph.
+
+
Note
+
If the npm
provided by your package manager is too old and updating with
+npm install npm -g
fails, consider installing with
+NodeSource .
+
+At the repository root, install the npm dependencies locally:
+
+
npm install rollup \
+ @rollup/plugin-terser \
+ rollup-plugin-scss \
+ sass \
+ --save-dev
+
+
+
If you choose to not use npm
, you can obtain pre-built web-scripts from the
+latest release.
+For that, just run Why was Author Mode renamed to Serve? after the repository is installed and
+confirm the prompt that will appear.
+
+
+Fetch third-party resources
+Fetch third-party fonts:
+
+
+Install the repository
+Finally, do a symbolic install of this repo:
+
+
pip install -e . --upgrade
+
+
+
+
+
+Removing
+To remove, either release or development, do:
+
+
pip uninstall adi-doctools
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file
diff --git a/v0.3.52/metadata.json b/v0.3.52/metadata.json
new file mode 100644
index 0000000..3baa1b6
--- /dev/null
+++ b/v0.3.52/metadata.json
@@ -0,0 +1,44 @@
+{
+ "repotoc": {
+ "documentation": {
+ "name": "System Level",
+ "visibility": "public"
+ },
+ "hdl": {
+ "name": "HDL",
+ "visibility": "public"
+ },
+ "testbenches": {
+ "name": "HDL Testbenches",
+ "visibility": "public"
+ },
+ "pyadi-iio": {
+ "name": "Hardware Python Interfaces",
+ "visibility": "public"
+ },
+ "libiio": {
+ "name": "libiio",
+ "visibility": "public"
+ },
+ "no-OS": {
+ "name": "no-OS",
+ "visibility": "public"
+ },
+ "precision-converters-firmware": {
+ "name": "Precision Converters Firmware",
+ "visibility": "public"
+ },
+ "PrecisionToolbox": {
+ "name": "Precision Toolbox",
+ "visibility": "public"
+ },
+ "scopy": {
+ "name": "Scopy",
+ "visibility": "public"
+ },
+ "doctools": {
+ "name": "Doctools",
+ "visibility": "public"
+ }
+ }
+}
\ No newline at end of file
diff --git a/v0.3.52/objects.inv b/v0.3.52/objects.inv
new file mode 100644
index 0000000..49ce3fc
Binary files /dev/null and b/v0.3.52/objects.inv differ
diff --git a/v0.3.52/search.html b/v0.3.52/search.html
new file mode 100644
index 0000000..824eccc
--- /dev/null
+++ b/v0.3.52/search.html
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+ Search — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Search
+
+
+
+
+ Please activate JavaScript to enable the search
+ functionality.
+
+
+
+
+
+
+ Searching for multiple words only shows matches that contain
+ all words.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file
diff --git a/v0.3.52/searchindex.js b/v0.3.52/searchindex.js
new file mode 100644
index 0000000..b6baf3f
--- /dev/null
+++ b/v0.3.52/searchindex.js
@@ -0,0 +1 @@
+Search.setIndex({"alltitles": {"ADI role": [[2, "adi-role"]], "Aggregate": [[1, "aggregate"]], "Analog Devices Doctools": [[4, null]], "Clear content directive": [[2, "clear-content-directive"]], "Code": [[2, "code"]], "Collapsible directive": [[2, "collapsible-directive"]], "Color role": [[2, "color-role"]], "Command line interface": [[1, null]], "Common sections": [[2, "common-sections"]], "Container directives": [[2, "container-directives"]], "Continuous integration": [[0, null]], "Custom Doc": [[1, "custom-doc"]], "Custom directives and roles": [[2, "custom-directives-and-roles"]], "Development install": [[5, "development-install"]], "Doctools package pipeline": [[0, "doctools-package-pipeline"]], "Documentation build and deployment": [[0, "documentation-build-and-deployment"]], "Documentation guidelines": [[2, null]], "Documentation hierarchical structure": [[3, "documentation-hierarchical-structure"]], "Dokuwiki role": [[2, "dokuwiki-role"]], "DownGit role": [[2, "downgit-role"]], "Dynamic elements": [[2, "dynamic-elements"]], "ESD warning directive": [[2, "esd-warning-directive"]], "EngineerZone role": [[2, "engineerzone-role"]], "Exporting to PDF": [[2, "exporting-to-pdf"]], "External references": [[2, "external-references"]], "Fetch third-party resources": [[5, "fetch-third-party-resources"]], "Flex directive": [[2, "flex-directive"]], "Fundamentals": [[3, null]], "Git Large File Storage": [[2, "git-large-file-storage"]], "Git role": [[2, "git-role"]], "Global options for directives": [[2, "global-options-for-directives"]], "Grid directive": [[2, "grid-directive"]], "HDL Render": [[1, "hdl-render"]], "HDL build status directive": [[2, "hdl-build-status-directive"]], "HDL common sections": [[2, "hdl-common-sections"]], "HDL component diagram directive": [[2, "hdl-component-diagram-directive"]], "HDL interface directive": [[2, "hdl-interface-directive"]], "HDL parameters directive": [[2, "hdl-parameters-directive"]], "HDL regmap directive": [[2, "hdl-regmap-directive"]], "How can I rebuild the whole documentation within Serve?": [[1, "how-can-i-rebuild-the-whole-documentation-within-serve"]], "Images": [[2, "images"]], "Importing from DokuWiki to Sphinx": [[2, "importing-from-dokuwiki-to-sphinx"]], "In organization reference": [[2, "in-organization-reference"]], "Indentation": [[2, "indentation"]], "Inner working": [[2, "inner-working"]], "Insight": [[2, null]], "Install the repository": [[5, "install-the-repository"]], "Install the web compiler": [[5, "install-the-web-compiler"]], "Installing": [[5, null]], "Link roles": [[2, "link-roles"]], "Lists": [[2, "lists"]], "Local": [[0, "local"]], "Local references": [[2, "local-references"]], "Numbered references": [[2, "numbered-references"]], "Outside organization Sphinx reference": [[2, "outside-organization-sphinx-reference"]], "Release install": [[5, "release-install"]], "Removing": [[5, "removing"]], "Rolling release": [[0, "rolling-release"]], "Serve": [[1, "serve"]], "Shell directive": [[2, "shell-directive"]], "Shortcuts": [[6, "shortcuts"]], "Sphinx theme": [[6, null]], "Supplier role": [[2, "supplier-role"]], "Table of contents": [[2, "table-of-contents"]], "Tables": [[2, "tables"]], "Text width": [[2, "text-width"]], "Third-party directives and roles": [[2, "third-party-directives-and-roles"]], "Using a Python virtual environment": [[5, "using-a-python-virtual-environment"]], "Vendor role": [[2, "vendor-role"]], "Versioned": [[0, "versioned"]], "Versioning": [[2, "versioning"]], "Video directive": [[2, "video-directive"]], "Why is the Python source code of this repo not watched?": [[1, "why-is-the-python-source-code-of-this-repo-not-watched"]], "Why is the output missing styling (CSS stylesheet)?": [[1, "why-is-the-output-missing-styling-css-stylesheet"]], "Why was Author Mode renamed to Serve?": [[1, "why-was-author-mode-renamed-to-serve"]]}, "docnames": ["ci", "cli", "docs_guidelines", "fundamentals", "index", "install", "theme"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["ci.rst", "cli.rst", "docs_guidelines.rst", "fundamentals.rst", "index.rst", "install.rst", "theme.rst"], "indexentries": {}, "objects": {}, "objnames": {}, "objtypes": {}, "terms": {"": [0, 1, 2, 5, 6], "0": [0, 2, 5], "04": 5, "07": 2, "1": [0, 2, 5], "10": 2, "11": 2, "1234": [0, 2], "13": 2, "14": 2, "150px": 2, "16": 2, "2": [0, 2], "20": 5, "2015": 2, "2021": 2, "2024": 2, "20h1": 5, "21": 2, "22": [2, 5], "23": [2, 5], "25": 2, "28": 2, "29": 2, "3": [0, 2, 5], "30": 2, "4": 2, "4000v": 2, "4096": 2, "4194304": 2, "571": 2, "6": 2, "60640": 2, "683780": 2, "7": 2, "7000": 2, "766": 2, "7948206080": 2, "7m54": 2, "8": [2, 5], "80": 2, "9": 2, "94": 2, "A": [0, 2, 6], "And": [2, 4], "As": 2, "At": [2, 5], "By": [0, 2, 3], "For": [0, 1, 2, 5], "If": [0, 1, 2, 3, 5], "In": [0, 1, 3], "It": [1, 2, 6], "On": 3, "Or": [0, 2], "That": [0, 2], "The": [0, 1, 2, 3, 6], "Then": 0, "There": [2, 5], "These": [0, 2], "To": [0, 1, 2, 5], "With": [0, 2], "_": 2, "__init__": 0, "_build": [0, 2], "_context": 2, "_p": 2, "_phy": 2, "_sourc": 0, "about": [2, 3, 4, 5], "abov": 2, "absent": 2, "absolut": 2, "accept": 1, "access": [1, 2], "accident": 2, "accordingli": 2, "accumul": 2, "across": 2, "action": 0, "activ": 5, "actual": 2, "ad": [1, 2], "ad2234_sdz": 2, "ad2234_sdz_schemat": 2, "ad7175": 2, "ad7616": 2, "ad7616_sdz": 2, "ad9081": 2, "adc": 2, "adc_data_i": 2, "adc_data_i0": 2, "adc_data_q": 2, "adc_data_q0": 2, "add": [0, 2], "addit": [0, 1], "address": 2, "adi": [0, 5, 6], "adi_doctool": [0, 1, 2, 3], "adi_link": 2, "adi_regmap_": 2, "adoc": [0, 1, 2], "adoc_doc_vers": 2, "adoc_filter_toctre": 2, "adoc_interref_uri": 2, "adoc_media_print": 2, "adoc_target_depth": [0, 2], "adrv9009": 2, "adsb_exampl": 2, "advantag": 2, "affect": 1, "after": [2, 5], "aggreg": 3, "airplan": 2, "al": 2, "align": 2, "all": [0, 1, 2], "allow": [0, 1, 2, 5], "alongsid": 2, "alreadi": [0, 1, 2], "also": [1, 2, 5], "alt": 6, "altera": 2, "altern": [1, 2], "although": 2, "alwai": [2, 5], "am": 2, "amd": 2, "an": [0, 1, 2], "analog": 2, "analogdevicesinc": [0, 2], "analysi": 0, "anchor": 6, "ani": [0, 2], "anoth": [1, 2], "antenna": 2, "anyth": 2, "api": 1, "app": 2, "appear": 5, "append": [1, 2], "appli": 5, "applic": 2, "approach": [0, 2], "apt": 2, "ar": [0, 1, 2, 3], "arrai": 0, "arrow": 2, "arrowleft": 6, "arrowright": 6, "artifact": [0, 2], "asset": 0, "associ": 3, "attent": 2, "attribut": 3, "author": [0, 2, 5], "auto": [1, 2], "autom": 2, "automat": 1, "aux_print": 2, "auxiliari": 2, "avail": [1, 2, 6], "avoid": 2, "awar": 0, "axi_dmac": [1, 2], "b": 2, "banner": 2, "bar": 2, "base": [2, 6], "bash": [1, 2], "basic": [0, 2], "batch": [1, 6], "becaus": 2, "been": 2, "befor": [2, 5], "begin": 2, "behav": 2, "being": 1, "below": [1, 2, 5], "better": 2, "between": [0, 2], "beyond": [1, 2], "bin": 5, "bind": 3, "block": 2, "board": [2, 3], "bodi": 2, "bold": 2, "book": 2, "both": [0, 1, 2], "branch": [0, 1, 2], "break": 2, "brief": 2, "briefli": 1, "browser": 2, "bu": 2, "bug": 5, "build": [1, 5], "build_status_fil": 2, "build_zynq_kernel_imag": 2, "builder": [1, 2], "built": [0, 1, 2, 5], "bundl": 1, "buse": 2, "byte": 2, "c": 2, "cabl": 2, "calibr": 2, "calibrate_frm_en": 2, "call": [0, 1, 2, 6], "can": [0, 2, 5], "cannot": 2, "caption": [1, 2], "care": [2, 5], "case": [0, 2], "cat": 2, "categori": 1, "cd": [1, 2, 5], "center": 2, "central": 3, "chang": [0, 1, 2, 5], "charact": 2, "charg": 2, "check": [0, 2], "checkout": [0, 1, 2], "child": 2, "choos": 5, "ci": [2, 5], "circuit": 2, "circuitri": 2, "class": 2, "clausen": 2, "clean": [0, 1], "cleardoublepag": 2, "cli": [1, 2], "client": 2, "clone": [1, 2], "coat": 2, "code": [0, 5], "column": 2, "com": [0, 2], "combin": 2, "command": [2, 4], "comment": 2, "commit": 0, "committ": 0, "common": 6, "commun": 2, "compact": 2, "compil": [0, 1, 2], "complet": 0, "complic": 2, "compon": 1, "concept": [2, 3], "concis": 1, "conf": 2, "config": [0, 1, 2], "configur": [1, 3], "confirm": 5, "conform": 2, "confus": 2, "connect": 2, "consecut": 2, "consid": [1, 2, 5], "contain": [0, 1, 3], "content": [0, 1, 3], "content_root": 2, "context": 2, "continu": [1, 2, 4], "control": 2, "control_interfac": 2, "convert": [1, 2], "copi": 2, "corner": 0, "correct": 2, "cosmic": 6, "could": 2, "counter": 2, "cover": 2, "creat": [0, 1, 2, 5], "css": 2, "csv": 2, "ctrl": 6, "current": [1, 2, 3, 6], "customiz": 3, "cut": 0, "cygpath": 2, "d": [0, 2], "damag": 2, "dan": 2, "dangl": 2, "data": 2, "data_sheet": 2, "data_tx_": 2, "data_tx_12": 2, "data_tx_12_p": 2, "data_tx_23": 2, "data_tx_23_p": 2, "data_width": 2, "dd": 2, "de": 2, "deactiv": 5, "dedic": 0, "deepli": 6, "def": 2, "default": [1, 2], "defin": [0, 2], "degrad": 2, "depend": [0, 1, 5], "deploi": 0, "deprec": 2, "depth": [0, 2, 3], "describ": [1, 2, 5], "descript": [1, 2], "design": [0, 1, 2, 6], "desir": [1, 2], "destin": [0, 2], "detail": [2, 6], "detect": 2, "dev": [0, 1, 2, 5], "develop": [0, 1], "devic": [2, 6], "device0": 2, "device2": 2, "device3": 2, "device4": 2, "device5": 2, "device6": 2, "devroom": 2, "diagram": 1, "dictat": 2, "did": 1, "differ": 2, "digikei": 2, "dipos": 2, "direct": 4, "directli": [1, 2], "directori": [0, 1, 2], "discard": 0, "discharg": 2, "discourag": 2, "displai": [2, 3], "dispos": 2, "distinct": 2, "distro": 5, "divid": 2, "dmac": 2, "do": [1, 2, 5], "doc": [0, 2, 3, 5], "docs_guidelin": 2, "doctool": [1, 2, 3, 5], "doctyp": 0, "document": [4, 5], "doe": [0, 2, 6], "doesn": 2, "don": [1, 2], "done": 2, "dot": 2, "download": [0, 2], "driver": 2, "dropdown": [0, 2], "drwxr": 2, "ds190": 2, "durat": 1, "dure": [0, 1, 2], "e": [0, 2, 3, 5, 6], "each": [0, 1, 2, 3], "eas": 1, "easi": 2, "easier": 2, "easili": 2, "ebz": 2, "echo": 2, "edit": [1, 2, 5], "editor": 2, "effect": 1, "either": [2, 5], "electrostat": 2, "els": [0, 2], "email": 0, "emb": 2, "embed": 2, "emphas": 2, "empti": [0, 1, 2], "en": 2, "enabl": [1, 2, 5], "end": 2, "endtitl": 2, "energi": 2, "ensur": [1, 2, 5], "entri": [0, 1, 2, 3], "enumer": 2, "enviro": 2, "environ": [1, 2], "envvar": 2, "equip": 2, "equiv": 0, "equival": 2, "error": [0, 2], "etc": 2, "eval": [2, 3], "evalu": 3, "even": [0, 1, 2, 6], "event": 0, "everi": [1, 2], "evinc": 1, "exact": 2, "exampl": [0, 1, 2, 6], "except": 2, "exist": [0, 2, 3, 6], "exit": [0, 5], "expand": [2, 3], "explain": 2, "explicit": 2, "explicitli": 2, "export_metadata": 2, "export_raw": 2, "expos": 1, "ext": [1, 2], "extend": 5, "extens": [1, 2, 4], "extern": 0, "extra": 1, "extract": 2, "ez": 2, "f": 2, "f1": 0, "fail": [0, 5], "fairli": 2, "fals": 2, "faster": 2, "fau": 2, "favorit": 2, "fdx": 0, "featur": [1, 2, 3, 6], "fetch": [0, 1, 2], "field": 2, "figur": 2, "file": [0, 1], "filenam": 2, "fill": 2, "filter": [1, 2], "filter_toctre": 2, "final": [0, 2, 5], "find": 2, "firefox": 1, "first": [0, 1, 2], "flag": [0, 2], "float": 2, "fmca": 2, "fold": 2, "folder": [0, 1, 2], "follow": [0, 2], "font": 5, "forc": 2, "forese": 2, "fork": 2, "form": 2, "format": 2, "former": 2, "forward": 2, "fosdem": 2, "found": [1, 2], "fpga": 2, "framework": 2, "freedom": 2, "from": [1, 3, 5], "ftp": 2, "full": [1, 2], "function": 2, "fundament": 4, "further": 2, "fuzz": 0, "g": [0, 2, 3, 5, 6], "gb": 2, "gener": [0, 1, 2, 3], "get": 2, "gh": 0, "git": 0, "gitattribut": 2, "github": [0, 2], "github_sha": 0, "global": 0, "gnome": 1, "go": 0, "goe": 6, "good": 2, "grab": 0, "green": 2, "group": 2, "guarante": 5, "gui": 2, "guid": [1, 2], "guidelin": 4, "gz": 0, "h": 2, "ha": [0, 1, 2], "handl": 0, "hard": [0, 2], "harmon": 6, "have": [0, 1, 2], "haven": 2, "hdl_2023_r2": 2, "head": 0, "head_commit": 0, "header": [2, 3], "hello": 2, "hello_world": 2, "hellowindow": 2, "help": [1, 2], "here": [1, 2], "hidden": 2, "hide": 2, "hide_collapsible_cont": 2, "hierarch": 2, "hierarchi": 1, "high": 2, "higher": 2, "home": 2, "host": 2, "hot": 0, "how": [0, 2, 5], "howev": [1, 2], "html": [0, 1, 2, 3, 5, 6], "http": [0, 2], "hugo": 1, "human": [1, 2], "hyphen": 2, "i": [0, 2, 3, 5, 6], "id": 2, "idea": 2, "ident": 2, "identifi": 3, "ignor": 2, "iio": [0, 2, 3], "iio_reg": 2, "iiosdr": 2, "img": 2, "implement": [0, 2], "import": 1, "importantfil": 2, "inc": [2, 4], "includ": [1, 2], "increment": 0, "inde": 2, "independ": 1, "index": [0, 1, 2, 3], "industri": 2, "infer": 2, "info": 2, "inform": [2, 4], "inherit": [2, 3], "init": 2, "inkscap": 2, "input": [0, 1], "insensit": 2, "insert": 2, "insid": 2, "instal": [0, 1, 2, 4], "instanc": [1, 2], "instanti": 1, "instead": [1, 2, 5], "instruct": [2, 5], "integr": [1, 2, 4], "intel": 2, "intend": 2, "intent": 2, "interest": 2, "interfac": 4, "intern": 2, "interref_loc": 2, "interref_repo": [0, 2], "interref_uri": 2, "intersphinx": 2, "intersphinx_map": 2, "intro": 1, "intuit": 2, "inv": 2, "io": [0, 2], "ip": [1, 2], "ip_path": 2, "ish": 0, "item": 2, "its": [2, 3], "itself": [1, 2], "j": 5, "javascript": [0, 2], "job": 0, "jpg": 2, "jq": 0, "json": [0, 2], "just": [1, 5], "keep": [0, 2], "kei": 6, "keyword": 2, "kind": 2, "known": 5, "kuiper": 2, "l": [0, 2], "lab": 2, "label": 2, "land": 3, "languag": 6, "lar": 2, "last": [2, 5], "lastwritetim": 2, "latest": [0, 1, 2, 5], "latex": 2, "launch": [0, 1], "least": 0, "left": [2, 3], "legaci": 2, "legibl": 2, "less": 2, "lessimportantfil": 2, "let": 2, "letter": 2, "level": [1, 2, 3, 5], "lf": 2, "libiio": [1, 2, 3], "librari": [1, 2], "licens": 0, "like": [1, 2], "line": [2, 4], "lineno": 2, "linux": 2, "list": [1, 3], "live": [0, 1], "ll": 2, "load": 2, "local": [1, 5], "localtoc": 3, "locat": 2, "log": [0, 2], "long": 2, "look": [1, 2], "loss": 2, "lower": 2, "lt": 5, "lut": [1, 2, 3], "m": [0, 2, 5], "macro": 2, "made": 1, "mai": [1, 2], "main": [0, 1, 2], "maintain": 2, "make": [0, 1, 2, 5], "makefil": 1, "manag": [0, 2, 3, 5], "manner": 2, "map": 2, "mark": 2, "markdown": 2, "markup": 1, "master": 2, "match": [1, 2], "mathwork": 2, "matter": 2, "maxdepth": 2, "mb": 2, "md": [2, 3], "mean": [0, 2], "meant": [1, 2], "media_print": 2, "merg": 0, "meta": 0, "metadata": 2, "method": 0, "microcontrol": 2, "middl": 0, "min": 0, "mind": 2, "minim": 1, "minimum": 0, "miss": 2, "mitig": 0, "mkdoc": 1, "mmcblk0": 2, "mode": [0, 2, 5], "modul": 5, "mono": 3, "monolith": [1, 2], "more": [2, 3, 4], "more_inform": 2, "mouser": 2, "move": 2, "mp4": 2, "much": 0, "multipl": [2, 3, 4, 6], "must": [0, 2, 3], "mw": 2, "my": [1, 2], "my_cod": 2, "my_doc": 1, "mydata": 2, "mysignal_phy_4": 2, "name": [0, 1, 2], "nativ": 3, "navig": 2, "necessari": [1, 2], "nechita": 2, "need": [0, 1, 2], "nest": 2, "new": [0, 2], "newer": 5, "next": [2, 5, 6], "nodesourc": 5, "nojekyl": 0, "non": 0, "none": 2, "note": [1, 2], "notic": 2, "npm": [1, 5], "null": 0, "num_of_sdi": 2, "numfig": 2, "numfig_format": 2, "numfig_per_doc": 2, "numref": 2, "o": 2, "object": 2, "obnoxi": 2, "obtain": [0, 2, 5], "occur": 2, "offlin": 0, "offset": 2, "old": [2, 5, 6], "onc": 2, "one": [0, 2, 3], "onli": [0, 1, 2, 3], "onlin": 2, "open": [0, 1], "optim": 2, "option": [1, 5], "orchestr": 0, "order": 2, "org": 2, "organ": [0, 3, 4], "origin": [0, 2], "orphan": 0, "other": [0, 1, 2, 3], "our": 2, "out": 2, "outfil": 2, "output": [0, 2, 3], "over": 2, "overview": 2, "overwrit": [1, 2], "own": [1, 2, 3], "p_vntewue24": 2, "packag": [2, 4, 5], "page": [0, 1, 2, 3, 6], "pai": 2, "pandoc": 2, "paragraph": 5, "parallel": [0, 2], "parent": 2, "pars": 2, "parti": 0, "password": 2, "patch": [0, 1, 2], "path": [0, 1, 2], "path_absolut": 2, "path_relative_to_hom": 2, "pattern": 2, "pdf": 1, "pdfbuild": 2, "pend": 2, "percentil": 2, "perform": 2, "perman": 2, "peter": 2, "philosophi": 0, "physic": 2, "piec": 3, "pip": [0, 2, 5], "pipelin": 2, "place": 2, "plain": 0, "pleas": [0, 2], "plugin": 5, "pmod": 2, "point": [0, 1], "pointer": [0, 2], "pool": 1, "port": 2, "possibl": [1, 2, 3], "powershel": 2, "pr": [0, 2], "pre": [0, 1, 5], "precaut": 2, "preced": 2, "prefer": 2, "prefix": 2, "present": [1, 2], "preserv": [2, 6], "pretti": 2, "previou": [2, 5, 6], "print": 2, "prior": [0, 2], "probabl": 1, "procedur": 2, "product": 2, "program": [2, 3], "programm": 2, "project": [1, 2], "project_0": 6, "project_1": 6, "prompt": [1, 5], "propag": 2, "proper": [1, 2], "properli": [0, 1, 2], "protect": 2, "provid": [0, 1, 2, 4, 5], "ps1": 2, "pull_request": 0, "pulsar": 2, "pupors": 2, "purpos": 2, "push": 0, "px": 2, "py": [0, 1, 2, 3], "pyadi": [0, 2, 3], "pytest": 0, "python": [0, 2, 3], "python3": [2, 5], "qualifi": 2, "quick": 1, "quiet": 0, "r": [0, 2, 5], "raw": [0, 2], "re": 2, "reach": 1, "react": 2, "read": [2, 4, 5], "readabl": [1, 2], "readili": 2, "readthedoc": 0, "real": 2, "recent": 2, "recommend": [0, 2, 5], "record": 2, "red": 2, "redirect": 0, "reduc": 2, "ref": [0, 2], "ref_nam": 2, "refer": [0, 3], "referenc": 2, "refresh": 0, "regist": 2, "regmap_nam": 2, "reinstal": 5, "rel": 2, "relas": 0, "relat": 2, "releas": [1, 2], "reles": 0, "reload": [0, 1], "remain": 2, "remot": 0, "remov": 2, "renam": [0, 2, 5], "render": 2, "repetit": 2, "replac": 2, "repo": [0, 2, 3, 5], "repositori": [1, 2, 3, 4], "repotoc": [2, 3], "request": 2, "requir": [0, 1, 2, 5], "rerun": 1, "reset": [0, 2], "resolv": [1, 2], "resourc": 2, "respect": 2, "rest": 2, "result": [1, 2], "return": 1, "review": 6, "right": [2, 3, 6], "rm": 0, "role": [3, 4], "rollup": 5, "root": [0, 2, 5], "rs2pdf": 2, "rst": [1, 2, 3], "rst2pdf": 2, "rule": [2, 4], "run": [0, 1, 2, 5], "rw": 2, "rx_phy": 2, "rx_phy2": 2, "rx_phy4": 2, "same": [2, 3], "sane": 2, "sass": [0, 5], "save": [1, 2, 5], "scenario": 2, "screen": 2, "script": [1, 2, 5], "scss": 5, "sdi": 2, "sdk": 1, "sdo": 2, "sdz": 2, "search": [2, 6], "secondari": 2, "section": [1, 5, 6], "see": [0, 1, 2], "select": 2, "selector": 0, "selenium": 1, "sens": 2, "sensit": 2, "separ": [0, 2], "sequenc": 1, "serv": [0, 2, 5], "server": [0, 1, 2], "servic": 2, "set": [0, 1, 2], "setup": [0, 2], "sh": [2, 5], "shall": [0, 2], "sheet": 5, "shift": 6, "ship": 5, "short": 2, "shorter": 2, "should": [0, 2], "show": [0, 2], "side": 2, "signal": 2, "similar": [1, 2], "simpl": 2, "simpler": 2, "sinc": [1, 2], "singl": [0, 1, 2], "size": 2, "slurp": 0, "so": [0, 1, 2], "soc": 2, "softwar": [1, 2], "software_defined_radio": 2, "sole": [0, 1, 2], "some": [1, 2], "some_pag": 2, "some_repositori": 2, "someth": 0, "somewher": 2, "sourc": [2, 5], "space": 2, "special": 0, "specif": [0, 1, 2], "speed": 2, "sphinx": [0, 1, 3, 4], "sphinxopt": 0, "spi": 2, "spi_engin": 2, "spi_engine_interconnect": 2, "split": 3, "squash": 2, "stabl": 0, "stage": [0, 2], "standard": [2, 3], "start": 1, "static": 2, "status": 2, "step": [0, 1, 2], "still": [0, 2], "store": [0, 2, 3], "straight": 2, "strategi": 1, "strictli": 2, "string": [0, 2], "structur": 2, "style": [2, 5], "stylesheet": 2, "subdirectori": 2, "subject": 2, "subset": 2, "subtitl": 1, "success": 0, "sudo": 2, "suffic": 0, "suffix": [0, 2], "sugar": 2, "suggest": 0, "summari": 1, "super": 2, "support": [1, 2, 6], "suppos": 2, "sure": [1, 2], "svg": [1, 2], "sw": 2, "switch": 0, "sy": 2, "symbol": [0, 1, 2, 5], "syntax": 2, "synthax": 2, "system": [0, 2], "t": [1, 2], "tab": 1, "tabl": 3, "tabular": 2, "tag": 0, "take": 0, "tar": 0, "target": [0, 2], "templat": 1, "term": 2, "terser": 5, "test": [0, 1, 2, 5], "than": [0, 2, 3, 5], "thei": [1, 2, 3], "them": [0, 1, 2], "theme": [1, 4], "therefor": 2, "thi": [0, 2, 3, 4, 5, 6], "thing": 2, "third": 0, "those": 1, "though": 2, "three": 3, "through": [1, 5], "thrown": 2, "time": 2, "timestamp": 1, "titl": [2, 3], "tmp": 1, "toc": 3, "toctre": [1, 2, 3], "togeth": [1, 3], "token": 2, "too": 5, "tool": [1, 2, 4, 5], "top": [1, 2, 3], "topic": [2, 3], "total": 2, "touch": [0, 1, 2], "track": [1, 2], "trigger": [1, 6], "true": [0, 2], "truth": 2, "tune": 2, "tweak": 2, "twice": 1, "two": [0, 1, 2], "txt": [0, 2, 5], "type": 2, "u": 2, "ubuntu": [0, 5], "undelin": 2, "underscor": 2, "understand": 1, "undescor": 2, "uninstal": 5, "unit": 2, "univers": [2, 3], "unord": 2, "unorded": 2, "unset": [0, 2], "until": 1, "unwant": 1, "up": [1, 2], "updat": [0, 1, 2, 5], "upgrad": [0, 5], "upload": 0, "url": [0, 2], "us": [0, 1, 2, 3, 6], "usag": 2, "user": [0, 1, 2, 5], "user_guid": 2, "v": 2, "v1": [0, 2], "v2": [0, 2], "v4": 0, "v5": 0, "valid": 2, "validate_link": 2, "valu": [0, 2], "variabl": [0, 2], "variou": 2, "vendor": 1, "venv": 5, "verbos": 2, "veri": 2, "verilog": 2, "view": 2, "viewer": 1, "vivado": [1, 2], "volum": 2, "w": 0, "wa": [0, 2, 5], "wai": 2, "want": [1, 2], "warn": 0, "watch": [0, 2, 5], "weasyprint": [1, 2], "web": [1, 2], "webpack": 1, "webpag": [1, 2, 3, 5], "websit": 2, "were": 3, "wget": 2, "when": [0, 2], "where": [1, 2], "which": [2, 5], "while": 2, "whole": 2, "why": [0, 2, 5], "wide": 2, "wiki": 2, "wikifil": 2, "window": 2, "without": [0, 1, 2, 5], "won": [1, 2], "word": 2, "work": [0, 1, 5], "workflow": 0, "world": 2, "worri": 2, "worth": 1, "would": [1, 2], "wrap": [1, 2], "write": 2, "written": 2, "www": 2, "x": [0, 2], "xact": [1, 2], "xilinx": 2, "xml": 2, "xr": 2, "yaml": 1, "yml": 0, "you": [1, 2, 5], "your": [1, 2, 5], "youtub": 2, "zsh": 2, "zynq": 2}, "titles": ["Continuous integration", "Command line interface", "Documentation guidelines", "Fundamentals", "Analog Devices Doctools", "Installing", "Sphinx theme"], "titleterms": {"In": 2, "adi": 2, "aggreg": 1, "analog": 4, "author": 1, "build": [0, 2], "can": 1, "clear": 2, "code": [1, 2], "collaps": 2, "color": 2, "command": 1, "common": 2, "compil": 5, "compon": 2, "contain": 2, "content": 2, "continu": 0, "css": 1, "custom": [1, 2], "deploy": 0, "develop": 5, "devic": 4, "diagram": 2, "direct": 2, "doc": 1, "doctool": [0, 4], "document": [0, 1, 2, 3], "dokuwiki": 2, "downgit": 2, "dynam": 2, "element": 2, "engineerzon": 2, "environ": 5, "esd": 2, "export": 2, "extern": 2, "fetch": 5, "file": 2, "flex": 2, "from": 2, "fundament": 3, "git": 2, "global": 2, "grid": 2, "guidelin": 2, "hdl": [1, 2], "hierarch": 3, "how": 1, "i": 1, "imag": 2, "import": 2, "indent": 2, "inner": 2, "insight": 2, "instal": 5, "integr": 0, "interfac": [1, 2], "larg": 2, "line": 1, "link": 2, "list": 2, "local": [0, 2], "miss": 1, "mode": 1, "number": 2, "option": 2, "organ": 2, "output": 1, "outsid": 2, "packag": 0, "paramet": 2, "parti": [2, 5], "pdf": 2, "pipelin": 0, "python": [1, 5], "rebuild": 1, "refer": 2, "regmap": 2, "releas": [0, 5], "remov": 5, "renam": 1, "render": 1, "repo": 1, "repositori": 5, "resourc": 5, "role": 2, "roll": 0, "section": 2, "serv": 1, "shell": 2, "shortcut": 6, "sourc": 1, "sphinx": [2, 6], "statu": 2, "storag": 2, "structur": 3, "style": 1, "stylesheet": 1, "supplier": 2, "tabl": 2, "text": 2, "theme": 6, "thi": 1, "third": [2, 5], "us": 5, "vendor": 2, "version": [0, 2], "video": 2, "virtual": 5, "wa": 1, "warn": 2, "watch": 1, "web": 5, "whole": 1, "why": 1, "width": 2, "within": 1, "work": 2}})
\ No newline at end of file
diff --git a/v0.3.52/theme.html b/v0.3.52/theme.html
new file mode 100644
index 0000000..2d8d551
--- /dev/null
+++ b/v0.3.52/theme.html
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+
+ Sphinx theme — Doctools documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sphinx theme
+A Sphinx themed called harmonic (old cosmic ) is available.
+It is deeply based on ADI’s harmonic design language.
+
+Shortcuts
+Alt+Shift+ArrowLeft
goes to the previous page and Alt+Shift+ArrowRight
+to the next page.
+Ctrl+Alt+Shift+ArrowLeft/Right
preserves the current page anchor, for example,
+if the current section is project_0.html#details , Ctrl+Alt+Shift+ArrowRight
+goes to project_1.html#details , even if details does not exist.
+This feature is useful for batch reviewing sections common to multiple pages,
+e.g. “Supported Devices”.
+The /
key triggers a search.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ©2024, Analog Devices, Inc.
+
+ |
+ Made with Sphinx
+ & Doctools
+
+
+
+
\ No newline at end of file