From ca1bf2ad306f10f71f1f6449e99a5111e8e16b8e Mon Sep 17 00:00:00 2001 From: Kyle Conroy Date: Tue, 19 Jul 2011 13:16:50 -0700 Subject: [PATCH] Add static files --- docs/_static/basic.css | 528 ++++++++++++++++++++++++++++++++ docs/_static/dialog-note.png | Bin 0 -> 1582 bytes docs/_static/dialog-seealso.png | Bin 0 -> 1502 bytes docs/_static/dialog-topic.png | Bin 0 -> 1910 bytes docs/_static/dialog-warning.png | Bin 0 -> 1391 bytes docs/_static/doctools.js | 247 +++++++++++++++ docs/_static/epub.css | 310 +++++++++++++++++++ docs/_static/file.png | Bin 0 -> 392 bytes docs/_static/footerbg.png | Bin 0 -> 333 bytes docs/_static/headerbg.png | Bin 0 -> 193 bytes docs/_static/ie6.css | 7 + docs/_static/jquery.js | 154 ++++++++++ docs/_static/middlebg.png | Bin 0 -> 2797 bytes docs/_static/minus.png | Bin 0 -> 199 bytes docs/_static/plus.png | Bin 0 -> 199 bytes docs/_static/pygments.css | 62 ++++ docs/_static/pylons-latex.png | Bin 0 -> 4063 bytes docs/_static/pylons-small.png | Bin 0 -> 3409 bytes docs/_static/pylons.css | 338 ++++++++++++++++++++ docs/_static/pylons.ico | Bin 0 -> 5998 bytes docs/_static/pylons.png | Bin 0 -> 27679 bytes docs/_static/pyramid-latex.png | Bin 0 -> 5772 bytes docs/_static/pyramid-small.png | Bin 0 -> 4120 bytes docs/_static/pyramid.ico | Bin 0 -> 5998 bytes docs/_static/pyramid.png | Bin 0 -> 33055 bytes docs/_static/searchtools.js | 518 +++++++++++++++++++++++++++++++ docs/_static/transparent.gif | Bin 0 -> 49 bytes docs/_static/underscore.js | 16 + 28 files changed, 2180 insertions(+) create mode 100644 docs/_static/basic.css create mode 100644 docs/_static/dialog-note.png create mode 100644 docs/_static/dialog-seealso.png create mode 100644 docs/_static/dialog-topic.png create mode 100644 docs/_static/dialog-warning.png create mode 100644 docs/_static/doctools.js create mode 100644 docs/_static/epub.css create mode 100644 docs/_static/file.png create mode 100644 docs/_static/footerbg.png create mode 100644 docs/_static/headerbg.png create mode 100644 docs/_static/ie6.css create mode 100644 docs/_static/jquery.js create mode 100644 docs/_static/middlebg.png create mode 100644 docs/_static/minus.png create mode 100644 docs/_static/plus.png create mode 100644 docs/_static/pygments.css create mode 100644 docs/_static/pylons-latex.png create mode 100644 docs/_static/pylons-small.png create mode 100644 docs/_static/pylons.css create mode 100644 docs/_static/pylons.ico create mode 100644 docs/_static/pylons.png create mode 100644 docs/_static/pyramid-latex.png create mode 100644 docs/_static/pyramid-small.png create mode 100644 docs/_static/pyramid.ico create mode 100644 docs/_static/pyramid.png create mode 100644 docs/_static/searchtools.js create mode 100644 docs/_static/transparent.gif create mode 100644 docs/_static/underscore.js diff --git a/docs/_static/basic.css b/docs/_static/basic.css new file mode 100644 index 000000000..32630d54c --- /dev/null +++ b/docs/_static/basic.css @@ -0,0 +1,528 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +/* -- 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%; +} + +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; +} + +img { + border: 0; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li div.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%; +} + +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 dl, table.indextable dd { + margin-top: 0; + margin-bottom: 0; +} + +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; +} + +/* -- general body styles --------------------------------------------------- */ + +a.headerlink { + visibility: hidden; +} + +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 { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.field-list ul { + padding-left: 1em; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + clear: both; + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px 7px 0 7px; + background-color: #ffe; + width: 40%; + float: right; +} + +p.sidebar-title { + font-weight: bold; +} + +/* -- topics ---------------------------------------------------------------- */ + +div.topic { + border: 1px solid #ccc; + padding: 7px 7px 0 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; +} + +div.admonition dl { + margin-bottom: 0; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + border: 0; + border-collapse: collapse; +} + +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; +} + +table.field-list td, table.field-list th { + border: 0 !important; +} + +table.footnote td, table.footnote th { + border: 0 !important; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +/* -- 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; +} + +dl { + margin-bottom: 15px; +} + +dd p { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dt:target, .highlighted { + background-color: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.refcount { + color: #060; +} + +.optional { + font-size: 1.3em; +} + +.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; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +td.linenos pre { + padding: 5px 0px; + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + margin-left: 0.5em; +} + +table.highlighttable td { + padding: 0 0.5em 0 0.5em; +} + +tt.descname { + background-color: transparent; + font-weight: bold; + font-size: 1.2em; +} + +tt.descclassname { + background-color: transparent; +} + +tt.xref, a tt { + background-color: transparent; + font-weight: bold; +} + +h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { + 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; +} + +/* -- 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; + } +} diff --git a/docs/_static/dialog-note.png b/docs/_static/dialog-note.png new file mode 100644 index 0000000000000000000000000000000000000000..263fbd5866aef1ce3645d768fbf55def9a091905 GIT binary patch literal 1582 zcmV+}2GRM6P)k@WH7pQF=3=faW zkFSqR=8AIgXBSA;Hc`EO&K^N)42Y`_9UkcY+JOPZzW)_SXY=A^lj%j;c6NwBgJ_tV zm_2r=oma1nQ4OegJG6y4*V7pt+<)-viajx2cgoi@dv1pQz5%6oPs>nSm~*w?TqQVv zob8dII{c&Oe%S1c$Jb4}_O0hohn`**8Ge(}Coiu}Aq2|y9sKoAe_L3{Is>OKFbSRv z1pSn5A0ELYKmLQ6BwuOzH&f_kC zpw7uXeVu-psxJ`U5$EUY>gJ?Py7zS&L7kH>03>~lEiK4GzOF#Bu=x@I$Wn<&a}!AV z0JO@7l0!?lsTn6_uHD-u=x*nv?jh4tOM8aU5Jm$S4XgGI1^n1jw1Qj)a0G^`sW^46 z`zk{v@<5WOf#ro&h@# znjak7C0?~s9=SM_n9NYjv(wK7=2M5YtS{PKY$ zvq{93_SMB}%_$-0$B^l1M4*|BZ#$YIXIuaXZY|uu(-Vrempj=|${=$lGCK?Q%G0#? z`m+#hhFpCs04oQ|EN0RVf?FVz z;UBke#-&y%!v?064Rok zOzr0t(XWi*Ji3QBXXf%JRoe>fIM6Q~a~|x{=CxG~y=Q>o+w;yR!_$*li|?MfjH_0w z4(~z?Yj=n@ipBh~`I%&-^WdPS`V7dV>N~21K#jH|clB`PgWJ~4*uv-kzRU4neaIZ( zs_AL~J|J*?3i;mzZ}f)kj*(jv-9BB_qC@+I5-iVl$9ByRp&N*X5L#OY%C2rk literal 0 HcmV?d00001 diff --git a/docs/_static/dialog-seealso.png b/docs/_static/dialog-seealso.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb7b05c84809454c095bcb61b27d83585540bb2 GIT binary patch literal 1502 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 literal 0 HcmV?d00001 diff --git a/docs/_static/dialog-warning.png b/docs/_static/dialog-warning.png new file mode 100644 index 0000000000000000000000000000000000000000..7233d45d8e6e41ef8fcb318c76303a9b6f23997e GIT binary patch literal 1391 zcmV-#1(5oQP)}piCG~<@Tj_&{ee%V|SZW{gB8?y>5~HGEkRU`Q5xgR16NK8$#%7av&gnyv zB_>9ji%*39&LbK3qFu zI7(%ZZ%;}2Gqh=wf?-g1;X+qD8r}8{{PEcV%0X!tqH%6yq(DC>&`hf#DjvXW3(1702fiEY= zF5vsm0&oGwD!P6+uzb1JdigTStXXLJ`Pjl?)VXtsUA;>7;>9+ps^67D`lthR!lCrM zJiGbuAzhIO`u_b0*{$vea+<+#n+u)TG0)=^W&Y8i0fonJZU{&O3K7Vlni6`w*i02KV;P{rfRu zG0etBGUm-QC7c=+fU_{mF@F3e|CA|e+x6?%3JOrCPscC}T3cI*Mx&UfiIS0lW6Kua z*4E+=1XR`QT~P`vMhu|BsqFlGD_&EBWm!0O?*~ty__PKSBsxE>~io%jH4{flNukRa8X# z{rjXQCrg{pH?0i59u|NFLJ0B8)HQ2(TUCW{yU};B)sYgKfwF=i#fQ*|T%prYYO&>#^_Jg-l9HIC3}~D2jrjDCoMLxDnFn#I<)X9Z#O% zl~TASP4c~kT|)vm3aV6;lT*TB*>>d$((gwvEKE2_WWLjh)9HL~UI>A6!v?geQ)#cO zBP%CIQ>6UickujYfDG8-Td-iF{q<|n@$@N&XN+4a)1MXii!#xt%)zy89UYGz zG12e0NnI~2gPDT@C~$aEUY=^+y^GP-hO?w((CCB^XqtxXDMlUN#ETcC z1p+4hp6CQXDP-AvzM{13Y_09qE$nO8qUGca8odyL^73*nUc5M{b0Gw_%uGDnx6}FT z856u-Rdc(;WsuwJSM3x1@yun*tghR)G2?Oc_3NRv6|2V>LcBLlv~F)$efs`;+#5F% zJ#z;0`E&f~>DJ4JhLgbjz5vpKd|!698oPE4fasPj{qtqSV!U}nQhK`b970DyKML_) z0Ovbsj@-OC=8MgnrPMUAEG)wS)5J22?y+HDnPzw2Z#-bF|D0)J#^W@= 0 && !jQuery(node.parentNode).hasClass(className)) { + var span = document.createElement("span"); + span.className = className; + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this); + }); + } + } + return this.each(function() { + highlight(this); + }); +}; + +/** + * Small JavaScript module for the documentation. + */ +var Documentation = { + + init : function() { + this.fixFirefoxAnchorBug(); + this.highlightSearchWords(); + this.initIndexTable(); + }, + + /** + * i18n support + */ + TRANSLATIONS : {}, + PLURAL_EXPR : function(n) { return 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 : function(string) { + var translated = Documentation.TRANSLATIONS[string]; + if (typeof translated == 'undefined') + return string; + return (typeof translated == 'string') ? translated : translated[0]; + }, + + ngettext : function(singular, plural, n) { + var translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated == 'undefined') + return (n == 1) ? singular : plural; + return translated[Documentation.PLURALEXPR(n)]; + }, + + addTranslations : function(catalog) { + for (var key in catalog.messages) + this.TRANSLATIONS[key] = catalog.messages[key]; + this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); + this.LOCALE = catalog.locale; + }, + + /** + * add context elements like header anchor links + */ + addContextElements : function() { + $('div[id] > :header:first').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this headline')). + appendTo(this); + }); + $('dt[id]').each(function() { + $('\u00B6'). + attr('href', '#' + this.id). + attr('title', _('Permalink to this definition')). + appendTo(this); + }); + }, + + /** + * workaround a firefox stupidity + */ + fixFirefoxAnchorBug : function() { + if (document.location.hash && $.browser.mozilla) + window.setTimeout(function() { + document.location.href += ''; + }, 10); + }, + + /** + * highlight the search words provided in the url in the text + */ + highlightSearchWords : function() { + var params = $.getQueryParameters(); + var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; + if (terms.length) { + var body = $('div.body'); + window.setTimeout(function() { + $.each(terms, function() { + body.highlightText(this.toLowerCase(), 'highlighted'); + }); + }, 10); + $('') + .appendTo($('.sidebar .this-page-menu')); + } + }, + + /** + * init the domain index toggle buttons + */ + initIndexTable : function() { + var togglers = $('img.toggler').click(function() { + var src = $(this).attr('src'); + var idnum = $(this).attr('id').substr(7); + $('tr.cg-' + idnum).toggle(); + if (src.substr(-9) == 'minus.png') + $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); + else + $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); + }).css('display', ''); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { + togglers.click(); + } + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords : function() { + $('.sidebar .this-page-menu li.highlight-link').fadeOut(300); + $('span.highlighted').removeClass('highlighted'); + }, + + /** + * make the url absolute + */ + makeURL : function(relativeURL) { + return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; + }, + + /** + * get the current relative url + */ + getCurrentURL : function() { + var path = document.location.pathname; + var parts = path.split(/\//); + $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { + if (this == '..') + parts.pop(); + }); + var url = parts.join('/'); + return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + } +}; + +// quick alias for translations +_ = Documentation.gettext; + +$(document).ready(function() { + Documentation.init(); +}); diff --git a/docs/_static/epub.css b/docs/_static/epub.css new file mode 100644 index 000000000..28dff738b --- /dev/null +++ b/docs/_static/epub.css @@ -0,0 +1,310 @@ +/* + * default.css_t + * ~~~~~~~~~~~~~ + * + * Sphinx stylesheet -- default theme. + * + * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: {{ theme_bodyfont }}; + font-size: 100%; + background-color: {{ theme_footerbgcolor }}; + color: #000; + margin: 0; + padding: 0; +} + +div.document { + background-color: {{ theme_sidebarbgcolor }}; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 230px; +} + +div.body { + background-color: {{ theme_bgcolor }}; + color: {{ theme_textcolor }}; + padding: 0 20px 30px 20px; +} + +{%- if theme_rightsidebar|tobool %} +div.bodywrapper { + margin: 0 230px 0 0; +} +{%- endif %} + +div.footer { + color: {{ theme_footertextcolor }}; + width: 100%; + padding: 9px 0 9px 0; + text-align: center; + font-size: 75%; +} + +div.footer a { + color: {{ theme_footertextcolor }}; + text-decoration: underline; +} + +div.related { + background-color: {{ theme_relbarbgcolor }}; + line-height: 30px; + color: {{ theme_relbartextcolor }}; +} + +div.related a { + color: {{ theme_relbarlinkcolor }}; +} + +div.sphinxsidebar { + {%- if theme_stickysidebar|tobool %} + top: 30px; + bottom: 0; + margin: 0; + position: fixed; + overflow: auto; + height: auto; + {%- endif %} + {%- if theme_rightsidebar|tobool %} + float: right; + {%- if theme_stickysidebar|tobool %} + right: 0; + {%- endif %} + {%- endif %} +} + +{%- if theme_stickysidebar|tobool %} +/* this is nice, but it it leads to hidden headings when jumping + to an anchor */ +/* +div.related { + position: fixed; +} + +div.documentwrapper { + margin-top: 30px; +} +*/ +{%- endif %} + +div.sphinxsidebar h3 { + font-family: {{ theme_headfont }}; + color: {{ theme_sidebartextcolor }}; + font-size: 1.4em; + font-weight: normal; + margin: 0; + padding: 0; +} + +div.sphinxsidebar h3 a { + color: {{ theme_sidebartextcolor }}; +} + +div.sphinxsidebar h4 { + font-family: {{ theme_headfont }}; + color: {{ theme_sidebartextcolor }}; + font-size: 1.3em; + font-weight: normal; + margin: 5px 0 0 0; + padding: 0; +} + +div.sphinxsidebar p { + color: {{ theme_sidebartextcolor }}; +} + +div.sphinxsidebar p.topless { + margin: 5px 10px 10px 10px; +} + +div.sphinxsidebar ul { + margin: 10px; + padding: 0; + color: {{ theme_sidebartextcolor }}; +} + +div.sphinxsidebar a { + color: {{ theme_sidebarlinkcolor }}; +} + +div.sphinxsidebar input { + border: 1px solid {{ theme_sidebarlinkcolor }}; + font-family: sans-serif; + font-size: 1em; +} + +{% if theme_collapsiblesidebar|tobool %} +/* for collapsible sidebar */ +div#sidebarbutton { + background-color: {{ theme_sidebarbtncolor }}; +} +{% endif %} + +/* -- hyperlink styles ------------------------------------------------------ */ + +a { + color: {{ theme_linkcolor }}; + text-decoration: none; +} + +a:visited { + color: {{ theme_visitedlinkcolor }}; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +{% if theme_externalrefs|tobool %} +a.external { + text-decoration: none; + border-bottom: 1px dashed {{ theme_linkcolor }}; +} + +a.external:hover { + text-decoration: none; + border-bottom: none; +} + +a.external:visited { + text-decoration: none; + border-bottom: 1px dashed {{ theme_visitedlinkcolor }}; +} +{% endif %} + +/* -- body styles ----------------------------------------------------------- */ + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: {{ theme_headfont }}; + background-color: {{ theme_headbgcolor }}; + font-weight: normal; + color: {{ theme_headtextcolor }}; + border-bottom: 1px solid #ccc; + margin: 20px -20px 10px -20px; + padding: 3px 0 3px 10px; +} + +div.body h1 { margin-top: 0; font-size: 200%; } +div.body h2 { font-size: 160%; } +div.body h3 { font-size: 140%; } +div.body h4 { font-size: 120%; } +div.body h5 { font-size: 110%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: {{ theme_headlinkcolor }}; + font-size: 0.8em; + padding: 0 4px 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + background-color: {{ theme_headlinkcolor }}; + color: white; +} + +div.body p, div.body dd, div.body li { + text-align: justify; + line-height: 130%; +} + +div.admonition p.admonition-title + p { + display: inline; +} + +div.admonition p { + margin-bottom: 5px; +} + +div.admonition pre { + margin-bottom: 5px; +} + +div.admonition ul, div.admonition ol { + margin-bottom: 5px; +} + +div.note { + background-color: #eee; + border: 1px solid #ccc; +} + +div.seealso { + background-color: #ffc; + border: 1px solid #ff6; +} + +div.topic { + background-color: #eee; +} + +div.warning { + background-color: #ffe4e4; + border: 1px solid #f66; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre { + padding: 5px; + background-color: {{ theme_codebgcolor }}; + color: {{ theme_codetextcolor }}; + line-height: 120%; + border: 1px solid #ac9; + border-left: none; + border-right: none; +} + +tt { + background-color: #ecf0f3; + padding: 0 1px 0 1px; + font-size: 0.95em; +} + +th { + background-color: #ede; +} + +.warning tt { + background: #efc2c2; +} + +.note tt { + background: #d6d6d6; +} + +.viewcode-back { + font-family: {{ theme_bodyfont }}; +} + +div.viewcode-block:target { + background-color: #f4debf; + border-top: 1px solid #ac9; + border-bottom: 1px solid #ac9; +} diff --git a/docs/_static/file.png b/docs/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..d18082e397e7e54f20721af768c4c2983258f1b4 GIT binary patch literal 392 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP$HyOL$D9)yc9|lc|nKf<9@eUiWd>3GuTC!a5vdfWYEazjncPj5ZQX%+1 zt8B*4=d)!cdDz4wr^#OMYfqGz$1LDFF>|#>*O?AGil(WEs?wLLy{Gj2J_@opDm%`dlax3yA*@*N$G&*ukFv>P8+2CBWO(qz zD0k1@kN>hhb1_6`&wrCswzINE(evt-5C1B^STi2@PmdKI;Vst0PQB6!2kdN literal 0 HcmV?d00001 diff --git a/docs/_static/footerbg.png b/docs/_static/footerbg.png new file mode 100644 index 0000000000000000000000000000000000000000..1fbc873daa930207b3a5a07a4d34a9478241d67e GIT binary patch literal 333 zcmV-T0kZyyP)x;P*EWNYZUli+~q;(eTbfe*U$baTG!fAgG=`DK4DzIF9EWa~YA`tJ9_ z8KSNH@Hyb?@aX8R^MT1t_v-D!{?^ltv3)o9> f@a++B;w^4}o%yp?Jw|+(00000NkvXXu0mjfL|da= literal 0 HcmV?d00001 diff --git a/docs/_static/headerbg.png b/docs/_static/headerbg.png new file mode 100644 index 0000000000000000000000000000000000000000..ccec153a13f55566728f6738756ee8f7241bfd37 GIT binary patch literal 193 zcmV;y06zbTP)P!)FS4ZFcc#j zm5nx^3w@rQ=g)UXy)Hdz1}(3TdXCrdJbSwFy766-pX@L3KYj-1?(this.runtimeStyle.backgroundImage = "none", +this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "',sizingMethod='image')", +this.src = "_static/transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','').replace('")',''), +this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "',sizingMethod='crop')", +this.runtimeStyle.backgroundImage = "none")),this.pngSet=true) +);} diff --git a/docs/_static/jquery.js b/docs/_static/jquery.js new file mode 100644 index 000000000..7c2430802 --- /dev/null +++ b/docs/_static/jquery.js @@ -0,0 +1,154 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
"; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); diff --git a/docs/_static/middlebg.png b/docs/_static/middlebg.png new file mode 100644 index 0000000000000000000000000000000000000000..2369cfb7da3e5052c2ad4932a6d56240c92654c7 GIT binary patch literal 2797 zcmV4Tx0C)kNmUmQBSrfqTdoR7v5<-y@dJRoV0Fe@UkzPe5BmqJR7!t5oLbpCc6HqI?@={d8%D5al;0(=!Cz zYydD6nO!2_rJ!tuGDRE_#zA==00c_%EKZ!o62USwPXIWXSj`sE}8w<4jU*%sHzk2;U z$a?$5<7MdQoaVsz{O95^ejS$UX;36cb2fe1Y+3Y{{cC>d?Hh%b}~Geu0H=$|_LAH!zl zAj2Q0Uf9TEuaUC0Snjw2jC3cfEVxw!5{*}g2jLb zQa}a}gIur*tOxm^5bOYZKsl%aHJ}bOfD@nvoCX)bWpEwb1byH>7z88W8JGmG!3+dJ zc!&zoAT>xEGJwn=8;A|fhrFObC=7~)5};&A1WBP)&_<{bDu&9TgHRpxBXkP709}Q8 zpu5lzG!Fdvqf1r2MCzX|yZIz>xmnl~$ zpHUuUAPhr>A0wSn#5lp|XS`F#WweHcflJworSw_BrjROl77!Go4w=>|jpnXz2LrNOcbC zbnDFM8tF#rZqRMieW*v$W9ud9?bd78o7C6V57J+yU$1}9fM~!rNHN%J&}lGjXk-{| zxY@A9aLh>6$j@knQN7UvW2&*M@lxYz|7l}t!?UTdxjmOU*L&{Txvg_w*qYf2Z1>yVv7^}q*=@FKxBFo4U@x|B zupf8OcSvxkbQoaM*&*z0>?@8~M-Rufj;9^pI@vo(oK86X;mmSQb3W=kHqU6DU|!9< zVHaH&uFFA}!THSj3G)xkA9U4m<+@h8K6cY{%Av^?0i=GocG202Kesu9q`liwb@Yi zqU=@)9sQZ=k{U}lNr!Ug=Tzjp$&JcAxlD1HXj#{C)8$*2kFM}u@%>87O5V!$RXVHI zuNqqIzWU%AXiegp_O*Iz^VW{6^I3OfJ!yT~`d>C!Z7AOGYGd@qwmi+eb$P>^d^XkR z%jJvn2R1uzuG)gxBHYrwb?(-(tse{c1=k9#3QG##Z{uyd_MP>2rQdzpp0vHY$i8U* z4%`mWj{cplJC77A7OyBC-W9Z~c{g)+!R}Xkmh8D&Vp~$Rm$X;9cd#_Dw6#pXY)9Gq z@|5zv3Xh7$N{z~`mDBt9`+E1g?Qf{ktSYQ}cR+aH&Ox7p&DDn0C5Lc_at=MIiK^-R zp8b7Yt$J-??T5pn!-Ge{j&#&H)YTo;I9gN>*GucikHsIm`Ge;VtqrV(gN=;F!sFn$ z^!U>s6MpPJ5pbgYB>QB;PX<3#Hqn|2nxW?9&66!DErYGGtv#pwPqnu>w>AB2@$=!+ zI;ShnD4!`hOFEl(_S3l)=cdkQou9and||kKN&EeaF&A%lgm!da3b=ITviIeSo$j6I zuDDz|ebwpescYO08?84TZ?^T!>p9!&+I!)a=dH`P z{cd0HThQ0jAK8CrAbw!*4*$;B-SoRJ?&aK@xxelK_Cdizg@+}NG#*v|YVvF2p#9*P zAK5^Wa`oDjMp>M1#i^e9C^!r+xaf~-RMm2 zd;I&-4<;YlJ_dYz@G0Zdr@sILoAdna&gY5%000SaNLh0L01FcU01FcV0GgZ_0000` zNkl3M)`0?X^CI%pY5dZ)Ghq6c#BU2mL4m7>^xj0=#gtkGV1kD*#^bxk;#3qK# z1w@EpQ$noku{i^$7!@T*ax+fPAS4hh!X^U%5(tH;2fehL00000NkvXXu0mjf?v`T0 literal 0 HcmV?d00001 diff --git a/docs/_static/minus.png b/docs/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..da1c5620d10c047525a467a425abe9ff5269cfc2 GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1SHkYJtzcHoCO|{#XvD(5N2eUHAey{$X?>< z>&kweokM_|(Po{+Q=kw>iEBiObAE1aYF-J$w=>iB1I2R$WLpMkF=>bh=@O1TaS?83{1OVknK< z>&kweokM`jkU7Va11Q8%;u=xnoS&PUnpeW`?aZ|OK(QcC7sn8Z%gHvy&v=;Q4jejg zV8NnAO`-4Z@2~&zopr02WF_WB>pF literal 0 HcmV?d00001 diff --git a/docs/_static/pygments.css b/docs/_static/pygments.css new file mode 100644 index 000000000..1a14f2ae1 --- /dev/null +++ b/docs/_static/pygments.css @@ -0,0 +1,62 @@ +.highlight .hll { background-color: #ffffcc } +.highlight { background: #eeffcc; } +.highlight .c { color: #408090; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #303030 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0040D0 } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020 } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000 } /* Keyword.Type */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070a0 } /* Literal.String */ +.highlight .na { color: #4070a0 } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.highlight .no { color: #60add5 } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #007020 } /* Name.Exception */ +.highlight .nf { color: #06287e } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #bb60d5 } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #208050 } /* Literal.Number.Float */ +.highlight .mh { color: #208050 } /* Literal.Number.Hex */ +.highlight .mi { color: #208050 } /* Literal.Number.Integer */ +.highlight .mo { color: #208050 } /* Literal.Number.Oct */ +.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ +.highlight .sc { color: #4070a0 } /* Literal.String.Char */ +.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ +.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ +.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #c65d09 } /* Literal.String.Other */ +.highlight .sr { color: #235388 } /* Literal.String.Regex */ +.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ +.highlight .ss { color: #517918 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ +.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ +.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ +.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/docs/_static/pylons-latex.png b/docs/_static/pylons-latex.png new file mode 100644 index 0000000000000000000000000000000000000000..53f83e4d090b2d62852dc3ae5e1fc104b665caa6 GIT binary patch literal 4063 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 literal 0 HcmV?d00001 diff --git a/docs/_static/pylons-small.png b/docs/_static/pylons-small.png new file mode 100644 index 0000000000000000000000000000000000000000..61ef2b26bc5373ba197c497a854ebff972c36834 GIT binary patch literal 3409 zcmV-X4X*NuP)mfz7jOnm=d#0 z*0LJ2XpGuO<70ssp;Yk^t@sGjC?G3F(`Z023?nnc%m{-^@Un?^e4UJhaSOxiZx^A z%rgw(3S-PTYb~nUgOUh=F<7-bt+k7uTfg@4o@3sJa-&VL&Z?=IDuk;9jKaK@|;hY;k{Y12kj5o{KbVf187RS+bJW%5fe zJ^OZVOVWqp5LQKUnglY;Mz$Lg3SEFg5SWUHR1MIlSce!wt9F4=LDe2~4#%pX=t;dT zN2xHz+@Pvw0C81a1nlf>nR*JL!t5xDN+zJHq|y;KQi9O9l!3LRBa4Vo5es}UUIJ}v zv6drC77nHxV`_krsyYnVFc+}EjorcHU`1GR@>3v{ ziU@;%Nq;e#DU-%B_PF8n?_Wtgk>Z0t*717n`@H$qA83iEsE7q6u~98u>5Va0sOlA& z>1wOOr-0R}`VYVdB{Rza5lQ-7V4Q=_A9OE5)zTCzk%%~PTs2?6;;;DJ$)gD?La-K9 z5CJBSQ02EJh((M;;hq0v+Vja8GJ+)spMXgsZ0uLIBDDf?zv?K%O7}^$JV|> zWkoTTOVOw-d9@Vq1E8%I=`Hnb#+VQ{gXz^%a7%faw)N6{85nX;VxnPJ?%=oAK2 z#z{6e=N_MizzF|z^#tnb8+h*34+~ZOQ6 zs_Ho4Q#jXH2UO60!%_v%iTO_jx{_%g28{6Z_Ta2+A%SLyd&m*)mbcH?-Y~|TV6A;cL>3uUOQ9{1jF@uLU``$vkZ7rgr~xgorQ)A3 zdPItupC3vh85PX4Cko-#+TFe@K&9_55RqCD*#vww*L-8l-6FC{M1GBPsik0+h^!Kk zEh6%^=eJMC5TV>k@x#o``JlG-^fUH=fpIdE^)Z-08=+&fV&-Z7I;% z-MolfoYbo791&Rv%nS>z4GP#unL4o&qxFz3-jZlin0j)IN1t)2guLSc+l5tOp)kfA z?-e*nyBqv(;75Rn$hE5aAek-4aKG{#hFctLE0TQ$aJPtD*WuXjaaQs;V6uoz2EOcL z!S^%JNCU?M6a3DU#Uk=Uf3Dfn>JLm3k%v@uG;l`-IzvQcH89nG{{zqfR09)4WVWjQ zOQ$&zup3B-$ZJ5Ts&9t2K#O1_ODq(|9v#OfKQ7ETca}h5)KQiJ{e;GSX@bDyo}fyJ zi`HT=N>$JC{daLU6QCCOFQ5kaOW+jXjSTZ=;FJoleDPwK8)Lq&s;x@(tdH^D!Yhk0 z=9{W|6>yq}Jg%x|0iSdtqc~TGs?HXXtARIF^`C+N!70^+B61T@B_iKa)%C#Zo#wJ8eiK-MQ_P|MKGdAf#Ihz(UGQEui`A0h*a;%C0{2Fus`t~b7^{?p@i+^wxtgb* zTE)Hh-p4OrKaP*K?IXDlGyfD^UvNpAZ zLBQO3bEzINf-|OmfiHjUetx#$&uOgR1IYw7p3K`co*-&&WX0NQrd@I`vu2+|b#*nf z=FDMW{{cklTr!kJvqBNMMMPGL$P*%RzjrT30lQT7W^3(L9B79dMdatcKL+RaI$|cy zO`xhjD^jLm!0Eof71)?#>~`RJ-#?Dr3xqndm#B8p?&^oJe+ouLL*4n#(*ZkKS5qU*K*5IssQ8l@oc`R2? zJ8(D6DHF%@!S9#xZi~2dZLeHq^$5j{ir_{^GO@JX*^(2g)JhtY#UI zQq{|FuFBxtMWJ)I0nY;G0%zkC;zOL}m z^|7kX0lqCFm*ZUGToIWItXI`*DbU>)kjKjW0M5VQJQ|K&%DUG=DxwB7(S+^Ps%!(V zzunAcvyk~$F32K+=Hy?-&4;1?ELu}l^{2i&7&zbeXW`GQR**ZZ zyf*_F4}2bYDa+Wgz;xgLEyX8cyMj7Zz0Id03U| z1`)%)z0GW`-<3B$+EcfObUNL}=Rk@aEUploYgh+d1e^+OL3=?rItx~b$Vyec1ehWs zPpRt7xU9bgJ}V-(;#OsN{y*sgznn0}+-o#*qBKm2DRau?28C2`e=yvSQCOr_IY zw|H?E#LbOXeaa|@NLP!{t){kuGW=9TRe$1Rs{j|YKbU8HKK_xlc7e~VUkscnA}{0W zff26$*Gl6_Rb7DFsF(?{PM_J3ZQN*8UE-@C&9v`b8`C;gRhI$3$wMC~aBFhZt-ER^ z>k}7|uI|TrANTghDYAx_1)Fhcg(Glpb2AGJ8slct! ze(hJKzaYnoRz$XVMg9{xD!G1K3}=x#(rZxFWg>DeFwQq{7I~AZ-U~dL>w5R&bM(k# z4xT8c6U14pH9L1~Ketp89s1?C%%vjoT_Ezs;B3KmSNM+vhT|Uk$GB{HAt;nrzHxz< zVW>a98`x2x3~dM_Yo9T0J4CT_yB{uiukQkda$eL)B65T8uK|A5P5gII!hu2{N=HjMP4$%0a1E-eSGg+j0P(5s{U^kvNxe3y0aSZi+=1sBTP0(QZVJ>TO{T zfRa=jtnWn$1^{0YkvnnQQSjO5ExjnyAprpxGIZ!Yf?R(vSuGJz)zzQW*Z10=f*4~S zR@F;ezx!3uZM`AOp@tA36$Ez$$>e#!n1e;N1om2Ede!AvYv1$B@2y^`irvU}*rIKP zFmT|&sS2ymF8!pvTu6y@LEx3%e}hx)M}g1E?*jGsXy* zsX?O_k*I_)+qBxKopB-*wVk1@X(rV)^~aEj6PgePhE}O!C!JVZDJ;tAxl6F@JhB0u zz&|;&pZD&&Z}0cJd+xjMzIOrUfdB#m0%-3Al6e3s06GRb_JvAsfKsXxiP*6SPE-Ad zJ^&K-9fGQ<-ix*Xy9wdKao9P=B7c8)P81H(7zwD7l#rFa3bYv-u;k}~e*H$+y14>W z?fp>Eb_LdTjX+~lGraxz7tq_=3nL>VFt$fQk^JS~NQ)wDqiYAgOq=4VB|>&SLKqQ> z5Bu?tfpRH2eu@_(Ykc20cKHBB!7!6XS^lP{?GUR472DkU_Fa39C|6ker+h zDJdzSPD=p|!E&FKuBQB_gEmtGt96->qt`-iwhm0W*PfCa`-Sb9X$%o&CSr#(gF^L1NNS1g?+zlhc|AFLi^<| zICrHB&U`)ytvz?3ySv+UJ@xhVLSJ7W^!N9}jT<*$U|;}l-@Xm^?)@9?-@gyT!^5s? z?%~6SFg7*@i1_#&|6R-PGBAS-aL*?#UGh~dRh4q<1d|(km&DI=3)%dq+`@mpK(HV{ z7{EROz5>C*g+B959Jk3@w29*kK0b>V`}vu;4VskH^o?AepI>00zkdOjkw%fpnf(2O zgN4EvwLY6dw@M-uhK2?O1tqR_g_w$A;m=TL3n{W#Nffz^V!5SwjX5ebEG$&ALgW_G zl~I#JlDsw{c2XqRI9rZV{#7V*ZQSI4`#5EGpA``q1e>Q^L6gM9d^BDGY)rcajeBfs zYs2d5YOJWJK)U@u5tWsdxNFxgJb(T?(*4BEYw`izU$CjE2`RToJ^QUd{e;Jk9h+?H zDnEGe082{Nqd*{-6}D{Ig6#iJL~U&?`gnWKDh&+{F8iLI9$e)AG%oP-omB#bOYqjM zTUb+5c9 z*Wk(|C7qAp5hsoNTHl*DZ(^Sb69z936e&YR~-Rx z>0hYnbWRKP#V@exkOM!ZzG!Xz71H|{PoH@fn2fkuuca{{pAwZqj!6m`>W}{pja|+e zp=&;aNi?>Z#@Fdv3i8pAqo*;D?smUJ6-~1!o z+3TDUhEmR>Ci5(|7GimI=n=er{W`8O=VOuCG^-RB79g$t zxaNr0_SWHAYr(AYdgGx-^V<-;b8g@EBCcCwnH6ew?m(y0`N*FY*gScdeiNL^PYS_YjF7XFOFl~?jK|I%P-;19owG>rm?4PH=a6qV#;U4iFJUv G+W!xB>sPk` literal 0 HcmV?d00001 diff --git a/docs/_static/pylons.png b/docs/_static/pylons.png new file mode 100644 index 0000000000000000000000000000000000000000..bb1d9c575f79a25d89c5efb17f797d56aa30ca29 GIT binary patch literal 27679 zcmXt91yoe;)82)pySqUUX^@r@q#FbT>68$Vlv=vGTj}o3MY_8|78Ge%y5U=X|MPKR z4{+|eciwrQd1mH$=Z34P$YP z$U4mS%p&Yx9`w^*=dHg+80EP3*|`46;`};*+&j8iGQZ^1Re+^wO3n#uEWZfhAI1$Wm3zK~caK zT6}YCDO6NCH6mALuu*Bk-9kq4o9iam?*A;`WkHQ!j!B2FGhE^QwOo*)0uxUhH?p?& zYMXvBQIZA#R95B-EPBe7PRi|myjl%iX)}6RF>Zr<(2!l|%YrprT_3fj^R5GpL4{gj zqx>Oi=v>G}b(|7QGk@l_--tck{E^eYR(x4vz*WTD0u^qWkXKK@%)i9V`x5C?f&d<_ zS0Mwdh*77(aT8IS30YZdTRDNq4&oR6B$xKzNuVMI1k!K?9SJox5d9T&i%>im}Ve z0>B)!%$X++2VE~{keFIPRkWnwLY%p+llB_{i^e0K&jl3E^!@$qgK{Y3V!RR4bR7F1 z^6Z0g)AcN83gkU|)PBzfO_`Ljg8r4F7V-gV#1QYVy)2%e9!-}FUR+hoWZEJ+`j^P1 z3)z_0qt5kJil(EwHd0VrY1DKi3>vugRq211{Yprec{QG?!&W|$m^5{a`(aFz96^e( z=<3AR@%g~$c*C!*@}A*8KQ+a#wjmZ12yO0G22D+~YSKynE5$OyOqxNX)BcPKy|!Pc z`EO6_qK6XGnf}3Vx<(jNRiGvO9u7)sTq%gwRW-P8!m!<~5;p!42|YH!Fp^Px<_vl> zv>{SFW#2mpDIy{T$;Z99rsK%}mc0A{Gu6s}l%riq*!%CUfs~DZ9*g}tl_W7;5Gbw8 zn*bud+Q#{xx6KLgZW584M@JMGiLL`{yKqy+X3>vhe+4|=U3s2Ddjd^|{^uDi_>z$j z%08jTmD02SD@CK5s2cxdn(r{p@(Sp|Y@3b$vMWEL@#uLmYFH>_Ut^*Ajm3m!f}=K1 zbVUy53}YAy2|jR)*Oby8pZ(j4EYr zNj(A?;DY%DTx>DE;`OP1%t`f^+!p6*!!oR)ZLorqOO%_Eqc9H=WSL`I5|9a~m{4(t zTLFdxIm8pzgHpSHQjUWD#_~=sHJOKE=g%MyU{~X#j!p+kiGmKCA)-A2zJE1T0HR2A zJV*$VDRAR^y|0$7K%mbuTCF1TXsv|D7Ue-U(9Uo#2)}Ppvxlh8*M-g7$e^Y&;_cY zF|E^vuTiiNzJ81>hm9<>9!?tv&TMrZ+Bjqnl`ew1q=IY zX&ZUG?=Ab> z&U>n#>>EfhYVZzF6h%UM2Lt{96v?o$iYYOzqGm_ulVVTQG>j1m2`MgGvkTboG{GkE zfvCg41P&xrWb?niyC4(mq0>u*ANa}!f~@Kmdr9j% zKRjQKxgK7vuD;c?>u&rk)ga`zGVJvOQ3^PQ%tZz12OJ}-{Vsaufz#Zt(Xy5)Hd%ReJtVhb}eubp8DHv+j8_yB|B(qW`3q$($!R)sX zLp((ip0-wr5-=@5Zq7?dx6w`!w5$FxtUpz0z=A{t(tdK%m-*E%fIXL5im^;0r9k(y zjxC#Jqj1rihSHsy4UeQy`U~DHm5XnCX8)utivqgMCl zGw2axj;Q}|rEGzjIB?NJ6!~hi;x%G?Dv1;$r3@pb@?J;yV;DUpGNV+D@dWBv+6;}p zyB4%nN5JHuI8>4ahqR8t_e-Xj$Hi#*hRSwds4-&@XB0PAGF`$p#u~K})81%fO({ z7_;hb1>|y^gp$l1q@NM5CWOU>9F&TY=$;!ud3^8M1k3aFuFgY zD%{gI-#v}AsQ$C*kq6)aJdi}$)p@r*9B^%wh9Rub15tr2$XrAaBESTI+Whk!ExKI-B{Wh4y^ROuRhq4puh7ltCj1bxKNN$6d{E|O9`$d=?2O3@oZLnYMiPpa*7oNTrsZ=BniNj&;nYjo`eE@B4DH9K4I5lf?#7cp8179yQn^tMfqQsbemnc=S3!g zT(+?It_h`x#J=xTv3$i*0XEMnh@Uc1TsXn^5Tu=VfT~lcF#|v|#OK)Ih0+^Fl$c}R+uuQj`^xp#0n&s-e`J$3yH+Rqz+&0B*dm3mlor)G-;0E-$A<*~ zJ29LV6ZT3fZ3nK-@==G7$@Umr)xEpdOAq%~FkEc4glbWh|9FN~iIQzyiTIP`0$Qln zgl}oY_BW8B%>Y*3<<~C;Fv`m2_!l7dBpAB*n|{t3`Sh*g)Pt$axDSH=aNV67{?v(q zi!Bh?KD*40m)T!hWkENgqIKezfcuI-2|{PpX2FYH+d4=5~M z(MV;sOl7;Fg$`UPNmN&Mcae!t4v!?07&%KJc?dpUM1Q;ll%<}3BZUR^f>Sbv+$7%+ zukz;~@0g({S%W&;woUffHK)7XnOV?hL4~J=eI&T(xad+?7(ai^!Ebr%lDcC0M%uo= zRB=`MdU)=nl~!H_!Gjb+9s8XSLJvS9JBfcu#@_H$No>r@i!?8Yb<}nwkg__gTAY<; zp!zC4MKPU@6F(?z)MpuvQ0AoGz+|d-xZlE#hf6$9-0!BIjEa0U z(Mz=${eDNKRgKX4mrAoSc|Ub{_*6^S9AonyHSC_S-V&dL`^(C!6k$*jOok-87D6M* zdWZ=7=Ap_gMC$#K_CJsiz~c)2DWtCSGnwwMUsP=IHA{_(Oc^bz6bk$tQQQVRet?NA zwGcVR!`?R1#-zP1-dbvZga8k!fRgdNKEpppAJ`Q;l%hXyTezSRj~yb)Z+$iUye5Pl z$&4AANg~e^DI;G;#vu?Ur?B;Y>rM*mqq4$l#*xs`bjJ}pEI*Lirg||Uq+rbbza;95 z=P#}Y?thA0rUEh||FCYF2=eI)_+-k>$}h>1(zZ}?mO@OFIFJM#Ilq5Tk4`wxCzLl% zL>4*Ttr@o7!j=Co#V-20!;U+JmAZ1DKg;hGm^kV447TZ~F4Y-a_f9vG;P z@UoKGYwfAcx$GIc9I-J_hX0}}=lQ5)G1gROy1uzyg+>u5f|$puror|n|-*FX=3%xq%E7bC?=5o-*%d0g=<47Zi)i~E_$rN6SejLZ;jAVt>0B_U8 zst8YfT?m1%hwn}5_CLuK)Xy(xH4Pny0s-SFgi$b?`QUE~wl{<|=KZP#xDsL>3GR~j zGO;R2kYb|w+&yf^z~|De7=N&lANI{(L?OUcp#I9rz3YKbG1O;r@yhD1l?t&2>A^4? z1{2vz{*ljdcY=vM_&aYT^sWqzDfbvpq%}o1FJba z0JFxPaY7Qp?v}bN&=ElOoIOkAopbjZ@CrbRVocjIgh~ITqz{o9A%V7PGy`q`5IRT6 zc>4gr9pu)l4*0w47r<{L8o?18%-a*JX60y03H0k?1%HMvb|6690NPb)RP;t-% zkc;d=7#+8n5#e;F2?xU8m%GjZke!_hb%hd-hywhOxDeNzZ)@FtM`F3Yho02F2Ye6M z5J$83qfym=*=MKDzCe`Lk%v_r4qm>a9#a7`GsdGqq4c`qw=UQot8Q0 z2z6U>e@rX%yv*wq6?{Ltz~IFQc*cM_$9~U65Tsa}tYCmQ3rc`zWDd-ZDNVIxgtVec zS)ey6loPNJfRSbgueZqsRh{neS}ZCjetI+B+#kQ{W4Cw6`pMo5TtXA;xaVm}8{uaF z8lXZoU^}}Zr>)9w51(-%&;H`gIQr8h+WNo3{1T-b>>0EH5s(erXM`yXg9{bA{#K+) z>98?2NW&0~!i8w+n06Yee4HsZ{cEA0Wt|!U!MyGC%pjJCc@kbS8hILeUK4S}H4An# zj!P_iUSvWNH6@x2w1Z~K#Tk_TSMExJK?kOseu|+xW=Fw#t(hYiVV55044kJN)=bfW z462deKoS-+su9--L>K{}(dIBUxeNBRWd<;m7$i(P2e1LTXx2;@$;}<7xey^b(7f$t z0Dp7cXK^k@bTWp1D6w-n99z&;fCKWBNdLFksT3wa4#M;4Y@Dh7uo?nXyr;k#qz1f1leqo37 zKUCOe)7z)^6g~m~Cah!@m4inF-v{800&#_!GOfFyIKH`o?Q#M{{m0NbIceVa7kN{9 zbWccq@2F`H&|jDYkYwG@P8AU_03YzZtwpm55nIS1G*iOyd;M0>lO881LM!EO0wGkM zC{&pt-q(=_rIrazCUIRAKC=G8n}1EJ(n~ewJyEDn)t4R}%;FD~Ei13)tLa z4rWgFv^yx2~a-d zGyV)amn(l@WS7z}c&kWDVqpG6Ao`g81M5W);Ce?UusJ+kDt%*`WhIirn8n!_N13HY zP9P+m7owAQw3rxr?kX?N|0-xKAVPsK3O9;6D^ddNUs@(9xF3m7f5XSohO2#)8g#ed zc2pe2s5DQU)3M$n*i@XISjuWHFVk%(86<_@U5y`Z)NS7Nv?T1RyBIT_n`+*Ys-a|^ zks8!wjuw=#bRO$=a}&*P(Gn|c02M=t<0_@<#4;wEmf0NPRYaZZ@J8{@~=hRbwz4V&L~s+&EIDQtosI z)Vgne(?*Tfp1oY1U9sS0=@5!lg^nu^s@_(DfLP3p=2|oM?s%;bIv;2CxYe+K#34(3 z$F;p3pYiM#*;C`7IZ)``4}IbOh6Edvc-dA2>g2E(io2zj-y?YTMM1SH8m?S4wq(j>k%4g zBc2{gi`*#A#>qE%_iBkylLDP#SDRQuB_=8?uaL+2OtCR*MG-8F@#D#GG6bjqR9yP%?$Aq^7P>Iz1!dzR0vHA0{PD%)7`ynHHVu6W ztcS4g_;$yV0Ch2;>4f+8f2CmeN63gZM384N3XCtnNQcy5Y#8c*82m{;6&&g3!)Hw6 zp^(2Y1A4k90Fbl_`yr|7xZtn#o3Px}mm-toyqo4m+*Lt?(<5?*B|U&;JB9rlO#Z>I zNN*~Nccjk>ZKg<}q45iOv6Ojj6I!?}kJvaJt~O~K;pot)q&K?EL9FQqEUB?~q0H4= z=06*nB=OyWA~Fu+F|eP%9ujrQIfeatxTPaE%*y^&xCNZK?;JJ30uTo|GSm?SV>zl{;vR}&r6Uh_!7laDYO5}>jC-3@KA|pzUlq>VFj4o@t%73)HhNd&MqBYDKDs9CE?w@J6;IKj7Z`_Ox3A za*pGRa{Q|i7t#nVHJj=0_TM@E_Q%YzT-~ck#Dknp{I!D^LM*B()Am$3bn;TXCpT3G zvnLs9`VVM+!a2baT7bYY=8JF*q043fqy$FR=Yla*I6nlc*0+rr3D~Ej7|J{ORg*z_Z9Cj<-YpF>Qk4dExvn^UL{jH3XmH$cZ_fk5jqGXwq)+9l<{3g%c1=K zQ;`Zm?C{#GU=UduU;wzDTw?)u_r6;ysHB6wc6|Vu`hbqzYU+u0%8_#2+pwQN^UXbe z(l@nV?t8{ZtYk^o?(PT^{9=p(Fa|XMJKyK9z>$5={@-{!IJ^F-8=_H<&5;|8On!2z zfD*!G%!(e5GP-f**)N}!#scM)=uwF22t+vOJVoRis`kocMQ|)I6O<&v#MYUNFM9Zz zQou*DRf9W@Yam-VujD$q9xaI}FIg#P$^+mMoH-e{t@+qH|9wx9@r3o++<6ab+w{of z#A4ODPyR?^dq4-QGhVGbwgkmkd>~DkD9OXEjuEVeJsYmxYTCS0N|I> zv~JxAnL|VLpp@`~(OC$f10G0j)Vyr_zY}_sE^*?)Oty2Ix3U_cJz9Q&JB0#K9V$?oEgN;5d#q|t&tmO? zx%$FX2%5!s2BJB@ueD+X-V3Rz`koWQj3jawB!F()Z6P2v@@T6s8#Lywu ziOHcIvO1cI`U?YoLU2|&Ix2C9L9b@SU8M2w)gcHhp;54#2TTez*VFK(sT2oZnO38(9o_ z#F!m7al8&@hEls40*-TU(LY`1%!!*nz>r!vOLXe|x*zboC%#pam01SrcPBQkgh1_0 zaq*S|KE7x+VN8F25;{vDYmTQVb(u623E^zuM?(ECNrN%Q;(KMGBeqqNC%-%K(1U-J zvHoIb7d)HS(QR~QYI0bPGU{9azu6%&wiZX@UQ~MIeM_gxgsUoQ)08GPk6%%)&b7_> zgWtb&96WMu@CXwS+KSex~l`R`6oapgru`iEwZ zqS=gn5Mr|_wVYWd7PMZ>GknYmda|K(a~k9SIO*UI5rC%_axudytW*LyErfhlh)X1+ zKyG?JLpVyDTI3KYmyRWedx&dnlvGQ*XQD( z++N-PG$s50S%6Q|Jts4ck6q#mq`2q^2hH4UK6TX5UtS-3LEQ|z)?MQ)&R0bQ1W58f z#17PjQva&lxFZ(3gE4^4&m@@0JX>3bIEQ2JZJI&>B~oVS=#x#%(al>ED3J=AY0~N91D1 zuGF4D#!r6&Ye*oUT2KJ$FhKZQi4jeHW&dm3lSs!L_s(}yNDv~i{YPMWHa0KjF*P^A zv7h=oNN7Sm9Zz`=d+c5iP#23@n$Wpafb`h6UnOYs@wEu$+ShMp=tmeJz)Ppd`bSeh zLjjHqEp6o*xr_i0w!KKx_xpX;%TY8WUKW_>noj-NI_aPyA}LhMELY-@krCMa#xtIu zM>)0t+gN{%FTPeXeNJ5%P=O##1Ch8Ckxvq>5Kk?$XYNL8dQ4d9SmDl_Adsg=pMs3q zql}ub8O8Vff|J{#%&S69Pme5R&4c0U@OSiG$OkSdr@EiOOJ>!8+G@Z6EeZlEQsB_= zu%x;=UPMHMn#K&$=QbDkU);{;&TrMLhn0!1dFQ{`oxOgweG?^K-1IsTJV|bvEyNh% z@%xu|!4B_^0H7;!L6wXI38vT*sRW*^J0pP6U74f#<9M~HV?k-GH;D7m03n`pr3lTt z7Av^wwYhTBME9q2WIv6z9yx2|@^n^HNPd;V{@C86M z3aEQH1jk=0h27plL;6`3mT<|MR%Ia@qV%9r7B(2KJTjO0uA0I1xb5j$JtuVAj~}{n zi+`6=ruK^&@@t-U`b*8O6IUUcG5gwA9?RbPv1RL#@^mT$U;vIA?gK1V+1TH~~ zinFtGxc+TAxVMMMC?CM6Si9qwLC?@?gRmYJP+WUUQ}9(~%g<)iJXQD|5Z+kc6Rw;f zQV;zd_yDs$yc)X|+pj>ZVV~8XdmEPb( zy^bgBoa$M2E-PAa74(=Qol)}`$PA#oQ0JV-N#E(Qnsuh|rH9tDU?IUaptEK1d!Rzmv<`-8*AkrUwB&#q5X3aHkaWrh|(K^)thdmGWZ^+ zGq9s1$YK%y?+zCWnsA-Z(jQb{#xF=>HLtgC7_^(FgZH(+jl*aH?`%~Ye2{?>DVL9dA;x`xIqjY+Y`|%Hu(3<*w6PQFMkoxi!-TC9loaj00gG_mQ z;imH+L`Q+>bMLuqv>g2_c}Krp98J+;C?EVp(C)|1@Lb+#>4={2n)xQX;|iFd;J7To*+wa`L<5 z8_QSA$WMiP{EP;u#%SR7L~C~h4{##I3GG{>Njo0w-|E}R(D&`jTY@bf7x?Lh+k4PR z%*Jxa#=A>izYZ#8s7>ksaQEN2=mt`=Zxu?e-X2*2H7>It*2_6NSBWvylLyfsK-h0Q ztW=}%1w~IfN*%m{vlkG#{E>9jq4n~k-9{Ip-`(Jb(*TTiB6BIqvF~d}%OP$Y+3yFg zu;Ps`J!?YW9N`H|DxqMGeD*;%J^C_LXvp?YQo?{emHa;+w9ww0vmrb%m^lzdgo@F! z?BB{O7$F-9BveudjG{4DP;FZk)Kgjb4VpEY5KufmEGrr}94Q0sZB%KXeK*|BtE}p= zb5kK{$u_Q%1@MbC_^V#chT$WBia12#>$}rDKn&yd_&rSnd3JR{?mpQGm{fdz<-uC} zh}&I&L=5MCVodKAQCz4d*01Gf&gnXvDl@_#Ni$0ZyLF7fvV;UC0>IhX84Tk0J2c{b zC@gSCycfblhS(m87o9Ly@Lt$Ng5}4Sgau&KNPD`lLj2ed>ic(Rr+BR(=X+R7fs#T? z>R8=m9hH}5lD@pQOt`FX_R4M#DH4=-+r_Cw7ScbD=4jN^3pH}d?2)n57rK8!60N{n0HhjtX1Pf-XXyMrWx2Eq&NdV@ns}ZJfYYgWfXva5Smpv=ln|^>f{N; zDKv9EWI7P@fvWMz@w&B*$~(>zXwQ4tP(IF|5DJIBN56`m$*=S*>=ERaNM9(-%eI!B z$Z*7%^V>=R-3CvHQKUjV+gD2Ow-<*0M!Qm8wW52zo1yuB{&0(;aWbfSug!OO9H!NGR(9tFh z^jUrWOm%g*9{Ff=*sl|c!$9eQ;MKm1L)gogPiKci7Mh!c`WKqmaj42@ROJRGj_a9MRHCtqtwz zUx{<0jiaUZZ_!SG41BW0eUqdi2Oo9QR{Q)pa8hhFywmG?%VXV%O9mKOFv#V6aMb)K z@kj)gn(Wu#2fS^u`_4{}j$|9?bPfh}wA7+bcC7}SldwS&D84F1dN6?Z4kU4oYY8$2 zgu5!zrzjSS3be@ROUFj(4;mXMguTYnxHA_k^#w{=T0DL%AiwP(-}&nLX_3U{cZa9h zZ{K_SMK5lXUqN)xk3}`xVt`{)<(#*+3rp~y7A@f2<-sC>DA&jhh7JkI80^but@oc7 zeWJMMYhn$(Px~2kDs(qjswc8VNap6|qNZbJN%}258`YQ%Vhg+O T^du5ErGsuRx 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 literal 0 HcmV?d00001 diff --git a/docs/_static/pyramid-latex.png b/docs/_static/pyramid-latex.png new file mode 100644 index 0000000000000000000000000000000000000000..ecf6eb954ad5a18c462084bc11291dabd34836aa GIT binary patch literal 5772 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 AH2?qr literal 0 HcmV?d00001 diff --git a/docs/_static/pyramid.png b/docs/_static/pyramid.png new file mode 100644 index 0000000000000000000000000000000000000000..347e0554962610340ca1fa8e527261fcabe21763 GIT binary patch literal 33055 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 -1) + start = i; + }); + start = Math.max(start - 120, 0); + var excerpt = ((start > 0) ? '...' : '') + + $.trim(text.substr(start, 240)) + + ((start + 240 - text.length) ? '...' : ''); + var rv = $('
').text(excerpt); + $.each(hlwords, function() { + rv = rv.highlightText(this, 'highlighted'); + }); + return rv; +} + +/** + * Porter Stemmer + */ +var PorterStemmer = 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; + } +} + + +/** + * Search Module + */ +var Search = { + + _index : null, + _queued_query : null, + _pulse_status : -1, + + init : function() { + var params = $.getQueryParameters(); + if (params.q) { + var query = params.q[0]; + $('input[name="q"]')[0].value = query; + this.performSearch(query); + } + }, + + loadIndex : function(url) { + $.ajax({type: "GET", url: url, data: null, success: null, + dataType: "script", cache: true}); + }, + + setIndex : function(index) { + var q; + this._index = index; + if ((q = this._queued_query) !== null) { + this._queued_query = null; + Search.query(q); + } + }, + + hasIndex : function() { + return this._index !== null; + }, + + deferQuery : function(query) { + this._queued_query = query; + }, + + stopPulse : function() { + this._pulse_status = 0; + }, + + startPulse : function() { + if (this._pulse_status >= 0) + return; + function pulse() { + Search._pulse_status = (Search._pulse_status + 1) % 4; + var dotString = ''; + for (var i = 0; i < Search._pulse_status; i++) + dotString += '.'; + Search.dots.text(dotString); + if (Search._pulse_status > -1) + window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something + */ + performSearch : function(query) { + // create the required interface elements + this.out = $('#search-results'); + this.title = $('

' + _('Searching') + '

').appendTo(this.out); + this.dots = $('').appendTo(this.title); + this.status = $('

').appendTo(this.out); + this.output = $('